Dictionnaire

Qu’est-ce qu’un encoding process JPEG ?

Encoding Process désigne la méthode qu'un fichier JPEG a utilisée pour compresser ses données d'image, comme baseline ou progressive. Elle est lue à partir des données de l'image elle-même.

encoding-process

Un encoding process est la méthode qui transforme une image en données d'image compressées. Dans un rapport de métadonnées, Encoding Process indique la méthode utilisée par un fichier JPG, par exemple Baseline DCT, Huffman coding.

La valeur comporte 2 parties. La première partie indique comment les données de l'image ont été compressées. La seconde partie indique comment le résultat a été compacté en bits.

Quels fichiers le portent

Encoding Process est un champ JPEG, et chaque image JPEG en possède un. La norme JPEG place cette information dans un en-tête court qui précède les données d'image compressées.

D'où vient la valeur

Aucun appareil photo ni programme n'écrit Encoding Process comme balise distincte. Un lecteur comme ExifTool déduit la valeur à partir du marqueur Start of Frame, qui ouvre cet en-tête. La norme JPEG définit un marqueur différent pour chaque encoding process.

Le même en-tête stocke aussi la largeur et la hauteur de l'image, le nombre de bits par échantillon et le nombre de composantes couleur. ExifTool déduit également le sous-échantillonnage de la chrominance à partir de cet en-tête.

Comme la valeur décrit la façon dont les données de l'image sont stockées, vous ne pouvez pas la modifier comme une balise normale. Encoding Process ne change que lorsqu'un programme enregistre de nouveau l'image avec d'autres paramètres.

À quoi ressemblent les valeurs

ExifTool affiche l'une de 13 valeurs. Selon la Library of Congress, les plus courantes sont baseline et progressive.

  • Baseline DCT, Huffman coding
  • Extended sequential DCT, Huffman coding
  • Progressive DCT, Huffman coding
  • Lossless, Huffman coding
  • Sequential DCT, differential Huffman coding
  • Progressive DCT, differential Huffman coding
  • Lossless, Differential Huffman coding
  • Extended sequential DCT, arithmetic coding
  • Progressive DCT, arithmetic coding
  • Lossless, arithmetic coding
  • Sequential DCT, differential arithmetic coding
  • Progressive DCT, differential arithmetic coding
  • Lossless, differential arithmetic coding

Ce que signifie chaque partie de la valeur

  • DCT signifie discrete cosine transform (transformée en cosinus discrète). Les processus JPEG basés sur la DCT sont avec perte : ils suppriment certains détails pour réduire la taille du fichier.
  • Baseline est le processus DCT de base. Il utilise 8 bits par échantillon et un codage Huffman.
  • Sequential signifie que chaque composante couleur est stockée en un seul passage (scan).
  • Extended sequential fonctionne comme baseline, mais autorise aussi 12 bits par échantillon et le codage arithmétique.
  • Progressive stocke l'image en plusieurs passages. Chaque passage améliore généralement la qualité, ce qui permet à un afficheur de montrer d'abord une image approximative puis de l'affiner.
  • Lossless n'utilise pas la DCT. L'image décodée est identique à l'originale.
  • differential appartient au mode hiérarchique. Ici, chaque image suivante stocke uniquement les différences par rapport à l'image précédente.
  • Huffman coding et arithmetic coding sont deux méthodes sans perte pour compacter les données en moins de bits.

Pourquoi cela est important pour votre fichier

La norme JPEG n'oblige pas chaque programme à prendre en charge tous les processus. Chaque décodeur DCT doit prendre en charge baseline, donc un fichier baseline est le choix le plus sûr lorsqu'une image doit s'ouvrir partout.

D'autres processus peuvent ne pas s'ouvrir dans certains programmes. Selon la Library of Congress, le processus lossless d'origine n'était pas largement pris en charge dans les applications. Une variante lossless avec codage Huffman est utilisée dans la version 1.1 du format brut DNG d'Adobe.

Une valeur contenant DCT vous indique que certains détails ont été supprimés lors de l'enregistrement de l'image. Réenregistrer le fichier ne restitue pas ces détails. Le champ décrit uniquement la façon dont l'image est stockée et ne contient aucune information personnelle.