N
waveletter schrieb:
1. Eine komplette Haar-Wavelet-Transformation wird in den beiden Artikeln so dargestellt, dass man in einem Signal so lange paarweise Durchschnitte und Differenzen bildet, bis man am Ende eine Form hat, in dem man nur noch "einen Durchschnitt" gefolgt von n-1 Differenzen hat. Macht man das in der Praxis so? Hört sich an, als könnte man nach "1 mal durchgehen" schon ordentlich was abschneiden.
Ich bin mir nicht ganz sicher, ob ich dich richtig verstanden habe, aber nach einem Schritt aufhören geht nicht. Es kann ja sein, dass dein Signal nur aus hohen Frequenzen besteht. Dann sind alle deine Differenzen klein, bis auf vielleicht eine Differenz die eben deine hohe Frequenz repräsentiert. Das kannst du aber erst wissen, wenn du alle Differenzen berechnet hast.
waveletter schrieb:
2. Wenn man einfach Koeffizienten weglässt, weiss man ja am Ende nicht mehr, wie viele Koeffizienten der Datensatz am Anfang umfing, und da man sie vor dem wegschneiden umsortiert, auch nicht mehr wo sie eigentlich hingehören. Hört sich für mich an, als müsste man zusätzlich die ursprünglichen Stellen der Koeffizienten mit abspeichern, was die Kompressionstechnik etwas merkwürdig erscheinen lässt, da man am Ende wohl mehr Speicher verbraucht als vor der Kompression. Was verstehe ich hier falsch?
Im einfachsten Fall speicherst du Indizes und Koeffizienten ab. Wenn du dafür viele Koeffizienten wegschmeissen kannst, lohnt sich das schon. Es gibt bestimmt auch intelligentere Verfahren, dein Signal nach der Transformation zu kodieren.
Hier ist eine sehr simple, anschauliche Implementierung einer Bildkompression mit Wavelets, die dir vielleicht hilft: http://cse-lab.ethz.ch/images/teaching/mmc2011/wavelet_solutioncode.zip