Digitalne slike in računalniška grafika - dodatek 1
Transcription
Digitalne slike in računalniška grafika - dodatek 1
Slike in računalniška grafika Ločljivost digitalnih slik • • Standardi za predstavitev slike na računalniškem zaslonu: • Slika je največkrat predstavitev (projekcija) objektov v prostoru v dveh dimenzijah. Abstraktno bi lahko sliko opisali kot zvezno funkcijo, ki definira (pravokotno) področje neke ravnine: – pri fotografiji je vrednost posamezne točke sorazmerna prejeti energiji v spektru, ki ga detektor (film) zaznava (slika intenzivnosti), – pri tipalnih senzorjih je slika sorazmerna deformaciji senzorja ob stiku z otipanim objektom. • • • Slika je lahko posneta kot fotografija, analogni video signal ali v digitalni obliki. Pri digitalizaciji je slika v posameznih točkah vzorčena na diskretnih intervalih in je predstavljena kot matrika numeričnih vrednosti, ki predstavljajo intenzivnost (in barvo). Točke vzorčenja se imenujejo slikovni elementi (picture elements - pixels) in ponavadi predstavljajo povprečje okoliških vrednosti - ločljivost digitalnih slik je zaenkrat bistveno slabša od realnosti! © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-1 VGA (640 x 480, 16 barv), … • Format - predstavitev slike na zaslonu in ob zajemu: – ločljivost oz velikost slike (v pixlih - slikovnih točkah) – kodiranje barve (1, 8, 24 bitov) • Format slike za shranjevanje in prenos: – zaradi velike količine podatkov potrebno stiskanje (kodiranje), – neposredno ali posredno shranjevanje RGB komponente ali shranjevanje indeksa barve v ‘paleti’. • Uporaba znanj o človekovih čutilih pri zmanjševanju količine informacij (frekvenca, zaznavanje sprememb svetlosti in barv, interpolacija, ločljivost človeškega vida) © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-2 Predstavitev slik - grafični načini Predstavitev slik - grafični načini II • True Color Mode: vsaka od treh osnovnih barv (RGB -redgreen-blue) je predstavljena z 1 zlogom, skupaj torej 24 bitov/pixel, 224 = 16,7 milijona barv (uporablja JPEG), podpirajo mnoge grafične kartice. • High Color Mode: podobno kot TCM, vendar samo 5 ali 6 bitov za barvo (MSB biti); že cenene grafične kartice podpirajo HCM ločljivosti 800 x 600. • Uporaba palet: barve so določene z indeksom v paleti, tj. tabeli RGB kombinacij; za indeks 1 zlog informacij, torej 256 barv; za prikaz 24 bitnih barv uporabijo kvantizacijo (iskanje najbližje barve v paleti); S-VGA v ‘paletnem načinu’ ločljivosti 640 x 480 (kartice z 1MB do 1024x 768). • 16-barvna grafika: 4 biti za barvo, ta način podpira VGA; v Windows za sliko ne moremo prilagoditi niti vseh teh barv, ker nekatere potrebujejo za svoje grafične elemente (drsniki, gumbi,…) • Barvna kvantizacija: to je prilagajanje barv iz izvirnega zapisa slike možnostim grafične kartice - iskanje najbližje podobne barve. • Dithering (stresanje): metoda za kombiniranje majhnega nabora barv tako, da dobimo učinek mešanja barv; uporaba obeh tehnik skupaj. © doc.dr. Jože Rugelj © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-3 Hipertekst in hipermedia Bitmap (.BMP) format BMP grafični načini • V operacijskih sistemih Windows so bitne slike shranjene v formatu, ki je neodvisen od naprav za prikazovanje • Vrednost BitCount je lahko: – – – – (DIB - Device Independent Bitmap). • Struktura .BMP: – – – – bitmap-file header (tip, velikost, struktura datoteke), bitmap-info header (dimenzija slike, tip stiskanja, barvni format), barvna tabela (informacije o barvah, pomembnejše najprej), bitna slika (opis slike, začetek levo spodaj). Hipertekst in hipermedia 1: monokromatska slika, slikovna točka predstavljena z 1 bitom; 4: 16 barv, točko predstavlja 4-bitni indeks v barvni tabeli (0x1f); 8: 256 barv, točko predstavlja 8-bitni indeks v barvni tabeli (0x1f); 24: 16,7 miljonov barv, točke predstavljene kot zaporedje treh zlogov RGB komponente; • Kodiranje: • Pri 24-bitni RGB ni barvne tabele, uporablja kar zapis s tremi RGB zlogi. • Od Win 3.0 so bitne slike stisnjene po principu RLE (run-length encoding), 4 ali 8 bitov za slikovno točko. © doc.dr. Jože Rugelj IV-4 IV-5 – zapis informacije o točkah z dvema zlogoma, prvi število ponovitev, drugi pa indeks v tabeli; – vrednost 0 v prvem zlogu predstavlja ubežno zaporedje, drugi zlog potem pomeni: • • • • 0 konec vrstice, 1 konec slike, 2 odmik naslednje točke (vodoravno, navpično), 3-ffh absolutni način: vrednost pomeni število točk, ki sledijo. © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-6 Kodiranje podatkov GIF - Graphics Interchange Format • S pomočjo kodiranja zmanjšamo količino podatkov. • Tri vrste kodiranja: • To je format za definicijo barvnih rasterskih slik. • GIF omogoča učinkovito kodiranje slik visoke ločljivosti in kakovosti in na različnih računalnikih. • Temelji na uporabi LZW (Lempel-Ziv-Welch) algortima za kodiranje (kot program arj). • LZW izkorišča za zmanjšanje količine podatkov dejstvo, da se določena zaporedja ponavljajo. • Trije tipi podatkov: zaporedje vhodnih znakov, zaporedje kod in tabela nizov (vhodnih znakov) - indeksi te tabele predstavljajo kode. • Začetne vrednosti tabele nizov predstavljajo posamezni vhodni znaki (razvrščeni po ‘abecedi’). – entropijsko kodiranje: uporabno ne glede na značilnosti medija, brez izgub (npr. Huffmanovo ali aritmetično, RLE); – izvorno (angl. source) kodiranje: upoštevanje semantike podatkov, stopnja stiskanja odvisna od vsebine, izguba informacij pri kodiranju enosmerni postopki; postopki temeljijo na napovedovanju (angl. prediction) in transformacijah (FFT, DCT); – hibridno je kombinacija prejšnjih dveh. • Dekodiranje je inverzni proces. • Različne zahteve glede zahtevnosti kodiranja in dekodiranja: – sprotno ali z zakasnitvijo – različne pogostnosti izvajanja. © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-7 LZW kodiranje • IV-8 Hipertekst in hipermedia Zaporedje vhodnih znakov: ABACABA, abeceda: A,B,C,D V hodni znak N iz Izhodne kode [ ] IV-9 LZW dekodiranje Hipertekst in hipermedia K o dna tabela #0= A , #1= B , #2= C , # 3=D A [A ] B [A ]B → [B ] #0 #4= A B A [B ]A→ [A ] #1 #5= B A C [A ]C → [C ] #0 #6= A C A [C ]A→ [A ] #2 #7= C A B [A ]B → [A B ] A [A B ]A → [A ] #4 #8= A B A - [A ]→ [ ] #0 © doc.dr. Jože Rugelj Hipertekst in hipermedia Značilnosti GIF [1] Initialize string table; [2] get first code: <code>; [3] output the string for <code> to the charstream; [4] <old> = <code>; [5] <code> <- next code in codestream; [6] does <code> exist in the string table? (yes: output the string for <code> to the charstream; [...] <- translation for <old>; K <- first character of translation for<code>; add [...]K to the string table; <old> <- <code>; ) (no: [...] <- translation for <old>; K <- first character of [...]; output [...]K to charstream and add it to string table; <old> <- <code>) [7] go to [5]; © doc.dr. Jože Rugelj Hipertekst in hipermedia LZW kodiranje - primer [1] Initialize string table; [2] [.c.] <- empty; [3] K <- next character in charstream; [4] Is [.c.]K in string table? (yes: [.c.] <- [.c.]K; go to [3]; ) (no: add [.c.]K to the string table; output the code for [.c.] to the codestream; [.c.] <- K; go to [3]; ) [.c.] …… niz K …… vhodni znak © doc.dr. Jože Rugelj © doc.dr. Jože Rugelj • Zelo učinkovito stiskanje: odvisno od št. barv (2..256) • Prozornost: izbrano barvo spremenimo tako, da je skoznjo vidno ozadje. Image Format GIF JPEG with 15% cmpr. TIFF with LZW cmpr. PCX BMP with compr. TIFF BMP IV-10 File size 11.6 kb (11,879 ) 15.6 kb (16,042 ) 20.0 kb (20,558 ) 31.5 kb (32,293 ) 84.1 kb (49,308 ) 86.6 kb (88,750 ) 173 kb (177,254 ) • GIF uporablja samo 256 barv. • Prepletanje (angl. interlacing): slika se postopno izboljšuje medtem ko jo pregledovalnik nalaga (žaluzije - rolete). • Možnost shranjevanja več slik v eni datoteki: osnova za enostavne animacije (omogoča novejša verzija GIF 89a). • Problem LZW licence - od 1995 Unisys zahteva patentnino od proizvajalcev programske opreme za GIF - alternativa PNG format. IV-11 © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-12 Razvoj GIF TIFF - Tagged Image File Format • Prva verzija razvita v letu 1987 (GIF 87a): • To je format, ki omogoča izmenjavo slik med različnimi programi in delovnimi okolji (operacijski sistemi). • Poudarek na podpori namiznega založništva - format za optične čitalce in shranjevanje računalniško generiranih slik. • Podobno kot GIF ima lahko vgrajeno LZW stiskanje, vendar podpira tudi True Color (24 bitne barve). • Format je zasnovan tako, da se razvija glede na potrebe dodajanje novih polj s podatki. • Osnova za shranjevanje je ‘datoteka zlogov’. • Problem različnih verzij TIFF, vendar večina aplikacij podpira verzijo 5.0. – – – – LZW več slik (angl. frames) v eni datoteki pozicija slike v logičnem oknu, prepletanje. • Izboljšave v letu 1989 (GIF 89a): – – – – – zakasnitev (v stotinkah) med predvajanimi slikami, prozorna barva, izpis besedila, način odstranitve prikazane slike po izteku določenega časa, kodiranje informacij za druge aplikacije in komentarjev. © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-13 © doc.dr. Jože Rugelj Hipertekst in hipermedia Struktura TIFF datoteke Struktura TIFF datoteke II • Glava (Image File Header) ima 8 zlogov: • Polje s podatki o sliki ima 12 zlogov: zlog 0-1 2-3 4-7 zlog 0-1 2-3 4-7 8-11 vsebina format zapisa vrednosti: II (hex 4949), MM (hex 4D4D) verzija (vedno 42 ?!) kazalec na prvi IFD (Image File Directory) • IFD (Image File Directory): zlog 0-1 N*12 zadnji 4 © doc.dr. Jože Rugelj vsebina oznaka polja (angl. tag) tip polja dolžina polja kazalec (odmik) na vrednosti (nekje v datoteki) • Primeri podatkov o slikah: dimenzija slike, način stiskanja, ločljivost, število bitov/točko, palete, barvne krivulje, faksimile podatki, … • Podatki urejeni po vrednostih oznak. • Organizacija slike v trakove (angl. strip) vsebina število polj (N) polja s podatki o sliki kazalec na naslednji IFD ali 0, če je zadnji Hipertekst in hipermedia IV-14 IV-15 © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-16 Stiskanje v TIFF datotekah Stiskanje v TIFF datotekah II • CCITT Group3 (1d) modificiran Huffman se uporablja za črno-bele slikovne datoteke vrste TIFF. • LZW (Lempel-Ziv-Welch) se uporablja za True Color in 256 barvne slikovne datoteke vrste TIFF in za TIFF slikovne datoteke v sivinah. Pri LZW stiskanju ne pride do izgube podatkov, tako da zagotavlja natančno reprodukcijo izvirne slike. • CCITT Group3 (1d) faks se uporablja za črno-bele slikovne datoteke vrste TIFF, ki so namenjene faksnemu prenosu. • CCITT Group4 (2d) faks se uporablja za črno-bele slikovne datoteke vrste TIFF, ki potujejo po zanesljivih podatkovnih povezavah, kot je npr. ISDN ali X.25. V primerjavi s stiskanjem vrste Group3 (1d) zagotavlja za slike brez barvnega stresanja boljše stiskanje. • JPEG (Joint Photographics Experts Group) se uporablja za True Color TIFF slikovne datoteke in TIFF slikovne datoteke v 256 sivinah. JPEG doseže visoko razmerje stiskanja, vendar med stiskanjem pride do izgube nekaterih podatkov za sliko. • Pakirani biti je naslednja vrsta stiskanja za črno-bele slikovne datoteke vrste TIFF (Macintosh). © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-17 © doc.dr. Jože Rugelj Hipertekst in hipermedia IV-18