In the not-too-distant future, a single fiber-optic cable will deliver phone
service, an Internet connection, and of course, digital television (DTV), movies,
and other multimedia to the home. Until that time, though, most consumers will
have to deal with some combination of plain-old telephone-service phone wires,
digital satellite, cable, Ethernet, USB, wireless networks, and so on.
If we narrow the focus to DTV and other forms of high-resolution video, most
consumer products require one or more forms of video decoding and processing.
With high-definition television (HDTV), Internet Protocol television (IPTV),
set-top boxes, high-definition DVDs, and mobile media devices, there are hundreds
of video processing methods, each with its own advantages and disadvantages
(see "Standards Around The House" at www.electronicdesign.com,
Drill Deeper 13287).
VIDEO SPECIFICATION AND CODEC BREAKDOWN
While hundreds of video codecs are in use today, most consumer applications
integrate only a handful of codecs because of the desire to standardize and
use the ones that offer the best benchmarks.
MPEG-2
Emmy Award-winning MPEG-2 revolutionized the way consumers watch video at home.
This was driven by DVDs that were encoded with MPEG-2. MPEG-2 is still in prolific
use today, primarily for encoding broadcast signals and movies on DVDs. Even
commercial videos written on Blu-ray DVDs are currently being encoded with MPEG-2.
This is expected to change soon since HD DVDs are mostly encoded using VC-1
and H.264 standards.
MPEG-2 has 10 profiles that work at bit rates ranging from 96 kbits/s for 176- by 144-pixel resolution at 15 frames per second (fps) to 300 Mbits/s at a resolution of 1920 by 1080 pixels at 30 fps or 1280 by 720 at 60 fps. DVDs, digital video broadcasting (DVB), and ATSC have different supported resolutions. MPEG-2 also offers several other key qualities:
- Video images are split into one luminance (Y) and two chrominance (Cb and
Cr) channels.
- Blocks of luminance and chrominance arrays are organized into macroblocks.
- The blocks are then used for motion estimation and motion vectors.
- Blocks have a discrete cosine transform applied, which is then quantized,
re-ordered to maximize compression, and compressed using a Huffman encoding
scheme.
MPEG-4
Built on MPEG-1 and MPEG-2 feature standards, MPEG-4 includes a vast array of
parts (22 total, counting the parts awaiting approval). It can deliver the same
quality video as MPEG-2 at lower bit rates. And, MPEG-4 introduced new concepts
like rendering natural or synthetic objects together to make a scene and support
for user interaction.
Video producers can appreciate MPEG-4 for its improved content protection and
ability to create more flexible and reusable content. Thanks to these improvements,
video can be delivered over a broadband link. Satellite and DVB providers also
adopted MPEG-4.
Since MPEG-4 has so many parts, developers decide which parts get implemented based on the needs of the end system. Unless you're designing for backward compatibility, there's really no reason to implement all of its parts, because some only offer improvements over older parts. For video, Part 2 and Part 10 both include codecs, but the Part 10 codec outperforms the Part 2 codec by about 2:1.
H.264/MPEG-4 AVC
H.264 (MPEG-4 Part 10) Advanced Video Coding (AVC), which is quickly becoming
the de facto standard for home consumer video products, is mostly known for
its high data compression and quality. Developed by the video coding group of
the International Telecommunication Union Telecommunications bureau (ITU-T),
H.264 includes a prolific set of video-processing features.
Within H.264 are seven profiles and 16 levels. This makes the codec very versatile. At the highest profile (High 4:4:4), the maximum bit rate ranges from 256 kbits/s at either 128 by 96 pixels and 30.9 fps to a bit rate of 960 Mbits/s at resolutions of 1920 by 1088 with 120.5 fps, 4096 by 2048 at 30 fps, and 4096 by 2304 at 26.7 fps. H.264 incorporates many video-processing features, including, but not limited to:
- Pulse-code modulation (PCM) macroblock representation mode and context-adaptive
binary arithmetic coding (CABAC), both of which permit lossless encoding/recreation
of some data samples
- Multipicture and variable block size motion compensation with weighted prediction
for scaling and offset
- Image sharpening using six-tap filtering for derivation of half-pel luma
sample predictions
- /-pixel precision for motion compensation
- In-loop de-blocking filter
- Flexible macroblock ordering (FMO), arbitrary slice ordering (ASO), data
partitioning (DP), and redundant slices (RS) mostly used to improve error
immunity
- Spatial block transforms to reduce ringing and allow for better compression.