Үндсэн бүх нийтийн бүтэц шахах системийн Google болон binomial нээлттэй код

Google болон бином нээгдсэн эх код Бүх нийтийн үндэс, бүтэцийг үр ашигтай шахах кодлогч, зураг болон видеон дээр тулгуурлан бүтэцийг түгээхтэй холбоотой бүх нийтийн ".basis" файлын формат. Лавлагаа хэрэгжүүлэх кодыг C++ хэл дээр бичдэг ба нийлүүлсэн Apache 2.0 дагуу лицензтэй.

Үндсэн Universal нь өмнө нь нэмэлт юм хэвлэгдсэн Draco 3D өгөгдөл шахах систем бөгөөд GPU-д зориулсан бүтэцтэй холбоотой асуудлыг шийдэхийг оролдож байна. Өнөөг хүртэл хөгжүүлэгчид өндөр гүйцэтгэлтэй боловч GPU-д зориулагдсан, дискний зай их эзэлдэг доод түвшний формат болон хэмжээг багасгах боломжийг олгодог боловч гүйцэтгэлийн хувьд GPU бүтэцтэй өрсөлдөх боломжгүй бусад форматуудаас сонгохоор хязгаарлагдаж ирсэн. .

Үндсэн Universal формат нь GPU-н бүтэцтэй гүйцэтгэлийг хангадаг боловч илүү өндөр түвшний шахалтыг хангадаг.
Basis нь ашиглахын өмнө ширээний болон хөдөлгөөнт төхөөрөмж дээр ашиглагддаг доод түвшний GPU бүтэцтэй форматуудыг хурдан кодчилдог завсрын формат юм. Одоогоор PVRTC1 (4bpp RGB), BC7 (6 RGB горим), BC1-5, ETC1, ETC2 руу орчуулахыг дэмждэг. Цаашид ASTC формат (RGB эсвэл RGBA) болон BC4-д зориулсан 5/7 RGBA горим, PVRTC4-д зориулсан 1bpp RGBA-г дэмжих төлөвтэй байна.

Үндсэн бүх нийтийн бүтэц шахах системийн Google болон binomial нээлттэй код

Үндсэн форматын бүтэц нь JPEG формат дээр суурилсан стандарт бүтэцтэй харьцуулахад 6-8 дахин бага видео санах ой эзэлдэг бөгөөд өгөгдөл дамжуулахын тал орчим хувийг шаарддаг бөгөөд RDO горим дахь бүтэцтэй харьцуулахад 10-25% бага байдаг. Жишээлбэл, 891 KB-ийн JPEG зураг, 1 МБ-ын ETC1 бүтэцтэй бол үндсэн мэдээллийн хэмжээ нь хамгийн өндөр чанарын горимд 469 КБ байна. Бүтэцийг видео санах ойд байрлуулахдаа туршилтанд ашигласан JPEG болон PNG форматын бүтэц нь 16 МБ санах ой зарцуулсан бол форматтай текстийн хувьд
BC2, PVRTC1 болон ETC1 дээр орчуулахад 1 МБ санах ой, BC4 дээр орчуулахад 7 МБ шаардлагатай.

Үндсэн бүх нийтийн бүтэц шахах системийн Google болон binomial нээлттэй код

Одоо байгаа програмуудыг Basis Universal руу шилжүүлэх үйл явц нь маш энгийн. Шаардлагатай чанарын түвшинг сонгон, төслөөс өгсөн "basisu" хэрэгслийг ашиглан одоо байгаа бүтэц, зургийг шинэ формат руу дахин кодлоход хангалттай. Дараа нь, програм дээр, дүрслэх кодоос өмнө завсрын форматыг одоогийн GPU-ийн дэмждэг формат руу хөрвүүлэх үүрэгтэй baseu transcoder-ийг эхлүүлэх хэрэгтэй. Үүний зэрэгцээ, GPU-д шахсан хэлбэрээр татаж авах зэрэг бүх боловсруулалтын гинжин хэлхээний зургууд шахагдсан хэвээр байна. Зургийг бүхэлд нь идэвхтэй дахин кодлохын оронд GPU нь зөвхөн зургийн шаардлагатай хэсгийг сонгон тайлдаг.

Энэ нь жигд бус бүтэцтэй массив (шоо дөрвөлжин зураг), эзэлхүүн бүтэц, бүтэцтэй массив, mipmap түвшин, видео дараалал эсвэл дурын бүтэцтэй фрагментуудыг нэг файлд хадгалахыг дэмждэг. Жишээлбэл, бүх зургийн нийтлэг палитр, ердийн зургийн загваруудын хуулбарыг ашиглан жижиг видео үүсгэх эсвэл хэд хэдэн бүтэцтэй хослуулахын тулд нэг файлд хэд хэдэн зургийг багцлах боломжтой. Үндсэн Universal кодлогчийн хэрэгжилт нь OpenMP ашиглан олон урсгалтай кодчиллыг дэмждэг. Транскодер одоогоор зөвхөн нэг урсгалтай горимд ажилладаг.

Үүнээс гадна боломжтой WebGL-д суурилсан вэб программуудад ашиглах боломжтой WebAssembly форматаар хүргэгдсэн хөтчүүдэд зориулсан үндсэн Universal декодер. Эцсийн эцэст, Google нь үндсэн бүх хөтчүүдэд Basis Universal-ийг дэмжиж, WebGL-д зориулсан зөөврийн бүтэц болон ирээдүйн тодорхойлолт болгон сурталчлахыг зорьж байна. WebGPU, энэ нь Vulkan, Metal, Direct3D 12 API-тай үзэл баримтлалын хувьд төстэй юм.

Зөвхөн GPU тал дээр дараагийн боловсруулалт бүхий видеог оруулах чадвар нь Basis Universal-ийг WebAssembly болон WebGL дээр динамик хэрэглэгчийн интерфэйсийг бий болгох сонирхолтой шийдэл болгож, CPU-ийн хамгийн бага ачаалалтай хэдэн зуун жижиг видеог нэгэн зэрэг харуулах боломжтой болохыг тэмдэглэв. Уламжлалт кодлогчтой WebAssembly-д SIMD зааврыг ашиглах боломжтой болохоос өмнө гүйцэтгэлийн ийм түвшинд хүрэх боломжгүй байгаа тул бүтэц дээр суурилсан видеог ердийн видео ашиглах боломжгүй газруудад ашиглаж болно. Одоогоор видеоны нэмэлт оновчлол, түүний дотор ашиглах чадвар бүхий кодыг нийтлэхээр бэлтгэж байна I-хүрээ ба P-хүрээ дасан зохицох дэвсгэр (CR) дэмжлэгтэй.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх