JPEG: 25 Jahre und kein bisschen alt

Am 7. Oktober 1991 wurde das JPEG-Format geboren: Die Independent JPEG Group veröffentlichte mit ihrer libjpeg den Referenzcode für den kommenden Foto-Standard. Und trotz aller vermeintlichen "JPEG-Killer" ist das Format lebendig wie eh und je.

In Pocket speichern vorlesen Druckansicht 348 Kommentare lesen
JPEG: 25 Jahre und kein bisschen alt
Lesezeit: 5 Min.
Inhaltsverzeichnis

Es gibt wohl kein Medienformat, das so erfolgreich ist wie JPEG. Am 7. Oktober 1991 veröffentlichte die Independent JPEG Group (IJG) die erste Software zum Schreiben und Lesen des Bildformats.

Ein Vierteljahrhundert später wird JPEG mehr genutzt denn je. Täglich strömt es milliardenfach aus Digitalkameras und Smartphones, auf Rechner und Server oder direkt ins Web – eine wahrlich zeitlose Technik.

Das Fundament bereitete der indische Mathematiker Nasir Ahmed im Jahr 1974, als er in seiner Publikation "Discrete Cosine Transform" (DCT) die grundlegende Technik beschrieb, die später den JPEG-Standard bestimmte.

Die diskrete Kosinustransformation wandelt die Helligkeitswerte von Bildern zunächst in eine Frequenzdarstellung, die es erlaubt, die Daten relativ stark zu reduzieren, ohne visuell deutlich an Qualität zu verlieren. Bei niedrigen Kompressionsraten werden nur die höchsten Frequenzanteile weggelassen (quantisiert), bei zunehmender Stärke auch niedrigere Frequenzen. Das Potenzial von Ahmeds Entdeckung erschloss sich nicht jedem sofort: Forschungsgelder wurden mit der Begründung verwehrt, das Verfahren sei "zu simpel".

1982 formierte sich die Joint Photographic Experts Group (JPEG) mit dem Ziel, ein Standard-Dateiformat für die Speicherung von Fotos zu entwickeln. Das JPEG-Komitee ist eine Arbeitsgruppe, die sich aus Mitgliedern der International Standardization Organization (ISO), der International Electronical Commission (IEC) und der International Telecommunications Union (ITU) zusammensetzt. Deshalb trägt das, was man landläufig unter "dem" JPEG-Standard versteht, den sperrigen Namen ISO/IEC IS 10918-1 / ITU-T Recommendation T.81.

Anhand der Blume kann man von links nach rechts den Effekt zunehmender JPEG-Kompression sehen.

(Bild: André Karwath)

Noch bevor die JPEG-Norm im Jahr 1992 Standard wurde, stellte die Independent JPEG Group unter Leitung von Tom Lane den Referenzcode fertig, um JPEGs erzeugen und anzeigen zu können: die libjpeg. Die Existenz einer solchen quelloffenen, patent- und lizenzfreien Bibliothek war wohl ein wesentlicher, wenn nicht der entscheidende Faktor für den Erfolg von JPEG.

Und das Timing war einfach perfekt für ein platzsparendes, visuell überzeugendes Bildformat: Das Internet verlangte nach gut komprimierten, aber ansehnlichen Bildern, Digitalkameras und Speichermedien mussten mit ihrem begrenzten Fassungsvermögen haushalten. Heute nutzen zahlreiche Software-Pakete und Browser die libjpeg in irgendeiner Form, wobei unter den im ISO-Standard definierten Modi die Baseline-Variante mit Huffman-Codierung, 8 Bit Farbtiefe und sequenziellem Bildaufbau am verbreitetsten ist.

Im Laufe der 90er-Jahre wurde die libjpeg um weitere Funktionen wie etwa die progressive Kodierung ergänzt. 2005 übernahm Guido Vollbeding die Leitung der IJG und ist seitdem verantwortlich für die Weiterentwicklung der libjpeg. Er entwickelte beispielsweise die verlustfreien Operationen wie Drehen und Spiegeln und evaluiert Möglichkeiten, die DCT-Implementierung zu optimieren. Mit Version 7 wurde arithmetische Codierung ergänzt, die zum Standardisierungszeitpunkt noch patentbehaftet war.

Bis heute wehrt sich das in seiner Basisausführung etablierte Format zäh dagegen, vom Thron geschubst zu werden: Während GIF aufgrund von Patentstreitigkeiten kurzerhand durch PNG ersetzt wurde, mussten Firmen mit angeblichem JPEG-Patent, die Lizenzgebühren eintreiben wollten, sogar um die Aufhebung ihrer Patente bangen. Sie konnten zwar die ein oder andere Einigung erzielen, aber keine flächendeckenden Lizenzzahlungen durchsetzen – ein Glück für den ISO-Standard.

Die vom JPEG-Komitee selbst zum Nachfolger erkorene JPEG2000-Norm konnte weder Digitalkamera- noch Browser-Hersteller für sich gewinnen. JPEG2000 basiert auf einer neueren Kompressionsmethode, der diskreten Wavelet-Transformation (DWT). Sie sollte weniger auffällige Artefakte erzeugen als JPEG.

Der vermeintliche Vorteil war allerdings eher theoretischer Natur, weil die starken JPEG-Blockartefakte ohnehin nur bei sehr hohen Kompressionsraten auftreten – die in der Praxis kaum angewandt werden. JPEG2000 scheiterte außerdem an einer unklaren Patentsituation sowie dem deutlich höheren Rechenaufwand. Weitere JPEG-Killer-Anwärter waren WebP von Google und HD Photo von Microsoft.

Die IJG, mittlerweile am Leipziger Institut für angewandte Informatik beheimatet, und das ISO-Komitee gehen augenscheinlich seit einigen Jahren getrennte Wege, weshalb sich die libjpeg der Independent JPEG Group und der ISO-Standard auseinanderentwickeln.

Vollbeding als IJG-Koordinator sieht die Zukunft von JPEG in einer Optimierung der DCT-Codierung und erweitert die libjpeg seit Version 8 um entsprechende Features, etwa SmartScale, das Skalierung ohne Qualitätsverlust ermöglichen sollte. Damit erstellte JPEGs können allerdings von Anwendungen, die ältere libjpeg-Versionen nutzen, nicht dargestellt werden.

Das Fedora-Projekt hat sich gegen die neue Version entschieden und nutzt stattdessen libjpeg-turbo, Mozilla arbeitet mittlerweile an einer eigenen JPEG-Bibliothek namens mozjpeg; beide basieren auf der ursprünglichen libjpeg. Die aktuelle libjpeg9 findet sich beispielsweise in cPicture und PhotoLine, Letzteres bietet beim Speichern aber keine SmartScale-Option.

Die ISO standardisiert neue JPEG-Features unter der Bezeichnung JPEG XT, die Independent JPEG Group schlägt mit JPEG 9 einen eigenen Weg ein.

Das JPEG-Komitee unternimmt derweil mit JPEG XT einen neuen Anlauf, ein universelleres Format zu schaffen – einen Standard, der das etablierte JPEG und Weiterentwicklungen vereinen soll. JPEG XT Teil 1 etwa beschreibt das Ursprungs-JPEG aus dem Jahr 1992. Zusätzlich werden HDR- und Lossless-Modi definiert.

Die Erweiterungen sind ebenfalls nicht kompatibel zum Original, jedoch sollen die Bilder mit alten Decodern angezeigt werden können. Dies will man mit einem zweischichtigen Aufbau realisieren: Mit Hilfe der ersten Schicht sollen alte Decoder eine 8-Bit-Version des JPEGs darstellen können, über die zweite Schicht erhalten aktuelle Decoder Zugriff auf den vollen Dynamikumfang der HDR-Variante. (atr)