Как камера создает файлы меньшего размера при съемке в формате mRAW или sRAW?

Большинство DLSR среднего и высокого класса предлагают два или три размера для захвата RAW. Когда камера создает RAW-файлы среднего или малого размера, как она уменьшает их размер? Захватывает ли он меньше информации на датчик? Захватывает ли он весь объем информации, а затем применяет какое-то сжатие в камере? Делает ли он что-то еще, что я не описываю?

Вы говорите о небольших различиях в необработанных размерах файлов или о разных размерах необработанных изображений?

Ответы (4)

Дуглас Керр дает мастерское и в значительной степени не математическое резюме в Форматах вывода Canon sRaw и mRaw . Ситуация сложная и не совсем понятная, но многое удалось выяснить с помощью реверс-инжиниринга. Очевидно, что sRaw представляет собой агрегацию 2 x 2, но с некоторой субдискретизацией цветности; mRaw, вероятно, является добросовестной передискретизацией (включая локальную интерполяцию) с более тяжелой субдискретизацией цветности. Можно действительно охарактеризовать каждый из них как форму «сжатия в камере», выполняемого изощренным способом, чтобы оптимизировать отображение деталей для человеческого глаза для заданного размера выходного файла.

В двух словах: меньшие «сырые» файлы объединяют значения датчиков в блоках пикселей .

Например, формат Canon RAW передает информацию об отдельных «сенсорах». Каждый сенсор (или «фотосайт») реагирует на ограниченный диапазон частот (называемый красным, зеленым и синим). Каждый из них, когда он будет «проявлен», будет располагаться в одном пикселе конечного изображения.

Однако формат Canon sRAW передает сводную информацию о 2 x 2 блоках сенсоров. Он сообщает данные о яркости (яркости) для каждого блока, но «уничтожает» (пропускает обычным способом) часть информации о цвете. Таким образом, происходит несколько важных вещей:

  • Индивидуальные сенсорные данные больше не доступны. (Данные sRAW действительно «обрабатываются».)

  • Разрешение изображения уменьшается (уменьшается вдвое, что означает, что пикселей в четыре раза меньше).

  • Размер файла данных уменьшается примерно на две трети.

  • Данные sRAW не являются «подмножеством» данных RAW. Они представляют собой другую кодировку необработанных данных с меньшим количеством информации . Никакие сенсоры не «игнорируются».

(Обычно уменьшение разрешения изображения в два раза уменьшает его размер на диске до одной четверти от исходного. Однако здесь исходные датчики передают около 14 бит информации, что составляет 56 бит в каждом блоке 2 x 2. в формате RAW. В sRAW каждый блок 2 x 2 кодируется как три 8-битных фрагмента или 24 бита. Таким образом, результирующий поток данных составляет всего 24/56 = примерно 1/2 размера оригинала и уменьшается еще на 1/3 за счет прореживания данных цветности, что дает чистое уменьшение на 2/3. В sRAW применяется сжатие без потерь, поэтому соотношение может немного отличаться.)

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

Проще говоря, камера изменяет размер фотографии, чтобы в файле sRaw было меньше пикселей, поэтому размер файла был меньше. Например, Canon 50D sRaw1 имеет разрешение 7,1 мегапикселя по сравнению с полными 15,1 мегапикселями сенсора.

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

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

Я не уверен в сжатии без потерь. Вероятно, это будет очень специфично для бренда и модели и, вероятно, не будет функцией, которую использует каждая модель камеры. Большинство файлов RAW представляют собой действительно необработанные, незапятнанные данные с датчика без какого-либо сжатия.
@jrista: FYI - сжатие RAW без потерь начинает использоваться в современных камерах. Например, Nikon D7000 поддерживает 14-битное сжатие без потерь в файлах NEF ( nikonusa.com/Find-Your-Nikon/Product/Digital-SLR/25468/… )
Я думаю, что основные производители уже некоторое время используют некоторую форму необработанного сжатия без потерь - оглядываясь назад на мои необработанные файлы Canon с моего старого 30D, они все имеют совершенно разные размеры файлов, если бы это были необработанные неиспорченные данные, они все были бы тот же размер!
@jrista Наименьший размер файла из моего 30D составлял 5,6 МБ, а самый большой - 9,6 МБ, что слишком велико для миниатюры JPEG. Видя, что небольшие необработанные изображения имеют большие области чистого белого цвета, я почти уверен, что Canon использует кодирование длин серий для обеспечения сжатия необработанных данных без потерь.
Мэтт прав; что касается Canon, например, не секрет, что Canon RAW использует сжатие без потерь. Поиск в Google «Canon raw без потерь» приводит прямо к этому, например: cpn.canon-europe.com/content/education/infobank/…

Если вы имеете в виду небольшие различия в размере необработанных файлов при съемке необработанных файлов с полным разрешением, то объяснением является сжатие без потерь. См.: http://cpn.canon-europe.com/content/education/infobank/image_compression/lossless_and_lossy_compression.do

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