Релиз libwebp 1.0.0, библиотеки с реализацией формата WebP

Компания Google опубликовала релиз библиотеки libwebp 1.0 с реализацией функций кодирования и декодирования изображений в формате WebP. Используемые в WebP технологии сжатия с потерями позволяют добиться сокращения размера файла на 25%-34%, по сравнению с файлами JPEG аналогичного качества, и на 26% в режиме кодирования без потерь по сравнению с максимальным уровнем сжатия PNG. Код распространяется под лицензией Apache 2.0, которая дополнена пунктом о безвозмездной передаче прав на использование связанных с WebP патентов Google.

Новый выпуск полностью обратно совместим с прошлыми ветками. Значительное изменение номера версии обусловлено стабилизацией API и формата хранения. Из функциональных изменений упоминается внесение оптимизаций производительности и улучшение режима кодирования с потерями, направленное на исключение сдвигов цветности в различных ситуациях. В декодировщик, код импорта RGBA и функцию WebPPictureDistortion внесены изменения, связанные с обеспечением работы на процессорах с порядком следования байт big-endian. В утилитах gifwebp и anim_diff настройки продолжительности кадра по умолчанию изменены для соответствия настройкам браузеров и утилит перекодирования. В утилитах img2webp и webpmux добавлена возможность передачи опций через файл.

WebP может выступать в качестве полноценной замены форматам JPEG, GIF и PNG, обеспечивая при этом более высокую степень сжатия и скорость декодирования. При распространении фотографий WebP позволяет обеспечить максимальное сжатие с незаметной для глаза потерей качества, а при необходимости сохранения изображений в неизменном виде (например, при распространении пиктограмм или скриншотов) поддерживается режим с полным попиксельным сохранением целостности изображения. В обоих режимах возможно определение прозрачных областей, создание анимации, использование цветовых профилей ICC, тайлинга и добавление метаданных XMP.

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

© OpenNet