Jump to content

Сжатие текстур

(Перенаправлено из «Суперсжатия текстур »)

Сжатие текстур — это специализированная форма сжатия изображений , предназначенная для хранения карт текстур в системах рендеринга трехмерной компьютерной графики . В отличие от обычных алгоритмов сжатия изображений, алгоритмы сжатия текстур оптимизированы для произвольного доступа .

Сжатие текстур можно применять для уменьшения использования памяти во время выполнения. Данные текстур часто являются крупнейшим источником использования памяти в мобильном приложении.

Компромиссы

[ редактировать ]

В своей основополагающей статье о сжатии текстур [ 1 ] Бирс, Агравала и Чадда перечисляют четыре особенности, которые отличают сжатие текстур от других методов сжатия изображений. Эти особенности:

Скорость декодирования
Крайне желательно иметь возможность рендеринга непосредственно из сжатых данных текстуры, поэтому, чтобы не влиять на производительность рендеринга, распаковка должна быть быстрой.
Произвольный доступ
Поскольку предсказать порядок, в котором средство рендеринга обращается к текселям , будет сложно, любая схема сжатия текстур должна обеспечивать быстрый произвольный доступ к распакованным данным текстуры. Это имеет тенденцию исключать многие более известные схемы сжатия изображений, такие как JPEG или кодирование длин серий .
Степень сжатия и качество изображения
В системе рендеринга сжатие с потерями может быть более терпимым, чем в других случаях использования. Некоторые библиотеки сжатия текстур, такие как crunch, [ 2 ] позволяют разработчику гибко находить компромисс между степенью сжатия и качеством изображения, используя такие методы, как оптимизация скорости искажения (RDO).
Скорость кодирования
Сжатие текстур более устойчиво к асимметричным скоростям кодирования/декодирования, поскольку процесс кодирования часто выполняется только один раз в процессе разработки приложения.

Учитывая вышеизложенное, большинство алгоритмов сжатия текстур включают в себя ту или иную форму с потерями векторного квантования с фиксированной скоростью небольших блоков пикселей фиксированного размера в небольшие блоки кодирующих бит фиксированного размера, иногда с дополнительными дополнительными этапами предварительной и постобработки. Блочное усечение-кодирование — очень простой пример этого семейства алгоритмов.

Поскольку их шаблоны доступа к данным четко определены, распаковка текстур может выполняться «на лету» во время рендеринга как часть общего графического конвейера , что снижает общую пропускную способность и потребности в памяти во всей графической системе. Помимо текстурных карт, сжатие текстур также может использоваться для кодирования других типов карт рендеринга, включая карты рельефа и карты нормалей поверхности . Сжатие текстур также может использоваться вместе с другими формами обработки карт, такими как MIP-карты и анизотропная фильтрация .

Доступность

[ редактировать ]

Некоторыми примерами практических систем сжатия текстур являются сжатие текстур S3 (S3TC), PVRTC , сжатие текстур Ericsson (ETC) и адаптивное масштабируемое сжатие текстур (ASTC); они могут поддерживаться специальными функциональными блоками в современных графических процессорах .

OpenGL и OpenGL ES, реализованные на многих картах видеоускорителей и мобильных графических процессорах, могут поддерживать несколько распространенных видов сжатия текстур — обычно за счет использования расширений поставщиков.

Суперсжатие

[ редактировать ]

Сжатую текстуру можно дополнительно сжать, что называется «суперсжатием». Форматы сжатия текстур с фиксированной скоростью оптимизированы для произвольного доступа и гораздо менее эффективны по сравнению с форматами изображений, такими как PNG . Добавляя дальнейшее сжатие, программист может уменьшить разрыв в эффективности. Дополнительный слой может быть распакован процессором, чтобы графический процессор получил нормальную сжатую текстуру. [ 3 ] или в более новых методах, распакованных самим графическим процессором. Суперсжатие экономит тот же объем видеопамяти, что и обычное сжатие текстур, но экономит больше дискового пространства и размера загрузки. [ 4 ]

Нейронное сжатие текстур

[ редактировать ]

Нейронное сжатие текстур материалов с произвольным доступом (нейронное сжатие текстур) — это технология Nvidia , которая обеспечивает два дополнительных уровня детализации (в 16 раз больше текселей , что в четыре раза выше разрешение), сохраняя при этом те же требования к объему памяти, что и традиционные методы сжатия текстур. [ 5 ]

Ключевая идея — сжатие нескольких текстур материалов и их цепочек MIP-карт вместе и использование небольшой нейронной сети , оптимизированной для каждого материала, для их распаковки. [ 6 ]


См. также

[ редактировать ]
  1. ^ Эндрю Бирс; Маниш Агравала; Навин Чадда (1996), «Рендеринг на основе сжатых текстур» , Компьютерная графика, Proc. СИГРАФ : 373–378
  2. ^ «Crunch библиотека сжатия текстур с открытым исходным кодом» . Гитхаб . Проверено 13 сентября 2016 г.
  3. ^ Стром, Джейкоб; Веннерстен, Пер (5 августа 2011 г.). Сжатие без потерь уже сжатых текстур . HPG '11: Материалы симпозиума ACM SIGGRAPH по высокопроизводительной графике. стр. 177–182. дои : 10.1145/2018323.2018351 .
  4. ^ Крайцевский, Павел; Пратапа, Шрихари; Маноча, Динеш (11 ноября 2016 г.). «GST: суперсжатые текстуры, декодируемые графическим процессором» . Транзакции ACM с графикой . 35 (6): 1–10. дои : 10.1145/2980179.2982439 .
  5. ^ https://www.tomshardware.com/news/nvidia-uses-neural-network-for-innovative-texture-compression-method
  6. ^ https://research.nvidia.com/publication/2023-08_random-access-neural-compression-material-textures
[ редактировать ]
  • http://gamma.cs.unc.edu/GST/ GST: сверхсжатые текстуры, декодируемые графическим процессором.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e9d2754fc5a84fcb03ebaf0026e38eb0__1719596400
URL1:https://arc.ask3.ru/arc/aa/e9/b0/e9d2754fc5a84fcb03ebaf0026e38eb0.html
Заголовок, (Title) документа по адресу, URL1:
Texture compression - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)