Американская корпорация Google сообщила о выходе в открытый доступ новой библиотеки jpegli с реализованным внутри неё кодировщиком и декодировщиком изображений в формате JPEG. В библиотеку были добавлены дополнительные функции оптимизации, которые позволяют увеличить уровень эффективности кодирования, а также примерно на 35% повысить уровень сжатия на высококачественных картинках, если сравнивать с классическими кодеками JPEG.

В сравнении с другой популярной библиотекой libjpeg-turbo, новая разработка корпорации Google позволяет достичь точно такой же степени качества картинок при уменьшении битрейта на 32%. При этом на уровне API и ABI библиотека jpegli имеет полную совместимость с libjpeg62, поэтому есть возможность её использования для её прозрачной замены. Код jpegli разработчики написали на языке C++, а распространение её происходит под лицензией BSD.

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

С помощью новой библиотеки jpegli пользователи будут иметь возможность кодировать картинки с выделением 10 или более битов на цветовой компонент, вместе с этим, результат функционирования новых алгоритмов будет адаптирован для классического формата jpeg-модели, которая допускает применение только 8 бит на цветовой компонент. Эта специфика позволяет обеспечить сохранение совместимости с уже давно популярными кодировщиками, которые рассчитаны на восьмибитовое представление цветовых составляющих.

Изображение, которое будет кодироваться с использованием библиотеки jpegli, в полной мере соответствует классическому стандарту JPEG, поэтому нет необходимости в использовании особых декодировщиков. Пользователи смогут просматривать такие картинки в давно используемых продуктах и популярных веб-браузерах. Использование для распаковки картинок, которые были сжаты с использованием jpegli, собственных декодеров, позволит специалистам достичь дополнительного снижения количества артефактов. Также уточняется, что скорость кодирования с использованием библиотеки jpegli можно сопоставить сейчас с другими современными библиотеками, например, libjpeg-turbo и MozJPEG.


Ещё по теме: