Integration of new parallelization techniques with OpenMP over a Versatile Video Coding and OpenHEVC last-generation video decoder

Medina Morillas, Rafael (2019). Integration of new parallelization techniques with OpenMP over a Versatile Video Coding and OpenHEVC last-generation video decoder. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Integration of new parallelization techniques with OpenMP over a Versatile Video Coding and OpenHEVC last-generation video decoder
Author/s:
  • Medina Morillas, Rafael
Contributor/s:
  • Chavarrías Lapastora, Miguel
  • Garrido González, Matías J.
Item Type: Final Project
Degree: Grado en Ingeniería Electrónica de Comunicaciones
Date: 17 July 2019
Subjects:
Freetext Keywords: Descodificación
Faculty: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Department: Ingeniería Telemática y Electrónica
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) | Preview

Abstract

El auge del vídeo bajo demanda y el constante crecimiento de las resoluciones de vídeo más´allá de HD (2K, 4K, 8K...) han originado la necesidad de algoritmos de compresión más eficientes que el implementado en el último estándar de vídeo High Versatile Video Coding (HEVC). De esta manera, en 2018 comenzó la elaboración de la nueva propuesta de estándar Versatile Video Coding (VVC). Esta tecnología mejorará varios aspectos del proceso de descodificación HEVC a cambio de un aumento en el coste de computación. Este proyecto ha consistido en el desarrollo de un descodificador VVC software que implementase métodos de paralelización de alto nivel, compatible con varios tipos de arquitecturas de procesador y plataformas. El descodificador se ha elaborado a partir del software de código abierto OpenHEVC, un descodificador HEVC desarrollado principalmente por el grupo IETR de INSA-Rennes, y solo se ha integrado la funcionalidad Adaptive Multiple Transform (AMT) de VVC. Las técnicas de paralelización se han implementado mediante la API OpenMP, la cual permite una gestión de hilos de alto nivel y es compatible con un gran número de plataformas. El desarrollo del proyecto se ha dividido en tres partes. En primer lugar, se han sustituido las instrucciones POSIX presentes en OpenHEVC por las propias de OpenMP. Después, se ha implementado la gestión de las distintas estrategias de paralelización (frame, slice y una combinación de ambas) mediante las directivas apropiadas de OpenMP. Finalmente se han eliminado las optimizaciones con AVX2 (compatibles solo con procesadores x86), empleadas en la versión elegida de OpenHEVC, para que el descodificador fuera compatible con arquitecturas ARM. Tras lograr el correcto funcionamiento del descodificador, se ha realizado una serie de pruebas para caracterizar el producto desarrollado y el uso de las AMTs. De esta forma, se ha medido la velocidad de descodificación y la aceleración conseguida al paralelizar distintas versiones de OpenHEVC. También se ha medido el coste de computación y el número de llamadas de cada transformada en el proceso de descodificación. Gracias a los resultados obtenidos se ha comprobado que las versiones que utilizan paralelización con OpenMP generalmente alcanzan velocidades similares o superiores a las que usan instrucciones POSIX. Del mismo modo, se ha confirmado que el uso de AMT permite alcanzar una mayor compresión que utilizando las transformadas de HEVC, con la desventaja de un mayor coste de computación. Respecto al análisis de las AMTs, se ha detallado la distribución del coste y el número de llamadas de cada transformada y se ha comparado según diferentes parámetros. Finalmente, los resultados obtenidos apoyan la decisión realizada en las últimas versiones de VVC de sustituir las AMTs por el sistema Multiple Transform Selection (MTS). Abstract: The popularization of beyond-HD video resolutions (2K, 4K, 8K...) and the increase of videoon- demand consumption have motivated the pursuit for higher compression rates beyond the one achieved with current coding standard High Efficiency Video Coding (HEVC). Consequently, the elaboration of the new standard proposal Versatile Video Coding (VVC) started in 2018. This technology will improve several aspects of the HEVC decoding process at the expense of increasing the computational cost. This project consisted in the creation of a software VVC decoder implementing high level parallelization techniques and compatible with a number of processor architectures and platforms. The decoder was based on the open-source OpenHEVC software, an HEVC decoder mainly developed by the INSA-Rennes IETR group, and it only included the Adaptive Multiple Transform (AMT) function of VVC. The parallelization techniques were implemented with the API OpenMP, which allowed for a high level thread management and extensive platform compatibility. The development of the project comprised three aspects. First, POSIX instructions in Open-HEVC were substituted by OpenMP ones. Second, management of the different parallelism strategies (frame, slice and both combined) was implemented with the OpenMP parallel directives. Finally, AVX2 optimizations (only compatible with x86 processors), which were employed in the chosen version of OpenHEVC, were removed for allowing compatibility over ARM architectures. After the successful integration of the decoder, a series of tests were performed in order to characterize both the developed solution and the use of AMTs. Consequently, the performance and parallelism acceleration of various OpenHEVC versions were measured, as well as the computing cost and number of calls of each transform in the decoding process. The obtained test results showed that OpenMP parallelization generally achieved similar or better performance than the POSIX approach. Moreover, the use of AMT was confirmed to attain higher compression rates than HEVC transforms at a greater computational cost. Regarding the AMT analysis, the distribution of time consumption and number of calls was detailed and compared in terms of different parameters. Ultimately, the decision of using Multiple Transform Selection (MTS) instead of AMT, made in the latest VVC versions, was supported by the results obtained in this project.

More information

Item ID: 63411
DC Identifier: http://oa.upm.es/63411/
OAI Identifier: oai:oa.upm.es:63411
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 03 Aug 2020 20:25
Last Modified: 03 Aug 2020 20:25
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM