Die Firma Google hat die neue Open-Source-Bibliothek jpegli mit einer Implementierung eines JPEG-Bildercodierers und -decoders vorgestellt. Die Bibliothek enthält zusätzliche Optimierungen zur Verbesserung der Codierungseffizienz, die eine Compression von hochqualitativen Bildern um 35 % im Vergleich zu herkömmlichen JPEG-Codecs ermöglichen. Im Vergleich zur libjpeg-turbo erzielt die jpegli-Bibliothek ein ähnliches Qualitätsniveau bei einer Reduzierung der Bitrate um 32 %. Auf der API- und ABI-Ebene ist die Bibliothek vollständig kompatibel mit libjpeg62 und kann für einen nahtlosen Austausch verwendet werden. Der Code der Bibliothek ist in C++ geschrieben und wird unter der BSD-Lizenz veröffentlicht.

Die Erhöhung des Kompressionsniveaus wird durch den Einsatz fortschrittlicher Technologien erreicht, die Rauschen in Bildern reduzieren und die Qualität steigern. Dabei kommen effektivere Methoden der psychovisuellen Modellierung zum Einsatz, um auftretende Artefakte zu minimieren. Insbesondere nutzt jpegli adaptive Quantisierungsheuristiken, die im JPEG XL-Projekt verwendet werden, sowie verbesserte Algorithmen zur Auswahl von Quantisierungs-Matrizen und zur Berechnung von Zwischenergebnissen.
Die jpegli-Bibliothek ermöglicht das Codieren von Bildern mit mehr als 10 Bit pro Farbkomponente. Die Ergebnisse der neuen Codierungsalgorithmen passen sich dabei an das traditionelle JPEG-Modell an, das nur 8 Bit pro Farbkomponente erlaubt. Diese Besonderheit gewährleistet die Kompatibilität mit bestehenden Decodern, die auf die 8-Bit-Darstellung von Farbkomponenten ausgelegt sind.
Mit jpegli kodierte Bilder entsprechen vollständig dem JPEG-Standard, erfordern keine speziellen Decoder und können in gängigen JPEG-Viewern und Webbrowsern angezeigt werden. Der Einsatz eines eigenen Decoders zum Entpacken von mit jpegli komprimierten Bildern ermöglicht eine zusätzliche Reduzierung von Artefakten. Die Kodierungsgeschwindigkeit mit jpegli ist vergleichbar mit den Bibliotheken libjpeg-turbo und MozJPEG.
Quelle: opennet.ru
