Diseño y verificación de la transformada inversa de un descodificador HEVC en una plataforma heterogénea

Parra Díaz, Braulio (2019). Diseño y verificación de la transformada inversa de un descodificador HEVC en una plataforma heterogénea. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Diseño y verificación de la transformada inversa de un descodificador HEVC en una plataforma heterogénea
Author/s:
  • Parra Díaz, Braulio
Contributor/s:
  • Juárez Martínez, Eduardo
Item Type: Final Project
Degree: Grado en Ingeniería Electrónica de Comunicaciones
Date: June 2019
Subjects:
Freetext Keywords: Plataformas heterogéneas; Codificación; Vídeo digital
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 (5MB) | Preview

Abstract

En nuestros días, los desarrollos de aplicaciones multimedia requieren unidades de procesamiento cada vez más potentes o incluso la interacción de diferentes tipos de estas. Al sistema que incluye diferentes tipos de unidades de procesamiento o hardware se le denomina plataforma heterogénea. Las plataformas heterogéneas pueden tener diferentes combinaciones de unidades de procesamiento. Por ejemplo, pueden combinar distintos tipos de CPU (Central Processing Unit) solamente, CPUs con otros tipos de unidades de procesamiento más especializado, como GPUs (Graphics Processing Unit) o DSPs (Digital Signal Processor). También puede haber plataformas heterogéneas que combinen distintas unidades de procesamiento con hardware, como FPGAs (Field Progammable Gate Array) o diferentes tipos de periféricos. Dentro de las plataformas heterogéneas existe un tipo denominado SoC (System-on-Chip) que incluye todas las unidades en un solo integrado, como su propio nombre indica. Para diseñar un sistema sobre este tipo de integrados es necesario conocer su funcionamiento a fondo, lo que conlleva un largo periodo de aprendizaje por parte del diseñador. Con el propósito de evitar al diseñador el costoso periodo de aprendizaje, se ha desarrollado este Proyecto Fin de Grado. En este Proyecto se utilizan herramientas de alto nivel para ejecutar redes de actores diseñadas en RVC-CAL sobre una plataforma heterogénea compuesta por un procesador y una FPGA. También se ha desarrollado una metodología de trabajo que ayudará a verificar si el diseño se ejecuta correctamente sobre la plataforma heterogénea. En la presente Memoria se expondrá todo el desarrollo del Proyecto Fin de Grado. Primero se explicarán las motivaciones que han llevado a la ejecución del Proyecto y los objetivos que se esperan obtener a la finalización del mismo. Acto seguido, en los antecedentes, se expondrá el estado del arte para: (1) los estándares de codificación de video, concretando en el usado en este Proyecto (HEVC); (2) el lenguaje orientado al flujo de datos utilizado, y (3) las plataformas heterogéneas, profundizando más en la que se ha utilizado en el Proyecto (Zedboard). Después de los antecedentes, se explican las herramientas software de alto nivel usadas en el Proyecto. Se utiliza una red de actores sencilla para describir el funcionamiento de las herramientas de alto nivel y los pasos a seguir para llegar a ejecutarla sobre la plataforma heterogénea. Después de la explicación de las herramientas, se describirá el funcionamiento de la red de actores que especifica el módulo xIT de un descodificador HEVC, que se quiere ejecutar sobre la plataforma heterogénea. De la descripción del módulo xIT, se pasa a la descripción de la metodología adoptada para la comprobación de la correcta ejecución de la xIT en la plataforma heterogénea. Con la metodología explicada, se detalla el proceso de verificación, desde la creación del banco de pruebas para la xIT en RVC-CAL hasta su ejecución sobre la plataforma heterogénea, describiendo todos los problemas encontrados y la solución adoptada para subsanarlos. Con la correcta ejecución de la xIT en la plataforma heterogénea, se realizan una serie de experimentos, cambiando el estilo de codificación de la xIT en RVC-CAL, para comprobar la influencia de estos cambios en el rendimiento de la plataforma heterogénea. Para finalizar esta Memoria, se exponen las conclusiones sacadas a lo largo del desarrollo del presente Proyecto y las posible líneas futuras a desarrollar en futuros proyectos. Abstract: Nowadays, multimedia applications require more powerful processing units or even the interaction of different types of them. The systems that include different types of processing units or hardware are called heterogeneous platforms. Heterogeneous platforms may have different combinations of processing units. For example, they can combine only different types of CPU (Central Processing Unit) or CPUs with other more specialized processing unit, such as GPUs (Graphics Processing Unit) or DSPs (Digital Signal Processor). There are also heterogeneous platforms that combine different processing units with hardware, such as FPGAs (Field Progammable Gate Array) or different types of peripherals. In heterogeneous platforms there is a type called SoC (System-on-Chip) that includes all units in a single integrated circuit, as its name indicates. In order to design a system on this type of integrated circuit, it is necessary to understand how it works in depth, which means a long learning period for the developer. This Final Degree Project has been developed with the idea of saving the developer the costly learning period. In this Project high-level tools are used to execute networks of actors designed in RVC-CAL on a heterogeneous platform composed of a processor and an FPGA. A work methodology has also been developed that will help verify if the design is executed correctly on the heterogeneous platform. This document will describe the entire Final Degree Project. First, it will explain the motivations that led to the execution of the Project and the objectives that we expected to obtain at the end of the Project. Then, the state of the art will be presented: (1) the video coding standards, specifically the one used in this Project (HEVC); (2) the data flow language used, and (3) the heterogeneous platforms, in particular the one used in the Project (Zedboard). After presenting the state of the art, the high-level software tools used in the Project are explained. A simple network of actors is used to describe the operation of high-level tools and the steps to follow in order to execute it on a heterogeneous platform. After explaining the tools, the operation of the network of actors that specifies the xIT module of a HEVC decoder, which we want to run on the heterogeneous platform, will be described. From the description of the xIT module, we proceed to the methodology adopted for the verification of the correct execution of the xIT in the heterogeneous platform. With the explained methodology, the verification process is explained in detail, from the creation of the test bench for the xIT in RVC-CAL to its execution on the heterogeneous platform, describing all the problems found and the solution adopted to correct them. With the correct execution of the xIT in the heterogeneous platform, a set of experiments are performed, changing the coding style of the xIT in RVC-CAL, to test the effect of these changes on the heterogeneous platform performance. To finish this document, the conclusions reached along the development of this Project and the possible future lines to be developed in new projects are presented.

More information

Item ID: 63422
DC Identifier: http://oa.upm.es/63422/
OAI Identifier: oai:oa.upm.es:63422
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 05 Aug 2020 11:15
Last Modified: 05 Aug 2020 11:15
  • 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