Sebopeho sa compression sa setšoantšo sa QOI se hlahisitsoe

Ho hlahisitsoe sebopeho se secha se bobebe, se sa lahleheloeng ke setšoantšo - QOI (Setšoantšo se Lokileng), se u lumellang hore u hatelle litšoantšo ka potlako libakeng tsa mebala tsa RGB le RGBA. Ha ho bapisoa ts'ebetso le sebopeho sa PNG, ts'ebetsong ea litšupiso tse nang le khoele e le 'ngoe ea sebopeho sa QOI ka puo ea C, e sa sebeliseng litaelo tsa SIMD le ntlafatso ea kopano, e lebelo la encoding ka makhetlo a 20-50 ho feta lilaebrari tsa libpng le stb_image, le 3 -Makhetlo a 4 ka potlako ka lebelo la ho hlakisa. Mabapi le katleho ea khatello, QOI e haufi le libpng litekong tse ngata (litekong tse ling e ka pele hanyane, 'me ho tse ling e tlase), empa ka kakaretso e ka pele ho stb_image (phaello e fihlang ho 20%).

Ts'ebetsong ea litšupiso tsa QOI ho C ke mela e 300 feela ea khoutu. Khoutu ea mohloli e ajoa tlasa laesense ea MIT. Ho feta moo, batho ba chesehang ba lokiselitse ts'ebetsong ea li-encoder le li-decoder ka lipuo tsa Go, Zig le Rust. Morero ona o ntse o ntlafatsoa ke Dominic Szablewski, moqapi oa lipapali ea nang le boiphihlelo ba ho theha laeborari bakeng sa ho hlophisa video ea MPEG1. Ka ho sebelisa sebopeho sa QOI, sengoli se ne se batla ho bontša hore hoa khoneha ho theha mokhoa o sebetsang le o bonolo ho liforomo tsa sejoale-joale tsa khouto ea litšoantšo.

Ts'ebetso ea QOI e ikemetse ho qeto le mofuta oa setšoantšo se kentsoeng (O(n)). Encoding le decoding li etsoa ka pase e le 'ngoe - pixel e' ngoe le e 'ngoe e sebetsoa hanngoe feela mme e ka kengoa ka tsela e' ngoe ea tse 4, e khethiloeng ho latela boleng ba lipikselse tse fetileng. Haeba pixel e latelang e lumellana le e fetileng, joale k'hamera ea ho pheta-pheta e eketseha feela. Haeba pixel e ts'oana le e 'ngoe ea litekanyetso tse 64 tse fetileng tsa pixel buffer, joale boleng bo nkeloa sebaka ke 6-bit offset ho pixel e fetileng. Haeba 'mala oa pixel e fetileng o fapane hanyenyane, phapang e bontšoa ka mokhoa o khutšoanyane (encoding e khutšoanyane ea liphapang tsa likarolo tsa mebala tse lumellanang le 2,4, 5 le XNUMX bits). Haeba ntlafatso e sa sebetse, boleng bo felletseng ba rgba bo fanoe.

Source: opennet.ru

Eketsa ka tlhaloso