![]() | ![]() |
![]() |
| ![]() |
| ||||||||||||||||||||||||||||||||||||
Fajl formati: slike
Fotografije visoke rezolucije prikazane u milionima boja su nešto što već više od decenije uzimamo zdravo za gotovo. Ipak, čemu uopšte ti silni različiti formati?
Od očiju do brojeva Prvi korak podrazumeva digitalizaciju signala, tj. pretvaranje analognog signala koje ljudsko oko vidi, u niz bitova kojima računar može da barata. Časovi fizike u osnovnoj školi uče nas da je svetlost u stvari elektromagnetni talas, tj. da se formira oscilovanjem čestica na određenoj učestanosti i određenoj talasnoj dužini. Merenjima je utvrđeno da je, na primer, crvena boja talas dužine 700 nm i da i svaka druga boja koju vidimo ima svoju talasnu dužinu. Pored talasne dužine koja određuje koja je boja u pitanju, možemo izmeriti i snagu zraka koja brojevima opisuje jačinu svetlosti. Ovaj podatak je zgodan jer imamo konkretne vrednosti koje treba prilagoditi računaru. Međutim, sačuvati informaciju o svakoj nijasni boje ponaosob bilo bi gotovo nemoguće, a baratanje tom količinom podataka bilo bi nezgrapno, pa se ponovo koristi znanje iz osnovne škole, preciznije način na koji ljudsko oko funkcioniše. U oku se, pored ostalih, nalaze posebne kupaste fotoreceptorske ćelije („čepići”) koje su zadužene za prepoznavanje boja, a podeljene su u tri osnovne grupe koje reaguju na crvenu, plavu i zelenu boju. Ovakav način percepcije doveo je do zaključka da je dovoljno preneti informaciju o samo tri osnovne boje, čijim mešanjem u određenom procentu možemo dobiti gotovo sve nijanse vidljive ljudskom oku. To predstavljaju osnovu RGB sistema prikaza boja (Red, Green, Blue, tj. crvena, zelena, plava). Prikaz boje, na primer na LCD monitoru, rešen je sa tri odvojene „lampice”, crvenom, zelenom i plavom, koje zajedno formiraju jedan piksel na ekranu. Ukoliko bi tri lampice koje čine piksele svetlele u odnosu 100-0-0 (R-G-B, u procentima), dobili bismo crvenu boju, 50-0-0 bi rezultovalo zagasito crvenom. Vrednosti 0-0-0 daju crnu, dok 100-100-100 daju belu boju. Važno je naglasiti to da ovo mešanje boja nije isto kao u slikarstvu, jer se kod mešanja obojenih svetlosti one sabiraju, dok se u slikarstvu, gde se boje mešaju kao materijali, one oduzimaju. Ukoliko iskoristimo 256 različitih vrednosti crvene, zelene i plave ponaosob, njihovim mešanjem možemo dobiti skoro 16,8 miliona posebnih nijansi boja, dovoljno za besprekornu reprodukciju gotovo svih vidova fotografija i grafike. S kompjuterskog stanovišta, 256 različitih vrednosti je zgodan broj pošto kombinacija 8 bita može dati ukupno 256 vrednosti. Ovde dolazimo do zaključka da je potrebno 8 bita po boji, tj. 24 bita za sve tri boje zajedno da bi se dobio verodostojan prikaz sadržaja. U ovom slučaju bela boja imala bi RGB vrednost 255-255-255, a crna 0-0-0. Broj bita dodeljenih za skladištenje informacija o bojama naziva se dubina boja i 24-bitna dubina boja svakako nije jedina koja se koristi. Kada je reč o jednostavnijoj grafici ili ukoliko je slika namenjena prikazu na uređaju koji ne može da prikaže veliki broj boja poput mobilnog telefona, koriste se palete od 16, 8 ili čak i samo 4 bita, koje redom daju 65526, 256 i 16 boja. Dubina boja je presudan faktor kada je u pitanju veličina fajla, jer ako je za prikaz sadržaja dovoljan 8-bitni umesto 24-bitnog prikaza, veličina fajla će se smanjiti tri puta. Konkretno, nekomprimovana slika veličine 1024 x 768 tačaka zauzima 2,25 MB pri korišćenju 24-bitne palete boja, dok je pri korišćenju 8-bitne palete potrebno samo 0,75 MB.
TIFF Priču o fajl formatima nećemo započeti od najpopularnijeg već od jednog od najstarijih formata koji se i danas primenjuje. Koreni ovog formata sežu u daleke osamdesete i vezani su za Aldus, kompaniju koja je stvorila PageMaker, svojevremeno jedan od najpopularnijih programa namenjenih pripremi za štampu. Osamdesetih godina skeniranje dokumenata nije bilo ni približno jednostavno kao danas usled veličine samih uređaja i njihove cene. Zapravo najveći problem ležao je u nedostatku standardizovanog fajl formata u kome bi se slika sačuvala, što je dovelo do toga da svaki proizvođač skenera ima sopstveni format. Situacija je bila daleko od idealne, kako za korisnike skenera tako i za Aldus, koji nije mogao da primeni jednostavno rešenje za ubacivanje skeniranih slika u svoj PageMaker. Kao rešenje Aldus je definisao nov univerzalni fajl format koji bi koristili svi proizvođači skenera, nazvan TIFF (Tagged Image File Format). Iako je prvobitno koristio samo jednobitnu paletu boja, tj. samo crnu i belu boju (usled ograničenja tadašnjih skenera), TIFF je u međuvremenu otišao daleko od prvobitne namene. QuarkXPress, konkurent Aldusovom PageMakeru, postigao je daleko veću popularnost u izdavačkim krugovima, tako da je polovinom devedesetih Aldus prodat kompaniji Adobe, koja je PageMaker nakon nekoliko godina ugasila i na njegovim osnovama kreirala InDesign. Svi ovi prevrati nisu mnogo uticali na format TIFF, koji je polako ali sigurno napredovao i postajao standard za skladištenje grafike i fotografija bez gubitaka. Fleksibilnost i kompresija definitivno su jedne od najbitnijih karakteristika TIFF formata i zahvaljujući njima on je i danas, 24 godine od nastanka, jedan od najkorišćenijih formata. Pored same slike, u TIFF fajl moguće je smestiti i posebne informacije o slici, uključujući tu i raspored piksela, rezoluciju, geometriju i eventualnu kompresiju. Štaviše, on se čak može iskoristiti kao svojevrstan kontejner koji može da sadrži druge formate, pa čak i vektorske elemente. Pored standardnog 24-bitnog RGB sistema prikaza boja, TIFF format može da koristi i 32-bitni CMYK sistem koji je prilagođen štampanju, što nije ni čudo kada se uzme u obzir poreklo ovog formata. GIF Krajem osamdesetih godina nastao je još jedan široko rasprostranjen format, ali s potpuno različitom namenom. CompuServe, jedan od tadašnjih vodećih američkih internet provajdera, idejni je tvorac GIF-a (Graphic Interchange Format). Za razliku od TIFF-a, akcenat je bačen na što manju veličinu fajla kako bi se on što lakše putem Interneta preneo do korisnika. Treba imati u vidu to da su tadašnji prosečni modemi imali protok u rasponu od 9,6 do 33,6 Kbit/s, što je nekoliko desetina puta sporije od brzine današnje prosečne ADSL/kablovske veze. Glavna karakteristika GIF formata je indeksirana paleta boja nazvana CLUT (Color Lookup Table). Fajl slike sa 24-bitnom paletom boja bio je preveliki za komforno slanje putem tadašnjeg Interneta, dok je korišćenje 8-bitne palete, koja je po veličini daleko pogodnija, predstavljalo veliko ograničenje u izboru boja. CLUT tabelu je najjednostavnije zamisliti kao podatke o 256 nijansi proizvoljno izabranih iz veće palete. Naime, svakom polju sami dodeljujemo željenu boju iz 24-bitnog spektra, pa možemo definisati da je na polju 1 crvena boja, polju 2 tirkizno plava itd. Kada nam zatreba crvena boja, nema potrebe definisati njenu RGB vrednost, za šta bi nam bila neophodna 24 bita, već samo pozivamo polje broj jedan iz tabele koju smo definisali. Ovaj trik je prilično efikasan zato što proširuje spektar boja sa kojima možemo raditi, jer tabelu definišemo prema našim potrebama i nismo ograničeni na unapred određene boje iz fiksne palete, a ostvarujemo veliku uštedu u količini podataka koju je neophodno sačuvati. Pored prikaza boja, GIF je sposoban za rudimentarni prikaz prozirnosti, tako što se jedna boja iz palete proglašava providnom. Druga bitna karakteristika GIF fajla je mogućnost skladištenja više sličica koje se prikazuju jedna za drugom i time čine animaciju, što je GIF godinama činilo nezamenljivim kada je u pitanju izrada reklamnih banera i logotipa za internet stranice. Kodiranje slike zarad smanjenja veličine takođe se radi metodom bez gubitaka. U pitanju je LZW (Lempel–Ziv–Velč, prezimena autora) algoritam. LZW kodiranje kreira svojevrstan rečnik iz kog se pozivaju najčešće korišćene vrednosti. Što se neka vrednost više puta ponovi to je kompresija veća, a to je idealno za kodiranje GIF-a usled korišćenja samo 256 različitih vrednosti. Sličan metod koristi se kod ZIP arhiviranja fajlova. JPEG Razvoj ovog formata započet je još davne 1982. godine, a njegova glavna namena bio je prenos fotografija putem 64 kbit/s ISDN linije, uz što manje vreme prenosa. Razvoj završen 12 godina kasnije svetu je doneo JPEG (Joint Photographic Experts Group), nekrunisanog kralja grafičkih formata kada je u pitanju zastupljenost. Nije ni čudo, kada se uzme u obzir to da je kreiran od strane ISO, CCITT i IEC, udruženja i komiteta zaduženih za standardizaciju svega iole relevantnog u tehnici. Osnova svega leži u samom pristupu kodiranju slike koji iskorišćava mane percepcije ljudskog oka. Prvi korak je prebacivanje iz 24-bitnog RGB sistema u sistem YCbCr, koji je zgodniji za dalju kompresiju. Y signal predstavlja podatak o luminentnosti, tj. sjajnosti boje dok su Cb i Cr hrominantne komponente koje opisuju vrstu boje određenog piksela. Treća komponenta Cg, koja se dobija iz zelene boje, ne čuva se zato što je već implicitno sadržana u Y, Cb i Cr signalima. Nakon konverzije, slika se deli u više segmenata čiji je osnovni segment nazvan makroblok. Makroblok se sastoji od polja veličine 16 x 16 piksela, koje je dalje podeljeno na četiri bloka dimenzija 8 x 8 piksela i svaki od ova četiri bloka može da čuva informacije o sjajnosti boje, Cr ili Cb komponenti. Kako je oko manje osetljivo na varijacije u boji nego na varijacije u osvetljenju, JPEG ovo iskorišćava tako što smanjuje rezoluciju komponenti boja. Odnos 4:4:4 govori da se na četiri bloka o sjajnosti čuvaju i po četiri bloka za crvenu i plavu hrominentu, tj. da nema nikakvih gubitaka. Odnos 4:2:2 koristi činjenicu da je oko manje osetljivo na varijacije u boji nego na varijacije u sjajnosti, pa se na četiri bloka o sjajnosti čuvaju po dva bloka za hrominentne komponente, čime je njihova horizontalna rezolucija smanjena – ovo je metod direktno nasleđen iz prenosa televizijskog signala. Odnos 4:2:2 signala sjajnosti i boja najčešće se sreće kod digitalnih fotoaparata, dok se kod računara često koristi još lošiji odnos 4:1:1, gde je rezolucija signala boje dodatno smanjena. Odnos 4:2:0 govori o tome da se na četiri bloka koji nose podatak o sjajnosti prenose dva bloka za hrominente komponente, pri čemu je njihova rezolucija smanjena i po horizontalnoj i po vertikalnoj osi. Svaki od ovako dobijenih blokova prolazi proces tzv. diskretne kosinusne transformacije, čime se dobija 2D slika u frekvencijskom domenu. Nakon ovog procesa, vrši se kvantizacija podataka, čime se najviše frekvencije odstranjuju, tj. dobijaju vrednost 0. Dobijeni podaci se komprimuju RLE metodom, a posle se sve kodira tzv. Hafmanovim kodom. Pri konverziji slike iz formata bez gubitaka u JPEG moguće je birati kako odnos signala tako i nivo kompresije, tj. kvanitizacije, a time je moguće stvoriti balans između veličine slike i broja detalja koji će biti zadržan. Iako na prvi pogled deluje kao drastično odbacivanje podataka, pri kompresiji fotografija, gde obično nema jako kontrastnih prelaza, uočljivi gubici gotovo su zanemarljivi. S druge strane, oštre ivice po pravilu deluju zamućeno usled velikog odbacivanja, što JPEG čini nepoželjnim pri distribuciji grafika jednostavnije sadržine. Bitno je napomenuti to da svaka obrada JPEG fajla i njegovo ponovno snimanje dovode do dalje degradacije kvaliteta slike. Zato je preporučljivo da, ukoliko je to moguće, fotografije koje je neophodno dalje obrađivati čuvate u nekom od formata koji nemaju gubitke prilikom kompresije, pa da ih konvertujete u JPEG tek kada dobiju svoju krajnju formu. PNG Pomenutoj kompaniji koja stoji iza GIF formata 1994. godina donela je loše dane usled tipično američke problematike oko patenata, u ovom slučaju LZW kodiranja. Kako je dalje korišćenje GIF formata iziskivalo plaćanje procenta nosiocu patenta, a ujedno je došlo i do napretka u razvoju hardvera koji je mogao da prikaže više boja, kao i do pojave bržih internet veza, postalo je jasno da je neophodan nov format koji će kombinovati kvalitet prikaza i malu veličinu, ali bez gubitaka u kompresiji kao kod JPEG-a. PNG (Portable Network Graphic) zaživeo je 1997. godine. Prvobitno je bio slabo prihvaćen usled problematičnog prikaza u Netscape browseru, koji je u to vreme bio standard, ali je uz podršku od strane Microsofta, a kasnije i Mozille, PNG format vremenom postajo sve prisutniji. Poput GIF-a, PNG može da koristi indeksiranu paletu boja, ali i direktno čuvanje RGB vrednosti. Paleta indeksiranih boja može imati maksimalno 24-bitnu dubinu, dok RGB kodiranje može ići do 48-bitne dubine, što PNG čini jednim od zgodnijih formata kada je presudna količina podataka o boji. Pored toga, moguće je iskoristiti dodatnih 8 do 16 bita za prenos podataka o alfa kanalu, čime je omogućena napredna prozirnost boja. Kodiranje se vrši metodom bez gubitaka zvanom DEFLATE, unapređenom varijantom LZW kodiranja, koja se koristi i pri kreiranju PDF fajlova i koja kod slika veće rezolucije postiže bolje rezultate od GIF-a ukoliko se koristi indeksirana paleta boja. Animacija poput one u GIF-u i dalje nije zvanično moguća – iako postoji nekoliko predloženih i već funkcionalnih verzija animiranog PNG formata, nijedan do sada nije usvojen kao standard. Dakle, kada sledeći put dođe trenutak da se sačuva fotografija, crtež ili skenirani dokument – pamet u glavu i odgovarajući format pod mišku. Očigledno, nije svejedno u kom obliku čuvamo slike. Mario PAVIĆEVIĆ |
![]()
![]()
![]()
| ||||||||||||||||||||||||||||||||||||||
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |