Если я отредактирую файл изображения с помощью какого-либо приложения, такого как GIMP, Photoshop или MS Paint , при сохранении мне будет предложено выбрать необходимый формат файла. Доступны различные форматы, наиболее распространенными являются JPEG , PNG и BMP , GIF и TIFF . В некоторых программах есть еще больше форматов, таких как JP2 .
Так какой вариант мне выбрать? Каковы преимущества и недостатки использования определенного формата файла?
Ответы:
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 в основном безвредны для самой фотографии, но не могут хранить метаданные, и сжатие, которое они используют, редко бывает очень эффективным для фотографий (хотя цены на хранилище в настоящее время достаточно низки, и для многих это может не волновать).
источник
В целом, я бы сказал, что вы, вероятно, захотите сохранить в формате, который поддерживает метаданные, если у вас нет веских причин поступать иначе. В связи с этим, JPEG и TIFF являются двумя наиболее распространенными форматами для фотографии за пределами RAW + XMP или DNG.
Я использовал PNG в некоторых своих онлайн-портфолио, так как я решил закруглить углы своих уменьшенных изображений для лучшей выставки и сделать что-то, чтобы отличить мою работу от всех остальных. Обратной стороной этого является то, что PNG не поддерживает метаданные. Это ограничило меня во многих отношениях, так как большинство лучших онлайн-сайтов фотографий поддерживают автоматическое извлечение и отображение метаданных (например, Flickr).
Чтобы быть более понятным ... при демонстрации уменьшенных версий вашего искусства в Интернете, таких как Flickr, DeviantArt, 1x, RedBubble и т. Д. ..., вероятно, лучше использовать JPEG в качестве окончательного формата вывода. Эти файлы хорошего качества, но очень компактные и поддерживают метаданные. Для длительного хранения оригиналов я бы порекомендовал RAW + XMP, DNG или TIFF, поскольку все эти форматы обеспечивают сжатие без потерь, а также сохраняют метаданные. TIFF может быть лучшим выбором для вас, если вы используете Gimp. Я сам использовал RAW + XMP, так как мне нравятся мои оригинальные необработанные файлы ... но я также подумал о преобразовании всего в DNG, чтобы упростить управление файлами.
источник
Приготовьтесь к огромному посту - да, это вышло из-под контроля ...
Обязательный xkcd:
К сожалению, не существует простого «лучшего» формата. Некоторые из них очень хорошо поддерживаются, некоторые предлагают чрезвычайную универсальность, некоторые предлагают сжатие без потерь, ...
В первой части этого ответа («Особенности» и «Краткий обзор форматов») будет рассказано о технических деталях, а во второй части («(Другие), которые необходимо учитывать») больше внимания уделено практическим аспектам выбора формата. ,
Функции:
Обратите внимание, что практически невозможно включить каждый хак в каждый формат - например, GIF-файлы могут быть сохранены без сжатия, игнорируя таблицу LZW. Почему я не упоминаю об этом ниже? Потому что 99% всех GIF-файлов, с которыми я когда-либо сталкивался, использовали LZW, потому что LZW сегодня - это легкая вычислительная мощь, и потому что этот пост пытается прояснить ситуацию для популярных ситуаций, а не для отдела исследований и разработок ILM. Фотографы будут использовать свои файлы для архивирования, публикации и печати, так что это то, что я рассматриваю здесь.
Информация перепроверена между соответствующими статьями Википедии, спецификациями, сравнением Вики и списком поддержки метаданных exiftool .
Легенда :
o
... Необязательно;n
... недоступно;y
... имеется в наличии;D
... Глубина;*
... Посмотрите ниже на соответствующий текст.Краткий обзор форматов:
BMP
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.Файлы 'Bitmap' кодируются в строках и обычно не сжимаются, поэтому одноразрядное переворачивание уничтожит только одну строку изображения. Пока оно не перевернет заголовок, что усложнит декодирование - попробуйте сами с HEX редактор! , Поскольку он не обеспечивает (хорошее) сжатие, размеры файлов огромны, так как он должен сохранять полную информацию для каждого пикселя. Из-за своей жесткости, это может быть полезно для долгосрочного архивирования.
БПГ
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Лучшая портативная графика» (BPG) использует HEVC, о чем вы можете узнать из видеокодека h.265 . Он должен был стать преемником JPEG, но никогда не становился достаточно популярным. С появлением HEIF, который в некотором смысле довольно похож, но более популярен, вполне вероятно, что HEIF будет предпочтительным. HEVC намного превосходит по сжатию по сравнению с DCT JPEG - однако, он не очень хорошо сравнивается во всех, кроме более низких скоростей передачи, так как он имеет тенденцию быть размытым.
EXR
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.OpenEXR был разработан Industrial Lights and Magic (ILM) как промежуточный формат для рабочих процессов VFX. Он может содержать несколько каналов с очень большой разрядностью, несколько изображений и метаданные в одном файле. Он предлагает различные алгоритмы сжатия - или вообще не использует сжатие. EXR можно сравнить с TIFF - EXR предлагает больше опций, в то время как TIFF гораздо популярнее.
FLIF
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Свободный формат изображения без потерь» (FLIF) использует производное сжатия HEVC без потерь. FLIF утверждает, что имеет экстремальные коэффициенты сжатия по сравнению со всеми другими форматами того времени - хотя мои собственные тесты заставили меня поверить в это, ему действительно нужна вычислительная мощность (несколько минут времени кодирования для одного 24-мегапиксельного изображения с гиперзаходом) 4,3 ГГц гексакор не так хорош: D) . Однако, поскольку это молодой кодек, могут появиться улучшения. Он предлагает поддержку анимации, альфа-каналов, прогрессивного декодирования и даже кодирования с потерями (без потери генерации после первого кодирования). Только время покажет, удастся ли это, и, честно говоря, я очень на это надеюсь, так как кажется, что оно предлагает единое решение для множества проблем.
GIF
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.Хотя «Graphics Interchange Format» (GIF) предлагает 8 бит на канал на пиксель, он уменьшит их до цветовой палитры из 256 цветов (которая может включать «цвет фона»). Он в основном используется для анимации - единственное, что PNG не может сделать лучше, так как сам по себе PNG не предлагает поддержку анимации.
HEIF
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Высокоэффективный формат изображения» (HEIF) также использует HEVC для сжатия. Помимо цветовых каналов, он также может содержать альфа-канал или карту глубины (используется для более поздних программных эффектов глубины резкости ). Кроме того, элементарное редактирование может происходить без потерь. Согласно спецификации, он также имеет режим сжатия без потерь. Поскольку все основные операционные системы поддерживают его, он выглядит наиболее вероятным претендентом на преемственность JPEG (если она вообще есть).
JPEG
Легенда :
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
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«JPEG 2000» (JP2k или JP2) является официальным преемником JPEG. Он использует вейвлеты вместо DCT, которые предлагают меньше блочных артефактов и в целом более универсальны, чем JPEG. Несмотря на все это, он никогда не догонял JPEG.
JXR
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Расширенный диапазон JPEG» (JPEG XR, JXR) - еще одна попытка преуспеть в JPEG. Его цветовое пространство YCgCo превосходит YCbCr, потому что оно полностью обратимо. Хотя некоторые программы поддерживают его, оно также никогда не приближалось к славе других форматов.
PNG
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Портативная сетевая графика» (PNG) была представлена в качестве преемника GIF. Несмотря на то, что PNG-файлы по своей конструкции без потерь, их можно оптимизировать с помощью нескольких инструментов, некоторые из которых сжимают файл с потерями. PNG использует сжатие DEFLATE, поэтому оно довольно эффективно для графики (например, чертежи САПР, скриншоты, ...), но менее эффективно для фотографий. Хотя он предлагает поддержку метаданных, некоторые программы испытывают трудности при их чтении. Спасибо за хедз-ап, @mattdm !
TGA
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Truevision TGA» / «TARGA» (TGA) - это формат, который я включил только потому, что, кажется, все это знают. Он был представлен в 1984 году. Он поддерживает сжатие без потерь (RLE), которое будет работать нормально для графики, но не очень хорошо для фотографий.
TIFF
Легенда :
b/c/p
... бит на канал (например, R, G, B) на пиксель. вещи не[ ]
являются обязательными;?
... обоснованное предположение / без понятия.«Tagged Image File Format» (TIF или TIF) также существует уже давно. Он предлагает поддержку слоев (т.е. несколько RGBA-изображений в стеке). TIFF часто используются в качестве промежуточных файлов, потому что они широко поддерживаются и достаточно гибки с точки зрения их возможностей.
WebP
Легенда :
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 цента? Попробуйте это с вашим любимым программным обеспечением - и если это работает хорошо, используйте это.
Другие форматы?
Поскольку это уже вышло из-под контроля, я не хотел затрагивать еще больше форматов изображений. Тем не менее, это не означает, что те, которые не перечислены, не стоит рассматривать.
источник
Я сохраняю отредактированные изображения в формате TIFF со сжатием LZW. Я использую Gimp для редактирования, и у меня есть сценарии на основе ImageMagick, которые преобразуют TIFF в JPG различных размеров и уровней качества для использования в Интернете, печати и т. Д. Я предполагаю, что PNG также будет работать; Я сделал выбор между ними несколько лет назад, и я забыл, почему я выбрал TIFF. (Возможно, это была проблема метаданных, о которой упоминали другие респонденты, или, возможно, вывод PNG от ufraw был слишком медленным.)
Когда я хочу сохранить слои для будущего редактирования, я сохраняю как .xcf.gz (собственный формат Gimp со сжатием gzip). Конечно, если вы используете программы помимо Gimp, это может оказаться бесполезным.
источник