Logiels de compression : fonctionnement ?

Logiels de compression : fonctionnement ? - Logiciels - Windows & Software

Marsh Posté le 15-10-2003 à 00:07:04    

Je crois savoir que les logiciels de compression tels que winzip ou winrar remplacent les chaines de caractères répétitives par des chaines de caractères plus courtes et qu'un "dictionnaire" inclus au fichier zippé permet de connaitre la correspondance "chaine remplacée/chaine remplacante".
exemple : "abc1abc2abc" devient "x1x2x" avec un dico qui dit x=abc
 
Mais savez-vous si ce genre de logiciel utilise d'autres astuces ?
 
Merci

Reply

Marsh Posté le 15-10-2003 à 00:07:04   

Reply

Marsh Posté le 15-10-2003 à 01:05:58    

Non je pense que seuls les fichiers contenant plusieurs occurences de la chaîne "abc" peuvent être compressés.
 
(Purée je suis en forme moi :D)

Reply

Marsh Posté le 15-10-2003 à 01:14:50    

RLE (Run Length Encoding)
LZW (Lempel-Ziv-Welch)
Huffman
Fano-Shannon
Codage Arithmétique
Codage Adaptatif des Fréquences (AFE)
 
 
Un livre qui les traite tous (avec algorithmes et programmes en C) :
Compression de données (Pascal Plumé, Eyrolles)
 
http://www.gzip.org/index-f.html
http://sources.redhat.com/bzip2/


Message édité par charly007 le 15-10-2003 à 01:16:28
Reply

Marsh Posté le 15-10-2003 à 01:25:37    

vi... y'a plein plein de manières de compresser un fichier... avec ou sans perte de données, etc.
 
arf... et dire que sur AMIGA on avait un répertoire spécifique où on pouvait stocker tous les algo que l'on voulait :sarcastic:
 
il y a des algo plus performants que d'autres, plus rapides que d'autres, avec ou sans dictionnaire, dictionnaire inclu ou pas... certains algos sont plus performants pour certains types de données...
 
c'est pationnant la compresion !!!


---------------
Sujet sur les cartes son audiophiles pour mélomanes et musiciens & DAC+ADC
Reply

Marsh Posté le 15-10-2003 à 10:18:36    

Je parle uniquement des compresseurs sans pertes de données.
Je me demandait s'il y avait des trucs spéciaux pour des chaines à la fois "uniques et répétitive".
Par exemple, ce serait le cas où on aurait une chaine de 500 "blancs" consécutifs, mais présentes une seule fois dans le fichier. On pourrait inclure une séquence particulière qui dirait "blanc à répéter 500 fois" avec un car d'échapement qui permettrait d'identifier cette séquence comme étant une séquence technique. Exemple :/b*500/
 
Je vais aller faire un tour sur les sites donnés plus haut.
J'espère que ce n'est pas trop technique car je me pose la questions plutôt par curiosité que par besoin professionnel.

Reply

Marsh Posté le 15-10-2003 à 11:41:11    

l'algo de huffman fait appel a un calcul statistique
l'algo parcours les octets et les trie en fonction de leur frequence dans le code.
il calcul ensuite une sequence de bit de longueur inversement proportionelle. l'astuce etant d'attribuer une sequence unique a chaque octet
 
par ex un octet de valeur 0 sera remplacé par 3 bit 101 au lieu de 8 , la valeur 255 par 4 bit 1011, etc...
au final la sequance d'octet 0,255,0,0,255 sera ramplacé par 101,1011,101,101,1011 (17 bit au lieu de 5*8=40)
 
a la decompression l'algo parcours bit par bit en faisant de comparaison avec son dico
 
le mieux c un bon bouquin car y'en a plein d'autre des algo...


Message édité par djobidjoba le 15-10-2003 à 14:27:46
Reply

Marsh Posté le 15-10-2003 à 11:45:13    

si tu veux t'amuser a coder tu peux par commencer par parcourir un bmp. tu defini une sequence d'octet reservé pour toi "toto"
tu repere les repetion d'octet identique > 6 et tu les remplace par totoAB avec A = l'octet et B la quantité


Message édité par djobidjoba le 15-10-2003 à 11:45:34
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed