The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Google и Binomial открыли код системы сжатия текстур Basis U..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от opennews (??), 24-Май-19, 12:23 
Компании Google и Binomial открыли (https://opensource.googleblog.com/2019/05/google-and-binomia...) исходные тексты Basis Universal (https://github.com/binomialLLC/basis_universal), кодека для эффективного сжатия текстур и связанного с ним универсального файлового формата ".basis" для распространения текстур  на базе изображений и видео.  Код эталонной реализации написан на языке С++ и поставляется (https://github.com/binomialLLC/basis_universal) под лицензией Apache 2.0.

Basis Universal дополняет ранее опубликованную (https://www.opennet.ru/opennews/art.shtml?num=45853) систему сжатия 3D-данных Draco и пытается решить проблему с поставкой текстур для GPU. До сих пор  разработчики были ограничены выбором между низкоуровневыми форматами, позволяющими добиться высокой производительности, но специфичными для  GPU и занимающими много места на диске, и другими форматами, которые позволяют добиться уменьшения размера, но не могут конкурировать с GPU-текстурами по производительности.


Формат Basis Universal позволяет добиться производительности уровня родных для GPU текстур, но обеспечивает более высокий уровень сжатия.
Basis является промежуточным форматом, перед применением обеспечивающим быстрое перекодирование  в различные низкоуровневые форматы текстур GPU, применяемых как на настольных системах, так и на мобильных устройствах.  В настоящее время поддерживается трансляция в  форматы PVRTC1 (4bpp RGB), BC7 (режим 6 RGB), BC1-5, ETC1, и ETC2. В дальнейшем ожидается поддержка формата ASTC (RGB или RGBA) и режимов 4/5 RGBA для формата BC7 и 4bpp RGBA для PVRTC1.

Текстуры  в формате basis занимают в 6-8 раз меньше видеопамяти и требует передачи примерно в два раза меньше данных, чем типовые текстуры на основе формата JPEG и на 10-25% меньше, чем текстуры в режиме RDO.  Например, при размере JPEG-изображения в 891 Кб, а текстуры ETC1 в 1 Мб, размер данных в формате  Basis составляет 469 Кб в режиме наивысшего качества. При размещении текстуры в видеопамяти, используемые в тестах текстуры в формате JPEG и PNG израсходовали 16 Мб памяти, в то время как для текстур в формате  
Basis потребовалось 2 Мб памяти в случае трансляции в BC1, PVRTC1 и ETC1, и 4 Мб в случае трансляции в BC7.


Процесс перевода существующих приложений на Basis Universal достаточно прост. Достаточно перекодировать имеющиеся текстуры или изображения в новый формат при помощи предоставляемой проектом утилиты "basisu", выбрав необходимый уровень качества. Далее в приложении перед кодом отрисовки нужно инициализировать перекодировщик basisu, который отвечает за трансляцию промежуточного формата в поддерживаемый текущим GPU формат. При этом изображения на всей цепочке обработки остаются сжатыми, в том числе загружаются в сжатом виде в GPU. Вместо упреждающего перекодирования изображения целиком, GPU выборочно декодирует только необходимые части изображения.


Поддерживается сохранение в одном  файле неоднородных массивов текстур (cubemap), объёмных текстур, массивов текстур, уровней mipmap, последовательностей видео или произвольных отрывков текстур. Например, возможна упаковка в одном файле серии изображений для создания небольших видео или объединение нескольких текстур с использованием общей для всех изображений палитры и дедупликацией типовых шаблонов изображений. Реализация кодировщика Basis Universal поддерживает многопоточное кодирование с использованием OpenMP. Перекодировщик пока работает только в однопоточном режиме.

Дополнительно доступен (https://github.com/BinomialLLC/basis_universal/blob/master/w...) декодировщик Basis Universal для браузеров, поставляемый в формате WebAssembly, который можно использовать в web-приложениях на базе WebGL. В конечном счёте, Google намерен добиться поддержи Basis Universal во всех основных браузерах и продвинуть его в качестве переносимого формата текстур для WebGL и будущей спецификации WebGPU (https://en.wikipedia.org/wiki/WebGPU), концептуально схожей с API Vulkan, Metal и Direct3D 12.


Отмечается, что возможность встраивания видео  с его последующей обработкой только на стороне GPU делает Basis Universal интересным решением для создания динамических интерфейсов пользователя на WebAssembly и WebGL, в которых могут одновременно отражаться сотни небольших видео с минимальной нагрузкой на CPU. До появления возможности использования инструкций SIMD в WebAssembly при традиционных кодеках подобный уровень производительности пока недостижим, поэтому видео на основе текстур может использоваться в областях, где обычное видео неприменимо. В настоящее время готовится к публикации код с дополнительными оптимизациями для видео, включающий возможность использования I-кадров и P-кадров (https://ru.wikipedia.org/wiki/%D0%A2%D0%...) с поддержкой адаптивного заполнения (CR).

URL: https://opensource.googleblog.com/2019/05/google-and-binomia...
Новость: https://www.opennet.ru/opennews/art.shtml?num=50732

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (1), 24-Май-19, 12:23 
PVRTC это конечно хорошо (нет, все ненавидят pоwеrvr), но как это соотносится с S3TC? И чего не сравнивают с актуальным ASTC? Мне нравится формулировка "ожидается".
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (3), 24-Май-19, 16:10 
> Отмечается, что возможность встраивания видео с его последующей обработкой только на стороне GPU делает Basis Universal интересным решением

Ну опять в команду затесались комбайнёры. Ну есть у вас универсальный формат для текстур ну оставьте его таким. Неет....

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (4), 24-Май-19, 19:12 
Какой из текущих форматов универсальный?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (6), 24-Май-19, 19:17 
Мало стандартов?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (6), 24-Май-19, 19:18 
Крайний.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +6 +/
Сообщение от Аноним (7), 24-Май-19, 20:01 
"Google намерен добиться поддержи Basis Universal во всех основных браузерах и продвинуть его в качестве переносимого формата текстур"
чтобы потом была возможность отключать как с Андроид для хуавей
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Google и Binomial открыли код системы сжатия текстур Basis U..."  –1 +/
Сообщение от Аноним (8), 24-Май-19, 20:51 
Актуальный это ETC1 или не?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (9), 24-Май-19, 22:39 
>будущей спецификации WebGPU, концептуально схожей с API Vulkan, Metal и Direct3D 12.

Они бы ещё WebUSB, WebHDD, WebUEFI, WebTEE и WebManagementEngine предложили.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +1 +/
Сообщение от Аноним (10), 25-Май-19, 10:57 
> Они бы ещё WebUSB

Ты анончик отстал: https://en.wikipedia.org/wiki/WebUSB

А Basis годная вещь, игроразрабы одобряют.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от InuYasha (?), 25-Май-19, 11:24 
DDS уже не торт? хотя, там сжатие такое, что от вида текстур блевать охота. Вспоминаем квадратные носы в первом Скайриме. (да, я в курсе, что в ДДС куча видов сжатия).

А в итоге что с этими форматами? Они предлагают сжатие в хранилище и разжатие на стороне ГПУ во время прекэша? Или ГПУ вообще будет разжимать прям вот во время отрисовки? o_O А как тогда шейдеры? Это нужна прям неимоверная заточенность под эти алгоритмы. Раньше-то - хоть в жпеге храни (если тебе за это по дыхалке не дадут) - а в видеопамяти всё равно RGBA во все поля.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Stax (ok), 25-Май-19, 15:23 
ASTC вроде как самый актуальный
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Google и Binomial открыли код системы сжатия текстур Basis U..."  +/
Сообщение от Аноним (-), 31-Май-19, 07:55 
а чо не "год рар"?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру