• Aucun résultat trouvé

Codage binaire et compression Journée des mathématiques Lycée Janot

N/A
N/A
Protected

Academic year: 2022

Partager "Codage binaire et compression Journée des mathématiques Lycée Janot"

Copied!
38
0
0

Texte intégral

(1)

Codage binaire et compression

Journée des mathématiques

Lycée Janot

(2)

Caractère

(3)

Codage binaire : le principe

Caractère

Nombre décimal entre 0 et 127

(4)

Caractère

Nombre décimal entre 0 et 127

Nombre binaire entre 0 et 1111111

(5)

Codage binaire : le principe

Caractère

Nombre décimal entre 0 et 127

Nombre binaire entre 0 et 1111111

Caractère ⇔ 7 bits ! 1 octet

(6)

B i n a i r e

(7)

Codage binaire : exemple

B i n a i r e

66 105 110 97 105 114 101

(8)

B i n a i r e

66 105 110 97 105 114 101

01000010 01101001 01101110 01100001 01101001 01110010 01100101

(9)

Codage binaire : exemple

B i n a i r e

66 105 110 97 105 114 101

01000010 01101001 01101110 01100001 01101001 01110010 01100101

donc :

Binaire ⇔

01000010011010010110111001100001011010010111001001100101

(10)
(11)

Compression RLE : le principe

run-length encoding.

Toute suite de bits ou de caractères

identiques est remplacée par un couple

(nombre d’occurrences ; bit ou caractère

répété).

(12)

Toute suite de bits ou de caractères identiques est remplacée par un couple (nombre d’occurrences ; bit ou caractère répété).

Le résultat comporte en général moins de

caractères, bien que ce ne soit pas une

obligation.

(13)

Compression RLE : le principe

run-length encoding.

Toute suite de bits ou de caractères identiques est remplacée par un couple (nombre d’occurrences ; bit ou caractère répété).

Le résultat comporte en général moins de caractères, bien que ce ne soit pas une obligation.

AAAAAAAAZZEEEEEER donne : 8A2Z6E1R, ce qui est beaucoup plus court.

(14)

Toute suite de bits ou de caractères identiques est remplacée par un couple (nombre d’occurrences ; bit ou caractère répété).

Le résultat comporte en général moins de caractères, bien que ce ne soit pas une obligation.

AAAAAAAAZZEEEEEER donne : 8A2Z6E1R, ce qui est beaucoup plus court.

WBWBWBWBWB donne : 1W1B1W1B1W1B1W1B1W1B ce qui est deux fois plus long.

(15)

Compression RLE : exemple

Binaire

(16)

Binaire

01000010011010010110111001100001011010010111001001100101

(17)

Compression RLE : exemple

Binaire

01000010011010010110111001100001011010010111001001100101

10-11-40-11-20-21-10-11-20-11-10-20-10-31- 20-21-40-11-10-21-10-11-20-31-20-21-20-11-

10-11

(18)

Binaire

01000010011010010110111001100001011010010111001001100101

10-11-40-11-20-21-10-11-20-11-10-20-10-31- 20-21-40-11-10-21-10-11-20-31-20-21-20-11-

10-11

(19)

Compression Huffman : le principe

Idée : coder ce qui est fréquent sur peu de place, et coder en revanche sur des séquences plus longues ce qui revient rarement.

(20)

revanche sur des séquences plus longues ce qui revient rarement.

Étapes :

estimation des fréquences d’apparition des charactères création d’un arbre

encodage du texte selon l’arbre

(21)

Compression Huffman : le principe

Idée : coder ce qui est fréquent sur peu de place, et coder en revanche sur des séquences plus longues ce qui revient rarement.

Étapes :

estimation des fréquences d’apparition des charactères création d’un arbre

encodage du texte selon l’arbre Inconvenients :

lire tout le fichier avant de comprimer.

Pour décomprimer il faut connaître les codes et donc la table, qui est ajoutée devant le fichier, aussi bien pour transmettre que stocker, ce qui diminue la compression, surtout pour les petits fichiers.

Plusieurs variantes de Huffman existent pour supprimer ces

(22)

e a d c b f g

100 70 35 30 25 10 5

(23)

Exemple

Supposons que la répartition des lettres d’un texte par nombres d’occurrences décroissants soit :

e a d c b f g

100 70 35 30 25 10 5

On remplace les deux lettres les moins fréquentes de la liste triée par une lettre (fictive) f+g de nombre d’occurence 10+5=15 que l’on insère, en respectant l’ordre dans la liste triée. On obtient :

e a d c b f+g

100 70 35 30 25 15

(24)
(25)

Exemple

e a d c b f+g

100 70 35 30 25 15

b

f g

(26)

b

f g

e a b+f+g d c

100 70 40 35 30

(27)

Exemple

e a b+f+g d c

100 70 40 35 30

(28)

e a b+f+g d c

100 70 40 35 30

d c

(29)

Exemple

e a b+f+g d c

100 70 40 35 30

d c

e a d+c b+f+g

100 70 65 40

(30)

100 70 65 40

(31)

Exemple

e a d+c b+f+g

100 70 65 40

d c b

f g

(32)

100 70 65 40

d c b

f g

d+c+b+f+g e a

105 100 70

(33)

Exemple

d+c+b+f+g e a

105 100 70

(34)

e a

d c b

f g

(35)

Exemple

d+c+b+f+g e a

105 100 70

e a

d c b

f g

(36)

On obtient :

e a d c b f g

100 70 35 30 25 10 5

00 01 100 101 110 1110 1111

(37)

Exemple

On obtient :

e a d c b f g

100 70 35 30 25 10 5

00 01 100 101 110 1110 1111 La longueur du texte vaut

(70+100)×2+(25+30+35)×3+(10+5)×4=340+270+60=670bits

(38)

On obtient :

e a d c b f g

100 70 35 30 25 10 5

00 01 100 101 110 1110 1111 La longueur du texte vaut

(70+100)×2+(25+30+35)×3+(10+5)×4=340+270+60=670bits au lieu de

(100+70+35+30+25+10+5)×8=2200bits

Références

Documents relatifs

« õ », etc., sont bien des glyphes 28 ), il n’en est pas de même en figure 4 : à côté des caractères usuels (appartenant au sous-ensemble « latin-1 » d’Unicode), Antoine

Dans ces codages, on retrouve le texte pur (avec des codages spécifiques pour certains caractères) mais dans RTF on trouve quelques commandes typographiques (choix des fontes, \fs20,

[r]

Pour généraliser cette structure afin de décrire la soustraction de nombres de taille supérieure à 1, il faut introduire une variable supplémentaire

Par cons´ equent, tout vecteur de F + G s’´ ecrit de fa¸con unique comme somme d’un vecteur de F et d’un vecteur de G, autrement dit F et G sont en somme directe.. Le deuxi`

Il est facile de constater que cette application est une forme linéaire alternée sur. Elle est donc proportionnelle au déterminant.. Il prend donc une valeur opposée

L’accès aux archives de la revue « Nouvelles annales de mathématiques » implique l’accord avec les conditions générales d’utilisation ( http://www.numdam.org/conditions )..

La question principale est: peut-on reconstituer une fonction à partir de ses coecients de Fourier et en quel sens.. 1.2 Théorie