Компания Google открыла наработки проекта WebP, в рамках которого подготовлен новый формат для хранения изображений. При создании формата WebP использованы технологии, задействованные в видеокодеке VP8 для сжатия ключевых кадров. Отличительной чертой нового формата является значительная степень сжатия без заметной на глаз потери качества. Тестовая перепаковка миллиона случайных JPEG-изображений из web, продемонстрировала сокращение общего размера на 39%. С учетом того, что по оценке Google 65% web-трафика расходуется на передачу изображений, это существенное достижение.

Дополнительно повысить степень сжатия можно при упаковке методом WebP не сжатых ранее изображений, также доступна возможность выбора режима экстремального сжатия в ущерб качеству. Алгоритм лучше сжимает визуально насыщенные изображения, такие как фотографии. Высокая плотность упаковки достигается благодаря использованию предсказательной техники кодирования, учитывающей содержимое соседних пиксельных блоков для предсказания содержимого текущего блока, что позволяет ограничиться хранением только различий между фактическими и предсказанными данными. В качестве контейнера для хранения изображений, сжатых методом WebP, используется стандартный RIFF.

Для загрузки доступны исходные тексты легковесного декодера WebP-файлов (библиотека libvpx), утилита webpconv для преобразования изображений из командной строки и патч к web-движку WebKit для обеспечения поддержки нового формата в браузере Google Chrome. Код открыт под лицензией, основанной на Apache 2.0 и дополнительно указывающей на безвозмездную передачу прав на использование патентов Google, связанных с данной технологией.

Дополнение 1: разработчики проекта x264 опубликовали анализ эффективности нового формата изображений, подчеркнув, что не все так гладко и радужно, как описано в анонсе Google. Например, в WebP не реализованы некоторые расширенные возможности формата JPEG: отсутствует поддержка альфа-канала (прозрачность в WebP планируется реализовать в одном из обновлений) и режима работы без потери качества (lossless). WebP поддерживает только субдискретизацию насыщенности 4:2:0, в то время как JPEG может обрабатывать 4:2:2 и 4:4:4. По степени сжатия, выигрыш WebP ощущается не всегда, например, при упаковке фотографии леса, насыщенной мелкими деталями, при кодировании WebP появилась заметная на глаз размытость (оригинал, webp, jpeg).

Тем не менее, основные недостатки WebP устранимы и главным образом связаны с незаконченностью и недостаточной отточенностью кода кодировщика, который в настоящий момент написан в соответствии с принципом "лишь бы работало" и не поддерживает психовизуальную оптимизацию, манипулируя лишь пиковым отношением сигнала к шуму (PSNR). Google следовало бы вначале создать качественный кодировщик, а потом продвигать новый формат в роли альтернативы существующим решениям. Другой проблемой WebP является абстрактный подход к организации хранения мета-данных, который приведет к неразберихе при необходимости хранения большого числа мета-тэгов.

Дополнение 2: доступен полный перевод заметки с критикой WebP.

Источник: http://www.opennet.ru/opennews/art.shtml?num=28132