Top Banner
Techniques de compression video des standards MPEG Paul-Kenji Cahier [email protected] Travail d’Etude 2003-2004 Encadrant : Mathias Ortner Universite de N ICE -S OPHIA A NTIPOLIS
27

Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Jul 29, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Techniques de compression video desstandards MPEG

Paul-Kenji [email protected]

Travail d’Etude 2003-2004

Encadrant : Mathias Ortner

Universite de NICE-SOPHIA ANTIPOLIS

Page 2: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Résumé

Les systèmes de compression MPEG sont utilisés partout dans la vie courante. LeMPEG2 est utilisé dans tous les DVD, et même dans les transmissions d’images par sa-tellite. Ce document vise à décrire simplement leurs principes de fonctionement et leursméthodes. L’étude se fera sur le MPEG1, le MPEG2 et le MPEG4 qui sont les seuls for-mats MPEG à être réellement standardisés et utilisés.

Mots clés : compression vidéo, MPEG, bloc, frame, prédiction de mouvement

1

Page 3: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Table des matières

1 Introduction 3

2 Description non technique 42.1 Vocabulaire général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Historique détaillé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 MPEG1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 MPEG2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 MPEG3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.4 MPEG4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.5 MPEG7 et MPEG21 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Techniques communes au MPEG 1/2/4 93.1 Espaces de couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Discrete cosine transform, Quantisation&Compression du bloc . . . . . . . . . 123.3 Type de frames et fonctionement global . . . . . . . . . . . . . . . . . . . . . 15

3.3.1 I Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.2 P Frames et B Frames . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.3 Ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.4 Estimation du mouvement . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4 Controle de flux et de qualité . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 Techniques spécifiques au MPEG 2/4 et techniques d’amelioration 204.1 Quarter-pel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2 GMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Quantisation Adaptative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.4 4MV pour les macro-bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.5 Multiples P frames successives . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Conclusion 25

2

Page 4: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

1 Introduction

L’utilisation de vidéo numerique ne s’est répendue à grande échelle que depuis la moitiédes années 1990. Cependant, dès les années 1960 des techniques de compression analogiqueavaient été testées, sans réel succès. Dans les années 1980, la première forme de compressionde vidéo numerique, H.120, est apparue, utilisant un schéma de compression dit DPCM, ana-logue à celle utilisée dans les CD Audio.Cependant cette technologie était limitée, et laissait à désirer quant à la qualité. En effet, cecodec utilisait une compression basée au niveau du pixel, ce qui ne permet pas de déscendre endessous d’un bit par pixel(puisqu’il faut indiquer l’existence du pixel), une compression beau-coup trop faible. Celà amena l’ère des codec dit "à blocs". La fin des années 80 amena ainsi denombreux codecs basés sur la DCT(Discrete Cosine Transform), aussi utilisée par le standardJPEG. Le premier codec utilisant correctement la DCT fût le H261, finalisé en 1989. Le debutdes années 1990 amena le groupement MPEG(Motion Picture Experts Group) a standardiser lepremier système numérique de qualité VHS, le MPEG1.

Le développement rapide du MPEG1 le rendit facile d’accès. Cependant il souffrait de nom-breuses limitations, en particulier sa non-adaptation à la télévision entrelacée, et sa limitationde debit de données. Le MPEG2 apparût ainsi pour résoudre ces problèmes, et reste à ce jour leformat le plus utilisé, depuis les DVD Vidéo, jusqu’à la télévision Haute Définition (HDTV),en passant part les transmissions vidéo par satellite. Ce format laisse un large choix de matérielet de logiciel pour le décodage, le rendant aisément utilisable, ainsi qu’une grand adaptabilité.Son utilisation reste prévue à long terme puisque la télévision HDTV aux Etats-Unis prevoit saglobalisation sur tout son territoire en 2014. La recherche et le développement de compressionsvidéo ne s’arrête cependant pas la, et depuis 1998 le standard MPEG4 fait son apparition. LeMPEG4 utilise une technologie plus complexe et possède donc de bien meilleurs résultats, maisson utilisation reste a l’heure actuelle essentielement expérimentale.

3

Page 5: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

2 Description non technique

2.1 Vocabulaire général

Définition 1 (Codec) Vient de compresser/decompresser ; technologie permettant de traiterune information en l’encodant et la décodant. Un codec peut être une technologie logiciel,materiel, ou une combination. Dans ce document on se referera a un codec en tant que codecvideo, donc une methode de compression/decompression de la video numerique.

Définition 2 (Bitrate ou débit binaire) Désigne la quantité d’information utilisée par rapportau temps(c’est un débit). C’est une mesure particulierement utile en vidéo numerique, en par-ticulier lorsqu’il s’agit de faire du "streaming"(transport de flux a travers un réseau).

Définition 3 (DPCM) Abbréviation de Differential Pulse-Code Modulation. Méthode d’enco-dage digitale dans laquelle on divise la donnée en éléments atomiques, les échantillons, etl’on calcule ensuite la différence entre chaque échantillon et le precedent ; on sauvegarde cetteinformation.

Définition 4 (VHS) Video Home System : format analogique de vidéo qui utilise des casettesmagnétiques.

Définition 5 (HDTV) High Definition Television, Télévision Haute Definition, standard tresrécent pour la télévision à grande résolution spatiale,

Définition 6 (Multiplexage) Action de réunir plusieurs flux de base dans un flux contenant.Par exemple, multiplexer l’audio et la vidéo permet d’obtenir un flux audio/vidéo complet.

Définition 7 (Frame) Représentation d’une video à un instant t donné ; on représente l’imagede maniere discrète en règle générale. Dans tout le document le terme frame est largementutilisé bien qu’il ne soit pas français. En effet, le mot équivalent en français, "Image", tends àêtre beaucoup moins précis(il peut désigner toute sorte de représentation visuelle).

Définition 8 (Composantes) Une image couleur se divise en plusieures composantes, qui sontles différentes informations constituant l’image, par exemple la composante rouge, la compo-sante verte et la composante bleue.

Définition 9 (Bloc) Sous ensemble de même résolution horizontale et verticale d’une image.

4

Page 6: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

2.2 Historique détaillé

2.2.1 MPEG1

MPEG1 fut le premier standard du groupement MPEG permettant de traiter une compres-sion vidéo numérique. Le résultat est plus de 5 publications, qui forment le MPEG1. En 1993les trois premières parties furent accepté par l’ISO, et traitent des flux binaires de vidéo(Part1),son(Part2) et de leur multiplexage(Part3). La partie 4(1995) décrit une plateforme de tests pourvérifier la compatibilité sur tout les supports, et la partie 5(1998) est une implémentation deréference des algorithmes.

Document Contenu AnnéeISO/IEC 11172-1 Synchronization et multiplexage 1993ISO/IEC 11172-2 Compression des flux videos 1993ISO/IEC 11172-3 Compression des flux audios 1993

CD 11172-4 Verification des compatibilites, et des flux 1995ISO/IEC 11172-5 Implementation de Reference 1998

FIG. 1 – Années de parution des documents

Le MPEG1 utilise une résolution de 352 pixels par 240 pixels, soit environ 85000 pixels.Son débit binaire typique est de l’ordre de 1.5Mbps.

5

Page 7: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

2.2.2 MPEG2

Les limitations du MPEG1 furent vite apparentes. Sa résolution limitée et sa qualitee assezbasse n’en faisait pas un standard capable de durer dans le temps face a l’évolution rapide desmoyens informatiques et numériques. Sa standardisation final se fit de 1998 a 2000, au traversde nombreux documents décrivant chaque partie du standard. En particulier, le MPEG2 laisseplace à un bien plus large éventail de choix en ce qui concerne la résolution et le controle dudébit binaire. Le MPEG2 comporte 9 parties comme indiqué sur la figure. A l’origine il devaitcontenir 10 parties, mais la partie 9 fut abandonnée après que son utilité fût jugée faible ; elleconcernait la vidéo à sample 10 bit, c’est a dire avec un éventail de couleurs plus grand.

Document Année&Type ContenuISO/IEC 13818-1 2000 Flux binaires systeme, multiplexageISO/IEC 13818-2 2000 Codage et compression des flux videosISO/IEC 13818-3 1998 Codage et compression des flux audiosISO/IEC 13818-4 1998 Plateforme de verification des fluxISO/IEC 13818-4 1998/Cor 2 CorrectifISO/IEC 13818-4 1998/Amd 1 Premier amendement,

test des flux audio AAC(Advanced Audio Coding)ISO/IEC 13818-4 1998/Amd 2 Deuxiement amendement,

adaptation de l’envoyeur a la cible de receptionISO/IEC 13818-4 1998/Amd 3 Troisieme amendement,

precision sur la conformite des flux audiosISO/IEC TR 13818-5 1997 Code de Reference pour l’encodage logicielISO/IEC TR 13818-5 1997/Amd 1 Amendement,

Codage AAC(Advanced Audio Coding)ISO/IEC 13818-6 1998 Extension pour le DSM-CC

(Digital Storage Media Command and Control)ISO/IEC 13818-6 1998/Cor 1 CorrectifISO/IEC 13818-6 1998/Amd 1 Additions concernant la transmission a distanceISO/IEC 13818-6 1998/Amd 2 Additions convernant l’interactiviteISO/IEC 13818-7 1997 Reference codage AAC(Advanced Audio Coding)ISO/IEC 13818-7 1997/Cor 1 CorrectifISO/IEC 13818-9 1996 Reference pour le decodage materiel en temps reel

ISO/IEC 13818-10 1999 Conformite pour le DSM-CC

FIG. 2 – Années de parution des documents et contenu

6

Page 8: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

2.2.3 MPEG3

Le MPEG3 etait a l’origine destinee aux trés hauts débits mais ne vit pas le jour en tantqu’entitée puisqu’il fut assimilé au standard MPEG2.

2.2.4 MPEG4

Dès 1995, le standard MPEG4 commenca a émerger du point de vue théorique. Le premierdocument officiel le concernant fût écrit au début de 1998, c’est l’iso ISO 14496. Le but duMPEG4 est d’englober les codecs MPEG existant et de leur rajouter une nouvelle dimensionpermettant un standard beaucoup plus maléable et étendu.

Partie Contenu WD CD FCD FDIS IS1 Flux Systèmes 97/11 98/03 98/10 99/04

1/Amd x Flux Systèmes v.2 97/10 99/03 99/07 99/12 00/021/Amd 1 BIFS Etendus 00/03 01/01 01/031/Amd 2 Formattage texte 01/03 02/03 02/051/Amd 3 Outils IPMP specifiques 01/07 02/03 02/07 02/091/Amd 4 AFX et MUW 01/12 02/05 02/10 02/121/Amd 5 Texte Commun MP4 01/12 02/03 02/07 02/091/Amd 6 Texte Specifique MP4 MPEG-4 01/12 02/03 02/07 02/09

2 Encodage Video 97/11 98/03 98/10 99/042/Amd x Encodage Video v.2 97/10 99/03 99/07 99/12 00/022/Amd 1 Profile Studio 00/03 00/07 01/01 01/032/Amd 2 Profiles de Streaming Video 00/03 00/07 01/01 01/032/Amd 3 Nouveau niveau et outils 01/07 01/12 02/03 02/10 02/12

3 Encodage Audio 97/11 98/03 98/10 99/043/Amd x Encodage Audio v.2 97/10 99/03 99/07 99/12 00/023/Amd 1 Extensions Audio Compatibles 01/12 02/05 02/10 03/03 03/05

4 Test de conformite 97/10 98/12 99/07 99/12 00/024/Amd 1 Extentions des tests de conformite 98/12 99/12 00/07 01/01 01/03

5 Code de Reference 97/11 98/03 99/03 99/055/Amd 1 Extensions du code de Reference 97/10 99/07 99/12 01/01 01/03

6 Distribution Multimedia Integrée 97/07 97/11 98/03 98/10 99/04Plan de travail (DMIF)

6/Amd 1 Plan de travail DMIF v.2 97/10 99/03 99/07 99/12 00/087 Optimization Logiciel MPEG-4 1/12 02/02

et outils (encodeur video)8 Partie 4 pour les reseaux IP 01/03 01/07 01/12 02/029 Description du materiel de Reference t.b.d.

10 Codage Video Avancé 01/12 02/05 02/07 02/12 03/02

FIG. 3 – Années de parution des documents

7

Page 9: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Les abbréviations sont les suivantes :WD : Working Draft, esquisse de travailCD : Committee Draft, esquisse de commitéFCD : Final Committee Drafts, esquisse finale de comittéFDIS : Final Drafts of International Standard, esquisse final pour le standard internationalIS : International standard, standard international Pour qu’un document du comitté MPEG soitaccepté par le standard ISO, il doit passer par chacune de ces commissions.

Comme on peut le voir sur le tableau ci-dessu, le MPEG4 dépasse completement la com-pression vidéo classique il se divise en de nombreuses parties permettant de traiter des conte-nues multimedia en considérant l’image composée d’objets, tels des objets 3D ou plus. Cesparties ne peuvent plus réellement être qualifiée de compression vidéo, et ne seront donc pastraitées dans ce document.

2.2.5 MPEG7 et MPEG21

Le MPEG7 est le dernier né de la famille des codecs MPEG, et a reçu sa première esquisseofficielle en Septembre 2000. Le MPEG7 ne concerne plus vraiment la compression vidéo maistraite essentielement de contenu multimedia et d’interactivité. Le MPEG21 étends le MPEG7,et est encore en pleine naissance.

8

Page 10: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

3 Techniques communes au MPEG 1/2/4

3.1 Espaces de couleurs

Pour travailler sur des images numériques, on discrétise ces images. On représente doncune image par une fonction à deux variables, les coordonnées, qui renvoie la couleur au pointdemandé de l’image. La représentation classique d’une image numérique utilise un espace decouleur dit RGB. Cela correspond a une représentation discrète de l’image oû l’on quantifie lacouleur en chaque point par trois valeurs : Rouge, Vert et Bleu(RVB ou RGB en anglais). Cetteprésentation a cependant plusieurs défaults : elle utilise une grande quantité d’information etne tient pas compte du fait que l’oeil humain ne perçoit pas les couleurs en RVB mais au tra-vers de deux types de cellules : les une percoivent la luminositée(en noir et blanc), et les autresla coloration. Les codecs MPEG ne compressent donc pas des images RVB, mais utilisent unespace de couleurs plus approprié, de façon à mieux profiter du format de la vision humaine.Le format adopté est un format dit YUV.Y represente la luminosite U represente la premiere valeur de chrominance(ou chroma) V re-presente la deuxieme valeur de chrominance(ou chroma)Il faut evidement 3 composantes indépendantes pour pouvoir avoir un espace de couleur com-plet.Les formules permettant de passer d’un espace RVB a YUV et inversement sont assez simples,et correspondent à des produits matriciels (Ce sont des changement de bases, puisque ce sontdes espace vectoriels de dimension 3).

Y = (0.257 ∗ R) + (0.504 ∗ G) + (0.098 ∗ B) + 16Cr = V = (0.439 ∗ R) − (0.368 ∗ G) − (0.071 ∗ B) + 128Cb = U = −(0.148 ∗ R) − (0.291 ∗ G) + (0.439 ∗ B) + 128

et

B = 1.164 ∗ (Y − 16) + 2.018(U − 128)G = 1.164(Y − 16) − 0.813(V − 128) − 0.391(U − 128)R = 1.164(Y − 16) + 1.596(V − 128)

9

Page 11: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

FIG. 4 – Exemple de différentes composantes dans différents espaces de couleurs

10

Page 12: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

L’utilisation du format YUV permet de profiter d’une caractéristique de l’oeil humain :sa capacité de distinction des couleurs est plus faible que celle de distinction de la luminosité.Cela permet de réduire la quantite d’information des espaces de chrominance par rapport à cellede luminosité, on fait donc ce qu’on appelle du sous-échantillonage sur les composantes U etV. Cela correspond en géneral à les réduire de moitié de résolution(et donc à diviser par 4 leurtaille en memoire), pour une perte de qualité assez faible(le gains en espace est important)

FIG. 5 – Les composantes U et V sont sous-echantillonées

On distingue plusieurs espaces YUV aux caractéristiques différentes, utilisées par les for-mats MPEG 1/2/4. Les compressions vidéos MPEG 1/2/4 utilisent toutes à la base le format ditYV12(YUV 4 :2 :0). Cependant depuis le MPEG2, le support de formats professionels de hautequalitée, dit YUV 4 :2 :2, est possible. En pratique ceux-ci ne sont quasiment jamais utilisé.

11

Page 13: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

3.2 Discrete cosine transform, Quantisation&Compression du bloc

La DCT permet de transformer un bloc d’une composante, en un ensemble de fréquencesdécrivant le même ensemble(c’est un changement de représentation isomorphe). Une fois deplus le but final et de profiter des faiblesse de l’oeil humain qui remarque beaucoup moins uneperte de données réparties que localisée. (Un peu de bruit dans l’image genera beaucoup moinsque quelques pixels completement faux)

La définition formelle de la DCT à deux dimensions est la suivante :F(u,v) est la transformée, c’est la fonction qui donne la valeur pour le couple de frequence (u,v).F (u, v) = 2

N∗ C(u) ∗ C(v) ∗

∑N−1x=0

∑N−1y=0 f(x, y)cos( (2x+1)uπ

2N)cos( (2y+1)vπ

2N)

avec u, v, x, y = 0, 1, 2, ...N − 1

ou x et y sont les coordonees spatialeou u et v sont les coordonees dans la transformée

et avec C(u), C(v) =

{ 1√

2pour u, v = 0

1 sinon

et la transfromation inverse, l’IDCT est defini ainsi :f(x, y) = 2

N

∑N−1u=0

∑N−1v=0 C(u)C(v)F (u, v)cos( (2x+1)uπ

2N)cos( (2y+1)vπ

2N)

En pratique dans les encodages MPEG, la DCT est utilisée sur des blocs. Le bloc est trans-formé dans le domaine fréquentiel par la DCT. Au moment du décodage on applique ce quel’on apelle l’IDCT(Inverse Direct Cosine Transform) qui permet de repasser au domaine spa-tial.

La quantisation intervient juste apres avoir transforme un bloc via la DCT. La quantisationrevient a diviser un tableau par un autre tableau. On divise chaque valeur obtenu par DCTpar la valeur correspondante dans un tableau. La methode classique utilisee par le MPEG4, leH263, divise par une même valeur tout les coefficients. Ceci permet de "simplifier" l’informa-tion contenue, et donc de rendre la compression plus facile. En effet, on ramène l’ensemble desvaleur à un ensemble plus petit, ce qui le rendra plus aisement compressible par une compres-sion de type entropique classique(comme huffman).

12

Page 14: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Exemple 1 Soit le bloc de taille 8x8 suivant :

150 170 132 185 147 190 215 220165 185 130 190 175 196 223 199155 163 180 220 202 173 197 170143 154 160 170 211 185 190 166130 140 172 190 193 150 180 140135 164 198 180 177 141 172 135170 190 163 140 165 132 160 140160 200 145 135 170 199 190 129

Une fois transformé par DCT on obtient :

338 −49 −39 10 −23 12 −64 562 −78 16 −13 35 24 −6 −428 −7 76 27 −27 −13 −10 −44

−31 1 8 −40 6 12 4 3−9 −34 0 24 −10 −7 7 −8−9 10 14 −10 10 −13 10 1111 3 −29 −20 −7 14 9 0−8 14 −8 −17 16 13 −2 2

On applique alors la quantisation qui revient a diviser chacun des coefficients par la matricedu JPEG par exemple :

16 11 10 16 24 40 51 6112 12 14 19 26 58 60 5514 13 16 24 40 57 69 5614 17 22 29 51 87 80 6218 22 37 56 68 109 103 7724 35 55 64 81 104 113 9249 64 78 87 103 121 120 10172 92 95 98 112 100 103 99

On obtient :

21 −4 −3 0 0 0 −1 05 −6 1 0 1 0 0 00 0 4 1 0 0 0 0−2 0 0 −1 0 0 0 00 −1 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0

On parcours ensuite la matrice de coefficient obtenu en zigzag.

13

Page 15: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Exemple 2 Par exemple dans l’exemple prescedent on obtient :21-4 50 -6 -30 1 0 -20 0 4 0 00 1 1 0 -1 00 0 0 -1 0 0 -10 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 00 0 0 0 00 0 0 00 0 00 00

On obtient donc une suite de coéfficients, que l’on compresse a l’aide d’une compression en-tropique du type huffman. Gràce à la quantisation on a de nombreux zéros, et la compressionest bonne.En jouant sur les coefficients de quantisation on peut facilement "rajouter ou enlever" de l’in-formation et ainsi controller la taille du bloc compressé. Le résultat à évidemment un aspect deplus en plus différent de l’image d’origine par ce processus, ou l’on augmente la quantisation,puisque l’on élimine de l’information par arrondi.

14

Page 16: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

3.3 Type de frames et fonctionement global

Il existe trois types de frame dans la compression MPEG : Les I frames, dites Intra Frames,ou key frames Les P frames, dites Inter Frames, Delta Frames, ou prediction frames Les Bframes, ou Bidirectional frames

3.3.1 I Frames

Les I frames ressemblent beaucoup à une compression de type JPEG. Leur codage revientsimplement à prendre l’image, la découper en blocs de 8x8 pixel, et à coder chaque bloc viaDCT, quantisation et compression(cf Figure). On modifie le coefficient de quantisation si l’onveut changer la taille finale, puisque ce coefficient permet de jouer sur l’information restanteprésente. Leur nom, Intra, dérive du fait qu’elles sont complètement indépendante de touteautre information dans la vidéo ; ces frames sont bien entendue très rapidement gourmandes enmémoire, mais possèdent l’avantage d’avoir une image entière codée.

FIG. 6 – Compression dans une I Frame

15

Page 17: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

3.3.2 P Frames et B Frames

Les P frames sont obtenues de manière plus complexe. On va d’abord chercher à trouver ceque l’on appelle des "motion blocks", des blocs de mouvement. Ces blocs sont en fait des blocsque l’on trouve dans la frame précedente et qui ont simplement bougé. Cela correspond a l’idéeque la frame suivante sera en grande partie similaire à la frame existante, et que de nombreuxmorceaux n’auront que bougés. Cette idée permet de gagner largement en compression puisquechaque bloc trouvé par compensation de mouvement n’aura pas besoin d’etre entierement re-codé, il suffira de stocker son vecteur. On cherche donc un maximum de ces blocs pour pouvoirréduire la quantité d’information necessaire. L’information qui ne peux être trouvée par com-pensation de mouvement sera codée traditionellement ; comme dans une I frame, par un codageDCT. La P frame est donc une mozaique de blocs composés d’un vecteur(pour indiquer ou sesituait le bloc dans la frame précedente) et de blocs complets. En pratique, ces vecteurs, appelé"motion vectors", sont recherché sur une taille fixée de 16x16 pixel(c’est-à-dire 4 blocs) (endessous, le vecteur aura une efficacité bien inferieure a celle d’un codage complet).Les B frames poussent le concept des P frames plus loin ; alors qu’une P frame ne se base quesur la frame précedente, la B frame utilise egalement des frames "dans le future" pour faire dela compensation de mouvement. Celà permet encore un nouveau gain(en particulier lorsque lacompression est forte) mais demande à pouvoir décoder des frames à l’avance.

FIG. 7 – Vecteur de compensation de mouvement dans une P Frame

3.3.3 Ordre

Comme les B Frames demandent à connaître à l’avance d’autres frames, on les stocke dansun ordre différent de l’ordre d’affichage, comme indiqué sur la figure.

16

Page 18: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

FIG. 8 – Réferencement des frames entres elle dans un flux video MPEG

3.3.4 Estimation du mouvement

Pour calculer la compensation de mouvement, on precalcule l’estimation du mouvement.Cette technique fonctionne en pré-calculant les vecteurs de mouvement. Pour celà on prend unbloc et on le compare dans un rayon donné à tout les blocs aux alentours dans la frame suivante.Si il correspond a un bloc alors on calcule le vecteur qui lui correspond. Ce vecteur permettraensuite de determiner la P frame/la B frame suivante, bien plus aisément.

FIG. 9 – Champs de vecteur de compensation

17

Page 19: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

3.4 Controle de flux et de qualité

De facon à pouvoir transmettre un flux de manière constante on demande en géneral d’avoirun débit le plus constant possible, ou du moins d’avoir la possibilité de le modérer. Pour cela onutilise la quantisation, et bien sur la quantite de recherche faite pour les B frames et les P frames.La quantisation permet d’instantanement réguler la taille des frames en augmentant/diminuantla quantité totale d’information, au détriment de la qualité. La quantité de recherche faite per-met elle d’optimiser la taille sans perdre de qualite, mais demande plus de traitement(ce n’estdonc pas une solution viable pour un traitement hardware ou la quantite de calculs est fixee).Enfin, lors de la recherche des vecteurs de compensation pour les P frames et B frames, onétablit un coefficient pour juger si deux blocs sont suffisement similaires ou pas. Cette valeurinflue grandement le nombre de vecteurs trouvés, et donc la taille finale de l’image. En rendantce coefficient très petit, on trouve un grand nombre de vecteurs correspondant, mais commeceux ci ne correspondent pas exactement, on voit l’apparition de block visibles dans l’image,phénomène trés classique dans la compression temporelle par block. Augmenter la quantisationdétériore aussi la qualité, et rends visible du bruit fréquentiel, faisant apparaitre non seulementdes blocks, mais aussi de nombreux petits "moustiques", c’est le bruit de quantisation de Gibbs.Pour le controle de qualité il s’agit d’utiliser une mesure de qualité appropriée. La plus utiliséeest en général le PSNR (peak signal to noise ratio) qui permet d’avoir une bonne estimation dela "distance" d’une image a une autre. Cette mesure cependant ne reflète pas la perception hu-maine et il se peut qu’une image avec un très bon psnr(un psnr elevé) soit de mauvaise qualité.Une image avec un bon psnr indique cependant généralement une bonne qualité.

Définition 10 PSNR : Soit f une image, et f’ l’image encodée et decodée.PSNR = 10.log( 2552

PLargeurx=0

PHauteury=0

|f(x,y)−f ′(x,y)|Largeur∗Hauteur

)dB

D’autres mesures ont recemment été utilisées, de façon à ressembler plus a la perceptionhumaine, telle la mesure SSIM. On peut donc controller la qualité en forcant un reencodage aquantisation plus basse apres estimation de la qualite.

18

Page 20: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Il existe deux cas majeurs pour le débit d’un flux video :*Le premier cas correspond à vouloir faire de la transmission sur un reseau(streaming) avec undébit le plus constant possible. Pour cela on adapte en permanence en limitant, comme prece-dement décrit.*Le deuxieme cas correspond a vouloir obtenir un fichier sauvegardable de taille fixée, qui peutavoir un flux binaire de débit variable, mais une qualite la plus constante possible(c’est le casdu VBR(variable bitrate, debit de flux variable)). Dans ce cas on utilise un mécanisme qui vaprendre en charge d’attribuer une qualité la plus élevée possible tout en maintenant un ecart parrapport à la taille voulue le plus faible possible. Ce mécanisme implique d’avoir des déborde-ments controlés. Cependant il arrive que certaines situations extrême force le codec à attribuerune qualité médiocre car son réservoir de bits est vide. Pour ameliorer la qualité dans cettesituation, on emploit ce que l’on appelle des méthodes multi-passe. Ces méthodes encodentd’abord a qualité purement constante toute la vidéo, et sauvegarde de nombreuses informa-tions. Il s’en suit un deuxieme encodage(la deuxieme passe) qui permet, gràce à l’informationfourni dans la première passe, d’ajuster à chaque instant la qualité et le débit de façon à répartirde manière optimale les données.

19

Page 21: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

4 Techniques spécifiques au MPEG 2/4 et techniques d’ame-lioration

4.1 Quarter-pel

Le quarter-pel est une technique couteuse en temps de calcul qui part du principe que tousles mouvements dans une vidéo ne sont de l’ordre d’un pixel. Il arrive fréquement que le mou-vement soit non entier, et donc arrondi, ce qui a tendance a rendre la video de moins bonnequalité. Le QPel, ou quarter-pixel(quart de pixel) par de ce principe et fait une recherche devecteur de compensation du mouvement plus précise, c’est a dire en travaillant avec des "quartsde pixel" ; pour cela le mechanisme extrapole l’image autour du bloc avec un facteur quatre,il y a donc 16 fois plus de pixel, soit 16 fois plus de blocs à explorer pour calculer le mouve-ment. Cette technique permet d’améliorer la précision de la compensation de mouvement. Enpratique, celà se traduit par une plus grande netteté. L’extrapolation se fait selon un algorithmebilineaire ou bicubique, ce qui demande un temps non negligeable. Le qpel oblige égalementle decodeur à plus de calculs, puisque celui ci devra être capable d’extrapoler à son tour pourdécoder.Notons également l’existence d’algorithmes encore plus precis, tels le 8th-pel, qui reprennentle même principe mais avec une plus grande précision ; cependant leur usage est trés limité etnon standard, sans compter qu’il est excessivement couteux pour un gain faible.

20

Page 22: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

4.2 GMC

GMC, Global Motion Compensation, Compensation Global de Mouvement. Cette méthodepermet d’améliorer la qualité globale de l’image dans certains contextes. Par exemple, si unevidéo agrandit/recule(zoom/dezoom), on aura beaucoup de mal à trouver des blocs similairepuisque leur taille dans l’image à changé, et que le MPEG utilise des blocs de taille fixée. Pourremédier à ce problème la GMC tente de rechercher un effet global dans la video, tel que destranslations, le changement de perspective et les rotations. La recherche de translation unique-ment, correspond a un GMC dit a un point d’ancrage(un seul warp point), puisqu’il n’a dedimension que sur un axe. La recherche d’agrandissement/desagrandissesment(zoom/dezoom)introduit un deuxième point d’ancrage puisque l’on dispose d’un deuxième axe, enfin la rota-tion introduit un troisième axe, pour donner trois points d’ancrage(3 warp point GMC). Lesalgorithmes de GMC sont difficiles à implémenter cependant, et leur efficacité est souvent re-lative.

21

Page 23: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

4.3 Quantisation Adaptative

Cette technique consiste simplement à appliquer un coefficient de quantisation différentpour chaque bloc. En effet chaque bloc se prete plus ou moins bien à une quantisation élevée,et il vaut mieux parfois ne pas trop compresser un bloc sous peine de grave dégradation de lavideo. Pour celà, on stock dans chaque bloc une information indiquant une différence de quan-tisation par rapport a la quantisation globale de la frame.

Exemple 3 On demande une quantisation de 5 sur une frame composée de 8 blocs. Cepen-dant les blocs 1,4 et 8 se prêttent bien mieux à une quantisation, alors que les blocs 2, 3 et 6contiennent plus de détails, ce qui les rends plus difficiles a compresser. On va donc attribuer àla frame la quantisation globale 5, les blocs 1,4 et 8 reçoivent une quantisation de 6(on indique+1 dans leur header), et les blocs 2,3 et 6 recoivent une quantisation finale de 4(on indique -1dans leur header). La quantisation globale de la frame reste de 5, mais chaque partie est plusou moins compressée.

22

Page 24: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

4.4 4MV pour les macro-bloc

Dans le MPEG1 et MPEG2 les macro-blocs étaient toujours de taille 16x16 avec un seulvecteur pour définir leur mouvement. Le MPEG4 apporte une grande innovation en permettantde subdiviser chaque macro-bloc en 4 blocs de 8x8 qui ont chacun leur propre vecteur decompensation. Cela permet une plus grande precision meme si celà multiplie l’information dumouvement de chaque macro-bloc par 4. En pratique celà permet d’avoir une meilleure qualitéeau detriment de la taille.

FIG. 10 – 4MV : Chaque Macro bloc de 16x16 posse desormais 4 vecteurs

23

Page 25: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

4.5 Multiples P frames successives

Le MPEG4 permet de se faire succeder de multiples P frames alors que le MPEG1 et leMPEG 2 ne le permettaient pas. Celà tient à deux faits :

1.Dans le MPEG2 l’IDCT est beaucoup moins stricte, ce qui, si l’on utilisait plusieurs P framesà la suite, multiplierait les erreurs beaucoup plus vite lors du décodage(en effet, rien ne garantieque le décodeur utilisera le meme que l’encodeur). Le MPEG4 impose des encodeurs/décodeurstrès proche, ce qui empêche les distortions. Le MPEG4 est censé avoir en théorie la possibi-lité d’avoir jusque 125 P frames successives sans générer de réelle distortion. En pratique cenombre dépasse rarement 25, mais celà reste bien plus élevé que le MPEG2 qui supporte trèsmal plus de 3 P frames(apparition de zones plus sombres, de changement de luminosité glo-bal).2.Dans le MPEG4 on stocke la méthode d’arrondi utilisé dans une frame, ce qui permet achaque fois de compenser les erreurs d’arrondis qui apparaissent dans la frame précedente.

24

Page 26: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

5 Conclusion

Le MPEG4 apporte une solution efficace pour l’encodage video. Ses algorithmes sont re-lativements evolues, et promettent une qualité elevée à debit bien plus bas que le MPEG2. LeMPEG4 utilise egalement un systeme de licence beaucoup plus facile, le rendant plus attractifa l’utilisation. Son utilisation commence a faire son apparition un peu partout et le MPEG4 estdevenu assez célèbre au public au travers des codecs dit DivX. A l’origine, le Divx 3.11 étaitune version piratée du codec MPEG4v3 de Microsoft, mais des initiatives open-source tellesque XviD, ou libavcodec permettent aujourd’hui de disposer d’encodeurs MPEG4 de très hautequalité.

25

Page 27: Techniques de compression video des standards MPEGdeptinfo.unice.fr/twiki/pub/Linfo/PlanningDesSoute... · des années 1990. Cependant, dès les années 1960 des techniques de compression

Références

[IS1449] Iso Comittee. ISO/IEC 14496 Part 2 - Coding of audio-visual objects, second edition,2001/12/01

[EG0001] Edouard Gomez et Lionel Dufresne. Mémoire de Multimédia, MPEG4 et XviD

[WWW001] MPEG Comittee Documentation, http ://www.chiariglione.org/mpeg/

[WWW002] WikiPedia, MPEG-2 and DCT Articles, http ://en.wikipedia.org/wiki/MPEG-2

26