Bildformate: JPEG

- Bildformate: JPEG
- Byte und Bit
- Dateigrößen im Vergleich
Jedes digitale Foto wird als Datei "geboren", das in der Kamera erzeugt und auf einem Speichermedium abgelegt wird. Darin stecken alle Informationen, die das Bild in Größe, Farbe und Helligkeit beschreiben. Daneben werden weitere Informationen wie Seitenlängen, verwendetes Farbmodell oder b...
Jedes digitale Foto wird als Datei "geboren", das in der Kamera erzeugt und auf einem Speichermedium abgelegt wird. Darin stecken alle Informationen, die das Bild in Größe, Farbe und Helligkeit beschreiben. Daneben werden weitere Informationen wie Seitenlängen, verwendetes Farbmodell oder bildbeschreibende Daten wie die Exif-Werte mitgespeichert. Der Exif-Dateianhang enthält u. a. Informationen zum Kameramodell, der Firmware, Blende, Belichtungszeit, Brennweite, Weißabgleich, Empfindlichkeit oder zu speziellen Einstellungen.Je mehr Pixel bei der Entstehung des Bildes beteiligt waren, desto mehr Informationen enthält eine Datei. Ein 5-Megapixel-Bild ist bei einer üblichen Farbtiefe von 24 Bit bereits 14,4 Megabyte (MB) groß, was 120 Mio. Bit entspricht. Damit trotzdem möglichst viele Daten auf das Speichermedium passen und auch die Übertragungszeiten niedrig bleiben, werden die meisten Bilddaten vor dem Speichern komprimiert. Die Datenkompression reduziert die Größe des gespeicherten Files, während das offene Bild seine Größe behält. Je nach Datentyp und Einstellung kann die Kompression verlustfrei arbeiten und nur redundante Informationen weglassen oder zu Datenverlusten führen. Allerdings ist nicht jeder Datenverlust sofort sichtbar. Dies hängt sowohl von der Kompressionsstärke als auch vom Bildtyp ab. Das Kompressionsformat, das sich bei Kompaktkameras zum Standard entwickelt hat, heißt JPEG und in einer modernisierten, allerdings fast nicht genutzten Form JPEG 2000. Mit dem JPEG-Format sind sehr kleine Dateien möglich. Allerdings führt eine starke JPEG-Kompression zu einer sichtbar schlechteren Bildqualität. Umgekehrt ist jedoch eine niedrige JPEG-Kompression meist völlig unproblematisch. Neben dem JPEG-Format bieten zahlreiche Kameramodelle auch das TIFF- und ein herstellerspezifisches RAW-Format. Um diese Dateitypen geht es in den nächsten Folgen dieser Serie.
Das digitale Bild Der CCD einer 6-Megapixel-Kamera arbeitet mit 2000 Zeilen a 3000 Pixeln. Für jedes Pixel erzeugt die Kamera aus dem zunächst analogen Signal digitale Werte, die seine Helligkeit und Farbigkeit innerhalb eines Farbsystems beschreiben. Als Farbmodus setzen die meisten auf einen RGB-Farbraum mit den drei Farbkanälen Rot, Grün und Blau. Je Bildpunkt werden also drei Farbinformationen gespeichert, nicht jedoch erfasst. Denn der CCD kann je Pixel immer nur eine Farbe, also Rot, Grün oder Blau erfassen. Die fehlenden Farbwerte berechnet die Kamerasoftware anhand der Nachbarpixel. Um den einzelnen Pixel für eine Farbe empfindlich zu machen, sitzt vor jedem einzelnen Pixel ein winziger roter, grüner oder blauer Farbfilter. Bei vier Pixeln sind meist zwei grün- und je einer blau- beziehungsweise rot-empfindlich (Bayerpattern). Die Datenmenge eines Pixelbildes steigt mit der Pixelzahl und der Farbtiefe, also der Anzahl der möglichen Grau- oder Farbstufen je Pixel. Die Farbtiefe wird in Bit angegeben - Bits, mit denen der Analog/Digitalwandler die analogen Signale des CCD in digitale Werte umsetzt.Im einfachsten Fall arbeitet der Analog/Digitalwandler mit einem Bit Farbtiefe: Für einen hellen Impuls des CCD setzt der Analog/Digitalwandler eine 1, was Weiß entspricht. Für einen dunkleren Impuls wird eine 0 gespeichert, was Schwarz entspricht. Zwischenwerte sind bei 1 Bit Farbtiefe nicht möglich. Ein Bild das Graustufen enthält, benötigt deswegen mehr Bits, um die Nuancierung zwischen Schwarz und Weiß zu kodieren. Um 16 verschiedene Grautöne darzustellen sind 24 (2x2x2x2 =16) Informationseinheiten notwendig. Das entspricht einer Farbtiefe von 4 Bit. Die Anzahl der Farbinformationen, also die Farbtiefe, berechnet sich generell nach der Formel: 2 (Farbtiefe in Bit) = x Farbtöne.
Sehr häufig haben Farbbilder eine Farbtiefe von 24 Bit. Dabei fallen auf jeden Farbkanal 8 Bit. So kann jeder Kanal 256 Stufen darstellen (28 = 256), wobei 0 wieder Schwarz entspricht, Weiß aber 255. Insgesamt ergibt das bei drei Farbkanälen 256x256x256 = 16,7 Millionen Farben. Ein Farbbild mit 16 Bit Farbtiefe pro Bildkanal kann 281 Billionen Farbtöne darstellen. Auf vielen Digitalkamera-Datenblättern findet man häufig eine interne Farbtiefe von 36, 42 oder 48 Bit, während das Bild anschließend als JPEG-File mit 24 Bit gespeichert wird. Die Kamera führt die interne Bildberechnung mit einer höheren Farbtiefe durch, um etwa die Schattenzeichnung zu verbessern. Wer auch zur Weiterberarbeitung ein 48-Bit-Bild möchte, muss statt JPEG ein anderes Bildformat wie TIFF oder RAW wählen. JPEG ist ein reines 24-Bit-Format. Allerdings muss nicht nur das gewählte Dateifornat die höhere Farbtiefe unterstützen, sondern auch die Bildsoftware. Zu den Programmen, die kein Problem mit 48 Bit haben, gehört Photoshop.

Joint Picture Experts Group Das von der "Joint Picture Experts Group" entwickelte Verfahren zur Datenkompression (JPEG) hat sich bei Kompaktkameras durchgesetzt. Es bietet bei mittleren Kompressionsraten meist noch eine gute Bildqualität und kann nicht nur von allen Bildprogrammen, sondern auch von zahlreichen anderen Softwares geöffnet werden.
Grundsätzlich führt die JPEG-Kompression zu Informationsverlusten im Bild. Diese sind jedoch bei maßvollem Einsatz kaum sichtbar. Wer aber einmal komprimierte Bilder öffnet und erneut speichert, komprimiert die Daten ein zweites Mal. Diese Mehrfachkompression führt auch in niedrigeren Stufen meist zu sichtbaren Bildfehlern. Unproblematisch ist es, ein JPEG-Bild nur zu öffnen und ohne zu speichern wieder zu schließen. Zur Bearbeitung sollte man deshalb JPEG-Bilder in ein Format wie TIFF umwandeln und erst als letzten Schritt wieder als JPEG sichern.
Die beste JPEG-Stufe mit den geringsten Datenverlusten wird meist als superfein oder 1:4 angegeben. Darunter, in Stufe fein, normal oder Standard, sinkt die Dateigröße deutlich, es treten aber auch mehr oder minder sichtbare Detail- und Farbverluste auf. Eine Kompression unter 1:8 wird von den Herstellern allgemein nicht empfohlen.

Die JPEG-KompressionDas Kompressionsverfahren für JPEG ist in vier wesentliche Schritte unterteilt: Datenaufbereitung, Datenverarbeitung, Quantisierung und Kodierung. 1) Konvertierung und Subsampling: Zuerst wird das Bitmap, das je acht Bit für die Farben Rot, Grün und Blau pro Pixel enthält, in einen anderen Farbraum umgerechnet, der die Informationen für Farbe und Helligkeit trennt. Dies kann zum Beispiel YUV sein, wobei Y für die Helligkeit und U für die Achse Rot-Grün und V für Gelb-Blau steht. Weil das Auge für Farbunterschiede eine wesentlich schlechtere Auflösung hat als für die Helligkeit - es gibt weniger Farbrezeptoren (Zapfen) als Helligkeits-Empfänger (Stäbchen) - kann die Auflösung der farbigen Anteile durch das Zusammenfassen benachbarter Pixel halbiert werden, ohne das dies auffällt. Dieser Vorgang wird als Subsampling bezeichnet und ist bei allen Digitalkameras unproblematische Praxis. Die Digitalkamera ermittelt je Bildpunkt nur die Helligkeit für eine Farbe (Rot, Grün oder Blau) und berechnet anschließend anhand der benachbarten Pixeln die fehlenden Farbwerte hinzu. Die weiteren Schritte werden separat auf die drei Ebenen des Bildes angewendet.2) Blockbildung und DCT: Jetzt wird das Bild in 8 x 8 Pixel große Blöcke zerlegt, die unabhängig voneinander bearbeitet werden. Die Bilddaten des Blocks müssen eine DCT (Discrete Cosine Transformation) über sich ergehen lassen. Die Datenwerte werden nicht mehr einem Pixel zugeordnet, sondern das Verhalten von allen Pixeln wird als Summe von Kosinus-Funktionen verschiedener Frequenz beschrieben, die mit Koeffizienten gewichtet werden. Der erste repräsentiert den Durchschnittswert des Blocks. Dieser Vorgang ändert nichts am Bildinhalt und verkleinert nicht die Datenmenge, denn anstelle der 64 Helligkeitswerte der Pixel stehen jetzt 64 DCT-Koeffizienten. Wozu dann das Ganze? Die höheren Koeffizienten stehen für feinste Details oder Farbänderungen. Wenn die Einschränkung der Datenmenge unvermeidbar ist, lassen sie sich zuerst weglassen, ohne das sichtbare Qualitätsverluste im Bild auftreten. Erst bei drastischer Kompression werden die Eingriffe so stark, dass deutlich sichtbare Bildfehler auftreten.

3) Quantisierung: Jeder der 64 Koeffizienten der DCT wird mit dem Wert einer speziellen Tabelle multipliziert und gerundet. Führt dies zum Wert Null, kann der Wert weggelassen werden. An dieser Stelle setzt auch der Schieberegler des Benutzers ein, den die meisten Bildbearbeitungsprogramme haben: Bei "guter Qualität" werden die Tabellenwerte mit einer Zahl größer als eins multipliziert, es fallen weniger Koeffizienten der Rundung zum Opfer und die Datei wird größer. Bei "kleiner Datei" passiert entsprechend das Gegenteil. Die Tabelle ist übrigens aus Untersuchungen des Sehverhaltens entwickelt worden, um die unvermeidlichen Fehler so gutmütig wie möglich ausfallen zu lassen.4) RLE und Huffman Coding:Jetzt folgt noch die - wiederum völlig verlustfreie - "Bit-Schieberei". Sie reduziert die Bilddaten mit den Methoden, wie sie auch Datei-Packer, etwa Winzip oder Stuff It verwenden. So werden bei der Run Length Encoding (RLE) Wiederholungen "ausgeklammert": Sinngemäß wird statt "2828282828282828" "8x28" gespeichert. Anschließend werden den häufigsten Werten die kürzesten Codes zugeordnet - wie im Morsealphabet: Der Punkt als kürzestes Zeichen steht für den häufigsten Buchstaben E, das seltene Q wird dagegen durch "Strich Punkt Strich Strich" codiert. Das Morsealphabet verwendet Pausen zwischen den Buchstaben und kann deshalb das I (Punkt Punkt) vom EE (Punkt Pause Punkt) unterscheiden. Wenn jetzt noch die Trennzeichen entfallen sollen, um weiter Platz zu sparen, darf kein Zeichen dem Anfang eines anderen Zeichens entsprechen. Damit sind die Daten auf ein Minimum eingedampft. Das ist auch der Grund, warum es keinen Sinn macht, JPGs als Zip zu packen.
JPG 2000Bei diesem als Nachfolger für JPG gedachten Verfahren gibt es einige Komfort-Features wie wesentlich erweiterte Datei-Informationen, größere Farbtiefe und mehr Farbkanäle. Doch auch die Kompression selbst soll deutlich effektiver sein. Anstelle der DCT kommt die Wavelet-Transformation zum Einsatz, die statt mit Kosinus-Schwingungen mit kurzen Wellenpaketen - den Wavelets - rechnet und die Kompression in mehreren Durchgängen erledigt. Insbesondere bei hohen Kompressionsraten sind die Ergebnisse besser als bei JPG, allerdings nicht immer genau vorhersehbar. Dies ist einer der Gründe, warum sich das Verfahren nicht durchgesetzt hat.

Die Datenstruktur Ein JPEG besteht aber nicht nur aus komprimierten Bilddaten. Im Aufbau stecken weitere Segmente, die eine Software, die das Bild später öffnen soll, darüber informieren, um welche Art von Datei es sich überhaupt handelt. Als erstes Segment steht der Header (Start of Image/SOI), er identifiziert die Datei als JPEG. Danach folgt die Applikation (APPO). In diesem Teil ist die Versionsnummer sowie Länge und Daten für eine schnelle Vorschau (Thumbnails) enthalten. Auch Segmente über die Anordnung der Pixel im Bild finden sich hier. Die nächsten Segmente lassen sich als optionale Beschreibungsblöcke verstehen. Für jede Quantisierungstabelle muss ein eigener Eintrag gemacht werden, dieser ist im "Define Quantisation Table" (DQT) enthalten. Dasselbe gilt für die Huffmann-Tabelle. In der "Define Huffmann Table" steckt die Baumstruktur. Im Segment für die Exif-Daten sind je nach Hersteller sämtliche Kameraeinstellungen eines Bildes festgehalten: Kamerahersteller-Name, Modell-Name, Sensor-Technik, Blenden-und Belichtungseinstellungen, Lichtempfindlichkeit, Brennweite, Blitzmodus, Weißabgleich, Fokussiermethode und weitere Einstellungen. Diese Exif-Werte variieren von Hersteller zu Hersteller. Weitere Segmente können Copyright und Kommentareinträge sein. Als fester Bestandteil folgt das "Start of Scan"- Segment, erst hier beginnt der eigentliche Bit-Strom. Es enthält die gewählten Koeffizienten aus der DCT und die Daten für die Bildkomponenten. Die komplette Anzahl der eigentlichen komprimierten Bilddaten folgt im Segment "Data". Den letzten Teil der Datei definiert das "End of Image" (EOI). Die einzelnen Segmente besitzen eine feste Kennung, bestehend aus zwei Byte, die in Hexadezimal-Code geschrieben werden.

