compression compression statistique - les pages des

69
Compression Compression statistique E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression statistique 1/36

Upload: others

Post on 19-Jun-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compression Compression statistique - Les pages des

CompressionCompression statistique

E. Jeandel

Emmanuel.Jeandel at lif.univ-mrs.fr

E. Jeandel, Lif CompressionCompression statistique 1/36

Page 2: Compression Compression statistique - Les pages des

Compression

Un outil de compression est la donnée de deux outils :Un programme de compression qui prend un flux de données etqui le convertit en un flux compressé ;Un programme de décompression qui prend un flux compressé etle décompresse.

Deux types de compressionUne fois décompressé, on réobtient le flux d’origine (compressionsans pertes) ;Une fois décompressé, on obtient un flux très semblable au fluxd’origine, mais eventuellement différent (compression avecpertes) ;

Dans les premiers cours, on ne fait que de la compression sans pertes.

E. Jeandel, Lif CompressionCompression statistique 2/36

Page 3: Compression Compression statistique - Les pages des

Compression sans pertes

PropositionAucun outil de compression n’est efficace : On peut trouver pour tout nune chaîne de longueur n qu’il ne compresse pas, même d’un seulcaractère.

Démonstration.Il y a 256n chaînes de longueur n.Il y a 1 + 256 + · · ·+ 256n−1 = 256n−1

256−1 chaînes de longueurstrictement inférieur à n.256n > 256n−1

256−1 , donc si le compresseur compresse toutes leschaînes de longueur n, il va en compresser deux de la mêmefaçon.Contradiction.

E. Jeandel, Lif CompressionCompression statistique 3/36

Page 4: Compression Compression statistique - Les pages des

Ce qu’on peut faire

Un outil de compression ne peut donc pas toujours compresser,ne serait-ce que d’un octetLes outils disponibles s’efforcent donc de ne produire des bonsrésultats que dans des cas particulier :

Documents textes ;Documents produisant des structures repérables ;

E. Jeandel, Lif CompressionCompression statistique 4/36

Page 5: Compression Compression statistique - Les pages des

Outline

1 Compression RLE (Run Length Encoding)

2 Compression statistique

E. Jeandel, Lif CompressionCompression statistique 5/36

Page 6: Compression Compression statistique - Les pages des

Principe

Il arrive souvent qu’un même caractère apparaisse plusieurs foisconsécutivementOn remplace 10 occurences du caractère a par la séquence(a,10)

E. Jeandel, Lif CompressionCompression statistique 6/36

Page 7: Compression Compression statistique - Les pages des

Exemple

qqqqqqqoooooabpppppppqmyyyyyyyyyyyyyyyyyyyyyyya→(q,6)(o,5)(a,1)(b,1)(p,6)(q,1)(m,1)(y,23)(a,1)

Il reste à expliquer comment coder des couples (x , i)

E. Jeandel, Lif CompressionCompression statistique 7/36

Page 8: Compression Compression statistique - Les pages des

Méthode 1

On représente n occurences de la lettre x par xw où w représenten en binaire.

00000 0 h 01000 8 p 10000 16 x 11000 24a 00001 1 i 01001 9 q 10001 17 y 11001 25b 00010 2 j 01010 10 r 10010 18 z 11010 26c 00011 3 k 01011 11 s 10011 19 . 11011 27d 00100 4 l 01100 12 t 10100 20 , 11100 28e 00101 5 m 01101 13 u 10101 21 ’ 11101 29f 00110 6 n 01110 14 v 10110 22 ! 11110 30g 00111 7 o 01111 15 w 10111 23 ? 11111 31

qqqqqqqoooooabpppppppqmyyyyyyyyyyyyyyyyyyyyyyya→qg oe aabapg qamayw aa

E. Jeandel, Lif CompressionCompression statistique 8/36

Page 9: Compression Compression statistique - Les pages des

Méthode 1

Dans le meilleur des cas, un texte de n octets peut se retrouvercompressé en . . . octetsDans le pire des cas, un texte de n octets peut se retrouvercompressé en . . . octetsComment améliorer ?

E. Jeandel, Lif CompressionCompression statistique 9/36

Page 10: Compression Compression statistique - Les pages des

Méthode 1

Dans le meilleur des cas, un texte de n octets peut se retrouvercompressé en 2n/31 octetsDans le pire des cas, un texte de n octets peut se retrouvercompressé en 2n octetsComment améliorer ?

E. Jeandel, Lif CompressionCompression statistique 9/36

Page 11: Compression Compression statistique - Les pages des

Méthode 2

On choisit dans l’alphabet une lettre quelconque (dans l’exemplele point d’exclamation :!)On représente une occurrence de la lettre x par xOn représente n occurences de la lettre x par!xw où wreprésente n en binaire.

E. Jeandel, Lif CompressionCompression statistique 10/36

Page 12: Compression Compression statistique - Les pages des

Méthode 2 (exemple)

00000 0 h 01000 8 p 10000 16 x 11000 24a 00001 1 i 01001 9 q 10001 17 y 11001 25b 00010 2 j 01010 10 r 10010 18 z 11010 26c 00011 3 k 01011 11 s 10011 19 . 11011 27d 00100 4 l 01100 12 t 10100 20 , 11100 28e 00101 5 m 01101 13 u 10101 21 ’ 11101 29f 00110 6 n 01110 14 v 10110 22 ! 11110 30g 00111 7 o 01111 15 w 10111 23 ? 11111 31

qqqqqqqoooooabpppppppqmyyyyyyyyyyyyyyyyyyyyyyya→!qg !oe ab!pg qm!yw a

E. Jeandel, Lif CompressionCompression statistique 11/36

Page 13: Compression Compression statistique - Les pages des

Méthode 2

Pour coder un seul!, il faut écrire!!aSi une lettre n’apparaît que deux fois de suite, il vaut mieux l’écriredeux fois.Dans le meilleur des cas, un texte de n octets peut se retrouvercompressé en . . . octetsDans le pire des cas, un texte de n octets peut se retrouvercompressé en . . . octets

Format utilisé en pratique dans de nombreux formats de compression(PCX pour les images)

E. Jeandel, Lif CompressionCompression statistique 12/36

Page 14: Compression Compression statistique - Les pages des

Méthode 2

Pour coder un seul!, il faut écrire!!aSi une lettre n’apparaît que deux fois de suite, il vaut mieux l’écriredeux fois.Dans le meilleur des cas, un texte de n octets peut se retrouvercompressé en 3n/31 octetsDans le pire des cas, un texte de n octets peut se retrouvercompressé en 2n octets

Format utilisé en pratique dans de nombreux formats de compression(PCX pour les images)

E. Jeandel, Lif CompressionCompression statistique 12/36

Page 15: Compression Compression statistique - Les pages des

Méthode 3

Pour coder un seul x , on utilise xPour coder deux x , on utilise xxPour coder plus que 3 fois x , on utilise xxxy où y représente lenombre de fois où x apparaît dans la suite.

E. Jeandel, Lif CompressionCompression statistique 13/36

Page 16: Compression Compression statistique - Les pages des

Méthode 3 (exemple)

00000 0 h 01000 8 p 10000 16 x 11000 24a 00001 1 i 01001 9 q 10001 17 y 11001 25b 00010 2 j 01010 10 r 10010 18 z 11010 26c 00011 3 k 01011 11 s 10011 19 . 11011 27d 00100 4 l 01100 12 t 10100 20 , 11100 28e 00101 5 m 01101 13 u 10101 21 ’ 11101 29f 00110 6 n 01110 14 v 10110 22 ! 11110 30g 00111 7 o 01111 15 w 10111 23 ? 11111 31

qqqqqqqoooooabpppppppqmyyyyyyyyyyyyyyyyyyyyyyya→qqqd ooob abpppd qmyyyt a

E. Jeandel, Lif CompressionCompression statistique 14/36

Page 17: Compression Compression statistique - Les pages des

Méthode 3

Pour coder trois c, il faut écrire ccc

Dans le meilleur des cas, un texte de n octets peut se retrouvercompressé en . . . octetsDans le pire des cas, un texte de n octets peut se retrouvercompressé en . . . octets

Format utilisé en pratique (première étape de MNP5, dans lesmodems)

E. Jeandel, Lif CompressionCompression statistique 15/36

Page 18: Compression Compression statistique - Les pages des

Méthode 3

Pour coder trois c, il faut écrire ccc

Dans le meilleur des cas, un texte de n octets peut se retrouvercompressé en 4n/34 octetsDans le pire des cas, un texte de n octets peut se retrouvercompressé en 4n/3 octets

Format utilisé en pratique (première étape de MNP5, dans lesmodems)

E. Jeandel, Lif CompressionCompression statistique 15/36

Page 19: Compression Compression statistique - Les pages des

Outline

1 Compression RLE (Run Length Encoding)

2 Compression statistique

E. Jeandel, Lif CompressionCompression statistique 16/36

Page 20: Compression Compression statistique - Les pages des

Compression statistique

PrincipeLa compression statistique utilise comme principale sourced’information pour compresser la répartition des lettres dans le texte,et plus précisément leur fréquence d’apparition.

on met un peu la poussiere sur le tapis et on lalaisse pour les autres

a 5 e 9 i 3 l 5m 1 n 3 o 4 p 4r 4 s 8 t 4 u 6

15

Taille du texte : 71 octetsComment compresser ce texte ?

E. Jeandel, Lif CompressionCompression statistique 17/36

Page 21: Compression Compression statistique - Les pages des

Comment compresser ce texte ?

Il n’y a que 13 caractères, donc au lieu de représenter chacun sur5 bits, on peut les représenter seulement sur 4 bits :

a 0000 e 0001 i 0010 l 0011m 0100 n 0101 o 0110 p 0111r 1000 s 1001 t 1010 u 1011

1100 b 1101 c 1110 d 1111

o n m e t u n p e u0110010111000100000110101100101101011100011100011011

Taille du texte : 4× 71 bits, soit 57 octets

E. Jeandel, Lif CompressionCompression statistique 18/36

Page 22: Compression Compression statistique - Les pages des

Comment compresser ce texte ?

On peut encore changer le codage :

a 0000 e 0001 i 0010 l 0011m 0100 n 0101 o 0110 p 0111r 1000 s 1001 t 101 u 110

111

o n m e t u n p e u0110010111101000001101111110010111101110001110

Taille du texte : 259 bits soit 52 octets

E. Jeandel, Lif CompressionCompression statistique 19/36

Page 23: Compression Compression statistique - Les pages des

Compression statistique

L’objectif de la compression statistique estDe construire un code préfixeQu’il soit le plus possible adapté

Il faut donc s’arranger pour obtenir des codes petits pour des lettresfréquentes.Deux algorithmes :

Shannon-FanoHuffman

E. Jeandel, Lif CompressionCompression statistique 20/36

Page 24: Compression Compression statistique - Les pages des

Shannon-Fano

Calculer la fréquence de chaque lettreClasser les lettres par ordre décroissant de fréquencesDiviser le tableau en deux parties, de fréquences à peu prèségales. La première partie sera codé par des mots commençantpar 0, la deuxième par 1.Subdiviser les parties obtenues récursivement, toujours de lamême façon

E. Jeandel, Lif CompressionCompression statistique 21/36

Page 25: Compression Compression statistique - Les pages des

Shannon-Fano

44 h 2 p 4 x 2a 0 i 0 q 7 y 0b 0 j 1 r 15 z 2c 13 k 0 s 19 . 2d 6 l 15 t 29 , 5e 92 m 9 u 0 ’ 5f 0 n 11 v 3 ! 2g 0 o 0 w 1 ? 2

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 26: Compression Compression statistique - Les pages des

Shannon-Fano

e t s r l c n m q d , ’ p v z x h ? . ! w j92 44 29 19 15 15 13 11 9 7 6 5 5 4 3 2 2 2 2 2 2 1 1

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 27: Compression Compression statistique - Les pages des

Shannon-Fano

0e t92 44 29

1s r l c n m q d , ’ p v z x h ? . ! w j19 15 15 13 11 9 7 6 5 5 4 3 2 2 2 2 2 2 1 1

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 28: Compression Compression statistique - Les pages des

Shannon-Fano

000

e92

01t

44 29

110

s r l c n19 15 15 13 11

11m q d , ’ p v z x h ? . ! w j9 7 6 5 5 4 3 2 2 2 2 2 2 1 1

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 29: Compression Compression statistique - Les pages des

Shannon-Fano

0

00e92

01010

44

011t29

1

10100

s r l19 15 15

101c n13 11

11110

m q d ,9 7 6 5

111’ p v z x h ? . ! w j5 4 3 2 2 2 2 2 2 1 1

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 30: Compression Compression statistique - Les pages des

Shannon-Fano

0

00 e92

01010 44

011 t29

1

10

1001000

10000 s19

10001 r15

1001 l15

1011010

10100 c13

10101 n11

1011 m9

11

110

110011000

110000 q7

110001 d6

11001 ,5

1101

11010110100 ’

5

110101 p4

11011

110110 v3

1101111101110 z

2

1101111 x2

111

1110

11100

1110001110000 h

2

1110001 ?2

1110011110010 .

2

1110011 !2

11101

111010

111010011101000 z

1

11101001 x1

111010111101010 w

1

11101011 v1

111011

111011011101100 t

1

11101101 s1

111011111101110 r

1

11101111 q1

1111

11110

111100

111100011110000 p

1

11110001 n1

111100111110010 m

1

11110011 l1

111101

111101011110100 j

1

11110101 h1

111101111110110 e

1

11110111 d1

11111

111110

111110011111000 c

1

11111001 w1

111110111111010 j

1

11111011 ?1

111111

111111011111100 .

1

11111101 ,1

1111111

11111110 ’1

11111111111111110 !

1

111111111 1

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 31: Compression Compression statistique - Les pages des

Shannon-Fano

e 00 010 t 011 s 10000r 10001 l 1001 c 1010 n 1011m 11000 q 11001 d 11010 , 11011’ 111000 p 111001 v 111010 z 111011x 1111000 h 1111001 ? 111101 . 1111100! 1111101 w 1111110 j 1111111

44 h 2 p 4 x 2a 0 i 0 q 7 y 0b 0 j 1 r 15 z 2c 13 k 0 s 19 . 2d 6 l 15 t 29 , 5e 92 m 9 u 0 ’ 5f 0 n 11 v 3 ! 2g 0 o 0 w 1 ? 2

E. Jeandel, Lif CompressionCompression statistique 22/36

Page 32: Compression Compression statistique - Les pages des

Exercice

a 5 e 9 i 3 l 5m 1 n 3 o 4 p 4r 4 s 8 t 4 u 6

15

E. Jeandel, Lif CompressionCompression statistique 23/36

Page 33: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 34: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

e s u l a t r p o n i m15 9 8 6 5 5 4 4 4 4 3 3 1

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 35: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

0e s u

15 9 8 6

1l a t r p o n i m5 5 4 4 4 4 3 3 1

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 36: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

000

e15 9

01s u8 6

110

l a t r5 5 4 4

11p o n i m4 4 3 3 1

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 37: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

0

00000

15

001e9

01010

s8

011u6

1

10100

l a5 5

101t r4 4

11110

p o4 4

111n i m3 3 1

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 38: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

0

00000 15

001 e9

01010 s

8

011 u6

1

10

1001000 l

5

1001 a5

1011010 t

4

1011 r4

11

1101100 p

4

1101 o4

111

1110 n3

111111110 i

3

11111 m1

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 39: Compression Compression statistique - Les pages des

Shannon-Fano - Correction

000 e 001 s 010 u 011l 1000 a 1001 t 1010 r 1011p 1100 o 1101 n 1110 i 11110m 11111

250 bits (50 octets)

a 5 e 9 i 3 l 5m 1 n 3 o 4 p 4r 4 s 8 t 4 u 6

15

E. Jeandel, Lif CompressionCompression statistique 24/36

Page 40: Compression Compression statistique - Les pages des

Codage de Huffman

Principe de l’algorithmeOn représente chaque lettre par un sommet. Le poids d’unsommet est la fréquence de la lettre.A chaque étape, on relie ensemble les deux sommets les pluspetits pour former un nouveau sommet dont le poids est la sommedes poids.

E. Jeandel, Lif CompressionCompression statistique 25/36

Page 41: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

s76

n4

m4

e4

u3

o3

r1

i1

a1

.

1

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 42: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

s76

n4

m4

e4

u3

o3

r1

2

.

a

i1

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 43: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

s76

n4

m4

e4

u3

o3

2

i

r

2

.

a

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 44: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

s76

n4

m4

e4

4

.

a

i

r

u3

o3

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 45: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

s76

6

o

u

n4

m4

e4

4

.

a

i

r

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 46: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

8

.

a

i

r

e

s76

6

o

u

n4

m4

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 47: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

15

.

a

i

r

es

12

o

u

8

m

n

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 48: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

20

o

um

n

15

.

a

i

r

es

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 49: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

35

o

um

n

.

a

i

res

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 50: Compression Compression statistique - Les pages des

Déroulement de l’algorithme

0

0

0

1 0

1

101

10 0

0

0

1

1 0

111

35

o

um

n

.

a

i

res

000 o 0010 u 0011 m 010n 011 . 10000 a 10001 i 10010r 10011 e 101 s 11

E. Jeandel, Lif CompressionCompression statistique 26/36

Page 51: Compression Compression statistique - Les pages des

Codage de Huffman

000 o 0010 u 0011 m 010n 011 . 10000 a 10001 i 10010r 10011 e 101 s 11

6 n 4a 1 u 3e 4 r 1i 1 s 7m 4 . 1o 3

Taille du texte :2× 7 + 3× (6 + 4 + 4 + 4) + 4× (3 + 3) + 5× (1 + 1 + 1 + 1) = 112bits, soit 22.4 octets.

E. Jeandel, Lif CompressionCompression statistique 27/36

Page 52: Compression Compression statistique - Les pages des

Exercice

a 5 e 9 i 3 l 5m 1 n 3 o 4 p 4r 4 s 8 t 4 u 6

15

E. Jeandel, Lif CompressionCompression statistique 28/36

Page 53: Compression Compression statistique - Les pages des

Correction

s8

e9

o4

p4

m1

t4

i3

u6

a5

l5

r4

15

n3

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 54: Compression Compression statistique - Les pages des

Correction

s8

e9

o4

p4

m

n3

t4

i

u6

a5

l5

r4

15

4

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 55: Compression Compression statistique - Les pages des

Correction

s8

u6

t4

p4

m

o4

7n

i

a5

l5

r4

15e9

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 56: Compression Compression statistique - Les pages des

Correction

8

s8

e9

o

p

m7

t4

i

u6

r4

a5

l5 15

n

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 57: Compression Compression statistique - Les pages des

Correction

8

s8

e9

o

p

m

8

7

t

i

a5

u6

n

l5

r

15

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 58: Compression Compression statistique - Les pages des

Correction

8

s8

e9

o

p

m

8

n7

t

i

10

u6

a

l

r

15

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 59: Compression Compression statistique - Les pages des

Correction

s

10

e

o

p

16

13

t

i

u

a

mn

l

r

15

17

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 60: Compression Compression statistique - Les pages des

Correction

t

r

s

n

o

m

17

e

23

u

l

15

p

i

16

a

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 61: Compression Compression statistique - Les pages des

Correction

u

t

s

n

o

r

17

e

31

23l

p

i

m

a

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 62: Compression Compression statistique - Les pages des

Correction

1

00

0

0

0

0

1

1

1

0

1

11

01

1 0

01

1

0

0

1

t

s

n

o

m

r

e u

71

l

p

i

a

E. Jeandel, Lif CompressionCompression statistique 29/36

Page 63: Compression Compression statistique - Les pages des

Correction

a 0000 l 0001 i 001000 m 001001n 00101 u 0011 e 010 s 011o 1000 p 1001 r 1010 t 1011

11248 bits (50 octets)

a 5 e 9 i 3 l 5m 1 n 3 o 4 p 4r 4 s 8 t 4 u 6

15

E. Jeandel, Lif CompressionCompression statistique 30/36

Page 64: Compression Compression statistique - Les pages des

Théorie

Est-ce qu’on peut faire encore mieux ?

ThéorèmeLe(s) code(s) de Huffman est le meilleur code préfixe pour unefréquence d’apparition des caractères donnés.

DéfinitionOn note pc la fréquence d’apparence de c. L’entropie du message estH =

∑c −pc log2 pc .

ThéorèmeAucun code ne peut faire mieux que l’entropie.

E. Jeandel, Lif CompressionCompression statistique 31/36

Page 65: Compression Compression statistique - Les pages des

Théorie - Retour à l’exemple

c pc −pc log pc c pc −pc log pcu 0.085 0.301249 o 0.056 0.233789t 0.056 0.233789 n 0.042 0.192878

0.211 0.473843 a 0.070 0.269565s 0.113 0.354901 e 0.127 0.377724i 0.042 0.192878 m 0.014 0.086616r 0.056 0.233789 l 0.070 0.269565p 0.056 0.233789

L’entropie est ici de 246 bits, soit 50 octets. Huffman n’est pas très loin !

E. Jeandel, Lif CompressionCompression statistique 32/36

Page 66: Compression Compression statistique - Les pages des

Conclusion

La compression statistique utilise les fréquences d’apparition descaractères pour compresserLa méthode de Huffman est la meilleure méthode de compressionstatistique. . .. . . mais ce n’est pas la meilleure méthode de compression. Enpratique la compression statistique est toujours couplée à d’autresalgorithmes dans des outils de compression (comme bzip2 etgzip). On l’utilise principalement comme dernière étape dans ledéroulement de la compression.

E. Jeandel, Lif CompressionCompression statistique 33/36

Page 67: Compression Compression statistique - Les pages des

Déroulement de Huffman

On calcule la fréquence d’apparition de chaque caractèreOn construit l’arbre de HuffmanOn compresse le texte en utilisant cet arbre

Problèmes ?

E. Jeandel, Lif CompressionCompression statistique 34/36

Page 68: Compression Compression statistique - Les pages des

Huffman adaptatif

On lit le texte caractère après caractèreOn construit au fur et à mesure la table des fréquencesd’apparition des caractères lus avantOn construit à chaque étape un arbre de Huffman en fonction desfréquences d’apparition des caractèresOn compresse le texte en utilisant ces arbres

Problèmes ?

E. Jeandel, Lif CompressionCompression statistique 35/36

Page 69: Compression Compression statistique - Les pages des

Prédiction

On lit caractère après caractère du texteOn détermine, à partir des caractères lus avant, la probabilité quele prochain caractère soit xOn construit à chaque étape un arbre de Huffman en fonction deces probabilitésOn compresse le texte en utilisant ces arbres

L’efficacité de la compression est fonction de l’heuristique utilisée à ladeuxième étape.On obtient ainsi la plupart des meilleurs algorithmes connus.

E. Jeandel, Lif CompressionCompression statistique 36/36