IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

en-tête codage huffman


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut en-tête codage huffman
    D'aprés vous c'est quoi le mieux à mettre dans l'en-tête d'un fichier compressé par la méthode de huffman :

    Le code ascii des caractère et leur code huffman
    OU
    Le code ascii et la fréquence des lettre correpondante (nécessité de reconstruire l'arbre)



  2. #2
    Membre actif Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par kuja2053
    Le code ascii des caractère et leur code huffma
    Ca me paraît plus logique ! Qu'est-ce qui te fait hésiter ... ?
    "L'expérience est le seul livre que les imbéciles savent lire ... !"

    Qui à dit cela ? Moi je n'sais pas !
    Mais en tout cas, je l'applique au pas !

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut suite
    Pas forcément car c'est plus facile de parcourir un arbre que de chercher à quel lettre correspond "01001" par exemple. Et on ne peut refaire d'arbre avec juste la table de coddage de huffman !

    Si quelqu'unà deja fé le codage de huffman pourrai t'il me dire quelcodage ila utilisé?

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par kuja2053
    D'aprés vous c'est quoi le mieux à mettre dans l'en-tête d'un fichier compressé par la méthode de huffman :

    Le code ascii des caractère et leur code huffman
    OU
    Le code ascii et la fréquence des lettre correpondante (nécessité de reconstruire l'arbre)
    Aucun des deux ! Le plus efficace en terme de place est de stocker l'arbre.

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut suite
    Merci!

    Mais comment ça se stocke un arbre ?!!
    car je parle de stockage dans l'entete du fichier compressé!

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    C'est assez simple. Supposons qu'on a l'arbre suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       /\
     0/  \1
     /    \
    A     /\
        0/  \1
        /    \
       B      C
    Pour le stocker, on va le parcourir, disons en profondeur, fils gauche d'abord, en commençant par la racine. A chaque fois qu'on rencontre un nouveau noeud, on stocke 1 si c'est une feuille, 0 sinon.

    Ce qui donne sur l'exemple 01011. C'est tout, seulement 5 bits.
    Reste juste ensuite à stocker les codes des caractères A B et C.

    Et à utilisé l'algo inverse pour le décodage.

  7. #7
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Une technique alternative est de faire du Huffman adaptatif. Pas besoin de commencer par stocker des info de frequence.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut suite
    Je vois pas comment tu peut reconstruir l'arbre car il y a plusiseur possibilité : les arbres peuvent également avoir cette forme


  9. #9
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    On reconstruit noeud par noeud. L'arbre ci-dessus sera codé 00101011011, ce qui donne :
    - on lit 0 => on construit un noeud (la racine)
    - on lit 0 => on construit un noeud (le fils gauche de la racine)
    - on lit 1 => on construit une feuille (le fils gauche du noeud précédent)
    - on lit 0 => on construit un noeud (le fils droit du 2ème noeud, forcément, puisque le précédent est une feuille)
    - ...
    L'unicité est garantie par le sens du parcours, qui doit être le même à l'encodage et au décodage, et par le fait qu'une feuille stop le parcours en profondeur, et avance d'un cran en largeur.

  10. #10
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 233
    Points : 122
    Points
    122
    Par défaut suite
    Ah OK, j'ai pigé, en effet avec cette façon l'entête est trés court!!

    Merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. codage huffman avec matlab
    Par wahidred dans le forum MATLAB
    Réponses: 1
    Dernier message: 26/04/2011, 21h48
  2. Aide pour codage huffman
    Par Yoshiiki dans le forum C
    Réponses: 1
    Dernier message: 28/11/2010, 10h18
  3. le codage huffman et son décodage
    Par kadjuv dans le forum Simulink
    Réponses: 0
    Dernier message: 02/03/2010, 15h30
  4. [Débutant] la quantification et le codage huffman
    Par kadjuv dans le forum Signal
    Réponses: 0
    Dernier message: 10/11/2009, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo