format komprèsi gambar QOI ngenalaken

A entheng, format kompresi gambar lossless anyar wis ngenalaken - QOI (Cukup OK Gambar), sing ngijini sampeyan kanggo cepet banget compress gambar ing spasi werna RGB lan RGBA. Nalika mbandhingake kinerja karo format PNG, implementasi referensi siji-threaded saka format QOI ing C, sing ora nggunakake instruksi SIMD lan optimizations Déwan, 20-50 kaping luwih cepet ing kacepetan enkoding saka perpustakaan libpng lan stb_image, lan 3- 4 kaping luwih cepet ing kacepetan dekoding. Ing syarat-syarat efisiensi komprèsi, QOI cedhak libpng ing paling tes (ing sawetara tes iku rada ahead, lan ing liyane rodok olo), nanging ing umum iku noticeably ahead saka stb_image (gain nganti 20%).

Implementasi referensi QOI ing C mung 300 baris kode. Kode sumber disebarake miturut lisensi MIT. Kajaba iku, para penggemar wis nyiapake implementasi encoder lan dekoder ing basa Go, Zig lan Rust. Proyek iki dikembangake dening Dominic Szablewski, pangembang game sing duwe pengalaman nggawe perpustakaan kanggo dekoding video MPEG1. Nggunakake format QOI, penulis pengin nuduhake manawa bisa nggawe alternatif sing efektif lan gampang kanggo format enkoding gambar modern sing rumit banget.

Kinerja QOI bebas saka resolusi lan sifat gambar sing dienkode (O(n)). Enkoding lan dekoding ditindakake ing siji pass - saben piksel diproses mung sapisan lan bisa dienkode ing salah siji saka 4 cara, dipilih gumantung saka nilai piksel sadurunge. Yen piksel sabanjure pas karo sing sadurunge, counter pengulangan mung mundhak. Yen piksel cocog karo salah sawijining nilai ing buffer piksel 64 kepungkur, banjur nilai kasebut diganti karo offset 6-bit menyang piksel kepungkur. Yen warna piksel sadurunge rada beda, prabédan kasebut dituduhake kanthi singkat (enkoding singkat saka beda komponen warna sing cocog karo 2,4, 5 lan XNUMX bit). Yen optimasi ora ditrapake, nilai rgba lengkap diwenehake.

Source: opennet.ru

Add a comment