4.12. ISP hattı

Görüntü sinyal işlemcisi (ISP), sensörden gelen ham piksel değerlerini tamamlanmış bir renkli görüntüye dönüştüren donanım hattıdır. Sensör üzerindeki piksel düzeyi düzeltmeler bu hattın ilk aşamalarıdır. Bunlar çalıştıktan sonra hattın geri kalanı, her çerçevede sabit bir sırayla renk işlemeyi ve çıkış biçimlendirmeyi yapar.

Yukarıdan aşağıya etiketlenmiş sekiz kutu içeren dikey bir hat şeması: istatistik çıkarımı, otomatik beyaz dengesi, debayering, renk matrisi düzeltmesi, gama düzeltmesi, görüntü ölçekleme, görüntü kırpma ve piksel paketleme. Üstteki bir ok "düzeltilmiş Bayer pikselleri" olarak ve alttaki bir ok "tamamlanmış çerçeve" olarak etiketlenmiştir.

ISP’nin renk işleme ve çıkış aşamaları. Hat, bir sonraki aşama başlamadan önce her aşamayı çerçevedeki her piksel üzerinde çalıştırır.

4.12.1. Aşamalar

Her aşama sırayla iyi tanımlanmış tek bir dönüşüm uygular. Sıra önemlidir – sonraki aşamalar öncekilerin zaten çalıştığını varsayar ve birkaç aşama girdilerini önceki çerçevenin çıktısından da alır.

  1. İstatistik çıkarımı, düzeltilmiş Bayer çerçevesinden bölge başına ortalama parlaklığı ve kanal başına toplamları ölçer. Bu sayılar otomatik pozlama, otomatik kazanç ve otomatik beyaz dengesi kontrol döngülerini besler; bunlar da sensörün ayarlarını bir sonraki çerçeve için günceller.

  2. Otomatik beyaz dengesi kazançları, her Bayer pikselini renk başına bir çarpanla ölçekler – kırmızı pikselleri bir R kazancıyla, yeşil pikselleri bir G kazancıyla, mavi pikselleri bir B kazancıyla – sahnenin beyaz referansını nötr griye doğru iterek kaydedilen renklerin gözün gördüğü gibi görünmesini sağlar. Çarpanlar önceki çerçevenin AWB istatistiklerinden gelir.

  3. Debayering, Bayer mozaiğinden her pikseldeki eksik iki renk kanalını yeniden oluşturarak piksel başına tek kanallı ham veriyi üç kanallı RGB’ye dönüştürür. (Bkz. Debayering.) Bu aşamadan sonraki her şey Bayer mozaiği üzerinde değil RGB pikselleri üzerinde çalışır.

  4. Renk matrisi düzeltmesi (CCM), sensörün yerel kırmızı-yeşil-mavi yanıtını standart bir renk uzayına eşleyen 3x3 bir matris çarpımını her RGB pikseline uygular. Her sensörün filtrelerinin kendi spektral yanıtı vardır ve bu, herhangi bir standardın tam olarak beklediği şey değildir; matris, “sensör RGB”yi “standart RGB”ye dönüştüren sensöre özgü kalibre edilmiş bir dönüşümdür.

  5. Gama düzeltmesi, doğrusal sensör sinyalini algıyla eşleşen bir kodlamaya sıkıştıran doğrusal olmayan bir eğriyi her kanala uygular. Göz, koyu tonlar arasındaki farkları parlak tonlar arasındaki farklardan daha fazla fark eder; dolayısıyla bit bütçesinin daha büyük bölümünü koyu uca harcayan bir kodlama, belirli bir bit derinliğinde daha fazla görünür ayrıntı yakalar.

  6. Görüntü ölçekleme, çerçeveyi sensörün yerel çözünürlüğünden hedef çıkış çözünürlüğüne yeniden boyutlandırır. Çoğu uygulama sensörün tam piksel sayısından daha azıyla çalışır ve ölçek küçültme, sonraki her şeyin hem bant genişliğini hem de bellek baskısını azaltır.

  7. Görüntü kırpma, ölçeklenmiş çerçevenin bir alt dikdörtgenini çıkarır ve dışındaki pikselleri atar. Bir ilgi bölgesini yakalamak, belirli bir en-boy oranını eşleştirmek veya uygulamanın ihtiyaç duymadığı bir kenarı düşürmek için kullanılır.

  8. Piksel paketleme, kanal başına dahili gösterimi (tipik olarak kanal başına 10 veya 12 bit) seçilen çıkış biçimine dönüştürür ve sonucu RAM’e yazar.

4.12.2. Kontrol döngüsü geri beslemesi

Stages 1 and 2 form a control loop that spans multiple frames. The statistics extracted from frame N tell the sensor how bright the scene was and how its colour balance sat that frame; the auto-exposure, auto-gain, and auto-white-balance controllers use those numbers to pick new exposure, gain, and white-balance register values for frame N+1. The new values take effect on the next frame’s read-out, the new frame’s statistics come back, and the loop closes.

Değişmeyen bir sahne için döngü birkaç çerçeve içinde yakınsar ve sabit bir ayarda kalır. Parlaklığı veya renk tonu değişen bir sahne için – örneğin kameranın iç mekândan güneşli bir pencereye kayması – döngü değişimi birkaç çerçeve boyunca takip eder ve kullanıcı yeni kararlı duruma giderken kısa bir parlaklık veya renk kayması görür.

4.12.3. ISP nerede çalışır

İki düzenleme yaygındır.

  • Bir sensör üzeri ISP, tüm hattı sensör yongasının içinde çalıştırır ve tamamlanmış bir RGB görüntü çıkarır. MCU sadece sonucu toplar.

  • Bir sensör dışı ISP, ana MCU veya SoC içinde bulunur. Sensör ham Bayer çıkarır; MCU’nun silikonu (veya sürücü kodu), tamamlanmış çerçeveyi kullanıcı koduna teslim etmeden önce hattı çalıştırır.

Bu ayrım, sensörün kullanıcıya doğrudan hangi çıkış biçimlerini verebileceğini etkiler. Tam yonga üzeri ISP’ye sahip bir sensör, kullanıcının yonganın desteklediği herhangi bir tamamlanmış biçimi seçmesine izin verir. Böyle bir ISP’ye sahip olmayan bir sensör yalnızca Bayer çıkarır ve biçim dönüşümleri MCU silikonunda veya yazılımda gerçekleşir.