ついにChromeに「JPEG XL」がやってくる!次世代画像フォーマットの現状まとめ
Shipping JPEG XL in Chrome
Shipping JPEG XL in Chrome
ついにChromeで「JPEG XL」がサポートされることになりました。従来のJPEGより圧倒的に圧縮効率が良く、画質劣化も少ないこの次世代フォーマット。今後のWeb開発における最適化の選択肢として、期待が高まっています。
一度削除されて、もうサポートする気がないように見えたChromeにJXLのサポートが戻ってくるのは胸熱だな [1]。JXLはクールな画像フォーマットだと思うけど、一番人気のブラウザが対応してくれないせいで足止めを食らってたんだよ。特にWebでの利用がかなり制限されていたしね。[1]: https://issues.chromium.org/issues/40270698
これまでの経緯についてはHNの過去ログをどうぞ:GoogleがChrome 110でJPEG XLのサポートを廃止 - https://news.ycombinator.com/item?id=33399940 ChromiumからJPEG XLサポートが正式に削除された - https://news.ycombinator.com/item?id=33933208 ChromeのJpegxl問題が再オープン - https://news.ycombinator.com/item?id=46033330 JPEG XLに対する反対意見 - https://news.ycombinator.com/item?id=49690554
がっかり!Googleの幹部がJPEG XLを阻止しようとした内部闘争と、エンジニアがどうやって彼らを説得したかというドラマがあるのかと期待してたのに。個人的な予想:エンジニアが議論で勝ったわけじゃないはず。他のブラウザが全部サポートし始めたから、幹部が諦めただけじゃないかな。
新しい画像フォーマットが出るたびに、アプリ間の互換性の危機について考えさせられる。例えばTelegramは未だに.webpをまともに扱えなくて、スタンプ扱いだし。MacOSも新しいフォーマットの対応に時間がかかるし、画像ビューアアプリなんてさらに遅い。永遠に対応されないことだってザラだしね。
なんとウサギをカメが追い抜いた形だね。Safariはlibjxlのプログレッシブローディングを未だに有効にしていない(Safariが機能を実装する前からある機能なのに)一方で、Firefox(Android版以外)とChromeはもう有効にしてリリースしているから。3年越しのチェス時計がついにひっくり返ったわけだ。
サンプル画像の読み込みを見てて、昔を思い出したよ。256色のインターレースGIFが、一行ずつゆっくりダウンロードされていくあの感じ…
一つの欠点は、拡張子を見ただけじゃ非可逆圧縮なのか可逆圧縮なのか判別できないことだね。
対応したのは嬉しいニュース。jxlとavifが両方あるよりは、一つに絞ってほしかったけど、WebPの棺桶に最後の釘を打ち込んだのは間違いない。大したメリットもないくせに人々をイライラさせるだけだったし。エコシステム全体でのサポートはまだ遠い道のりだけど、少しずつ変わってきてる。iOS 18の写真は.jxlに対応してないけど、27なら動くし。同様にMacOS 27ならクイックルックやプレビューも問題なく動いてサムネイルもちゃんと表示される。Linuxでも.jxlで問題は起きないし、画像編集ソフトも徐々に対応してきてる。普通のjpgが今後10年生き残るのは間違いないけど、ようやく欠点らしい欠点がなくて、特許のしがらみもない優れた選択肢が手に入ったのは本当に嬉しいよ。
そのうちFirefoxの安定版にも入るだろうね。10月中にはSafari専用の状態から、大多数がカバーする状況になる。激動の月になりそうだ!AVIFの方が非可逆圧縮では多少有利なケースもあるけど、JPEG XLを選んで失敗することはないはず(CPU性能が極端に低い環境を除けばね)。このフォーマットの強みは「万能な画像フォーマット」としての究極の汎用性にあると思う。AVIF、PNG、JPEG、WebPの代わりになるし、状況によってはTIFFが必要なシーン(高ビット深度、マルチチャンネル、レイヤー)すらカバーできるしね。
クールなフォーマットにとって興味深い勝利だね。Chromiumのフォーラムで、かなりの支持があったにもかかわらず一方的にIssueがクローズされたのを覚えてるよ。Chromeチームが技術的な進化を後押ししていたことを考えると、なおさら不可解だった。残念ながら、今のWebで採用するにはまだ遠い道のりだけどね。https://caniuse.com/jpegxl = 17%、https://caniuse.com/?search=webp = 97%