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/N7212
April 2005, Busan, KR

Source:

Multimedia Description Schemes (MDS) Group

Title:

Introducing MPEG-21 DIP - an Overview

Status:

Approved

1         Introduction

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

2. Why is Digital Item Processing 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. DIP allows a Digital Item author to provide a suggested interaction of a User with a Digital Item.

3         What does DIP specify?

DIP specifies Digital Item Methods (DIMs) as a way to provide a suggested interaction of a User with a Digital Item. Figure 1 — Digital Item Method components provides a high level view of components related to authoring and executing DIMs.

A DIM is authored using the Digital Item Method Language (DIML) which is based on ISO/IEC 16262:2002 (ECMAScript language) [4].

  1. Represents a Digital Item Method definition. The DIM definition is defined using the Digital Item Method Language and may call DIBOs and DIXOs (via a defined DIBO to call DIXOs defined in a given DIXO Language).

  2. These components represent Digital Item Base Operation implementations. DIBO implementations may call other modules provided by the platform.

  3. These components represent certain DIBOs that are defined to call DIXOs defined in a given DIXO Language. Currently only a RunJDIXO DIBO is defined for calling DIXOs using Java as the DIXO Language.

  4. These components represent Digital Item eXtension Operation definitions. DIXO definitions may call DIBOs via the bindings to the DIBOs in the DIXO Language as well as other modules provided by the platform.

  5. This represents a binding to a DIBO in the DIXO Language used for the DIXO definitions.

  6. This represents the API(s) to other modules provided by the platform which the DIBO implementations and DIXO definitions may call. This could include modules providing functionality related to other parts of ISO/IEC 21000.The API(s) available to DIBO implementations and DIXO definitions might be different.

  7. The platform refers to the environment in which the DIBOs are implemented and the DIMs are executed.

  8. This indicates calls from the DIM definition to DIBOs, including the DIBOs to call DIXOs defined in a given DIXO Language.

  9. This indicates calls from the implementation of the defined DIXO calling DIBOs to the DIXO being called.

  10. This indicates calls from a DIXO definition to a DIBO via the binding to the DIBO in the DIXO Language.

  11. This indicates calls from the DIBO implementations and DIXO definitions to modules provided by the platform.

Figure 1 — Digital Item Method components

DIML extends ECMAScript language by specifying a number objects specific to DIML. This includes global objects and objects for use in function-local scope.

The function properties of these objects specified by DIML are the normative set of Digital Item Base Operations (DIBOs). These base operations provide an interface between the DIM author and the services available in the MPEG-21 environment in which the DIM executes, and that implement the interaction between the User and Digital Item as suggested by the DIM author.

DIP specifies the normative syntax and semantics of the DIBOs. However DIP does not specify how those semantics should be implemented for any given implementation of a DIBO. The DIM author is assured interoperability in regards to the syntax and semantics of the DIBOs. However, a DIBO implementer, such as a vendor of an MPEG-21 compliant terminal supporting DIP, is free to implement the semantics of the DIBO as they choose. This provides for both interoperability from the DIM author perspective (in regards to the normative syntax and semantics of DIML, including the DIBOs), while also allowing for competitive opportunity (in regards to the implementation of the normative semantics of DIBOs in a given implementation).

DIP specifies how the normative set of DIBOs can be extended by specifying how a calling mechanism, from DIMs, for Digital Item eXtension Operations (DIXOs) can be defined. Currently DIP defines such a calling mechanism for Java based DIXOs (J-DIXOs).

DIP specifies how DIMs and J-DIXOs are conveyed in a DIDL document. This includes how a DIDL element can be associated with an Object Type, and how arguments to a DIM can be associated with an Argument Type. Matching Object Types and Argument Types provides a mapping between the DIDL elements and the arguments to the DIMs. This mapping is called the Object Map.

4         Using Digital Item Methods

DIMs are primarily intended for providing suggested User interactions with a Digital Item at the level of the DID. Hence the DIBOs primarily provide functionality for accessing and manipulating DIDL elements. However some DIBOs (and DIXOs) that are called from a DIM might initiate lower level processing, such as resource adaptation.

DIMs provide a suggested interaction of a User with a Digital Item. When a User interacts with a Digital Item, the entity guiding that interaction can choose to use DIP to provide suggested interactions with the Digital Item, if the Digital Item does make use of DIP. For example, a list of available DIMs can be provided, the User can choose a DIM, then be prompted for the arguments to the DIM, and the DIM executed. Alternatively a list of DIM arguments can be provided, the User can choose a permutation of DIM arguments, then be prompted for a DIM that accepts that permutation of arguments, and the DIM executed.

Additionally DIP also specifies a way to indicate DIMs that can be considered to be run automatically when a Digital Item interaction commences.

Since DIMs and DIXOs are conveyed in a DIDL document, they can also be subject to other functionalities provided by DIDL and other parts of MPEG-21. For example DIMs conveyed in a DIDL document might be conditional based on a DIDL Condition element (and its associated Selection elements). Or they might be subject to rights expressed by the Rights Expression Language (REL) specified by part 5 of ISO/IEC 21000 [5] and/or protected as specified by part 4 of ISO/IEC 21000 [6], the Intellectual Property Management and Protection (IPMP) Components.

In considering DIMs there are several roles that a User might undertake. For example, as a consumer a User can interact with a Digital Item via the execution of a DIM. As a creator, a User can author a DIM to be included in a Digital Item. As MPEG-21 compatible hardware or software for processing a Digital Item a User can provide an execution environment for DIMs, including DIBO implementations appropriate to the environment.

5         Relationship with other parts of MPEG-21

DIMs provide a link to other parts of ISO/IEC 21000 by providing DIBOs related to other parts. For example there are DIBOs related to part 2 of ISO/IEC 21000 (e.g. DID.AreConditionsSatisfied), and DIBOs related to part 3 of ISO/IEC 21000 [7], Digital Item Identification (DII) (e.g. DII.GetElementByIdentifier). Also there are DIBOs that can map to actions defined by part 6 of ISO/IEC 21000 [8], the Rights Data Dictionary (RDD), and for which rights can be expressed using REL (e.g. DIP.Play).

[1]               MPEG MDS subgroup, Text of ISO/IEC 21000-10 DIP, ISO/IEC JTC 1/ SC 29/WG 11/N7208, April 2005, Busan, KR.

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

[3]               MPEG MDS subgroup, Text of ISO/IEC 21000-2 2nd Edition FDIS, ISO/IEC JTC 1/ SC 29/WG 11/N6927, January 2005, Hong Kong, CN.

[4]               ISO/IEC, Information Technology - ECMAScript language specification, ISO/IEC 16262:2002, June 2002.

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

[6]               MPEG MDS subgroup, ISO/IEC 21000-4 FCD IPMP Components, ISO/IEC JTC 1/ SC 29/WG 11/N7196, April 2005, Busan, KR.

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