Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Table d'Huffman/JPEG [ Archives / Maths & Algorithmes ] (fabienGL)

dimanche 31 août 2003 à 17:01:54 | Table d'Huffman/JPEG

fabienGL

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 ...

dimanche 17 septembre 2006 à 20:53:46 | Re : Table d'Huffman/JPEG

vincentbo

Salut,

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
}

{ Define Quantization Table
 Length: 132
 Table Index: 0
 Table Precision: 0
 Table Values:
  6 4 4 4 5 4 6 5
  5 6 9 6 5 6 9 11
  8 6 6 8 11 12 10 10
  11 10 10 12 16 12 12 12
  12 12 12 16 12 12 12 12
  12 12 12 12 12 12 12 12
  12 12 12 12 12 12 12 12
  12 12 12 12 12 12 12 12

 Table Index: 1
 Table Precision: 0
 Table Values:
  7 7 7 13 12 13 24 16
  16 24 20 14 14 14 20 20
  14 14 14 14 20 17 12 12
  12 12 12 17 17 12 12 12
  12 12 12 17 12 12 12 12
  12 12 12 12 12 12 12 12
  12 12 12 12 12 12 12 12
  12 12 12 12 12 12 12 12
}

{ Start Of Frame
 Type: Baseline (Huffman)
 Length: 17
 Precision: 8
 Height: 383
 Width: 262
 Component Count: 3
 Component 1
 Horizontal Frequency: 2
 Vertical Frequency: 2
 Quantization Table: 0
 Component 2
 Horizontal Frequency: 1
 Vertical Frequency: 1
 Quantization Table: 1
 Component 3
 Horizontal Frequency: 1
 Vertical Frequency: 1
 Quantization Table: 1
}
{ Define Huffman Table
 Length: 418
 Table Index 0
 Table Class: DC
 Code Counts: 0 0 7 1 1 1 1 1 0 0 0 0 0 0 0 0
 Code Values: 4 5 3 2 6 1 0 7 8 9 a b
 Table Index 1
 Table Class: DC
 Code Counts: 0 2 2 3 1 1 1 1 1 0 0 0 0 0 0 0
 Code Values: 1 0 2 3 4 5 6 7 8 9 a b
 Table Index 0
 Table Class: AC
 Code Counts: 0 2 1 3 3 2 4 2 6 7 3 4 2 6 2 73
 Code Values:
  1 2 3 11 4 0 5 21 12 31 41 51 6 13 61 22
  71 81 14 32 91 a1 7 15 b1 42 23 c1 52 d1 e1 33
  16 62 f0 24 72 82 f1 25 43 34 53 92 a2 b2 63 73
  C2 35 44 27 93 a3 b3 36 17 54 64 74 c3 d2 e2 8
  26 83 9 a 18 19 84 94 45 46 a4 b4 56 d3 55 28
  1a f2 e3 f3 c4 d4 e4 f4 65 75 85 95 a5 b5 c5 d5
  e5 f5 66 76 86 96 a6 b6 c6 d6 e6 f6 37 47 57 67
  77 87 97 a7 b7 c7 d7 e7 f7 38 48 58 68 78 88 98
  a8 b8 c8 d8 e8 f8 29 39 49 59 69 79 89 99 a9 b9
  c9 d9 e9 f9 2a 3a 4a 5a 6a 7a 8a 9a aa ba ca da
  ea fa

 Table Index 1
 Table Class: AC
 Code Counts: 0 2 2 1 2 3 5 5 4 5 6 4 8 3 3 6d
 Code Values:
  1 0 2 11 3 4 21 12 31 41 5 51 13 61 22 6
  71 81 91 32 a1 b1 f0 14 c1 d1 e1 23 42 15 52 62
  72 f1 33 24 34 43 82 16 92 53 25 a2 63 b2 c2 7
  73 d2 35 e2 44 83 17 54 93 8 9 a 18 19 26 36
  45 1a 27 64 74 55 37 f2 a3 b3 c3 28 29 d3 e3 f3
  84 94 a4 b4 c4 d4 e4 f4 65 75 85 95 a5 b5 c5 d5
  e5 f5 46 56 66 76 86 96 a6 b6 c6 d6 e6 f6 47 57
  67 77 87 97 a7 b7 c7 d7 e7 f7 38 48 58 68 78 88
  98 a8 b8 c8 d8 e8 f8 39 49 59 69 79 89 99 a9 b9
  C9 d9 e9 f9 2a 3a 4a 5a 6a 7a 8a 9a aa ba ca da
  ea fa
}
{ Start Of Scan
 Length: 12
 Scan Count: 3
 Component ID: 1
 AC Entropy Table: 0
 DC Entropy Table: 0
 Component ID: 2
 AC Entropy Table: 1
 DC Entropy Table: 1
 Component ID: 3
 AC Entropy Table: 1
 DC Entropy Table: 1
 Spectral Selection Start: 0
 Spectral Selection End: 63
 Sucessive Approximation High: 0
 Sucessive Approximation Low: 0
}
{ End Of Image }

 




Cette discussion est classé dans : table, codes, octets, jpeg, huffman


Répondre à ce message

Sujets en rapport avec ce message

huffman dans la norme JPEG [ par ouinih ] Bonjour,je suis entraine de faire un encodeur JPEG, et je n'arrive pas à comprendre l'encodage de huffman decrit dans la norme.Si vs connaissez des li VLC flux d'entré. [ par aziatedu13 ] bonjour,alors voila,je cherche a visualiser une vidéo sous VLC, en entré une adresse IP et un port de réception, entre d'autre terme de lire un flux v Utilisation de Memcpy et type de données [ par mush74 ] Bonjour,Un petit probleme (surement simple, étant nioub) a vous soumettre :Je dispose d'une structure de ce type :typedef unsigned short int   uint16; Editeur Hexadecimal [ par dayvid75014 ] Bonjour à tous,Vous voyez à quoi ressemble un éditeur héxadécimal? un logicilel qui vous affiche les octets contenu dans le fichier ; par exmple, j'ai Convertion de symbole en entier [ par dayvid75014 ] Bonjour à tous,   Voici mon problème : lorsque j'affiche les octets constituant un flux élémentaire d'une vidéo (tel que le ferait un éditeur hexa PCL & RASTER [ par pipocodesrc ] Bonjour à tous, j'aimerai savoir si il existe un exemple en C/C++/Java/.. pour ceonvertir une image(EMF/BMP/JPEG..) en PCL (raster) puis l'envoyer ver verrou [ par Grandeizer ] bonjour,quelqu'un sait il comment recuperer l'index d'une table qui est verrouillée ...je m'explique: je commencence une transaction et je verrouille codes sources Dijkstra et connexité forte [ par waffouta ] Saluuut tt le monde!!! Svp g besoins de votre aide. G 1 besoin urgent d 1 code pour l'algo de Djkstra et 1 code pour un prog ki reconné 1 graphe forte


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.