Vous êtes sur la page 1sur 111

Plan

1
Introduction
Introduction
Qu'est-ce que la compression de données?
 La compression consiste à réduire la taille physique de blocs
d'informations. Un compresseur utilise un algorithme qui sert à
optimiser les données en utilisant des considérations propres au type
de données à compresser; un décompresseur est donc nécessaire
pour reconstruire les données originales grâce à l'algorithme inverse
de celui utilisé pour la compression.
 La méthode de compression dépend intrinsèquement du type de
données à compresser : on ne compressera pas de la même façon
une image qu'un fichier audio...
Introduction

 Les principaux critères d’évaluation de toute


méthode de compression sont :
 Le quotient de compression;
 Le taux de compression;
 Le gain de compression;
 L’efficacité.
Introduction
 Quotient de compression: c'est le rapport du nombre de bits dans le
fichier originale par le nombre de bits dans le fichier compressée:
Q=Nboriginal/Nbcompressé
 Taux de compression: Souvent utilisé, est l'inverse du quotient de
compression, il est habituellement exprimé en pourcentage:
T=1/Q= Nbcompressé/Nboriginal
 Gain de compression: également exprimé en pourcentage, est le
complément à 1 du taux de compression :
G=1-T
Introduction
 Efficacité d’un codage:
 Notion d’entropie: pour une source X comportant n symboles, un
symbole ai ayant une probabilité pi d'apparaître, l'entropie H de la
source X est définie comme :

Avec : pi=ni/N , ou ni est le nombre d’occurrences du symbole ai dans le


message M composé de N symbole.
Introduction
 Quantité d’information d’un message:
Soit M un message constitué de N symboles.
Supposons que l’on construise un « code » qui, à chaque symbole ai,
associe un « mot code » ci dont la longueur li (en nombre de bits) varie
selon sa probabilité d’apparition. On montre alors que :

=>L’entropie est la limite inférieure du nombre moyen de bits juste


nécessaires au codage binaire d’un fichier.
Introduction
 Définissons l'efficacité d'un codage par:

 Premier Théorème de Shannon: Pour toute source discrète sans


mémoire, il existe un codage permettant de coder la source et
dont l'efficacité est arbitrairement proche de 1.
Principe général de la
compression
10

Le schéma fonctionnel de la compression

 pour une image la dépendance existante entre chacun des pixels et ses
voisins (la luminosité varie très peu d’un pixel à un pixel voisin) traduit une
corrélation très forte sur l’image. On essaie donc de tirer partie de cette
corrélation, pour réduire le volume d’information en effectuant une opération
de décorrélation des pixels.
 La décorrélation consiste à transformer les pixels initiaux en un ensemble
de coefficients moins corrélés, c’est une opération réversible.
Principe général de la
compression
11

Le schéma fonctionnel de la compression

La quantification des coefficients a pour but de réduire le nombre de bits


nécessaires pour leurs représentations. Elle représente une étape clé de
la compression. Elle approxime chaque valeur d’un signal par un
multiple entier d’une quantité q, appelée quantum élémentaire ou pas de
quantification. Elle peut être scalaire ou vectorielle.
Principe général de la
compression
12

Le schéma fonctionnel de la compression

Une fois les coefficients quantifiés, ils sont codés. Un codeur doit
satisfaire à priori les conditions suivantes :
Unicité : deux messages différents ne doivent pas être codés de la
même façon.
Décodage: deux mots de codes successifs doivent être distingués sans
ambiguïté.
Plusieurs types de codage seront détaillés ci-après.
Classification des méthodes de
3
compression
Classification des méthodes de
compression
La compression physique
 Agit directement sur les données, les bits; il s'agit ainsi de
regarder les données redondantes d'un train de bits à un autre
sans regarder de quel type de donnée il s’agit (image, texte,
son, vidéo).
 Zip, GZip, Rar
La compression logique
 Effectuée par un raisonnement logique en substituant une
information par une information équivalente. Elle utilise un
algorithme qui agit sur les données, selon le type de données.
 TIFF -> scanners
 RAW et JPEG -> appareils photos numériques
 GIF -> WEb
Classification des méthodes de
compression
Classification symétrique et assymétrique
 La compression symétrique, la même méthode est utilisée
pour compresser et décompresser l'information, il faut donc
la même quantité de travail pour chacune de ces opérations.
C'est ce type de compression qui est généralement utilisée
dans les transmissions de données.
 La compression asymétrique demande plus de travail pour
l'une des deux opérations, on recherche souvent des
algorithmes pour lesquels la compression est plus lente que
la décompression.
Classification des méthodes de
compression
Classification selon la Compression sans pertes et avec
redondance pertes
La plupart des méthodes de La compression avec pertes (lossy
compression visent à enlever la compression), par opposition à la
redondance présente dans l’image compression sans pertes (lossless
de manière à diminuer le nombre de compression), se permet d'éliminer
bits nécessaires à sa quelques informations pour avoir le
représentation. meilleur taux de compression possible,
 La redondance spatiale entre tout en gardant un résultat qui soit le plus
pixels ou blocs voisins dans proche possible des données originales.
l’image;
 La redondance temporelle
entre images successives dans
Classification des méthodes de
compression
Compression sans pertes Compression avec pertes
 Retrouver les données originales  Données originales perdues :
en décompressant :  Taille réduite par l’élimination
d’information
 Gain d’espace sans perte  Choix d’un taux de compression
d’information plus ou moins préjudiciable au
 Utilisé si l’intégrité des données contenu
est importante :  Faire en sorte que l’utilisateur ne
s’en rende pas compte
 Document texte, code, etc. (compression dédiée)
 winzip, gzip, compress, bzip, GIF  Applications :
 Audio : mp3, ogg, wma, etc.
 Images : jpeg, etc.
 Vidéos : MPEG, « divx », etc
4
Types de médias
1.

2.

3.

4.
4.2 Le média Son
Introduction
 Différents types : Parole, Bruits, Musique,…
 Les sons sont des informations analogiques.
 Le son est une sensation provoquée par des vibrations.
 Les ondes sonores nécessitent un support adéquat (air,
métal,…).
 Dans l'air calme, sous une pression atmosphérique
normale et à 20° C,
vitesse de propagation du son = 340 m/s
Caractéristiques
 3 caractéristiques :
 Hauteur : sons graves/aigus.
 Volume : intensité sonore.
 Timbre : qualité de la sensation auditive qui différencie deux
sons de même hauteur et de même volume.
Caractéristiques : Hauteur
 Fréquence de vibration de l'air. S'exprime en
Hertz (Hz) : nombre de vibrations par
seconde.
Représentation
temporelle

Représentation
fréquentielle: le spectre
d’amplitude
Son grave Son aigu
Basses fréquences Hautes fréquences
Caractéristiques : Hauteur
• Harmonique : onde sinusoïdale élémentaire.
• Harmonique fondamentale :
- La plus grave.
- Celle que retient l'oreille.

• Les harmoniques :
- Des fréquences plus élevées se Superposition de 2 fréquences :
superposent. la fondamentale & une harmonique
- Servent à l'habillage du son et à la
personnalisation du timbre.
Caractéristiques: Volume (intensité sonore)
 Hauteur de l'amplitude du signal /Force avec laquelle l'air frappe le
tympan. Cette pression s’exprime en Pascal (Pa)
 Unité non adaptée à la mesure des variations des pressions audibles :
rapport de 1/10 000 000 entre le seuil d’audibilité (0.00002 Pa) et le
seuil de la douleur (200 Pa)
 utilisation d’une échelle logarithmique s'exprimant en décibel (dB SPL
« Sound Pressure Level » ). Niveausonore(dB) =20log10(Pa/Pa0)
Pa et Pa0 en pascal
Rq: Le déciBel est un rapport de deux grandeurs Pa & Pa0. Le niveau
d’une onde sonore est défini par rapport à une valeur de référence Pa0.
Le déciBel n’a de signification physique que si l’on connait Pa0.
Pa0 = 20.10-6 Pa=20 Pa
Caractéristiques : Intensité Sonore
 Les pressions exprimées en dB ne s'additionnent
pas
 Exemples : 2 sons de 90 dB émis en même temps
Pression en Pa
ne donnent pas un son de 180Source
dB : Niveau en dB SPL

Avion 20 x 107 140


N = 20 Log (Pa/Pa0 + Pa/Pa0)
Marteau pneumatique 63 x 106 130
= 20 Log (2 x Pa/Pa0) Seuil de la douleur 20 x 106 120
Conversation à 1 mètre 63 x 103 70
= 20 Log 2 + 20Log ( Pa/Pa0 ) Habitation calme 20 x 102 40
Niveau de référence 20 0
= 6 + 20Log Pa/Pa0 = 96dB
Caractéristiques : Timbre
 Constitué d'un ensemble de fréquences appelé
spectre :
 Dépend du nombre de composantes (harmoniques),
accompagnent la fréquence fondamentaleet de leurs
intensités relatives
 C'est ainsi que l'on reconnaît deux instruments de
musique jouant une même note ou une personne qui
parle.
 La richesse du spectre indique si un son est riche,
brillant, profond
Chaîne du son
Stockage:
Traitement: codage et Diffusion:
Création et compression Restitutio échange de
Acquisitio édition format et n: haut musique,
n analogique et
qualité
numérique. parleurs son en
manipuler le son. variables, perte direct…
d’information
Numérisation

Signal
analogique: Signal
onde Echantillonna numérique:
Quantification Codage
continue ge séquence
dans le binaire
temps
Numérisation : échantillonnage

Amplitude
Consiste à prendre un échantillon du signal à
intervalles réguliers
• Discrétisation dans le temps.
• Choix du nombre d'échantillons par
seconde.
Exp.: échantillonnage à 11 KHz.
Le son est analysé 11.000 fois par
seconde Temps
Numérisation : fréquence d'échantillonnage
 Nombre de mesures effectuées par seconde lors de la numérisation
 Plus la fréquence est élevée, plus on se rapproche du signal analogique
 Théorème de Shannon : Pas de perte d’information lors de la phase d’échantillonnage
si l’on échantillonne à une fréquence deux fois supérieure à la fréquence max du signal
Fe >= 2 Fmax
Fréquence d’échantillonnage

Qualité 8 KHz

Qualité AM 11 KHz

Qualité FM 32 KHz

Qualité HI-FI 37.8 KHz

Qualité CD-A 44,1 KHz


Numérisation : quantification

Amplitude
70
60
50
Regroupement des amplitudes dans des 40
30
20
plages: 10
0
• Discrétisation de l'amplitude. -10
-20
• Choix de la précision de -30
-40
-50
représentation d'un échantillon. -60
-70

Temps
Numérisation : codage
• Association d’une valeur à 70 ↔ 0111

Amplitude
chaque plage d’où l’ attribution 60 ↔ 0110
50 ↔ 0101
des codes numériques aux 40 ↔ 0100
échantillons 30 ↔ 0011
20 ↔ 0010
• Le nombre de bits de codage 10 ↔ 0001
permet de donner le nombre de 0 ↔ 0000
-10 ↔ 1001
niveau de la quantification. -20 ↔ 1010
-30 ↔ 1011
Exp :1 bit: 2 niveaux -40 ↔ 1100
2 bits: 4 niveaux -50 ↔ 1101
-60 ↔ 1110
Rq: Plus le nombre de bits est -70 ↔ 1111
grand plus on décrit mieux le
Temps
signal
Numérisation : Exemple de codage

Nombre de bits de codage : 2


Nombre de niveaux : 4
Numérisation : taille des données
 Taille de la musique = Féchantillonnage x Nbbits x Nbsec x Nbvoies
Exemple : 8 bits mono 8 bits Stéréo 16 bits mono 16 bits stéréo
(CD-A)
44,1KHz 43 ko/s 86 ko/s 86 ko/s 172 ko/s
2580 Ko (1min) 5160 Ko 5160 Ko 10320 Ko

•La qualité de numérisation du son dépend de 3 paramètres :

1. Fréquence d'échantillonnage 3. Le nombre de canaux :


- Qualité téléphonique : 8 kHz. - un canal : son mono.
- Qualité CD : 44,1 kHz. - Deux canaux : son stéréophonique.
2. Le nombre de bits par échantillon : - Quatre canaux : son
- 8 bits (qualité médiocre). quadriphonique.
- 16 bits (qualité CD).
Techniques de compression
 Un échantillon est généralement corrélé avec les échantillons
précédents(il porte des informations redondantes)
Eliminer la redondance via la compression
 Le procédé de compression est performent si :
 Taux de compression est élevé
 Sans dégradation de la qualité de restitution
 Respect des ressources matérielles de la machine (la capacité de calcul
surtout)
Techniques de compression:Codage
différentiel
 Codage différentiel :
 Mesurer la différence entre deux échantillons successifs

 La différence est beaucoup plus petite que l’échantillon (elle peut


être codée avec une moindre précision)
 Exemple:
Séquence binaire: 0101-0111-0101-0100-0101-0110-0111-0101-0100-0111
• Codage 4-bits: 5-7-5-4-5-6-7-5-4-7
• Codage différentiel(3bits): 0101-010-110-101-001-001-001-110-101-011
• Taux de compression: 77.5%
Techniques de compression

e1 (0001) ; e2 (0010) ; e3 (0011)


e2 – e1 = 1 ; e3 – e2 = 1 (La différence sur un bit)
4
La compression sans pertes
1.

2.

3.

4.

5.

6.
1. Codge à taille fixe (CTF)
Pour un message m  Exemple : Soit un
composé d’un alphabet de message de 36
n caractères distincts, la caractères, composé
taille (nombre de bit des caractères
nécessaire) d’un caractère A,B,C,D et E
pour un codage binaire à
 Exercice : Calculer la
taille fixe est :
Ent[ log2 (n) ] + 1 taille totale du
log 2 ( x ) 
ln( x ) message pour un
ln(2) codage binaire à taille
fixe.
2. Codge Topologique
Caractéristiques Etape 2 : On lit les données sources par bloc
 Fonctionne sur les octets (8 bits). de 8 octets, et on code chaque bloc de la
 Pour être efficace il est nécessaire façon suivante :
qu’un des octets source soit sensiblement a. On génère un octet topologique dans
dominant (par exemple 0). lequel les bits à 1 désignent la position
 Le taux de compression maximal est de de l’octet dominant dans le bloc lu.
1/8 b. Puis, on génère à la suite les caractères
Principe du bloc lu en supprimant l’octet
Etape 1 : Le caractère le plus fréquent dominant. Cette suite constitue le sous-
de la source va jouer un rôle mot de l’octet topologique précédent.
particulier, on nommera ce caractère
: l’octet dominant.
2. Codage Topologique
Exemple
 Soit un message source dont A est le
Exercice :
symbole de l’octet dominant (les symboles sont
ici représentés par des lettres, mais leur code
binaire a une longueur de 8 bits). Calculer le taux de compression du
 Considérons le bloc de 8 octets sources codage topologique en fonction de :
suivants : longueur du message, notée m ; et le
AABDEACA nombre d’occurrence du caractère
 L’octet topologique sera alors : 11000101
dominant, noté |D|.
 Et son sous-mot sera la suite de symboles :
BDEC
 Si T est le symbole de l’octet topologique ci-
dessus, alors le bloc compacté sera la suite de
symbole : TBDEC
3. Codage à longueur de plage
(RLE)
Principe :
Dans le message source les suites de caractère
Caractéristiques consécutif sont remplacées par un codage composé
 RLE : Run-Length Encoding du nombre d’occurrences du caractère suivi du
 Un des premiers algorithmes de caractère.
compression Vocabulaire :
 Fonctionne sur les octets ou caractères.  Dans le message source, une suite de caractères
 Utilisé par la plupart des fichier bimaps consécutifs est appelé un passage (ou une
(TIFF, BMP et PCX). course, « run »).
 Simple à implémenter et rapide  Le code compressé qui lui correspond est appelé
d’exécution. paquet RLE, dans celui-ci :
 Efficace sur les messages comportant un  le nombre d’occurrences du caractère est
grand nombre de symboles consécutifs. appelé le compteur de passage (« run
count »).
 et le caractère associé est appelé valeur de
passage (run value).
3. Codage à longueur de plage
(RLE)
Exemple1 Nous allons "balayer" ce carré ligne par
Soit un message ligne.
AAAAAAbbbXXXXXt
Son codage RLE sera la chaîne de 4
paquets suivante : 6A3b5X1t
Exemple 2
Soit une partie d’image de 6 x 5 pixels
qui sont définis chacun par 3 couleurs Taille avant compression18 x 5 = 90 octets
Nous avons donc:
(RVB).
29 x 134 + 7 x 150 + 6 x 134 + 6 x 150 + 3 x 153
+ 3 x 192 + 3 x 153 + 2 x 160 + 1 x 164 + 2 x
160 + 1 x 164 + 2 x 231 + 1 x 214 + 3 x 221 + 3
x 227 + 3 x 204 + 3 x 227 + 12 x 234
3. Codage à longueur de plage
(RLE)
Etablissons les valeus de pixels en binaire: Etablissons le multiple en binaire:

Tout cela nous amène au fichier compressé suivant:

Nous avons codé l'image sur 32 octets au lieu des 90 !!


3. Codage à longueur de plage
(RLE)
Variantes de RLE
Des schémas alternatifs de RLE peuvent être écrits de
telles manières qu'ils encodent les données de
manière verticale, colonne par colonne ou horizontale,
ligne par ligne ou bien par flots de 4 x 4 pixels ou
encore en zigzag.
Exercice
Considérons un message de longueur m comportant n
symboles différents. A quelle condition peut-on être sûr
que le codage RLE ne sera pas rentable quelque soit
l’agencement des symboles dans le message.
4. Codage à longueur variable
(VLC)
Principe
 Lorsqu’on connaît les occurrences des
caractères d’un message, on peut adopter un
code à longueur variable VLC (variable lenght
code) : on affectera le moins de bits aux Algorithme de Huffman
symboles les plus courants, et on réservera les
Algorithme de Shannon-
codes les plus longs aux moins probables.
 Ces méthodes nécessitent une pré-analyse du Fano
message à compresser (calcul des occurrences).
 Pour pouvoir être décodé, le message
compressé doit être accompagné de l’alphabet
utilisé pour la compression.
4.1. VLC : Algorithme de Huffman
Principe : Etape 2 : Le nœud créé remplace
Etape 0 : Les caractères sont d’abord triés désormais les deux symboles dans la suite
et classés en fonction de leur fréquence du processus. A ces derniers sont affectés
(occurrence). Un graphe est alors respectivement les chiffres binaires 0 pour
construit de la manière suivante : le plus fréquent et 1 pour le plus rare, (ou
Etape 1: A partir des deux symboles l’inverse, il s’agit d’une convention
présentant la fréquence la plus faible, un totalement arbitraire).
nœud est créé. Il lui est affecté un poids Etape 3 : La même démarche est reprise
égal à la somme des fréquences des en considérant les deux symboles ou
deux symboles. noeuds de poids le plus faible. Elle est
renouvelée tant qu’il reste au moins deux
symboles ou nœuds libres.
4.1. VLC : Algorithme de Huffman
Exemple :
Soit un message de 36
caractères, composé
des caractères A,B,C,D et Les caractères sont
E, dont les occurrences d’abord triés et
sont :
 A : 7 fois classés en fonction
 B : 6 fois de leur fréquence
 C : 5 fois (occurrence).
 D : 14 fois
 E : 4 fois
4.1. VLC : Algorithme de Huffman
Construction du
graphe
4.1. VLC : Algorithme de Huffman
Codage des symboles Codage obtenu :
 D (14) : 0
 A ( 7) : 111
 B ( 6) : 110
 C ( 5) : 101
 E ( 4) : 100
Exercices :
 Calculer la taille totale du
message après codage.
 Calculer le taux de
compression obtenu.
4.2. VLC : Algorithme de Shannon-
Fano
Principe : Exemple :
Etape 1 : on classe les symboles par ordre de Soit un message de 36
probabilités décroissantes caractères, composé
Etape 2 : on partage l’ensemble des symboles en des caractères
deux sous-ensembles, les 2 sous-ensembles devant
A,B,C,D et E, dont les
occurrences sont:
être de probabilité aussi proche que possible
Etape 3 : on attribue à chaque sous-ensemble l’état 0
 A : 7 fois
ou 1  B : 6 fois
Etape 4 : on re-partage chaque sous-ensemble en  C : 5 fois
deux sous-ensembles de probabilité aussi proche que  D : 14 fois
possible, on attribue à chaque nouveau sous-  E : 4 fois
ensemble l’état 0 ou 1, etc.
4.2. VLC : Algorithme de Shannon-
Fano
4.2. VLC : Algorithme de Shannon-
Fano
4.2. VLC : Algorithme de Shannon-
Fano
 Codage obtenu :
 D (14) : 00
 A ( 7) : 01
 B ( 6) : 11
 C ( 5) : 100
 E ( 4) : 101
 Exercice :
 Calculer la taille totale du
message après codage.
 Calculer le taux de
compression obtenu.
5. Codage arithmétique
Principe :
Le codage arithmétique se faite en 4 étapes:
Etape 1: Construction de la table des Considérons donc un exemple
fréquences pratique la chaîne:
Etape 2 : Construction de la table des
probabilités
"compressee"
Etape 3 : Définition des intervalles pour
chaque symbole
Etape 4 : Encodage du message
Le message original est codée comme une
entité, non pas comme un ensemble de symbole:
Représentation du message sous forme d’un seul
5. Codage arithmétique
On décide maintenant
d'associer à chaque
symbole 'd' un domaine
dans l'espace des
probabilités, le but étant
d'associer un symbole à
un domaine. La table
d'associations sera
transmise avec le
message encodé .
5. Codage arithmétique
Algorithme de codage Algorithme de décodage
arithmétique arithmétique
début début
Borne_Inf[];
Borne_Sup[]; N %le code
Inf=0.0; Tant qu'il reste un symbole
Sup=1.0; trouver i / N [ai ; bi[ ;
c = lireCaractere();
TantQue (c!= EOF) sortir i ;
Sup = Inf + (Sup - Inf) * s = b i - ai ;
Borne_Sup[c];
Inf = Inf + (Sup - Inf) * Borne_Inf[c];
N = (N - ai) / s ;
c = lireCaractere(); Fin tant que
Fin tant que
fin
fin
5. Codage arithmétique

Ainsi est la représentation arithmétique du


message "compressee". En 0.045672626
pratique, n'importe quel nombre compris
entre 0.045672626 et 0.045672644
représente
le bon message.
6. Codage à base de dictionnaire
LZW
Algorithme de codage LZW
La méthode LZW (Lempel-Ziv-Welch) est utilisée
Début
dans les images aux formats GIF et TIFF, et est à
1-Initialisation du dictionnaire avec les caractères distincts
la base de la compression appliquée aux archive
2-L=null
ZIP, RAR et ARJ. 3-X=caractère suivant
 Principe général 4-Tantque la chaine LX existe dans le dictionnaire
Etape 1 : Repérer des séquences qui L=LX
apparaissent plusieurs fois, en construisant au fur X=caractère suivant
et à mesure un dictionnaire de séquences, Fin Tantque
Etape 2 : Remplacer ces séquences par leurs 5-Si X≠EOF
indice dans le dictionnaire. 5.1-Écrire l'index de L dans le fichier compressé
5.2-Ajouter la chaine LX dans le dictionnaire
Le dictionnaire fait partie intégrante des données
5.3-L=X
compressées.
5.4-aller à 3
Pour que cette méthode soit efficace il ne faut
Sinon
donc pas que sa taille soit supérieure à celle Écrire l'index de L dans le fichier compressé
économisée en recodant les données. Fin
6. Codage à base de dictionnaire
LZW
Example : Utilisez l’algorithme LZW pour compresser cette chaine de caractère:
BABAABAAA
Etape Etape
L= O 1 X=B; LX=2B L=B; X=A; LX=BA

Dictionnaire Fichier Dictionnaire Fichier


compress compress
é é

Chaine Code Chaine Code 1

A 0 A 0

B 1 B 1
BA 2
6. Codage à base de dictionnaire
LZW
Etape Etape
X=B; L= A 3
LX=AB; L=B X=A; L= B; LX=BA 4 L=BA,X=A;LX=BAA;L=A
Dictionnaire Fichier
Dictionnaire Fichier compress
compress é
é
Chaine Code 102
Chaine Code 10
A 0
A 0
B 1
B 1
BA 2
BA 2
AB 3
AB 3
BAA 4
6. Codage à base de dictionnaire
LZW
Etape Etape
X=B; L= A; LX=AB 5 L=AB,X=A;LX=ABA; L=A X=A; L= A; LX=AA
6 L=A
Dictionnaire F. compressé Dictionnaire F. compressé

Chaine Code 1023 Chaine Code 10230

A 0 A 0

B 1 B 1
BA 2
BA 2
AB 3
AB 3
BAA 4
BAA 4
ABA 5
ABA 5
AA 6
6. Codage à base de dictionnaire
LZW
Etape
Dictionnaire F. compressé
7
X=A; L= A; LX=AA L=AA;X=EOF Chaine Code 102306
A 0
B 1
BA 2
AB 3
BAA 4
ABA 5
AA 6
7.Compression JPEG

 JPEG s’applique sur les images.

Quel sont les caractéristique du média image?


Nature physique de l’image
Natures de la lumière:
1. Ondulatoire 2. Corpusculaire
• L’optique ondulatoire considère la lumière • La théorie corpusculaire considère la
comme une onde électromagnétique. lumière comme un flux discontinu de
• Explique les phénomènes affectant les photons. Son énergie est liée à la fréq
ondes : interférences, diffraction . de l'onde : E = hν (h, constante de
Planck ; v, fréq)
• Explique les observations relatives à
l'émission et à l'absorption de la
lumière par la matière.
Vitesse de déplacement : ~ 300000
km/s.
• Caractéristiques :
 Fréquence. ~ 600000 Ghz  lg
d’onde : 500nm
 Intensité.
Spectre de la lumière 380nm 760nm
 Couleur dépend de la longueur d'onde
Longueur d'onde (nm) Couleur
< 380 rayonnements ultraviolets
380 - 450 violet
450 - 490 bleu
490 - 560 vert
560 - 590 jaune
590 - 640 orange
640 - 760 rouge
> 760 rayonnements infrarouges

 Couleur (notion perceptive)  lg d’onde (notion physique)


Attention : l'œil ne distingue pas un Y monochromatique (une seule lg
d'onde) d'une composition de G et de R. C’est l’illusion qui permet
La perception visuelle
 L'oeil humain :
 Grâce à la cornée et à l'iris l’image se forme sur la rétine
 Rétine : cônes + bâtonnets
 Bâtonnets : perçoivent la luminosité et le mouvement
 Cônes : différencient les couleurs
 3 types : percevoir le bleu, le vert et le rouge.
 Perception entre 400 et 700 nm.
 Si un type de cônes manque : daltonisme.
Sensibilité de l'oeil
 beaucoup + grande aux variations d'intensité (luminance) qu'aux
variations de couleur (chrominance)

 Luminance (luminance) : % de N ou de B dans la couleur désirée, brillance de


la couleur , aspect clair ou sombre
 Chrominance :
 Teinte (hue) : détermine la couleur souhaitée à partir des couleurs à disposition
(R,G,B,C,J,M); correspond à la couleur de base
 Saturation (saturation) : mesure l'intensité ou la pureté d'une couleur, % de couleur
Synthèse additive
 Calcul fait par addition des longueurs d'onde de sources lumineuses
 R, G, B : Toutes les couleurs peuvent être synthétisées en utilisant les 3
sources monochromatiques correspondant aux maxima de sensibilité
des 3 types de cône de la rétine de l’œil humain
 Modèle RGB
 Mode de synthèse adapté pour les sources lumineuses (tubes
cathodiques)
 Exemple: 2 composantes G et R d'un moniteur d'ordinateur sont
allumées quand les phosphores associés sont frappés par les électrons
 les couleurs des phosphores juxtaposés se superposent en raison de
la mauvaise résolution de l'œil  on voit du jaune
blanc

Mélange des couleurs par addition


W(R+G+B) Y=R+G

Synthèse soustractive Pigment jaune


absorbe le bleu
 Calcul fait par soustraction des longueurs d'onde de la lumière
 Mode de synthèse adaptée dans le mélange de pigments, le filtrage et
l’absorption (imprimerie, peinture et art du vitrail)
 Exemple :
 L'herbe et les feuilles paraissent vertes car elles absorbent le
complémentaire du vert ( violets et ultraviolets). Ce sont les ondes
utilisées dans la photosynthèse.
 L'encre filtre la lumière réfléchie par le papier blanc
noir
 Lorsqu’on mélange 2 couleurs au pinceau, la couleur obtenue est le
résultat d'une synthèse soustractive
 La couleur vue est la lumière non absorbée
Mélange des couleurs par soustraction
Chaîne de l’image
 Acquisition/création : numérisation (scanners, appareils
photos & caméscopes numériques, carte d’acquisition vidéo
)/synthèse (via souris, tablettes graphiques ou par
modélisation 3D)
 Codage
 Perte d'information envisageable à la compression

 Stockage (disquette, disque dur, CD-ROM...)


 Traitement : modifier la taille, la couleur, ajouter ou
supprimer des éléments, appliquer des filtres,…
 Transmission
Format des images
 Les images vectorielles :
 On décrit l'image comme une association d’objets
graphiques simples (droites, ellipses,...).
 Formats SVG, SWF,...

 Les images bitmap :


 Image pixélisée. On indique la couleur de chaque pixel
 Formats BMP, GIF, JPEG,...
Image Vectorielle
 Images décrites comme l'association d’objets graphiques
simples (droites, ellipses...).

 3 types de données graphiques :


 Points isolés => objets ponctuels.
 Lignes isolées => objets linéaires.
 Surfaces isolées => objets surfaciques.
 Méthodes de représentation vectorielle :
Redimensionnement
 Pas de perte de qualité, les courbes sont lissées quelque soit
l'échelle d'affichage
Vectorielle Bitmap
Le format WMF
 WMF (Windows Meta File) format vectoriel
de Windows, utilisé par Microsoft Draw, et
anciennes versions de Word, Excel.
 Format mixte, pouvant contenir des
informations sous forme matricielle
 Un fichier WMF contient :
 Une suite d'objet (cercle, carre, bitmap,...).
 Chacun décrit par un entête.
 Peut contenir jusqu’à 65535 objets
Autres formats vectoriels
 SVG (Scalable Vector Graphics) : Spécification W3C basé sur XML pour gérer
les images vectoriels notamment sur le web. Supporte les animations et le son.
Format du futur mais début difficile :
 Pas d’implémentation native dans les navigateurs web; développement en
cours.
 Plug-in d’Adobe : http://www.adobe.com/svg/viewer/install/main.html
 Editeurs libres : Sodipodi et OpenOffice Draw
 Apparition de banques de clipart sur l'Internet.
 AI (Adobe Illustrator) Format de Adobe, très populaire
 EPS (Encapsuled PostScript) : Format mixte universel de Adobe basé sur
postscript mais contenant une image de prévisualisation vectorielle ou bitmap.
 PDF (Portable Document Format): Format mixte universel de Adobe dérivé de
PostScript et préservant la mise en forme, les polices, les couleurs et les
graphiques du document source.
 PICT (Picture) : Format par défaut de Mac OS.
Avantages
 Codage riche prenant en compte la sémantique
 Codage compact : fichiers de taille réduite
 Redimensionnement sans perte de qualité
 Retouches aisées car éléments de l'image
indépendants
 Animation + simple grâce aux vecteurs
 Traduction aisée en bitmap
 Recherche de texte, d’objets
Limitations
 Inutilisables pour des photographies
 Pas adaptée aux images complexes avec
bcp d'objets de petites tailles
 Bcp de formats industriels, non
standardisés, non reconnus par les
navigateurs web
 Impossible de transformer un bitmap en
vecteur
Image bitmap Pixelmap, matricielle, raster
 On indique la couleur de chaque pixel.
 Pixel (PICture ELement) : + petit élément constitutif
d'une image numérique
Définition (Ordinateur) Résolution (Scanner, imprimante)
Taille de l’image en nb de pixels Nb de points par unité de longueur (2,54cm) (unité dpi/ppp :
point par pouce)
300dpi  300 points sur une ligne de 2,54cm

 Codage des couleurs:


 Choix du modèle RGB
Espace des couleurs
 Représentation mathématique d'un ensemble de
couleurs. Il en existe plusieurs :
 Le codage RGB (Red, Green, Blue).
 Le codage CMY (Cyan, Magenta, Yellow)
 Le codage CMYK
 Le codage HSL (Hue, Saturation, Luminance).
 Le codage YUV : vidéo analogique (PAL et SECAM).
Y représente la luminance (l'information en N&B), Cb et Cr la
chrominance. Permet de transmettre des infos colorées aux TV
couleurs, en restant compatible avec les TV N&B affichant en
niveau de gris.
Y = 0,299 * Rouge + 0,587 * Vert + 0,114 * Bleu
Modèles RGB, CMY et CMYK
 Modèle RGB
 La couleur est définie comme une somme pondérée des couleurs
primaires.
 Choix des couleurs primaires du système : RGB : Red, Green, Blue
 Modèle CMY
 La couleur est définie comme différence pondérée entre le blanc et les
couleurs primaires.
 Choix des couleurs primaires du système : CMY : Cyan, Magenta,
Yellow
 Modèle CMYK
 Extension du modèle CMY
 En pratique, le noir n'est pas tout à fait noir.
Modèle naturel HSL
 Modèle de représentation proche de la
perception physiologique de la couleur par l'oeil
humain.
 Le modèle RGB ne permet pas de sélectionner
facilement une couleur : éclaircir une couleur 
augmenter proportionnellement la valeur des 3
composantes.
 HSL (TSL en français )
 Hue
Système de représentation

 Équation de conversion entre RGB et CMY


 Exemple : Convertir le Blanc de RGB (1,1,1) à CMY (0,0,0) et vice versa.
 Conversion CMY vers CMYK : même principe.
C=1–R M=1–G Y=1–B
R=1–C G=1–M B=1-Y
Codage des images
 Coder une image
 Le tableau de pixels.
 La couleur des pixels :
 Modèle de représentation
 Couleur des pixels : 2 méthodes
 Méthode simple (pixel↔couleur)
 Méthode par palette (pixel↔ indice dans la palette)
Méthode simple
 Pour chaque pixel , chaque composante RGB occupe n bits.
 Pixel occupe 3 x n bits.
 Pixel peut avoir 23n couleurs.
 Mode True Color, Couleurs vraies : n = 8  24 bits  16 millions de
couleurs.
 Également
 Mode 32 bits :
 Ajout d’une 4ième composante sur 8 bits :le canal alpha.
 gére la transparence ou la texture des points.
 évite les effets de "marches d'escalier".
 Mode N&B: 1 bit/pixel  2 couleurs possibles (N ou B)
 Mode 16 couleurs/niveaux de gris
 Mode 256 couleurs/niveaux de gris : 1 octet/pixel
Méthode par palette
 Méthode par palette (colormap)
 choisir les couleurs disponibles.
 Image en couleurs indexées
 La couleur de chaque pixel :
 Est codée comme une référence dans une palette.
 La palette contient les composantes RGB de la couleur.
 On obtient alors :
 N couleurs parmi 23M possibles.
 N = nombre d'entrées dans la palette.
 M = nombre de bits utilisés pour coder une composante d'une
Taille d'une image
 Taille brute : sans compression.
 Taille = X . Y . n.
 X = nombre de colonnes.
 Y = nombre de lignes.
 n = nombre d'octets nécessaires pour coder un pixel.
 Exemple d'une résolution
Nombre de couleurs Taille de 1024 En
x octets
768. En Ko

Noir et Blanc X*Y*(1/8) 98.304 96 Ko


Palette de 16 couleurs X*Y*(1/2) 393.216 384 Ko
Palette de 256 couleurs X*Y*1 786.432 768 Ko
True Color, 16 millions de couleurs. X*Y*3 2.359.296 2.304 Ko
Avantages
 Adapté aux applications orientées images
 Qualité photographique
Limitations

 Codage "pauvre" de l'information.


 Pas de distinction d'objet dans l'image.
 Taille des fichiers importante.
 Traitements d'image longs.
Avantages & limitations (2/2)
 Limitations (suite) :
 L'agrandissement provoque un effet de mosaïque :

 La création d'une image "à la souris" est difficile.


 Usage conseillé d'un périphérique de numérisation :
scanner, digitaliseur, appareil photo numérique...
Formats d'images bitmap
 Nombreux
 Caractéristiques
 Nombre de couleurs.
 Méthode de compression utilisée.
 Contexte d'utilisation.
Nom Taille Résolution Nombre de Image
 Comparaison : taille des fichiers pour couleurs
les images
Droopy 1024x768 72 DPI 256

Trounesol 1600x1144 72 DPI 16 millions


Format BMP
 Défini par Microsoft pour Windows
 Caractéristiques
 1, 4, 8 ou 24 bits : jusqu'à 16 millions de couleurs.
 Compression : sans perte, RLE (rarement).
 Fichiers de taille importante.
 ReconnuImage
par une majorité
Nb couleurs
de logiciels.
Compression Taille

Droopy 256 770 Ko

Droopy 256 RLE 613 Ko

Tournesol 16 millions 5363 Ko

Tournesol 16 millions RLE 1745 Ko


Format TIFF
 TIFF (Tagged Image File Format).
 Origine Aldus et Microsoft.
 Standard de codage des images scannées; PAO, infographie, bureautique pour
les images au trait (cliparts, FAX).
 Puissant mais complexe à gérer.
 Possibilité d'adaptation et d'évolution.
 Différentes versions incompatibles!
 Caractéristiques :
 Codage RVB, CMJN, couleur indexées, niveau de gris
 Compression
Image : RLE,NbLZW, JPEG, compression
couleurs FAX, ou aucune.
Compression Taille
 Très bonnes
Droopy performances
256 en compression d'images noir et 771
Aucune blanc.
Ko
Droopy
 Fichiers assez gros.256 LZW 364 Ko
Droopy 2 Huffman 156 Ko
 ReconnuTournesol
par une majorité
16 millions
de logiciels. Aucune 5364 Ko
Tournesol 16 millions LZW 3395 Ko
Tournesol 2 Huffman 462 Ko
Format GIF
 Format GIF (Graphic Interchange Format) :
 Compuserve, 1987 : GIF87a.
 Caractéristiques
 256 couleurs parmi 16 millions.
 Compression sans perte LZW, efficace s'il y a des zones
homogènes.
 GIF89a : possibilité de transparence, et d'animation.
 GIF89a : possibilité d'entrelacement (chargement graduel de
l'image).
 Très utilisé : Nb couleurs
Image Compression Taille
 Reconnu
Droopy par256tous les logiciels
LZW ou presque 353 Ko
 LE format du256Web avec JPG.
Tournesol LZW 1203 Ko
Format PNG
 PNG (Portable Network Graphic).
 Pour remplacer le GIF (devenu payant!!!).
 Le futur format du Web?
 Caractéristiques :
 16 millions de couleurs.
 Compression sans perte LZW.
 Possibilité de transparence (niveau de transparence).
 Possibilité d'entrelacement (chargement graduel de l'image).
 PasImage Nb couleurs
d'animation. Compression Taille
Droopy 256 LZW 310 Ko
 Pas supporté
Tournesol pas
256 tous les navigateurs
LZW web
2723 Ko
Format

JPG
JPG ou JPEG (Joint Photographic Experts Group)
 Comité créé en 1986
 Norme adoptée en 1992/93 (ISO/CEI 10918-1 ou UIT-T Recommandation T.81. )
 JPEG 2000 : compression par ondelettes.
 Caractéristiques
 16 millions de couleurs.
 Compression avec perte
 Possibilité d'entrelacement (chargement graduel de l'image).
 Pas d’animation, pas de transparence
Image Nb couleurs Compression Taille
 Très utiliséDroopy 16 millions Taux 1 451 Ko
 Reconnu par tous les16logiciels
Droopy millions ou presque
Taux 10 159 Ko
 LE format du Web avec
Droopy GIF
16 millions Taux 20 119Ko
Droopy 16 millions Taux 99 17Ko
Tournesol 16 millions Taux 1 897 Ko
Tournesol 16 millions Taux 10 457 Ko
Tournesol 16 millions Taux 20 346 Ko
JPEG compression
 Contraintes d’exploitation fixé par le comité JPEG
 Modes de compression avec ou sans dégradation
 Implémentation hard ou soft

 Réseau de transport Numéris (64 kbits/s)

 Affichage séquentiel ou progressif

 Objectifs fixés ambitieux


 2.25 bits/pixel : qualité de l’originale
 0.75 bit/pixel : qualité excellente
JPEG compression
 6 étapes
 Format des données compressées et schéma de dé/codage.
 Algorithmes de dé/compression proposés mais non normalisés.
JPEG Découpage de l’image (1)
& transformation des couleurs (2)
 Découper l’image en M carreaux fi(x,y) de 8 x 8 ou
16x16 pixels
 les matrices doivent être carrées
 petit bloc  temps de calcul raisonnable
 JPEG peut coder les couleurs sous plusieurs modèles,
mais meilleure compression avec codage de type
luminance/chrominance (YUV)
 Oeil + sensible à luminance qu’à chrominance
JPEG Sous échantillonnage (3)
 Exploiter la faible sensibilité de l'œil à la chrominance
 sous échantillonner les signaux de chrominance
 sous échantillonner à 4:4:4, 4:2:2, 4:1:1

JPEG DCT (4)
Discrete Cosine Transform
 Appliquée sur les matrices Y, Cb et Cr
 Sépare les basses et les hautes fréquences
présentes dans l'image
 Même principe que la transformée de Fourrier
 Décomposition de la fonction f(x,y) dans une
base de N*N fonctions dont la somme
pondérées = f(x,y)
1 N 1 N 1 (2 x  1)u (2 y  1)v
C (u, v)   (u ) (v)   f ( x, y ) cos( ) cos( )
 Calcul des coefficients
2N C(u,v)x 0 y 0 2 N 2 N
1
si w  0
 (w)  2

1 si w[1,N-1]
JPEG DCT (4)
 Fonction 2D

 Coefficient DC = valeur moyenne du bloc : c’est le plus important


JPEG DCT (4)

DCT

C
JPEG Quantification (5)
 Introduit les principales pertes
 La DCT est conservatrice si on omet les erreurs d’arrondis.
 Réduire le nb de valeurs correspondant aux amplitudes.
 Hautes fréquences = faibles amplitudes peu sensible pour l'œil 
éliminées.
 Utilisation d’une matrice Q (u,v) qui définit le niveau de
quantification pour chaque fréquence
C (u, vde) chrominance que
 C * (u, v) 
Moins de niveau pour les matrices
pour la luminance Q(u, v)
JPEG Quantification (5)

C* =
Codage RLE, DPCM & Huffman (6)
 RLE zigzag pour les AC d’un carreau
 Dans notre exemple RLE sur :
0, -2, -1, -1, -1, 0, 0, -1, EOB (End Of Block)
 0, -2, #3 -1, #20, -1, EOB (End Of Block)
 Économie de 3 valeurs

 Compression différentielle DPCM des cœfficients DC


JPEG Décompression
 Dans notre exemple

fˆ ( x, y )
 Résultat :

 Erreur : e(x,y)
Autres formats
 PCX (PiCture eXchange).
 Environnement PC (mode CGA).
 256 couleurs.
 Compression RLE, adapté à de faibles nombres de couleurs.
 PICT
 QuickDraw.
 Traite aussi le vectoriel.
 Spécifique à Macintosh.
 FAX
 Transmission de documents.
 Codage binaire (noir et blanc).
 Compression RLC puis type Huffman.
 TGA
Exemple de dégradation JPG
Taux 1 Taux 10 Taux 20
897 Ko 457 Ko 346 Ko

Taux 50 Taux 75 Taux 99


241 Ko 119 Ko 40 Ko
Taux de compression JPG
Droopy, compression 10 (159 Ko) Droopy compression 20 (119 Ko)
Récapitulatifs
Format Nb couleurs Compression Taille Droopy Taille Tournesol
BMP 256 770 Ko 5363 Ko
BMP 256 RLE 613 Ko 1745 Ko
TIFF 256 771 Ko 5364 Ko
TIFF 256 LZW 364 Ko 3395 Ko
TIFF 2 Huffman 156 Ko 462 Ko
GIF 256 LZW 353 Ko 1203 Ko
PNG 256 LZW 310 Ko 2723 Ko
JPG 16 millions Taux 1 451 Ko 897 Ko
JPG 16 millions Taux 10 159 Ko 457 Ko
JPG 16 millions Taux 20 119 Ko 346 Ko
JPG 16 millions Taux 99 17 Ko 40 Ko

 Pour Droppy  Pour Tournesol


 Compression sans perte : GIF & PNG.  Compression sans perte :
 Compression avec pertes : JPG.  GIF, mais 256 couleurs.
 PNG, mais compression insuffisante.

Vous aimerez peut-être aussi