Google și Binomial au lansat codul sursă pentru Bază

bază

Recent, Google și Binomial au anunțat că au deschis codul sursă al Baza universală, care este un codec pentru comprimarea eficientă a texturilor și a formatului de fișier .basis asociat pentru a distribui texturi bazate pe imagini și videoclipuri. Codul de implementare de referință este scris în C++ și este furnizat sub licența Apache 2.0.

Bază universală completează sistemul de compresie a datelor Draco 3D și încearcă să rezolve problema cu livrarea texturii pentru GPU.

Până acum, dezvoltatorii au fost limitați de alegerea între formate de nivel scăzut care permit performanțe ridicate, dar sunt specifice GPU-ului și ocupă mult spațiu pe disc, și alte formate care permit reducerea dimensiunilor, dar nu.Ei pot concura cu texturile GPU în performanţă.

Despre Baza

Formatul Universal Basis vă permite să atingeți niveluri de performanță a texturii GPU native, dar oferă un nivel mai ridicat de compresie.

Baza este un format intermediar care, înainte de utilizare, oferă transcodare rapidă în diferite formate de textura GPU de nivel scăzut care sunt utilizate atât pe sisteme desktop, cât și pe dispozitive mobile.

În prezent, Transmisia este acceptată în formatele PVRTC1 (4bpp RGB), BC7 (6 mod RGB), BC1-5, ETC1 și ETC2. În viitor, este de așteptat ca modurile A să fie acceptateSTC (RGB sau RGBA) și 4/5 RGBA pentru BC7 și 4bpp RGBA pentru PVRTC1.

Texturile în format ocupă de 6 până la 8 ori mai puțină memorie video și Acestea necesită aproximativ de două ori mai puține date decât texturile tipice bazate pe formatul JPEG și cu 10-25% mai puține decât texturile în modul RDO.

De exemplu, cu o dimensiune a imaginii JPEG de 891 KB și texturi ETC1 de 1 MB, dimensiunea datelor în format de bază este de 469 KB în modul de cea mai înaltă calitate.

La plasarea texturilor în memoria video, texturile folosite în teste în formatele JPEG și PNG au consumat 16 MB de memorie, în timp ce texturile în format de bază au necesitat 2 MB de memorie în cazul transmiterii în BC1, PVRTC1 și ETC1 și 4. MB în cazul transmiterii în AC7.

Binomial Texturi universale

Procesul de conversie a aplicațiilor existente în Basis Universal este destul de simplu:

Pur și simplu re-codificați texturile sau imaginile existente într-un format nou folosind utilitarul „basisu” oferit de proiect, selectând nivelul de calitate necesar.

În plus, în aplicație, înainte de cod, trebuie inițializat codificatorul, care este responsabil de traducerea formatului intermediar în formatul suportat de GPU-ul curent.

În același timp, imaginile din întreg lanțul de procesare rămân comprimate, inclusiv descărcarea în formă comprimată pe GPU. În loc să re-codifice proactiv întreaga imagine, GPU-ul decodifică selectiv doar părțile necesare ale imaginii.

Acceptă salvarea matricelor de texturi într-un singur fișier (hartă cub), texturi în vrac, matrice de textură, niveluri mipmap, secvențe video sau fragmente de textură arbitrare.

De exemplu, este posibil să împachetați o serie de imagini într-un singur fișier pentru a crea videoclipuri mici sau să combinați mai multe texturi folosind o paletă comună pentru toate imaginile și deduplicarea șabloanelor tipice de imagine.

Google vrea ca baza să devină un standard

Implementarea codificatorului universal de bază acceptă codificarea cu mai multe fire folosind OpenMP. Re-encoderul funcționează numai în modul single thread.

În plus, decodorul browserului Basis Universal este disponibil în format web, care poate fi utilizat în aplicațiile web bazate pe WebGL.

În cele din urmă, Google intenționează să sprijine Basis Universal în toate browserele majore și să-l promoveze ca format de textură portabil pentru WebGL și viitoarea specificație WebGPU, conceptual similar cu Vulkan, Metal și Direct3D API 12.

Se remarcă faptul că capacitatea de a integra video cu post-procesarea sa doar pe partea GPU face din Basis Universal o soluție interesantă pentru crearea de interfețe dinamice cu utilizatorul în WebAssembly și WebGL, care pot oglindi simultan sute de videoclipuri mici cu încărcare minimă pe CPU.

Până la posibilitatea utilizării instrucțiunilor SIMD în WebAssembly cu codecuri tradiționale, un astfel de nivel de performanță nu este încă atins, astfel încât videoclipul bazat pe textură poate fi folosit în zonele în care videoul normal nu este aplicabil.

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


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.