La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Codage et compression de données Emmanuel SARI - LSI3.

Présentations similaires


Présentation au sujet: "Codage et compression de données Emmanuel SARI - LSI3."— Transcription de la présentation:

1 Codage et compression de données Emmanuel SARI - LSI3

2 11/11/2008Emmanuel SARI – LSI32 Codage et compression de données Introduction I.Méthodes statistiques Shannon-Fano Huffman II.Méthodes dictionnaires LZ77 LZ78 LZW III.Utilisations IV.Autre : méthode anti-dictionnaire

3 11/11/2008Emmanuel SARI – LSI33 Introduction Besoin : réduire le volume des données Gain en stockage Gain en temps de transmission Solution : Utiliser les capacités des processeurs plutôt quaugmenter les espaces de stockage et bandes passantes Pouvoir compresser et décompresser les données

4 11/11/2008Emmanuel SARI – LSI34 Introduction Deux approches : Compression sans perte Texte Programmes Compression avec perte Images Son Vidéo

5 11/11/2008Emmanuel SARI – LSI35 I. Méthodes statistiques Principe Basé sur la fréquence dapparition dun symbole On attribue un code plus court à un symbole plus fréquent Exemple : le code Morse

6 11/11/2008Emmanuel SARI – LSI36 I. Méthodes statistiques Codages de différentes tailles Exemple : Alphabet = {A, B, C, D} Fréquence dapparition : A=60%, B=30%, C=5% et D=5% Codage potentiel : A 0, B 00, C 01, D 10 Message : Interprétation : AAACA ? ABCA ? BACA ? AAAAD ? BBD ? Risque dambiguïté

7 11/11/2008Emmanuel SARI – LSI37 I. Méthodes statistiques Solution : utilisation de codages préfixes Aucun code nest préfixe dun autre. Pas dambiguïté possible Code préfixe sur lexemple précédent : A 0, B 10, C 110, D 111.

8 11/11/2008Emmanuel SARI – LSI38 I. Méthodes statistiques Compression de Shannon-Fano : 1.Classer les symboles par ordre croissant sur les fréquences. 2.Partitionner la table en deux sous-tables de fréquences proches. Recommencer jusquà ce que toute fréquence soit isolée. 3.À chaque niveau de subdivision, attribuer la valeur 0 à la première sous-table, 1 à la seconde. 4.Associer à chaque symbole le code correspondant aux bits de description de larborescence. Décodage en parcourant larbre de codage avec les bits du message

9 11/11/2008Emmanuel SARI – LSI39 I. Méthodes statistiques Exemple : Alphabet = {A,B,C,D,E}. Fréquences : A=15, B=7, C=6, D=6, E=5 Résultat : A 00, B 01, C 10, D 110, E 111.

10 11/11/2008Emmanuel SARI – LSI310 I. Méthodes statistiques Compression de Huffman Principe similaire à Shannon-Fano Construction depuis les feuilles vers la racine cette fois-ci

11 11/11/2008Emmanuel SARI – LSI311 I. Méthodes statistiques Reprise de lexemple précédent : Alphabet = {A,B,C,D,E}. Fréquence : A=15, B=7, C=6, D=6, E=5 Résultat : A 0, B 100, C 101, D 110, E 111.

12 11/11/2008Emmanuel SARI – LSI312 I. Méthodes statistiques Avantages : Arbre de codage toujours oprimal Meilleur que Shannon-Fano Inconvénients : Transmission de larbre Codage bit à bit

13 11/11/2008Emmanuel SARI – LSI313 II. Méthodes dictionnaires Principe : Ne plus faire du codage bit à bit Profiter du fait que certains motifs sont récurrents Les indexer Coder uniquement leur position Compression de Lempel-Ziv

14 11/11/2008Emmanuel SARI – LSI314 II. Méthodes dictionnaires LZ77 Parcours avec une fenêtre de codage Codage sous forme de triplets : (Distance, Longueur, Car) « Fausse méthode dictionnaire »

15 11/11/2008Emmanuel SARI – LSI315 II. Méthodes dictionnaires Exemple : Codage de la chaîne : abcdefgcdefgcdabcdgcgcgc Taille de la fenêtre : 24 caractères abcdefg(5,7)(14,4)gc(2,4) Résultat : (0,0,a)(0,0,b)(0,0,c)(0,0,d)(0,0,e)(0,0,f)(0,0,g)(5,7,a)(14,4,g)(0,0,c)(0,0,g)(2,4)

16 11/11/2008Emmanuel SARI – LSI316 II. Méthodes dictionnaires Peu efficace sur cet exemple car texte trop court Avantages : Plus efficace que les méthodes statistiques Codage/décodage symétriques Inconvénients : Coût en temps de calcul Gestion délicate de la fenêtre de codage Fenêtre trop petite compression moins bonne Fenêtre trop grande temps de calcul rallongé

17 11/11/2008Emmanuel SARI – LSI317 II. Méthodes dictionnaires LZ78 Palie au défaut du fenêtrage Utilisation dun véritable dictionnaire Plus efficace que LZ77 Dictionnaire réduit : Plus de champ Longueur Remplacement de Distance par lindex 0 si nouvelle entrée Index ordonné de 1 à 255 sinon

18 11/11/2008Emmanuel SARI – LSI318 II. Méthodes dictionnaires Exemple : Codage de la chaîne : abcdefgcdefgcdabcdgcgcgc Taille de la fenêtre : 24 caractères.

19 11/11/2008Emmanuel SARI – LSI319 II. Méthodes dictionnaires LZW : Lempel-Ziv-Welch Codage sur 12 bits uniquement par des index De 1 à 255 : ASCII Après 256 : motifs rencontrés Plus efficace que LZ78

20 11/11/2008Emmanuel SARI – LSI320 II. Méthodes dictionnaires Exemple : Codage de la chaîne : abcdefgcdefgcdabcdgcgcgc Taille de la fenêtre : 24 caractères. Résultat : abcdefg[258][260][262]d[256][258][262][269]c

21 11/11/2008Emmanuel SARI – LSI321 III. Utilisations LZ78 et LZW anciennement brevetés Gif Tiff(optionnel) LZ77 + Huffman DEFLATE Zip Gzip Png HTTP SSH

22 11/11/2008Emmanuel SARI – LSI322 III. Utilisations Nombreuses variantes : LZSS, LZWL, LZO, LZMA, LZX, LZJB, LZT… Nombreux formats : Bzip2, 7z, Rzip, Lzop…

23 11/11/2008Emmanuel SARI – LSI323 IV. Autre : méthode anti-dictionnaire Idée : Si on sait que le facteur 1011 napparaît pas dans le texte, cela veut dire quà chaque fois que le facteur 101 est présent, il sera suivi par 0 Définition : On se place dans un alphabet binaire. ω : un mot fini. F(ω) : lensemble des facteurs de ω. Anti-dictionnaire de ω : AD(ω)= ensemble de facteurs nappartenant pas à ω Exemple : ω = AD(ω) = {00,11}

24 11/11/2008Emmanuel SARI – LSI324 IV. Autre : méthode anti-dictionnaire Exemple (compression) : ω = AD(ω) = {00, 111, 1011}

25 11/11/2008Emmanuel SARI – LSI325 IV. Autre : méthode anti-dictionnaire Exemple (décompression) : γ(ω) = AD(ω) = {00, 111, 1011}

26 11/11/2008Emmanuel SARI – LSI326 IV. Autre : méthode anti-dictionnaire Construction de lanti-dictionnaire : Recherche des facteurs de la phrase de longueur donné k. Recherche des facteurs interdits minimaux de taille k. Exemple: ω = K = 5

27 11/11/2008Emmanuel SARI – LSI327 Codage et compression de données Des questions ? Sources : Codage et compression de données - Erwan le Scanff Codage et compression de données - Jérôme Dumas, Fabien Harrang Wikipedia.org Compression de données utilisant les anti-dictionnaires - Sarah Maarek


Télécharger ppt "Codage et compression de données Emmanuel SARI - LSI3."

Présentations similaires


Annonces Google