Google ndi Binomial open source Basis Universal texture compression system

Google ndi Binomial anatsegula zolemba zoyambira Maziko Achilengedwe, codec ya kukakamiza kwapangidwe koyenera komanso mawonekedwe amtundu wa ".basis" wapadziko lonse pogawira mawonekedwe azithunzi ndi makanema. Khodi yoyendetsera ntchito imalembedwa mu C ++ ndi zoperekedwa zololedwa pansi pa Apache 2.0.

Basis Universal imakwaniritsa kale zosindikizidwa Draco 3D data compression system ndikuyesera kuthetsa vutoli popereka mawonekedwe a GPU. Mpaka pano, otukula akhala ndi malire pa kusankha pakati pa mawonekedwe otsika omwe amapindula kwambiri koma ali enieni a GPU ndipo amatenga malo ambiri a disk, ndi maonekedwe ena omwe amakwaniritsa kuchepetsa kukula koma sangathe kupikisana ndi mawonekedwe a GPU pakugwira ntchito.

Mawonekedwe a Basis Universal amakulolani kuti mukwaniritse mawonekedwe amtundu wa GPU, koma amapereka kupsinjika kwakukulu.
Basis ndi mtundu wapakatikati womwe umapereka ma transcoding mwachangu amtundu wa GPU kumitundu yotsika yotsika kuti mugwiritse ntchito pamakompyuta onse ndi zida zam'manja musanagwiritse ntchito. Zothandizira pano ndi PVRTC1 (4bpp RGB), BC7 (6 RGB mode), BC1-5, ETC1, ndi ETC2. Thandizo lamtsogolo likuyembekezeka pamitundu ya ASTC (RGB kapena RGBA) ndi mitundu 4/5 ya RGBA ya BC7 ndi 4bpp RGBA ya PVRTC1.

Google ndi Binomial open source Basis Universal texture compression system

Maonekedwe amtundu wa maziko amatenga 6-8 kucheperako kukumbukira makanema ndipo amafunikira kusamutsa pafupifupi theka la data yochulukirapo monga momwe amapangidwira kutengera mtundu wa JPEG ndi 10-25% kuchepera kuposa mawonekedwe a RDO. Mwachitsanzo, ndi kukula kwa chithunzi cha JPEG cha 891 KB ndi mawonekedwe a ETC1 a 1 MB, kukula kwa deta mumtundu wa Basis ndi 469 KB mumayendedwe apamwamba kwambiri. Mukayika mawonekedwe mu kukumbukira kwamavidiyo, mawonekedwe a JPEG ndi PNG omwe amagwiritsidwa ntchito poyesa amadya kukumbukira 16 MB, pomwe mawonekedwe ake
Maziko amafunikira 2 MB ya kukumbukira kuti amasulire ku BC1, PVRTC1 ndi ETC1, ndi 4 MB kuti amasulire ku BC7.

Google ndi Binomial open source Basis Universal texture compression system

Njira yosamutsira zomwe zilipo kale ku Basis Universal ndizosavuta. Ndikokwanira kukonzanso zojambula kapena zithunzi zomwe zilipo kale mumtundu watsopano pogwiritsa ntchito "basisu" zomwe zimaperekedwa ndi polojekitiyi, ndikusankha mulingo woyenera. Kenako, mukugwiritsa ntchito, musanapereke kachidindo, muyenera kuyambitsa transcoder ya basisu, yomwe ili ndi udindo womasulira mtundu wapakatikati mumtundu womwe umathandizidwa ndi GPU yamakono. Panthawi imodzimodziyo, zithunzi pazitsulo zonse zowonongeka zimakhalabe zoponderezedwa, kuphatikizapo kuikidwa mu mawonekedwe oponderezedwa mu GPU. M'malo mosinthiratu chithunzi chonsecho, GPU imasankha magawo ofunikira a chithunzicho.

Imathandizira kupulumutsa masanjidwe amitundu yosiyanasiyana (ma cubemaps), mawonekedwe a volumetric, masanjidwe amtundu, mipmap milingo, kutsatizana kwamavidiyo kapena zidutswa zamtundu wa fayilo imodzi. Mwachitsanzo, ndizotheka kulongedza zithunzi zingapo mufayilo imodzi kuti mupange mavidiyo ang'onoang'ono, kapena kuphatikiza mitundu ingapo pogwiritsa ntchito phale wamba pazithunzi zonse ndikusindikiza ma zidindo azithunzi. Kukhazikitsa kwa Basis Universal encoder kumathandizira ma encoding amitundu yambiri pogwiritsa ntchito OpenMP. Transcoder pakadali pano imangogwira ntchito yokhala ndi ulusi umodzi.

Komanso zilipo Basis Universal decoder ya asakatuli, yoperekedwa mumtundu wa WebAssembly, yomwe ingagwiritsidwe ntchito pamawebusayiti ozikidwa pa WebGL. Pamapeto pake, Google ikufuna kuthandizira Basis Universal m'masakatuli onse akuluakulu ndikuwalimbikitsa ngati mawonekedwe osunthika a WebGL komanso momwe angakhalire amtsogolo. WebGPU, zofananira ndi Vulkan, Metal ndi Direct3D 12 APIs.

Zimadziwika kuti kutha kuyika kanema ndikusintha kwake kokha kumbali ya GPU kumapangitsa Basis Universal kukhala njira yosangalatsa yopangira mawonekedwe ogwiritsira ntchito pa WebAssembly ndi WebGL, omwe amatha kuwonetsa mavidiyo ang'onoang'ono mazana ambiri okhala ndi CPU yocheperako. Mpaka malangizo a SIMD angagwiritsidwe ntchito mu WebAssembly ndi ma codec achikhalidwe, mulingo uwu wa magwiridwe antchito sunakwaniritsidwe, kotero kuti kanema wopangidwa ndi mawonekedwe angagwiritsidwe ntchito m'malo omwe kanema wamba sagwiritsidwa ntchito. Khodi yokhala ndi kukhathamiritsa kwina kwa kanema ikukonzedwa kuti ifalitsidwe, kuphatikiza kuthekera kogwiritsa ntchito Mafelemu a I ndi P-mafelemu ndi thandizo la adaptive padding (CR).

Source: opennet.ru

Kuwonjezera ndemanga