画像の拡大縮小
拡大と縮小の結果を 11 の手法で見比べます。新しい画素の値を周りの画素からどう決めるかで、ジャギー・ぼけ・リンギング・モアレの出方が変わります。
結果
計算中…
拡大鏡 8 倍
元の画像と表示の範囲
マスの数字 正解との PSNR 大きいほど正解に近い列で最大の値をオレンジで表示
フィルタ
ドット絵向け
アンチエイリアス
縮小時にカーネルを広げる。オフは間引きと同じ結果
計算の色空間
sRGB では細かい白黒の縞が暗く表示
1出力の格子
拡大は細かい格子、縮小は粗い格子
2近くの画素
最近傍 1 個、バイリニア 4 個、キュービック 16 個、Lanczos3 36 個
3距離と重み
距離から重みを決める関数がカーネル
4重みの合計
値 × 重みの合計が出力の値、負の重みがリンギングの原因
5横と縦の計算
横の計算のあとに縦の計算、16 画素の計算が 4 + 4 回に短縮
6アンチエイリアス
カーネルを広げて平均、広げない間引きはモアレの原因
7手法ごとの弱点
ジャギー・ぼけ・リンギング・モアレの兼ね合い
動作原理と式
出力の画素の値
- 倍率
- 元の画素の値
- 出力の画素 の中心の、元の画素の座標
- カーネル
- カーネルの幅の倍率(アンチエイリアスの節)
カーネル
| 手法 | カーネル | 半径 | 出典 |
|---|---|---|---|
| 最近傍 | 1/2 | [5] | |
| 平均画素法 | 出力の画素と元の画素の重なりの長さ | 1/2 + 1/(2) | [5] |
| バイリニア | 1 | [5] | |
| B スプライン | 下の式で 、 | 2 | [1][2] |
| Mitchell | 下の式で | 2 | [1] |
| Catmull-Rom | 下の式で 、 | 2 | [1][3][4] |
| Lanczos2・Lanczos3 | (・) | [5][7] |
- : 整数の位置で 0 か 1 になり、1 倍で元の値に一致[1]
- : 元の値を通らず、1 倍でもぼける
- 負の裾: 段差の両側に行き過ぎ(リンギング)。Mitchell と Netravali はぼけ・リンギング・異方性の兼ね合いを の平面で分類[1]
縮小とアンチエイリアス
- 縮小ではカーネルを 倍に広げ、出力のナイキスト周波数を超える成分を落とす[6]
- 広げないと、その成分が低い周波数へ折り返してモアレになる
- オフでは
- 最近傍はオンでも間引きのまま
- 平均画素法はもともと重なりで計算するので、設定によらず同じ結果
計算の色空間
- sRGB の値は光の量に比例しない[9]
- 白と黒の 1 画素の縞を 1/2 に縮めると、sRGB のままの平均は 128、光の量の平均は 188
ドット絵向けの手法
| 手法 | 左上の角の規則 | 出典 |
|---|---|---|
| Scale2x(EPX) | 上 = 左、上 ≠ 下、左 ≠ 右 のとき左の色 | [8] |
| Scale3x | Scale2x の規則を 3 × 3 の 9 画素へ広げたもの | [8] |
| Eagle | 左 = 左上 = 上 のとき、その色 | [10] |
- 色が完全に同じかだけを比較、写真では規則がほとんど働かず最近傍に近い結果
- 倍率以上になるまで 2 倍か 3 倍をくり返し、最後は最も近い画素を写す
- 1 倍以下は最近傍と同じ
このツールで決めたこと
- 正解との PSNR は画像の中央 240 × 180 画素で計算
- 拡大の正解: 平均画素法で 1/ に縮めた画像を 倍に戻し、元の画像と比較
- 縮小の正解: アンチエイリアスありの Lanczos8 の結果。基準に近い Lanczos は高い値になりやすい
- 1 倍の PSNR は表示なし
- PSNR の値は見た目の良さと一致しない。リンギングの目立つ手法が高い値になることもある
- ファイルは長辺 1024 画素に縮めて使用
- 見本: 月面は NASA の画像[11]、ほかは自作
出典
- 3 次のカーネルの式・ の分類・Mitchell の値D. P. Mitchell and A. N. Netravali, “Reconstruction filters in computer-graphics,” ACM SIGGRAPH Computer Graphics, vol. 22, no. 4, pp. 221–228, 1988, doi:10.1145/378456.378514
- 3 次の B スプラインの補間H. S. Hou and H. C. Andrews, “Cubic splines for image interpolation and digital filtering,” IEEE Trans. Acoustics, Speech, and Signal Processing, vol. 26, no. 6, pp. 508–517, 1978, doi:10.1109/TASSP.1978.1163154
- Catmull-Rom のスプラインE. Catmull and R. Rom, “A class of local interpolating splines,” Computer Aided Geometric Design, pp. 317–326, 1974, doi:10.1016/B978-0-12-079050-0.50020-5
- 3 次の補間(畳み込みの形)R. G. Keys, “Cubic convolution interpolation for digital image processing,” IEEE Trans. Acoustics, Speech, and Signal Processing, vol. 29, no. 6, pp. 1153–1160, 1981, doi:10.1109/TASSP.1981.1163711
- 拡大縮小のフィルタの比較(箱・三角・Lanczos など)K. Turkowski, “Filters for common resampling tasks,” Graphics Gems, Academic Press, pp. 147–165, 1990, doi:10.1016/B978-0-08-050753-8.50042-5
- 縮小でカーネルを広げる・横と縦の 2 回の計算D. Schumacher, “General filtered image rescaling,” Graphics Gems III, Academic Press, pp. 8–16, 1992, doi:10.1016/B978-0-08-050755-2.50012-9
- Lanczos の窓C. E. Duchon, “Lanczos filtering in one and two dimensions,” Journal of Applied Meteorology, vol. 18, no. 8, pp. 1016–1022, 1979, doi:10.1175/1520-0450(1979)018<1016:LFIOAT>2.0.CO;2
- Scale2x・Scale3x の規則A. Mazzoleni, Scale2x Algorithm
- sRGB の変換の式IEC 61966-2-1:1999, Multimedia systems and equipment – Colour measurement and management – Part 2-1: Default RGB colour space – sRGB
- Eagle の規則・EPX の由来Wikipedia, Pixel-art scaling algorithms
- 月面の画像E. Wright, CGI Moon Kit, NASA's Scientific Visualization Studio, 2019