Umbizo la mbano la picha la QOI limeanzishwa

Muundo mpya wa ukandamizaji wa picha nyepesi na usio na hasara umeanzishwa - QOI (Picha Sawa kabisa), ambayo hukuruhusu kubana picha haraka sana kwenye nafasi za rangi za RGB na RGBA. Wakati wa kulinganisha utendakazi na umbizo la PNG, utekelezaji wa marejeleo yenye nyuzi moja ya umbizo la QOI katika lugha ya C, ambayo haitumii maagizo ya SIMD na uboreshaji wa mkusanyiko, ni kasi ya mara 20-50 katika kasi ya usimbaji kuliko maktaba ya libpng na stb_image, na 3. -mara 4 kwa kasi ya kusimbua. Kwa upande wa ufanisi wa ukandamizaji, QOI iko karibu na libpng katika majaribio mengi (katika majaribio mengine iko mbele kidogo, na kwa wengine ni duni), lakini kwa ujumla iko mbele ya stb_image (faida ya hadi 20%).

Utekelezaji wa marejeleo wa QOI katika C ni mistari 300 tu ya msimbo. Nambari ya chanzo inasambazwa chini ya leseni ya MIT. Zaidi ya hayo, wapenda shauku wametayarisha utekelezaji wa visimbaji na visimbaji katika lugha za Go, Zig na Rust. Mradi huu unatayarishwa na Dominic Szablewski, msanidi wa mchezo na uzoefu wa kuunda maktaba ya kusimbua video ya MPEG1. Kwa kutumia umbizo la QOI, mwandishi alitaka kuonyesha kwamba inawezekana kuunda njia mbadala yenye ufanisi na rahisi kwa umbizo la usimbaji picha za kisasa zilizo ngumu zaidi.

Utendaji wa QOI hautegemei azimio na asili ya picha iliyosimbwa (O(n)). Usimbaji na usimbuaji hufanywa kwa pasi moja - kila pikseli inachakatwa mara moja tu na inaweza kusimba katika moja ya njia 4, iliyochaguliwa kulingana na maadili ya saizi zilizopita. Ikiwa pikseli inayofuata inalingana na ya awali, basi counter ya kurudia huongezeka tu. Ikiwa pikseli inalingana na moja ya thamani katika bafa ya pikseli 64 zilizopita, basi thamani hiyo inabadilishwa na mkato wa biti 6 hadi pikseli iliyopita. Ikiwa rangi ya saizi ya awali ni tofauti kidogo, tofauti inaonyeshwa kwa fomu fupi (encoding fupi ya tofauti katika vipengele vya rangi vinavyoingia kwenye bits 2,4, 5 na XNUMX). Ikiwa uboreshaji hautumiki, thamani kamili ya rgba hutolewa.

Chanzo: opennet.ru

Kuongeza maoni