Edited at

Google Pik試してみた


Pikとは?

google/pik: A new lossy/lossless image format for photos and the internet

https://github.com/google/pik

Googleの開発した画像形式で、Guetzliの考え方を引き継いでいてButteraugliスコアが高くなるように設計されたもの。

JPEG XLのベースとなるコーデックの2つの内の1つになるとみられる(もう一つはFUIF)

GuetzliやButteraugliに関してはこちらの記事に詳しく纏まっているので参照してみてください。

* Guetzli/Butteraugliに関するあれこれ

今回はKodak Lossless True Color Imageの24枚の画像を用いて他の画像形式と性能を比較してみました。


  • 使用したソフトウェアのバージョン

pik b4866f

ImageMagick 7.0.7-24 Q16 x64

mozjpeg v3.3.1

Guetzli v1.0.1

avif(libaom) v1.0.0-2150-g46b5e7590

heif(x265) v3.1+7-147fb92c5ed5

jpgとwebpの変換およびSSIM、PSNRの算出はImageMagick 7.0.7-24 Q16 x64で行いました。


グラフ

PSNR

psnr.png

SSIM

ssim.png

butteraugli

butteraugli.png

処理時間

time.png

SSIMやPSNRではavifが優勢ですがButteraugliではpikが優勢という結果に。

それとGuetzliでは従来の画質指標ではかなり低めの数値が出ていたのでpikもそうなのかと思っていましたが意外と高めの数値が出ています。

処理時間に関してですがPikはWindows用のバイナリをビルドすることが出来なかったのでWSLでUbuntu用のバイナリを作成してそれを実行しています。

なので若干ロスがあるかもしれません。


主観評価

あくまで一例です。

※ ブラウザでの表示に対応していない形式に関しては一旦pngに変換してアップロードしています。

元画像

kodim15.png

libjpeg q78 (67,304 バイト)

kodim15_libjpeg_yuv444_q78.jpg

mozjpeg q82 (66,758 バイト)

kodim15_mozjpeg_yuv444_q82.jpg

Guetzli q84 (65,887 バイト)

kodim15_guetzli_yuv444_q84.jpg

webp q88 (66,102 バイト)

kodim15_webp_yuv420_q88.png

heif crf26.5 (67,549 バイト)

kodim15_heif_yuv444_q26.5.png

avif q12 (67,055 バイト)

kodim15_libaom_8bit_yuv444_q12.png

pik distance1.0 (65,614 バイト)

kodim15_pik_yuv444_q1.0_temp.png


等倍ではわかりにくいので4倍に拡大したもの

original image.png

libjpeg.jpg

mozjpeg.jpg

guetzli.jpg

webp.png

heif.png

avif.png

pik.png


雑感

avifはSSIMやPSNRのスコアは高いのですが肌の質感が消えてしまっています。

コマンドラインオプションを変更すれば改善するかもしれませんが心理的画質の調整はまだまだのようです。

見た感じ一番綺麗なのはPikですかね。

もっと色んな画像で試してみないと最終的な結論はなんとも言えないですがこの画像で試した限りではPikの性能は悪くないのではないでしょうか。