Интернет изменил наш образ жизни, работы и общения. Однако, он может нас разочаровывать, когда страницы грузятся медленно. В основе этой проблемы лежит кодирование изображений. Чтобы улучшить ситуацию, мы представляем Jpegli, усовершенствованную библиотеку кодирования JPEG, которая поддерживает высокую обратную совместимость, предлагая расширенные возможности и повышение степени сжатия до 35%.
Эта статья – перевод. Оригинал доступен по ссылке
Jpegli – это новая библиотека кодирования JPEG от Google, которая работает быстрее, эффективнее и визуально приятнее, чем традиционный JPEG. Для достижения этих целей в ней используется ряд новых методов:
- Обеспечение полностью совместимого кодера и декодера, соответствующего оригинальному стандарту JPEG и его наиболее традиционному 8-битному формализму. Также совместимость API / ABI с libjpeg-turbo и MozJPEG.
- Результаты высокого качества. При сжатии или распаковке изображений с помощью Jpegli выполняются более точные и психовизуальноэффективные вычисления, изображения выглядят более четкими и содержат меньше заметных артефактов.
- Скорость. При улучшении соотношения качества изображения и плотности сжатия скорость кодирования в Jpegli сопоставима с традиционными подходами, такими как libjpeg-turbo и MozJPEG. Это означает, что веб-разработчики могут легко интегрировать Jpegli в свои существующие рабочие процессы без ущерба для скорости кодирования или использования памяти.
- 10+ бит. Jpegli можно кодировать с более чем 10 битами на компонент. Традиционные решения для кодирования в формате JPEG предлагают только 8 бит на компонент, что приводит к появлению видимых артефактов полосчатости при медленных градиентах. 10+ битное кодирование Jpegli выполняется в оригинальном 8-битном формализме, и результирующие изображения полностью совместимы с 8-битными программами просмотра. 10+ битная динамика доступна как расширение API, и для получения ее преимуществ необходимы изменения в коде приложения.
- Более плотный формат: Jpegli сжимает изображения более эффективно, чем традиционные кодеки JPEG, что позволяет экономить пропускную способность и место в хранилище, а также ускорять работу веб-страниц.
Как работает Jpegli
В Jpegli используется ряд новых методов для уменьшения шума и улучшения качества изображения. В основном это: эвристика адаптивного квантования из эталонной реализации JPEG XL, улучшенный выбор матрицы квантования, точное вычисление промежуточных результатов и возможность использования более продвинутого цветового пространства. Все новые методы были тщательно проработаны с учетом традиционного 8-битного формата JPEG, поэтому недавно сжатые изображения совместимы с существующими средствами просмотра JPEG, такими как браузеры, графические редакторы и тд.
Улучшенный выбор матрицы квантования
Jpegli также использует набор матриц квантования, которые были выбраны путем оптимизации с учетом сочетания психовизуальных показателей качества. Точные промежуточные результаты в Jpegli улучшают качество изображения, а кодирование и декодирование дают результаты более высокого качества. Jpegli может использовать цветовое пространство XYB в формате JPEG XL для дальнейшего улучшения качества и плотности.
Тестирование Jpegli
Чтобы количественно оценить улучшение качества изображений Jpegli, мы обратились к специалистам по оценке краудсорсинга для сравнения пар изображений из Cloudinary Image Dataset ’22, закодированных с использованием трех кодеков: Jpegli, libjpeg-turbo и MozJPEG, с несколькими скоростями передачи.
В этом сравнении мы ограничились сравнением только кодировки, декодирование всегда выполнялось с использованием libjpeg-turbo. Мы провели исследование с отключенным цветовым профилем XYB ICC, поскольку, по нашим ожиданиям, именно так большинство пользователей изначально будут использовать Jpegli. Чтобы упростить сравнение результатов для разных кодеков и настроек, мы объединили все решения о рейтинге, используя шахматные рейтинги, вдохновленные подсчетом очков ELO.
Итог
Наши результаты показывают, что Jpegli может сжимать высококачественные изображения на 35% сильнее, чем традиционные кодеки JPEG.
Jpegli – это многообещающая новая технология, которая потенциально может сделать Интернет быстрее и красивее.
Золтан Сабадка, Мартин Брузе и Юрки Алакуиджала – Paradigms of Intelligence, Google Research
Связанные статьи: Приложение из сайта (WebApp) | Монетизация телеграм-бота | GitVerse – хостинг git-репозиториев от Сбер