KOMPRESIJA SLIKE

Preview:

DESCRIPTION

KOMPRESIJA SLIKE. ENCIKLOPEDIJA 500,000 stranica teksta (2 KB po stranici) – ukupno 1 GB; 3,000 kolor slika ( u prosjeku 640x480x24 bita = 1 MB po slici) – ukupno 3 GB; 500 mapa ( u prosjeku 640x480x16 bita = 1 MB po mapi) – ukupno 0.3 GB; - PowerPoint PPT Presentation

Citation preview

KOMPRESIJA SLIKE

ENCIKLOPEDIJA•500,000 stranica teksta (2 KB po stranici) – ukupno 1 GB;•3,000 kolor slika ( u prosjeku 640x480x24 bita = 1 MB po slici) – ukupno 3 GB;•500 mapa ( u prosjeku 640x480x16 bita = 1 MB po mapi) – ukupno 0.3 GB;•60 min stereo zvuka (176 KB po sekundi) – ukupno 0.6 GB;•30 animacija, u prosjeku po 2 minute (640x320x16 bita x 16 slika/sec = 6.5 MB/sec) – 23.4 GB;•50 digitalizovanih filmskih zapisa (video sekvenci) u prosjeku od 1 minuta (640x480x24 bita x 30 slika/sec = 27.6 MB/sec) – 82.8 GB.

•UKUPNO 111.1 GB

•Kompresija:•tekst 2:1•kolor slike 5:1•mape 10:1•stereo zvuk 6:1•animacije 50:1•video 50:1 Ukupno: 2.96 GB

KOMPRESIJA SLIKE

KOMPRESIJA SLIKE

Prikazivanje filma sa nekog memorijskog medija, recimo CD-ROM-a. Ako pretpostavimo kolor video sekvencu slika sa rezolucijom svake slike od 620x560 piksela i 24 bita/pikselu, trebaće nam oko 1MB memorije po slici. Za prikaz 30 slika u sekundi. Brzina prenosa bi trebala biti 30 MB/sekundi, dok postojeći uređaji imaju brzinu prenosa Kx150 KB/sekundi, što sa vrijednošću za K=52 iznosi 7.8 MB/sekundi. Još smo tehnološki daleko od brzine prenosa sa K=200.

KOMPRESIJA BEZ GUBITAKA

Hafmanovo kodovanje

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

Hafmanovo kodovanje

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

10

1

1

KOMPRESIJA BEZ GUBITAKA

Hafmanovo kodovanje

i Hafmanov kod

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

U navedenom primjeru prosječna dužina kodne riječi je L=2.55, pa je realizovani stepen kompresije 3/2.55= 1.176.

KOMPRESIJA BEZ GUBITAKA

Kodovanje dužina nizova

l1

l2

l3

lk

g 1

g 2

g 3

g k

iM

x i

Grupu piksela dužine li sa nivoom sivog gi, nazivamo niz. Ako se u

jednoj liniji nalazi k takvih segmenata, sadržaj linije slike se umjesto pojedinačnim vrijednostima piksela može predstaviti uređenim parovima (li, gi) i umjesto kodovanja pojedinačnih piksela može se kodovati cijela

grupa.

run-length coding - RLC

KOMPRESIJA BEZ GUBITAKA

LZW postupak kompresije (Lempel, Ziv, Welch)

KOMPRESIJA BEZ GUBITAKA

- generiše kodnu tabelu u toku postupka kodovanja i dekodovanja

Digitalna slika se posmatra kao dugačak jednodimenzionalni niz, sastavljen od podnizova čija dužina može biti različita, zavisno od primjene algoritma (npr. jedan bajt).

LZW postupak kompresije (Lempel, Ziv, Welch) - kodovanje

KOMPRESIJA BEZ GUBITAKA

Sadržaj kodne tabele na početku kodovanja/dekodovanja: (1) A (2) B (3) C Ulazni niz za kodovanje: Pozicija 1 2 3 4 5 6 7 8 9 Podniz A B B A B A B A C

Postupak kodovanja

Korak Poz Kodna tabela Izlaz 1. 1 (4) A B (1) 2. 2 (5) B B (2) 3. 3 (6) B A (2) 4. 4 (7) A B A (4) 5. 6 (8) A B A C (7) 6. -- -- (3)

Ako dolazi do popunjavanja kodne tabele, poslednji znak niza koji se upisuje u tabelu je jednak prvom znaku sljedećeg niza koji se šalje.

LZW postupak kompresije (Lempel, Ziv, Welch) - dekodovanje

KOMPRESIJA BEZ GUBITAKA

Pozicija 1 2 3 4 5 6 7 8 9 Podniz A B B A B A B A C

Korak Kod Izlaz Kodna tabela 1. (1) A -- 2. (2) B (4) A B 3. (2) B (5) B B 4. (4) A B (6) B A 5. (7) A B A (7) A B A 6. (3) C (8) A B A C

Ako stigne kod 7 čije mjesto je u tabeli još prazno, prethodno pristiglom nizu ("A B") se dodaje prvi znak njega samog "A“, taj niz ("A B A") se upisuje na slobodnu poziciju kodne tabele (7), i na izlaz se šalje taj isti kod ("A B A").

ZIP, ARJ, TIFF, GIF

Prediktivno kodovanje bez gubitaka

PREDIKTIVNE TEHNIKE ZA KOMPRESIJU SLIKE

WjijnimfPnmf ,)},,({),(ˆ ),(ˆ),(),( nmfnmfnme

Prediktor

Entropijskikoder

f(m,n)

f(m,n)

e(m,n)+

-^

Komprimovanipodaci

+

e(m,n)

Prediktorf(m,n)^

+

f (m,n)

Dekoder

Entropijskidekoder

Koder

C B

A X m

m-1

n-1 n

X = f(m,n)

Anmf ),(ˆ

Bnmf ),(ˆ

Cnmf ),(ˆ

CBAnmf ),(ˆ

2

Int),(ˆ CBAnmf

2

Int),(ˆ CABnmf

2

Int),(ˆ BAnmf

Prediktivno kodovanje sa gubicima

PREDIKTIVNE TEHNIKE ZA KOMPRESIJU SLIKE

diferencijalna impulsna kodna modulacija(Differential Pulse Code Modulation – DPCM).

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

WjijnimfPnmf ,)},,({),(ˆ

),(ˆ),(),( nmfnmfnme

)],([),( nmeQnme

),(ˆ),(),( nmfnmenmf

C B

A X m

m-1

n-1 n

X = f(m,n)D

n+1

Prediktivno kodovanje sa gubicima

PREDIKTIVNE TEHNIKE ZA KOMPRESIJU SLIKE

C B

A X m

m-1

n-1 n

X = f(m,n)D

n+1

Anmf ),(ˆ

2),(ˆ BA

nmf

2),(ˆ DA

nmf

42

),(ˆ DBAnmf )(),(ˆ CBAnmf

2

),(ˆ CDAnmf

CBAnmf

2

1

4

3

4

3),(ˆ

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

lkQ

lkFRoundlkFq ,

,,

- gubitak detalja zbog eliminacije visokofrekventnih DCT koeficijenata, - granularnost strukture na površinama relativno uniformne osvjetljenosti kao posljedica grube kvantizacije DCT koeficijenata,- blokovski efekat pri većim stepenima kompresije.

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

originalna slika Saturn (512x512 piksela), rekonstruisana slika na osnovu 20 DCT koeficijenata (32x32 blok), slika greške

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

originalna slika Saturn (512x512 piksela), rekonstruisana slika na osnovu 12 DCT koeficijenata (32x32 blok), slika greške

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

originalna slika Saturn (512x512 piksela), rekonstruisana slika na osnovu 4 DCT koeficijenta (32x32 blok), slika greške

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

TRANSFORMACIONE TEHNIKE ZA KOMPRESIJU SLIKE

Internacionalna organizacija za standarde (ISO), Internacionalna elektrotehnička komisija (IEC) i Internacionalna telekomunikaciona unija (ITU) rade na standardizaciji metoda, hardvera i softvera za multimedijalne sisteme, videokonferencije, videotelefoniju i slične aplikacije. Do sada se pojavilo više standarda (JPEG, JPEG 2000 za kompresiju mirnih slika, MPEG-1, MPEG-2, MPEG-4, H.261, H.263, za kompresiju video sekvenci, itd.).

JPEG (Joint Photographic Experts Group) STANDARD

•Sekvencijalno DCT kodovanje: slika se koduje jednim prolazom kroz sliku, s lijeva na desno, pa odozgo prema dole.

•Progresivno DCT kodovanje: slika se koduje u više prolaza, s ciljem da korisnik što prije dobije makar i grubu sliku, a zatim sve finiju i finiju strukturu slike.

•Kodovanje bez gubitaka: garantuje se perfektna rekonstrukcija originalne slike, ali je stepen kompresije mali.

•Hijerarhijsko kodovanje: slika se koduje različitim rezolucijama, pri čemu za rekonstrukciju slike niže rezolucije nije potrebno poznavanje podataka o kodovanju slike više rezolucije.

JPEG STANDARD

Blok šema JPEG sekvencijanog kodera i dekodera

JPEG STANDARD - kodovanje

Na ulazu kodera, originalne vrijednosti piksela, koje su pozitivni cijeli brojevi iz opsega [0, 2p-1], se pomijeraju u opseg [ -2p-1, 2p-1-1]. p=8, [0, 255], [-128, +127].

1,0,2

)12(cos

2

)12(cos],[

][][],[

1

0

1

0

plkp

nl

p

mknmf

p

lklkF

p

m

p

n

.111

,0,21][

pj

jj

JPEG STANDARD - kodovanje

JPEG STANDARD - kodovanje

lkQ

lkFRoundlkFq ,

,,

JPEG STANDARD - kodovanje

Cik-cak poredak AC koeficijenata Vjerovatnoća da su DCT koeficijentirazličiti od nule

JPEG STANDARD - kodovanje

Prediktivno kodovanje DC koeficijenata

JPEG STANDARD - kodovanje

Binarna sekvenca:

(1) formira se tabela simbola,

(2) na osnovu Hafmanove tabelekonvertuju se simboli u binarnu sekvencu.

0,0,0,0,0,0,476 (6,9)(476) DUŽINA_NIZA=6, VELIČINA=9 i AMPLITUDA=476

(15,0)(15,0)(7,4)(12) DUŽINA_NIZA je jednaka 16+16+7=39, VELIČINA=4 i AMPLITUDA=12

Simbolom (0,0) se završava svaki 8x8 blok.

Za DC koeficijente se tabela simbola sastoji od: VELIČINA, AMPLITUDAKako se DC koeficijenti diferencijalno koduju, opseg vrijednosti je dvostruko veći nego kod AC koeficijenata

•(DUŽINA_NIZA, VELIČINA)

•(AMPLITUDA)

JPEG STANDARD - kodovanje

AC (1,4)(12)kod: (1111101101100)gdje je: (111110110) kod za (1,4)

(1100) kod 12

JPEG STANDARD - dekodovanje

vuQvuFvuF qi

q ,,,

7

0

7

0 2

)12(cos

2

)12(cos],[][][

4

1],[

k l p

nl

p

mklkFlknmf

.111

,0,21][

pj

jj

Pomijeranje dekompresovanih odmjeraka u opseg [0, 2p-1] .

Binarna sekvenca se konvertuje u sekvencu simbola koristeći Hafmanovu tabelu, a zatim se simboli konvertuju u DCT koeficijente.

JPEG STANDARD - primjer

22.598

512

98

864

bita broj kodovani

bita broj originalan

RC

53.164

98

piksela broj

bita broj kodovanibN

JPEG STANDARD - mjere kompresije

binarne slike 2 bita/pikselu,računarska grafika 4 bita/pikselu,grayscale slike 8 bita/pikselu,slike u boji 16, 24 ili više bita/pikselu.

kompresijenakon podataka kolicina

podataka kolicina originalnaRC

Stepen kompresije:

Broj bita po pikselu u komprimovanoj slici:

piksela broj

kodovanjanakon bita brojbN

2

1

ˆ1

n

iii XX

nRMS

Srednjekvardratna greška:

JPEG STANDARD - primjer

Originalna slika 500×362 piksela i kodovana sa 8 bita/pikselu

Slika komprimovana 4 puta

Slika komprimovana 10 puta Slika komprimovana 22 puta

JPEG STANDARD - primjer

JPEG STANDARD - primjer

JPEG STANDARD - primjer

JPEG STANDARD - primjer

Recommended