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