MPEG Description Definition Language (DDL)
MPEG doc#: N7558
Date: October 2005
Author: José M. Martínez (UAM-EPS-GTI)
Introducing MPEG-7 DDL – an Overview
The Description Definition Language (DDL) (ISO/IEC 15938-2) forms a core part of the MPEG-7 standard. It provides the solid descriptive foundation by which the standardized Description Tools, both Descriptors and Description Schemes, are defined and by which users can create their own Description Schemes and Descriptors. The DDL defines the syntactic rules to express and combine Description Schemes and Descriptors. According to the definition in the MPEG-7 Requirements Document the DDL is
‘...a language that allows the creation of new Description SchemesDescription Schemes and, possibly, DescriptorsDescriptors. It also allows the extension and modification of existing Description SchemesDescription Schemes.’
The DDL is not a modeling language such as Unified Modeling Language (UML) but a schema language to represent the results of modeling audiovisual data, i.e. DSs and Ds.
The DDL satisfies the MPEG-7 DDL requirements. It is able to express spatial, temporal, structural, and conceptual relationships between the elements of a DS, and between DSs. It provides a rich model for links and references between one or more descriptions and the data that it describes. In addition, it is platform and application independent and human- and machine-readable.
(Non-normative) DDL Parser applications will be required which are capable of validating description schemes (content and structure) and descriptor data types, both primitive (integer, text, date, time) and composite (histograms, enumerated types), against the DDL. The DDL Parsers must also be capable of validating MPEG-7 descriptions or instantiations, against their corresponding validated MPEG-7 schemas (DSs and Ds).
The DDL is based on XML Schema Language, but as XML Schema was not designed specifically for audiovisual content, certain specific MPEG-7 extensions were required. Consequently the DDL can be broken down into the following logical normative components:
- XML Schema Structural components;
- XML Schema Datatype components;
- MPEG-7 Extensions to XML Schema.
XML Schema: Structures
XML Schema: Structures is part 1 of the 2-part XML Schema specification. It provides facilities for describing the structure and constraining the content of XML 1.0 documents. An XML Schema consists of a set of structural schema components which can be divided into three groups:
- primary components: The Schema – the wrapper around the definitions and declarations; Simple type definitions; Complex type definitions; Attribute declarations; and Element declarations.
- secondary components: Attribute group definitions; Identity-constraint definitions; Named Group definitions; and Notation declarations.
- “helper” components which contribute to the other components and cannot stand alone: Substitution groups; Annotations; and Wildcards.
Type definitions define internal schema components which can be used in other schema components such as element or attribute declarations or other type definitions. XML Schema provides two kinds of type definition component:
- simple types – which are simple data types (built-in or derived) which cannot have any child elements or attributes;
- complex types – which may carry attributes and have children elements or be derived from other simple or complex types.
Elements and attributes can then be declared which have are of types. New types can also be defined by derivation from existing types (built-ins or derived) through an extension or restriction of the base type.
XML Schema: Datatypes
XML Schema:Datatypes is part 2 of the 2-part XML Schema specification. It proposes facilities for defining datatypes to be used to constrain the datatypes of elements and attributes within XML Schemas. It provides a higher degree of type checking than is available within XML 1.0 DTDs.
- a set of built-in primitive datatypes;
- a set of built-in derived datatypes;
- mechanisms by which users can define their own derived datatypes. A derived datatype can be defined from a primitive datatype or another derived datatype by adding constraining facets.
MPEG-7 Extensions to XML Schema
The following features were added to the XML Schema Language specification in order to satisfy specific MPEG-7 requirements:
- Array and matrix datatypes – both fixed size and parameterized size;
- Built-in primitive time datatypes: basicTimePoint and basicDuration.
- Enumerated datatypes for MimeType, ISOCountryCode, ISORegionCode, ISOCurrencyCode and IANACharacterSetCode
- Typed references
MPEG-7-specific parsers have been developed by adding validation of these additional constructs to standard XML Schema parsers.
 ISO /IEC International Standard 15938-2 Information technology - Multimedia content description interface – Part 2 Description Definition Language, 2001.
 ISO/MPEG N4320, MPEG-7 Requirements Document, v15, MPEG Requirements Group, Sydney, July 2001.
 XML Schema XML Schema Part 1: Structures, W3C, May 2001.
 XML Schema Part 2: Datatypes, W3C, May 2001