Google уменьшает файлы JPEG на 35% с помощью нового алгоритма Guetzli

Уже множество интернет-источников поделилось информацией о том, что Google разработал специальный алгоритм для ускорения загрузки веб-ресурсов. Он обеспечивает более эффективное по соотношению «качество/размер файла» сжатие JPEG-изображений.

Guetzli - именно такое название получил новый алгоритм, имеет открытый исходный код и уменьшает файлы изображений на 35%. С помощью этого и ускоряется скорость загрузки сайта. Новый алгоритм Guetzli уменьшает «вес» картинок в среднем на 35%, а при аналогичном размере он способен сохранить больше деталей.

Конечно же, есть и недостаток в этом: алгоритм незначительно искажает изображения. Кроме того, подсчитано, что на обработку картинки с разрешением около 0,3 Мп уйдет до 30 с, а на изображение в несколько мегапикселей понадобится уже 10–20, а может и больше минут. Это означает, что сам процесс становится значительно дольше и дает дополнительную нагрузку на вычислительную систему.

Правда полученный контент совместим со всеми веб-браузерами и программным обеспечением для редактирования изображений, а это очень удобно для работы.

JPEG-кодировщик Guetzli для уменьшения размера файла использует «психовизуальную модель» Google. Используя данную технологию, картинка более точно приближает восприятие цвета и позволяет определить, какие цвета и детали нужно сохранить, а какие - выбросить. Методы, которые используются в данном алгоритме, очень похожи с теми, что лежат в основе алгоритма Zopfli. Правда, Guetzli работает медленнее по сравнению с другими кодировщиками. С исходным кодом под свободной лицензией Apache License 2.0 можно ознакомиться на GitHub. Сам проект написан на C++.

С помощью тестирования выяснили, что пользователи предпочитают картинки сжатые с использованием Guetzli, по сравнению с изображениями с применением стандартной библиотеки для сжатия libjpeg, даже если они были немного больше в своем размере.

Если рассматривать практически, то Guetzli аналогичен алгоритму Zopfli, который создан в Google для уменьшения размера PNG- и gzip-файлов без необходимости в создании новых форматов.

В следующей статье мы рассмотрели зачем нужна оптимизация изображений в Google.