Social Icons

Pages

November 17, 2014

The maturity of H.265/HEVC video compression on the study of X265 v.1.4

In this post I share my test results on x265 coding efficiency to track the development progress. The x265 version 1.4 was used for this test, as well as the JCT-VC test sequences. It is worth mentioning that the Class E sequence set has changed, as described in JCTVC-O0022. However, for backward compatibility of the test results I still use the old test sequences set.

The two configurations of the x265 encoder are prepared. The "ultra fast" preset is used to measure the maximum achievable performance of the encoder. The command line arguments for this configuration are the following:

Both configurations produce the same GOP structure with one P frame followed by three B frames. All the frames in a sequences are coded with the same quantization parameter, no rate control is applied.

The test computer is based on Intel Core i7-4700HQ CPU, 2.4 GHz and has 8GB RAM. The x265 encoder is built in x64 mode.

The compression efficiency is compared to the HM reference encoder v. 13.0. The "Low Delay Main" configuration file is used as the basis, and the GOP structure was changed to follow PBBB pattern. The comparison to the HM reference encoder is provided in terms of Bjontegaard delta rate (BD-RATE). To be short, the BD-RATE provides an estimation of the average increase (for positive BD-RATE values) or decrease (for negative values) of the compression bitrate of one test set over another. In this very experiment the BD-RATE means the percentage of the HM bitrate provided by the x265 encoder. For instance, the BD-RATE value of 15.89% means that x265 on average produces 15.89% bitrate overhead at the same PSNR quality level compared to the HM. The agerage YUV PSNR is calculated as follows:

\(PSNR_{YUV}=\frac{1}{8}\cdot (6\cdot PSNR_{Y}+PSNR_{U}+PSNR_{V})\)

The BD-Y-RATE is the bitrate change with respect to the Y-PSNR (luma) quality level. The BD-Y-PSNR is the Y-PSNR quality difference for the x265 and the HM encoders at the same bitrate value. Obviously, the BD-UV-PSNR is the UV-PSNR (average chroma PSNRs) quality difference for the x265 and the HM encoders at the same bitrate value.

FPS stands for 'frames per second' and provides the estimation of the average compression speed.

Table 1. The performance results for x265 v.1.4 in "Very Slow" preset

Class

Sequence

Resolution

to HM PBBB

BD-RATE (%)

BD-Y-RATE. %

BD-Y-PSNR. dB

BD-UV-PSNR. dB

FPS

A

Traffic

2560×1600

15.89

12.15

-0.37

-0.58

0.44

PeopleOnStreet

12.13

5.96

-0.26

-1.13

0.20

B

Kimono

1920×1080

7.95

1.59

-0.04

-0.65

0.53

ParkScene

20.45

15.52

-0.45

-0.77

0.74

Cactus

10.60

6.20

-0.11

-0.24

0.67

BQTerrace

-2.48

-14.02

0.26

-0.75

0.75

BasketballDrive

17.75

10.54

-0.18

-0.62

0.54

C

RaceHorses (C)

832×480

8.68

4.23

-0.18

-0.78

1.05

BQMall

20.13

15.95

-0.63

-1.00

2.09

PartyScene

18.33

14.06

-0.69

-1.11

1.38

BasketballDrill

21.58

18.35

-0.68

-1.00

2.11

D

RaceHorses (D)

416×240

12.03

7.53

-0.39

-1.02

2.71

BQSquare

7.77

3.46

-0.14

-0.66

4.59

BlowingBubbles

16.68

13.23

-0.54

-0.86

3.62

BasketballPass

25.25

20.47

-0.90

-1.50

6.99

E

Vidyo1

1280×720

29.05

24.59

-0.65

-0.74

3.58

Vidyo3

23.37

17.11

-0.51

-0.77

2.64

Vidyo4

28.92

21.47

-0.49

-0.88

2.60

F

BaskeballDrillText

832×480

20.76

17.15

-0.68

-1.12

2.21

ChinaSpeed

1024×768

26.62

22.30

-1.30

-1.60

1.14

SlideEditing

1280×720

29.78

28.82

-4.23

-2.42

3.03

SlideShow

10.82

12.94

-0.89

-0.19

2.65

The performance results for "very slow" preset are provided in Table 1. As can be seen, the bitrate overhead varies from 8.68% for RaceHorces (C) test sequence to 29.78% for Vidyo1 test sequence. The compression speed is rather slow, but provides the ability to do file-based transcoding of the SD and maybe HD video. Nevertheless, the compression efficiency outlined by the BD-RATE estimation is significantly worse compared to the HM. It may be compensated by good rate control though.

Table 2 provides the performance results fot the x265 encoder in "ultra fast" preset. The compression efficiency is drastically worse even compared to "very slow" preset. This configuration does not provide the benefits of the HEVC video compression technology and may be used only to test and debug real time compression systems. On a more powerful CPU the x265 encoder in "ultra fast" preset is able to provide real time compression for FullHD 1080p@30 Hz video sequences.

Regarding the compression performance some interesting results were found here. The encoder performance is measured on the FullHD video sequence, a trailer to the movie "Max Schmeling". The "fast" preset is used for testing, and the general x265 configuration is:

--crf 20 --preset fast
where CRF controls the quality-based VBR.

Table 3. The x265 v.1.4 performance on different CPUs at FullHD video coding