見出し画像

JPEG 新規格 JPEG XL を試す ~ ファイルサイズは半分、オープンライセンス、JPEG 互換モードあり


まえがき

いよいよ、JPEG 新規格 JPEG XL が正式に決まりそうなので、(関係者ではありませんが)簡単に解説をしたいと思います。

お急ぎの方は画質比較だけご覧ください。

元々(最速)2020年 IS 化を目指してたはずなので多少遅れてはいるようですが、Core coding system と File format は既に fix 済みで、Core coding system は規格書も発行されています。

ISO/IEC 18181-1:2022 JPEG XL image coding system — Part 1: Core coding system

JPEG2000 も普及しなかったし、XL も「単に効率倍ってだけでは既にあるファイルどうすんの?」って話になったその後知らなかったんですが、JPEG トランスコードを入れて互換性を保つことに成功したようです。

Example usage scenario

JPEG XL key results
● Lossless JPEG transcoding reduces JPEG size by around 16% to 22%.
● JPEG XL is visually lossless at about half the bitrate required by JPEG.

JPEG White Paper:
JPEG XL Image Coding System

対応状況

アプリや Web ブラウザはまだテスト段階です。

Windows フォトビューアーは対応済みですので表示はできます。

Windows フォトビューアーでの JPEG XL ファイル表示


エクスプローラーでのサムネイル表示はまだ正式対応していませんが、Visual Studio 2022 が入れてあれば、最新の JPEG XL thumbnail handler をインストールするだけで対応できます。(個人の責任でお願いします)

- Visual Studio 2022 未導入であればインストール
最新の dll をDL
- スタートメニュー右クリック -> Windows PowerShell(管理者)
- dll があるディレクトリに移動して regsvr32 jxl_winthumb.dll を実行
 (手順詳細

JPEG XL ファイル(拡張子 jxl )のエクスプローラーでのサムネイル表示

Google の squoosh では圧縮も簡単に試すことができ、圧縮後の画質やファイルサイズも保存前に分かって便利ですが、Web アプリもしくはローカルにアプリをインストールして使うことになります。普段使いには IrfanView(4.59以降)の方が便利かもしれません。

IrfanView ではデフォルト無効になっているので、有効化する必要があります。

IrfanView プラグイン設定画面 ( Help -> )
JPEG XL プラグインを有効化


JPEG とは?

今更ですが一応。

正式名称は Joint Photographic Experts Group で、(主に)静止画圧縮方式標準化のグループ名であると同時に圧縮方式そのものも指します。

JPEG というと「MPEG の静止画版」と捉えている人もいるかと思いますが

・MPEG は ISO / IEC(情報系・パッケージメディア系標準化組織)が規格化
・MPEG アライアンスによる有償ライセンス
(すでに20年以上経過しているので、ほとんどが切れていると思いますが)

・JPEG は ISO / IEC と ITU-T(通信系標準化組織)とが規格統一を目指して合同(Joint)で規格化
・当初からオープンライセンス(ライセンス料無料)

と、色々違います。

動画圧縮の規格化は元々用途が違っていた ISO / IEC と ITU-T で別々に行っていたのが(ITU-T は H.26x 系)徐々に境界があいまいになり、静止画では正式にジョイントして行われました。

JPEG XL の特徴

最初にも書きましたが、White Paper に書かれている主な特徴は以下の2点です。

・従来の JPEG ファイルを約20%小さくでき、元にも戻せる
・従来の JPEG に比べ、同画質でファイルサイズを約半分にできる

ピクセルデコードしなくても DCT 係数を XL に変換してファイルサイズを小さくでき、その部分は可逆で元の JPEG にも戻せる方式を採用し、従来の JPEG との互換性を持たせたようです。

ちなみに今の JPEG は圧縮に使われている DCT 係数の特性を利用し、再(ロッシ-)圧縮なしに90度単位で回転して保存、ができます(当初のリファレンスコードにも含まれています)。

圧縮アルゴリズム的には JPEG をベースに、より人間の視覚システムにマッチした XYB 色空間可変サイズ DCT の採用等があります。

画質比較

では、実際に画質を比較してみましょう。
(クリックして等倍でご覧ください)

JPEG 元画像 (104KB header removed)
JPEG (54KB) と JPEG XL (30KB) 比較
(XL のままでは Web で表示ができないので低圧縮率で JPEG 化)

XL の方がファイルサイズが小さいにもかかわらず、グラデーションも綺麗に出ています。

拡大すると、モスキートノイズもだいぶ違うことが分かります。

JPEG (54KB) と JPEG XL (30KB) 比較 2倍表示

これ、元の JPEG ファイルに既にあるモスキートノイズが、JPEG 再圧縮だと増えていて、XL だと消えてますね。ディテールが失われる部分もありますが、XL で Quality 下げて再圧縮することで、 「見た目」綺麗にする手段としても使えるかもしれません。

2022/10/16 追記


次は同じファイルサイズで JPEG / WebP / JPEG XL を比較してみましょう。

JPEG / WebP / JPEG XL (30KB) 比較

WebP と比較しても JPEG XL が明らかにブロックノイズが少ないのが分かります。

ただ足下の砂をよく見ると、多少ディテールが失われている部分もあるようです。この辺り、ノイズが人の目につかないよう、うまくコントロールされているとも言えるでしょう。

もう少し圧縮率を下げて比べてみます。

WebP / JPEG XL (67KB) 比較
WebP / JPEG XL (67KB) 比較 - 2倍表示

このレベルでも、WebPよりブロックノイズが少ないのが分かります。

頭周辺にモスキートノイズが見られますが、これは元のJPEGで既に発生しています。それが悪化していないのもポイントですね。WebP は一部ブロック内に拡散している様子が見られます。

忠実性を優先させるのであれば、Quality=85% 以上で使うのが良さそうです。

メタデータ削除

JPEG は、画像データ以外に EXIF(撮影情報)等のメタデータも含むことができます。

ファイルサイズが大きければ誤差範囲内ですが、小さい場合はヘッダの占める割合が無視できなくなるので、今回のような比較をする場合は削除が必要です。

Windows はエクスプローラーで、「個人情報」は消すことができます。
 右クリック -> プロパティ -> [詳細]タブ
       -> [プロパティや個人情報を削除]

エクスプローラー 右クリック -> プロパティ
「プロパティや個人情報を削除」画面

ただ消えるのは主に「個人情報」だけなので、EXIF 等は残ってしまいます。

EXIF 等も消したい場合は、フリーウェア exiferaser のような専用のツールを使った方が良いでしょう。

PhotoShop 等を用いればメタデータなしで保存可能ですが、既存のファイルからメタデータだけ消すということはできません。再度 JPEG 圧縮が行われます。

私が試した中で一番サイズが小さくなったのは、PowerToys(MS 純正ツール集)の Image Resizer です。

Image Resizer の起動
Image Resizer


これで、サイズを 100 Persent にしてメタデータだけを削除することができます。

以下に、それぞれの場合のファイルサイズの例を示します。

ファイルサイズ比較

上から順に、

  1.  元のデジカメ画像

  2.  エクスプローラーでのプロパティ削除

  3.  exiferaser で削除

  4.  Image Resizer で削除

です。

ただし、3、4のようにこれらを全て消してしまうとデコード画像に微妙~な差が出ることがあるので、通常はエクスプローラーのプロパティでの削除程度に留めておいた方が良いでしょう。(今回は画質比較のため、ファイルサイズを優先しました)

あとがき

JPEG が規格化されてから30年が経ち、その間、様々な団体・企業から「次世代」圧縮規格が出されました。しかし互換性や特許問題があり、JPEG を置き換えることにはなりませんでした。

ストレージ容量も通信速度も飛躍的に伸びましたが同時に画像の解像度も上がり、同画質で容量が削減できればそれに越したことはありません。

互換性・特許問題をクリアした JPEG XL 規格、期待大です!


さらにあとがき・・

そういえば30年ほど前、CBC(カナダの公共放送局)に打合せに行ったついでに、JPEG の説明を技術スタッフ(?)相手にやらされたことがあります。

数人の技術者相手だと思って飛行機の中で適当に資料作って臨んだのに、大きい会場に100人近く!
緊張しまくり、最初数字が英語で全く浮かんでこなかった覚えがあります。(;´Д`)

なぜあんなことになったのか未だに分かりません。特に JPEG に詳しかったわけでもないのに。(;¬_¬)

現地に着いたら元 NHK 技研所長の副社長も来てたので、あの方が向こうに何か言ったんだと思いますが・・。


この記事が気に入ったらサポートをしてみませんか?