Google выложил в открытый доступ код алгоритма, ужимающего изображения на 35%
Компания Google на днях объявила о том, что выводит алгоритм сжатия изображений Guetzli в opensource. В компании утверждают, что этот алгоритм способен ужимать размеры JPEG-файлов на 35%, если сравнивать с другими используемыми методами. Этому есть много применений, одно из лежащих на поверхности: создание сайтов, которые быстрее грузятся. Теперь каждый разработчик может изучить его исходники на GitHub.
Название Guetzli со швейцарского немецкого переводится как «печенье». Это — кодировщик JPEG-файлов, который может ускорять работу с картинками в онлайне, создавая меньшие версии файла, обеспечивая совместимость с текущими версиями браузеров и приложений.
Визуальное качество JPEG-изображений напрямую связано с многоступенчатым процессом сжатия: преобразование цветового пространства, дискретное косинуидальное преобразование и квантование. Guetzli работает со стадией квантования, в которой, чем больше потеря визуального качества, тем меньше получается файл.
Guetzli пытается найти баланс между потерей в качестве и размером файла, используя поисковой алгоритм, преодолевающий разницу между психовизуальным (т.е. основанным на восприятии оттенков человеком) моделированием формата JPEG и психовизуальной моделью самого сервиса. В компании уверяют, что Guetzli ужимает файлы без значительной потери в качестве, используя более тщательную аппроксимацию изображений, чем большинство других сервисов.
Ниже — пример его работы с изображением 16х16 пикселей. Это — телефонный кабель на фоне голубого неба. Обычно при сжатии таких изображений возникают артефакты. Слева — исходное изображение, справа — изображение, обработанное Guetzli, посредине — обработанное libjpeg. Видно, что у Guetzli меньше артефактов.
Еще один такой же пример, на чуть большем изображении:
Но хотя Guetzli и способен ужимать файлы больше, чем другие существующие методы, использование поискового алгоритма сильно продлевает сам процесс сжатия.
Напомним, ранее мы писали о том, как развитие opensource-сообщества и проектов может повлиять на карьеру программистов в будущем.
Команда AIN.UA спільно з фондом Group 35 збирає 608 800 грн на мобільний діджитал-штаб для підрозділу 148 ОБР ДШВ. Штаб інтегрує системи роботизованої аеророзвідки та передає стріми на відеостіну. Це дозволяє командуванню ефективніше планувати операції, зберігаючи життя захисників та захисниць, і збільшуючи шанси місій на успіх. Більше деталей у Facebook AIN.UA.
Комментарии | 7
Заголовок показывает, что автор статьи — полный дилетант в lossy image compression, near lossless image compression, как и в additional JPEG compression. Заголовок вообще не соответствует содержанию и не имеет никакого смысла. Любое изображение можно сжать с потерями (а именно об этом статья) хоть на 99%. Проблема в том, что будет после реконструкции? Что касается JPEG изображений, то есть методы, которые дополнительно сжимают их на 40%-50% БЕЗ ПОТЕРЬ, в отличии от описанного метода Google, который сжимает хуже и вносит дополнительные потери (пусть и не слишком заметные). Для устранения артефактов также существуют эффективные методы, о которых автор статьи не имеет представления.
О, расскажи за методы сжатия на 40-50% без потерь. Просто интересно, так как мы как раз по этой теме работаем.
Архиватор stuffit, архиватор paq8 (для него и исходники доступны).
Я правильно понял, что «О, расскажи…» — это сарказм?
Надеюсь мы говорим о средних цифрах, а не о гарантированных для любого изображения?
Над какой конкретно темой Вы работаете? Какие есть успехи на данный момент?
не сарказм, мы в Pixpie реально занимаемся сжатием картинок. Посмотрел тесты по paq8 и stuffit. Средних значений в 40-50% сжатия не нашел, но 20-30 без потерь – да
Здесь много зависит от того, каким образом отбирались изображения для теста и сколько их было. Вот тест, в котором всего 3 изображения:
http://compression.ca/act/act-jpeg.html
Но разве он информативный?
Напишите скрипт, скачайте из Интернета сто тысяч изображений в формате JPEG, выбранных случайно, и запустите дополнительное сжатие на них. Получатся действительно объективные средние проценты сжатия.
Мы уже полгода сжимаем, а они только начали
Это изображение «Сжимаешь небось» архиватор paq8 сжал со 117172 байт до 65042 (без потерь). Размер файла уменьшился на 44.5%.