Top Banner
3 - Compression des images
31

3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Apr 04, 2015

Download

Documents

Aimeric Paquet
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: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Compression :Codage luminance-chrominance

Page 4: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Compression non destructrice(sans perte)

Page 7: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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

Page 12: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Compression destructrice(avec perte)

Page 14: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –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

Page 21: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Compression de séquencesd’images

Page 23: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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

images successives (valeurs grisées ici)

Page 24: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Estimation du mouvement (2)

Champs de vecteurs de mouvement

Page 26: 3 - Compression des images. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

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. Plan Codage Luminance-Chrominance Compression non destructrice –Par entropie –Huffman –RLE Compression avec perte –DCT –Norme.

Démonstrations

Essais Vidéos MPEGEssais Vidéoconférence