ISO/IEC 23008-3:2015/Amd 2:2016
(Amendment)Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 3: 3D audio — Amendment 2: MPEG-H 3D Audio File Format Support
Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 3: 3D audio — Amendment 2: MPEG-H 3D Audio File Format Support
Technologies de l'information — Codage à haute efficacité et livraison des medias dans des environnements hétérogènes — Partie 3: Audio 3D — Amendement 2: Support de format fichier audio 3D MPEG-H
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23008-3
First edition
2015-10-15
AMENDMENT 2
2016-09-01
Information technology — High
efficiency coding and media delivery
in heterogeneous environments —
Part 3:
3D audio
AMENDMENT 2: MPEG-H 3D Audio File
Format Support
Technologies de l’information — Codage à haute efficacité et livraison
des medias dans des environnements hétérogènes —
Partie 3: Audio 3D
AMENDEMENT 2: Support de format fichier audio 3D MPEG-H
Reference number
ISO/IEC 23008-3:2015/Amd.2:2016(E)
©
ISO/IEC 2016
---------------------- Page: 1 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2016, 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 2016 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(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 2 to ISO/IEC 23008-3:2015 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
© ISO/IEC 2016 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
Information technology — High efficiency coding and
media delivery in heterogeneous environments —
Part 3:
3D audio
AMENDMENT 2: MPEG-H 3D Audio File Format Support
Page 346
Add the following as a new Clause 20
20 Carriage of MPEG-H 3D Audio in ISO base media file format
20.1 General
This clause specifies the carriage of MPEG-H 3D Audio in the ISO base media file format. 20.2 describes
the signalling of random access points for Immediate Play-out Frames (IPF) and independently
decodable frames (IF). 20.7 describes the additional signalling of dynamic range control and loudness
information that might be present in the encoded bitstream. 20.9 describes the additional signalling of
audio scene information data that might be present in the encoded bitstream.
20.2 Random Access and Stream Access
Frames that use AudioPreRoll() following the restrictions in 5.5.6 are considered to be Immediate Play-
out Frames (IPF) and shall be signalled by means of the sync sample box according to ISO/IEC 14496-
12:2015, 8.6.2.
Independently decodable Frames (IF) as described in 5.7 shall be signalled by means of the roll sample
group according to ISO/IEC 14496-12.
20.3 Overview of new box structures
mha1, * sample entry
mha2,
mhm1,
mhm2
mhaC configuration
mhaD dynamic range and loudness
maeM multi-stream
maeI audio scene information
maeG * group definition
maeS switch group definition
maeP preset definition
maeL text label definition
© ISO 2016 – All rights reserved 1
---------------------- Page: 4 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
20.4 MHA decoder configuration record
20.4.1 Definition
This clause specifies the decoder configuration information for MPEG-H 3D Audio (MHA) content.
This record contains a version field. This version of the specification defines version 1 of this record.
Incompatible changes to the record will be indicated by a change of version number. Readers must not
attempt to decode this record or the streams to which it applies if the version number is unrecognised.
20.4.2 Syntax
aligned(8) class MHADecoderConfigurationRecord {
unsigned int(8) configurationVersion = 1;
unsigned int(8) mpegh3daProfileLevelIndication;
unsigned int(8) referenceChannelLayout;
unsigned int(16) mpegh3daConfigLength;
bit(8*mpegh3daConfigLength) mpegh3daConfig;
}
20.4.3 Semantics
configurationVersion
shall be set to 1 in this version of the specification.
mpegh3daProfileLevelIndication
defined in 5.2.2.
referenceChannelLayout
ChannelConfiguration value defined in ISO/IEC 23001-8.
mpegh3daConfigLength
length in bytes of mpegh3daConfig.
mpegh3daConfig
the MPEGH-H 3DA configuration defined in this part of
ISO/IEC 23008.
20.5 MPEG-H Audio Sample Entry
20.5.1 Definition
Box Types: ‘mhaC’, ‘mha1’, ‘mha2’
Container: Sample Table Box (‘stbl’)
Mandatory: The mha1 box is mandatory
Quantity: One or more sample entries may be present
The MHASampleEntry shall contain a MHAConfigurationBox, as defined below. This includes the
MHADecoderConfigurationRecord as defined in 20.4. If the sample entry type is ‘mha1’, multiple
streams shall not be used. If the sample entry name is ‘mha2’, multiple streams may be used.
If an ‘mha1’ or ‘mha2’ MHASampleEntry is present, each sample of the appropriate Track
shall contain exactly one mpegh3daFrame as defined in this part of ISO/IEC 23008. An optional
MPEG4BitRateBox may be present in the MHASampleEntry to signal the bit rate information of the
MHA stream. Extension descriptors that should be inserted into the Elementary Stream Descriptor,
when used in MPEG-4, may also be present. Other boxes may be present in the MHASampleEntry.
When multiple streams are used, the MHADecoderConfigurationRecord for each track shall
correspond to the appropriate mpegh3daFrame of that track.
The following optional boxes inherited from AudioSampleEntry from ISO/IEC 14496-12/Amd
4:2015 shall not be present
— DownMixInstructions()
— DRCCoefficientsBasic()
— DRCInstructionsBasic()
2 © ISO 2016 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
— DRCCoefficientsUniDRC()
— DRCInstructionsUniDRC()
20.5.2 Syntax
class MHAConfigurationBox() extends Box('mhaC') {
MHADecoderConfigurationRecord MHAConfig;
}
class MPEG4BitRateBox() extends Box('btrt') {
unsigned int(32) bufferSizeDB;
unsigned int(32) maxBitrate;
unsigned int(32) avgBitrate;
}
class MPEG4ExtensionDescriptorsBox() extends Box('m4ds') {
Descriptor Descr[0 . 255];
}
MHASampleEntry() extends AudioSampleEntry('mha1') {
MHAConfigurationBox config;
MPEG4BitRateBox(); // optional
MPEG4ExtensionDescriptorsBox (); // optional
}
MHASampleEntry() extends AudioSampleEntry('mha2') {
MHAConfigurationBox config;
MPEG4BitRateBox(); // optional
MPEG4ExtensionDescriptorsBox (); // optional
}
20.5.3 Semantics
ChannelCount
inherited from AudioSampleEntry, shall be set to 0 (inapplicable)
The MPEG-H 3D Audio decoder is capable of rendering a scene to any given
speaker setup. The referenceChannelLayout carried in the MHADecoder-
ConfigurationRecord shall be used to signal the preferred reproduction
layout for this stream and replaces the ChannelCount
config
defined in 20.4
Descr
is a descriptor which should be placed in in the ElementaryStreamDescrip-
tor when this stream is used in an MPEG-4 systems context. This does not
include SLConfigDescriptor or DecoderConfigDescriptor, but includes
the other descriptors in order to be placed after the SLConfigDescriptor
bufferSizeDB
gives the size of the decoding buffer for the elementary stream in bytes
maxBitrate
gives the maximum rate in bits/second over any window of 1 second
minBitrate
gives the average rate in bits/second over any window of 1 second
20.6 MPEG-H Audio MHAS Sample Entry
20.6.1 Definition
Box Types: ‘mhm1’, ‘mhm2’
Container: Sample Table Box (‘stbl’)
Mandatory: No
Quantity: One or more sample entries may be present
Especially in streaming or broadcast environments based on, e.g. MPEG-DASH or MPEG-H MMT, the
MPEG-H 3D Audio configuration may change at arbitrary positions of the stream and not necessarily
only on fragment boundaries. To enable this use-case the ‘mhm1’ and ‘mhm2’ MHASampleEntry
provides an in-band configuration mechanism for MPEG-H 3D Audio files.
© ISO 2016 – All rights reserved 3
---------------------- Page: 6 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
If an ‘mhm1’ or ‘mhm2’ MHASampleEntry is present, each sample of the appropriate Track shall
contain exactly one MHAS Packet with the MHASPacketType PACTYP_MPEGH3DAFRAME as defined in
Clause 14.
A sample may contain additional MHAS Packets of other types: if present, an MHAS Packet
with MHASPacketType PACTYP_MPEGH3DACFG, PACTYP_AUDIOSCENEINFO or PACTYP_
AUDIOTRUNCATION shall directly precede the MHAS Packet of Type PACTYP_MPEGH3DAFRAME.
MHAS Packets with the MHASPacketType PACTYPE_CRC16 and PACTYPE_CRC32 shall not be present
in any sample. Other MHAS Packets may be present in a sample.
The first sample of the movie and the first sample of every fragment (when applicable) shall contain
a MHAS packet with the type PACTYP_MPEGH3DACFG followed by an MHAS packet with the Type
PACTYP_AUDIOSCENEINFO if present.
All samples of the movie that contain an MHAS packet of type PACTYP_MPEGH3DACFG shall be sync
samples.
If the movie contains a configuration change, i.e. one of the samples of the movie besides the first sample
contains an MHAS packet of type PACTYP_MPEGH3DACFG, all sync samples of the movie shall contain
an MHAS packet of type PACTYP_MPEGH3DACFG.
If the sample entry type is ‘mhm1’, multiple streams shall not be used. If the sample entry name is
‘mhm2’, multiple streams may be used.
Optional boxes may be present in the MHASampleEntry. Optional boxes for the sample entry type
‘mhm1’ are handled according to the sample entry type is ‘mha1’, optional boxes for the sample entry
type is ‘mhm2’ are handled according to the sample entry type is ‘mha2’.
In contrast to the sample entry types ‘mha1’ and ‘mha2’ the MHAConfigurationBox is optional for
the sample entry types ‘mhm1’ and ‘mhm2’ and not mandatory.
20.6.2 Syntax
MHASampleEntry() extends AudioSampleEntry('mhm1') {
MHAConfigurationBox config; // optional
MPEG4BitRateBox(); // optional
MPEG4ExtensionDescriptorsBox(); // optional
}
MHASampleEntry() extends AudioSampleEntry('mhm2') {
MHAConfigurationBox config; // optional
MPEG4BitRateBox(); // optional
MPEG4ExtensionDescriptorsBox(); // optional
}
20.7 Dynamic Range Control and Loudness
20.7.1 MHA Dynamic Range Control and Loudness
20.7.1.1 Definition
Box Type: ‘mhaD’
Container: MHA sample entry (‘mha1’, ‘mha2’, ‘mhm1’, ‘mhm2’)
Mandatory: No
Quantity: Zero or one
This box specifies the dynamic range control and loudness information that may be contained in the
MPEG-H 3D Audio (MHA) track. The provided information represents only a subset of the in-stream
configuration according to 6.3.
4 © ISO 2016 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
20.7.1.2 Syntax
aligned(8) class MHADynamicRangeControlAndLoudnessBox()
extends FullBox('mhaD', version = 0, 0) {
unsigned int(2) reserved = 0;
unsigned int(6) drcInstructionsUniDrcCount;
unsigned int(2) reserved = 0;
unsigned int(6) loudnessInfoCount;
unsigned int(2) reserved = 0;
unsigned int(6) loudnessInfoAlbumCount;
unsigned int(3) reserved = 0;
unsigned int(5) downmixIdCount;
for (i=0; i < drcInstructionsUniDrcCount; i++) {
unsigned int(6) reserved = 0;
unsigned int(2) drcInstructionsType;
if (drcInstructionsType == 2) {
unsigned int(1) reserved = 0;
unsigned int(7) mae_groupID;
}
if (drcInstructionsType == 3) {
unsigned int(3) reserved = 0;
unsigned int(5) mae_groupPresetID;
}
unsigned int(2) reserved = 0;
unsigned int(6) drcSetId;
unsigned int(1) reserved = 0;
unsigned int(7) downmixId;
unsigned int(5) reserved = 0;
unsigned int(3) additionalDownmixIdCount;
for (j=0; j < additionalDownmixIdCount; j++) {
unsigned int(1) reserved = 0;
unsigned int(7) additionalDownmixId;
}
unsigned int(16) drcSetEffect;
unsigned int(7) reserved = 0;
unsigned int(1) limiterPeakTargetPresent;
if (limiterPeakTargetPresent == 1) {
unsigned int(8) bsLimiterPeakTarget;
}
unsigned int(7) reserved = 0;
unsigned int(1) drcSetTargetLoudnessPresent;
if (drcSetTargetLoudnessPresent == 1) {
unsigned int(2) reserved = 0;
unsigned int(6) bsDrcSetTargetLoudnessValueUpper;
unsigned int(2) reserved = 0;
unsigned int(6) bsDrcSetTargetLoudnessValueLower;
}
unsigned int(1) reserved = 0;
unsigned int(6) dependsOnDrcSet;
if (dependsOnDrcSet == 0) {
unsigned int(1) noIndependentUse;
} else {
unsigned int(1) reserved = 0;
}
}
for (i=0; i < loudnessInfoCount; i++) {
unsigned int(6) reserved = 0;
unsigned int(2) loudnessInfoType;
if (loudnessInfoType == 1 || loudnessInfoType == 2) {
unsigned int(1) reserved = 0;
unsigned int(7) mae_groupID;
} else if (loudnessInfoType == 3) {
unsigned int(3) reserved = 0;
unsigned int(5) mae_groupPresetID;
}
LoudnessBaseBox();
}
for (i=0; i < loudnessInfoAlbumCount; i++) {
© ISO 2016 – All rights reserved 5
---------------------- Page: 8 ----------------------
ISO/IEC 23008-3:2015/Amd.2:2016(E)
LoudnessBaseBox();
}
for (i=0; i < downmixIdCount; i++) {
unsigned int(1) reserved = 0;
unsigned int(7) downmixId;
unsigned int(2) downmixType;
unsigned int(6) CICPspeakerLayoutIdx;
}
}
20.7.1.3 Semantics
drcInstructionsUniDrcCount
number of drcInstructions in the MHA track
loudnessInfoCount
number of loudnessInfo blocks in the MHA track
loudnessInfoAlbumCount
number of loudnessInfoAlbum blocks in the MHA
track
downmixIdCount
number of downmixId definitions in the MHA track
drcInstructionsType
defined in 6.3 a value of ‘1’ is not de
...
DRAFT AMENDMENT ISO/IEC 23008-3:2015/DAM 2.2
ISO/IEC JTC 1 Secretariat: JISC
Voting begins on Voting terminates on
2015-10-29 2015-12-29
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ ORGANISATION INTERNATIONALE DE NORMALISATION
INTERNATIONAL ELECTROTECHNICAL COMMISSION МЕЖДУНАРОДНАЯ ЭЛЕКТРОТЕХНИЧЕСКАЯ КОММИСИЯ COMMISSION ÉLECTROTECHNIQUE INTERNATIONALE
Information technology — High efficiency coding and media
delivery in heterogeneous environments —
Part 3:
3D audio
AMENDMENT 2: MPEG-H 3D Audio File Format Support
Technologies de l'information — Codage à haute efficacité et livraison des medias dans des environnements
hétérogènes —
Partie 3
AMENDEMENT 2
ICS 35.040
To expedite distribution, this document is circulated as received from the committee
secretariat. ISO Central Secretariat work of editing and text composition will be undertaken at
publication stage.
Pour accélérer la distribution, le présent document est distribué tel qu'il est parvenu du
secrétariat du comité. Le travail de rédaction et de composition de texte sera effectué au
Secrétariat central de l'ISO au stade de publication.
THIS DOCUMENT IS A DRAFT CIRCULATED FOR COMMENT AND APPROVAL. IT IS THEREFORE SUBJECT TO CHANGE AND MAY NOT BE
REFERRED TO AS AN INTERNATIONAL STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS BEING ACCEPTABLE FOR INDUSTRIAL, TECHNOLOGICAL, COMMERCIAL AND USER PURPOSES,
DRAFT INTERNATIONAL STANDARDS MAY ON OCCASION HAVE TO BE CONSIDERED IN THE LIGHT OF THEIR POTENTIAL TO BECOME
STANDARDS TO WHICH REFERENCE MAY BE MADE IN NATIONAL REGULATIONS.
RECIPIENTS OF THIS DRAFT ARE INVITED TO SUBMIT, WITH THEIR COMMENTS, NOTIFICATION OF ANY RELEVANT PATENT RIGHTS OF WHICH
THEY ARE AWARE AND TO PROVIDE SUPPORTING DOCUMENTATION.
International Organization for Standardization, 2015
©
International Electrotechnical Commission, 2015
---------------------- Page: 1 ----------------------
ISO/IEC 23008-3:2015/DAM 2.2
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 23008-3:201x/DAM 2
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 2 to ISO/IEC 23008-3:201x was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
© ISO/IEC 2015 – All rights reserved iii
---------------------- Page: 3 ----------------------
DRAFT AMENDMENT ISO/IEC 23008-3:201x/DAM 2
Information technology — High efficiency coding and media
delivery in heterogeneous environments — Part 3: 3D audio,
AMENDMENT 2: MPEG-H 3D Audio File Format Support
1 Changes to
Add the following clause to ISO/IEC 23008-3:
2 Carriage of MPEG-H 3D Audio in ISO base media file format
2.1 Introduction
This chapter specifies the carriage of MPEG-H 3D Audio in the ISO base media file format. Clause [x]
describes the signalling of random access points for Immediate Play-out Frames (IPF) and independently
decodable frames (IF) Clause [x] describes the additional signalling of dynamic range control and loudness
information that might be present in the encoded bitstream. Clause [x] describes the additional signalling of
audio scene information data that might be present in the encoded bitstream.
2.2 Random Access and Stream Access
Frames that use AudioPreRoll() following the restrictions in [ref above] are considered to be Immediate Play-
out Frames (IPF) and shall be signalled by means of the sync sample box according to [14496-12:2015,
section 8.6.2].
Independently decodable Frames (IF) as described in [ref above] shall be signalled by means of the roll
sample group according to [14496-12:2015].
2.3 Overview of new box structures
mha1, * sample entry
mha2
mhaC
configuration
mhaD dynamic range and loudness
maeM multi-stream
maeI audio scene information
maeG * group definition
maeS switch group definition
maeP preset definition
2.4 MHA decoder configuration record
2.4.1 Definition
This clause specifies the decoder configuration information for MPEG-H 3D Audio (MHA) content.
© ISO/IEC 2015 – All rights reserved 1
---------------------- Page: 4 ----------------------
ISO/IEC 23008-3:201x/DAM 2
This record contains a version field. This version of the specification defines version 1 of this record.
Incompatible changes to the record will be indicated by a change of version number. Readers must not
attempt to decode this record or the streams to which it applies if the version number is unrecognised.
2.4.2 Syntax
aligned(8) class MHADecoderConfigurationRecord {
unsigned int(8) configurationVersion = 1;
unsigned int(8) mpegh3daProfileLevelIndication;
unsigned int(8) referenceChannelLayout;
unsigned int(16) mpegh3daConfigLength;
bit(8*mpegh3daConfigLength) mpegh3daConfig;
}
2.4.3 Semantics
configurationVersion shall be set to 1 in this version of the specification.
mpegh3daProfileLevelIndication defined in [1] clause 5.2.2.
referenceChannelLayout ChannelConfiguration value defined in [2].
mpegh3daLength length in bytes of mpegh3daConfig.
mpegh3daConfig the MPEGH-H 3DA configuration defined in [1].
2.5 Extension of AudioSampleEntry
2.5.1 Definition
Box Types: ‘mhaC’, ‘mha1‘, ‘mha2’
Container: Sample Table Box (‘stbl’)
Mandatory: The mha1 box is mandatory
Quantity: One or more sample entries may be present
The MHASampleEntry shall contain a MHAConfigurationBox, as defined below. This includes the
MHADecoderConfigurationRecord as defined in clause [ref above]. If the sample entry type is ‘mha1’,
multiple streams shall not be used. If the sample entry name is ‘mha2’, multiple streams may be used.
If an ‘mha1’ or ‘mha2’ MHASampleEntry is present, each sample of the appropriate Track shall contain
exactly one mpegh3daFrame as defined in [1]. An optional MPEG4BitRateBox may be present in the
MHASampleEntry to signal the bit rate information of the MHA stream. Extension descriptors that should be
inserted into the Elementary Stream Descriptor, when used in MPEG-4, may also be present. Other boxes
may be present in the MHASampleEntry. When multiple streams are used, the
MHADecoderConfigurationRecord for each track shall correspond to the appropriate mpegh3daFrame of
that track.
The following optional boxes inherited from AudioSampleEntry from ISO/IEC 14496-12/AMD 4:2015 shall
not be present
• DownMixInstructions()
• DRCCoefficientsBasic()
• DRCInstructionsBasic()
• DRCCoefficientsUniDRC()
• DRCInstructionsUniDRC()
2.5.2 Syntax
class MHAConfigurationBox() extends Box(‘mhaC’) {
MHADecoderConfigurationRecord() MHAConfig;
}
2 © ISO/IEC 2015 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 23008-3:201x/DAM 2
class MPEG4BitRateBox() extends Box(‘btrt’) {
unsigned int(32) bufferSizeDB;
unsigned int(32) maxBitrate;
unsigned int(32) avgBitrate;
}
class MPEG4ExtensionDescriptorsBox() extends Box(‘m4ds’) {
Descriptor Descr[0 . 255];
}
MHASampleEntry() extends AudioSampleEntry(‘mha1’) {
MHAConfigurationBox config;
MPEG4BitRateBox(); // optional
MPEG4ExtensionDescriptorsBox (); // optional
}
2.5.3 Semantics
ChannelCount inherited from AudioSampleEntry, shall be set to 0 (inapplicable)
The MPEG-H 3D Audio decoder is capable of rendering a scene to any given speaker
setup. The referenceChannelLayout carried in the
MHADecoderConfigurationRecord shall be used to signal the preferred
reproduction layout for this stream and replaces the ChannelCount
config defined in clause [ref above]
Descr is a descriptor which should be placed in in the ElementaryStreamDescriptor
when this stream is used in an MPEG-4 systems context. This does not include
SLConfigDescriptor or DecoderConfigDescriptor, but includes the other
descriptors in order to be placed after the SLConfigDescriptor
bufferSizeDB gives the size of the decoding buffer for the elementary stream in bytes
maxBitrate gives the maximum rate in bits/second over any window of 1 second
minBitrate gives the average rate in bits/second over any window of 1 second
2.6 Dynamic Range Control and Loudness
2.6.1 MHA Dynamic Range Control and Loudness
2.6.1.1 Definition
Box Type: `mhaD’
Container: MHA sample entry (`mha1’ or ‘mha2’)
Mandatory: No
Quantity: Zero or one
This box specifies the dynamic range control and loudness information that may be contained in the MPEG-H
3D Audio (MHA) track. The provided information represents only a subset of the in-stream configuration
according to clause 6.3.
2.6.1.2 Syntax
aligned(8) class MHADynamicRangeControlAndLoudnessBox()
extends FullBox(‘mhaD’, version = 0, 0) {
unsigned int(2) reserved = 0;
unsigned int(6) drcInstructionsUniDrcCount;
unsigned int(2) reserved = 0;
unsigned int(6) loudnessInfoCount;
unsigned int(2) reserved = 0;
unsigned int(6) loudnessInfoAlbumCount;
unsigned int(3) reserved = 0;
unsigned int(5) downmixIdCount;
for (i=0; i < drcInstructionsUniDrcCount; i++) {
© ISO/IEC 2015 – All rights reserved 3
---------------------- Page: 6 ----------------------
ISO/IEC 23008-3:201x/DAM 2
unsigned int(6) reserved = 0;
unsigned int(2) drcInstructionsType;
if (drcInstructionsType == 2) {
unsigned int(1) reserved = 0;
unsigned int(7) mae_groupID;
}
if (drcInstructionsType == 3) {
unsigned int(3) reserved = 0;
unsigned int(5) mae_groupPresetID;
}
unsigned int(2) reserved = 0;
unsigned int(6) drcSetId;
unsigned int(1) reserved = 0;
unsigned int(7) downmixId;
unsigned int(5) reserved = 0;
unsigned int(3) additionalDownmixIdCount;
for (j=0; j < additionalDownmixIdCount; j++) {
unsigned int(1) reserved = 0;
unsigned int(7) additionalDownmixId;
}
unsigned int(16) drcSetEffect;
unsigned int(7) reserved = 0;
unsigned int(1) limiterPeakTargetPresent;
if (limiterPeakTargetPresent == 1) {
unsigned int(8) bsLimiterPeakTarget;
}
unsigned int(7) reserved = 0;
unsigned int(1) drcSetTargetLoudnessPresent;
if (drcSetTargetLoudnessPresent == 1) {
unsigned int(2) reserved = 0;
unsigned int(6) bsDrcSetTargetLoudnessValueUpper;
unsigned int(2) reserved = 0;
unsigned int(6) bsDrcSetTargetLoudnessValueLower;
}
unsigned int(1) reserved = 0;
unsigned int(6) dependsOnDrcSet;
if (dependsOnDrcSet == 0) {
unsigned int(1) noIndependentUse;
} else {
unsigned int(1) reserved = 0;
}
}
for (i=0; i < loudnessInfoCount; i++) {
unsigned int(6) reserved = 0;
unsigned int(2) loudnessInfoType;
if (loudnessInfoType == 1 || loudnessInfoType == 2) {
unsigned int(1) reserved = 0;
unsigned int(7) mae_groupID;
} else if (loudnessInfoType == 3) {
unsigned int(3) reserved = 0;
unsigned int(5) mae_groupPresetID;
}
LoudnessBaseBox();
}
for (i=0; i < loudnessInfoAlbumCount; i++) {
LoudnessBaseBox();
}
for (i=0; i < downmixIdCount; i++) {
unsigned int(1) reserved = 0;
unsigned int(7) downmixId;
unsigned int(2) downmixType;
unsigned int(6) CICPspeakerLayoutIdx;
}
}
4 © ISO/IEC 2015 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 23008-3:201x/DAM 2
2.6.1.3 Semantics
drcInstructionsUniDrcCount number of drcInstructions in the MHA track
loudnessInfoCount number of loudnessInfo blocks in the MHA track
loudnessInfoAlbumCount number of loudnessInfoAlbum blocks in the MHA track
downmixIdCount number of downmixId definitions in the MHA track
drcInstructionsType defined in [1] clause 6.3 a value of ‘1’ is not defined
mae_groupID defined in [1] clause 15.3
mae_groupPresetID defined in [1] clause 15.3
drcSetId defined in [4] Annex A
downmixId defined in [1] clause 5.3.5
additionalDownmixId defined in [4] Annex A
drcSetEffect defined in [4] Annex A
bsLimiterPeakTarget defined in [4] Annex A
bsDrcSetTargetLoudnessValueUpper defined in [4] Annex A
bsDrcSetTargetLoudnessValueLower defined in [4] Annex A
dependsOnDrcSet defined in [4] Annex A
noIn
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.