Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 2: Conformance and reference software

ISO/IEC 23009-2:2014 specifies the conformance and reference software implementing the normative clauses of all parts of ISO/IEC 23009. That is, test vectors comprising Media Presentation Descriptions, Segments, and combinations thereof that conform or do not conform to the normative clauses of the other parts of ISO/IEC 23009 and corresponding software modules.

Technologies de l'information — Diffusion en flux adaptatif dynamique sur HTTP (DASH) — Partie 2: Conformité et logiciel de référence

General Information

Status
Withdrawn
Publication Date
21-May-2014
Withdrawal Date
21-May-2014
Current Stage
9599 - Withdrawal of International Standard
Start Date
23-Oct-2017
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 23009-2:2014 - Information technology -- Dynamic adaptive streaming over HTTP (DASH)
English language
59 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 23009-2:2014 - Information technology -- Dynamic adaptive streaming over HTTP (DASH)
English language
59 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO/IEC 23009-2:2014 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Dynamic adaptive streaming over HTTP (DASH) - Part 2: Conformance and reference software". This standard covers: ISO/IEC 23009-2:2014 specifies the conformance and reference software implementing the normative clauses of all parts of ISO/IEC 23009. That is, test vectors comprising Media Presentation Descriptions, Segments, and combinations thereof that conform or do not conform to the normative clauses of the other parts of ISO/IEC 23009 and corresponding software modules.

ISO/IEC 23009-2:2014 specifies the conformance and reference software implementing the normative clauses of all parts of ISO/IEC 23009. That is, test vectors comprising Media Presentation Descriptions, Segments, and combinations thereof that conform or do not conform to the normative clauses of the other parts of ISO/IEC 23009 and corresponding software modules.

ISO/IEC 23009-2:2014 is classified under the following ICS (International Classification for Standards) categories: 35.040 - Information coding; 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO/IEC 23009-2:2014 has the following relationships with other standards: It is inter standard links to ISO/IEC 23009-2:2017. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO/IEC 23009-2:2014 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 23009-2
First edition
2014-05-15
Information technology — Dynamic
adaptive streaming over HTTP (DASH) —
Part 2:
Conformance and reference software
Technologies de l'information — Diffusion en flux adaptatif dynamique
sur HTTP (DASH) —
Partie 2: Conformité et logiciel de référence

Reference number
©
ISO/IEC 2014
©  ISO/IEC 2014
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 2014 – All rights reserved

Contents
Forew ord . iv
Introduction . v
1  Scope . 1
2  Normative references . 1
3  Terms, definitions, symbols and abbreviated terms . 1
3.1  Terms and definitions . 1
3.2  Symbols and abbreviated terms . 1
4  Media presentation conformance . 1
4.1  Overview . 1
4.2  Software Tools . 2
5  MPD conformance . 2
5.1  General . 2
5.2  Static MPD conformance . 3
6  Segment conformance . 4
6.1  Overview . 4
6.2  Representation conformance . 4
6.2.1  ISO base media file format . 4
6.2.2  MPEG-2 transport stream . 7
6.3  Adaptation set conformance . 11
6.3.1  ISO base media file format . 11
6.3.2  MPEG-2 Transport Stream . 12
6.4  Dynamic media presentation conformance . 13
7  Profile specific conformance . 13
7.1  ISO base media file format on demand profile . 13
7.2  ISO base media file format live profile . 14
7.3  ISO base media file format main profile . 14
7.4  MPEG-2 transport stream simple profile . 14
8  Conforming test vectors . 15
Annex A (normative) MPD conformance checking . 16
A.1  Introduction . 16
A.2  Step 1: XLink Resolver . 16
A.3  Step 2: XML Validator . 17
A.4  Step 3: Schematron Validator . 18
Annex B (normative) Test Vectors . 51
Annex C (normative) DASH access engine reference software . 53
C.1  Introduction . 53
C.2  libdash overview . 53
C.3  libdash-enabled example system (informative) . 53
C.4  libdash availability . 54
Annex D (informative) Sample Software . 55
D.1  Introduction . 55
D.2  Sample Clients . 55
D.3  Sample Segmenter . 56
Annex E (informative) Dynamic Media Presentation Emulator . 58
E.1  Introduction . 58
E.2  Usage . 58
E.3  Availability . 58
© ISO/IEC 2014 – All rights reserved iii

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.
ISO/IEC 23009-2 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 23009 consists of the following parts, under the general title Information technology — Dynamic
adaptive streaming over HTTP (DASH):
 Part 1: Media presentation description and segment formats
 Part 2: Conformance and reference software
 Part 3: Implementation guidelines [Technical Report]
 Part 4: Segment encryption and authentication
iv © ISO/IEC 2014 – All rights reserved

Introduction
This part of ISO/IEC 23009 specifies the conformance and reference software. The conformance and
reference software of ISO/IEC 23009 serves three main purposes:
 validation of the written specification of the several parts of ISO/IEC 23009;
 clarification of the written specification of the several parts of ISO/IEC 23009; and
 conformance testing for checking interoperability for the various applications against the reference
software which aims to be compliant with ISO/IEC 23009.

© ISO/IEC 2014 – All rights reserved v

INTERNATIONAL STANDARD ISO/IEC 23009-2:2014(E)

Information technology — Dynamic adaptive streaming over
HTTP (DASH) —
Part 2:
Conformance and reference software
1 Scope
This part of ISO/IEC 23009 specifies the conformance and reference software implementing the normative
clauses of all parts of ISO/IEC 23009. That is, test vectors comprising Media Presentation Descriptions,
Segments, and combinations thereof that conform or do not conform to the normative clauses of the other
parts of ISO/IEC 23009 and corresponding software modules.
2 Normative references
The following documents, in whole or in part, are normatively referenced in this document and are
indispensable for its application. For dated references, only the edition cited applies. For undated references,
the latest edition of the referenced document (including any amendments) shall apply.
ISO/IEC 19757-3, Information technology — Document Schema Definition Languages (DSDL) — Part 3:
Rule-based validation — Schematron
ISO/IEC 23009-1, Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 1:
Media presentation description and segment formats
W3C XLINK, XML Linking Language (XLink) Version 1.1, W3C Recommendation 06, May 2010
W3C XML, Extensible Markup Language (XML) 1.1 (Second Edition), W3C Recommendation 16, August
2006, edited in place 29 September 2006
W3C XML SCHEMA, XML Schema Definition Language (XSD)
3 Terms, definitions, symbols and abbreviated terms
3.1 Terms and definitions
For the purpose of this document, the terms and definitions given in ISO/IEC 23009-1 apply.
3.2 Symbols and abbreviated terms
For the purposes of this document, the symbols and abbreviated terms given in ISO/IEC 23009-1 apply.
4 Media presentation conformance
4.1 Overview
A Media Presentation conforming to ISO/IEC 23009-1 obeys the rules for the Media Presentation Description
(MPD), and the Segments referenced within the MPD. To verify the conformance of a Media Presentation, the
following steps need to be completed:
© ISO/IEC 2014 – All rights reserved 1

 The conformance of the MPD as according to 5.
 The conformance of the Segments which includes the conformance of individual Segments and
Representations as well as the conformance of Representations that are jointly provided in
Adaptation Sets and Periods. For details refer to 6.
The process of MPD and segment conformance checking is shown in Figure 1.

Figure 1 — MPD and segment validation
MPD + Segment Validator: gets as an input the MPD and segments referenced from within the MPD and
performs the MPD and segment validation according to the rules defined in annex B. On success, the output
is an OK report, otherwise an error message is provided.
4.2 Software Tools
The following software tools are included
 MPD conformance software
 ISO BMFF Segment Validation
 MPEG-2 TS Segment Validation
 Conformance Software for Dynamic Services (missing)
All software tools are available at http://standards.iso.org/ittf/PubliclyAvailableStandards\ISO_IEC_23009-2/
5 MPD conformance
5.1 General
This clause specifies the MPD conformance checking and corresponding software modules which comprises
three steps as depicted in Figure 2. Detailed means to perform MPD conformance checking are provided in
annex A.
2 © ISO/IEC 2014 – All rights reserved

Figure 2 — MPD conformance checking
Step 1 (XLink Resolver): gets as an input a MPD document and resolves all W3C XLINK attributes as
defined in ISO/IEC 23009-1. In case an error occurs, the corresponding error message shall be provided;
otherwise the XLink resolved MPD document is provided. The details for this step of MPD conformance
checking are defined in A.2.
Step 2 (XML Validator): gets as an input an XLink resolved MPD document and performs the XML validation
(i.e., well-formed and valid) against the MPD schema as defined in W3C XML and W3C XML SCHEMA. In
case an error occurs, the corresponding error message shall be provided, otherwise the XLink resolved and
schema validated MPD document is provided. The details for this step of MPD conformance checking are
defined in A.3.
Step 3 (Schematron Validator): gets as an input a XLink resolved and schema validated MPD document and
performs the Schematron validation as defined in ISO/IEC 19747-3 according to the rules defined in A.4.2. In
case an error occurs, the corresponding error message shall be provided, otherwise the XLink resolved,
schema validated, and Schematron validated MPD document is provided. The details for this step of MPD
conformance checking are defined in A.4
For validating a MPD document with the chain depicted in Figure 2 the following command may be used
which requires Ant [2].
ant run –Dinput="filetovalidate.mpd"

The program outputs for each step a message. If an error occurs during one step the following steps are not
executed.
5.2 Static MPD conformance
An MPD with MPD@type="static" shall comply with the rules in 5.1.
In addition, the availability of all resources in the MPD during the MPD@availabilityStartTime and the
MPD@availabilityEndTime shall be checked. A function remoteFileExists($url) may be executed
for each segment that is documented in the MPD. The function shall return true for all Segments in the MPD
during the time interval of MPD@availabilityStartTime and the MPD@availabilityEndTime. The
following snippet shows an example for the remoteFileExists function written in PHP.
© ISO/IEC 2014 – All rights reserved 3

function remoteFileExists($url) {
$curl = curl_init($url);
//don't fetch the actual page, you only want to check the connection is ok
curl_setopt($curl, CURLOPT_NOBODY, true);

//do request
$result = curl_exec($curl);
$ret = false;
//if request did not fail
if ($result !== false) {
//if request was ok, check response code
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ($statusCode == 200) {
$ret = true;
}
}
curl_close($curl);
return $ret;
}
6 Segment conformance
6.1 Overview
Segment conformance verifies that the segments offered in the MPD conform to the DASH specification.
This includes the conformance
 Segments offered within one Representation. For details refer to 6.2.
 Representations offered within one Adaptation Set. For details refer to 6.3.
 Adaptation Sets offered within one Period. For details refer to 6.4.
 Segments offered in a dynamic Media Presentation. For details refer to 6.5.
6.2 Representation conformance
6.2.1 ISO base media file format
The Representation conformance rules as well as the implementation of the conformance rules for ISO base
media file format based segments are provided in Table 1.
4 © ISO/IEC 2014 – All rights reserved

Table 1 — Representation conformance rules for ISO base media file format
Clause in Rule Conformance Check
23009-1 Implementation
1 6.1 Media Segment formats shall comply with the Implemented
respective container formats (ISO BMFF and
MPEG-2 TS). This should be verifiable by the
respective conformance software.
2 6.2.1 The Initialization Segment shall not contain any Implemented
media data with an assigned presentation time
3 6.2.1 A Media Segment shall contain a number of Implemented
complete access units.
4 6.2.1 If it is the first Media Segment in the Implemented
Representation, it shall contain only media streams
that start with a SAP of type 1 or 2.
5 6.2.1 A Media Segment shall contain sufficient Implemented
information to time-accurately present each
contained media component in the Representation
without accessing any previous Media Segment in
this Representation provided that the Media
Segment contains a SAP for each media stream
(not verifiable on container level).
6 6.2.3.2 A Media Segment shall specify all Media Implemented
Presentation times relative to the start of the Period
and compensated with the value of the
@presentationTimeOffset. The presentation time in
Media Segments shall be accurate to ensure
accurate alignment of all Representations in one
Period.
i) earliest_presentation_time shall be
equal to the sum of all temporally
preceding subsegments in the
representation.
ii) The duration of a subsegment
indexed by an ‘sidx’ shall be equal to
the sum of the durations of all the
subsegments it indices.
7 6.3.2.1 A media data box containing data referenced by a Implemented
movie fragment (‘moof’) box shall follow that movie
fragment box and precede the next movie fragment
box, if any, containing information about the same
track.
8 6.3.2.1 For a Media Subsegment, the value of the Implemented
reference_type field in the describing Segment
Index (‘sidx’) box shall be set to 0.
9 6.3.2.3 If the Segment Index is provided the Segment Index Implemented
(‘sidx’) box in ISO/IEC 14496-12 shall be used.
© ISO/IEC 2014 – All rights reserved 5

Clause in Rule Conformance Check
23009-1 Implementation
10 6.3.2.4 If the Subsegment Index is provided the Implemented
Subsegment Index (‘ssix’) box in ISO/IEC 14496-12
shall be used.
11 6.3.3 The Initialization Segment shall contain an “ftyp” Implemented
box, and a “moov” box.
12 6.3.3 It shall not contain any “moof” boxes. Implemented
13 6.3.3 The tracks in the “moov” box shall contain no Implemented
samples (i.e. the entry_count in the “stts”, “stsc”,
and “stco” boxes shall be set to 0).
6.3.3 The “mvex” box shall be contained in the “moov” Implemented
box. The “mvex” box also sets default values for the
tracks and samples of the following movie
fragments.
15 6.3.4.2 ‘styp’ box, if present, shall carry ‘msdh’ as a Implemented
compatible brand.
16 6.3.4.2 Each Media Segment shall contain one or more Implemented
whole self-contained movie fragments. A whole,
self-contained movie fragment is a movie fragment
(‘moof’) box and a media data (‘mdat’) box that
contains all the media samples that do not use
external data references referenced by the track
runs in the movie fragment box.
17 6.3.4.2 Each ‘moof’ box shall contain at least one track Implemented
fragment.
18 6.3.4.2 The ‘moof’ boxes shall use movie-fragment relative Implemented
addressing for media data that does not use
external data references and the flag ‘default-base-
is-moof’ shall also be set; absolute byte-offsets
shall not be used for this media data.
19 6.3.4.2 Each ‘traf’ box shall contain a ‘tfdt’ box. Implemented
6.3.4.2 Each Media Segment may contain one or more Implemented
‘sidx’ boxes. If ‘sidx’ is present in a Media Segment,
the first ‘sidx’ box shall be placed before any ‘moof’
box and the first Segment Index box shall document
the entire Segment.
21 6.3.4.3 In each self-contained movie fragment, the movie Implemented
fragment (‘moof’) box is immediately followed by its
corresponding media data (‘mdat’).
22 6.3.4.3 Each Media Segment shall contain one or more Implemented
‘sidx’ boxes.
6 © ISO/IEC 2014 – All rights reserved

Clause in Rule Conformance Check
23009-1 Implementation
23 6.3.4.3 The first ‘sidx’ box shall be placed before any ‘moof’ Implemented
box and shall document Subsegments that span the
composition time of the entire Segment.
24 6.3.4.3 Each Media Segment shall carry ‘msix’ as a Implemented
compatible brand.
25 6.3.4.4 The Subsegment Index box (‘ssix’) shall be present Implemented
and shall follow immediately after the ‘sidx’ box that
documents the same Subsegment. This
immediately preceding ‘sidx’ shall only index Media
Subsegments.
26 6.3.4.4 It shall carry ‘sims’ in the Segment Type box (‘styp’) Implemented
as a compatible brand.
27 6.3.5.2 The Indexed Self-Initializing Media Segment shall Implemented
carry ‘dash’ as a compatible brand.

6.2.2 MPEG-2 transport stream
The Representation conformance rules as well as the implementation of the conformance rules for MPEG-2
transport stream based segments are provided in Table 2.
Table 2 — Representation conformance rules for MPEG-2 transport stream
Clause in Rule Conformance Check
23009-1 Implementation
6.1 Media Segment formats shall comply with the Implemented
respective container formats (ISO BMFF and
MPEG-2 TS). This should be verifiable by the
respective conformance software.
2 6.2.1 The Initialization Segment shall not contain any Implemented
media data with an assigned presentation time
3 6.2.1 A Media Segment shall contain a number of Partially implemented
complete access units.
4 6.2.1 If it is the first Media Segment in the Partially implemented
Representation, it shall contain only media streams
that start with a SAP of type 1 or 2 (not verifiable on
container level).
6.2.1 A Media Segment shall contain sufficient Implemented
information to time-accurately present each
contained media component in the Representation
without accessing any previous Media Segment in
this Representation provided that the Media
Segment contains a SAP for each media stream
(not verifiable on container level).
© ISO/IEC 2014 – All rights reserved 7

Clause in Rule Conformance Check
23009-1 Implementation
6 6.2.3.2 A Media Segment shall specify all Media Not implemented
Presentation times relative to the start of the Period
and compensated with the value of the
@presentationTimeOffset. The presentation time in
Media Segments shall be accurate to ensure
accurate alignment of all Representations in one
Period.
i) earliest_presentation_time shall be
equal to the sum of all temporally
preceding subsegments in the
representation.
ii) The duration of a subsegment
indexed by an ‘sidx’ shall be equal to
the sum of the durations of all the
subsegments it indices.
7 6.4.2.1 A subsegment shall contain complete access units Not implemented
for the indexed media stream (i.e., stream for which
reference_ID equals PID)
6.4.2.2 PES packet starting at I shall contain only an Not implemented
SAU
integral number of access units and shall contain a
PTS.
9 6.4.2.3 If the Segment Index is provided the Segment Index Not implemented
(‘sidx’) box in ISO/IEC 14496-12 shall be used for
Segment Indexing.
10 6.4.2.3 reference_ID field of `sidx` box shall be the PID Not implemented
value of the indexed stream.
11 6.4.2.3 All media offsets within `sidx` boxes shall be to the Not implemented
first (sync) byte of a TS packet
12 6.4.2.4 If the Subsegment Index is provided the Not implemented
Subsegment Index (‘ssix’) box in ISO/IEC 14496-12
shall be used for indexing byte ranges within a
subsegment
13 6.4.2.4 All media offsets within `ssix` boxes shall be to the Not implemented
first (sync) byte of a TS packet
14 6.4.3.2 An Initialization Segment shall be a valid MPEG-2 Implemented
TS, conforming to ISO/IEC 13818-1.
15 6.4.3.2 The concatenation of an Initialization Segment with Not implemented
any Media Segment shall have the same
presentation duration as the original Media
Segment.
8 © ISO/IEC 2014 – All rights reserved

Clause in Rule Conformance Check
23009-1 Implementation
16 6.4.3.2 The Initialization Segment shall contain mandatory Implemented (w/o ECM)
untimed initialization information as defined in
6.4.3.1 ISO/IEC 23009-1 in this order:
i) PAT;
ii) PMT;
iii) PCR
iv) If MPEG-2 Conditional Access is
used, ECM.
17 6.4.4.2 Media Segments shall contain complete MPEG-2 Implemented
TS packets,
18 6.4.4.2 Media Segments shall contain exactly one program, Implemented
19 6.4.4.2 All time-varying initialization information shall be Implemented
present between I and I and/or in the Index
SAP SAU
Segment, if present.
20 6.4.4.2 No Media Segment shall depend on initialization Implemented
information appearing in any preceding Media
Segment.
21 6.4.4.2 Media Segments should contain only complete PES Implemented
packets.
22 6.4.4.3 All information necessary for decrypting, or locating Not implemented
information required to decrypt, the encrypted TS
packets in a (Sub)Segment shall be present before
the encrypted packet(s) to which they apply, either
in the same (Sub)Segment, and/or in the
Initialization Segment (if used).
23 6.4.4.4 A Self-initializing Media Segment shall contain at Implemented
the least all mandatory untimed and timed
initialization information as defined in 6.4.3.1 of
ISO/IEC 23009-1.
24 6.4.5 A Bitstream Switching Segment shall be a valid Not implemented
MPEG-2 TS, conforming to ISO/IEC 13818-1.
25 6.4.5 A Bitstream Switching Segment when concatenated Not implemented
with any Media Segment shall not alter the Media
Presentation timeline for the corresponding Media
Segment.
26 6.4.5 If initialization information is carried within a Not implemented
Bitstream Switching Segment, it shall be identical to
the one in the Initialization Segment, if present, of
the Representation.
© ISO/IEC 2014 – All rights reserved 9

Clause in Rule Conformance Check
23009-1 Implementation
27 6.4.6.2 An Single Index Segment indexes exactly one Not implemented
Media Segment and is defined as follows:
1) Each Single Index Segment shall begin with
an ‘styp’ box, and the brand ‘sisx’ shall be
present in the ‘styp’ box.
2) Each Single Index Segment shall contain one
or more Segment Index boxes which index
one Media Segment.
28 6.4.6.2 If present, the ‘ssix’ shall follow the ‘sidx’ box that Not implemented
documents the same Subsegment without any
other ‘sidx’ preceding the ‘ssix'.
29 6.4.6.2 If present, ‘pcrb’ shall follow the ‘sidx’ box that Not implemented
documents the same Subsegments.
30 6.4.6.3 Each Representation Index Segment shall begin Not implemented
with an ‘styp’ box, and the brand ‘risx’ shall be
present in the ‘styp’ box.
31 6.4.6.3 The initial Segment Index box shall have one entry Not implemented
in its loop for each Media Segment, and each entry
refers to the Segment Index information for a single
Media Segment.
32 6.4.6.4 It shall be either a Single Index Segment or a Not implemented
Represention Index Segment.
33 6.4.6.4 The Subsegment Index box (‘ssix’) shall be present Not implemented
and shall follow immediately after the ‘sidx’ box that
documents the same Subsegment.
32 6.4.6.4 The value of the reference_type field shall be equal Not implemented
to 0 for this Subsegment in this immediately
preceding Segment Index (‘sidx’) box.
33 6.4.6.4 If the 'pcrb' box is present, it shall follow 'ssix'. Not implemented
34 6.4.6.4 It shall carry ‘ssss’ in the Segment Type box (‘styp’) Not implemented
as a compatible brand.
35 7.1 The Media Presentation shall be provided such that Not implemented
no mismatch between these two values occurs. If it
does, the value in the media stream itself takes
precedence over values expressed in the MPD,
especially when used in the media decoding
process.
10 © ISO/IEC 2014 – All rights reserved

6.3 Adaptation set conformance
6.3.1 ISO base media file format
The adaptation set conformance rules as well as the implementation of the conformance rules for ISO base
media file format based segments are provided in Table 3.
Table 3 — Adaptation set conformance rules for ISO base media file format
Clause in Rule Conformance Check
23009-1 Implementation
7.2.2 If a Segment Index is present in a Media Segment of one Implemented

Representation within an Adaptation Set, then the following
shall hold:
1) the order of Segment Index boxes for multiple media
streams induces an ordering on the media content
components equal to the order in which a Segment
Index box for a media stream for each component
first appears. This ordering shall be the same for all
Segments of all Representations of an Adaptation
Set. As a consequence, if there is a Segment Index
for a media content component in one Segment
there shall be a Segment Index for that media
component in all Segments in this Adaptation Set.
2) non-indexed media streams in all Representations of
an Adaptation Set shall have the same access unit
duration.
7.3.3.2 As a consequence of @bitstreamSwitching being set to Implemented
‘true’, the following conditions are satisfied:
1) The track IDs for the same media content component
are identical for each Representation in each
Adaptation Set.
2) The conditions required for setting the
@segmentAlignment attribute to a value other than
'false' for the Adaptation Set are fulfilled.
3) The conditions required for setting (i) the
@startWithSAP attribute to 2 for the Adaptation Set,
or (ii) the conditions required for all Representations
within the Adaptation Set to share the same value of
@mediaStreamStructureId and setting the
@startWithSAP attribute to 3 for the Adaptation Set,
are fulfilled.
7.3.4 If a SubRepresentation element is present in a Implemented
Representation in the MPD and the attribute
SubRepresentation@level is present, then the Media
Segments in this Representation shall conform to a Sub-
Indexed Media Segment as defined in 6.3.4.4 of ISO/IEC
23009-1. The Initialization Segment shall contain the Level
Assignment (‘leva’) box.
© ISO/IEC 2014 – All rights reserved 11

6.3.2 MPEG-2 Transport Stream
Clause in Rule Conformance Check
23009-1 Implementation
1 7.1 The Media Presentation shall be provided such that no Not implemented
mismatch between these two values occurs. If it does, the
value in the media stream itself takes precedence over values
expressed in the MPD, especially when used in the media
decoding process.
2 7.2.2 If a Segment Index is present in a Media Segment of one Not implemented
Representation within an Adaptation Set, then the following
shall hold:
1) the order of Segment Index boxes for multiple media
streams induces an ordering on the media content
components equal to the order in which a Segment
Index box for a media stream for each component
first appears. This ordering shall be the same for all
Segments of all Representations of an Adaptation
Set. As a consequence, if there is a Segment Index
for a media content component in one Segment there
shall be a Segment Index for that media component
in all Segments in this Adaptation Set.
2) non-indexed media streams in all Representations of
an Adaptation Set shall have the same access unit
duration.
3 7.4.3.2 If the @segmentAlignment attribute is not set to ‘false’, Not implemented
i) the Media Segment shall contain only complete
PES packets and
ii) the first PES packet shall contain a PTS
timestamp.
4 7.4.3.3 If the @subsegmentAlignment flag is not set to 'false', a Not implemented
Subsegment shall contain only complete PES packets for
each PID,
5 7.4.3.3 If the @subsegmentAlignment flag is not set to 'false', the first Not implemented
PES packet from each elementary stream shall contain a
PTS.
6 7.4.3.4 If the @bitstreamSwitching is set to true, then for any two Not implemented
Representations, X and Y, within the same Adaptation Set,
concatenation of Media Segment i of X, Concatenation
Segment of Representation Y, and Media Segment i+1 of
Representation Y shall be a MPEG-2 TS conforming to
ISO/IEC 13818-1.
7 7.4.3.4 If the @bitstreamSwitching is set to true, then the conditions Not implemented
required for setting the @startWithSAP attribute to 2 for the
Adaptatation Set or required for all Representations within the
Adaptation Set share the same value of
@mediaStreamStructureId and setting the @startWithSAP
attribute of the Adapaton Set 3, are fulfilled.
12 © ISO/IEC 2014 – All rights reserved

Clause in Rule Conformance Check
23009-1 Implementation
7.4.3.4 If the @bitstreamSwitching is set to true, then he conditions Not implemented
required for setting the @segmentAlignment attribute not set
to 'false' for the Adaptation Set are fulfilled.
7.4.3.4 If the @bitstreamSwitching is set to true, then PCR shall be Not implemented
present in the Segment prior to the first byte of a TS packet
payload containing media data, and not inferred from the
`pcrb` box
7.4.4 The Subsegment Index box shall contain at least one entry for Not implemented
the value of SubRepresentation@level and for each value
provided in the SubRepresentation@dependencyLevel.

6.4 Dynamic media presentation conformance
With the dynamic MPD conformance checks according to 5.3, no specific segment conformance for dynamic
services are necessary. The static segment conformance is sufficient to also address services of type
dynamic.
7 Profile specific conformance
7.1 ISO base media file format on demand profile
The profile specific conformance rules as well as the implementation of the conformance rules for the ISO
base media file format on demand profile are provided in Table 4.
Table 4 — ISO base media file format on demand profile rules
Clause in Rule Conformance Check
23009-1 Implementation
1 8.3.3 All Segment Index ('sidx') and Subsegment Index ('ssix') Implemented
boxes shall be placed before any Movie Fragment ('moof')
boxes.
2 8.4.3 Media Segments containing multiple Media Components shall Implemented
comply with the formats defined in 6.3.4.3, i.e. the brand
'msix'.
3 8.4.3 In Media Segments, all Segment Index ('sidx') and Implemented
Subsegment Index ('ssix') boxes shall be placed before any
Movie Fragment ('moof') boxes.

© ISO/IEC 2014 – All rights reserved 13

7.2 ISO base media file format live profile
The profile specific conformance rules as well as the implementation of the conformance rules for the ISO
base media file format live profile are provided in Table 5.
Table 5 — ISO base media file format live profile rules
Clause in Rule Conformance Check
23009-1 Implementation
1 8.4.3 Media Segments containing multiple Media Components shall Implemented
comply with the formats defined in 6.3.4.3, i.e. the brand
'msix'.
2 8.4.3 In Media Segments, all Segment Index ('sidx') and Implemented
Subsegment Index ('ssix') boxes shall be placed before any
Movie Fragment ('moof') boxes.

7.3 ISO base media file format main profile
The profile specific conformance rules as well as the implementation of the conformance rules for the ISO
base media file format main profile are provided in Table 6.
Table 6 — ISO base media file format main profile rules
Clause in Rule Conformance Check
23009-1 Implementation
1 8.5.3 At least one SAP of type 1 to 3, inclusive, shall be present for Implemented
each track in each Subsegment
2 8.5.3 In Media Segments, all Segment Index ('sidx') and Implemented
Subsegment Index ('ssix') boxes shall be placed before any
Movie Fragment ('moof') boxes.
3 8.5.3 Each Media Segment of the Representations not having Implemented
@startWithSAP present or having @startWithSAP value 0 or
greater than 3 shall comply with the formats defined in 6.3.4.3
of ISO/IEC 23009-1, i.e. the brand 'msix'.

7.4 MPEG-2 transport stream simple profile
The profile specific conformance rules as well as the implementation of the conformance rules for the MPEG-
2 transport stream simple profile are provided in Table 7.
14 © ISO/IEC 2014 – All rights reserved

Table 7 — MPEG-2 transport stream simple profile rules
Clause in Rule Conformance Check
23009-1 Implementation
1 8.7.3 PSI information, including versions, shall be identical within all Not implemented
Representations contained in an AdaptationSet;
2 8.7.3 If MPEG-2 Conditional Access framework is used, same ECM Specific to a conditional
shall be valid for the whole Subsegment, or for the whole access system, cannot
Segment if Index Segment is not present. be tested generically.
8.7.3 For an Index Segment, any single Segment Index ('sidx') box Not implemented
may either reference media, or other 'sidx', but the same 'sidx'
box may not reference both.
8 Conforming test vectors
Details on conforming test vectors are provided in annex B.
© ISO/IEC 2014 – All rights reserved 15

Annex A
(normative)
MPD conformance checking
A.1 Introduction
This annex provides detailed means for MPD conformance checking for the three steps as outlined in 5. For
each step detailed examples and expected output behaviour is described. The corresponding software and
examples are attached to this part of ISO/IEC 23009.
A.2 Step 1: XLink Resolver
A.2.1 Introduction
The following rules apply to the processing of URI references within @xlink:href:
1) URI references to remote elements that cannot be resolved shall be treated as invalid references and
invalidate the MPD.
2) URI references to remote elements that are inappropriate targets for the given reference shall be
treated as invalid references (see below for the appropriate targets) and invalidate the MPD.
3) URI references that directly or indirectly reference themselves are treated as invalid circular
references and invalidate the MPD.
4) Any URI reference to a remote element shall be an HTTP-URL.
5) If a URI reference is relative then reference resolution as defined in ISO/IEC 23009-1 Section 5.6.4
shall apply.
The remote elements referenced from within an MPD (referred to as appropriate targets) shall be embedded
into the MPD by applying the following rules:
1) Attributes and elements obtained from the remote element shall be added to the element of the MPD
that contains @xlink:href and shall be merged with the ones already present in the MPD. If the
same attributes are present in both MPD and remote element, the attribute values should be the same.
If they are not identical, then the value of the attribute of the MPD takes precedence over the value of
the attribute in the remote element.
2) The remote element referenced by the @xlink:href shall conform to the type definition of the
element in the MPD that contains @xlink:href.
3) All XLink attributes shall be removed after dereferencing is completed.
4) All resources in the remote element referenced by @xlink:href shall have an availability end time as
specified by MPD@availabilityEndTime.
A.2.2 Example 1
ex01_xlink_valid.mpd shows a valid MPD with XLink references. The output of the program is a success
message for each step. This example comprises the following files: ex01_xlink_valid.mpd,
ex01_include.mpd, and ex01_include_1.mpd.
16 © ISO/IEC 2014 – All rights reserved

A.2.3 Example 2
ex02 _xlink_invalid_circular.mpd shows an invalid MPD with XLink references. This example
comprises circular XLink references. The program indicates the circular references by the following error
message:
XLinkException: Circular referencing detected!

This example comprises the following files: ex02_xlink_invalid_circular.mpd, ex02_include.mpd,
and ex02_circular.mpd.
A.2.4 Example 3
ex03 _xlink_invalid_ftp.mpd shows an invalid MPD with XLink references. This example comprises a
wrong XLink type. In this example instead of HTTP the FTP protocol is defined. The program indicates the
wrong type by the following error message:
XLinkException: Only HTTP links are allowed!

This example comprises the following files: ex03_xlink_invalid_ftp.mpd.
A.2.5 Example 4
ex04 _xlink_invalid_wrongelement.mpd shows an invalid MPD with XLink references. This example
comprises an XLink definition which points to a different remote element than the local element. In this
example instead of pointing to a Period element the XLink points to a Representation element. The program
indicates the wrong type by the following error message:
XLinkException: Referenced Document must contain same element type as referencing element!

Referencing element: Period
Referenced element: Representation

This example comprises the following files: ex04_xlink_invalid_wrongelement.mpd and
ex04_include.mpd.
A.3 Step 2: XML Validator
A.3.1 Introduction
The XML Validator processes an MPD, checks it for being well-formed, and validates it against the MPD
schema defined in ISO/IEC 23009-1.
A.3.2 Example 1
ex01_validator_valid.mpd shows a valid MPD. The output of the program is a success message for
each step.
A.3.3 Example 2
ex02_validator_missingattribute.mpd shows an invalid MPD. This example comprises a missing
attribute which is defined as required. The error occurs in the Representation element and is indicated by the
following error message:
© ISO/IEC 2014 – All rights reserved 17

Line:Col[13:38]:cvc-complex-type.4: Attribute 'id' must appear on element
'Representation'.
XML validation not successful - DASH is not valid!

A.3.
...


INTERNATIONAL ISO/IEC
STANDARD 23009-2
First edition
2014-05-15
Information technology — Dynamic
adaptive streaming over HTTP (DASH) —
Part 2:
Conformance and reference software
Technologies de l'information — Diffusion en flux adaptatif dynamique
sur HTTP (DASH) —
Partie 2: Conformité et logiciel de référence

Reference number
©
ISO/IEC 2014
This DVD contains:
1) the publication ISO/IEC 23009-2:2014 in portable document format (PDF), which can be viewed
using Adobe® Acrobat® Reader;
2) conformance and refererence software.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.

©  ISO/IEC 2014
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 2014 – All rights reserved

Installation
If this publication has been packaged as a zipped file, do NOT open the file from the DVD, but copy it to the
...

Questions, Comments and Discussion

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

Loading comments...