Haar-Wavelet

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Das Haar-Wavelet ist das erste in der Literatur bekannt gewordene Wavelet und wurde 1909 von Alfréd Haar vorgeschlagen.[1] Es ist außerdem das einfachste bekannte Wavelet und kann aus der Kombination zweier Rechteckfunktionen gebildet werden.

Vorteilhaft am Haar-Wavelet ist die einfache Implementierbarkeit der entsprechenden schnellen Wavelet-Transformation (FWT). Der Nachteil des Haar-Wavelets ist, dass es unstetig und daher auch nicht differenzierbar ist.

Haar-Wavelet

Die Funktionen der Haar-Wavelet-Basis[Bearbeiten]

Skalierungsfunktion[Bearbeiten]

Die Skalierungsfunktion bzw. „Vater-Wavelet“-Funktion der Haar-Wavelet-Basis ist die Indikatorfunktion des Intervalls [0,1).

\phi(x)=\chi_{[0,1)}(x)=\begin{cases}1&0\le x<1\\0&\mbox{sonst}\end{cases}

Sie erfüllt die Funktionalgleichung

\phi(x)=\phi(2x)+\phi(2x-1)=\sqrt2\left(a_0\phi(2x)+a_1\phi(2x-1)\right) mit a_0=a_1=\frac1{\sqrt2}.

Waveletfunktion[Bearbeiten]

Die Waveletfunktion ist die „zusammengeschobene“ Differenz zweier aufeinanderfolgender Skalierungsfunktionen:

\psi(x)=\phi(2x)-\phi(2x-1)=\sqrt2\left(b_0\phi(2x)+b_1\phi(2x-1)\right)=\begin{cases}1&0\le x<1/2\\-1&1/2\le x<1\\0&\mbox{sonst}\end{cases},

wobei (b_0,b_1)=(\tfrac1{\sqrt2},-\tfrac1{\sqrt2}).

Die Schreibweise mit Vorfaktor sorgt dafür, dass die Matrix


H=\begin{pmatrix}a_0&a_1\\b_0&b_1\end{pmatrix}
=\frac1{\sqrt2}\,\begin{pmatrix}1&1\\1&-1\end{pmatrix}

eine orthogonale Matrix ist. Dies ist Teil der Bedingungen, die orthogonale Wavelets erfordern.

Multiskalenanalyse[Bearbeiten]

Diese Funktion erzeugt die Multiskalenanalyse der Stufenfunktionen. In dieser wird jeder Funktion f \in L^2(\R) mit „endlicher Energie“ auf jeder Skala J\in\Z die folgende Projektion zugewiesen:

f\mapsto P_J(f) mit 
P_J(f)(x)=\sum_{n\in\Z}\left(\int_0^1 f\left(2^{-J}(n+t)\right)\,\mathrm dt\right)\cdot\phi(2^Jx-n)
.

Die Differenz zwischen zwei Skalen lässt sich dann durch das „Mutter-Wavelet“ bzw. die eigentliche Waveletfunktion ausdrücken:


P_{J+1}(f)(x)-P_J(f)(x)
=\sum_{n\in\Z}\left(\int_0^1 f\left(2^{-J-1}(2n+t)\right)\, \mathrm dt-\int_0^1 f\left(2^{-J-1}(2n+1+t) \right)\, \mathrm dt\right)\cdot\psi(2^Jx-n)
.

Mit \phi_{j,k}(x)={\sqrt2\,}^j\phi({2\,}^jx-k) und \psi_{j,k}(x)={\sqrt2\,}^j\psi({2\,}^jx-k) als Funktionen im Hilbertraum L^2(\R) gilt

  • alle diese Funktionen haben L^2-Norm 1,
  • \phi_{j,k} ist senkrecht zu \phi_{j,l} bei k≠l,
  • \psi_{i,k} ist senkrecht zu \psi_{j,l} bei i≠j oder k≠l,
  • die \psi_{i,k} bilden eine Hilbertbasis von L^2(\R).

Schnelle Haar-Wavelet-Transformation[Bearbeiten]

Gegeben sei ein diskretes Signal f, welches durch eine endliche oder quadratsummierbare Folge

f=(\dots,f_{-2},f_{-1},f_0,f_1,f_2,f_3,\dots)

dargestellt ist. Ihm ist als kontinuierliches Signal die Treppenfunktion

F(x) = \dots+ f_{-1}\phi_{0,-1}(x)+ f_0\phi_{0,0}(x)+ f_1\phi_{0,1}(x)+ f_2\phi_{0,2}(x)+ \dots

zugeordnet.

Vorwärtstransformation[Bearbeiten]

Aus dem diskreten Signal wird durch paarweises „Senkrechtstellen“ ein vektorwertiges Signal, die sogenannte Polyphasenzerlegung, erzeugt:

f_p=\left(\dots,\left({f_{-2}\atop f_{-1}}\right),\left({f_0\atop f_1}\right),\left({f_2\atop f_3}\right),\dots\right).

Dieser wird nun gliedweise mit der Haar-Transformationsmatrix H:=\frac1{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix} multipliziert

\left({s\atop d}\right)=:Hf_p=\left(\dots,\left({s_{-1}\atop d_{-1}}\right),\left({s_0\atop d_0}\right),\left({s_1\atop d_1}\right),\dots\right),

dabei ist s_k=\frac{f_{2k+1}+f_{2k}}{\sqrt2} und d_k=\frac{f_{2k+1}-f_{2k}}{\sqrt2}.

Rücktransformation[Bearbeiten]

Wir erhalten ein Mittelwertsignal s und ein Differenzsignal d, aus denen durch einfache Umkehr der vorgenommenen Schritte das Ausgangssignal zurückgewonnen werden kann:

f_{2k}=\frac{s_k-d_k}{\sqrt2} und f_{2k+1}=\frac{s_k+d_k}{\sqrt2}

Ist die Schwankung von Glied zu Glied im Ausgangssignal durch ein kleines ε>0 beschränkt, so ist die Schwankung in s durch √2⋅ε beschränkt, also immer noch klein, die Größe der Glieder in d jedoch durch ε/√2. Ein glattes Signal wird also in ein immer noch glattes Signal halber Abtastfrequenz und in ein kleines Differenzsignal zerlegt. Dies ist der Ausgangspunkt für die Wavelet-Kompression.

Rekursive Filterbank[Bearbeiten]

Wir können den Vorgang wiederholen, indem wir s zum Ausgangssignal erklären und mit obigem Vorgehen zerlegen, wir erhalten eine Folge von Zerlegungen s^0:=f,\; (s^1,d^1),\; (s^2, d^2, d^1),\;\dots,(s^T,d^T,\dots,d^2,d^1), s^k hat ein 2^k-tel der ursprünglichen Abtastfrequenz und eine durch 2k/2⋅ε beschränkte Schwankung, d^k hat ebenfalls ein 2^k-tel der ursprünglichen Abtastfrequenz und durch 2k/2−1⋅ε beschränkte Glieder.

Interpretation[Bearbeiten]

Als diskretes Signal f wird meist eine reelle Folge (fn) über Z mit endlicher Energie betrachtet,

\sum_{n=-\infty}^\infty\,|f_n|^2 < \infty.

Unter diesen gibt es einige sehr einfache Folgen δn, Kronecker- oder Dirac-Delta genannt, eine für jedes n\inZ. Für deren Folgenglieder gilt, dass das jeweils n-te den Wert 1 hat, \delta^n{}_n=1, und alle anderen den Wert 0, \delta^n{}_k=0 bei k≠n.

Jetzt können wir jedes Signal trivial als Reihe im Signalraum schreiben

f=\sum_{n=-\infty}^\infty\,f_n\cdot\delta^n

oder als Summe zweier Reihen

f=\sum_{n=-\infty}^\infty\,f_{2n}\cdot\delta^{2n}
         +\sum_{n=-\infty}^\infty\,f_{2n+1}\cdot\delta^{2n+1}.

In vielen praktisch relevanten Signalklassen, z. B. bei überabgetasteten bandbeschränkten kontinuierlichen Signalen, sind Werte benachbarter Folgenglieder auch benachbart, d. h. im Allgemeinen liegen f2n und f2n+1 dicht beisammen, relativ zu ihrem Absolutbetrag. Dies wird in der obigen Reihen aber überhaupt nicht berücksichtigt. In Mittelwert und Differenz von f2n und f2n+1 käme deren Ähnlichkeit stärker zum Ausdruck, der Mittelwert ist beiden Werten ähnlich und die Differenz klein. Benutzen wir die Identität

ac+bd=\frac12 (a+b)(c+d)+\frac12 (a-b)(c-d)

um benachbarte Glieder der ersten Reihe bzw. korrespondierende Glieder in der zweiten Zerlegung zusammenzufassen in (skalierten) Mittelwerten und Differenzen:

f=\sum_{n=-\infty}^\infty\,
            \frac{f_{2n}+f_{2n+1}}{\sqrt2}\cdot\frac{\delta^{2n}+\delta^{2n+1}}{\sqrt2}
        +\sum_{n=-\infty}^\infty\,
            \frac{f_{2n}-f_{2n+1}}{\sqrt2}\cdot\frac{\delta^{2n}-\delta^{2n+1}}{\sqrt2}

Jetzt führen wir neue Bezeichnungen ein:

  • die neuen Basisfolgen
a^n:=\frac{\delta^{2n}+\delta^{2n+1}}{\sqrt2} und b^n:=\frac{\delta^{2n}-\delta^{2n+1}}{\sqrt2}
  • mit den neuen transformierten Koeffizienten
s_n:=\frac{f_{2n}+f_{2n+1}}{\sqrt2} und d_n:=\frac{f_{2n}-f_{2n+1}}{\sqrt2}.

Wir erhalten somit die Zerlegung der Haar-Wavelet-Transformation

f=\sum_{n=-\infty}^\infty\,s_n\cdot a^n+\sum_{n=-\infty}^\infty\,d_n\cdot b^n.

und mittels des unendlichen euklidischen Skalarproduktes können wir schreiben

s_n= \langle f,\,a^n \rangle und d_n= \langle f,\,b^n \rangle.

Die letzten drei Identitäten beschreiben eine „Conjugate Quadrature Filterbank (CQF)“, welche so auch für allgemeinere Basisfolgen an und bn definiert werden kann. Die Basisfolgen an entstehen alle durch Verschiebung um das jeweilige 2n aus a0, die bn durch Verschiebung aus b0. Weiteres dazu im Artikel Daubechies-Wavelets.

Nun enthält die Folge s=(sn) eine geglättete Version des Ausgangssignals bei halber Abtastrate, man kann also auch s nach dieser Vorschrift zerlegen und dieses Vorgehen über eine bestimmte Tiefe rekursiv fortsetzen. Aus einem Ausgangssignal s0:=f werden also nacheinander die Tupel

(s^1,d^1), (s^2,d^2,d^1), (s^3,d^3,d^2,d^1), …

Ist f endlich, also fast überall Null, mit Länge N, dann haben die Folgen in der Zerlegung im Wesentlichen, d. h. bis auf additive Konstanten, die Längen

\left( \tfrac N2, \tfrac N 2 \right), \left( \tfrac N4, \tfrac N4, \tfrac N2 \right), \left( \tfrac N8, \tfrac N8, \tfrac N4, \tfrac N2 \right), …

so dass die Gesamtzahl wesentlicher Koeffizienten erhalten bleibt. Die Folgen in der Zerlegung eignen sich meist besser zur Weiterverarbeitung wie Kompression oder Suche nach bestimmtem Merkmalen als das rohe Ausgangssignal.

Modifikationen[Bearbeiten]

Die Polyphasenzerlegung des Ausgangssignals kann auch zu einer anderen Blockgröße s als 2 erfolgen, von der entsprechenden Haar-Matrix ist zu fordern, dass sie eine orthogonale Matrix ist und ihre erste Zeile nur aus Einträgen 1/√s besteht. Diese Anforderung erfüllen die Matrizen der diskreten Kosinustransformation und die der Walsh-Hadamard-Transformation.

Die Haar-Wavelet-Transformation entspricht einer DCT-Transformation zur Blockgröße s=2, welche im Bild=Pixelrechteck nacheinander in horizontaler und vertikaler Richtung angewandt wird.

Literatur[Bearbeiten]

  •  Commons: Haar wavelet – Sammlung von Bildern, Videos und Audiodateien
  • Alfréd Haar: Zur Theorie der orthogonalen Funktionensysteme, Mathematische Annalen 69, 331–371, 1910, Online, insbesondere Kapitel 3 (ab S. 361).

Einzelnachweise[Bearbeiten]

  1. Alfred Haar: Zur Theorie der orthogonalen Funktionensysteme. In: Mathematische Annalen. 69, Nr. 3, 1910, S. 331–371. doi:10.1007/BF01456326.