EINE STUFE EINER KETTE — WAS ANKOMMT, WAS HERAUSGEHT, WAS DANACH BRICHT
Wo diese Stufe in der Encoding-Pipeline sitzt
Ein Video-Encoder ist kein einzelner Algorithmus, sondern acht Stufen in fester Reihenfolge — und die Reihenfolge ist nicht beliebig: Jede Stufe existiert, weil die vorherige ihre Arbeit erst möglich gemacht hat. Dieses Werkzeug modelliert eine davon. Die Kette unten verlinkt die anderen sieben.
Entropiecodierungs-Playground — packt die quantisierten Symbole in so wenige Bits, wie ihre Statistik zulässt
- Was ankommt
- Ein Strom quantisierter ganzer Zahlen, stark in Richtung null verschoben.
- Was herausgeht
- Der fertige Bitstrom. Hier wird nichts verworfen.
- Was die nächste Stufe voraussetzt
- Nichts danach — dies ist die letzte Codierstufe. Ihre Voraussetzung liegt davor: dass die Symbolverteilung für sie schon schief gemacht wurde.
- Was hier schiefgeht
- Kein Entropiecodierer kann die Shannon-Entropie dessen unterbieten, was man ihm übergibt, also setzen allein die früheren Stufen seine Obergrenze. Läuft er auf unquantisierten Koeffizienten, findet er kaum Redundanz — und genau deshalb kommt der verlustbehaftete Schritt zuerst und nicht zuletzt.
Aufgabe vollständig gelöst
-
Der verbleibende Spielraum für einen schlaueren Algorithmus als Huffman bei 16 Symbolen 6 Schritte
16 Symbole, Laplace-Verteilung, Entropie 3,010 Bit. Huffman erreicht 3,012. Berechnen Sie, wie viel Spielraum für einen klügeren Algorithmus bleibt.
-
Die Entropie ist die mittlere Überraschung, in Bit, eines aus dieser Verteilung gezogenen Symbols. Sie ist allein eine Eigenschaft der Wahrscheinlichkeiten und weiß nichts über irgendeinen Code.
-
Die naive Alternative gibt jedem Symbol die gleiche Anzahl an Bit, und 16 Symbole benötigen 4. Das ist die Referenz, an der die Ersparnis gemessen wird.
-
Huffman weist häufigen Symbolen kurze Codes zu und seltenen lange, und der Mittelwert ist die wahrscheinlichkeitsgewichtete Länge.
-
Die Ersparnis vergleicht die zwei Codelängen, nicht den Code mit der Entropie – weshalb sie eine Aussage über diese Alternative ist und nicht über die Grenze.
-
Vergleichen Sie nun mit der Grenze. Shannons Quellencodierungssatz besagt, dass kein Präfixcode unter H liegen kann, und Huffman liegt garantiert unter H + 1.
-
Drücken Sie die verbleibende Lücke als Anteil aus, und die Optimierungsfrage beantwortet sich von selbst.
Antwort
0,002 Bits pro Symbol oder 0,07 %. Nach dem Satz von Shannon liegt jeder Präfixcode zwischen H und H + 1. Huffman ist darunter erwiesenermaßen optimal. Kein Präfixcode wird für diesen Text also jemals die 3,012 unterbieten. Die Einsparung von 24,7 % gegenüber der Codierung mit fester Länge ist real. Die restlichen 0,07 % sind absolut alles, was noch bessere Technik jemals herausholen könnte. Weitere Kompression erreichst du ab diesem Punkt über das Modell, nicht über den Code: Korrelieren benachbarte Symbole, fällt die Entropie der bedingten Verteilung unter 3,010. Und das ist eine völlig andere Zahl.
-
Quellen (1)
- Insight block 2 — entropy as average surprise, and the limit Huffman cannot beat: C. E. Shannon, "A Mathematical Theory of Communication." Bell System Technical Journal 27(3), 379–423, 1948.