fabienGL
Messages postés18Date d'inscriptionsamedi 5 octobre 2002StatutMembreDernière intervention31 août 2003
-
31 août 2003 à 17:01
Utilisateur anonyme -
17 sept. 2006 à 20:53
Bonjour,
J'écris un loader JPEG, je l'ai presque fini mais il y a une étape qui me pose problème, c'est le stockage de la table d'Huffman. je vais expliquer vaguement son fonctionnement et ce que je ne comprends pas(je tiens à préciser que j'ai déjà récupérer la norme officiel du format JFIF, et d'autres documents trouvé sur wotsit et que je ne veux pas qu'on me donne le nom de library pour charger des fichiers JPEG, le but de ce programme est pour que j'apprenne un peu!):
16 octets consécutifs contiennent le nombre de codes huffman qui ont cette taille en bit. par exemple si notre table à 3 code Huffman de 5 bits et bien le 4ème octet de ces 16 octet sera ajusté à 3.
après ces 16 octets il y a les valeurs associées pour chaqun des codes Huffman. Ainsi cette espace vaut en octet la somme des valeurs de 16 octets dont j'ai parlé plus haut. cette espace est un tableau comme suit tb[k][i] où k varie de 0 à 15 et i varie de 0 à la valeur du p[k], où p serait le tableau stockant les 16 éléments du départ.
Je ne sais pas si je me suis fait comprendre mais si quelqun à déjà écrit un loader, je pense qu'il doit savoir de quoi je parle.
En gros à jusqu'ici je connais le nombre de codes Huffman que j'ai (classé en nombres de bits) et les valeurs associés à ces codes mais je ne connais pas les codes Huffman eux-même alors qu'ils sont trés utile vu que ce sont eux qui sont dans les données du fichier lui-même. J'aurais aimé savoir comment qu'on les récupères et quel est l'algo pour les récupérer? si quelqun sais, merci de m'explicité tout ça, si vous connaîssez des documents plus préçis sur les tables Huffman dans un fichier JPEG merci de me les donner.
Dans la doc. officiel, il en parle mais bon, pour moi ce n'est pas très clair.
Merci de votre aide.
Webmaster de http://www.startjeux.com Site web des programmeurs C++, OpenGL, PHP, HTML, JavaScript ...
je ne sais pas si tu as terminé ton loader ?
je suis justement en train d'en coder un et j'en suis aussi au niveau du stockage des matrices quantifiées.
Concernant le codage des [8x8], on a deux type de valeurs à coder, les valeurs associées aux coéfficients DC (toujours sotckés en [0,0] dans la matrice) et celles des coéfficents AC (les 63 autres valeurs).
Donc pour le codage des tableau de Huffman, tu en as deux types, celles pour les valeurs DC et celles pour les valeurs AC, voici la structure des ces tables dans le fichiers JPEG, j'espère que ça pourra te faire avance un peu, pour l'instant je n'ai pas plus d'infos car j'en suis au même endroit que toi.
{ Start Of Image }
{ APP0 Marker
Length: 16
Version: 1.1
Density Unit: (pixels per inch)
X Density: 72
Y Density: 72
Thumbnail Width: 0
Thumbnail Height: 0
}