Русская Википедия:WebP
Шаблон:Файловый формат WebP — формат сжатия изображений как с потерями, так и без потерь, предложенный компанией Google Inc. в 2010 году. Основан на алгоритме сжатия неподвижных изображений (ключевых кадров) из видеокодека VP8. Использует контейнер RIFF.
Для работы с данным форматом существует открытое программное обеспечение, в частности, библиотека libvpx и конвертер webpconv.
Алгоритм
Сжатие состоит из двух этапов. На первом делается попытка «предсказать» содержимое одних блоков по уже декодированным (три блока над текущим и один блок слева от него), на втором кодируется ошибка предсказания. Блоки отрисовываются в порядке слева направо и сверху вниз[1]. Режимы предсказания работают с 3 размерами макроблоков[2]:
- 4x4 в канале яркости
- 16x16 в канале яркости
- 8x8 в канале цветности
В VP8 и WebP реализованы режимы предсказания[2]:
- Горизонтальное, H_PRED. Каждый столбец текущего блока есть копия столбца слева от текущего блока.
- Вертикальное, V_PRED. Каждая строка текущего блока есть копия строки над текущим блоком.
- DC предсказание, DC_PRED. Заполняет весь блок одинаковыми значениями, полученными за счет усреднения значений пикселов вышележащей строки и столбца слева от текущего блока.
- Предсказание TrueMotion, TM_PRED. Разработано в On2 Technologies. Кроме строки над блоком и столбца слева от него, используется пиксел, расположенный сверху-слева от блока. Разница между угловым пикселом и строкой сверху записывается в строки блока, при этом к значениям добавляется значение соответствующего пиксела из столбца. Xij = Столбецi + Рядj - Угл. Пиксел.
- Для блоков 4x4 реализовано 6 дополнительных режимов, сходных с V_PRED и H_PRED, но с диагональными направлениями.
Для сжатия ошибок предсказания и подблоков, которые не были предсказаны, используется дискретное косинусное преобразование DCT (и, изредка, преобразование Уолша—Адамара, WHT). Оба преобразования работают с подблоками размером 4х4 пиксела. Реализация преобразований выполнена на представлении чисел с фиксированной точностью, чтобы уменьшить ошибки округления [3]. Коэффициенты DCT и WHT пакуются энтропийным кодеком.
WebP не работает в цветовом пространстве RGB, перед кодированием изображение переводится в YUV с глубиной 8 бит и форматом 4:2:0. Перевод осуществляется согласно стандарту ITU-R BT.601[3].
Для некоторых изображений может использоваться алгоритм upscaling, когда кодируется не само изображение, а его отмасштабированная (уменьшенная) версия. Декодер проводит обратное преобразование (увеличение изображения)[3].
Поддержка
В настоящее время просмотр изображений в формате WebP поддерживается браузерами Google Chrome (начиная с 9 версии)[4], Opera (начиная с версии 11.10)[5] и Firefox (с версии 65)[6].
Android поддерживает чтение и запись WebP-изображений начиная с версии 4.0[7].
С помощью специальной JavaScript-библиотеки возможно отображение в браузерах, поддерживающих видео в формате WebM, в частности, в Firefox 4.0 и более новых[8][9].
Существует также порт библиотеки libwebp под названием libwebpjs/libwebpas на JavaScript и ActionScript, позволяющий использовать WebP во всех популярных браузерах (поддержка IE6+ осуществляется с помощью дополнительного модуля Adobe Flash)[10].
Просмотрщик изображений IrfanView при условии установки специального плагина также поддерживает WebP и может преобразовывать его в другие графические форматы. Просмотрщик изображений ACDSee 2022 поддерживает WebP и может преобразовывать его в другие графические форматы .[11] Просмотрщик изображений FastStone Image Viewer начиная с версии 7.1 (Windows 10/11) также поддерживает WebP форматШаблон:Уточнить.
В октябре 2018 поддержка формата была добавлена в Microsoft Edge[12]. Также в октябре 2018 библиотека libwebp была принята в кодовую базу Firefox.[13]
Ограничения и недостатки
Как и VP8, поддерживает только формат 8-bit YUV 4:2:0[14], что, при кодировании с потерей качества, может быть причиной потери цвета на изображениях с 1-пиксельными контрастными переходами, например в пиксельной графике и других видах компьютерной графики. Для преодоления этих ограничений была разработана спецификация WebP Lossless[15], работающая в цветовом пространстве ARGB.
См. также
- VP8 — формат мультимедийных данных, на котором основан WebP.
- WebM — контейнер для VP8- или VP9-видеокодеков
- Better Portable Graphics (BPG) — формат сжатия изображений на базе алгоритмов из H.265
- JPEG XR
- JPEG 2000 — формат, представленный группой Joint Photographic Experts Group в 2000 году
- x264
- AV1/AVIF
Примечания
Ссылки
- Домашняя страница. Шаблон:WaybackШаблон:Ref-en
- Таблица поддержки WebP в различных браузерах Шаблон:Wayback, caniuse.com
- Сравнение WebP, JPEG и JPEG 2000. Шаблон:WaybackШаблон:Ref-en
- Шаблон:Cite web
- Публикации в прессе
- Шаблон:Cite web
- Шаблон:Cite web
- Шаблон:Cite web
- Шаблон:Cite web
- Шаблон:Cite web
- Шаблон:Cite web
- Разработчики кодека x264 резко критикуют формат WebP, предложенный Google 01.10.2010 Шаблон:Wayback, Jason Garrett-Glaser
Шаблон:Форматы сжатия медиаданных
- ↑ Шаблон:Cite web
- ↑ 2,0 2,1 Шаблон:Cite web
- ↑ 3,0 3,1 3,2 http://www.webmproject.org/media/pdf/vp8-bitstream.pdfШаблон:Недоступная ссылка
- ↑ Chrom* и картинки WebP Шаблон:Wayback Шаблон:Ref-it
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ https://www.acdsee.com/ru/support/file-formats/ Шаблон:Wayback Поддерживаемые форматы файлов в ACDSee Photo Studio Ultimate 2022 и ACDSee Photo Studio Home 2022.
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web