(57)【要約】【課題】部分再構成にかかる時間のさらなる短縮が可能な画像処理装置等を提供する。【解決手段】画像処理装置は、前処理を実行する前処理回路と、前処理回路の部分再構成を実行するコンフィグレーション制御部（４１０）とを備えている。コンフィグレーション制御部（４１０）は、前処理回路が備える複数の演算変換回路のうち少なくとも１つを部分再構成の対象とする一方、タイミング保障回路を部分再構成の対象としない。【選択図】図１
2017191566.tif 000002
【特許請求の範囲】
【請求項１】
外部から取得した画像データに対して画像処理を実行する画像処理装置において、
前記画像処理における前処理を実行する前処理回路と、
前記前処理回路の部分再構成を実行する回路構成制御部と、を備え、
前記前処理回路は、
画像データに対して演算を行い変換する複数の演算変換回路と、
処理の順に接続された前記複数の演算変換回路のそれぞれの間に設けられる、データの確実な受け渡しを保障するタイミング保障回路とを有しており、
前記回路構成制御部は、前記複数の演算変換回路のうち少なくとも１つを部分再構成の対象とする一方、前記タイミング保障回路を部分再構成の対象としないことを特徴とする画像処理装置。
【請求項２】
外部から取得した画像データに対して画像処理を実行する画像処理装置において、
前記画像処理における前処理を実行する前処理回路と、
前記前処理回路の部分再構成を実行する回路構成制御部と、を備え、
前記前処理回路は、画像データに対して演算を行い変換する少なくとも１つの演算変換回路を有しており、
前記演算変換回路は、入力されたデータを一時記憶する入力部と、該一時記憶されたデータに対して演算を行う演算部と、演算後のデータを一時記憶する出力部とからなっており、
前記回路構成制御部は、少なくとも１つの前記演算部を部分再構成の対象とする一方、前記入力部及び出力部を部分再構成の対象としないことを特徴とする画像処理装置。
【請求項３】
前記前処理回路が、同一種類の演算変換回路を複数有しており、
前記同一種類の複数の演算変換回路が直列に接続されて構成されていることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記演算変換回路は、画像データに対してフィルタ処理を行うことを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記前処理回路の初期回路構成データ、及び前記演算変換回路の部分再構成に用いられる複数種類の部分再構成データを記憶する不揮発性記憶部と、
前記不揮発性記憶部よりも高速にデータを読み出すことができる揮発性記憶部と、
前記不揮発性記憶部から前記揮発性記憶部へ前記部分再構成データを転送する制御を行うメモリ転送制御部とをさらに備えることを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
外部から取得した画像データに対して画像処理を実行する画像処理方法において、
前記画像処理における前処理を前処理回路が実行する前処理ステップと、
前記前処理回路の部分再構成を実行する回路構成制御ステップと、を有し、
前記前処理ステップは、
画像データに対して演算を行い変換する複数の演算変換ステップと、
処理の順に行われる前記複数の演算変換ステップのそれぞれの間に設けられる、データの確実な受け渡しを保障するタイミング保障ステップとを含んでおり、
前記回路構成制御ステップは、前記前処理回路において前記複数の演算変換ステップを実行する複数の演算変換回路のうち少なくとも１つに対して部分再構成を実行する一方、前記前処理回路において前記タイミング保障ステップを実行するタイミング保障回路に対しては部分再構成を実行しないことを特徴とする画像処理方法。
【請求項７】
外部から取得した画像データに対して画像処理を実行する画像処理方法において、
前記画像処理における前処理を前処理回路が実行する前処理ステップと、
前記前処理回路の部分再構成を実行する回路構成制御ステップと、を有し、
前記前処理ステップは、画像データに対して演算を行い変換する少なくとも１つの演算変換ステップを有しており、
前記演算変換ステップは、入力されたデータを一時記憶する入力ステップと、該一時記憶されたデータに対して演算を行う演算ステップと、演算後のデータを一時記憶する出力ステップとからなっており、
前記回路構成制御ステップは、前記前処理回路において前記演算ステップを実行する少なくとも１つの演算部に対して部分再構成を実行する一方、前記前処理回路において前記入力ステップ及び出力ステップを実行する入力部及び出力部に対しては部分再構成を実行しないことを特徴とする画像処理方法。
【請求項８】
前記前処理ステップが、同一種類の演算変換ステップを複数有しており、
前記同一種類の複数の演算変換ステップが連続して行われることを特徴とする請求項６または７に記載の画像処理方法。
【請求項９】
請求項１〜５のいずれか１項に記載の画像処理装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項１０】
請求項９に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置等に関するものであり、詳細には、部分再構成が可能なプログラマブル論理回路を備えた画像処理装置等に関するものである。
【背景技術】
【０００２】
従来、製造後にユーザが回路構成を設定することができるＦＰＧＡ（Field Programmable Gate Array）等のプログラマブル論理回路を用いて、画像処理の用途に対応するように部分再構成（パーシャルリコンフィグ）を可能なように構成した画像処理装置が知られている。
【０００３】
特許文献１に開示された画像処理装置は、プリントジョブの処理中に、次プリントジョブに関するレジスタ設定をフラッシュメモリ上に展開しておき、フラッシュメモリ上に展開したレジスタ設定をプログラマブル論理回路に書き込んで、次プリントジョブを開始する構成となっている。これにより、プリントジョブ間の時間を短縮することができる。
【０００４】
また、特許文献２に開示された画像処理装置は、読み取り対象物のタイプを先に検知して、そのタイプに応じてプログラマブル論理回路を再構成し、再構成後の回路を用いて、カメラから取得した画像データに対して処理を行う構成となっている。これにより、処理開始までの待ち時間を短縮することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２０６７０４号公報（２０１０年９月１６日公開）
【特許文献２】特開２０１５−２２８１８７号公報（２０１５年１２月１７日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、検査対象物の検査・計測等に用いられる画像処理装置においては、検査対象物が連続的に流れてくるような場合、迅速に画像処理を行うことが求められる。
【０００７】
そのため、このような画像処理装置にプログラマブル論理回路を適用する場合、画像処理速度が遅くなりすぎることがないように、プログラマブル論理回路の再構成にかかる時間を短縮化することが必要とされる。
【０００８】
特許文献１または特許文献２のように、プリントジョブ間の時間を短縮すること、または処理開始までの待ち時間を短縮することによれば、再構成にかかる時間は回路サイズに依存するため、さらなる再構成時間の短縮は困難であった。
【０００９】
本発明は、上記従来の問題点に鑑みなされたものであって、その目的は、部分再構成にかかる時間のさらなる短縮が可能な画像処理装置等を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の一態様における画像処理装置は、外部から取得した画像データに対して画像処理を実行する画像処理装置において、前記画像処理における前処理を実行する前処理回路と、前記前処理回路の部分再構成を実行する回路構成制御部と、を備え、前記前処理回路は、画像データに対して演算を行い変換する複数の演算変換回路と、処理の順に接続された前記複数の演算変換回路のそれぞれの間に設けられる、データの確実な受け渡しを保障するタイミング保障回路とを有しており、前記回路構成制御部は、前記複数の演算変換回路のうち少なくとも１つを部分再構成の対象とする一方、前記タイミング保障回路を部分再構成の対象としない。
【００１１】
前記の構成によれば、複数の演算変換回路のそれぞれの間にタイミング保障回路が設けられているため、演算変換回路がどのように部分再構成されても、前処理回路の動作に問題が生じない。
【００１２】
また、前処理回路のうち、少なくとも１つの演算変換回路のみを部分再構成し、その他の演算変換回路およびタイミング保障回路については部分再構成しない。よって、部分再構成の対象となる回路を小さくすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【００１３】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理装置を提供することができる。
【００１４】
また、画像処理の設定を変更した場合に、より短時間で設定の変更を完了することができる。それゆえ、画像処理の対象物や場面が変化しても、装置の動作を停止することなく、その変化に合わせて迅速な画像処理を行うことができる画像処理装置を提供することができる。
【００１５】
また、上記の課題を解決するために、本発明の一態様における画像処理装置は、外部から取得した画像データに対して画像処理を実行する画像処理装置において、前記画像処理における前処理を実行する前処理回路と、前記前処理回路の部分再構成を実行する回路構成制御部と、を備え、前記前処理回路は、画像データに対して演算を行い変換する少なくとも１つの演算変換回路を有しており、前記演算変換回路は、入力されたデータを一時記憶する入力部と、該一時記憶されたデータに対して演算を行う演算部と、演算後のデータを一時記憶する出力部とからなっており、前記回路構成制御部は、少なくとも１つの前記演算部を部分再構成の対象とする一方、前記入力部及び出力部を部分再構成の対象としない。
【００１６】
前記の構成によれば、前処理回路のうち、少なくとも１つの前記演算部を部分再構成する一方で、その他の回路については部分再構成しない。よって、部分再構成の対象となる回路を小さくすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【００１７】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理装置を提供することができる。
【００１８】
また、前処理回路が演算変換回路を複数有している場合において、各演算変換回路における入力部と出力部とは部分再構成の対象外となっている。そのため、複数の演算変換回路のそれぞれの間にタイミング保障部を設けていなくても、データの確実な受け渡しが保障される。その結果、前処理回路によるリソース消費量を削減することができる。
【００１９】
好ましくは、前記画像処理装置は、前記前処理回路が、同一種類の演算変換回路を複数有しており、前記同一種類の複数の演算変換回路が直列に接続されて構成されている。
【００２０】
従来、前処理回路が複数種類の演算変換回路を有するように構成して、同一種類の演算変換回路による処理を複数行う場合、以下のような問題があった。すなわち、処理毎に、演算変換回路による処理結果を前処理回路外部のメモリに一旦格納し、該メモリからデータを読み出して再度演算変換回路による処理を行う必要があるため、実行時間が長くなっていた。これは、データの確実な受け渡しを保障するためである。
【００２１】
これに対して、前記の構成によれば、前処理として、同一種類の演算変換回路によって繰り返し処理を行う場合に、処理結果を外部のメモリに格納することなく、連続的に処理を行うことができる。そのため、従来よりも前処理の実行時間を短縮することができる。
【００２２】
好ましくは、前記演算変換回路は、画像データに対してフィルタ処理を行う。
【００２３】
前記の構成によれば、前処理としてフィルタ処理を行う。フィルタ処理は、単純な演算処理であるが、画像処理においては扱うデータサイズが大きいため、高速な演算処理が要求される。すなわち、ＦＰＧＡ等のプログラマブル論理回路によって前処理回路を実現することにより、例えば、ＣＰＵで実行する場合と比較して、高速な処理を実現できる。
【００２４】
好ましくは、前記画像処理装置は、前記前処理回路の初期回路構成データ、及び前記演算変換回路の部分再構成に用いられる複数種類の部分再構成データを記憶する不揮発性記憶部と、前記不揮発性記憶部よりも高速にデータを読み出すことができる揮発性記憶部と、前記不揮発性記憶部から前記揮発性記憶部へ前記部分再構成データを転送する制御を行うメモリ転送制御部とをさらに備える。
【００２５】
前記の構成によれば、不揮発性記憶部に記憶された複数種類の部分再構成データは、装置の電源がＯＦＦされても保持することができる。また、揮発性記憶部に部分再構成データを転送して、揮発性記憶部から部分再構成データを読み出すことによって、回路構成制御部は部分再構成を高速に行うことができる。
【００２６】
また、制御メモリ転送制御部がデータを転送するので、不揮発性記憶部から揮発性記憶部への転送処理に関して、ＣＰＵのリソースを消費しない。そのため、ＣＰＵの負荷を低減することができる。
【００２７】
また、上記の課題を解決するために、本発明の一態様における画像処理方法は、外部から取得した画像データに対して画像処理を実行する画像処理方法において、前記画像処理における前処理を前処理回路が実行する前処理ステップと、前記前処理回路の部分再構成を実行する回路構成制御ステップと、を有し、前記前処理ステップは、画像データに対して演算を行い変換する複数の演算変換ステップと、処理の順に行われる前記複数の演算変換ステップのそれぞれの間に設けられる、データの確実な受け渡しを保障するタイミング保障ステップとを含んでおり、前記回路構成制御ステップは、前記前処理回路において前記複数の演算変換ステップを実行する複数の演算変換回路のうち少なくとも１つに対して部分再構成を実行する一方、前記前処理回路において前記タイミング保障ステップを実行するタイミング保障回路に対しては部分再構成を実行しない。
【００２８】
前記の構成によれば、複数の演算変換ステップのそれぞれの間にタイミング保障ステップが設けられているため、演算変換回路がどのように部分再構成されても、前処理ステップの動作に問題が生じない。
【００２９】
また、前記回路構成制御ステップは、前処理回路のうち、少なくとも１つの演算変換回路のみを部分再構成し、その他の演算変換回路およびタイミング保障回路については部分再構成しない。よって、部分再構成の対象となる回路を小さくすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【００３０】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理方法を提供することができる。
【００３１】
また、上記の課題を解決するために、本発明の一態様における画像処理方法は、外部から取得した画像データに対して画像処理を実行する画像処理方法において、前記画像処理における前処理を前処理回路が実行する前処理ステップと、前記前処理回路の部分再構成を実行する回路構成制御ステップと、を有し、前記前処理ステップは、画像データに対して演算を行い変換する少なくとも１つの演算変換ステップを有しており、前記演算変換ステップは、入力されたデータを一時記憶する入力ステップと、該一時記憶されたデータに対して演算を行う演算ステップと、演算後のデータを一時記憶する出力ステップとからなっており、前記回路構成制御ステップは、前記前処理回路において前記演算ステップを実行する少なくとも１つの演算部に対して部分再構成を実行する一方、前記前処理回路において前記入力ステップ及び出力ステップを実行する入力部及び出力部に対しては部分再構成を実行しない。
【００３２】
前記の構成によれば、前記回路構成制御ステップは、前処理回路のうち、少なくとも１つの前記演算部を部分再構成する一方で、その他の回路については部分再構成しない。よって、部分再構成の対象となる回路を小さくすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【００３３】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理方法を提供することができる。
【００３４】
好ましくは、前記前処理ステップが、同一種類の演算変換ステップを複数有しており、前記同一種類の複数の演算変換ステップが連続して行われる。
【００３５】
前記の構成によれば、前処理ステップとして、同一種類の演算変換ステップによって繰り返し処理を行う場合に、処理結果を外部のメモリに格納することなく、連続的に処理を行うことができる。そのため、従来よりも前処理の実行時間を短縮することができる。
【発明の効果】
【００３６】
本発明の一態様によれば、部分再構成にかかる時間のさらなる短縮が可能な画像処理装置等を提供するという効果を奏する。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態１における画像処理装置の概略的な構成を示すブロック図である。
【図２】前記画像処理装置を含む画像検査システムの概要を示す図である。
【図３】前記画像処理装置の前処理回路における前処理実行部の一部を拡大して示すブロック図である。
【図４】前記画像処理装置の再構成部におけるデータ処理を示す図である。
【図５】（ａ）は、複数の前処理機能を有する従来の画像処理装置における前処理回路の概略的な構成を示すブロック図であり、（ｂ）は、同一種類の前処理機能を有する再構成回路が複数構成された本発明の実施形態１における画像処理装置の前処理回路の概略的な構成を示すブロック図である。
【図６】（ａ）は、微分機能をｎ回使用することによりノイズを強調する場合の処理を示す図であり、（ｂ）は、縮小機能をｎ回使用してノイズを除去し、その後、膨張機能をｎ回使用して元の画像サイズに戻す場合の処理を示す図である。
【図７】装置の電源投入直後において、前記画像処理装置が実行する処理の流れを示すフローチャートである。
【図８】前記画像処理装置が実行する、前処理回路の再構成部に対する部分再構成処理の流れを示すフローチャートである。
【図９】装置起動中に前処理の設定変更が行われた場合に、前記画像処理装置が実行する、前処理回路の再構成部に対する部分再構成処理の流れを示すフローチャートである。
【図１０】本発明の実施形態２における画像処理装置の前処理回路における前処理実行部の一部を拡大して示すブロック図である。
【発明を実施するための形態】
【００３８】
〔実施形態１〕
以下、本発明の実施形態１について、図１から図９に基づいて説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様における画像処理装置１００についての理解を容易にするために、先ず、画像処理装置１００を含む画像認識システム１の概要を、図２を用いて説明する。
【００３９】
（実施形態１の画像検査システムの概要）
図２は、本実施の形態の画像処理装置１００を含む画像認識システム１の概要を示す図である。図２に示すように、画像認識システム１は、カメラ２と、画像処理装置１００とを含んでいる。
【００４０】
画像認識システム１は、検査対象物についてカメラ２が撮像した画像を、画像処理装置１００が画像処理することによって、検査対象物の位置認識、照合、判定、または分類等を行うものである。
【００４１】
カメラ２は、画像情報をアナログ・ディジタル変換するデジタルカメラであり、光電変換用の撮像素子としてＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサを備えている。撮像素子はＣＣＤ（Charge Coupled Device）センサであってもよく、その他のセンサであってもよい。
【００４２】
画像処理装置１００は、システムバス１０１に接続された、ＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１３０、ＤＤＲ１４０、ユーザ設定用インターフェース（以下、ユーザ設定用Ｉ／Ｆと記す。）１５０、ネットワークＩ／Ｆ１６０、およびＦＰＧＡ２００を含む。
【００４３】
ＣＰＵ１１０は、画像処理装置１００全体の動作を制御する中央演算装置であり、主要な画像処理を行う。ＲＯＭ１２０は不揮発性メモリであり、ＣＰＵ１１０を起動させるためのブートプログラムが格納されている。また、このＲＯＭ１２０には、後述するＦＰＧＡ２００をコンフィギュレーションするためのデータが格納されている。
【００４４】
ＲＡＭ１３０は揮発性のメモリであり、ＣＰＵ１１０の作業領域として機能する。また、ＤＤＲ１４０も揮発性のメモリであり、ＦＰＧＡ２００の回路再構成時に作業領域として機能する。ＤＤＲ１４０は、ＲＯＭ１２０よりも高速にデータを読み出すことができるので、ＦＰＧＡ２００の回路再構成時にＲＯＭ１２０に格納されたデータの一部をＤＤＲ１４０へ転送して格納しておくことにより、回路再構成処理をより高速に行うことが可能となる。
【００４５】
ユーザ設定用Ｉ／Ｆ１５０は、ユーザが画像処理装置１００に対する動作指示の入力、および、ユーザに対する情報の提示出力のインターフェースとして機能するものである。ユーザ設定用Ｉ／Ｆ１５０は、例えばディスプレイ、タッチパネルなどの画像表示装置、および、キーボード、マウス、ボタンなどの入力装置などに対する入出力を制御する。
【００４６】
ネットワークＩ／Ｆ１６０は、画像処理装置１００が画像処理した後の各種データを、ＬＡＮやインターネット等のネットワーク回線を介して、図示しない外部のサーバ装置や記憶装置へ送信するためのインターフェースである。このネットワーク回線としては、例えばやEtherCAT（登録商標）が適用されてもよい。また、ネットワークＩ／Ｆ１６０は、ネットワーク回線を介して、画像処理装置１００の外部から各種データを受信するためのインターフェースでもある。
【００４７】
ＦＰＧＡ２００は、プログラマブル論理回路の一種であり、カメラ２が撮像した画像を前処理する前処理回路として機能する。このＦＰＧＡ２００について、詳しくは後述する。ＦＰＧＡ２００は、部分再構成が可能となっている。なお、本実施の形態の画像処理装置１００はＦＰＧＡ２００を含んでいるが、ＦＰＧＡ以外のその他のプログラマブル論理回路が前処理回路となってもよい。
【００４８】
前記の各部はシステムバス１０１によって相互に接続されており、高速でデータのやりとりができるようになっている。
【００４９】
以上に概要を説明した本実施の形態の画像処理装置１００について、次に、図１、図３、および図４を用いて、その詳細を説明していく。
【００５０】
（本発明の一態様における画像処理装置）
図１は、本実施の形態の画像処理装置１００の概略的な構成を示すブロック図である。
【００５１】
図１に示すように、画像処理装置１００は、記憶部３００と、制御部４００と、ＦＰＧＡ２００とを備えている。
【００５２】
記憶部３００は、ＣＰＵ１１０を起動させるためのＣＰＵブートデータ３１０と、ＦＰＧＡ２００の初期コンフィグレーションに用いる初期コンフィグレーションデータ３２０と、ＦＰＧＡ２００の部分再構成に用いるＦＰＧＡ再構成データ３３０とを格納している。この記憶部３００は、ＲＯＭ１２０（図２参照）に対応する。
【００５３】
ＦＰＧＡ再構成データ３３０は、ＦＰＧＡ２００の後述する再構成部の部分再構成に用いるためのデータであって、複数種類の回路再構成データ（回路再構成１データ３３１、回路再構成２データ３３２、回路再構成３データ３３３、・・・）を含んでいる。
【００５４】
制御部４００は、ユーザ設定用Ｉ／Ｆ１５０（図２参照）と、コンフィグレーション制御部４１０と、画像処理制御部４２０とを備えている。コンフィグレーション制御部４１０および画像処理制御部４２０は、例えば、ＣＰＵ１１０（図２参照）によって動作するソフトウェアとして実現される。
【００５５】
コンフィグレーション制御部４１０は、先ず、画像処理装置１００が電源ＯＮされた起動時に、前記初期コンフィグレーションデータ３２０を用いて、ＦＰＧＡ２００に初期コンフィグレーションを実行する。これは、画像処理装置１００の電源を切ることにより、ＦＰＧＡのデータが消えてしまうためである。この初期コンフィグレーションによって、ＦＰＧＡ２００に前処理回路が構成される。なお、初期コンフィグレーションは、他の方法で行われてもよく、初期コンフィグレーション方法は特に限定されない。
【００５６】
前記前処理回路は、画像処理装置１００が行う画像処理における前処理を実行する。本明細書において、以下では、初期コンフィグレーションが実行された状態（前処理回路が構成された状態）のＦＰＧＡ２００について説明する。
【００５７】
また、コンフィグレーション制御部４１０は、記憶部３００に格納されているＦＰＧＡ再構成データ３３０から選択した回路再構成データを用いて、ＦＰＧＡ２００の部分再構成を実行する。
【００５８】
画像処理制御部４２０は、ＦＰＧＡ２００にて前処理された画像データに対して後処理を行い、検査対象物の位置認識、照合、判定、または分類等を行う。また、画像処理制御部４２０は、コンフィグレーション制御部４１０に対して、ＦＰＧＡ２００の部分再構成を実行するように指示を出す、または、ＦＰＧＡ２００が前処理を再度行うように指示を出す等、画像処理装置１００における画像処理の主要な制御を行う。
【００５９】
ここで、制御部４００は、図示しないメモリ転送制御部としてのダイレクトメモリアクセスコントローラ（ＤＭＡＣ）を備えていることが好ましい。この場合には、ＦＰＧＡ２００の再構成処理時に、記憶部３００からＤＤＲ１４０へ、ＦＰＧＡ再構成データ３３０をＤＭＡＣが転送する。また、ＣＰＵ１１０からの指令に基づいてＤＭＡＣがデータの転送を行うことにより、ＣＰＵ１１０の負担が低減する。
【００６０】
この場合、コンフィグレーション制御部４１０は、ＦＰＧＡ再構成データ３３０をＤＤＲ１４０から読み出すことにより、データ転送速度を大幅に（例えば、４倍程度）早くすることができる。
【００６１】
次に、初期コンフィグレーションが実行されて前処理回路が構成された、プログラマブル論理回路としてのＦＰＧＡ２００について、以下に詳細に説明する。
【００６２】
（プログラマブル論理回路）
前処理回路が構成された、プログラマブル論理回路としてのＦＰＧＡ２００は、画像取得部２１０と、データ制御部２２０と、前処理実行部２３０と、コンフィグレーションＩ／Ｆ２４０と、割り込み制御部２５０とを含む。
【００６３】
画像取得部２１０は、カメラ２が撮像した画像を取得し、データ制御部２２０に転送する。データ制御部２２０は、画像取得部２１０から転送されたデータを、後述する前処理実行部２３０へ制御しながら転送する。また、データ制御部２２０は、画像処理制御部４２０から転送されたデータを、後述する前処理実行部２３０へ制御しながら転送してもよい。
【００６４】
前処理実行部２３０は、データ制御部２２０から転送された画像データに対して、前処理を実行する。ここで、前処理実行部２３０における前処理の内容は固定されたものではなく、コンフィグレーション制御部４１０が、前記記憶部３００に格納された複数種類の回路再構成データを用いて、ＦＰＧＡ２００の部分再構成を実行することにより、前処理実行部２３０は所望の前処理が実行されるように回路再構成される。
【００６５】
コンフィグレーションＩ／Ｆ２４０は、コンフィグレーション制御部４１０からの指示を受けて、前処理実行部２３０を部分再構成する。割り込み制御部２５０は、コンフィグレーションＩ／Ｆ２４０から、部分再構成に成功したか否かの情報を受け取り、それに基づいて、制御部４００としてのＣＰＵ１１０に対して割り込みを発生させる。
【００６６】
以下に、本実施の形態の前処理実行部２３０について、詳細に説明する。
【００６７】
（前処理実行部）
本実施の形態の前処理実行部２３０は、３個の共通部と、３個の再構成部とを含んでいる。データ制御部２２０から転送された画像データは、前処理実行部２３０内において、共通部２３１、再構成部２３２、共通部２３３、再構成部２３４、共通部２３５、再構成部２３６の順に処理される。
【００６８】
なお、本実施の形態では、前処理実行部２３０は３個の再構成部を含んでいるが、再構成部は２個以上であればよく、各再構成部の間に共通部が設けられていれば、再構成部の数は限定されない。
【００６９】
前記再構成部は、前処理の内容を変更する場合に、コンフィグレーション制御部４１０からの指示に基づいて、コンフィグレーションＩ／Ｆ２４０により回路再構成される部分である。この回路再構成には、ＦＰＧＡ再構成データ３３０から選択された所望の回路再構成データが用いられる。
【００７０】
ここで、前処理の内容を変更する場合とは、ユーザからの指示に基づく場合であってもよいし、プログラムによって切り替えた場合であってもよく、また、画像のシーンが変わったことを画像処理制御部４２０が自動判定した場合であってもよい。つまり、前処理の内容を変更する場合とは、何らかの要因によって前処理の内容を変更する必要がある場合である。
【００７１】
再構成部２３２・２３４・２３６はそれぞれ、ＦＰＧＡ再構成データ３３０に含まれる何れの回路再構成データを用いても回路再構成を行うことができるように、ＦＰＧＡ２００上において或る程度の領域が確保されている。
【００７２】
再構成部２３２・２３４・２３６には、画像データに対して演算を行い変換する演算変換回路がそれぞれ構成される。該演算変換回路は、前記回路再構成データを用いて、コンフィグレーションＩ／Ｆ２４０により構成される。再構成部２３２・２３４・２３６に構成された演算変換回路はそれぞれ、ＦＰＧＡ２００上の回路サイズが互いに同じであってもよいし、互いに異なっていてもよい。
【００７３】
共通部２３１・２３３・２３５はそれぞれ、画像データの確実な受け渡しを保障するタイミング保障回路である。
【００７４】
これら再構成部および共通部について、図３および図４に基づいて詳細に説明する。
【００７５】
（再構成部および共通部）
図３は、画像処理装置１００の前処理回路における前処理実行部２３０の一部を拡大して示すブロック図である。図３において、データは左から右に流れる。
【００７６】
図３に示すように、再構成部２３２と、再構成部２３４との間を、共通部２３３がつないでいる。
【００７７】
本実施の形態の画像処理装置１００の再構成部に構成された演算変換回路は、画像フィルタである。画像フィルタは、画像データを演算して変換し、エッジ検出や膨張収縮等行うものである。画像処理装置１００の再構成部は、カラー画像におけるＲＧＢのそれぞれに対応する画像フィルタとして３つの画像フィルタを備えている。
【００７８】
また、画像処理装置１００の共通部は、画像フィルタ間のデータの受け渡しを保障するためのタイミング保障回路としてのフリップフロップ回路（以下、ＦＦ回路と記す。）である。このＦＦ回路の別の呼び方として、スライスレジスタ等がある。
【００７９】
画像データが再構成部２３２の画像フィルタによって演算され変換された後、次の再構成部２３４の画像フィルタへとデータが送られるまでの間において、この共通部２３３のＦＦ回路によってデータ転送のタイミングが保障される。
【００８０】
つまり、画像フィルタ間にＦＦ回路を設けることにより、再構成部２３２の３つの画像フィルタによる演算が確実に完了した後、演算後のデータを、次の再構成部２３４の画像フィルタに転送することができる。また、画像フィルタ間にＦＦ回路を設けることにより、各再構成部がどのように部分再構成されても、前処理回路の動作に問題が生じない。
【００８１】
例えば、仮に再構成部２３２と再構成部２３４とを直接つないだ場合には、再構成部２３２の画像フィルタによる演算が未完了の状態で、再構成部２３４における演算が開始されるなどの誤動作が生じる可能性がある。
【００８２】
再構成部２３２の画像フィルタは、入力されたデータを一時記憶する入力部２３２ａと、該一時記憶されたデータに対して演算を行う演算部２３２ｂと、演算後のデータを一時記憶する出力部２３２ｃとからなっている。再構成部２３４の画像フィルタも同様に、入力部２３４ａと、演算部２３４ｂと、出力部２３４ｃとからなっている。
【００８３】
再構成部２３２の画像フィルタにおけるデータ処理について、図４に基づいて説明すれば以下のとおりである。図４は、本実施の形態の画像処理装置１００の再構成部２３２におけるデータ処理を示す図である。
【００８４】
図４に示すように、再構成部２３２の画像フィルタは、入力部２３２ａと、演算部２３２ｂと、出力部２３２ｃとからなっている。
【００８５】
入力画像データは、再構成部２３２の画像フィルタの入力部２３２ａに、上から順にデータが流れてくる。例えば、ｎ−２行目のデータ、ｎ−１行目のデータ、ｎ行目のデータの順に流れてくる。そして、それぞれの行において、データが左から右に順番に入力部２３２ａに流れてくる。
【００８６】
入力部２３２ａは、流れてきたデータを、ＦＰＧＡ２００上に設けられた記憶領域であるＲＡＭに格納する。本実施の形態では、画像フィルタは演算部２３２ｂにおいて３×３の演算処理を行うため、ＦＰＧＡ２００はＲＡＭを２つ有している。なお、前記ＲＡＭは、画像フィルタ毎に設けられている。
【００８７】
入力部２３２ａは、流れてきたｎ−２行目のデータを１つ目のＲＡＭに格納し、ｎ−１行目のデータを２つ目のＲＡＭに格納して、ｎ行目のデータはそのまま演算部２３２ｂへと転送する。
【００８８】
演算部２３２ｂは、１つ目のＲＡＭから読み出したｎ−２行目のデータと、２つ目のＲＡＭから読み出したｎ−１行目のデータと、入力部２３２ａから転送されたｎ行目のデータとを用いて、３×３の演算処理を行い、演算後のデータを出力部２３２ｃに転送する。
【００８９】
出力部２３２ｃは、演算部２３２ｂから転送されたＲＢＧの各データをまとめて、処理後のデータとして出力する。
【００９０】
なお、例えば、画像フィルタが演算部において５×５の演算処理を行う場合には、ＦＰＧＡ２００は画像フィルタ毎にＲＡＭを４つ有する。
【００９１】
このような前処理回路を備える画像処理装置１００において、装置の動作中にコンフィグレーション制御部４１０が前処理回路を部分再構成する場合について、以下のことが言える。
【００９２】
すなわち、従来、プログラマブル論理回路にただ１つの画像フィルタが設けられ、該画像フィルタを部分再構成する構成については知られている。しかしながら、従来の画像処理装置では、前処理回路の全体を再構成する、または前処理を実行する部分の全体を再構成しているので、再構成処理に比較的時間がかかっていた。
【００９３】
ここで、各再構成部の演算変換回路としての画像フィルタを回路再構成することによって前処理の内容を変更することができるが、その一方で、各共通部のタイミング保障回路としてのＦＦ回路については、前処理の内容の変更に関わらないため、回路再構成を行わないようにすることができる。
【００９４】
そこで、本実施の形態の画像処理装置１００は、装置の動作中に前処理の内容を変更する場合において、複数の画像フィルタのうち少なくとも１つを部分再構成の対象とする一方、ＦＦ回路を部分再構成の対象としない。
【００９５】
これにより、部分再構成の対象となる回路を小さくすることができる。たとえ、全ての再構成部について回路再構成を実行するとしても、共通部の分だけ、部分再構成の対象となる回路を小さくすることができる。部分再構成の対象となる回路のサイズを小さくすることにより、データの転送にかかる時間等を短くすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【００９６】
したがって、本実施の形態の画像処理装置１００によれば、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理装置とすることができる。
【００９７】
また、本実施の形態の画像処理装置１００によれば、以下のような利点も有している。このことについて、図５および図６に基づいて説明する。
【００９８】
図５の（ａ）は、複数の前処理機能を有する従来の画像処理装置における前処理回路９００の概略的な構成を示すブロック図である。図５の（ｂ）は、同一種類の前処理機能を有する再構成回路が複数構成された本実施の形態の画像処理装置１００の前処理回路の概略的な構成を示すブロック図である。
【００９９】
先ず、従来の画像処理装置９００における前処理回路において、同一種類の前処理機能によって画像データの前処理を行う場合について説明する。
【０１００】
図５の（ａ）に示すように、従来の画像処理装置９００における前処理回路は、内部にカメラＩ／Ｆ９１０と、スイッチ９２０と、スイッチ９２０にそれぞれ接続している前処理機能Ａ回路９３０、前処理機能Ｂ回路９４０、および前処理機能Ｃ回路９５０と、を含む。画像処理装置９００の前処理回路は、外部のカメラ２およびメモリ９６０と接続されている。
【０１０１】
カメラ２が撮像したデータは、カメラＩ／Ｆ９１０に転送され、その後スイッチ９２０に転送される。ここで、例えば、従来の画像処理装置９００における前処理として、前処理機能Ａ回路９３０によって３回前処理を行う場合、以下のようにして処理が行われる。
【０１０２】
すなわち、スイッチ９２０から前処理機能Ａ回路９３０にデータが転送され、前処理機能Ａ回路９３０によって演算され変換されたデータＡ１は、メモリ９６０に転送され格納される。このとき、前処理機能Ａ回路９３０による処理が全て終了するまで、前処理機能Ａ回路９３０による処理を再度行うことができない。
【０１０３】
次に、メモリ９６０からデータＡ１を読み出して、再度前処理機能Ａ回路９３０に転送して前処理が行われ、前処理機能Ａ回路９３０から出力されるデータＡ２がメモリ９６０に格納される。そして、メモリ９６０からデータＡ２を読み出して、前処理機能Ａ回路９３０に転送し、３回目の処理を行う。
【０１０４】
このような従来の画像処理装置９００における前処理によれば、スイッチ９２０による切替と外部のメモリ９６０に対する書き込み、読み出しが繰り返されるので、前処理に要する時間が比較的長くなる。
【０１０５】
これに対して、本実施の形態の画像処理装置１００において、複数の同一種類の前処理を行う場合には、以下のようにすることができる。
【０１０６】
図５の（ｂ）に示すように、同一種類の前処理機能が構成された本実施の形態の画像処理装置１００の前処理回路は、カメラＩ／Ｆ１７０と、同一種類の前処理機能を有する３つの再構成回路１８０・１８１・１８２とを含む。
【０１０７】
カメラＩ／Ｆ１７０は、画像取得部２１０およびデータ制御部２２０（図１参照）に対応する。
【０１０８】
本実施の形態の画像処理装置１００の前処理回路は、カメラ２と、メモリ１９０とに接続されている。
【０１０９】
カメラ２が撮像したデータは、カメラＩ／Ｆ１７０に転送され、同一種類の前処理機能を有する３つの再構成回路１８０・１８１・１８２によって連続的に処理される。この場合には、１つめの再構成回路１８０によって演算され変換されたデータは、次の再構成回路１８１に送ることができる。
【０１１０】
以下に、同一種類の前処理機能による繰り返し処理を必要とする場合の具体例について、図６に基づいて説明する。
【０１１１】
図６の（ａ）は、微分機能をｎ回使用することによりノイズを強調する場合の処理を示す図である。図６の（ｂ）は、縮小機能をｎ回使用してノイズを除去し、その後、膨張機能をｎ回使用して元の画像サイズに戻す場合の処理を示す図である。
【０１１２】
図６の（ａ）に示すように、ノイズデータが存在する画像について、微分処理を繰り返すことによって、ノイズのエッジを強調することができる。エッジが閾値以上の部分をノイズとみなし、該ノイズ部分を画像から除去することにより、画像からノイズを除去することができる。
【０１１３】
また、図６の（ｂ）に示すように、ノイズデータが存在する画像について、画像を縮小する機能を繰り返し使用することによって、ノイズデータを除去することができる。その後、ノイズデータを除去した画像について、画像を膨張する機能を繰り返し使用することによって、元の画像サイズに戻すことができる。これにより、画像からノイズを除去することができる。
【０１１４】
本実施の形態の画像処理装置１００を用いて、同一機能を有する回路を前処理回路に複数個、部分再構成することにより、このような繰り返し処理を行う場合に、処理結果を外部のメモリに格納することなく、連続的に処理を行うことができる。そのため、従来よりも前処理の実行時間を短縮することができる。
【０１１５】
以上に構成の詳細等を説明してきた画像処理装置１００について、次に、画像処理装置１００が実行する処理の流れを、図７〜図９を用いて説明していく。
【０１１６】
（本発明の一態様における画像処理装置が実行する処理）
図７は、装置の電源投入直後において、本実施の形態の画像処理装置１００が実行する処理の流れを示すフローチャートである。
【０１１７】
図７に示すように、装置の電源投入直後において、画像処理装置１００は、ＦＰＧＡ２００の初期設定処理を開始する。
【０１１８】
先ず、コンフィグレーション制御部４１０が、記憶部３００から初期コンフィグレーションデータを読み出し、該データに基づいてＦＰＧＡ２００の初期コンフィグレーションを実行し、ＦＰＧＡ２００に前処理回路を構成する（Ｓ１０）。
【０１１９】
コンフィグレーション制御部４１０は、ＦＰＧＡ再構成データ３３０を用いて、前処理実行部２３０の再構成部について回路再構成を行う（Ｓ２０）。
【０１２０】
前処理実行部２３０の全ての再構成部の回路再構成が終了していない場合（Ｓ３０でＮＯ）、コンフィグレーション制御部４１０は、回路再構成処理を継続する。
【０１２１】
前処理実行部２３０の全ての再構成部の回路再構成が終了した場合（Ｓ３０でＹＥＳ）、ＲＯＭ１２０に対応する記憶部３００に格納されているＦＰＧＡ再構成データ３３０を、ＤＤＲ１４０に転送して記憶させる（Ｓ４０）。
【０１２２】
そして、画像処理装置１００は、ＦＰＧＡ２００の初期設定処理を終了する。
【０１２３】
以下に、図８を用いて、画像処理装置１００が、前処理実行部２３０の再構成部に対して実行する部分再構成の処理の流れについて説明する。
【０１２４】
図８は、本実施の形態の画像処理装置１００が実行する、前処理回路の再構成部に対する部分再構成処理の流れを示すフローチャートである。
【０１２５】
図８に示すように、先ず、コンフィグレーション制御部４１０は、ＦＰＧＡ再構成データ３３０に含まれる複数種類の回路再構成データから選択した、所望の回路再構成データをＦＰＧＡ２００に送信する（Ｓ１００）。
【０１２６】
コンフィグレーションＩ／Ｆ２４０は、コンフィグレーション制御部４１０から送信された回路再構成データに基づいて、所望の再構成部の回路再構成を行う。そして、割り込み制御部２５０は、コンフィグレーションＩ／Ｆ２４０から回路再構成に成功した旨の情報を受け取った場合に、制御部４００としてのＣＰＵ１１０に対して回路再構成の成功割り込みを発生させる（Ｓ１１０でＹＥＳ）。この場合、再構成部の回路再構成は終了する。
【０１２７】
一方で、回路再構成の成功割り込みが発生しない場合（Ｓ１１０でＮＯ）において、割り込み制御部２５０が、コンフィグレーションＩ／Ｆ２４０から回路再構成に失敗した旨の情報を受け取っていない場合（Ｓ１２０でＮＯ）は、コンフィグレーションＩ／Ｆ２４０は、所望の再構成部の回路再構成を再度実行する。
【０１２８】
割り込み制御部２５０が、コンフィグレーションＩ／Ｆ２４０から回路再構成に失敗した旨の情報を受け取った場合、割り込み制御部２５０は、制御部４００としてのＣＰＵ１１０に対して、回路再構成の失敗割り込みを発生させる（Ｓ１２０でＹＥＳ）。
【０１２９】
制御部４００としてのＣＰＵ１１０は、回路再構成の失敗割り込みが発生した場合に、回路再構成の失敗が３回連続している場合（Ｓ１３０でＹＥＳ）、再構成部の回路再構成に異常が生じた旨の回路再構成異常処理を実行する（Ｓ１４０）。
【０１３０】
回路再構成の失敗が３回連続未満の場合（Ｓ１３０でＮＯ）は、再度、コンフィグレーション制御部４１０が所望の回路再構成データをＦＰＧＡ２００に送信して、Ｓ１００からＳ１３０までの処理を繰り返す。
【０１３１】
以下に、図９を用いて、装置起動中に、ユーザまたはプログラム等によって前処理の設定変更が行われた場合に、画像処理装置１００が実行する前処理回路の部分再構成の処理の流れについて説明する。
【０１３２】
図９は、装置起動中に前処理の設定変更が行われた場合に、本実施の形態の画像処理装置１００が実行する、前処理回路の再構成部に対する部分再構成処理の流れを示すフローチャートである。
【０１３３】
図９に示すように、装置起動中において、前処理の設定変更が生じた場合（Ｓ２００でＹＥＳ）、画像処理装置１００は、ＦＰＧＡ２００の再構成部の動作を停止させる（Ｓ２１０）。
【０１３４】
そして、コンフィグレーション制御部４１０は、ＦＰＧＡ再構成データ３３０に含まれる複数種類の回路再構成データから選択した、所望の回路再構成データをＦＰＧＡ２００に送信して、コンフィグレーションＩ／Ｆ２４０は、所望の再構成部の回路再構成処理を実行する（Ｓ２２０）。
【０１３５】
再構成が必要な全ての再構成部について、回路再構成が終了していない場合（Ｓ２３０でＮＯ）、Ｓ２２０を繰り返す。再構成が必要な全ての再構成部について、回路再構成が終了した場合（Ｓ２３０でＹＥＳ）、画像処理装置１００は、ＦＰＧＡ２００の再構成部の動作を開始させる（Ｓ２４０）。
【０１３６】
そして、画像処理装置１００は、装置起動中における前処理回路の再構成部に対する部分再構成処理を終了する。
【０１３７】
以上に詳細を説明した、画像処理装置１００の実行する画像処理方法は、以下のように整理することができる。すなわち、画像処理装置１００の実行する画像処理方法は、外部から取得した画像データに対して画像処理を実行する画像処理方法において、前記画像処理における前処理を前処理回路が実行する前処理ステップと、前記前処理回路の部分再構成を実行する回路構成制御ステップと、を有している。前記前処理ステップは、演算変換回路が、画像データに対して演算を行い変換する少なくとも１つの演算変換ステップを有しており、前記演算変換ステップは、入力されたデータを一時記憶する入力ステップと、該一時記憶されたデータに対して演算を行う演算ステップと、演算後のデータを一時記憶する出力ステップとからなっている。これらのステップは、演算変換回路の、入力部と、演算部と、出力部とによって行われる。前記回路構成制御ステップは、前記前処理回路において前記演算ステップを実行する少なくとも１つの演算部に対して部分再構成を実行する一方、前記前処理回路において前記入力ステップ及び出力ステップを実行する入力部及び出力部に対しては部分再構成を実行しない。
【０１３８】
前記の構成によれば、複数の演算変換ステップのそれぞれの間にタイミング保障ステップが設けられているため、演算変換回路がどのように部分再構成されても、前処理ステップの動作に問題が生じない。
【０１３９】
また、前記回路構成制御ステップは、前処理回路のうち、少なくとも１つの演算変換回路のみを部分再構成し、その他の演算変換回路およびタイミング保障回路については部分再構成しない。そのため、部分再構成の対象となる回路を小さくすることができる。その結果、部分再構成にかかる時間を短縮することができる。
【０１４０】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理方法を提供することができる。
【０１４１】
なお、本明細書におけるコンフィグレーションという用語は、プログラマブル論理回路の中でＦＰＧＡに対して専ら用いられるものである、そのため、画像処理装置がＦＰＧＡ以外のプログラマブル論理回路を備える場合には、コンフィグレーションに対応する用語に置き換えて、本明細書の内容を理解することができる。
【０１４２】
〔実施形態２〕
本発明の他の実施形態について、図１０に基づいて説明すれば以下のとおりである。なお記載の簡潔性を担保するため、実施形態１とは異なる構成のみについて説明する。すなわち、実施形態１で記載された構成等は、本実施形態にもすべて含まれ得る。また、実施形態１で記載した用語の定義も同じである。
【０１４３】
図１０は、本実施の形態の画像処理装置１００の前処理回路における前処理実行部の一部を拡大して示すブロック図である。
【０１４４】
本発明の実施形態２における画像処理装置１００は、前処理回路の再構成部に構成された演算変換回路における演算部のみが部分再構成の対象となっており、入力部および出力部が共通部となっている点、並びに、各演算変換回路の間に共通部としてのＦＦ回路を有していない点で、画像処理装置１００と相違する。
【０１４５】
図１０に示すように、画像処理装置１００の前処理回路の前処理実行部は、演算変換回路としての２つの画像フィルタ６００・６１０を含んでいる。
【０１４６】
画像フィルタ６００は、入力部６０１と、演算部６０２と、出力部６０３とからなり、画像フィルタ６１０は、入力部６１１と、演算部６１２と、出力部６１３とからなっている。
【０１４７】
本実施の形態の画像処理装置１００においては、コンフィグレーション制御部４１０は、演算部６０２および演算部６１２を部分再構成の対象とする一方、入力部６０１、出力部６０３、入力部６１１、および出力部６１３を部分再構成の対象としない。つまり、入力部６０１、出力部６０３、入力部６１１、および出力部６１３が共通部となっている。
【０１４８】
このように、画像処理装置１００では、前処理回路の部分再構成を行う場合に、コンフィグレーション制御部４１０は、少なくとも１つの前記演算部を部分再構成する一方で、その他の回路については部分再構成しない。よって、部分再構成の対象となる回路を小さくすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【０１４９】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理装置を提供することができる。
【０１５０】
また、各画像フィルタにおける入力部と出力部とが共通部として部分再構成の対象外となっているため、画像処理装置１００は、画像フィルタ６００と画像フィルタ６１０との間に、ＦＦ回路を設けていなくても、データの確実な受け渡しが保障される。そのため、前処理回路によるリソース消費量を削減することができる。
【０１５１】
また、以上に説明した本実施の形態の画像処理装置１００の実行する画像処理方法は、以下のように整理することができる。すなわち、画像処理装置１００の実行する画像処理方法は、外部から取得した画像データに対して画像処理を実行する画像処理方法において、前記画像処理における前処理を前処理回路が実行する前処理ステップと、前記前処理回路の部分再構成を実行する回路構成制御ステップと、を有している。前記前処理ステップは、画像データに対して演算を行い変換する少なくとも１つの演算変換ステップを有しており、前記演算変換ステップは、入力されたデータを一時記憶する入力ステップと、該一時記憶されたデータに対して演算を行う演算ステップと、演算後のデータを一時記憶する出力ステップとからなっている。前記回路構成制御ステップは、前記前処理回路において前記演算ステップを実行する少なくとも１つの演算部に対して部分再構成を実行する一方、前記前処理回路において前記入力ステップ及び出力ステップを実行する入力部及び出力部に対しては部分再構成を実行しない。
【０１５２】
前記の構成によれば、前記回路構成制御ステップは、前処理回路のうち、少なくとも１つの前記演算部を部分再構成する一方で、その他の回路については部分再構成しない。よって、部分再構成の対象となる回路を小さくすることができる。そのため、部分再構成にかかる時間を短縮することができる。
【０１５３】
したがって、ＦＰＧＡ等のプログラマブル論理回路の部分再構成にかかる時間のさらなる短縮が可能な画像処理方法を提供することができる。
【０１５４】
〔ソフトウェアによる実現例〕
画像処理装置１００の制御ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１５５】
後者の場合、画像処理装置１００は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１５６】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１５７】
１００                画像処理装置
１４０                ＤＤＲ（揮発性記憶部）
２３２ａ              入力部
２３２ｂ              演算部
２３２ｃ              出力部
３００                記憶部（不揮発性記憶部）
３２０                初期コンフィグレーションデータ（初期回路構成データ）
３３１・３３２・３３３  回路再構成データ（部分再構成データ）
４００                コンフィグレーション制御部（回路構成制御部）
【図１】
2017191566.tif 000003
【図２】
2017191566.tif 000004
【図３】
2017191566.tif 000005
【図４】
2017191566.tif 000006
【図５】
2017191566.tif 000007
【図６】
2017191566.tif 000008
【図７】
2017191566.tif 000009
【図８】
2017191566.tif 000010
【図９】
2017191566.tif 000011
【図１０】
2017191566.tif 000012