Wednesday, January 15, 2014

Comparing HEVC and H.264 : Update

I've updated this post to include instructions for HEVC / H.265 playback using VideoLAN's VLC player.

This post explains how you can compare the quality of the new High Efficiency Video Coding (HEVC) standard with its predecessor, H.264/AVC. I've uploaded three versions of the same sequence:
a. Encoded using HEVC / HM10
b. Encoded using H.264 / x264 at twice the bitrate of a.
c. Encoded using H.264 / x264 at the same bitrate as a.

To compare H.264 and HEVC / H.265:

1. Download and install VLC version 2.1.2 or later : http://www.videolan.org/vlc/
Or: download and install the latest version of GPAC, which includes the Osmo4 player:
2. Download the following test sequences:
a. Kristen and Sara, 720p, 10 seconds, 60 frames per second, HEVC / HM10 Anchor (Random Access, QP=32), approx 420 kbps.
b. Kristen and Sara, H.264 / x264 / veryslow preset, QP=31, approx 810 kbps. https://www.box.com/s/is2sdqh7tqdiuc1i76g6
c. Kristen and Sara, H.264 / x264 / veryslow preset, QP=37, approx 440 kbps.

3. Play back each test sequence using the VLC or Osmo4 player.

Things to look out for:
- At the same bitrate (~420kbps), is the quality of the HEVC sequence (a) significantly better  than the H.264 sequence (c)? In my view, yes.

- At half the bitrate (420kbps vs. 810kbps), is the quality of the HEVC sequence (a) as good as the H.264 sequence (b)? In my view, the HEVC sequence displays smoother motion, but loses some fine detail.



To experiment with other test sequences:

1. Download + install GPAC, as described above:
This package includes the Osmo4 player and the MP4Box utility.

2. Download an encoded HEVC anchor bitstream (.bin) from:
ftp://ftp.kw.bbc.co.uk/hevc/
(I chose "Kristen and Sara, QP=32" from the HM10 / Random Access folder for the above examples).

3. Rename the downloaded bitstream: from (name).bin to (name).265

4. Package as an .mp4 file. Open a command prompt and type:
mp4box -fps (fps) -add (name.265) (name).mp4
- where (name.265) is the renamed bitstream file and (fps) is the number of frames per second of the original sequence.

(Here's an example of the command line for the Mac, your path may be different: /Applications/Osmo4.app/Contents/MacOS/MP4Box -fps 24 -add Kimono1_qp32.265 Kimono1_qp32.mp4)

5. Open with VLC or Osmo4 and play back.

Notes

Windows: Playback of 720p HEVC sequences is a little jerky but works reasonably well. Playback of higher-resolution sequences is very jerky on my PC.
Mac : Playback of 720p and 1080p HEVC clips on my Mac (10.8.3, 2.9GHz) is reasonably smooth.

Quality is subjective

Video quality is, of course, highly subjective. Do you think the 420kbps HEVC sequence (a) is as good as, or better than, the 810kbps H.264 sequence (b)?

- Iain Richardson