DIDL: Packaging Digital Content
Pages: 1, 2
The MPEG-21 Digital Item Declaration Language
ISO MPEG has sought, in its development of the emerging MPEG-21 standard, to develop a multimedia framework that is capable of supporting the delivery and use of all content types by different categories of users in multiple application domains. Earlier this year, in response to the needs articulated above, the Multimedia Description Schemes (MDS) Group within MPEG released the first working draft of an XML vocabulary, the MPEG-2 Digital Item Declaration Language (DIDL). The overall goal for DIDL was to establish a uniform and flexible multimedia data abstraction and interoperabilty schema for declaring digital items. Within the MPEG-21 framework, a Digital Item is defined as a structured digital object with a standard representation, identification, and description. This Digital Item entity is also the fundamental unit of distribution and transaction within this framework. DIDL is based on an abstract model called the Digital Item Declaration Model. The primary concepts within the model appear below. Many of the model elements have directly corresponding DIDL XML elements.
- Resource
- A resource is an individually identifiable asset such as a video or audio clip, an image, or a textual asset. A resource may also potentially be a physical object. All resources must be locatable via an unambiguous address.
- Component
- A component is the binding of a resource to all of its relevant descriptors (see below). These descriptors are bits of information related to all or part of the specific resource instance. Component descriptors will typically contain control or structural information about the resource (such as bit rate, character set, start points or encryption information) but generally not information describing the "content" within.
- Descriptor
- A descriptor associates information with the enclosing element. This information may be a component (such as a thumbnail of an image) or a portion of text.
- Statement
- A statement is a literal textual value that contains information but not an asset. Examples of likely statements include descriptive, control, revision tracking, or identifying information.
- Fragment
- A fragment unambiguously designates a specific point or range within a resource (like a specific frame sequence in a long video).
- Anchor
- An anchor binds descriptors to a fragment, which corresponds to a specific location or range within a resource.
- Predicate
- A predicate is an unambiguously identifiable declaration that can be true, false, or undecided.
- Selection
- A selection describes a specific decision that will affect one or more conditions somewhere within an item. If the selection is chosen, its predicate becomes true, if it is not chosen its predicate becomes false, and if it is left unresolved, its predicate is undecided.
- Condition
- A condition describes the enclosing element as being optional and links it to the selection(s) that affect its inclusion.
- Choice
- A choice describes a set of related selections that can affect the configuration of an item. The selections within a choice are either exclusive (choose exactly one) or inclusive (choose any number, including all or none).
- Item
- An item is a grouping of sub-items or components that are bound to relevant descriptors. Items may contain choices, which allow them to be customized or configured. Items themselves may be conditional. If an item contains no sub-items, then it can be called an entity. If it contains sub-items, then it can be called a compilation.
- Container
- A container is a potentially hierarchical structure that allows items to be grouped. These groupings of items can be used to form logical packages (for transport or exchange) or logical shelves (for organization).
- Assertion
- An assertion defines a full or partially configured state of a choice by asserting true, false or undecided values for some number of predicates associated with the selections for that choice.
Example: the DIDL packaged family scrapbook
DIDL documents are XML 1.0 documents. A specific goal in the design of the element set was to be as flexible and general as possible, providing a basis for constructing higher-level functionality. This was done to allow it to serve as a key foundation in the building of higher-level elements potentially residing in other XML namespaces. The actual XML elements composing DIDL are
<DIDL> <DECLARATIONS> <CONTAINER> <ITEM> <COMPONENT> <RESOURCE> <DESCRIPTOR> <STATEMENT> <ANCHOR> <CHOICE> <SELECTION> <CONDITION> <OVERRIDE> <REFERENCE> <ANNOTATION> <ASSERTION>
Note that many of the XML elements directly correspond with model elements.
Returning to the scrapbook example, the following DIDL XML fragment illustrates the case of a small photo album referencing pictures of two differing media TYPEs. A descriptor of statement TYPE 'text' is associated with each photo. Note how the ITEM containment structure is used to denote two separate photo albums.
<DIDL>
<CONTAINER>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">Jones family
on-line photo albums</STATEMENT>
</DESCRIPTOR>
<ITEM>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">Album #1:
The Kids</STATEMENT>
</DESCRIPTOR>
<ITEM>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">
Johnny Williams' first day at Westside High school.
His friends Bruce and Walter are also pictured.
</STATEMENT>
</DESCRIPTOR>
<COMPONENT>
<RESOURCE REF="Pjn1.jpg" TYPE="image/jpg" />
</COMPONENT>
</ITEM>
<ITEM>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">
Jane's first day at Jefferson elementary school,
accompanied by her Dad, Robert Williams
</STATEMENT>
</DESCRIPTOR>
<COMPONENT>
<RESOURCE REF="Pja1.bmp" TYPE="image/bmp" />
</COMPONENT>
</ITEM>
<ITEM>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">Album #2: Bob &
Emily</STATEMENT>
</DESCRIPTOR>
<ITEM>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">
Bob catches a big one at Blue Lake.
</STATEMENT>
</DESCRIPTOR>
<COMPONENT>
<RESOURCE REF="Bp1.jpg" TYPE="image/jpg" />
</COMPONENT>
</ITEM>
<ITEM>
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">
Emily around the campfire at Blue Lake.
</STATEMENT>
</DESCRIPTOR>
<COMPONENT>
<RESOURCE REF="Ep1.bmp" TYPE="image/bmp" />
</COMPONENT>
</ITEM>
</ITEM>
</CONTAINER>
</DIDL>
The second example fragment illustrates how the DIDL CHOICE and SELECTION elements can be used to package a deliverable resource (in this case, a music file) that is available in more than one media file format.
<DIDL>
<ITEM>
<CHOICE MIN_SELECTIONS="1" MAX_SELECTIONS="1">
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">What format would
you prefer?</STATEMENT>
</DESCRIPTOR>
<SELECTION SELECT_ID="MP3_FORMAT">
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">I want MP3</STATEMENT>
</DESCRIPTOR>
</SELECTION>
<SELECTION SELECT_ID="WMA_FORMAT">
<DESCRIPTOR>
<STATEMENT TYPE="text/plain">I want WMA</STATEMENT>
</DESCRIPTOR>
</SELECTION>
</CHOICE>
<COMPONENT>
<CONDITION REQUIRE="MP3_FORMAT"/>
<RESOURCE REF="clip.mp3" TYPE="audio/mp3"/>
</COMPONENT>
<COMPONENT>
<CONDITION REQUIRE="WMA_FORMAT"/>
<RESOURCE REF="clip.wma" TYPE="audio/wma"/>
</COMPONENT>
</ITEM>
</DIDL>
The third example fragment demonstrates how a DIDL wrapper' can be constructed around a proprietary, XML-based descriptor type. In this case, an external schema is employed in creating a photo captioning scheme. The elements in the separate, external schema contain the "xzs" prefix. The MIME designation of the foreign descriptor STATEMENT types is "text/xml".
<DIDL>
<CONTAINER>
<ITEM ID="NIAGRA_PHOTO1">
<COMPONENT>
<DESCRIPTOR>
<STATEMENT TYPE="text/xml">
<xzs:SpecialCaption>
Bob and Mary Jones standing at Niagra Falls
</xzs:Caption>
</STATEMENT>
</DESCRIPTOR>
<DESCRIPTOR>
<STATEMENT TYPE="text/xml">
<xzs:CreatorName="Bill Smith"/>
</STATEMENT>
</DESCRIPTOR>
<DESCRIPTOR>
<STATEMENT TYPE="text/xml">
<xzs:Copyright>
1998 Bill Smith Photo Enterprises
</xzs:Copyright>
</STATEMENT>
</DESCRIPTOR>
<RESOURCE REF="pict1.jpg" TYPE="image/jpg"/>
</COMPONENT>
</ITEM>
</CONTAINER>
</DIDL>
Conclusion
Internet-transacted digital content is a reality, but the lack of standards makes it very difficult for non-technical users to obtain and transmit content. Content that is transacted generally is not interoperable across platforms and is still tightly bound to the directory/file paradigm which greatly limits its flexibility. The MPEG-21 Digital Item Declaration Language addresses these and related problems by providing a relatively simple, standard method for describing complex, multicomponent content source collections.
Related Links
- baked into the upnp spec
2005-04-13 15:34:04 ckstjohn - baked into the upnp spec
2005-04-13 15:35:00 ckstjohn - Following in the footsteps of ID3v2?
2001-06-03 13:51:26 Issac Goldstand - Reinventing the Wheel.
2001-06-02 15:54:44 Ben Trafford - More Wheels
2001-06-17 11:08:20 Jim Saiya