Zum Inhalt springen

JPEG

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. März 2005 um 21:32 Uhr durch Sansculotte (Diskussion | Beiträge) (Änderungen von Benutzer:84.161.115.128 rückgängig gemacht und letzte Version von Benutzer:Anton wiederhergestellt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

JPEG, kurz JPG ist eines der am weitesten verbreiteten Formate zur komprimierenden, digitalen Speicherung von Bildern.

JPEG ist die Abkürzung für Joint Photographic Experts Group, ein Gremium der ITU, und bezeichnet auch das von diesem Gremium entwickelte verlustbehaftete Kompressions-Verfahren für digitale Bilder. Der zugrundeliegende Algorithmus heißt Diskrete Kosinustransformation (engl. Abkürzung: DCT).


JPEG Parameter

Das JPEG-Dateiformat erlaubt die Spezifizierung einiger Parameter, zum Beispiel eines Koeffizienten für eine Tiefpassfilterung und eines Qualitätsfaktors (Abschneidefrequenz bei der Kosinustransformation).

Die Tiefpassfilterung (Weichzeichnung) eines Bildes vermindert Kontrastübergänge und erlaubt höhere Kompressionsraten. Einfache Speicherprogramme begnügen sich mit der Spezifikation nur des Qualitätsfaktors.

Die Komprimierungsartefakte bei einem Qualitätsfaktor von 90%, entsprechend einer Datenreduktion von ca. 1:3, sind nahezu unsichtbar. Bei einem Qualitätsfaktor von 20% ist das Bild künstlerisch unbrauchbar, dafür schrumpft das Datenvolumen auf 1:10. Bei hoher Komprimierung zeigen sich 8x8 Pixel große Quadrate. Diese (Kompressionsartefakte) treten besonders bei großen Flächen mit sanften Farbübergängen auf, während Helligkeitsmodulationen an Kanten beobachtet werden. Diese Effekte mildert der Nachfolger JPEG2000, der ein Wavelet-Kompressionsverfahren verwendet.

Qualitätseinbußen

Das JPEG-Verfahren ist hervorragend geeignet für Fotos mit weichen Konturen. Es ist ungeeignet für Motive mit harten Kontrastübergängen, wie sie zum Beispiel bei Schriften, Strichgrafiken, oder technischen Zeichnungen auftreten.

Aus JPEG-Bildern lassen sich die Kompressionsparameter nicht mehr zurückgewinnen. Jedes Abspeichern führt zu einer Neuberechnung der Datenreduktion. Ein nachträgliches Heraufsetzen des Qualitätsfaktors vergrößert zwar den Speicherbedarf der Bilddatei, bringt aber verlorene Bildinformation nicht mehr zurück. Professionelle Anwender speichern ihre Bilder in einem verlustfreien Format (z.B. TIFF) ab. Das Bildrauschen verhindert, dass verlustlose Kompressionsalgorithmen eine nennenswerte Datenreduktion erreichen. Ein 6-Millionen-Pixel-Bild erfordert ein Speichervolumen von ca. 20 MByte. Andere verlustfreie Bildformate sind BMP, je nach Farbraum auch GIF (nur 256 verschiedene Farben) und je nach Einstellung auch PNG (Multiformat).

Bilder unterschiedlicher JPEG Qualitätsstufen, von links nach rechts: 90%, 60%, 20%, Ausschnittsvergrößerung des vorangegangenen Bildes.

Das Beispielbild vergleicht Aufnahmen, die mit unterschiedlicher Qualität gespeichert wurden. Die Portrait-Aufnahme besitzt eine Größe von 200x200 Pixel. Wird für jede Farbe ein Byte bereitgestellt, erzeugt die verlustfreie unkomprimierte Speicherung eine Datei von 120 kByte (Vernachlässigung des Dateiheaders).

Ein Qualitätsfaktor von 90% reduziert das Dateivolumen um ca. 60% auf 40 kByte (linkes Teilbild). Eine Verminderung der Qualität ist kaum wahrnehmbar. Auch bei Amateuraufnahmen sollte als Qualitätsfaktor mindestens 90%-95% gewählt werden.
Bei einem Qualitätsfaktor von 60% schrumpft die Dateigröße auf weniger als 10%. Dafür treten Artefakte an kontrastreichen Bereichen auf. Bei Reduktion auf 20% reduziert sich das Speichervolumen nochmals um die Hälfte auf ca. 2 kByte. Die Klötzchenbildung der 8x8 Pixel großen Quadrate stellt das rechte Teilbild vergrößert dar.

Dateiformat

Die Speicherung der mit dem JPEG-Verfahren komprimierten Bilddaten orientiert sich an den Vorgaben des JFIF-Formats (JPEG File Interchange Format). Eine so erzeugte Datei wird umgangssprachlich als JPEG-Datei bezeichnet. Die Dateinamen dieses Formats enden meist auf .jpg oder .jpeg. Es ist auch möglich, EXIF und IPTC-NAA Standard-Informationen in der JPEG-Datei unterzubringen. Die Erweiterungen sind nicht JFIF konform.

Bilddateien, die im JPEG-Verfahren abgespeichert werden, beginnen ungeachtet ihrer Datei-Endung immer mit FF D8. Sind sie streng JFIF-konform, folgen die Bytes: FF E0 00 10 4A 46 49 46 00 01. Die Sequenz 4A 46 49 46 steht für JFIF. Gängige Bildprogramme erwarten keinen JFIF-Header.

Die JPEG-Dateien sind in Segmente unterteilt. Die Segmente sind generell in folgender Form aufgebaut: Ein FF xx s1 s2 leitet den Tag ein. FF steht für Hexadezimal 255. Das xx bestimmt die Art des Tags. 256 * s1 + s2 gibt die Länge des Segmentes an. In den Segmenten können sich weitere Bilder verbergen, oft ein kleines Thumbnail-Bild für die schnelle Vorschau. Segmente können auch wiederholt vorkommen.

FF xx Bezeichnung/
FF D8 Start Of Image (SOI)
FF C0 Image Format Information (width, height etc.)
FF E0 JFIF tag
FF C4 Define Huffman Table (DHT)
FF DB Define Quantisation Table (DQT)
FF E1 EXIF Daten
FF EE Oft für Copyright Einträge
FF En n=2..F allg. Zeiger
FF FE Kommentare
FF DA Start of Scan (SOS)
FF D9 End of Image (EOI)

Ein Beispiel für einen Copyright-Tag: FF EE 00 26 'File written by Adobe Photoshop. 4.0'

Ein Beispiel für einen Kommentar-Tag: FF FE sl1 sl2 'I shot this picture yesterday ...'

Aufbau einer JPEG(JFIF)-Datei:

SOI - Segment FF D8
APP0 - Segment FF E0 s1 s2 4A 46 49 46 v1 v2 ...
... weitere Segmente
SOS - Segment FF DA s1 s2 ....
Data Komprimierte Daten
EOI - Segment FF D9

Die Längenangaben der Segmente enthalten übrigens auch den Platz für die die Längenangaben selbst: Ein leeres Segment hätte daher eine Länge von 2, da dies der Länge der Komponenten s1 und s2 selbst entspricht.

Dem Start of Scan (SOS) Segment (Marker FF DA) folgen dann direkt die komprimierten Daten, bis zum Start des nächsten Segments, welches durch den nächsten Marker angezeigt wird. Sollte innerhalb der Daten ein FF auftreten, so wird dies mit einer folgenden 00 (Null) markiert. Andere Werte zeigen das Auftreten eines neuen Segments bzw. Markers an.

Siehe auch: