Uuendusena on esitatud kergekaaluline kadudeta pildikompressiooni formaat â QOI (Quite OK Image), mis vĂ”imaldab vĂ€ga kiiresti suruda pilte RGB ja RGBA vĂ€rviruume. QOI formati ĂŒhemĂ”tteline viidatud rakendus C keeles, mis ei kasuta SIMD-kĂ€ske ega assembly optimeerimist, saavutab kodeerimiskiirus, mis on 20â50 korda parem kui libpng ja stb_image raamatukogudel, ning dekodeerimiskiirus on 3â4 korda kiirem. Surve efektiivsuse osas on QOI enamikus testides libpng'ile lĂ€hedane (mĂ”nes testis on see veidi parem ja teises kehvem), kuid ĂŒldiselt ĂŒletab see selgelt stb_image'i (kasu ulatub kuni 20%).
QOI standardne teostus C keeles koosneb kokku 300 koodireast. Allikaid jagatakse MIT litsentsi alusel. Lisaks on entusiastid loonud kodeerimise ja dekodeerimise teostuse Go, Zig ja Rust keeltes. Projekti arendab Dominic Szablewski, mÀngude arendaja, kellel on kogemus MPEG1-video dekodeerimise teegi loomisel. QOI formaadi abil soovib autor nÀidata, et on vÔimalik luua tÔhus ja lihtne alternatiiv keerukatele tÀnapÀevastele pildikodeerimise vormaatidele.
QOI jĂ”udlus ei sĂ”ltu pildi eraldusvĂ”imest ja iseloomust (O(n)). Kodeerimine ja dekodeerimine toimub ĂŒhe lĂ€bimise jooksul â iga piksel töödeldakse ainult kord ja vĂ”ib olla kodeeritud nelja erineva viisi jĂ€rgi, sĂ”ltuvalt eelnevate pikslite vÀÀrtustest. Kui jĂ€rgmine piksel vastab eelnevale, suurendatakse ainult korduse loendit. Kui piksel vastab mĂ”nele vÀÀrtusele 64 eelneva pikseli puhvrisse, nĂ€idatakse vÀÀrtuse asemel 6-bitine nihke eelneva pikseli juurde. Kui eelmise pikseli vĂ€rv erineb vaid veidi, siis nĂ€idatakse lĂŒhidalt erinevust (vĂ€rvi komponentide lĂŒhendatud kodeerimine, mis mahub 2, 4 ja 5 bitti). Kui optimeerimist ei saa rakendada, nĂ€idatakse tĂ€ielikku rgba vÀÀrtust.
Allikas: opennet.ru
