OFFSET · V + cGAIN · V × cGAMMA · V^(1/c)WSPÓLNE · c = 1 to identyczność
Rozdział 7 / Matematyka gradingu

Offset, gain, gamma

Trzy suwaki w każdym node'zie do korekcji koloru, które wyglądają podobnie, a robią matematycznie coś zupełnie innego z cieniami, światłami i środkiem tonalnym.

TL;DR

Każdy z trzech suwaków w node'zie korekcji koloru — offset, gain, gamma — na pierwszy rzut oka robi to samo: „rozjaśnia” albo „przyciemnia” obraz. Różnica ujawnia się dopiero, kiedy spojrzysz, które wartości zmieniają się najbardziej. Te trzy operatory nie są zamiennikami tego samego efektu — to trzy różne narzędzia, każde do innego zadania, i mylenie ich (np. próba rozjaśnienia cieni gainem zamiast offsetem) to jeden z najczęstszych błędów, jakie popełnia ktoś, kto grading dopiero zaczyna.

Etap: Offset

Offset — ta sama stała zmiana wszędzie

V' = V + offsetV — wartość wejściowa; offset — stała, dodawana identycznie do każdego piksela niezależnie od jego jasności; V' — wartość wyjściowa

Offset dodaje (lub odejmuje, przy wartości ujemnej) tę samą, stałą liczbę do każdej wartości w obrazie. Ponieważ to zmiana absolutna, nie proporcjonalna, jej efekt zależy od tego, jak mała była wartość bazowa: dodanie 0,1 do czerni (0,0 → 0,1) to nieskończona zmiana względna — z niczego robi się coś — podczas gdy dodanie 0,1 do jasnej wartości (0,9 → 1,0) to zmiana relatywnie niewielka. Właśnie dlatego offset najsilniej „unosi” cienie: klasyczny efekt „mgły” albo „wypłowiałej czerni” w gradingu to niemal zawsze dodatni offset. Ma też wadę, o której łatwo zapomnieć: przy dodatnim offsecie jasne wartości mogą przekroczyć 1,0 — w przestrzeni display-referred oznacza to twarde obcięcie (clipping) najjaśniejszych partii, chyba że pracujesz w nieograniczonym scene-linear HDR (Rozdział 9 wraca do tego rozróżnienia).

Etap: Gain

Gain — skalowanie proporcjonalne od zera

V' = V × gaingain — mnożnik; przy gain = 1 obraz się nie zmienia, przy gain > 1 rozjaśnia, przy gain < 1 przyciemnia

Gain mnoży każdą wartość przez tę samą stałą. W przeciwieństwie do offsetu, czerń zostaje czernią niezależnie od wartości gaina: 0 × dowolna liczba = 0. To właśnie sprawia, że gain to matematycznie ten sam operator co ekspozycja mierzona w stopach (Rozdział 9 pokazuje, że gain = 2^stopnie) — mnożenie, nie dodawanie, jest dokładnie tym mechanizmem, jaki opisuje liniowość radiometryczna z Rozdziału 3. Zmiana bezwzględna rośnie wraz z jasnością bazową: przy gain = 1,3 wartość 0,8 zmienia się o 0,24, a wartość 0,2 zmienia się tylko o 0,06 — gain „rozciąga” różnice w jasnych partiach mocniej niż w cieniach, odwrotnie niż offset.

Etap: Gamma

Gamma — jedyny operator, który nie rusza krańców

V' = V^(1/γ)γ (gamma) — parametr; γ > 1 rozjaśnia środek tonalny (bo wykładnik 1/γ < 1), γ < 1 przyciemnia; przy γ = 1 obraz się nie zmienia

To dokładnie ta sama funkcja potęgowa co krzywa kodująca z Rozdziału 5 — różnica jest wyłącznie w intencji. Tam gamma kodowała jasność percepcyjnie jako stały, ustandaryzowany krok w łańcuchu obrazu; tutaj jest świadomym narzędziem artystycznym do przesuwania środka tonalnego. Kluczowa własność: 0^(1/γ) = 0 i 1^(1/γ) = 1 dla dowolnego γ > 0 — gamma jako jedyny z trzech operatorów zawsze zostawia pełną czerń i pełną biel dokładnie tam, gdzie były, i przekształca wyłącznie wartości pomiędzy nimi. To dlatego gamma jest narzędziem z wyboru, kiedy chcesz zmienić kontrast czy jasność środkowych tonów (skóra, szarości) bez ryzykowania, że najciemniejsze cienie przestaną być czarne albo najjaśniejsze highlighty przestaną być białe.

Etap: Policzone

Te same trzy operatory, na tych samych pięciu wartościach

Policzone: offset +0,10, gain ×1,30, gamma γ=1,50 (wykładnik 1/1,5 ≈ 0,667), na V = 0,00 / 0,25 / 0,50 / 0,75 / 1,00
Wejście — 0,00  0,25  0,50  0,75  1,00
Offset +0,10 — 0,10  0,35  0,60  0,85  1,00* (*1,10 obcięte do 1,00)
Gain ×1,30 — 0,00  0,325  0,650  0,975  1,00* (*1,30 obcięte do 1,00)
Gamma ^0,667 — 0,000  0,397  0,630  0,825  1,000
Offset: przesuwa czerń najmocniej (0,00 → 0,10). Gain: nie rusza czerni, przesuwa biel najmocniej. Gamma: nie rusza żadnego z krańców, przesuwa tylko środek.
Sprawdzenie: przy V=1,00 offset i gain obcinają wynik (odpowiednio 1,10 i 1,30 nie mieszczą się w zakresie 0–1), podczas gdy gamma z definicji nigdy tego nie robi — 1,00^cokolwiek zawsze daje dokładnie 1,00.
Offset.gain.gammate same parametry co wyżej
0 1 (wejście) 1 offset — rusza czerń gain — czerń stoi w miejscu gamma — oba krańce stoją w miejscu
Linia przerywana to identyczność (brak zmiany). Offset przesuwa całą linię w górę, gain ją obraca stromiej od zera, gamma wygina środek, nie ruszając krańców.
Etap: W praktyce

Gdzie te operatory żyją w Arnoldzie i RenderManie

Node'y korekcji koloru w obu rendererach — aiColorCorrect w Arnoldzie, PxrColorCorrect w RenderManie — wystawiają dokładnie tę trójkę jako osobne parametry, obok kontrastu i saturacji z Rozdziałów 9–10. Warto wiedzieć, że narzędzia kolorystów (np. trzy-kołowy „Lift / Gamma / Gain” w DaVinci Resolve) czasem implementują „lift” jako offset tłumiony w stronę bieli, a nie czysty, stały offset opisany wyżej — dokładny kształt tego tłumienia różni się między narzędziami i nie jest jednolicie ustandaryzowany. Ustandaryzowana, w pełni jawna wersja tej samej trójki operatorów, w ściśle określonej kolejności, istnieje jednak — to właśnie ASC CDL, temat następnego rozdziału.

Słowniczek
Offset
Operator addytywny: V' = V + stała. Najsilniej zmienia cienie, może wypychać jasne wartości poza zakres.
Gain
Operator multiplikatywny: V' = V × stała. Zachowuje czerń, najsilniej zmienia jasne wartości.
Gamma (jako operator gradingu)
Operator potęgowy: V' = V^(1/γ). Jedyny z trzech, który nie zmienia ani czerni, ani bieli.
Clipping
Twarde obcięcie wartości do granicy zakresu (np. 1,0) — utrata informacji o tym, jak bardzo wartość ją przekroczyła.