Каковы преимущества использования определенного формата файла изображения?

11

Если я отредактирую файл изображения с помощью какого-либо приложения, такого как GIMP, Photoshop или MS Paint , при сохранении мне будет предложено выбрать необходимый формат файла. Доступны различные форматы, наиболее распространенными являются JPEG , PNG и BMP , GIF и TIFF . В некоторых программах есть еще больше форматов, таких как JP2 .

Так какой вариант мне выбрать? Каковы преимущества и недостатки использования определенного формата файла?

AIB
источник
Я надеюсь, что мое редактирование не нарушает ничего, что было сказано в «Разве это система игры, чтобы отредактировать вопрос, на который вы также ответили?» - Если это так, не стесняйтесь откатить назад. Намерение редактировать: это хороший вопрос, у которого заголовок слишком специфичен (IMHO), тем более что HEIF и другие форматы начинают широко распространяться.
flolilo
@flolilolilo Я не думаю, что это проблема здесь .. Я немного обеспокоен тем, что это получит меньше органического поискового трафика и что нам придется делать больше ручного закрытия дубликатов, но, да.
Пожалуйста, прочтите мой профиль
@mattdm Извините, я не хотел вводить здесь дополнительную работу! Я просто думал, что «я должен использовать JPEG, BMP или PNG» оставил открытой дверь для ... ну, для всех других кодеков. Если это только я, то нет необходимости держать это таким образом.
flolilo

Ответы:

12

JPEG

JPEG с потерями, что означает, что он сжимает изображение (частично), отбрасывая данные. Отбрасываемые данные (обычно) выбираются таким образом, чтобы минимизировать влияние на качество изображения, но они (практически) всегда теряют хотя бы небольшое качество - и в зависимости от выбранного вами уровня качества они могут потерять немало. Для большинства фотографий этот формат следует рассматривать только для отображения - после того как вы конвертировали что-то в JPEG, вам больше не нужно редактировать его. Если вам нужно внести изменения, вы перезапустите из другого формата, внесите изменения и выполните еще одно преобразование JPEG.

JPEG 2000, JPEG XR

Есть более новые версии спецификации JPEG. Они определяют новые формы сжатия изображений, которые, как правило, могут обеспечить лучший компромисс между размером файла и качеством изображения - ваш выбор такого же качества с меньшим файлом или более высокого качества с примерно таким же размером файла. Они также поддерживают более высокое цветовое разрешение (например, 16 бит на канал и форматы с плавающей запятой для поддержки большого динамического диапазона). С технической точки зрения они чрезвычайно привлекательны. Большой недостаток заключается в том, что не так много программ знают, как их читать, отображать, манипулировать или писать.

HEIF

Как и TIFF, HEIF на самом деле является контейнерным форматом, который может содержать изображения, закодированные различными методами (в основном h.265, но также h.264 и JPEG). Он обеспечивает лучшее соотношение качества и размера файла, чем исходный JPEG. Как и TIFF (или GIF), вы можете упаковать целую последовательность изображений в один файл. Хотя в 2014 году была представлена ​​значительная фанфара, когда HEIF был представлен, со многими заявлениями о том, как он, наконец, станет форматом, убившим JPEG, большая часть волнения, похоже, сошла на нет без смещения JPEG в какой-либо значительной степени.

БПГ

BPG - это формат, разработанный вечно плодовитым программистом Фабрисом Беллардом. Это похоже на HEIF в основном как контейнер для изображения, закодированного с h.265. Однако оболочка немного отличается, поэтому они не совместимы друг с другом. Однако с фотографической точки зрения BPG обладает довольно значительным преимуществом: он напрямую поддерживает встраивание данных EXIF ​​в файл изображения.

JPEG без потерь

Хотя то, что мы обычно называем JPEG, - это данные с потерями, спецификации JPEG определяют форматы файлов, которые также используют сжатие без потерь. Поскольку сжатие выполняется без потерь, они обычно не дают почти такого же размера файлов, как обычное сжатие JPEG, но на самом деле они действительно хороши для сжатия без потерь - намного лучше, чем сжатие общего назначения, такое как кодирование LZW или Хаффмана, которое обычно даже надеется на на фотографиях. Как и JPEG 2000 и JPEG XR, они работают хорошо, но страдают от недостатка поддержки.

GIF

GIF использует только сжатие без потерь, но ограничено 8-битными (256) цветами, что весьма ограничивает фотографии.

PNG

PNG был разработан как замена для GIF, и в основном это удается. Он поддерживает 24-битный цвет (по 8 бит для красного, зеленого и синего) и использует сжатие без потерь. Он имеет цветовое разрешение, необходимое для фотографий, но сжатие, которое он использует, имеет тенденцию быть довольно неэффективным для большинства фотографий, поэтому файлы в конечном итоге становятся довольно большими. Другим большим недостатком PNG является то, что он не определяет способ хранения EXIF ​​(или аналогичных) данных, поэтому, если вы используете его для хранения фотографий, вы должны хранить метаданные отдельно. Это может быть хорошо для вашего собственного использования, но означает, что, как правило, оно будет потеряно, если вы используете его на веб-странице, или что-то подобное.

TIFF

TIFF - это действительно контейнерный формат, который позволяет вставлять в него различные типы данных. Хотя он используется в основном для изображений, он на самом деле почти как файловая система, поэтому теоретически вы можете использовать его практически для любых данных. Это имеет пару последствий. Во- первых, даже если программа поддерживает файлы TIFF, она может не поддерживать все файлы TIFF - например, многие не поддерживают изображения, сжатые LZW. Фактически, немногие программы поддерживают все возможные файлы TIFF. Другое следствие - то, что TIFF имеет тенденцию иметь изрядное количество накладных расходов, и написание кода для поддержки TIFF (вообще хорошо) является болью (поэтому многие программы поддерживают его только не полностью).

BMP

BMP - это в основном просто независимое от устройства растровое изображение Windows, записанное на диск. Он имеет исключительно ограниченную поддержку сжатия (и большинство BMP вообще не сжаты). Программы, написанные для Windows, могут очень легко читать / записывать BMP , но рекомендовать его особо нечего (в частности, файлы BMP имеют тенденцию быть достаточно большими для объема хранимых данных). В BMP отсутствует какой-либо способ хранения метаданных EXIF ​​(или аналогичных). BMP отчасти похож на PNG, но более специфичен для Windows.

Вывод

JPEG полезен в качестве выходного формата (например, отображать вещи на веб-страницах хорошо, потому что он компактен, и его может прочитать практически каждый).

TIFF часто используется в качестве промежуточного формата для (например) хранения файла, который впоследствии может быть отредактирован.

Ограничение в 256 цветов делает GIF практически бесполезным для фотографий. BMP и PNG в основном безвредны для самой фотографии, но не могут хранить метаданные, и сжатие, которое они используют, редко бывает очень эффективным для фотографий (хотя цены на хранилище в настоящее время достаточно низки, и для многих это может не волновать).

Джерри Гроб
источник
4
PNG на самом деле поддерживает 32 бита, так как он также поддерживает 8 бит альфа-канала. Это не так важно для хранения полных фотографий, но если, например, создать изображение для использования на веб-странице, тогда 8-битный альфа-канал может быть действительно важным.
Пит
Почему PNG бесполезен для фотографий?
Clickety Ricket
1
@ClicketyRicket: я отредактировал, чтобы добавить немного больше информации, которая, я надеюсь, лучше объясняет ситуацию.
Джерри Гроб
@JerryCoffin Как вы думаете, вы могли бы добавить что-нибудь о JPEG XR, и, возможно, HEIF?
Пожалуйста, прочитайте мой профиль
@mattdm: кажется разумным.
Джерри Гроб
5

В целом, я бы сказал, что вы, вероятно, захотите сохранить в формате, который поддерживает метаданные, если у вас нет веских причин поступать иначе. В связи с этим, JPEG и TIFF являются двумя наиболее распространенными форматами для фотографии за пределами RAW + XMP или DNG.

Я использовал PNG в некоторых своих онлайн-портфолио, так как я решил закруглить углы своих уменьшенных изображений для лучшей выставки и сделать что-то, чтобы отличить мою работу от всех остальных. Обратной стороной этого является то, что PNG не поддерживает метаданные. Это ограничило меня во многих отношениях, так как большинство лучших онлайн-сайтов фотографий поддерживают автоматическое извлечение и отображение метаданных (например, Flickr).

Чтобы быть более понятным ... при демонстрации уменьшенных версий вашего искусства в Интернете, таких как Flickr, DeviantArt, 1x, RedBubble и т. Д. ..., вероятно, лучше использовать JPEG в качестве окончательного формата вывода. Эти файлы хорошего качества, но очень компактные и поддерживают метаданные. Для длительного хранения оригиналов я бы порекомендовал RAW + XMP, DNG или TIFF, поскольку все эти форматы обеспечивают сжатие без потерь, а также сохраняют метаданные. TIFF может быть лучшим выбором для вас, если вы используете Gimp. Я сам использовал RAW + XMP, так как мне нравятся мои оригинальные необработанные файлы ... но я также подумал о преобразовании всего в DNG, чтобы упростить управление файлами.

Йриста
источник
5

Приготовьтесь к огромному посту - да, это вышло из-под контроля ...

Обязательный xkcd:

xkcd # 927 "Стандарты"

К сожалению, не существует простого «лучшего» формата. Некоторые из них очень хорошо поддерживаются, некоторые предлагают чрезвычайную универсальность, некоторые предлагают сжатие без потерь, ...

В первой части этого ответа («Особенности» и «Краткий обзор форматов») будет рассказано о технических деталях, а во второй части («(Другие), которые необходимо учитывать») больше внимания уделено практическим аспектам выбора формата. ,


Функции:

Обратите внимание, что практически невозможно включить каждый хак в каждый формат - например, GIF-файлы могут быть сохранены без сжатия, игнорируя таблицу LZW. Почему я не упоминаю об этом ниже? Потому что 99% всех GIF-файлов, с которыми я когда-либо сталкивался, использовали LZW, потому что LZW сегодня - это легкая вычислительная мощь, и потому что этот пост пытается прояснить ситуацию для популярных ситуаций, а не для отдела исследований и разработок ILM. Фотографы будут использовать свои файлы для архивирования, публикации и печати, так что это то, что я рассматриваю здесь.

Информация перепроверена между соответствующими статьями Википедии, спецификациями, сравнением Вики и списком поддержки метаданных 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   |                      | 

Легенда : o... Необязательно; n... недоступно; y... имеется в наличии; D... Глубина; *... Посмотрите ниже на соответствующий текст.


Краткий обзор форматов:

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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

Файлы 'Bitmap' кодируются в строках и обычно не сжимаются, поэтому одноразрядное переворачивание уничтожит только одну строку изображения. Пока оно не перевернет заголовок, что усложнит декодирование - попробуйте сами с HEX редактор! , Поскольку он не обеспечивает (хорошее) сжатие, размеры файлов огромны, так как он должен сохранять полную информацию для каждого пикселя. Из-за своей жесткости, это может быть полезно для долгосрочного архивирования.


БПГ

 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)

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Лучшая портативная графика» (BPG) использует HEVC, о чем вы можете узнать из видеокодека h.265 . Он должен был стать преемником JPEG, но никогда не становился достаточно популярным. С появлением HEIF, который в некотором смысле довольно похож, но более популярен, вполне вероятно, что HEIF будет предпочтительным. HEVC намного превосходит по сжатию по сравнению с DCT JPEG - однако, он не очень хорошо сравнивается во всех, кроме более низких скоростей передачи, так как он имеет тенденцию быть размытым.


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)

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

OpenEXR был разработан Industrial Lights and Magic (ILM) как промежуточный формат для рабочих процессов VFX. Он может содержать несколько каналов с очень большой разрядностью, несколько изображений и метаданные в одном файле. Он предлагает различные алгоритмы сжатия - или вообще не использует сжатие. EXR можно сравнить с TIFF - EXR предлагает больше опций, в то время как TIFF гораздо популярнее.


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)

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Свободный формат изображения без потерь» (FLIF) использует производное сжатия HEVC без потерь. FLIF утверждает, что имеет экстремальные коэффициенты сжатия по сравнению со всеми другими форматами того времени - хотя мои собственные тесты заставили меня поверить в это, ему действительно нужна вычислительная мощность (несколько минут времени кодирования для одного 24-мегапиксельного изображения с гиперзаходом) 4,3 ГГц гексакор не так хорош: D) . Однако, поскольку это молодой кодек, могут появиться улучшения. Он предлагает поддержку анимации, альфа-каналов, прогрессивного декодирования и даже кодирования с потерями (без потери генерации после первого кодирования). Только время покажет, удастся ли это, и, честно говоря, я очень на это надеюсь, так как кажется, что оно предлагает единое решение для множества проблем.


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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

Хотя «Graphics Interchange Format» (GIF) предлагает 8 бит на канал на пиксель, он уменьшит их до цветовой палитры из 256 цветов (которая может включать «цвет фона»). Он в основном используется для анимации - единственное, что PNG не может сделать лучше, так как сам по себе PNG не предлагает поддержку анимации.


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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Высокоэффективный формат изображения» (HEIF) также использует HEVC для сжатия. Помимо цветовых каналов, он также может содержать альфа-канал или карту глубины (используется для более поздних программных эффектов глубины резкости ). Кроме того, элементарное редактирование может происходить без потерь. Согласно спецификации, он также имеет режим сжатия без потерь. Поскольку все основные операционные системы поддерживают его, он выглядит наиболее вероятным претендентом на преемственность JPEG (если она вообще есть).


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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Объединенная группа экспертов в области фотографии» (JPEG) , возможно, является наиболее используемым форматом изображений на сегодняшний день. Он использует дискретное косинусное преобразование (DCT), которое имеет вид с потерями. Существует спецификация без потерь, но она используется не слишком часто. Некоторые программы могут выполнять определенные элементарные действия (например, вращение) без потерь, хотя для этого также необходимо, чтобы ширина и высота изображения делились на 8 (размер блока JPEG) - например, 800x640 будет работать, 804x643 - нет. JPEG не имеет возможности сохранять изображения в RGB - он преобразует изображение в цветовое пространство YCbCr и часто уменьшает информацию о пикселях с 4: 4: 4 (у каждого пикселя есть все каналы) до 4: 2: 0 (у каждого канала есть яркость, но только каждый 4- й пиксель получает значение Cb / Cr), Как и в большинстве преобразований цветового пространства, это может привести к ощутимым различиям, особенно в экстремальных цветах. JPEG быстро кодируется и не так уж и плох в настройках высокого качества, но, по моему мнению, вышеперечисленные вещи не заставили бы меня плакать, если бы он вообще исчез, - он нам хорошо служил, но используемые форматы изображений могли бы быть немного больше ... недавно. В конце концов, компьютеры развивались хорошо с 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)

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«JPEG 2000» (JP2k или JP2) является официальным преемником JPEG. Он использует вейвлеты вместо DCT, которые предлагают меньше блочных артефактов и в целом более универсальны, чем JPEG. Несмотря на все это, он никогда не догонял 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)

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Расширенный диапазон JPEG» (JPEG XR, JXR) - еще одна попытка преуспеть в JPEG. Его цветовое пространство YCgCo превосходит YCbCr, потому что оно полностью обратимо. Хотя некоторые программы поддерживают его, оно также никогда не приближалось к славе других форматов.


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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Портативная сетевая графика» (PNG) была представлена ​​в качестве преемника GIF. Несмотря на то, что PNG-файлы по своей конструкции без потерь, их можно оптимизировать с помощью нескольких инструментов, некоторые из которых сжимают файл с потерями. PNG использует сжатие DEFLATE, поэтому оно довольно эффективно для графики (например, чертежи САПР, скриншоты, ...), но менее эффективно для фотографий. Хотя он предлагает поддержку метаданных, некоторые программы испытывают трудности при их чтении. Спасибо за хедз-ап, @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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Truevision TGA» / «TARGA» (TGA) - это формат, который я включил только потому, что, кажется, все это знают. Он был представлен в 1984 году. Он поддерживает сжатие без потерь (RLE), которое будет работать нормально для графики, но не очень хорошо для фотографий.


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

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«Tagged Image File Format» (TIF или TIF) также существует уже давно. Он предлагает поддержку слоев (т.е. несколько RGBA-изображений в стеке). TIFF часто используются в качестве промежуточных файлов, потому что они широко поддерживаются и достаточно гибки с точки зрения их возможностей.


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)

Легенда : b/c/p... бит на канал (например, R, G, B) на пиксель. вещи не [ ]являются обязательными; ?... обоснованное предположение / без понятия.

«WebP» использует VP8 (конкурирующий формат с открытым исходным кодом для AVC). Как и в случае с BPG, он никогда не переходил на потребительские устройства, хотя кажется, что он используется многими интернет-сервисами.


(Другое) Что нужно учитывать:

Перекодирование (потеря генерации)

Перекодирование файла без потерь ничего не изменит - перекодирование файла с потерями почти наверняка приведет к появлению артефактов. JPEG может справиться с этим довольно хорошо, если вы сохраните файл в том же качестве, в котором он был сохранен ранее.

Это видео показывает потери генерации довольно хорошо - первый кадр показывает исходный файл, в то время как все остальные показывают повторное сжатие с различными настройками качества. (Обратите внимание, что FLIF находится в режиме с потерями, поэтому первый кадр будет выглядеть по-другому.)

Артефакты не обязательно будут смертным приговором - например, для быстрой публикации в Интернете или предварительного просмотра на мобильных устройствах, это может быть не так уж плохо.

Долговечность кодека

Когда я писал этот ответ, я подумал про себя: «Кто будет использовать TARGA сегодня, в любом случае?» и это заставило меня задуматься: я бы никогда не колебался водить машину, сделанную в 80-х годах. Я не стесняюсь смотреть на снимки, сделанные в 80-х годах. Я бы использовал любые камеры, сделанные в то время. Но я бы не использовал старый кодек. Почему?

В конце концов, нет точного способа определить, выживет ли тот или иной кодек в течение определенного промежутка времени. Если завтра HEIF заменит JPEG на всех потребительских устройствах, сколько времени потребуется программам для прекращения поддержки JPEG? Сколько поколений компьютеров - и что более важно: ОС - будет, прежде чем вы больше не сможете их открыть?

С другой стороны, относительно простые кодеки, такие как TARGA, требуют только относительно простых программ для их чтения, в то время как современные кодеки и их декодеры имеют несколько зависимостей. Таким образом, хотя простота плоха для сжатия, она может быть полезна для архивирования в апокалиптическом сценарии. Спасибо @lijat за указание на это!

На мой взгляд, для этого нужно рассмотреть несколько аспектов: какой кодек достаточно популярен, чтобы поддержка сразу не падала? Какой кодек поддерживается сообществом открытого исходного кода (потому что никто не будет поддерживать проприетарные форматы от обанкротившейся компании)? Кроме того, кажется, что, по крайней мере, каждые десять лет нужно видеть, есть ли необходимость перейти на новый, лучше поддерживаемый кодек (см. «Перекодирование (потеря генерации)») - например, вы не захотите твоя коллекция TARGA будет нечитаемой завтра, верно?

Это, кстати, особенно беспокоит, когда думаешь о файлах RAW .

Поддержка программы (Долголетие № 2)

Самый популярный, лучший кодек не будет достаточно хорош, если вы не можете его использовать. И хотя я бы не использовал низшие кодеки только из-за того, что конкретная программа не поддерживает его, может быть плохо использовать кодек, который должным образом поддерживает только одна программа.

Какие функции мне нужны?

Лично я до сих пор кодирую большинство своих файлов в формате JPEG - я могу читать их на любом устройстве и едва могу (если вообще могу) увидеть артефакты. 8 бит достаточно для большинства устройств, и альфа-каналы не нужны при просмотре изображений.

Для всех файлов, которые не являются «редактируемыми один раз», я либо сохраняю свои RAW, либо как минимум 16-битные TIFF, чтобы они могли использоваться в будущем.

PSD? DNG?

«Photoshop Document» (PSD) - это формат Photoshop в стиле TIFF. Технически это очень похоже на TIF. Также есть PSB, что то же самое, только для файлов размером более 4 ГБ. В этом нет ничего плохого, но лично я предпочитаю TIFF, насколько это возможно.

«Digital Negative» (DNG) - это попытка создать открытый стандарт RAW. Хотя мне нравится эта идея, и она работает довольно хорошо, обратите внимание, что некоторые редакторы RAW имеют с ними проблемы - например, Capture One обычно забывает баланс белого камеры, таким образом устанавливая ползунок на 5000K, независимо от того, что является фактическим значением. Другие программы в прошлом показывали их в виде сплошных белых или розовых изображений или придавали им пурпурный оттенок. Если размер файла вас не беспокоит, вы можете включить исходный файл RAW в свой DNG - если он вам когда-нибудь понадобится снова, вы можете просто извлечь его снова. Мои 2 цента? Попробуйте это с вашим любимым программным обеспечением - и если это работает хорошо, используйте это.

Другие форматы?

Поскольку это уже вышло из-под контроля, я не хотел затрагивать еще больше форматов изображений. Тем не менее, это не означает, что те, которые не перечислены, не стоит рассматривать.

flolilo
источник
Общая информация: Я только что понял, что «наш DSP не оптимизирован для кодеков, отличных от JPEG», сегодня - ленивое оправдание, так как большинство камер предлагают своего рода усовершенствованный кодек (AVC / HEVC) для своих возможностей видео.
flolilo
1
Как вы писали о поддержке формата, я думаю, стоит упомянуть, что чем проще формат, тем легче поддерживать его. Это большой плюс для таких вещей, как несжатый targa, который достаточно прост для программиста, чтобы написать декодер во второй половине дня (это означает, что даже если все поддерживающее программное обеспечение будет потеряно, его можно будет легко восстановить по дешевке).
Лият
2

Я сохраняю отредактированные изображения в формате TIFF со сжатием LZW. Я использую Gimp для редактирования, и у меня есть сценарии на основе ImageMagick, которые преобразуют TIFF в JPG различных размеров и уровней качества для использования в Интернете, печати и т. Д. Я предполагаю, что PNG также будет работать; Я сделал выбор между ними несколько лет назад, и я забыл, почему я выбрал TIFF. (Возможно, это была проблема метаданных, о которой упоминали другие респонденты, или, возможно, вывод PNG от ufraw был слишком медленным.)

Когда я хочу сохранить слои для будущего редактирования, я сохраняю как .xcf.gz (собственный формат Gimp со сжатием gzip). Конечно, если вы используете программы помимо Gimp, это может оказаться бесполезным.

ryanc
источник