La structure d'un JPEG

La structure d'un JPEG


En 1992, le Joint Photographic Experts Group, un organisme de normalisation travaillant sur les formats d'image électroniques, a développé le format d'image JPEG maintenant couramment utilisé sur le Web et dans les caméras et d'autres appareils. L'une des caractéristiques notables de JPEG est son utilisation de la compression lossy sélectionnable par l'utilisateur, ce qui rend un fichier informatique d'image plus petite au détriment de la qualité de l'image. La structure du fichier JPEG comprend l'image elle-même, les types de compression, il a, de sa taille et des commentaires sur le fichier.

Segments et marqueurs

Un fichier JPEG contient plusieurs segments, chacun contenant différents types de données, délimités par des codes à deux octets appelés marqueurs. Les marqueurs sont hexadécimal, ou la base 16, les numéros commençant par un FF et se terminant par une cérémonie marquant le début ou la fin d'un type de données code. Par exemple, un fichier JPEG commence par le code FFD8, ce qui signifie "début de l'image" et se termine par FFD9, "fin de l'image.» D'autres codes comprennent FFFE, indiquant un commentaire et FFC4, qui marque le début d'une table de Huffman utilisé pour décoder l'image.

Codage

Informatique et autres images numériques sont des tableaux de pixels, de minuscules points ayant la couleur et la luminosité des valeurs spécifiques. Une image JPEG est non seulement une longue liste de ces valeurs; à la place, il code pour l'image, ce qui rend le fichier résultant d'environ un dixième de la taille, il serait sans encodage. La norme JPEG permet plusieurs techniques mathématiques différentes, certains qui ne portent pas atteinte à la qualité de l'image et sont appelés sans perte, telles que le codage Huffman, et certains qui dégradent l'image et sont appelés lossy, tels que le sous-échantillonnage et la transformation de l'espace couleur. Bien que les techniques lossy faire des images moins claires, le comité JPEG a choisi les techniques parce que les images ont tendance à cacher les détails perdus, ce qui rend le processus plus esthétique tolérable.

Byte farce

Dans un fichier de données, la probabilité d'avoir un octet de données avec la valeur FF est de 1 sur 256. Comme la norme JPEG utilise FF comme une partie d'un marqueur, les données à l'intérieur d'une image se confondent un programme de décodage l'image si elle rencontre un FF suivi d'un code connu de marque JPEG. Les JPEG offres de traitement avec ce par l'insertion d'un hexadécimale 00 après chaque FF dans les données d'image avant de l'enregistrer comme un nouveau fichier. Lorsqu'un programme décode l'image, il inspecte d'abord les données pour les octets de FF00 et les modifie de nouveau dans FFs.

segment Header

Un fichier d'image JPEG comprend un en-tête de segment, marqué par le code FFE0. Suite à cela est un nombre à deux octets qui est la longueur de l'en-tête y compris le nombre lui-même. L'en-tête contient des informations générales sur l'image, y compris le type de codage, les grands et petits numéros de version du type de codage, des informations de densité décrivant le nombre de pixels occupent une unité de longueur et la taille de la vignette de l'image.