ISO/IEC 23003-2:2010/Amd 1:2015
(Amendment)Information technology — MPEG audio technologies — Part 2: Spatial Audio Object Coding (SAOC) — Amendment 1: SAOC conformance
Information technology — MPEG audio technologies — Part 2: Spatial Audio Object Coding (SAOC) — Amendment 1: SAOC conformance
Technologies de l'information — Technologies audio MPEG — Partie 2: Codage d'objet audio spatial (SAOC) — Amendement 1: Conformité SAOC
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23003-2
First edition
2010-10-01
AMENDMENT 1
2015-05-01
Information technology — MPEG
audio technologies —
Part 2:
Spatial Audio Object Coding (SAOC)
AMENDMENT 1: SAOC conformance
Technologies de l’information — Technologies audio MPEG —
Partie 2: Codage d’objet audio spatial (SAOC)
AMENDEMENT 1: Conformité SAOC
Reference number
ISO/IEC 23003-2:2010/Amd.1:2015(E)
©
ISO/IEC 2015
---------------------- Page: 1 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2015
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
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2015 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(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. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.
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 document 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 and IEC 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 on the meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO’s adherence to the WTO principles in the Technical Barriers
to Trade (TBT) see the following URL: Foreword - Supplementary information
The committee responsible for this document is ISO/IEC JTC 1, Information technology, SC 29, Coding of
audio, picture, multimedia and hypermedia information.
© ISO/IEC 2015 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
Information technology — MPEG audio technologies —
Part 2:
Spatial Audio Object Coding (SAOC)
AMENDMENT 1: SAOC conformance
Add Clause 10, Conformance testing:
10 Conformance testing
10.1 Introduction
This Clause specifies conformance criteria for both bitstreams and decoders compliant with the SAOC
standard as defined in Clauses 1 to 9. This is done to assist implementers and to ensure interoperability.
10.2 Terms and definitions
The terms and definitions as stated in Clause 3 apply. Furthermore, the following terms and definitions
will be used throughout this Clause.
Bitstream data encoded according to the SAOC standard
conformance test bitstream bitstream used for testing the conformance of an SAOC
10.3 SAOC conformance testing
Subclause 5.5 defines the SAOC profiles and levels. Some conformance criteria apply to SAOC in general,
while others are specific to the specific SAOC profile and its levels. Conformance shall be tested for the
level of the profile with which a given bitstream or decoder/transcoder claims to comply.
10.4 Bitstreams
10.4.1 Characteristics
The SAOC audio object type (AOT) can be used in combination with various AOTs.
10.4.2 Test procedure
10.4.2.1 Introduction
An SAOC bitstream shall have the syntax and semantics as specified in Clauses 1 to 9. The present
subclause defines the conformance criteria that shall be fulfilled by a compliant bitstream. These
criteria are specified for the syntactic elements of the bitstream and for some parameters decoded from
the SAOC bitstream payload.
10.4.2.2 Configuration header
© ISO 2015 – All rights reserved 1
---------------------- Page: 4 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
10.4.2.2.1 SAOCSpecificConfig()
bsSamplingFrequencyIndex Shall be in the range 0x0.0xc or 0xf. For further restrictions, see 10.4.2.5
bsSamplingFrequency For restrictions, see 10.4.2.5
bsLowDelayMode For restrictions, see 10.4.2.5
bsFreqRes Shall not be encoded with a value of 0. For further restrictions, see 10.4.2.5
bsFrameLength For restrictions, see 10.4.2.5
bsNumObjects For restrictions, see 10.4.2.5
bsRelatedTo[i][j] No restrictions apply
bsTransmitAbsNrg No restrictions apply
bsNumDmxChannels For restrictions, see 10.4.2.5
bsTttDualMode No restrictions apply
bsTttBandsLow Shall not be encoded with a value larger than the value of numBands
as given by Table 33
bsPdgFlag No restrictions apply
bsOneIOC No restrictions apply
bsDcuFlag No restrictions apply
bsDcuMandatory No restrictions apply
bsDcuDynamic No restrictions apply
bsDcuMode No restrictions apply
bsDcuParam No restrictions apply
10.4.2.2.2 SAOCExtensionConfigData()
bsSaocExtType No restrictions apply. Note that in case of values indicated as “Reserved” in Table 43,
the parsing function SAOCExtensionConfigData(bsSaocExtType) shall return the value 0, such that possibly
present data is read as bsFillBits (i.e., skipped) and correct parsing of the bitstream can continue.
bsSaocExtLen No restrictions apply
bsSaocExtLenAdd No restrictions apply
bsSaocExtLenAddAdd No restrictions apply
bsFillBits No restrictions apply
10.4.2.2.3 SAOCExtensionConfigData(0)
The syntactic element SAOCExtensionConfigData(0) shall not be present in case of LD profile and baseline
profile level 1. Furthermore, this syntactic element shall not be present if the helper variable numSlots
2 © ISO 2015 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
has a value that is not listed in Table 55 in ISO/IEC 23003-1:2007. Furthermore, if this syntactic element
is present, the bitstream shall fulfil the requirements outlined in 6.1.13 in ISO/IEC 23003-1:2007. For
further restrictions, see 10.4.2.5.
bsDcuFlag2 No restrictions apply
bsDcuMode2 No restrictions apply
bsDcuParam2 No restrictions apply
10.4.2.2.3.1 ResidualConfig()
bsResidualSamplingFrequencyIndex Shall fulfil the requirements outlined in 6.1.13 and Table 88 in
ISO/IEC 23003-1:2007
bsResidualFramesPerSAOCFrame Shall fulfil the requirements outlined in 6.1.13 and Table 87 in
ISO/IEC 23003-1:2007
bsNumGroupsFGO For restrictions, see 10.4.2.5
bsResidualPresent[i] No restrictions apply
bsResidualBands[i] Shall not be encoded with a value larger than the value of bsT-
tnBandsLow[i]
bsTtnDualMode[i] No restrictions apply
bsTtnBandsLow[i] Shall not be encoded with a value larger than the value of num-
Bands as given by Table 33
10.4.2.2.4 SAOCExtensionConfigData(1)
None
10.4.2.2.5 SAOCExtensionConfigData(2)
Shall fulfil the requirements outlined in Table 51.
10.4.2.2.6 SAOCExtensionConfigData(3)
None
10.4.2.2.7 SAOCExtensionConfigData(8)
10.4.2.2.7.1 ObjectMetaData()
bsNumByteMetaData[i] No restrictions apply
bsMetaData[i][j] Shall be encoded in UTF-8 encoding format
10.4.2.2.8 SAOCExtensionConfigData(9)
© ISO 2015 – All rights reserved 3
---------------------- Page: 6 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
10.4.2.2.8.1 PresetConfig()
bsNumPresets No restrictions apply
bsNumBytePresetLabel[i] No restrictions apply
bsPresetLabel[i][j] Shall be encoded in UTF-8 encoding format
bsPresetMatrix No restrictions apply
10.4.2.2.8.2 PresetMatrixData()
bsPresetMatrixType Shall not be encoded with a value of 3
bsPresetMatrixElements[i][j] No restrictions apply
10.4.2.2.8.3 PresetMatrixData()
bsPresetUserDataIdentifier[i] Shall be encoded in UTF-8 encoding format
bsPresetUserDataLen No restrictions apply
10.4.2.2.9 SAOCExtensionConfigData(10)
10.4.2.2.9.1 SeparationMetaData()
bsNumSeparationPairs No restrictions apply
bsSeparationMainObjectID[i] No restrictions apply
bsSeparationSubObjectID[i] No restrictions apply
10.4.2.3 Bitstream payload
10.4.2.3.1 SAOCFrame()
bsIndependencyFlag No restrictions apply
10.4.2.3.1.1 SAOCFramingInfo()
bsFramingType No restrictions apply
bsNumParamSets For restrictions, see 10.4.2.5
bsParamSlot[i] Shall be in the range 0…bsFrameLength
4 © ISO 2015 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
10.4.2.3.1.2 EcDataSaoc()
bsXXXdataMode[i][j] Shall fulfil the requirements outlined in 6.1.13. Shall not be encoded
with the value 2 if EAO mode (residual coding) is applied
bsDataPairXXX[i][j] Shall have the value 0 if setIdx == dataSets-1. No further restrictions apply
bsQuantCoarseXXX[i][j] No restrictions apply
bsFreqResStrideXXX[i][j] No restrictions apply
10.4.2.3.1.3 SAOCEcDataPair()
bsPcmCodingXXX[i][j] No restrictions apply
10.4.2.3.1.4 SAOCDiffHuffData()
bsDiffType No restrictions apply
bsCodingScheme No restrictions apply
10.4.2.3.1.5 SAOCHuffData1D()
hcodFirstBand_XXX bsCodeW shall have a value out of a set of values as defined by column ‘code-
word’ of Tables A.2 and A.3, respectively, and shall have a length as defined by
the corresponding entry in column ‘length’
hcod1D_XXX_YY bsCodeW shall have a value out of a set of values as defined by column ‘code-
word’ of Tables A.4 and A.5, respectively, and shall have a length as defined by
the corresponding entry in column ‘length’
bsSign No restrictions apply
© ISO 2015 – All rights reserved 5
---------------------- Page: 8 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
10.4.2.3.1.6 SAOCHuffData2DFreqPair()
hcodLavIdx bsCodeW shall have a value out of a set of values as defined by column ‘code-
word’ of Table A.24, and shall have a length as defined by the corresponding
entry in column ‘length’
hcodFirstBand_XXX bsCodeW shall have a value out of a set of values as defined by column ‘code-
word’ of Tables A.2 and A.3, respectively, and shall have a length as defined
by the corresponding entry in column ‘length’
hcod2D_XXX_YY_FP_LL bsCodeW shall have a value out of a set of values as defined by column ‘code-
word’ of the applicable table out of Tables A.11 to A.22, and shall have a length
as defined by the corresponding entry in column ‘length’
hcod1D_XXX_YY bsCodeW shall have a value out of a set of values as defined by column ‘code-
word’ of Tables A.4 and A.5, respectively, and shall have a length as defined
by the corresponding entry in column ‘length’
bsSign No restrictions apply
10.4.2.3.2 SAOCExtensionFrame()
No restrictions apply. Note that in case of bsSaocExtType having values indicated as “reserved” in Table 54,
the parsing function SAOCExtensionFrameData(bsSaocExtType) shall return the value 0, such that
possibly present data is read as bsFillBits (i.e., skipped) and correct parsing of the bitstream can continue.
bsSaocExtLen No restrictions apply
bsSaocExtLenAdd No restrictions apply
bsFillBits No restrictions apply
10.4.2.3.3 SAOCExtensionFrameData(0)
bsDcuDynamicUpdate2 No restrictions apply
bsDcuMode2 No restrictions apply
bsDcuParam2 No restrictions apply
10.4.2.4 Transport of SAOC data
10.4.2.4.1 Transport in an MPEG environment
10.4.2.4.1.1 Introduction
In case of transport of SAOC data in an MPEG-4 environment, the following restrictions apply. In case
of SAOCSpecificConfig() is conveyed out-of-band, any in-band SAOCSpecificConfig() shall be identical to
the out-of-band one.
In case of embedding of MPEG SAOC data in MPEG-2/4 AAC payloads, the following restrictions apply.
There must be at least one extension_payload() element with extension_type==EXT_SAOC_DATA in each
AAC frame in order to enable immediate implicit signalling.
6 © ISO 2015 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
In case of embedding of MPEG SAOC data in MPEG-1/2 Layer I/II/III bistreams, the following restrictions
apply. The first bit of the ancSyncword must be byte-aligned with respect to the first bit of the 0xFFF
syncword of the MPEG-1/2 frame header. The AncDataElement() must be completely included in the
ancillary data of a single MPEG-1/2 frame. There must be at least one AncDataElement() in the ancillary
data of each MPEG-1/2 frame in order to enable immediate implicit signalling.
10.4.2.4.1.2 AncDataElement()
ancSyncword Shall be 0x473
ancType No restrictions apply
ancStart No restrictions apply
ancStop No restrictions apply
ancLenBytes No restrictions apply
ancLenBytesAdd No restrictions apply
ancCrcWord Shall have the value as determined by the procedure specified in 8.2.4
ancDataSegmentByte A data block formed by concatenation of ancDataSegmentByte as specified in
8.2.4 shall, if ancType==0x0 or ancType==0x1, constitute one SaocDataFrame()
syntax element, padded at the end to obtain an integer number of bytes
10.4.2.4.1.3 SaocDataFrame(saocHeaderFlag)
saocHeaderFlag No restrictions apply
saocHeaderLen No restrictions apply
saocHeaderLenAdd No restrictions apply
bsFillBits No restrictions apply
saocTimeAlignFlag No restrictions apply
saocTimeAlign Shall have an absolute value no larger than two times the number of samples
in the MPEG SAOC PCM frame as defined by bsFrameLength and bsSam-
plingFrequencyIndex or bsSamplingFrequency
10.4.2.4.2 Transport over PCM channels
10.4.2.4.2.1 Introduction
In case of transport of SAOC data over PCM channels, the following restrictions apply. The BuriedData()
data shall be embedded in the LSBs of the PCM channels. Typically, 16 bit PCM samples are used. However,
also other sample precisions shall be supported, e.g. 20 and 24 bits.
© ISO 2015 – All rights reserved 7
---------------------- Page: 10 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
10.4.2.4.2.2 BuriedDataHeader()
bsBDSyncword Shall be 0xAA95
bsBDChannels Shall have the value of the number of PCM channels in which the MPEG
SAOC data is embedded
bsBDFramelength Shall define a PCM buried data frame size which is exactly the same
as the MPEG SAOC PCM frame size defined by bsFrameLength and
bsSamplingFrequencyIndex or bsSamplingFrequency
bdBDSubframes Shall fulfil the restrictions outlined for this syntactic element in 8.3.3
bsBDReserved Shall be 0
bsBDAlloc[channel][subframe] Shall not exceed the value of n for n bit PCM samples
bsBDHeaderCrc shall fulfil the restrictions outlined for this syntactic element in 8.3.3
bsBDHeaderPadding Shall be 0
10.4.2.4.2.3 BuriedDataFrame()
bsBDFramePadding Shall be 0
10.4.2.4.2.4 BuriedDataElement()
bsBDType Each BuriedDataFrame() shall at least contain one BuriedDataElement() with
bsBDType set to the value of 4 or 5. In the case of file based applications, the first
frame shall contain a BuriedDataElement() with bsBDType set to the value of 5
bsBDID Shall be set to a value in the range of 0.7, each value shall be used only once in
a BuriedDataFrame()
bsBDLengthIdx No restrictions apply
bsBDLength Shall fulfil the restriction outlined for this syntactic element in 8.3.3
bsBDBytes Shall contain exactly one SaocDataFrame()
bsBDDataCrc Shall fulfil the restrictions outlined for this syntactic element in 8.3.3
10.4.2.5 Restrictions depending on profiles and levels
10.4.2.5.1 Introduction
Depending on the profile and level associated with the present SAOC bitstream, further restrictions may
apply.
8 © ISO 2015 – All rights reserved
---------------------- Page: 11 ----------------------
ISO/IEC 23003-2:2010/Amd.1:2015(E)
10.4.2.5.2 Baseli
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.