UNIVERZITET U PRIRODNO - MATEMATIČKI NIŠU FAKULTET KOMPRESIJA SLIKA: JPEG I JPEG2000 FORMAT Master rad Student: MLADEN -DOR-DEVIĆ Mentor: Prof. dr MAR

Слични документи
Техничко решење: Метода мерења ефективне вредности сложенопериодичног сигнала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић

1

Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји

RG_V_05_Transformacije 3D

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta Računalna forenzika BETTER PORTABLE GRAPHICS FORMAT Matej

Техничко решење: Метода мерења реактивне снаге у сложенопериодичном режиму Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аут

Орт колоквијум

Mere slicnosti

LAB PRAKTIKUM OR1 _ETR_

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Inženjering informacionih sistema

Орт колоквијум

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan

P1.1 Analiza efikasnosti algoritama 1

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

Algoritmi i arhitekture DSP I

Microsoft PowerPoint - Predavanje3.ppt

TEORIJA SIGNALA I INFORMACIJA

ДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 2006/2007 године I разред

Microsoft Word - 15ms261

Analiticka geometrija

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

P11.3 Analiza zivotnog veka, Graf smetnji

Математика основни ниво 1. Одреди елементе скупова A, B, C: a) б) A = B = C = 2. Запиши елементе скупова A, B, C на основу слике: A = B = C = 3. Броје

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

Prikaz slike na monitoru i pisaču

STABILNOST SISTEMA

PowerPoint Presentation

PowerPoint Presentation

Увод у организацију и архитектуру рачунара 1

Veeeeeliki brojevi

Matrice. Algebarske operacije s matricama. - Predavanje I

Verovatnoća - kolokvijum 17. decembar Profesor daje dva tipa ispita,,,težak ispit i,,lak ispit. Verovatnoća da student dobije težak ispit je

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Microsoft Word - Ispitivanje toka i grafik funkcije V deo

Microsoft Word - 6ms001

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PowerPoint Presentation

Tеорија одлучивања

Microsoft PowerPoint - vezbe 4. Merenja u telekomunikacionim mrežama

СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за векто

Skripte2013

Ravno kretanje krutog tela

08 RSA1

Microsoft Word - CAD sistemi

Microsoft Word - ASIMPTOTE FUNKCIJA.doc

Postojanost boja

Uvod u statistiku

Microsoft Word - predavanje8

My_P_Red_Bin_Zbir_Free

7. predavanje Vladimir Dananić 14. studenoga Vladimir Dananić () 7. predavanje 14. studenoga / 16

Slide 1

Tutoring System for Distance Learning of Java Programming Language

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

Prikaz znakova u računalu

Microsoft Word - 11 Pokazivaci

QFD METODA – PRIMER

My_ST_FTNIspiti_Free

PowerPoint Presentation

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau

06 Poverljivost simetricnih algoritama1

ЕНЕРГЕТСКИ ПРЕТВАРАЧИ септембар 2005

Microsoft Word - 4.Ucenik razlikuje direktno i obrnuto proporcionalne velicine, zna linearnu funkciju i graficki interpretira n

Microsoft Word - GRAFICI TRIGONOMETRIJSKIH FUNKCIJA-II deo.doc

Рачунарска интелигенција

PowerPoint Presentation

Microsoft Word - KVADRATNA FUNKCIJA.doc

KATALOG ZNANJA IZ INFORMATIKE

Алгебарски изрази 1. Запиши пет произвољних бројевних израза. 2. Израчунај вредност израза: а) : ; б) : (

(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова

No Slide Title

1. GRUPA Pismeni ispit iz MATEMATIKE Prezime i ime broj indeksa 1. (15 poena) Rexiti matriqnu jednaqinu 3XB T + XA = B, pri qemu

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

Vjezbe 1.dvi

Microsoft Word - 13pavliskova

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Slide 1

УНИВЕРЗИТЕТ У НИШУ ПРИРОДНО-МАТЕМАТИЧКИ ФАКУЛТЕТ Департман за рачунарске науке Писмени део испита из предмета Увод у рачунарство 1. [7 пое

Динамика крутог тела

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

P9.1 Dodela resursa, Bojenje grafa

PITANJA I ZADACI ZA II KOLOKVIJUM IZ MATEMATIKE I Pitanja o nizovima Nizovi Realni niz i njegov podniz. Tačka nagomilavanja niza i granična vrednost(l

Београд, МАТРИЧНА АНАЛИЗА КОНСТРУКЦИЈА ЗАДАТАК 1 За носач приказан на слици: а) одредити дужине извијања свих штапова носача, ако на носач

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN Odrediti

PROMENLJIVE, TIPOVI PROMENLJIVIH

УНИВЕРЗИТЕТ У БЕОГРАДУ МАШИНСКИ ФАКУЛТЕТ Предмет: КОМПЈУТЕРСКА СИМУЛАЦИЈА И ВЕШТАЧКА ИНТЕЛИГЕНЦИЈА Задатак број: Лист/листова: 1/1 Задатак 5.1 Pостоје

ALIP1_udzb_2019.indb

Microsoft Word - Novi proizvod - Sistem za komunikaciju 720 v1.doc

Kvadrupolni maseni analizator, princip i primena u kvali/kvanti hromatografiji

EНЕРГЕТСКИ ПРЕТВАРАЧИ 1 јануар Трофазни једнострани исправљач прикључен је на круту мрежу 3x380V, 50Hz преко трансформатора у спрези Dy, као

Microsoft Word - pitalice.doc

ЗАДАЦИ ИЗ МАТЕМАТИКЕ ЗА ПРИПРЕМАЊЕ ЗАВРШНОГ ИСПИТА

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Microsoft Word - ASIMPTOTE FUNKCIJE.doc

Microsoft PowerPoint - DAC.ppt [Compatibility Mode]

My_P_Trigo_Zbir_Free

Рационални Бројеви Скуп рационалних бројева 1. Из скупа { 3 4, 2, 4, 11, 0, , 1 5, 12 3 } издвој подскуп: а) природних бројева; б) целих броје

Транскрипт:

UNIVERZITET U PRIRODNO - MATEMATIČKI NIŠU FAKULTET KOMPRESIJA SLIKA: JPEG I JPEG2000 FORMAT Master rad Student: MLADEN -DOR-DEVIĆ Mentor: Prof. dr MARKO PETKOVIĆ Niš, Oktobar 2017

SADRŽAJ SADRŽAJ Sadržaj 1 Predstavljanje slika u računaru 3 1.1 Uvod................................. 3 1.2 Binarne (1-bitne) slike....................... 3 1.3 Monohromatske (8-bitne) slike................... 3 2 Kompresija slika 4 2.1 Uvod................................. 4 2.2 Performanse kompresije....................... 6 2.2.1 Faktor kompresije...................... 7 2.2.2 Mere kompresije....................... 8 3 JPEG format 9 3.1 Uvod................................. 9 3.2 Algoritam.............................. 10 3.3 Modeli boja............................. 11 3.3.1 RGB model......................... 12 3.3.2 YCbCr model........................ 13 3.4 Diskretna kosinusna transformacija................ 15 3.5 Kvantizacija............................. 19 3.6 Kodiranje.............................. 21 3.7 Dekompresija............................ 24 3.8 Eksperimentalni rezultati...................... 26 4 JPEG2000 format 28 4.1 Uvod................................. 28 4.2 Pretprocesiranje........................... 29 4.2.1 Podela na blokove...................... 30 4.2.2 DC pomeranje........................ 30 4.2.3 Transformacija multi-komponenti............. 31 4.2.4 Reverzibilna transformacija boja............. 31 4.2.5 Ireverzibilna transformacija boja............. 32 4.3 Kompresija............................. 32 4.3.1 Vejvlet transformacija................... 33 4.3.2 Diskretna vejvlet transformacija.............. 38 4.3.3 Multi-rezoluciona analiza.................. 39 1

SADRŽAJ SADRŽAJ 4.3.4 Filteri i piramidalni algoritam............... 41 4.3.5 Dvodimenzionalna diskretna vejvlet transformacija... 43 4.3.6 Kompresija sa gubicima korišćenjem diskretne vejvlet transformacije........................... 47 4.3.7 Kompresija bez gubitaka korišćenjem reverzibilne vejvlet transformacije........................ 48 4.3.8 Procesiranje ivica blokova................. 49 4.3.9 Kvantizacija......................... 49 4.4 Kodiranje.............................. 50 5 Zaključak 52 2

1 PREDSTAVLJANJE SLIKA U RAČUNARU 1 Predstavljanje slika u računaru 1.1 Uvod Slika predstavlja reprezentaciju objekta, osobe ili scene dobijene pomoću nekog optičkog ured aja kao što je ogledalo, sočivo ili kamera. Ova reprezentacija je dvodimenzionalna (2D), iako predstavlja neku projekciju iz realnog sveta - trodimenzionalni (3D) objekat ili scenu. Digitalna slika je numerička reprezentacija dvodimenzionalne slike pomoću konačnog broja tačaka koje nazivamo pikselima. Svaki piksel je predstavljen pomoću jedne ili više numeričkih vrednosti. Digitalna slika se predstavlja dvodimenzionalnom realnom matricom. Sa f(x, y) ćemo označavati sliku dimenzije M N, gde x predstavlja broj vrste (0,..., M 1), a y broj kolone (0,..., N 1): f(0, 0) f(0, 1)... f(0, N 1) f(1, 0) f(1, 1)... f(1, N 1) f(x, y) = (1.1)... f(m 1, 0) f(m 1, 1)... f(m 1, N 1) Vrednost dvodimenzionalne funkcije f(x, y) u pikselu sa koordinatama (x 0, y 0 ) označava se sa f(x 0, y 0 ) i naziva se intenzitet slike u tom pikselu. Maksimalne i minimalne vrednosti intenziteta zavise od tipa slike i konvencije. 1.2 Binarne (1-bitne) slike Binarne slike su kodirane kao matrica i koristi se 1 bit po pikselu gde 0 označava crnu a 1 belu boju. Glavna prednost ovakve reprezentacije je mala memorija potrebna sa pamćenje slika. To su uglavnom slike koje sadrže tekst ili jednostavne grafičke prikaze. Slika 1.1. predstavlja binarnu sliku (rezultat izdvajanja ivica) i označenu oblast dimenzije 6 6. 1.3 Monohromatske (8-bitne) slike Monohromatske slike takod e su kodirane kao matrice i to sa 8 bita po pikselu. Vrednost piksela 0 označava crnu, a vrednost 255 belu boju. Sve vrednosti izmed u predstavljaju odred enu nijansu sive boje. 3

2 KOMPRESIJA SLIKA Slika 1.1: Binarna slika 2 Kompresija slika 2.1 Uvod Slika 1.2: Monohromatska slika Slike se u digitalnom obliku mogu predstaviti na više različitih načina, a jedan od najprostijih je da se vrednosti svih piksela čuvaju u fajlu na osnovu neke konvencije (npr. polazeći od piksela koji se nalazi u gornjem levom uglu slike). Posledica korišćenja ovakve reprezentacije slika je veliki memorijski prostor koji je potreban za njihovo čuvanje. Da bi se smanjio memorijski prostor za čuvanje slika koriste se tehnike kompresije slika. Ove tehnike takod e smanjuju troškove komunikacije prilikom prenosa velike količine podataka. Osim ovih dobrih osobina, postoje i negativne strane kompresije. Kada se pristupa nekom podatku 4

2.1 Uvod 2 KOMPRESIJA SLIKA kod kompresovanih baza podataka, ponekad je potrebno dekompresovati celu bazu da bismo dosli do željenog podatka. Takva situacija se javlja kod baza čiji se podaci red e menjaju (na primer, u statistici). Takod e, ukoliko dod e do greške na jednom bitu kompresovanog koda, dekoder može preostale bitove da pogrešno interpretira čime se dolazi do loših podataka. U mnogim sistemima dodatna kompleksnost prilikom dodavanja procesa kompresije može značajno da poveća troškove sistema i umanji njegovu efikasnost. Tehnike kompresije slika su danas prisutne u popularnim aplikacijama i ured ajima kao što su DVD plejeri ili digitalne kamere. Dobri algoritmi kompresije slika su u mogućnosti da sliku u velikoj meri kompresuju, a da degradacija slike bude minimalna što se tiče vizuelnog kvaliteta. U apstraktnom smislu, kompresiju podataka možemo definisati kao metod koji od ulaznih podataka D generiše kraću reprezentaciju tih podataka c(d), sa manjim brojem bitova u odnosu na D. Obrnuti proces se naziva dekompresija i u tom procesu se od kompresovanih podataka c(d) generišu ili rekonstruišu podaci D (Slika 2.1). Ponekad se sistemi za kompresiju i dekompresiju zajednički zovu CODEC (COmpression - DECompression). Metodi kompresije mogu biti: Slika 2.1: CODEC sa gubicima (lossy) - kada su rezultujući podaci D aproksimacija originalnih podataka D, bez gubitaka (lossless) - kada su rezultujući podaci D u potpunosti identični u odnosu na originalne podatke D. Kod slika, kompresija sa gubicima koristi činjenicu da ljudsko oko teško razlikuje približno identične boje. U mnogim situacijama je mali gubitak podataka prihvatljiv kad sa uzme u obzir veća kompresija. Kompresija sa gubicima može imati primenu kod klasičnih fotografija, dok se kompresija bez gubitaka koristi kod slika u medicini, tehničkih crteža. 5

2.2 Performanse kompresije 2 KOMPRESIJA SLIKA 2.2 Performanse kompresije Tipični model za kompresiju podataka može da se opiše sledećim koracima: Odbacivanje redundantnih podataka Redukcija entropije Kodiranje entropije Redundansa u podacima može da se javi u više oblika. Na primer, susedni pikseli na slici su med usobno korelisani. Pod korelacijom se podrazumeva da su vrednosti susednih piksela veoma slične, osim na primer, u delovima slike koji sadrže naglu promenu boje. Kompozicija reči u prirodnom govoru prati isti model na osnovu odred ene gramatike, a takod e se izmed u reči prave pauze. U ovim slučajevima redundansa u podacima može da se smanji kako bi se postigla kompresija. Smanjenje redundanse u podacima obično se postiže transformacijom podataka iz jedne reprezentaciju u drugu. Popularne tehnike smanjivanja redundanse su predikcija uzorka podataka na osnovu nekog modela, transformacija iz prostornog u frekventni domen kao kod diskretne kosinusne transformacije (DCT), dekompozicija originalnog skupa podataka u različite podgrupe kao kod diskretne vejvlet transformacije (DWT). Kod kompresije bez gubitaka ovaj korak je kompletno reverzibilan. Sledeći korak kod kompresije sa gubicima je da se smanji entropija kako bi bilo potrebno manje bitova za memorisanje ili prenos podataka. To se postiže odbacivanjem manje značajnih informacija na osnovu nekih kriterijuma. Proces nije reverzibilan jer nije moguće potpuno povratiti izgubljene podatke pomoću inverznog procesa. Ovaj korak se primenjuje kod kompresije sa gubicima i završava se obično primenom neke od tehnika kvantizacije. Nakon toga, kvantizirani koeficijenti se kodiraju. S obzirom da je entropija kvantiziranih podataka manja od entropije originalnih podataka, potrebno je manje bitova za njihovo predstavljanje čime je postignuta kompresija. Osnovni problem kompresije slika je da se smanji količina podataka (bitova) koji su potrebni za predstavljanje slike. Matematički gledano, kompresija podataka predstavlja transformaciju (kodiranje) dvodimenzionalnog niza piksela u neki statistički nekorelisani skup podataka. U procesu dekodiranja rekonstruiše se originalna slika (kod kompresije bez gubitaka) ili se dobija aproksimacija originalne slike (kod kompresije sa gubicima). 6

2.2 Performanse kompresije 2 KOMPRESIJA SLIKA U teoriji informacija, redundantnost možemo definisati kao razliku broja bitova koji su korišćeni za prenos neke poruke i broja bitova stvarne informacije u toj poruci. Proces kompresije podataka eliminiše neželjenu redundansu. Ako istu informaciju možemo reprezentovati na više načina, onda možemo da kažemo da ona reprezentacija koja zahteva više podataka sadrži redundantne podatke. Da bi razlikovali podatak od informacije posmatrajmo sledeći primer: istu informaciju (broj 4) možemo predstaviti pomoću različitih reprezentacija (u rastućem redosledu u odnosu na broj bitova): Binarni ekvivalent broj 4 (100): 3 bita; Rimski broj IV kodiran pomoću ASCI karaktera za I i V: 16 bitova; Reč quatro što znači četiri na portugalskom jeziku, kodiran takod e pomoću ASCI karaktera: 48 bitova; Nekompresovana binarna (crno-bela) slika dimenzije 64 64 na kojoj se nalaze četiri bela kvadrata na crnoj pozadini: 32768 bitova. Kao i u mnogim drugim sistemima, performanse igraju glavnu ulogu u izboru odred enog algoritma kompresije. Izbor odgovarajućeg algoritma kompresije uglavnom zavisi od potreba same aplikacije: veća ili manja kompresija, subjektivni i objektivni kvalitet rekonstruisanih podataka, složenost algoritma, brzina izvršenja. 2.2.1 Faktor kompresije Najpopularnija metrika za odred ivanje performansi algoritma kompresije je faktor kompresije. On predstavlja odnos broja bitova originalnih podataka i broja bitova kompresovanih podataka. Postatramo sliku dimenzije 256 256 za čije je predstavljanje potrebno 65536 bajta, ako je za svaki piksel potrebno po jedan bajt. Ako je za predstavljanje ove slike nakon kompresije potrebno 4096 bajta (16 puta manje od originalne), onda faktor kompresije predstavljamo kao 16 : 1. Matematička definicija redundantnosti podataka data je sledećom formulom: R = 1 1 CR gde parametar CR predstavlja faktor kompresije i definiše se kao: (2.2) CR = b 1 b 2 7

2.2 Performanse kompresije 2 KOMPRESIJA SLIKA b 1 i b 2 su brojevi bitova u dva različita skupa podataka koji predstavljaju istu informaciju. Formula (2.2) predstavlja relativnu redundansu prvog skupa podataka (b 1 ). Kad je b 2 = b 1, tada je CR = 1 i R = 0, pa možemo reći da prvi skup podataka (b 1 ) ne sadrži redundantne podatke. Kada je b 2 b 1, onda CR i R 1, pa dobijamo visoku redundansu i kao posledicu veliku kompresiju podataka. Konačno, kada je b 2 b 1, CR 0 i R, možemo zaključiti da drugi skup sadrži mnogo više podataka od prvog i ovaj slučaj nije poželjan u procesu kompresije. CR i R uzimaju vrednosti iz intervala [0, + ] i [, 1], respektivno. Faktor kompresije vrednosti 100 (ili 100:1) znači da prvi skup podataka ima 100 jedinica informacije (bitova) za svaku jedinicu informacije drugog (kompresovanog) skupa. Odgovarajuća redundansa (0.99 u ovom slučaju) znači da je 99% podataka redundantno. Jedna varijacija faktora kompresije je prosečan broj bitova po uzorku. Ako je 65536 piksela slike kompresovano na 4096 bajta, onda kažemo da je kompresija 0.5 bita po pikselu. 2.2.2 Mere kompresije Kvalitet kompresije može se predstaviti na osnovu subjektivnih i objektivnih ocena. Najčešće se subjektivna ocena definiše preko prosečne ocene posmatrača (mean observer score - MOS). Postoje različiti statistički načini da se izračuna M OS, a jedan od najprostijih je da se slučajno izabere statistički značajan broj posmatrača koji bi vizuelno ocenili kvalitet kompresije. Na primer, te ocene mogu biti od 1 do 5, pri čemu 5 predstavlja najbolji a 1 najgori kvalitet. Sve ocene se sabiraju a potom dele sa brojem uzoraka (posmatrača) čime se dobija subjektivna ocena kompresije. Oštećenja slike koja su vidljiva nakon dekompresije nazivaju se artifakti kompresije. Ne postoji univerzalno prihvaćena objektivna ocena kvaliteta kompresije, ali najčešće se koristi srednja kvadratna greška (Root Mean Square - RMS). Neka je f(x, y) originalna a f (x, y) rekonstruisana slika. Za sve x i y, greška e(x, y) izmed u f (x, y) i f(x, y) je: e(x, y) = f (x, y) f(x, y) a ukupna greška izmed u slika (dimenzija M N) : E = M 1 N 1 x=0 y=0 [f (x, y) f(x, y)]. 8

3 JPEG FORMAT RMS greška (e RMS ) izmed u f (x, y) i f(x, y) se računa na sledeći način: e RMS = 1 M 1 N 1 [f MN (x, y) f(x, y)] 2. (2.3) x=0 y=0 Kod kompresije slika RMS se često predstavlja i preko ekvivalentne recipročne vrednosti - PSNR (Peak Signal to Noise Ratio) definisane sa: P SNR = 10 log 10 (2 B 1) 2 e RMS gde B predstavlja broj bitova po pikselu, pa u slučaju kad je svaki piksel predstavljen sa 8 bitova dobijamo: 255 2 255 P SNR = 10 log 10 = 20 log e 10 = 20 log 10 255 10 log 10 e RMS RMS erms PSNR se izražava u decibelima (db), što je PSNR vrednost veća, to je rekonstruisana slika bolja u pogledu vizuelnog kvaliteta. Obično dobro rekonstruisane slike imaju vrednost PSNR od 30 db i više. 3 JPEG format 3.1 Uvod Rad na med unarodnim standardima za kompresiju slika počeo je kasnih sedamdesetih godina prošlog veka kada je ogranak Ujedinjenih nacija pod nazivom Consultative Committee of the International Telephone and Telegraph (CCITT) standardizovao algoritme za kompresiju binarnih slika. Od tada, mnoge organizacije su formirale de jure (zakonske) standarde kao što su, na primer, JPEG ili JPEG2000. Sa druge strane, pojedini komercijalno uspešni standardi postali su de facto (masovno korišćeni ali ne i zakonom propisani) standardi poput PDF formata. Standardi za kompresiju slika imaju velike prednosti kao što je lakša razmena slika izmed u različitih ured aja i aplikacija, ponovno korišćenje postojećeg hardvera i softvera za širi skup proizvoda. Za kvalitetnije slike (i crno-bele i u boji) koriste se različiti standardi, naročito oni koji su bazirani na kompresiji sa gubicima. Najpopularniji je JPEG standard 9

3.2 Algoritam 3 JPEG FORMAT - algoritam za kodiranje koji koristi diskretne kosinusne transformacije (DCT). Uprkos velikoj popularnosti i prihvaćenosti kod korisnika, odred ena ograničenja originalnog JPEG algoritma u novije vreme dovela su do razvoja dva alternativna standarda: JPEG2000 i JPEGLS (lossless). JPEG standard se definiše u 4 oblika: 1. Sekvencijalni JPEG bez gubitaka - kompresuje sliku u jednom prolazu i rezultujuća slika je replika originalne slike. 2. Sekvencijalni JPEG sa gubicima - kompresuje sliku u jednom prolazu koristeći DCT, rezultujuća slika ne predstavlja repliku već aproksimaciju originalne slike (kompresija sa gubicima). 3. Progresivni JPEG sa gubicima - kompresuje i dekompresuje sliku u više prolaza, pri čemu se sa svakim prolazom povećava kvalitet slike. 4. Hijerarhijski JPEG - Kompresuje sliku u više rezolucija, zbog prikaza na više različitih ured aja. Hijerarhijski i sekvencijalni JPEG bez gubitaka danas imaju vrlo malu ili nikakvu primenu. Ubedljivo najveću primenu ima sekvencijalni JPEG sa gubicima i obično se podrazumeva da se radi o ovom tipu kad se govori o JPEG formatu. Jedna od glavnih mana sekvencijalnog JPEG-a je da svi bitovi moraju biti primljeni i dekodirani kako bi se slika prikazala, što u mnogim aplikacijama nije prihvatljivo. U tim slučajevima se koristi progresivni JPEG, gde se nakon prve iteracije prikazuje slika lošijeg kvaliteta koji se poboljšava sa svakom sledećom iteracijom. 3.2 Algoritam JPEG (Joint Photographic Experts Group) je kao standard objavljen 1994. godine. JPEG kodiranje se sastoji iz sledećih koraka: 1. Originalna slika u boji (RGB) se konvertuje u alternativni model boja (YCbCr) i informacija o bojama se deli na uzorke; 2. Slika se deli na blokove dimenzije 8 8; 3. Dvodimenzionalna diskretna kosinusna transformacija (DCT) se primenjuje na svaki blok slike. Dobijaju se 64 vrednosti koje se nazivaju DCT koeficijenti; 10

3.3 Modeli boja 3 JPEG FORMAT 4. DCT koeficijenti se kvantiziraju na osnovu tabele kvantizacije. U ovom koraku se uvodi prihvatljivi stepen greške; 5. Na kvantizirane DCT koeficijente si primenjuje cik-cak (zig-zag) funkcija; 6. Dobijene vrednosti se kodiraju u binarne kodne reči pomoću Hafmanovog algoritma. Pri dekodiranju primenjuju se odgovarajući inverzni procesi. Greška koja je uvedena u koraku kvantizacije ne može da se poništi u procesu dekvantizacije. Zbog toga, vrednosti koje dobijemo na izlazu dekvantizera su aproksimacije vrednosti na ulazu u procesu kvantizacije a ne njihove tačne vrednosti. Ukoliko radimo sa monohromatskim (crno-belim) slikama onda je prvi korak u prethodnom algoritmu suvišan. Slika 3.1: JPEG algoritam 3.3 Modeli boja Postoji puno načina da se boje predstave numerički. Sistem za predstavljanje boja se zove model boja. U informatici najkorišćeniji model boja je RGB model. 11

3.3 Modeli boja 3 JPEG FORMAT 3.3.1 RGB model Kod RGB modela svaki piksel se sastoji od 3 komponente koje predstavljaju intenzitet crvene (R), zelene (G) i plave (B) boje. RGB model se bazira na teoriji da sve boje mogu da se dobiju kombinacijom crvene, zelene i plave boje. U matematici, vrednost svake komponente je obično normalizovana na interval 0.0-1.0, dok u informatici se te vrednosti predstavljaju celobrojnim vrednostima u nekom opsegu. Ovaj opseg predstavlja broj bitova koji se koristi za predstavljanje jedne komponente (sample precision). Najčešće se koriste 8-bitne vrednosti pa kombinacija tri 8-bitne u 24-bitnu vrednost omogućava 2 24 (16,777,216 - obično se označava kao 16M) kombinacija boja. RGB boje se takod e mogu predstaviti u heksadecimalnoj notaciji sa vrednostima komponenata od 00 (decimalno 0) do F F (decimalno 255). Na taj način bi se, na primer, crvena boja predstavila kao F F 0000. Slika 3.2: RGB model: a) Originalna slika; b) R kanal; c) G kanal; d) B kanal. 12

3.3 Modeli boja 3 JPEG FORMAT 3.3.2 YCbCr model Ovaj model takod e ima 3 komponente i to: 1. Y - predstavlja osvetljenje (brightness) piksela i naziva se još i luminansa (luminance); 2. Cb - predstavlja razliku izmed u komponente plave boje i luminanse; 3. Cr - predstavlja razliku izmed u komponente crvene boje i luminanse. Zbog gustine receptora za osvetljenje i boju u oku, ljudsko oko je osetljivije na promenu osvetljenja (Y komponenta) nego na promenu boja (Cb i Cr komponente). Iz ovih razloga YCbCr model se koristi u digitalnoj televiziji i fotografiji. Slika 3.3: YCbCr model: a) Originalna slika; b) Y kanal; c) Cb kanal; d) Cr kanal. Kod kompresije JPEG formata, RGB model se najpre konvertuje u YCbCr model pomoću sledeće transformacije: 13

3.3 Modeli boja 3 JPEG FORMAT Y Cb Cr = 0.299 0.587 0.114 0.169 0.331 0.500 0.500 0.419 0.081 R G B + 0 128 128 Odgovarajuća inverzna transformacija iz YCbCr u RGB model je: R 1.0 0.0 1.40210 Y 0 G = 1.0 0.34414 0.71414 Cb 128. B 1.0 1.77180 0.0 Cr 128 Konverzija u YCbCr prostor omogućava veću kompresiju bez nekih gubitaka perceptivnog kvaliteta slike. Kompresija je efikasnija zbog izdvojene informacije o osvetljenju na koje je ljudsko oko osetljivije. Zbog gustine receptora za osvetljenje i boju u oku, ljudi mogu da uoče više detalja sadržanih u osvetljenju (Y komponenta) nego u bojama (Cb i Cr komponente). Iz ovih razloga YCbCr model se koristi u digitalnoj televiziji. Najprostiji način za iskorišćavanje slabije osetljivosti oka na boje je da se koristi manji broj bitova za Cb i Cr kanale. Na primer, ako je slika dimenzije 1000 1000, onda možemo koristiti sve piksele za luminansu (Y) i samo 500 500 piksela za svaki kanal hrominanse (Cb i Cr). U ovoj reprezentaciji, svaki piksel jednog kanala hrominanse pokriva isti prostor kao 2 2 blok piksela luminanse. Dakle, umesto početnih 12 vrednosti, potrebno je da pamtimo vrednosti 6 piksela za svaki 2 2 blok (4 vrednosti za luminansu i po jedan za oba kanala hrominanse). Ovim smo ostvarili uštedu od 50%, a gubitaka u vidljivom kvalitetu slike gotovo i da nema. Ovakav pristup kod RGB prostora boja nije moguć jer svaka od 3 komponente sadrži informaciju o luminansi, pa bi primena prethodno opisanog procesa dovela do veoma vidljivog gubitka kvaliteta rezultujuće slike. Ovakvo smanjivanje rezolucije kanala hrominanse se naziva daunsemplovanje (downsampling) i JPEG standard dozvoljava upotrebu različitih tipova daunsemplovanja kanala. Kanal luminanse uvek ostaje u punoj rezoluciji (1:1 semplovanje). Obično se oba kanala hrominanse daunsempluju 2:1 horizontalno i 1:1 ili 2:1 vertikalno, što znači da svaki piksel hrominanse pokriva isti prostor kao 2 1, odnosno 2 2 blok piksela luminanse. Ovi procesi daunsemplovanja se označavaju sa 2h1v i 2h2v, redom. Još jedna notacija koja se često koristi je 4:2:2 za 2h1v i 4:2:0 za 2h2v semplovanje. U daljoj kompresiji svaka od komponenata Y, Cb i Cr se posebno procesira na isti način.. 14

3.4 Diskretna kosinusna transformacija 3 JPEG FORMAT 3.4 Diskretna kosinusna transformacija Diskretna kosinusna transformacija (DCT) predstavlja osnovu mnogih algoritama kompresije, prvenstveno JPEG formata kod slika i MPEG-1, MPEG-2 i MPEG-4 formata kod video kompresije. S obzirom da je slika dvodimenzionalni signal, za kompresiju se primenjuje dvodimenzionalni DCT. Ova funkcija je separabilna, pa može da se izračuna primenom jednodimenzionalnog DCT-a duž horizontale a potom i vertikale signala. Jednodimenzionalna diskretna kosinusna transformacija (1-D DCT) od N uzoraka je zadata sledećom formulom: za i = 0, 1,..., N 1, gde je: N 1 2 D(i) = N C(i) p(x) cos x=0 (2x + 1)iπ 2N (3.1) C(i) = { 1 2, ako je i = 0 1, ako je i > 0. Funkcija p(x) predstavlja vrednost ulaznog signala na poziciji x, a D(i) je DCT koeficijent za i = 0, 1,..., N 1. Jednodimenzionalna inverzna diskretna kosinusna transformacija (1-D IDCT) se definiše na sličan način: p(x) = N 1 2 C(i)D(i) cos N x=0 (2x + 1)iπ 2N (3.2) za x = 0, 1,..., N 1. Dvodimenzionalna diskretna kosinusna transformacija (2D-DCT) nad N M uzoraka je zadata sledećom formulom: D(i, j) = 2 2 N N 1 M C(i)C(j) x=0 M 1 y=0 p(x, y) cos za i = 0, 1,..., N 1, j = 0, 1,..., M 1 i gde je: { 2 1, ako je u = 0 C(u) = 1, u suprotnom. 15 (2x + 1)iπ 2N cos (2y + 1)jπ 2M (3.3)

3.4 Diskretna kosinusna transformacija 3 JPEG FORMAT Ako sliku predstavimo matricom p, onda je p(x, y) je piksel na poziciji (x, y), N M je dimenzija bloka na koji si primenjuje DCT, a D(i, j) je DCT koeficijent za i = 0, 1,..., N 1 i j = 0, 1,..., M 1. Izraz (3.3) je separabilna funkcija jer se može zapisati i kao: M 1 { 2 D(i, j) = M C(j) N 1 2 N C(i) p(x, y) cos y=0 x=0 } (2x + 1)iπ (2y + 1)jπ cos 2N 2M (3.4) Kao rezultat prethodnih zaključivanja, 2-D DCT možemo izračunati u 2 koraka i to najpre računanjem 1D DCT za sve vrste nezavisno pri čemu se dobija D(i, y) gde je: N 1 2 D(i, y) = N C(i) p(x, y) cos x=0 (2x + 1)iπ 2N za i = 0, 1,..., N 1. U drugom koraku se primenjuje 1D DCT na sve kolone D(i, y) pri čemu se dobija D(i, j): M 1 2 D(i, j) = M C(j) D(i, y) cos j=0 (2y + 1)jπ 2M za j = 0, 1,..., M 1. Dvodimenzionalna inverzna kosinusna transformacija 2-D IDCT se dobija na sledeći način: p(x, y) = 2 2 N M N 1 i=0 M 1 j=0 C(i)C(j)D(i, j) cos (2x + 1)iπ 2N cos (2y + 1)jπ 2M (3.5) za x = 0, 1,..., N 1 i y = 0, 1,..., M 1. Ova funkcija je takod e separabilna i može da se izračuna na potpuno inverzan način u odnosu na 2-D DCT. Najpre primenom 1-D IDCT na svaku kolonu ulaznog signala D(i, j). Neka je D(i, y): D(i, y) = M 1 2 C(j)D(i, j) cos M j=0 16 (2y + 1)jπ 2M

3.4 Diskretna kosinusna transformacija 3 JPEG FORMAT za j = 0, 1,..., M 1. U drugom koraku se primenjuje 1-D IDCT na sve vrste D(i, y): p(x, y) = N 1 2 C(i)D(i, y) cos N i=0 (2x + 1)iπ 2N za i = 0, 1,..., N 1. Već smo napomenuli da JPEG format koristi blokove dimenzije 8 8 kao standard, pa imamo da je N = M = 8, a x i y uzimaju vrednosti od 0 do 7. Zamenom ovih vrednosti u jednačinu (3.3) dobijamo: D(i, j) = 1 4 C(i)C(j) 7 x=0 y=0 7 p(x, y) cos (2x + 1)iπ 16 cos (2y + 1)jπ. 16 Jednačinu (3.3) možemo ekvivalentno zapisati u matričnom obliku: D = T P T T gde elemente matrice T odred ujemo iz uslova: T i,j = 1 N, ako je i = 0 2 N cos (2j+1)iπ 2N, ako je i > 0. (3.6) Konkretno, za blok dimenzije 8 8 matrica T ima sledeći oblik:.3536.3536.3536.3536.3536.3536.3536.3536.4904.4157.2778.0975.0975.2778.4157.4904.4619.1913.1913.4619.4619.1913.1913.4619 T =.4157.0975.4904.2778.2778.4904.0975.4157.3536.3536.3536.3536.3536.3536.3536.3536.2778.4904 0.975.4157.4157 0.975.4904.2778.1913.4619.4619.1913.1913.4619.4619.1913.0975.2778.4157.4904.4904.4157.2778.0975 Na crno-beloj slici pikseli uzimaju celobrojne vrednosti od 0 do 255, gde 0 predstavlja crnu a 255 belu boju. Vrednosti izmed u predstavljaju neku nijansu sive boje. Slika može sadržati na stotine blokova dimenzije 8 8 i operacije koje se vrše na prvom bloku vrše se i na svim ostalim u redosledu koji je opisan 17

3.4 Diskretna kosinusna transformacija 3 JPEG FORMAT ranije. Na primer, neka pikseli iz prvog bloka (u gornjem levom uglu originalne slike) imaju sledeće vrednosti: 154 123 123 123 123 123 123 136 192 180 136 154 154 154 136 110 254 198 154 154 180 154 123 123 Original = 239 180 136 180 180 166 123 123 180 154 136 167 166 149 136 136 128 136 123 136 154 180 198 154 123 105 110 149 136 136 180 166 110 136 123 123 123 136 154 136 S obzirom da je DCT dizajniran da radi sa pikselima čije su vrednosti od -128 do 127 od svake originalne vrednosti se oduzima 128. Dobija se matrica: 26 5 5 5 5 5 5 8 64 52 8 26 26 26 8 18 126 70 26 26 52 26 5 5 M = 111 52 8 52 52 38 5 5 52 26 8 39 38 21 8 8 0 8 5 8 26 52 70 26 5 23 18 21 8 8 52 38 18 8 5 5 5 8 26 8 Sada možemo da primenimo DCT pomoću množenja matrica: D = T MT T (3.7) U prethodnoj jednačini matrica M se najpre množi sa leve strane matricom T koja predstavlja DCT. Na ovaj način smo transformisali vrste. Kolone se transformišu množenjem matrice M sa desne strane transponovanom DCT matricom T T pri čemu dobijamo: D = 162.3 40.6 20 72.3 30.3 36.2 19.7 11.5 30.5 108.4 10.5 32.3 27.7 5.4 18.4 2 94.1 60 12.3 43.4 31.3 20.4 3.3 7.1 38.6 83.4 5.4 22.2 13.5 0.8 1.3 3.5 31.3 17.9 5.5 12.4 14.3 8 11.5 6 39.8 119 30.4 23.1 73.7 36.1 24.2 7.2 4.6 2.4 12.2 6.6 18.7 13 7.7 12 10 11.2 7.8 16.3 21.5 27.3 5.9 10.7 18

3.5 Kvantizacija 3 JPEG FORMAT Ova matrica se sastoji od 64 DCT koeficijenta c ij. Koeficijent u gornjem levom uglu (c 00 ) je po apsolutnoj vrednosti dosta veći od ostalih koeficijenata i on se naziva DC koeficijent jer on odgovara frekvenciji jednaka 0. Ostali koeficijenti su AC koeficijenti i oni odgovaraju različitim vrednostima frekvencija. Nazivi AC i DC su motivisani odgovarajućim nazivima za jednosmernu i naizmeničnu struju. Udaljavajući se od c 00 u svim pravcima, DCT koeficijenti odgovaraju sve višim i višim frekvencijama. Ljudsko oko je osetljivije na niske frekvencije, pa će ova činjenica da se iskoristi u procesu kvantizacije prilikom odbacivanja koeficijenata koji odgovaraju višim frekvencijama. 3.5 Kvantizacija Kvantizacija se u matematici definiše kao proces mapiranja vrednosti iz nekog većeg (često kontinualnog) skupa u manji diskretni skup vrednosti. Tipičan primer kvantizacije je zaokruživanje decimalnih brojeva na celobrojne vrednosti. Jedna od dobrih osobina kompresije JPEG formata se ogleda u tome da izborom različitih kvantizacionih matrica u procesu kvantizacije kontrolišemo stepen kompresije i kvalitet slike. Ovo omogućava korisniku da izabere kvalitet na skali od 1 do 100, gde 1 predstavlja najveću kompresiju i najslabiji kvalitet slike, a 100 najmanju kompresiju ali daje najbolji kvalitet slike. Eksperimentima je utvrd eno da se najbolji rezultati dobijaju za vrednost kvaliteta 50, a odgovarajuća matrica ima sledeći oblik: Q 50 = 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 Ova matrica se koristi za kvantizaciju luminanse, dok se za oba kanala hromi- 19

3.5 Kvantizacija 3 JPEG FORMAT nanse koristi sledeća matrica: 17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 Q 50 = 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Kvantizaciona matrica se potom skalira tako što se množi odgovarajućim koeficijentom skaliranja (Scaling Factor - SF). Ako sa QF (Quality Factor) označimo željeni kvalitet kompresije onda se SF dobija na sledeći način: SF = 1, ako je QF = 100 100 QF, 50 ako je 50 QF > 100 50 QF, ako je QF < 50. Svaki element matrice Q se potom skalira na sledeći način: Q i,j = Q i,j SF + 50, za svako i, j = 1,..., N. 100 Elementi transformisane matrice slike D se dele odgovarajućim elementima skalirane kvantizacione matrice Q. Dobijene vrednosti se potom zaokružuju na najbliži ceo broj: ( ) Di,j B i,j = round, za svako i, j = 1,..., N. Q i,j Za matricu D iz prethodnog primera dobijamo: 10 4 2 5 1 0 0 0 3 9 1 2 1 0 0 0 7 5 1 2 1 0 0 0 B = 3 5 0 1 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20

3.6 Kodiranje 3 JPEG FORMAT Ranije smo spomenuli da koeficijenti koji su bliži gornjem levom uglu matrice odgovaraju nižim frekvencijama na koje je ljudsko oko osetljivije. Takod e je zanimljiv efekat korišćenja različitih kvantizaconih matrica: za Q 10 matrica B će imati veliki broj nula, dok je za Q 90 broj nula veoma mali. 3.6 Kodiranje Proces kodiranja započinje tako što se koeficijenti matrice B posmatraju u cik-cak(zig-zag) redosledu (Slika (2.4)), a potom se primenjuje RLE (Run- Length Encoding) algoritam. Ovaj algoritam združuje bliske vrednosti koeficijenata, koeficijenti različiti od 0 se kodiraju pomoću Hafmanovog koda. Kao alternativa Hafmanovom kodiranju može da se koristi aritmetičko kodiranje. Kodiranje i dekodiranje aritmetičkim kodom je sporije u odnosu na Hafmanov kod, ali kodirane slike su obično 5-7% manje u pogledu memorije koja je potrebna za njihovo čuvanje. Slika 3.4: Cik-cak redosled obilaska matrice Na ovaj način smo blok dimenzije 8 8 preslikali u niz dimenzije 1 64. DC koeficijent (c 00 ) se kodira drugačije u odnosu na AC koeficijente. Umesto stvarne vrednosti DC koeficijenta, kodira se razlika vrednosti trenutnog i prethodnog bloka (osim prvog bloka). Hafmanovo kodiranje zahteva jednu ili više Hafmanovih kodnih tabela, a iste tabele se koriste i kod kodiranja i kod dekodiranja. Hafmanove tabele su najčešće predefinisane i onda se samo iskoriste za kodi- 21

3.6 Kodiranje 3 JPEG FORMAT ranje, a u red im slučajevima se izračunavaju za konkretnu sliku u toku samog procesa kodiranja. Prilikom kodiranja svaki AC koeficijent različit od 0 se predstavlja pomoću 2 simbola: 1. Simbol 1: (RUNLENGTH, SIZE) 2. Simbol 2: (AMPLITUDE) gde su: RUNLENGTH - broj uzastopnih koeficijenata jednakih 0 koji su prethodili posmatranom koeficijentu; SIZE - broj potrebnih bitova za kodiranje; AMPLITUDE - vrednost koeficijenta izražena u bitovima. DC koeficijent se predstavlja u obliku (SIZE)(AMPLITUDE) jer u ovom slučaju uvek važi RUNLENGTH=0. Za negativne vrednosti amplitude se koriste komplementne vrednosti nad bitovima: s obzirom da je 10 binarna vrednost broja 2, onda je 01 binarna vrednost broja -2. Hafmanova tabela koja se najčešće koristi za kodiranje Simbola 1 DC koeficijenta data je na Slici (2.5) Slika 3.5: Hafmanova tabela za DC koeficijente Ako je potrebno kodirati vrednost 3 (označeno plavom bojom u Hafmanovoj tabeli), onda osnovu kodne reči iz odgovarajućeg reda tabele (u ovom slučaju je 22

3.6 Kodiranje 3 JPEG FORMAT to 100) dodajemo odgovarajuću binarnu vrednost (11). Dakle, dobijamo kodnu reč 10011. RUNLENGTH predstavlja broj nula od 0 do 15, ali kako broj uzastopnih nula može biti veći od 15 onda se u tom slučaju koristi specijalni simbol (15, 0) za vrednost RUNLENGTH=16. Ovakvih uzastopnih slučajeva može biti najviše tri, nakon čega se nalazi Simbol 2, osim u slučaju kada je poslednja nula ustvari poslednji AC koeficijent. Tada se koristi specijalan simbol (0,0) ili EOB (End- Of-Block) da označi kraj bloka. AC koeficijenti se kodiraju na osnovu tabele sa Slike (2.6) Slika 3.6: Hafmanova tabela za AC koeficijente Za odred ivanje kategorije kojoj AC koeficijent pripada može se iskoristiti tabela za DC koeficijente. Na primer, 24 se nalazi u kategoriji 5, pa (0,24) kodiramo sa 11010 11000, -4 je u kategoriji 3, pa (1,-4) kodiramo sa 1111001 011. Primer 3.1. Neka nakon kvantizacije imamo sledeću matricu: 15 0 1 0 0 0 0 0 2 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23

3.7 Dekompresija 3 JPEG FORMAT Ako je, recimo, u prethodnom bloku vrednost DC koeficijenta bila 12, onda je vrednost koju je potrebno kodirati 15 12 = 3. Dobijamo reprezentaciju (2)(3) za SIZE=2 i AMPLITUDE=3. Sada je na sličan način potrebno predstaviti AC koeficijente. Prateći cik-cak redosled prvi koeficijent različit od 0 je -2 a njemu prethodi jedna 0, što nam daje reprezentaciju (1,2)(-2). Ovaj postupak ponovimo za sve AC koeficijente različite od 0. Na kraju imamo: (2)(3), (1, 2)( 2), (0, 1)( 1), (0, 1)( 1), (0, 1)( 1), (2, 1)( 1), (0, 0) Sada vršimo kodiranje Simbola 1 i dobijamo: (2) 100, (1, 2) 11011, (0, 1) 00, (2, 1) 11100 (0, 0), 1010 a potom i Simbola 2 na ranije opisan način: (3) 11, ( 2) 01, ( 1) 0. Dakle, 64 koeficijenta smo kodirali pomoću 31 bita: 1001111011010000000001110001010 čime smo dobili efikasnu kompresiju jer je potrebno manje od 0.5 bita po koeficijentu umesto ranijih 8. 3.7 Dekompresija Rekonstrukcija slike počinje dekodiranjem kodnih reči čime dobijamo matricu C. Potom se svaki element ove matrice množi odgovarajućim elementom matrice sa početka procesa kvantizacije: B i,j = Q i,j C i,j. Na matricu B se primenjuje inverzna DCT i rezultat se zaokružuje na najbliži ceo broj. Konačno, svakom elementu se dodaje 128 i dobijamo matricu Approx koja predstavlja aproksimaciju originalnog bloka: Approx = round(t T B T ) + 128. Poslednji korak je transformacija iz YCbCr u RGB prostor boja: R 1.000.000 1.400 Y G = 1.000.343.711 (Cb 128). B 1.000 1.765.000 (Cr 128) 24

3.7 Dekompresija 3 JPEG FORMAT Za naš primer, matrica Approx je sledećeg oblika: 149 134 119 116 121 126 127 128 204 168 140 144 155 150 135 125 253 195 155 166 183 165 131 111 Approx = 245 185 148 166 184 160 124 107 188 149 132 155 172 159 141 136 132 123 125 143 160 166 168 171 109 119 126 128 139 158 168 166 111 127 127 114 118 141 147 135 Razlika izmed u originalne i rekonstruisane matrice je: 5 11 4 7 2 3 4 8 12 12 4 10 1 4 1 15 1 3 1 12 3 11 8 12 Original Approx = 6 5 12 14 4 6 1 16 8 5 4 12 6 10 5 0 4 13 2 7 6 14 30 17 14 14 16 21 3 22 12 0 1 9 4 9 5 5 7 1 Ovo je veoma dobar rezultat ako se uzme u obzir da je skoro 70% DCT koeficijenata odbačeno u procesu kvantizacije. Slične rezultate dobićemo za sve blokove slike, pa će se dekompresovana slika malo razlikovati u odnosu na originalnu. 25

3.8 Eksperimentalni rezultati 3 JPEG FORMAT 3.8 Eksperimentalni rezultati Kao što smo ranije napomenuli, jedna od mera efikasnosti kompresije je kvalitet kompresije (QF). Kod slika sa kvalitetom kompresije 100 ima vrlo malo gubitaka, dok su gubici veliki kod slika kvaliteta kompresije 1. Za slike sa kvalitetom kompresije većim od 90 kažemo da su visokog kvaliteta, od 80-90 su srednjeg, a od 70-80 su slike slabog kvaliteta. Sve ispod 70 se obično smatra vrlo lošim kvalitetom. Ako postepeno smanjujemo kvalitet slike, prvi gubici na slici mogu da se uoče izmed u QF = 75 i QF = 50, zavisno od konkretne slike. Slika 3.7: a) Originalna slika; b) QF = 100; c) QF = 90; d) QF = 75. 26

3.8 Eksperimentalni rezultati 3 JPEG FORMAT Slika 3.8: e) QF = 50; f) QF = 10; g) QF = 5; h) QF = 1. 27

4 JPEG2000 FORMAT 4 JPEG2000 format 4.1 Uvod JPEG2000 je standard za kompresiju slika razvijen 2000. godine od strane Med unarodne organizacije za standardizaciju (International Organization for Standardization - ISO) i Med unarodne komisije za elektrotehniku (International Electrotechnical Commission - IEC). Iako je JPEG do pojave JPEG2000 formata imao veoma široku primenu, postojala su ograničenja u mogućnostima koje su zahtevale interaktivne multimedijalne aplikacije, kao i njihovo korišćenje u komunikaciji. Značajan pomak u kompresiji slika ostvaren je primenom diskretne vejvlet transformacije (Discrete Wavelet Transform - DWT) i korišćenjem njihovih zanimljivih osobina razvijeni su mnogi algoritmi za kompresiju. JPEG2000 u svojoj osnovi koristi DWT da bi se prvenstveno prevazišli nedostaci JPEG formata. JPEG2000 standard je efikasan i koristi se u različitim sferama poput interneta, digitalne fotografije, arhiviranje slika, slike u medicini i astronomiji. Glavna mana JPEG2000 formata u pored enju sa JPEG formatom je dosta kompleksniji algoritam za kodiranje. Sa druge strane, glavna ideja pri definisanju JPEG2000 formata bila je da se slika kompresuje jednom, a da onda može da se dekompresuje na više različitih načina kako bi zadovoljila potrebe različitih aplikacija. Neke od glavnih prednosti JPEG2000 formata su: Odlične performanse kod kompresija sa manjim brojem bitova po pikselu: JPEG2000 nudi odlične performanse u pogledu vizuelnog kvaliteta slike i PSNR vrednosti kod kompresija sa manjim projem bitova po pikselu (ispod 0.25 bitova po pikselu) u odnosu na JPEG format. Samim tim, JPEG2000 ostvaruje veću kompresiju za ekvivalentni vizuelni kvalitet slike u odnosu na JPEG. Dobra kompresija nezavisno od broja bitova po pikselu: JPEG2000 format uspešno kompresuje kako binarne slike (1 bit po pikselu) tako i slike u boji sa po 16 ili 32 bita po pikselu. Slike velikih dimenzija sa velikim brojem komponenti: JPEG2000 standard dozvoljava maksimalne dimenzije slike (2 32 1) (2 32 1) i maksimalan broj komponenti 2 14. Ova osobina omogućila je primenu JPEG2000 standarda u astronomiji. 28

4.2 Pretprocesiranje 4 JPEG2000 FORMAT Kompresija sa i bez gubitaka: Oba tipa kompresije su poželjna koristeći jednu arhitekturu kompresije. JPEG2000 to postiže korišćenjem reverzibilne celobrojne vejvlet transformacije. Veličina kompresovanog fajla može da se predefiniše: Proces kompresije može da traje sve dok se ne postigne željena veličina fajla i tad se kompresija prekida. Ova osobina je bitna kod aplikacija ili ured aja sa ograničenim baferom, kao što su skeneri i štampači. Progresivni prenos po pikselu i/ili rezoluciji: Ova osobina je poželjna kod sporijih kanala komunikacije i ogleda se u tome da se tačnost piksela i/ili rezolucija povećava sa svakim sledećim primljenim i dekompresovanim bitom. Kodiranje regiona interesovanja (Region of Interest - ROI): Ponekad je poželjno da odred eni delovi slike koji su veće važnosti od ostatka slike budu kodirani drugačije od ostatka slike. Na primer, kod slika u medicini jedan ili više regiona na slici mogu biti bitniji i oni se mogu kompresovati bez gubitaka zbog očuvanja tačnosti podataka, dok se ostali delovi slike kompresuju sa gubicima. JPEG2000 standard dozvoljava uvod enje stepena interesovanja čime se moše definisati kompresija na svakom regionu posebno. Takod e, pristupanjem odred enom bloku kompresovanih bitova moguće su operacije na odred enom regionu slike poput rotacije, translacije, skaliranja. Originalna slika može da sadrži jednu ili više komponenata. Iako najčešće, slike u boji sadrže 3 komponente (RGB ili YCbCr model boja), JPEG2000 format podržava do 16384 (2 14 ) komponenti. Glavni delovi JPEG2000 enkodera su pretprocesiranje, diskretna vejvlet transformacija, kvantizacija i kodiranje entropije kao što je prikazano na slici (4.1)). 4.2 Pretprocesiranje Faza pretprocesiranja sastoji se od tri opciona dela: podela na blokove ili popločavanje (tiling), DC pomeranje i transformacija multi-komponenti. 29

4.2 Pretprocesiranje 4 JPEG2000 FORMAT Slika 4.1: JPEG2000 blok diagram 4.2.1 Podela na blokove U ovoj fazi ukoliko je slika velikih dimenzija onda može da se podeli na pravougaone blokove koji se ne preklapaju. Svi blokovi su istih dimenzija osim možda onih blokova koji su uz ivicu slike (u slučaju da dimenzija slike nije deljiva sa dimenzijom blokova). Dimenzije blokova mogu biti proizvoljne - blok može biti i samo jedan piksel a takod e i cela slika (kad imamo samo jedan blok). Svaki blok se kompresuje posebno koristeći svoje parametre kompresije i kao posledica toga moguće je pojavljivanje vidljivih artifakta blizu ivica bloka. Manji blokovi kreiraju veće artifakte na ivicama blokova a takod e i smanjuju efikasnost kompresije u pored enju sa većim blokovima. Očigledno da ukoliko nema podele slike na blokove vizuelni kvalitet je najbolji. Sa druge strane, ukoliko je dimenzija blokova (i same slike) velika, onda je potrebno više memorije za proces kodiranja, naročito zbog DWT izračunavanja. Zbog toga, podela na blokove je obično korisna kod aplikacija gde je količina memorije ograničena u pored enju sa dimenzijama slike. 4.2.2 DC pomeranje Najčešće se pikseli slike čuvaju kao neoznačene celobrojne vrednosti. Zbog matematičkih izračunavanja i pre bilo kakvih daljih transformacija potrebno je konvertovati i predstaviti vrednosti piksela pomoću reprezentacije potpunog 30

4.2 Pretprocesiranje 4 JPEG2000 FORMAT komplementa. DC pomeranje se primenjuje samo na neoznačene vrednosti i time se postiže da su te vrednosti centrirane oko nule. Kod slika čije su vrednosti piksela označeni celi brojevi kao što je to slučaj u kompjuterizovanoj tomografiji ne primenjuje se DC pomeranje jer su vrednosti već centrirane oko nule. DC pomeranjem se od svake vrednosti piksela oduzima 2 B 1, gde je B broj bitova kojim se predstavlja jedan piksel. 4.2.3 Transformacija multi-komponenti Transformacija multi-komponenti je efikasna prilikom smanjivanja korelacija (ako one postoje) izmed u multi-komponenti na slici koja sadrži te multikomponente. Rezultat tih transformacija je smanjivanje redundanse i povećavanje performansi kompresije. JPEG2000 standard predvid a transformacije multikomponenti samo za prve 3 komponente i zbog lakšeg razumevanja te komponente mogu da se interpretiraju kao komponente RGB modela. Generalno, svaka komponenta može biti drugačijih dimenzija i sa različitim brojem bitova po pikselu. Med utim, uslov transformacije multi-komponenti je da prve tri komponente budu istih dimenzija i sa istim brojem bitova po pikselu. JPEG2000 standard podržava reverzibilnu (RCT) i ireverzibilnu transformaciju boja (ICT). RCT se primenjuje na kompresiju i sa i bez gubitaka, dok se ICT primenjuje samo na kompresiju sa gubicima. 4.2.4 Reverzibilna transformacija boja Za kompresiju bez gubitaka primenjuje se samo RCT, jer slika može potpuno da bude rekonstruisana korišćenjem inverzne RTC. Takod e, RCT može da se koristi i kod kompresije sa gubicima i u tom slučaju greške koje se uvode pri kompresiji potiču od DWT i/ili kvantizacije, a ne od RCT. RCT se definiše na sledeći način: R + 2G + R Y = 4 dok je IRT definisana kao: U = B G V = R G 31

4.3 Kompresija 4 JPEG2000 FORMAT U + V G = Y 4 R = V + G B = U + G 4.2.5 Ireverzibilna transformacija boja ICT kod JPEG2000 standarda odgovara transformaciji luminanse i hrominanse kod JPEG standarda. Y je komponenta luminanse i predstavlja intenzitet piksela (osvetljenje), dok su Cb i Cr komponente hrominanse koje daju informaciju o boji piksela. Jedina razlika u ovom koraku u odnosu na JPEG format je što kod JPEG2000 formata nije dozvoljeno da se komponente hrominanse sempluju. ICT je kao i kod JPEG formata definisan sa: Y Cb Cr = a inverzni ICT sa: R G = B 4.3 Kompresija 0.299 0.587 0.114 0.169 0.331 0.500 0.500 0.419 0.081 1.0 0.0 1.40210 1.0 0.34414 0.71414 1.0 1.77180 0.0 Nakon opcione faze pretprocesiranja sledi faza kompresije pri čemu se svaka komponenta nezavisno kompresuje. Faza kompresije može da se podeli u tri glavna dela: diskretna vejvlet transformacija (DWT), kvantizacija i kodiranje. DWT razbija svaku komponentu na odred eni broj podgrupa sa različitim rezolucijama. Potom se svaka podgrupa nezavisno kvantizira pomoću parametara kvantizacije u slučaju kompresije sa gubicima. Kvantizirane podgrupe se potom dele na manje blokove jednakih dimenzija (osim blokova koji su na ivicama komponenti). Najčešće korišćene dimezije blokova su 32 32 i 64 64. Svaki blok se takod e kodira nezavisno. R G B Y Cb Cr 32

4.3 Kompresija 4 JPEG2000 FORMAT 4.3.1 Vejvlet transformacija Jedna od glavnih osobina koja razlikuje JPEG2000 od JPEG formata je korišćenje diskretne vejvlet transformacije umesto diskretne kosinusne transformacije. Matematički, talas (wave) se definiše kao sinusiodna funkcija ili proces koje je periodičan u prostoru i vremenu. Nasuprot sinusoidnim funkcijama, vejvlet je mali talas čija je energija koncentrisana u vremenu. Sam pojam wavelet je prvi put upotrebljen u seizmologiji da označi smetnje koje nastaju usled naglih impulsa izazvanih zemljotresima. Osobine vejvleta dozvoljavaju istovremenu analizu signala vremena i frekvencije zbog činjenice da je njihova energija koncentrisana u vremenu i kao takvi oni poseduju periodične osobine talasa. Sa L 2 označavamo prostor kvadratnih integrabilnih funkcija i sa R skup realnih brojeva. Vejvlet je svaka funkcija ψ L 2 (R)\{0} za koju važi: + ψ(ω) 2 c ψ = 2π dω < (4.8) ω Da bi prethodni uslov bio zadovoljen dovoljno je da ψ ima srednju vrednost jednaku nuli, odnosno da važi: ψ(0) = + ψ(t) dt = 0 (4.9) Ovo svojstvo govori o oscilatornoj prirodi funkcije ψ. Na osnovu definicije 4.8 funkcija ψ može biti vejvlet ukoliko brzo opada kao nuli kad t. Pomenuta svojstva odgovaraju pojmu vejvlet ( mali talas ) jer ukazuju na činjenicu da funkcija osciluje oko vremenske ose na veoma malom intervalu, a da izvan tog intervala brzo opada ka nuli. Pošto oblik vejvleta nije jedinstven postavlja se pitanje kako konstruisati vejvlet. Svojstvo koje je poželjno postići prilikom konstrukcije vejvleta je da on ima što više momenata jednakih nuli. Funkcija ψ ima M momenata jednakih nuli ako važi: + ψ(t)t m dt = 0, m = 0,..., M 1 (4.10) Signal se sastoji iz delova koji su glatki i delova na kojima se dešavaju odred ene promene ili prekidi. Ako signal može da se predstavi po delovima glatkim funkcijama, tada će vejvlet transformacija na glatkim delovima imati vrednost nula ukoliko ψ ima dovoljno nula momenata. To omogućava da se detektuju i 33

4.3 Kompresija 4 JPEG2000 FORMAT lokalizuju promene. Pomoću M puta diferencijabilne funkcije φ(t) kontruišemo vejvlet ψ(t) na sledeći način: ψ(t) = dm φ dt M (4.11) Postoje vejvleti koji su ustaljeni u praksi i neki od najkorišćenijih su: Harov vejvlet (za M = 1) - jedan od najprostijih vejvleta i definisan je na sledeći način: 1, 0 t < 1 2 1 ψ(t) = 1, 2 t < 1 0, inače Skup diskretno transliranih i skaliranih Harovih funkcija čini najprostiju ortonormalnu bazu. Med utim, ovaj vejvlet je slabo lokalizovan u frekventnom domenu kao posledica prekidnosti funkcije u vremenskom domenu i to mu je glavni nedostatak koji ga limitira za odred ene aplikacije. Predstavljanjem signala u vremenskom domenu dobijamo informaciju kako se amplituda tog signala menja za neki vremenski period. Sa druge strane, predstavljanje signala u frekventnom domenu daje informaciju o tome koliko se puta odred ena vrednost signala ponovila za neki vremenski period. Slika 4.2: Harov vejvlet 34

4.3 Kompresija 4 JPEG2000 FORMAT Sinusni vejvlet - ovaj vejvlet je takod e jedan od najjednostavnijih i u pitanju je jedan ciklus sinusne funkcije: { 1 ψ(t) = π sin(t), t π 0, inače Slika 4.3: Sinusni vejvlet Meksički šešir vejvlet - se definiše na sledeći način: ψ(t) = 2 3 π 1 4 (1 t 2 )e t2 2 Sam oblik vejvleta podseća na meksički šešir, pa odatle potiče i naziv. Ovaj vejvlet se često koristi u aplikacijama za detekciju ivica. Šenonov vejvlet - je vrlo popularan u teoriji. Ima lošiju vremensku rezoluciju, ali mu je frekventna rezolucija vrlo dobra. Definisan je na sledeći način: ψ(t) = sin 2πt sin πt πt Vejvleti su funkcije dobijene od jedne (bazne) funkcije proširivanjem (skaliranjem) i pomeranjem (translacijom) u vremenskom (frekventnom) domenu. Bazna funkcija se naziva prototip ili majka vejvlet funkcija. Ako prototip funkciju označimo sa Ψ(t), onda odgovarajuće vejvlete možemo definisati kao: ψ a,b (t) = 1 a ψ 35 ( ) t b a (4.12)

4.3 Kompresija 4 JPEG2000 FORMAT Slika 4.4: Meksički šešir vejvlet Slika 4.5: Šenonov vejvlet gde su a i b proizvoljni realni brojevi. Promenljive a i b predstavljaju parametre skaliranja i translacije na vremenskoj osi, redom. Iz jednačine (4.12) očigledno važi: Za proizvoljno a 1 i b = 0, dobija se: ψ(t) = ψ 1,0 (t) (4.13) ψ a,0 (t) = 1 a ψ ( ) t a (4.14) U jednačini (4.14) funkcija ψ a,0 (t) je skalirana po vremenu (za vrednost a) i skalirana po amplitudi (za vrednost a ) verzija prototipa funkcije ψ(t) definisane u jednačini (4.13). Parametar a izaziva skupljanje funkcije ψ a,b (t) po vremenskoj osi kad je a < 1 i širenje funkcije kad je a > 1. Zbog toga se parametar a naziva parametrom proširenja ili skaliranja. Funkcija ψ a,b (t) 36

4.3 Kompresija 4 JPEG2000 FORMAT predstavlja pomeraj funkcije ψ a,0 (t) udesno duž vremenske ose za vrednost b kad je b > 0 i pomeraj ulevo kad je b < 0. Zbog ove osobine parametar b predstavlja parametar pomeranja ili translacije. Na slici (4.6) je prikazan prototip vejvlet i odgovarajuće skaliranje duž vremenske ose za parametar a = α. Slika 4.6: a) Prototip vejvlet ψ(t) b) ψ(t/α), 0 < α < 1; c) ψ(t/α), α >1 Na osnovu ove definicije vejvleta, vejvlet transformacija (WT) funkcije (signala) f(t) se matematički definiše kao: W (a, b) = + ψ a,b (t)f(t) dt (4.15) Kod inverzne transformacije dobija se vrednost f(t) na osnovu W (a, b) je: f(t) = 1 C + a= + b= 1 a 2 W (a, b)ψ a,b(t) da db (4.16) 37

4.3 Kompresija 4 JPEG2000 FORMAT gde je: C = + Ψ(w) 2 dw w i Ψ(w) Furijeova transformacija prototip vejvleta ψ(t). Ako su a i b kontinualne (nediskretne) promenljive i f(t) takod e kontinualna funkcija, onda se W (a, b) naziva kontinualna vejvlet transformacija (Continuous Wavelet Transform - CWT). 4.3.2 Diskretna vejvlet transformacija Kontinualna vejvlet transformacija nosi sa sobom ograničenja, s ozbirom da numerički algoritmi i rad na računarima zahtevaju diskretne podatke. Zato je potrebno definisati vejvlete pomoću diskretnih umesto kontinualnih vrednosti parametara skaliranja i translacije. Postoje mnogi načini da se ova dva parametra diskretizuju, a najpopularniji je predstavljen sledećim formulama: a = a m 0, b = nb 0 a m 0 (4.17) gde su m i n celi brojevi. Zamenom vrednosti a i b u jednačinu (4.12) dobija se: ψ m,n (t) = a m/2 0 ψ(a m 0 t nb 0 ) (4.18) Postoji mnogo opcija za izbor vrednosti a 0 i b 0. Najčešći izbor je a 0 = 2 i b 0 = 1 pa je a = 2 m i b = n2 m. Ovo odgovara diskretizaciji a i b tako da se uzastopne diskretne vrednosti a i b kao i uzastopni uzorci intervala razlikuju za stepen dvojke. Zbog toga se ovakav način za dekompoziciju signala naziva dualna dekompozicija. Korišćenjem ovih vrednosti, diskretne vejvlete možemo predstaviti sledećom formulom: ψ m,n (t) = 2 m/2 ψ(2 m t n) (4.19) Generalno, vejvlet koeficijenti za funkciju f(t) su: c m,n (f) = a m/2 0 + Za dualnu dekompoziciju se dobija: f(t)ψ(a m 0 t nb 0 ) dt (4.20) + c m,n (f) = 2 m/2 f(t)ψ(2 m t n) dt (4.21) 38

4.3 Kompresija 4 JPEG2000 FORMAT Signal f(t) može da se rekonstruiše iz koeficijenata diskretnih vejvleta na sledeći način: f(t) = + + m= n= c m,n (f)ψ m,n (t) (4.22) Transformacija definisana formulom (4.20) predstavlja vejvlet redove. Često se ova transformacija zove diskretna vremenska vejvlet transformacija (Discrete Time Wavelet Transform - DTWT). Za digitalne signale ili aplikacije za procesiranje slika ulazni signal f(t) mora biti diskretan zbog digitalnih uzoraka originalnih podataka koji su u ovom slučaju predstavljeni konačnim brojem bitova. Kada je ulazna funkcija f(t) diskretna kao i parametri a i b, onda se odgovarajuća transformacija zove diskretna wavelet transformacija (Discrete Wavelet Transform - DWT). DWT je postala svestrano orud e u obradi signala nakon što je Mallat predložio multi-rezolucionu reprezentaciju signala baziranu na dekompoziciji vejvleta. Ovaj metod predstavlja signal (funkciju) kao kolekciju koeficijenata gde svaki koeficijent pruža informaciju o poziciji i frekvenciji signala. Prednost DWT u odnosu na Furijeovu transformaciju je što koristi multi-rezolucionu analizu signala koja je vremenski i frekventno lokalizovana. Kao rezultat, DWT dekomponuje digitalni signal u različite podgrupe tako da podgrupe nižih frekvencija imaju finiju frekventnu rezoluciju i grubu vremensku rezoluciju u pored enju sa podgrupama viših frekvencija. DWT se koristi u kompresiji slika zbog činjenica da podržava progresivnu transmisiju (po kvalitetu slike, po rezoluciji), laku manipulaciju nad kompresovanom slikom, kodiranje regiona interesovanja. Zbog ovih osobina, DWT je osnova JPEG2000 standarda. 4.3.3 Multi-rezoluciona analiza Ideja multi-rezolucione analize je da aproksimira funkciju f(t) u različitim nivoima rezolucije. Posmatraju se dve funkcije: prototip funkcija ψ(t) i funkcija skaliranja φ(t). Skalirana i translirana verzija funkcije skaliranja je data sa: φ m,n (t) = 2 m/2 φ(2 m t n) (4.23) Za fiksirano m skup funkcija φ m,n (t) je ortonormiran. Linearnom kombinacijom funkcija skaliranja i njihovih translacija možemo generisati skup funkcija: 39

4.3 Kompresija 4 JPEG2000 FORMAT f(t) = n Z α n φ m,n (t) (4.24) Skup svih ovakvih funkcija generisan linearnom kombinacijom skupa {φ m,n (t)} zove se span (lineal) skupa {φ m,n (t)} i označava se sa Span{φ m,n (t)}. Neka je V m potprostor prostora Span{φ m,n (t)}. Frekventna rezolucija predstavlja rastojanje izmed u dva susedna uzorka. Pod pretpostavkom da se rezolucija povećava smanjivanjem vrednosti parametra m, ovi vektorski prostori opisuju uzastopne aproksimacije vektorskih prostora, V 2, V 1, V 0, V 1, V 2,, svaki sa rezolucijom 2 m. U teoriji multi-rezolucione analize, potprostori zadovoljavaju sledeće uslove: V m+1 V m, za sve m - svaki potprostor se sadrži u sledećem rezolucionom potprostoru. V m = L 2 (R) - unija potprostora je gusta u prostoru kvadratnih integrabilnih funkcija L 2 (R), gde je R skup realnih brojeva. V m = 0 - prazan skup. f(t) V 0 f(2 m t) V m - proširivanjem funkcije iz prostora V 0 faktorom 2 m dobija se funkcija u prostoru V m f(t) V 0 f(t n) V 0 - kombinacijom ove osobine sa prethodnom, dobija se da translacija funkcije u rezolucionom prostoru ne menja rezoluciju. Postoji skup {φ(t n) V 0 : n je ceo broj} koji formira ortonormiranu bazu od V 0. Osnovni koncept multi-rezolucione analize je da kad su zadovoljeni prethodni uslovi postoji ortonormirana vejvlet baza ψ m,n (t) = 2 m/2 φ(2 m t n) tako da je: P m 1 (f) = P m (f) + n Z c m,n (f)ψ m,n (t) gde je P j ortogonalna projekcija φ na V j. Za svako m posmatramo vejvlet funkcije ψ m,n (t) koje razapinju vektorski prostor W m. Iz poslednje jednačine sledi da vejvlet nad prostorom W m i funkcija skaliranja nad prostorom V m nisu nezavisne. W m je ortogonalni komplement od V m u V m 1. Zato svaka funkcija u V m 1 40

4.3 Kompresija 4 JPEG2000 FORMAT može biti predstavljena kao suma funkcija iz V m i funkcija iz W m. Simbolički, ovo možemo zapisati kao: S obzirom da je m proizvoljno, imamo: V m 1 = V m W m (4.25) odnosno: V m = V m+1 W m+1 (4.26) Nastavljajući ovo razlaganje, dobija se: V m 1 = V m+1 W m+1 W m (4.27) V m 1 = V k W k W k 1 W k 2 W m (4.28) za svako k m. Prema tome, ako imamo funkciju koja pripada prostoru V m 1, onda nju možemo predstaviti kao sumu funkcija koje predstavljaju aproksimaciju manjih rezolucija i funkcija dobijenih proširenjem vejvleta koji predstavljaju gubitak informacija u pogledu detalja na slici. Vejvlet koeficijenti se mogu posmatrati kao dodatna informacija o detaljima kada se ide od slabijih ka boljim aproksimacijama. Stoga, u svakom nivou dekompozicije signal može da se razbije u dva dela: jedan koji predstavlja grubu informaciju u nižim rezolucijama i drugi koji predstavlja informaciju o detaljima koji su izgubljeni zbog aproksimacije. Vejvlet koeficijenti u formuli (4.20) opisuju informaciju (detalje) koja je izgubljena idući od aproksimacije signala u rezoluciji 2 m 1 ka aproskimaciji u rezoluziji 2 m. 4.3.4 Filteri i piramidalni algoritam Iz teorije multi-rezolucione analize imamo zaključak da je signal predstavljen iz dva dela - aproksimacije originalnog signala i informacije o detaljima koji su izgubljeni zbog aproksimacije. Ovo matematički možemo zapisati na sledeći način: f m (t) = a m+1,n φ m+1,n + c m+1,n ψ m+1,n (4.29) n Z n Z gde f m (t) predstavlja vrednost ulazne funkcije f(t) u rezoluciji 2 m, c m+1,n je informacija o detaljima i a m+1,n je aproksimacija signala u rezoluciji 2 m+1. Funkcije φ m+1,n i ψ m+1,n su funkcija proširenja i vejvlet bazna funkcija, redom. 41

4.3 Kompresija 4 JPEG2000 FORMAT U multi-rezolucionoj analizi, dekompozicija signala pomoću diskretne vejvlet transformacije može da se izrazi preko filtera konačnog impulsnog odziva (Finite Impulse Response - FIR) na sledeći način: c m,n (f) = k Z g 2n k a m 1,k (f) a m,n (f) = k Z h 2n k a m 1,k (f) (4.30) gde su h i g visoko-propusni i nisko-propusni filteri g i = ( 1) i h i+1 h i = 2 φ(x i)φ(2x) dx Ako su uzorci ulaznog signala diskretni, onda ove uzorke možemo posmatrati kao koeficijente aproksimacije u najvećoj rezoluciji a 0,n (f) V 0 i jednačine (4.30). Pri tome se generišu a m,n (f) i c m,n (f) u nivou m pomoću nisko-propusnog filtera h i visoko-propusnog filtera g iz c m 1,n (f) na nivou m 1. Ovi filteri se zovu filteri analize, a rekurzivni algoritam za izračunavanje DWT-a u različitim nivoima pomoću formula (4.30) se zove Malatov piramidalni algoritam. Zbog praktičnih razloga i računski efikasne implementacije DWT-a kod obrade slika, poželjno je korišćenje filtera konačnog impulsnog odziva (FIR). Moguće je konstruisati ove filtere olakšavanjem uslova ortogonalnosti tako što se koriste biortogonalne bazne funkcije. Vejvlet filteri su ortogonalni kad je (h, g ) = (h, g), u suprotnom su biortogonalni. Filteri h i g su filteri sinteze, a h i g predstavljaju filtere analize. Filteri su biortogonalni kada odgovarajući filteri sinteze koji se koriste za rekonstrukciju signala mogu da budu različiti od filtera analize korišćenih za dekompoziciju signala. U svrhu potpune rekonstrukcije signala, definišu se filteri koji zadovoljavaju vezu filtera sinteze i analize: g n = ( 1) n h n+1 g n = ( 1) n h n+1 h n h n+2k = δ k,0 n Z Jedan od najpopularnijih biortogonalnih filtera koji se koriste kod JPEG2000 standarda je (9,7) filter. Ulazni signal x(n) (na slici (4.7) označen sa a(0, n)) se paralelno filtrira niskopropusnim (h) i visoko-propusnim filterom (g) u svakom nivou transformacije. 42

4.3 Kompresija 4 JPEG2000 FORMAT Slika 4.7: Dekompozicija signala u 3 nivoa Koeficijenti aproksimacije n-tog uzorka ulaznog signala u nivou j se računaju na sledeći način: a(j, n) = c(j, n) = τ L i= τ L h(i)a(j 1, 2n i) τ H i= τ H g(i)c(j 1, 2n i) gde 2 τ L + 1 i 2 τ H + 1 predstavljaju dužine nisko-propusnih (h) i visokopropusnih filtera (g), respektivno. Kako je a(1, n) aproksimacija ulaznog signala, primenom prethodnih formula na a(1, n) dobijaju se podgrupe a(2, n) i c(2, n). Ovakav pristup multi-rezolucione analize prikazan je na slici (4.7) za 3 nivoa dekompozicije. 4.3.5 Dvodimenzionalna diskretna vejvlet transformacija Dvodimenzionalna diskretna vejvlet transformacija je ključni deo obrade dvodimenzionalnih signala kao što su digitalne slike. Dvodimenzionalni digitalni signal može da se predstavi preko dvodimenzionalnog niza X[M, N] sa M vrsta i N kolona, gde su M i N nenegativni celi brojevi. Prost način za implementaciju dvodimenzionalnog DWT-a je da se najpre primeni jednodimenzionalni DWT na vrste, pri čemu se dobije neki med u-rezultat. Na taj rezultat se potom primeni jednodimenzionalni DWT na kolone čime se dobija konačni rezultat (Slika (4.8) a)). Ovo je moguće zato što se dvodimenzionalne funkcije skaliranja 43

4.3 Kompresija 4 JPEG2000 FORMAT mogu predstaviti kao separabilne funkcije koje su proizvod dve jednodimenzionalne funkcije skaliranja φ 2 (x, y) = φ 1 (x)φ 1 (y). Ista analogija vazi i za vejvlet funkciju ψ(x, y). Primenom jednodimenzionalne transformacije na svaku vrstu dobijaju se po dve podgrupe u svakoj vrsti. Kada se nisko-frekventne podgrupe svih vrsta (L) predstave zajedno, onda se na neki način dobija uža verzija (dimenzija M N ) ulaznog signala. Slično, kada se visoko-frekventne podgrupe (H) 2 svih vrsta predstave zajedno dobija se podgrupa dimenzija M N. Potom, primenom jednodimenzionalnog DWT-a na L i H podgrupe po kolonama dobijaju 2 se četiri podgrupe LL, LH, HL i HH dimenzija M N. LL predstavlja grublju verziju originalnog ulaznog signala, dok LH, HL i HH su visoko-frekvetne 2 2 podgrupe koje sadrže informaciju o detaljima. Do istog rezultata se dolazi ako se jednodimenzionalni DWT primenjuje najpre na kolone a potom na vrste. Vizuelni prikaz ovog procesa je predstavljen na slici (4.9). Slika 4.8: Izračunavanje dvodimenzionalnog DWT-a po vrstama i kolonama Multi-rezoluciona dekompozicija dvodimenzionalnog signala prikazana je na Slici (4.8) b) i c). Nakon prvog nivoa dekompozicije dobijaju se četiri podgrupe LL1, HL1, LH1 i HH1. Ako je ulazni signal slika, onda podgrupa LL1 ustvari predstavlja 2:1 semplovanu (i horizontalno i vertikalno) originalnu verziju slike. Ostale tri podgrupe sadrže visoko-frekventne informacije o detaljima kao što su ivice objekata na slici. S obzirom da je LL1 podgrupa grublja aproksimacija originalne slike, ona može dalje da se razlaže na četiri nove podgrupe LL2, HL2, 44

4.3 Kompresija 4 JPEG2000 FORMAT Slika 4.9: Dvodimenzionalna DWT LH2 i HH2 (Slika (4.8) b)). Nakon trećeg nivoa piramidalne multi-rezolucione dekomozicije slika će se sastojati od 10 podgrupa (Slika (4.8) c)). Na isti način dekompozicija može da se nastavi ka sledećim nivoima. 45

4.3 Kompresija 4 JPEG2000 FORMAT Slika 4.10: DWT nakon 2 nivoa dekompozicije 46