wavelet analisi tempo-frequenza cenni di jpeg 2000
DESCRIPTION
Wavelet Analisi tempo-frequenza Cenni di Jpeg 2000. Multirisoluzione: concetti base. Un segnale f(x) può essere analizzato come una combinazione lineare di funzioni:. - PowerPoint PPT PresentationTRANSCRIPT
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Wavelet Wavelet Analisi tempo-frequenzaAnalisi tempo-frequenza
Cenni di Jpeg 2000Cenni di Jpeg 2000
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Multirisoluzione: concetti base
Un segnale f(x) può essere analizzato come una combinazione lineare di funzioni:
kkk xxf )()(
Se l’espansione risulta essere unica, si dice che k(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:
dxxfxxfx kkk )()(~)(),(~ *
In funzione dell’ortogonalità o meno delle funzioni base è possibile incontrare vari casi…
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Multirisoluzione: concetti base
Caso 1: le funzioni base formano una base ortonormale per V.
kj
kjxx jkkj 1
0)(),(
Caso 2: le funzioni base formano una base ortogonale per V, ma non ortonormale. La relazione tra le funzioni base e le funzioni duali è:
kj
kjxx jkkj 1
0)(~),(
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Fissando il valore di j=j0 le funzioni di espansione risultanti descrivono un sottoinsieme dello spazio totale. Indicheremo tale sottospazio come Vj0.
Multirisoluzione: funzioni di scala
)2(2)( 2/. kxx jjkj
Si considerano ora la famiglia di funzioni ottenute da traslazioni intere e riduzioni di scala di tipo diadico:
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.
Aumentando il valore di j si aumenta la dimensione dello spazio che considera delle funzioni con variazioni più piccole e quindi dettagli più piccoli.
k
kjk xxf )()( ,0
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Aumento di scala
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
• 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
• La sola funzione comune a tutti i sottospazî Vj è f(x)=0.
• Ogni funzione può essere espressa con una precisione arbitraria.
Richieste fondamentali dell’MRA
)}({ 2 RLV
}0{V
VVVV ...... 01
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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.
n
njnkj xx )()( ,1,
Sostituendo quindi la funzione j+1,n e rinominando i coefficienti n in h(n) si ottiene:
n
jjkj nxnhx )2(2)()( 12/)1(
,
o nella forma più generale nota come refinement equation o dilation equation:
n
nxnhx )2(2)()(
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Multirisoluzione: funzioni wavelet
•Partendo da una funzione di scala che soddisfi le richieste dell’MRA viste precedentemente, si definisce la funzione wavelet (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.•Si può definire l’insieme j,k(x): )2(2)( 2/
, kxx jjkj
se f(x) appartiene a Wj k
kjk xxf )()( ,
La relazione tra lo spazio descritto dalla funzione di scala e quello descritto dalla wavelet risulta essere la seguente:
jjj WVV 1
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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:
0)(),( ,, xx ljkj
Si può quindi esprimere tutto lo spazio delle funzioni misurabili, quadrato integrabili come segue:
...)( 1002 WWVRL
...)( 2112 WWVRL
......)( 210122 WWWWWRL
Nell’ultima espressione è stata eliminata la funzione di scala è la funzione viene rappresentata in termini di sole funzioni wavelet.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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:
n
nxnhx )2(2)()(
I coefficienti della somma pesata appena vista sono noti come coefficienti della wavelet. Si può inoltre dimostrare la seguente relazione
)1()1()( nhnh n
Si noti la somiglianza con la relazione intercorrente tra i filtri ortonormali del subband coding.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets 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
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Wavelet series expansion
Definiamo l’espansione in serie wavelet di una funzione continua f(x) relativamente alla wavelet (x) e alla funzione di scala (x) nel seguente modo:
k jj k
kjjkjj xkdxkcxf0
00)()()()()( ,,
Coefficienti di scala o approssimazione
Coefficienti wavelet o dettagli
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:
dxxxfxxfkc kjkjj )()()(),()( ,, 000
dxxxfxxfkd kjkjj )()()(),()( ,,
Nel caso di base biortogonale, le funzioni con cui vengono calcolate le correlazioni sono sostituite con i corrispettivi duali.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Coefficiente c0
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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:
x
kj xxfM
kjW )()(1
),( ,0 0
x
kj xxfM
kjW )()(1
),( ,
0
0)(),(
1)(),(
1)( ,,0
jj kkj
kkj xkjW
MxkjW
Mxf
Cfr. coeff. precedenti
Fattore di normalizzazionecfr. DFT
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Fast wavelet transform (FWT)
Si consideri l’equazione di affinamento:
n
nxnhx )2(2)()(
Si scali ora la x di 2j e la si trasli di k, definendo m=2k+n
n m
jjj mxkmhnknhkx )2(2)2())2(2(2)()2( 1
Si fa notare come i vettori di scala h possono essere visti come pesi usati per espandere (2jx-k) come somma delle funzioni di scala j+1. La stessa osservazione vale quindi per le wavelet:
m
jj mxkmhkx )2(2)2()2( 1
Dove il vettore h ha preso il posto di h.Consideriamo ora le espressioni usate per il calcolo dei coefficienti della DWT.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Fast wavelet transform (FWT)
Sostituendo quindi nell’equazione l’espressione vista poc’anzi per (2jx-k) si ottiene:
x
jj kxxfM
kjW )2(2)(1
),( 2/
m x
jj
x m
jj
mxxfM
kmh
mxkmhxfM
kjW
)2(2)(1
)2(
)2(2)2(2)(1
),(
12/)1(
12/
dove l’equazione tra parentesi quadre è la scomposizione della funzione f(x) alla scala j0=j+1. In altre parole si evince quanto segue:
m
mjWkmhkjW ),1()2(),( m
mjWkmhkjW ),1()2(),(
Relazione tra scale adiacenti
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Le espressioni appena viste conducono all’implementazione indicata sotto:
0,2),1()(),(
kknnjWnhkjW
0,2),1()(),(
kknnjWnhkjW
Corrisponde ad una decimazione per 2
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Iterando quindi le espressioni viste precedentemente
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
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Partendo dalle espressioni precedentemente viste si ottiene facilmente lo schema di “decodifica” cioè lo schema per il calcolo della FWT inversa.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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-DLe funzioni ora citate possono essere ottenute utilizzando dei filtri separabili:
)()(),( yxyx
)()(),( yxyxH
)()(),( yxyxV
)()(),( yxyxD
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Estensione al caso 2-D
Date le funzioni separabili e le funzioni wavelet:
)2,2(2),(
)2,2(2),(2/
,,
2/,,
nymxyx
nymxyxjjiji
nmj
jjjnmj
La DWT in 2-D risulta essere:
1
0
1
0,,
1
0
1
0,,0
),(),(1
),,(
),(),(1
),,(0
M
x
N
y
inmj
i
M
x
N
ynmj
yxyxfMN
nmjW
yxyxfMN
nmjW
Come nel caso 1-D, j0 è una scala di partenza scelta arbitrariamente. W 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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Convoluzione sulle righee sulle colonne
Generazione delle “bande in frequenza”bidimensionali.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
N.B.: utile comando matlab waveinfo(‘sym’)help waveinfo
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Esempio matlab
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Chapter 7Wavelets and Multiresolution Processing
Esempio matlab
Hard thresholding
Soft thresholding
altrimenti
txtxtyHard
0
)()()(
altrimenti
txtxtxsigntySoft
0
)()())(()(
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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
Cenni di Jpeg2000
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Cenni di Jpeg2000
Nella figura sottostante viene illustrato il diagramma a blocchi del Jpeg2k.1. Dapprima viene calcolata la trasformata discreta sull’immagine in
ingresso2. I coefficienti vengono quindi quantizzati3. Infine si passa alla codifica entropica prima della generazione del
flusso di dati Jpeg2k
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Cenni di Jpeg2000
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à.
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.
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.
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Cenni di Jpeg2000
Effetto del tiling nella compressione Jpeg2k
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Cenni di Jpeg2000
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
Cenni di Jpeg2000
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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).
Digital Image Processing, 2nd ed.www.imageprocessingbook.com
© 2002 R. C. Gonzalez & R. E. Woods
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”