Information technology — Multimedia framework (MPEG-21) — Part 8: Reference software

ISO/IEC 21000-8:2008 describes reference software implementing the normative clauses of the other parts of ISO/IEC 21000. The information provided is applicable for determining the reference software modules available for parts of ISO/IEC 21000, understanding the functionality of the available reference software modules, and utilizing the available reference software modules. In addition to the reference software, available (integrated) utility software that utilizes the reference software is also described. This utility software can assist in understanding how to utilize the reference software, as well as providing further insight into the applicable parts of ISO/IEC 21000, e.g. informative clauses of the other parts of ISO/IEC 21000. ISO/IEC 21000-8:2008 specifies reference software for: — ISO/IEC 21000-2:2005; — ISO/IEC 21000-3:2003; — ISO/IEC 21000-3:2003/Amd.1:2007; — ISO/IEC 21000-4:2006, ISO/IEC 21000-4:2006/Amd.1:2007; — ISO/IEC 21000-5:2004, ISO/IEC 21000-5:2004/Amd.1:2007, ISO/IEC 21000-5:2004/Amd.2:2007; — ISO/IEC 21000-6:2004; — ISO/IEC 21000-7:2007; — ISO/IEC 21000-9:2005; — ISO/IEC 21000-10:2006, ISO/IEC 21000-10:2006/Amd.1:2006; — ISO/IEC 21000-12:2005; — ISO/IEC 21000-14:2007; — ISO/IEC 21000-15:2006; — ISO/IEC 21000-16:2005; and — ISO/IEC 21000-17:2006. ISO/IEC 21000-8:2008 also specifies (integrated) utility software for ISO/IEC 21000-2:2005, ISO/IEC 21000-3:2003, ISO/IEC 21000-5:2004, ISO/IEC 21000-5:2004/Amd.1:2007, ISO/IEC 21000-6:2004, ISO/IEC 21000-7:2007, and ISO/IEC 21000-10:2006/Amd.1:2006.

Technologies de l'information — Cadre multimédia (MPEG-21) — Partie 8: Logiciel de référence

General Information

Status
Published
Publication Date
24-Feb-2008
Current Stage
9060 - Close of review
Completion Date
04-Mar-2029

Relations

Effective Date
06-Jun-2022
Effective Date
26-Nov-2021
Effective Date
31-Jul-2021
Effective Date
09-May-2020
Effective Date
15-Apr-2008
Effective Date
20-Jun-2008

Overview

ISO/IEC 21000-8:2008 - "Information technology - Multimedia framework (MPEG-21) - Part 8: Reference software" describes the reference software modules that implement the normative clauses of the MPEG-21 family. The standard documents available reference and integrated utility software used to parse, validate, query and process MPEG-21 constructs such as Digital Item Declaration (DID), Digital Item Identification (DII), Rights Expression Language (REL), Rights Data Dictionary (RDD) and Digital Item Adaptation (DIA). Its primary aims are validation of specifications, clarification of normative behavior, and conformance testing to support interoperability across MPEG-21 implementations.

Key topics and technical requirements

  • Reference implementations: Descriptions of modules that implement normative clauses for multiple MPEG-21 parts, including packaging conventions, inputs/outputs, languages, platforms and dependencies.
  • Parsing & serialization: Modules for parsing and serializing DID and DIA descriptions into internal data structures.
  • Rights handling: REL reference modules that validate licenses, check authorization requests and verify authorization proofs per ISO/IEC 21000-5.
  • RDD querying: Tools to query the Rights Data Dictionary (RDD), exposing term genealogy and IsTypeOf hierarchies.
  • IPMP and DII support: Reference modules for Intellectual Property Management and Protection (IPMP) and Digital Item Identification (DII) including amendments where applicable.
  • Utility & integrated tools: Informative utility software that demonstrates usage patterns, integration scenarios (e.g., DID–REL–RDD workflows) and assists implementers in applying informative clauses.
  • Module metadata convention: Standardized ZIP naming and documentation format (module name, implementation ID, version) plus required descriptive fields (Description, Input, Output, Programming Languages, Platforms, Dependencies, Details).

Applications and who uses it

ISO/IEC 21000-8 is practical for:

  • Software developers and implementers building MPEG-21-compliant tools (DID/DII parsers, REL engines, RDD query services, DIA processors).
  • Test labs and QA teams conducting conformance testing and interoperability validation against reference implementations.
  • System integrators and service providers deploying digital-rights and multimedia delivery systems who need utility examples and integration patterns.
  • Standards editors and researchers who require canonical behavior examples to interpret normative text.

Using ISO/IEC 21000-8 accelerates deployment of interoperable MPEG-21 solutions and reduces ambiguity in rights management, content packaging and adaptation workflows.

Related standards

ISO/IEC 21000-8 complements other MPEG-21 parts, notably:

  • ISO/IEC 21000-2 (DID), 21000-3 (DII), 21000-4 (IPMP), 21000-5 (REL), 21000-6 (RDD), 21000-7 (DIA) and additional parts listed in the MPEG-21 series.
    Refer to the full ISO/IEC 21000 family for detailed normative specifications that the reference software implements.
Standard

ISO/IEC 21000-8:2008 - Information technology -- Multimedia framework (MPEG-21)

English language
83 pages
sale 15% off
Preview
sale 15% off
Preview
Standard

ISO/IEC 21000-8:2008 - Information technology -- Multimedia framework (MPEG-21)

English language
83 pages
sale 15% off
Preview
sale 15% off
Preview

Get Certified

Connect with accredited certification bodies for this standard

BSI Group

BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

UKAS United Kingdom Verified

NYCE

Mexican standards and certification body.

EMA Mexico Verified

Sponsored listings

Frequently Asked Questions

ISO/IEC 21000-8:2008 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology — Multimedia framework (MPEG-21) — Part 8: Reference software". This standard covers: ISO/IEC 21000-8:2008 describes reference software implementing the normative clauses of the other parts of ISO/IEC 21000. The information provided is applicable for determining the reference software modules available for parts of ISO/IEC 21000, understanding the functionality of the available reference software modules, and utilizing the available reference software modules. In addition to the reference software, available (integrated) utility software that utilizes the reference software is also described. This utility software can assist in understanding how to utilize the reference software, as well as providing further insight into the applicable parts of ISO/IEC 21000, e.g. informative clauses of the other parts of ISO/IEC 21000. ISO/IEC 21000-8:2008 specifies reference software for: — ISO/IEC 21000-2:2005; — ISO/IEC 21000-3:2003; — ISO/IEC 21000-3:2003/Amd.1:2007; — ISO/IEC 21000-4:2006, ISO/IEC 21000-4:2006/Amd.1:2007; — ISO/IEC 21000-5:2004, ISO/IEC 21000-5:2004/Amd.1:2007, ISO/IEC 21000-5:2004/Amd.2:2007; — ISO/IEC 21000-6:2004; — ISO/IEC 21000-7:2007; — ISO/IEC 21000-9:2005; — ISO/IEC 21000-10:2006, ISO/IEC 21000-10:2006/Amd.1:2006; — ISO/IEC 21000-12:2005; — ISO/IEC 21000-14:2007; — ISO/IEC 21000-15:2006; — ISO/IEC 21000-16:2005; and — ISO/IEC 21000-17:2006. ISO/IEC 21000-8:2008 also specifies (integrated) utility software for ISO/IEC 21000-2:2005, ISO/IEC 21000-3:2003, ISO/IEC 21000-5:2004, ISO/IEC 21000-5:2004/Amd.1:2007, ISO/IEC 21000-6:2004, ISO/IEC 21000-7:2007, and ISO/IEC 21000-10:2006/Amd.1:2006.

ISO/IEC 21000-8:2008 describes reference software implementing the normative clauses of the other parts of ISO/IEC 21000. The information provided is applicable for determining the reference software modules available for parts of ISO/IEC 21000, understanding the functionality of the available reference software modules, and utilizing the available reference software modules. In addition to the reference software, available (integrated) utility software that utilizes the reference software is also described. This utility software can assist in understanding how to utilize the reference software, as well as providing further insight into the applicable parts of ISO/IEC 21000, e.g. informative clauses of the other parts of ISO/IEC 21000. ISO/IEC 21000-8:2008 specifies reference software for: — ISO/IEC 21000-2:2005; — ISO/IEC 21000-3:2003; — ISO/IEC 21000-3:2003/Amd.1:2007; — ISO/IEC 21000-4:2006, ISO/IEC 21000-4:2006/Amd.1:2007; — ISO/IEC 21000-5:2004, ISO/IEC 21000-5:2004/Amd.1:2007, ISO/IEC 21000-5:2004/Amd.2:2007; — ISO/IEC 21000-6:2004; — ISO/IEC 21000-7:2007; — ISO/IEC 21000-9:2005; — ISO/IEC 21000-10:2006, ISO/IEC 21000-10:2006/Amd.1:2006; — ISO/IEC 21000-12:2005; — ISO/IEC 21000-14:2007; — ISO/IEC 21000-15:2006; — ISO/IEC 21000-16:2005; and — ISO/IEC 21000-17:2006. ISO/IEC 21000-8:2008 also specifies (integrated) utility software for ISO/IEC 21000-2:2005, ISO/IEC 21000-3:2003, ISO/IEC 21000-5:2004, ISO/IEC 21000-5:2004/Amd.1:2007, ISO/IEC 21000-6:2004, ISO/IEC 21000-7:2007, and ISO/IEC 21000-10:2006/Amd.1:2006.

ISO/IEC 21000-8:2008 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 21000-8:2008 has the following relationships with other standards: It is inter standard links to ISO/IEC 21000-8:2008/Amd 1:2009, ISO/IEC 21000-8:2008/Amd 2:2011, ISO/IEC 21000-8:2008/Amd 4:2018, ISO/IEC 21000-8:2008/Amd 3:2015, ISO/IEC 21000-8:2006; is excused to ISO/IEC 21000-8:2008/Amd 1:2009. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

ISO/IEC 21000-8:2008 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 21000-8
Second edition
2008-03-01
Information technology — Multimedia
framework (MPEG-21)
Part 8:
Reference software
Technologies de l'information — Cadre multimédia (MPEG-21)
Partie 8: Logiciel de référence

Reference number
©
ISO/IEC 2008
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:
1) the publication ISO/IEC 21000-8:2008 in portable document format (PDF), which can be viewed
using Adobe® Acrobat® Reader;
2) ISO/IEC 21000 reference software.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.

This second edition cancels and replaces the first edition (ISO/IEC 21000-8:2006), which has been technically
revised.
©  ISO/IEC 2008
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
...


INTERNATIONAL ISO/IEC
STANDARD 21000-8
Second edition
2008-03-01
Information technology — Multimedia
framework (MPEG-21) —
Part 8:
Reference software
Technologies de l'information — Cadre multimédia (MPEG-21) —
Partie 8: Logiciel de référence

Reference number
©
ISO/IEC 2008
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.

©  ISO/IEC 2008
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 2008 – All rights reserved

Contents Page
Foreword .iv
Introduction.v
1 Scope.1
2 Normative references.1
3 Terms, definitions and abbreviated terms.1
3.1 Terms and definitions .1
3.2 Abbreviated terms .2
4 Overview and conventions.2
4.1 Organization of the document .2
4.2 Overview of ISO/IEC 21000 reference software.3
4.3 Overview of ISO/IEC 21000 utility software .4
4.4 Overview of integrated utility software across the individual ISO/IEC 21000 parts.5
5 Reference software for the ISO/IEC 21000 parts.5
5.1 Introduction.5
5.2 ISO/IEC 21000-2:2005.6
5.3 ISO/IEC 21000-3:2003.6
5.4 ISO/IEC 21000-3:2003/Amd.1:2007.7
5.5 ISO/IEC 21000-4:2006.8
5.6 ISO/IEC 21000-4:2006/Amd.1:2007.11
5.7 ISO/IEC 21000-5:2005.12
5.8 ISO/IEC 21000-5:2004/Amd.1:2007.22
5.9 ISO/IEC 21000-5:2004/Amd.2:2007.25
5.10 ISO/IEC 21000-6:2004.28
5.11 ISO/IEC 21000-7:2007.29
5.12 ISO/IEC 21000-9:2005.32
5.13 ISO/IEC 21000-10:2006.32
5.14 ISO/IEC 21000-10:2006/Amd.1:2006.33
5.15 ISO/IEC 21000-12:2005.33
5.16 ISO/IEC 21000-14:2007.35
5.17 ISO/IEC 21000-15:2006.37
5.18 ISO/IEC 21000-16:2005.39
5.19 ISO/IEC 21000-17:2006.40
Annex A (informative) Utility software for the ISO/IEC 21000 parts.41
A.1 Introduction.41
A.2 ISO/IEC 21000-2:2005.41
A.3 ISO/IEC 21000-3:2003.42
A.4 ISO/IEC 21000-5:2004.43
A.5 ISO/IEC 21000-5:2004/Amd.1:2007.52
A.6 ISO/IEC 21000-6:2004.53
A.7 ISO/IEC 21000-7:2007.54
A.8 ISO/IEC 21000-10:2006/Amd.1:2006.74
A.9 ISO/IEC 21000-12:2005.75
Annex B (informative) Integrated utility software across the individual ISO/IEC 21000 parts.76
B.1 Introduction.76
B.2 REL-RDD integration.76
B.3 DID-REL integration .77
B.4 DID-REL-RDD integration .79
B.5 DID-REL-DIA Integration.81
B.6 DID-DIP-DIA Integration .82
© ISO/IEC 2008 — All rights reserved iii

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 21000-8 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 21000-8:2006), which has been technically
revised.
ISO/IEC 21000 consists of the following parts, under the general title Information technology — Multimedia
framework (MPEG-21):
⎯ Part 1: Vision, Technologies and Strategy [Technical Report]
⎯ Part 2: Digital Item Declaration
⎯ Part 3: Digital Item Identification
⎯ Part 4: Intellectual Property Management and Protection Components
⎯ Part 5: Rights Expression Language
⎯ Part 6: Rights Data Dictionary
⎯ Part 7: Digital Item Adaptation
⎯ Part 8: Reference software
⎯ Part 9: File Format
⎯ Part 10: Digital Item Processing
⎯ Part 11: Evaluation Tools for Persistent Association Technologies [Technical Report]
⎯ Part 12: Test Bed for MPEG-21 Resource Delivery [Technical Report]
⎯ Part 14: Conformance Testing
⎯ Part 15: Event Reporting
⎯ Part 16: Binary Format
⎯ Part 17: Fragment Identification of MPEG Resources
⎯ Part 18: Digital Item Streaming
iv © ISO/IEC 2008 — All rights reserved

Introduction
The multimedia industry is increasing at a rapid pace. For this industry, the term “content” is widely used
across different segments and applied in many different ways. For this reason the term is deliberately avoided
within the context of ISO/IEC 21000 International Standards, where it has been replaced by the defined terms
“Digital Item”, “media resource” and “resource”. Of equal importance for the specifications of the multimedia
framework is the notation of the User. A User of a system includes all members of the value chain (i.e. creator,
rights holders, distributors and consumers of Digital Items).
This eighth part of ISO/IEC 21000 describes the reference software. The reference software of ISO/IEC 21000
serves three main purposes:
⎯ validation of the written specification of the several parts of ISO/IEC 21000;
⎯ clarification of the written specification of the several parts of ISO/IEC 21000; and
⎯ conformance testing for checking interoperability for the various applications against the reference
software which aims to be compliant with ISO/IEC 21000.

© ISO/IEC 2008 — All rights reserved v

INTERNATIONAL STANDARD ISO/IEC 21000-8:2008(E)

Information technology — Multimedia framework (MPEG-21) —
Part 8:
Reference software
1 Scope
This International Standard describes reference software implementing the normative clauses of the other
parts of ISO/IEC 21000. The information provided is applicable for determining the reference software
modules available for parts of ISO/IEC 21000, understanding the functionality of the available reference
software modules, and utilizing the available reference software modules.
In addition to the reference software, available (integrated) utility software that utilizes the reference software
is also described. This utility software can assist in understanding how to utilize the reference software, as
well as providing further insight into the applicable parts of ISO/IEC 21000, e.g. informative clauses of the
other parts of ISO/IEC 21000.
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/corrigenda) applies.
ISO/IEC 15938-5, Information technology — Multimedia content description interface — Part 5: Multimedia
description schemes
ISO/IEC 21000 (all parts), Information technology — Multimedia framework (MPEG-21)
3 Terms, definitions and abbreviated terms
For the purposes of this document, the following terms, definitions and abbreviated terms apply.
3.1 Terms and definitions
3.1.1
module
software component implementing reference software or utility software
3.1.2
reference software
one or more modules utilizing normative parts of ISO/IEC 21000
3.1.3
utility software
one or more modules utilizing informative parts of ISO/IEC 21000 and/or the usage of reference software
within real-world applications
© ISO/IEC 2008 — All rights reserved 1

3.2 Abbreviated terms
API Application Programming Interface
DI Digital Item
DIA Digital Item Adaptation
DID Digital Item Declaration
DII Digital Item Identifier
DIP Digital Item Processing
IS International Standard
FDIS Final Draft International Standard
MPEG Moving Pictures Expert Group
RDD Rights Data Dictionary
REL Rights Expression Language
4 Overview and conventions
4.1 Organization of the document
In the remainder of this part of ISO/IEC 21000, each reference and utility software module is described
following the convention as below:
Module Name: Name of the ZIP file with the following structure: //--
-.zip
: directory name in which the module can be found, i.e., 21000-2_DID, 21000-3_DII, 21000-
5_REL, 21000-6_RDD, 21000-7_DIA.
: abbreviation of the ISO/IEC 21000 part, i.e., DID, DII, REL, RDD, DIA.
: name of the module, e.g., Parser, Validator, etc.
: letter A, B, C, etc. for different implementations.
: version number, i.e., n_n_n | n_n | n
Description
Describes the functionality the module provides.
Input
Describes the input of the module.
Output
Describes the output of the module.
Programming Language(s)
Lists the programming language(s) in which the module is written.
Platform(s)
Lists the platforms the module has been tested on and is supposed to run on.
Dependencies
Lists the required libraries and code with version information.
Details
Lists any implementation details, such as architecture diagrams and data flows.
2 © ISO/IEC 2008 — All rights reserved

4.2 Overview of ISO/IEC 21000 reference software
This part of ISO/IEC 21000 comprises reference software modules for the following ISO/IEC 21000 parts that
have advanced to FDIS or IS status respectively:
⎯ ISO/IEC 21000-2:2005, Information technology — Multimedia framework (MPEG-21) — Part 2: Digital
Item Declaration (DID): The corresponding reference software module provides means for parsing DIDs
into an internal data structure and checking the validation rules as specified within ISO/IEC 21000-2
Second Edition. The reference software for ISO/IEC 21000-2 Second Edition is described in
subclause 5.2.
⎯ ISO/IEC 21000-3:2003, Information technology — Multimedia framework (MPEG-21) — Part 3: Digital
Item Identification (DII): The corresponding reference software module provides means for parsing DII
information into an internal data structure. The reference software for ISO/IEC 21000-3:2003 is described
in subclause 5.3. Furthermore, a reference software module for ISO/IEC 21000-3:2003/Amd.1:2007 is
described in subclause 5.4.
⎯ ISO/IEC 21000-4:2006, Information technology — Multimedia framework (MPEG-21) — Part 4:
Intellectual Property Management and Protection Components (IPMP Components): The corresponding
reference software module provides means for parsing IPMP information into an internal data structure.
The reference software for ISO/IEC 21000-4:2006 is described in subclause 5.5. Furthermore, reference
software modules for ISO/IEC 21000-4:2006/Amd.1:2007 is described in subclause 5.6.
⎯ ISO/IEC 21000-5:2004, Information technology — Multimedia framework (MPEG-21) — Part 5: Rights
Expression Language (REL): The corresponding reference software modules provide means for checking
the validity of a REL license as well as the validity of an authorization request according to
ISO/IEC 21000-5:2004. Furthermore, they allow for checking if an authorization story is an authorization
proof for an authorization request. The reference software for ISO/IEC 21000-5:2004 is described in
subclause 5.5.1. Furthermore, reference software modules for ISO/IEC 21000-5:2004/Amd.1:2007 and
ISO/IEC 21000-5:2004/Amd.2:2007 are described in subclause 5.8 and 5.9.
⎯ ISO/IEC 21000-6:2004, Information technology — Multimedia framework (MPEG-21) — Part 6: Rights
Data Dictionary (RDD): The corresponding reference software module provides means for querying the
RDD database for a given input RDD term. It provides the genealogy and the IsTypeOf hierarchy of the
term. The reference software for ISO/IEC 21000-6:2004 is described in subclause 5.10.
⎯ ISO/IEC 21000-7:2007, Information technology — Multimedia framework (MPEG-21) — Part 7: Digital
Item Adaptation (DIA): The corresponding reference software module provides means for parsing and
serializing DIA descriptions as well as retrieving and modifying information within DIA descriptions.
Additionally, the reference software modules for ISO/IEC 21000-7:2007 implement the normative
behavior of the processes as specified within ISO/IEC 21000-7:2007. The reference software for
ISO/IEC 21000-7:2007 is described in subclause 5.11.
⎯ ISO/IEC 21000-9:2005, Information technology — Multimedia framework (MPEG-21) — Part 9: File
Format: The corresponding reference software module enables both the creation and reading of
MPEG-21 files. The reference software for ISO/IEC 21000-9:2005 is described in subclause 5.12.
⎯ ISO/IEC 21000-10:2006, Information technology — Multimedia framework (MPEG-21) — Part 10: Digital
Item Processing (DIP): The corresponding reference software module provides means for parsing DIP
information into an internal data structure. The reference software for ISO/IEC 21000-10:2006 is
described in subclause 5.13. Additionally, reference software for ISO/IEC 21000-10:2006/Amd.1:2006
provides C++ bindings software in subclause 5.14.
⎯ ISO/IEC 21000-12:2005, Information technology — Multimedia framework (MPEG-21) — Part 12: Test
Bed for MPEG-21 Resource Delivery: The corresponding reference software module provides a flexible
and fair test environment for evaluating streaming technologies for MPEG-4 contents over IP networks.
This test bed has capabilities of simulating different channel characteristics of various networks, therefore,
various codec technologies, packetization methods, file formats, multimedia streaming rate control and
error control mechanisms could be evaluated. The reference software for ISO/IEC 21000-12:2005 is
described in subclause 5.15.
© ISO/IEC 2008 — All rights reserved 3

⎯ ISO/IEC 21000-14:2007, Information technology — Multimedia framework (MPEG-21) — Part 14:
Conformance Testing: The corresponding reference software modules provide means for testing
conformance of ISO/IEC 21000-10:2006 and ISO/IEC 21000-10:2006/Amd.1:2006 information. The
reference software for ISO/IEC 21000-14:2007 is described in subclause 5.16.
⎯ ISO/IEC 21000-15:2006, Information technology — Multimedia framework (MPEG-21) — Part 15: Event
Reporting (ER): The corresponding reference software modules provide means to support Event
Reporting. Furthermore, the reference software schema checker checks a DI against the ER schema and
the core experiment software adds ERR processing, ER creation and a new JMF-based video Renderer.
The reference software for ISO/IEC 21000-15:2006 is described in subclause 5.17.
⎯ ISO/IEC 21000-16:2005, Information technology — Multimedia framework (MPEG-21) — Part 16: Binary
Format. A reference to the reference software for ISO/IEC 21000-16:2005 is described in subclause 5.18.
⎯ ISO/IEC 21000-17:2006, Information technology — Multimedia framework (MPEG-21) — Part 17:
Fragment Identification of MPEG resources (FID): The corresponding reference software modules
provide means to support Fragment Identification. The reference software for ISO/IEC 21000-17:2006 is
described in subclause 5.19.
4.3 Overview of ISO/IEC 21000 utility software
This part of ISO/IEC 21000 comprises utility software modules for the following ISO/IEC 21000 parts that have
advanced to FDIS or IS status respectively:
⎯ ISO/IEC 21000-2:2005, Information technology — Multimedia framework (MPEG-21) — Part 2: Digital
Item Declaration (DID): The corresponding utility software module provides means for invoking the
reference software module for ISO/IEC 21000-2:2005 and presenting results to the user. The utility
software for ISO/IEC 21000-2:2005 is described in Annex A.2.
⎯ ISO/IEC 21000-3:2003, Information technology — Multimedia framework (MPEG-21) — Part 3: Digital
Item Identification (DII): The corresponding utility software module provides means for invoking the
reference software module for ISO/IEC 21000-3:2003 and presenting results to the user. The utility
software for ISO/IEC 21000-3:2003 is described in Annex A.3.
⎯ ISO/IEC 21000-5:2004, Information technology — Multimedia framework (MPEG-21) — Part 5: Rights
Expression Language (REL): The corresponding utility software module provides a simple license
interpreter module, a simple license creator module and a lightweight REL based DRM module
implementing a lightweight REL parser system suitable for the use on mobile phones. The utility software
for ISO/IEC 21000-5:2004 is described in Annex A.4. Furthermore, utility software modules for
ISO/IEC 21000-5:2004/Amd.1:2007 are described in Annex A.5.
⎯ ISO/IEC 21000-6:2004, Information technology — Multimedia framework (MPEG-21) — Part 6: Rights
Data Dictionary (RDD): The corresponding utility software modules provide means for browsing terms
specified within ISO/IEC 21000-6:2004 and a multilingual registry for the ISO/IEC 21000-6:2004 in five
different languages. The utility software for ISO/IEC 21000-6:2004 is described in Annex A.6.
⎯ ISO/IEC 21000-7:2007, Information technology — Multimedia framework (MPEG-21) — Part 7: Digital
Item Adaptation (DIA): The corresponding utility software modules provide means for demonstrating
informative clauses and Annexes as described in ISO/IEC 21000-7:2007 such as resource and
description adaptation engines. The utility software for ISO/IEC 21000-7:2007 is described in Annex A.7.
⎯ ISO/IEC 21000-10:2006/Amd.1:2006, Information technology — Multimedia framework (MPEG-21) —
Part 10/Amd 1 Digital Item Processing, Amendment 1: Additional C++ Bindings: The corresponding utility
software modules provide means to execute C++ functions on a Java based DIP engine, making use of
DIP C++ Bindings and the Java Native Interface. The utility software for
ISO/IEC 21000-10:2006/Amd.1:2006 is described in Annex A.8.
4 © ISO/IEC 2008 — All rights reserved

4.4 Overview of integrated utility software across the individual ISO/IEC 21000 parts
This part of ISO/IEC 21000 comprises integrated utility software across the individual ISO/IEC 21000 parts
that have advanced to FDIS or IS status respectively:
⎯ Two integrated utility software modules utilizing ISO/IEC 21000-5:2004 and ISO/IEC 21000-6:2004
reference and utility software modules are described in Annex B.2.
⎯ One integrated utility software module utilizing ISO/IEC 21000-2:2005 and ISO/IEC 21000-5:2004
reference and utility software modules is described in Annex B.3.
⎯ One integrated utility software module utilizing ISO/IEC 21000-2:2005, ISO/IEC 21000-5:2004, and
ISO/IEC 21000-6:2004 reference and utility software modules is described in Annex B.4.
⎯ One integrated utility software module utilizing ISO/IEC 21000-2:2005, ISO/IEC 21000-5:2004, and
ISO/IEC 21000-7:2007 reference and utility software modules is described in Annex B.5.
⎯ One integrated utility software module utilizing ISO/IEC 21000-2:2005, ISO/IEC 21000-7:2007, and
ISO/IEC 21000-10:2006 reference and utility software modules is described in Annex B.6.
5 Reference software for the ISO/IEC 21000 parts
5.1 Introduction
This clause describes the ISO/IEC 21000 reference software for the parts as listed in subclause 4.2. The
ISO/IEC 21000 reference software is written in Java and follows the following package structure:
Name Description
org
Java package name for reference software provided by organizations such
as ISO/IEC, W3C, or similar.
org.iso
Java package name for reference software provided by ISO/IEC.
org.iso.mpeg
Java package name for reference software provided by
ISO/IEC JTC 1/SC 29/WG 11.
org.iso.mpeg.mpeg21
Java package name for reference software provided in the course of the
development of ISO/IEC 21000.
Note: Subsequent packages for the individual ISO/IEC 21000 parts use the
uncapitalized abbreviations as defined in subclause 3.2, e.g.,
⎯ org.iso.mpeg.mpeg21.did for ISO/IEC 21000-2 or
⎯ org.iso.mpeg.mpeg21.dia for ISO/IEC 21000-7.

© ISO/IEC 2008 — All rights reserved 5

5.2 ISO/IEC 21000-2:2005
5.2.1 Introduction
This subclause describes the ISO/IEC 21000 reference software for part 2 of ISO/IEC 21000. In order to allow
building applications on top of the ISO/IEC 21000-2:2005 reference software an API is provided. In particular,
the API exercises or represents all normative features, specified in the ISO/IEC 21000-2:2005 Second Edition
specification.
5.2.2 DID Parser Second edition
Module Name: /21000-2_DID/DID-Parser_2nd_Edition-2_0_0.zip
Description
The DID parser checks whether an incoming DID document is valid against the ISO/IEC 21000
DID schema; it also checks whether all validation rules that are defined within the ISO/IEC 21000
DID specification are fulfilled.
Prior to schema validation XInclude processing is performed (this can be disabled by setting the
system property dontPreProcessXInclude to a value of true, which can be done by passing a –
DdontPreProcessXInclude=true argument to the Java JVM when running the software).
Input
A DIDL document
Output
Valid, not valid, reasons why, according to the XInclude processing, XML schema and the
additional validation rules of ISO/IEC 21000-2:2005.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE, XOM and Xerces XML parser.
Dependencies
XOM XML object model library (http://www.cafeconleche.org/XOM/)
Apache XercesJ Xerces-2_9_0+ (http://xml.apache.org/xerces2-j/)

5.3 ISO/IEC 21000-3:2003
5.3.1 Introduction
This subclause describes the ISO/IEC 21000 reference software for part 3 of ISO/IEC 21000. In order to allow
building applications on top of the ISO/IEC 21000-3:2003 reference software an API is provided. In particular,
the API exercises or represents all normative features, specified in the ISO/IEC 21000-3:2003 specification.
6 © ISO/IEC 2008 — All rights reserved

5.3.2 DII Parser
Module Name: /21000-3_DII/DII-Parser-1_0_0.zip
Description
The DII reference software demonstrates how DII information can be included in DIDs and how
this information can be used to extract relevant DID information based on a DII Identifier, DII
RelatedIdentifier or DII Type.
Input
A DIDL document with DII information.
Output
Java objects in memory providing access to the information in the input DII description
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE, Xerces, and kXML parser.
Dependencies
⎯ Java version "1.4.1_02" or later, which can be downloaded from
http://java.sun.com/j2se/1.4.2/.
⎯ Xerces2 Java Parser 2.6.2 or later, which can be downloaded from http://xml.apache.org/.
⎯ kXML 2 release 2.1.9 or later, which can be downloaded from http://www.kxml.org/.
⎯ Log4j version 1.2.8 or later, which can be downloaded from
http://logging.apache.org/log4j/docs/.
Details
5.4 ISO/IEC 21000-3:2003/Amd.1:2007
Module Name: /21000-3_DII_Amd1/DII_Amd1-Parser-1_0_0.zip
Description
The DII reference software demonstrates how DII information can be included in DIDs and how
this information can be used to extract relevant DID information based on a DII Identifier, DII
RelatedIdentifier or DII Type.
Input
A DIDL document with DII information.
© ISO/IEC 2008 — All rights reserved 7

Output
Java objects in memory providing access to the information in the input DII description.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
Apache XercesJ Xerces-2_8_0+ (http://xml.apache.org/xerces2-j/)

5.5 ISO/IEC 21000-4:2006
5.5.1 Introduction
This subclause describes the ISO/IEC 21000 reference software for part 4 of ISO/IEC 21000. In order to allow
building applications on top of the ISO/IEC 21000-4:2006 reference software an API is provided. In particular,
the API exercises or represents all normative features, specified in the ISO/IEC 21000-4:2006 specification.
5.5.2 IPMP Info Parser
Module Name: /21000-4_IPMP_Components/IPMP_Info_Parser-1_0_0.zip
Description
The IPMP Info parser module parses and validates an IPMP info documents against the schemas
specified within these documents.
Input
A list of IPMP info documents and/or directories that contain IPMP info documents.
Output
Valid, not valid and reasons why according to the XML schemas specified within the documents.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
The Xerces XML Java Parser 2.6.2 or later which can be downloaded at http://xml.apache.org.
The Java J2SE SDK 1.3.1 or later which can be downloaded at http://java.sun.com/j2se/.
8 © ISO/IEC 2008 — All rights reserved

Details
Architecture diagram:
IPIPIPMMMPPP
InInInfffooo
IPIPMMPP I Innffoo DoDoccss
ParParParssseeerrr
VVaalidlid
NoNott va valliidd
(a(anndd r reeaassoonnss w whhyy))
ParParParssseeerrr
(X(X(Xeeerrrccceees)s)s)
Figure 1 — IPMP Info Parser architecture diagram

5.5.3 IPMP Info Extractor
Module Name: /21000-4_IPMP_Components/IPMP_Info_Extractor-1_0_0.zip
Description
The IPMP Info extractor module obtains the IPMP information related to the IPMP DIDL elements
within a DIDL document.
Input
DIDL document.
Output
IPMP DIDL elements within the DIDL and related IPMP information.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
The Xerces XML Java Parser 2.6.2 or later which can be downloaded at http://xml.apache.org.
The Java J2SE SDK 1.3.1 or later which can be downloaded at http://java.sun.com/j2se/.
© ISO/IEC 2008 — All rights reserved 9

Details
Architecture diagram:
IPIPMMPP I Innffoo
EExxtrtracactotorr
IIPPMMPP D DIIDDLL el elememenenttss::
--IIPMPMP DP DIIDLDL i iddeennttiiffiieerr
••IIPMPMP TP Toooollss iinnffoorrmmaattiioonn
DIDIDLDL d dooccuummeenntt
•L•Liicceennsseess
XalXalaann
Figure 2 — IPMP Info Extractor architecture diagram

5.5.4 IPMP License Extractor
Module Name: /21000-4_IPMP_Components/IPMP_License_Extractor-1_0_0.zip
Description
The License extractor module obtains the license(s) that govern the IPMP DIDL element
specified.
Input
⎯ DIDL document
⎯ Unique identifier of the element
Output
License(s) that govern the element
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
The Xerces XML Java Parser 2.6.2 or later which can be downloaded at http://xml.apache.org.
The Java J2SE SDK 1.3.1 or later which can be downloaded at http://java.sun.com/j2se/.
10 © ISO/IEC 2008 — All rights reserved

Details
Architecture diagram:
DIDIDLDL d dooccuummeenntt
LiLicceennsseess
EExxtrtracactotorr
LLiicceennsse(e(s)s) t thhaatt
gogovveerrnn t thhee
elelememeenntt
EEllememenentt
idideennttiiffiieerr
XalXalaann
Figure 3 — IPMP License Extractor architecture diagram

5.6 ISO/IEC 21000-4:2006/Amd.1:2007
Module Name: /21000-4_IPMP_Components_Amd1/IPMP_Amd1-Parser-1_0_0.zip
Description
Java source code for parsing MPEG-21 IPMP Components Base Profile. The parser checks for:
• all resource expressions
• whether resource is protected or not
• if resource is protected, search the protection tool description
• additionally, any license related to the resource
Input
IPMP base profile instance document
Output
• List of resources
• List of tools associated with the protected resource(s)
• List of licenses (MPEG-21 REL) associated with the resource(s)
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE.
Dependencies
xercesImpl.jar KXML2.jar xmlParserAPIs.jar
© ISO/IEC 2008 — All rights reserved 11

5.7 ISO/IEC 21000-5:2005
5.7.1 Introduction
This subclause describes the ISO/IEC 21000 reference software for part 5 of ISO/IEC 21000.
5.7.2 REL schema checker
Module Name: /21000-5_REL/REL-SchemaChecker-A-1_0_0.zip
Description
The schema checker module validates a set of REL Licenses against the XML Schemas
specified in the Licenses. It validates syntactically the REL Licenses files and/or the REL
Licenses contained in the directory specified by the user.
Input
A list of licenses and/or directories that contain licenses.
Output
Valid, not valid, reasons why, according to the XML schemas specified within the licenses.
Programming Language(s)
C++
Platform(s)
Any platform supported by Microsoft .Net framework (e.g., Windows 98, 2000, NT, ME, XP).
Dependencies
Microsoft .Net Framework, which can be obtained at:
http://msdn.microsoft.com/netframework/downloads/howtoget.asp
Details
Module Name: /21000-5_REL/REL-SchemaChecker-B-1_1_0.zip
Description
The schema checker module validates a set of REL Licenses against the XML Schemas
specified in the Licenses. It validates syntactically the REL Licenses files and/or the REL
Licenses contained in the directory specified by the user.
Input
A list of licenses and/or directories that contain licenses.
12 © ISO/IEC 2008 — All rights reserved

Output
Valid, not-valid, and reasons why, according to the XML schemas specified within the licenses.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
⎯ The Xerces XML Java Parser 2.6.2 or later which can be downloaded at
http://xml.apache.org.
⎯ The Java J2SE SDK 1.3.1 or later which can be downloaded at http://java.sun.com/j2se/.
Details
Architecture diagram:
Figure 4 — REL-SchemaChecker-B-1_1_0 architecture diagram

5.7.3 REL license validation rules checker
Module Name: /21000-5_REL/REL-ValidationRuleChecker-A-1_1_1.zip
Description
The validation rules checker module validates if a schema valid REL license is a valid REL
License according to the MPEG-21 REL standard specification. A license will be REL syntactic
conformant if it complies with all the rules specified in the REL standard specification.
Input
A schema valid REL license.
© ISO/IEC 2008 — All rights reserved 13

Output
REL syntactic conformant or not, reasons why.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
⎯ The Xerces XML Java Parser 2.6.2 or later which can be downloaded at
http://xml.apache.org.
⎯ The Java J2SE SDK 1.3.1 or later which can be downloaded at http://java.sun.com/j2se/.
Details
Architecture diagram:
Figure 5 — REL-ValidationRuleChecker-A-1_1_1 architecture diagram

5.7.4 REL authorization request validation rules checker
Module Name: /21000-5_REL/REL-AuthorizationRequestValidationRulesChecker-
1_0_0.zip
Description
The authorization request validation rules checker module checks if an authorization request is
syntactically valid according to the MPEG-21 REL standard specification.
Input
An XML schema valid authorization request.
14 © ISO/IEC 2008 — All rights reserved

Output
REL validation rule conformant or not, reasons why.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
⎯ The Xerces XML Java Parser 2.6.2 or later which can be downloaded at
http://xml.apache.org.
⎯ The Java J2SE SDK 1.3.1 or later, which can be downloaded at http://java.sun.com/j2se/.
Details
Architecture diagram:
Figure 6 — REL-AuthorizationRequestValidationRulesChecker-1_0_0 architecture diagram

5.7.5 REL interpretation
Module Name: /21000-5_REL/REL-Interpretation-A-1_0_0.zip
Description
The interpretation module checks if the Authorization Story is an Authorization Proof for the
Authorization Request. This module implements the authorization proof algorithm in the
MPEG-21 REL standard specification.
Input
⎯ Any valid authorization request.
⎯ Any valid authorization story.
© ISO/IEC 2008 — All rights reserved 15

Output
Authorization story IS/IS NOT authorization proof for the authorization request.
Programming Language(s)
Java
Platform(s)
Any platform supported by the Java J2SE and Xerces XML parser.
Dependencies
⎯ The Xerces XML Java Parser 2.6.2 or later which can be downloaded at
http://xml.apache.org.
⎯ The Java J2SE SDK 1.3.1 or later, which can be downloaded at http://java.sun.com/j2se/.
Details
Architecture diagram:
Figure 7 — REL-InterpretationConformance-A-1_0_0 architecture diagram

16 © ISO/IEC 2008 — All rights reserved

Module Name: /21000-5_REL/REL-Interpretation-B-1_0_0.zip
Description
The REL interpretation module implements the MPEG-21 REL standard specification. It checks if
the input Authorization Request is proven within the input authorization search space (described by
the other four input parameters), and returns the Authorization Result.
Input
⎯ an RELAuthorizationRequest,
⎯ a set of RELAuthorizationStories,
⎯ a set of RELAuthorizers,
⎯ a set of r:Grant and r:GrantGroup RELNodes, and
⎯ a set of r:ToConstraint RELNodes
Output
an RELAuthorizationResult
Programming Language(s)
C#
Platform(s)
Any platform that supports the .NET Framework.
Dependencies
⎯ The .NET Framework version 1.1. The Microsoft version of it can be downloaded at
http://www.microsoft.com/.
Details
1. Architecture diagram
© ISO/IEC 2008 — All rights reserved 17

Figure 8 — REL Interpretation Reference Software Architecture Diagram
Function Performed Corresponding API Corresponding Source File
Compare Principal Surpasses( ) RELInterpreter.cs
Compare Right IsEqual( ) RELUtils.cs
Compare Resource IsEqual( ) RELUtils.cs
Check Conditions IsSatisfied( ) RELConditionManager.cs
Check Derivation of Grant IsDerived( ) RELInterpreter.cs
Check Variable Derivation IsOneStepDerived6922( ) RELInterpreter.cs
Match Patterns NodeMatches( ) RELInterpreter.cs
Check GrantGroup Derivation IsOneStepDerived6923( ) RELInterpreter.cs
Check Delegation Control IsOneStepDerived6924( ) RELInterpreter.cs
Check Issuance Chaining IsAuthorizationProof( ) RELInterpreter.cs

18 © ISO/IEC 2008 — All rights reserved

2. Data Types
The following points should be kept in mind when reading this section:
⎯ Unless specified otherwise below, NULL values and encrypted things are not allowed.
⎯ It is assumed that the constructors and modifiers for each data type will ensure that all of the
"allowed values" constraints for each data type will be enforced.
⎯ When it says "Any prefix:Type", it means any prefix:Type that is
⎯ Well formed,
⎯ Schema-valid, and
⎯ Valid according to any provisions in the specification applying to prefix:Type.
2.1 RELAuthorizationRequest (see 5.2 of ISO/IEC 21000-5:2004)
Member Data type Allowed values
Principal RELNode Any r:Principal or NULL

Note: A NULL value here corresponds
to the case where the Principal
Member of the authorization request is
absent as described in the REL.
Right RELNode Any r:Right
Resource RELNode Any r:Resource or NULL

Note: A NULL value here corresponds
to the case where the Resource
Member of the authorization request is
absent as described in the REL.
Interval RELInterval Any
Context RELAuthorizationContext Any
Licenses Set Any r:License elements each with one
r:issuer child
Roots Set Any r:Grant elements

2.2 RELAuthorizationContext (see 5.3 of ISO/IEC 21000-5:2004)
Member Data type Allowed values
Properties Map Any
© ISO/IEC 2008 — All rights reserved 19

2.3 RELAuthorizationStory (see 5.4 of ISO/IEC 21000-5:2004)
Member Data type Allowed values
primGrant RELNode Any primitive grant
grantOrGrantGroup RELNode Any r:Grant or r:GrantGroup
authE RELAuthorizer Any or NULL

Note: A NULL value here
corresponds to the case where the
authorizer member of the
authorization story is absent as
described in the REL.
2.4 RELAuthorizer (see 5.5 of ISO/IEC 21000-5:2004)
Member D
...

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