Линейные RGB пространства

  • Автор темы Автор темы 4AlexK
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Линейные RGB пространства

4AlexK сказал(а):
Как мне кажется, второй вариант встречается на практике редко.
Он сплошь и рядом встречался на сканерах с 10-битными и 8-битными АЦП. Как только 14-16-битные подешевели - не стало смысла.


4AlexK сказал(а):
тенях\светах а с тем обстоятельством, что алгоритмы многих Raw конвертеров выдают достаточное количество ошибок при подобном
Тут возможна путаница. RAW-конвертором сегодня называют программу, которая из данных с матрицы ЦФК (с байеровской матрицей) делает картинку. Там проблемы далеко не только в гамма-коррекции.



4AlexK сказал(а):
Поэтому выигрыш от перевода "8 бит линейных->16 бит линейных->16 бит гамма зависимых" а не "8 бит линейных->8 бит гамма зависимых->16 бит
Коллега. Тут у вас все еще путаница. Давайте разберем ее по пунктам.
1) Если у вас есть "8 бит линейных" то вам уже очень плохо - градации в тенях сильно испорчены.
2) Конверсия 8bit(g=1)->16bit(g=1)->16bit(g=2.2) формально потеряет меньше градаций чем 8bit(g=1)->8bit(g2.2), тут не поспоришь. Вопрос - что это будут за градации. А будут это, преимущественно, градации в светах, где у линейных данных избыточная точность.

Давайте первый пункт подробно разберем, чтобы не было неясности.
Допустим, у нас линейная гамма, 8 бит, отображаем что-то на мониторе с яркостью белой точки 127.5 cd/m2 (для удобства подсчета).
Тогда яркость будет зависеть от значения в файле (для серой шкалы т.е. для равенства компонент) как
Y = 0.5 * V
Возьмем теперь два значения в тенях. Пусть в одном R=G=B=5, а в другом
RGB=6. Яркости будут, соответственно, 2.5 и 3, разница в яркости - 20%, что гораздо больше порога чувствительности глаза.
В светах. Сравнивая 250 и 251 видим яркости 125 и 125.5, разница в яркости порядка 0.4% - ниже порога чувствительности.
Вывод очевиден и многократно уже озвучивался:
линейная гамма дает избыточную точность в светах и недостаточную в тенях

4AlexK сказал(а):
мысль в голову. Раз при 16 битах градаций хватает с лихвой, то проблема выбора гаммы рабочего пространства скорее базируется не на параметрах точности описания градаций, а больше на корректности работы математики и простой комфортности для человека (типа привычка). Корректность работы алгоритмов нужно проверять.

Все хуже. Никто толком не знает, как должны работать сколько-нибудь сложные фильтры. Вот в фотошопе есть галка "blend colors using gamma...", туда рекомендуют ставить 1.0, а вот правильно ли это - мне, например, неизвестно. Вот для вычитания (умножения, если быть точным) маски негатива есть теоретическое соображение что гамма не имеет значения и это все до чего я в мучениях докопался.

Классические фото-техники (unsharp mask, contrast mask) работают очевидно в "гамме" фотобумаги (обычный коэффициент контрастности порядка 1.5), но там никто не предлагает особого выбора.
 
Ответ: Линейные RGB пространства

atutubalin сказал(а):
Вывод очевиден и многократно уже озвучивался:
линейная гамма дает избыточную точность в светах и недостаточную в тенях
Алексей, меня "проще убить, чем прокормить", но я опять лезу занудствовать. :embarasse Уточнение: линейная гамма при 8-битном кодировании дает избыточную точность в светах и недостаточную в тенях. При таком разговоре, имхо, разрядность кодирования нужно поминать постоянно :), а то запутаться можно в два счета.
 
Ответ: Линейные RGB пространства

Alexey Shadrin сказал(а):
Алексей, меня "проще убить, чем прокормить", но я опять лезу занудствовать. :embarasse Уточнение: линейная гамма при 8-битном кодировании дает избыточную точность в светах и недостаточную в тенях. При таком разговоре, имхо, разрядность кодирования нужно поминать постоянно :), а то запутаться можно в два счета.

Да, естественно.

Хотя для 16-битной картинки мы просто имеем избыточную точность по всему диапазону
 
Ответ: Линейные RGB пространства

Занудствуем дальше:
atutubalin сказал(а):
Хотя для 16-битной картинки мы просто имеем избыточную точность по всему диапазону
Это при условии, что мы занимаемся прямым репродуцированием сцены/оригинала. Часто мы этим занимаемся?:) -- раз в год по обещанию, а то и реже. В абсолютном большинстве случаев мы подвергаем скан (снимок ЦФК) жестокой коррекции. Я не математик, но мне кажется (только лишь кажется -- и готов перекреститься, если неправ), что 16 бит (а в случае ЦФК, имхо, 2-3 бита отдай на шумы -- не греши) только-только для того, чтобы не потерять градации.
 
Ответ: Линейные RGB пространства

Ну опять.
1) А скока нужно градаций то ? 200 ? или 500 ? или сколько ?

2) Тени конечно все любят потянуть, но и в тенях проблемы не столько в недостатке бит, сколько в недостатках самих устройств.
 
Ответ: Линейные RGB пространства

atutubalin сказал(а):
1) А скока нужно градаций то ? 200 ? или 500 ? или сколько ?
А шут его знает. Но не 500 -- это точно. Думаю, где-то 250-300.
Но я немного не о том: при жесткой коррекции 8-битных файлов, при выкручивании кривых страдают ведь и средние тона и света -- гистограмма превращается в "забор". Вот здесь мне уже не хватает знаний математики, но интуитивно: даже в 16-битах при большом желании довыгибаться можно до потерь. почему так происходит -- я не знаю, но происходит. а в 8 битах моментально.
 
Ответ: Линейные RGB пространства

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

Привет опять.
Вчера провел простой экперимент.
1. Берем серый клин по самым темным тонам - от 0 до 896 с шагом 28 (16 бит). Открывем его в Фотошопе в линейном представлении (гамма=1). В линейном представлении градации достаточно легко различимы (будь он как гамма 2.2, я не думаю что я бы увидег градиенты).
2. Посылаю на печать с конвертированием под профиль принтера\бумаги (если печатать напрямую, получится как гамма 2.2 т.к. драйвер принтера все равно введет свою коррекцию которая будет воспринимать исходные данные как стандартные RGB - гамма 2.2 и различить оттенки на бумаге не получится). Получаю напечатанный клин, по которому можно понять "черную точку" принтера - место с которого начинают различаться градации
3. В Шопе делаю конверсию в профайл с гаммой 3 ( через Custom Gamma, для большего эффекта). В теории при достаточной точности (16 бит) это должно быть вполне безобидным преобразованием. Посылаю на печать с тем же профайлом принтера\бумаги, причем печатаю на ту же бумажку рядом с предыдущим клином чтобы легко оценить разницу.
Вы знаете, разница видна, причем на мой взгляд, второй вариант оказался богаче градациями в тенях! Правда дело было глубоко ночью, а думы о ColorManagement мне не дают много времени на сон, при этом неплохо бы посмотреть на клины сегодня вечерком, когда чернила стабилизируются, но факт остается фактом - я получил другой, отличимый глазом результат. Я думаю что при печати глубоких теней с выраженной цветной составляющей разница может овазаться еще заметнее.
Еще один результат этого экперимента меня поразил куда больше. У меня дома LCD монитор (! обсуждение применимости LCD для работы с цветом не является предметом этого топика). Он подключен по цифровому интерфейсу. Если я смотрю на свой серый темный клин в линейном пространстве, то вижу куда меньше оттенков нежели их там на самом деле есть. Когда я делаю конверсию в профиль с гаммой, вдруг откуда ни возьмись всплывают недостающие темные тона!
О чем все это говорит? О том что если рассматривать проблему линейного пространства только с точки зрения обеспечения достаточного количества градаций, то 16 бит вроде должно хватать. Однако как только в рассмотрение включаются Output устройства которые сами по себе могут выполнять цифровые преобразование (типа LCD мониторов) с неизвестной битностью и качеством или драйвера устройств, то равномерность распределения информации по различимым градациям внутри рабочего пространства начинает играть существенную роль в конечных Output результатах на границах диапазона. Так что у меня уже возникла мысль, может перейти на гамму 3 :-)

АК
Так что
 
Ответ: Линейные RGB пространства

4AlexK сказал(а):
...
1. Берем серый клин по самым темным тонам - от 0 до 896 с шагом 28 (16 бит). Открывем его в Фотошопе в линейном представлении (гамма=1)...
Можно попросить поподробнее описать (где берём?, чем измеряем?) - эти данные очень могут повлиять на чистоту эксперимента.
 
Ответ: Линейные RGB пространства

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

Я имел в виду цифровой клин - файл с кваратиками, расположенными слева направо по мере возрастания RGB. Сделать его можно по-разному, фотошоповский градиент тул лучше не использовать - он не дает точного математического распределения. Я его сделал из .RAW файла с забитыми в него фиксированными R,G,B значениями. По сути клин в моем экперименте - это цифровой эталон, мерять его можно только пипеткой в фотошопе. Если интересно, могу описать поподробнее способ изготовления такого рода градиентов. Конкретные оптические плотности\яркости\цветности эти эталонные цифры принимают только когда известно цветовое пространство. Я взял за основу линейное, чтобы мои R/G/B с шагом 28/65535 были различимы глазом.
К сожалению, у меня нет спектрофотометра чтобы померить что кажет монитор и что печатает принтер, а у моего фото-экспонометра не хватит точности, да и не нужно этого. Весь смысл эксперимента сводился к тому, чтобы проверить насколько корректно output девайсы работают с цифровыми данными пришедшими из пространств с различной плотностью цифровой информации на одно и то же количество воспроизводимых тонов ( я оперировал темными градациями). При неограниченной точности вычислений и соответственно битности операция конверсии из одного пространства в другое не должна приводить к потере информации. На деле точность не безгранична, потом помимо преобразований производимых фотошопом такого же рода преобразования производят и драйверы/сами устройства и тут "плотность цифр на единицу оптической плотности" начинает играть роль.
 
Ответ: Линейные RGB пространства

4AlexK сказал(а):
К сожалению, у меня нет спектрофотометра чтобы померить что кажет монитор и что печатает принтер,
Когда он появится, то не пытайтесь это делать :) -- ни о каком совпадении и речи быть не может. Разница будет огромной, т.к. различны точки адаптации. Чтобы добиться совпадения (только зачем?) нужно проводить Relative-измерение по отпечатку, взяв за точку адаптации (условный L100 a0 b0) цветовое ощущение от поверхности бумаги. Это возможно с помощью программы KeyWizard. А вот с монитором куда сложнее: гретаговские продукты не дают возможности взять за точку адаптации белую точку монитора, то есть провести Relative-измерение с экрана. Вам придется пускаться в длиннющий и геморройный путь пересчетов в Excel. Всё это совершенно не имеет смысла, т.к. единственным критерием совпадения является Ваше визуальное восприятие. Самое смешное, что все бросаются сравнивать изображение на мониторе с оттиском, допуская массу ошибок, и в результате сильно расстраиваются, когда нет результата.
А ошибки следующие:
1. Прежде чем бросаться никто ведь не удосуживается ответить себе на вопрос: а на фиг оно нужно такое сравнение? Задайте его себе и увидите, что ответа-то нет... :) -- оно не нужно на самом деле (по здравом размышлении). Вам, конечно, оченно желательно кое-что почитать, но прежде написать мне в приват ;)
2. Белая точка монитора откалибрована, скажем на 6000К, а освещение в комнате -- шо Бог послал: какая-нибудь дрянная в прошлом веке выгоревшая люминесцентка.
3. Ставят отпечаток в одной плоскости с плоскостью экрана -- грубейшая ошибка. Как правило, плоскости экрана и отпечатка должны быть перпендикулярны друг другу.
И проч.
Теперь о принтерах: чтобы удостовериться в том, что цвет на оттиске воспроизведен правильно, мы должны учитывать то, как строился профайл.
Если он строился в режиме Paper Colored Gray, то есть в режиме, когда за точку адаптации берется сам носитель (бумага) -- то и измерение должно быть Relative -- то есть только при помощи KeyWizard. И в опциях Шопа в Color Settings должен стоять при этом Relative, так как это радикально влияет на показания панели info.
Если профайл строился по Neutral Gray (редкий случай), то есть в режиме, когда за точку адаптации берут не носитель изображения, а идеальный диффузный отражатель, освещенный условным D50, то измерение должно быть Absolute, -- это уже можно делать обычным Measure Tools. Но в Color Settings Шопа уже должно стоять Absolute, иначе будет лажа.
В общем геморроя очень много и он на самом деле никому не нужен. Прочитайте внимательно трэд Image&spot Color Management -- он длинный и нудный, но четко ответит Вам на вопрос, на что ориентирован весь наш Color Management -- он ориентирован на получение т.н. психологически точной копии, копии, в которой сохранены лишь соотношения цветовых координат объектов оригинала (файл-экран) и копии (оттиска). И этого по уши достаточно, поверьте коллега.
И последнее: критерием того, что ваш аппарат (принтер, печатный процесс) четко отлажен, а профайл хорош и достоверен является:
-- эмоциональное совпадение изображения с Вашим воспоминанием об этом изображении. Чтобы результат цветокоррекции, отображенный экраном (это наш оригинал) стало воспоминанием достаточно 30-60 секунд -- нужно лишь не бросаться сравнивать.
-- нейтральность серого клина, заданного в тесте;
-- обеспечение минимально необходимого энергетического контраста изображения (минимум 1,8D и выше).
А все остальные корчи -- это уже из области спот-копирования -- это та задница, о которой как раз сейчас беседуют в трэде о "dE и разрешении конфликтов".
 
Ответ: Линейные RGB пространства

Здравствуйте Алексей.
Я ни коем образм не ставил задачей получить на мониторе и на принтере совпадение с неким dE- упаси бог, мне тогда совсем спать будет некогда. Про спектрофотометр я написал исключительно в ответ на вопрос "чем мерили".
Вопрос стоял просто в практичекой оценке утверждения что в пространстве с 16 бит вполне достаточно "цифровых элементов" чтобы не задумываться о том в линейном или гамма-корректированном пространстве мы работаем. Единственное преобразование которое производилось в эксперименте - конверсия из пространства с гаммой =1 в пространство с гаммой=3. При этом базисные стимулы пространств и координаты белой точки оставались нетронутыми. Если бы 16 бит хватало за глаза, то такое преобразование не приводило бы ни к каким визуально заметным изменениям. Профайл принтера не менялся в процессе экперимента и нужен был только для того чтобы приблизить ситуацию к реальной (в реальности я всегда печатаю через некоторый профиль). Для оценки результатов экперимента достаточно иметь глаза - если два клина напечатаны рядом (на расстоянии 1 мм друг от друга), то оценить разницу глазами несложно. В моем экперименте профиль принтера не меняется, поэтому он не мог являться причиной разных результатов. Два напечатанных клина действительно очень похожи друг на друга, но распределение плотностей совсем чуть-чуть изменилось. У меня скорее стоял вопрос, не проявятся ли дополнительные градации на бумаге, т.к. при печати из линейного пространства, первый тон, который я смог отличить от абсолютного черного был где-то 5 -7 из клина (при разнице в 28 и линейности пространства это где-то 1/2 8-битной единицы). Я не готов утверждать что при печати того же самого (не по RGB а по конечной яркости) клина из пространства с гаммой 3, я получил больше различимых тонов между 1-5 тоном в клине, это видимо точно можно сделать только с помощью приборов. Я могу утверждать только что клин стал немного другим, что видно невооруженным глазом.
С моим монитором ситуация интереснее - просто перевод значений RGB из пространства с гаммой 1 в гамму 3 (при этом в теории конечные яркости измениться не должны - только значения RGB) приводит к тому что монитор вдруг начинает распознавать больше оттенков в тенях. Очень прикольно наблюдать как просто кликая по "History" между линейным пространством и гамма-корректированным вдруг на мониторе появляются / исчезают промежуточные оттенки в самых темных участках. При этом тонально клин на экране сохраняет предыдущий вид - яркости на границах клина не меняются (самый черный остается таким же), а те что были различимыми в линейном пространстве остаются такими же по яркости и в гамма-коррктированном. Я попробовал тот же эксперимент на CRT мониторе тут все куда корректнее, дополнительных градаций не лезет. Это показывает что в случае с моим моником работа в линейном пространстве просто противопоказана, и проблема не в пространстве а в мониторе или в ком-то еще который находится между монитором и Фотошопом (видеокарта\оп система\драйвер и черт его знает чего там еще взбрело в голову этим программистам :-). К сожалению замена монитора куда дороже смены рабочего пространства :-(. Сегодня попробую подключить моник по аналогу - посмотрю что будет.
Алексей К
 
Ответ: Линейные RGB пространства

4AlexK сказал(а):
Я ни коем образм не ставил задачей получить на мониторе и на принтере совпадение с неким dE-
Да, это я так: ремарку из себя выпустил. :)
 
Ответ: Линейные RGB пространства

4AlexK сказал(а):
Здравствуйте Алексей.
пространстве мы работаем. Единственное преобразование которое производилось в эксперименте - конверсия из пространства с гаммой =1 в пространство с гаммой=3. При этом базисные стимулы пространств и координаты белой точки оставались нетронутыми.
Это не совсем так - была ведь и конверсия в профиль принтера. Какая, кстати, Absolute, Perceptual или еще какая ?

Ну и на профиль принтера надо смотреть - вдруг он с 8-битными таблицами ?
 
Ответ: Линейные RGB пространства

Абсолютно согласен, что работа в линейном пространстве - чушь полная. Для полноты эксперимента предлагаю проделать то же самое с файлами 16 бит и 8 бит - и напечатав их сравнить - что же именно дало 16 бит на отпечатке кроме увеличения файла.
 
Ответ: Линейные RGB пространства

Igor Bon сказал(а):
Для полноты эксперимента предлагаю проделать то же самое с файлами 16 бит и 8 бит - и напечатав их сравнить - что же именно дало 16 бит на отпечатке кроме увеличения файла.
Ничего -- это априори ясно. Так 16-битные изображения для печати никто и не использует. 16-битные изображения используют для ЦВЕТОКОРРЕКЦИИ. Тяжелая коррекция 8-битных изображений приводит к катастрофическим потерям градаций изображения. Понятно, что в полиграфии, где оригиналы из рук вон плохи, а печать под стать этим оригиналам -- проблема разрядности кажется неактуальной. Ну, можно только посочувствовать. Но когда форматный слайд, который мог бы петь и звенеть в размере 60х90 см, выведенный на 7600, вылезает с офсетным качеством, то как в анекдоте: "Абыдно, да?"
В свое время вождь и учитель мирового полиграфиата Маргулис бился в истерике по поводу Photoshop CS, обзывая программу профанацией, голой косметикой и проч. Он не увидел главного: радикального расширения поддержки 16-бит...
 
Ответ: Линейные RGB пространства

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

Вложения

  • ISO.jpg
    ISO.jpg
    166.9 КБ · Просм.: 903
Ответ: Линейные RGB пространства

Ок. Предлагаю довести до конца опыт. И проделать то же самое с картинкой 16 бит. (Если исходник изначально не 16 бит, стоит сменить картинку)
 
Ответ: Линейные RGB пространства

Igor Bon сказал(а):
Ок. Предлагаю довести до конца опыт. И проделать то же самое с картинкой 16 бит. (Если исходник изначально не 16 бит, стоит сменить картинку)
Меняем. Для чистоты эксперимента рисуем в Шопе 16-битный градиент от 0 0 0 до 255 255 255 (верхний). Дуплицируем и переводим в 8 бит (нижний).
Присваиваем обоим ту кривую, что в аттаче.
Смотрим на монитор. Офигеваем.
Смотрим на гистограммы. Ужасаемся.
Игорь, повторите опыт, не заленитесь :) Все настолько наглядно, что не о чем спорить :)
 

Вложения

  • Example.jpg
    Example.jpg
    135.3 КБ · Просм.: 979
  • Experiment.acv.txt
    Experiment.acv.txt
    62 байт · Просм.: 823
Ответ: Линейные RGB пространства

Не поленился - офигел!
А если без шуток - всё таки была картинка с натюрмортом и я предлагал проделать операции с ней, с градиентом и так всё ясно из теории. А вот на реальных изображениях потери некоторых градаций не то, что не заметны, но порой идут только на благо.
 
Статус
Закрыто для дальнейших ответов.