Abstract
Este trabajo fin de grado realizado en el Grupo de Diseño electrónico y Microlectrónico (GDEM), se enmarca en el ámbito de la codificación y descodificación de vídeo digital. La limitación en el ancho de banda de transmisión para una secuencia de vídeo ha derivado, inevitablemente, en el diseño e implementación de nuevos estándares de vídeo caracterizados por una mayor tasa de comprensión. Dicho incremento, traducido en una mayor complejidad en los extremos de codificación y descodificiación, ha dado lugar al diseño e implementación de nuevos descodificadores sobre dispositivos con mayor potencia computacional. Con el fin de aumentar la eficacia, recientemente se introdujo el uso de las plataformas heterogéneas, las cuales son capaces de obtener un rendimiento considerable gracias al uso de los diferentes tipos de procesadores que integran. Durante la realización de este proyecto, se realiza la implementación de un descodificador de vídeo bajo el estándar HEVC sobre un dispositivo heterogéneo. Esta implementación fija los dos principales objetivos de este Proyecto Fin de Grado. En primer lugar, llevar a cabo una metodología que siente las bases de uso de un descodificador de vídeo HEVC sobre una plataforma heterogénea. En segundo lugar, realizar el proceso de migración de una de las etapas utilizadas por el descodificador, encargada de realizar las transformadas, a una Graphic Processing Unit (GPU), caracterizada por su capacidad para la realización de cálculos de baja complejidad con un alto grado de paralelización. El software OpenHEVC en su versión AMT_dev es el punto de partida para este trabajo. Este descodificador, basado en el standar HEVC, incluye las transformadas AMT del próximo estándar VVC, cuya primera versión se espera para el año 2020. Con el objetivo de utilizar este descodificador en una plataforma heterogénea, se realizan ciertas modificaciones sobre su estructura de compilación. Seguidamente, se implementan diferentes metodologías para el migrado de las transformadas AMT sobre la GPU. Por último, una vez realizados los procesos de compatibilización de OpenHEVC sobre la plataforma heterogénea y del migrado de las transformadas AMT sobre la GPU, se realiza un análisis sobre los tiempos obtenidos en la descodificación. Por lo que respecta al procesamiento de la GPU, dado su alto grado de paralelización, los resultados reflejan un rendimiento muy superior respecto a los obtenidos con la CPU para el cálculo de las transformadas. A pesar de ello, los tiempos totales empleados por la GPU resultan significativamente más altos, debido, entre otros factores, a la transferencia de datos entre las memorias o la sincronización de hilos. No obstante, es de esperar que el uso de futuros estándares de vídeo con mayor complejidad obtengan un mayor partido de las ventajas que aporta este tipo de implementación.
Abstract:
This Final Degree Project, carried out in the Electronic and Microelectronic Design Group (GDEM), situated within the fiel of digital video coding and decoding. The limitation in the transmission band with for a video sequence has inevitably led to the design and implementation of new video standars characterized by a higher compression rate. This increase results in greater complexity at both coding and decoding extremes, which has led to the design and implementation of new decoders on devides with greater computational power. In order to increase efficiency, the use of heterogeneous platforms was recently introduced, which are able to obtain a considerable performance thanks to the use of the different types of processors that they integrate. During the realization of this project, the implementarion of an HEVC video decoder is performed on a heterogeneous device. This implementation sets the two main objetives of this Final Degree Project. In the first place, to carry out a methodology that settles the bases of use of an HEVC video decoder on a heterogenous platform. Secondly, carry out the process of migration from Processing Unit (GPU), characterized by its ability to perfom low complexity calculations with a high degree of parallelization. The OpenHEVC software in its AMT_dev version is the starting point for this work. This decoder, based on the HEVC satandard, includes the AMT transforms of the next VVC standard, whose first version is expected by 2020. In order to use this decoder in a heterogeneous platform, certain modifications are made to its compilation structure. Next, different methodologies are implmented for migrating the AMT transforms on the GPU. Finally, once the OpenHEVC compatibilization processes on the heterogeneous platform and the migration of the AMT transforms on the GPU are performed, an analysis is performed on the decoding times. Regarding processing in the GPU, given its high degree of parallelization, the results reflect a mucha higher performance than those obtained with the CPU for the calculation of the transforms. Despite this, the total times spent by the GPU are significantly higher, due, among several factors, to the transfer of data between the memories or to the synchronization of threads. However, it is expected that the use of future video standards with greater complexity will take greater advantage of the benefits provided by this type of implementation.