COMPRESSION HUFFMAN ( INTERFACE EN API WINDOWS )

Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
- - Dernière réponse : amira4iag
Messages postés
1
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
17 avril 2007
- 17 avril 2007 à 15:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38522-compression-huffman-interface-en-api-windows

Afficher la suite 
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
pour moi l'entropie donnee comme cela "brute & seule" n'a aucun sens, il faudrait peut etre la comparer a une autre grandeur comme par exemple la longueur moyenne (ou autre chose de pertinent du genre quelle est l'entropie des images usuelles : bitmap de la mer, photos de famille, textes litteraires, conversations MSN) enfin juste pour avoir une idee, pour situer le fichier parmi ces exemples.
deimoslp
Messages postés
12
Date d'inscription
dimanche 22 juin 2003
Statut
Membre
Dernière intervention
12 juillet 2007
-
En fait j'ai juste appliqué une formule que j'ai trouvée sur le net pour calculer l'entropie. En gros, l'entropie est comprise entre 0 et 8, dans le cas d'une compression par mots de 1 octet; plus elle est faible et plus la compression sera efficace pour le fichier ouvert.
Le taux de redondance, qui est basé sur cette grandeur est peut-etre un peu plus significatif ...
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
mais l'entropie ce n'est pas la meme chose que la longueur moyenne des mots ...
ca serait bien de pouvoir calculer l'entropie d'un fichier, et tu montrerais la difference d'entropie (ie l'elevation d'entropie due a la compression)
mogwai93
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015
-
"Le programme a été développé sous visual c++, donc j'ai bien peur qu'il soit difficile de le compiler dans d'autres environnements."

ca passe sous DevC++ !!
en modifiant 1 ligne dans le fichier "huffman.cpp"
void donnee_construit()

il faut mettre :
// décalage
unsigned int i;
for(i=2;i<nbarbres;i++)

> sortir unsigned int de la boucle for
pour que i soit reconnu en dehors lors de l'appel
listearbre[i-2]=noeud;

pour les warning, ils sont facilement corrigibles ;-)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
C'est T = 1 - (taille_fichier_compressé/taille_fichier_original)

puisque c'est assez logique d'avoir un taux de compression nul si le nouveau fichier à la même taille que l'original. et d'ailleurs, avec huffman, on peut aussi avoir pire. Il n'y a sans doute pas plusieurs définitions, mais il est possible que les gens ne soient pas d'accord sur le sens à donner ^^. Quoi qu'il en soit, dans les programmes pros de compression, plus le taux est élevé, mieux c'est compressé.

Et Huffman, c'est un cooooool algo :).