Wavelet gebaseerde beeldcompressie

Preview:

DESCRIPTION

Wavelet gebaseerde beeldcompressie. Embedded image coding using Zerotrees of Wavelet coefficients. Paschalis Tsiaflakis Jan Vangorp. Inleiding. Beeldcompressie Transformatie  Wavelettransformatie EZW-algoritme Demo + resultaten. Beeldcompressie. Waarom? Beperkte opslagcapaciteit - PowerPoint PPT Presentation

Citation preview

Wavelet gebaseerde beeldcompressie

Embedded image coding using Zerotrees of Wavelet coefficients

Paschalis TsiaflakisJan Vangorp

Inleiding• Beeldcompressie• Transformatie Wavelettransformatie• EZW-algoritme• Demo + resultaten

Beeldcompressie• Waarom?

- Beperkte opslagcapaciteit- Medische sector- FBI vingerafdrukken- …

- Beperkte transmissiecapaciteit- 56K modem- Realtime-aspecten

Beeldcompressie

Transformatie Quantisatie Encodering

Compressie

Inversetransformatie Quantisatie Decodering

beeld

gecomprimeerdbeeld

Decompressie

Reconstructie

DCT(JPEG)Wavelet(JPEG200

0)

vectorquantisatieEZW

Arith. coderinghuffman Gecomprimee

rdbeeld

Transformatie• Fourier transformatie: X(f)=-

x(t) e-j2ft dt

- X(f): goede frequentieresolutie, geen tijdsresolutie- x(t): goede tijdsresolutie, slechte

frequentieresolutie

Tijd Frequentie

Am

plitu

de

stationair

niet -stationair

5-10-20-50 HZ

Short Time Fourier Transform

X(f,τ) = - x(t) g*(t- τ) e-j2ft dt

• Tijdsresolutie door met venster te werken• Keuze venster bepaalt vervorming• Onzekerheidsprincipe afweging tussen tijds- en

frequentieresolutie- Smal venster: betere tijdsresolutie- Breed venster: betere frequentieresolutie

• Nadeel: op voorhand venster kiezen- Vaste tijds- en frequentieresolutie voor het hele signaal

Wavelet transformatie• We willen:

- Lage frequenties: betere frequentieresolutie- Hoge frequenties: betere tijdsresolutie

Wavelet transformatie (WT)- Wavelet = golfvorm, functie van de tijd- Wavelet transformatie:

Tijdsfunctie voorstellen dmv gescaleerde en verschoven versies van een moederwavelet

• Scaleren:

• Transleren:

f(x) f(2x) f(3x)

f(x) f(x-1)f(x+1)

+1-1

Wavelet transformatie• Continue wavelet transformatie (CWT)

• Discrete Wavelet transformatie

Moeder-wavelet

γ = waveletcoefficiëntτ = translaties = schaal, resolutie

γ(0.5,3)=0.23

ntmm 22 2

Multiresolutie analyse (MRA)

• Vaderfunctie Φ(t) (scaling function) :

t

t

Φ(t)resolutie j

Φ(t)resolutie j+1

f (t)= ∑kakΦ(t-k)hiermee andere functies benaderen :

Multiresolutie analyse (MRA)

• Een functie van hoge resolutie kan ontbonden worden in een functie van lagere resolutie en een verschilsignaal

• Verschilsignaal = waveletcoefficienten• Een functie van bepaalde resolutie kan compleet voorgesteld

worden op basis van waveletcoëfficiënten(details) en functie van lagere resolutie(grove informatie)

Hoge resolutie

Lagere resolutie

Nog lagere resolutie

Laagste resolutie

Details = waveletcoefficienten

Implementatie• Niet uniforme filterbank:

Tweedimensionale WT

Waarom wavelet transformatie

• Karakteristieken beeld goed weergegeven door wavelet transformatie:- Goede frequentieresolutie voor lage

frequenties algemene trend in een beeld

- Goede localisatie (plaatsresolutie) voor hoge frequenties details in een beeld

Wavelet transformatie• Beeld: laagdoorlaat spectrum

energiecompactie in lagere subbanden- Lage subbanden hebben grote coëfficiënten- Hoge subbanden hebben kleine coëfficiënten

• Er is een zelfgelijkenis tussen de subbanden

• De grote coëfficiënten bevatten het meeste informatie

EZW• Embedded image coding using Zerotrees

of Wavelet coefficients

• Wavelet coefficients:ontwikkeld voor gebruik met een wavelet transformatie

• Embedded encoding (progressive encoding):bits toevoegen aan stream = meer detail in gedecodeerd beeld

• Zerotrees:zelfgelijkenis van de wavelet subbanden uitbuiten

Waarom embedded• Encoder kan op elk moment het

encoderen afbrekenexact compressie ratio bereikenexact een bepaalde SNR behalen

• Client – server architectuur- Server bevat beeld met lage compressie- Client kan het downloaden op elk moment

onderbreken, afhankelijk van zijn eigen mogelijkheden

Zelfgelijkenis• Opbouw waveletcoëfficiënten

a a1

a2

a31

a3

a34a33

a32

a342a341a344a343

a11

a14a13

a12 a111

a114a113

a112

1 2

Wat is een zerotree• Waveletcoëfficiënten die dezelfde plaats in een

beeld beschrijven vormen een boom• Wanneer al de coëfficiënten onder een node

kleiner zijn dan een threshold spreekt men van een zerotree

a

a3a2a1

a21 a22 a23 a24a11 a12 a13 a14 a31 a32 a33 a34

a131 a132 a133 a134 a241 a242 a243 a244

a2431 a2432 a2433 a2434

Waarom zerotrees• Efficiënt coderen van de significance

map- Klassieke codeerschema’s:

veel bits voor coderen van plaats van coëfficiënten

- Zerotrees:- zelfgelijkenis van de subbanden en laagdoorlaat

spectrum- efficiënt grote insignificante delen van het beeld te

coderen- Volgorde coëfficiënten op voorhand

vastgelegd

EZW algoritmethreshold = initial_threshold;do {

dominant_pass;subordinate_pass;threshold = threshold/2;

} while(threshold > minimum);

• Dominant pass: coderen significance map• Subordinate pass: verfijnen coëfficiënten• Stopcriterium:

- Minimum threshold- Minimale SNR behaald- Maximale bestandsgrootte behaald

Dominant pass• Significance map gecodeerd met 4

symbolen> threshold?

anderecoëfficiënten> threshold

in zerotree?

teken?

SignificantPositive

SignificantNegative

IsolatedZero

ZerotreeRoot

niet coderenvoorspelbaar insignificant

Ja Nee

(+) (-)

Ja Nee

Nee

Ja

coëfficiënt

P N Z T

12 -9

6

4

7

3-6

-2

1

5-4

6

2

10

9

threshold = 8PNZT TTTT TPTT

Subordinate pass• Successive approximation:

opeenvolgende benaderingen16

8

12

14

10

huidige reconstructiewaarde

Convergentie naar de juiste waarde

Arithmetische codering

D1: pnztpttttztttttttpttS1: 1010D2: ztnpttttttttS2: 100110D3: zzzzzppnppnttnnptpttnttttttttptttptttttttttpttttttttttttS3: 10011101111011011000D4: zzzzzzztztznzzzzpttptpptpnptntttttptpnpppptttttptptttpnpS4: 11011111011001000001110110100010010101100D5: zzzzztzzzzztpzzzttpttttnptppttptttnppnttttpnnpttpttpptttS5: 1011110011010001011111010110110010000000011011011001100011D6: zzzttztttztttttnnttt

• Bevat nog veel redundatie arithmetische codering toepassen

Demo

Transformatie Quantisatie Encodering

Compressie

Inversetransformatie Quantisatie Decodering

beeld

gecomprimeerdbeeld

Decompressie

Reconstructie

EZW vs JPEG

Compressiefactor 6EZW JPEG

EZW vs JPEG

Compressiefactor 28EZW JPEG

EZW vs JPEG

Compressiefactor 12EZW JPEG

EZW vs JPEG

Compressiefactor 21EZW JPEG

Hoe ver kunnen we gaan

origineel compressie 26 compressie 72 compressie 251

Ruisonderdrukking

EZW origineel JPEG

Prestatie tov JPEGsignaal tot ruisverhouding

15

17

19

21

23

25

27

1 10 100

Compressie factor

dB

EZW

JPEG

Compressietijden

uitvoeringstijd

1

10

100

1000

10000

100000

0.1110

threshold

tijd

(s)

C code

Matlab code

threshold C matlab8 7 s 5 s4 12 s 8 s2 18 s 18 s1 24 s 40 s

0.5 40 s 101 s0.25 57 s 1800 s0.125 128 s 46800 s

Besluit• Waveletgebaseerde compressie:

- veelbelovende techniek - recente compressie-algoritmen: JPEG2000

compressie 400 compressie 600 compressie 900

Recommended