Sistema Visual y de Audio de MPEG−4 INDICE Abstract 1 Descripción técnica detallada del sistema visual de MPEG−4 2 Aplicaciones del estándar de video MPEG−4. 3 Composición de los objetos. 4 Funciones basadas en contenidos. 5 Escalabilidad de texturas imágenes y video. 6 Texturas, Imágenes y video naturales. 7 Objetos sintéticos. 8 Codificación escalable de Objetos de video. 9 Robustez en entornos propensos a error. 10 Estabilidad de resolución temporal mejorada con retraso de buffering bajo. 11 Codificación de texturas e imágenes estáticas. 12 Mallas animadas en 2D. 13 Mallas 3D. 14 Escalabilidad dependiente del punto de vista. 15 Estructura de las herramientas para representar video natural. 16 Soporte para las funciones convencionales y basadas en contenidos. 17 El esquema de codificación e imagen y video de MPEG−4 18 Codificación de texturas e imágenes estáticas. 19 Codificación escalable de objetos de video. 20 Descripción técnica detallada del audio en MPEG−4. 1 21 Cualidades adicionales del audio en MPEG−4 22 CELP Compresión de silencio 23 Etorno espacial Abstract This compilation is about MPEG−4 Visual and sound system, but it goes beyond the MPEG−4 web utilities we are accustumed. This work try to show the posibilities that MPEG−4 had now and in the future to come, and the features that makes MPEG−4 one of the most reliable,profitable and versatile encoding systems nowadays. Nota: muchos de los términos que aparecen en este trabajo son explicados según avanza la lectura, esto es debido a la gran variedad de términos sin los cuales no pueden ser explicados apartados anteriores, y que por cuestiones de optimización del diseño de este trabajo se han dispuesto en dicho orden. 1 Descripción técnica detallada del sistema visual de MPEG−4 Los objetos pueden ser de dos tipos los de origen natural u origen sintético. Primero describiremos los de origen natural y a continuación los de origen sintético. 2 Aplicaciones del estándar de video MPEG−4. MPEG−4 video ofrece una tecnología que cubra un largo rango de aplicaciones existentes tanto como de las que están apareciendo recientemente. El ratio bajo de bits y la codificación de error elástica permiten una comunicación robusta a través de canales inalámbricos con ratios limitados, esto es útil por ejemplo para videoteléfonos móviles y comunicaciones espaciales. También se puede obtener una vigilancia de la compresión de datos ya que es posible tener una variación en el ratio de frames muy baja.. En altos ratios de bit, existen herramientas que permiten la transmisión y almacenamiento de video de alta calidad adaptado para estudios y otras muchas aplicaciones de creación de contenidos. Lo más probable es que con el tiempo el estándar soporte ratios de datos más allá de los que se consiguen con MPEG−2. Un área de aplicación mayor es el video interactivo basado en Web. Ya se ha presentado software que provee video MPEG−4 en vivo sobre una pagina web. Hay un gran campo para aquellas aplicaciones que hagan uso de las características basadas en objetos del MPEG−4. Las herramientas binarias y codificación en escala de grises permiten que los objetos de video se puedan componer junto a texto y gráficos. De esta manera se pueden realizar multitud de ricas experiencias interactivas para presentaciones y publicidad basados en Web. Esto mismo se aplica a las aplicaciones asociadas a los set−top−box . De manera adicional también es posible hacer uso de estas herramientas escalables para permitir un control suave entre el usuario final, el terminal y las capacidades del enlace de datos (data link). MPERG−4 video también ha sido utilizado para realizar capturas y codificar con cámaras domesticas. Este tipo de aplicación lo mas seguro es que gane en popularidad debido a su fácil y rápida transferencia a paginas web, y puede que también se aproveche su capacidad para capturar imágenes estáticas. El mundo de los juegos es otro campo donde MPEG−4 video, las texturas estáticas, la interactividad y el SNCH prometen mucho, con el mapeado 3D de las imágenes estáticas, video en vivo, o las extendidas secuencias de video pregrabadas que potencian las experiencias del jugador. Añadiendo video en vivo de los varios jugadores conseguimos una mayor sensación para los juegos multijugador en 3D, y haciendo uso del video arbitrario, podemos combinar artísticamente transparencias con el mapeado de texturas de video 3D. La flexibilidad de la codificación MPEG−4 video fomenta muchas más aplicaciones como esta. 2 3 Composición de los objetos. La figura bajo estas líneas explica la manera en que una escena audiovisual de MPEG−4 es descrita y compuesta en objetos individuales. La figura contiene objetos compuesto de diversos medias los cuales agrupan un número de objetos media primitivos, Los objetos primitivos se corresponderían con las hojas que componen un árbol mientras que los objetos media compuestos serian las ramas de dicho árbol. Por ejemplo el objeto visual que corresponde a la persona hablando y la correspondiente voz se unen para formar un nuevo objeto compuesto, conteniendo ambos componentes, sonido e imagen natural de la persona hablando. Dichas agrupaciones permiten a los autores construir escenas complejas, y permiten a los usuarios manipular estos grupos de objetos. Generalizando más, MPEG−4 ofrece una manera estandarizada de describir una escena, permitiendo por ejemplo: • Colocar los objetos media en cualquier lugar del sistema de coordenadas. • Aplicar transformaciones para cambiar la geometría o la apariencia acústica del objeto. • Agrupar objetos primitivos para formar objetos compuestos. • Aplicar datos adicionales para modificar los atributos del objeto(sonido, textura, animación, etc.) • Cambiar, interactivamente, el punto de vista y audición del usuario en cualquier lugar de la escena. Ejemplo de una escena MPEG−4 4 Funciones basadas en contenidos. 3 • La codificación basada en contenidos de imágenes y video permite la decodificación separada la reconstrucción de objetos de video de forma arbitraria. • El acceso aleatorio de el contenido de una secuencia de video permite las funciones tale como pausa, paso rápido hacia delante y rebobinado rápido de los objetos de video almacenados. • La manipulación del contenido extendida, en las secuencias de video permite funciones tales como la inserción de texto sintético o natural, imagen y video. Un ejemplo es el mapeado de texto en un objeto que se mueve de la misma manera y de acuerdo al mismo. 5 Escalabilidad de texturas imágenes y video. • La escalabilidad compleja en el codificador permite generar flujos de bit de complejidad variable para una textura video o imagen dada. • La escalabilidad espacial permite a los decodificadores decodificar un subgrupo del flujo de bit total generado por el codificador para reconstruir y mostrar texturas, imágenes y video con una resolución espacial reducida. Para imágenes y texturas soporta un máximo de 11 niveles mientras que para video soporta un máximo de 3. • La escalabilidad permite a los decodificadores decodificar un subgrupo del flujo de bit total generado por el codificador para reconstruir y mostrar video con una resolución temporal reducida. Soporta un máximo de 3 niveles. • La Escalabilidad de calidad permite que un flujo de bits se divida en un número de capas de diferente ratio de bits de manera que la combinación del conjunto pueda ser decodificada como una señal con significado, esto puede ocurrir tanto en la transmisión como en el decodificador. La calidad en general vendrá en función del número de capas utilizas en la decodificación y la reconstrucción 6 Texturas, Imágenes y video naturales. Las herramientas para la representación de video natural en el estándar visual de MPEG−4 proveen tecnologías estandarizadas permitiendo un almacenamiento, transmisión y manipulación de texturas, imágenes y datos de video eficientes, para entornos multimedia. Estas herramientas permiten la decodificación y representación de unidadesatómicas de imagen y contenido de video, llamadas video objets (Vos). Un ejemplo de un VO puede ser una persona hablando sin un fondo, la cual puede ser compuesta con otro AVO (audio−video object) para crear de esta manera una escena. De manera para que se pueda conseguir esta meta global y no una solución para unas pocas aplicaciones, todas las funciones comunes de muchas aplicaciones se han agrupado, por tanto, la parte visual del estándar MPEG−4 provee soluciones en forma de herramientas y algoritmos para: &Compresión eficiente de imágenes y video. &Compresión eficiente de texturas y mapeado de texturas para mallas 2D y 3D. &Compresión eficiente de flujos (de datos) de geometría variable en el tiempo que animan las mallas eficiente de mallas implícitas 2D. &Acceso aleatorio eficiente para todos los tipos de objetos visuales (VO). &Funciones de manipulación extendida para secuencias de imágenes y video. &Escalabilidad de texturas, imágenes y video basadas en contenidos. &Codificación basada en contenidos de imágenes y video. 4 &escalabilidad espacial, temporal y de calidad. &Robustez frente a errores y vigilancia en entornos con posibilidad de errores.. 7 Objetos sintéticos. Los objetos sintéticos forman un subconjunto que incluye la mayor parte de los gráficos de los ordenadores. Como punto de partida se describirán los siguientes objetos visuales sintéticos. &Descripción paramétrica de: a. Síntesis de la cara y cuerpo. b. Codificación de malla estática y dinámica con mapeado de texturas. &Codificación de texturas para Aplicaciones Wiev dependent. 8 Codificación escalable de Objetos de video. Hay muchos esquemas de codificación escalable en el sistema visual de MPEG−4: escalabilidad espacial, temporal y espacial basada en objetos. La escalabilidad espacial soporta el cambio en la calidad de la textura. La escalabilidad espacial basada en objetos extiende los convencionales tipos de escalabilidad hacia objetos arbitrarios, de manera que pueden ser usados in combinación con las otras capacidades basadas en objetos. Así, se puede lograr un escalado muy flexible, basado en contenido de la información de video. Esto hace posible mejorar la SNR (relación señal a ruido), la resolución espacial, la precisión de la forma etc... solo para objetos de interés o para una región en particular, la cual puede hacerse dinámicamente mientras se realiza la reproducción de la misma. 9 Robustez en entornos propensos a error. Una técnica nueva desarrollada en MPEG, llamada NEWPRED (de nueva predicción), provee una recuperación rápida de error en aplicaciones de codificación a tiempo real. Ésta usa un canal de subida del decodificador al codificador. El codificador conmuta o cambia los frames de referencia adaptándolos de acuerdo a las condiciones de error de la red. NEWPRED no usa intra−refresco y contribuye a una alta eficiencia en la decodificación. Esta técnica ha sido diseñada para trabajar bajo condiciones de error de importancia. de ráfaga en las redes inalámbricas (ratio de error es de 10E −3,1ms de longitud de ráfaga) &perdida de paquete en internet (ratio de perdida de paquete es del 5%) 10 Estabilidad de resolución temporal mejorada con retraso de buffering bajo. Otra nueva técnica es la DCR (Conversión de resolución dinámica), un camino para estabilizar el retraso del buffering (o almacenamiento) de la transmisión a través de minimizar el jitter(o variación) de la cantidad de bits de salida codificados por VOP. Se previenen así grandes saltos de frames y el codificador puede controlar la resolución espacial incluso en escenas de alta actividad. 11 Codificación de texturas e imágenes estáticas. Existen 3 nuevas herramientas para la codificación de texturas e imágenes estáticas: &Wavelet tiling que permite que una imagen se divida en varias pilas y cada pila se codifique 5 independientemente. Esto significa que las imágenes grandes se pueden codificar / decodificar con requerimientos de memoria muy bajos, y que el acceso aleatorio al decodificador es significativamente mejorado. &Escalable shape coding que permite codificar las texturas de forma arbitraria y las imágenes estáticas de modo escalable. Usando esta herramienta, el decodificador puede decodificar cualquier imagen de forma arbitraria, a cualquier resolución. Esta herramienta permite emplear escalas al espacio, calidad y objetos a la misma vez. &Error resilience tool añade nuevas características de vigilancia de errores, usando técnicas de empaquetamiento y marcadores de segmentos, mejora significativamente la robustez ante errores en aplicaciones tales como transmisión de imágenes a través de móviles e Internet. 12 Mallas animadas en 2D. Una Malla en 2D es una división de una superficie plana en patrones poligonales. Los vértices de estos polígonos son conocidos como Los puntos nodales, o nodos de la malla. MPEG−4 considera solo mallas triangulares donde los patrones son triángulos. Una malla dinámica 2D es la información de la geometría y movimiento de los nodos una malla 2D dentro de un intervalo de tiempo de interés. Las mallas triangulares han sido muy utilizadas en geometría de objetos 3D, modelado y renderizado de objetos y gráficos. El modelado de mallas 2D puede ser considerado como una proyección de la de 3D a una imagen plana. Un ejemplo es la malla 2D de la figura siguiente: La figura del dibujo es un pez al que se ha aplicado una malla, deformando la malla podemos hacer que el pez, se mueva pareciendo que nade. También podemos asociarle un logotipo al cuerpo del pez de manera que se mueva de la misma forma que el mismo. En el mapeado de texturas basado en mallas 2D, los patrones triangulares del frame actual son deformados por el movimiento de los puntos nodales respecto de los patrones del frame de referencia. La textura dentro de cada uno de estos patrones de referencia se transforma al del frame actual mediante un mapeado paramétrico, definido como una función de los vectores de movimiento de los puntos nodales. La forma lineal de las mallas triangulares implica una baja complejidad computacional en cuanto al mapeado de textura se refiere. Los mapeados pueden modelar parámetros como la translación, rotación, escalado reflexión etc... El grado de libertad dado por los tres vectores de movimiento de los vértices del triangulo coincide con los 6 parámetros del mapeado. Esto implica que el campo de movimiento original puede ser representado por el movimiento de los puntos nodales, a la misma vez la estructura de la malla esta relacionada con los movimientos de los patrones de las imágenes adyacentes. Por lo tanto, las mallas están muy bien adecuadas 6 para representar campos de movimiento espacialmente continuos y que se deforman suavemente. El modelado de mallas 2D es atractivo debido a que las mallas d pueden ser designadas de una vista sencilla de un objeto sin requerir un rango de datos, manteniendo a su vez muchas de las funciones ofrecidas por el modelado 3D. En resumen, la representación de mallas basadas en objetos 2D es útil para modelar la forma (aproximación poligonal del contorno del objeto) y el movimiento de un VOP en una secuencia unificada.. En particular, la representación de mallas 2D de objetos de video permite las siguientes funciones: A. Manipulación del Objeto de video. • Realidad aumentada: Mezclando imágenes virtuales (generadas por ordenador) con imágenes reales en movimiento (video) para crear una visualización mejorada. Para esto las imágenes generadas por ordenador deben estar en perfecta relación con las imágenes de movimiento reales. • Animación / transfiguración−objeto−sintética: Sustituye un objeto de video en un video clip por otro objeto de video. Esta sustitución puede ser extraída desde otro video clip o puede ser transfigurada a partir de una imagen estática usando la información de movimiento del objeto a reemplazar. (De aquí la necesidad de una representación de movimiento continua en el tiempo). • Interpolación espacio−temporal: El modelado de movimiento de mallas ofrece una interpolación temporal con compensación de movimiento más robusta. B. Compresión del objeto de video. • El modelado de mallas 2D puede ser utilizado para la compresión si uno elige transmitir los mapas de texturas solo en los key−frames (frames de pauta o frames clave) y los mapas de texturas animadas (sin mandar ninguna imagen de predicción de error) para los frames intermedios. Esto es también conocido como una auto−transfiguración de los key−frames seleccionados usando la información de las mallas 2D. C. Indexado de video basado en contenido. • La representación de mallas permite key−snapshots (imágenes clave) para una sinopsis en movimiento de los objetos. • La representación de mallas ofrece además una información precisa de la trayectoria del objeto que puede ser utilizada para recuperar objetos visuales con un movimiento especifico. 13 Mallas 3D. Las capacidades de la codificación para mallas 3D incluyen: • Algoritmo de codificación de mallas poligonales 3D genéricas adaptadas para la codificación eficiente de mallas 3D poligonales. La representación codificada es lo suficientemente genérica para soportar ambas; mallas múltiples y no−múltiples. • La representación incremental permite al decodificador reconstruir un numero de caras en una malla proporcional al número de bits en el flujo de bit (bit stream) que ha sido procesado. Además permite un rendering incremental. • La vigilancia de error permite al decodificador recuperar parcialmente una malla cuando los subgrupos del flujo de bits se han perdido o corrompido. • LOD (level of detail o nivel de detalle) escalable permite al decodificador reconstruir una versión simplificada de la malla original conteniendo un numero de vértices de un subgrupo del flujo de bits. Dichas representaciones simplificadas son útiles para reducir el tiempo de renderizado de los objetos que están lejos del observador (gestión del LOD), pero también permite motores menos potentes para renderizar el objeto a una calidad mas reducida. 7 14 Escalabilidad dependiente del punto de vista. La escalabilidad dependiente del punto de vista permite creas un flujo con los mapas de texturas, los cuales son utilizados en entornos de realidad virtual, Consiste en tomar en cuenta la posición de observación en el mundo virtual 3D de manera que se transmita solo la mayoría de la información visible. Solo una fracción de la información es mandada, dependiendo de la geometría del objeto y el desplazamiento del punto de vista . Esta fracción es computada en ambos el codificador y el decodificador. Esta aproximación reduce enormemente la cantidad de información enviada entre la base de datos remota y el usuario, Esta escalabilidad puede ser aplicada con codificadores basados Wawelet y DCT. 15 Estructura de las herramientas para representar video natural. Los algoritmos de codificación de imagen y video de MPEG−4, presentan una eficiente representación de objetos visuales de forma arbitraria, también soportando las llamadas funciones basadas en contenido. Soportan la mayoría de las funciones ya ofrecidas por MPEG−1 y MPEG−2, incluyendo la compresión eficiente de secuencias rectangulares estándar con varios niveles de formatos de entrada, ratios de frames, profundidad de píxel (píxel depth), ratios de bit, y varios niveles de escalabilidad de calidad , temporal y espacial. Una clasificación básica de los ratios de bit y las funciones actualmente ofrecida por MPEG−4 visual estándar para imágenes naturales de video es descrita en la siguiente figura, donde se ilustran los grupos de ratios de bit en función de las funciones. Clasificación de las herramientas y algoritmos para la codificación de imagen y video de MPEG−4. VLBV core (video con muy bajo ratio de bit) ofrece herramientas y algoritmos para aplicaciones que trabajan con ratios de bit típicos de 5 − 64 Kbit/s, y que soportan secuencias de imágenes con resolución espacial baja y bajos ratios de frames (hasta 15 Hz). Las funciones especificas de las aplicaciones básicas soportadas por el VLBV incluyen: • Codificación de secuencias de imágenes de tamaño rectangular convencionales con alta eficiencia de codificación y alta robustez / vigilancia, baja latencia y complejidad para aplicaciones de comunicación multimedia. • Acceso aleatorio y fast foward y fast reverse para el almacenamiento de bases de datos multimedia VLB y aplicaciones de acceso. Las mismas funciones básicas descritas sobre estas líneas son también soportadas con altos ratios de bit con altos parámetros de entrada en cuanto a rangos espaciales y temporales hasta las resoluciones ITU−R Rec.601 y mayores, aplicando idénticos o similares algoritmos y herramientas como la VLBV core. Los ratios de bit previstos son desde 64Kbit/s hasta 10Mbit/s y las aplicaciones previstas incluyen difusión multimedia la recuperación interactiva de señales de calidad comparable a la de la TV digital. Para estas aplicaciones de altos ratios de bit también existen herramientas de codificación de MPEG−4 que pueden representar el video 8 entrelazado. Las funciones basadas en contenido soportan la codificación / decodificación separada de contenidos, esto se refiere a los objetos físicos de una escena (como veremos más adelante), los Vos. Esta característica de MPEG−4 ofrece el mecanismo más elemental para la interactividad, representación simple y manipulación de los contenidos de Vos de imagen o video en el dominio de la compresión , sin la necesidad de mayor separación o transcodificación en el receptor. Para la codificación híbrida de datos visuales naturales tanto como de los sintéticos (por ejemplo de un entorno virtual) la función de codificación basada en contenidos permite mezclar un número de Vos de diferentes fuentes con objetos sintéticos , como fondos virtuales. Los extendidos algoritmos y herramientas MPEG−4 para funciones basadas en contenidos pueden verse como un súper−conjunto de la VLBV y las herramientas para altos ratios de bit, esto viene a significar que las herramientas ofrecidas por el VLBV y las de alto ratio de bit son complementadas por elementos adicionales. 16 Soporte para las funciones convencionales y basadas en contenidos. Como hemos mencionado antes, MPEG−4 video soporta imágenes rectangulares convencionales así como imágenes y video de formas arbitrarias. Este ejemplo se muestra en la figura siguiente: El VLBV core y el codificador genérico MPEG−4 La codificación convencional de imágenes y video es similar a la convencional realizada por MPEG−1/2. Estas incluyen predicción / compensación de movimiento seguido por codificación de texturas. Para las funciones basadas en contenidos, donde la secuencia de imágenes de entrada puede ser de localización y forma arbitraria, esta aproximación es extendida codificando la información de forma y transparencia. La forma puede ser representada por un componente de transparencia de 8 bits, )el cual permite la descripción de dicha transparencia si uno de los VO esta compuesto por otros objetos), o por una máscara binaria. La aproximación basada en contenidos MPEG−4 extendida puede ser vista como una extensión lógica del convencional MPEG−4 VLBV core o las herramientas de alto ratio de bits dirigidas a la entrada de formas arbitrarias. 17 El esquema de codificación e imagen y video de MPEG−4 Bajo estas líneas se encuentra una aproximación de los algoritmos para codificar secuencia de imágenes tanto rectangulares como arbitrarias de MPEG−4 video. 9 Diagrama de bloques básico del codificador de video de MPEG−4. La estructura de codificación básica incluye codificación de formas (para Vos de forma arbitraria) y compensación de movimiento, así como codificación de texturas basada en DCT (usando el estándar DCT 8x8 o DCT forma adaptativa). Una ventaja importante de la codificación aproximada basada en contenidos de MPEG−4 es que la eficiencia de la compresión puede ser significativamente mejorada para algunas secuencias de video usando herramientas basadas en objetos de movimiento apropiadas y dedicadas para cada objeto en una escena. Un número de técnicas de predicción de movimiento pueden ser utilizadas para permitir una codificación eficiente y una presentación flexible de los objetos • Estimación y compensación estándar de movimiento basada en bloques 8x8 o 16x16. • Compensación de movimiento global basada en la transmisión de un sprite estático. Un sprite estático es una posible gran imagen estática, que describa por ejemplo un paisaje o un fondo panorámico. Para cada imagen consecutiva en una secuencia, solo 8 parámetros de movimiento globales que describan el movimiento de la cámara son codificados para reconstruir el objeto. Estos parámetros representan la apropiada transformación afín, del sprite transmitido en el primer momento. La siguiente figura describe el concepto básico de codificación de una secuencia de video MPEG−4 que usa un sprite panorámico. Se asume que el objeto en primer plano (jugador de tenis) puede ser separado del fondo y que la imagen panorámica puede ser extraída de la imagen antes de ser codificada. (Una imagen panorámica es una imagen estática que describe como tal el contenido del fondo a través de todos los frames de la secuencia). El sprite panorámico es transmitido al receptor solo en el primer frame de la secuencia para describir el fondo de la misma. El sprite permanece almacenado en un sprite buffer. En cada frame consecutivo solo los parámetros de la cámara relevantes son transmitidos al receptor. Esto le permite al recetor reconstruir la imagen de fondo de cada frame en la secuencia basada en este sprite. El objeto móvil que está en primer plano es transmitido como objeto de video de forma arbitraria, separadamente.. El receptor compone la ambos, fondo y primer plano para recomponer la imagen en cada frame . Para aplicaciones de bajo retardo es posible transmitir el sprite en múltiples piezas pequeñas a través de los frames consecutivos para construir el sprite progresivamente en el decodificador. 10 Ejemplo de codificación de un sprite en una secuencia de video. 18 Codificación de texturas e imágenes estáticas. La codificación eficiente de texturas e imágenes estáticas ( por ejemplo, para ser mapeadas en mallas animadas) esta soportada por el modo de textura visual de MPEG−4. este modo está basado en el algoritmo zerotree wavelet que ofrece una gran eficiencia de codificación para una gran cantidad de ratios de bit. Junto a la gran eficiencia de compresión, añade escalabilidad espacial y escalabilidad de calidad. (hasta 11 niveles de escalabilidad espacial y escalabilidad de calidad continua) y también añade codificación de objetos de forma arbitraria. El algoritmo de wavelet proporciona una codificación del flujo de bit escalable en forma de resolución jerárquica ara transmisión progresiva y mejora temporal de las imágenes estáticas. El flujo de bits codificado esta también hecho para descararse la jerarquía de resolución de la imagen al terminal para formatearlo como MIPmap texture usada en sistemas de renderizado 3D. Esta tecnología ofrece escalabilidad en resolución para satisfacer en un rango amplio de modos de visualización, los más utilizados en aplicaciones interactivas y mapeado de imágenes en mundos virtuales 2D y 3D. 19 Codificación escalable de objetos de video. MPEG−4 soporta la codificación, como ya hemos comentado antes, de objetos de imágenes y video con escalabilidad tanto espacial como temporal, ambas tanto en objetos de forma rectangular como de forma arbitraria. La escalabilidad se refiere a la habilidad de solo decodificar una parte del flujo de datos y reconstruir imágenes o secuencias de imágenes con: • Complejidad del decodificador reducida así como calidad reducida también.(útil para accesos de red lentos) • Resolución espacial reducida. • Resolución temporal reducida. • Con igual resolución espacial y temporal, pero con calidad reducida. Esta funcionalidades útil para la codificación progresiva de imágenes y video enviadas a través de redes heterogénea, así como en terminales cuya aplicación no es capaz de reproducir o mostrar la entera resolución o calidad de las imágenes o secuencias de video. Esto puede ocurrir por ejemplo cuando la potencia del procesador o la resolución del adaptador de video es limitado. 20 Descripción técnica detallada del audio en MPEG−4. La codificación ofrecen de los objetos de audio en MPEG−4 ofrece herramientas para ambos tipos de sonido, 11 el sonido natural (por ejemplo voz o música) y el sintetizado. La representación del sonido sintetizado incluye también parámetros para la realización de efectos tales como la reverberación o el eco. Estas representaciones del audio presentan además funciones de compresión, escalabilidad y procesamiento de efectos. Las herramientas de audio de MPEG−4 de 6Kbit/s a 24Kbit/s han sido sometidas a tests de verificación para aplicaciones de difusión de audio en AM en colaboración con el consorcio NADIB (difusión digital de banda estrecha). Con la intención de encontrar un formato de difusión de audio digital que pueda aportar mejoras sobre los servicios existentes de modulación en AM, varios configuraciones de codecs incluyendo el MPEG−4 CELP, Twin VQ y AAC Tools se han comparado con el sistema de referencia AM(mas abajo se explican estos algoritmos). Se descubrió que se podía conseguir una calidad mayor en el mismo ancho de banda con técnicas digitales y que las configuraciones escalables del codificador ofrecían un rendimiento superior a la alternativa simulcast. Tests de verificación se llevaron a cabo por MPEG, en las cuales las herramientas de codificación para voz y audio en general, se compararon con los estándares existentes. 10.1 Sonido natural. MPEG−4 estandariza la codificación de audio natural en ratios de bit comprendidos entre los 2Kbit/s hasta por encima de 64Kbit/s. Cuando se permite la codificación con ratios variables, como una codificación menor de 2Kbit/s, como un ratio de bit medio de1.2Kbit/s , también se soporta. La presencia del estándar MPEG−2 AAC dentro del grupo de herramientas de MPEG−4 ofrece una compresión generalizada para audio en el rango superior en ratios de bit. Para esto, MPEG−4 define la sintaxis del flujos de bits y los procesos de decodificación en términos de un conjunto de herramientas. De manera que se pueda conseguir la mayor calidad de audio con el mayor rango de ratios de bit y al mismo tiempo ofrecer funciones extra, las técnicas de codificación de voz y audio en general se integran dentro del mismo sistema: • La codificación de voz con ratios de bit entre 2 y 24Kbit/s es realizada usando el Codificación por excitación del vector de armónicos (HVXC), recomendado para ratios entre 2 − 4Kbit/s y la predicción linear excitada de código (CELP) para ratios de 4 − 24Kbit/s. HVXC puede trabajar por debajo de estos ratios en una media de 1.2Kbit/s en su modo de bit rate variable. En la codificación CELP dos ratios de sampleado de 8 y 16 Khz, son los utilizados para trabajar con voz de banda estrecha y banda ancha respectivamente. Los siguientes modos de operación han sido sometidos a pruebas de verificación: HVXC a 2 y 4Kbit/s, CELP en banda estrecha en 6, 8.3, y 12 Kbit/s , y en banda ancha a 18Kbit/s . También han sido probadas varias de las configuraciones de escalabilidad. • Para la codificación de audio en general en ratios de 6 Kbit/s y superiores, las técnicas de codificación de transformación, llamadas TwinVQ y AAC, son las que se aplican. Las señales de audio en esta región son típicamente sampleadas a frecuencias a partir de los ( Khz. Para conseguir una cobertura óptima de los ratios de bit y permitir una ancho de banda y un bit rate escalable, ha sido definido un sistema tal y como se muestra en la siguiente figura. 12 Diagrama general de bloque del audio en MPEG−4 Empezando con un codificador trabajando a bajos ratios de bit, e implementado un mejor codificador de audio en general, ambos, la calidad y el ancho de banda del audio codificado pueden ser mejorados. Los sistemas de capas (layers) de MPEG−4 permiten que los codecs existentes del MPEG estándar, se han diseñado para trabajar de forma independiente, cada uno con su propia sintaxis para el flujo de bits. Las funciones adicionales, son realizadas por ambos codificadores y por herramientas adicionales a ellos. Un ejemplo de dicha función de un codificador individual es la velocidad del cambio de tono en el sistema HVXC. 21 Cualidades adicionales del audio en MPEG−4 Robustez ante error. La herramienta de robustez ante error ofrece un rendimiento mejorado en canales de transmisión propensos a error. Estas se herramientas se pueden dividir en, Herramientas de vigilancia de error y herramientas de protección ante errores comunes. La robustez de error mejorada para AAC esta compuesta por un conjunto de herramientas de vigilancia de error. Estas herramientas reducen el deterioramiento percibido del audio decodificado que es causa debido a los bit corruptos del flujo de bits. Las siguientes herramientas mejoran la robustez de error para varia partes de un AAC frame: • Herramienta de codebook (libro de códigos) virtual. • Herramienta de codificación de longitud variable reversible (RVLC). • Herramienta de reordenación de código de palabras Huffman (HCR). Las habilidades de robustez de error mejorada para todas las herramientas de codificación se ofrecen a través de sintaxis como una carga en el flujo de bits de vigilancia de error. Es esto lo que permita técnicas de codificación de canal avanzadas, las cuales se pueden adaptar a las necesidades especiales de cada una de las diferentes herramientas de codificación. La herramienta de protección de error (EP tool) tiene las siguientes características: • ofrece una serie de códigos de detección / corrección de errores con gran escalabilidad en redundancia y rendimiento. • Ofrece un sistema de protección de error genérico y eficiente en banda que cubre tanto los flujos de bit de longitud fija como los de longitud variable. • Ofrece control de configuración de desigual protección de error(UEP). MPEG−4 además una clasificación de sensibilidad de error a cada flujo de bits aplicando a cada uno un mayor grado de protección de errores según convenga. Codificación de audio de bajo retardo. Mientras que el codificador de audio en general de MPEG−4 ofrece una codificación eficiente para señales de audio en general a bajos ratios de bit, tiene un algoritmo de codificación / decodificación con un retraso de hasta 100 ms, que no es apropiado para aplicaciones de bajo retardo, como las de comunicaciones bi−direccionales en tiempo real. Como un ejemplo, para la codificación de audio general a 24 KHz y 24 Kbit/s, esto nos lleva a un retraso de 110 ms más 210 ms para el uso del depósito de los bits. Para permitir un codificación de audio en general con u retraso menor de 20 ms, MPEG−4 define un codificador de audio de 13 bajo retardo que se deriva del la codificación avanzada de audio (AAC) de MPEG−2/4. Para ello se realiza entre otras cosas un tiempo menor en el deposito de bits, y en casos extremos no se realiza dicho depósito. 22 CELP Compresión de silencio La herramienta de compresión de silencio reduce el ratio medio de bit gracias a una menor compresión del ratio de bits debido al silencio. En el decodificador, se usa un detector de actividad de voz para distinguir las regiones con un actividad normal de voz y aquellas que solo contienen el ruido de fondo. Durante la actividad de voz, el CELP actúa normalmente, en el otro caso el descriptor de inserción de silencio (SID) se transmite a una menor tasa de bits. 23 Etorno espacial Las herramientas de entorno espacial permiten las composición de una escena sonora con una fuente de sonido mucho mas natural y un modelado de sonido envolvente. Ambas, una aproximación física y perceptiva son soportadas por MPEG−4 audio, la aproximación física está basad en la descripción de las cualidades acústicas del entorno(por ejemplo la geometría de la sala, las propiedades de los materiales, posición de fuente de sonido etc.) y se puede utilizar para aplicaciones basadas en 3D, como la realidad virtual. Por otro lado la aproximación perceptiva permite un mayor nivel de descripción del audio de dicha escena y está basada en los parámetros tales como puede ser la reverberación. De esta manera se puede componer tanto el audio y la escena visual se pueden componer de manera separada como es usual en las aplicaciones como puede ser un editor de películas. 10.8 Canal de retorno. El canal de retorno permite al cliente formular peticiones al servidor. De esta manera se consigue la interactividad. En el sistema MPEG−4, la necesidad de un canal de subida es necesaria para que el cliente pueda enviar los parámetro básico del flujo que recibe. Este canal de subida se abre de manera similar que los de bajada, en este caso utilizando como salida el codificador del cliente. En audio este canal sirve como realimentación para el servidor y se puede ajustar así el ratio de bits, la escalabilidad y la adaptación de la protección de error, según necesidades. 13 14