Wavelet transform

Wavelet-komprimering er en form for datakomprimering godt egnet for bildekomprimering (noen ganger også videokomprimering og lydkomprimering). Viktige implementeringer er JPEG 2000, DjVu og ECW for stillbilder, CineForm og BBCS Dirac. Målet er å lagre bildedata på så lite plass som mulig i en fil. Wavelet komprimering kan enten være lossless eller lossy. Wavelet koding er en variant av diskret cosinus transform (DCT) koding som bruker wavelets i stedet FOR dct blokk – basert algoritme.

ved hjelp av en wavelet-transformasjon er wavelet-komprimeringsmetodene tilstrekkelige for å representere transienter, for eksempel perkusjonslyder i lyd eller høyfrekvente komponenter i todimensjonale bilder, for eksempel et bilde av stjerner på en nattehimmel. Dette betyr at de forbigående elementene i et datasignal kan representeres av en mindre mengde informasjon enn det som ville være tilfelle hvis en annen transformasjon, som den mer utbredte diskrete cosinustransformasjonen, hadde blitt brukt.

Diskret wavelet-transformasjon har blitt brukt for komprimering av elektrokardiograf (EKG) – signaler I dette arbeidet benyttes den høye korrelasjonen mellom de tilsvarende wavelet-koeffisientene til signaler av suksessive hjertesykluser ved bruk av lineær prediksjon.

wavelet-komprimering er ikke bra for alle typer data: forbigående signalegenskaper betyr god wavelet-komprimering, mens glatte, periodiske signaler blir bedre komprimert med andre metoder, spesielt tradisjonell harmonisk komprimering(frekvensdomene, Som Ved Fourier-transformasjoner og relaterte).

Se Dagbok av en x264 Utvikler: problemene med wavelets( 2010) for diskusjon av praktiske spørsmål om dagens metoder ved hjelp av wavelets for videokomprimering.

MethodEdit

først brukes en wavelet-transformasjon. Dette gir så mange koeffisienter som det er piksler i bildet (dvs.det er ingen komprimering ennå siden det bare er en transformasjon). Disse koeffisientene kan da komprimeres lettere fordi informasjonen er statistisk konsentrert i bare noen få koeffisienter. Dette prinsippet kalles transformasjonskoding. Etter det blir koeffisientene kvantisert og kvantiserte verdier er entropi kodet og / eller kjørelengde kodet.

noen FÅ 1d-og 2D-applikasjoner av wavelet-komprimering bruker en teknikk som kalles «wavelet footprints».

EvaluationEdit

Krav til bildekompresjonedit

for de fleste naturlige bilder er spektrumets tetthet av lavere frekvens høyere. Som et resultat blir informasjon om lavfrekvenssignalet (referansesignal) generelt bevart, mens informasjonen i detaljsignalet blir kassert. Fra perspektivet til bildekomprimering og rekonstruksjon, bør en wavelet oppfylle følgende kriterier mens du utfører bildekomprimering:

  • Å kunne forvandle mer originalt bilde til referansesignalet.
  • Høyeste fidelity rekonstruksjon basert på referansesignalet.
  • skal ikke føre til gjenstander i bildet rekonstruert fra referansesignalet alene.

Krav til skiftvarians og ringeatferdrediger

wavelet-bildekomprimeringssystem innebærer filtre og desimering, slik at Det kan beskrives som et lineært skiftvariantsystem. Et typisk wavelet transformasjonsdiagram vises nedenfor:

Typisk wavelet transformasjonsdiagram.png

transformasjonssystemet inneholder to analysefiltre (et lavpassfilter h 0 ( n ) {\displaystyle h_{0} (n)}

{\displaystyle h_{0} (n)}

og et høypassfilter h 1 (n) {\displaystyle h_{1} (n)}

 h_{1} (n)

), en desimeringsprosess, en interpolasjonsprosess og to syntesefiltre (g 0 (n) {\displaystyle g_{0} (n)}

{\displaystyle g_{0} (n)}

og g 1 (n) {\displaystyle g_{1} (n)}

{\displaystyle g_{1} (n)}

). Kompresjons-og rekonstruksjonssystemet involverer generelt lavfrekvente komponenter, som er analysefiltrene h 0 (n ) {\displaystyle h_{0} (n)}

{\displaystyle h_{0} (n)}

for bildekomprimering og syntesefiltrene g 0 (n) {\displaystyle g_{0} (n)}

{\displaystyle g_{0} (n)}

for rekonstruksjon. For å evaluere et slikt system, kan vi legge inn en impulsar (n-n i) {\displaystyle \ delta (n-n_{i})}

{\displaystyle \ delta (n-n_{i})}

og observere dens rekonstruksjon h ( n − n i) {\displaystyle h (n-n_{i})}

{\displaystyle h (n-n_{i})}

; den optimale wavelet er de som bringer minimum skiftvarians og sidelobe til h ( n − n i) {\displaystyle h (n-n_{i})}

{\displaystyle h (n-n_{i})}

. Selv om wavelet med streng skiftvarians ikke er realistisk, er det mulig å velge wavelet med bare liten skiftvarians. For eksempel kan vi sammenligne skiftvariansen av to filtre:

Biorthogonale filtre for wavelet-bildekomprimering
Lengde Filterkoeffisienter Regularitet
Wavelet filter 1 H0 9 .852699, .377402, -.110624, -.023849, .037828 1.068
G0 7 .788486, .418092, -.040689, -.064539 1.701
Wavelet filter 2 H0 6 .788486, .047699, -.129078 0.701
G0 10 .615051, .133389, -.067237, .006989, .018914 2.068

ved å observere impulsresponsene til de to filtrene, kan vi konkludere med at det andre filteret er mindre følsomt for inngangsstedet (dvs.det er mindre skiftvariant).

Et annet viktig tema for bildekomprimering og rekonstruksjon er systemets oscillerende oppførsel, noe som kan føre til alvorlige uønskede gjenstander i det rekonstruerte bildet. For å oppnå dette, bør wavelet filtre har en stor topp til sidelobe forhold.

Så langt har Vi diskutert om en-dimensjon transformasjon av bildekomprimeringssystemet. Dette problemet kan utvides til to dimensjoner, mens en mer generell term – skiftbar multiscale transforms – foreslas.

Avledning av impulsresponsrediger

som nevnt tidligere kan impulsrespons brukes til å evaluere bildekomprimering / rekonstruksjonssystem.

for inngangssekvensen x ( n ) = δ ( n − n i ) {\displaystyle x(n)=\delta (n-n_{i})}

{\displaystyle x (n)= \ delta (n-n_{i})}

, referansesignalet r 1 (n ) {\displaystyle r_{1} (n)}

{\displaystyle r_{1} (n)}

etter ett dekomponeringsnivå er x ( n ) ∗ h 0 (n ) {\displaystyle x (n)*h_{0} (n)}

{\displaystyle x (n) * h_{0} (n)}

går gjennom desimering med en faktor på to, mens h 0 (n ) {\displaystyle h_{0} (n)}

{\displaystyle h_{0} (n)}

er et lavpassfilter. Tilsvarende er det neste referansesignalet r 2 (n) {\displaystyle r_{2}(n)}

{\displaystyle r_{2} (n)}

oppnås ved r 1 (n ) ∗ h 0 (n) {\displaystyle r_{1} (n)*h_{0} (n)}

{\displaystyle r_{1} (n) * h_{0} (n)}

går gjennom desimering med en faktor på to. Etter l nivåer av dekomponering (og decimering) oppnås analyseresponsen ved å beholde en av hver 2 l {\displaystyle 2^{L}}

2^{L}

prøver: h a ( L) (n , n i ) = f h 0 ( L) (n − n i / 2 L ) {\displaystyle h_{A}^{(L)} (n,n_{i})=f_{h0}^{(L)} (n-n_{i}/2^{l})}

{\displaystyle h_{a}^{(L)}(n,n_{i})=f_{h0}^{(L)}(n-n_{i}/2^{l})}

.

på den annen side, for å rekonstruere signalet x (n), kan vi vurdere et referansesignal r L ( n ) = δ ( n − n j ) {\displaystyle r_{L}(n)=\delta (n-n_{j})}

{\displaystyle r_{L} (n)= \ delta (n-n_{j})}

. Hvis detaljene signaliserer d i (n) {\displaystyle d_{i}(n)}

{\displaystyle d_{i}(n)}

er lik null for 1 ≤ I ≤ l {\displaystyle 1\leq i\leq l}

{\displaystyle 1\leq i\leq L}

, deretter referansesignalet i forrige trinn ( L − 1 {\displaystyle L-1}

L-1

trinn) er r l − 1 ( n ) = g 0 ( n − 2 n j ) {\displaystyle r_{l-1}(n)=g_{0}(n-2n_{j})}

{\displaystyle r_{L-1}(n)=g_{0} (n-2n_{j})}

, som er oppnådd ved å interpolere r L (n) {\displaystyle r_{L}(n)}

{\displaystyle r_{l} (n)}

og sammenvikling med g 0 (n ) {\displaystyle g_{0} (n)}

{\displaystyle g_{0}(n)}

. På samme måte blir prosedyren iterert for å oppnå referansesignalet r (n) {\displaystyle r (n)}

r(n)

Ved trinn L − 2 , L − 3 , . . . . , 1 {\displaystyle l-2, l-3,….,1}

{\displaystyle L-2, l-3,...,1}

. Etter L iterasjoner beregnes synteseimpulsresponsen: h s ( L) (n , n i ) = f g 0 ( L) (n / 2 L − n j ) {\displaystyle h_{s}^{(L)} (n,n_{i})=f_{g0}^{(l)} (n/2^{l} – n_{j})}

{\displaystyle h_{s}^{(L)}(n,n_{i})=f_{g0}^{(L)}(n/2^{l} - n_{j})}

, som relaterer referansesignalet r L (n) {\displaystyle r_{L}(n)}

{\displaystyle r_{L} (n)}

og det rekonstruerte signalet.

for å oppnå det totale l-nivåanalysesystemet/syntesesystemet, kombineres analyse-og synteseresponsene som nedenfor:

h Og S ( L ) ( n , n ) = vann k f h 0 ( L ) ( k − n / 2 L ) f g 0 ( L ) ( n / 2 L − k ) {\displaystyle h_{MP}^{(L)}(n,n_{i})=\sum _{k}f_{h0}^{(l)}(k-n_{i}/2^{l})f_{g0}^{(L)}(n/2^{l}-k)}

{\displaystyle h_{MP}^{(L)}(n,n_{i})=\sum _{k}f_{h0}^{(L)}(k-n_{i}/2^{l})f_{g0}^{(l)}(n/2^{l}-k)}