Amélioration de l'algorithme LZ78 (A. Lampel et J. Ziv)
Créé en 1984 par T. Welch
Utilisé dans les formats GIF et TIFF
2
Principe de fonctionnement
Parcours progressif du texte
Construction d'un dictionnaire
Remplacement de mots par des caractères uniques
Compression
3
Principe de fonctionnement
Récupération du charset d'origine
Parcours progressif du texte
Reconstruction du dictionnaire
Remplacement des caractères uniques par des mots
Décompression
4
Essai n°1
Passage du dictionnaire pour la décompression
Facile à implémenter
Taux de compression très bas
Passage du dictionnaire
5
Essai n°2
Pas de dictionnaire à transporter
Implémentation plus complexe
Compression plus élevée
Reconstruction du dictionnaire
6
Résultats
Compression
Lorem Ipsum (5§)
Le Horla
Nb de lettres
58.07 %
38.12 %
Poids du fichier
24.5 %
-17.38 %
7
Méthodes implémentées
Lecture de fichiers compressés
Écriture de fichiers compressés
Compression de variable textuelles
Décompression de variable textuelles
Décompression avec dictionnaire
Récupération de taille de fichiers
8
Limite
L'implémentation permet seulement de compresser des fichiers textes encodés sur de l'utf-8
9
Avantage
"L’algorithme est conçu pour être rapide à coder, mais n’est la plupart du temps pas optimal car il effectue une analyse limitée des données à compresser."
10
Enseignements
Compréhensions des limites d'un algorithme de compression
Utilisation de classe, méthodes d'objets et méthodes statiques
Compréhension des systèmes d'encodage pour l'écriture de fichiers dans python