Loading AI tools
З Вікіпедії, вільної енциклопедії
WebP (вимовляється як англ. weppy[4]) — формат стиснення зображень з втратами і без втрат якості, запропонований компанією Google Inc. у 2010 році. Заснований на алгоритмі стиснення нерухомих зображень (ключових кадрів) з відеокодека VP8. Використовує контейнер RIFF.
![]() | |
Розширення файлу: | .webp[1] |
---|---|
MIME-тип: | image/webp |
Магічне число: | WEBP |
Розробник: | |
Рік випуску: | 30 вересня, 2010[2] |
Тип формату: | графічний формат без втрат та з втратами |
Міститься у: | Resource Interchange File Format (RIFF)[3] |
Сайт: | developers.google.com/speed/webp |
Код відкритий під ліцензією 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]
У VP8 і WebP реалізовані режими передбачення[7]:
Для стиснення помилок передбачення і підблоків, які не були передбачені, використовується дискретне косинусне перетворення 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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.