Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Wavelet
Analisi tempo-frequenza
Cenni di Jpeg 2000
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Multirisoluzione: concetti base
Un segnale f(x) può essere analizzato come una combinazione lineare di
funzioni:
f ( x)    k  k ( x)
k
Se l’espansione risulta essere unica, si dice che fk(x) sono delle funzioni
base. Le funzioni esprimibili con tale base formano uno spazio di
funzioni V.
Per ogni spazio V esiste un insieme di funzioni duali che possono essere
usate per calcolare i coefficienti k come segue:
 k  ~k ( x), f ( x)   ~k* ( x) f ( x)dx
In funzione dell’ortogonalità o meno delle funzioni base è possibile
incontrare vari casi…
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Multirisoluzione: concetti base
Caso 1: le funzioni base formano una base ortonormale per V.
0
1
 j ( x),  k ( x)   jk  
jk
jk
Caso 2: le funzioni base formano una base ortogonale per V, ma non
ortonormale. La relazione tra le funzioni base e le funzioni duali è:
0
1
 j ( x), ~k ( x)   jk  
jk
jk
Caso 3: le funzioni base non formano una base ortogonale per V, cioè
esiste più di una n-pla di coefficienti per l’espansione della stessa
funzione f(x). Le funzioni di espansione ed il loro duale sono dette
sovradimensionate o ridondanti.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Multirisoluzione: funzioni di scala
Si considerano ora la famiglia di funzioni ottenute da traslazioni intere e
riduzioni di scala di tipo diadico:
 j . k ( x)  2 j / 2  ( 2 j x  k )
Il valore k imposta la posizione relativa della funzione, mentre il valore j
ne imposta la scala.
Scegliendo opportunamente le funzioni è possibile descrivere
completamente lo spazio L2(R), cioè l’insieme delle funzioni reali
misurabili ed assolutamente integrabili.
Fissando il valore di j=j0 le funzioni di espansione risultanti descrivono
un sottoinsieme dello spazio totale. Indicheremo tale sottospazio come
Vj0.
f ( x)    ( x)

k
j0 , k
k
Aumentando il valore di j si aumenta la dimensione dello spazio che
considera delle funzioni con variazioni più piccole e quindi dettagli più
piccoli.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Aumento di scala
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Richieste fondamentali dell’MRA
• Le funzioni di scala sono ortogonali alle traslazioni
intere
• I sottospazî descritti dalle funzioni di espansione in un
basso valore di scala sono contenuti in quelli descritti
dalle scale più alte
V  ...  V1  V0  ...  V
• La sola funzione comune a tutti i sottospazî Vj è
f(x)=0.
V  {0}
• Ogni funzione può essere espressa con una precisione
arbitraria.
V  {L2 ( R)}
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Conclusioni sulle funzioni di scala
Sotto le condizioni appena elencate, le funzioni di espansione del
sottospazio Vj possono essere come la somma pesata delle funzioni alla
scala j+1.
 j ,k ( x)    n j 1,n ( x)
n
Sostituendo quindi la funzione fj+1,n e rinominando i coefficienti n in
hf(n) si ottiene:
 j ,k ( x)   h (n)2 ( j 1) / 2  (2 j 1 x  n)
n
o nella forma più generale nota come refinement equation o dilation
equation:
 ( x)   h (n) 2 (2 x  n)
n
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Multirisoluzione: funzioni wavelet
•Partendo da una funzione di scala che soddisfi le richieste dell’MRA viste
precedentemente, si definisce la funzione wavelet Y(x).
•La funzione appena definita assieme alle sue traslazioni intere e le sue
versioni riscalate è in grado di descrivere la differenza tra due sottospazî Vj
e Vj+1.
 j ,k ( x)  2 j / 2 (2 j x  k )
•Si può definire l’insieme Yj,k(x):
se f(x) appartiene a Wj
f ( x)    k j ,k ( x)
k
La relazione tra lo spazio descritto dalla funzione di scala e quello descritto
dalla wavelet risulta essere la seguente:
V j 1  V j  W j
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Multirisoluzione: funzioni wavelet
Dall’ultima espressione si evince che il complemento ortogonale di Vj in
Vj+1 risulta essere Wj e che tutti i “vettori” di Vj sono ortogonali a quelli di
Wj, perciò vale la seguente espressione:
 j ,k ( x), j ,l ( x)  0
Si può quindi esprimere tutto lo spazio delle funzioni misurabili, quadrato
integrabili come segue:
L2 ( R)  V0  W0  W1  ...
L2 ( R)  V1  W1  W2  ...
L2 ( R)  ...  W 2  W1  W0  W1  W2  ...
Nell’ultima espressione è stata eliminata la funzione di scala è la funzione
viene rappresentata in termini di sole funzioni wavelet.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Multirisoluzione: funzioni wavelet
Si noti che se una funzione f(x) appartiene a V1, ma non a V0,
un’espansione che usi la prima “configurazione” vista conterrà
un’approssimazione di f(x) in termini di V0; le wavelet di W0
condificheranno invece la differenza tra la funzione f(x) e
l’approssimazione corrente.
Similmente alle funzioni di scala, anche le funzioni wavelet possono
essere espresse in termini di somma pesata delle funzioni di scala ad una
risoluzione maggiore:
 ( x)   h (n) 2 (2 x  n)
n
I coefficienti della somma pesata appena vista sono noti come coefficienti
della wavelet. Si può inoltre dimostrare la seguente relazione
h (n)  (1) n h (1  n)
Si noti la somiglianza con la relazione intercorrente tra i filtri ortonormali del subband coding.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Applicando l’ultima
relazione vista, si possono
calcolare i coefficienti di
scala e delle wavelet delle
wavelet di Haar.
Esempio citato precedentemente
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Wavelet series expansion
Coefficienti di scala o approssimazione
Definiamo l’espansione in serie wavelet di una funzione continua f(x)
relativamente alla wavelet (x) e alla funzione di scala f(x) nel seguente
Coefficienti wavelet o dettagli
modo:

f ( x)   c j0 (k ) j0 ,k ( x)   d j (k ) j ,k ( x)
k
j  j0 k
Per ogni valore di scala j>j0 viene sommata una funzione a risoluzione più
fine per aggiungere maggiori dettagli.
Se le funzioni di espansione formano una base ortonormale i coefficienti
della serie possono essere calcolati nel seguente modo:
c j0 (k )  f ( x),  j0 ,k ( x)   f ( x) j0 ,k ( x)dx
d j (k )  f ( x), j ,k ( x)   f ( x) j ,k ( x)dx
Nel caso di base biortogonale, le funzioni con cui vengono calcolate le
correlazioni sono sostituite con i corrispettivi duali.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Coefficiente c0
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Discrete wavelet transform
Come già accennato precedentemente, se la funzione che viene espansa è
una sequenza di campioni, i coefficienti risultanti sono quelli della DWT.
Le somme prendono il posto degli integrali:
W ( j0 , k ) 
1
f ( x)

M
j0 , k
( x)
x
W ( j, k ) 
Fattore di normalizzazione
cfr. DFT
f ( x) 
Cfr. coeff. precedenti
1
f ( x)

M
j ,k
( x)
x
1
W ( j , k )

M
0
k
j0 , k
( x) 
1
M

W ( j, k )
j  j0 k
j ,k
( x)
La variabile indipendente x risulta essere una variabile a valori interi.
Come indicato prima, nel caso di basi ortonormali, le funzioni con cui fare
la correlazione risultano essere quelle duali.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Fast wavelet transform (FWT)
• La FWT è una realizzazione efficiente della
DWT che sfrutta la relazione tra i coefficienti
della DWT a scale diverse.
• La FWT è anche nota come Mallat herringbone
algorithm e riutilizza lo schema di
scomposizione visto nel subband coding.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Fast wavelet transform (FWT)
Si consideri l’equazione di affinamento:
 ( x)   h (n) 2 (2 x  n)
n
Si scali ora la x di 2j e la si trasli di k, definendo m=2k+n
 (2 j x  k )   h (n) 2 (2(2 j  k )  n)   h (m  2k ) 2 (2 j 1 x  m)
n
m
Si fa notare come i vettori di scala hf possono essere visti come pesi
usati per espandere f(2jx-k) come somma delle funzioni di scala j+1.
La stessa osservazione vale quindi per le wavelet:
 (2 j x  k )   h (m  2k ) 2 (2 j 1 x  m)
m
Dove il vettore h ha preso il posto di hf.
Consideriamo ora le espressioni usate per il calcolo dei coefficienti della
DWT.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Fast wavelet transform (FWT)
W ( j , k ) 
1
f ( x)2

M
 (2 j x  k )
j/2
x
Sostituendo quindi nell’equazione l’espressione vista poc’anzi per (2jx-k)
si ottiene:

j/2 
j 1
f
(
x
)
2
h
(
m

2
k
)
2

(
2
x

m
)

 

M x
m

 1

( j 1) / 2
j 1
  h (m  2k ) 
f
(
x
)
2

(
2
x

m
)


m
 M x

W ( j, k ) 
1
dove l’equazione tra parentesi quadre è la scomposizione della funzione
f(x) alla scala j0=j+1. In altre parole si evince quanto segue:
W ( j, k )   h (m  2k )W ( j  1, m)
W ( j, k )   h (m  2k )W ( j  1, m)
m
Relazione tra scale adiacenti
© 2002 R. C. Gonzalez & R. E. Woods
m
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Le espressioni appena viste conducono all’implementazione indicata sotto:
W ( j , k )  h (n)  W ( j  1, n)
n  2 k ,k 0
W ( j , k )  h (n)  W ( j  1, n)
n  2 k ,k 0
Corrisponde ad una decimazione per 2
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Si fa notare che i coefficienti della
scala più elevata sono quelli della
funzione di partenza.: le iterazioni
successive producono coefficienti
di scala J-1, J-2, et cetera
Iterando quindi le espressioni viste precedentemente
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Partendo dalle espressioni precedentemente viste si ottiene facilmente lo
schema di “decodifica” cioè lo schema per il calcolo della FWT inversa.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Estensione al caso 2-D
La trasformata 1-D descritta precedentemente viene facilmente estesa al
caso 2-D (es: immagini).
In 2-D sono necessarie:
•1 funzione di scala 2-D
•3 funzioni wavelet 2-D
Le funzioni ora citate possono essere ottenute utilizzando dei filtri
separabili:
 ( x, y )   ( x) ( y )
 V ( x, y)   ( x) ( y)
 H ( x, y)   ( x) ( y)
 D ( x, y)   ( x) ( y)
Caso immagini: le funzioni wavelet misurano le variazioni dei toni di
grigio lungo direzioni differenti.
Si può quindi ridefinire la DWT in 2-D come indicato in seguito.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Estensione al caso 2-D
Date le funzioni separabili e le funzioni wavelet:
 j ,m,n ( x, y )  2 j / 2  (2 j x  m,2 j y  n)
 ij ,m,n ( x, y )  2 j / 2 i (2 j x  m,2 j y  n)
La DWT in 2-D risulta essere:
W ( j0 , m, n) 
W ( j , m, n) 
i
1
MN
1
MN
M 1 N 1
 f ( x, y)
x 0 y 0
j0 , m , n
( x, y )
M 1 N 1
 f ( x, y)
x 0 y 0
i
j ,m,n
( x, y )
Come nel caso 1-D, j0 è una scala di partenza scelta arbitrariamente. Wf
rappresenta un’approssimazione dei dati di partenza, mentre i coefficienti
W rappresentano i dettagli.
Similmente al caso 1-D anche la trasformata bidimensionale può essere
realizzata usando dei filtri digitali e dei decimatori. Più semplicemente si
può applicare la FWT prima per righe e poi per colonne, in virtù della
separabilità dei filtri.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Convoluzione sulle righe
e sulle colonne
Generazione delle “bande in frequenza”
bidimensionali.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
N.B.: utile comando matlab
waveinfo(‘sym’)
help waveinfo
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Esempi applicativi
Andremo ora a considerare due esempi applicativi
delle wavelet 2-D:
• Isolamento dei bordi verticali mediante
filtraggio dei dettagli
• Eliminazione di rumore additivo gaussiano da
un’immagine mediante thresholding.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Esempio matlab
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Chapter 7
Wavelets and Multiresolution Processing
Hard thresholding
 x(t ) x(t )  
y Hard (t )  
 0 altrimenti
Soft thresholding
sign ( x(t )) x(t )  
y Soft (t )  
0

x(t )  
altrimenti
Esempio matlab
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni di Jpeg2000
• Perché un nuovo standard di compressione? Le
immagini digitali odierne richiedono una qualità
sempre maggiore ed risultano essere di
risoluzioni sempre più elevate.
• Lo standard Jpeg2k rappresenta gli avanzamenti
nella tecnologia di compressione delle
immagini: è stato ottimizzato sia per efficienza
che per scalabilità ed interoperabilità nelle reti e
negli ambienti radiomobili.
• Lo standard è particolarmente indicato per:
internet, facsimile a colori, stampa, scanner,
fotografia digitale, applicazioni radiomobili,
immagini mediche, archivi librari, et cetera.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni di Jpeg2000
Caratteristiche principali:
• Superior low bit rate performance
• Continuous-tone and bilevel compression: possibilità di
comprimere immagini da 1 a 16 bit per ogni componente di colore
• Lossless and lossy compression
• Progressive transmission
• Region of interest: spesso alcune parti delle immagini possono
essere di maggior interesse e possono essere trasmesse con
un’accuratezza maggiore
• Open architecture: un decoder può implementare il core del
sistema ed il parser per la corretta interpretazione del flusso di dati
• Robustness: importante nelle trasmissioni senza fili
• Security: watermarking, encryption
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni di Jpeg2000
Nella figura sottostante viene illustrato il diagramma a blocchi del Jpeg2k.
1. Dapprima viene calcolata la trasformata discreta sull’immagine in
ingresso
2. I coefficienti vengono quindi quantizzati
3. Infine si passa alla codifica entropica prima della generazione del
flusso di dati Jpeg2k
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni di Jpeg2000
Sebbene lo schema precedente risulti molto simile a quello del Jpeg
tradizionale, esistono enormi differenze in ognuno dei blocchi funzionali
indicati.
Breve descrizione del sistema di compressione/decompressione:
•L’immagine viene scomposta in componenti
•Le componenti possono venir divise in porzioni (tile) – opzionale
•La trasformata wavelet viene applicata ad ogni porzione, quindi ogni porzione
è “codificata” a diverse risoluzioni
•I coefficienti alle varie risoluzioni vengono divisi in sottoinsiemi in base alle
caratteristiche in frequenza
•I coefficienti delle sottobande vengono quantizzati e riuniti in matrici
rettangolari (code block)
•I singoli bit plane vengono passati al codificatore entropico
•Vengono quindi aggiunti al flusso di dati dei marcatori per la correzione degli
errori.
•Il flusso contiene inoltre un’intestazione in cui viene descritta tutta la struttura
dell’immagine.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni di Jpeg2000
La DWT può essere
reversibile (Le Gall 5/3) o
irreversibile (Daubechies
9/7).
Modalità
di
filtraggio: convolution e
lifting
scheme.
Per
assicurare il filtraggio
dell’intera immagine si
ricorre
all’estensione
simmetrica ai bordi che
risulta essere dipendente
dal filtro usato.
L’immagine originale può venir
divisa in tile che vengono compresse
in modo indipendente: si riduce il
consumo di memoria. Tutte le tile
devono avere la stessa dimensione (a
parte quelle sui bordi), scelta in
modo arbitrario. Considerazioni sulla
qualità.
© 2002 R. C. Gonzalez & R. E. Woods
Le componenti dell’immagine possono non avere la stessa
profondità di bit e possono essere sia con segno che senza. La
trasformazione delle componenti permette di ottenere
quantizzazioni più agevoli. Esistono nel Jpeg2k 2 operazioni
di trasformazione: ICT (irreversibile) ed RCT (reversibile).
La ICT viene usata con il kernel 9/7 dal momento che la
trasformata è irreversibile, mentre la RCT viene usata con il
5/3 che risulta essere reversibile.
Digital Image Processing, 2nd ed.
Cenni di Jpeg2000
Effetto del tiling nella
compressione Jpeg2k
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Cenni di Jpeg2000
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
Cenni di Jpeg2000
© 2002 R. C. Gonzalez & R. E. Woods
www.imageprocessingbook.com
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni sui filtri
• Originariamente la DWT veniva realizzata mediante l’applicazione di filtri
ortonormali che permettevano di mantenere inalterata l’energia del segnale
(=> facilità nella progettazione del quantizzatore)
• Esiste però un problema intrinseco all’utilizzo di un tale tipo di filtri:
l’espansione dei coefficienti. La convoluzione tra un segnale di lunghezza N
ed un filtro di lunghezza M produce un’uscita M+N-1
• Per ovviare a ciò si può ricorrere alla convoluzione circolare anziché quella
lineare. Essa però produce degli artefatti visibili (aumenta il numero di bit).
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed.
www.imageprocessingbook.com
Cenni sui filtri
• I problemi relativi alle discontinuità possono essere risolti utilizzando
un’estensione simmetrica del segnale: ciò garantisce la continuità tra le
repliche ed elimina i coefficienti wavelet molto grandi.
• Un ulteriore problema è legato al fatto che se il filtro non è simmetrico,
l’uscita risulta essere non simmetrica.
• Si ricorre quindi ai filtri simmetrici o antisimmetrici (a fase lineare). L’unico
filtro ortonormale a fase lineare è quello di Haar. Si ricorre quindi ai filtri
biortogonali. Esistono filtri “biortogonali quasi ortogonali”
© 2002 R. C. Gonzalez & R. E. Woods
Scarica

LivioTenze_Wavelet