Diskrete Cosinustransformation (DCT)

 


am Beispiel JPEG:

Ein häufig verwendeter Ansatz für die verlustbehaftete Codierung ist die DC-Transformationscodierung. Hier werden die Daten in einen mathematischen Raum transformiert, der für die Kompression besser geeignet ist. JPEG ist ein standardisiertes Kompressionsverfahren für Bilder und steht für Joint Photographic Expert Group, dem Namen der Gruppe, die den Standard entwickelt hat. Das Verfahren ist verlustbehaftet, bringt aber gute Kompressionsraten. Die Schritte des JPEG-Verfahrens werden im Folgenden etwas vereinfacht beschrieben.

 

 

Chroma Subsampling

 

Diskrete Cosinustranformation (DCT): Ein Bild kann man als Folge von Zahlenwerten (=Farbinformationen) sehen. Trägt man diese Zahlenwerte der Reihe nach in einem Koordinatensystem ein, so erhält man eine Funktion. Diese Zahlenwerte können durch eine leicht darstellbare Funktion angenähert werden. Die DCT ist eine Variation der Fouriertransformation, die beliebige Signale (jede Folge von Zahlenwerten) durch Überlagerungen von Cosinuswellen mit verschiedener Frequenz und Amplitude darstellt. Die Pixelwerte werden als Frequenz und Amplitudenverteilung dargestellt. Dabei werden die unterschiedlichen Frequenzen des Signals sichtbar. Unser Auge ist für niedrigere Frequenzen weitaus empfindlicher als für höherfrequente. Indem man höherfrequente Anteile vernachlässigt, kann die Datenmenge reduziert werden. Es geht zwar Information verloren, das Auge kann die Unterschiede aber kaum erkennen. Anstatt der Zahlenwerte (Pixel), werden in der Folge nur die Parameter der Funktionenreihe übertragen. Ein Bild wird in 8x8-Pixel-Blöcke zerlegt, die jeweils einer DCT unterzogen werden. Für jeden Block wird eine 8x8-Koeffizientenmatrix berechnet.

 

Quantisierung: Die nun ermittelten Koeffizienten werden so quantisiert, dass die Koeffizienten hochfrequenter Bildteile Null ergeben.

 

Entropie-Codierung: Die ermittelten Werte (Funktionskoeffizienten) werden in eine geeignete Reihenfolge (sodass eine Zahlenreihe mit vielen Nullen am Schluss entsteht) gebracht und dann RLE-codiert (Lauflängencodierung). In einem nächsten Schritt wird dieses Zwischenergebnis der Huffman- oder arithmetischen Codierung unterzogen.

 

Das umgekehrte Verfahren, das Errechnen von Bildpunkten aus den DCT-Koeffizienten, heißt Inverse Diskrete Cosinustransformation (IDCT).

 

 

 

Quelle: http://melville.uni-klu.ac.at:8080/greybox/

siehe auch: http://de.wikipedia.org/wiki/Diskrete_Kosinustransformation