Google och Binomial släppte källkoden för Basis

grund

Nyligen meddelade Google och Binomial att de har öppnat källkoden för Universell grund, vilken är en codec för att effektivt komprimera texturer och tillhörande .basis-filformat att distribuera texturer baserat på bilder och videor. Referensimplementeringskoden är skriven i C ++ och tillhandahålls under Apache 2.0-licensen.

Universell grund kompletterar Draco 3D datakomprimeringssystem och du försöker lösa problemet med leverans av texturer för GPU.

Hittills har utvecklare varit begränsade av valet mellan lågnivåformat som tillåter hög prestanda, men specifika för GPU och tar upp en stor mängd diskutrymme och andra format som gör att du kan minska storleken, men inte de kan konkurrera med GPU-strukturer i prestanda.

Om Basis

Basis Universal-formatet gör det möjligt att uppnå prestandanivåer för inbyggda GPU-texturer, men ger en högre komprimeringsnivå.

Basen är ett mellanformat som före användning ger snabb omkodning till olika GPU-strukturformat på låg nivå som används på både stationära system och mobila enheter.

För närvarande, streaming stöds i formaten PVRTC1 (4bpp RGB), BC7 (6 RGB-läge), BC1-5, ETC1 och ETC2. I framtiden förväntas A-lägen stödjasSTC (RGB eller RGBA) och 4/5 RGBA för BC7 och 4bpp RGBA för PVRTC1.

Texturer i formatet tar upp 6 till 8 gånger mindre videominne och de kräver ungefär två gånger mindre data än typiska strukturer baserat på JPEG-format och 10-25% mindre än texturer i RDO-läge.

Till exempel, med en JPEG-bildstorlek på 891 KB och ETC1-strukturer på 1 MB, är datastorleken i grundformat 469 KB i läget av högsta kvalitet.

När texturerna placerades i videominnet förbrukade strukturerna som användes i testerna i JPEG- och PNG-format 16 MB minne, medan texturerna i grundformat krävde 2 MB minne vid överföring i BC1, PVRTC1 och ETC1 och 4 MB vid överföring i AC7.

Binomial Universal texturer

Processen att konvertera befintliga applikationer till Basis Universal är ganska enkel:

Koda bara befintliga strukturer eller bilder i ett nytt format med hjälp av "basisu" -verktyget som tillhandahålls av projektet och välj önskad kvalitetsnivå.

I applikationen, innan koden, måste kodaren också initieras, vilket är ansvarigt för att översätta det mellanliggande formatet till det nuvarande GPU-kompatibla formatet.

Samtidigt, bilder från hela bearbetningskedjan förblir komprimerade, inklusive nedladdning i komprimerad form till GPU. I stället för att proaktivt koda om hela bilden avkodar GPU endast selektivt de nödvändiga delarna av bilden.

Stöder att spara texturarrayer i en enda fil (kubkarta), bulkstrukturer, strukturmatriser, mipmappnivåer, videoströmmar eller godtyckliga texturutdrag.

Du kan till exempel paketera en enda bildseriefil för att skapa små videor eller kombinera flera texturer med en gemensam palett för alla bilder och deduplicering av typiska bildmallar.

Google vill att grunden ska bli en standard

Basis Universal kodarimplementering stöder flertrådad kodning med OpenMP. Återkodaren fungerar bara i enkel trådläge.

Dessutom webbläsarens avkodare Basis Universal finns i webbformat, som kan användas i WebGL-baserade webbapplikationer.

I slutändan, Google avser att stödja Universal Basis i alla större webbläsare och marknadsföra det som ett bärbart strukturformat för WebGL och den framtida WebGPU-specifikationen, konceptuellt lik Vulkan, Metal och Direct3D API 12.

Det observeras att förmågan att integrera video med sin efterbehandling endast på GPU-sidan gör Basis Universal till en intressant lösning för att skapa dynamiska användargränssnitt i WebAssembly och WebGL, som samtidigt kan spegla hundratals små videor med minimal belastning på CPU: n.

Till och med möjligheten att använda SIMD-instruktioner i WebAssemble med traditionella codec, en sådan prestandanivå är ännu inte uppnådd, så texturbaserad video kan användas i områden där normal video inte är tillämplig.

Fuente: https://opensource.googleblog.com/


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.