Чи важливо враховувати гамму?


17

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


5
Я б сказав, що це повідомлення на тему. Здається, це дуже стосується дорогоцінних каменів 3: Розділ 24. Важливість бути лінійним http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html
Алан Вулф

5
Чи є щось на тему в іншому місці, це рішення не має значення. Нам просто потрібно знати, чи це тут на тему .
трихоплакс

1
Я навмисно розміщую прикордонні питання, щоб оцінити, де знаходиться кордон. Будь ласка, підніміть якомога більше невизначеностей щодо Meta.
трихоплакс

3
Будучи вітати в інших товарних позиціях не є і НЕ одна правильна причина оголосити що - то не по темі тут .
Кріс каже, що повернеться до Моніки

2
@robobenklein ніде в області застосування цього стека не вказано, що цей стек призначений саме для 3D-графіки.
Qix

Відповіді:


15

Так, хоча багато екранів та операцій з ОС використовують гаму 2,2, результат вашого обладнання та обчислення все ще потрібно виправити. Існують також спеціальні носії, такі як телевізійні телеканали, які мають різну гаму. Сенсорне обладнання, як камери, здебільшого лінійне, тому їх потрібно відповідно відрегулювати. Крім цього, користувач може налаштувати свою систему на будь-яку гамму, яка їм подобається.

Основна причина обчислення гамми в комп'ютерній графіці полягає в тому, що обчислення, швидше за все, проводиться в лінійному просторі * або підсумовування легких внесків стає зайвим. У будь-якому випадку гамма - це справді спрощення речей, вам було б набагато краще робити профілі для конверсій профілю, якщо можливо вкласти для цього обчислювальний час.

Математичне пояснення

Це може бути простішим для розуміння. Ваш монітор має помилку на дисплеї що не є проблемою, якщо ваші дані відповідають , однак якщо ви хочете обчислити:г(х)г(х)

а+б+c+г

і , , , мають помилку яку вам насправді потрібно було б обчислити.абcгг(х)

г(г-1(а)+г-1(б)+г-1(c)+г-1(г))

Вам потрібно буде робити це для кожного піделемента знову і знову. Тому замість запуску перетворення кожен раз ви перетворюєте один раз на лінійний, а потім один раз назад.

І нарешті мистецька причина

Це може просто виглядати краще з іншою гамою. У багатьох іграх з цієї причини є коригування гамми.

* Найгірший випадок - ви вважаєте, що ваші обчислення є лінійними, але не компенсують монітори нелінійних характеристик виводу.


У нас ще є латекс?
joojaa

2
Ні, але, сподіваємось, ми будемо в майбутньому . Однак не соромтеся додати відповіді як приклад її необхідності.
Кріс каже, що відбудується Моніка

Якщо ви хочете показати, як виглядатиме ваша відповідь , якби у нас був MathJax, щоб допомогти скласти випадок, ви можете скористатись mathurl.com .
трихоплакс

11

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

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

sRGB також визначає гамма-криву, яка використовується для кодування RGB-значень. Крива гамма - це частина, якою зазвичай займаються графічні програмісти, оскільки нам доводиться перетворювати кольори вперед і назад між sRGB і лінійними, щоб фізично правильно зробити освітлення математикою. У всіх сучасних графічних процесорах вбудована підтримка sRGB: вони можуть автоматично застосовувати гамма-перетворення в апаратному забезпеченні під час вибірки текстури або написання піксельного значення до цілі візуалізації.

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

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

Отже, щоб повернутися до вашого питання, чи потрібно турбуватися про різні монітори, які мають різну гамму: не дуже багато. Для ігор та загальної графіки ПК ви можете припустити sRGB, і подумайте, що якщо користувач дійсно піклується про точність кольорів, у них буде хороший калібрований монітор. Якщо ви виробляєте програмне забезпечення для фотографів або друкованих засобів масової інформації або для відео стандартів HDR нового покоління, то, можливо, вам доведеться турбуватися про кольорові простори широкої гами.


Більш широкі моніторні гами також почнуть бути звичним у найближчому майбутньому. Наприклад, я не калібрую sRGB на своїй художній програмі, але перетворювач профілю в профіль робить зображення все одно такі ж, як на моїй машині розробників.
joojaa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.