2.5. Est´ andares de anotaci´ on de metadatos
2.5.3. ISO MPEG
El grupo MPEG (Moving Pictures Expert Group), creador de los est´andares m´as utilizados para la compresi´on, encapsulamiento y transmisi´on de contenido multimedia, ha dedicado en los ´ultimos a˜nos un gran esfuerzo a la creaci´on de un est´andar de anotaci´on multimedia que cumpla con estos requisitos. El trabajo del grupo MPEG pertenece a los est´andares de la ISO (International Standards Organization) y se encuentra divido en dos bloques: MPEG-7 y MPEG-21. El est´andar de anotaci´on MPEG ha sido elegido para los desarrollos presentados en esta tesis, y en esta secci´on se detallan sus caracter´ısticas.
Introducci´on
El est´andar MPEG-7 se incluye dentro de los est´andares aprobados por la ISO [78] y la IEC (International Electrotechnical Commission). El est´andar tiene el sobrenombre de ”Interfaz de descripci´on del contenido multimedia”. Su funci´on es definir una representaci´on estandarizada de metadatos multimedia, usando como base para ello el lenguaje XML [39]. MPEG-7 permite describir el contenido multimedia a varios niveles, incluyendo caracter´ısti- cas bajo nivel, estructura, datos sem´anticos, etc. El objetivo es ofrecer un sistema de meta- datos que permita interaccionar a varias aplicaciones y que est´e dise˜nado para permitir un eficiente indexado, b´usqueda y filtrado de contenido multimedia.
MPEG-7 se diferencia de manera muy importante del resto de est´andares propuestos por el grupo MPEG [21]. Los est´andares de este grupo han ido cambiando su objetivo a lo largo del tiempo. Los primeros, MPEG-1, MPEG-2 y MPEG-4, se encaminaban a la creaci´on de m´etodos de compresi´on, codificaci´on y transmisi´on del contenido multimedia. MPEG-7, por el contrario, tiene como objetivo la indexaci´on, b´usqueda, filtrado, gesti´on y navegaci´on del contenido as´ı como la descripci´on de metadatos relacionados con la adquisici´on, edici´on y otros eventos del ciclo de vida del contenido multimedia. Los metadatos soportados abarcan incluso la descripci´on de aspectos sem´anticos, que permiten la creaci´on de servicios mul- timedia inteligentes y personalizaci´on de contenidos (por ejemplo, descripci´on de escenas, objetos, eventos, personas, lugares, rostros, etc). MPEG-7 ofrece un conjunto de metadatos suficiente para describir con riqueza escenas del mundo real incluidas en el contenido. El est´andar MPEG-21 se encarga de complementar los metadatos con informaci´on que permita cumplir los requisitos de las aplicaciones de transacci´on de elementos multimedia protegiendo los derechos de autor asociados a ´estos [44]. La descripci´on de MPEG-21 se realizar´a al final de esta secci´on, como una extensi´on de MPEG-7.
El est´andar MPEG-7
El est´andar se ha divido en varias partes que especifican aspectos diferentes del contenido de ´este:
Parte 1 – Sistemas (Systems) [90]: especifica las herramientas para preparar las des- cripciones para su eficiente transmisi´on y almacenamiento, con especial atenci´on a la sincronizaci´on entre contenido y descripciones [165].
Parte 2 – Lenguaje de Definici´on de Descripciones (DDL) [91]: especifica el lenguaje usado para definir las herramientas de descripci´on que ofrece el est´andar (DSs, Ds, y tipos de datos). Permite la creaci´on de nuevas herramientas de descripci´on.
Parte 3 – Visual [92]: especifica las herramientas de descripci´on de contenido visual. Parte 4 – Audio [93]: especifica las herramientas de descripci´on de contenido auditivo. Parte 5 – Esquemas de descripci´on multimedia [94]: especifica las herramientas de descripci´on gen´erica de alto nivel de toda clase de contenido multimedia.
Parte 6 – Software de referencia [95]: ofrece una implementaci´on software de referen- cia del est´andar. El objetivo es la generaci´on de descripciones v´alidas, quedando el rendimiento relegado a un segundo plano. Incluye componentes en cuatro categor´ıas: analizador DDL, descriptores visuales, descriptores auditivos y esquemas de descripci´on multimedia.
Parte 7 – Aprobaci´on [96]: especifica los procesos para aprobar las implementaciones del est´andar.
Parte 8 – Extracci´on y uso [97]: ofrece ejemplos de la extracci´on y uso de descripciones. Parte 9 – Perfiles: ofrece perfiles de aplicaci´on, conjuntos de descriptores de frecuente uso en ciertos dominios.
Parte 10 – Definici´on de esquemas: recoge todas los esquemas que definen a los elemen- tos del est´andar, utilizando DDL.
Parte 11 – Esquemas de perfiles: recoge los esquemas que definen a los perfiles de descriptores.
Elementos b´asicos del est´andar
El est´andar se apoya sobre unos elementos b´asicos, cuya definici´on se aborda a continua- ci´on:
Lenguaje de Definici´on de Descripciones (DDL), es el lenguaje especificado por MPEG- 7 para definir la sintaxis de Descriptores (D) y Esquemas de descripci´on (DS). Est´a ba- sado en el lenguaje XML Schema [41], un est´andar del W3C que permite definir la sintaxis que deben cumplir un grupo de documentos XML para ser compatibles con una determinada especificaci´on.
Esquemas de descripci´on (DS), permiten la construcci´on de descriptores complejos me- diante la especificaci´on de la estructura y sem´antica de las relaciones entre los elementos que la constituyen: otros DSs y Ds. Los DSs pueden ser vistos como una librer´ıa de herramientas de descripci´on de la que las aplicaciones seleccionan el subconjunto m´as adecuado para su funci´on.
Descriptores (D), son herramientas definidas mediante DDL que permiten describir la sintaxis y sem´antica de caracter´ısticas del contenido multimedia. Al nivel m´as bajo, se encuentran los descriptores de forma, movimiento, textura, color, . . . , que pueden ser extra´ıdos autom´aticamente en la mayor´ıa de casos. A m´as alto nivel, se encuentran descriptores de eventos, conceptos abstractos, g´enero, . . . , que requieren intervenci´on humana. La diferencia entre descriptores (D) y esquemas de descripci´on (DS) es que los primeros se centran en la descripci´on de una caracter´ıstica del contenido, mientras que los ´ultimos tratan con la estructura de la descripci´on [136].
Caracter´ısticas, son elementos distintivos del contenido multimedia que tienen signi- ficado para el observador, como por ejemplo el ”color” o ”textura” de una imagen. Las caracter´ısticas est´an contenidas en el contenido y son descritas por descripto- res. Por ejemplo, el color de una imagen es descrito, entre otros, por el descriptor
ScalableColor D.
Datos, son la representaci´on del contenido multimedia en una manera que permita su transmisi´on, interpretaci´on y procesado de manera autom´atica.
El est´andar MPEG-7 ofrece el DDL y una definici´on de DSs y Ds para la descripci´on del contenido en el caso general. Adem´as, MPEG-7 permite ser extendido mediante el uso de DDL definiendo nuevos DSs y Ds apropiados al dominio de aplicaci´on en el que se desea emplear. Utilizando estos elementos, el objetivo es la creaci´on de descripciones en las que es posible anotar todos los metadatos requeridos por la aplicaci´on. La relaci´on entre estos elementos b´asicos se muestra gr´aficamente en la figura 1.7.
En las siguientes secciones se profundiza en la descripci´on de todos estos elementos base sobre los que se apoya el est´andar de anotaci´on de MPEG.
Lenguaje de definici´on de descripciones
El lenguaje de definici´on de descripciones (desde ahora DDL, del ingl´esDescription Defi- nition Language) se usa para definir la sintaxis de las herramientas de descripci´on de MPEG-7 y est´a implementado como una extensi´on sobre el lenguaje XML Schema [41] de definici´on de sintaxis para documentos XML [39]. La definici´on delXML Schema es bastante extensa y puede encontrarse en [10, 194].
El DDL, seg´un los requisitos de MPEG-7 [63], debe ser capaz de expresar relaciones estructurales, de herencia, espaciales, temporales y conceptuales entre los elementos de DSs. Debe ofrecer un modelo de enlazado y referencia entre una o m´as descripciones y los datos que describen. Debe ser tambi´en independiente de la plataforma, con posibilidad de ser tratado inform´aticamente y lo m´as legible posible para las personas. La mayor´ıa de ´estos requisitos est´an cubiertos de antemano por el lenguajeXML Schema, por lo que se tom´o como base para la construcci´on del nuevo DDL. Las limitaciones deXML Schema vienen derivadas del hecho de que no fue concebido para la definici´on de contenido multimedia. Por lo tanto, el DDL se defini´o como un conjunto de extensiones al est´andarXML Schema.
Description Definition Language (DDL) D1 D4 D7 D2 D6 D3 D5 D1 D2 D5 D3 D4 Definición Definición DS1 DS2 DS3 DS4 Estructura Descriptors (D)
Representación de características Description Schemes (DS)
Figura 2.7: Elementos b´asicos del est´andar MPEG-7.
Extensiones espec´ıficas de MPEG-7 Las extensiones que a˜nade MPEG-7 son bastante simples, pero imprescindibles para la correcta definici´on del est´andar. En primer lugar, se a˜naden dos nuevos tipos de datos b´asicos.XML Schemadefine un conjunto amplio y gen´erico de tipos de datos, que abarca desde strings (cadenas de caracteres) hasta tipos num´ericos (float, decimal) y l´ogicos (boolean). Tambi´en se incluyen en los tipos ofrecidos listas y uniones. MPEG-7 a˜nade a ´estos los tipos array (unidimensional) y matrix (multidimensional). En segundo lugar, se a˜naden lasreferencias tipadas como una manera de chequear el tipo de elemento al que se hace referencia. El tipo del elemento referenciado puede ser bien el exigido o bien uno derivado por herencia del ´este. Por ´ultimo, se han a˜nadido una serie de tipos derivados a partir de tipos incluidos en XML Schema [83].
DDL en la pr´actica Con el objetivo de facilitar la comprensi´on de los siguientes puntos de esta secci´on, se proporciona a continuaci´on un breve ejemplo explicado del uso del DDL para la definici´on de un tipo de dato. El siguiente fragmento de c´odigo corresponde a la definici´on del tipo StructuredAnnotation, ofrecido por MPEG-7 para realizar anotaciones textuales de manera estructurada (i.e. respondiendo a un conjunto de preguntas preestablecido):
<complexType name=¨StructuredAnnotationType¨> <sequence>
<element name=¨Who¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
<element name=¨WhatObject¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
<element name=¨WhatAction¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
<element name=¨Where¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
<element name=¨When¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
<element name=¨Why¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
<element name=¨How¨ type=¨mpeg7:TermUseType¨ minOccurs=¨0¨maxOccurs=¨unbounded¨/>
</sequence>
<attribute ref=¨xml:lang¨ use=¨optional¨/> </complexType>
En ella se declara el tipo como compuesto de siete elementos. Cada elemento puede apa- recer un m´ınimo de 0 veces (minOccurs=”0”), siendo por tanto opcional el incluir cualquiera de ellos. Por otro lado, cada elemento puede aparecer un n´umero indefinido de veces (maxOc- curs=”unbounded”). Adem´as de los elementos, el tipo StructuredAnnotationpuede llevar un atributo (opcional) que defina la lengua en la que est´an realizadas las anotaciones.
El tipo StructuredAnnotation se utiliza para describir informaci´on acerca de qui´en, qu´e objeto, qu´e acci´on, d´onde y cu´ando en relaci´on al elemento multimedia que se descri- be. Para describir realmente esta informaci´on, se crea una instancia del esquema mostrado anteriormente:
<StructuredAnnotation>
<Who href=¨urn:people:CARLOS100¨>
<Name xml:lang=¨en¨>Carlos</Name> </Who>
<Who>
<Name xml:lang=¨en¨>Luis </Name> </Who>
<WhatObject>
<Name xml:lang=¨en¨>Una pelota </Name> </WhatObject>
<WhatAction>
<Name xml:lang=¨en¨>Carlos lanzo una pelota a Luis.
</WhatAction> <WhatAction>
<Name xml:lang=¨en¨>Luis coge la pelota con la mano.</Name> </WhatAction>
</StructuredAnnotation>
Esquemas de descripci´on multimedia
Figura 2.8: Vista general de los MDS definidos en MPEG-7.
Los esquemas de descripci´on multimedia (desde ahora MDS, del ingl´esMultimedia Des- cription Schemes) especifican las herramientas de descripci´on gen´erica de contenido multi- media. Se dividen en seis grandes grupos, como muestra la figura 1.8:
Elementos b´asicos ofrecen una variedad de herramientas para asistir en las tareas de formaci´on, archivado y anotaci´on de descripciones MPEG-7. A partir de ´estos se construyen herramientas de descripci´on m´as complejas. Los siguientes elementos b´asicos est´an definidos: Herramientas de esquema: Una descripci´on MPEG-7 comienza siempre con un elemento ra´ız que determina si la descripci´on que sigue es completa (incluye toda la informaci´on requerida y existe de manera aut´onoma) o bien es parcial (conteniendo parte de la infor- maci´on que, unida a otras descripciones parciales, forma una completa). Directamente tras el elemento ra´ız se encuentran los elementos de alto nivel. ´Estos permiten orientar
la descripci´on a una determinada tarea, como a la descripci´on de un determinado tipo de contenido multimedia o bien a alguna funci´on relativa a la gesti´on del contenido (creaci´on, uso, resumen, . . . ). Existen varios elementos de alto nivel cuya utilizaci´on conjunta permite orientar la descripci´on a prop´ositos particulares.
Tipos de dato b´asicos: como enteros, reales, vectores, matrices, etc. Usados por todas las herramientas de descripci´on.
Herramientas de localizaci´on y enlace multimedia: especifica los tipos b´asicos usados para hacer referencias entre descripciones y enlazar descripciones al contenido multi- media.
Herramientas de descripci´on b´asica: especifica las herramientas b´asicas que son usadas para describir tiempo, lugares, personas, grupos u organizaciones, . . . .
Herramientas de gesti´on del contenido Permiten describir la informaci´on relativa a la Creaci´on: describe la creaci´on (t´ıtulo, anotaciones textuales e informaci´on acerca de los creadores, los lugares de creaci´on y fechas, . . . ) y la clasificaci´on (g´enero, materia, prop´osito, lengua, . . . ). Tambi´en se utiliza para describir la clasificaci´on por edades y control paterno.
Medio: describe el medio en la que se almacena el contenido (formato, compresi´on, codificaci´on, . . . ). Permite definir unmaster, la fuente original de la que se derivan las diferentes instancias que se producen del mismo contenido, y que se conocen con el nombre de variaciones. Cada variaci´on se describe individualmente, especificando sus par´ametros de compresi´on, almacenamiento y localizaci´on.
Uso: describe los derechos y registro de uso del contenido. La informaci´on sobre los derechos no est´a expl´ıcitamente incluida en MPEG-7, sino que se ofrecen enlaces a los responsables de ´estos. El registro de uso y disponibilidad guarda informaci´on acerca de los usos que se han realizado del contenido, por cualquier clase de canal. Tambi´en se incluye informaci´on econ´omica, sobre los costes de producci´on y beneficios resultantes del uso. Esta informaci´on tiene un car´acter eminentemente din´amico, cambiando a lo largo del ciclo de vida del contenido.
Herramientas de descripci´on del contenido MPEG-7 permite la descripci´on del con- tenido desde el punto de vista estructural y sem´antico. La descripci´on estructural mira al contenido en t´erminos de segmentos de v´ıdeo, fotogramas, regiones est´aticas y m´oviles. La descripci´on estructural describe objetos, eventos, nociones.
Descripci´on estructural: el DS m´as importante dentro de ´este grupo es Segment DS, que constituye la base para todo tipo de segmentos espaciales (regiones), temporales y espacio-temporales.Segment DSpuede describir una partici´on del contenido jer´arquica (tambi´en llamada recursiva) en segmentos, formando una estructura de ´arbol como
Video Completo
tiempo
Escena 1 Escena 2 E 3
Toma 1 Toma 2
Figura 2.9: Descripci´on estructural de un v´ıdeo completo. Se pueden especificar sus escenas y tomas de manera jer´arquica. Cada segmento encapsula un conjunto de descriptores que describen a los elementos contenidos en cada uno de ellos.
Segmento temporal compuesto por tres componentes conexas. Podría, por ejemplo, definir las partes más relevantes de un vídeo.
tiempo
Segmento espacial compuesto por una componente conexa
Segmento espacial compuesto por tres componentes conexas
Figura 2.10: Los segmentos definidos tanto en el espacio como en el tiempo, pueden ser conexos, o bien constar de varias componentes conexas. La figura muestra la flexibilidad de MPEG-7 a la hora de definir segmentos.
se muestra en la figura 1.9. Segment DS es un ente abstracto; MPEG-7 ofrece va- rias implementaciones de ´este:VideoSegment DS(descripci´on de segmentos de v´ıdeo),
StillRegion DS (descripci´on de segmentos espaciales en una imagen o fotograma), etc. Los segmentos se definen de una manera muy flexible, como se ilustra en la figu- ra 1.10. En cualquier caso, la partici´on obtenida utilizando estas herramientas puede llevar asociado un grupo de Descriptores, que estar´ıan asociados a todos los elementos que forman parte del segmento. Un determinado elemento del contenido queda descri- to, de esta manera, por la uni´on de los descriptores asociados a todos los segmentos a los que pertenece, siendo posible pertenecer a varios mediante el uso de una jerarqu´ıa de segmentos y subsegmentos. Por ejemplo, en la figura 1.9 se muestra un segmento temporal que engloba todo un v´ıdeo y que, a su vez, se subdivide en varios subseg- mentos, de manera que se le puedan asociar descriptores a cada toma. Cada fotograma tendr´ıa asociados dos conjuntos de descriptores, los asociados al segmento global y los asociados a la toma a la que pertenece.
Descripci´on sem´antica: se propone como una alternativa a la hora de describir el con- tenido. El DS fundamental que se utiliza esSemantic DS. El ´enfasis no se pone en los segmentos, sino en objetos, eventos, lugares, tiempo, . . . . En la figura 1.11 se muestra un esquema de los DSs disponibles para describir un contenido. Se utiliza el concepto deNarrative Worldpara referirse a la ”realidad” en la que la descripci´on tiene sentido. Esta realidad puede ser la directamente mostrada por al grabaci´on a la que est´a asocia- da, pero MPEG-7 permite la creaci´on de descripciones abstractas que representan una generalidad de realidades. La abstracci´on de realidad puede aplicarse, de esta manera, a varias grabaciones siempre que ´estas se adapten a las caracter´ısticas de la abstrac- ci´on. UnNarrative World se describe medianteSemantic DS e incluye cualquiera de los DSs que se muestran en la figura. En el ejemplo mostrado en la figura 1.12 se muestra el uso y las posibilidades de la descripci´on sem´antica. Para ello se utilizan dos
AgentObject DS, que representan a los protagonistas de la acci´on, unEvent DS, que representa la acci´on que se lleva a cabo (darse la mano), unSemanticPlace DS, que representa el lugar donde se desarrolla el evento, unSemanticTime DS, que representa la fecha y hora en la que sucede el evento y unConcept DS, que representa el concepto expresado por el evento (camarader´ıa). Utilizando estos grafos de relaciones sem´anticas, MPEG-7 permite tambi´en la creaci´on de abstracciones, es decir, descripciones sem´anti- cas que no est´an asociadas a un elemento concreto y que por tanto son v´alidas para una generalidad. En el caso de la figura 1.12, se permite dejar el grafo en funci´on de los dos objetos agentes (protagonistas), siendo por tanto v´alido para cualquier par de personas que se dan la mano.
Las herramientas de descripci´on estructural y sem´antica permiten crear descripciones mixtas. Por ejemplo, se puede asociar una descripci´on sem´antica a una determinada regi´on de una imagen o a una secuencia de v´ıdeo. La situaci´on contraria tambi´en se puede dar. Como se muestra en la figura 1.12, los agentes participantes en el evento tienen una representaci´on en la imagen, obtenida a partir de una partici´on espacial de ´esta. Las descripciones estructurales y sem´anticas no son, por tanto, excluyentes sino complementarias. La descripci´on MPEG-7