Quels sont les avantages d'utiliser un format de fichier image particulier?

11

Si je modifie un fichier image à l'aide d'une application comme GIMP, Photoshop ou MS Paint , lors de l'enregistrement, il me sera demandé de sélectionner le format de fichier requis. Il existe différents formats disponibles, les plus courants sont JPEG , PNG et BMP , GIF et TIFF . Avec certains programmes, il existe encore plus de formats comme JP2 .

Alors, quelle option dois-je sélectionner? Quels sont les avantages et les inconvénients de l'utilisation d'un format de fichier particulier?

AIB
la source
J'espère que ma modification ne viole rien de ce qui a été dit dans "Est-ce que le jeu est le système pour modifier une question à laquelle vous avez également répondu?" - Si c'est le cas, n'hésitez pas à le faire reculer. Intention de montage: C'est une bonne question qui avait un titre trop spécifique (à mon humble avis), d'autant plus que HEIF et d'autres formats commencent à se généraliser.
flolilo
@flolilolilo Je ne pense pas que ce soit un problème ici .. Je suis un peu inquiet que cela obtienne moins de trafic de recherche organique et que nous devions faire plus de fermeture manuelle des doublons, mais, hein.
Veuillez lire mon profil
@mattdm Désolé, je ne voulais pas introduire plus de travail ici! Je pensais juste que "devrais-je utiliser JPEG, BMP ou PNG" laissé la porte ouverte à ... enfin, tous les autres codecs. Si ce n'est que moi, il n'est pas nécessaire de le garder ainsi.
flolilo

Réponses:

12

JPEG

JPEG est avec perte, ce qui signifie qu'il comprime l'image (en partie) en éliminant les données. Les données qu'il rejette sont (normalement) choisies pour minimiser l'effet sur la qualité de l'image, mais elles perdent (pratiquement) toujours au moins un peu de qualité - et selon le niveau de qualité que vous choisissez, elles peuvent perdre un peu. Pour la plupart des photographies, il doit être considéré comme un format d'affichage uniquement - une fois que vous avez converti quelque chose en JPEG, vous ne voulez plus y apporter de modifications. Si vous devez apporter des modifications, vous redémarrez à partir d'un autre format, effectuez les modifications et effectuez une autre conversion JPEG.

JPEG 2000, JPEG XR

Il existe des versions plus récentes de la spécification JPEG. Ils définissent de nouvelles formes de compression d'image qui peuvent généralement offrir un meilleur compromis entre la taille du fichier et la qualité de l'image - votre choix de la même qualité avec un fichier plus petit, ou de meilleure qualité avec à peu près la même taille de fichier. Ils prennent également en charge une résolution couleur plus élevée (par exemple, 16 bits par canal et des formats à virgule flottante pour prendre en charge une plage dynamique élevée). D'un point de vue technique, ils sont extrêmement attractifs. Le gros inconvénient est que peu de programmes savent les lire, les afficher, les manipuler ou les écrire.

HEIF

Comme TIFF, HEIF est vraiment un format conteneur, qui peut contenir des images encodées avec différentes méthodes (principalement h.265, mais aussi h.264 et JPEG). Il offre un meilleur rapport qualité / taille de fichier que le JPEG d'origine. Comme TIFF (ou GIF), vous pouvez regrouper toute une séquence d'images dans un seul fichier. Bien qu'il y ait eu une grande fanfare lorsque HEIF a été introduit en 2014, avec de nombreuses proclamations sur la façon dont il allait finalement être le format qui a tué JPEG, la plupart de l'excitation semble avoir disparu sans qu'il ait déplacé JPEG de manière significative.

BPG

BPG est un format conçu par le programmeur toujours prolifique Fabrice Bellard. Il est similaire à HEIF en étant essentiellement un conteneur pour une image encodée en h.265. Le wrapper est un peu différent, cependant, donc les deux ne sont pas compatibles l'un avec l'autre. D'un point de vue photographique, cependant, le BPG présente un avantage assez important: il prend directement en charge l'intégration de données EXIF ​​dans le fichier image.

JPEG sans perte

Bien que ce que nous considérons normalement comme JPEG soit avec perte, les spécifications JPEG définissent également des formats de fichier qui utilisent également la compression sans perte. Étant donné que la compression est sans perte, ils ne produisent généralement pas autant de fichiers que la compression JPEG normale, mais ils font vraiment bien pour la compression sans perte - bien mieux que la compression à usage général comme le codage LZW ou Huffman espèrent normalement même sur les photographies. Comme JPEG 2000 et JPEG XR, ceux-ci fonctionnent bien, mais souffrent d'un manque de support.

GIF

GIF utilise uniquement la compression sans perte, mais est limité aux couleurs 8 bits (256), ce qui est assez limitant pour les photographies.

PNG

PNG a été conçu pour remplacer GIF et réussit principalement. Il prend en charge la couleur 24 bits (8 bits chacun pour le rouge, le vert et le bleu) et utilise une compression sans perte. Il a la résolution de couleur nécessaire pour les photographies, mais la compression qu'il utilise a tendance à être assez inefficace pour la plupart des photographies, donc les fichiers finissent par être assez volumineux. L'autre gros inconvénient du PNG est qu'il ne définit pas un moyen de stocker des données EXIF ​​(ou similaires), donc si vous l'utilisez pour stocker des photos, vous devez stocker les métadonnées séparément. Cela peut être bien pour votre propre usage, mais signifie qu'il sera généralement perdu si vous l'utilisez sur une page Web, ou quelque chose comme ça.

TIFF

TIFF est vraiment un format de conteneur qui vous permet d'insérer différents types de données dans le conteneur. Bien qu'il soit principalement utilisé pour les images, il ressemble vraiment à un système de fichiers, vous pouvez donc théoriquement l'utiliser pour presque n'importe quel type de données. Cela a quelques conséquences. La première est que même si un programme prend en charge les fichiers TIFF, il peut ne pas prendre en charge tous les fichiers TIFF - par exemple, beaucoup ne prennent pas en charge les images compressées LZW. En fait, peu de programmes prennent en charge tous les fichiers TIFF possibles. Une autre conséquence est que le TIFF a tendance à avoir une bonne quantité de surcharge, et écrire du code pour prendre en charge le TIFF (du moins bien) est une douleur (c'est pourquoi tant de programmes ne le supportent que de manière incomplète).

BMP

BMP est fondamentalement juste une image bitmap indépendante du périphérique Windows écrite sur le disque. Il n'a qu'un support extrêmement limité pour la compression (et la plupart des BMP ne sont pas compressés du tout). Les programmes écrits pour Windows peuvent lire / écrire BMP très facilement, mais il n'y a pas grand-chose d'autre à recommander (en particulier, les fichiers BMP ont tendance à être assez volumineux pour la quantité de données stockées). BMP n'a aucun moyen de stocker des métadonnées EXIF ​​(ou similaires). BMP est un peu comme PNG, mais plus spécifique à Windows.

Conclusion

JPEG est utile comme format de sortie (par exemple, pour afficher des choses sur des pages Web, c'est bien parce qu'il est compact et pratiquement tout le monde peut le lire).

TIFF est fréquemment utilisé comme format intermédiaire pour (par exemple) stocker un fichier qui pourrait être modifié ultérieurement.

La limitation de 256 couleurs rend le GIF presque inutilisable pour les photographies. BMP et PNG sont fondamentalement inoffensifs pour la photographie elle-même, mais ne peuvent pas stocker de métadonnées, et la compression qu'ils utilisent est rarement très efficace pour les photographies (bien que les prix de stockage soient maintenant suffisamment bas pour que beaucoup de gens ne s'en soucient pas beaucoup).

Jerry Coffin
la source
4
PNG prend en charge 32 bits, car il prend également en charge 8 bits de canal alpha. Pas si important pour stocker des photographies complètes, mais si par exemple générer une image à utiliser sur une page Web, le canal alpha 8 bits pourrait être vraiment important.
Pete
Pourquoi le PNG n'est-il pas utile pour les photographies?
Clickety Ricket
1
@ClicketyRicket: J'ai modifié pour ajouter un peu plus d'informations qui, je l'espère, expliquent mieux la situation.
Jerry Coffin
@JerryCoffin Pensez-vous que vous pourriez ajouter quelque chose sur JPEG XR, et peut-être HEIF?
Veuillez lire mon profil
@mattdm: semble raisonnable.
Jerry Coffin
5

En général, je dirais que vous souhaitez probablement enregistrer dans un format qui prend en charge les métadonnées, sauf si vous avez une raison impérieuse de faire autrement. À cet égard, jpeg et tiff sont les deux formats les plus courants pour la photographie en dehors de RAW + XMP ou DNG.

J'ai utilisé le PNG dans certains de mes portefeuilles en ligne, car j'ai pris le temps d'arrondir les coins de mes images réduites pour une exposition plus agréable et de faire quelque chose pour distinguer mon travail des autres. L'inconvénient est que PNG ne prend pas en charge les métadonnées. Cela m'a limité à bien des égards, car la plupart des meilleurs sites de photos en ligne prennent en charge l'extraction et l'affichage automatiques des métadonnées (c'est-à-dire Flickr).

Pour être plus explicite ... lorsque vous exposez des versions à échelle réduite de votre art en ligne, comme sur Flickr, DeviantArt, 1x, RedBubble, etc ... il est probablement préférable d'utiliser JPEG comme format de sortie final. Ces fichiers sont de bonne qualité mais très compacts et prennent en charge les métadonnées. Pour le stockage à long terme des originaux, je recommanderais RAW + XMP, DNG ou TIFF, car tous ces formats effectuent une compression sans perte et conservent également les métadonnées. TIFF pourrait être le meilleur choix pour vous si vous utilisez Gimp. J'ai moi-même utilisé RAW + XMP, car j'aime avoir mes fichiers bruts d'origine ... mais j'ai également envisagé de tout convertir en DNG pour simplifier la gestion des fichiers.

jrista
la source
5

Préparez-vous à un immense poste - oui, cela est devenu incontrôlable ...

Xkcd obligatoire:

xkcd # 927 "Normes"

Malheureusement, il n'existe pas de «meilleur» format simple. Certains sont très bien supportés, certains offrent une polyvalence extrême, certains offrent une compression sans perte, ...

La première partie de cette réponse ("Fonctionnalités" & "Bref aperçu des formats") parlera de détails techniques, tandis que la deuxième partie ("(Autres) choses à considérer") est plus orientée vers les aspects pratiques du choix du format. .


Caractéristiques:

Veuillez noter qu'il est presque impossible d'inclure chaque hack dans chaque format - par exemple, les GIF peuvent être enregistrés sans compression en ignorant la table LZW. Pourquoi je ne mentionne pas cela ci-dessous? Parce que 99% de tous les GIF que j'ai jamais rencontrés utilisaient LZW, parce que LZW est aujourd'hui une évidence en matière de puissance de calcul, et parce que ce post essaie de clarifier la situation pour les situations populaires, pas pour le département R&D d'ILM. Les photographes utiliseront leurs fichiers pour l'archivage, la publication et l'impression, ce sont donc les choses que je considère ici.

Les informations ont été recoupées entre les articles Wikipédia respectifs, les spécifications, la comparaison de Wiki et la liste de support des métadonnées d'exiftool .

               |  Bits per  |                          |     Supported by 
 Codec | Lossy |  Channel   |   Metadata    | Channels |       Programs       | Good for (IMHO)
-------------------------------------------------------------------------------------------------
  BMP  |   n   |    <= 8    |      -        |   RGBA   | Most propr. & free   | Archival
  BPG  |   y   |   <= 14    |   EXIF+XMP    |   RGBA   |                      | 
  EXR  |   o   |   <= 32    |     y(?)      |  RGBAD   |                      | VFX workflow
  FLIF |   o*  |   <= 16    |   EXIF+XMP    |   RGBA   |                      | To be seen
  GIF  |   n   |   <= 8*    |      XMP      |   RGB    | Most propr. & free   | GIFs ;-)
  HEIF |   o*  |   <= 16    |   EXIF+XMP    | RGB(A/D) |                      | To be seen
  JPEG |   y*  |    <= 8    | EXIF+IPTC+XMP |   RGB    | ~ all propr. & free  | Online; Easy access
  JP2K |   o   |   <= 32    | EXIF+IPTC+XMP |   RGBA   |                      | 
  JXR  |   o   |   <= 32    | EXIF+IPTC+XMP |   RGBA   |                      | 
  PNG  |   n   |   <= 16    | EXIF+IPTC+XMP*|   RGBA   | Most propr. & free   | CAD-drawings; Online
  TGA  |   n   |    <= 8    |     y(?)      |   RGBA   |                      | 
  TIFF |   o   |   <= 32    |   EXIF+XMP    |   RGBA   | Most propr. & free   | Archival; Editing
  WebP |   o   |    <= 8    |   EXIF+XMP    |   RGBA   |                      | 

Légende : o... facultatif; n... indisponible; y... disponible; D... Profondeur; *... Regardez ci-dessous selon le texte.


Bref aperçu des formats:

BMP

 Feature      | 
-----------------------------------------------------------------
 Introduced   | 1990
 Open + Free  | Both per Microsoft's Open Specification Promise
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 1:0:0[:0], 5:6:5, 8:8:8[:8]
 Compression  | None [RLE in 5:6:4] (so: lossless)
 Maximum Size | 4 GiB
 Metadata     | [ICC]
 OS support   | Virtually all OSs with a graphical interface

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

Les fichiers `` bitmap '' sont codés en lignes et ne sont généralement pas compressés, donc un retournement de bit unique ne détruira qu'une seule ligne de l'image Tant qu'il ne retourne pas l'en-tête, ce qui rendra le décodage plus difficile - essayez-le par vous-même avec un HEX éditeur! . Comme il n'offre pas de (bonne) compression, les tailles de fichiers sont énormes, car il doit enregistrer les informations complètes pour chaque pixel. En raison de sa rigidité, il peut être bon pour l'archivage à long terme.


BPG

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 2014
 Open + Free  | Yes (but HEVC patents might be problematic)
 Colorspace   | R:G:B[:A] (4:4:4[:4]); Y:Cb:CR[:A] (4:2:0[:4] - 4:4:4[:4]);
              | Y:Cg:Co[:A] (4:2:0[:4] - 4:4:4[:4]); C:M:Y:K (4:4:4:4)
 b/c/p        | 8 - 14
 Compression  | HEVC (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through browser decoding)

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

«Better Portable Graphics» (BPG) utilise HEVC, que vous connaissez peut-être grâce au codec vidéo h.265 . Il était censé être le successeur de JPEG, mais n'a jamais été assez populaire. Avec l'essor du HEIF, qui est assez similaire à certains égards mais plus populaire, il est plausible que le HEIF soit préféré. HEVC est de loin supérieur en termes de compression par rapport au DCT JPEG - cependant, il ne se compare pas bien à tous mais aux débits inférieurs, car il a tendance à être flou.


EXR

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 1999
 Open + Free  | Yes
 Colorspace   | R:G:B[:A][:D] (4:4:4[:4][:4])
 b/c/p        | <= 32
 Compression  | [RLE]; [ZIP]; [PIZ]; ... [lossless (usual) / lossy]
 Maximum Size | > 4 GiB
 Metadata     | [Yes (XMP-style)]
 OS support   | Linux, Mac, Windows (through library)

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

OpenEXR a été conçu par Industrial Lights and Magic (ILM) comme format intermédiaire pour les workflows VFX. Il peut contenir plusieurs canaux à des profondeurs de bits très élevées, plusieurs images et métadonnées dans un seul fichier. Il propose différents algorithmes de compression - ou pas de compression du tout. L'EXR peut être comparé au TIFF - EXR offre plus d'options, tandis que le TIFF est de plus en plus populaire.


FLIF

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 2015
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4]) (CMYK and YCbCr in ToDo-List)
 b/c/p        | <= 16
 Compression  | MANIAC (variant of CABAC, used in AVC/HEVC) (lossless / lossy (1st generation))
 Maximum Size | > 4 GiB
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (through provided viewer)

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

Le «Free Lossless Image Format» (FLIF) utilise un dérivé de la compression HEVC sans perte. FLIF prétend avoir des taux de compression extrêmes par rapport à tous les autres formats de l'époque - alors que mes propres tests m'ont amené à le croire, il a vraiment besoin de puissance de calcul pour être utilisable (plusieurs minutes de temps d'encodage pour une seule image 24 MP avec une hyperthreaded 4,3 GHz hexacore n'est pas si bon: D) . Cependant, comme il s'agit d'un jeune codec, des améliorations pourraient être apportées. Il prend en charge les animations, les canaux alpha, le décodage progressif et même l'encodage avec perte (sans perte de génération supplémentaire après le premier encodage). Seul le temps montrera s'il réussira, et pour être honnête, je l'espère, car il semble offrir une solution unique pour de multiples problèmes.


GIF

 Feature      | 
---------------------------------------------------------------------
 Introduced   | 1987
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 2 (palette of 256 colors in total)
 Compression  | LZW (lossless)
 Maximum Size | < 4 GiB
 Metadata     | [XMP]
 OS support   | Virtually all OSs with a graphical interface

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

Alors que le "Graphics Interchange Format" (GIF) offre 8 bits par canal par pixel, il les réduira à une palette de couleurs de 256 couleurs (qui peut inclure une "couleur d'arrière-plan"). Il est principalement utilisé pour les animations - la seule chose que PNG ne peut pas faire mieux, car PNG en lui-même n'offre pas de support d'animation.


HEIF

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2015
 Open + Free  | No (patents)
 Colorspace   | ? Y:Cb:Cr[:A/:D] (4:2:0[:4]) ?
 b/c/p        | <= 16
 Compression  | HEVC (lossy)
 Maximum Size | < 4 GiB
 Metadata     | [EXIF]; [XMP]
 OS support   | Linux, Mac, Windows

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

Le «format d'image haute efficacité» (HEIF) utilise également HEVC pour la compression. En plus des canaux de couleur, il peut également contenir un canal alpha ou une carte de profondeur (utilisé pour les effets de profondeur de champ logiciels ultérieurs ). De plus, une édition rudimentaire peut se produire sans perte. Selon les spécifications, il dispose également d'un mode de compression sans perte. Étant donné que tous les principaux systèmes d'exploitation le prennent en charge, il semble être le concurrent le plus probable pour une succession de JPEG (s'il en existe un).


JPEG

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1991
 Open + Free  | Sort of (free library, but patent might apply)
 Colorspace   | Y:Cb:Cr (4:2:0 (typical) - 4:4:4)
 b/c/p        | 8
 Compression  | DCT (lossy)
 Maximum Size | < 2 GiB
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Virtually all OSs with a graphical interface

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

Le «Joint Photographic Experts Group» (JPEG) est sans doute le format d'image le plus utilisé aujourd'hui. Il utilise la transformation discrète en cosinus (DCT), qui est du type à perte. Il existe une spécification sans perte, mais elle n'est pas utilisée trop souvent. Certains programmes peuvent effectuer certaines actions rudimentaires (par exemple la rotation) sans perte, bien que cela nécessite également que la largeur et la hauteur de l'image soient divisibles par 8 (la taille de bloc de JPEG) - par exemple 800x640 fonctionnera, 804x643 ne fonctionnera pas. JPEG n'a pas d'option pour enregistrer les images en RVB - il transforme l'image en espace colorimétrique YCbCr et réduit souvent les informations sur les pixels de 4: 4: 4 (chaque pixel a tous les canaux) à 4: 2: 0 (chaque canal a une luminance, mais seulement chaque 4 ème pixel obtient une valeur Cb / Cr). Comme pour la plupart des conversions d'espace colorimétrique, cela peut entraîner des différences perceptibles, en particulier dans les couleurs extrêmes. JPEG est rapide à encoder et pas trop mal dans des paramètres de haute qualité, mais pour moi, les choses mentionnées ci-dessus ne me feraient pas pleurer si jamais elles disparaissaient - cela nous a bien servi, mais les formats d'image utilisés pourraient être un peu plus ... récent. Après tout, les ordinateurs ont bien évolué depuis 1991.


JP2k

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2000 (duh...)
 Open + Free  | No (patents)
 Colorspace   | ? Y:Cb:Cr[:A] (4:4:4[:4]) ?
 b/c/p        | 8 - 32
 Compression  | Wavelet (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through viewer programs)

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

'JPEG 2000' (JP2k ou JP2) est le successeur officiel de JPEG. Il utilise des ondelettes au lieu du DCT, qui offre moins d'artefacts en blocs et est globalement plus polyvalent que JPEG. Malgré tout cela, il n'a jamais vraiment rattrapé JPEG.


JXR

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2009
 Open + Free  | Yes (Microsoft Open Specification Promise)
 Colorspace   | Y:Cb:Cr[:A] (4:2:0[:4] - 4:4:4[:4]); Y:Cg:Co[:A] (? 4:2:0[:4] - 4:4:4[:4] ?);
              | C:M:Y:K [4:4:4:4]
 b/c/p        | 8 - 32 (16 for CMYK)
 Compression  | DCT (lossy / lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through viewer programs)

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

«JPEG Extended Range» (JPEG XR, JXR) est une autre tentative pour réussir JPEG. Son espace colorimétrique YCgCo est supérieur à YCbCr car il est entièrement réversible. Bien que certains logiciels le prennent en charge, il n'a jamais été aussi proche de la renommée d'autres formats.


PNG

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1996
 Open + Free  | Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | 8 - 16
 Compression  | DEFLATE (lossless)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [IPTC]; [XMP]
 OS support   | Virtually all OSs with a graphical interface

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

«Portable Network Graphics» (PNG) a été introduit en tant que successeur de GIF. Bien qu'il soit sans perte par conception, les fichiers PNG peuvent être optimisés avec plusieurs outils, dont certains compresseront le fichier de manière perdue. PNG utilise la compression DEFLATE, il est donc assez efficace pour les graphiques (comme les dessins CAO, les captures d'écran, ...), mais moins efficace pour les photographies. Bien qu'il offre un support pour les métadonnées, certains programmes ont du mal à les lire. Merci pour l' avertissement , @mattdm !


TGA

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1984
 Open + Free  | ? Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4])
 b/c/p        | <= 8
 Compression  | RLE (lossless)
 Maximum Size | ? < 2 GiB
 Metadata     | Rudimentary
 OS support   | ? Virtually all OSs with a graphical interface

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

«Truevision TGA» / «TARGA» (TGA) est un format fie que je n'ai inclus que parce que tout le monde semble le savoir. Il a été introduit en 1984. Il prend en charge la compression sans perte (RLE) qui fonctionnera bien pour les graphiques, mais pas si bien pour les photographies.


TIFF

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 1986
 Open + Free  | ? Yes
 Colorspace   | R:G:B[:A] (4:4:4[:4]); Y:Cb:Cr[:A] (? 4:2:0[:4] - 4:4:4[:4] ?);
              | C:M:Y:K (? 4:4:4:4 ?); L:a:b[:A] (? 4:4:4:[A] ?)
 b/c/p        | 8 - 32
 Compression  | [LZW (lossless)]; [ZIP (lossless)]; [JPEG (lossy)]
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Virtually all OSs with a GUI support >= 1 of the compression types

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

Le 'Tagged Image File Format' (TIF ou TIF) existe également depuis longtemps. Il offre un support de couche (c'est-à-dire plusieurs images RGBA empilées). Les fichiers TIFF sont souvent utilisés comme fichiers intermédiaires car ils sont largement pris en charge et assez flexibles en termes de capacités.


WebP

 Feature      | 
----------------------------------------------------------------------
 Introduced   | 2010
 Open + Free  | Yes
 Colorspace   | R:G:B:A (4:4:4[:4]) lossless; Y:Cb:Cr[:A] (4:2:0[:4]) lossy
 b/c/p        | 8
 Compression  | VP8 (lossless / lossy)
 Maximum Size | ?
 Metadata     | [EXIF]; [ICC]; [XMP]
 OS support   | Linux, Mac, Windows (at least through browser decoding)

Légende : b/c/p... bits par canal (par exemple R, G, B) par pixel. les choses [ ]sont facultatives; ?... deviner instruit / aucun indice.

'WebP' utilise VP8 (un format rival open source à AVC). Comme avec BPG, il n'a jamais fait le saut dans les appareils grand public, bien qu'il semble qu'il soit utilisé par de nombreux services Internet.


(Autre) Points à considérer:

Réencodage (perte de génération)

Le recodage d'un fichier sans perte ne changera rien - le recodage d'un fichier avec perte entraînera presque certainement des artefacts. JPEG peut gérer cela assez bien si vous enregistrez le fichier dans le même paramètre de qualité qu'auparavant.

Cette vidéo montre assez bien la perte de génération - la première image montre le fichier d'origine, tandis que toutes les autres montrent une recompression avec différents paramètres de qualité. (Notez que FLIF est en mode avec perte, donc la première image sera différente.)

Les artefacts ne seront pas nécessairement une condamnation à mort - par exemple pour une publication Web rapide ou un aperçu sur des appareils mobiles, ce n'est peut-être pas trop mal.

Longévité du codec

En écrivant cette réponse, je me suis dit "qui utiliserait TARGA de nos jours, de toute façon?" et ça m'a fait réfléchir: je n'hésiterais jamais à conduire une voiture fabriquée dans les années 80. Je n'hésiterais pas à regarder des photos prises dans les années 80. J'utiliserais n'importe quel appareil photo fabriqué à cette époque. Mais je n'utiliserais pas un codec aussi ancien. Pourquoi?

En fin de compte, il n'y a aucun moyen sûr de dire si un codec ou l'autre survivra à un certain laps de temps. Si HEIF devait remplacer JPEG sur tous les appareils grand public demain, combien de temps faudrait-il pour que les programmes cessent de prendre en charge JPEG? Combien de générations d'ordinateurs - et plus important encore: les systèmes d'exploitation - y aura-t-il avant que vous ne puissiez plus les ouvrir?

D'un autre côté, les codecs relativement simples comme TARGA ne demandent que des programmes relativement simples pour les lire, tandis que les codecs modernes et leurs décodeurs ont de multiples dépendances. Ainsi, bien que la simplicité soit mauvaise pour la compression, elle pourrait être bonne pour l'archivage dans un scénario apocalyptique. Merci @lijat de l' avoir signalé!

À mon avis, cela nécessite plusieurs angles à considérer: quel codec est assez populaire pour que le support ne tombe pas immédiatement? Quel codec est pris en charge par la communauté open source (car personne ne conservera les formats propriétaires d'une entreprise en faillite)? En outre, il semble qu'au moins toutes les décennies environ, on devrait voir s'il est nécessaire de passer à un nouveau codec mieux pris en charge (voir "Réencodage (perte de génération)") - vous ne voudriez pas, par exemple, votre collection TARGA sera illisible demain, non?

Au fait, cela est particulièrement inquiétant lorsque l'on pense aux fichiers RAW .

Support de programme (Longévité # 2)

Le codec le plus populaire et le meilleur ne sera pas assez bon si vous ne pouvez pas l'utiliser. Et même si je n'utiliserais pas de codecs inférieurs simplement parce qu'un programme particulier ne le prend pas en charge, il pourrait être mauvais d'utiliser un codec pris en charge correctement par un seul programme.

De quelles fonctionnalités ai-je besoin?

Personnellement, j'encode toujours la plupart de mes fichiers en JPEG - je peux les lire sur n'importe quel appareil et je peux à peine (voire pas du tout) voir les artefacts. 8 bits est assez bon pour la plupart des appareils et les canaux alpha ne sont pas vraiment nécessaires lors de la visualisation des images.

Pour tous les fichiers qui ne sont pas de type "édition unique", je conserve mes RAW ou au moins les TIFF 16 bits afin qu'ils soient toujours utilisables à l'avenir.

PSD? DNG?

"Photoshop Document" (PSD) est le format de style TIFF de Photoshop. Techniquement, il est assez similaire au TIF. Il existe également PSB, qui est la même chose uniquement pour les tailles de fichier supérieures à 4 Gio. Il n'y a rien de mal à l'utiliser, mais personnellement, je préfère le TIFF autant que possible.

"Digital Negative" (DNG) est une tentative de création d'une norme RAW ouverte. Bien que j'adore l'idée et qu'elle fonctionne plutôt bien, notez que certains éditeurs RAW ont des problèmes avec eux - par exemple, Capture One oublie généralement la balance des blancs de l'appareil photo, réglant ainsi le curseur sur 5000K, quelle que soit la valeur réelle. Dans le passé, d'autres programmes les ont montrés sous forme d'images blanches ou roses unies ou leur ont donné une teinte magenta. Si la taille du fichier ne vous concerne pas, vous pouvez inclure le RAW d'origine dans votre DNG - si vous en avez besoin à nouveau, vous pouvez simplement l'extraire à nouveau. Mes 2 cents? Essayez-le avec votre logiciel préféré - et s'il fonctionne bien, utilisez-le.

D'autres formats?

Comme cela était déjà devenu incontrôlable, je ne voulais pas aborder encore plus de formats d'image. Cependant, cela ne signifie pas que ceux qui ne sont pas répertoriés ne valent pas la peine d'être pris en considération.

flolilo
la source
Anecdote: Je viens de réaliser que "Notre DSP n'est pas optimisé pour les codecs autres que JPEG" est une excuse paresseuse aujourd'hui, car la plupart des caméras offrent une sorte de codec avancé (AVC / HEVC) pour leurs capacités vidéo.
flolilo
1
Comme vous l'avez écrit sur le format de support, je pense qu'il convient de mentionner que plus un format est simple, plus il est facile de le conserver. C'est un gros avantage pour des choses comme la targa non compressée qui est assez simple pour qu'un étudiant en programmation écrive un décodeur dans un après-midi (ce qui signifie que même si tous les logiciels de support ont été perdus, il pourrait être facilement recréé à bas prix).
lijat
2

J'enregistre mes images éditées au format TIFF avec compression LZW. J'utilise Gimp pour éditer et j'ai des scripts basés sur ImageMagick qui convertissent les TIFF en JPG de différentes tailles et niveaux de qualité pour une utilisation Web, l'impression, etc. Je m'attends à ce que PNG fonctionne également; J'ai choisi entre ces choix il y a plusieurs années et j'ai oublié pourquoi j'ai choisi TIFF. (Peut-être que c'était le problème de métadonnées que d'autres répondants ont mentionné, ou peut-être que la sortie PNG d'ufraw était trop lente.)

Lorsque je souhaite conserver les calques pour une édition ultérieure, j'enregistre au format .xcf.gz (format natif de Gimp avec compression gzip). Bien sûr, si vous utilisez des programmes autres que Gimp, cela peut ne pas être utile.

ryanc
la source