Waveletová transformace

Wavelet kompresi je forma komprese dat, vhodný pro kompresi obrazu (někdy také komprese videa a komprese zvuku). Významné implementace jsou JPEG 2000, DjVu a ECW pro statické obrázky, CineForm a Dirac BBC. Cílem je ukládat obrazová data na co nejméně místa v souboru. Waveletová komprese může být buď bezeztrátová nebo ztrátová. Waveletové kódování je varianta kódování diskrétní kosinové transformace (DCT), která používá vlnky místo blokového algoritmu DCT.

pomocí vlnkové transformace jsou metody vlnkové komprese dostatečné pro reprezentaci přechodných jevů, jako jsou perkusní zvuky ve zvuku, nebo vysokofrekvenční komponenty ve dvourozměrných obrazech, například obraz hvězd na noční obloze. To znamená, že přechodné prvky datový signál může být reprezentován menší množství informací, než by tomu bylo v případě některých jiných transformovat, jako je rozšířenější diskrétní kosinové transformaci, byly použity.

Diskrétní vlnkové transformace byla úspěšně použita pro kompresi elektrokardiograf (EKG) signály V této práci, vysoké korelace mezi příslušné vlnkové koeficienty signálů po sobě následujících srdečních cyklů je využita využívající lineární predikce.

Wavelet komprese není dobré pro všechny druhy údaje: přechodové charakteristiky signálu znamenat dobré wavelet komprese, zatímco hladké, pravidelné signály jsou lépe komprimovaný pomocí jiných metod, zejména tradiční harmonické komprese (frekvenční doméně, jako Fourierova transformace a související).

Viz Deník x264 Vývojka: problémy s vlnky (2010) pro diskusi o praktických otázkách současné metody pomocí waveletů pro kompresi videa.

MethodEdit

nejprve se použije vlnková transformace. To produkuje tolik koeficientů, kolik je Pixelů v obraze (tj. zatím neexistuje komprese, protože se jedná pouze o transformaci). Tyto koeficienty pak mohou být komprimovány snadněji, protože informace je statisticky soustředěna v několika málo koeficientů. Tento princip se nazývá transformační kódování. Poté jsou koeficienty kvantovány a kvantované hodnoty jsou kódovány entropií a / nebo kódována délka běhu.

několik 1D a 2D aplikací waveletové komprese používá techniku zvanou „wavelet footprints“.

EvaluationEdit

Požadavek na obrázek compressionEdit

Pro nejvíce přírodní obrázky, spektra, hustotu nižší frekvence je vyšší. Výsledkem je, že informace o nízkofrekvenčním signálu (Referenční signál) jsou obecně zachovány, zatímco informace v detailním signálu jsou vyřazeny. Z pohledu komprese a rekonstrukce obrazu by vlnka měla při provádění komprese obrazu splňovat následující kritéria:

  • být schopen transformovat více originální obraz do referenčního signálu.
  • rekonstrukce nejvyšší věrnosti na základě referenčního signálu.
  • by nemělo vést k artefaktům v obraze rekonstruovaným pouze z referenčního signálu.

Požadavek na posun rozptylu a zvonění behaviorEdit

Wavelet komprese obrazu systém zahrnuje filtry a dělení, takže to může být popsán jako lineární posun-varianta systému. Níže je zobrazen typický vlnkový transformační diagram:

typický waveletový transformační diagram.png

transformace systému obsahuje dvě analýzy filtry (low-pass filtr h 0 ( n ) {\displaystyle h_{0}(n)}

{\displaystyle h_{0}(n)}

a high pass filtr h 1 ( n ) {\displaystyle h_{1}(n)}

h_{1}(n)

), proces decimace, interpolace proces, a dva syntézu filtrů ( g 0 ( n ) {\displaystyle g_{0}(n)}

{\displaystyle g_{0}(n)}

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

{\displaystyle g_{1}(n)}

). Komprese a rekonstrukce systém obecně zahrnuje nízkofrekvenční složky, které je analýza filtrů h 0 ( n ) {\displaystyle h_{0}(n)}

{\displaystyle h_{0}(n)}

pro kompresi obrazu a syntéza filtrů g 0 ( n ) {\displaystyle g_{0}(n)}

{\displaystyle g_{0}(n)}

pro obnovu. Hodnotit takový systém, můžeme vstupní impuls δ ( n − n i ) {\displaystyle \delta (n-n_{i})}

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

a sledovat jeho rekonstrukce h ( n − n i ) {\displaystyle h(n-n_{i})}

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

; optimální vlnky jsou ti, kteří přinášejí minimální posun rozptylu a sidelobe k h ( n − n i ) {\displaystyle h(n-n_{i})}

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

. I když wavelet s přísnou odchylkou posunu není realistický, je možné zvolit wavelet s pouze nepatrnou odchylkou posunu. Například můžeme porovnat posun rozptyl dva filtry:

Biorthogonal filtrů pro vlnkové komprese obrazu
Délka Filtr koeficienty Pravidelnost
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

pozorováním impulsní odezvy ze dvou filtrů, můžeme konstatovat, že druhý filtr je méně citlivý na vstupní místo (tj. je méně shift varianta).

dalším důležitým problémem pro kompresi a rekonstrukci obrazu je oscilační chování systému, které může vést k závažným nežádoucím artefaktům v rekonstruovaném obrazu. K dosažení tohoto cíle by vlnkové filtry měly mít velký poměr špiček a stran.

dosud jsme diskutovali o jednorozměrné transformaci systému komprese obrazu. Tento problém lze rozšířit na dvě dimenze, zatímco obecnější termín – shiftable multiscale transforms – je navržen.

odvození impulsní odpovědieedit

jak již bylo zmíněno, impulsní odezva může být použita k vyhodnocení systému komprese/rekonstrukce obrazu.

Pro vstupní posloupnost x ( n ) = δ ( n − n i ) {\displaystyle x(n)=\delta (n-n_{i})}

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

, referenční signál r 1 ( n ) {\displaystyle r_{1}(n)}

{\displaystyle r_{1}(n)}

po jednu úroveň rozkladu je x ( n ) ∗ h 0 ( n ) {\displaystyle x(n)*h_{0}(n)}

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

jde přes decimace faktorem dva, zatímco h 0 ( n ) {\displaystyle h_{0}(n)}

{\displaystyle h_{0}(n)}

je low-pass filtr. Podobně, další referenční signál r 2 ( n ) {\displaystyle r_{2}(n)}

{\displaystyle r_{2}(n)}

je získána r 1 ( n ) ∗ h 0 ( n ) {\displaystyle r_{1}(n)*h_{0}(n)}

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

jde přes decimace faktorem dva. Po l úrovních rozkladu (a decimace) se odpověď analýzy získá zachováním jedné z každých 2 L {\displaystyle 2^{L}}

2^{L}

vzorky: h ( L ) ( n , n ) = 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})}

.

Na druhou stranu, k rekonstrukci signálu x(n), můžeme považovat za referenční signál r L ( n ) = δ ( n − n j ) {\displaystyle r_{L}(n)=\delta (n-n_{j})}

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

. Pokud zprávu signály d ( n ) {\displaystyle d_{i}(n)}

{\displaystyle d_{i}(n)}

jsou rovna nule pro 1 ≤ i ≤ L {\displaystyle 1\leq i\leq L}

{\displaystyle 1\leq i\leq L}

, pak referenční signál na předchozí fáze ( L − 1 {\displaystyle L-1}

L-1

fáze) je 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})}

, což je získaná interpolací r L ( n ) {\displaystyle r_{L}(n)}

{\displaystyle r_{L}(n)}

a convoluting s g 0 ( n ) {\displaystyle g_{0}(n)}

{\displaystyle g_{0}(n)}

. Podobně, postup se opakoval pro získání referenční signál r ( n ) {\displaystyle r(n)}

r(n)

ve stupni L − 2 , L − 3 , . . . . , 1 {\displaystyle L-2,L-3,….,1}

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

. Po iteracích L se vypočítá impulsní odezva syntézy: h s ( L ) ( n , n ) = 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})}

, které se vztahuje referenční signál r L ( n ) {\displaystyle r_{L}(n)}

{\displaystyle r_{L}(n)}

a rekonstruovaného signálu.

pro získání celkového systému analýzy / syntézy úrovně L jsou odpovědi analýzy a syntézy kombinovány níže:

h A S ( L ) ( n , n ) = voda, 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)}