Найден способ уменьшения файлов JPEG на треть
Google открыла доступ к алгоритму сжатия картинок JPEG, при котором размер файла становится меньше на треть без потери качества картинки, что в первую очередь пригодится разработчикам мобильных версий сайтов.
Компания Google анонсировала новый алгоритм сжатия файлов с расширением JPEG, основанный на открытом исходном коде. Как отмечает Internationa lBusiness Times, алгоритм позволит создавать файлы «весом» на 35% меньше, чем традиционный JPEG, без потери качества картинки. В первую очередь, уменьшенный «вес» графических файлов может использоваться в мобильных версиях сайтов, которые за счет этого будут быстрее загружаться на гаджетах.
Алгоритм Guetzli (в переводе со швейцарского — cookies, «куки») был впервые представлен на GitHubв режиме тестирования в октябре 2016 г. Код библиотеки и базовых утилит был написан на языке С++. Швейцарские разработчики тогда отмечали, что Guetzli близок к ранее объявленному алгоритму сжатия данных Zopfli для работы с файлами png и gzip.
Главной проблемой и того, и другого алгоритмов была низкая скорость обработки данных. Главным преимуществом Guetzli, по словам разработчиков, стало максимальное сжатие файла без потери качества и совместимости с другим ПО. «Guetzli позволяет кодировать цифровые изображения и веб-графику в формате JPEG, создавая небольшие файлы, совместимые с существующими браузерами и программами обработки изображений», — поясняется в блоге разработчиков Google.
Секрет правильного квантования
В Google отметили, что Guetzli использует в работе многоступенчатый процесс сжатия файла, включающий преобразование цветового пространства, дискретное косинусное преобразование и квантование. Именно последняя ступень является критичной для кодирования JPEG— в Guetzli эта часть усилена.
Алгоритм на этапе квантования с помощью психовизуальной модели восприятия изображений ищет нужный баланс между размером файла и потерями в качестве. Именно этот процесс требует большего времени, чем обычное кодирование JPEG-файла. Если же сравнить два файла одинакового размера — кодированного Guetzli и обычной программой — изображение, сжатое Guetzli, оказывается более качественным.
Эксперимент, проведенный в Корнеллском университете, по данным Google, показал, что 75% респондентов предпочли изображения, сжатые Guetzli. В Google также не исключили, что в будущем алгоритм Guetzli можно будет использовать для сжатия видео-файлов.
Журналисты отмечают, что это не первая предпринятая попытка максимального сжатия изображения без потери качества. Ранее файловый формат JPEG XR представляла Microsoft, а Google запускал форматы WebP и RAISR. Новаторские форматы так и не смогли соперничать по популярности с классическим JPEG, в итоге разработчики приняли решение продолжить работу над его совершенствованием.
По материалам сайта Cnews.ru