Wavelet transform

a Wavelet compression az adattömörítés egy olyan formája, amely alkalmas a képtömörítésre (néha videó-és hangtömörítésre is). Figyelemre méltó implementációk a JPEG 2000, DjVu és ECW állóképek, CineForm, és a BBC Dirac. A cél az, hogy a képadatokat a lehető legkevesebb helyen tárolja egy fájlban. A hullámtömörítés lehet veszteségmentes vagy veszteséges. A Wavelet kódolás a diszkrét koszinusz transzformáció (DCT) kódolás egyik változata, amely hullámokat használ a DCT blokkalapú algoritmusa helyett.

Hullámtranszformáció alkalmazásával a hullámtömörítési módszerek alkalmasak tranziensek ábrázolására, például ütőhangok hangban, vagy nagyfrekvenciás komponensek kétdimenziós képekben, például Csillagok képe az éjszakai égbolton. Ez azt jelenti, hogy az adatjel tranziens elemeit kisebb mennyiségű információval lehet ábrázolni, mint ha valamilyen más transzformációt, például a szélesebb körben elterjedt diszkrét koszinusz transzformációt alkalmaznánk.

diszkrét wavelet transzformációt sikeresen alkalmaztak az elektrokardiográf (EKG) jelek tömörítésére ebben a munkában az egymást követő szívciklusok jeleinek megfelelő wavelet együtthatói közötti magas korrelációt lineáris előrejelzéssel alkalmazzuk.

a Wavelet tömörítés nem jó mindenféle adathoz: a tranziens jeljellemzők jó wavelet tömörítést jelentenek, míg a sima, periodikus jeleket jobban tömörítik más módszerekkel, különösen a hagyományos harmonikus tömörítéssel (frekvenciatartomány, mint a Fourier transzformációk és kapcsolódó).

Lásd egy x264 Fejlesztő naplója: a hullámok problémái (2010) a jelenlegi módszerek gyakorlati kérdéseinek megvitatására a hullámok használatával a videó tömörítéséhez.

MethodEdit

először egy wavelet transzformációt alkalmazunk. Ez annyi együtthatót eredményez, ahány Pixel van a képen (azaz még nincs tömörítés, mivel ez csak transzformáció). Ezek az együtthatók ezután könnyebben tömöríthetők, mivel az információ statisztikailag csak néhány együtthatóra koncentrálódik. Ezt az elvet transzformációs kódolásnak nevezzük. Ezt követően az együtthatókat kvantálják, a kvantált értékeket pedig entrópia kódolják és/vagy futáshossz kódolják.

a wavelet tömörítés néhány 1D és 2D alkalmazása a “wavelet lábnyomok”nevű technikát használja.

EvaluationEdit

követelmény a kép tömörítéséhez

a legtöbb természetes kép esetében az alacsonyabb frekvenciájú spektrum sűrűsége nagyobb. Ennek eredményeként az alacsony frekvenciájú jel (referenciajel) információja általában megmarad, míg a részletjelben lévő információ eldobásra kerül. A képtömörítés és a rekonstrukció szempontjából a waveletnek a következő feltételeknek kell megfelelnie a képtömörítés végrehajtása során:

  • hogy képes átalakítani több eredeti képet a referencia jel.
  • legmagasabb hűségű rekonstrukció a referenciajel alapján.A
  • nem vezethet a referenciajelből rekonstruált kép tárgyi elemeihez.

a shift variancia és a csengő viselkedés követelménye

a Wavelet képtömörítő rendszer szűrőket és tizedelést tartalmaz, így lineáris shift-variáns rendszerként írható le. Az alábbiakban egy tipikus wavelet transzformációs diagram látható:

tipikus wavelet transzformációs diagram.png

a transzformációs rendszer két elemző szűrőt tartalmaz (aluláteresztő szűrő h 0 (n ) {\displaystyle h_{0} (n)}

{\displaystyle h_{0}(n)}

és egy felüláteresztő szűrő h 1 ( n ) {\displaystyle h_{1}(n)}

h_{1} (n)

), egy decimációs folyamat, egy interpolációs folyamat és két szintézis szűrő (g 0 (n) {\displaystyle g_{0} (n)}

{\g_{0}(n)}

és g 1 ( n ) {\displaystyle g_{1} (n)}

{\displaystyle g_{1} (n)}

). A kompressziós és rekonstruáló rendszer általában alacsony frekvenciájú komponenseket tartalmaz, azaz a H 0 ( n ) {\displaystyle h_{0} (n)}

{\displaystyle h_{0} (n)}

képtömörítéshez és szintézis szűrőkhöz g 0 (n ) {\displaystyle g_{0} (n)}

{\displaystyle g_{0} (n)}

rekonstrukcióhoz. Egy ilyen rendszer kiértékeléséhez impulzust adhatunk meg ( n − n i ) {\displaystyle \delta (n-n_{i})}

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

és megfigyeljük annak rekonstrukcióját h(n − n i ) {\displaystyle h (n-n_{i})}

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

; az optimális hullám azok, amelyek minimális eltolódási varianciát és oldalgörbét hoznak h (n − n i) {\displaystyle h(n-n_{i})}

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

. Annak ellenére, hogy a szigorú eltolási varianciájú wavelet nem reális, csak enyhe eltolási varianciával lehet kiválasztani a wavelet-et. Összehasonlíthatjuk például két szűrő eltolási varianciáját:

Biortogonális szűrők a wavelet kép tömörítéséhez
Hossz szűrő együtthatók rendszeresség
Wavelet szűrő 1 H0 9 .852699, .377402, -.110624, -.023849, .037828 1.068
G0 7 .788486, .418092, -.040689, -.064539 1.701
Wavelet szűrő 2 H0 6 .788486, .047699, -.129078 0.701
G0 10 .615051, .133389, -.067237, .006989, .018914 2.068

a két szűrő impulzusválaszainak megfigyelésével arra a következtetésre juthatunk, hogy a második szűrő kevésbé érzékeny a bemeneti helyre (azaz kevésbé eltolódási változat).

a képtömörítés és-rekonstrukció másik fontos kérdése a rendszer oszcillációs viselkedése, amely súlyos nemkívánatos leletekhez vezethet a rekonstruált képen. Ennek elérése érdekében a wavelet szűrőknek nagynak kell lenniük csúcs a sidelobe arányhoz.

eddig a képtömörítő rendszer egydimenziós átalakításáról beszéltünk. Ez a kérdés két dimenzióra is kiterjeszthető, míg egy általánosabb kifejezést – a többlépcsős átalakításokat – javasolnak.

az impulzusválasz Levezetéseszerkesztés

mint korábban említettük, az impulzusválasz felhasználható a képtömörítési/rekonstrukciós rendszer értékelésére.

a bemeneti szekvencia x ( n ) = 6 ( N − N i ) {\displaystyle x(n)=\delta (n-n_{i})}

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

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

{\displaystyle r_{1} (n)}

egy bomlási szint után x ( n) h 0(n ) {\displaystyle x (n)*h_{0} (n)}

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

kétszeresére decimálódik, míg h 0 (n) {\displaystyle h_{0} (n)}

{\a displaystyle h_{0} (n)}

egy aluláteresztő szűrő. Hasonlóképpen, a következő r 2 ( n ) {\displaystyle r_{2} (n)}

{\a displaystyle r_{2} (n)}

értékét r 1 ( n) – nel kapjuk meg ( h 0(n ) {\displaystyle r_{1} (n)*h_{0} (n)}

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

kettes szorzóval decimálódik. L bomlási szint (és decimáció) után az analízis válaszát úgy kapjuk meg, hogy minden 2 L {\displaystyle 2^{L}}

2^{L}

minták: 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})}

.

másrészt az x(n) jel rekonstruálásához figyelembe vehetünk egy referenciajelet r L (n) = ^ (N − n j) {\displaystyle r_{L}(n)= \ delta (n-n_{j})}

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

. Ha a részletjel d i (n ) {\displaystyle d_{I} (n)}

{\a displaystyle d_{i}(n)}

egyenlő nullával az 1. számú ( 1\displaystyle i\leq L} {\displaystyle 1\leq i\leq L}

{\displaystyle 1\leq i\leq L}

esetében , akkor a referenciajel az előző szakaszban ( L − 1 {\displaystyle L-1}

L-1

szakasz) r l − 1 ( n ) = g 0(n − 2 n j) {\displaystyle R_{l-1}(n)=g_{0} (n-2n_{j})}

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

, amelyet R L ( n ) {\displaystyle r_{L} (n)}

{\displaystyle r_{L}(n)}

és G 0 ( n ) {\displaystyle g_{0} (n)}

{\displaystyle g_{0} (n)}

. Hasonlóképpen, az eljárást iterálva kapjuk meg az R ( n ) {\displaystyle r(n)}

r(n)

referenciajelet az L − 2 , L − 3 , . . . . ,1 {\displaystyle L-2, L-3,….,1}

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

. L iterációk után kiszámítjuk a szintézis impulzus válaszát: 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})}

, amely az r L ( n ) {\displaystyle R_{L} (n)}

{\displaystyle r_{L} (n)}

és a rekonstruált jel.

a teljes L szintű analízis/szintézis rendszer eléréséhez az analízis és a szintézis válaszokat az alábbiak szerint kombináljuk:

h és S ( L ) ( n , n ) = víz 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)}