WebP: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
отмена правки 100790902 участника 94.165.235.175 (обс.) Метка: отмена |
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ. #IABot (v2.0beta15) |
||
Строка 20: | Строка 20: | ||
== Алгоритм == |
== Алгоритм == |
||
Сжатие состоит из двух этапов. На первом делается попытка «предсказать» содержимое одних блоков по уже декодированным (три блока над текущим и один блок слева от него), на втором кодируется ошибка предсказания. Блоки отрисовываются в порядке слева направо и сверху вниз<ref> |
Сжатие состоит из двух этапов. На первом делается попытка «предсказать» содержимое одних блоков по уже декодированным (три блока над текущим и один блок слева от него), на втором кодируется ошибка предсказания. Блоки отрисовываются в порядке слева направо и сверху вниз<ref>{{Cite web |url=http://www.videobits.org/prediction.html |title=VideoBits.org — Prediction<!-- Заголовок добавлен ботом --> |accessdate=2010-10-03 |archiveurl=https://web.archive.org/web/20101124091025/http://www.videobits.org/prediction.html |archivedate=2010-11-24 |deadlink=yes }}</ref>. |
||
Режимы предсказания работают с 3 размерами макроблоков<ref name=inside>[http://blog.webmproject.org/2010/07/inside-webm-technology-vp8-intra-and.html Inside WebM Technology: VP8 Intra and Inter Prediction — The WebM Open Media Project Blog<!-- Заголовок добавлен ботом -->]</ref>: |
Режимы предсказания работают с 3 размерами макроблоков<ref name=inside>[http://blog.webmproject.org/2010/07/inside-webm-technology-vp8-intra-and.html Inside WebM Technology: VP8 Intra and Inter Prediction — The WebM Open Media Project Blog<!-- Заголовок добавлен ботом -->]</ref>: |
||
* 4x4 в канале яркости |
* 4x4 в канале яркости |
Версия от 08:49, 14 июля 2019
WebP | |
---|---|
![]() | |
Расширение |
.webp |
MIME-тип | image/webp |
Сигнатура | WEBP |
Разработчик | |
Опубликован | 30 сентября 2010[1] |
Последний выпуск | 1.0.0 (20 апреля 2018) |
Тип формата |
Графический формат Алгоритм сжатия без потерь/с потерями |
Содержится в | Resource Interchange File Format (RIFF)[2] |
Расширен из | RIFF |
Открытый формат? | Да[3] |
Сайт | developers.google.com/… (англ.) |
![]() |
WebP — формат сжатия изображений с потерями и без потерь качества, предложенный компанией Google Inc. в 2010 году. Основан на алгоритме сжатия неподвижных изображений (ключевых кадров) из видеокодека VP8. Использует контейнер RIFF.
Для работы с данным форматом существует открытое программное обеспечение, в частности библиотека libvpx и конвертер webpconv.
Алгоритм
Сжатие состоит из двух этапов. На первом делается попытка «предсказать» содержимое одних блоков по уже декодированным (три блока над текущим и один блок слева от него), на втором кодируется ошибка предсказания. Блоки отрисовываются в порядке слева направо и сверху вниз[4]. Режимы предсказания работают с 3 размерами макроблоков[5]:
- 4x4 в канале яркости
- 16x16 в канале яркости
- 8x8 в канале цветности
В VP8 и WebP реализованы режимы предсказания[5]:
- Горизонтальное, 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 пиксела. Реализация преобразований выполнена на представлении чисел с фиксированной точностью, чтобы уменьшить ошибки округления [6]. Коэффициенты DCT и WHT пакуются энтропийным кодеком.
WebP не работает в цветовом пространстве RGB, перед кодированием изображение переводится в YUV с глубиной 8 бит и форматом 4:2:0. Перевод осуществляется согласно стандарту ITU-R BT.601[6].
Для некоторых изображений может использоваться алгоритм upscaling, когда кодируется не само изображение, а его отмасштабированная (уменьшенная) версия. Декодер проводит обратное преобразование (увеличение изображения)[6].
Поддержка
В настоящее время просмотр изображений в формате WebP поддерживается браузерами Google Chrome (начиная с 9 версии)[7], Opera (начиная с версии 11.10)[8] и Firefox (с версии 65)[9]. Начиная с версии 26 также поддерживается браузером Pale Moon[10].
Android поддерживает чтение и запись WebP изображений начиная с версии 4.0[11].
С помощью специальной JavaScript-библиотеки возможно отображение в браузерах, поддерживающих видео в формате WebM, в частности, в Firefox 4.0 и более новых[12][13].
Существует также порт библиотеки libwebp под названием libwebpjs/libwebpas на JavaScript и ActionScript, позволяющий использовать WebP во всех популярных браузерах (поддержка IE6+ осуществляется с помощью дополнительного модуля Adobe Flash)[14].
Просмотрщики изображений IrfanView и FastStone Image Viewer также поддерживают WebP и могут преобразовывать его в другие графические форматы.
В октябре 2018 поддержка формата была добавлена в Microsoft Edge[15]. Также в октябре 2018, библиотека libwebp была принята в кодовую базу Firefox.[16]
Ограничения и недостатки
Как и VP8, поддерживает только формат 8-bit YUV 4:2:0[17], что, при кодировании с потерей качества, может быть причиной потери цвета на изображениях с 1-пиксельными контрастными переходами, например в пиксельной графике и других видах компьютерной графики. Для преодоления этих ограничений была разработана спецификация WebP Lossless[18], работающая в цветовом пространстве ARGB.
См. также
- VP8 — формат мультимедийных данных, на котором основан WebP.
- WebM — контейнер для VP8 или VP9 видеокодеков
- Better Portable Graphics (BPG) — формат сжатия изображений на базе алгоритмов из H.265
- JPEG XR
- JPEG 2000 — формат, представленный группой Joint Photographic Experts Group в 2000 году.
- x264
Примечания
- ↑ Rabbat, Richard WebP, a new image format for the Web . Chromium Blog. Google (30 сентября 2010). Дата обращения: 1 октября 2010. Архивировано 13 марта 2013 года.
- ↑ RIFF Container . Google Code. Google. Дата обращения: 1 октября 2010. Архивировано 13 марта 2013 года.
- ↑ WebP FAQs . Google Code. Google. Дата обращения: 6 октября 2010. Архивировано 13 марта 2013 года.
- ↑ VideoBits.org — Prediction . Дата обращения: 3 октября 2010. Архивировано из оригинала 24 ноября 2010 года.
- ↑ 1 2 Inside WebM Technology: VP8 Intra and Inter Prediction — The WebM Open Media Project Blog
- ↑ 1 2 3 http://www.webmproject.org/media/pdf/vp8-bitstream.pdf (недоступная ссылка)
- ↑ Chrom* и картинки WebP (итал.)
- ↑ Opera 11.10 gets WebP support, faster «Turbo» mode
- ↑ Firefox 65 для разработчиков
- ↑ Pale Moon - Release Notes
- ↑ Android 4.0 Platform Highlights
- ↑ antimatter15/weppy — GitHub
- ↑ Weppy Demo
- ↑ Библиотека WebPJS
- ↑ What’s new in Microsoft Edge in the Windows 10 October 2018 Update
- ↑ 1294490 - (WebP) Implement WebP image support
- ↑ RFC 6386 - VP8 Data Format and Decoding Guide . Дата обращения: 4 февраля 2013. Архивировано 12 февраля 2013 года.
- ↑ WebP Lossless Bitstream Specification . Дата обращения: 17 декабря 2018.
Ссылки
- Домашняя страница. (англ.)
- Таблица поддержки WebP в различных браузерах, caniuse.com
- Сравнение WebP, JPEG и JPEG 2000. (англ.)
- Devin Coldewey. WebP, a new image format for the Web (англ.). Google Inc. (30 сентября 2010). — Официальный анонс формата. Дата обращения: 3 апреля 2011. Архивировано 13 августа 2011 года.
- Публикации в прессе
- Sharon Gaudin. Google's WebP makes images more byte-size (англ.). ComputerWorld (30 сентября 2010). — «JPEG alternative aims to speed up the Web, save storage space». Дата обращения: 3 апреля 2011. Архивировано 3 апреля 2011 года.
- Mark Hachman. Google Promotes Replacement for JPEG Image Format (англ.). PC Magazine (30 сентября 2010). Дата обращения: 3 апреля 2011. Архивировано 3 апреля 2011 года.
- Stephen Shankland. Google offers JPEG alternative for faster Web (англ.). CNET (30 сентября 2010). Дата обращения: 3 апреля 2011. Архивировано 3 апреля 2011 года.
- Devin Coldewey. With WebP, Google Aims To Replace Yet Another Elemental Web Format (англ.). CrunchGear (30 сентября 2010). Дата обращения: 3 апреля 2011. Архивировано 3 апреля 2011 года.
- Константин Ходаковский. Google решила отправить JPEG на покой . 3DNews (2 октября 2010). Дата обращения: 2 октября 2010.
- Garett Rogers. WebP: Google's new attempt at speeding up the web (англ.). ZDNet (3 октября 2010). — «Anything to make the web faster is good in my books — but I have a question. Why are we worried about fractionally speeding up the web when we live in a broadband world that’s just getting faster and faster anyway?» Дата обращения: 3 апреля 2011. Архивировано 3 апреля 2011 года.
- Разработчики кодека x264 резко критикуют формат WebP, предложенный Google 01.10.2010 , Jason Garrett-Glaser