Multimédia - a képek
home - prev - next

A képek megjelenítése az egyik alapvetõ része a multimédiának.

Számítógépen a képek ún. pixelekbõl (képpontokból) épülnek fel.
A pixeleknek különbözõ színük lehet, és mivel ezek nagyon kis méretû pixelek, egymás mellé téve egy képet alkotnak (hasonlóan a TV képernyõ mûködéséhez).

A képek tulajdonságai:
- méret (szélesség / magasság )
- színmélység.

Ezt a három tulajdonságot egy számhármassal szokták felírni, pl. 640x480x256, itt az elsõ két tag a szélességet illetve a magasságot jelenti pixelekben, a harmadik pedig a színek számát.

Attól függõen, hogy milyen minõségben szeretnénk egy képet látni, a pixelek leírásához egynél több byteot is felhasználhatunk. Így több szín ábrázolására nyílik lehetõség, és minél több színt alkalmazhatunk, annál élethûbb lesz a képünk.

8 bit - 256 szín (2^8)
15 bit - 32768 ("32k" vagy HiColor) szín (2^15)
16 bit - 65535 ("64k" vagy HiColor) szín (2^16)
24 bit - 16,8 millió ("16m" vagy TrueColor) szín (2^24)

(a 24 bitesen ábrázolható 16,8 millió színárnyalatnál többet szemünk nem képes érzékelni).

Könnyen utánaszámolhatunk, hogy egy kép mennyi helyet foglalhat, hiszen csak be kell szoroznunk a méretét a színábrázoláshoz használt byte-mérettel. Például egy 640x480 truecolor képet 640x480x3 byte = 921600 byte.

Mivel a multimédiás felhasználásnál rendszerint nagyon sok képre van szükségünk, ezt az adatmennyiséget túlzott könnyelmûség és pazarlás lenne tömörítés nélkül használni, fõleg a CD véges tárolókapacitása miatt. Szerencsére a mai processzoroknál a tömörítés már egyáltalán jelent különösebb terhet, emiatt tehát nem probléma a tömörített képek alkalmazása.

Rengeteg képformátum létezik, amelyek különbözõ tömörítési algoritmusokat alkalmaznak. Lássunk pár példát.

PCX - egyike a legõsibb formátumoknak, bár manapság már nem nagyon használják. A legkézenfekvõbb tömörítési eljárást alkalmazza: ha egymás mellett több ugyanolyan színû képpont van, akkor leírja azt, hogy hány darab képpont, majd leírja a képpontot magát. Sajnos ez nem túlzottan hatékony például fényképeknél, mert a rengeteg árnyalat miatt kevés az egymás mellett lévõ ugyanolyan színû pixel.

GIF ("Graphics Interchange Format") - ez már a Lempel - Ziw néven közismert, rendkívül elterjedt tömörítõ algoritmust használja. Mûködése nagy vonalakban annyi, hogy a kép készítésekor a készítõ program készít egy speciális szótárt, amelyben néhány, a képre nagyon jellemzõ pixelsorozatot egy - egy kóddal lát el. Ezt a szótárt a program leírja a GIF fileba, és amikor ezek a sorozatokat kellene kiírni, már csak a kódjukat írja le a program. Felolvasásuk "kiszótárazással" történik, vagyis a megjelenítõ program a szótár alapján behelyettesít.
A formátummal maximum nagyjából 50%-os tömörítést lehet elérni, de a leggyakoribb 60-70% körül van. Hátránya, hogy maximum 256 színû képeket lehet vele letárolni. A formátum rendkívüli népszerûsége visszaesett, amikor megalkotója, a Compuserve nevû cég pénz kezdett kérni azoktól a programozóktól, akiknek programja ilyen formátumban írt képeket.

A formátum egy késõbbi változatában (GIF89a) több újítást is bevezettek, ami miatt még ma is megvan a létjogosultsága. Az egyik ilyen újítás az átlátszóság (transparency). Ez esetben a kép készítésekor megadhatunk egy átlátszó színt, amelyet megjelenítéskor nem kell kirajzolni, így például készíthetünk "lyukas", vagy például kör alakú képeket. Ennek a jelentõsége az Internet miatt lett nagy, mivel az Internetes oldalakon nagyon fontos tényezõ a látvány, és ezzel néhány új trükköt lehet alkalmazni az oldalakon.
 
   
átlátszó kép

Ez egy transzparens GIF file egy szürke, mintás háttér elõtt: a háttér "kibukkan" a kép közepén, ahol a képben az átlátszónak kijelölt színnel rajzoltak (a felirat természetesen szintén a kép része).
 

A másik nagy újítás az volt, hogy animációt is meg lehetett valósítani a formátummal. Igaz, ez már a mozgóképek témájához tartozna, a formátum miatt azonban mégis itt ismertetetem. A "moving GIF" formátum ráadásul igen egyszerû: több kép lejátszása egymás után. A képek lehetnek különbözõ méretûek, és "frame"-enként, vagyis képkockánként máshol is elhelyezkedhetnek. Mindez egyetlen GIF fileba kerül bele, amit megfelelõ programmal megnézve visszakapjuk a kívánt animációt.
 


 
Egy kilenc képbõl álló sorozat
egyetlen GIF fileban

Ezt szintén egybõl felhasználták az Interneten, mert így az egyébként statikus, álló oldalak elõször "mozdultak meg" (erre késõbb aztán már más lehetõség is akadt).

PNG ("Portable Network Graphics")- a GIF utódja hivatott lenni, ingyenes, és még hatékonyabb formátum. Nem terjedt el eléggé, fõleg azért, mert a különbözõ Internetes böngészõprogramok (Netscape, Explorer) nem támogatták.

BMP - a Windows nagyon gyenge hatásfokú formátuma. Több verziója létezik, de még a legjobbjának a tömörítése is nagyon alulmarad a legtöbb formátumhoz képest.

Az eddig tárgyalt formátumok mindegyikére igaz, hogy sorfolytonosan írják le a képeket (elsõ sor elsõ pixel, második, harmadik, és így tovább, majd a következõ sor, stb), valamint bitre pontosan ugyanazt a képet adják vissza, amit szerettünk volna tömöríteni.

Itt jön be a képbe a JPEG (Joint Photographic Experts Group).
A JPEG bizonyos információk intelligens eltávolítása útján tömöríti a képet, a file méret csökkentése céljából. Ezt "veszteséges" eljárásnak nevezik, mivel információ vész el a kép egyszerûsítése érdekében. Minden egyes képet külön megvizsgálva meghatározhatjuk az eltávolítandó információ mennyiségét, kompromisszumot kötve a kép minõsége és a file mérete között.
A JPEG tömörítést alkalmazva soha nem bitre pontosan ugyanazt a képet kapjuk, de ettõl függetlenül az eredmény rendszerint tökéletesen élethû (köszönhetõen annak, hogy a truecolor módban (24 biten) tároljuk).
Napjainkban ez a formátum a legelterjedtebb az összes közül, fõleg azért, mert átlagos tömörítési módját alkalmazva legalább tizedére vagy akár még jobban össze tudja tömöríteni a képi anyagot.
Az összes internetes böngészõ támogatja a formátumot, fõleg azért, hogy az oldalak készítõi is ezt használják tervezés közben - így az Internet terhelése jóval kisebb, mintha egy nagyobb, bõvebb formátum lenne elterjedt.

A JPEG és a GIF formátum összehasonlítása

A JPEG és a GIF formátum - mint a két elsõdleges formátum - közötti különbség a gyakorlatban annyi, hogy - ha mindkettõt használhatjuk - a GIF elsõsorban különbözõ "homogén" színeket tartalmazó ábrák tárolására alkalmas, a JPEG pedig elsõsorban fotó jellegû képekhez.

A következõkben saját szemünkkel is meggyõzõdhetünk a különbségrõl (elõtte gyõzõdjünk meg arról, hogy az alkalmazott videomód 256 színnél többet képes kezelni, mert a JPG képek ez esetben valószínûleg nem teljes minõségükben fognak megjelenni).
 
GIF formátum
JPG formátum
GIF formátum, 12k
JPEG formátum, 8k

A két kép ugyanazt a képet ábrázolja GIF illetve JPEG formátumban. A GIF formátum hasonló minõségben tárolta a képet, mégis nagyobb méretben.
A két kép szinte teljesen ugyanúgy néz ki, ha csak 256 színû üzemmódban nézzük, ám a JPEG sokkal szebb, ha legalább 15 bites üzemmódban vagyunk - ráadásul kisebb is.
 
GIF formátum, 2k
JPG formátum, 10k

Szintén ugyanazt a két képet tároltuk a két különbözõ formátumban, de ez alkalommal az egyszínû képrészletek dominálnak. Látható a minõségromlás a JPG formátumnál, rááadásul még nagyobb is (ha ugyanolyan minõségben szeretnénk látni, a JPG formátummal ugyan elérhetjük, de aránytalanul nagy fileméret árán).
Ez a különbség az alkalmazott algoritmusok természete miatt tûnik így fel ilyen egyszerû ábra esetén.

home - prev - next