Product Guide

Blu-ray and HD DVD: Is Your PC Ready? - Part 2: Performance

Introduction

Introduction

In our last article entitled "Blu-ray and HD DVD: Is Your PC Ready for it ?", we discussed the hardware and software requirements to setup a HD ready system, specifically dealing with playback of new Blu-ray and HD DVD content on the PC. In this article, we continue with a performance analysis of the computing overhead of HD playback through both ATI's AVIVO and NVIDIA's PureVideo HD acceleration technologies. Among the three compression formats supported by Blu-ray and HD DVD, MPEG-4 AVC or H.264 is supposed to be the key compression factor in high definition media. It possesses the highest compression ratio and quality, but also the largest processing overhead from its advanced algorithms compared to MPEG-2 or even VC-1. The four main process branches in H.264 decoding is Reverse Entropy Coding, Inverse Transform, Motion Compensation and De-blocking.

The one thing to remember is that current generation of video processing hardware featuring AVIVO and PureVideo HD only provide hardware assisted acceleration of H.264 decoding; 'assisted' because they only handle part of the decoding process, which means that you still need to pack a pretty powerful processor in order to achieve smooth H.264 playback on a PC.


ATI AVIVO

Processing-wise, the AVIVO technology shares the use of GPU pixel shaders for its video processing functions, which means that with AVIVO, your mileage with H.264 processing will depend on what class of card you have. Supposedly, the lower end Radeon X1300 series would support acceleration up to 480p only, while the Radeon X1600 series can go up to 720p and you will need the high-end Radeon X1800 and above class to truly help with 1080p. This doesn't mean that a Radeon X1300 card can't do 1080p; the whole X1000 line has the same AVIVO processing capability, it just means that you will need an even more powerful CPU to offset the computational costs. However realistically speaking, the above-mentioned video acceleration support for each class of Radeon cards are what you can expect to run smoothly from current CPUs.

In terms of decoding performance (on paper at least), ATI's AVIVIO is still the superior technology because it handles three stages of the H.264 decoding process - Inverse Transform, Motion Compensation and De-blocking in addition to post-processing. Because of this, ATI users can probably expect to see better acceleration of HD content than NVIDIA's PureVideo HD implementation, with the right hardware that is (and to a certain extent the right decoders and software as well).


NVIDIA PureVideo HD

Unlike ATI's implementation of video processing tasks, NVIDIA cards supporting PureVideo all have a dedicated programmable video processing logic that operates independently from its graphics engine. The PureVideo processor is a 16-way SIMD vector processor and can be programmed to handle various video standards. ForceWare Release 80 drivers saw the introduction of H.264, VC-1 and MPEG-2 acceleration for high definition media and ForceWare Release 90 onwards saw the implementation of PureVideo HD and support for Blu-ray and HD DVD playback.

Because video processing is basically handled by a separate unit, decoding performance is highly dependent on your GPU clock speed instead of the class of the CPU itself. NVIDIA's official recommended specifications for H.264 playback is a 500MHz and above GPU. So in theory, a 560MHz GeForce 7600 GT would perform better than a 500MHz GeForce 7900 GT for H.264 acceleration. We'll dwell into those aspects in another article, but today, our focus is on the general advantage of GPU assisted HD video acceleration.

At the moment, NVIDIA's PureVideo HD handles only two parts of the H.264 decode: Motion Compensation and De-blocking with post-processing. This still leaves the bulk of Reverse Entropy and Inverse Transform to be processed by the CPU. We can possibly look forward to seeing NVIDIA implement CABAC and CAVLC (a big portion of Entropy Coding) in the future to really offload CPU dependency to the GPU, but you might not want to hold your breath there.