198466661 jpeg kompresija slike

Upload: giuseppe-verdi

Post on 11-Oct-2015

40 views

Category:

Documents


0 download

TRANSCRIPT

  • SLOBOMIR P UNIVERZITET

    Fakultet za informacione tehnologije Odjeljenje Doboj

    "JPEG KOMPRESIJA SLIKE"

    MULTIMEDIJALNI SISTEMI

    SEMINARSKI RAD

    Profesor: Student: Dr. docent ore Babi Kafedi Armin 134/09

    jANUAR 2012.

  • 2

    Sadraj

    JPEG kompresija slike ............................................................................................................................. 3

    1. Uvod ................................................................................................................................................ 3

    2. Opis podruja i aktivnosti u svijetu ................................................................................................. 3

    3. JPEG kompresija slike ...................................................................................................................... 4

    3.1 8x8 DCT i IDCT............................................................................................................................ 5

    3.2 Kvantizacija ................................................................................................................................ 6

    3.3 Kodiranje istosmjernog koeficijenta i cik-cak sekvenca ............................................................ 7

    3.4 Entropijsko kodiranje................................................................................................................. 7

    3.5 Prikazivanje entropijski kodiranih koeficijenata ........................................................................ 8

    4. Zakljuak ........................................................................................................................................ 10

    5. Literatura ....................................................................................................................................... 11

  • 3

    JPEG kompresija slike

    1. Uvod

    U posljednjih dvadesetak godina mnoge prednosti digitalne tehnologije dovele su do masovne upotrebe te tehnologije za obradu, pohranjivanje i prikazivanje slika u specijaliziranim primjenama (izdavatvo (desktop publishing), grafika umjetnost (graphic arts), medicina), kao i u svakodnevnom ivotu. Ogranienje primjene digitalne tehnologije je u injenici da je za reprezentaciju slike u digitalnom obliku potrebno mnogo podataka. Tako npr. digitalizirana verzija jedne TV slike u boji sadri red veliine oko milion bajta. Upotreba digitalnih slikovnih sistema esto je ograniena velikom cijenom pohrane i prenosa iako su ureaji za snimanje i prikazivanje cjenovno dostupni. Jedno od rjeenja ovog problema je upotreba kompresijskih tehnika. Zahtjevi na algoritam kompresije su veliki stepen kompresije, nevidljivo smanjenje kvalitete te standardiziranost (da bi se postigla kompatibilnost ureaja razliitih proizvoaa). Sve te zahtjeve ispunjava JPEG.

    2. Opis podruja i aktivnosti u svijetu

    JPEG je standardiziran postupak za kompresiju slike. JPEG dolazi od Joint Photographic Experts Group to je ime udruenja koje je napisalo standard. Stvoren je za kompresiju slika u boji i crno-bijelih slika (sa sivim nijansama) i to prirodnih, realnih scena. Koristi se za fotografije, naturalno slikarstvo i sline primjene, a nije pogodan za tekstove, jednostavne crtee i tehnike crtee. JPEG je uz GIF najpopularniji format za prenos slika na internetu zbog velikog stepena kompresije i podrke gotovo svih web browsera.

    JPEG se koristi samo za kompresiju statine slike i spada u tzv. grupu intraframe metoda za kompresiju, ali postoji slian standard MPEG koji se bavi kompresijom pokretnih slika tzv. interframe. JPEG standard ukljuuje dvije osnovne metode za kompresiju. Prva koja se temelji na DCT (diskretna kosinusna transformacija) i spada u kompresiju s gubitcima - lossy i druga koja se temelji na prediktivnom kodiranju i spada u kompresiju bez gubitaka - lossless. Metoda koja se temelji na DCT je osnovna metoda (Baseline method). Ona se najede upotrebljava.

    Kao to je ved reeno JPEG je nain kompresije s gubitcima. To znai da dekomprimirana slika nije posve jednaka orginalnoj slici koju smo komprimirali. Osmiljen je tako da iskoristi poznata ogranienja ljudskog oka (manje promjene u svjetlini su mnogo uoljivije nego male promjene u boji). Pretpostavka je da de tako komprimirane slike gledati ovjek. U tehnikom sistemu za analiziranje slike male greke unesene JPEG kompresijom mogu biti veliki problem iako su te greke nevidljive za ljudsko oko.

  • 4

    JPEG je razvijen na temelju slijededih zahtjeva:

    1. mora zadovoljavati iroki raspon kvaliteta slike i mora postojati mogudnost odreivanja eljenog odnosa kompresija/kvaliteta

    2. mora biti primjenjiv na praktiki sve tipove digitalnih slika tj. ne smije biti ogranien dimenzijama slike, dubinom boja, omjerom visina/irina (aspect ratio), kompleksnodu scene, itd.

    3. ne smije imati preveliku kompleksnost kako bi se mogao uz prihvatljive perfomanse implementirati na to vedi broj procesora

    4. mora imati slijedede modove rada

    sekvencijalno kodiranje kodiranje prelaskom po slici red po red progresivno kodiranje tako kodirana slika se kod dekodiranja gradi viestrukim grubo-na-fino

    prelazima tako da se kvalitet poboljava (upotrebljava se u sistemima gdje je vrijeme prenosa informacija veliko npr. sporija internet konekcija)

    kodiranje bez gubitka informacija (lossless) bez obzira na stepen kompresije hijerarhijsko kodiranje slika je kodirana na vie rezolucija tako da je mogude dekodirati sliku u

    nioj rezolucije bez da je najprije dekodiramo u punoj rezoluciji.

    3. JPEG kompresija slike

    Slike 1 i 2 prikazuju blok shemu kodiranja i dekodiranja osnovnom metodom (Baseline method). Te slike predstavljaju algoritam kompresije za crno-bijelu sliku (grayscale) odnosno slike s jednom komponentom (u sluaju crno-bijele slike ta komponenta je svjetlina). Kompresiju slike u boji moemo promatrati kao viestruku kompresiju crno-bijelih slika tako da orginalnu sliku podjelimo na vie slika koje sadre pripadne komponente (najede se koristi model reprenzentacije boje s dvije kromatske komponente i jednom akromatskom komponentom (npr. HSV boja je reprezentirana svjetlinom, tonom i zasidenjem) jer je mnogo efikasniji nego RGB model).

    Slika 1. Blok shema DCT bazirane JPEG kompresije

  • 5

    Slika 2. Blok shema DCT bazirane JPEG dekompresije

    3.1 8x8 DCT i IDCT

    Na ulazu u koder uzorci ulazne slike su grupirani u blokove od 8x8 piksela i pretvoreni iz cjelobrojnog tipa bez predznaka (unsigned integer) s opsegom [0, 2P-1] u cjelobrojni tip s predznakom (signed integer) s opsegom [-2P-1, 2P-1-1] i dovedeni na ulaz bloka za DCT (diskretna kosinusna transformacija). Slijededim jednainama data je matematika formulacija 8x8 DCT i 8x8 IDCT (inverzna diskretna kosinusna transformacija)

    Svaki 8x8 blok koji sadri uzorke slike moemo promatrati kao diskretni signal s 64 elementa koji su funkcija prostorne dimenzije x i y. Takav signal dovodimo na ulaz DCT bloka na ijem izlazu dobijemo 64 DCT koeficijenta. Svaki koeficijent predstavlja jednu od 64 jedinstvenih 2D prostornih frekvencija i predstavljaju spektar ulaznog signala. Strogo govoredi pojam frekvencije vezan je iskljuivo za Fourierovu transformaciju (DFT) ali generalizirano moemo ga koristiti i za DCT. Koeficijent koji ima obje prostorne frekvencije jednake nuli zove se istosmjerni koeficijent (DC coefficient), a ostalih 63 koeficijenta su izmjenini koeficijenti (AC coefficients). Vrijednosti uzoraka u 8x8 bloku slabo variraju od take do take - vrijednosti taaka su korelirane (vrijedi za sve realne slike). DCT kompresija temelji se upravo na toj injenici jer DCT od takvih vrijednosti koncentrira koeficijente u nie prostorne frekvencije. Prema tome vedina koeficijenata ima vrijednost nula ili blizu nule te ih nije potrebno kodirati.

  • 6

    U dekoderu IDCT iz 64 DCT koeficijenta rekonstruira orginalni 8x8 blok. Matematiki reeno DCT je jedan-na-jedan preslikavanje izmeu prostorne i frekvencijske domene. Ako bi se DCT i IDCT izraunala u beskonanoj preciznosti i ako se ne bi obavljala kvantizacija, 8x8 slikovni blok bio bi tano rekonstruisan i jednak originalnom bloku. U principu DCT ne uzrokuje gubitke u uzorcima slike ved ih transformira u domenu u kojoj mogu biti efikasnije kodirani.

    Osnovno svojstvo DCT i IDCT je da sadri transcendentne funkcije tako da ih nije mogude izraunati u beskonanoj preciznosti. Implementacija tih funkcija nije standardizirana JPEG standardom jer ne postoji optimalan algoritam za sve primjene, tipove procesora, DSP ili VLSI realizacije.

    JPEG specifikacije predviaju 8-bitnu i 12-bitnu preciznost za uzorke ulazne slike (po komponenti). 12-bitna preciznost je potrebna da zadovolji zahtjevanu tanost kod nekih tipova medicinskih i drugih slika. Mogude je koristiti i druge preciznosti, ali one ostaju izvan JPEG standarda.

    3.2 Kvantizacija

    Nakon izlaza iz DCT bloka svaki od 64 DCT koeficijenata je uniformno kvantiziran ovisno o pripadnom lanu iz kvantizacijske tablice koja takoer sadri 64 elementa. Kvantizacijska tablica mora biti specificirana s aplikacijom ili je mora specificirati korisnik. Svaki element tablice moe biti bilo koji broj izmeu 1 i 255 koji odreuje veliinu koraka kvantizacije za odgovarajudi DCT koeficijent. Svrha kvantizacije je postizanje kompresije, tako da se DCT koeficijenti reprezentiraju s ne vedom preciznodu nego to je potrebno da bi postigli eljeni kvalitet slike. Reeno drugim rijeima cilj ovog postupka je ukloniti one podatke koje ne doprinose znaajno vizualnom poboljanju slike. Kvantizacija je vie-na-jedan preslikavanje i njena osobina je gubitak informacija nakon dekvantizacije. To je osnovni razlog gubitka informacija kod JPEG kompresije temeljene na DCT koderu.

    Kvantizacija je definisana omjerom svakog DCT koeficijenta s odgovarajudim korakom kvantizacije (sadranim u kvantizacijskoj tablici) zaokruenim na najblii cijeli broj. Dekvantizacija je inverzni proces, koji u ovom sluaju podrazumjeva jednostavno mnoenje kvantizirane vrijednosti i koraka kvantizacije. Matematiki napisano:

    Kada je cilj to jae komprimirati sliku i to po mogudnosti bez vidljivih odstupanja, svaki bi se element kvantizacijske tablice trebao posebno odabrati tako da predstavlja prag kod kojeg poinju biti vidljiva ta odstupanja. Vrijednosti pragova su funkcija karakteristike slike, karakteristike zaslona na kojem se slika prikazuje i udaljenosti s koje se slika posmatra. Najede se te vrijednosti odreuju psiho-vizualnim eksperimentima. U JPEG standardu nalazi se niz kvantizacijskih tablica koje su naene upravo takvim eksperimentima. Njihova upotreba nije obavezna ved se nalaze u standardu samo kao informacija.

  • 7

    3.3 Kodiranje istosmjernog koeficijenta i cik-cak sekvenca

    Nakon kvantizacije DC koeficijenti su tretirani odvojeno od AC koeficijenata. DC koeficijent je mjera srednje vrijednosti 64 uzorka slike. Bududi da vedinom izmeu DC koeficijenata dva susjedna 8x8 bloka postoji jaka korelacija, oni se kodiraju kao razlika izmeu trenutnog i prijanjeg DC koeficijenta (slika 3). Njihov specijalni tretman opravdan je i injenicom da je u njima pohranjena znaajna energija od ukupne energije slike.

    Slika 3. Priprema kvantiziranih koeficijenata za entropijsko kodiranje

    Kvantizirani koeficijenti poredaju se u cik-cak sekvencu kako je to prikazano na slici 3. Takav redoslijed pomae da se olaka entropijsko kodiranje postavljanjem nisko-frekvencijskih koeficijenata (koji su vrlo vjerojatno razliiti od nule) ispred visoko-frekvencijskih.

    3.4 Entropijsko kodiranje

    Entropijsko kodiranje je zadnji korak u DCT baziranoj JPEG kompresiji. Taj korak dodatno povedava stepen kompresije i ne utie na daljnje pogoranje slike. Radi se zapravo o efikasnijem kodiranju kvantiziranih DCT koeficijenata na temelju njihovih statistikih karakteristika. JPEG specificira dvije metode za entropijsko kodiranje Huffman-ova metoda i aritmetiko kodiranje. Osnovna (Baseline) metoda JPEG kompresije koristi Huffman-ov algoritam.

    Ideja Huffman-ovog kodiranja je u tome da brojevi imaju kodove razliite duine tako da brojevi koji se pojavljuju esto imaju kradi code, a oni koji se pojavljuju rijetko dui code.

  • 8

    Huffman-ov algoritam:

    Poredati vjerovatnode simbola po veliini od najvedeg do najmanjeg i smatrati ih kao listove stabla Dok postoji vie od jednog vora o Spojiti dva vora s najmanjim vjerovatnodama da bi se formirao novi vor ija vjerovatnoda je

    jednaka zbiru vjerovatnoda spojenih vorova o Proizvoljno dodijeliti vrijednost 1 i 0 granama koje se spajaju u vor

    Kod simbola oitati od korjena stabla prema listu simbola

    Primjer Huffman-ovog algoritma prikazan je na slici 4. Postoji i skradeni Huffman-ov kod: ograniena je duina code-a na neki iznos tako da prvih N simbola koristi Huffman-ov kod, a ostali obian binarni kod.

    Slika 4. Primjer Huffman-ovog algoritma

    Huffman-ovo kodiranje zahtjeva jednu ili vie tablica s Huffman-ovim kodom koje moraju biti specificirane da bi proveli proces kompresije. Ista tablica koja je upotrebljena u procesu kompresije mora biti upotrebljena u procesu dekompresije. Huffman-ove tablice mogu biti predefinisane i koritene za sve slike ili se mogu izraunati statistike osobine slike i generisati tablice.

    Za razliku od Huffman-ovog kodiranja, aritmetiko kodiranje specificirano u JPEG standardu ne zahtjeva dodatne tablice jer je u stanju adaptirati se na statistike znaajke slike u procesu kodiranja. Aritmetiko kodiranje daje 5-10% bolji stepen kompresije od Huffman-ovog kodiranja, ali je mnogo kompleksnije i time nije pogodno za odreene implementacije (npr. brze sklopovske implementacije).

    3.5 Prikazivanje entropijski kodiranih koeficijenata

    Svaki AC koeficijent koji je razliit od nule prikazan je simboliki pomodu brojeva runlength, size i amplitude gdje je RUNLENGTH broj prethodnih AC koeficijenata u cik-cak sekvenci jednakih nuli, SIZE je broj bitova potrebnih za kodiranje koeficijenta, a AMPLITUDE je vrijednost amplitude koeficijenta. To znai da je svaki koeficijent razliit od nule prikazan parom simbola na slijededi nain:

    1.simbol 2.simbol

    (RUNLENGTH,SIZE) (AMPLITUDE)

  • 9

    RUNLENGTH prikazuje broj prethodnih koeficijenata jednakih nuli i moe imati vrijednost od 0 do 15. Bududi da broj nul-koeficijenata moe biti vedi od 15, vrijednost prvog simbola jednaka (15,0) zapravo se interpretira kao runlength=16. Dozvoljeno je do 3 simbola (15,0) zaredom prije nego to doe simbol (0,0) koji predstavlja kraj bloka (EOB = end of block).

    Mogudi raspon vrijednosti kvantiziranih AC koeficijenata odreuju raspon vrijednosti koje mogu imati varijable AMPLITUDE i SIZE. Numerika analiza jednaine za DCT pokazuje da ulazni signal koji posjeduje N-bitnu vrijednost moe nakon DCT-a porasti za dodatna 3-bita. To je ujedno i najveda vrijednost koju moe poprimiti kvantizirani DCT koeficijent kada je korak kvantizacije jednak 1. Tako 8-bitni uzorci ulazne slike sa vrijednostima u rasponu [-27, 27-1] mogu nakon DCT-a i kvantizacije imati vrijednosti u rasponu [-210, 210-1]. Iz toga proizlazi da je raspon varijable AMPLITUDE od 1 do 10 bitova (varijabla SIZE moe imati vrijednost od 1 do 10). Struktura prvog i drugog simbola prikazana je u tablicama 1 i 2.

    Tablica 1. Huffman-ovo kodiranje struktura prvog simbola

    Tablica 2. Huffman-ovo kodiranje vrijednosti simbola

    Reprezentacija DC koeficijenata odnosno njihove razlike strukturirana je na slian nain:

    1.simbol 2.simbol

    (SIZE) (AMPLITUDE)

    Bududi da su DC koeficijenti diferencijalno kodirani, pokrivaju dva puta vedi raspon od AC koeficijenata tj. njihov raspon je [-211, 211-1] tako da je za njihovu reprezentaciju potrebno dodati jo jedan red u tablici 2 (SIZE moe poprimiti vrijednosti od 1 do 11).

  • 10

    4. Zakljuak

    Moe se zakljuiti da je najznaajnije svojstvo JPEG formata veliki stepen kompresije. Osim toga, promjenama parametara kodera mogude je ostvariti eljeni omjer kvalitet/kompresija i time povedati upotrebljivost formata od sloenih profesionalnih do sasvim jednostavnih primjena. Najira primjena JPEG-a je u pohrani slika i u sistemima koji imaju veliko vrijeme prenosa podataka npr. raunarske mree, a posebno na internetu kojem JPEG moe zahvaliti svoju veliku popularnost. Standardiziranost je jo jedna velika prednost JPEG-a koja je omogudila njegovu implementaciju na razliite procesore, procesore signala (DSP), VLSI ipove te kompatibilnost formata na tim platformama. Zbog svega gore navedenog, a posebno zbog masovne upotrebe na internetu JPEG de biti jo godinama najupotrebljivaniji i najpopularniji format za kompresiju slike.

  • 11

    5. Literatura

    1. Wallace G.K: The JPEG Still Picture Compression Standard. Submitted in December 1991 for publication in IEEE Transactions on Consumer Electronics

    2. Lonarid Sven: Digitalna obrada slike. Predavanja iz predmeta Digitalna obrada slike na Fakultetu elektrotehnike i raunarstva. Zagreb, 1997.