begin process at 2012 02 16 20:06:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > .NET ALGO HUFFMAN RLE MTF

.NET ALGO HUFFMAN RLE MTF


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Source .NET ( DotNet ) Classé sous :huffman, rle, mtf, compression, codage Niveau :Initié Date de création :27/04/2007 Date de mise à jour :27/04/2007 21:25:01 Vu / téléchargé :8 595 / 575

Auteur : yvesyves

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Il y a 1 ans j'ai essayé de me lancer dans la compression des données mais sans succès,
aujourd'hui j'ai réussi à coder l'algorihtme d'Huffman, pour moi c'est donc une réussite.

Ce code permet la compression/décompression de n'importe quel fichier grâce au codage HuffMan ou
Rle. Il contient l'algorithme Mtf qui me servira, plus tard, dans une seconde source à coder
l'algorithme Bwt,iBwt et Lzw (j'ai laissé un module Bwt vide, j'ai tout effacé suite à une
transformation trop lente à mon goût).

Les performances sont les suivantes sur mon pc (Sempron 3000+, DD 5400tr min, pour vous donner une
idée sur la compression) Précision : La vitesse d'écriture est définie seulement sur ce qu'elle code, si la source a codé que 300Ko dans la seconde alors elle sera de 300Ko/sec. Les performances se mesure sur la vitesse de lecture qui definie la rapidité de traitement. Lorsque le taux de compression est faible la vitesse d'écriture s'aligne sur celle de lecture, vous saisissez?

Algo          |     Huffman      |    Rle
Compression   |    4,6Mo/sec     |  7Mo/sec
Décompression |     3Mo/sec      |  12Mo/sec

Le stockage de l'arbre est sérialisé et est construit sur l'héritage de classe (vous me dites si je
me trompe à propos de l'héritage) ce qui permet une meilleur lisibilitée.
Merci de faire part de vos impressions.

Maj 27/04/2007 : Estimation de la taille du fichier codé par l'algo Huffman



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

27 avril 2007 16:55:46 :
Erreur de zip
27 avril 2007 16:57:46 :
problème avec mon archiveur. Zip correct
27 avril 2007 21:10:13 :
Maj 27/04/2007 : Estimation de la taille du fichier codé par l'algo Huffman
27 avril 2007 21:25:01 :
Le temps continuer à sécouler pendant l'affichage d'une Msgbox

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) SERVEUR HTTP (FICHIERS/WEB) PARTAGEZ VOS FICHIERS
Source avec Zip Source avec une capture Source .NET (Dotnet) TRANSFERT DE FICHIERS ENTRE 2 PC DISTANTS
Source avec Zip Source avec une capture Source .NET (Dotnet) INCLURE POCHETTE D'ALBUM / JAQUETTE DANS VOS TAG MP3 - EDITI...
Source avec Zip Source avec une capture Source .NET (Dotnet) REDIMENSIONNEMENT DE PHOTOS PAR LOT
Source avec Zip Source .NET (Dotnet) CLASSE READ/WRITE BIT À BIT DANS UN FICHIER À N'IMPORTE QUEL...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

 Sources en rapport avec celle ci

COMPRESSION D'UN DOSSIER AVEC WINZIP par djebbipgm
Source .NET (Dotnet) CODER CHIFFRES par alpha5
Source avec Zip Source avec une capture CRÉER VOTRE PROGRAMME D'INSTALLATION par VBsearch
Source avec Zip Source avec une capture Source .NET (Dotnet) COMPRESSION BINAIRE - BWT (BURROWS-WHEELER TRANSFORM) MFT (M... par psycho81
Source avec Zip Source avec une capture CLM'S COMPRESSOR : COMPRESSION AVEC LES ALGOS LZW ET HUFFMAN par clementio

Commentaires et avis

Commentaire de yvesyves le 27/04/2007 20:29:21

Ici mon programme compresse un fichier Wmv mais celui a déjà été compressé donc le gain est minime. J'ai pris ce fichier de 40Mo pour faire un pti image. L'algorithme Huffman n'est eficace que sur du texte ou des images ou les octets se répétent fréquemment.

Commentaire de romagny13 le 27/04/2007 20:34:58

lol euu c'est normal que lorsque je compresse un fichier de 4 Ko une fois compressé il pèse 16 Ko ? :p

Commentaire de romagny13 le 27/04/2007 20:38:59

et puis j'aimerais comprendre parce que une fois compressé on se retrouve avec un fichier qui ne pourra pas retrouver son format initial ?? donc ou est l'utilité et l'interet ??

Commentaire de romagny13 le 27/04/2007 20:49:56

Ok il faut rajouter l'extension mais pour une compression lol c'est un comble que le fichier une fois compressé pese parfois 10 fois plus (fichier texte)

Commentaire de yvesyves le 27/04/2007 21:08:14

Précision la taille de la table pèse 12Ko, il est normal qu'un fichier de petite taille n'ai pas de grands intérets pour la compression.

Commentaire de yvesyves le 27/04/2007 21:12:50

Essaye de comvertir une fichier Bmp, Pdf, une application.
J'essaiyeré en plus des algos LZW et BWT de faire des archives pour rassembler plusieurs fichiers. Ainsi les fichiers de petites tailles (<40Ko) pourront trouver leur place.

Commentaire de yvesyves le 27/04/2007 21:16:14

Romagny t'a décidé de te lacher la? 3 commentaires toute les 4min? Désoler j'ai pas besoin d'un diplome pour faire du Vb comme tu dis, ni pour critiquer. Je prends quand même ta critique en compte pour une prochainne MAj

Commentaire de BruNews le 27/04/2007 22:31:54 administrateur CS

yvesyves, jette un oeil ici:
http://www.cppfrance.com/codes/HUFFMAN-CPPFRANCE_38961.aspx
il y a un très bon boulot de comparatif des différentes méthodes d'implémenter huffman.
Tu pourras aussi comparer avec ce que tu obtiens en .net, toujours bien de pouvoir se situer.

Commentaire de yvesyves le 27/04/2007 22:37:00

Merci BruNews même si le Vb se compare plus difficilement à C++. Je vais y jeter un coup d'oeil en tout cas je crois que j'ai perdu pour la table ^^.

Commentaire de romagny13 le 27/04/2007 23:24:14

non ce n'est pas toutes les 4 minutes moi regardes bien
par contre toi oui c'est toutes les 4 minutes exactement (21:08 ,21:12,21:16) lol

ba tu vois cela fait bien les commentaires pas trés sympathiques sur les sources ...

maintenant pour etre franc ton travail merite certainement et meriterait d'etre amélioré même si je ne suis pas sur qu'enormement de monde soit interesse et même de l'utilité si ce n'est sur un plan personnel d'un tel projet

maintenant je ne vois pas d'inconvenient a ce que tu demandes a un admin de retirer mes commentaires, et en meme temps tu peux de demander a faire retirer les tiens de mes sources cela fera plus propre merci

Commentaire de yvesyves le 28/04/2007 11:13:15

Ba l'algo D'huffman reste ce qu'il est, maintenant peut être que ca interresse pas grand monde mais moi si donc je continuerai pour le Bwt et tous les autres Algo mais avant je vais diminuer la taile de la table afin de pouvoir compresser de petits fichiers.

Commentaire de BLUEBIBUBBLE le 28/04/2007 18:50:12

La table peut être crée dynamiquement (comme pour les gif, zip, etc...)
et n'est pas incluse dans le fichier compressé.
Faire recherche avec mot-clefs: LZW

Commentaire de yvesyves le 29/04/2007 21:21:07

Sauf que je fais du Huffman et la table doit d'inscrire dans le fichier. Le Lzw ne stocke pas sont dictionnaire effectivement.

Commentaire de yvesyves le 30/10/2007 22:15:16

Bon vu que je ne met pas encore ce code à jour car j'en ferai peut être un autre implantant d'autres algo voici la méthode que j'ai retenu pour stocker la table :

Stocker dans 16 bytes le nombre de bytes à décoder utilisant la longuer du Byte codé des 16. ie : Au 3eme byte des 16 on lit 5, donc 5 bytes différents seront codés sur cette longueur (3).

Ensuite dans l'ordre on écrit les bytes utilisés
i.e : 56,134,235,4,65,... donc par exemple 56 et 134 seront côdés avec 2 bits (trouvé précédemment), 235 avec 3 bits et 4 et 65 avec 8 bits.

Pour le décodage il n'y a plus qu'a reproduire l'arbre par récurrence pour ma méthode en cherchant toujours à aller vers le poid faible.

Ainsi on obtient maximum 16+256 bytes pour la taille de la table.

Commentaire de thnve le 21/07/2011 23:34:16 10/10

Très intéressante cette source. As-tu fini ton projet concernant d'autres algorithmes?

Merci

Commentaire de yvesyves le 22/07/2011 19:04:42

Non si je devais refaire cette source j'hésiterais pas, elle est loin d'être bien. On est 4 ans plus tard, j'ai évolué depuis ;).

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

compression huffman [ par totomus ] compression huffman [ par totomus ] Salut tout le monde !! Bon alors j'ai touv&#233; un programme qui m'int&#233;resse sur la compression de huffman mais comme je suis d&#233;butant, en Des exemples pour l'algo de compression RLE??? [ par YoDaaa ] Je voudrais savoir si des sources sur l'algorithme de compression de données RLE ou Huffman on déja été publiées?Merci d'avance Compression Huffmann et R.L.E [ par YoDaaa ] Quelqu'un possède t il des projets utilisant les algorithmes de compression huffmann et ou Rle ?Merci d'avance Besoin d'aide RLE [ par YoDaaa ] J'aimerai obtenir de l'aide pour réaliser un petit programme qui utiliserait la compression RLE sur des fichiers textes... J'explique en gros le princ I need help -> Compression R.L.E [ par YoDaaa ] J'aimerai obtenir de l'aide pour réaliser un petit programme qui utiliserait la compression RLE sur des fichiers textes... J'explique en gros le princ codage optimisation non linéaire(kuhn tucker) système équations en particulier [ par mamok ] nous avons un problème pour coder le système pour rsoudre un pb d'optim non lineaire(kuhn tucker). Nous arrivons à coder dériver mais après pour résou BMP en JPEG --> RLE [ par Skywalker13 ] Bonjour tout le monde et bonne prog... Je fais aussi le concours et je sèche..J'ai écris le code principal pour convertir une image qqonque en JPEG. M CA URGE : compression d'un dossier [ par math85 ] je cherche comment faire pour zipper un dossier avec des sous dossiers, des fichiers cachés et des fichiers systemes. J voudrai trouver qqch de gratui COMPRESSION SUR VB ? C POSSIBLE [ par Zanzeoo ] Bonjour Je voudrais savoir si il est possible de rassembler le contenu de tt un dossier en un seul et meme fichier ? peu importe si la taille change


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales