Codage arithmtique, Huffman - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Codage arithmtique, Huffman

Description:

Utilisation du codage arithm tique. Algorithme de Huffman. M thode Lempel Ziv Welch ... On construit un arbre binaire : Avec l'arbre, on construit un ... – PowerPoint PPT presentation

Number of Views:808
Avg rating:3.0/5.0
Slides: 17
Provided by: litaScien
Category:

less

Transcript and Presenter's Notes

Title: Codage arithmtique, Huffman


1
Codage arithmétique, Huffman LZWCLAUSSE
OlivierCHOLEZ HervéL3 InformatiqueAnnée
Universitaire 2005 - 2006
Cours de Multimodalité
2
Sommaire
  • Introduction
  • Le codage arithmétique
  • Algorithme de Huffman
  • Lempel Ziv Welch
  • Comparaison
  • Conclusion

Codage arithmétique
Sommaire
3
Introduction
  • La compression de données
  • Une étape obligatoire
  • La compression peut être de deux types
  • Avec / Sans perte
  • Méthodes sans perte
  • Utilisation du codage arithmétique
  • Algorithme de Huffman
  • Méthode Lempel Ziv Welch
  • Présentation de ces trois différentes méthodes

Codage arithmétique
Introduction
4
1. Le codage arithmétique
  • Mise au point par P. Elsa
  • Codage sous brevet (principalement IBM)
  • Compression de type statistique
  • Tend à remplacer Huffman
  • Message comme une entite, non comme un ensemble
    de symboles
  • Représentation du message sous
  • forme dun seul nombre réel

Codage arithmétique
Codage arithmétique
5
1. Le codage arithmétique (2)
  • Codage en 4 étapes
  • Construction de la table des fréquences
  • Construction de la table des probabilités
  • Définition des intervalles pour chaque symbole
  • Encodage du message
  • Un mot est par exemple codé sous la forme 0,15228

Codage arithmétique
Codage arithmétique
6
1. Le codage arithmétique (3)
  • Comme Huffman, on calcule les probabilités
  • On segmente lintervalle 0, 1 avec les
    probabilités

Codage arithmétique
Codage arithmétique
7
1. Le codage arithmétique (4)
  • On construit un nombre réel avec la suite des
    valeurs

Codage arithmétique
Codage arithmétique
8
2. Algorithme de Huffman
  • Mis au point en 1952 par David Huffman
  • Compression de type statistique
  • Idée voisine de celle du code morse
  • coder ce qui est fréquent sur peu de place
  • coder ce qui revient rarement sur un code plus
    long
  • Code constituable dés lors que lon a
  • les statistiques de parution des lettres

Codage arithmétique
Huffman
9
2. Algorithme de Huffman (2)
  • Principe de Huffman
  • On calcul la probabilité de chaque symbole
  • On tri
  • Récursivement on regroupe les 2 valeurs les moins
    fréquentes

Codage arithmétique
Huffman
10
2. Algorithme de Huffman (3)
  • On construit un arbre binaire
  • Avec larbre, on construit un dictionnaire
  • 10 -gt 00
  • 15 -gt 01
  • 90 -gt 10
  • 115 -gt 110
  • 180 -gt 111

Codage arithmétique
Huffman
11
3. Lempel Ziv Welch
  • Mis au point en 1984 par Terry Welch
  • Amélioration de LZ77 (1977) et de LZ78 (1978)
  • créés par Abraham Lempel et Jacob Ziv
  • Breveté par Unisys, utilisé dans les modems
    V42bis et GIF
  • Compression de type dictionnaire
  • construit dynamiquement
  • Successions de caractères plus fréquentes que
    dautres
  • on les remplace par un nouveau caractère

Codage arithmétique
LZW
12
3. Lempel Ziv Welch (2)
  • Le dictionnaire est initialisé avec le code ASCII
  • Les 256 premiers indices seront donc les
    caractères standards
  • Lecture du fichier octet par octet
  • Les caractères sont stockés dans le tampon tant
    que la chaine est dans le dictionnaire
  • Si la chaine nest pas présente dans le
    dictionnaire
  • On la rajoute !
  • On vide le tampon
  • On conserve le dernier caractère

Codage arithmétique
LZW
13
4. Comparaison
  • Codage arithmétique vs Huffman
  • Huffman est la meilleure méthode de codage à
    longueur fixés
  • Mais efficacité limité car code à longueur
    binaire entière
  • Exemple pour une probabilité dapparition de
    90
  • codage idéal sur 0,14 bits
  • Huffman codera sur 1 bit
  • Ce nest pas le cas du codage arithmétique
  • En moyenne le codage arithmétique à un taux de
    compression supérieur de 4 à 5 à Huffman, mais
    légèrement plus lent

Codage arithmétique
Comparaison
14
4. Comparaison (2)
  • Codage arithmétique vs LZW
  • Lavantage de LZW est denvoyer que le code de
    lindex dans le dictionnaire
  • LZW est très efficace pour des gros fichiers
  • Pas besoin de dictionnaire pour décompresser

Codage arithmétique
Comparaison
15
4. Comparaison (3)
LZW vs Huffman
 
16
Conclusion
Codage arithmétique
Conclusion
Write a Comment
User Comments (0)
About PowerShow.com