INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
ORGANISATION INTERNATIONALE NORMALISATION

ISO/IEC JTC 1/SC 29/WG 11

CODING OF MOVING PICTURES AND AUDIO

 ISO/IEC JTC 1/SC 29/WG 11/N8601
October 2006, Hangzhou, China

Source:

Multimedia Description Schemes (MDS) Group

Title:

MPEG-21 Digital Item Processing Amendment 1

Status:

Approved

 

Introduction

This document provides a brief overview of Amd 1 of part 10 of ISO/IEC 21000, Digital Item Processing (DIP) Amendment 1 [1].

Why are C++ bindings needed in MPEG-21?

In MPEG-21 the fundamental unit of transaction is the Digital Item. As defined in part 1 of ISO/IEC 21000 [2], a Digital Item is a structured digital object with a standard representation, identification and metadata within the MPEG-21 framework. Part 2 of ISO/IEC 21000 [3] specifies a conceptual model for a Digital Item Declaration (DID), and also the Digital Item Declaration Language (DIDL) as a standard XML-based representation of a DID. The DID model and DIDL provides for the declaration of the static structure (including identifiers and metadata) of a Digital Item. They do not intrinsically provide a way for a Digital Item author to suggest how a User[1] can interact with the Digital Item. This is the scope of DIP [4]. DIP allows a Digital Item author to provide a suggested interaction of a User with a Digital Item. However, when C++ executables need to interact with the DIP environment, additional C++ bindings need to be defined. This is the scope of DIP/Amd 1. The amendment specifies C++ data type bindings for DIML object types, the C++ DIBO factory interface, the C++ global environment interface and C++ interface bindings for DIBOs. The way in which C++ executables are executed and the reference to the bindings are obtained, is done in an implementation specific way.

What does DIP/Amd 1 specify?

Informative subclause

The amendment specifies an informative subclause on “Security and platform dependence considerations” related to the execute DIBO, C++ bindings and DOM Load and Save [5].

Annex

The amendment specifies Annex E “C++ bindings for Digital Item Base Operations (DIBO)” of the DIP standard, which provides C++ bindings for the following.

C++ data type bindings for DIML object types

For C++ executables interacting with the DIP environment by using DIMs, data type bindings for the Digital Item Method Language (DIML) Object Types [4] are needed. C++ interfaces are specified for the following DIML Object Types: DIPError, ObjectMap, and PlayStatus.

C++ DIBO factory interface

For C++ executables interacting with the DIP environment by using DIBOs [4], a data type binding for the DIBO factory [4] is needed. A C++ interface, which is used to create C++ DIBO classes is specified for the C++ DIBO factory.

C++ global environment interface

For C++ executables interacting with the DIP environment, a data type binding for the global environment [4] is needed. A C++ interface, which defines a mechanism for C++ executable to query the platform for environment settings, is specified for the C++ DIBO factory.

C++ interface bindings for DIBOs

For C++ executables interacting with the DIP environment by using DIBOs, interface bindings for the DIBOs are needed. C++ interfaces are specified for the following DIBOs.

Informative subclause

The amendment specifies an informative subclause on “Example of Safe DIP Profile”. This subclause describes application areas, functionality and a list of tools.

Relationship with other parts of MPEG-21

This amendment provides a link to other parts of ISO/IEC 21000 by specifying interface bindings for DIBOs related to other parts.

For example there are interface bindings for DIBOs related to part 2 of ISO/IEC 21000 (e.g. DID->configureChoice) and DIBOs related to part 3 of ISO/IEC 21000, Digital Item Identification (DII) (e.g. DII->GetElementByRelatedIdentifier). Also there are interface bindings for DIBOs that can map to actions defined by part 6 of ISO/IEC 21000 [9], the Rights Data Dictionary (RDD), and for which rights can be expressed using REL (e.g. DIP->Play).

Bibliography

[1]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 10 Amendment 1: Additional  C++ Bindings, ISO/IEC TR 21000-10/Amd 1:2006, December 2006.

[2]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 1: Vision, Technologies and Strategy, ISO/IEC TR 21000-1:2004, November 2004.

[3]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 2: Digital Item Declaration 2nd Edition, ISO/IEC 21000-2:2005, October 2005.

[4]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 10: Digital Item Processing, ISO/IEC TR 21000-10:2006, January 2006.

[5]               Apache, "Experimental C++ Language Binding for DOM Level 3", (http://xml.apache.org/xerces-c/ApacheDOMC++BindingL3.html) is a tool of the Apache Foundation.

[6]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 7: Digital Item Adaptation, ISO/IEC 21000-7:2004, October 2004.

[7]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 3: Digital Item Identification, ISO/IEC 21000-3:2003, March 2003.

[8]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 5: Rights Expression Language, ISO/IEC 21000-5:2004, March 2004.

[9]               ISO/IEC, Information Technology – Multimedia framework (MPEG-21) – Part 6: Rights Data Dictionary, ISO/IEC 21000-6:2004, May 2004.



[1] In MPEG-21 a User is any entity that interacts in the MPEG-21 environment or makes use of Digital Items, for example creators, rights holders, distributors and consumers.