WebP: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
InternetArchiveBot (обговорення | внесок)
Виправлено джерел: 7; позначено як недійсні: 0.) #IABot (v2.0.8.7
 
(Не показано 32 проміжні версії 23 користувачів)
Рядок 1: Рядок 1:
{{Infobox file format
'''WebP''' (вимовляється як {{lang-en|weppy}}<ref>[http://code.google.com/speed/webp/ WebP Home]: "'''Did you know?''' WebP is pronounced «weppy». /(wĕpˈē)/ "</ref>) — [[графічний формат|формат стиснення зображень]] з втратами і без втрат якості, запропонований компанією [[Google Inc.]] у [[2010]] році. Заснований на [[алгоритм]]і стиснення нерухомих зображень (ключових кадрів) з [[відеокодек]]а [[VP8]]. Використовує контейнер [[RIFF]].
| icon =
| logo = [[Файл:WebPLogo.svg|200px|WebPLogo]]
| extension = .webp<ref name="DotWhat">{{Cite web
|url = http://dotwhat.net/webp/10843/
|title = WEBP file extension
|publisher = DotWhat.net
|accessdate = 2010-10-01
|archiveurl = https://www.webcitation.org/6F4r6QVlG?url=http://dotwhat.net/webp/10843
|archivedate = 2013-03-13
|deadurl = no
}}</ref>
| mime = image/webp
| type code =
| uniform type =
| magic = WEBP
| owner = [[Google]]
| released = {{Start date and age|2010|9|30|df=yes}}<ref name="Announcement-in-chromium">{{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
|work = Chromium Blog
|publisher = Google
|date = 2010-09-30
|accessdate = 2010-10-01
|first = Richard
|last = Rabbat
|archiveurl = https://www.webcitation.org/6F4r7Cv3v?url=http://blog.chromium.org/2010/09/webp-new-image-format-for-web.html
|archivedate = 2013-03-13
|deadurl = no
}}</ref>
| genre = [[графічний формат]]<br />без втрат та з втратами
| extended from =
| contained by = [[Resource Interchange File Format]] (RIFF)<ref>{{Cite web
|url = http://code.google.com/speed/webp/docs/riff_container.html
|title = RIFF Container
|work = [[Google Code]]
|publisher = Google
|accessdate = 2010-10-01
|archiveurl = https://www.webcitation.org/6F4r7tZOg?url=https://developers.google.com/speed/webp/docs/riff_container
|archivedate = 2013-03-13
|deadurl = no
}}</ref>
| free = так<ref name="faq">{{Cite web
|url = http://code.google.com/speed/webp/faq.html
|title = WebP FAQs
|publisher = Google
|work = Google Code
|accessdate = 2010-10-06
|archiveurl = https://www.webcitation.org/6F4r8hKvs?url=https://developers.google.com/speed/webp/faq
|archivedate = 2013-03-13
|deadurl = no
}}</ref>
| url = {{url|https://developers.google.com/speed/webp}}
}}
'''WebP''' (вимовляється як {{lang-en|weppy}}<ref>[http://code.google.com/speed/webp/ WebP Home] {{Webarchive|url=https://web.archive.org/web/20120323165730/http://code.google.com/speed/webp/ |date=23 березня 2012 }}: "''Did you know?'' WebP is pronounced «weppy». /(wĕpˈē)/ "</ref>) — [[графічний формат|формат ущільнення зображень]] з втратами і без втрат якості, запропонований компанією [[Google Inc.]] у [[2010]] році. Заснований на [[алгоритм]]і стиснення нерухомих зображень (ключових кадрів) з [[відеокодек]]а [[VP8]]. Використовує контейнер [[RIFF]].


[[Код відкритий]] під [[ліцензія Apache|ліцензією Apache 2.0]], яка доповнена пунктом про безоплатну передачу прав на використання пов'язаних з WebP патентів Google.
Для роботи з даним форматом існують відкриті бібліотека (libvpx) і конвертор (webpconv).

== Огляд ==
При створенні формату WebP використані технології, задіяні у відеокодеку VP8 для стиснення ключових кадрів. Високе стиснення досягається завдяки використанню передбачувальної техніки кодування, що враховує вміст сусідніх піксельних блоків для передбачення вмісту поточного блоку, це дозволяє обмежитися зберіганням тільки відмінностей між фактичними і передбаченими даними. Як контейнер для зберігання зображень, стиснених методом WebP, використовується стандартний RIFF.

При кодуванні без втрати даних для забезпечення високого ступеня стиснення (середній ступінь стиснення 1000 випадкових зображень з мережі склала 45%) задіяно кілька просунутих технологій, таких як окремі коди ентропії для різних колірних каналів, облік віддаленості типових 2D-областей при формуванні зворотних посилань і [[кешування]] недавно використовуваних кольорів. Зазначені технології поєднуються з класичними методами, такими як словникове кодування, [[алгоритм Гаффмана]] і трансформація колірних індексів. У реалізації підтримки прозорості в WebP вдалося добитися зведення до мінімуму додаткової інформації, що визначає параметри [[альфа-канал]]у, це дозволило істотно знизити розмір підсумкових зображень. При кодуванні без втрати якості, використання альфа-каналу додає всього на 22% більше даних у порівнянні з кодуванням з втратою якості (рівень якості 90).

Використані в WebP технології стиснення з втратами дозволяють домогтися скорочення розміру файлу на 25–34%, порівняно з файлами [[JPEG]] аналогічної якості, і на 26% в режимі кодування без втрат у порівнянні з максимальним рівнем стиснення [[PNG]]<ref>{{Cite web |url=http://www.opennet.ru/opennews/art.shtml?num=34709 |title=Компания Google выпустила вторую версию библиотеки с реализацией формата WebP |accessdate=31 серпня 2012 |archive-date=1 вересня 2012 |archive-url=https://web.archive.org/web/20120901032433/http://www.opennet.ru/opennews/art.shtml?num=34709 }}</ref>. Тому WebP може виступати як повноцінна заміна форматів [[JPEG]], [[GIF]] і [[PNG]], забезпечуючи при цьому вищий ступінь стиснення і швидкість декодування. При поширенні фотографій WebP дозволяє забезпечити максимальне стиснення з непомітною для ока втратою якості, а при необхідності збереження зображень в незмінному вигляді, наприклад, при поширенні піктограм або скріншотів, тепер підтримується режим з повним попіксельним збереженням цілісності зображення. В обох режимах можливе визначення прозорих областей, створення анімації, використання колірних профілів ICC, тайлінг і додавання метаданих [[XMP]].

Google створив [[програмна бібліотека|бібліотеку]] [http://code.google.com/p/webp/ ''libwebp''] {{Webarchive|url=https://web.archive.org/web/20120909204334/http://code.google.com/p/webp/ |date=9 вересня 2012 }} з реалізацією функцій кодування і декодування зображень у форматі WebP.

Для роботи з цим форматом існують відкриті бібліотека (libvpx) і конвертор (webpconv).


== Алгоритм ==
== Алгоритм ==


Стиснення складається з двох етапів. На першому робиться спроба «передбачити» вміст одних блоків за вже декодуваними (три блоки над поточним і один блок ліворуч від нього), на другому кодується помилка передбачення. Блоки відмальовуються в порядку зліва направо і зверху вниз.<ref>[http://www.videobits.org/prediction.html VideoBits.org — Prediction]</ref>
Стиснення складається з двох етапів. На першому робиться спроба «передбачити» вміст одних блоків за вже декодуваними (три блоки над поточним і один блок ліворуч від нього), на другому кодується помилка передбачення. Блоки відмальовуються в порядку зліва направо і зверху вниз.<ref>{{Cite web |url=http://www.videobits.org/prediction.html |title=VideoBits.org — Prediction |accessdate=31 серпня 2012 |archiveurl=https://web.archive.org/web/20101124091025/http://www.videobits.org/prediction.html |archivedate=24 листопада 2010 |deadurl=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>{{Cite web |url=http://blog.webmproject.org/2010/07/inside-webm-technology-vp8-intra-and.html |title=Inside WebM Technology: VP8 Intra and Inter Prediction — The WebM Open Media Project Blog |accessdate=31 серпня 2012 |archive-date=6 листопада 2010 |archive-url=https://web.archive.org/web/20101106072750/http://blog.webmproject.org/2010/07/inside-webm-technology-vp8-intra-and.html }}</ref>
* 4x4 в каналі яскравості
* 4×4 в каналі яскравості
* 16x16 в каналі яскравості
* 16×16 в каналі яскравості
* 8x8 в каналі кольоровості
* 8×8 в каналі кольоровості


У VP8 і WebP реалізовані режими передбачення:<ref name=inside/>
У ''VP8'' і ''WebP'' реалізовані режими передбачення<ref name=inside/>:
* Горизонтальне, H_PRED. Кожен стовпець поточного блоку є копією стовпця зліва від поточного блоку.
* Горизонтальне, ''H_PRED''. Кожен стовпець поточного блоку є копією стовпця зліва від поточного блоку.
* Вертикальне, V_PRED. Кожен рядок поточного блоку є копією рядка над поточним блоком.
* Вертикальне, ''V_PRED''. Кожен рядок поточного блоку є копією рядка над поточним блоком.
* DC передбачення, DC_PRED. Заповнює весь блок однаковими значеннями, отриманими за рахунок усереднення значень [[піксел]]ів вищерозміщених рядка і стовпця зліва від поточного блоку.
* ''DC'' передбачення, ''DC_PRED''. Заповнює весь блок однаковими значеннями, отриманими за рахунок усереднення значень [[піксел]]ів вищерозміщених рядка і стовпця зліва від поточного блоку.
* Передбачення TrueMotion, TM_PRED. Розроблено в [[On2 Technologies]]. Крім рядка над блоком і стовпця зліва від нього, використовується [[піксель]], розташований зверху-ліворуч від блоку. Різниця між кутовим пікселем і рядком зверху записується в рядки блоку, при цьому до значень додається значення відповідного пікселя зі стовпця. X<sub>ij</sub> = Стовпець<sub>i</sub> + Ряд<sub>j</sub> - кутовий піксель.
* Передбачення TrueMotion, ''TM_PRED''. Розроблено в «''[[On2 Technologies]]''». Крім рядка над блоком і стовпця зліва від нього, використовується [[піксель]], розташований зверху-ліворуч від блоку. Різниця між кутовим пікселем і рядком зверху записується в рядки блоку, при цьому до значень додається значення відповідного пікселя зі стовпця. X<sub>ij</sub> = Стовпець<sub>i</sub> + Ряд<sub>j</sub> - кутовий піксель.
* Для блоків 4x4 реалізовано 6 додаткових режимів, схожих з V_PRED і H_PRED, але з діагональними напрямками.
* Для блоків 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 пакуються [[ентропійне кодування|ентропійних кодеком]].
Для стиснення помилок передбачення і підблоків, які не були передбачені, використовується дискретне косинусне перетворення ''DCT'' (і, зрідка, [[Перетворення Адамара|перетворення Волша–Адамара]], ''WHT''). Обидва перетворення працюють з підблоками розміром 4х4 пікселя. Реалізація перетворень виконана на представленні чисел з фіксованою точністю, щоб зменшити помилки округлення.<ref name=bitspec>http://www.webmproject.org/media/pdf/vp8-bitstream.pdf{{Недоступне посилання|date=лютий 2019 |bot=InternetArchiveBot }}</ref> Коефіцієнти ''DCT'' і ''WHT'' пакуються [[ентропійне кодування|ентропійних кодеком]].


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


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


== Підтримка ==
== Підтримка ==


Перегляд зображень у форматі WebP підтримується [[браузер]]ами [[Google Chrome]] (починаючи з 9 версії)<ref>[http://www.nicoladagostino.net/chrome-e-le-immagini-webp.html Chrome та малюнки WebP]{{ref-it}}</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>.
Перегляд зображень у форматі WebP підтримується [[браузер]]ами [[Google Chrome]] (починаючи з 9 версії)<ref>[http://www.nicoladagostino.net/chrome-e-le-immagini-webp.html Chrome та малюнки WebP] {{Webarchive|url=https://web.archive.org/web/20101105121650/http://www.nicoladagostino.net/chrome-e-le-immagini-webp.html |date=5 листопада 2010 }}{{ref-it}}</ref> і [[Opera]] (починаючи з версії 11.10)<ref name="opera111">{{Cite web |url=http://arstechnica.com/web/news/2011/04/opera-1110-gets-webp-support-faster-turbo-mode.ars |title=Opera 11.10 gets WebP support, faster «Turbo» mode |accessdate=31 серпня 2012 |archive-date=7 травня 2012 |archive-url=https://web.archive.org/web/20120507100110/http://arstechnica.com/web/news/2011/04/opera-1110-gets-webp-support-faster-turbo-mode.ars }}</ref>.


[[Android]] підтримує читання і запис WebP зображень починаючи з версії 4.0.[10]
[[Android]] підтримує читання і запис WebP зображень починаючи з версії 4.0.[10]


За допомогою спеціальної [[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>
За допомогою спеціальної [[javascript]]—бібліотеки можливе відтворення в браузерах, що підтримують відео у форматі [[WebM]], зокрема, в [[Firefox]] 4.0 і новіших.<ref>{{Cite web |url=http://github.com/antimatter15/weppy/ |title=antimatter15/weppy — GitHub |accessdate=31 серпня 2012 |archive-date=19 жовтня 2010 |archive-url=https://web.archive.org/web/20101019061043/http://github.com/antimatter15/weppy }}</ref><ref>{{Cite web |url=http://antimatter15.github.com/weppy/demo.html |title=Weppy Demo |accessdate=31 серпня 2012 |archive-date=11 серпня 2011 |archive-url=https://web.archive.org/web/20110811135655/http://antimatter15.github.com/weppy/demo.html }}</ref>


Існує також порт бібліотеки libwebp під назвою libwebpjs/libwebpas на [[javascript]] і [[actionscript]], що дозволяє використовувати WebP у всіх популярних браузерах (підтримка IE6+ здійснюється за допомогою додаткового модуля [[Adobe Flash]]).<ref>[http://webpjs.appspot.com/ Бібліотека WebPJS]</ref>
Існує також порт бібліотеки ''libwebp'' під назвою ''libwebpjs/libwebpas'' на [[javascript]] і [[actionscript]], що дозволяє використовувати WebP у всіх популярних браузерах (підтримка IE6+ здійснюється за допомогою додаткового модуля [[Adobe Flash]]).<ref>{{Cite web |url=http://webpjs.appspot.com/ |title=Бібліотека WebPJS |accessdate=31 серпня 2012 |archive-date=14 листопада 2015 |archive-url=https://web.archive.org/web/20151114144258/http://webpjs.appspot.com/ }}</ref>

Формат підтримується невеликою кількістю переглядачів зображень. Існує плагін для програми [[IrfanView]], також webp підтримує програма для перетворення зображень [[ImageMagick]] за умови встановлення бібліотеки libwebp.


== Виноски ==
== Виноски ==
{{reflist}}
{{reflist}}


== Посилання ==


{{Формати стиснення даних}}
[[Категорія:Графічні формати]]
{{Графічні формати файлів}}
[[Категорія:Google]]


[[Категорія:Растрові формати файлів]]
[[ar:ويب بي]]
[[Категорія:Google]]
[[cs:WebP]]
[[Категорія:Відкриті формати]]
[[de:WebP]]
[[en:WebP]]
[[es:WebP]]
[[fi:WebP]]
[[fr:WebP]]
[[hu:WebP]]
[[it:WebP]]
[[ja:WebP]]
[[ko:WebP]]
[[nl:WebP]]
[[pl:WebP]]
[[ru:WebP]]
[[sv:WebP]]
[[th:WebP]]
[[zh:WebP]]

Поточна версія на 00:59, 16 травня 2022

WebP
WebPLogo
Розширення файлу:.webp[1]
MIME-тип:image/webp
Магічне число:WEBP
Розробник:Google
Рік випуску:30 вересня, 2010; 13 років тому (2010-09-30)[2]
Тип формату:графічний формат
без втрат та з втратами
Міститься у:Resource Interchange File Format (RIFF)[3]
Сайт:developers.google.com/speed/webp

WebP (вимовляється як англ. weppy[4]) — формат ущільнення зображень з втратами і без втрат якості, запропонований компанією Google Inc. у 2010 році. Заснований на алгоритмі стиснення нерухомих зображень (ключових кадрів) з відеокодека VP8. Використовує контейнер RIFF.

Код відкритий під ліцензією Apache 2.0, яка доповнена пунктом про безоплатну передачу прав на використання пов'язаних з WebP патентів Google.

Огляд

[ред. | ред. код]

При створенні формату WebP використані технології, задіяні у відеокодеку VP8 для стиснення ключових кадрів. Високе стиснення досягається завдяки використанню передбачувальної техніки кодування, що враховує вміст сусідніх піксельних блоків для передбачення вмісту поточного блоку, це дозволяє обмежитися зберіганням тільки відмінностей між фактичними і передбаченими даними. Як контейнер для зберігання зображень, стиснених методом WebP, використовується стандартний RIFF.

При кодуванні без втрати даних для забезпечення високого ступеня стиснення (середній ступінь стиснення 1000 випадкових зображень з мережі склала 45%) задіяно кілька просунутих технологій, таких як окремі коди ентропії для різних колірних каналів, облік віддаленості типових 2D-областей при формуванні зворотних посилань і кешування недавно використовуваних кольорів. Зазначені технології поєднуються з класичними методами, такими як словникове кодування, алгоритм Гаффмана і трансформація колірних індексів. У реалізації підтримки прозорості в WebP вдалося добитися зведення до мінімуму додаткової інформації, що визначає параметри альфа-каналу, це дозволило істотно знизити розмір підсумкових зображень. При кодуванні без втрати якості, використання альфа-каналу додає всього на 22% більше даних у порівнянні з кодуванням з втратою якості (рівень якості 90).

Використані в WebP технології стиснення з втратами дозволяють домогтися скорочення розміру файлу на 25–34%, порівняно з файлами JPEG аналогічної якості, і на 26% в режимі кодування без втрат у порівнянні з максимальним рівнем стиснення PNG[5]. Тому WebP може виступати як повноцінна заміна форматів JPEG, GIF і PNG, забезпечуючи при цьому вищий ступінь стиснення і швидкість декодування. При поширенні фотографій WebP дозволяє забезпечити максимальне стиснення з непомітною для ока втратою якості, а при необхідності збереження зображень в незмінному вигляді, наприклад, при поширенні піктограм або скріншотів, тепер підтримується режим з повним попіксельним збереженням цілісності зображення. В обох режимах можливе визначення прозорих областей, створення анімації, використання колірних профілів ICC, тайлінг і додавання метаданих XMP.

Google створив бібліотеку libwebp [Архівовано 9 вересня 2012 у Wayback Machine.] з реалізацією функцій кодування і декодування зображень у форматі WebP.

Для роботи з цим форматом існують відкриті бібліотека (libvpx) і конвертор (webpconv).

Алгоритм

[ред. | ред. код]

Стиснення складається з двох етапів. На першому робиться спроба «передбачити» вміст одних блоків за вже декодуваними (три блоки над поточним і один блок ліворуч від нього), на другому кодується помилка передбачення. Блоки відмальовуються в порядку зліва направо і зверху вниз.[6]

Режими передбачення працюють з 3 розмірами макроблоків[7]

  • 4×4 в каналі яскравості
  • 16×16 в каналі яскравості
  • 8×8 в каналі кольоровості

У VP8 і WebP реалізовані режими передбачення[7]:

  • Горизонтальне, 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 пікселя. Реалізація перетворень виконана на представленні чисел з фіксованою точністю, щоб зменшити помилки округлення.[8] Коефіцієнти DCT і WHT пакуються ентропійних кодеком.

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

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

Підтримка

[ред. | ред. код]

Перегляд зображень у форматі WebP підтримується браузерами Google Chrome (починаючи з 9 версії)[9] і Opera (починаючи з версії 11.10)[10].

Android підтримує читання і запис WebP зображень починаючи з версії 4.0.[10]

За допомогою спеціальної javascript—бібліотеки можливе відтворення в браузерах, що підтримують відео у форматі WebM, зокрема, в Firefox 4.0 і новіших.[11][12]

Існує також порт бібліотеки libwebp під назвою libwebpjs/libwebpas на javascript і actionscript, що дозволяє використовувати WebP у всіх популярних браузерах (підтримка IE6+ здійснюється за допомогою додаткового модуля Adobe Flash).[13]

Формат підтримується невеликою кількістю переглядачів зображень. Існує плагін для програми IrfanView, також webp підтримує програма для перетворення зображень ImageMagick за умови встановлення бібліотеки libwebp.

Виноски

[ред. | ред. код]
  1. WEBP file extension. DotWhat.net. Архів оригіналу за 13 березня 2013. Процитовано 1 жовтня 2010.
  2. Rabbat, Richard (30 вересня 2010). WebP, a new image format for the Web. Chromium Blog. Google. Архів оригіналу за 13 березня 2013. Процитовано 1 жовтня 2010.
  3. RIFF Container. Google Code. Google. Архів оригіналу за 13 березня 2013. Процитовано 1 жовтня 2010.
  4. WebP Home [Архівовано 23 березня 2012 у Wayback Machine.]: "Did you know? WebP is pronounced «weppy». /(wĕpˈē)/ "
  5. Компания Google выпустила вторую версию библиотеки с реализацией формата WebP. Архів оригіналу за 1 вересня 2012. Процитовано 31 серпня 2012.
  6. VideoBits.org — Prediction. Архів оригіналу за 24 листопада 2010. Процитовано 31 серпня 2012.
  7. а б Inside WebM Technology: VP8 Intra and Inter Prediction — The WebM Open Media Project Blog. Архів оригіналу за 6 листопада 2010. Процитовано 31 серпня 2012.
  8. а б в http://www.webmproject.org/media/pdf/vp8-bitstream.pdf[недоступне посилання з лютого 2019]
  9. Chrome та малюнки WebP [Архівовано 5 листопада 2010 у Wayback Machine.](італ.)
  10. Opera 11.10 gets WebP support, faster «Turbo» mode. Архів оригіналу за 7 травня 2012. Процитовано 31 серпня 2012.
  11. antimatter15/weppy — GitHub. Архів оригіналу за 19 жовтня 2010. Процитовано 31 серпня 2012.
  12. Weppy Demo. Архів оригіналу за 11 серпня 2011. Процитовано 31 серпня 2012.
  13. Бібліотека WebPJS. Архів оригіналу за 14 листопада 2015. Процитовано 31 серпня 2012.