Почему современные зеркальные фотокамеры поддерживают JPEG, но не поддерживают форматы без потерь, кроме RAW?

Я из программирования и очень новичок в фотографии. Работая с SDK для Canon Rebel T3i, я понял, что единственными форматами изображений, изначально поддерживаемыми камерой, являются RAW (CR2) или JPEG.

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

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

Вопрос в том, почему современные зеркальные фотокамеры используют JPEG как единственный формат, отличный от RAW? Разве не было бы полезно иметь 24-битный формат RGB (используя преимущества автоматических режимов обработки камеры)?

«Разве это не было бы полезно [...]» Полезно для какого класса фотографов?
@PhilipKendall: На самом деле я имел в виду полезность для разработчиков, создающих приложения, которые не хотят иметь дело с форматами с потерями в качестве входных данных.
И каков размер рынка для этих разработчиков? Крошечный. Так что ответ на ваш вопрос :-)
@PhilipKendall: Конечно. Хотя это плохая новость для автоматизированных приложений. В недавнем программном обеспечении для обработки изображений я был озадачен тем, что изображение черно-белой шахматной доски имело двоичные артефакты. Даже простая веб-камера смогла получить лучшие результаты обработки. :(
Только что понял вескую причину. Формат JPEG поддерживает встраивание данных EXIF ​​стандартизированным способом, тогда как PNG поддерживает фрагменты (нестандартизированные). Это было бы кошмаром для производителей камер, пока не был бы формализован стандарт.
Размер файла — одна из веских причин. Мой 5DII выдает необработанные файлы размером около 24 МБ каждый, а при преобразовании в 16-битные TIFF они весят около 126 МБ без сжатия. Со сжатием они все еще могут достигать около 70 МБ, что не так удобно для карт памяти, как первоначальные 24 МБ. В вашем вопросе упоминаются файлы .PNG - несжатый 16-битный эквивалент .PNG по-прежнему составляет 115 МБ, что снова является неэффективным использованием флэш-памяти. Кстати, "сырые" - это именно сырые данные датчиков - это не аббревиатура, как предполагает "RAW" ;-)
Подождите... для этих камер есть SDK? Вы о чем-то кроме ЧДК?
@SailorCire: CHDK, похоже, является написанной сообществом библиотекой для серии Power Shot и, вероятно, не поддерживается Canon. Я могу ошибаться здесь. И да, Canon предоставляет официальный SDK под названием EDSDK для своей линейки камер EOS.
@Darkhausen: Спасибо. Большинство ответов указывают на размер файла, но ваш комментарий включает фактические цифры. Вы должны рассмотреть возможность публикации этого в качестве ответа.
«Разве не было бы полезно иметь 24-битный формат RGB». Jpg — это 24-битный формат RGB. На мой взгляд... Нет, я бы не стал использовать в камере другой формат, кроме raw или jpg .

Ответы (5)

Разве не было бы полезно иметь 24-битный формат RGB (используя преимущества автоматических режимов обработки камеры)?

Не совсем. Необработанные файлы на самом деле очень компактны, поскольку они хранят только один канал оттенков серого с 12 или 14 битами на пиксель. 24-битный формат без потерь неизбежно создает файлы большего размера, при этом теряется 4 или 6 бит динамического диапазона. Конечно, 48-битный формат был бы вдвое больше.

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

В противном случае в камере JPEG с макс. качество «достаточно хорошее» для большинства случаев использования, так что просто нет рынка для реализации другого формата.

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

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

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

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

Некоторые из них — например, большинство или все модели Pentax и более дорогие Nikon поддерживают TIFF (который, как отмечает Рахил Хан в комментарии выше, лучше подходит для метаданных, чем PNG). Итак, вот и все. Если для вас это важно, вы можете выбрать камеру, в которой она есть. Тем не менее, кажется, что для большинства потребителей недостаточно важно, чтобы люди принимали решение — я полагаю, что старые модели Canon также поддерживали вывод TIFF, но Canon отказалась от этого. Итак, как и в случае со многими вопросами «почему камеры этого не делают?» вопросы, ответ сводится к отсутствию потребительского интереса .

И это отсутствие интереса нетрудно объяснить. При низких степенях сжатия (то есть при самых высоких настройках качества) артефакты JPEG трудно найти, и, как мы видим в наших вопросах о необработанном и jpeg , реальное преимущество заключается в гибкости, а не в отсутствии потерь. Несжатые «запеченные» форматы предлагают в основном те же недостатки и преимущества, что и JPEG, требуют гораздо больше места для хранения, что делает их необязательной функцией.

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

Да, это ключ. Создание rgb-изображения без потерь приведет к запеканию кривых тона, и это необратимо. Файлы RAW позволяют настраивать такие параметры, как экспозиция и точка белого в линейном пространстве до применения кривых тона.

Размер файла — одна из веских причин. Мой 5DII выдает необработанные файлы размером около 24 МБ каждый, а при преобразовании в 16-битные TIFF они весят около 126 МБ без сжатия. Со сжатием они все еще могут достигать около 70 МБ, что не так удобно для карт памяти, как первоначальные 24 МБ.

В вашем вопросе упоминаются файлы .PNG - несжатый 16-битный эквивалент .PNG по-прежнему составляет 115 МБ, поэтому опять же это неэффективное использование флэш-памяти.

@Raheel, спасибо, что предложили опубликовать это как ответ :-)

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

В отличие от формата RGB «без потерь», выход камеры не является RGB (а скорее шаблоном с цветовой маской Байера, которая по-прежнему требует демозаики, для которой существуют различные алгоритмы с различными характеристиками производительности для различных приложений), он не является прямолинейным (но достаточно искажён с геометрическими искажениями, которые имеют тенденцию выпрямляться в процессе обработки), он шумный (для чего существуют различные методы параметрического шумоподавления в зависимости от ожидаемого уровня шума для различных характеристик камеры), для его цветопередачи требуется коррекция баланса белого ( что может потребовать различных вариантов в зависимости от того, что вы хотите отображать в качестве субъекта) и так далее.

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

В нынешнем виде предложение формата «RGB без потерь», а не JPEG, было бы дымовой завесой: одна из эффективных стратегий сжатия с потерями в JPEG — субдискретизация цветности, но датчик Байера в любом случае уже вызывает субдискретизацию цветности, поэтому представление RGB «без потерь» демонстрирует данные. это в значительной степени было потеряно в любом случае.