Entropiekodierung - Visualisierung

Beim Schritt "Entropiekodierung" ist links oben ein Bild des Y-Kanals zu sehen, in dem der aktuelle Block ausgewählt werden kann. Rechts oben ist eine Auswahlbox platziert, über die die Art der zu verwendenden Huffman-Tabelle ausgewählt werden kann.
Darunter sind drei Balkendiagramme zu sehen, von denen das erste den aktuellen Block darstellt. Das zweite visualisiert die verwendeten Huffman-Tabellen und das dritte die Gesamtheit der Huffman-Symbole, die den Datenstrom des Bildes ausmachen.
Rechts unten wird durch einen Prozentbalken die Kompression in diesem Schritt dargestellt, also die Datenreduktion auf den Symbol1-Symbolen.

Auswahl der Art der Huffman-Kodierung:

Zwei Möglichkeiten stehen zur Wahl: Einerseits Huffman-Kodierung mit Standard-Tabelle ("Huffman, Standard") und zum Anderen Huffman mit optimierter Tabelle ("Huffman, optimiert").

Auswahl des aktuellen Blocks:

Ein Mausklick auf das Bild wählt den dazugehörigen 8x8-Block aus, der dann als aktueller Block dargestellt wird. (Siehe nächsten Punkt)

Darstellung des aktuellen Blocks:

In diesem Diagramm, welches sich direkt unter dem Bild zur Blockauswahl befindet, werden die Längen der Huffman-Symbole des aktuellen Blocks als Balken dargestellt. Das erste Symbol (also das DC-Symbol) wird mit einem schwarzen Balken gekennzeichnet, und die anderen (also die AC-Symbole) durch blaue Balken.
Die waagrechten Linien zeigen die durchschnittliche Länge der Symbole des Blocks. Die grüne Linie stellt die Durchschnittslänge vor der Huffman-Kodierung dar, und die rote Linie die Länge nachher (die natürlich niedriger ist). Die Höhe der roten Linie entspricht also dem Durchschnitt der Höhen der schwarzen und blauen Balken.

Darstellung Längenverteilung in der Huffman-Tabelle:

Hier werden die 4 verwendeten Huffman-Tabellen in einem Diagramm veranschaulicht. In das Balkendiagramm ist für jede mögliche Bitlänge n ein Balken eingezeichnet, dessen Länge Anzahl der Huffman-Symbole (in der Tabelle) mit Länge n entspricht. Da die Länge der Huffman-Symbole beim JPEG-Verfahren auf 16 beschränkt ist, geht das Diagramm von 1 bis 16.
Die Häufigkeiten der 4 einzelnen Tabellen werden dabei als ein Ganzes betrachtet, das heißt, die Häufigkeit im Diagramm ist die Summe der Häufigkeiten in den 4 Tabellen.
Wenn man als Kodierungsalgorithmus "Huffman, Standard" ausgewählt hat, ist die Tabelle immer gleich. Bei "Huffman, optimiert" wird die Tabelle bei jeder Neu-Kodierung des Bildes frisch berechnet und ändert sich jedesmal.

Darstellung der Längenverteilung des kodierten Datenstromes:

Dieses Balkendiagramm zeigt eine Längenstatistik aller Symbole des kodierten Bildes. Für jede mögliche Bitlänge n ist ein Balken eingezeichnet, dessen Länge der Anzahl Huffman-Symbole (im kodierten Datenstrom) mit Länge n entspricht.
Oben im Diagramm steht die Durchschnittslänge der Huffman-Symbole geschrieben. Vor der Huffman-Kodierung beträgt die durchschnittliche Länge der Symbole knapp 8, da für jedes AC-Symbol 8 und für das DC-Symbol 4 Bits gebraucht werden. Nach Huffman ist die Durchschnittslänge im Normalfall so auf 3 oder 4 Bits geschrumpft.

Datenreduktion in diesem Schritt:

Der Prozentbalken zeigt die Länge der Huffman-komprimierten Daten im Vergleich zu den unkomprimierten. Es werden normalerweise zwischen 30 und 60% erreicht.
Da die Gesamtlänge aller Symbol1-Symbole (auf denen wird die Huffman-Kodierung durchgeführt) sich in der gleichen Größenordnung bewegt wie die Gesamtlänge der Symbol2-Symbole (diese sind schon VLI-Kodiert worden), hat die Datenreduktion im Huffman-Schritt einen direkten, sichtbaren Einfluss auf die Gesamtkompression im Bild.