JFIF - hackathonBnF/FichesFormat GitHub Wiki
Description
Cette fiche décrit le standard d’encodage et de compression d’images matricielles JPEG ainsi que son format conteneur le plus courant, JFIF. L’algorithme JPEG n’est applicable qu’aux images en couleur ou en niveaux de gris, non à celles binarisées. Il implique une compression forcément irréversible, appliquée à chaque enregistrement. Ce format est donc particulièrement adapté à un usage de diffusion.
Qualité et caractéristiques du flux
Le flux image compressé selon l'algorithme JPEG ne gère qu'une profondeur d'encodage maximale de 8 bits par couche. Par conséquent, les données encodant la couleur sur 16 bits par couche seront réduites à 8 bits lors de l'encodage.
L'algorithme de compression JPEG implique l'encodage des valeurs RVB dans un modèle couleur YCbCr. La compression JPEG se fonde sur le fait que l’œil humain est moins sensible aux variations de teinte qu'aux variations de luminosité et sous-échantillonne généralement les composantes de chrominance. Les valeurs de sous-échantillonnage de la chrominance peuvent être 4:4:4 (pas de sous-échantillonnage), 4:2:2 ou 4:2:0.
Sociabilité
Le format JFIF est très largement utilisé pour la diffusion des images en ligne. À la date de rédaction de ce document (2021), il était néanmoins légèrement moins répandu que le format PNG (voir sur le site de W3Techs, Usage of File Formats for websites).
Relations à d'autres formats
Versions
Il existe une méthode de compression sans perte décrite dans la norme ISO/IEC 14495, mais son usage est très limité.
Contenu
Les fichiers JFIF contiennent plusieurs segments, introduits par des marqueurs sur deux octets (en hexadécimal, '0xFF' puis un octet spécifique au segment). Les images JFIF peuvent contenir une vignette dans un segment de marqueur APP1.
Documents de référence
Eric Hamilton, JPEG File Interchange Format version 1.02, 1er septembre 1992. Disponible sur https://www.w3.org/Graphics/JPEG/jfif3.pdf (consulté le 03/12/2020). La méthode de compression JPEG est décrite par les normes ISO/IEC 10918 et ISO/IEC 14495 (compression sans perte).
Identifiants
Extension : les extensions les plus courantes sont .jpeg
et .jpg
, mais on trouve également .jfif
, .jpe
et .jif
.
Type MIME : image/jpeg
.
Registre | Identifiant |
---|---|
Wikidata | Q26329975 |
Bibliothèque du Congrès | fdd000018 |
PRONOM | fmt/42 (version 1.00), fmt/43 (version 1.01), fmt/44 (version 1.02) |
Caractéristiques techniques
Tous les visualiseurs n’étant pas à même de traiter correctement des fichiers JPEG dans un espace couleur CMYK ou CIE L*a*b*
, il est recommandé d’utiliser l’espace couleur RGB.
Si la BnF est amenée à convertir en JFIF des photographies numériques livrées dans d'autres formats, elle n'appliquera pas de compression en plus de celle directement issue de l'algorithme.
Le taux de compression des images JPEG est défini par plusieurs paramètres dont les plus importants sont :
- L'indice de qualité (de 0 à 100, une valeur de 80 étant souvent adoptée comme valeur par défaut des outils d'édition d'image). Il faut noter qu'en cas de ré-enregistrement, donc de ré-encodage JPEG, il est inutile d'appliquer un indice de qualité plus haut que celui choisi lors du premier enregistrement. Cela n'aurait pour effet que d'augmenter le poids de l'image sans gain de qualité.
- Le sous-échantillonnage de la chrominance. Trois modes de sous-échantillonnage sont disponibles :
- 4:4:4 (pas de sous-échantillonnage, qualité maximale donc), exprimé de la manière suivante : "1x1,1x1,1x1"
- 4:2:2, exprimé de la manière suivante "2x1,1x1,1x1 (4:2:2)"
- 4:1:1 (sous-échantillonnage maximal), exprimé de la manière suivante : "2x2,1x1,1x1".
L'algorithme de compression JPEG permet de choisir entre plusieurs modes, notamment « Baseline » et « Progressive ». Ce dernier mode optimise l'affichage pour le web en contenant un nombre paramétrable de niveaux (scans) de précision croissante, qui sont successivement chargés par le navigateur. Ce mode, quoique augmentant légèrement le poids de l'image, la rend plus résiliente car une altération sur un des scans n'affecte pas les autres (CPO-ROB). Il est donc appréciable dans une perspective de préservation à long terme.
Métadonnées internes
Le format conteneur JFIF peut embarquer des flux complémentaires au flux image JPEG (informations sur la résolution et métadonnées aux formats EXIF, IPTC et XMP).
Outils connus par la BnF
Les outils utilisés par la BnF sont les suivants :
- pour la caractérisation et la validation : module JPEG de JHOVE ;
- pour la visualisation : XnView.
Quoique non testé par la BnF, le logiciel Bad Peggy est utilisé par certaines institutions de conservation pour identifier des fichiers JFIF dont le flux JPEG a été altéré (voir à ce sujet le billet de blog d'Yvonne Tunnat, « Error detection of JPEG files with JHOVE and Bad Peggy – so who’s the real Sherlock Holmes here? » sur le blog d'Open Preservation Foundation, 29 novembre 2016).
Usage ou présence dans les collections de la BnF
Le format JPEG a été utilisé pendant une dizaine d'années pour la numérisation de pages couleur, il a ensuite été remplacé par le TIFF non compressé, puis par le JPEG 2000.