Information technology - Multimedia service platform technologies - Part 2: MPEG extensible middleware (MXM) API

ISO/IEC 23006-2:2013 specifies a set of Application Programming Interfaces (called for short MXM APIs) so that MPEG-M Applications running on an MPEG-M Device can access the standard multimedia technologies contained in its Middleware as MPEG-M Engines, as specified by ISO/IEC 23006-1. The MXM APIs belong to two classes: the MPEG-M Engine APIs, i.e. the collection of the individual MPEG-M Engine APIs providing access to a single MPEG technology (e.g. video coding) or to a group of MPEG technologies where this is convenient; the MPEG-M Orchestrator API, i.e. the API of the special MPEG-M Engine (called Orchestrator Engine) that is capable of creating chains of MPEG-M Engines to execute high-level application calls such as "Play a video", as opposed to the typically low-level MPEG-M Engine API calls.

Technologies de l'information — Technologies de la plate-forme de services multimédia — Partie 2: Intergiciel MPEG extensible (MXM) API

General Information

Status
Withdrawn
Publication Date
10-Sep-2013
Withdrawal Date
10-Sep-2013
Current Stage
9599 - Withdrawal of International Standard
Start Date
05-Dec-2016
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 23006-2:2013 - Information technology - Multimedia service platform technologies
English language
36 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 23006-2:2013 - Information technology - Multimedia service platform technologies
English language
36 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO/IEC 23006-2:2013 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Multimedia service platform technologies - Part 2: MPEG extensible middleware (MXM) API". This standard covers: ISO/IEC 23006-2:2013 specifies a set of Application Programming Interfaces (called for short MXM APIs) so that MPEG-M Applications running on an MPEG-M Device can access the standard multimedia technologies contained in its Middleware as MPEG-M Engines, as specified by ISO/IEC 23006-1. The MXM APIs belong to two classes: the MPEG-M Engine APIs, i.e. the collection of the individual MPEG-M Engine APIs providing access to a single MPEG technology (e.g. video coding) or to a group of MPEG technologies where this is convenient; the MPEG-M Orchestrator API, i.e. the API of the special MPEG-M Engine (called Orchestrator Engine) that is capable of creating chains of MPEG-M Engines to execute high-level application calls such as "Play a video", as opposed to the typically low-level MPEG-M Engine API calls.

ISO/IEC 23006-2:2013 specifies a set of Application Programming Interfaces (called for short MXM APIs) so that MPEG-M Applications running on an MPEG-M Device can access the standard multimedia technologies contained in its Middleware as MPEG-M Engines, as specified by ISO/IEC 23006-1. The MXM APIs belong to two classes: the MPEG-M Engine APIs, i.e. the collection of the individual MPEG-M Engine APIs providing access to a single MPEG technology (e.g. video coding) or to a group of MPEG technologies where this is convenient; the MPEG-M Orchestrator API, i.e. the API of the special MPEG-M Engine (called Orchestrator Engine) that is capable of creating chains of MPEG-M Engines to execute high-level application calls such as "Play a video", as opposed to the typically low-level MPEG-M Engine API calls.

ISO/IEC 23006-2:2013 is classified under the following ICS (International Classification for Standards) categories: 35.040 - Information coding; 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO/IEC 23006-2:2013 has the following relationships with other standards: It is inter standard links to ISO/IEC 23006-2:2016, ISO/IEC 23006-2:2011. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO/IEC 23006-2:2013 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 23006-2
Second edition
2013-09-15
Information technology — Multimedia
service platform technologies —
Part 2:
MPEG extensible middleware (MXM) API
Technologies de l'information — Technologies de la plate-forme de
services multimédia —
Partie 2: Intergiciel MPEG extensible (MXM) API

Reference number
©
ISO/IEC 2013
©  ISO/IEC 2013
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
Case postale 56  CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2013 – All rights reserved

Contents Page
Foreword . v
Introduction . vi
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and abbreviated terms . 2
3.1 Terms and definitions . 2
3.2 Abbreviated terms . 3
4 Namespace conventions . 4
4.1 Introduction . 4
5 Common MXM interfaces and classes . 8
6 MPEG-M Engines . 9
6.1 Introduction . 9
6.2 Technology Engines . 9
6.2.1 Digital Item Engine . 9
6.2.2 MPEG-21 File Format Engine . 10
6.2.3 REL Engine . 11
6.2.4 IPMP Engine . 12
6.2.5 Media Framework Engine . 12
6.2.6 Metadata Engine . 16
6.2.7 Event Reporting Engine . 17
6.2.8 Security Engine . 18
6.2.9 Search Engine . 19
6.2.10 Contract Engine . 20
6.2.11 Overlay Engine . 21
6.3 Protocol Engines . 21
6.3.1 Base Protocol Engine . 22
6.3.2 Authenticate Services APIs . 24
6.3.3 Authorise Services APIs . 24
6.3.4 Check With Services APIs . 24
6.3.5 Create Services APIs . 24
6.3.6 Deliver Services APIs . 25
6.3.7 Describe Services APIs. 25
6.3.8 Identify Services APIs . 25
6.3.9 Negotiate Services APIs . 26
6.3.10 Package Services APIs . 26
6.3.11 Post Services APIs . 26
6.3.12 Present Services APIs . 26
6.3.13 Process Services APIs . 26
6.3.14 Request Services APIs . 26
6.3.15 Revoke Services APIs . 27
6.3.16 Search Services APIs . 27
6.3.17 Store Services APIs . 28
6.3.18 Transact Services APIs . 28
6.3.19 Verify Services APIs . 28
6.4 MXM Orchestrator APIs . 29
6.4.1 Introduction . 29
6.4.2 DID Engine Orchestrator APIs . 29
6.4.3 Identify Content Engine Orchestrator APIs . 29
6.4.4 Identify User Engine Orchestrator APIs . 29
© ISO/IEC 2013 – All rights reserved iii

6.4.5 MF Orchestrator Engine APIs .29
Annex A (normative) MXM Configuration .30
A.1 Introduction .30
A.2 Syntax the MXM Configuration Schema .30
A.3 Semantic of the MXM Configuration Schema .32
A.4 Example of a MXM Configuration File .34
Bibliography .36

iv © ISO/IEC 2013 – 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. 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 23006-2 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 23006-2:2011) which has been technically
revised.
ISO/IEC 23006 consists of the following parts, under the general title Information technology — Multimedia
service platform technologies:
 Part 1: Architecture
 Part 2: MPEG extensible middleware (MXM) API
 Part 3: Conformance and reference software
 Part 4: Elementary services
 Part 5: Service aggregation
© ISO/IEC 2013 – All rights reserved v

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 MPEG technologies, accessible from the middleware APIs,
elementary services and aggregated services.
ISO/IEC 23006 is referred to as MPEG Extensible Middleware (MXM) in its first edition, and it specifies an
architecture (Part 1), an API (Part 2), a conformance and reference software (Part 3) and a set of protocols to
which MXM Devices had to adhere (Part 4).
ISO/IEC 23006 is referred to as Multimedia Service Platform Technologies (also abbreviated as MPEG-M) in
its second edition, and it conserves the architecture and design philosophy of the first edition, while stressing
the Service Oriented Architecture character. It specifies also how to combine elementary services into
aggregated services (Part 5).
ISO/IEC 23006 is subdivided in five parts:
Part 1 – Architecture: specifies the architecture that can be used as a guide to an MPEG-M implementation;
Part 2 – MPEG Extensible Middleware (MXM) Application Programming Interface (APIs) (the present
document): specifies the middleware APIs;
Part 3 – Conformance and Reference Software: specifies conformance criteria and a reference software
implementation with a normative value;
Part 4 – Elementary Services: specifies elementary service protocols between MPEG-M applications; and
Part 5 – Service Aggregation: specifies mechanisms enabling the combination of Elementary Services and
other services to build Aggregated Services.
vi © ISO/IEC 2013 – All rights reserved

INTERNATIONAL STANDARD ISO/IEC 23006-2:2013(E)

Information technology — Multimedia service platform
technologies — Part 2: MPEG extensible middleware (MXM) API
1 Scope
This part of ISO/IEC 23006 specifies a set of Application Programming Interfaces (called for short MXM APIs)
so that MPEG-M Applications running on an MPEG-M Device can access the standard multimedia
technologies contained in its Middleware as MPEG-M Engines, as specified by ISO/IEC 23006-1.
The MXM APIs belong to two classes:
 the MPEG-M Engine APIs, i.e. the collection of the individual MPEG-M Engine APIs providing access to a
single MPEG technology (e.g. video coding) or to a group of MPEG technologies where this is
convenient;
 the MPEG-M Orchestrator API, i.e. the API of the special MPEG-M Engine (called Orchestrator Engine)
that is capable of creating chains of MPEG-M Engines to execute high-level application calls such as
"Play a video", as opposed to the typically low-level MPEG-M Engine API calls.
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 23006-1, Information technology — Multimedia service platform technologies — Part 1: Architecture
ISO/IEC 23006-3, Information technology — Multimedia service platform technologies — Part 3: Conformance
and reference software
ISO/IEC 23006-4, Information technology — Multimedia service platform technologies — Part 4: Elementary
services
ISO/IEC 23006-5, Information technology — Multimedia service platform technologies — Part 5: Service
aggregation
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 2013 – All rights reserved 1

3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
3.1.1
Aggregated Service
service resulting from the combination of Elementary Services
3.1.2
Elementary Service
basic unit of service
3.1.3
content
Digital Item and its component elements, namely resources (e.g., media, scripts, executable), identifiers,
descriptions (e.g., metadata), event reports
3.1.4
contract
set of metadata, licenses, promises and signers agreed by Users of a multimedia value chain, where a
promise is a signed collection of statements about, e.g., obligations, prohibitions and assertions, and a signer
is a user whose signature makes the contract valid
3.1.5
device
hardware/software or simply software apparatus that enables a user to play a role in multimedia value chains
3.1.6
event
performance of a specified set of functions or Operations
3.1.7
entity
one of the following elements in the multimedia value chain: content, contract, device, event, license,
service, and user
3.1.8
license
collection of authorizations, conditions and payment terms granted by a user to other users
3.1.9
protocol
set of rules and data format used by two Devices to communicate
3.1.10
resource
individually identifiable asset or a sequence of assets such as a video or audio clip, a 3D synthetic scene, an
image, a textual asset, a 2D LASeR scene, a web page, a single program or a full 24 hour programming of a
TV broadcast, a script or executable, etc.
3.1.11
right
ability of a user to perform an Operation in the multimedia value chain
3.1.12
role
ability of a user to perform a set of Operations in the multimedia value chain
2 © ISO/IEC 2013 – All rights reserved

3.1.13
service
operation performed on an entity by a user on behalf of other users
3.1.14
service provider
user offering services to other users
3.1.15
user
any participant in multimedia value chains
3.1.16
value chain
collection of users, including Creators, End Users and Service Providers, that conform to this standard
3.1.17
MPEG-M Application
application that runs on an MPEG-M Device and makes calls to the MPEG-M Application API and MPEG-M
Engine APIs
3.1.18
MPEG-M Device
device equipped with a selected set of MPEG-M engines
3.1.19
MPEG-M Engine
collection of specific technologies that are bundled together to provide a specific functionality that is needed
by MPEG-M Applications
3.1.20
MPEG-M Engine API
API of a single MPEG-M Engine
3.1.21
MPEG-M Orchestrator API
API of the MPEG-M Orchestrator Engine
3.1.22
MPEG-M Orchestrator Engine
special MPEG-M Engine capable of creating chains of MPEG-M engines, i.e. to set-up a sequence of
connected MPEG-M engines for the purpose of executing a high-level application call such as Play
3.1.23
MPEG-M Technology
technology that is required to implement an MPEG-M functionality
3.2 Abbreviated terms
For the purposes of this document, the abbreviated terms given in the following apply:
AIT Advanced IPTV Terminal
API Application Programming Interface
AS Aggregated Service
BBL Bitstream Binding Language
BPMN Business Process Model and Notation
CEL Contract Expression Language
© ISO/IEC 2013 – All rights reserved 3

DI Digital Item
DIA Digital Item Adaptation
DID Digital Item Declaration
DIDL Digital Item Declaration Language
DII Digital Item Identification
DIS Digital Item Streaming
ER Event Report
ERR Event Report Request
ES Elementary Service
IPMP Intellectual Property Management and Protection
IPTV Internet Protocol Television
MDS Multimedia Description Schemes
MPEG Moving Picture Experts Group
MPEG-21 Multimedia Framework (see ISO/IEC 21000)
MPEG-A Multimedia application format (see ISO/IEC 23000)
MPEG-M Multimedia Service Platform Technologies (see ISO/IEC 23006)
MPQF MPEG Query Format
REL Rights Expression Language
RTP Real Time Protocol
RTSP Real Time Streaming Protocol
URI Uniform Resource Identifier
URL Uniform Resource Locator
WSDL Web Services Description Language
XML   Extensible Markup Language
XSD   XML Schema Definition
XSLT   Extensible Stylesheet Language Transformations
4 Namespace conventions
4.1 Introduction
For clarity, throughout this Part of ISO/IEC 23006, consistent namespace prefixes are used.
"xml:" and "xmlns:" are normative prefixes defined in W3C XMLNAMES. The prefix "xml:" is by definition
bound to "http://www.w3.org/XML/1998/namespace". The prefix "xmlns:" is used only for namespace
bindings and is not itself bound to any namespace name.
"xsi:" prefix is not normative. It is a naming convention in this document to refer to an element of the
http://www.w3.org/2001/XMLSchema-instance namespace. All other prefixes used in either the text
or examples of this specification are not normative, e.g., "mpegm:", "dia:".
In particular, most of the informative examples in this specification are provided as XML fragments without the
normally required XML document declaration and, thus, miss a correct namespace binding context declaration.
Unless specified otherwise, all unqualified descriptions fragments assume the default namespace
"urn:mpeg:mpegM:schema:02-service-NS:2012".
4 © ISO/IEC 2013 – All rights reserved

In these descriptions fragments the different prefixes are bound to the namespaces as given in Table 1. The
schema locations of the namespaces in Table 1 are only an informative indication as schema locations may
change over time.
Table 1 — Mapping of prefixes to namespaces used in examples and text
Prefix Corresponding namespace Schema location
mpegm urn:mpeg:mpegM:schema:02-service-NS:2011
mpegmb urn:mpeg:mpegM:schema:01-base-NS:2011
dia urn:mpeg:mpeg21:2003:01-DIA-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/dia-2nd/UED-
2nd.xsd
erl urn:mpeg:mpeg21:2005:01-ERL-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/er/er.xsd
fru urn:mpeg:mpegB:schema:FragmentRequestUnits:2007 Defined in
ISO/IEC 23001-
2:2008
mpeg7 urn:mpeg:mpeg7:schema:2004
mpeg7s urn:mpeg:mpeg7:systems:2001
cel urn:mpeg:mpeg21:cel:contract:2011
bbl urn:mpeg:mpeg21:2007:01-BBL-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/dis/bbl.xsd
dii urn:mpeg:mpeg21:2002:01-DII-NS
mpqf urn:mpeg:mpqf:schema:2008 Defined in
ISO/IEC 15938-
mpeg4ipmp urn:mpeg:mpeg4:IPMPSchema:2002 Defined in
ISO/IEC 14496-
13:2004
ipmpdidl urn:mpeg:mpeg21:2004:01-IPMPDIDL-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/ipmp/ipmpdid
l.xsd
© ISO/IEC 2013 – All rights reserved 5

ipmpmsg urn:mpeg:mpegB:schema:IPMP-XML-MESSAGES:2007 Defined in
ISO/IEC 23001-
3:2008
ipmpinfo urn:mpeg:mpeg21:2004:01-IPMPINFO-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/ipmp/ipmpgen
eral.xsd
didl urn:mpeg:mpeg21:2002:02-DIDL-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/did/didl.xsd
mpegm-didl urn:mpeg:mpegM:schema:06-didl-NS:2012
didmodel urn:mpeg:mpeg21:2002:02-DIDMODEL-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/did/didmodel
.xsd
didl-msx urn:mpeg:maf:schema:mediastreaming:DIDLextensions Defined in
ISO/IEC 23000-
5:2011
dii urn:mpeg:mpeg21:2002:01-DII-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/dii/dii.xsd
rel-r urn:mpeg:mpeg21:2003:01-REL-R-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/rel-r/rel-
r.xsd
rel-sx urn:mpeg:mpeg21:2003:01-REL-SX-NS http://standar
ds.iso.org/itt
f/PubliclyAvai
lableStandards
/MPEG-
21_schema_file
s/rel-r/rel-
sx.xsd
6 © ISO/IEC 2013 – All rights reserved

xsd http://www.w3.org/2001/XMLSchema http://www.w3.
org/2001/XMLSc
hema.xsd
xsi http://www.w3.org/2001/XMLSchema-instance
dsig http://www.w3.org/2000/09/xmldsig# http://www.w3.
org/TR/2002/RE
C-xmldsig-
core-
20020212/xmlds
ig-core-
schema.xsd
xenc http://www.w3.org/2001/04/xmlenc#
bpmn http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg
.org/spec/BPMN
/20100501/BPMN
20.xsd
bpmnext1 urn:mpeg:mpegM:schema:04-bpmn-ext-mfr-NS:2012
ca urn:mpeg:mpegM:service-type:04-content-
adaptation-NS:2012
cel urn:mpeg:mpeg21:2010:01-CEL-NS
cidl urn:mpeg:mpeg-v:2010:01-CIDL-NS
dc http://purl.org/dc/elements/1.1/ http://dublinc
ore.org/schema
s/xmls/qdc/200
8/02/11/dc.xsd
dcdv urn:mpeg:mpeg-v:2010:01-DCDV-NS
ebucore urn:ebu:metadata-schema:ebuCore_2010 http://www.ebu
.ch/metadata/s
chemas/EBUCore
/20100820/EBU_
CORE_20100820.
xsd
esi urn:mpeg:mpegM:service-type:03-extract-sensory-
information-NS:2012
etsi urn:dvb:metadata:iptv:sdns:2008-1 Defined in
ETSI TS 102
034 [3]
ipmpinfo- urn:mpeg:maf:Schema:mediastreaming:IPMPINFOextensDefined in
msx ions:2007 ISO/IEC 23000-
5:2011
rs urn:mpeg:mpegM:service-type:01-recognize-speech-
NS:2012
saml urn:oasis:names:tc:SAML:2.0:assertion http://docs.oa
sis-
open.org/secur
ity/saml/v2.0/
saml-schema-
assertion-
2.0.xsd
© ISO/IEC 2013 – All rights reserved 7

samlp urn:oasis:names:tc:SAML:2.0:protocol http://docs.oa
sis-
open.org/secur
ity/saml/v2.0/
saml-schema-
protocol-
2.0.xsd
sedl urn:mpeg:mpeg-v:2010:01-SEDL-NS
sepv urn:mpeg:mpeg-v:2010:01-SEPV-NS
sev urn:mpeg:mpeg-v:2010:01-SEV-NS
sid urn:mpeg:mpegM:schema:05-sid-NS:2012
ss urn:mpeg:mpegM:service-type:02-synthesize-speech-
NS:2012
tva urn:tva:metadata:2010 Defined in
ETSI TS 102
822-3-1 [4]
wsdl http://www.w3.org/ns/wsdl http://www.w3.
org/2002/ws/de
sc/ns/wsdl20.x
sd
xsl http://www.w3.org/1999/XSL/Transform http://www.w3.
org/2007/schem
a-for-
xslt20.xsd
xhtml http://www.w3.org/1999/xhtml http://www.w3.
org/MarkUp/SCH
EMA/xhtml11.xs
d
5 Common MXM interfaces and classes
The MXM APIs are specified in the Java languages, as follows:
— an high-level description of the interfaces defining the MXM APIs, provided in the current text;
— an html format specification of the MXM APIs with a normative value provided as an attachment to this
document, provided in attach or on the official MPEG-M website [6].
The core part of MXM consists of a number of interfaces and classes which are common to all MPEG-M
Engines. These are:
— MXM: the main class that enables MPEG-M Applications to obtain instances of MPEG-M Engines. It acts
as a factory instantiating the MPEG-M Engines listed in a configuration file (so-called MXM Configuration
File). The MXM Configuration File contains the list of MPEG-M Engines that are required by an MPEG-M
Application; hence, each MPEG-M Application needs to have a MXM Configuration File (the format of the
MXM Configuration file is depicted in Annex 1);
 MXMAbstractEngine: the abstract class at the highest level of an MPEG-M Engine. Every MPEG-M
Engines has to extend this abstract class;
 MXMObject: the basic interface for most of the MXM classes. MXMObject is a wrapper of any objects
exchanged by MPEG-M Engines. It defines the version of MXM and it provides a number of fundamental
8 © ISO/IEC 2013 – All rights reserved

methods used to extract the actual class name and type of the object wrapped in the MXMObject.
Furthermore, it provides getters and setters for wrapping/unwrapping an object into/from an MXMObject;
 MXMAdapter: the basic class implementing the MXMObject interface. By means of an MXMAdapter it is
possible to convert any object into an MXMObject;
 MXMEngineName: the enumeration listing all possible names (types) of MPEG-M Engines, so that any
entity can unambiguously identified;
 MXMException: the highest level of exception thrown by MXM. All other exceptions in MXM have to
extend this abstract class;
 MXMInvalidConfigurationException: specialized exception informing an MPEG-M Application that the
MXM Configuration File is trying to use a not compliant MXM Configuration Schema specifications;
 MXMEngineResponse: the enumeration used as a general-purpose return value for a number of
methods;
 MXMCreatorAndParser: the interface that extends the MXMCreator and MXMParser interfaces which
specify a set of common methods to be implemented by all classes employed to create and parse data
managed by the entire MXM middleware;
 MXMKeys: the class that wraps a key-value construct used to specify an MPEG-M Engine’s parameter.
6 MPEG-M Engines
6.1 Introduction
Throughout this section, the technologies supported by each MPEG-M Engines are detailed. If a specific
profile has not been indicated it implies that the full standard is supported. Moreover, the APIs of the
aforemention engines are specified. These APIs have been designed in such a way that any MPEG-M
Application can rely on top of them, independently of their implementation. MPEG-M Part 3 provides a
reference implementation of these MPEG-M Engines; however, this implementation may vary, the only
requirement is that all implementations have to produce the same results.
The MPEG-M Engine APIs can be divided in two subclasses:
 APIs that represent particular data the MPEG-M Engine is specialized on (called "schema handler APIs");
 APIs that provide some functionality on the data described above (called "functional APIs").
The MPEG-M Engines, as already depicted in MPEG-M Part 1, are subdivided in MPEG-M Technology
Engines and MPEG-M Protocol Engines. The difference between them is the way they are acceded: locally for
MPEG-M Technology Engines, remotely in the case of MPEG-M Protocol Engines. A special case of MPEG-
M Technologies Engines are the MPEG-M Orchestrator Engines, which are supposed to deal with several and
different MPEG-M Engines.
6.2 Technology Engines
6.2.1 Digital Item Engine
6.2.1.1 Technologies
The Digital Item Engine provides access to the technologies specified in the following table:
© ISO/IEC 2013 – All rights reserved 9

Table 2 — Technologies supported by the Digital Item Engine
Standard Profile or Technology Reference
Digital Item Declaration Main [ISO/IEC 21000-2]
MSAF [ISO/IEC 23000-7]
Digital Item Identification [ISO/IEC 21000-3]
6.2.1.2 APIs
The Digital Item Engine interface defines the APIs for handling ISO/IEC 21000-2 and ISO/IEC 23000-7 Digital
Item Declaration (DID) data structures. Classes implementing the Digital Item Engine interface must provide
the necessary functionality to:
— create Digital Items and retreive data from them;
— be able to manage:
 Item, Statement, Descriptor from Digital Items;
 Component, Resource from Digital Items;
 License, Metadata, ERRs from Item in Digital Items.
6.2.2 MPEG-21 File Format Engine
6.2.2.1 Technologies
The MPEG-21 File Format Engine provides access to the technologies specified in the table below:
Table 3 — Technologies supported by the MPEG-21 File Format Engine
Standard Profile or Technology Reference
MPEG-21 File Format [ISO/IEC 21000-9]
6.2.2.2 APIs
 The MPEG-21 File Format Engine interface defines the methods for operating over ISO/IEC 21000-9
MPEG-21 File Format files. Classes implementing the MPEG-21 File Format Engine interface must
provide the necessary functionality to:
 create an MPEG-21 file;
 access data of an MPEG-21 File.
6.2.2.2.1 MPEG21 File Creation
Creating an MPEG-21 File involves the following interfaces:
— MPEG21FileCreator: an interface defining the methods to create an MPEG-21 file.
6.2.2.2.2 MP21 File Access
Accessing an MPEG-21 File involves the following interfaces:
— MPEG21FileReader: an interface defining the methods to access an MPEG-21 file.
10 © ISO/IEC 2013 – All rights reserved

6.2.3 REL Engine
6.2.3.1 Technologies
The REL Engine provides access to the technologies specified in the table below:
Table 4 — Technologies supported by the REL Engine
Standard Profile or Technology Reference
Rights Expression Language MAM profile [ISO/IEC 21000-5]
DAC profile [ISO/IEC 21000-5]
OAC profile [ISO/IEC 21000-5]
6.2.3.2 APIs
 The REL Engine interface defines the methods for handling ISO/IEC 21000-5 Rights Expression
Language (REL) data structures. Classes implementing the REL Engine interface must provide the
following functionality:
— create Rights Expressions and access data contained in them;
— authorise users to exercise rights.
6.2.3.3 Rights Expression creation and access
Creating and accessing a REL statement involves the following interfaces:
 License: an interface defining the methods to create and parse an r:license element;
 Grant: an interface defining the methods to create and parse an r:grant;
 DigitalResource: an interface defining the methods to create and parse an r:digitalResource;
 ProtectedResource: an interface defining the methods to create and parse an m1x:protectedResource;
 IdentityHolder: an interface defining the methods to create and parse an m1x:identityHolder;
 Issuer: an interface defining the methods to create and parse an r:issuer;
 KeyHolder: an interface defining the methods to create and parse an r:keyHolder.
6.2.3.3.1 Authorisation
Authorising a user to exercise a right involves the following interfaces:
 AuthorisationManager: an interface defining the methods to authorise a user to exercise a right and
retrieve information from the validation operation;
 AuthorisationResult: an enumeration defining possible result of an authorisation.
© ISO/IEC 2013 – All rights reserved 11

6.2.4 IPMP Engine
6.2.4.1 Technologies
The IPMP Engine provides access to the technologies specified in the table below:
Table 5 — Technologies supported by the IPMP Engine
Standard Profile or Technology Reference
MPEG-21 IPMP Components Main [ISO/IEC 21000-4]
[ISO/IEC 23000-5]
MSAF
IPMP XML Messages [ISO/IEC 23001-3]

6.2.4.2 APIs
 The IPMP Engine interface defines the methods for operating over ISO/IEC 21000-4 and ISO/IEC 23000-
5 Intellectual Property Management and Protection data structures. Classes implementing the IPMP
Engine interface must provide the following functionality:
 create IPMP data structures and access data contained in them
6.2.4.2.1 IPMP Information creation and access
Creating and accessing IPMP data structures involves the following interfaces:
 IPMPGeneralInfoDescriptor: an interface defining the methods to create and parse an
ipmpinfo:IPMPGeneralInfoDescriptor element;
 IPMPInfoDescriptor: an interface defining the methods to create and parse an
ipmpinfo:IPMPInfoDescriptor element;
 ProtectedAsset: an interface defining the methods to create and parse an ipmpdidl:ProtectedAsset
element;
 RightsDescriptor: an interface defining the methods to create and parse an ipmpinfo:RightsDescriptor
element;
 Tool: an interface defining the methods to create and parse an ipmpinfo:Tool element.
6.2.5 Media Framework Engine
6.2.5.1 Technologies
The Media Framework Engine has to provide access to, at least, the technologies specified in the sections
below.
12 © ISO/IEC 2013 – All rights reserved

6.2.5.1.1 Audio
Table 6 — Audio technologies supported by the Media Framework Engine
Standard Profile or Technology Reference
MPEG-1 Audio layer II [ISO/IEC 11172-3]
MPEG-1 Audio layer III [ISO/IEC 11172-3]
MPEG-4 AAC [ISO/IEC 14496-3]
MPEG-4 HE-AAC [ISO/IEC 14496-3]

6.2.5.1.2 Video
Table 7 — Video technologies supported by the Media Framework Engine
Standard Profile or Technology Reference
MPEG-1 Video [ISO/IEC 11172-2]
MPEG-2 Video Main Profile [13818-2]
MPEG-4 Visual Simple Profile [ISO/IEC 14496-2]
Advanced Simple Profile [ISO/IEC 14496-2]
MPEG-4 AVC  [ISO/IEC 14496-10]

6.2.5.1.3 Reconfigurable Video
Table 8 — Reconfigurable Video technologies supported by the Media Framework Engine
Standard Profile or Technology Reference
Codec Configuration Representation [ISO/IEC 23001-4]
Video tool library [ISO/IEC 23002-4]

6.2.5.1.4 Muxed Content
Table 9 — Muxed content technologies supported by the Media Framework Engine
Standard Profile or Technology Reference
MPEG-1 Systems [ISO/IEC 11172-1]
MPEG-2 Systems Transport Stream [ISO/IEC 13818-1]
© ISO/IEC 2013 – All rights reserved 13

Program Stream [ISO/IEC 13818-1]
MPEG-4 M4Mux [ISO/IEC 14496-1]
ISO Base Media File Format [ISO/IEC 14496-12]

Figure 1 shows the various components of the MPEG-M Media Framework engine at a high level.

Figure 1 — Technologies of the MPEG-M Media Framework Engine
6.2.5.2 APIs
The MediaFramework is a high level MPEG-M Engine, grouping together several media specific engines such
as Video, Image and Audio Engine. It also implements common functionalities (independent on the media
type) such as resource loading and saving.
The MediaFrameworkEngine holds two main interfaces:
 an interface for accessing the Content (called AccessMedia)
 an interface for creating the Content (called CreationMedia)
A typical implementation of the AccessMedia interface of the MediaFrameworkEngine first loads a resource,
demultiplex it, check the type of the elementary streams within the resource and call the associated
elementary stream access engines.
A typical implementation of the CreationMedia interface of the MediaFrameworkEngine call the associated
elementary stream creation engines, initialize them with encoding parameters and finaly save the multiplexed
resource.
The table below shows which class of APIs are provided in the second part of this International Standard for
the various media categories.
14 © ISO/IEC 2013 – All rights reserved

Table 10 — MXM Media Framework APIs
Class Type Creation Decoding Rendering
Elementary Image Yes, only if Yes Yes, only if it is
Streams is a JPEG a texture
Audio  Yes
Video Traditional  Yes
(MPEG-1,
MPEG-2,
etc.)
RVC Yes Yes
Muxed Yes Yes
content
The Media Framework Engine acts like a factory that returns an instance of the AccessMediaFramework or
CreationMediaFramework interface.
 public AccessMediaFramework getAccessMediaFramework(Canvas canvas) throws
MediaFrameworkEngineException;
 public CreationMediaFramework getCreationMediaFramework() throws
MediaFrameworkEngineException;
In the first case, an optional java.awt.Canvas can be passed to specify where the MediaFramework have to
render the resource.
The AccessMediaFramework holds the following methods:
 booelan consumeResource(List tools, URI inputLocationResource, String mediaType,
OutputStream os, MXMObject useType);
This method is used to consume a given resource.
 List tools: one or more IPMPTools (or other kind of tools) used to manipulate the
resource (e.g. ciphering, filtering) and defining
 control points involved
 name or ID of the tool
 Tool messages (IPMPMessage) that could contains one or a set of keys
 URI inputLocationResource: where the resource handled is located
 String mediaType: what kind of media is handled
 OutputStream os: where the resource will be eventually stored;
 MXMObject useType: the type of interaction the user requested on the passed resource;
© ISO/IEC 2013 – All rights reserved 15

— void open( MXMObject media )
This method is a high-level API that is used to prepare a resource (passed as parameter in a MXMObject)
to be rendered.
— Void play(), void pause(), void stop(), void release(), void setVolume(int newVolume)
These methods are used to manage the media chain created to render the resource. It's possible to start,
to pause, to stop the rendering of the passed resource; to release the allocated resource and to set the
volume of audio stream inside the resource.
The CreationMediaFramework holds the following methods:
— boolean createResource(List tools, URI locationResource, URI newLocationResource);
This method is used to create and handle a given resource.
o List tools: one or more IPMPTools (or other kind of tools) used to manipulate the
resource (e.g. ciphering, filtering) and defining
 control points involved
 name or ID of the tool
 Tool messages (IPMPMessage) that could contain one or a set of keys
o URI locationResource: where the resource handled is located
o URI newLocationResource: where the resource handled will be located
6.2.6 Metadata Engine
6.2.6.1 Technologies
The Metadata Engine provides access to the technologies specified in the table below:
Table 11 — Technologies supported by the Content Metadata Engine
Standard Profile or Technology Reference
MPEG-7 MDS Version 3 [ISO/IEC 15938-5]

6.2.6.2 APIs
 The Metadata Engine interface defines the methods for operating over metadata structures. Classes
implementing the Metadata Engine interface must provide the following functionality:
— create metadata structures and access data in them.
6.2.6.2.1 Metadata creation and access
Creating and accessing metadata structures involves the following interfaces:
— Metadata: a super interface to further be extended, defining a basic method to create and parse a
metadata structure;
16 © ISO/IEC 2013 – All rights reserved

— Mpeg7: an interface defining the methods to create and parse MPEG-7 metadata structures;
— Abstract: an interface defining the methods to create and parse an mpeg7:Abstract element;
— CreationCoordinates: an interface defining the methods to create and parse an
mpeg7:CreationCoordinates element;
— CreationDescription: an interface defining the methods to create and parse an mpeg7:CreationDescription
element;
— Creator: an interface defining the methods to create and parse an mpeg7:Creator element;
— Genre: an interface defining the methods to create and parse an mpeg7:Genre element;
— ParentalGuidance: an interface defining the methods to create and parse an mpeg7:Creator element;
— TitleMedia: an interface defining the methods to create and parse an mpeg7:Creator element.
6.2.7 Event Reporting Engine
6.2.7.1 Technologies
The Event Reporting Engine provides access to the technologies specified in the table below:
Table 12 — Technologies supported by the Event Reporting Engine
Standard Profile or Technology Reference
Event Reporting [ISO/IEC 21000-15]

6.2.7.2 APIs
The Event Reporting Engine interface defines the methods for operating over ISO/IEC 21000-15 Event
Reporting data structures. Classes implementing the request event engine interface implement the methods
allowing performing the following functionalities:
— Create Event Report Requests: provides the capability to create well-formed ERR objects. An instance of
ERR object is needed to parse/create a ERR xml fragment. An Event Report Request (ERR) is used to
define the conditions (predicates) under which an Event is deemed to have occurred. Events defined by
ERRs trigger the creation of an associated Event Report (ER), which contains information describing the
Event, as specified in the associated ERR;
— Create Event Reports: provides the capability to create well-formed ER objects. An instance of ER object
is needed to parse/create a ER xml fragment;
— Store Event Reports: capability to store Event Reports to a local repository;
— Store Event Report Requests: capability to store Event Report Requests to a local repository;
— Load Event Requests: capability to load Event Reports from a local repository;
— Load Event Report Requests: capability to load Event Report Requests from a local re
...


INTERNATIONAL ISO/IEC
STANDARD 23006-2
Second edition
2013-09-15
Information technology — Multimedia
service platform technologies —
Part 2:
MPEG extensible middleware (MXM) API
Technologies de l'information — Technologies de la plate-forme de
services multimédia —
Partie 2: Intergiciel MPEG extensible (MXM) API

Reference number
©
ISO/IEC 2013
This CD-ROM contains:
1) the publication ISO/IEC ISO/IEC 23006-2:2013 in portable document format (PDF), which can be
viewed using Adobe® Acrobat® Reader;
2) html format specification of the MXM APIs.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.

This second edition cancels and replaces the first edition (ISO/IEC 23006-2:2011), which has been technically
revised.
©  ISO/IEC 2013
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
Case postale 56  CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2013 – All rights reserved

Installation
If this publication has been packaged as a
...

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