Das QOI-Bildkompressionsformat wurde vorgestellt.

Ein neues, leichtgewichtiges, verlustfreies Bildkompressionsformat wurde vorgestellt – QOI (Quite OK Image). Es ermöglicht eine extrem schnelle Kompression von Bildern in den Farbmodi RGB und RGBA. Im Vergleich zur Leistungsfähigkeit des PNG-Formats übertrifft die einadge Basis-Implementierung von QOI in C, die keine SIMD-Instruktionen oder Assemblierungsoptimierungen verwendet, die Kodierungsgeschwindigkeit um das 20- bis 50-Fache gegenüber den Bibliotheken libpng und stb_image und die Dekodierungsgeschwindigkeit um das 3- bis 4-Fache. In Bezug auf die Kompressionseffizienz liegt QOI in den meisten Tests nahe bei libpng (in einigen Tests übertrifft es leicht, in anderen fällt es zurück), aber insgesamt übertrifft es deutlich stb_image (Gewinn von bis zu 20%).

Die Referenzimplementierung von QOI in C umfasst lediglich 300 Zeilen Code. Der Quellcode wird unter der MIT-Lizenz veröffentlicht. Darüber hinaus haben Enthusiasten Encoder- und Decoder-Implementierungen in den Programmiersprachen Go, Zig und Rust erstellt. Das Projekt wird von Dominic Szablewski, einem erfahrenen Spieleentwickler, vorangetrieben, der Erfahrung in der Erstellung einer Bibliothek zur Dekodierung von MPEG1-Video hat. Mit dem QOI-Format wollte der Autor demonstrieren, dass es möglich ist, eine effiziente und einfache Alternative zu den überkomplizierten modernen Bildcodierungsformaten zu schaffen.

Die QOI-Leistung ist unabhängig von der Auflösung und der Art des kodierten Bildes (O(n)). Die Kodierung und Dekodierung erfolgt in einem Durchgang – jeder Pixel wird nur einmal verarbeitet und kann auf eine der 4 Arten kodiert werden, die abhängig von den Werten der vorherigen Pixel ausgewählt werden. Wenn der aktuelle Pixel mit dem vorherigen übereinstimmt, wird lediglich der Zähler für die Wiederholungen erhöht. Falls der Pixel mit einem der Werte im Puffer der 64 vorherigen Pixel übereinstimmt, wird anstelle des Wertes ein 6-Bit-Versatz zum vorherigen Pixel angegeben. Wenn die Farbe des vorherigen Pixels nur geringfügig abweicht, wird die Abweichung in verkürzter Form angegeben (verkortrierte Kodierung der Farbunterschiede, die innerhalb von 2, 4 und 5 Bit liegen). Wenn die Optimierung nicht anwendbar ist, wird der vollständige Wert rgba angegeben.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster