Introducing HEVC And x265
So much of what we do at Tom’s Hardware depends on an evolving benchmark suite. Sometimes I put up news stories or Twitter posts asking for what you want to see from our reviews, and we’ve added a ton of testing based on that feedback. But we also keep up with industry trends and adopt testing for taxing new technologies as soon as we can.
Now, you’re already familiar with the H.264 video codec, which is instrumental in compressing high-definition video for distribution. Most of the devices you watch movies on employ fixed-function logic to accelerate decoding of H.264-based content, minimizing the host processor workload and, at least on mobile devices, extending battery life. But high-quality software-based encoding can still be pretty taxing, which is why we have Adobe’s Media Encoder, HandBrake, and TotalCode Studio in our standard benchmark suite.
What’s the point of three different benchmarks that involve H.264? As it turns out, each encoding algorithm is different, and at a given quality level, bit rate can vary quite a bit. The following chart, which comes from a comparison conducted by Lomonosov Moscow State University’s Graphics and Media Lab, demonstrates the x264 encoder’s efficiency compared to other popular options.
x264 benefits from years of development and optimization. It’s freely available under the terms of the GNU GPL for internal use, or you can license it commercially if your company is concerned about linking proprietary applications to GPL code. So, big companies like Netflix, Hulu, Amazon, and YouTube are leveraging it to get more quality from lower-bit rate files, preserving bandwidth and delivering a better experience. Meanwhile, enthusiasts and power users get to use it at home without paying anything, and open source front-ends like HandBrake employ it for H.264-based encoding.
But of course, we’re entering this era of higher-definition displays, higher dynamic range, and larger color space, all of which has to be represented by more data. That means larger video files if you want better quality. You can already see how streaming the nicest-looking content is getting increasingly more bandwidth-intensive. Fortunately, the standard for H.264’s successor, High Efficiency Video Coding, was recently published. It’s more computationally intensive, but should increase coding efficiency dramatically compared to H.264.
Instead of H.264’s 16x16-pixel macroblocks, HEVC employs something called a Coding Tree Unit that can be as large as 64x64, describing less complex areas more efficiently. Even still, 1080p encodes are expected to be five to 10 times more taxing, while 4K video multiplies those demands by another 4 to 16x. Fortunately, a lot of effort went into making sure that encoding can be parallelized, and I’ll illustrate the impact of this shortly.
How, you ask? Today, MulticoreWare (the company responsible for creating an OpenCL-accelerated version of x264 for Telestream’s Episode Encoder) is making pre-alpha code for its HEVC encoder available at Bitbucket. Its commercially-funded project began earlier this year, and it’ll employ the same business model as x264, meaning you can download and compile x265 under the GNU GPL as well. Leveraging source code from x264 (and indeed, with that project’s lead developer as an adviser), MulticoreWare is hoping to see x265 become a true successor.