atutubalin
12 лет на форуме
- Сообщения
- 411
- Реакции
- 37
Ответ: Линейные RGB пространства
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% - ниже порога чувствительности.
Вывод очевиден и многократно уже озвучивался:
линейная гамма дает избыточную точность в светах и недостаточную в тенях
Все хуже. Никто толком не знает, как должны работать сколько-нибудь сложные фильтры. Вот в фотошопе есть галка "blend colors using gamma...", туда рекомендуют ставить 1.0, а вот правильно ли это - мне, например, неизвестно. Вот для вычитания (умножения, если быть точным) маски негатива есть теоретическое соображение что гамма не имеет значения и это все до чего я в мучениях докопался.
Классические фото-техники (unsharp mask, contrast mask) работают очевидно в "гамме" фотобумаги (обычный коэффициент контрастности порядка 1.5), но там никто не предлагает особого выбора.
Он сплошь и рядом встречался на сканерах с 10-битными и 8-битными АЦП. Как только 14-16-битные подешевели - не стало смысла.4AlexK сказал(а):Как мне кажется, второй вариант встречается на практике редко.
Тут возможна путаница. RAW-конвертором сегодня называют программу, которая из данных с матрицы ЦФК (с байеровской матрицей) делает картинку. Там проблемы далеко не только в гамма-коррекции.4AlexK сказал(а):тенях\светах а с тем обстоятельством, что алгоритмы многих 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), но там никто не предлагает особого выбора.