3 - compression des images

31
3 - Compression des images

Upload: lester-melendez

Post on 30-Dec-2015

56 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3 - Compression des images

3 - Compressiondes images

Page 2: 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

Page 3: 3 - Compression des images

Compression :Codage luminance-chrominance

Page 4: 3 - Compression des images

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 simplesY = 0,299 * Rouge + 0,587 * Vert + 0,114 * BleuCr = Rouge - Y

Cb = Bleu - Y

Puis on agrège les composantes couleurs Cr Cb

voisinesSouvent Y Cr Cb est codé en 4:2:2 (on ne garde la

couleur que des lignes paires)

Page 5: 3 - Compression des images

Luminance-chrominance (2)

Exemple ici codage en 4:1:1

On prend la moyenne de 4 valeurs Cr et Cb

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Page 6: 3 - Compression des images

Compression non destructrice(sans perte)

Page 7: 3 - Compression des images

Compression par entropieTechnique 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 undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Exemple si {A, B, C, D, E, F, G} sont les valeurs possiblesavec 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)

Page 8: 3 - Compression des images

Compression par entropie (2)Algorithme de codage de Shannon-Fano1. On classe les symboles par ordre de probabilité décroissante2. 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.

Page 9: 3 - Compression des images

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

Page 10: 3 - Compression des images

Compression par entropie (3)Algorithme de codage de HuffmanContrairement 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.

Page 11: 3 - Compression des images

Algorithme de Huffman (suite)Application de l’algorithme sur l’exemple précédentLongueur moyenne d'un code

Page 12: 3 - Compression des images

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 undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Exemple de forte compression :Image compressée sur 684 octets en GIF

Page 13: 3 - Compression des images

Compression destructrice(avec perte)

Page 14: 3 - Compression des images

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 de toutes les valeurs possibles (blocs à gauche)

D’où une combinaison linéaire avec un coeff de poids fort DC et d’autres notés AC

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Page 15: 3 - Compression des images

Codage DCT (2)

À gauche : image avec coeff DC seuls (blocs de niveaux de gris)

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.À droite : image avec DC et 9 AC

Page 16: 3 - Compression des images

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

Page 17: 3 - Compression des images

Codage DCT (4)

Formules de conversion en DCTF é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

Page 18: 3 - Compression des images

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)

Page 19: 3 - Compression des images

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

Page 20: 3 - Compression des images

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

Page 21: 3 - Compression des images

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

Page 22: 3 - Compression des images

Compression de séquencesd’images

Page 23: 3 - Compression des images

Image de « différences »• Beaucoup de valeurs inchangées entre deux

images successives (valeurs grisées ici)

Page 24: 3 - Compression des images

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

Page 25: 3 - Compression des images

Estimation du mouvement (2)

Champs de vecteurs de mouvement

Page 26: 3 - Compression des images

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

Page 27: 3 - Compression des images

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 »

Page 28: 3 - Compression des images

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

Page 29: 3 - Compression des images

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….)

Page 30: 3 - Compression des images

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

Page 31: 3 - Compression des images

Démonstrations

Essais Vidéos MPEGEssais Vidéoconférence