Vous êtes sur la page 1sur 71

Comparaison des performances

de deux mthodes dencodage


pour un CODEC H.264





VERGNE Aurore
2
me
anne Rseaux et Tlcommunications
2009 - 2010
Matre de stage : Dr Yafan Zhao
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
1

Remerciements

Je remercie tout dabord Yafan Zhao ainsi que les membres du Center for Video Communications pour leur
accueil, leur aide et leur confiance.

Je tiens ensuite remercier lquipe pdagogique, notamment Jol Toussaint, ainsi que le personnel
administratif du dpartement Rseaux et Tlcommunications pour le travail quils ont accompli durant mes deux
annes de formation. Je tiens adresser des remerciements particuliers Lynsey Giroire, professeur danglais, pour
mavoir offert la possibilit de faire ce stage qui est, dune part, ltranger et qui, dautre part, se situe dans le
domaine du codage vido, discipline qui nest pas enseign lInstitut Universitaire de Technologie. Je la remercie
galement du suivi quelle a effectu durant celui-ci. Je remercie galement Noura Guerchouch, secrtaire du
dpartement, pour lattention quelle a port la compltion et lenvoi des dossiers de poursuite dtude.

Enfin, je remercie, Gordon Ross, rceptionniste du btiment de la Robert University St Andrew Street, Ann
Gardner et Malgorzata Lewandowska, secrtaires de la School of Computing, pour leur aide dans la recherche de
logement et les formalits administratives.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
2

Sommaire

Remerciements...page 1
Sommaire.. page 2
Introduction.. page4
1. Prsentation du contexte.. page 5
1.1. Aberdeen. page 5
1.2. La Robert Gordon University.. page 6
1.2.1. La Faculty of Health and Social Care. page 7
1.2.2. LAberdeen Buisiness Schoold. page 7
1.2.3. La Faculty of Design and Technology page7
1.2.4. Le Center for Video Communications. page 7
1.3. Dmarche page 9
2. Travail prliminaire : prise en main dun CODEC.... page 10
2.1. Installation de Microsoft Visual Studio.. page 10
2.2. Compilation du CODEC page 14
2.3. Prise en main de lencodeur page 16
2.3.1. Principes gnraux dencodage.. page 16
2.3.2. Fichiers de configuration page 18
2.3.3. Utilisation de lencodeur. page 19
2.3.4. tude des diffrents paramtres. page 21
2.3.4.1. Avec une trame B. page 21
2.3.4.1.1 Variation du nombre de trames par seconde (Frame Rate)..... page 21
2.3.4.1.2. Variation de la compression de la trame I (QPISlice).. page 22
2.3.4.1.3. Variation de la compression des trames P (QPPSlice) page 22
2.3.4.1.4. Variation de la compression des trames B (QPBSlice) page 23
2.3.4.2. Sans trame B.. page 24
2.3.4.2.1. Variation du nombre de trames par seconde (Frame Rate). page 24
2.3.4.2.2. Variation de la compression des trames I (QPISlice)
et P (QPPSlice)
page 25
2.3.4.2.3. Variation du nombre de trames sautes (FrameSkip) page 25
2.3.4.3. Variation du nombre de trames B (NumberBFrames). page 26
2.3.4.3.1. Cas o le nombre de trames sautes est gal celui des trames B.. page 26
2.3.4.3.2. Cas o le nombre de trames sautes est suprieur celui des
trames B
page 27
3. tude de deux mthodes dencodage.. page 28
3.1. Comparaison de deux mthodes dencodage. page28
3.1.1. Prsentation des deux mthodes page 28
3.1.2. tude objective.. page 29
3.1.2.1. Prsentation et mise en uvre.. page 29
3.1.2.2. Rsultats.. page 30
3.1.3. tude subjective. page 40
3.1.3.1. Prsentation et mise en uvre.. page40
3.1.3.2. Rsultats.. page 41
3.2. tude de la relation entre qualit visuelle et MOSp. page 46
3.2.1. Dfinition du MOSp.. page 46
3.2.2. Compilation et utilisation du nouveau CODEC. page 48
3.2.3. Installation de Matlab.. page 49
3.2.4. Cration de la carte (map) du MOSp de chaque macrobloc page 54
3.2.5. Rsultats. page 57





Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
3

4. Laboutissement de mon stage au CVC.. page 60
4.1. Rsultats obtenu.. page 60
4.2. Difficults rencontres.. page 60
4.3. Prolongements. page 61
Conclusion. page 62
Bilan humain page 63
Questionnaire en anglais page 65
Glossaire. page 67
Bibliographie page 69


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
4

Introduction

Dans le cadre de la deuxime anne de Diplme Universitaire de Technologie Rseaux et
Tlcommunications, il ma t demand de faire un stage de dix semaines. Il sest droul au Center for Video
Communications de la Robert Gordon University Aberdeen, en Ecosse sous la direction du Dr Yafan Zhao.

La compression de la vido est ncessaire afin de rduire la taille du mdia dorigine pour pouvoir lenvoyer
sur un rseau tel quInternet. En effet, une squence vido ayant subi peu ou pas de traitement informatique
ncessite 200 kbits/s par trame ce qui conduit, pour la transmettre dans sa totalit des dbits gigantesques :
gnralement, pour une seconde on ne compte pas moins de 25 trames ce qui implique que le dbit requis pour une
seconde dun tel type de vido est de 5 000 kbits/s. En plus du temps de chargement dun mdia de la sorte, avoir de
tel dbit pose des problmes de bande passante et, globalement, dencombrement du rseau. Cependant,
compresser un mdia provoque ncessairement une baisse de sa qualit. Il faut donc trouver des moyens permettant
de limiter la taille du mdia et donc le dbit quil require tout en en gardant une certaine qualit. Des CODEC* tel
que celui tudi dans la suite (MPEG-4 / H.264) le permettent mais ils sont loin datteindre une qualit visuelle et
mathmatique (i.e. subjective et objective
1
) optimale.

Le Center for Video Communications se pose ici deux questions :
le CODEC propose deux mthodes dencodage, laquelle est objectivement et subjectivement la
meilleure ?
il y a-t-il une corrlation quelconque entre la comparaison subjective et objective ?
Ces questions ont pour but de mettre en avant des anomalies dans le code du CODEC qui pourraient provoquer une
perte de qualit. Le but final, pour le Center for Video Communications, est de minimiser cette dernire.
Mon sujet sera donc de rpondre aux questions poses plus haut.

Afin dy rpondre, jai organis mon rapport de la manire suivante. Je vais, dans une premire partie,
prsenter le contexte de ce stage. Ensuite, je vais expliquer quel fut le travail prliminaire que jai d effectuer : il a
consist la prise en main dun CODEC. Puis je dvelopperai mes exprimentations qui se sont droules en deux
tapes : jai, tout dabord, comparer deux mthodes dencodage avant de mintresser au MOSp
2
qui est un nouvel
indicateur de qualit mise en place par le Center for Video Communications. Enfin, je dresserai le bilan de ce stage.






















Les mots suivis * sont dfinis dans le glossaire page 67.
1
Ces deux mthodes de comparaison sont dfinies dans la partie 3.1.1.
2
Cet indicateur sera dfini dans la suite de ce rapport dans la partie 3.2.1.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
5

1. Prsentation du contexte

1.1. Aberdeen

Aberdeen est une ville situe au nord de la Grande Bretagne, en cosse. Cest la troisime ville de cette
rgion en nombre dhabitants (210 000) derrire Glasgow et dimbourg. Elle est situe lembouchure de deux
rivires : la Dee au sud et la Don au nord.


Figure 1.1.1. : Carte du Royaume-Uni

Aberdeen est btie principalement en granite : ce matriau a t beaucoup utilis durant le rgne la reine
Victoria (poque Victorienne 1837 1901) et la seconde moiti du XIX
me
sicle. Le granite tant de couleur grise, la
ville est aussi connue sous le nom de The Grey City.


Figure 1.1.2. : Btiments en granite. gauche, une maison sur Great Western Road et droite une glise sur Union Street
Source personnelle
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
6

De plus, Aberdeen est lune des villes les plus riches dEcosse grce lexploitation du ptrole offshore*.
Cest dailleurs la capitale europenne du ptrole Oil capital in Europe.

En outre, la devise de la ville est Bon accord ; cette phrase tait celle de reconnaissance entre cossais lors
de la guerre contre les anglais.

Figure 1.1.2. : Armoiries et devise de la ville
Source : http://www.ngw.nl/int/gbr/scot/aberdee.htm

Enfin, la ville est constitue de deux universits regroupant prs de 30 000 tudiants. Chacune dentre elle en
est compose d peu prs 15 000. Ces deux universits sont la Robert Gordon University et lUniversity of Aberdeen.
Cette dernire est la plus ancienne ; en effet, elle a t fonde en 1860 par regroupement du Kings College et du
Marchial College. La Robert Gordon University est, quant elle beaucoup plus rcente. Je la prsente plus en dtail
dans la partie suivante.
LUniversity of Aberdeen et la Robert Gordon University sont les universits les plus au nord du Royaume-Uni.


1.2. La Robert Gordon University (RGU)

La Robert Gordon University est une universit moderne tant reconnue comme telle depuis 1992. En 2009,
elle a t nomme Best Modern University in the UK par le Times Good University Guide. Toujours daprs le mme
guide, cest la quatrime universit en termes demplois de ces diplms.
Elle compte environ 12 800 tudiants rpartis sur ces deux campus de Garthdee (en rose sur le plan) au sud et de
Schoolhill (en orange) en centre-ville.


Figure 1.2.1. : Plan dAberdeen (sud et centre-ville)
Source : http://maps.google.co.uk
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
7

Comme la plupart des tablissements scolaires au Royaume-Uni, elle a une devise en latin qui est la suivante Omni
Nunc Arte Magistra qui signifie Fait de ton mieux avec tes propres capacits.

Elle comporte trois ples, la Faculty of Health and Social Care, lAberdeen Buisiness School et la Faculty of Design and
Technology.


Figure 1.2.2. : Logo de RGU
Source : http://rgu.ac.uk

1.2.1. La Faculty of Health and Social Care
Situe sur Garthdee, la Faculty of Health and Social Care runit les diffrents dpartements ayant attrait aux
sciences sociales et la sant. Elle regroupe la School of Applied Social Studies spcialise dans le social, la School of
Health Sciences centralisant des disciplines telles que la mdecine, la radiologie ou encore la nutrition, la School of
Nursing and Midwifery qui correspond une cole dinfirmires et de sages-femmes et la School of Pharmacy and Life
Sciences
1
rassemblant la pharmacie et la biologie.

1.2.2. LAberdeen Buisiness School
linstar de la Faculty of Health and Social Care, lAberdeen Buisiness School se trouve sur le campus de
Garthdee. Elle est compose de lAccounting, Finance and Economics Department tant lun des plus grands de ce ple
et ayant pour vocation lenseignement des finances et de lconomie, le Communications, Marketing & Media
Department qui est ax sur la communication et le marketing, le Management Department qui a un des plus forts taux
de russite aux examens de Grande Bretagne et qui propose un enseignement permettant laccs des postes o le
management est une ncessit et le Law Department dont la spcialit est le droit.

1.2.3. La Faculty of Design and Technology
La Faculty of Design and Technology est la fois sur le campus de Garthdee et de Schoolhill. Elle possde les
dpartements suivants : la Scott Sutherland School of Architecture and Built Envirnoment et la Gray's School of Art sur
Garthdee qui sont, respectivement, une cole darchitecture et une dart, la School of Computing et la School of
Engineering sur Schoolhill proposant des formations en informatique pour la premire et dans des domaines allant du
rseau llectronique en passant par les sciences de lingnieur pour la seconde. Cest dans cette dernire que se
trouve le Center for Video Communications o jai effectu mon stage.

1.2.4. Le Center for Video Communications
Le Center for Video Communications, abrg CVC dans la suite, est un laboratoire de recherche travaillant
dans les domaines de limagerie et de la communication. Ses membres mnent des recherches dans les domaines
suivants :
la compression* de la vido grce au codage*.
les normes de compression dont MPEG-4* et H.264*.
le codage vido dynamique (i.e. adaptation du taux de compression en fonction du contenu de la vido
[explications plus en dtail dans la partie2.4]).
les codages vido peu complexes permettant ainsi des conomies dnergie et de temps : plus un codage est
complexe plus il ncessite de temps, de ressources matrielles et donc dnergie.
la perception visuelle et le codage de vido. Le CVC cherche rpondre aux questions suivantes : comment
peroit-on une image et quels sont les lments qui ne doivent pas tre dgrads par le codage afin que le
systme visuel humain* considre la vido comme de bonne qualit ?
le transport de donnes multimdias compresses travers un rseau.




1
Seul dpartement de la Faculty of Heath Science est situ sur le campus de Schoolhill en centre-ville.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
8


Figure 1.2.4.1. : Logo du CVC
Source : http://www4.rgu.ac.uk/eng/cvc/

Le CVC est organis selon la hirarchie suivante :


Figure 1.2.4.2. : Organigramme du CVC
Source personnelle

Le Dr Yafan Zhao est la tutrice principale de Mr James Philp qui est tudiant en 3
me
anne de PhD. Il travaille
sur un dcodeur vido universel pouvant tre implment aussi bien dans des ordinateurs que dans des lecteurs DVD.

Le Dr Sampath Kannangara est le superviseur principal de Ms Abharana Bhat qui a fini ses tudes mais mne
toujours des recherches pour le CVC. Son projet est de trouver une relation entre un indicateur de qualit
mathmatique le MSE
1
et un de qualit visuelle le MOS
1
afin de dvelopper un CODEC permettant davoir la
meilleure qualit dimage possible.
Cest ce sujet quest reli le mien. En effet, je vais devoir prouver les rsultats quelle a dj obtenus afin
de lui permettre damliorer son CODEC. Pour cela, ma matre de stage va maiguiller quant aux expriences mener.






















1
Ces deux indicateurs sont dfinis dans la partie 3.2.1.
Dr Sampath
Kannangara
Ms Abharana
Bhat
Dr Yafan
Zhao
Mr James
Philp
Miss Aurore
Vergne
Dr Laura Muir
Collaboration
Tuteur principal
Tuteur secondaire
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
9

1.3. Dmarche

Ma dmarche se compose de trois tapes qui vont permettre de rpondre aux questions poses dans
lintroduction.

Tout dabord, je vais prendre en main un CODEC H.264 / MPEG-4. Nayant aucune connaissance dans le
domaine du codage vido, ma matre de stage, le Dr Yafan Zhao, a jug quil tait plus judicieux de me faire
commencer par le dbut c'est--dire par la comprhension des principes gnraux dencodage ( laide de la lecture
dun livre) et des diffrents paramtres du CODEC ainsi que son fonctionnement global. En effet, celui-ci peut
paraitre compliqu au premier abord car il sutilise en lignes de commandes et est fourni sous la forme de fichiers
compiler* soit mme. Cette dcouverte saccompagne de la lecture dun ouvrage expliquant les principes
fondamentaux du codage MPEG-4 / H.264.
Cette tape est primordiale la bonne marche de mon sujet car elle me permet de comprendre le fonctionnement
basique dun CODEC vido.

Ensuite, je vais comparer de manire objective et subjective les deux mthodes dencodage propose par le
CODEC afin de dterminer laquelle est la plus performante. Cette phase est compose de deux parties : la premire
consiste la comparaison des mthodes elles-mmes ; la seconde est la vrification de la relation entre le MOSp et la
qualit visuelle dune squence.

Enfin, je rpondrai aux questions poses dans lintroduction grces aux rsultats et aux observations des
parties prcdentes.



Figure 1.3.1. : Dmarche mise en place pour rsoudre mon sujet
Source personnelle
- lecture d'un livre
expliquant les
principes du
codage de la vido
- prise en main
d'un CODEC
Comparaison
objective et
subjective de deux
mthodes
d'encodage
Vrification de la
relation entre
MOSp et qualit
visuelle
quelle mthode est
la plus performante ?
il y a-t-il corrlation
entre qualiti visuelle
et MOSp ?
Travail prliminaire tude de deux mthodes dencodage Conclusion
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
10

2. Travail prliminaire : prise en main dun CODEC

Il ma t demand de tlcharger un CODEC permettant dencoder une vido au format MEPG-4 / H.264. Je
lai tlcharg, sur les conseils de ma maitre de stage, ladresse :
http://iphome.hhi.de/suehring/tml/download/version 12.1. Il se prsente sous la forme dune archive zip contenant
des fichiers en langage C compiler soi-mme. Je lai, dans un premier temps, dcompress. Puis, je lai compil
aprs avoir, au pralable, installer Microsoft Visual Studio 2008 dont lutilisation est recommande par la
documentation du CODEC disponible ladresse suivante :
http://iphome.hhi.de/suehring/tml/JM%20Reference%20Software%20Manual%20%28JVT-AE010%29.pdf.

2.1. Installation de Microsoft Visual Studio 2008

Microsoft Visual Studio est un IDE* regroupant plusieurs outils de dveloppement dit par Microsoft. Il
permet de grer des projets complexes, c'est--dire ncessitant plus dun fichier source crit en un langage de
programmation quelconque. Visual Studio en prend en charge une grande varit (C, C++, Visual Basic, XML, xHTML,
JavaScript et CSS).

Je procde son installation sur mon ordinateur personnel. Aprs avoir mis le DVD, dans le lecteur, la
fentre suivante apparait.


Figure 2.1.1. : cran de slection des composants installer

La seule option actuellement possible est Install Visual Studio 2008. Par consquent, je clique sur le texte encadr
en rose sur la capture. Le programme dinstallation charge alors les lments ncessaires linstallation. De plus, une
case cocher permet ou non au programme denvoyer des informations sur linstallation Microsoft. Ne souhaitant
pas en transmettre, je ne coche pas la case.











Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
11


Figure 2.1.2. : Chargement des fichiers ncessaires linstallation

Une fois le chargement termin et aprs avoir cliqu sur Next, il faut accepter la licence prsente sur le produit en
slectionnant I have read and accept the license term, saisir la cl et le nom dutilisateur et cliquer, une fois de plus
sur Next.


Figure 2.1.3. : cran dacceptation de la licence et de saisi de la cl du produit

Il est dsormais demand de choisir le type dinstallation voulu. Ils sont au nombre de 3 : par dfaut, complte et
personnalise. Une installation par dfaut installe le programme ainsi que les composants ncessaires son bon
fonctionnement, une installation complte installe le programme et tous ses composants optionnels et une
installation personnalise laisse le choix lutilisateur des lments devant tre installs. Certains composants tels
que Microsoft SQL Server ne mtant pas utiles cest cette dernire que je choisis.







Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
12


Figure 2.1.4. : cran de slection du type dinstallation

Pour cela, je slectionne Custom sur la capture prcdente et clique sur Next. Puis je dcoche tout ce qui est en
plus de Visual Studio c'est--dire Microsoft SQL Server, Crystal Reports Basic for Visual Studio 2008 et Crystal
Reports Basic 64-bits Runtime for Visual Studio 2008.


Figure 2.1.5. : cran de slection des composants de Visual Studio installer

Je clique sur Install. Linstallation commence alors et dure une vingtaine de minutes. Une fois quelle est acheve,
lcran suivant apparait.










Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
13


Figure 2.1.6. : cran indiquant la fin de linstallation

Je clique sur Finish.

Le programme tant install, je peux le lancer en cliquant sur licne de lancement prsent dans la rubrique
Microsoft Visual Studio du menu dmarrer.


Figure 2.1.7. : Visual Studio aprs dmarrage

Le programme se lance.


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
14

2.2. Compilation du CODEC

La premire tape consiste dmarrer Visual Studio. Il faut ensuite ouvrir le projet que lon veut compiler,
pour cela, il faut cliquer sur le bouton Open et slectionner le fichier projet voulu (son extension* est .sln).
Dans mon cas, il se trouve dans D:\AURORE\IUT\Stage\JM.


Figure 2.2.1. : cran de slection du fichier ouvrir

Sur la capture ci-dessus, nous pouvons voir quil y a plusieurs fichiers .sln. Ceux-ci correspondent aux diffrentes
versions de Visual Studio. En effet, pour des soucis de compatibilit, lauteur du codec a choisi de lenregistrer sous
diverses versions du logiciel. Daprs la documentation, pour lutiliser avec Visual Studio 2008, il faut prendre
jm_vc9.sln. Ce fichier ntant pas prsent, je choisis celui correspondant la version la plus rcente avant 2008,
c'est--dire 2005. Le fichier convenant est jm-vc8.sln. Je louvre.

Une fois ouvert, larborescence du projet apparait sur la partie droite de lcran (cadre rose sur la capture
suivante).


Figure 2.2.2. : cran de gestion du projet
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
15

Ce projet se compose de 3 programmes :
lencod qui encode la vido
ldecod qui la dcode
rtpdumb qui permet danalyser les paquets RTP*

Nayant jamais compil ce projet prcdemment, je vais devoir le compiler en totalit (i.e. les 3
programmes). Pour cela, il faut se rendre dans le menu Buid en haut et choisir Build Solution.


Figure 2.2.3. : Menu permettant de compiler un projet

noter : si lon ne veut compiler quun seul programme, par exemple ledecod, il suffit de le slectionner dans la partie
de droite (cf figure 2.2.2.), daller dans Buid puis de cliquer sur Build ldedecod.

La compilation commence alors. Une fois celle-ci termine, le nombre de succs, derreurs, de mises jour et
de parties sautes apparaissent dans la partie Output situe en bas de lcran. Dans le cadre rose, on peut voir quil
y a eu trois succs et aucune erreur. Les programmes se trouvent dans le mme dossier que les fichiers dextension .c
qui le compose c'est--dire dans D:\AURORE\IUT\Stage\JM\bin.


Figure 2.2.4 : Log* des vnements stant produit durant la compilation

La compilation ayant russi, je peux dsormais prendre en main le programme dencodage (lencod.exe) en dcrivant
les principes gnraux de codage en MPEG-4 / H.264 puis en tudiant la fonction des diffrents paramtres du
CODEC.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
16

2.3. Prise en main de lencodeur

Avant de modifier les paramtres dencodage, je dois dabord comprendre quels sont les principes gnraux
dencodage dans le cas du MPEG-4 / H.264. Ils sont dcrits dans le livre H.264 and MPEG-4 Video Compression
Video compression for Next-generation Multimedia de Iain E.G. Richardson dont jai d lire certains chapitres (se
reporter aux notes lannexe I).

2.3.1. Principes gnraux dencodage
Dans cette partie, je vais voquer les principes dencodages qui seront utiles dans la suite de ce rapport.

Tout dabord, il faut savoir quune scne filme est continue dans le temps et dans lespace, par consquent,
un CODEC vido utilise deux types dchantillonnages* : un temporel et un spatial. Lchantillonnage temporel
consiste prendre une srie de trames issues de la vido intervalles rguliers. Le spatial, quant lui, a pour rle
dchantillonner une srie de points de limage disposs sur une grille.
Chaque chantillon dcrit la luminosit et la couleur de limage en ce point et est reprsent comme un
nombre.


Figure 2.3.1.1. : chantillonnage spatio-temporel
Source personnelle

Lchantillonnage spatial se fait sur une grille rectangulaire ou carre. Plus celle-ci a de carreaux, plus il y a
dchantillons et donc meilleure est la qualit. Chaque chantillon est plac lintersection dune horizontale et dune
verticale et une forme carre : cest un pixel.
Lchantillonnage temporel consiste capturer des images intervalles rguliers. Plus le nombre de trames est
grand, plus le mouvement est fluide, moins il y en a, plus celui-ci est saccad.

Comme je lai dit ci-dessus, chaque chantillon dcrit la luminosit et la couleur de limage en ce point. Mais,
il est bon de se demander quelles sont les mthodes permettant de dcrire la couleur.
Si limage est monochrome*, un indicateur de luminosit suffit.
Si limage est en couleur, il y a deux mthodes :
le RGB (Red, Green, Blue) ou RVB (Rouge, Vert, Bleu) en franais code chaque chantillon et donc
chaque pixel, laide de trois nombres : le premier indique la quantit de rouge, le second celle de
bleu et le dernier, celle de vert. Avec ce procd, il faut capturer chaque composante sparment.
une distance normale (c'est--dire 50 cm ou plus), la runion de ces trois couleurs permet de voir la
couleur dorigine de limage.


Figure 2.3.1.2. : Dcomposition RVB
Source personnelle

Cependant, avec cette mthode, les couleurs ont toutes la mme luminosit ce qui peut poser des
problmes au niveau du contraste.




chantillonnage temporel
chantillonnage spatial
250 141 61
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
17

le YC
b
C
r
est un moyen efficace pour reprsenter les couleurs et la luminosit. Cette dernire une
meilleure rsolution que les couleurs. En effet, le systme visuel humain est plus sensible la
luminance qu la chrominance. Il est donc ncessaire de la privilgier par rapport aux couleurs cest
pour cette raison que je comparerai le rapport signal de la luminosit et non ceux des couleurs dans
la suite de ce rapport (se reporter lannexe I partie 2.4.2. pour les calculs).
Il existe plusieurs formats dchantillonnage pour le YC
b
C
r
.
Le premier dentre est le 4:4:4 : les trois composantes ont la mme rsolution verticale et
horizontale : il y a 4 luminances pour 4 composantes bleues et 4 rouges. Ce format est fidle
loriginal sur le plan de la chrominance*. Le second est le 4:2:2 : la chrominance a la mme
rsolution verticale que la luminance* et une demi-rsolution horizontale (pour 4 luminances, il y a 2
composantes bleues et 2 rouges). Il est utilis pour la reproduction haute qualit des couleurs. Le
troisime format est le 4:2:0 : les composantes reprsentant les couleurs ont une demi-rsolution
verticale et horizontale de celle de luminosit. Il est utilis pour les confrences vido, la tlvision
numrique et les DVD.
Les deux derniers formats correspondent une compression de limage car toutes les composantes
nont pas la mme rsolution.


Figure 2.3.1.3. : 4:4:4, 4:2:2 et 4:2:0
Source personnelle

En plus de la compression apporte par les formats dcrits ci-dessus, lencodeur cherche supprimer la
redondance spatiale et / ou temporelle c'est--dire les lments de limage se rptant sur plusieurs images
successives ou sur une partie de celle-ci. En effet, si des images ont t captures autour du mme instant, il y a de
fortes chances quil y ait une forte corrlation temporelle (cest dautant plus vrai si la frquence dchantillonnage est
leve). De plus, des pixels adjacents ont souvent une valeur RVB ou YC
r
C
b
voisine. Pour permettre cette suppression,
il existe des mthodes telles que la compensation de mouvement. Celle-ci peut tre de deux types : la compensation
de mouvement faite partir de la trame prcdente et lestimation de mouvement. La premire fait la diffrence
entre la trame prdite et lactuelle. La seconde, quant elle, estime la trajectoire de chaque pixel en fonction du type
de mouvement (camra ou objet) (se reporter lannexe I partie 3.3.2. et suivantes).

Enfin, il faut savoir que dans une squence encoder, il y a 3 types de trames :
la trame I est la premire dune squence. Elle est donc unique et est prcde dun entte dont la
taille est paramtrable.
les trames P suivent la I. Pour en encoder une, il faut avoir cod celle qui la prcde.

Figure 2.3.1.4. : Encodage dune trame P
Source personnelle

les trames B sont ajoutes lors de lencodage. Elles ne sont donc pas prsentent dans la squence
originale. La plupart des encodeurs permettent de choisir la frquence laquelle on les cre. Pour
encoder une trame B, il est ncessaire davoir encod la trame qui la prcde et celle qui la suit.

Figure 2.3.1.5. : Encodage dune trame B
Source personnelle

Aprs avoir dfini les principes gnraux dencodage, je peux me pencher sur le fichier de configuration de
lencodeur (lencod.exe).
P
B
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
18

2.3.2. Fichiers de configuration
Le fichier de configuration de lencodeur (lencod.exe) se trouve dans D:\AURORE\Stage\JM\bin et a comme
extension .cfg. Il est possible de louvrir avec un simple diteur de texte, le Bloc-Notes de Windows par exemple. Il se
prsente sous la forme NomDuParamtre = Valeur #Commentaire.

Le nombre de paramtres quil contient est trs grand. Par consquent, je ne vais pas tous les commenter (ils
le sont tous dans la documentation) mais expliquer les plus importants.

InputFile = "foreman.qcif" #Squence encoder. Les formats supports sont cif*, qcif* et yuv*.
InputHeaderLength = 0 #Taille de lentte du fichier de sortie. Sil en a une, le nombre de bits total de la
squence encode est plus grand. La valeur par dfaut est 0.
StartFrame = 0 #Premire trame encoder, on peut, par exemple, commencer lencodage la trame 5.
FramesToBeEncoded = 50 #Nombre de trames total encoder.
FrameRate = 30.0 #Nombre de trames par secondes (doit tre compris entre 0,1 et 100,0). La valeur pat dfaut
est 30,0.
SourceWidth = 176 #Largeur des images de la squence source, ce doit tre un multiple de 16. La valeur par
dfaut est 176.
SourceHeight = 144 #Hauteur des images de la squence source ce doit tre un multiple de 32. La valeur par
dfaut est 144.
ReconFile = "D:\AURORE\IUT\Stage\Test\foremanRC10_rec.yuv" #Emplacement du fichier
servant reconstruire la vido.
OutputFile = "D:\AURORE\IUT\Stage\Test\foremanRC10.264" #Emplacement de la squence de
sortie obligatoirement au format .264*. Cest le programme servant dcoder qui reconstruit le fichier au format
cif/qcif laide de ce fichier et du ReconFile.
ProfileIDC = 100 #Permet de choisir entre les modes de compensation ou prdiction de mouvement (cf partie
prcdente). Cette valeur est galement en corrlation avec le format YUV que lon veut. La valeur par dfaut est 88.
Les valeurs possibles sont dfinies dans la documentation. 100 correspond High ce qui permet davoir une
prdiction de limage suivante leve et donc prcise.
QPISlice = 28 #Paramtre dencodage de la trame I (doit tre entre 0 et 51). Il sapparente un taux de
compression. Dans la suite je le nommerai aussi paramtre de qualit.
QPPSlice = 28 #Paramtre dencodage des trames P (doit tre entre 0 et 51). Il sapparente un taux de
compression. Dans la suite je le nommerai aussi paramtre de qualit.
FrameSkip = 1 #Nombre de trames sautes lors de lencodage (sil est 1 ou plus, cela permet de crer des
trames B)
NumberBFrames = 1 #Nombre de trames B. Ce paramtre doit tre infrieur ou gal au prcdent.
QPBSlice = 30 #Paramtre dencodage des trames B (doit tre entre 0 et 51). Il sapparente un taux de
compression. Dans la suite je le nommerai aussi paramtre de qualit.
RateControlEnable = 0 #Activer (1) le Rate Control permet dencoder les trames avec un QP diffrent en
fonction du dbit voulu. Par dfaut, ce paramtre est dsactiv sa valeur est 0.
Bitrate = 100000 #Dbit souhait en bits/s. Ce paramtre est utilis par le RateControl
InitialQP = 0 #QP de la trame I si lon fait du RateControl. Si ce paramtre est 0 (valeur par dfaut),
lencodeur choisi le meilleur QP en fonction du dbit voulu.
BasicUnit = 99 # Dfinit lunit de base pour lencodage. Sil est 99, un macrobloc* correspond une unit de
base. Par consquent, le QP change pour chaque macrobloc. Lencodeur se charge de faire la moyenne des QP de
chaque macrobloc pour avoir celui de la trame. Exemple : si BasicUnit = 11 ; chaque groupe, pouvant avoir un QP
diffrent, est compos de 11 macroblocs.
ChannelType = 0 #Type de canal de transmission. Si le canal varie au cours du temps, ce paramtre doit tre 1
et 0 sil est constant.
YUVFormat = 1 #Type de format YUV. 1 correspond au format 4:2:0 qui est celui par dfaut. Les valeurs
possibles et le format YUV correspondant sont dfinis dans la documentation.

Je peux dsormais modifier les paramtres cits ci-dessus afin de mieux comprendre leur fonction en
tudiant leur effet sur la vido.


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
19

2.3.3. Utilisation de lencodeur
Lencodeur sutilise en ligne de commandes. Pour ouvrir une console, il faut aller dans Dmarrer/Tous les
programmes/Accessoires/Excuter. Puis il faut taper cmd.


Figure 2.3.3.1. : La console lors de son ouverture

Il faut ensuite se placer dans le dossier o se trouve le programme (D:\AURORE\Stage\JM\bin). Comme on
peut le voir sur la capture ci-dessus, on se trouve dans C:\Users\Erra ce qui correspond mon rpertoire personnel.
Or, le programme se trouve sur la deuxime partition de mon disque dur il faut donc sy rendre. Pour cela, je saisis :
d:
Il faut ensuite que je me place dans le bon rpertoire :
cd AURORE/IUT/Stage/JM/bin (Windows interprte le slash (/) comme un anti-slash (\) qui est le sparateur
de ce systme dexploitation).


Figure 2.3.3.2. : La console une fois dans le bon rpertoire

On est donc dans le bon rpertoire. Pour excuter le programme, il faut utiliser la commande suivante :
lencod.exe [d fichier_conf.cfg]
La partie entre crochets est optionnelle. Si on ne dfinit pas le fichier de configuration utiliser, cest celui par dfaut
(encoder.cfg) dont on se sert.
Lencodage commence. Des lignes nous rappelant le fichier de configuration utilis, les squences dentre
et de sortie, le format YUV ainsi que le nombre de trames encoder apparaissent.





Figure 2.3.3.3. : Les premires lignes de log


Fichier de configuration utilis
Squences dentre
et de sortie
Format YUV
Nombre de trames I et P encoder / nombre de
trames B encoder
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
20

Ensuite, les valeurs correspondantes chaque trame encode apparaissent une une dans la console.



Figure 2.3.3.4. : Les diffrentes valeurs pour chaque trame

Il y a deux trames 0000 : la premire (NVB) est une entte, la seconde est la premire trame de la squence (cest la
trame I). De plus, lencodeur encode la trame 0 puis la 2 car il y a une trame saute et une trame B. Or, pour coder une
trame B, il faut avoir code celle qui la prcde (la 0 dans ce cas) et celle qui la suit (la 2) (cf 2.3.1 Principes gnraux
dencodage).
ct du numro de la trame, on trouve, entre parenthses, le type de celle-ci. Les diffrentes colonnes
correspondant au nombre de bits sur lequel la trame est code (en rose), le taux de compression de la trame (en
orange), le rapport signal sur bruit (SNR) par rapport aux diffrentes composantes de la trame (Y correspond la
luminance, U et V au couleurs) (en violet), le temps mis pour coder la trame (en marron), le temps de lestimation de
mouvement (en vert), le type dencodage de limage (en bleu) et lindicateur de rfrence pour limage (en rouge).

Une fois lencodage termin, on obtient des informations gnrales sur celui-ci.


Figure 2.3.3.5. : Les diffrentes valeurs moyennes de cet encodage


Nombre total de trames encodes (nombre de trames B)
Temps total dencodage (nombre de
trames encodes par seconde)
Temps total de calcul de
lestimation de mouvement
Dbit
Forme de la squence et rappel
des QP pour chaque type de trame
Nombre total de bits (bits utiliss
pour les trames I, P, B et lentte)
Moyenne du SNR de
chaque trame pour
chaque composante
noter : on peut sauvegarder ce qui apparait dans la console dans un fichier. Il suffit dutiliser la commande suivante :
lencod.exe [d fichier_conf.cfg] > fichier_log.txt
Frquence pour lencodage. Cette valeur
est gale au FrameRate (nombre de trame
par seconde) sauf sil y a des trames B ce
qui est le cas ici.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
21

2.3.4. tude de quelques paramtres
Tous les tests ont t faits avec le format YUV par dfaut c'est--dire 4:2:0.

2.3.4.1. Avec une trame B
Je teste les diffrents paramtres en ayant une trame B car cest la configuration par dfaut. Les captures
dcran pour toutes les exprimentations suivre se trouvent dans lannexe II.

2.3.4.1.1. Variation du nombre de trames par seconde (FrameRate)
Je commence par tudier leffet du nombre de trames par seconde. Pour cela, je modifie le paramtre
FrameRate.
Je compare le rsultat de lencodage pour deux valeurs : 30 et 10. Jobtiens les valeurs suivantes.

Nombre de trames par seconde 30 10
Nombre de trames encoder 10 10
Nombre de trames B ajoutes 9 9
Nombre de trames encodes au total 19 19
Frquence pour lencodage 15 5
Dbit (kbits/s) 138,25 46,08
Nombre de bits total 87 560 87 560

La frquence pour lencodage correspond, dans chaque cas la moiti du nombre de trames par seconde. En
effet, il y a une trame B ajoute entre chaque trame P. Par consquent, une trame sur deux doit tre cre par
lencodeur ce qui provoque une diminution de la frquence lors de lencodage.
De plus, le dbit pour un FrameRate de 30 est plus grand que pour un de 10 : dans un cas, une squence
dune seconde comportera 30 images alors que dans lautre, il ny en aura que 10. Il faut donc avoir un dbit plus
important pour faire passer 30 images par seconde que pour en faire passer 10.
Enfin, le nombre total de bits sur lequel la squence est code ne diffre pas. Cela sexplique par le fait que le
nombre de trames encoder est le mme dans les deux cas : il y a 1 trame I, 9 trames P et B.

Pour conclure sur cette exprience, je peux dire que le nombre de trames par seconde influe sur le dbit et
sur la frquence dencodage des trames : plus il est grand, plus le dbit est important tout comme la frquence pour
lencodage. Cependant, il na aucune influence sur le nombre de bits utiliss pour coder la squence.

Je vais maintenant mintresser la variation de la qualit et donc du taux de compression de chaque type de
trames en commenant par la trame I.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
22

2.3.4.1.2. Variation de la compression de la trame I (QPISlice)
Le paramtre correspondant la qualit de la trame I est QPISlice. Les valeurs quil peut prendre doivent
tre comprises entre 0 et 51
Je compare les rsultats pour 3 valeurs : celle par dfaut, 28, la maximale, 51, et la minimale 0. Jobtiens le
tableau suivant.

QPISlice = 0 QPISlice = 28 QPISlice = 51
Nombre de bits sur lequel est code la trame I 193 256 20 704 1 752
SNR Y 75,937 dB 37,455 dB 23,35 dB
Dbit (kbits/s) 136,15 46,08 44,26
Nombre de bits total 258 680 87 560 84 088

Le nombre de bits sur lequel la trame I est encode varie normment en fonction du QPISlice. Si ce
paramtre est 0, cela correspond une compression entropique* que lon nomme CABAC*; le nombre de bits sur
lequel est cod la trame est donc important et, de fait, le nombre de bits total lest aussi, tout comme le dbit.
Inversement, si le QPISlice est grand, on a une forte compression do la diminution du nombre de bits (au total ou
pour la trame I) et du dbit.
Pour ce qui est du rapport signal sur bruit de la composante de la luminosit (SRN Y), plus la compression
augmente (c'est--dire plus QPISlice est grand), plus il se dtriore : il devient plus petit et, par consquent, la
qualit objective de limage
1
est moindre.

Je vais dsormais faire la mme exprience pour les trames P et B.

2.3.4.1.3. Variation de la compression des trames P (QPPSlice)
Le paramtre rglant la qualit des trames P est QPPSlice. Il admet le mme intervalle de valeurs que le
QPISclice.
Je vais, l aussi, comparer les rsultats pour trois valeurs : les mmes que pour la partie prcdente.

Avec les paramtres par dfaut, c'est--dire une trame B et une trame saute (NumberBFrames = FrameSkip
= 1), une trame sur deux est une B.

Figure 2.3.4.1.3.1. : Succession des diffrentes trames pour les paramtres par dfaut et ordre dencodage (se rfrer la figure 2.3.4.)
Source personnelle

QPPSlice = 0 QPPSlice = 28 QPPSlice = 51
Intervalle sur lequel sont
codes les trames P
Moyenne
120 560 - 159 352

129 126
4 992 7 792

6 359
256 624

439
Intervalle SNR Y
Moyenne
65,241 dB - 71,563 dB
70,580 dB
36,857 dB 37,035 dB
36,931 dB
24,624 dB - 28,173 dB
25,785 dB
Dbit (kbits/s) 627,16 46,08 43,25
Nombre de bits total 1 191 608 87 560 82 168
Nombre de bits pour les
trames P
1 162 136 57 232 3 952

Tout comme pour la trame I, le nombre de bits sur lequel sont cods les P varie beaucoup en fonction du QP :
plus celui-ci est grand, plus le nombre de bits est faible et inversement.
Pour le rapport signal sur bruit de la luminance, celui-ci se dtriore lorsque la compression augmente. De fait, plus la
compression augmente, plus la qualit objective de limage diminue.
Ces observations sont conformes celles faites pour la trame I. Je vais mintresser, ds lors, aux trames B.
1
La qualit objective sera dfinie dans la suite de ce rapport (partie 3.1.2.).
1 3
2 4
B B I P P
Vido
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
23

2.3.4.1.4. Variation de la compression des trames B (QPBSlice)
Le paramtre permettant de choisir la qualit des trames B se nomme QPBSlice.
Je compare, encore une fois, les rsultats pour les 3 mmes valeurs c'est--dire, la valeur par dfaut (30), la
maximale (51) et la minimale (0).

QPBSblice = 0 QPBSlice = 30 QPBSblice = 51
Intervalle sur lequel sont
codes les trames B
Moyenne
144 184 - 158 408

153 483
832 - 1 792

938
96

96
Intervalle SNR Y
Moyenne
64,734 dB 72,468 dB
71,243 dB
36,070 dB 36,534 dB
36,257 dB
28,951 dB 34,090 dB
32,169 dB
Dbit 768,14 kbits/s 46,08 kbits/s 41,57 kbits/s
Nombre de bits total 1 459 464 87 560 78 976
Nombre de bits pour les
trames B
1 381 352 9 448 864

L encore, le nombre de bits sur lequel sont codes les trames B varie normment en fonction du
paramtre de qualit : plus le QP est grand, plus la compression lest aussi, moins le nombre de bits utiliss par la
trame est important. Les observations faites prcdemment quant au SNR sont encore une fois valables c'est--dire,
plus le taux de compression et, de fait le QP, est lev, plus le signal sur bruit est petit et donc moindre est qualit
objective de limage.

Des trois expriences prcdentes, je peux dduire que QPISlice, QPPSlice et QPBSlice influent, de la
mme faon, sur les trames dont ils modifient la qualit. Ayant la mme fonction, ces trois paramtres seront
regroups, dans la suite du prsent rapport, sous le terme QP.
Lorsque celui-ci est grand, il y a une forte compression ; la trame code utilise donc peu de bits ; le SNR Y est
petit ce qui implique une mauvaise qualit objective de limage. Sil est petit, la compression est faible, le nombre de
bits est plus important tout comme le ratio signal sur bruit de la luminance ce qui signifie que limage est,
objectivement, de meilleure qualit.
Cependant, il est possible de voir la dgradation de la vido de manire subjective
1
comme le montre la
figure suivante : plus le QP est lev, moins limage est nette. La squence 1 na pas de compression, elle sert de
rfrence. Sur squence 2, le visage de la fillette est flou mais reste reconnaissable ce qui nest plus le cas sur la 3.
Cette dernire est compose de gros blocs de pixels ce qui la rend grossire et donc floue : il nest plus possible de
distinguer clairement les contours des visages.


Figure 2.3.4.1.4.1. : Exemple de vido compresse. De gauche droite QP=0, QP= 28 et QP=51.
Source personnelle

Je ritre les mme expriences sans trame B cette fois-ci.






1
La qualit subjective sera dfinie dans la suite de ce rapport (partie 3.1.3.).
1 2 3
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
24

2.3.4.2. Sans trame B
Je vais, dans un premier temps, faire varier le nombre de trames par secondes (FrameRate), puis je vais
modifier le paramtre de qualit des trames I et P (QPISlice et QPPSlice) et, enfin, je vais tenter de comprendre
linfluence des trames sautes (FrameSkip).
Les captures dcran pour toutes les exprimentations suivre se trouvent dans lannexe II.

2.3.4.2.1. Variation du nombre de trames par seconde(FrameRate)
Le paramtre modifier est FrameRate. Je vais comparer le dbit ainsi que le nombre de bit total pour les
mmes valeurs que prcdemment c'est--dire 10 et 30 trames par seconde.

Frame Rate / Nombre de trames par seconde 30 10
Avec 1 trame B
Frquence pour lencodage 15 5
Nombre de trames encoder (FramesToBeEncoded) 10 10
Nombre de trames B ajoutes 9 9
Nombre de trames encodes au total 19 19
Dbit (kbits/s) 138,25 46,08
Nombre de bits total 87 560 87 560
Sans trame B
Frquence pour lencodage 30 10
Nombre de trames encoder (FramesToBeEncoded) 10 10
Dbit (kbit/s) 168,31 56,10
Nombre bits total 56 104 56 104

Je remarque que la frquence pour lencodage est gale au nombre de trames par seconde. En effet, il ny a
plus de trame crer une fois sur deux ce qui rduit le temps de calcul de lencodeur et vite donc une diminution de
la frquence lors de lencodage. De plus, le dbit, sans trames B, est plus important de 30 kbit/s pour un nombre de
trames par seconde de 30 et de 10 kits/s pour un nombre dimages par seconde de 10. Je peux donc en dduire que
lajout de trames B permet de faire diminuer le dbit de la vido : cest, de fait, une sorte de compression. Cependant,
le nombre de bits total avec une trame B est plus grand que sans. Cela sexplique par le fait, que, dans le cas o il y a
une B, on ajoute des trames et donc des bits.

Je vais dsormais mintresser aux QP de la trame I et des trames P.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
25

2.3.4.2.2. Variation de la compression des trames I (QPISlice) et P (QPPSlice)
Les paramtres modifier pour changer la qualit des trames I et P sont respectivement QPISlice et
QPPSlice. Je fais trois tests avec les mmes valeurs que dans les parties 2.3.4.1.2, 2.3.4.1.3 et 2.3.4.1.4 (0, 28 et 51).

QPISlice = 0 QPISlice = 28 QPISlice = 51
Avec 1 trame B
Nombre de bits sur lequel est code la trame I 193 256 20 704 1 752
SNR Y 75,937 dB 37,455 dB 23,35 dB
Dbit (kbits/s) 136,15 46,08 44,26
Nombre de bits total 258 680 87 560 84 088
Sans trame B
Nombre de bits pour la trame I 192 984 20 520 1 720
SNR Y 75,180 dB 37,429 dB 23,268 dB
Dbit 226,90 kbits/s 56,10 kbits/s 52,88 kbits/d
Nombre de bits total 226 904 56 104 52 880

QPPSlice = 0 QPPSlice = 28 QPPSlice = 51
Avec 1 trame
B
Intervalle sur lequel sont
codes les trames P
Moyenne
120 560 - 159 352

129 126
4 992 7 792

6 359
256 624

439
Intervalle SNR Y
Moyenne
65,241 dB - 71,563 dB
70,580 dB
36,857 dB 37,035 dB
36,931 dB
24,624 dB - 28,173 dB
25,785 dB
Dbit (kbits/s) 627,16 46,08 43,25
Nombre de bits total 1 191 608 87 560 82 168
Nombre de bits pour les
trames P
1 162 136 57 232 3 952
Sans trame B
Intervalle sur lequel
sont codes les trames P
Moyenne
106 554 - 151 824

115 953
2 960 - 4 432

3 934
120 - 312

211
Intervalle SNR Y
Moyenne
65,276 dB 70,677 dB
69,792 dB
36,788 dB - 36,930 dB
36,854 dB
24,258 dB 29,738 dB
26,108 dB
Dbit (kbits/s) 1 064,28 56,10 22,60
Nombre de bits total 1064,28 kbits/s 56 104 22 600
Nombre de bits pour les
trames P
1 043 584 35 408 1 904

Les observations faites dans la partie prcdente sont encore vraies ici : plus le QP est grand, plus la
compression des trames est grande et donc, moins elles prennent de bits. De plus, le SNR diminue en fonction du
QP : plus ce dernier est grand, plus le rapport signal sur bruit est petit et donc plus limage est de mauvaise qualit
objective.

Je peux donc en dduire que le QP a la mme fonction quil y est ou non, des trames B.

Je vais maintenant mintresser au paramtre qui permet de dfinir le nombre de trames que lon saute lors
de lencodage.

2.3.4.2.3. Variation du nombre de trames sautes (FrameSkip)
Le paramtre permettant de sauter des trames lors de lencodage est FrameSkip.

Sauter des trames signifie ne pas encoder toutes les encoder. Par exemple, si on en en saute 1, lencodeur va
coder la 0, la 2 puis la 4 et ainsi de suite. De plus, pour un mme nombre de trames encoder, plus le nombre de
trames sautes est important, plus on est loin dans la vido. Je mexplique. Si on encode 5 trames sans en sauter, on
aura les trames suivantes 0, 1, 2, 3 et 4 ; si en en saute une, 0, 2, 4, 6 et 8 ; si en saute deux 0, 3, 6, 9 et 12.

Je me suis pose la question de savoir quelle est linfluence du saut de trames sur la frquence dencodage et
sur le dbit. Pour cela, jai encod 3 fois la mme squence avec 0, 1 et 4 trames sautes.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
26







Figure 2.3.4.2.3.1. : Exemple dencodage avec 0, 1 et 4 trames sautes.
Source personnelle

0 trame saute 1 trame saute 4 trames sautes
QPISlice = QPPSlice= 28 ; QPBSlice = 30
Frquence pour lencodage 10 5 2
Dbit 56,10 kbits/s 37,50 kbits/s 18,19 kbits/s

Lorsque le nombre de trames sautes augmente, jobserve une diminution de la frquence pour lencodage
par deux lorsquil y a une trame saute et par cinq quand il y en a quatre. Le dbit est galement moins lev. Cela
peut sexpliquer par le fait que lencodeur doit calculer le nombre de trames sauter.

Aprs mtre intresse limpact des diffrents paramtres en prsence ou non de trames B. Je vais me
pencher sur la variation du nombre de celles-ci afin de voir limpact sur le dbit et la frquence pour lencodage.

2.3.4.3. Variation du nombre de trames B
Dans cette partie, je vais tudier deux cas : dans le premier le nombre de B est gal au nombre de trames
sautes (NumberBFrame = FrameSkip). Dans le second, le nombre de trames sautes est suprieur celui des B
(NumberBFrame < FrameSkip). Les captures dcrans pour toutes les exprimentations qui suivent se trouvent
lannexe II.

noter : le nombre de trames B ne peut pas tre plus grand que celui de trames sautes. En effet, pour crer une trame B,
il faut laisser une trame vide entre deux trames P ou entre une trame I et une P. (se reporter la figure 2.3.4.1.3.1).

2.3.4.3.1. Cas o le nombre de trames sautes est gal celui des trames B
Dans cette tude, les paramtres NumberBFrame et FrameSkip sont gaux. Je vais mener la mme
exprience pour quatre valeurs.

Lorsquil y a une trame B lencodage se passe de la mme manire qu la figure 2.3.4.1.3.1. Quand il y a 2
trames B, lencodage se fait comme expliqu sur la figure suivante.

Figure 2.3.4.3.1.1. : Ordre dencodage quand il y a 2 trames B
Source personnelle

Pour pouvoir comparer les rsultats, il faut que le nombre total de trames codes soit identique. Par
consquent, le nombre de trames encoder va changer en fonction de celui des B.

Je rpte cette exprience pour 0, 1, 2, 3, 4 et 5 trames B. Le paramtre de compression de celles-ci
(QPBSlice) est laiss sa valeur par dfaut c'est--dire 30.
1 3 0 2 4
Vido
6 8
Vido
2 4 0
3
Vido
B B P
4
5
6
2
I B B P
1
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
27

Nombre de trames B 0 1 2 3 4 5
Nombre de trame encoder 61 31 21 16 13 11
Nombre total de trames B 0 30 40 45 48 50
Nombre total de trames
Forme de la squence
61
IPPPP
61
IBPBP
61
IBBPBBP
61
IBBBPBBBP
61
IBBBBPBBBBP
61
IBBBBBPBBBBBP
Frquence pour lencodage 10 5 3 3 2 2
Dbit (kbits/s) 39,75 34,54 32,85 33,08 33,18 34,44
Nombre de bits total 242 504 210 704 200 400 201 800 202 368 210 080
Nombre de bits pour les trames B 0 25 384 48 720 69 056 84 480 105 296

Je remarque que le dbit diminue lorsque le nombre de trames B est gal 1 ou 2. Au-del, il r-augmente.
Le nombre bits total varie de la mme faon : sil y a plus de deux trames B, le nombre de bits ncessaire celle-ci est
grand si bien quil suffit, lui seul, faire augmenter le dbit.
La frquence pour lencodage, diminue lorsque le nombre de trames B devient grand. Lexplication de ce phnomne
est la mme que prcdemment : lencodeur a besoin dun temps de calcul plus long lorsquil y a plus de trames B.

Je vais maintenant mintresser au cas o il y a plus de trames sautes que de trames B.

2.3.4.3.2. Cas o le nombre de trames sautes est suprieur celui des trames B
Pour les exprimentations qui vont suivre, NumberBFrames est plus petit que FrameSkip. Il y a donc plus
de trames sautes que de B.

Dans le cas o il y a deux trames sautes et une B, lencodage se passe comme dcrit sur la figure suivante.

Figure 2.3.4.3.2.1. : Ordre dencodage quand il y a 1 trame B et 2 trames sautes
Source personnelle

Sil y a trois trames sautes pour une B, lencodage se droule comme suit.

Figure 2.3.4.3.2.2. : Ordre dencodage quand il y a 1 trame B et 3 trames sautes
Source personnelle
Je remarque que si lon saute 3 trames, lencodeur code une fois sur deux une trame B.

Je fais 3 encodages afin de pouvoir voir quelle est linfluence du nombre de trames sautes sur le dbit et la
frquence pour lencodage.

1 trame B
1 trame saute
1 trame B
2 trames sautes
1 trame B
3 trames sautes
Frquence pour lencodage 5 3 3
Dbit 46,08 kbits/s 33,92 kbits/s 27,80 kbits/s
La frquence pour lencodage et le dbit diminuent lorsque le nombre de trames sautes augmente. Le
mme rsultat a t observ dans la partie 2.3.4.2.3.

Aprs avoir pris en main le CODEC, je vais pouvoir tudier les deux mthodes dencodage quil propose en les
comparant de manire objective et subjective. Je vais ensuite mintresser la relation entre ces deux mthodes en
cherchant savoir sil existe une relation entre elle. Pour cela, je vais me baser sur le MOSp.
1
2
3
4
5
6
I B B P P P B
Vido
Vido
I B P
1 3
4 2
P B
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
28

3. tude de deux mthodes dencodage

Cette partie prsente les exprimentations visant permettre au CVC damliorer le CODEC. Dans un
premier temps, jai tudi les deux mthodes dencodage quil propose. Dans un second, jai mis en place des
exprimentations permettant de mettre en avant la relation entre qualit subjective et objective dune vido.

3.1. Comparaison de deux mthodes dencodage

Dans cette partie, je vais tudier les deux mthodes dencodage proposes par le CODEC (le mme que dans
la partie 2). Dans un premier temps, je les prsenterai. Ensuite, je les comparerai selon deux techniques, lune
qualifie dobjective et lautre de subjective.

3.1.1. Prsentation des deux mthodes
Les deux mthodes que jai d comparer sont les suivantes.

La premire consiste fixer la qualit des diffrentes images (I, P et B) grce aux paramtres QPISlice,
QPPSlice et QPBSlice. Dans les exprimentations que jai men, je nai pas mis de trames B, QPBSlice est donc
inutile. De plus, pour pouvoir comparer, il faut que toutes les images, quelles soient I ou P, aient la mme qualit. Par
consquent, QPISlice et QPPSlice ont la mme valeur. Ils seront, comme prcdemment, regroups sous le sigle
QP. Cette mthode est appele mthode du QP fixe.

La seconde consiste fixer le dbit de la vido que lon veut. Lencodeur, afin datteindre ce dernier, va
modifier la qualit et donc le QP de chaque image : si le dbit actuel est trop important par rapport celui que lon
veut, le QP augmente ce qui permet davoir une compression plus forte et, par consquent, de faire diminuer le dbit.
Le mcanisme inverse sapplique lorsque le dbit actuel est trop faible. Lencodeur effectue donc un contrle du
dbit. Cette mthode est appele mthode du Rate Contol (RC).
Afin de lactiver, il faut mettre le paramtre RateControlEnable
1
1. De plus, Bitrate
1
prend la valeur en bits par
seconde, du dbit que lon veut atteindre. InitialQP
1
qui permet de dfinir le QP de la trame I est mis 0. Enfin,
BasicUnit
1
est, par dfaut, 11.

La prsentation des deux mthodes tant termines, je vais pouvoir les mettre en uvre et les comparer.






















1
Ces paramtres ont t dfinis dans la partie 2.3.2.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
29

3.1.2. tude objective

3.1.2.1. Prsentation et mise en uvre
Ltude objective de la qualit dune vido se fait grce des outils mathmatiques tels que le dbit et le
PSNR* Y. Plus ce dernier est lev, meilleure est la qualit de la vido. Je vais comparer 5 squences au format qcif de
cette manire. La premire, foreman.qcif, montre un ouvrier qui parle puis la camra bouge afin de filmer le
chantier. Cette vido a un mouvement modr. La deuxime, mother_and_daughter.qcif, prsente une mre et sa
fille sur un fond uni qui parlent. Cette vido na pas beaucoup de mouvement. Sur la troisime, coastguard.qcif, on
suit de la camra un bateau de garde cte. La quatrime, stefan.qcif, est tir dun match de tennis. La dernire,
table.qcif, quant elle, prsente un match de tennis de table : au dbut, on voit juste les rebonds de la balle sur la
raquette puis la camra d-zoome afin de filmer le premier joueur ; dans la suite son angle varie pour filmer tour
tour, chacun des pongistes. Ces trois squences ont beaucoup de mouvement.


Figure 3.1.2.1.1. : Aperu des squences encoder (1
re
image)

Je vais encoder chaque vido avec la mthode du QP fix. Les squences ainsi codes auront un dbit
quelconque que je vais utiliser pour la seconde, celle du Rate Control.

Le but de cette tude est de voir la diffrence au niveau du dbit et du PSNR Y en fonction de la mthode
utilise et de comprendre la corrlation entre la quantit de mouvement dans une vido et le dbit quelle ncessite
pour une qualit donne.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
30

3.1.2.2. Rsultats
Je commence par encoder la squence foreman.qcif. Il ma t demand, uniquement pour cette
squence, de faire la comparaison des deux mthodes pour plusieurs frame rate (nombre de trames par seconde).

Squence 1 : foreman.qcif
Mthode du QP fix
QP 0 10 20 24 28 32 36 40 42 48 51
Frame Rate 30
PSNR Y 70,73 51,64 43,09 39,90 37,01 34,09 31,35 28,53 27,31 23,35 21,67
Bitrate (1) 3456,82 1512,90 412,58 239,18 140,57 83,53 51,58 32,09 25,08 11,73 8,50
Frame Rate 20
PSNR Y 70,73 51,64 43,09 39,90 37,01 34,09 31,35 28,53 27,31 23,35 21,67
Bitrate (2) 2304,55 1008,6 275,05 159,46 93,72 55,69 34,39 21,40 16,72 7,82 5,66
Frame Rate 15
PSNR Y 70,73 51,64 43,09 39,90 37,01 34,09 31,35 28,53 27,31 23,35 21,67
Bitrate (3) 1728,41 756,45 206,29 119,59 70,29 41,77 29,79 16,05 12,54 5,87 4,25
Mthode du Rate Control
Frame Rate 30
Target bitrate = bitrate (1) 3456,82 1512,90 412,58 239,18 140,57 83,53 51,58 32,09 25,08 11,73 8,50
PSNR Y 65,94 51,33 43,10 40,03 37,19 34,44 31,64 28,86 27,64 24,28 23,27
Bitrate 3162,49 1501,30 412,09 239,01 140,54 86,91 51,68 32,22 25,30 13,28 10,96
Frame Rate 20
Target bitrate = bitrate (2) 2304,55 1008,60 275,05 159,46 93,72 55,69 34,39 21,40 16,72 7,82 5,66
PSNR Y 65,94 51,33 43,10 40,03 37,19 34,44 31,64 28,86 27,64 24,28 23,27
Bitrate 2108,33 1000,87 274,73 159,34 93,69 55,74 34,44 21,47 16,87 8,85 7,24
Frame Rate 15
Target bitrate = bitrate (3) 1728,41 756,45 206,29 119,59 70,29 41,77 29,79 16,05 12,54 5,87 4,25
PSNR Y 65,94 51,33 43,10 40,03 37,19 34,44 31,64 28,86 27,64 24,28 23,27
Bitrate 1581,25 750,65 206,04 119,51 70,27 41,81 29,83 16,10 12,65 6,62 5,34
Les colonnes en italique ne sont pas reprsentes sur le graphique pour des raisons dchelle.

La mthode du QP fix donne, pour un mme QP et pour un nombre de trames par seconde diffrent, un
mme PSNR Y (en rose dans le tableau). Ce rsultat est celui attendu. En effet, la qualit dune trame nest pas
dfinie par son frame rate mais par son QP. Par consquent, le rapport signal sur bruit de la luminosit nest pas
influenc par le nombre de trames par seconde. Cependant, ce dernier a une action sur le dbit : pour un mme QP,
plus il est faible, plus le dbit diminue. Enfin, si le nombre de trames par seconde est divis par deux, le dbit de la
vido lest aussi.
La mthode du Rate Control ne permet pas davoir exactement le dbit voulu. Il y a un lger dcalage d aux
variations du QP. Je remarque que pour des dbits trs faibles ou trs levs la variation est plus grande (cellules
encadres en violet dans le tableau). Tout comme pour la mthode prcdente, les PSNR Y sont identiques pour les
diffrents frame rate : par exemple, pour le dbit le plus lev de la squence 30 images/sec, le PSNR Y est de 65,94
dB ce qui correspond aussi celui du dbit le plus lev de la squence 20 images/sec et 15 images/sec (en orange
dans le tableau). L encore, lorsque le nombre dimages par seconde est divis par deux, le dbit lest aussi.
Globalement, les rsultats des deux mthodes sont trs proches bien que celle du Rate Control semble plus
performante (se reporter au graphique la page suivante).







Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
31





Figure 3.1.2.2.1. : PNR Y en fonction du dbit pour la squence foreman.qcif


Je refais lexprience pour la squence mother_and_daughter.qcif
21
26
31
36
41
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420
P
S
N
R

(
d
B
)
Bitrate (kbits/s)
Frame Rate = 15 - QP
Frame Rate = 20 - QP
Frame Rate = 30 - QP
Frame Rate = 15 - RC
Frame Rate = 20 - RC
Frame Rate = 30 - RC
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
32

Squence 2 : mother_and_daughter.qcif
Mthode du QP fix
QP 0 10 14 16 20 24 28 32 36 40 42 48 51
PSNR Y 70,31 51,33 48,23 46,82 43,63 40,53 37,55 34,71 32,20 30,06 28,93 25,41 24,18
Bitrate (1) 3000,13 943,26 441,76 325,99 167,99 91,19 49,80 27,22 15,25 8,79 6,98 4,06 3,62
Mthode du Rate Control
Target bitrate = bitrate (1) 3000,13 943,26 441,76 325,99 167,99 91,19 49,80 27,22 15,25 8,79 6,98 4,06 3,62
PSNR Y 57,64 50,29 46,18 44,72 41,98 40,69 37,59 34,74 31,65 29,99 29,17 26,86 26,89
Bitrate 2121,92 943,62 441,91 326,17 168,11 91,19 49,84 27,30 15,60 9,19 7,36 4,70 4,62
Les colonnes en italique ne sont pas reprsentes sur le graphique pour des raisons dchelle.


Figure 3.1.2.2.3. et figure 3.1.2.2.4. : PNR Y en fonction du dbit pour la squence mother_and_daughter.qcif

La zone bleue de la courbe correspond aux points pour un QP de 14 et 16. Ils ont t ajouts afin de laffiner.
Pour des dbits suprieurs 100 kbits/s, on peut voir quil y a environ 2 dB dcart entre les deux courbes. Ce
rsultat nest pas correct. En effet, les deux mthodes sont supposes donner des rsultats proches pour ce type de
vido (i.e des vidos nayant pas beaucoup de mouvements). Afin de corriger ce problme, il faut modifier le fichier
de configuration et, plus particulirement, les paramtres BasicUnit et InitialQP.
20
25
30
35
40
45
50
55
0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950
P
S
N
R

(
d
B
)
Bitrate (kbits/s)
QP
RC
24
26
28
30
32
34
36
38
40
42
0 15 30 45 60 75 90
QP
RC
2 dB
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
33

BasicUnit a pour valeur 11 ce qui implique que lencodeur fait la moyenne du QP de tous les groupes composs de
11 macroblocs pour avoir le QP de la trame. Dans ce cas de cette vido, cela ne fonctionne pas : il y a de fortes
diffrences entre les QP utiliss au niveau des visages et de larrire-plan. Ce dernier un QP trs lev ce qui fait
augmenter la moyenne et donc le QP de la trame diminuant ainsi sa qualit. De plus, InitalQP est laiss 0 :
lencodeur doit alors slectionner la meilleure valeur pour celui-ci. Ici, lalgorithme qui doit le choisir fonctionne mal
pour cette vido (on ne sait dailleurs par pourquoi) et prend un QP trop faible. Afin datteindre le dbit voulu,
lencodeur laugmente peu peu dtriorant, de fait, la qualit de la trame et provoquant une forte diminution du
SNR Y ce qui explique la diffrence de 2 dB.

Exemple pour le point correspond au QP de 16 avec BasicUnit = 11 et InitialQP = 0.

-------------------------------------------------------------------------------
Frame Bit/pic QP SnrY SnrU SnrV Time(ms) MET(ms) Frm/Fld Ref
-------------------------------------------------------------------------------
0000(IDR) 77536 10 52.443 51.941 51.926 616 0 FRM 1
0001(P) 23496 10 50.658 50.644 50.693 2058 1132 FRM 1
0002(P) 40024 7 52.632 52.387 52.568 3133 2129 FRM 1
0003(P) 39352 7 53.169 52.243 52.695 4153 3137 FRM 1
0004(P) 35280 8 52.531 51.946 52.240 5020 4062 FRM 1
0005(P) 29032 9 51.905 51.335 51.596 5961 5052 FRM 1
0006(P) 23984 9 51.109 50.708 51.177 5947 5061 FRM 1
0007(P) 24648 9 51.199 50.957 51.296 6002 5093 FRM 1
0008(P) 31368 8 52.282 51.604 51.837 6111 5167 FRM 1
0009(P) 31936 9 51.927 51.404 51.646 6657 5653 FRM 1
0010(P) 23736 10 50.904 50.918 51.187 6042 5150 FRM 1
[]
0182(P) 6360 18 46.072 47.460 48.270 7369 6494 FRM 1
0183(P) 8624 17 46.470 47.668 47.991 7157 6320 FRM 1
0184(P) 7280 18 45.812 47.502 48.015 7459 6538 FRM 1
0185(P) 6480 19 45.222 47.266 47.673 7753 6841 FRM 1
0186(P) 5568 20 44.610 46.919 47.507 6995 6225 FRM 1
0187(P) 4696 21 43.949 46.634 47.165 7227 6459 FRM 1
0188(P) 5216 22 43.335 46.448 46.948 6680 5985 FRM 1
0189(P) 3112 24 41.751 45.876 46.396 5809 5224 FRM 1
0190(P) 4392 25 41.303 45.391 45.913 5782 5215 FRM 1
0191(P) 3720 26 40.661 44.910 45.325 5734 5183 FRM 1
0192(P) 2304 28 39.509 44.872 45.000 5889 5302 FRM 1
0193(P) 1600 30 38.542 44.301 44.546 5810 5266 FRM 1
0194(P) 1896 30 38.091 44.114 44.433 5702 5189 FRM 1
0195(P) 816 31 36.966 43.594 43.986 5644 5150 FRM 1
0196(P) 1080 33 36.651 43.555 43.948 5623 5138 FRM 1
0197(P) 552 35 35.594 43.069 43.564 5666 5190 FRM 1
0198(P) 824 35 35.350 43.082 43.633 5678 5189 FRM 1
0199(P) 2944 32 37.315 43.385 43.473 5664 5149 FRM 1


Figure 3.1.2.2.5. : QP et SNRY en fonction du numro de la trame (BasicUnit=11)

5
10
15
20
25
30
35
40
45
50
55
0 20 40 60 80 100 120 140 160 180
Numro de la trame
QP
SNR Y
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
34

On retrouve, sur lextrait de fichier log ainsi que sur la figure 3.1.2.2.5. les observations faites prcdemment.
Je vais maintenant comparer avec le cas o BasicUnit=99 et InitialQp=16.

-------------------------------------------------------------------------------
Frame Bit/pic QP SnrY SnrU SnrV Time(ms) MET(ms) Frm/Fld Ref
-------------------------------------------------------------------------------
0000(IDR) 48520 16 47.672 48.265 48.662 499 0 FRM 1
0001(P) 4744 16 46.456 46.946 47.572 1717 1020 FRM 1
0002(P) 10800 14 47.378 47.998 48.592 2842 2066 FRM 1
0003(P) 7264 14 47.444 48.036 48.396 3784 3048 FRM 1
0004(P) 16312 12 48.941 49.083 49.508 4800 4003 FRM 1
0005(P) 5488 14 47.889 48.015 48.697 5831 5123 FRM 1
0006(P) 15464 12 49.009 49.059 49.488 5875 5066 FRM 1
0007(P) 8776 13 48.415 48.554 49.225 5896 5119 FRM 1
0008(P) 7792 13 48.553 48.707 49.333 5901 5122 FRM 1
0009(P) 14992 12 49.379 49.259 49.538 6005 5170 FRM 1
0010(P) 8760 13 48.617 48.577 49.407 5803 5046 FRM 1
[]
0182(P) 11968 15 47.832 47.858 48.701 5940 5190 FRM 1
0183(P) 12144 15 47.906 48.054 48.413 5874 5150 FRM 1
0184(P) 13216 15 47.986 47.969 48.703 5949 5203 FRM 1
0185(P) 10544 16 47.247 47.652 48.175 5827 5114 FRM 1
0186(P) 12024 16 47.350 47.849 48.441 5936 5217 FRM 1
0187(P) 12328 16 47.391 47.528 48.084 5837 5110 FRM 1
0188(P) 11032 17 46.758 47.559 48.002 5891 5182 FRM 1
0189(P) 10304 18 46.045 47.239 47.807 5886 5217 FRM 1
0190(P) 7752 20 44.874 46.652 47.090 5924 5268 FRM 1
0191(P) 11784 19 45.536 46.747 47.033 5950 5246 FRM 1
0192(P) 7312 20 44.612 46.466 46.880 5933 5275 FRM 1
0193(P) 12032 18 45.740 46.820 47.193 5937 5237 FRM 1
0194(P) 10168 18 45.728 46.988 47.325 5969 5280 FRM 1
0195(P) 9568 18 45.702 46.979 47.395 5890 5207 FRM 1
0196(P) 15160 16 47.037 47.488 47.957 5894 5177 FRM 1
0197(P) 8136 18 46.075 47.124 47.510 5867 5190 FRM 1
0198(P) 11280 17 46.420 47.294 47.660 5971 5232 FRM 1
0199(P) 7312 18 45.868 47.050 47.428 6098 5390 FRM 1


Figure 3.1.2.2.6. : QP et SNRY en fonction du numro de la trame (BasicUnit=99)

Jobserve que le QP et, donc, le SNR Y subissent moins de variations. Par consquent, le PSNR Y est de 46,98 dB au
lieu de 44,72.
5
10
15
20
25
30
35
40
45
50
55
0 20 40 60 80 100 120 140 160 180
Numro de la trame
QP
SNR Y
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
35

Je r-encode la squence en modifiant ces paramtres (i.e. BasicUnit et InitialQP). Jobtiens les rsultats
suivants :

Mthode du Rate Control
BasicUnit=11 InitialQP=0
Target bitrate = bitrate (1) 3000,13 943,26 441,76 325,99 167,99 91,19 49,80 27,22 15,25 8,79 6,98 4,06 3,62
PSNR Y 57,64 50,29 46,18 44,72 41,98 40,69 37,59 34,74 31,65 29,99 29,17 26,86 26,89
Bitrate 2121,92 943,62 441,91 326,17 168,11 91,19 49,84 27,30 15,60 9,19 7,36 4,70 4,62
BasicUnit=99 InitialQP=X
PSNR Y 2 58,02 51,38 48,33 46,98 43,86 41,01 38,00 34,77 31,89 30,01 29,22 26,9 26,95
Bitrate 2201,75 943,11 442,06 325,64 167,87 91,19 49,82 27,28 15,39 8,99 7,03 4,50 3,99
Les colonnes en italique ne sont pas reprsentes sur le graphique pour des raisons dchelle.


Figure 3.1.2.2.7. : PNR Y en fonction du dbit pour la squence mother_and_daughter.qcif aprs r-encodage avec BasicUnit=99 et InitialQP=16

Je remarque que la mthode du RC est meilleure que celle du QP. Cependant, je note, encore une fois, que les
rsultats sont trs proches.

Je refais lexprience avec la squence coastguard.qcif.

20
25
30
35
40
45
50
55
0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950
P
S
N
R

(
d
B
)
Bitrate (kbits/s)
QP
RC avec BasicUnit=11 et sans InitalQP
RC avec BasicUnit=99 et un InitialQP
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
36

Squence 3 : coastguard.qcif
Mthode du QP fix
QP 0 10 20 24 28 32 36 40 42 48 51
PSNR Y 71,98 51,79 42,07 38,36 34,92 31,58 28,85 26,40 25,29 22,43 21,10
Bitrate (1) 4077,54 2069,37 756,95 438,23 227,22 100,05 45,60 22,53 16,18 7,47 5,44
Mthode du Rate Control
Target bitrate = bitrate (1) 4077,54 2069,37 756,95 438,23 227,22 100,05 45,60 22,53 16,18 7,47 5,44
PSNR Y 70,44 51,51 41,95 38,31 34,91 31,57 28,80 26,35 25,17 22,18 21,69
Bitrate 3984,53 2064,67 757,06 438,07 227,41 100,18 45,77 22,61 16,23 8,18 7,35
La colonne en italique nest pas reprsente sur le graphique pour des raisons dchelle.


Figure 3.1.2.2.2. : PNR Y en fonction du dbit pour la squence coastguard.qcif

La mthode du QP est plus performante que celle du Rate Control quel que soit le dbit. Cependant, les
rsultats des deux mthodes sont, l aussi, trs proches.

Je fais de mme avec la squence stefan.qcif.

21
26
31
36
41
46
51
0 500 1000 1500 2000
P
S
N
R

(
d
B
)
Bitrate (kbits/s)
QP
RC
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
37

Squence 4 : stefan.qcif
Mthode du QP fix
QP 0 10 20 24 28 32 36 40 42 48 51
PSNR Y 72,03 51,84 42,85 39,06 35,34 31,50 28,10 25,02 23,57 19,81 18,48
Bitrate (1) 4990,88 2667,23 1047,00 648,37 376,76 194,49 102,60 56,30 41,33 14,97 7,71
Mthode du Rate Control
Target bitrate = bitrate (1) 4990,88 2667,23 1047,00 648,37 376,76 194,49 102,60 56,30 41,33 14,97 7,71
PSNR Y 71,55 51,69 42,68 38,85 35,42 31,62 27,96 25,14 23,59 19,67 19,24
Bitrate 4945,80 2665,68 1047,18 648,24 376,92 194,6 102,77 56,38 41,44 15,56 13,67
Les colonnes en italique ne sont pas reprsentes sur le graphique pour des raisons dchelle.


Figure 3.1.2.2.8. : PNR Y en fonction du dbit pour la squence stefan.qcif

Dans ce cas, la mthode du QP est plus performante que celle du RC. Jobserve, l encore, que les rsultats sont trs
proches.

Je ritre, une dernire fois, cette exprimentation avec la squence table.qcif.




15
20
25
30
35
40
45
50
55
0 500 1000 1500 2000 2500 3000
P
S
N
R

(
d
B
)
Bitrate (kbits/s)
QP
RC
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
38

Squence 5 : table.qcif
Mthode du QP fix
QP 0 10 20 24 28 32 36 40 42 48 51
PSNR Y 70,44 50,93 42,31 39,08 36,23 33,46 30,82 28,37 27,15 23,37 21,49
Bitrate (1) 3458,27 1459,64 440,17 263,49 151,03 82,67 47,03 29,17 23,51 12,00 8,31
Mthode du Rate Control
Target bitrate = bitrate (1) 3458,27 1459,64 440,17 263,49 151,03 82,67 47,03 29,17 23,51 12,00 8,31
PSNR Y 62,55 50,78 42,97 39,69 36,58 33,55 30,56 27,7 26,51 23,24 22,60
Bitrate 2953,89 1461,25 439,46 262,46 151,14 82,77 47,11 29,25 23,60 12,67 10,51
Les colonnes en italique ne sont pas reprsentes sur le graphique pour des raisons dchelle.


Figure 3.1.2.2.9. et figure 3.1.2.2.10. : PNR Y en fonction du dbit pour la squence table.qcif

Je remarque que la mthode du QP est plus adquate pour des faibles dbits (de 8 90 kbit/s). Pour des plus levs,
cest celle du Rate Control qui est plus efficace. Cependant, ce qui mintresse ici, est de voir quelle est la mthode qui
permet davoir la meilleure qualit pour des dbits faibles. Par consquent, je peux dire que cest celle du QP fix.

20
25
30
35
40
45
50
55
0 500 1000 1500
P
S
N
R

(
d
B
)
Bitrate (kbits/s)
QP
RC
21
23
25
27
29
31
33
35
8 20 32 44 56 68 80 92
QP
RC
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
39

Je vais dsormais faire un rcapitulatif des rsultats observs afin de pouvoir conclure.

Tour dabord, jai constat que le PSN Y (ou le SNR Y de chaque trame) nest pas influenc par nombre de
trames par seconde (cf foreman.qcif). Ce dernier agit sur dbit : si le frame rate est divis par deux, le dbit lest
aussi.
Ensuite, jai remarqu quil ny a pas une mthode dencodage plus performante que lautre. En effet, si lune
fonctionne bien pour une vido, ce ne sera peut-tre pas le cas pour une autre. De plus, je constate que les vidos
ayant peu de mouvement ont une meilleure qualit objective pour la mthode du Rate Control alors que celles en
ayant beaucoup en ont une meilleure pour celle du QP fixe. Le tableau ci-dessous rcapitule quelle mthode
fonctionne mieux pour quelle squence (X dans le tableau).

foreman mother and daughter coastgauard stefan table
Mthode du QP fixe X X X
Mthode du Rate Control X X

Enfin, jai observ qu un taux de compression, un frame rate et un nombre de trames identiques, les 5
vidos ne requirent pas le mme dbit. Comment cela peut-il s'expliquer ? Il faut se pencher sur le contenu de la
vido et notamment sur l'intensit du mouvement dans celle-ci.
Dans le cas d'une vido ayant peu de mouvement (mother_and_daughter.qcif, par exemple) deux trames
successives se ressemblent beaucoup, il n'y a donc pas beaucoup de diffrence. Or, ce qui est encod est la diffrence
entre deux trames successives (cf annexe I). Par consquent, il y a peu de choses encoder ce qui permet d'utiliser
moins de bits et donc d'avoir un dbit plus faible. Si la vido contient beaucoup de mouvements rapides
(stefan.qcif, par exemple), la diffrence entre deux trames est grande, il faut donc utiliser un nombre de bits
important et donc avoir un dbit plus lev.
C'est pourquoi, pour avoir une qualit identique c'est--dire un mme PSNR Y de, par exemple, 45 dB entre
mother_and_daugher.qcif et stefan.qcif, la premire ncessitera un dbit d'environ 200 kbits/s alors que la
seconde aura besoin d'environ 1500 kbits/s. Pour avoir une qualit gale entre les deux squences,
mother_and_daughter.qcif pourra tre plus compresse que stefan.qcif.


Figure 3.1.2.2.11. : PNR Y en fonction du dbit pour les 5 squences encodes prcdement

Aprs avoir compar objectivement les vidos, je vais le faire de manire subjective.

15
25
35
45
55
65
75
0 1000 2000 3000 4000 5000
P
S
N
R

Y

(
d
B
)
Bitrate (kbits/s)
Mthode 1 (QP) : Foreman
Mthode 2 (RC) : Foreman
Mthode 1 (QP) : Mother and Daughter
Mthode 2 (RC) : Mother and Daughter
Mthode 1 (QP) : Stefan
Mthode 2 (RC) : Stefan
Mthode 1 (QP) : Table
Mthode 2 (RC) : Table
Mthode 1 (QP) : Coast Guard
Mthode 2 (RC) : Coast Guard
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
40

3.1.3. tude subjective

3.1.3.1. Prsentation et mise en uvre
Ltude subjective ne ncessite pas doutils mathmatiques : elle consiste juste en une comparaison des
diffrentes squences lil.
Il existe diffrentes mthodes afin de dfinir la qualit subjective de limage. Elles sont dcrites dans les
recommandations IUT-R BT.500-11 et ITU-T P.910. Je vais tacher de les dcrire brivement ici :
Double Stimulus Continuous Quality Scale (DSCQS). Il y a deux vidos : lune sert de rfrence et
lautre de test. Celles-ci sont prsentes deux fois aux observateurs, dans un ordre alatoire. Ils ne
savent pas laquelle est la rfrence et laquelle est le test. Ils notent chacune delle en entourant sa
qualit sur une chelle cinq paliers allant de mauvais excellent. Ensuite la diffrence de note
entre chaque paire est calcule.
Cette mthode est utilise lorsque la qualit entre les deux squences est proche.
Elle est aussi appele DCR pour Degradation Category Rating.
Double Stimulus Impairement Scale (DSIS). Contrairement la mthode prcdente, la vido de
rfrence est vue une seule et unique fois avant le test. Les observateurs notent la dgradation
entre la rfrence et le test sur une chelle cinq paliers allant dimperceptible trs ennuyeux.
Cette mthode est trs employe dans le cas o il y a une perte de qualit importante due,
notamment, aux erreurs de transmission.
Absolute Category Rating (ACR). Les observateurs voient uniquement la vido tester et notent la
qualit gnrale de celle-ci. Lchelle, comme dans le cas du DSCSQ, comporte cinq paliers allant de
mauvais excellent.
ACR est plus efficace que les deux mthodes prsentes ci-dessus car elle ncessite moins de
temps : la rfrence ntant jamais montre.
Pair Comparaison (PC). Les squences sont mises par paires de toutes les manires possibles. Les
observateurs disent quelle vido la meilleure qualit pour chaque paire.
Dans chaque cas, un minimum de 15 observateurs est requis. La moyenne des notes donnes par ces derniers sert
calculer le MOS
1
(Mean Opinon Score).

Dans mon cas (mais aussi pour des questions de temps et de nombre dobservateurs), je ne vais pas calculer
de MOS. Je vais procder une comparaison par paire (PC) afin de mettre en avant les diffrences, trame par trame,
entre deux vidos ayant le mme dbit. Pour savoir quelle vido encode avec la mthode du QP fixe doit tre
associe avec celle encode grce la mthode du Rate Control, je me rfre aux tableaux recensant les rsultats
pour chacune dentre elle. (cf pages prcdentes).

Afin de lire les squences .yuv, jutilise un lecteur libre appel Avarex YUV Player disponible ladresse
http://www.softpedia.com/get/Multimedia/Video/Video-Players/Avarex-YUV-Player.shtml. Celui-ci ne
ncessite pas dinstallation car cest une application portable.

















1
le MOS est dfini la partie 3.2.1.1.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
41

Je vais dsormais prsenter les diffrentes dgradations que peut subir une image :
Le flou


Figure 3.1.3.1.1. : Flou

Les blocs de pixels qui correspondent une zone floue dans laquelle on ne parvient plus voir les
dtails ou les contours


Figure 3.1.3.1.2. : Bloc de pixel

Les distorsions qui sont une dformation de la forme de lobjet.


Figure 3.1.3.1.3. : Distorsion

Aprs avoir prsent les mthodes de comparaison de squences vidos et les diffrentes dgradations que
peut subir une image, je vais comparer chaque vido pour dbits / QP diffrents.

3.1.3.2. Rsultats

Je regroupe mes observations dans les tableaux aux pages suivantes.
Image nette
Image floue
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
4
2


Frame
Rate
30 20 15
Squence
Dbit
approximatif
QP RC
Dbit
approximatif
QP RC
Dbit
approximatif
QP RC
foreman
140 Pas de diffrences. 159 Pas de diffrences. 119 Pas de diffrences.
83 Le visage est
flou au dbut
jusqu la trame
90.
Le visage est
flou et il y a des
distorsions
partir de la
trame 90.
Il y en a
beaucoup plus
partir de la
trame 140.
Il y a des blocs
de pixels.
93 Le visage est
flou et il y a des
petits blocs de
pixels. Ils sont
plus gros
lorsque la
camra bouge.
70 Le visage est flou
et il y a des petits
blocs de pixels lors
des mouvements
et beaucoup plus
de distorsions
partir de la trame
140.
51 Le visage est
flou.
Il y a des blocs
de pixels.
Limage est trs
floue avec
beaucoup de
blocs et de
distorsions lors
de mouvements
de camra
(autour de la
trame 180).
55 Le visage est
flou au dbut et
il y a de petites
distorsions
(trame 40).
partir de la
trame 60, plus
de diffrences.
Le visage est
flou et il y a des
blocs de pixels
partir de la
trame 70.
Il y a beaucoup
plus de
distorsions
partir de la
trame 140.
Limage est trs
floue avec
beaucoup de
blocs et de
distorsions lors
de mouvements
de camra.
41 Le visage est
flou au dbut et
il y a de petites
distorsions
(trame 20).
Le visage est flou
et il y a des blocs
de pixels partir de
la trame 80.
Limage est
globalement trs
floue avec
beaucoup de blocs
et de distorsions
lors de
mouvements de
camra ou de
mouvements
rapides du visage.
Les distorsions
sont plus
nombreuses
partir de la trame
140.


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
4
3


Frame Rate 30
Squence
Dbit
approximatif
QP RC
mother_and_daughter
91 Pas de diffrences.
49 Il y a des blocs de pixels quand la mre touche les cheveux de la
fille (trame 83).
Les visages sont flous. Il y a moins de flou partir de la trame 6
mais ils restent plus flous que pour QP.
Hormis quelques petits dtails, les vidos sont quasiment identiques.
27 Le visage de la fillette est flou. Les visages sont flous. Il y a moins de flou partir de la trame 12
mais ils restent plus flous que pour QP.
Il y a des distorsions et des blocs de pixels quand la mre bouge
la main vers la trame 153. Idem vers la trame 165.
partir de la trame 150, les visages sont identiques QP.
Il y a des blocs de pixels et des distorsions au niveau du visage de
la mre partir de la trame 191.
coastguard
227 Pas de diffrences.
100 Au niveau de leau et le larrire-plan (le gazon), il y a des blocs de
pixels au dbut de la vido (jusqu la trame 23).
Il y a des blocs de pixels au niveau du drapeau du bateau.
Larrire du bateau blanc est flou et il y a des distorsions.
La vido est floue lorsque la camra bouge.
Exceptes ces petites diffrences, les vidos sont relativement les mmes.
45 Il y a des blocs de pixels au niveau de leau et du gazon jusqu la
trame 37.
Globalement, la vido est plus floue mais avec moins de blocs et
de distorsions.
Lorsque langle de la camra change, il y a des blocs de pixels et
des distorsions au niveau de larrire-plan (autour de la trame
70). Il y a des blocs de pixels dans leau larrire du gros bateau
blanc. Des distorsions apparaissent au niveau du drapeau vers la
trame 78 et lavant du bateau autour de la trame 80.
Globalement, la vido est moins floue mais avec plus de blocs et
de distorsions.
stefan
194 Pas de diffrences
102 Limage est floue jusqu la trame 5. Il y a des blocs de pixels et des distorsions des trames 6 8.
Il y a des blocs de pixels lors des mouvements ainsi que des
distorsions (par exemple autour des trames 12, 86 ou 126).
56 Limage est floue surtout autour des jambes.
Globalement, la vido est plus floue mais avec moins de blocs et
de distorsions.
Il y a des blocs de pixels et des distorsions lors des mouvements
(par exemple autour des trames 5 ou 111).
Globalement, la vido est moins floue mais avec plus de blocs
et de distorsions.
Larrire-plan est flou et il y a des blocs de pixels.
Les vidos sont relativement similaires aprs la trame 60.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264





VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
4
4


Frame Rate 30
Squence
Dbit
approximatif
QP RC
table
151 Pas de diffrences
82 Jusqu la trame 53, larrire-plan est plus flou mais il y a moins
de distorsions au niveau des mains.
Il y a quelques blocs de pixels vers les jambes autour de la trame
170 et vers la raquette autour de la 180 et de 200.
Il y a des distorsions au niveau des mains autour de la trame 45.
Il y a des blocs de pixels au niveau des mains la trame 51, au niveau des bras
la 54 et vers la raquette la 76.
Le pongiste est flou autour de la trame 70.
Le second pongiste est flou ainsi que le filet et larrire-plan et il y a des blocs
de pixels (trame 131).
La table est floue et contient des blocs de pixels (trame 181).
47 Jusqu la trame 43, larrire-plan est plus flou mais il y a moins
de distorsions au niveau des mains.
Il y a des blocs de pixels et des distorsions au niveau des mains (trame 45 et
suivantes).
A la trame 70, de grosses distorsions apparaissent au niveau de la main qui
lance la balle. Elles se poursuivent jusqu la 80.
Plus gnralement, les distorsions et les gros blocs de pixels sont importants
jusqu la trame 115 ; dans la suite de la squence, ils sont plus petits.
Autour de la trame 140, la squence est floue.
Globalement, la qualit de la vido semble moindre.

Je constate que la mthode du RC donne un rendu visuel de moins bonne qualit que celle du QP fix. En effet, la variation du QP de chaque trame entraine des
diffrences telles que des blocs de pixels ou des distorsions. Lors dune tude mathmatique, je ne prends pas en compte ces dgradations : je ne me proccupe que du PSNR Y et
du dbit. Lorsque le QP est plus faible, le SNR Y de la trame lest aussi et inversement. Ces variations ne se compensant pas tout fait, on obtient, dans la plupart des cas un
PSNR Y plus lev ce qui permet de conclure que la vido est de meilleure qualit subjective. Visuellement, ce nest pas le cas. Par consquent, je peux dire que la mthode du
QP, bien quelle soit mathmatiquement moins bonne donne visuellement de meilleurs rsultats (lorsque lon fait de la comparaison de vido, cest toujours celle faite par lil
humain qui est considre comme la meilleure).

La perte de qualit remarque visuellement est cependant visible mathmatiquement lorsque lon fait le graphique du SNR Y en fonction du numro de la trame.



Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
45



Figure 3.1.3.2.1. : SNR Y en fonction du numro de la trame pour la squence table.qcif pour un dbit autour de 47 kbits/s

Sur le graphique ci-dessus, je retrouve les observations faites dans le tableau c'est--dire une premire baisse
de la qualit de la vido encode avec la mthode du RC des trames 45 115 (rectangle orange) (distorsions, blocs de
pixels et flou) et une seconde (en rose) autour de la trame 140 (flou). Je note galement que la vido encode avec la
mthode du RC a une meilleure qualit visuelle au dbut de la squence (encadr vert).

Afin de ne pas me rpter, je ne mets pas les graphiques correspondant chaque comparaison (pour les
dbits les plus faibles uniquement) : ils sont disponibles lannexe III. Leur commentaire, quant lui, se trouve dans
les tableaux aux pages prcdentes.


Jai, dans cette partie, compar deux mthodes dencodage. Celle du QP semble visuellement meilleure que
celle du RC.
Le CVC a rcemment dvelopp un nouvel outil permettant de faire une relation entre qualit objective et subjective.
Cest pour vrifier cette corrlation quil ma t ensuite demand dencoder les mmes squences avec un autre
CODEC donnant la valeur de cet indicateur pour chaque macrobloc. Cest ce que je fais dans la partie suivante

26
28
30
32
34
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200
table.qcif (dbit autour de 47 kbits/s)
QP
RC
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
46


3.2. tude de la relation entre qualit visuelle et MOSp

3.2.1 Dfinition du MOSp

Le MOSp ne peut tre dfini qu partir du MOS et du MSE cest pourquoi je vais dabord dfinir cest deux
indicateurs.

MOS est un acronyme signifiant Mean Opinon Score. Il permet de dfinir la qualit subjective dune vido.
Afin de le dfinir, il existe plusieurs procdures de tests dfinis dans la partie 3.1.3.1. Elles ncessitent toutes de faire
appel un panel de personnes.
Le MOS est la moyenne des notes donnes par le panel. Elles stendent sur un intervalle de 0 (mauvais) 5
(excellent). Pour des questions de commodit, le MOS est souvent ramen sur une chelle plus petite allant de 0
(mauvais) 1 (excellent).

MSE est labrviation de Mean Square Error. Cest un outil mathmatique permettant de dfinir la qualit
objective de la vido. Il est calcul en faisant la moyenne du carr de la diffrence entre la valeur de la luminosit de
chaque pixel entre la squence dorigine et celle que lon a encode.

MSE =
1
M.N.1
. |I(x, y, t) -Ic(x, y, t)]
M
x=1
N
=1
1
t=1

avec :
- I la squence originale
- Ic la squence encode
- M la largueur de la trame
- N la hauteur de la trame
- T le nombre de trame par squence

Des exprimentations, menes par les membres du CVC, ont permis de trouver une relation entre MOS et
MSE. Elles consistent encoder diverses squences pour les QP = {6, 26, 34, 36, 38, 40, 45, 45} et les faire valuer
par un panel afin de connaitre leurs MOS respectifs. La dernire tape consiste faire un graphique ayant en
ordonne le MOS de chaque squence pour chacun des QP et en abscisse le MSE de chaque squence pour chacun
des QP. Ce dernier est donn par le CODEC
Le graphique suivant est obtenu :


Figure 3.2.1.1. : MOS en fonction du MSE
Source : A novel perceptual quality metric for video compression, A.Bhat, I. Richardson et S.Kannangara
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
47


Les membres du CVC ont constat que les courbes sont linaires pour un MOS suprieur 0,1 : au-del de cette
valeur, la qualit de la vido est tellement mauvaise quelle peut tre assimile 0. Par consquent, le MOS peut tre
assimil une droite dont on peut connaitre lquation. Il est donc possible de prdire le MOS do la notion de MOSp
p signifiant predictiv ou, en franais, estim


Figure 3.2.1.2. : MOS linaris en fonction du MSE
Source : A novel perceptual quality metric for video compression, A.Bhat, I. Richardson et S.Kannangara

Par consquent, le MOSp peut tre calcul grce une quation de droite qui est la suivante :

mosp = 1 k
s
.(MSE)
avec :
k
s
une constante dpendant du mouvement de
la squence et de la quantit de texture

k
s
est calcul grce lestimation de mouvement et de texture au sein de chaque macrobloc. Cette
estimation est faite par le CODEC laide de formules particulirement complexes. Je ne les dtaillerai pas dans ce
rapport car cela napporterai pas grand-chose au sujet.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
48


3.2.2. Compilation et utilisation du CODEC

La compilation et lutilisation du CODEC se droulent de la mme manire que prcdemment, je ne
dtaillerai donc pas.
Ce CODEC est bas sur celui tudi prcdemment. En effet, un membre du CVC la modifi afin quil donne
des valeurs telles que le MOSp ou le MSE. Par consquent, il y a des paramtres en plus de ceux dcrits dans le fichier
de configuration :
MOSYFile = "mbmosp.log" #Emplacement du fichier stockant la valeur du MOSp de chaque macrobloc pour
une trame donne (Frameformosp). Il est compos de trois colonnes : la premire correspond au numro de la
trame, la seconde celui du macrobloc et la dernire au MOSp.
Exemple :
157 0 0.764015
157 1 0.556164
157 2 0.097607
157 3 0.880771
157 4 0.763209
157 5 0.672024
157 6 0.535319
157 7 0.599031
157 8 0.747061
157 9 0.764907
[...]
157 95 0.575323
157 96 0.439069
157 97 0.313856
157 98 0.637731

MSEYFile = "msey.log" #Emplacement du fichier contenant la valeur du MSE pour la composante Y de la
squence. Il est compos dune seule ligne. Exemple : Sequence MSE: 25.800414
MSEYCbCrFile = "mseycbcr.log" #Emplacement du fichier dans lequel se trouve la valeur du MSE pour les
composantes colores (C
b
et C
r
) de la squence. Il est vide (lcriture dans celui-ci nest pas active).
Frameformosp = 1 #Numro de la trame dont on veut enregistrer le MOSp de chaque macrobloc.
En plus des ajouts prcdents deux autres lignes apparaissent dans le terminal (ou le fichier si on a redirig la
sortie standard*) :
Average New MOSp qui indique la valeur moyenne du MOSp pour la squence et Average New MSEy dont la
valeur est la mme que celle contenu dans MSEYFile.

Grce aux informations fournies par ce CODEC, il ma t demand de faire une carte du MOSp de chaque
macrobloc avec un logiciel appel MatLab. Je procde donc son installation sur mon ordinateur personnel.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
49


3.2.3. Installation de Matlab R2009b

Matlab est la fois un environnement de programmation et un langage dvelopp par la socit amricaine
MathWorks. Il est utilis dans les domaines de lducation, de la recherche et de lindustrie pour le calcul numrique. Il
permet galement de faire des graphiques complexes tels que celui que lon me demande de faire.

Une fois le DVD mis dans le lecteur, la fentre suivante saffiche.


Figure 3.2.3.1. : cran de choix du type dinstallation

Je choisis dinstaller le logiciel manuellement c'est--dire sans utiliser Internet. En effet, linstallation derrire
un proxy* a tendance boguer. De plus, le CVC a dj activ le programme et a donc la possibilit de me donner les
fichiers ncessaires lactivation. Une fois la case Install manually without using the Internet coche, je clique sur
Next. Jaccepte le contrat de licence et saisi la cl fournie avec le DVD.


Figure 3.2.3.2. : cran dacceptation du contrat de licence


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
50



Figure 3.2.3.3. : cran de saisi de la cl

Il mest ensuite demand si je veux crer un compte. Nayant pas de compte, jai d en crer un (les membres du CVC
ont perdu leurs identifiants). Pour cela, jai coch la case I need to create a MathWorks account et cliqu sur Next.


Figure 3.2.3.4. : Demande de cration de compte

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
51


Ensuite, le type dinstallation (typique ou personnalise) est demand. Ne sachant pas vraiment quels sont les outils
qui sont susceptibles de me servir, je choisis une installation typique en slectionnant Typical.


Figure 3.2.3.5. : Slection du type dinstallation

Le rpertoire dinstallation est alors affich. Celui par dfaut (C:\Program Files\MATLAB\R2009b) ne me convenant
pas, je le modifie en C:\Program Files\MATLAB.


Figure 3.2.3.6. : Choix du dossier dinstallation

Les composants qui vont tre installs sont lists et, une fois que jai cliqu sur Next, linstallation commence et
dure environ 20 minutes.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
52



Figure 3.2.3.3.7. : Liste des composants qui vont tre installs et dbut de linstallation

Une fois linstallation termine, il faut que jactive Matlab. Pour cela, je coche la case Activate Matlab et je clique sur
Next.


Figure 3.2.3.8. : cran de demande dactivation du programme

Tout comme pour linstallation, le type dactivation est demand. Ayant dj les fichiers dactivation, je choisi loption
sans Internet Activate manually without the Internet.


Figure 3.2.3.9. : Slection du type dactivation
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
53


Je slectionne alors le fichier servant linstallation en cliquant sur Browse.


Figure 3.2.3.10. : Activation du logiciel

Lactivation se passe sans anicroche. Je peux donc lancer MatLab grce au raccourci prsent dans le menu Dmarrer.
Lapplication se lance.


Figure 3.2.3.11. : MatLab aprs dmarrage


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
54


3.2.4 Cration de la carte (map) du MOSp de chaque macrobloc

MatLab tant fonctionnel, je peux dsormais crer le graphique (appel map) reprsentant la valeur de
chaque macrobloc par un carr de couleur. Le rsultat est reprsent la figure suivante :


Figure 3.2.4.1. : Exemple de map avec shading flat et colorbar

Afin dobtenir le rsultat voulu, il faut crire une suite de commandes en langage MatLab dans la partie
Command Window (en rose sur la figure 3.2.3.11. la page prcdente).

La premire tape est de stocker, dans une matrice, le contenu du fichier, mosp_SquenceMthEncoVal.log
archivant la valeur de chaque macrobloc pour une trame donne. Sa composition est dcrite dans la partie 3.2.2. Pour
cela, je saisis :
A = [contenu du fichier mosp_SquenceMthEncoVal.log];

La seconde tape est de dire au programme quelle colonne correspond au MOSp (il sagit de la troisime).
Jutilise la commande suivante :
mosp = A(:,3);
A est la matrice cre prcdemment, : sert signaler quil faut prendre toutes les lignes de la matrice et 3
indique le numro de la colonne correspondant au MOSp.

mosp est actuellement reprsent sur 99 lignes et 1 colonne ; cela ne correspond pas au rsultat attendu
(cf figure 3.2.4.1.). Il faut donc mettre en forme les valeurs.
Il y a 99 macroblocs de 16 pixels de ct.
Une squence au format .qcif mesure 176 pixels de large pour 144 de haut. Pour savoir le nombre de macroblocs
placer par ligne et par colonne, il faut faire les calculs suivants :

nombre de macroblocs en largeur =
176
16
= 11 nombre de macrobloc en hauteur =
144
16
= 9

Pour trier les valeurs comme je le souhaite, il faut utiliser le script de la page suivante :

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
55


j=1;
Jinitialise j 1 ; il sert compter les lignes.
for (i=1:11:89)
Je fais une boucle dont le but est de mettre en ligne 11 MOSp.

Le premier macrobloc de la premire ligne est le 1, celui de la seconde est le
12 et ainsi de suite.











Il faut donc crer une variable dont la plus petite valeur sera 1, la plus grande
89 et lincrmenter de 11 chaque fois.
1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33
34 35 36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66
67 68 69 70 71 72 73 74 75 76 77
78 79 80 81 82 83 84 85 86 87 88
89 90 91 92 93 94 95 96 97 98 99
mosp_map(j,:)=A(i:i+10,3);
Je cre une variable mosp_map qui a j lignes de 11 MOSp et toutes les
colonnes (:) que lon a cr c'est--dire 11. Elle prend les valeurs de la
matrice A mise en forme ; c'est--dire en ligne, toutes les valeurs de i
i+10 et en colonne, la troisime c'est--dire celle du MOSp.
j=j+1;
j est incrmenter afin de faire une nouvelle ligne.
end
Je termine la boucle for.

En dautre termes, i se charge du placement horizontal des MOSp et j du vertical.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


Figure 3.2.4.2. : Fonctionnement du script cr sous MatLab
1 2 3 4 5 6 7 8 9 10 11 i
j
j+1
i+1
i+2
i+3
12 13 14 15 16
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
56


Enfin, il faut crer le graphique proprement parler. Pour cela, jemploie la fonction :
figure, pcolor(mosp_map); shading flat; axis ij; colorbar
figure, pcolor(mosp_map) permet de faire une map (i.e. des carrs colors en fonction de leur valeur). Le paramtre
entre parenthse correspond celui que lon veut reprsenter. shading flat supprime la bordure noire entre chaque
carr. axis ij correspond labscisse et lordonne du graphique (ici, i reprsente les macroblocs on le met donc
en abscisse et j le nombre de ligne, on le met en ordonne car je veux un carr de 11 par 9). Enfin, colorbar affiche
une barre droite de la figure ; elle indique la lgende.

Jobtiens le rsultat prsent la figure 3.2.4.1. Si je choisis de ne pas mettre les paramtres shading flat et
colorbar, la map est la suivante :


Figure 3.2.4.3. : Exemple de map sans shading flat et colorbar

Le script complet (i.e. tel quil est entr sous MatLab est disponible lannexe IV).

noter : pour toutes les cartes de MOSp prsentes dans ce rapport, plus la couleur du macrobloc est rouge fonce, plus le
MOSp est lev et donc meilleure est la qualit visuelle et inversement lorsque la couleur est bleue fonce (cf figure
3.2.4.1.).

Maintenant que je sais crer une carte de MOSp avec MatLab, je peux passer aux exprimentations et
lanalyse des rsultats obtenus.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
57


3.2.5. Rsultats

Dans cette partie, je prsente les rsultats de mes expriences. Il ma t demand de comparer la carte de
MOSp de deux trames lune provenant dune squence encode avec la mthode QP et lautre venant de la mme
squence encode avec la mthode RC. Ces trames doivent avoir une diffrence de qualit subjective
particulirement visible et les deux vidos doivent avoir le mme dbit (se reporter aux tableaux de la partie 3.1.3.2.).
Jai fait ces tests pour une trame de chacune des squences encodes prcdemment (cf. partie 3.1.).

Je ne dvelopperai ici que les rsultats marquant c'est--dire ceux dont la qualit visuelle est
significativement diffrente. En effet, sur certaines squences, la diffrence de qualit, bien quelle soit relativement
grande, est difficile voir ; il peut sagir de macroblocs de la mauvaise couleur dans une zone limage, de flou ou de
lgres distorsions. Ces dgradations sont extrmement ardues rendre sur le papier car limpression ne peut pas
tre parfaite. Cest pour cette raison que je ne ferai figurer ici que les trames en ayant des particulirement visibles
(les autres sont lannexe IV).

La squence foreman.qcif prsente une diffrence de qualit relativement grande entre les deux
mthodes dencodage (i.e. QP et RC) jai compar la trame 157 pour un frame rate de 30.

Dbit denviron 51 kbits/s
Mthode QP Mthode RC



Tout dabord, je rappelle que plus la couleur du macrobloc (i.e. le carr) est rouge fonce, plus le MOSp est
leve et donc, plus la qualit visuelle est grande ; plus le carr est bleu fonc, plus le MOSp est faible et, de fait, la
qualit visuelle est mauvaise.
Je remarque que la mthode du QP donne de meilleurs rsultats que la mthode du RC (la carte pour le QP
est globalement plus orange que celle pour le RC). De plus, les rgions ayant une bonne qualit visuelle ont un fort
MOSp ; je fais la mme constatation pour le cas inverse.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
58


mother_and_daughter.qcif prsente elle aussi une diffrence de qualit la trame 193.

Dbit denviron 27 kbits/s
QP RC



Dans le cas du QP, je remarque deux zones o le MOSp est fort (en trait continu) et une o il est faible (en
pointills). Je les retrouve sur la capture dcran de la trame. De plus, pour le RC, laire o le MOSp est grand est plus
vaste cest aussi le cas de celle o il est plus petit. La surface o le MOSp est peu important tant plus grande et au
niveau des visages (plus particulirement de celui de la mre), la qualit visuelle de limage apparait clairement
comme moins bonne.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
59


La dernire squence qui retiendra mon attention ici est table.qcif. Lune des trames prsentant le plus de
diffrence est la 75.

Dbit denviron 47 kbits/s
QP RC



Je remarque ici quentre la trame encode avec la mthode du QP et celle code avec la mthode du RC, il y
a une baisse de qualit significative : il y a une augmentation du nombre de carr bleu et donc une baisse du MOSp
pour ces macroblocs. Les observations faites ci-dessus se retrouvent lorsque lon compare subjectivement les deux
trames.

Les constations faites aux pages prcdentes montrent bien quil y a une relation entre le MOSp et la qualit
visuelle de la vido. Par consquent, et grce aux remarques faites prcdemment, le CVC va pouvoir amliorer ce
CODEC en faisant en sorte que la qualit entre chaque macrobloc reste constante. Pour cela, leur projet et des
rduire les donnes alloues aux zones o le MOSp est grand pour en donner aux secteurs o ce dernier est plus
faible. Il sagit donc de faire une sorte de moyenne.

Aprs avoir ralis les tches qui mont t demand, je peux dresser un bilan de mon stage.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
60


4. Laboutissement de mon stage au CVC

Dans cette partie, je vais effectuer un bilan des tches effectues pendant mon stage. Je vais dabord
voquer les rsultats obtenus puis les difficults que jai rencontres et enfin jvoquerai les prolongements possibles.

4.1. Rsultats obtenus

Lobjectif final de ce projet tait de permettre au CVC de se rendre compte de la corrlation entre qualit
visuelle et MOSp
Pour rpondre ce besoin, jai dabord du comprendre les principes gnraux dencodage en MPEG-4 / H.264. Jai
ensuite tudi les deux mthodes dencodage proposes par le CODEC. Ces mthodes sont celle du QP fixe et du
Rate Control. Jai, par la suite, compar objectivement (grce au PSNR Y) et subjectivement les squences encodes
ce qui ma permis de faire la carte des MOSp de chaque macroblocs pour deux trames (chacune provenant dune
vido encode avec une mthode diffrente). Ces dernires ont rvl quaucune des deux mthodes nencode, de
manire uniforme, tous les macroblocs et donc quil y a, en plus des diffrences de qualit entre chaque mthode, des
baisses de qualit au sein dune mme trame.
Par consquent, je peux donc dire que mon objectif est atteint car le CVC a dsormais une preuve de ce quil
supposait.

Ce stage ma permis dacqurir des comptences techniques telles que la connaissance des principes
dencodage (estimation / compensation de mouvement) ainsi que le fonctionnement dun CODEC MPEG-4 / H.264.
Jai galement appris les bases pour lutilisation de Visual Studio ainsi que celle du langage ponyme.

La russite de ma mission ne sest pas faite sans difficults. Je les voque dans la partie suivante.


4.2. Difficults rencontres

La premire difficult a t ladaptation des mthodes de travail qui mtaient inconnues : dans les pays
anglo-saxons en gnral, une place trs importante est laisse lautonomie que ce soit au niveau de la gestion de
son travail, de sa ralisation ou de l'organisation de ses horaires de travail. De plus, jai t surprise par la fait que ma
matre de stage soit tonne que je ralise ce que lon me demande rapidement et correctement. Enfin, jai d faire
avec les absences et le manque de temps de cette dernire (il mest arrive davoir termin mon travail et devoir
attendre une semaine avant quelle nait le temps de mexpliquer la suite du projet).

Sur le plan technique mes difficults ont t principalement lies la mconnaissance du codage vido. Il a
fallu que jassimile en trs peu de temps des principes pouvant tre complexes (compensation / estimation de
mouvement) ainsi quun vocabulaire spcifique au domaine et dont le sens nest pas toujours trs vident.
Une autre difficult a t de comprendre les messages derreur du CODEC lorsquun ou plusieurs paramtres ne sont
pas corrects. Ceux-ci ne sont pas trs clairs et nindiquent pas rellement quel est le problme. Lors dune
exprimentation o je cherche comprendre linfluence du format YUV sur le dbit, jai voulu le modifier (pour cela il
faut modifier YUVFormat et ProfileIDC
1
dans le fichier de configuration).
Une fois les modifications effectues, jai obtenu lerreur suivante :


Figure 4.2.1. : Erreur du CODEC

Comme le montre la capture dcran, le CODEC indique que Transform8x8Mode doit tre utilis pour des
ProfileIDC allant de 100 144. Or le profil que je veux utiliser est le 88 et aucun paramtre ne permet de rgler
Transform8x8Mode. Malgr mes recherches, je nai pas trouv de rponse, je me suis donc tourne vers ma matre
de stage qui elle non plus navait aucune ide du pourquoi de cette erreur. Je nai pas donc pas pu mener bien ces
tests (i.e linfluence du format YUV sur le dbit).
Jai aussi d me familiariser avec Microsoft Visual Studio qui nest pas reconnu pour tre un logiciel trs simple
dutilisation ni trs intuitif.

1
Ces paramtres sont dfinis dans la partie 2.3.2.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
61


Enfin, jai d utiliser MatLab et crer un script dans le langage du mme nom. La documentation sur ce dernier est
soit peut explicite, soit payante, il a donc fallu que je me tourne vers les membres du CVC. Grce quelques
explications dA.Bhat jai su comment raliser la map de MOSp.


4.3. Prolongement

Les prolongements possibles sont lamlioration du CODEC notamment par limplmentation dun
mcanisme permettant dquilibrer les donnes alloues chaque macrobloc afin davoir une qualit visuelle
identique au sein dune mme trame.
Ce projet est trs ambitieux et va probablement tre men par le CVC ds lanne prochaine. En effet,
limplmentation et la validation dun tel algorithme ncessite normment de temps et de recherches.


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
62


Conclusion

Afin dobtenir mon Diplme Universitaire de Technologie, il ma t demande deffectuer un stage de dix
semaines au Center for Video Communications de la Robert Gordon University Aberdeen, en Ecosse. Ce centre
mne des recherches sur la compression de la vido. Leur but est de trouver un moyen de la compresser en gardant la
meilleure qualit possible. Ma mission a t de mettre en avant la diffrence de qualit entre deux trames encodes
avec des mthodes diffrentes mais aussi de vrifier ou non si lindicateur cr par le CVC une bonne relation avec la
qualit visuelle.

Nayant pas de connaissance dans le domaine de la compression vido, il ma t demand de faire un travail
prliminaire me permettant de prendre en main le CODEC c'est--dire de comprendre le rle de ces diffrents
paramtres mais aussi de savoir correctement lutiliser.

Puis, jai dbut les exprimentations proprement parl en commenant pas comparer les deux mthodes
dencodage proposes par le CODEC (mthode QP et mthode RC). Il est alors apparu quaucune ntait plus
performante que lautre du point de vu mathmatique en tout cas. Cependant, lors de la comparaison subjective de
celle-ci, celle du QP a sembl clairement meilleure. En effet, dans ce cas toutes les trames ont la mme qualit ce qui
nest pas le cas avec lautre. De plus dans le cas du RC, la trame a des zones o la qualit est nettement moins bonne.
Celles-ci peuvent tre normalement mises en avant grce au MOSp qui est un indicateur ayant pour but de faire un
lien entre la comparaison objective et subjective. Cest cette supposition, qui sest avre vraie, que jai dmontr
dans cette partie.

Enfin, jai dress un bilan de ce stage dont jai rempli la mission. Cependant des prolongements sont
possibles tels que lamlioration du CODEC. Cest dailleurs lun des projets du CVC

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
63


Bilan humain

Dans cette partie, je vais faire un bilan humain de ce stage. Tout dabord, je vais prsenter les difficults
auxquelles jai t confrontes. Puis je parlerai des apports de ce stage et de son contexte sur le plan humain.

Difficults

Tout dabord, larrive Aberdeen na pas t une partie de plaisir ! Le logement de luniversit (i.e. les
Riverside Cabins) propose un confort extrmement limit : le chauffage ne remplit pas son rle, la propret laisse
dsirer, une odeur de plastique brl rgne dans les chambres, dans la cuisine, les mouches vivent dans le micro-onde
/ four, des piles dassiettes sales gisent dans lvier, la plaque de cuisine est recouverte de dpts daliments calcins
et, l aussi, on sent une odeur nausabonde.


Photographie de la cuisine
Source personnelle

Les Riverside Cabins sont une honte pour le personnel de RGU qui, quand on leur en parle, fronce les sourcils dun air
de profonde compassion.
Aprs avoir pass une nuit ici (la temprature nexcdait pas 8C), Rmi Voirin (i.e. lautre stagiaire de Clermont-
Ferrand) et moi avons dcid de partir la recherche dun appartement convenable ce qui ne fut pas une tche facile
en ce week-end Pascal. Aprs plusieurs checs, nous avons trouv, par le biais dun site permettant aux propritaires
de mettre en ligne des annonces pour louer leur appartement sans passer par une agence, notre logement.
Cependant, les difficults ne sarrtrent pas l.

tant venu en voiture, il a fallu obtenir un permis de parking car celui-ci est payant dans notre rue et sur
environ 1 mile aux alentours. Nous nous sommes donc rendus The Point, le service de la mairie les dlivrant. Une
fois sur place, on nous annona que les baux privs ne sont pas des justificatifs et quil nous faut une facture de la
compagnie dlectricit ou une lettre de luniversit. Ma matre de stage nayant pas le temps de men faire une avant
la semaine suivante, Rmi a demand au secrtariat de la School of Computing de lui en dlivrer une. Nous avons
donc obtenu, pour 22 / 3 mois, notre permis de stationnement.

Enfin, la dernire difficult rencontre a encore un lien avec la mairie de la ville. Lorsque lon vit Aberdeen,
une taxe (la Council Tax) est demande afin de payer leau et les services de la ville. tant tudiants, nous navons
normalement pas la payer. Un mois et demi aprs nous tre enregistrs la mairie, nous recevons une facture nous
rclamant la modique somme de 1080 de Council Tax. Nous nous rendons sur place afin dclaircir cette histoire.
En effet, nous napparaissons pas dans les listes dtudiants dAberdeen fournies en dbut danne la mairie. Nous
avons donc du prouver que nous tions bien tudiants (une lettre de RGU a suffi).

Malgr la diffrence de langue qui, pour des dmarches administratives requirent un vocabulaire bien
particulier, et la difficult de trouver un appartement pour moins de 6 mois (dure lgale minimale pour un bail en
Ecosse), nous avons surmont ces difficults et, de fait, pu profiter pleinement de notre stage mais aussi pu dcouvrir
Aberdeen, lAberdeenshire et mme les les Shetland.
Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
64


Apports du stage et du contexte

Ce stage sest droul ltranger, dans un pays anglophone ce qui ma permis damliorer mon anglais tant
au niveau de la comprhension (crite et orale) quau niveau de lexpression (crite et orale). De plus, le mode de
travail est totalement diffrent de ce que lon peut trouver en France. Par exemple, une grande autonomie est offerte
aux tudiants qui doivent, la plupart du temps, se dbrouiller par eux-mmes pour acqurir des comptences en
faisant des recherches et / ou des formations du type du CCNA Cisco. Par consquent, les tudiants jouissent dune
grande libert quant lorganisation et la rpartition de leur travail. En outre, une grande flexibilit est offerte au
niveau des horaires qui sont dailleurs (sur le papier) plus lgers quen France. Cet aspect ma permis de gagner en
autonomie et en organisation au niveau de mon travail. Aussi la relation tudiant / professeur semble plus ouverte ce
qui, mon avis, permet dinstaurer une sorte de confiance mutuelle qui permet une meilleure ambiance.
Globalement, les gens semblent beaucoup plus accueillants quen France ce qui offre de plus grandes facilits pour
sintgrer dans une quipe de travail dj forme depuis de longs mois. Jai dailleurs eu la sensation de bien mtre
intgre au sein du CVC.

Le bilan gnral de ce stage est trs positif. Il ma confort dans le choix de poursuivre mes tudes et,
pourquoi pas, ltranger et ma aussi permis damliorer mes comptences humaines telles que ladaptabilit, la
communication et lorganisation.


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
65


Questionnaire en anglais

INTERNSHIP TITLE: Comparaison des performances de deux mthodes dencodage pour un CODEC H.264

START DATE: Wednesday, April 7
th


END DATE: Friday, June 11
th


INTERNSHIP SUPERVISOR: Dr Yafan Zhao

Question One: Where did you do your internship?
I did my internship at the Centre for Video Communications in the School of Engineering, The Robert
Gordon University in Aberdeen. This city is the third most populous in Scotland and it is known as The Oil Capital of
Europe or as The Grey City because of the offshore oil and the granite buildings. The motto of the city is the
French words Bon Accord. This motto was used as a sign of recognition between Scottish during the war with
England.

Question Two: Who did you work with/ for?
I worked mostly alone but, once a week, my supervisor had a look at my work, answered to my questions
and explained to me what I had to do next.
When she was not available or not in the CVC lab, A. Bhat helped me. For example, she explained to me some
parameters of the CODEC and how MatLab works.

Question Three: What were you asked to do?
I had to compare the performances of two coding methods for a MPEG-4 / H.264 CODEC. The final aim is to
indicate to the CVC members if there is any way to improve the CODEC performance. In order to achieve this goal,
my work was divided in three parts describes in question four.

Question Four: Explain in stages what you did.
First of all, I did preliminary work to study the various parameters of the CODEC in order to understand how
the output sequence is influenced. For example, the parameters called QPISlice, QPPSlice and QPBSlice
(usually called QP) define the quality of the frame I (the first one of a sequence), P and B (the other frames of the
sequence). I observe that the higher the QP, the worse is the picture quality.
This work took about one month because I had to test a lot of parameters and because the encoder needs about
thirty minutes to code a video. These results are presented in the second part of this report.
After that, I had to compare two coding methods proposed by the CODEC. The first one is called fixed QP
(the QP value is chosen and it never changes during the coding). The second is called Rate Control. In this method,
the QP is not fixed. Instead, I chose a target bitrate and the CODEC tries to achieve it by changing the QP for each
frame. Once the sequences are coded with the two methods, I did a graph in order to compare objectively using
PSNR Y and bitrate which one is the best. It appears that neither of them are better: it depends on the motion in the
sequence. Then I compared those two methods subjectively (i.e. I watched the two sequences coded with each
method and I wrote the difference in quality in tables). This time it appears that the QP method is better than RC
method. In this one there are significant differences of the quality in the same frame that is why the quality seems
worse.
The last step consists of comparing a video frame encoded with fixed QP and with Rate Control. The
comparison was made using an objective video quality measure called MOSp. This frame had to have big visual
differences. Once that was done, I did a map of MOSp with software called MatLab. I noticed that the areas with a
worse visual quality had a lower MOSp. So, I can say that MOSp which is calculated mathematically has a very high
correlation with the visual quality.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
66


Question Five: Did you have any problems?
I did not have big problems. But I found that the CODEC would often give error messages which were not
clearly explained: they didnt really explain which parameters are wrong and why. A few times I asked my supervisor
because I didnt find the answer by myself and she had no idea at all about the wrong things in the CODEC. So, it was
a little annoying and I wasnt able to finish my experiments, for example, about the influence of the YUV format on
the bitrate. Another problem is the lack of documentation about MatLab and its programing language: much of the
documentation is paying and, if its not the case, its really incomplete.

Question Six: Was your work successful?
In my opinion, my work was successful because Ive done all the tasks I had to do.

Question Seven: How could your work be continued by another student?
First of all my work is completely done. The final aim was to show to the CVC what are the things which can
be improved in the CODEC. That was presented by the MOSp map. Now, the CVC will work on it to do a kind of
average between macroblocks with a high MOSp and the one with a low MOSp in order to not have any more a big
drop of the quality in certain areas of the picture.
I think the improvement of the CODEC cant be done by another IUT student. I explain. Video coding is based
on complicated concepts which need time to understand it well. Moreover, the CODEC contains a lot of C files which
is possible to modify to improve it. Ten weeks is not enough to understand video coding concepts, how the CODEC C
files work together and how modify them to do the average between high MOSp macroblock and low MOSp
macroblock. Thats why my work will be used by the CVC.

Question Eight: What technical skills did you gain from doing this internship?
In the first place, I gained skills about video coding: I understood how a MPEG-4 / H.264 CODEC works, what
are the mechanisms to code a sequence (motion estimation, motion compensation, ) and what are the coding
methods (fixed QP, RC). I learnt also what the CODEC parameters mean and what are their functions.
Moreover I gained programming skills: I discovered the basics of Microsoft Visual Studio and MatLab
programming language (for loop, table and figure).

Question Nine: What other skills did you obtain?
In addition to the technical skills listed in the previous question, I gained people skills. The first one is a better
knowledge of written and spoken English. This one is due to the context of my internship. I discovered also a new way
of work: in anglo-saxon countries a larger place is let to the autonomy and the schedule is more flexible. So, I was
able to organize my work and my schedule as I wanted. Its really different that I always known. Then Im more
resourceful with, for example, administrative papers.
Overall, I keep a very good impression about this internship as well as human and technical. It was a great
and unique experience.

Question Ten: Was the internship linked to your future studies or your future career?
I think this internship doesnt really have a link with my future studies or career despite it was really
interesting. In fact, Id like to work in networking: I hope to do a degree in this domain; for example, RSFS or ASUR
and then a Masters degree in a foreign country.
However Im sure this internship was a very good opportunity to improve my CV (and my English as well) because it
took place in a foreign country. Im very happy about the last ten weeks.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
67


Glossaire

.264 Vido encode avec un CODEC H.264. Cest le format de sortie du CODEC utilis dans
ce rapport.
.cif CIF est une abrviation pour Common Intermediate Format. Cest un format utilis
pour normaliser la rsolution horizontale et verticale en pixel des squences vido au
format YC
r
C
b
.
Les vidos en se formant ont une rsolution de 352*228 pixels, un nombre dimages par
seconde de 29,97 et les couleurs sont encodes au format YUV 4:2:0. De plus, une
trame contient 22*18 macroblocs
.qcif QCIF est labrviation de Quarter Common Intermediate Format. Les caractristiques
dune vido de ce format sont les mmes que pour le cif except quelle a une
rsolution quatre fois moins grande (176*144). Le nombre de macroblocs est lui aussi
divis par 4 (11*9).
.yuv Vido encode au format YUV. Cest le format de sortie du CODEC utilis dans ce
rapport. Cette squence, couple celle au format .264 sert recrer celle dorigine
grce au dcodeur ou lire celle encode.
CABAC Context-based Adaptive Binary Arithmetic Coding est une forme de codage entropique
utilise dans le MPEG-4 / H.264. Il permet une meilleure compression que les autres
algorithmes de compression ce qui est un des principaux avantages du MPEG-4 / H.264.
Cependant, il ncessite une grande quantit de traitements pour tre dcod.
Chrominance dsigne la couleur. Gnralement cette dernire est dcompose en 3 composantes (=
en 3 chrominaces) rouge, verte et bleue (RVB).
Codage Fait de passer dune reprsentation de donnes une autre. Par exemple, on passe de
lettres formant un mot une reprsentation en binaire de celui-ci.
CODEC COdeur / DECodeur. Il existe diffrents types de codeur/dcodeur ne compressant pas
tous les donnes de la mme manire et donc donnant rendu ayant diffrente qualit. Il
y en a pour le son et pour la vido.
Compiler Fait de transformer des fichiers crits dans un langage de programmation
comprhensible par lhomme en un programme excutable (= dans un langage
comprhensible par la machine).
Compression Technique permettant de rduire la taille de donnes numriques afin de faciliter leur
stockage ou leur envoi sur un rseau.
Compression entropique Compressions sans perte. Le code de Huffman est une forme de compression
entropique.
chantillonnage Fait de transformer un signal analogique en un numrique. Dans le cas dune image, on
utilise deux types dchantillonnage : le spatial et le temporel.
Extension Partie du nom du fichier situe aprs le . dfinissant son type. Par exemple, un fichier
.txt est un fichier texte, un .xlx est un fichier excel et ainsi de suite. Gnralement les
utilisateurs lamba ne les affichent pas (i.e. sous Windows, notamment, elles sont
masques par dfaut).
H.264 Norme de codage vido dont le but est de rduire les temps de codage et dcodage
mais aussi de permettre une meilleure adaptation au protocole utilis pour transporter
le flux vido.
IDE Un Integrated Development Environment est programme regroupant un ensemble
d'outils (diteur de texte, compilateur, dbogueur,...) pour le dveloppement de
logiciels.
Exemple d'IDE : Eclipse (dveloppement en Java), Microsotf Visual Studio, ...
Log Fichier stockant tous les vnements qui se sont produits lors dune action quelconque.
Luminance Intensit lumineuse. Dans ce rapport, la luminance est la luminosit dun pixel.
Macrobloc Unit de base utilise dans le codage de la vido. Cest un bloc de pixels de 16*16.
Monochrome Dsigne lutilisation dune seule couleur dont on fait varier la luminosit pour faire des
nuances. Le noir et blanc est le plus clbre monochrome : la couleur utilise est le
noir dont on fait varier la luminosit pour obtenir des nuances de gris allant jusquau
blanc.

Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
68


MPEG-4 Norme de codage des squences audio-visuelles dans le cas dapplications multimdias
(tlchargement, streaming, vido et radio mobile, jeux vido, tlvision, support
haute dfinition).
Ptrole offshore Ptrole se trouvant dans un gisement en haute mer. On lexploite grce des
plateformes ptrolires.
Proxy Serveur servant relayer les requtes entre un poste client et un autre serveur. Il est
couramment utilis dans les collectivits notamment pour rguler laccs Internet.
PSNR Le Peak Signal to Noise Ratio est un indicateur de qualit objectif de la vido. Son unit
est le dcibel (dB). Il est calcul grce la formule suivante :
PSNR =10.log
10
m`
MSL

avec m la valeur maximale que peut prendre un pixel (sil est cod sur 8 bit, la
valeur maximale est de 255).
RTP Real Time transfert Protocol est un protocole de communication
Sortie standard Dans le cas dun terminal Unix ou dune console Windows, la sortie standard est
lendroit o sont affichs les rsultats de commande. Par dfaut, celle-ci est lcran
mais il est possible de la rediriger dans un fichier par exemple.
Systme visuel humain Ensemble des organes permettant la perception visuelle. Il regroupe les organes
suivants :
l'il et plus particulirement la rtine
les nerfs optiques
le chiasma optique
le tractus optique
le corps genouill latral
les radiations optiques
le cortex visuel


Comparaison des performances de deux mthodes dencodage pour un CODEC H.264




VERGNE Aurore 2
me
anne Rseaux et Tlcommunications
2009-2010
69


Bibliographie

Ouvrages :

Iain E.G. Richardson, H.264 and MPEG-4 Video Compression Video compression for Next-generation Multimedia,
John Wiley & Sons Ltd, 2003

Stefan Winkler, Digital Video Quality Vision Models and Metrics, John Wiley & Sons Ldt, 2005


Publications :

Abharana Bhat, Iain Richardson and Sampath Kannangara, A Novel Perceptual Quality Metric for Video
Compression, Picture Coding Symposium 2009, California, Illinois, USA, mai 2009
disponible aussi ladresse suivante : http://www4.rgu.ac.uk/files/PCS_46.pdf

International Telecommunication Uninon section Telecommunication, Recommendation P.910 - Subjective video
quality assessment methods for multimedia applications, 2009
disponible aussi ladresse suivante : http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-P.910-
200804-I!!PDF-E&type=items

International Telecommunication Uninon section Radiocommunication, Recommendation BT. 500-11 - Methodology
for the subjective assessment of the quality of television pictures, 2002
disponible aussi ladresse suivante : http://www.dii.unisi.it/~menegaz/DoctoralSchool2004/papers/ITU-
R_BT.500-11.pdf


Sites web :

CODEC :
Site o est publi le CODEC : http://iphome.hhi.de/suehring/tml/download/version 12.1
Documentation : http://iphome.hhi.de/suehring/tml/JM%20Reference%20Software%20Manual%20%28JVT-
AE010%29.pdf

Lecteur YUV :
http://www.softpedia.com/get/Multimedia/Video/Video-Players/Avarex-YUV-Player.shtml

Projet de James Philip :
http://www.openvideocoding.org

Renseignements gnraux :
http://www.en.wikipedia.org
http://www.fr.wikiperdia.fr
http://www.aberdeencity.gov.uk
http://www.rgu.ac.uk




La compression de la vido est de plus
en plus utilise dans le cas de transferts
sur un rseau quelconque de vidos
(streaming, tlchargement, ). Elle a
pour but de rduire le dbit ncessaire
celle-ci et, de fait la bande passante.
Cependant, compresser une vido
implique, ncessairement une perte de
qualit objective et subjective qui
peut savrer gnante.
Le Center for Video Communications a
pour projet de limiter au maximum
cette perte mais aussi dtablir une
relation, laide du MOSp, entre ces
deux types de qualit.

Pour cela, il ma t demand de
comparer deux mthodes dencodage
dun CODEC MPEG-4 / H.264 afin de
dterminer objectivement et
subjectivement quelle est la meilleure. Par
la suite, jai d vrifier la relation entre
ces deux modes de comparaison afin de
voir si le MOSp est viable.

Les rponses ces interrogations se
trouvent dans le prsent rapport.