Czy nadal należy brać pod uwagę gamma?


17

Czy różne monitory (w tym ekrany mobilne) nadal używają znacząco różnych funkcji gamma podczas wyświetlania kolorowych obrazów? Czy istnieje ustandaryzowany sposób przedstawiania kolorów, który można następnie przetłumaczyć zgodnie z gamma monitora, czy też wszystkie są wystarczająco podobne, aby wykluczyć taką potrzebę w dzisiejszych czasach?


5
Powiedziałbym, że ten post dotyczy tematu. Wydaje się, że ma to duży związek
Alan Wolfe

5
To, czy coś dotyczy innego tematu, nie ma znaczenia dla tej decyzji. Musimy tylko wiedzieć, czy jest to tutaj temat .
trichoplax

1
Celowo wysyłam pytania dotyczące granicy, aby zmierzyć, gdzie jest granica. Proszę podnieść jak najwięcej niepewności na Meta.
trichoplax

3
Będąc mile widziane gdzie indziej jest nie właściwa tylko powodu, aby zadeklarować coś off-topic tutaj .
Chris mówi Przywróć Monikę

2
@robobenklein nigdzie w zasięgu tego stosu nie stwierdza, że ​​ten stos jest specjalnie do grafiki 3D.
Qix,

Odpowiedzi:


15

Tak, podczas gdy wiele ekranów i operacji systemu operacyjnego używa współczynnika gamma wynoszącego 2,2, sprzęt i wyniki obliczeń nadal wymagają korekty. Istnieją również specjalne nośniki, takie jak telewizory o innej gamma. Urządzenia z czujnikami, takie jak kamery, są w większości liniowe, dlatego należy je odpowiednio dostosować. Poza tym użytkownik może ustawić swój system na dowolną gamę, którą lubią.

W grafice komputerowej głównym powodem, dla którego należy uwzględnić gamma, jest to, że obliczenia najprawdopodobniej wykonywane są w przestrzeni liniowej * lub zsumowanie wkładu światła staje się niepotrzebnie skomplikowane. W każdym razie gamma jest naprawdę uproszczeniem, znacznie lepiej byłoby wykonywać konwersje z profilu do profilu, jeśli można zainwestować w to czas obliczeniowy.

Wyjaśnienie matematyczne

To może być prostsze do zrozumienia. Na monitorze wystąpił błąd wyświetlania co nie stanowi problemu, jeśli dane są zgodne z , jednak jeśli chcesz obliczyć:sol(x)sol(x)

za+b+do+re

a , , , mają błąd , który faktycznie trzeba obliczyć.zabdoresol(x)

sol(sol-1(za)+sol-1(b)+sol-1(do)+sol-1(re))

Musisz to zrobić dla każdego podelementu w kółko. Dlatego zamiast uruchamiać transformację za każdym razem, gdy transformujesz wszystko raz na liniowe, a potem raz z powrotem.

I wreszcie powód artystyczny

Może wyglądać lepiej z inną gamma. Z tego powodu wiele gier ma regulację gamma.

* Najgorszym przypadkiem jest to, że uważasz, że twoje obliczenia są liniowe, ale nie kompensują nieliniowej charakterystyki wyjściowej monitorów.


Czy mamy już lateks?
joojaa,

2
Nie, ale mam nadzieję, że zrobimy to w przyszłości . Dodaj jednak odpowiedź jako przykład jej konieczności.
Chris mówi Przywróć Monikę

Jeśli chcesz pokazać, jak wyglądałaby twoja odpowiedź , gdybyśmy mieli MathJax, aby pomóc w uzasadnieniu sprawy, możesz użyć mathurl.com .
trichoplax

11

W rzeczywistości standardową przestrzenią kolorów dla obrazów cyfrowych jest obecnie sRGB . sRGB jest dobrym domyślnym założeniem, jeśli pracujesz z wyświetlaczem, którego dokładna przestrzeń kolorów nie jest znana (tj. większość losowych wyświetlaczy, na których ktoś może uruchomić twoją aplikację) lub obrazy, których kodowanie przestrzeni kolorów nie jest znane (tj. większość przypadkowych plików obrazów, które możesz napotkać) .

Standard sRGB określa chromatyczność CIE czystych czerwonych, zielonych i niebieskich pierwotnych i białych punktów - innymi słowy, określa, jak te pierwotne i białe powinny wyglądać percepcyjnie w stosunku do czystych długości fal.

sRGB definiuje również krzywą gamma, która jest używana do kodowania wartości RGB. Krzywa gamma jest częścią, którą zwykle zajmują się programiści graficzni, ponieważ musimy konwertować kolory tam iz powrotem między sRGB i liniowym, aby matematyka oświetlenia była fizycznie poprawna. Wszystkie nowoczesne procesory graficzne mają wbudowaną obsługę sRGB: mogą automatycznie stosować transformacje gamma w sprzęcie podczas próbkowania tekstury lub zapisywania wartości pikseli w celu renderowania.

Jeśli chodzi o monitory, w przypadku monitora wysokiej jakości powinna istnieć możliwość kalibracji jego ustawień (lub może zostać wstępnie skalibrowany), tak aby jego wyjście odpowiadało sRGB tak wiernie, jak to możliwe. W przypadku, gdy sam monitor nie jest w stanie tego zrobić, podczas skanowania można również wykonać ograniczoną korekcję kolorów na GPU; istnieją pewne małe tabele wyszukiwania sprzętu, przez które wartości RGB są mapowane przed wysłaniem za pośrednictwem drutu.

Możesz także natknąć się na Rec. 709 , która jest standardową przestrzenią kolorów dla telewizorów HD; jest bardzo podobny do sRGB, wykorzystując te same wartości podstawowe i punkt bieli, ale nieco inną krzywą gamma. Niektóre wysokiej klasy monitory wykorzystują przestrzeń kolorów Adobe RGB , która jest nieco szersza gama niż sRGB; fotografom podobają się te, ponieważ wierniej odwzorowują zdjęcia po wydrukowaniu. Następna generacja telewizorów HDR, która pojawi się (miejmy nadzieję) w ciągu najbliższych kilku lat, będzie wykorzystywać Rec. 2020 , który ma ogromną gamę i wymaga 10 lub 12 bitów na komponent zamiast 8.

Wróćmy więc do pytania, czy trzeba się martwić, że różne monitory mają inną gamma: niewiele. W przypadku gier i ogólnej grafiki komputerowej można w zasadzie założyć sRGB i stwierdzić, że jeśli użytkownik naprawdę dba o dokładność kolorów, będzie miał dobry, skalibrowany monitor. Jeśli produkujesz oprogramowanie dla fotografów lub mediów drukowanych lub dla standardów wideo HDR nowej generacji, być może będziesz musiał zacząć się martwić o szerokie spektrum kolorów.


Szersze gamy monitorów również zaczną być powszechne w niedalekiej przyszłości. Na przykład nie skalibruję do sRGB na mojej grafice, ale konwerter profili na profile sprawia, że ​​obrazy nadal wyglądają tak samo jak na mojej maszynie programistycznej.
joojaa,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.