Бесплатно Экспресс-аудит сайта:

06.04.2024

Google разработала библиотеку jpegli для эффективного кодирования JPEG

Компания Google представила Jpegli - новую библиотеку кодирования JPEG, которая обещает значительно улучшить способ хранения и передачи изображений в сети. Jpegli предлагает пользователям более высокое качество изображения при том же размере файла, что может привести к более быстрой загрузке веб-страниц и экономии трафика.

Jpegli достигает этих результатов за счет ряда новых технологий, включая:

  • Совместимость с существующими форматами: Jpegli полностью совместим с традиционным JPEG-стандартом и его 8-битным форматом. Изображения, сжатые с помощью Jpegli, можно без проблем просматривать с помощью любого программного обеспечения, поддерживающего JPEG, как браузеры и редакторы изображений.
  • Повышенное качества изображения: Jpegli использует более точные вычисления при сжатии и распаковке изображений, что приводит к меньшему количеству артефактов и более четкому изображению.
  • Высокая скорость:при улучшении соотношения качества изображения и плотности сжатия, скорость кодирования Jpegli сопоставима с традиционными подходами, такими как libjpeg-turbo и MozJPEG. Это означает, что веб-разработчики могут без усилий интегрировать Jpegli в свои существующие рабочие процессы, не жертвуя производительностью скорости кодирования или использованием памяти.
  • 10+ бит на компонент: Jpegli поддерживает кодирование с глубиной цвета 10+ бит на компонент. Традиционные решения JPEG ограничены 8 битами, что может привести к появлению полос на участках с плавными цветовыми переходами. Jpegli использует 10+ бит в рамках стандартного 8-битного формата, обеспечивая совместимость с существующим программным обеспечением. Для использования расширенной глубины цвета потребуется внесение изменений в код приложения.
  • Более эффективное сжатие: Jpegli сжимает изображения эффективнее, чем традиционные кодеки JPEG. Это позволяет экономить дисковое пространство, пропускную способность и ускоряет загрузку веб-страниц.

Как работает Jpegli?

Jpegli использует ряд новых методов для улучшения качества изображения, включая:

  • Адаптивное квантование: Jpegli подстраивает квантование под особенности изображения, чтобы максимально сохранить детали и минимизировать артефакты.
  • Улучшенный выбор матрицы квантования: Jpegli использует набор матриц квантования, оптимизированных для различных типов изображений.
  • Более точные вычисления: Jpegli использует более точные вычисления промежуточных результатов, что приводит к меньшему количеству ошибок округления.
  • Расширенное цветовое пространство: Jpegli может использовать цветовое пространство XYB, которое обеспечивает более широкий диапазон цветов и более точное отображение градиентов.

Результаты тестирования

Google провела исследование с участием людей, чтобы оценить улучшение качества изображения, полученного с помощью Jpegli. Участникам предлагалось сравнить пары изображений, сжатых с помощью Jpegli, libjpeg-turbo и MozJPEG, при разных битрейтах.

Результаты показали, что Jpegli может сжимать изображения высокого качества на 35% эффективнее, чем традиционные кодеки JPEG.

Библиотека jpegli написана на C++ и распространяется под лицензией BSD, обеспечивая свободное использование и модификацию кода. Она полностью совместима на уровне API и ABI с libjpeg62, позволяя прозрачно заменить эту широко используемую библиотеку.