
W9961CF
- 29 -
The quantized blocks are also inverse quantized (IQ) and transformed into the spatial domain by an
inverse DCT (IDCT). This operation yields a copy of the encoded picture as it will be seen by the
decoder. That copy is then stored into the video memory and will be used for future predictive coding.
Since the VLE operation is lossless, there is no need to include the VLE unit in the feedback path.
7.2.1.2 P-pictures INTER Coding
P-pictures macroblocks may be coded by INTRA or INTER coding mode. For each macroblock in the
current P-picture, the motion estimation is performed on the luminance (Y) macroblock. A full search
or fast search is made with integer pixel displacement in the Y component at first. The comparisons
are made between the incoming macroblock and the displaced macroblock in the previous
reconstructed picture. The encoder makes a decision on whether to use INTRA or INTER prediction in
the coding after the integer pixel motion estimation. If INTRA mode is chosen, no further operation is
necessary for the motion search. We will describe P-picture INTRA coding in the following section
7.2.1.3.
If INTER mode is chosen the motion search continues with half-pixel search around the integer pixel
motion vector, MV0, position. After the half-pixel search, the best match motion vector is coded using
a variable-length encoder (VLE), and stored into the video memory. Motion vector is included for all
INTER macroblocks and consists of horizontal and vertical components, both measured in half pixel
units.
P-pictures INTER coding does not code the picture macroblocks directly. Instead it codes the
prediction errors. For each INTER coding macroblock in the current picture, the best match
macroblock in the previous reconstructed picture is loaded into the MC and half-pixel motion
compensation is performed according to the motion vector. After half-pixel motion compensation, the
two macroblocks are subtracted to produce prediction errors (their difference) which will be DCT
transformed. DCT coefficients are quantized, zig-zag scanned, coded using a variable-length
encoder, and stored into the video memory. The quantized blocks are also inverse quantized and
transformed into the spatial domain by an inverse DCT. The IDCT results and the previous
reconstructed blocks are added and stored into the video memory as the current reconstructed picture
for future predictive coding.
7.2.1.3 P-pictures INTRA Coding
If INTRA mode is chosen for current P-pictures macroblock, no further half-pixel motion search is
performed and no motion vector is coded. Each INTRA macroblock is coded as that for I-pictures
INTRA coding.
7.2.2 Video Decoding
Video decoding operation is very similar to the feedback loop of the video coding. After optional error
correction, the compressed bit stream is processed by the variable length decoder (VLD). The
decoded data are parsed, inverse zig-zag scanned (IZZ), and then processed by an inverse quantizer
and an inverse DCT. Depending on the transmission mode (INTRA or INTER), macroblocks from the
previous reconstructed picture may also be added to the current data to form the reconstructed
picture.
For each INTRA-coded macroblock of I-pictures or P-pictures, no motion compensation is performed.
The IDCT results are stored into the video memory as reconstructed picture.