High Level Hardware Synthesis of RVC Dataflow Programs - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2012

High Level Hardware Synthesis of RVC Dataflow Programs

Synthèse Matérielle Haut Niveau des Programmes Flot de Donnée RVC

Résumé

The evolution of video processing algorithms involved the advent of several standards. These standards present many common algorithms but designers are not able to reuse them because of their monolithic description. To solve this problem, ISO/IEC MPEG committee created the Reconfigurable Video Coding (RVC) standard based on the idea that processing algorithms can be defined as a library of components defined following the Dataflow Model of Computation and that can be updated separately. Thus, these components of the modular library are standardized instead of the whole decoder. A Dataflow program can be defined as a directed graph where the vertices represent the processes (actors) to be executed and the edges represent the FIFOs used for the communication. The exchanged data is called tokens. This concept insured that the processes are completely independent and only the presence of tokens which allows the firing of a process. To translate this Model of Computation into a functional description, the Cal actor Language (CAL) is considered in this thesis work. This language is standardized by the MPEG-RVC standard. This standard is supported with a complete infrastructure to design and compile the RVC-CAL into hardware and software implementations. The drawback is that the existing hardware compilers present several limitations especially for the validation and the compilation of high level features of the language. For the validation, we propose a functional methodology that allows the validation of the algorithms in all the conception steps. We show in this thesis the important impact of this methodology to reduce the conception time. Concerning the hardware compilation limitations, we introduce an automatic transformation integrated in the code of an RVC-CAL compiler called Orcc (Open RVC-CAL Compiler). This transformation detects the non compliant features and applies the required transformations in the intermediates representation of Orcc to obtain a synthesizable code while keeping the same global behavior of the actor. This transformation solved the main issue of the hardware generation from Dataflow programs. To validate and assess these methodologies, we applied them on the MPEG-4 Part 2 Simple Profile decoder and the LAR still image codec. We present comparison studies for these application contexts.
L'évolution des algorithmes de traitement de la vidéo a impliqué l'apparition de plusieurs standards. Ces standards présentent plusieurs algorithmes communs. Cependant, il n'est pas facile de réutiliser ces algorithmes à cause du monolithisme des codes. Pour résoudre ces problèmes, la communauté ISO/IEC MPEG a créé le standard " Reconfigurable Video Coding " (RVC) basé sur le principe que les algorithmes peuvent être définis sous la forme d'une librairie de composants séparés suivant le modèle de calcul flot de données. Ainsi, les composants sont normalisés au lieu du décodeur entier. Un programme flot de données peut être décrit comme un graphe orienté dont les sommets représentent les process (acteurs) à exécuter et les arcs représentent les FIFOs de communication entre ces processes. Les informations échangées dans les FIFOs s'appellent des jetons. Ce concept fait en sorte que les process sont totalement indépendants les uns des autres et c'est seulement la présence de jetons dans les FIFOs qui est responsable du déclanchement d'un process. Pour traduire ce modèle de calcul en une description fonctionnelle, un langage spécifique appelé CAL Actor Language (CAL) est considéré dans ce travail. Ce langage est standardisé par la norme MPEG-RVC sous le nom RVC-CAL. Le standard RVC est supporté par une infrastructure complète pour concevoir et compiler le RVC-CAL en implémentations matérielles et logicielles mais les compilateurs hardware existants présentent plusieurs limitations essentiellement pour la validation et la compilation de certaines structures haut niveau du langage RVC-CAL. Pour la validation, nous proposons une méthodologie fonctionnelle qui permet la validation des algorithmes dans toutes les étapes du flow de conception. Nous montrons dans ce document l'impact important de cette méthodologie sur la réduction du temps de conception. Concernant les limitations de la compilation hardware, nous introduisons une transformation automatique que nous avons intégrée dans le cœur d'un compilateur du langage RVC-CAL appelé Orcc (Open RVC-CAL Compiler). Cette transformation détecte les structures non supportées par les compilateurs hardware et réalise les changements nécessaires dans la représentation intermédiaire de Orcc pour obtenir un code synthétisable tout en conservant le comportement global de l'acteur. Cette transformation a résolu le plus important goulot d'étranglement de la génération hardware à partir des programmes flow de données. Pour évaluer nos méthodologies, nous avons appliqué la vérification fonctionnelle sur plusieurs applications de traitement d'image et de vidéo et nous avons appliqué la génération matérielle automatique sur le décodeur MPEG-4 part 2 Simple Profile et le codec d'images fixes LAR et nous proposons des études comparatives pour ces deux contextes applicatifs.
Fichier principal
Vignette du fichier
these.pdf (9.84 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00827163 , version 1 (28-05-2013)

Identifiants

  • HAL Id : tel-00827163 , version 1

Citer

Khaled Jerbi. High Level Hardware Synthesis of RVC Dataflow Programs. Signal and Image Processing. INSA de Rennes, 2012. English. ⟨NNT : ⟩. ⟨tel-00827163⟩
403 Consultations
511 Téléchargements

Partager

Gmail Facebook X LinkedIn More