670 likes | 941 Views
Multimedijske komunikacije. Fourierova, DCT i DWT transformacija. Fourierovi redovi. Periodičnu funkciju x(t) s periodom T možemo aproksimirati trigonometrijskom sumom. gdje je. Ako za a k i b k izaberemo Fourierove koeficijente.
E N D
Multimedijske komunikacije Fourierova, DCT i DWT transformacija
Fourierovi redovi • Periodičnu funkciju x(t) s periodom T možemo aproksimirati trigonometrijskom sumom • gdje je
Ako za ak i bk izaberemo Fourierove koeficijente • aproksimacija sn(t) će u smislu srednjeg kvadratnog odstupanja biti najbliža x(t) • Za svaku po odsječcima neprekinutu funkciju Fourierov red konvergira prema x(t) za n
Fourierov red možemo napisati i kao • Za Fourierov red vrijedi Parsevalova jednadžba
Fourierova transformacija Definicija: Vrijedi Parsevalova jednakost energije signala u vremenskoj i frekvencijskoj domeni
Uz: Slijedi: • To znači da su Fourierovi koeficijenti cn uzorci X(f) na frekvencijama nf0 pomnoženi s f0 (odnosno 1/T) – razmak između frekvencijskih komponenata je f0
Zašto govorimo o Fourierovoj transformaciji? • Koeficijenti dobijeni Fourierovom transformacijom predstavljaju frekvencijski sadržaj signala – možemo raditi spektralnu analizu signala • Moramo razmotriti što je s F. transformacijom neperiodičnog signala i k tome još diskretnog (s kakvim se susrećemo u multimediji)
Vremenski diskretni signal • Razmatrat ćemo sinusoidu • i njenu diskretnu verziju • gdje je 1/Ts frekvencija uzorkovanja, a =Ts=2fTs predstavlja digitalnu frekvenciju diskretne sinusoide
tako da x(nTs) možemo pisati kao sekvencu • digitalna frekvencija =Ts=2fTs određuje koliko uzoraka sinusoide ćemo uzeti kada je frekvencija uzorkovanja fs=1/Ts • npr. ako je = /2 uzet ćemo 4 uzorka sinsoide po periodi • ako je = uzet ćemo 2 uzorka sinsoide po periodi (ali će svi biti jednaki) • ako je > imat ćemo 1 ili manje uzoraka po periodi i više ne možemo razlikovati različite sinusoide – pojavljuje se aliasing
Slijedi da digitalna frekvencija ne može biti jednaka ili veća od Odnosno:
Problem aliasinga rješavamo ili analognim filtriranjem signala (gušenjem frekvencija iznad fs/2) ili “oversamplingom” fs/2
Fourierova transformacija diskretnog signala • Diskretni signal možemo iskazati kao umnožak kontinuirane funkcije x(t) i impulsnog niza T
Dobijena diskretna funkcija xS(t) može se napisati u obliku • Niz T je periodičan s periodom T=1/fs pa ga možemo iskazati preko Fourierova reda
f Sad možemo naći Fourierovu tansformaciju diskretnog niza xS(t)
Zamjenom redoslijeda sumacije i integracije • integral je spektar signala x(t) pomaknut za kfs (k je cijeli broj od - do pa se osnovni spektar ponavlja)
kontinuirani signal t kontinuirani spektar f
diskretni signal kontinuirani spektar
Može se pokazati da se spektar diskretnog signala može računati direktno iz diskrtne sekvence xS(t) • Zamijenimo mjesta sumacije i integracije
Znači vrijedi: • Može se pokazati da vrijedi i inverzna Fourierova transformacija
Fourieova transformacija diskretnog periodičnog signala • Realni diskretni signali su konačni, i želimo ih prikazati konačnim brojem frekvencijskih komponenti • Način da to postignemo je da od signala duljine N uzoraka umjetno napravimo periodični tako da ga ponavljamo • Diskretni signal x(n) ima PERIODIČAN SPEKTAR (zbog diskretnosti signala u vremenskoj domeni) koji se ponavlja svakih 2 (područje frekvencija se može iskazati kao (- , ) ili (0, 2) • Diskretni periodični signal x(n) ima PERIODIČAN I DISKRETAN SPEKTAR (diskretan zbog periodičnosti u vremenskoj domeni) – razmak između komponenti je 2/N
Spektar diskretnog periodičnog signala može se iskazati preko Fourierovog reda • U slučaju diskretnog periodičnog signala govorimo o Diskretnoj Fourierovoj Transformaciji – DFT • DFT možemo računati brzim postupkom - FFT
y(k) Primjer 1. N=240; k=1:N; y(k)=5*sin(2*pi*10*(k-1)/N) U Matlabu fft funkcija računa sljedeće f(y) fy=abs(fft(y))*2/N;
y(k) 0 Primjer 1. • y ima 240 uzoraka sinusoide • fft(y) ima 240 uzoraka spektra • kako bi amplitude spektra odgovarale amplitudi sinusoide potrebno je napraviti normiranje s 2/N • spektar pokazuje dvije frekvencije fft(y)(11)=0 - 600j fft(y)(231)=0 + 600j • N/2 uzorku spektra odgovara frekvencija , odnosno fs/2 f(y)
120 Hz -10 Hz 10 Hz -40 Hz -90 Hz 0 Primjer 1. • spektar je u području frekvencija od 0 do 2 - od fizikalnog značaja nam je područje od 0 do • Iza N/2 uzorka pojavljuju se negativne frekvencije (ciklički se nastavljaju na fS/2 frekvenciju) • frekvencijska razlučivost je fS/N - Neka je fS=240 Hz, u ovom slučaju razlučivost je 1 Hz - ako želimo povećati frekvencijsku razlučivost moramo povećati period mjerenja signala, odnosno N 0
Primjer 2. • Frekvencija sinusoide • f=10 Hz • Frekvencija uzorkovanja • fS= 40 Hz • Period promatranja • T0=0.1 s • Broj uzoraka • N= 4 • frekvencijska razlučivost • 1/T0= fS /N=10 Hz
Primjer 3. • Frekvencija sinusoide • f=10 Hz • Frekvencija uzorkovanja • fS= 40 Hz • Period promatranja • T0=0.3 s • Broj uzoraka • N= 12 • frekvencijska razlučivost • 1/T0= fS /N= 3.333 Hz
Primjer 4. • Frekvencija sinusoide • f=10 Hz • Frekvencija uzorkovanja • fS= 40 Hz • Period promatranja • T0=0.25 s • Broj uzoraka • N= 10 • frekvencijska razlučivost • 1/T0= fS /N= 4 Hz
Primjer 5. • Frekvencija sinusoide • f=10 Hz • Frekvencija uzorkovanja • fS= 40 Hz • Period promatranja • T0=1.95 s • Broj uzoraka • N= 78 • frekvencijska razlučivost • 1/T0= fS /N= 0.51 Hz
DFT – važne napomene • Kod realnih signala moramo znati fS • da spriječimo aliasing signal moramo prije uzorkovanja filtrirati tako da najveća frekvencija signala fmax< fS/2 • Kad napravimo fft u Matlabu dobijemo spektar s pozitivnim i negativnim fekvencijama • za N uzoraka signala dobijemo N uzoraka spektra • od 0 do N/2 uzorka spektra su frekvencije od 0 do fS/2 Hz • od N/2 +1 do N s uzorci spektra negativnih frekvencija • Amplitudu trebamo normirati (podijeliti) s 2/N (za funkciju fft u Matlabu) • Frekvencijska rezolucija je fS/N • Ako period uzorkovanja nije jednak cijelom broju perioda tada zbog frekvencijske rezolucije ne dobijemo amplitudu točne frekvencije i spektar je aproksimacija pravog spektra • Za inverznu fft trebamo i pozitivne i negativne uzorke spektra
Diskretna kosinusna transformacija - DCT • Kod DCT bazne funkcije transformacije su kosinusne (realne) funkcije • Inverzna DCT
DCT se koristi u transformacijskom kodiranju mirnih i pokretnih slika u većini standarda (JPEG, MPEG-1, MPEG-2, MPEG-4) • prednost nad fft je u boljoj aproksimaciji linija s manje koeficijenata
Dvodimenzionalna DCT • Slika je dvodimenzionalni signal pa se na nju primjenjuje 2D-DCT • 2D-DCT funkcije f(x,y) dat će dvodimenzionalni spektar s frekvencijama u i v
Dvodimenzionalna blok DCT • S obzirom da se sadržaj slike mijenja po dijelovima, tako se i frekvencijski sadržaj mijenja po dijelovima • Kako bi se bolje prikazale lokalne značajke slika se dijeli na blokove (obično veličine 8x8 piksela) i na njima se radi DCT
Dvodimenzionalna blok DCT • na svakom bloku • blok sadrži 64 vrijednosti amplituda p(x,y) • nakon DCT dobiju se 64 koeficijenta d(u,v)- predstavljaju amplitude dvodimenzionalnih prostornih frekvencija u i v
Za u = v = 0 slijedi • Za u=1, v=0 slijedi 0.9808 0.8315 0.5556 0.1951 -0.1951 -0.5556 -0.8315 -0.9808
Primjer kompresija 6:1, bez blokova kompresija 6:1, blokovi 8x8 original
Wavelet transformacija • Waveleti su lokalizirane oscilirajuće funkcije definirane kao dilatacije i translacije osnovne wavelet funkcije ili “mother wavelet” (t) • Waveleti su bazne funkcije wavelet transformacije tako da funkciju f(t) možemo prikazati kao sumu waveleta s određenom amplitudom xj,k • Analiza funkcije f(t) • Sinteza funkcije f(t)
Primjer wavalet funkcija (t) i (2t) (Daubeschies least asymmetric wavelet)
Wavelet transformacija • Wavelet funkcije se formiraju na specifičan način iz skalirajuće funkcije (t) • Skalirajuća funkcija (t) • pomoću dilatacijske jednadžbe • i wavelet jednadžbe
Wavelet transformacija • h(k) i g(k) su koeficijenti koji određuju svojstva wavelet funkcija – oblik, glatkoću, ortogonalnost • Razvijene su metode za proračun ovih koeficijenata, a prema uvjetima koji se na njih postavljaju razlikujemo obitelji waveleta – npr. Daubeschievi waveleti najmanje simetrije, biortogonalni waveleti, Haarovi waveleti itd. • Za proračun wavelet transformacije važno je svojstvo waveleta da njihove amplitude (koeficijente wavelet transformacije) xj,k za danu funkciju f(t) možemo izračunati brzim rekurzivnim piramidalnim algoritmom. • Do ovog algoritma dolazi se primjenom dilatacijske i wavelet jednadžbe.
Wavelet transformacija • Može se pokazati da piramidalni algoritam predstavlja u stvari niz konvolucija s koeficijentim h(k) i g(k) pa proračun wavelet koeficijenata xj,k se može smatrati digitalnim filtriranjem • Koeficijenti h(k) i g(k) pri tome imaju svojstvo impulsnog odziva wavelet filtara • h(k) predstavlja niskopropusni, a g(k) visokopropusni filtar
Waveleti kao digitalni filtri • primjenom konvolucije računaju se koeficijenti cj-m i dj-m • koeficijenti cj-m predstavljaju aproksimaciju signala na razini m a koeficijenti dj-m predstavljaju detalje na toj razini (rezoluciji) • Funkciju f(x) možemo rastaviti na detalje na razinama od 0 do M i apoksimaciju na razini M – proračunavamo piramidalnimal goritmom razinu po razinu