Korekcja gamma
Korekcja (modulacja) gamma – algorytm nieliniowego przetwarzania obrazu używany do kodowania i dekodowania luminancji w grafice komputerowej i systemach wizyjnych, wykorzystujący nielinearny sposób w jaki ludzkie oko postrzega światło widzialne. Gdyby obraz ten nie był poddawany korekcji gamma, wtedy wymagałby przydzielenia zbyt dużej ilości bitów dla bardzo jasnych punktów obrazu, których oko nie może rozróżnić, i zbyt małej ilości bitów dla bardzo ciemnych punktów obrazu, na które oko ludzkie jest mocno wyczulone. W rezultacie wymagałoby to użycia znacznie większej ilości bitów do uzyskania obrazu o tej samej jakości, co jest równoznaczne z wymogiem uzyskania znacznie szerszego pasma przy transmisji takich obrazów[1].
Innym zastosowaniem korekcji gamma jest usuwanie zniekształceń wprowadzanych przez urządzenia (np. monitor, skaner) albo zamierzone modyfikowanie obrazu (np. w celach artystycznych) wykonywane poprzez zmianę kontrastu obrazu wejściowego. Nierozerwalnie z korekcją gamma związana jest krzywa gamma opisująca stopień modyfikacji luminancji w całym dostępnym zakresie.
Krzywa gamma jest stosowana zazwyczaj w przetwarzaniu pojedynczych obrazów oraz sekwencji wizyjnych, zarówno analogowych, jak i cyfrowych, i pozwala na uzyskanie zakresu dynamiki, który jest aktualnie nazywany SDR (ang. Standard Dynamic Range), czyli standardowym zakresem dynamiki. Krzywa gamma oparta jest o ograniczenia telewizorów kineskopowych (CRT), ponieważ bazująca na niej korekcja gamma została wprowadzona, aby skompensować ich charakterystykę wejściowo-wyjściową. Telewizory CRT, pozwalały na uzyskanie maksymalnej luminancji na poziomie 100 cd/m²[2].
Korekcja gamma jest operacją punktową wykonywaną na obrazie monochromatycznym, bazującą na krzywej gamma. Wzór matematyczny tej korekcji jest następujący:
gdzie to liczba rzeczywista, a wartości wejściowe i wyjściowe zwykle należą do zakresu 0 – 1.
Dla wartości < 1 przeprowadzany proces przetwarzania obrazu często nazywany jest kompresją gamma, natomiast dla wartości > 1 – ekspansją gamma. W większości systemów komputerowych obrazy kodowane są z wartością gamma około 0,45, a dekodowane z wartością odwrotną, czyli 2,2 (przerywana linia czarna na rys. 2., częściowo przykryta linią czerwoną). Wyjątkiem były komputery Macintosh, które do pojawienia się Mac OS X 10.6 stosowały do kompresji gamma wartość 0,55, a do ekspansji – 1,8. W przypadku przestrzeni kolorów sRGB, która jest standardem w większości kamer, drukarek i komputerów PC, nie używa się jednak prostej funkcji potęgowej jak powyżej, ale obrazy dekodowane są z wartością gamma w pobliżu 2,2 przez większość zakresu, natomiast w zakresie poniżej 0,04045 (dla wartości po kompresji gamma) dekodowane są z gammą równą 1 (zależność liniowa), co można zobaczyć na rys. 2. w postaci niebieskiej linii.
Zobacz też
Przypisy
- ↑ Charles A. Poynton: Digital Video and HDTV: Algorithms and Interfaces. Morgan Kaufmann, 2003, s. 260, 630. ISBN 1-55860-792-7.
- ↑ Dolby Vision White Paper, Dolby Laboratories [dostęp 2017-05-12] [zarchiwizowane z adresu 2020-05-20] (ang.).
Media użyte na tej stronie
I made this in matlab to show the sRGB gamma expansion curve (red), the gamma 2.2 power law (black, behind the red mostly), and the local gamma of the sRGB curve (blue). Horizontal line is a median value of blue gamma curve (≈2.16, and is NOT the same as gamma 2.2 used in the dashed black curve).
Autor: X-romix 10:00, 7 June 2008 (UTC), Updated by --Rubybrian (talk) 14:25, 14 September 2010 (UTC); Photographer: Toni Frissell, Licencja: CC BY-SA 4.0
A demonstration of the effect of gamma correction on images.