Context-Adaptive Binary Arithmetic Coding
CABAC (Context-based Adaptive Binary Arithmetic Coding) beschreibt eine effektive Art der verlustfreien Komprimierung von Binärdateien. Der Referenz-Algorithmus für CABAC wurde von der ITU-T und der ISO/IEC im Zuge der Standardisierung des Videocodecs MPEG-4/Part10 (H.264/AVC) entwickelt.
Wie der Name andeutet, handelt es sich bei CABAC um eine auf Binärdaten spezialisierte arithmetische Kodierung, die ihre Kodiertabellen kontextabhängig ändern kann. Wie alle arithmetischen Kodierer ist auch CABAC ein Entropiekodierer. Im Vergleich zur bekannten Entropiekodierung nach Huffman schneidet CABAC wesentlich besser ab, ist aber auch um ein Vielfaches rechenintensiver.
Die Buchstaben CABAC aufgeschlüsselt
Kontextbasierende adaptive (CABAC) Kodierung verweist auf die Möglichkeit des Kodierers, seine Kodiertabellen während des Kodiervorgangs dynamisch an das zu kodierende Material anpassen zu können.
Binäre (CABAC) Kodierung zeigt an, dass dieser Kodierer nur für binäre Daten funktioniert. Daten, die in einem anderen Format vorliegen, müssen zuerst in eine binäre Darstellung umgewandelt werden.
Arithmetische Kodierung (CABAC) ist eine äußerst effektive Art der Entropiekodierung.
CABAC und H.264
In den Profilen "Main Profile" und "High Profile" des Videostandards MPEG-4/Part10 (H.264/AVC) wird CABAC eingesetzt und ist dort mit verantwortlich für die gute Bildqualität, die hohe Kompressionsrate und den hohen Rechenaufwand.
In den niedrigeren Profilen des Videostandards H.264 kommt das einfachere Kodierverfahren CAVLC (Context-Adaptive Variable Length Coding) zum Einsatz.
Literatur
- Iain E. G. Richardson: H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. John Wiley & Sons Ltd., Chichester 2003.
Weblinks
- CABAC in H.264, englisch (PDF; 15 kB)
- CABAC, englisch (PDF; 829 kB)
- Übersicht über die H.264 Profile
- Arithmetische Kodierung (HP), englisch (PDF; 451 kB)
- CABAC Encoderchip von XILINX, englisch (PDF; 3,79 MB)