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

5d2-mask.png

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

Вообще, удивительное это дело - RAW-файлы. Вот, скажем, Sony. Если я правильно помню порядок выхода камер, то это A100, A700, A300, A350, A900. При этом, у A700 и A900 - один формат данных, а у остальных - другой. Более того, у "любительских" камер есть та самая черная рамка (с коей я тут бьюсь), а у более продвинутых - нету и формат данных не позволяет ее вставить.

Или вот Pentax - уверенно чередует методы паковки в PEF-файлах в разных своих камерах. Понятно, что когда меняется битность, а старый формат был рассчитан, скажем, на 12 бит - тогда его придется менять. Но откуда берется зоопарк?

Нет, я вот уже больше 20 лет коммерческим программированием занимаюсь и знаю откуда берется legacy code. Но видя этот зоопарк не приходится предполагать, что производители камер знают что они делают (как часто приходится читать).

Comments

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

Да все понятно. Но в ситуации, когда две группы разработчиков поддерживают два формата данных (чего нету, например, у Canon) - означает, что в компании.... непрозрачные коммуникации, вот.

>>Но видя этот зоопарк не приходится предполагать, что производители камер знают что они делают (как часто приходится читать).

разные команды индусов ?

Да может и японцев или даже американцев, дело то не в этом. Просто это обычный корпоративный бардак, которого я насмотрелся за 20 лет.

BTW, мысль о том, что RAW - это "сырые данные с матрицы" - верна в черезвычайно малом количестве случаев (если считать по камерам, не взвешивая на тираж).

Можно огласить весь спискок?

Из того что видел (смотрел многое, но не все), самое чистое и светлое - у PhaseOne. Там просто кодаковский datasheet на матрицу. Ну может без буферных пикселей, но вот даже зона покрашенная синим (а не bayer pattern) - на месте.

Кроме того - Canon (не sRAW), хотя конечно надо посмотреть, что они там с черными точками наделали. Во всяком случае, там и уровень черного на месте (не вычтен) и всякие технологические хреновины видны.

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

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

Это слишком радикальное мнение, хотя идея конечно хорошая.

Но я всего-лишь о том, что мнение о "нефильтрованности RAW" - в огромном количестве случаев ошибочно. А обработка, которая делается в камере - необратимая.

Для уровня черного эта необратимость означает, что заметно/сильно портятся тени. Тем же примерно способом, что и в большинстве конверторов.

>>мнение о "нефильтрованности RAW"

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

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

Песок от проскальзывания мозга
"Ошибки" с уровнем черного - это разбаланс цвета в тенях в первую очередь.

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

>Если я правильно помню порядок выхода камер, то это A100, A700, A300, A350, A900. При этом, у A700 и A900 - один формат данных, а у остальных - другой.

так ведь сони A700 и A900 -- это CMOS ("Exmor") с наматричными подавителями чего-то там (шумов?)
а остальные сони -- это CCD ("Super HAD CCD")
разные технологии у матриц, наверное это причина?

кстати, а что у никона D300 -- тоже нет рамки (там вроде как доработаная никоном матрица от сони a700)?

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

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

Бандинг там в sRAW
sRAW - не 'сырые' данные, это YCbCr 4:2:2 или 4:1:1

С точками надо разбираться особо, я пока не вдумывался в проблему, хотя наверное можно найти подходящий CR2

Точки - интересная штука (нашел сампл в CR2).
Там, действительно, сигнал "ниже черного", хотя и не нулевой.

При этом, там нет никакого переполнения в предыдущем по строке пикселе. Кроме того, в RAW-данных выбиты (в минус, т.е. наверное "вбиты") единичные пикселы, а в результатах процессинга ACR - выбиты уже здоровые куски, 3x3 или 4x2.

Т.е. в огромной степени эти точки - это результат работы интерполятора.

Надо пост сделать с картинками.

Видимо Кенон забыл сказать Адобу о своих технологических нюансах в новой матрице ;)
интересно другие производители софта тоже не в курсе (любопытно в DPP посмотреть)

В DPP эта проблема вроде бы тоже имеется.

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

Ну команды программистов работают "внахлест". То бишь, пусть их есть 2, и одна делает для "четных" камер, а вторая для "нечетных". Ну еще и в процессе работы народ меняется. В общем, что тут удивительного?

А иначе все очень дорого вроде как получается.

Это можно использовать для идентификации камеры. :-)

Кстати, да. Интересная идея.

Вообще, в метаданных (а размеры рамки берутся тоже оттуда) есть и более надежная информация. Например, название производителя, название модели, версия firmware :)

Я про идентификацию с криминалистичекьй точки зренияю :-)
камер одной модели и c одной и той же прошивкой - легион.

5D Mk2 по всей видимости можно как минимум разложить на несколько кучек.
Ни у кого еще не видел такого богатства красок.

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

Меня всегда поражало, откуда люди делают выводы
>>> Если рассматривать черную рамку у 5D Mark II, взяв кадры с разных камер, то становится очевидно, что матрицы делаются вручную (китайские крестьяне в своих фанзах?).

Вот с чего Вы делаете вывод, что что-то там вручную делается? Ну с чего? То, что матрицы разные - для Вас это признак того, что ручной труд?

Бывают разные заводы, разные конвееры и разный уровень брака. Даже бывает лист с матрицой, который далее разрезают на мелкие кусочки. Вы никогда не интересовались особенностью производства к примеру LCD дисплеев и их матриц?

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

Отсутствие чувства юмора - страшная сила!

Re: Меня всегда поражало, откуда люди делают выводы
Какие бывают убийственно-серьезные анонимы, это что-то.

Вот вас не развлекает то, что у 5D-Mk2 на технологической рамке есть (почти)макро-индивидуальность, да еще какая, а на других матрицах, даже если там видны технологические особенности - *такого* нету?

Меня - развлекает.

:-)
А откуда такая наивная уверенность, что это данные с сенсора ?
Ну залез ты в служебную область, ну схватил что-то фалломорфи... эммм, в смысле, не разобравшись... - а в ТВ сигнале, например, в зоне кодирования уровня чОрного передаётся сигнал точного времени и, кажется, что-то ещё из стандартов (из серии "новости палаты мер и весов").

Кэноны умеют сохранять т.наз. Dust Delete Data. Куда, по твоему, им следует её засунуть (молчать, господа офицеры!! :-))) и в каком формате ?

...или, например, они там могут public key хранить - http://www.photographybay.com/2008/02/09/canon-iris-registration-watermark/ ,-))

Метаданные суют в место для метаданных, а не для данных

>> Метаданные суют в место для метаданных, а не для данных <<

Мммда ? Правда, что ли ? :-))

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

raw это то, чем кормят "Дигик". Помимо непосредственно "сырца с матрицы" ему нужны и другие данные (в том числе калибровочные, например). Заставлять "Дигик" бегать по "периферии" и собирать эти "метаданные" - строить tight coupled астролябию. Гораздо практичней и разумней выработать строгий контракт (интерфейс) в духе "stream оговоренной структуры на входе - stream оговоренной структуры на выходе".

Конечно, тебе хотелось бы "сесть" прямо на матрицу, ещё до всяких "Дигиков", но ради тебя, как ты, наверное, понимаешь, никто стараться не будет... равно как и ты сам не склонен стараться для "эндюзера" (я про libraw и её тулзы, если ты вдруг не понял ,-))

-+-
Ну, и "чтобы два раза не вставать": цитата из доки на "libraw" - "Not thread-sage library uses global variable for intermediate data store which is faster but not reenterant." - ты вообще пытался профилировать это дело или "из общих" соображений решил, что кривые подходы ускоряют код ? ,-)

Я кормлюсь выходом digic-а (или чего-то подобного), а не входом.

А про скорость - TLS вызывает лишний индирект, что очевидно медленнее.