Wavelet-transformatie

Wavelet-compressie is een vorm van datacompressie die geschikt is voor beeldcompressie (soms ook videocompressie en audiocompressie). Opmerkelijke implementaties zijn JPEG 2000, DjVu en ECW voor still images, CineForm, en de BBC ‘ s Dirac. Het doel is om beeldgegevens op te slaan in zo weinig mogelijk ruimte in een bestand. Wavelet-compressie kan verliesloos of verliesloos zijn. Wavelet codering is een variant van discrete cosinustransformatiecodering (DCT) die wavelets gebruikt in plaats van DCT ‘ s blokgebaseerde algoritme.

met behulp van een golfettransformatie zijn de golfetcompressiemethoden geschikt voor het weergeven van transiënten, zoals percussiegeluiden in audio, of hoogfrequente componenten in tweedimensionale afbeeldingen, bijvoorbeeld een afbeelding van sterren aan een nachtelijke hemel. Dit betekent dat de transiënte elementen van een datasignaal kunnen worden weergegeven door een kleinere hoeveelheid informatie dan het geval zou zijn als een andere transformatie, zoals de meer verspreide discrete cosinustransformatie, was gebruikt.

Discrete wavelettransformatie is met succes toegepast voor de compressie van elektrocardiografische (ECG) signalen In dit werk wordt de hoge correlatie tussen de overeenkomstige wavelet-coëfficiënten van signalen van opeenvolgende cardiale cycli gebruikt met behulp van lineaire voorspelling.Wavelet-compressie is niet goed voor alle soorten gegevens: transiënte signaalkenmerken betekenen een goede Golfet-compressie, terwijl vloeiende periodieke signalen beter gecomprimeerd worden door andere methoden, met name traditionele harmonische compressie (frequentiedomein, zoals door Fourier-transformaties en aanverwante).

zie Dagboek van een x264 Ontwikkelaar: the problems with wavelets (2010) voor bespreking van praktische problemen van huidige methoden die wavelets gebruiken voor videocompressie.

MethodEdit

eerst wordt een golfettransformatie toegepast. Dit produceert zo veel coëfficiënten als er pixels in de afbeelding (dat wil zeggen, Er is nog geen compressie omdat het slechts een transformatie). Deze coëfficiënten kunnen dan gemakkelijker worden gecomprimeerd omdat de informatie statistisch is geconcentreerd in slechts een paar coëfficiënten. Dit principe heet transformeren codering. Daarna worden de coëfficiënten gekwantiseerd en de gekwantiseerde waarden worden entropie gecodeerd en / of run lengte gecodeerd.

enkele 1D-en 2D-toepassingen van wavelet-compressie gebruiken een techniek genaamd “wavelet footprints”.

EvaluationEdit

Requirement for image compressionEdit

voor de meeste natuurlijke beelden is de spectrumdichtheid met een lagere frequentie hoger. Als gevolg hiervan wordt informatie over het lage frequentiesignaal (Referentiesignaal) over het algemeen bewaard, terwijl de informatie in het detailsignaal wordt weggegooid. Vanuit het perspectief van beeldcompressie en reconstructie moet een wavelet aan de volgende criteria voldoen bij het uitvoeren van beeldcompressie:

  • in staat zijn om meer origineel beeld te transformeren in het referentiesignaal.
  • reconstructie met de hoogste getrouwheid op basis van het referentiesignaal.
  • mag niet leiden tot artefacten in het beeld dat alleen met het referentiesignaal is gereconstrueerd.

vereiste voor shiftvariantie en belgedragdit

Wavelet-beeldcompressiesysteem omvat filters en decimering, zodat het kan worden omschreven als een lineair shiftvariantsysteem. Een typisch wavelet transformatiediagram wordt hieronder weergegeven:

golfhoogte (cm): 30-70 cmpng

De transformatie systeem bevat twee analyse filters (een low pass filter h 0 ( n ) {\displaystyle h_{0}(n)}

{\displaystyle h_{0}(n)}

en een high-pass filter h 1 ( n ) {\displaystyle h_{1}(n)}

h_{1}(n)

), een decimering proces, een interpolatie proces, en twee synthese filters ( g 0 ( n ) {\displaystyle g_{0}(n)}

{\displaystyle g_{0}(n)}

en g-1 ( n ) {\displaystyle g_{1}(n)}

{\displaystyle g_{1}(n)}

). Het compressie – en reconstructie-systeem omvat over het algemeen laagfrequente componenten, die de analysefilters h 0 ( n ) {\displaystyle h_{0} (n)}

{\displaystyle h_{0} (n)}

voor beeldcompressie en de synthesefilters g 0 (n ) {\displaystyle g_{0} (n)}

{\displaystyle g_{0} (n)}

voor reconstructie. Evalueren van zo ‘ n systeem, kunnen we de ingang een impuls δ ( n − n-i ) {\displaystyle \delta (n-n_{i})}

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

en observeer de wederopbouw h ( n − n-i ) {\displaystyle h(n-n_{i})}

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

; De optimale wavelet zijn degenen die met minimale verschuiving van de variantie en sidelobe h ( n − n-i ) {\displaystyle h(n-n_{i})}

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

. Hoewel wavelet met een strikte shiftvariantie niet realistisch is, is het mogelijk om wavelet te selecteren met slechts een lichte shiftvariantie. We kunnen bijvoorbeeld de shiftvariantie van twee filters vergelijken:

Biorthogonale filters voor wavelet-afbeeldingscompressie
lengte Filtercoëfficiënten regelmatigheid
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

door het observeren van de impulsreacties van de twee filters, kunnen we concluderen dat het tweede filter minder gevoelig is voor de invoerlocatie (dat wil zeggen dat het minder shift variant is).

een ander belangrijk probleem voor beeldcompressie en reconstructie is het oscillerende gedrag van het systeem, dat kan leiden tot ernstige ongewenste artefacten in het gereconstrueerde beeld. Om dit te bereiken, moeten de wavelet-filters een grote piek-tot sidelobe-verhouding hebben.

tot nu toe hebben we gesproken over een eendimensionale transformatie van het beeldcompressiesysteem. Deze kwestie kan worden uitgebreid tot twee dimensies, terwijl een meer algemene term – shiftable multiscale transforms – wordt voorgesteld.

afleiding van impulsresponseedit

zoals eerder vermeld, kan impulsrespons worden gebruikt om het beeldcompressie – /reconstructie-systeem te evalueren.

Voor de input reeks x ( n ) = δ ( n − n-i ) {\displaystyle x(n)=\delta (n-n_{i})}

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

, de referentie signaal r 1 ( n ) {\displaystyle r_{1}(n)}

{\displaystyle r_{1}(n)}

na een mate van afbraak is x ( n ) ∗ h 0 ( n ) {\displaystyle x(n)*h_{0}(n)}

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

gaat door decimering met een factor twee, terwijl h 0 ( n ) {\displaystyle h_{0}(n)}

{\displaystyle h_{0}(n)}

is een low-pass filter. Ook het volgende Referentiesignaal r 2 (n ) {\displaystyle r_{2} (n)}

{\displaystyle r_{2} (n)}

wordt verkregen door r 1 ( n ) ∗ h 0(n ) {\displaystyle r_{1} (n)*h_{0} (n)}

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

gaat door decimering met een factor twee. Na l-niveaus van ontleding (en decimering) wordt de analyserespons verkregen door één op elke 2 L te behouden {\displaystyle 2^{L}}

2^{L}

monsters: 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})}

.

aan de andere kant, om het signaal x(n) te reconstrueren, kunnen we een Referentiesignaal r L ( n ) = δ ( N − N j ) {\displaystyle r_{L}(n)=\delta (n-n_{j})}

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

. Als de detail-signalen d i ( n ) {\displaystyle d_{i}(n)}

{\displaystyle d_{i}(n)}

gelijk zijn aan nul voor 1 ≤ i ≤ L {\displaystyle 1\leq i\leq L}

{\displaystyle 1\leq i\leq L}

, dan de referentie-signaal in de vorige fase ( L − 1 {\displaystyle L-1}

L-1

fase) is 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})}

, die wordt verkregen door te interpoleren r L ( n ) {\displaystyle r_{L}(n)}

{\displaystyle r_{L} (n)}

en convoluteren met g 0 (n ) {\displaystyle g_{0} (n)}

{\displaystyle g_{0}(n)}

. Op dezelfde manier wordt de procedure herhaald om het referentiesignaal r ( n ) {\displaystyle r(n)}

r(n)

in fase L − 2 , L − 3, te verkrijgen . . . . ,1 {\displaystyle L-2, L-3,….,1}

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

. Na l iteraties wordt de synthese impulsrespons berekend: 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})}

, wat betreft de referentie signaal r L ( n ) {\displaystyle r_{L}(n)}

{\displaystyle r_{L}(n)}

en de gereconstrueerde signaal.

om het totale l-niveau analyse/synthesesysteem te verkrijgen, worden de analyse-en synthesereacties gecombineerd zoals hieronder beschreven.:

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

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