Infos über WavPack

Geschichte des Audio Codecs WavPack

Mitte 1998 begann David Bryant die Entwicklung von WavPack. In seiner ersten Version ging es ihm dabei nur darum, dass Audiodaten verlustfrei gepackt und entpackt werden konnten. Schon die zweite Version von WavPack unterstützte zusätzlich die Option auch verlustbehaftet zu packen. Die nachfolgenden Versionen von WavPack wurden konstant verbessert. Mit Version 3 kam die Option hinzu eine Korrekturdatei zu erzeugen, die bei verlustbehafteter Kompression die Originaldaten wieder herstellen konnte. Version 4 kam im Jahre 2004 auf den Markt und unterstützte weitere Merkmale wie Mehrkanalunterstützung, höhere Bit- und Sampleraten, etc.
Heutzutage ist WavPack noch immer ein freier Codec, um verlustfreie und verlustbehaftete Audiodatenkompression vorzunehmen. WavPack besteht dabei aus einem Encoder (=WavPack) und einem Decoder (=WvUnpack). Zusätzlich verfügt WavPack noch über das Tool Replay-Gain-Information (=WvGain), welches zusammengefasst dafür sorgt, dass die Audiodaten in der Lautstärke verstärkte werden, ohne dass die Informationen in der Datei selbst geändert werden.
Das Packprogramm Winzip verwendet WavPack seit Version 11, um RIFF-WAVE (=WAVE =*.wav) Dateien zu komprimieren.

Grundlegende Informationen zum Audio Codec WavPack

WavPack verfügt über verschiedene Einstellungsmodi. Der verlustfreie Modus erzeugt eine gepackte Datei, die die Rekonstruktion der Ausgangsdatei bitidentisch erlaubt. Je nach Eingangssignal bewegt sich die Packrate zwischen 25% und 50%.
Der verlustbehaftete Modus erzeugt eine kleine und hochkomprimierte verlustbehaftete Datei. Der Modus arbeitet mit konstanter Bitrate (CBR). Somit lässt sich die Dateigröße bereits im Vorfeld bestimmen. Der Encoder selbst entfernt nicht benötigte Signalanteile bis zur Bitrate, die erreicht werden soll. Dies geschieht, indem er anhand eines psychoakustischen Modells Frequenzen und Signale entfernt, die für das menschliche Gehör nicht wahrnehmbar sind. Der dritte und letzte Modus ist der Hybridmodus. Hierbei wird zusätzlich zur verlustbehafteten Datei eine Korrekturdatei erzeugt, die in Verbindung mit der verlustbehafteten Datei eine verlustfreie Rekonstruktion zulässt.

Technische Informationen zum Audio Codec WavPack

WavPack arbeitet sehr schnell. Das liegt daran, dass die Voraussage mit ganzen Zahlen (also kommafreien Zahlen) arbeitet. Es wurde bewusst keine Gleitkomma-Arithmetik verwendet, da Ganzzahloperationen weniger anfällig gegenüber Abweichungen von Chip zu Chip sind. Somit ist eine Verlustfreiheit gewährleistet. Diese Vorhersage besteht im schnellstmöglichen Modus zum Beispiel nur in der Extrapolation der vorausgehenden zwei Abtastpunkte. Im voreingestellten Modus wird ein einfacher Faktor verwendet, der den Einfluss des ersten Punktes auf die Vorhersage stärkt. Dieser Faktor wird permanent angepasst, daher nennt er sich „adaptiv“ (=anpassend).
Der so erzeugte Wert wird vom eigentlichen Abtastwert abgezogen - so erhalt man den Fehlerwert mit dem gerade bei Mono und Stereosignalen unterschiedlich weiter verfahren wird.
Ein Vorteil von WavPack ist, dass Daten nicht gepuffert werden müssen und Abtastwerte gleich in Bitcodes übertragen werden. Das ist effizienter und relevant, wenn es auf die Codierverzögerung ankommt. Ein weiterer Vorteil ist, dass die Anpassung an eine verlustbehaftete Codierung recht leicht ist. Alle wichtigen Bits werden direkt übertragen. Somit ist es möglich z.B. nur die drei wichtigsten Bits eines Abtastpunktes zu übergeben. Dies wird angewandt, um den verlustbehafteten Modus von WavPack zu nutzen. Um die Zuverlässigkeit zu erhöhen, wird ein 32-Bit-Fehlererkennungs-Code in den Datenstrom eingebunden.