Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
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
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:
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é
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
1 si w[1,N-1]
JPEG DCT (4)
Fonction 2D
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
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