Разница между PNG и RAW, кроме сжатия?

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

Я не знаком с форматом RAW и не занимаюсь фотографией. Я спросил нескольких людей с профессиональными камерами, которые снимали в RAW, и они не были слишком уверены, но, похоже, думали, что RAW сохраняет больше реальных данных, чем PNG. Это правда? Что, во всяком случае, делает RAW лучше, чем PNG, и если нет никакой разницы, почему камеры не снимают в PNG вместо RAW?

возможный дубликат Что такое RAW технически?
Вы имеете в виду DNG, а не PNG? PNG — это формат файла изображения, похожий на JPG. DNG — это формат данных изображения, похожий на RAW.
Нет, я имею в виду PNG. Данные ответы были полезны, так как я не знал о принципиальной разнице между форматом изображения, таким как PNG или JPG, и RAW. Я просто думал, что RAW и PNG являются форматами изображений без потерь, и не знал о различиях на низком уровне.

Ответы (4)

В форматах RAW хранятся необработанные данные датчика с камеры с информацией о том, как их декодировать для процессоров изображений, таких как Adobe Camera Raw или подобных. В этом смысле формат RAW — это не изображение, вы должны применять алгоритмы демозаики, чтобы интерпретировать данные датчика в связное изображение для отображения. Помимо попытки Adobe убедить всех использовать DNG (Digital Negative) в качестве своего формата, не существует стандарта для хранения данных изображений RAW, и у большинства производителей камер есть свои собственные. Однако то, что является стандартным для всех форматов RAW, — это данные EXIF, которые предоставляют много информации о состоянии настроек камеры во время съемки.

PNG, с другой стороны, изначально был разработан как альтернатива GIF без всех патентных проблем, которые нес последний, в основном из-за алгоритма сжатия. С тех пор он немного вырос из первоначального замысла, но на самом деле он не был разработан для фотографии как таковой. Например, самым большим пробелом является отсутствие данных EXIF, необходимых для оборудования камеры. Другая большая проблема заключается в том, что это будет конечный результат интерпретации данных датчика, поэтому вы потеряете информацию о сигнале датчика в этот момент и больше не сможете повторно интерпретировать информацию с помощью лучших или альтернативных алгоритмов. По сути, вы зацикливаетесь на интерпретации разработчика, написавшего алгоритм. Это не всегда желательно.

Итак, это действительно сводится к: разным целям. :)

PNG может вполне успешно передавать данные EXIF, хотя некоторые реализации делают это, поскольку в первые дни было довольно много несоответствий.
Этот ответ неверен, Джоанна - я не уверен, что его стоит исправлять, учитывая его возраст и количество голосов. Метод «фрагмента» или блочного хранения — это то, как все графические форматы хранят данные, включая jpeg, tiff и даже MP4. PNG одинаково обрабатывает все метаданные, и фрагмент exif не будет проблемой, например, zTXT.
@JamesSnell - Вот почему я так сказал. Стандарт явно не требует EXIF, даже если он может поддерживать его с произвольным текстом, а это требование для производителей камер.

В дополнение к тому, что сказали другие, PNG ужасно неэффективны при хранении фотографий. Их схема сжатия хорошо работает при относительно небольшом количестве цветов, больших областях одного цвета и/или точно повторяющихся рисунках.

Быстрый тест со случайным 18-мегапиксельным фото дал следующие результаты:

  • Исходный RAW: 22 МБ
  • JPEG со 100% качеством: 14 МБ
  • Преобразование PNG из JPEG: 28 МБ

Таким образом, несмотря на то, что PNG хранит гораздо меньше информации, чем RAW, в итоге он становится немного больше!

Я согласен с общим выводом, который вы сделали, но вы исказили результат сжатия PNG, потому что он должен иметь дело с артефактами JPEG. Попробуйте сжать тот же RAW напрямую в PNG.
@TWiStErRob Я думаю, что любые артефакты будут незначительными при 100% качестве.
Я не говорю, что вы получите лучший результат, но JPEG DCT и механизмы хранения могли исказить ваши результаты. Возможно даже, что исходный RAW, сжатый как PNG, будет больше 28 МБ. Мне любопытно, если у вас все еще есть это изображение.
"100% качество"? ВТФ. Почему бы вместо этой чепухи не сравнить PNG с JPEG без потерь? Всем известно, что добавление множества артефактов блокировки/алиасинга, а затем попытка сжатия результата без потерь всегда увеличивает размер файла. Поэтому никто не конвертирует из формата с потерями в без потерь.

RAW имеет разрядность более 8 бит и хранит фактические данные датчика, а не данные обработанного изображения. На самом деле RAW обычно сжимается без потерь или даже иногда сжимается с потерями. PNG на самом деле были бы больше, если бы не были сжаты, потому что они содержат данные изображения только после обработки, что означает, что каждый пиксель имеет 3 цвета, а не 1, и, как правило, только 8 бит на цветовой канал, 24 бита на пиксель (хотя формат файла может поддерживать больше ), а не от 12 до 14 бит на фотосайт (который в основном представляет собой пиксель).

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

RAW можно сжимать с потерями, Nikon предлагает этот вариант наряду с без потерь. Это формат хранения данных, поэтому нет никакой внутренней причины, по которой информация не может быть сохранена с помощью алгоритма сжатия с потерями, это зависит от производителя камеры. Я сам выбрал вариант без потерь, в противном случае изображения D800 безумно большие.
Кроме того, PNG в некоторых форматах допускает более 8 бит на канал.
JoanneC: поэтому я и сказал, что обычно 8 бит. :) Хотя я обновлю, чтобы указать, что у Nikon формат с потерями. Я всегда забываю об этом, так как я парень Canon.
PNG обычно имеют 24 бита на пиксель (8 бит на цветовой канал), поэтому они не будут меньше, чем 12 или 14-битные файлы RAW (при полном разрешении).
@MattGrum - хороший звонок, обновлено. Думаю, мне не следует вносить изменения в час ночи.
нет, декомпрессор PNG обязательно должен поддерживать 16-битные изображения. это предварительно освобожденный 16-битный foprmat в мире с открытым исходным кодом. Вот почему я добавил 16-битный PNG с поддержкой exif в режиме просмотра изображений и многое другое. На самом деле я думал, что lightrom поддерживает его (для «Редактировать в»), но потом я обнаружил, что мне нужно добавить 16-битный tiff с поддержкой exif, ха-ха.
@MichaelNielsen - не уверен, против чего вы возражали. Я специально упомянул, что он поддерживает большую разрядность, но я все еще не часто вижу 16-битные файлы. По крайней мере, по моему опыту, большинство PNG, с которыми я работал, имели 8 бит на цвет.

Это действительно разные форматы для выполнения очень разных задач.

PNG предназначен для использования в сети в качестве не обремененного патентами формата — он не был разработан для фотографии, и есть аспекты дизайна, на которые это указывает.

  • Альфа-канал — дополнительный цветовой канал для переменной непрозрачности.

  • Чересстрочная развертка ADAM7 для быстрого предварительного просмотра или для того, чтобы не загружать все изображение, если оно не требуется

  • Только RGB и никаких других цветовых пространств, с ограниченным выбором битовой глубины

  • Плохое сжатие из-за поддержки только сжатия Zip/Deflate плохо работает с данными изображения, которые имеют естественную дисперсию. Более подходящие схемы, такие как вейвлеты или DPCM, защищены патентами.

  • Метаданные , включая пользовательские типы, могут быть сохранены, но поддержка приложений неоднородна до такой степени, что это стало городским мифом о том, что PNG не может хранить метаданные.

В отличие от RAW, это скорее класс форматов, каждый из которых оптимизирован для функций одной модели камеры/производителя. Это немного похоже на выбор между молотком и оптимизированным прецизионным инструментом.