Comments
Transcript
う よ け つ に を る き で に 実 演 身 ル キ ス 路 回 算 設 計 用 応
続 実設計に に応用で でき きる る 演算回路スキ ル を を 身に につ つ け けよ よ う う デバイスの記事 第2回 外村元伸 キュービック・スプライン補間演算器の設計 連載第1 回(本誌2006 年7 月号,pp.78-84)では,画像の拡 ても言及します.あいかわらず数式の多い説明になってい 大・縮小スケーリング表示に使われるリニア補間法やキュービ ますが,スプライン法の画像の拡大表示への応用について, ック補間法などの演算を取り上げました.リニア補間法は拡大 具体的に式を示したものはほかにはないと思います. 率を上げていくと画像がぼけてしまいます.そこで,補間精度 を改善するためにキュービック補間法が用いられています.前 1.キュービック・スプライン法の設計手法 回は,キュービック補間法の中でもおもにコンボリューション (convolution)法について説明しました.コンボリューション 連載第1 回で説明したコンボリューション法は,3 次曲線間 法は,完全に解けていない方程式の未定係数を経験値で補って の1 次微係数までの一致をとるものでした.一方,スプライ いるという不自然さがあることを指摘しました.今回は,もう ン法では2 次微係数まで一致させ,方程式を完全に解きます. 一つのキュービック補間法であるスプライン(spline)法を説明 キュービック・スプライン法では正規化のため,ϕ(0)= します. (筆者) 前回説明したコンボリューション法に対して,スプライ ン法は数学的に(厳密に)定義されています.そのため,拡 大率が大きくなるにつれてスプライン補間による表示のほう 1 がコンボリューション補間よりも勝ってきます注(写真 1) . スプライン法に関する書籍は数学書としての傾向が強く, 今のところ画像の拡大に応用するための適当な解説書が見 2 当たりません注 (p.122 のコラム「B-スプラインのさまざま 2/3 とします.8 個の未定係数を解くための連立方程式は, 2 3 = ϕ (0) = d1 ϕ (1) = a1 + b1 + c1 + d1 = a 2 + b2 + c 2 + d 2 0 = ϕ (2 ) = 8 a 2 + 4 b 2 + 2 c 2 + d 2 0 = ϕ ' (0) = c1 ϕ ' (1) = 3 a1 + 2 b1 + c1 = 3 a 2 + 2 b2 + c 2 ……… (1) 0 = ϕ ' (2) = 12 a 2 + 4 b 2 + c 2 ϕ " (1) = 6 a1 + 2 b1 = 6 a 2 + 2 b2 0 = ϕ " (2) = 12 a 2 + 2 b 2 な表現形態」を参照) .演算器の構成にまで立ち入ったもの は皆無と思われます.そこで,ここではあくまでも画像の となり,完全に解けます.ここで,ϕ(± 1)= 0 ではないこ 拡大スケーリングにスプライン法を応用することを目的と とに注意してください. して説明を進めます.また,具体的な演算器の構成につい ここでは,キュービック・スプライン法の重み関数 ϕ(x) 3 を β (x) ≡ ϕ(x)と記述することにします.これは,ϕ(x) 注 1 :自然画像は人工画像と比べてシャープに撮影するのが難しい.しかし, ゾーンプレートと呼ばれる人工的に描画した画像を用いて各種補間法 に基づく画像の拡大スケーリングを比較すると,スプライン法とコン ボリューション法の違いがよくわかる(連載第 1 回を参照) . 注 2 :専門的なスプライン補間法については,参考文献(1) , (2)を参照. KeyWord が 3 次式であることを示すため,そしてこの関数が B (basis)-スプライン関数と呼ばれているためです.β 3 は次 のように表せます. リニア補間法,キュービック補間法,コンボリューション法,スプライン法,B-スプライン,鏡像,線形方程式, 前進消去,後退代入,ガウス消去法,キャリ・セーブ 120 Design Wave Magazine 2006 August 続 実設計に る に 応用で で き き る 演算回路 スキ ル を を 身に に つ つ け けよ よ う う (a)原画像 (b)最近傍選択 (c)バイリニア (d)バイキュービック・スプライン 6 点 (e)バイキュービック・スプライン 4 点 (f)バイキュービック・コンボリューション 写真 1 各種補間法に基づく画像拡大スケーリング表示結果の比較 各辺の拡大率は 7 倍,面積拡大率は 49 倍 β 3( x) = 2 1 2 − x (2 − x ) , 0≦ x < 1 3 2 1 1≦ x < 2 (2 − x )3 , 6 0, 2≦ x f ( x) = (( ) 1 − c−1 + 3 c0 − 3 c1 + c2 x 3 6 ( ) + ( −3 c−1 + 3 c1) x + ( c−1 + 4 c0 + c1 )) + 3 c−1 − 6 c0 + 3 c1 x 2 ………… (2) ……… (4) ここで,画素位置 k に対する画素値をf k =f(k)とします. ここで,ck を補間係数とし,画素位置 k = 0 を基準とす ると,補間区間 0 ≦ x < 1 の補間値 (x) f を求めるキュービ 式(3)と式(4)は k = 0 を基準とするときの式ですが,画素 位置 k =− 1,1,2 を基準にする場合も同様にして, ック・スプライン補間式は,次の式(3)によって求められ fk = ます. f ( x) = 2 ∑c β k 3 (x − k) = c−1 β 3 ( x + 1) + c 0 β 3 (x ) + c1 β (k = −1 , 0 , 1 , 2 ) …… (5) となります.ただし,4 個の補間係数 c−1,c0,c1,c2 の外 k = −1 3 1 (c + 4 ck + ck +1 ) 6 k −1 ( x − 1) + c2 β ( x − 2 ) 3 ………………… (3) にある c−2 と c3 は,c−2 = c0,c3 = c1 のように境界条件を つけて,鏡像であると考えます.一部の文献などでは, c−2 = c3 = 0 として境界条件を無視していますが,画質的 式(2)から次式が得られます. には鏡像と考えるほうがよいようです.これにより, Design Wave Magazine 2006 August 121