DDL ( D escripción D efinición L anguage ) es parte de la MPEG-7 estándar. Proporciona un importante conjunto de herramientas para que los usuarios creen sus propios Esquemas de descripción (DS) y Descriptores (D). DDL define las reglas de sintaxis para definir, combinar, ampliar y modificar los Descriptores y Esquemas de Descripción.
Introducción
DDL no es un lenguaje de modelado, como el Unified Modeling Language ( UML ), sino un lenguaje esquemático para representar los resultados de los datos audiovisuales, que debe ajustarse a los descriptores, los esquemas de descripción y las descripciones MPEG-7 .
MPEG-7 DDL debe:
- Ser capaz de expresar relaciones de elementos dentro de un DS o entre dos DS, ya sean estructurales, espaciales, temporales, conceptuales o jerárquicos.
- Proporcione un amplio conjunto de uniones y referencias entre una o más descripciones y los datos que describen.
- Sea independiente de la aplicación y la plataforma.
- Ser capaz de especificar el tipo de datos de los descriptores, ya sean primarios (enteros, texto, hora, ...) o derivados (enumerados, ...).
Historia
En 1999, el equipo a cargo de MPEG-7 DDL estaba comparando y evaluando propuestas en la Reunión de Prueba y Evaluación de MPEG-7 AHG celebrada en Lancaster. El acuerdo principal fue que DDL tenía que usar la sintaxis XML , soportar la semántica orientada a objetos, además de poder validar restricciones estructurales, relacionales y de tipificación de datos.
Aunque ninguna propuesta cumplió con los requisitos, la propuesta del DSTC se utilizó como punto de partida, ampliándola con la adición de ideas y componentes de otras propuestas y contribuyentes. Además, la estrategia era seguir rastreando e influyendo en la comunidad W3C , especialmente en los grupos de trabajo XML Schema , XLink , XPath y XPointer .
En la 51ª reunión de MPEG, se decidió la adopción de la sintaxis del esquema XML con extensiones específicas de MPEG-7.
Requisitos
Como se define en el documento de requisitos MPEG-7:
- Capacidades de composición : DDL permitirá la creación de nuevos DS y D y la modificación o ampliación de DS existentes.
- Identificación única : debe permitirse un identificador único para cada D o DS.
- Tipos de datos primitivos : Se proporcionará un conjunto de tipos de datos primitivos, como entero, real, fecha, ....
- Tipos de datos compuestos: Se permitirá la descripción de tipos de datos compuestos, como histogramas de color , valores RGB , tipos enumerados, ....
- Múltiples tipos de medios : DDL proporcionará un mecanismo para relacionar D con datos de múltiples tipos de medios, no necesariamente de la misma naturaleza.
- Varios tipos de instanciaciones de DS : se deben permitir instancias completas, parciales, obligatorias completas y obligatorias parciales.
- Relaciones dentro de un DS y entre DS : DDL deberá poder expresar relaciones espaciales, temporales, estructurales y conceptuales entre los elementos de un DS o entre diferentes DS.
- Relaciones entre descripción y datos : Se proporcionará un modelo enriquecido de enlaces y referencias entre una o más descripciones y los datos descritos.
- Enlace a ontologías : También se proporcionará un mecanismo de enlace entre una descripción y varias ontologías.
- Independiente de la plataforma : DDL será independiente de la plataforma y la aplicación.
- Gramática : la gramática de DDL debe ser inequívoca y fácil de analizar.
- Validación de restricciones : el analizador de DDL podrá validar: valores de propiedades, estructuras, clases relacionadas y valores de propiedades de clases relacionadas.
- Gestión de la propiedad intelectual : Mecanismo para la expresión de la Gestión y Protección de la Propiedad Intelectual (IPMP), así se conoce a la Gestión de Derechos Digitales (DRM) en el mundo MPEG, para DS y Ds.
- Legibilidad humana : DDL permitirá que los seres humanos lean los DS y Ds.
Extensiones específicas de MPEG-7 al esquema XML
Son básicos para satisfacer los requisitos MPEG-7 DDL
- Matriz de distribución y tipo de datos
- Referencias escritas
- Tipos de datos enumerados, como Mime Type, CountryCode, RegionCode, Character-SetCode, ...