Гамма все еще важно принимать во внимание?

17

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

Trichoplax
источник
5
Я бы сказал, что этот пост по теме. Похоже, что это сильно связано с GPU Gems 3: Глава 24. Важность линейности http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html
Алан Вулф,
5
Вопрос о том, находится ли что-то в другом месте, не имеет отношения к этому решению Нам просто нужно знать, по теме ли это здесь .
Трихоплакс
1
Я намеренно публикую пограничные вопросы, чтобы определить, где находится граница. Пожалуйста, поднимите как можно больше неопределенностей на Мете.
Трихоплакс
3
Быть желанным в другом месте никогда не является веской причиной, чтобы объявить что-то не по теме здесь .
Крис говорит восстановить Монику
2
@robobenklein нигде в области действия этого стека не заявляет, что этот стек специально для 3D-графики.
Qix

Ответы:

15

Да, хотя многие экраны и операции ОС используют гамму 2.2, ваше оборудование и результаты вычислений все еще нуждаются в исправлении. Существуют также специальные среды, такие как телевизионные трансляции, которые имеют другую гамму. Сенсорное оборудование, такое как камеры, в основном линейное, поэтому его необходимо соответствующим образом отрегулировать. Кроме того, пользователь может настроить свою систему на любую гамму, которая ему нравится.

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

Математическое объяснение

грамм(Икс)грамм(Икс)

a+б+с+d

aбсdграмм(Икс)

грамм(грамм-1(a)+грамм-1(б)+грамм-1(с)+грамм-1(d))

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

И наконец художественная причина

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

* В худшем случае вы считаете свои вычисления линейными, но не компенсируете нелинейные выходные характеристики мониторов.

joojaa
источник
У нас еще есть латекс?
joojaa
2
Нет, но, надеюсь, мы сделаем это в будущем . Не стесняйтесь добавить свой ответ в качестве примера для его необходимости, хотя.
Крис говорит восстановить Монику
Если вы хотите показать, как будет выглядеть ваш ответ , если бы у нас был MathJax, вы можете воспользоваться mathurl.com .
Трихоплакс
11

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

Стандарт sRGB определяет цветность CIE для чистых красных, зеленых и синих основных цветов и белой точки - другими словами, он определяет, как эти основные цвета и белый цвет должны восприниматься по отношению к чистым длинам волн.

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

Что касается мониторов, то с высококачественным монитором должна быть возможность откалибровать его настройки (или они могут быть предварительно откалиброваны) так, чтобы его выходной сигнал максимально точно соответствовал sRGB. Если сам монитор не может этого сделать, во время сканирования на графическом процессоре также можно выполнить ограниченную коррекцию цвета; Есть несколько небольших аппаратных таблиц поиска, через которые отображаются значения RGB перед отправкой по проводам.

Вы также можете встретить Rec. 709 , который является стандартным цветовым пространством для телевизоров высокой четкости; он очень похож на sRGB, использует те же основные цвета и белую точку, но немного другую гамма-кривую. Некоторые высококачественные мониторы используют цветовое пространство Adobe RGB , которое несколько шире, чем sRGB; фотографам это нравится, потому что они более точно представляют, как будут выглядеть фотографии при печати. Следующее поколение HDR-телевизоров, которые (надеюсь) появятся в ближайшие несколько лет, будут использовать Rec. 2020 , который имеет огромную гамму и требует 10 или 12 бит на компонент, а не 8.

Итак, возвращаясь к вашему вопросу, нужно ли вам беспокоиться о том, что разные мониторы имеют разную гамму: не сильно. Для игр и графики для ПК вы можете предположить sRGB и предположить, что если пользователь действительно заботится о точности цветопередачи, у него будет хороший, откалиброванный монитор. Если вы создаете программное обеспечение для фотографов или печатных СМИ или для стандартов видео HDR следующего поколения, то вам, возможно, придется начать беспокоиться о цветовых пространствах с широкой гаммой.

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