3.2 Digital Item Declaration

 < Day Day Up > 



3.2 Digital Item Declaration

The DID specification introduces a set of abstract terms and concepts to form a model for defining DIs. In addition, the DID contains the description of the syntax and semantics of each of the DID elements and the DID Schema for its representation in XML. The DID Schema allows one to plug other description schema into a DI. For instance, a DescriptionUnit of MPEG-7, based on the Description Definition Language, may be used for descriptive elements within an item, as well as the Dublin Core, based on the Resource Description Framework.

The main elements of the DID Schema are described below, and a full DID example is given. For a complete reference of the DID Schema, please consider the ISO/IEC 21000-2 standard.

3.2.1 DID Schema

The DID Schema defines a common root element, named DIDL, within the namespace identified by the Uniform Resource Identifier urn:mpeg:mpeg21:2002:01-DIDL-NS. The declaration of the root element is given here:

 <xsd:schema targetNamespace = "urn:mpeg:mpeg21:2002:01-      DIDL-NS" xmlns = "urn:mpeg:mpeg21:2002:01-DIDL-NS"      xmlns:xsd = "http://www.w3.org/2001/XMLSchema"      version = "0.01"> <xsd:element name = "DIDL">   <xsd:complexType>     <xsd:sequence>       <xsd:element ref="Declarations" minOccurs="0"/>         <xsd:choice>           <xsd:element ref="Container"/>           <xsd:element ref="Item"/>         </xsd:choice>       </xsd:sequence>     </xsd:complexType>   </xsd:element>   ... <xsd:schema> 

The top-level element is either a container or an item; it may occur several times in an instance document.

3.2.2 Container

A container is a structure that allows items or other containers to be grouped. These groupings of items or containers can be used to form logical packages (for organization, transport, and exchange). The container element descriptor contains the metadata of containers. The container definition is recursive and, therefore, forms a hierarchy.

 <xsd:element name="Container">   <xsd:complexType>     <xsd:sequence>       <xsd:element ref="Descriptor" minOccurs="0"           maxOccurs="unbounded"/>       <xsd:choice>         <xsd:element ref="Reference"/>         <xsd:sequence>           <xsd:element ref="Container" minOccurs="0"               maxOccurs="unbounded"/>           <xsd:element ref="Item" minOccurs="0"               maxOccurs="unbounded"/>         </xsd:sequence>       </xsd:choice>     </xsd:sequence>     <xsd:attributeGroup ref="ID_ATTRS"/>   </xsd:complexType> </xsd:element> 

For instance, if several photo albums will be grouped together in a DI, then a container having an item declaration for each album can be used:

 <DIDL>  <Container>   <Descriptor>     <Statement mimeType = "text/plain">My Photo Albums in Items</Statement>  </Descriptor>     <Item id = "Album1">   ...     </Item>    <Item id = "Album2">     ...   </Item>  </Container> </DIDL> 

In the former XML document, the Descriptor contains the metadata in the form of a statement. Alternatively, a component element containing descriptive multimedia data can be used. This could be, for instance, an image containing a set of thumbnails showing the first pages of each photo album.

The statement is a comfortable description tool that can contain any data format, including plaintext and machine-interpretable formats, for example, XML, identified by a MIME media type as defined in RFC 2045. The used MIME media type is given in the attribute mimeType.

The plaintext (mimeType = "text/plain") description "My Photo Albums In Items" used in the example above, however, gives no formatting. One may rely on MPEG-7 descriptors for a more precise description, such as

 <DIDL>  <Container>   <Descriptor>      <Statement mimeType="text/xml">       <mpeg7:Mpeg7>          <mpeg7:DescriptionUnit xsi:type=              "CreationInformationType">         <mpeg7:Creation>         <mpeg7:Title> My Photo Albums </mpeg7:Title>              <mpeg7:Creator>                <mpeg7:Role         href="urn:mpeg:mpeg7:cs:RoleCS:2001:PRODUCER">         <mpeg7:Name xml:lang="en">Anchorman<             /mpeg7:Name>           </mpeg7:Role>           <mpeg7:Agent xsi:type="mpeg7:PersonType">             <mpeg7:Name>               <mpeg7:GivenName>Harald</mpeg7:                   GivenName>               <mpeg7:FamilyName>Kosch</mpeg7:                   FamilyName>             </mpeg7:Name>           </mpeg7:Agent>          </mpeg7:Creator>         </mpeg7:Creation>       </mpeg7:DescriptionUnit>     </mpeg7:Mpeg7>    </Statement>   </Descriptor>   <Item >   ...   </Item>   <Item >   ...   </Item>  </Container> </DIDL> 

3.2.3 Item

An item is a grouping of subitems or components that are bound to relevant descriptors. Descriptors contain information about the item. Items may contain choices, which allow them to be configured. Items may be conditional on predicates asserted by selections defined in the choices. Items may contain subitems if they are composed of potential subparts. Items may also contain annotations to their subparts. The definition of the element named "Item" is given in the XML-Schema here:

 <xsd:element name="Item">   <xsd:complexType>     <xsd:sequence>       <xsd:element ref="Condition" minOccurs="0"           maxOccurs="unbounded"/>       <xsd:element ref="Descriptor" minOccurs="0"           maxOccurs="unbounded"/>       <xsd:element ref="Choice" minOccurs="0"           maxOccurs="unbounded"/>       <xsd:choice>         <xsd:element ref="Reference"/>         <xsd:choice minOccurs="0"             maxOccurs="unbounded">           <xsd:element ref="Item"/>           <xsd:element ref="Component"/>         </xsd:choice>       </xsd:choice>       <xsd:element ref="Annotation" minOccurs="0"           maxOccurs="unbounded"/>     </xsd:sequence>     <xsd:attributeGroup ref="ID_ATTRS"/>   </xsd:complexType> </xsd:element> 

The main components, which appear in the declaration of an item, are the component and the descriptor. Their relationship is illustrated in Exhibit 3.2. Please note that the definition of an item is hierarchical: An item might contain other subitems. Further elements of an item are the condition, the choice, and the annotation. Let us start by describing the component.

Exhibit 3.2: Relationship of the principal elements within the digital identification declaration model.

start example

click to expand

end example

3.2.4 Component

A component is the binding of a resource to all of its relevant descriptors. The component's descriptors are data related to all or parts of the specific resource instance. Such descriptors will typically contain control or structural information about the resource (such as bit rate and character set). A component may also contain conditions to describe optional resources and descriptors (see below). Conditions are used in connection with choice and selection elements declared in the same DI. Finally, the component may contain an anchor. It binds a set of descriptors to a specific location within the resource.

For instance, the following component description fragment of a DID contains an anchor description for a complete mp3 file and then an anchor description for the first 10 seconds of the mp3 file [specified through the external function media_time(10s)]:

 <Component> <Resource ref = "starmania.mp3" mimeType = "audio/mp3"/> <Anchor> <Descriptor> <Statement mimeType = "text/plain">       The complete mp3 file</Statement> </Descriptor> </Anchor> <Anchor fragment = "media_time(10s)"> <Descriptor> <Statement mimeType = "text/plain"> The first 10s of the mp3 file        </Statement>       </Descriptor>     </Anchor>   </Component> 

Finally, the optional annotation element can be used to logically add elements to an item without actually modifying its contents. For instance, an annotation description may be added to an outer item to reference an inner item in a hierarchical-build item structure.

The operational behavior of a DI is defined through the condition element.

3.2.5 Condition

A condition describes the enclosing element as being optional and links it to the selection or selections that affect its inclusion. Multiple predicates within a condition are combined as a conjunction (an AND relationship). Any predicate can be negated within a condition. Multiple conditions associated with a given element are combined as a disjunction when determining whether to include the element.

3.2.6 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). A selection describes a specific decision that will affect one or more conditions somewhere within an item.

Example of a DID: The following example illustrates how the choice, selection, and condition elements can be used to package a deliverable resource (in this case, a video file) that is available in more than one media file format (mpeg and quicktime [QT]). The component contains, in addition to the required conditions, a descriptor in MPEG-7 for the specification of file size and file format of the corresponding resource. This also demonstrates the metadata integration capacity of the DID.

 <DIDL xmlns = "urn:mpeg:mpeg21:2002:01-DIDL-NS" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "urn:mpeg:mpeg21:2002:01-DIDL-NS Mpeg21DIDL-2002.xsd">   <Item>     <Choice minSelections="1" maxSelections="1">       <Descriptor>         <Statement mimeType="text/plain">           What video format would you prefer?         </Statement>       </Descriptor>       <Selection select_>       <Descriptor>         <Statement mimeType="text/plain">I want             MPEG</Statement>       </Descriptor>     </Selection>     <Selection select_>       <Descriptor>         <Statement mimeType="text/plain">I want             Quicktime</Statement>       </Descriptor>     </Selection>   </Choice>   <Component>     <Condition require="MPEG_FORMAT"/>     <Descriptor>       <Statement mimeType="text/xml">         <mpeg7:Mpeg7>           <mpeg7:DescriptionUnit xsi:type="               mpeg7:MediaFormatType">             <mpeg7:Content href="MPEG7ContentCS">                 <mpeg7:Name>audiovisual</mpeg7:Name>             </mpeg7:Content>             <mpeg7:FileFormat               href="urn:mpeg:mpeg7:cs:FileFormatCS:                   2001:3">               <mpeg7:Name xml:lang="en">mpeg<                   /mpeg7:Name>             </mpeg7:FileFormat>             <mpeg7:FileSize>136987</mpeg7:FileSize>           </mpeg7:DescriptionUnit>         </mpeg7:Mpeg7>       </Statement>     </Descriptor>       <Resource mimeType="video/mpeg"           ref="video.mpeg"/>     </Component>     <Component>       <Condition require="QT_FORMAT"/>         <Descriptor>           <Statement mimeType="text/xml">             <mpeg7:Mpeg7>               <mpeg7:DescriptionUnit xsi:type="                   mpeg7:MediaFormatType">                 <mpeg7:Content href="MPEG7ContentCS">                 <mpeg7:Name>audiovisual</mpeg7:Name>                 </mpeg7:Content>                 <mpeg7:FileFormat                     href="urn:mpeg: mpeg7:cs:                     FileFormatCS:2001:16">                 <mpeg7:Name                     xml:lang="en">quicktime</mpeg7:                     Name>                 </mpeg7:FileFormat>                 <mpeg7:FileSize>197457</mpeg7:                     FileSize>               </mpeg7:DescriptionUnit>             </mpeg7:Mpeg7>           </Statement>         </Descriptor>         <Resource mimeType="video/quicktime"             ref="video.qt"/>     </Component>   </Item> </DIDL> 



 < Day Day Up > 



Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21
Distributed Multimedia Database Technologies Supported by MPEG-7 and MPEG-21
ISBN: 0849318548
EAN: 2147483647
Year: 2003
Pages: 77
Authors: Harald Kosch

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net