Jump to content

Сжатие текстур Эрикссон

Ericsson Texture Compression ( ETC ) — это с потерями, метод сжатия текстур разработанный в сотрудничестве с Ericsson Research в начале 2005 года. Первоначально он разрабатывался под названием iPACKMAN. [1] и основан на более ранней схеме сжатия под названием i PACKMAN . [2]

Исходная схема сжатия ETC1 обеспечивает 6-кратное сжатие 24-битных данных RGB . Он не поддерживает сжатие изображений компонентами Alpha, хотя для этого есть обходные пути. [3]

ETC1 принимает группы данных пикселей 4x4 и сжимает каждую в одно 64-битное слово. Группа пикселей 4×4 сначала делится на два фрагмента 4×2 — по горизонтали или по вертикали. Каждой половине присваивается базовый цвет — либо с использованием 4/4/4 RGB, либо путем присвоения одной из них 5/5/5 RGB, а другой – смещения 3/3/3 бита от этой базы. Каждая область 4×2 также имеет 3-битный выбор диапазона яркости . Затем каждый пиксель смещается от базового цвета путем добавления одного из четырех значений со знаком к базовому цвету для его половины группы 4×4.

Этот формат является частью OpenGL ES. расширений графического стандарта [4] для встроенных устройств, таких как мобильные телефоны , и был одобрен Khronos Group для использования в графическом стандарте WebGL для графики Всемирной паутины на стороне браузера. [ нужна ссылка ]

Android версии 2.2 (Froyo) включает поддержку ETC1. [5] [3]

Схема ETC2 расширяет ETC1 обратно совместимым способом, обеспечивая более качественное сжатие RGB. [6] а также сжатие RGBA (RGB плюс альфа).

Следующие кодеки ETC2 являются обязательными в OpenGL ES 3.0. [7] и OpenGL 4.3: [8]

  • GL_COMPRESSED_RGB8_ETC2 — Сжимает данные RGB888, продолжение ETC1.
  • GL_COMPRESSED_RGBA8_ETC2_EAC — Сжимает данные RGBA8888 с полной поддержкой альфа-канала.
  • GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 — Сжимает данные RGBA, где пиксели либо полностью прозрачны, либо полностью непрозрачны.

Также доступны варианты sRGB вышеуказанных кодеков.

EAC построен на тех же принципах, что и ETC1/ETC2, но используется для одно- или двухканальных данных. Следующие четыре кодека EAC включены в качестве обязательных в OpenGL ES 3.0 и OpenGL 4.3:

  • GL_COMPRESSED_R11_EAC — одноканальные беззнаковые данные
  • GL_COMPRESSED_SIGNED_R11_EAC — подписанные данные одного канала
  • GL_COMPRESSED_RG11_EAC — двухканальные беззнаковые данные
  • GL_COMPRESSED_SIGNED_RG11_EAC — двухканальные подписанные данные

Кодирование

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

Форматы RGBA и RG11 кодируются 128 битами на блок 4x4, а остальные — 64 битами на блок. В случае RGBA каналы RGB кодируются обычным 64-битным блоком, а канал A получает собственный 64-битный блок. Форматы RG11 кодируются аналогично, с одним 64-битным блоком на компонент.

Программное обеспечение

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

Программная утилита ETCPACK для сжатия и распаковки текстур ETC1/ETC2 доступна для бесплатной загрузки в виде кода с сайта Ericsson на GitHub. [9]

См. также

[ редактировать ]
  1. ^ iPACKMAN: Высококачественное сжатие текстур низкой сложности для мобильных телефонов - Джейкоб Стрём (Ericsson Research), Томас Акейнин-Мёллер (Лундский университет)
  2. ^ ПАКМАН: Сжатие текстур для мобильных телефонов - Джейкоб Стрём (Ericsson Research), Томас Акейнин-Мёллер (Лундский университет).
  3. ^ Jump up to: а б «Пример кода для обработки альфа-каналов в ETC1 от ARM» . Архивировано из оригинала 27 октября 2011 г. Проверено 3 ноября 2011 г.
  4. ^ OES_compressed_ETC1_RGB8_texture , описание алгоритма сжатия ETC1 и формата текстур в реестре расширений OpenGL ES.
  5. ^ Примечания к выпуску Android 2.2. Архивировано 11 октября 2010 г. на Wayback Machine (Froyo).
  6. ^ Статья об ETC2: сжатие текстур с использованием недопустимых комбинаций.
  7. ^ «Спецификация OpenGL ES версии 3.0» (PDF) . Архивировано из оригинала (PDF) 6 марта 2016 г. Проверено 7 августа 2012 г.
  8. ^ Спецификация OpenGL версии 4.3
  9. ^ Ericsson ETCPACK на Github
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 24959caf403a3b6c63a533df81a016c4__1712929020
URL1:https://arc.ask3.ru/arc/aa/24/c4/24959caf403a3b6c63a533df81a016c4.html
Заголовок, (Title) документа по адресу, URL1:
Ericsson Texture Compression - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)