Google və Binomial açıq mənbə Basis Universal faktura sıxılma sistemi

Google və Binomial açıldı mənbə kodu Universal əsas, teksturanın səmərəli sıxılması üçün kodek və şəkil və video əsaslı teksturaların yayılması üçün əlaqəli universal ".basis" fayl formatı. İstinad icra kodu C++ və dilində yazılmışdır təchiz olunmuşdur Apache 2.0 altında lisenziyalıdır.

Basis Universal əvvəllər tamamlayır nəşr edilmişdir Draco 3D məlumat sıxma sistemi və GPU üçün fakturalar təmin etməklə problemi həll etməyə çalışır. İndiyə qədər tərtibatçılar yüksək performansa nail olan, lakin GPU-ya xas olan və çoxlu disk sahəsi tutan aşağı səviyyəli formatlar və ölçüsün azaldılmasına nail olan, lakin performans baxımından GPU fakturaları ilə rəqabət apara bilməyən digər formatlar arasında seçim etməklə məhdudlaşırdılar.

Basis Universal formatı yerli GPU fakturalarının performansına nail olmağa imkan verir, lakin daha yüksək sıxılma səviyyəsini təmin edir.
Basis istifadə etməzdən əvvəl həm masa üstü sistemlərdə, həm də mobil cihazlarda istifadə üçün müxtəlif aşağı səviyyəli formatlara GPU teksturalarının sürətli transkodlaşdırılmasını təmin edən ara formatdır. Hazırda PVRTC1 (4bpp RGB), BC7 (6 RGB rejimi), BC1-5, ETC1 və ETC2 formatları dəstəklənir. ASTC formatı (RGB və ya RGBA) və BC4 üçün 5/7 RGBA rejimləri və PVRTC4 üçün 1bpp RGBA üçün gələcək dəstək gözlənilir.

Google və Binomial açıq mənbə Basis Universal faktura sıxılma sistemi

Əsas formatdakı teksturalar 6-8 dəfə az video yaddaş tutur və JPEG formatına əsaslanan tipik teksturaların təxminən yarısı qədər məlumatın ötürülməsini tələb edir və RDO rejimində fakturalardan 10-25% azdır. Məsələn, 891 KB JPEG təsvir ölçüsü və 1 MB ETC1 teksturası ilə Basis formatında məlumat ölçüsü ən yüksək keyfiyyət rejimində 469 KB təşkil edir. Teksturaları video yaddaşa yerləşdirərkən testlərdə istifadə edilən JPEG və PNG teksturaları 16 MB yaddaş sərf edirdi, fakturalar isə
Əsas BC2, PVRTC1 və ETC1-ə tərcümə üçün 1 MB yaddaş və BC4-yə tərcümə üçün 7 MB yaddaş tələb olunur.

Google və Binomial açıq mənbə Basis Universal faktura sıxılma sistemi

Mövcud proqramların Basis Universal-a köçürülməsi prosesi olduqca sadədir. Layihənin təqdim etdiyi “basisu” yardım proqramından istifadə edərək, tələb olunan keyfiyyət səviyyəsini seçərək mövcud fakturaları və ya şəkilləri yeni formata yenidən kodlaşdırmaq kifayətdir. Sonra, proqramda, göstərmə kodundan əvvəl, aralıq formatı cari GPU tərəfindən dəstəklənən formata çevirmək üçün cavabdeh olan baseu transkoderini işə salmalısınız. Eyni zamanda, bütün emal zənciri boyunca şəkillər sıxılmış vəziyyətdə qalır, o cümlədən sıxılmış formada GPU-ya yüklənir. Bütün təsviri qabaqcadan kodlaşdırmaq əvəzinə, GPU seçmə olaraq təsvirin yalnız lazımi hissələrini deşifrə edir.

O, heterojen tekstura massivlərini (kub xəritələri), həcmli teksturaları, tekstura massivlərini, mipmap səviyyələrini, video ardıcıllıqlarını və ya ixtiyari tekstura fraqmentlərini bir faylda saxlamağı dəstəkləyir. Məsələn, kiçik videolar yaratmaq üçün bir faylda bir sıra şəkilləri yığmaq və ya bütün şəkillər üçün ümumi palitradan istifadə edərək bir neçə fakturaları birləşdirmək və tipik şəkil şablonlarını təkmilləşdirmək mümkündür. Basis Universal kodlayıcı tətbiqi OpenMP istifadə edərək çox yivli kodlaşdırmanı dəstəkləyir. Transkoder hazırda yalnız tək yivli rejimdə işləyir.

Bundan əlavə, mövcuddur WebGL əsaslı veb proqramlarında istifadə oluna bilən WebAssembly formatında çatdırılan brauzerlər üçün əsas Universal dekoder. Nəhayət, Google bütün əsas brauzerlərdə Basis Universal-ı dəstəkləmək və onu WebGL üçün portativ tekstura formatı və gələcək spesifikasiya kimi tanıtmaq niyyətindədir. VebGPU, konseptual olaraq Vulkan, Metal və Direct3D 12 API-lərinə bənzəyir.

Qeyd olunur ki, videonun sonrakı işlənməsi ilə yalnız GPU tərəfində yerləşdirmək imkanı Basis Universal-ı eyni vaxtda minimal CPU yükü ilə yüzlərlə kiçik videonu nümayiş etdirə bilən WebAssembly və WebGL-də dinamik istifadəçi interfeysləri yaratmaq üçün maraqlı həll edir. SIMD təlimatları ənənəvi kodeklərlə WebAssembly-də istifadə edilə bilənə qədər, bu performans səviyyəsi hələ əldə edilə bilməz, buna görə də faktura əsaslı video adi videonun tətbiq olunmadığı sahələrdə istifadə edilə bilər. Video üçün əlavə optimallaşdırmalara malik kod hazırda istifadə imkanı da daxil olmaqla nəşrə hazırlanır I çərçivələri və P çərçivələri adaptiv padding (CR) dəstəyi ilə.

Mənbə: opennet.ru

Добавить комментарий