0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Exercices Compression de Données

Le document présente des exercices sur la compression de données, utilisant différentes méthodes telles que RLE, Huffman et LZW. Il fournit des exemples pratiques de compression et de décompression, ainsi que des calculs de taux de compression. Chaque méthode est illustrée par des chaînes spécifiques et des étapes détaillées pour leur traitement.

Transféré par

NACER Redjah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Exercices Compression de Données

Le document présente des exercices sur la compression de données, utilisant différentes méthodes telles que RLE, Huffman et LZW. Il fournit des exemples pratiques de compression et de décompression, ainsi que des calculs de taux de compression. Chaque méthode est illustrée par des chaînes spécifiques et des étapes détaillées pour leur traitement.

Transféré par

NACER Redjah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

M1 RSD ‐ Multimédia

Exercices compression de données

Soit la chaine : ABCDDDEABCDD

1- Appliquer la compression RLE (la méthode du fax). On considère une répétition lorsqu'elle est
supérieure à 2 et on utilise un octet pour la coder.

00000011 ABC 10000011 D 00000110 EABCDD


3 ABC 131 D 6 EABCDD

2- Appliquez la compression de Huffman, donnez l’arbre, la table de codage et la chaine codée.


Donner le taux de compression.
A : 2​
B:2
C:2​
D:5
E:1

Dictionnaire :
A : 000
B : 001
C : 010
D:1
E : 011

Sortie : remplacer chaque caractère par son code.

00000101011101100000101011

Remarque: l’ordre entre les caractères A, B et C peut changer.

Taux de compression: 26 + (13+8*5) / 12*8 = 82.3%


M1 RSD ‐ Multimédia

3- Appliquez la compression LZW en supposant que le caractère ayant le code 1 est le A et que le
dernier caractère du dictionnaire initial a le code 10 (écrire le déroulement de chaque étape).

Soit la chaine : ABCDDDEABCDD

Sortie : 1 2 3 4 14 5 11 13 4

A 1 w a
B 2 A B
C 3 B C
D 4 C D
E 5 D D
... ... D D
10 DD E
AB 11 E A
BC 12 A B
CD 13 AB C
DD 14 C D
DDE 15 CD D
EA 16 D -
ABC 17
CDD 18

Compression:

Initialiser dictionnaire D
W <- lire un caractère
Tant qu’il reste des caractères à lire faire
​ a <- lire caractère
​ si ( w + a est dans D ) alors
​ ​ w <- w + a
​ sinon
​ ​ écrire le code de w
​ ​ ajouter w + a dans D
​ ​ w <- a
​ fin si
fin tant que
écrire le code de w
M1 RSD ‐ Multimédia

4- Soit la chaîne de codes suivante résultat de la compression LZW:


88 88 89 89 96 99 96 97 100

Donnez la chaîne initiale en supposant que le code de ‘x’ est 88, et que le dernier caractère codé
dans le dictionnaire est ’~’ ayant le code 94.

Sortie : x x y y x y x y x x y y y x y x x

x 88 a b w
y 89 88 88 x
z 90 88 89 y
... 89 89 y

~ 94 89 96 xy

xx 95 96 99 xyx
xy 96 99 96 xy
yy 97 96 97 yy
yx 98 97 100 xyxx
xyx 99 100 -
xyxx 100
xyy 101
yyx 102

Décompression :

Initialiser dictionnaire D
a <- lire caractère
écrire D(a)
Tant qu’il reste des caractères à lire faire
​ b <- lire caractère
​ si b est dans D alors
​ ​ w <- D(b)
​ sinon
w <- D(a) + premier caractère de D(a)
​ fin si
écrire w
ajouter D(a) + premier caractère de w à D
a <- b
fin tant que

Vous aimerez peut-être aussi