Shopping Cart

No products in the cart.

BS ISO/IEC 23003-4:2020+A1:2022

$215.11

Information technology. MPEG audio technologies – Dynamic range control

Published By Publication Date Number of Pages
BSI 2022 274
Guaranteed Safe Checkout
Categories: ,

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

PDF Catalog

PDF Pages PDF Title
2 undefined
8 Foreword
9 Introduction
11 1 Scope
2 Normative references
3 Terms, definitions and mnemonics
3.1 Terms and definitions
13 3.2 Mnemonics
4 Symbols
14 5 Technical overview
16 6 DRC decoder
6.1 DRC decoder configuration
6.1.1 Overview
17 6.1.2 Description of logical blocks
6.1.2.1 channelLayout()
6.1.2.2 downmixInstructions() and downmixInstructionsV1()
6.1.2.3 drcCoefficientsBasic(), drcCoefficientsUniDrc(), and drcCoefficientsUniDrcV1()
18 Table 2 — Encoding of drcLocation for in-stream payload
Table 3 — Codec-specific encoding of drcLocation for MPEG-4 Audio
19 Table 4 — Encoding of drcLocation for ISO/IEC 14496-12
6.1.2.4 drcInstructionsBasic(), drcInstructionsUniDrc(), and drcInstructionsUniDrcV1()
21 6.1.2.5 loudnessInfo() and loudnessInfoV1()
22 6.1.2.6 loudEqInstructions()
6.1.3 Derivation of peak and loudness values
Table 5 — Default and fallback values of loudnessInfo
Table 6 — Determination of applicable loudnessInfo() structure for selection of programLoudness or anchorLoudness for a specific DRC set
23 Table 7 — Determination of signalPeakLevel for a specific DRC set
24 Table 8 — Pseudo code for functions referenced in Table 7
26 6.2 Dynamic DRC gain payload
6.3 DRC set selection
6.3.1 Overview
27 Table 9 — Most relevant metadata for DRC selection at the decoder
6.3.2 Pre-selection based on Signal Properties and Decoder Configuration
6.3.2.1 Overview
Table 10 — Requirements for DRC pre-selection
28 6.3.2.2 Detailed description of pre-selection steps
6.3.2.2.1 Pre-selection based on downmix ID, channel layout, or channel count (#1,2,3)
29 6.3.2.2.2 Pre-selection based on drcSetTargetLoudness (#8)
6.3.2.2.3 Pre-selection based on output peak level (#9)
30 6.3.3 Selection based on requests
6.3.3.1 Overview
Table 11 — Requestable features of DRC sets
6.3.3.2 Sub-selection by requesting an effect type feature
31 Table 12 — Requestable DRC effect types and short names for reference
6.3.3.3 Sub-selection by requesting a “Dynamic Range” value
32 Table 13 — Requestable dynamic range measurement values
6.3.3.4 Sub-selection by requesting a “DRC characteristic”
Table 14 — Matching order for DRC characteristic
6.3.4 Final selection
33 6.3.5 Applying multiple DRC sets
6.3.6 Album mode
6.3.7 Ducking
34 6.3.8 Precedence
6.4 Time domain DRC application
6.4.1 Overview
6.4.2 Framing
35 6.4.3 Time resolution
6.4.4 Time alignment
36 6.4.5 Decoding
Table 15 — Derivation of drcChannelGroups from gainSetIndices
38 Table 16 — Decoding of DRC gain sample coordinates and slopes in the dB domain
39 6.4.6 Gain modifications and interpolation
40 Table 17 — Conversion of a DRC gain sample and associated slope from dB to linear domain (slopeIsNegative==1 if the source DRC characteristic has a negative slope)
41 Table 18 — DRC gain mapping according to a target DRC characteristic
Table 19 — Pseudo code to compute the DRC gain based on the input level in dB (characteristicFormat==0)
42 Table 20 — Pseudo code to compute the DRC gain based on the input level in dB (characteristicFormat==1)
43 Table 21 — Interpolation of the DRC gain for one spline or linear segment
45 6.4.7 Spline interpolation
46 6.4.8 Look-ahead in decoder
47 Figure 4 — Delay modes: low-delay and fullFrame = 1 (A), default delay and fullFrame = 0 (B).
6.4.9 Node reservoir
48 Figure 5 — Illustration of node reservoir mechanism
6.4.10 Applying the compression
Table 22 — Concatenation of interpolation segments to a gain vector and application of the DRC gain vector to the audio channels
51 6.4.11 Dynamic equalization
6.4.11.1 Overview
52 6.4.11.2 Adaptation of shaping filters
6.4.11.3 Low-frequency shaping filters
53 6.4.11.4 High-frequency shaping filters
6.4.12 Multi-band DRC filter bank
54 Figure 7 — Topology of Linkwitz-Riley crossover filters for 2, 3, and 4 bands
55 Table 26 — Butterworth filter coefficient formulas
56 Table 27 — All-pass filter coefficient formulas
57 Figure 8 — Example of phase adjustments for time-domain multiband DRC with different DRC bands for each channel group
6.5 Sub-band domain DRC
58 Table 28 — Domain of DRC gain applications for various MPEG decoders
59 Table 29 — DRC gain down-sampling, overlap, and application in decoder sub-bands
Table 30 — Computation of overlap weigths
61 Table 31 — Explanation of pseudo code items
6.6 Generation of DRC gain values at the decoder
6.6.1 Overview
62 6.6.2 Description of logical blocks
6.6.2.1 drcCoefficientsParametricDrc()
6.6.2.2 parametricDrcInstructions()
63 6.6.2.3 parametricDrcTypeFeedForward()
6.6.2.4 parametricDrcTypeLimiter()
6.6.3 Algorithmic details
6.6.3.1 Parametric DRC of type PARAM_DRC_TYPE_FF
69 6.6.3.2 Parametric DRC of type PARAM_DRC_TYPE_LIM
70 6.6.4 Combining parametric and non-parametric DRCs
71 6.7 Loudness equalization support
72 6.8 Equalization tool
6.8.1 Overview
6.8.2 EQ payloads
6.8.2.1 Overview
6.8.2.2 eqCoefficients() payload
73 6.8.2.3 eqInstructions() payload
6.8.2.4 LoudnessInfo payload for EQ
6.8.3 EQ filter elements
6.8.3.1 Supported filter elements in pole/zero format
74 6.8.3.2 Supported filter elements in FIR coefficient format
6.8.3.3 Supported filter elements in sub-band gain format
6.8.4 EQ set selection
6.8.5 Application of EQ set
75 6.8.5.1 Time domain EQ
6.8.5.1.1 Decoding of filter element parameters
6.8.5.1.1.1 Decoding of z-domain poles and zeros
77 6.8.5.1.1.2 Decoding of FIR coefficients
78 6.8.5.1.2 Phase alignment of time-domain filter
6.8.5.2 Sub-band domain EQ
6.8.5.2.1 Decoding of sub-band gains
82 6.9 Complexity management
6.9.1 General
6.9.2 DRC and downmixing complexity estimation
84 6.9.3 EQ complexity estimation
85 6.10 Loudness normalization
6.10.1 Overview
86 6.10.2 Loudness normalization based on target loudness
Table 47 — Permitted method definition indices for the loudness normalization settings
Table 48 — Measurement system indices for the loudness normalization settings
87 Table 49 — Permitted measurement system pre-processing indices for the loudness normalization settings
Table 50 — Default loudness normalization settings
Table 51 — Matching order for measurement system
88 Table 52 — Loudness normalization processing
89 6.11 DRC in streaming scenarios
6.11.1 DRC configuration
6.11.2 Error handling
6.12 DRC configuration changes during active processing
90 Table 53 — Configuration changes for various events
91 7 Syntax
7.1 Syntax of DRC payload
Table 54 — Syntax of uniDrc() payload
7.2 Syntax of DRC gain payload
Table 55 — Syntax of uniDrcGain() in-stream payload and for ISO/IEC 14496-12
92 Table 56 — Syntax of uniDrcGainExtension() payload
7.3 Syntax of static DRC payload
Table 57 — Syntax of uniDrcConfig() payload
93 Table 58 — Syntax of loudnessInfoSet() payload
94 Table 59 — Syntax of loudnessInfo() payload
95 Table 60 — Syntax of loudnessInfoV1() payload
Table 61 — Syntax of loudnessInfoSetExtension() payload
96 Table 62 — Syntax of channelLayout() payload
Table 63 — Syntax of downmixInstructions() payload
97 Table 64 — Syntax of downmixInstructionsV1() payload
Table 65 — Syntax of in-stream drcCoefficientsBasic() payload
98 Table 66 — Syntax of drcCoefficientsBasic() payload for ISO/IEC 14496-12
Table 67 — Syntax of in-stream drcCoefficientsUniDrc() payload
99 Table 68 — Syntax of in-stream drcCoefficientsUniDrcV1() payload
102 Table 69 — Syntax of drcCoefficientsUniDrc() payload for ISO/IEC 14496-12
106 Table 70 — Syntax of in-stream drcInstructionsBasic() payload
107 Table 71 — Syntax of drcInstructionsBasic() payload for ISO/IEC 14496-12
108 Table 72 — Syntax of in-stream drcInstructionsUniDrc() payload
110 Table 73 — Syntax of in-stream drcInstructionsUniDrcV1() payload
113 Table 74 — Syntax of drcInstructionsUniDrc() payload for ISO/IEC 14496-12
117 Table 75 — Syntax of uniDrcConfigExtension() payload
118 Table 76 — Syntax of uniDrcConfigExtension() payload for ISO/IEC 14496-12
119 7.4 Syntax of DRC gain sequence
120 7.5 Syntax of parametric DRC tool
121 Table 79 — Syntax of drcCoefficientsParametricDrc() payload for ISO/IEC 14496-12
127 7.6 Syntax of equalization tools
141 8 Reference software
8.1 Reference software structure
8.1.1 General
8.2 Bitstream decoding software
8.2.1 General
142 8.2.2 MPEG-D DRC decoding software
9 Conformance
9.1 General
9.2 Conformance testing
9.2.1 Conformance test data and test procedure
144 9.2.2 Naming conventions
146 9.2.3 File format definitions
9.2.3.1 DRC set selection parameters
147 9.2.3.2 MPEG-H 3DA parameters
9.2.3.2.1 Downmix parameters
9.2.3.2.2 Interactivity parameters
148 9.3 Encoder conformance for MPEG-D DRC bitstreams
9.3.1 Characteristics and test procedure
149 9.3.2 Configuration payload
9.3.2.1 Characteristics
9.3.2.2 Requirements for configuration syntax
9.3.2.2.1 uniDrc()
150 9.3.2.2.2 uniDrcConfig()
9.3.2.2.3 loudnessInfoSet()
9.3.2.2.4 loudnessInfo() and loudnessInfoV1()
151 9.3.2.2.5 loudnessInfoSetExtension()
9.3.2.2.6 channelLayout()
9.3.2.2.7 downmixInstructions() and downmixInstructionsV1()
152 9.3.2.2.8 drcCoefficientsBasic()
9.3.2.2.9 drcCoefficientsUniDrc() and drcCoefficientsUniDrcV1()
154 9.3.2.2.10 drcInstructionsBasic()
155 9.3.2.2.11 drcInstructionsUniDrc() and drcInstructionsUniDrcV1()
157 9.3.2.2.12 uniDrcConfigExtension()
9.3.2.2.13 drcCoefficientsParametricDrc()
158 9.3.2.2.14 parametricDrcInstructions()
9.3.2.2.15 parametricDrcTypeFeedForward()
159 9.3.2.2.16 parametricDrcTypeLimiter()
9.3.2.2.17 loudEqInstructions()
161 9.3.2.2.18 eqCoefficients()
162 9.3.2.2.19 eqSubbandGainSpline()
9.3.2.2.20 eqInstructions()
163 9.3.3 Interface payload
9.3.3.1 Characteristics
9.3.3.2 Requirements for interface syntax
9.3.3.2.1 uniDrcInterface()
164 9.3.3.2.2 systemInterface()
9.3.3.2.3 loudnessNormalizationControlInterface()
9.3.3.2.4 loudnessNormalizationParameterInterface()
165 9.3.3.2.5 dynamicRangeControlInterface()
9.3.3.2.6 dynamicRangeControlParameterInterface()
9.3.3.2.7 uniDrcInterfaceExtension()
9.3.3.2.8 loudnessEqParameterInterface()
166 9.3.3.2.9 equalizationControlInterfacePresent()
9.3.4 Frame Payload
9.3.4.1 Characteristics
9.3.4.2 Requirements for frame syntax
9.3.4.2.1 uniDrcGain()
9.3.4.2.2 uniDrcGainExtension()
9.3.4.2.3 drcGainSequence()
167 9.3.5 Requirements depending on profiles and levels
9.3.5.1 MPEG-D DRC – Loudness Control profile
9.3.5.2 MPEG-D DRC – Dynamic Range Control profile
9.3.5.3 MPEG-H 3DA – Low Complexity profile
9.3.5.3.1 General
9.3.5.3.2 drcCoefficientsUniDrc()
9.3.5.3.3 drcInstructionsUniDrc()
168 9.3.5.3.4 drcGainSequence()
9.4 Decoder conformance test categories and conditions
9.4.1 General
9.4.2 Conformance test categories
9.4.2.1 DRC set selection process (DrcSelProc)
9.4.2.2 DRC gain decoder (DrcGainDec)
9.4.2.3 DRC tool decoder (DrcToolDec)
9.4.2.4 Peak limiter (PeakLim)
9.4.3 Conformance test conditions
9.4.3.1 Loudness normalization test condition (Ln)
9.4.3.1.1 General
9.4.3.1.2 Test sequences
169 9.4.3.2 Gain coding and gain interpolation test condition (Gc)
9.4.3.2.1 General
9.4.3.2.2 Test sequences
170 9.4.3.3 Gain modification test condition (Gm)
9.4.3.3.1 General
9.4.3.3.2 Test sequences
9.4.3.4 Node reservoir test condition (Nr)
9.4.3.4.1 General
9.4.3.4.2 Test sequences
171 9.4.3.5 Multi-band DRC test condition (Mb)
9.4.3.5.1 General
9.4.3.5.2 Test sequences
9.4.3.6 Shaping filter test condition (Sf)
9.4.3.6.1 General
9.4.3.6.2 Test sequences
9.4.3.7 Parametric DRC test condition (Pd)
9.4.3.7.1 General
9.4.3.7.2 Test sequences
172 9.4.3.8 Equalization filter test condition (Eq)
9.4.3.8.1 General
9.4.3.8.2 Test sequences
9.4.3.9 Loudness equalization support test condition (Le)
9.4.3.9.1 General
9.4.3.9.2 Test sequences
173 9.4.3.10 Multiple DRC sets at one location test condition (Md)
9.4.3.10.1 General
9.4.3.10.2 Test sequences
9.4.3.11 Downmix test condition (Dx)
9.4.3.11.1 General
9.4.3.11.2 Test sequences
174 9.4.3.12 Ducking and fading test condition (Df)
9.4.3.12.1 General
9.4.3.12.2 Test sequences
9.4.3.13 Peak limiter test condition (Pl)
9.4.3.13.1 General
9.4.3.13.2 Test sequences
9.4.3.14 Handling of extensions test condition (Ex)
9.4.3.14.1 General
176 9.4.3.14.2 Test sequences
177 Annex A (normative) Tables
A.1 Coding of DRC gain values
Table A.1 — Coding of regular initial DRC gain values (gainCodingProfile == 0)
Table A.2 — Coding of initial DRC gain values for fading only (gainCodingProfile == 1)
Table A.3 — Coding of initial DRC gain values for clipping prevention and ducking only (gainCodingProfile == 2)
Table A.4 — Coding of regular DRC gain differences (gainCodingProfile ( [0,1])
178 Table A.5 — Coding of DRC gain differences for clipping prevention and ducking only (gainCodingProfile == 2)
180 A.2 Coding of time differences
Table A.6 — Coding of time differences with nNodesMax = NDRC and Z = ceil(log2(2*nNodesMax))
A.3 Coding of slope steepness
Table A.7 — Coding of slope steepness (gainInterpolationType == 0)
181 A.4 Coding of normalized crossover frequencies
Table A.8 — Coding of normalized crossover frequencies and associated filter coefficient parameters
A.5 Coding of DRC gain extension types
Table A.9 — UniDrc gain extension types
182 A.6 Coding of static DRC payload
A.6.1 Coding of top level fields of uniDrcConfig() and loudnessInfoSet()
Table A.10 — Coding of top level fields of uniDrcConfig() and loudnessInfoSet()
A.6.2 Coding of loudnessInfoSet extension types
Table A.11 — loudnessInfoSet extension types
A.6.3 Coding of DRC configuration extension types
Table A.12 — UniDrc configuration extension types
183 A.6.4 Coding of metadata that appears in multiple logical blocks of uniDrcConfig()
Table A.13 — Coding of metadata that appears in multiple logical blocks
A.6.5 Coded metadata in channelLayout()
Table A.14 — Coding of metadata in channelLayout()
A.6.6 Coded metadata in downmixInstructions()
Table A.15 — Coding of metadata in downmixInstructions()
184 A.6.7 Coded metadata in drcCoefficientsBasic() and drcCoefficientsUniDrc()
Table A.16 — Coding of metadata in drcCoefficientsBasic(), drcCoefficientsUniDrc(), and drcCoefficientsUniDrcV1()
185 Table A.17 — Coding of bsDrcFrameSize field
Table A.18 — Coding of gainCodingProfile field
186 Table A.19 — Coding of gainInterpolationType field
Table A.20 — Coding of delayMode field
Table A.21 — Coding of bsTimeDeltaMin field
Table A.22 — Coding of drcCharacteristic field
Table A.23 — Coding of startSubBandIndex field
Table A.24 — Coding of bsGainRight
Table A.25 — Coding of bsGainLeft
187 Table A.26 — Coding of bsIoRatioLeft and bsIoRatioRight
Table A.27 — Coding of bsExpLeft and bsExpRight
Table A.28 — Coding of bsCharNodeCount
Table A.29 — Coding of bsNodeLevelDelta
Table A.30 — Coding of bsNodeGain
Table A.31 — Coding of coefficient boundary y1,bound for LF shaping filters depending on lfCornerFreqIndex and lfFilterStrengthIndex in drcCoefficientsUniDrcV1 ()
188 Table A.32 — Coding of coefficient boundary y1,bound for HF shaping filters depending on hfCornerFreqIndex and hfFilterStrengthIndex in drcCoefficientsUniDrcV1 ()
Table A.33 — Coding of coefficient gain offset goffset for LF shaping filters depending on lfCornerFreqIndex and lfFilterStrengthIndex in drcCoefficientsUniDrcV1 ()
Table A.34 — Coding of coefficient gain offset goffset for HF shaping filters depending on hfCornerFreqIndex and hfFilterStrengthIndex in drcCoefficientsUniDrcV1 ()
189 Table A.35 — Coding of Radius r for LF shaping filters depending on lfCornerFreqIndex in drcCoefficientsUniDrcV1 ()
Table A.36 — Coding of normalized cutoff frequency fc,norm and radius r for HF shaping filters depending on hfCornerFreqIndex in drcCoefficientsUniDrcV1 ()
A.6.8 Coded metadata in drcInstructionsBasic() and drcInstructionsUniDrc()
Table A.37 — Coding of metadata in drcInstructionsBasic(),drcInstructionsUniDrc(), and drcInstructionsUniDrcV1()
191 Table A.38 — Coding of bsGainSetIndex
Table A.39 — Coding of bsRepeatParametersCount and bsRepeatGainSetIndexCount field
192 Table A.40 — Coding of bsLimiterPeakTarget field
Table A.41 — Coding of bsDuckingScaling field
Table A.42 — Coding of bsAttenuationScaling and bsAmplificationScaling field
Table A.43 — Coding of bsGainOffset field
Table A.44 — Coding of bsDrcSetTargetLoudnessValueUpper/-Lower field
Table A.45 — Coding of drcSetEffect field. A bit value of 1 indicates that the effect is present
193 A.6.9 Coded metadata in loudnessInfo()
Table A.46 — Coding of bsSamplePeakLevel field
Table A.47 — Coding of bsTruePeakLevel field (True Peak[4])
Table A.48 — Coding of methodValue field
194 Table A.49 — Coding of methodDefinition field in loudnessInfo()
Table A.50 — Coding of measurementSystem field in loudnessInfo()
195 Table A.51 — Coding of reliability field in loudnessInfo()
Table A.52 — Coding algorithm for loudnessRange in dB
A.6.10 Coded metadata in drcCoefficientsParametricDrc()
Table A.53 — Coding of metadata in drcCoefficientsParametricDrc()
196 Table A.54 — Coding of bsParametricDrcFrameSize field
197 Table A.55 — Coding of bsParametricDrcDelayMax field
Table A.56 — Coding of sideChainConfigType field
Table A.57 — Coding of bsChannelWeight field
198 Table A.58 — Coding of bsDrcInputLoudness field
A.6.11 Coded metadata in parametricDrcInstructions()
Table A.59 — Coding of metadata in parametricDrcInstructions()
Table A.60 — Coding of bsParametricDrcLookAhead field
Table A.61 — Coding of parametricDrcType
199 Table A.62 — Mapping of parametricDrcPresetId to parametricDrcType
A.6.12 Coded metadata in parametricDrcTypeFeedForward()
Table A.63 — Coding of metadata in parametricDrcTypeFeedForward()
200 Table A.64 — Coding of levelEstimKWeightingType field
Table A.65 — Coding of bsLevelEstimIntegrationTime field
Table A.66 — Coding of bsNodeCount field
Table A.67 — Coding of bsNodeLevelInitial field
Table A.68 — Coding of bsNodeLevelDelta field
201 Table A.69 — Coding of bsNodeGain field
Table A.70 — Coding of bsGainSmoothAttackTimeSlow field
Table A.71 — Coding of bsGainSmoothReleaseTimeSlow field
Table A.72 — Coding of bsGainSmoothAttackTimeFast field
Table A.73 — Coding of bsGainSmoothReleaseTimeFast field
Table A.74 — Coding of bsGainSmoothAttackThreshold field
202 Table A.75 — Coding of bsGainSmoothReleaseThreshold field
Table A.76 — Coding of bsGainSmoothHoldOff field
Figure A.1 — Illustration of DRC curve parametrization for five curve nodes (parametricDrcType==0x0)
Table A.77 — DRC gain smoothing time constants and look-ahead delay for drcCharacteristic index 7…11 (parametricDrcType==0x0)
203 A.6.13 Coded metadata in parametricDrcTypeLimiter()
Table A.78 — Coding of metadata in parametricDrcTypeLimiter()
Table A.79 — Coding of bsParametricLimThreshold field
Table A.80 — Coding of bsParametricLimReleaseTime field
A.6.14 Coded metadata in loudEqInstructions()
Table A.81 — Metadata in loudEqInstructions()
205 Table A.82 — Coding of frequencyRangeIndex in loudEqInstructions()
Table A.83 — Coding of bsLoudEqScaling in loudEqInstructions()
Table A.84 — Coding of bsLoudEqOffset in loudEqInstructions()
A.6.15 Coding of payloads for equalization
Table A.85 — Coding of fields in eqCoefficients() payload
206 Table A.86 — Coding of bsEqDelayMax field
Table A.87 — Coding of fields in eqSubbandGainSpline() payload
207 Table A.88 — Coding of fields in eqInstructions() payload
208 Table A.89 — Coding of eqSetPurpose field (multiple bits can be set)
Table A.90 — Coding of eqSubbandGainFormat field
209 Table A.91 — Coding of bsEqSubbandGain
Table A.92 — Coding of bsEqCascadeGain, bsFilterElementGain
Table A.93 — Coding of bsFirCoefficient
Table A.94 — Coding of bsEqTransitionDuration
Table A.95 — Coding of bsPoleRadius and bsZeroRadius
211 Table A.96 — Coding of bsPoleAngle and bsZeroAngle
213 Table A.97 — Coding of node count of EQ gain spline (bsEqNodeCount)
Table A.98 — Coding of EQ slope steepness (eqSlopeCode)
214 Table A.99 — Coding of EQ frequency difference (eqFreqDeltaCode)
Table A.100 — Coding of initial sub-band EQ gain value (eqGainInitialCode)
Table A.101 — Coding of EQ gain differences (eqGainDeltaCode)
215 A.6.16 Summary of supported control parameters supplied by host
Table A.102 — Summary of all supported control parameters for loudness normalization supplied by host
Table A.103 — Summary of all supported control parameters for dynamic range compression supplied by host
216 Table A.104 — Summary of additional control parameters supplied by host
217 Annex B (normative) External interface to DRC tool
B.1 Description
B.2 Syntax
Table B.1 — Syntax of uniDrcInterface() payload
218 Table B.2 — Syntax of systemInterface() payload
219 Table B.3 — Syntax of loudnessNormalizationControlInterface() payload
Table B.4 — Syntax of loudnessNormalizationParameterInterface() payload
220 Table B.5 — Syntax of dynamicRangeControlInterface() payload
221 Table B.6 — Syntax of dynamicRangeControlParameterInterface() payload
222 Table B.7 — Syntax of uniDrcInterfaceExtension() payload
Table B.8 — Syntax of loudnessEqParameterInterface() payload
223 Table B.9 — Syntax of equalizationControlInterface() payload
B.3 Semantics
B.3.1 Semantics of uniDrcInterface()
Table B.10 — Coding of uniDrcInterfaceSignatureDataType field
B.3.2 Semantics of systemInterface()
224 Table B.11 — Coding of targetConfigRequestType field
Table B.12 — Coding of bsTargetChannelCountRequested field
B.3.3 Semantics of loudnessNormalizationControlInterface()
Table B.13 — Coding of targetLoudness field
B.3.4 Semantics of loudnessNormalizationParameterInterface()
225 Table B.14 — Coding of loudnessDeviationMax field
Table B.15 — Coding of deviceCutOffFrequency field
226 Table B.16 — Coding of loudnessNormalizationGainDbMax field
Table B.17 — Coding of loudnessNormalizationGainModificationDb field
Table B.18 — Coding of outputPeakLevelMax field
B.3.5 Semantics of dynamicRangeControlInterface()
227 B.3.6 Semantics of dynamicRangeControlParameterInterface()
228 Table B.19 — Coding of compress and boost field
B.3.7 Semantics of uniDrcInterfaceExtension()
Table B.20 — UniDrc interface extension types
B.3.7.1 Semantics of loudnessEqParameterInterface()
Table B.21 — Coding of loudnessEqRequest field
229 Table B.22 — Coding of bsSensitivity field
Table B.23 — Coding of bsPlaybackGain field
B.3.7.2 Semantics of equalizationControlInterface()
230 Annex C (informative) Audio codec specific information
C.1 General
C.2 AAC
C.2.1 DRC metadata extension for AAC
Table C.1 — Definition of new extension_type for AAC
C.2.2 Delay mode for AAC
C.2.3 DRC frame size and time resolution for AAC
Table C.2 — Table to determine the DRC time resolution for AAC
231 C.2.4 Multiband DRC for AAC
C.2.5 Downscaled AAC-ELD
C.3 MPEG-4 HE-AAC, HE-AACv2, MPEG Surround (MPEG-D Part 1)
C.3.1 DRC metadata extension
232 C.4 SAOC (MPEG-D Part 2)
C.4.1 DRC metadata extension
C.5 USAC (MPEG-D Part 3)
C.5.1 DRC metadata extension
Table C.3 — Definition of new usacExtElementType for USAC
Table C.4 — Definition of new usacConfigExtension for USAC
233 C.6 MPEG-H 3D Audio
C.6.1 DRC metadata extension
Table C.5 — Definition of new usacExtElementType for MPEG-H
Table C.6 — Definition of new usacConfigExtension for MPEG-H
C.7 DRC gain synchronization for application in QMF domain
C.8 DRC gain synchronization for backwards-compatible audio decoders
234 C.9 Multi-band DRC for backwards-compatible audio decoders
C.10 Enhanced metadata support for legacy DRC schemes
C.10.1 Overview
C.10.2 Metadata describing a legacy DRC
C.10.3 Metadata describing loudness after applying legacy DRC
235 Annex D (informative) DRC gain generation and encoding
D.1 Encoder
D.1.1 Overview
Figure D.1 — Example of encoder-side DRC metadata generation
D.1.2 DRC gain encoder
236 Figure D.2 — Illustration of DRC gain representation for spline interpolation
237 D.2 Typical DRC encoder configurations
D.2.1 General
D.2.2 Generating gains for dynamic range compression
D.2.3 Generating gains for fade-in and fade-out
D.2.4 Generating gains for ducking
238 D.2.5 Generating gains for clipping prevention
D.2.6 Generating gains for dialogue enhancement
D.2.7 General considerations
239 D.2.8 Configuration of Parametric DRC Extension Payload
240 D.2.9 Use of shaping filters for spectral adjustments
241 Figure D.3 — Example responses of low frequency cut filter including DRC gain |gDRCHLF,cut(ejω)|
242 Figure D.4 — Example responses of high-frequency cut filter including DRC gain |gDRCHHF,cut(ejω)|
243 Figure D.5 — Example responses of a high frequency boost filter including DRC gain |gDRCHHF,boost(ejω)|
D.2.10 Use of dynamic loudness metadata for loudness equalization
244 Figure D.6 — Example system for loudness equalization
D.3 Declaring suitable DRC “Effect Types”
245 D.4 Transmission of optional peak values
246 Annex E (informative) DRC set selection and adjustment at decoder
E.1 General
E.2 Requesting a specific DRC
E.2.1 Overview
E.2.2 Requesting an “Effect Type” feature
247 Table E.1 — Recommended order of fallback effect type requests
E.2.3 Requesting “Dynamic Range Measurement Value”
Table E.2 — Example for requesting dynamic range measurement values
248 E.2.4 Requesting “DRC characteristic” feature
E.2.5 Example feature requests
E.3 Adjustment using compress and boost factor
E.4 Modification of DRC characteristic
249 Figure E.1 — Encoder DRC characteristic 1 to 6
250 Table E.3 — Computation of the inverse encoder DRC characteristic 1 to 6
Table E.4 — Parameters of DRC characteristic 1 to 6
Table E.5 — Indices of encoder DRC characteristic 7 to 11
251 Figure E.2 — Illustration of parametric sigmoidal DRC characteristic (characteristicFormat==0)
252 Figure E.3 — Illustration of DRC characteristic interpolation based on three nodes (characteristicFormat==1)
253 Annex F (informative) Loudness normalization
F.1 General
F.2 Legacy streaming
F.3 External gain modifications
254 Annex G (informative) Peak limiter
G.1 General
G.2 Technical description
G.2.1 Overview
255 Figure G.1 — Block diagram of the peak limiter
G.2.2 Symbols
G.2.3 Initialization
G.2.3.1 Input variables
256 G.2.3.2 Derivation of constants
G.2.4 Signal processing
G.2.4.1 Look-ahead delay
G.2.4.2 Peak level detection
G.2.4.3 Running maximum
257 G.2.4.4 Gain computation
G.2.4.5 Gain smoothing
258 G.2.4.6 Apply gain reduction
G.3 Content-dependent bypass
259 Annex H (informative) Equalization
H.1 EQ metadata authoring
H.2 EQ delay considerations
261 Annex I (normative) Profiles and levels
I.1 Overview
I.2 Profiles
Figure I.1 — Profile hierarchy
266 I.3 Levels
I.4 Levels of Loudness Control profile
267 I.5 Levels of Dynamic Range Control profile
269 I.6 DRC complexity estimates in PCU (informative)
270 Annex J (informative) Reference software disclaimer
271 Annex K (informative) Reference software
K.1 Bitstream encoding software
K.1.1 General
K.1.2 MPEG-D DRC encoding software
K.2 Additional utility software
K.2.1 General
K.2.2 MPEG-D DRC utility software
272 Bibliography
BS ISO/IEC 23003-4:2020+A1:2022
$215.11