Chrome での JPEG XL のサポート

公開日: 2026 年 10 月 6 日

Chrome 155 より、JPEG XL(.jxl)画像形式のデコード サポートが Chrome に搭載されることになりました。JPEG XL は、現代のウェブ デベロッパーや写真家のニーズを満たすように設計された次世代の画像形式です。JPEG よりも 30 ~ 50% 優れた圧縮率、可逆圧縮、HDR サポートの組み込み、可逆 JPEG トランスコードなどを実現しています。

一般的には、AVIF と JPEG XL の両方を試して、最適な結果を得ることをおすすめします。JPEG XL は、特に写真画像や、きめ細かいプログレッシブ デコードが望ましい場合に、高忠実度またはロスレス圧縮に最も役立つと予想されます。

この投稿では、JPEG XL を Chrome に導入した理由、Rust を使用してメモリの安全性を確保した方法、高速化を実現した広範なパフォーマンス作業、そしてこの取り組みから得られたデベロッパーのフィードバックとウェブ標準エコシステムに関する知見についてご紹介します。

安全第一: Rust でデコーダを再実装(jxl-rs)

画像デコーダは、最新のウェブブラウザにおいて最も重要な標的型攻撃の対象領域の一つです。複雑で信頼できないバイナリ構造をネットワークから直接処理し、レンダラ プロセス内で実行します。これまで、C++ などのメモリ安全でない言語で記述されたデコーダは、境界外読み取り、ヒープ オーバーフロー、解放後使用のバグなどの脆弱性が発生しやすい傾向にありました。

Google のセキュリティ モデルは、2 つのルールに沿って、サンドボックスと多層防御に依存しています。ただし、サンドボックス化は二次的な防御レイヤです。これらのセキュリティ リスクを根本的に排除するため、JPEG XL デコーダの純粋な Rust 実装である jxl-rs を統合しました。

安全性を損なうことなくスピードを追求した設計

メモリ安全性は重要ですが、メモリセーフでない最良の代替手段とほぼ同じ速度のメモリセーフなデコーダは、パフォーマンスが大幅に低下する選択肢よりもはるかに明白な選択肢です。

最新のコーデックのパフォーマンスの基本的な部分は、最新のデバイスで利用可能な SIMD ハードウェアを最大限に活用することです。これを安全に行うために、target_feature_11 Rust 機能が安定化され、unsafe コードを必要とせずに SIMD 命令を使用できるようになりました。

次のステップは、C++ の Highway ライブラリ(元々は libjxl(JPEG XL の C++ リファレンス実装)向けに開発されたもの)に触発された SIMD 抽象化レイヤ(jxl_simd)の構築でした。これらの開発により、SIMD パフォーマンスの最適化を損なうことなく、安全でないオペレーションを厳しく精査された少数の場所に制限するマルチプラットフォーム ライブラリを作成できるようになりました。

jxl-rs のパフォーマンス最適化は、libjxl のパフォーマンス最適化を基盤としています。これには、リージョン境界を越えるステップの汎用処理パイプラインが含まれます。また、ハードウェア パフォーマンスを最大化するために、データコピーを最小限に抑えます。jxl-rs パフォーマンス ダッシュボードで、さまざまなハードウェア プラットフォームでの Rust 再実装のパフォーマンスを追跡しています。

ファジングやコードの AI レビューなど、さまざまな最先端の手法で jxl-rs の実装を検証しましたが、実装の全履歴を通じてメモリ安全性のバグは見つかりませんでした。これは、Rust がメモリ安全性にもたらす大きな改善を改めて検証する結果となりました。

デベロッパーのフィードバックと Interop プロジェクト

Chrome チームは、バグ、アンケート、Developer Signals Project、Interop Project など、さまざまなチャネルからウェブ デベロッパーのフィードバックを収集しています。JPEG XL をリリースするという決定は、ウェブ デベロッパーからの継続的なフィードバックとリクエストに基づいています。これは Interop Process で最も顕著に表れており、2026 年には人気の高い提案となり、それ以前の数年間も同様でした。

ブラウザ間で形式の相互運用性を確保するため、Interop 2026 JPEG XL 調査に参加し、ブラウザで JPEG XL のすべての機能のテスト範囲を確保し、それらのテストが Chrome で合格することを確認しました。

試してみる

JPEG XL が Chrome に正式に導入されたことで、ウェブはより高速で、よりリッチで、より安全になります。デベロッパー、コンテンツ クリエイター、プラットフォーム オーナーは、パイプラインで .jxl 画像とアニメーションの使用を開始することをおすすめします。

ぜひお試しいただき、バグを報告して、Google がすべての人にとってより高速で安全なウェブを構築できるようご協力ください。

謝辞

jxl-rs または Chrome への統合に貢献してくださったすべての方々に感謝いたします。特に、Chrome への統合と jxl-rs の両方に多大な貢献をしてくださった Helmut Januschka 氏、jxl-rs 自体に多大な貢献をしてくださった Martin Bruse 氏、Zoltan Szabadka 氏、Sami Boukortt 氏、Wonwoo Choi 氏に感謝いたします。