QOI Bildkompressiounsformat agefouert

En neit liicht, lossless Bildkompressiounsformat gouf agefouert - QOI (Quite OK Image), wat Iech erlaabt Iech ganz séier Biller an de RGB- a RGBA-Faarfraum ze kompriméieren. Wann Dir d'Performance mam PNG Format vergläicht, ass d'Single-threaded Referenz Implementatioun vum QOI Format an der C Sprooch, déi keng SIMD Instruktiounen an Assemblée Optimisatiounen benotzt, 20-50 Mol méi séier a Kodéierungsgeschwindegkeet wéi d'libpng an stb_image Bibliothéiken, an 3 -4 Mol méi séier an Dekodéierungsgeschwindegkeet. Wat d'Kompressiounseffizienz ugeet, ass QOI no bei libpng an de meeschten Tester (an e puer Tester ass et liicht vir, an an aneren ass et schwaach), awer allgemeng ass et merkbar virun stb_image (Gewënn vu bis zu 20%).

D'Referenzimplementatioun vu QOI am C ass nëmmen 300 Zeilen Code. De Quellcode gëtt ënner der MIT Lizenz verdeelt. Zousätzlech hunn Enthusiaster Implementatioune vun Encoderen an Decoderen an de Go, Zig a Rust Sprooche virbereet. De Projet gëtt vum Dominic Szablewski entwéckelt, e Spillentwéckler mat Erfahrung an der Schafung vun enger Bibliothéik fir MPEG1 Video Decodéierung. Mat dem QOI Format wollt den Auteur weisen datt et méiglech ass eng effektiv an einfach Alternativ zu iwwerkomplizéierten modernen Bildkodéierungsformater ze kreéieren.

D'QOI Leeschtung ass onofhängeg vun der Opléisung an der Natur vum kodéierte Bild (O (n)). Kodéierung an Decodéierung ginn an engem Pass duerchgefouert - all Pixel gëtt nëmmen eemol veraarbecht a kann op ee vu 4 Weeër kodéiert ginn, ofhängeg vun de Wäerter vu fréiere Pixelen ausgewielt. Wann de nächste Pixel mat deem virdru fällt, da geet de Widderhuelungszähler nëmmen erop. Wann de Pixel mat engem vun de Wäerter am 64 vergaangene Pixelbuffer entsprécht, da gëtt de Wäert duerch e 6-Bit Offset zum vergaangene Pixel ersat. Wann d'Faarf vum fréiere Pixel liicht anescht ass, gëtt den Ënnerscheed a kuerzer Form uginn (kuerz Kodéierung vun den Ënnerscheeder an de Faarfkomponenten, déi an 2,4, 5 a XNUMX Bits passen). Wann d'Optimiséierung net applicabel ass, gëtt de vollen rgba-Wäert geliwwert.

Source: opennet.ru

Setzt e Commentaire