4.8. Kalibracja na sensorze

Surowe wyjście komórki piksela nie jest jeszcze gotowe do użycia. Przed opuszczeniem sensora stosuje się do niego garść korekcji – częściowo w krzemie układu, częściowo w kodzie sterownika programującego układ – aby poradzić sobie z niedoskonałościami, które sensor wprowadza po drodze. Działają one w ustalonej kolejności na każdej ramce: najpierw korekcja kolumnowego szumu o stałym wzorze (FPN), następnie odejmowanie poziomu czerni, potem korekcja pikseli wadliwych, a na końcu korekcja zacienienia obiektywu. Wiedza o tym, co robi każda z nich, ma znaczenie, ponieważ obraz docierający do kodu użytkownika przeszedł już przez nie wszystkie.

4.8.1. Korekcja kolumnowego FPN

Każda kolumna sensora ma własny wzmacniacz i kolumnowy ADC, a niewielkie różnice produkcyjne między nimi sprawiają, że każda kolumna odczytuje nieco inaczej niż jej sąsiadki. Bez korekcji ten stały wzór objawia się jako słabe pionowe smugi na wyjściu – smugi pozostają w tym samym miejscu z ramki na ramkę, ponieważ pochodzą z samego krzemu, a nie ze sceny. Sensor mierzy przesunięcie i korekty wzmocnienia dla poszczególnych kolumn w fabryce, zapisuje je w swojej kalibracyjnej pamięci ROM i stosuje je przy każdym odczycie, zanim uruchomi się jakakolwiek dalsza korekcja. Wykonanie tego jako pierwsze pozwala reszcie łańcucha przetwarzania założyć, że każda kolumna zachowuje się tak samo, w tym również ciemne piksele odniesienia, których używa następnie kalibracja poziomu czerni.

4.8.2. Kalibracja poziomu czerni

Zero ADC – cyfrowa wartość, która powinna odpowiadać pustej fotodiodzie – nie jest idealnie stabilne. Dryfuje wraz z temperaturą, ze zmianami napięcia zasilania i nieznacznie z piksela na piksel. Bez korekcji idealnie ciemna ramka nie odczytałaby się jako zero; każdy piksel niósłby niewielkie dodatnie przesunięcie ciemności.

Standardowym rozwiązaniem jest umieszczenie na krawędzi sensora wierszy lub kolumn fizycznie zakrytych metalem, tak aby światło nigdy do nich nie docierało. Ich wartości cyfrowe dają prawdziwe odniesienie ciemności w bieżących warunkach pracy. Sensor odczytuje te zakryte piksele na każdej ramce, uśrednia je dla każdego wiersza lub kolumny i odejmuje średnią od każdego innego piksela. Jasne piksele wychodzą wtedy z zerową wartością dla nieoświetlonej fotodiody, niezależnie od temperatury czy dryfu zasilania.

4.8.3. Korekcja pikseli wadliwych

Niewielki ułamek pikseli w każdym sensorze jest wadliwy – odczytują one stałą wartość (utkniętą w stanie wysokim lub niskim) niezależnie od tego, ile światła do nich dociera. Część wad pochodzi ze zmienności produkcyjnej, a więcej narasta powoli w trakcie życia sensora (zwykłym winowajcą są trafienia promieni kosmicznych podczas długich okresów pracy).

Nowoczesne sensory radzą sobie z tym w locie za pomocą małego filtra przestrzennego. Na każdej ramce każdy piksel jest porównywany z sąsiadami w tym samym kolorze; każdy piksel leżący na tyle daleko poza lokalną medianą, by był nieprawdopodobny, zostaje zastąpiony wartością wyprowadzoną z tych sąsiadów. Filtr wychwytuje zarówno wady fabryczne, jak i te powstające później, bez potrzeby skalibrowanej dla danego sensora mapy złych pikseli, a wada jest niewidoczna na wyjściu.

4.8.4. Korekcja zacienienia obiektywu

Spadek cos⁴ w połączeniu z mechanicznym winietowaniem od obudowy obiektywu nadaje każdej nieskorygowanej ramce zauważalne ściemnienie narożników. Sprzęt korekcji zacienienia obiektywu (LSC) na sensorze kompensuje to, mnożąc każdy piksel przez wzmocnienie zależne od jego położenia w kadrze – 1.0 w środku, rosnące płynnie ku narożnikom, aby podążać za odwrotnością zmierzonej krzywej spadku.

Sensor dostarcza sprzęt do mnożenia, ale sama mapa wzmocnień jest odpowiedzialnością MCU. Sterownik zapisuje mapę do rejestrów LSC sensora przy starcie, albo z kalibracji przechowywanej przez sterownik, albo ze świeżego pomiaru względem płaskiego celu odniesienia. Niektóre sensory kompresują mapę do niewielkiego zestawu współczynników wielomianowych, aby rejestry na układzie mogły ją pomieścić.

LSC zależy od obiektywu. Wymiana obiektywu przesuwa krzywą spadku, więc mapa LSC skalibrowana dla jednego obiektywu nie będzie pasować do innego – źle zastosowana mapa wygląda jak ciemne narożniki (niedokorygowanie) lub jasne plamy w narożnikach (przekorygowanie).