4.8. Sensorseitige Kalibrierung¶
Das Rohsignal einer Pixelzelle ist noch nicht gebrauchsfertig. Bevor die Daten den Sensor verlassen, wird eine Reihe von Korrekturen darauf angewendet – teils im Silizium des Chips, teils im Treibercode, der den Chip programmiert – um Unzulänglichkeiten zu behandeln, die der Sensor unterwegs einbringt. Sie laufen bei jedem Einzelbild in einer festen Reihenfolge ab: zuerst der Abgleich des spalten-Fixed-Pattern-Rauschens (FPN), dann die Schwarzwertsubtraktion, dann die Defektpixelkorrektur, dann die Objektiv-Schattierungskorrektur. Es ist wichtig zu wissen, was jede davon tut, denn das Bild, das den Benutzercode erreicht, hat sie bereits alle durchlaufen.
4.8.1. Spalten-FPN-Korrektur¶
Jede Spalte des Sensors hat ihren eigenen Verstärker und Spalten-ADC, und kleine fertigungsbedingte Schwankungen zwischen ihnen führen dazu, dass jede Spalte etwas anders ausliest als ihre Nachbarn. Ohne Korrektur zeigt sich dieses feste Muster als schwache vertikale Streifen im Ausgang – die Streifen bleiben von Einzelbild zu Einzelbild an Ort und Stelle, weil sie aus dem Silizium selbst stammen und nicht aus der Szene. Der Sensor misst die Offset- und Verstärkungsabgleiche pro Spalte werkseitig, speichert sie in seinem Kalibrierungs-ROM und wendet sie bei jedem Auslesevorgang an, bevor weitere Korrekturen laufen. Dies zuerst zu tun, erlaubt es dem Rest der Pipeline anzunehmen, dass sich jede Spalte gleich verhält, einschließlich der dunklen Referenzpixel, die die Schwarzwertkalibrierung als Nächstes verwendet.
4.8.2. Schwarzwertkalibrierung¶
Der Nullpunkt des ADC – der digitale Zählwert, der einer leeren Fotodiode entsprechen sollte – ist nicht perfekt stabil. Er driftet mit der Temperatur, mit Schwankungen der Versorgungsspannung und leicht von einem Pixel zum nächsten. Ohne Korrektur würde ein vollständig dunkles Einzelbild nicht als null ausgelesen; jedes Pixel würde einen kleinen positiven Dunkel-Offset tragen.
Die übliche Lösung besteht darin, am Rand des Sensors Zeilen oder Spalten vorzusehen, die physisch mit Metall abgedeckt sind, sodass nie Licht auf sie trifft. Ihre digitalen Zählwerte liefern die echte Dunkelreferenz unter den aktuellen Betriebsbedingungen. Der Sensor liest diese abgedeckten Pixel bei jedem Einzelbild aus, mittelt sie pro Zeile oder Spalte und subtrahiert den Mittelwert von jedem anderen Pixel. Die belichteten Pixel liefern dann bei einer unbeleuchteten Fotodiode einen Zählwert von null, unabhängig von Temperatur- oder Versorgungsdrift.
4.8.3. Defektpixelkorrektur¶
Ein kleiner Anteil der Pixel in jedem Sensor ist defekt – sie lesen einen konstanten Wert aus (dauerhaft hoch oder dauerhaft niedrig), unabhängig davon, wie viel Licht auf sie trifft. Manche Defekte stammen aus fertigungsbedingten Schwankungen, und weitere kommen im Laufe der Lebensdauer des Sensors langsam hinzu (Treffer durch kosmische Strahlung während langer Betriebszeiträume sind die übliche Ursache).
Moderne Sensoren behandeln dies im laufenden Betrieb mit einem kleinen räumlichen Filter. Bei jedem Einzelbild wird jedes Pixel mit seinen gleichfarbigen Nachbarn verglichen; jedes Pixel, das weit genug außerhalb des lokalen Medians liegt, um unplausibel zu sein, wird durch einen aus diesen Nachbarn abgeleiteten Wert ersetzt. Der Filter erfasst sowohl werkseitige Defekte als auch solche, die sich später entwickeln, ohne dass eine pro Sensor kalibrierte Defektpixelkarte nötig wäre, und der Defekt ist im Ausgang unsichtbar.
4.8.4. Objektiv-Schattierungskorrektur¶
Der cos⁴-Abfall in Verbindung mit mechanischer Vignettierung durch das Objektivgehäuse verleiht jedem unkorrigierten Einzelbild eine merkliche Eckabdunklung. Die Objektiv-Schattierungskorrektur (LSC) -Hardware auf dem Sensor gleicht dies aus, indem sie jedes Pixel mit einer Verstärkung multipliziert, die von seiner Position im Einzelbild abhängt – 1.0 in der Mitte, gleichmäßig zu den Ecken hin ansteigend, um dem Kehrwert der gemessenen Abfallkurve zu folgen.
Der Sensor stellt die Multiplikator-Hardware bereit, aber die Verstärkungskarte selbst liegt in der Verantwortung des MCU. Der Treiber schreibt die Karte beim Start in die LSC-Register des Sensors, entweder aus einer vom Treiber gespeicherten Kalibrierung oder aus einer frischen Messung gegen ein flaches Referenzziel. Manche Sensoren komprimieren die Karte auf einen kleinen Satz von Polynomkoeffizienten, damit die On-Chip-Register sie aufnehmen können.
Die LSC hängt vom Objektiv ab. Ein Objektivwechsel verschiebt die Abfallkurve, sodass eine für ein Objektiv kalibrierte LSC-Karte nicht zu einem anderen passt – eine falsch angewendete Karte sieht aus wie dunkle Ecken (Unterkorrektur) oder helle Eckflecken (Überkorrektur).