In den späten 1980er-Jahren war das Speichern und Übertragen fotografischer Bilder brutal teuer: Ein unkomprimiertes Farbfoto verbrauchte Hunderttausende Bytes. Die gemeinsame Expertengruppe für Fotografie von ISO/IEC begann 1986 mit der Arbeit an einem gemeinsamen Standard für die Kompression von Standbildern.
Das Ergebnis, JPEG (ISO/IEC 10918), wurde 1992 fertiggestellt; die ITU übernahm im September 1992 den identischen Text als Empfehlung T.81. Das JPEG-Komitee beschreibt das Kerncodiersystem als das bekannte, Huffman-codierte, DCT-basierte verlustbehaftete Bildformat.
Der Trick ist wahrnehmungsbezogen: Die Transformation konzentriert die Energie des Bildes in wenigen Koeffizienten, und die Quantisierung verwirft kleine Unterschiede, die das menschliche Sehen nicht auflösen kann. Da Encoder und Decoder dieselben Regeln verwenden, kann jedes konforme Gerät jedes konforme Bild lesen.
Verwirf, was das Auge ignoriert, behalte den Rest
Die DCT konzentriert die Bildenergie, sodass die meisten Koeffizienten verworfen werden können.
Die Quantisierung passt die Codierung an das menschliche Sehen an statt an mathematische Exaktheit.
Ein einziger internationaler Standard bedeutete, dass eine Datei auf jedem Gerät funktionierte.
Die verlustbehaftete Kompression ermöglichte eine starke Größenreduzierung, die digitale Fotos nutzbar machte.
Optimiere für den Menschen, der die Ausgabe wahrnimmt, nicht für die Daten selbst: Wenn der Konsument den Unterschied nicht erkennen kann, sind die verschwendeten Bits Kosten ohne Wert.
JPEG wurde zwei Jahrzehnte lang zum am weitesten verbreiteten Bildformat im Web und in Kameras, und sein Erfolg brachte die Familien JPEG 2000 und JPEG XS hervor. Der wahrnehmungsbasierte Codierungstrick, den es bewies, bildet auch die Grundlage für Videoformate wie MPEG.
DEN BELEGEN FOLGEN
Die Quellen
- JPEG — Overview of JPEG 1 JPEG (ISO/IEC JTC 1/SC 29) · jpeg.org
- ITU-T Recommendation T.81 (09/92) — Digital compression and coding of continuous-tone still images International Telecommunication Union · itu.int