Wavelet-Transformation

Die Wavelet-Komprimierung ist eine Form der Datenkomprimierung, die sich gut für die Bildkomprimierung eignet (manchmal auch Videokomprimierung und Audiokomprimierung). Bemerkenswerte Implementierungen sind JPEG 2000, DjVu und ECW für Standbilder, CineForm und Dirac der BBC. Ziel ist es, Bilddaten auf möglichst wenig Platz in einer Datei zu speichern. Die Wavelet-Komprimierung kann entweder verlustfrei oder verlustbehaftet sein. Die Wavelet-Codierung ist eine Variante der diskreten Cosinustransformationscodierung (DCT), die Wavelets anstelle des blockbasierten Algorithmus von DCT verwendet.

Unter Verwendung einer Wavelet-Transformation eignen sich die Wavelet-Kompressionsverfahren zur Darstellung von Transienten, wie z.B. Percussion-Sounds in Audio, oder hochfrequenten Komponenten in zweidimensionalen Bildern, beispielsweise einem Bild von Sternen an einem Nachthimmel. Dies bedeutet, dass die transienten Elemente eines Datensignals durch eine geringere Informationsmenge dargestellt werden können, als dies der Fall wäre, wenn eine andere Transformation, wie die weiter verbreitete diskrete Cosinustransformation, verwendet worden wäre.

Die diskrete Wavelet-Transformation wurde erfolgreich zur Kompression von EKG-Signalen eingesetzt In dieser Arbeit wird die hohe Korrelation zwischen den entsprechenden Wavelet-Koeffizienten von Signalen aufeinanderfolgender Herzzyklen unter Verwendung linearer Vorhersage genutzt.

Die Wavelet-Komprimierung eignet sich nicht für alle Arten von Daten: Transiente Signaleigenschaften bedeuten eine gute Wavelet-Komprimierung, während glatte, periodische Signale mit anderen Methoden besser komprimiert werden, insbesondere mit der herkömmlichen harmonischen Komprimierung (Frequenzbereich, wie durch Fourier-Transformationen und verwandte).

Siehe Tagebuch eines x264-Entwicklers: Die Probleme mit Wavelets (2010) zur Diskussion praktischer Fragen aktueller Methoden zur Verwendung von Wavelets zur Videokomprimierung.

MethodEdit

Zuerst wird eine Wavelet-Transformation angewendet. Dies erzeugt so viele Koeffizienten, wie Pixel im Bild vorhanden sind (dh es gibt noch keine Komprimierung, da es sich nur um eine Transformation handelt). Diese Koeffizienten können dann leichter komprimiert werden, da die Informationen statistisch auf nur wenige Koeffizienten konzentriert sind. Dieses Prinzip wird als Transformationscodierung bezeichnet. Danach werden die Koeffizienten quantisiert und die quantisierten Werte entropiecodiert und/oder lauflängencodiert.

Einige 1D- und 2D-Anwendungen der Wavelet-Komprimierung verwenden eine Technik, die als „Wavelet-Footprints“ bezeichnet wird.

EvaluationEdit

Anforderung an die Bildkomprimierungedit

Für die meisten natürlichen Bilder ist die Spektraldichte der niedrigeren Frequenz höher. Dadurch bleiben im Allgemeinen Informationen des Niederfrequenzsignals (Referenzsignal) erhalten, während die Informationen des Detailsignals verworfen werden. Aus Sicht der Bildkomprimierung und -rekonstruktion sollte ein Wavelet bei der Bildkomprimierung die folgenden Kriterien erfüllen:

  • In der lage zu verwandeln mehr original bild in die referenz signal.
  • Rekonstruktion mit höchster Wiedergabetreue basierend auf dem Referenzsignal.
  • Sollte nicht zu Artefakten in dem aus dem Referenzsignal allein rekonstruierten Bild führen.

Anforderung an Verschiebungsvarianz und Klingeln behaviorEdit

Wavelet-Bildkomprimierungssystem beinhaltet Filter und Dezimierung, so kann es als ein lineares Shift-Variant-System beschrieben werden. Ein typisches Wavelet-Transformationsdiagramm wird unten angezeigt:

 Typisches Wavelet-Transformationsdiagramm.png

Das Transformationssystem enthält zwei Analysefilter (ein Tiefpassfilter h 0 (n ) {\displaystyle h_{0}(n)}

{\ displaystyle h_{0}(n)}

und ein Hochpassfilter h1(n ) {\displaystyle h_{1}(n)}

h_{1}(n)

), ein Dezimierungsverfahren, ein Interpolationsverfahren und zwei Synthesefilter (g0 (n ) {\displaystyle g_{0}(n))}

{\ displaystyle g_{0}(n)}

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

{\ displaystyle g_{1}(n)}

). Das Kompressions- und Rekonstruktionssystem umfasst im Allgemeinen niederfrequente Komponenten, dh die Analysefilter h 0 ( n ) {\displaystyle h_{0}(n)}

{\ displaystyle h_{0}(n)}

für die Bildkompression und die Synthesefilter g 0 (n ) {\displaystyle g_{0}(n)}

{\ displaystyle g_{0}(n)}

für die Rekonstruktion. Um ein solches System zu bewerten, können wir einen Impuls δ ( n − n i ) {\displaystyle \delta (n-n_{i})}

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

und beobachte seine Rekonstruktion h ( n − n i ) {\displaystyle h(n-n_{i})}

{\ displaystyle deutschland})}

; Das optimale Wavelet sind diejenigen, die minimale Verschiebungsvarianz und Seitenkeule zu h (n – n i ) {\displaystyle h(n-n_{i})}

{\ displaystyle deutschland})}

. Obwohl Wavelet mit strikter Verschiebungsvarianz nicht realistisch ist, ist es möglich, Wavelet mit nur geringer Verschiebungsvarianz auszuwählen. Zum Beispiel können wir die Verschiebungsvarianz von zwei Filtern vergleichen:

Biorthogonale Filter für die Wavelet-Bildkomprimierung
Länge Filterkoeffizienten Regelmäßigkeit
Waveletfilter 1 H0 9 .852699, .377402, -.110624, -.023849, .037828 1.068
G0 7 .788486, .418092, -.040689, -.064539 1.701
Waveletfilter 2 H0 6 .788486, .047699, -.129078 0.701
G0 10 .615051, .133389, -.067237, .006989, .018914 2.068

Durch Beobachtung der Impulsantworten der beiden Filter können wir schließen, dass das zweite Filter weniger empfindlich auf den Eingangsort reagiert (d. H. Es ist weniger verschiebbar).

Ein weiteres wichtiges Problem bei der Bildkomprimierung und -rekonstruktion ist das Schwingungsverhalten des Systems, das zu schweren unerwünschten Artefakten im rekonstruierten Bild führen kann. Um dies zu erreichen, sollten die Wavelet-Filter ein großes Peak-zu-Sidelobe-Verhältnis aufweisen.

Bisher haben wir über die eindimensionale Transformation des Bildkomprimierungssystems diskutiert. Dieses Problem kann auf zwei Dimensionen ausgedehnt werden, während ein allgemeinerer Begriff – verschiebbare Multiskalentransformationen – vorgeschlagen wird.

Ableitung der Impulsantwort

Wie bereits erwähnt, kann die Impulsantwort zur Auswertung des Bildkompressions- / Rekonstruktionssystems verwendet werden.

Für die Eingangsfolge x ( n ) = δ ( n − ni ) {\displaystyle x(n)=\delta (n-n_{i})}

{\ {\displaystyle {\displaystyle {\displaystyle {}}}})}

, das Referenzsignal r 1 (n ) {\displaystyle r_{1}(n)}

{\ displaystyle r_{1}(n)}

nach einer Stufe der Zerlegung ist x ( n ) ∗ h 0 ( n ) {\displaystyle x(n)*h_{0}(n)}

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

durchläuft eine Dezimierung um den Faktor zwei, während h 0 (n ) {\displaystyle h_{0}(n)}

{\ displaystyle h_{0}(n)}

ist ein Tiefpassfilter. In ähnlicher Weise wird das nächste Referenzsignal r 2 ( n ) {\displaystyle r_{2}(n)}

{\ displaystyle r_{2}(n)}

ergibt sich aus r 1 ( n ) ∗ h 0 ( n ) {\displaystyle r_{1}(n)*h_{0}(n)}

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

durchläuft eine Dezimierung um den Faktor zwei. Nach L Zerlegungsstufen (und Dezimierung) wird die Analyseantwort erhalten, indem einer von 2 L {\displaystyle 2 ^ {L} beibehalten wird}}

2^{ L}

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

.

Auf der anderen Seite zu rekonstruieren, das signal x(n), können wir betrachten ein Referenzsignal r L ( n ) = δ ( n − j ) {\displaystyle r_{L}(n)=\delta (n-n_{j})}

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

. Wenn die Detailsignale d i (n ) {\displaystyle d_{i}(n)}

{\ displaystyle d_{i}(n)}

sind gleich Null für 1 ≤ i ≤ L {\displaystyle 1\leq i\leq L}

{\displaystyle 1\leq i\leq L}

, dann ist das Referenzsignal in der vorherigen Stufe ( L − 1 {\displaystyle L-1}

L-1

Stufe) ist 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})}

, das ergibt sich durch Interpolation von r L (n ) {\displaystyle r_{L}(n)}

{\ displaystile r_{L}(n)}

und Faltung mit g 0 (n ) {\displaystyle g_{0}(n)}

{\ displaystyle g_{0}(n)}

. In ähnlicher Weise wird die Prozedur wiederholt, um das Referenzsignal r (n ) {\displaystyle r(n)}

r(n)

in Stufe L − 2, L − 3, . . . . , 1 {\displaystyle L-2,L-3,….,1}

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

. Nach L Iterationen wird die Syntheseimpulsantwort berechnet: 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})}

, welches das Referenzsignal r L (n ) {\displaystyle r_{L}(n)}

{\ displaystyle r_{L}(n)}

und das rekonstruierte Signal.

Um das gesamte L-Level-Analyse- / Synthesesystem zu erhalten, werden die Analyse- und Syntheseantworten wie folgt kombiniert:

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

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