ぼくがかんがえたさいきょうの画質評価法

JPEGなどの、不可逆画像圧縮の画質評価法をいろいろいじったらこうなった。
順を追って。

1・ローパスフィルタ

 人間は画像の1ドット1ドットを細かく見ているわけじゃなく、ある程度ぼかした感じで知覚している。それを利用したのがドット絵などのディザリング。それを考慮するため、画像にぼかしを入れる。
 どのくらいボカすかっていうと、画面の解像度とかディスプレーまでの距離とか視力とかに左右されるから、えいやとテキトーに決めてしまう。

2・色空間変換

 人間の色覚には、輝度、彩度、色相の3要素(RGBでわない)があるけれど、それぞれ知覚の仕方が違うので、RGBから変換してそれぞれ別々に画質評価する。

3・SSIM

 むかしは画質評価といえば、PSNRだったですが、最近はSIMMがポピュラーでござるな。PSNRとSSIMの違いを図形の比較で例えると、PSNRは図形の大きさだけを比較してたのが、SSIMは四角三角みたいな図形の形もみて比較している。ってくらい違うでござる。

元画像 ノイズ1 ノイズ2
100 110 110
100 110 110
100 110 110
100 110 90
100 110 90
100 110 90

 全部の画素の輝度が100の画像にノイズを加えて、全部110にした画像と、110と90にした画像が出来ました。これをPSNRで画質評価すると、どちらも同じ画質*1と判定されるけど、実際の画像をみると、ノイズ2より、ノイズ1のほうが元画像に近いと感じるものなのですよね。そういうのも見るのがSSIMなのです。
 とりあえずSSIMの画質を判定します。画素単位でね。

4・画質が悪い部分だけ抽出。

 全体に薄く広くノイズが有る画像と、ノイズが激しいところとそうでもないところがある画像では、後者のほうがノイズを感じると個人的に思うので、画像全体の評価をする時は、画像全体でもノイズが激しい部分を抽出して計算します。

5・

*1:ローパスフィルタかけちゃうとむしろノイズ2のほうが元画像に近いと判定される