Загадка трихроматики

Пару месяцев назад PhaseOne с большой помпой анонсировала IQ3 100MP Trichromatic.

И хотя первые маркетинговые картинки с непересекающимися кривыми чувствительности:

были совсем уж смешными, потом появились и более нормальные изображения кривых пропускания CFA (см. например тут: Phase One Trichromatic: Part 2, the Results).

Там же, на Digital Transitions, можно запросить набор примеров с этой камеры и в этом наборе есть парные, IQ3-100 и IQ3-100-трихроматик.

И действительно, насыщенность повыше, цвета заметно другие.

Но.

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

Так вот, в этих двух камерах встроенные профили - одинаковые:

Раз (трихроматик):

[EXIF] 0x0110 Model: IQ3 100MP Trichr
[MakerNotes] 0x0106 ColorMatrix1: 1.193 -0.200 0.007 -0.018 1.129 -0.111 0.028 -0.173 1.145
[MakerNotes] 0x0226 ColorMatrix2: 1.200 -0.200 0.000 -0.100 1.200 -0.100 -0.050 -0.150 1.200

Два (обычная IQ3-100):

[EXIF] 0x0110 Model: IQ3 100MP
[MakerNotes] 0x0106 ColorMatrix1: 1.193 -0.200 0.007 -0.018 1.129 -0.111 0.028 -0.173 1.145
[MakerNotes] 0x0226 ColorMatrix2: 1.802 -0.810 0.007 -0.200 1.647 -0.448 0.028 -0.810 1.782

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

Подозреваю, что фазаны просто поленились/не успели.

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

Comments

> и более нормальные изображения кривых пропускания
такой же маркетинговый обман

Ну остается померять самому, но где бы взять эту жопку недорого....

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

А я тут наконец прочел текст "отчего ориентация на теорему Котельникова при оценке потребной частоты дискретизации /звука/ неверна"

И что, там тоже fMRT, и вот это вот всё? ;-)

Не, просто хрен к носу прикинут. Исходя из реальной применимости, а не из того, как ее понимают.

Ссылку? Обычно все эти рассуждения — жуткая ересь.

Ссылку не найду. В этом вашем фейсбуке ничего найти нельзя.

Но речь о том, что котельников - для постоянного спектра. А когда спектр меняется - то нет (если мы хотим воспроизводить переходные процессы)

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

А кстати ага.

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

И как бы все эти повышения частот дискретизации - это не с ним ли борьба на самом то деле?

Алиасинг в верхах будет лезть при восстановлении потому что мы не можем сделать настоящую функцию Sinc — она не причинна (имеет хвосты в обе стороны, и в прошлое и в будущее, и хвосты медленно спадают) и мы реально делаем zero-hold (ступеньки) или first order (трапеции, ломанна линия) и вот тут наступает алиасинг (отражение спектра выше половины частоты дискретизации) и его надо давить аналоговым фильтром после DAC.
И, повышение частоты дискретизации при подаче на DAC именно что бы аналоговый фильтр было проще делать. Если у тебя частота, скажем, 48KHz, а в сигнале есть частоты о 21KHz, то фильтр после DAC фильтр у тебя всего за 2Khz должен децибел этак 100 срезать. Ну хотябы 80. Это очень, очень сложная задача — low-pass с таким резким срезом и хорошей линейностью в полосе пропускания. А если у тебя 192KHz и при этом сигнал всё так же не более 21KHz (а больше не надо — нету там ничего полезного для уха, да и инструменты музыкальные там уже молчат на самом деле), то у тебя алиасинг из-за несовершенства DAC'а наступает после 96KHz, и тебе можно делать очень расслабленный аналоговый low-pass фильтр практически из одного поерационного усилителя и одного конденсатора и получить хорошее качество.

А вот хранить музыку в цифре больше чем 48KHz — это тоже полная ересь. На верху информации нет.

Ну вот смотрю я на пространственную фигню - собственно в ЦФК - там алиасинг может иметь совсем низкие частоты.

Результат может иметь, но это в обратную сторону же, это оцифровка. Со звуком тоже так будет — частота F выше Fs/2 становится F - Fs/2 (в первой полосе, и дальше там кратно), и вот пожалуйста, низкая частота. Но в реконструкции там я даже не уверен что это корректно называть алиасингом, потому что это просто паразитные высокие гармоники из-за несовершенства нашего реконструктора (в идеале реконструировать надо в базисе функций sinc - sin(x)/x, и тогда всё будет perfect безо всяких аналоговых фильтров, а мы так не умеем и уметь не можем, 1/x слишком медленный спад, надо уходить на бесконенчость а у нас тут физика, она не умеет отрицательные и/или бесконечные времена).

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

А можно подробнее про меандр? Потому что обычно мы подсовываем синтетические данные (невозможные в аналоговом мире), чтобы наглядно увидеть «чё оно с этим делает». Ну вот, было-стало.

Ну вот если вы делаете DAC для генератора функций (тестовое оборудование или что-то подобное) то может и имеет смысл смотреть как он отработает «идеальный» меандр. А вообще-то звуковому DAC'у это зачем?

Возьмите меандр на пару килогерц и посмотрите что с ним будет после фильтра со срезом на 21 килогерц (в аналоговом виде, ну можно, наверное, сымитировать в матлабе взяв запас по частоте семплирования раз в 16, я не на столько настоящий сварщик, что бы оценить нужный оверсемплинг тут для правдоподобности эксперимента). Это будет вовсе не меандр вида "-1,-1,-1,-1,1,1,1,1,...". И если мы делаем DAC что бы играть сигналы как бы из аналогового мира* (музыку), то то, что он сломается на таком — не страшно и не является показателем примерно ничего и ничего не говорит о его качестве.

* — я тут написал «Как бы» потому что современная музыка без вокала** может у вас оказаться прямо в цифре из цифры без прохода через аналоговый мир. Так что если наш DAC специализируется на японском нойзе, то можно и идеально-цифровым меандром его тестировать.
** — да и с вокалом, если это вокалоид ;-)

Немалая часть современной музыки не из разряда японского нойза, а вполне себе из реального мира после цифровой записи-ретуши-сведения-мастеринга вполне может приобрести меандроподобные области. Я не сторонник, конечно, столь дикого подхода, но оно популярно.
Ну и вопрос не в том, что «то, что он сломается на таком — не страшно», а скорее в том, как именно он сломается, какие амплитудно-фазово-частотные показатели будут на выхлопе и достаточно ли этого запаса, чтобы бояться только за японский нойз :)
ЗЫ: Я тоже не настолько настоящий сварщик, тем более, по аппаратной части, просто само утверждение меня немного удивило.

Да, нойз я привёл как предельный пример. Но вообще-то чистый меандр в музыке будет ошибкой мастеринга.

Делать можно всё, если понимать — что делаешь. А я не раз видел обзоры DAC'ов вида «мы подали меандр и тут вылезло, говно DAC». Собственно, к синтетическому идеальному меандру вопрос один — он за пределами спецификации. Потому что у него есть значительные гармоники вплоть до Fs/2 ровно. А в спецификации на DAT (48Khz) и CD (44.1Khz) разрешён сигнал с некоторым отступом от Fs/2, что бы оставить запас для фильтрации как раз (brickwall фильтр в аналоге нереализуем).

Это всё лечится оверсемплингом, цифровой фильтрацией и затем аналоговой фильтрацией на куда бОльшей полосе (как я писал выше), но вообще-то оборудование не обязано работать с сигналом out of spec.

Насчёт оверсемплинга и фильтрации — это да, здесь полностью согласен. Главное не переборщить (в маркетологических целях).

В этой связи интересна мода на слабые или вовсе отсутствующие AA-фильтры. Ладно муар на ткани, но ведь просто мусор должен появляться.

Дык муар и есть очень низкие частоты, по сравнению с частотой оцифровки. Видимо, в реальном мире мало высоких частот которые надо фильтром давить.

Диафрагму прикрой, вот тебе и фильтр

За дифракицонный предел? :)
По идее, чем больше ГРИП, тем больше шансов нарваться нка выскоие частоты.

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

Ну скажем прямо, объектив является довольно эффективным фильтром ВЧ.

Поди на частоте (пикселей) сенсора там MTF 0.1 в лучшем случае, а скорее 0.05. Соответственно, видны только шибко контрастные границы (либо должно очень сильно не повезти).

И второе. АА-фильтр - он конечно (тоже) фильтр высоких частот, но "на самом деле нет". Т.е. он же не размывает картинку на несколько пикселей (иначе не было бы смысла повышать мегапиксельность), а аккуратно ращепляет, чтобы не один (монохромный) пиксель получил ея, а все четыре. В реальности разница между, к примеру, 5Ds и 5DsR очень мала, нужно очень стараться чтобы ее увидеть.

Пришёл написать про объективы а тут уже.

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

Добавьте демозаики - и станет совсем тяжело думать про это все

короче, надо больше мегапикселей. Кроме шуток.

Вне всякого сомнения (если бы это еще плохо не отражалось на других параметрах).

Например, можно демозаику сильно проще делать в таком случае.

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

Ты хотел сказать про шум квантования? Ну да, можно его шейпить в ультразвук. Это всё не очень просто и до сих пор развивается (и патентуется), а в современном мире есть решение проще — больше бит. Больше бит как раз имеет смысл (до разумного предела), 16 маловато. А, учитывая, что мультибит нынче — экзотика и везде Δ-Σ, то добавление бит — дёшево.

Ну да. Вот SACD, похоже, буквально хранит битовый поток, а "сигма" часть происходит при воспроизведении непосредственно. Собственно Δ-Σ и выгоняет шумы вверх из рабочей области.

У SACD другая пробелма — динамический диапазон завиист от частоты. У PCM этой проблемы по понятным причинам нет.
И запас у SACD там очень печальный в низах, хуже чем 16 бит CD (к которым тоже есть вопросы).

Я этого SACD не только не слышал, но даже кажется и не видел ни разу))

Я слышал, у меня есть несколько SACD-грабов. Они ценны тем, что там во времена Loudness war мастерили акуратнее. Т.е. приемущество не техническое.

а что, неужто война закончилась?

Ну, я особо не слежу, но мне казалось, что после поливания Death Magnetic грязью на каждом углу оно чуть-чуть поулучшилось.

Я из любопытства смотрел пару интересных мне альбомов там всё с ДД было в порядке, но я не то что бы популярную музыку типа Металлики слушаю.

А SACD я держу для ремастреов музыки 60-70 которую в CD помастерили в 90-х и сделали это плохо (по моде 90-х), а потом переделывали уже для SACD.

Дык а что в рипах, битовый поток?

Угу. И уже плеер программный делает из этого PCM.

вы правда не слышите разницы между 48 кГц и 192 кГц? счастливый человек. и с чего бы это наверху не было информации? очевидно, что для переходного процесса (а delta-импульс - идеальный переходной процесс) не существует такого понятия, как верхняя частота спектра. она бесконечна. и никакой частоты дискретизации не хватит, чтобы оцифровать delta-импульс. соответственно, для корректной передачи фронтов (атака!) нужна бесконечная частота дискретизации. и теорема котельникова про это ничего не говорит. она только о периодическом сигнале с ограниченным спектром.

вы правда не слышите разницы между 48 кГц и 192 кГц?
Нет. При этом на *некоторй* (далеко не всей) музыке статистически значимо различаю MP3/320 и loseless.

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

Дельта-импульса у вас не будет. Физика не позволяет. Ну, знаете, масса струны, ускорение, вот это вот всё.
Плюс второй — человек не слышит выше 20KHz, за редким-редким-редким исключением. Спектр всегда ограничен и для музыки он в реальности ограничен 20KHz.
Если бы у нас были бы уши как у собак то было бы 192KHz у нас на CD. Но у нас другие уши.

И, да, покажите протокол теста на котором вы статистически значимо различи 48KHz и 192KHz. «я слышу» — это аудиофильство. Только двойное слепое тестирование что-то значит.

Кстати, а где вы музыку взяли для 192KHz? Т.е. где вы взяли музыкальный материал где есть какая-то значимая мощность после 20KHz?

Как будто вообще это кого-то волновало :))) Часть населения вообще -- функциональные тетрахроматы, но они почему-то не жалуются на цветопередачу камер

Да я и пишу с иронией.

В С1 нужные профили есть, и если применить профиль от нового задника к обычному порошку^W IQ3 100, то картинка становится очень блеклой. Так что, наверное, в чем-то они не врут.

Ну да.
А если применить старый (он же новый) профиль (который CameraMatrix1 из RAW) от IQ3-100 к IQ3-100-Trichromatic, то картинка становится очень сочной и яркой.

Что неудивительно, одно к другому не подходит

Я что-то совсем не понимаю. Кривые крайне далеки от человеческого глаза. Как, например, вот с такими кривыми камера увидит фиолетовый, который получается из-за того что красный пигмент в глазу имеет область поглощения в самой коротковолновой области? Даже съемулировать не выйдет, данных по красному в этой зоне тупо нет. Про коричневые я вообще молчу.

тройка "сырых" данных умножается на переходную матрицу 3х3. и таким образом различие между синим и фиолетовым в "сырых" зеленых пикселях попадает в красные устройства вывода.
А, ну еще и color lookup table после умножения на матрицу применяется. Нас обманывают :3

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

>вернуться к иммитации кривых человеческих фоторецепторов

Ну вы, естественно, знаете, почему так не делают?

Иммитируют кривые из глаза? Я подозреваю что тут где-то подвох, но таки поумничаю - что-бы иметь возможность показывать на наиболее близкие к реальности, насколько это возможно, цвета.

Система "захват картинки" - "отображение картинки" может быть построенна двумя путями для этого:

- Или максимально точно захватывать спектр пикселей (не RGB - который суть интерполяция спектральной функции на довольно большом участке по трем точкам, а какой-нить КОЖЗГСФ с сильно большим числом реперных точек и узкими пиками спектров поглощения отделных компонент).
- или иметь спектральные характеристики сенсора и "монитора" как можно ближе к спектру рецепторов в глазу. Тогда пофиг что мы не восстановили оригинальный спект - потерянна именно так информаци, которую глаз не видит.

Цифровое фото/мониторы пошли именно по второму пути IMO, хотя были попытки добавить доп цвета (например желтый у сони, вроде).

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

Мой вопрос же ровно обратный, "почему кривые глаза на практике - не имитируют, а используют сильно другие?"

"На практике" - это в реальных системах, камеры, сканеры, вот это вот все....

Да нет, как раз же иммитируют - посмотрите на на кривые поглощения обычных сенсоров по ссылке из поста. Очень характерный пик красного на самых коротких волнах. Про мониторы и сканнеры - не скажу, не знаю что там.

Ну вы возьмите колбочковые отклики (LMS) и возьмите какие-то спектральные данные по камерам. И посмотрите насколько "спектральные данные по камерам являются линейной комбинацией LMS". Можно и глазом оценить, сравнить "красный и зеленый" глаза и камеры.

Вот эти вот возьмите, например:

Источник: http://www.cvrl.org/cones.htm

Данные по камерным сенсорам есть, например, у Кодака в даташитах.

Ну и кстати, мониторы категорически не должны имитировать спектрами "кривые глаза". И это очевидно из картинки по cone fundamentals

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

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

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

Input (сканеры, камеры): если вы посмотрите на "глазной красный" и "глазной зеленый" - кривые очень близки. Чтобы вынуть оттуда чистый красный - нужно будет вычитать два очень близких и зашумленных (мы же в реальном мире) сигнала, что приведет к большому шуму.

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

Вот, кстати, вам тредик о реальных спектрах реальных камер реально измеренных реальными людьми: https://blog.lexa.ru/comment/44325#comment-44325

Там и картинка спектра есть в SVG, вот прямой линк: http://cl.ly/0c0U0P183X1o/download/SensorSawtooth.svg

Ну и статья про которую обсуждение: http://www.aphesa.com/downloads/download2.php?id=1

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

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

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

Судя по графикам - и с зеленой.

Кстати эффект отлично виден на примере с тканями вот тут https://digitaltransitions.com/phase-one-trichromatic-part-2-results/. Слегка фиолетовый рисунок в трихромате выглядит синим.

Откуда вы знаете, какой цвет более правильный?

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

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

Два: можно предположить, что и теория не верна, или я ее неправильно интерпретирую и старые матрицы косячили все 15 лет на некоторых синих. Т.е. картинка и была синей и стандартная матрица добавила красного там, где его не было, а новая - дартаньян.

Первый вариант мне кажется всяко разумнее.

Вот что всегда в этом поражает так это эффективное старое выданное за новое с эдакой маркетинговой помпой и задранными ценами (за это самое "новое") - и продают же...

Взять хотя бы кодаковские спецификации CCD сеноров KAF16801CE (Kodak ProBack), KAF16802CE (Phase One P20/P20+), KAF22000CE (Phase One P25/P25+), KAF39000CE (Phase One P45/P45+) так там те же самые "принципы" в CFA были применены что сейчас так расписаны в https://digitaltransitions.com/phase-one-trichromatic-part-2-results/ - нормальные крывые были без горбов и смещений где не надо.

Как же без горба фиолетовый то?

SLR/c у меня, кстати, рисовал полоски радуги не в правильном порядке.

> Как же без горба фиолетовый то?

Нормально вроде - на всех не снимал плотно, только на пробэке. У этих сенсоров есть синий отклик в красном диапазоне (без горбов правда). На Р25+ кстати недавно снял СС SG в дневном рассеянном свете - был в руках на пару дней, могу поделится.

> SLR/c у меня, кстати, рисовал полоски радуги не в правильном порядке
Там сенсоры от FillFactory у них стандартное распределение с горбом красного в синем диапазоне (сам снимал спектры и в спецификациях есть).

Вот фиолетовый с пробэка где никаких горбов нет http://wowcamera.info/download/file.php?id=13333

А тем временем ежики кололись и плакали но продолжали лезть на кактус...

http://forum.luminous-landscape.com/index.php?topic=122853.0