74
137 8. KOMPRESIJA SLIKE 8.1 UVOD Brzi razvoj tehnologije omogućio je komercijalnu primenu tehnika digitalne obrade slike koje su do skora bile rezervisane za dobro opremljene istraživačke laboratorije. U takvim primenama, kao što su video konferencije, video telefonija, multimedijalni sistemi, obrada i čuvanje dokumenata, sistemi za prenos TV slike standardne i visoke rezolucije, biomedicina, i druge, važnu ulogu imaju postupci za kompresiju slike. Postupci kompresije slike su neophodni kako bi se smanjilo zauzeće memorije ili potreban kapacitet telekomunikacionih kanala, pošto se radi o prenosu ili zapisu ogromnih količina podataka potrebnih za reprezentaciju slike. Naime, kao što je već rečeno, za čuvanje jedne digitalne monohromne slike rezolucije 512×512 piksela potrebna je memorija od 256 KB, dok je za čuvanje slike u boji iste rezolucije potrebno 768 KB. Za čuvanje monohromne video sekvence iste rezolucije, sa 25 slika/s, potrebno je 6.4 MB/s, a za video sekvencu u boji čak 19.2 MB/s. Sa povećanjem rezolucije zauzeće memorije se proporcionalno povećava. S obzirom na veliku potrebu za kompresijom slike, postupci za kompresiju se intenzivno razvijaju poslednjih dvadesetak godina i istraživanja u ovoj oblasti su vrlo intenzivna i danas. Razvijene su metode kojima je moguće izvršiti kompresiju mirne slike čak i do 50 puta bez znatnog uticaja na kvalitet reprodukovane slike. U slučaju sekvence slika stepen kompresije može biti i veći. U najopštijoj klasifikaciji se svi postupci kompresije mogu svrstati u dve grupe: kompresija slike bez gubitaka i kompresija slike sa gubicima. Postupci kompresije slike bez gubitaka se koriste u onim slučajevima kada je teško ili nemoguće ponovo dobiti nekomprimovanu sliku ili kada nekomprimovana slika sadrži neke važne informacije koje bi se mogle oštetiti u postupku kompresije (na primer, medicinski snimci). S druge strane, postupci kompresije slike sa gubicima se koriste u slučajevima kada je lako ponoviti proces snimanja ili kada se može tolerisati izvestan stepen gubitka informacija (video telefonija, televizija, multimedijalni sistemi, itd.). Sve metode kompresije slike zasnovane su na korišćenju prostorne redundatnosti informacija koje sadrži digitalna slika. Redundantnost informacija u slici postoji zbog znatne prostorne korelacije piksela, i može se opisati na različite načine. Statistička redundantnost je povezana sa raspodelom intenziteta piksela slike i može se eliminisati korišćenjem entropijskih tehnika iz teorije informacija. Eliminacijom statističke redundantnosti postiže se kompresija bez gubitaka. Interesantno je da se ova grupa algoritama koristi i u prenosu faksimila. Redundantnost informacija u slici se može iskoristiti i za predikciju vrednosti piksela na osnovu njegovog lokalnog susedstva. Predikcijom se vrši dekorelacija podataka slike, čime se smanjuje njena entropija. Prediktivne tehnike se koriste i za kompresiju slike bez gubitaka, kao i za kompresiju slike sa gubicima. Kompresija slike se može ostvariti i transformacijama slike, kojima se vrši pakovanje energije slike u mali broj transformacionih koeficijenata. Kvantovanjem i kodovanjem

8. KOMPRESIJA SLIKE - boris-marenic.from.hrboris-marenic.from.hr/radovi/kompresija_slike/KOMPRESIJA SLIKE.pdf · 137 8. KOMPRESIJA SLIKE 8.1 UVOD Brzi razvoj tehnologije omogućio

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

137

8. KOMPRESIJA SLIKE

8.1 UVOD

Brzi razvoj tehnologije omogućio je komercijalnu primenu tehnika digitalne obrade slike koje su do skora bile rezervisane za dobro opremljene istraživačke laboratorije. U takvim primenama, kao što su video konferencije, video telefonija, multimedijalni sistemi, obrada i čuvanje dokumenata, sistemi za prenos TV slike standardne i visoke rezolucije, biomedicina, i druge, važnu ulogu imaju postupci za kompresiju slike. Postupci kompresije slike su neophodni kako bi se smanjilo zauzeće memorije ili potreban kapacitet telekomunikacionih kanala, pošto se radi o prenosu ili zapisu ogromnih količina podataka potrebnih za reprezentaciju slike. Naime, kao što je već rečeno, za čuvanje jedne digitalne monohromne slike rezolucije 512×512 piksela potrebna je memorija od 256 KB, dok je za čuvanje slike u boji iste rezolucije potrebno 768 KB. Za čuvanje monohromne video sekvence iste rezolucije, sa 25 slika/s, potrebno je 6.4 MB/s, a za video sekvencu u boji čak 19.2 MB/s. Sa povećanjem rezolucije zauzeće memorije se proporcionalno povećava.

S obzirom na veliku potrebu za kompresijom slike, postupci za kompresiju se intenzivno razvijaju poslednjih dvadesetak godina i istraživanja u ovoj oblasti su vrlo intenzivna i danas. Razvijene su metode kojima je moguće izvršiti kompresiju mirne slike čak i do 50 puta bez znatnog uticaja na kvalitet reprodukovane slike. U slučaju sekvence slika stepen kompresije može biti i veći. U najopštijoj klasifikaciji se svi postupci kompresije mogu svrstati u dve grupe: kompresija slike bez gubitaka i kompresija slike sa gubicima. Postupci kompresije slike bez gubitaka se koriste u onim slučajevima kada je teško ili nemoguće ponovo dobiti nekomprimovanu sliku ili kada nekomprimovana slika sadrži neke važne informacije koje bi se mogle oštetiti u postupku kompresije (na primer, medicinski snimci). S druge strane, postupci kompresije slike sa gubicima se koriste u slučajevima kada je lako ponoviti proces snimanja ili kada se može tolerisati izvestan stepen gubitka informacija (video telefonija, televizija, multimedijalni sistemi, itd.).

Sve metode kompresije slike zasnovane su na korišćenju prostorne redundatnosti informacija koje sadrži digitalna slika. Redundantnost informacija u slici postoji zbog znatne prostorne korelacije piksela, i može se opisati na različite načine. Statistička redundantnost je povezana sa raspodelom intenziteta piksela slike i može se eliminisati korišćenjem entropijskih tehnika iz teorije informacija. Eliminacijom statističke redundantnosti postiže se kompresija bez gubitaka. Interesantno je da se ova grupa algoritama koristi i u prenosu faksimila. Redundantnost informacija u slici se može iskoristiti i za predikciju vrednosti piksela na osnovu njegovog lokalnog susedstva. Predikcijom se vrši dekorelacija podataka slike, čime se smanjuje njena entropija. Prediktivne tehnike se koriste i za kompresiju slike bez gubitaka, kao i za kompresiju slike sa gubicima. Kompresija slike se može ostvariti i transformacijama slike, kojima se vrši pakovanje energije slike u mali broj transformacionih koeficijenata. Kvantovanjem i kodovanjem

138 8. Kompresija slike

transformacionih koeficijenata može se ostvariti znatan stepen kompresije slike. Tehnike zasnovane na transformacijama slike se koriste isključivo za kompresiju slike sa gubicima.

U slučaju video sekvenci pored prostorne redundantnosti postoji i vremenska redundantnost, koja je posledica činjenice da se susedne slike u sekvenci malo razlikuju, osim u slučaju vrlo brzih pokreta. Vremenska redundantnost se otklanja otkrivanjem i kompenzacijom pokreta u slici, čime se postiže značajan stepen kompresije, višestruko veći nego kada se otkloni samo prostorna redundantnost.

8.2 KOMPRESIJA SLIKE BEZ GUBITAKA

Neka se monohromna slika koju treba komprimovati sastoji od M×N piksela, pri čemu se za reprezentaciju intenziteta svakog piksela koristi B bita. Ovakva reprezentacija digitalne slike je poznata kao impulsna kodna modulacija (Pulse Code Modulation - PCM). Dakle, originalna slika se sastoji od MNB bita. Broj mogućih nivoa intenziteta je B2 .

8.2.1 HAFMANOV KODNI POSTUPAK

Osnovna ideja Hafmanovog (Huffman) kodovanja slike je da se nivoi koji se češće pojavljuju u slici koduju sa manje bita, a nivoi koji se ređe pojavljuju sa više bita, tako da prosečni broj bita po pikselu bude manji od B, [1], [2]. Neka je )(ip , 120 −≤≤ Bi , funkcija gustina verovatnoće intenziteta u slici, koja se može proceniti izračunavanjem histograma slike. Neka se kodna reč dužine )(iL bita koristi za kodovanje intenziteta i. Onda je prosečna dužina kodne reči:

∑−

==

12

0)()(

B

iipiLL (8.1)

Iz teorije informacija je poznato da je donja granica prosečne dužine kodne reči data entropijom slike:

∑−

=−=≥

12

02 )(log)()(

B

iipipBHL (8.2)

Entropija slike je maksimalna kada )(ip predstavlja uniformnu raspodelu. Tada je redundantnost slike mala, pa je prosečna dužina kodne reči jednaka B bita. Kada )(ip predstavlja neravnomernu raspodelu, entropija slike se smanjuje, pa se smanjuje i prosečna dužina kodne reči.

Za realizaciju Hafmanovog kodera potrebno je odrediti dužine kodne reči )(iL na takav način da se minimizuje prosečna dužina kodne reči L data izrazom (8.1). U teoriji informacija je pokazano da se praktično može realizovati koder čija je prosečna dužina reči bliska entropiji slike:

1)()( +≤≤ BHLBH (8.3)

Takav koder se naziva Hafmanov koder ili entropijski koder. Pošto su kodne reči kod Hafmanovog kodovanja nejednake dužine, sve kodne reči kojima se

predstavljaju pikseli slike su spojene u neprekidni niz bitova. Iz takvog niza se pri dekodovanju moraju dešifrovati pojedinačne kodne reči. Ta činjenica postavlja jedno ograničenje za izbor kodnih reči da nijedna kraća kodna reč ne sme predstavljati prefiks (početak) duže kodne reči.

8. Kompresija slike 139

Formiranje Hafmanovog koda najbolje se može pokazati na konkretnom primeru. Stoga posmatrajmo jednostavan slučaj slike sa osam nivoa intenziteta ( 3=B ). Prvo se verovatnoće pojavljivanja nivoa )(ip svrstaju u opadajući redosled i početnim čvorovima grafa (krajnje desno) se dodele odgovarajuće vrednosti verovatnoća, kao što je to pokazano na slici 8.1a. Zatim se započinje iterativni postupak od 1−B iteracija. U svakoj iteraciji se dva čvora sa najmanjim verovatnoćama spajaju i novom čvoru se dodeljuje zbir njihovih verovatnoća. Postupak se nastavlja sve dok se ne iskoriste svi intenziteti, tj. dok zbir verovatnoća čvorova koji se spajaju u poslednjem koraku ne postane jednak jedinici. Na takav način se dobija kodno stablo prikazano na slici 8.1a. Zatim se kodno stablo tako preuredi da se eliminišu preseci grana, kao što je pokazano na slici 8.1b. Kodne reči se konstruišu tako što se pođe od korena stabla (čvora sa verovatnoćom jednakom 1) i granama koje se u njega stiču dodele vrednosti 0 (gornja grana) i 1 (donja grana). Postupak dodeljivanja se nastavlja idući na desno sve dok se ne iscrpu sva moguća grananja. Kodna reč koja odgovara nekom intenzitetu sastoji se od nula i jedinica koje se nalaze na putu od korena do čvora koji odgovara tom intenzitetu, što je takođe prikazano na slici 8.1b.

0.30

0.26

0.15

0.12

0.10

0.03

0.02

0.02

0.04

0.07

0.17

0.27

0.43

0.57

1.00

i=2

i=1

i=3

i=0

i=4

i=5

i=6

i=7

(a)

0.30

0.26

0.15

0.12

0.10

0.03

0.02

0.02

0.04

0.07

0.17

0.27

0.43

0.57

1.00 i=2 (01)

i=1 (10)

i=3 (001)

i=0 (000)

i=4 (110)

i=5 (1110)

i=6 (11110)

i=7 (11111)

0

0

0

1

1

0

1

1

0

00

1 0

1

1

(b)

Slika 8.1 Konstrukcija Hafmanovog koda: (a) Formiranje stabla, (b) Preuređivanje stabla i dodela kodnih reči.

140 8. Kompresija slike

Na kraju se formira Hafmanova kodna knjiga koja predstavlja tabelu preslikavanja između rednog broja nivoa i odgovarajućeg Hafmanovog koda. Hafmanova kodna knjiga za posmatrani primer predstavljena je Tabelom 8.1.

Tabela 8.1 Hafmanova kodna knjiga za primer sa slike 8.1.

i Hafmanov kod

0 000 1 10 2 01 3 001 4 110 5 1110 6 11110 7 11111

U primeru konstrukcije Hafmanovog koda sa slike 8.1, entropija originalne slike je 514.2=H , dok je dobijena prosečna dužina kodne reči 55.2=L . Realizovani stepen kompresije

176.1== LBCR samo je za 1.45% manji od maksimalnog mogućeg stepena kompresije 193.1max == HBCR .

Hafmanova kodna knjiga ima B2 vrsta, a najduža kodna reč može imati do B2 bita. Dakle, za veće vrednosti B neke kodne reči mogu imati relativno velike dužine, a obim kodne knjige postaje neprihvatljivo veliki. Da bi se to sprečilo predložena je jedna modifikacija Hafmanovog koda, poznata pod nazivom prekinuti Hafmanov kod. Kod prekinutog Hafmanovog koda se dužina kodne reči ograničava na BL 21 < bita. Prvih 1L nivoa sa najvećim verovatnoćama pojavljivanja se koduje standardnim Hafmanovim kodom, a preostali nivoi se koduju sa prefiks kodom za kojim sledi kodna reč sa fiksnim brojem bita.

Druga modifikacija Hafmanovog koda takođe je učinjena radi smanjenja obima kodne knjige i maksimalnog broja bita u kodnoj reči. Kao što je poznato, celi broj i se može uvek predstaviti na sledeći način:

10,120, 11

1 −≤≤

−≤≤+= Lr

LqrqLi

B (8.4)

Prvih 1L nivoa se koduje standardnim Hafmanovim kodom. Preostali nivoi se koduju prefiks kodom, koji predstavlja celi deo količnika q, za kojim sledi terminacioni kod, koji predstavlja Hafmanov kod ostatka r. Ova varijanta Hafmanovog koda se naziva modifikovani Hafmanov kod.

Eksperimentalno je ustanovljeno da je histogram video signala u dužem vremenskom periodu prilično uniforman, iako histogrami pojedinačnih slika mogu prilično odstupati od unifomnosti. Zbog toga se primenom Hafmanovog koda ne može se postići veliki stepen kompresije kod monohromnih slika sa većim brojem nivoa sivog. Međutim, Hafmanov kod, odnosno, entropijsko kodovanje, ima značajnu primenu u kombinaciji sa algoritmima za prediktivno ili transformaciono kodovanje, kao i u kombinaciji sa drugim tehnikama za kodovanje bez gubitaka koje će biti opisane u nastavku. Osim toga, entropijsko kodovanje se uspešno koristi za kompresiju binarnih slika, kao što su grafika, faksimil, ili slike teksta dokumenata.

8. Kompresija slike 141

8.2.2 KODOVANJE DUŽINA NIZOVA

Ukoliko su intenziteti piksela slike predstavljeni vrlo malim brojem nivoa, može se očekivati da izvestan broj susednih piksela u jednoj liniji ima istu vrednost. Takvu grupu piksela nazvaćemo niz. Kompresija slike se može postići ako se umesto pojedinačnih piksela koduje cela grupa. Za takve slike je razvijena metoda kodovanja dužina nizova (engl. run-length coding - RLC).

Neka skup )}(),...,2(),1({ Mxxx predstavlja piksele koji pripadaju istoj liniji slike. Neka se takva linija sastoji od k segmenata, čije su dužine il a nivoi sivog ig , ki ≤≤1 , što je prikazano na slici 8.2. Sadržaj linije slike se umesto pojedinačnim vrednostima piksela može predstaviti i parovima ),( ii lg , ki ≤≤1 :

),(),...,,(),,()}(),...,2(),1({ 2211 kk lglglgMxxx → (8.5)

gde je očigledno:

Mlk

ii =∑

=1 (8.6)

Mk xgxg == ,11 (8.7)

l1

l2

l3

lk

g 1

g 2

g 3

g k

iM

xi

Slika 8.2 Grafička reprezentacija sadržaja jedne linije slike.

Svaki par ),( ii lg naziva se niz sivog (engl. gray-level run). Ako su dužine nizova sivog velike, može se postići znatan stepen kompresije, [1], [2]. Posebno je interesantan slučaj kada je slika binarna, jer tada postoje samo dve vrste piksela, beli (0) i crni (1), pa je veća verovatnoća pojave dužih nizova, naročito belih. Ako se pretpostavi da linija binarne slike uvek počinje belim nizom, onda se linija može predstaviti relacijom:

klllMxxx ,...,,)}(),...,2(),1({ 21→ (8.8)

odnosno, koduju se samo dužine nizova, a ne i njihovi nivoi za koje se zna da se smenjuju. Kraj svake linije se označava posebnim kodnim simbolom (end of line – EOL). Kraj slike se označava ponavljanjem EOL simbola, najčešće 6 puta.

Neka je maksimalna dozvoljena dužina niza K, i neka je zbog jednostavnosti 12 −= BK . Ako se dužine nizova koduju kodom fiksne dužine, dužina svake kodne reči je B bita. Ako se sukcesivni beli pikseli pojavljuju nezavisno, onda je raspodela verovatnoće dužina nizova predstavljena geometrijskom raspodelom:

=−≤≤−=

KlpKlpplg K

l 10)1()( (8.9)

142 8. Kompresija slike

gde je p verovatnoća pojavljivanja belog piksela u slici. Pošto dužina niza 1−≤ Kl označava sekvencu od l belih piksela iza koje sledi crni piksel, dakle )1( +l simbol, prosečan broj simbola po nizu dat je izrazom:

p

pKppplLK

KK

l

l−

−=+−+= ∑

= 11)1()1(

1

0 (8.10)

Dakle, u proseku je potrebno B bita za kodovanje niza od L binarnih simbola, pa je faktor kompresije:

)1(

1pB

pBLCR

K

−−

== (8.11)

Neka je verovatnoća pojavljivanja belih piksela 9.0=p . Ako se pretpostavi maksimalna dužina niza 15=K , onda je 4=B , 94.7=L , pa je faktor kompresije 985.1=CR , a prosečno je za predstavljanje svakog piksela potrebno 0.504 bita. Pošto je entropija takve slike 469.0=H , maksimalni stepen kompresije je 2.132, pa je realizovani stepen kompresije oko 7.5% manji od maksimalnog. Vrednost maksimalne dužine niza K zavisi od verovatnoće p, i za svaku vrednost p se može naći optimalna dužina K. Efikasnost RLC postupka se može dodatno povećati primenom kodovanja sa promenljivom dužinom reči, tj. Hafmanovog kodovanja, za kodovanje dužina nizova.

RLC kodovanje je standardizovano od strane Međunarodne telekomunikacione unije, ITU-T, i uključeno u Grupu 3 kodnih postupaka za prenos binarnih slika po javnoj telefonskoj mreži, sa osnovnom primenom kod prenosa faksimila. Jedna strana faksimila, formata A4, ima 3.94 linija/mm u normalnoj rezoluciji, i 7.87 linija/mm u visokoj rezoluciji. Svaka linija ima 1728 piksela pri rezoluciji od 7.87 piksela/mm (200 dpi), ali se u nekim primenama broj piksela u liniji može povećati 2 do 5 puta. Pošto se pri skeniranju dokumenata može desiti da se cela linija sastoji od belih piksela, RLC kod takve linije se dopunjava izvesnim brojem nula do minimalne dužine, koja je standardizovana na 96 bita. Ovi dodatni bitovi se ignorišu prilikom dekodovanja RLC koda. Za kodovanje dužina nizova usvojen je modifikovan Hafmanov kod, koji je optimiziran na osnovu verovatnoća pojavljivanja belih i crnih nizova u 8 test dokumenata za prenos pomoću faksimila. Pošto je ustanovljeno da su raspodele dužina belih i crnih nizova veoma različite, za njihovo kodovanje su konstruisani različiti Hafmanovi kodovi. Za obe vrste nizova, Hafmanov kod se koristi za dužine od 0 do 63. Duži nizovi, čija je verovatnoća pojavljivanja manja, koduju se modifikovanim Hafmanovim kodom prema jednačini (8.4) gde je 641 =L . Kodna knjiga ITU-T varijante RLC algoritma je prikazana u Tabeli 8.2.

8.2.3 MODIFIKOVANO READ KODOVANJE

Za razliku od RLC, koji predstavlja jednodimenzionalni kodni postupak, modifikovano READ kodovanje (engl. modified Relative Element Address Designate), [1]-[2], predstavlja dvodimenzionalni kodni postupak za kodovanje binarnih slika. U postupku modifikovanog READ kodovanja piksela iz tekuće linije koriste se i informacije o pikselima iz prethodnih linija. Prva linija slike se koduje konvencionalnim RLC postupkom. Da bi se sprečila propagacija grešaka iz jedne linije u naredne linije, svaka k-ta linija se takođe koduje RLC postupkom. Uobičajene vrednosti su 2=k za slike u normalnoj rezoluciji i 4=k za slike u visokoj rezoluciji.

8. Kompresija slike 143

Tabela 8.2 Kodna knjiga ITU-T modifikovanog Hafmanovog koda za RLC.

Završne kodne reči

Dužina niza Beli niz Crni niz Dužina niza Beli niz Crni niz 0 00110101 0000110111 32 00011011 000001101010 1 000111 010 33 00010010 000001101011 2 0111 11 34 00010011 000011010010 3 1000 10 35 00010100 000011010011 4 1011 011 36 00010101 000011010100 5 1100 0011 37 00010110 000011010101 6 1110 0010 38 00010111 000011010110 7 1111 00011 39 00101000 000011010111 8 10011 000101 40 00101001 000001101100 9 10100 000100 41 00101010 000001101101

10 00111 0000100 42 00101011 000011011010 11 01000 0000101 43 00101100 000011011011 12 001000 0000111 44 00101101 000001010100 13 000011 00000100 45 00000100 000001010101 14 110100 00000111 46 00000101 000001010110 15 110101 000011000 47 00001010 000001010111 16 101010 0000010111 48 00001011 000001100100 17 101011 0000011000 49 01010010 000001100101 18 0100111 0000001000 50 01010011 000001010010 19 0001100 00001100111 51 01010100 000001010011 20 0001000 00001101000 52 01010101 000000100100 21 0010111 00001101100 53 00100100 000000110111 22 0000011 00000110111 54 00100101 000000111000 23 0000100 00000101000 55 01011000 000000100111 24 0101000 00000010111 56 01011001 000000101000 25 0101011 00000011000 57 01011010 000001011000 26 0010011 000011001010 58 01011011 000001011001 27 0100100 000011001011 59 01001010 000000101011 28 0011000 000011001100 60 01001011 000000101100 29 00000010 000011001101 61 00110010 000001011010 30 00000011 000001101000 62 00110011 000001100110 31 00011010 000001101001 63 00110100 000001100111

Pripremne kodne reči

Dužina niza Beli niz Crni niz Dužina niza Beli niz Crni niz 63 11011 0000001111 960 011010100 0000001110011 128 10010 000011001000 1024 011010101 0000001110100 192 010111 000011001001 1088 011010110 0000001110101 256 0110111 000001011011 1152 011010111 0000001110110 320 00110110 000000110011 1216 011011000 0000001110111 384 00110111 000000110100 1280 011011001 0000001010010 448 01100100 000000110101 1344 011011010 0000001010011 512 01100101 0000001101100 1408 011011011 0000001010100 576 01101000 0000001101101 1472 010011000 0000001010101 640 01100111 0000001001010 1536 010011001 0000001011010 704 011001100 0000001001011 1600 010011010 0000001011011 768 011001101 0000001001100 1664 011000 0000001100100 832 011010010 0000001001101 1728 010011011 0000001100101 896 011010011 0000001110010 EOL 000000000001 000000000001

144 8. Kompresija slike

Postupak modifikovanog READ kodovanja kao osnovne informacije koristi tačke prelaza sa crnog na beli niz piksela i obrnuto. U liniji koja se koduje (tekuća linija) koriste se tri prelazna elementa 0a , 1a i 2a . U prethodnoj (referentnoj) liniji koriste se dva prelazna elementa 1b i 2b . Početna pozicija prelaznog elementa 0a je imaginarni prelaz crno-belo levo od prvog piksela tekuće linije. Sledeći par prelaznih piksela desno od 0a u tekućoj liniji označen je na slici 8.3 sa 1a i 2a . Par prelaznih piksela desno od 0a u referentnoj liniji označen je na slici 8.3 sa 1b i 2b . Prelazi označeni sa 0a i 1b su suprotnog tipa. Ukoliko se tokom kodovanja dođe do situacije da se ne može odrediti položaj prelaza 1a , 2a , 1b , 2b za njihov položaj se usvaja imaginarni položaj desno od poslednjeg elementa odgovarajuće linije. Tekuća pozicija koja se koduje je prelaz 1a , a kodovanje se obavlja korišćenjem informacija o položaju prelaza 0a , 1b i 2b . Algoritam modifikovanog READ kodovanja ima tri načina rada, koji su prikazana na slici 8.3.

a0 a1 a2

b1 b2

Referentna linijaLinija koja se koduje

a0 a1 a2

b1 b2

Referentna linijaLinija koja se koduje

a1b1

a0a1 a1a2

Prolazno kodovanje

Vertikalno kodovanje

Horizontalno kodovanje

Slika 8.3 Modifikovano READ kodovanje.

Prolazni način rada. U ovom načinu rada, koji je prikazan na slici 8.3a, prelaz 2b se nalazi levo od prelaza 1a , koji se koduje. To znači da se beli ili crni niz u referentnoj liniji ne preklapa sa odgovarajućim belim ili crnim nizom u tekućoj liniji. Novi položaj referentnog elementa 0a je ispod prelaza 2b , a vrši se i ažururanje položaja prelaza 1b i 2b . Ovaj način rada koristi samo jednu kodnu reč 0001.

Vertikalni način rada. U ovom načinu rada, koji je prikazan na slici 8.3b, prelaz 2b se nalazi desno od prelaza 1a , koji se koduje, ali uz ograničenje da apsolutna vrednost rastojanja od

1a do 1b nije veća od tri piksela. Dakle, rastojanje 11ba može imati sedam različitih vrednosti koje se označavaju sa )0(V , )(iVR , )(iVL , 3,2,1=i . Kodne reči koje se koriste u ovih sedam slučajeva prikazane su u Tabeli 8.2. Novi položaj piksela 0a je pozicija prelaza 1a , a vrši se i ažururanje položaja prelaza 1a , 1b i 2b .

Horizontalni način rada. Ukoliko se detektuje da nisu zadovoljeni uslovi za prolazni ili vertikalni način rada, to znači da je 1a daleko od 1b , pa je apsolutna vrednost njihovog rastojanja

11ba veća od tri piksela. Onda se rastojanja 10aa i 21aa koduju modifikovanim Hafmanovim kodom iz Tabele 8.2. Kodna reč koja se koristi je )()(001 2110 aaMaaM ++ , gde znak + označava spajanje, a )(⋅M označava kod iz Hafmanove kodne knjige. Pošto se u vertikalnom načinu rada koduju oba prelaza 1a i 2a , posle kodovanja nova pozicija piksela 0a je pozicija prelaza 2a . Pre

8. Kompresija slike 145

prelaska na novi korak kodovanja vrši se i ažururanje položaja prelaza 1a , 1b i 2b . Ako se ovaj način rada mora koristiti za prvi element tekuće linije, onda se umesto rastojanja 10aa koduje rastojanje 110 −aa .To znači da ako je prvi piksel crne boje, onda se koduje dužina niza jednaka nuli.

Postupak kodovanja linije se završava kada se detektuje imaginarni prelaz desno od kraja linije, tj. kada je 17290 =a .

Modifikovani READ kod je takođe standardizovan od strane ITU-R u Grupi 3 protokola za prenos faksimila. Kodna knjiga ITU-T modifikovanog READ koda prikazana je u Tabeli 8.3.

Tabela 8.3 Kodna knjiga ITU-T modifikovanog READ koda.

Način rada Elementi koji se koduju Oznaka Kodna reč

Prolazni 1b , 2b . P 0001

Horizontalni 10aa , 21aa H )()(001 2110 aaMaaM ++

011 =ba )0(V 1

111 −=ba )1(RV 011

211 −=ba )2(RV 000011

311 −=ba )3(RV 0000011

111 =ba )1(LV 010

211 =ba )2(LV 000010

Vertikalni

311 =ba )3(LV 0000010

EOL 000000000001 2-D ekstenzije 0000001xxx 1-D ekstenzije 000000001xxx

1-D kodovanje sledeće linije EOL+’1’

2-D kodovanje sledeće linije EOL+’0’

Modifikovani READ algoritam je kao i RLC postupak kodovanja prvenstveno namenjeno za kompresiju binarnih slika. Postoje i brojne modifikacije oba algoritma za primene u kompresiji monohromnih slika sa više nivoa sivog, ali realizovani stepen kompresije je obično mali.

8.2.4 LZW POSTUPAK KOMPRESIJE

Za kompresiju slike se mogu iskoristiti i postupci namenjeni kompresiji binarnih datoteka, koji su široko rasprostranjeni u računarstvu. Jedan od takvih postupaka je poznati LZW algoritam, nazvan po početnim slovima autora teorijske osnove algoritma i autora praktične verzije algoritma (Lempel, Ziv, Welch) [2]-[5].

Slčno prethodno opisanim algoritmima LZW algoritam koduje nizove simbola, ali za razliku od njih generiše kodnu tabelu tokom postupka kodovanja. Kodna tabela ima do 4096 kodnih reči. Prvih 256 kodnih reči (0-255) sadrže brojeve od 0 do 255. Kodna reč na lokaciji 256 sadrži specijalni kod Clear. Kodna reč na lokaciji 257 sadrži kod za označavanje kraja datoteke, End of information (EOI). Kodne reči na preostalim lokacijama (258-4095) sadrže nizove bitova koji se često sreću u slici. Prvih 512 elemenata kodne tabele ima po 9 bita, kodne reči na lokacijama od 512 do 1023 imaju po 10 bita, kodne reči na lokacijama od 1024 do 2047 po 11 bita, dok preostale kodne reči na lokacijama 2048 do 4095 imaju po 12 bita. Dakle, kodna tabela sadrži najviše 45568 bita.

146 8. Kompresija slike

Konstrukcija kodne tabele se vrši tokom kompresije slike. Digitalna slika se tretira kao dugačak jednodimenzionalni niz. Na početku izvršavanja algoritma se vrši inicijalizacija tokom koje se promenljiva koje sadrže prefiks niz P i 16-bitni izlazni bafer BUF napune nizom dužine 0. Zatim se u svakom koraku učitava po jedan bajt slike, smešta u promenljivu C, i u tekućoj promenljivoj S se vrši spajanje prefiks niza i sadržaja promenljive C, ( CPS += ). Ako se sadržaj tekuće promenljive poklapa sa nekom kodnom reči u kodnoj tabeli, prefiks niz se ažurira ( SP = ) i postupak se ponavlja da bi se pronašao najduži mogući niz u kodnoj tabeli koji je isti kao tekući niz. Ako sadržaj tekuće lokacije nije pronađen u kodnoj tabeli, to znači da se samo prefiks sadrži u kodnoj tabeli. Kodna reč prefiksa se šalje u izlazni niz, kodna tabela se dopunjava dodavanjem tekuće promenljive S na kraj kodne tabele, a prefiks se reinicijalizuje na vrednost poslednjeg pročitanog bajta ( CP = ). Kada se dođe do kraja slike, u izlazni niz se ubaci kodna reč za kraj datoteke EOI. Ako se kodna tabela napuni do kraja, a kompresija slike još nije završena, u izlazni niz se ubaci kodna reč Clear, i započinje se formiranje nove kodne tabele.

Kao što se može uočiti, kodna tabela ima strukturu stabla sa više korena, jer više kodnih reči može imati isti jedan prefiks. Ovakva struktura se može iskoristiti za efikasnije pretraživanje kodne tabele. Takođe se primećuje da se sadržaj kodne tabele adaptira na sadržaj slike.

Dekompresija slika komprimovanih LZW algoritmom sledi tačni inverzni postupak. Nije potrebno pamtiti ili prenositi kodnu tabelu, pošto se ona progresivno rekonstruiše tokom dekompresije.

Vreme izvršavanja LZW algoritma za kompresiju i dekompresiju najviše zavisi od načina implementacije kodne tabele i načina njenog pretraživanja. Dekompresija je uvek brža jer nije potrebno pretraživanje tabele.

Faktor kompresije LZW algoritma primenjenog na monohromne slike zavisi od broja nivoa sivog u originalnoj slici i kreće se od 1.5 do 3. Najbolji faktori kompresije se postižu kod slika sa malim brojem nivoa sivog, posebno kod binarnih slika, kod kojih faktor kompresije može dostići 5.

LZW algoritam i njegove brojne modifikacije osnova su mnogih praktičnih realizacija programa za kompresiju i dekompresiju binarnih datoteka, kao što su ZIP, ARJ i drugi. LZW algoritam je takođe inkorporiran i u mnoge formate za zapis slike sa kompresijom, kao što su TIFF, GIF i drugi. Razlozi za ovako široku primenu LZW algoritma i njegovih modifikacija su što je kompresija brza, bez gubitaka, ima zadovoljavajući stepen kompresije, a može se primeniti na slike sa ma kakvim brojem bita po pikselu.

8.3 PREDIKTIVNE TEHNIKE ZA KOMPRESIJU SLIKE

Pošto je korelacija susednih piksela u slici velika, vrednost nekog piksela u slici se može uspešno proceniti na osnovu vrednosti susednih piksela. Ako se procenjena vrednost piksela oduzme od stvarne vrednosti, razlika će biti mala. Histogram razlike između originalne i procenjene slike imaće vrlo mali broj popunjenih nivoa i biće koncentrisan u oblasti oko nule. Ako se umesto kodovanja originalne slike vrši kodovanje razlika između stvarnih vrednosti i procenjenih vrednosti piksela, za kodovanje se mogu koristiti kratke kodne reči, a zbog vrlo neravnomernog histograma se može primeniti i entropijsko kodovanje.

Prediktivne tehnike se najčešće primenjuju za kompresiju slike sa gubicima, ali se isto tako mogu primeniti i za kompresiju slike bez gubitaka.

8. Kompresija slike 147

8.3.1 PREDIKTIVNO KODOVANJE BEZ GUBITAKA

Princip realizacije prediktivnog kodovanja slike bez gubitaka prikazan je na slici 8.4. U bloku za predikciju se vrši procena vrednosti tekućeg piksela na osnovu vrednosti susednih piksela, koji se nalaze unutar prozora W:

WjijnimfPnmf ∈−−= ,)},,({),(ˆ (8.12)

a zatim se izračunava greška predikcije:

),(ˆ),(),( nmfnmfnme −= (8.13)

Prediktor

Entropijskikoder

f(m,n)

f(m,n)

e(m,n)+

-^ Komprimovani

podaci+

e(m,n)

Prediktorf(m,n)^

+f (m,n)

Dekoder

Entropijskidekoder

Koder

Slika 8.4 Blok šema prediktivnog kodovanja slike bez gubitaka.

U praksi se za predikciju najčešće koriste vrednosti piksela iz iste ili prethodne linije, što je prikazano na slici 8.5.

C B

A X m

m-1

n-1 n

X = f(m,n)

Slika 8.5 Raspored piksela u dvodimenzionalnom prozoru W.

Koristeći oznake sa slike 8.5 definisane su sledeće kauzalne predikcione formule:

Anmf =),(ˆ (8.14)

Bnmf =),(ˆ (8.15)

Cnmf =),(ˆ (8.16)

CBAnmf −+=),(ˆ (8.17)

+=2

Int),(ˆ CBAnmf (8.18)

+=2

Int),(ˆ CABnmf (8.19)

+

=2

Int),(ˆ BAnmf (8.20)

148 8. Kompresija slike

odnosno, prediktor predstavlja 1D ili 2D FIR filtar sa malim brojem koeficijenata. Svođenje na celi broj odsecanjem necelobrojnog dela rezultata u formulama (8.18), (8.19) i (8.20) je neophodno pošto procenjena vrednost piksela mora biti celobrojna.

Oduzimanjem procenjene vrednosti svakog piksela od odgovarajuće stvarne vrednosti dobija se slika greške predikcije. S obzirom da slika greške predikcije ima vrlo mali broj nivoa, i da njen histogram ima vrlo izražen maksimum oko nulte vrednosti, ona se može uspešno kodovati entropijskim koderom, čime se ostvaruje kompresija podataka. Na prijemnoj strani, koja je takođe prikazana na slici 8.4, vrše se inverzne operacije. Prvo se vrši entropijsko dekodovanje, čime se dobija rekonstruisana slika greške predikcije. Iz greške predikcije i već rekonstruisanih podataka o pikselima u istoj i prethodnoj liniji, primenom istovetnog prediktora se rekonstruiše cela slika.

Kao što se vidi sa slike 8.4 prediktorski filtri na predajnoj i prijemnoj strani su identični. Da bi se mogla izvršiti rekonstrukcija slike na prijemnoj strani prediktorski filtar mora biti kauzalan, jer se tome obezbeđuje rekonstrukcija slike na osnovu već prenetih podataka. Zbog toga se mora voditi i o početnim uslovima kod predikcije. U slučaju kada se koristi dvodimenzionalni prediktor, prva linija slike se koduje jednodimenzionalnim prediktorom. Iz istog razloga se prvi piksel u svakoj liniji procenjuje (i rekonstruiše) samo na osnovu vrednosti piksela iznad njega, a prvi piksel u prvoj liniji se prenosi bez kompresije.

Tipične vrednosti faktora kompresije koje se mogu ostvariti ovim metodom su oko 2. S obzirom na jednostavnost realizacije prediktivnog metoda kodovanja bez gubitaka, ovaj postupak i pomenutih sedam formula za predikciju su postali deo JPEG standarda za kompresiju mirnih slika bez gubitaka [6], [7].

8.3.2 PREDIKTIVNO KODOVANJE SA GUBICIMA

Ako se u blok šemi prediktivnog kodera slike bez gubitaka sa slike 8.4 blok za entropijsko kodovanje zameni kvantizerom, dobija se osnovna šema prediktivnog kodera slike sa gubicima. Uloga kvantizera je da izvrši ponovno kvantovanje greške predikcije. Pošto su statističke osobine greške predikcije različite od statističkih osobina originalne slike, broj i raspodela kvantizacionih nivoa kod ovog kvantizera biće različiti od istih parametara kvantizera kojim je dobijena digitalna slika. Osim toga, izborom broja kvantizacionih nivoa može se uticati na faktor kompresije slike.

Ovakav način kompresije je pogodniji za slike sa velikim brojem nivoa sivog, ali neizbežno unosi izvesne greške u slici dobijenoj posle rekonstrukcije. Osim toga, ovaj osnovni prediktivni metod ima još jednu lošu stranu, a to je akumulacija grešaka nastalih prilikom kvantovanja [1]. Da bi se sprečila akumulacija grešaka kvantovanja na prijemnoj strani, kvantizer se mora obuhvatiti petljom povratne sprege, pa konačna blok šema prediktivnog kodovanja slike sa gubicima ima izgled kao na slici 8.6. Prediktivni metod kodovanja slike sa gubicima prikazan na slici 8.6 je rekurzivan, a naziva se diferencijalna impulsna kodna modulacija (engl. Differential Pulse Code Modulation – DPCM) [8]-[11].

Jednačine kojima je opisan rad prediktivnog kodera slike sa gubicima su:

WjijnimfPnmf ∈−−′= ,)},,({),(ˆ (8.21)

),(ˆ),(),( nmfnmfnme −= (8.22)

)],([),( nmeQnme =′ (8.23)

8. Kompresija slike 149

),(ˆ),(),( nmfnmenmf +′=′ (8.24)

gde je W prozor koji obuhvata piksele iz iste i prethodne linije slike, koji se koriste za predikciju, a koji je prikazan na slici 8.7.

Prediktor

Kvantizerf(m,n)

f(m,n)

e(m,n)

+ -^

Komprimovanipodaci

e'(m,n)

f '(m,n)

+

++

-e'(m,n)

Prediktorf(m,n)^

+f '(m,n)

Koder Dekoder

Slika 8.6 Blok šema kodera i dekodera za postupak diferencijalne impulsne kodne modulacije (DPCM) slike.

U jednačinama (8.21)-(8.24) i na slici 8.6 oznakom ^ su označene veličine na izlazima prediktora, koje predstavljaju procenu odgovarajućih stvarnih veličina. Takođe su simbolom ′ označene veličine koje se šalju na prijemnu stranu ili se na njoj rekonstruišu. Funkcija }{⋅P predstavlja funkciju prediktora, dok funkcija ][⋅Q predstavlja funkciju kvantizera.

C B

A X m

m-1

n-1 n

X = f(m,n)D

n+1 Slika 8.7 Raspored piksela u prozoru W za dvodimenzionalnu DPCM slike.

U literaturi su predložene sledeće jednostavne prediktorske formule:

Anmf λ=),(ˆ (8.25)

2

),(ˆ BAnmf +λ= (8.26)

2

),(ˆ DAnmf +λ= (8.27)

+

+λ=42

),(ˆ DBAnmf (8.28)

)(),(ˆ CBAnmf −+λ= (8.29)

+λ=2

),(ˆ CDAnmf (8.30)

−+λ= CBAnmf

21

43

43),(ˆ (8.31)

150 8. Kompresija slike

gde je λ koeficijent curenja, 10 ≤λ< , kojim se reguliše uticaj grešaka pri prenosu. Kao što se vidi, ove prediktorske funkcije predstavljaju kratke FIR filtre sa koeficijentima koji su stepeni broja 2.

Na slici 8.8 je prikazan primer kompresije slike diferencijalnom impulsnom kodnom modulacijom sa dvobitnim kvantizerom. Originalna slika Paprike (256×256) je prikazana na slici 8.8a, negativ razlike originalne slike i slike dobijene prediktorom (8.26) za 1=λ prikazan je na slici 8.8b (crno označava maksimalnu, a belo minimalnu razliku), histogram slike razlike na slici 8.8c, dok je na slici 8.8d prikazana rekonstruisana slika.

(a) (b)

-50 0 500.00

0.02

0.04

0.06

0.08

(c) (d)

Slika 8.8 Primeri kompresije slike primenom DPCM sa dvobitnim kvantizerom: (a) Originalna slika, (b) Negativ razlike između originalne i procenjene slike, (c) Histogram slike razlike, (d) Rekonstruisana slika.

8.3.2.1 Izbor optimalnog prediktora

Prediktori predstavljeni izrazima (8.25)-(8.31) su konstruisani sa osnovnim ciljem da budu jednostavni za softversku ili hardversku realizaciju, ali nisu optimalni. Da bi se osobine prediktora maksimalno prilagodile kompresiji slike pomoću DPCM, moraju se poznavati statističke osobine slike. Pošto su obimna ispitivanja raznih predikcionih funkcija pokazala da se za uobičajene slike ništa ne dobija korišćenjem prediktora sa više od četiri piksela prikazanih na slici 8.7, posmatraćemo opštu jednačinu prediktora definisanog u prozoru W koja glasi:

DCBAnmf δ+γ+β+α=),(ˆ (8.32)

Minimizacijom srednje kvadratne greške predikcije dobijaju se optimalne vrednosti koeficijenata prediktora δγβα i , , , koje predstavljaju rešenja sistema linearnih jednačina [11]:

8. Kompresija slike 151

)1,1()0,0()2,0()1,0()2,1()1,1()2,0()0,0()1,0()0,1()1,0()2,1()0,1()1,1()0,0()0,1()1,0()1,0()0,0()1,1(

−=δ+γ+β+−α=δ+γ+β+α=−δ+γ+−β+α=δ+γ+β+−α

rrrrrrrrrrrrrrrrrrrr

(8.33)

gde su ),( lkr kovarijansne funkcije slike ),( nmf . Minimalna srednja kvadratna greška predikcije unapred (bez kvantizacije) )},({})],(ˆ),({[ 222 nmEnmfnmfE ε=−=ψ data je izrazom:

)1,1()1,1()0,1()1,0()0,0(2 −δ−γ−β−α−=ψ rrrrr (8.34)

Kovarijansne funkcije slika scena iz prirode najčešće su izotropne (rotaciono simetrične) i mogu se predstaviti neseparabilnim izrazom oblika [11]:

1||,),(222 <ρρσ= + lklkr (8.35)

za koji se dobija:

γρ−−γαρ+γ+ρ+α+σ=ψ

ρ−ρ+

ρ−ρ−ρ=γ

ρ−ρ+

ρ−ρ=β=α

222222

22

222

22

2

2)1(4)1(21

,21

)1(2,21

)1(

(8.36)

S druge strane, kovarijansne funkcije slika koje imaju puno ivica (crteži i slike veštačkih objekata) su najčešće separabilne i mogu se predstaviti izrazom oblika [11]:

1||,1||,),( 21||

2||

12 <ρ<ρρρσ= lklkr (8.37)

za koji se dobija:

)1)(1(,0,,, 22

21

222112 ρ−ρ−σ=ψ=δρρ−=γρ=βρ=α (8.38)

U izvođenju relacija za optimalni prediktor pretpostavlja se da je srednja vrednost slike jednaka nuli, što naravno nije tačno. Zbog toga je procena vrednosti piksela slike pristrasna, pri čemu je vrednost pristrasnosti µδ−γ−β−α− f)1( , gde je µf srednja vrednost slike. Da bi procena slike bila nepristrasna, potrebno je da zbir koeficijenata predikcije bude jednak 1. Koeficijenti predikcije u formulama (8.25)-(8.31) zadovoljavaju ovaj uslov ako je 1=λ . Međutim, ako je

1=δ+γ+β+α , rekonstrukcioni filtar postaje nestabilan, pa se problem nepristrasnosti procene mora rešavati drugačije. Prvo, mogu se izabrati takvi koeficijenti prediktora da njihov zbir bude neznatno manji od 1. Drugo, kvantizer se može tako projektovati da rekonstrukcioni nivo za ulaze bliske nuli bude tačno nula. I na kraju, može se odrediti srednja vrednost izlaza kvantizera i na osnovu nje izvršiti korekcija pristrasnosti prediktora.

8.3.2.2 Izbor optimalnog kvantizera

Na performanse kompresora slike pomoću DPCM pored prediktora utiče i kvantizer. Iako se optimalni rezultat kompresije dobija združenom optimizacijom prediktora i kvantizera, u praksi se, s obzirom na izuzetno veliku složenost takve optimizacije, prediktor i kvantizer nezavisno projektuju. U takvom slučaju, kvantizer se projektuje prema statističkim osobinama greške predikcije, koje su poznate ako je prediktor poznat. Na slici 8.8c je prikazan histogram greške

152 8. Kompresija slike

prediktora (8.26). Vidi se da je histogram greške približno simetričan oko vrednosti koja je bliska nuli. Najveće greške predikcije se pojavljuju u okolini ivica u slici, ali je broj takvih piksela mali. Najčešće se greška predikcije modeluje nekorelisanom slučajnom sekvencom, nulte srednje vrednosti, koja ima Laplasovu raspodelu verovatnoće [1]:

ψε

ψ=ε

||2

21)( ep (8.39)

gde, kao i ranije, 2ψ predstavlja varijansu greške predikcije. S obzirom na neuniformnu raspodelu verovatnoće greške predikcije, najbolje rezultate

kvantizacije daje optimalni (Lloyd-Max) kvantizer opisan relacijama (4.22) i (4.23) i Tabelom 4.1. U praktičnim realizacijama DPCM kompresora mnogo više se, zbog jednostavnosti, koristi optimalni uniformni kvantizer, čije su karakteristične veličine date u Tabeli 4.2. Tada se, radi daljeg povećanja stepena kompresije, vrši dodatno entropijsko kodovanje izlaznog signala iz kvantizera.

U izvođenju relacija za optimalni raspored nivoa odlučivanja i rekonstrukcionih nivoa kvantizera koristi se minimizacija srednje kvadratne greške, koja nije uvek u skladu sa subjektivnim merilima kvaliteta. Na subjektivni osećaj kvaliteta kvantizera najviše utiču tri vrste degradacija: granularnost, prekoračenje opsega i podrhtavanje ivica [1], [11]. Granularnost se pojavljuje zbog grube kvantizacije u delovima slike sa ujednačenim intenzitetom. Prekoračenje opsega se pojavljuje kod ivica velikog kontrasta, kada greška predikcije može da premaši maksimalnu dozvoljenu vrednost kvantizera. Kao rezultat se pojavljuje zamrljavanje ivica. Podrhtavanje ivica se pojavljuje kod manje oštrih ivica, kod kojih se pikselima iz susednih linija dodeljuju različiti rekonstrukcioni nivoi. To se dešava zbog toga što u delovima slike oko ivica optimalni kvantizer, baziran na Laplasovoj raspodeli, ima suviše zbijene kvantizacione nivoe kod manjih nivoa signala, a suviše retke kvantizacione nivoe kod većih nivoa signala.

Sva tri problema se mogu delimično rešiti povećanjem broja kvantizacionih nivoa i korišćenjem entropijskog kodera posle kvantizera. Time se povećavaju rezolucija i dinamički opseg kvantizera, ali se i smanjuje stepen kompresije.

8.3.2.3 Analiza performansi DPCM

Performanse DPCM kompresora mogu se ocenjivati po različitim kriterijumima. Najvažniji kriterijumi su stepen kompresije (broj bita po pikselu, bitski protok), objektivna mera degradacije (normalizovana srednja kvadratna greška ili odnos signal/šum – SNR), subjektivna mera degradacije, jednostavnost realizacije kompresora i imunost na šum u kanalu.

Uticaj prediktora na karakteristike kompresora je značajan. U principu, dvodimenzionalni prediktori (8.26) – (8.31), primenjeni za kompresiju realnih slika, daju do 3 dB bolji odnos signal/šum od jednodimenzionalnog prediktora (8.25). Prema tome, najvažniji razlog za korišćenje složenijih dvodimenzionalnih prediktora nije samo bolji odnos signal/šum, već znatno bolji subjektivni kvalitet rekonstruisane slike, naročito u delovima slike oko ivica. Od dvodimenzionalnih prediktora posebno se ističu prediktori opisani jednačinama (8.28) i (8.30).

Uticaj broja bita kvantizera (stepena kompresije) na kvalitet rekonstruisane slike prikazan je na slikama 8.9 i 8.10. U postupku kompresije su korišćeni prediktor (8.31) sa 1=λ i kvantizeri sa 3, 2 i 1 b/p . Na slici 8.9 su prikazane rekonstruisane slike u sva tri slučaja, a na slici 8.10 razlike originalne i rekonstruisanih slika pomnožene sa 10 ili sa 5 radi lakšeg uočavanja grešaka.

8. Kompresija slike 153

Kvalitet rekonstruisane slike meren je normalizovanim odnosom signal/šum u dB, koji je definisan izrazom (3.14). Za kvantizaciju sa 3 b/p (stepen kompresije 2.67) ostvaren je odnos signal/šum SNR = 34.72 dB, za 2 b/p (stepen kompresije 4), SNR = 29.30 dB, a za 1 b/p (stepen kompresije 8), SNR = 26.59 dB.

(a) (b) (c)

Slika 8.9 Uticaj broja bita kvantizera kod DPCM: (a) 3 b/p, (b) 2 b/p, (c) 1 b/p.

(a) (b) (c)

Slika 8.10 Negativ razlike originalne i rekonstruisane slike: (a) Razlika × 10, 3 b/p, (b) Razlika × 10, 2 b/p, (c) Razlika × 5, 1 b/p.

Na performanse DPCM kompresije u izvesnoj meri utiče i parametar λ. Sa gledišta jednostavnosti realizacije i eliminacije uticaja nenulte srednje vrednosti slike, pogodno bi bilo da bude 1=λ . Međutim, radi očuvanja stabilnosti sistema za rekonstrukciju poželjno je da bude 1<λ . Smanjenje vrednosti parametra λ povoljno utiče i na smanjenje uticaja grešaka u prenosu na rekonstrukciju slike, ali sa druge strane povećava degradacije slike usled efekta granularnosti. Najčešće se vrednosti parametra λ biraju iz intervala 195.0 <λ< .

Na osnovu ovih primera, kao i brojnih rezultata publikovanih u literaturi, može se zaključiti da je kompresija slike primenom DPCM pogodna samo za male stepene kompresije (do 4 puta).

8.3.2.4 Adaptivne tehnike DPCM kompresije

Mali stepen kompresije slike pomoću DPCM, odnosno velike greške prilikom rekonstruk-cije, uglavnom potiču od suboptimalnih karakteristika prediktora i kvantizera. S obzirom na nestacionarni karakter slike, nije ni moguće pronaći optimalno rešenje za projektovanje prediktora i

154 8. Kompresija slike

kvantizera. Bolji rezultati se mogu dobiti samo adaptivnim tehnikama kojima se prilagođavaju parametri prediktora ili kvantizera lokalnim statističkim karakteristikama slike koja se komprimuje.

U procesu adaptacije se biraju one vrednosti parametara prediktora ili kvantizera koje najbolje odgovaraju statističkim osobinama dela slike koji se komprimuje. Adaptacija parametara se izvodi na osnovu statističkih veličina određenih iz vrednosti prethodno kodovanih piksela. Ako nema grešaka u prenosu, na prijemnoj strani se može izvršiti isti redosled adaptacije parametara, tako da nije potrebno prenositi dodatne podatke.

Adaptivne tehnike se najčešće primenjuju da poprave subjektivni kvalitet kodovane slike, naročito u okolini ivica.

Adaptivna predikcija se realizuje tako da se u procesu DPCM kompresije koristi nekoliko prediktora, koji su prilagođeni različitim pravcima maksimalne korelacije piksela originalne slike. Pravac maksimalne korelacije se izračunava iz vrednosti prethodno kodovanih piksela, pa se na osnovu toga bira odgovarajući prediktor [12].

Adaptivna kvantizacija se može realizovati na nekoliko načina. Jedan od boljih metoda je da se izvrši klasifikacija segmenata slike prema kriterijumu aktivnosti (količine detalja), posle čega se za svaku klasu koristi odgovarajući kvantizer. Blok šema ovog metoda adaptivne kvantizacije je prikazana na slici 8.11. Kao mera aktivnosti se najčešće koristi varijansa piksela u okolini piksela koji se koduje. Pri izboru kvantizera se vodi računa da uniformne regione slike treba finije kvan-tovati nego ivice i oblasti sa detaljima. U praksi se, zbog jednostavnosti realizacije, koriste najviše četiri kvantizera. Takođe se, iz istog razloga, slika deli na blokove od 16×16 piksela, tako da se za svaki blok koristi isti kvantizer. Time se unose dodatna dva bita za svaki blok od 256 piksela.

Prediktor

Kvantizer1

f(m,n)

f(m,n)

e(m,n)

+ -

^

Komprimovanipodaci

e'(m,n)

f '(m,n)

+

+

Merenjeaktivnosti

Kvantizer2

Kvantizer3

Kvantizer4

Kodaktivnosti

Slika 8.11 Adaptivna kvantizacija klasifikacijom segmenata slike.

Drugi metod adaptivne kvantizacije zasnovan je na činjenici da varijansa greške predikcije zavisi od količine detalja u slici. Adaptivno podešavanje nivoa kvantizera se može izvršiti u skladu sa promenama varijanse. To se najlakše može realizovati normalizacijom greške predikcije deljenjem sa njenom standardnom devijacijom i određivanjem kvantizacionih nivoa prema ulaznom signalu jedinične varijanse. Blok šema ovog metoda je prikazana na slici 8.12.

Za dobru adaptaciju kvantizera u metodi sa slike 8.12 potrebno je stalno izračunavati varijansu greške predikcije. Neka ),(2 nmeσ′ označava grešku predikcije posle kodovanja piksela

8. Kompresija slike 155

),( nmf . Pošto je greška ),( nme′ raspoloživa i na prijemnoj strani, prilikom rekonstrukcije je lako izračunati ),(2 nmeσ′ . Jednostavnu procenu varijanse greške prilikom kodovanja sledećeg piksela

)1,( +nmf daje estimator varijanse sa eksponencijalnim usrednjavanjem:

,...1,0,,)]0,0([)0,0(),,()],()[1()1,( 22222 =′=σ′σ′γ+′γ−=+σ′ nmenmnmenm eee (8.40)

gde je 10 ≤γ≤ konstanta koja se eksperimentalno određuje tako da se minimizira srednja kvadratna greška. U praksi se umesto (8.40) koristi još jednostavnija procena:

∑=

−′γ−=σ′N

ke jnmenm

1

2 |),(|)1(),( (8.41)

Kvantizere(m,n) e(m,n)^

Komprimovanipodaci

e'(m,n)

σe Procenapojačanja

÷ e'(m,n)^

Slika 8.12 Adaptivna kvantizacija normalizacijom greške predikcije.

Obe procene varijanse postaju loše pri stepenima kompresije većim od 4. U literaturi su opisani i pokušaji drugačije adaptacije kvantizera, ali bez značajno boljih rezultata. Razlog za to je što pri kodovanju sa malim brojem bita po pikselu raste korelacija sukcesivnih ulaza u kvantizer.

8.3.2.5 Uticaj grešaka u prenosu na kvalitet rekonstrukcije

Osim stepena kompresije, na kvalitet rekonstruisane slike znatno utiče i pojava grešaka u kanalu. Ove greške izazivaju pojavu impulsnog šuma u rekonstruisanoj slici. Osim toga, zbog rekurzivnog karaktera rekonstrukcionog filtra, dolazi i do proširenja delovanja šuma na piksele koji se kasnije rekonstruišu, a sami nisu pogođeni šumom [14].

(a) (b)

Slika 8.13 Uticaj grešaka u prenosu (pe = 10-2) na rekonstrukciju slike: (a) Rekonstruisana slika, 2 b/p, (b) Negativ razlike × 2 između originalne i rekonstruisane slike.

Kao primer uticaja šuma u kanalu na rekonstrukciju slike, posmatrajmo rekonstrukciju komprimovane slike Paprike, dobijene primenom prediktora (8.31) i kvantizera sa 2 bita po pikselu, ako se pri prenosu pojavljuje impulsni šum sa verovatnoćom 210− . Da bi se bolje uočio uticaj šuma, pretpostavljeno je da šum uvek deluje na bit najveće težine, što nije realna situacija u praksi.

156 8. Kompresija slike

Rekonstruisana slika je prikazana na slici 8.13a, a na slici 8.13b je prikazan negativ razlike originalne i rekonstruisane slike pojačane 2 puta. Ostvareni odnos signal/šum je SNR = 24.27 dB, odnosno lošiji je za 5 dB u odnosu na slučaj kada se ne pojavljuje šum u kanalu.

Mali stepen kompresije, nedovoljno dobar odnos signal/šum, kao i znatna osetljivost procesa rekonstrukcije na šum u kanalu, osnovni su razlozi što se postupak DPCM kompresije danas relativno retko koristi. Sa napretkom tehnologije i povećanjem računske moći savremenih digitalnih komponenata, osnovna prednost DPCM postupka, jednostavnost realizacije, znatno je izgubila na značaju. U savremenim sistemima za kompresiju slike, mnogo češće se koriste postupci zasnovani na transformacionom kodovanju ili postupci koji pripadaju novoj generaciji kodnih tehnika koje u sebe uključuju i analizu slike [15]-[18].

8.4 TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

Za smanjenje korelacije između piksela slike mogu se iskoristiti i razne transformacije slike. Posle izvršene transformacije energija slike je sadržana u malom broju transformacionih koefici-jenata, koje treba kvantovati i kodovati. Primenom transformacionh tehnika se mogu ostvariti znatno bolji rezultati nego prediktivnim tehnikama, ali po cenu veće računske složenosti algoritama.

Iz literature je poznato da je optimalna transformacija u pogledu kompresije energije KL transformacija. Transformaciona matrica KL transformacije zavisi od sadržaja slike, pa se KL transformacija ne može izračunati brzim algoritmima. Pošto je zbog velikog broja računskih operacija kod transformacije slike mogućnost izračunavanja brzim algoritmom neophodan uslov za primenu bilo kakve transformacije, u praksi se KL transformacija mora zameniti ili brzim unitarnim transformacijama (kosinusna, sinusna, Furijeova, Hartlejeva, Adamarova, slant, itd.) ili brzim neunitarnim transformacijama za dekorelaciju piksela slike. Iako unitarne transformacije nisu savršeni dekorelatori, njihovom primenom se dobijaju bolji rezultati u kompresiji slike.

Opsežnim istraživanjima u poslednjih dvadesetak godina ustanovljeno je da od pomenutih unitarnih transformacija najbolje rezultate daje diskretna kosinusna transformacija (DCT) [19]-[21]. Za slike prirodnog sadržaja, stepen kompresije energije koji se ostvaruje primenom DCT je vrlo blizak optimumu dobijenom primenom KL transformacije. DCT je realna transformacija, tako da nije potreban rad sa kompleksnim brojevima. DCT je takođe separabilna transformacija, što dalje smanjuje složenost izračunavanja kod transformacije slike. Za izračunavanje direktne i inverzne 1D DCT su razvijeni brojni brzi algoritmi, kojima se transformacija vektora od N elemenata može izračunati sa brojem operacija množenja i sabiranja koji je proporcionalan sa NN 2log . Stoga će u daljem izlaganju biti opisana realizacija postupka kompresije slike primenom DCT. Ukoliko je potrebno, opisani postupak se uz vrlo male izmene može prilagoditi i primeni bilo koje druge unitarne transformacije.

Kompresija slike pomoću DCT se može realizovati u nekoliko koraka koji nisu sasvim nezavisni, ali se najčešće zasebno optimiziraju [19]-[21]:

1. Podela slike na blokove dimenzija pp × . 2. DCT transformacija svih blokova. 3. Alokacija bita (određivanje broja bita za kvantovanje DCT koeficijenata). 4. Kvantovanje DCT koeficijenata. 5. Kodovanje izlaza kvantizera.

8. Kompresija slike 157

Blok šema kompresije slike primenom DCT prikazana je na slici 8.14.

Podela slikena blokove

p×pDCT Alokacija bita Kvantovanje Kodovanje

f(m,n) F(k,l) F'(k,l) H(j)

Slika 8.14 Blok šema kompresije slike pomoću diskretne kosinusne transformacije.

8.4.1 IZBOR DIMENZIJE BLOKOVA SLIKE

Podela slike na blokove je uslovljena velikom računskom složenošću postupka izračunavanja DCT, čak i kada se koristi brzi algoritam. Podelom slike dimenzija NM × na blokove dimenzija pp × smanjuje se potrebna brza memorija za implementaciju transformacije za

2pMNI = puta, gde je I broj blokova u slici. Broj računskih operacija (množenja ili sabiranja) smanjuje se pMN 22 log2log puta. Na primer, ako se slika dimenzija 512512 × piksela podeli na blokove od 1616× piksela, potrebna memorija je manja za 1024 puta, a broj operacija je manji za 2.25 puta. Podelom na blokove se takođe značajno smanjuje složenost hardvera za izračunavanje transformacije, a omogućava se i paralelno izračunavanje transformacija više blokova.

Podela slike na blokove ima i negativne posledice. Pošto se blokovi zasebno transformišu, kvantuju i koduju, nije moguće redukovati korelaciju piksela koji pripadaju različitim blokovima. Zbog toga je stepen kompresije manji nego kada se vrši transformacija cele slike. Takođe, podela slike na blokove može izazvati i pojavu blokovskog efekta, koji se manifestuje pojavom vidljivih granica blokova u rekonstruisanoj slici. Blokovski efekt je naročito izražen pri velikim stepenima kompresije i u slučajevima kada se pojavljuju greške u prenosnom kanalu.

Tipične dimenzije blokova koje se koriste u praksi su 88× , 1616× i 3232 × piksela.

8.4.2 DCT TRANSFORMACIJA BLOKOVA

Posle podele slike na blokove vrši se diskretna kosinusna transformacija svakog bloka. U svim algoritmima za izračunavanje 2D DCT, koji se primenjuju u transformacionoj kompresiji slike, koristi se ista definiciona formula data izrazom (5.77):

1,0,2

)12(cos2

)12(cos],[][][],[1

0

1

0−≤≤

+π+παα= ∑ ∑

=

=plk

pnl

pmknmf

plklkF

p

m

p

n (8.42)

gde je p = 8, 16 ili 32, a gde su koeficijenti ][ jα definisani kao:

−≤≤=

=α.111

,0,21][pj

jj (8.43)

Zbog povećanja brzine izračunavanja, 2D DCT se nikada ne izračunava primenom osnovne formule već se koriste brzi algoritmi. Pošto se radi o separabilnoj 2D transformaciji, 2D DCT se skoro uvek izračunava sukcesivnim 1D transformacijama vrsta i kolona slike. Zbog male veličine blokova broj operacija se može čak znatno smanjiti ispod uobičajenih pp 2log operacija za DCT u p tačaka. Tako su, na primer, razvijeni algoritmi pogodni za hardversku realizaciju kojima je za izračunavanje DCT u 8 tačaka potrebno svega 7 množenja i 10 sabiranja, za DCT u 16 tačaka, 15 množenja i 22 sabiranja, dok je za DCT u 32 tačke, potrebno 31 množenje i 46 sabiranja [22]. U

158 8. Kompresija slike

praksi se za izračunavanje DCT u 8 tačaka često koristi i algoritam sa minimalnim brojem množenja (svega 5), ali koji ima i povećan broj sabiranja (29) i daje kao rezultat DCT koeficijente skalirane različitim faktorima [23]. U poslednje vreme pojavili su se i algoritmi za aproksimativno izračunavanje DCT, koji uopšte ne sadrže operaciju množenja, a pogodni su i za paralelnu aritmetiku, tj. obradu više podataka istovremeno u jednoj aritmetičkoj jedinici [24], [25].

8.4.3 ALOKACIJA BITA ZA KVANTOVANJE DCT KOEFICIJENATA

Kao što je već rečeno, zbog osobine kompresije energije većina DCT koeficijenata ima beznačajne vrednosti i opravdano se može zanemariti. Time se ostvaruje značajan iznos kompresije jer te koeficijente nije potrebno ni pamtiti ni prenositi. Međutim, ni preostali koeficijenti nemaju podjednak značaj. Neki od njih, kao na primer koeficijent )0,0(F , mogu biti i za više redova veličine veći od ostalih. Radi daljeg povećanja stepena kompresije, pogodno je za predstavljanje preostalih koeficijenata koristiti nejednak broj bita, tako što će se za kvantovanje koeficijenata čija je vrednost veća koristiti veći broj bita.

Određivanje broja bita kojim će se predstaviti DCT koeficijenti ),( lkF najčešće se vrši na osnovu njihove očekivane varijanse. Tražene varijanse se određuju na sledeći način. Prvo se analizira prototipska slika, čija je varijansa normalizovana na jedinicu, a koja je tipičan predstavnik klase slika koja treba da se komprimuje. Takva prototipska slika se transformiše pomoću DCT, pa se onda iz ansambla DCT koeficijenata ),(ˆ lkFi , 1,...,1,0 −= Ii procenjuju varijanse transformacionih koeficijenata ),(ˆ 2 lkσ . Varijanse DCT koeficijenata slike koja se komprimuje, a čija je varijansa 2σ , izračunavaju se kao 222 ),(ˆ),( σσ=σ lklk . Dobijene varijanse se mogu interpretirati i kao gustina spektra snage blokova slike u transformacionom domenu.

Kada se odrede odgovarajuće varijanse svih 2p DCT koeficijenata, alokacija bita se vrši postupkom blok kvantovanja, opisanom u odeljku 4.5.3. Alternativno se mogu koristiti i drugi složeniji postupci alokacije [1]. Primeri tipične alokacije bita za kompresiju od 1 b/p za blokove od

88× , 1616× i 3232 × piksela su prikazani na slikama 8.15, 8.16 i 8.17.

7 5 4 3 2 1 1 0 5 4 3 2 1 1 0 0 4 3 2 1 1 0 0 0 3 2 1 1 0 0 0 0 2 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slika 8.15 Alokacija bita u bloku 8×8 za kompresiju 1 b/p.

7 6 5 4 3 3 2 2 2 1 1 1 1 1 0 0 6 5 4 4 3 3 2 2 1 1 1 1 1 0 0 0 5 4 4 3 3 2 2 2 1 1 1 1 1 0 0 0 4 4 3 3 3 2 2 2 1 1 1 1 1 0 0 0 3 3 3 3 2 2 2 1 1 1 1 1 0 0 0 0 3 3 2 2 2 2 2 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 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 0

Slika 8.16 Alokacija bita u bloku 16×16 za kompresiju 1 b/p.

8. Kompresija slike 159

7 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 6 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 6 6 6 5 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 6 6 5 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 6 5 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 5 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 5 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 5 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 4 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 4 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 4 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 4 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 1 1 1 1 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 2 1 1 1 1 1 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 1 1 1 1 1 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 1 1 1 1 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 1 1 1 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 1 1 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 1 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 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 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 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 0 0 0

Slika 8.17 Alokacija bita u bloku 32×32 za kompresiju 1 b/p.

Posmatranjem matrica za alokaciju bita u blokovima koje su prikazane na slikama 8.15 - 8.17 može se uočiti da je potrebno prenositi samo one DCT koeficijente koji se nalaze u gornjem levom uglu matrice transformacionih koeficijenata. Zonalna maska se definiše kao matrica:

=drugde,0,,1

),( zIlklkZ (8.44)

gde je zI skup parova indeksa DCT koeficijenata sa najvećim varijansama koji se prenose. Ako se posle izvršene transformacije matrica koeficijenata pomnoži sa zonalnom maskom i izvrši kvantovanje samo nenultih elemenata, takav metod se naziva zonalno kodovanje.

8.4.4 KVANTOVANJE DCT KOEFICIJENATA

Pošto je u prethodnoj fazi određen broj bita za kvantovanje svakog DCT koeficijenta, potrebno je još odrediti nivoe odlučivanja kvantizera. Ispitivanjem velikog broja tipičnih slika utvrđeno je da je DCT koeficijent )0,0(F (DC koeficijent) nenegativan, dok preostali koeficijenti (AC koeficijenti) mogu biti i pozitivni i negativni, ali im je srednja vrednost jednaka nuli. Raspodela vrednosti DC koeficijenta se može najbolje modelovati Gausovom raspodelom [26], ali se mogu primeniti i Laplasova ili generalizovana Gausova raspodela [27], koje takođe daju najbolje rezultate za modelovanje raspodela vrednosti AC koeficijenata [26], [27]. Pošto su varijanse DCT koeficijenata, kao i broj bita koji im je dodeljen, različiti, trebalo bi projektovati onoliko kvantizera koliko ima DCT koeficijenata koji se koduju. Da bi se broj kvantizera smanjio, pre kvantovanja se vrši normalizacija DCT koeficijenata, tako da njihova varijansa bude jednaka 1, tj.

)0,0(),(,),(),(),(ˆ ≠

σ= lk

lklkFlkF (8.45)

160 8. Kompresija slike

tako da je ukupno potrebno sedam kvantizera za kvantovanje svih DCT koeficijenata prema matricama alokacije bita sa slika 8.15, 8.16 i 8.17. Svaki od tih kvantizera (osim onog za DC koeficijent) je projektovan za ulazni signal nulte srednje vrednosti i jedinične varijanse.

8.4.5 KODOVANJE IZLAZA KVANTIZERA

Posle izvršenog kvantovanja vrednosti DCT koeficijenata se očitavaju po redosledu koji ima oblik cik-cak sekvence, koja je za slučaj bloka 8×8 prikazana na slici 8.18. Tako se formira jednodimenzionalni niz koji olakšava entropijsko kodovanje zato što se koeficijenti veće vrednosti nalaze na početku sekvence.

DC

AC

AC

AC

07

7770

Slika 8.18 Redosled očitavanja DCT koeficijenata u bloku 8×8.

Entropijsko kodovanje predstavlja kompaktno kodovanje DCT koeficijenata koje je zasno-vano na njihovim statističkim karakteristikama. U praksi se koriste dva metoda entropijskog kodo-vanja: Hafmanovo kodovanje i aritmetičko kodovanje. Prvi korak entropijskog kodovanja predstav-lja konverziju cik-cak sekvence kvantovanih koeficijenata u sekvencu simbola. U drugom koraku vrši se konverzija simbola u niz podataka gde više nije moguće identifikovati granice simbola.

Entropijsko kodovanje nije neophodno u slučajevima kada se koriste neuniformni kvantizeri, projektovani na osnovu utvrđene statističke raspodele vrednosti DCT koeficijenata. Međutim, kada se zbog jednostavnosti koriste uniformni kvantizeri, entropijskom kodovanjem se postiže dodatni stepen kompresije, pa se u takvim slučajevima uvek koriste.

8.4.6 REZULTATI KOMPRESIJE SLIKE POMOĆU DCT

Kao primer transformacionog metoda kompresije slike primenom DCT posmatrajmo kompresiju iste slike Paprike koja je bila korišćena za ilustraciju kompresije pomoću DPCM i prikazana na slici 8.8a. Rezultat transformacionog kodovanja sa 1 b/p korišćenjem blokova od 8×8 piksela prikazan je na slici 8.19a. Na slici 8.19b je, radi ilustracije, prikazan DCT spektar iz koga se vidi da veoma mali broj DCT koeficijenata ima značajne vrednosti amplitude, dok je na slici 8.19c prikazan negativ razlike originalne i rekonstruisanje slike, koji je pomnožen sa 16 radi lakšeg uočavanja grešaka. I u ovom slučaju, kao i kod DPCM, najveće greške se primećuju u okolini ivica objekata na slici, ali su u slučaju transformacionog kodovanja greške rasplinute. Naime, greške kvantovanja pojedinačnih DCT koeficijenata su raspodeljene po celom bloku. To rezultuje dobrim odnosom signal/šum, koji je u ovom slučaju PSNR = 26.07 dB.

8. Kompresija slike 161

(a) (b) (c)

Slika 8.19 Transformaciono kodovanje sa 1 b/p: (a) Rekonstruisana slika, (b) DCT spektar, (c) Negativ razlike između originalne i rekonstruisane slike (× 16).

Transformaciono kodovanje unosi nekoliko vrsta degradacija slike od kojih su najvažniji gubitak detalja, granularnost i blokovski efekat.

Gubitak detalja se pojavljuje zbog eliminacije visokofrekventnih DCT koeficijenata. Iako oni nose mali iznos energije, ipak se pažljivim posmatranjem rekonstruisane slike može uočiti izvestan gubitak oštrine. Gubitak detalja je utoliko veći ukoliko je stepen kompresije veći.

Granularnost se pojavljuje u rekonstruisanoj slici kao posledica grube kvantizacije DCT koeficijenata, ili ako alokacija bita ne odgovara stvarnim amplitudama DCT koeficijenata. Ova degradacija se manifestuje pojavom zrnaste strukture na površinama relativno uniformne osvetljenosti.

Blokovski efekat je tip degradacije koji se pojavljuje pri većim stepenima kompresije (iznad 8), ili u slučajevima kada postoje greške u kanalu, a manifestuje se pojavom vidljivih granica blokova u rekonstruisanoj slici. Ovaj efekat nastaje kao posledica grube kvantizacije DC koeficijenta.

I pored neizbežnog postojanja opisanih degradacija u rekonstruisanoj slici, primenom transformacionog metoda kompresije mogu se dobiti znatno bolji rezultati nego primenom DPCM. Stepen kompresije monohromnih slika koji se može ostvariti transformacionim metodima kompresije, uz prihvatljivi stepen degradacije slike, tipično se nalazi u granicama od 4 do 8. Dakle, transformacioni metodi omogućavaju oko dva puta veći stepen kompresije nego DPCM.

8.4.7 ADAPTIVNI METODI KOMPRESIJE SLIKE POMOĆU DCT

Pošto je alokacija bita kod zonalnog kodovanja izvršena na osnovu statističkih kriterijuma, ona ne mora da odgovara svakom bloku u slici koja se komprimuje, a još manje svakoj slici. Zbog nestacionarnog karaktera slike u slici postoje blokovi male aktivnosti (sa malo promena i detalja) i blokovi velike aktivnosti (sa velikom količinom detalja). Međutim, često se dešava da u slici postoji i vrlo mali broj blokova čija je aktivnost izuzetno velika, pa takvi blokovi imaju veliki broj značajnih DCT koeficijenata. Ako se takvi blokovi pojave u prototipskoj slici, na osnovu koje se formiraju matrice alokacije i projektuju kvantizeri, onda će se DCT koeficijentima sa malim indeksima (koji su značajniji) dodeliti manji broj bita nego što bi trebalo. Ako se takvi blokovi pojave u slici koja se komprimuje, onda će broj bita za kodovanje takvih blokova biti nedovoljan. U oba slučaja će komprimovana slika biti degradirana više nego što bi trebalo, jer amplitude DCT

162 8. Kompresija slike

koeficijenata ne odgovaraju pretpostavljenim varijansama, pa se takvi DCT koeficijenti kvantuju neodgovarajućim kvantizerima. U prvom slučaju, degradacije će se pojaviti na delovima slike sa blagim promenama intenziteta, gde do izražaja dolazi mali broj bita za predstavljanje DC i AC koeficijenata sa malim indeksima. U drugom slučaju, izgubiće se određena količina detalja iz slike. Zbog navedenih razloga primena transformacionog metoda kompresije ne daje dobre rezultate za stepen kompresije veći od 8, čak i u slučajevima optimalne alokacije bita i optimalnog kvantovanja.

Znatno bolji rezultati transformacione kompresije se dobijaju primenom nekog od adaptivnih metoda. U praksi je predložen veliki broj adaptivnih metoda koji se mogu podeliti u tri kategorije: adaptacija veličine bloka, adaptacija alokacije bita i adaptacija kvantizera [13].

Adaptacija veličine bloka je zasnovana na činjenici da se korišćenjem blokova većih dimenzija može bolje redukovati korelacija koja postoji između elemenata slike. Međutim, kao što je već rečeno, korišćenje većih blokova ima za posledicu povećanje broja računskih operacija i zauzeća memorije pri izračunavanju DCT, kao i gubitak detalja iz slike. Stoga je izbor veličine bloka rezultat kompromisa napravljenog na osnovu globalnih karakteristika, tj. karakteristika cele slike ili grupe slika. Adaptacijom veličine bloka prema lokalnim karakteristikama dela slike koji se koduje može se postići bolji kompromis između stepena kompresije, složenosti izračunavanja i gubitka detalja iz slike. Međutim, zbog složenosti procene optimalne vrednosti bloka, ovaj metod se ređe primenjuje u kompresiji slike, mada ima izvesnu primenu u kompresiji sekvenci slika.

Najjednostavni metod adaptivne alokacije bita je pragovsko kodovanje, kod koga se izbor DCT koeficijenata koji se koduju i broj bita koji im se dodeljuje biraju na osnovu njihovih amplituda, a ne varijansi [13]. Skup parova indeksa DCT koeficijenata koji se koduju je dat relacijom:

}|),(|;,{ tlkFlkIt >= (8.46)

gde je t pogodno odabran prag kojim se kontroliše bitski protok. Treba primetiti da se kod pragovskog kodovanja pragovska maska definisana kao:

=drugde,0,,1

),( tIlklkP (8.47)

menja od bloka do bloka, pa se mora i ona prenositi. Pošto je pragovska maska binarna, za njen prenos je pogodno primeniti neki od metoda entropijskog kodovanja. U tu svrhu se elementi pragovske maske urede u jednodimenzionalni niz, u redosledu prema slici 8.18, pa se onda primenjuje Hafmanovo kodovanje ili kodovanje dužine nizova. Za prenos dodatnih informacija o maski, za jedan blok dimenzija p×p, potreban je broj bita koji je srazmeran sa p2log . Pošto je broj blokova u slici srazmeran sa 2−p , broj bita za prenos dodatnih informacija o adresama značajnih DCT koeficijenata je srazmeran sa pp 2

2 log− . Dakle, smanjenje dimenzija bloka od četiri puta izaziva povećanje dodatnih informacija za osam puta. Prema tome, maksimalnu veličinu bloka kod pragovskog kodovanja ograničava složenost izračunavanja DCT, a minimalnu veličinu bloka ograničava smanjenje stepena kompresije zbog prenosa dodatnih informacija. Posle izbora DCT koeficijenata, njihovo kvantovanje se najčešće obavlja uniformnim kvantizerom. Pošto takvo kvantovanje nije optimalno, kvantovani rezultati se uređuju u jednodimenzionalni niz posle čega se primenjuje entropijsko kodovanje kvantovanih vrednosti.

Postupak pragovskog kodovanja se relativno lako može prilagoditi osobinama vizuelnog sistema čoveka. Prilagođenje se sastoji u tome da se umesto jednog praga koriste različiti pragovi za

8. Kompresija slike 163

svaki DCT koeficijent, koji su prilagođeni značaju koji odgovarajući DCT koeficijent ima za vizuelni sistem. Najjednostavniji način realizacije pragovskog kodovanja sa osobinama vizuelnog sistema je da se svaki DCT koeficijent podeli odgovarajućim faktorom i dobijeni količnici zaokruže na najbliži celi broj:

+= 5.0

),(),(Int),(

lkQlkFlkFq (8.48)

U izrazu (8.48) ),( lkQ su elementi kvantizacione matrice. To su celi brojevi u opsegu od 1 do 255, koji definišu korak kvantovanja odgovarajućeg DCT koeficijenta. U praksi se najviše koristi standardizovana kvantizaciona matrica [28], dobijena subjektivnim ispitivanjem velikog broja TV posmatrača, koja je za slučaj bloka 8×8 piksela prikazana na slici 8.20:

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 10172 92 95 98 112 100 103 99

Slika 8.20 Kvantizaciona matrica za blok 8×8 piksela.

Kao što se vidi sa slike 8.20, i u slučaju kada se koriste osobine vizuelnog sistema, najznačajniji DCT koeficijenti se nalaze u gornjem levom uglu matrice DCT koeficijenata, pošto se tamo nalaze najmanji elementi kvantizacione matrice.

Kvantovanje DCT koeficijenata prema izrazu (8.48) predstavlja kvantovanje uniformnim kvantizerom. Pošto takvo kvantovanje nije optimalno, kvantovani rezultati se uređuju u jednodimenzionalni niz u redosledu prema slici 8.18 i koduju entropijskim koderom.

Drugi metod adaptivne alokacije bita je adaptivno zonalno kodovanje [29]. Kod ovog metoda se definiše nekoliko matrica alokacije bita, a izbor konkretne matrice, koja će se primeniti pri kvantovanju DCT koeficijenata nekog bloka, se vrši na osnovu aktivnosti bloka. Aktivnost bloka se procenjuje na osnovu energije njegovih AC koficijenata:

21

0

1

0

2 |)0,0(||),(| FlkFEp

k

p

l∑ ∑

=

=−= (8.48)

Adaptivnom alokacijom se dodeljuje više bitova blokovima veće energije (koji sadrže više detalja), a manje bitova blokovima čija je energija manja. Time se ne samo popravlja kvalitet rekonstruisane slike već se postiže i efikasnije kodovanje regiona manje aktivnosti.

U praktičnoj primeni adaptivnog zonalnog kodovanja, blokovi se najčešće razvrstavaju u četiri klase, tako da u svakoj klasi bude isti broj blokova. U primeru kompresije slike dimenzija 256×256 piksela, opisanom u [29], korišćeni su blokovi od 16×16 piksela, a matrice alokacije bita su prikazane na slici 8.21. Projektovani prosečan broj bita po pikselu slike je 1 b/p, od čega se 0.976 b/p koristi za prenos DCT koeficijenata, a 0.034 b/p za prenos dodatnih informacija. Kao dodatne informacije je potrebno preneti klasu u koju je svrstan blok (dva bita po bloku), entropijski

164 8. Kompresija slike

kodovane matrice alokacije i normlizacione faktore DCT koeficijenata. Normalizacioni faktori se prenose pošto se DCT koeficijenti ne dele sa svojom varijansom, kao u osnovnoj varijanti neadaptivne kompresije, već sa normalizacionim koeficijentom koji je dat izrazom:

1),(2),( −= lkbclks (8.49)

a gde je ),( lkb broj bita iz odgovarajuće matrice alokacije sa slike 8.21, a c normalizacioni faktor. Normalizacioni faktor se bira da bude jednak najvećoj standardnoj devijaciji onih DCT koeficijenata koji se predstavljaju jednim bitom, čime se izbegavaju preterano velike greške odsecanja prilikom kvantovanja. U ovom metodu adaptivnog kodovanja za kodovanje dodatnih informacija potrebno je veoma malo bita. Na primer, za sliku od 256×256 piksela potrebno je 0.034 b/p, a za sliku 1024×1024 piksela svega 0.01 b/p.

8 7 6 5 4 3 3 2 2 1 1 1 0 0 0 0 8 6 5 4 4 3 2 2 2 1 1 1 0 0 0 0 7 6 6 5 4 3 3 2 2 1 1 1 0 0 0 0 6 5 5 4 4 3 2 2 2 1 1 1 0 0 0 0 6 5 5 4 4 3 3 2 2 1 1 1 0 0 0 0 5 5 4 4 4 3 3 2 2 1 1 1 0 0 0 0 5 5 4 4 4 3 3 3 2 2 1 1 1 0 0 0 4 4 4 3 3 3 3 2 2 2 1 1 0 0 0 0 4 4 4 3 3 3 3 2 2 2 1 1 1 0 0 0 3 3 3 3 2 2 2 2 2 1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 1 1 1 1 0 0 3 3 3 3 2 2 2 2 2 2 1 1 1 1 0 0 3 3 3 3 3 2 2 2 2 1 1 1 1 1 0 0 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 2 2 2 3 2 2 2 1 1 1 1 1 1 0 0 0 2 2 2 3 3 2 1 1 1 1 1 1 1 1 0 0 2 2 2 2 3 2 2 1 1 1 1 1 1 1 0 0 2 2 2 3 4 3 2 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 1 2 1 2 3 2 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 1 0 0 0 0 0

Klasa 1 Klasa 2

8 5 4 3 3 2 2 1 1 1 1 0 0 0 0 0 8 3 3 2 1 1 0 0 0 0 0 0 0 0 0 0 5 5 4 4 3 3 2 2 1 1 0 0 0 0 0 0 3 3 2 2 1 1 1 1 0 0 0 0 0 0 0 0 4 4 3 3 3 3 2 2 1 1 1 0 0 0 0 0 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 3 3 3 3 3 2 2 2 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 3 3 3 2 2 2 2 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 2 1 1 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 1 1 1 2 2 2 1 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 1 1 1 1 1 1 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 1 1 1 1 1 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 1 1 1 0 1 1 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 1 0 0 0 0 0 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 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 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 1 0 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

Klasa 3 Klasa 4

Slika 8.21 Matrice alokacije bita za blokove 16×16 sa prosečno 1 b/p.

U opisanom metodu adaptivnog zonalnog kodovanja granice aktivnosti između dve klase su promenljive i zavise od sadržaja slike [20]. Zato se kompresija slike na predajnoj strani mora izvršiti u dve faze. U prvoj fazi se vrši klasifikacija blokova i formiranje matrica alokacije, a u drugoj fazi se vrši kvantovanje i kodovanje koeficijenata. U literaturi je predloženo i nekoliko metoda kod kojih se proces kompresije obavlja u jednom koraku, ali su rezultati nešto lošiji [20].

Kod adaptacije kvantizera, alokacija bita je unapred fiksirana, a kvantizacioni nivoi se adaptiraju prema varijansama transformacionih koeficijenata. Varijanse transformacionih koeficijenata se procenjuju lokalnim usrednjavanjem kvadrata DCT koeficijenata, ili

8. Kompresija slike 165

izračunavanjem parametara usvojenog statističkog modela. Ovaj metod se relativno retko koristi u kompresiji slike, ali ima izvesnu primenu u transformacionoj kompresiji sekvenci slika.

Većina metoda adaptivne transformacione kompresije omogućava skoro dvostruko povećanje stepena kompresije u odnosu na neadaptivne transformacione metode. U velikom broju slučajeva stepen kompresije se kreće od 8 do 16, tj. slika se može predstaviti sa 0.5 b/p do 1 b/p.

8.4.8 UTICAJ GREŠAKA U KANALU NA KVALITET REKONSTRUKCIJE

Kao i kod DPCM kompresije, usled šuma u kanalu se mogu pojaviti greške u prenosu. Dakle, na prijemnoj strani će vrednosti nekih DCT koeficijenata biti pogrešno rekonstruisane, pa će i pikseli slike u blokovima koji sadrže takve DCT koeficijente biti pogrešno rekonstruisani. Međutim, pri istoj verovatnoći pojavljivanja grešaka u kanalu, greške kod transformacionog kodovanja su manje primetne od grešaka kod prediktivnih metoda. Razlog za to je što se greška jednog DCT koeficijenta raspoređuje na ceo blok, umesto da se lokalizuje i pojača kao kod DPCM. Vizuelno su najznačajnije greške DC DCT koeficijenta, jer utiču na promenu srednje vrednosti intenziteta bloka, pa izazivaju pojavu blokovskog efekta. Kao primer uticaja grešaka u kanalu, posmatrajmo transformaciono kodovanje slike Paprike sa 1 b/p, pri čemu je simulacija uticaja šuma u kanalu takva da šum ima veliku verovatnoću pojavljivanja, 210−=ep . Rezultati simulacije su prikazani na slici 8.22, na kojoj su izrazito vidljivi blokovi kod kojih je vrednost DC DCT koeficijenta promenjena šumom. Ostvareni odnos signal/šum je PSNR = 21.72 dB, odnosno manji je za 4.35 dB u odnosu na slučaj istog stepena kompresije bez šuma u kanalu.

(a) (b)

Slika 8.22 Uticaj grešaka u prenosu (pe = 10-2) na rekonstrukciju slike u transformacionom kodovanju: (a) Rekonstruisana slika, 1 b/p, (b) Negativ razlike između originalne i rekonstruisane slike (× 16).

U slučaju kada postoji velika verovatnoća pojavljivanja grešaka u kanalu, prilikom prenosa signala se mora primeniti zaštitno kodovanje. Međutim, zaštitno kodovanje povećava redundantnost podataka i smanjuje stepen kompresije. I u tom pogledu je transformacioni metod kompresije bolji od DPCM. Kod DPCM je potrebno zaštititi svaki bit u prenosu komprimovanog signala, dok je kod transformacionog kodovanja sasvim dovoljno zaštititi DC koeficijent i nekoliko AC koeficijenata sa najnižim indeksima. Pri nerealno velikoj verovatnoći greške u kanalu, 210−=ep , dodatni bitovi za zaštitno kodovanje povećavaju protok informacija za oko 15%. Ako je verovatnoća greške u kanalu realnija, tj. 310−=ep , dodatni bitovi za zaštitno kodovanje povećavaju protok podataka za svega 4%.

166 8. Kompresija slike

8.5 KOMPRESIJA SLIKE U BOJI

Kompresija slike u boji se može izvršiti na dva načina. Prvi način je da se svaka od tri osnovne komponente boje R, G i B tretira posebno, kao monohromna slika, čime se kompresija slike u boji svodi na tri nezavisne kompresije komponentnih slika. Na ovaj način se mogu realizovati stepeni kompresije koji su identični kao kod monohromnih slika. Takvi stepeni kompresije najčešće nisu zadovoljavajući s obzirom da slike u boji imaju tri puta više bitova od monohromnih slika, pa zahtevaju veći stepen kompresije. Veći stepen kompresije se može ostvariti samo ako se iskoristi korelacija koja postoji između R, G i B komponenata ili, alternativno ako se slika iz RGB prostora boja transformiše u neki drugi koordinatni sistem u kome je smanjena korelacija između komponenata boje, pa postoje bolji uslovi za ostvarivanje velikog stepena kompresije.

U praksi su najčešće koristi transformacija predviđena standardom za digitalnu televiziju RGB→YCbCr [28]. Nešto ređe se koriste transformacije RGB→YIQ i RGB→YUV, koje se u analognoj formi koriste u televiziji. Ove tri transformacije su posebno pogodne za kompresiju slike u boji zato što je spektar hrominentnih komponenata Cb i Cr, I i Q, odnosno U i V, znatno uži, što omogućava prostornu diskretizaciju hrominentnih komponenata sa četiri puta nižom učestanošću odabiranja od učestanosti odabiranja luminentne komponente Y (sistem 4:1:1). Zbog toga broj odbiraka koje treba kodovati u ovim kolor sistemima nije tri puta veći od broja odbiraka monohromne slike, nego je veći samo za 50% [30].

Komponente Y, CB i CR se komprimuju kao nezavisne monohromne slike. Za kompresiju se mogu koristiti prediktivni metodi, ali se bolji rezultati dobijaju korišćenjem transformacionih metoda kompresije, naročito korišćenjem diskretne kosinusne transformacije. Za Y komponentu se koristi podela na blokove od 8×8 piksela, a za CB i CR se koriste blokovi od 16×16 piksela, na koje se primeni decimacija sa faktorom 2 po svakoj koordinati. Posebno dobri rezultati se dobijaju adaptivnom DCT kompresijom sa pragovskim kodovanjem na osnovu vizuelnih kriterijuma, prema formuli (8.48). Luminentna komponenta Y se kvantuje korišćenjem kvantizacione matrice ),( lkQ sa slike 8.20, konstruisane za kompresiju monohromne (sive) slike. Hrominentne komponente CB i CR se kvantuju na osnovu kvantizacione matrice ),( lkQ prikazane na slici 8.23.

17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 56 99 99 99 99 99 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

Slika 8.23 Kvantizaciona matrica za blokove od 8×8 piksela hrominentnih komponenti CB i CR.

Kao što se vidi sa slike 8.23, kvantizaciona matrica za hrominentne komponente ima mnogo veći broj članova velike vrednosti od odgovarajuće kvantizacione matrice za luminentnu komponentu. To znači da će broj nenultih kvantovanih DCT koeficijenata u hrominentnim komponentama slike biti vrlo mali, a osim toga, njihove vrednosti će biti male. Zbog toga će hrominentne komponente biti bolje komprimovane od luminentne komponente.

8. Kompresija slike 167

Prisustvo boje u slici poboljšava subjektivni osećaj i teži da prikrije neke degradacije u slici. Zbog toga u velikom broju slučajeva komprimovana slika u boji subjektivno izgleda bolje od odgovarajuće sive slike, dobijene kompresijom Y komponente slike u boji sa istim brojem bita.

8.6 STANDARDI ZA KOMPRESIJU SLIKE

Da bi se mogla obezbediti pouzdana komunikacija između korisnika koji koriste opremu i softver različitih proizvođača neophodno je izvršiti standardizaciju metoda kompresije. Veliki proizvođači opreme kao i softvera za personalne računare su iz komercijalnih razloga pokušali da nametnu neka svoja rešenja kao standarde, koja ipak nisu šire prihvaćena. Tipični primeri takvih rešenja su poznati GIF i TIFF grafički formati. Pošto su ovi grafički formati prvenstveno namenjeni kompresiji crteža i tekstualnih dokumenata, kompresija slike se vrši primenom metoda bez gubitaka. Kada se takav postupak primeni za kompresiju prirodne slike, sive ili u boji, dobija se vrlo mali stepen komresije, vrlo često ispod dva.

Da bi se standardizovao efikasan postupak kompresije sivih slika ili slika u boji Internacionalna organizacija za standarde (ISO), Internacionalna elektrotehnička komisija (IEC) i Internacionalna telekomunikaciona unija (ITU) pokrenuli su postupke za standardizaciju metoda, hardvera i softvera za multimedijalne sisteme, videokonferencije, videotelefoniju i slične aplikacije. Kao rezultat ovih napora pojavilo se više standarda (JPEG, MPEG-1, MPEG-2, MPEG-4, H.261, H.263, itd.), od kojih će JPEG standard biti opisan u ovom odeljku, a ostali u narednim odeljcima.

8.6.1 JPEG STANDARD

JPEG standard predstavlja prvi standard u oblasti kompresije slike koji se odnosi na kompresiju mirnih slika (sa više nivoa sivog, ili u boji) i predstavlja zajednički standard tri međunarodne organizacije: ISO, IEC i ITU [6]. Popularni naziv JPEG predstavlja skraćenicu naziva radne grupe koja ga je pripremala više godina (Joint Photographic Experts Group). Osnovni ciljevi koji su ostvareni usvajanjem JPEG standarda su [7], [31]:

• Standard omogućava kompresiju bilo kakve digitalne slike, sive ili u boji, sa gubicima ili bez gubitaka.

• Standard je primenljiv na digitalnu sliku nezavisno od njene rezolucije. Ako broj piksela po bilo kojoj dimenziji nije deljiv sa 8, slika se interno proširuje odgovarajućim brojem piksela.

• Za kompresiju sa gubicima broj bita po pikselu sive slike (ili po komponenti boje) može biti 8 ili 12, dok za kompresiju bez gubitaka broj bita po pikselu može biti od 2 do 16.

• Standard propisuje metode koje obezbeđuju veliki stepen kompresije, obezbeđujući pri tome vrlo dobar ili odličan kvalitet rekonstruisane slike. Standard omogućava zadavanje jednog parametra kojim se ostvaruje kompromis između stepena kompresije i kvaliteta komprimovane slike.

• Standard preporučuje metode kompresije koje su računski efikasne i pogodne za softversku implementaciju na različitim procesorima i operativnim sistemima, ili za hardversku implementaciju u VLSI tehnici čija je cena proizvodnje umerena.

• Standard omogućava da se izvrši rekonstrukcija luminentne komponente iz komprimovane slike u boji bez potrebe za dekodovanjem hrominentnih komponenata.

168 8. Kompresija slike

• JPEG standard omogućuje četiri načina kompresije slike: 1. Sekvencijalno kodovanje: slika se koduje s leva na desno, odozgo na dole. 2. Progresivno kodovanje: slika se koduje u više prolaza, tako da u aplikacijama čije je

vreme prenosa dugo korisnik postepeno dobija finiju strukturu slike. 3. Kodovanje bez gubitaka: rekonstruisana slika je identična sa originalnom, mada je

stepen kompresije mali. 4. Hijerarhijsko kodovanje: slika se koduje sa različitim rezolucijama, pri čemu za

rekonstrukciju slike niže rezolucije nije potrebno poznavanje podataka o kodovanju slike više rezolucije.

Na slici 8.24 su prikazane veze izmedju četiri načina kompresije koji su specificirani JPEG standardom.

Hijerarhijski

SekvencijalniDCT

ProgresivniDCT Bez gubitaka

Bazni

Slika 8.24. Četiri metoda kompresije predviđena JPEG standardom.

8.6.1.1 JPEG sekvencijalno kodovanje

Osnovu JPEG standarda (izuzimajući kodovanje bez gubitaka) čini postupak adaptivnog transformacionog kodovanja slike diskretnom kosinusnom transformacijom [21], koji je izabran između 12 predloženih metoda. Na bazi subjektivnih ispitivanja, kao i zbog računske efikasnosti, usvojena je podela slike na blokove od 8×8 piksela. Pošto su vrednosti piksela 8-bitni pozitivni brojevi, pre ulaza u koder od vrednosti svakog piksela oduzima se 128, tako da vrednosti ulaznih piksela ),( yxf leže u opsegu [-128, 127]. Zatim se diskretnom kosinusnom transformacijom svaki blok od 8×8 piksela transformiše u skup od 64 DCT koeficijenata koji predstavljaju amplitude ortogonalnih bazisnih funkcija, odnosno, “dvodimenzioni spektar” ulaznog signala. Interesantno je primetiti da su JPEG standardom definisani samo veličina ulaznog bloka (8×8 piksela) i tačnost ulaznih i izlaznih podataka. Algoritam za izračunavanje DCT nije propisan, što omogućava realizatorima da iskoriste najnovija saznanja o efikasnoj hardverskoj ili softverskoj realizaciji DCT algoritama [7].

Za kodovanje slike u boji se prvo izvrši transformacija RGB→YCbCr, pa se zatim izvrši podela slike luminentne komponente Y na blokove od 8×8 piksela. Slike hrominentnih komponenata Cb i Cr se prvo dele na blokove od 16×16 piksela, koji se posle decimacije sa 2 takođe svode na dimenzije od 8×8 piksela. Dakle, na svaka četiri bloka Y komponente dolazi po jedan blok hrominentnih komponenata Cb i Cr. Zatim se tri komponente slike Y, Cb i Cr nezavisno transformišu primenom DCT.

8. Kompresija slike 169

Da bi se ostvarila kompresija podataka, izlazni podaci iz svakog DCT bloka, tj. 64 DCT koeficijenta, moraju biti ponovo kvantovani i kodovani. Kvantovanje se vrši deljenjem svakog DCT koeficijenta sa odgovarajućim elementom kvantizacione matrice sa slike 8.20 ili 8.23 i zaokruživanjem na najbliži ceo broj prema jednačini (8.48). Dakle, kvantovanje je uniformno ali sa različitim korakom kvantovanja za svaki DCT koeficijent. Kada se želi maksimalna kompresija slike bez vidljivih izobličenja, svaki korak kvantizacije mora da bude izabran tako da predstavlja prag percepcije odgovarajuće kosinusne bazisne funkcije. Pošto je taj prag funkcija sadržaja slike, karakteristika displeja i udaljenosti posmatrača sproveden je niz psihovizuelnih eksperimenata za određivanje najboljih vrednosti pragova. Sam standard ne propisuje sadržaj kvantizacionih tabela, već to ostavlja realizatoru sistema, ali u prilogu standarda kao neobaveznu informaciju daje sadržaj kvantizacionih tabela po CCIR-601 standardu [28], koje su korišćene tokom evaluacije standarda.

JPEG standard omogućava jednostavno, ali grubo, zadavanje željenog stepena kompresije. Za regulaciju stepena kompresije uveden je jedan parametar, nazvan faktor kvaliteta Q. Ovaj parametar, koji predstavlja celi broj u opsegu od [1, 100], množi elemente kvantizacione matrice

),( lkQ . Dakle, veće vrednosti parametra Q odgovaraju grubljem kvantovanju, odnosno većem stepenu kompresije. Izborom većeg stepena kompresije utiče se na smanjenje subjektivnog kvaliteta rekonstruisane slike.

Poslednji korak u kompresiji slike po JPEG standardu predstavlja entropijsko kodovanje. Pri tome se DC DCT koeficijent )0,0(F tretira različito od AC koeficijenata. Naime, pošto su DC koeficijenti susednih blokova veoma slični, entropijski se koduje razlika DC koeficijenata dva susedna bloka u sekvenci blokova. Redosled obrade DCT AC koeficijenata ima oblik cik-cak sekvence koja je prikazana na slici 8.18. Ovaj redosled olakšava entropijsko kodovanje jer se koeficijenti veće vrednosti nalaze na početku sekvence. Entropijsko kodovanje predstavlja kompaktno kodovanje DCT koeficijenata koje je zasnovano na njihovim statističkim karakteristikama. U JPEG sekvencijalnom metodu se za entropijsko kodovanje koristi Hafmanov koder. Prvi korak entropijskog kodovanja predstavlja konverziju cik-cak sekvence kvantovanih koeficijenata u sekvencu simbola. U drugom koraku vrši se konverzija simbola u niz podataka gde više nije moguće identifikovati granice simbola.

Za primenu Hafmanovog kodovanja potrebno je specificirati jednu ili više kodnih tabela koje se koriste i na predajnoj i na prijemnoj strani. JPEG standard ne propisuje nijednu kodnu tabelu već taj posao prepušta realizatoru sistema, ali u prilogu daje Hafmanove tabele koje su korišćene prilikom testiranja u toku razvoja standarda.

Blok dijagrami JPEG kodera i dekodera za sekvencijalno kodovanje sive slike i pojedinačnih komponenata slike u boji su prikazani na sl. 8.25.

Opisana verzija JPEG sekvencijalnog kodovanja naziva se bazni sekvencijalni kodek (Baseline sequential codec). Osnovna proširenja baznog sistema se sastoje u dodavanju mogućnosti kompresije slika koje su u originalnoj verziji predstavljene sa 12 b/p, kao i u zameni Hafmanovog entropijskog kodera aritmetičkim koderom. Aritmetičkim kodovanjem se postiže za 5% do 10% bolja kompresija zato što kodne tabele nisu unapred definisane, već se one generišu s obzirom na statistiku slike. Međutim, aritmetičko kodovanje je složenije i zaštićeno je brojnim patentima.

Kao primer kompresije sive slike primenom JPEG standarda posmatrajmo kompresiju slike Cveće, dimenzija 500×362, koja je u originalu predstavljenom na slici 8.26a kodovana sa 8 b/p. Na slici 8.26b je predstavljena slika komprimovana 4 puta, na slici 8.26c stepen kompresije je 10, dok

170 8. Kompresija slike

je na slici 8.26d prikazana slika koja je komprimovana 22 puta. Uočava se da vidljiva izobličenja slike pojavljuju tek kad stepen kompresije pređe 20. Kod slika sa manje detalja stepen kompresije pri kome se ne pojavljuju vidljiva izoblićenja može biti i veći od 20. Međutim, ako slika sadrži mnogo detalja, kao što je, na primer, slika otiska prsta, teško se može ostvariti stepen kompresije iznad 10.

KvantizerFDCT

Dekvantizer IDCTEntropijskidekoder

Entropijskikoder

Kvantizacionatabela

Kvantizacionatabela

Huffman-ovetabele

Huffman-ovetabele

Izvorna slika(blokovi 8x8)

Komprimovanipodaci

Rekonstruisana

(blokovi 8x8)

Komprimovanipodaci

DCT koder

DCT dekoder

slika

(a)

(b) Slika 8.25. Blok šema JPEG sekvencijalnog sistema za kompresiju jedne komponente slike u boji:

(a) koder, (b) dekoder.

(a) (b)

(c) (d)

Slika 8.26. JPEG kompresija sive slike Cveće: (a) Originalna slika, (b) Slika komprimovana 4 puta, (c) Slika komprimovana 10 puta, (d) Slika komprimovana 22 puta.

8. Kompresija slike 171

Kod kompresije slike u boji može se postići veći stepen kompresije za isti subjektivni osećaj izobličenja slike. Na primer, slika u boji kodovana sa 0.25 b/p do 0.5 b/p je umereno dobrog kvaliteta, dok se slika kodovana sa 1.5 b/p do 2 b/p subjektivno ne može razlikovati od originala. Na slici 8.27 prikazana je slika Cveće u boji za tri različita stepena kompresije, koji su približno dva puta veći od odgovarajućih stepena kompresije sive slike.

(a) (b)

(c) (d)

Slika 8.27. JPEG kompresija slike u boji Cveće: (a) Originalna slika, (b) Slika komprimovana 10 puta, (c) Slika komprimovana 20 puta, (d) Slika komprimovana 43 puta.

8.6.1.2 JPEG progresivno kodovanje

Progresivno kodovanje slike se razlikuje od sekvencijalnog po tome što se kodovanje DCT koeficijenata vrši u više prolaza, pri čemu se u svakom prolazu prenosi samo deo kvantovanih DCT koeficijenata. Za progresivno kodovanje su predložena dva postupka podele DCT koeficijenata: spektralna selekcija i metod sukcesivnih aproksimacija. Organizacija DCT koeficijenata i podela DCT koeficijenata na oba načina su prikazani na slici 8.28.

Da bi se moglo realizovati progresivno kodovanje slike potrebno je iza kvantizera, a pre ulaza u entropijski koder, dodati bafer memoriju za sve DCT koeficijente. Minimalni potrebni kapacitet ove memorije za kompresiju sive slike je dat izrazom:

)3( += bMNC (8.50)

gde su M i N dimenzije slike, a b broj bita po pikselu u originalnoj sivoj slici. Povećanje broja bita po pikselu za tri je posledica kompresije energije, zbog čega neki DCT koeficijenti imaju znatno veće vrednosti od originalnih piksela. U slučaju slike u boji minimalni potrebni kapacitet memorije je za 50% veći.

172 8. Kompresija slike

U postupku spektralne selekcije DCT koeficijenti se grupišu u spektralne opsege. Prvo se prenosi DC DCT koeficijent, zatim dva najznačajnija AC DCT koeficijenta, a onda se u narednim prolazima prenose grupe od po tri AC DCT koeficijenta . Na prijemnoj strani slika u početku ima blokovsku strukturu koja se tokom prenosa postepeno gubi. Za prihvatljiv kvalitet slike obično je dovoljno preneti DC i prvih pet AC DCT koeficijenata. Kada se prenesu svi DCT koeficijenti, dobija se ista slika kao i kod primene sekvencijalnog algoritma.

Kod metoda sukcesivnih aproksimacija prvo se prenose DC DCT koeficijent u punoj tačnosti. Zatim se, u drugom prolazu prenose četiri najznačajnija bita svih AC DCT koeficijenata. U narednim prolazima se kvalitet slike popravlja prenosom preostalih manje značajnih bitova. Metoda sukcesivnih aproksimacija daje sliku boljeg kvaliteta pri manjim bitskim protocima.

Interesantno je da se metod spektralne selekcije i metod sukcesivnih aproksimacija mogu uspešno i fleksibilno kombinovati.

0 1 . . .

LSB

MSB

.

.

.

Spektralna selekcija

Sukcesivna aproksimacija

DCT koeficijenti u cik-cak redosledu63

Slika 8.28. Uređivanje DCT koeficijenata za progresivno kodovanje.

8.6.1.3 JPEG kodovanje bez gubitaka

Za kodovanje slike bez gubitaka JPEG standard koristi jednostavne prediktivne metode, koji su opisani u odeljku 8.3.1. Standardom je specificirano sedam metoda predikcije koji su definisani jednačinama (8.14) - (8.20). Za prvu liniju slike se koristi metod predikcije (8.14). Posle oduzimanja procenjenih vrednosti od stvarnih vrednosti piksela, dobijena slika razlike se entropijski koduje primenom Hafmanovog ili aritmetičkog kodera. Iako je standardom predviđeno da svaki piksel polazne slike može biti predstavljen sa 2 do 16 bita, JPEG standard se praktično koristi za kompresiju slika predstavljenih sa najmanje 4-5 bita po pikselu, kada se dobija stepen kompresije oko 2. Ako je broj bita po pikselu manji, bolji rezultati se dobijaju primenom drugih metoda za kompresiju slike bez gubitaka, kao što su LZW postupak ili JBIG standard za prenos faksimila.

8.6.1.4 JPEG hijerarhijsko kodovanje

Hijerarhijski način kodovanja namenjen je takođe progresivnom prenosu slike, jer se takođe realizuje u više prolaza. Međutim, za razliku od običnog progresivnog kodovanja, ovde se u svakom prolazu menja prostorna rezolucija slike sa faktorom 2 po obe dimenzije. Na takav način se dobija hijerarhijska predstava slike u obliku piramide, koja je prikazana na slici 8.29.

Postupak hijerarhijskog kodovanja može se podeliti na sledeće faze: 1. Originalna slika se filtrira niskofrekventnim filtrom i decimira sa faktorom 2 po svakoj

dimenziji.

8. Kompresija slike 173

2. Izvrši se kodovanje redukovane slike prethodno opisanim sekvencijalnim DCT metodom, progresivnim DCT metodom ili prediktivnim kodovanjem bez gubitaka.

3. Dekoduje se redukovana slika i interpolira sa faktorom 2 po obe dimenzije, pri čemu se koristi isti interpolacioni filtar koji se koristi i na prijemnoj strani.

4. Formira se razlika interpolirane slike (koja služi kao procena) i originalne slike na istoj rezoluciji i izvrši kodovanje slike razlike prethodno opisanim sekvencijalnim DCT metodom, progresivnim DCT metodom ili prediktivnim kodovanjem bez gubitaka.

5. Faze 3 i 4 se ponavljaju sve dok se ne izvrši kodovanje slike u punoj rezoluciji. Hijerarhijsko kodovanje je vrlo korisno u primenama gde se slika vrlo visoke rezolucije

mora prikazati u niskoj rezoluciji. Takav je slučaj, na primer, kada se slika skenira i komprimuje u vrlo visokoj rezoluciji zbog štampanja na štampaču visokog kvaliteta, a mora se prikazati na video monitoru računara koji ima znatno nižu rezoluciju.

Slika 8.29. Hijerarhijska predstava slike.

Od tri JPEG načina kodovanja koji su zasnovani na korišćenju DCT, hijerarhijsko kodovanje obezbeđuje najbolji kvalitet slike pri ekstremno malim bitskim protocima. Međutim, kada se zahteva odličan kvalitet slike, progresivni prenos zahteva nešto veći bitski protok od sekvencijalnog ili hijerarhijskog načina rada.

8.6.1.5 Implementacija JPEG standarda

Odmah posle usvajanja, nastale su brojne softverske i hardverske implementacije JPEG standarda. Naročito su brojne softverske implementacije, koje mogu da na personalnim računarima i radnim stanicama brzo koduju i dekoduju sliku po JPEG standardu. Takve implementacije su u početku podržavale samo bazni sekvencijalni način kodovanja, ali sada podržavaju kompletan JPEG standard. JPEG softverske implementacije se danas sreću pod svim važnijim operativnim sistemima: MS-Windows, MS-DOS, OS/2, X-Windows, Macintosh i dr. Praktično svi komercijalni programi za prikaz i obradu slika podržavaju JPEG standard.

Posebno je interesantna softverska implementacija JPEG standarda koju je napravila Independent JPEG Group iz SAD, jer je za nekomercijalne primene javno dostupna na Internet lokaciji ftp://ftp.uu.net/graphics/jpeg/. Na ovoj lokaciji su na raspolaganju izvorni C kod i neophodna prateća dokumentacija, koje korisnik može slobodno da modifikuje.

174 8. Kompresija slike

Što se hardverskih implementacija tiče, mnogi proizvođači ploča za digitalizaciju i obradu slike, podržavaju kompresiju slike primenom JPEG standarda, što omogućava akviziciju slika iz sekvence u realnom vremenu. Postoje i integrisana kola koja podržavaju JPEG standard. Takvo je integrisano kolo CL-4000, čiji je proizvođač C-Cube iz SAD, koje omogućava kompresiju slike po JPEG standardu.

Najnovije informacije o JPEG standardu, hardverskim i softverskim implementacijama JPEG standarda mogu se naći na Internet adresama: http://www.faqs.org/faqs/compression-faq, http://www.faqs.org/faqs/jpeg-faq i http://www.jpeg.org.

8.7. KOMPRESIJA VIDEO SIGNALA

Kompresija video signala je ključna komponenta u savremenim telekomunikacionim servisima, kao što su videotelefonija i videokonferencije, u savremenim digitalnim TV sistemima normalne i visoke rezolucije, kao i u brojnim multimedijalnim servisima. Razlog za to je što bez kompresije digitalni video signal sadrži ogromnu količinu podataka. Kao primer, posmatrajmo standardni digitalni video signal po CCIR normama. Broj slika u sekundi je 25, rezolucija svake slike je 720×576 piksela, a svaki piksel je predstavljen sa 24 bita (po tri bita za svaku komponentu boje). Dakle, za prenos nekomprimovanog video signala je potreban kanal kapaciteta 248 Mb/s. Video signal u televiziji visoke rezolucije (HDTV) zahteva čak šest puta veći kapacitet kanala od 1.5 Gb/s, dok video signal koji obezbeđuje isti kvalitet slike kao film zahteva 9 Gb/s. Kod multimedijalnih sistema problemi postoje i kod memorisanja digitalnog video signala. Na standardni kompakt disk, čiji je kapacitet 5.2 Gb (650 MB), moglo bi da se smesti 20 s video signala po CCIR normama, 3 s HDTV signala, ili 0.5 s filma. Još jedan problem kod multimedijalnih sistema je brzina očitavanja i prenosa podataka sa kompakt diska do memorije računara, koja se kod najbržih sistema kreće do 4 Mb/s.

Iz prethodnog prikaza se vidi da u telekomunikacionim, televizijskim i multimedijalnim sistemima postoji ozbiljna potreba za ostvarenjem vrlo velikog stepena kompresije video signala. Na primer, za reprodukciju TV signala sa kompakt diska čija je brzina očitavanja 1.2 Mb/s potreban je stepen kompresije 200, dok je za prenos HDTV signala po kanalu čiji je propusni opseg 6 MHz (čemu odgovara 20 Mb/s) potreban stepen kompresije 75.

Najjednostavniji sistem za kompresiju video signala je da se na svaku sliku u sekvenci primeni neki od metoda za kompresiju mirnih slika, na primer JPEG algoritam. Mada se ovo rešenje sreće u praksi i poznato je kao intrafrejm kompresija, stepen kompresije koji se njime može dobiti je nedovoljan za ostvarenje postavljenih ciljeva. Stepen kompresije se može povećati ako se slike iz sekvence ne tretiraju nezavisno, čime se iskorišćava i vremenska redundansa video signala, koja potiče od sličnosti između susednih slika u sekvenci. Metode kompresije koje koriste i vremensku redundansu poznate su kao interfrejm metode kompresije i mogu se podeliti u tri grupe: metode trodimenzionalne kompresije signala, metode kompenzacije pokreta i objektno orijentisane metode.

8.7.1 TRODIMENZIONALNA KOMPRESIJA VIDEO SIGNALA

Trodimenzionalna (3D) kompresija video signala predstavlja generalizaciju principa dvodimenzionalne kompresije video signala. Najčešći način realizacije 3D kompresije video signala je 3D transformaciono kodovanje zasnovano na DCT. Za primenu ovog metoda video signal se deli

8. Kompresija slike 175

na blokove dimenzija M×N×P, gde M, N i P, respektivno, predstavljaju horizontalnu, vertikalnu i vremensku dimenziju jednog bloka. Zatim se na svaki blok primeni 3D DCT, i izvrši kvantovanje dobijenih DCT koeficijenata. Kao i kod 2D DCT, samo koeficijenti sa vrlo malim vrednostima indeksa imaju značajne vrednosti [32].

Prednost 3D DCT kompresije nad drugim metodama je što nije potrebna estimacija i kompenzacija pokreta. Međutim, ozbiljan nedostatak ovog metoda je što zahteva pamćenje P prethodnih slika, kako na predajnoj, tako i na prijemnoj strani. Ovo je posebno ozbiljno ograničenje u hardverskim implementacijama. Zbog toga P ima male vrednosti, najčešće 2 ili 4. Drugo ograničenje, značajno za multimedijalne sisteme, je što nije moguće pristupiti svakoj pojedinačnoj slici u sekvenci, već samo bloku od P slika.

Da bi se izbegli problemi oko pamćenja P slika iz sekvence, predložen je hibridni DCT/DPCM metod. Kod ovog metoda se vrši standardno transformaciono kodovanje svake slike iz sekvence, a onda se na svaki DCT koeficijent primeni DPCM kodovanje, pri čemu se predikcija vrši samo na osnovu vrednosti odgovarajućeg DCT koeficijenta iz prethodne slike.

Zbog složenog izračunavanja i stepena kompresije koji je samo 2 do 5 puta veći nego kod intrafrejm kompresije, 3D DCT i hibridni DCT/DPCM metod nisu našli širu primenu u praksi.

8.7.2 KOMPRESIJA VIDEO SIGNALA UZ KOMPENZACIJU POKRETA

S obzirom da između susednih slika u sekvenci postoji velika sličnost, razvijene su mnoge tehnike kompresije koje koriste ovu osobinu. Najstarija i najjednostavnija tehnika ove vrste je tzv. uslovno obnavljanje, gde se svaka slika deli na promenjeni i nepromenjeni deo u odnosu na prethodnu sliku [33]. Nepromenjeni deo se preuzima iz prethodne slike, a prenosi se samo promenjeni deo. Radi povećanja stepena kompresije promenjeni deo slike se prenosi uz pomoć DPCM metoda kompresije.

Tehnika uslovnog obnavljanja je kasnije poboljšana smanjenjem vremenske redundanse, tako što se pomoću DPCM vrši kodovanje razlike intenziteta piksela koji pripadaju promenjenom delu slike. Međutim, značajno povećanje stepena kompresije se može ostvariti tek primenom metoda estimacije i kompenzacijom pokreta u slici pre formiranja razlike susednih slika, i kasnijim kodovanjem tako dobijene razlike slika. Kodovanje kompenzovane razlike slika (engl. displaced frame difference) može se izvršiti primenom nekog od metoda za kompresiju mirnih slika. U tu svrhu se najčešće koristi transformaciono kodovanje primenom DCT.

Estimacija pokreta u slici predstavlja ključni deo ove grupe algoritama za kompresiju. Zbog značaja postupka estimacije pokreta za ostvarenje velikog stepena kompresije, u literaturi je predložen vrlo veliki broj algoritama, koji se mogu svrstati u nekoliko grupa: metode određivanja optičkog protoka, metode kretanja blokova, rekurzivne metode, probabilističke metode, itd. Brojnost i raznovrsnost metoda za određivanje estimacije pokreta svedoči o složenosti problema estimacije pokreta. Naime, estimacija pokreta pripada klasi loše postavljenih problema, jer ne zadovoljava uslove egzistencije, jedinstvenosti i kontinuiteta rešenja. Problem egzistencije rešenja postoji zbog toga što se prilikom kretanja objekta u slici deo pozadine otkriva, a deo prekriva, tako da se za te dve oblasti ne može odrediti korespondencija u dve susedne slike. Problem jedinstvenosti rešenja postoji zbog toga što je broj nepoznatih koji određuju pokret svakog piksela dva puta veći od broja jednačina. Naime, broj jednačina je jednak broju piksela, a za pomeraj svakog piksela treba odrediti pomeraj po obe koordinate. I na kraju, estimirani pokret u slici jako

176 8. Kompresija slike

zavisi od šuma u slici, koji može izazvati velike devijacije u estimaciji pokreta susednih piksela, što se odražava na kontinuitet rešenja.

Među metodima za estimaciju pokreta najveći značaj imaju metode bazirane na kretanju blokova. Razlog za to je mala računska složenost ove grupe metoda, kao i pogodnost za hardversku implementaciju. Sve blokovske metode su zasnovane na pretpostavci da se slika sastoji iz pokretnih blokova. Jednostavnije metode pretpostavljaju da je kretanje blokova translatorno, dok složenije metode dozvoljavaju i rotaciono kretanje i deformaciju blokova.

Od blokovskih metoda estimacije pokreta posebno je interesantna grupa metoda usklađivanja blokova (engl. block matching methods), koje su, zbog svoje jednostavnosti, postale sastavni deo većine internacionalnih standarda. Zbog toga će u daljem tekstu, od brojnih metoda estimacije pokreta biti opisane samo najvažnije metode iz ove grupe. Za opis ostalih metoda čitalac se upućuje na obimnu dopunsku literaturu [1], [34], [35].

8.7.2.1 Estimacija pokreta usklađivanjem translatorno pomerenih blokova

Najjednostavniji model pokreta u slici pretpostavlja čisto translatorno kretanje blokova. Tekuća slika, kod koje se estimira pokret, je podeljena na male nepreklapajuće blokove dimenzija N×N piksela (najčešće 88× ili 1616 × ). Opšti princip estimacije pokreta metodom usklađivanja blokova prikazan je na slici 8.30, gde je sa k označena tekuća slika. Na slici 8.30a, koja predstavlja proces estimacije pokreta unapred, pokret u slici se određuje korišćenjem naredne slike, označene sa k+1. Slika 8.30b predstavlja proces estimacije pokreta unazad, jer se pokret u slici određuje korišćenjem prethodne slike, označene sa k-1. U prenosu slike se češće koristi estimacija pokreta unazad, jer se pokret određuje iz već prenesene slike. U multimedijalnim sistemima se koriste oba principa estimacije pokreta.

Slika k

Slika kSlika k+1

Slika k-1

Slika 8.30 Estimacija pokreta usklađivanjem blokova: (a) unapred, (b) unazad.

Osnovni postulat estimacije pokreta usklađivanjem blokova je da svi pikseli u jednom bloku imaju isti pomeraj. Tako se pomeraj piksela ),( ji u slici k određuje posmatranjem bloka dimenzije N×N, u kome se nalazi piksel ),( ji . Pretraživanjem u slici k+1 (u slučaju estimacije unapred) se određuje najsličniji blok iste dimenzije. Da bi se smanjio broj računskih operacija, pretraživanje u

8. Kompresija slike 177

slici k+1 se ograničava na oblast pretraživanja dimenzije ( ) ( )pNpN 22 +×+ , gde je ± p maksimalni dozvoljeni pomeraj bloka, kao što je prikazano na slici 8.31.

k

k+1

N

N

N+2p

N+2pd

Slika 8.31 Definicija oblasti pretraživanja i vektora pomeraja.

U literaturi je predložen veliki broj metoda estimacije pokreta usklađivanjem blokova [35]-[37], koji se uglavnom razlikuju po tri karakterististične osobine: kriterijumu usklađivanja, strategiji pretraživanja i određivanju dimenzija bloka.

Kriterijumi usklađivanja blokova

Kao kriterijumi za usklađivanje blokova se mogu koristiti minimalna srednja kvadratna greška, minimalna srednja apsolutna greška i maksimalni broj usaglašenih piksela u bloku [35].

Srednja kvadratna greška (MSE) se definiše izrazom:

[ ]21),(

2 ),(),(1),( yxkknm

yx dndmsnmsN

ddMSE ++−= +∈

∑∑B

(8.51)

gde B označava skup piksela u bloku dimenzija N×N, koji odgovara kandidatu za vektor pomeraja ),( yx dd=d . Za vektor pomeraja bloka se uzima onaj vektor pomeraja koji daje minimalnu MSE:

)},({min),(),(

yxdd

ddMSEjiyx

=d (8.52)

Umesto MSE se, zbog jednostavnijeg izračunavanja, kao kriterijum usklađivanja često koristi srednja apsolutna greška (MAD), definisana kao:

),(),(1),( 1),(

2 yxkknm

yx dndmsnmsN

ddMAD ++−= +∈

∑∑B

(8.53)

pri čemu se vektor pomeraja bloka određuje kao:

)},({min),(),(

yxdd

ddMADjiyx

=d (8.54)

Treći kriterijum, nazvan maksimalni broj usaglašenih piksela u blokovima [36], definiše se na sledeći način. Svaki piksel u bloku B se klasifikuje kao usaglašen ili neusaglašen po kriterijumu:

≤++−

= +

drugde,0|),(),(|,1

),;,( 1 tdndmsnmsddnmT yxkk

yx (8.55)

178 8. Kompresija slike

gde je t odabrani prag. Onda je broj usaglašenih piksela u bloku dat izrazom:

∑∈

=B),(

),;,(),(nm

yxyx ddnmTddMPC (8.56)

a vektor pomeraja bloka:

)},({max),(),(

yxdd

ddMPCjiyx

=d (8.57)

Strategija pretraživanja

Da bi se tačno odredio pomeraj potrebno je ispitati ( )212 +p mogućih kandidata za vektor pomeraja i ta metoda se zove metoda potpunog pretraživanja. Na primer, ako je maksimalni dozvoljeni pomeraj 7=p , potrebno je ispitati 225 mogućih usklađivanja. Zbog velikog broja računskih operacija potpuno pretraživanje se vrlo retko koristi u praksi, pa je razvijen veliki broj brzih algoritama za nalaženje vektora pomeraja. Osnovna pretpostavka kod svih brzih algoritama je da srednja greška uzeta za kriterijum odlučivanja (MSE ili MAE) monotono raste kada se ispitivani blok udaljava od optimalnog položaja. Iako ova pretpostavka nije uvek zadovoljena kod realnih sekvenci slika, jer se u oblasti pretraživanja ponekad javlja više lokalnih minimuma, rezultati dobijeni primenom brzih algoritama su vrlo bliski optimalnim. Stoga će u daljem tekstu biti ukratko prikazano nekoliko brzih algoritama za nalaženje vektora pomeraja. Na slikama koje ilustruju algoritme, tačkama su označeni centralni elementi kvadratnih blokova koji se ispituju.

Najjednostavniji algoritam brzog pretraživanja je algoritam za nezavisno pretraživanje po osama [38], koji je prikazan na slici 8.32. Vektor pomeraja ),( jid se dobija kao rezultat nezavisnih pretraživanja po x-osi )0,(x i po y-osi ),0( y . U prvom koraku se ispituju tri tačke sa koordinatama

),( 1 jpi ± , 4,01 =p , koje su na slici 8.32 označene sa x1. Prvu aproksimaciju vektora pomeraja predstavlja tačka u kojoj je najmanja MAD (ili MSE) (u primeru na slici 8.32 to je tačka ),4( ji + ). U drugom koraku se izračunava MAD u dve tačke oko minimuma određenog u prvom koraku sa finijom rezolucijom (tačke obeležene sa x2). Ovaj korak se ponavlja sa finijom rezolucijom sve dok se ne dobije komponenta vektora pomeraja po x-osi sa željenom tačnošću. U slučaju kada je 7≤p do rezultata se dolazi u tri koraka. Na potpuno isti način se dobija i komponenta vektora pomeraja po y-osi. Prednost ove metode je mogućnost istovremenog pretraživanja po x i y osi.

j-7

i-6 i-5 i-4 i-3 i-2 i-1 i i+1 i+2 i+3 i+4 i+5 i+6

j-6

j+4

j+5

j+3

j+2

j+1

j

j-1

j-2

j-3

j-4

j-5

j+7

j+6

i-7 i+7

x1

y1

y1

y1 x2x3 x3

y3

y3

x2

y2

y2

x1 x1

Slika 8.32. Nezavisno pretraživanje po osama.

8. Kompresija slike 179

Nešto bolji rezultati estimacije pokreta dobijaju se postupkom paralelnog pretraživanja po osama [39], koji je prikazan na slici 8.33. Polazeći iz tačke ),( ji prvo se traži minimum srednje apsolutne greške po x-osi, a pretraživanje se završava kada se vrednost MAE nalazi između dve veće vrednosti (tačka ),5( ji + , označena sa 5 na slici 8.33). Sledeći korak je određivanje minimuma u pravcu y-ose, na isti način kao što je urađeno i u pravcu x-ose. Postupak se završava pretraživanjem po dijagonali (tačke označene sa 11 na slici 8.33).

j-7

i-6 i-5 i-4 i-3 i-2 i-1 i i+1 i+2 i+3 i+4 i+5 i+6

j-6

j+4

j+5

j+3

j+2

j+1

j

j-1

j-2

j-3

j-4

j-5

j+7

j+6

i-7 i+7

1

10 11

11

1

7

6

8

7

3 5

9

21 4

Slika 8.33. Paralelno pretraživanje po osama.

Još bolji rezultati se dobijaju postupkom dvodimenzionalnog logaritamskog pretraživanja [40], koji je ilustrovan na slici 8.34. U prvom koraku se ispituje pet tačaka oko centra pretraživanja (tačka ),( ji ) sa koordinatama ),( ji , ),2( ji ± i )2,( ±ji , (tačke označene sa 1 na slici 8.34). Tačka u kojoj srednja apsolutna greška ima minimum predstavlja prvu aproksimaciju vektora pomeraja. U svakom sledećem koraku se ispituje srednja apsolutna greška u 5 tačaka, a kao centar pretraživanja se uzima tačka sa prethodno izračunatim mimimumom. Postupak se završava kada se minimum nađe u centru pretraživanja ili na granici oblasti pretraživanja. U poslednjem koraku se ispituju sve susedne tačke poslednjeg izračunatog mimimuma, a tačka u kojoj srednja apsolutna greška ima mimimum se uzima za vektor pomeraja.

j-7

i-6 i-5 i-4 i-3 i-2 i-1 i i+1 i+2 i+3 i+4 i+5 i+6

j-6

j+4

j+5

j+3

j+2

j+1

j

j-1

j-2

j-3

j-4

j-5

j+7

j+6

i-7 i+7

1

4

1

1

1

2 4

4

2

3

5

5

35

5

5

5

5

2

1

5

Slika 8.34. Dvodimenzionalno logaritamsko pretraživanje.

Na slici 8.35 je prikazan algoritam za trostepeno pretraživanje, koji važi kao jedan od najboljih algoritama za estimaciju pokreta blokova [41]. U prvom koraku se ispituje devet tačaka sa

180 8. Kompresija slike

koordinatama ),( 11 pjpi ±± , 4,01 =p (obeležene oznakom 1 na slici 8.35). Tačka u kojoj srednja apsolutna greška ima minimum predstavlja prvu aproksimaciju vektora pomeraja (tačka ),4( ji + u primeru na slici 8.35). U drugom koraku se izračunava srednja apsolutna greška u osam tačaka oko tačke mimimuma određene u prvom koraku, sa finijom rezolucijom 12 pp < (obeležene oznakom 2 na slici 8.35). Ovaj korak se ponavlja sa finijom rezolucijom sve dok se ne dobije vektor pomeraja sa željenom tačnošću.

j-7

i-6 i-5 i-4 i-3 i-2 i-1 i i+1 i+2 i+3 i+4 i+5 i+6

j-6

j+4

j+5

j+3

j+2

j+1

j

j-1

j-2

j-3

j-4

j-5

j+7

j+6

i-7 i+7

1 1 1

1

1 1

2 2 2

2

222

3

3

3

3

3

3 3

3

21 1

1

Slika 8.35. Trostepeno pretraživanje.

Ako je 7≤p , za određivanje vektora pomeraja su potrebne samo tri iteracije ( 22 =p i 13 =p ), po čemu je algoritam i dobio ime. U primeru sa slike 8.35, u drugom koraku se dobija

)2,4( ++ ji , a finalni vektor pomeraja posle trećeg koraka je )3,5( ++ ji . Nedavno je predloženo jedno poboljšanje trostepenog algoritma [42], koje je prikazano na

slici 8.36. Kao i kod trostepenog algoritma, u prvom koraku se ispituje devet tačaka ),( 11 pjpi ±± , 4,01 =p , a ispituje je još osam novih tačaka ),( 22 pjpi ±± , 1,02 =p (obeležene sa 1 na slici

8.36). Ako se minimum nalazi u centru oblasti pretraživanja, postupak se prekida, a vektor pomeraja ima vrednost )0,0( . U slučaju kada je minimum u jednoj od tačaka ),( 11 pjpi ±± , postupak se nastavlja na potpuno isti način kao kod trostepenog algoritma. Ako je minimum u jednoj od tačaka ),( 22 pjpi ±± , ispituje se još 3 ili 5 susednih tačaka, a kao vektor pomeraja se uzima tačka u kojoj srednja apsolutna greška ima mimimum.

j-7

i-6 i-5 i-4 i-3 i-2 i-1 i i+1 i+2 i+3 i+4 i+5 i+6

j-6

j+4

j+5

j+3

j+2

j+1

j

j-1

j-2

j-3

j-4

j-5

j+7

j+6

i-7 i+7

1 1 1

1

1 1

2 2 2

2

222

3

3

3

3

3

3 3

3

21

1 1 1

1 1

1 1 1

1

1

Slika 8.36. Poboljšano trostepeno pretraživanje.

8. Kompresija slike 181

Izbor algoritma za pretraživanje zavisi od više faktora: složenosti izračunavanja, tačnosti određivanja pomeraja, jednostavnosti softverske ili hardverske realizacije, itd. U radu [37] je izvršeno poređenje opisanih algoritama po tri kriterijuma: složenosti izračunavanja tačnosti određivanja vektora pomeraja i greške koju algoritam pretraživanja unosi u postupak kompresije. U Tabeli 8.1 je dato poređenje algoritama po broju koraka i broju tačaka koje treba ispitati u korišćenom primeru )3,5( ++ ji , kao i za najlošiji slučaj za 7=p .

Tabela 8.1. Poređenje opisanih algoritama po broju koraka i broju tačaka izračunavanja.

Algoritam Primer ( , )i j+ +5 3 Najlošiji slučaj za p = 7

Koraka Tačaka Koraka Tačaka

Nezavisno 3 13 3 13

Paralelno 11 15 20 23

2Dlog 5 21 8 28

Trostepeno 3 25 3 25

Poboljšano trostepeno 3 33 3 33

U Tabeli 8.2 su prikazani rezultati poklapanja vektora pomeraja blokova određenih algoritmima za brzo pretraživanje sa vektorima pomeraja određenih metodom potpunog pretraživanja. U ispitivanju je korišćeno prvih trideset slika iz poznate test sekvence sekvence Miss America, svaka slika je bila podeljena na blokove dimenzija 88× piksela, a maksimalni pomeraj je mogao biti 7± piksela. Ukupno je procesirano 40716 blokova. U prvoj vrsti je dat broj blokova sa tačno određenim pomerajem, u drugoj vrsti broj blokova sa pomerajem koji se po x i y osi razlikuju za najviše 1± piksel, u trećoj vrsti za 2± piksela, u četvrtoj vrsti za 3± piksela, a u poslednjoj vrsti preostali broj blokova.

Tabela 8.2. Poređenje tačnosti određivanja vektora pomeraja ispitivanih algoritama.

Pomeraj Nezavisno Paralelno 2Dlog Trostepeni Poboljšani trostepeni

tačan 6077 13892 14995 16189 19397

±1 6363 2279 1532 1372 979

±2 3419 3438 1978 1740 2301

±3 4053 3295 3284 3412 2993

ostalo 20804 17812 18927 18003 15046

Isto tako su važni rezultati poređenja algoritama po kvalitetu kompresije. Naime, dobar algoritam za estimaciju pokreta omogućava bolju kompenzaciju pokreta, što snižava bitski protok pri istom kvalitetu (meren odnosom signal/šum), ili poboljšava kvalitet pri istom bitskom protoku. Na slici 8.37 su prikazani rezultati za vršni odnos signal/šum (PSNR) za simulaciju kompresije prvih trideset slika iz test sekvence Miss America pri bitskom protoku od 0.5 b/p.

Iz izloženih rezultata se vidi da u pogledu tačnosti određivanja vektora pomeraja i kvaliteta komprimovanih slika prednost imaju trostepeni i modifikovani trostepeni algoritam, ali da i drugi algoritmi imaju svoje dobre osobine. Upravo zbog toga, postojeći standardi za kompresiju video signala ne propisuju nijedan algoritam za estimaciju pokreta kao obavezan, već samo propisuju kako se prenose određeni vektori pomeraja.

182 8. Kompresija slike

0 5 10 15 20 25 30

32

33

34

35

36

37

38

39

40

41

P3-step2Dlog

3-step

Paral.

Nezav.

PSNR

(dB)

Redni broj slike Slika 8.37. Vršni odnos signal/šum procenjenih i rekonstruisanih slika sekvence Miss America pri B = 0.5 b/p.

Izbor dimenzija bloka

Izbor dimenzija bloka je od suštinske važnosti za uspešno funkcionisanje algoritma usaglašavanja blokova i uvek je plod kompromisa. Ako je veličina bloka suviše mala, može se ustanoviti slaganje blokova slične sadržine, koji nisu ni u kakvoj međusobnoj vezi. Takođe, uticaj šuma na estimaciju pokreta postaje veliki. S druge strane, ako je veličina bloka velika, u bloku se mogu naći i delovi pokretnog objekta kao i delovi pozadine. Tada se vektori pomeraja unutar bloka znatno razlikuju, što je suprotno pretpostavci da jednom bloku odgovara jedan vektor pomeraja. U tom slučaju se smanjuje pouzdanost procene vektora pomeraja. Na izbor veličine bloka utiču i neki drugi faktori, od kojih je najznačajnija računska efikasnost, i to ne samo postupaka estimacije i kompenzacije pokreta, već i drugih postupaka koji se tokom kompresije primenjuju na odgovarajući blok. U praksi se najčešće koriste blokovi dimenzija 8×8 piksela, mada se ponekad koriste i blokovi većih dimenzija, 16×16 ili 32×32 piksela.

Znatno bolji rezultati estimacije i kompenzacije pokreta, a time i kompresije, postižu se primenom adaptivnih i hijerarhijskih metoda usklađivanja blokova, kod kojih se veličina blokova menja tokom postupka estimacije pokreta.

Adaptivni metodi estimacije pokreta zasnovani su na izboru odgovarajuće veličine bloka prema aktivnosti tog dela slike. U jednom od metoda, koji je opisan u radu [43], slika se prvo deli na blokove od 16×16 piksela, i odrede se vektori pomeraja blokova kao i kompenzovana razlika blokova (greška predikcije). Ako je greška predikcije četiri susedna bloka manja od nekog praga, ti blokovi se spajaju u jedan veći blok od 32×32 piksela. Ako je pak greška predikcije nekog bloka veća od praga, taj blok se deli na četiri manja bloka od 8×8 piksela. Zatim se odrede vektori pomeraja novoformiranih blokova, što obezbeđuje manju grešku predikcije posle kompenzacije pokreta. Kao primer ove adaptivne tehnike, na slici 8.38 je prikazana deseta slika iz videokonferencijske sekvence Salesman u CIF formatu, koja je podeljena na blokove opisanim adaptivnim algoritmom.

Hijerarhijski (multirezolucioni) metodi estimacije pokreta se takođe izvode u više koraka. U prvom koraku, koji se primenjuje na sliku najniže rezolucije, određuju se grube procene vektora pomeraja blokova. Zatim se, u narednim koracima, koji se sprovode na slikama veće rezolucije,

8. Kompresija slike 183

određuju finije aproksimacije vektora pomeraja blokova, pri čemu se kao početne vrednosti koriste vektori pomeraja određeni iz slike niže rezolucije. S obzirom da je početna vrednost dobra, može se koristiti uža oblast pretraživanja. U praksi se formiranje slika niže rezolucije, koje se može izvršiti procesom decimacije, najčešće i ne vrši. Umesto toga se procena pomeraja uvek vrši na slikama istih dimenzija, dobijenih usrednjavanjem grupe susednih piksela i dodelom srednje vrednosti celom bloku. Što je rezolucioni nivo niži, blok za usrednjavanje je veći.

Slika 8.38 Deseta slika iz CIF sekvence Salesman, podeljena na blokove od 8×8, 16×16, ili 32×32 piksela

na osnovu veličine greške predikcije.

Modifikovani hijerarhijski algoritam pretraživanja u dva rezoluciona nivoa ilustrovan je primerom koji je prikazan na slici 8.39. U prvom nivou je dozvoljeni pomeraj 7=p , pa je veličina oblasti pretraživanja 16×16 piksela. U drugom nivou je 3=p , a oblast pretraživanja 7×7 piksela. Trostepenim pretraživanjem je u prvom nivou pronađen minimum u tački )3,5( , što predstavlja početnu tačku za pretraživanje u drugom nivou. Pretraživanjem u drugom nivou je preciznije određen položaj minimuma u tački sa relativnim koordinatama )1,3( , tako da je konačni položaj minimuma u tački )4,8( ++ ji .

j-7

i-6 i-5 i-4 i-3 i-2 i-1 i i+1 i+2 i+3 i+4 i+5 i+6

j-6

j+4

j+5

j+3

j+2

j+1

j

j-1

j-2

j-3

j-4

j-5

j+7

j+6

i-7 i+7

1 1 1

1

1 1

2 2 2

2

222

3

3

3

3

3

3 3

3

20 1

1

1 1

1

1 1 1

1

1

2 2 2

22

2 2 2

0

Slika 8.39 Hijerarhijski algoritam usklađivanja blokova u dva nivoa.

U praktičnim aplikacijama koristi se do pet rezolucionih nivoa, sa oblastima pretraživanja od 64×64 piksela do 4×4 piksela, i prozorima za usrednjavanje od 10×10 piksela do 3×3 piksela. Uz pomoć interpolacije može se postići i tačnost određivanja pomeraja ispod jednog piksela.

184 8. Kompresija slike

8.7.2.2 Estimacija pokreta usklađivanjem deformisanih blokova

Generalizacijom postupka usklađivanja translatorno pomerenih blokova dozvoljavaju se rotacija i promena oblika bloka. Dakle, umesto jednačina za čisto translatorni pomeraj:

y

x

dyydxx

+=+=

1

1 (8.58)

koriste se jednačine koje opisuju afinu transformaciju bloka:

y

x

dyaxaydyaxax

++=++=

431

211 (8.59)

Jednačinama (8.59) se mogu opisati rotacija i transformacija pravougaonog bloka u paralelogram, ali se ne može opisati perspektiva. Da bi se uzeo u obzir uticaj perspektive pri transformaciji, koriste se perspektivne transformacije opisane jednačinama:

1

1

87

6541

87

3211

++++

=

++++

=

yaxaayaxay

yaxaayaxax

(8.60)

Afine i perspektivne transformacije jednog kvadratnog bloka su prikazane na slici 8.40. One odgovaraju ortografskim ili perspektivnim projekcijama kretanja trodimenzionalnog krutog tela na ravan. Umesto (8.60) se često koristi i bilinearna transformacija, koja nema nikakve veze sa fizičkim kretanjem u 3D prostoru, ali je računski jednostavnija:

y

x

dxyayaxaydxyayaxax

+++=+++=

5441

3211 (8.61)

Bilinearna transformacija jednog kvadratnog bloka je takođe prikazana na slici 8.40.

Afinatransformacija

Perspektivnatransformacija

Bilinearnatransformacija

Slika 8.40 Afina, perspektivna i bilinearna transformacija kvadratnog bloka.

8. Kompresija slike 185

Osim blokova kvadratnog oblika, u praksi se koriste blokovi trougaonog oblika, koji zahtevaju manji broj jednačina za određivanje parametara kretanja [44]. U tom slučaju se tekuća slika podeli na veliki broj trougaonih blokova, kao na slici 8.41. Prethodna (ili naredna) slika se takođe deli na isti broj trouglova, ali su njihova temena pomerena zbog pokreta u sekvenci slika. Pri određivanju vektora pomeraja temena trouglova, svako teme trougla se podvrgava afinoj transformaciji, što zahteva određivanje šest slobodnih parametara iz jednačine (8.59). Kao početna rešenja za vektore pomeraja mogu se uspešno koristiti vektori pomeraja određeni korišćenjem kvadratnih blokova. Kada se odrede afini parametri temena svakog trougla sintetizuje se predikcija tekuće slike preslikavanjem nivoa sivog (boje ili teksture) odgovarajućeg trougla iz prethodne slike, što je takođe prikazano na slici 8.41. Oduzimanjem predikcije tekuće slike od stvarne vrednosti dobija se slika greške sinteze. Na kraju se vrši kodovanje i prenos svih vektora pomeraja kao i slike greške sinteze.

Slika k-1 Slika k

Slika 8.41 Kompenzacija pokreta korišćenjem trougaonih blokova.

8.7.3 KODOVANJE VIDEO SIGNALA ZASNOVANO NA MODELOVANJU SCENE

Pri današnjem stepenu razvoja telekomunikacija, gde sve više dolazi do izražaja integracija klasičnih telekomunikacija, računarske tehnike i multimedijalnih tehnika, postoji veliki komercijalni interes za prenos videofonskog signala po standardnim telefonskim linijama, čiji je kapacitet reda 10 Kb/s. Pri takvim bitskim protocima, prethodno opisani metodi trodimenzionalnog kodovanja i kodovanja sa kompenzacijom pokreta ne daju dovoljno dobre rezultate. Naime, trodimenzionalnim kodovanjem se ne može postići dovoljno veliki stepen kompresije, a kodovanje sa kompenzacijom pokreta pri takvim bitskim protocima stvara vrlo izražene blokovske distorzije. Stoga se poslednjih nekoliko godina sprovode obimna istraživanja novih metoda kompresije, koji su zasnovani na strukturnim modelima, a nazivaju se analitičko-sintetičko kodovanje zasnovano na modelovanju (engl. analysis-synthesis model-based coding). Iako su veoma raznoliki po idejama, novi metodi kompresije se uglavnom sastoje iz tri faze:

1. Analiza slike. Tekuća slika iz sekvence koja se koduje se segmentira na posebne pokretne objekte, pri čemu se koristi znanje stečeno u prethodnim slikama. Svaki izdvojeni objekt se karakteriše skupom parametara koji opisuju njegov oblik i kretanje.

2. Sinteza slike. Tekuća slika se sintetizuje na osnovu procenjenih parametara koji opisuju oblik i kretanje i informacija iz prethodnih slika. Razlika između stvarne i sintetizovane slike predstavlja meru validnosti modela. Za one oblasti slike gde je takva razlika velika smatra se da model ne važi.

3. Kodovanje. Parametri koji opisuju oblik i kretanje objekata, kao i parametri koji opisuju boju (nivo sivog) u oblasitma gde model ne važi, koduju se entropijskim kodovanjem i prenose.

186 8. Kompresija slike

Prema načinu formiranja i korišćenja modela pokretnih objekata, metode zasnovane na modelovanju se dele u tri grupe: objektno orijentisano kodovanje (engl. object-based coding), kodovanje zasnovano na znanju (engl. knowledge-based coding) i semantičko kodovanje (engl. semantic coding).

8.7.3.1 Objektno orijentisano kodovanje

Metodi koji pripadaju grupi objektno orijentisanih kodnih metoda su zasnovani na strukturnim modelima slike koji se izvode iz trodimenzionalne reprezentacije scene pomoću nepoznatih pokretnih objekata [45]. Razlike između metoda su u načinu tretiranja objekata (dvodimenzionalni ili trodimenzionalni, kruti ili fleksibilni) i u načinu opisa njihovog kretanja (u dvodimenzionalnom ili trodimenzionalnom prostoru).

U primenu objektno orijentisanih metoda kodovanja, uobičajeno je da se slika deli na nepromenjenu oblast (statičku pozadinu) i promenjene oblasti (pokretne objekte i pozadinu koja se otkriva zbog kretanja objekta). Pokretni objekti se mogu opisati modelom ili se moraju opisati parametrima boje ako se ne mogu modelovati.

Opšta karakteristika objektno orijentisanih metoda je velika računska složenost i osetljivost na šum. Prednost im je što ne postavljaju nikakva ograničenja u pogledu sadržaja slike. Efikasnost metoda zavisi od složenosti modela. Složeniji modeli daju veći stepen kompresije, ali imaju veću računsku složenost. Osnovni problem je što se u tipičnim videofonskim scenama jedan deo slike (od 3% do 9%) ne može adekvatno modelovati. Zbog toga je objektno orijentisano kodovanje pogodno za prenos videofonskih i videokonferencijskih sekvenci po kanalima kapaciteta iznad 16 Kb/s [46].

8.7.3.2 Kodovanje zasnovano na znanju

Tipične videofonske sekvence imaju vrlo ograničen sadržaj, jer jedini pokretni objekt predstavlja glava i (eventualno) ramena govornika. Takvo apriorno poznavanje sadržaja scene omogućava modelovanje objekta žičanim (engl. wireframe) modelom. Žičani model objekta, koji je dobro poznat iz računarske grafike, predstavlja skup povezanih trougaonih površina. Na slici 8.42 su prikazana dva žičana modela glave koja se koriste u praksi [47], [48]. Pošto se isti model scene koristi i na predajnoj i na prijemnoj strani u fazi analize slike treba odrediti samo parametre modela, koji se onda prenose. Kretanje objekta se može opisati pomerajima temena modela. Globalni parametri 3D modela opisuju translaciju i rotaciju glave od slike do slike. Lokalni parametri 3D modela opisuju deformacije modela, tj. pokrete očiju, usta, i druge izraze lica. Naravno, u delovima slike koji se ne mogu modelovati, mora se prenositi boja.

(a) (b)

Slika 8.42 Žičani modeli glave: (a) Aizawa model, (b) CANDIDE model.

8. Kompresija slike 187

U poređenju sa objektno orijentisanim kodovanjem, kodovanje zasnovano na znanju ima znatno manju računsku složenost i daje veći stepen kompresije. Kodovanje video signala zasnovano na znanju uspešno modeluje globalne pokrete glave, dok je modelovanje lokalnih pokreta znatno teže. Zbog lošeg modelovanja izraza lica za pojedine delove objekta se mora prenositi boja. Pa ipak, kodovanjem zasnovanim na znanju se može ostvariti bitski protok reda 1 Kb/s [49].

8.7.3.3 Semantičko kodovanje

Semantičko kodovanje predstavlja modifikaciju kodovanja zasnovanog na znanju koja je izvršena u cilju boljeg opisa lokalnih pokreta. Lokalni pokreti lica se kod semantičkog kodovanja opisuju pomoću tzv. akcionih jedinica. Skup akcionih jedinica koji najbolje opisuje izraz lica se određuje prilikom analize slike posle eliminacije globalnog pokreta. Dakle, i kod semantičkog kodovanja se koristi žičani model, ali je on dopunjen dodatnim informacijama o pokretu akcionih jedinica [50].

Semantičkim kodovanjem se može postići bitski protok od svega 500 b/s.

8.8 STANDARDI ZA KOMPRESIJU VIDEO SIGNALA

S obzirom da je kodovanje video signala predmet istraživanja već preko dve decenije, razvijen je veliki broj algoritama, koji je implementiran i testiran na postojećim komunikacionim kanalima. Da bi se omogućilo međusobno povezivanje opreme različitih proizvođača, nekoliko internacionalnih organizacija je definisalo standarde za kompresiju i prenos video signala. Među njima su najpoznatiji H.261 i H.263 za prenos videokonferencija i videofonije, kao i MPEG standardi (MPEG-1, MPEG-2 i MPEG-4) koji su namenjeni standardizaciji multimedijalnih sistema i digitalne televizije [51].

8.8.1 H.261 STANDARD

Standard H.261 je namenjen standardizaciji prenosa slike kroz širokopojasnu digitalnu telefonsku mrezu (ISDN) [52], [53]. Poznat je i kao standard p×64 Kb/s jer se za prenos koristi p ISDN kanala kapaciteta 64 Kb/s. Moguće vrednosti parametra p leže u granicama 301 ≤≤ p . Uglavnom je namenjen za videofoniju i videokonferencije.

8.8.1.1 Formati slike u H.261 standardu

U H.261 standardu su definisana dva formata slike. Prvi format, poznat kao CIF (Common Intermediate Format), ima rezoluciju 352×288 za luminentnu komponentu (Y) i 176×144 za hrominentne komponente (Cr i Cb) video signala. S obzirom da je učestanost slika standardizovana na 30 slika/s, i da se za reprezentaciju svake komponente koristi po 8 bita, potreban bitski protok za prenos nekomprimovanog CIF video signala je 36.5 Mb/s. Drugi format je QCIF (Quarter CIF) čija je rezolucija 176×144 za luminentnu, i 88×72 za hrominentne komponente, a koji zahteva bitski protok od 9.12 Mb/s. Dakle, za prenos oba formata video signala ISDN kanalima potrebno je ostvariti znatan stepen kompresije (tipično oko 100 puta). Pošto je QCIF format uglavnom namenjen za videofonske aplikacije, gde se uglavnom vidi samo lice sagovornika, učestanost slika se obično snižava na 10 slika/s. Tada je za vrednost parametra 1=p ili 2 potreban stepen kompresije od svega 47.5. S druge strane, CIF format se koristi za prenos slike boljeg kvaliteta,

188 8. Kompresija slike

kakva je uglavnom potrebna kod videokonferencija, pa su tipične vrednosti p za prenos slike u CIF formatu 6≥p .

8.8.1.2 Struktura podataka u H.261 standardu

Za primenu algoritama kompresije slika se hijerarhijski deli na blokove. Jedan blok ima 8×8 piksela. Četiri bloka luminentne komponente (Y) i dva bloka hrominentnih komponenata (Cr, Cb) čine makroblok (MB). Viša hijerarhijska struktura je grupa blokova (GOB), koju čine 33 (3×11) makrobloka. Jedna QCIF slika ima 4 grupe blokova, dok jedna CIF slika ima 12 grupa blokova.

Posebna pažnja u standardu posvećena je definisanju četvoroslojne hijerarhijske strukture video podataka. Podaci o svakoj slici počinju zaglavljem slike (20-bitni startni kod i podaci o formatu slike, rednom broju slike, itd.), za kojim slede podaci o grupama blokova (GOB). Jedan GOB nivo sadrži zaglavlje (16-bitni startni kod, i informacije o položaju grupe blokova, itd), za kojim slede podaci o makroblokovima (MB). U zaglavlju makroblokova se nalaze podaci o adresi makrobloka (MBA), podaci o tipu kompresije (MTYPE), podaci o koraku kvantizera (MQUANT), podaci o vektoru pomeraja (MVD), i podaci o blokovima za koje se prenose podaci (CBP). Na najnižem stupnju hijerarhije su podaci o blokovima. Na kraju se nalazi fiksni kod za kraj slike.

8.8.1.3 Algoritmi primenjeni u H.261 standardu

Standard H.261 definiše algoritme za eliminaciju redundanse, algoritme kvantovanja, strukturu kodera i dekodera, kao i strukture podataka. Da bi se ostvario potreban stepen kompresije prvo se mora eliminisati prostorna i vremenska redundansa iz sekvence slika. Vremenska redundansa se eliminiše adaptivnom procenom sadržaja tekuće slike na osnovu prethodne (estimacija pokreta) i oduzimanjem tekuće slike od procenjene (DPCM). Prostorna redundansa se eliminiše primenom diskretne kosinusne transformacije (DCT) za kodovanje dobijene slike.

Interesantno je da standard ne propisuje korišćenje nekog specifičnog algoritma za estimaciju pokreta, već je važno samo odrediti i preneti vektore pomeraja blokova. Takođe nije propisan ni mehanizam regulisanja bitskog protoka, koji je određen izborom načina rada i načinom donošenja odluke da li se neki blok prenosi ili ne. Ipak, u praksi se najviše koristi implementacija poznata kao Referentni model 8 [54], koja je korišćena prilikom testiranja standarda.

Blok dijagram kodera izvorne slike u H.261 standardu je prikazan na slici 8.43. Blokovi označeni sa FDCT i IDCT obavljaju direktnu i inverznu kosinusnu transformaciju nad blokovima od 8×8 piksela. Kod prenosa prve slike u sekvenci estimator pokreta nije aktivan, pa se prva slika prenosi intrafrejm kompresijom, na sličan način kao u JPEG standardu, odnosno, izvorna slika se transformiše po blokovima, zatim se vrši linearno kvantovanje odabranih DCT koeficijenata i njihovo kodovanje kodom promenljive dužine.

Kod prenosa narednih slika iz sekvence aktivira se estimator pokreta koji radi na sledeći način. Svaka slika koja se prenosi se rekonstruiše na isti način kao na prijemnoj strani i pamti u memoriji. Estimacija pokreta se vrši poređenjem luminentne komponente jednog makrobloka iz tekuće slike sa makroblokovima iz prethodne slike.

Ako se ne može pronaći vektor pomeraja makrobloka, primenjuje se intrafrejm kompresija makrobloka, ili se vrši interfrejm kompresija razlike posmatranog makrobloka i makrobloka na istoj poziciji u prethodnoj slici.

8. Kompresija slike 189

FDCT

IDCT

Kvantizer

Dekvantizer

MemorijaFiltar

Kontrola kodovanja

Videosignal

Intra/InterPrenos blokaTip kvantizera

Indekskoeficijenta

Vektor

Filtarpomeraja

Slika 8.43 Blok šema H.261 kodera.

Ako se može odrediti vektor pomeraja makrobloka, formira se razlika odgovarajućih makroblokova iz tekuće i prethodne slike, sa i bez kompenzacije pokreta. Ako je neka od od ovih razlika manja od postavljenog praga, to znači da se makroblok samo translirao bez značajne promene sadržaja, pa se podaci o tom makrobloku ne prenose. Ako su obe razlike veće od praga, primenom DCT transformiše se ona razlika koja ima manju vrednost, a zatim se vrši adaptivno kvantovanje dobijenih DCT koeficijenata i njihovo entropijsko kodovanje.

Da bi se sprečila akumulacija grešaka zbog nesaglasnosti implementacija inverzne DCT na predajnoj i prijemnoj strani, standard predviđa da se intrafrejm kodovanje nekog makrobloka mora izvršiti najmanje jednom u 132 sukcesivne slike.

Prostorni NF filtar u petlji estimatora služi za eliminaciju VF šuma. Ovaj filtar je separabilan i dobijen je kaskadnom vezom dva 1D FIR filtra sa koeficijentima 0.25, 0.5, 0.25. Da bi se izbegli ivični efekti, pri filtriranju ivičnih piksela u bloku koriste se koeficijenti 0, 1, 0.

8.8.1.4 Adaptivno kvantovanje u H.261 standardu

Kao što je već rečeno, kvantovanje DCT koeficijenata predstavlja osnovni izvor kompresije u transformacionom kodovanju slike. Da bi se ostvario što veći stepen kompresije, u H.261 standardu se pored kvantovanja vrši i adaptivno poređenje koeficijenata sa pragom.

Adaptivno poređenje DCT koeficijenata sa pragom se primenjuje pre kvantovanja sa ciljem da se poveća broj koeficijenata čija je vrednost nula. Koeficijenti su predstavljeni sa tačnošću od 12 bita i nalaze se u opsegu [-2048, 2047]. Adaptivno poređenje sa pragom se započinje definisanjem početne vrednosti praga, koja je jednaka koraku kvantizera. Maksimalna vrednost praga je za 50% veća. Zatim se poredi prvi koeficijent sa pragom. Ako je koeficijent veći od praga, koeficijent i prag ne menjaju svoje vrednosti. Ako je koeficijent manji od praga, koeficijent se anulira i poredi prag sa maksimumom. Ako je prag manji od maksimuma, vrednost praga se povećava za 1, a ako je jednak maksimumu, onda zadržava istu vrednost. Posle toga se prelazi na ispitivanje sledećeg koeficijenta.

Kvantovanje DCT koeficijenata se vrši uniformnim kvantizerom, koji je isti za sve koeficijente unutar jednog makrobloka, izuzev za DC koeficijent kod intrafrejm kompresije. DC koeficijent kod intrafrejm kodovanja se kvantuje sa korakom 8, a kvantizer nema mrtvu zonu oko nule. Kvantizer za ostale koeficijente ima mrtvu zonu oko nule, a korak kvantizera je definisan promenljivom MQUANT koja uzima parne vrednosti u opsegu od 2 do 62. Izbor vrednosti za MQUANT je adaptivan i zavisi od popunjenosti izlaznog bafera u entropijskom koderu. Kapacitet

190 8. Kompresija slike

izlaznog bafera je određen maksimalnim dopuštenim kašnjenjem u koderu od 150 ms. Kada je bafer skoro popunjen povećava se korak kvantovanja MQUANT za naredne makroblokove, ili se čak vrši ispuštanje podataka.

8.8.1.5 Entropijsko kodovanje u H.261 standardu

Da bi se povećala efikasnost kompresije, posle kvantovanja se DCT koeficijenti očitavaju po cik-cak putanji sa slike 8.18 i definišu se parovi simbola (RUN, LEVEL). U ovim parovima RUN predstavlja broj DCT koeficjenata jednakih nuli, koji prethode nenultom DCT koeficijentu čija je kvantovana vrednost LEVEL. Za blokove od 8×8 piksela moguće vrednosti simbola su:

630 ≤≤ RUN , qLEVELq 127128 ≤≤− , gde je MQUANTq = korak kvantizera za taj makroblok. Parovi simbola (RUN, LEVEL) se zatim koduju entropijskim koderom. U H.261 standardu je

definisano čak pet različitih tablica za kodove promenljive dužine.

8.8.1.6 Implementacija H.261 standarda

S obzirom da je H.261 predstavljao prvi internacionalni standard za prenos video signala, izazvao je veliki interes proizvođača telekomunikacione opreme i komponenata. Na tržištu su se neposredno po usvajanju standarda pojavile razne hardverske i softverske implementacije. Najznačajniji proizvođači integrisanih kola za implementaciju uređaja po H.261 standardu su:

1. C-Cube proizvodi integrisano kolo CL-4000 koje može kodovati video signal po standardima H.261, JPEG i MPEG-1.

2. GEC Plessey proizvodi skup integrisanih kola za implementaciju H.261 standarda. Osim hardverskih implementacija, u poslednje vreme su se pojavile i softverske

implementacije, koje su namenjene simulacijama prenosa slike po H.261 standardu, a na bržim računarima omogućavaju i rad u realnom vremenu. Neke od takvih implementacija su javno dostupne na Internetu, pa se mogu koristiti za dalja istraživanja. Korisniku najčešće stoji na raspolaganju izvorni C kod i odgovarajuća dokumentacija. Jedna od takvih softverskih implementacija je „PVRG-P64“, koju je napravila Portable Video Research Group sa Stanford univerziteta u SAD. Druga takva softverska implementacija je „INRIA H.261 codec“, koja potiče iz poznatog francuskog istraživačkog centra INRIA.

8.8.2 H.263 STANDARD

Standard H.263 je namenjen standardizaciji prenosa slike po standardnim telefonskim komutiranim linijama pri bitskom protoku ispod 64 Kb/s, koji nije bio pokriven nijednim standardom [55], [56]. Nastao je modifikacijama postojećeg H.261 standarda. Zbog vrlo kratkih rokova za pripemu standarda, originalnim tekstom standarda [55] definisana su samo najneophodnija poboljšanja standarda H.261, ali je ostavljena mogućnost za dalja usavršavanja.

Osnovna razlika između H.261 i H.263 standarda je u ciljnom bitskom protoku. H.261 je trebalo da se koristi za prenos slike iznad 64 Kb/s, dok je H.263 trebalo da se koristi ispod 64 Kb/s, najčešće pri protoku od 22 Kb/s. Da bi se ostvario ovaj cilj načinjena su četiri mala poboljšanja algoritama propisanih H.261 standardom. Iako svako od ovih poboljšanja pojedinačno malo doprinosi ukupnim performansama, kada se primene sva četiri zajedno, performanse sistema se značajno poboljšavaju [57]. Osnovna poboljšanja algoritama su:

8. Kompresija slike 191

1. Vektori pomeraja blokova se određuju boljim prediktorom sa tačnošću od pola piksela, čime je eliminisana potreba za filtriranjem u petlji estimacije. Takođe je omogućen adaptivni prelaz sa estimacije pokreta na nivou makrobloka (16×16) na estimaciju pokreta na nivou bloka (8×8).

2. Adaptacija kvantizera je poboljšana. 3. Optimizovane su tabele za kodove promenljive dužine. 4. Poboljšano je adresiranje makroblokova, što omogućava efikasniji tretman ispuštenih

makroblokova. Takođe su dodate još neke opcije, od kojih je najvažnija uvođenje novog formata slike

sub-QCIF, koji je namenjen videofoniji lošijeg kvaliteta pri vrlo niskom bitskom protoku od 10 Kb/s. Sub-QCIF ima rezoluciju luminentne komponente 128×96 piksela, a rezolucija hrominentnih komponenata je 64×48 piksela. Učestanost slika je 5-30 slika/s.

Kasnije se ispostavilo da kvalitet slike dobijene primenom H.263 standarda prevazilazi kvalitet slike dobijen pomoću H.261 standarda pri svim bitskim protocima, a ne samo ispod 64 Kb/s. Rezultati jednog ispitivanja, koji su saopšteni u radu [57], pokazali su da pri prenosu jedne QCIF sekvence sa 12.5 slika/s, pri protoku od 64 Kb/s, H.263 nadmašuje H.261 po kvalitetu slike za oko 2-4 dB. Pošto je računska složenost algoritama primenjenih u H.263 standardu samo neznatno veća od složenosti algoritama iz H.261 standarda, standard H.261 se u budućnosti više neće koristiti.

8.8.3 MPEG-1 STANDARD

Prethodno opisani standardi H.261 i H.263 namenjeni su za prenos sekvenci slika lošijeg kvaliteta ili slika snimljenih pod specijalnim uslovima. To je uslovljeno relativno malim dopuštenim bitskim protokom korišćenih kanala (ispod 64 Kb/s za sub-QCIF, 64-128 Kb/s za QCIF, i n×384 Kb/s, 61 ≤≤ n , za CIF). Međutim, kvalitet slike definisan ovim standardima nije dovoljan za primenu u multimedijalnim sistemima, a za interaktivne primene se postavljaju i drugi zahtevi koje nije moguće zadovoljiti zbog male fleksibilnosti H.261 i H.263 standarda. Zbog toga se pristupilo izradi posebnog standarda za kodovanje sekvenci slika boljeg kvaliteta, koji je nazvan MPEG-1 po nazivu radne grupe koja ga je pripremila (Motion Photographic Experts Group) [58].

MPEG-1 je tzv. generički standard što znači da je nezavisan od bilo kakve aplikacije. S obzirom na raznolikost multimedijalnih sistema pri formulaciji standarda postavljeno je nekoliko važnih zahteva [59], [60]:

• Slučajni pristup. Pod ovim terminom se podrazumeva da komprimovani niz podataka bude pristupačan iznutra i da se svaka slika može dekodovati u ograničenom intervalu vremena.

• Brzo pretraživanje unapred i unazad. U sistemima za skladištenje treba omogućiti brzo pretraživanje unapred ili unazad korišćenjem posebnih pristupnih tačaka u sekvencu i omogućavanjem prikaza odabranih slika.

• Reprodukcija unazad. Ova mogućnost je ponekad potrebna u interaktivnim sistemima, čak i po cenu smanjenog kvaliteta slike.

• Audiovizuelna sinhronizacija. Standard treba da omogući sinhronizaciju slike i zvuka i u slučaju kada su video i audio signal generisani u sistemima čiji je takt različit.

• Otpornost na greške. I pored primene sistema za zaštitno kodovanje, sistem treba da bude otporan na eventualne zaostale greške koje ne smeju da imaju katastrofalne posledice.

192 8. Kompresija slike

• Kašnjenje pri kodovanju i dekodovanju. Za razliku od sistema za videokonferencije gde se ne toleriše kašnjenje pri kodovanju i dekodovanju veće od 150 ms, standard treba da dozvoli i veća kašnjenja (do 1 s), ukoliko se time postiže bolji kvalitet slike.

• Mogućnost editovanja. Iako se zbog kompresije u vremenu svaka slika iz sekvence ne komprimuje nezavisno, treba omogućiti prikaz i editovanje svake slike u kratkom intervalu vremena.

• Fleksibilnost formata. Ova opcija se odnosi na raznovrsnost formata slike (broj piksela po horizontali i vertikali) i broj slika u sekundi.

Veliki stepen kompresije kod MPEG-1 standarda se postiže trostepenom kompresijom [60]. U prvom stepenu, koji se naziva redukcija frekvencijskog opsega signala, vrši se usklađivanje rezolucije izvornog signala sa traženim bitskim protokom i smanjenje rezolucije hrominentnih signala na subjektivno zadovoljavajući nivo. U drugom stepenu se eliminišu prostorna i vremenska redundansa primenom kompenzacije pokreta, diskretne kosinusne transformacije i kvantizacionih tehnika. Na kraju, u trećem stepenu se vrši entropijsko kodovanje bez gubitaka.

8.8.3.1 Predobrada izvornog video signala

Za razliku od televizije gde se operiše sa pojmovima slika (frame) i poluslika (field), elementarni koncept u MPEG-1 standardu je slika (picture). Slika u MPEG-1 standardu odgovara jednom trenutku vremena, a video signal je u formatu bez proreda (preplitanja). Mada je broj slika u sekundi fleksibilan, najčešće se koriste brzine od 24, 25 i 30 slika u sekundi. Stoga je prva faza u svakom MPEG-1 koderu pretvaranje izvornog video signala u MPEG-1 format. Ova faza uključuje decimaciju po vremenu (ispuštanje slika), horizontalno filtriranje i decimaciju, kao i decimaciju hrominentnih signala.

MPEG-1 izvorni format SIF (Standard Input Format) koristi kolor koordinatni sistem definisan ITU-R Preporukom 601 (Y, Cr, Cb) [28], pri čemu je svaka komponenta predstavljena sa 8 bita. U standardu koji se koristi u SAD, učestanost slika je 30 slika/s, rezolucija luminentne komponente 352×240 piksela, dok je rezolucija hrominentnih signala 176×120 piksela, tj. dva puta je manja po svakoj dimenziji od rezolucije luminentnog signala. U Evropi, MPEG-1 izvorni format ima 25 slika/s, rezolucije 352×288 piksela za luminentni, i 176×144 piksela za hrominentne signale. Dakle, u fazi predobrade, video signal se svodi na SIF, tako što se po potrebi vrši odgovarajuće filtriranje i decimacija.

8.8.3.2 Hijerarhijska struktura podataka

MPEG-1 standard poseduje vrlo razrađenu hijerarhijsku strukturu podataka na izlazu. MPEG-1 standardom je propisana šestoslojna struktura izlaznog signala. Prvi, najviši sloj predstavljaju podaci o sekvenci. Drugi sloj predstavljaju podaci o grupama slika (Group of pictures - GOP). Jedino se ovim slojevima može pristupiti slučajno.

Podaci o pojedinačnim slikama se nalaze u trećem sloju. Prema načinu kompresije, u MPEG-1 standardu se razlikuju četiri vrste slika: I slike, P slike, B slike i D slike. I slike se koduju interfrejm DCT kompresijom, na način sličan JPEG standardu. I slika uvek predstavlja početnu sliku u jednoj grupi slika. P slike se koduju interfrejm DCT kompresijom sa predikcijom slike unapred, na osnovu već prenesenih I slika ili P slika. B slike se koduju interfrejm DCT kompresijom sa predikcijom slike na osnovu već prenesenih I slika i P slika. Za predikciju kod B

8. Kompresija slike 193

slika koristi se predikcija unapred, unazad ili bidirekciona predikcija. D slike se sastoje samo od DC koeficijenata transformisanih blokova i služe za brzo i grubo pretraživanje kodovane video sekvence. Broj pojedinih vrsta slika u grupi slika zavisi od dopuštenog bitskog protoka, željenog vremena pristupa pojedinačnoj slici i drugih faktora.

Interesantno je da se slike u MPEG-1 standardu ne prenose u prirodnom redosledu. Na primeru prikazanom na slici 8.44 grupa slika se sastoji od 9 slika. Prva slika u grupi mora biti I tipa, dok ostale mogu biti P ili B tipa. P slika čiji je redni broj 4 mora biti prenesena pre B slika sa rednim brojevima 2 i 3, jer je potrebna za njihovu predikciju. Isto tako P slika sa rednim brojem 8 mora biti preneta pre B slika sa rednim brojevima 5, 6 i 7. Naravno, prilikom reprodukcije se slike šalju na monitor u prirodnom redosledu.

I

0

B

1

B

2

B

3

P

4

B

5

B

6

B

7

P

8

Grupa slika (GOP)

Slika 8.44 Grupa slika u MPEG-1 standardu.

Četvrti sloj čine podaci o isečku slike (engl. slice) i koristi se za resinhronizaciju posle grešaka u prenosu. Peti sloj su podaci o makroblokovima (MB). Na nivou makrobloka se vrši estimacija pokreta, kao i izbor načina transformacije i kvantovanja. Jedan makroblok se sastoji od četiri bloka luminentne komponente od 8×8 piksela i dva bloka istih dimenzija za hrominentne komponente. Podaci o blokovima se nalaze u poslednjem, šestom sloju.

Na početku niza podataka kod svakog od prvih pet hijerarhijskih nivoa, osim kod blokova, prenosi se zaglavlje koje jedinstveno specificira podatke koji slede.

MPEG-1 standard u svojim osnovnim specifikacijama (Core) omogućava fleksibilnu definiciju parametara, koje bi svaki MPEG-1 koder ili dekoder trebalo da zadovolji. Osnovne specifikacije su prikazane u Tabeli 8.3.

Tabela 8.3. Osnovne (Core) MPEG-1 specifikacije

Horizontalna rezolucija ≤ 720 piksela Vertikalna rezolucija ≤ 576 piksela Broj makroblokova u slici ≤ 396 Broj makroblokova/s ≤ 9900 Učestanost slika ≤ 30 slika/s Bitski protok ≤ 1.86 Mbit/s Veličina bafera u dekoderu ≤ 376832 bita

Posle predobrade ulaznog signala vrši se kompresija video signala po MPEG-1 specifikacijama. MPEG-1 standard ne propisuje način izvođenja pojedinih operacija, već samo strukturu i format izlaznog signala posle entropijskog kodovanja. Sintaksa izlaznog signala

194 8. Kompresija slike

podržava sve najvažnije operacije, kao što su: procena pokreta, kompenzacija pokreta, DCT, kvantovanje i entropijsko kodovanje. Izbor samih metoda ostavljen je realizatoru sistema.

8.8.3.3 Intrafrejm kompresija

Intrafrejm kompresija se primenjuje za eliminaciju prostorne redundanse u I, P, i B slikama. Kompresija se vrši primenom diskretne kosinusne transformacije na blokove slike od 8×8 piksela, na način sličan JPEG standardu. Pošto ulazni signali u DCT leže u opsegu [0, 255], izlazni signali iz DCT su ograničeni na opseg [0, 2040] za DC koeficijent i [-1024, 1023] za AC koeficijente.

Ključna operacija koja utiče na stepen kompresije, kao i na kvalitet komprimovane slike, je kvantovanje DCT koeficijenata. Slično kao kod JPEG standarda, DCT koeficijenti se dele sa elementima kvantizacione matrice, koja je prikazana na slici 8.45, posle čega se rezultat zaokružuje na ceo broj. Kao što se vidi, korak kvantizera zavisi od učestanosti koju predstavlja DCT koeficijent i prilagođen je psihovizuelnim karakteristikama ljudi. Međutim, u poređenju sa kvantizerom koji se koristi u JPEG standardu, ovaj kvantizer je znatno linearniji. Razlog za to je što u MPEG standardu postoji i mogućnost prostorno-adaptivnog kvantovanja korišćenjem tzv. modela maskiranja, koji omogućava grublje kvantovanje DCT koeficijenata u makroblokovima velike aktivnosti gde su greške kvantovanja manje primetne. I u ovom načinu kvantovanja se koristi kvantizaciona matrica sa slike 8.45, ali se množi parametrom MQUANT, koji se prenosi u zaglavlju makrobloka. Ovom modifikacijom ostvaruje se oko 30% bolji stepen kompresije u poređenju sa JPEG standardom.

8 16 19 22 26 27 29 34 16 16 22 24 27 29 34 37 19 22 26 27 29 34 34 38 22 22 26 27 29 34 37 40 22 26 27 29 32 35 40 48 26 27 29 32 35 40 48 58 26 27 29 34 38 46 56 69 27 29 35 38 46 56 69 83

Slika 8.45 Kvantizaciona matrica za MPEG-1 intrafrejm kodovanje.

Posle kvantovanja vrši se entropijsko kodovanje. Redundansa DC DCT koeficijenata se smanjuje primenom DPCM, posle čega se dobijeni signal koduje Hafmanovim kodom preuzetim iz JPEG standarda. Kvantovani AC DCT koeficijenti se očitavaju po cik-cak putanji i konvertuju u parove brojeva (dužina niza istovetnih simbola, amplitudski nivo), na isti način kao u JPEG i H.261 standardu. Zatim se vrši modifikovano Hafmanovo kodovanje, pri čemu se koristi kodna tabela koja predstavlja proširenje tabele iz H.261 standarda, a potpuno je različita od JPEG tabele.

8.8.3.4 Interfrejm kompresija

Interfrejm kompresija se primenjuje kod P i B slika, sa ciljem da se pored prostorne ukloni i vremenska redundansa. Za otklanjanje vremenske redundanse koristi se kompenzacija pokreta koja se izvodi na nivou makrobloka. Sam MPEG-1 standard ne propisuje nijednu metodu pretraživanja za određivanje vektora pomeraja, tako da se može koristiti bilo koji efikasan postupak opisan u prethodnom izlaganju. Vektor pomeraja se može odrediti sa tačnošću od 0.5 piksela. Njegova maksimalna vrednost se može menjati od slike do slike, ali nije dozvoljeno da vektor pomeraja izađe izvan slike.

8. Kompresija slike 195

Kod P slika se primenjuje estimacija pokreta unapred, pri čemu se pokret procenjuje na osnovu I slike ili prethodne P slike iz iste grupe slika. Predviđeno je čak 8 načina kompresije. Ako posmatrani makroblok nije promenio svoj položaj u odnosu na prethodnu sliku, što je slučaj kod nepokretne pozadine, uopšte se ne prenosi. Ako je makroblok samo promenio položaj, a sadržina nije promenjena, prenosi se samo vektor pomeraja. Ako se može odrediti pomeraj makrobloka, pri čemu je malo promenjena njegova sadržina, vrši se DCT kompenzovane razlike odgovarajućih makroblokova iz dve slike. Ako se ne može odrediti vektor pomeraja, formira se razlika odgovarajućih makroblokova i transformiše pomoću DCT, ili se vrši interfrejm kompresija kao kod I slika. Kvantovanje DCT koeficijenata se vrši njihovim deljenjem sa elementima kvantizacione matrice. Kao i kod interfrejm kompresije, podešavanjem vrednosti parametra MQUANT može se vršiti adaptivna kvantizacija.

B slike su novina u odnosu na H.261 i H.263 standarde, jer omogućavaju kombinaciju estimacije pokreta i interpolacije. Procena makrobloka se može izvršiti na tri načina. Prvi način je standardna predikcija unapred, isto kao kod P slika. Drugi način je predikcija unazad, gde se procena vrednosti makrobloka vrši na osnovu naredne P slike iz iste grupe slika. Treći način procene makrobloka, koji se naziva bidirekciona ili interpolativna predikcija, predstavlja aritmetičku sredinu procena unapred i unazad. Bidirekciona predikcija je posebno značajna, jer se njenom primenom rešava problem procene zaklonjenih ili otkrivenih delova pozadine. Primenom bidirekcione predikcije se dobija i bolji odnos signal/šum. Pošto se B slike ne koriste za dalju predikciju, one se mogu kodovati sa manjim brojem bita, jer to ne izaziva akumulaciju grešaka. Uvođenje bidirekcione predikcije ima i negativne posledice. Pre svega, potrebno je i na predajnoj i na prijemnoj strani pamtiti po dve slike. Ako se koristi suviše veliki broj B slika, smanjuje se korelacija koja postoji između referentnih slika (I i P slike), pa je za njihovo kodovanje potreban veći broj bita. Osim toga, veliki broj B slika proizvodi veće kašnjenje pri kodovanju i dekodovanju.

MPEG standard propisuje da najveći broj slika u jednoj grupi može biti 132, jer bi veći broj izazvao nedozvoljeno veliku akumulaciju grešaka i suviše dugo kašnjenje. Broj I, P i B slika u grupi zavisi od bitskog protoka i dozvoljenog kašnjenja. U jednoj tipičnoj sekvenci, I slike i P slike predstavljaju oko 1/3 ukupnog broja slika. Preostale B slike se interpoliraju na osnovu rekonstruisanih I i P slika.

Kod interfrejm načina rada, ulazni signali u DCT leže u opsegu [-256, 255], dok su izlazni signali ograničeni na opseg [-2048, 2047]. Kvantizaciona matrica za interfrejm kompresiju je grublja u poređenju sa matricom koja se koristi za intrafrejm kompresiju I slika. Ova razlika potiče od činjenice da DCT koeficijenti dobijeni transformacijom greške predikcije bloka sadrže visoke frekvencije, pa se mogu podvrgnuti mnogo grubljem kvantovanju. Druga razlika je što kvantizer DCT koeficijenata kod interfrejm kompresije ima široku mrtvu zonu oko nule.

Posle kvantovanja vrši se uređivanje kvantovanih DCT koeficijenata, uključujući i DC koeficijent, u cik-cak niz i konverzija u parove brojeva (dužina niza istovetnih simbola, amplitudski nivo). Da bi se povećao stepen kompresije vrši se entropijsko kodovanje. Simboli sa većom verovatnoćom pojavljivanja koduju se kodom promenljive dužine Hafmanovim koderom. Simboli sa manjom verovatnoćom pojavljivanja koduju se pomoću simbola escape za kojim sledi kod fiksne dužine, čime se izbegavaju kodne reči velike dužine. Vektori pomeraja se koduju pomoću DPCM u odnosu na prethodne blokove.

196 8. Kompresija slike

8.8.3.5 MPEG-1 koder i dekoder

Koder video signala po MPEG-1 standardu treba da obavi sledeće zadatke: 1. Izbor i označavanje I, P i B slika u grupi slika. 2. Procena vektora pomeraja za svaki makroblok u P i B slikama. 3. Određivanje načina kompresije svakog bloka i definisanje promenljive MTYPE. 4. Izbor faktora skaliranja MQUANT, ako je izabrano adaptivno kvantovanje. 5. DCT svih blokova slike. 6. Kvantovanje DCT koeficijenata. 7. Entropijsko kodovanje DCT koeficijenata i vektora pomeraja. 8. Uređenje izlaznih simbola u niz, dodavanjem odgovarajućih zaglavlja ispred podataka o

grupama slika, slikama i makroblokovima. 9. Obezbeđenje željenog konstantnog bitskog protoka. Jedna od mogućih struktura MPEG-1 kodera izvornog video signala prikazana je na slici

8.46. Sa blok šeme MPEG-1 kodera se uočava da se pored blokova potrebnih za izvršavanje napred navedenih operacija u koderu nalaze i blokovi za inverznu DCT i dekvantizaciju, koji su potrebni da bi se predikcija makroblokova na predajnoj strani vršila na isti način kao na prijemnoj strani, tj. na osnovu rekonstruisanih makroblokova. Na taj način se smanjuje akumulacija grešaka. Struktura dekodera MPEG-1 signala je znatno prostija i sadrži samo entropijski dekoder, dekvantizer i inverznu DCT.

FDCT

IDCT

Kvantizer

Dekvantizer

MQ

Memorija slikenova stara

Estimacijapokreta

Kompenzacijapokreta

Videosignal

Entropijskikoder

Slika 8.46 Blok šema MPEG-1 kodera izvornog video signala.

Kvalitet komprimovane slike po MPEG-1 standardu najviše zavisi od specificiranog bitskog protoka. Eksperimentalno je ustanovljeno da je kvalitet komprimovane i rekonstruisane sekvence u CIF rezoluciji, pri bitskom protoku od 1.5 Mb/s, sličan ili bolji od kvaliteta slike sa analognog VHS video rekordera. Zbog toga je MPEG-1 našao široku primenu u multimedijalnim tehnologijama baziranim na korišćenju kompakt diskova, digitalnih video diskova i Internetu.

8.8.3.6 Implementacija MPEG-1 standarda

S obzirom da je MPEG-1 standard namenjen za multimedijalne aplikacije, uglavnom je implementiran na personalnim računarima i radnim stanicama. Neposredno posle usvajanja

8. Kompresija slike 197

standarda, jedan broj proizvođača složenih integrisanih kola je izneo na tržište integrisana kola koja podržavaju kodovanje i dekodovanje video signala po MPEG-1 standardu. Najznačajniji proizvođači i kola na tržištu su:

1. C-Cube ima u programu dva integrisana kola. Prvo kolo, CL-450, namenjeno je kodovanju i dekodovanju SIF video signala po MPEG-1 standardu. Drugo kolo, CL-4000, je znatno univerzalnije jer može kodovati i dekodovati video signal po MPEG-1, H.261 i JPEG standardu.

2. SGS-Thomson proizvodi kolo STi-3400, koje koduje i dekoduje SIF video signal. 3. Motorola proizvodi kolo MCD250, koje koduje i dekoduje SIF video signal. U poslednje dve godine, s obzirom na veliki napredak u brzini rada personalnih računara, u

praksi se sreću i softverske implementacije dekodera, koje mogu dekodovati MPEG-1 kodovani signa nižih rezolucija. Za neke od softverskih implementacija, namenjenih istraživanju, javno je dostupan i izvorni kod. Jedna od takvih softverskih implementacija je PVRG-MPEG, koju je napravila Portable Video Research Group sa Stanford univerziteta u SAD. Druga javno dostupna softverska implementacija je Berkeley Plateau Research Group MPEG encoder, sa Berkeley univerziteta u SAD.

Najnovije informacije o MPEG-1 standardu, kao i o novijim hardverskim i softverskim implementacijama, mogu se naći na Internet adresama: http://www.faqs.org/faqs/compression-faq, http://www.faqs.org/faqs/mpeg-faq, http://drogo.cselt.stet.it/mpeg/, i http://bs.hhi.de/mpeg-video/.

8.8.4 MPEG-2 STANDARD

U toku izrade MPEG-1 standarda uočeno je da se mnogi važni aspekti prenosa i zapisa sekvenci slika ne mogu obuhvatiti jednim standardom. Stoga se istovremeno započelo sa radom na MPEG-2 standardu koji predstavlja ekstenziju MPEG-1 standarda sa ciljem da pokrije niz primena i širok spektar rezolucija počev od 352×288×30 do 1920×1152×60. MPEG-2 standard je prvenstveno namenjen za distribuciju digitalnog televizijskog signala, CCIR-601 ili HDTV, u opsegu bitskih protoka od 2 Mb/s do 20 Mb/s. Osnovne novine kod MPEG-2 standarda su: povećan bitski protok, formati slike sa i bez proreda, skalabilnost po kvalitetu i vremenu, poboljšani postupci kvantovanja i kodovanja, itd. [61].

8.8.4.1 Tipovi slika u MPEG-2 standardu

Pošto je prvenstveno namenjen kompresiji TV signala, MPEG-2 standard dozvoljava korišćenje oba načina skeniranja slike: progresivno skeniranje i skeniranje sa proredom.

Struktura slika sa progresivnim skeniranjem ista je kao u MPEG-1 standardu, samo što su opsezi rezolucija i učestanosti slika veći.

Uvođenje mogućnosti kompresije slika skeniranih sa proredom dovelo je do definicije dva nova tipa slika u MPEG-2 standardu. Kompozitna slika se dobija kada se neparne i parne slike učešljaju i dobijena slika tretira kao celina. Takve slike su pogodne za kompresiju relativno mirnih sekvenci, tj. sekvenci sa malo pokreta. Drugi tip slike kod analize sa proredom se dobija kada se poluslike tretiraju kao zasebne slike.

U postupku kompresije, sva tri tipa slika se mogu kodovati kao I, P ili B slike.

198 8. Kompresija slike

8.8.4.2 Hijerarhija podataka u MPEG-2 standardu

Hijerarhijska struktura podataka u MPEG-2 standardu je vrlo slična strukturi iz MPEG-1 standarda. Na najvišem stupnju hijerarhije je sekvenca, koja se sastoji od grupa slika. Grupa slika se može sastojati od proizvoljne mešavine sva tri tipa slika. Ako se koriste poluslike, one se uvek moraju pojaviti u paru. Ako je neparna poluslika P (B) tipa, onda i parna poluslika mora biti istog tipa. Ako je neparna poluslika I tipa, onda parna poluslika može biti I ili P tipa. Slika se sastoji od makroblokova. Na najnižem stupnju hijerarhije je blok od 8×8 piksela.

Jedan MPEG-2 makroblok se sastoji od četiri bloka luminentne komponente video signala i odgovarajućeg broja blokova hrominentnih komponenata. MPEG-2 standard dozvoljava tri formata hrominentnih komponenata, Cb i Cr. U 4:1:1 formatu, u jedan makroblok ulazi po jedan 8×8 blok od svake hrominentne komponente, kao i kod MPEG-1 standarda. U 4:2:2 formatu, u jedan makroblok ulaze po dva 8×8 bloka od svake hrominentne komponente, dok u 4:4:4 formatu u jedan makroblok ulaze po četiri 8×8 bloka od svake hrominentne komponente. Dakle, u MPEG-2 standardu jedan makroblok se sastoji od 6, 8 ili 12 blokova od 8×8 piksela.

8.8.4.3 Kompenzacija pokreta

Kompenzacija pokreta se vrši na sličan način kao u prethodno opisanim standardima i vrši se na nivou makroblokova. Međutim, zbog uvođenja slika sa skeniranjem sa proredom, uvedene su i neke nove mogućnosti za estimaciju pokreta.

Kod slika dobijenih progresivnim skeniranjem, estimacija pokreta se vrši na isti način kao u MPEG-1 standardu, tj. poređenjem sa prethodnom ili narednom referentnom slikom, ili poređenjem sa obe referentne slike.

Kod slika dobijenih skeniranjem sa proredom sa razdvojenim poluslikama, estimacija pokreta se vrši nezavisno za svaku vrstu poluslika. Dakle, u estimaciji pokreta neparnih poluslika koriste se samo referentne neparne poluslike, a isto važi i za parne poluslike. Koriste se sva tri opisana načina estimacija pokreta, estimacija unapred, estimacija unazad i bidirekciona estimacija.

Najinteresantnija je estimacija pokreta kod kompozitnih slika dobijenih skeniranjem sa proredom, gde su dozvoljene obe mogućnosti. Estimacija pokreta se može vršiti na osnovu kompozitnog signala ili signala poluslika. Izbor najboljeg načina estimacije se vrši na nivou makrobloka, a zavisi od količine pokreta u makrobloku. Ako je u okviru makrobloka izražen pokret, bolje je estimaciju vršiti na osnovu poluslika, jer se korišćenjem kompozitnog signala dobijaju pogrešni vektori pomeraja. S druge strane, ako je pokret u makrobloku mali, bolje je koristiti estimaciju na bazi kompozitnog signala, jer estimacija na bazi poluslika ne koristi sve raspoložive informacije.

8.8.4.4 Izračunavanje DCT i kvantovanje koeficijenata

Uvođenje skeniranja sa proredom je dovelo i do novog načina za izračunavanje DCT. Naime, pored uobičajenog načina formiranja ulaznih podataka za 8×8 DCT, MPEG-2 standard dopušta i da se DCT izračunava i za signale poluslika. Kao i estimacija pokreta, i ovo odlučivanje se izvodi na nivou makrobloka. Treba primetiti da ova opcija nije uvek moguća. Na primer, kod 4:1:1 formata u jednom makrobloku postoji samo po jedan blok od 8×8 piksela za svaku hrominentnu komponentu, pa se mora računati DCT za kompozitni signal.

8. Kompresija slike 199

Posle izračunavanja DCT koeficijenata vrši se njihovo očitavanje po poznatom cik-cak redosledu. Međutim, MPEG-2 dozvoljava još jedan način očitavanja, posnat kao „alternativno skeniranje“, koje je prikazano na slici 8.47. Neka ispitivanja pokazuju da je alternativno skeniranje pogodnije za slučaj kompresije video signala dobijenog skeniranjem sa proredom.

DC

AC

AC

AC

07

7770 Slika 8.47 Alternativni način očitavanja DCT koeficijenata.

Da bi se ostvario bolji kvalitet slike, MPEG-2 standard dozvoljava finiju kvantizaciju od MPEG-1 standarda. Kod makroblokova koji se komprimuju intrafrejm kompresijom za predstavljanje DC DCT koeficijenta se koristi 11 bita umesto 8 kao kod MPEG-1 standarda. Kod takvih makroblokova je širi i dozvoljeni opseg vrednosti AC koeficijenata koji iznosi [-2048, 2047], umesto [-256, 255] kod MPEG-1 standarda. Kod makroblokova koji se komprimuju interfrejm kompresijom dozvoljeni opseg vrednosti za sve koeficijente je [-2048, 2047] umesto [-256, 255] kod MPEG-1.

Regulacija bitskog protoka vrši se podešavanjem parametra MQUANT na nivou makroblokova. MPEG-2 propisuje dva skupa vrednosti za MQUANT. Jedan skup predstavlja cele brojeve od 1 do 31, dok drugi skup čini 31 realni broj između 0.5 i 56.

8.8.4.5 Skalabilnost u MPEG-2 standardu

Jedna od najvažnijih novina u MPEG-2 standardu je uvođenje skalabilnosti, što predstavlja mogućnost za dekodovanje samo jednog dela iz niza podataka radi rekonstrukcije video signala određene rezolucije. Time je omogućeno da različiti dekoderi, koristeći isti izlazni niz podataka iz kodera, dekoduju i prikažu video signal sa različitim prostornim rezolucijama i različitim učestanostima slika. Minimalni podskup niza podataka koji se može dekodovati naziva se osnovni sloj. Ostali slojevi predstavljaju poboljšanja prostorne ili vremenske rezolucije video signala iz osnovnog sloja. Osim mogućnosti prilagođavanja kvaliteta dekodovanog signala potrebama korisnika, skalabilnost omogućava i bolju zaštitu od grešaka u prenosu jer se osnovni sloj prenosi sa boljom zaštitom od grešaka nego ostali slojevi.

Mogući oblici skalabilnosti u MPEG-2 standardu su: 1. Prostorna skalabilnost predstavlja sposobnost dekodera da dekoduje video signal

različitih prostornih rezolucija bez prethodnog dekodovanja cele slike i decimacije tako dobijenog signala. Da bi se ostvarila ova mogućnost, osnovni sloj predstavlja kodovanu verziju video signala

200 8. Kompresija slike

niske rezolucije, koja se dobija decimacijom originalnog video signala. Ostali slojevi nose informacije sadržane u razlici osnovnog sloja i originalnog ulaznog signala, odnosno informacije sadržane u višim frekvencijama spektra. Dakle, u MPEG-2 standardu je iskorišćena piramidalna struktura informacija.

2. Vremenska skalabilnost se odnosi na mogućnost dekodovanja sa različitim učestanostima slika bez prethodnog dekodovanja svih slika iz sekvence.

3. SNR skalabilnost se odnosi na mogućnost dekodovanja korišćenjem različitih koraka kvantizera za kvantovanje DCT koeficijenata. Osnovni sloj se dobija najgrubljim kvantovanjem DCT koeficijenata.

4. Hibridna skalabilnost predstavlja neku kombinaciju gore opisanih vrsta skalabilnosti.

8.8.4.6 Profili i nivoi u MPEG-2 standardu

S obzirom da je potpuna sintaksa MPEG-2 standarda složena i teška za praktičnu implementaciju na jednom silicijumskom čipu, u tekstu MPEG-2 standarda [61] je definisano pet podskupova potpune sintakse, koji se nazivaju profili, a namenjeni su različitim aplikacijama. To su: jednostavni (simple) profil, glavni (main) profil, SNR skalabilni (SNR scalable) profil, prostorno skalabilni (spatial scalable) profil i visoki (high) profil. Kasnije je definisan još jedan, 4:2:2 profil, a radi se na definiciji još jednog (multiview) profila.

Unutar profila se definiše do četiri nivoa, kojima se reguliše izbor slobodnih parametara prilikom hardverske implementacije. Ograničenja parametara po nivoima prikazana su u Tabeli 8.4, a veze između profila i nivoa u Tabeli 8.5.

Tabela 8.4: Ograničenja parametara u nivoima MPEG-2 standarda.

Nivo Maksimalni broj piksela

Maksimalni broj linija

Maksimalni broj slika/s

Niski 352 288 30 Glavni 720 576 30

Visoki-1440 1440 1152 60 Visoki 1920 1152 60

Tabela 8.5: Veze između profila i nivoa u MPEG-2 standardu.

Jednostavni Glavni SNR skalabilni

Prostorno skalabilni

Visoki 4:2:2 Multiview

Niski × × Glavni × × × × × ×

Visoki-1440 × × × Visoki × ×

Jednostavni profil ne dopušta korišćenje B slika i podržava jedino glavni nivo. Maksimalni bitski protok je 15 Mb/s.

Glavni profil podržava sva četiri nivoa, sa maksimalnim bitskim protocima od 4, 15, 60 i 80 Mb/s, za niski, glavni, visoki-1440 i visoki nivo, respektivno.

SNR skalabilni profil podržava samo niski i glavni nivo sa maksimalnim bitskim protokom od 4 Mb/s i 15 Mb/s, respektivno. Tada je bitski protok u osnovnom sloju 3 Mb/s ili 10 Mb/s, respektivno.

8. Kompresija slike 201

Prostorno skalabilni profil podržava samo visoki-1440 nivo sa maksimalnim protokom od 60 Mb/s, od čega 15 Mb/s otpada na osnovni sloj.

Visoki profil podržava glavni, visoki-1440 i visoki nivo, sa maksimalnim protocima od 20 Mb/s, 80 Mb/s i 100 Mb/s, respektivno. Protok osnovnog sloja je 4 Mb/s, 20 Mb/s i 25 Mb/s, respektivno.

4:2:2 profil je uveden da bi se omogućio rad sa slikama u boji u formatu 4:2:2, što je potrebno za studijske uređaje. Iako se pri razvoju MPEG-2 standarda nije vodilo računa o studijskim primenama, pokazalo se da je MPEG-2 standard pogodan i za tu namenu. Novi profil je omogućio primenu postojećih alata za kodovanje i u studijskim aplikacijama, koje zahtevaju veći bitski protok.

Multiview profil (MVP) se uvodi sa ciljem da omogući efikasno kodovanje dve video sekvence koje potiču od dve kamere koje snimaju istu scenu, a postavljene su pod malim uglom (stereovizija). I ovaj profil koristi već postojeće alate za kodovanje, ali u novoj nameni.

8.8.4.7 Implementacija MPEG-2 standarda

MPEG-2 standard je suviše kompleksan za softversku implementaciju, s obzirom da je namenjen za kompresiju i dekompresiju video signala koja treba da se obavi u realnom vremenu. Zato se u praksi sreću isključivo hardverske implementacije u vidu jednog ili skupa integrisanih kola. Najznačajniji proizvođači i integrisana kola koja implementiraju MPEG-2 standard su:

1. SGS-Thomson je proizveo prvo integrisano kolo za MPEG-2 standard, STi-3500. 2. C-Cube proizvodi integrisano kolo CL-950. Najnovije informacije o MPEG-2 standardu, kao i o novim hardverskim implementacijama,

mogu se naći na Internet adresama: http://cselt.stet.it/mpeg/ i http://bs.hhi.de/mpeg-video/.

8.8.5 MPEG-4 STANDARD

Početkom devedesetih godina započet je rad i na MPEG-4 standardu, koji je trebalo da definiše prenos slike kanalima malog kapaciteta, zaključno sa 64 Kb/s, a prvenstveno u opsegu od 8 Kb/s do 32 Kb/s. Kasnije je cilj MPEG-4 standarda proširen tako da je to sada generički standard za kodovanje audiovizuelnih informacija, koji dozvoljava interaktivnost, veliki stepen kompresije, univerzalni pristup, i ima visok stepen fleksibilnosti i mogućnosti proširenja [62].

S obzirom da je MPEG-4 standard za multimedijalne aplikacije, algoritmi koji su primenjeni u MPEG-4 standardu predstavljaju scenu kao skup audiovizuelnih objekata, između kojih postoje neke hijerarhijske relacije u prostoru i vremenu. Na najnižem hijerarhijskom nivou nalaze se primitivni medijski objekti, kao što su, na primer, mirne slike (fiksna pozadina scene), vizuelni objekti (ličnost koja govori, bez pozadine), audio objekti (glas govornika), itd. Ovakav pristup donosi povećanje stepena kompresije, povećanu interaktivnost i omogućava integraciju objekata različite prirode, kao što su: prirodna slika ili video, grafika, tekst, zvuk, itd.

MPEG-4 standard nudi osam novih funkcija, koje ne podržavaju ostali slični standardi, a koje se mogu podeliti u tri klase:

a) Interaktivnost na bazi sadržaja: 1. Manipulacije sekvencom bita na bazi sadržaja i editovanje. 2. Alati za pristup multimedijalnim objektima na bazi sadržaja.

202 8. Kompresija slike

3. Slučajni pristup objektima. 4. Hibridno prirodno i sintetičko kodovanje podataka.

b) Kompresija: 5. Poboljšana efikasnost kodovanja video signala.

c) Univerzalni pristup: 6. Robustnost na greške i gubitke informacija u šumnim sredinama. 7. Skalabilnost objekata (dodavanje i odstranjivanje video objekata). 8. Skalabilnost prostorne i vremenske rezolucije objekata.

8.8.5.1 Formati slike i bitski protoci u MPEG-4 standardu

MPEG-4 standard podržava širok spektar formata video signala. Podržana su oba načina skeniranja slike: progresivni i sa proredom. Prostorna rezolucija luminentne komponente može biti u izuzetno širokim granicama, počev od 8×8 piksela, pa sve do 2048×2048 piksela. Za predstavljanje video signala u boji se koristi uobičajeni YCbCr kolor koordinatni sistem sa prostornom rezolucijom 4:2:0. Svaka komponenta se predstavlja sa 4 do 12 b/p. Podržane su različite vremenske rezolucije, kao i kontinualno promenljiv broj slika u sekundi.

MPEG-4 dozvoljava i izuzetno širok opseg bitskih protoka, od 5 Kb/s do 38.4 Mb/s, ali je optimiziran za primenu u tri opsega bitskih protoka: ispod 64 Kb/s, od 64 Kb/s do 384 Kb/s i od 384 Kb/s do 4 Mb/s. Podržani su i konstantni i promenljivi bitski protok.

MPEG-4 video standard podržava kodovanje i dekodovanje pravougaonih slika i sekvenci slika (video signala), kao i kodovanje i dekodovanje slika i sekvenci slika proizvoljnog oblika.

U MPEG-4 standardu se razlikuju dve vrste vizuelnih objekata: prirodni i sintetički vizuelni objekti [62] - [65].

8.8.5.2 Kodovanje prirodnih vizuelnih objekata

Alati koje definiše MPEG-4 standard za obradu prirodnih vizuelnih objekata treba da omoguće efikasan zapis, prenos i manipulaciju sa slikama, teksturama i ostalim video podacima u multimedijalnom okruženju. Da bi se ostvarili postavljeni ciljevi u MPEG-4 standardu su data rešenja u formi alata i algoritama, kojima se mogu realizovati sledeće operacije:

• Efikasna kompresija slika i video signala, • Efikasna kompresija teksture za mapiranje teksture na 2D i 3D mreže, • Efikasna kompresija implicitnih 2D mreža, • Efikasna kompresija vremenski promenljivih sekvenci za animaciju mreže, • Efikasan slučajni pristup svim tipovima vizuelnih objekata, • Proširena funkcionalnost manipulacija sa slikama i video sekvencama, • Kodovanje slika i video signala na bazi sadržaja, • Skalabilnost tekstura, slika i video signala na bazi sadržaja, • Skalabilnost (prostorna, vremenska i po kvalitetu), • Otpornost na greške i elastičnost u sredinama sklonim greškama. Ovi alati operišu sa osnovnim jedinicama sadržaja slike (video signala) koje se nazivaju

video objekti (VO). Primer video objekta je glava govornika u videokonferenciji (bez pozadine),

8. Kompresija slike 203

koja se može kombinovati sa ostalim audiovizuelnim objektima (pozadina, glas, itd.) radi formiranja scene. Kao što se vidi, konvencionalna pravougaona slika predstavlja samo specijalni slučaj video objekta. Svaki video objekt se može kodovati u jednom ili više slojeva (Video Object Layer - VOL). Višeslojno kodovanje omogućava promenljivu rezoluciju (skalabilnost) kodovanja. Takođe, svaki video objekt je diskretizovan u vremenu tako da svaki vremenski odbirak predstavlja jednu ravan video objekta (Video Object Plane - VOP). Vremenski odbirci video objekta se grupišu u grupe (Group of Video Object Planes - GOV).

Kao i kod prethodnih MPEG standarda, makroblok predstavlja osnovnu jedinicu u kojoj se prenose podaci o video signalu. MPEG-4 standard trenutno podržava samo jedan format kolor vi-deo signala, 4:2:0. Dakle, jedan makroblok se sastoji od četiri luminentna i dva hrominentna bloka od 8×8 piksela. Makroblok sadrži kodovane informacije o obliku, pokretu i teksturi (boji) piksela.

Za kodovanje video signala niske prostorne rezolucije (do CIF), male učestanosti slika (do 15 Hz), pri najnižim bitskim protocima (5 - 64 Kb/s), definisan je skup algoritama koji su grupisani u tzv. VLBV jezgro (Very Low Bit-rate Video Core). Najvažnije aplikacije koje su podržane VLBV jezgrom su efikasno kodovanje sekvenci pravougaonih slika u multimedijalnim komunikacionim aplikacijama, kao i obezbeđivanje slučajnog pristupa i brzog preskoka unapred ili unazad u multimedijalnim bazama podataka.

Druga grupa algoritama obezbeđuje funkcionalnost na bazi sadržaja. Ona podržava kodovanje i dekodovanje sadržaja, tj. video objekata. Ovo svojstvo MPEG-4 standarda omogućava fleksibilnu reprezentaciju i manipulaciju sa video objektima u komprimovanom domenu. Takođe je omogućeno mešanje prirodnih video objekata iz različitih izvora i sintetičkih video objekata.

Za rad pri većim bitskim protocima (do 4 Mb/s) predviđeni su algoritmi i alati koji predstavljaju proširenje VLBV jezgra. Najvažnije aplikacije koje treba da koriste MPEG-4 standard u ovom domenu bitskih protoka su emitovanje i interaktivni prijem video signala, čiji je kvalitet porediv sa digitalnom televizijom. Ovi alati su primenljivi i iznad 4 Mb/s, čak i za HDTV, koja zahteva bitski protok od 38.4 Mb/s.

U VLBV jezgru je podržano kodovanje i dekodovanje samo konvencionalnih pravougaonih slika i sekvenci slika. Slično kao u MPEG-1/2 i H.261/3 standardima, za kompresiju slika se koristi transformaciono kodovanje sa Diskretnom kosinusnom transformacijom i kompenzacijom pokreta. Za ostvarenje dodatnih funkcionalnosti na bazi sadržaja potrebno je realizovati postupke kodovanja video objekata koji mogu imati proizvoljan oblik i položaj. Zbog toga je skup algoritama iz VLBV jezgra proširen algoritmima za kodovanje oblika i transparentnosti objekata, čime je formiran tzv. generički MPEG-4 video koder. Razlike između VLBV i generičkog MPEG-4 video kodera su prikazane na slici 8.48.

Na slici 8.49 je prikazana struktura generičkog MPEG-4 video kodera za kodovanje sekvenci video objekata pravougaonog ili proizvoljnog oblika. Ovaj koder uključuje kodovanje oblika (za video objekte proizvoljnog oblika), kompenzaciju pokreta, kao i kodovanje teksture (boje) video objekta.

Kodovanje oblika

Kodovanje oblika se može izvršiti na dva načina. U binarnom načinu opisa oblika, informacije o obliku objekta se prenose u vidu binarne matrice čije dimenzije odgovaraju dimenzijama pravougaong okvira u koji se može smestiti video objekt. Vrednosti elemenata matrice

204 8. Kompresija slike

(0 ili 255) pokazuju da li odgovarajući piksel pripada video objektu ili ne. Binarni podaci o obliku objekta se zatm podvrgavaju kompresiji bez gubitaka.

Generalizacijom binarnog opisa oblika objekta dobija se opis objekta pomoću nivoa sivog, gde se koristi 8 b/p. Ovaj način opisa oblika omogućava predstavljanje transparentnih objekata, kao i smanjenje efekata preklapanja u spektralnom domenu. Ove informacije se komprimuju primenom DCT.

Pokret(MV)

MPEG-4 VLBV osnovni koder

Tekstura(DCT)

Ravanvideo

objektaNiz bitova

MPEG-4 generički koder

Ravanvideo

objekta

Pokret(MV)

Tekstura(DCT) Niz bitovaOblik

Slika 8.48 Razlike između VLBV kodera i generičkog MPEG-4 video kodera slike.

DCT Q

Q-1

IDCT

Memorijaslike

Prediktor 1

Prediktor 2

Prediktor 3

Prekidač

Estimacijapokreta

Kodovanjeoblika

Kodovanjepokreta iteksture

Videomultipleks

+

++

-

Slika 8.49 Blok dijagram generičkog MPEG-4 video kodera.

Kodovanje pokreta

Posebna prednost kodovanja zasnovanog na sadržaju je što se kod nekih video sekvenci efikasnost kompresije može znatno poboljšati primenom različitih algoritama za predikciju pokreta za svaki video objekt u sceni. Standard nudi dve vrste algoritama za predikciju pokreta koje se mogu iskoristiti za efikasno kodovanje i fleksibilnu predstavu objekata:

• Standardna estimacija i kompenzacija pokreta, • Globalna kompenzacija pokreta zasnovana na prenosu statičke sprajt slike (engl. sprite).

Statička sprajt slika je velika mirna slika koja predstavlja panoramu pozadine.

8. Kompresija slike 205

Standardna estimacija i kompenzacija pokreta u MPEG-4 standardu je slična sa tehnikama koje su korišćene u MPEG-1/2 i H.261/3 standardima. Osnovna razlika je u tome što su blokovske tehnike koje se koriste u prethodnim standardima modifikovane i primenjene na ravan video objekta (VOP). MPEG-4 definiše tri načina kodovanja ulaznog VOP: Intra VOP (I-VOP), Procenjeni VOP (P-VOP) i Bidirekcioni interpolirani VOP (B-VOP). U slučaju I-VOP, kodovanje jednog VOP se obavlja nezavisno od drugih VOP. Ako se VOP procenjuje, uz primenu kompenzacije pokreta, na osnovu nekog prethodno dekodovanog VOP, radi se o P-VOP. Ako se VOP procenjuje na osnovu prethodnih i narednih I-VOP ili P-VOP, dobija se B-VOP. Kompenzacija pokreta se koristi samo kod P-VOP i B-VOP. Estimacija pokreta se vrši na nivou makrobloka (16×16 piksela) ili bloka (8×8 piksela). Tačnost određivanja pomeraja je pola piksela. Za makroblokove koji samo delimično pripadaju VOP, vektori pomeraja se određuju modifikovanom tehnikom, gde se pri određivanju vektora pomeraja uzimaju u obzir samo oni pikseli koji pripadaju VOP. Kodovanje vektora pomeraja se vrši primenom DPCM i entropijskog kodovanja.

Globalna kompenzacija pokreta zasnovana na prenosu statičke sprajt slike je ilustrovana primerom na slici 8.50. Podrazumeva se da se objekt (teniser na gornjoj desnoj slici) može segmentacijom odvojiti od pozadine, i da se sprajt panoramska slika (mirna slika koja predstavlja statičku pozadinu na svim slikama u sekvenci) može izdvojiti iz sekvence pre kodovanja. Velika sprajt panoramska slika se najčešće prenosi do prijemnika samo jednom, kao prva slika u sekvenci. Ova slika se čuva u sprajt baferu. U svakoj narednoj slici, do prijemnika se prenose samo parametri pokreta kamere (8 globalnih parametara pokreta), koji se odnose na afinu transformaciju sprajt slike. To dopušta prijemniku da na osnovu sprajt slike rekonstruiše pozadinu za svaku sliku u sekvenci. Pokretni objekt se prenosi zasebno, kao video objekt proizvoljnog oblika. Da bi rekonstruisao svaku sliku, prijemnik sastavlja odgovarajuće slike objekta i pozadine (donja slika na slici 8.50). Za aplikacije sa malim kašnjenjem, prvo se prenosi deo sprajt slike potreban za dekodovanje početnih slika u sekvenci, a zatim se u sukcesivnim slikama prenose mali delovi ostatka sprajt slike. Takođe je moguće izvršiti progresivnu rekonstrukciju sprajt slike u dekoderu.

Slika 8.50 Primer sprajt kodovanja jedne video sekvence.

Kodovanje teksture (boje)

Informacije o boji (teksturi) jednog I-VOP sadržane su u luminentnoj (Y) i dve hrominentne komponente (Cb i Cr). U slučaju P-VOP i B-VOP informacije o teksturi predstavljaju greške koje

206 8. Kompresija slike

su preostale posle kompenzacije pokreta. Kodovanje informacija o teksturi se vrši primenom standardne 8×8 DCT ili modifikovane DCT za blokove na granici video objekta. Modifikacija se sastoji u ekstrapolaciji vrednosti piksela koji ne pripadaju video objektu [66], pre nego što se primeni standardna DCT. Posle DCT vrši se kvantizacija DCT koeficijenata, predikcija vrednosti koeficijenata na osnovu susednih, uređivanje DCT koeficijenata u jednodimenzionalni niz i entropijsko kodovanje razlika stvarnih i procenjenih vrednosti DCT koeficijenata.

Za granične blokove se razmatra i primena DCT adaptivne na oblik [67].

8.8.5.3 Kodovanje sintetičkih vizuelnih objekata

Sintetički objekti predstavljaju podskup šire klase vizuelnih objekata iz računarske grafike. Algoritmi za obradu sintetičkih objekata obuhvataju parametarski opis i animaciju ljudskog lica i tela, statičko i dinamičko kodovanje mrežnog modela objekata i preslikavanje teksture, kao i kodovanje teksture objekta zavisno od ugla posmatranja.

Opis i animacija lica

Ljudsko lice je video objekt koji se može opisati geometrijom lica. Oblik, tekstura i izraz lica se mogu opisati sa dva skupa parametara:

• Parametri definicije lica - FDP (Facial Definition Parameters), • Parametri animacije lica - FAP (Facial Animation Parameters), Neposredno posle konstrukcije, model lica predstavlja generičko lice sa neutralnim izrazom,

koje je prikazano na slici 8.51 [68].

Slika 8.51 Model lica u neutralnom stanju.

Na neutralnom modelu lica su definisane 84 karakteristične tačke, prikazane na slici 8.52, koje predstavljaju parametre definicije lica - FDP. Korišćenjem parametara iz FDP skupa menjaju se oblik i tekstura lica. Animacija lica zbog govora, emocija, itd., vrši se promenom vrednosti 68 parametara, koji predstavljaju parametre animacije lica - FAP [68].

Tehnikama animacije lica u MPEG-4 standardu postiže se realistička animacija lica sa bitskim protokom u opsegu od 300 b/s do 2 Kb/s. U slučajevima kada se animacija lica vrši na osnovu izgovorenog teksta, potreban bitski protok se može smanjiti na manje od 200 b/s.

Slične tehnike se mogu koristiti i za formiranje modela ljudskog tela i njegovu animaciju. Ove tehnike će biti definisane u Verziji 2 MPEG-4 standarda.

8. Kompresija slike 207

Slika 8.52 Karakteristične tačke za definisanje oblika modela lica.

Formiranje i kodovanje mrežnog modela objekta

U MPEG-4 standardu je opisana i animacija objekata na osnovu kretanja čvorova 2D mreže sačinjene od trouglova. Temena trouglova su čvorovi mreže. Takve trougaone mreže se već dugo koriste u računarskoj grafici za efikasno modelovanje oblika 3D objekata. Mrežni 2D model se može shvatiti i kao projekcija takvog 3D modela na ravan slike.

Svaki 2D mrežni objekt se sastoje od niza ravni mrežnog objekta (Mesh Object Planes -MOP), i jedinstveno je predstavljen geometrijom mreže u ključnim (intra) ravnima i vektorima pomeraja čvorova mreže u preostalim (inter) ravnima. Pojam geometrije mreže se odnosi na raspored čvorova u ravni mrežnog objekta. Najčešće se koriste dva osnova raspreda čvorova: uniformni, prikazan na slici 8.41b, ili neuniformni (Delaunay), prikazan na slici 8.53.

Uniformna mreža se kreira unutar okvira objekta. Broj trouglova treba da bude približno jednak broju makroblokova koji bi se mogli smestiti u okvir objekta. Uniformna mreža se opisuje sa pet parametara: brojevi čvorova u horizontalnom i vertikalnom pravcu, horizontalna i vertikalna dimenzija osnovne pravougaone ćelije i način podele pravouganih ćelija na dva trougla.

Neuniformna mreža se kreira unutar granice video objekta, koja se aproksimira poligonom. Njen opis se vrši sa tri parametra: ukupan broj čvorova, broj čvorova na granici objekta i koordinate preostalih čvorova.

208 8. Kompresija slike

Slika 8.53 2D Neuniformni 2D mrežni model.

Formiranje mrežnog modela video objekta i određivanje vektora pomeraja čvorova se vrši u MPEG-4 koderu i nije predmet standarda. Ipak, u literaturi su opisani brojni postupci za formiranje početnog modela mreže [69]. Na slici 8.54 su prikazana dva primera neuniformne 2D mreže nacrtane preko video objekata koje modeluje.

(a) (b)

Slika 8.54 2D neuniformni mrežni modeli video objekta: a) “Akiyo”, b) “Bream”.

Animacija mreže se ostvaruje promenom položaja čvorova mreže između dve ključne ravni, u skladu sa njihovim vektorima pomeraja, koji se određuju estimacijom pokreta unapred. Zbog bolje kompresije, vrši se prediktivno kodovanje geometrije mreže i informacija o animaciji.

Osnovna razlika između modelovanja kretanja pomoću čvorova mreže i modelovanja kretanja na bazi kretanja blokova, koje se koristi u estimaciji pokreta prirodnih video objekata, je u tome što se trouglovi ne preklapaju ni u tekućoj ni u referentnoj ravni. Umesto toga, trouglovi iz tekuće ravni se preslikavaju afinim preslikavanjem (8.59) u deformisane trouglove u referentnoj ravni, korišćenjem informacija o vektorima pomeraja čvorova. Boja pojedinih piksela se takođe preslikava afinim preslikavanjem. Ovaj postupak preslikavanja se naziva mapiranje teksture.

8.9 LITERATURA [1] Jain, A.K., Fundamentals of Digital Image Processing, Prentice Hall, Englewood Cliffs, NJ, 1989. [2] Pitas, I., Digital Image Processing Algorithms, Prentice Hall, Englewood Cliffs, NJ, 1993. [3] Ziv, J., and A. Lempel, “A universal algorithm for sequential data compression”, IEEE Trans. Inform. Theory,

Vol. 23, No. 3, pp. 337-343, May 1977. [4] Ziv, J., and A. Lempel, “Compression of individual sequences via variable-rate coding”, IEEE Trans. Inform.

Theory, Vol. 24, No. 5, pp. 530-537, Sept. 1978. [5] Welch, T.A., “A technique for high-performance data compression”, Computer, Vol. 17, No. 6, pp. 8-19, June

1984. [6] ISO/IEC-10918/ITU-T Recommendation T.81 (JPEG), Information Technology - Digital Compression and

Coding of Continuous-Tone Still Images, Sept. 1992.

8. Kompresija slike 209

[7] Wallace, G.K., “The JPEG still picture compression standard”, Communications of the ACM, Vol. 34, No. 4, pp. 30-44, April 1991.

[8] Harrison, C.W., “Experiments with linear prediction in television”, Bell System Tech. J., pp. 764-863, July 1952. [9] O’Neal, J.B., “Predictive quantizing system (differential pulse code modulation) for the transmission of television

signals”, Bell System Tech. J., pp. 689-721, May 1966. [10] Habibi, A., “Comparison of the nth-order DPCM encoder with linear transformations and block quantization

techniques”, IEEE Trans. Commun. Technol, Vol. 19, No. 6, pp. 948-956, Dec. 1971. [11] Jayant, N.S., and P. Noll, Digital Coding of Waveforms, Prentice Hall, Englewood Cliffs, NJ, 1984. [12] Zshunke, W. “DPCM picture coding with adaptive prediction”, IEEE Trans. Commun., Vol. 25, No. 11, pp.

1295-1301, Nov. 1977. [13] Habibi, A., “Survey of adaptive image coding techniques”, IEEE Trans. Commun., Vol. 25, No. 11, pp. 1275-

1284, Nov. 1977. [14] Jung, P., and R. Lippmann, “Error response of DPCM decoders”, Nachrichtentechnische Z. (NTZ), pp. 431-436,

1975. [15] Netravali, A.N., and J.O. Limb, “Picture coding: A review”, Proc. IEEE, Vol. 68, No. 3, pp. 366-406, March

1980. [16] Jain, A.K., “Image data compression: A review”, Proc. IEEE, Vol. 69, No. 3, pp. 349-389, March 1981. [17] Musmann, H.G., P. Pirsh, and H.J. Grallert, “Advances in picture coding”, Proc. IEEE, Vol. 73, No. 4, pp. 523-

548, April 1985. [18] Kunt, M., A. Ikonomopoulos, and M. Kocher, “Second generation image coding techniques”, Proc. IEEE, Vol.

73, No. 4, pp. 549-575, April 1985. [19] Wintz, P.A., “Transform picture coding”, Proc. IEEE, Vol. 60, No. 7, pp. 809-820, July 1972. [20] Clarke, R.J., Transform Coding of Images, Academic Press, London, 1985. [21] Rao, K.R. and P. Yip, Discrete Cosine Transform - Algorithms, Advantages, Applications, Academic Press,

London, 1990. [22] Cvetković, Z., and M.V. Popović, “New fast recursive algorithms for the computation of discrete cosine and sine

transforms”, IEEE Trans. Signal Processing, Vol. 23, No. 8, pp. 2083-2086, August 1992. [23] Arai, Y., T. Agui, and M. Nakajima, “A fast DCT-SQ scheme for images”, The Transactions of the IEICE, Vol.

E71, No. 11, pp. 1095-1097, Nov. 1988. [24] Allen, J.D., “An approach to fast transform coding in software”, Signal Processing: Image Communication, Vol.

8, No. 1, pp. 3-11, 1996. [25] Popović, M., and T. Stojić, “The fast computation of DCT in JPEG algorithm”, Proc. 9th European Signal Proc.

Conf. EUSIPCO-98, Vol. I, pp. 149-152, Rhodes, Greece, 8-11 Sept. 1998. [26] Reininger, R.C., and J. D. Gibson, “Distribution of the two-dimensional DCT coefficients for images”, IEEE

Trans. Commun., Vol. 31, No. 6, pp. 835-839, June 1983. [27] Müller, F., “Distribution shape of two-dimensional DCT coefficients of natural images”, Electronics Letters, Vol.

29, No. 22, pp. 1935-1936, 28th Oct. 1993. [28] ITU-R Recommendation 601, Encoding Parameters of Digital Television for Studios, Vol. XI, Part 1, Geneva,

Switzerland, 1982. [29] Chen, W.H., and C.H. Smith, “Adaptive coding of monochrome and color images”, IEEE Trans. Commun., Vol.

25, No. 11, pp. 1285-1292, Nov. 1977. [30] Limb, J.O., C.B. Rubinstein, and J.E. Thompson, “Digital coding of color video signals – A review”, IEEE Trans.

Commun., Vol. 25, No. 11, pp. 1349-1385, Nov. 1977. [31] Pennebaker, W.B., and J.L. Mitchell, JPEG: Still Image Data Compression Standard, Van Nostrand Reinhold,

New York, 1993. [32] Roese, J.A., W.K. Pratt, G.S. Robinson, “Interframe cosine transform image coding”, IEEE Trans. Commun.,

Vol. 25, No. 11, pp. 1329-1339, Nov. 1977. [33] Haskell, G.B., F.W. Mounts, and J.C. Candy, “Interframe coding of videotelephone pictures”, Proc. IEEE, Vol.

60, pp. 792-800, July 1972. [34] Lim, J.S., Two-Dimensional Signal and Image Processing, Prentice Hall, Englewood Cliffs, NJ, 1990. [35] Tekalp, A.M., Digital Video Processing, Prentice Hall PTR, Upper Saddle River, NJ, 1995. [36] Gharavi, H., and M. Mills, “Block matching motion estimation algorithms - New results”, IEEE Trans. Circ.

Syst., Vol. 37, No. 5, pp. 649-651, May 1990. [37] Ćurapov, D., i M. Popović, “Tehnike procene pokreta kod kodovanja sekvenci slika”, Zbornik radova XL Konf.

ETRAN-a, Sv. 1, str. 259-262, Budva, 4.-7. juni 1996. [38] Srinivasan, R., and K.R. Rao, “Predictive coding based on efficient motion estimation”, IEEE Trans. Commun.,

Vol. 33, No. 8, pp. 888-896, August 1985. [39] Chen, L., W. Chen, Y. Jehng, and T. Chiuech, “An efficient parallel motion estimation algorithm for digital image

processing”, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 1, No. 4, pp. 378-385, Dec. 1991.

210 8. Kompresija slike

[40] Jain, J.R., and A.K. Jain, “Displacement measurement and its application in interframe image coding”, IEEE Trans. Commun., Vol. 29, No. 12, pp. 1799-1808, Dec. 1981.

[41] Koga, T., K. Iinuma, A. Hirano, Y. Iijima, and T. Ishiguro, “Motion compensated interframe image coding for video conferencing”, Proc. NTC 81, pp. G5.3.1-G.5.3.5, New Orleans, LA, Dec. 1981.

[42] Li, R., B. Zeng, and M.L. Liou, “A new three-step search algorithm for block motion estimation”, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 4, No. 4, pp. 438-442, August 1994.

[43] Ćurapov, D., and M. Popović, “Some improvements of the image sequence compression”, Facta Universitatis, Vol. 9, No. 2, pp. 173-184, 1996.

[44] Nakaya, Y., and H. Harashima, “Motion compensation based on spatial transformations”, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 4, No. 4, pp. 339-356, June 1994.

[45] Musmann, H.G., M. Hötter, and J. Ostermann, “Object-oriented analysis-synthesis coding of moving images”, Signal Processing: Image Communication, Vol. 1, No. 2, pp. 117-138, Oct. 1989.

[46] Gerken, P., “Object-based analysis-synthesis coding of image sequences at very low bit rates”, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 4, No. 3, pp. 228-235, June 1994.

[47] Aizawa, K., and H. Harashima, “Model-based analysis synthesis image coding (MBASIC) system for a person’s face”, Signal Processing: Image Communication, Vol. 1, No. 2, pp. 139-152, Oct. 1989.

[48] Li, H., and R. Forchheimer, “A new motion-compensated technique for video compression”, Proc. 1993 IEEE Int. Conf. Acoust., Speech, Signal Processing ICASSP-93, Vol. V, pp. 441-444, Minneapolis, USA, April 1993.

[49] Aizawa, K., and T.S. Huang, “Model-based image coding: Advanced video coding techniques for very low bit-rate applications”, Proc. IEEE, Vol. 83, No. 2, pp. 259-271, Feb. 1995.

[50] Choi, C.S., K. Aizawa, H. Harashima, and T. Takebe, “Analysis and synthesis of facial image sequences in model-based image coding”, IEEE Trans. on Circuits and Systems for Video Technology, Vol. 4, No. 4, pp. 257-275, Sept. 1994.

[51] Schäfer, R., and T. Sikora, “Digital video coding standards and their role in video communications”, Proc. IEEE, Vol. 83, No. 6, pp. 907-924, June 1995.

[52] ITU-T Recommendation H.261, Video Codec for Audiovisual Services at p×64 kbit/s, March 1993. [53] Liou, M., “Overview of the p×64 kbit/s video coding standard”, Communications of the ACM, Vol. 34, No. 4, pp.

59-63, April 1991. [54] COST211bis/SIM89/37, Description of Reference Model 8 (RM8), PTT Research Laboratories, The Netherlands,

May 1989. [55] ITU-T Recommendation H.263, Video Coding for Low Bit Rate Communication, March 1996. [56] Rijkse, K., “ITU standardisation of very low bitrate video coding algorithms”, Signal Processing: Image

Communication, Vol. 7, pp. 553-565, 1995. [57] Girod, B., E. Steinbach, and N. Färber, “Comparison of the H.263 and H.261 video compression standards”,

Proc. SPIE, Vol. CR60: Standards and Common Interfaces for Video Inform. Syst., Philadelphia, USA, Oct. 1996. [58] ISO/IEC-11172-2 (MPEG-1), Information Technology - Coding of Moving Pictures and Associated Audio for

Digital Storage Media at up to 1.5 Mbit/s - Part 2: Video, Oct. 1992. [59] LeGall, D., “MPEG: A video compression standard for multimedia applications”, Communications of the ACM,

Vol. 34, No. 4, pp. 46-58, April 1991. [60] LeGall, D.J., “The MPEG video compression algorithm”, Signal Processing: Image Communication, Vol. 4, No.

2, pp. 129-140, April 1992. [61] ISO/IEC-13818-2/ITU-T Recommendation H.262 (MPEG-2), Information Technology - Generic Coding of

Moving Pictures and Associated Audio Information: Video, July 1995. [62] ISO/IEC-14496-2 (MPEG-4), Information Technology - Coding of Audio-Visual Objects - Part 2: Visual, Oct.

1998. [63] Chiariglione, L., “MPEG and multimedia communications”, IEEE Trans. on Circuits and Systems for Video

Technology, Vol. 7, No. 1, pp. 5-18, Feb. 1997. [64] Sikora, T., “MPEG-4 video standard verification model”, IEEE Trans. on Circuits and Systems for Video

Technology, Vol. 7, No. 1, pp. 19-31, Feb. 1997. [65] Koenen, R., Ed., “Overview of the MPEG-4 standard”, Dublin, July 1998. Internet document

http://wwwam.hhi.de/mpeg/video/papers/sikora/mpeg/4.htm [66] Ebrahimi, T., and C. Horne, “MPEG-4 natural video coding -An overview”, Signal Processing: Image

Communication, 1999. [67] Sikora, T., and B. Makai, “Shape-adaptive DCT for generic coding of video”, IEEE Trans. on Circuits and

Systems for Video Technology, Vol. 5, No. 1, pp. 59-62, Feb. 1995. [68] Tekalp, M., and J. Ostermann, “Face and 2-D mesh animation in MPEG-4”, Signal Processing: Image

Communication, 1999. [69] Tekalp, M., P.J.L. van Beek, C. Toklu, and B. Gunsel, “Two-dimensional mesh-based visual object representation

for interactive synthetic/natural digital video”, Proc. IEEE, Vol. 86, No. 6, pp. 1029-1051, June 1998.