Зважаючи на те, що у вас є Canon, нижчі режими RAW, mRAW та sRAW, НЕ ВИМОГАТИ ВИКОРИСТОВУВАТИ ВСІ з доступних пікселів сенсорів, щоб отримати більш багатий результат без необхідності інтерполяції байєра. Фактичний формат виводу, хоча він все ще міститься у файлі зображень Canon RAW .cr2, кодується у форматі Y'CbCr, подібно до багатьох форматів розкриття відео. Він зберігає інформацію про освітленість для кожного ПОВНОГО пікселя (2х2 квадратики 1 червоного, 1 синього та 2 зелених пікселів), а кожен канал кольоровості отримується з даних половини пікселів (1х2 пара 1 червоний + 1 зелений або 1 синій + 1 зелений) .
Я не точно впевнений у тому, які конкретні апаратні відмінності в читанні та кодуванні між mRAW та sRAW є, однак, загалом кажучи, чим менший вихідний формат, тим більше вхідна інформація пікселя для введення пікселів, яку ви можете використовувати для кожного вихідного пікселя. Невелика кількість інтерполяції, присутня в m / sRAW, є суперечливою, оскільки обидва формати інтерполюють набагато менше, ніж у вихідних RAW. Слід також зазначити, що ні mRAW, ні sRAW не є власне форматами "RAW" у нормальному сенсі ... Дані сенсора обробляються та перетворюються на щось інше до того, як вони будуть збережені у файл .cr2.
Щоб отримати докладніші відомості про формати YUV та Canon sRAW, дивіться мою відповідь тут: Чому кольоровий простір xvYCC не сприймає фотографії?
З розділу "Розуміння того, що зберігається у файлі Canon RAW .CR2":
Формат sRaw (для "малого RAW") був представлений з 1D Mark III в 2007 році. Це менша версія зображення RAW.
Для 1D Mark III, тоді для 1Ds 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 / четвертий сирий називається 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 (мінімально кодована одиниця). Див. T-81, стор. 36.
3.2.1 формат sRaw та sRaw2
h = 2 означає, що декомпресовані дані будуть містити 2 значення для першого компонента, 1 для стовпця n та 1 для стовпця n + 1. З двома іншими компонентами, декомпресованим 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 (год) та ширину 1 (v). Це вказує на те, що значення Luminance (Y ') складається з FULL 2x2 піксельних квадратиків ... або двох колонок 2x1 пікселів, збережених у y1 та y2.
Згадані нижче посилання, схоже, не конкретно заявляють про це, тому я трохи спекулюю тут, однак із sRAW2 (1/4 сировини) я вважаю, що інформація про освітлення отримана з блоку 4x4 пікселів, де h = 4 та v = 2. Кодування кольоровості було б складніше при зображенні розміру 1/4, оскільки масив фільтру кольорів байєра на датчику не розташований у акуратних червоних та синіх стовпцях. Я не впевнений, чи обробляються чергування стовпців висотою 2х1 для кожного компонента Cr і Cb, або чи виконується якась інша форма інтерполяції. Одне певне: інтерполяція вихідних даних завжди більша, ніж вихідні дані, і, наскільки я можу, не відбувається перекриття (як у звичайній інтерполяції байєрів).
Нарешті, sRAW1 / mRAW та sRAW / sRAW2 стискаються за допомогою алгоритму стиснення без втрат. Це критична відмінність між цими форматами та JPEG, яка також використовує кодування типу ycc. JPEG виконує стиснення втрат, що робить неможливим відновлення пікселів до їх точного оригінального зображення. Формати s / mRAW від Canon дійсно можуть бути відновлені до початкових 15-бітних даних із повною точністю.
Список літератури: