Почему большинство камер не поддерживают формат PNG?

56

Я предпочитаю формат PNG JPG, потому что JPG использует сжатие с потерями .

Когда я снимаю экран на моем компьютере или сканирую изображение или документ на своем сканере, я всегда сохраняю их в формате PNG.
Если бы камера могла сохранять свои данные в формате PNG, я бы использовал эту функцию, даже если бы мне нужно было купить больше карт памяти.

Но я не вижу ни одной камеры, которая делает. Почему нет? Почему большинство (или любые) камеры не поддерживают формат PNG?

PS Моя камера не поддерживает RAW.

Вениамин
источник
7
Многие поддерживают TIFF, который также поддерживает сжатие без потерь. Но тогда возникает вопрос: «Почему большинство веб-браузеров не поддерживают TIFF?»
Mattdm
3
Вы предпочитаете PNG JPG для фотографии? Я не видел аргумента для этого раньше.
dpollitt
1
Ирония в том, что ссылка, которую вы даете, использует png в качестве примера сжатия с потерями :)
Тоби Аллен,
6
@JZL Хотя PNG поддерживает цветовые палитры (индексированные цвета), они не требуются. Я уверен, что мы говорим о старом добром 24- или 48-битном цвете RGB. GIF, с другой стороны, поддерживает только индексированный цвет и ограничен 256 цветами в палитре.
Конеслеер
2
@Pacerier Большинство из них. Вместо того, чтобы перечислять, проверьте эту таблицу в Википедии .
Mattdm

Ответы:

58

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

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

Guffa
источник
3
Здесь нужно отметить один момент, здесь нет «формата RAW». Так что, если Бенджамин хотел стандарта, ему пришлось бы конвертировать свой RAW в DNG.
Леонидас
Да, RAW означает только внутренний формат камеры и варьируется от камеры к камере. Недавно я использовал камеру, чей необработанный формат включал два байта на пиксель и несколько тысяч дополнительных байтов верхнего / нижнего колонтитула (тьфу).
Джон Робертсон
Я склонен согласиться с Леонидой здесь. Реальная проблема заключается в том, что DNG не принят большим количеством производителей камер. Как фотографы, мы владеем нашими негативами, но наши цифровые негативы заперты в проприетарных форматах файлов, часто с деталями, скрытыми под NDA. Принятие DNG со стороны Canon или Nikon будет иметь большое значение для решения этой проблемы. Однако этого не произойдет.
RBerteig
2
@ Джон, использование 2 байтов / пиксель ненормально? Как еще вы бы соответствовали 12 или 14-битному значению, которое датчик предоставляет для каждого пикселя? После этого вы можете сделать небольшое сжатие, но для более или менее случайных данных это может даже не стоить этого.
Ник Т
1
@John Robertson: Большинство чипов записывают только один цвет на пиксель, а не три, поэтому 14-битный RAW соответствует 42-битному RGB, после того как два цветовых компонента на пиксель были интерполированы из окружающих пикселей.
Guffa
44

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

Джон Каван
источник
7
+1 Никогда не осознавал, что не было стандартизированного встраивания EXIF ​​для PNG. Хорошо знать.
конуслайер
5
Скорее всего, причина. Метаданные это хорошо.
Леонидас
3
Вики : iTXt содержит текст в формате UTF-8, сжатый или нет, с необязательным языковым тегом. Блок iTXt с ключевым словом «XML: com.adobe.xmp» может содержать платформу расширяемых метаданных (XMP).
Кевин Пено
6
Нехватка данных EXIF ​​была бы "замечена как отрицательная" фотографами? Ба! Эти молодые фотографы-фотографы! В мои дни фотографы использовали пленку и знали, как на самом деле выглядит негатив! :-)
Странная мысль
4
@ Нечетное мышление По крайней мере у негатива было немного метаданных по краям!
Конеслеер
27

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

coneslayer
источник
3
.Png почти наверняка будет больше, чем необработанный, так как png должен будет хранить три значения цвета на пиксель вместо одного необработанного образца, поэтому для 8-разрядного png это 24 бита на пиксель против 12 или 14 бит / с для необработанного.
Мэтт Грум
3
@John Но это хуже, чем raw, который вы должны использовать для редактирования. PNG просто кажется несчастным посредником между JPEG и raw.
Конеслайер
5
@Matt Так как PNG использует сжатие (тоже), результат вообще не должен быть больше (зависит от алгоритмов). Чтобы задать вам вопрос: если вы конвертируете ASCII-файл (8 бит на символ) в UTF16-файл, должен ли сжатый результат стать значительно больше? Если вы ответите «да», перечитайте алгоритмы сжатия.
Леонидас
1
@Leonidas Вы правы, но я ожидаю, что любой, запрашивающий вывод PNG (вместо необработанного), будет ожидать немедленного использования результата с камеры, что означает, что вы хотите, чтобы резкость уменьшала сглаживающий фильтр и, возможно, уменьшала шум. Технически это не нужно, но если ваши файлы PNG требуют дальнейшего редактирования, то, опять же, я не вижу преимущества перед необработанным.
Конеслайер
2
@coneslayer Я полагаю, что у Benjanmin та же проблема, что и у меня при переработке изображений: (1) JPG уже потерял некоторые данные изображения и (2a) RAW является проприетарной (программное обеспечение доступно только в течение некоторого времени), (2b) не каждая камера предлагает RAW. Несколько лет назад я тоже отчаянно желал TIFF или PNG в моем компакте.
Леонидас
2

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

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

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

совать
источник
Потеря конверсии в цветовое пространство RGB? Как так? Что именно вы теряете при преобразовании данных датчика Байера (аддитивных данных) в одну из версий RGB? (Кстати: PNG действительно предлагает ICC-профили в принципе, FF планирует поддержать его, я читал.)
Леонидас
@Leonidas: нет «цветового» пространства RGB. Камера собирает гораздо больше информации, чем интерпретируется любым цветовым пространством RGB (sRGB, Adobe RGB и т. Д.). Таким образом, когда преобразование выполняется в RGB-файл, всегда теряется некоторая информация / цвета. Единственный способ сохранить это - сохранить данные так, как их видит камера, то есть RAW.
тыкай
@poke Можете ли вы объяснить, как типичный RGGB-датчик генерирует данные, которые невозможно преобразовать без потерь в любом RGB-формате? (Мне известно, что их несколько, обратите внимание на «одну форму RGB-версий».)
Леонидас
@Leonidas: я могу ошибаться, и если вы знаете лучше (или обманываете меня, чтобы сказать что-то не так), пожалуйста, поправьте меня, но, учитывая, что датчик не разделяет свет, который он видит на 256 шагов для каждого цвета Я не думаю, что какой-либо нормальный формат файла RGB или цветовое пространство RGB может содержать всю эту информацию. Я знаю, что датчик действительно захватывает данные как информацию RGB, поэтому теоретически может быть цветовое пространство RGB, если бы оно содержало столько информации, сколько на самом деле содержит изображение.
тыкай
@ Говорите, нет хитрости, я просто серьезно сомневаюсь, что не будет никакого формата RGB, предлагающего гамму сенсора. Что касается дискриминации - я думаю, что 16-битные / канальные форматы предлагают достаточно места для ее получения. Например, в photo.stackexchange.com/questions/8707/raw-processing-software/… jrista упоминается демосакция под названием Bayer Drizzle, которая, по-видимому, действительно спроектирована для обеспечения доступности любых данных.
Леонидас
1

Оба формата имеют свои плюсы и минусы.

Но настоящая причина, по которой JPEG более распространен, чем PNG, заключается в том, что люди, стоящие за JPEG , активно лицензируют, чего нет в PNG. (www.libpng.org/pub/png/)

Это очень похоже на MP3 против OGG против FLAC. Создатели MP3 в начале активно лицензировались ... что привело к популярности. Благодаря этому, теперь производители обращаются к MP3, чтобы получить лицензии!

MyPreciousss
источник
0

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

Ниже приводится цитата: http://www.hackerfactor.com/blog/index.php?/archives/252-PNG-and-Cameras.html

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

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

Рональд Олдс III
источник