Abstract

Block-based motion compensation began with MPEG-1 and H.261 and has continued into MPEG-2, MPEG-4_part 2, MPEG-4_AVC_part 10, H.264, and SMPTE VC1. The general principle used by these conventional motion compensation systems is that there is one motion vector for a square or rectangular group of pixels. The group of pixels associated with the motion vector is generally referred as a “macroblock.” It is common in MPEG and other compression systems to use reduced resolution for Red-Y (U) and Blue-Y (V) compared to Y (luminance), where Y usually equals approximately .59Green + .29Red + .12Blue. Intra-coded frames and the motion-compensated-difference frames use a common quantized discrete cosine transform (DCT). The macroblock structure provides a common boundary for the Y, U, and V DCT-coded regions. The DCT size is usually 8 × 8 pixels, but may be anywhere from 4 × 4 up to 16 × 16 (e.g., in MPEG-4 AVC_part 10 and H.264). The nature of the DCT is that it is a self-contained regional transform that does not extend to any pixel outside its block (usually 8 × 8). In a sense, quantization errors in the DCT wrap from one edge to the other (i.e., left to right, and top to bottom) of the DCT block. Differing quantization errors in adjacent DCT blocks yield block edge discontinuities. Thus, because macroblock boundaries coincide with DCT block boundaries, they share a common edge. When a motion vector differs between adjacent macroblocks, the inherent edge discontinuity does not appear within the DCT block, but rather at its edge. The DCT block edge “wraps around” to see its opposite edges, so the DCT is quite tolerant of the edges inherent in macroblock-based motion compensation.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call