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

ISO/IEC 23009-2:2017 specifies the conformance and reference software implementing the normative clauses of ISO/IEC 23009‑1, that is test vectors comprising media presentation descriptions, segments, and combinations thereof that conform or do not conform to the normative clauses of ISO/IEC 23009‑1 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
22-Oct-2017
Withdrawal Date
22-Oct-2017
Current Stage
9599 - Withdrawal of International Standard
Start Date
07-Sep-2020
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 23009-2:2017 - Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 2: Conformance and reference software Released:10/23/2017
English language
70 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO/IEC 23009-2:2017 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:2017 specifies the conformance and reference software implementing the normative clauses of ISO/IEC 23009‑1, that is test vectors comprising media presentation descriptions, segments, and combinations thereof that conform or do not conform to the normative clauses of ISO/IEC 23009‑1 and corresponding software modules.

ISO/IEC 23009-2:2017 specifies the conformance and reference software implementing the normative clauses of ISO/IEC 23009‑1, that is test vectors comprising media presentation descriptions, segments, and combinations thereof that conform or do not conform to the normative clauses of ISO/IEC 23009‑1 and corresponding software modules.

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

You can purchase ISO/IEC 23009-2:2017 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
Second edition
2017-10
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 2017
© ISO/IEC 2017, 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 2017 – All rights reserved

Contents Page
Foreword .iv
Introduction .vi
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, 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
5.3 Dynamic MPD conformance . 4
5.3.1 General. 4
5.3.2 Background and requirements . 4
5.3.3 Dynamic conformance software design . 6
6 Segment conformance . 7
6.1 Overview . 7
6.2 Representation conformance . 8
6.2.1 ISO base media file format. 8
6.2.2 MPEG-2 transport stream . 9
6.3 Adaptation set conformance .12
6.3.1 ISO base media file format.12
6.3.2 MPEG-2 transport stream .14
6.4 Dynamic media presentation conformance .15
7 Profile specific conformance .15
7.1 ISO base media file format on demand profile .15
7.2 ISO base media file format live profile .15
7.3 ISO base media file format main profile .15
7.4 MPEG-2 transport stream simple profile .16
8 Conforming test vectors .16
9 Conformance software for ISO/IEC 23009-4 .16
9.1 General .16
9.2 Design limitations and assumptions .16
9.3 Usage.17
Annex A (normative) MPD conformance checking .18
Annex B (normative) Test vectors .58
Annex C (normative) DASH access engine reference software .61
Annex D (informative) Sample software .63
Annex E (informative) Dynamic media presentation emulator .66
Annex F (informative) Coverage of DASH features .67
Bibliography .70
© ISO/IEC 2017 – 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.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent
rights. Details of any patent rights identified during the development of the document will be in the
Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following
URL: www.iso.org/iso/foreword.html.
This document was prepared by Joint Techncial Committee ISO/IEC JTC 1, Information technology, SC 29,
Coding of audio, picture, multimedia and hypermedia information.
This second edition cancels and replaces the first edition (ISO/IEC 23009-2:2014), which has been
technically revised.
The main changes compared to the previous edition are as follows:
a) Conformance and reference software to cover all the features of ISO/IEC 23009-1:2014, including:
— Dynamic MPD conformance;
— Updates to MPEG-2 TS validator include:
— Added tests for:
— PES packet validity (complete access units);
— SAP types when the video stream is MPEG-4 AVC;
— Single segment index and representation indexes;
— Subsegment indexes and subsegment validity;
— Initialization segment information;
— System-level tests of common encryption;
— Bitstream switching segment;
— Segment alignment if @segmentAlignment is true;
— Subsegment alignment if @subsegmentAlignment is true;
iv © ISO/IEC 2017 – All rights reserved

— Simple profile tests.
— Changes made to usability:
— The conformance checker runs against an MPD and all of its segments at once;
— The build system has been replaced with Autotools.
b) Test vectors to cover the features of ISO/IEC 23009-1:2014.
c) Feature list and coverage for ISO/IEC 23009-1:2014 is provided in Annex F.
A list of all parts in the ISO/IEC 23009 series can be found on the ISO website.
© ISO/IEC 2017 – All rights reserved v

Introduction
The conformance and reference software of ISO/IEC 23009 serves three main purposes:
— validation of the written specification of the parts of ISO/IEC 23009;
— clarification of the written specification of the parts of ISO/IEC 23009;
— conformance testing for checking interoperability for the various applications against the reference
software which aims to be compliant with ISO/IEC 23009.
vi © ISO/IEC 2017 – All rights reserved

INTERNATIONAL STANDARD ISO/IEC 23009-2:2017(E)
Information technology — Dynamic adaptive streaming
over HTTP (DASH) —
Part 2:
Conformance and reference software
1 Scope
This document specifies the conformance and reference software implementing the normative clauses
of ISO/IEC 23009-1, that is test vectors comprising media presentation descriptions, segments, and
combinations thereof that conform or do not conform to the normative clauses of ISO/IEC 23009-1 and
corresponding software modules.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
ISO/IEC 19757-3, Information technology — Document Schema Definition Languages (DSDL) — Part 3:
Rule-based validation — Schematron
ISO/IEC 23009-1:2014, Information technology — Dynamic adaptive streaming over HTTP (DASH) —
Part 1: Media presentation description and segment formats
3 Terms, definitions, symbols and abbreviated terms
For the purpose of this document, the terms, definitions, symbols and abbreviated terms given in
ISO/IEC 23009-1 apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— IEC Electropedia: available at http://www.electropedia.org/
— ISO Online browsing platform: available at http://www.iso.org/obp
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:
— the conformance of the MPD according to Clause 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 Clause 6.
The process of MPD and segment conformance checking is shown in Figure 1.
© ISO/IEC 2017 – All rights reserved 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 validator;
— MPEG-2 TS segment validator;
— Conformance software for dynamic services.
All software tools are available through the MPEG SVN accessible via http://wg11.sc29.org/svn/
repos/MPEG-DASH/ (requires username/password which can be obtained through the ISO/IEC JTC1
SC 29 mirror committee of each member country). A snapshot of the software is also available in http://
standards.iso.org/ittf/PubliclyAvailableStandards/.
Additional supplamental software packages which may be used as sample DASH clients, sample
segmentor and web-based conformace service are listed in Annex D.
5 MPD conformance
5.1 General
This clause specifies the MPD conformance checking and corresponding software modules which
comprise the three steps depicted in Figure 2. Detailed means to perform MPD conformance checking
are provided in Annex A.
2 © ISO/IEC 2017 – All rights reserved

Figure 2 — MPD conformance checking
[10]
Step 1 (XLink Resolver): gets as an input an MPD document and resolves all W3C XLINK attributes
as defined in ISO/IEC 23009-1. If an error occurs, the corresponding error message shall be provided;
otherwise, the XLink resolved MPD document is provided. The details for this step of the MPD
conformance checking are defined in A.2.
Step 2 (XML Validator): gets as an input an XLink-resolved MPD document and performs XML
[11]
validation (i.e. well-formed and valid) against the MPD schema defined in W3C XML and W3C XML
[12]
SCHEMA. If 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 the MPD
conformance checking are defined in A.3.
Step 3 (Schematron Validator): gets as an input an XLink-resolved and schema-validated MPD
document and performs Schematron validation as defined in ISO/IEC 19757-3 according to the rules
defined in A.4.2. If 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 the MPD conformance checking are defined in A.4
The following command may be used to validate an MPD document with the chain depicted in Figure 2.
[3]
This requires Apache Ant .
ant run –Dinput=ʺfiletovalidate.mpdʺ

The program outputs a message for each step. If an error occurs during one step, the following steps are
not executed.
All conformance tools are available through the MPEG SVN and MPEG Conformance repository
accessible via http://wg11.sc29.org/svn/repos/MPEG-DASH/ (requires username/password which can
be obtained through the ISO/IEC JTC 1 SC 29 mirror committee of each member country). A snapshot of
the tools is also available in http://standards.iso.org/ittf/PubliclyAvailableStandards/.
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. This function shall return true for all
Segments in the MPD during the time interval defined by the MPD@availabilityStartTime and the
© ISO/IEC 2017 – All rights reserved 3

MPD@availabilityEndTime. The following snippet shows an example for the remoteFileExists
function written in PHP.
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;
}
5.3 Dynamic MPD conformance
5.3.1 General
To ensure that servers offering a dynamic DASH media presentation adhere to the timing requirements
and that clients are able to properly consume the dynamic presentation without observing unavailable
segments, the DASH conformance software is extended to include and address media presentations with
MPD@type=ʹdynamicʹ. In 5.3, the requirements which go beyond those for static DASH conformance
are listed and a functional description of the conformance software implementation is provided.
[1]
The document is aligned with the guidelines for live services as documented in ISO/IEC/TR 23009-3 .
5.3.2 Background and requirements
5.3.2.1 MPD-specific checks
Clients make use of the information in an MPD. Based on an MPD that is fetched at a certain fetch time
FT the client can determine the following information:
a) At any time, WT where WT ≥ FT, a client can determine:
1) the latest available period on the server, denoted by its Period start time PS*;
2) the segment availability start time of any segment at position k within the Period, denoted as
SAST(k);
3) the position of the latest segment that is available on server in the Period, referred to as k*;
4) the URL of the latest segment that is available within this Period;
5) the time when to fetch a new MPD based on the current presentation time, or more specifically,
the greatest segment position k' within this Period that can be constructed by this MPD;
6) the media presentation time within the Representation that synchronizes closest to the live
edge, MPTL;
4 © ISO/IEC 2017 – All rights reserved

7) the media presentation time within the Representation that synchronizes to other clients, MPTS.
b) At any time, WT, all segments with availability start time at or before WT and availability end time
at or before WT are accessible.
c) An updated MPD is made available on time, taking into account the minimum update period (MUP)
of the MPD. Note that by not updating the MPD, the existing MPD is validated for another MUP time.
Detailed equations to derive segment availability times are provided in ISO/IEC 23009-1 and ISO/IEC/
[1]
TR 23009-3 . When providing an MPD, the content author ensures that the segment availability times
can be derived.
5.3.2.2 MPD times
In order to use the same concepts with different timing and addressing schemes, the following values
are introduced according to ISO/IEC 23009-1:
— the position of the segment in the Period denoted as k with k=1,2,.;
— the MPD start time of the segment at position k, referred to as MST(k);
— the MPD duration of a segment at position k, referred to as MD(k).
Assuming that the wall-clock time at the client is denoted as WT, the client can derive the following
information.
5.3.2.3 General derivation
Using these times, the values from above can be derived as follows.
— The latest Period is the Period for which AST + PS + MD(1) ≤ WT where AST is the value of the MPD@
availabilityStartTime and PS is the PeriodStart as defined in ISO/IEC 23009-1.
— The segment availability start time is obtained as
SAST(k) = AST + PS + MST(k) + MD(k)
— Within this Period, the latest segment available on the server is the segment at the position k* which
results in the greatest value for SAST(k*) and at the same time is smaller than WT.
— The address of the latest segment can be derived using the position information k*. The exact value
depends on the addressing method.
— Within this Period, the greatest segment position k' that can be constructed by this MPD is the one
that results in the greatest value for SAST(k') and at the same time is smaller than FT + MUP.
The media presentation time in a Period is determined for each Representation as the presentation
time value of the media segments minus the value of the @presentationTimeOffset, if present, for
each Representation.
It is further assumed that a segment at position k has an assigned earliest media presentation time EPT(k).
5.3.2.4 Requirements
When receiving an MPD, the DASH client is guaranteed that:
— Each segment at position k in this Period is available prior to the sum of its earliest presentation
time and its duration; SAST(k) ≤ EPT(k) + MD(k).
— If each segment with segment number k is delivered starting at SAST(k) over a constant bitrate channel
with bitrate equal to the value of the @bandwidth attribute, then each sample with presentation
time PT shall be available at the client by the time given by PT + (AST + PS) + MBT + MD(k).
© ISO/IEC 2017 – All rights reserved 5

— Each segment in this Period shall be available at least until SAST(k) + TSB + MD(k).
— The MPD can be used to construct and request segments until media time FT + MUP. The greatest
segment position k' that can be constructed by this MPD shall be the one that results in the greatest
value for SAST(k') and at the same time is smaller than FT + MUP. Note that the latest segment may
be significantly shorter in duration than MD(k).
In addition, updates of the MPD shall be consistent according to ISO/IEC 23009-1:2014, 5.4.
5.3.3 Dynamic conformance software design
5.3.3.1 Overview
The implementation of the conformance software for dynamic services requires the implementation of
the requirements in 5.3.2.4. The process is split into two parts:
— the creation of a data set by recording/monitoring a dynamic service;
— the actual conformance checks implementing the checks of the requirements.
5.3.3.2 Data set creation
Two different cases are considered depending on the access bandwidth to the server.
In case 1, it is assumed that the conformance checker is operating with a very high (infinite) access
bandwidth and minimal delay. Then the initial part is as follows.
a) Download and store the MPD, and record the fetch time FT of the MPD.
b) Determine the following information.
1) The smallest segment availability start time greater than FT of any Segment in any
Representation referred to as SAST .
min
2) The URLs of all segments available at SAST . If multiple segments are available at the same
min
time, determine all of them.
c) For all segments with segment availability, end time greater than FT and smaller than SAST ,
min
generate the URL, issue an HTTP HEAD request, and record the HTTP header.
d) At time SAST issue HTTP GET requests for all segments that become available at this time,
min
record the HTTP headers and store the segments.
e) Go to a) and download the next MPD at FT = SAST .
min
f) Continue the process until manually stopped or the media presentation is ended.
In case 2, if the bandwidth connection is restricted, apply the following.
a) Download and store the MPD, and record the fetch time FT of the MPD.
b) Determine the following information.
1) The smallest segment availability start time greater than FT of any segment in any
Representation referred to as SAST .
min
2) The URLs of all segments available at SAST . If multiple segments are available at the same
min
time, determine all of them.
c) For all segments with segment availability end time greater than FT and smaller than SAST ,
min
generate the URL, issue an HTTP HEAD request, and record the HTTP headers.
6 © ISO/IEC 2017 – All rights reserved

d) For selected representations, issue an HTTP GET for segments that are available at this time.
e) At time SAST issue HTTP HEAD for all segments that become available at this time and record
min
the HTTP headers.
f) Go to a) and download the next MPD at FT = SAST .
min
g) Continue the process until manually stopped or the media presentation is ended.
This initial operation results in a data set as follows:
a) a sequence of MPDs, each with a FT;
b) a set of Segment URLs with associated:
1) SAST;
2) fetch time for segment availability start time request (typically SAST);
3) HTTP headers for segment availability start time request;
4) segment availability end time (SAET);
5) fetch time for segment availability end time request (typically just slightly before the SAET);
6) HTTP headers for segment availability end time request;
c) at least for a selected set of representations, the corresponding segments.
From the sequence of the MPDs, a single new MPD can be generated with MPD@type=static that
includes all segments.
5.3.3.3 Conformance checks
The conformance checks operate on the stored data set and include the following checks:
— the correctness of the sequence of MPDs as documented in ISO/IEC 23009-1:2014, 5.4.
— all MPD timing aspects and segment availability times as documented in ISO/IEC 23009-1:2014, 5.3.
— the static conformance checks using the single MPD according to 5.2.
6 Segment conformance
6.1 Overview
Segment conformance requirements verify that the segments offered in the MPD conform to the DASH
specification.
This includes the conformance requirements for:
— segments offered within one representation (for details, refer to 6.2);
— representations offered within one adaptation set (for details, refer to 6.3);
— segments offered in a dynamic media presentation (for details, refer to 6.4).
All conformance tools are available through the MPEG SVN and MPEG conformance repository
accessible via http://wg11.sc29.org/svn/repos/MPEG-DASH/ (requires username/password which can
be obtained through the ISO/IEC JTC 1 SC 29 mirror committee of each member country). A snapshot of
the tools is also available in http://standards.iso.org/ittf/PubliclyAvailableStandards/.
© ISO/IEC 2017 – All rights reserved 7

6.2 Representation conformance
6.2.1 ISO base media file format
The representation conformance rules, as well as the implementation status of the conformance rules
for ISO base media file format segments, are provided in Table 1.
Table 1 — Representation conformance rules for ISO base media file format
Clause in Conformance check
Rule
ISO/IEC 23009-1 implementation
Media Segment formats shall comply with the respec-
1 6.1 Implemented
tive container formats (ISO BMFF and MPEG-2 TS).
The Initialization Segment shall not contain any media
2 6.2.1 Implemented
data with an assigned presentation time
A Media Segment shall contain a number of complete
3 6.2.1 Implemented
access units.
If it is the first Media Segment in the Representation, it
4 6.2.1 shall contain only media streams that start with a SAP Implemented
of type 1 or 2.
A Media Segment shall contain sufficient informa-
tion to time-accurately present each contained media
component in the Representation without accessing
5 6.2.1 Implemented
any previous Media Segment in this Representation
provided that the Media Segment contains a SAP for
each media stream.
A Media Segment shall specify all Media Presentation
times relative to the start of the Period and compensat-
ed 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.
6 6.2.3.2 Implemented
a)  earliest_presentation_time shall be equal to the
sum of all temporally preceding subsegments in the
representation.
b) The duration of a subsegment indexed by an ‘sidx’
shall be equal to the sum of the durations of all the sub-
segments it indices.
A media data box containing data referenced by a movie
fragment (‘moof’) box shall follow that movie fragment
7 6.3.2.1 Implemented
box and precede the next movie fragment box, if any,
containing information about the same track.
For a Media Subsegment, the value of the reference_
8 6.3.2.1 type field in the describing Segment Index (‘sidx’) box Implemented
shall be set to 0.
If the Segment Index is provided, the Segment Index
9 6.3.2.3 Implemented
(‘sidx’) box in ISO/IEC 14496-12 shall be used.
If the Subsegment Index is provided, the Subsegment
10 6.3.2.4 Implemented
Index (‘ssix’) box in ISO/IEC 14496-12 shall be used.
The Initialization Segment shall contain an “ftyp” box,
11 6.3.3 Implemented
and a “moov” box.
12 6.3.3 It shall not contain any “moof” boxes. Implemented
The tracks in the “moov” box shall contain no samples
13 6.3.3 (i.e. the entry_count in the “stts”, “stsc”, and “stco” boxes Implemented
shall be set to 0).
8 © ISO/IEC 2017 – All rights reserved

Table 1 (continued)
Clause in Conformance check
Rule
ISO/IEC 23009-1 implementation
The “mvex” box shall be contained in the “moov” box.
14 6.3.3 The “mvex” box also sets default values for the tracks Implemented
and samples of the following movie fragments.
‘styp’ box, if present, shall carry ‘msdh’ as a compati-
15 6.3.4.2 Implemented
ble brand.
Each Media Segment shall contain one or more whole
self-contained movie fragments. A whole, self-contained
movie fragment is a movie fragment (‘moof’) box and
16 6.3.4.2 Implemented
a media data (‘mdat’) box that contains all the media
samples that do not use external data references refer-
enced by the track runs in the movie fragment box.
17 6.3.4.2 Each ‘moof’ box shall contain at least one track fragment. Implemented
The ‘moof’ boxes shall use movie-fragment relative ad-
dressing for media data that does not use external data
18 6.3.4.2 references, the flag ‘default-base-is-moof’ shall be set, Implemented
and data-offset shall be used, i.e. base-data-offset-pres-
ent shall not be used.
19 6.3.4.2 Each ‘traf’ box shall contain a ‘tfdt’ box. Implemented
Each Media Segment may contain one or more ‘sidx’
boxes. If ‘sidx’ is present in a Media Segment, the first
20 6.3.4.2 ‘sidx’ box shall be placed before any ‘moof’ box and Implemented
the first Segment Index box shall document the entire
Segment.
In each self-contained movie fragment, the movie
21 6.3.4.3 fragment (‘moof’) box is immediately followed by its Implemented
corresponding media data (‘mdat’).
Each Media Segment shall contain one or more ‘sidx’
22 6.3.4.3 Implemented
boxes.
The first ‘sidx’ box shall be placed before any ‘moof’ box
23 6.3.4.3 and shall document Subsegments that span the compo- Implemented
sition time of the entire Segment.
Each Media Segment shall carry ‘msix’ as a compati-
24 6.3.4.3 Implemented
ble brand.
The Subsegment Index box (‘ssix’) shall be present
and shall follow immediately after the ‘sidx’ box that
25 6.3.4.4 Implemented
documents the same Subsegment. This immediately
preceding ‘sidx’ shall only index Media Subsegments.
It shall carry ‘sims’ in the Segment Type box (‘styp’) as
26 6.3.4.4 Implemented
a compatible brand.
The Indexed Self-Initializing Media Segment shall carry
27 6.3.5.2 Implemented
‘dash’ as a compatible brand.
If the Representation is continuously delivered at this
bitrate, starting at any SAP that is indicated either by @
startWithSAP or by any Segment Index box, a client can
28 5.3.5.2 be assured of having enough data for continuous play- Implemented
out providing playout begins after @minBufferTime
* @bandwidth bits have been received (i.e. at time @
minBufferTime after the first bit is received).
6.2.2 MPEG-2 transport stream
The representation conformance rules, as well as the implementation status of the conformance rules
for MPEG-2 transport stream based segments, are provided in Table 2.
© ISO/IEC 2017 – All rights reserved 9

Table 2 — Representation conformance rules for MPEG-2 transport stream
Clause in Conformance check
Rule
ISO/IEC 23009-1 implementation
Media Segment formats shall comply with the respec-
1 6.1 Implemented
tive container formats (ISO BMFF and MPEG-2 TS).
The Initialization Segment shall not contain any media
2 6.2.2 Implemented
data with an assigned presentation time
A Media Segment shall contain a number of complete
3 6.2.3.1 Implemented
access units.
If it is the first Media Segment in the Representation, it Implemented for AVC
4 6.2.3.1 shall contain only media streams that start with a SAP streams (not verifiable on
of type 1 or 2. container level)
A Media Segment shall contain sufficient information to
time-accurately present each contained media compo-
nent in the Representation without accessing any pre-
5 6.2.3.1 Implemented
vious Media Segment in this Representation provided
that the Media Segment contains a SAP for each media
stream (not verifiable on container level).
A Media Segment shall specify all Media Presentation
times relative to the start of the Period and compensat-
ed 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.
6 6.2.3.1 Implemented
a)  earliest_presentation_time shall be equal to the
sum of all temporally preceding subsegments in the
representation.
b)  The duration of a subsegment indexed by an ‘sidx’
shall be equal to the sum of the durations of all the sub-
segments it indices.
A subsegment shall contain complete access units for
7 6.4.2.1 the indexed media stream (i.e. stream for which refer- Implemented
ence_ID equals PID)
PES packet starting at I shall contain only an integral
SAU
8 6.4.2.2 Implemented
number of access units and shall contain a PTS.
If the Segment Index is provided the Segment Index
9 6.4.2.3 (‘sidx’) box in ISO/IEC 14496-12 shall be used for Seg- Implemented
ment Indexing.
reference_ID field of `sidx` box shall be the PID value of
10 6.4.2.3 Implemented
the indexed stream.
All media offsets within `sidx` boxes shall be to the first
11 6.4.2.3 Implemented
(sync) byte of a TS packet
If the Subsegment Index is provided, the Subsegment
12 6.4.2.4 Index (‘ssix’) box in ISO/IEC 14496-12 shall be used for Implemented
indexing byte ranges within a subsegment
All media offsets within ‘ssix’ boxes shall be to the first
13 6.4.2.4 Implemented
(sync) byte of a TS packet
An Initialization Segment shall be a valid MPEG-2 TS,
14 6.4.3.2 Implemented
conforming to ISO/IEC 13818-1.
The concatenation of an Initialization Segment with any
15 6.4.3.2 Media Segment shall have the same presentation dura- Implemented
tion as the original Media Segment.
10 © ISO/IEC 2017 – All rights reserved

Table 2 (continued)
Clause in Conformance check
Rule
ISO/IEC 23009-1 implementation
The Initialization Segment shall contain mandatory
untimed initialization information as defined in ISO/
IEC 23009-1:2014, 6.4.3.1 in this order:
16 6.4.3.2 Implemented (w/o ECM)
a)  PAT;
b)  PMT;
c)  If MPEG-2 Conditional Access is used, ECM.
Media Segments shall contain complete MPEG-2 TS
17 6.4.4.2 Implemented
packets
18 6.4.4.2 Media Segments shall contain exactly one program Implemented
All time-varying initialization information shall be
19 6.4.4.2 present between I and I and/or in the Index Seg- Implemented
SAP SAU
ment, if present.
No Media Segment shall depend on initialization infor-
20 6.4.4.2 Implemented
mation appearing in any preceding Media Segment.
All information necessary for decrypting, or locating
information required to decrypt, the encrypted TS
packets in a (Sub)Segment shall be present before the Implemented (as much as
21 6.4.4.3
encrypted packet(s) to which they apply, either in the possible)
same (Sub)Segment, and/or in the Initialization Seg-
ment (if used).
A Self-initializing Media Segment shall contain, at the
22 6.4.4.4 least, all mandatory untimed and timed initialization Implemented
information as defined in ISO/IEC 23009-1:2014, 6.4.3.1.
A Bitstream Switching Segment shall be a valid MPEG-2
23 6.4.5 Implemented
TS, conforming to ISO/IEC 13818-1.
A Bitstream Switching Segment, when concatenated
24 6.4.5 with any Media Segment, shall not alter the Media Pres- Implemented
entation timeline for the corresponding Media Segment.
If initialization information is carried within a Bit-
stream Switching Segment, it shall be identical to the
25 6.4.5 Implemented
one in the Initialization Segment, if present, of the
Representation.
An Single Index Segment indexes exactly one Media
Segment and is defined as follows:
a)  Each Single Index Segment shall begin with an ‘styp’
26 6.4.6.2 Implemented
box, and the brand ‘sisx’ shall be present in the ‘styp’ box.
b)  Each Single Index Segment shall contain one or more
Segment Index boxes which index one Media Segment.
If present, the ‘ssix’ shall follow the ‘sidx’ box that doc-
27 6.4.6.2 uments the same Subsegment without any other ‘sidx’ Implemented
preceding the ‘ssix'.
If present, ‘pcrb’ shall follow the ‘sidx’ box that docu-
28 6.4.6.2 Implemented
ments the same Subsegments.
Each Representation Index Segment shall begin with an
29 6.4.6.3 ‘styp’ box, and the brand ‘risx’ shall be present in the Implemented
‘styp’ box.
© ISO/IEC 2017 – All rights reserved 11

Table 2 (continued)
Clause in Conformance check
Rule
ISO/IEC 23009-1 implementation
The Segment Index for each Media Segments is concate-
nated in order, preceded by a single Segment Index box
that indexes the Index Segment. This initial Segment
30 6.4.6.3 Implemented
Index box shall have one entry in its loop for each Media
Segment, and each entry refers to the Segment Index
information for a single Media Segment.
It shall be either a Single Index Segment or a Represen-
31 6.4.6.4 Implemented
tion Index Segment.
The Subsegment Index box (‘ssix’) shall be present and
32 6.4.6.4 shall follow immediately after the ‘sidx’ box that docu- Implemented
ments the same Subsegment.
The value of the reference_type field shall be equal to
33 6.4.6.4 0 for this Subsegment in this immediately preceding Implemented
Segment Index (‘sidx’) box.
34 6.4.6.4 If the 'pcrb' box is present, it shall follow 'ssix'. Implemented
It shall carry ‘ssss’ in the Segment Type box (‘styp’) as a
35 6.4.6.4 Implemented
compatible brand.
The Media Presentation shall be provided such that
36 7.1 no mismatch between the media stream and the MPD Implemented
occurs.
6.3 Adaptation set conformance
6.3.1 ISO base media file format
The adaptation set conformance rules, as well as the implementation status of the conformance rules
for ISO base media file format segments, are provided in Table 3.
12 © ISO/IEC 2017 – All rights reserved

Table 3 — Adaptation set conformance rules for ISO base media file format
Clause in Conformance check
Rule
ISO/IEC 23009-1 implementation
If a Segment Index is present in a Media Segment of one
Representation within an Adaptation Set, then the follow-
ing shall hold.
a)  The order of Segment Index boxes for multiple media
streams induces an ordering on the media content com-
ponents equal to the order in which a Segment Index box
for a media stream for each component first appears.
1 7.2.2 Implemented
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.
b) Non-indexed media streams in all Representations of an
Adaptation Set shall have the same access unit duration.
As a consequence of @bitstreamSwitching being set to
‘true’, the following conditions are satisfied.
a)  The track IDs for the same media content component are
identical for each Representation in each Adaptation Set.
b)  The conditions required for setting the @segmen-
tAlignment attribute to a value other than 'false' for the
2 7.3.3.2 Implemented
Adaptation Set are fulfilled.
c)  The conditions required for setting the @startWith-
SAP attribute to 2 for the Adaptation Set, or 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 Adapta-
tion Set, are fulfilled.
If a SubRepresentation element is present in a Rep-
resentation in the MPD and the attribute SubRepresenta-
tion@level is present, then the Media Segments in this
3 7.3.4 Representation shall conform to a Sub-Indexed Media Implemented
Segment as defined in ISO/IEC 23009-1:2014, 6.3.4.4. The
Initialization Segment shall contain the Level Assignment
(‘leva’) box.
© ISO/IEC 2017 – All rights reserved 13
...

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...