Developers

Streamlining HDR Workflows with Bitmovin

Andy Francis
. 4 min read
- Bitmovin

Since the launch of Dolby Vision, HDR video has quickly grown from a novel innovation, mostly known in videophile and engineering circles, to a ubiquitous and expected feature for the general television-owning public. Content producers and streaming platforms should be producing and delivering HDR video whenever possible in order to best recreate the artist’s vision or the in-person experience for live events, but due to fragmentation in HDR formats and device support, this can be easier said than done. For platforms with a mix of SDR and HDR content (or advertisements), there are technical reasons for upconverting SDR to HDR even beyond improving visual quality. We’ve made it easier to streamline all of your HDR workflows with Bitmovin, but first, let’s take a look at the different HDR formats.

HDR formats

Dolby Vision

The original High Dynamic Range format, Dolby Vision, is a set of HDR technologies developed by Dolby Laboratories that cover content creation, distribution, and playback. Dolby Vision is a dynamic HDR format with accompanying metadata that is used to adjust and optimize every scene or even frame of a video to match the display’s capabilities, accurately reproducing the content creator’s intent. Dolby Vision requires a max luminance of at least 1,000 nits, but often is mastered to a max of 4,000 nits and can technically support up to 10,000 nits though that’s well beyond the capabilities of readily available consumer displays.

HDR10

HDR10 is an open HDR standard released by the Consumer Technology Association and is the most widely used HDR format. While Dolby Vision has dynamic metadata that adjusts to changes between scenes, HDR10 has static metadata that is applied uniformly to the entire file. The metadata has three components:

  • SMPTE ST 2086: describes the capabilities of the display used to master this piece of content, including color, white point, and min/max luminance
  • MaxFALL (Max Frame Average Light Level): denotes the average light level of the brightest frame in the video
  • MaxCLL (Max Content Light Level): denotes the light level of the brightest single pixel in the video

As with Dolby Vision, HDR10 content is usually mastered with a max luminance of 1000 or 4000 nits, though the standard does go up to 10,000. 

HLG

Hybrid-Log Gamma (HLG) was jointly developed by the BBC and NHK as a broadcast television HDR format that has a wider dynamic range while remaining backward-compatible with existing SDR transmission standards. As such, it can be displayed correctly on both SDR and HDR monitors. HLG carries no metadata and is mastered to a max luminance of 1000 nits.   

BBC's HDR Workflows with HLG_Image of Bug in HDR
Image credit: BBC

 

How to streamline your HDR Workflows

Dolby Vision conversions

Perhaps the flashiest, most branded, and most innovative forms of HDR workflows, are those that support Dolby Vision. Bitmovin was the first Dolby Pro Partner to integrate the Dolby Encoding Engine (DEE) to support both Dolby Vision and Dolby Atmos encoding in the cloud. While the quality of Dolby Vision is held in high regard, it is a proprietary format with licensing fees and as a result, is not universally supported. Because of that, Apple’s HLS specification recommends:

If you supply HDR content, you SHOULD provide both Dolby Vision and HDR10.”

We’ve made that easier for customers utilizing Dolby Vision mezzanine files by extending our DEE capabilities to allow the creation of Dolby Vision, HDR10, and SDR outputs in a single workflow.  To support this process, we created a new kind of InputStream resource in our API, specifically for Dolby Vision files, that accepts both the video and its accompanying dynamic metadata as a combined input:

DolbyVisionInputStream dolbyVisionInputStream = new DolbyVisionInputStream();
dolbyVisionInputStream.setInputId(input.getId());
dolbyVisionInputStream.setMetadataInputPath(METADATA_PATH);
dolbyVisionInputStream.setVideoInputPath(VIDEO_PATH);

From there, you can transcode and prepare your high bitrate Mezz file for OTT delivery in progressive, HLS, and DASH formats, with all of the stunning color, contrast, and detail of Dolby Vision. But, if you want to follow Apple’s HDR workflows recommendations (you do), you’ll still need to create HDR10 versions of your content. Further, if you want to provide the best possible quality for all devices, you’ll also need to create SDR variants for displays that aren’t HDR-capable, as viewing HDR10 video on an SDR monitor will result in washed-out colors at best and more than likely an unacceptable experience. 
To make it easier to correctly configure these HDR10 and SDR outputs,  we added preset configurations for the different dynamic range formats. The encoder detects the applicable conversions based on the input and the chosen output preset. These can be configured by setting the H265DynamicRangeFormat on the VideoConfiguration resource

var HDR10output = new H265VideoConfiguration();
HDR10output.setDynamicRangeFormat(H265DynamicRangeFormat.HDR10);
var SDRoutput = new H265VideoConfiguration();
SDRoutput.setDynamicRangeFormat(H265DynamicRangeFormat.SDR);

From here, you can further tailor the HDR10 and SDR outputs and streaming manifests to the devices they will be targeting. 

Device Reach of Videos with an HDR Workflows
Devices capable of supporting HDR

Static HDR Workflow conversions

Our new presets can also be used to cross-convert between static HDR formats, HDR10 and HLG, or to down-convert them to SDR. Again, the encoder will detect and perform the applicable conversions based on the input format and chosen preset. 

SDR upconversion

Last but not least, our new presets can also be used to up-convert SDR content to HDR10 and HLG, via a direct-mapping process that ensures they conform to the specification, matching your HDR content. This is especially important for platforms with a mix of HDR and SDR programming(or advertisements) as switching between them can create jarring flickering effects. 

Other codecs

In addition to all of the H265 DynamicRangeFormat presets mentioned, we are also adding presets for converting to other codec-format combinations including H264-SDR, VP9-SDR and VP9-HLG, allowing you to target more potential devices and deliver the highest quality experience to the widest possible audience, all in one streamlined workflow. 
Sign up for a trial or request a demo and let Bitmovin help you handle all the ins and outs of HDR!

Learn more

To learn more about how to build or support all HDR workflows, check out some of our other great HDR-oriented content below:
[On Demand Webinar] How to Enable and Optimize HDR Encoding
[On Demand Webinar] Deploying HDR for Streaming Services: Challenges and Opportunities
[Blog Post] Why HDR Should Be Part of Your Video Workflow
[Blog Post] Raising the Bar on Quality: How to Upconvert SDR to HDR
[Blog Post] HDR: Delivering the Best Quality from Encoding to Playback
[Blog Post] How to Effectively & Affordably Deliver 4K, HDR, & Dolby Vision Content

Andy Francis

Andy Francis

Technical Content Lead

Andy Francis is an A/V nerd at heart who has spent the last 15+ years sending audio and video over the internet. He has extensive experience working with everything from video conferencing to live event streaming to large-scale OTT platforms and is passionate about spreading knowledge and access to streaming technologies.


Related Posts

- Bitmovin
Developers

Open-Source vs. Commercial Players: Understanding the True Cost of Ownership

Join the conversation