Google og Binomial ga ut kildekoden for Basis

basis

Nylig kunngjorde Google og Binomial at de har åpnet kildekoden til Universell basis, hvilken er en kodek for effektivt å komprimere teksturer og det tilknyttede .basis-filformatet å distribuere teksturer basert på bilder og videoer. Referanseimplementeringskoden er skrevet i C ++ og er gitt under Apache 2.0-lisensen.

Universell basis utfyller Draco 3D datakomprimeringssystem og du prøver å løse problemet med levering av teksturer til GPU.

Inntil nå har utviklere vært begrenset av valget mellom formater på lavt nivå som tillater høy ytelse, men spesifikke for GPU og som tar opp mye diskplass, og andre formater som gjør det mulig å redusere størrelsen, men ikke de kan konkurrere med GPU-teksturene når det gjelder ytelse.

Om Basis

Basis Universal-formatet gjør det mulig å oppnå ytelsesnivåer for innfødte GPU-teksturer, men gir et høyere nivå av komprimering.

Basen er et mellomformat som før bruk, gir rask koding til forskjellige GPU-strukturformater på lavt nivå som brukes på både stasjonære systemer og mobile enheter.

Tiden, streaming støttes i formatene PVRTC1 (4bpp RGB), BC7 (6 RGB-modus), BC1-5, ETC1 og ETC2. I fremtiden forventes det at A-modus støttesSTC (RGB eller RGBA) og 4/5 RGBA for BC7 og 4bpp RGBA for PVRTC1.

Teksturer i formatet opptar 6 til 8 ganger mindre videominne og de krever omtrent to ganger mindre data enn typiske teksturer basert på JPEG-format og 10-25% mindre enn teksturer i RDO-modus.

For eksempel, med en JPEG-bildestørrelse på 891 KB og ETC1-teksturer på 1 MB, er datastørrelsen i grunnformat 469 KB i høyeste kvalitetsmodus.

Når du plasserer teksturene i videominnet, konsumerte teksturene som ble brukt i testene i JPEG- og PNG-format, 16 MB minne, mens teksturene i grunnformat krevde 2 MB minne i tilfelle overføring i BC1, PVRTC1 og ETC1 , og 4 MB i tilfelle overføring i AC7.

Binomial Universelle teksturer

Prosessen med å konvertere eksisterende applikasjoner til Basis Universal er ganske enkel:

Bare kod om eksisterende teksturer eller bilder i et nytt format ved hjelp av "basisu" -verktøyet som tilbys av prosjektet, og velg ønsket kvalitetsnivå.

I applikasjonen, før koden, må koderen også initialiseres, som er ansvarlig for å oversette mellomformatet til det nåværende GPU-kompatible formatet.

Samtidig bilder fra hele prosesseringskjeden forblir komprimert, inkludert nedlasting i komprimert form til GPU. I stedet for å prokodere hele bildet på nytt, dekoder GPU selektivt bare de nødvendige delene av bildet.

Støtter lagring av teksturarrayer til en enkelt fil (kubekart), bulkteksturer, teksturarrayer, mipmapnivåer, videostrømmer eller vilkårlige teksturutdrag.

For eksempel er det mulig å pakke inn i en enkelt bildeseriefil for å lage små videoer eller kombinere flere teksturer ved hjelp av en felles palett for alle bilder og deduplisering av typiske bildemaler.

Google vil ha grunnlag for å bli en standard

Basis Universal encoder-implementering støtter flertrådet koding ved hjelp av OpenMP. Koderen fungerer bare i enkelt trådmodus.

Også nettleserdekoderen Basis Universal er tilgjengelig i nettformat, som kan brukes i WebGL-baserte webapplikasjoner.

Som en siste utvei, Google har til hensikt å støtte Universal Basis i alle større nettlesere og markedsføre den som et bærbart teksturformat for WebGL og den fremtidige WebGPU-spesifikasjonen, konseptuelt lik Vulkan, Metal og Direct3D API 12.

Det observeres at muligheten til å integrere video med etterbehandlingen bare på GPU-siden gjør Basis Universal til en interessant løsning for å lage dynamiske brukergrensesnitt i WebAssembly og WebGL, som samtidig kan speile hundrevis av små videoer med minimal belastning på CPUen.

Selv muligheten til å bruke SIMD-instruksjoner i WebAssembly med tradisjonelle kodeker, er et slikt ytelsesnivå ennå ikke oppnåelig, så teksturbasert video kan brukes i områder der normal video ikke er aktuelt.

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


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.