2.1 Formate für unbewegte Bilder

2.1.1 Das Tagged Image File Format (TIFF)

Das Tagged Image File Format (TIFF) wurde erstmals 1986 von der Aldus Corporation (seit der Fusion 1994 Adobe Systems Incorporated) vorgestellt. Das TIF-Format war das Ergebnis mehrerer Treffen mit einer Reihe von Software- und Scannerherstellern und sollte eine gemeinsame Basis für einen reibungslosen Datenaustausch zwischen Scannern und Software, sowie zwischen verschiedenen Anwendungen bilden. Die TIFF-Spezifikation liegt derzeit in Revision 6.0 - der vierten öffentlichen Version - vom 3. Juni 1992 vor [1].

TIFF ist ein außerordentlich flexibles Datenformat zur Beschreibung von Pixelbildern, sogenannten Raster Image -Daten. Eine Datei kann theoretisch eine unbegrenzte Anzahl von Elementen, sowohl Bilder als auch Zusatzinformationen, enthalten. Ermöglicht wird dies durch ein oder mehrere Inhaltsverzeichnisse, die auf die einzelnen Datenblöcke verweisen. Der Inhalt eines spezifischen Blocks wird durch die ersten zwei Byte des jeweiligen Blocks bestimmt - dem sogenannten Tag, dem das TIF-Format seinen Namen verdankt.

Diese Struktur ermöglicht es einzelnen Implementoren, eigene Daten mit zu sichern, indem sie einen bislang nicht spezifizierten Tag verwenden. Idealerweise sollte dieser Tag bei Adobe registriert werden, um Überschneidungen mit anderen Herstellern zu vermeiden. Weiterhin ist das Format dadurch einfach für zukünftige Anforderungen erweiterbar, bei gleichzeitig guter Rückwärtskompatibilität zu älteren Implementationen.

Abbildung 1: Struktur von TIFF-Dateien.

 

2.1.2 Kompression mittels JPEG (Joint Photographic Experts Group)

Die Working Group 8 (WG8) der International Standards Organisation (ISO) arbeitet seit 1982 an Standards zur Kompression und Dekompression von Standbildern. Nach dem Vergleich von zehn Kodierungsverfahren im Jahre 1987 und einer vertieften Untersuchung dreier dieser Verfahren wurde das am besten geeignete Verfahren ausgewählt. Dieses wurde unter Berücksichtigung der anderen Verfahren weiterentwickelt und mündete schließlich in der Verabschiedung des JPEG-Kodierverfahrens, das seit 1992 ein ISO International Standard (IS) ist [2].

Abbildung 2: Die Schritte der JPEG-Komprimierung.

 

Um eine weite Verbreitung von JPEG zu gewährleisten, wurden mehrere Anforderungen an das Verfahren gestellt, von denen einige wichtige hier aufgezählt sind [3]:

 

Das verlustbehaftete JPEG-Kompressionsverfahren teilt sich in vier grundlegende Abschnitte in ebendieser Reihenfolge auf: Bildaufbereitung, Bildverarbeitung, Quantisierung und Entropiekodierung (siehe Tab. 2). Zur Dekompression müssen diese Schritte in umgekehrter Reihenfolge ausgeführt werden.

Bildaufbereitung

Jede der maximal 255 Bildebenen (meist die Farbkomponenten) eines Bildes wird bei der Bildaufbereitung in Blöcke zu je 8 x 8 Pixeln aufgeteilt, deren Bearbeitung in den folgenden Schritten entweder streng linear (non-interleaved data ordering) oder in verschiedenen - auch ebenenübergreifenden - verzahnten Reihenfolgen (Interleaving) stattfinden kann.

Bildverarbeitung

Bei der Bildverarbeitung wird jeweils ein 8 x 8-Block mit Hilfe der Diskreten Cosinus Transformation (DCT) in seine horizontalen und vertikalen Frequenzanteile zerlegt. Das Ergebnis dieser FDCT (Forward-DCT) sind insgesamt 64 Koeffizienten, die sich wiederum in einer 8 x 8-Matrix darstellen lassen. Dabei entspricht der erste Koeffizient (links oben angenommen) dem Grundfarbwert des Blocks. Als Gleichanteil des Blocks wird er in Anlehnung an Gleich- und Wechselstrom auch als DC-Koeffizient bezeichnet. Die weiteren 63 Koeffizienten nennt man entsprechend AC-Koeffizienten. Die Koeffizienten in der Matrixdarstellung stellen dabei von links nach rechts und von oben nach unten höhere Frequenzen dar.

Abbildung 3: Cosinus-Transformation eines Bildblocks.

 

Quantisierung

Da jeweils 64 Eingangspixel auch 64 Ausgangskoeffizienten liefern, wäre die erreichbare Kompression nicht sonderlich hoch. Der Vorteil der Koeffizientendarstellung ergibt sich dadurch, daß Bilder in der Praxis nur selten hohe Frequenzanteile besitzen. Dadurch haben viele der Koeffizienten nur noch sehr niedrige Werte. Im dritten Schritt, der Quantisierung, werden die Einträge der Koeffizientenmatrix zunächst mit jeweils einem Eintrag einer Quantisierungsmatrix mit 64 Einträgen dividiert. Die Matrix bestimmt somit gewissermaßen die Relevanz der Koeffizienten: Unwichtige Koeffizienten (meist die mit hohen Frequenzanteilen) erhalten niedrige Werte, die später mit geringer Bit-Tiefe gespeichert, oder beim anschließenden Runden auf ganzzahlige Werte direkt gleich null gesetzt werden können. Zum Dekodieren eines bereits kodierten Bildes müssen die Koeffizienten wieder mit Einträgen aus derselben Quantisierungsmatrix multipliziert werden. Pro Bild können bis zu vier verschiedene Matrizen in beliebiger Reihenfolge verwendet werden. Die Wahl der Quantisierungsmatrizen ist nicht im JPEG-Standard festgelegt. JPEG ist damit implementationsabhängig, so daß Qualitätsunterschiede zwischen verschiedenen Implementierungen auftreten.

Entropiekodierung

Im letzten Schritt, der Entropiekodierung, werden DC- und AC-Koeffizienten unterschiedlich behandelt. Da sich der Grundfarbton zwischen benachbarten Blöcken meist nur wenig ändert, wird ein Koeffizient von dem des vorherigen Blockes subtrahiert und die Differenz weiter verwendet. Dadurch entstehen für die DC-Koeffizienten sehr kleine Werte. Die AC-Koeffizienten werden in diagonaler Zick-Zack-Reihenfolge (siehe Abb. 4) bearbeitet. Da hohe Frequenzanteile meist vernachlässigbar sind, wird durch die Zick-Zack-Reihenfolge erreicht, daß möglichst viele Null-Koeffizienten hintereinanderliegen.

Abbildung 4: Koeffizientenbearbeitung in Zick-Zack-Reihenfolge.

 

Für die Speicherung der Koeffizienten können jeweils verschiedene Bit-Tiefen verwendet werden. Die Speicherung erfolgt gemäß ISO-Intermediate-Symbol-Sequence-Format, das im wesentlichen alternierend die drei folgenden Angaben enthält:

Die endgültigen Daten erhält man durch anschließende Huffman-Kodierung.

 

Ein Nachteil der vorgestellten Kodierung ist ihre beinahe ausschließliche Eignung für fotografische Bilder. Glatte Farbverläufe, wie sie bei computergenerierten Bildern vorkommen, können nur ungenügend dargestellt werden. Bei hoher Kompression kommt noch die Einteilung in 8 x 8-Blöcke zum Tragen. Hier sind die Blockgrenzen häufig als störende Kanten im Bild sichtbar.