Panoramica
La risposta breve è che hanno il numero massimo di vanishing moments
per un dato support
(cioè il numero di coefficienti di filtro). Questa è la proprietà "estrema" che distingue le wavelet di Daubechies in generale. In parole povere, momenti più evanescenti implicano una migliore compressione e un supporto più piccolo implica meno calcoli. In effetti, il compromesso tra i momenti di fuga e le dimensioni del filtro è così importante che domina il modo in cui vengono chiamate le wavelet. Ad esempio, vedrai spesso la D4
wavelet indicata come D4
o db2
. Il si 4
riferisce al numero di coefficienti e il2
si riferisce al numero di momenti di fuga. Entrambi si riferiscono allo stesso oggetto matematico. Di seguito, spiegherò di più su quali sono i momenti (e perché vogliamo farli scomparire), ma per ora, basta capire che si riferisce a come possiamo "piegare" la maggior parte delle informazioni nel segnale in un più piccolo numero di valori. La compressione con perdita si ottiene mantenendo quei valori e gettando via gli altri.
Ora, potresti aver notato che CDF 9/7
, usato in JPEG 2000
, ha due numeri nel nome, anziché uno. In realtà, è anche indicato come bior 4.4
. Questo perché non è affatto un wavelet discreto "standard". In realtà, non mantiene nemmeno tecnicamente l'energia nel segnale, e quella proprietà è l'intera ragione per cui le persone sono così entusiaste del DWT in primo luogo! I numeri, 9/7
e 4.4
, fanno ancora riferimento rispettivamente ai supporti e ai momenti di fuga, ma ora ci sono due serie di coefficienti che definiscono l'onda. Il termine tecnico è che, anziché essere orthogonal
, lo sono biorthogonal
. Invece di approfondire troppo ciò che significa matematicamente, io '
JPEG 2000
Una discussione molto più dettagliata delle decisioni di progettazione che circondano il wavelet CDF 9/7 è disponibile nel seguente documento:
Usevitch, Bryan E. Un tutorial sulla moderna compressione delle immagini Wavelet perdita : fondamenti di JPEG 2000 .
Esaminerò solo i punti principali qui.
Abbastanza spesso, le wavelet ortogonali Daubechies possono effettivamente comportare un aumento del numero di valori richiesti per rappresentare il segnale. L'effetto è chiamato coefficient expansion
. Se stiamo eseguendo una compressione con perdita di dati che può o non può interessare (poiché eliminiamo comunque i valori alla fine), ma sembra decisamente controproducente nel contesto della compressione. Un modo per risolvere il problema è trattare il segnale di ingresso come periodico.
Trattare semplicemente l'input come periodico provoca discontinuità ai bordi, che sono più difficili da comprimere e sono solo artefatti della trasformazione. Ad esempio, considerare i salti da 3 a 0 nella seguente estensione periodica: . Per risolvere questo problema, possiamo usare un'estensione periodica simmetrica del segnale, come segue: [ 0 ,[ 0 , 1 , 2 , 3 ] → [ . . .0 , 1 , 2 , 3 , 0 , 1 , 2 , 3 , . . . ] . L'eliminazione dei salti ai bordi è uno dei motivi per cui viene utilizzata la trasformazione discreta del coseno (DCT) al posto del DFT in JPEG. La rappresentazione di un segnale con i coseni presuppone implicitamente il "looping fronte-retro" del segnale di input, quindi vogliamo onde che abbiano la stessa proprietà di simmetria.[ 0 , 1 , 2 , 3 ] → [ . . . , 0 , 1 , 2 , 3 , 3 , 2 , 1 , 0 , 0 , 1 ... ]
Sfortunatamente, l'unica wavelet ortogonale che presenta le caratteristiche richieste è la wavelet Haar (o D2, db1), che è solo un momento di fuga. Ugh. Questo ci porta a wavelet biorthogonal, che sono in realtà rappresentazioni ridondanti e quindi non conservano energia. Il motivo per cui le wavelet CDF 9/7 sono utilizzate nella pratica è perché sono state progettate per avvicinarsi molto al risparmio energetico. Hanno anche testato bene in pratica.
Esistono altri modi per risolvere i vari problemi (menzionati brevemente nel documento), ma questi sono i grandi tratti dei fattori coinvolti.
Momenti in fuga
Quindi quali sono i momenti e perché ci preoccupiamo per loro? I segnali lisci possono essere ben approssimati dai polinomi, cioè funzioni della forma:
a + b x + c x2+ dX3+ . . .
I momenti di una funzione (cioè il segnale) sono una misura di quanto sia simile a una data potenza di x. Matematicamente, questo è espresso come un prodotto interno tra la funzione e la potenza di x. Un momento di fuga significa che il prodotto interno è zero, e quindi la funzione non "assomiglia" a quella potenza di x, come segue (per il caso continuo):
∫Xnf( x ) dx = 0
φψ. Questa terminologia sembra variare leggermente, ma è quello che userò qui. In ogni fase del DWT, il filtro passa-alto viene utilizzato per "staccare" uno strato di dettaglio e il filtro passa-basso produce una versione smussata del segnale senza quel dettaglio. Se il filtro passa-alto ha momenti di fuga, quei momenti (cioè le caratteristiche polinomiali di ordine basso) verranno inseriti nel segnale livellato complementare, piuttosto che nel segnale di dettaglio. In caso di compressione con perdita di dati, si spera che il segnale di dettaglio non contenga molte informazioni al suo interno, e quindi possiamo buttarne via la maggior parte.
1 / 2-√
ϕ = [ 1 , 1 ]ψ = [ 1 , - 1 ]
X0= 1[ 2 , 2 , 2 , 2 ]
[ 2 , 2 , 2 , 2 ] →φψ{ [ 2 + 2 , 2 + 2 ] = [ 4 , 4 ][ 2 - 2 , 2 - 2 ] = [ 0 , 0 ]
E cosa succede al secondo passaggio, che opera solo sul segnale smussato:
[ 4 , 4 ] →φψ{ [ 4 + 4 ] = [ 8 ][ 4 - 4 ] = [ 0 ]
288
Ulteriori letture
Sto riflettendo su MOLTI dettagli per mantenere accessibile il trattamento di cui sopra. Il seguente documento presenta un'analisi molto più approfondita:
M. Unser e T. Blu, Proprietà matematiche dei filtri wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, n. 9, settembre 2003, pag.1080-1090.
Nota
Il documento sopra sembra suggerire che il wavelet JPEG2000 si chiama Daubechies 9/7 ed è diverso dal wavelet CDF 9/7.
D a u b e c h i e s8
[11] A. Cohen, I. Daubechies e JC Feauveau, "Basi biorthogonal di wavelet supportate in modo compatto", Comm. Pure Appl. Matematica, vol. 45, n. 5, pagg. 485-560, 1992.
La bozza dello standard JPEG2000 ( link pdf ) che ho consultato chiama anche il filtro ufficiale Daubechies 9/7. Fa riferimento a questo documento:
M. Antonini, M. Barlaud, P. Mathieu e I. Daubechies, "Codifica delle immagini utilizzando la trasformazione wavelet", IEEE Trans. Immagine Proc. 1, pagg. 205-220, aprile 1992.
Non ho letto nessuna di queste fonti, quindi non posso dire con certezza perché Wikipedia chiama il wavelet JPEG2000 CDF 9/7. Sembra che ci possa essere una differenza tra i due, ma la gente chiama comunque il CDF wavelet CD2 9/7 ufficiale (perché è basato sulla stessa base?). Indipendentemente dal nome, l'articolo di Usevitch descrive quello utilizzato nello standard.