Изображения
Формат WebP: спецификация и направления
Направления в обе стороны: из WebP и в WebP, с параметрами каждого преобразования.
Спецификация WebP
| Полное имя | Web Picture Format |
|---|---|
| Разработчик спецификации | |
| Год публикации | 2010 |
| Расширение | .webp |
| MIME-тип | image/webp |
| Тип содержимого | Двоичное |
| Модель сжатия | С потерями |
| Альфа-канал | Есть |
| Многостраничность | Реализована |
| Кодек | VP8 (с потерями) и VP8L (без потерь) |
| Прозрачность | альфа-канал в обоих режимах |
| Анимация | поддерживается |
| Экономия | 25–35 % против JPEG при равном качестве |
| Предел размера | 16 383 × 16 383 пикселя |
| Читающие программы | Google Chrome, Microsoft Edge, Mozilla Firefox, GIMP, Adobe Photoshop 23 и новее, IrfanView, XnView MP |
| Документ спецификации | Открыть спецификацию |
WebP → другие форматы
| Направление | Что получится | Точность |
|---|---|---|
| .webp.jpg | Конвертация WebP в JPG | близкая |
| .webp.png | Конвертация WebP в PNG | точная |
| .webp.pdf | Конвертация WebP в PDF | близкая |
| .webp.gif | Конвертация WebP в GIF | приблизительная |
| .webp.avif | Конвертация WebP в AVIF | близкая |
Другие форматы → WebP
| Направление | Что получится | Точность |
|---|---|---|
| .jpg.webp | Конвертация JPG в WebP | близкая |
| .png.webp | Конвертация PNG в WebP | близкая |
| .heic.webp | Конвертация HEIC в WebP | близкая |
| .svg.webp | Конвертация SVG в WebP | близкая |
| .gif.webp | Конвертация GIF в WebP | близкая |
| .avif.webp | Конвертация AVIF в WebP | близкая |
Спецификация WebP
WebP — контейнер RIFF с двумя независимыми режимами кодирования: VP8 для сжатия с потерями (внутрикадровое кодирование одноимённого видеокодека) и VP8L для сжатия без потерь. Оба поддерживают восьмибитный альфа-канал, контейнер дополнительно умеет анимацию и блоки метаданных EXIF и XMP.
Выигрыш перед JPEG в 25–35 % при сопоставимом качестве складывается из трёх механизмов: предсказание блока 4×4 или 16×16 по уже закодированным соседям вместо независимой обработки, булев арифметический кодер вместо кодов Хаффмана и деблокирующий фильтр, сглаживающий границы блоков. На мелкой высокочастотной текстуре — листве, гравии, шуме высоких ISO — предсказание работает слабо, и разница сокращается примерно до 10 %.
Жёсткое ограничение формата — 16 383 пикселя по каждой стороне, следствие четырнадцатибитных полей геометрии в VP8. Длинная панорама или склейка скриншотов страницы в WebP не сохранится. Глубина цвета — 8 бит на канал: HDR и десятибитный материал приводятся к восьми битам, что на плавных градиентах может дать полосатость. Режим без потерь ограничения по глубине не снимает.
За пределами браузеров поддержка неровная: Photoshop открывает WebP без плагина с версии 23, часть офисных пакетов, служб печати и торговых площадок формат не принимает. Практически значимая деталь при конвертации: файл, скачанный с сайта, почти наверняка уже прошёл сжатие с потерями, и на шкале ниже 90 второе квантование ложится поверх первого, из-за чего артефакты заметнее, чем после единственного прохода.
Форматы того же класса
Остальные записи класса «Изображения». Для каждой заведена своя страница с полным перечнем направлений: и от WebP, и к нему.
Вопросы по формату WebP
Как понять, какой режим использован в конкретном файле?
По четырёхбайтовому идентификатору блока внутри RIFF: VP8 с пробелом — сжатие с потерями, VP8L — без потерь, VP8X — расширенный контейнер с альфой, анимацией или метаданными. Косвенный признак — размер: снимок на 1–2 МБ в режиме без потерь и на 150–300 КБ в режиме с потерями при одинаковой геометрии.
Что выбрать целевым форматом для скачанного WebP?
Определяется содержимым, а не привычкой. Фотография или сложная иллюстрация — JPEG с качеством 90–95: результат легче и открывается везде. Изображение с прозрачностью, плоскими заливками, текстом или дальнейшей обработкой — PNG: он не добавит нового квантования. Анимированный WebP при переводе в статический формат сводится к первому кадру.
Сохранится ли анимация при конвертации?
Только в форматах, которые её поддерживают: GIF с палитрой в 256 цветов на кадр либо видеоконтейнер. При переводе в GIF цвет неизбежно теряется, а объём часто вырастает — межкадрового сжатия там нет. При переводе в MP4 или WebM анимация становится видеопотоком и уменьшается в разы.