画像リサンプリングの比較検証

Android用のコミックビューア/コミックリーダーであるPerfect Viewerにおいて、拡大縮小(画像リサンプリング)の方法が選択出来るという特徴ある機能を持っています。しかし、具体的な相違点が明確ではありません。

実際にいくかの画像を用意して、リサンプリング(解像度変更)の方法によってどの程度画質に差が出るのかを検証してみたいと思います。

0.目次

1.検証環境

Samsung Galaxy Tab(Docomo仕様/Android 2.2/解像度600×1024)上で、指定の画像をPerfect Viewerの各画像リサンプリングを変更して表示し、スクリーンキャプチャで取得したPNG画像を比較します。

縮小用として、800×1366のPNG画像を用意し、拡大用としては、400×682の画像を用意しました。縮小時は74.96%、拡大時は150.1%の倍率でGalaxy Tabの解像度である600×1024に変更されることになります。

拡大縮小して600×1024に変更された画像をPNGで160pxで切り抜き、さらに赤い枠でくくった部分を5倍に拡大して比較してみることにします。

1-1.検証用画像

pvr_g_0_01
検証画像01
ピクセル単位で黒と白を交互に配置

pvr_g_0_02
検証画像02
1ピクセル単位で黒白白と配置

pvr_g_0_03
検証画像03
1ピクセル単位で異なる色を列で配置

pvr_g_0_04
検証画像04
著作権フリー素材にあった建物の写真

pvr_g_0_05
検証画像05
イルカの写真

pvr_g_0_06
検証画像06
白く塗られた空き缶の写真

pvr_g_0_07
検証画像07
アンチエイリアス処理有効/無効の
日本語

pvr_g_0_08
検証画像08
アンチエイリアス処理有効/無効の
日本語色反転版

pvr_g_0_09
検証画像09
RX-93の線画

pvr_g_0_10
検証画像10
白と黒のグラデーション

pvr_g_0_11
検証画像11
全色を使ったグラデ―ション

pvr_g_0_12
検証画像12
アンチエイリアス処理有効、無効の
円形や直線

2.画像リサンプリングの説明

Perfect Viewerの使い方にある”4-3.画像リサンプリング“からの引用です。ネット上で調べた結果を自分なりにまとめただけなので、過剰な信用は避けて下さい。

2-1.最近傍法

最近傍法は、別名でニアレストネイバー法とも呼ばれ、拡大時には周辺のピクセルをコピーして使い、縮小時には余分なピクセルを削除するという原始的な手法です。
処理速度が非常に高速ですが、補間が行われないために、拡大した場合は輪郭がはっきりとしたモザイク画質になり、縮小した場合には、シャギー(ぎざぎざ)が発生するので、画質は悪くなります。

2-2.平均画素法

平均画素法は、別名で面積平均法とも呼ばれ、ピクセルの面積比を考慮して平均して補間する方法で、通常は縮小専用として使われている手法です。
得られる画質の割に、処理速度が比較的高速です。拡大した場合、画像によっては最近傍法とほぼ同様となりますが、縮小した場合、わずかにぼやけますが、自然で滑らかな画質を得られます。

2-3.平均画素法 v2

平均画素法 v2という画像補間法は(正式には)存在しないため、バージョン2の表記通り、平均画素法を改善した処理だと思われます。
初期設定で平均画素法が選択されていることから、平均画素法よりは処理速度が遅い分、画質は向上していると想像出来ます。

2-4.バイリニア補間

バイリニア補間は、別名で線形補間法や双直線補間法とも呼ばれ、補間対象となるピクセルを、周辺の4個のピクセルを参照した上で割り出す手法です。最近傍法の発展形ともいえます。
最近傍法よりも処理速度は劣りますが、平均画素法よりも高速です。最近傍法よりもシャギー(ぎざぎざ)は目立ちませんが、輪郭がぼやけた感じになります。

2-5.バイキュービック補間

バイキュービック補間は、補間対象となるピクセルを、周辺の16(4×4)個のピクセルを参照し、距離を考量して割り出す手法です。バイリニア補間の発展形ともいえ、より精度の高い処理が可能です。
処理速度は低いですが、Lanczos3よりは高速です。バイリニア補間と比べ、滑らかなで自然な画質が得られますが、輪郭を強調するために、比較的シャープな画質になります。

2-6.Lanczos3

Lanczos3は、補間対象となるピクセルを、周辺の36(6×6)個のピクセルを参照し、バイキュービックとは異なる計算式で算出します。動画分野で評判が良く、特に縮小が得意なようです。
処理速度は最も遅いです。写真はバイキュービックよりも綺麗という評判ですが、イラストなどの線中心の画像処理は劣ります。

3.縮小比較

検証用画像を74.96%で縮小した結果です。最近傍法、平均画素法、平均画素法 v2、バイリニア補間、バイキュービック補間、Lanczos3の計6種類の方法で、同一画像を縮小し、等倍比較、及び、赤枠部分を5倍に拡大した比較を行います。

3-1.検証画像01縮小

pvr_s_n_01
最近傍法
縮小率が半端だったため、途中でパターンが変わっています。等倍であれば、綺麗に縮小出来たと思います。

pvr_s_h_01
平均画素法
僅かに格子柄が残っています。

pvr_s_v_01
平均画素法 v2
僅かに格子柄が残っていますが、白い部分が少なくなりました。

pvr_s_r_01
バイリニア補間
白と黒の中間色である灰色が強く出ています。

pvr_s_q_01
バイキュービック補間
バイリニア補間よりも平均化しています。

pvr_s_l_01
Lanczos3
白黒の格子柄がほぼ消えています。

3-2.検証画像02縮小

pvr_s_n_02
最近傍法
縮小率が半端だったため、途中でパターンが変わっています。

pvr_s_h_02
平均画素法
原寸大出見る限り、平均画素法が優秀です。

pvr_s_v_02
平均画素法 v2

pvr_s_r_02
バイリニア補間

pvr_s_q_02
バイキュービック補間

pvr_s_l_02
Lanczos3
僅かに格子柄が残っています。

3-3.検証画像03縮小

pvr_s_n_03
最近傍法
綺麗に縮小されています。ピクセルという単位で考えれば最近傍法が得意のようです。

pvr_s_h_03
平均画素法
黒白灰の部分において、縦と横で使われる色が異なっていることが分かります。

pvr_s_v_03
平均画素法 v2
黒白灰のパターンがほぼ消えてしまっています。

pvr_s_r_03
バイリニア補間
黒白灰のパターンがほぼ消えてしまっています。

pvr_s_q_03
バイキュービック補間
黒白灰のパターンがほぼ消えてしまっています。

pvr_s_l_03
Lanczos3
黒白灰のパターンがほぼ消えてしまっています。

3-4.検証画像04縮小

pvr_s_n_04
最近傍法
ざらつきが酷く目立ちます。

pvr_s_h_04
平均画素法

pvr_s_v_04
平均画素法 v2

pvr_s_r_04
バイリニア補間

pvr_s_q_04
バイキュービック補間

pvr_s_l_04
Lanczos3
拡大してみるとノイズが見られます。

3-5.検証画像05縮小

pvr_s_n_05
最近傍法
元画像がピクセル単位で表示されているためか、ざらつきも気になりません。

pvr_s_h_05
平均画素法
あまり他手法との差はみられません。

pvr_s_v_05
平均画素法 v2
あまり他手法との差はみられません。

pvr_s_r_05
バイリニア補間
あまり他手法との差はみられません。

pvr_s_q_05
バイキュービック補間
あまり他手法との差はみられません。

pvr_s_l_05
Lanczos3
あまり他手法との差はみられません。

3-6.検証画像06縮小

pvr_s_n_06
最近傍法
苦手な輪郭の処理が目立ちます。

pvr_s_h_06
平均画素法

pvr_s_v_06
平均画素法 v2

pvr_s_r_06
バイリニア補間

pvr_s_q_06
バイキュービック補間
一番綺麗に縮小されているように思えます。

pvr_s_l_06
Lanczos3

3-7.検証画像07縮小

pvr_s_n_07
最近傍法
文字がつぶれて読めなくなっています。

pvr_s_h_07
平均画素法

pvr_s_v_07
平均画素法 v2

pvr_s_r_07
バイリニア補間

pvr_s_q_07
バイキュービック補間

pvr_s_l_07
Lanczos3
輪郭もはっきりして、一番綺麗に見えます。

3-8.検証画像08縮小

pvr_s_n_08
最近傍法

pvr_s_h_08
平均画素法

pvr_s_v_08
平均画素法 v2

pvr_s_r_08
バイリニア補間

pvr_s_q_08
バイキュービック補間

pvr_s_l_08
Lanczos3
本来白い背景のノイズが一番目立ちます。

3-9.検証画像09縮小

pvr_s_n_09
最近傍法

pvr_s_h_09
平均画素法

pvr_s_v_09
平均画素法 v2
本来白い背景で灰色のピクセル(ノイズ)が目立ちます。

pvr_s_r_09
バイリニア補間

pvr_s_q_09
バイキュービック補間

pvr_s_l_09
Lanczos3

3-10.検証画像10縮小

pvr_s_n_10
最近傍法
グラデーション部分であまり違いは分かりません。

pvr_s_h_10
平均画素法

pvr_s_v_10
平均画素法 v2

pvr_s_r_10
バイリニア補間

pvr_s_q_10
バイキュービック補間

pvr_s_l_10
Lanczos3

3-11.検証画像11縮小

pvr_s_n_11
最近傍法
拡大するとざらつきがあるように見えます。

pvr_s_h_11
平均画素法
グラデーション部分であまり違いは分かりません。

pvr_s_v_11
平均画素法 v2
灰色のノイズが気になります。

pvr_s_r_11
バイリニア補間

pvr_s_q_11
バイキュービック補間

pvr_s_l_11
Lanczos3

3-12.検証画像12縮小

pvr_s_n_12
最近傍法
円が途切れてしまっています。

pvr_s_h_12
平均画素法

pvr_s_v_12
平均画素法 v2
灰色のノイズが気になります。

pvr_s_r_12
バイリニア補間

pvr_s_q_12
バイキュービック補間

pvr_s_l_12
Lanczos3

4.拡大比較

検証用画像を150.1%で拡大した結果です。最近傍法、平均画素法、平均画素法 v2、バイリニア補間、バイキュービック補間、Lanczos3の計6種類の方法で、同一画像を拡大し、等倍比較、及び、赤枠部分を5倍に拡大した比較を行います。

4-1.検証画像01拡大

pvr_k_n_01
最近傍法
白黒の格子柄が維持されたままです。

pvr_k_h_01
平均画素法

pvr_k_v_01
平均画素法 v2

pvr_k_r_01
バイリニア補間
バイキュービック補間との違いが分かりません。

pvr_k_q_01
バイキュービック補間

pvr_k_l_01
Lanczos3

4-2.検証画像02拡大

pvr_k_n_02
最近傍法

pvr_k_h_02
平均画素法

pvr_k_v_02
平均画素法 v2

pvr_k_r_02
バイリニア補間

pvr_k_q_02
バイキュービック補間

pvr_k_l_02
Lanczos3

4-3.検証画像03拡大

pvr_k_n_03
最近傍法

pvr_k_h_03
平均画素法

pvr_k_v_03
平均画素法 v2

pvr_k_r_03
バイリニア補間

pvr_k_q_03
バイキュービック補間

pvr_k_l_03
Lanczos3

4-4.検証画像04拡大

pvr_k_n_04
最近傍法

pvr_k_h_04
平均画素法

pvr_k_v_04
平均画素法 v2

pvr_k_r_04
バイリニア補間

pvr_k_q_04
バイキュービック補間

pvr_k_l_04
Lanczos3

4-5.検証画像05拡大

pvr_k_n_05
最近傍法

pvr_k_h_05
平均画素法

pvr_k_v_05
平均画素法 v2

pvr_k_r_05
バイリニア補間

pvr_k_q_05
バイキュービック補間

pvr_k_l_05
Lanczos3

4-6.検証画像06拡大

pvr_k_n_06
最近傍法

pvr_k_h_06
平均画素法

pvr_k_v_06
平均画素法 v2

pvr_k_r_06
バイリニア補間

pvr_k_q_06
バイキュービック補間

pvr_k_l_06
Lanczos3

4-7.検証画像07拡大

pvr_k_n_07
最近傍法

pvr_k_h_07
平均画素法

pvr_k_v_07
平均画素法 v2

pvr_k_r_07
バイリニア補間

pvr_k_q_07
バイキュービック補間

pvr_k_l_07
Lanczos3

4-8.検証画像08拡大

pvr_k_n_08
最近傍法

pvr_k_h_08
平均画素法

pvr_k_v_08
平均画素法 v2

pvr_k_r_08
バイリニア補間

pvr_k_q_08
バイキュービック補間

pvr_k_l_08
Lanczos3

4-9.検証画像09拡大

pvr_k_n_09
最近傍法

pvr_k_h_09
平均画素法

pvr_k_v_09
平均画素法 v2

pvr_k_r_09
バイリニア補間

pvr_k_q_09
バイキュービック補間

pvr_k_l_09
Lanczos3

4-10.検証画像10拡大

pvr_k_n_10
最近傍法

pvr_k_h_10
平均画素法

pvr_k_v_10
平均画素法 v2

pvr_k_r_10
バイリニア補間

pvr_k_q_10
バイキュービック補間

pvr_k_l_10
Lanczos3

4-11.検証画像11拡大

pvr_k_n_11
最近傍法

pvr_k_h_11
平均画素法

pvr_k_v_11
平均画素法 v2

pvr_k_r_11
バイリニア補間

pvr_k_q_11
バイキュービック補間

pvr_k_l_11
Lanczos3

4-12.検証画像12拡大

pvr_k_n_12
最近傍法

pvr_k_h_12
平均画素法

pvr_k_v_12
平均画素法 v2

pvr_k_r_12
バイリニア補間

pvr_k_q_12
バイキュービック補間

pvr_k_l_12
Lanczos3

5.まとめ

膨大な時間を費やした割には、画像を並べただけのように見える記事となりました。実際に、比較画像を用意したのは2月初旬、実に半月近い時間を消費していることになります。僅かな空き時間で画像をキャプチャして加工してという繰り返しはとても疲れました。

結論、最近傍法とそれ以外のリサンプリングの差が分かりにくく、5倍拡大でもよく見れば違いがわかる程度であることを分かりました。最近傍法以外であれば、リサンプリングの精度というよりも好みのような気がします。

処理速度について追求していませんが、最近傍法や平均画素法、平均画素法 v2は待ち時間を感じることはなく、バイリニア補間、バイキュービック補間、Lanczos3の順で、表示に時間がかかっています。特にLanczos3の遅さは酷く、他リサンプリングとの差が大きくないことがわかった今、Perfect Viewer上でLanczos3を選択する意味はありません。

Perfect Viewerをコミックビューアとして使用する限り、初期値の平均画素法で多くの場合事足ります。端末スペックに比較的余裕があれば、平均画素法よりも輪郭がより明確となる平均画素法 v2を勧めます。デジタルフォトフレーム的な使用であれば、バイリニアかバイキュービック、好みで選択になるかと思います。

6.詳細目次

0.目次
1.検証環境
1-1.検証用画像
2.画像リサンプリングの説明
2-1.最近傍法
2-2.平均画素法
2-3.平均画素法 v2
2-4.バイリニア補間
2-5.バイキュービック補間
2-6.Lanczos3
3.縮小比較
3-1.検証画像01縮小
3-2.検証画像02縮小
3-3.検証画像03縮小
3-4.検証画像04縮小
3-5.検証画像05縮小
3-6.検証画像06縮小
3-7.検証画像07縮小
3-8.検証画像08縮小
3-9.検証画像09縮小
3-10.検証画像10縮小
3-11.検証画像11縮小
3-12.検証画像12縮小
4.拡大比較
4-1.検証画像01拡大
4-2.検証画像02拡大
4-3.検証画像03拡大
4-4.検証画像04拡大
4-5.検証画像05拡大
4-6.検証画像06拡大
4-7.検証画像07拡大
4-8.検証画像08拡大
4-9.検証画像09拡大
4-10.検証画像10拡大
4-11.検証画像11拡大
4-12.検証画像12拡大
5.まとめ
6.詳細目次

3 Responses to “画像リサンプリングの比較検証”

  • こんにちは。
    PerfectViewerの検証作業、ご苦労様でした。
    本ページは非常に参考になりました。
    WindowsMobileではまんがびゅ~わ~という鉄板アプリがありましたが、
    Androidではいろいろと探し回ったあげく、PVに落ち着いてます。
    感覚的に、平均画素法V2を使用してましたが、漫画を読む分には
    間違いではなかった、ということになるでしょうか。
    本ページは是非保存版としてわたしのところでも紹介させていただきたいと思います。

    • tio:

      こんにちは。今年からblogを初めてはや1ヶ月、初コメント、ありがとうございます。
      ☆ぬ~☆さんのblogにコメントしうようと思いましたが、コメント投稿時の画像認証が何度やってもパスできず、あきらめました。
      平均画素法 v2がTabには最適だと思います。僕も平均画素法 v2です。平均画素法で処理した後にアンシャープマスクをかけている感じで輪郭がはっきりします。

Leave a Reply

Google AdSense