takayama’s tech blog

CGや画像処理に関する技術ブログ

画像の補間について考えたい

今回は画像の補間(Interpolation)の話。

拡大・縮小、回転等の画像処理を行うときに、元々の画素とはずれた位置の画素値を求める必要がありますが、それらをどう埋める(補間する)のかといったものです。

 

基本的な話は昔に自分が書いた記事(↓)を参照してもらうとして、

www.dfx.co.jp

 

もう少し踏み込んだ話を。

上の記事でも述べていますが、画像の補間として使われるのは

・ニアレストネイバー法(Nearest Neighbor, 最近傍補間)

バイリニア法(Bilinear, 線形補間)

バイキュービック法(Bicubic)

・ランツォシュ法(Lanczos)

の4つが主となっています。

 

これらはどれもシンプルな手法ではあるのですが、その分一長一短で、汎用的に使えるものではなく、結果も必ずしもよいとは言えません。

そこでもっと調査・考察を重ねて、優れた方法を見つけて実装したいという考え。

調べたい内容は例えばこんな感じ。

・もっと汎用的に使える手法はないのか?

・補間式を求める範囲は固定ではなく変更できるほうがいいのでは?

・原理的に範囲外(オーバーシュート、アンダーシュート)にならない手法はないのか? 

・画素を点ではなく面として考えるとどうなる?

 

アジェンダ案としては以下の通り。予定は未定ですが。

アジェンダ

バイキュービック法の考察・一般化

・他の手法(面積平均法、B-Spline, Bessel, Mitchellなど?)について

・重みの補間ではなく画素値をそのまま補間する手法(スプライン補間?)について

・最新の論文を読み解く(Rapid, Detail-Preserving Image Downscalingなど?)

・DeepLearningを使った超解像について

 

とりあえず、ある程度考察済みのバイキュービック法について次以降の記事で紹介しようと思います。