Basically, motion compensation attempts to match information from the previous frame to the information in the frame being decoded. The algorithm then has an acceptable chance of "block matching" sections of the current frame to previous frames and saving the decompression work it would otherwise undergo.
Although it seems like more work than would be otherwise saved, a hardware implementation of motion compensation on a graphics chip can offload up to 30% of the CPU requirements, reducing the minimum system requirements for full frame software playback. Please note that a software decoder must support the hardware manufacturer's specific motion compensation algorithm for gains to be realized.
There are an increasing number of graphics processors that include support for hardware motion compensation. Some of these include (in alphabetical order):
- ATI Rage Pro (+LT Pro)
- ATI Rage 128 (+Pro)
- Intel i810
- NeoMagic MagicMedia256AV
- NVIDIA GeForce 256
- S3 Savage 3D
- S3 Savage 4
- S3 Savage 2000
- SiS 6326DVD
- Sis 300
- Silicon Motion Lynx3D
- Trident Blade3D
With motion compensation enabled, full frame playback should be feasible with a Pentium II 266MHz CPU.
Inverse Discrete Cosine Transform (IDCT) is another performance feature that aids in the decoding of the MPEG-2 stream. Serving as the method for de-compressing the video data, IDCT performed onboard the video card further enables the CPU to be freed of the decoding process.
With the addition of IDCT, the system requirements for full-frame DVD playback are again decreased. A 233MHz Pentium II-based machine should suffice for acceptable performance. Fewer graphics cards support IDCT:
- ATI Rage 128 (+Pro)
- ATI Mobility
- SiS 6326DVD
Quality features are also important to the decoding process as they affect the image displayed. Two main quality features we'll discuss are alpha sub-picture blending and video scaling.
Alpha Sub-Picture Blending is crucial for the proper viewing of menus, subtitles, and captions. Using an adapter's overlay, alpha blending allows the graphics chip to blend the sub-picture (i.e. the menu) over the video stream, accurately reproducing the intended effect. Without this quality feature, sub-pictures appear crosshatched and unattractive.
Scaling is another important factor in the flexibility of a chipset. We will talk more about this later, but the idea behind scaling is that because MPEG-2's native form is 720x480, any change to this resolution results in upscaling and downscaling of the image. Without a good quality scalar, image quality will suffer.