4.8. Calibration sur capteur

La sortie brute d’une cellule de pixel n’est pas encore prête à être utilisée. Une poignée de corrections lui sont appliquées avant que les données ne quittent le capteur – en partie dans le silicium de la puce, en partie dans le code du pilote qui programme la puce – afin de traiter les imperfections que le capteur introduit en chemin. Elles s’exécutent dans un ordre fixe sur chaque trame : d’abord l’ajustement du bruit à motif fixe (FPN) par colonne, puis la soustraction du niveau de noir, puis la correction des pixels défectueux, puis la correction de l’ombrage de l’objectif. Savoir ce que fait chacune importe, car l’image qui parvient au code utilisateur les a déjà toutes traversées.

4.8.1. Correction du FPN par colonne

Chaque colonne du capteur possède son propre amplificateur et son propre ADC de colonne, et de petites variations de fabrication entre eux font que chaque colonne se lit légèrement différemment de ses voisines. Sans correction, ce motif fixe apparaît sous forme de faibles stries verticales dans la sortie – les stries restent en place d’une trame à l’autre car elles proviennent du silicium lui-même plutôt que de la scène. Le capteur mesure en usine les ajustements de décalage et de gain par colonne, les stocke dans sa ROM de calibration et les applique à chaque lecture avant toute correction ultérieure. Effectuer cela en premier permet au reste de la chaîne de traitement de supposer que chaque colonne se comporte de la même façon, y compris les pixels de référence sombres que la calibration du niveau de noir utilise ensuite.

4.8.2. Calibration du niveau de noir

Le zéro de l’ADC – le compte numérique qui devrait correspondre à une photodiode vide – n’est pas parfaitement stable. Il dérive avec la température, avec les variations de la tension d’alimentation, et légèrement d’un pixel à l’autre. Sans correction, une trame parfaitement sombre ne se lirait pas comme zéro ; chaque pixel porterait un petit décalage sombre positif.

La solution standard consiste à inclure des lignes ou des colonnes au bord du capteur qui sont physiquement recouvertes de métal afin qu’aucune lumière ne les atteigne jamais. Leurs comptes numériques donnent la véritable référence sombre dans les conditions de fonctionnement actuelles. Le capteur lit ces pixels couverts à chaque trame, en fait la moyenne par ligne ou par colonne, et soustrait cette moyenne de chaque autre pixel. Les pixels exposés à la lumière ressortent alors avec un compte nul pour une photodiode non éclairée, indépendamment de la température ou de la dérive de l’alimentation.

4.8.3. Correction des pixels défectueux

Une petite fraction des pixels de tout capteur sont défectueux – ils lisent une valeur constante (bloquée haut ou bloquée bas) quelle que soit la quantité de lumière qui les atteint. Certains défauts proviennent de la variation de fabrication, et d’autres s’accumulent lentement au cours de la vie du capteur (les impacts de rayons cosmiques pendant de longues périodes de fonctionnement en sont la cause habituelle).

Les capteurs modernes gèrent cela à la volée avec un petit filtre spatial. À chaque trame, chaque pixel est comparé à ses voisins de même couleur ; tout pixel qui s’écarte suffisamment de la médiane locale pour être invraisemblable est remplacé par une valeur dérivée de ces voisins. Le filtre attrape à la fois les défauts d’usine et ceux qui apparaissent plus tard, sans nécessiter de carte de pixels défectueux calibrée par capteur, et le défaut est invisible dans la sortie.

4.8.4. Correction de l’ombrage de l’objectif

La chute en cos⁴ combinée au vignettage mécanique du boîtier de l’objectif donne à chaque trame non corrigée un assombrissement notable des coins. Le matériel de correction de l’ombrage de l’objectif (LSC) du capteur compense en multipliant chaque pixel par un gain qui dépend de sa position dans la trame – 1.0 au centre, augmentant progressivement vers les coins pour suivre l’inverse de la courbe de chute mesurée.

Le capteur fournit le matériel de multiplication, mais la carte de gain elle-même relève de la responsabilité du MCU. Le pilote inscrit la carte dans les registres LSC du capteur au démarrage, soit à partir d’une calibration que le pilote stocke, soit à partir d’une nouvelle mesure effectuée sur une cible de référence plate. Certains capteurs compriment la carte en un petit ensemble de coefficients polynomiaux afin que les registres de la puce puissent la contenir.

Le LSC dépend de l’objectif. Changer d’objectif déplace la courbe de chute, de sorte qu’une carte LSC calibrée pour un objectif ne correspondra pas à un autre – une carte mal appliquée ressemble à des coins sombres (sous-correction) ou à des taches lumineuses dans les coins (sur-correction).