Compression Lampel-Ziv

Bonjour,

Pendant mes vacances je me suis amusé à utiliser la technique de compression inventée par Lampel-Ziv (LZ) utilisant un dictionnaire.
Je n’ai pas trouvé énormément de documentation sur cette technique et là façon de l’optimiser. J’ai donc directement commencé à coder sans rien utiliser :paf: . Le seul problème c’est que avec ma compression j’arrive a récupérer que environ 200ko sur un fichier de 2mo… Oui je sais, c’est catastrophique et il arrive que avec certains fichiers la taille augmente! :whistle:

Pour information j’ai utilisé un dictionnaire long de 255 mots et un octet minimum par entrée (l’unité).

Petite question: auriez-vous des sites dans vos favoris sur Lampel-Ziv afin que je puisse améliorer mon programme? Et faudrait-il coupler ce codage avec la méthode du codage de Huffman?

J’ai également cherché la documentation sur LZ77 et LZ78 pour que je fasse un programme qui utilisent ces formats de compression mais je n’ai rien trouvé. Connaîtreriez-vous un site qui explique bien la méthode pour comprésesser un fichier en LZ77 ou LZ78?

Petite remarque: je viens de l’apprendre il existe deux sorte de compression avec dico. Le LZ77 et le LZ78. Le LZ78 est meilleur (il est censé du moins… et il a été créé après) et par chance j’ai utilisé le LZ78 :paf: . Oui mais alors? Pourquoi mes résultats catastrophiques?

http://www.cs.cmu.edu/afs/cs/project/pscic…zexplained.html
http://www.faqs.org/faqs/compression-faq/p…/section-1.html
http://research.edm.uhasselt.be/jori/thesi…s/chapter4.html
http://www.cs.tut.fi/~albert/Dev/pucrunch/packing.html

Je te remercie, je vais lire ça demain afin de vérifier que ce que j’ai utilisé dans mon programme de compression/décompression est bien le LZ78 et trouver les fautes éventuelles (ce qui expliqueraient mon très mauvais ratio).

Mais merci beaucoup, tu m’as donné plein de travail pour demain :ane: