(57)【要約】【課題】  処理時間が短くなる画像処理装置を提供する。【解決手段】  画像処理装置が備えるフィルタ列処理部６００は、データの入出力が行なわれる入出力部４１０と、予め定められた処理を実行する制御部４２０と、動作をするための基礎となる設定を変更可能なリコンフィギュラブルデバイス４３０と、データを格納するメモリ部６４０とを含む。メモリ部６４０は、生成されたフィルタ列を表わすデータ６４１と、現在処理が実行されているフィルタ列を表わすデータ６４２と、リコンフィギュラブルデバイス４３０の動作を制御するための機能情報６５０と、画像データ６６０とを含む。機能情報６５０は、フィルタ機能を実現するためのデータ６５０−１と、隙間多機能を実現するためのデータ６５２−１とを含む。【選択図】        図６
2007034719.tif 000002
【特許請求の範囲】
【請求項１】
画像データの入力を受ける入力手段と、
遺伝的アルゴリズムと予め準備された複数のフィルタとに基づいて、画像処理のための複数のフィルタ列を生成するフィルタ列生成手段とを備え、前記複数のフィルタ列の各々は、複数の前記フィルタを含み、
前記複数のフィルタの各々に基づくフィルタ処理の動作を規定するための各々の機能情報に基づいて、前記複数のフィルタ列の各々に含まれる複数のフィルタの各々に応じたフィルタ処理を前記画像データに対して実行するフィルタ列処理手段と、
予め入力された目標画像と、前記フィルタ列処理手段の処理により導出された結果画像とに基づいて、前記複数のフィルタ列から、前記目標画像との差が予め定められた値を下回る画像が導出されるフィルタ列を選択する選択手段と、
前記選択されたフィルタ列に含まれる複数のフィルタに基づいて、各々のフィルタ処理の結果が予め定められた基準を上回る複数のフィルタの情報を抽出する抽出手段と、
前記抽出手段により抽出された複数のフィルタの情報に基づいて、前記機能情報を生成する機能情報生成手段とを備える、画像処理装置。
【請求項２】
前記フィルタ列処理手段は、
前記各々の機能情報に基づく各フィルタ処理を実行する演算手段と、
前記演算手段による動作のための機能情報を格納する記憶手段と、
前記格納されている機能情報に基づいてフィルタ処理を実行するように前記演算手段を制御する制御手段とを含む、請求項１に記載の画像処理装置。
【請求項３】
前記演算手段は、
複数の演算器と、
前記各々の機能情報を前記複数の演算器の各々に割り付ける割付手段とを含む、請求項２に記載の画像処理装置。
【請求項４】
前記フィルタ列処理手段は、複数の前記演算手段を含む、請求項２に記載の画像処理装置。
【請求項５】
複数の前記演算手段は、直列に接続されており、
前記制御手段は、前記複数の演算手段の各々の動作を制御する動作制御手段をさらに含む、請求項４に記載の画像処理装置。
【請求項６】
前記動作制御手段は、前記複数の演算手段のいずれかによるフィルタ処理が前記フィルタ列に含まれる最後のフィルタによる処理である場合には、前記いずれかの演算手段の後に接続されている演算手段によるフィルタ処理を禁止する、請求項５に記載の画像処理装置。
【請求項７】
複数の前記演算手段は、並列に接続されており、
前記制御手段は、前記複数の演算手段の数に基づいて、画像処理のために入力される画像データを分割する分割手段を含む、請求項４に記載の画像処理装置。
【請求項８】
前記選択手段は、前記目標画像および前記結果画像の特徴量をそれぞれ算出し、そして前記予め定められた値を下回る結果画像が導出されるフィルタ列を選択する、請求項１に記載の画像処理装置。
【請求項９】
前記フィルタ列処理手段は、リコンフィギュラブルデバイスである、請求項１〜８のいずれかに記載の画像処理装置。
【請求項１０】
画像データの入力を受けるステップと、
遺伝的アルゴリズムと予め準備された複数のフィルタとに基づいて、画像処理のための複数のフィルタ列を生成するステップとを備え、前記複数のフィルタ列の各々は、複数の前記フィルタを含み、
前記複数のフィルタの各々に基づくフィルタ処理の動作を規定するための各々の機能情報に基づいて、前記複数のフィルタ列の各々に含まれる複数のフィルタの各々に応じたフィルタ処理を前記画像データに対して実行するフィルタ列処理ステップと、
前記画像処理の結果として予め入力された目標画像と、前記フィルタ列処理ステップの処理により導出された結果画像とに基づいて、前記複数のフィルタ列から、前記目標画像との差が予め定められた値を下回る画像が導出されるフィルタ列を選択するステップと、
前記選択されたフィルタ列に含まれる複数のフィルタに基づいて、各々のフィルタ処理の結果が予め定められた基準を上回る複数のフィルタの情報を抽出するステップと、
前記抽出された複数のフィルタの情報に基づいて、前記機能情報を生成するステップとを備える、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に関し、より特定的には、取得された画像から特徴のある画素を抽出するためのアルゴリズムを、学習によって生成するための画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
画像を用いた検査装置などにおいて、得られた画像中の特徴のあるパターンを抽出する要求があった場合、開発者は、そのパターンを抽出するための専用アルゴリズムを作成する。アルゴリズムの内容は、対象となるパターンの特徴量を増大させるフィルタの組み合わせ、パターンの切り出し、パターンの情報抽出等である。フィルタ組み合わせのためのアルゴリズムの開発では、既存の画像処理フィルタの中から有効なフィルタが選択され、処理の順序などが決定され、そして所望のパターンの特徴量が増大する方向に画像が処理されるように、調整が行なわれる。このような画像処理アルゴリズムの開発は、通常、試行錯誤で行なわれることが多い。ここで、特徴量とは、処理の対象となる画像の特徴を表わすためのデータをいう。具体的には、特徴量は、たとえば基準の位置に対する画像の位置、画像の形状、画像の面積などを含む。
【０００３】
画像による検査装置の場合においては、検査を行なう対象物が変化した場合、あるいは対象物が同じでも抽出したい新たなパターンが追加された場合には、逐次担当者が対象パターンの解析を行ない、そのパターンを抽出するためのアルゴリズムを開発する必要がある。しかし、この方法では上記のような対象物の変化や追加の度に画像処理の担当者がアルゴリズムを考案する必要があり、そのための開発期間を要する問題があった。
【０００４】
さらに、このような課題を解決するために、画像処理アルゴリズムの自動生成を行なう技術が研究されている。画像処理アルゴリズムが自動的に構築されるシステムとして、たとえばＩＭＰＲＥＳＳ（名古屋大学）、ＡＣＴＩＴ（Automatic Construction of Tree-structural Image Transformation）（横浜国立大学）等が研究されている。
【０００５】
たとえば、特開２００２−３６６９２９号公報（特許文献１）は、従来の画像処理技術では抽出及び画像処理生成が困難である印刷物との濃度差がほとんどなく、肉眼では検出が困難な印刷物の不良欠点部分の画像を抽出するための処理において、ＡＣＴＩＴを使用するとともに、これを印刷物の不良欠点抽出処理に特化し、より抽出精度を高めるための階調画像の追加及びそれらを比較演算処理するための画像変換処理フィルタの導入により、未知のどのような印刷物の不良欠点であっても、容易かつ的確に抽出するための技術を開示している。
【０００６】
また、ＡＣＴＩＴをハードウェアとして実現するための手段として、セル型神経回路網（ＡＣＮＮ）を用いたものが提案されている（非特許文献１）。この方法によると、単機能ユニットが３次元的に組み合わされた神経回路網で各画像処理フィルタを形成し、その複数のフィルタからなる木構造の最適化と、各画像処理フィルタのパラメータの最適化との両方を行なう必要がある。
【０００７】
ところで、本システムの実現方法として、画像処理フィルタを染色体として扱い、遺伝的アルゴリズム（ＧＡ（Generic Algorithm））によってフィルタ列(個体)を与え、それぞれの個体の評価を用いて次の世代（個体の群）を生成し、評価する最適化手法により解く方法は、たとえば出願人等によって研究されている。このような最適化システムを実現する方法は、ＰＣ（Personal Computer）上で汎用のＣＰＵ（Central Processing Unit）により実現する方法と、ＤＳＰ（Digital Signal Processor）やＡＳＩＣ（Application Specific Integrated Circuit）を用いたハードウェアにより実現する方法が考えられる。しかし、ＣＰＵやＤＳＰのようなデバイスでは、逐次制御方式が基本となるため、パイプライン処理を行なうようなデバイスに比べると処理速度が遅くなる。また、ＡＳＩＣについては、専用デバイスの開発のための期間や初期投資が必要となる。
【０００８】
上記のＡＣＮＮは、フィルタを構成する神経回路のパラメータ最適化に関して課題が残されており、木構造の最適化についてはまだ具体的な実装方法の報告がされていない。
【０００９】
また、特開２００１−２０２２３６号公報（特許文献２）は、プログラマブル論理回路として再構成可能な、いわゆるリコンフィギュラブルデバイスを用いたデータ処理における処理時間を短縮するための技術を開示している。
【特許文献１】特開２００２−３６６９２９号公報
【特許文献２】特開２００１−２０２２３６号公報
【非特許文献１】平津大輔(東京工業大学)、長尾智晴(横浜国立大学)、「フィルタ型３次元ＡＣＮＮとＡＣＴＩＴシステムとの融合」、信学技法、ＮＣ2000-70（2000-11）、ｐ．７１−７７。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、フィルタ列処理部は１世代あたり、(1フィルタ列あたりのフィルタ数）×（１世代あたりのフィルタ列数）のフィルタ処理を行なう必要がある。すべての処理時間は、対象画像のサイズおよびリコンフィギュラブルデバイスへのフィルタ書き換え時間と、リコンフィギュラブルデバイスのフィルタ処理時間との合計である。そのため、フィルタ処理を実行する場合に、膨大な時間を要するという問題があった。
【００１１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、フィルタ処理の実行時間を短くすることができる画像処理装置を提供することである。
【００１２】
本発明の他の目的は、フィルタ処理の実行時間を短くすることができる画像処理方法を提供することである。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、この発明のある局面に従うと、画像処理装置は、画像データの入力を受ける入力手段と、遺伝的アルゴリズムと予め準備された複数のフィルタとに基づいて、画像処理のための複数のフィルタ列を生成するフィルタ列生成手段とを備える。複数のフィルタ列の各々は、複数のフィルタを含む。当該装置は、複数のフィルタの各々に基づくフィルタ処理の動作を規定するための各々の機能情報に基づいて、複数のフィルタ列の各々に含まれる複数のフィルタの各々に応じたフィルタ処理を画像データに対して実行するフィルタ列処理手段と、予め入力された目標画像と、フィルタ列処理手段の処理により導出された結果画像とに基づいて、複数のフィルタ列から、目標画像との差が予め定められた値を下回る画像が導出されるフィルタ列を選択する選択手段と、選択されたフィルタ列に含まれる複数のフィルタに基づいて、各々のフィルタ処理の結果が予め定められた基準を上回る複数のフィルタの情報を抽出する抽出手段と、抽出手段により抽出された複数のフィルタの情報に基づいて、機能情報を生成する機能情報生成手段とを備える。
【００１４】
好ましくは、フィルタ列処理手段は、各々の機能情報に基づく各フィルタ処理を実行する演算手段と、演算手段による動作のための機能情報を格納する記憶手段と、格納されている機能情報に基づいてフィルタ処理を実行するように演算手段を制御する制御手段とを含む。
【００１５】
好ましくは、演算手段は、複数の演算器と、各々の機能情報を複数の演算器の各々に割り付ける割付手段とを含む。
【００１６】
好ましくは、フィルタ列処理手段は、複数の演算手段を含む。
好ましくは、複数の演算手段は、直列に接続されている。制御手段は、複数の演算手段の各々の動作を制御する動作制御手段をさらに含む。
【００１７】
好ましくは、動作制御手段は、複数の演算手段のいずれかによるフィルタ処理がフィルタ列に含まれる最後のフィルタによる処理である場合には、いずれかの演算手段の後に接続されている演算手段によるフィルタ処理を禁止する。
【００１８】
好ましくは、複数の演算手段は、並列に接続されている。制御手段は、複数の演算手段の数に基づいて、画像処理のために入力される画像データを分割する分割手段を含む。
【００１９】
好ましくは、選択手段は、目標画像および結果画像の特徴量をそれぞれ算出し、そして予め定められた値を下回る結果画像が導出されるフィルタ列を選択する。
【００２０】
好ましくは、フィルタ列処理手段は、リコンフィギュラブルデバイスである。
この発明の他の局面に従うと、画像処理方法は、画像データの入力を受けるステップと、遺伝的アルゴリズムと予め準備された複数のフィルタとに基づいて、画像処理のための複数のフィルタ列を生成するステップとを備える。複数のフィルタ列の各々は、複数のフィルタを含む。当該方法は、複数のフィルタの各々に基づくフィルタ処理の動作を規定するための各々の機能情報に基づいて、複数のフィルタ列の各々に含まれる複数のフィルタの各々に応じたフィルタ処理を画像データに対して実行するフィルタ列処理ステップと、画像処理の結果として予め入力された目標画像と、フィルタ列処理ステップの処理により導出された結果画像とに基づいて、複数のフィルタ列から、目標画像との差が予め定められた値を下回る画像が導出されるフィルタ列を選択するステップと、選択されたフィルタ列に含まれる複数のフィルタに基づいて、各々のフィルタ処理の結果が予め定められた基準を上回る複数のフィルタの情報を抽出するステップと、抽出された複数のフィルタの情報に基づいて、機能情報を生成するステップとを備える。
【発明の効果】
【００２１】
本発明に係る画像処理装置によると、リコンフィギュラブルデバイスその他の演算手段の動作条件を書き換えるための時間が低減されるため、画像処理の実行に要する時間も短くすることができる。
【００２２】
本発明に係る画像処理方法によると、フィルタ処理を実行するステップにおいて当該処理の動作を規定する情報を書き換えるための時間が低減されるため、画像処理の実行に要する時間も短くすることができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２４】
図１を参照して、本発明の実施の形態に係る画像処理装置における画像処理フィルタの組み合わせについて説明する。図１は、原画像１００に対して予め準備されたフィルタ１１０−１，１１０−２，…，１１０−ｎを用いて結果画像１２０を得るための処理を概念的に表わす図である。
【００２５】
フィルタ１１０−１，１１０−２などは、たとえば予め作成された最大化フィルタ、最小化フィルタ、ｓｏｂｅｌフィルタ、ラプラシアンフィルタなどである。フィルタ処理が実行される場合、原画像１００が最初に与えられる。また原画像１００に対応する目標画像が与えられる。ここで、目標画像とは、原画像とともに与えられ、原画像を処理して得られる画像として期待される画像である。図１に示されるように、たとえばｎ段のフィルタの列が与えられた場合には、第１のフィルタ１１０−１を用いたフィルタ処理が原画像１００に対して行なわれる。その結果画像に対して第２のフィルタ１１０−２を用いたフィルタ処理が実行される。同様に処理が繰り返され第ｎのフィルタ１１０−ｎを用いた処理が実行される。最後の処理により得られる画像は、結果画像１２０として出力される。この場合、結果画像１２０が予め設定された目標画像に近い場合、すなわち結果画像１２０と目標画像とをそれぞれ定量化し各々の値の差が予め定められた基準値よりも小さい場合には、結果画像１２０を得るために使用された各フィルタの列は、画像処理を実現するためのアルゴリズムに近いものと判断される。
【００２６】
図２を参照して、本発明に係る画像処理装置において遺伝的アルゴリズム（ＧＡ）を用いた手法を適用した場合について説明する。図２は、複数のフィルタからなるフィルタ列を予め定められた評価基準により順次選択することにより、画像処理装置に使用するためのフィルタ列を選択する態様を表わす図である。
【００２７】
図２（Ａ）に示されるように、まず複数のフィルタ列からなる第１世代のフィルタ列群２００−１，２００−２等が生成される。各フィルタ列群は、予め準備されたフィルタをランダムに組み合わせることにより構成される。生成されたすべてのフィルタ列群のそれぞれのフィルタ列に対して予め準備された原画像１００が、入力画像として与えられる。各フィルタ列群は、その原画像１００に対して各フィルタを用いることにより、それぞれ対応する画像処理を実行し、結果画像２１０−１，２１０−２等を出力する。各結果画像は予め設定された目標画像と比較され、目標画像に近い結果画像を出力したフィルタ列（たとえばフィルタ列２１０−４）は、求めるフィルタ列に近いものとして高い評価値が与えられる。ここで評価値とは、各フィルタ列の属性を定量的に表現するために表わされる値である。第１の世代で高い評価値が与えられたフィルタ列は、その世代においていわゆる優秀なフィルタ列であるとされ、次の世代すなわち第２の世代を生成するための親として登録される（フィルタ２２０）。
【００２８】
なお、ここで、評価値は、たとえば、輝度の差の絶対和、当該差の二乗和、あるいは平均値その他の定量的に表現可能なデータである。すなわち、当該評価値は、生成されたフィルタ列を原画像に対して適用して得られる複数の画像に対し、目標画像との比較を行なって得られるものである。また、「優秀な」とは、当該評価値と、教示用のデータとして予め準備されたフィルタ列を同様に適用した場合に得られる評価値との差が予め定められた基準値以下のものをいう。
【００２９】
次に、図２（Ｂ）に示されるように、第１の世代における処理において優秀なフィルタ列とされたフィルタ２２０は、第２の世代において、各フィルタの親として登録される。第２の世代はＧＡの交叉・突然変異などの手法によって親から生成される。すなわち、複数のフィルタ列２２０−１，２２０−２等が生成される。各フィルタ列は、第１世代における処理と同様に原画像に対するフィルタ処理を実行し、結果画像２３０−１，２３０−２等を出力する。それぞれ出力された結果画像から、予め設定された目標画像に最も近い結果画像を出力したフィルタ列が特定され（たとえばフィルタ列２３０−ｎ）、次の世代における親として登録される（フィルタ列２４０）。
【００３０】
図２（Ｃ）に示されるように、同様の処理を第Ｎ世代まで繰り返すことにより、画像処理装置を実現するためのフィルタ列を導出することができる。すなわち、フィルタ列２４０を構成する各フィルタに基づいて、次の世代のフィルタ列群が生成され、（Ｎ−１）世代のフィルタ列から、目標画像に最も近い結果画像を出力したフィルタ列を親として、第Ｎ世代のフィルタ列２５０−１，２５０−２等のフィルタ列群が生成され、それぞれのフィルタ列を用いたフィルタ処理が実行される。予め設定された目標画像に最も近い結果画像を出力したフィルタ列２６０−２は、画像処理装置を実現するためのフィルタ列２７０として導出される。
【００３１】
次に、図３および図４を参照して、本発明の実施の形態に係る画像処理装置３００の構成について説明する。図３は、フィルタ列を導出するための遺伝的アルゴリズムを実現できる画像処理装置３００の機能的構成を表わすブロック図である。
【００３２】
画像処理装置３００は、フィルタ列生成部３１０と、フィルタ列生成部３１０に接続され生成されたフィルタ列を評価するためのフィルタ列評価部３２０と、フィルタ列生成部３１０に接続されたフィルタ列処理部４００とを含む。フィルタ列生成部３１０は、予め準備されたフィルタを予め定められた基準に基づいて組み合わせることにより、複数のフィルタ列を生成する。フィルタ列評価部３２０は、フィルタ列生成部３１０により生成されたフィルタ列を用いた画像処理の結果に対する評価を実行して、そのフィルタ列の定量的な評価をさらに行なう。フィルタ列処理部４００は、それぞれ生成されたフィルタ列に含まれるフィルタを用いて、与えられた原画像に対するフィルタ処理を実行する。
【００３３】
図４は、フィルタ列処理部４００の機能的構成を表わすブロック図である。フィルタ列処理部４００は、たとえば後述する各機能を実現するための処理回路、記憶素子などを基板に設けることにより実現される。
【００３４】
フィルタ列処理部４００は、外部からデータの入力を受け、外部にデータを出力するための入出力部４１０と、予め定められた論理と入力されるデータとに基づいて予め定められた処理を実行する制御部４２０と、動作をするための基礎となる設定を変更可能なリコンフィギュラブルデバイス４３０と、データを格納するためのメモリ部４４０とを含む。
【００３５】
入出力部４１０は、フィルタ列生成部３１０とフィルタ列評価部３２０との間でデータを通信する。制御部４２０は、リコンフィギュラブルデバイス４３０に対する処理内容の書き込み、リコンフィギュラブルデバイス４３０に対するデータの入力あるいは出力などの制御を実行する。メモリ部４４０は、生成されたフィルタ列を表わすデータ４４１と、現在処理が実行されているフィルタ列を表わすデータ４４２と、リコンフィギュラブルデバイス４３０の動作を制御するための機能情報４５０と、画像データ４６０とを格納している。機能情報４５０は、それぞれのフィルタ列に基づいて入力された原画像に対するフィルタ処理を実行させるためのデータ４５０−１，４５０−２，・・・，４５０−ｎを含む。画像データ４６０は、画像処理装置３００に対して入力画像として与えられる原画像４６０−１と、処理の対象となる画像の入力を受ける各フィルタ列による処理の結果である結果画像４６０−２とを含む。
【００３６】
リコンフィギュラブルデバイス４３０は、予め定められたパイプライン処理を実行するようにハードウェア的に構成されている演算装置である。画像処理装置３００にリコンフィギュラブルデバイス４３０を実装することにより、同一の入力画像に対して従来の手法により処理を実行する場合よりも処理速度が速くなり、フィルタ列を得るための時間を短くすることができる。
【００３７】
ある局面においては、リコンフィギュラブルデバイス４３０は、複数の演算器を含み、各演算器には、実現したいタスク（すなわちフィルタ処理）と複数のタスクを実現する動作を規定する情報（たとえば、後述するように、本発明におけるスキマタ機能情報）が割り付けられる。各演算器は、その情報に応じた専用のハードウェアロジック回路として機能する。具体的には、フィコンフィギュラブルデバイス４３０は、たとえばＦＰＧＡ（Field Programmable Gate Array）あるいはいわゆるダイナミックリコンフィギュラブルデバイス等により実現されるが、これらに限られず、上記の機能を備えるものであればよい。
【００３８】
＜第１の実施の形態＞
図５〜図１０を参照して、本発明の第１の実施の形態に係る画像処理装置５００について説明する。図５は、画像処理装置５００の機能的構成を表わすブロック図である。
【００３９】
画像処理装置５００は、図３に示される構成に加えて、スキーマ管理部５３０と機能情報生成部５４０とフィルタ列処理部６００とを含む。スキーマ管理部５３０は、予め準備された複数のフィルタからランダムにそのフィルタを組み合わせることにより複数のフィルタ列を生成し、フィルタ列の組み合わせを構成し、さらにそのフィルタ列の中から、フィルタ列の構成要素であるフィルタの部分集合のうち、有効な組み合わせであるスキマタデータを抽出する。ここで、スキマタデータを構成するフィルタの数は、たとえば予め設定された数である。機能情報生成部５４０は、生成されたスキマタデータに基づいて、フィルタ列処理部６００により設定されるリコンフィギュラブルデバイスのスキマタ機能情報を生成する。スキマタ機能情報とは、スキマタデータによって規定されるフィルタ組み合わせを実現する、フィルタ列処理部６００で実行可能な機能情報である。フィルタ列処理部６００は、フィルタ列生成部３１０により生成された複数のフィルタ列をそれぞれ原画像に対して適用し、各フィルタ列に応じた結果画像をそれぞれ取得する。
【００４０】
図６を参照して、本実施の形態に係るフィルタ列処理部６００について説明する。図６は、フィルタ列処理部６００の構成を概念的に表わすブロック図である。
【００４１】
フィルタ列処理部６００は、入出力部４１０と、制御部４２０と、リコンフィギュラブルデバイス４３０と、メモリ部６４０とを含む。入出力部４１０と制御部４２０とリコンフィギュラブルデバイス４３０とは、それぞれ図４に示される構成が実行する処理と同一の処理を実行する。したがって、ここではそれらについての説明は繰り返さない。
【００４２】
メモリ部６４０は、複数のフィルタ列のデータ６４１と、現在処理を実行する対象であるフィルタ列６４２と、生成された機能情報６５０と、画像データ６６０とを格納している。機能情報６５０は、フィルタ機能情報とスキマタ機能情報とを含む。画像データ６６０は、入力画像として与えられる原画像６６０−１と、各フィルタによる処理の結果として取得され得る結果画像６６０−２と、現在のフィルタ処理の対象である画像を表わす処理中画像６６０−３とを含む。
【００４３】
図７を参照して、本実施の形態に係る画像処理装置５００に含まれるコンピュータシステム７００について説明する。図７は、コンピュータシステム７００のハードウェア構成を表わすブロック図である。コンピュータシステム７００は、図５に示されるフィルタ生成部３１０、フィルタ列評価部３２０、スキーマ管理部５３０および機能情報生成部５４０を実現する。
【００４４】
コンピュータシステム７００は、相互にデータバスにより接続されたＣＰＵ７１０と、外部から指示の入力を受けるためのマウス７２０およびキーボード７３０と、入力されるデータあるいは所定の処理の実行により生成されるデータを揮発的に格納するＲＡＭ７４０と、大容量のデータを不揮発的に格納可能なハードディスク７５０と、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）駆動装置７６０と、モニタ７８０と、ネットワークその他の通信回線が接続される通信ＩＦ（Interface）７９０とを含む。ＣＤ−ＲＯＭ駆動装置７６０には、ＣＤ−ＲＯＭ７６２が装着される。
【００４５】
このようにして、フィルタ生成部３１０、フィルタ列評価部３２０、スキーマ管理部５３０および機能情報生成部５４０を実現するコンピュータシステム７００における処理は、各ハードウェアおよびＣＰＵ７１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、ＲＡＭ７４０あるいはハードディスク７５０に予め記憶されている場合もあれば、ＣＤ−ＲＯＭ７６２その他の記憶媒体に格納されて流通し、ＣＤ−ＲＯＭ駆動装置７６０その他の読み取り装置によりその記憶媒体から読み取られて、ハードディスク７５０に一旦格納される場合もある。そのソフトウェアは、ＲＡＭ７４０あるいはハードディスク７５０から読み出されて、ＣＰＵ７１０によって実行される。図７に示されるコンピュータシステム７００のハードウェア自体は、一般的なものである。コンピュータシステム７００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００４６】
図８を参照して、本実施の形態に係る画像処理装置５００におけるフィルタ生成処理について説明する。図８は、画像処理装置５００の構成要素における処理の流れを概念的に表わす図である。
【００４７】
フィルタ列生成部３１０は、前述のように予め準備された複数のフィルタに基づいてフィルタ列のグループ（以下フィルタ列群）を生成する。フィルタ列生成部３１０は、第１世代のフィルタ列群を生成する場合には、当該複数のフィルタに基づいてランダムな処理を実行することにより複数のフィルタ列群を生成する。第２世代以降においては、フィルタ列生成部３１０は、その前の世代におけるいわゆる優秀なフィルタ列を親として次世代のフィルタ列を生成する。フィルタ列生成部３１０は、生成されたフィルタ列群をフィルタ列処理部６００に送出する。
【００４８】
フィルタ列処理部６００は、入力されたフィルタ列群を予め定められた評価基準に基づいて評価し、それぞれのフィルタ列の結果画像をフィルタ列評価部３２０に送出する。フィルタ列評価部３２０は、予め準備されている目標画像とフィルタ列処理部６００からの結果画像とを比較することにより、その結果画像を定量的に評価する。フィルタ列評価部３２０は、このようにして評価を行なった複数のフィルタ列の中から、最も評価値の高いフィルタ列を優秀なフィルタ列として選択し、次の世代のフィルタ列を生成するための親としてそのフィルタ列を識別するデータを登録する。
【００４９】
スキーマ管理部５３０は、フィルタ列評価部３２０において抽出されたその優秀なフィルタ列を記録し、学習の過程において有効とされる複数のフィルタの組み合わせをスキマタデータとして登録する。スキーマ管理部５３０は、そのスキマタデータを機能情報生成部５４０に送出する。機能情報生成部５４０は、そのスキマタデータに基づいてリコンフィギュラブルデバイス６３０を設定するためのスキマタ機能情報を生成する。機能情報生成部５４０は、そのスキマタ機能情報をフィルタ列処理部６００に送出する。スキマタ機能情報は、メモリ部６４０に書き込まれる。
【００５０】
フィルタ列処理部６００は、フィルタ列群のデータの入力に応答して順次処理中フィルタ列としてメモリ部６４１に登録する。フィルタ列処理部６００は、さらにそれぞれのフィルタ列に対して画像処理を実行し、結果画像を生成する。そのフィルタ処理は、リコンフィギュラブルデバイス６３０により実行される。リコンフィギュラブルデバイス６３０による処理の内容は、機能情報としてメモリ部６４０に格納され、リコンフィギュラブルデバイス６３０が処理を実行する際にメモリ部６４０から読み出され、リコンフィギュラブルデバイス６３０に設定される。ここで機能情報は、各フィルタと複数のフィルタの組み合わせからなるスキマタ機能情報に対応したものとを含む。
【００５１】
制御部６２０は、フィルタ列処理の過程において、スキマタ機能情報に対応したフィルタの組み合わせが存在するか否かを判断し、対応するものがある場合には、スキマタ機能情報を設定機能情報としてリコンフィギュラブルデバイス６３０に設定する。スキマタ機能情報に対応したものがない場合には、制御部６２０は、フィルタの機能情報をリコンフィギュラブルデバイス６３０に設定する。
【００５２】
図９を参照して、本実施の形態に係る画像処理装置５００の制御構造について説明する。図９は、画像処理装置５００を構成する制御部６２０が実行する処理の手順を表わすフローチャートである。
【００５３】
ステップＳ９０２にて、制御部６２０は、処理フィルタ列を登録する。ステップＳ９０４にて、制御部６２０は、処理回数カウンタｊを初期化し、０に設定する。ステップＳ９０６にて、制御部６２０は、処理段カウンタｉを初期化し、０に設定する。また、カウンタｋその他の変数も、同様に初期化される。
【００５４】
ステップＳ９０８にて、制御部６２０は、ｉ段面のフィルタを先頭とするスキマタ機能情報が登録されているか否かを判断する。この判断は、たとえばメモリ部６４０に格納されているデータに基づいて行なわれる。制御部６２０が、そのスキマタ機能情報は登録されていると判断すると（ステップＳ９０８にてＹＥＳ）、処理はステップＳ９１０に移される。そうでない場合には（ステップＳ９０８にてＮＯ）、処理はステップＳ９２０に移される。
【００５５】
ステップＳ９１０にて、制御部６２０は、対応するスキマタ機能情報をリコンフィギュラブルデバイス６３０に設定する。すなわち、リコンフィギュラブルデバイス６３０の作動に必要なデータが、予め定められたメモリ領域に格納される。
【００５６】
ステップＳ９１２にて、制御部６２０は、処理段カウンタｉを増加させるための処理列インクリメントカウンタｋに、スキマタ機能情報のフィルタ構成段数を設定する。ステップＳ９２０にて、制御部６２０は、第ｉ段目のフィルタの機能情報をリコンフィギュラブルデバイス６３０に設定する。ステップＳ９２２にて、制御部６２０は、処理列インクリメントカウンタｋを１に設定する。ステップＳ９３０にて、制御部６２０は、処理段カウンタｉに処理列インクリメントカウンタｋの値を加算する。
【００５７】
ステップＳ９３２にて、制御部６２０は、リコンフィギュラブルデバイス６３０の処理回数ｊが０であるか否かを判断する。制御部６２０が、処理回数ｊは０であると判断すると（ステップＳ９３２にてＹＥＳ）、処理はステップＳ９３４に移される。そうでない場合には（ステップＳ９３２にてＮＯ）、処理はステップＳ９４０に移される。
【００５８】
ステップＳ９３４にて、制御部６２０は、与えられた原画像をリコンフィギュラブルデバイス６３０に入力し、リコンフィギュラブルデバイス６３０からの出力画像をメモリ部６４０の所定の領域に格納する（処理中画像６６０−３）。ステップＳ９４０にて、制御部６２０は、フィルタ番号ｉがフィルタ列を構成するフィルタ数Ｎに等しいか否かを判断する。制御部６２０が、フィルタ番号とフィルタ数とは等しいと判断すると（ステップＳ９４０にてＹＥＳ）、処理はステップＳ９４２に移される。そうでない場合には（ステップＳ９４０にてＮＯ）、処理はステップＳ９４４に移される。
【００５９】
ステップＳ９４２にて、制御部６２０は、処理中画像６６０−３をリコンフィギュラブルデバイス６３０に入力し、リコンフィギュラブルデバイス６３０からの出力画像を結果画像６６０−２として別の領域に格納する。ステップＳ９４４にて、制御部６２０は、処理中画像６６０−３をリコンフィギュラブルデバイス６３０に入力し、リコンフィギュラブルデバイスから出力画像を処理中画像６６０−３として、メモリ部６４０に再び格納する。ステップＳ９５０にて、制御部６２０は、処理回数ｊを１インクリメントし、処理はステップＳ９０８に戻される。
【００６０】
図１０を参照して、本実施の形態に係る画像処理装置５００による処理時間の短縮について説明する。図１０は、従来の画像処理方法により要する処理時間と本実施の形態に係る画像処理装置５００による処理方法に要する処理時間との比較を表わす図である。
【００６１】
図１０（Ａ）に示されるように、従来の画像処理方法によると、１フィルタ列当たりの処理時間は、各段についてリコンフィギュラブルデバイスを書き換えるための時間と当該リコンフィギュラブルデバイスによる処理時間との総和として算出される。これに対して、画像処理装置５００によると、図１０（Ｂ）に示されるように、リコンフィギュラブルデバイス６３０の書き換えのための時間が短くなる。すなわち第２のフィルタ、第４のフィルタ、第５のフィルタの組み合わせとしてスキマタ機能情報ＳＫ（１）が登録されている場合には、リコンフィギュラブルデバイスに対する２回の書き込み処理が不要となる。したがって、その書き込み時間の短縮分だけ１フィルタ列のための処理時間が短くなる。この場合、１フィルタ列における処理時間の短縮は、（１回の機能情報の書き込み時間）×Σ（使用されたスキマタ機能情報の構成フィルタ数−１）となる。
【００６２】
以上のようにして、本発明の第１の実施の形態に係る画像処理装置５００によると、予め準備され生成されたフィルタ列の情報に基づいて、複数のフィルタの組み合わせを表すスキマタデータが生成される。画像処理装置５００のリコンフィギュラブルデバイス６３０は、個別のフィルタ処理のために書き込まれる情報に加えて、当該スキマタデータに基づいて、フィルタ処理を実行することができる。このようにすると、フィルタ処理の実行のために必要なリコンフィギュラブルデバイスに対するデータの書き込み回数が低減されるため、全体の処理時間を短くすることができる。
【００６３】
＜第２の実施の形態＞
図１１から図１７を参照して、本発明の第２の実施の形態について説明する。本実施の形態に係る画像処理装置１１００は、直列に接続されたリコンフィギュラブルデバイスを備える点で、前述の実施の形態と異なる。以下、本実施の形態では２つのリコンフィギュラブルデバイスが直列に接続されている場合について説明されているが、直列に配列されるリコンフィギュラブルデバイスの数は２に限られず、それ以上のデバイスが配列されてもよい。なお、前述の実施の形態と同一の構成には同一の番号を付してある。それらの機能も同じである。したがって、ここではそれらについての説明は繰り返さない。
【００６４】
図１１および図１２を参照して、本実施の形態に係る画像処理装置１１００の構成について説明する。図１１に示されるように、画像処理装置１１００は、フィルタ列生成部３１０と、フィルタ列評価部３２０と、スキーマ管理部５３０と、機能情報生成部５４０と、フィルタ列処理部１２００とを含む。フィルタ列処理部１２００は、後述するように、直列に配列されたリコンフィギュラブルデバイスを含む。
【００６５】
図１２は、本実施の形態に係る画像処理装置１１００が備えるフィルタ列処理部１２００の機能的構成を表わすブロック図である。フィルタ列処理部１２００は、入出力部４１０と、制御部１２２０と、直列に接続されたリコンフィギュラブルデバイス１２３０，１２３２と、メモリ部６４０とを含む。制御部１２２０は、各リコンフィギュラブルデバイス１２３０，１２３２に対するスキマタ機能情報の記録その他のデータの入出力を制御する。
【００６６】
図１３を参照して、フィルタ列処理部１２００における処理の内容について説明する。図１３は、画像処理装置１１００を構成する各部における処理の内容と通信されるデータとを説明するための図である。
【００６７】
フィルタ列生成部３１０が複数のフィルタ列からなるフィルタ列群を生成して出力すると、フィルタ列処理部１２００は、そのフィルタ列群のデータの入力に応じて、順次処理中フィルタ列としてメモリ部６４０の所定の領域に、入力されるデータを格納する。リコンフィギュラブルデバイス１２３０，１２３２は、メモリ部６４０に登録されているそれぞれのフィルタ列を用いて、原画像に対する結果画像を取得するためのフィルタ処理を実行する。ここで、それぞれのリコンフィギュラブルデバイス１２３０，１２３２による処理の内容は、機能情報としてメモリ部６４０に格納されており、必要に応じてその領域から読み出され、それぞれのリコンフィギュラブルデバイス１２３０，１２３２に設定される。スキマタデータに対応したデータがメモリ部６４０に存在しない場合には、フィルタの機能情報がリコンフィギュラブルデバイス１２３０，１２３２に設定される。
【００６８】
図１４および図１５を参照して、本実施の形態に係る画像処理装置１１００の制御構造について説明する。図１４および図１５は、それぞれ制御部１２２０が実行する処理の手順を表わすフローチャートである。なお、前述の処理と同一の処理には同一のステップ番号を付し、それらについての説明はここでは繰り返さない。
【００６９】
ステップＳ１４０６にて、制御部１２２０は、機能情報が設定されるリコンフィギュラブルデバイスの番号ｄを初期化し、０に設定する。ステップＳ９０８にて、制御部１２２０は、ｉ段目のフィルタを先頭とするスキマタ機能情報が登録されているか否かを判断する。制御部１２２０が、そのフィルタを先頭とするスキマタ機能情報が登録されていると判断すると（ステップＳ９０８にてＹＥＳ）、処理はステップＳ１４１０に移される。そうでない場合には（ステップＳ９０８にてＮＯ）、処理はステップＳ１４２０に移される。
【００７０】
ステップＳ１４１０にて、制御部１２２０は、対応するスキマタの機能情報を番号ｄのリコンフィギュラブルデバイスに設定する。ステップＳ１４２０にて、制御部１２２０は、ｉ段目のフィルタの機能情報を番号ｄのリコンフィギュラブルデバイスに設定する。
【００７１】
ステップＳ１４２２にて、制御部１２２０は、リコンフィギュラブルデバイスの番号ｄが０であるか否かを判断する。制御部１２２０が、その番号ｄは０であると判断すると（ステップＳ１４２２にてＹＥＳ）、処理はステップＳ１４２６に移される。そうでない場合には（ステップＳ１４２２にてＮＯ）、処理はステップＳ１４２４に移される。
【００７２】
ステップＳ１４２４にて、制御部１２２０は、前段の処理が完了したか否かを判断する。この判断は、たとえばフィルタ処理の終了時に出力されるデータに基づいて行なわれる。制御部１２２０が、前段の処理は終了したと判断すると（ステップＳ１４２４にてＹＥＳ）、処理はステップＳ１４２６に移される。そうでない場合には（ステップＳ１４２４にてＮＯ）、処理はステップＳ１４２４に戻される。
【００７３】
ステップＳ１４２６にて、制御部１２２０は、番号ｄのリコンフィギュラブルデバイスによる処理命令を出力する。ステップＳ１４２８にて、制御部１２２０は、フィルタ番号ｉがフィルタ列を構成するフィルタ数Ｎと同じであるか否かを判断する。フィルタ番号ｉとフィルタ数Ｎとが等しい場合には（ステップＳ１４２８にてＹＥＳ）、処理はステップＳ１４３０に移される。そうでない場合には（ステップＳ１４２８にてＮＯ）、処理はステップＳ１４３２に移される。
【００７４】
ステップＳ１４３０にて、制御部１２２０は、リコンフィギュラブルデバイスの番号ｄより後の番号のリコンフィギュラブルデバイスによる処理をスルーするように設定する。これにより番号ｄ以降のリコンフィギュラブルデバイスによる処理は実行されなくなる。すなわち、仮に番号ｄ以降のリコンフィギュラブルデバイスにデータが入力されたとしても、何らの処理は実行されない。あるいは、番号ｄ以降のリコンフィギュラブルデバイスは、データの入力を受け付けなくなる。
【００７５】
ステップＳ１４３２にて、制御部１２２０は、リコンフィギュラブルデバイスの番号ｄを１インクリメントする。ステップＳ１４３４にて、制御部１２２０は、フィルタ番号ｉに処理列インクリメントカウンタｋを加算することにより、フィルタ番号を算出する。ステップＳ１４３６にて、制御部１２２０は、配置リコンフィギュラブルデバイスの番号がｄと同じであるか否かを判断する。その番号がｄと同じである場合には（ステップＳ１４３６にてＹＥＳ）、処理はステップＳ１４０６に戻される。そうでない場合には（ステップＳ１４３６にてＮＯ）、処理はステップＳ９０８に戻される。
【００７６】
図１５を参照して、ステップＳ１５１０にて、制御部１２２０は、配置されたリコンフィギュラブルデバイスの処理回数ｊが０であるか否かを判断する。その回数が０である場合には（ステップＳ１５１０にてＹＥＳ）、処理はステップＳ１５２０に移される。そうでない場合には（ステップＳ１５１０にてＮＯ）、処理はステップＳ１５３０に移される。ステップＳ１５２０にて、制御部１２２０は、原画像をリコンフィギュラブルデバイスに入力し、リコンフィギュラブルデバイスからの出力画像をメモリ部６４０の所定の領域に処理中画像６６０−３として登録する。
【００７７】
ステップＳ１５３０にて、制御部１２２０は、フィルタ番号ｉとフィルタ数Ｎとが同じであるか否かを判断する。フィルタ番号ｉとフィルタ数Ｎとが等しい場合には（ステップＳ１５３０にてＹＥＳ）、処理はステップＳ１５４０に移される。そうでない場合には（ステップＳ１５３０にてＮＯ）、処理はステップＳ１５５０に移される。ステップＳ１５４０にて、制御部１２２０は、処理中画像６６０−３をリコンフィギュラブルデバイスに入力し、そしてリコンフィギュラブルデバイスからの出力画像をメモリ６４０の所定の領域に結果画像６６０−２として登録する。
【００７８】
ステップＳ１５５０にて、制御部１２２０は、処理中画像６６０−３をリコンフィギュラブルデバイスに入力し、そしてリコンフィギュラブルデバイスからの取得画像を処理中画像６６０−３としてメモリ部６４０の所定の領域に再び格納する。ステップＳ１５６０にて、制御部１２２０は、処理回数ｊを１カウントアップする。
【００７９】
図１６を参照して、本実施の形態に係る画像処理装置１１００による処理時間について説明する。図１６（Ａ）は、２つのリコンフィギュラブルデバイス１２３０，１２３２のうち１つ（０番）のリコンフィギュラブルデバイスによる処理時間を表わす図である。図１６（Ｂ）は、他方のリコンフィギュラブルデバイスによる処理時間を表わす図である。
【００８０】
図１６に示されるように、リコンフィギュラブルデバイスの書き換え時間がリコンフィギュラブルデバイスの処理時間よりも短い場合には、書き換えのために必要とされる時間は、実質的には最初の１回の時間のみとなる。したがって、直列に配列されたリコンフィギュラブルデバイスにおける１フィルタ列を処理する場合に低減される時間は、（１回の機能情報の書き込み時間）×（１フィルタ列のフィルタ数Ｎ−１）となる。
【００８１】
以上のようにして、本発明の第２の実施の形態に係る画像処理装置１１００は、直列に配列された複数のリコンフィギュラブルデバイスを含む。各リコンフィギュラブルデバイスは、それぞれ書き込まれたスキマタ機能情報に基づいて作動する。各リコンフィギュラブルデバイスに対するスキマタ機能情報の書き換えは、他のリコンフィギュラブルデバイスによる処理の結果に依存することなく実行可能である。したがって、各リコンフィギュラブルデバイスに対する書き換え時間が、当該リコンフィギュラブルデバイスによる処理時間よりも短い場合には、他のリコンフィギュラブルデバイスがフィルタ処理を実行している間に、機能情報の書き換えを完了することができる。その結果、機能情報の書き換えのために処理を中断する必要がなくなるため、フィルタ列としての処理は、実質的に最初の機能情報の書き込みに要する時間と、各フィルタに応じた処理時間とにより、実現することができる。これにより、２段目以降のフィルタに応じた機能情報の書き換えに要する時間だけ、処理時間が短くなるため、画像処理装置としての処理時間も短くすることができる。
【００８２】
＜第３の実施の形態＞
以下、本発明の第３の実施の形態について説明する。本実施の形態に係る画像処理装置１７００は、複数のリコンフィギュラブルデバイスが並列に接続されている点で、前述の各実施の形態と異なる。なお、前述の各実施の形態における構成と同一の構成には同一の参照番号を付してあり、それらについての説明はここでは繰り返さない。また、本実施の形態においては、２つのリコンフィギュラブルデバイスが並列に配列されているが、３つ以上のリコンフィギュラブルデバイスが配列されていてもよい。
【００８３】
図１７および図１８を参照して、本実施の形態に係る画像処理装置１７００について説明する。図１７は、画像処理装置１７００の機能的構成を表すブロック図である。図１８は、フィルタ列処理部１８００の構成を表すブロック図である。
【００８４】
図１７に示されるように、画像処理装置１７００は、フィルタ列生成部３１０と、フィルタ列評価部３２０と、スキーマ管理部５３０と、機能情報生成部５４０とに加えて、リコンフィギュラブルデバイスが並列に接続されたフィルタ列処理部１８００を備える。
【００８５】
図１８に示されるように、フィルタ列処理部１８００は、入出力部４１０とメモリ部６４０とに加えて、並列に接続されているリコンフィギュラブルデバイス１８３０，１８３２と、それぞれのリコンフィギュラブルデバイスの動作を制御するための制御部１８２０とを含む。
【００８６】
図１９を参照して、本実施の形態に係るフィルタ列処理部１８００における処理について説明する。図１９は、当該処理の内容とデータの流れとを概念的に表わす図である。
【００８７】
図１９に示されるように、フィルタ列生成部３１０が生成した複数のフィルタ列は、世代データとしてフィルタ列処理部１８００に送出される。フィルタ列処理部１８００は、入力される各フィルタ列群を、それぞれ処理中フィルタ列としてメモリ部６４０の所定の領域に格納する。フィルタ列処理部１８００は、予め入力された原画像に対して各フィルタ列を用いてそれぞれフィルタ処理を実行することにより結果画像を生成する。
【００８８】
制御部１８２０は、リコンフィギュラブルデバイス１８３０，１８３２に対して、フィルタ処理を実行するための処理内容を表わす情報を出力することにより、各リコンフィギュラブルデバイスに予め定められた処理を実行させる。ここでリコンフィギュラブルデバイスの処理内容は、機能情報としてメモリ部６４０に予め登録されている。機能情報６５０は、リコンフィギュラブルデバイス１８３０，１８３２がフィルタ処理を実行するときにメモリ部６４０から読み出され、各リコンフィギュラブルデバイスにそれぞれ設定される。
【００８９】
本実施の形態においては、リコンフィギュラブルデバイス１８３０，１８３２は、並列処理が可能なように配列されている。したがって、同様の機能を有する機能情報が各リコンフィギュラブルデバイスに対して設定される。またフィルタ処理の対象となるデータは、リコンフィギュラブルデバイスの数に応じて制御部１８２０により分割され各リコンフィギュラブルデバイスに入力される。
【００９０】
図２０を参照して、本実施の形態に係る画像処理装置１７００の制御構造について説明する。図２０は、画像処理装置１７００の制御部１８２０が実行する処理の手順を表わすフローチャートである。なお、前述の処理と同一の処理には、同一のステップ番号を付し、それらについての説明は、繰り返さない。
【００９１】
ステップＳ９０８にて、制御部１８２０は、ｉ段面のフィルタを先頭とするスキマタ機能情報が登録されているか否かを判断する。この判断は、たとえばメモリ部６４０に格納されているデータに基づいて行なわれる。制御部１８２０が、そのスキマタ機能情報が登録されていると判断すると（ステップＳ９０８にてＹＥＳ）、処理はステップＳ２０１０に移される。そうでない場合には（ステップＳ９００８にてＮＯ）、処理はステップＳ２０２０に移される。
【００９２】
ステップＳ２０１０にて、制御部１８２０は、対応するスキマタの機能情報をすべてのリコンフィギュラブルデバイス１８３０，１８３２に設定する。すなわち、リコンフィギュラブルデバイス１８３０，１８３２の作動に必要なデータが、予め定められたメモリ領域に格納される。
【００９３】
ステップＳ２０２０にて、制御部１８２０は、第ｉ段目のフィルタの機能情報をすべてのリコンフィギュラブルデバイス１８３０，１８３２に設定する。
【００９４】
図２１を参照して、本実施の形態に係るフィルタ列処理部１８００による処理の対象となる画像について説明する。図２１は、フィルタ列処理の対象となる画像をリコンフィギュラブルデバイスの数に応じて分割した状態を概念的に表わす図である。
【００９５】
すなわち、制御部１８２０は、フィルタ列処理部１８００が備えるリコンフィギュラブルデバイスの数に応じて処理の対象となる画像に関し処理エリアをそれぞれ定め、そして各リコンフィギュラブルデバイスにそれぞれのエリアについてのフィルタ処理を実行させる。これらのエリアは、並列に配置されるリコンフィギュラブルデバイスの数に応じて増加する。たとえば２つのリコンフィギュラブルデバイスが使用される場合には、エリア２１１０は、第１のリコンフィギュラブルデバイスに対して割り当てられ、エリア２１２０は、第２のリコンフィギュラブルデバイスに対して割り当てられる。
【００９６】
図２２を参照して、本実施の形態に係る画像処理装置１７００による処理時間について説明する。図２２（Ａ）は、一方のリコンフィギュラブルデバイス１８３０による処理時間を表わす図である。図２２（Ｂ）は、他方のリコンフィギュラブルデバイス１８３２による処理時間を表わす図である。
【００９７】
図２２に示されるように、それぞれのリコンフィギュラブルデバイスは、制御部１８２０により処理の対象として設定されたエリアについての画像処理を他のリコンフィギュラブルデバイスによる進捗とは無関係に独立して実行することができる。したがって、処理の対象となる領域を分割しない場合に比べて処理時間は約半分に短くすることができる。
【００９８】
以上のようにして、本発明の第３の実施の形態に係る画像処理装置によると、並列に配列された複数のリコンフィギュラブルデバイスによって、フィルタ処理をそれぞれ実行することができる。第１の実施の形態において説明したように、リコンフィギュラブルデバイスの書き換え時間もスキマタ機能情報による書き換え回数を低減することにより、それぞれのフィルタについて書き換える場合に比べてその書き換え時間を短くすることができる。したがって、本実施の形態における１フィルタ列を処理する場合の処理時間は、（１回の機能情報の書き込み時間）×Σ（使用されたスキマタ機能情報の構成フィルタ数−１）＋Σリコンフィギュラブルデバイス処理時間／Ｄ（Ｄ但し配置されているリコンフィギュラブルの数）となる。
【００９９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１００】
【図１】原画像１００に対して予め準備されたフィルタ１１０−１，１１０−２，…，１１０−ｎを用いて結果画像１２０を得るための処理を概念的に表わす図である。
【図２】複数のフィルタからなるフィルタ列を予め定められた評価基準により順次選択することにより、画像処理装置に使用するためのフィルタ列を選択する態様を表わす図である。
【図３】フィルタ列を導出するための遺伝的アルゴリズムを実現できる画像処理装置３００の機能的構成を表わすブロック図である。
【図４】フィルタ列処理部４００の機能的構成を表わすブロック図である。
【図５】本発明の第１の実施の形態に係る画像処理装置５００の機能的構成を表わすブロック図である。
【図６】本発明の第１の実施の形態に係るフィルタ列処理部６００の構成を概念的に表わすブロック図である。
【図７】本発明の第１の実施の形態に係る画像処理装置５００が含むコンピュータシステムの構成を表わすブロック図である。
【図８】本発明の第１の実施の形態に係る画像処理装置５００におけるフィルタ生成処理の流れを概念的に表わす図である。
【図９】本発明の第１の実施の形態に係る画像処理装置５００の制御部６２０が実行する処理の手順を表わすフローチャートである。
【図１０】従来の画像処理方法により要する処理時間と本発明の第１の実施の形態に係る画像処理装置５００による処理方法に要する処理時間との比較を表わす図である。
【図１１】本発明の第２の実施の形態に係る画像処理装置１１００の機能的構成を表わすブロック図である。
【図１２】本発明の第２の実施の形態に係るフィルタ列処理部１２００の構成を概念的に表わすブロック図である。
【図１３】本発明の第２の実施の形態に係る画像処理装置１１００を構成する各部における処理の内容と通信されるデータとを説明するための図である。
【図１４】本発明の第２の実施の形態に係る画像処理装置１１００の制御部１２２０が実行する処理の手順を表わすフローチャート（その１）である。
【図１５】本発明の第２の実施の形態に係る画像処理装置１１００の制御部１２２０が実行する処理の手順を表わすフローチャート（その２）である。
【図１６】本発明の第２の実施の形態に係る画像処理装置１１００による処理に要する処理時間を説明するための図である。
【図１７】本発明の第３の実施の形態に係る画像処理装置１７００の機能的構成を表すブロック図である。
【図１８】本発明の第３の実施の形態に係る画像処理装置１７００のフィルタ列処理部１８００の構成を表すブロック図である。
【図１９】本発明の第３の実施の形態に係るフィルタ列処理部１８００における処理を説明するための図である。
【図２０】本発明の第３の実施の形態に係る画像処理装置１７００の制御部１８２０が実行する処理の手順を表わすフローチャートである。
【図２１】本発明の第３の実施の形態に係るフィルタ列処理部１８００によるフィルタ列処理の対象となる画像をリコンフィギュラブルデバイスの数に応じて分割した状態を概念的に表わす図である。
【図２２】本発明の第３の実施の形態に係る画像処理装置１７００による処理に要する時間を説明するための図である。
【符号の説明】
【０１０１】
３００，５００，１１００，１７００  画像処理装置、３１０  フィルタ列生成部、３２０  フィルタ列評価部、４００，６００，１２００，１８００  フィルタ列処理部、４１０  入出力部、４２０，１２２０，１８２０  制御部、４３０，１２３０，１２３２，１８３０，１８３２  リコンフィギュラブルデバイス、４４０，６４０  メモリ部、５３０  スキーマ管理部、５４０  機能情報生成部、７００  コンピュータシステム、７１０  ＣＰＵ、７２０  マウス、７３０  キーボード、７４０  ＲＡＭ、７５０  ハードディスク、７６０  ＣＤ-ＲＯＭ駆動装置、７６２  ＣＤ-ＲＯＭ、７９０  通信ＩＦ、７８０  モニタ。
【図１】
2007034719.tif 000003
【図２】
2007034719.tif 000004
【図３】
2007034719.tif 000005
【図４】
2007034719.tif 000006
【図５】
2007034719.tif 000007
【図６】
2007034719.tif 000008
【図７】
2007034719.tif 000009
【図８】
2007034719.tif 000010
【図９】
2007034719.tif 000011
【図１０】
2007034719.tif 000012
【図１１】
2007034719.tif 000013
【図１２】
2007034719.tif 000014
【図１３】
2007034719.tif 000015
【図１４】
2007034719.tif 000016
【図１５】
2007034719.tif 000017
【図１６】
2007034719.tif 000018
【図１７】
2007034719.tif 000019
【図１８】
2007034719.tif 000020
【図１９】
2007034719.tif 000021
【図２０】
2007034719.tif 000022
【図２１】
2007034719.tif 000023
【図２２】
2007034719.tif 000024