Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 8: Session-based DASH operations

This document specifies the format of the Session-Based Description document and the MPD's extension to be used in session-based operations with MPEG DASH (ISO/IEC 23009-1).

Technologies de l'information — Diffusion adaptative dynamique sur HTTP (DASH) — Partie 8: Opérations de DASH basées sur la session

General Information

Status
Published
Publication Date
14-Feb-2022
Current Stage
9599 - Withdrawal of International Standard
Start Date
04-Aug-2025
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 23009-8:2022 - Information technology — Dynamic adaptive streaming over HTTP (DASH) — Part 8: Session-based DASH operations Released:2/15/2022
English language
19 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 23009-8
First edition
2022-02
Information technology — Dynamic
adaptive streaming over HTTP
(DASH) —
Part 8:
Session-based DASH operations
Technologies de l'information — Diffusion adaptative dynamique sur
HTTP (DASH) —
Partie 8: Opérations de DASH basées sur la session
Reference number
© ISO/IEC 2022
© ISO/IEC 2022
All rights reserved. Unless otherwise specified, or required in the context of its implementation, 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
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
© ISO/IEC 2022 – All rights reserved

Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, abbreviated terms and notations . 1
3.1 Terms and definitions . 1
3.2 Abbreviated terms . 2
3.3 Notation . 2
4 General overview .3
4.1 Sessions and session parameters. 3
4.2 General architecture . 3
4.3 Timeline and orderline addressing . 4
5 MPD signalling for SBD . .4
5.1 General . 4
5.2 SBD descriptor . 5
5.2.1 General . 5
5.2.2 Semantics . 5
5.2.3 XML schema . 5
6 SBD document format . 6
6.1 Overview . 6
6.2 KeyValue Object . 6
6.2.1 Semantics . 6
6.2.2 JSON schema . 9
7 Client operation .13
7.1 Normative requirements .13
7.2 Processing model (informative) . 13
7.2.1 Building SBD timeline/orderline table . 13
7.2.2 Parameter value derivation . 14
7.2.3 Segment request . 14
8 Examples .14
8.1 General . 14
8.2 MPD . . 14
8.3 Session-based description document . 15
8.3.1 Example 1: Timeline .15
8.3.2 Example 2: Orderline .15
8.4 Operation . 16
9 Example applications – Forensic watermarking .16
Annex A SBD MIME type .18
Bibliography .19
iii
© ISO/IEC 2022 – All rights reserved

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.
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 or
www.iec.ch/members_experts/refdocs).
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) or the IEC
list of patent declarations received (see https://patents.iec.ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of 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
www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.
This document was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
A list of all parts in the ISO/IEC 23009 series can be found on the ISO and IEC websites.
Any feedback or questions on this document should be directed to the user’s national standards
body. A complete listing of these bodies can be found at www.iso.org/members.html and
www.iec.ch/national-committees.
iv
© ISO/IEC 2022 – All rights reserved

Introduction
Dynamic adaptive streaming over HTTP (DASH) enables media-streaming model for delivery of
media content in which control lies exclusively with the client. Clients may request data using the
HTTP protocol from standard web servers that have no DASH-specific capabilities. Consequently, the
ISO/IEC 23009 series focuses not on client or server procedures but on the data formats used to provide
a DASH Media Presentation.
This document provides methods, interfaces and data for session-based operations to be used with the
DASH standard. Session-based operations allows customization of requested segment URLs based on
the information provided for a specific streaming session.
v
© ISO/IEC 2022 – All rights reserved

INTERNATIONAL STANDARD ISO/IEC 23009-8:2022(E)
Information technology — Dynamic adaptive streaming
over HTTP (DASH) —
Part 8:
Session-based DASH operations
1 Scope
This document specifies the format of the Session-Based Description document and the MPD's extension
to be used in session-based operations with MPEG DASH (ISO/IEC 23009-1).
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 23009-1:2019, Information technology — Dynamic adaptive streaming over HTTP (DASH) —
Part 1: Media presentation description and segment formats
IETF RFC 7230, Hypertext Transfer Protocol — HTTP/1.1, June 2014
IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, January 2005
IETF RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format, December 2017
3 Terms, definitions, abbreviated terms and notations
3.1 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https:// www .iso .org/ obp
— IEC Electropedia: available at https:// www .electropedia .org/
3.1.1
SBDStart
starting time of the session-based description
3.1.2
session
sequence of DASH client actions resulting in a unique playback of a media asset
3.1.3
session-based description
collection of timed key-value pairs providing a value given a time range within the session
3.1.4
session-based client
client capable of parsing SBD and adding queries to the DASH segment requests accordingly
© ISO/IEC 2022 – All rights reserved

3.1.5
sidecar document
document that stores data which is not supported by the format of the main document
3.2 Abbreviated terms
DASH dynamic adaptive streaming over HTTP, as specified in ISO/IEC 23009-1
HTTP hypertext transfer protocol, as specified in RFC 7230 (HTTP/1.1).
HTTPS secure version of the hypertext transfer protocol
ISO-BMFF ISO Base Media File Format, as specified in ISO/IEC 14496-12
MIME multipurpose internet mail extensions, as specified in RFC 6838
MPD media presentation description, as specified in ISO/IEC 23009-1
SBD session-based description, as defined in this document
URI uniform resource identifier
URL uniform resource locator
URN uniform resource name
3.3 Notation
This document follows the notation used in ISO/IEC 23009-1.
The following naming conventions apply in this document:
— Elements in an XML document are identified by an upper-case first letter and in boldface as Element.
To express that an element Element1 is contained in another element Element2, the following
format is used: Element2.Element1. If an element's name consists of two or more combined words,
PascalCase is typically used, e.g. ImportantElement. Elements may be present either exactly once, or
the minimum and maximum occurrence as defined by . .
— Attributes in an XML document are identified by a lower-case first letter and they are preceded
by an '@'-sign, e.g. @attribute. To point to a specific attribute @attribute contained in an element
Element, one may write Element@attribute. If an attribute's name consists of two or more combined
words, camelCase is typically used after the first word, e.g. @veryImportantAttribute. Attributes
may have assigned a status in the XML as mandatory (M), optional (O), optional with a default value
(OD), and conditionally mandatory (CM).
— Namespace qualification of elements and attributes is used as per XML standards, in the form of
namespace:Element or @namespace:attribute. The fully qualified namespace is provided in the
schema fragment associated with the declaration. External specifications extending the namespace
of DASH are expected to document the element name in the semantic table with an extension
namespace prefix.
— JSON items are identified by a lower-case first letter. If an item consists of two or more combined
words, camel-casing is typically used.
— Variables defined in the context of this document are specifically highlighted with italics, e.g.,
InternalVariable.
— The term "this clause" refers to the entire clause included within the same first heading number.
The term "this subclause" refers to all text contained in the subclause with the lowest hierarchy
heading.
© ISO/IEC 2022 – All rights reserved

4 General overview
4.1 Sessions and session parameters
While the DASH viewing session per client is a unique interaction, the MPD is often cached on the Content
Delivery Network (CDN) and shared by multiple viewing sessions of the same asset. The session-based
description mechanism allows adding session-specific elements to segment URLs without generating
unique per-session MPDs.
Session parameter strings are strings pertaining to a specific time range on the timeline. These strings
are parsed by the Session-based description client and are translated into parameters to be added to
HTTP segment request(s) issued by the DASH client.
A Session-Based description Document (SBD) includes the time ranges and the corresponding strings,
along with additional metadata. The SBD is referenced in the MPD by its URL. This clause describes the
overall SBD data model.
For example, let parameters "p1" and "p2" to be expected carrying information in the query part of the
segment request URL. For time range 00:00:00-00:00:42, the "p1" value is "foo" and the "p2" value is 42.
For the time range 00:00:42-00:04:20, "p1" is "bar" and "p2" is 420. In the case of two-second segments,
the first 21 segments would include "p1=foo&p2=42" as a part of their URL query parameters, and the
following 109 segments would include "p1=bar&p2=420" as a part of the segment URL in the HTTP GET
request.
The information carried in SBD can be conceptually presented in a table with each row corresponding
to a time range, and each column corresponding to one named parameter. Table 1 demonstrates the
conceptual layout of SBD carrying the information for the above example.
Table 1 — Conceptual sidecar document layout
Start time p1 p2
00:00:00 foo 42
00:00:42 bar 420
00:04:20 null null
4.2 General architecture
Figure 1 shows the general architecture for session-based DASH operations.
Figure 1 — High-level architecture of session-based DASH operations.
© ISO/IEC 2022 – All rights reserved

In this figure, the media content is described by MPD, and the corresponding media segments are
delivered in the media delivery path. MPD also has a reference to an external document, Session-Based
Description (SBD) document, which defines the variables and their values for the current session. SBD
is parsed and interpreted by an SBD client.
This SBD client is conceptually a simple timed key-value store. It accepts requests for a named variable
value given a time range and returns a string value.
The DASH client uses the variables and the associated values provided in the SBD to derive an added
part to the segment URL’s query when the segment is requested using HTTP GET.
Note that there may be multiple session controllers controlling multiple aspects of the session, each of
which providing one SBD document (e.g., one controlling forensic watermarking and another controlling
access tokens).
Note This document does not preclude the use of newer versions of HTTP, such as HTTP/2, as this document
only relies on the existence of the GET method.
4.3 Timeline and orderline addressing
The SBD document may conceptually include one or more tables, each containing the key-value pair
assignments for different time intervals, as shown in Table 2.
Table 2 — An example of SBD timing table
Start time k k … k
1 2 n
t v v … v
1 1,1 1,2 1,n
t v v … v
2 2,1 2,2 2,n
… … … … …
t v v … v
m m,1 m,2 m,n
In Table 2, t indicates the moment i in the media timeline, and (k , v ) are the key-value pair j for time
i j i,j
interval (t , t ).
i i+1
Alternatively, The SBD document may conceptually include one or more tables, each containing the key-
value pair information for segments order as shown in Table 3.
Table 3 — An example of SBD order table
Order k k … k
1 2 n
n v v … v
1 1,1 1,2 1,n
n v v … v
2 2,1 2,2 2,n
… … … … …
n v v … v
m m,1 m,2 m,n
In Table 3, n indicates segment i and (k , v ) are the key-value pair j for all segments from segment i to
i j i,j
segment i + 1 but not including segment i + 1.

5 MPD signalling for SBD
5.1 General
To signal the session-based information in the DASH manifest, a descriptor is defined in this clause.
This descriptor shall be used in MPD, ISO/IEC 23009-1.
© ISO/IEC 2022 – All rights reserved

5.2 SBD descriptor
5.2.1 General
An SBD descriptor is an EssentialProperty descriptor with URN “urn: mpeg: dash: sbd: 2020” as its @
schemeIdUri and may contain one or more KeyList elements, as is shown in Table 4.
5.2.2 Semantics
Table 4 — MPD EssentialProperty Descriptor attributes for session-based DASH
Element or Attribute Name Use Description
EssentialProperty
instantiation of EssentialProperty (defined in ISO/IEC 23009-
1) for session-based DASH operations
@schemeIdUri
M (string) shall be set to “urn: mpeg: dash: sbd: 2020”.

@value
M (string) URL of the SBD document for this session
@template
O template for applying to the key-value pair found in SBD
document. When the value of a Key@name in the @template is
found in the SBD document, its corresponding key-value pair
of SBD document shall replace the string between unescaped
‘$’ characters in the @template.
The @template value shall have no whitespace characters.
If absent, Key@name and its corresponding value in the SBD
document, separated by ‘=’, shall be added to the end of the
query, where each consecutive key-value pairs are separated
by ‘&’. The order of key-value pairs in the query is defined by
the order of Key elements in this descriptor.
Key
1.N a key name to be found in SBD document and its default value.
If absent, all keys and corresponding values in the correspond-
ing keyList of the SBD document shall be added to the (sub)
segment request URL query.
@name
M Name of the key of the SBD document to be added t
...

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