4.12. Řetězec ISP

Procesor obrazového signálu (ISP) je hardwarový řetězec, který převádí surové hodnoty pixelů ze senzoru na hotový barevný obraz. Korekce na úrovni pixelů na senzoru jsou prvními stupni tohoto řetězce. Po jejich provedení zbytek řetězce zpracovává barvy a formátuje výstup v pevně daném pořadí u každého snímku.

Svislý diagram řetězce s osmi popsanými poli, shora dolů: extrakce statistik, automatické vyvážení bílé, debayering, korekce barevné matice, gamma korekce, škálování obrazu, ořez obrazu a balení pixelů. Šipka nahoře je popsaná "opravené Bayerovy pixely" a šipka dole je popsaná "hotový snímek".

Stupně zpracování barvy a výstupu v ISP. Řetězec provede každý stupeň nad každým pixelem ve snímku, než začne další.

4.12.1. Stupně

Každý stupeň postupně aplikuje jednu přesně definovanou transformaci. Na pořadí záleží – pozdější stupně předpokládají, že ty dřívější již proběhly, a několik stupňů přebírá vstupy také z výstupu předchozího snímku.

  1. Extrakce statistik měří průměrný jas pro jednotlivé oblasti a součty pro jednotlivé kanály z opraveného Bayerova snímku. Tato čísla napájejí řídicí smyčky automatické expozice, automatického zisku a automatického vyvážení bílé, které pak aktualizují nastavení senzoru pro další snímek.

  2. Zisky automatického vyvážení bílé škálují každý Bayerův pixel barevně specifickým násobitelem – červené pixely ziskem R, zelené pixely ziskem G, modré pixely ziskem B – a posouvají bílý referenční bod scény směrem k neutrální šedé, aby zaznamenané barvy vypadaly tak, jak je vidělo oko. Násobitele pocházejí ze statistik AWB předchozího snímku.

  3. Debayering rekonstruuje u každého pixelu dva chybějící barevné kanály z Bayerovy mozaiky a převádí surová data s jedním kanálem na pixel na tříkanálové RGB. (Viz Debayering.) Vše po tomto stupni běží nad RGB pixely, nikoli nad Bayerovou mozaikou.

  4. Korekce barevné matice (CCM) aplikuje na každý RGB pixel násobení maticí 3x3, které mapuje nativní červeno-zeleno-modrou odezvu senzoru do standardního barevného prostoru. Filtry každého senzoru mají vlastní spektrální odezvu, která přesně neodpovídá tomu, co očekává jakýkoli standard; matice je kalibrovaná transformace specifická pro daný senzor, která převádí „RGB senzoru“ na „standardní RGB“.

  5. Gamma korekce aplikuje na každý kanál nelineární křivku, která komprimuje lineární signál senzoru do kódování odpovídajícího vnímání. Oko si všímá rozdílů mezi tmavými tóny více než rozdílů mezi světlými tóny, takže kódování, které vynaloží více svého bitového rozpočtu na tmavý konec, zachytí při dané bitové hloubce více viditelných detailů.

  6. Škálování obrazu mění velikost snímku z nativního rozlišení senzoru na cílové výstupní rozlišení. Většina aplikací běží na méně než plném počtu pixelů senzoru a zmenšování snižuje jak šířku pásma, tak zatížení paměti u všeho, co následuje.

  7. Ořez obrazu vyjme podobdélník škálovaného snímku a zahodí pixely mimo něj. Používá se k zachycení oblasti zájmu, k dosažení konkrétního poměru stran nebo k odstranění okraje, který aplikace nepotřebuje.

  8. Balení pixelů převádí interní reprezentaci po jednotlivých kanálech (obvykle 10 nebo 12 bitů na kanál) do zvoleného výstupního formátu a zapíše výsledek do RAM.

4.12.2. Zpětná vazba řídicí smyčky

Stupně 1 a 2 tvoří řídicí smyčku, která zahrnuje více snímků. Statistiky získané ze snímku N sdělují senzoru, jak jasná scéna byla a jak v daném snímku sedělo její vyvážení barev; řídicí jednotky automatické expozice, automatického zisku a automatického vyvážení bílé tato čísla použijí k výběru nových hodnot registrů expozice, zisku a vyvážení bílé pro snímek N+1. Nové hodnoty se projeví při vyčítání dalšího snímku, vrátí se statistiky nového snímku a smyčka se uzavře.

U scény, která se nemění, smyčka konverguje během několika snímků a zůstává na konstantním nastavení. U scény, jejíž jas nebo barevný nádech se mění – například když kamera přejíždí z interiéru na sluncem ozářené okno – smyčka sleduje změnu během několika snímků a uživatel vidí krátký posun jasu nebo barvy na cestě k novému ustálenému stavu.

4.12.3. Kde ISP běží

Běžná jsou dvě uspořádání.

  • ISP na senzoru provádí celý řetězec uvnitř čipu senzoru a vydává hotový RGB obraz. MCU pouze sbírá výsledek.

  • ISP mimo senzor sídlí v hostitelském MCU nebo SoC. Senzor vydává surový Bayer; křemík MCU (nebo jeho ovladač) provede řetězec, než předá hotový snímek uživatelskému kódu.

Toto rozdělení ovlivňuje, jaké výstupní formáty může senzor předat uživateli přímo. Senzor s plnohodnotným ISP na čipu umožňuje uživateli vybrat z libovolného hotového formátu, který čip podporuje. Senzor bez něj vydává pouze Bayer a konverze formátů probíhají v křemíku MCU nebo v softwaru.