(57)【要約】【課題】少ない計算量で、原画像に対して斜め方向のジャギーが目立たない良好な拡大／縮小を行うことができるようにする。【解決手段】注目位置ｒと補間位置ｑとを直径の両端とする円上にある任意の位置を仮想位置ｓとして設定し、注目位置ｒおよび補間位置ｑの両方から見て斜め方向に存在する仮想位置ｓと注目位置ｒとの間の第１の空間距離ｄ１および仮想位置ｓと補間位置ｑとの間の第２の空間距離ｄ２をそれぞれ所定の補間関数Ｆ（ｄ）に代入して補間位置ｑのデータ値を求めることにより、斜め方向に対する補間を行うことができるようにする。また、注目位置ｒと補間位置ｑとを直径の両端とする円上に仮想位置ｓを設定することにより、計算負荷が大きい平方根演算を行わずに、簡単な三角関数演算によって空間距離ｄ１，ｄ２を求めることができるようにする。【選択図】        図２
2009010656.tif 000002
【特許請求の範囲】
【請求項１】
ｎ次元空間上（ｎは２または３）の注目位置のデータ値から補間位置のデータ値を補間演算によって求めるデータ補間装置であって、
上記注目位置と上記補間位置とを直径の両端とする円上にある位置を仮想位置として、上記注目位置と上記仮想位置との間の第１の空間距離および上記補間位置と上記仮想位置との間の第２の空間距離を求める距離演算部と、
上記距離演算部により求められた上記第１の空間距離および上記第２の空間距離をそれぞれ所定の補間関数に代入して第１の補間値および第２の補間値を求め、上記注目位置のデータ値と上記第１の補間値と上記第２の補間値とを乗算することによって上記補間位置のデータ値を得る補間演算部とを備えたことを特徴とするデータ補間装置。
【請求項２】
上記距離演算部は、上記注目位置と上記補間位置との間の水平方向の距離をｘ、上記注目位置と上記補間位置との間の垂直方向の距離をｙ、上記注目位置と上記仮想位置とを結ぶ線分の上記水平方向に対する角度をθとして、上記第１の空間距離を｜ｙｓｉｎθ−ｘｃｏｓθ｜なる演算によって求めるとともに、上記第２の空間距離をｘｓｉｎθ＋ｙｃｏｓθなる演算によって求めることを特徴とする請求項１に記載のデータ補間装置。
【請求項３】
ユーザからの指示に従って上記仮想位置を設定する仮想位置設定部を更に備えたことを特徴とする請求項１に記載のデータ補間装置。
【請求項４】
ｎ次元空間上（ｎは２または３）の注目位置のデータ値から補間位置のデータ値を補間演算によって求めるデータ補間方法であって、
上記注目位置と上記補間位置とを直径の両端とする円上にある位置を仮想位置として、上記注目位置と上記仮想位置との間の第１の空間距離および上記補間位置と上記仮想位置との間の第２の空間距離を求める距離演算ステップと、
上記距離演算部により求められた上記第１の空間距離および上記第２の空間距離をそれぞれ所定の補間関数に代入して第１の補間値および第２の補間値を求め、上記注目位置のデータ値と上記第１の補間値と上記第２の補間値とを乗算することによって上記補間位置のデータ値を得る補間演算ステップとを有することを特徴とするデータ補間方法。
【請求項５】
ｎ次元空間上（ｎは２または３）に等間隔に配置された複数の画素によって構成される原画像について、指定の倍率に応じて設定される補間画素の画素値を上記補間画素の周囲にある上記原画像の注目画素の画素値から補間演算によって求めることによって画像の拡大／縮小を行う画像拡大縮小装置であって、
上記補間画素の周囲にある複数の注目画素の画素値を抽出する注目画素値抽出部と、
上記注目画素値抽出部により画素値が抽出された複数の注目画素毎に、上記補間画素に対する係数値を求める係数演算部と、
上記注目画素値抽出部により抽出された複数の注目画素の各画素値と上記係数演算部により上記複数の注目画素毎に求められた各係数値とを積和演算することによって上記補間画素の画素値を求める積和演算部とを備え、
上記係数演算部は、上記注目画素と上記補間画素とを直径の両端とする円上にある位置を仮想位置として、上記注目画素と上記仮想位置との間の第１の空間距離および上記補間画素と上記仮想位置との間の第２の空間距離を求める距離演算部と、
上記距離演算部により求められた上記第１の空間距離および上記第２の空間距離をそれぞれ所定の補間関数に代入して第１の補間値および第２の補間値を求め、上記第１の補間値と上記第２の補間値とを乗算することによって上記係数値を得る補間演算部とを備えたことを特徴とする画像拡大縮小装置。
【請求項６】
上記距離演算部は、上記注目位置と上記補間位置との間の水平方向の距離をｘ、上記注目位置と上記補間位置との間の垂直方向の距離をｙ、上記注目位置と上記仮想位置とを結ぶ線分の上記水平方向に対する角度をθとして、上記第１の空間距離を｜ｙｓｉｎθ−ｘｃｏｓθ｜なる演算によって求めるとともに、上記第２の空間距離をｘｓｉｎθ＋ｙｃｏｓθなる演算によって求めることを特徴とする請求項５に記載の画像拡大縮小装置。
【請求項７】
ユーザからの指示に従って上記仮想位置を設定する仮想位置設定部を更に備えたことを特徴とする請求項５に記載の画像拡大縮小装置。
【請求項８】
ｎ次元空間上（ｎは２または３）に等間隔に配置された複数の画素によって構成される原画像について、指定の倍率に応じて設定される補間画素の画素値を上記補間画素の周囲にある上記原画像の注目画素の画素値から補間演算によって求めることによって画像の拡大／縮小を行う画像拡大縮小装置であって、
上記補間画素の周囲にある複数の注目画素の画素値を抽出する注目画素値抽出部と、
上記注目画素値抽出部により画素値が抽出される複数の注目画素毎に、上記補間画素に対する係数値を記憶する係数記憶部と、
上記注目画素値抽出部により抽出された複数の注目画素の各画素値と上記係数記憶部より読み出される上記複数の注目画素の各係数値とを積和演算することによって上記補間画素の画素値を求める積和演算部とを備え、
上記係数記憶部は、上記注目画素と上記補間画素とを直径の両端とする円上にある位置を仮想位置として、上記注目画素と上記仮想位置との間の第１の空間距離および上記補間画素と上記仮想位置との間の第２の空間距離を求め、上記第１の空間距離および上記第２の空間距離をそれぞれ所定の補間関数に代入して求めた第１の補間値と第２の補間値とを乗算することによって算出された係数値を記憶することを特徴とする画像拡大縮小装置。
【請求項９】
上記注目位置と上記補間位置との間の水平方向の距離をｘ、上記注目位置と上記補間位置との間の垂直方向の距離をｙ、上記注目位置と上記仮想位置とを結ぶ線分の上記水平方向に対する角度をθとした場合に、上記第１の空間距離は｜ｙｓｉｎθ−ｘｃｏｓθ｜なる演算によって求められる値であり、上記第２の空間距離はｘｓｉｎθ＋ｙｃｏｓθなる演算によって求められる値であることを特徴とする請求項８に記載の画像拡大縮小装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ補間装置および方法、画像拡大縮小装置に関し、例えば、デジタル画像の拡大および縮小を行う装置に用いて好適なものである。
【背景技術】
【０００２】
従来、画像の拡大あるいは縮小を簡単な処理によって行う方法として、所定間隔で同じ画素を繰り返したり間引いたりする手法が知られている。例えば、Ｘ方向およびＹ方向のそれぞれについて、５画素毎にこの５画素目と同じ画素値を有する画素を挿入することにより、簡易的に１．２倍の拡大画像を得ることができる。反対に、５画素毎に１画素を削除することにより、簡易的に０．８倍の縮小画像を得ることができる。
【０００３】
しかし、このように一定間隔で画素を挿入したり、間引いたりした場合には、拡大後あるいは縮小後の画像が歪むという欠点がある。そのため、画像の拡大や縮小を高精度に行う手法として、このような欠点のない補間処理を用いた手法が提供されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−３５３４７３号公報
【０００４】
上記特許文献１に記載の技術では、例えば画像をα倍に拡大（または縮小）する処理の場合、まずは原画像の画素間隔に対して１／α倍の間隔で補間位置を定める。次に、補間位置の周囲にある複数の注目位置の画素値を用いて、補間位置の画素値を補間演算により求める。この補間演算は、Ｘ方向とＹ方向とに分解して行っている。
【０００５】
すなわち、まず、補間位置とその周囲にある複数の注目画素の位置とのＸ方向に沿った距離を注目画素毎にそれぞれ計算するとともに、この計算した距離に基づいてＸ方向標本化関数の値を注目画素毎にそれぞれ計算する。次に、注目画素毎に求めた複数のＸ方向標本化関数の値に、それぞれに対応する注目画素の画素値を乗算し、その結果をＹ座標が同一の系列毎に加算することにより、Ｘ方向に沿った畳み込み演算を行う。この畳み込み演算によって得られる値が、Ｘ方向毎の補間値となる。
【０００６】
さらに、このようにして算出された複数のＸ方向補間値に対応する画素の位置と補間位置とのＹ方向に沿った距離をそれぞれ計算するとともに、この計算した距離に基づいて各Ｘ方向補間値に対応したＹ方向標本化関数の値をそれぞれ計算する。次に、Ｘ方向補間値毎に求めた複数のＹ方向標本化関数の値のそれぞれに、対応するＸ方向補間値を乗算し、その結果を加算することにより複数のＸ方向補間値に対応する畳み込み演算を行う。この畳み込み演算によって得られる補間値が、補間位置の画素値となる。
【０００７】
また、上述のように補間演算をＸ方向とＹ方向とに分解して行わずに、ダイレクトに行う手法も提案されている。すなわち、画像の拡大／縮小率αに応じて補間位置を設定し、その設定した補間位置とその周囲にある複数の注目画素の位置との空間距離を注目画素毎にそれぞれ算出する。そして、その空間距離に応じた係数値を所定の補間関数から求める。さらに、各注目画素の画素値と、当該注目画素毎に求めた係数値とをそれぞれ乗算して、それらの乗算結果を全て加算することにより、補間位置の画素値を求める。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来の技術では、Ｘ方向（水平方向）とＹ方向（垂直方向）にしかデータを補間することができず、斜め方向にデータを補間することができない。そのため、画像内で斜め方向に存在する線や輪郭部などが補間によって拡大または縮小されると、斜め方向に階段状のギザギザ（ジャギー）が目立って現われてしまうという問題があった。
【０００９】
また、補間演算をＸ方向とＹ方向とに分解して行う方法では、距離の算出、標本化関数値の算出、畳み込み演算をそれぞれ２回繰り返して行う必要がある。注目画素と補間画素との空間距離をダイレクトに計算して補間する手法でも、空間距離を算出するのに平方根演算を複数回行わなければならない。そのため、従来の技術では計算量が多くなってしまうという問題もあった。
【００１０】
本発明は、このような問題を解決するために成されたものであり、少ない計算量で、原画像に対してジャギーの目立たない良好な拡大／縮小を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために、本発明のデータ補間装置は、注目位置と補間位置とを直径の両端とする円上にある位置を仮想位置として、注目位置と仮想位置との間の第１の空間距離および補間位置と仮想位置との間の第２の空間距離を求める距離演算部と、第１の空間距離および第２の空間距離をそれぞれ所定の補間関数に代入して第１の補間値および第２の補間値を求め、注目位置のデータ値と第１の補間値と第２の補間値とを乗算することによって補間位置のデータ値を得る補間演算部とを備えている。
【００１２】
また、本発明の画像拡大縮小装置では、補間画素の周囲にある複数の注目画素毎に上記データ補間装置と同様の演算によって求めた補間画素のデータ値を加算することによって補間画素の画素値を求める。その演算の一例として、複数の注目画素毎に求めた第１の補間値と第２の補間値とを乗算することによって補間画素に対する係数値を求め、複数の注目画素の各画素値と複数の注目画素毎に求めた各係数値とを積和演算することにより補間画素の画素値を求める。
【発明の効果】
【００１３】
上記のように構成した本発明によれば、注目位置と補間位置とを直径の両端とする円上に設定される仮想位置は、注目位置から見ても補間位置から見ても斜め方向に存在する。その斜め方向に存在する仮想位置と注目位置との空間距離および仮想位置と補間位置との空間距離を利用して補間演算が行われるので、斜め方向に対する補間が行われることとなる。これにより、斜め方向に対するジャギーは殆ど発生せず、原画像に対してジャギーの目立たない良好な拡大／縮小を行うことができる。
【００１４】
しかも、本発明によれば、仮想位置は、注目位置と補間位置とを直径の両端とする円上に設定されるので、仮想位置と注目位置との間の第１の空間距離および仮想位置と補間位置との間の第２の空間距離は何れも、計算負荷の少ない三角関数演算によって求めることができる。すなわち、煩雑な演算を繰り返し行う必要がなく、空間距離を算出するのに平方根演算を行う必要もないので、計算量を削減することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるデータ補間装置の機能構成例を示すブロック図である。図２は、本実施形態によるデータ補間方法を説明するための模式図である。以下、これらの図１および図２に従って説明する。
【００１６】
図１に示すように、本実施形態のデータ補間装置は、その機能構成として、仮想位置設定部１、距離演算部２および補間演算部３を備えている。本実施形態のデータ補間装置は、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＯＭ、ＲＡＭなどを備えて構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって上述の機能が実現される。なお、上述の機能は、ロジックによるハードウェア構成またはＤＳＰ（Digital Signal Processor）によっても実現することが可能である。
【００１７】
仮想位置設定部１は、２次元空間上の注目位置ｒのデータ値から補間位置（目標位置）ｑのデータ値を補間演算によって求める際に、注目位置ｒと補間位置ｑとを直径の両端とする円を想定し、当該円上にある位置ｓを仮想位置として設定する。ここで、図２に示すように、注目位置ｒと仮想位置ｓとを結ぶ線分の水平方向（図２の例で注目位置ｒから右水平方向に向かうベクトル）に対する角度をθとした場合、仮想位置ｓを設定するということは、角度θの値を設定することに相当する。角度θは任意であるが、０≦θ≦π／２とすることが好ましい。
【００１８】
距離演算部２は、注目位置ｒと仮想位置ｓとの間の第１の空間距離ｄ１および補間位置ｑと仮想位置ｓとの間の第２の空間距離ｄ２を求める。具体的には、注目位置ｒと補間位置ｑとの間の水平方向の距離をｘ、注目位置ｒと補間位置ｑとの間の垂直方向の距離をｙとして、第１の空間距離ｄ１および第２の空間距離ｄ２を次の式１および式２に示す演算によって求める。
ｄ１＝｜ｙｓｉｎθ−ｘｃｏｓθ｜  ・・・式１
ｄ２＝ｘｓｉｎθ＋ｙｃｏｓθ  ・・・式２
【００１９】
以下に、式１および式２によって第１の空間距離ｄ１および第２の空間距離ｄ２が求まる理由を説明する。図２に示すように、仮想位置ｓを通って垂直方向に平行な補助線Ｌ１を引く。また、線分（円の直径）ｒｑを斜辺として持ち円に内接する三角形であって、底辺および垂線がそれぞれ水平方向および垂直方向に平行な三角形の頂角に当たる点をｔとして、点ｔを通り線分ｒｓに平行な補助線Ｌ２を引く。そして、補助線Ｌ１と補助線Ｌ２との交点をｕ、補助線Ｌ２と線分ｒｑとの交点をｖとする。
【００２０】
この場合、四角形ｒｓｕｔは平行四辺形となり、補助線Ｌ２と線分ｑｓとは交点ｖにおいて垂直に交わる。これにより、図２に示す角度θ１（∠ｖｓｕ）および角度θ２（∠ｖｔｑ）は、それぞれ角度θに等しくなる。したがって、線分の長さを｜｜で表すとすると、第１の空間距離ｄ１は、
ｄ１＝｜ｒｓ｜＝｜ｔｕ｜＝｜｜ｖｕ｜−｜ｖｔ｜｜
＝｜｜ｓｕ｜ｓｉｎθ１−｜ｑｔ｜ｃｏｓθ２｜
＝｜ｙｓｉｎθ−ｘｃｏｓθ｜  ・・・式１
となる。また、第２の空間距離ｄ２は、
ｄ２＝｜ｑｓ｜＝｜ｑｖ｜＋｜ｖｓ｜
＝｜ｑｔ｜ｓｉｎθ２＋｜ｓｕ｜ｃｏｓθ１
＝ｘｓｉｎθ＋ｙｃｏｓθ  ・・・式２
となる。
【００２１】
なお、本実施形態では、仮想位置設定部１を設け、角度θをユーザが任意に指定できる（例えば、角度θの値をコンピュータに入力して設定する）ようにしているが、角度θはあらかじめ決められた値に固定しても良い。角度θを固定の値とする場合、仮想位置設定部１は不要である。
【００２２】
補間演算部３は、距離演算部２により求められた第１の空間距離ｄ１および第２の空間距離ｄ２をそれぞれ所定の補間関数Ｆ（ｄ）に代入して、第１の補間値Ｆ（ｄ１）および第２の補間値Ｆ（ｄ２）を求める。そして、注目位置ｒのデータ値と第１の補間値Ｆ（ｄ１）と第２の補間値Ｆ（ｄ２）とを乗算することによって、補間位置ｑのデータ値（補間値）を求める。ここで使用する補間関数Ｆ（ｄ）は任意である。線形補間関数であっても良いし、スプライン関数などの曲線補間関数であっても良い。
【００２３】
次に、上記のように構成した本実施形態によるデータ補間装置の動作について説明する。図３は、本実施形態によるデータ補間装置の動作、すなわち、データ補間方法の処理手順を示すフローチャートである。
【００２４】
図３において、まず、仮想位置設定部１は、注目位置ｒと補間位置ｑとを直径の両端とする円上にある位置を仮想位置ｓとして設定する（ステップＳ１）。次に、距離演算部２は、ステップＳ１で設定した仮想位置ｓと注目位置ｒとの間の第１の空間距離ｄ１および補間位置ｑと仮想位置ｓとの間の第２の空間距離ｄ２を求める（ステップＳ２）。
【００２５】
最後に、補間演算部３は、ステップＳ２で求めた第１の空間距離ｄ１および第２の空間距離ｄ２をそれぞれ所定の補間関数Ｆ（ｄ）に代入して第１の補間値Ｆ（ｄ１）および第２の補間値Ｆ（ｄ２）を求め、注目位置ｒのデータ値と第１の補間値Ｆ（ｄ１）と上記第２の補間値Ｆ（ｄ２）とを乗算することによって、補間位置ｑの補間値を求める。以上のような極めて簡単な処理でデータ補間を行うことができる。
【００２６】
次に、以上のように構成した本実施形態によるデータ補間装置を適用した画像拡大縮小装置について説明する。図４は、本実施形態による画像拡大縮小装置の構成例を示す図である。図５は、本実施形態において用いるユニットマトリクスとデータ生成エリアについて説明するための図である。図６は、原画像の注目画素と補間画素との位置関係を説明するための図である。
【００２７】
本実施形態の画像拡大縮小装置は、２次元空間上に等間隔に配置された複数の画素によって構成される原画像について、所定の倍率αに応じて設定される補間位置（補間画素）ｑの画素値を補間位置ｑの周囲にある複数の注目位置（注目画素）ｒの画素値から補間演算によって求めることにより、画像の拡大／縮小を行うものである。ここでの画像の拡大／縮小処理は、ユニットマトリクスを単位とした補間演算によって実行する。
【００２８】
ユニットマトリクスは、画像の拡大縮小処理を行う最小画素ブロックであり、図５にその構成の一例を示している。図５において、四角で示したａ〜ｐの１６個（縦４個×横４個）の画素がユニットマトリクスの構成画素（本発明の注目画素に相当）である。水平方向の隣接画素のクロック間隔はｃｋ０であり、垂直方向の隣接画素のクロック間隔は１水平クロックである。データ生成エリアは、ユニットマトリクスの中央部における正方形エリア（４つの互いに隣接する画素ｆ，ｇ，ｊ，ｋで囲まれるエリア）であり、補間画素ｑの画素値（補間画素値）はこのデータ生成エリア内で生成する。
【００２９】
補間画素値の生成方法の概略は、以下の通りである。すなわち、画像の拡大／縮小率αに応じてデータ生成エリア内に補間画素ｑを設定し、その補間画素ｑの周囲にある１６個の注目画素ａ〜ｐの位置をそれぞれ注目位置ｒとする。そして、補間画素ｑと注目画素ａ〜ｐとの１６個の組毎に、図２で説明したのと同様の演算によって補間画素ｑの補間値を算出する。そして、こうして求めた１６個の補間値を全て加算することによって、補間画素ｑの画素値を生成する。
【００３０】
ここで、原画像の注目画素と補間画素との位置関係について説明する。図６において、●印は原画像の画素を示し、×印は画像を水平方向にαＨ倍、垂直方向にαＶ倍した場合（αＨ，αＶは任意の正数である。図６はαＨ≠αＶ，１＜αＨ＜２，１＜αＶ＜２の例）の補間画像の画素を示す。また、原画像の４つの画素で囲まれる点線の矩形領域の１つ１つがデータ生成エリアを示している。
【００３１】
水平方向に画像をαＨ倍するということは、原画像の水平方向の画素間隔に対して１／αＨ倍の間隔で補間位置を設定し、その補間位置の画素値を補間演算により求めて、求めた補間位置の画素値を原画像と同じ元の画素間隔で描くことに相当する。１／αＨ倍の間隔で設定した補間位置の画素値を求めるというのは、言い換えると、基準クロックｃｋ０に対してαＨ倍周波数のクロックｃｋ１（＝αＨ・ｃｋ０）の間隔でリサンプリングし、そのリサンプル点の補間データを求めることに相当する。
【００３２】
この場合、データ生成エリア内でのリサンプル点の水平方向の位置は、図６に示すように１クロックｃｋ１毎に１／αＨの間隔でずれていく。そして、ｃｋ１の数クロック後には元の画素位置と一致する。図６の例の場合、データ生成エリア内でのリサンプル点の水平方向の位置は、補間画素が５つ離れたところ（原画像の画素では４つ離れたところ）で元の画素位置と一致する。
【００３３】
また、垂直方向に画像をαＶ倍するということは、原画像の垂直方向の画素間隔に対して１／αＶ倍の間隔で補間位置を設定し、その補間位置の画素値を補間演算により求めて、求めた補間位置の画素値を原画像と同じ元の画素間隔で描くことに相当する。１／αＶ倍の間隔で設定した補間位置の画素値を求めるというのは、言い換えると、基準クロックｃｋ０に対してαＶ倍周波数のクロックｃｋ１’（＝αＶ・ｃｋ０）の間隔でリサンプリングし、そのリサンプル点の補間データを求めることに相当する。
【００３４】
この場合、データ生成エリア内でのリサンプル点の垂直方向の位置は、図６に示すように１クロックｃｋ１’毎に１／αＶの間隔でずれていく。そして、ｃｋ１’の数クロック後には元の画素位置と一致する。図６の例の場合、データ生成エリア内でのリサンプル点の垂直方向の位置は、補間画素が５つ離れたところ（原画像の画素では３つ離れたところ）で元の画素位置と一致する。
【００３５】
以下では、データ生成エリア内でのリサンプル点の位置が元の画素位置と一致するまでの一巡のサイクル中に含まれるクロックｃｋ１，ｃｋ１’の数を、クロックサイクルと呼ぶ。１つのクロックサイクル内に含まれる補間位置の数は、画像の拡大／縮小率αに応じて異なる。また、拡大／縮小率αによっては、クロックサイクル内に含まれるデータ生成エリア毎に、その中に含まれる補間位置の数が異なることもある。図６に示した例では、水平方向のクロックサイクルｃｃｘ内に含まれる４つのデータ生成エリアのうち、１つ目と４つ目のデータ生成エリアでは水平方向の補間位置が２つであるが、２つ目と３つ目のデータ生成エリアでは水平方向の補間位置が１つのみとなっている。
【００３６】
そこで、補間画素値を求める際に、１つ目と４つ目のデータ生成エリアでは補間画素値を２つずつ求め、２つ目と３つ目のデータ生成エリアでは補間画素値を１つずつ求める必要がある。すなわち、１つ目と４つ目のデータ生成エリアはデータクロックｃｋ１を２つカウントしたタイミングで水平方向に移動させ、２つ目と３つ目のデータ生成エリアはデータクロックｃｋ１を１つカウントしたタイミングで水平方向に移動させる必要がある。
【００３７】
図６において、○で囲んだ×印の補間画素について画素値を求める場合、その周囲にある原画像の１６個の画素範囲（実線の四角で示す範囲）がユニットマトリクスであり、そのユニットマトリクスを構成する１６個の各画素が注目画素ということになる。
【００３８】
なお、ここではユニットマトリクスの例として縦４個×横４個のマトリクスを挙げているが、これに限定されない。例えば、縦３個×横３個あるいは縦２個×横２個のマトリクスであっても良い。後者の場合、ユニットマトリクスとデータ生成エリアとが一致する。
【００３９】
次に、本実施形態による画像拡大縮小装置の構成について説明する。図１に示すように、本実施形態による画像拡大縮小装置は、注目画素値抽出部１１、係数演算部１２および積和演算部１３を備えて構成されている。また、係数演算部１２は、仮想位置設定部２１、距離演算部２２および補間演算部２３を備えて構成されている。本実施形態の画像拡大縮小装置は、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＯＭ、ＲＡＭなどを備えて構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって上述の機能が実現される。なお、上述の機能は、ロジックによるハードウェア構成またはＤＳＰによっても実現することが可能である。
【００４０】
注目画素値抽出部１１は、補間画素ｑの周囲にある複数の注目画素ａ〜ｐの画素値を入力画像信号から抽出する。すなわち、注目画素値抽出部１１は、入力画像信号からユニットマトリクスを構成する１６個の注目画素ａ〜ｐの画素値を抽出する。係数演算部１２は、注目画素値抽出部１１により抽出された複数の注目画素ａ〜ｐ毎に、補間画素ｑに対する係数値を求める。
【００４１】
注目画素ａ〜ｐの１つ（これが注目位置ｒの画素に相当する）を用いて補間画素ｑの係数値を求める演算は、図２で説明した演算と同様である。すなわち、係数演算部１２の仮想位置設定部２１は、注目画素ｒと補間画素ｑとを直径の両端とする円上にある位置を仮想位置ｓとして設定する。距離演算部２２は、注目画素ｒと仮想位置ｓとの間の第１の空間距離ｄ１および補間画素ｑと仮想位置ｓとの間の第２の空間距離ｄ２を、上述の式１および式２に基づいて求める。
【００４２】
また、補間演算部２３は、距離演算部２２により求められた第１の空間距離ｄ１および第２の空間距離ｄ２をそれぞれ所定の補間関数Ｆ（ｄ）に代入して第１の係数値Ｆ（ｄ１）および第２の係数値Ｆ（ｄ２）を求め、当該第１の補間値Ｆ（ｄ１）と第２の補間値Ｆ（ｄ２）とを乗算することによって補間画素ｑに対する係数値Ｆ（＝Ｆ（ｄ１）＊Ｆ（ｄ２））を得る。
【００４３】
係数演算部１２は、以上のような演算を１６個の注目画素ａ〜ｐ毎に行うことによって、１６個の注目画素ａ〜ｐに対応して１６個の係数値Ｆａ〜Ｆｐを求める。積和演算部１３は、注目画素値抽出部１１により抽出された複数の注目画素ａ〜ｐの各画素値Ｉａ〜Ｉｐと、係数演算部１２により１６個の注目画素ａ〜ｐ毎に求められた各係数値Ｆａ〜Ｆｐとを積和演算することによって補間画素ｑの画素値を求める。この場合の積和演算は、Ｉａ＊Ｆａ＋Ｉｂ＊Ｆｂ＋・・・＋Ｉｐ＊Ｆｐという演算である。
【００４４】
１つの補間画素ｑについて補間画素値を求めたら、次の補間画素ｑについても同様にして補間画素値を求める。このとき、必要に応じてユニットマトリクス（データ生成エリア）を水平方向あるいは垂直方向に１クロック分移動させる。例えば、ユニットマトリックスを水平方向に１クロックずつ移動させて補間画素値を順次求めていき、１水平ライン分の処理が終わったら、ユニットマトリクスを垂直方向に１クロック分移動させて、再び補間画素値を求めていく。
【００４５】
なお、ここでは原画像の上端から下端に向かって水平方向の１ラインずつ順番に補間画素値を求めていく例について説明したが、これに限定されない。例えば、原画像の左端から右端に向かって垂直方向の１ラインずつ順番に補間画素値を求めていくようにしても良い。また、個々のデータ生成エリア毎に水平方向および垂直方向の補間画素値を順番に求めていくようにしても良い。
【００４６】
図７は、本実施形態による画像拡大縮小装置の他の構成例を示す図である。なお、この図７において、図４に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図７に示す画像拡大縮小装置は、注目画素値抽出部１１、係数記憶部３２および積和演算部３３を備えて構成されている。
【００４７】
係数記憶部３２は、注目画素値抽出部１１により抽出される１６個の注目画素ａ〜ｐ毎に、当該１６個の注目画素ａ〜ｐに対応する係数値をあらかじめ記憶している。この係数記憶部３２に記憶される係数値は、図４の係数演算部１２と同様の演算によって求められた係数値Ｆａ〜Ｆｐである。積和演算部３３は、注目画素値抽出部１１により抽出された１６個の注目画素ａ〜ｐの各画素値Ｉａ〜Ｉｐと、係数記憶部３２より読み出される１６個の係数値Ｆａ〜Ｆｐとを積和演算することによって、補間画素ｑの画素値を求める。この場合の積和演算は、Ｉａ＊Ｆａ＋Ｉｂ＊Ｆｂ＋・・・＋Ｉｐ＊Ｆｐという演算である。
【００４８】
なお、画像の拡大／縮小率αの値をいくつか設定して、拡大／縮小率α毎に１６個の係数値Ｆａ〜Ｆｐを求めることにより、様々な拡大／縮小率αの値に応じた係数値をあらかじめ係数記憶部３２に格納しておくことが可能である。この場合、積和演算部３３は、設定された拡大／縮小率αの値に応じて該当する係数値Ｆａ〜Ｆｐの組を読み出して積和演算を実行する。
【００４９】
以上詳しく説明したように、本実施形態によれば、注目位置ｒおよび補間位置ｑの両方から見て斜め方向に存在する仮想位置ｓと注目位置ｒとの間の第１の空間距離ｄ１および仮想位置ｓと補間位置ｑとの間の第２の空間距離ｄ２を利用して補間演算が行われるので、斜め方向に対する補間を行うことができる。これにより、原画像を拡大あるいは縮小しても、斜め方向に対するジャギーは殆ど発生せず、ジャギーの目立たない良好な拡大／縮小を行うことができる。
【００５０】
しかも、本実施形態によれば、仮想位置ｓは、注目位置ｒと補間位置ｑとを直径の両端とする円上に設定しているので、仮想位置ｓと注目位置ｒとの間の第１の空間距離ｄ１および仮想位置ｓと補間位置ｑとの間の第２の空間距離ｄ２は何れも、式１および式２のように計算負荷の少ない三角関数演算によって求めることができる。すなわち、煩雑な演算を繰り返し行ったり、空間距離を算出するのに平方根演算を行ったりする必要がなく、計算量を削減することができる。
【００５１】
その他、上記実施形態の画像拡大縮小装置によれば、以下のようなメリットも有する。
・拡大と縮小を同じアルゴリズムで実行できる。
・倍率選択範囲が広く、小数点以下の比率の設定も可能である。
・水平方向および垂直方向の倍率を個々に選択することができる。
【００５２】
なお、上記実施形態では、２次元空間上に等間隔に配置された複数の画素によって構成される原画像の拡大／縮小を行う例について説明したが、これに限定されない。例えば、３次元空間上に等間隔に配置された複数の画素によって構成される原画像の拡大／縮小を行うことも可能である。３次元画像の拡大／縮小を行う場合、ユニットマトリクスを構成する各画素を３次元配置とし、円を球体とし、角度θとして線分ｑｒを軸とする円板の回転角度を用いることで、３次元画像の拡大／縮小アルゴリズムを構築できる。３次元状の等間隔に配置された複数の画素の位置は、１個の動径および複数の偏角から成る極座標で表しても良い。
【００５３】
また、上記実施形態では、図２において注目位置ｒの画素値（Ｉｒと記す）から補間位置ｑの画素値（Ｉｑと記す）を求める際に、
Ｉｑ＝Ｉｒ＊Ｆ（ｄ１）＊Ｆ（ｄ２）
なる演算を用いていたが、これに限定されない。例えば、斜め方向の線分ｒｓに関する第１の空間距離ｄ１および斜め方向の線分ｑｓに関する第２の空間距離ｄ２の他に、注目位置ｒと補間位置ｑとの間の水平方向の距離ｘおよび垂直方向の距離ｙを更に用いて、例えば
Ｉｑ＝Ｉｒ＊（Ｆ（ｘ）＊Ｆ（ｙ）＋Ｆ（ｄ１）＊Ｆ（ｄ２））／２
なる演算によって補間位置ｑの画素値Ｉｑを求めるようにしてもよい。この演算式によれば、縦方向、横方向および斜め方向に対する補間を合わせて行うことができる。なお、係数Ｆ（ｘ）＊Ｆ（ｙ）の値と係数Ｆ（ｄ１）＊Ｆ（ｄ２）の値とを重み付け加算するようにしてもよい。
【００５４】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【産業上の利用可能性】
【００５５】
本発明のデータ補間装置は、ｎ次元空間上に離散的に配置されたデータの補間を行う装置に有用である。また、本発明の画像拡大縮小装置は、デジタル画像の拡大／縮小を行う装置に有用である。
【図面の簡単な説明】
【００５６】
【図１】本実施形態によるデータ補間装置の機能構成例を示すブロック図である。
【図２】本実施形態によるデータ補間方法を説明するための模式図である。
【図３】本実施形態によるデータ補間装置の動作を示すフローチャートである。
【図４】本実施形態による画像拡大縮小装置の構成例を示す図である。
【図５】本実施形態において用いるユニットマトリクスとデータ生成エリアについて説明するための図である。
【図６】原画像の注目画素と補間画素との位置関係を説明するための図である。
【図７】本実施形態による画像拡大縮小装置の他の構成例を示す図である。
【符号の説明】
【００５７】
１  仮想位置設定部
２  距離演算部
３  補間演算部
１１  注目画素値抽出部
１２  係数演算部
１３  積和演算部
２１  仮想位置設定部
２２  距離演算部
２３  補間演算部
３２  係数記憶部
３３  積和演算部
【図１】
2009010656.tif 000003
【図２】
2009010656.tif 000004
【図３】
2009010656.tif 000005
【図４】
2009010656.tif 000006
【図５】
2009010656.tif 000007
【図６】
2009010656.tif 000008
【図７】
2009010656.tif 000009