はじめに
最近Appleから機械学習ベースの画像圧縮ツールPICOが提案されました。
- GIGAZINE: Appleが画像圧縮AIコーデック「PICO」を発表、同じ画質でデータ量を最大3分の1に削減
- PC Watch: Apple、画質そのままにビットレートを3分の1にできるAI画像圧縮「PICO」
この記事ではこのPICOを評価していきます。
要約
- 通常の画像圧縮方式は、大きく圧縮すると細かな模様を削って節約し、概略の画像情報を維持していくため画像がぼけていきます
- PICOは、大きく圧縮すると模様が削られ、その失った模様を新しく作る画像圧縮方式です。つまり元の画像にない模様が作られます
- つまりPICOは元の画像から新しい情報を追加するような形で圧縮するため元の画像とどれくらい近いか?を比較する指標ではあまりよくなりません
- ただし、見た目の雰囲気はPICOのほうが近いかな?という感想です
- そのため、どちらがよいかは用途依存で、同じ評価指標で両者を比べるのはむつかしいです
論文の概要とこの記事の目的
PICOの論文では、特に、人の主観評価のELOスコアに基づき、通常の圧縮形式AV1/AV2/VVC/ECM/JPEG-AI に対して 2.3-3倍程度圧縮でき、他の学習ベースの圧縮方式 に対して 20-40%程度圧縮できると主張しています。
また、iPhone 17 Pro Max 上で 12MP 画像を encode 230ms、decode 150ms で処理できるとしています。
しかし、現状使われている方法から効率が3倍も高いという主張は、かなり常識の範囲を飛び出た改善量です。
これまでは10%~20%の改善でも十分改善したと判断していた中で、2倍や3倍の改善はおどろきの改善量です。
そこで、この記事では、実際に第三者の目線から何がどこまで改善されたのかを検証します。この検証では、これまでの画像圧縮で使われてきた画質評価の指標20個程度を用いて、PICOで圧縮した画像と現在使われている圧縮フォーマットを比較し、何がどの程度の圧縮性能なのかを示していきます。
客観評価実験
ここでは、通常使われる画像圧縮ツールとPICOを、これまでの画像圧縮で使われてきた通常の評価方法で比較します。
採用画像圧縮ツール
比較対象には、PICOの公開済み圧縮画像に加えて、現在一般に利用できる静止画圧縮エンコーダ(JPEG, WebP, JPEG XL, AVIF)を用いました。AVIFだけ2つ設定を追加してます。
-
JPEG_420_Huffmanopt: JPEGのデフォルトに近い条件。4:2:0、optimized Huffman、progressive有効、fancy upsample有効。 -
WEBP_M6_SHARPYUV: WebPの高品質圧縮。method 6、Sharp YUV有効、thread有効、preset default。 -
JPEGXL_VARDCT_E10: JPEG XLの高品質圧縮。VarDCT、effort 10、perceptual mode有効、thread数16。 -
AVIF_AOM_444_SSIMULACRA2: AOM AVIFを用いたSSIMULACRA2用最高品質条件。YUV444、12bit、speed 0。 -
AVIF_AOM_420_DEFAULT: AOM AVIFのdefault設定条件。YUV420、8bit、speed 6。
なお,AVIFは、PICO論文中のAV1比較設定をそのまま再現するものではなく、現在利用しやすい実装・設定での客観評価指標上の比較です。
なお、論文中のAV1の圧縮条件等はオプションの情報が不足しており、再現できませんでした。
採用評価指標
この実験では、下記の客観評価指標を用いました。Yは輝度成分だけ、Cは色も含めた評価を表します。矢印は良い方向を示します。
どれが良いのか決定打はないため、できるだけ多くで見ています。
ただ、SSIMULACRA2が圧縮データには最も有効なことがわかっています。
- PSNR系:
PSNRY$\uparrow$、PSNRC$\uparrow$、PSNRHVSY$\uparrow$、PSNRHVSC$\uparrow$、IWPSNRY$\uparrow$、IWPSNRC$\uparrow$ - SSIM系:
SSIMY$\uparrow$、SSIMC$\uparrow$、MSSSIMY$\uparrow$、MSSSIMC$\uparrow$、IWSSIMY$\uparrow$、IWSSIMC$\uparrow$ - 勾配・構造系:
GMSDY$\downarrow$、GMSDC$\downarrow$、NLPDY$\downarrow$、NLPDC$\downarrow$、FSIMY$\uparrow$、FSIMC$\uparrow$、MDSI$\downarrow$ - VIF系:
VIFPY$\uparrow$、VIFPC$\uparrow$ - 知覚画質指標:
SSIMULACRA2$\uparrow$、VMAF$\uparrow$、ButteraugliMax$\downarrow$、ButteraugliP1$\downarrow$、ButteraugliP2$\downarrow$、ButteraugliP3$\downarrow$
客観評価実験
各コーデックについて、PICOを基準に下記の2種類の値を計算しました。
-
BD: PICOに対する比較対象コーデックの平均BD-rateです。負の値は、比較対象コーデックのほうが同じ画質指標値をより低いbppで達成できることを表します。正の値はPICOのほうが低bppになることを表します。 -
Delta: PICOの各bpp点に対して、比較対象コーデックの画質指標値を線形補間したときの平均差です。符号は、正なら比較対象コーデックが良く、負ならPICOが良くなるようにそろえています。
方法名の省略は下記を意味します。
-
AVIF S2: AVIFのSSIMULACRA2チューン設定 -
AVIF def: AVIFのデフォルト設定 -
JPEGXL: JPEG XLのVarDCT、effort 10設定 -
WebP: WebPのmethod 6 + Sharp YUV設定 -
JPEG: JPEGのプログレッシブハフマン符号化
BD-rateとは
BD-rateは、同じ品質を出すときに平均的にどれくらいファイルサイズが小さくなるかを表した指標です。
各画像ごとに画質指標値を横軸、log(bpp)を縦軸として線形補間し、PICOの画質指標範囲で積分しました。そのため、PICOの全点と比較対象コーデックの全点が十分に重なっている画像だけを集計しています。
表のBDは「比較対象コーデックがPICOに対して何%のbppを必要とするか」を表しています。たとえばBD = -23.0%なら、比較対象コーデックは同じ画質指標値をPICOより23.0%少ないbppで達成しています。つまり比較対象コーデックがPICOより良いという意味です。逆にBD = +24.6%なら、比較対象コーデックはPICOより24.6%多いbppを必要としており、PICOのほうが低bppです。
BD-rateは比率の指標なので、-50%は必要bppが半分、+100%は必要bppが2倍に相当します。ただし、これは選んだ画質指標上での平均的なRD曲線差であり、主観評価そのものではありません。
Delta metricとは
Deltaは、同じサイズのときにどれくらい品質が良くなっているかを見る指標です。
もっともメジャーなものはDelta-PSNRであり,同一bppのときにどれくらいPSNRが異なるかの平均値を見る指標です.
RD曲線とBD-rateおよびDelta-PSNR
下記は、画像04eddb6adca47bb7caa66cf0f70a842dに対するYPSNR、すなわち輝度信号のPSNRのRD曲線です。
横軸はbpp、縦軸はYPSNRであり、同じbppで上にあるほどYPSNRが高くなります。
この図は、PICOのbpp範囲に合わせて横軸を拡大しています。
この図でDelta-PSNRは縦方向の差です。つまり、PICOの各bpp点と同じbppで比較対象コーデックのYPSNRを補間し、その平均差を取ります。正なら比較対象コーデックのYPSNRが高く、負ならPICOのYPSNRが高いという意味です。この画像では、AVIF S2は+0.82 dB、AVIF defaultは+1.79 dB、JPEGXLは-2.11 dB、WebPは-1.77 dB、JPEGは-4.84 dBです。
一方、BD-rateは横方向の差です。同じYPSNRを得るために必要なlog(bpp)の差を、PICOのYPSNR範囲で積分して平均します。負なら比較対象コーデックのほうが少ないbppで同じYPSNRを達成し、正ならPICOのほうが少ないbppで同じYPSNRを達成します。この画像では、AVIF S2は-12.9%、AVIF defaultは-27.0%、JPEGXLは+32.3%、WebPは+30.9%、JPEGは+122.7%です。
結果
下記表に、BD-rate、Deltaの結果をまとめます。
DBはマイナスになっていればPICOより小さくなっていることを示しています.
Deltaは,同一サイズのときに指標がどれだけ変化したかを示していますが,プラスかマイナスかやその大きさは指標ごとに違うため注意してください.
例えばPSNRは20-40で値が出てきますが,SSIMは0-1で1が良いスコアです.GMSDも0-1ですが,0が良いスコアです.
表を見る限り,ほとんどPICOは既存コーデックに対して明確に優位とは言いにくいです。
特にAVIF S2はSSIMULACRA2で-23.0% BD-rate、VMAFで-20.5% BD-rateであり、知覚寄りの主要指標でもPICOを上回っています。
AVIF defaultもq=0..100の範囲で再計算した結果、VMAFで-29.0% BD-rate、PSNRYで-52.8% BD-rateとなり、強い基準線になっています。
JPEGXLはPSNR系やNLPD系ではPICOより良い一方で、SSIMULACRA2では+5.5% BD-rate、VMAFでは+4.5% BD-rateとなり、この2指標ではPICO側がやや良いです。
WebPとJPEGは一部のPSNR系ではPICOより良いですが、多くの知覚寄り指標ではPICOを下回ります。したがって、PICOはJPEGXL/WebP/JPEGの一部条件には勝てますが、AVIFに対してはかなり厳しいです。
例外的にButteraugliMaxではPICOが有利に見えますが、これは画像中の最大劣化点に強く依存する指標であり、画像全体のRD性能を代表する値としては扱いにくいです。
総合すると、PICOは通常の客観評価指標で見る符号化効率としては、少なくともこの実験ではAVIF系を超える結果にはなっていません。
| Metric | Dir | AVIF S2 BD | AVIF def BD | JPEGXL BD | WebP BD | JPEG BD | AVIF S2 Delta | AVIF def Delta | JPEGXL Delta | WebP Delta | JPEG Delta |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PSNRY | $\uparrow$ | -42.8% | -52.8% | -20.4% | -24.7% | +14.8% | +2.330 | +3.035 | +0.9951 | +1.224 | -1.031 |
| PSNRC | $\uparrow$ | -39.9% | -41.1% | -5.5% | -11.7% | +46.5% | +1.999 | +1.949 | +0.3094 | +0.5276 | -2.233 |
| SSIMY | $\uparrow$ | -25.9% | -19.9% | +2.6% | +15.2% | +41.3% | +0.0096 | +0.0061 | -0.0029 | -0.0074 | -0.0289 |
| SSIMC | $\uparrow$ | -24.6% | +1.0% | +10.5% | +31.7% | +72.3% | +0.0074 | -0.0006 | -0.0052 | -0.0115 | -0.0484 |
| MSSSIMY | $\uparrow$ | -32.4% | -18.7% | +0.7% | +14.6% | +47.9% | +0.0057 | +0.0027 | -0.0009 | -0.0035 | -0.0198 |
| MSSSIMC | $\uparrow$ | -30.2% | -5.5% | +9.0% | +27.8% | +70.4% | +0.0046 | +0.0003 | -0.0020 | -0.0052 | -0.0239 |
| GMSDY | $\downarrow$ | -22.7% | -9.4% | +14.4% | +28.5% | +34.7% | +0.0070 | +0.0021 | -0.0054 | -0.0099 | -0.0249 |
| GMSDC | $\downarrow$ | -19.5% | +0.1% | +26.4% | +38.1% | +54.2% | +0.0049 | -0.0006 | -0.0072 | -0.0111 | -0.0274 |
| NLPDY | $\downarrow$ | -43.3% | -39.7% | -18.4% | -11.9% | +21.7% | +0.0312 | +0.0272 | +0.0145 | +0.0096 | -0.0202 |
| NLPDC | $\downarrow$ | -41.4% | -35.2% | -13.9% | -6.2% | +29.1% | +0.0264 | +0.0211 | +0.0098 | +0.0052 | -0.0232 |
| VIFPY | $\uparrow$ | -32.8% | -31.4% | -4.4% | +2.4% | +30.6% | +0.0564 | +0.0539 | +0.0016 | -0.0076 | -0.0631 |
| VIFPC | $\uparrow$ | -18.8% | -3.1% | +21.4% | +37.4% | +77.5% | +0.0293 | +0.0016 | -0.0346 | -0.0594 | -0.1218 |
| PSNRHVSY | $\uparrow$ | -39.7% | -16.7% | -14.9% | +10.8% | +41.1% | +4.427 | +1.299 | +1.867 | -0.8895 | -4.362 |
| PSNRHVSC | $\uparrow$ | -34.7% | +4.4% | -5.0% | +29.1% | +61.1% | +3.379 | -0.1520 | +0.6100 | -1.967 | -5.693 |
| IWSSIMY | $\uparrow$ | -29.9% | -14.0% | +3.0% | +16.9% | +49.4% | +0.0101 | +0.0044 | -0.0019 | -0.0064 | -0.0353 |
| IWSSIMC | $\uparrow$ | -22.6% | +25.9% | +21.3% | +48.0% | +102.7% | +0.0069 | -0.0065 | -0.0073 | -0.0161 | -0.0598 |
| IWPSNRY | $\uparrow$ | -40.9% | -30.0% | -25.6% | -4.8% | +13.9% | +3.708 | +2.251 | +2.243 | +0.2366 | -1.952 |
| IWPSNRC | $\uparrow$ | -34.8% | -11.5% | -13.5% | +12.6% | +37.3% | +2.852 | +0.8200 | +1.002 | -0.8340 | -3.502 |
| FSIMY | $\uparrow$ | -12.9% | +10.4% | +21.5% | +43.4% | +52.1% | +0.0039 | -0.0008 | -0.0067 | -0.0106 | -0.0285 |
| FSIMC | $\uparrow$ | -12.7% | +11.9% | +22.1% | +44.5% | +54.4% | +0.0038 | -0.0012 | -0.0069 | -0.0110 | -0.0300 |
| MDSI | $\downarrow$ | -19.7% | +1.8% | +17.1% | +38.3% | +43.1% | +0.0157 | +0.0001 | -0.0140 | -0.0223 | -0.0525 |
| SSIMULACRA2 | $\uparrow$ | -23.0% | -5.3% | +5.5% | +24.6% | +79.9% | +7.223 | +1.046 | -2.931 | -8.404 | -39.610 |
| ButteraugliMax | $\downarrow$ | +26.9% | +67.0% | +56.2% | +56.6% | +123.9% | -3.043 | -4.942 | -8.584 | -5.970 | -21.671 |
| ButteraugliP1 | $\downarrow$ | -31.9% | +13.7% | -1.1% | +15.3% | +68.8% | +0.6733 | -0.2719 | -0.0726 | -0.5688 | -3.685 |
| ButteraugliP2 | $\downarrow$ | -18.6% | +26.9% | +12.5% | +28.3% | +82.8% | +0.4341 | -0.6328 | -0.4829 | -1.027 | -5.127 |
| ButteraugliP3 | $\downarrow$ | -7.4% | +39.9% | +24.0% | +38.4% | +94.6% | +0.0965 | -1.013 | -1.042 | -1.467 | -6.491 |
| VMAF | $\uparrow$ | -20.5% | -29.0% | +4.5% | +2.9% | +26.0% | +2.170 | +3.019 | -0.7567 | -0.7774 | -4.043 |
PICOのアドバンテージの検証
論文の主張では人間の見た目の判断に最適化したとしています。
それがわかりやすい画像(公開データの08052112d0151f7c9ac4879f838d5a0c)を例にして、PICOのアドバンテージを確認します。
RD曲線
まず、人間の主観評価とかなり相関が高いSSIMULACRA2で様々な符号化方式のRD曲線を書き、性能を確認します。
下記がそのRD曲線です。
グラフを見る限り、性能の順序は明確に
AVIFのSSIMULACRA2 tune > AVIFのデフォルト > JPEG XL > PICO > WebP > JPEG
となっています。
ではPICOは論文で性能が高いと主張できた要因は何でしょうか?実際の画像を見て判断していきます。
視覚的な比較評価
下記は画像(08052112d0151f7c9ac4879f838d5a0c)の全体像と、わかりやすい部分を2か所ズームした画像です。
両圧縮画像はほぼ同じサイズに圧縮されています。(アニメーションAVIFで若干のノイズが追加されてるかもしれないですが,大幅な影響はないと思います)
画像を見比べると、AVIFはオリジナルと同じ形状を維持していますが、若干ぼけた雰囲気になります。
一方PICOは、ボケはほぼ見られませんが、オリジナルと比べて葉っぱや壁の模様の形が変わってしまっていることがわかります。
つまりPICOは元の画像を維持する方法ではなく、元の画像の雰囲気を維持する圧縮方法です。
そのため、元の画像との近さを測る指標では高い性能が得られません。
つまり、これまでの画像圧縮方法とは根本的に異なる目的を持った画像圧縮フォーマットと言えます。
これまでの方法は、圧縮しすぎるとボケるのに対して、PICOは高圧縮で情報が足りないときに画像の模様を作る圧縮方法です。
全体像
| Original ↔ AVIF S2 | Original ↔ PICO |
|---|---|
![]() |
![]() |
512x512クロップ: 葉
| Original ↔ AVIF S2 | Original ↔ PICO |
|---|---|
![]() |
![]() |
512x512クロップ: 壁
| Original ↔ AVIF S2 | Original ↔ PICO |
|---|---|
![]() |
![]() |
主観評価(Eloスコア)
この、なんとなく似ているは主観評価で判断しました。
PICO の論文の主観評価では、圧縮した二つの画像と非圧縮画像を見せて、どっちの劣化が元に近いかのABテストをしてレーティングスコアを求めることで点数化しています。
もう少し詳しく書くと被験者が 2 つの再構成画像を比較する blind pairwise comparison で、zoom 可能なUIを使い、maximum information gain strategy により比較ペアを選択し、全 pairwise comparison から Bayesian Elo を計算したと説明しています。
さらに、詳しく書けば、主観評価を CLIC compression challenge と同様の blind pairwise comparison と説明しています。
Eloスコアの説明はwikipediaに任せます。
なお、このEloスコアは公開されていないため、このスコアに基づく実験はできません。
公開されていれば、もう少し検証できました。
まとめ
PICOとAVIF、JPEG XL、WebP、JPEGを比較しました。
従来の比較方法では、AVIFがPICOよりも3割ほど情報圧縮できるという結果になりました。
しかし、これは模様を作るか作らないかという点で、圧縮の方向性や目的が根本的に違っているためと考えられます。
現在は、どちらの見た目や雰囲気がよいかを測る指標が世の中に存在しないため、PICOがよいと判断するのはむつかしいです。
ただし、画像を確認した範囲では、PICOのほうを好む場合も多いという観察結果です。
一方で、元の画像に存在しない模様を作るため、厳密な忠実性が必要な用途では問題になる可能性があります。
そのため、どういう画像がよいのかを判断するための新しい指標の研究が、より重要になります。
また、PICO以外にも画像圧縮に関するまとめ記事を書いているので詳しく知りたい方は下記リンクを見てください。
リンク
下記に、使用したデータのリンクを掲載します。
PICOのプロジェクトからは圧縮済み画像がダウンロードできます。なお、ファイル名にbpp情報が入っています。
また、原画像はCLIC2020のデータセットの一部です。ハッシュキーが一致するものが原画像です。300/428 枚が使われています。







