4.8. Калібрування на датчику¶
Необроблений вихід пікселя ще не готовий до використання. Перш ніж дані залишать датчик, до нього застосовується низка корекцій – частково у кремнії чіпа, частково у коді драйвера, що програмує чіп – для усунення недосконалостей, які вносить датчик. Вони виконуються у фіксованому порядку на кожному кадрі: спочатку корекція фіксованого шуму шаблону (FPN) стовпців, потім віднімання рівня чорного, потім корекція дефектних пікселів, потім корекція затінення об’єктива. Розуміння того, що робить кожна з них, важливе, оскільки зображення, що надходить до коду користувача, вже пройшло через усі ці корекції.
4.8.1. Корекція FPN стовпців¶
Кожен стовпець датчика має власний підсилювач і АЦП стовпця, і незначні виробничі відмінності між ними означають, що кожен стовпець читається трохи по-іншому від своїх сусідів. Без корекції цей фіксований шаблон проявляється у вигляді слабких вертикальних смуг на виході – смуги не зникають від кадру до кадру, оскільки вони виникають із самого кремнію, а не зі сцени. Датчик вимірює поправки зміщення та підсилення для кожного стовпця на заводі, зберігає їх у своєму калібрувальному ROM і застосовує при кожному зчитуванні, перш ніж виконуються будь-які подальші корекції. Виконання цього першим дозволяє решті конвеєра вважати, що кожен стовпець поводиться однаково, включаючи темні опорні пікселі, які використовуються наступною калібруванням рівня чорного.
4.8.2. Калібрування рівня чорного¶
Нуль АЦП – цифровий рахунок, що повинен відповідати порожньому фотодіоду – не є ідеально стабільним. Він дрейфує з температурою, варіацією напруги живлення та трохи від пікселя до пікселя. Без корекції ідеально темний кадр не читався б як нуль; кожен піксель ніс би невелике позитивне темне зміщення.
Стандартне виправлення – це включення рядків або стовпців на краю датчика, фізично закритих металом, щоб до них ніколи не потрапляло світло. Їхні цифрові рахунки дають істинне темне значення при поточних умовах експлуатації. Датчик зчитує ці закриті пікселі на кожному кадрі, усереднює їх по рядку або стовпцю й віднімає середнє від кожного іншого пікселя. Після цього світлові пікселі мають нульовий рахунок для неосвітленого фотодіода, незалежно від температури чи дрейфу живлення.
4.8.3. Корекція дефектних пікселів¶
Невелика частка пікселів будь-якого датчика є дефектними – вони зчитують постійне значення (постійно высокое або постійно низьке) незалежно від кількості світла, що до них потрапляє. Одні дефекти виникають через виробничі відхилення, а інші повільно накопичуються протягом терміну служби датчика (удари космічних променів під час тривалих періодів роботи є типовою причиною).
Сучасні датчики обробляють це в режимі реального часу за допомогою невеликого просторового фільтра. На кожному кадрі кожен піксель порівнюється зі своїми сусідами того самого кольору; будь-який піксель, що знаходиться досить далеко від локальної медіани, щоб бути неправдоподібним, замінюється значенням, отриманим з цих сусідів. Фільтр виявляє як заводські дефекти, так і ті, що розвинулися пізніше, без необхідності мати відкалібровану карту поганих пікселів для кожного датчика, і дефект є невидимим у виведенні.
4.8.4. Корекція затінення об’єктива¶
Спадання cos⁴ у поєднанні з механічним вінетуванням від корпусу об’єктива дає кожному некоригованому кадру помітне затемнення кутів. Апаратне забезпечення корекції затінення об’єктива (LSC) на датчику компенсує це, множачи кожен піксель на коефіцієнт підсилення, що залежить від його положення у кадрі – 1.0 у центрі, плавно зростаючи до кутів, слідуючи за оберненим значенням виміряної кривої спадання.
Датчик надає апаратне забезпечення множника, але сама карта підсилення є відповідальністю MCU. Драйвер записує карту в регістри LSC датчика під час запуску – або з калібрування, що зберігається в драйвері, або з нового вимірювання відносно плоскої еталонної мішені. Деякі датчики стискають карту до невеликого набору поліноміальних коефіцієнтів, щоб бортові регістри могли її зберігати.
LSC залежить від об’єктива. Заміна об’єктива змінює криву спадання, тому карта LSC, відкалібрована для одного об’єктива, не підійде для іншого – неправильно застосована карта виглядає як темні кути (недокорекція) або яскраві плями в кутах (перекорекція).