![Page 1: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/1.jpg)
Transmisia datelor multimedia in retele de calculatoare
Compresia Wavelet
Conf. Dr. Ing. Costin-Anton Boiangiu<[email protected]>
UNIVERSITY POLITEHNICA of BUCHARESTDEPARTMENT OF COMPUTER SCIENCE
![Page 2: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/2.jpg)
IntroducereCompresia imaginilor bazata pe transformari Wavelet
urmareste eliminarea:
Redundanţei spaţiale: În aproape toate imaginile naturale valorile pixelilor apropiaţi sunt identice sau uşor diferite
Redundanţei spectrale: În imaginile compuse din mai mult de o bandă spectrală valorile spectrale ale aceluiaşi pixel sunt deseori corelate
Redundanţei temporale: Cadrele adiacente într-o secvenţă video suferă mici modificări
2
![Page 3: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/3.jpg)
Transformarea WaveletUna dintre metodele cele mai uzuale de efectua analiza a
unui semnal este descompunerea sa într-o sumă ponderată de funcţii numite funcţii bază ("basis functions"):
unde:c(i) sunt coeficienţi/ponderi ("weights“)b(i) sunt funcţii bază
3
![Page 4: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/4.jpg)
Transformarea WaveletDin moment ce funcţiile bază sunt cunoscute problema se
reduce calculul coeficienţilor c(i)Pentru a simplifica abordarea vom presupune că toate
funcţiile b(i) sunt variante scalate şi translatate ale aceleiaşi funcţii b cunoscută sub numele de wavelet mamă ("mother wavelet")
Scalarea este realizată prin multiplicarea cu un factor de scală, în general ales ca fiind 2De aceea este aleasă forma de scalare în cascadă b(2u)
unde u este un număr întreg
4
![Page 5: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/5.jpg)
Transformarea WaveletDeoarece b are un suport finit este necesară translaţia în
axa timpului pentru a acoperi întregul semnalTranslaţia este realizată prin shiftarea tuturor
componentelor lui b adică b(2u * x - k),unde k este un
număr întregDe fapt se realizează o translaţie cu 2-u
* k deoarece se poate scrie că:
5
![Page 6: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/6.jpg)
Transformarea WaveletCumulând rezultatele rezultă o descompunere a lui f de
forma:
unde
Multiplicarea cu 2u/2 este necesară pentru a păstra bazele ortonormate
6
![Page 7: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/7.jpg)
Compresia imaginilor staticePasii compresiei:
aplicarea unei transformări wavelet pentru a extrage caracteristicile de frecvenţă ale imaginii
cuantizarea datelor rezultatecodificarea valorilor rezultate din cuantizare
7
![Page 8: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/8.jpg)
Implementarea Wavelet
8
![Page 9: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/9.jpg)
Implementarea WaveletTransformarea directă wavelet ("Forward Wavelet Transform") poate
fi implementată eficient în O(n) prin utilizarea unei perechi de QMF ("Quadrature Mirror Filters“)
Fiecare QMF constă dintr-o dualitate de filtre care împart banda de frecvenţe a semnalului în două : H - filtru LPF("LowPass Filter") G - filtru HPF("HighPass Filter")
Răspunsurile digitale ale lui H şi G sunt "în oglindă" ("mirrored"):
Răspunsurile în impuls ale transformărilor directă şi inversă ale QMF-ului notate (Ĥ,Ĝ) respectiv (H, G) sunt date de relaţiile :
9
![Page 10: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/10.jpg)
Exemplu – W6Wavelet-ul “mama”
10
![Page 11: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/11.jpg)
Exemplu – W6Răspunsurile în impuls pentru H şi G; graficul reprezintă
magnitudinea semnalului în funcţie de frecvenţa normalizată
11
![Page 12: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/12.jpg)
Implementarea WaveletUn semnal unidimensional poate fi filtrat prin convoluţia
coeficienţilor filtrului c(k) cu valorile semnalului:
unde M este numărul de coeficienţi ("taps") ai filtruluiTransformarea wavelet unidimensională directă a
semnalului s este realizată prin: convoluţia lui s atât cu Ĥ cât şi cu Ĝ aplicare "downsampling" cu 2
12
![Page 13: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/13.jpg)
Implementarea WaveletRelaţia dintre coeficienţii filtrului Ĥ, Ĝ şi începutul semnalului s este:
De notat că filtrul Ĝ se extinde înaintea semnalului ca timp iar dacă semnalul este finit Ĥ se extinde dincolo de sfârşitul semnalului O situatie similară apare la calculul transformărilor inverse pentru filtrele H şi G
Într-o implementare reală utilizatorul va trebui să aleagă cu ce anume va completa semnalul; o practică bună este de a înlânţui semnalul după capete:
… s(n - 1) s(n) s0 s1 s2 … s(n - 1) s(n) s0 s1 …
creând în acest mod o extensie periodică a lui s
13
![Page 14: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/14.jpg)
ExempluTransformarea 2D wavelet asupra unei imagini realizată prin aplicarea unei
succesiuni de transformări 1D separate
14
![Page 15: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/15.jpg)
ExempluTransformarea 2D wavelet inversă asupra unei imagini; ee
deduce uşor aplicarea paşilor inverşi din transformarea directă
15
![Page 16: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/16.jpg)
CuantizareaTransformarea wavelet directă decorelează valorile pixelilor
în imaginea initială şi concentrează informaţia imaginii într-un număr relativ mic de coeficienti
În general asupra coeficienţilor obtinuţi din transformarea wavelet se aplică o funcţie prag ("threshold") ce are rolul de a îmbunătăţi performanţele de compresie fără a distorsiona semnificativ imaginea
Codificarea coeficienţilor rezultaţi se face ulterior cu un algoritm de compresie fără pierderi preferăndu-se Huffman adaptiv cu fereastra glisantă de dimensiune 64K după aplicarea în prealabil a unei codificări RLE
16
![Page 17: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/17.jpg)
CuantizareaHistograma valorilor pixelilor pentru
o imagine 8 BPP („Bits per pixel”) ("Lenna" 512x512) respectiv histograma coeficienţilor wavelet aceliaşi imagini după ce transformarea a fost aplicată
17
![Page 18: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/18.jpg)
Rezultate experimentaleDouă tipuri de codificări:
FLC – Codificare de lungime fixă ("Fixed Length Coding") VLC – Codificare de lungime variabilă ("Variable Length
Coding") Codificări wavelet:
18
![Page 19: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/19.jpg)
Rezultate experimentale
Se poate observa că performanţele codificării cu lungime variabilă sunt mai bune ca cele ale codificării cu lungime statică
19
![Page 20: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/20.jpg)
Rezultate experimentale
20
![Page 21: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/21.jpg)
Compresia videoCompresia video pe bază de transformări wavelet este
realizată prin aplicarea aceleiaşi tehnici din compresia imaginilor statice dar asupra diferenţelor (imaginii diferenţă) dintre două cadre succesive
Decompresia se realizează prin aplicarea transformării inverse wavelet şi însumarea cu imaginea iniţială
Nu există în momentul de faţă nici un format standard referitor la codificarea succesiunilor de imagini pe bază de wavelet-uri
21
![Page 22: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/22.jpg)
Exemplu - compresie
22
![Page 23: Transmisia datelor multimedia in retele de calculatoare Compresia Wavelet](https://reader033.vdocuments.mx/reader033/viewer/2022050806/5681662f550346895dd994f9/html5/thumbnails/23.jpg)
Exemplu - decompresie
23