1 / 16

Kompresija slike u wavelet domeni

Kompresija slike u wavelet domeni. Fast Progressive Wavelet Coding. Saša Mrvoš. Fast Progressive Wavelet Coding. Brz algoritam ne traži Zerotree-jeve ne koristi kontekstno-adaptivno kodiranje, niti aritmetički koder Po kvaliteti kompresije u rangu sa state-of-the-art metodama kompresije

chloe
Download Presentation

Kompresija slike u wavelet domeni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kompresija slike u wavelet domeni Fast Progressive Wavelet Coding Saša Mrvoš

  2. Fast Progressive Wavelet Coding • Brz algoritam • ne traži Zerotree-jeve • ne koristi kontekstno-adaptivno kodiranje, niti aritmetički koder • Po kvaliteti kompresije u rangu sa state-of-the-art metodama kompresije • Embedded bitstream (progressive)

  3. Fast Progressive Wavelet Codec Conversion from RGB to YUV Wavelet Transform Reordering and Grouping Bitplane Encoder Image Conversion from YUV to RGB Inverse Wavelet Transform Reordering and Grouping Bitplane Decoder Reconst. Image

  4. Conversion to YUV • Y je svjetlina piksela (monokromatska boja) • U i V određuju vektor boje • Psihovizualno, na čovjekov dojam o kvaliteti slike znatnije utječe Y nego UV • U i V polja se horizontalno downsample-aju • (Y1,Y2,U1.2,V1.2)(Y3,Y4,U3.4,V3.4)...

  5. Originalni signal L3 H3 H2 H1 Integer Wavelet Transform • Wavelet filtarski slog • Wavelet stablo:

  6. 1 2 3 4 5 6 7 8 9 ... Integer Wavelet Transform • Wavelet filtarski slog sa podizanjem (lifting), ljestvičasta struktura • smanjuje broj matematičkih operacija • osigurava potpunu rekonstrukciju • lagano izvesti sa integer operacijama LOW HIGH High[i] -= (9*(Low[i] + Low[i+1]) – (Low[i-1] + Low[i+2]) + 8) >> 4 Low[i] += (9*(High[i-1] + High[i]) – (High[i-2] + High[i+1]) + 16) >>5 Simetrična ekstenzija signala na rubnim uzorcima!

  7. HL HL HL LH LH LH HH HH HH 2D Wavelet Transform L H LL HL LH HH L H LL HL LH HH

  8. Bitplane – polja bitova • Wavelet koeficijenti slike su 8-bitni integeri, zbog Integer WT • Bitplane je polje bitova • ima dimenziju slike • sadrži samo 1 bit Wavelet koeficijenta (signifikantnost bita) • MSB Bitplane (1. bitplane) sadrži najznačajnije bitove (8. bit) koeficijenata • 2. bitplane sadrži 7. bitove koeficijenata • 3. bitplane sadrži 6. bitove koeficijenata • ...

  9. Reordering and Grouping • Lowpass dijelovi značajniji za rekonstrukciju slike • Slika se dijeli na blokove • Veličina bloka: veličina LL dijela ili manja • Alterniranje HL i LH blokova • Također, Y komponenta ima veći prioritet od UV • Grupiranje Bitplane-ova: • G1: Y(0) • G2: Y(0,1,2,3) – UV(0) • G3: Y(0,1,...,15) – UV(0,1,2,3) • G4: Y(0,1,...,63) – UV(0,1,...,15) • G5: Y(0,1,...) – UV(0,1,...,63)

  10. Bitplane encoding • Wavelet koeficijenti se kodiraju grupu po grupu, blok po blok • Blokove kodiramo jedan bitplane po prolazu • Počinje se od najznačajnijeg bitplane-a • Pojedini bitplane nekog bloka/grupe se kodira u dva prolaza: • 1. prolaz – traženje novih signifikantnih koeficijenata • 2. prolaz – povećanje preciznosti koeficijenata koji su u prethodnim prolazima postali signifikantni

  11. 1. prolaz – Significant pass • Na početku algoritma su svi koeficijenti nesignifikantni • Prolazimo kroz nesignifikantne koeficijente trenutnog bitplanea (MSB, 2., 3., …, LSB) • Ako koeficijent ima jedinicu u tom bitplane-u, on postaje signifikantan, i kodira mu se predznak. Simboli SP, SN. • inače, koeficijent ostaje nesignifikantan i kodira se simbolom Z • Simboli SP, SN i Z se kodiraju Run Length Rice enkoderom

  12. 2. prolaz – Refinement pass • Prolazimo kroz koeficijente trenutnog bitplanea koji su u prethodnim prolazima postali signifikantni • Kodiramo njihovo stanje na ovom bitplane-u (simboli 0 ili 1) i time im za jedan bit povećavamo preciznost • Simboli 0 i 1 se ne kodiraju već se u binarnom obliku šalju u bitstream

  13. Primjer • Significant pass: • BP (00000) • BP (00010) • BP (0010) • BP (001) • BP (10) • BP (1) Refinement pass: 2. BP (1) 3. BP (00) 4. BP (000) 5. BP (0111) 6. BP (11001) 7. BP (01111)

  14. Run Length Rice encoder • Kodira simbole Z, SP, SN • Zbog spacijalne koreliranosti koeficijenata velika je vjerojatnost da će simboli Z biti mnogo češći u signalu, te da će se pojavljivati više uzastopnih simbola Z • RLR kodovi: • 0 - pojavljivanje 2K nula (simbol Z) za redom • 1c0 - pojavljivanje c < 2K nula (simbol Z), pa signifikantan pozitivan koeficijent (simbol SP) • 1c1 - pojavljivanje c < 2K nula (simbol Z), pa signifikantan negativan koeficijent (simbol SN) • c ima duljinu K bitova • K se određuje adaptivno po bitplaneu i grupi blokova • u početku je veća vjerojatnost uzastopnih simbola Z (očekujemo ih više za redom) • kasnije očekujemo sve kraće grupe uzastopnih simbola Z

  15. Gdje je tu kompresija? • Ako na opisani način komprimiramo sliku, moći ćemo ju u potpunosti rekonstruirati (lossless). Faktor kompresije je oko 4 puta. • No, komprimirana slika (bitstream) ima slijedeće svojstvo (embedded, progressive): • bilo koji “prefiks” bitstream-a može rekonstruirati sliku, ali ovisno o duljini “prefiksa” kvaliteta rekonstruirane slike je veća ili manja. • odrezivanjem bitstream-a možemo postići lossy kompresiju (poput JPEG-a i sličnih) • ako šaljemo komprimiranu sliku komunikacijskim kanalom, možemo ju prikazati i dok nije cijela stigla (efekt da se slika izoštrava)

  16. Gdje je tu kompresija? • Embedded bitstream je ostvaren davajući prioritet prema početku bitstreama: • Y komponenta ima veći prioritet od U i V komponenti • Lowpass blokovi/grupe imaju veći prioritet nad highpass blokovima • Psihovizualno, neki nepotpuni bitstream (prefiks) će nam dati dojam što je na slici, ali će nam slika izgledati “zaglađena”, nedovoljno “oštra”

More Related