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 media presentation description's (MPD) extension to be used in session-based operations with ISO/IEC 23009-1 (MPEG DASH).

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
03-Aug-2025
Current Stage
6060 - International Standard published
Start Date
04-Aug-2025
Due Date
05-Jul-2025
Completion Date
04-Aug-2025
Ref Project

Relations

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

Standards Content (Sample)


International
Standard
ISO/IEC 23009-8
Second edition
Information technology — Dynamic
2025-08
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 2025
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
© ISO/IEC 2025 – All rights reserved
ii
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 . . 5
5.1 General .5
5.2 SBD descriptor .5
5.2.1 General .5
5.2.2 Semantics .5
5.2.3 XML schema .8
6 SBD document format . 8
6.1 Overview .8
6.2 KeyValue Object .9
6.2.1 Semantics .9
6.2.2 JSON schema .11
7 Client operation .11
7.1 Normative requirements .11
7.2 Processing model . 12
7.2.1 Building SBD timeline/orderline table . 12
7.2.2 Parameter value derivation . 12
7.2.3 Segment request . 12
8 Examples .13
8.1 General . 13
8.2 MPD . . 13
8.3 Session-based description document . 13
8.3.1 Example 1: Timeline . 13
8.3.2 Example 2: Orderline .14
8.4 Operation .14
9 Example applications . 14
9.1 Forensic watermarking .14
Annex A (normative) SBD MIME type .16
Bibliography . 17

© ISO/IEC 2025 – 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.
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).
ISO and IEC draw attention to the possibility that the implementation of this document may involve the
use of (a) patent(s). ISO and IEC take no position concerning the evidence, validity or applicability of any
claimed patent rights in respect thereof. As of the date of publication of this document, ISO and IEC had not
received notice of (a) patent(s) which may be required to implement this document. However, implementers
are cautioned that this may not represent the latest information, which may be obtained from the patent
database available at www.iso.org/patents and https://patents.iec.ch. ISO and IEC shall not be held
responsible for identifying any or all such patent rights.
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.
This second edition cancels and replaces the first edition (ISO/IEC 23009-8:2022), which has been technically
revised.
The main changes are as follows:
— URL customization and other extensions.
A list of all parts in the ISO/IEC 23090 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.

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

© ISO/IEC 2025 – All rights reserved
v
International Standard ISO/IEC 23009-8:2025(en)
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 media presentation
description's (MPD) extension to be used in session-based operations with ISO/IEC 23009-1 (MPEG DASH).
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, Information technology — Dynamic adaptive streaming over HTTP (DASH) Part 1: Media
presentation description and segment formats
IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax
IETF RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format
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:// 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 description client
SBD client
client capable of parsing SBD and adding queries to the DASH segment requests accordingly

© ISO/IEC 2025 – 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 IETF 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 2025 – 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 (SBD) client and are translated into parameters to be added to
HTTP 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.
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

© ISO/IEC 2025 – All rights reserved
(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 changes to the
URL as well as an added query when the segment is requested using HTTP GET.
Note that there may be multiple session controllers controlling multiple aspects of the session (as also
shown in Figure 1) , each of which providing one SBD document (e.g. one controlling forensic watermarking
and another controlling access tokens).
As shown in the above figure, Session Client may apply its processing to the segment URL generated by
the DASH Access Client, after retrieving enough information from the MPD in the DASH Access client. The
SBD operations does not intercept the DASH Access Client operation other than changing the segment URL
before DASH Access Client making the segment request.
NOTE This document does not preclude the use of newer versions of HTTP, such as HTTP/2, as this standard only
relies on the existence of the GET method, i.e. the session based DASH operations can be applied to the GET requests of
any protocol.
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.

© ISO/IEC 2025 – All rights reserved
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.
5.2 SBD descriptor
5.2.1 General
An SBD descriptor shall conform to the EssentialProperty descriptor of ISO/IEC 23009-1, with URN
“urn:mpeg:dash:sbd:2020” as its @schemeIdUri and may contain one or more KeyListelements, 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
@urlClass
OD specifies which HTTP GET requests shall be the subject to
SBD processing. Value is a white spaced concatenated list of
(default: the following keys:
"segment")
1) "segment" (all segment requests)",
2) "xlink" (all XLink resolution requests),
3) "mpd" (all MPD requests),
4) "callback" (all requests triggered by DASH callback
events),
5) "chaining" (requests for chained-to MPDs,
6) "fallback" (requests for the alternative MPDs.
Each key defines an URL class. Each URL class defines a
collocation of URLs that its members are used to request a
different class of resources, such as the class of segments, the
class of Xlink resolutions, and etc.
Default value is "segment", i.e. only segment URLs are subject
to SBD processing.
Legend:
For attributes: M=Mandatory, O=Optional, OD=Optional with Default Value, CM=Conditionally Mandatory.
For elements: . (N=unbounded)
Elements are bold; attributes are non-bold and preceded with an @.

© ISO/IEC 2025 – All rights reserved
TTabablele 4 4 ((ccoonnttiinnueuedd))
Element or Attribute Name Use Description
@template
O template for applying to the key-value pair found in SBD doc-
ument. For each Key@name in the template, when the value of
a Key@name is found in the SBD document, its corresponding
key-value pair of SBD document shall replace the string ‘$’Key@
name‘$’, where ‘$’ is unescaped ‘$, in the @template. The result,
after applying the replacements for all ‘$’Key@name‘$’ in the @
template, is added to the end of given URL
The @template value shall have no whitespace characters.
If absent, for each Key@name, the Key@name and its corresponding
value in the SBD document separated by ‘=’ shall be added to the
end of the given URL query, where each consecutive key-value
pairs are separated by ‘&’. The order of key-value pairs is defined
by the order of Key elements in this descriptor.
@hostTemplate
O host template for applying to the value found in SBD document.
For each Host@name in the template, when the value of a Host@
name is found in the SBD document, its corresponding value of
SBD document shall replace the string ‘$’Host@name‘$’, where ‘$’
is unesc
...

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