Vous êtes sur la page 1sur 24

Techniques Multimédia

Licence Informatique

Partie II
Techniques de Compression

Enseignante : Asma Ben Abdallah

1
I. Introduction

But de la compression
Réduire le volume des données (nombre de bits) nécessaire pour
représenter et coder les caractéristiques d’une image.
o Diminuer le coût de stockage.
o Transmission rapide des données.

C'est une opération de codage qui raccourcit la taille des données


Le décodage c’est l’opération inverse.

2
I. Introduction : Type d’Algorithmes de
compression
Deux familles avec ou sans perte :

1) Algorithmes sans perte (lossless)


o Reconstruction parfaite.
o Basés sur la redondance.
o Faible rapport de compression.

 Un algorithme de compression sans perte restitue après


décompression une suite de bits strictement identique à
l'originale.
 Les algorithmes de compression sans perte sont utilisés pour
les archives, les fichiers exécutables ou les textes.
 Exemple de formats de fichiers de compression sans perte :
.ZIP, .ARJ , . CAB, . GZIP, .GZ, .TAR, .RAR, .LZH,
3
I. Introduction : Algorithmes de compression
2) Algorithmes avec perte (lossy) :
o Image reconstruite != image originale.
o Redondance psycho-visuelle « viusually lossless ».
o Rapport de compression élevé.

 Réduire la quantité de données d'un fichier tout en préservant la


qualité perceptible et en évitant l'apparition d’artefacts. La suite de
bits obtenue après décompression est plus ou moins voisine de
l'original selon la qualité désirée.
 Utiles pour les images, le son et la vidéo.
 Exemple de formats de fichiers de compression avec perte : JPEG,
MP3, DIVX, MPEG
 JPEG : compression d’un facteur 24 à 1. 4
I. Introduction

Critères de performance : Taux de compression

 Le quotient de compression, Q est défini par :


Q  Taille image non compressée (a)
Taille image compressée (b)
 Le taux de compression, σ est défini par :
  Taille image compressée (b)
Taille image non compressée (a)
 Le gain de compression : G = 1- b/a

5
I. Introduction

Techniques (Algorithmes) de compression sans perte:

A. Redondance de codage (RLE (Run Lenght Encoding) ou RLC, …)

B. Méthode statistique (codage Huffman, …)

C. Méthode par dictionnaire (LZW, …)

6

Techniques (Algorithmes) de compression sans perte:

Redondance de codage :RLE (Run Lenght Encoding)


Méthode statistique : Codage Huffman

7
II. Compression RLE (Run Length Encoding)

 Principe : 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)

 un octet pour indiquer le nombre de ces éléments qui se suivent


(longueur) ,
 et un octet pour indiquer la valeur.

0 0 0 1 32 67 69 12 12 12 96 96 37 37 37 37 37 0 0 0 0 0 0 2 2
1 8 8 8

3 0 1 11 1 32 1 67 1 96 3 128 2 96 5 37 6 0 2 2

8
III. Compression RLE

Application à un texte :

Remarques :
Taux de compression dépend du contenu.

9
III. Compression RLE

Application à un texte :

1. Effectuer la compression de cet exemple selon RLE


2. Calculer le quotient, le taux et le gain de compression,

10
III. Compression RLE

Application à une image en niveau de gris


(profondeur 8 bits)

Remarques :
- Taux de compression dépend du contenu.
- Fort taux de compression pour des images possédant de nombreux zones de régions
homogènes.
- Inutile dans le cas où il y a beaucoup de changement dans une image
- La compression RLE est utilisé dans de nombreux formats (BMP, JPG, TIFF, PCX, ...).
11
III. Compression RLE
 Algorithme de décompression :

Durant la lecture du fichier compressé, l’opération inverse de la compression est


réalisée.
ex: AAAAARRRRRROLLLLBBBBBUUTTTTTT (29 caractères)

Compression 5A6R1O4L5B2U6T (14 caractères)


Gain : 15 caractères , soit 52%

Décompression : AAAAARRRRRROLLLLBBBBBUUTTTTTT

Utilité : essentiellement pour la compression des images (car une image est
composée de répétitions de pixels, de couleur identique, codés chacun par un
caractère).
• Algorithme très simple.
• Taux de compression relativement faible (40%)

12
IV. Compression Huffman

La méthode de compression Huffman consiste à remplacer les


caractères les plus fréquents par des codes courts et les
caractères les moins fréquents par des codes longs. L'algorithme
se base sur la fréquence d'apparition d'un fragment pour le
coder plus un fragment est fréquent, moins on utilisera de bits
pour le coder.

13
IV. Compression Huffman

Algorithme de compression :
1. Chercher la fréquence des caractères.
2. Trier les caractères par ordre croissant de fréquence.
3. Construire un arbre pour donner le code binaire de
chaque caractère.
4. Construction de l’arbre :
• relier deux à deux les caractères de fréquence les plus
basses et affecter à ce nœud la somme des
fréquences des caractères.
• répéter ceci jusqu'à ce que l’arbre relie toutes les
lettres.
• l’arbre étant construit, on met un 1 sur la branche à
droite du nœud et un 0 sur celle de gauche.
14
IV. Compression Huffman

Exemple 1 :

Soit le texte suivant : BCCABBDDAECCBBAEDDCC

Sans compression, la taille du texte est :


20*8 bits = 160 bits

Caractère Occcurence Fréquence

A 3 3/20
B 5 5/20
C 6 6/20
D 4 4/20
E 2 2/20

15
IV. Compression Huffman
Codes attribués
Caractère Fréquence Code

A 3/20 001
B 5/20 10
C 6/20 11
D 4/20 01
E 2/20 000

Caractère Fréquence Code

A 3 001
B 5 10
BCCABBDDAECCBBAEDDCC C 6 11
D 4 01
E 2 000
10 11 11 001 10 10 01 01 001 000 11 11 10 10 001 000 01 01 11 11

16
IV. Compression Huffman

BCCABBDDAECCBBAEDDCC
Caractère Fréquence Code Nombre de
bits

A 3 001 3*3=9
B 5 10 5*2=10 10 11 11 001 10 10 01 01 001 000 11 11
C 6 11 6*2=12 10 10 001 000 01 01 11 11

D 4 01 4*2=8
E 2 000 2*3=6
5*8 bits 12 bits 45 bits
=40

Taille de données initiales avant compression: 20* 8 = 160 bits


Taille des données après compression : 45 bits
Taille de la table de correspondance : 40 + 12 =52 bits
Taille du fichier totale = 45 + 52 = 97
Nombre de bits gagné = 160 – (97) = 160-97 = 63 bits
Gain = (160-97)/160 17
IV. Compression Huffman

Exemple 2 :
Soit la suite u1, y2, u3, u4, u5 et u6 avec les fréquences suivantes :
Caractère Fréquence

U6 0.4

U5 0.3

U4 0.1

U3 0.1

U2 0.06

U1 0.04

18
IV. Compression Huffman

Exemple 2 :
Soit la suite u1, y2, u3, u4, u5 et u6 avec les fréquences suivantes :

Caractère Fréquence
U6 0.4
U5 0.3
U4 0.1
U3 0.1
U2 0.06
U1 0.04

19
IV. Compression Huffman

20
IV. Compression Huffman

Attribuer 0 et 1 à chaque brance

Caractèr Code
e
U6 0000
U5 0001
U4 0010
U3 0011
U2 01
U1 1

21
IV. Compression sans perte d’images :Huffman (21)

1. Calculer la fréquence des


intensités (histogramme)
2. Constitution d’une table où les
niveaux de gris sont arrangés par
ordre décroissant de probabilité.
3. Réduire le nombre de probabilité
en combinant les plus faibles
probabilités pour former une
nouvelle probabilité.
4. Assigner la valeur du code pour
chaque niveau de gris.

22
IV. Compression sans perte d’images :Huffman (21)

 Pour la compression des données, on va avoir fichier


contenant deux parties : l'entête (table de correspondance qui
permet de reconstituer le fichier original) et les données
compressées.

 Pour la décompression,

 lire la table de correspondance,


 Remplacer chaque code par le cartère correspondant (NG
correspondant).

23
Exercice 1
RLE, Huffman, comparaison
message;: "ceciestuncodagedehuffman"

Exercice 2 : Construisez un codage de Huffman correspondant à cette suite :


Lettres Occurrences

G 3
O 3
S 1
M 4
I 1
N 4
E 6
T 3
L 1
D 1
Y 1
P 1
A 2
H 1
U 1
F 2 24
[ESPACE] 4