Google представили Guetzli – Open Source JPEG кодер генерирующий на 20 – 35% более меньший размер файлов по сравнению с Libjpeg

Google работал на нескольких фронтах, чтобы уменьшить объем данных и изображений, следовательно они будут быстрее загружаться из интернета, над такими проектами, как алгоритм Zopfli производящий небольшие файлы PNG & gzip, или алгоритм сжатия изображений WebP обеспечивающим лучшую степень сжатия по сравнению с PNG и более качественное сжатие по сравнению с JPEG, но это потребует обновления поддержки клиентов, таких как веб браузеры. Теперь Google представил алгоритм Guetzli способный производить JPEG файлы на 20-35% меньше по сравнению с libjpeg, с таким же качеством и все еще совместимым с форматом JPEG.

На изображении выше показан крупным планом образцы, JPEG картинка сжатая с помощью libjpeg имеет артефакты вокруг линии, JPEG картинка сжатая с помощью Guetzli имеет меньше артефактов.

Вы можете узнать больше об алгоритме в документе под названием “Guetzli: Perceptually Guided JPEG Encoder“, или почитать аннотацию ниже:

Guetzli это новый JPEG кодер производящий визуально неразличимые изображения с более низким битрейтом по сравнению с с другими JPEG кодерами. Он оптимизирует глобальные таблицы квантования JPEG и DCT коэффициент значений в каждом блоке JPEG используя замкнутый оптимизатор. Guetzli использует Butteraugli, дистанцию восприятия метрики, в качестве источника обратной связи в процессе оптимизации. Мы достигли на 29-45% меньший объем данных для заданного расстояния перспективы, по данным Butteraugli, по сравнению с другими компрессорами испробованными нами. На данный момент Guetzli работает довольно таки медленно, что ограничивает его применимость для сжатия статичного контента и служит доказательством концепции, что мы можем достигнуть значительного сокращения размера, комбинируя расширенные техники психовизуальных моделей с потерями сжатия.

Данный способ сжатия медленнее чем libjpeg или libjpeg-turbo, но поскольку в интернете файл обычно сжимается один раз, а все остальное время распаковывается, это не так важно. Еще одним ограничением является то, что он не поддерживает прогрессивную JPEG кодировку.

Вы можете установить Guetzli самостоятельно, так как его код представлен на github. Там есть сборка инструмента для Ubuntu 16.04:

 

Вы найдете исполняемый файл в папке bin/release, запустите его чтобы увидеть все возможные настройки:

 

Вы идеале лучше использовать сырое или сжатое без потерь изображение, потому первый тест был проведен с фотографией с камеры:

 

В итоге была выдана ошибка JPEG файла, поэтому был использован другой файл (1920×1080 PNG файл):

 

Это одно-поточный процесс и занимает много времени (около 3 минут на процессоре AMD FX8350), по крайней мере, с текущей реализацией. Возможно вы захотите запустить его с опцией “verbose” чтобы удостовериться, что он не мертв.

Тест был повторен с использованием качества конвертации 95, так как оно используется в Guetzli по умолчанию:

 

Файл сжатый с помощью Guetzli действительно примерно на 15% меньше и должен иметь аналогичное качество:

 

Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments