Google සහ Binomial open source Basis Universal texture compression system

Google සහ Binomial විවෘත කළා මූලාශ්ර පාඨ විශ්ව පදනම, කාර්යක්‍ෂම වයනය සම්පීඩනය සඳහා කෝඩෙක් සහ රූප සහ වීඩියෝ පාදක වයනය බෙදා හැරීම සඳහා ආශ්‍රිත විශ්වීය ".basis" ගොනු ආකෘතියකි. යොමු ක්‍රියාත්මක කිරීමේ කේතය C++ සහ ලියා ඇත සපයා ඇත Apache 2.0 යටතේ බලපත්‍ර ලබා ඇත.

Basis Universal complements කලින් පළ කළා Draco 3D දත්ත සම්පීඩන පද්ධතිය සහ GPU සඳහා වයනය සැපයීමේ ගැටලුව විසඳීමට උත්සාහ කරයි. මේ වන තෙක්, සංවර්ධකයින් ඉහළ කාර්ය සාධනයක් ලබා ගන්නා නමුත් GPU-විශේෂිත සහ විශාල තැටි ඉඩ ප්‍රමාණයක් ගන්නා අඩු මට්ටමේ ආකෘති අතර තේරීමට සීමා වී ඇත, සහ ප්‍රමාණය අඩු කරන නමුත් ක්‍රියාකාරීත්වයේ GPU වයනය සමඟ තරඟ කළ නොහැකි වෙනත් ආකෘති.

Basis Universal ආකෘතිය ඔබට ස්වදේශීය GPU වයනයෙහි කාර්ය සාධනය ලබා ගැනීමට ඉඩ සලසයි, නමුත් ඉහළ මට්ටමේ සම්පීඩනයක් සපයයි.
පදනම යනු භාවිතයට පෙර ඩෙස්ක්ටොප් පද්ධති සහ ජංගම උපාංග යන දෙකෙහිම භාවිතා කිරීම සඳහා විවිධ පහත් මට්ටමේ ආකෘති වෙත GPU වයනය වේගයෙන් සම්ප්‍රේෂණය කරන අතරමැදි ආකෘතියකි. දැනට සහය දක්වන්නේ PVRTC1 (4bpp RGB), BC7 (6 RGB මාදිලිය), BC1-5, ETC1, සහ ETC2 ආකෘති වේ. ASTC ආකෘතිය (RGB හෝ RGBA) සඳහා සහ BC4 සඳහා 5/7 RGBA මාදිලි සඳහා සහ PVRTC4 සඳහා 1bpp RGBA සඳහා අනාගත සහාය අපේක්ෂා කෙරේ.

Google සහ Binomial open source Basis Universal texture compression system

පදනම් ආකෘතියේ වයනය 6-8 ගුණයකින් අඩු වීඩියෝ මතකයක් ගන්නා අතර JPEG ආකෘතිය මත පදනම් වූ සාමාන්‍ය වයනය මෙන් අඩක් පමණ දත්ත මාරු කිරීම අවශ්‍ය වන අතර RDO මාදිලියේ වයනයට වඩා 10-25% අඩුය. උදාහරණයක් ලෙස, JPEG රූපයේ ප්‍රමාණය 891 KB සහ ETC1 වයනය 1 MB සමඟ, මූලික ආකෘතියේ දත්ත ප්‍රමාණය ඉහළම තත්ත්වයේ මාදිලියේ 469 KB වේ. වීඩියෝ මතකයේ වයනය තැබීමේදී, පරීක්ෂණ සඳහා භාවිතා කරන JPEG සහ PNG වයනය 16 MB මතකය පරිභෝජනය කරන අතර වයනය තුළ
BC2, PVRTC1 සහ ETC1 වෙත පරිවර්තනය කිරීම සඳහා 1 MB මතකයක් සහ BC4 වෙත පරිවර්තනය කිරීම සඳහා 7 MB පදනමක් අවශ්‍ය වේ.

Google සහ Binomial open source Basis Universal texture compression system

පවතින යෙදුම් Basis Universal වෙත සංක්‍රමණය කිරීමේ ක්‍රියාවලිය තරමක් සරල ය. අවශ්‍ය තත්ත්ව මට්ටම තෝරා, ව්‍යාපෘතිය මගින් සපයන ලද “basisu” උපයෝගීතාව භාවිතයෙන් පවතින වයනය හෝ රූප නව ආකෘතියකට නැවත කේතනය කිරීම ප්‍රමාණවත් වේ. මීලඟට, යෙදුමේ, විදැහුම් කේතයට පෙර, ඔබ දැනට පවතින GPU විසින් සහාය දක්වන ආකෘතියට අතරමැදි ආකෘතිය පරිවර්තනය කිරීම සඳහා වගකිව යුතු Basu ට්‍රාන්ස්කෝඩරය ආරම්භ කළ යුතුය. ඒ අතරම, GPU වෙත සම්පීඩිත ආකාරයෙන් පැටවීම ඇතුළුව, සම්පූර්ණ සැකසුම් දාමය පුරා ඇති පින්තූර සම්පීඩිතව පවතී. පූර්ව-භංගාත්මකව සම්පූර්ණ රූපය ට්‍රාන්ස්කෝඩ් කිරීම වෙනුවට, GPU විසින් රූපයේ අවශ්‍ය කොටස් පමණක් තෝරාගෙන විකේතනය කරයි.

එය විෂම වයනය අරා (කියුබ්මැප්), පරිමාමිතික වයනය, වයනය අරා, මිප්මැප් මට්ටම්, වීඩියෝ අනුපිළිවෙලවල් හෝ අත්තනෝමතික වයනය කොටස් එක් ගොනුවක සුරැකීමට සහාය වේ. උදාහරණයක් ලෙස, කුඩා වීඩියෝ නිර්මාණය කිරීම සඳහා එක් ගොනුවක් තුළ පින්තූර මාලාවක් ඇසුරුම් කළ හැකිය, නැතහොත් සියලුම පින්තූර සඳහා පොදු තලයක් භාවිතා කර සාමාන්‍ය රූප සැකිලි ඩුප්ලිකේට් කිරීම සඳහා වයනය කිහිපයක් ඒකාබද්ධ කළ හැකිය. Basis Universal encoder ක්රියාත්මක කිරීම OpenMP භාවිතයෙන් බහු-නූල් කේතනය සඳහා සහය දක්වයි. ට්‍රාන්ස්කෝඩරය දැනට ක්‍රියා කරන්නේ තනි නූල් ආකාරයෙන් පමණි.

මීට අමතරව පවතින WebGL මත පදනම් වූ වෙබ් යෙදුම්වල භාවිත කළ හැකි WebAssembly ආකෘතියෙන් බෙදා හරින ලද බ්‍රවුසර සඳහා මූලික විශ්ව විකේතකය. අවසාන වශයෙන්, Google සියලු ප්‍රධාන බ්‍රව්සර්වල Basis Universal සඳහා සහය දැක්වීමට අදහස් කරන අතර එය WebGL සඳහා අතේ ගෙන යා හැකි වයනය ආකෘතියක් සහ අනාගත පිරිවිතරයක් ලෙස ප්‍රවර්ධනය කිරීමට අදහස් කරයි. WebGPU, Vulkan, Metal සහ Direct3D 12 API වලට සංකල්පමය වශයෙන් සමාන වේ.

GPU පැත්තේ පමණක් එහි පසුකාලීන සැකසුම් සමඟ වීඩියෝ කාවැද්දීමට ඇති හැකියාව, අවම CPU භාරයක් සහිත කුඩා වීඩියෝ සිය ගණනක් එකවර ප්‍රදර්ශනය කළ හැකි WebAssembly සහ WebGL මත ගතික පරිශීලක අතුරුමුහුණත් නිර්මාණය කිරීම සඳහා Basis Universal රසවත් විසඳුමක් බවට පත් කරන බව සටහන් වේ. සාම්ප්‍රදායික කෝඩෙක්ස් සමඟ WebAssembly හි SIMD උපදෙස් භාවිතා කළ හැකි වන තුරු, මෙම මට්ටමේ කාර්ය සාධනය තවමත් සාක්ෂාත් කරගත නොහැකි බැවින්, සාම්ප්‍රදායික වීඩියෝ අදාළ නොවන ප්‍රදේශවල වයනය මත පදනම් වූ වීඩියෝව භාවිතා කළ හැක. වීඩියෝ සඳහා අමතර ප්‍රශස්තිකරණයන් සහිත කේතය දැනට භාවිත කිරීමේ හැකියාව ඇතුළුව ප්‍රකාශනය සඳහා සූදානම් වෙමින් පවතී I-රාමු සහ P-රාමු අනුවර්තී පිරවුම් (CR) සහාය ඇතිව.

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

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