Американская корпорация 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
.
Ещё по теме: