UNIVERSITÉ BADJI UNIVERSITÉ DE
MOKHTAR-ANNABA BOURGOGNE
THESE
Présentée pour obtenir le grade de Docteur de l’Université de Bourgogne
Spécialité : INSTRUMENTATION ET INFORMATIQUE DE L’IMAGE
Présentée pour obtenir le grade de Docteur en science de l’université de Annaba
Spécialité : ELECTRONIQUE
Par
MESSAOUDI Kamel
Traitement des Signaux et Images en Temps
Réel « Implantation de H.264 sur MPSoC »
Soutenue le 19 Décembre 2012 devant la commission d’examen composée de :
M. Nadir FARAH Professeur, Université Badji Mokhtar d’Annaba , Algérie Président
M. Camel TANOUGAST Maître de conférences, Université Paul Verlaine-Metz, France Rapporteur
M. Alaoua CHAOUI Professeur, Université Mentouri-Constantine, Algérie Rapporteur
M. Jean-Marie BILBAULT Professeur, Université de Bourgogne-Dijon, France Membre
M. Ahmed BOURIDANE Professeur, Université de New Castle, UK Membre
M. N.E BOUKEZZOULA Maitre de Conférences, Université de Sétif, Algérie Membre
M. El-Bay BOURENNANE Professeur, Université de Bourgogne-Dijon, France Directeur
M. Salah TOUMI Professeur, Université Badji Mokhtar d’Annaba , Algérie Co-Directeur
LERICA
Université Badji
Mokhtar - Annaba
N° d’ordre : ……………..
i
RÉSUMÉ
Cette thèse est élaborée en cotutelle entre l’université Badji Mokhtar (Laboratoire LERICA) et
l’université de bourgogne (Laboratoire LE2I, UMR CNRS 5158). Elle constitue une contribution à
l’étude et l’implantation de l’encodeur H.264/AVC. Durent l’évolution des normes de compression
vidéo, une réalité sure est vérifiée de plus en plus : avoir une bonne performance du processus de
compression nécessite l’élaboration d’équipements beaucoup plus performants en termes de puissance
de calcul, de flexibilité et de portabilité et ceci afin de répondre aux exigences des différents
traitements et satisfaire au critère « Temps Réel ». Pour assurer un temps réel pour ce genre
d’applications, une solution reste possible est l’utilisation des systèmes sur puce (SoC) ou bien des
systèmes multiprocesseurs sur puce (MPSoC) implantés sur des plateformes reconfigurables à base de
circuit FPGA.
L’objective de cette thèse consiste à l’étude et l’implantation des algorithmes de traitement des signaux
et images et en particulier la norme H.264/AVC, et cela dans le but d’assurer un temps réel pour le
cycle codage-décodage. Nous utilisons deux plateformes FPGA de Xilinx (ML501 et XUPV5). Dans
la littérature, il existe déjà plusieurs implémentations du décodeur. Pour l’encodeur, malgré les efforts
énormes réalisés, il reste toujours du travail pour l’optimisation des algorithmes et l’extraction des
parallélismes possibles surtout avec une variété de profils et de niveaux de la norme H.264/AVC.
Dans un premier temps de cette thèse, nous proposons une implantation matérielle d’un contrôleur
mémoire spécialement pour l’encodeur H.264/AVC. Ce contrôleur est réalisé en ajoutant, au
contrôleur mémoire DDR2 des deux plateformes de Xilinx, une couche intelligente capable de calculer
les adresses et récupérer les données nécessaires pour les différents modules de traitement de
l’encodeur. Ensuite, nous proposons des implantations matérielles (niveau RTL) des modules de
traitement de l’encodeur H.264. Sur ces implantations, nous allons exploiter les deux principes de
parallélisme et de pipelining autorisé par l’encodeur en vue de la grande dépendance inter-blocs. Nous
avons ainsi proposé plusieurs améliorations et nouvelles techniques dans les modules de la chaine Intra
et le filtre anti-blocs. A la fin de cette thèse, nous utilisons les modules réalisés en matériels pour la
l’implantation Matérielle/logicielle de l’encodeur H.264/AVC. Des résultats de synthèse et de
simulation, en utilisant les deux plateformes de Xilinx, sont montrés et comparés avec les autres
implémentations existantes.
Mots clés : Implantation matérielle, Codesign, L’encodeur H.264/AVC, Temps réel, Gestion de
mémoire, Contrôleur mémoire, Parallélisme, Pipelining, SoC, MPSoC, FPGA,
Plateforme de prototypage, Xilinx, ML501, XUPV5.
ii
ABSTRACT
This thesis has been carried out in joint supervision between the Badji Mokhtar University (LERICA
Laboratory) and the University of Burgundy (LE2I laboratory, UMR CNRS 5158). It is a contribution
to the study and implementation of the H.264/AVC encoder. The evolution in video coding standards
have historically demanded stringent performances of the compression process, which imposes the
development of platforms that perform much better in terms of computing power, flexibility and
portability. Such demands are necessary to fulfill requirements of the different treatments and to meet
"Real Time" processing constraints. In order to ensure real-time performances, a possible solution is to
made use of systems on chip (SoC) or multiprocessor systems on chip (MPSoC) built on platforms
based reconfigurable FPGAs.
The objective of this thesis is the study and implementation of algorithms for signal and image
processing (in particular the H.264/AVC standard); especial attention was given to provide real-time
coding-decoding cycles. We use two FPGA platforms (ML501 and XUPV5 from Xilinx) to implement
our architectures. In the literature, there are already several implementations of the decoder. For the
encoder part, despite the enormous efforts made, work remains to optimize algorithms and extract the
inherent parallelism of the architecture. This is especially true with a variety of profiles and levels of
H.264/AVC.
Initially, we proposed a hardware implementation of a memory controller specifically targeted to the
H.264/AVC encoder. This controller is obtained by adding, to the DDR2 memory controller, an
intelligent layer capable of calculating the addresses and to retrieve the necessary data for several of
the processing modules of the encoder. Afterwards, we proposed hardware implementations (RTL) for
the processing modules of the H.264 encoder. In these implementations, we made use of principles of
parallelism and pipelining, taking into account the constraints imposed by the inter-block dependency
in the encoder. We proposed several enhancements and new technologies in the channel Intra modules
and the deblocking filter. At the end of this thesis, we use the modules implemented in hardware for
implementing the H.264/AVC encoder in a hardware/software design. Synthesis and simulation
results, using both platforms for Xilinx, are shown and compared with other existing implementations.
Keywords : Hardware implementation, Codesign, H.264/AVC encoder, Real time, memory
management, Memory controller, Parallelism, Pipelining, SoC, MPSoC, FPGA,
Prototyping platform, Xilinx, ML501, XUPV5.
iii

LERICAbourgogne
LE2IUMR-CNRS 5158. H.264/AVC 

              
Temps Réel" 
systèmes sur puce
systèmes multiprocesseurs sur puce MPSoC FPGA
            
H.264/AVC
FPGAML501 et XUPV5Xilinx
H.264/AVC

H.264/AVC
H.264/AVC
 DDR2 FPGA
 Xilinx
 RTL
H.264/AVC Pipeline
H.264/AVC

: Codesign  H.264
 PipeliningSoCMPSoCFPGAFPGAXilinxML501
XUPV5
iv
A la mémoire de mon père
Puisse Dieu, le tout puissant,
l’avoir en sa sainte miséricorde
A ma mère
A celle que j’aime
A ma petite fille Maissane
A ma famille
A tous ceux qui me tiennent à cœur
1 / 178 100%