29n14769t

© ISO/IEC 2014 – All rights reserved
ISO/IEC JTC 1/SC 29 N
Date: 2014-10-24
ISO/IEC CD 23008-4
ISO/IEC JTC 1/SC 29/WG 11
Secretariat:
Information technology — High efficiency coding and media delivery in
heterogeneous environments — Part 4: MMT Reference and
Conformance Software
Élément introductif — Élément central — Partie 4: Titre de la partie
Warning
This document is not an ISO International Standard. It is distributed for review and comment. It is subject to
change without notice and may not be referred to as an International Standard.
Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of
which they are aware and to provide supporting documentation.
Document type: International Standard
Document subtype:
Document stage: (30) Committee
Document language: E
D:\116097385.doc STD Version 2.1c2
ISO/IEC CD 23008-4
Copyright notice
This ISO document is a working draft or committee draft and is copyright-protected by ISO. While the
reproduction of working drafts or committee drafts in any form for use by participants in the ISO standards
development process is permitted without prior permission from ISO, neither this document nor any extract
from it may be reproduced, stored or transmitted in any form for any other purpose without prior written
permission from ISO.
Requests for permission to reproduce this document for the purpose of selling it should be addressed as
shown below or to ISO's member body in the country of the requester:
[Indicate the full address, telephone number, fax number, telex number, and electronic mail address, as
appropriate, of the Copyright Manger of the ISO member body responsible for the secretariat of the TC or
SC within the framework of which the working document has been prepared.]
Reproduction for sales purposes may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
ii
© ISO/IEC 2014 – All rights reserved
ISO/IEC CD 23008-4
Contents
Page
Foreword ............................................................................................................................................................ iv
1
Scope ...................................................................................................................................................... 1
2
Configuration File Format..................................................................................................................... 4
3
Version Control and Compiling ........................................................................................................... 6
© ISO/IEC 2014 – All rights reserved
iii
ISO/IEC CD 23008-4
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 23008-4 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information.
ISO/IEC 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 (HEVC)
-
Part 3: 3D Audio
-
Part 4: MMT Reference and Conformance Software
-
Part 10: FEC Codes
-
Part 11: Composition Information (CI)

Part 13: MPEG media transport (MMT) Implementation Guideline
iv
© ISO/IEC 2014 – All rights reserved
COMMITTEE DRAFT
ISO/IEC CD 23008-4
Information technology — High efficiency coding and media
delivery in heterogeneous environments — Part 4: MMT
Reference and Conformance Software
1
Scope
The reference and conformance software operates according to Figure 1 — Operation of Reference and
Conformance Software. It takes as input the MPUs, generic files, and signaling messages that are to be
transmitted. The MMTP sender then generates the MMTP flow as a multiplex of MMTP packets from the
different sources and stores them into a pre-configured location. The MMTP receiver de-multiplexes the
MMTP flow based on the packet_id and the mode and passes the packets to the corresponding reconstruction
module. The reconstruction module extracts the payload and reconstructs the resource (i.e. the MPU, the
generic file, or the signaling message).
Figure 1 — Operation of Reference and Conformance Software
The following figure depicts the structure and class diagram of the reference and conformance software. The
yellow, orange, and green boxes indicate classes, general or binary files (MPU, Generic, Configuration, and
Packet dump), and XML files respectively.
© ISO/IEC 2014 – All rights reserved
1
ISO/IEC CD 23008-4
Figure 2 — Figure 2. Class diagram of MMTP sender
2
© ISO/IEC 2014 – All rights reserved
ISO/IEC CD 23008-4
Figure 3 — Class diagram of MMTP receiver
The MMTP reference software works both sender and receiver side with a configuration
(Demon 0: sender and 1: receiver). MMTP sender has three functions such as loading files
(MPUs, Generic, and signaling files) from pre-configured directories, creation MMT packets,
and storing packets and also receiver side has several functions which are loading packets,
de-packetizing, and reconstruction files. MMT, MMT packet, Packet Main, MPU meta data,
GFD meta data, and Signaling meta data classes are used both sender and receiver side.
Loading module with Load MPU, Load GFD, and Load Signaling class are used only sender
side and related reconstruction classes are used only receiver side.
-
MMT: MMT is a main class. MMT reads a configuration file (MMT_config) and
distinguishes MMTP a sender and receiver mode. If the mode is a sender, the MMT reads all
files from sender directories that are pre-configured certain locations to load MPUs, Generic,
and signaling files and starts a packetizing for each file. The MMT calls a MMT packet class
for creation packets. On the other hands, if the mode is a receiver, the MMT calls a depacketization function.
-
MMT packet: The main function of MMT packet is a packetization and de-packetization. In
sender case, the MMT packet distinguishes packet types such as (0x00: MPU, 0x01:GFD,
0x02:Signaling) and calls loaders for each mode and calls the Packet Main class to
© ISO/IEC 2014 – All rights reserved
3
ISO/IEC CD 23008-4
manipulate a header information. If the mode is a receiver, it calls the de-packetization
module and reconstruction module for each mode.
2
-
Packet Main (Main Header Data): The MMTP main packet header is defined except payload
data fields. The Packet Main calls MPU meta data, GFD meta data, and Signaling meta data
to store meta information for each mode.
-
MPU Meta Data: The MMTP payload header for a MPU mode is defined and create MPU
packet and de-packet.
-
GFD Meta Data: The MMTP payload header for a GFD mode is defined and create GFD
packet and de-packet.
-
Signaling Meta Data: MMTP payload header for a signaling mode is defined and create
signaling packet and de-packet.
-
Load MPU: Parsing and storing functions for MPU or ISOBMFF standards. Read binary
MPU files or ffmpeg files and load box information (ftyp, moov, moof, samples, etc) at the
matching variables.
-
Load GFD: Parsing and storing functions for any generic files. Read those files and load
information at the variables.
-
Load Signaling: Parsing and storing functions for any signaling files. Read signaling files and
load information at the variables
-
MPU Reconstruction: Reconstruct MPU files. This is called after receiving each packet and
payload data append the right place.
-
GFD Reconstruction: Reconstruct generic files. This is called after receiving each packet and
payload data append the right place.
-
Signaling Reconstruction: Reconstruct signaling xml file. This is called after receiving each
packet and payload data append the right place.
Configuration File Format
In this section, we describe the format of the confirmation file that is used to configure both the reference
MMTP sender and the receiver. Figure 4 shows the example of configuration file.
4
© ISO/IEC 2014 – All rights reserved
ISO/IEC CD 23008-4
Figure 4 — Exampe of configuration file
-
VERSION: Version of MMT reference software
-
DEMON: Distinguish tasks (0: MMTP sender, 1:MMTP receiver)
-
DIR_SENDER_MPU_AUDIO: Audio MPU file location
-
DIR_SENDER_MPU_VIDEO: Video MPU file location
-
DIR_SENDER_GFD: Generic file location
-
DIR_SENDER_SIGNAL: Signaling file (*.xml) location
© ISO/IEC 2014 – All rights reserved
5
ISO/IEC CD 23008-4
3
6
-
DIR_RECEIVER_MPU: MPU file location after reconstruction
-
DIR_RECEIVER_GFD: GFD file location after reconstruction
-
DIR_RECEIVER_SIGNAL: Signaling file location after reconstruction
-
DIR_PKT: Location of packet dump
-
DIR_PKT_VIEW: Location of packet viewer. Each packet creates xml format for packet
conformation.
-
MTU: Max size of a MMT packet for packet fragmentation
Version Control and Compiling
-
Development environment
o Language: C/C++ (Ubuntu/Linaro 4.8.1-10 ubuntu9)
o Operating System: Host (Window) Virtual Box -> Linux ubuntu 9
o Compiler: GCC version 4.8.1
o IDE: eclipse c++ version 3.8
o Additional Library: Tinyxml (for packet viewer)
-
Configuration (Ubunto + Eclipse) and compiling
o Install eclipse and tinyxml
o GCC c++ linker
 library: tinyxml, pthread
 library path: /usr/lib, /usr/local/bin (depend on the library location)
© ISO/IEC 2014 – All rights reserved