Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 3: 3D audio — Amendment 1: Audio metadata enhancements

Technologies de l'information — Codage à haute efficacité et livraison des medias dans des environnements hétérogènes — Partie 3: Audio 3D — Amendement 1: Améliorations de la prise en charge des métadonnées audio

General Information

Status
Withdrawn
Publication Date
30-Jun-2019
Current Stage
9599 - Withdrawal of International Standard
Start Date
17-Aug-2022
Completion Date
19-Apr-2025
Ref Project

Relations

Standard
ISO/IEC 23008-3:2019/Amd 1:2019 - Audio metadata enhancements
English language
36 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
REDLINE ISO/IEC 23008-3:2019/Amd 1:2019 - Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 3: 3D audio — Amendment 1: Audio metadata enhancements Released:7/1/2019
English language
36 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 23008-3
Second edition
2019-02-20
AMENDMENT 1
2019-06
Information technology — High
efficiency coding and media delivery
in heterogeneous environments —
Part 3:
3D audio
AMENDMENT 1: Audio metadata
enhancements
Technologies de l'information — Codage à haute efficacité et livraison
des medias dans des environnements hétérogènes —
Partie 3: Audio 3D
AMENDEMENT 1: Améliorations de la prise en charge des
métadonnées audio
Reference number
ISO/IEC 23008-3:2019/Amd.1:2019(E)
©
ISO/IEC 2019
ISO/IEC 23008-3:2019/Amd.1:2019(E)

© ISO/IEC 2019
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2019/Amd.1:2019(E)

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that
are members of ISO or IEC participate in the development of International Standards through
technical committees established by the respective organization to deal with particular fields of
technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with ISO and IEC, also
take part in the work.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the
different types of ISO documents should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www .iso .org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of
any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www .iso .org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see: www .iso
.org/iso/foreword .html.
This document was prepared by Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 23008 series can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www .iso .org/members .html.
© ISO/IEC 2019 – All rights reserved iii

ISO/IEC 23008-3:2019/Amd.1:2019(E)
Information technology — High efficiency coding and
media delivery in heterogeneous environments —
Part 3:
3D audio
AMENDMENT 1: Audio metadata enhancements

5.2.2.1 General configuration syntax
In subclause 5.2.2.1 replace Table 14 with:
Table 14 — Syntax of Signals3d()
Syntax No. of bits Mnemonic
Signals3d()
{
numAudioChannels              = 0;
numAudioObjects                = 0;
numSAOCTransportChannels     = 0;
numHOATransportChannels      = 0;

bsNumSignalGroups; 5 uimsbf
for ( grp = 0; grp < bsNumSignalGroups + 1 ; grp++ ) {
signal_groupID[grp] = grp;
differsFromReferenceLayout[grp] = 0;
signalGroupType[grp]; 3 bslbf
bsNumberOfSignals[grp] = escapedValue(5, 8, 16);
if ( SignalGroupType[grp] == SignalGroupTypeChannels ) {
numAudioChannels += bsNumberOfSignals[grp] + 1;
differsFromReferenceLayout[grp]; 1 bslbf
if(differsFromReferenceLayout[grp]) {
audioChannelLayout[grp] = SpeakerConfig3d();
}
else {
audioChannelLayout[grp] = referenceLayout;
}
}
if ( SignalGroupType[grp] == SignalGroupTypeObject ) {
numAudioObjects += bsNumberOfSignals[grp] + 1;
}
if ( SignalGroupType[grp] == SignalGroupTypeSAOC ) {
numSAOCTransportChannels += bsNumberOfSignals[grp] + 1;
© ISO/IEC 2019 – All rights reserved 1

ISO/IEC 23008-3:2019/Amd.1:2019(E)

Table 14 (continued)
Syntax No. of bits Mnemonic
saocDmxLayoutPresent; 1 bslbf
if ( saocDmxLayoutPresent == 1 ) {
saocDmxChannelLayout = SpeakerConfig3d();
}
}
if ( SignalGroupType[grp] == SignalGroupTypeHOA ) {
numHOATransportChannels += bsNumberOfSignals[grp] + 1;
}
}
}
5.2.2.3 Core decoder configuration
In 5.2.2.3 replace Table 23 with:
Table 23 — Syntax of mpegh3daExtElementConfig()
Syntax No. of bits Mnemonic
mpegh3daExtElementConfig()
{
usacExtElementType            = escapedValue(4, 8, 16);
usacExtElementConfigLength   = escapedValue(4, 8, 16);

if (usacExtElementDefaultLengthPresent) { 1 uimsbf
usacExtElementDefaultLength = escapedValue(8, 16, 0) + 1;
} else {
usacExtElementDefaultLength = 0;
}
usacExtElementPayloadFrag; 1 uimsbf

switch (usacExtElementType) {
case ID_EXT_ELE_FILL:
/* No configuration element */
break;
case ID_EXT_ELE_MPEGS:
SpatialSpecificConfig();
break;
case ID_EXT_ELE_SAOC:
SAOCSpecificConfig();
break;
case ID_EXT_ELE_AUDIOPREROLL:
/* No configuration element */
a
The default entry for the usacExtElementType is used for unknown extElementTypes so that legacy
decoders can cope with future extensions.
2 © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2019/Amd.1:2019(E)

Table 23 (continued)
Syntax No. of bits Mnemonic
break;
case ID_EXT_ELE_UNI_DRC:
mpegh3daUniDrcConfig();
break;
case ID_EXT_ELE_OBJ_METADATA:
ObjectMetadataConfig();
break;
case ID_EXT_ELE_SAOC_3D:
SAOC3DSpecificConfig();
break;
case ID_EXT_ELE_HOA:
HOAConfig();
break;
case ID_EXT_ELE_FMT_CNVRTR
/* No configuration element */
break;
case ID_EXT_ELE_MCT:
MCTConfig();
break;
case ID_EXT_ELE_TCC:
TccConfig();
break;
case ID_EXT_ELE_HOA_ENH_LAYER:
HOAEnhConfig();
break;
case ID_EXT_ELE_HREP:
HREPConfig(current_signal_group);
break;
case ID_EXT_ELE_ENHANCED_OBJ_METADATA:
EnhancedObjectMetadataConfig();
break;
case ID_EXT_ELE_PROD_METADATA:
prodMetadataConfig();
break;
a
default:
while (usacExtElementConfigLength--) {
tmp; 8 uimsbf
}
break;
}
}
a
The default entry for the usacExtElementType is used for unknown extElementTypes so that legacy
decoders can cope with future extensions.

© ISO/IEC 2019 – All rights reserved 3

ISO/IEC 23008-3:2019/Amd.1:2019(E)

5.3.4 Core decoder configuration data elements
In 5.3.4 replace Table 75 with:
Table 75 — Value of usacExtElementType
usacExtElementType Value
ID_EXT_ELE_FILL 0
ID_EXT_ELE_MPEGS 1
ID_EXT_ELE_SAOC 2
ID_EXT_ELE_AUDIOPREROLL 3
ID_EXT_ELE_UNI_DRC 4
ID_EXT_ELE_OBJ_METADATA 5
ID_EXT_ELE_SAOC_3D 6
ID_EXT_ELE_HOA 7
ID_EXT_ELE_FMT_CNVRTR 8
ID_EXT_ELE_MCT 9
ID_EXT_ELE_TCC 10
ID_EXT_ELE_HOA_ENH_LAYER 11
ID_EXT_ELE_HREP 12
ID_EXT_ELE_ENHANCED_OBJ_METADATA 13
ID_EXT_ELE_PROD_METADATA 14
/* reserved for ISO use */ 15-127
/* reserved for use outside of ISO scope */ 128 and higher
NOTE  Application-specific usacExtElementType values are mandated to be in the space reserved for
use outside of ISO scope. These are skipped by a decoder as a minimum of structure is required by
the decoder to skip these extensions.

In 5.3.4 replace Table 76 with:
Table 76 — Interpretation of data blocks for extension payload decoding
usacExtElementType The concatenated usacExtElementSegmentData
represents:
ID_EXT_ELE_FILL Series of fill_byte
ID_EXT_ELE_MPEGS SpatialFrame() as defined in ISO/IEC 23003-1
ID_EXT_ELE_SAOC SAOCFrame() as defined in ISO/IEC 23003-2
ID_EXT_ELE_AUDIOPREROLL AudioPreRoll()
ID_EXT_ELE_UNI_DRC uniDrcGain() as defined in ISO/IEC 23003-4
ID_EXT_ELE_OBJ_METADATA objectMetadataFrame()
ID_EXT_ELE_SAOC_3D Saoc3DFrame()
ID_EXT_ELE_HOA HOAFrame()
ID_EXT_ELE_FMT_CNVRTR FormatConverterFrame()
ID_EXT_ELE_MCT MultichannelCodingFrame()
ID_EXT_ELE_TCC TccGroupOfSegments()
ID_EXT_ELE_HOA_ENH_LAYER HOAEnhFrame()
ID_EXT_ELE_HREP HREPFrame(outputFrameLength, current_signal_group)
ID_EXT_ELE_ENHANCED_OBJ_METADATA EnhancedObjectMetadataFrame()
4 © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2019/Amd.1:2019(E)

Table 76 (continued)
usacExtElementType The concatenated usacExtElementSegmentData
represents:
ID_EXT_ELE_PROD_METADATA prodMetadataFrame()
unknown Unknown data. The data block shall be discarded.

12.2.1 Configuration of HOA elements
In subclause 12.2.1 replace Table 188 with:
Table 188 — Syntax of HOADecoderConfig()
Syntax No. of bits Mnemonic
HOADecoderConfig(numHOATransportChannels)
{
MinAmbHoaOrder = escapedValue(3,5,0) – 1; 3,8 uimsbf
MinNumOfCoeffsForAmbHOA = (MinAmbHoaOrder + 1)^2;
NumOfAdditionalCoders = numHOATransportChannels –
MinNumOfCoeffsForAmbHOA;
NumLayers = 1;
NumHOAChannelsLayer[0] = numHOATransportChannels;
if(SingleLayer == 0){ 1 bslbf
HOALayerChBits = ceil(log2(NumOfAdditionalCoders));
NumHOAChannelsLayer[0] = codedLayerCh + HOALayerChBits uimsbf
MinNumOfCoeffsForAmbHOA;
remainingCh = numHOATransportChannels –
NumHOAChannelsLayer[0];
while (remainingCh>1) {
HOALayerChBits = ceil(log2(remainingCh));
NumHOAChannelsLayer[NumLayers] = HOALayerChBits uimsbf
NumHOAChannelsLayer[NumLayers-1] +
codedLayerCh + 1;
remainingCh = numHOATransportChannels –
NumHOAChannelsLayer[NumLayers];
NumLayers++;
}
if (remainingCh) {
NumHOAChannelsLayer[NumLayers] =
numHOATransportChannels;
NumLayers++;
}
}
CodedSpatialInterpolationTime; 3 uimsbf
SpatialInterpolationMethod; 1 bslbf
NOTE  MinAmbHoaOrder = 30 … 37 are reserved. HOAFrameLengthIndicator = 3 is reserved. CodedVVecLength = 3 is
reserved.
© ISO/IEC 2019 – All rights reserved 5

ISO/IEC 23008-3:2019/Amd.1:2019(E)

Table 188 (continued)
Syntax No. of bits Mnemonic
CodedVVecLength; 2 uimsbf
MaxGainCorrAmpExp; 3 uimsbf
HOAFrameLengthIndicator; 2 uimsbf

if( MinAmbHoaOrder < HoaOrder ) {
DiffOrderBits = ceil( log2(HoaOrder- MinAmbHoaOrder+1))
MaxHoaOrderToBeTransmitted = DiffOrder + DiffOrderBits uimsbf
MinAmbHoaOrder;
}
else {
MaxHoaOrderToBeTransmitted = HoaOrder;
}
MaxNumOfCoeffsToBeTransmitted =
(MaxHoaOrderToBeTransmitted + 1)^2;
MaxNumAddActiveAmbCoeffs =
MaxNumOfCoeffsToBeTransmitted
- MinNumOfCoeffsForAmbHOA;
VqConfBits = ceil ( log2( ceil( log2( NumOfHoaCoeffs+1 ))));
NumVVecVqElementsBits; VqConfBits uimsbf
if( MinAmbHoaOrder == 1) {
UsePhaseShiftDecorr; 1 bslbf
}
if(SingleLayer==1) {
HOADecoderEnhConfig();
}
AmbAsignmBits = ceil( log2( MaxNumAddActiveAmbCoeffs ) );
ActivePredIdsBits = ceil( log2( NumOfHoaCoeffs ) );
i = 1;
while( i * ActivePredIdsBits
+ ceil( log2( i ) ) < NumOfHoaCoeffs ){
i++;
}
NumActivePredIdsBits = ceil( log2( max( 1, i – 1 ) ) );
GainCorrPrevAmpExpBits = ceil( log2( ceil( log2(
1.5 * NumOfHoaCoeffs ) )
+ MaxGainCorrAmpExp + 1 ) );
for (i=0; i AmbCoeffTransitionState[i] = 3;
}
}
NOTE  MinAmbHoaOrder = 30 … 37 are reserved. HOAFrameLengthIndicator = 3 is reserved. CodedVVecLength = 3 is
reserved.
6 © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2019/Amd.1:2019(E)

14.2.1 Main MHAS syntax elements
In 14.2.1 replace Table 220 with:
Table 220 — Syntax of MHASPacketPayload()
Syntax No. of bits Mnemonic
MHASPacketPayload(MHASPacketType)
{
switch (MHASPacketType) {
...


© ISO/IEC 2019 – All rights reserved

ISO/IEC JTC 1/SC 29
Date 2018-08-03
Deleted: FDAM
ISO/IEC 23008-3:2015/Amd 1:2019(E)
ISO/IEC JTC 1/SC 29/WG 11
Secretariat: JISC
Information technology — High efficiency coding and media delivery in
heterogeneous environments — Part 3: 3D audio, AMENDMENT 1: Audio
Metadata Enhancements
ISO/IEC 23008-3:2015/Amd 1:2019(E)
© ISO 2018, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or
utilized otherwise in any form or by any means, electronic or mechanical, including photocopying,
or posting on the internet or an intranet, without prior written permission. Permission can be
requested from either ISO at the address below or ISO’s member body in the country of the
requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH‐1214 Vernier, Geneva, Switzerland
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2015/Amd 1:2019(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Deleted: is a
Commission) form the specialized system for worldwide standardization. National bodies that are
Deleted: federation of national
members of ISO or IEC participate in the development of International Standards through technical
standards
committees established by the respective organization to deal with particular fields of technical activity.
Deleted: (
ISO and IEC technical committees collaborate in fields of mutual interest. Other international
Deleted: member bodies). The
organizations, governmental and non‐governmental, in liaison with ISO and IEC, also take part in the
work
work.
Deleted: preparing
Deleted: is normally carried out
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the
Deleted: ISO
different types of ISO documents should be noted. This document was drafted in accordance with the
Deleted: . Each member body
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
interested in a subject for which a
technical committee has been
Attention is drawn to the possibility that some of the elements of this document may be the subject of
Deleted: has the right to be
patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of
represented on that committee.
any patent rights identified during the development of the document will be in the Introduction and/or International
on the ISO list of patent declarations received (see www.iso.org/patents).
Deleted: ISO collaborates closely
with the International
Any trade name used in this document is information given for the convenience of users and does not Electrotechnical Commission (IEC)
on all matters of electrotechnical
constitute an endorsement.
standardization.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and Deleted: on
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT)
see: www.iso.org/iso/foreword.html.
This document was prepared by Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 23008 series can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www.iso.org/members.html.
© ISO/IEC 2019 – All rights reserved iii

ISO/IEC 23008-3:2015/Amd 1:2019(E)
Information technology — High efficiency coding and media
delivery in heterogeneous environments — Part 3: 3D audio,
AMENDMENT 1: Audio Metadata Enhancements

5.2.2.1 General configuration syntax
In subclause 5.2.2.1 replace Table 14 with:
Table 14 — Syntax of Signals3d()
Syntax No. of bits Mnemonic
Signals3d()
{
numAudioChannels = 0;
numAudioObjects = 0;
numSAOCTransportChannels = 0;
numHOATransportChannels = 0;

bsNumSignalGroups; 5 uimsbf
for ( grp = 0; grp < bsNumSignalGroups + 1 ; grp++ ) {
signal_groupID[grp] = grp;
differsFromReferenceLayout[grp] = 0;
signalGroupType[grp]; 3 bslbf
bsNumberOfSignals[grp] = escapedValue(5, 8, 16);
if ( SignalGroupType[grp] == SignalGroupTypeChannels ) {
numAudioChannels += bsNumberOfSignals[grp] + 1;
differsFromReferenceLayout[grp]; 1 bslbf
if(differsFromReferenceLayout[grp]) {
audioChannelLayout[grp] = SpeakerConfig3d();
}
else {
audioChannelLayout[grp] = referenceLayout;
}
}
if ( SignalGroupType[grp] == SignalGroupTypeObject ) {
numAudioObjects += bsNumberOfSignals[grp] + 1;
}
if ( SignalGroupType[grp] == SignalGroupTypeSAOC ) {
numSAOCTransportChannels += bsNumberOfSignals[grp] + 1;
© ISO/IEC 2019 – All rights reserved 1

ISO/IEC 23008-3:2015/Amd 1:2019(E)
saocDmxLayoutPresent; 1 bslbf
if ( saocDmxLayoutPresent == 1 ) {
saocDmxChannelLayout = SpeakerConfig3d();
}
}
if ( SignalGroupType[grp] == SignalGroupTypeHOA ) {
numHOATransportChannels += bsNumberOfSignals[grp] + 1;
}
}
}
5.2.2.3 Core decoder configuration
In 5.2.2.3 replace Table 23 with:
Table 23 — Syntax of mpegh3daExtElementConfig()
Syntax No. of bits Mnemonic
mpegh3daExtElementConfig()
{
usacExtElementType = escapedValue(4, 8, 16);
usacExtElementConfigLength = escapedValue(4, 8, 16);

if (usacExtElementDefaultLengthPresent) { 1 uimsbf
usacExtElementDefaultLength = escapedValue(8, 16, 0) + 1;
} else {
usacExtElementDefaultLength = 0;
}
usacExtElementPayloadFrag; 1 uimsbf

switch (usacExtElementType) {
case ID_EXT_ELE_FILL:
/* No configuration element */
break;
case ID_EXT_ELE_MPEGS:
SpatialSpecificConfig();
break;
case ID_EXT_ELE_SAOC:
SAOCSpecificConfig();
break;
case ID_EXT_ELE_AUDIOPREROLL:
/* No configuration element */
2 © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2015/Amd 1:2019(E)
break;
case ID_EXT_ELE_UNI_DRC:
mpegh3daUniDrcConfig();
break;
case ID_EXT_ELE_OBJ_METADATA:
ObjectMetadataConfig();
break;
case ID_EXT_ELE_SAOC_3D:
SAOC3DSpecificConfig();
break;
case ID_EXT_ELE_HOA:
HOAConfig();
break;
case ID_EXT_ELE_FMT_CNVRTR
/* No configuration element */
break;
case ID_EXT_ELE_MCT:
MCTConfig();
break;
case ID_EXT_ELE_TCC:
TccConfig();
break;
case ID_EXT_ELE_HOA_ENH_LAYER:
HOAEnhConfig();
break;
case ID_EXT_ELE_HREP:
HREPConfig(current_signal_group);
break;
case ID_EXT_ELE_ENHANCED_OBJ_METADATA:
EnhancedObjectMetadataConfig();
break;
case ID_EXT_ELE_PROD_METADATA:
prodMetadataConfig();
break;
a
default:
while (usacExtElementConfigLength‐‐) {
tmp; 8 uimsbf
}
break;
}
© ISO/IEC 2019 – All rights reserved 3

ISO/IEC 23008-3:2015/Amd 1:2019(E)
}
a
The default entry for the usacExtElementType is used for unknown extElementTypes so that legacy decoders can
cope with future extensions.
5.3.4 Core decoder configuration data elements
In 5.3.4 replace Table 75 with:
Table 75 — Value of usacExtElementType
usacExtElementType Value
ID_EXT_ELE_FILL 0
ID_EXT_ELE_MPEGS 1
ID_EXT_ELE_SAOC 2
ID_EXT_ELE_AUDIOPREROLL 3
ID_EXT_ELE_UNI_DRC 4
ID_EXT_ELE_OBJ_METADATA 5
ID_EXT_ELE_SAOC_3D 6
ID_EXT_ELE_HOA 7
ID_EXT_ELE_FMT_CNVRTR 8
ID_EXT_ELE_MCT 9
ID_EXT_ELE_TCC 10
ID_EXT_ELE_HOA_ENH_LAYER 11
ID_EXT_ELE_HREP 12
ID_EXT_ELE_ENHANCED_OBJ_METADATA 13
ID_EXT_ELE_PROD_METADATA 14
/* reserved for ISO use */ 15‐127
/* reserved for use outside of ISO scope */ 128 and higher
NOTE Application‐specific usacExtElementType values are mandated to be in the space reserved for use
outside of ISO scope. These are skipped by a decoder as a minimum of structure is required by the decoder
to skip these extensions.
In 5.3.4 replace Table 76 with:
Table 76 — Interpretation of data blocks for extension payload decoding
usacExtElementType The concatenated usacExtElementSegmentData
represents:
ID_EXT_ELE_FILL Series of fill_byte
ID_EXT_ELE_MPEGS SpatialFrame() as defined in ISO/IEC 23003‐1
ID_EXT_ELE_SAOC SAOCFrame() as defined in ISO/IEC 23003‐2
ID_EXT_ELE_AUDIOPREROLL AudioPreRoll()
ID_EXT_ELE_UNI_DRC uniDrcGain() as defined in ISO/IEC 23003‐4
ID_EXT_ELE_OBJ_METADATA objectMetadataFrame()
ID_EXT_ELE_SAOC_3D Saoc3DFrame()
4 © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2015/Amd 1:2019(E)
ID_EXT_ELE_HOA HOAFrame()
ID_EXT_ELE_FMT_CNVRTR FormatConverterFrame()
ID_EXT_ELE_MCT MultichannelCodingFrame()
ID_EXT_ELE_TCC TccGroupOfSegments()
ID_EXT_ELE_HOA_ENH_LAYER HOAEnhFrame()
ID_EXT_ELE_HREP HREPFrame(outputFrameLength,
current_signal_group)
ID_EXT_ELE_ENHANCED_OBJ_METADATA EnhancedObjectMetadataFrame()
ID_EXT_ELE_PROD_METADATA prodMetadataFrame()
Deleted: unknown
unknown Unknown data. The data block shall be discarded.

12.2.1 Configuration of HOA elements
In subclause 12.2.1 replace Table 188 with:
Table 188 — Syntax of HOADecoderConfig()
Syntax No. of bits Mnemonic
HOADecoderConfig(numHOATransportChannels)
{
MinAmbHoaOrder = escapedValue(3,5,0) – 1; 3,8 uimsbf
MinNumOfCoeffsForAmbHOA = (MinAmbHoaOrder + 1)^2;
NumOfAdditionalCoders = numHOATransportChannels –
MinNumOfCoeffsForAmbHOA;
NumLayers = 1;
NumHOAChannelsLayer[0] = numHOATransportChannels;
if(SingleLayer == 0){ 1 bslbf
HOALayerChBits = ceil(log2(NumOfAdditionalCoders));
NumHOAChannelsLayer[0] = codedLayerCh + HOALayerChBi uimsbf
ts
MinNumOfCoeffsForAmbHOA;
remainingCh = numHOATransportChannels –
NumHOAChannelsLayer[0];
while (remainingCh>1) {
HOALayerChBits = ceil(log2(remainingCh));
NumHOAChannelsLayer[NumLayers] = HOALayerChBi uimsbf
ts
NumHOAChannelsLayer[NumLayers‐1] +
codedLayerCh + 1;
remainingCh = numHOATransportChannels –
NumHOAChannelsLayer[NumLayers];
NumLayers++;
}
if (remainingCh) {
NumHOAChannelsLayer[NumLayers] =
© ISO/IEC 2019 – All rights reserved 5

ISO/IEC 23008-3:2015/Amd 1:2019(E)
numHOATransportChannels;
NumLayers++;
}
}
CodedSpatialInterpolationTime; 3 uimsbf
SpatialInterpolationMethod; 1 bslbf
CodedVVecLength; 2 uimsbf
MaxGainCorrAmpExp; 3 uimsbf
HOAFrameLengthIndicator; 2 uimsbf

if( MinAmbHoaOrder < HoaOrder ) {
DiffOrderBits = ceil( log2(HoaOrder‐ MinAmbHoaOrder+1))
MaxHoaOrderToBeTransmitted = DiffOrder + DiffOrderBits uimsbf
MinAmbHoaOrder;
}
else {
MaxHoaOrderToBeTransmitted = HoaOrder;
}
MaxNumOfCoeffsToBeTransmitted =
(MaxHoaOrderToBeTransmitted + 1)^2;
MaxNumAddActiveAmbCoeffs =
MaxNumOfCoeffsToBeTransmitted
‐ MinNumOfCoeffsForAmbHOA;
VqConfBits = ceil ( log2( ceil( log2( NumOfHoaCoeffs+1 ))));
NumVVecVqElementsBits; VqConfBits uimsbf
Deleted: ¶
if( MinAmbHoaOrder == 1) {
its
... [1]
UsePhaseShiftDecorr; 1 bslbf
}
if(SingleLayer==1) {
HOADecoderEnhConfig();
}
AmbAsignmBits = ceil( log2( MaxNumAddActiveAmbCoeffs ) );
ActivePredIdsBits = ceil( log2( NumOfHoaCoeffs ) );
i = 1;
while( i * ActivePredIdsBits
+ ceil( log2( i ) ) < NumOfHoaCoeffs ){
i++;
}
NumActivePredIdsBits = ceil( log2( max( 1, i – 1 ) ) );
GainCorrPrevAmpExpBits = ceil( log2( ceil( log2(
6 © ISO/IEC 2019 – All rights reserved

ISO/IEC 23008-3:2015/Amd 1:2019(E)
1.5 * NumOfHoaCoeffs ) )
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.