Dlaczego istnieje różnica między gamą kolorów CIE XYZ a CIE RGB?

Aug 16 2020

Jeszcze jedno pytanie o przestrzeń kolorów ...

Podczas moich badań nad systemem CIE XYZ odkryłem, że jest on oparty na eksperymentach z dopasowywaniem kolorów CIE RGB, a ponieważ system RGB wymagał sporadycznych wartości ujemnych, XYZ został opracowany w celu uzyskania całkowicie nieujemnego systemu. Z tego wnioskuję, że funkcje dopasowywania kolorów x (), y () i z () są po prostu przekształceniami oryginalnych funkcji r (), g () i b (), przy użyciu dokładnie tych samych danych. W Internecie znalazłem również, że systemy XYZ i RGB były całkowicie wymienne, a XYZ jest po prostu preferowany ze względu na brak jakichkolwiek negatywnych komponentów.

Jeśli to nie jest prawda, popraw mnie!

Jeśli jednak są one zamienne i opierają się na tych samych danych, dlaczego porównanie dwóch przestrzeni w Wikipedii wykazuje wyraźną różnicę? Czy brakująca zakrzywiona sekcja na zewnątrz tego wewnętrznego trójkąta to tylko obszary, w których system CIE RGB musiałby być ujemny?

https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_RGB_color_space

Odpowiedzi

1 NathanReed Aug 29 2020 at 06:36

Prawidłowo, brakująca zakrzywiona sekcja w obszarze zielono-cyjanowo-niebieskim przedstawia miejsce, w którym składnik czerwony musiałby być ujemny, aby wyrazić te kolory we współrzędnych CIE RGB.

RGB i XYZ to na jednym poziomie po prostu różne układy współrzędnych obejmujące tę samą przestrzeń kolorów - przestrzeń wszystkich kolorów widocznych dla typowego ludzkiego wzroku. W sensie matematycznym, gdy jest używany jako współrzędne, nie ma nic złego w ujemnych wartościach RGB (o ile ogólna luminancja koloru pozostaje dodatnia). Ale stwarza problem z przechowywaniem lub przesyłaniem takich wartości, ponieważ konwencjonalne formaty obrazu i protokoły wyświetlania sygnału, takie jak HDMI itp., Pozwalają tylko na wartości dodatnie.

Na innym poziomie używane są różne przestrzenie kolorów RGB, ponieważ mniej więcej bezpośrednio reprezentują one rzeczywiste czerwone, zielone i niebieskie subpiksele na wyświetlaczu. Nie mogą one oczywiście emitować światła negatywnego, więc trójkąt RGB w przestrzeni kolorów reprezentuje gamę kolorów, które mogą być wytwarzane przez wyświetlacz.

Niestety, ponieważ miejsce widmowe jest zakrzywione, nie ma możliwości, aby 3 prymarne mogły pokryć całość. Wszystkie przestrzenie RGB nieuchronnie odcinają dużą część mocno nasyconych kolorów zielono-niebieskich.

W przypadku przestrzeni XYZ występuje odwrotny problem. Wszystkie widoczne kolory można przedstawić za pomocą tylko wartości dodatnich w XYZ, ale same podstawowe kolory XYZ nie są fizycznie możliwymi kolorami - znajdują się daleko poza widzialną gamą. Tak więc istnieje duża część przestrzeni XYZ, która nie jest poprawna jako kolor. I nie jest trywialne określenie, jakie dokładnie wartości są poprawne, a które nie, ponieważ trzeba sprawdzić, czy mieszczą się one wewnątrz, czy na zewnątrz zakrzywionego miejsca widmowego. Oznacza to również, że potrzebujesz więcej bitów na komponent, aby uzyskać dobrą precyzję, jeśli przechowujesz / przesyłasz obrazy wyrażone w XYZ - 8 bitów nie wystarczy, prawdopodobnie też nie 10 bitów, może 12 bitów wystarczy.

Jeśli chcemy, aby wyświetlacze obejmowały więcej widzialnej gamy, ostatecznie będziemy musieli przejść do 4, 5 lub więcej prawyborów. Nie oznacza to jednak, że potrzebujemy 4- lub 5-wymiarowych przestrzeni kolorów. Futurystyczny wyświetlacz mógłby być zasilany na przykład obrazami w przestrzeni XYZ, a urządzenie decydowałoby, jak najlepiej wygenerować każdy kolor przy użyciu dostępnych kolorów podstawowych.

joojaa Aug 18 2020 at 10:36

Nie ma czegoś takiego jak negatywne światło lub barwa światła. Posiadanie modelu z negatywnymi wartościami może dać ludziom zabawne pomysły. Tak więc światło zachowuje się ściśle jak dodatnie liczby naturalne.

Offcourse jeśli chodzi o współrzędne, mogą mieć wartości ujemne. Ale to rodzi pytanie, które masz: Jak możesz mieć wartości poza zakresem. Cóż, to nie jest wykres gamy, do którego przywykłeś, to tylko używany układ współrzędnych. Nie mówi nic o urządzeniu, jak na przykład fabuła sRGB. Więc narysowanie tego w ten sam sposób może być nieco mylące.

Tak, wartości barycentrycznego układu współrzędnych poza trójkątem wymagają wartości ujemnych.

pmw1234 Aug 29 2020 at 03:40

Oryginalne kolory CIE RGB obejmowały luminancję w ramach faktycznego kodowania, a oryginalne kolory podstawowe wybrane dla CIE RGB zostały wybrane, ponieważ były łatwe do odtworzenia w tamtym czasie. Dzięki temu było znacznie łatwiej i dokładniej podczas przeprowadzania eksperymentów z kolorami, które wymagały od ludzi klasyfikowania kolorów podczas tworzenia tych kolorów przy użyciu prawdziwego sprzętu fizycznego.

Jednak z powodu tych dwóch wyborów niektóre kolory wymagały spadku wartości czerwieni (na wykresie) poniżej zera. W tamtym czasie posiadanie wartości ujemnych było uważane za w porządku, ponieważ oko ma trudny czas w zakresie kolorów 700nm, więc mały błąd pozwolił na ogólną dokładność.

Jednak spowodowało to problem podczas tłumaczenia kolorów CIE RGB na rzeczywiste kolory fizyczne. Zwołali więc panel, po czym kłócili się (dużo) i wymyślili przestrzeń kolorów CIE XYZ. CIE XYZ próbuje oddzielić lumanancję (postrzeganą jasność) z gamy kolorów poprzez zakodowanie jej w kanale Y, a także usuwa te nieznośne ujemne wartości.

Musieli jednak przedstawić wszystkie kolory z oryginalnej przestrzeni kolorów CIE RGB w nowej przestrzeni kolorów CIE XYZ. Tak więc panel CIE utworzył funkcje dopasowywania kolorów (lub macierz w zależności od tego, jak na to patrzysz), które dokładnie reprezentują gamę kolorów CIE RGB w gamie kolorów CIE XYZ. Tak więc, kiedy odwzorowujesz obie gamy na wykresie 2D, będą one w rzeczywistości wykreślane w różnych punktach na tym samym wykresie, ponieważ są reprezentowane przez różne wartości.

Należy pamiętać, że dwie różne długości fal światła mogą być postrzegane jako dokładnie ten sam kolor, o ile ważona suma rozkładów widmowych jest równoważna. Ale to inna historia.