Czy kanał alfa powinien zostać skorygowany gamma

11

Wiemy, że w PNG, BMP itp. Zapisana wartość piksela nie znajduje się w liniowej przestrzeni RGB. Ale nie znalazłem żadnego dokumentu mówiącego o kanale alfa. Czy kanał alfa jest przechowywany w plikach obrazów w przestrzeni liniowej, czy nie?

Mary Chang
źródło

Odpowiedzi:

11

Wiemy, że w PNG, BMP itp. Zapisana wartość piksela nie znajduje się w liniowej przestrzeni RGB.

To niekoniecznie jest prawdą. Możesz zapisać dowolną przestrzeń kolorów w obrazie, nie muszą to być nawet kolory (takie jak normalne mapy).

Kanał alfa jest zasadniczo liniowy. Kanał alfa nie jest wyświetlany, ale ogólnie jest to termin bezbarwny używany do określenia przezroczystości (lub cokolwiek innego). Ponieważ nie muszą wyświetlać się na monitorze, nie ma powodu, aby przechowywać w przestrzeni gamma. Jeśli to zrobisz, niepotrzebnie stracisz precyzję na dolnym końcu wartości alfa. Mapy normalne podążają podobnym tokiem rozumowania, co bardzo dobrze wyjaśnił Julien Guertault .

asy
źródło
3

Same formaty plików graficznych nie uwzględniają współczynnika gamma, ale przechowują wartości pikseli niezmodyfikowane, ponieważ program do tworzenia treści (np. Photoshop) decyduje się na przechowywanie wartości, więc kanały RGB i alfa nie różnią się od punktu widzenia formatu plików graficznych (z wyjątkiem strategii stratnej kompresji, ale to inny temat).

Jednak gdy tworzysz obrazy w Photoshopie, są one wyświetlane na ekranie w przestrzeni sRGB, w tym w kanale alfa, więc jeśli piszesz kanał alfa, opierając się na tym, że postrzegana jasność pikseli reprezentuje przezroczystość, możesz powiedzieć, że alfa jest również przechowywane w przestrzeń gamma. ALE, jeśli tworzysz alfa za pomocą przezroczystości warstw w Photoshopie, to alfa jest przechowywane liniowo (np. 50% przezroczysta warstwa jest przechowywana jako alfa = 128).

Tak więc ostatecznie zależy od tego, jak autor danych, w jakiej przestrzeni są przechowywane dane i jak należy je interpretować. Należy również rozważyć, czy nieliniowy rozkład wartości daje jakiekolwiek korzyści w zakresie precyzji. Wartości kolorów są przechowywane w sRGB, ponieważ ludzki system wizualny reaguje logarytmicznie na jasność światła, więc sensowne jest, aby mieć więcej szczegółów w ciemnościach niż w jasnościach, aby zmniejszyć postrzegane pasy, ale można zapytać, czy taki rozkład byłby korzystny, powiedzmy, zapisane normalne mapy lub wartości chropowatości w teksturach.

JarkkoL
źródło