Uveden je format kompresije slike QOI

Predstavljen je novi lagani format kompresije slike bez gubitaka - QOI (Quite OK Image), koji vam omogućava da vrlo brzo kompresujete slike u RGB i RGBA prostorima boja. Kada se porede performanse sa PNG formatom, jednonitna referentna implementacija QOI formata u jeziku C, koja ne koristi SIMD instrukcije i optimizacije sklopa, je 20-50 puta brža u brzini kodiranja od biblioteka libpng i stb_image, i 3 -4 puta brže u brzini dekodiranja. Što se tiče efikasnosti kompresije, QOI je blizu libpng-a u većini testova (u nekim testovima je malo ispred, au drugima je inferioran), ali generalno je značajno ispred stb_image (pojačanje do 20%).

Referentna implementacija QOI u C je samo 300 linija koda. Izvorni kod se distribuira pod MIT licencom. Dodatno, entuzijasti su pripremili implementacije kodera i dekodera na Go, Zig i Rust jezicima. Projekat razvija Dominic Szablewski, programer igara sa iskustvom u kreiranju biblioteke za dekodiranje MPEG1 videa. Koristeći QOI format, autor je želio pokazati da je moguće stvoriti efikasnu i jednostavnu alternativu prekompliciranim modernim formatima za kodiranje slika.

Performanse QOI su nezavisne od rezolucije i prirode kodirane slike (O(n)). Kodiranje i dekodiranje se izvode u jednom prolazu - svaki piksel se obrađuje samo jednom i može se kodirati na jedan od 4 načina, odabranih ovisno o vrijednostima prethodnih piksela. Ako se sljedeći piksel poklapa s prethodnim, tada se brojač ponavljanja samo povećava. Ako se piksel podudara s jednom od vrijednosti u baferu od 64 prošla piksela, tada se vrijednost zamjenjuje 6-bitnim pomakom u odnosu na prošli piksel. Ako je boja prethodnog piksela malo drugačija, razlika je naznačena u kratkom obliku (kratko kodiranje razlika u komponentama boje koje se uklapaju u 2,4, 5 i XNUMX bita). Ako optimizacija nije primjenjiva, daje se puna rgba vrijednost.

izvor: opennet.ru

Dodajte komentar