Google представила новую библиотеку кодирования JPEG с открытым кодом – Jpegli. По данным компании, новая библиотека может предложить расширенные возможности и улучшение коэффициента сжатия на 35% при высококачественных настройках.
Идея создания новой библиотеки кодирования появилась из-за оптимизации вебсайтов, одной из главных проблем которой, по информации Google, является кодировка изображений. Чтобы ускорить загрузку сайтов, изображения на них должны быть меньшего размера, но при этом не терять качество.
Компания обещает ощутимое улучшение формата, но при этом библиотека кодирования также имеет высокую обратную совместимость. Jpegli обеспечивает как полностью взаимодействующий кодер, так и декодер, соответствующий оригинальному стандарту JPEG и его самому обычному 8-битному формализму, а также совместимость API/ABI с libjpeg-turbo и MozJPEG.
Google также утверждает, что изображения, которые будут сжиматься или распаковываться с помощью Jpegli, сохранят больше деталей и будут в лучшем качестве, чем обычные JPEG, при этом их размер будет меньше.
В блог-посте объясняют, что Jpegli использует ряд новых методов для уменьшения шума и улучшения качества изображения: адаптивную эвристику квантования по эталонной реализации JPEG XL, улучшенный выбор матрицы квантования, точное вычисление промежуточных результатов и возможность использования усовершенствованного цветового пространства.
Также компания рассказала, что улучшая качество изображения/плотность сжатия, скорость кодирования Jpegli сравнима с традиционными подходами, такими как libjpeg-turbo и MozJPEG. По словам компании, это означает, что веб-разработчики могут легко интегрировать новую библиотеку в свои рабочие процессы без ущерба для быстроты кодирования или использования памяти.