MacBSの日常生活的日記

画像の縮小

かめののぶゆきさんのところで、iPod photoについて、下のようなレビューが。

iPod Photoに転送時に、画像は自動的に適切なサイズに縮小されるのだが、
そのアルゴリズムにはまだ改良の余地があるようで、写真内の斜め線は
アンチエイリアスがうまくかかっておらずギザギザだ。

画像の縮小に関しては、色々な手法があるんですが、おそらく速度重視で
「ニアレストネイバー法」あたりで処理しているのでしょうね。
良いところで「バイリニア法」くらいでしょう。

具体的なアルゴリズムは別にして、下のサイトで見比べると良く分かると思います。
http://arena.nikkeibp.co.jp/tec/camera/20020902/101713/

「ニアレストネイバー」というのは、縮小された画像上のpixelの、元画像での換算位置に
一番近い元画像のpixelを単純に持ってくる手法です。
計算という計算は座標変換くらいなので、高速ですし、1/2,1/3といった整数倍率の
縮小なら、これでも結構我慢できる場合が多いかも。

「バイリニア」は、元画像位置での近傍4点を使って算出します。
多少、画像がソフトになるのが欠点ですが、整数倍でない場合でも結構良い感じに
仕上がりますし、iPod photoならこれで十分かなぁとも思います。

バイリニアをもう少し複雑にしたのが「バイキュービック」で、これは近傍16点を使います。
3次曲線で補完するので、計算が重いのが難点です。
ただ、特性上、シャープネスがかかった感じになるので、結果がうまくいかないケースも
あります。
Photoshopが使ってるのは、この「バイキュービック」ですね。

個人的にオススメなのは、「面積平均法」なんですが、これをサポートしてるソフトは
意外に少ないかも。
下のサイトにWindows用フリーソフト「PictBear」用のフィルタがあるくらいかも。
http://www.bea.hi-ho.ne.jp/gaku-iwa/pb/Tip/010/tip.html

さらに高度にスプライン補間を使ったり、エッジ部分(色や輝度の変化が激しいところ)で
算出方法を切り替えたりと、まぁ色んな手法があります。

個人的には速度も大切だと思うので、整数倍率の縮小に限定して、
計算を簡略化したバイキュービックを使うのが良いのではないかと。
もしくは、やっぱり面積平均法かなぁ~。

モバイルバージョンを終了