3 Compression

Télécharger au format ppt, pdf ou txt
Télécharger au format ppt, pdf ou txt
Vous êtes sur la page 1sur 31

3 - Compression

des images
Plan
• Codage Luminance-Chrominance
• Compression non destructrice
– Par entropie
– Huffman
– RLE
• Compression avec perte
– DCT
– Norme JPEG
• Compression de séquences d’images
– Compression temporelle
– MPEG 1, 2 et 4
Compression :
Codage luminance-chrominance
Luminance-chrominance

L’œil est plus sensible à la lumière qu’à la couleur,


donc on conserve plus d’informations de
luminance que de chrominance :
On passe de R V B -> Y Cr Cb par des formules simples
Y = 0,299 * Rouge + 0,587 * Vert + 0,114 * Bleu
Cr = Rouge - Y
Cb = Bleu - Y
Puis on agrège les composantes couleurs Cr Cb voisines
Souvent Y Cr Cb est codé en 4:2:2 (on ne garde la
couleur que des lignes paires)
Luminance-chrominance (2)

Exemple ici codage


en 4:1:1

On prend la moyenne
de 4 valeurs Cr et
QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Cb
Compression non destructrice
(sans perte)
Compression par entropie
Technique issue de la théorie de l’information développée
dans les années 50 par Shannon, Fano puis plus tard
Huffman et d’autres (Lempel-Ziv-Welsh..)
L'entropie indique le nombre de bits minimum qu'il faut
par pixel pour coder une image donnée (longueur
moyenne minimale en bits d'un pixel)
Si N est le nombre valeurs possibles des pixels et pi la
probabilité de chacune, l’entropie se calcule ainsi

QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.

Exemple si {A, B, C, D, E, F, G} sont les valeurs possibles


avec les probabilités {0,4 0,2 0,15 0,1 0,05 0,05 0,05}
l'entropie est : H = -0,4 log(0,4)-0,2*log(0,2)-….soit 2,3842 bits
au lieu de log(7) = 2,81 bits arrondi à 3 (code de longueur fixe)
Compression par entropie (2)
Algorithme de codage de Shannon-Fano
1. On classe les symboles par ordre de probabilité décroissante
2. On divise l'ensemble des symboles en deux sous-ensembles de telle
sorte que les probabilités cumulées des éléments constituant chacun
des deux sous-ensembles soient les plus proches. On attribue
l'élément binaire "1" et "0" à chaque sous-ensemble
3. On procède comme à la première étape sur tous les sous-ensembles
comportant au moins deux éléments. On s'arrête lorsque tous les
sous-ensembles ne comportent plus qu'un élément

Remarque : On notera qu'à une étape donnée, il peut exister deux choix
possibles de regroupement d'éléments en cas d’égalité des
probabilités cumulées de deux regroupements possibles.
Algorithme de Shannon-Fano (suite)
Sur l’exemple précédent : l’algorithme donne ceci
• En vert la longueur moyenne d'un mot code est

• En rouge la longueur moyenne d'un mot code est


Compression par entropie (3)
Algorithme de codage de Huffman
Contrairement au code de Shannon-Fano, la construction d'un code de
Huffman s'effectue de façon ascendante (des feuilles vers la racine
de l'arbre des codes)
1. On classe (par exemple sur une ligne) les symboles source par ordre
de probabilité croissante (par exemple de la gauche vers la droite).
2. On relie les deux symboles de probabilités les plus faibles à l'aide
de deux arêtes. On obtient alors un nœud que l'on appelle "super-
symbole" et dont le "poids" est obtenu en effectuant la somme des
deux probabilités des deux symboles. Le super-symbole remplace les
deux symboles qui sont maintenant éliminés de la liste.
3. On procède comme à l'étape précédente en considérant les super-
symboles comme des symboles. On s'arrête lorsqu'on est arrivé à la
racine de l'arbre.
Algorithme de Huffman (suite)
Application de l’algorithme sur l’exemple précédent
Longueur moyenne d'un code
Compression RLE
(Run Length Encoding)
Cette méthode très simple consiste à remplacer une répétition de pixels
voisins par un facteur de répétition et une valeur à répéter. Le taux
de compression est moyen dépendant beaucoup des images à
compresser.

QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.

QuickTime™ et un Exemple de forte compression :


Image compressée sur 684 octets
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.

en GIF
Compression destructrice
(avec perte)
Codage DCT
(Discrete Cosinus Transform)
L’image est découpée en
blocs fixes, par exemple
8x8
Chaque bloc est codé par
les coefficients de sa
décomposition à partir
QuickTime™ et un
de toutes les valeurs
décompresseur TIFF (non compressé)
sont requis pour visionner cette image. possibles (blocs à
gauche)
D’où une combinaison
linéaire avec un coeff
de poids fort DC et
d’autres notés AC
Codage DCT (2)
À gauche : image avec
coeff DC seuls
(blocs de niveaux de
gris)
QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.

QuickTime™ et un
décompresseur TIFF (non compressé)
À droite : image avec DC sont requis pour visionner cette image.

et 9 AC
Codage DCT (3)

• Quantification : beaucoup de coefficients


presque nuls assimilés à 0; les autres sont
« arrondis »
• D’où compression par entropie efficace :
beaucoup de valeurs répétées
• Méthode de compression donne des ratios de
10 ou 20 avec des pertes acceptables
Codage DCT (4)
Formules de conversion en DCT
F étant la matrice des coeff DC,AC….
Img celle bu bloc de NxN
– Directe

– Inverse

Noter la symétrie des formules : temps de


compression/décompression comparables
Des algorithmes simplifient les calculs qui sont souvent
directement exécutés par des instructions dites
multimédia des processeurs
Compression JPEG

• Norme ISO définie par un groupe d’experts :


« Joint Photographic Experts Group »
• Image découpée en blocs souvent 8x8 codés
séparément
• Norme complexe avec beaucoup de variantes
prévues ( y compris une compression sans
perte)
Compression JPEG (2)

• Les coefficients DC, AC


calculés sont ordonnés dans
une table dite Zigzag

• Les coefficients DC, AC sont


arrondis suivant une table dite
de quantification précisée
dans la norme
Compression JPEG (3)

• Les coefficients DC et AC sont codés


séparément
• Les DC voisins étant souvent de niveaux
comparables sont codés en différence avec
le précédent
• Beaucoup de 0 se répétant dans les AC,
ceux-ci sont codés en RLE
• Les valeurs finales sont codées par entropie
et un algorithme de Huffman
Compression JPEG (4)
• Résultats : des compressions pouvant aller jusqu’à des
ratios de 10 ou 20 suivant l’image
• La compression (et donc la perte) est réglable suivant
la quantification choisie, les coefficients AC gardés…
• Défauts visibles : blocs 8x8, lignes doublées, artefacts

Compression par 9 Compression par 15


Compression de séquences
d’images
Image de « différences »
• Beaucoup de valeurs inchangées entre deux
images successives (valeurs grisées ici)
Estimation du mouvement

• Recherche dans les images successives de zones qui


sont déformées géométriquement : translation,
homothétie
• Codage très compact des seuls vecteurs de
déformation
Estimation du mouvement (2)

Champs de vecteurs de mouvement


Compensation du mouvement
• Estimation du mouvement entraine des erreurs : les
différences entre les valeurs réelles et l’estimation sont
codées en DPCM
• Schéma d’un codeur vidéo (le « frame store » conserve l’image
reconstituée précédente pour compenser exactement les
différences)

Codeur proche du H.261 utilisé en vidéo-conférence


Norme MPEG-1
• Norme ISO définie par le « Motion Pictures
Experts Group »
• Estimation et compensation de mouvements
bidirectionnels (vers l’avenir et aussi le
passé)
• Trois type d’images codées
– I pour « Intra-pictures » : images complètes
codage DCT voisin du JPEG
– P pour « forward Predicted pictures » : images
prédites à partir de la dernière image I ou P
– B pour « Bidirectionnally predicted pictures »
Norme MPEG-1 (2)
• Schéma de compression d’images successives
appelés « GOP » (Group Of Pictures) comme
IBPBPBI…..
• Le GOP doit s’adapter aux séquences à coder
Norme MPEG-2
• Norme de codage de flux télévision (broadcast)
• Compression/décompression hardware dans les
« décodeurs »
• Codage vidéo et audio (comme MPEG-1)
• Nombreux paramètres permettant d’adapter le flux
aux besoins (échelle, définition jusque HDTV,
codage couleur 4:2:2 ou autres….)
Nouvelles normes

• MPEG-4 de l’ISO : intégration de contenus,


réseaux interactifs…

• H 26X de l’ITU norme de vidéoconférence


très bonne en compression
Démonstrations

Essais Vidéos MPEG


Essais Vidéoconférence

Vous aimerez peut-être aussi