AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE
UNIVERSITE LIBANAISE
En partenariat avec
UNIVERSITE DE REIMS UNIVERSITE DE RENNES IRISA
UNIVERSITE DE TUNIS
M a s t e r R e c h e r c h e M o d é l i s a t i o n
e t s i m u l a t i o n i n f o r m a t i q u e
2005/2006
Etude du parallélisme de l’application
MPEG4 (décodeur) sur un processeur à
double cœur
Réalisé par
Bassam AZOURI
Sous la direction de
Dr. Hassan SBEYTI
2
Décembre 2006Remerciements
Je remercie Dieu de m’avoir donné la possibilité d’accomplir ce
travail malgré toutes mes autres préoccupations.
Une pensée particulière pour ma femme ‘Afaf’, mon bébé ‘Elie’, mes
parents et mon ami ‘Rached’ pour leur constant soutient affectif.
J’exprime ma gratitude à Dr. Hassan SBEYTI pour tout son
enthousiasme et qui sans lui ce travail n’aurait pu être entrepris.
Un grand merci au Prof. Ismail NIAR (Université de Valenciennes et
du Hainaut-Cambrésis) pour nous fournir la version complète du
simulateur MPARM et pour les discussions importantes qu’on a eu
pendant le temps de ce travail.
Je termine par remercier fortement Dr. Akram GHORAYEB directeur
du programme DEA, Madame Emmanuelle NASSER coordinatrice du
programme et tout le corps professoral.
Sommaire
Introduction 3
Chapitre 1. Les standards MPEG
1. Compression vidéo 4
2. MPEG-1 5
3. MPEG-2 8
4. MPEG-4 8
Chapitre 2. Processeur ARM - La technologie double coeur -
Simulateur MPARM
1. Processeur ARM 25
3
2. Système embarqué et compilateur croisé 26
3. La technologie double cœur 28
4. Simulateur MPARM : Environnement de simulation 30
pour les architectures SoC
Chapitre 3. Parallélisme de l’application MPEG-4
1. Introduction 31
2. Porting 31
3. VTune Performance Analyzer pour Linux 35
4. Graphe d’appels et évaluation de performance 36
5. Parallélisme 40
Conclusion 42
Glossaire 43
Bibliographie 45
Annexes
46Introduction
Les applications multimédia (surtout MPEG4) sont utilisées par la plupart des
systèmes embarqués. Ces applications sont basées sur des algorithmes de calcul
intensif qui nécessite un accès mémoire de haut débit. En plus, ce genre
d’applications s’exécutent généralement en temps réel ce qui rend l’opération
lourde pour les processeurs actuels.
Aujourd’hui, la technologie est capable d’intégrer plusieurs cœurs de calculs sur la
même puce (Systems-on-Chip). On trouve dans le marché des processeurs à double
cœurs destinés pour les systèmes embarqués.
Les applications multimédia sont implémentées pour être lancé sur un processeur
mono-cœur. Une question se pose ; si on lance ces applications sur un processeur à
double cœurs est-ce qu’il y aura une amélioration dans les performances ? Est-ce
qu’on a besoin de paralléliser les algorithmes pour améliorer les performances ?
4
Dans ce travail, on a utiliun simulateur pour les systèmes embarqués (MPARM)
qui supporte les processeurs à doubles cœurs. On a ajouté les fonctions standard
d’accès aux fichiers sur ce simulateur (fonctions initialement non supportées) et on
a utilisé le logiciel ‘VTune Performance Analyser pour Linux’ d’Intel pour
localiser les goulots d’étranglement. Enfin, on a parallélisé les instructions de la
fonction « decode_frame » (instruction mapping) sur deux processeurs ce qui nous
a permet de réduire le temps d’exécution de l’application de 3 %.
Chapitre 1
Les standards MPEG
1. Compression Vidéo
1.1 Principes fondamentaux des algorithmes de compression vidéo
1
Les séquences vidéo contiennent une très grande redondance statistique et
subjective entre des images successives ; dans le domaine temporel comme dans le
domaine spatial.
La propriété statistique de base sur laquelle les techniques de compactage comptent
est la corrélation entre pixels, y compris l'acceptation du mouvement de translation
corrélé simple entre les trames consécutives.
Ainsi, on suppose que l'importance d'un pixel particulier de l’image peut être
prévue des pixels voisins de la même trame (utilisant des techniques de codage
Intra-frame) ou des pixels d'une trame voisine (utilisant des techniques inter-
frame). Intuitivement il est clair que dans quelque circonstance, c à d. pendant un
changement de scène d’une séquence vidéo, la corrélation temporelle entre pixels
dans des trames voisines est petite et peut même disparaître les scènes vidéo alors
semblent une collection non corrélé d’images fixes. Dans ce cas les techniques de
codage d'Intra-frame sont appropriées pour explorer la corrélation spatiale pour
réaliser une compression efficace de données.
Les algorithmes de compression vidéo de type MPEG utilisent une transformation
appelée DCT (Discrete Cosine Transform), sur des blocs de 8x8 pixels, pour
analyser efficacement les corrélations spatiales entre pixels voisins de la même
image.
Cependant, si la corrélation entre pixel dans des trames voisines est grande, c à d.
dans les cas deux trames consécutives ont un contenu semblable ou identique, il
est souhaitable d’utiliser la technique de codage d’inter-frame DPCM (Differential
PCM) qui utilise la prévision temporelle (prévision compensé du mouvement entre
trames).
1
[1] The Open University
T305 Digital Communications, Block 3 : Message coding
5
Dans le schéma classique du codage vidéo, une combinaison adaptative entre les
deux mouvements (temporel et spatial) de l’information est utilisée pour réaliser
une grande compression de donnée (codage vidéo hybride DPCM/DCT).
1.2 Sous-échantillonnage et interpolation
La plupart des techniques de codage qu’on décrira dans cette partie, font un
échantillonnage et une quantification avant de coder l’information. Le concept de
base du sous-échantillonnage est de réduire les dimensions (horizontale et
verticale) de l’image vidéo et donc de diminuer le nombre de pixels à coder.
Certaines applications vidéo sous-échantillonnent aussi le mouvement temporel
pour réduire le débit des trames avant de coder. Le récepteur doit donc décoder les
images et les interpoler avant de les afficher.
Cette technique de compression peut être considéré comme une des plus
élémentaires qui tient en compte les caractéristiques physiologiques de l’œil et qui
enlève la redondance contenue dans les données vidéo.
Les yeux humains sont plus sensibles aux variations de la luminosité que de
couleurs.
A cause de ce défaut de l'œil, le codage MPEG commence par diviser les images
dans les composants YUV (un composant de luminosité et deux de chrominance).
Ensuite les composants chromatiques sont sous-échantillonnées en fonction du
composant de luminance avec un rapport Y : U : V spécifique à une particulière
application. (Exemple : avec MPEG-2 le rapport est de 4 : 1 : 1 ou 4 : 2 : 2).
1.3 Prédiction compensée de mouvement
La prédiction compensée de mouvement est un puissant moyen pour réduire les
redondances temporelles entre trames et elle est utilisée dans MPEG-1 et MPEG-2
comme prédiction pour le codage DPCM. Le concept de la compensation du
mouvement est basé sur l’estimation du mouvement entre trames vidéo; si tous les
éléments d’une scène vidéo sont proches dans l’espace, le mouvement entre trames
peut être décrit avec un nombre limité de paramètres (vecteurs de mouvement des
pixels).
La meilleure prédiction d'un pixel est donnée par la prédiction de mouvement de la
trame précédente. Bien que, soit la prédiction de l'erreur que les vecteurs de
mouvement sont transmis, le codage de l'information de mouvement pour chaque
pixel de l'image n'est pas nécessaire.
Si la corrélation spatiale entre vecteurs de mouvement est assez haute, un vecteur
de mouvement pourra représenter un bloc de pixels adjacents.
Ces blocs sont souvent constitués d'un group de 16x16 pixels, et seulement un
vecteur de mouvement est estimé, codé et transmis pour chaque bloc.
1 / 55 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !