In allen modernen Videokompressionsformaten werden die Bilddaten transformiert bevor sie quantisiert und kodiert werden.
Eine sehr populäre Transformation ist in dieser Anwendung die Diskrete Cosinus Transformation (DCT), und ihre Verwandten (AVC Transformation). Sie wird blockweise angewandt, was bei starker Kompression zu Blockartefakten führt.
Eine Alternative dazu sind sogenannte Wavelets, die für Bild/Videokompression ebenfalls einige interessante Eigenschaften aufweisen.
- Nach der Transformation ist viel der wichtigen Bildinformationen in wenigen Koeffizienten konzentriert, was die Kompression erleichtert.
- Die Komponenten in die ein Bild zerlegt wird, sind von unterschiedlicher Frequenz. Das steht in engem Zusammenhang mit dem menschlichen Wahrnehmungssystem und erleichtert psychovisuelle Optimierung.
- Kompressionsartefakte äußern sich nicht in auffälligen Blöcken, sondern in einem weniger störenden Verschmieren.
- Es existieren schnelle Verfahren, die Transformation zu berechnen.
Nachdem mit JPEG2000 in der Bildkompression bereits ein Wavelet basierter Standard verabschiedet wurde, wird erwartet, dass der Nachfolger zu MPEG4 AVC/H.264 auf Wavelets basieren könnte.
Es gibt mehrere Open Source Projekte, die mit Wavelets arbeiten und beachtliche Ergebnisse erzielen:
- Rududu
Rududu war der erste öffentlich verfügbare Wavelet Video Codec. Wird inzwischen nicht mehr aktiv entwickelt.
Weitere Informationen:
http://rududu.ifrance.com/ - Snow
Snow ist ein experimenteller Codec im Rahmen des ffmpeg Projekts und wird von Michael Niedermayer entwickelt. Neben Wavelets werden an innovativen und modernen Verfahren OBMC (Overlapped Block Motion Compensation - Die Bewegungsvorhersage wird mit überlappenden Blöcken ausgeführt, was Blockartefakte vermindert) und arithmetische Codierung verwendet.
Snow befindet sich in einem frühen Stadium, das Format des Bitstreams ist nicht endgültig festgelegt.
Weitere Informationen:
http://forum.doom9.org/showthread.php?t=84593
http://www.doom9.org/codecs-quali-105-1.htm - Dirac
Dirac ist ein von der BBC ins Leben gerufenes Projekt, dass sich zum Ziel gesetzt hat, ein offenes und lizenzfrei verwendbares Videoformat zu entwickeln. Die Spezifikationen sehen OBMC und CABAC (Context Adaptive Arithmetic Coding - Kontext abhängige arithmethische Kodierung ) vor.
Es gibt eine lauffähige Software, die aber sehr langsam ist, jedoch als Referenzsoftware angesehen werden kann.
Ausserdem ist mit Schrödinger ein weiteres Projekt ins Leben gerufen worden, dass eine optimierte und portable Implementierung des Formats zum Ziel hat. Ausserdem wird das Muxing in einen ogm Container definiert.
Weitere Informationen:
dirac Homepage: http://dirac.sourceforge.net
dirac Projektseite: https://sourceforge.net/projects/dirac
schrödinger Projektseite: https://sourceforge.net/projects/schrodinger
Doom9 Codec Vergleich 05: http://www.doom9.org/codecs-quali-105-1.htm
Überblick über Dirac: http://www.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP117.pdf (englisch)
Für Hinweise, Korrekturen, Ergänzungen, Fragen und Kritik bin ich offen und dankbar.