Vous êtes sur la page 1sur 16

29/11/2019

1. Généralités

Une image numérique (ou discrète) est une image


Technologie Multimédia constituée d’un nombre fini de points.

Chapitre4: Introduction à la Point = pixel (picture element)


compression des images Définition : dimension de l’image en pixel
Résolution : nombre de pixel sur une unité de
surface (point par pouce)
LGLSI1
Profondeur : nombre de bit représentant un
pixel de l’image
Tahani BOUCHRIKA
2019/2020
2

1. Généralités 2. Compression de données

Mode de stockage des images


La compression de données a pour but de réduire l'espace
Bitmap : c’est le mode de représentation le plus utilisé car il permet a nécessaire à la représentation d'une certaine quantité
priori de représenter tout type d’image d'information.
Vectoriel : l’image est stockée sous la forme d’une définition
mathématique (cercle = position du centre + rayon + ...)
Compression non destructive : pas de perte d’information.
Taille d’un fichier image: On parle de compactage

La taille d’un fichier image non compressé est donnée par : T = DP Compression destructive : perte d’information
D : définition (taille) de l’image, P : profondeur de l’image

3 4

1
29/11/2019

2. Compression de données 2. Compression de données


Evaluation de la compression et des pertes Evaluation de la compression et des pertes

EQM : Erreur Quadratique moyenne (mean squared error)


Entre deux images A et B de même taille MxN

5 6

2. Compression de données 3. Techniques de compression non-destructives

Qu’est ce qu’une bonne compression ? RLE (Run-Length Encoding

Un algorithme performant de compression possède un gain de


compression maximal et une erreur quadratique moyenne minimale Méthodes statistiques

• Théorie de l’information
G & EQM • Codage de Huffman

• Codage arithmétique

ATTENTION : compte tenu des information effectivement perçues par notre


œil, il est possible d’avoir à la fois une image de “qualité” et une EQM importante ! Méthodes par dictionnaire

7 8

2
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

RLE (Run-Length Encoding) RLE (Run-Length Encoding)

Principe Application aux images monochromes


Si une donnée d apparaît n fois consécutivement dans le flux d’entrée,
remplacer les n occurrences par la paire “n d”. Deux couleurs possibles : N (0) & B (1)
ex: 00000111101100000001111 ...
Exemple :
On suppose que la couleur de départ est le
ABBBBCAAACCC --> 1A 4B 1C 3A 3C (sans les espaces)
noir. On compresse alors uniquement en
indiquant le nombre de pixels N ou B
Gain de compression : successifs
ex : 541274 ...
G = (12-10)/12 = 16,7%

9 10

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

RLE (Run-Length Encoding) RLE (Run-Length Encoding)

Application aux images monochromes Application aux images en niveau de gris


Et s’il y a plus de 255 fois le même pixel (codage 8 bits) ? ex : Image possédant une profondeur de 8 bits :

ex : 1111000...00011 ... 12,12, 12, 12, 12, 35, 76, 112, 67, 87, 87, 87, 87 ...
400 fois
codée en :
Solution : insertion d’un 0 tous les 255 pixels. Comment distinguer
5 12 35 76 112 67 4 87 ces nombres ?
ex : 4 255 0 145 2 (d) = 04 FF 00 91 02 (h)
5 12 1 35 1 76 1 112 1 67 4 87 ou bienF

255 5 12 35 76 112 67 255 4 87

11 12

3
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

RLE (Run-Length Encoding) RLE (Run-Length Encoding)

Comment parcourir l’image ? Application sur le format BMP (codage sur 8 bits, RGB)

• Les pixels compressés sont organisés par paire d’octets :


04 02 = 02 02 02 02

• La valeur 00 est un caractère d’échappement, et sa signification dépend de


l’octet suivant :

• 00 00 = eol (end of line)


• 00 01 = eni (end of image)
• 00 02 = saut dans l’image. Les 2 octets suivants indiquent le nombre de
Codage suivant Codage suivant Codage ZIG ZAG ligne et de colonne.
l’axe des X l’axe des Y • 00 XX = XX raw pixels. Les XX octets suivants sont les valeurs des pixels.

13 14

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

RLE (Run-Length Encoding) Méthodes statistiques

Application sur le format BMP (codage sur 8 bits, RGB) Le code de Huffman
• Voici une image 4x8 compressée, codée sur 8 bits : Principe : attribuer au symbole le plus probable le mot de code le plus court

04 12 0004 a35b1247 01 f5 02 e7 0002 00 01 01 99 03 c1 0000 0004 08 92 6b Méthode : construction d’un arbre (binaire, dans le cas d’un code binaire)
d7 0001
Exemple : soit une source émettant les symboles u1,..., u6, avec des
• Une fois décompressé, on obtient : probabilités

de 0.4, 0.3, 0.1, 0.1, 0.06 et 0.04 respectivement.

1ère étape : classer les symboles par ordre croissant de probabilité

15 16

4
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes statistiques Méthodes statistiques

Le code de Huffman Le code de Huffman

2ème étape : réunir les 2 plus faibles probabilités en une seule “super-proba” 3ème étape : répéter la 2ème étape jusqu’à obtenir une probabilité de 1

17 18

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes statistiques Méthodes statistiques

Le code de Huffman Le code de Huffman

3ème étape : répéter la 2ème étape jusqu’à obtenir une probabilité de 1 3ème étape : répéter la 2ème étape jusqu’à obtenir une probabilité de 1

19 20

5
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes statistiques Méthodes statistiques

Le code de Huffman Le code de Huffman

3ème étape : répéter la 2ème étape jusqu’à obtenir une probabilité de 1 3ème étape : répéter la 2ème étape jusqu’à obtenir une probabilité de 1

21 22

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes statistiques Méthodes statistiques Attribuer au


symbole le plus
Le code de Huffman Le code de Huffman probable le mot
de code le plus
4ème étape : attribuer 0 ou 1 à chacune des branches 5ème étape : lire le codage obtenu, du haut vers le bas ! court

23 24

6
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes statistiques Méthodes Par dictionnaire

Le code de Huffman Les algorithmes de type dictionnaire établissent un dictionnaire des termes
employés dans un fichier, termes qui peuvent êtres de taille quelconques, et on
Conclusion leur associent un code de taille moins importante.
Le fichier compacté est composé du dictionnaire et du fichier où les termes sont
• Technique de codage très souvent utilisée comme “surcouche” à d’autres remplacés par les codes.
méthodes de compression (ex: images TIFF, JPEG, ou MPEG, ...)

• Mais ... elle nécessite la connaissance préalable des probabilités d’apparition des Codage C = AAAAAA
Compacté
symboles de source. Dans le cas d’une image à compresser, cela est M dérangeant !
Fichier Dictionnaire
Codage semi-adaptatif de Huffman : on lit une fois l’image pour établir les probabilités AAAAAA ________ C ________ C
d’apparition des symboles, puis on construit l’arbre de Huffman. _____AAAAAA____ _____C____
Une seconde lecture est ensuite nécessaire pour la compression à proprement dit _AAAAAA________ _C________
AAAAAA_________ C_________
_________AAAAAA _________C
25 26

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes Par dictionnaire Méthodes Par dictionnaire: LZ

Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi


que le dictionnaire employé.

L’idée principale est de remplacer le symbole à coder par son index (code) 0000000100111010111000100110
Qui le représente dans le dictionnaire.

Ce dictionnaire peut être statique et connu à l’avance, ou dynamique, construit Essayer de décompresser cette suite de valeur
au fur à et à mesure de la compression. sachant que chaque index (code) est précédé
de 3 bits indiquant la taille de cet index
Le contenu de ce dictionnaire conditionne complètement les performances de la
compression.

Ainsi, l’utilisation d’un dictionnaire statique n’est pas un choix pertinent

27 28

7
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes Par dictionnaire Méthodes Par dictionnaire

Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi
que le dictionnaire employé. que le dictionnaire employé.

0000000100111010111000100110 0000000100111010111000100110

Dictionnaire : code de l’index = 0


Longueur de l’index = 1

Image :
132

29 30

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes Par dictionnaire Méthodes Par dictionnaire

Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi
que le dictionnaire employé. que le dictionnaire employé.

0000000100111010111000100110 0000000100111010111000100110

Dictionnaire : Dictionnaire :
Longueur de l’index = 1 Longueur de l’index = 2

code de l’index = 1 code de l’index = 11

Image : Image :
132 177 132 177 72

31 32

8
29/11/2019

3. Techniques de compression non-destructives 3. Techniques de compression non-destructives

Méthodes Par dictionnaire Méthodes Par dictionnaire

Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi
que le dictionnaire employé. que le dictionnaire employé.

0000000100111010111000100110 0000000100111010111000100110

Dictionnaire : Dictionnaire :
Longueur de l’index = 3 Longueur de l’index = 1

code de l’index = 111 code de l’index = 1

Image : Image :
132 177 72 59 132 177 72 59 177

33 34

3. Techniques de compression non-destructives 4. Techniques de compression destructives

Méthodes Par dictionnaire Géneralité

Exemple: séquence de pixels en niveau de gris compressés par LZ ainsi Ces techniques de compression sont avec pertes d’information.
que le dictionnaire employé.
Ces méthodes permettent de retrouver une approximation de l’image numérique.
0000000100111010111000100110
Les pertes sont généralement indétectables à l’œil nu

Dictionnaire : Les méthodes de compression les plus souvent utilisées sont : la norme JPEG
Longueur de l’index = 2 (Joint Photographic Expert Group), la compression par ondelettes, Transformation
en Cosinus Discrète (TCD) , l’utilisation des fractales,M
code de l’index = 10

Image :
132 177 72 59 177 35

35 36

9
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

Principe fondamental Premières méthodes intuitives

Etant donné un pixel, il y a de forte chance que ses voisins possèdent la


même couleur, ou du moins une couleur similaire Sous échantillonnage : on ignore simplement certains pixels. Les effets sur
l’image sont très visibles (grande perte de détails) : cette méthode simple est très
Les techniques de compression avec perte sont donc basées sur le fait que les peu utilisée.
niveaux de gris de pixels voisins sont fortement corrélés (reliés).

On parle alors de redondance (répétition) spatiale. Sous échantillonnage des couleurs : notre œil est moins sensible aux variations
de chrominance que de luminance. Les deux chrominances sont sous-
échantillonnées d’un facteur 2, conduisant à une réduction de 50% de la taille du
C’est cette corrélation qui permet la compression. fichier

37 38

3. Techniques de compression destructives 3. Techniques de compression destructives

JPEG (Joint Photographic Experts Group) JPEG (Joint Photographic Experts Group): mesure de la distorsion

Le JPEG (Joint Photographic Experts Group) n’est pas un nom de fichier, mais
une méthode de compression.

C’est aujourd’hui une des méthodes de compression les plus utilisées, notamment
grâce aux forts taux de compression qu’elle est capable d’atteindre

39 40

10
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG (Joint Photographic Experts Group): mesure de la distorsion JPEG : Chaine de compression
Sous échantillonnage de couleurs

Transformation discrète en cosinus

42

dB= décibel
41

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Conversion RGB YCbCr JPEG : Conversion RGB YCbCr

43 44

11
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Conversion RGB YCbCr

45 46

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Downsample

47 48

12
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Downsample JPEG : Downsample

Chaque pixel de l'image peut être reconstitué à partir de ces trois composantes :
Le sous-échantillonnage de la chrominance est une méthode de réduction de la luminance Y', la chrominance bleu ou différence bleu (Cb) et la chrominance
volume des images numériques. Il consiste à diminuer le nombre d'échantillons à rouge (Cr).
traiter : on parle de décimation

La vision humaine présentant une sensibilité moindre à la couleur qu'à la


luminosité, on conserve généralement moins d'informations de chrominance que
de luminance sans pour autant dégrader la qualité perçue de l'image

le principe de la compression avec perte est d’éliminer les échantillions qui se


répètent. (mauvaise qualité lors de la décompression)

La solution c’est de diminuer le nombre de composante de chrominance qui se


repètent

49 50

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Downsample JPEG : Downsample


Pour appliquer le sous-échantillonnage, on se représente une région de quatre pixels
de largeur sur 2 pixels de hauteur et on indique une série de 3 nombres J:a:b (par Exemple 2
Image original Downsample
exemple 4:2:2).

J est le nombre d'échantillons de luminance (Y') par ligne (toujours identique sur les
deux lignes de J pixels). Habituellement, 4.

a: est le nombre d'échantillons de chrominance (Cb, Cr) sur la première ligne de pixels.
b : le nombre d'échantillons de chrominance (Cb, Cr) sur la deuxième ligne de pixels. (J,a,b)
Exemple 1
Image original Downsample

(J,a,b)

(J,a,b) (J,a,b) 51 52

13
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

53 54

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Quantification

Table de quantification

55 56

14
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Quantification

57 58

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : linéarisation de l’image

59 60

15
29/11/2019

4. Techniques de compression destructives 4. Techniques de compression destructives

JPEG : Décompréssion

décompression

Transformation discrète Inverse en cosinus

61 62

4. Techniques de compression destructives

JPEG : Avantages

Les taux de compression impressionnants

Standard largement répandu

Personnalisation de la matrice de quantification

Extension adapté au séquences d’images (MJPEG)

63

16

Vous aimerez peut-être aussi