4.8. Kalibratie op de sensor¶
De ruwe uitvoer van een pixelcel is nog niet klaar voor gebruik. Een aantal correcties wordt erop toegepast voordat de data de sensor verlaat – deels in het silicium van de chip, deels in de drivercode die de chip programmeert – om imperfecties aan te pakken die de sensor onderweg introduceert. Ze draaien in een vaste volgorde op elk frame: eerst de trim van kolom-fixed-pattern noise (FPN), dan zwartniveau-aftrek, dan defecte-pixelcorrectie, dan lens-shadingcorrectie. Weten wat elk doet is belangrijk omdat de afbeelding die de gebruikerscode bereikt al door al deze stappen is gegaan.
4.8.1. Kolom-FPN-correctie¶
Elke kolom van de sensor heeft zijn eigen versterker en kolom-ADC, en kleine fabricagevariaties tussen hen betekenen dat elke kolom iets anders uitleest dan zijn buren. Zonder correctie verschijnt dit vaste patroon als vage verticale strepen in de uitvoer – de strepen blijven van frame tot frame op hun plaats omdat ze van het silicium zelf komen in plaats van van de scène. De sensor meet de offset- en versterkingstrims per kolom in de fabriek, slaat ze op in zijn kalibratie-ROM, en past ze toe bij elke uitlezing voordat enige verdere correctie draait. Door dit eerst te doen kan de rest van de pipeline aannemen dat elke kolom zich hetzelfde gedraagt, inclusief de donkere referentiepixels die de zwartniveaukalibratie hierna gebruikt.
4.8.2. Zwartniveaukalibratie¶
De nul van de ADC – de digitale telling die zou moeten overeenkomen met een lege fotodiode – is niet perfect stabiel. Hij verschuift met de temperatuur, met variatie in de voedingsspanning, en lichtjes van de ene pixel naar de andere. Zonder correctie zou een perfect donker frame niet als nul uitlezen; elke pixel zou een kleine positieve donkere offset dragen.
De standaardoplossing is het opnemen van rijen of kolommen aan de rand van de sensor die fysiek bedekt zijn met metaal zodat er nooit licht bij komt. Hun digitale tellingen geven de werkelijke donkere referentie bij de huidige bedrijfsomstandigheden. De sensor leest die bedekte pixels elk frame uit, middelt ze per rij of kolom, en trekt het gemiddelde af van elke andere pixel. De lichtpixels komen er dan uit met een telling van nul voor een onverlichte fotodiode, ongeacht temperatuur- of voedingsdrift.
4.8.3. Defecte-pixelcorrectie¶
Een kleine fractie van de pixels in elke sensor is defect – ze lezen een constante waarde uit (vast op hoog of vast op laag) ongeacht hoeveel licht ze bereikt. Sommige defecten komen voort uit fabricagevariatie, en meer accumuleren langzaam gedurende de levensduur van de sensor (inslagen van kosmische straling tijdens lange bedrijfsperioden zijn meestal de boosdoener).
Moderne sensoren handelen dit direct af met een klein ruimtelijk filter. Elk frame wordt elke pixel vergeleken met zijn buren van dezelfde kleur; elke pixel die ver genoeg buiten de lokale mediaan ligt om onwaarschijnlijk te zijn wordt vervangen door een waarde die uit die buren is afgeleid. Het filter vangt zowel fabrieksdefecten als defecten die later ontstaan, zonder dat er een gekalibreerde kaart van slechte pixels per sensor nodig is, en het defect is onzichtbaar in de uitvoer.
4.8.4. Lens-shadingcorrectie¶
De cos⁴-afname gecombineerd met mechanische vignettering van de lensbehuizing geeft elk ongecorrigeerd frame een merkbare verdonkering van de hoeken. De lens-shadingcorrectie (LSC) hardware op de sensor compenseert door elke pixel te vermenigvuldigen met een versterking die afhangt van zijn positie in het frame – 1.0 in het midden, soepel oplopend richting de hoeken om de inverse van de gemeten afnamecurve te volgen.
De sensor levert de vermenigvuldigerhardware, maar de versterkingskaart zelf is de verantwoordelijkheid van de MCU. De driver schrijft de kaart bij het opstarten in de LSC-registers van de sensor, ofwel vanuit een kalibratie die de driver opslaat ofwel vanuit een verse meting tegen een vlak referentiedoel. Sommige sensoren comprimeren de kaart tot een kleine set polynoomcoëfficiënten zodat de on-chip registers hem kunnen vasthouden.
LSC hangt af van de lens. Het verwisselen van lenzen verschuift de afnamecurve, dus een LSC-kaart die voor één lens gekalibreerd is past niet bij een andere – een verkeerd toegepaste kaart ziet eruit als zwakke hoeken (ondercorrectie) of heldere hoekvlekken (overcorrectie).