Transcodificación de audio/vídeo para electrónica de consumo

Imprimir PDF

Transcodificacion1En los últimos años, la forma en que los consumidores acceden a contenidos de audio/vídeo (AV) ha cambiado. En lugar de usar dispositivos independientes para datos (PC a través de módem), voz (teléfono) y vídeo (reproductores DVD), utilizan dispositivos integrados más modernos que proporcionan los tres servicios y admiten aplicaciones como p. ej. juegos multijugador y vídeo bajo demanda (VOD), etc.

Adicionalmente, muchos dispositivos portátiles, p. ej. reproductores multimedia y asistentes personales de datos (PDAs) ofrecen actualmente un amplio abanico de servicios y aplicaciones tales como MPEG-2, MPEG-4 Simple Profile (SP), H.264, VC-1, On2 y DivX.

También se utilizan las redes de Internet y de telefonía móvil para acceder y visualizar contenidos audiovisuales en cualquier lugar de la casa. El consumidor desea poder pasar fácilmente los contenidos audiovisuales de un dispositivo a otro y de una ubicación a otra, de manera rentable y en tiempo real (o más rápido). Para ello ha de ser posible intercambiar contenidos almacenados o visualizados entre los dispositivos situados en el interior de la casa, o fuera de la misma con el fin de que puedan ser vistos en dispositivos alternativos, a diferentes horas e incluso por diferentes consumidores.
Para ello, es necesario disponer de dispositivos flexibles capaces de proporcionar tres funciones primordiales:

1.    Capacidad de formato de contenedor adaptable – para crear el formato de contenedor deseado admitido por el dispositivo cliente que efectúa la reproducción de audio/vídeo.
2.    Capacidad de protocolo de red adaptable – para posibilitar la compatibilidad de protocolos y modos de transmisión/recepción entre los diferentes dispositivos y garantizar una entrega precisa/fiable de los contenidos audiovisuales entre los dispositivos.
3.    Transcodificación – para resolver incompatibilidades en los formatos de compresión, resoluciones de visualización, capacidad de memoria y potencia de procesamiento de los diferentes dispositivos.

En este artículo se presentan estas importantes funciones y el modo en que pueden implementarse con un único “sistema en chip” (SOC), como la familia de procesadores DaVinci de Texas Instruments (TI).


Cliente/servidor de AV multimedia
Los procesos de una aplicación audiovisual típica de cliente y servidor son o bien deterministas (p. ej., Ethernet, USB, FLASH, AV Demux, AV Mux) o no deterministas (p. ej., captura/visualización de vídeo, captura/reproducción de audio, decodificación/codificación de vídeo/audio). Los procesos no deterministas son aperiódicos, y los procesos deterministas son periódicos. Desde el punto de vista de la arquitectura, los procesos no deterministas y deterministas no deberían mezclarse. Lo ideal es que un procesador host trate los procesos no deterministas con un procesador digital de señal (DSP) que actúe de coprocesador y lleve a cabo las operaciones deterministas más intensivas informáticamente hablando).


Con esta arquitectura se consigue un alto rendimiento general del sistema, ya que se evita que los procesos no deterministas interrumpan los procesos del DSP. Esta arquitectura se hace aún más atractiva cuanto más procesamiento se requiere, sobre todo en el caso de aplicaciones de alta definición o cuando es necesaria la codificación de vídeo. Para reforzar esta arquitectura, TI ha desarrollado la familia de DSPs DaVinci. La figura 1 muestra el dispositivo DM6446 de la familia DaVinci, con un ARM926 y un DSP C64x.


En el SOC DaVinci, el DSP interno se encarga de los procesos deterministas, de modo que el ARM queda libre para el tratamiento de los procesos no deterministas. Aquí, la arquitectura flexible del DSP implementa el funcionamiento del transcodificador y proporciona una extraordinaria relación precio-rendimiento. Al realizar la tarea algorítmicamente compleja de admitir diferentes formatos de compresión, el DSP permite la capacidad de programación necesaria para adaptarse a futuros formatos de compresión y actualizaciones del software.


Protocolos de red adaptables

Aunque HTTP es el protocolo de red más popular para Internet, no es del todo adecuado para transferir contenidos temporales referenciados mediante un índice de tiempo o de fotograma. RTSP, en cambio, tiene diversos estados de funcionamiento y puede procesar contenidos audiovisuales con índices de tiempo y de fotogramas.
Una vez establecida la conexión audiovisual, el protocolo RTSP pasa a través de distintos estados a medida que el cliente realiza solicitudes para REPRODUCIR (PLAY), PAUSAR (PAUSE), DETENER (STOP) y CERRAR (CLOSE) la sesión. Aunque RTSP tiene una mayor capacidad para transmitir contenido audiovisual que HTTP, es más complejo, especialmente si se consideran los diferentes modos que puede admitir. El modo entrelazado de funcionamiento es un ejemplo de modo de RTSP, mediante el cual el archivo puede enviarse sin tener que analizarlo y sin que sea necesario abrir ningún socket RTP/RTCP.


Para ayudar a resolver problemas de compatibilidad en los protocolos de red, la Digital Living Network Alliance (DLNA) ha establecido un conjunto de pautas comunes. Por ejemplo, todos los productos compatibles con DLNA deben admitir HTTP y un conjunto determinado de extensiones, de modo que haya un protocolo común para la transferencia de contenido audiovisual entre clientes y servidores. Adicionalmente, la DLNA ha creado extensiones a HTTP para permitir un tipo de funcionamiento RTSP sin la complejidad de la implementación de ataque de RTSP.


Transcodificacion2Formatos de contenedor adaptables

Existen muchos formatos de contenedor diferentes para medios streaming audiovisuales. Los más populares, p. ej., Audio Video Interleaved (AVI) y Advanced Systems Format (ASF) de Microsoft, MPEG-2 Transport Stream (TS) y Program Stream (PS), y el formato de archivo MPEG-4 (MP4), proporcionan cierto nivel de soporte de metadatos, así como la capacidad de almacenar medios audiovisuales.
Una característica distintiva entre los formatos de contenedor es el tratamiento de los metadatos. Por ejemplo, el formato MP4 es bueno para separar los datos comprimidos de los metadatos. Permite una transmisión muy eficaz y fiable cuando se envía información crítica de sincronización y parámetros de flujo de bits (los cuales se encuentran normalmente en los encabezados de ES) de forma independiente de los fotogramas comprimidos. Generalmente, los formatos de contenedor utilizados en aplicaciones de PC suelen ser formatos propietarios como AVI, ASF, y Flash Video (FLV) de Adobe, mientras que los utilizados en decodificadores de televisión (Set Top Box, STB) y DVD (TS y PS) suelen ser formatos basados en estándares. Sin embargo, el método de flujo de Internet MPEG-4 y el formato de archivo MP4 suelen utilizarse a menudo en los dispositivos portátiles.


Transcodificación

Informáticamente hablando, la transcodificación es la función más intensiva. Para la transcodificación de contenidos de alta definición hace falta mucho más que un procesador host típico. Esto se debe a la inmensa capacidad de procesamiento requerida para la decodificación y la codificación de un flujo de bits de alta definición. Además, la transcodificación implica un gran trabajo algorítmico, que se realiza a expensas de una complejidad informática adicional. Esto provoca una pérdida global de la calidad de imagen.
La complejidad informática se debe a que el codificador tiene que realizar una búsqueda completa de movimiento durante el proceso de estimación del movimiento, ya que no conoce los vectores de movimiento utilizados en el proceso de decodificación. La pérdida de calidad de imagen se produce principalmente por la asignación inadecuada de tipos de fotogramas y macrobloques entre el decodificador y el codificador. En especial, si el codificador realiza una codificación intra (I) fotograma en un fotograma decodificado como fotograma bidireccional (B). En este caso, se utilizará un fotograma B como referencia o un fotograma predictivo (P) para fotogramas pasados y futuros del codificador, propagando errores futuros.
Durante la transcodificación, al pasar información sobre cada tipo de fotograma (I, P, B), los modos de macrobloques y los vectores de movimiento del decodificador al codificador pueden resultar muy beneficiosos. Si existe una reducción en la velocidad de los fotogramas, p. ej. de 30 fps a 15 fps, el hecho de conocer dónde se encuentran los fotogramas B en la fuente original puede suponer una reducción sustancial del procesamiento. Como los fotogramas B no se utilizan como fotograma de referencia, sencillamente pueden eliminarse del flujo de bits para llegar a la velocidad más baja, sin que sea necesario un procesamiento adicional por parte del codificador.

 

Transcodificacion3El conocimiento del vector de movimiento de cada macrobloque en el flujo de bits de alta definición puede suponer una inmensa reducción del procesamiento por parte del proceso de codificación de un transcodificador. El proceso de búsqueda de movimiento de cualquier codificador es la tarea informática más intensiva. Por ello, el conocimiento de la proximidad general del vector de movimiento de cada macrobloque de la fuente original reduce considerablemente la cantidad de cálculos necesarios. La búsqueda de movimiento del transcodificador se hace más refinada, es decir, el sistema se centra en torno a un punto de referencia conocido, en lugar de realizar una búsqueda masiva en un plano de imagen muy grande. La cuestión aquí es que un codificador de difusión de alta definición requiere una extraordinaria cantidad de procesamiento y memoria para lograr un conjunto de parámetros óptimo para cada fotograma y macrobloque de la secuencia, a menudo realizando múltiples pases del proceso de codificación para cada fotograma. Pasar por alto esta información es poco sabio y carga al transcodificador con una inmensa cantidad de procesamiento adicional innecesario, lo que a veces provoca un aumento de los artefactos y reduce la calidad de imagen. Al acoplar el decodificador estrechamente con el codificador se reduce la complejidad y se consigue una solución óptima. La figura 2 muestra un ejemplo de una solución acoplada.


El decodificador proporciona tipos de fotogramas, tipos y modos de macrobloques, vectores de movimiento, niveles cuánticos y parámetros de velocidad en bits al codificador para garantizar mejores decisiones sobre el flujo de bits transcodificado que éste crea. Aunque el codificador ha de realizar una codificación completa de los datos, muchos de los módulos tienen una menor complejidad debido a la información proporcionada a priori por el decodificador. Esto se hace especialmente patente en el proceso de estimación del movimiento, que es más un reajuste que una búsqueda intensiva. Si existe un cambio en el tamaño de imagen, el escalado de la imagen puede crear los tamaños de fotograma adecuados antes de pasar el fotograma al codificador, reduciendo así la memoria necesaria en el sistema y minimizando el coste global del transcodificador.


Solución de transcodificador DaVinci

Está claro que para los diferentes protocolos de red y formatos de contenedor se necesita un coprocesador para transcodificar los diferentes códecs que existen actualmente, como p. ej. MPEG-2, H.264 y VC-1. La arquitectura DaVinci es ideal para esta tarea. La figura 3 muestra un ejemplo de un grabador de DVD con un transcodificador que recibe contenidos comprimidos del STB, que proporciona contenidos transcodificados y que además es capaz de decodificar el vídeo que debe ser mostrado por el hardware del STB utilizando PIP (imagen en imagen).


Esta aplicación, en primer lugar, necesita tan sólo la funcionalidad de transcodificación. Sin embargo, con otros dispositivos domésticos conectados en red, el procesador host DaVinci puede utilizarse para el tratamiento de los protocolos de red y formatos de contenedor, mientras que el DSP funciona como un coprocesador para proporcionar la operación de transcodificación, reduciendo así el coste global del sistema y ofreciendo a la vez una solución multimedia adaptable para el hogar.


Autor:

Tim Simerly, Arquitecto de sistemas de vídeo, Texas Instruments


Más información o presupuesto

Seleccion de Idioma

Español
banner
banner

Boletin de noticias

Menu Principal

Banner
facebook
logo_twitter
logo_linkedin_88x22