Új sorozatot indítunk E-gyetem címmel. Célja, hogy olyan speciális, nem szükségszerűen az e-könyv-technológiához kötött, de ahhoz mindenképp kapcsolódó technológiákat, elveket, szakkifejezéseket (tehát a terminus technicust) vegyünk górcső [magyarul: mikroszkóp] alá. Ha gondoljátok, kérhettek címszavakat, ezeket néhány héten belül igyekszünk majd közel tudományos mélységben kivesézni, még ha nem is enciklopédiához méltó terjedelemben.
Az első címszó a grayscale dithering [ejtsd: gréjszkél didöring]. Megfelelő magyar kifejezést a Photoshopban találtam rá: szürkeérték-árnyalás.
Kezdjük az alapelvvel
Ha meg akarunk jeleníteni valamit, akkor a megjelenítendő információt valahogy rögzítenünk kell. Mivel a számítógép alapvetően kettes (bináris) számrendszerben gondolkodik, ezért a megjelenítés pontosságának, részletgazdagságának mérőszáma az lesz, hogy az adott értéket hány bitnyi információba gondoltuk belezsúfolni, illetve az elvárt eredményhez hány bitnyi információt kell felhasználnunk. Egyetlen biten két lehetséges érték jelenhet meg: vagy igen vagy nem, ez megjelenítés tekintetében a fehérnek és a feketének feleltethető meg (másnak is, de így egyszerűbb lesz megérteni), köztes értékek azonban nem. Két biten már kétszer kettő, azaz 4 eltérő értéket lehet ábrázolni, három biten 8 értéket, négy biten pedig 16-ot. Ezek rendre azt jelentik, hogy a két szélsőértéket (fehéret és feketét) beleértve 4 (2 bit), 8 (3 bit) és 16 (4 bit) árnyalatot lehet leképezni. Alapértelmezett esetben ezek között optikailag többé-kevésbé azonos „rés” van, tehát egyenletesen növekvő vagy csökkenő szürkeátmenet ábrázolható velük.
Az emberi szem nagyjából 200 árnyalatot tud megkülönböztetni, vagyis 200 darab egymás mellé rakott, kissé eltérő árnyalatú mezőben még éppen látja a lépcsőket, de 300-ban már nem, ugyanakkor két egymás mellé rakott, eltérő árnyalatú lap esetén képes akár ennél több lépcsős árnyalatsor egy-egy színét megkülönböztetni. Ebből következik, hogy általános esetben egy hétköznapi fekete-fehér fénykép megjelenítéséhez elegendő 200 egymástól eltérő árnyalat, feltéve, hogy az árnyalatsor egyik vége az abszolút fehér, másik vége az abszolút fekete szín, a lépcsők pedig egyenletesen vannak elosztva. A kettes számrendszerben leírható 200-hoz legközelebbi szám a 256, amelynek leírásához 8 bitre van szükség.
A megjelenítők sajátosságai
Bizonyára mindenki látott már régi típusú „pálcika-pálcika-kisszék-hóember” típusú kvarcórát, LCD-kijelzős számológépet. Ezek megjelenítői 1 bitesek, vagy látható rajtuk információ, vagy nem, függetlenül attól, hogy szegmentált vagy mátrix kijelzőkről van szó. Ez utóbbiakhoz hasonlatos leginkább a számítógépek, tv-készülékek, PDA-k, és természetesen az e-papír kijelzők elve is. Egy-egy pixelben vagy van információ, vagy nincs, bizonyos esetekben pedig e szélsőértékek között is meg lehet jeleníteni árnyalatokat. Hogy pontosan mennyit, azt írja le az adott kijelző címezhetőségét bitekben kifejező szám: fekete-fehérek esetén ez az 1, 2, 3, …, 8 (esetleg több). Színeseknél pedig ennek a háromszorosa (hiszen ott három szín, a zöld, a kék és a vörös külön-külön mért „szürkeárnyalatos” kijelzéséből keletkeznek, keverednek a színek). 16 biten elvileg 65536 árnyalat címezhető (jeleníthető meg), 3×16 biten pedig (színesben) 281474976700000 szín. Belátható, hogy ennyire az emberi szemnek nincs szüksége, de még a 3×8 bit nagyjából 16,8 millió színárnyalatára sem nagyon, viszont az közismert tény, hogy a legtöbb mostani monitor, kijelző nagyjából ennyi árnyalatot tud megjeleníteni.
A képek sajátosságai
Ahogy a megjelenítők, úgy a „nyersanyag”, vagyis a tárolt-rögzített képi információ tulajdonságait is a bitmélység határozza meg, legalábbis elvben. Egy 1 bites kép csak fehér és fekete részeket tartalmaz, egy 4 bites 16 szürkeárnyalatból áll össze, egy 8 bites már a teljes elvi szürkeskálát tartalmazza. Ha ezekből három van, akkor lehet színes képről beszélni: 24, szélsőséges esetben (sok digitális kamera, illetve szkenner tudja ezt kimeneti fájlként produkálni) 48 bitnyi képi információra van szükség a színek többé-kevésbé valósághű megjelenítéséhez. (Ennek módjai, korlátai és elvei egy külön értekezés tárgyát képezhetné.)
Maradjunk egy sima szürkeárnyalatos képnél, amely 8 bites, vagyis minden pixele a 256 lépcsős szürkeárnyalat bármelyik értékét felveheti.
A megjelenítés nehézségei
Ezt a fenti képet most kíséreljük meg egy kijelzőre varázsolni! Nézzük sorban, mit tehetünk bitről-bitre.
1 biten
Nyilvánvaló, hogy 256 szürkeárnyalatot nem lehet 2 szürkeárnyalattal, pontosabban csupán fehérrel és feketével megjeleníteni. Több alternatív lehetőség adódik azonban arra, hogy a szem észlelési tulajdonságait és korlátait kihasználva ezt megkíséreljük:
a) határértéket választunk: megadjuk, hogy milyen szürkeértékig legyen fehér, és milyen szürkeértéktől legyen fekete a megjelenített kép. Az eredmény hasonlatos lesz egy fényképről készült fénymásolathoz.
b) rácsra bontást alkalmazunk: vagyis a nyomdai technológiát „lopjuk el”. A nyomdában fekete-fehér feldolgozásnál alkalmazott módszer átalakításával. Az eljárás lényege, hogy az eredeti képet egységekre osztjuk, mindegyik egység átlagos értékét megnézzük, majd a feldolgozott kép megfelelő helyére egy akkora festékpöttyöt teszünk, hogy az a papír fehérjével átlagolva pont megfeleljen az eredeti kép szürkéjének. Mivel a hagyományos nyomtatási technológiák egy kivétellel alapvetően egy bitesek, az analóg és a digitális (számítógépes) feldolgozás elve azonos, még ha a gyakorlat alapjaiban tér is el egymástól.
c) véletlenszerű elven árnyalunk: a fehér és a fekete pixeleket úgy rakosgatjuk le az eredeti képre, hogy azok távolról nézve nagyjából megfeleljenek az eredeti kép árnyalatviszonyainak. A véletlenszerűség átka ez esetben az, hogy az eredeti kép rajzosságából sokat veszítünk.
d) mátrix-elven árnyalunk (Bayer vagy ordered dithering): a pixeleket itt már nem véletlenszerűen, hanem szigorú matematikai rend szerint rakosgatjuk: egy 3×3-as, 4×4-es, 5×5-ös vagy bármilyen egységnyi felület átlagát vesszük, majd az adott területet töltjük ki úgy pixelekkel, hogy a pixelek átlaga kiadja az eredeti terület átlagát. Hátránya, hogy határozott mintázatot ad, továbbá erősen rontja az eredeti rajzosságot.
e) komplex módszerrel árnyalunk: vagyis a véletlenszerű pontelhelyezésbe rendszer teszünk, igyekszünk követni ezzel az eredeti kép rajzosságát. A kvázi-véletlenszerű elhelyezés előnye, hogy nem ad mintázatot, mind a mátrix, továbbá kihasználja a natív felbontást (ellentétben a rácsra bontással).
2—7 biten
Az elv nem meglepő módon teljesen azonos az 1 bit esetével, a differencia csupán abban áll, hogy míg az 1 bites árnyalás esetén csak két színnel (feketével és fehérrel), míg magasabb bitmélység esetén köztes árnyalatokkal is lehet „játszani”. Nyilvánvaló, hogy a bitmélység növelésével a létrehozható árnyalatgazdagság is javul, mivel kisebb „távolságot” kell egy-egy fix érték között áthidalni.
Hátrányok
Mint minden kompromisszumos eljárásnak, ennek is vannak hátrányai. Az árnyalás esetén minden esetben a felbontással, pontosabban a részletgazdagsággal kell fizetnünk. A szem észlelési sajátosságai miatt az éles, nagy kontrasztú határokat látjuk részletgazdagnak (erre épít a legtöbb digitális élesítő szűrő). Mivel az árnyalás ezeket a határokat teljesen vagy részben elmossa, a fenti módszerekkel létrehozott árnyalt kép mindig életlenebb, kevésbé részletgazdag benyomást fog kelteni.
A gyakorlatban
Az eddig nálam járt berendezésekről készült képeket végignézve minden esetben tetten érhető a fekete-fehér tesztképeken az árnyalás valamilyen formája (ha a fejlesztők egyáltalán hajlandóak voltak foglalkozni vele.
A bemutatott képek szkennelt eredetik, amelyeket az árnyalatok tekintetében úgy módosítottam, hogy többé-kevésbé összevethetőek legyenek. Az eredeti árnyalat-terjedelem itt rég a múlté, de a cél nem ennek, hanem az eltérő árnyalási technikáknak a bemutatása.
Barnes & Noble Nook
A fejlesztők nem sokat szöszöltek, a dithering gyakorlatilag határérték-alapú átalakítást jelent, vagyis az eredeti szürkeárnyalatos képet 16 részre vágták.
Pocketbook 302
A meglévő 16 szürkeárnyalat kihasználásával mátrix elven alapuló árnyalást alkalmaznak, de csupán 2×2-es területen, azon belül is csupán háromféle felosztást — 2:0, 1:1, és 0:2 — alkalmazva. Az eredmény további 16 szürkeárnyalat, összesen tehát 32. Az egyszerű módszer gyorsaságot és elfogadható részletgazdagságot eredményez, ugyanakkor a folyamatos szürkeátmenetek itt is lépcsőkre tagolódnak és persze látszik a mintázat.
Sony PRS-350
Már az elődöknél is tetten érhető volt a kitűnő árnyalás, ezen az új berendezésnél sem rontottak, az egyedüli előrelépés csak a dinamikatartomány (a legvilágosabb és legsötétebb részlet közötti differencia nagyságának) javítása volt. Mátrix-elvű, láthatólag 5×5-ös árnyalást alkalmaznak, amellyel az eredeti 16 szürkeárnyalat elvi 200 lépés fölé tornázható. A részletgazdagság elvesztésén túl a látható mintázattal kell kompromisszumot kötnünk.
Kinde Wifi
Az elképesztően nagy dinamikatartomány miatt a 16 lépcső itt sokkal vehemensebb lépésekben látszik, ezért is fontos ennek hatékony elfedése. Szerencsére erre a lehető legjobb, komplex módszert alkalmazták: a folyamatos szürkeátmenet lépés nélküli, a fényképen pedig semmilyen rendszer nem mutatkozik az árnyalás kialakításakor. Ennél jobb majd 4 biten lesz, 32 szürkeárnyalattal).
A végén persze, már csak az összehasonlíthatóság végett is, illik idetenni az eredeti képet.
Összefoglalás
A grayscale dithering, vagyis a szürkeérték-árnyalás tehát azoknak a technológiáknak az összessége, amelyek képesek egy magas bitmélységű képet egy alacsonyabb bitmélységű kijelzőn többé-kevésbé árnyalathűen megjeleníteni. Mint azt a példákból is láthattuk, az eltérő módszerek eltérő minőségű eredményhez vezetnek, viszont mindegyiknek velejárója az a hátrány, hogy az árnyalás alkalmazásakor az eredő felbontást, vagyis a kép részletgazdagságát, részletességét rontjuk le. Valamit valamiért, ugyebár.
További olvasnivaló nagyon jó minőségű magyarázó ábrákkal a Wikipedián, angol nyelven.
Folytatása következik.
Utolsó kommentek