INTERNATIONAL ORGANISATION FOR STANDARDISATION

ORGANISATION INTERNATIONALE DE NORMALISATION

ISO/IEC JTC 1/SC 29/WG 11

CODING OF MOVING PICTURES AND AUDIO

ISO/IEC JTC 1/SC 29/WG 11 N10795

London, UK – July 2009

Source: / Systems
Title: / Text of ISO/IEC 23006-1 FCD MXM Architecture and Technologies
Status / Approved
Source / Filippo Chiariglione (CEDEO.net)
Marius Preda (TELECOM SudParis)
Christian Timmerer (KlagenfurtUniversity)
Wonsuk Lee (ETRI)

Text of ISO/IEC 23006-1 FCD MXM Architecture and Technologies

ISO/IECJTC1/SC29

Date:2009-07-03

ISO/IECFCD23006-1

ISO/IECJTC1/SC29/WG11

Secretariat:ANSI

Information technology— MPEG extensible middleware (MXM)— Part1: MXM architecture and technologies

Élément introductif— Élément central— Partie1: 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 document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

ISO/IECFCD23006-1

Copyright notice

This ISO document is a Draft International Standard and is copyright-protected by ISO. Except as permitted under the applicable laws of the user's country, neither this ISO draft nor any extract from it may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, photocopying, recording or otherwise, without prior written permission being secured.

Requests for permission to reproduce should be addressed to either ISO at the address below or ISO's member body in the country of the requester.

ISO copyright office

Case postale 56CH-1211 Geneva 20

Tel.+ 41 22 749 01 11

Fax+ 41 22 749 09 47

Web

Reproduction may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.

ContentsPage

Foreword......

Introduction......

1Scope

2Normative references

3Terms and definitions

4Symbols and abbreviated terms

5Namespace conventions

6System overview

7MXM Architecture

7.1Introduction

8MXM Engines......

8.1Digital Item Engine......

8.1.1Technologies......

8.2MPEG-21 File Engine......

8.2.1Technologies......

8.3REL Engine......

8.3.1Technologies......

8.4IPMP Engine......

8.4.1Technologies......

8.5Media Framework Engine......

8.5.1Technologies......

8.5.1.1Audio......

8.5.1.2Video......

8.5.1.3Reconfigurable Video......

8.5.1.4Muxed Content......

8.5.1.53D Graphics coding......

8.5.1.6Composition coding......

8.6Metadata Engine......

8.6.1Technologies......

8.7Digital Item Streaming Engine......

8.7.1Technologies......

8.8Digital Item Adaptation Engine......

8.8.1Technologies......

8.9Event Reporting Engine......

8.9.1Technologies......

8.10Content Protocol Engine......

8.10.1Technologies......

8.11License Protocol Engine......

8.11.1Technologies......

8.12IPMP Tool Protocol Engine......

8.12.1Technologies......

8.13Content Search Engine......

8.13.1Technologies......

8.14Security Engine......

8.14.1Technologies......

8.15MVCO Engine......

8.15.1Technologies......

8.16Domain Engine......

8.16.1Technologies......

8.17Rendering Engine......

8.17.1Technologies......

8.18Orchestrator Engine......

8.18.1Technologies......

Bibliography......

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

International Standards are drafted in accordance with the rules given in the ISO/IECDirectives, Part3.

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 part of ISO/IEC23006 may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

ISO/IEC230061 was prepared by Joint Technical Committee ISO/IECJTC1, Information technology, Subcommittee SC29, Coding of audio, picture, multimedia and hypermedia information.

ISO/IEC23006 consists of the following parts, under the general title Information technology— MPEG extensible middleware (MXM):

Part1: MXM architecture and technologies

Part2: MXM API

Part3: MXM conformance and reference software

Part4: MXM protocols

Introduction

ISO/IEC 23006 is a suite of standards that has been developed for the purpose of enabling the easy design and implementation of media-handling value chains whose devices interoperate because they are all based on the same set of technologies, especially technologies standardised by MPEG, accessible from the MXM middleware.

This will enable the development of a global market of:

MXM applications that can run on MXM devices thanks to the existence of a standard MXM application API

MXM devices executing MXM applications thanks to the existence of a standard MXM architecture

MXM engines thanks to the existence of standard MXM architecture and standard APIs

Innovative business models because of the ease to design and implement media-handling value chains whose devices interoperate because they are all based on the same set of technologies, especially MPEG technologies.

The MXM standard is subdivided in three parts:

Part 1 - MXM Architecture and Technologies (the present document): specifies the MXM architecture and references the technologies that are part of an MXM implementation;

Part 2 - MXM Application Programming Interface (APIs): specifies the MXM APIs;

Part 3 - MXM Conformance and Reference Software: specifies conformance tests and the software implementation of the standard.

Part 4 - MXM protocols: specifies communication protocols between MXM applications.

©ISO/IEC2009— All rights reserved / 1

ISO/IECFCD23006-1

Information technology— MPEG extensible middleware (MXM)— Part1: MXM architecture and technologies

1Scope

This part ofISO/IEC 23006 specifies the MXM architecture and references the technologies that are made accessible through the set of MXM APIs specified in ISO/IEC 23006-2.

The elements of the MXM Architecture are:

1.MXM Engines, collections of specific technologies that it is meaningful to bundle together

2.MXM Engine APIs, APIs that can be used to access MXM Engine functionality

3.Orchestrator Engine, a special MXM Engine capable of creating chains of MXM Engines to execute a high-level application call such as “Play”

4.MXM Orchestrator Engine APIs

5.MXM Device, a device equipped with MXM

6.MXM Application, an application that runs on an MXM Device and makes calls to the MXM Application API and MXM Engine APIs

Of particular relevance is the reference to the protocols for MXM to MXM communications specified in ISO/IEC 29116-1.

2Normative references

The following referenced documents are indispensable for the application of thisdocument. For dated references, only the edition cited applies. For undated references,the latest edition of the referenced document (including any amendments) applies.

ISO/IEC 13818 (all parts), Information technology -- Generic coding of moving pictures and associated audio

ISO/IEC 14496 (all parts), Information technology -- Coding of audio-visual objects

ISO/IEC 15938 (all parts), Information technology -- Multimedia content description interface

ISO/IEC 21000 (all parts), Information technology -- Multimedia framework (MPEG-21)

ISO/IEC 23000 (all parts), Information technology -- Multimedia application format (MPEG-A)

ISO/IEC 23001 (all parts), Information technology -- MPEG systems technologies

ISO/IEC 23002 (all parts), Information technology -- MPEG video technologies

ISO/IEC 23003 (all parts), Information technology -- MPEG audio technologies

ISO/IEC 23004 (all parts), Information technology -- Multimedia Middleware

ISO/IEC 23006-2,Information technology –MPEG extensible middleware (MXM) -- Part 2: MXM API

ISO/IEC 23006-4,Information technology –MPEG extensible middleware (MXM) -- Part 4: MPEG extensible middleware (MXM) protocols

3Terms and definitions

For the purposes of this document, the following terms and definitions apply.

3.1

Content Creation Device

a device enabling the creation of content possibly including audio-visual resources, rights information, metadata, etc.

3.2

Content Identification Device

a device providing content identification and authentication services to another device

3.3

Content Provider Device

a device on which content may be stored and delivering content to another device

3.4

Device

a combination of hardware and software or just an instance of software that allows a user to perform actions

3.5

Domain

a set of devices sharing a set of common properties such as ownership

3.6

Domain Administrator

a user creating and administering a domain by means of a Domain Management Device

3.7

Domain Management Device

a device managing the lifecycle of a domain and the membership of devices and users part of it.

3.8

Inter-MXM Protocol

a protocol that enable communication between MXM Devices.

3.9

IPMP Processor

a module in a Media Streaming Player in charge of retrieving, instantiating, initialising and managing the IPMP Tools required to perform actions on content.

3.10

IPMP Tool

a module performing (one or more) IPMP functions such as authentication, decryption, watermarking, etc.

3.11

IPMP Tool Agent

a module instantiating, initialising, authenticating, and supervising any operation performed between IPMP Tools within an IPMP Tool Group

3.12

IPMP Tool Body

executable code implementing either a Single IPMP Tool or an IPMP Tool Pack

3.13

IPMP Tool Group

a combination of several IPMP Tools

3.14

IPMP Tool Pack

a module that comprises an IPMP Tool Group and its IPMP Tool Agent

3.15

IPMP Tool Provider Device

a device delivering IPMP Tools to another device

3.16

Licence Provider Device

a device delivering licenses to another device according to a License Template previously stored

3.17

Licence Template

a license granting rights to issue licenses to a device

3.18

MXM Application

an application that runs on an MXM device and makes calls to the MXM Application API and MXM Engine APIs

3.19

MXM Device

a device equipped with a selected assembly of MXM engines

3.20

MXM Engine

a collection of specific technologies that it is meaningful to bundle together

3.21

MXM Engine API

the API of a single MXM Engine

3.22

MXM Orchestrator API

the API of the MXM Orchestrator Engine.

3.23

MXM Orchestrator Engine

a special MXM Engine capable of creating chains of MXM engines, i.e. to set-up a sequence of connected MXM engines for the purpose of executing a high-level application call such as Play

3.24

MXM Technology

a technology that is supported by (a profile of) MXM

3.25

User

any entity making use of an MXMdevice.

4Symbols and abbreviated terms

Table1— Acronyms

BBL / Bitstream Binding Language
CCD / Content Creation Device
CID / Content Identification Device
CPD / Content Provider Device
DIA / Digital Item Adaptation
DID / Digital Item Declaration
DIDL / Digital Item Declaration Language
DII / Digital Item Identification
DIS / Digital Item Streaming
DMD / Domain Management Device
ER / Event Report
ERR / Event Report Request
IPMP / Intellectual Property Management and Protection
LPD / License Provider Device
LLAP / Local License Access Protocol
MXMD / Media Streaming Device
MSP / Media Streaming Player
REL / Rights Expression Language
RTP / Real Time Protocol
RTSP / Real Time Streaming Protocol
URI / Uniform Resource Identifier

5Namespace conventions

Throughout this part of ISO/IEC 23006, Qualified Names are written with a namespace prefix followed by a colon followed by the local part of the Qualified Name.

For clarity, throughout this part of ISO/IEC 23006, consistent namespace prefixes are used. Table 2 gives these prefixes and the corresponding namespace.

Table2— Namespaces and prefixes

Prefix / Corresponding namespace
ipmpdidl / urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS
ipmpmsg / urn:mpeg:mpeg21:2006:07-IPMPMESSAGES-NS
ipmpinfo / urn:mpeg:mpeg21:2004:01-IPMPINFO-NS
didl / urn:mpeg:mpeg21:2002:02-DIDL-NS
didmodel / urn:mpeg:mpeg21:2002:02-DIDMODEL-NS
didl-msx / urn:mpeg:maf:schema:mediastreaming:DIDLextensions
dii / urn:mpeg:mpeg21:2002:01-DII-NS
r / urn:mpeg:mpeg21:2003:01-REL-R-NS
sx / urn:mpeg:mpeg21:2003:01-REL-SX-NS
m1x / urn:mpeg:mpeg21:2005:01-REL-M1X-NS
xsd /
xsi /
dsig /
mxmacp / urn:mpeg:mpeg-m:schema:accesscontentprotocol:2009
mxmaitp / urn:mpeg:mpeg-m:schema:accessipmptoolprotocol:2009
mxmalp / urn:mpeg:mpeg-m:schema:accesslicenseprotocol:2009
mxmaucp / urn:mpeg:mpeg-m:schema:authenticatecontentprotocol:2009
mxmbp / urn:mpeg:mpeg-m:schema:baseprotocol:2009
mxmd / urn:mpeg:mpeg-m:schema:domain:2009
mxmdp / urn:mpeg:mpeg-m:schema:domainprotocol:2009
mxmicp / urn:mpeg:mpeg-m:schema:identifycontentprotocol:2009
mxmrlp / urn:mpeg:mpeg-m:schema:revokelicenseprotocol:2009
mxmscp / urn:mpeg:mpeg-m:schema:storecontentprotocol:2009
mxmslp / urn:mpeg:mpeg-m:schema:storelicenseprotocol:2009

6System overview

The MPEG extensible Middleware is an architecture containing MPEG standard multimedia technologies whose purpose is to enable the easy design and implementation of media-handling value chains whose devices interoperate because they are all based on the same set of technologies exposed through standard APIs.

Figure 1 shows a rather general configuration of value chain where some of the interconnections are represented.

Figure1— Typical devices in a media-handling value chain

Figure 2 depicts an MXM Device.

Figure2— An MXM Device

The elements of the MXM Architecture are

1.MXM Engines, collections of specific technologies that it is meaningful to bundle together

2.MXM Engine APIs, APIs that can be used to access MXM Engine functionality

3.Orchestrator Engine, a special MXM Engine capable of creating chains of MXM Engines to execute a high-level application call such as “Play”

4.MXM Application API, the API of the MXM Orchestrator Engine

5.MXM Device, a device equipped with MXM

6.MXM Application, an application that runs on an MXM Device and makes calls to the MXM Application API and MXM Engine APIs

Figure 3 shows a general model of an MXM device

Figure3— The MXM architecture

As shown in Figure 3 above, MXM comprises a framework hosting a number of Engines. These are containers of a specific set of MXM Technologies accessible by the MXM API specific of that Engine. As is typical of most MPEG standards, the MXM standard will only define the interfaces of the MXM Engines, named MXM Engine APIs and the MXM Orchestrator API.

In general an MXM Device can have several MXM Applications running on it (there may be other applications but these are not relevant here). Some may be “resident”, i.e. they have been loaded by the MXM manufacturer and some may be temporary, i.e. they have been downloaded for a specific purpose.

When an MXM Application is executed, there may be “low-level” calls directly to some MXM Engines using the MXM Engine APIs of each specific Engines, and “high-level” calls like, say, “Play (GovernedContent)” which will be handled by the Orchestrator Engine. The MXM Orchestrator, by calling the MXM Engine APIs of specific engines, is capable of setting up a chain of MXM engines for handling complex operations, orchestrating the intervention and send/receive data to/from the particular chain of Engines that a given high-level call will trigger, thus relieving MXM Applications from the logic of handling them. Each MXM Engine will contain a specific set of MXM Technologies accessible by an MXM Application, the MXM Orchestrator and any other MXM Component in MXM, by means of its own MXM Engine API.

For instance, in the case of “Play (GovernedContent)” the Orchestrator engine could set-up the following chain:

a)MP21 File engine (e.g. open the file and extract the Digital item)

b)DI engine (e.g. extract metadata and rights information)

c)REL engine (e.g. verify if the right to play is granted)

d)IPMP engine (e.g. set up IPMP Tools to decrypt protected resources)

e)Security engine (e.g. initialise the IPMP Tools with decryption keys)

f)Content Metadata engine (e.g. present content metadata to the user)

g)Media Framework engine (e.g. demux, decode and render audio-visual resources)

...And possibly others.

NOTEOnly the APIs of an MXM Engine are mandatory; how each Engine handles the operations needed to carry out a request is dependent on the specific software or hardware MXM Engine implementation.

A specific MXM Device may also make use of the M3W standard [95] because this offers several technologies from its parts 2 to 8, such as Resource and Quality Management, Fault Management and System Integrity Management, that may be useful in an implementation.

MXM Devices are not only used as stand-alone devices possibly interacting with a server, but are also devices meant to be used in a media value chain possibly with different MXM Applications that correspond to the different roles that value chains users play in the value chain (e.g. creating content, issuing licenses upon request, streaming content, etc.)

This is depicted in Figure 4, which represents the full scope of the MXM standard and the communication between two MXM Devices via the inter-MXM Protocols. These are protocols that an application need not carry with it because they are already available in the MXM as MXM Engines.

Media technologies are normatively listed in Clause 8.

Figure 4 depicts the target of the MXM standard.

Figure4— Scope of MXM standardisation

Examples of MXM Applications include:

Video Viewer – a program to view videos

Photo Player – a program to view still pictures

Content Creator – a program to create content with audio-visual resources, metadata and rights information

MPEG-J applet

License server – a remote service issuing licenses upon request

7MXM Architecture

7.1Introduction

MXM specifies an architecture in which each technology is encapsulated in one MXM Engine defining the MXM APIs for that Engine.

The list of MXM Engines is provided in the table below.

The MXM Engine APIs are divided in five categories. The first four categories include those recurring for more than one engine, while the latter category includes those APIs which are specific for one Engine. The terminology for the first four categories is given below:

Creation APIs: this include APIs to create data structures, files, elementary streams, etc. conforming to the respective standards

Editing APIs:; this include APIs to modify an existing data structure, file, elementary stream, etc. in order to obtain a derived object still conforming to the respective standard

Access APIs: this include APIs to parse data structures, files, decode elementary streams, etc. in order to retrieve the information contained within