Technik - das JPEG-Format
Die Relevanz der DCT für die JPEG-Codierung soll an einem Beispiel erläutert werden. Man stelle sich bitte nebenstehenedes Schema als ein etwas stilisiertes Bild einer Pizza vor (-10 entspricht außerhalb, 10 innehalb der "Pizza"):
Unterwirft man dieses "Bild" einer DCT erhält man das untere Bild.
Was fällt auf? Die dem Betrag nach großen Werte sind jetzt links oben konzentriert, die meisten sind null oder nahe null! Das liegt daran, dass der Anwendung der DCT ein Trick zugrunde liegt, nämlich: das 8x8-Pixelmuster wird symmetrisiert. Dadurch zwingt man die Bildinformation in die niedrigen Frequenzkoeffizienten. Genaueres findet man (wenn man will) unter DCT.
Die Abbildung des DCT-Basismusters rechts oben visualisiert übrigens die Frequenzen der ersten 64 Koeffizienten einer 2-dimensionalen DCT.
Quantisierung
Das ist der entscheidende Schritt, wo Verluste in Kauf genommen werden. Hier werden die im vorigen Schritt ermittelten DCT-Koeffizienten herunterskaliert und gerundet. Kleinere Zahlenwerte brauchen ja sicher weniger Speicherplatz! Jeder DCT-Koeffizient Fij wird dabei durch einen Faktor Qij dividiert, der durch die Empfindlichkeit des menschlichen Auges für Helligkeitsänderung bei der jeweiligen Frequenz bestimmt, also heuristisch ermittelt ist. Die Qij werden auch durch den sog. Q(uality)-Faktor bestimmt, den man beim Konvertieren bspw. im Photoshop angeben kann. Er bestimmt die Qualität des Resultats. Das Ergebnis wird dann abgerundet, sodass kleine Werte bspw. zu null werden.
Ergebnis dieses Schritts sind also Zahlen, die, wenn überhaupt von Null verschieden, in den niedrigen Koeffizienten konzentriert sind.
Zigsag-Scan & Entropy Coding
Die bei der Quantisierung erhaltenen Matrix wird nun in nebenstehendem Zigsag-Scan abgetastet, was die Matrix zu einer Kette von Zahlen transformiert. in der die von Null verschiedenen am Anfang stehe. Diese Quelle wird dann run-length-codiert und anschließend mit der Huffman-Codierung verlustfrei komprimiert (siehe Kompression) - fertig ist das JPEG.