ISO/IEC 23006-3:2011
(Main)Information technology — MPEG extensible middleware (MXM) — Part 3: MXM reference software
Information technology — MPEG extensible middleware (MXM) — Part 3: MXM reference software
Technologies de l'information — Intergiciel MPEG extensible (MXM) — Partie 3: Logiciel de référence MXM
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23006-3
First edition
2011-02-01
Information technology — MPEG
extensible middleware (MXM) —
Part 3:
MXM reference software
Technologies de l'information — Intergiciel MPEG extensible (MXM) —
Partie 3: Logiciel de référence MXM
Reference number
ISO/IEC 23006-3:2011(E)
©
ISO/IEC 2011
---------------------- Page: 1 ----------------------
ISO/IEC 23006-3:2011(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2011
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing 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 2011 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 23006-3:2011(E)
Contents Page
Foreword .iv
Introduction.v
1 Scope.1
2 Normative references.1
3 Terms and definitions .1
4 Abbreviated terms.1
5 MXM software overview.2
5.1 The MXM software repository .2
6 MXM Java software implementation.3
6.1 Introduction.3
6.2 Java MXM Engines .4
6.3 Java MXM Applications.8
7 MXM C++ software implementation.9
7.1 MediaFramework Engine .9
Annex A (informative) Check out the MXM source code from the MXM svn repository .11
Annex B (informative) Building the MXM Java implementation.12
Bibliography.14
© ISO/IEC 2011 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 23006-3:2011(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.
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-3 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 23006 consists of the following parts, under the general title Information technology — MPEG
extensible middleware (MXM):
⎯ Part 1: MXM architecture and technologies
⎯ Part 2: MXM API
⎯ Part 3: MXM reference software
⎯ Part 4: MXM protocols
iv © ISO/IEC 2011 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 23006-3:2011(E)
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 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 hosting MXM applications thanks to the existence of a standard MXM architecture,
⎯ MXM components thanks to the existence of standard MXM components 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.
© ISO/IEC 2011 – All rights reserved v
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 23006-3:2011(E)
Information technology — MPEG extensible middleware
(MXM) —
Part 3:
MXM reference software
1 Scope
This part of ISO/IEC 23006 describes the reference software implementing the normative clauses of
ISO/IEC 23006-1. The information provided is applicable for determining the reference software modules
available for ISO/IEC 23006-1, understanding the functionality of the available reference software modules,
and utilizing the available reference software modules.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 23006-1, Information technology — MPEG extensible middleware (MXM) — Part 1: MXM
architecture and technologies
3 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 23006-1 apply.
4 Abbreviated terms
For the purposes of this document, the following abbreviated terms apply.
BBL Bitstream Binding Language
DIA Digital Item Adaptation
DID Digital Item Declaration
DIDL Digital Item Declaration Language
DII Digital Item Identification
DIS Digital Item Streaming
IPMP Intellectual Property Management and Protection
LPD License Provider Device
REL Rights Expression Language
URI Uniform Resource Identifier
© ISO/IEC 2011 – All rights reserved 1
---------------------- Page: 6 ----------------------
ISO/IEC 23006-3:2011(E)
5 MXM software overview
5.1 The MXM software repository
The figure below shows a graphical representation of the MXM software.
Figure 1 — The MPEG-M software structure
NOTE The MPEG-M remote folder contains two main sub-folders: C and Java, containing the MXM API definition:
⎯ In C++: C/include/core/engines/
⎯ In Java: JAVA/mxm-core/src/main/java
2 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 23006-3:2011(E)
The reference software also contains preliminary MXM software implementations in both programming
languages, as well as all the schemas referred in ISO/IEC 23006-1, ISO/IEC 23006-2 and ISO/IEC 23006-4.
6 MXM Java software implementation
6.1 Introduction
The Java MXM software is available in source code under the terms of the BSD License [4]. The software is
organised in a number of projects, whose build is managed by Maven [7]. All projects have a common
structure:
⎯ src/main/java --> Containing the main classes and/or interfaces organised in packages
⎯ src/main/resources --> Containing the resources (e.g. xml files, properties files, etc.) used by the engine
or the application at runtime
⎯ src/test/java --> Containing the unit test classes used to test the main classes
⎯ src/test/resources --> Containing those resources which are used by the tests when being executed.
The Java MXM software is divided in the following modules:
⎯ mxm-core: the core MXM project. It defines the MXM APIs and it provides a thin layer of code
implementing MXM as a factory of MXM Engines based on the contents of the MXMConfiguration file
passed over to MXM when instantiated. Summarising, mxm-core contains the following categories of
classes:
⎯ all interfaces defining the MXM API
⎯ a number of classes for:
⎯ parsing the MXM configuration file (conforming to the MXM configuration schema) defining
which MXM Engines shall be loaded.
⎯ loading MXM Engines. MXM Core acts as a factory providing MXM applications one or more
instances of the MXM Engines listed in the MXM configuration file.
⎯ mxm-engines: containing the software implementation of MXM engines. Currently a preliminary version
of the following MXM Engines has been developed:
⎯ DIDEngine
⎯ DIAEngine
⎯ MPEG21FileEngine
⎯ MetadataEngine
⎯ RELEngine
⎯ IPMPEngine
⎯ SecurityEngine
⎯ LicenseProtocolEngine
⎯ ContentProtocolEngine
⎯ DISEngine
⎯ EREngine
© ISO/IEC 2011 – All rights reserved 3
---------------------- Page: 8 ----------------------
ISO/IEC 23006-3:2011(E)
⎯ mxm-applications: containing examples of MXM applications which can be customised or used for
conformance test purposes. The following MXM applications have been provided:
⎯ chillout-mxm-lpd
⎯ uniklu-dia-app
6.2 Java MXM Engines
6.2.1 The DIDEngine
A preliminary implementation of the DID Engine has been provided by the Chillout project [10]. The
DIDEngine is used to generate and conversely to parse a Digital Item. By means of this engine it is possible to
add to or retrieve from a Digital Item the following Content and Content element information:
⎯ identifiers
⎯ related identifiers
⎯ item IDs
⎯ MPEG-7 (MDS) metadata
⎯ IPMPGeneralInfoDescriptors
⎯ protectedAssets
⎯ laserObjects
⎯ signatures
⎯ resource information (mimeType, ref, encoding)
6.2.2 The DIA Engine
This Subclause describes a portion of the MXM reference software related to adaptResByDescr,
setUseEnvDescr, and parseUseEnvDescr as defined in ISO/IEC 21000-7.
The software is structured as follows:
⎯ org.iso.mpeg.mxm provides general classes for the MPEG MXM API.
⎯ org.iso.mpeg.mxm.demo provides a simple demo application utilizing the actual reference software.
⎯ org.iso.mpeg.mxm.dia provides the MXM API related to MPEG-21 Digital Item Adaptation.
⎯ org.iso.mpeg.mxm.exception provides the MXM API Exceptions.
The software assumes that an MXMResource implements the MXMResAdaptDescrI which defines the
1
adaptResByDescr. That is, the MXMResource is adapted according to the Usage Environment
Description (UED) which is parsed using MXMDIAUED. MXMDIAUED implements both setUseEnvDescr
and parseUseEnvDescr methods.
1
The MXMResource contains an URI that identifies the actual media resource to be adapted.
4 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 23006-3:2011(E)
NOTE parseUseEnvDescr has been modified and now returns an Object instead of a String. It is
recommended to change this in the WD1.0 of MXM APIs accordingly.
In the following, the main steps of the adaptResByDescr method are described:
1) Read/parse the UsageEnvironmentType from the String:ued using the DIA reference
software via the MXM API.
2) Create a new MXMDIAEngine and adapt the resource.
The MPEG-21 DIA reference software is used to parse the UED into its internal representation and is then
available as DIA object. The actual adaptation extracts the relevant information from the DIA
UsageEnvironmentProperty objects (e.g., codec capabilities, display capabilities, etc.) and triggers the
adaptation process based on these parameters. The adaptation is p
...
INTERNATIONAL ISO/IEC
STANDARD 23006-3
First edition
2011-02-01
Information technology — MPEG
extensible middleware (MXM) —
Part 3:
MXM reference software
Technologies de l'information — Intergiciel MPEG extensible (MXM) —
Partie 3: Logiciel de référence MXM
Reference number
ISO/IEC 23006-3:2011(E)
©
ISO/IEC 2011
---------------------- Page: 1 ----------------------
ISO/IEC 23006-3:2011(E)
PDF disclaimer
PDF files may contain embedded typefaces. In accordance with Adobe's licensing policy, such files may be printed or viewed but shall
not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading a PDF file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create the PDF file(s) constituting this document can be found in the General Info relative to
the file(s); the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the files are suitable for
use by ISO member bodies. In the unlikely event that a problem relating to them is found, please inform the Central Secretariat at the
address given below.
This CD-ROM contains the publication ISO/IEC 23006-3:2011 in portable document format (PDF), which can
be viewed using Adobe® Acrobat® Reader.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2011
All rights reserved. Unless required for installation or otherwise specified, no part of this CD-ROM may be reproduced, stored in a retrieval
system or transmitted in any form or by any means without prior permission from ISO. Requests for permission to reproduce this product
should be addressed to
ISO copyright office • Case postale 56 • CH-1211 Geneva 20 • Switzerland
Internet co
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.