Содержит ли формат Canon * .CR2 / CRW данные «действительно RAW»?

11

В своей работе я имею дело с * .CR2 необработанными изображениями, снятыми цифровой зеркальной фотокамерой Canon в необработанном режиме. Когда я прочитал о формате здесь , я был удивлен, обнаружив, что он имеет 4 IFD TIFF, которые содержат: а) исходный размер изображения JPEG б) миниатюрное изображение JPEG в) несжатые данные RGB d) изображение JPEG без потерь.

До сих пор у меня было впечатление, что любой файл RAW, снятый камерой, будет иметь необработанные данные Байера, то есть данные Байера R, Gr, B, Gb, и некоторые данные EXIF ​​о настройках захвата камеры и т. Д.

Но после прочтения этой спецификации CR2 я немного озадачен тем, как она может иметь данные RGB или даже удивительно данные JPEG. Похоже, что это данные после демозаики (получение недостающих данных пикселей R / G / B для оригинальной матрицы Байера датчика). Если бы это было так, я бы не считал * .CR2 «действительно необработанными» данными. Он выполнил демозацию перед тем, как сбросить так называемый необработанный файл.

Я что-то упускаю?

Есть ли в других форматах Camera Raw (например, Nikon - * .NEF, Kodac - * .kdc, Pentax - * .ptx / pef, ...) реальные необработанные байерские данные без какой-либо обработки?

Золотая середина
источник
2
На странице, на которую вы ссылаетесь, написано, что она содержит паттерн Байера, так что да, он имеет паттерн Байера.
Ссылка о формате не работает
Pedro77

Ответы:

11

Я думаю, что вы определенно что-то упустили. Обратите внимание: JPG используется для хранения (и обычно сжатия, с потерями) изображений. Любое изображение. Что такое изображение? Это большой большой пакет пикселей, когда все сказано и сделано.

Выходной сигнал от датчика камеры также представляет собой большой набор пикселей. Просто они не являются полноцветными пикселями RGB, они являются монохромными пикселями - то, представляет ли какой-либо отдельный пиксель RG или B, зависит от его расположения на известном датчике изображения. Но их монохромный характер, заданный цветом по положению, не означает, что они не могут быть сохранены в формате JPG. Связка пикселей - это связка пикселей, а зачем изобретать велосипед?

Посмотрите внимательнее на документ. «Таким образом, с сеткой BAYER из RG / GB четные строки чередовали данные HuffCode / Diff для ... RGRGRG ..., в то время как нечетные строки это ... GBGBGB ...». Таким образом, необработанный вывод Байера сохраняется в формате JPG. Утверждается, что без потерь (в противном случае у нас были бы проблемы!) И предположительно в глубине более 8 бит. Вы слишком много готовите, чтобы получить полезную фотографию.

Другие изображения JPG используются для предварительного просмотра в камере, гистограммы и тому подобного. Имеет смысл готовить их раз и навсегда по мере того, как снимок сделан, вместо того, чтобы делать это на лету каждый раз, когда вы хотите посмотреть на них. Это также означает, что компьютер может использовать их в качестве миниатюр, когда вы выгружаете камеру в ПК.

*** Я не могу добавить комментарий по какой-то причине, так что это здесь: Goldenmean, что заставляет вас думать, что есть проблема, что у вас нет полной информации RGB для каждого пикселя? Предполагая, что вы создаете формат RAW и у вас есть измерение 128 из «красной» сенсорной ячейки; Вы можете либо сохранить его как 128,0,0 или 128,128,128, либо, если вы чувствуете себя умным, 128 «данные из следующей ячейки», «данные из ячейки после этого», чтобы сэкономить место. На самом деле не имеет значения. Работа RAW-конвертера заключается в том, чтобы отслеживать это (хотя я уверен, что программисты оценят это, если вы задокументируете, как вы решили хранить данные датчика), и сделать из этого реальную картину.

Staale S
источник
2
Формат JPG с потерями, с которым мы все знакомы, по-видимому, довольно сильно отличается от запутанно названной схемы «Lossless JPEG», используемой в этих необработанных файлах.
Лиман Эндерс Ноулз
2
@ Лиман: Да, это так. Например, он также используется в DNG, например: en.wikipedia.org/wiki/Lossless_JPEG
Guffa
Я понимаю - «все с точностью до пикселя» и «кодек JPEG без потерь», но все еще остается вопрос, как он может иметь 3 компонента для каждого пикселя, сохраненного в необработанном виде. Датчик не дает триплет для каждого физического пикселя, но он дает только один из 3 (R, G или B), а не все 3, которые, по-видимому, хранятся в форматах для eack-пикселя. То есть qn.
goldenmean
2

DNG содержит JPG без потерь в оттенках серого с разрешением в 4 раза выше, чем в « обычном » цветном файле jpg. Это более понятно сейчас?

В чем проблема при размещении трех типов черных шаров в корзине, которая предназначена для удержания 3-х цветных шаров ?

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

Вероятно, они записали бы матричные данные в zip, rar, flac или любой другой формат без потерь почти таким же образом. Но для этого потребуется добавить в программное обеспечение камеры кучу алгоритмов, которые не нужны.

user28170
источник
Я смущен твоим объяснением. ссылка больше не работает, но OP указывает на наличие файлов TIFF. Если камера может воспроизводить файлы в формате TIFF, то зачем ей нужно кодировать необработанные данные в JPG? JPG без потерь означает, что данные не будут потеряны при сжатии, но это не обязательно означает, что преобразование необработанных данных матрицы в JPG каким-либо образом не трансформирует и не теряет информацию, не так ли?
MikeW