Учитывая, что у вас есть Canon, более низкие режимы RAW, mRAW и sRAW, ДЕЛАЙТЕ ИСПОЛЬЗОВАНИЕ ВСЕХ доступных пикселей датчика, чтобы получить более богатый результат без необходимости байеровской интерполяции. Фактический формат вывода, хотя он все еще содержится в файле изображения Canon RAW .cr2, кодируется в формате Y'CbCr, аналогично многим форматам выпадающего видео. Он хранит информацию о яркости для каждого ПОЛНОГО пикселя (2x2 квадрата из 1 красного, 1 синего и 2 зеленых пикселей), а каждый канал цветности получен из полупиксельных данных (1x2 пара из 1 красного + 1 зеленого или 1 синего + 1 зеленого) ,
Я не совсем уверен, каковы конкретные различия в низкоуровневом аппаратном чтении и кодировании между mRAW и sRAW, однако, вообще говоря, чем меньше выходной формат, тем больше входной информации о пикселях датчика можно использовать для каждого выходного пикселя. Небольшое количество интерполяции, присутствующего в м / ТРО является спорным, так как оба формата интерполировать гораздо меньше, чем родной RAW. Следует также отметить, что ни mRAW, ни sRAW не являются фактическими форматами «RAW» в обычном смысле ... данные датчика обрабатываются и преобразуются во что-то еще, прежде чем они сохраняются в файле .cr2.
Подробнее о форматах, полученных из YUV, и о Canon sRAW см. Мой ответ здесь: Почему цветовое пространство xvYCC не воспринимается фотографами?
Из «Понимание того, что хранится в файле Canon RAW .CR2»:
Формат sRaw (для «маленького RAW») был представлен с 1D Mark III в 2007 году. Это уменьшенная версия изображения RAW.
Для 1D Mark III, затем для 1D Mark III и 40D (все с Digic III) размер sRaw составляет точно 1/4 (одну четверть) от размера RAW. Таким образом, можно предположить, что каждая группа из 4 «пикселей датчика» суммируется в 1 «пиксель» для sRaw.
С 50D и 5D Mark II (с чипом Digic IV) RAW 1/4 размера все еще там (sRaw2), а также появляется RAW половинного размера: sRaw1. В 7D сырье половинного размера называется mraw (та же кодировка, что и в sraw1), 1/4 сырого - в sraw (как sraw2).
Jpeg sRaw без потерь всегда кодируется с 3 компонентами цвета (nb_comp) и 15 битами.
Jpeg-код Dcraw был впервые изменен (8.79) для обработки sRaw из-за значения h = 2 первого компонента (серый фон в таблице). Обычные RAW всегда имеют h = 1. Начиная с 50D, мы имеем v = 2 вместо v = 1 (оранжевый в таблице). Dcraw 8.89 является первой версией, которая справится с этим и sraw1 из 50d и 5D Mark II.
«h» - коэффициент горизонтальной выборки, а «v» - вертикальный коэффициент. Он указывает, сколько горизонтальных / вертикальных единиц данных закодировано в каждом MCU (минимальная единица кодирования). См. Т-81, стр. 36.
3.2.1 Формат sRaw и sRaw2
h = 2 означает, что распакованные данные будут содержать 2 значения для первого компонента, 1 для столбца n и 1 для столбца n + 1. С 2 другими компонентами, распакованными sraw и sraw2 (которые имеют h = 2 и v = 1), всегда есть 4 элементарных значения
[y1 y2 xz] [y1 y2 xz] [y1 y2 xz] ...
(y1 и y2 для первого компонента)
Каждый «пиксель» в изображениях sRAW и mRAW содержит четыре компонента ... разделенный Y-компонент (y1 и y2), а также x (цветность Chrominance Blue) и z (цветность Chrominance Red). Все четыре компонента (с точки зрения 1/2 изображения, sRAW1 / mRAW) имеют высоту столбца 2 (h) и ширину 1 (v). Это указывает на то, что значение яркости (Y ') состоит из ПОЛНОГО квадрата 2x2 пикселей или двух столбцов 2x1 пикселей, сохраненных в y1 и y2.
Приведенные ниже ссылки, по-видимому, конкретно не утверждают это, поэтому я немного размышляю здесь, однако с помощью sRAW2 (1/4 необработанного) я считаю, что информация о яркости будет получена из блока пикселей 4x4, где h = 4 и v = 2. Цветовое кодирование станет более сложным для изображения размером 1/4, поскольку матрица байерового цветового фильтра на датчике не расположена в аккуратных красных и синих столбцах. Я не уверен, обрабатываются ли чередующиеся столбцы высотой 2x1 для каждого компонента Cr и Cb или выполняется какая-либо другая форма интерполяции. Одно можно сказать наверняка ... интерполяция исходных данных всегда больше выходных данных, и, насколько я могу судить, перекрытия (как в обычной байеровской интерполяции) не происходит.
Наконец, sRAW1 / mRAW и sRAW / sRAW2 сжимаются с использованием алгоритма сжатия без потерь. Это критическое различие между этими форматами и JPEG, который также использует кодировку типа YCC. JPEG выполняет сжатие с потерями, что делает невозможным восстановление пикселей до их точного исходного представления. Форматы Canon s / mRAW действительно можно восстановить до исходных 15-битных изображений с полной точностью.
Ссылки: