WebP

WebP
Изображение логотипа
Расширение .webp
MIME-тип image/webp
Сигнатура WEBP
Разработчик Google
Опубликован 30 сентября 2010[1]
Последний выпуск 1.6.0 (9 июля 2025 [2])
Тип формата Графический формат
Алгоритм сжатия без потерь/с потерями
Содержится в Resource Interchange File Format (RIFF)[3]
Расширен из RIFF
Открытый формат? Да[4]
Сайт developers.google.com/… (англ.)
Логотип Викисклада Медиафайлы на Викискладе

WebP — (англ. WEB Pictures) формат сжатия изображений как с потерями, так и без потерь, предложенный компанией Google Inc. в 2010 году. Основан на алгоритме сжатия неподвижных изображений (ключевых кадров) из видеокодека VP8. Использует контейнер RIFF.

Для работы с данным форматом существует открытое программное обеспечение, в частности, библиотека libvpx и конвертер webpconv.

Алгоритм

Сжатие состоит из двух этапов. На первом делается попытка «предсказать» содержимое одних блоков по уже декодированным (три блока над текущим и один блок слева от него), на втором кодируется ошибка предсказания. Блоки отрисовываются в порядке слева направо и сверху вниз[5]. Режимы предсказания работают с 3 размерами макроблоков[6]:

  • 4×4 в канале яркости
  • 16×16 в канале яркости
  • 8×8 в канале цветности

В VP8 и WebP реализованы режимы предсказания[6]:

  • Горизонтальное, H_PRED. Каждый столбец текущего блока есть копия столбца слева от текущего блока.
  • Вертикальное, V_PRED. Каждая строка текущего блока есть копия строки над текущим блоком.
  • DC предсказание, DC_PRED. Заполняет весь блок одинаковыми значениями, полученными за счет усреднения значений пикселов вышележащей строки и столбца слева от текущего блока.
  • Предсказание TrueMotion, TM_PRED. Разработано в On2 Technologies. Кроме строки над блоком и столбца слева от него используется пиксел, расположенный сверху слева от блока. Разница между угловым пикселом и строкой сверху записывается в строки блока, при этом к значениям добавляется значение соответствующего пиксела из столбца. Xij = Столбецi + Рядj - Угл. Пиксел.
  • Для блоков 4×4 реализовано 6 дополнительных режимов, сходных с V_PRED и H_PRED, но с диагональными направлениями.

Для сжатия ошибок предсказания и подблоков, которые не были предсказаны, используется дискретное косинусное преобразование DCT (и, изредка, преобразование Уолша—Адамара, WHT). Оба преобразования работают с подблоками размером 4×4 пиксела. Реализация преобразований выполнена на представлении чисел с фиксированной точностью, чтобы уменьшить ошибки округления [7]. Коэффициенты DCT и WHT пакуются энтропийным кодеком.

WebP не работает в цветовом пространстве RGB, перед кодированием изображение переводится в YUV с глубиной 8 бит и форматом 4:2:0. Перевод осуществляется согласно стандарту ITU-R BT.601[7].

Для некоторых изображений может использоваться алгоритм upscaling, когда кодируется не само изображение, а его отмасштабированная (уменьшенная) версия. Декодер проводит обратное преобразование (увеличение изображения)[7].

Поддержка

В настоящее время просмотр изображений в формате WebP поддерживается браузерами Google Chrome (начиная с 9 версии)[8], Opera (начиная с версии 11.10)[9] и Firefox (с версии 65)[10].

Android поддерживает чтение и запись WebP-изображений начиная с версии 4.0[11].

С помощью специальной JavaScript-библиотеки возможно отображение в браузерах, поддерживающих видео в формате WebM, в частности, в Firefox 4.0 и более новых[12][13].

Существует также порт библиотеки libwebp под названием libwebpjs/libwebpas на JavaScript и ActionScript, позволяющий использовать WebP во всех популярных браузерах (поддержка IE6+ осуществляется с помощью дополнительного модуля Adobe Flash)[14].

Просмотрщик изображений IrfanView при условии установки специального плагина также поддерживает WebP и может преобразовывать его в другие графические форматы. Просмотрщик изображений ACDSee 2022 поддерживает WebP и может преобразовывать его в другие графические форматы .[15] Просмотрщик изображений FastStone Image Viewer начиная с версии 7.1 (Windows 10/11) также поддерживает WebP-формат[уточнить].

В октябре 2018 поддержка формата была добавлена в Microsoft Edge[16]. Также в октябре 2018 библиотека libwebp была принята в кодовую базу Firefox.[17]

Ограничения и недостатки

Как и VP8, поддерживает только формат 8-bit YUV 4:2:0[18], что, при кодировании с потерей качества, может быть причиной потери цвета на изображениях с 1-пиксельными контрастными переходами, например в пиксельной графике и других видах компьютерной графики. Для преодоления этих ограничений была разработана спецификация WebP Lossless[19], работающая в цветовом пространстве ARGB.

См. также

Примечания

  1. Rabbat, Richard. WebP, a new image format for the Web. Chromium Blog. Google (30 сентября 2010). Дата обращения: 1 октября 2010. Архивировано 13 марта 2013 года.
  2. refs/tags/v1.6.0 - webm/libwebp - Git at Google.
  3. RIFF Container. Google Code. Google. Дата обращения: 1 октября 2010. Архивировано 13 марта 2013 года.
  4. WebP FAQs. Google Code. Google. Дата обращения: 6 октября 2010. Архивировано 13 марта 2013 года.
  5. VideoBits.org — Prediction. Дата обращения: 3 октября 2010. Архивировано из оригинала 24 ноября 2010 года.
  6. 1 2 Inside WebM Technology: VP8 Intra and Inter Prediction — The WebM Open Media Project Blog. Дата обращения: 3 октября 2010. Архивировано 6 ноября 2010 года.
  7. 1 2 3 http://www.webmproject.org/media/pdf/vp8-bitstream.pdf (недоступная ссылка)
  8. Chrom* и картинки WebP Архивная копия от 5 ноября 2010 на Wayback Machine  (итал.)
  9. Opera 11.10 gets WebP support, faster «Turbo» mode. Дата обращения: 29 сентября 2017. Архивировано 7 мая 2012 года.
  10. Firefox 65 для разработчиков. Дата обращения: 31 января 2019. Архивировано 1 февраля 2019 года.
  11. Android 4.0 Platform Highlights. Дата обращения: 26 июля 2012. Архивировано из оригинала 11 ноября 2011 года.
  12. antimatter15/weppy — GitHub. Дата обращения: 6 апреля 2011. Архивировано 19 октября 2010 года.
  13. Weppy Demo. Дата обращения: 29 сентября 2017. Архивировано 15 января 2013 года.
  14. Библиотека WebPJS. Дата обращения: 20 ноября 2011. Архивировано из оригинала 14 ноября 2015 года.
  15. https://www.acdsee.com/ru/support/file-formats/ Архивная копия от 5 января 2022 на Wayback Machine Поддерживаемые форматы файлов в ACDSee Photo Studio Ultimate 2022 и ACDSee Photo Studio Home 2022.
  16. What’s new in Microsoft Edge in the Windows 10 October 2018 Update. Дата обращения: 8 октября 2018. Архивировано 8 октября 2018 года.
  17. 1294490 - (WebP) Implement WebP image support. Дата обращения: 8 октября 2018. Архивировано 8 октября 2018 года.
  18. RFC 6386 - VP8 Data Format and Decoding Guide. Дата обращения: 4 февраля 2013. Архивировано 12 февраля 2013 года.
  19. WebP Lossless Bitstream Specification. Дата обращения: 17 декабря 2018. Архивировано 16 декабря 2018 года.

Ссылки

Публикации в прессе

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.