Quali sono i vantaggi dell'utilizzo di un particolare formato di file immagine?


11

Se modifico un file immagine usando un'applicazione come GIMP, Photoshop o MS Paint , durante il salvataggio mi verrà chiesto di selezionare il formato file richiesto. Sono disponibili diversi formati, i più comuni sono JPEG , PNG e BMP , GIF e TIFF . Con alcuni programmi, ci sono ancora più formati come JP2 .

Quindi quale opzione devo selezionare? Quali sono i meriti e i demeriti dell'utilizzo di un particolare formato di file?


Spero che la mia modifica non violi nulla di quanto detto in "È il sistema di gioco per modificare una domanda a cui hai anche risposto?" - In questo caso, sentiti libero di ripristinarlo. Intenzione di modifica: è una buona domanda che ha avuto un titolo troppo specifico (IMHO), soprattutto perché HEIF e altri formati stanno iniziando a diffondersi.
flolilo,

@flolilolilo Non penso che sia un problema qui .. Sono un po 'preoccupato che questo ottenga un traffico di ricerca meno organico e che dovremo fare una maggiore chiusura manuale dei duplicati, ma, eh.
Leggi il mio profilo

@mattdm Siamo spiacenti, non intendevo introdurre ulteriore lavoro qui! Stavo solo pensando che "dovrei usare JPEG, BMP o PNG" ha lasciato la porta aperta per ... beh, tutti gli altri codec. Se sono solo io, non è necessario mantenerlo in questo modo.
flolilo,

Risposte:


12

JPEG

JPEG è in perdita, il che significa che comprime l'immagine (in parte) eliminando i dati. I dati che vengono scartati sono (normalmente) scelti per ridurre al minimo l'effetto sulla qualità dell'immagine, ma (praticamente) perde sempre almeno un po 'di qualità - e, a seconda del livello di qualità scelto, può perdere parecchio. Per la maggior parte delle fotografie dovrebbe essere considerato un formato di sola visualizzazione: una volta che hai convertito qualcosa in JPEG, non vuoi più modificarlo. Se è necessario apportare modifiche, riavviare da un altro formato, apportare le modifiche ed eseguire un'altra conversione JPEG.

JPEG 2000, JPEG XR

Esistono versioni più recenti delle specifiche JPEG. Definiscono nuove forme di compressione delle immagini che possono generalmente offrire un migliore compromesso tra dimensione del file e qualità dell'immagine: la scelta della stessa qualità con un file più piccolo o una qualità migliore con approssimativamente la stessa dimensione del file. Supportano inoltre una maggiore risoluzione del colore (ad es. 16 bit per canale e formati in virgola mobile per supportare un intervallo dinamico elevato). Dal punto di vista tecnico, sono estremamente attraenti. Il grande svantaggio è che non tutti i programmi sanno come leggerli, visualizzarli, manipolarli o scriverli.

HEIF

Come TIFF, HEIF è in realtà un formato contenitore, che può contenere immagini codificate con vari metodi (principalmente h.265, ma anche h.264 e JPEG). Fornisce un rapporto migliore tra qualità e dimensioni del file rispetto al JPEG originale. Come TIFF (o GIF) è possibile impacchettare un'intera sequenza di immagini in un singolo file. Sebbene ci sia stata una notevole fanfara quando HEIF è stato introdotto nel 2014, con molti proclami su come sarebbe stato finalmente il formato che ha ucciso JPEG, la maggior parte dell'eccitazione sembra essersi consumata senza spostare JPEG in misura significativa.

BPG

BPG è un formato progettato dal programmatore sempre prolifico Fabrice Bellard. È simile a HEIF in quanto fondamentalmente è un contenitore per un'immagine codificata con h.265. Il wrapper è un po 'diverso, tuttavia, quindi i due non sono compatibili tra loro. Da un punto di vista fotografico, tuttavia, BPG presenta un vantaggio abbastanza significativo: supporta direttamente l'incorporamento dei dati EXIF ​​nel file di immagine.

JPEG senza perdita

Sebbene ciò che normalmente pensiamo come JPEG sia lossy, le specifiche JPEG definiscono i formati di file che utilizzano anche la compressione lossless. Poiché la compressione è senza perdita di dati, di solito non producono file così piccoli come la normale compressione JPEG, ma in realtà funzionano davvero bene per la compressione senza perdita - molto meglio della compressione per scopi generici come la codifica LZW o Huffman normalmente spera anche per sulle fotografie. Come JPEG 2000 e JPEG XR, funzionano bene, ma soffrono della mancanza di supporto.

GIF

GIF utilizza solo la compressione senza perdita di dati, ma è limitata a colori a 8 bit (256), il che è abbastanza limitante per le fotografie.

PNG

PNG è stato progettato come sostituto di GIF e per lo più ha successo. Supporta il colore a 24 bit (8 bit ciascuno per il rosso, il verde e il blu) e utilizza la compressione senza perdita. Ha la risoluzione del colore necessaria per le fotografie, ma la compressione che utilizza tende ad essere abbastanza inefficace per la maggior parte delle fotografie, quindi i file finiscono per essere piuttosto grandi. L'altro grande svantaggio di PNG è che non definisce un modo per archiviare i dati EXIF ​​(o simili), quindi se lo si utilizza per archiviare fotografie, è necessario memorizzare i metadati separatamente. Questo può andare bene per il tuo uso personale, ma significa che generalmente andrà perso se lo usi su una pagina web o qualcosa del genere.

TIFF

TIFF è in realtà un formato contenitore che consente di inserire vari tipi di dati nel contenitore. Sebbene sia usato principalmente per le immagini, è quasi come un file system, quindi teoricamente potresti usarlo per quasi tutti i tipi di dati. Questo ha un paio di conseguenze. Uno è che anche se un programma supporta file TIFF, potrebbe non supportare tutti i file TIFF, ad esempio molti non supportano le immagini compresse con LZW. In effetti, pochi programmi supportano tutti i possibili file TIFF. Un'altra conseguenza è che TIFF tende ad avere un discreto sovraccarico, e scrivere codice per supportare TIFF (per niente bene) è una seccatura (motivo per cui così tanti programmi lo supportano solo in modo incompleto).

BMP

BMP è fondamentalmente solo una bitmap indipendente dal dispositivo Windows scritta su disco. Ha solo un supporto estremamente limitato per la compressione (e la maggior parte dei BMP non sono affatto compressi). I programmi scritti per Windows possono leggere / scrivere BMP molto facilmente, ma non c'è molto altro da raccomandare (in particolare, i file BMP tendono ad essere piuttosto grandi per la quantità di dati archiviati). BMP non ha alcun modo per memorizzare metadati EXIF ​​(o simili). BMP è un po 'come PNG, ma più specifico di Windows.

Conclusione

JPEG è utile come formato di output (ad esempio, per visualizzare elementi su pagine Web è utile perché è compatto e praticamente tutti possono leggerlo).

TIFF viene spesso utilizzato come formato intermedio per (ad esempio) memorizzare un file che potrebbe essere successivamente modificato.

La limitazione di 256 colori rende le GIF quasi inutili per le fotografie. BMP e PNG sono sostanzialmente innocui per la fotografia stessa, ma non possono archiviare metadati e la compressione che usano è raramente molto efficace per le fotografie (anche se i prezzi di archiviazione sono ora abbastanza bassi che poche persone potrebbero non preoccuparsene).


4
PNG attualmente supporta 32 bit, poiché supporta anche 8 bit di canale alfa. Non è così importante per l'archiviazione di fotografie complete, ma se ad esempio la generazione di un'immagine da utilizzare su una pagina Web, il canale alfa a 8 bit potrebbe essere davvero importante.
Pete,

Perché il PNG non è utile per le fotografie?
Clickety Ricket,

1
@ClicketyRicket: ho modificato per aggiungere un po 'più di informazioni che spero spieghino meglio la situazione.
Jerry Coffin,

@JerryCoffin Pensi di poter aggiungere qualcosa su JPEG XR e forse HEIF?
Leggi il mio profilo

@mattdm: sembra ragionevole.
Jerry Coffin,

5

In generale, direi che probabilmente vuoi salvare in un formato che supporti i metadati a meno che tu non abbia un motivo convincente per fare diversamente. A tale proposito, jpeg e tiff sono i due formati più comuni per la fotografia al di fuori di RAW + XMP o DNG.

Ho usato PNG in alcuni dei miei portafogli online, dato che ho cercato di arrotondare gli angoli delle mie immagini ridotte per un'esibizione più bella e di fare qualcosa per differenziare il mio lavoro da tutti gli altri. Il lato negativo di questo è che PNG non supporta i metadati. Questo mi ha limitato sotto molti aspetti, poiché la maggior parte dei migliori siti di foto online supporta l'estrazione e la visualizzazione automatica dei metadati (ad esempio Flickr).

Per essere più espliciti ... quando si esibiscono online versioni ridimensionate della propria arte, come su Flickr, DeviantArt, 1x, RedBubble, ecc ... è probabilmente meglio usare JPEG come formato di output finale. Questi file sono di buona qualità ma molto compatti e supportano i metadati. Per la conservazione a lungo termine di originali, consiglierei RAW + XMP, DNG o TIFF, poiché tutti questi formati eseguono una compressione senza perdita e mantengono anche i metadati. TIFF potrebbe essere la scelta migliore per te se stai usando Gimp. Ho usato RAW + XMP da solo, poiché mi piace avere i miei file raw originali ... ma ho anche considerato di convertire tutto in DNG per semplificare la gestione dei file.


5

Preparati per un immenso post - sì, questo è sfuggito di mano ...

Xkcd obbligatorio:

xkcd # 927 "Standard"

Sfortunatamente, non esiste un semplice formato "migliore". Alcuni sono molto ben supportati, alcuni offrono estrema versatilità, altri offrono una compressione senza perdita, ...

La prima parte di questa risposta ("Caratteristiche" e "Breve panoramica dei formati") parlerà di tecnicismi, mentre la seconda parte ("Altre cose da considerare") è più diretta sugli aspetti pratici della scelta del formato .


Caratteristiche:

Si noti che è quasi impossibile includere tutti gli hack in tutti i formati, ad esempio le GIF possono essere salvate senza compressione ignorando la tabella LZW. Perché non lo menziono di seguito? Perché il 99% di tutte le GIF che ho mai incontrato utilizzava LZW, perché LZW oggi è un gioco da ragazzi in termini di potenza di calcolo e perché questo post cerca di chiarire la situazione per situazioni popolari, non per il dipartimento di ricerca e sviluppo di ILM. I fotografi useranno i loro file per l'archiviazione, la pubblicazione e la stampa, quindi queste sono le cose che considero qui.

Informazioni incrociate tra i rispettivi articoli di Wikipedia, le specifiche, il confronto di Wiki e l' elenco di supporto per metadati di 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   |                      | 

Legenda : o... Opzionale; n... non disponibile; y... a disposizione; D... profondità; *... Guarda sotto il testo corrispondente.


Breve panoramica dei formati:

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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

I file 'Bitmap' sono codificati in linee e di solito non sono compressi, quindi un singolo capovolgimento distruggerà solo una linea dell'immagine Fintanto che non capovolge l'intestazione, il che renderà più difficile la decodifica - provalo tu stesso con un HEX Editor! . Dal momento che non offre (buona) compressione, le dimensioni dei file sono enormi, in quanto deve salvare le informazioni complete per ogni pixel. A causa della sua rigidità, può essere utile per l'archiviazione a lungo termine.


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)

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

BPG (Better Portable Graphics) utilizza HEVC, che potresti conoscere dal codec video h.265 . Doveva essere il successore di JPEG, ma non divenne mai abbastanza popolare. Con l'ascesa di HEIF, che è abbastanza simile in qualche modo ma più popolare, è plausibile che HEIF sia preferito. HEVC è di gran lunga superiore in termini di compressione rispetto al DCT di JPEG - tuttavia, non si confronta bene in tutti ma con i bit rate più bassi, poiché tende ad essere sfocato.


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)

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

OpenEXR è stato progettato da Industrial Lights and Magic (ILM) come formato intermedio per i flussi di lavoro VFX. Può contenere più canali a profondità di bit molto elevate, più immagini e metadati in un unico file. Offre diversi algoritmi di compressione o nessuna compressione. EXR può essere paragonato a TIFF: EXR offre più opzioni, mentre TIFF è molto popolare.


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)

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

"Free Lossless Image Format" (FLIF) utilizza un derivato della compressione HEVC senza perdita di dati. FLIF afferma di avere rapporti di compressione estremi rispetto a tutti gli altri formati del tempo - mentre i miei test mi hanno portato a crederci, ha davvero bisogno di potenza di elaborazione per essere utilizzabile (diversi minuti di tempo di codifica per una singola immagine da 24 MP con un hyperthreaded 4,3 GHz hexacore non è così buono: D) . Tuttavia, poiché si tratta di un giovane codec, potrebbero esserci miglioramenti. Offre supporto per animazioni, canali alfa, decodifica progressiva e persino codifica con perdita (senza più perdite di generazione dopo la prima codifica). Solo il tempo mostrerà se avrà successo, e ad essere sincero, lo spero proprio, poiché sembra offrire una soluzione unica per molteplici problemi.


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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

Mentre "Graphics Interchange Format" (GIF) offre 8 bit per canale per pixel, li ridurrà a una tavolozza di colori di 256 colori (che può includere un "colore di sfondo"). Viene utilizzato principalmente per le animazioni: l'unica cosa che PNG non può fare di meglio, poiché PNG in sé non offre supporto per l'animazione.


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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

"HEIF (High Efficiency Image Format)" utilizza anche HEVC per la compressione. Oltre ai canali di colore, può contenere anche un canale alfa o una mappa di profondità (utilizzata per gli effetti di profondità di campo del software successivi ). Inoltre, la modifica rudimentale può avvenire senza perdita di dati. Accodando alle specifiche, ha anche una modalità di compressione senza perdita di dati. Dal momento che tutti i principali sistemi operativi lo supportano, sembra il contendente più probabile per una successione di JPEG (se mai ce n'è uno).


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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

"Joint Photographic Experts Group" (JPEG) è probabilmente il formato di immagine più utilizzato oggi. Utilizza la trasformazione del coseno discreto (DCT), che è del tipo a perdita. Esiste una specifica senza perdita di dati, ma non viene utilizzata troppo spesso. Alcuni programmi possono eseguire determinate azioni rudimentali (ad es. Rotazione) senza perdita di dati, sebbene ciò richieda anche che la larghezza e l'altezza dell'immagine siano divisibili per 8 (la dimensione del blocco di JPEG) - ad esempio 800x640 funzionerà, 804x643 no. JPEG non ha alcuna opzione per salvare le immagini in RGB: trasforma l'immagine nello spazio colore YCbCr e spesso riduce le informazioni sui pixel da 4: 4: 4 (ogni pixel ha tutti i canali) a 4: 2: 0 (ogni canale ha luminanza, ma solo ogni 4 ° pixel ottiene un valore Cb / Cr). Come con la maggior parte delle conversioni dello spazio colore, questo può portare a differenze percepibili soprattutto nei colori estremi. JPEG è veloce da codificare e non è poi così male in impostazioni di alta qualità, ma per me le cose di cui sopra non mi farebbero piangere se mai svanisse - ci è servito bene, ma i formati di immagine usati potrebbero essere un po 'di più ... recente. Dopotutto, i computer si sono evoluti bene dal 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)

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

'JPEG 2000' (JP2k o JP2) è il successore ufficiale di JPEG. Utilizza le wavelet invece del DCT, che offrono artefatti meno blocchi ed è complessivamente più versatile di JPEG. Nonostante tutto, non ha mai raggiunto il 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)

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

'JPEG portata estesa' (JPEG XR, JXR) è un altro tentativo di avere successo JPEG. Il suo spazio colore YCgCo è superiore a YCbCr perché è completamente reversibile. Mentre alcuni software lo supportano, anche questo non si è mai avvicinato alla fama di altri formati.


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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

"Portable Network Graphics" (PNG) è stato introdotto come successore di GIF. Sebbene sia privo di perdite in base alla progettazione, i file PNG possono essere ottimizzati con diversi strumenti, alcuni dei quali comprimono il file in modo lossy. PNG utilizza la compressione DEFLATE, quindi è abbastanza efficiente per la grafica (come disegni CAD, schermate, ...), ma meno efficiente per le fotografie. Mentre offre supporto per i metadati, alcuni programmi hanno difficoltà a leggerli. Grazie per l'heads-up, @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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

'Truevision TGA' / 'TARGA' (TGA) è un formato grafico che ho incluso solo perché sembra che tutti lo sappiano. È stato introdotto nel 1984. Supporta la compressione lossless (RLE) che funzionerà bene per la grafica, ma non così bene per le fotografie.


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

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

Anche il "Tagged Image File Format" (TIF o TIF) esiste da molto tempo. Offre il supporto dei livelli (ovvero più immagini RGBA sovrapposte). I TIFF sono spesso usati come file intermedi perché sono ampiamente supportati e abbastanza flessibili in termini di capacità.


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)

Legenda : b/c/p... bit per canale (ad es. R, G, B) per pixel. le cose [ ]sono opzionali; ?... ipotesi colta / nessun indizio.

'WebP' utilizza VP8 (un formato rivale open source per AVC). Come con BPG, non ha mai fatto il salto nei dispositivi di consumo, anche se sembra che sia utilizzato da molti servizi Internet.


(Altro) Cose da considerare:

Ricodifica (perdita di generazione)

La ricodifica di un file lossless non altererà nulla: la ricodifica di un file lossy porterà quasi sicuramente a artefatti. JPEG può gestirlo abbastanza bene se si salva il file con la stessa impostazione di qualità in cui era stato salvato in precedenza.

Questo video mostra abbastanza bene la perdita di generazione : il primo fotogramma mostra il file originale, mentre tutti gli altri mostrano la ricompressione con impostazioni di qualità diverse. (Si noti che FLIF è in modalità lossy, quindi il primo fotogramma apparirà diverso.)

Gli artefatti non saranno necessariamente una condanna a morte - ad es. Per la rapida pubblicazione sul web o l'anteprima su dispositivi mobili, potrebbe non essere così male.

Longevità del codec

Quando scrivevo questa risposta, pensavo a me stesso "chi userebbe TARGA al giorno d'oggi, comunque?" e mi ha fatto pensare: non esiterei mai a guidare un'auto prodotta negli anni '80. Non esiterei a guardare le foto scattate negli anni '80. Vorrei utilizzare qualsiasi fotocamera realizzata in quel momento. Ma non userei un codec così vecchio. Perché?

Alla fine, non esiste un modo sicuro per dire se un codec o l'altro sopravviveranno per un certo lasso di tempo. Se domani HEIF dovesse sostituire JPEG su tutti i dispositivi consumer, quanto tempo impiegherebbe i programmi a interrompere il supporto JPEG? Quante generazioni di computer - e soprattutto: sistemi operativi - ci saranno prima che tu non possa più aprirli?

D'altra parte, i codec relativamente semplici come TARGA richiedono solo programmi relativamente semplici per leggerli, mentre i codec moderni e i loro decodificatori hanno dipendenze multiple. Quindi, sebbene la semplicità sia dannosa per la compressione, potrebbe essere utile per l'archiviazione in uno scenario apocalittico. Grazie @lijat per averlo segnalato!

A mio avviso, ciò ha bisogno di diversi aspetti da considerare: quale codec è abbastanza popolare in modo che il supporto non diminuisca immediatamente? Quale codec è supportato dalla comunità open source (perché nessuno manterrà i formati proprietari di una società fallita)? Inoltre, sembra che almeno ogni decennio circa, si dovrebbe vedere se è necessario passare a un nuovo codec meglio supportato (vedere "Ricodifica (perdita di generazione)") - ad esempio, non si vorrebbe la tua collezione TARGA sarà illeggibile domani, giusto?

A proposito, ciò è particolarmente preoccupante quando si pensa ai file RAW .

Supporto del programma (Longevity # 2)

Il codec più popolare e migliore non sarà abbastanza buono se non puoi usarlo. E anche se non userei codec inferiori solo perché un determinato programma non lo supporta, potrebbe essere male usare un codec che solo un programma supporta correttamente.

Di quali funzioni ho bisogno?

Personalmente, continuo a codificare la maggior parte dei miei file in JPEG: posso leggerli su qualsiasi dispositivo e riesco a malapena (se non del tutto) a vedere i manufatti. 8 bit è abbastanza buono per la maggior parte dei dispositivi e i canali alfa non sono realmente necessari quando si visualizzano solo le immagini.

Per tutti i file che non sono in stile "modifica una volta", conservo i miei RAW o almeno TIFF a 16 bit in modo che siano ancora utilizzabili in futuro.

PSD? DNG?

"Photoshop Document" (PSD) è il formato in stile TIFF di Photoshop. Tecnicamente, è abbastanza simile a TIF. C'è anche PSB, che è la stessa cosa solo per file di dimensioni superiori a 4 GiB. Non c'è niente di sbagliato nell'usarlo, ma personalmente preferisco il TIFF per quanto possibile.

"Digital Negative" (DNG) è un tentativo di creare uno standard RAW aperto. Anche se adoro l'idea e funziona abbastanza bene, nota che alcuni editor RAW hanno problemi con loro - ad esempio Capture One in genere dimentica il bilanciamento del bianco della fotocamera, impostando quindi il cursore su 5000K, indipendentemente dal valore reale. Altri programmi in passato li hanno mostrati come immagini solide bianche o rosa o danno loro una tonalità magenta. Se la dimensione del file non ti interessa, puoi includere il RAW originale nel tuo DNG - se mai ti serve di nuovo, puoi semplicemente estrarlo di nuovo. I miei 2 centesimi? Provalo con il tuo software preferito e, se funziona bene, usalo.

Altri formati?

Dato che questo mi era già sfuggito di mano, non volevo affrontare altri formati di immagine. Tuttavia, ciò non significa che non valga la pena considerare quelli non elencati.


Curiosità: mi sono appena reso conto che "Il nostro DSP non è ottimizzato per codec diversi da JPEG" oggi è una scusa pigra, poiché la maggior parte delle fotocamere offrono una sorta di codec avanzato (AVC / HEVC) per le loro capacità video.
flolilo,

1
Come hai scritto sul formato di supporto, penso che valga la pena ricordare che più un formato è semplice, più è facile mantenerlo supportato. Questo è un grosso problema per cose come targa non compresse che sono abbastanza semplici da consentire a uno studente programmatore di scrivere un decodificatore in un pomeriggio (il che significa che anche se tutto il software di supporto andasse perso, potrebbe essere facilmente ricreato a buon mercato).
Lijat

2

Salvo le mie immagini modificate come TIFF con compressione LZW. Uso Gimp per modificare e ho script basati su ImageMagick che convertono i TIFF in JPG di varie dimensioni e livelli di qualità per uso web, stampa, ecc. Mi aspetto che anche PNG funzioni; Ho scelto tra loro la scelta diversi anni fa e ho dimenticato perché ho scelto TIFF. (Forse è stato il problema dei metadati di cui altri hanno parlato, o forse l'output PNG di ufraw è stato troppo lento.)

Quando voglio preservare i layer per future modifiche, salvo come .xcf.gz (formato nativo di Gimp con compressione gzip). Naturalmente, se usi programmi oltre a Gimp, ciò potrebbe non essere utile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.