摘要:
An encoder/decoder obtains pixel data from one or more field lines associated with a first block in an interlaced frame coded picture comprising plural macroblocks each having an equal number of top and bottom field lines. The encoder/decoder obtains pixel data from one or more field lines associated with a second block and performs in-loop deblocking filtering across a boundary. The in-loop deblocking filtering comprises filter operations performed on pixel data from field lines of same polarity only. In another aspect, an encoder/decoder obtains transform size information for plural blocks of macroblock, obtains field/frame type information for the macroblock and selects one or more boundaries for in-loop deblocking based at least in part on the transform size information and the field/frame type information. In-loop deblocking can be performed on horizontal block boundaries prior to vertical block boundaries.
摘要:
Techniques and tools for encoding and decoding motion vector information for video images are described. For example, a video encoder yields an extended motion vector code by jointly coding, for a set of pixels, a switch code, motion vector information, and a terminal symbol indicating whether subsequent data is encoded for the set of pixels. In another aspect, an encoder/decoder selects motion vector predictors for macroblocks. In another aspect, a video encoder/decoder uses hybrid motion vector prediction. In another aspect, a video encoder/decoder signals a motion vector mode for a predicted image. In another aspect, a video decoder decodes a set of pixels by receiving an extended motion vector code, which reflects joint encoding of motion information together with intra/inter-coding information and a terminal symbol. The decoder determines whether subsequent data exists for the set of pixels based on e.g., the terminal symbol.
摘要:
Techniques and tools are described for decoding video data having samples that have been scaled in the spatial domain. For example, a decoder receives a bit stream that includes coded video data for a current frame. The decoder processes at least one syntax element (e.g., sequence layer flag, frame layer flag) that indicates whether the current frame should be scaled up in value in a spatial domain. If so, then the samples for the current frame are scaled up in value in the spatial domain. As another example, for a reference frame used in motion compensation for a current frame, a decoder scales samples of the reference frame so the range of the reference frame matches the range of the current frame.
摘要:
Techniques and tools for encoding and decoding video images (e.g., interlaced frames) are described. For example, a video encoder or decoder processes 4:1:1 format macroblocks comprising four 8×8 luminance blocks and four 4×8 chrominance blocks. In another aspect, fields in field-coded macroblocks are coded independently of one another (e.g., by sending encoded blocks in field order). Other aspects include DC/AC prediction techniques and motion vector prediction techniques for interlaced frames.
摘要:
A video encoder/decoder utilizes a bistream syntax that provides an independently decodable, partial picture unit, which may be in the form of a unit containing one or more contiguous rows of macroblocks (called a slice). This slice layer provides a flexible combination of error-resilience and compression efficiency. The slice layer encodes an efficient addressing mechanism (e.g., a syntax element specifying a beginning macroblock row of the slice layer), as well as an efficient mechanism to optionally retransmit picture header information. The slice layer provides decoding and reconstruction independence by disabling all forms of prediction, overlap and loop-filtering across slice-boundaries. This permits a slice coded in intra-mode to be reconstructed error-free, irrespective of errors in other regions of the picture.
摘要:
Techniques and tools for encoding and decoding motion vector information for video images are described. For example, a video encoder yields an extended motion vector code by jointly coding, for a set of pixels, a switch code, motion vector information, and a terminal symbol indicating whether subsequent data is encoded for the set of pixels. In another aspect, an encoder/decoder selects motion vector predictors for macroblocks. In another aspect, a video encoder/decoder uses hybrid motion vector prediction. In another aspect, a video encoder/decoder signals a motion vector mode for a predicted image. In another aspect, a video decoder decodes a set of pixels by receiving an extended motion vector code, which reflects joint encoding of motion information together with intra/inter-coding information and a terminal symbol. The decoder determines whether subsequent data exists for the set of pixels based on e.g., the terminal symbol.
摘要:
Techniques and tools for encoding and decoding motion vector information for video images are described. For example, a video encoder yields an extended motion vector code by jointly coding, for a set of pixels, a switch code, motion vector information, and a terminal symbol indicating whether subsequent data is encoded for the set of pixels. In another aspect, an encoder/decoder selects motion vector predictors for macroblocks. In another aspect, a video encoder/decoder uses hybrid motion vector prediction. In another aspect, a video encoder/decoder signals a motion vector mode for a predicted image. In another aspect, a video decoder decodes a set of pixels by receiving an extended motion vector code, which reflects joint encoding of motion information together with intra/inter-coding information and a terminal symbol. The decoder determines whether subsequent data exists for the set of pixels based on e.g., the terminal symbol.
摘要:
A video codec provides for encoding and decoding pictures of a video sequence at various coded resolutions, such that pictures can be encoded at lower coded resolutions based on bit rate or other constraints while maintaining a consistent display resolution. The video codec further provide for encoding and decoding pictures of the video sequence at ranges lower than that used for display, and then expanding the range after decoding for display. The video codec applies post-processing operations, such as de-blocking, de-ringing, and color conversion, at the native resolution and range of the decoded video, prior to range expansion and upsampling for display.
摘要:
Techniques and tools for using motion vector block patterns in video encoding and decoding are described. In general, a motion vector block pattern signals the presence or absence of motion vector data for a macroblock with multiple motion vectors. For example, a video decoder decodes variable length codes that represent motion vector block patterns. Each motion vector block pattern has one bit per corresponding luminance motion vector of a macroblock with multiple luminance motion vectors, where the one bit indicates whether or not motion vector data for the corresponding luminance motion vector is signaled. A video encoder performs corresponding encoding.
摘要:
A video encoder/decoder utilizes a bistream syntax that provides an independently decodable, partial picture unit, which may be in the form of a unit containing one or more contiguous rows of macroblocks (called a slice). This slice layer provides a flexible combination of error-resilience and compression efficiency. The slice layer encodes an efficient addressing mechanism (e.g., a syntax element specifying a beginning macroblock row of the slice layer), as well as an efficient mechanism to optionally retransmit picture header information. The slice layer provides decoding and reconstruction independence by disabling all forms of prediction, overlap and loop-filtering across slice-boundaries. This permits a slice coded in intra-mode to be reconstructed error-free, irrespective of errors in other regions of the picture.