Googleは4月3日(現地時間)、Google Open Source Blog「Introducing Jpegli: A New JPEG Coding Library」において、「Jpegli」と名付けられた新しいJPEGコーディングライブラリを発表した。Jpegliは従来のJPEGフォーマットと高い下位互換性を維持しながら、高速かつ高品質なコーディングを実現しており、高品質設定で圧縮した場合の圧縮率が35%以上向上したという。

Jpegliの特徴

JpegliはGoogleが開発を進めている次世代のJPEG形式である「JPEG XL」のためのコーディングライブラリとして開発されており、JPEG XLのリファレンス実装で培われた新しい技術を使用しているという。GoogleはJpegliの特徴として、以下を挙げている。

  • オリジナルのJPEG標準規格と従来の8ビット形式に準拠し、libjpeg-turboやMozJPEG、API/ABIとも互換性がある、完全に相互運用可能なエンコーダーとデコーダーを備えている
  • Jpegliで画像を圧縮/解凍すると、より正確で鮮明な画像を作成できる
  • 画質/圧縮密度比を向上させながら、libjpeg-turboやMozJPEGなどよりも高速なコーディング速度を実現する
  • コンポーネントごとに10ビット以上でエンコード可能で、従来の8ビット形式と比べてバンディングノイズを抑制できる
  • 従来のJPEGコーデックよりも効率的に圧縮するため、帯域幅とストレージスペースを節約し、Webページの読込みを高速化できる

Googleではクラウドソーシングで募集した評価者の協力で、Jpegli、libjpeg-turbo、MozJPEGの3 つのコーデックを使用したエンコード品質の評価を実施。その結果、Jpegliで従来のJPEGコーデックと比べて、品質を保ちながら圧縮率を35%以上も向上できたという。

  • Jpegli、libjpeg-turbo、MozJPEGの比較 出典:Google Open Source Blog

    Jpegli、libjpeg-turbo、MozJPEGの比較 出典:Google Open Source Blog

JpegliのソースコードはJPEG XLリファレンス実装(libjxl)のGitHubリポジトリーで公開されている。libjxlプロジェクトをビルドすれば、エンコーダーとデコーダーを含んだ共有ライブラリ「lib/jpegli/libjpeg.so.62.3.0」が生成され、既存のシステムライブラリと置き換えて使用できる。