QOI රූප සම්පීඩන ආකෘතිය හඳුන්වා දෙන ලදී

නව සැහැල්ලු, පාඩු රහිත රූප සම්පීඩන ආකෘතියක් හඳුන්වා දී ඇත - QOI (ඉතා හරි රූපය), එය ඔබට RGB සහ RGBA වර්ණ අවකාශයන්හි රූප ඉතා ඉක්මනින් සම්පීඩනය කිරීමට ඉඩ සලසයි. PNG ආකෘතිය සමඟ කාර්ය සාධනය සංසන්දනය කරන විට, SIMD උපදෙස් සහ එකලස් කිරීමේ ප්‍රශස්තිකරණය භාවිතා නොකරන C භාෂාවෙන් QOI ආකෘතියේ තනි-නූල් යොමු ක්‍රියාත්මක කිරීම, libpng සහ stb_image පුස්තකාලවලට වඩා කේතන වේගය 20-50 ගුණයකින් වේගවත් වේ, සහ 3 - විකේතන වේගය 4 ගුණයකින් වේගවත්. සම්පීඩන කාර්යක්ෂමතාව අනුව, බොහෝ පරීක්ෂණ වලදී QOI libpng ට ආසන්න වේ (සමහර පරීක්ෂණ වලදී එය තරමක් ඉදිරියෙන් ඇති අතර අනෙක් ඒවා පහත් වේ), නමුත් සාමාන්‍යයෙන් එය stb_image ට වඩා සැලකිය යුතු ලෙස ඉදිරියෙන් සිටී (20% දක්වා වැඩි වීම).

C හි QOI හි යොමු ක්‍රියාත්මක කිරීම කේත පේළි 300 ක් පමණි. මූලාශ්‍ර කේතය MIT බලපත්‍රය යටතේ බෙදා හැරේ. මීට අමතරව, උද්යෝගිමත් අය Go, Zig සහ Rust භාෂාවලින් කේතීකරණ සහ විකේතක ක්‍රියාත්මක කිරීමට සූදානම් කර ඇත. MPEG1 වීඩියෝ විකේතනය කිරීම සඳහා පුස්තකාලයක් නිර්මාණය කිරීමේ පළපුරුද්ද ඇති ක්‍රීඩා සංවර්ධකයෙකු වන ඩොමිනික් සබල්ව්ස්කි විසින් මෙම ව්‍යාපෘතිය සංවර්ධනය කෙරේ. QOI ආකෘතිය භාවිතා කරමින්, කතුවරයාට අවශ්‍ය වූයේ අතිශය සංකීර්ණ නවීන රූප කේතීකරණ ආකෘති සඳහා ඵලදායී හා සරල විකල්පයක් නිර්මාණය කළ හැකි බවයි.

QOI කාර්ය සාධනය කේතනය කරන ලද රූපයේ (O(n)) විභේදනය සහ ස්වභාවයෙන් ස්වාධීන වේ. කේතනය කිරීම සහ විකේතනය කිරීම එක් පාස් එකකින් සිදු කෙරේ - සෑම පික්සලයක්ම එක් වරක් පමණක් සැකසෙන අතර පෙර පික්සලවල අගයන් අනුව තෝරා ගන්නා ලද ක්‍රම 4න් එකකින් කේතනය කළ හැක. ඊළඟ පික්සලය පෙර පික්සලය සමඟ සමපාත වන්නේ නම්, පුනරාවර්තන කවුන්ටරය පමණක් වැඩි වේ. පික්සලය 64 අතීත පික්සල් බෆරයේ එක් අගයකට ගැලපේ නම්, එම අගය පසුගිය පික්සලයට බිට් 6 ඕෆ්සෙට් එකකින් ප්‍රතිස්ථාපනය වේ. පෙර පික්සලයේ වර්ණය තරමක් වෙනස් නම්, වෙනස කෙටි ආකෘතියකින් දැක්වේ (බිටු 2,4, 5 සහ XNUMX ට ගැලපෙන වර්ණ සංරචකවල වෙනස්කම් කෙටි කේතනය කිරීම). ප්‍රශස්තිකරණය අදාළ නොවේ නම්, සම්පූර්ණ rgba අගය සපයනු ලැබේ.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න