Quais são os méritos de usar um formato de arquivo de imagem específico?

11

Se eu editar um arquivo de imagem usando algum aplicativo como GIMP, Photoshop ou MS Paint , ao salvar, será solicitado que você selecione o formato de arquivo necessário. Existem diferentes formatos disponíveis, os mais comuns são JPEG , PNG e BMP , GIF e TIFF . Com alguns programas, existem ainda mais formatos como o JP2 .

Então, qual opção devo selecionar? Quais são os méritos e os deméritos do uso de um formato de arquivo específico?

AIB
fonte
Espero que minha edição não viole nada que foi dito em "O sistema de jogos está editando uma pergunta que você também respondeu?" - Se houver, sinta-se à vontade para revertê-lo. Intenção de edição: É uma boa pergunta que tinha um título muito específico (IMHO), especialmente porque o HEIF e outros formatos estão começando a se espalhar.
Flolilo 16/03/19
@flolilolilo Eu não acho que seja um problema aqui .. Estou um pouco preocupado que isso aconteça menos tráfego de pesquisa orgânica e que teremos que fechar mais manualmente as duplicatas, mas, eh.
Por favor, leia meu perfil
@mattdm Desculpe, eu não pretendia introduzir mais trabalho aqui! Eu só estava pensando que "devo usar JPEG, BMP ou PNG" deixou a porta aberta para ... bem, todos os outros codecs. Se sou apenas eu, não há necessidade de mantê-lo dessa maneira.
Flolilo 16/03/19

Respostas:

12

JPEG

O JPEG está com perdas, o que significa que comprime a imagem (em parte) descartando dados. Os dados descartados são (normalmente) escolhidos para minimizar o efeito na qualidade da imagem, mas (virtualmente) sempre perdem pelo menos um pouco de qualidade - e, dependendo do nível de qualidade escolhido, eles podem perder um pouco. Para a maioria das fotografias, ele deve ser considerado um formato somente para exibição - depois de converter algo em JPEG, você não deseja mais editá-lo. Se você precisar fazer alterações, reinicie a partir de outro formato, faça as alterações e faça outra conversão JPEG.

JPEG 2000, JPEG XR

Existem versões mais recentes da especificação JPEG. Eles definem novas formas de compactação de imagem que geralmente podem oferecer uma troca melhor entre tamanho e qualidade da imagem - sua escolha da mesma qualidade com um arquivo menor ou melhor com aproximadamente o mesmo tamanho de arquivo. Eles também suportam uma resolução de cores mais alta (por exemplo, formatos de 16 bits por canal e ponto flutuante para suportar alta faixa dinâmica). Do ponto de vista técnico, eles são extremamente atraentes. A grande desvantagem é que nem todos os programas sabem ler, exibir, manipular ou escrever.

HEIF

Como o TIFF, o HEIF é realmente um formato de contêiner, que pode conter imagens codificadas com vários métodos (principalmente h.265, mas também h.264 e JPEG). Ele fornece uma melhor relação qualidade / tamanho do arquivo que o JPEG original. Como o TIFF (ou GIF), você pode empacotar uma sequência inteira de imagens em um único arquivo. Embora tenha havido alarde considerável quando o HEIF foi introduzido em 2014, com muitas proclamações sobre como finalmente seria o formato que matou o JPEG, a maior parte da emoção parece ter diminuído sem que o JPEG seja substituído em grau significativo.

BPG

BPG é um formato desenhado pelo sempre prolífico programador Fabrice Bellard. É semelhante ao HEIF em ser basicamente um contêiner para uma imagem codificada com h.265. No entanto, o invólucro é um pouco diferente, portanto os dois não são compatíveis um com o outro. Do ponto de vista fotográfico, no entanto, o BPG tem uma vantagem bastante significativa: ele suporta diretamente a incorporação de dados EXIF ​​no arquivo de imagem.

JPEG sem perdas

Embora o que normalmente pensamos como JPEG seja com perdas, as especificações JPEG definem formatos de arquivo que também usam compactação sem perdas. Como a compactação é sem perdas, eles geralmente não produzem arquivos tão pequenos quanto a compactação JPEG normal, mas realmente se saem muito bem para a compactação sem perdas - muito melhor do que a compactação de uso geral, como a codificação LZW ou Huffman, normalmente espera em fotografias. Como o JPEG 2000 e o JPEG XR, eles funcionam bem, mas sofrem com a falta de suporte.

GIF

O GIF usa apenas compactação sem perdas, mas é limitado a cores de 8 bits (256), o que é bastante limitador para fotografias.

PNG

O PNG foi projetado como um substituto para o GIF e é bem-sucedido. Ele suporta cores de 24 bits (8 bits cada para vermelho, verde e azul) e usa compactação sem perdas. Ele tem a resolução de cores necessária para as fotografias, mas a compactação usada tende a ser bastante ineficaz para a maioria das fotografias; portanto, os arquivos acabam bem grandes. A outra grande desvantagem do PNG é que ele não define uma maneira de armazenar dados EXIF ​​(ou similares); portanto, se você usá-los para armazenar fotografias, precisará armazenar os metadados separadamente. Isso pode ser bom para seu próprio uso, mas significa que geralmente será perdido se você o usar em uma página da Web ou algo assim.

TIFF

O TIFF é realmente um formato de contêiner que permite inserir vários tipos de dados no contêiner. Embora seja usado principalmente para imagens, é quase como um sistema de arquivos, portanto você pode usá-lo teoricamente para quase qualquer tipo de dados. Isso tem algumas consequências. Uma é que, mesmo que um programa suporte arquivos TIFF, ele pode não suportar todos os arquivos TIFF - por exemplo, muitos não suportam imagens compactadas por LZW. De fato, poucos programas suportam todos os arquivos TIFF possíveis. Outra consequência é que o TIFF tende a ter uma boa quantidade de sobrecarga, e escrever código para dar suporte ao TIFF (de maneira alguma) é uma dor (e é por isso que muitos programas o suportam apenas incompletamente).

BMP

O BMP é basicamente apenas um bitmap independente de dispositivo do Windows gravado em disco. Ele tem suporte extremamente limitado à compactação (e a maioria dos BMPs não está compactada). Os programas criados para Windows podem ler / gravar BMP com muita facilidade, mas não há muito mais para recomendá-lo (em particular, os arquivos BMP tendem a ser muito grandes para a quantidade de dados armazenados). O BMP não possui nenhuma maneira de armazenar metadados EXIF ​​(ou similares). O BMP é como o PNG, mas mais específico para o Windows.

Conclusão

O JPEG é útil como formato de saída (por exemplo, exibir coisas nas páginas da web é bom porque é compacto e praticamente todo mundo pode lê-lo).

O TIFF é frequentemente usado como um formato intermediário para (por exemplo) armazenar um arquivo que pode ser editado posteriormente.

A limitação de 256 cores torna o GIF praticamente inútil para fotografias. BMP e PNG são basicamente inofensivos para a fotografia em si, mas não podem armazenar metadados, e a compactação usada raramente é muito eficaz para fotografias (embora os preços de armazenamento agora sejam baixos o suficiente para que muitas pessoas não se importem muito com isso).

Jerry Coffin
fonte
4
Na verdade, o PNG suporta 32 bits, pois também suporta 8 bits de canal alfa. Não é tão importante para armazenar fotografias completas, mas se, por exemplo, gerar uma imagem para ser usada em uma página da web, o canal alfa de 8 bits pode ser realmente importante.
Pete
Por que o PNG não é útil para fotografias?
Clickety Ricket
1
@ClicketyRicket: editei para adicionar um pouco mais de informação, que espero que explique melhor a situação.
Jerry Coffin
@JerryCoffin Você acha que poderia adicionar algo sobre o JPEG XR, e talvez sobre o HEIF?
Por favor, leia meu perfil
@mattdm: Parece razoável.
Jerry Coffin
5

Em geral, eu diria que você provavelmente deseja salvar em um formato que suporte metadados, a menos que tenha um motivo convincente para fazer o contrário. Nesse sentido, jpeg e tiff são os dois formatos mais comuns para fotografia fora de RAW + XMP ou DNG.

Usei PNG em alguns de meus portfólios on-line, já que passei a arredondar os cantos das minhas imagens reduzidas para uma melhor exibição e a fazer algo para diferenciar meu trabalho de todos os outros. O lado negativo disso é que o PNG não suporta metadados. Isso me limitou em muitos aspectos, já que a maioria dos melhores sites de fotos on-line suporta extração e exibição automáticas de metadados (ex. Flickr).

Para ser mais explícito ... ao exibir versões reduzidas de sua arte on-line, como no Flickr, DeviantArt, 1x, RedBubble, etc ... provavelmente é melhor usar o JPEG como formato de saída final. Esses arquivos são de boa qualidade, mas muito compactos e oferecem suporte a metadados. Para armazenamento de longo prazo de originais, eu recomendaria RAW + XMP, DNG ou TIFF, pois todos esses formatos fazem compactação sem perdas e também mantêm metadados. O TIFF pode ser a melhor escolha para você, se você estiver usando o Gimp. Eu mesmo usei o RAW + XMP, pois gosto de ter meus arquivos brutos originais ... mas também considerei converter tudo em DNG para simplificar o gerenciamento de arquivos.

jrista
fonte
5

Prepare-se para um post imenso - sim, isso saiu de controle ...

Xkcd obrigatório:

xkcd # 927 "Padrões"

Infelizmente, não existe um formato "melhor" simples. Alguns são muito bem suportados, outros oferecem extrema versatilidade, outros oferecem compressão sem perdas, ...

A primeira parte desta resposta ("Recursos" e "Breve visão geral dos formatos") abordará aspectos técnicos, enquanto a segunda parte ("(Outras) Coisas a considerar") é mais direcionada aos aspectos práticos da escolha do formato .


Recursos:

Observe que é quase impossível incluir todos os truques em todos os formatos - por exemplo, os GIFs podem ser salvos sem compactação ignorando a tabela LZW. Por que não mencionei isso abaixo? Porque 99% de todos os GIFs que eu já encontrei usavam LZW, porque o LZW hoje é um acéfalo no poder da computação e porque este post tenta esclarecer a situação para situações populares, não para o departamento de P&D da ILM. Os fotógrafos usarão seus arquivos para arquivamento, publicação e impressão, portanto, essas são as coisas que considero aqui.

As informações foram verificadas entre os respectivos artigos da Wikipedia, especificações, comparação do Wiki e lista de suporte de metadados do 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... Opcional; n... não disponível; y... acessível; D... profundidade; *... Veja abaixo o texto correspondente.


Breve visão geral dos formatos:

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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

Os arquivos 'bitmap' são codificados em linhas e geralmente não são compactados; portanto, um único bit flip destruirá apenas uma linha da imagem, desde que não vire o cabeçalho, o que tornará a decodificação mais difícil - tente você mesmo com um HEX editor! . Como não oferece (boa) compactação, os tamanhos dos arquivos são enormes, pois é necessário salvar as informações completas de cada pixel. Devido à sua rigidez, pode ser bom para arquivamentos de longo prazo.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'Better Portable Graphics' (BPG) usa HEVC, que você pode conhecer no codec de vídeo h.265 . Era para ser o sucessor do JPEG, mas nunca ficou popular o suficiente. Com a ascensão do HEIF, que é bastante semelhante em alguns aspectos, mas mais popular, é plausível que o HEIF seja preferido. O HEVC é muito superior em termos de compactação em comparação com o DCT do JPEG - no entanto, ele não se compara bem em todas as taxas de bits, exceto as mais baixas, pois tende a ficar embaçado.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O OpenEXR foi desenvolvido pela Industrial Lights and Magic (ILM) como um formato intermediário para fluxos de trabalho de VFX. Ele pode conter vários canais em profundidades de bits muito altas, várias imagens e metadados em um arquivo. Oferece algoritmos de compactação diferentes - ou nenhuma compactação. O EXR pode ser comparado ao TIFF - o EXR oferece mais opções, enquanto o TIFF é muito mais popular.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'Free Lossless Image Format' (FLIF) usa um derivado da compressão HEVC que é sem perdas. O FLIF alega ter taxas de compressão extremas em comparação com todos os outros formatos da época - enquanto meus próprios testes me levaram a acreditar nisso, ele realmente precisa de poder de computação para ser utilizável (vários minutos de tempo de codificação para uma única imagem de 24 MP com uma faixa de rosca alta) O hexacore de 4,3 GHz não é tão bom: D) . No entanto, como é um codec jovem, podem surgir melhorias. Oferece suporte para animações, canais alfa, decodificação progressiva e até codificação com perdas (sem perda de geração após a primeira codificação). Só o tempo mostrará se será bem-sucedido e, para ser sincero, espero que sim, pois parece oferecer uma solução única para vários problemas.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

Enquanto 'Graphics Interchange Format' (GIF) oferece 8 bits por canal por pixel, os reduz a uma paleta de cores de 256 cores (que pode incluir uma "cor de fundo"). É usado principalmente para animações - a única coisa que o PNG não pode fazer melhor, já que o PNG por si só não oferece suporte para animação.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'High Efficiency Image Format' (HEIF) também usa HEVC para compactação. Além dos canais de cores, ele também pode conter um canal alfa ou um mapa de profundidade (usado para efeitos posteriores de profundidade de campo do software ). Além disso, a edição rudimentar pode ocorrer sem perdas. De acordo com as especificações, ele também possui um modo de compactação sem perdas. Como todos os principais sistemas operacionais o suportam, parece o candidato mais provável a uma sucessão de JPEG (se houver algum).


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'Joint Photographic Experts Group' (JPEG) é sem dúvida o formato de imagem mais usado atualmente. Ele usa a transformação discreta de cosseno (DCT), que é do tipo com perdas. Há uma especificação sem perdas, mas não é usada com muita frequência. Certos programas podem executar determinadas ações rudimentares (por exemplo, rotação) sem perdas, embora isso também exija que a largura e a altura da imagem sejam divisíveis por 8 (o tamanho do bloco de JPEG) - por exemplo, 800x640 funcionará, 804x643 não. O JPEG não tem opção para salvar imagens em RGB - ele transforma a imagem no espaço de cores YCbCr e muitas vezes reduz as informações de pixel de 4: 4: 4 (todo pixel tem todos os canais) para 4: 2: 0 (todo canal possui luminosidade, mas apenas a cada pixel obtém um valor de Cb / Cr). Como na maioria das conversões do espaço de cores, isso pode levar a diferenças perceptíveis, especialmente em cores extremas. O JPEG é rápido na codificação e não é tão ruim em configurações de alta qualidade, mas para mim as coisas mencionadas acima não me fazem chorar se desaparecerem - elas nos serviram bem, mas os formatos de imagem usados ​​podem ser um pouco mais ... recente. Afinal, os computadores evoluíram bem desde 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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

'JPEG 2000' (JP2k ou JP2) é o sucessor oficial do JPEG. Ele usa wavelets em vez do DCT, que oferece artefatos menos em blocos e, em geral, é mais versátil que o JPEG. Apesar de tudo isso, ele nunca alcançou o 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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'intervalo estendido JPEG' (JPEG XR, JXR) é outra tentativa de obter sucesso com o JPEG. Seu espaço de cores YCgCo é superior ao YCbCr porque é totalmente reversível. Embora alguns softwares o suportem, ele também nunca chegou perto da fama de outros formatos.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'Portable Network Graphics' (PNG) foi introduzido como sucessor do GIF. Embora sem perdas por design, os arquivos PNG podem ser otimizados com várias ferramentas, algumas das quais compactarão o arquivo com perdas. O PNG usa a compactação DEFLATE, por isso é bastante eficiente para gráficos (como desenhos CAD, capturas de tela, ...), mas menos eficiente para fotografias. Embora ofereça suporte para metadados, alguns programas têm problemas para lê-los. Obrigado pelo aviso , @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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

'Truevision TGA' / 'TARGA' (TGA) é um formato que eu incluí apenas porque todos parecem conhecê-lo. Foi introduzido em 1984. Ele suporta compressão sem perdas (RLE), que funcionará bem para gráficos, mas não tão bem para fotografias.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'Tagged Image File Format' (TIF ou TIF) também existe há muito tempo. Oferece suporte a camadas (ou seja, várias imagens RGBA empilhadas). Os TIFFs costumam ser usados ​​como arquivos intermediários porque são amplamente suportados e bastante flexíveis em termos de seus recursos.


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... bits por canal (por exemplo, R, G, B) por pixel. as coisas [ ]são opcionais; ?... palpite educado / nenhuma pista.

O 'WebP' usa o VP8 (um formato rival de código aberto do AVC). Assim como o BPG, ele nunca foi lançado em dispositivos de consumo, embora pareça ser usado por muitos serviços de Internet.


(Outros) Coisas a considerar:

Recodificação (perda de geração)

A recodificação de um arquivo sem perdas não altera nada - a recodificação de um arquivo com perdas quase certamente levará a artefatos. O JPEG pode lidar com isso muito bem se você salvar o arquivo na mesma configuração de qualidade em que foi salvo anteriormente.

Este vídeo mostra muito bem a perda de geração - o primeiro quadro mostra o arquivo original, enquanto todos os outros mostram a re-compactação em diferentes configurações de qualidade. (Observe que o FLIF está no modo com perdas, portanto o primeiro quadro parecerá diferente.)

Os artefatos não serão necessariamente uma sentença de morte - por exemplo, para publicação rápida na web ou visualização em dispositivos móveis, pode não ser tão ruim.

Longevidade do codec

Ao escrever esta resposta, pensei: "quem usaria o TARGA hoje em dia, afinal?" e isso me fez pensar: eu nunca hesitaria em dirigir um carro fabricado nos anos 80. Eu não hesitaria em olhar para as fotos tiradas nos anos 80. Eu usaria todas as câmeras feitas naquele tempo. Mas eu não usaria um codec tão antigo. Por quê?

No final, não há como saber se um codec ou outro sobreviverá a um certo período de tempo. Se o HEIF substituir o JPEG em todos os dispositivos de consumo amanhã, quanto tempo levaria para que os programas deixassem de oferecer suporte ao JPEG? Quantas gerações de computadores - e mais importante: sistemas operacionais - existirão antes que você não possa mais abri-los?

Por outro lado, codecs relativamente simples como o TARGA exigem apenas programas relativamente simples para lê-los, enquanto codecs modernos e seus decodificadores têm várias dependências. Portanto, embora a simplicidade seja ruim para a compactação, pode ser boa para o arquivamento em um cenário apocalíptico. Obrigado @lijat por apontar isso!

Na minha opinião, isso precisa de vários ângulos a serem considerados: Qual codec é popular o suficiente para que o suporte não caia imediatamente? Qual codec é suportado pela comunidade de código aberto (porque ninguém manterá formatos proprietários de uma empresa falida)? Além disso, parece que, pelo menos a cada década, deve-se verificar se há necessidade de pular para um codec novo e com melhor suporte (consulte "Recodificação (perda de geração)") - você não desejaria, por exemplo, sua coleção TARGA será ilegível amanhã, certo?

A propósito, isso é especialmente preocupante quando se pensa em arquivos RAW .

Suporte ao programa (Longevidade # 2)

O codec mais popular e melhor não será bom o suficiente se você não puder usá-lo. E embora eu não usasse codecs inferiores apenas porque um programa em particular não o suporta, pode ser ruim usar um codec compatível com apenas um programa.

Quais recursos eu preciso?

Pessoalmente, ainda codifico a maioria dos meus arquivos em JPEG - posso lê-los em qualquer dispositivo e mal consigo (se é que vejo) os artefatos. O 8bit é bom o suficiente para a maioria dos dispositivos e os canais alfa não são realmente necessários apenas para visualizar as imagens.

Para todos os arquivos que não são do tipo "editar uma vez", eu mantenho meus RAWs ou pelo menos TIFFs de 16 bits para que eles ainda possam ser utilizados no futuro.

PSD? DNG?

"Photoshop Document" (PSD) é o formato de estilo TIFF do Photoshop. Tecnicamente, é bastante semelhante ao TIF. Também existe PSB, que é a mesma coisa apenas para tamanhos de arquivo acima de 4 GiB. Não há nada de errado em usá-lo, mas pessoalmente, prefiro o TIFF na medida do possível.

"Negativo digital" (DNG) é uma tentativa de criar um padrão RAW aberto. Embora eu adore a idéia e ela funcione muito bem, observe que alguns editores RAW têm problemas com eles - por exemplo, o Capture One geralmente esquece o balanço de branco da câmera, configurando assim o controle deslizante para 5000K, independentemente do valor real. Outros programas no passado mostraram imagens sólidas em branco ou rosa ou deram um tom magenta. Se o tamanho do arquivo não lhe interessa, você pode incluir o RAW original no seu DNG - se precisar dele novamente, basta extraí-lo novamente. Meus 2 centavos? Experimente com o seu software favorito - e, se funcionar bem, use-o.

Outros formatos?

Como isso já saiu do controle, não quis abordar ainda mais formatos de imagem. No entanto, isso não significa que aqueles que não estão listados não valem a pena considerar.

flolilo
fonte
Curiosidades: Acabei de perceber que "Nosso DSP não é otimizado para outros codecs além do JPEG" é uma desculpa preguiçosa hoje, já que a maioria das câmeras oferece algum tipo de codec avançado (AVC / HEVC) para suas capacidades de vídeo.
Flolilo 16/03/19
1
Como você escreveu sobre o suporte ao formato, acho que vale a pena mencionar que quanto mais simples o formato, mais fácil é manter o suporte. Esse é um grande problema para coisas como o targa não compactado, que é simples o suficiente para que um aluno de programação escreva um decodificador em uma tarde (o que significa que, mesmo que todo o software de suporte tenha sido perdido, ele poderia ser facilmente recriado barato).
lijat
2

Salvei minhas imagens editadas como TIFF com compactação LZW. Uso o Gimp para editar e tenho scripts baseados no ImageMagick que convertem os TIFFs em JPGs de vários tamanhos e níveis de qualidade para uso na web, impressão etc. Espero que o PNG também funcione; Eu escolhi entre eles a escolha há vários anos e esqueci por que escolhi o TIFF. (Talvez tenha sido o problema de metadados que outros respondedores mencionaram ou talvez a saída PNG do ufraw tenha sido muito lenta.)

Quando quero preservar as camadas para edição futura, salvo como .xcf.gz (formato nativo do Gimp com compactação gzip). Obviamente, se você usa programas além do Gimp, isso pode não ser útil.

Ryanc
fonte