Original Link: https://www.anandtech.com/show/2132
HD Video Playback: H.264 Blu-ray on the PC
by Derek Wilson on December 11, 2006 9:50 AM EST- Posted in
- GPUs
Introduction
In November, we published our first article featuring Blu-ray content. While we focused more on the capability of the cards we tested to play digital content protected with HDCP, we did take a preliminary look at hardware accelerated high definition video playback with the movie Click.
Our first glimpse of the processing power required to play HD content on the PC gave us a very good indication that Blu-ray movies using MPEG-2 should have no problem on a modern system, even without GPU acceleration. The Core 2 Duo E6300 is easily capable of playing back 50-60 Mbps MPEG-2 video at 1080p. Adding a GPU to the mix did make an impact, but the small boost in performance just wasn't necessary.
Today we will turn the tables around and look at what happens when H.264/MPEG-4 AVC meets Blu-ray on the PC. This combination is much more demanding than MPEG-2 encoded Blu-ray movies, as H.264 is capable of much higher compression at better quality which requires more processing power.
Before we get to our results, it is important to talk a bit about playback of HD media on the PC. BD and HDDVD movies are copy protected with AACS which uses HDCP to encrypt and decrypt the video signal when it's sent over a digital connection. In order to view one of these movies on an HDTV over either a DVI or HDMI connection, an HDCP enabled video card is required.
All video cards that have an HDMI connection on them should support HDCP, but the story is different with DVI. Only recently have manufacturers started including the encryption keys required for HDCP. Licensing these keys costs hardware makers money, and the inclusion of HDCP functionality hasn't been seen as a good investment until recently (as Blu-ray and HDDVD players are finally available for the PC). While NVIDIA and ATI are both saying that most (if not all) of the cards available based on products released within the last few months will include the required hardware support, the final decision is still in the hands of the graphics card maker.
It is important to make it clear that HDCP graphics cards are only required to watch protected HD content over a digital connection. Until movie studios decide to enable the ICT (Image Constraint Token), HD movies will be watchable at full resolution over an analog connection. While analog video will work for many current users, it won't be a long term solution.
Now that we've recapped what we know about watching HD content on the PC, lets take a look at why things will be a little different now that H.264/MPEG-4 AVC encoded movies are here.
H.264 Encoded HD Content: A Good Thing
Almost anything can be done in a faster, more compact, or higher quality way. Sometimes there are tradeoffs to be made, and sometimes one way of doing things is just better than another. It has been quite some time since studios began distributing movies encoded in MPEG-2 stored on DVDs. Now that we have some new physical media entering the market, we will also see more efficient codecs enter the playing field as well.
H.264 is another name for a subset of MPEG-4 called MPEG-4 Part 10, or AVC (for Advanced Video Coding). This codec is a big step beyond MPEG-2 in terms of how heavily video of a given quality can be compressed. There are quite a few factors that make H.264 a better vehicle for video, but these are a little beyond the scope of this article. For now we will focus on the impact of H.264 and why it's a better option than MPEG-2.
The major benefit of H.264 over MPEG-2 is its small file size due to high compression. High resolution video can be stored in much less space. This is very useful because even though BDs can be 25 or 50 GB, high quality high resolution video is not small. The higher the compression we have, the higher the quality of video that will fill up a disk. Alternately, with high compression we also have extra room for the all important bonus features and extra content that we expect with any good DVD today.
Higher image quality is also inherent in H.264 due to some of the improved features of the codec. Variable block size motion compensation, better handling of interlaced video, in-loop deblocking, and better subpixel accuracy all contribute to a better overall image quality. Alternately, studios can use the image quality advantages to lower bitrate even more, as compression artifacts don't show up as readily.
With all these advantages, there is one downside to H.264: decoding the video takes much more work than with MPEG-2. High powered, dedicated H.264 decoding hardware is required in standalone BD and HDDVD players, as a generic processor just isn't enough to handle the work load. This is understandable as we have to make a tradeoff between file size/bitrate and the amount of work a CPU needs to do to reproduce the video, and H.264 produces very small files.
The large file size vs. heavy compression issue is actually fairly intuitive. Imagine completely uncompressed video where every pixel of every frame is stored in memory. The only thing we need to do to display the video is to send the data to the TV. This requires almost no processing but very high file size and bandwidth from the storage media. As a reference point, uncompressed 24-bit 1080p content at 24fps (the standard frame rate for movies) would require a whopping 1.19 Gbps of bandwidth and a 90 minute movie would need about 750GB of storage. Obviously, some form of compression is absolutely required.
When storing less data through compression, the CPU must do work to fill in the blanks before sending the video out to a display. With our previous Blu-ray test movie Click (which used MPEG-2), we saw bitrates of 50-60 Mbps throughout our test (representing somewhere between a 20:1 and 24:1 compression rate). Moving to X-Men: The Last Stand, most of our test is at about 20 Mbps, though we do see a very short spike that hits over 40 Mbps (somewhere around a 60:1 compression rate). We would need to compare the same section of one movie encoded in both MPEG-2 and H.264 in order to speak directly to the differences between the two, but for now we will generally see at least half the bitrate with H.264 that we get with MPEG-2. We also see a much lower CPU utilization with MPEG-2 because it doesn't compress the video as much as H.264.
If we focus on our high compression codec, we'll see that higher bitrates with H.264 mean more work for the CPU. When complex scenes occur, more data is required to generate a proper image. The CPU still needs to process all this data in the same way it would with a less complex scene, and we end up seeing higher processor utilization.
The encoding process takes more work as well, and we've been told that this is part of the reason we haven't seen many H.264 BD movies before now. When getting a movie ready for sale, studios will encode it many times and have people to view every frame of video and make sure nothing needs to be cleaned up. Every time a problem is found, the entire movie must be encoded again. It takes significantly more time to do this with H.264 than with MPEG-2. Fortunately, it seems that studios are making the sacrifices they need to make in order to bring a better experience to the end user.
To sum up, while MPEG-2 is relatively easy to decode, H.264 enables smaller files with better image quality. On the down side, the time it takes to encode a movie using H.264 is much higher than required for MPEG-2, and the processing power needed to decode H.264 without dropping frames can be very large. Without GPU acceleration, not even an Intel Core 2 Duo E6600 can play X-Men: The Last Stand without dropping frames.
Before we get to the test, we'll leave you with a short list of H.264 Blu-ray titles. While we don't have the bitrate information for all of these, we chose X-Men: The Last Stand because it listed 18 Mbps video (higher than some of the others) and has some fairly complex special effects.
Blu-ray H.264 Movies:
Behind Enemy Lines
The League of Extraordinary Gentlemen
X-Men: The Last Stand
Speed
Glory Road
Gone in 60 Seconds
Eight Below
The Great Raid
The Test
As we previously indicated, we need to use at least a Core 2 Duo E6400 in order to avoid dropping frames while testing graphics card decode acceleration under X-Men: The Last Stand. As we also wanted an accurate picture of how much GPU decode acceleration really helps, we needed to use a CPU powerful enough to avoid dropping frames even under the most stressful load without GPU assistance. Thus we chose the Core 2 Duo X6800 for our tests. Using this processor, we can more accurately see how each graphics card compares to the others and how much each graphics card is able to assist the CPU.
We tested CPU utilization by using perfmon to record data while we viewed a section of X-Men: The Last Stand. The bookmark feature really helped out, allowing us to easily jump to the specific scene we wanted to test in Chapter 18. In this scene, the Golden Gate is being torn apart and people are running everywhere. This is one of the most stressful scenes in the movie, reaching a bitrate of over 41 Mbps at one point.
Unfortunately, we haven't found a feature in PowerDVD or another utility that will allow us to count dropped frames. This means we can't really compare what happens to the video quality when the CPU is running at 100%. In lieu of dropped frames, we will need to stick with CPU overhead as our performance metric.
For reference we recorded average and maximum CPU overhead while playing back our benchmark clip with no GPU acceleration enabled.
Here is the rest of our test system:
Performance Test Configuration | |
CPU: | Intel Core 2 Duo X6800 |
Motherboard(s): | ASUS P5B Deluxe |
Chipset(s): | Intel P965 |
Chipset Drivers: | Intel 7.2.2.1007 (Intel) |
Hard Disk: | Seagate 7200.7 160GB SATA |
Memory: | Corsair XMS2 DDR2-800 4-4-4-12 (1GB x 2) |
Video Cards: | Various |
Video Drivers: | ATI Catalyst 6.11 NVIDIA ForceWare 93.71 NVIDIA ForceWare 97.02 |
Desktop Resolution: | 1920x1080 - 32-bit @ 60Hz |
OS: | Windows XP Professional SP2 |
X-Men: The Last Stand CPU Overhead
The first benchmark we will see compares the CPU utilization of our X6800 when paired with each one of our graphics cards. While we didn't test multiple variations of each card this time, we did test the reference clock speeds for each type. Based on our initial HDCP roundup, we can say that overclocked versions of these NVIDIA cards will see better CPU utilization. ATI hardware doesn't seem to benefit from higher clock speeds. We have also included CPU utilization for the X6800 without any help from the GPU for reference.
The leaders of the pack are the NVIDIA GeForce 8800 series cards. While the 7 Series hardware doesn't do as well, we can see that clock speed does affect video decode acceleration with these cards. It is unclear whether this will continue to be a factor with the 8 Series, as the results for the 8800 GTX and GTS don't show a difference.
ATI hardware is very consistent, but just doesn't improve performance as much as NVIDIA hardware. This is different than what our MPEG-2 tests indicated. We do still see a marked improvement over our unassisted decode performance test, which is good news for ATI hardware owners.
The second test we ran explores different CPUs performance with X-Men 3 decoding. We used NVIDIA's 8800 GTX and ATI's X1950 XTX in order to determine a best and worse case scenario for each processor. The following data isn't based on average CPU utilization, but on maximum CPU utilization. This will give us an indication of whether or not any frames have been dropped. If CPU utilization never hits 100%, we should always have smooth video. The analog to max CPU utilization in game testing is minimum framerate: both tell us the worst case scenario.
While only the E6700 and X6800 are capable of decoding our H.264 movie without help, we can confirm that GPU decode acceleration will allow us to use a slower CPU in order to watch HD content on our PC. The X1950 XTX clearly doesn't help as much as the 8800 GTX, but both make a big difference.
Final Words
We've been hearing for quite some time now that Blu-ray and HDDVD movies could prove to be too much for today's desktop microprocessors; today we finally have the proof. X-Men: The Last Stand encoded using the H.264/MPEG-4 AVC High Profile at 1080p requires more processing power to decode than affordable dual core CPUs can handle. We are at a point where GPU decode acceleration is essentially required with all but the highest end processors in order to achieve an acceptable level of quality while watching HD content on the PC.
NVIDIA hardware performs better under our current set of drivers and the beta build of PowerDVD we are using, but exactly how well GeForce 7 Series hardware handles the decode process is more dependant on the type of card being used than ATI. In general, higher performance NVIDIA cards do better at decoding our H.264 Blu-ray content. The 7950 GX2 doesn't perform on par with the rest of the high end NVIDIA cards as SLI doesn't help with video decode. With the exception of the X1600 Pro, each of the ATI cards we tested affected performance almost exactly the same.
While there isn't much more to say about performance right now, we do need to consider that we are working with an early release of our player software, and ATI and NVIDIA are always improving their driver support for video decode acceleration. While we can't count on seeing improved performance in the future on current hardware, it is always nice to know that the possibility exists. We will continue to track performance with future player and driver updates.
But no matter what we see in the future, NVIDIA has done an excellent job with the 8800 series. G80 based cards will definitely lead the way in HD video decode performance, making it possible to stick with a cheaper CPU and still get a good experience. Of course, nothing about playing HD content on the PC is cheap right now, especially if we are talking about using an 8800 in conjunction with our Blu-ray drive.
For those who don't have the money to build a computer around Blu-ray or HDDVD, a standalone player is the other option. We tested our Samsung player with X-Men: The Last Stand to see if it could handle the demands of an H.264 movie (as any good CE player should). We were happy to see that the Samsung box didn't seem to have any problems playing our movie.
As for recommendations, based on our testing, we would not suggest anything less than an Intel Core 2 Duo E6600 for use in a system designed to play HD content. The E6400 may work well enough, but not even the 8800 GTX can guarantee zero dropped frames on the E6300. ATI owners will want to lean more towards an E6700 processor, but can get away with the E6600 in a pinch. But keep in mind that X-Men: The Last Stand is only one of the first H.264 movies to come out. We may see content that is more difficult to decode in the future, and faster processors are definitely a good place to pad your performance to ensure a quality HD experience on the PC.