ISO/IEC TR 23008-13:2015
(Main)Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 13: MMT implementation guidelines
Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 13: MMT implementation guidelines
ISO/IEC 23008-13:2015 provides technical guidelines for implementing and deploying systems based on ISO/IEC 23008‑1.
Technologies de l'information — Codage à haute efficacité et livraison des medias dans des environnements hétérogènes — Partie 13: Lignes directrices de mise en oeuvre du transport des medias MPEG
General Information
Relations
Standards Content (Sample)
TECHNICAL ISO/IEC TR
REPORT 23008-13
First edition
2015-12-01
Information technology — High
efficiency coding and media delivery
in heterogeneous environments —
Part 13:
MMT implementation guidelines
Technologies de l’information — Codage à haute efficacité et livraison
des medias dans des environnements hétérogènes —
Partie 13: Lignes directrices de mise en oeuvre du transport des
medias MPEG
Reference number
ISO/IEC TR 23008-13:2015(E)
©
ISO/IEC 2015
---------------------- Page: 1 ----------------------
ISO/IEC TR 23008-13:2015(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2015, 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 2015 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC TR 23008-13:2015(E)
Contents Page
Foreword .v
Introduction .vi
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, symbols and abbreviated terms . 1
4 Overview . 1
4.1 System overview . 1
4.2 Normative parts . 2
5 MMT function deployments . 3
5.1 Overview . 3
5.2 Object reconstruction . 3
5.2.1 Overview . 3
5.2.2 Recovery in MPU mode . 3
5.2.3 Recovery in GFD mode . 5
5.3 Default assets . 5
5.4 Low-delay live streaming . 6
5.5 Parallel processing in MMT sending and receiving entities . 8
5.5.1 Processing in MMT sending entity . 8
5.5.2 Processing in MMT receiving entity . 9
5.6 MPU streaming for live services .11
5.6.1 MPU packetization.11
5.6.2 Sending of MPU and signalling message .13
5.7 Fast MMT session acquisition .15
5.8 Referencing and processing non-timed data .16
5.8.1 Overview .16
5.8.2 Resource grouping and referencing .17
5.8.3 Receiver handling .17
5.9 Media adaptation for quality control in MMTP .17
5.9.1 Overview .17
5.9.2 Parameters for media adaptation .17
5.9.3 Adaptation operation of MMT entity .18
5.10 Hybrid delivery in MMT .18
5.10.1 Overview .18
5.10.2 Classification of hybrid delivery .18
5.10.3 Technical elements for hybrid delivery .19
5.11 Example of detailed implementation of MMT .20
5.11.1 Use case: Combination of MMT and MPEG-2 TS for synchronized presentation .20
5.12 HRBM signalling for hybrid delivery .20
5.12.1 Hybrid delivery from the Single MMT sending Entity .20
5.12.2 Hybrid delivery from the multiple MMT sending entities .22
5.13 Error resilience in MMT protocol .23
5.14 Delay constrained ARQ .25
5.14.1 Overview .25
5.14.2 Delivery-time constrained ARQ.25
5.14.3 Arrival-deadline constrained ARQ .25
5.15 Application layer forward error correction (AL-FEC) . .27
5.15.1 FEC decoding method for ssbg_mode2 . .27
5.15.2 Usage of two stage FEC coding structure.32
5.15.3 MPU mapping to source packet block .33
5.15.4 FEC for hybrid service .35
6 Use cases for MMT deployment .36
6.1 Overview .36
© ISO/IEC 2015 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC TR 23008-13:2015(E)
6.2 Delivery of DASH Presentations using MMT .36
6.2.1 Delivery of the MPD . .37
6.2.2 Delivery of the data segments .37
6.3 Client operation for DASH service delivered through MMT Protocol .38
6.3.1 Delivery of MPD with MMTP .38
6.3.2 Delivery and consumption of DASH Segments with MMTP .38
6.4 Hybrid of MMT and DASH over heterogeneous network .39
6.5 MMT Caching for Effective Bandwidth Utilization .41
6.5.1 Overview of MMT caching middlebox architecture .41
6.5.2 Content-based caching of MMT media .42
6.5.3 MPU sync protocol between server and caching middlebox .43
6.5.4 MMT Cache Manifest .47
6.6 Usage of ADC signalling message .49
6.6.1 Overview .49
6.6.2 Operation in MMT sending entity .49
6.6.3 Operation in MANE router .49
6.6.4 Example operation in MMT receiving entities .50
6.7 MMT Deployment in Japanese broadcasting systems .50
6.7.1 Overview .50
6.7.2 Broadcasting systems using MMT .50
6.7.3 Media transport protocol .53
6.7.4 Signalling information.55
6.7.5 Start-up procedure of broadcasting service . .64
Bibliography .67
iv © ISO/IEC 2015 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC TR 23008-13:2015(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.
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 meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO’s adherence to the WTO principles in the Technical
Barriers to Trade (TBT) see the following URL: Foreword - Supplementary information
The committee responsible for this document is ISO/IEC JTC 1, Information technology, Subcommittee
SC 29, Coding of audio, picture, multimedia and hypermedia information.
ISO/IEC 23008 consists of the following parts, under the general title Information technology — High
efficiency coding and media delivery in heterogeneous environments:
— Part 1: MPEG media transport (MMT)
— Part 2: High efficiency video coding
— Part 3: 3D Audio
— Part 4: MMT Reference and Conformance Software
— Part 5: Reference software for high efficiency video coding
— Part 8: Conformance Specification for HEVC
— Part 10: MPEG Media Transport Forward Error Correction (FEC) Codes
— Part 11: MPEG Media Transport Composition Information
— Part 12: Image file format
— Part 13: MMT implementation guidelines [Technical Report]
© ISO/IEC 2015 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC TR 23008-13:2015(E)
Introduction
This part of ISO/IEC 23008 provides guidelines for implementation and deployment of multimedia
systems based on the ISO/IEC 23008 standard. These guidelines include the following:
— guidelines on usage of MMT functions;
— guidelines on deployment use cases designed based on ISO/IEC 23008-1.
vi © ISO/IEC 2015 – All rights reserved
---------------------- Page: 6 ----------------------
TECHNICAL REPORT ISO/IEC TR 23008-13:2015(E)
Information technology — High efficiency coding and
media delivery in heterogeneous environments —
Part 13:
MMT implementation guidelines
1 Scope
This part of ISO/IEC 23008 provides technical guidelines for implementing and deploying systems
based on ISO/IEC 23008-1.
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) applies.
ISO/IEC 23008–1:2014, Information technology — High efficiency coding and media delivery in
heterogeneous environments — Part 1: MPEG media transport (MMT)
3 Terms, definitions, symbols and abbreviated terms
For the purposes of this document, the terms, definitions, symbols, and abbreviated terms in
ISO/IEC 23008-1 apply.
4 Overview
4.1 System overview
This subclause describes the exemplary but typical system overview of MPEG Media Transport (MMT)
as shown in Figure 1
The media origin provides A/V media or generic files to MMT sending entity in the form of Packages or
Assets which are defined in ISO/IEC 23008-1. A Package is comprised of Assets, Presentation Information
and Transparent Chanrateristics, etc. Physically, an Asset is a group of MPUs or generic files.
The MMT sending entity fragments MPU/generic files and generates MMTP packets to deliver A/V
media data itself. Concurrently, it also generates signalling message for the successful delivery and
presentation of A/V media included on that MMTP packet flow.
Figure 1 — Example of MMT-based media distribution chain
© ISO/IEC 2015 – All rights reserved 1
---------------------- Page: 7 ----------------------
ISO/IEC TR 23008-13:2015(E)
The MMT Aware Network Element (MANE) may be any network element, such as, media caches and
routers, that aware of MMTP and has augmented functions for its own purposes to utilize tools from MMT.
Then, MMTP packets can be transmitted through either or both of broadcast channel and broadband
channel at its own environment and scenarios.
The CI information provides presentation information, such as the location of media objects, as well as
the timing and relation of the media objects that MMT receiving entity has to follow. This information
is provided by MMT sending entity and also pushes related MMTP packet flow to the MMT receiving
entity. It means it fully controls the media streaming session, i.e. it manages the on-time delivery,
playback and temporal/spatial presentation information of the media.
4.2 Normative parts
ISO/IEC 23008-1 specifies a set of tools to enable advanced media transport and delivery services.
Figure 2 depicts the end-to-end architecture and illustrates the different functional tools and their
relationships. Moreover, it shows interfaces between existing protocols and standards defined by
ISO/IEC 23008-1 and those defined in other specifications. The tools spread over three different
functional areas, Media Processing Unit (MPU) format, delivery, and signalling defined in ISO/IEC 23008-
1 are as follows.
— The Media Processing Unit (MPU) defines the logical structure of media content format of the data
units to be processed by an MMT entity and their instantiation with ISO Base Media File Format as
specified in ISO/IEC 14496-12.
— The delivery function defines an application layer transport protocol and a payload format.
The MMTP transport protocol provides enhanced features for delivery of multimedia data, e.g.
multiplexing and support of mixed use of streaming and download delivery in a single packet flow.
The payload format is defined to enable the carriage of encoded media data which is agnostic to
media types and encoding methods.
— The signalling function defines formats of signalling messages to manage delivery and consumption
of media data.
Figure 2 — MMT functions deployment
2 © ISO/IEC 2015 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC TR 23008-13:2015(E)
Other aspects, such as client implementations for media reconstruction and presentation itself are not
defined as normative parts of ISO/IEC 23008-1.
5 MMT function deployments
5.1 Overview
This Clause gives implementation guidelines on general MMT deployment based on basic functionalities
provided by MMT standard itself. This Clause intends, in particular, to guide implementers to make
best use of the specification for the basic topics such as, but not limited to the following:
— low delay media consumption;
— media adaptation;
— hybrid delivery;
— error recovery.
5.2 Object reconstruction
5.2.1 Overview
MMTP is designed to deliver object flows that may be multiplexed together in the same MMTP flow.
The objects of an object flow are usually related to each other, meaning that the application is likely to
consume all objects of an object flow, if the flow or one of its objects is of interest to that application.
Depending on the delivery mode, the recovery of the object might differ. The GFD mode usually requires
that the full object is recovered prior to its delivery to the application. However, the application may
request that correctly received contiguous byte ranges of the object are forwarded to the application.
The MPU mode is used to deliver MPUs and usually operates on movie fragments. Alternatively, the
application may request that each received MFU is forwarded to the application without additional delay.
It may also require that the complete MPU be reconstructed prior to forwarding it to the application.
5.2.2 Recovery in MPU mode
When operating in the MPU mode, the object flow consists of MPUs of the same asset. Each MPU is a
single object in the object flow and shares the same packet_id as all MPUs of the same asset.
The MMT receiving entity performs the following steps.
a) Receive MMTP packet.
b) Check if packet_id is equal to the packet_id of the object flow of interest, discard packet and go to
step a) if it does not belong to an object flow of interest.
c) Assert that type of the MMTP packet is MPU.
d) If fragmentation flags are set (different than “00”)
1) if fragmentation flag is equal to “11”, attempt to recover packet and if successful go to step f, or
2) add packet to the list of packet fragments based on the MMTP sequence number and go to step a).
e) If Aggregation flag A is set, extract all aggregated data units and proceed to step g) for each
extracted data unit.
f) If object map with same MPU_sequence_number does not exist, create new object map for the MPU
with that sequence number.
© ISO/IEC 2015 – All rights reserved 3
---------------------- Page: 9 ----------------------
ISO/IEC TR 23008-13:2015(E)
g) Check fragment type (FT) of the MPU payload header.
1) If FT is MPU metadata
i) check if MPU metadata is already received
aa) if yes, discard the MPU metadata as being a duplicate, or
bb) insert MPU metadata at the beginning of the object map
— optionally, forward MPU metadata to application.
ii) Go to step a)
2) If FT is Fragment metadata
i) Check if movie fragment with the same movie_fragment_sequence_number already exists
aa) if no, create a placeholder for the movie fragment in the object map, or
bb) check if Fragment metadata has already been received.
— if yes, discard fragment metadata as being a duplicate, or
— insert fragment metadata at the beginning of the fragment placeholder
cc) Go to step a)
3) If FT is MFU
i) If fragment placeholder with sequence number movie_fragment_sequence_number does
not exist in the object map of the MPU with sequence number MPU_sequence_number, then
create movie fragment placeholder in the object map of the MPU.
ii) If timed metadata flag is set
aa) insert payload in the fragment placeholder in the correct order based on the sample_
number and offset values,
bb) check if movie fragment is complete, and
— If yes, forward fragment to the application
cc) go to step a).
iii) If timed metadata flag is not set
aa) insert payload in the item in the object map based on the item item_ID,
bb) recover item information from MPU metadata for the recovered item and forward the
item to the application, and
cc) go to step a.
The sender may send the movie fragment out of order, i.e. sending the movie fragment header after
sending all the media units that are contained in that movie fragment. At the receiver side, step g.3.i
ensures that the movie fragment is recovered appropriately by reordering the received data using the
MPU_sequence_number and the movie_fragment_sequence_number. This is necessary if the receiver
is operating in the Fragment mode or MPU mode, where only complete movie fragments or complete
MPUs are forwarded to the application. When operating in the very low delay mode, the receiver will
forward every single MFU to the application. In this case, it has to make sure that the content supports
this operation, so that MFUs will be self-describing and self-contained. In particular, the receiver should
be able to recover the presentation timestamp of that MFU payload using the sample number, fragment_
sequence_number, and MPU_sequence_number.
4 © ISO/IEC 2015 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC TR 23008-13:2015(E)
For fragments and items that cannot be recovered correctly by the time the fixed end to end delivery
delay passes, error concealment is performed on the movie fragment or the partially recovered item.
5.2.3 Recovery in GFD mode
When operating in the GFD mode, the object flow consists of a set of related files. The files of the same
object flow share the same packet_id. The application forwards each recovered file or contiguous byte
range of a file to the application. The receiver creates an object map to recover each file separately.
The operation of the MMTP receiver is as follows.
a) Receive MMTP packet.
b) Check if packet_id is equal to the packet_id of the object flow of interest, discard packet and goto
step a if it does not belong to an object flow of interest.
c) Assert that type of the MMTP packet is GFD.
d) If object map with same TOI does not exist, create new object map for the file with that TOI.
e) Insert payload in the correct place in the object map using the start_offset information.
f) It is recommended that chunks of contiguous byte ranges that lie between two MMTP packets
with the RAP flag R set to 1 be forwarded to the application. Applications may choose to forward
sufficiently large contiguous byte ranges whenever they are recovered correctly.
g) If complete TOI is recovered
1) extract metadata from the transport object or from the GFD table, and
2) forward file to the application.
5.3 Default assets
In order to cater for basic receivers with limited processing capabilities and also to facilitate fast channel
tune-in, an alternative and simple way for service consumption has been devised that can function
without the need for more advanced and highly demanding presentation information solutions (such as
HTML 5). It is of course not possible to achieve the same level of service complexity and richness with
the basic solution but it enables receivers to quickly tune in to the channel and, if needed, to completely
avoid processing the complex presentation information.
MMT provides the tools to identify default service components and to enable the receiver to consume
them in a synchronized manner by processing the MMT signalling information. Default service
components are usually the main video stream together with the default audio stream.
An MMT receiver that wants to achieve fast tune in or wants to bypass processing the presentation
information checks the MP table for the MMT package of interest and identifies the assets of that MMT
package that are marked as default assets. It then starts receiving and reconstructing the default assets
by first locating the asset using the MMT_general_location_info and looking for the MPU metadata
information as a starting point for the reconstruction. The MPU header is necessary as it delivers the
informati
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.