(57)【要約】【課題】極めて簡単な構成で、離散データ間を滑らかに補間するとともに折り返しノイズも除去できるようにする。【解決手段】入力された順次の各サンプル値をＮ個にオーバーサンプルするオーバーサンプリング部２と、オーバーサンプリングした各サンプル値に対して｛1/2N2,3/2N2,5/2N2,・・・,(N-3)/2N2,(N-1)/2N2,(N-1)/2N2,(N-3)/2N2,・・・,5/2N2,3/2N2,1/2N2｝（Ｎが偶数の場合）の数値列から成る係数によってフィルタ処理を行うＦＩＲフィルタ部３とを設けることにより、オーバーサンプリングとＦＩＲフィルタ処理とにより、元の離散的なサンプル点の間がスプライン曲線に沿って滑らかに補間されるとともに、出力の周波数特性において通過域がサンプリング周波数の２／Ｎに帯域制限されるようにする。【選択図】        図１
2008021119.tif 000002
【特許請求の範囲】
【請求項１】
入力された順次の各サンプル値をＮ個（Ｎは２以上の整数）のオーバーサンプリング周期毎に繰り返し得ることにより、上記各サンプル値をＮ倍にオーバーサンプルするオーバーサンプリング部と、
上記オーバーサンプリング部によりオーバーサンプルされた各サンプル値に対して、｛1/2N2,3/2N2,5/2N2,・・・,(N-3)/2N2,(N-1)/2N2,(N-1)/2N2,(N-3)/2N2,・・・,5/2N2,3/2N2,1/2N2｝（Ｎが偶数の場合）または｛1/2N(N+1),3/2N(N+1),5/2N(N+1),・・・,(N-2)/2N(N+1),(N-1)/2N(N+1),(N-2)/2N(N+1),・・・,5/2N(N+1),3/2N(N+1),1/2N(N+1)｝（Ｎが奇数の場合）の数値列から成る係数によってフィルタ処理を行うＦＩＲフィルタ部とを備えたことを特徴とするデジタルフィルタ。
【請求項２】
２次元空間上に等間隔に配置された複数の画素によって構成される原画像の拡大および縮小の少なくとも一方を行う画像処理装置であって、
上記２次元空間上で垂直方向に等間隔に配置された各画素の画素値を順次入力し、請求項１に記載のオーバーサンプリング部およびＦＩＲフィルタ部の処理をＮ＝Ｎ１として行うことにより、上記垂直方向にＮ１倍個の画素値を取得する垂直方向拡大フィルタと、
上記垂直方向拡大フィルタにより上記垂直方向に対してＮ１倍に拡大された２次元空間上で水平方向に等間隔に配置された各画素の画素値を順次入力し、請求項１に記載のオーバーサンプリング部およびＦＩＲフィルタ部の処理をＮ＝Ｎ２として行うことにより、上記水平方向にＮ２倍個の画素値を取得する水平方向デジタルフィルタとを備えたことを特徴とする画像処理装置。
【請求項３】
上記垂直方向拡大フィルタにより上記垂直方向に対してＮ１倍に拡大された２次元空間上において、上記垂直方向に等間隔に配置された各画素の画素値を１／Ｍ１倍（Ｍ１は２以上の整数）に間引く垂直方向間引きフィルタと、
上記水平方向拡大フィルタにより上記水平方向に対してＮ２倍に拡大された２次元空間上において、上記水平方向に等間隔に配置された各画素の画素値を１／Ｍ２倍（Ｍ２は２以上の整数）に間引く水平方向間引きフィルタとを備え、
上記水平方向拡大フィルタは、上記垂直方向拡大フィルタおよび上記垂直方向間引きフィルタにより上記垂直方向に対してＮ１／Ｍ１倍に拡大された２次元空間上で水平方向に等間隔に配置された各画素の画素値を順次入力し、上記オーバーサンプリング部および上記ＦＩＲフィルタ部の処理をＮ＝Ｎ２として行うことを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタおよびこれを用いた画像処理装置に関し、特に、ＦＩＲ（Finite Impulse Response：有限長インパルス応答）型のデジタルフィルタおよびこれを利用して画像の拡大／縮小を行う画像処理装置に用いて好適なものである。
【背景技術】
【０００２】
従来、与えられた離散的なデータ間の値を求めるデータ補間方法として、様々な方法が提案されている。また、このデータ補間技術は、様々な分野に応用されている。例えば、画像の画素値に対してデータ補間を行うことにより、画像の拡大を行うことが可能である。また、音声データに対してデータ補間を行うことにより、様々な音響効果を付与することも可能である。
【０００３】
データ補間の最も簡単な方法は、直線補間である。ただし、直線補間の場合、元のデータ間を滑らかに補間することができない。データ間を滑らかに補間する方法として、所定の補間関数を用いてデータ補間を行う方法も知られている。補間関数としてよく知られているのはｓｉｎｃ関数であるが、これは±∞で０に収束する関数である。そのため、このｓｉｎｃ関数を利用した補間演算によって得られる補間値には、必ず打ち切り誤差が含まれてしまう。
【０００４】
なお、データ補間の例として、デジタル信号のサンプル値系列にオーバーサンプリングを施し、それにより得られた各サンプル値に補間処理を施すようになされた方法が提案されている（例えば、特許文献１参照）。また、入力された可変個数のデータを帯域制限型オーバーサンプリング部でオーバーサンプリングした後、直線補間部で直線補間し、間引き処理部で間引くことにより一定個数のサンプルデータに変換する方法も提案されている（例えば、特許文献２参照）。
【特許文献１】特開平５−３１５８９１号公報
【特許文献２】特開平５−２９７８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ｓｉｎｃ関数等の従来の補間関数を用いて補間処理を行うと、信号処理の過程で本来存在する情報が充分にカバーできず、取り残された情報が折り返しノイズとなって発生してしまう。そのため、上記特許文献１に記載されているように、補間処理によって生じた折り返しノイズを除去するために、補間処理部の後段にローパスフィルタ（アンチエリアスフィルタ）を設けなければならないという問題があった。
【０００６】
一方、上記特許文献２に記載の技術では、オーバーサンプリングをする際に、数列と数列との間に複数個の０値を挿入し、この０値挿入によって実質的にローパスフィルタ処理を行うようにしている。このようにすれば、補間処理部の後段にアンチエリアスフィルタを設ける必要がなくなる。しかしながら、補間処理部の後段にアンチエリアスフィルタが不要となる代わりに、オーバーサンプリング部において０値挿入のための構成が必要になるという問題があった。
【０００７】
本発明は、このような問題を解決するために成されたものであり、アンチエリアスフィルタや０値挿入の構成を設けることなく、極めて簡単な構成で、離散的なデータ間を滑らかに補間するとともに折り返しノイズも除去できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記した課題を解決するために、本発明のデジタルフィルタでは、入力された順次の各サンプル値をＮ個にオーバーサンプリングした後、オーバーサンプリングした各サンプル値に対して、｛1/2N2,3/2N2,5/2N2,・・・,(N-3)/2N2,(N-1)/2N2,(N-1)/2N2,(N-3)/2N2,・・・,5/2N2,3/2N2,1/2N2｝（Ｎが偶数の場合）または｛1/2N(N+1),3/2N(N+1),5/2N(N+1),・・・,(N-2)/2N(N+1),(N-1)/2N(N+1),(N-2)/2N(N+1),・・・,5/2N(N+1),3/2N(N+1),1/2N(N+1)｝（Ｎが奇数の場合）の数値列から成る係数によってフィルタ処理を行うようにしている。
【０００９】
また、本発明の画像処理装置では、上記のように構成したデジタルフィルタによって、原画像を垂直方向に対してＮ１倍（Ｎ＝Ｎ１とする）に補間した後、垂直方向にＮ１倍された画像を水平方向に対してＮ２倍（Ｎ＝Ｎ２とする）に補間するようにしている。さらに、垂直方向にＮ１倍された画像を間引き処理によって垂直方向に１／Ｍ１倍し、水平方向にＮ２倍倍された画像を間引き処理によって水平方向に１／Ｍ２倍するようにしてもよい。ここで、Ｎ１＝Ｎ２であっても良いし、Ｍ１＝Ｍ２であっても良い。
【発明の効果】
【００１０】
上記のように構成した本発明によれば、オーバーサンプリングと所定のフィルタ係数を有するＦＩＲフィルタ処理とにより、元の離散的なサンプル点の間がスプライン曲線に沿って滑らかに補間されるとともに、出力の周波数特性において通過域がサンプリング周波数の２／Ｎに帯域制限される。
【００１１】
また、所定のフィルタ係数を有するＦＩＲフィルタ部から出力されるサンプル値によって実現されるスプライン曲線は、一定の区間のみで“０”以外の有限な値を有し、それ以外の領域では値が全て“０”となる関数、つまり所定の標本位置において値が“０”に収束する有限台の補間関数を示すものである。このような有限台の補間関数では、“０”以外の有限の値を有する局所的な領域内のデータだけが意味を持つ。この領域外のデータについては、本来これを考慮すべきであるのに無視している訳ではなく、理論的に考慮する必要がないため、打ち切り誤差は発生しない。
【００１２】
以上のことから、本発明によれば、補間処理部の後段にローパスフィルタを設けたり、オーバーサンプリング部において０値挿入の構成を設けたりすることなく、極めて簡単な構成で、離散的なデータ間を滑らかに補間することができるとともに、折り返しノイズの発生も同時に抑止することができるようになる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるデジタルフィルタの構成例を示す図である。図１において、１はＤ型フリップフロップであり、順次入力されるサンプル値を基準周波数のクロックｃｋ０に従って順次保持するバッファとして機能する。
【００１４】
２はオーバーサンプリング用のＤ型フリップフロップであり（本発明のオーバーサンプリング部に相当する）、入力された順次の各サンプル値をＮ個（Ｎは２以上の整数）のオーバーサンプリング周期毎に繰り返し得ることにより、各サンプル値をＮ倍にオーバーサンプルする。すなわち、オーバーサンプリング部２は、前段のＤ型フリップフロップ１から入力されるサンプル値をＮ倍周波数のクロックＮ＊ｃｋ０に従って順次保持して出力する。例えば、バッファ用のＤ型フリップフロップ１に“１”というサンプル値が入力されたとき、Ｎ＝８とすると、オーバーサンプリングにより“１，１，１，１，１，１，１，１”という８個の数値列がオーバーサンプリング部２から出力される。
【００１５】
３はＦＩＲフィルタ部であり、オーバーサンプリング部２によりオーバーサンプルされた各サンプル値に対して、所定の数値列から成る係数によってフィルタ処理を行う。所定の数値列は、Ｎが偶数の場合は、
｛1/2N2,3/2N2,5/2N2,・・・,(N-3)/2N2,(N-1)/2N2,(N-1)/2N2,(N-3)/2N2,・・・,5/2N2,3/2N2,1/2N2｝・・・（１）
である。また、Ｎが奇数の場合は、
｛1/2N(N+1),3/2N(N+1),5/2N(N+1),・・・,(N-2)/2N(N+1),(N-1)/2N(N+1),(N-2)/2N(N+1),・・・,5/2N(N+1),3/2N(N+1),1/2N(N+1)｝・・・（２）
である。
【００１６】
ＦＩＲフィルタ部３は、複数のＤ型フリップフロップから成るタップ付き遅延線により入力データを順次遅延させ、各Ｄ型フリップフロップの入出力タップから出力されるＮ個のデータに対して上記（１）または（２）に示す数値列から成るフィルタ係数を乗算し、それらの乗算結果を加算して出力する。すなわち、ＦＩＲフィルタ部３は、図２に示すように、縦続接続された（Ｎ−１）個のＤ型フリップフロップ１１-1〜１１-(N-1)と、Ｎ個の係数器１２-1〜１２-Nと、（Ｎ−１）個の加算器１３-1〜１３-(N-1)とにより構成されている。
【００１７】
（Ｎ−１）個のＤ型フリップフロップ１１-1〜１１-(N-1)は、Ｎ倍周波数のクロックＮ＊ｃｋ０に従って入力データを１クロックずつ順次遅延させる。Ｎ個の係数器１２-1〜１２-Nは、各Ｄ型フリップフロップ１１-1〜１１-(N-1)の入出力タップから取り出した信号に対して上記（１）または（２）に示す数値列から成るフィルタ係数をそれぞれ乗算する。（Ｎ−１）個の加算器１３-1〜１３-(N-1)は、各係数器１２-1〜１２-Nの乗算結果を全て加算して出力する。
【００１８】
ここで、上記（１）または（２）に示す数値列の意味を説明する。この数値列は、当該数値列をＦＩＲフィルタのフィルタ係数として設定すると、振幅“１”のユニットパルスをオーバーサンプリング部２に入力したときに得られるフィルタ出力の数値列で表される曲線が、有限台のスプライン曲線になるという特徴を持った数値列である。このことを、図３〜図８を用いて詳しく説明する。
【００１９】
図３は、ＦＩＲフィルタ部３の演算例を示す図である。また、図４は、図３の演算により求められた数値列で表される曲線を示す図である。ここでは、オーバーサンプリングの倍数をＮ＝８とする。Ｎが偶数なので、フィルタ係数として（１）の数値列が使用される。この場合の数値列は、具体的には｛１，３，５，７，７，５，３，１｝（ここでは説明の簡略化のため、分母は省略する）となる。
【００２０】
上述したように、バッファ用のＤ型フリップフロップ１に振幅“１”のユニットパルスが入力されると、オーバーサンプリングの実施により“１，１，１，１，１，１，１，１”という８個の数値列がオーバーサンプリング部２から出力される。ＦＩＲフィルタ部３は、オーバーサンプリングにより生成された“１，１，１，１，１，１，１，１”の数値列を入力し、これに対して｛１，３，５，７，７，５，３，１｝の数値列から成るフィルタ係数によってフィルタリング処理を行うことにより、｛１，４，９，１６，２３，２８，３１，３２，３１，２８，２３，１６，９，４，１｝という１５個の数値列を得る。
【００２１】
この１５個の数値列の振幅値を縦軸にとり、クロック位置を横軸にとってグラフ化すると、図４のようになる。図４に示される曲線はスプライン曲線であり、クロック位置が０〜１６の間のみで“０”以外の有限な振幅値を有し、それ以外の領域では振幅値が全て“０”となる関数、つまり所定の標本位置において振幅値が“０”に収束する有限台の補間関数を示すものである。
【００２２】
なお、｛１，４，９，１６，２３，２８，３１，３２，３１，２８，２３，１６，９，４，１｝の数値列は、本発明者が過去に出願したＷＯ００／６８８２６号公報に記載の補間処理方法で生成される数値列と一致している。図５は、当該公報に記載している補間処理方法による演算例を説明する図である。図５に示すように、まず、入力された振幅“１”のユニットパルスを８倍にオーバーサンプルすることにより“１，１，１，１，１，１，１，１”という８個の数値列を得る。
【００２３】
この８個の数値列を１クロックずつ３段階にわたって遅延させ、遅延前の数値列と３段階の遅延によって得られたそれぞれの数値列とを平均化する（図５（ａ）に示すオーバーサンプル出力、ディレイ１、ディレイ２、ディレイ３の各数値列を対応する行どうしで加算する）。これにより、３相のコンボリューション演算が実行され、“１，２，３，４，４，４，４，４，３，２，１”という１１個の数値列が得られる。
【００２４】
次に、この１１個の数値列を１クロックずつ３段階にわたって遅延させ、遅延前の数値列と３段階の遅延により得られたそれぞれの数値列とを平均化する（図５（ｂ）に示すΣ１、ディレイ１、ディレイ２、ディレイ３の各数値列を対応する行どうしで加算する）。これにより、３相のコンボリューション演算が実行され、“１，３，６，１０，１３，１５，１６，１６，１５，１３，１０，６，３，１”という１４個の数値列が得られる。さらに、この数値列を平均化することにより、図３に示した｛１，４，９，１６，２３，２８，３１，３２，３１，２８，２３，１６，９，４，１｝の数値列が求められる。
【００２５】
本実施形態では、このような数値列を、ＷＯ００／６８８２６号公報に記載されているような複雑な演算をすることなく、｛１，３，５，７，７，５，３，１｝という数値列をフィルタ係数として持つＦＩＲフィルタ部３によるフィルタ演算だけで取得することができる。ここで、｛１，３，５，７，７，５，３，１｝という数値列について、もう少し詳しく説明する。
【００２６】
｛１，３，５，７，７，５，３，１｝という数値列は、図６（ａ）に示すように、｛１，１，１，１｝の数値列をフィルタ係数とする第１のＦＩＲフィルタ２１と、同じく｛１，１，１，１｝の数値列をフィルタ係数とする第２のＦＩＲフィルタ２２と、当該第２のＦＩＲフィルタ２２から出力される数値列を平均化する平均化処理部２３とにより生成される。ここで言う平均化とは、数値列を１クロックずつ遅延させ、遅延前の元の数値と１クロック遅延された数値とを加算する処理のことを言う。
【００２７】
すなわち、図６（ｂ）に示すように、第１のＦＩＲフィルタ２１に振幅“１”のユニットパルスを入力すると、縦続接続された２つのＦＩＲフィルタ２１，２２を通過することによって｛１，２，３，４，３，２，１｝という数値列が生成される。そして、この数値列が平均化処理部２３により平均化されることにより、｛１，３，５，７，７，５，３，１｝の数値列が生成される。ＦＩＲフィルタ部３は、図２のように構成しても良いし、図６（ａ）のように構成しても良い。
【００２８】
図７は、第１のＦＩＲフィルタ２１に振幅“１”のユニットパルスを入力した場合における出力の周波数特性、すなわち、当該第１のＦＩＲフィルタ２１のインパルス応答の周波数特性を示す図である。これは、｛１，１，１，１｝の数値列を高速フーリエ変換したものに等しい。なお、この図７において、周波数軸は最大周波数値が“１”となり、振幅軸は最大値が“１”となるように基準化されている。また、図８は、ＦＩＲフィルタ部３のインパルス応答の周波数特性（｛１，３，５，７，７，５，３，１｝の数値列を高速フーリエ変換したもの）を示す図である。この図８においても、周波数軸は最大周波数値が“１”となるように基準化されている。
【００２９】
ＦＩＲフィルタ部３のフィルタ係数｛１，３，５，７，７，５，３，１｝は、図６に示すような構成により生成される。そのため、そのインパルス応答の周波数特性は、第１のＦＩＲフィルタ２１の周波数特性を表した図７のような特徴を持つ。実際には、｛１，１，１，１｝という同様のフィルタ係数を持つ２つのＦＩＲフィルタ２１，２２が縦続接続され、その後段に平均化処理部２３が接続される構成を持つため、阻止域の減衰量は図８のように大きくなり、通過域はサンプリング周波数の１／４（＝２／Ｎ＝２／８）に帯域制限されている。
【００３０】
なお、以上はＮ＝８とした場合の例であったが、例えばＮ＝７とすると、Ｎが奇数なので、ＦＩＲフィルタ部３のフィルタ係数として（２）の数値列が使用される。この場合の数値列は、具体的には｛１，３，５，６，５，３，１｝（ここでは説明の簡略化のため、分母は省略する）となる。
【００３１】
図９に示すように、Ｎ＝７の場合、振幅“１”のユニットパルスに対するオーバーサンプリングの実施により“１，１，１，１，１，１，１”という７個の数値列が得られる。ＦＩＲフィルタ部３は、オーバーサンプリングにより生成された“１，１，１，１，１，１，１”の数値列を入力し、これに対して｛１，３，５，６，５，３，１｝の数値列から成るフィルタ係数によってフィルタリング処理を行うことにより、｛１，４，９，１５，２０，２３，２４，２３，２０，１５，９，４，１｝という１３個の数値列を得る。
【００３２】
この１３個の数値列の振幅値を縦軸にとり、クロック位置を横軸にとってグラフ化すると、図１０のようになる。図１０に示される曲線も、図４に示した曲線と同様スプライン曲線であり、クロック位置が０〜１４の間のみで“０”以外の有限な振幅値を有し、それ以外の領域では振幅値が全て“０”となる有限台の補間関数を示すものである。
【００３３】
図１１は、Ｎ＝７とした場合のＦＩＲフィルタ部３の構成例を示す図である。なお、この図１１において、図６に示した構成要素と同一の機能を有する構成要素には同一の符号を付している。｛１，３，５，６，５，３，１｝という数値列は、図１１（ａ）に示すように、｛１，１，１，１｝の数値列をフィルタ係数とする第１のＦＩＲフィルタ２１と、｛１，１，１｝の数値列をフィルタ係数とする第３のＦＩＲフィルタ３１と、当該第３のＦＩＲフィルタ３１から出力される数値列を平均化する平均化処理部２３とにより生成される。
【００３４】
すなわち、図１１（ｂ）に示すように、第１のＦＩＲフィルタ２１に振幅“１”のユニットパルスを入力すると、縦続接続された２つのＦＩＲフィルタ２１，３１を通過することによって｛１，２，３，３，２，１｝という数値列が生成される。そして、この数値列が平均化処理部２３により平均化されることにより、｛１，３，５，６，５，３，１｝の数値列が生成される。
【００３５】
ＦＩＲフィルタ部３のフィルタ係数｛１，３，５，６，５，３，１｝のインパルス応答の周波数特性は、第１のＦＩＲフィルタ２１の周波数特性を表した図７のような特徴を持つ。実際には、２つのＦＩＲフィルタ２１，３１が縦続接続され、その後段に平均化処理部２３が接続される構成を持つため、阻止域の減衰量は図８のように大きくなり、通過域はサンプリング周波数の２／７（＝２／Ｎ）に帯域制限されている。
【００３６】
以上詳しく説明したように、１つのサンプル値は、オーバーサンプリング部２によりＮ倍にオーバーサンプルされて、Ｎ個のサンプル値となる。さらにそれがＦＩＲフィルタ部３により平滑化されて、図４または図１０のようにサンプル値の数はＮ個のほぼ２倍となり、元のサンプル点の間がスプライン曲線により滑らかに補間される。このスプライン曲線は有限台の補間関数を示すものである。このような有限台の補間関数では、“０”以外の有限の値を有する局所的な領域内のデータだけが意味を持つ。この領域外のデータについては理論的に考慮する必要がないため、打ち切り誤差の発生を抑制することができる。
【００３７】
また、ＦＩＲフィルタ部３の出力の周波数特性は、図８のように通過域がサンプリング周波数の２／Ｎに帯域制限される。このように、本実施形態のデジタルフィルタでは、滑らかな補間曲線を生成すると同時に、オーバーサンプリングの倍率Ｎと生成補間関数とに応じた帯域制限をするので、折り返しノイズを抑制するためのローパスフィルタは不要となる。すなわち、本実施形態によれば、ＦＩＲフィルタ部３の後段にローパスフィルタを設けたり、オーバーサンプリング部２において０値挿入のための構成を設けたりすることなく、補間関数を用いた補間処理によって生じる折り返しノイズを抑制することができる。
【００３８】
次に、上記のように構成した本実施形態のデジタルフィルタを、画像の拡大／縮小を行う画像処理装置に応用した場合の例について説明する。図１２は、本実施形態による画像処理装置の構成例を示す図である。図１２に示すように、本実施形態の画像処理装置は、クロック生成部５１、垂直方向拡大フィルタ５２および水平方向拡大フィルタ５３を備えて構成されている。この画像処理装置は、２次元空間上に等間隔に配置された複数の画素によって構成される原画像の拡大を行うものである。
【００３９】
クロック生成部５１は、基準周波数のクロックｃｋ０を入力するとともに、画像の垂直方向の拡大率Ｎ１、水平方向の拡大率Ｎ２、水平同期信号Ｈ、垂直同期信号Ｖを入力する。クロック生成部５１は、基準周波数のクロックｃｋ０から各種周波数のクロックＶ＊ｃｋ０、Ｖ＊Ｎ１＊ｃｋ０、Ｈ＊ｃｋ０、Ｈ＊Ｎ２＊ｃｋ０を生成する。そして、クロックＶ＊ｃｋ０，Ｖ＊Ｎ１＊ｃｋ０および垂直方向の拡大率Ｎ１を垂直方向拡大フィルタ５２に出力する。また、クロックＨ＊ｃｋ０，Ｈ＊Ｎ２＊ｃｋ０および水平方向の拡大率Ｎ２を水平方向拡大フィルタ５３に出力する。
【００４０】
垂直方向拡大フィルタ５２は、図１と同様の構成を有しており（ただし、Ｄ型フリップフロップの遅延量は１水平ライン分とする）、２次元空間上で垂直方向に等間隔に配置された各画素の画素値を順次入力し、上述したオーバーサンプリング部２およびＦＩＲフィルタ部３の処理をＮ＝Ｎ１として行うことにより、垂直方向にＮ１倍個の画素値を取得する。これにより、垂直方向に原画像をＮ１倍に拡大する。
【００４１】
水平方向拡大フィルタ５３は、図１と同様の構成を有しており、垂直方向拡大フィルタ５２により垂直方向に対してＮ１倍に拡大された２次元空間上で水平方向に等間隔に配置された各画素の画素値を順次入力し、上述したオーバーサンプリング部２およびＦＩＲフィルタ部３の処理をＮ＝Ｎ２として行うことにより、水平方向にＮ２倍個の画素値を取得する。これにより、垂直方向にＮ１倍された画像を水平方向にＮ２倍する。
【００４２】
ここで、垂直方向拡大フィルタ５２および水平方向拡大フィルタ５３は、画像の拡大率Ｎ１，Ｎ２に応じてＦＩＲフィルタ部３のフィルタ係数を切り替えられるように、複数種類の拡大率Ｎ１，Ｎ２に対応した構成のＦＩＲフィルタ部３を幾つかあらかじめ用意しておき、入力される拡大率Ｎ１，Ｎ２に基づいて何れかを選択的に用いるようにすることが可能である。また、オーバーサンプリング部２およびＦＩＲフィルタ部３の構成を例えばＤＳＰ（Digital Signal Processor）で構成するとともに、拡大率Ｎ１，Ｎ２に対応したフィルタ係数をＲＯＭなどのメモリに保存しておき、入力される拡大率Ｎ１，Ｎ２に基づいてＤＳＰがＲＯＭからフィルタ係数を読み出して演算するようにしても良い。
【００４３】
図１３は、本実施形態による画像処理装置の他の構成例を示す図である。なお、この図１３において、図１２に示した構成要素と同一の機能を有する構成要素には同一の符号を付している。図１３に示す画像処理装置は、クロック生成部６１、垂直方向拡大フィルタ５２、垂直方向間引きフィルタ６２、水平方向拡大フィルタ５３および水平方向間引きフィルタ６３を備えて構成されている。この画像処理装置は、２次元空間上に等間隔に配置された複数の画素によって構成される原画像の拡大または縮小を行うものである。
【００４４】
クロック生成部６１は、基準周波数のクロックｃｋ０を入力するとともに、画像の垂直方向の拡大率Ｎ１、水平方向の拡大率Ｎ２、垂直方向の縮小率Ｍ１、水平方向の縮小率Ｍ２、水平同期信号Ｈ、垂直同期信号Ｖを入力する。クロック生成部６１は、基準周波数のクロックｃｋ０から各種周波数のクロックＶ＊ｃｋ０、Ｖ＊Ｎ１＊ｃｋ０、Ｖ＊Ｍ１＊ｃｋ０、Ｈ＊ｃｋ０、Ｈ＊Ｎ２＊ｃｋ０、Ｈ＊Ｍ２＊ｃｋ０を生成する。
【００４５】
そして、クロック生成部６１は、クロックＶ＊ｃｋ０，Ｖ＊Ｎ１＊ｃｋ０および垂直方向の拡大率Ｎ１を垂直方向拡大フィルタ５２に出力する。また、クロックＨ＊ｃｋ０，Ｈ＊Ｎ２＊ｃｋ０および水平方向の拡大率Ｎ２を水平方向拡大フィルタ５３に出力する。また、クロックＶ＊ｃｋ０，Ｖ＊Ｍ１＊ｃｋ０および垂直方向の縮小率Ｍ１を垂直方向間引きフィルタ６２に出力する。また、クロックＨ＊ｃｋ０，Ｈ＊Ｍ２＊ｃｋ０および水平方向の縮小率Ｍ２を水平方向間引きフィルタ６３に出力する。
【００４６】
垂直方向拡大フィルタ５２は、図１と同様の構成を有しており（ただし、Ｄ型フリップフロップの遅延量は１水平ライン分とする）、２次元空間上で垂直方向に等間隔に配置された各画素の画素値を順次入力し、上述したオーバーサンプリング部２およびＦＩＲフィルタ部３の処理をＮ＝Ｎ１として行うことにより、垂直方向にＮ１倍個の画素値を取得する。これにより、垂直方向に原画像をＮ１倍に拡大する。
【００４７】
垂直方向間引きフィルタ６２は、垂直方向拡大フィルタ５２により垂直方向に対してＮ１倍に拡大された２次元空間上において、垂直方向に等間隔に配置された各画素の画素値を１／Ｍ１倍（Ｍ１は２以上の整数）に間引く。具体的には、垂直方向拡大フィルタ５２により垂直方向にＮ１倍された画像を構成する各ラインの信号のうち、Ｍ１ラインに１本ずつ信号を次段の水平方向拡大フィルタ５３に出力し、その他のラインの信号は間引いて破棄する。間引きの前段で垂直方向拡大フィルタ５２によりサンプル点間が滑らかに補間されているので、垂直方向のサンプル値を１／Ｍ１に間引いても、間引き後のサンプル値の包絡線も滑らかとなっている。
【００４８】
水平方向拡大フィルタ５３は、図１と同様の構成を有しており、垂直方向拡大フィルタ５２および垂直方向間引きフィルタ６２により垂直方向に対してＮ１／Ｍ１倍に拡大された２次元空間上で水平方向に等間隔に配置された各画素の画素値を順次入力し、上述したオーバーサンプリング部２およびＦＩＲフィルタ部３の処理をＮ＝Ｎ２として行うことにより、水平方向にＮ２倍個の画素値を取得する。これにより、垂直方向にＮ１／Ｍ１倍された画像を水平方向にＮ２倍する。
【００４９】
水平方向間引きフィルタ６３は、水平方向拡大フィルタ５３により水平方向に対してＮ２倍に拡大された２次元空間上において、水平方向に等間隔に配置された各画素の画素値を１／Ｍ２倍（Ｍ２は２以上の整数）に間引く。具体的には、水平方向拡大フィルタ５３により水平方向にＮ２倍された画像を構成する各画素の信号のうち、Ｍ２画素に１個ずつ信号を出力し、その他の画素の信号は間引いて破棄する。間引きの前段で水平方向拡大フィルタ５３によりサンプル点間が滑らかに補間されているので、水平方向のサンプル値を１／Ｍ２に間引いても、間引き後のサンプル値の包絡線も滑らかとなっている。
【００５０】
図１３に示すように構成した画像処理装置によれば、原画像を垂直方向にＮ１／Ｍ１倍、水平方向Ｎ２／Ｍ２倍した変倍画像を生成することができる。Ｎ１＞Ｍ１とすれば垂直方向に拡大、Ｎ１＜Ｍ１とすれば垂直方向に縮小した画像を得ることができる。同様に、Ｎ２＞Ｍ２とすれば水平方向に拡大、Ｎ２＜Ｍ２とすれば水平方向に縮小した画像を得ることができる。また、本実施形態の画像処理装置によれば、アンチエリアスフィルタや０値挿入のための構成を設けることなく、極めて簡単な構成で、原画像の画素間をスプライン曲線により滑らかに補間し、かつ、折り返しノイズも少ない拡大／縮小画像を得ることができる。
【００５１】
なお、上記実施形態では、最初に垂直方向に画像を拡大／縮小した後、次に水平方向に画像を拡大／縮小する例について説明している。最初に水平方向に画像を拡大／縮小し、次に垂直方向に画像を拡大／縮小することも可能であるが、垂直方向を先に行った方が全体として演算が簡単になるので、より好ましい。
【００５２】
その他、上記実施形態は、本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【産業上の利用可能性】
【００５３】
本発明は、ＦＩＲ型のデジタルフィルタに有用である。また、当該デジタルフィルタの応用例として、画像の拡大／縮小を行う画像処理装置に有用である。また、音声データに対してデータ補間を行うことによって様々な音響効果を付与する音響効果付加装置などにも有用である。これ以外にも応用は可能である。すなわち、本発明のデジタルフィルタは、例えば音声のような１次元のデータを補間する１次元デジタルフィルタ、例えば平面画像のような２次元のデータを補間する２次元デジタルフィルタ、例えば立体画像のような３次元のデータを補間する３次元デジタルフィルタとして応用することが可能である。
【図面の簡単な説明】
【００５４】
【図１】本実施形態によるデジタルフィルタの構成例を示す図である。
【図２】本実施形態によるＦＩＲフィルタ部の構成例を示す図である。
【図３】本実施形態によるＦＩＲフィルタ部の演算例を示す図である。
【図４】本実施形態によるＦＩＲフィルタ部の出力波形を示す図である。
【図５】本実施形態のＦＩＲフィルタ部と同様の出力を得る他の演算例を示す図である。
【図６】本実施形態によるＦＩＲフィルタ部の構成例を示す図である。
【図７】本実施形態による第１のＦＩＲフィルタの周波数特性を示す図である。
【図８】本実施形態によるＦＩＲフィルタ部の周波数特性を示す図である。
【図９】本実施形態によるＦＩＲフィルタ部の演算例を示す図である。
【図１０】本実施形態によるＦＩＲフィルタ部の出力波形を示す図である。
【図１１】本実施形態によるＦＩＲフィルタ部の構成例を示す図である。
【図１２】本実施形態による画像処理装置の構成例を示す図である。
【図１３】本実施形態による画像処理装置の他の構成例を示す図である。
【符号の説明】
【００５５】
１  バッファ用のＤ型フリップフロップ
２  オーバーサンプリング用のＤ型フリップフロップ（オーバーサンプリング部）
３  ＦＩＲフィルタ部
５１  クロック生成部
５２  垂直方向拡大フィルタ
５３  水平方向拡大フィルタ
６１  クロック生成部
６２  垂直方向間引きフィルタ
６３  水平方向間引きフィルタ
【図１】
2008021119.tif 000003
【図２】
2008021119.tif 000004
【図３】
2008021119.tif 000005
【図４】
2008021119.tif 000006
【図５】
2008021119.tif 000007
【図６】
2008021119.tif 000008
【図７】
2008021119.tif 000009
【図８】
2008021119.tif 000010
【図９】
2008021119.tif 000011
【図１０】
2008021119.tif 000012
【図１１】
2008021119.tif 000013
【図１２】
2008021119.tif 000014
【図１３】
2008021119.tif 000015