Video Codecs for Multimedia Product Development

Custom codecs can accelerate digital multimedia product development because codecs optimized for the hardware platform for which the multimedia application is developed allow product developers to focus on differentiating the product from competitors.

By Ranga Raj, Chief Technology Officer, and Akbar Ladak, Technical Manager, Celstream Technologies Ltd

Page 3 of 6
Video/Imaging DesignWire
(6/26/2009 12:01:15 AM)

Differences in Video Compression Technologies
Key differences in video compression technologies revolve around video codecs and containers.

Video Codec
Video codecs determine the efficiency of the video compression that is achieved for video media. The video is divided into macroblocks of 16×16 pixels and the visual details therein are analyzed for spatial and temporal redundancy. This is achieved by motion detection between frames and comparing macroblocks in one frame with macroblocks in previous and subsequent frames. Only the difference between the frames is then stored or transferred by the codec. Based on whether the macroblock coding is conducted by comparison within a frame (intra-frame) or between two separate frames, the frames can be classified as:

-          I frames contain only intra-frame coded macroblocks

-          P frames can contain either intra-macroblocks or predicted (based on macroblocks in previous frames) macroblocks

-          B frames can contain intra, predicted or bi-predicted (based on macroblocks in previous and later frames) macroblocks.

Discrete Cosine Transform (DCT) is then applied to the coded frame information to further reduce spatial redundancy.

Codecs that have been introduced later typically use storage and compression techniques that yield higher compression efficiency at the expense of complexity of implementation. Commonly used compression features include:

1. Support for B-pictures: Support for B-frames is a complex feature that is not supported by all codecs.

2. Support for interlaced video: Legacy video signals for CRT devices were interlaced to reduce bandwidth. Some codecs support interlaced video while others eschew from doing so.

3. Quarter Pixel Motion Estimation (Qpel): Motion compensation is the technique used to derive a frame of video from a reference frame. This compression technique is especially useful if the video frames have only a small variation between them. Qpel allows motion estimation to be done at an accuracy of 0.25 pixels rather than 1 pixel. This provides a sharper decoded image.

4. Global Motion Compensation: The codec provides support for all camera movements, such as dolly (forward, backward), track (left, right), boom (up, down), pan (left, right), tilt (up, down) and roll (along the view axis).

5. Variable Block Size Motion Compensation (VBSMC): The codec allows motion compensation not only at a macroblock level (16×16) but also at block sizes from 4×4 to 16×16.

6. Data Partitioning: This is a loss and error resiliency technique that allows the frame to be divided into more important and less important elements and enabling the application of unequal error protection (UEP) to provide greater protection to the more important element from degradation.

7. Multiple motion vectors per macroblock: Each macroblock can support multiple motion vectors. Additionally, the motion vectors for each block can point to different reference pictures.

8.  Deblocking filter: This is a filter that smoothes sharp edges between blocks at the decoder that are formed due to block-based coding used for encoding.

NEXT: MPEG-4, WMV, VC1, H.264 and Other Codecs

Page 3: next page

Pages: 1 2 3 4 5 6