GIGAZINEさんのBPG紹介記事があやふやなので自分で確認してみた

せっかく良さそうな画像圧縮技術なのだから、ちゃんと検証してどのくらい良いのか確認したいですね。

検証記事としてはこちらの内容がありますが、もう一声欲しいと思いましたので、私の方でも検証してみたいと思います。

 

以下は前置きです。結果を見たい人は下の「続きを読む」から下になります。

まず、画質の劣化を検証するときにPSNRとSSIMが指標として挙げられるらしいです。
先の検証した方はSSIMのみで検証していました。
これはPSNRの問題で、ブロックノイズやぼけた画像、など全然違う画像でも輝度の平均二乗誤差が近い値であれば、「オリジナルにほとんどノイズが乗っていない」という結果になってしまうため、利用しなかったのではないかと考えられます。

また、SSIMは上下左右のピクセルについても計算しているため、人の見た感覚に近いことから動画などの検証に使われているようです。

さて、それでは検証画像についてですが、

  1. 単色
  2. イラスト1(Kurokoさんより提供)
  3. イラスト2(たかたかさんより提供)
  4. 写真
  5. ランダム画像

の4種類、5枚で検証したいと思います。

まずは最も圧縮が有効な単色画像。

jpegにはあまり向かないイラスト。

イラストは一枚目がサークル「ヒミツイズム」のKurocoさんから(元画像の許可が取れなかったため、写真で紹介とします)。

二枚目はサークル「1001色素♂」のたかたかさんから。

非可逆圧縮なので、多少情報落ちしても大丈夫な写真。これは白川郷に行ったときに撮った写真のうちの一枚です。

最後に圧縮に一番不向きな疑似乱数で作成したランダム画像。

この辺りを選びました。

なお、画像はすべて24bitフルカラーで確認しました。

さて、結果です。

オリジナルはBMPとしましたけど、BMPからの圧縮比だと高すぎてよく分からないので、ここは可逆圧縮代表のPNGさんに出てきてもらいました。PNGと圧縮比が変わらなければあまり良くないという考えの元、計算しました。

なので、まずはオリジナルのBMPとPNGのファイルサイズを確認します。

画像の種類BMPファイルサイズ[byte]PNGファイルサイズ[byte]圧縮比
単色画像7500541461
0.195
イラスト11314198340598
25.917
イラスト2750054219163
29.220
写真9159222
4922223
53.741
ランダム画像750054751906
100.247

単色はPNGでもかなり圧縮されています。逆にランダム画像は元ファイルより大きくなっています。その他については、そこそこの圧縮というところでしょうか。これをそれぞれJPEG、BPGに変換すると以下のようになります。

単色画像-JPEG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
1001Inf141.3415469
2065
901Inf141.2731006
2064
801Inf141.2731006
2064
701Inf141.3415469
2065
601Inf141.2046543
2063
501Inf141.2046543
2063
400.99998952.902155141.2731006
2064
300.999984
49.891855141.2046543
2063
200.999955
46.881555141.2731006
2064
100.999735
36.370030141.2731006
2064
10.99291923.758724141.1362081
2062

単色画像-BPG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[]byte]
0158.003893
16.15331964
453356
5158.003893
16.08487337
387469
10158.003893
15.94798084
329221
15158.003893
9.308692676
280120
20158.003893
9.034907598
233248
25158.003893
8.692676249
186595
30158.003893
8.48733744
147077
35158.003893
8.213552361
106583
400.999955
46.558485
8.008213552
68235
450.999989
51.733071
7.871321013
25581
500.999881
39.825290
7.597535934
234
510.999924
46.607019
6.981519507
131

ランダム画像-JPEG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
1000.575502
12.728176
48.29247273
363114
900.573749
12.689733
27.81158815
209117
800.567794
12.572795
20.83877506
156688
700.554393
12.372053
17.04002894
128125
600.529069
12.086645
14.37719609
108103
500.501798
11.810664
12.43599599
93507
400.471560
11.550268
10.57579006
79520
300.431775
11.305837
8.550403907
64291
200.358672
11.092512
5.906722383
44413
100.264858
10.863144
3.076049400
23129
10.138447
10.674233
0.775761864
5833

ランダム画像-BPG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
00.607206
12.983262
60.29423891
453356
50.607183
12.982693
51.53157443
387469
100.607084
12.981091
43.78486141
329221
150.606825
12.978924
37.25465683
280120
200.604942
12.963349
31.02089889
233248
250.601674
12.929843
24.81626693
186595
300.594461
12.853832
19.56055677
147077
350.575791
12.665962
14.17504316
106583
400.525859
12.261978
9.074937559
68235
450.343745
11.339786
3.402153993
25581
500.066844
10.757947
0.031120911
234
510.066574
10.757009
0.017422391
131

写真-JPEG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
1000.992799
41.473385
45.78794988
2253785
900.968564
36.551952
15.98895458
787012
800.952237
34.239816
10.88272514
535672
700.940162
33.030376
8.650258227
425785
600.929095
32.192186
7.208551908
354821
500.919693
31.599436
6.257802623
308023
400.908296
30.984094
5.363999152
264028
300.892371
30.211649
4.423387563
217729
200.862956
29.048413
3.266593163
160789
100.796637
26.819548
1.861110315
91608
10.638589
22.059286
0.601212095
29593

写真-BPG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
00.995606
44.378299
48.78899229
2401503
50.994994
44.108158
40.30609747
1983956
100.992430
43.174057
28.98964553
1426935
150.987312
41.643075
20.42940761
1005581
200.976237
39.116258
13.36711075
657959
250.956395
36.238478
8.338610421
410445
300.923884
33.477444
4.872066950
239814
350.873733
30.730826
2.556974765
125860
400.811683
28.277236
1.228002063
60445
450.744317
26.051527
0.528480729
26013
500.683407
24.058745
0.198385973
9765
510.673404
23.726127
0.163767468
8061

イラスト1-JPEG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
1000.993972
38.764777
72.14193859
245714
900.985319
36.263537
31.28438805
106554
800.976373
33.968498
23.05973611
78541
700.963534
32.474587
19.25554466
65584
600.963645
31.420981
16.82863669
57318
500.958746
30.638838
15.10930775
51462
400.946722
29.817738
13.45457108
45826
300.944111
28.796486
11.52854685
39266
200.930728
27.382717
9.218492181
31398
100.896735
24.948575
6.128045379
20872
10.792103
20.210775
2.773063847
9445

イラスト1-BPG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
00.99555
41.012882
52.44041363
178611
50.99546
40.948336
39.74098497
135357
100.995135
40.713648
27.86452064
94906
150.994761
40.281196
20.98691126
71481
200.993427
39.280741
15.58288657
53075
250.990724
37.531153
11.32390678
38569
300.985263
35.198342
7.960117206
27112
350.972694
32.190851
5.195567795
17696
400.955189
29.126934
3.245174663
11053
450.922773
25.806033
1.897838508
6464
500.858423
22.332236
1.057551718
3602
510.842739
21.760849
0.936881602
3191

イラスト2-JPEG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
1000.995252
41.175386
63.93004294
140111
900.985292
37.550374
26.18051405
57378
800.975479
35.110701
18.90966997
41443
700.967490
33.723345
15.55508913
34091
600.959916
32.597751
13.4219736
29416
500.952793
31.692765
11.93358368
26154
400.944832
30.892918
10.49538471
23002
300.933852
29.882336
8.919845047
19549
200.916423
28.447979
6.965135538
15265
100.876944
26.074346
4.427298403
9703
10.740928
20.678218
1.897674334
4159

イラスト2-BPG

品質SSIMPSNR[dB]圧縮比ファイルサイズ[byte]
00.996897
43.570406
48.59761912
106508
50.996682
43.414900
37.15271282
81425
100.996045
42.884148
24.83448392
54428
150.995024
42.013453
17.60744286
38589
200.992855
40.312587
12.21556558
26772
250.988194
37.938728
8.268731492
18122
300.979948
35.441437
5.515529537
12088
350.964099
32.523118
3.443099428
7546
400.932241
29.364095
1.952428101
4279
450.884078
26.420166
1.119258269
2453
500.810806
23.508739
0.550731647
1207
510.802086
23.051780
0.476357779
1044

そしてグラフです。

 

(グラフはクリックで拡大できます)

グラフは、横軸がSSIMで縦軸が圧縮比になります。圧縮比は元画像(PNG)を100としたファイルサイズ比になります。なので横軸を基準に見て、同じ程度の画質で圧縮比が良いのはどちらかという見方が出来ます。

圧縮比は低い方がより高い圧縮が出来ています。圧縮率だとグラフにしたときに不都合がありましたので、圧縮比にしています。

単色での圧縮比は予想通りですが、BPGには目を見張るものがあります。

JPEGもBPGもランダム画像には弱いことが分かります。周辺のピクセルとの相関がないものは圧縮には不向きですね。

 

つまり、GIGAZINEさんのところも先の紹介した記事も、みんな写真で比較していたけれど、高画質で見た場合にはどちらもそれほど大きな差は見られない。画質を落とせば違いは出るけど、それだと実用的じゃない(特に私はJPEGの場合、品質100しか使わないです)。とは言ってもJPEGの品質100がBPGの品質10~15あたり。とすると対JPEGとの圧縮比は50%。良い値です。

イラストの方は高画質高圧縮なのが見て取れます。イラストを非可逆圧縮で使うのかという疑問はありますけど、それなりに良いのではないでしょうか。こちらは、イラスト1のJPEGの品質100がBPGの品質20あたり。対JPEGとの圧縮比は20%。イラスト2のJPEGの品質100がBPGの品質15あたり。対JPEGとの圧縮比は30%。どちらもかなり良い結果です。

結果として、BPGはJPEGと同等画質にするならば、ファイルサイズが半分以下と言えます。

また、BPGはどちらかというとデジタルイラストの圧縮に向いていると言えます。

 

でもこのBPG、エンコードの時のオプションでHEVCの指定がありましたけど、もしかしてH.265/HEVCのアルゴリズムを使っているんでしょうか。

コメント

タイトルとURLをコピーしました