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.
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 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.
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.
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.
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.
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.
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.
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