Codage de huffman [Fermé]

Signaler
-
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
-
salut je fais des recherche sur la compression mp3,le principe de la compression audio,et la je suis en train d'etudier le code de huffman,je sais le principe du codage mais je voudrais savoir comment on va mettre en place ce codage en ce qui concerne le mp3 c'est e dire quel sera la demarche a suivre pour coder un fichier audio en code de huffman? ( comment va t'on faire pour reconnaitre les frequence identique,leur appartion etc.) si quelqu'un peut m'aider,merci beaucoup!

6 réponses

Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514
Hello.

Le codage huffman intervient après l'analyse et la quantization des fréquences.

Dans l'encodage MP3, les étapes sont:

- découpage de la musique en entrée en petit morceaux (chunks)
- analyse de chaque chunk: transformée de fourrier pour en extraire les fréquences, puis:
- comparaison au modèle psyco-acoustique pour éliminer les fréquences inutiles
- enfin, encodage en huffman de ces données.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

effectivement c'est ce que j'avais compris lors de mes recherche mais je veux savoir un peu plus sur le codage de huffman,pour ce qui est du filtrage j'ai pu trouver plus de précision en ce qui concerne les sous bande le modele psychoaccoustique,mais la ce que je veux savoir c'est la suite,quand on a filtrer comment on code avec huffman,pour etre plus precis quel sont les etapes pour coder en mp3 autrement dit,si je veux programmer le code de huffman sur matlab par exemple,quel sont les etape du codage pour faire la programmation du mp3?
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514
Le mieux, c'est encore de prendre le source d'un encodeur MP3.
Par exemple LAME qui est opensource (les sources sont donc disponibles).

Pour huffman, j'ai mis une petite explication là:
http://sebsauvage.net/comprendre/compactage
J'ai lis un sujet sur la MDCT et le code de huffman en ce qui concerne le mp3 et je voudrais avoir une confirmation ou me dire si ce n'est pas ça:

moi ce qui j'ai compris c'est que d'abord pour compresser un fichier audio wave,tout d'abord on filtre le fichier c'est a dire on le decoupe en 32 bande,on applique une fft et on le compare avec le modele psychoaccoustique,donc on aura un signal filtré dont on a enlever les frequence inutile,mais apres c 'est la que j'ai du mal a comprendre,ce que j'ai pu comprendre apres,c'est qu'on applique la MDCT sur le signal filtré pour exprimé ce signal en somme de cosinus et ainsi avoir toutes les frequence des cosinus sommé et apres on fais un codage de huffman avec ces frequence en analysant les frequence egales et leur nombre d'apparition.

Est ce que c'est ca ou pas? je n'ai pas l'impression que ce soit ca mais c'est ce que j'ai compris, donc si c'est pas ca je voudrais savoir apres avoir filtrer,qu'est ce qu'on fait? comment va t'on arriver au code de huffman?
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514
En fait, une fois que tu as tout passé au filtre passe-bande+FFT+modèle psycoacoustique, tu as "terminé ta compression.

Tu obtiens en sortie une suite de bits.
Ce sont des bits que tu compresse ensuite en huffman.

En fait, on pourrait très bien se passer de huffman, ou même prendre un autre algo (LZW).
L'encodage Huffman est la toute dernière étape de la compression.
donc si je comprend bien la FFT et la MDCT c'est la meme chose? Mais pourquoi dans schema du principe de compression mp3 il y a deux bloques différents : un pour la FFT et l'autre pour la MDCT?
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514
D'après ce que j'en comprend, FFT est surtout utilisé pour piloter le système psycho-acoustique (principalement pour détecter les fréquences qui peuvent être éliminées sans gêne).

Mais il est trop grossier et trop consommateur en temps de calcul pour être directement utilisé pour la compression elle-même.

Le MDCT est - lui - chargé de découper le signal à compresser:
- en bandes (sachant que la largeur et l'emplacement de ces bandes peut varier pour s'adapter au signal à compresser.).
- en frames (morceaux), en effectuant un recouvrement des frames pour éviter des 'sauts' dans le signal à la jonction de deux frames.
Je commence maintenant a comprendre la mdct,la mdct va donner un coefficient a chaque sous bande qu'on a fait si j'ai bien compris,et quand on va comparer les sous bande au modele psyacoustique on gardera ou pas le coefficient selon si on est en dessous ou au dessus du seuil du modele psychoacoustique,c'est bien ca? et le codage de huffman il va se baser sur quoi pour faire son codage? il se base sur les coefficients?
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514 > jean
c'est bien ca?

Je crois que c'est ça.
Mais je n'ai jamais étudié les sources des encodeurs MP3 :-)


le codage de huffman il va se baser sur quoi pour faire son codage?

Il intervient en bout de chaîne, quand tous les autres encodeurs ont déjà terminé leur boulot.
Huffman se moque de savoir si c'est des coefficients, du texte, des images ou quoi que ce soit d'autre.

Huffman ne voit qu'une suite de données numériques à compresser.

Le principe de huffman est de faire une analyse statistique sur les données sorties afin de construire une table des symboles les plus fréquents.

D'ailleurs je ne comprend pas que ce soit huffman qui ait été choisi.
Huffman n'est pas du tout adapté aux flux (streaming).
La famille des LZ aurait sûrement été bien plus adaptée, non ?
Enfin bref, peut-être que la nature des données ne s'y prête pas...
>
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019

Tu connais pas un site (en francais ) ou on explique mathematiquement ce qu'est la MDCT, car j'ai un rapport à rendre bientot et je n'ai aucun support pour pouvoir rédiger cette partie, car meme si j'ai compris certaine chose,y'en a d'autre qui sont un peut flou,je suis en train de faire un rapport sur la compression mp3 et la seule chose qui me manque c'est la MDCT, la séparation en sous bande, le modele psychoacoustique et le code de huffman j'ai pigé, mais la MDCT c'est tres compliqué à comprendre je trouve.
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514 > jean
Désolé, je n'ai rien de particulier.
Essai Google et wikipedia.
Salut
moi aussi j ai besoin de bien comprendre la compression MP3
Mr Jean pouvez vous m'envoyez votre rapport.
Merci d'avance.
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514
Ca remonte a loin ce temps la. Le rapport que j'ai fait est encore la sur mon pc. Si tu veux le lire, contacte moi par mail.
djiefte@yahoo.fr

Et j'ai oublié de remercier sebsauvage qui m'a aidé, j'etais trop concentrer sur l'affaire que j'ai oublié.
J'ai eu un 15 pour le rapport (ecrit+oral).
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 514
Content d'avoir pu t'aider :-)