MPEG's upgrade
Nov 1, 2008 12:00 PM, By Aldo Cugnini
Take a tutorial on MPEG-4’s much-enhanced toolkit.
To encode pixel data, AVC uses a simpler transform than the discrete cosine transform (DCT) used in MPEG-2. The new transform (and quantization) can be carried out using integer arithmetic and a single multiply per coefficient, enabling a reduction in complexity. Transform coefficients are then coded using run-length and level. If there are runs of zeroes in the transform (as is commonplace), the level of the preceding coefficient is coded, along with the number of zeroes afterward. AVC goes past MPEG-2 in additionally coding the number of trailing ones (T1s). From a statistical standpoint, most blocks of video contain relatively little detail information. Therefore, the level (magnitude) of non-zero coefficients tends to be higher at the start of the transform array (near the DC coefficient) and lower toward the higher frequencies. CAVLC takes advantage of this by adapting the choice of the VLC lookup table depending on the number of non-zero coefficients and trailing ones in neighboring blocks.
Figure 2. CABAC can adapt to the statistics of the actual picture data, resulting in very efficient coding.
Click to enlarge
The CAVLC method, however, cannot adapt to the actual symbol statistics (i.e., the statistical occurrence of the symbols themselves). CABAC adapts to the statistics of the actual bits in the data stream by using a context model that describes the probability of occurrence of one or more bits of a data symbol. This model may be chosen from a set of available models, depending on the statistics of recently coded data symbols. An arithmetic coder (a form of VLC) then encodes the data according to the selected probability model. Finally, the selected context model is updated, based on the actual coded data. The system essentially learns the best way to code the symbols. (See Figure 2.)
CABAC compresses data more efficiently than CAVLC, but requires considerably more processing power to encode and decode. Consequently, it's not commonly used in low-cost architectures such as handheld devices. Nonetheless, experimental results have shown the superior performance of CABAC compared to CAVLC. To evaluate the quality of digital video processing, the peak signal-to-noise ratio (PSNR, a measure of the encoding error) of processed video signals can be calculated. For typical test sequences in broadcast applications, bit-rate savings can average 9 percent to 14 percent, at a range of acceptable video quality of about 30dB to 38dB PSNR.
An amendment to the MPEG-4 standard added the Fidelity Range Extensions (FRExt), forming the AVC High Profile. This includes high-performance characteristics such as 10-bit and 12-bit per sample quantization; 4:2:2, 4:4:4 and RGB color sampling; very high bit rates; and lossless coding of portions of video. Scalable video coding was also recently added to AVC, enabling the encoding of bit streams that include sub-bit streams at smaller temporal or spatial resolutions.
AVC support is required for all Blu-ray disc players, so very high levels of video performance are now available to viewers, but of course at a cost. Notwithstanding the improvement from AVC, with the digital transition about to leapfrog in just a few months, and HDTV sales still growing, don't expect MPEG-2 to fade away anytime soon.
Aldo Cugnini is a consultant in the digital television industry.
Send questions and comments to: aldo.cugnini@penton.com
| MPEG-4 profiles | Features |
|---|---|
| Simple Visual Profile | Similar to MPEG-2 coding |
| Advanced Simple Visual Profile | B-frames, global motion compensation and interlace |
| Core Visual Profile | Binary shapes (video objects) and B-frames |
| AVC Baseline | Low delay and lower processor load |
| AVC Main | Interlaced video, B-frames and CABAC encoding |
| AVC Extended | Error resilience tools |
| AVC High | Fidelity range extensions and high-quality, high-resolution formats for HDTV and digital cinema |
Table 1. MPEG-4 adds new features to the compression toolkit.
| Want to use this article? Click here for options! |


















