Vous êtes sur la page 1sur 46

Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Compression d’image

Departement math-informatique
Faculté Polydisciplinaire de Beni Mellal
Sultan moulay slimane

Diarra Fatoumata Magnan

Oulbouch Ahlam

Ounhari Touria

23 novembre 2023

Traitement d’image Master STRI


Compression d’image 1 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 2 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction
Objectif
Notion d’histogramme

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 3 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Introduction

Quest-ce quune image : point de vue mathématique.


• Une image avant numérisation est un signal continu 2D ou 3D
(en tenant compte de la profondeur de limage ou de temps)
• Une image peut donc être vue comme une fonction :
I : S → R(x , y )
(x, y) → I(x , y )
Dans le domaine continu :
S = [0, n] − 1] ∗ [0, nc − 1] R = [0, ValMax]
Dans le domaine discret :
S = [0, 1, .., n] − 1] ∗ [0, 1, .., nc − 1] R = [0, ..., Ng]

Traitement d’image Master STRI


Compression d’image 4 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Quest-ce qu’une image numérique :


Image numérique = échantillonnage + quantification
• chaque pixel une valeur unique.
• Quantification : désigne le nombre de valeurs différentes que
peut prendre un pixel.

Traitement d’image Master STRI


Compression d’image 5 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Différents types dimage

Image binaire
Dans une image binaire, les pixels sont représentés par deux états
logiques 0 (noir) et 1 (blanc). Cest un codage de limage sur 1 bit.

Traitement d’image Master STRI


Compression d’image 6 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Image à niveaux de gris (intensité ou luminance) :


Chaque pixel est codé sur N bits, ce qui lui confère des valeurs
entières comprises entre 0 (noir) et 2N -1 (blanc).

Traitement d’image Master STRI


Compression d’image 7 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Image couleur :
Une image couleur correspond à la synthèse additive de 3 images,
rouge, vert et bleu. Chaque pixel est donc codé sur 3»N bits.

Traitement d’image Master STRI


Compression d’image 8 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Image indexée :
La couleur ou lintensité des niveaux de gris est déterminé par un
index auquel correspond la couleur en question.

Traitement d’image Master STRI


Compression d’image 9 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Généralités

La compression de données est une activité ancienne : lutilisation


dabréviations en est une preuve. Les langues elles-mêmes utilisent
des mots de longueurs variées, les plus fréquents étant les plus
courts, afin de réduire la taille des phrases. Il est cependant une
application plus visible que les autres :
la compression des images numériques. Cest elle qui a permis la
diffusion des images sur Internet ou encore la démocratisation des
appareils photos numériques. Elle constitue également la base de la
compression vidéo.

Traitement d’image Master STRI


Compression d’image 10 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Lhomme a toujours voulu découvrir la beauté des planètes, vues de


lespace. Il a donc envoyé des satellites capables de photographier
celles-ci. Mais lun des problèmes majeurs est la transmission de ces
photos, du satellite à la terre. Cette communication se fait à laide
des ondes électromagnétiques. La transmission des informations est
dautant plus facile que le nombre dinformations est faible. Il est
donc avantageux den réduire le nombre. Une technique employée
dans de nombreux domaines est la compression des informations.
Lutilisation dalgorithmes de compression dimages permet en effet,
une réduction importante de la quantité de données.

Traitement d’image Master STRI


Compression d’image 11 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction
Objectif
Notion d’histogramme

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 12 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Objectif
• Réduire la quantité de mémoire nécessaire
• Réduire le temps de transmission de celle-ci
• Réduire la bande passante
• Réduire la quantité de données nécessaires
• Améliorer lefficacité

Traitement d’image Master STRI


Compression d’image 13 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction
Objectif
Notion d’histogramme

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 14 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Notion d’histogramme

Lhistogramme est une fonction H(x) permettant de donner la


fréquence dapparition des différents niveaux de gris x qui
composent limage.
En abscisse on représente les niveaux de gris et en ordonnée leurs
fréquences dapparition. Lhistogramme des niveaux de gris nous
informe sur la concentration de limage.
Pour une image couleur, il y a un histogramme par composante

Traitement d’image Master STRI


Compression d’image 15 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Il fournit diverses informations comme les statistiques dordre1.


Histogramme cumulé : représente le nombre de pixels dont le
niveau de gris est inférieur à x.

C (k) = ki=0 h(i)

Traitement d’image Master STRI


Compression d’image 16 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Utile pour certains traitements dimage tels que légalisation


dhistogramme (amélioration de contraste).

Remarque importante
Lhistogramme donne une information sur les occurrences
(fréquences dapparition) des niveaux de gris des pixels de limage,
mais ne donne aucune indication sur la répartition (fréquences
spatiales) de ces niveaux de gris au sein de limage.

Traitement d’image Master STRI


Compression d’image 17 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 18 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Définition
La quantité d’information dans une image est déterminée par sa
résolution, sa profondeur de couleur et son contenu. La résolution
est le nombre de pixels dans une image. La profondeur de couleur
est le nombre de bits utilisé pour représenter chaque pixel. Le
contenu est la distribution des couleurs et des textures dans
l’image.

Formule générale
La quantité d’informations dans une image peut être calculée à
l’aide de la formule suivante :

Q =N ∗L

Q : la quantité d’informations dans l’image, en bits


N : le nombre de pixels dans l’image
L : la profondeur de couleur de l’image, en bits par pixel
Traitement d’image Master STRI
Compression d’image 19 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 20 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Definition
Le taux d’une image compressée se réfère à la quantité de
compression appliquée à l’image. Il est généralement exprimé sous
la forme d’un rapport entre la taille de l’image originale et la taille
de l’image compressée

tailleoriginal
Tauxdecompression = . (1)
taillecompresse

Traitement d’image Master STRI


Compression d’image 21 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Exemple :
Soit une image originale de 100 Ko, compressée à 20 Ko, le taux
de compression est de 5.
En réalité, il existe Deux types de compression :
• Réversible, sans perte (lossless)
• Non réversible, avec pertes (lossy)

Traitement d’image Master STRI


Compression d’image 22 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression
Compression sans perte
Arbre du Huffman
Compression avec perte

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 23 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression
Compression sans perte
Algorithmes de compresse sans perte
Arbre du Huffman
Compression avec perte

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 24 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Compression sans perte

Principe
La compression est dite sans perte lorsqu’il n’y a aucune perte de
données sur l’information d’origine.Il y a autant d’information après
la compression qu’avant.elle est seulement réécrite d’une manière
plus concise. La compression sans perte est dite aussi compactage.

• Pas de modification de limage.


• Ne change que la façon dont elle est codée sur disque.

Traitement d’image Master STRI


Compression d’image 25 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Algorithmes de compression sans perte

• Méthodes à base de redondances (RLE) : utilisées par les


formats dimages PCX, TGA,...
• Méthodes statistiques (Huffman, ...) : utilisées par les formats
dimages JPEG, ...
• Méthodes à base de dictionnaires (LZW, ...) : utilisées par les
formats dimages GIF, TIFF,...

Traitement d’image Master STRI


Compression d’image 26 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression
Compression sans perte
Arbre du Huffman
Compression avec perte

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 27 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

arbre de Huffman

La méthode développée par D.Huffman en 1952, traite lextension


des codes optimaux, elle permet la détermination dun VLC (code à
longueur variable) préfixé. La méthode de compression Huffman
consiste à construire un arbre qui va nous permettre de donner un
code pour chaque symbole en fonction de sa fréquence.

Traitement d’image Master STRI


Compression d’image 28 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Fonctionnemnt
• on cherche la fréquence des caractères.
• on trie les caractères par ordre décroissant de fréquence.
• on construit un arbre pour donner le code binaire de chaque
caractère.

Traitement d’image Master STRI


Compression d’image 29 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Exemple de codage Huffman

Figure 1 – Arbre de Huffman

Traitement d’image Master STRI


Compression d’image 30 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression
Compression sans perte
Arbre du Huffman
Compression avec perte

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 31 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Compression avec perte

Principe
suppression des informations les moins indispensables pour lil
humain. Réduction du nombre de données

• Taux de compression plus élevé que compression sans perte.


• Plus le taux de compression est élevé, plus le niveau de pertes
est important et plus la qualité dimage est dégradée.

Traitement d’image Master STRI


Compression d’image 32 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Algorithme de compression avec perte

Transformation par DCT (Discret Cosinus Transform)


Dans cet méthode, limage de dimension NxN est subdivisée en sous
images ou blocs de taille réduite (la quantité de calcul demandée
pour effectuer la transformation sur limage entière est très élevée).
Chaque bloc subit une transformation mathématique orthogonale
inversible linéaire du domaine spatial vers le domaine fréquentiel,
des autres blocs (transformée en un ensemble de coefficients plus
ou moins indépendants). Les coefficients obtenus sont alors
quantifiés et codés en vue de leur transmission ou de leur stockage.
Pour retrouver lintensité des pixels initiaux, on applique sur ces
coefficients la transformation inverse

Traitement d’image Master STRI


Compression d’image 33 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

La matrice de transformation DCT est complètement


dépendante de limage, cette transformation est très utilisée
pour lexécution des algorithmes rapide en calcul.
La formule générale de la DCT et celle de son inverse sont
données par les relations suivantes :

Et pour la transformation inverse :

Traitement d’image Master STRI


Compression d’image 34 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

1 Introduction

2 Quantité d’informations

3 Taux de compression

4 Algorithme de compression

5 Compression JPEG

Traitement d’image Master STRI


Compression d’image 35 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Compression JPEG

JPEG est une norme de compression dimages basée sur la DCT.


Cette norme 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 est lacronyme de Joint Photographic Experts Group Il s’agit


d’un comité dexperts qui édite des normes de compression pour
limage fixe.

JPEG définit deux classes de processus de compression :


1 Avec pertes ou compression irréversible. C’est le JPEG
classique . Il permet des taux de compression de 3 à 100.
2 Sans pertes ou compression réversible. Il n’y a pas de pertes
dinformation et il est donc possible de revenir aux valeurs
originales de l’image.
Traitement d’image Master STRI
Compression d’image 36 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Principe de l’algorithme JPEG

1 Conversion de l’image RVB en espace de couleur YCbCr.


2 Limage est découpées en blocs de tailles 8x8 pixels pour
appliquer a chacun dentre eux une DCT.
3 Quantification des coefficients de la transformée DCT en
utilisant des tables de quantification. Cette étape permet de
réduire la précision des coefficients de manière adaptative, en
accordant moins de bits aux coefficients moins perceptibles.
4 Encodage des coefficients quantifiés en utilisant le codage de
Huffman. Cette étape permet de représenter les symboles les
plus fréquents avec moins de bits, ce qui contribue à une
compression supplémentaire.

L’image L’image
originale compressée
Traitement d’image Master STRI
Compression d’image 37 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Conversion de l’image RVB en YCbCr

La compression d’images JPEG utilise le modèle de couleur YCbCr


pour représenter les images. Dans ce modèle, l’image est
décomposée en trois composantes : la luminance (Y) et les deux
composantes de chrominance (Cb et Cr). Ces composantes sont
des combinaisons linéaires des intensités de rouge (R), vert (G) et
bleu (B) :

Y = 0.30R + 0.59G + 0.11B

Cr = 0.60R − 0.28G − 0.32B

Cb = 0.21R − 0.52G + 0.31B

Cette décomposition permet de séparer les informations de


luminosité des informations de couleur, ce qui permet une
compression plus efficace.
Traitement d’image Master STRI
Compression d’image 38 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Dans matlab, pour transformee les images du RGB en YCrCb en


utilisant le code suivant :

Traitement d’image Master STRI


Compression d’image 39 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Transformée en cosinus discrète

La clé du processus de la compression JPEG est la DCT (Discrete


Cosine Transform).
Le calcul de la DCT ne peut pas se faire sur une image entière
d’une part parce que cela générerait trop de calculs et d’autre part
parce que le signal de l’image doit absolument être représenté par
une matrice carrée. Dès lors, le groupe JPEG impose la
décomposition de l’image en blocs de 8 pixels sur 8 pixels. La DCT
est donc effectuée sur chaque matrice 8x8 de valeurs de pixels, et
elle donne une matrice 8x8 de coefficients de fréquence.

Traitement d’image Master STRI


Compression d’image 40 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Dans matlab linstruction blkproc permet de découper une images


en plusieurs blocs de taille [M N] et dappliquer une fonction DCT
à chacun de ces blocs, ici on utilisera la fonction dctmtx.

Traitement d’image Master STRI


Compression d’image 41 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

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 .
La quantification consiste à diviser cette matrice par une autre,
appelée matrice de quantification, et qui contient 8.8 coefficients
choisis par le codeur.Le but est ici datténuer les hautes fréquences,
cest-à-dire celles aux quelles lil humain est très peu sensible. Ces
fréquences ont des amplitudes faibles, et elles sont encore plus
atténuées par la quantification .

Traitement d’image Master STRI


Compression d’image 42 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Le code matlab suivant effectue la quantification des coefficients


de la transformée en cosinus discrète (DCT) appliquée aux
composantes Y, Cb et Cr de l’image.

Traitement d’image Master STRI


Compression d’image 43 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Qy et Qc sont les matrice de quantification pour quantifier les


coefficients de la DCT des composantes Y, Cb et Cr
respectivement. Les coefficients de la DCT sont divisés par les
éléments correspondants des matrices Qy et Qc, puis arrondis à la
valeur entière la plus proche à l’aide de la fonction round. Cette
opération de quantification réduit la précision des coefficients de la
DCT, ce qui permet de compresser davantage les données.
Les variables YF, CbF et CrF contiennent les résultats de la DCT
appliquée aux composantes Y, Cb et Cr respectivement.

Traitement d’image Master STRI


Compression d’image 44 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Codage de huffman

Le code suivant effectue un codage différentiel DC sur les


coefficients DCT quantifiés.
Les coefficients DC représentent la valeur moyenne de chaque bloc
et le codage différentiel réduit la redondance des valeurs DC.Ensuit
un codage de Huffman applique aux coefficients DC et AC (non
nuls).

Traitement d’image Master STRI


Compression d’image 45 / 47
Introduction Quantité d’informations Taux de compression Algorithme de compression Compression JPEG

Taux de compression

Pour calcule le taux de compression en divisant la taille des données


compressées (codes DC et AC) par la taille de l’image d’origine.

Traitement d’image Master STRI


Compression d’image 46 / 47

Vous aimerez peut-être aussi