Leig Google agus Binomial a-mach an còd stòr airson Basis

stèidh

O chionn ghoirid dh ’ainmich Google agus Binomial gu bheil iad air còd stòr fhosgladh Stèidh Uile-choitcheann,na codec gus teacsan a dhlùthadh gu h-èifeachdach agus an cruth faidhle .basis co-cheangailte ris gus inneach a sgaoileadh stèidhichte air ìomhaighean agus bhideothan. Tha an còd buileachaidh iomraidh air a sgrìobhadh ann an C ++ agus air a thoirt seachad fo chead Apache 2.0.

Stèidh Uile-choitcheann a ’cur ri siostam teannachaidh dàta Draco 3D agus tha thu a ’feuchainn ri fuasgladh fhaighinn air an duilgheadas le lìbhrigeadh inneach airson GPU.

Gu ruige seo, tha luchd-leasachaidh air a bhith cuibhrichte leis an roghainn eadar cruthan ìre ìosal a leigeas le àrd-choileanadh, ach sònraichte don GPU agus a ’gabhail suas tòrr àite diosg, agus cruthan eile a leigeas leat am meud a lughdachadh, ach chan urrainn dhaibh farpais ri inneach GPU ann an coileanadh.

Mu Bhunait

An cruth Basis Universal a ’ceadachadh ìrean coileanaidh de dh’ inneach GPU dùthchasach a choileanadh, ach a ’toirt seachad ìre teannachaidh nas àirde.

Is e cruth eadar-mheadhanach a th ’anns a’ bhunait a bhios, mus tèid a chleachdadh, a ’toirt seachad transcoding luath gu diofar chruthan inneach GPU aig ìre ìosal a tha air an cleachdadh an dà chuid air siostaman deasg agus innealan gluasadach.

An-dràsta, tha sruthadh a ’faighinn taic anns na cruthan PVRTC1 (4bpp RGB), BC7 (modh 6 RGB), BC1-5, ETC1 agus ETC2. Anns an àm ri teachd, thathas an dùil gun tèid taic a thoirt do mhodhan A.STC (RGB no RGBA) agus 4/5 RGBA airson BC7 agus 4bpp RGBA airson PVRTC1.

Bidh inneach anns a ’chruth a’ gabhail thairis 6 gu 8 tursan nas lugha de chuimhne bhidio agus feumaidh iad timcheall air dà uair nas lugha de dhàta na inneach àbhaisteach stèidhichte air cruth JPEG agus 10-25% nas lugha na inneach ann am modh RDO.

Mar eisimpleir, le meud ìomhaigh JPEG de inneach 891 KB agus ETC1 de 1 MB, is e meud an dàta ann an cruth bunaiteach 469 KB anns a ’mhodh càileachd as àirde.

Nuair a chuir iad na h-inneach anns a ’chuimhne bhidio, dh’ ith na teacsaichean a chaidh a chleachdadh anns na deuchainnean ann an cruthan JPEG agus PNG 16 MB de chuimhne, fhad ‘s a bha na h-inneach ann an cruth bunaiteach ag iarraidh 2 MB de chuimhne a thaobh an sgaoileadh ann am BC1, PVRTC1 agus ETC1, agus 4 MB ann an cùis tar-chuir ann an AC7.

Stuthan Binomial Universal

Tha am pròiseas airson tagraidhean a th ’ann mu thràth a thionndadh gu Basis Universal gu math sìmplidh:

Dìreach ath-aithris a dhèanamh air inneach no ìomhaighean a tha ann an cruth ùr a ’cleachdadh a’ ghoireas “baseu” a thug am pròiseact seachad, a ’taghadh an ìre càileachd a tha a dhìth.

Cuideachd, anns an tagradh, ron chòd, feumar an encoder a thòiseachadh, a tha an urra ri eadar-theangachadh an cruth eadar-mheadhanach gu cruth gnàthach GPU co-fhreagarrach.

Aig an aon àm, tha ìomhaighean bhon t-sèine giullachd gu lèir fhathast dùmhail, a ’toirt a-steach luchdachadh sìos ann an cruth teannaichte chun GPU. An àite a bhith ag ath-aithris an ìomhaigh gu lèir gu for-ghnìomhach, bidh an GPU gu roghnach a ’còdachadh dìreach na pàirtean riatanach den ìomhaigh.

A ’toirt taic do bhith a’ sàbhaladh arrays inneach gu aon fhaidhle (mapa ciùb), mòr-inneach, arrays inneach, ìrean mipmap, sruthan bhidio, no criomagan inneach neo-riaghailteach.

Mar eisimpleir, faodaidh tu faidhle sreath aon ìomhaigh a phacaigeadh gus bhideothan beaga a chruthachadh no iomadh inneach a chur còmhla a ’cleachdadh paileas cumanta airson a h-uile ìomhaigh agus lughdachadh teamplaidean ìomhaigh àbhaisteach.

Tha Google airson gum bi bunait gu bhith na inbhe

Tha buileachadh encoder Basis Universal a ’toirt taic do chòdachadh multithreaded a’ cleachdadh OpenMP. Chan eil an recoder ag obair ach ann am modh uèir singilte.

Cuideachd, decoder a ’bhrobhsair Tha Basis Universal ri fhaighinn ann an cruth lìn, a ghabhas cleachdadh ann an tagraidhean lìn stèidhichte air WebGL.

Aig a ’cheann thall, Tha Google an dùil taic a thoirt do Bhun-stèidh Uile-choitcheann anns a h-uile prìomh bhrobhsair agus adhartachadh mar chruth inneach so-ghiùlain airson WebGL agus sònrachadh WebGPU san àm ri teachd, coltach gu bun-bheachdail ri Vulkan, Metal, agus Direct3D API 12.

Thathas a ’cumail a-mach gu bheil an comas air bhidio fhilleadh a-steach leis an iar-ghiollachd aige a-mhàin air taobh GPU a’ dèanamh Basis Universal na fhuasgladh inntinneach airson a bhith a ’cruthachadh eadar-aghaidh cleachdaiche fiùghantach ann an WebAssembly agus WebGL, a dh’ fhaodas a bhith aig an aon àm ri ceudan de bhideothan beaga le glè bheag de luchdachadh air an CPU.

Fiù ‘s an comas stiùireadh SIMD a chleachdadh ann an WebAssembly le codecs traidiseanta, chan eil an ìre coileanaidh sin air a choileanadh fhathast, agus mar sin faodar bhidio stèidhichte air inneach a chleachdadh ann an raointean far nach eil bhidio àbhaisteach iomchaidh.

Tobar: https://opensource.googleblog.com/


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

Bi a 'chiad fhear a thog beachd

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh.

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.