• Das "Context-adaptive binary arithmetic coding" (CABAC) ist deutlich effizienter als das "Context-adaptive variable-length coding" (CAVLC), dafür aber auch technisch aufwändiger.

    CABAC basiert auf dem allgemeinen "Arithmetic Coding" (fortlaufende Intervallschachtelung entsprechend der Wahrscheinlichkeit von Symbolen nähert den zu codierenden Kontext abschnittsweise Fließkommawerten an), einer konsequenten Weiterentwicklung der Entropiecodierungen von Shannon und Huffman (häufiger auftretende Symbole erhalten kürzere Binärcodes, ihre Häufigkeit wird beim Codieren aber vorher erst statistisch ermittelt, teilweise werden Start-Binärbäume angenommen). Der "Q-Coder", eine Implementation des AC von IBM, ist patentiert.

    CAVLC fasst lediglich gleiche Symbole (z.B. mehrere aufeinanderfolgende 0-Werte nach der Quantisierung) zu Gruppen zusammen, entsprechend dem allgemeinen "Run-Length Encoding" (RLE), allerdings in einer Form, die zumindest für typische Datenstrukturen des AVC noch relativ effizient komprimiert.

    Wikipedia: CAVLC

    Zitat

    Ein mit CAVLC komprimierter Datenstrom ist gegenüber einem mit dem rechenintensiveren CABAC komprimierten Datenstrom um etwa 10-20 % größer.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!