4.8. Calibração no sensor

A saída bruta de uma célula de pixel ainda não está pronta para ser usada. Algumas correções são aplicadas a ela antes que os dados deixem o sensor – parte no silício do chip, parte no código do driver que programa o chip – para lidar com as imperfeições que o sensor introduz ao longo do caminho. Elas são executadas em uma ordem fixa em cada quadro: primeiro o ajuste do ruído de padrão fixo (FPN) de coluna, depois a subtração do nível de preto, depois a correção de pixels defeituosos, e depois a correção de sombreamento de lente. Saber o que cada uma faz é importante porque a imagem que chega ao código do usuário já passou por todas elas.

4.8.1. Correção de FPN de coluna

Cada coluna do sensor tem seu próprio amplificador e seu próprio ADC de coluna, e pequenas variações de fabricação entre eles fazem com que cada coluna leia de forma ligeiramente diferente de suas vizinhas. Sem correção, esse padrão fixo aparece como faixas verticais tênues na saída – as faixas permanecem no lugar de quadro a quadro porque vêm do próprio silício, e não da cena. O sensor mede os ajustes de offset e de ganho por coluna na fábrica, armazena-os em sua ROM de calibração e os aplica em cada leitura, antes que qualquer outra correção seja executada. Fazer isso primeiro permite que o restante do pipeline assuma que toda coluna se comporta da mesma maneira, incluindo os pixels de referência escura que a calibração do nível de preto usa em seguida.

4.8.2. Calibração do nível de preto

O zero do ADC – a contagem digital que deveria corresponder a um fotodiodo vazio – não é perfeitamente estável. Ele varia com a temperatura, com a variação da tensão de alimentação e ligeiramente de um pixel para o seguinte. Sem correção, um quadro perfeitamente escuro não seria lido como zero; cada pixel carregaria um pequeno offset escuro positivo.

A correção padrão é incluir linhas ou colunas na borda do sensor que sejam fisicamente cobertas por metal, de modo que nenhuma luz jamais as alcance. Suas contagens digitais fornecem a verdadeira referência escura nas condições de operação atuais. O sensor lê esses pixels cobertos em cada quadro, faz a média deles por linha ou coluna e subtrai a média de todos os demais pixels. Os pixels iluminados então saem com contagem zero para um fotodiodo não iluminado, independentemente da temperatura ou da variação da alimentação.

4.8.3. Correção de pixels defeituosos

Uma pequena fração dos pixels em qualquer sensor é defeituosa – eles leem um valor constante (travados em alto ou travados em baixo), independentemente de quanta luz os alcança. Alguns defeitos vêm da variação de fabricação, e mais defeitos se acumulam lentamente ao longo da vida do sensor (impactos de raios cósmicos durante longos períodos de operação são os culpados usuais).

Os sensores modernos lidam com isso em tempo real com um pequeno filtro espacial. A cada quadro, cada pixel é comparado a seus vizinhos da mesma cor; qualquer pixel que fique suficientemente fora da mediana local a ponto de ser implausível é substituído por um valor derivado desses vizinhos. O filtro captura tanto os defeitos de fábrica quanto os que surgem mais tarde, sem precisar de um mapa de pixels ruins calibrado por sensor, e o defeito fica invisível na saída.

4.8.4. Correção de sombreamento de lente

A queda em cos⁴, combinada com o vinhetamento mecânico do alojamento da lente, dá a todo quadro não corrigido um escurecimento de canto perceptível. O hardware de correção de sombreamento de lente (LSC) no sensor compensa multiplicando cada pixel por um ganho que depende de sua posição no quadro – 1.0 no centro, subindo suavemente em direção aos cantos para seguir o inverso da curva de queda medida.

O sensor fornece o hardware multiplicador, mas o mapa de ganho em si é responsabilidade do MCU. O driver grava o mapa nos registradores de LSC do sensor na inicialização, seja a partir de uma calibração que o driver armazena, seja a partir de uma nova medição contra um alvo de referência plano. Alguns sensores comprimem o mapa em um pequeno conjunto de coeficientes polinomiais para que os registradores no chip possam armazená-lo.

A LSC depende da lente. Trocar de lente desloca a curva de queda, de modo que um mapa de LSC calibrado para uma lente não corresponderá a outra – um mapa mal aplicado parece cantos escuros (subcorreção) ou manchas claras nos cantos (sobrecorreção).