x265 delivers Dolby Vision streams!

 By Aruna MatheswaranKirithika Kalirathnam

Dolby Vision transforms the way you experience movies, TV shows, and games with incredible brightness, contrast, and color that bring entertainment to life before your eyes. By fully leveraging the maximum potential of new cinema projection technology and new TVs’ display capabilities, Dolby Vision delivers high-dynamic-range (HDR) and wide-color-gamut content.

Dolby Vision compliant bitstreams can now be easily generated out of x265 by specifying the preferred Dolby Vision profile in the command line option –dolby-vision-profile we have introduced.

Here is the list of  Dolby Vision profiles that x265 supports today, but Dolby Vision provides a rich set of profiles to support various ecosystems from over-the-top streaming to Blu-ray Discs.  For more information, please refer to the Dolby Vision Profiles and Levels document at https://www.dolby.com/us/en/technologies/dolby-vision/dolby-vision-profiles-levels.pdf.

  • Profile 5 single layer with Dolby Vision-only support  
  • Profile 8.1 single layer with HDR10 compatibility
  • Profile 8.2 single layer with SDR compatibility

All these encodes use the 10-bit YCbCr 4:2:0 base layer output as input, which is generated from a Dolby Vision mezzanine source that has gone through profile specific Dolby Vision pre-processing.

The single layer encoding approach includes a base video essence, while the dual-layer encoding approach contains a base layer and enhancement layer video essence. Multiple video essences can be either carried separately or interleaved as a single video essence within a media container.

Comparison of Dolby Vision profiles supported in x265

* Dolby Vision-proprietary IPT is similar to BT.2100 ICtCp, where I is similar to I, P similar to Cp, and T similar to Ct.

Metadata muxing enabled x265 Encoder

Dolby Vision’s processing pipeline includes 4 major stages starting with source mezzanine pre-processing, encoding,  metadata muxing with elementary bitstream and post-processing.

To minimize the workload of Dolby Vision processing pipeline, x265, in addition to generating Dolby Vision Compliant elementary streams, has also encapsulated Dolby Vision Metadata muxing in its workflow. –dolby-vision-rpu is the command line option we have introduced in x265 to take in Dolby Vision RPU metadata generated by Dolby Vision pre-processors and mux it with the elementary bitstream.

Muxing enabled x265 Encoder

 

 

Who gets more bits? Chroma? or Luma?

Due to the larger color volume that IPT delivers, more bits than usual may be allocated for chroma. Since the human visual system is more sensitive to the compression artifacts in luma, increasing chroma QP offset values may improve video quality when more bits are needed for luma. Hence, we have optimized the chroma QP offsets for Dolby Vision profile 5 encodes.

Sample x265 command line to try out:

 ./x265 --input <Profile specific 10bit YCbCr 4:2:0 source> --input-res <wxh> --fps <fps> --input-depth 10 –-input-csp i420 --dolby-vision-profile  <5|8.1|8.2> --dolby-vision-rpu <Dolby Vision metadata RPU file> --vbv-bufsize <vbv bufsize> --vbv-maxrate <vbv maxrate> -o Dolby_Vision_stream.hevc

Snapshots captured from LG OLED55C8PTA TV with Dolby Atmos and 4k cinema HDR with Dolby Vision

Dolby Vision profile 5 HDR vs SDR

Dolby Vision profile 8.1’s HDR10 vs Conventional HDR10

Dolby Vision profile 8.2’s SDR vs Conventional SDR