Download - Wavelet gebaseerde beeldcompressie
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