Aller au contenu

JFIF est un JPEG : ce que l’extension .jfif change

L’extension bizarre est la seule chose bizarre ici. Un fichier .jfif contient un JPEG ordinaire, et tout programme qui lit le JPEG le lit — le convertir en PNG ne rend pas l’image plus nette, car il ne reste rien à affûter.

JFIF signifie JPEG File Interchange Format, une spécification du début des années 1990 qui décrit comment envelopper un flux de données JPEG pour que différents programmes s’accordent sur ce que signifient les pixels. L’enveloppe est un petit bloc de marqueur — le marqueur APP0 — en tête du fichier, consignant le rapport d’aspect des pixels et parfois une vignette. Tout ce qui suit est du JPEG ordinaire.

D’où vient l’extension

L’extension .jfif est une habitude de l’époque Windows. Certains appareils photo, certains téléphones et certains programmes Windows enregistrent les JPEG avec, et quelques-uns n’afficheront pas de vignette pour le même fichier si vous le renommez en .jpg. Les octets ne changent pas ; seul le nom change. C’est pourquoi un navigateur ouvre parfaitement un fichier .jfif si vous le glissez dans un onglet, et pourquoi les systèmes d’exploitation qui se fient à l’extension s’y perdent.

Ce que porte réellement le bloc de marqueur

MarqueurCe qu’il contient
APP0 (JFIF)Version, unité de densité (dpi ou points par cm) et rapport d’aspect des pixels.
APP0 (autre)Un bloc propre au fournisseur — certains appareils photo y écrivent le leur.
APP1 (Exif)Métadonnées d’appareil photo : exposition, date, orientation, parfois GPS.
Tout ce qui suitLe flux de données JPEG : tables de quantification, tables de Huffman et l’image compressée.

Cet outil n’a pas besoin de lire ce bloc pour convertir le fichier. .jfif figure dans la même liste d’acceptation que .jpg et .jpeg, le convertisseur traite donc ces quatre extensions comme un seul format. Le seul endroit où le marqueur est examiné est la visionneuse de métadonnées, qui le lit et signale quelque chose comme JFIF 1.02, 72 dpi — et qui conserve le marqueur quand elle retire d’autres métadonnées, parce que le bloc JFIF décrit comment interpréter les pixels.

Ce que la conversion en PNG peut et ne peut pas faire

Un JPEG est avec perte : des détails ont été jetés à l’enregistrement, et ils ne sont stockés nulle part ailleurs. Décoder le fichier rend exactement les pixels qui ont survécu. Écrire ces pixels dans un PNG les stocke sans perte supplémentaire — le PNG paraît donc identique au JPEG, et souvent plusieurs fois plus lourd parce que PNG refuse d’émousser quoi que ce soit pour gagner en taille.

Ce dernier point est la vraie raison de convertir. Si vous vous apprêtez à modifier un JPEG, travaillez sur un PNG ; si vous voulez seulement le stocker, le JPEG est déjà plus petit.

Les limites

En bref

Questions

Convertir un JFIF en PNG rendra-t-il l’image plus nette ?

Non. La netteté a été décidée lors de l’écriture du JPEG, et le décodage ne peut pas inventer un détail qui a été jeté. PNG stocke fidèlement le résultat décodé — il n’inverse pas la première compression.

Un fichier .jfif est-il juste un .jpg renommé ?

Effectivement oui. C’est un flux de données JPEG précédé d’un bloc d’en-tête JFIF, avec une extension que certains logiciels préfèrent. Navigateurs et éditeurs le lisent comme du JPEG ; seule l’extension est inhabituelle.

Pourquoi le PNG est-il bien plus lourd que le JFIF ?

Parce que JPEG compresse avec perte et PNG non. Le PNG contient les mêmes pixels sans compression supplémentaire, une photographie enregistrée en PNG est donc souvent plusieurs fois plus lourde.

Outils de cet article

Tous les articles