Файлы RAW хранят 3 цвета на пиксель или только один?

Кен Роквелл говорит , что производители камер учитывают отдельные датчики R/G/B, когда говорят о мегапикселях. Таким образом, изображение ниже будет камерой 6x6 пикселей, а не 3x3, как вы могли себе представить.

введите описание изображения здесь

Если это так, файл RAW будет содержать только одну информацию о цвете на пиксель (будь то R, G или B) в виде 10-, 12- или 14-битного числа.

Мое замешательство приходит, когда я читаю в некоторых местах такие вещи, как:

  • Файлы RAW хранят в среднем два зеленых сенсора на пиксель.
  • Файлы RAW используют 12 бит на пиксель, но есть 3 цвета, так что на самом деле это 36 бит на пиксель.

Что, очевидно, было бы ложным, если утверждение Кена верно.

Так что правда?

Ответы (3)

Необработанные файлы на самом деле не хранят цвета на пиксель. Они хранят только одно значение яркости на пиксель.

Это правда, что с маской Байера над каждым пикселем свет фильтруется красным, зеленым или синим фильтром¹ над каждым пикселем. Но нет жесткой границы, при которой только зеленый свет проходит к пикселю, отфильтрованному зеленым, или только красный свет проходит к пикселю, отфильтрованному красным. Есть много совпадений. Через зеленый фильтр проходит много красного и немного синего света. Через красный фильтр проходит много зеленого и даже немного синего света, а некоторое количество красного и зеленого света записывается пикселями, отфильтрованными синим цветом.

цветовая реакция

Поскольку необработанный файл представляет собой набор отдельных значений яркости для каждого пикселя на датчике, в необработанном файле нет фактической информации о цвете для каждого пикселя. Цвет получается путем сравнения соседних пикселей, отфильтрованных по одному из трех цветов с помощью маски Байера. Но точно так же, как установка красного фильтра перед объективом при съемке на черно-белую пленку не дает монохроматического красного снимка (или черно-белого снимка, где толькокрасные объекты вообще не имеют яркости), маска Байера перед однотонными пикселями также не создает цвета. Что он делает, так это изменяет тональное значение (насколько ярким или темным записывается значение яркости определенного цвета) различных цветов в разной степени. Когда сравниваются тональные значения (интенсивность серого) соседних пикселей, отфильтрованных с помощью трех разных цветов, используемых в маске Байера, цвета могут быть интерполированы из этой информации. Это процесс, который мы называем демозаикой .

Чтобы присвоить значение R, G и B для каждого пикселя , требуется много математических вычислений . Существует множество различных моделей для выполнения этой интерполяции. То, насколько смещено значение красного, зеленого и синего в процессе демозаики, определяет баланс белого и цвета . Гамма-коррекция и любое дополнительное формирование кривых светового отклика — это то, что задает контраст . Но, в конце концов, каждому пикселю присваивается значение R, G и B. В вашем примере 6x6 пикселей в вопросе результатом демозаики будет 36-пиксельное изображение с 36 пикселями, каждый из которых имеет значение красного, зеленого и синего.

Немного теряется разрешение при переводе. Получается, что с точки зрения количества чередующихся черных и белых линий на дюйм или мм, которое может быть разрешено датчиком с маской Байера RGGB и хорошо выполненной демозаикой, абсолютный предел разрешения датчика Байера составляет около 1/√2. по сравнению с монохроматическим датчиком, который не имеет маски Байера и, следовательно, не нуждается в демозаике (но может видеть только в черно-белом режиме).

Даже если ваша камера настроена на сохранение необработанных файлов, изображение, которое вы видите на задней панели ЖК-экрана вашей камеры сразу после того, как вы сделаете снимок, не является необработанными необработанными данными. Это изображение для предварительного просмотра, созданное камерой путем применения настроек камеры к необработанным данным, что приводит к изображению для предварительного просмотра в формате jpeg, которое вы просматриваете на ЖК-дисплее. Это изображение для предварительного просмотра добавляется к необработанному файлу вместе с данными датчика и информацией EXIF, которая содержит внутренние настройки камеры на момент съемки фотографии.

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

Когда вы открываете «сырой» файл на своем компьютере, вы видите одну из двух разных вещей:

  • Изображение в формате JPEG для предварительного просмотра, созданное камерой во время съемки. Камера использовала настройки, действовавшие при съемке снимка, и добавила его к необработанным данным в файле .cr2. Если вы смотрите на изображение на задней панели камеры, вы видите предварительный просмотр в формате jpeg.

  • Преобразование необработанных данных приложением, которое вы использовали для открытия «сырого» файла. Когда вы открываете 12-битный или 14-битный «сырой» файл в приложении для работы с фотографиями на компьютере, то, что вы видите на экране, представляет собой 8-битную визуализацию демозаического необработанного файла, который очень похож на jpeg, а не на фактический монохроматический 14-битный файл, отфильтрованный Байером. Когда вы меняете настройки и ползунки, «необработанные» данные переназначаются и снова визуализируются в 8 битах на цветовой канал.

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

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

Canon Digital Photo Professional откроет необработанный файл .cr2 в том же стиле изображения , который был выбран в камере при съемке. Все, что вам нужно сделать, чтобы изменить его, это использовать раскрывающееся меню и выбрать другой стиль изображения . Вы даже можете создать «рецепт» для одного изображения, а затем применить его ко всем изображениям, прежде чем начать с ними работать. Программное обеспечение для необработанной обработки других производителей аналогично, и обычно есть возможность открыть приложение для изображения с примененными настройками обработки в камере.

Со сторонними приложениями для необработанной обработки, такими как Adobe Lightroom или Camera Raw , Apple Aperture или Photos , PhaseOne Capture One Pro , DxO Lab OpticsPro и т. д ., получение изображений для отображения в соответствии с настройками камеры может быть немного сложнее. Продукты Adobe, например, игнорируют большую часть раздела заметок производителя необработанных данных EXIF ​​файла, где многие производители включают по крайней мере часть информации о настройках камеры.

¹ Реальные цвета маски Байера перед датчиками большинства цветных цифровых камер: синий — слегка фиолетовая версия синего с центром в 450 нанометров, зеленый — слегка голубоватая версия зеленого с центром в 540 нанометров и красный — слегка оранжевая версия желтого. То, что мы называем «красным», — это цвет, который мы воспринимаем для света с длиной волны около 640 нанометров. «Красные» фильтры на большинстве массивов Байера пропускают больше всего света где-то около 590-600 нанометров. Перекрытие между «зелеными» и «красными» колбочками в сетчатке человека даже ближе, чем у «красных» с центром около 565 нанометров, которые мы воспринимаем как желто-зеленые.

Это в корне неверно. Вы говорите (или, по крайней мере, очень сильно намекаете), что это работает, потому что информация о цвете просачивается к соседям. Это не обязательно. Raw работал бы нормально, если бы фильтры были абсолютно идеальными. Различные алгоритмы демозаики «задействуют много математики», но самый простой из них — просто усреднить соседние пиксели, и это работает на удивление хорошо. Я предполагаю, что это сделано несколько миллионов раз на многомегапиксельном изображении, что технически «много» математики, но это не сложная математика — это материал для третьего класса.
Байер работает, потому что, как правило, можно предположить , что пиксель, например, в месте с синим фильтром, имеет такое же количество зеленого, как и зеленые пиксели рядом с ним (и то же самое для красного). Когда это предположение не работает, вы получаете артефакты, и это то, что пытаются разрешить более сложные алгоритмы. Они не работают, предполагая специальные знания о частотной характеристике фильтров.
«Вы говорите (или, по крайней мере, очень сильно намекаете), что это работает, потому что информация о цвете просачивается к соседям». Я не говорю и не подразумеваю ничего подобного. Я только утверждаю тот факт, что фильтры не являются абсолютно идеальными, и поэтому идея о том, что каждый набор отфильтрованных пикселей является точным представлением этого цвета, как это часто представляют такие люди, как Кен Роквелл (упомянутый в вопросе), совершенно нелепа. .
Возможно, я неправильно понял то, что вы говорили все это время, поскольку вы часто поднимаете эту тему. :) Тем более, что вы открываете ответ с ним, не могли бы вы отредактировать, чтобы объяснить это так, чтобы это стало более понятным? В частности, вы имеете в виду, что перекрывающиеся фильтры означают, что результат в корне неточен независимо от того, какая обработка выполняется, и мы просто живем с этим, или что его можно сделать точным с помощью некоторого преобразования в демосии, или что его можно сделать более точным с помощью еще один шаг, который требуется для рендеринга файлов RAW (но который не является частью демосии)?
Я имею в виду только то, что слишком много людей неправильно описывают маску Байера как пропускающую только зеленый свет через зеленый фильтр, пропускающую только красный свет через красный фильтр и пропускающую только синий свет через синий фильтр. Это не больше, чем утверждение, что использование зеленого фильтра с черно-белой пленкой позволит захватить только зеленый свет в сцене. Использование зеленого фильтра означает только то, что зеленый свет проходит с более высокой скоростью пропускания, чем красный или синий свет, но некоторые из всех трех проходят. Только сравнивая различия между светом...
...отфильтровав все три цвета, можем ли мы действительно аппроксимировать любой из цветов для любого из пикселей. Как вы сами сказали в ответе : «Цвет», как мы его понимаем, не является реальным свойством чего-либо во Вселенной».
@mattdm усреднение соседних пикселей дает очень размытую фотографию, и на рынке нет камеры, которая делает это таким образом. Алгоритмы демозаики используют корреляцию между пикселями RGB для значительного улучшения разрешения за счет случайных артефактов. И здесь определенно присутствует тяжелая математика.
@MarkRansom Конечно, базовый алгоритм не самый лучший. Но для восстановления совершенно приличного цвета вполне годится. Ничего более сложного, чем требуется для этого. Посмотрите этот ответ для практических примеров , если вы мне не верите.
«Много математики...» не обязательно требует, чтобы это была очень сложная математика. Много простой арифметики по-прежнему «...много математики». Необработанный файл с 20 миллионами пикселей требует миллионов арифметических операций для его демозаики. Если вы не думаете, что это много математики, попробуйте сделать это вручную!
@MichaelClark Я смею вас придумать, например, простой бикубический фильтр без обширного математического образования. Сами расчеты могут быть простыми, но определение факторов, влияющих на эти расчеты, совсем не то.
@mattdm Я не имел в виду, что простые алгоритмы не могут давать идеально распознаваемые результаты, просто они не подходят для наших способов просмотра пикселей. Только самое дешевое видео или веб-камеры попытаются избежать наказания за это.
@MarkRansom Вы слишком много читаете в моем предыдущем комментарии, который был ответом на первоначальный комментарий Мэтта, который, кажется, подразумевает, что усреднение соседних пикселей не требует много математики. Пожалуйста, просто примите это за чистую монету». «Много арифметики — это все еще много математики». Это утверждение не исключает возможности того, что более сложная математика участвует в определении того, какие вычисления необходимо выполнить, или даже в самих этих вычислениях.
@mattdm Это фундаментальное заблуждение, что фильтры CFA будут давать лучший цвет, если они не перекрывают друг друга. На самом деле хорошая цветопередача требует значительного спектрального перекрытия, без которого условие Лютеривса не может быть выполнено или хотя бы близко приближено к нему. Это не связано с демозаикой, поскольку цвет большой площади в смысле CIEXYZ является исключительно функцией трех уровней «RGB». Хорошая цветопередача требует значительного перекрытия.
@doug Да, я более подробно расскажу об этом в этом ответе на более свежий вопрос: почему красный, зеленый и синий являются основными цветами света?
Кроме того, цвета, используемые в масках Байера, отличаются от цветов, излучаемых нашими RGB-экранами. "Красный" даже близко не стоит. «Красные» колбочки в нашей сетчатке наиболее чувствительны примерно к 564 нм (лаймово-зеленый цвет между зеленым и желтым), «красные» фильтры в большинстве масок Байера наиболее пропускают около 590–600 нм (оранжево-желтый), в то время как наши системы RGB излучают 640–650 нм для «красного».</sub>

Кен прав в утверждении, которое вы цитируете. Верно, что цифровые камеры сегодня (за исключением тех, у которых есть датчики Sigma Foveon) работают с использованием матрицы Байера, а разрешение датчика указывается как размер матрицы. Ваше примерное изображение представляет собой датчик «36 пикселей». Однако важно признать, что камеры превращают это в полноцветное изображение полного указанного размера в реальных пикселях , и что это не так плохо, как это изображает Кен .

Несколько вещей, которые он говорит в этой статье, совершенно неверны, начиная с:

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

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

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

Он прав в том, что съемка в RAW не меняет основ, но мысль о том, что старые файлы перестанут работать, в принципе ерунда . Поскольку в старых камерах используется один и тот же базовый принцип и принципиально схожие форматы файлов, поддержка старых моделей на неопределенный срок не требует больших затрат, и у поставщиков есть много стимулов для этого — и даже если это произойдет, есть отличные возможности. декодеры с открытым исходным кодом.

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

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

Есть также фактор, за который Кена можно извинить, поскольку статье уже десять лет. В 2006 году большинство камер были в диапазоне 5-8 мегапикселей, а модели DSLR высокого класса — до 12. Теперь типичные зеркальные фотокамеры низкого/среднего диапазона и беззеркальные камеры предлагают 16 и 24 мегапикселя, и эта цифра увеличивается. На данный момент придираться к деталям цвета на уровне пиксельного просмотра действительно академично, потому что в реальном мире очень редко освещение, линзы, стабильность и все остальное совпадают настолько хорошо, что это является ограничивающим фактором.

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

Да, и забавный бонус: ЖК-экраны на задней панели камеры и электронные видоискатели также используют три цветных субпикселя для представления одного цифрового пикселя, и эти экраны обычно продаются с количеством субпикселей — фактически в 3 раза больше, чем вы могли бы ожидать . от того, как дается разрешение экрана компьютера.

«Так же вероятно, что производитель вашей камеры больше не будет поддерживать вашу старую камеру в завтрашнем необработанном программном обеспечении!» У нас осталось несколько лабораторий по обработке пленки. Ограничения поставок, вероятно, приведут к прекращению производства пленки. Будет ли это происходить с файлами RAW? Буквально каждый файл, созданный компьютером с 70-х годов, по-прежнему можно использовать в любом современном программном обеспечении, если его структура задокументирована или реконструирована.

Все верно, но интерпретация может быть натянутой.

Этот конкретный необработанный цветовой шаблон называется шаблоном Байера.

Да, необработанный — это один цвет на пиксель, и этот пиксель (обычно) 12 бит. Таким образом, есть три цвета необработанных пикселей: некоторые из них синие, некоторые красные, а в 2 раза больше — зеленые.

Затем программное обеспечение для необработанной обработки (чтобы сделать RGB JPG, оно может быть сразу в камере или может быть внешним намного позже) преобразует необработанные данные в изображение RGB, чтобы мы могли его использовать. Это интерполяция, соседние пиксели двух других цветов объединяются в каждый из этих пикселей RGB, но все они становятся пикселями RGB. В этот момент это 36-битные пиксели RGB, однако пространственное разрешение немного скомпрометировано, поскольку данные о различных пикселях используются совместно с соседями. Мы можем получить (например) 6000 RGB-пикселей ширины сенсора, но они получены из 2000 синих и 2000 красных сенсоров и т. д. (и данные также распределяются по вертикали, они поступают из более чем трех пикселей). Это называется демозаикой... которую можно найти в Интернете.

ИМХО обычно 14 бит. Только старые камеры (например, Canon S120) хранят 12 бит на пиксель.
@RomeoNinov, это не так просто, как старое и новое. Например, некоторые Nikon позволяют выбирать 12 или 14 бит, поэтому вы можете найти компромисс между глубиной изображения и частотой непрерывной съемки и размером изображения.
@PeterTaylor, никогда не знай, я стрелок Canon. Но для меня это должно быть исключением, а не правилом (12 бит). И насколько я помню некоторые камеры хранят в 16 битах на пиксель
Было бы гораздо более сильным аргументом, если бы вы предоставили какие-либо доказательства того, что большинство камер Canon являются 14-битными. Вот Canon утверждает обратное: cpn.canon-europe.com/content/education/infobank/… «Большинство цифровых камер EOS снимают изображения в 12-битном режиме»
@WayneF На основе камеры, которую Canon называла лучшей в то время (1D Mark II), эта статья была написана где-то между апрелем 2004 г. (когда 1D II заменил 1D) и июнем 2005 г. (когда 1D Mark IIN заменил 1D II) .