Tuesday, March 12, 2013

Vcodex is recruiting

We're looking for an experienced software developer / consultant to work on video coding software and analysis. If you're interested in challenging work at the forefront of video compression, please get in touch. For more information, please contact Ruth Easton: http://www.linkedin.com/in/rutheaston quoting reference VCODEX01.


Tuesday, March 5, 2013

HEVC: is it really twice as good as H.264?

The new standard for video compression, High Efficiency Video Coding or HEVC, is claimed to require "half the bandwidth for high quality video transmission", compared with the older H.264/AVC standard. What does this mean? If the same video clip is encoded with H.264 at a particular bitrate, and with HEVC at half the bitrate, then the quality of the decoded HEVC video should be at least as good as the decoded H.264 video.

Here's an example. This is a close-up of a frame from the sequence "Kristen and Sara", 720p resolution. On the left, the sequence has been encoded at 800kbps using the x264 video encoder, a popular H.264 implementation. On the right is the same frame from the sequence encoded at 420kbps using the HEVC Test Model encoder, HM10.0. The frame on the right was decoded from one of the HEVC Anchor Sequences (Kristen and Sara, QP=32) which you can download here: ftp://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/ra_main/. The original YUV test sequences are available here: ftp://hvc:US88Hula@ftp.tnt.uni-hannover.de/testsequences.

Left: x264 at 800kbps. Right: HM10 at 420kbps.
The two frames look very similar. However, some detail is lost in the HEVC version. You can see this more clearly here:

x264 at 800kbps: extreme close-up
HM10 at 420kbps: extreme close-up
Neither of the images is perfect, but the x264 version retains more detail than the HEVC version. The HEVC output looks smoother, but this actually means that some important detail has been removed during encoding.

Here's another example, this time a close-up from a frame of the Racehorses sequence, originally 480p resolution:
x264 at 1.8Mbps : extreme close-up
HM10 at 960kbps: extreme close-up
Once again the x264 version retains more detail than the HEVC version. Notice the over-smoothed appearance of the horse's face in the HEVC / HM10 close-up.

HEVC will give a clearer, higher quality image than H.264 at the same bitrate. But is it really twice as good as H.264, i.e. does it give the same quality at half the bitrate? These still frames imply that HM10 does not perform as well as H.264 at half the bitrate. However, recent research by Wang et al indicates that HEVC has bigger performance gains for moving image sequences than for still images taken out of a sequence.

It's also worth noting that x264 is a highly efficient implementation of H.264 that has been optimized over a period of years. As HEVC and its implementations mature, we can expect improvements in performance and image quality.

I'll be posting more results soon and explaining exactly how to test this for yourself. To download the HM reference software, visit this page.