Funzioni Wavelet
Transcript
Funzioni Wavelet
UNIVERSITÁ DEGLI STUDI DI MESSINA Dipartimento di Matematica DALLE FUNZIONI RAFFINABILI ALLE WAVELET Prof.ssa Mariantonia Cotronei Dicembre 2005 versione curata da: Dott.ssa Santa Agreste Dipartimento di Scienze dell’Informazione-Universitá degli Studi di Milano Dott. Guido Andaloro Dipartimento di Matematica-Universitá degli Studi di Messina 1 Introduzione Le funzioni Wavelet sono nate nei primi anni ’80 e sono state inizialmente utilizzate nella rappresentazione di segnali sismici. Nella seconda metá degli anni ’80 la teoria matematica è stata rigorosamente formalizzata suscitando nel decennio scorso un interesse sempre crescente verso questo strumento che rappresenta la sintesi di teorie e concetti sviluppatisi in campi diversi. Il termine wavelet ha origine nei primi anni ottanta ed è dovuta a Morlet e Grossman che usavano la parola francese ondelette (piccola onda) per indicare tale funzione. Poco piú tardi la parola ondelette venne convertita in inglese traducendo onde in wave, ottenendo wavelet. Lo sviluppo delle wavelet può essere collegato a diverse correnti di pensiero separate, che hanno origine dal lavoro di Haar all’inizio del ventesimo secolo. Contributi importanti alla teoria delle wavelet si possono attribuire alla formulazione, da parte di Goupillaud, Grossman e Morlet di quella che ora è nota come CWT (1982), ai lavori preliminari di Strömberg sulle wavelet discrete (1983), alle wavelet ortogonali a supporto compatto di Daubechies (1988), alla struttura a multirisoluzione di Mallat (1989), all’intepretazione in tempo-frequenza della CWT da parte di Delprat (1991), alla trasformata wavelet armonica di Newland e molti altri ancora. Le trasformate wavelet sono classificate a livello generale nella trasformata wavelet discreta (Discrete Wavelet Transform, DWT) e nella trasformata wavelet continua (Continuous Wavelet Transform, CWT). La differenza di principio fra le due é il fatto che la trasformata continua opera su tutte le possibili scale e traslazioni, mentre la trasformata discreta usa un sottoinsieme finito di tutti i valori possibili. Generalmente, la DWT è usata nella codifica dei segnali mentre la CWT è usata nell’analisi dei segnali. Di conseguenza, la DWT é usata comunemente in ingegneria e informatica e la CWT é usata piú spesso nella ricerca scientifica. Tutte le trasformate wavelet possono essere considerate come forme di rappresentazioni in tempo-frequenza e sono quindi in relazione con l’analisi armonica. Quasi tutte le trasformate wavelet discrete utili in pratica usano dei banchi di filtri a risposta impulsiva finita. Le wavelet che costituiscono una CWT sono soggette al principio di indeterminazione di Heisenberg e allo stesso modo le basi delle trasformate wavelet discrete si possono considerare soggette ad altre forme di principio di indeterminazione. La trasformata wavelet è spesso paragonata alla trasformata di Fourier, dove i segnali sono rappresentati come somma di sinusoidi. La differenza principale è che le wavelet sono localizzate sia nel tempo che nella frequenza mentre 1 la trasformata di Fourier standard è localizzata solo in frequenza. La trasformata di Fourier a tempo breve (STFT ) é localizzata in tempo e in frequenza, ma ci sono dei problemi di risoluzione e le wavelet spesso offrono una migliore rappresentazione del segnale grazie all’uso dell’analisi multirisoluzione. La trasformata wavelet inoltre ha un minor costo computazionale, richiedendo un tempo O(N ) al contrario del tempo O(N log N ) richiesto dalla trasformata di Fourier veloce (N indica la dimensione dei dati). Le trasformate wavelet sono ora adottate in un gran numero di applicazioni, spesso sostituendo la trasformata di Fourier convenzionale. Molte aree della fisica hanno visto questo cambiamento di paradigma, incluse dinamica molecolare, astrofisica, geofisica sismica, ottica, turbolenza e meccanica quantistica. Altre aree che stanno vedendo questo cambiamento sono elaborazione delle immagini, pressione del sangue, battito del cuore e analisi dell’ECG, analisi del DNA, analisi delle proteine, climatologia, elaborazione dei segnali in generale, riconoscimento vocale, computer graphics, e analisi multifrattale. Una delle piú importanti applicazioni delle wavelet é la compressione di dati: il formato JPEG2000 è il nuovo standard di compressione di immagini che usa le wavelet. 2 2 Equazioni di raffinamento Una funzione ϕ di L2 (R) si dice raffinabile o scaling function se soddisfa l’equazione: X ϕ(x) = hk ϕ(2x − k) per qualche {hk } ∈ l2 (Z) (1) k∈Z Quindi ϕ é combinazione lineare della sua dilatazione (in particolare contrazione) di fattore 2 e traslazione attraverso un numero reale k. L’equazione (1) prende il nome di two-scale relation ed è un caso particolare di equazione di raffinamento con parametro di dilatazione 2. La successione di {hk } viene definita maschera di ϕ Se ϕ é a supporto compatto allora la successione {hk } é finita. In particolare se il supporto di ϕ é [0, N ] gli elementi non nulli della maschera saranno {h0 , h1 , .., hN } e l’equazione di raffinamento diventa: ϕ(x) = N X hk ϕ(2x − k) (2) k=0 2.1 Il simbolo L’elemento caratterizzante delle funzioni raffinabili ϕ é il simbolo cioé la trasformata z della maschera: H(z) = N X = hk z k z ∈ C \ {0} k=0 Non é altro che un polinomio in z, in generale é una serie di Laurent, o un polinomio di Laurent. La possibiltá che z sia nullo viene esclusa in quanto se si lavora in generale con k ∈ Z, si dovrebbe prendere in considerazione l’esponente negativo, quindi il caso di avere il reciproco di zero. Esempio 1. La box function é la funzione rappresentata in figura 1 definita da: 1 se x ∈ [0, 1] ϕ(x) = χ[0,1] = 0 altrove Per dimostrare che la box function é raffinabile la esprimiamo come 3 Figura 1: Rappresentazione della Box Function ϕ(x) Figura 2: Rappresentazione della ϕ(2x) e ϕ(2x − k) 4 combinazione della sua dilazione e della sua traslazione: ϕ(x) = ϕ(2x) + ϕ(2x − 1) quindi la maschera sará {1,1}. Il simbolo é H(z) = 1 + z Esempio 2. La funzione hat function, rappresentata in figura 2, é tale che: se x ∈ [0, 1] x 2−x se x ∈ [1, 2] ϕ(x) = 0 altrove Si dimostra che la hat function si esprime come Figura 3: Hat Function 1 1 ϕ(x) = ϕ(2x) + ϕ(2x − 1) + ϕ(2x − 2) 2 2 quindi é raffinabile con maschera { 21 , 1, 12 }. Pertanto il simbolo assume la forma H(z) = 5 1 1 1 + z + z 2 = (1 + z)2 . 2 2 2 Figura 4: Rappresentazione della 2.2 1 1 ϕ(2x), ϕ(2x − 1) e ϕ(2x − 2) 2 2 La funzione di raffinamento nello spazio di Fourier Sia ϕ ∈ L2 (R) e sia ϕ̂ la sua trasformata di Fourier: Z ϕ(x)e−iwx dx w∈R ϕ̂(w) = R Consideriamo l’equazione di raffinamento: ϕ(x) = N X hk ϕ(2x − k) (3) k=0 pertanto la ϕ̂ assume la forma: ϕ̂(w) = Z X N hk ϕ(2x − k)e−iwx dx R k=0 t+k e dx = 12 dt: 2 Z N w 1X ϕ̂(w) = hk ϕ(t)e−i 2 (t+k) dt 2 k=0 R Poniamo t = 2x − k quindi x = N w 1X hk e−i 2 k ϕ̂(w) = 2 k=0 Z considerando che Z w ϕ(t)e−i 2 k dt R w ϕ(t)e−i 2 (k dt é cla trasformata di Fourier di ϕ in R N w 1X w ϕ̂(w) = hk e−i 2 k ϕ̂( ) 2 k=0 2 6 w 2 si ha: Il termine N X w w hk e−i 2 k non é altro che il simbolo H(z) con z = e−i 2 , cioé k=0 il simbolo calcolato sul cerchio unitario. Indicando con h(ω) = H(e−iω ) otteniamo la seguente forma compatta: w 1 w ϕ̂(w) = h( )ϕ̂( ) 2 2 2 (4) Attraverso la trasformata di Fourier della funzione di raffinamento siamo passati da un’analisi nel dominio del tempo a quella nel dominio delle frequenze. Esempio 3. Dimostriamo che la B-spline di ordine m é raffinabile con simbolo (1 + z)m H(z) = 2m−1 La generica B-spline di ordine m puó essere definita per ricorrenza mediante la convoluzione della B-spline di ordine m − 1, Bm−1 , e della box function, B1 : Z Bm (x) = Bm−1 ∗ B1 = Bm−1 (x − t)B1 (t)dt R Iterando: Bm (x) = (B1 ∗ B1 ∗ .. ∗ B1 )(x) | {z } m-volte La convoluzione nel dominio del tempo corrisponde al semplice prodotto nel dominio delle frequenze: m B̂m (x) = (B̂1 (w)B̂1 (w)..B̂1 (w)) = B̂1 (w) | {z } m-volte Per determinare B̂m (w) calcoliamo B̂1 (w): Z Z 1 1 −iwx 0 1 − e−iw −iwx B̂1 (w) = B1 (x)e dx = e−iwx dx = − e = 1 iw iw R 0 Allora: B̂m (w) = 1 − e−iw iw 7 m Per dimostrare che la B-spline é raffinabile e si puó esprimere come w 1 w Bm (w) = h Bm 2 2 2 pertanto w 1 − e−i 2 1 B̂m (w) = m 2 w 1 + e−i 2 i w2 w m 1 1 = · m−1 1 + e−i 2 · 2 2 da B̂m w 2 = w 1 − e−i 2 i w2 h !m = w 1 − e−i 2 i w2 m m e dall’equazione (4) segue che: w 2 = 1 w 2m−1 1 + e−i 2 m e quindi: w 1 w Bm Bm (w) = h 2 2 2 Abbiamo dimostrato che la B-spline di ordine m é raffinabile con simbolo H(z) = 1 2m−1 (1 + z)m 8 w con z = e−i 2 2.3 Soluzioni dell’equazione di raffinamento Determiniamo le soluzioni dell’equazione di raffinamento imponendo la condizione di normalizzazione sulla funzione ϕ, cioé Z ϕ(x)dx = 1 R Dalla (2) si ha: Z 1= ϕ(x)dx = R N X Z ϕ(2x − k)dx hk R k=0 Ponendo t = 2x − k quindi x = (t + k)/2 e dx = dt/2: Z N N 1X 1X hk ϕ(t)dt = hk 1= 2 k=0 2 k=0 R ⇒ N X hk = 2 k=0 che rappresenta la condizione che devono sovono soddisfare i coefficienti della maschera. In termini di simbolo si ottiene H(1) = 2 che nel dominio delle frequenze si traduce con: h(0) = 2 Consideriamo l’equazione di raffinamento nello spazio di Fourier: 1 w w ϕ̂(w) = h ϕ̂ 2 2 2 1 Indicando con h̃(ω) = h ed iterando: 2 w w ϕ̂ = ϕ̂(w) = h̃ 2 2 w w w = h̃ h̃ ϕ̂ = 2 4 4 · · · w w w w = h̃ h̃ ...h̃ j ϕ̂ j con j ≥ 2 2 4 2 2 9 Per j → ∞ si ha che ϕ̂ w 2j Z −i0x → ϕ̂(0) = ϕ(x)e Z dx = R ϕ(x)dx = 1. R ∞ w Y h̃ j é finito. Vale il seguente: 2 j=1 La soluzione esiste se il prodotto ∞ w Y Teorema 1. Se hk = 2 allora il prodotto h̃ j é convergente in 2 j=1 k=0 distribuzione ad una funzione che risulta essere la trasformata di Fourier di una funzione raffinabile. N X 2.4 Algoritmo a cascata L’esistenza delle funzioni di raffinamento in L2 (R) é legata alla convergenza dell’algoritmo a cascata. L’algoritmo a cascata consiste nel creare, a partire da una data funzione ϕ0 ∈ L2 (R), una successione di funzioni mediante ricorsione: X hk ϕn−1 (2x − k) (5) ϕn (x) = k∈Z Consideriamo una funzione di partenza ϕ0 tale che ϕ̂0 (0) = 1 L’espressione della ϕn nello spazio di Fourier: w w ϕ̂n (w) = h̃ ϕ̂n−1 2 2 iterando si ottiene: # j w w Y ϕ̂n (w) = h̃ l ϕ̂0 j 2 2 l=1 " per j → ∞ ϕ̂0 w 2j 10 →1 mentre j w Y h̃ l 2 l=1 per il teorema 1, converge in distribuzione a ϕ̂. Quindi ϕ̂n (w) converge in distribuzione a ϕ̂, soluzione dell’equazione di raffinamento. 2.5 Matrice di transizione Un ulteriore strumento per la convergenza della funzione ϕ é la matrice di transizione T , la cui autoanalisi ci fornisce condizioni necessarie e sufficienti per l’esistenza delle soluzioni dell’equazione di raffinamento. Introduciamo i prodotti interni: Z bn (j) = ϕn (x)ϕn (x − j)dx = hϕn , ϕn (· − j)i j = −N +1, .., N −2, N −1 Moltiplichiamo ambo i membri dell’equazione dell’algoritmo a cascata (5) per ϕn (x − j) e integriamo: Z ϕn (x)ϕn−1 (x − j)dx = R N Z X k=0 hk ϕn−1 (2x − k)ϕn−1 (x − j)dx R Il primo membro rappresenta il prodotto interno bn (j): bn (j) = N X Z ϕn−1 (2x − k)ϕn−1 (x − j)dx hk R k=0 per l’algoritmo a cascata ϕn−1 (x−j) = X hk ϕn−1 (2x − 2j − i), sostituendo: k bn (j) = N X N X k=0 i=0 Z ϕn−1 (2x − k)ϕn−1 (2x − 2j − i)dx hk hi R t+k 1 si ottiene: ponendo t = 2x − k quindi dt = dx e x = 2 2 Z N N 1 XX bn (j) = hk hi ϕn−1 (t)ϕn−1 (t + k − 2j − i)dt 2 k=0 i=0 R 11 osservando che Z bn−1 (2j + i − k) = ϕn−1 (t) · ϕn−1 (t + k − 2j − i)dt R e ponendo l = 2j + i − k quindi k = 2j + i − l e i = l + k − 2j: N +1 N 1 X X bn (j) = hk hl+k−2j bn−1 (l) 2 l=−N +1 k=0 indicando con N 1X ci = hk · hk−i , 2 k=0 si ottiene: i = −N + 1, .., N + 1 N +1 X bn (j) = c2j−l bn−1 (l) l=−N +1 In forma matriciale: bn = T bn−1 dove: bn (−N + 1) .. bn = . bn (N + 1) T = [c2j−l ]j,l=−N +1,..,N −1 La matrice T é detta matrice di transizione. Premettiamo al teorema fondamentale della convergenza dell’equazione di raffinamento la seguente definizione: Diciamo che la matrice M soddisfa la Condition on Eigenvalues o brevemente la Condition E se il raggio spettrale ρ(M ) ≤ 1, si richiede che 1 sia l’unico autovalore nel cerchio unitario, e deve essere un autovalore semplice. Teorema 2 (Streun). Supponiamo che la maschera {hk } soddisfi la condiN N X X zione h2k = h2k+1 = 1. k=0 k=0 Allora l’algortimo a cascata é convergente in L2 (R) per ogni funzione iniziale ϕ0 soddisfacente la condizione di partizione dell’unitá, cioé X ϕ0 (x − j) = 1 (j ∈ Z) 12 se e solo se la matrice di trasformazione T soddisfa la Condition E. In termini di simbolo le ipotesi iniziali sulla maschera per la convergenza della soluzione dell’equazione di raffinamento X X h2k = h2k+1 = 1 si traduce in: H(−1) = 0 Esempio 4. Come esempio consideriamo la B-spline di ordine 2 e verifichiamo che sono verificate tutte le ipotesi della convergenza del teorema di Streun. Questa funzione di raffinamento ha maschera h = 12 , 1, 21 , quindi il simbolo sará H(z) = 21 (1 + z)2 . Pertanto le ipotesi per la convergenza del teorema di Streun H(1) = 2 e H(−1) = 0 sono verificate. Proviamo che anche la condition E é soddisfatta. Al fine di costruire la matrice di transizione T , determiniamo gli elementi cj : N 1 X hk hk−j cj = 2 k=−N con j = −2, .., 2 Quindi: 1 1 1 1 h0 h2 = · = = c2 2 2 4 8 1 1 1 1 1 = (h0 h1 + h1 h2 ) = ( + ) = = c1 2 2 2 2 2 1 1 1 1 3 = (h0 h0 + h1 h1 + h2 h2 ) = ( + 1 + ) = 2 2 4 4 4 c−2 = c−1 c0 Pertanto la matrice T = [c2j−l ]j,l=−1,0,1 sará: 1/2 1/8 0 T = 1/2 3/4 1/2 0 1/8 1/2 13 Per la determinazione degli autovalori azzeriamo il polinomio caratteristico: 1/2λ 8 0 det(T − λI) = 1/2 3/4λ 1/2 = 0 1/8λ 1/2 1 3 1 1 1 1 1 = −λ −λ −λ − − −λ = 2 4 2 16 8 2 2 5 1 1 2 −λ λ − λ+ =0 = 2 4 4 λ = 1/2 λ = 1/4 det(T − λI) = 0 ⇔ λ = 1 Abbiamo trovato che λ = 1 é una radice semplice del polinomio caratteristico ed é l’autovalore di modulo massimo. Nel prossimo paragrafo introduciamo un algoritmo numerico che ci permetterá di ottenere delle funzioni di raffinamento. Trattandosi di algoritmo numerico, consideriamo la funzione di raffinamento a supporto compatto per avere un numero finito di coefficienti. 2.6 Algoritmo numerico per ottenere funzioni di raffinamento L’algoritmo seguente calcola la funzione di raffinamento ϕ a partire dai diadici. A tal fine consideriamo l’equazione di raffinamento: ϕ(x) = N X hk ϕ(2x − k) k=0 e calcoliamo ϕ negli interi interni del supporto supp ϕ = [0, N ], considerando che agli estremi ϕ(0) = ϕ(N ) = 0, mediante il sistema: h1 h0 0 ϕ(1) ϕ(1) ϕ(2) ϕ(2) h3 h2 h1 h0 0 = .. .. .. . . . 0 hN hN −1 ϕ(N − 1) ϕ(N − 1) 14 La matrice del sistema M = [h2i−j ]i,j=1,2,..,N −1 detta matrice di ricorsione, é una matrice di Hurwitz. L’espressione del sistema riconduce il nostro problema alla determinazione degli autovettori corrispondenti all’autovalore λ = 1 della matrice di ricorsione M .Tra tutti gli autovettori si fissa quello per cui si verifica la condizione di normalizzazione della ϕ: ϕ(1) + ϕ(2) + .. + ϕ(N − 1) = 1 k Successivamente si determina ϕ( ) con k = 1, 2, .., 2N − 1: 2 N X k ϕ( ) = hi ϕ(k − i) 2 i=0 il cui calcolo si riduce alla ϕ sugli interi. k Analogamente la ϕ( ) con k = 1, 2, .., 4N − 1: 4 N X k k hi ϕ( − i) ϕ( ) = 4 2 i=0 é determinato dal calcolo di ϕ( k2 ). In generale, supponendo che L sia il livello di iterazione desiderato, per j = 1, ..., L si ha: N X k k hi ϕ( j−1 − i) ϕ( j ) = 2 2 i=0 con k = 1, 2, .., 2j N − 1 15 3 Proprietá delle funzioni raffinabili 3.1 Ordine di riproducibilitá polinomiale Si dice che una funzione raffinabile ϕ ha indice di riproducibilitá polinomiale p se tutti i monomi fino a quelli di grado p − 1 si possono esprimere mediante una opportuna combinazione lineare delle traslate della funzione ϕ: X (j) xj = ak ϕ(x − k) j = 0, 1, .., p − 1 k∈Z Teorema 3. Ogni funzione raffinabile ha almeno grado di riproducibilitá pari ad uno. Dimostrazione. La condizione necessaria per la convergenza X hk = 2 k che, come visto in precendenza si traduce sul simbolo in H(−1) = 0 implica che quest’ultimo é fattorizzabile per (z + 1): H(z) = (z + 1)(∗) Se consideriamo il simbolo sul cerchio unitario h(z) = H(e−iw ) dove e−iw = cos(w) + i sin(w). La condizione H(−1) = 0 si verifica quando: sin(ω) = 0 ⇒ ω = (2k + 1)π cos(ω) = −1 quindi: h((2k + 1)π) = 0 La trasformata di Fourier in ϕ: 1 w w ϕ̂ ϕ̂(w) = h 2 2 2 16 Per ω = 2kπ si ha: ϕ̂(0) = 1 1 ϕ̂(2π) = h(π)ϕ̂(π) = 0 2 1 ϕ̂(4π) = h(2π)ϕ̂(2π) = 0 2 In generale si ottengono le condizioni di Strong-Fix : ϕ̂(0) = 1 ϕ̂(2kπ) = 0, k 6= 0 Queste condizioni sono equivalenti alla condizione su ϕ della partizione dell’unitá nel dominio temporale: X ϕ(x − k) = 1 k Abbiamo quindi dimostrato che la ϕ riproduce le costanti, quindi che l’indice di riproducibilitá é almeno p = 1. Teorema 4. Sono equivalenti: 1. ϕ ha ordine di riproducibilitá p 2. H(z) é fattorizzabile per (1 + z)p 3. la radice w = π di h(w) ha molteplicitá p 4. Valgono le sum-rules: X (−1)k k j hk = 0 j = 0, 1, .., p − 1 k Esempio 5. Considerando la B-spline di ordine m, si evince dalla struttura (1 + z)m del simbolo H(z) = che il grado di riproducibilitá sará pari al suo 2m−1 ordine p = m. Esempio 6. La funzione di Daubechies che ha simbolo √ √ √ √ ! 1+ 3 3+ 3 3− 3 2 1− 3 3 H(z) = + z+ z + z 4 4 4 4 é fattorizzabile per (z + 1)2 ed ha ordine di riproducibiliá p = 2. 17 3.2 Ortogonalitá La funzione di raffinamento ϕ si dice ortonormale se: Z 1 k=0 < ϕ, ϕ(· − k) >= ϕ(x)ϕ(x − k)dx = δk,0 = 0 k= 6 0 Analizziamo come la condizione di ortogonalitá si riperquote sulla maschera e sul simbolo. Supponiamo che ϕ sia ortonormale, la sua rappresentazione in termini di equazione di raffinamento é: X ϕ(x) = hi ϕ(2x − i) i Moltiplichiamo ambo i membri per la traslata di ϕ e integriamo su R, osservando che il primo membro diventerá il prodotto interno < ϕ, ϕ(· − k) >, si ottiene: Z X Z ϕ(x)ϕ(x − k)dx = hi ϕ(2x − i)ϕ(x − k)dx = δk,0 = R = i X Z ϕ(2x − i) hi i R X R hl ϕ(2x − 2k − l)dx = l Ponendo 2x − i = t, dx = dt/2, x = (t + i)/2 Z 1 XX 1X X hi hl δl+2k−i,0 = hi hl ϕ(t)ϕ(t + i − 2k − l)dt = 2 i 2 i l R l Ma δl+2k−i,0 6= 0 quando l + 2k − i = 0 cioé quando i = 2k + l pertanto δk,0 = 1X hl hl+2k 2 l Le condizioni di ortogonalitá per la maschera sono: P P l hl hl = 2 se k = 0 l hl hl+2k = 0 se k 6= 0 In termini di simbolo: |H(z)|2 + |H(−z)|2 = 4 18 Esempio 7. Le B-spline non sono ortogonali tranne la B-spline lineare (Box function). Esempio 8. La funzione raffinabile di Daubechies é ortonormale. 3.3 Simmetria La funzione di raffinamento ϕ é simmetrica rispetto al centro del supporto supp ϕ = [0, N ] se: ϕ(x) = ϕ(N − x) (6) Determiniamo le condizioni sui coefficienti affinché ϕ sia simmetrica. Esplicitiamo ϕ e la sua traslata in funzione alla loro rappresentazione nell’equazione di raffinamento: X hk ϕ(2x − k) (7) ϕ(x) = k ϕ(N − x) = X hk ϕ(2N − 2x − k) = X k hk ϕ(N − 2x + n − k) = k Ponendo N − k = l, k = N − l: X = hk ϕ(2x − N + k) k Quindi: ϕ(N − x) = X hN −k ϕ(2x − k) (8) k Per la condizione di simmetria (6) si eguagliano le equazioni (7) e (8) ottenendo: X X hk ϕ(2x − k) = hN −x ϕ(2x − k) k k X (hk − hN −k ) ϕ(2x − k) = 0 k se {ϕ(2x − k)}k sono linearmente indipendenti allora hk = hN −k 19 In generale, se partiamo da filtri hk = hN −k che soddisfano la Condition E allora si ha la simmetria. Esempio 9. Le B-spline sono simmetriche. L’unica funzione contemporaneamente ortogonale e simmetrica é la B-spline lineare. Esempio 10. Le funzione raffinabili di Daubechies non sono simmetriche. 20 4 Analisi Multirisoluzione Una Multiresolution Analysis (MRA) é una famiglia di sottospazi Vj di L2 (R) tale che: 1. ... ⊂ V−1 ⊂ V0 ⊂ V1 ⊂ ... 2. f (x) ∈ Vj ⇒ f (2x) ∈ Vj+1 scale invariance 3. f (x) ∈ V0 ⇒ f (x − k) ∈ V0 S 4. T Vj = L2 (R) Vj = {0} shift invariance 5. Esiste una funzione ϕ ∈ V0 tale che la famiglia {ϕ(x − k), k ∈ Z} costituisce una base di Riesz, o base stabile, per lo spazio V0 . Definizione: La famiglia {ϕ(x − k), k ∈ Z} costituisce una base di Riesz per lo spazio V0 se ∃A, B > 0 tali che: 2 X 2 A kckl2 (Z) ≤ ck ϕ(x − k) ≤ B kck2l2 (Z) k Dalla 5. segue che {ϕ(2j x − k)} é una base di Riesz per Vj , ∀j ∈ Z. Dalla 4. segue che se f ∈ L2 (R) e fj é un’approssimazione di f nello spazio Vj si ha: lim fj = f (9) lim fj = 0 (10) j→+ ∞ j→− ∞ Se ϕ ∈ V0 genera una MRA, si ha che ϕ ∈ V0 ⊂ V1 ma V1 é generato da {ϕ(2x − k), k ∈ Z}, quindi ϕ si puó esprimere come combinazione lineare degli elementi della base di V1 : X ϕ(x) = hk ϕ(2x − k) k che mostra che la funzione ϕ é raffinabile. Viceversa ci chiediamo adesso se considerando una funzione di raffinamento 21 é possibile generare una MRA. Sia ϕ una funzione raffinabile, consideriamo gli spazi generati da essa: Vj = span {ϕ(2j x − k), k ∈ Z} , j ∈ Z La condizione che garantisce che {Vj }j∈Z é una MRA di L2 (R) é che sia verificata l’ipotesi che la famiglia {ϕ(x − k)} sia una base di Riesz per V0 . Lo spazio Vj+1 contiene “piú” informazioni dello spazio Vj . Sia f una generica funzione di L2 (R), fj la sua approssimazione in Vj e fj+1 quella in Vj+1 . L’informazione sulla funzione f , in termini di approssimazione, che perdiamo nel passare dallo spazio Vj+1 allo spazio Vj fj+1 − fj = gj sará una funzione gj che apparterrá ad uno spazio Wj , denominato spazio complementare di Vj tale che: Vj+1 = Vj ⊕ Wj Vj ⊥Wj Gli spazi Wj vengono anche chiamati spazi dei dettagli mentre i Vj spazi Vj G GG GG GG GG # Vj−1 Wj−1 GG GG GG GG G# Wj−2 Vj−2 ] Figura 5: MRA delle approssimazioni. Ma l’approssimazione fj appartiene allo spazio Vj : fj ∈ Vj = Vj−1 ⊕ Wj−1 22 allora si ha: fj = fj−1 + gj−1 = = fj−2 + gj−2 + gj−1 = ... = fj−l + gj−l + gj−l+1 + .. + gj−1 Per le condizioni (9), (10) si ottiene che ogni funzione f ∈ L2 (R) si puó esprimere come: X f= gk k∈Z e quindi: L2 (R) = M Wj Gli spazi Wj , che prendono il nome di spazi wavelet, sono generati da una funzione ψ: Wj = span {ψ(2j x − k), k ∈ Z} Affinché la base {ψ(2j x − k), k ∈ Z, j ∈ Z} sia una base di Riesz per L2 (R) deve risultare che: Z ψ(x)dx = 0 Per tale ragione le funzioni ψ vengono chiamate wavelet. La wavelet, quindi, é la funzione che genera gli spazi complementari della Multiresolution Analysis. Pertanto ogni funzione f appartenente a L2 (R) si potrá esprimere come: X f (x) = ak,j ψ(2j x − k) k,j che rappresenta la serie wavelet della funzione f . Consideriamo la funzione wavelet ψ(x) ∈ W0 , le traslate ψ(2j x − k) generano W0 ma V1 = V0 ⊕ W0 ⇒ W0 ⊂ V1 quindi ψ(x) ∈ W0 ⇒ ψ(x) ∈ V1 poiché V1 é generato da {ϕ(2x − k) : k ∈ Z} si ha la seguente two-scale relation: X ψ(x) = wk ϕ(2x − k) (11) k∈Z 23 Analizziamo le proprietá della maschera wk integrando ambo i membri dell’equazione (11): Z X Z ψ(x)dx = wk ϕ(2x − k)dx k ma: Z Z ϕ(2x − k)dx 6= 0 ψ(x)dx = 0 allora la condizione che i coefficienti wavelet devono soddisfare é che X wk = 0 k Introducendo il simbolo W (z) = X wk z k k si ha che W (1) = 0 quindi il polinomio W (z) é fattorizzabile per (z − 1). 4.1 Legame tra ϕ e ψ Supponiamo che la funzione ϕ abbia ordine di riproducibilitá polinomiale p cioé le traslate di ϕ generano polinomi di ordine j = 0, 1, .., p − 1: X (j) ak ϕ(x − k) (12) xj = k Introduciamo le funzioni wavelet ψ, considerando che Vj = Vj−1 ⊕ Wj−1 Vj−1 ⊥Wj−1 in particolare da V0 ⊥W0 si ottiene che il prodotto interno < ϕ, ψ(· − k) > é nullo, esplicitamente: Z ϕ(x)ψ(x − k)dx = 0 (13) Moltiplichiamo l’equazione (12) per ψ(x) e integriamo ambo i membri, ottenendo: Z X (j) Z j x ψ(x)dx = ak ψ(x)ϕ(x − k)dx k 24 La riproducibilitá polinomiale di ordine p della ϕ implica che: Z xj ψ(x)dx = 0, j = 0, 1, .., p − 1 (14) In tal caso la funzione ψ avrá p vanishing moment. Teorema 5. Siano {hk } e {wk } reali. Allora dalla condizione di ortogonalitá tra V0 e W0 segue che: H(z)W (z −1 ) + H(−z)W (−z −1 ) = 0 (15) Dimostrazione. Sostituendo nell’equazione (13) alla ψ l’espressione in (11) e alla ϕ quella in (1) si ottiene: Z Z X X ϕ(x)ψ(x − l)dx = hk ϕ(2x − k) wm ϕ(2x − 2l − m)dx m∈Z k∈Z ponendo 2x−k = t, x = (t+k)/2, dx = dt/2, per la condizione di ortogonalitá della ϕ: Z Z 1XX ϕ(x)ψ(x − l)dx = hk wm ϕ(t)ϕ(t + k − 2l − m)dt = 2 k∈Z m∈Z = 1XX hk wm δ2l+m−k,0 2 k∈Z m∈Z con l ∈ Z: 1X h2l+m wm = 0 2 m X h2l+m wm = 0 m XX l h2l+m wm z l = 0 m Separando i termini con m pari da quelli con m dispari: XX XX h2l+2m w2m z l + h2l+2m+1 w2m+1 z l = 0 l m l 25 m ponendo l + m = k: XX m k X h2k w2m z k−m + XX m k h2k z k X w2m z −m + m k X k X m h2k+1 z k k considerando che e X h2k+1 w2m+1 z k−m = 0 X w2m+1 z −m = 0 m 1 h2k z k = (H(z) + H(−z)) 2 1 w2m z −m = (W (z −1 ) + W (−z −1 )) 2 si ha: 1 1 1 1 (H(z)+H(−z)) (W (z −1 )+W (−z −1 ))+ (H(z)−H(−z)) (W (z −1 )−W (−z −1 )) = 0 2 2 2 2 H(z)W (z −1 ) + H(z)W (−z −1 ) + H(−z)W (z −1 ) + H(−z)W (−z −1 )+ +H(z)W (z −1 ) − H(z)W (−z −1 ) − H(−z)W (z −1 ) + H(−z)W (−z −1 ) = 0 Da qui segue: H(z)W (z −1 ) + H(−z)W (−z −1 ) = 0. Dall’equazione (15) segue che W (z) é fattorizzabile per z − 1. 4.1.1 Wavelet ortonormali Consideriamo le funzioni raffinabili ϕ ortonormali si ha: H(z)H(z −1 ) + H(−z)H(−z −1 ) = 4 Consideriamo le funzioni raffinabili ψ ortonormali allora: W (z)W (z −1 ) + W (−z)W (−z −1 ) = 4 26 4.1.2 Metodo Alternative flip Data una ϕ ortonormale a coefficienti hk si costruisce una ψ ortonormale con coefficienti wk e simbolo W (k) = z N H(−z −1 ) Scegliamo i coefficienti della maschera di ψ tali che: wk = (−1)k hN −k k = 1, .., N quindi in termini di simbolo: W (z) = z N H(−z −1 ) ma H(z) = h0 + h1 z + .. + hN z N H(−z −1 ) = h0 − h1 z −1 + .. + (−1)N hN z −N allora: W (z) = (−1)N hN + (−1)N −1 hN −1 z + .. − h1 z N −1 + h0 z N Dalla condizione di ortonormalitá della ϕ si ottiene: W (z)W (z −1 ) + W (−z)W (−z −1 ) = 4 Esempio 11. Nel caso della Box function la maschera della ϕ é costituita da h = {1, 1} quella della ψ é w = {1, −1}, la two-scale relation ψ(x) = ϕ(x) − ϕ(2x − 1). Il simbolo W (z) = (1 − z). La wavelet corrispondente alla box function prende il nome di wavelet di Haar. Questo é l’unico caso di wavelet simmetrica e ortogonale. 27 4.1.3 Wavelet biortogonali Le Wavelet biortogonali costituiscono un’ampia classe di funzioni base che godono della proprietà di simmetria o antisimmetria. Infatti tutte le basi ortonormali di Wavelet a supporto compatto, eccetto che la base di Haar, non posseggono queste proprietà. La simmetria però può essere recuperata, senza perdere il supporto compatto, se non si richiede l’ortogonalità. Consideriamo due Multiresolution Analysis di L2 (R), {Vj } e {Vej } generate rispettivamente da ϕ e da ϕ. e Si dice che {Vj } é duale di {Vej } se: Z 1. ϕ é duale di ϕ e cioé se ϕ(x)ϕ(x e − k)dx = δk,0 fj 2. Vej ⊥Wj , Vj ⊥W Z e cioé 3. ψ é duale di ψ, Se ϕ(x) = X e − k)dx = δk,0 ψ(x)ψ(x hk ϕ(2x − k) e se si introducono i simboli, allora k • ϕ duale di ϕ e ⇒ −1 e −1 ) + H(−z)H(−z e H(z)H(z )=4 (16) fj ⇒ • Vej ⊥Wj , Vj ⊥W e e H(z)W (z −1 ) + H(−z)W (−z −1 ) = 0 f (z −1 ) + H(−z)W f (−z −1 ) = 0 H(z)W • ψ é duale di ψe ⇒ f (z −1 ) + W (−z)W f (−z −1 ) = 4 W (z)W Per costruire una ϕ duale si considera l’espressione del simbolo N2 N X X k e e H(z) = hk z e si costruisce H(z) = hk z k al fine di risolvere il k=0 k=N1 sistema (16) che equivale a risolvere il sistema di equazioni lineari derivate P da: h2k+le hl = 2δk,0 . 28 Esempio 12. Data la B-spline lineare trovare la duale a supporto minimo. Il simbolo in questo caso é H(z) = 1 1 + z + z2 2 2 mentre il simbolo della duale sará: e H(z) = N2 X e hk z k k=N1 Si puó richiedere che gli e hk siano simmetrici rispetto al centro del supporto: k = −1 h0e h2 + h1e h3 + h2e h4 = 0 h0 + h1e h1 + h2e h2 = 0 k=0 h0e k = 1 h2e h0 + h1e h−1 + h0e h−2 = 0 k = 2 h2e h−2 + h1e h−3 + h0e h−4 = 0 e Il caso H(z) = e h0 + e h1 z + e h2 z 2 non é da prendere in considerazione: l’equazione relativa a k = 0 non é sufficiente per determinare la soluzione (2 incognite in 1 equazione), inoltre si avrebbe che l’equazione relativa a k=1 diventerebbe h2e h0 = 0. Allora prendiamo in considerazione il caso e H(z) =e h−1 z −1e h0 + e h1 z + e h2 z 2e h3 z 3 considerando la simmetria abbiamo tre incognite: e h−1 = e h3 , e h0 = e h2 , e h1 . Il sistema da risolvere é il seguente: h2e h0 + h1e h−1 = 0 he e 0 h2 + h1 h3 = 0 3 X hk e hk = 2 k=0 Le prime due equazioni del sistema sono equavalenti per la simmetria. Ma 3 X e gli elementi della maschera della ϕ devono soddisfare hk = 2 affinché k=−1 l’equazione di raffinamento converga. Quest’ultima equazione viene aggiunta alle altre due: si ritrova un sistema lineare di tre equazioni in tre incognite, si risolve e si ottiene la duale. La duale della B-spline lineare é la Mexican Hat. 29 4.1.4 Vanishing Moment Teorema 6. Se una funzione ϕ ha p vanishing moment, cioé: Z xn ψ(x)dx n = 0, ..., p − 1 allora W (z) ha una radice di molteplicitá p in z = 1. Dimostrazione. Determiniamo la trasformata di Fourier della ψ Z ψ̂(ω) = ψ(x)e−iωx dx che in zero coincide con il momento di ordine n = 0, quindi per ipotesi: Z ψ̂(0) = ψ(x)dx = 0 Calcoliamo la derivata prima 0 Z ψ̂ (ω) = −ixψ(x)e−iωx dx in zero è nulla in quanto il momento di ordine n = 1 é nullo Z 0 ψ̂ (0) = −i xψ(x)dx = 0 Calcoliamo la derivata seconda ψˆ00 (ω) = Z x2 ψ(x)e−iωx dx analogamente, coincidendo con il momento di ordine n = 2, sará nulla in zero Z 00 ˆ ψ (0) = − x2 ψ(x)dx = 0 In generale la derivata di ordine n ∈ N: Z n ˆ ψ (n) (ω) = (−i) xn ψ(x)e−iωx dx sará nulla in zero con n < p ψˆ(n) (0) = 0 n = 0, ..., p − 1 30 Quindi la consizione sui momenti nulli si trasforma nella condione sull’annullamento della derivata ennesima della trasformata ψ̂. La two-scale relation in termini di Fourier: 1 1 1 ψ̂(ω) = w( )tψ̂( ) 2 2 2 Applicando Leibniz per calcolare la derivata n-esima del prodotto di funzioni e denotando con c le costanti, si ottiene: ψ̂ (n) (ω) = c · n X n j=0 w w wj ( )ψ̂ (n−j) ( ) j 2 2 per induzione su n si verifica che poiché ψ̂ (n) (0) = 0 per n = 0, .., p − 1 w(n) (0) = 0 per n = 0, .., p − 1 anche Ma w(ω) = W (e−iw ) ω = 0 ⇒ e−iw = 1 radice di molteplicitá p. Allora z = 1 é radice di W con molteplicitá p. 31 5 Algoritmo di decomposizione e ricostruzione 5.1 Formula di decomposizione Consideriamo lo spazio V0 , come detto in precedenza, é possibile esprimerlo come somma diretta degli spazi V−1 e W−1 V0 = V−1 ⊕ W−1 dove V−1 W−1 n x o −k , k ∈Z = span ϕ 2 n x o = span ψ −k , k ∈Z 2 Consideriamo una funzione f ∈ V0 x X x X f (x) = ak ϕ −k + bk ψ −k 2 2 in particolare la ϕ(x) ∈ V0 , ma anche le sue traslate, quindi in particolare ϕ(x − 1) ∈ V0 . Abbiamo due diverse rappresentazioni per ϕ(x − l) con l pari e l dispari. Raggruppando le due espressioni delle traslate abbiamo le seguenti formule di decomposizione: x i x Xh − k + bl−2k · ψ −k (17) ϕ(x − l) = al−2k · ϕ 2 2 Sia f ∈ L2 (R) e sia {Vj } una multiresolution analysis di L2 (R). Per le proprietá della MRA esisterá uno spazio Vj che contiene la funzione f e dato che gli spazi sono infiniti non é restrittivo pensare di shiftare la sequenza in modo tale che f ∈ V0 Poiché V0 = V−1 ⊕ W−1 la f si puó pensare come somma di f−1 e g−1 f = f−1 + g−1 f−1 é la proiezione ortogonale (o approssimazione) della funzione f nello spazio V−1 . 32 g−1 é la proiezione ortogonale (o approssimazione) della funzione f nello spazio W−1 . Dato che f−1 ∈ V−1 = V−2 ⊕ W−2 ⇒ f−1 = f−2 + g−2 Sostituendo: f = f−2 + g−2 + g−1 Fissato L > 0, iterando il ragionamento, si ottiene la rappresentazione di f in una MRA: f = f−L + g−L + ... + g−1 Se f ∈ V0 allora si potrá esprimere come X (0) f (x) = ck ϕ(x − k) Ma V0 = V−1 ⊕ W−1 ⇒ f = f−1 + g−1 dove: f−1 (x) = X g−1 (x) = X (−1) (−1) ck (−1) dk (−1) ϕ ψ x 2 x 2 −k −k (0) Determiniamo i coefficienti ck , dk , ck . Applicando a ϕ la formula di decomposizione (17) che lega ϕ(x − l) con ϕ( x2 − l) e ψ( x2 − l): " # x X x X (0) X (0) X ck ϕ(x − k) = ck ak−2m ϕ −m bk−2m ψ −m 2 2 m∈Z m∈Z k∈Z k∈Z x XX x XX = ak−2m ϕ −m + bk−2m ψ −m 2 2 m∈Z k∈Z m∈Z k∈Z Abbiamo ottenuto che per m ∈ Z: X (0) (−1) c = ak−2m ck m k∈Z X (0) (−1) d = bk−2m ck m k∈Z 33 Proseguendo con la rappresentazione di f−2 , f−3 , .., f−L+1 si ottiene in generale l’algoritmo di decomposizione wavelet o fase di analisi : X (−j+1) (−j) c = ak−2m ck m k∈Z X (18) (−j+1) (−j) = d b c k−2m m k k∈Z (−1) d< yy y y yy yy c(0) EE EE EE EE " (−2) d; ww w ww ww ww c(−1)FF FF FF FF F" .. (−L) d= {{ BB { BB {{ BB {{{ ! { EE EE EE EE " . BB c(−L) Figura 6: Schema dei coefficienti 5.2 Formule di ricostruzione Supponiamo adesso di conoscere f−L , g−L , g−L+1 , ..., g−1 e quindi i coefficienti c(−L) , d(−L) , .., d(−1) e di voler determinare c(0) . Calcoliamo c(−L+1) . Sappiamo che f−L+1 = f−L + g−L 34 . x − k 2L−1 k∈Z X x X (−L+1) x (−L+1) = d−L ψ L − k c−L ϕ L − k + 2 2 k∈Z k∈Z f−L+1 = f−L+1 X (−L+1) ck Utilizzando le two-scale relation: X ϕ(x) = hm ϕ(2x − m) ϕ ψ(x) = X (19) (20) wm ϕ(2x − m) m∈Z k∈Z abbiamo x X X x x ϕ L −k = hm ϕ 2 L − 2k − m = hm ϕ L−1 − 2k − m 2 2 2 m∈Z m∈Z Ponendo l = 2k + m si ottiene: X x x hl−2k ϕ L−1 − l ϕ L −k = 2 2 m∈Z Analogamente la ψ: X x x hl−2k ψ L−1 − l ψ L −k = 2 2 m∈Z Sostituendo queste ultime due equazioni nella (20) si ottiene: # " X x x X X (−L) (−L) f−L+1 = ck hl−2k ϕ L−1 − l + dk wl−2k ϕ L−1 − l = 2 2 k∈Z l∈Z k∈Z " # x X X (−L) (−L) = ck hl−2k + dk wl−2k ϕ L−1 − l 2 l∈Z k∈Z Confrontando quest’ultima con (19) i coefficienti di f−L+1 saranno: X (−L) (−L) c−L+1 = (ck hl−2k + dk wl−2k ) l Ricorsivamente si ha per j = L − 1, ..., 1 l’algoritmo di ricostruzione o fase di sintesi : X (−j) (−j+1) (−j) cl = (ck hl−2k + dk wl−2k ) , l ∈ Z k∈Z Osservazione 35 Gli di decomposizione e ricostruzione lavorano sui coefficienti c(0) = n algoritmi o (0) ck tale che X (0) f (x) = ck ϕ(x − k) k∈Z che si possono ottenere da approssimazioni della funzione f nello spazio V0 . Nella pratica i coefficienti c(0) si ottengono discretizzando la funzione f su un certo numero M di punti nell’intervallo di definizione; i valori della funzione f in quei punti formano il vettore c(0) dei ceofficienti. M deve essere potenza di due M = 2s . 5.3 Filtri Filtrare un segnale s vuol dire processare s con una matrice H di Toeplitz. /H s /s e Sia H una matrice di Toeplitz generata dai coefficienti {hk }, allora il nuovo segnale se é la convoluzione tra h e s: se = h ∗ s X sel = h(l − k)s(k) k Il segnale s della figura (2) subisce due operazioni di filtraggio: un filtro /H s /↓2 / ··· /↑2 / e H / /s e /W /↓2 / ··· /↑2 /f W Figura 7: Schema di filtraggio analisi/sintesi passa-basso (low-pass) H e un filtro passa-alto (high-pass) W . Successivamente si applica un operazione di down-samplig, cioé del segnale filtrato si considerano solo le componenti pari (dispari) in modo tale che la somma delle 36 componenti del segnale filtrato, uno con filtro passa-alto e lo stesso con filtro passa-basso, coincida con la lunghezza del filtro originale. Si operano altre variazioni e si applica un’operazione di up-sampling, analogo al down-samplig ma con una crescita delle dimensioni tramite zeri. Successivamente si applica e eW f ottenendo il segnale modificato se. un operazione di filtraggio inverso H Se le informazioni tra le operazioni di up-sampling e down-samplig non vengono elaborate alla fine del processo il segnale in uscita se coincide con il segnale in entrata s e si parla si filtro a perfetta ricostruzione. In formule c(−1) = m X (0) ak−2m ck k m=0 m=1 m=2 (0) c0 · · · a0 a1 a2 a33 · · · (0) · · · a−2 a−1 a0 a1 · · · c1 (0) · · · a−4 a−3 a−2 a−1 · · · c2 Indicando con A la matrice dei coefficienti ak−2m osserviamo che essa é generata da un vettore ed é ottenuta traslando ad ogni riga gli elementi della precendente di due colonne. Una matrice cosı̀ costruita prende il nome di matrice di Hurwitz. La matrice A puó essere vista come una matrice di Toeplitz dopo aver compiuto un’operazione di down-samplig (quello che viene quindi fatto in decomposizione). In ricostruzione é coinvolta invece la trasposta di una matrice di Hurwitz, che puó essere ricondotta ad un operazione di up-samplig più una matrice di Toeplitz. In perfetta ricostruzione si ha: c(0) = H T c(−1) + W T d(−1) sostituendo: c(−1) = A · c(0) d(−1) = B · c(0) si ottiene: c(0) = H T Ac(0) + W T Bc(0) Quindi la condizione di perfetta ricostruzione é: HT A + W T B = I 37 Nel caso delle funzioni wavelet la condizione di perfetta ricostruzione é verie eB=W f , dove H e eW f sono le matrici ficata poiché si dimostra che A = H e generate da ϕ e e ψ, duali di rispettivamente di ϕ e ψ. 38 6 Estensione del concetto di wavelet al caso bidimensionale Dopo aver trattato l’algortimo di decomposizione wavelet di un segnale introduciamo brevemente il caso bidimensionale, cioé la decomposizione wavelet di un’immagine che puó essere pensata come una funzione f (x, y) ∈ L2 (R2 ) Una multiresolution analysis di L2 (R2 ) é una sequenza di sottospazi {Vj }j∈Z ∈ L2 (R2 ) che soddisfano le seguenti proprietá: [ 1. Vj = L2 (R2 ) j∈Z 2. L2 (R2 ) = M Wj j∈Z Per una MRA di L2 (R2 ) separabile, ogni spazio Vj puó essere decomposto nel prodotto tensoriale di due sottospazi di L2 (R) Vj = Vjx ⊗ Vjy La successione di spazi {Vj }j∈Z forma una MRA di L2 (R2 ) se e solo se la successione di sottospazi di L2 (R) di cui é prodotto tensoriale forma una multiresolution analysis. Se ϕ(x) e ϕ(y) generano entrambe una MRA monodimensionale di L2 (R), allora la scaling function definita come ϕ(x, y) = ϕ(x)ϕ(y) genera una MRA di L2 (R2 ). Con una MRA separabile grande importanza viene data alle direzioni orizzontali e verticali dell’immagine. Poiché V1 = V1x ⊗ V1y ed essendo possibile esprimere sia V1x che V1y come somma diretta di due sottospazi complementari (lo spazio delle approssimazioni e lo spazio dei dettagli) V1x = V0x ⊕ W0x V1y = V0y ⊕ W0y 39 si ha: V1 = (V0x ⊕ W0x ) ⊗ (V0y ⊕ W0y ) = = V0x ⊗ V0y ⊗ V0x ⊗ W0y ⊗ W0x ⊗ V0y ⊗ W0x ⊗ W0y per cui utilizzando la seguente nomenclatura: V0 lo spazio V0x ⊗ V0y generato da (ϕ(x − n)ϕ(y − m)), m, n ∈ Z W01 lo spazio V0x ⊗ W0y generato da (ϕ(x − n)ψ(y − m)), m, n ∈ Z W02 lo spazio W0x ⊗ V0y generato da (ψ(x − n)ϕ(y − m)), m, n ∈ Z W03 lo spazio W0x ⊗ W0y generato da (ψ(x − n)ψ(y − m)), m, n ∈ Z otteniamo V1 = V0 ⊕ W01 ⊕ W02 ⊕ W03 6.1 Algoritmo di decomposizione Consideriamo un’approssimazione f0 (x, y) della funzione f (x, y) nello spazio V0 X c0i,j ϕ(x − i)ϕ(y − j) f0 (x, y) = i,j∈Z essa puó essere decomposta mediante le seguenti relazioni: [cij ]k = A[cij ]k+1 AT [d1ij ]k = A[cij ]k+1 B T [d2ij ]k = B[cij ]k+1 AT [d3ij ]k = B[cij ]k+1 B T dove: [cij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Vk [d1ij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Wk1 [d2ij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Wk2 [d3ij ]k rappresentano i coefficienti della proiezione ortogonale nello spazio Wk3 e le matrici A e B sono le matrici di decomposizione utilizzate nel caso monodimensionale. 6.2 Algoritmo di ricostruzione Se indichiamo con H e W le matrici di ricostruzione che caratterizzano le two-scale relation per la funzione di raffinamento ϕ e per la wavelet 40 ψ, che sono state utilizzate per la ricostruzione nel precedente algoritmo monodimensionale, otteniamo: [cij ]k = H[cij ]k−1 H T +H[d1ij ]k−1 W T +W [d2ij ]k−1 H T +W [d3ij ]k−1 W T k = −L+1, ..., 0 Queste formule mostrano che nel caso bidimensionale le proiezioni negli spazi Vk , Wk1 , Wk2 e Wk3 possono essere calcolate facendo uso delle trasformate wavelet monodimensionali lungo le ascisse e le ordinate. La decomposizione wavelet puó essere cosı́ interpretata come la decomposizione di un segnale in un insieme di direzioni di canali di frequanze indipendenti, orientati spazialmente. La componente in Vk rappresenta le frequenze piú basse lungo entrambe le direzioni orizzontali e verticali la componente in Wk1 rappresenta le alte frequenze verticali (spigoli orizzontali) e le basse frequenze orizzontali la componente in Wk2 rappresenta le alte frequenze orizzonatali (spigoli verticali) e le basse frequenze verticali la componente in Wk3 rappresenta le alte frequenze entrambe le direzioni orizzontali e verticali (angoli). Nella figura 6.2 é rappresentata, attraverso le Figura 8: Schema dell’algoritmo di decomposizione bidimensionale a 2 livelli matrici dei coeffienti, la decomposizione wavelet di un’immagine. Esempio 13. Come esempio di decomposizione bidimensionale consideriamo l’immagine lena.jpg in figura 6.2 di dimensione 256x256. Si nota che giá al primo livello di decomposizione la componente nello spazio V−1 risulta meno nitida, meno dettagliata dell’immagine iniziale, mentre le componenti wavelet nelle tre direzioni rappresentano i particolari, contorni, dell’immagine. Per quanto riguarda la ricostruzione abbiamo preferito evidenziare i contorni dell’immagine annullando, nell’algoritmo di ricostruzione, i coefficienti della proiezione ortogonale dello spazio delle approssimazioni V−1 , 13. 41 Figura 9: Immagine originale (a) Proiezione ortogonale nello spazio V−1 (b) Proiezione ortogonale 1 nello spazio W−1 (c) Proiezione ortogonale 2 nello spazio W−1 (d) Proiezione ortogonale 3 nello spazio W−1 Figura 10: Decomposizione al primo livello 42 Figura 11: Contorni dell’immagine 43