(57)【要約】【課題】  画像の高画質補間処理としてよく使われる２次元バイキュービック補間のプリミティブな演算である１次元キュービック補間を、乗算器の少ない回路規模で実現することを可能とする。【解決手段】  複数の画素のうち１対の画素の画素値から線形補間によって補間位置の補間画素値を生成する第１の線形補間演算器と、前記複数の画素の画素値間の複数の差分値のうち、それぞれが１対の差分値から線形補間することで複数の補正値を生成する複数の第２の線形補間演算器と、前記補間画素値及び前記複数の補正値に基づいて前記補間位置の画素値を生成する演算器とを有する。【選択図】  図２
2017215941.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素のうち１対の画素の画素値から線形補間によって補間位置の補間画素値を生成する第１の線形補間手段と、
前記複数の画素の画素値間の複数の差分値のうち、それぞれが１対の差分値から線形補間することで複数の補正値を生成する複数の第２の線形補間手段と、
前記補間画素値及び前記複数の補正値に基づいて前記補間位置の画素値を生成する生成手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記複数の補正値に対して前記補間位置の境界条件に関するパラメータを乗算する第１の乗算手段を有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記複数の画素は、前記補間位置と同一の直線上に並んでおり、該画素間の距離を１とし、前記複数の画素の1つから前記補間位置までの距離をｔとすると、前記パラメータはｔ・（１−ｔ）と表されることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記複数の画素は２Ｎ個の画素であり、前記複数の第２の線形補間手段は、
１画素だけ離れた画素の画素値間の差分値に対する線形補間と、
各々２，４，…，２・（Ｎ−１）画素だけ離れた画素の画素値間の差分値に対する線形補間とを用いて前記複数の補正値を生成することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記複数の補正値のうち少なくとも１つの補正値に対して画質を調整するパラメータを乗算する第２の乗算手段を有することを特徴とする請求項１記載の画像処理装置。
【請求項６】
複数の行および複数の列に並べられた複数の画素から求める位置の画素値を生成する画像処理装置であって、
前記複数の列のそれぞれにおいて、該列の複数の画素の画素値から前記求める位置と同じ垂直位置の画素値を請求項１記載の画像処理装置により生成し、
前記複数の列のそれぞれについて当該生成された画素値から請求項１記載の画像処理装置により前記求める位置の画素値を生成することを特徴とする画像処理装置。
【請求項７】
複数の行および複数の列に並べられた複数の画素から求める位置の画素値を生成する画像処理装置であって、
前記複数の行のそれぞれにおいて、該行の複数の画素の画素値から前記求める位置と同じ水平位置の画素値を請求項１記載の画像処理装置により生成し、
前記複数の行のそれぞれについて当該生成された画素値から請求項１記載の画像処理装置により前記求める位置の画素値を生成することを特徴とする画像処理装置。
【請求項８】
連続する２Ｎ個の画素の画素値から、Ｎ番目の画素とＮ＋１番目の画素との間の補間区間内に指定された補間位置の画素値を生成する画像処理装置であって、
前記補間区間に関し対称位置関係にある２画素に対し、線形補間値を生成する第１の線形補間演算手段と、
前記補間区間に関し対称位置関係にある２画素に対し、２種の線形補間値を生成する第２の線形補間演算手段と、
前記第１、第２の線形補間演算手段の出力間で加減演算した値を生成する加減演算手段と、
前記加減演算手段で生成した値に、前記補間区間の境界条件に関するパラメータを乗算する手段と
を有することを特徴とする画像処理装置。
【請求項９】
前記第２の線形補間演算手段は、
前記２Ｎ個の画素の両端の画素を除くＮ−１組の対称位置関係にある２画素の各組に対し、該組の画素値の線形補間値と、該組の２画素を入れ替えた組の画素値の線形補間値との２種の線形補間値を生成する
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
画像処理装置の制御方法であって、
第１の線形補間手段が、複数の画素のうち１対の画素の画素値から線形補間によって補間位置の補間画素値を生成する工程と、
複数の第２の線形補間手段が、前記複数の画素の画素値間の複数の差分値のうち、それぞれが１対の差分値から線形補間することで複数の補正値を生成する工程と、
生成手段が、前記補間画素値及び前記複数の補正値に基づいて前記補間位置の画素値を生成する工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項１１】
連続する２Ｎ個の画素の画素値から、Ｎ番目の画素とＮ＋１番目の画素との間の補間区間内に指定された補間位置の画素値を生成する画像処理装置の制御方法であって、
第１の線形補間演算手段が、前記補間区間に関し対称位置関係にある２画素に対し、線形補間信号を生成する第１の線形補間演算工程と、
第２の線形補間演算手段が、前記補間区間に関し対称位置関係にある２画素に対し、２種の線形補間値を生成する第２の線形補間演算工程と、
加減演算手段が、前記第１、第２の線形補間演算手段の出力間で加減演算した値を生成する加減演算工程と、
乗算手段が、前記加減演算工程で生成した値に、前記補間区間の境界条件に関するパラメータを乗算する工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺離散座標の画素値から中間座標の画素値を補間演算する技術に関するものである。
【背景技術】
【０００２】
撮像装置は、被写体からの光を光学レンズを用いてイメージセンサ上に結像させ、イメージセンサにて電気信号に変換する。しかし、レンズの設計時の許容精度や製造時のばらつき精度といった要因により、得られた画像の周辺部において幾何学的な歪み（以下、幾何歪みと省略する）発生しやすい。そして、撮像画素数が数千万画素へ増加することにより、この歪みが無視できないものになってきている。
【０００３】
一方、撮像した画像を処理・編集して観賞する時に、テレビなどのディスプレイに表示する際には特に問題にならないが、プロジェクタでスクリーンへ投影する際には、次の要因により、またもや幾何学的な歪みが発生することがある。
【０００４】
ディスプレイとスクリーンとが厳密に正対していないと、長方形が台形や不等辺四角形に変形されて投影されたりする。また、ディスプレイの光学系には、取り付け時の機械精度や、前述の光学レンズに関する精度があり、該精度に起因する画像歪みが発生する。このように、撮像時や投射時における種々の要因で、画像に様々な幾何歪みが重畳していく。
【０００５】
画像はディスプレイで見る場合とプロジェクタで見る場合の両方が想定されるため、撮像時の幾何歪みは撮像時に補正し、プロジェクタ投影時の幾何歪みは投影時に補正する必要がある。各々の幾何歪みは、デジタル的な画像処理によって軽減することが可能である。
【０００６】
幾何歪みの補正に必要なデータやパラメータの一部は、設計段階のシミュレーションなどから得ることが出来るが、一般的にはキャリブレーションと称する工程から得る。キャリブレーションには様々な手法があり、一つの技術領域となっている。例えば、プロジェクタ投影時の台形歪み補正は、オリジナルの矩形画像を補正無しで投影した時の歪んだ四角形の４つの頂点（四隅）座標を獲得し、該情報から、補正用のホモグラフィ行列を計算することによって、幾何補正に必要なパラメータを得る。
【０００７】
本明細書は、幾何歪み補正に必要なデータやパラメータが、キャリブレーション等によって、既に得られていることを前提とする。つまり、先に説明したようにキャリブレーションには様々な手法があり、そのいずれであるかについては問わない。
【０００８】
図１に示す幾何歪み補正処理のブロック図において、補正に必要なデータやパラメータは、キャリブレーションにより既に得られており、変換パラメータ保持部１０１に格納されているものとする。
【０００９】
キャリブレーションがどのような手法であるにせよ、それによる幾何歪み補正は２つの主要な要素で構成される。１つは画像を幾何学的に変形するための座標変換に係る構成要素、もう１つは該構成で発生した小数点以下の座標位置の画素値を補間によって計算するための、座標補間に係る構成要素である。各々は図１の座標変換部１０３と画素補間部１１２にて行われる。そして、幾何歪みの補正は図１のブロック図において概略以下のように処理される。
（Ａ１）画像を規則的にスキャンした際の整数座標１０２を座標変換部１０３にて変換し、変換座標１０４を計算する。
（Ａ２）該変換座標に対する補間画素値を画素補間部１１２にて生成する。
（Ａ３）生成した補間画素値を、前記整数座標１０２の画素値として画像メモリ１１３へ格納する。
【００１０】
変換座標１０４は一般的に小数部を有する座標データになるため、周辺の整数座標の画素値を画像メモリ１１１から読み出して参照し補間処理で生成する必要がある。
【００１１】
代表的な補間方法として、ニアレストネイバー、バイリニア補間、バイキュービック補間などがある。これらを多項式補間の次数という観点で見ると各々、０次補間、１次補間、３次補間に分類される。次数が高いほど補間精度がよくなり画質が向上する。
【００１２】
３次補間に分類される他の補間方法として、キュービック・スプライン補間と称する方法があるが、これは名称が示すようにスプライン関数をベースとした補間法である。補間処理時に参照する画素数は、次数に１を加えた値を二乗した、１画素、４画素、１６画素となり、概算で該参照画素数に比例した演算量・回路規模となる。
【００１３】
実際に使われる補間処理としては、バイリニア補間またはバイキュービック補間がほとんどであり、画質と回路規模のどちらを優先するかによって、どちらかを選択するケースが多い。すなわち、画質的にはバイキュービック補間を使いたいが、回路規模の制約からバイリニア補間するというケースが少なくない。
【００１４】
特許文献１は、１つの補間回路で、バイリニア補間と、バイキュービック補間との両方の機能を実現することで、回路規模の削減を図っているが、バイキュービック補間の回路規模そのものが小さくなるわけではない。
【００１５】
また、特許文献２は、３次補間の１つであるキュービック・スプライン補間を、線形補間演算器を３段縦続に接続した構成で実現できることを示している。しかし、該キュービック・スプライン補間は、参照する４×４画素の重み付け係数を調整する機能が無く、補間回路が使われているシステムに合せて画質を調整することが出来ない。
【００１６】
バイキュービック補間には、画質調整が可能なパラメータが存在し、システムに適した画作りが可能である。先行技術のキュービック・スプライン補間の構成法は、バイキュービック補間へ適用することが出来ない。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００７−２１９９５０号公報
【特許文献２】特開２００７−８７２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
上記をまとめると、バイキュービック補間は画質はよいが回路規模が大きいという問題がある。３板方式のプロジェクタではＲ，Ｇ，Ｂで異なる幾何補正を行う必要があり、各チャネル毎に幾何補正用の補間回路を有する必要もある。
【００１９】
よって、１つの映像システム内で、幾つもの画素補間処理が必要であり、バイキュービック補間を採用すると、映像システム全体の演算処理が増大してしまう。
【課題を解決するための手段】
【００２０】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
複数の画素のうち１対の画素の画素値から線形補間によって補間位置の補間画素値を生成する第１の線形補間手段と、
前記複数の画素の画素値間の複数の差分値のうち、それぞれが１対の差分値から線形補間することで複数の補正値を生成する複数の第２の線形補間手段と、
前記補間画素値及び前記複数の補正値に基づいて前記補間位置の画素値を生成する生成手段とを有する。
【発明の効果】
【００２１】
本発明によれば、画像の高画質補間処理としてよく使われる２次元バイキュービック補間のプリミティブな演算である１次元キュービック補間等の補間演算を、乗算器の少ない回路構成で実現することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】一般的な幾何歪み補正処理のブロック図。
【図２】第１の実施形態のキュービック補間演算器の構成を表す図。
【図３】第１の実施形態のキュービック補間演算器を用いてバイキュービック補間演算器の構成を示す図。
【図４】第２の実施形態における６画素参照キュービック補間演算器の構成を表す図。
【図５】第２の実施形態における８画素参照キュービック補間演算器の構成を表す図。
【図６】６画素参照キュービック補間演算器とＬａｎｃｚｏｓ−３のインパルス応答の比較をした図。
【図７】８画素参照キュービック補間演算器とＬａｎｃｚｏｓ−４のインパルス応答の比較をした図。
【図８】第３の実施形態のキュービック補間演算器の構成を表す図。
【図９】第４の実施形態のキュービック補間演算器の構成を表す図。
【図１０】第５の実施形態のキュービック補間演算器の構成を表す図。
【図１１】各実施形態に共通な補間位置と補間演算で参照する画素の関係を表す図。
【図１２】第６の実施形態のキュービック補間演算器の構成を表す図。
【図１３】第６の実施形態のキュービック補間演算器の変形例を表す図。
【図１４】第６の実施形態のキュービック補間演算器の第２の変形例を表す図。
【発明を実施するための形態】
【００２３】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。本実施形態では、小数点以下の値をとる座標位置の画素値を、その周辺の２Ｎ個の整数座標の画素値から補間計算する画素補間回路に適用した例を説明する。
【００２４】
具体的には、画素補間回路に、複数の画素のうち１対の画素の画素値から線形補間によって補間位置の補間画素値を生成する第１の線形補間演算器を設ける。そして、複数の画素の画素値間の複数の差分値のうち、それぞれが１対の差分値から線形補間することで複数の補正値を生成する複数の第２の線形補間演算器を設ける。更に、補間画素値及び複数の補正値に基づいて補間位置の画素値を生成する演算器を設けるものである。
【００２５】
［第１実施形態］
本第１実施形態は、周辺ｎ×ｎ画素の画素値を参照して補間画素を生成する際の補間演算に適用されるものでる。具体的には、垂直または水平軸方向の同一の直線上のｎ画素単位でｎ回行う１段目のキュービック補間と、該ｎ個の補間結果を参照して行う２段目のキュービック補間に適用されるものである。
【００２６】
一般的な４×４画素を参照するバイキュービック補間では、式（１）に基づいて小数点以下の座標位置に対し、参照する画素への荷重係数を各軸方向に４つ、合計８つの係数を計算する。
【数１】
2017215941.tif 000003
ここで、パラメータｓは、補間画素の座標から周辺参照画素までの符号付き距離を表している。座標が増加する方向は＋の符号で、減少する方向は−の符号が付く。また、パラメータａは、補間特性を調整するもので、本文中では「第１の画質調整パラメータ」と呼んでいる。
【００２７】
このように計算すると、｜ｓ｜2や｜ｓ｜3の計算に計１６回の乗算が必要で、パラメータａに関する乗算も２０回あり、８つの係数を計算するだけで合計３６回の乗算が必要である。但し、パラメータａのビット数は一般的に少ないため、この乗算の回路規模は小さい。
【００２８】
該係数を参照画素へ乗算する時、各軸方向に分けて２段階で行う場合、１段階目の係数乗算に１６回、２段階目の係数乗算に４回で計２０回の乗算が必要になる。
【００２９】
トータルで、回路規模の大きな乗算が１６＋２０＝３６回、回路規模の小さな乗算が２０回必要である。
【００３０】
本実施形態は、式（１）に基づくキュービック補間と同等の補間画素を、上記説明とは異なる方法にて計算することにより、乗算回数を減らし回路規模を小さくするものである。
【００３１】
本実施形態のキュービック補間演算では、変換座標（ｘ，ｙ）から整数部を除いた小数部を１次パラメータ（ｔｘ，ｔｙ）とおき、該パラメータに対して、ｔｘ・（１−ｔｘ）とｔｙ・（１−ｔｙ）という２次多項式に基づく２次多項式パラメータを計算する。
【００３２】
計算するパラメータは該２つのみであり、それ以外の主要な演算は前記１次パラメータｔｘまたはｔｙに基づく線形補間の並列演算である。
【００３３】
該２次パラメータの計算と、１次パラメータに基づく線形補間の並列演算は、この明細書に記述される全実施形態に共通する演算である。また、以下に説明する各実施形態において、２次パラメータは計算済みのパラメータとして利用し、その生成方法に関しては省略する。
【００３４】
最初である第１の実施形態では、１次パラメータに基づく線形補間の並列演算により、３つの成分信号を生成する。この第１の実施形態の構成を図２に示す。
【００３５】
本第１の実施形態で参照する４画素や後述する他の実施形態で参照する６画素及び８画素の並び順と、補間位置を表す１次パラメータｔ（補間位置情報）の関係を図１１に示す。ここで画素間の単位距離は“１”とする。よって、１次パラメータｔは０≦ｔ≦１の関係にあると言える。全実施形態において補間位置はＰ3とＰ4の間に定めており、該補間位置に対応する画素値を補間演算により生成する。一般的には、連続して並んだ２Ｎ個の画素におけるＮ番目の画素とＮ＋１番目の画素との間の補間区間内の指定された位置における画素値を補間する。
【００３６】
図２に示すキュービック補間演算器の演算内容をまず式で表現する。１次パラメータ“ｔ”と、２入力｛Ｐi，Ｐj｝を入力とする線形補間演算器の演算を式（２）で表した時、図２に示すキュービック補間演算器の出力Ｐoutは式（３）のように表現できる。
【数２】
2017215941.tif 000004
【数３】
2017215941.tif 000005
【００３７】
ここで参照符号２０１、２０２、２０３は、１次パラメータｔに基づいて、１画素離れた２つの画素間（入力信号間）の線形補間演算を行う線形補間演算器であり、各々で１つの成分を生成する。１次パラメータｔには、ｔｘまたはｔｙが入力される。
【００３８】
線形補間演算器２０１は、入力Ｐ3、Ｐ4に対して、（１−ｔ）・Ｐ3＋ｔ・Ｐ4を計算して出力する。これは、Ｐ3とＰ4を結ぶ直線補間である。実際の演算は乗算が１回で済むよう、線形補間演算器２０１は、Ｐ3＋ｔ・（Ｐ4−Ｐ3）という計算式に基づき演算する。
【００３９】
線形補間演算器２０２，２０３も図示した入力信号に対し、線形補間演算器２０１と同様、乗算回数が１回で済むように計算を行う。なお、図示では、「Ｐ3-Ｐ5」等の、線形補間演算器２０２、２０３への入力信号を生成するための減算器は省略している点に注意されたい。
【００４０】
補間処理前は、整数座標にのみ画素値が定義された離散的な状態であるとすると、線形補間演算器２０１は、離散値Ｐ3とＰ4を直線的につなぐ成分を生成する。すなわち、線形補間演算器２０１は離散的な画素値を連続化する成分を生成すると解釈できる。それに対して、線形補間演算器２０２や２０３は次のように解釈できる。
【００４１】
隣接する画素値を次々と直線的につないでいくと、その波形はデコボコしたものになり、波形の一次微分が整数座標位置で不連続な波形になる。その一次微分を連続化する成分が、線形補間演算器２０２で第２の成分として生成される。
【００４２】
隣接画素間距離を１とすると、Ｐ3からＰ4方向を見た時の第１成分波形の傾きは「Ｐ4−Ｐ3」であり、その傾きを打消す信号は「−（Ｐ4−Ｐ3）」である。同様に、Ｐ4からＰ3方向を見た時の該波形の傾きは「Ｐ3−Ｐ4」であり、その傾きを打消す信号は「−（Ｐ3−Ｐ4）」である。
【００４３】
Ｐ3における傾き打消し信号とＰ4における傾き打消し信号を入力とし、それを１次パラメータｔに基づいて直線的に切換えるのが線形補間演算器２０２である。
【００４４】
該切換えた信号を直接、線形補間演算器２０１の出力に加えると、整数座標における値Ｐ3，Ｐ4が変わってしまうため、ｔ＝０，１において、第２の成分が第１の成分に影響を与えないようにする必要がある。これを以下では、実施形態における「境界条件」と表現する。該境界条件を満たすには、第２の成分に前記２次パラメータを乗算するのが必要十分で合理的な方法である。図１における参照符号２３１は該乗算を行う乗算器である。
【００４５】
さて、パラメータｔに基づく線形補間信号にｔに関する２次パラメータを乗算すると、ｔの３次多項式で表現された信号となる。この特徴は、線形補間演算器２０３で生成される信号にも共通して言える。よって、線形補間演算器２０３で生成した信号にも２次パラメータを乗算するよう、加算器２２１にて第２の成分と第３の成分とを足し合わせ、その後に乗算器２３１で２次パラメータを乗算する構成にした。
【００４６】
ところで、一次微分を連続化しても二次微分はまだ不連続であり、一次微分の連続化の次は二次微分の連続化が期待される。しかし、４画素を参照するだけで二次微分を連続化する成分を生成することは困難である。だが、二次微分の不連続性を緩和することは可能である。線形補間演算器２０３は二次微分の不連続性を緩和する第３の成分を生成するものである。
【００４７】
線形補間演算器２０３における入力信号の特徴は、Ｐ4を基点に左右へ１画素ずつ離れたＰ3とＰ5の差分信号と、Ｐ3を基点に右左へ１画素ずつ離れたＰ4とＰ2の差分信号である。
【００４８】
第１の成分と第２の成分の和は、必ず補間区間の両端の画素値Ｐ3とＰ4の範囲内に収まる性質があるが、第３の成分を加えると該範囲を超えることがある。すなわち、第３の成分は、該成分の振幅を調整することにより階調差を強調したり、その逆の効果を出すことができ、画質を調整することが出来る。該第３成分の振幅を調整するために乗算器２１１にて前記第１の画質調整パラメータＫａを乗算する。このパラメータの値は、８／１６〜３１／１６の範囲で十分であり、５ビット程度の係数の乗算器でよい。
【００４９】
本第１の実施形態のキュービック補間演算が、式（１）に基づくキュービック補間と数学的に等価になることは、Ｋａ＝−ａと置いて式を変形すれば確認できる。
【００５０】
以上に説明した４画素参照のキュービック補間演算器を５つ使って、４行×４列の１６画素（Ｐ00〜Ｐ33）をバイキュービック補間処理する構成を図３に示す。ここで画素Ｐijの座標を（ｘi，ｙj）、補間画素の座標を（ｘ，ｙ）とする。図３に示す構成は、４列の画素データの各列を４つのキュービック補間演算器３０１〜３０４で並列に処理する。そして、得られた４つの補間結果をキュービック補間演算器３０５にて行方向にキュービック補間して、座標（ｘ，ｙ）の補間結果を得る構成である。並列処理する４つのキュービック補間演算器３０１〜３０４には、それぞれ同じパラメータ（図示のｔｙ、ｔｙ・（１−ｔｙ）、Ｋａ)が供給される。該構成でパイプライン処理すれば、１サイクル毎にバイキュービック補間演算した画素を生成することが出来る。また、４行×４列の１６画素の各行を並列に処理し、補間画素と同じ水平位置である４つの座標位置の補間結果を得て、得られた結果を列方向に補間するようにしてもよい。
【００５１】
［第２の実施形態］
基本周期のｓｉｎｃ関数（補間関数ともいう）に超周期のｓｉｎｃ関数を窓関数として掛けた補間フィルタがある。Ｌａｎｃｚｏｓ補間と言われているフィルタである。キュービック補間は、このＬａｎｃｚｏｓ補間の近似と言われている。
【００５２】
Ｌａｎｃｚｏｓフィルタで拡大補間処理する場合、一軸方向の参照画素数を２ｎとすると、Ｌａｎｃｚｏｓ−ｎのフィルタを用いる。一般的に使われるのは６画素を参照するＬａｎｃｚｏｓ−３である。それに対しキュービック補間は４画素参照が基本である。
【００５３】
キュービック補間の参照画素数を６画素へ拡張するための前記式（１）の荷重係数の計算に対応する式が論文には発表されており、原理的には６画素へ拡張することは可能である。しかしながら、具体的な回路構成を示した資料は今のところ見当たらない。４画素参照に比べ、６つの荷重係数の計算がさらに複雑になるため、あまり実用的ではないと考えられる。
【００５４】
ところが、本実施形態は、一軸方向のキュービック補間の参照画素数を６画素、８画素へと容易に拡張することが出来る。６画素参照のキュービック補間の回路構成を図４に、８画素参照のキュービック補間の回路構成を図５に示す。
【００５５】
本実施形態による拡張の妥当性は、キュービック補間がＬａｎｃｚｏｓ補間の近似であるということを根拠として、本実施形態のキュービック補間がＬａｎｃｚｏｓ補間にどれだけ近い特性を実現できているかという点で判断できる。
【００５６】
まずは、拡張の考え方を説明し、その後に、Ｌａｎｃｚｏｓ補間の特性にどれだけ近いかを示す。拡張にあたっての３つの基本的な考え方を（１）乃至（３）に示す。
（１）新たな信号成分は、前記境界条件を満たすように前記２次パラメータを乗算する。
（２）新たな信号成分は、３次多項式となるよう初段に線形補間演算を行う。
（３）第３の線形補間演算器の入力信号の形態を踏襲し、Ｐ3及びＰ4を基点に左右に等距離だけ離れた２画素間の差分信号を、上記線形補間演算へ入力する。
【００５７】
図４に示す６画素参照のキュービック補間演算器では、並列に動作する第４の線形補間演算器２０４を設け、該演算器へ入力する２つの画素間差分信号を次のように計算する。
【００５８】
１つは、Ｐ4画素を基点に左右へ２画素分離れた２つの画素間の差分「Ｐ2−Ｐ6」であり、もう１つは、Ｐ3画素を基点に右左へ２画素分離れた２つの画素間の差分「Ｐ5−Ｐ1」である。これらを第４の線形補間演算器２０４に入力して線形補間演算し、該出力に第２の画質調整パラメータＫｂを乗算して、加算器２２２にて他の信号と合算した後に前記２次パラメータを乗算する。
【００５９】
また、図５に示す８画素参照のキュービック補間演算器では、図４の６画素参照のキュービック補間演算器へ、さらに並列に動作する第５の線形補間演算器２０５を設け、該線形補間演算器２０５へ入力する２つの画素間差分信号を次のように計算する。
【００６０】
１つは、Ｐ4画素を基点に左右へ３画素分離れた２つの画素間の差分「Ｐ1−Ｐ7」であり、もう１つは、Ｐ3画素を基点に右左へ３画素分離れた２つの画素間の差分「Ｐ6−Ｐ0」である。これらを第５の線形補間演算器２０５に入力して線形補間演算し、該出力に第３の画質調整パラメータＫｃを乗算して、加算器２２３にて他の信号と合算した後に前記２次パラメータを乗算する。同様に、基点から左右に同じ画素数だけ離れた、２，４，…，２・（Ｎ−１）画素だけ離れた画素の画素値間の差分を用いて、参照する画素を更に拡張することも容易にできる。
【００６１】
以上で説明した図４及び図５に示すキュービック補間演算器の各々の出力Ｐoutを数式で表現すると、式（４）、式（５）のようになる。
【数４】
2017215941.tif 000006
【数５】
2017215941.tif 000007
【００６２】
図４に示す６画素参照のキュービック補間において、２つの画質調整パラメータを、Ｋａ＝１４／１６，Ｋｂ＝−３／１６に設定した時のインパルス応答を、Ｌａｎｃｚｏｓ−３と比較したのが図６に示す波形である。
【００６３】
また、図５に示す８画素参照のキュービック補間において、３つの画質調整パラメータを、Ｋａ＝３１／３２，Ｋｂ＝−１２／３２，Ｋｃ＝３／３２に設定した時のインパルス応答を、Ｌａｎｃｚｏｓ−４と比較したのが図７に示す波形である。
【００６４】
画質調整パラメータ群を適切に設定すると、Ｌａｎｃｚｏｓ−３、Ｌａｎｃｚｏｓ−４に近い補間フィルタ特性を実現できることが分かる。さらに、実際の使用にあたっては、該パラメータ値を基にして、画質を確認しながらパラメータを調整してシステムに最適化することが可能である。
【００６５】
Ｌａｎｃｚｏｓ補間フィルタは参照画素数に対応してフィルタ係数が一意に決まり、画質調整を行うことが出来ないのに対して、本第２の実施形態のキュービック補間なら容易に画質調整が可能であり、これは大きな利点である。
【００６６】
［第３の実施形態］
上記第１の実施形態は、画素補間演算の基本的な考え方を直接回路化したものであるため、最も分かり易い構成になっている。
【００６７】
第３の実施形態は、第１の実施形態の計算式を少し変形して、第１の実施形態と等価な演算を、より少ない乗算器で実現するものである。
【００６８】
具体的には、第１の線形補間演算器２０１の内部演算結果を利用することによって、第２の線形補間演算器２０２を使わずに、第２の成分を生成する。具体的な構成を図８に示す。
【００６９】
図２における第２の線形補間演算器２０２は、「−（Ｐ4−Ｐ3）」と「−（Ｐ3−Ｐ4）」をパラメータｔに基づいて線形補間するもので、その演算結果は、「（２ｔ−１）・（Ｐ4−Ｐ3）」と表せる。
【００７０】
第１実施形態にて、第１の線形補間演算器２０１の実際の演算は、乗算が１回で済むよう、「ｔ・（Ｐ4−Ｐ3）＋Ｐ3」という計算式で演算する、と述べた。
【００７１】
該演算の過程で、第１の線形補間演算器２０１が「（Ｐ4−Ｐ3）」と「ｔ・（Ｐ4−Ｐ3）」を計算するのは明らかであり、この内部演算の信号を利用することができる。シフト演算器３０１により、後者「ｔ・（Ｐ4−Ｐ3）」を２倍、すなわち左へ１ビットシフトして、減算器３０２により「（Ｐ4−Ｐ3）」を減算すれば、「（２ｔ−１）・（Ｐ4−Ｐ3）」を得ることができる。よって、乗算器を有する第２の線形補間演算器を使わなくても済む。
【００７２】
本第３の実施形態で示した構成は、第２の実施形態や次に説明する第４の実施形態にも適用できる。
【００７３】
［第４の実施形態］
前記第１、第２の実施形態における、第３の線形補間演算器２０３の入力は、２画素離れた画素間の差分値であり、第４の線形補間演算器２０４の入力は、４画素離れた画素間の差分値であった。これらは、いずれも画素間差分、すなわち一次微分をとる２画素の距離を変えただけであると言える。
【００７４】
このような構成は、ｎ画素参照のキュービック補間演算器をｎ＋２画素参照のキュービック補間演算器に拡張する際に、その構成上の差分を最小にするのに適している。しかし、各線形補間演算器の入力は、第１、第２の実施形態の形態に限定されるものではない。
【００７５】
例えば、第２の線形補間演算器の入力を参照画素値の一次微分信号と解釈し、第３の線形補間演算器へ参照画素値の二次微分信号を入力し、第４の線形補間演算器へ参照画素値の三次微分信号を入力することも可能である。そうすると、各線形補間演算器で生成する信号成分の意味付けも変わってくる。
【００７６】
具体的には、図９に示すように第３の線形補間演算器２０３に、二次微分信号として、（Ｐ4−Ｐ5）−（Ｐ3−Ｐ4）＝２・Ｐ4−Ｐ3−Ｐ5と、（Ｐ3−Ｐ2）−（Ｐ4−Ｐ3）＝２・Ｐ3−Ｐ4−Ｐ2とを入力する。
【００７７】
そして、第４の線形補間演算器２０４に、三次微分信号として、（２・Ｐ5−Ｐ6−Ｐ4）−（２・Ｐ3−Ｐ4−Ｐ2）＝Ｐ2−２・（Ｐ3−Ｐ5）−Ｐ6と、（２・Ｐ2−Ｐ1−Ｐ3）−（２・Ｐ4−Ｐ3−Ｐ5）＝Ｐ5−２・（Ｐ4−Ｐ2）−Ｐ1とを入力する。
【００７８】
この場合、各成分の振幅を調整するパラメータは、第１、第２の実施形態とは異なる別のパラメータＲ1，Ｒ2，Ｒ3を乗算する。具体的な値として、Ｒ1＝０，Ｒ2＝８／１６，Ｒ3＝−３／１６に設定すると図６に示すインパルス応答特性、すなわちＬａｎｃｚｏｓ−３に近い特性になる。
【００７９】
［第５の実施形態］
図４の構成では、前記二次パラメータを乗算する前の線形補間演算器は３つあるが、これらは１つにまとめることができる。
【００８０】
パラメータｔに基づく線形補間演算、画質調整パラメータの乗算、加算処理は、どれも線形演算であるため、演算順序を交換することができる。そこで、線形補間演算を加算処理の後に移動し、処理順序を、画質調整パラメータの乗算、加算処理、線形補間演算に変更する。
【００８１】
これにより、複数の線形補間演算を１つにまとめることができ、図１０に示す構成にすることが可能である。図１０において、演算器５０１と５０２は、入力信号に重み付けをして加算する重み付け加算器であり、演算器５０３が１つにまとめた線形補間演算器である。それ以外は、第２の実施形態の図４と同じである。
【００８２】
入力信号に対する重み付けは、第２の実施形態の図４における画質調整パラメータＫａ，Ｋｂを反映したもので、図１０の構成は、図４の構成と機能的に等価である。
【００８３】
また、図５に示す８画素参照キュービック補間にも、本第５の実施形態の手法を適用することができる。すなわち、重み付け加算器５０１と５０２を、８画素入力に拡張し、画質調整パラメータＫｃを反映した重み付けを行えばよい。
【００８４】
［第６の実施形態］
これまでに説明した３つのキュービック補間式、式（３）〜（５）における、画素間の差分信号の線形補間演算は、差分演算と線形補間演算の順序を入れ替えることで、画素間の線形補間信号の差分演算に置き換えることができる。この時、線形補間は画素の添え字の和が７となる２画素をペアとした画素間で行うようにする。これは補間区間（実施形態では画素Ｐ３とＰ４の間）を中心に対称位置関係にある２画素間で線形補間演算を行うためである。
【００８５】
上記の演算順序の入れ替えを、式（３）、式（４）、式（５）に適用すると、これらは次式（６）、式（７）、式（８）のように変形できる。
【数６】
2017215941.tif 000008
【数７】
2017215941.tif 000009
【数８】
2017215941.tif 000010
【００８６】
式（６）と（７）は、式（８）の一部を切り出した形になっている。そこで、代表して式（８）の演算回路の構成を図１２に示す。同図において、参照符号６０１〜６０７は線形補間演算器、参照符号６１１〜６１７は減算器であり、それ以外の構成要素は、第２の実施形態の図５における同一参照符号の構成要素と同じである。
【００８７】
式（８）をそのまま単純に演算回路化すると、線形補間演算器の数が４個から７個へ２倍弱に増加してしまうことが図１２の構成から分かる。この構成のままでは、線形補間演算器で使う乗算器の数が増加することになるため、回路規模も大きくなってしまう。
【００８８】
ところで、画素Ｐ4とＰ3を入力とする線形補間と、該入力を相互に交換したＰ3とＰ4の線形補間とを加算した結果は、補間位置に依らずＰ3＋Ｐ4に一定という関係がある。この関係を利用して乗算器を削減したキュービック補間演算の回路構成を以下に示す。
【００８９】
ここで、線形補間演算器の２入力を相互に交換する前と交換した後の２つの線形補間値を線形補間対と表現し、該線形補間対を演算する演算部を線形補間対演算部と表現する。
【００９０】
図１２において、線形補間演算器６０１と６０２、６０３と６０４、６０５と６０６の３対が線形補間対演算部となっている。
【００９１】
各線形補間対演算部は、次に示す式（９）のように演算すると乗算を２回から１回に減らすことができる。また、２つの式の右辺を加算するとＰi＋Ｐjになることが分かる。
【数９】
2017215941.tif 000011
【００９２】
上記のように計算すると、ｔを乗算した項の演算までを共通化でき、その後に加算と減算を各々１回行うだけで、該線形補間対を演算することができる。そして、通常の線形補間演算器に減算器を１つ追加しただけの回路規模で線形補間対を演算し生成することができるため大変効率的である。
該演算部を線形補間対演算器という１つの演算器として表現し直したのが図１３に示す構成である。同図における、参照符号６２１，６２２，６２３の３つは、式（９）の演算を行う線形補間対演算器である。
【００９３】
上記式（９）は次に示す式（１０）のように計算してもよい。
【数１０】
2017215941.tif 000012
この場合、２つ目の式の符号が式（９）と反転した関係になる。式（１０）の演算を行う線形補間対演算器を用いた場合は、減算器６１１〜６１４を加算器に置き換えれば、図１３の構成と等価になる。
【００９４】
さらに、画質調整パラメータ乗算器２１１〜２１３で乗算するパラメータの符号を反転した場合、減算器６１５〜６１７も加算器に置き換える必要がある。
【００９５】
このように減算器６１１〜６１７は、前段の演算やパラメータの符号の取り方によって、加算器に置き換える類のものであり、演算回路全体がキュービック補間演算として機能するように演算器の種類を定める必要がある。
【００９６】
一例として、式（１０）の演算を行う線形補間対演算器６３１を用いて式（６）の補間演算を行う４画素参照のキュービック補間演算回路の構成を図１４に示す。同図において、加算器６４１，６４２は図１３における減算器６１１，６１２を置き換えたものである。
【００９７】
第１、第２の実施形態の構成では、線形補間演算に要する乗算器の数をさらに減らすには、第３の実施形態の技術を併用する必要があった。一方、式（８）と式（９）に基づく本第６の実施形態の図１３の構成は、第２の実施形態に第３の実施形態を併用した時の乗算器の数と同じになる。
【００９８】
以上では、キュービック補間、それを２次元画素に適用したバイキュービック補間を、ハードウェアによる実現方法について詳しく説明したが、全ての演算はソフトウェア処理に置き換えることが可能である。この場合、情報処理装置などの装置の制御を司るプロセッサは、そのソフトウェアを実行した場合、各実施形態で示したブロック図における演算器等を関数やプロシージャとして実行することになる。従って、本発明は、ソフトウェアの演算によるキュービック補間演算方法としても利用できる。
【００９９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１００】
２０１，２０２，２０３，２０４，２０５，５０３…線形補間演算器、３０１，３０２，３０３，３０４，３０５…キュービック補間演算器、２１１，２１２，２１３…画質調整パラメータ乗算器、２３１…２次パラメータ乗算器、６０１，６０２，６０３，６０４，６０５，６０６，６０７…・線形補間演算器、６２１，６２２，６２３，６３１…線形補間対演算器
【図１】
2017215941.tif 000013
【図２】
2017215941.tif 000014
【図３】
2017215941.tif 000015
【図４】
2017215941.tif 000016
【図５】
2017215941.tif 000017
【図６】
2017215941.tif 000018
【図７】
2017215941.tif 000019
【図８】
2017215941.tif 000020
【図９】
2017215941.tif 000021
【図１０】
2017215941.tif 000022
【図１１】
2017215941.tif 000023
【図１２】
2017215941.tif 000024
【図１３】
2017215941.tif 000025
【図１４】
2017215941.tif 000026