Dolby Impact
Dolby Impact is a quality-optimized software encoder implementation of the HEVC/H.265 standard which has been developed by a working group consisting of a large number of companies and research institutes and lead by ITU and MPEG. It produces HEVC/H.265-compliant bitstreams and is an alternative to other HEVC/H.265 encoders such as x265. Files created with Dolby Impact are compatible with any HEVC/H.265-capable player.
Dolby Impact has been developed by Dolby Laboratories and does not depend on any other third-party software. The use of HEVC/H.265 in your system or service may imply royalty obligations, which are not covered by Dolby.
Optimized for Quality and Dolby Vision
While decoders and bitstream formats are exactly described by the H.265 specification, encoder implementations vary and have a high degree of freedom. Three main factors matter for an encoder implementation: visual quality of the produced output, average and peak bitrate of the output, and the required resources for the computation (memory, CPU usage, compute time).
Dolby Impact has been developed to optimize the ratio between visual quality and bitrate. In general, the average bitrate for Dolby Impact is lower than with x265 while achieving the same or higher visual quality. As important, the probability of severe visual artifacts in short sequences or single picture of the output is significantly reduced with Dolby Impact. It is recommended to perform actual visual comparison by humans to understand the differences between encoders.
Dolby Impact is a generic H.265 encoder tuned and optimized for all kind of video content. For encoding in Dolby Vision and other HDR formats, Dolby Impact includes special tuning to gracefully handle the different picture formats. The Dolby Vision distribution formats transform the video base layer before HEVC encoding is applied, depending on the actual Dolby Vision profile. The Dolby Impact encoder has been tuned to support and optimize encoding for all profiles of Dolby Vision.
Profiles and Levels
The Dolby Impact encoder supports the HEVC Main and Main10 profiles. All HEVC Levels are supported. If no level is specified, then the lowest possible level is chosen that still complies with the configured picture size, frame-rate and bit-rate. The user interface of Dolby Impact in Hybrik has been adapted to comply with x265 as much as possible. For most use cases, the same configuration can be used for Dolby Impact as for x265.
Chroma sampling with Dolby Impact is always 4:2:0. Dolby Impact can be muxed to MP4/fMP4, MOV, and MPEG transport streams.
Rate-Control Modes
The Dolby Impact HEVC encoder supports three common types of bitrate_mode
to control bitrate and visual quality:
- VBR – Variable Bitrate (multi-pass)
- The VBR mode requires the definition of an (average)
bitrate_kb
.
- The VBR mode requires the definition of an (average)
- CRF - Constant Rate-Factor
- The CRF mode uses a constant rate factor (
crf
), which is related to the amount of visual distortion to be expected. The higher the factor, the more distortion is allowed and the lower the resulting bitrate will be. The default value forcrf
is 21.
- The CRF mode uses a constant rate factor (
- CBR - Capped variable bitrate, often referred to as Constant Bitrate (multi-pass)
- The CBR mode is fully described by the VBV model and does not require any configuration beyond the VBV model, i.e.
max_bitrate_kb
and optionallyvbv_buffer_size_kb
.
- The CBR mode is fully described by the VBV model and does not require any configuration beyond the VBV model, i.e.
Each of the above listed rate-control modes allows the specification of parameters for a VBV model. The VBV mode is defined by three parameters:
max_bitrate_kb
- Maximum bitrate is an upper limit of the bitrate applied to VBV mode. The default value for the maximum bitrate in VBR mode is 2x the (average) bitrate.vbv_buffer_size_kb
- Size of the buffer used for the VBV mode. Larger buffer sizes allow more variation of bitrate and may avoid visual distortion at scene changes or in short, complex scenes. The default value is 2 seconds, corresponding to 2x the maximum bitrate. Reasonable values are between 0.5x and 4x themax_bitrate_kb
.vbv_init_occupancy_kb
- This defines the initial occupancy of the virtual decoder buffer. Usually, there is no need to configure the initial buffer occupancy. The default value is 100% of themax_bitrate_kb
.
Using Dolby Impact
Dolby Impact can be enabled by simply adding the parameter “codec_provider”: “dolby_impact”
to the video target configuration in your transcode task.
"targets": [
{
"file_pattern": "dolby_impact_mp4_3840x2160_10000kbs{default_extension}",
"existing_files": "replace",
"container": {
"kind": "mp4"
},
"video": {
"codec": "h265",
"codec_provider": "dolby_impact",
"bitrate_mode": "vbr", […]
Dolby Impact supports the same transcode target parameters that apply to x265, so this should be the only change needed to use Dolby Impact in any Hybrik job with h265 outputs.