Dolby Digital Plus
Dolby Digital Plus, also known as Enhanced AC-3 (and commonly abbreviated as DD+ or E-AC-3, or EC-3) is a digital audio compression scheme developed by Dolby Labs for transport and storage of multi-channel digital audio. It is a successor to Dolby Digital (AC-3), also developed by Dolby, and has a number of improvements including support for a wider range of data rates (32 Kbit/s to 6144 Kbit/s), increased channel count and multi-program support (via substreams), and additional tools (algorithms) for representing compressed data and counteracting artifacts. While Dolby Digital (AC-3) supports up to five full-bandwidth audio channels at a maximum bitrate of 640 Kbit/s, E-AC-3 supports up to 15 full-bandwidth audio channels at a maximum bitrate of 6.144 Mbit/s.
The full set of technical specifications for E-AC-3 (and AC-3) are standardized and published in Annex E of ATSC A/52:2012, as well as Annex E of ETSI TS 102 366 V1.2.1 (2008–08), published by the Advanced Television Systems Committee.
- 1 Technical details
- 1.1 Specifications
- 1.2 Structure
- 1.3 Syntax
- 1.4 Algorithm
- 1.5 Relation to Dolby Digital
- 1.6 Dynamic range compression
- 2 Encapsulation, use, and storage of Dolby Digital streams
- 3 See also
- 4 References
Dolby Digital Plus is capable of the following:
- Coded bitrate: 0.032 to 6.144 Mbit/s
- Audio channels: 1.0 to 15.1 (i.e. from mono to 15 full range channels and a low frequency effects channel)
- Number of audio programs per bitstream: 8
- Sample rate: 32, 44.1 or 48 kHz
A Dolby Digital Plus service consists of one or more substreams. There are three types of substreams:
- Independent substreams, which can contain a single program of up to 5.1 channels. Up to eight dependent substreams may be present in a Dolby Digital Plus stream. The channels present in an independent substream are limited to the traditional 5.1 channels: Left (L), Right (R), Center (C), Left Surround (Ls), and Right Surround (Rs) channels, as well as a Low Frequency Effects (Lfe) channel.
- Legacy substreams, which contain a single 5.1 program, and which correspond directly to Dolby Digital content. At most a single legacy substream may be present in a DD+ stream.
- Dependent substreams, which contain additional channels beyond the traditional 5.1 channels. As dependent substreams have the same structure as independent substreams, each dependent substream may contain up to five full-bandwidth channels and one low-frequency channel; however these channels may be assigned to different speaker placements. Metadata in the substream describes the purpose of each included channel.
All DD+ streams must contain at least one independent substream or legacy substream, which contains the first (or only) 5.1 channels of the primary audio program. Additional independent substreams may be used for secondary audio programs such as foreign language soundtracks, commentary, or descriptions/voiceovers for the visually impaired. Dependent substreams may be provided for programs that have additional soundstage channels beyond 5.1.
Within each substream, provision is made for encoding five full-bandwidth channels, one low-frequency channel, and one coupling channel. The coupling channels is used for medium-to-high-frequency information which is common to multiple full-bandwidth channels. Its context is mixed in with the other channels in a fashion prescribed by the metadata, it is not reproduced as a discrete channel by the decoder.
Dolby Digital Plus includes comprehensive bitstream metadata for decoder control over output loudness (via dialnorm), downmixing, and reversible dynamic range control (via DRC).
Dolby Digital Plus is nominally a 16-bit-aligned protocol, though very few fields in the syntax respect any byte or word boundaries. As many syntax elements are optional or variable-length, including some whose presence or length is dependent on complex preceding calculations, and there is little redundancy in the syntax, DD+ can be extremely difficult to parse correctly, with syntactically valid but incorrect parsings easily produced by defective encoders.
A DD+ stream is a collection of fixed-length syncframe packets, each of which corresponds to either 256, 512, 768, or 1536 consecutive time-domain audio samples. (The 1536-sample case is the most common case, and corresponds to Dolby Digital; the shorter subframe lengths are intended for use in interactive applications like video games where reducing encoder latency is an important concern). Each syncframe is independently decodable, and belongs to a specific substream within the service. A syncframe consists of the following syntax elements (some of which may be elided when a Dolby Digital Plus service is encapsulated into another format or transport):
- A 16-bit sync word, which has the value 0x0b77.
- A Bitstream Info (BSI) section, which includes key metadata such as the frame size, the bitstream identifier (which specifies the version of syntax used), channel mode, the substream identifier, the encoded dialog level (dialnorm), and metadata to guide decoder production of a downmix.
- An Audio Frame section, which contains decoding information common to all audio blocks within the syncframe, including the necessary information to determine how exponents and mantissas are packed.
- One, two, three, or six Audio Block sections. These sections contain additional decoding metadata, as well as the encoded and quantized frequency coefficients. Each Audio Block corresponds to 256 PCM samples in each channel.
- A final section containing user-defined auxiliary data, any necessary padding to produce uniform syncframe lengths, and a 16-bit cyclic redundancy check code for error detection.
Storage of transform coefficients
At the heart of both Dolby Digital and DD+ is a modified discrete cosine transform (MDCT), which is used to transform the audio signal into the frequency domain; within each block up to 256 frequency coefficients may be transmitted. Coefficients are transmitted in a binary floating-point format, with exponents transmitted separately from mantissas. This allows for highly efficient coding.
Exponents for each channel are encoded in a highly packed differential format, with the deltas between consecutive frequency bins (other than the first) being given in the stream. Three formats, or exponent strategies, are used; these are known as "D15", "D25", and "D45". In D15, each bin has a unique exponent, while in D25 and D45, delta values correspond to either pairs or quads of frequency bins. Audio blocks other than the first in a syncframe may additionally reuse the prior block's exponent set (this is required for channels that use the Adaptive Hybrid Transform).
The decoded exponents, along with a set of metadata parameters, is used to derive the bit allocation pointers (BAPs), which specify the number of bits allocated to each mantissa. Bins which correspond to frequencies in which human hearing is more precise are allocated more bits; bins which correspond to frequencies that humans are less sensitive to are allocated fewer. Anywhere between zero and 16 bits may be allocated for each mantissa; if zero bits are transmitted, a dither function may be optionally applied to generate the frequency coefficient.
Dolby Digital Plus, like many lossy audio codecs, uses a heavily quantized frequency-domain representation of the signal to achieve coding gain; this section describes the operation of the base transform as well as various optional "tools" specified by the standard, which are used to achieve either greater compression or to reduce audible coding artifacts.
Modified discrete cosine transform
Both Dolby Digital and DD+ encoder converts a multichannel audio signal to the frequency domain using the modified discrete cosine transform (MDCT), with a switchable block length of either 256 or 512 samples (the latter is used with stationary signals, the former with transient signals). The frequency domain representation is then quantized according to a psycho-acoustic model and transmitted. A floating-point format for frequency coefficients is used, and mantissas and exponents are stored and transmitted separately, with both being heavily compressed.
Adaptive hybrid transform (AHT)
For highly stationary signals, such as long notes in musical performance, the Adaptive Hybrid Transform (AHT) is used. This tool is unique to Dolby Digital Plus (and unsupported in Dolby Digital), and uses an additional Type II discrete cosine transform (DCT) to combine six adjacent transform blocks (located within a syncframe) into an effectively longer block. In addition to the two-stage transform, a different bit-allocation structure is used, and two ways of representing encoded mantissas are deployed: use of vector quantization, which gives the highest coding gain, and use of gain-adapted quantization (GAQ) when greater signal-fidelity is required. Gain-adaptive quantization may be independently enabled for each frequency bin within a channel, and permits variable-length mantissa encoding.
As many multichannel audio programs have high degrees of correlation between individual channels, a coupling channel is typically used. High frequency information which is common among two or more channels is transmitted in a separate channel (one that is not reproduced by a decoder, but only mixed back into the original channels) known as the coupling channel; along with coefficients known as "coupling coordinates" that guide the decoder on how to reconstruct the original channels.
Dolby Digital Plus supports a more elaborate version of the coupling tool known as Enhanced Coupling (ECPL). This algorithm, which is considerably more expensive to process (both for encoders and decoders) allows phase information to be included in coupling coordinates, allowing for phase relationships between channels that are coupled to be preserved.
Dolby Digital Plus provides another tool for high frequencies. As high frequency components are often harmonics of lower-frequency sounds, Spectral Extension (SPX) allows high frequency components to be synthesized algorithmically from lower-frequency components. This tool is also unique to Dolby Digital Plus, and unsupported in Dolby Digital.
Stereo programs are typically rematrixed and encoded as an L+R and L-R channel. This is done both to increase coding gain (the L-R channel can typically be heavily compressed, and the subsequent un-matrixing will cause many compression artifacts to cancel), and to preserve phase relationships necessary for proper playback of Dolby Surround-encoded material.
Transient pre-noise processing
Transient pre-noise processing (TPNP) is a Dolby Digital Plus-specific tool to reduce the resulting artifacts of signal quantization and other compression techniques. Unlike the other tools described above, which operate in the frequency domain and precede the conversion back into PCM samples, TPNP is a tool which essentially performs a windowed cut-and-paste operation on the time-domain signal to erase certain predictable quantization artifacts.
Relation to Dolby Digital
Dolby Digital Plus bitstreams are not directly backward compatible with legacy Dolby Digital decoders. However, Dolby Digital Plus is a functional superset of Dolby Digital, and decoders include a mandatory component that directly converts (without decoding and re-encoding) the Dolby Digital Plus bitstream to a Dolby Digital bitstream (operating at 640 kbit/s) for carriage via legacy S/PDIF connections (including S/PDIF over HDMI) to external decoders (e.g. AVRs, etc.). All Dolby Digital Plus decoders can decode Dolby Digital bitstreams.
Dynamic range compression
One design goal of DD+ is quality playback in a variety of environments, ranging from home theaters and other acoustically controlled environments where high dynamic range playback is feasible, to portable and automotive environments where lots of background noise is present, and dynamic range compression may be necessary to make all parts of an audio program audible.
DD+ provides the following operating modes for different listener/viewer environments.
Dolby Digital Plus Decoder Operating Modes:
|Mode||Reference Loudness (LKFS)||Application|
|Line||−31 LKFS||Home Theatre Playback – Provides Full "cinema" Dynamic Range|
|RF||−20 LKFS||TV Speaker Playback – Provides Typical "broadcast" Dynamic Range|
|Portable||−11 LKFS||Portable Device Speaker & Headphone Playback – Provides Minimum Dynamic Range (similar to music production/mixing/mastering techniques)|
Note: All of the decoder operating modes (listed above) are available in every Dolby Digital Plus decoder. The default operating mode is governed by device category and application. In some devices, users may also have a choice (via menu) to select an alternate mode that suits their particular taste and/or application.
In addition, Dolby Digital and DD+ contain additional metadata to permit error-free translation into range-restricted downstream channels, such as RF modulation, where excessive output signal amplitude may result in significant distortion or modulation errors.
Encapsulation, use, and storage of Dolby Digital streams
Physical transport for consumer devices
IEC 61937-3: defines how to transmit Dolby Digital (AC-3) and Dolby Digital Plus (E-AC-3) bitstreams via an IEC 60958/61937 (S/PDIF) interface. However, the S/PDIF interface has insufficient bandwidth to transport Dolby Digital Plus (E-AC-3) bitstreams at the 3.0Mbit/s datarate specified by HD DVD; lower datarates are possible.
Much consumer gear, and even some professional gear, does not recognize Dolby Digital Plus as an encoded format, and will treat DD+ signals over a S/PDIF or similar interface, or stored in a .WAV file or similar container format, as though they were linear PCM data. This is not problematic if the data is passed unchanged, but any gain scaling or sample rate conversion, operations which are aurally harmless to PCM data, will corrupt and destroy a Dolby Digital Plus stream. (Older codecs such as DTS or AC-3 are more likely to be recognized as compressed formats and protected from such processing).
Dolby Digital Plus may be transmitted across HDMI 1.3 or newer, according to IEC 61937-3.
Physical transport for professional devices and applications
As the AES-3 interface is the professional analog to S/PDIF, Dolby Digital Plus streams may be carried over AES-3 connections with sufficient bandwidth, and/or over other interfaces that encapsulate AES-3 (such as SMPTE 259M and SMPTE 299M embedded audio). Additional standards promulgated by SMPTE specify the encoding of Dolby transports, including Dolby Digital, Dolby Digital Plus, and Dolby E (a professional-only codec used in audio/video applications) on an AES interface. The SMPTE 337 standard specifies the signalling and carriage of signals that are not PCM audio over an AES-3 interface, and the SMPTE 340-2008 standard specifies how Dolby Digital Plus and Dolby Digital are to be transmitted over that interface. The combination of SMPTE 340-2008 and 337M allow the Dolby Digital Plus bitstream to be stored and transported within professional production, contribution and distribution workflows prior to emission to consumers.
Consumer broadcast in digital television systems
Either DD+ or Dolby Digital is specified by the Advanced Television Systems Committee as the primary audio codec for the ATSC digital television system, and is commonly used for other DTV applications (such as cable and satellite broadcast) in countries which use ATSC for digital television.
For broadcast (emission) to consumers, the Dolby Digital Plus bitstream is packetized in an MPEG elementary stream, and multiplexed (with video) into an MPEG Transport Stream. In ATSC systems, the specification for carrying Dolby Digital Plus is described in ATSC A/53 Part 3 & Part 6. In DVB systems, the specification for carrying Dolby Digital Plus is described in ETSI TS 101 154 and ETSI EN 300 468.
Dolby Digital Plus is seeing increasing use in digital television systems, particular in cable and satellite systems, as a replacement for Dolby Digital. Many such applications don't take advantage of its higher channel count or ability to support multiple independent programs; instead it is used as a higher-efficiency codec than AC-3.
HD DVD and Blu-ray Disc
Both the now-defunct HD DVD standard, and Blu-ray Disc include Dolby Digital Plus. It is a mandatory component of HD DVD and an optional component of Blu-ray. The maximum number of discrete coded channels is the same for both formats: 7.1. However, HD DVD and Blu-ray impose different technical constraints on the supported audio-codecs. Hence, the usage of DD+ differs substantially between HD DVD and Blu-ray Disc.
|Codec||HD DVD||Blu-ray Disc|
|AC-3||mandatory||1 to 5.1||448 kbit/s||mandatory||1 to 5.1||640 kbit/s|
|E-AC-3||mandatory||1 to 7.1||3.024 Mbit/s||optional, available for rear channels only||6.1 to 7.1||1.664 Mbit/s|
|1 or 2
3 to 8
|optional||1 to 8||18.0 Mbit/s|
On HD DVD, DD+ is designated a mandatory audio codec. An HD DVD movie may use DD+ as the primary (or only) audio track. An HD DVD player is required to support DD+ audio by decoding and outputting it to the player's output jacks. As stored on disc, the DD+ bitstream can carry for any number of audio channels up to the maximum allowed, at any bitrate up to 3.0 Mbit/s.
On Blu-ray Disc, DD+ is an optional codec, and is deployed as an extension to a "core" AC-3 5.1 audiotrack. The AC-3 core is encoded at 640 kbit/s, carries 5 primary channels (and 1 LFE), and is independently playable as a movie audio track by any Blu-ray Disc player. The DD+ extension bitstream is used on players that support it by replacing the rear channels in the 5.1 setup with higher fidelity versions, along with providing a possible channel extension to 6.1 or 7.1. The complete audio track is allowed a combined bitrate of 1.7 Mbit/s: 640 kbit/s for the AC-3 5.1 core, and 1 Mbit/s for the DD+ extension. During playback, both the core and extension bitstreams contribute to the final audio-output, according to rules embedded in the bitstream metadata.
Media players and downmixing
Generally, a Dolby Digital Plus bitstream can only be transported over an HDMI 1.3 or greater link. Older receivers support earlier versions of HDMI, or only have support for the S/PDIF system for digital audio, or analog inputs.
For non-HDMI 1.3 links, the player can decode the audio and then transmit it via a variety of different methods.
- Earlier versions of HDMI, such as HDMI 1.1, support PCM audio, where the player decodes the audio and transmits it losslessly as PCM over HDMI to the receiver.
- Some receivers and players support analog surround sound, and the player can decode the audio, and transmit it to the receiver as analog audio.
Most receivers and players support S/PDIF. This lower bandwidth digital connection is not capable of transmitting lossless PCM audio with more than two channels, but a player can transmit a S/PDIF compatible audio stream to the receiver in one of the following ways:
- Blu-ray Disc players can take advantage of the legacy 5.1 AC-3 bitstream embedded in the E-AC-3 bitstream, transmitting just the AC-3 bitstream with no modifications.
- Players supporting the HD DVD standard can transcode the decoded audio into another format. Depending upon the method and options available to the player, this can be done with relatively little quality loss. Dolby's reference decoder, available to all licensees, exploits the common heritage between AC-3 and E-AC-3 by performing the operation in the frequency domain. Hybrid re-compression avoids unnecessary end-to-end decompression and subsequent recompression (E-AC-3 → LPCM → AC-3). In addition to AC-3, some HD DVD players transcode audio compatible with S/PDIF into 1.5 Mbit/s DTS audio. While S/PDIF can carry Dolby Digital Plus at lower bitrates, the HD DVD standard specifies a bitrate for DD+ which is too high for a S/PDIF interface to transmit.
Should the player need to decode the audio for a non-HDMI 1.3 receiver, the results should be predictable. The DD+ specification explicitly defines downmixing modes and mechanics, so any source soundfield (up to 14.1) can be reproduced predictably for any listening environment (down to a single channel).
- Dolby Digital Plus technical specification at atsc.org
- "avcodec/eac3: add support for dependent stream · FFmpeg/FFmpeg@ae92970". GitHub. Retrieved 2019-06-10.