Optimisation de JPEG2000 sur système sur puce programmable - PASTEL - Thèses en ligne de ParisTech Access content directly
Theses Year : 2005

JPEG 2000 optimization on system on programmable chip

Optimisation de JPEG2000 sur système sur puce programmable

Abstract

Recently the field of video, image and audio processing has experienced several significant progresses on both the algorithms and the architectures levels. One of these evolutions is the emergence of the new ISO/IEC JPEG2000 image compression standard which succeeds to JPEG. This new standard presents many functionalities and features which allows it to be adapted to a large spectrum of applications. However, these features bring up new algorithmic complexities of higher degree than those of JPEG which in turn makes it very difficult to be optimized for certain implementations under very hard constraints. Those constraints could be area, timing or power constraints or more likely all of them. One of the key steps during the JPEG2000 processing is entropy coding that takes about 70 % of the total execution time when compressing an image. It is therefore essential to analyze the potentialities of optimizations of implementations of JPEG2000. FPGA devices are currently the main reconfigurable circuits available on the market. Although they have been used for a long time only for ASIC prototyping, they are able today to provide an effective solution to the hardware implementation of applications in many fields. Considering the progress experienced by the FPGA semiconductor industry on integration capacity and working frequency, reconfigurable architectures are now an effective and competitive solution to meet the needs of both prototyping and final hardware implementations. In this work we propose a methodology for the study of the possibilities of implementation of JPEG2000. This study starts with the evaluation of software implementations on commercial platforms, and quickly extended through software optimizations based on specialized SIMD libraries exploiting fine grain concurrency. Following this first study we carried out a hardware implementation of an entropic dual-coder on FPGA which was used as a coprocessor on both a host machine and on an embedded industrial platform. After this implementation we evolved our approach to a system approach. In this last part we carried out hardware/software partitioning of the entropic coder on FPGA, then a multi-coder implementation was realized on FPGA and used like coprocessor on chip for the creation of a system on programmable chip. These various works allowed us to cover a large part of the applications space that JPEG2000 can target. At the same time these implementations give a global vision on the possibilities and limits of the implementations of JPEG2000. Furthermore this study is a support to decide architecture-application mapping for JPEG2000 implementation.
Récemment le domaine du traitement de l'image, de la vidéo, et l'audio a connu plusieurs évolutions importantes au niveau des algorithmes et des architectures. L'une de ces évolutions est l'apparition du nouveau standard ISO/IEC de compression d'image JPEG2000 qui succède à JPEG. Ce nouveau standard présente de nombreuses fonctionnalités et caractéristiques qui lui permettent d'être adapté à une large panoplie d'applications. Mais ces caractéristiques se sont accompagnées d'une complexité algorithmique beaucoup plus élevée que JPEG et qui le rend très difficile à optimiser pour certaines implémentations ayant des contraintes très sévères en terme de surface, de temps d'exécution ou de consommation d'énergie ou de l'ensemble de ces contraintes. L'une des étapes clé dans le processus de compression JPEG2000 est le codeur entropique qui constitue à lui seul environ 70% du temps de traitement global pour la compression d'une image. Il est donc essentiel d'analyser les possibilités d'optimisation d'implémentations de JPEG2000. Les circuits FPGA sont aujourd'hui les principaux circuits reconfigurables disponibles sur le marché. S'ils ont longtemps été utilisés uniquement pour le prototypage des ASIC, ils sont aujourd'hui en mesure de fournir une solution efficace à la réalisation matérielle d'applications dans de nombreux domaines. Vu le progrès que connaît l'industrie des composants FPGA du point de vue capacité d'intégration et fréquence de fonctionnement, les architectures reconfigurables constituent aujourd'hui une solution efficace et compétitive pour répondre aussi bien aux besoins du prototypage qu'à ceux des implémentations matérielles. Dans ce travail nous proposons une démarche pour l'étude des possibilités d'implémentations de JPEG2000. Cette étude a débuté avec l'évaluation d'implémentations logicielles sur plateformes commerciales. Des optimisations logicielles ont été ajoutées en utilisant des librairies SIMD spécialisées exploitant du parallélisme à grain fin. Suite à cette première étude on a réalisé une implémentation matérielle d'un bi codeur entropique sur FPGA qui a servi comme coprocesseur pour deux plateformes distinctes l'une étant une machine hôte et l'autre un système industriel embarqué. Suite à cette étape nous avons fait évoluer l'implémentation en passant à une deuxième approche qui est l'approche système sur puce programmable. Dans cette dernière partie nous avons effectué le partitionnement matériel/logiciel du codeur entropique sur FPGA, puis une implémentation multi codeur a été réalisée sur FPGA et utilisée comme coprocesseur sur puce pour la création d'un système sur puce programmable. Ces différents travaux ont permis de couvrir une partie de l'espace des applications que JPEG2000 peut cibler. En même temps ces implémentations donnent une vue globale sur les possibilités des implémentations de JPEG2000 ainsi que leurs limites. De plus cette étude représente un moyen pour décider de l'adéquation architecture application de JPEG2000.
Fichier principal
Vignette du fichier
THESE_ENSTA_I.AOUADI.pdf (5.83 Mo) Télécharger le fichier
Loading...

Dates and versions

pastel-00001658 , version 1 (04-04-2006)

Identifiers

  • HAL Id : pastel-00001658 , version 1

Cite

Imed Aouadi. Optimisation de JPEG2000 sur système sur puce programmable. Sciences de l'ingénieur [physics]. ENSTA ParisTech, 2005. Français. ⟨NNT : ⟩. ⟨pastel-00001658⟩
298 View
1562 Download

Share

Gmail Facebook X LinkedIn More