ISO/IEC 23003-1:2007/Amd 1:2008
(Amendment)Information technology — MPEG audio technologies — Part 1: MPEG Surround — Amendment 1: Conformance testing
Information technology — MPEG audio technologies — Part 1: MPEG Surround — Amendment 1: Conformance testing
Technologies de l'information — Technologies audio MPEG — Partie 1: Ambiance MPEG — Amendement 1: Essai de conformité
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23003-1
First edition
2007-02-15
AMENDMENT 1
2008-08-15
Information technology — MPEG audio
technologies —
Part 1:
MPEG Surround
AMENDMENT 1: Conformance testing
Technologies de l'information — Technologies audio MPEG —
Partie 1: Ambiance MPEG
AMENDEMENT 1: Essai de conformité
Reference number
ISO/IEC 23003-1:2007/Amd.1:2008(E)
©
ISO/IEC 2008
---------------------- Page: 1 ----------------------
ISO/IEC 23003-1:2007/Amd.1:2008(E)
PDF disclaimer
PDF files may contain embedded typefaces. In accordance with Adobe's licensing policy, such files may be printed or viewed but shall
not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading a PDF file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create the PDF file(s) constituting this document can be found in the General Info relative to
the file(s); the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the files are suitable for
use by ISO member bodies. In the unlikely event that a problem relating to them is found, please inform the Central Secretariat at the
address given below.
This CD-ROM contains:
1) the publication ISO/IEC 23003-1:2007/Amd.1:2008 in portable document format (PDF), which can be
viewed using Adobe® Acrobat® Reader;
2) electronic attachments for conformance testing of MPEG Surround.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2008
All rights reserved. Unless required for installation or otherwise specified, no part of this CD-ROM may be reproduced, stored in a retrieval
system or transmitted in any form or by any means without prior permission from ISO. Requests for permission to reproduce this product
should be addressed to
ISO copyright office • Case postal
...
INTERNATIONAL ISO/IEC
STANDARD 23003-1
First edition
2007-02-15
AMENDMENT 1
2008-08-15
Information technology — MPEG audio
technologies —
Part 1:
MPEG Surround
AMENDMENT 1: Conformance testing
Technologies de l'information — Technologies audio MPEG —
Partie 1: Ambiance MPEG
AMENDEMENT 1: Essai de conformité
Reference number
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
©
ISO/IEC 2008
---------------------- Page: 1 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2008
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing 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 2008 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(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.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
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.
Amendment 1 to ISO/IEC 23003-1:2007 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
⎯ Part 1: MPEG Surround
© ISO/IEC 2008 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
Information technology — MPEG audio technologies —
Part 1:
MPEG Surround
AMENDMENT 1: Conformance testing
After Clause 7, add a new clause, Conformance testing, as given below:
8 Conformance testing
8.1 Introduction
This clause specifies conformance criteria for both bitstreams and decoders compliant with the MPEG
Surround standard as defined in Clauses 1 to 7. This is done to assist implementers and to ensure
interoperability.
8.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 MPEG Surround standard.
conformance test bitstream – A bitstream used for testing the conformance of an MPEG Surround decoder.
8.3 MPEG Surround conformance testing
Subclause 4.7 defines the Baseline MPEG Surround profile comprising 6 levels. Some conformance criteria
apply to MPEG Surround in general, while others are specific to the Baseline MPEG Surround profile and its
levels. Conformance shall be tested for the level of the profile with which a given bitstream or decoder claims
to comply.
8.4 Bitstreams
8.4.1 Characteristics
The MPEG Surround AOT can be used in combination with various audio object types.
8.4.2 Test procedure
8.4.2.1 Introduction
An MPEG Surround bitstream shall have the syntax and semantics as specified in Clauses 1 to 7. This
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 MPEG
Surround bitstream payload.
© ISO/IEC 2008 – All rights reserved 1
---------------------- Page: 4 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.4.2.2 Configuration header
8.4.2.2.1 SpatialSpecificConfig()
bsSamplingFrequencyIndex
Shall be in the range 0x0.0xc or 0xf. For further restrictions, see 8.4.2.5.
bsSamplingFrequency For restrictions, see 8.4.2.5.
bsFrameLength For restrictions, see 8.4.2.5.
bsFreqRes Shall not be encoded with a value of 0.
bsTreeConfig Shall be in the range 0.6. For further restrictions, see 8.4.2.5.
bsQuantMode Shall not be encoded with a value of 3
bsOneIcc No restrictions apply.
bsArbitraryDownmix No restrictions apply.
bsFixedGainsSur Shall be in the range 0.4.
bsFixedGainsLFE Shall be in the range 0.4.
bsFixedGainsDMX No restrictions apply.
bsMatrixMode No restrictions apply.
bsTempShapeConfig Shall not be encoded with a value of 3.
bsDecorrConfig Shall not be encoded with a value of 3.
bs3DaudioMode No restrictions apply.
bsEnvQuantMode Shall be 0.
bs3DaudioHRTFset Shall be 0.
8.4.2.2.2 OttConfig()
bsOttBands Shall not be encoded with a value larger than the value of numBands as given by
Table 39.
8.4.2.2.3 TttConfig()
bsTttDualMode No restrictions apply.
bsTttModeLow Shall be in the range 0.5.
bsTttModeHigh Shall be in the range 0.5.
bsTttBandsLow Shall not be encoded with a value larger than the value of numBands as given by
Table 39.
8.4.2.2.4 ParamHRTFset()
bsHRTFfreqRes Shall not be encoded with a value of 0.
bsHRTFasymmetric No restrictions apply.
bsHRTFlevelLeft No restrictions apply.
bsHRTFlevelRight No restrictions apply.
bsHRTFphase No restrictions apply.
bsHRTFphaseLR No restrictions apply.
bsHRTFicc No restrictions apply.
bsHRTFiccLR No restrictions apply.
2 © ISO/IEC 2008 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.4.2.2.5 SpatialExtensionConfig()
bsSacExtType No restrictions apply. Note that in case of values indicated as “reserved” in Table 54,
the parsing function SpatialExtensionConfigData(bsSacExtType) 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.
bsSacExtLen No restrictions apply.
bsSacExtLenAdd No restrictions apply.
bsSacExtLenAddAdd No restrictions apply.
bsFillBits No restrictions apply.
8.4.2.2.6 SpatialExtensionConfigData(0)
The syntactic element SpatialExtensionConfigData(0) shall not be present if the helper variable numSlots has
a value that is not listed in Table 55. Furthermore, if this syntactic element is present, the bitstream shall fulfil
the requirements outlined in 6.1.13. For further restrictions, see 8.4.2.5.
bsResidualSamplingFrequencyIndex
Shall fulfil the requirements outlined in 6.1.13 and Table 88.
bsResidualFramesPerSpatialFrame
Shall fulfil the requirements outlined in 6.1.13 and Table 87.
8.4.2.2.7 ResidualConfig()
bsResidualPresent No restrictions apply.
bsResidualBands Shall not be encoded with a value larger than the value of bsOttbands.
8.4.2.2.8 SpatialExtensionConfigData(1)
The syntactic element SpatialExtensionConfigData(1) shall not be present if bsArbitraryDownmix is encoded
with the value of 0 or the helper variable numSlots has a value that is not listed in Table 55. Furthermore, if
this syntactic element is present, the bitstream shall fulfil the requirements outlined in 6.1.13.
bsArbitraryDownmixResidualSamplingFrequencyIndex
Shall fulfil the requirements outlined in 6.1.13 and Table 88.
bsArbitraryDownmixResidualFramesPerSpatialFrame
Shall fulfil the requirements outlined in 6.1.13 and Table 87.
bsArbitraryDownmixResidualBands
Shall not be encoded with a value larger than the value of numBands as given by
Table 39.
8.4.2.2.9 TreeConfig()
bsOttBoxPresent No restrictions apply.
bsOttDefaultCld No restrictions apply.
bsOttModeLfe No restrictions apply.
bsOttBands Shall not be encoded with a value larger than the value of numBands as given by
Table 39.
bsOutputChannelPos Shall be in the range 0.26.
For further restrictions, see 8.4.2.5.
© ISO/IEC 2008 – All rights reserved 3
---------------------- Page: 6 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.4.2.3 Bitstream payload
8.4.2.3.1 SpatialFrame()
bsIndependencyFlag No restrictions apply.
8.4.2.3.2 FramingInfo()
bsFramingType No restrictions apply.
bsNumParamSets For restrictions, see 8.4.2.5.
bsParamSlot[0] Shall be in the range 0.bsFrameLength.
bsDiffParamSlot[ps] Shall be in the range 0.bsFrameLength-bsParamSlot[ps-1]-1.
8.4.2.3.3 OttData()
No restrictions apply.
8.4.2.3.4 TttData()
ICC values of a certain Ttt box shall not be encoded with a value of 0 if (bsTttModeLow < 2 ||
(bsTttDualMode == 1 && bsTttModeHigh < 2)).
8.4.2.3.5 SmgData()
bsSmoothMode No restrictions apply.
bsSmoothTime No restrictions apply.
bsFreqResStrideSmg No restrictions apply.
bsSmgData No restrictions apply.
8.4.2.3.6 TempShapeData()
bsTempShapeEnable No restrictions apply.
bsTempShapeEnableChannel[ch]
No restrictions apply.
8.4.2.3.7 EnvelopeReshapeHuff()
hcod2D_EnvRes bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
of Table A.25, and shall have a length as defined by the corresponding entry in
column ‘length’.
8.4.2.3.8 ArbitraryDownmixData()
No restrictions apply.
8.4.2.3.9 EcData()
bsXXXdataMode shall fulfil the requirements outlined in 6.1.13. Shall not be encoded with the value 2
if residual coding is applied.
bsDataPairXXX Shall have the value 0 if setIdx == dataSets-1. No further restrictions apply.
bsQuantCoarseXXX No restrictions apply.
bsFreqResStrideXXX No restrictions apply.
4 © ISO/IEC 2008 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.4.2.3.10 EcDataPair()
bsPcmCodingXXX No restrictions apply.
bsPilotCodingXXX No restrictions apply.
8.4.2.3.11 GroupedPcmData()
bsPcmWord No restrictions apply.
8.4.2.3.12 DiffHuffData()
hcodPilot_XXX bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
of Tables A.2, A.3 or A.4, respectively, and shall have a length as defined by the
corresponding entry in column ‘length’.
bsDiffType No restrictions apply.
bsCodingScheme No restrictions apply.
bsPairing No restrictions apply.
bsDiffTimeDirection No restrictions apply.
8.4.2.3.13 HuffData1D()
hcodFirstBand_XXX bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
of Tables A.2, A.3 or A.4, 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 ‘codeword’
of Tables A.5, A.6 or A.7, respectively, and shall have a length as defined by the
corresponding entry in column ‘length’.
bsSign No restrictions apply.
8.4.2.3.14 HuffData2DFreqPair(), HuffData2DTimePair()
hcodLavIdx bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
of Table A.24, and shall have a length as defined by the corresponding entry in
column ‘length’.
hcod2D_XXX_YY_ZZ_LL_escape
bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
of Tables A.8, A.9 or A.10, respectively, and shall have a length as defined by the
corresponding entry in column ‘length’.
hcod2D_XXX_YY_ZZ_LL
bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
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’.
8.4.2.3.15 SymmetryData()
bsSymBit[i] No restrictions apply.
8.4.2.3.16 LsbData()
bsLsb For restrictions see 8.4.2.3.24.
8.4.2.3.17 SpatialExtensionFrame()
No restrictions apply. Note that in case of bsSacExtType having values indicated as “reserved” in Table 54,
the parsing function SpatialExtensionFrameData(bsSacExtType) 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.
© ISO/IEC 2008 – All rights reserved 5
---------------------- Page: 8 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.4.2.3.18 SpatialExtensionFrameData(0)
For restrictions see 8.4.2.5.
8.4.2.3.19 ResidualData()
bsIccDiffPresent[pi][ps] No restrictions apply.
hcod1D_ICC_Diff bsCodeW shall have a value out of a set of values as defined by column ‘codeword’
of Table A.23, and shall have a length as defined by the corresponding entry in
column ‘length’.
IccDiff[pi][ps][pb] The value of IccDiff[pi][ps][pb] shall not result in an invalid value for
idxICC[pi][ps][pb].
individual_channel_stream()
Shall fulfil the restrictions outlined for this syntactic element in 5.1 and 5.2 and
Tables 77 and 78.
8.4.2.3.20 SpatialExtensionFrameData(1)
No restrictions apply.
8.4.2.3.21 ArbitraryDownmixResidualData()
bsArbitraryDownmixResidualAbs[i]
No restrictions apply.
bsArbitraryDownmixResidualAlphaUpdateSet[i]
No restrictions apply.
individual_channel_stream()
Shall fulfil the restrictions outlined for this syntactic element in 5.1 and 5.2 and
Tables 77 and 78.
channel_pair_element() Shall fulfil the restrictions outlined for this syntactic element in 5.1 and 5.2 and
Tables 77 and 78. The parameter common_window shall be set to the value of 1.
8.4.2.3.22 SpatialExtensionFrameData(2)
No further restrictions apply.
8.4.2.3.23 ArbitraryTreeData()
No further restrictions apply.
8.4.2.3.24 Restrictions applying to decoded parameters
The following restrictions apply to parameters decoded from the MPEG Surround bitstream.
The helper variable idxXXX[pi][ps][pb] shall have values in the ranges as specified in 6.1.2.1 after the
corresponding decoding process defined in 6.1.2 was carried out for the present SpatialFrame().
l,k
If bs3DaudioMode has the value 1, then the absolute value of the determinant of H as defined in 6.11.5
Bin
shall be larger than or equal to 0.1, i.e.,
lk,
det H ≥0.1 .
( )
Bin
6 © ISO/IEC 2008 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.4.2.4 Transport of MPEG Surround data
8.4.2.4.1 Transport in an MPEG environment
8.4.2.4.1.1 Introduction
In case of transport of MPEG Surround data in an MPEG-4 environment, the following restrictions apply.
In case of SpatialSpecificConfig() is conveyed out-of-band, any in-band SpatialSpecificConfig() shall be
identical to the out-of-band one.
In case of embedding of MPEG Surround data in MPEG-2/4 AAC payloads, the following restrictions apply.
There must be at least one extension_payload() element with extension_type==EXT_SAC_DATA in each
AAC frame in order to enable immediate implicit signalling.
In case of embedding of MPEG Surround 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.
8.4.2.4.1.2 AncDataElement()
ancSyncword Shall be 0x8E4.
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 7.2.4.
ancDataSegmentByte A data block formed by concatenation of ancDataSegmentByte as specified in 7.2.4
shall, if ancType==0x0 or ancType==0x1, constitute one SacDataFrame() syntax
element, padded at the end to obtain an integer number of bytes.
8.4.2.4.1.3 SacDataFrame(sacHeaderFlag)
sacHeaderFlag No restrictions apply.
sacHeaderLen No restrictions apply.
sacHeaderLenAdd No restrictions apply.
bsFillBits No restrictions apply.
sacTimeAlignFlag No restrictions apply.
sacTimeAlign Shall have an absolute value no larger than two times the number of samples in the
MPEG Surround PCM frame as defined by bsFrameLength and
bsSamplingFrequencyIndex or bsSamplingFrequency.
8.4.2.4.2 Transport over PCM channels
8.4.2.4.2.1 Introduction
In case of transport of MPEG Surround data over PCM channels, the following restrictions apply.
© ISO/IEC 2008 – All rights reserved 7
---------------------- Page: 10 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
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.
8.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 Surround
data is embedded.
bsBDFramelength Shall define a PCM buried data frame size which is exactly the same as the MPEG
Surround PCM frame size defined by bsFrameLength and
bsSamplingFrequencyIndex or bsSamplingFrequency.
bdBDSubframes Shall fulfil the restrictions outlined for this syntactic element in 7.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 7.3.3.
bsBDHeaderPadding Shall be 0.
8.4.2.4.2.3 BuriedDataFrame()
bsBDFramePadding Shall be 0.
8.4.2.4.2.4 BuriedDataElement()
bsBDType Each BuriedDataFrame() shall at least contain one BuriedDataElement() with
bsBDType set to the value of 0 or 1. In the case of file based applications, the first
frame shall contain a BuriedDataElement() with bsBDType set to the value of 1.
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 7.3.3.
bsBDBytes Shall contain exactly one SacDataFrame().
bsBDDataCrc Shall fulfil the restrictions outlined for this syntactic element in 7.3.3.
8.4.2.5 Restrictions depending on profiles and levels
8.4.2.5.1 Introduction
Depending on the profile and level associated with the present MPEG Surround bitstream, further restrictions
may apply.
8.4.2.5.2 Baseline MPEG Surround profile
For the Baseline MPEG Surround Profile, the following further restrictions apply.
8 © ISO/IEC 2008 – All rights reserved
---------------------- Page: 11 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
bsSamplingFrequencyIndex
Shall be encoded with a value listed in Table AMD1.1.
bsSamplingFrequency Shall be encoded with a value listed in Table AMD1.1.
bsFrameLength Shall be in the range 3.71.
bsTreeConfig Shall be encoded with a value listed in Table AMD1.1.
Table AMD1.1 — Restrictions for the Baseline MPEG Surround Profile
Level 1 Level 2 Level 3 Level 4 Level 5 Level 6
bsSamplingFrequencyIndex
0x3.0xc, 0x3.0xc, 0x3.0xc, 0x3.0xc, 0x3.0xc, 0x0.0xc,
0xf 0xf 0xf 0xf 0xf 0xf
bsSamplingFrequency
<= 48000 <= 48000 <= 48000 <= 48000 <= 48000 <= 96000
bsTreeConfig
0.4 0.4 0.4 0.4 0.6 0.6
TreeConfig() After decoding of the syntactic element TreeConfig(), the helper variable
numOutChanAT shall have a value not larger than 32.
SpatialExtensionConfigData(0)
This syntactic element shall not be present in case of Level 1 or Level 2.
SpatialExtensionConfigData(1)
This syntactic element shall not be present.
bsNumParamSets Shall have a value not larger than bsFrameLength/4, where the division shall be
interpreted as an ANSI C integer division.
8.5 Decoders
8.5.1 Characteristics
8.5.1.1 General
The MPEG Surround decoder can be implemented in two different versions:
• High Quality MPEG Surround
• Low Power MPEG Surround
8.5.1.2 Baseline MPEG Surround profile
• The ability to skip over residual data embedded in the MPEG Surround bitstream payload is
mandatory for decoders of level 1 and 2. Decoders of level 3 and higher shall be able to decode and
apply a residual bitstream payload.
8.5.2 Test procedure
8.5.2.1 Downmix decoders
An MPEG Surround decoder can be used in combination with a downmix decoder. In this case, the downmix
decoder shall fulfil the conformance criteria that are applicable to it. If a downmix decoder other than PCM is
used, the MPEG Surround conformance test procedure uses a technique that removes the influence of a
potentially inaccurate downmix decoder to the maximum extent possible.
© ISO/IEC 2008 – All rights reserved 9
---------------------- Page: 12 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
8.5.2.2 MPEG Surround decoders
With regard to the definition and further details of the conformance criterion RMS/LSB being used to test
MPEG Surround decoders, reference is made to ISO/IEC 14496-4.
The conformance test procedure for MPEG Surround decoders internally creates a reference for comparison,
given the conformance test sequence and the output from the decoder under test. For cases where MPEG
surround is combined with a downmix codec other than PCM this is accomplished by having every MPEG
Surround conformance sequence be divided into two parts as outlined in Figure AMD1.1. The compressed
data of the downmix for the two parts is identical but the MPEG Surround payload of the first part signals
bsXXXdataMode = 0, causing the MPEG Surround decoder to pass the downmix signal through the QMF
filterbank without applying any of the MPEG Surround tools, while the second part contains the actual MPEG
Surround payload that is intended for use for conformance testing. This split does not exist for the
conformance sequences where PCM is used as downmix signal. In these cases the reference for comparison
is obtained directly from the PCM conformance sequence.
Figure AMD1.1 — The disposition of the MPEG Surround conformance test sequences
The conformance test procedure will
• read the conformance test sequence,
• store the output signal of the decoder under test during decoding of the first half of the bitstream.
Since this output signal is identical to the output-signal from the downmix decoder after QMF analysis and
QMF synthesis, it can by means of a polyphase correction filter, be approximated to be the same signal as
was used by the MPEG Surround decoder in the decoder under test.
For cases where the downmix decoder is connected directly in the QMF domain like the combination of AAC
and SBR (HE AAC), the MPEG Surround conformance test procedure can only approximate the output of the
decoder that was used prior to the QMF analysis step. The MPEG Surround conformance test sequences for
such decoder combinations are designed to keep the influence of the QMF domain based downmix decoder
minimal.
In parallel to storing the signal it shall also be fed to the reference MPEG Surround decoder along with the first
half of the compressed MPEG Surround conformance sequence. This way, the reference MPEG Surround
decoder will perform the exact same processing steps as the MPEG Surround decoder in the device under
test, thereby ensuring that all internal states of both decoders match. The output signal of this decoder shall
be compared to the input signal, i.e. the output signal of the decoder under test. This serves as a QMF test of
the first half of the conformance file.
For the second half of the compressed data, an MPEG Surround processed reference signal shall be created
based on the previously derived signal. This makes it possible to test the accuracy of the MPEG Surround
decoder alone without influence from the underlying downmix decoder. Furthermore, the accuracy of the QMF
implementation of the decoder under test is tested separately for every conformance sequence.
If HE AAC is used as downmix coder, and a complex QMF filter bank with a modified internal phase angle
(hereinafter referred to as twiddles) is used in the decoder under test, the al_sbr_twi_* sequences shall be
10 © ISO/IEC 2008 – All rights reserved
---------------------- Page: 13 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
tested first. For further information regarding these sequences, please refer to ISO/IEC 14496-4:2004,
6.6.17.2.2 (SBR conformance test procedure).
In order to ensure that the QMF is implemented correctly, the output from the QMF test specific sequences
*_qmf_* are compared to the internal reference applying the polyphase correction filter and storing the first
half of the test sequence. This is done to detect errors in the QMF implementation, which would otherwise
appear to be errors in the downmix decoder. By omitting the parts of the tool that are designed to neglect
differences in the downmix decoder implementation for the QMF specific sequences, it is ensured that the
QMF is implemented correctly.
If the decoder under test passes the conformance criterion for the dedicated QMF test sequences being
specified in Table AMD1.5, this is a good indication that the QMF implementation is accurate. However, it is
no definite guarantee, and hence it could happen that a QMF implementation that barely passes the
conformance for the QMF test, does not pass conformance for other parts of the system due to the QMF
implementation. Therefore, it is useful to observe the result from the QMF test for the first half for any of the
conformance sequences. This can give a good indication of the origin of a potential error.
Figure AMD1.2 outlines a flowchart of the MPEG Surround conformance test procedure.
Figure AMD1.2 — Block diagram of the MPEG Surround conformance test procedure
The relevant modules are:
• QMF inversion filtering: This module applies a polyphase correction filter that approximates the
inverse of the equivalent QMF filterbank in the decoder under test. The delay imposed by this module
⎛⎞K−1
is given by: delay=⋅64 , where K= 25 is the length of the polyphase filter. The polyphase
⎜⎟
2
⎝⎠
filter matrix H(,kl) of size 64×K is tabulated in Table AMD1.2. The polyphase filtering step
© ISO/IEC 2008 – All rights reserved 11
---------------------- Page: 14 ----------------------
ISO/IEC 23003-1:2007/Amd. 1:2008(E)
consists of the operation which maps a time signal x()n to yn() , where
K−1
yk(+=64i) H(k,l)x k+64(i−l) , k= 0,1,…,63. This module is not active for
()
∑
l=0
conformance bitstreams that use PCM as downmix signal.
• store / read: for the first half of the conformance test sequences this module stores the output of the
QMF and in parallel routes it to the reference MPEG Surround decoder. For the second half of the
conformance test sequences the signal that was stored from the first half is fed to the reference
MPEG Surround decoder again.
• MPEG Surround payload extraction: This module extracts the MPEG Surround bitstream from the
conformance test sequence and feeds it to the reference MPEG Surround decoder.
• Reference MPEG Surround decoder: This module is the reference MPEG Surround decoder
according to Clauses 1 to 7 and Annexes A and B.
Table AMD1.2 — Polyphase filter matrix H(,kl) of size 64×25
H[64][25] = {
{ 1.3994244e-07, 0.0000000e+00, -2.9058151e-07, 0.0000000e+00, -1.3757007e-05,
0.0000000e+00, -3.8711165e-04, 0.0000000e+00, 3.6186281e-04, 0.0000000e+00,
3.7702263e-04, 0.0000000e+00, 1.0000049e+00, 0.0000000e+00, 3.7702263e-04,
0.0000000e+00, 3.6186281e-04, 0.0000000e+00, -3.8711165e-04,
0.0000000e+00, -1.3757007e-05, 0.0000000e+00, -2.9058151e-07, 0.0000000e+00,
1.3994244e-07 },
{ 1.3964719e-07, 0.0000000e+00, -2.9742459e-07, 0.0000000e+00, -1.3181384e-05,
0.0000000e+00, -3.8654437e-04, 0.0000000e+00, 3.7214108e-04, 0.0000000e+00,
3.6667915e-04, 0.0000000e+00, 9.9999586e-01, 0.0000000e+00, 3.6667915e-04,
0.0000000e+00, 3.7214108e-04, 0.0000000e+00, -3.8654437e-04,
0.0000000e+00, -1.3181384e-05, 0.0000000e+00, -2.9742459e-07, 0.0000000e+00,
1.3964719e-07 },
{ 1.2357771e-07, 0.0000000e+00, -2.6251894e-07, 0.0000000e+00, -1.1825179e-05,
0.0000000e+00, -3.6305811e-04, 0.0000000e+00, 3.4969594e-04, 0.0000000e+00,
3.6185021e-04, 0.0000000e+00, 1.0000091e+00, 0.0000000e+00, 3.6185021e-04,
0.0000000e+00, 3.4969594e-04, 0.000
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.