Tesis:

Contribución a las Metodologías de Optimización del Tiempo de Ejecución de Algoritmos de Descodificación de Video sobre DSPs.


  • Autor: PESCADOR DEL OSO, Fernando

  • Título: Contribución a las Metodologías de Optimización del Tiempo de Ejecución de Algoritmos de Descodificación de Video sobre DSPs.

  • Fecha: 2011

  • Materia: Sin materia definida

  • Escuela: E.U.I.T. TELECOMUNICACION

  • Departamentos: SISTEMAS ELECTRONICOS Y DE CONTROL

  • Acceso electrónico: http://oa.upm.es/8712/

  • Director/a 1º: SANZ ALVARO, César
  • Director/a 2º: GARRIDO GONZALEZ, Matías Javier

  • Resumen: La presente tesis se enmarca dentro de las líneas de investigación que desarrolla el Grupo de Diseño Electrónico y Microelectrónico de la Universidad Politécnica de Madrid centradas en la codificación y descodificación de vídeo. Dentro de esta línea de actividad se han desarrollado previamente tesis en las que se ha investigado en arquitecturas hardware orientadas a la codificación de vídeo digital. Sin embargo, la constante aparición de nuevos estándares de codificación de vídeo y el tiempo requerido para poder realizar implementaciones empleando arquitecturas hardware específicas, hacen que sea necesario plantearse otras soluciones tecnológicas más flexibles, en las que además se reduzca el tiempo de desarrollo (time to market) de las aplicaciones. En este sentido, la aparición en el mercado de los denominados procesadores multimedia, compuestos de un procesador digital de señal (DSP) y una serie de periféricos orientados a las aplicaciones de vídeo, supone una alternativa tecnológica interesante debido fundamentalmente a su flexibilidad. En la mayoría de los casos, el diseño de codificadores y descodificadores basados en DSP toma como punto de partida un código de referencia, pensado para ser ejecutado en un ordenador personal. Este código se porta al DSP y se optimiza en velocidad hasta alcanzar el funcionamiento en tiempo real. Aunque en los últimos años se han publicado gran cantidad de trabajos en los que se describen técnicas de optimización en velocidad para codificadores y descodificadores sobre tecnología DSP, no se han encontrado publicaciones en las que se describan metodologías de trabajo que tengan en cuenta el proceso completo y que ayuden a llevarlo a cabo de manera más eficiente. Investigar en una metodología que permita abordar todas las etapas del diseño y desarrollo de un sistema completo de codificación/descodificación de televisión digital sobre procesadores digitales de señal ha sido el principal objetivo de esta tesis. Con objeto de darle la mayor generalidad posible, la metodología se ha elaborado a partir de los datos recopilados en varias implementaciones de descodificadores compatibles con un conjunto de estándares y utilizando diferentes DSPs. Aunque en los experimentos sólo se han implementado descodificadores, la metodología puede ser también de utilidad en el diseño de codificadores, dado que en gran medida se utilizan algoritmos similares. La investigación realizada para proponer esta metodología se ha llevado a cabo en las cuatro fases que se resumen a continuación. En primer lugar, se ha llevado a cabo un estudio de los estándares de codificación MPEG-2, MPEG-4 y H.264 desde el punto de vista de las herramientas que emplean. Este estudio ha permitido constatar las similitudes existentes entre ellos, lo que facilita que las metodologías de optimización definidas en esta tesis, sean aplicables a todos ellos. En segundo lugar, se ha realizado un análisis exhaustivo del estado del arte en dos campos clave para el desarrollo de la tesis: los DSPs de última generación y las técnicas de optimización de codificadores y descodificadores de vídeo basados en DSP. Como resultado de este análisis se ha comprobado que la arquitectura interna de todos los DSPs existentes actualmente en el mercado es similar, lo que facilita que los métodos de optimización que se han validado para alguno de ellos sean aplicables para el resto. Por otro lado, se han recopilado gran cantidad de trabajos en los que se describen técnicas de optimización en velocidad para codificadores y descodificadores de vídeo sobre tecnología DSP. Sin embargo, como se ha mencionado antes, no se han encontrado publicaciones en las que se describan metodologías generales de trabajo. En tercer lugar, se han implementado tres descodificadores de vídeo compatibles con los estándares MPEG-2, MPEG-4 y H.264 empleando los procesadores de señal TMS320DM642 y TMS320DM6437. En cada una de estas implementaciones, se han utilizado una serie de técnicas de optimización para reducir el tiempo de ejecución. Con ellas se ha logrado en todos los casos el funcionamiento en tiempo real para los tres estándares empleando secuencias de vídeo de definición estándar (SD); mejorando en muchos casos las prestaciones de los descodificadores que pueden encontrarse en la literatura científica. Estás técnicas se han clasificado en tres grupos: las relacionadas con la gestión del código y los datos en los diferentes niveles de memoria, las relativas al movimiento de datos entre memoria interna y memoria externa y las que permiten aprovechar la arquitectura SIMD de los DSPs. Para cada técnica de optimización empleada en cada implementación se ha generado una ficha en la que se describe su aplicación y se razona su posible generalización en la optimización de descodificadores compatibles con otros estándares o en implementaciones con diferentes DSPs. En cuarto lugar, con objeto de realizar pruebas de funcionamiento con emisiones de televisión reales, se ha desarrollado íntegramente dentro del marco de esta tesis un sistema completo de recepción de televisión digital vía IP (Set Top Box IP). Esta plataforma ha permitido completar la metodología de optimización con algunas recomendaciones que afectan a la realización de un sistema completo. Para llevar a cabo este Set Top Box IP se ha diseñado una tarjeta de prototipado basada en el procesador TMS320DM642 y se ha empleado otra tarjeta comercial basada en el TMS320DM6437. Como conclusión, a partir de la información recopilada en los experimentos antes mencionados, se ha sintetizado una metodología de optimización de algoritmos de codificación/descodificación de vídeo para procesadores digitales de señal. Esta metodología se basa en una serie de recomendaciones que deben aplicarse de forma secuencial para mejorar las prestaciones de los codificadores/descodificadores. Si bien algunas de las técnicas de optimización que se han utilizado en la tesis aparecen de forma dispersa en diferentes publicaciones, hasta el momento no se ha encontrado en la literatura científica una metodología de diseño que unifique la aplicación de esas técnicas, desde el portado del código de referencia al DSP, hasta la implementación de un sistema completo. La adopción de esta metodología en futuros diseños permitirá reducir de forma sustancial el tiempo necesario para implementar codificadores/descodificadores basados en DSPs.