Google u Binomial sors miftuħ Bażi Sistema ta 'kompressjoni tan-nisġa universali

Google u Binomjali fetaħ testi sors Bażi Universali, codec għal kompressjoni effiċjenti tan-nisġa u format ta' fajl ".basis" assoċjat universali għad-distribuzzjoni ta' nisġa bbażati fuq immaġni u vidjo. Il-kodiċi ta' implimentazzjoni ta' referenza huwa miktub f'C++ u fornuti liċenzjat taħt Apache 2.0.

Bażi Universali tikkumplimenta qabel ippubblikata Sistema ta 'kompressjoni tad-data Draco 3D u tipprova ssolvi l-problema bil-forniment ta' nisġa għall-GPU. Sa issa, l-iżviluppaturi kienu limitati biex jagħżlu bejn formati ta 'livell baxx li jiksbu prestazzjoni għolja iżda li huma speċifiċi għall-GPU u jieħdu ħafna spazju fuq disk, u formati oħra li jiksbu tnaqqis fid-daqs iżda ma jistgħux jikkompetu ma' nisġa tal-GPU fil-prestazzjoni.

Il-format Bażi Universali jippermettilek tikseb il-prestazzjoni ta 'nisġa GPU nattiva, iżda tipprovdi livell ogħla ta' kompressjoni.
Bażi huwa format intermedju li jipprovdi transkodifikazzjoni veloċi ta 'nisġa tal-GPU għal diversi formati ta' livell baxx għall-użu kemm fuq sistemi desktop kif ukoll apparat mobbli qabel l-użu. Bħalissa appoġġjati huma formati PVRTC1 (4bpp RGB), BC7 (6 RGB mode), BC1-5, ETC1, u ETC2. Appoġġ futur huwa mistenni għall-format ASTC (RGB jew RGBA) u modi 4/5 RGBA għal BC7 u 4bpp RGBA għal PVRTC1.

Google u Binomial sors miftuħ Bażi Sistema ta 'kompressjoni tan-nisġa universali

It-tessuti fil-format bażi jieħdu 6-8 darbiet inqas memorja tal-vidjo u jeħtieġu li tittrasferixxi bejn wieħed u ieħor nofs id-data daqs nisġa tipiċi bbażati fuq il-format JPEG u 10-25% inqas minn nisġa fil-mod RDO. Pereżempju, b'daqs ta' immaġni JPEG ta' 891 KB u tessut ETC1 ta' 1 MB, id-daqs tad-dejta fil-format tal-Bażi huwa 469 KB fil-modalità tal-ogħla kwalità. Meta tqiegħed nisġa fil-memorja tal-vidjo, nisġa JPEG u PNG użati fit-testijiet ikkunsmaw 16-il MB ta 'memorja, filwaqt li nisġa f'
Bażi meħtieġa 2 MB ta' memorja għat-traduzzjoni għal BC1, PVRTC1 u ETC1, u 4 MB għat-traduzzjoni għal BC7.

Google u Binomial sors miftuħ Bażi Sistema ta 'kompressjoni tan-nisġa universali

Il-proċess tal-migrazzjoni tal-applikazzjonijiet eżistenti għal Basis Universal huwa pjuttost sempliċi. Huwa biżżejjed li tikkodifika mill-ġdid nisġa jew immaġini eżistenti f'format ġdid billi tuża l-utilità "basisu" pprovduta mill-proġett, billi tagħżel il-livell ta 'kwalità meħtieġ. Sussegwentement, fl-applikazzjoni, qabel il-kodiċi tar-rendi, għandek bżonn biex initialize it-transcoder basisu, li huwa responsabbli għat-traduzzjoni tal-format intermedju fil-format appoġġjat mill-GPU attwali. Fl-istess ħin, immaġini tul il-katina kollha tal-ipproċessar jibqgħu kkompressati, inkluż li jiġu mgħobbija f'forma kkompressata fil-GPU. Minflok ma tittraskodifika b'mod preventiv l-immaġni kollha, il-GPU tiddekodifika b'mod selettiv biss il-partijiet meħtieġa tal-immaġni.

Jappoġġja l-iffrankar ta 'arrays ta' nisġa eteroġenji (cubemaps), nisġa volumetriċi, matriċi ta 'tessuti, livelli ta' mipmap, sekwenzi tal-vidjow jew frammenti ta 'tessut arbitrarji f'fajl wieħed. Pereżempju, huwa possibbli li tippakkja serje ta 'immaġini f'fajl wieħed biex toħloq vidjows żgħar, jew tgħaqqad diversi nisġa bl-użu ta' paletta komuni għall-immaġini kollha u d-duplikazzjoni ta 'mudelli ta' immaġini tipiċi. L-implimentazzjoni tal-kodifikatur Universali tal-Bażi tappoġġja kodifikazzjoni multi-threaded bl-użu ta 'OpenMP. It-transcoder bħalissa jaħdem biss fil-modalità single-threaded.

addizzjonalment disponibbli Bażi Decoder universali għall-browsers, ikkunsinnat fil-format WebAssembly, li jista 'jintuża f'applikazzjonijiet tal-web ibbażati fuq WebGL. Fl-aħħar mill-aħħar, Google beħsiebha tappoġġja l-Basis Universal fil-browsers ewlenin kollha u tippromwoviha bħala format ta’ tessut portabbli għal WebGL u speċifikazzjoni futura WebGPU, li hija kunċettwalment simili għall-APIs Vulkan, Metal u Direct3D 12.

Huwa nnutat li l-abbiltà li jinkorporaw vidjo bl-ipproċessar sussegwenti tiegħu biss fuq in-naħa tal-GPU tagħmel il-Bażi Universali soluzzjoni interessanti għall-ħolqien ta 'interfaces tal-utent dinamiċi fuq WebAssembly u WebGL, li jistgħu simultanjament juru mijiet ta' vidjows żgħar b'tagħbija minima tas-CPU. Sakemm l-istruzzjonijiet SIMD jistgħu jintużaw f'WebAssembly b'codecs tradizzjonali, dan il-livell ta 'prestazzjoni għadu mhux jista' jintlaħaq, għalhekk vidjow ibbażat fuq nisġa jista 'jintuża f'żoni fejn il-vidjo konvenzjonali mhuwiex applikabbli. Kodiċi b'ottimizzazzjonijiet addizzjonali għall-vidjo bħalissa qed jitħejja għall-pubblikazzjoni, inkluża l-abbiltà li tuża I-frejms u P-frejms b'appoġġ għall-ikkuttunar adattiv (CR).

Sors: opennet.ru

Żid kumment