Изменения

WebP

12 874 байта добавлено, 21:43, 28 июня 2015
Новая страница: «'''WebP''' (произносится как {{lang-en|weppy}}<ref>[http://code.google.com/speed/webp/ WebP Home]: "'''Did you know?''' WebP is pronounced «weppy…»
'''WebP''' (произносится как {{lang-en|weppy}}<ref>[http://code.google.com/speed/webp/ WebP Home]: "'''Did you know?''' WebP is pronounced «weppy». /(wĕpˈē)/ "</ref>) — формат [[Сжатие изображений|сжатия изображений]] с потерями и без потерь качества, предложенный компанией [[Google (компания)|Google Inc.]] в 2010 году. Основан на алгоритме сжатия неподвижных изображений (ключевых кадров) из [[видеокодек]]а [[VP8]]. Использует [[Медиаконтейнер|контейнер]] [[RIFF]].

Для работы с данным форматом существуют открытые [[Библиотека (программирование)|библиотека]] (libvpx) и [[Конвертация данных|конвертер]] (webpconv).

== Алгоритм ==
Сжатие состоит из двух этапов. На первом делается попытка «предсказать» содержимое одних блоков по уже декодированным (три блока над текущим и один блок слева от него), на втором кодируется ошибка предсказания. Блоки отрисовываются в порядке слева направо и сверху вниз<ref>[http://www.videobits.org/prediction.html VideoBits.org — Prediction<!-- Заголовок добавлен ботом -->]</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 в канале яркости
* 16x16 в канале яркости
* 8x8 в канале цветности

В [[VP8]] и WebP реализованы режимы предсказания<ref name=inside/>:
* Горизонтальное, H_PRED. Каждый столбец текущего блока есть копия столбца слева от текущего блока.
* Вертикальное, V_PRED. Каждая строка текущего блока есть копия строки над текущим блоком.
* DC предсказание, DC_PRED. Заполняет весь блок одинаковыми значениями, полученными за счет усреднения значений пикселов вышележащей строки и столбца слева от текущего блока.
* Предсказание TrueMotion, TM_PRED. Разработано в On2 Technologies. Кроме строки над блоком и столбца слева от него, используется пиксел, расположенный сверху-слева от блока. Разница между угловым пикселом и строкой сверху записывается в строки блока, при этом к значениям добавляется значение соответствующего пиксела из столбца. X<sub>ij</sub> = Столбец<sub>i</sub> + Ряд<sub>j</sub><nowiki> -</nowiki> Угл. Пиксел.
* Для блоков 4x4 реализовано 6 дополнительных режимов, сходных с V_PRED и H_PRED, но с диагональными направлениями.

Для сжатия ошибок предсказания и подблоков, которые не были предсказаны, используется [[Дискретное косинусное преобразование|дискретное косинусное преобразование]] DCT (и, изредка, [[Функция_Уолша#Преобразование Уолша-Адамара|преобразование Уолша—Адамара]], WHT). Оба преобразования работают с подблоками размером 4х4 пиксела. Реализация преобразований выполнена на [[Числа с фиксированной точкой|представлении чисел с фиксированной точностью]], чтобы уменьшить ошибки округления
<ref name=bitspec>http://www.webmproject.org/media/pdf/vp8-bitstream.pdf</ref>. Коэффициенты DCT и WHT пакуются [[Энтропийное_кодирование|энтропийным кодеком]].

WebP не работает в цветовом пространстве RGB, перед кодированием изображение переводится в [[YUV]] с глубиной 8 бит и форматом [[Цветовая_субдискретизация|4:2:0]]. Перевод осуществляется согласно стандарту ITU-R BT.601<ref name=bitspec />.

Для некоторых изображений может использоваться алгоритм upscaling, когда кодируется не само изображение, а его отмасштабированная (уменьшенная) версия. Декодер проводит обратное преобразование (увеличение изображения)<ref name=bitspec/>.

== Поддержка ==
В настоящее время просмотр изображений в формате WebP поддерживается браузерами [[Google Chrome]] (начиная с 9 версии)<ref>[http://www.nicoladagostino.net/chrome-e-le-immagini-webp.html Chrom* и картинки WebP]</ref> и [[Opera]] (начиная с версии 11.10)<ref name="opera111">[http://arstechnica.com/web/news/2011/04/opera-1110-gets-webp-support-faster-turbo-mode.ars Opera 11.10 gets WebP support, faster «Turbo» mode<!-- Заголовок добавлен ботом -->]</ref>.

[[Android]] поддерживает чтение и запись WebP изображений начиная с версии 4.0<ref>[http://developer.android.com/sdk/android-4.0-highlights.html#media-dev Android 4.0 Platform Highlights]</ref>.

С помощью специальной [[JavaScript]]-библиотеки возможно отображение в браузерах, поддерживающих видео в формате [[WebM]], в частности, в Firefox 4.0 и более новых<ref>[http://github.com/antimatter15/weppy/ antimatter15/weppy — GitHub<!-- Заголовок добавлен ботом -->]</ref><ref>[http://antimatter15.github.com/weppy/demo.html Weppy Demo<!-- Заголовок добавлен ботом -->]</ref>.

Существует также порт библиотеки libwebp под названием libwebpjs/libwebpas на JavaScript и [[ActionScript]], позволяющий использовать WebP во всех популярных браузерах (поддержка [[Internet Explorer|IE]]6+ осуществляется с помощью дополнительного модуля [[Adobe Flash]])<ref>[http://webpjs.appspot.com/ Библиотека WebPJS]</ref>.

== Ограничения и недостатки ==
Как и VP8, поддерживает только формат 8-bit YUV 4:2:0<ref>{{cite web|url=http://tools.ietf.org/html/rfc6386#section-2|title=RFC 6386 - VP8 Data Format and Decoding Guide|accessdate=2013-02-04|archiveurl=http://www.webcitation.org/6ENB8d1Ju|archivedate=2013-02-12}}</ref>, что, при кодировании с потерей качества, может быть причиной потери цвета на изображениях с 1-пиксельными контрастными переходами, например в [[Пиксельная графика|пиксельной графике]] и других видах [[компьютерная графика|компьютерной графики]].

== См. также ==
* [[VP8]] — формат мультимедийных данных, на котором основан WebP.
* [[WebM]] — контейнер для VP8
* [[Better Portable Graphics]] (BPG) — формат сжатия изображений на базе алгоритмов из H.265
* [[JPEG XR]]
* [[JPEG 2000]] — формат, представленный группой [[Объединённая группа экспертов по фотографии|Joint Photographic Experts Group]] в 2000 году.
* [[x264]]
== Примечания ==
{{примечания}}

== Ссылки ==
* [https://developers.google.com/speed/webp/ Домашняя страница.]
* [http://caniuse.com/webp Таблица поддержки WebP в различных браузерах], caniuse.com
* [https://developers.google.com/speed/webp/docs/c_study Сравнение WebP, JPEG и JPEG 2000.]
* {{cite web|url=http://blog.chromium.org/2010/09/webp-new-image-format-for-web.html|title=WebP, a new image format for the Web|author=Devin Coldewey|date=2010-09-30|publisher=[[Google Inc.]]|description=Официальный анонс формата|lang=en|accessdate=2011-04-03|archiveurl=http://www.webcitation.org/60ukFiaUL|archivedate=2011-08-13}}

; Публикации в прессе
* {{cite web|url=http://www.computerworld.com/s/article/9189020/Google_s_WebP_makes_images_more_byte_size|title=Google's WebP makes images more byte-size|author=Sharon Gaudin|quote=JPEG alternative aims to speed up the Web, save storage space|date=30 сентября 2010 года|publisher=ComputerWorld|lang=en|accessdate=2011-04-03|archiveurl=http://www.webcitation.org/query?url=http%3A%2F%2Fwww.computerworld.com%2Fs%2Farticle%2F9189020%2FGoogle_s_WebP_makes_images_more_byte_size&date=2011-04-03|archivedate=3 апреля 2010 года}}
* {{cite web|url=http://www.pcmag.com/article2/0,2817,2370034,00.asp|title=Google Promotes Replacement for JPEG Image Format|author=Mark Hachman|date=30 сентября 2010|publisher=PC Magazine|lang=en|accessdate=2011-04-03|archiveurl=http://www.webcitation.org/query?url=http%3A%2F%2Fwww.pcmag.com%2Farticle2%2F0%2C2817%2C2370034%2C00.asp&date=2011-04-03|archivedate=3 апреля 2011 года}}
* {{cite web|url=http://news.cnet.com/8301-30685_3-20018146-264.html|title=Google offers JPEG alternative for faster Web|author=Stephen Shankland|date=30 сентября 2010 года|publisher=CNET|lang=en|accessdate=2011-04-03|archiveurl=http://www.webcitation.org/query?url=http%3A%2F%2Fnews.cnet.com%2F8301-30685_3-20018146-264.html&date=2011-04-03|archivedate=3 апреля 2011 года}}
* {{cite web|url=http://www.crunchgear.com/2010/09/30/with-webp-google-aims-to-replace-yet-another-elemental-web-format/|title=With WebP, Google Aims To Replace Yet Another Elemental Web Format|author=Devin Coldewey|date=30 сентября 2010 года|publisher=[[AOL{{!}}CrunchGear]]|lang=en|accessdate=2011-04-03|archiveurl=http://www.webcitation.org/query?url=http%3A%2F%2Fwww.crunchgear.com%2F2010%2F09%2F30%2Fwith-webp-google-aims-to-replace-yet-another-elemental-web-format%2F&date=2011-04-03|archivedate=2011-04-03}}
* {{cite web|url= http://www.3dnews.ru/news/google-reshila-otpravit-jpeg-na-pokoy/ |title= Google решила отправить JPEG на покой |author= Константин Ходаковский |publisher= [[3DNews]] |datepublished=2 октября 2010 года |accessdate= 2 октября 2010}}
* {{cite web|url=http://www.zdnet.com/blog/google/webp-googles-new-attempt-at-speeding-up-the-web/2515|title=WebP: Google's new attempt at speeding up the web|author=Garett Rogers|quote=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?|date=3 октября 2010 года|publisher=[[ZDNet]]|lang=en|accessdate=2011-04-03|archiveurl=http://www.webcitation.org/query?url=http%3A%2F%2Fwww.zdnet.com%2Fblog%2Fgoogle%2Fwebp-googles-new-attempt-at-speeding-up-the-web%2F2515&date=2011-04-03|archivedate=3 апреля 2011 года}}
* [http://www.opennet.ru/opennews/art.shtml?num=28138 Разработчики кодека x264 резко критикуют формат WebP, предложенный Google 01.10.2010 ], Jason Garrett-Glaser

[[Категория:Графические форматы]]
[[Категория:Свободное программное обеспечение Google]]
1
правка