Please use this identifier to cite or link to this item: https://hdl.handle.net/11000/5165

Design and implementation of FPGA-based video encoding accelerators


Thumbnail

View/Open:
 Tesis Alcocer Espinosa, Estefania Fátima.pdf
7,68 MB
Adobe PDF
Share:
Title:
Design and implementation of FPGA-based video encoding accelerators
Authors:
Alcocer Espinosa, Estefanía Fátima
Tutor:
López Granado, Otoniel Mario
Gutiérrez Mazón, Roberto
Department:
Departamentos de la UMH::Ciencia de Materiales, Óptica y Tecnología Electrónica
Issue Date:
2017-09-14
Abstract:
Nowadays, having the latest image and video gadgets is trendy. Commercially, high performance multimedia devices are offered and/or demanded increasingly, such as very high-resolution TVs with high quality of image (Ultra High Definition (UHD)), video cameras that capture at very high frame rates, etc. Every day, millions of “selfies”, “gifs”, “boomerangs”’ are immediately uploaded to social networks such as Instagram, Facebook or Twitter, and even we broadcast live our experiences with applications such as PeriScope. We are also spectators in first person of the most extreme sports which are recorded with Go-Pro cameras or similar. This is the reason why, in the field of image and video, many innovations and improvements will continue to be brought about due to the trend of high consumption on commercial multimedia devices. Although nowadays we can find devices capable of reproducing and capturing very high resolution videos at high frame rates, this involves higher complexity in video data processing. Videos with previous requirements contain such a high amount of data that entails some problems such as the difficulty for video transmition in real time, the need for a large bandwidth that is almost unacceptable, the limited memory storage, and high power consumption, among others. In order to overcome the above limitations, different coding standards have been developed over the years, trying to adapt to the market needs on each moment. As overview, video encoders compress the information so that it can be stored or transmitted occupying as little space as possible. As an example, platforms like Netflix use Google’s VP9 compression codec to allow users download movies and series not needing too much storage space in order to watch them offline on any device. In order to achieve this compression, it is taken advantage of the huge redundancy of video sequences in both spatial and temporal domains. Thus, by removing such redundant information, it is possible to optimally encode video contents. Therefore, due to the resource requirements, and the consequent increase in the complexity, and the processing time, this dissertation investigates the use of hardware accelerators based on Field Programmable Gate Array (FPGA)s on the most complex parts that require more processing time in the video encoders. Firstly, a hardware accelerator has been designed for the computation of the Motion Estimation (ME) of a High Efficiency Video Coding (HEVC) video encoder. In this case, the work has been focused on the latest video coding standard HEVC, which achieves the best compression efficiency in relation with its predecessors. As in previous standards, the removal of temporal redundancy demands an overwhelming computational cost, especially in high resolution video sequences. Therefore, the ME block (Inter prediction) of an encoder is one of the most critical modules in video compression. Based on this context, our design is based on the implementation of the ME block of a HEVC encoder on a FPGA, proposing two new and innovative techniques in both the tree adder for Sum of Absolute Differences (SAD) computation and the memory reading order. The results show that using our hardware ME module, a HEVC encoder is capable of encoding very high resolution video sequences faster than in real time. Secondly, we present a FPGA-based hardware implementation of a very simple codec called Module Pulse Code Modulation (MPCM) based on the elimination of spatial redundancy (Intra prediction). This codec has the same advantages as Pulse Code Modulation (PCM) coding, reducing considerably the required bandwidth and maintaining the same image quality. The experimental results obtained demonstrate that our hardware implementation allows the continuous recording of a nowadays high-speed camera at a good quality image resolution. This dissertation has been done under the modality of presentation of doctoral thesis with a set of publications, included in the regulations of the Miguel Hern´andez University of Elche. In compliance with these regulations, the publications that compose this dissertation have been included as an annex, and the sections corresponding to the research general description, the overall summary of the results obtained, and the final conclusions have been developed.
Hoy en d´ıa poseer el ´ultimo grito en dispositivos de v´ıdeo e imagen no es nada sorprendente, de hecho, es la tendencia actual. Comercialmente, los dispositivos de altas prestaciones como televisores de muy alta resoluci´on con una gran calidad de imagen o videocam´aras que capturan a muy altas tasas de frames se ofertan y demandan cada vez m´as. Todos los d´ıas, se realizan millones de “selfies”, “gifs”, “boomerangs” que son inmediatamente subidos a redes sociales como Instagram, Facebook o Twitter; incluso transmitimos nuestra vida en directo con aplicaciones como PeriScope. Tambi´en somo espectadores en primera persona de los deportes m´as extremos que son grabados en directo con c´amaras del tipo Go-Pro. Es por ello, que el ´ambito de la imagen y v´ıdeo es un campo con futuro, en el cual cada d´ıa se aportan innumerables innovaciones y mejoras debido al consumo actual de dichos dispositivos comerciales. Aunque cada vez es m´as f´acil encontrar dispositivos capaces de reproducir y capturar v´ıdeos de muy alta resoluci´on a altas tasas de frame, estas altas prestaciones suponen una mayor complejidad en los procesos de tratamiento de v´ıdeo debido a la gran cantidad de datos que contienen. En este contexto, nos encontramos con varios problemas como son la imposibilidad de transmitir v´ıdeo en tiempo real ya que se necesitar´ıa un ancho de banda inasumible y la dificultad de almacenamiento en memoria que siempre es limitada. Con el fin de superar las limitaciones anteriores, se han desarrollado a lo largo de los a˜nos diferentes est´andares de codificaci´on de v´ıdeo que tratan de adaptarse a las necesidades de cada momento. De manera muy general, los codificadores de v´ıdeo comprimen la informaci´on para que pueda ser almacenada o transmitida ocupando el m´ınimo espacio posible. Como ejemplo, plataformas como Netflix utilizan el c´odec de compresi´on VP9 de Google para descargar pel´ıculas y series que no ocupen demasiado y poder visualizarlas offline en cualquier dispositivo. Para conseguir dicha compresi´on, los codificadores aprovechan la alta redundancia de las secuencias de v´ıdeo tanto en el dominio espacial como temporal, de manera que eliminando dicha informaci´on redundante, se consigue codificar de manera ´optima el contenido de v´ıdeo. Por tanto, debido a la gran cantidad de recursos requeridos y el consecuente aumento en la complejidad y el tiempo de procesado, en esta tesis se investiga el uso de aceleradores hardware basados en FPGAs sobre las partes m´as complejas y que requieren m´as tiempo de procesado en los codificadores de v´ıdeo. En primer lugar, se ha dise˜nado un acelerador hardware para el c´omputo de la estimaci´on de movimento de un codificador de video HEVC. En este caso, el trabajo se ha centrado en el ´ultimo est´andar de codificaci´on de v´ıdeo HEVC, el cual muestra la mejor eficiencia de compresi´on respecto a sus predecesores. Al igual que en est´andares anteriores, la eliminaci´on de la redundancia temporal demanda un coste computacional abrumador, especialmente en secuencias de video de alta resoluci´on. Por ello, el bloque de estimaci´on de movimiento del codificador (predicci´on Inter) es uno de los m´odulos m´as cr´ıticos en la compresi´on de v´ıdeo. Partiendo de este contexto, nuestro dise˜no se basa en la implementaci´on de la estimaci´on de movimiento de un codificador HEVC sobre FPGA, proponiendo dos t´ecnicas novedosas, tanto en el ´arbol de sumadores para el c´alculo de la estimaci´on, como en el orden de lectura de memoria. Los resultados muestran que utilizando nuestro m´odulo hardware de estimaci´on de movimiento, un codificador HEVC es capaz de codificar secuencias de muy alta resoluci´on a tasas de frame m´as altas que las que se requieren a tiempo real. En segundo lugar, se presenta una implentaci´on hardware sobre FPGA de un codec muy sencillo llamado MPCM basado en la eliminaci´on de la redundancia espacial (predicci´on Intra). Este codec presenta las mismas ventajas que la codificaci´on PCM, reduciendo considerablemente el ancho de banda necesario y manteniendo la misma calidad de imagen. Los resultados experimentales obtenidos demuestran que nuestra implementaci´on hardware permite la grabaci´on continua a muy buena calidad en c´amaras actuales de alta velocidad. Esta tesis se ha realizado bajo la modalidad de presentaci´on de tesis doctorales con un conjunto de publicaciones recogida en la normativa de la Universidad Miguel Hern´andez de Elche. En cumplimiento de dicha normativa se han incorporado las publicaciones que la componen como anexo y se han inclu´ıdo las secciones correspondientes a la descripci´on general de la investigaci´on, el resumen global de los resultados obtenidos y las conclusiones finales.
Keywords/Subjects:
Tratamiento digital de imágenes
Código y sistemas de codificación
Diseño de circuitos
Procesos de compresion
Type of document:
application/pdf
Access rights:
info:eu-repo/semantics/openAccess
Appears in Collections:
Tesis doctorales - Ciencias e Ingenierías



Creative Commons ???jsp.display-item.text9???