Skip to Content

RAW

О синем цвете и зеленых каналах: Panasonic G3

Я уже про это писал, но во-первых чисто умозрительно (на пальцах), а во-вторых не полностью верно, пришло время вернуться.

Чтобы не троллить больше владельцев Sony A77, возьмем для примера Panasonic G3. А именно, возьмем с imaging resource снимки мишени CoolorChecker и постараемся разобраться, что же камера с них выдает.

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

Для краткости я буду называть патчи прямо по их именам (см. первую картинку в посте), а все приведенные ниже гистограммы - это гистограммы по RAW-данным, единственное сделанное преобразование - это вычтен уровень черного.

Для начала, сформулируем тезисы, которые ниже я пытаюсь проиллюстрировать.

Суть проблемы (профилирования)

Проблему я формулирую так:

  • Все поля мишени с точки зрения программы профилирования - равнозначны. В лучшем случае профилировщик учтет дисперсию сигнала в данном поле, да и то, скорее интегральную, а не поканальную.
  • С точки же зрения камеры, величина ошибки по полям и по каналам - очень разная. Тут и шум и разная чувствительность каналов и ступенчатость восприятия, особенно на высоких ISO.
Естественно, проблема касается не только профилирования, но и вообще захвата слабых каналов. Посмотрим с этой точки зрения на изучаемый панасоник.

О линейности RAW и ETTR

Рядовой Иванов, о чем вы думаете, глядя на эту кучу кирпича?

На картинке - кривая, которая применяется к RAW-данным камеры Sony NEX-C3 при их распаковке. NEX-C3 просто первая попалась под руку, в компрессированных RAW A77 или A900 совершенно такая же по смыслу кривая, немножно отличается в деталях.

После наложения этой кривой, RAW-данные становятся линейными. Соответственно, при упаковке используется обратная кривая, линейная в тенях и полутонах и загибающаяся в светах (последних 3 стопах диапазона). По сути, три верхних стопа диапазона сжали в 1 стоп сигнала.

Где именно происходит процесс сжатия светов из формы кривой (и процедуры распаковки) выяснить нельзя, это может быть и цифровой процесс над линейными данными обычного АЦП и сжатие в нелинейном АЦП или нелинейном предусилителе.

Собственно, ничего плохого в такой компрессии светов нет. От того, что в верхнем стопе будет не 2048 градаций (предполагая 12-битный АЦП), а "всего" около 600 - становится только хорошо, потому что поэкономленные 1400 градаций переезжают на второй и третий стопы сверху (полутона и следующий стоп за ними).

О плавающей точке и точности вычислений...

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

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

Ну, за линейность!

Вот, кстати, интересные картинки на тему (якобы) линейности сенсора камеры

www.maxmax.com/nikon_d700_study.htm. Там еще есть, для D200, D300 и 40D

То есть, для меня вопрос, что именно они меряли (не значения ли в JPEG, судя по максимуму, хоть и написано "raw linearity graphs"), но ступенька в красном в любом разе весьма удивительна.

Update: судя по длинам выдержек, это привет от внутрикамерных шумодавов разных систем.

Вжик, сказала пила.....

Как и обещал ранее, я тут засунул лом в японскую бензопилу сделал мишеньку для выведения алгоритмов интерполяции на чистую воду.

В том смысле, что преобразовал показанную слева картинку в DNG и скормил двенадцати демозаикам в LibRaw. Ну и тройке настоящих конверторов, попавших под горячую руку.

Ну и написал на эту тему статью, как водится, читайте: Байеровский муар.

Комментировать и обсуждать лучше там, но для тех кому лень, я комментарии тут тоже не закрываю.

Полстраницы о высоких ISO у ЦФК

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

Несколько тезисов

Сенсор цифровой камеры - он цифровой, считает электроны
Прибывающие фотоны превращаются в заряд с какой-то квантовой эффективностью, вот прямо в штуки электронов. Квантовая эффективность современных сенсоров - порядка 0.5, два фотона в один электрон (зависит от длины волны, для самых синих все много хуже), это уже после байеровских светофильтров.
Емкость одного пикселя (сенселя) - конечна
Один пиксель может накопить не очень много электронов, десятки тысяч. Емкость пикселя определяется его площадью в первую очередь. У Роджера Кларка есть красивая табличка с парой десятков камер Canon/Nikon, у него же описана методика самостоятельного определения характеристик камеры.
После считывания с сенсора, сигнал может быть усилен
Усиление используется, чтобы привести слабый сигнал к удобному для АЦП диапазону.
Заметим в скобках, что цифровые камеры получаются "дважды цифровыми": сначала дискретные отсчеты на сенсоре, потом оцифровка их на АЦП
Динамический диапазон определяется отношением сигнала к шуму
Шумы при этом - это и шум квантования на сенсоре (т.к. число электронов всегда целое) и шум усилителя и тепловые шумы (электроны, возникшие сами по себе, без упавших фотонов) и шум квантования на АЦП.
Теперь перейдем к простому примеру.

Update: дописал два абзаца про синий канал, высокие ISO и лампы накаливания. Если не хотите огорчаться, лучше не читайте.

Кнопка Шыдевыр

Павел Косенко, заполучив непубличную бету Raw Photo Processor с профилями пленки, дразнит своих читателей результатами финальной обработки.

Мне же кажется более важным показать именно первый шаг: что именно дает применение пленочных профилей на первой стадии обработки, RAW-конвертации, еще до постпроцессинга в фотошопе.

Кроме того, я терпеливо дождался появления этой функциональности в публично доступной версии, вчера вышел RPP 4.1.3 в котором профили пленок есть.

На картинке слева - фрагмент изображения (жмякните, чтобы увеличить), к левой половине применен профиль V50 (Velvia 50) и снижен до -6 контраст (для изображения с богатыми тенями профиль Вельвии излишне контрастен), правая половина - рендеринг по-умолчанию. Впечатление, как вы можете видеть, что левую половину просто протерли тряпкой от пыли.

Естественно, подобный эффект легко достижим через, например, HIRALOAM (Unsharp Mask с HIgh-RAdius-LOw-AMount), но важно что профильное преобразование - локальное, с каждым пикселем отдельно, никаких нелокальных побочных эффектов вроде гало - не возникает.

Dan Margulis on RAW module

dan_margulis_2008sm.jpg На LibRaw появился новый автор: Dan Margulis. Хочется надеяться, что сотрудничество будет не разовым, но гарантировать я это не могу. Пока же представляем вниманию читателей один текст на двух языках:

Dan Margulis on RAW module
The question that needs an answer is, for what purpose is the module designed. I can think of four different approaches to acquisition.
  1. I want the module to do nothing more than open the file without damage. I understand that it will probably be flat and colorless if I do this. I intend to fix the problems in Photoshop.
  2. Although I will refine the image in Photoshop, I would like to be able to make quick, obvious moves in the acquisition module to make life easier later.
  3. ....
Дан Маргулис: Мысли о назначении и некоторых проблемах конверторов RAW
Вопрос, которым следует задаться в первую очередь, - это место RAW конвертора в цепочке обработки изображения. Иными словами, требуется определить те цели, которые должны быть решены на этапе конвертации RAW-данных. Я могу представить себе 4 различных подхода к определению задач этого модуля.
  1. От модуля требуется лишь преобразование RAW-данных без потери качества. Мы отдаем себе отчет в том, что результат будет плоским (малоконтрастным) с ненасыщеными цветами. Для того чтобы вернуть изображение к жизни мы будем использовать Photoshop.
  2. ...

Ручная работа!

5d2-mask.png

Если рассматривать черную рамку у 5D Mark II, взяв кадры с разных камер, то становится очевидно, что матрицы делаются вручную (китайские крестьяне в своих фанзах?). Вот, собственно, пример: два кадра (сложены слоями в фотошопе со смещением), оба ISO 100, камеры разные. У одного по верхнему краю просто насечки от шестеренки, а у другого - еще и темная полоса.

As RAW as possible

kaf50100.png Говоря о RAW-данных ("необработанные", "данные прямо с матрицы") большинство фотографов (да и не только фотографов) полагают, что сенсор - это очень простая штука: массив светочувствительных элементов, цветные фильтры, сбоку прикручен АЦП (или несколько). Появляется в рекламных буклетах производителей фраза "мы уменьшили зазор между микролинзами" - вспоминают еще и про микролинзы. Документации то разумной почти нет. Про острую нужду в кривых спектральной чувствительности мы уже писали в статье для Компьютерры, но есть острая нужда не только в этих данных.

Вот, например, "черная рамка" или маскированные пикселы. Они считываются с матрицы, но в финальное изображение - не попадают. Значения считанных оттуда пикселов - это источник данных для выставления уровня черного. Если читать исходные тексты dcraw, то видно, что для большого числа камер Dave Coffin (а за ним - и многие последователи) банально вычисляет среднее по некоему участку черной рамки (или же в последних версиях для некоторых камер делает чуть-чуть сложнее, считая отдельное среднее для четных и нечетных столбцов), затем это среднее вычитается из значений, считанных с активных пикселов и все.

Впрочем, некоторые производители завесу немножко приоткрывают. Вот, скажем, Kodak. В Кодаковских datasheets на сенсоры написано много всего интересного. И если почитать, например, документацию на KAF-50100 (картинка справа взята из нее), то становится понятно, что структура неактивных пикселов - сложная, тут и референс для выставления уровня черного и что-то тестовое и какие-то буферные пикселы.

LibRaw 0.6.4

C Новым Годом, товарищи читатели!

Использующим LibRaw мой новогодний подарок: LibRaw 0.6.4.

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

Все ли хорошо в RAW?

Мы с Ильей Боргом написали в Компьютерру статью, в которой постарались описать наше видение современного состояния дел с RAW-форматами. Прошло три недели с выхода журнала и, согласно первоначальной договоренности, перепечатываем у себя:

Позволю себе процитировать вводный раздел целиком.

Два пути в никуда: в поисках утраченного смысла

За последние 10—15 лет цифровая фотография вытеснила фотопленку практически из всех традиционных областей применения. Конечным потребителям проданы сотни миллионов цифровых фотокамер, не считая камер, проданных в мобильных телефонах. Столь массовая индустрия не может существовать без стандартов — и таковые, казалось бы, имеются: стандартизованы устройства для хранения данных (flash-карточки) и формат изображений JPEG — наиболее массовый и удовлетворяющий потребности подавляющего числа пользователей.

Однако формат JPEG далеко не всегда удовлетворяет требованиям профессионалов — фотографов, дизайнеров, персонал prepress-бюро, а тем более фотобанков и фотоархивов. Зачастую не удовлетворяет он и требованиям "продвинутых" фотолюбителей. Именно поэтому многие модели фотокамер, обычно позиционируемые производителем как профессиональные и полупрофессиональные, поддерживают, кроме JPEG, и запись изображения в так называемом "формате RAW". У стороннего наблюдателя может создаться впечатление, что RAW — это тоже такой стандартный формат, обеспечивающий лучшее качество — "качество для профи".

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

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

LibRaw 0.6.2

По случаю позавчерашнего выхода новой dcraw обновилась и библиотека LibRaw:

  • Поддержка новых камер: Canon G10 and 5D Mark II, Leaf AFi 7, Leica D-LUX4, Panasonic FX150 and G1, Fujifilm IS Pro
  • Изменения в цветовых таблицах для камер из предыдущего апдейта: Canon 50D, Nikon D90 and P6000, Panasonic LX3 and FZ28, Sony A900
  • Исправлена ошибка в обработке файлов Panasonic .RW2, которая проявлялась только на thread-safe версии библиотеки.

Успешно протестировано, в том числе практически на полном списке файлов от новых камер (кроме Leaf и FX150).

Скачать можно где всегда. Пользователи KDE тоже уже осчастливлены, но им нужно обновить libkdcraw.

LibRaw 0.6.0 Release

Я понимаю, что уже опротивел за последние три дня, поэтому буду краток.

LibRaw 0.6.0 Release берут отсюда. Полный Changelog там, а краткий вот:

  • Поддержка Nikon D90 и P6000, Canon 50D, Sony A900, Panasonic FZ28 и LX3. При этом D90 и A900 поддержаны нормально, а для остальных нет таблиц RGBG-XYZ, цвета могут быть кривоваты (и будут еще апдейты).
  • Примитивное подавление бэндинга для камер Canon.

LibRaw 0.5.5 и LibRaw 0.6.0 Beta2

Специальный выпуск LibRaw для тех, кто компилирует библиотеку с одним набором ключей компиляции, а свой код - с другим. Теперь это пофиг.

Скачивать тут, Changelog тоже тут

Мы уже проползли в KDE (в 4.2, это даже не бета :) отчего масса софта уже использует LibRaw (конечно, если вы возьмете свежую libkdcraw и соберете), цитирую:

  • digiKam - photo management software
  • kphotoalbum, an alternative to digiKam but with less features.
  • gwenview, a image viewer, used to show thumbs in icon view.
  • dolphin, a file manager, used to show thumbs in icon view.
  • darkroom, a experimental RAW converter
  • krita, a image editor, used as RAW image loader
Поздравления принимаются

LibRaw 0.6.0 Beta1

По требованиям французских и немецких трудящихся, была добавлена разнообразная функциональность:

  • Обработанное изображение можно получить в виде RGB-битмэпа (ранее только в виде квадрупляев R-G-B-unused)
  • Добавлены вызовы для индикации стадий обработки (рисования прогресс-баров) и досрочного прекращения обработки.
  • Добавлена работа с профилем камеры/выходным профилем через LCMS
  • Вспомогательные вызовы: получение списка поддерживаемых камер, получение информации о версии.
  • поддержка работы с картой плохих пикселей и вычитанием темнового кадра.
  • поддержка OpenMP для AHD-интерполяции и шумопонижения.
  • исправлена одна ошибка в adjust_sizes_info_only

Скачать эту версию можно c сайта LibRaw со страницы downloads в разделе бета-версий.

LibRaw имеет шансы появиться в digiKam, куда оно проникает через libkdegraphics.

LibRaw 0.5.4

Вышла LibRaw 0.5.4. Краткий список изменений:

  • Импортирована последняя версия dcraw (8.87), добавлена поддержка шести новых камер: Canon 1000D, A720, SD300; Nikon D700, Olympus E-520,Kodak C603.
  • Ввод-вывод через mmap() заменен на (старый) ввод-вывод через FILE. Скорость не пострадала, памяти нужно меньше.
  • Лицензирование изменено с GNU GPL v3 (или новее) на GNU GPL v2 (или новее).

Пользуюсь случаем, чтобы напомнить:

LibRaw - это библиотека для чтения RAW-файлов, получаемых с цифровых фотокамер (CRW/CR2,NEF,RAF,DNG и других).
LibRaw основана на исходных текстах утилиты dcraw, часть недостатков которой исправлена, а часть будет исправлена в дальнейшем. Пользователям библиотеки предлагается API для встраивания в свои программы.
Если вы не программист, а фотограф, то вам может быть полезна входящая в поставку утилита half_mt, которая функционально эквивалентна dcraw -h, но на многопроцессорных/многоядерных машинах работает в разы быстрее.

Нужен ли CIECAM02 фотографу ?

CAM_Obl_thumb.jpg При редактировании изображений фотографы пользуются 3-4 компонентными моделями цвета , которые растут либо из особенностей устройства воспроизведения (RGB, CMYK), либо из классических цветовых моделей (LAB). (Затрудняюсь сказать, откуда растут HSB/HSL, классически вероятно из Манселловских атласов, но современные варианты - скорее всего пересчет из LAB по известным формулам.).

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

По случаю дождя и нежелательности выхода на улицу, у меня родился следующий текст:

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

Есть ли жизнь в двух битах

Новые цифровые фотокамеры делают с 14-битным АЦП, польза от которого для меня (как для владельца такой камеры) вполне очевидна. Однако она очевидна не для всех.

Илья Борг провел несколько экспериментов на эту тему, о которых можно почитать на LibRaw.SU:

Последние 2 бита - зачем они?
Если в двух словах, то польза есть, а из двух последних бит можно вытащить на удивление много.

UniWB: простой и быстрый метод установки

KISS.png Как и обещали ранее, упрощенный метод установки UniWB:

UniWB: простой метод установки на LibRaw.SU
Годится не для всех камер, но работоспособность проверяется за минуту.

Если вы не знаете (или забыли), для чего нужен UniWB, это написано в предыдущих статьях:

Хотя, на мой взгляд, отключенный экранчик приносит еще больше пользы.

Еще раз про UniWB

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

Несколько позже я обещал пересмотренную статью про это, обещания надо выполнять:

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

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

Upd: оказывается у меня кросспост в ЖЖ отвалился примерно так неделю назад, вот вроде починил....

Удар косинусом

D3-raw.png Этот пост забегает несколько вперед, но вполне сознательно. Вполне возможно, что в ходе обсуждения всплывут всякие недостающие факты.

На сегодняшний день какая-то консистентная процедура тестирования динамического диапазона цифровых камер, которая была бы применена ко многим камерам, есть только на DPReview. В результате, половина интернета мастурби смотрит на Филовские графики и делает какие-то выводы: сравнивает камеры, ругается в форумах и так далее.

Мне не удалось найти на DPReview подробного описания методики, написано лишь, что используется шкала от Stoufer на 13 стопов, освещенная сзади люминисцентной лампой. Не указывается ни использованная при тестировании конкретной камеры оптика, ни установка диафрагмы, а все это довольно важно.

Давайте рассмотрим эффекты, которые влияют на фотографирование шкал.

Ну, за линейность.....!

4scales.png Как-то неожиданно для меня выяснилось, что понятие линейности в применении к изображениям и их обработке не является очевидным.

Пришлось потратить полчаса, нарисовать 4 разных линейных шкалы в фотошопе (точнее, дорисовать, ибо две из них уже были в предыдущей статье) и написать три абзаца текста:

Шкалы линейные и линейные

Продолжая традицию, комментировать пожалте на сайт со статьей (комментарии от неавторизованых пользователей появляются после модерации).

Cюрприз: клик на картинку приведет вас прямо на статью.

Поканальные шумы и RAW-конверторы

Продолжаем серию анонсов

О шумах в каналах и о RAW-конверторах
и английский перевод: Channel Noise and Raw Converters

Идея о том, что очень большая доля шумов не является свойством самого кадра, а привносится конвертором, как "из ничего", так и из более шумных каналов, за счет.

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

Экспериментальная проверка оказалась элементарной - один кадр, три конвертора, пять результатов конверсии..

LibRaw: все, что вы хотели прочитать из raw, но боялись

Спешу обрадовать народы мира: проект, над которым последние два месяца мы работали совместно с Ильей Боргом наконец выпущен на публику.

LibRaw - библиотека для чтения raw-файлов:

  • чтение (распаковка, раскодирование) неинтерполированых RAW-данных из файлов от 300 моделей цифровых фотокамер
  • основана на исходных текстах dcraw
  • громадье планов по избавлению от недостатков dcraw, небольшая часть которых уже выполнена

Syndicate content


.