GPU Architectures for Wavelet-based Image Coding Acceleration

Author

Enfedaque Montes, Pablo

Director

Aulí Llinàs, Francesc

Moure López, Juan Carlos

Date of defense

2017-05-19

ISBN

9788449071195

Pages

116 p.



Department/Institute

Universitat Autònoma de Barcelona. Departament d'Enginyeria de la Informació i de les Comunicacions

Abstract

Els sistemes de codificació d'imatges moderns utilitzen tècniques amb alts requirements de comput per tal d'aconseguir comprimir imatges de manera eficient. Les aplicacions que fan us d'aquests codecs sovint tenen necesitats de processament en temps real. És habitual en aquests escenaris fer ús de hardware especialitzat com, per exemple, Field-Programmable Gate Arrays (FPGAs) o Applications-Specific Integrated Circuits (ASICs). No obstant, les GPUs, amb la seva arquitectura altament paral·lela orientada a rendiment, representen una alternativa atractiva en comparació al hardware especialitzat. Aquestes són reprogramables, energèticament eficients, es poden trobar a la majoria de sistemes i, sobretot, ofereixen un rendiment computacional molt competitiu. Els sistemes de codificació d'imatges basats en wavelets són aquells que utilitzen algun tipus de transformada wavelet abans de l'etapa de codificació de les dades. JPEG2000 és el sistema de codificació d'imatges basats en wavelet més representatiu. Diversos projectes d'investigació han intentat desenvolupar implementacions en GPU de JPEG2000, amb l'objectiu d'accelerar el sistema de codificació. Encara que algunes etapes del sistema són adequades per a la computació en GPUs, l'etapa de codificació de dades no exposa suficient paral·lelisme de granuralitat fina. A més, aquesta és l'etapa que requereix més recursos de comput (suposa un 75% del temps d'execució total) i representa, per tant, el coll d'ampolla del sistema. La investigació presentada en aquesta tesi es centra en la computació utilitzant GPUs de les etapes més rellevants dels sistemes de codificació d'imatges basats en wavelet: la transformada wavelet i l'etapa de codificació de dades. Aquesta tesi presenta tres contribucions principals: La primera, és una implementació de la Transformada Discreta Wavelet accelerada utilitzant GPUs. La implementació proposada aconsegueix una acceleració de 4x, respecte les solucions prèvies a l'estat de l'art; la segona, és l'anàlisi i reformulació de l’etapa de codificació de dades de JPEG2000. Es proposa un nou motor de compressió d'alt rendiment potencialment paral·lel: Bitplane Image Coding with Parallel Coefficient Processing (BPC-PaCo). BPC-PaCo reformula els mecanismes de codificació de dades, sense renunciar a cap funcionalitat dels sistemes de codificació tradicionals; l'última contribució d'aquesta tesis, presenta una implementació optimitzada per a GPU de BPC-PaCo. Es compara el seu rendiment amb les implementacions més competitives de JPEG2000, tant en CPU com en GPU, i es mostra com BPC-PaCo aconsegueix una millora en el temps d'execució de fins a 30x respecte les implementacions més rapides fins al moment.


Los sistemas de codificación de imágenes modernos utilizan técnicas con altos requisitos de cómputo para lograr comprimir imágenes de manera eficiente. Los codecs de imágenes son a menudo utilizados en aplicaciones que requieren procesamiento en tiempo real, en cuyos casos es común utilizar hardware especializado como, por ejemplo, Field-Programmable Gate Arrays (FGPAs) o Application-Specific Integrated Circuits (ASICs). No obstante, las GPUs tienen una arquitectura altamente paralela orientada a rendimiento que representa una alternativa atractiva en comparación con el hardware dedicado. Son reprogramables, energéticamente eficientes, se pueden encontrar en la mayoría de sistemas y, por encima de todo, ofrecen un rendimiento computacional muy competitivo. Los sistemas de codificación de imágenes basados en wavelet son aquellos que utilizan algún tipo de transformada wavelet antes de la etapa de codificación de datos. JPEG2000 es el sistema de codificación de imágenes basados en wavelet más representativo. Muchos proyectos de investigación han intentado desarrollar implementaciones en GPU de JPEG2000, con el objetivo de acelerar el sistema de codificación. Aunque algunas etapas del sistema son adecuadas para la computación en GPUs, la etapa de codificación de datos no expone suficiente paralelismo de granularidad fina. La codificación de datos es, además, la etapa que requiere más recursos de cómputo (supone un 75% del tiempo total de ejecución) y representa, por lo tanto, el cuello de botella del sistema. La investigación presentada en esta tesis se centra en la computación en GPU de las etapas más críticas de los sistemas de codificación de imágenes basados en wavelet: la transformada wavelet y la etapa de codificación de datos. Ésta tesis presenta tres contribuciones principales: la primera es una implementación de la Transformada Discreta Wavelet acelerada utilizando GPUs. La implementación propuesta ofrece un rendimiento computacional hasta 4 veces mayor, con respecto a las anteriores soluciones en el estado del arte; la segunda, es el análisis y reformulación de la etapa de codificación de datos de JPEG2000. Se propone un nuevo motor de codificación de alto rendimiento compatible con sistemas de cómputo paralelo: Bitplane Image Coding with Parallel Coefficient Processing (BPC-PaCo). BPC-PaCo reformula los mecanismos de la codificación de datos sin renunciar a ninguna de las funcionalidades avanzadas de los sistemas de codificación tradicionales; la última contribución de esta tesis presenta una implementación optimizada en GPU de BPC-PaCo. Se compara su rendimiento con las implementaciones de JPEG2000 más competitivas, tanto en CPU como en GPU, y se demuestra como BPC-PaCo consigue mejoras en tiempos de ejecución de hasta 30x respecto las implementaciones más rápidas.


Modern image coding systems employ computationally demanding techniques to achieve image compression. Image codecs are often used in applications that require real-time processing, so it is common in those scenarios to employ specialized hardware, such as Field-Programmable Gate Arrays (FPGAs) or Application-Specific Integrated Circuits (ASICs). GPUs are throughput-oriented, highly parallel architectures that represent an interesting alternative to dedicated hardware. They are software re-programmable, widely available, energy efficient, and they offer very competitive peak computational performance. Wavelet-based image coding systems are those that employ some kind of wavelet transformation before the data coding stage. Arguably, JPEG2000 is the most representative of those systems. Many research projects have tried to develop GPU implementations of JPEG2000 to speed up the coding pipeline. Although some stages of the pipeline are very suitable for GPU computing, the data coding stage does not expose enough fine-grained parallelism. Data coding is the most computationally demanding stage (75% of the total execution time) and represents the bottleneck of the pipeline. The research presented in this thesis focuses on the GPU computing of the most critical stages of wavelet-based image coding systems: the wavelet transform and the data coding stage. This thesis proposes three main contributions. The first is a GPU-accelerated implementation of the Discrete Wavelet Transform. The proposed implementation achieves speedups up to 4x with respect to the previous state-of-the-art GPU solutions. The second contribution is the analysis and reformulation of the data coding stage of JPEG2000. We propose a new parallel-friendly high performance coding engine: Bitplane Image Coding with Parallel Coefficient Processing (BPC-PaCo). BPC-PaCo reformulates the mechanisms of data coding, without renouncing to any of the advanced features of traditional data coding. The last contribution of this thesis presents an optimized GPU implementation of BPC-PaCo. It compares its performance with the most competitive JPEG2000 implementations in both CPU and GPU, revealing speedups up to 30x with respect to the fastest implementation.

Keywords

Computació paral·lela; Computación paralela; Parallel computing; Processament d'imatges; Procesamiento de imágenes; Image processing; Graphic processing unit (GPU)

Subjects

004 - Computer science and technology. Computing. Data processing

Knowledge Area

Tecnologies

Documents

paen1de1.pdf

1.027Mb

 

Rights

ADVERTIMENT. L'accés als continguts d'aquesta tesi doctoral i la seva utilització ha de respectar els drets de la persona autora. Pot ser utilitzada per a consulta o estudi personal, així com en activitats o materials d'investigació i docència en els termes establerts a l'art. 32 del Text Refós de la Llei de Propietat Intel·lectual (RDL 1/1996). Per altres utilitzacions es requereix l'autorització prèvia i expressa de la persona autora. En qualsevol cas, en la utilització dels seus continguts caldrà indicar de forma clara el nom i cognoms de la persona autora i el títol de la tesi doctoral. No s'autoritza la seva reproducció o altres formes d'explotació efectuades amb finalitats de lucre ni la seva comunicació pública des d'un lloc aliè al servei TDX. Tampoc s'autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant als continguts de la tesi com als seus resums i índexs.

This item appears in the following Collection(s)