Understanding 8-channel LPCM over HDMI: Why it Matters and Who Supports itby Anand Lal Shimpi on September 17, 2008 2:00 PM EST
- Posted in
The Invention: The Protected Audio/Video Path
Remember all of the garbage the PC industry went through with trying to enable HD-DVD/Blu-ray playback? Unfortunately, most of those efforts were spent on enabling protected video playback, and most of the companies involved didn't spend much energy on enabling protected audio playback.
There are two forms of content protection that help secure both audio and video when playing back a Blu-ray disc: HDCP and AACS. HDCP protects the data as it leaves the PC; it's why you need an HDCP compliant graphics card, graphics driver and monitor if you want to play an HDCP enabled Blu-ray disc on your PC with a digital video output (DVI or HDMI). The idea behind HDCP is that a user should not be able to easily intercept the decoded signal and make a bit-for-bit copy of the audio and video before it reaches the display.
AACS protects the data on the disc itself, much like CSS did in the days of DVDs. In order to play back an AACS encoded Blu-ray, you have to decrypt the content coming off of the disc and hand off the decrypted content to the application so it can be decoded and sent to your graphics driver, and from there to the graphics card for display.
The problem is that the movie studios wanted a way of securing the content between the time the AACS was decrypted and the HDCP encryption took over. Once the AACS was decrypted the encoded movie was sitting in main memory and could be intercepted by any other application, so something had to be done.
The solution was to re-encrypt the data once it was pulled off the disc (I'm not kidding). This time the encryption would be done by the application and decrypted by the GPU itself, creating a protected path that couldn't easily be compromised.
The graphics driver would be able to pass along the encrypted data to the GPU, which would then decrypt and decode it in hardware and then the entire framebuffer would be HDCP encrypted by the GPU before sending it out over DVI/HDMI. Again, I'm not kidding.
A simplified encryption/decryption diagram for Blu-ray playback on a PC.
This intermediate stage of encryption/decryption is called a protected path, and two such paths need to exist: a Protected Video Path, and a Protected Audio Path.
The Protected Video Path needed to exist in order to get any sort of HD playback out of a Blu-ray disc, so it was enabled right away. The Protected Audio Path was only necessary if you wanted to use any of these lossless audio formats (Dolby TrueHD/DTS-HD MA), so none of the companies involved actually spent any time on enabling it (not to mention that the HDMI 1.3a spec, which enabled the streaming of these codecs over HDMI wasn't completed at the time that these GPUs were created). I should mention that there doesn’t appear to be a problem with passing a lossy version of TrueHD/DTS-HD MA (48kHz 16-bit vs. 48kHz 24-bit), but most content is authored with lossless audio so this is a moot point.
Every single modern day GPU today lacks support for a Protected Audio Path; that's true for the Radeon HD 4800 series, NVIDIA's GeForce GTX 200 series, and Intel's G45 GMCH. What this means is that there's absolutely no way to output a compressed Dolby Digital TrueHD or DTS-HD MA signal over HDMI from any PC today.