Fotóelmélet: A digitális színes fénykép

0

Ha az alapján osztályozzuk a mai digitális fényképezőgépeket, hogy milyen módon állítják elő színes képet, két fő csoportot hozhatunk létre:

  • színszűrő tömböt használó, egyrétegű érzékelővel szerelt fényképezőgépek
  • többrétegű érzékelővel szerelt fényképezőgépek

A jelenleg piacon lévő digitális fényképezőgépek szinte kizárólag az első kategóriába tartoznak, ezen belül legelterjedtebb a Bayer CFA-t használó. (CFA, Color Filter Array = színszűrő tömb). Ezért ebben az írásban a teljesség igénye nélkül megpróbálom bemutatni ennek az eljárásnak a lényegét. Legyen szó bármilyen érzékelő típusról (pl. CCD vagy CMOS), ezek a félvezetők önmagukban alkalmatlanok a színek érzékelésére, csak a rájuk eső fény intenzitását érzékelik, bár az érzékelés hatásfoka függ a fény hullámhosszától.

Az érzékelőre eső fény színének meghatározása úgy történik, hogy a fényt szín-komponensekre bontják, amely színszűrők segítségével történik. Leggyakrabban az un. primary-color filter-t, vagyis alapszínek szerinti színszűrőt használják. Ezek a vörös, zöld és kék komponenseire bontják a fényt (Red/Green/Blue = RGB). A fő probléma az, hogy egyrétegű érzékelővel fizikailag nem lehetséges egy pontban érzékelni a három komponenst, a különböző színű szűrőket egymás mellett kell elhelyezni. Az érzékelőn egy pixel csak egy színkomponenst érzékel a fényből. A pixeleket lefedő színszűrők egy egyedi, ismétlődő mintát alkotnak az érzékelő felületén.


az ismétlődő mintázat egy 2×2 pixeles területen jobbra és lefelé haladva R-G-G-B formájú.


a Bayer CFA tipikus felépítése
a színszűrő mintázata az érzékelő felületén és a három színcsatorna által lefedett pixelek elrendezése

A pixeleknek csak negyede képes a kék, negyede a piros és fele a zöld szín érzékelésére. Ebből következik, hogy a zöld színcsatornán lényegesebben nagyobb a rendelkezésre álló információ.

Elterjedt az „alapegység” és hasonló szavak használata az R-G-G-B mintára, amely gyakran a feldolgozás kiindulópontjaként is szóba kerül. Ez a megközelítés azonban teljesen hibás, távol áll a valóságtól, hiszen a feldolgozás (a legprimitívebbet, azaz a pixelek egyszerű ismétlését kivéve) túlmegy ezen a 2×2 pixeles mintán.

Az alábbi grafikonon azt láthatjuk, hogy a különböző színszűrők alatti pixelek miként hasznosítják a változó hullámhosszúságú (színű) fényt. A kvantum hatásfok azt mutatja, hogy a pixelre eső fotonok milyen hatásfokkal alakulnak elektronokká. A grafikont figyelve egyértelművé válik, hogy a színek szétválasztása nem szigorú. Minden pixel minden színt érzékel, csak eltérő hatásfokkal. Ezt a tulajdonságot természetesen felhasználják azok az algoritmusok, amelyek majd a végleges képet előállítják. A zöld színből azért van két görbe, mert kissé eltér a piros (RGRGRGRG) és a kék (GBGBGBGB) sorban lévő zöld pixelek érzékenysége.

Látható, hogy a képi információ (és sajnos a fényenergia) jelentős része a kép érzékelésekor elvész, hiszen a piros szín érzékelésének helyén elvész a zöld és a kék komponens információja, és így tovább. A fényképezőgépekhez kapcsolódó digitális képfeldolgozás egyik legfontosabb feladata ennek a hiányos információnak a feldolgozása olyan módon, hogy az érzékeléskor elveszett információt a lehető legtökéletesebben visszaállítsa. Az erre szolgáló módszereket demosaic algoritmusoknak, eredményüket interpolációnak nevezik. Az eljárás több helyen is végbe mehet. Amennyiben a fényképezőgép kész képet állít elő (JPG, TIFF), az interpoláció a fényképezőgépben történik. Ma már nem csak a tükörreflexes digitális fényképezőgépeknél (dSLR), hanem a kompakt fényképezőgépek felső kategóriájában is elérhető a nyers adatformátum (RAW), amely az érzékelőről digitalizált, feldolgozatlan képi információt tartalmazza. Ezek tényleges formátuma általában függ a gyártótól (CRW, NEF, ORF, SRF, PEF stb.) de terjedőben van gyártótól független formátum is (DNG). Ha a képrögzítés ebben a formátumban valósult meg, akkor a feldolgozás és így az interpoláció is általában személyi számítógépen történik, un. RAW konverterek segítségével.

Most nézzük egy példán keresztül, hogyan is megy végbe ez a folyamat:


eredeti képünk, amely az érzékelő felületének egy részére (a példában 140×105 pixel területre) vetül


az érzékelőre vetülő kép így fedi le a pixeleket – a vonalak a pixelek határait jelölik (140×105 pixel)
itt a példában a szemléltetés miatt feltételezzük, hogy az objektív lényegesebben sűrűbb mintázatot képes az érzékelőre vetíteni, mint a pixelek hálózata, azonban a valóságban ez gyakran nincs így


a pixelek hatásos felületére eső fény átlagolódik, a pixelen belüli részletek eltűnnek megtörténik a kép érzékelése, a mintavételezés (140×105 pixel)


…majd ugyanez nagyítás nélkül
ezt tekintjük ideális képnek, amelyet meg kellene kapni a teljes Bayer+demosaic eljárás után

Igen sok demosaic algoritmust dolgoztak ki a fejlesztők. Mivel a zöld színről több információ áll rendelkezésre, a demosaic algoritmusok nagy része erre támaszkodik, azaz a feldolgozás a zöld színcsatornával kezdődik.

A példánkban az algoritmusok közül a legegyszerűbbet, a bilineáris eljárás hatását mutatom be, amely a legegyszerűbb lineáris interpolációt alkalmazza, azaz a szomszédos pixelekből átlagszámítással határozza meg a hiányzó információt. Ezt az eljárást végleges kép előállítására nem használják, csak kicsinyített képek, előnézeti képek esetén.

Az alábbi képsorozaton végigkövethetjük a folyamatot színcsatornánként, majd a 3 színcsatornát egymással fedésbe hozva:

  eredeti Bayer
(ennyi marad az érzékelés után)
demosaic
(bilineáris)
R
G
B
R
G
B

eredeti visszaállított

az ideális (forrásból nyert) és a teljes eljáráson átesett kép összehasonlítása nagyítás nélkül

Természetesen a ma elterjedt demosaic algoritmusok összehasonlíthatatlanul bonyolultabbak a bilineáris eljárásnál. Egyrészt figyelembe veszik, hogy a színcsatornák nem függetlenek egymástól, és hogy a zöld csatorna hordozza a legtöbb világosság-információt. Másrészt a kép mintázatát is felhasználják az interpolációhoz. A legtöbb algoritmus valamilyen formában éleket keres. Az éleknek az a tulajdonságuk, hogy velük párhuzamosan futó pixelek között kisebb a világosságkülönbség (gradiens), mint egyéb irányban mérve. Továbbá minden összetettebb demosaic eljárás végén van színkorrekciós fokozat, amely korrigálja a számítások során keletkező hamis színeket.

A különböző algoritmusok hatékonyságát a fent bemutatotthoz hasonlóan szimulált Bayer eljárással felbontott képeken mérik, majd az eredeti és a visszaállított képet egymásból kivonva a hibajelet (zajt) elemzik. Több jel/zaj viszony típusú mérőszámot is használnak ennek jellemzésére, amelyet dB-ben határoznak meg. Ezek a modern eljárások ma már annyira fejlettek, hogy az általuk előállított kép ideálistól való eltérése közelíti azt a határt, amelyet a leggyakrabban használt 3×8bit (24bit) színmélység mellett meg lehet jeleníteni. Nem véletlen tehát, hogy a gyártók az ígéretes többrétegű érzékelők helyett a CFA érzékelőket fejlesztik és használják, hiszen az egyszerűbb gyártástechnológia mellett az egyre nagyobb teljesítményű fényképezőgép-processzorok és asztali számítógépek megfelelő eredményt adnak. Ezek az igen jó mért eredmények átlagos értékek, nagyon sok kép szimulált felbontása és visszaállítása után kapták őket. Nyilvánvaló, hogy lehet találni olyan képi mintákat, ahol lényegesebben többet hibáznak ezek az eljárások, és olyat is, amelynél megkülönböztethetetlen az eredeti képtől a visszaállított.

Meg kell továbbá jegyezni, hogy a jó minőségű interpoláció egy rendkívül számításigényes művelet. Az egyre nagyobb felbontás mellett óriási mennyiségű számítás hárul a fényképezőgépekbe épített processzorokra, és az interpoláció nem az egyetlen feladatuk. Egy előre programozott görbe alapján meg kell változtatni a képérzékelő lineáris karakterisztikáját, kontrasztot, színtelitettséget, élességet kell módosítani sőt gyakran zajt kell szűrni, majd JPG formátum esetén tömöríteni kell a képet, mindezt sorozatfelvétel esetén másodpercenként 3..10 alkalommal a teljes képre értelmezve. Ez számítási kapacitás és energiafelhasználás szempontjából is kiélezett feladat még célorientált processzorok használatával is, nem csoda, ha gyakran elmarad a JPG képek minősége a kívánttól. A hiedelemmel ellentétben ennek oka legtöbbször nem a JPG tömörítés hatása, hanem az egyszerűsített demosaic eljárások.