If not in PB-frames mode, a macroblock comprises four
luminance blocks and one of each of the two colour difference blocks. The
structure of the block layer is shown in following Figure. INTRADC is present for
every block of the macroblock if MCBPC indicates MB type 3 or 4. TCOEF
is present if indicated by MCBPC or CBPY.
In PB-frames mode, a macroblock comprises twelve
blocks. First the data for the six P-blocks is transmitted as in the default
H.263 mode, then the data for the six B-blocks. INTRADC is present for
every P-block of the macroblock if MCBPC indicates MB type 3 or 4. INTRADC
is not present for B-blocks. TCOEF is present for P-blocks if indicated
by MCBPC or CBPY; TCOEF is present for B-blocks if indicated by CBPB.
DC coefficient for INTRA blocks (INTRADC)
A codeword of 8 bits. The code 0000 0000 is not used.
The code 1000 0000 is not used, the reconstruction level of 1024 being
coded as 1111 1111.(see Table 12 of Recommendation H.263)
Transform coefficient (TCOEF)
The most commonly occurring EVENTs are coded with the
variable length codes given in Table 13. The last bit s denotes the sign
of the level, "0" for positive and "1" for negative.
An EVENT is a combination of a last non-zero coefficient
indication (LAST; "0": there are more non-zero coefficients in this block,
"1": this is the last non-zero coefficient in this block), the number of
successive zeros preceding the coded coefficient (RUN), and the non-zero
value of the coded coefficient (LEVEL).
The remaining combinations of (LAST, RUN, LEVEL)
are coded with a 22 bit word consisting of 7 bits ESCAPE, 1 bit LAST, 6
bits RUN and 8 bits LEVEL. Use of this 22-bit word for encoding the combinations
listed in Table 13 is not prohibited. For the 8-bit word for LEVEL, the
codes 0000 0000 and 1000 0000 are not used. The codes for RUN and for LEVEL
are given in Table 14.(Table13 and 14 , please reference the Recommendation
H.263).