Analisi Multirisoluzione e Trasformata Wavelet

Transcript

Analisi Multirisoluzione e Trasformata Wavelet
Analisi Multirisoluzione e Trasformata Wavelet
Corso di Calcolo Numerico (Laurea Specialistica)
Prof. F. Pitolli, A.A 2007-2008
1
Introduzione
Quando si vogliono analizzare le caretteristiche di un segnale o di un’immagine, prima di tutto è necessario trovare una rappresentazione del segnale o
dell’immagine dalla quale sia facile estrarre le informazioni che interessano.
Un modo per ottenere una rappresentazione
Pè quello di decomporre il segnale
s in componenti elementari sk tali che s = k sk . In generale, si vuole che le
componenti sk possano essere messe facilmente in relazione con le proprietà
fisiche del segnale; inoltre, affinché la rappresentazione possa avere un reale
interesse applicativo, è necessario avere a disposizione algoritmi veloci sia
per calcolare le componenti sk (decomposizione) sia per ricostruire il segnale
s a partire dalle componenti elementari (ricostruzione). Infine, è richiesto
che la decomposizione abbia buone proprietà di approssimazione, cioè che
siano sufficienti ”poche” componenti sk per ottenere un’approssimazione
sufficientemente accurata del segnale originale.
Usualmente, per l’analisi di segnali e immagini si fa uso alla teoria di
Fourier, che va dalla trasformata integrale di Fourier nel caso continuo alla
trasformata di Fourier discreta, e può essere implementata con algoritmi
veloci (Fast Fourier Transform). L’idea alla base della teoria di Fourier è
quella di decomporre il segnale nelle armoniche di base eiωt , con ω ∈ IR, nel
caso continuo, oppure ω = 2π k, k ∈ ZZ, nel caso discreto.
Se consideriamo un segnale s(t), la sua trasformata di Fourier è data da
Z
s(t) e−iωt dt .
(1.1)
(TF s)(ω) =
IR
La trasformata di Fourier fornisce informazioni accurate sul contenuto
in frequenza del segnale, mentre si perdono completamente le informazione
sulla localizzazione temporale di una data frequenza.
Un modo per risolvere questo problema consiste nell’utilizzare come
componenti elementari le armoniche di base localizzate, cioè si ricorre alla
trasformata di Fourier localizzata (windowed Fourier transform o short-time
Fourier transform). In questo caso le componenti elementari sono date da
w(τ −t)eiωt , dove w(t) è una funzione a supporto compatto (chiamata usualmente ”finestra”) che permette anche una localizzazione temporale delle
1
proprietà del segnale. La trasformata di Fourier localizzata è
Z
(TL s)(ω, t) =
s(τ ) w(τ − t)e−iωt dτ .
(1.2)
IR
La trasformata di Fourier localizzata è , però , poco flessibile in quanto le
porzioni di segnale estratte sono tutte della stessa lunghezza, indipendentemente dal contenuto in frequenza del segnale.
In Fig. 1 sono rappresentate le componenti elementari della trasformata di Fourier e della trasformata di Fourier localizzata nel piano tempofrequenza: le armoniche di base eiωt (grafico di sinistra) corrispondono a
righe orizzontali (massima localizzazione in frequenza ma nessuna localizzazione temporale), mentre le armoniche localizzate w(τ − t)eiωt (grafico
di centro) corrispondono a quadrati di dimensione costante per ogni valore
di ω. In entrambi i casi la localizzazione ha ampiezza fissa sia nel tempo
che nelle frequenze. L’idea dell’analisi tramite funzioni wavelets (wavelet
vuol dire ”piccola onda” o ”ondina”) è quella di utilizzare per la localizzazione nel piano tempo-frequenza rettangoli di ampiezze diverse: più precisamente, la localizzazione in frequenza diminuisce in modo logaritmico al
crescere della frequenza, mentre la localizzazione temporale diventa via via
più elevata. A differenza dell’analisi di Fourier, che passa da una rappresentazione puramente temporale del segnale a una rappresentazione puramente in frequenza, l’analisi wavelet raggiunge un compromesso fornenendo
una rappresentazione in tempo-frequenza. È simile a quanto succede con
uno spartito musicale dove ogni nota rappresenta una frequenza e una posizione nel tempo: la frequenza, rappresentata dallo spostamento verticale,
ha salti frazionari (mentre nell’analisi wavelet i salti sono logaritmici); il
tempo, invece, è rappresentato dallo spostamento orizzontale. Le basse frequenze danno la rappresentazione meno ”accurata”, mentre quelle più alte
aggiungono via via i ”dettagli”. Ricordiamo che, a causa del principio di
indeterminazione, non è possibile ottenere una localizzazione in tempo e
frequenza arbitrariamente elevata: anche un musicista non può cambiare
istantaneamente frequenza!
La localizzazione in tempo-frequenza
si ottiene usando come componenti
,
a,
b
∈
IR,
dove
ψ(x) è chiamata wavelet madre
elementari le funzioni ψ t−b
a
(mother wavelet); a è il parametro di scaling che permette di controllare
l’ampiezza della finestra, mentre b individua la posizione della finestra. La
trasformata wavelet continua è data da
Z
t−b
(TW s)(a, b) =
s(t) ψ
dt .
(1.3)
a
IR
In genere, nel caso discreto, si sceglie a = 2−j e b = k a = k 2−j , j, k ∈ ZZ,
per cui le componenti elementari ψ(2j x−k) corrispondono, nel piano tempofrequenza, a rettangoli di dimensione variabile 2−j × 2j (vedi Fig. 1, grafico
di destra).
2
ω
ω
ω
j
∆ ω=2
j=4
j=3
∆ω
ωk
j=2
∆t
j=1
−j
t
t
∆ t=2
t
Figura 1. Il piano tempo-frequenza per le armoniche elementari
dell’analisi di Fourier (sinistra), per le armoniche elementari localizzate dell’analisi di Fourier con finestra (centro) e
per le wavelets (destra).
Il vantaggio della trasformata wavelet consiste nel fatto che questa fornisce una decomposizione multiscala del segnale: ad ogni scala j il segnale
viene decomposto in componenti elementari con contenuto in frequenza che
aumenta al crescere della scala. In generale, la decomposizione multiscala
di un segnale consiste in una media poco accurata del segnale a una data
scala (contenuto alle basse frequenze) più i dettagli calcolati a scale più
accurate (contenuto alle alte frequenze). Se il segnale (o l’immagine, nel
caso bidimensionale) variano lentamente i dettagli non sono importanti per
ricostruire il segnale, cosı̀ la rappresentazione multiscala fornisce uno strumento naturale per la compressione: è sufficiente trascurare i dettagli al di
sotto di una certa soglia e trasmettere solo quelli più significativi. La stessa
tecnica si può utilizzare per ridurre il rumore. D’altro canto, i dettagli più
significativi forniti dall’analisi wavelet corrispondono alle zone dove il segnale o l’immagine hanno grandi variazioni, per esempio in corrispondenza
di un picco di un segnale o del contorno di un’immagine; questo fa sı̀ che
l’analisi wavelet possa essere applicata con successo nell’analisi di segnali o
immagini dove è necessario estrarre informazioni sulla struttura geometrica
dei dati. Infine, le basi wavelet possono essere utilizzate per la rappresentazione e la compressione di operatori integro-differenziali: questo permette
di costruire metodi numerici efficienti per la soluzione di equazioni integrali
o alle derivata parziali. Alcune di queste applicazioni sono illustrate in [8]
dove è anche riportata una bibliografia dettagliata.
Un modo naturale per costruire basi di wavelets e per realizzare una
decomposizione multiscala di un segnale è quello di costruire un’analisi multirisoluzione [5]. Nel §4 descriveremo in dettaglio cosa sia un’analisi multirisoluzione e come si costruisca una decomposizione multiscala. Prima di
tutto, però , vogliamo illustrare un semplice esempio.
3
2
Il sistema di Haar
Vogliamo studiare il problema di approssimare una funzione f ∈ L2 (IR) alla
scala 2−j tramite una funzione approssimante fj ∈ S0−1 (IR, ∆j ) ∩ L2 (IR),
dove S0−1 (IR, ∆j ) è lo spazio delle splines di grado 0, cioè delle funzioni
costanti a tratti. Ricordiamo che le funzioni appartenenti a questo spazio
non sono continue.
Consideriamo una partizione uniforme di IR con spaziatura h = 2−j e
nodi k2−j , k ∈ ZZ, cioé
∆j : . . . < (k − 1)2−j < k2−j < (k + 1)2−j < · · · ,
k ∈ ZZ .
(2.4)
Sia Vj ≡ S0−1 (IR, ∆j ) ∩ L2 (IR). Allora, una funzione approssimante fj ∈ Vj
è una funzione (non continua) costante a tratti, cioè costante in ciascun
intervallo
Ij,k := [k2−j , (k + 1)2−j ) ,
(2.5)
e tale che fj ∈ L2 (IR), cioè (cfr. [7])
||fj ||L2 (IR) =
q
(f, f )L2 (IR) =
Z
IR
|f (x)|2 dx
2
< ∞.
Come funzione approssimante fj scegliamo la migliore approssimazione
di f nello spazio Vj . Per costruire fj introduciamo una base ortogonale in
Vj .
Una base ortogonale per Vj è data dalle traslate e dilatate della funzione
caratteristica dell’intervallo [0, 1) definita da
1 , se
x ∈ [0, 1) ,
ϕ(x) := χ[0,1) (x) =
(2.6)
0 , altrove.
R
1/2
Si ha ||ϕ||2 = IR |ϕ(x)|2 dx
= 1.
Sia g una funzione in L2 (IR). Definiamo l’operatore di traslazione τk e
l’operatore di dilatazione σh come
1
1
(τk g)(x) := g(x − k) ,
(σh g)(x) = √ g
x .
(2.7)
h
h
√
Il fattore 1/ h garantisce la conservazione della norma in L2 (IR), infatti
||(σh g)||2L2 (IR)
1
=
|(σh g)(x)| dx =
h
IR
Z
2
2
Z Z
g 1 x dx =
|g (x)|2 dx = ||g||2L2 (IR) .
h
IR
IR
Ovviamente, anche la traslazione conserva la norma.
4
Allora, una base ortogonale per Vj , j ∈ ZZ, è data dall’insieme delle
funzioni
ϕj,k (x) := (τk σ2−j ϕ)(x) = 2j/2 ϕ(2j x − k) ,
k ∈ ZZ .
(2.8)
L’espressione esplicita di ϕj,k è data da
ϕj,k (x) =
2j/2 , se x ∈ Ij,k ,
0,
altrove,
(2.9)
da cui si deduce che ϕj,k è una funzione a supporto compatto, non negativa,
simmetrica rispetto al centro dell’intervallo Ij,k (vedi Fig. 2). È facile vedere
che le funzioni ϕj,k costituiscono un sistema ortogonale, infatti
Z
(ϕj,k , ϕj,m ) =
ϕj,k (x) ϕj,m (x) dx = δkm ,
k, m ∈ ZZ .
IR
Inoltre, ||ϕj,k ||L2 (IR) = 1 per ogni valore di j e k.
φ
2
j+2,2 k
φ
j+1,2k
φj,k
−j
−j
k2
(k+1)2
Ij,k
Figura 2. Le funzioni ϕj,k , ϕj+1,2k e ϕj+2,22 k .
La migliore approssimazione di f in Vj è
X
fj (x) =
cj,k ϕj,k (x) , cj,k = (f, ϕj,k ) ,
(2.10)
k∈ZZ
dove i coefficienti di Fourier cj,k valgono
Z
Z
cj,k =
f (x) ϕj,k (x) dx = 2j/2
IR
f (x) dx .
(2.11)
Ij,k
In definitiva, si approssima f con il suo valor medio nell’intervallo Ij,k .
5
L’approssimazione fj cosı̀ ottenuta è chiamata usualmente proiezione
ortogonale di f sullo spazio Vj in norma L2 . Se indichiamo con Pj l’operatore
di proiezione ortogonale su Vj , si ha
X
(Pj f )(x) := fj (x) =
cj,k ϕj,k (x) ,
x ∈ IR .
(2.12)
k∈ZZ
I coefficienti cj,k sono le coordinate dell’operatore Pj f nella base {ϕj,k }k∈ZZ .
Poiché le ϕj,k hanno supporto compatto, l’operatore di proiezione è locale,
cioè i valori di Pj nell’intervallo Ij,k sono influenzati solo dai valori di f nel
medesimo intervallo. Inoltre, l’approssimazione Pj f ha senso anche quando
f è solo localmente integrabile oppure è definita su un intervallo limitato,
per esempio [0, 1] (in questo caso, Pj f ha senso solo per j ≥ 0).
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
−0.2
−0.2
−0.4
−0.4
−0.6
−0.6
−0.8
−0.8
−1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
−1
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figura 3. La funzione f (x) = sin(2π x), x ∈ [0, 1], (linea tratteggiata)
e le sue approssimazioni (linea continua) P3 f (destra) e P4 f
(sinistra).
Vogliamo ora studiare cosa succede all’approssimazione Pj f , quando
l’indice j cresce, cioè quando passiamo dallo spazio Vj , cha ha una partizione ∆j ”più rada”, allo spazio Vj+1 che ha una partizione ∆j+1 ”più
fine” (infatti ∆j ⊂ ∆j+1 ). In particolare, si ha
Vj ⊂ Vj+1
(2.13)
nel senso che le funzioni ϕj,k , k ∈ ZZ, che costituiscono una base per Vj ,
possono essere espresse come combinazione lineare delle funzioni ϕj+1,k , k ∈
ZZ, che costituiscono una base per Vj+1 . In particolare, quando j = 0 deve
essere
X
ϕ(x) =
hk ϕ(2x − k) .
(2.14)
k∈ZZ
Questa equazione è chiamata equazione di raffinamento (scaling o refinement
equation) e la funzione ϕ è chiamata funzione di raffinamento (scaling o refinable function); i coefficienti {hk } della combinazione lineare sono chiamati
maschera (mask) associata alla ϕ.
6
È facile verificare che, posto ϕ = χ[0,1] , si ha
ϕ(x) = ϕ(2x) + ϕ(2x − 1) ,
(2.15)
che può essere vista come un’equazione di tipo (2.14) con h0 = h1 = 1 e
hk = 0 per k 6= 0, 1. Torneremo su questo punto nel §4.
È evidente che l’approssimazione Pj+1 f ∈ Vj+1 è un’approssimazione
più accurata di quella fornita da Pj f ∈ Vj e contiene ”più informazioni” su
f di quante non ne contenga l’approssimazione costruita sulla partizione ∆j
(vedi Fig. 3). Inoltre, i coefficienti cj,k , cioè i valori medi di f negli intervalli
Ij,k , possono essere determinati dai coefficienti cj+1,k , cioè dai valori medi
di f negli intervalli Ij+1,k . Più precisamente si ha
1
Pj+1 f |Ij+1,2k + Pj+1 f |Ij+1,2k+1 .
2
Pj f |Ij,k =
(2.16)
Osserviamo che Ij,k = Ij+1,2k ∩ Ij+1,2k+1 (vedi Fig. 4).
Ij+1,2k+1
Ij+1,2k
−(j+1)
2k2
−(j+1)
(2k+1)2
(2k+2)2−(j+1)
−j
k2−j
(k+1)2
Ij,k
Figura 4. Gli intervalli Ij,k , Ij+1,2k e Ij+1,2k+1 .
Definiamo ora uno nuovo operatore di proiezione Qj come segue:
Qj f := Pj+1 f − Pj f .
(2.17)
Si ha
Qj f |Ij+1,2k
= Pj+1 f |Ij+1,2k − Pj f |Ij+1,2k =
= −Pj+1 f |Ij+1,2k+1 + Pj f |Ij+1,2k+1 = −Qj f |Ij+1,2k+1 .
Allora l’operatore Qj f , che contiene i ”dettagli” di f relativi all’approssimazione
più accurata Pj+1 f , ”oscilla” intorno al valor medio di f (vedi Fig. 5).
L’operatore di proiezione Qj agisce in Wj , il complemento ortogonale di
Vj in Vj+1 , cioè lo spazio tale che
Vj+1 = Vj ⊕ Wj .
(2.18)
Una base ortogonale per lo spazio Wj è data dalle funzioni
ψj,k (x) := 2j/2 (τk σ2−j ψ)(x) = 2j/2 ψ(2j x − k) ,
7
k ∈ ZZ ,
(2.19)
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
0
0.2
0.4
0.6
0.8
1
Figura 5. L’approssimazione P3 f (linea tratteggiata) e i ”dettagli”
Q4 f (linea continua).
dove
ψ(x) := χ[0,1/2] (x) − χ[1/2,1](x) =
da cui segue che











1 , se x ∈ 0, 12 ,
−1 , se x ∈
1
0 , altrove,
2, 1
,
ψ(x) = ϕ(2x) − ϕ(2x − 1) .
(2.20)
(2.21)
La ψ è chiamata wavelet di Haar.
R
La ψ è ortogonale a ϕ, cioé (ϕ, ψ)L2 (IR) = IR ϕ(x)ψ(x)dx; più in generale,
si ha
Z
ϕ(x − k) ψ(x − m) dx = 0 ,
k, m ∈ ZZ ,
(2.22)
IR
Z
IR
ψ(x − k) ψ(x − m) dx = δkm ,
k, m ∈ ZZ .
In effetti, vedremo nel §5 che la wavelet madre ψ è data da
X
ψ(x) =
gk ϕ(2x − k) , con gk = (−1)k h1−k .
(2.23)
(2.24)
k∈ZZ
I coefficienti della combinazione lineare garantiscono l’ortogonalità .
Dalla (2.19) si ha

2j/2 , se x ∈ Ij+1,2k ,





ψj,k (x) =
(2.25)
−2j/2 , se x ∈ Ij+1,2k+1 ,





0,
altrove.
Dall’ortogonalità di ϕ e ψ segue (ψj,k , ψj,m )L2 (IR) = δkm , k, m ∈ ZZ, e
(ϕj,k , ψl,m )L2 (IR) = 0 per ogni valore degli indici j, k, l, m in ZZ.
8
Anche le ψj,k sono funzioni a supporto compatto e norma unitaria, però
sono
R antisimmetriche e oscillano rispetto all’asse delle x. In particolare si
ha IR ψj,k (x)dx = 0, per ogni valore di j e k (vedi Fig. 6).
ψj+2,22k
ψ
j+1,2k
ψj,k
−j
Ij,k (k+1)2
k2−j
Figura 6. Le funzioni ψj,k , ψj+1,2k e ψj+2,22 k .
L’operatore Qj f espresso nella base {ψj,k }k∈ZZ assume la forma
X
(Qj f )(x) =
dj,k ψj,k (x) , dj,k = (f, ψj,k ) ,
(2.26)
k∈ZZ
dove i coefficienti di Fourier dj,k valgono
Z
dj,k = (f, ψjk )L2 (IR) =
f (x) ψj,k (x) dx =
IR
j/2
= 2
Z
f (x) dx
Ij+1,2k
−
Z
f (x) dx
Ij+1,2k+1
!
(2.27)
.
I coefficienti dj,k sono le coordinate dell’operatore Qj f nella base {ψj,k }k∈ZZ .
Ad ogni scala j, possiamo decomporre l’approssimazione Pj+1 f nella
somma dell’approssimazione più rada Pj f e dei dettagli Qj f (vedi (2.17)):
Pj+1 f = Pj f + Qj f ,
(2.28)
oppure, usando le (2.12) e (2.26),
X
X
X
cj+1,k ϕj+1,k =
cj,k ϕj,k +
dj,k ψj,k .
k∈ZZ
k∈ZZ
(2.29)
k∈ZZ
Questa decomposizione può essere ripetuta su un numero arbitrario di
livelli. Se j0 < j1 , si ha
X
Pj1 f = Pj0 f +
Qj f ,
(2.30)
j0 ≤j<j1
9
oppure,
X
k∈ZZ
cj1 ,k ϕj1 ,k =
X
cj0 ,k ϕj0 ,k +
X X
dj,k ψj,k .
(2.31)
j0 ≤j<j1 k∈ZZ
k∈ZZ
Entrambe le formule rappresentano la decomposizione multiscala di Pj1 f
nella somma di una approssimazione meno
P accurata (Pj0 f ) e delle oscillazioni (o dettagli) alle scale intermedie ( j0 ≤j<j1 Qj f ). Tuttavia, la (2.31)
dà una descrizione locale di ciascun contributo e può essere vista come
un cambiamento ortonormale di base in Vj1 : in effetti, sia {ϕj1 ,k }k∈ZZ che
{ϕj0 ,k }k∈ZZ ∪ {ψj,k }j0 ≤j<j1,k∈ZZ sono basi ortonormali di Vj1 . Il sistema di
funzioni {ϕj0 ,k }k∈ZZ ∪ {ψj,k }j0 ≤j<j1,k∈ZZ è chiamato sistema di Haar.
La funzione di raffinamento ϕ e la wavelet madre ψ giocano un ruolo
diverso nell’approssimazione: la prima fornisce la proiezione della funzione
f alle differenti scale, mentre la seconda rappresenta le fluttuazioni tra le
differenti scale di approssimazione.
L’unione degli spazi di approssimazione Vj è denso in L2 (IR), cioè
lim ||f − Pj f ||L2 (IR) = 0
j→+∞
(2.32)
per ogni f ∈ L2 (IR). Questo implica che la base ortonormale {ϕj0 ,k }k∈ZZ ∪
{ψj,k }j0 ≤j,k∈ZZ è un sistema completo in L2 (IR) e ogni funzione f ∈ L2 (IR)
può essere decomposta come
X
XX
f=
cj0 ,k ϕj0 ,k +
dj,k ψj,k ,
(2.33)
j0 ≤j k∈ZZ
k∈ZZ
dove la serie converge in norma L2 (IR). Poichè la base è ortonormale la convergenza in norma L2 è incondizionata, cioè si possono permutare i termini
della serie senza modificare le proprietà di convergenza. Questo potrebbe
non essere vero per altri tipi di convergenza, per esempio per la convergenza
uniforme.
La decomposizione multiscala si può applicare anche quando la funzione
f è definita in un intervallo. Ad esempio, se f ∈ L2 [0, 1] allora la base ϕ ∪
{ψj,k }0≤j,0≤k<2j forma un sistema ortonormale per Vj ≡ S0−1 (IR, ∆j |[0,1] ) ∩
L2 [0, 1].
Se la funzione f è definita in tutto IR, allora si può considerare il limite
per j → −∞ della decomposizione (2.33). In questo caso l’approssimazione
”meno accurata” si annulla in norma L2 (IR), cioè
lim ||Pj f ||L2 = 0 .
(2.34)
Come conseguenza si ha la decomposizione
XX
f=
dj,k ψj,k ,
(2.35)
j→−∞
j∈ZZ k∈ZZ
10
dove la serie converge in norma L2 (IR). Quindi anche la base {ψj,k }j,k∈ZZ
forma un sistema (ortonormale) completo di L2 (IR).
In Fig. 7 sono graficati i valori
p dei coefficienti c8,k (sinistra) e d8,k (destra) per la funzione f (x) = | cos(2πx)|. Dalla figura si può osservare
che solo alcuni dei coefficienti d8,k sono al di sopra di una certa soglia: si
tratta dei coefficienti che corrispondono alle zone in cui la funzione ha una
discontinuità nella derivata.
−4
−3
4
x 10
3
x 10
3.5
2
3
Soglia
1
2.5
0
2
1.5
−1
Soglia
1
−2
0.5
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
−3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figura 7. I coefficienti
c8,k (destra) e d8,k (sinistra) per la funzione
p
f (x) = | cos(2πx)|.
Vedremo nel §4 che la decomposizione multiscala (2.33) effettuata tramite
le traslate e dilatate della funzione di raffinamento e della wavelet madre,
induce una analisi multirisoluzione in L2 (IR).
Un’analisi multirisoluzione è una sequenza {Vj }, j ∈ ZZ, di sottospazi
chiusi di L2 (IR) tali che
i) la sequenza {Vj }, j ∈ ZZ è annidata (nested sequence) per ogni j, cioè
Vj ⊂ Vj+1 ,
∀ j ∈ ZZ ;
(2.36)
ii) gli spazi {Vj }, j ∈ ZZ sono ottenuti uno dall’altro tramite raffinamento
(o scaling) diadico, cioè
f (x) ∈ Vj ⇔ f (2 x) ∈ Vj+1 ⇔ f (2−j x) ∈ V0 ,
x ∈ IR ;
(2.37)
iii) l’unione di tutti gli spazi {Vj }, j ∈ ZZ, è denso in L2 (IR), cioè
∪j∈ZZ Vj = L2 (IR) ,
(2.38)
che equivale a
lim ||f − Pj f ||L2 (IR) = 0 ,
j→+∞
dove Pj f è la proiezione di f su Vj .
11
∀ f ∈ L2 (IR) ,
(2.39)
iv) l’intersezione degli spazi Vj è l’insieme nullo, cioè
∩j∈ZZ Vj = {0} ;
(2.40)
che equivale a
lim ||Pj f ||L2 (IR) = 0 ,
j→−∞
∀ f ∈ L2 (IR) .
(2.41)
v) esiste una funzione ϕ ∈ V0 tale che il sistema
{ϕ(· − k) , k ∈ ZZ}
(2.42)
forma una base di Riesz (o incondizionata) di V0 .
Osserviamo che le basi ortonormali costituiscono un caso particolare
di basi di Riesz.
3
Fast Wavelet Transform per il sistema di Haar
Supponiamo di aver calcolato i coefficienti cj1 ,k dell’approssimazione alla
scala j1 . Vogliamo allora calcolare i coefficienti cj0 ,k e dj,k , j0 ≤ j < j1 ,
corrispondenti alle scale più rade, a partire dai coefficienti cj1 ,k della scala
più fine.
Consideriamo la decomposizione in due livelli espressa dalle formule
(2.16) e (2.17). Ricordando le normalizzazioni di ϕj,k e ψj,k si hanno la
relazioni
1
(3.1)
cj,k = √ (cj+1,2k + cj+1,2k+1 ) ,
2
e
1
dj,k = √ (cj+1,2k − cj+1,2k+1 ) .
(3.2)
2
Queste relazioni possono anche essere ricavate inserendo
nelle definizioni di
√
cj,k e dj,k le√identità ϕj,k = (ϕj+1,2k + ϕj+1,2k+1 )/ 2 e ψj,k = (ϕj+1,2k −
ϕj+1,2k+1 )/ 2, che seguono dalla (2.14) e dalla (2.21), rispettivamente.
Le relazioni (3.1)-(3.2) rappresentano una trasformazione ortogonale tra
i vettori (cj,k , dj,k ) e (cj+1,2k , cj+1,2k+1 ) dei coefficienti alle due scale j e j +1.
La trasformazione inversa è data da
e
1
cj+1,2k = √ (cj,k + dj,k ) ,
2
(3.3)
1
cj+1,2k+1 = √ (cj,k − dj,k ) .
2
(3.4)
A questo punto possiamo ricavare due semplici algoritmi: uno per la decomposizione della funzione f , cioè per il calcolo dei coefficienti cj0 ,k e dj,k ,
12
j0 ≤ j < j1 , nella parte destra di (2.31) a partire dai coefficienti cj1 ,k ; l’altro
per la ricostruzione di f , cioè per il calcolo dei coefficienti cj1 ,k nella parte
sinistra di (2.31) a partire dai coefficienti cj0 ,k e dj,k , j0 ≤ j < j1 .
Algoritmo di decomposizione
Input: coefficienti cj1 ,k alla scala più fine.
Per j = j1 − 1, j1 − 2, . . . , j0 :
1. calcolare i coefficienti cj,k e dj,k dalle (3.1)-(3.2);
2. memorizzare i dettagli dj,k .
Algoritmo di ricostruzione
Input: coefficienti cj0 ,k alla scala rada e dettagli dj,k , j0 ≤ j < j1 .
Per j = j0 , j0 + 1, . . . , j1 − 1:
1. calcolare i coefficienti cj+1,k dalle (3.3)-(3.4) utilizzando i
dettagli dj+1,k .
Gli algoritmi possono essere rappresentati graficamente da una struttura
piramidale (vedi Fig. 8).
j1
j0
Figura 8. La struttura a piramide degli algoritmi di decomposizione
(dall’alto verso il basso) e ricostruzione (dal basso verso
l’alto) ( : coefficienti dell’approssimazione, ◦: coefficienti
dei dettagli).
Nelle applicazioni all’analisi del segnale, la funzione che deve essere decomposta è definita su un intervallo limitato per cui la sequenza cj1 ,k ha una
lunghezza finita. Per esempio, se f è definita su [0, 1] i coefficienti cj1 ,k sono
2j1 . Poichè per passare dal livello j + 1 al livello j e viceversa, gli algoritmi
13
di decomposizione e ricostruzione compiono 2 · 2j operazioni pesanti, il costo
computazione di ciascun algoritmo è
Cc =
jX
1 −1
j=j0
2j+1 = 2j1 − 2j0 = 2j1 (1 − 2j0 −j1 ) = O(N ) ,
dove N := 2j1 è la lunghezza della sequenza dei coefficienti alla scala più
fine. Il costo computazionale è ottimale, nel senso che è dello stesso ordine
del numero dei valori calcolati, e permette di implementare gli algoritmi su
un calcolatore in modo veloce. Per questo motivo gli algoritmi di decomposizione e ricostruzione sono noti con il nome di Fast Wavelet Transform.
4
Analisi multirisoluzione
Abbiamo visto nel §2 che la decomposizione multiscala di una funzione in
L2 (IR) tramite la base {ϕj,k } induce una decomposizione multiscala dello
stesso L2 (IR). In particolare, dalle proprietà (2.13) e (2.34) segue che lo
spazio L2 (IR) può essere decomposto nella somma di una sequenza di sottospazi Vj , j ∈ ZZ, ”annidati” uno nell’altro. Gli spazi di approssimazione
Vj sono generati dalle traslate e dilatate ϕj,k di un’unica funzione ϕ. Nel §2
abbiamo scelto come spazio di approssimazione Vj lo spazio S0−1 (IR, ∆j ) ∩
L2 (IR). In questo paragrafo illustreremo più in generale il concetto di decomposizione multiscala per L2 (IR). Prima di tutto definiamo il concetto
di analisi multirisoluzione, che è stato introdotto per la prima volta da S.
Mallat [5, 6] nei primi anni ’80.
Definizione. Un’analisi multirisoluzione è una sequenza {Vj }j∈ZZ , di sottospazi chiusi di L2 (IR) tali che
i) la sequenza {Vj }j∈ZZ è annidata per ogni j, cioè
Vj ⊂ Vj+1 ,
∀ j ∈ ZZ ;
(4.1)
ii) gli spazi {Vj }j∈ZZ sono ottenuti uno dall’altro tramite raffinamento (o
scaling) diadico, cioè
f (x) ∈ Vj ⇔ f (2 x) ∈ Vj+1 ⇔ f (2−j x) ∈ V0 ,
x ∈ IR ;
(4.2)
iii) l’unione di tutti gli spazi {Vj }j∈ZZ è denso in L2 (IR), cioè
lim ||f − Pj f ||L2 (IR) = 0 ,
j→+∞
∀ f ∈ L2 (IR) ,
(4.3)
dove Pj f è la proiezione di f su Vj . La (4.3) equivale a
∪j∈ZZ Vj = L2 (IR) ;
14
(4.4)
iv) l’intersezione degli spazi Vj è l’insieme nullo, cioè
lim ||Pj f ||L2 (IR) = 0 ,
∀ f ∈ L2 (IR) ,
j→−∞
(4.5)
o, in modo equivalente,
∩j∈ZZ Vj = {0} ;
(4.6)
v) esiste una funzione ϕ ∈ V0 tale che il sistema
{ϕ(· − k)}k∈ZZ
(4.7)
forma una base di Riesz (o incondizionata) di V0 .
Basi di Riesz. Una sistema di funzioni {rk }k∈ZZ è una base di Riesz di uno
spazio di Hilbert H se e solo se
R-i) ogni combinazione lineare finita delle funzioni rk è densa in H ,
R-ii) esistono due costanti C1 e C2 positive, con 0 < C1 ≤ C2 , tali che per
ogni sequenza finita {γk }k∈Z , Z ⊂ ZZ si ha
2
X
X
X
C1
|γk |2 ≤ γk rk ≤ C2
|γk |2 .
(4.8)
k∈Z
k∈Z
H
k∈Z
Questa proprietà , che esprime la ”stabilità ” della decomposizione nella
base {rk }k∈ZZ rispetto alle coordinate {γk }k∈Z , implica che l’applicazione
X
T : {γk }k∈ZZ →
γk rk ,
(4.9)
k∈ZZ
definisca un isomorfismo limitato e invertibile da ℓ2 (ZZ) a H.
Le basi di Riesz godono delle seguenti proprietà :
P
• la P
serie k∈ZZ γk rk converge incondizionatamente in L2 (IR) se e solo
se k∈ZZ |γk |2 < ∞. Quando H coincide con L2 (IR) si dice che la base
{rk }k∈ZZ è L2 -stabile o anche che è una base incondizionata di L2 (IR);
• ogni P
funzione f ∈ H può essere decomposta in modo unico come
f = k∈ZZ ck rk con {ck }k∈ZZ ∈ ℓ2 (ZZ) e per i coefficienti {ck }k∈ZZ vale
ancora la disuguaglianza (4.8);
• esiste un’unica base biortogonale {r̃k }k∈ZZ tale che
(rk , r̃m )H = δkm .
(4.10)
Allora le coordinate di f nella base {rk }k∈ZZ sono date da ck = (f, r̃k )H
per cui la decomposizione di f diventa
X
f=
(f, r̃k )H rk .
(4.11)
k∈ZZ
15
Le basi ortonormali sono un caso particolare di basi di Riesz; infatti, per
una base ortonormale si ha C1 = C2 = 1, per cui la disuguaglianza (4.8) si
riduce all’uguaglianza
2
X
X
γk rk =
|γk |2 .
(4.12)
k∈Z
H
k∈Z
In questo caso rk ≡ r̃k per ogni k e si ha la decomposizione
X
f=
(f, rk )H rk .
(4.13)
k∈ZZ
Nota 1. Poichè l’isomorfismo T è invertibile la mappa aggiunta
T ∗ : f → {(f, rk )H }k∈ZZ ,
(4.14)
da H a ℓ2 (ZZ) è limitata e invertibile e dalla disuguaglianza (4.8) segue
X
C1 kf k2H ≤
|(f, rk )H |2 ≤ C2 kf k2H .
(4.15)
k∈ZZ
Tuttavia questa disuguaglianza è più debole della (4.8) in quanto assicura
che f possa essere ricostruita dai suoi coefficienti, ma questa ricostruzione
non è unica. Basi che soddisfano la (4.15) vengono chiamate frames: sono
basi ridondanti introdotte da R.J Duffin e A.C. Schaeffer [3] nel contesto
delle serie di Fourier non armoniche e del problema della ricostruzione di
segnali con campionamento non uniforme (per approfondimenti si vedano,
ad esempio, i testi [4, 9]).
Torniamo ora ad analizzare le proprietà dell’analisi multirisoluzine.
Dalle proprietà ii) e v) segue che il sistema
{ϕj,k := (τk σ2−j ϕ) = 2j/2 ϕ(2j · −k)}k∈ZZ ,
(4.16)
è una base di Riesz per lo spazio Vj . Poiché inoltre kfj kL2 (IR) = kf0 kL2 (IR) ,
le costanti C1 e C2 nella (4.8) sono indipendenti da j. Allora ogni funzione
fj ∈ Vj può essere scritta come
X
fj = 2j/2 f0 (2j ·) , dove f0 =
c0,k ϕ(· − k) ∈ V0 ,
(4.17)
k∈ZZ
con coefficienti c0,k opportuni. Si ha pertanto
X
fj =
c0,k ϕj,k .
k∈ZZ
16
(4.18)
Dalla proprietà i) segue, in particolare, che V0 ⊂ V1 , per cui la funzione
ϕ ∈ V0 può essere decomposta tramite le traslate di ϕ(2x), che formano
una base di V1 . Allora la funzione di raffinamento (scaling function) ϕ
deve soddisfare l’equazione di raffinamento (scaling equation o two-scale
difference equation)
X
ϕ(x) =
hk ϕ(2x − k) ,
(4.19)
k∈ZZ
dove la sequenza h = {hk }k∈ZZ è chiamata maschera. Come conseguenza
della stabilità della base delle traslate {ϕ(· − k)}k∈ZZ , h è in ℓ2 (ZZ).
L’esistenza e l’unicità della soluzione dell’equazione di raffinamento (4.19)
dipendono dalle proprietà della maschera h. Condizione necessaria per
l’esistenza è che
X
hk = 2 .
(4.20)
k∈ZZ
Si rimanda ai testi in bibliografia per una trattazione dettagliata sull’esistenza
e unicità della soluzione dell’equazione (4.19) e sulle sue proprietà (vedi, ad
esempio, [3, 8]).
Le proprietà della funzione di raffinamento ϕ possono essere messe in
relazione con le proprietà della maschera. Si dimostra che
• se la maschera ha supporto compatto, anche la funzione di raffinamento
ha supporto compatto, in particolare si ha
supp h = [0, N ] ⇒ supp ϕ = [0, N ] ;
(4.21)
• se la maschera è simmetrica rispetto al centro dell’intervallo, anche la
funzione di raffinamento è simmetrica rispetto al centro dell’intervallo.
In particolare, se la maschera è a supporto compatto, si ha
hk = hN −k ,
0 ≤ k ≤ N , ⇒ ϕ(x) = ϕ(N −x) ,
x ∈ [0, N ] ; (4.22)
• se la maschera ha momenti nulli fino al grado p − 1, cioé se
X
(−1)k hk kl = 0 ,
l = 0, 1, . . . , p − 1 ,
(4.23)
k∈ZZ
allora: i) ϕ riproduce i polinomi fino al grado p − 1, nel senso che
IPl ⊂ V0 , l = 0, 1, . . . , p − 1; ii) ψ ha i primi p momenti nulli, cioè
Z
ψ(x) xl dx = 0 ,
l = 0, 1, . . . , p − 1 .
(4.24)
IR
Osserviamo che la (4.23) vale sicuramente per l = 0, quindi
Z
ψ(x) dx = 0.
IR
17
Inoltre, si possono avere le seguenti interessanti proprietà per la funzione
di raffinamento.
• La ϕ è ortonormale se
(ϕ(·−k), ϕ(·−l)) = δkl ,
k, l ∈ ZZ ,
⇔
k ∈ ZZ ,
⇔
X
hk hk+2l = δ0l . (4.25)
k∈ZZ
• La ϕ è interpolatoria se
ϕ(k) = δk0 ,
h2k+1 = δ0k .
Se ϕ è ortonormale, il proiettore Pj è ortonormale, quindi si ha
X
Pj f =
(f, ϕj,k ) ϕj,k .
(4.26)
(4.27)
k∈ZZ
Se ϕ non è ortonormale, si introduce una funzione raffinabile ϕ̃ biortogonale
di ϕ, nel senso che
(ϕ(· − k), ϕ̃(· − l)) = δkl ,
k, l ∈ ZZ .
Anche ϕ̃ è raffinabile con equazione di raffinamento data da
X
ϕ̃(x) =
h̃k ϕ̃(2x − k) ,
(4.28)
(4.29)
k∈ZZ
La condizione di biortogonalità (4.28) può essere espressa in termini della
maschera come
X
hk h̃k+2l = 2δ0l .
(4.30)
k∈ZZ
In questo caso si può definire il proiettore obliquo
X
Pj f =
(f, ϕ̃j,k ) ϕj,k .
(4.31)
k∈ZZ
La funzione ϕ̃ non è unica e, in particolare, non è necessario che ϕ̃ sia in
V0 ; questa flessibilità permette di scegliere come funzione biortogonale una
funzione a supporto compatto. Si può dimostrare che, se ϕ è una funzione
raffinabile L2 -stabile a supporto compatto, è sempre possibile costruire una
funzione raffinabile biortogonale in L2 che abbia supporto compatto.
Esempio 1. Da quanto detto nel §2 si può concludere che la funzione caratteristica ϕ = χ[0,1] genera un’analisi multiroluzione i cui spazi Vj coincidono
con S0−1 (IR, ∆j ) ∩ L2 (IR). L’equazione di raffinamento corrispondente è
ϕ(x) = ϕ(2x) + ϕ(2x − 1) ,
18
(4.32)
cioè sono diversi da 0 solo i coefficienti h0 = h1 = 1. Quindi la maschera
ha supporto compatto [0, 1], ed è simmetrica. Anche la funzione di raffinamento ha supporto compatto [0, 1] ed è simmetrica rispetto al centro del
supporto. Inoltre, h21 + h22 = 1 per cui le traslate di ϕ formano una base
ortonormale di V0 . Osserviamo che la funzione caratteristica è l’unica funzione di raffinamento a supporto compatto, simmetrica e ortonormale allo
stesso tempo.
Esempio 2. La ”hat function” ϕ(x) = max(1 − |x|, 0), che abbiamo usato
per costruire gli elementi finiti lineari, genera un’analisi multirisoluzione con
Vj ≡ S10 (IR, ∆j ) ∩ L2 (IR) ,
j ∈ ZZ .
L’equazione di raffinamento corrispondente è
ϕ(x) =
1
1
ϕ(2x) + ϕ(2x − 1) + ϕ(2x − 2) ,
2
2
(4.33)
da cui h1 = 1, h0 = h2 = 1/2, mentre tutti gli altri coefficienti della maschera
sono nulli. Allora supp h = [0, 2], e la maschera è simmetrica rispetto al centro del supporto. Le stesse proprietà si riflettono sulla funzione di raffinamento, infatti supp ϕ = [0, 2] e ϕ(x) = ϕ(2 − x). Inoltre, h1 = 1 e h2k+1 = 0
se k 6= 0, per cui la funzione di raffinamento è interpolatoria.
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
−1.5
−2
0
0.5
1
1.5
2
2.5
3
−2
0
0.5
1
1.5
2
2.5
3
Figura 9. La funzione di raffinamento (sinistra) e le wavelet (destra)
di Daubechies su supporto [0, 3].
Esempio 3. Una famiglia di funzioni di raffinamento ortogonali e a supporto
compatto è stata introdotta da I. Daubechies [3]. Si tratta di funzioni non
simmetriche, non strettamente positive, la cui regolarità cresce lentamente
al crescere del supporto. La maschera
√
√
√
√
1+ 3
3+ 3
3− 3
1− 3
h0 =
, h1 =
, h2 =
, h3 =
,
4
4
4
4
19
corrisponde alla funzione di raffinamento di supporto [0, 3] che è solo continua (vedi Fig. 9).
Alcune proprietà della funzione di raffinamento possono essere dedotte
dalla sua trasformata di Fourier. Per prima cosa, riscriviamo l’equazione di
raffinamento (4.19) utilizzando la trasformata di Fourier:
ω ω ϕ̂(ω) = m
ϕ̂
,
(4.34)
2
2
dove
1X
m(ω) :=
hn e−ikω
(4.35)
2
n∈ZZ
è la trasformata di Fourier discreta della maschera e viene chiamata usualmente simbolo associato alla maschera h. Dalle (4.20) e (4.23) per l = 0 si
ha m(0) = 1 e m(π) = 0: in effetti i coefficienti hk possono essere visti come
i coefficienti di un filtro passa-basso.
Dalla (4.34) segue immediatamente che, se ϕ1 e ϕ2 sono due funzioni
raffinabili in L1 (IR) ∩ L2 (IR) con simboli m1 , m2 e maschere h1 , h2 , rispettivamente, allora la convoluzione ϕ = ϕ1 ∗ ϕ2 è raffinabile con simbolo
m(ω) = 12 m1 (ω) m2 (ω) e coefficienti della maschera dati dalla convoluzione
discreta hn = 12 (h1 ∗ h2 )n .
N −1
Esempio 4. Consideriamo lo spazio SN
(IR, ∆j ) delle funzioni splines di
grado N . Una base per questo spazio è formata dalle traslate della B-spline
BN , definita in modo ricorsivo da
B0 := χ[0,1] ,
BN := B0 ∗ BN −1 = (∗)N χ[0,1] .
Osserviamo che B1 è la ”hat function” dell’Esempio 2.
Dalla proprietà di convoluzione, segue che ciascuna BN è una funzione
di raffinamento con maschera

N +1
 hn,N = 21N n , 0 ≤ n ≤ N + 1 ,

hn,N = 0 ,
altrove.
Si dimostra che il sistema {BN (· − k)}k∈ZZ è L2 -stabile, quindi genera una
N −1
analisi multirisoluzione costituita dagli spazi Vj ≡ SN
(IR, ∆j ) ∩ L2 (IR),
j ∈ ZZ. Poichè ciascuna maschera ha supporto compatto [0, N + 1] ed è
simmetrica, si ha supp BN = [0, N +1] e BN (x) = BN (N +1−x). Osserviamo
che le funzioni BN per N > 0 non sono ortonormali quindi, per ciascuna
di esse, è necessario introdurre una funzione raffinabile biortogonale. Per la
costruzione delle splines biortogonali si veda [2].
Le proprietà di stabilità , ortonormalità e interpolazione del sistema
{ϕ(·− k)}k∈ZZ possono essere espresse in termini della trasformata di Fourier
ϕ̂. Infatti, si dimostra che se ϕ ∈ L2 (IR) allora
20
• ϕ è L2 -stabile se e solo se esistono due costanti C1 , C2 > 0, tali che
X
C1 ≤
|ϕ̂(ω + 2nπ)|2 ≤ C2 ;
(4.36)
n∈ZZ
• ϕ è ortonormale se e solo se
X
|ϕ̂(ω + 2nπ)|2 = 1 ;
(4.37)
n∈ZZ
• se
|ϕ̂(ω)| ≤ (1 + |ω|)−1−ε ,
ϕ è interpolatoria se e solo se
X
ϕ̂(ω + 2nπ) = 1 .
(4.38)
(4.39)
n∈ZZ
(Da (4.38) segue che una funzione interpolatoria è sempre L2 -stabile.)
Nota 2. Da (4.37) segue che è sempre possibile costruire una funzione
ortonormale ϕo in V0 a partire da una ϕ L2 -stabile nel modo seguente:
ϕ̂o (ω) := [Sϕ (ω)]−1/2 ϕ̂(ω) ,
(4.40)
dove
Sϕ (ω) :=
X
n∈ZZ
|ϕ̂(ω + 2nπ)|2 =
X
(ϕ(· − n), ϕ) einω .
(4.41)
n∈ZZ
La funzione
ϕ̂d (ω) := [Sϕ (ω)]−1 ϕ̂(ω) ,
(4.42)
genera una base di Riesz in V0 che è la base duale di ϕ, nel senso che
(ϕ(· − k), ϕd (· − l) = δkl , k, l ∈ ZZ.
Infine, la funzione
ϕ̂i (ω) := [Rϕ (ω)]−1 ϕ̂(ω) ,
(4.43)
dove
Rϕ (ω) :=
X
ϕ̂(ω + 2nπ) =
n∈ZZ
X
ϕ(n) e−inω ,
(4.44)
n∈ZZ
è in V0 ed è interpolatoria.
Osserviamo che, anche se ϕ ha supporto compatto, ϕo , ϕd e ϕi hanno supporto illimitato.
Nota 3. I valori numerici della funzione di raffinamento vengono calcolati
con un procedimento iterativo, chiamato algoritmo a cascata. In effetti ϕ è
il punto unito dell’operatore R definito da
X
R f :=
hk f (2 · −k)
k∈ZZ
21
e, sotto opportune ipotesi sulla maschera, si ha
ϕ = lim Rj δ ,
j→+∞
dove δ := {δk }k∈ZZ = {δ0k }k∈ZZ è la sequenza unitaria, i cui elementi δk
valgono 0 per k 6= 0, mentre δ0 = 1.
Se il procedimento iterativo converge, l’algoritmo a cascata può essere
scritto nella forma

s0,k = δ0k ,



X
k ∈ ZZ ,

s
=
h
s
jn ,

n
j+1,k
j,k−2

n∈ZZ
ϕ(2−j k)
dove sj,k = Pj
mati alla scala j.
5
sono i valori della funzione di raffinamento approssi-
Wavelets e algoritmi multiscala
Vogliamo costruire un algoritmo che, dati i coefficienti cj+1,k := (f, ϕ̃j+1,k )
del proiettore obliquo (4.31) al livello più fine, calcoli in modo efficiente
l’approssimazione Pj f alla scala più rada.
Utilizzando l’equazione di raffinamento (4.29) nell’espressione di cj,k si
ha
cj,k = (f, ϕ̃j,k ) = 2j/2 f, ϕ̃(2j · −k) =
P
1 P
= 2j/2 f, n∈ZZ h̃n ϕ̃(2(j+1) · −2k − n) = √
n∈ZZ h̃n cj+1,2k+n .
2
Allora, la relazione
1 X
cj,k = √
h̃n cj+1,2k+n
2 n∈ZZ
(5.45)
rappresenta l’algoritmo di decomposizione, cioé la proiezione dalla scala più
fine j + 1 alla scala più rada j.
Definiamo ora una coppia di wavelets biortogonali, ψ e ψ̃, a partire da
due funzioni raffinabili, ϕ ∈ V0 e ϕ̃ ∈ Ṽ0 , biortogonali a loro volta:
X
X
ψ(x) :=
gk ϕ(2x − k) ,
ψ̃(x) :=
g̃k ϕ̃(2x − k) ,
(5.46)
k∈ZZ
k∈ZZ
con
gk := (−1)k h̃1−k ,
g̃k := (−1)k h1−k .
(5.47)
La funzione ψ appartiene allo spazio Wj , complemento ortogonale di Vj in
Vj+1 , mentre la funzione ψ̃ appartiene allo spazio W̃j , complemento ortogonale di Ṽj in Ṽj+1 . Si ha quindi
Vj+1 = Vj ⊕ Wj ,
Ṽj+1 = Ṽj ⊕ W̃j ,
22
(5.48)
dove l’operatore ⊕ indica la somma diretta.
Si dimostra che le funzioni ψ e ψ̃ sono biortogonali tra loro e ortogonali
alle traslate di ϕ̃ e ϕ, rispettivamente:
(ψ, ψ̃(· − k)) = δ0k ,
(ψ, ϕ̃(· − k)) = (ψ̃, ϕ(· − k)) = 0 .
(5.49)
Da (5.49) seguono le relazioni di biortogonalità
(ϕj0 ,k , ψ̃j,m ) = (ϕ̃j0 ,k , ψj,m ) = 0 ,
j ≥ j0 ,
(ψj,k , ψ̃l,n ) = δjl δkn , (5.50)
Il sistema {ψj,k }k∈ZZ costituisce una base di Riesz dello spazio Wj . Analogamente, anche il sistema {ψ̃j,k }k∈ZZ costituisce una base di Riesz dello spazio
W̃j .
Definiamo ora il proiettore
Qj f := Pj+1 f − Pj f ,
(5.51)
che contiene i ”dettagli” che dobbiamo aggiungere per passare dall’approssimazione alla scala j all’approssimazione alla scala j + 1. Qj agisce nello
spazio Wj e può essere rappresentato come
X
Qj f =
dj,k ψj,k ,
dj,k := (f, ψ̃j,k ) .
(5.52)
k∈ZZ
Le wavelet biortogonali forniscono una decomposizione multiscala (non
ortogonale) di Vj1 :
Vj1 = Vj0 ⊕ Wj0 ⊕ Wj0 +1 ⊕ · · · ⊕ Wj1 −1 .
Ogni funzione f ∈ Vj1 può essere sviluppata come
X
X
X X
fj1 =
cj1 ,k ϕj1 ,k =
cj0 ,k ϕj0 ,k +
dj,k ψj,k .
k∈ZZ
k∈ZZ
(5.53)
j0 ≤j<j1 k∈ZZ
Dalle relazioni di biortogonalità (5.50) segue che il sistema {ϕj0 ,k }k∈ZZ ∪
{ψj,k }j0 ≤j<j1,k∈ZZ forma una base di Riesz di Vj1 . Allora, ogni funzione
f ∈ L2 (IR) ha uno sviluppo convergente del tipo
X
XX
f=
cj0 ,k ϕj0 ,k +
dj,k ψj,k .
(5.54)
k∈ZZ
j0 ≤j k∈ZZ
Analogamente al caso semplice di §3, si può decomporre dalla scala più
fine alle scala più rada con le fomule
1 X
cj,k = √
h̃n−2k cj+1,n ,
2 n∈ZZ
1 X
dj,k = √
g̃n−2k cj+1,n ,
2 n∈ZZ
23
(5.55)
e ricostruire dalla scala più rada alla scala più fine con la formula
"
#
X
X
1
cj+1,k = √
hk−2n cj,n +
gk−2n dj,n .
2 n∈ZZ
n∈ZZ
(5.56)
Le relazioni precedenti danno luogo a un algoritmo piramidale del tipo di
quello di §3, che ha costo computazionale O(N ), dove N è la dimesione della
sequenza (finita) {cj1 ,k }. L’algoritmo (5.55)-(5.56) è chiamato Fast Wavelet
Transform.
Osserviamo che se la funzione di raffinamento ϕ è ortogonale, allora
anche la wavelet madre è ortogonale e le formule (5.46) e (5.47) si riducono
a
X
ψ(x) :=
gk ϕ(2x − k)
con
gk := (−1)k h1−k .
(5.57)
k∈ZZ
Si possono utilizzare ancora gli algoritmi di decomposizione e ricostruzione
(5.55)-(5.56) ricordando che in questo caso si ha hk = h̃k e gk = g̃k per ogni
valore di k.
6
Subband coding schemes
Le relazioni (5.55) possono essere viste come la convoluzione tra i coefficienti
alla scala più fine {cj1 ,k } e le sequenze discrete {h̃−k } e {g̃−k } seguita da
una decimazione di un campione ogni due (downsampling). Analogamente,
la (5.56) consiste nella convoluzione delle sequenze discrete {hk } e {gk } con i
coefficienti {cj,k } e {dj,k }, rispettivamente, preceduta dall’inserzione di uno
zero tra ciascuno dei coefficienti (upsampling). Questa operazione è nota in
analisi del segnale come codifica di un segnale in sottobande di frequenza
(subband coding scheme) tramite su un banco di filtri a due canali (two
channel filter bank).
Un subband coding scheme divide un segnale discreto s(k), k ∈ ZZ, in M
componenti s1 (k), . . ., sM (k), ciascuna delle quali rappresenta un certo contenuto in frequenza: gli si sono ottenuti filtrando il segnale iniziale con M
filtri, che hanno caratteristiche complementari nello spazio delle frequenze; si
effettua poi un downsampling di un fattore M sul segnale risultante in modo
da conservare la quantità totale di informazione. Il segnale viene decomposto
tramite convoluzione con sequenze finite {a1,k }k∈ZZ , . . ., {aM,k }k∈ZZ (filtri di
decomposizione). Per ricostruire il segnale originale si fa un upsampling
del segnale decimato inserendo M − 1 zeri tra ciascuno dei dati, poi si filtra con sequenze {b1,k }k∈ZZ , . . ., {bM,k }k∈ZZ (filtri di ricostruzione). I filtri
{ai,k }k∈ZZ e {bi,k }k∈ZZ devono godere di proprietà particolari per garantire
una ricostruzione perfetta.
Il caso M = 2 corrisponde alle formule di decomposizione e ricostruzione
date dalle relazioni (5.55) e (5.56) (o (3.3) e (3.4) nel caso del sistema di
24
Haar). In questo caso i filtri {hk }k∈ZZ e {h̃k }k∈ZZ sono filtri passa-basso, cioè
tali che m(0) = m̃(0) = 1 e m(π) = m̃(π) = 0, mentre i filtri {gk }k∈ZZ e
{g̃k }k∈ZZ sono filtri passa-alto di tipo ”mirror” in quanto, per costruzione,
soddisfano le relazioni
1X
1X
gk e−iωk = e−iω m̃(ω + π) e
g̃k e−iωk = e−iω m(ω + π) .
2
2
k∈ZZ
k∈ZZ
(6.58)
Filtri che soddisfano questa proprietà sono chiamati quadrature mirror filters
e garantiscono una ricostruzione perfetta del segnale .
Gli algoritmi di decomposizione e ricostruzione coinvolgono solo le sequenze discrete {hk }k∈ZZ , {h̃k }k∈ZZ , {gk }k∈ZZ e {g̃k }k∈ZZ , quindi possono essere applicati ad un segnale campionato anche se non è stato ottenuto come
approssimazione nello spazio Vj . Inoltre gli algoritmi non coinvolgono esplicitamente i valori delle funzioni ϕ, ϕ̃, ψ, ψ̃, che potrebbero anche non
esistere.
Per una trattazione dettagliata della trasformata wavelet discreta in relazione con i subband coding scheme si rimanda a [8].
References
[1] A. Cohen, Wavelets Methods in Numerical Analysis, in Handbook of
Numerical Analysis, Vol. VII, edito da P.G. Ciarlet e J.L. Lions, Elsevier
Science, 2000.
[2] A. Cohen, R. Ryan, Wavelets and Multiscale Signal Processing,
Chapman and Hall, London, 1995.
[3] I. Daubechies, Ten Lectures on Wavelets, SIAM, Philadelphia, 1992.
[4] R.J. Duffin, A.C. Schaeffer, A Class of Nonharmonic Fourier Series, Trans. Amer. Math. Soc, 72, (1952), 341–366.
[5] S. Mallat, Multiresolution Approximation and Wavelet Orthonormal
Bases of L2 (IR), Trans. Amer. Math. Soc, 315, (1989), 69–88.
[6] S. Mallat, A Wavelet Tour of Signal Processing, Academic Press, New
York, 1998.
[7] F. Pitolli, Migliore Approssimazione, Dispense, 2007.
[8] G. Strang, T. Nguyen, Wavelets and Filter Banks, WellesleyCambridge Press, 1996.
[9] R.M. Young, An Introduction to Non-Harmonic Fourier Series, Academic Press, New York, 1980.
25
Siti Internet
• http://www.wavelet.org: è il sito di riferimento per i ricercatori che
lavorano nel settore delle wavelet sia dal punto di vista teorico che dal
punto di vista applicativo. Pubblica il Wavelet Digest, una newsletter
che informa su tutte le ultime novità (libri, articoli di ricerca, software,
workshop, congressi, ...) nel mondo delle wavelet.
• http://www.univie.ac.at/NuHAG: il Numerical Harmonic Analysis
Group dell’Università di Vienna è coinvolto in vari progetti europei
per l’analisi di segnali e immagini.
• http://bigwww.epfl.ch: il Biomedical Imaging Group della Ecole
Polytechnique Fédérale di Losanna lavora sull’analisi di immagini biomediche con metodi avanzati.
• http://www.curvelet.org/: è il sito dove trovare articoli e software
per la trasformata con le curvelts. Le curvelets sono delle basi di tipo
frames molto adatte per l’analisi di immagini.
Software
• Matlab Wavelet Toolbox: toolbox commerciale per Matlab
(http://www.mathworks.com/products/wavelet/.
• Scilab Wavelet Toolbox: toolbox distribuito gratuitamente sotto la
licenza GNU-GPL. Scilab (http://www.scilab.org/) è un software
gratuito per il calcolo scientifico molto simile a Matlab. Il toolbox
delle wavelet ha le stesse funzioni (con la stessa sintassi) del toolbox
di Matlab (http://sourceforge.net/projects/scwt/).
• Mathematica Wavelet Explorer: software commerciale per Mathematica (http://www.wolfram.com/products/applications/wavelet/).
26