Google ak Binomial sous louvri Baz Inivèsèl sistèm konpresyon teksti

Google ak Binomial louvri tèks sous yo Baz Inivèsèl, yon codec pou konpresyon teksti efikas ak yon fòma dosye inivèsèl ".basis" ki asosye pou distribye tèkstur ki baze sou imaj ak videyo. Kòd aplikasyon referans ekri nan C++ ak apwovizyone ki gen lisans anba Apache 2.0.

Baz Inivèsèl konplete deja pibliye Draco 3D done konpresyon sistèm epi eseye rezoud pwoblèm nan ak founi tèkstur pou GPU la. Jiska kounye a, devlopè yo te limite a chwazi ant fòma nivo ki ba ki reyalize pèfòmans segondè, men yo espesifik GPU ak pran yon anpil nan espas ki gen kapasite, ak lòt fòma ki reyalize rediksyon gwosè men yo pa ka fè konpetisyon ak tèkstur GPU nan pèfòmans.

Fòma Inivèsèl Baz la pèmèt ou reyalize pèfòmans nan tèkstur GPU natif natal, men li bay yon pi wo nivo konpresyon.
Baz se yon fòma entèmedyè ki bay transkodaj rapid nan tèkstur GPU nan divès fòma nivo ki ba pou itilize sou tou de sistèm Desktop ak aparèy mobil anvan ou itilize. Aktyèlman sipòte yo se fòma PVRTC1 (4bpp RGB), BC7 (6 mòd RGB), BC1-5, ETC1, ak ETC2. Sipò nan lavni espere pou fòma ASTC (RGB oswa RGBA) ak mòd 4/5 RGBA pou BC7 ak 4bpp RGBA pou PVRTC1.

Google ak Binomial sous louvri Baz Inivèsèl sistèm konpresyon teksti

Teksti nan fòma baz la pran 6-8 fwa mwens memwa videyo epi yo mande pou transfere apeprè mwatye done kòm tèkstur tipik ki baze sou fòma JPEG ak 10-25% mwens pase tèkstur nan mòd RDO. Pou egzanp, ak yon gwosè imaj JPEG nan 891 KB ak yon teksti ETC1 nan 1 MB, gwosè a done nan fòma Baz la se 469 KB nan mòd nan pi bon kalite. Lè yo mete tèkstur nan memwa videyo, tèkstur JPEG ak PNG yo itilize nan tès yo te konsome 16 MB memwa, pandan y ap tèkstur yo nan memwa.
Baz mande 2 MB memwa pou tradiksyon nan BC1, PVRTC1 ak ETC1, ak 4 MB pou tradiksyon nan BC7.

Google ak Binomial sous louvri Baz Inivèsèl sistèm konpresyon teksti

Pwosesis migrasyon aplikasyon ki deja egziste nan Baz Universal se byen senp. Li se ase yo kode tèkstur ki deja egziste oswa imaj nan yon nouvo fòma lè l sèvi avèk sèvis piblik "basisu" bay nan pwojè a, chwazi nivo bon jan kalite ki nesesè yo. Apre sa, nan aplikasyon an, anvan kòd rannman an, ou bezwen inisyalize transkodè basisu a, ki responsab pou tradui fòma entèmedyè a nan fòma ki sipòte pa GPU aktyèl la. An menm tan an, imaj nan tout chèn pwosesis la rete konprese, ki gen ladan yo chaje nan fòm konprese nan GPU la. Olye pou yo transkode tout imaj la anvan, GPU a oaza dekode sèlman pati ki nesesè nan imaj la.

Li sipòte ekonomize etalaj teksti etewojèn (map kib), teksti volumetrik, etalaj teksti, nivo mipmap, sekans videyo oswa fragman teksti abitrè nan yon sèl dosye. Pou egzanp, li posib pou pake yon seri imaj nan yon sèl dosye pou kreye ti videyo, oswa konbine plizyè tèkstur lè l sèvi avèk yon palèt komen pou tout imaj ak deduplication modèl imaj tipik. Enplimantasyon ankode Inivèsèl Baz la sipòte kodaj milti-threaded lè l sèvi avèk OpenMP. Transkodè a kounye a sèlman travay nan mòd sèl-threaded.

Anplis de sa disponib Baz Inivèsèl dekodeur pou navigatè, delivre nan fòma WebAssembly, ki ka itilize nan aplikasyon entènèt ki baze sou WebGL. Finalman, Google gen entansyon sipòte Basis Universal nan tout navigatè prensipal yo epi ankouraje li kòm yon fòma teksti pòtab pou WebGL ak yon spesifikasyon nan lavni. WebGPU, ki konseptyèlman menm jan ak Vulkan, Metal ak Direct3D 12 API yo.

Li te note ke kapasite nan entegre videyo ak pwosesis ki vin apre li yo sèlman sou bò GPU fè Baz Inivèsèl yon solisyon enteresan pou kreye interfaces itilizatè dinamik sou WebAssembly ak WebGL, ki ka ansanm montre dè santèn de ti videyo ak chaj CPU minim. Jiskaske enstriksyon SIMD yo ka itilize nan WebAssembly ak kodèk tradisyonèl yo, nivo pèfòmans sa a poko ka reyalize, kidonk videyo ki baze sou teksti yo ka itilize nan zòn kote videyo konvansyonèl yo pa aplikab. Kòd ak optimize adisyonèl pou videyo kounye a ap prepare pou piblikasyon, ki gen ladan kapasite nan itilize I-ankadreman ak P-ankadreman ak sipò adaptive padding (CR).

Sous: opennet.ru

Add nouvo kòmantè