www.vcodex.com H.264 / MPEG-4 Part 10 : Transform & Quantization
© Iain E G Richardson 19/03/03 Page 1 of 9
H.264 / MPEG-4 Part 10 White Paper
Transform and quantization
1. Introduction
The Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG are finalising a new standard for
the coding (compression) of natural video images. The new standard [1] will be known as H.264 and
also MPEG-4 Part 10, “Advanced Video Coding”. This document describes the transform and
quantization processes defined, or implied, by the standard.
Each residual macroblock is transformed, quantized and coded. Previous standards such as MPEG-1,
MPEG-2, MPEG-4 and H.263 made use of the 8x8 Discrete Cosine Transform (DCT) as the basic
transform. The “baseline” profile of H.264 uses three transforms depending on the type of residual
data that is to be coded: a transform for the 4x4 array of luma DC coefficients in intra macroblocks
(predicted in 16x16 mode), a transform for the 2x2 array of chroma DC coefficients (in any
macroblock) and a transform for all other 4x4 blocks in the residual data. If the optional “adaptive
block size transform” mode is used, further transforms are chosen depending on the motion
compensation block size (4x8, 8x4, 8x8, 16x8, etc).
Data within a macroblock are transmitted in the order shown in Figure 1-1. If the macroblock is coded
in 16x16 Intra mode, then the block labelled “-1” is transmitted first, containing the DC coefficient of
each 4x4 luma block. Next, the luma residual blocks 0-15 are transmitted in the order shown (with the
DC coefficient set to zero in a 16x16 Intra macroblock). Blocks 16 and 17 contain a 2x2 array of DC
coefficients from the Cb and Cr chroma components respectively. Finally, chroma residual blocks 18-
25 (with zero DC coefficients) are sent.
0 1 4 5
2 3 6 7
8 9 12 13
10 11 14 15
18 19
20 21
22 23
24 25
16 17-1
(16x16 Intra
mode only)
DC
Luma
Cb Cr
Figure 1-1 Scanning order of residual blocks within a macroblock
2. 4x4 residual transform and quantization (blocks 0-15, 18-25)
This transform operates on 4x4 blocks of residual data (labelled 0-15 and 18-25 in Figure 1-1) after
motion-compensated prediction or Intra prediction. The transform is based on the DCT but with some
fundamental differences:
1. It is an integer transform (all operations can be carried out with integer arithmetic, without loss of
accuracy).
评论0