1/3 tiesos

Ar buvot nors kartą žiūrėdami į nuotrauką pagalvoje: "o, geras - kokios natūralios spalvos"? Nors šiaip jau esu kritiškas tiek sau, tiek ir kitiems, bet turiu prisipažinti, kad tokia mintis yra ir mane ne kartą aplankiusi. Todėl kartą internete aptiktas teiginys, kad skaitmeninėje nuotraukoje yra tik  1/3 tiesos, buvo tarsi šaltas dušas. Kaip tai? Kodėl?

Priežastį pasirodo žinojau jau senokai, tik niekada nežvelgiau į ją būtent tokiu kampu. Norėdamas suprasti, turėjau pasigilinti į tai, kaip skaitmeninis sensorius atskiria spalvas. Kaip sensoriaus pikseliai vaizdo taškelius paverčia skaičiukais nuotraukos faile rašiau ne tokiam senam įraše. Bet kaip atskiriamos spalvos? Jei kalbėti apie absoliučioje daugumoje fotoaparatų naudojamus CMOS (išskyrus Faoveon sensorius - ačiū Rokiškiui už pastabą) ar CCD sensorius, tai jų pikseliai nepasižymi galimybe atskirti krintančios šviesos spektrinę sudėtį - spalvą. Tam tikslui yra pasitelkiami optiniai filtrai. Štai čia ir prasideda pats įdomumas - kaip tuos filtrus išdėlioti ir sukombinuoti su sensoriumi, kad kiekvienam pikseliui gauti tris dedamasias spalvos komponentes arba, kaip dažniausiai sakoma, RGB reikšmes? Jeigu iki šiol apie tai negirdėjote - manau atsakymas nustebins. Pasirodo niekas ir nesistengia gauti tris RGB reikšmes kiekvienam pikseliui tiesiai iš sensoriaus! Pažvelkim į Bayer filtrą, tipiškai naudojamą fotoaparatų sensoriuose spalvų atskyrimui pasiekti:
Bayer filter, Wikipedia
Pilki stačiakampiai - sensoriaus pikseliai; spalvoti - optiniai filtrai. Ir ką gi matom: vienas pikselis - viena spalva. Sakysit - taigi šalia yra kitos dvi spalvos - ir kokia čia problema? Reikia pamatyti, kaip su tokiu filtru vaizdą mato sensorius. Štai čia fotografuojamas objektas:
Demosaicing, Wikipedia
O čia - vaizdas, kurį matom pažvelge į jį per Bayer filtrą:
Demosaicing, Wikipedia
Jaučiat skirtumas ar ne? Na juk mes praleide vaizdelį per Bayer filtrą netekom 2/3 spalvos informacijos - pvz. neliko nei vieno baltos spalvos pikselio - sunku turėtų būtų tai nepajausti.

O dabar reiktų pabandyti iš paskutinio paveikslėlio rekonstruoti pradinį, t.y. kiekvienam taškeliui "atstatyti" dvi (iš trijų) trūkstamas spalvas. Tikrai netrivialus uždavinys, dar kitaip vadinamas demozaikinimu. Visi demozaikinimo algoritmai remiasi prielaida, kad įprastame vaizde šalia esantys vieno objekto pikseliai būną panašių spalvų. Bet kelių objektų "persikirtimams" tai jau nebegalioja, todėl tikslių objektų briaunų atkūrimas tampa problematiškas. Idealių algoritmų šiai dienai nėra: vieni ne taip gerai atstato staigius spalvų pasikeitimus, kiti - prikuria įvairiausių triukšmelių. Bet algoritmai vis dar tobulinami ir progresuoja gan stipriai.

Fotoaparatuose demozaikinimo uždavinį priimtina kokybe išsprendžia fotoaparato procesorius. Jis, turėdamas 1/3 fotografijos spalvų, pagal įsiūtą algoritmą "nutapo" likusius 2/3-dalius - štai kodėl šis įrašas gavo tokį pavadinimą. Reikia pripažinti: fotoaparatai pasižymi kaip tikrai neblogi "dailininkai" - dažniausiai iš pirmo žvilgsnio net nepasakysi, jog dalis spalvų buvo išskaičiuotos.

Labiau pažengusiose ir sudėtingesniuose fotoaparatuose jau yra įprasta šalia fotografavimo į JPG rasti fotografavimą ir į taip vadinamąjį RAW formatą. Kuom geras šis formatas? Tuom, kad jame saugoma praktiškai neapdorota informacija tiesiai iš sensoriaus. Todėl galutiniam vaizdo formavimui galima pritaikyti naujausius demozaikinimo algoritmus - mūsų neberiboja fotoaparato programinė įranga, galima tai atlikti kompiuteriu. Vien dėl šios galimybės ir algoritmų progreso saugau skaitmeninius "negatyvus" RAW formate - gal vieną dieną atsiras toks algoritmas, kuris leis naujai pažvelgti į senas brangias fotografijas.




Vietoj P.S. Turite Canon PowerShot muilinę ir norite pabandyti fotografuoti RAW formatu? Pasirodo yra gan šmaikštus sprendimas: CHDK programinė įranga. Įrašot į kortelę, įdedat į fotoaparatą ir gaunat krūvą naujų funkcijų. Tame tarpe ir galimybę fotografuoti RAW formatu. Sekmės eksperimentuojant.

11 comments: