RawDigger 1.0.3: раскапывая Sony

Про 7-битный RAW у Sony я уже неоднократно писал, однако в свежий RawDigger внесены дополнения, которые позволяют на этот формат взглянуть еще внимательнее. Эти дополнения требуют некоторых пояснений.

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

  1. Весь массив данных поделен на блоки по 32 пиксела в ширину (и 1 в высоту).
  2. В каждом таком блоке будет содержаться пикселы двух цветов (RG или GB), по 16 пикселов каждого цвета.
  3. Для 16 одноцветных пикселов в блоке записываются:
    1. Максимальное и минимальное значение (с точностью 11 бит)
    2. Позиция максимального и минимального пиксела в блоке
    3. 14 7-битных приращений (дельт) относительно минимального значения. При восстановлении, дельта умножается на коэффициент равный (max-min)/128 с округлением к ближайшей большей степени двойки
  4. Таким образом, если в 32-пиксельном блоке имеется большая разница в яркости, промежуточные значения будут записаны приблизительно.
  5. После восстановления дельт, к восстановленным значениям применяется тоновая кривая.
В RawDigger 1.0.3 (пока бета, см. конец статьи) добавлена возможность управлять распаковкой этих пикселов:

Menu File Preferences Data Processing Sony ARW2 Processing options:

Эти режимы означают следующее:
  • None (standard processing) обычная распаковка с целью получить обычный RAW
  • Only base pixels будут распакованы только пикселы с точными значениями (базовые), а дельта-пикселы - обнулены
  • Only delta pixels базовые пикселы обнулены, дельта-пикселы - распакованы с правильным значением (прибавлено минимальное значение в блоке)
  • Delta pixels relative to zero: распакованы дельта-пикселы, минимальное значение не прибавлено (этот вариант автоматически включает линейную тоновую кривую и выключает вычитание черного)
Второй и третий варианты сделаны, чтобы посмотреть, нет ли каких-то систематических отклонений между дельта и базовыми пикселями (в случае A7R - нету), каких-то более практических применений у них, судя по всему, нет.

А вот четвертый вариант (Delta relative to zero) позволяет увидеть на изображении области, где значения дельт большие. И дальше, например, целенаправленно искать там артефакты. Этим и займемся.

Возьмем, для разнообразия, сцену Imaging-Resource со звонком , камера Sony A7R, ISO100 (качать отсюда)

И включим для нее обсуждаемый режим (показ в режиме RGB имеет сравнительно мало смысла, но в нем ярче, чем в RAW composite):
Все соответствует ожиданиям: если есть контрастная граница, то дельты большие (пиксели яркие). Нет контрастной границы дельты маленькие (и темные).

Яркие области показывают где имеет смысл искать артефакты (т.е. постеризацию). Понятно, что искать постеризацию на resolution target бессмысленно, равно как и на звонке с бликом мы не можем знать, какие значения правильные.

А вот на цветовых мишенях, которые достаточно гладкие, есть смысл поискать. Посмотрим на это место покрупнее.

Нормальный режим:

Delta relative to zero:

Если открыть этот RAW в Adobe Camera Raw с более-менее стандартными настройками, никаких проблем мы не увидим. Нужно довольно сильно крутить ручки, чтобы их добиться:

Это квадратики над которыми написано Blue и Cyan (светлая часть). Как мы видим, вдоль темной границы они поменялись цветами: кусок Blue (да, он при таких настройках розоватый) переехал на Cyan и наоборот.

После того, как известно что искать, выясняется что ЭТО видно (но хуже) и при основных установках по нулям , достаточно выкрутить Clarity в минимум и Vibrance в максимум:

Выводы

  • Если не повезет
  • И снимку сильно покрутить контраст (в данном случае цветовой)
  • То последствия lossy-компрессии у Sony увидеть можно.
Но для этого нужно залезть на шкаф должно сильно не повезти: контрастная граница, ровный тон, сильное повышение контраста (в рассмотренном примере в конверторе, но подобный эффект даст, скорее всего, и просто шарпенинг)

Пряники

Для тех, кто дочитал - суперприз. RawDigger 1.0.3-Beta с этой новой плюшкой. Суперприз перестал быть актуальным, 1.0.3 выпущена в свет, скачивать на официальном сайте.

И еще один подарок. Если у вас истек триал, можете использовать этот ключик:
Все, подарок кончился.

Увижу этот ключик где-то на других форумах - затаю злобу.

Update (читая логи активации): если у вас не истек триал, то триал лучше. Он - Profile Edition по смыслу, т.е. всякие навороты с CGATS и цветовыми шкалами доступны.

Comments

Порвала фраза про ключик.

Да есть тут персонажи, которые на язык несдержаны.

Пусть народ ко мне ходит, читает и беседует. А не варится где-то у себя.

"А мы тут, видите ли, с Соней плюшками балуемся" :-з

Короче говоря, у этих мошенников отсутствует настоящий RAW. Ещё одна причина не покупать Sony.

Какие остались нормальные камеры (кроме среднего формата, они дорогие и в карман не лезут)?

> Какие остались нормальные камеры

pentax k-1000 !

Canon, насколько я могу видеть, полностью первозданен. Ходили всякие слухи про коррекцию виньетки (в RAW) с некоторыми объективами (типа 50/1.2), но подтверждений этому я найти не сумел (хотя и искал)

А теперь главный вопрос: нахрена это все Sony, что они реально от этого выиграли?

Очень удобный формат
а) очень компактный, 8 бит на пиксель (если в среднем по 16-байтовому блоку)
б) fixed size. Можно читать во много потоков, писать во много потоков, очень удобно.

Первое в современных реалиях аргумент сомнительный, вот второе - пожалуй что имеет смысл.

Так реалии - не вполне современные.

Если я ничего не упустил, cRAW впервые появилась на A900. Это, на минуточку, первая 24-мегапиксельная камера и скорость записи на флешку там, скорее всего, сильно парила.
Да, сейчас, в 2014-м году, флешки с 45Mb/sec стоят дешево, а 90Mb/sec - приемлемо.

Но тогда год был 2008-й, если я правильно помню, типичная скорость для CF - мегабайт 10 в секунду. Ну есть разница, 2.5 секунды на запись кадра или 3.5.

Нет, проблема действительно есть: нужна контрастная граница и на темной части - градиент, который мы хотим потянуть. Вот на рассматриваемом снимке есть IT8.7 target, там темно-синий патч M18. Вот на нем неправильная полоска видна если в ACR поставить "все по нулям", за исключением движков shadows и blacks (т.е. тянем тени): Shadows +100, Black +40 и нехарактерная более темная полоска - видна. Но видна только потому, что мы точно знаем, что ее там нет (равномерно прокрашенный патч). Будь объект менее предсказуемым - ну хрен тогда разберет, может он так и покрашен.

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

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

Распаковке это поможет. Запаковке - частично, в том смысле что сжатие (в память) распараллелить естественно можно, а запись в файл - нет.

Надо при случае поизучать, камеры которые пишут в DNG - тайлами пользуются или фигачат все одним куском....

могу дать DNG от Pentax K10D - K-7 - K-5 с разными прошивками :)