Tiefenblick

Das geheime Leben von JPEG: Wie ein Format von 1992 das Internet eroberte

koboshiCo-founder
·10 min Lesezeit
Das geheime Leben von JPEG: Wie ein Format von 1992 das Internet eroberte
Zusammenfassung

JPEG ist keine Magie. Es ist eine Pipeline aus diskreten Kosinustransformationen, Quantisierungstabellen und Chroma-Subsampling, die Daten verwirft, die dein Auge ohnehin kaum wahrgenommen hatte. Dreiunddreissig Jahre spater dominiert es aus einem einzigen Grund: alles kann es offnen.

Offne eine beliebige .jpg-Datei in einem Hex-Editor. Die ersten beiden Bytes:

FF D8

Das ist der Start-of-Image-Marker (SOI). Jede JPEG-Datei beginnt damit. Jeder JPEG-Decoder auf der Erde sucht danach. Die folgenden Bytes teilen dem Decoder mit, welche JPEG-Variante vorliegt, welcher Farbraum erwartet wird und wo die Pixeldaten beginnen. Das Format ist alter als der Webbrowser, tragt aber laut dem Web Almanac 2025 immer noch etwa 57% aller Bilder im modernen Web.

Die Speicherkriese, die JPEG schuf

1986 belegte ein unkomprimiertes 640 x 480 Graustufenbild 307 KB Speicher. Ein Farbbild derselben Auflosung brauchte 921 KB. Zu einer Zeit, als eine 20-MB-Festplatte Hunderte Dollar kostete und 1,44-MB-Disketten das Standard-Austauschmedium waren, konnte ein einziges unkomprimiertes Foto zwei Drittel einer Diskette fullen.

Der Bedarf war offensichtlich: ein Standard-Komprimierungsformat fur kontinuierliche Tonwerte -- Fotografien, keine Strichzeichnungen. Mehrere Gruppen arbeiteten an dem Problem. Die Joint Photographic Experts Group (JPEG), 1986 von ISO/IEC und ITU-T gegrundet, verschmolz die besten Ideen zu einem einzigen Entwurf. Nach sechs Jahren Verfeinerung wurde der Standard 1992 als ISO/IEC 10918-1 veroffentlicht.

JPEG war nie als einziges Bildformat gedacht. Es wurde fur einen einzigen Job entworfen: Fotografien klein genug zu machen, um sie zu speichern und zu ubertragen. Das erledigt es, indem es Informationen in einer ganz bestimmten Reihenfolge verwirft.

Warum JPEG so gut komprimiert

JPEG-Komprimierung ist eine Pipeline, kein einzelner Algorithmus. Jede Stufe entfernt Daten, die das menschliche Sehsystem am wenigsten wahrscheinlich vermisst.

1. Farbraumkonvertierung (RGB -> YCbCr)

Dein Bildschirm zeigt RGB. JPEG speichert YCbCr. Der Y-Kanal tragt die Luminanz (Helligkeit). Cb und Cr tragen die Chrominanz (Blau- und Rot-Differenz). Das ist relevant, weil das menschliche Auge etwa 2,5 Millionen Zapfenzellen auf Helligkeit und nur 100.000 auf Farbe spezialisiert hat. Wir sehen Luminanzdetails deutlich besser als Farbdetails.

2. Chroma-Subsampling

Die meisten JPEGs verwenden 4:2:0-Subsampling. Auf jeweils 4 Luminanz-Samples kommen 1 Cb-Sample und 1 Cr-Sample. Das bedeutet: Die Chromakanale werden mit einem Viertel der Auflosung des Luma-Kanals gespeichert. Bei einem 4000 x 3000-Bild ist die Y-Ebene in voller Auflosung. Die Cb- und Cr-Ebenen sind jeweils 2000 x 1500. Damit reduziert man die Rohdaten um rund 50%, bevor uberhaupt echte Komprimierung beginnt -- und die meisten Betrachter bemerken es nicht.

3. Die diskrete Kosinustransformation (DCT)

Das Bild wird in 8 x 8-Pixel-Blocke aufgeteilt. Jeder Block durchlauft eine DCT, die raumliche Daten (Pixelwerte) in Frequenzdaten umwandelt (wie schnell sich die Werte uber den Block andern). Das Ergebnis ist eine 8 x 8-Matrix von Koeffizienten. Der Wert oben links ist der DC-Koeffizient -- die durchschnittliche Helligkeit des Blocks. Die anderen 63 sind AC-Koeffizienten, die zunehmend hochfrequente Details reprasentieren.

Hochfrequente Koeffizienten kodieren feine Texturen: Haare, Gras, Rauschen. Niedrigfrequente Koeffizienten kodieren grobe Formen: Himmel, Wande, Hautfarbe.

4. Quantisierung

Hier passiert der Verlust. JPEG wendet eine Quantisierungstabelle auf jeden DCT-Block an. Die Tabelle ist eine zweite 8 x 8-Matrix von Divisoren. Jeder DCT-Koeffizient wird durch seinen passenden Quantizer dividiert und auf die nachste ganze Zahl gerundet.

Die Standard-Quantisierungstabelle trifft hochfrequente Koeffizienten am hartesten:

16  11  10  16  24  40  51  61
12  12  14  19  26  58  60  55
14  13  16  24  40  57  69  56
14  17  22  29  51  87  80  62
18  22  37  56  68 109 103  77
24  35  55  64  81 104 113  92
49  64  78  87 103 121 120 101
72  92  95  98 112 100 103  99

Ein hochfrequenter Koeffizient von beispielsweise 7 wird durch 121 dividiert und auf 0 gerundet. Er ist weg. Irreversibel. Der Decoder sieht ihn nie. Das ist verlustbehaftete Komprimierung: Daten werden zerstort, nicht nur neu kodiert.

Bei Qualitat 90 werden die Quantizer durch einen kleineren Skalierungsfaktor dividiert. Bei Qualitat 50 ist der Skalierungsfaktor hoher. Mehr Koeffizienten werden zu Null. Die Datei wird kleiner. Das Bild wird weicher.

5. Entropiekodierung

Nach der Quantisierung werden die verbleibenden Koeffizienten im Zickzackmuster gescannt, mit Lauflangenkodierung (RLE) verarbeitet und mit Huffman-Kodierung komprimiert. Diese Stufe ist verlustfrei. Sie packt die bereits zerstorten Daten nur effizienter.

Das Ergebnis: Ein unkomprimiertes 12-MP-RGB-Bild ist 36 MB. Als JPEG mit Qualitat 90 und 4:2:0-Subsampling gespeichert, sinkt es auf ~3,5 MB. Das ist eine 10:1-Reduktion bei sichtbarem Qualitatsverlust erst unter Vergrosserung.

Wie verlustbehaftet ist es wirklich?

Der Schaden ist nicht gleichmassig verteilt.

QualitatTypische Grosse (12 MP)Visueller Effekt
95+~8 MBFast unsichtbar; bevorzugt fur Archivierung
90~3,5 MBLeichte Weichzeichnung; Standard fur Kameras
75~1,8 MBSichtbare Unscharfe in Feindetails; Web-Standard
50~1,0 MBBlockartefakte bei 100%-Zoom deutlich erkennbar
30~600 KBFarbbanderung, Moskito-Rauschen, fur Druck unbrauchbar

Bei sinkender Qualitat treten drei deutliche Artefakte auf:

  • Blocking: Sichtbare 8 x 8-Gitternetze, besonders bei sanften Farbverlaufen wie Himmeln.
  • Ringing: Oszillierende Hofe um hochkontrastige Kanten (Text vor Hintergrund).
  • Farbverschmierung: Chroma-Subsampling verlauft Farbe uber scharfe Grenzen hinweg.

Der wirkliche Killer ist der Generationsverlust (Generation Loss). Offne ein JPEG, bearbeite es, speichere erneut als JPEG. Jeder Speichervorgang durchlauft die gesamte Pipeline: RGB -> YCbCr -> Subsampling -> DCT -> Quantisierung. Die Rundungsfehler summieren sich. Nach 10 Generationen kann ein Bild aussehen wie ein Aquarell. Nach 50 ist es nicht mehr wiederzuerkennen.

Der Grunstich und andere Re-Komprimierungs-Eigenheiten

Speichere ein JPEG oft genug erneut, und dir fallt moglicherweise ein Farbtemperatur-Drift auf. Manche Bilder nehmen einen subtilen Grunstich an. Andere verschieben sich nach Magenta. Der Grund liegt in den Chromakanalen verborgen.

JPEG speichert Cb und Cr in reduzierter Auflosung und quantisiert sie aggressiv. Jeder Speichervorgang fuhrt Rundungsfehler in beiden Kanalen ein. Die Ruckkonvertierung nach RGB verwendet diese Matrix:

R = Y + 1.402 x (Cr - 128)
G = Y - 0.344136 x (Cb - 128) - 0.714136 x (Cr - 128)
B = Y + 1.772 x (Cb - 128)

Beachte, dass Grun aus beiden Cb und Cr berechnet wird. Wenn wiederholte Quantisierung Cb um auch nur einen einzigen Quantisierungsschritt nach oben und Cr nach unten verschiebt, driftet der G-Kanal. Eine positive Abweichung in Cb druckt Grun. Eine negative Abweichung in Cr hebt Grun an. Die Wechselwirkung ist nicht symmetrisch, weil die Koeffizienten -0.344136 und -0.714136 unterschiedliche Betrage haben. Das Ergebnis: eine langsame Ansammlung von Grun in manchen Bildbereichen, besonders dort, wo die ursprunglichen Chromawerte bereits nahe an Quantisierungsgrenzen lagen.

Das ist kein garantierter Effekt. Er hangt von den Quantisierungstabellen des Encoders, dem Subsampling-Modus und dem Bildinhalt ab. Aber er ist real, reproduzierbar und einer der Grunde, warum professionelle Workflows erneutes Speichern von JPEGs vermeiden.

Wenn JPEG so fehlerhaft ist, warum nutzt alles es?

JPEG ist nicht popular, weil es perfekt ist. Es ist popular, weil es ausreichend und universell ist.

  • Keine Patentblockade: Das Baseline-JPEG-Patent (gehalten von Forgent Networks) erlosch 2006. Das Format ist lizenzfrei.
  • Hardware-Dekodierung: Jede Kamera, jedes Telefon, jeder Drucker und jeder Browser hat einen JPEG-Decoder in Silizium oder hochoptimiertem C. Das Rendern kostet fast nichts.
  • Gut genug: Fur Social Media, Nachrichtenseiten und E-Mail-Anhange ist JPEG in Qualitat 75 auf einem Telefonbildschirm vom Original nicht zu unterscheiden.
  • Okosystem-Tragheit: Content Management Systems, CDNs, Bildbibliotheken und Legacy-Archive sprechen alle JPEG. Sie zu ersetzen erfordert mehr als ein besseres Format. Es erfordert ein besseres Format plus einen Grund, Petabytes bestehender Assets zu migrieren.

Die Formate, die hatten gewinnen sollen

Mehrere Formate haben versucht, JPEG zu entthronen. Keines hat es vollstandig geschaft.

FormatLossyLosslessTransparenzAnimationMax. BittiefeWichtigster Vorteil
JPEGJaNeinNeinNein8-BitUniverselle Unterstutzung
PNGNeinJaJaNein16-BitPerfekt verlustfrei, Alpha
WebPJaJaJaJa8-Bit25-35% kleiner als JPEG, browser-nativ
HEICJaJaJaJa16-Bit~50% kleiner als JPEG, Apple-Standard
AVIFJaJaJaJa12-BitBeste Komprimierung heute, lizenzfrei
JPEG XLJaJaJaJa32-BitVerlustfreie JPEG-Rekomprimierung, progressives Dekodieren

PNG loste das verlustfreie Problem, produziert aber fur Fotos Dateien, die 5-10x grosser sind als JPEG. Es dominiert Screenshots, UI-Assets und Grafiken.

WebP (Google, 2010) schlagt JPEG bei der Grosse und fugt Transparenz und Animation hinzu. Es wird inzwischen von jedem grossen Browser ausgeliefert. Der Web Almanac 2025 setzt WebP bei 11% der LCP-Bilder an, gegenuber 7% im Jahr 2024. Es ist der sichere Upgrade-Pfad heute.

HEIC (Apple, 2017) verwendet HEVC-Komprimierung in einem ISOBMFF-Container. Es ist ~40-50% kleiner als JPEG und speichert mehrere Bilder pro Datei. Es dominiert das Apple-Okosystem und stockt uberall sonst wegen HEVC-Patentpools.

AVIF (AOM, 2019) leitet sich von AV1-Video ab. Es erreicht die besten Komprimierungsraten jedes breit unterstutzten Formats -- rund 30% kleiner als WebP bei gleicher Qualitat. Der Nachteil ist die Dekodiergeschwindigkeit. AVIF-Bilder konnen auf Mobilgeraten 2-3x langer zum Rendern brauchen als JPEG, was Akku frisst und den Largest Contentful Paint verzogert.

JPEG XL (ISO/IEC 18181, 2021) ist technisch allen uberlegen. Es komprimiert 50-60% kleiner als JPEG. Es dekodiert schnell. Es unterstutzt progressives Dekodieren: Ein brauchbares Bild erscheint bereits nach dem Herunterladen von ~1% der Datei. Am wichtigsten: Es kann bestehende JPEGs verlustfrei rekomprimieren fur ~20% Grosseinsparung mit bitgenauer Wiederherstellung des Originals. Kein anderes Format kann das.

Wo wir jetzt stehen

JPEG XL hatte eine schwierige Kindheit. Google fugte 2021 experimentelle Unterstutzung in Chrome hinzu, entfernte sie dann am 31. Oktober 2022 -- die "Halloween-Entscheidung". Der genannte Grund: unzureichender inkrementeller Nutzen gegenuber bestehenden Formaten. Der Backlash war sofort. Das Chromium-Issue wurde das zweitmeist-gestarte in der Projektgeschichte. Google wurde vorgeworfen, AVIF zu schutzen, ein Format, das mit der Alliance for Open Media verknupft ist, die Google mitbegrundete.

Ende 2025 drehte Chromium um. Ein neuer Rust-Decoder (jxl-rs) landete in Chrome Canary. Chrome 145, veroffentlicht im Februar 2026, brachte JPEG XL-Unterstutzung hinter einem Flag. Safari unterstutzt es seit 2023. Firefox Nightly integriert denselben Rust-Decoder. JPEG XL ist noch nicht standardmassig aktiviert, aber es ist zuruck in der Codebasis.

AVIF ist unterdessen die pragmatische Wahl fur 2026. Browserunterstutzung ist breit. Encoder verbessern sich. Cloudinary und Cloudflare liefern beide AVIF automatisch uber Accept-Header-Verhandlung aus. Die mediane Seite, die AVIF oder WebP ausliefert, zeigt 81% gute LCP-Raten gegenuber 64% fur rein JPEG-basierte Seiten, laut CoreDash-Daten.

Fazit

JPEG ist ein 33 Jahre alter Kompromiss. Es wirft Farbauflosung, hochfrequente Textur und numerische Prazision uber Bord im Austausch fur Dateigrossen, die digitale Fotografie in den 1990ern uberhaupt erst machbar machten. Die Artefakte sind wohlbekannt. Der Generationsverlust ist real. Der Grunstich passiert.

Trotzdem halt JPEG aus demselben Grund durch wie QWERTY: Die Wechselkosten sind hoher als der Schmerz des Bleibens.

Der pragmatische Weg nach vorne ist geschichtet:

  1. Bewahre hochwertige Originale. Archiviere Originale als PNG, TIFF oder JPEG in Qualitat 95+. Bearbeite nie erneut von einem Web-Export in Qualitat 75.
  2. Liefere moderne Formate dynamisch aus. Nutze ein CDN oder einen Bildservice, der AVIF, WebP oder JPEG XL basierend auf dem Accept-Header des Browsers verhandelt. Speichere ein Original; lasse die Edge bei Bedarf konvertieren.
  3. Rekodiere JPEGs nicht in Stapeln. Jede Generation zerstort Daten. Wenn du kleinere Dateien brauchst, kodier vom Original neu, nicht von einem anderen JPEG.

JPEG wird nicht plotzlich sterben. Es wird dasselbe Schicksal wie GIF erleiden: uberall noch unterstutzt, uberall noch in jedem Viewer offnend, aber zunehmend von Formaten uberflugelt, die denselben Job mit weniger Bytes und weniger Artefakten erledigen. Der Unterschied ist, dass diesmal die Ersatzformate tatsachlich gewinnen.

Mehr Blog-Posts zum Lesen