(57)【要約】【課題】  高精度なデータ補間演算を、小規模な回路で実現する。【解決手段】  画像処理装置に、データ補間装置に、複数の参照データについて所定階までの階差データを計算する階差計算手段と、前記参照データ及び前記階差データの一部として得られる前進差分パラメータの前進ステップ幅が小さくなるように調整する調整手段と、該調整手段による調整後の前進差分パラメータに基づいて前進加算演算を行って、前記複数の参照データに対する補間データを求める演算手段とを備える。【選択図】  図４
2018120536.tif 000002
【特許請求の範囲】
【請求項１】
複数の参照データについて所定階までの階差データを計算する階差計算手段と、
前記参照データ及び前記階差データの一部として得られる前進差分パラメータの前進ステップ幅が小さくなるように調整する調整手段と、
該調整手段による調整後の前進差分パラメータに基づいて前進加算演算を行って、前記複数の参照データに対する補間データを求める演算手段と
を有することを特徴とするデータ補間装置。
【請求項２】
前記複数の参照データの数はｎ＋１個であり、前記階差計算手段は、第１階差から第ｎ階差までの階差データを計算することを特徴とする請求項１に記載のデータ補間装置。
【請求項３】
前記複数の参照データは１軸上に並んだ４つの格子点に対応しており、前記補間データは、該４つの格子点の中２つの格子点の間の位置に対応することを特徴とする請求項１に記載のデータ補間装置。
【請求項４】
前記複数の参照データは、特定の複数の座標の変換座標であり、前記補間データは、当該特定の複数の座標の間の座標の変換座標であることを特徴とする請求項１に記載のデータ補間装置。
【請求項５】
前記演算手段は、前進加算演算を行うごとに１つ進んだ座標の変換座標を求め、該前進加算演算を繰り返すことで目的の座標の変換座標を求めることを特徴とする請求項１に記載のデータ補間装置。
【請求項６】
前記調整手段は、前記前進差分パラメータを予め定められた行列により変換することで細分化することを特徴とする請求項１に記載のデータ補間装置。
【請求項７】
２次元に配置されたＮ×Ｍ個の格子点に対応する参照データを参照し、中心部の２×２個の格子点領域内を垂直方向と水平方向に補間する装置であって、
垂直方向のＮ個の参照データごとに、データ補間を行う第１の補間手段と、
前記垂直方向にデータ補間したＭ個の結果に対し、請求項１に記載のデータ補間装置を用いて水平方向にデータ補間を行う第２の補間手段と
を有することを特徴とするデータ補間装置。
【請求項８】
前記第１の補間手段は、
複数の参照データについて所定階までの階差データを計算する階差計算手段と、
該参照データと階差データの一部をパラメータとする補間多項式を計算する手段と
を有することを特徴とする請求項７に記載のデータ補間装置。
【請求項９】
画像を幾何変換する画像処理装置であって、
画像を記憶した画像記憶手段と、
特定の複数の座標に対して前記幾何変換による変換座標を記憶した座標記憶手段と、
前記特定の複数の座標のうち対象とする座標の近くにある複数の座標の変換座標を前記座標記憶手段から読み出して請求項１に記載のデータ補間装置により補間して、当該対象とする座標の変換座標を求める座標変換手段と、
前記画像記憶手段に記憶された画像において前記対象とする座標に対応する画素を、前記座標変換手段により求めた変換座標に対応づけることで、前記画像を幾何変換する変換手段と
を有することを特徴とする画像処理装置。
【請求項１０】
複数の参照データについて所定階までの階差データを計算する階差計算工程と、
前記参照データ及び前記階差データの一部として得られる前進差分パラメータの前進ステップ幅が小さくなるように調整する調整工程と、
該調整手段による調整後の前進差分パラメータに基づいて前進加算演算を行って、前記複数の参照データに対する補間データを求める演算工程と
を有することを特徴とするデータ補間方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の幾何変換における座標変換などのためのデータ補間技術に関するものである。
【背景技術】
【０００２】
画像の階調を補正する補正関数や画像の形状を補正・変形する幾何変換関数は、画像の座標位置を変数とする大域関数や局所関数によって近似することができ、その多くは多項式や射影変換のような有理多項式で表現される。局所関数で近似できる場合でも、その局所関数の適用領域をきちんと定めて、局所関数を領域境界で切り換えるのは困難である。そこで局所関数値をある画素間隔の格子点で評価した値をルックアップテーブル（以下、ＬＵＴと略す）に保持し、このＬＵＴから読み出した格子点の関数値を補間して、補正値や変形値として用いるのが一般的である。
【０００３】
ＬＵＴに格納するデータは実時間で計算する必要がないため、複雑な演算を要する高次の多項式や各種関数を用いてなるべく高精度に計算する。それに対し、ＬＵＴから読み出したデータの補間処理は実時間で行う必要があるため、特許文献１に記載されているように線形補間を行うのが一般的である。
【０００４】
線形補間よりも補間の精度を上げるために、高次の多項式で補間しようとすれば、乗算や加算を何回も行う必要がある上に、多項式の係数を実時間で計算する必要があるため、かなり大きな回路規模になってしまう。処理する信号の周波数帯域が映像の１／１０００倍程度の音響機器の場合、標本値１つを処理するのに数百倍以上の時間を費やすことができるため、１つの加算器と乗算器を何十回、何百回も使って、複雑な演算処理を行なうことができる。特許文献２では、頭部の音響伝達特性を計算するために、スプライン補間やニュートン補間といった多項式ベースの補間処理を行っている。
【０００５】
それに対し、映像機器の場合、画素レートと演算回路の動作周波数とがほぼ同じであり、画素毎に演算を行うは、演算式に現れる乗算回数と同じだけの乗算器が必要になる。近年８Ｋ×４Ｋサイズの映像が登場し、演算回路の動作周波数より画素レートの方が高い状況では演算回路を並列駆動する必要があり、さらに回路規模が大きくなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５４１０２３２号公報
【特許文献２】特開平９−８９６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＬＵＴの格子点間の補間の精度を上げるために、高次の多項式で補間しようとすると、多くの格子点データを参照して補間多項式を作る演算部と、該多項式を計算するための乗算器を備えた多項式計算部とが必要である。そして、２次元画像の全座標データを、ＬＵＴに格納した変換座標データに基づいて実時間で高次補間して高精度な幾何変換を行う場合、２次元座標を２軸方向に補間する必要がある。このため、多項式計算部が４つ必要となり、補間処理部は大変規模の大きな回路になってしまう。
【課題を解決するための手段】
【０００８】
本発明の１態様によれば、データ補間装置に、複数の参照データについて所定階までの階差データを計算する階差計算手段と、前記参照データ及び前記階差データの一部として得られる前進差分パラメータの前進ステップ幅が小さくなるように調整する調整手段と、該調整手段による調整後の前進差分パラメータに基づいて前進加算演算を行って、前記複数の参照データに対する補間データを求める演算手段とを備える。
【発明の効果】
【０００９】
本発明によれば、高精度なデータ補間演算を、小規模な回路で実現できるようになる。
【図面の簡単な説明】
【００１０】
【図１】幾何変換装置の構成図である。
【図２】４つの参照データと補間区間の位置関係を表わす図である。
【図３】第１実施形態の補間処理方法の処理手順を表すフローチャートである。
【図４】第１実施形態の補間処理装置の構成を表わす図である。
【図５】第１実施形態の補間処理装置の構成を表わす図である。
【図６】第２実施形態の補間処理装置の構成を表わす図である。
【図７】第２実施形態の補間処理装置を変形した構成を表わす図である。
【図８】第３実施形態の補間処理装置の構成を表わす図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【００１２】
図１は、画像に幾何変換を施す画像処理装置の構成を示した図である。変換座標保持部１０１に保持された特定の格子点に対する幾何変換座標を座標記憶部であるＬＵＴ１０２に記憶しておく。入力された変換対象画素の整数座標の上位ビットから対象画素の座標の前後の格子点の変換座標をＬＵＴ１０２から求め、求めた変換座標を変換対象画素の整数座標の下位ビットにより補間して対象画素の変換座標を求める。画像記憶部である画像メモリ１１１に保存された変換前の画像データから、求めた変換座標の整数部に対応する画素データを読み出し、読み出した画素データを変換座標の小数部に基づいて画素補間部１１２により補間する。画像メモリ１１３に対して変換対象画素の整数座標の位置に、補間により得られた画素データを書き込むことで、幾何変換された画像データが画像メモリ１１３に保存される。
【００１３】
本実施形態では、補間演算部１０３において、ＬＵＴ１０２に格納した離散的な幾何変換座標値を２×２より多く参照する。以下では、これにより、高次補間のパラメータを算出し、座標のスキャン方向に対して１画素毎の変換座標を高次補間で生成するデータ補間方法について説明する。
【００１４】
多項式を等間隔で評価した標本値から、同じ間隔で継続して評価するのに有効な、前進差分法という手法がある。前進差分法では、乗算を行うことなく加算演算のみで、等間隔の離散的な変数値に対する多項式の値を逐次計算することが可能である。例えば、特開２０１４−１４２９１７号公報では、高い精度で画像を補正するために、座標を変数とする多項式で画像補正量を近似した概略の補正多項式を画像全体で定め、機器の使用状況に応じてライン毎に補正多項式を調整できるようにしている。そして、調整した補正多項式に基づいて前進差分法における演算の初期値を計算し、補正多項式と同じ値を、加算演算のみで逐次計算している。但し、補間演算をしているわけではないため、この演算を一般的な補間処理に使うことはできない。本明細書で使用する用語を定義するために、この手法の概要を述べる。
【００１５】
等間隔のｎ＋１個の複数の参照データから、第１、第２、・・・第ｎ階差を計算し、参照データと各階差の先頭データを取り出し、該データを係数とするニュートン補間多項式を構成する。該多項式の変数に０〜ｎを代入すると、元のｎ＋１の参照データが再現されるため、該多項式は参照データを全て通過する多項式であることが分かる。
【００１６】
前進差分法では、参照データと各階差の始点側の一連の一組のデータ（以下ではこれを「前進差分パラメータ」と言う）があれば、該パラメータを生成した減算と逆の加算を次々と行う（以下ではこれを「前進加算演算」と言う）。これにより、元の参照データを再現できる。この時、乗算を一切行なうこと無く、等間隔刻みで補間多項式の離散値を逐次計算していくことができる。類似する手法で後退差分法というものがあるが、ここでは説明を省略する。後退差分法を知る当業者であれば、この考え方は前進差分法のみならず、後退差分法にも同様に適用できることが実施形態から容易に理解できよう。
【００１７】
さらに関連する重要な技術に、曲線レンダリング技術として知られる「適応前進差分法」というものがある。適応前進差分法では、前進差分演算における演算座標値の間隔を細かくすることができる。例えば、特許第２７４１０３３号公報には、パラメトリック曲線をレンダリングするための技術を記載している。この文献では、曲線中の離散座標値を計算する際の該座標値の間隔をレンダリング解像度に適応させるために、前進差分演算のパラメータを適宜調整することが説明されている。
【００１８】
ここで行われる演算座標値の間隔を細分化する方法は、幾何変換座標を連続して補間演算する際の間隔を調整する技術として有効である。但し、パラメトリック曲線の始点と終点を除いた座標情報は、曲線が通過する点の座標ではなく、曲線の形状を制御する制御点の座標である。そのため、座標情報からレンダリング座標を生成する一連のフローは、幾何変形における座標補間とは大きく異なり、この曲線レンダリング技術を補間処理に利用することはできない。
【００１９】
レンダリングでは表示デバイスの解像度（ＤＰＩ：Ｄｏｔ  Ｐｅｒ  Ｉｎｃｈ）に応じて、多項式表現された曲線の座標を細かく生成する必要があり、前記前進差分パラメータの前進ステップを適宜最適な値に調整する。
【００２０】
すなわち、座標間距離が１ドット以上離れると生成する曲線座標が連続せずに、曲線がかすれたように見えてしまうため、座標間距離が１ドット以下になるように前進ステップを小さくする。逆に座標間距離が１／２未満になると必要以上に細かく曲線座標を生成することになるため、前進ステップを大きくする。このように座標間距離を１／２以上１ドット以下になるように適宜調整するのが「適応前進差分法」である。前進差分パラメータの前進ステップを小さくする際に、後述する式（１）のパラメータを細分化する行列で３次のパラメータを変換する。該変換により前進ステップを半分に小さくすることができる。これにより、前記参照データの間のデータを補間生成することができるようになる。
【００２１】
本実施形態における前進差分パラメータの変換には細分化のための式（１）のみを用い、式（１）を繰り返し適用した変換を前進加算演算の前段においてのみ行う。それに対し、レンダリングではパラメータを逆細分化する必要もあるため、式（１）の逆変換を行う必要もある。そして、それら細分化と逆細分化は前進加算演算の途中で適宜行う必要がある。それ故に、本実施形態とレンダリングでは座標計算を最も効率的に行うための前進加算演算部の構成も違ってくる。すなわち、本実施形態における適応前進差分法の活用方法はレンダリング技術における利用方法とは異なる。
【００２２】
以下の実施形態において、ＬＵＴから読み出した変換座標データから、データ間の補間座標列を生成するための一連の工程と、該処理を実時間で行なうための回路構成を示す。
【００２３】
（第１の実施形態）
画像の幾何変換における座標補間は、ｘ軸とｙ軸の２軸に対して行う必要があるが、各軸の補間を分離して行うことができるため、補間方法を説明する最小単位は１軸でよいと言える。よって、以下では１軸方向の補間演算の方法と装置について詳細に述べる。具体的に、１軸上に等間隔に並んだ４つの格子点の変換座標を参照して、中２つの格子点の間の位置の変換座標を３次補間した座標値を逐次的に計算する方法について説明する。
【００２４】
図２に示すＰ０，Ｐ１，Ｐ２，Ｐ３は、画像上で１６画素間隔の画素の座標位置を表わし、各々の座標の幾何変換後の座標値（ｘ０，ｙ０），（ｘ１，ｙ１），（ｘ２，ｙ２），（ｘ３，ｙ３）が順にＬＵＴに保持されているものとする。ここで座標補間をする区間はＰ１とＰ２の間の区間である。これらの変換後の座標値をＬＵＴから読み出し、ｘ０，ｘ１，ｘ２，ｘ３を４点一組の参照データとし、ｙ０，ｙ１，ｙ２，ｙ３をもう一組の参照データとする。計２組の参照データは各々独立に同じ補間処理を行う。座標補間をする区間は、各々ｘ１とｘ２の間の区間とｙ１とｙ２の間の区間になる。
【００２５】
以下では、図３に示す処理フローに則り、参照データｘ０，ｘ１，ｘ２，ｘ３に対する補間処理を説明する。まず、ステップＳ３０１にて、４つの参照データｘ０，ｘ１，ｘ２，ｘ３を、変換後の座標を保持したテーブルから読み出し、処理変数に代入する。
【００２６】
次に、ステップＳ３０２にて、参照データの所定階までの階差データ（ここでは、第１階差、第２階差、第３階差）を計算する。参照データを第０階差とすると、第ｍ階差は第ｍ−１階差の２データ間の差分演算で得られる。すなわち、４つの参照データｘ０，ｘ１，ｘ２，ｘ３に対し、第１階差はｘ１−ｘ０，ｘ２−ｘ１，ｘ３−ｘ２の３つである。また、第２階差は（ｘ２−ｘ１）−（ｘ１−ｘ０）と（ｘ３−ｘ２）−（ｘ２−ｘ１）の２つ、第３階差は（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））のみとなる。
【００２７】
ステップＳ３０３では、上記の参照データと各階差から１つずつデータを取り出して、前進差分パラメータとする。数学の教科書に記載されている一般的な前進差分パラメータは、端点であるｘ０を基点とする。前進差分パラメータとして、参照データからｘ０、第１階差からｘ１−ｘ０、第２階差から（ｘ２−ｘ１）−（ｘ１−ｘ０）、第３階差から（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））を取り出す。
【００２８】
上記のパラメータから目的とする補間区間の補間値を計算することも可能ではあるが、本実施形態では、以降の処理が簡易になるよう、ｘ１を基点とする前進差分パラメータを求める。すなわち、参照データからｘ１、第１階差からｘ２−ｘ１、第２階差から（ｘ３−ｘ２）−（ｘ２−ｘ１）を取り出す。３次多項式補間の場合、第３階差はどの参照データを基点にしても変わらないため、上記と同じ第３階差を取り出す。
【００２９】
取り出した前進差分パラメータは［ｘ１、ｘ２−ｘ１、（ｘ３−ｘ２）−（ｘ２−ｘ１）、（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））］と表わせる。該パラメータは元の参照データを復元できる情報を有している。具体的にその一例を示す。
【００３０】
前進差分パラメータ［ｘ１、ｘ２−ｘ１、（ｘ３−ｘ２）−（ｘ２−ｘ１）、（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））］を１つずつ左へずらす。得られた［ｘ２−ｘ１、（ｘ３−ｘ２）−（ｘ２−ｘ１）、（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））、０］をベクトル加算する。これにより、［ｘ２、ｘ３−ｘ２、２（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））、（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））］となる。
【００３１】
該演算は最終ステップＳ３０６で行う前進加算演算と同じであるが、前進ステップが１であるため補間値の計算はまだできない。前進加算演算を１回行うとｘ１がｘ２へ推移し、もう１回行うとｘ２がｘ３へ推移して、参照データが復元される。また前記取り出したパラメータは、数値計算の教科書に記載されているように、ニュートンの前進差分補間多項式の係数になっており、該係数を用いた補間多項式の変数に補間位置（０から１の間の数値）を代入すれば、補間座標を計算できる。本実施形態では、該計算結果と同じ補間座標を、乗算演算を使わずに計算する。
【００３２】
ステップＳ３０３で取り出したパラメータは、前進ステップが１であるため、座標を計算する間隔は格子点間隔と同じであり、１６画素毎の座標値しか計算できない。すなわち、そのまま前進加算演算を１回行なうと、図２においてＰ１からＰ２へ直接移ってしまうため、補間区間の途中の変換座標をまったく得ることができない。
【００３３】
そこで、ステップＳ３０４にて前進差分パラメータの前進ステップが変換前の座標の１画素刻みとなるように前進差分パラメータを細分化して調整する。この細分化には、特許文献４に記載されている下記の式（１）の４×４行列を用いる。
【００３４】
【数１】
2018120536.tif 000003
前進差分パラメータを上記行列で１度変換する毎に、前進ステップを半分にすることができる。よって、４回変換すれば、１６／２＾４＝１となり、前進ステップを１６画素から１画素に細分化することができる。
【００３５】
ステップＳ３０５では、調整後のパラメータを前進加算演算の初期値として演算変数に代入し、ステップＳ３０６にて前進加算演算を繰り返し行う。ここでは、１回の前進加算演算を行う毎に、１画素移動した位置の変換座標を得ることができる。よって、図３の処理フローにより、図２のＰ１からＰ２までの全座標位置における幾何変換後の座標を３次補間で得ることができる。
【００３６】
次に、図３の処理フローに対応する補間演算回路の全体構成を図４（Ａ）に示す。補間演算部４００は、階差計算部４０１、前進差分調整部４０２、前進加算演算部４０３の３つから成り、各々の詳細を、図４（Ｂ）、図５（Ａ）、図５（Ｂ）に示す。
【００３７】
図４（Ｂ）に示す階差計算部４０１は、４つの参照データをレジスタ４１１で保持し、該参照データに対して３つの第１階差を、減算器４１２、４１３、４１４にて計算する。
【００３８】
４つの参照データｘ０，ｘ１，ｘ２，ｘ３に対し、該３つの減算器は、各々ｘ１−ｘ０，ｘ２−ｘ１，ｘ３−ｘ２を計算する。次に、該３つの第１階差から２つの第２階差、（ｘ２−ｘ１）−（ｘ１−ｘ０）と（ｘ３−ｘ２）−（ｘ２−ｘ１）を減算器４１５と４１６にて計算する。最後に、２つの第２階差から第３階差、（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））を減算器４１７にて計算する。
【００３９】
上記の参照データ、第１階差、第２階差、第３階差のｘ１、ｘ２−ｘ１、（ｘ３−ｘ２）−（ｘ２−ｘ１）、（（ｘ３−ｘ２）−（ｘ２−ｘ１））−（（ｘ２−ｘ１）−（ｘ１−ｘ０））、の４つのデータが前進差分パラメータになる。該パラメータは階差計算部４０１から前進差分調整部４０２に出力される。
【００４０】
前進差分調整部４０２は、パラメータの前進ステップを１６画素から１画素へ１／１６に狭めるため、パラメータを前記式（１）の変換行列で４回変換する。図５（Ａ）に示す回路は、式（１）の変換を繰り返し行う回路の例である。
【００４１】
前進差分調整部４０２は、階差計算部４０１から入力されるパラメータａ，ｂ，ｃ，ｄをレジスタ部４２１に設定すると、それ以降、１サイクル動作させる毎に、式（１）の変換が適用され、前進ステップが半分に変換される。よって、４サイクル動作させると、前進ステップが１６画素から１／１６の１画素へ細分化され、次の処理である前進加算演算の初期値ａ’，ｂ’，ｃ’，ｄ’が得られる。初期値ａ’，ｂ’，ｃ’，ｄ’は、前進差分調整部４０２から前進加算演算部４０３に出力される。
【００４２】
前進加算演算部４０３は、図５（Ｂ）に示す加算演算回路にて前進加算演算を行い、１サイクル毎に１画素前進した座標の幾何変換後の座標を出力する。この出力座標は、補間区間を中心に前後に２個、計４個の参照データから３次補間した補間データと同じである。
【００４３】
前進差分調整部４０２と前進加算演算部４０３は、機能が異なるため別々の回路として説明したが構造がよく似ている。よって、レジスタ部を共通化して、機能によって演算処理を切換える構成にすると、さらに回路規模を小さくすることができる。但し、２つの機能を同時に使うことができなくなるため、補間座標を連続計算する性能が多少低下するものの、該性能低下が要求性能に対して許容できる場合は問題無い。図４（Ａ）に示した補間演算回路４００についての説明は以上である。
【００４４】
本実施形態を４次以上の補間に拡張することは容易である。以下に、ｎ次補間に拡張する方法を説明する。
【００４５】
まず、参照データの数を４個からｎ＋１個に増やす。該ｎ＋１個の参照データから、第１階差をｎ個計算し、以降、第２階差をｎ−１個、・・・、第ｉ階差をｎ＋１−ｉ個、・・・、第ｎ階差を１個計算する。ここまでが階差計算になる。この計算結果において補間開始点の参照データを基点とするｎ＋１個のパラメータ列が前進差分パラメータとなる。
【００４６】
次に、該ｎ＋１個の前進差分パラメータの前進ステップ幅を１６画素から１画素へ縮めるために式（１）を（ｎ＋１）×（ｎ＋１）に拡張した変換行列を用意し、該行列で変換する毎に前進ステップを１／２に縮め、４回変換して１／１６にする。ここまでが前進差分調整になる。これ以降は前進加算演算を繰り返し、演算毎に１画素毎の幾何変換座標を補間生成する。
【００４７】
本実施形態によれば、画像の幾何変換処理における座標変換において、乗算器を使うこと無く加算器と減算器で、ｎ次多項式による座標補間を連続的に行えるため、座標データの高精度な補間演算を、小規模な回路で実現できるようになる。特に、参照する４点の座標を通る３次式で、参照点の中２点間を１画素刻みで補間した値を、加減算のみで連続して計算することができる。よって、極めて小規模な回路にて、高精度な補間処理が可能となる。
【００４８】
（第２実施形態）
第１実施形態では、１軸方向の４つの参照データを対象にした補間演算を説明した。第２実施形態では、これを２軸方向の処理、すなわち２次元補間処理に拡張する。
【００４９】
本実施形態の補間処理装置の構成を図６に示す。同図において、５０１〜５０４は、第１実施形態で説明した補間演算部４００と同じもので、５０５は１軸方向のみの補間を行った中間データを保持するためのレジスタ部である。
【００５０】
同図には、補間処理を完結するのに必要な入力データとして、４行４列の参照データ（ｘｉｊ，ｙｉｊ）（ｉ，ｊ＝０，１，２，３）を参考のため併記した。
【００５１】
該４行４列データの各列から各々４つのｘ座標データとｙ座標データとに分け、各々を２つの補間演算部４００で並列に補間処理する。該処理内容は第１実施形態で説明した処理と同じである。数サイクルから十数サイクルの遅延の後に、列方向に定められた補間位置の補間座標が計算されるので、それを中間データとしてレジスタ部５０５に順次取り込む。前記４列に対する中間データをレジスタ部５０１が取り込んだところで、各々４つのｘデータ、ｙデータを、次段の補間演算部５０３、５０４へ入力する。
【００５２】
各補間演算部５０３、５０４は、入力された４つの中間データに対して補間演算を行い、補間区間である第２列から第３列に向けて、１画素毎の補間結果、すなわち、幾何変換の補間座標を逐次計算して、出力して行く。なお参照データは、一般には２次元に配置されたＮ個×Ｍ個のデータでよい。この場合も、中心部の２×２個の格子点領域内を補間する。
【００５３】
（第２実施形態の変形）
スキャン方向が水平の場合、水平方向に連続して補間値を生成する必要であるが、垂直方向は連続して補間値を生成する必要はなく、必要な補間値のみを計算したい。そのため、階差計算直後の前進差分パラメータを、ニュートンの補間多項式に代入して補間値を計算する。ここでは、ニュートン補間多項式にホーナー法を適用した式（２）に示す補間多項式を用いる。ホーナー法はｎ次の多項式をｎ回の乗算で計算できるように式変形したもので、その結果が式（２）に示す多項式である。
【００５４】
【数２】
2018120536.tif 000004
上式において、ａは第３階差、ｂは第２階差、ｃは第１階差、ｄは第０階差（参照データ）である。また、ｔは補間区間の開始点で０、終点で１をとる媒介変数である。
【００５５】
該変数ｔには開始点となる画素位置からの補間画素位置までの画素数を１６で割って正規化した値を代入する。これによって、乗算器が複数個必要になるが、必要な補間値のみを高速に計算することができる。また式（２）の括弧の内側から逐次的に演算を行うことによって１つの乗算器で済ますこともできるが、その場合は演算に複数サイクルを要する。
【００５６】
図６における補間演算部５０１と５０２を、本実施形態では図７（Ａ）に示す補間演算部６００に置き換える。
【００５７】
多項式を計算して補間する場合、前進加算演算の前進ステップを調整する必要がないため、前進差分調整部と前進加算演算部が不要となり、代りに図７（Ｂ）に示す多項式演算部６０１が加わることになる。多項式演算部６０１は、式（２）の多項式を計算する乗算器６１１−６１３と加算器６２１−６２３を備えている。これにより、上述した中間データは数サイクル以内に計算できるようになる。後段の水平方向の補間は連続的に補間値を生成するため、第１実施形態で説明した補間演算部４００をそのまま用いることができる。
【００５８】
（第３実施形態）
一般的に、ハードウェアで２次元処理をする場合、垂直方向の参照データの数や多項式の次数を減らしたいことが多い。例えば、２次元フィルタ処理の場合、垂直方向の参照データの数（フィルタタップ数）が増えると、コストが高いラインメモリの必要数が増える。また、前記実施形態の場合は、補間多項式の次数がふえると、コストが高い乗算器の数が増えることになる。よって、ハードウェアのコスト低減化のため、垂直方向の処理を簡略化することがしばしば行われる。
【００５９】
その観点で見てみると、第２実施形態の変形において、乗算器の数を減らすべく、補間次数を３次から２次に減らすことが挙げられる。以下では、該構成について本実施形態で説明する。本実施形態の補間演算部の構成を図８に示す。
【００６０】
補間次数を２次に減らす場合、参照データの数に関して２つの場合が考えられる。一方は、必要最小限の数として３つを参照する場合、もう一方は補間処理の対称性を保つために４つを参照する場合である。
【００６１】
参照データ数が３つの場合、該３つの参照データから第２階差まで計算し、前進差分パラメータとして３つの数値データを使う。この場合、これまでに説明した各種演算回路の一部として含まれるため、別途新たな演算回路を示すまでもない。参照するデータは補間区間の両端のデータ２つの他に、もう１つ必要である。その１つを開始点側、終点側のどちら側から参照するかによって、補間結果に偏りが生じる。
【００６２】
一方、参照データ数が４つの場合、該４つの参照データを反映したような前進差分パラメータを生成することによって、上記のような偏りが無い補間演算ができるようになる。
【００６３】
そのために本実施形態では、４つの参照データから得られる２つの第２階差の平均値を除算器７１３で求め、前進差分パラメータｂとする。
【００６４】
参照データの開始点と終点、補間値の開始点と終点は各々を一致させる必要がある。そのために、２次補間における前進差分パラメータの内、第０階差と第１階差を、開始点参照データと、開始点と終点参照データとの差分にするのは必然的に決まってしまう。
【００６５】
残る第２階差を上記のように定めることによって、４つの参照データを反映した偏りのないパラメータにすることができる。
【００６６】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【符号の説明】
【００６７】
４００，５０１〜５０４，６００，７００  補間演算部
４１１，４２１，４３１，５０５  レジスタ部
４０１，７０１  階差計算部
４０２  前進差分調整部
４０３  前進加算演算部
６０１，７０２  多項式演算部
【図１】
2018120536.tif 000005
【図２】
2018120536.tif 000006
【図３】
2018120536.tif 000007
【図４】
2018120536.tif 000008
【図５】
2018120536.tif 000009
【図６】
2018120536.tif 000010
【図７】
2018120536.tif 000011
【図８】
2018120536.tif 000012