(57)【要約】【課題】無駄な演算を行わないことで、処理性能を高めることができるようにする。【解決手段】矩形フィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域を特定するとともに、その領域のフィルタ係数を出力するフィルタ形状判定部２と、画像データ格納部１の一時バッファ１ａにより格納されている矩形領域の画像データの中から、フィルタ形状判定部２により特定された領域の画像データを読み出す入力画素セレクタ３とを設け、フィルタ演算部４がフィルタ形状判定部２から出力されたフィルタ係数を用いて、入力画素セレクタ３により読み出された画像データに対するフィルタ演算を行う。【選択図】図１
2010134846.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の中から所定の矩形領域を選択し、上記矩形領域の画像データを格納する画像データ格納手段と、画像処理用のフィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域を特定するとともに、上記領域のフィルタ係数を出力するフィルタ形状判定手段と、上記画像データ格納手段により格納されている矩形領域の画像データの中から、上記フィルタ形状判定手段により特定された領域の画像データを読み出す画像データ読出し手段と、上記フィルタ形状判定手段から出力されたフィルタ係数を用いて、上記画像データ読出し手段により読み出された画像データに対するフィルタ演算を行うフィルタ演算手段とを備えた画像処理装置。
【請求項２】
フィルタ形状判定手段は、フィルタのフィルタ係数が０以外の領域がフィルタ演算に必要な領域であると判定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
フィルタ演算手段がフィルタのライン数より少ないライン数の演算器から構成されており、複数の演算器がライン単位のフィルタ演算を繰り返し実施することで、フィルタ演算の最終的な結果を得ることを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
画像データ読出し手段は、画像データ格納手段から読み出す画像データのライン番号をフィルタ演算手段を構成している演算器の数で除算したときの余りを求め、上記複数の演算器のうち、その余りと等しいライン番号を有する演算器に対して、上記画像データを出力することを特徴とする請求項３記載の画像処理装置。
【請求項５】
画像データ読出し手段がフィルタ演算手段を構成している複数の演算器に対する画像データの割り当てタイミングを制御して、フィルタ演算の処理サイクル数を短縮することを特徴とする請求項４記載の画像処理装置。
【請求項６】
入力画像の中から所定の矩形領域を選択し、上記矩形領域の画像データを格納する画像データ格納処理手順と、画像処理用のフィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域を特定するとともに、上記領域のフィルタ係数を出力するフィルタ形状判定処理手順と、上記画像データ格納処理手順により格納されている矩形領域の画像データの中から、上記フィルタ形状判定処理手順により特定された領域の画像データを読み出す画像データ読出し処理手順と、上記フィルタ形状判定処理手順から出力されたフィルタ係数を用いて、上記画像データ読出し処理手順により読み出された画像データに対するフィルタ演算を行うフィルタ演算処理手順とをコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力画像から矩形領域を選択して、その矩形領域に対するフィルタ処理を行う画像処理装置及び画像処理プログラムに関するものである。
【背景技術】
【０００２】
従来より、入力画像から一部の矩形領域を選択し、その矩形領域と等しい大きさの矩形フィルタを使用して、その矩形領域に対するフィルタ演算を行う画像処理装置が広く使われている。
以下の特許文献１に開示されている画像処理装置は、矩形領域に対するフィルタ演算を行う際、メモリ容量を削減しつつ、処理効率低下を防ぐことができるような画像メモリを備えている。
【０００３】
即ち、特許文献１に開示されている画像処理装置は、ｍ画素×ｎライン（ｍ、ｎは自然数）の画像からｐ画素×ｑライン（ｐ、ｑは自然数）の矩形領域を選択して、フィルタ処理を実施する場合、その矩形領域の画像データをｋビット×ｓ画素（ｋ、ｓは自然数）のシステムバスを介して、フィルタ回路のメモリ部に転送するが、メモリ容量の削減と処理効率の低下を防ぐため、そのメモリ部が複数のラインメモリを備えるとともに、ラインメモリ毎にフィルタ演算を行う演算回路を備えるようにしている。
【０００４】
【特許文献１】特開２００７−７２８６７号公報（段落番号［００１７］、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の画像処理装置は以上のように構成されているので、矩形領域と等しい大きさの矩形フィルタを使用して、その矩形領域に対するフィルタ演算を行う。しかし、その矩形フィルタの中には、一般的に、フィルタ係数が０である領域が多く含まれているが、フィルタ係数が０であるか否かを判定することなく、フィルタ係数が０の領域についてもフィルタ演算を実施するようにしており、無駄な演算（フィルタ係数が０の領域については演算結果が０となるため、演算を省略することができる）が行われている課題があった。
また、フィルタ回路のライン数ｎと等しい数の演算回路を備えれば、メモリ容量の削減と処理効率の低下を防ぐことができるが、数多くの演算回路を実装する必要があるため、回路規模の増大を招いてしまうなどの課題があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、無駄な演算を行わないことで、処理性能を高めることができる画像処理装置及び画像処理プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る画像処理装置は、画像処理用のフィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域を特定するとともに、その領域のフィルタ係数を出力するフィルタ形状判定手段と、画像データ格納手段により格納されている矩形領域の画像データの中から、フィルタ形状判定手段により特定された領域の画像データを読み出す画像データ読出し手段とを設け、フィルタ演算手段がフィルタ形状判定手段から出力されたフィルタ係数を用いて、画像データ読出し手段により読み出された画像データに対するフィルタ演算を行うようにしたものである。
【発明の効果】
【０００８】
この発明によれば、画像処理用のフィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域を特定するとともに、その領域のフィルタ係数を出力するフィルタ形状判定手段と、画像データ格納手段により格納されている矩形領域の画像データの中から、フィルタ形状判定手段により特定された領域の画像データを読み出す画像データ読出し手段とを設け、フィルタ演算手段がフィルタ形状判定手段から出力されたフィルタ係数を用いて、画像データ読出し手段により読み出された画像データに対するフィルタ演算を行うように構成したので、無駄な演算を行わないことで、処理性能を高めることができる効果がある。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１はこの発明の実施の形態１による画像処理装置を示す構成図である。
図１において、画像データ格納部１は入力画像（静止画又は動画）の中から所定の矩形領域（例えば、Ｍ画素×Ｍラインの矩形領域）を選択し、その矩形領域の画像データを一時バッファ１ａに格納する処理を実施する。なお、画像データ格納部１は画像データ格納手段を構成している。
フィルタ形状判定部２は複数の矩形フィルタ（画像処理用のフィルタ）の中からフィルタ演算に使用する矩形フィルタを選択し、その矩形フィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域（矩形フィルタのフィルタ係数が０以外の領域）を特定し、フィルタ演算に必要な領域の画像データの読み出し開始位置と読み出しサイズを指定するとともに、フィルタ演算に必要な領域のフィルタ係数を出力する処理を実施する。なお、フィルタ形状判定部２はフィルタ形状判定手段を構成している。
【００１０】
入力画素セレクタ３は画像データ格納部１の一時バッファ１ａにより格納されている矩形領域の画像データの中から、フィルタ形状判定部２により指定された読み出し開始位置と読み出しサイズにしたがって、フィルタ演算に必要な領域の画像データを読み出して、その画像データをフィルタ演算部４に出力する処理を実施する。
ただし、入力画素セレクタ３は画像データをフィルタ演算部４に出力するに際して、画像データ格納部１の一時バッファ１ａから読み出す画像データのライン番号ｍを、フィルタ演算部４を構成している１ライン演算器４ａの個数Ｎで除算したときの余りＲを求め、Ｎ個の１ライン演算器４ａのうち、その余りＲと等しいライン番号Ｃを有する１ライン演算器４ａに対して、その画像データを出力する。
なお、入力画素セレクタ３は画像データ読出し手段を構成している。
【００１１】
フィルタ演算部４はフィルタ形状判定部２から出力されたフィルタ係数を用いて、入力画素セレクタ３から出力された画像データに対するフィルタ演算を実施する。
即ち、フィルタ演算部４は矩形フィルタのライン数Ｍより少ないライン数Ｎの１ライン演算器４ａから構成されており、Ｎ個の１ライン演算器４ａがライン単位のフィルタ演算を繰り返し実施することで、フィルタ演算の最終的な結果を出力する。
なお、フィルタ演算部４はフィルタ演算手段を構成している。
【００１２】
図１の例では、画像処理装置の構成要素である画像データ格納部１、フィルタ形状判定部２、入力画素セレクタ３及びフィルタ演算部４のそれぞれが専用のハードウェア（例えば、ＭＰＵを実装している半導体集積回路基板）で構成されているものを想定しているが、画像処理装置がコンピュータで構成される場合（コンピュータには、例えば、パソコンのほかに、後述する画像処理プログラムを実行することが可能な携帯電話、携帯情報端末やデジタルカメラなども含まれる）、画像データ格納部１、フィルタ形状判定部２、入力画素セレクタ３及びフィルタ演算部４の処理内容を記述している画像処理プログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されている画像処プログラムを実行するようにしてもよい。
図２はこの発明の実施の形態１による画像処理装置の処理内容を示すフローチャートである。
【００１３】
次に動作について説明する。
画像処理装置は、当該処理装置を搭載しているシステムのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）から演算処理開始命令を受けることにより、動作を開始する。
画像データ格納部１は、演算処理開始命令を受けると、入力画像（静止画又は動画）の中から所定の矩形領域（例えば、Ｍ画素×Ｍラインの矩形領域）を選択し、その矩形領域の画像データを一時バッファ１ａに格納する（ステップＳＴ１）。
【００１４】
フィルタ形状判定部２は、複数の矩形フィルタの中からフィルタ演算に使用する矩形フィルタを選択する。ただし、矩形フィルタの選択方法は、特に限定するものではなく、任意の矩形フィルタが選択されれば足りるため詳細な説明を省略する。
ここで、図３は矩形フィルタの一例を示す説明図である。
図３に示すような２４×２４の矩形フィルタの組が用いられる場合、後述するフィルタ演算部４では、“灰色の部分の各画素の画素値の総和”と“白色の部分の各画素の画素値の総和”との差分を求めるような演算を実施する。
【００１５】
具体的には、下記の式（１）に示すようなフィルタ演算が実施され、フィルタ演算の演算結果として、ｒ（ｋ）が得られる。
【数１】
2010134846.tif 000003
ただし、ａ（ｘ，ｙ）はフィルタ係数、ｐ（ｘ，ｙ）は画素値である。画素値としては輝度（Ｙ）、色差（Ｃｂ、Ｃｒ）などの値が用いられる。
【００１６】
ただし、実際の用途では、矩形フィルタの内部でフィルタ係数が０となる領域が大きいことが多い。
フィルタ演算部４が式（１）の演算を行う場合、フィルタ係数が０となる点（ｘ，ｙ）では、ａ（ｘ，ｙ）＊ｐ（ｘ，ｙ）の演算結果が“０”となるため、演算を省略することができる。
したがって、矩形フィルタの中で０以外の係数が含まれる領域の左上座標を（ｘｍｉｎ，ｙｍｉｎ）、右下座標を（ｘｍａｘ，ｙｍａｘ）とおくと、式（１）は下記の式（２）のように置き換えることができる。
【数２】
2010134846.tif 000004
【００１７】
そこで、フィルタ形状判定部２は、フィルタ演算部４が式（１）の代わりに式（２）を用いて、フィルタ演算を行えるようにするため、その矩形フィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域（矩形フィルタのフィルタ係数が０以外の領域：図３の斜線部以外の領域）を特定する。
フィルタ形状判定部２は、フィルタ演算に必要な領域を特定すると、フィルタ演算に必要な領域の画像データの読み出し開始位置（ｘｍｉｎ，ｙｍｉｎ）と、読み出しサイズ（ｘｍａｘ−ｘｍｉｎ，ｙｍａｘ−ｙｍｉｎ）を指定するとともに、フィルタ演算に必要な領域のフィルタ係数をフィルタ演算部４に出力する（ステップＳＴ２）。
ただし、フィルタ形状判定部２は、上記の処理を毎回行うのではなく、予め（ｘｍｉｎ，ｙｍｉｎ）、（ｘｍａｘ，ｙｍａｘ）の情報を矩形フィルタに付加しておき、その情報を利用するようにしてもよい。
【００１８】
入力画素セレクタ３は、フィルタ形状判定部２から画像データの読み出し開始位置（ｘｍｉｎ，ｙｍｉｎ）と読み出しサイズ（ｘｍａｘ−ｘｍｉｎ，ｙｍａｘ−ｙｍｉｎ）の指定を受けると、その読み出し開始位置と読み出しサイズにしたがって、画像データ格納部１の一時バッファ１ａにより格納されている矩形領域の画像データの中から、フィルタ演算に必要な領域の画像データを読み出して、その画像データをフィルタ演算部４に出力する（ステップＳＴ３）。
ただし、矩形フィルタのライン数がＭ、フィルタ演算部４を構成している１ライン演算器４ａの個数がＮ（Ｍ≧Ｎ）であるとき、従来例のように、単純に矩形フィルタの形状に応じて、読み出し開始位置と読み出し方向を決定するようにすると、図４（ａ）に示すように、フィルタ演算部４を構成している１ライン演算器４ａの各々に出力する画像データとして、矩形フィルタのライン数Ｍと等しいＭ通りの可能性を考慮する必要がある。図４では、説明の簡略化のため、画像データがライン単位で読み出されるものとしている。
この場合、入力画素セレクタ３は、Ｍラインから１ラインを選択するセレクタとなり、セレクタの規模が増大する問題点を生じる。
【００１９】
この実施の形態１では、セレクタ規模の増大を防止するため、入力画素セレクタ３が画像データをフィルタ演算部４に出力するに際して、画像データ格納部１の一時バッファ１ａから読み出す画像データのライン番号ｍ（ｍ＝０＋ｙｍｉｎ，１＋ｙｍｉｎ，・・・，（Ｍ−１）＋ｙｍｉｎ）を、フィルタ演算部４を構成している１ライン演算器４ａの個数Ｎ（Ｍ≧Ｎ）で除算したときの余りＲを求め、Ｎ個の１ライン演算器４ａのうち、その余りＲと等しいライン番号Ｃを有する１ライン演算器４ａに対して、その画像データを出力するようにしている（図４（ｂ）を参照）。
【００２０】
ここで、図５はフィルタ演算部４を構成している１ライン演算器４ａ（１ライン演算器４ａのライン番号Ｃ）と画像データのライン番号ｍとの対応関係を示す説明図である。
図５では、ライン番号０の１ライン演算器４ａである演算器（１）には、ライン番号ｍ（ｍ＝０＋ｙｍｉｎ，１＋ｙｍｉｎ，・・・，（Ｍ−１）＋ｙｍｉｎ）の画像データのうち、ライン番号ｍをＮで割った余りＲが“０”のラインの画像データのみが入力され、ライン番号１の演算器（２）には、ライン番号ｍをＮで割った余りＲが“１”のラインの画像データのみが入力され、ライン番号Ｎ−１の演算器（Ｎ）には、ライン番号ｍをＮで割った余りＲが“Ｎ−１”のラインの画像データのみが入力される例を示している。
これにより、入力画素セレクタ３では、（Ｍ／Ｎ）ラインから１ラインを選択するだけでよいので、セレクタ規模をＮ分の１に削減することができる。
【００２１】
フィルタ演算部４は、フィルタ形状判定部２からフィルタ演算に必要な領域のフィルタ係数を受け、入力画素セレクタ３からフィルタ演算に必要な領域の画像データを受けると、上記の式（２）に示すように、そのフィルタ係数を用いて、その画像データに対するフィルタ演算を実施する。
即ち、フィルタ演算部４におけるＮ個の１ライン演算器４ａは、入力画素セレクタ３から出力された画像データに対応するラインのフィルタ係数を用いて、その画像データに対するフィルタ演算を実施する（ステップＳＴ４）。
【００２２】
Ｎ個の１ライン演算器４ａが設けられている場合、１回の処理サイクルで、Ｎライン分の画像データに対するフィルタ演算を一度に行うことができるが、画像データのライン数Ｍが１ライン演算器４ａの並列度Ｎより大きい場合、１回の処理サイクルで、フィルタ演算を終了することができないので（ステップＳＴ５）、入力画素セレクタ３が未だフィルタ演算を実施していない画像データをＮ個の１ライン演算器４ａに出力する（ステップＳＴ６）。
具体的には、Ｍ≧２×Ｎの場合、少なくとも２以上の処理サイクルを必要とし、例えば、２回目の処理サイクルでは、Ｎ＋１〜２Ｎライン目の画像データをＮ個の１ライン演算器４ａに出力する。
【００２３】
フィルタ演算部４の１ライン演算器４ａは、次の処理サイクルに移行する際、今回の処理サイクルの演算結果を図示せぬメモリに格納する。
フィルタ演算部４は、ライン数Ｍの画像データに対するフィルタ演算が終了すると、図示せぬメモリから各処理サイクルにおける１ライン演算器４ａの演算結果を読み出し、それらの演算結果を出力する。
【００２４】
ライン数Ｍの画像データに対するフィルタ演算が終了すると、他の矩形フィルタを用いて、フィルタ演算を実施する必要があれば（ステップＳＴ７）、フィルタ形状判定部２が他の矩形フィルタを選択して（ステップＳＴ８）、ステップＳＴ２の処理に移行し、ステップＳＴ３〜ステップＳＴ７の処理を繰り返し実施する。
【００２５】
他の矩形フィルタを用いて、フィルタ演算を実施する必要がなければ、例えば、画像処理装置を搭載しているシステムのＣＰＵが、入力画像に含まれている全ての矩形領域についてフィルタ演算が終了しているか否かを判定し（ステップＳＴ９）、全ての矩形領域についてフィルタ演算が終了していなければ、ステップＳＴ１の処理に戻り、画像データ格納部１がフィルタ演算を未だ実施していない矩形領域の画像データを一時バッファ１ａに格納して、ステップＳＴ２〜ステップＳＴ９の処理を繰り返し実施する。
なお、次の矩形領域の格納処理による性能低下が起こらないようにするためには、次の矩形領域に含まれる画像データをあらかじめ読み出しておくのが望ましい。
全ての矩形領域についてフィルタ演算が終了していれば、一連の処理を終了する。
【００２６】
ここで、フィルタ演算部４を構成している１ライン演算器４ａの個数が４個、画像データのライン数Ｍが２４であるとき、４個の１ライン演算器４ａに入力される画像データの具体例に説明する。
図６はフィルタ演算部４を構成している４個の１ライン演算器４ａ（１ライン演算器４ａのライン番号Ｃ）とライン数２４の画像データのライン番号ｍとの対応関係を示す説明図である。
ただし、図６では、説明の簡単化のため、ライン番号ｍ（ｍ＝０，１，２，・・・，２３）の画像データが、フィルタ演算に必要な領域の画像データであるとしている。
【００２７】
図６の例では、ライン番号０の１ライン演算器４ａである演算器（１）には、ライン番号ｍの画像データのうち、ライン番号ｍを“４”で割った余りＲが“０”のラインの画像データ（ライン番号０，４，８，・・・，２０の画像データ）のみが入力され、ライン番号１の演算器（２）には、ライン番号ｍを“４”で割った余りＲが“１”のラインの画像データ（ライン番号１，５，９，・・・，２１の画像データ）のみが入力される。
また、ライン番号２の演算器（３）には、ライン番号ｍを“４”で割った余りＲが“２”のラインの画像データ（ライン番号２，６，１０，・・・，２２の画像データ）のみが入力され、ライン番号３の演算器（４）には、ライン番号ｍを“４”で割った余りＲが“３”のラインの画像データ（ライン番号３，７，１１，・・・，２３の画像データ）のみが入力される。
【００２８】
以上で明らかなように、この実施の形態１によれば、矩形フィルタの形状とフィルタ係数を判別することで、フィルタ演算に必要な領域を特定するとともに、その領域のフィルタ係数を出力するフィルタ形状判定部２と、画像データ格納部１の一時バッファ１ａにより格納されている矩形領域の画像データの中から、フィルタ形状判定部２により特定された領域の画像データを読み出す入力画素セレクタ３とを設け、フィルタ演算部４がフィルタ形状判定部２から出力されたフィルタ係数を用いて、入力画素セレクタ３により読み出された画像データに対するフィルタ演算を行うように構成したので、無駄な演算を行わないことで、処理性能を高めることができる効果を奏する。
【００２９】
また、この実施の形態１によれば、フィルタ演算部４が矩形フィルタのライン数Ｍより少ないライン数Ｎの１ライン演算器４ａから構成されており、Ｎ個の１ライン演算器４ａがライン単位のフィルタ演算を繰り返し実施することで、フィルタ演算の最終的な結果を出力するように構成したので、従来例よりも少ない演算器で（従来例は、フィルタ回路のライン数と等しい数の演算回路を実装）、フィルタ演算を実施することができるようになり、回路規模の低減を図ることができる効果を奏する。
【００３０】
また、この実施の形態１によれば、入力画素セレクタ３が画像データをフィルタ演算部４に出力するに際して、画像データ格納部１の一時バッファ１ａから読み出す画像データのライン番号ｍ（ｍ＝０＋ｙｍｉｎ，１＋ｙｍｉｎ，・・・，（Ｍ−１）＋ｙｍｉｎ）を、フィルタ演算部４を構成している１ライン演算器４ａの個数Ｎで除算したときの余りＲを求め、Ｎ個の１ライン演算器４ａのうち、その余りＲと等しいライン番号Ｃを有する１ライン演算器４ａに対して、その画像データを出力するように構成したので、従来より、セレクタ規模をＮ分の１に削減することができる効果を奏する。
【００３１】
実施の形態２．
上記実施の形態１では、Ｎ個の１ライン演算器４ａがライン単位のフィルタ演算を繰り返し実施するものについて示したが、入力画素セレクタ３がＮ個の１ライン演算器４ａに対する画像データの割り当てタイミングを制御して、フィルタ演算部４におけるフィルタ演算の処理サイクル数を短縮するようにしてもよい。
具体的には、以下の通りである。
【００３２】
図７はライン番号７〜１２の画像データを４個の１ライン演算器４ａに与えて、先頭のライン番号の画像データから順番にフィルタ演算を行う場合の処理サイクルと、各１ライン演算器４ａに入力される画像データのライン番号との対応関係を示す説明図である。
単純に、１ライン演算器４ａに入力されるライン番号を固定し、先頭のライン番号から順番に処理する方式では、図７に示すように、１サイクル目では、１つの１ライン演算器４ａがライン番号７の画像データについてのみフィルタ演算を実施する。
２サイクル目では、４つの１ライン演算器４ａがライン番号８〜１１の画像データについてフィルタ演算を実施するが、３サイクル目では、１つの１ライン演算器４ａがライン番号１２の画像データについてのみフィルタ演算を実施する。
図７において、×印を付している箇所では、フィルタ演算が行われておらず、１ライン演算器４ａが有効に使用されていない。このため、合計で３サイクルを要している。
【００３３】
そこで、この実施の形態２では、入力画素セレクタ３がＮ個の１ライン演算器４ａに対する画像データの割り当てタイミングを制御して、Ｎ個の１ライン演算器４ａが有効に使用されるようにしている。
図８は入力画素セレクタ３が４個の１ライン演算器４ａに対する画像データの割り当てタイミングを制御する場合の処理サイクルと、各１ライン演算器４ａに入力される画像データのライン番号との対応関係を示す説明図である。
１サイクル目では、１つの１ライン演算器４ａがライン番号７の画像データについてフィルタ演算を実施するほか、図７では使用されていない３つの１ライン演算器４ａについても、ライン番号８〜１１の画像データに対するフィルタ演算を実施するように、画像データの割り当てタイミングを制御する。
２サイクル目では、２つの１ライン演算器４ａがライン番号１１，１２の画像データについてフィルタ演算を実施することで、フィルタ演算を完了する。
このため、合計で、２サイクルでフィルタ演算を終了することができる。
【００３４】
実施の形態３．
上記実施の形態１，２では、フィルタ演算部４がＮ個の１ライン演算器４ａから構成されているものについて示したが、図９に示すように、フィルタ演算部４がＮ×Ｌ個の１ライン演算器４ａ、即ち、並列度がＮ×Ｌ（ＮはＹ方向の並列度、ＬはＸ方向の並列度）の１ライン演算器４ａから構成されていてもよい。
この場合、フィルタ演算に必要な領域のＸ方向のサイズが小さい場合、１ライン演算器４ａの利用効率を高くして、処理性能を高めることができる。
【００３５】
図１０はＹ方向の並列度がＮ＝４、Ｘ方向の並列度がＬ＝２であるとき、フィルタ演算部４を構成している１ライン演算器４ａと画像データのライン番号ｍとの対応関係を示す説明図である。
例えば、４ライン分の１ライン演算器４ａで６ライン分の演算を行う場合、図７に示す制御方式では３サイクルを要し、図８に示す制御方式では２サイクルを要する。
この実施の形態３では、図１０に示すように、各ラインの演算器を２分割しているので、例えば、ライン番号７〜１２の画像データに対するフィルタ演算を行う場合、演算器（１−１）〜（４−１）がライン番号７〜１０の画像データ、演算器（１−２）〜（４−２）がライン番号１１〜１２の画像データに対するフィルタ演算を同一サイクルで並列に実行することにより、同様の演算を１サイクルで終了させることができる。
ただし、矩形フィルタにおいて、フィルタ演算に必要な領域のＸ方向サイズが、矩形フィルタの全体のＸ方向サイズの１／２より小さい場合に限られる。
【００３６】
この実施の形態３では、矩形フィルタのＸ方向の有効サイズ（フィルタ演算に必要な領域のＸ方向サイズ）が横幅の１／Ｌ以下のときには、本来、次のサイクルで演算するはずのラインのフィルタ演算を、空いている演算器を使って行うことにより、演算器の利用効率を高め、処理性能を高めることができる。
【図面の簡単な説明】
【００３７】
【図１】この発明の実施の形態１による画像処理装置を示す構成図である。
【図２】この発明の実施の形態１による画像処理装置の処理内容を示すフローチャートである。
【図３】矩形フィルタの一例を示す説明図である。
【図４】入力画素セレクタ３から１ライン演算器４ａに出力される画像データを示す説明図である。
【図５】フィルタ演算部４を構成している１ライン演算器４ａ（１ライン演算器４ａのライン番号Ｃ）と画像データのライン番号ｍとの対応関係を示す説明図である。
【図６】フィルタ演算部４を構成している４個の１ライン演算器４ａ（１ライン演算器４ａのライン番号Ｃ）とライン数２４の画像データのライン番号ｍとの対応関係を示す説明図である。
【図７】ライン番号７〜１２の画像データを４個の１ライン演算器４ａに与えて、先頭のライン番号の画像データから順番にフィルタ演算を行う場合の処理サイクルと、各１ライン演算器４ａに入力される画像データのライン番号との対応関係を示す説明図である。
【図８】入力画素セレクタ３が４個の１ライン演算器４ａに対する画像データの割り当てタイミングを制御する場合の処理サイクルと、各１ライン演算器４ａに入力される画像データのライン番号との対応関係を示す説明図である。
【図９】フィルタ演算部４が並列度Ｎ×Ｌ（ＮはＹ方向の並列度、ＬはＸ方向の並列度）の１ライン演算器４ａから構成されている例を示す説明図である。
【図１０】Ｙ方向の並列度がＮ＝４、Ｘ方向の並列度がＬ＝２であるとき、フィルタ演算部４を構成している１ライン演算器４ａと画像データのライン番号ｍとの対応関係を示す説明図である。
【符号の説明】
【００３８】
１  画像データ格納部（画像データ格納手段）、１ａ  一時バッファ、２  フィルタ形状判定部（フィルタ形状判定手段）、３  入力画素セレクタ（画像データ読出し手段）、４  フィルタ演算部（フィルタ演算手段）、４ａ  １ライン演算器。
【図１】
2010134846.tif 000005
【図２】
2010134846.tif 000006
【図３】
2010134846.tif 000007
【図４】
2010134846.tif 000008
【図５】
2010134846.tif 000009
【図６】
2010134846.tif 000010
【図７】
2010134846.tif 000011
【図８】
2010134846.tif 000012
【図９】
2010134846.tif 000013
【図１０】
2010134846.tif 000014