330 likes | 479 Views
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
E N D
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 • Medische sector • FBI vingerafdrukken • … • Beperkte transmissiecapaciteit • 56K modem • Realtime-aspecten
Beeldcompressie DCT(JPEG) Wavelet(JPEG2000) vectorquantisatie EZW Arith. codering huffman Gecomprimeerd beeld
Transformatie • Fourier transformatie: X(f)=- x(t) e-j2ft dt • X(f): goede frequentieresolutie, geen tijdsresolutie • x(t): goede tijdsresolutie, slechte frequentieresolutie stationair 5-10-20-50 HZ Amplitude niet -stationair Tijd Frequentie
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 f(x) f(2x) f(3x) f(x+1) f(x) f(x-1) -1 +1 • 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:
Wavelet transformatie • Continue wavelet transformatie (CWT) • Discrete Wavelet transformatie Moeder-wavelet γ= waveletcoefficiënt τ = translatie s = schaal, resolutie γ(0.5,3)=0.23
Multiresolutie analyse (MRA) t t • Vaderfunctie Φ(t) (scaling function) : hiermee andere functies benaderen : Φ(t) resolutie j f (t)= ∑kakΦ(t-k) Φ(t) resolutie j+1
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) Lagere resolutie Nog lagere resolutie Laagste resolutie Hoge resolutie Details = waveletcoefficienten
Implementatie • Niet uniforme filterbank:
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 spectrumenergiecompactie 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 1 2 a a1 a11 a12 a111 a112 a13 a14 a113 a114 a2 a3 a31 a32 a33 a34 a341 a342 a343 a344
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 a1 a2 a3 a13 a23 a33 a11 a12 a14 a21 a22 a24 a31 a32 a34 a133 a131 a132 a134 a243 a241 a242 a244 a2433 a2431 a2432 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 algoritme threshold = 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 12 -9 1 6 -4 5 6 7 4 -2 2 9 -6 3 0 1 threshold = 8 PNZT TTTT TPTT Z P N T
Subordinate pass • Successive approximation: opeenvolgende benaderingen 16 14 12 huidige reconstructiewaarde 10 Convergentie naar de juiste waarde 8
Arithmetische codering D1: pnztpttttztttttttptt S1: 1010 D2: ztnptttttttt S2: 100110 D3: zzzzzppnppnttnnptpttnttttttttptttptttttttttptttttttttttt S3: 10011101111011011000 D4: zzzzzzztztznzzzzpttptpptpnptntttttptpnpppptttttptptttpnp S4: 11011111011001000001110110100010010101100 D5: zzzzztzzzzztpzzzttpttttnptppttptttnppnttttpnnpttpttppttt S5: 1011110011010001011111010110110010000000011011011001100011 D6: zzzttztttztttttnnttt • Bevat nog veel redundatie arithmetische codering toepassen
EZW vs JPEG JPEG EZW Compressiefactor 6
EZW vs JPEG JPEG EZW Compressiefactor 28
EZW vs JPEG JPEG EZW Compressiefactor 12
EZW vs JPEG JPEG EZW Compressiefactor 21
Hoe ver kunnen we gaan origineel compressie 26 compressie 72 compressie 251
Ruisonderdrukking EZW origineel JPEG
Besluit • Waveletgebaseerde compressie: • veelbelovende techniek • recente compressie-algoritmen: JPEG2000 compressie 400 compressie 600 compressie 900