QOI tasvirni siqish formati joriy etildi

RGB va RGBA rang fazolarida tasvirlarni juda tez siqish imkonini beruvchi yangi yengil, yoʻqotishsiz tasvirni siqish formati – QOI (juda yaxshi tasvir) taqdim etildi. PNG formati bilan ishlashni solishtirganda, SIMD ko'rsatmalari va montajni optimallashtirishdan foydalanmaydigan S tilidagi QOI formatining bir torli mos yozuvlar ilovasi libpng va stb_image kutubxonalariga qaraganda kodlash tezligida 20-50 baravar tezroq va 3 - dekodlash tezligida 4 baravar tezroq. Siqilish samaradorligi bo'yicha QOI ko'pchilik testlarda libpng ga yaqin (ba'zi testlarda u biroz oldinda, boshqalarida esa past), lekin umuman olganda stb_image dan sezilarli darajada oldinda (20% gacha).

C tilida QOI ning mos yozuvlar bajarilishi atigi 300 satr koddir. Manba kodi MIT litsenziyasi ostida tarqatiladi. Bundan tashqari, ishqibozlar Go, Zig va Rust tillarida kodlovchilar va dekoderlarning ilovalarini tayyorladilar. Loyihani MPEG1 videosini dekodlash uchun kutubxona yaratish tajribasiga ega o‘yin ishlab chiqaruvchisi Dominik Szablevski ishlab chiqmoqda. QOI formatidan foydalanib, muallif haddan tashqari murakkab zamonaviy tasvir kodlash formatlariga samarali va oddiy muqobil yaratish mumkinligini ko'rsatmoqchi bo'lgan.

QOI ishlashi kodlangan tasvirning o'lchamlari va tabiatiga bog'liq emas (O(n)). Kodlash va dekodlash bir o'tishda amalga oshiriladi - har bir piksel faqat bir marta qayta ishlanadi va oldingi piksellarning qiymatlariga qarab tanlangan 4 usuldan birida kodlanishi mumkin. Agar keyingi piksel avvalgisiga to'g'ri kelsa, takrorlash hisoblagichi faqat ortadi. Agar piksel o'tgan 64 piksel buferidagi qiymatlardan biriga mos kelsa, qiymat o'tgan pikselga 6 bitli ofset bilan almashtiriladi. Agar oldingi pikselning rangi biroz boshqacha bo'lsa, farq qisqa shaklda ko'rsatiladi (2,4, 5 va XNUMX bitga mos keladigan rang komponentlaridagi farqlarning qisqacha kodlanishi). Agar optimallashtirish qo'llanilmasa, to'liq rgba qiymati taqdim etiladi.

Manba: opennet.ru

a Izoh qo'shish