Vous êtes sur la page 1sur 16

Chapitre 3

Codage et compression : Image et vidéo


I- Codage et compression d’une image
1- Introduction
On désigne sous le terme d'image numérique toute image (dessin, icône, photographie …)
acquise, créée, traitée ou stockée sous forme binaire (suite de 0 et de 1) :
- Acquise par des Convertisseurs Analogique - Numérique situés dans des dispositifs
comme les scanners, les appareils photo ou caméscopes numériques, les cartes
d'acquisition vidéo (qui numérisent directement une source comme la télévision).
- Créée directement par des programmes informatiques, via la souris, les tablettes
graphiques ou par la modélisation 3D.
- Traitée grâce à des outils informatiques. Il est facile de la transformer, modifier en taille,
en couleur, d'ajouter ou supprimer des éléments, d'appliquer des filtres variés, etc.
- Stockée sur un support informatique (disquette, disque dur, CD-ROM, …)
2- Représentation d'images
On distingue deux types d’images à la composition et au comportement différent : images
matricielles et les images vectorielles.
2-1- Images matricielles (ou images bitmap)
Elle est composée comme son nom l'indique d’une matrice (tableau) de points à plusieurs
dimensions, chaque dimension représentant une dimension spatiale (hauteur, largeur,
profondeur), temporelle (durée) ou autre (par exemple, un niveau de résolution).
Dans le cas des images à deux dimensions (le plus courant), les points sont appelés pixels. D'un
point de vue mathématique, on considère l'image comme une fonction de R X R dans R où le
couplet d'entrée est considéré comme une position spatiale, le singleton de sortie comme un
codage. Une image matricielle est donc une image constituée d'un ensemble de points : les pixels.
Chaque point porte des informations de position et de couleur.

2-2- Images vectorielles


Le principe est de représenter les données de l'image par des formules géométriques qui vont
pouvoir être décrites d'un point de vue mathématique. Cela signifie qu'au lieu de mémoriser une
mosaïque de points élémentaires, on stocke la succession d'opérations conduisant au tracé. Les
images vectorielles sont donc des représentations d’entités géométriques telles qu’un cercle, un
rectangle ou un segment. Ceux-ci sont représentés par des formules mathématiques (un rectangle
est défini par deux points, un cercle par un centre et un rayon, une courbe par plusieurs points et
une équation). C’est le processeur de l’ordinateur qui sera chargé de «traduire» ces formes en
informations interprétables par la carte graphique.

3- Définition et résolution
Les images matricielles sont également définies par leur définition et leur résolution.
- La définition d'une image est définie par le nombre de points la composant. En image
numérique, cela correspond au nombre de pixels qui compose l'image en hauteur (axe vertical) et
en largeur (axe horizontal) : 200 pixels par 450 pixels par exemple, abrégé en « 200×450 ».
- La résolution d'une image est définie par un nombre de pixels par unité de longueur de la
structure à numériser (classiquement en ppp). Ce paramètre est défini lors de la numérisation
(passage de l’image sous forme binaire), et dépend principalement des caractéristiques du
matériel utilisé lors de la numérisation. Plus le nombre de pixels par unité de longueur de la

1
structure à numériser est élevé, plus la quantité d'information qui décrit cette structure est
importante et plus la résolution est élevée. La résolution d'une image numérique définit le degré
de détail de l’image. Ainsi, plus la résolution est élevée, meilleure est la restitution.
Cependant, pour une même dimension d'image, plus la résolution est élevée, plus le nombre de
pixels composant l'image est grand. Le nombre de pixels est proportionnel au carré de la
résolution, étant donné le caractère bidimensionnel de l'image : si la résolution est multipliée par
deux, le nombre de pixels est multiplié par quatre. Augmenter la résolution peut entraîner des
temps de visualisation et d'impression plus longs, et conduire à une taille trop importante du
fichier contenant l'image et à de la place excessive occupée en mémoire.
Application
Soit une image de résolution 75 dpi, cette image a une longueur de 12cm et une largeur de 10cm.
Calculer la taille de cette image si on utilise 224 couleurs possibles (16 millions de couleurs).
taille du fichier = H × V × N
Avec :
R : Résolution, N : Nombre de bits
L arg eur
H : Nb de pixel Horizontale ⇒ H = ×R
2.54
Longueur
V : Nb de pixel Verticale ⇒ V = ×R
2.54
L arg eur Longueur Largeur × Longueur
taille du fichier = ×R× ×R×N = 2
× R2 × N
2.54 2.54 2.54
10 × 12
taille du fichier = × 75 2 × 24 = 2.51 × 10 6 bits
2.54 2
4- Types d’images
Les images bitmap en couleurs peuvent dont être représentées soit par une image dans laquelle la
valeur du pixel est une combinaison linéaire des valeurs des trois composantes couleurs, soit par
trois images représentant chacune une composante couleur. Dans le premier cas, selon le nombre
de bits (unité d’information élémentaire qui peut prendre deux valeurs distinctes) alloués pour le
stockage d'une couleur de pixel, on distingue généralement les différents types d'images
suivants :
- Images 24 bits (ou « couleurs vraies »)
Le codage de la couleur est réalisé sur trois octets, chaque octet représentant la valeur d'une
composante couleur par un entier de 0 à 255. Ces trois valeurs codent généralement la couleur
dans l'espace RVB. Le nombre de couleurs différentes pouvant être ainsi représenté est de 256 x
256 x 256 possibilités, soit près de 16 millions de couleurs. Comme la différence de nuance entre
deux couleurs très proches mais différentes dans ce mode de représentation est quasiment
imperceptible pour l'œil humain, on considère commodément que ce système permet une
restitution exacte des couleurs, c'est pourquoi on parle de « couleurs vraies ».

R V B Couleur
0 0 0 noir
0 0 1 nuance de noir
255 0 0 rouge
0 255 0 vert
0 0 255 bleu
128 128 128 gris
255 255 255 blanc

2
Les images bitmap basées sur cette représentation peuvent rapidement occuper un espace de
stockage considérable, chaque pixel nécessitant trois octets pour coder sa couleur.

- Images à palettes, images en 256 couleurs (8 bits)


Pour réduire la place occupée par l'information de couleur, on utilise une palette de couleurs
« attachée » à l'image. On parle alors de couleurs indexées. En pratique on attache une palette de
256 couleurs à l'image. Ces 256 couleurs sont choisies parmi les 16 millions de couleurs de la
palette RVB. Pour chaque image le programme recherche les 256 couleurs les plus pertinentes.
Chaque code (de 0 à 255) désigne une couleur. L'image occupe 3 fois moins de place en mémoire
qu'avec un codage 24 bits. L'image est moins nuancée : sa qualité est bonne mais moindre.

- Images en teintes (ou niveaux) de gris


On ne code ici plus que le niveau de l'intensité lumineuse, généralement sur un octet (256
valeurs). Par convention, la valeur zéro représente le noir (intensité lumineuse nulle) et la valeur
255 le blanc (intensité lumineuse maximale):

000 008 016 024 032 040 048 056 064 072 080 088 096 104 112 120 128

255 248 240 232 224 216 208 200 192 184 176 168 160 152 144 136

Ce procédé est fréquemment utilisé pour reproduire des photos en noir et blanc ou du texte dans
certaines conditions (avec utilisation d'un filtre pour adoucir les contours afin d'obtenir des
caractères plus lisses).
5- Représentation des couleurs
Dans la nature, on retrouve 2 principes de combinaison de couleurs primaires la synthèse additive
et la synthèse soustractive :
- Synthèse additive : C'est la composition de trois couleurs primaires par addition de lumière (par
exemple en projetant des spots lumineux sur un fond noir) → télévision, moniteur d'ordinateur, ...
Couleurs primaires : rouge, vert, bleu.
Couleurs secondaires : cyan, magenta, jaune.
La superposition des trois couleurs donne le blanc et l'absence de couleur le noir.

- Synthèse soustractive : C'est la composition de trois couleurs primaires par soustraction de


lumière (par exemple en superposant des filtres sur une surface blanche) → peinture,
impression,...
Couleurs primaires : cyan, magenta, jaune.
Couleurs secondaires : rouge, vert, bleu.
La superposition des trois couleurs donne le noir et le fond est blanc en l'absence de couleur.

3
6- Compression des images : compression avec pertes (JPEG)
La JPEG est une norme qui définit le format d'enregistrement et l'algorithme de décodage pour
une représentation numérique compressée d'une image fixe. JPEG définit deux classes de
processus de compression :
- avec pertes ou compression irréversible. C’est le JPEG « classique ». Il permet des taux de
compression de 3 à 100.
- sans pertes ou compression réversible. Il n’y a pas de pertes d’information et il est donc
possible de revenir aux valeurs originales de l’image. La compression JPEG repose sur le fait
que l’œil est un filtre passe bas pour les fréquences spatiales.
La figure suivante illustre ce concept. Pour bien en visualiser les effets, il faut la regarder à une
distance de l’ordre d’un mètre.

Fréquences élevée : couleur uniforme,


formes non perceptibles.

4
- Si l’on balaye horizontalement, à vitesse constante, le premier damier, l’intensité lumineuse des
points varie du blanc au noir avec une fréquence relativement faible. Cette fréquence de variation
de la luminosité est appelée fréquence spatiale de l’intensité lumineuse.
Lorsque la fréquence spatiale est faible, l’œil perçoit parfaitement les formes et les couleurs des
éléments constitutifs de l’image.

- Sur le deuxième damier la fréquence spatiale est plus élevée, si l’on constate que l’alternance
entre les points noirs et blancs reste perceptible mais qu’il devient difficile de savoir si ce sont
des carrés ou des ronds.

- Sur le troisième damier la fréquence spatiale est élevée, et l’œil ne distingue qu’un fond
uniformément gris, au lieu d’une succession de points noirs et blancs. La quantité d’information
contenue dans ce dernier damier est beaucoup plus élevée que celle contenue dans le premier,
mais pour l’œil, elle apparaît comme très faible. Les zones de l’image contenant les hautes
fréquences spatiales peuvent donc être codées par une seule valeur qui est la valeur moyenne de
l’intensité lumineuse des points de cette zone.

On peut diviser la compression et la décompression JPEG en six étapes, voici l’organigramme :

6-1- Découpage en blocs


Le format JPEG, comme le font généralement les algorithmes de compression à perte, commence
par découper l’image en blocs ou carreaux généralement carrés de 64 (8 × 8) ou 256 (16 × 16)
pixels.
6-2- Transformation des couleurs
JPEG est capable de coder les couleurs sous n’importe quel format, toutefois les meilleurs taux de
compression sont obtenus avec des codages de couleur de type luminance/chrominance tels que
YUV, YCbCr car l’œil est assez sensible à la luminance mais peu à la chrominance.
- Base de couleur optimale YUV, Y représentant la luminance, U et V deux chrominances
orthogonales.
Le modèle YUV définit un espace colorimétrique en trois composantes. Le premier représente la
luminance et les deux autres représentent la chrominance. YUV est utilisé dans les systèmes de
diffusion télévisuelle PAL et NTSC. Le système SÉCAM utilise quant à lui l'espace
colorimétrique YDbDr, dérivé de YUV.
Le modèle YUV se rapproche beaucoup plus de la perception humaine des couleurs que le
standard RVB utilisé dans l'imagerie informatique, mais pas autant que l'espace colorimétrique
HSV.

5
Dans le traitement des signaux vidéo couleur, on ajuste les coefficients des signaux U et V de
telle sorte que la valeur crête à crête soit égale à la valeur maximale de Y, soit 0,7 V.

- YDbDr est l'espace colorimétrique utilisé dans la norme de télévision couleur SÉCAM.
Y est la luminance, et Db et Dr sont les différences de couleur rouge et bleue. Les composantes
YDbDr entretiennent les relations suivantes avec les composantes de l'espace de couleur RGB
(rouge R, vert G, bleu B) :
Y = + 0.299R + 0.587G + 0.114B
Db = + 1.505(B - Y) = - 0.450R - 0.883G + 1.333B
Dr = - 1.902(R - Y) = - 1.333R + 1.116G + 0.217B
L'espace YDbDr est très proche de l'espace YUV. Le passage entre DbDr et UV se fait grâce aux
relations suivantes :
Db = + 3.059U
Dr = - 2.169V
Une variante de la norme PAL, appelée PAL-N utilise elle aussi l'espace colorimétrique YDbDr.

- YCbCr est une manière de représenter l'espace colorimétrique en vidéo, issue essentiellement
des problèmes de transmission hertzienne. Une image captée par n'importe quel appareil est la
somme des couleurs qui la composent, que le résultat soit en couleur ou en noir et blanc. Ainsi,
même une image en noir et blanc, le signal Y en l'occurrence a été créé par la somme du rouge,
du bleu et du vert. On envoie Y, c'est-à-dire l'information de luminance ou noir et blanc plus deux
informations de chrominance, Cb et Cr respectivement le bleu moins Y et le rouge moins Y. Le
récepteur peut recréer le vert et reproduire une image couleur, en effet si on a Y
(rouge+vert+bleu) et Cb (Y-bleu) et Cr (Y-rouge) on peut mathématiquement recréer le vert en
utilisant l'équation : Y = 0,3R + 0,6V + 0,1B.
6-3- Sous - échantillonnage
Les yeux humains sont plus sensibles aux variations de la luminosité que de couleurs. A cause de
ce défaut de l'œil, la majorité des méthodes de codage représentent les images dans l'espace
couleur YUV ou YCbCr, qui comprend une composante de luminosité et deux de chrominance
(Cb et Cr). Ensuite les composantes chromatiques sont sous échantillonnées en fonction de la
composante de luminance avec un certain rapport d’où les normes les plus utilisées. Les formats
de numérisation sont appelés 4:2:2, 4:1:1 ou 4:2:0… Ces notations déterminent l’échantillonnage
des signaux analogiques.
Format i :j :k ou norme i :j :k
Cela signifie que dans un bloc i*i, il y a
• i luminances (Y) par ligne paire et impaire ;
• j chrominances Cb Cr par ligne impaire ;
• k chrominances Cb Cr par ligne paire.
En général, i=4.

On représente l’information Y par un rond et Cb et Cr par un triangle


Format 4 :4 :4

Ycbcr Ycbcr Ycbcr Ycbcr

Ycbcr Ycbcr Ycbcr Ycbcr

Ycbcr Ycbcr Ycbcr Ycbcr L’échantillonnage 4:4:4 traite les 3 signaux


de la même manière. Chaque pixel contient
les trois composantes Y, Cb Cr.
Ycbcr Ycbcr Ycbcr Ycbcr
616 luminances et 16 chrominances
Format 4 :2 :2

Ycbcr Y Ycbcr Y

Ycbcr Y Ycbcr Y

Ycbcr Y Ycbcr Y Il y a des pixels qui contiennent les trois


composantes Y,Cb et Cr. Et d’autres pixels
Ycbcr Y Ycbcr Y contiennent que la composante Y.
16 luminances et 8 chrominances

Format 4 :1 :1

Ycbcr Y Y Y

Ycbcr Y Y Y

Ycbcr Y Y Y
16 luminances et 4 chrominances
Ycbcr Y Y Y

Exercice
On se propose de calculer pour les différents types de format la taille de l’image en fonction de la
taille de Y. On pose NCb= NCr=Ny=8. On prendra une image 720*480

Format 4 :4 :4
Taille de l’image = Ti =TY+Tcb+Tcr=3 TY
Ti=3*720*480*8=8294400bits=8294400/8 octet=1036800 octet=1036800/1024 Ko=1012.5 Ko

Format 4 :2 :2
T
TCb = TCr = Y
2
TY TY
Ti= TY+Tcb+Tcr ⇒ Ti = TY + + = 2 × TY
2 2
Ti=2*720*480*8=5529600 bits =691200 octet=675Ko

Format 4:1:1
T
TCb = TCr = Y
4
TY TY 3
Ti= TY+Tcb+Tcr ⇒ Ti = TY + + = × TY
4 4 2
Ti=2/3*720*480*8=4147200 bits =518400 octet=506.25 Ko

7
6-4- Transformée DCT
La transformée DCT (Discrete Cosine Transform, en français transformée en cosinus discrète),
est une transformation numérique qui est appliquée à chaque bloc et pour chaque « couleur ».
Cette transformée est une variante de la transformée de Fourier. Cette méthode permet de décrire
chaque bloc en une carte de fréquences et en amplitudes plutôt qu'en pixels et couleurs. La valeur
d’une fréquence reflète l’importance et la rapidité d’un changement, tandis que la valeur d’une
amplitude correspond à l’écart associé à chaque changement de couleur.
À chaque bloc de N . N pixels sont ainsi associées N . N fréquences
La transformée DCT s’exprime mathématiquement par :

Équation 1 : Transformée DCT directe.

Et la transformée DCT inverse s’exprime par :

Équation 2 : Transformée DCT inverse.

Dans les deux cas, la constante vaut :

Équation 3 : Définition de la constante C.


Exemple :
Soit l’image suivante :

On considère la matrice de base des valeurs f(x,y) des pixels d’un bloc :

8
 66 84 110 167 207 209 193 178 
109 136 150 173 193 213 205 210

137 178 194 190 185 203 223 238
 
140 168 191 182 194 222 244 241
f =
149 153 173 186 228 245 241 226
 
170 157 181 216 235 217 189 130 
191 165 205 205 180 147 82 55 
 
158 153 196 179 137 76 46 51 
Matrice d’origine.

En effectuant la transformée DCT on obtient la matrice des fréquences suivante :

 358 − 85 − 121 6 −5 6 10 6 
 66 − 238 47 − 1 − 20 − 19 − 17 − 13

− 188 107 − 57 − 8 31 1 7 −4
 
 19 − 60 − 54 75 11 7 −7 2 
F=
 − 34 − 47 13 − 10 2 − 5 −1 7 
 
 −7 30 − 12 − 1 − 3 7 4 −1 
 3 −8 −7 −7 2 4 − 13 3 
 
 3 4 5 −4 4 −5 6 − 1 

Matrice transformée DCT

Remarques
Le calcul d’une DCT permet de séparer les basses fréquences et les hautes fréquences présentes
dans l’image.

6-4-Quantification
La quantification est l’étape dans laquelle on perd réellement des informations (et donc de la
qualité visuelle), mais c'est celle qui fait gagner beaucoup de place (contrairement à la DCT, qui
ne compresse pas).
La DCT a retourné, pour chaque bloc, une matrice de 8×8 nombres (dans l’hypothèse que les
blocs de l’image font 8×8 pixels). La quantification consiste à diviser cette matrice par une autre,
appelée matrice de quantification, et qui contient 8×8 coefficients savamment choisis par le
codeur.
Le but est ici d’atténuer les hautes fréquences, c’est-à-dire celles auxquelles l’œil humain est très
peu sensible. Ces fréquences ont des amplitudes faibles, et elles sont encore plus atténuées par la
quantification (les coefficients sont même ramenés à 0).
Comme le montre l’image ci-dessous, la quantification ramène beaucoup de coefficients à 0
(surtout en bas à droite dans la matrice, là où sont les hautes fréquences). Seules quelques
informations essentielles (coin en haut à gauche) sont gardées pour représenter le bloc.
L'intérêt est qu'au moment de coder le résultat dans le fichier, la longue suite de zéros nécessitera
très peu de place !

9
Mais si la quantification est trop forte (= taux de compression trop élevé), il y aura trop peu de
coefficients non nuls pour représenter fidèlement le bloc ; dès lors, à l’écran la division en blocs
devient visible, et l'image apparaît « pixellisée ».
Dans notre exemple, nous avons pris la matrice de quantification suivante :

16 11 10 16 24 40 51 61 
12 12 14 19 26 58 60 55 

14 13 16 24 40 57 69 56 
 
14 17 22 29 51 87 80 62 
Q=
18 22 37 56 68 109 103 77 
 
24 35 55 64 81 104 113 92 
49 64 78 87 103 121 120 101
 
72 92 95 98 112 100 103 99 

Matrice de quantification (Qualité =50)

 53 37 33 53 80 133 170 203


 40 40 47 63 87 193 200 183 

 47 43 53 80 133 190 230 187 
 
47 57 73 97 170 290 267 207 
Q=
 60 73 123 187 227 363 343 257 
 
 80 117 183 213 270 347 377 307 
163 213 260 290 343 403 400 337 
 
240 307 317 327 373 333 343 330 

Matrice de quantification (Qualité =15)

Ce qui donne comme matrice des fréquences quantifiées après arrondi supérieur en nombres
entiers.

 7 −2 − 4 0 0 0 0 0
 2 −6 1 0 0 0 0 0 

− 4 2 − 1 0 0 0 0 0
 
0 −1 − 1 1 0 0 0 0
F∗ = 
 −1 −1 0 0 0 0 0 0
 
 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0
 
 0 0 0 0 0 0 0 0 

10
Codage, compression RLE et Huffman
Ce sont les éléments de la matrice fréquences quantifiées qui vont être codés par l’algorithme. Le
codage s’effectue en zigzag comme le montre la figure suivante et se termine par un caractère de
fin :

La lecture en zigzag est justifiée par les valeurs proches des coefficients le long des diagonales
ascendantes. Elle a pour but de rapprocher des valeurs identiques et de reporter le maximum de
valeurs nulles vers la fin de la séquence.
Dans notre exemple, cette lecture conduit à la suite suivante des coefficients :

7 -2 2 -4 -6 -4 0 1 2 0 -1 -1 -1 0 0 0

0 0 -1 -1 0 0 0 0 1 0 .... 0

Cette séquence est alors codée en utilisant un codage de type RLE suivie d’un codage entropique
de type Huffman.
Codage RLE

1 7 1 -2 1 2 1 -4 1 -6 1 -4 1 0 1 1
1 2 1 0 3 -1 5 0 2 -1 4 0 1 1 39 0

Codage d’Huffman
carac -6 -2 3 4 5 7 39 -4 -1 2 0 1
occ 1 1 1 1 1 1 1 2 2 3 5 13
code 00000 00001 00010 00011 010000 010001 01001 0010 0011 0101 011 1
li 5 5 5 5 6 6 5 4 4 4 3 1
L=li*occ 5 5 5 5 6 6 5 8 8 12 15 13
93 Bits

12 × 8 + 12 × 8 + 93
Un taux de compression : τ = = 0.557 ⇒ G = 44.3%
64 × 8

11
0 1
32

0 19 1

0 11 1

0 1
8
0 6 1

0 4
1 3
0
1

2 2 2 4
0 1 1
0 1 0 1 0

1 1 1 1 1 1 1 2 2 3 5 13

-6 -2 3 4 5 7 39 -4 -1 2 0 1

II- Codage et compression d’une vidéo


Une vidéo est une succession d'images à une certaine cadence. L'œil humain a comme
caractéristique d'être capable de distinguer environ 20 images par seconde. Ainsi, en affichant
plus de 20 images par seconde, il est possible de tromper l'œil et de lui faire croire à une image
animée. On caractérise la fluidité d'une vidéo par le nombre d'images par secondes (en anglais
frame rate), exprimé en FPS (Frames per second, en français trames par seconde).
1- Principe
Redondance temporelle : Dans la plupart des séquences vidéo, la majorité des scènes sont fixes
ou bien changent très peu, c'est ce qui s'appelle la redondance temporelle.
Redondance spatiale : Lorsque des informations sont similaires ou se répètent dans des zones de
l'image proches l'une de l'autre (dans une image, deux points voisins sont souvent similaires).

12
2- Sous échantillonnage de l’image :

(Exemple d’image 4/3)

Après la digitalisation de l'image, le choix du format détermine le nombre de pixels qui seront
analysés par l'algorithme de compression.
L'image digitalisée peut être dimensionnée à des formats plus petits. Evidemment, plus le format
est petit, plus la perceptibilité des détails est moindre.
Plus la taille des images est petite, plus petite sera la taille des fichiers.
Les méthodes de compression peuvent être utilisées soit sur l’image d’origine ou bien sur l’une
des images 4CIF, 2CIF, CIF, QCIF.

13
3- Méthodes de compression
3-1- MJPEG
La première idée qui vient à l'esprit après s'être intéressé à la compression d'images est
d'appliquer ce type de méthode à une succession d'images numériques (animation ou vidéo).

Le principe du Motion JPEG (noté MJPEG ou M-JPEG) consiste à appliquer successivement


l'algorithme de compression JPEG aux différentes images d'une séquence vidéo.

Etant donné que le M-JPEG code séparément chaque image de la séquence il permet d'accéder
aléatoirement à n'importe quelle partie d'une vidéo. Ainsi, son débit de 8 à 10 Mbps le rend
utilisable dans les studios de montage numérique.

Cette méthode n’exploite que la redondance spatiale.

3-2- MPEG
Le MPEG (Motion Pictures Expert Group), développé dans les années quatre-vingt-dix, est une
des méthodes les plus utilisées pour le transfert (streaming) des données vidéo et audio. Elle fût
développée pour sauver de l'espace sur les disques durs et réduire la charge du réseau pendant la
transmission des vidéos en temps réel.
La méthode MPEG exploite la redondance temporelle. Elle essaye de décrire seulement le
changement d'une image à l'autre. C'est là la différence majeure entre le MPEG (Moving Pictures
Experts Group) et le M-JPEG. Cependant cette méthode aura beaucoup moins d'impact sur une
scène d'action.
a) Principe
Un exemple typique de surveillance : un véhicule traverse l’angle de vue complet d’une caméra.
L’arrière-plan reste constant.

Une image de référence est crée. Dans la suite d'images on compare quelles parties de cette image
ont changés par rapport à l’image de référence. On utilise pour la création des différences d'image
seulement les parties qui ont changé dans l’image. Dépendamment de la taille des parties

14
changées de l’image la quantité de données des images de différence est fortement réduite en
comparaison avec l’image de référence complète.
b) Méthode :
Le standard MPEG spécifie trois types d'images :
• Images clés (Intra Pictures or I-Pictures)
Ces images sont comprimées indépendamment de leur contexte, c'est à dire qu'on ne tient
compte que du contenu de l'image elle-même et non des images environnantes. Elles sont
codées par la méthode JPEG. Elles autorisent l'accès aléatoire, soit l'accès à la séquence vidéo
depuis n'importe lequel de ses points. Elles ont un taux de compression moderé.
• Images prédites (Predicted Pictures or P-Pictures)
Ces images sont codées par rapport à l'image précédente. Elles utilisent la compensation de
mouvement pour un meilleur taux de compression. Par ailleurs, elles ont l'inconvénient de
propager les erreurs, du fait qu'elles réutilisent les informations de l'image précédente.

• Images bidirectionnelles (Bidirectional Pictures)


Ces images utilisent à la fois l'image précédente et l'image suivante comme références (I ou
P). Ceci a le grand avantage d'offrir le meilleur taux de compression, sans pour autant
propager les erreurs puisqu'elles ne sont jamais utilisées comme références.

Compensation du mouvement

La compensation de mouvement est une technique pour optimiser la compression des images
intermédiaires et des images clés en éliminant la redondance temporelle. Typiquement, la
méthode de compensation de mouvement optimise la compression par un facteur d'ordre trois
comparé au codage interne à l'image. Les algorithmes de compensation de mouvement travaillent
au niveau des macroblocs (16*16). Quand un macrobloc est compressé par la technique de
compensation de mouvement, le fichier compressé contient les informations suivantes :

• le vecteur spatial entre le macrobloc de référence et le macrobloc qui va être codé (vecteur
déplacement)
• la différence entre le contenu du macrobloc de référence et du macrobloc qui va être codé
(terme d'erreurs)

Toutes les informations d'une image ne peuvent pas être prédites de l'image précédente.
Considérons une scène dans laquelle une porte s'ouvre : les détails visuels de la chambre derrière
la porte ne peuvent pas être prédits de l'image précédente quand la porte était fermée. Quand un
cas comme celui-ci arrive, c'est-à-dire lorsqu'un macrobloc ne peut pas être codé de manière
efficace dans une image prédite par la technique de la compensation de mouvement, il est codé de
la même façon qu'un macrobloc dans son image clé. La différence, au niveau de la compensation

15
de mouvement, entre une image prédite et une image bidirectionnelle est la suivante : les
macroblocs d'une image prédite n'utilisent que des références à l'image antérieure, alors que les
images bidirectionnelles utilisent toute combinaison d'images futures et/ou passées.

Il y a ainsi quatre types d'encodage d'un macrobloc d'une image :


• codage interne : pas de compensation de mouvement
• prédiction avant : l'image de référence précédente est utilisée comme référence
• prédiction arrière : l'image suivante est utilisée comme référence
• prédiction bidirectionnelle : deux images de référence sont utilisées, la précédente image
de référence et la prochaine image de référence.
Composition du flux vidéo : notion de GOP (Group Of Pictures)
L'algorithme MPEG autorise à l'encodage le choix de la fréquence et de la position des images
clés. Ceci permet à l'application un accès aléatoire aux plages enregistrées. Pour les applications
où l'accès aléatoire est important, les images clés sont positionnées typiquement toutes les demies
secondes. à l'encodage on peut choisir le nombre d'images prédites entre n'importe quelle paire
d'images de référence. Ce choix est basé sur des facteurs liés au décodeur (comme par exemple la
quantité de mémoire) ainsi qu'aux caractéristiques de la séquence vidéo.
Un GOP (GOP = Group of Pictures) est le plus petit groupement d’images dont une image I
toujours est la première.

GOP=15 dans ce cas.

16

Vous aimerez peut-être aussi