(57)【要約】【課題】  より効率的に複数のＣＰＵを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供する。【解決手段】  データ処理装置１は、第１及び第２のＣＰＵを有し、少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶し、連続して入力されるデータに基づいて前記第１及び第２のいずれかのＣＰＵにより前記アルゴリズムの処理ステップを先頭から実行し、前記中間結果を出力するステップが実行された場合に他方のＣＰＵに前記中間結果を供給し、前記中間結果が供給された場合に前記中間結果基づいて他方のＣＰＵにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する。【選択図】      図１
2009282689.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のＣＰＵを有するデータ処理装置であって、
少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶する記憶手段と、
データが連続して入力される入力手段と、
前記入力手段により入力されたデータに基づいて前記第１及び第２のＣＰＵのうちのいずれかのＣＰＵにより前記アルゴリズムの処理ステップを先頭から実行する第１の処理手段と、
前記第１の処理手段により前記中間結果を出力するステップが実行された場合に他方のＣＰＵに前記中間結果を供給する中間結果供給手段と、
前記中間結果が供給された場合に前記中間結果に基づいて他方のＣＰＵにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する第２の処理手段と、
を具備することを特徴とするデータ処理装置。
【請求項２】
前記入力手段は、対象物を時系列的に連続して撮像することにより連続して画像データを取得する撮像手段を具備することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記第１の処理手段と前記第２の処理手段とはそれぞれ並行して処理を実行することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
第１及び第２のＣＰＵを有するデータ処理装置であって、
少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶し、
連続して入力されるデータがに基づいて前記第１及び第２のＣＰＵのうちのいずれかのＣＰＵにより前記アルゴリズムの処理ステップを先頭から実行し、
前記中間結果を出力するステップを実行した場合に他方のＣＰＵに前記中間結果を供給し、
前記中間結果が供給された場合に前記中間結果に基づいて他方のＣＰＵにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する、
ことを特徴とするデータ処理方法。
【請求項５】
対象物を時系列的に連続して撮像することにより連続して画像データを取得することを特徴とする請求項４に記載のデータ処理方法。
【請求項６】
前記第１のＣＰＵと前記第２のＣＰＵとはそれぞれ並行して処理を実行することを特徴とする請求項４に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、連続して入力されるデータを逐次処理するデータ処理装置、及びデータ処理方法に関する。
【背景技術】
【０００２】
従来、対象物から特徴量を含む情報をセンサにより取得し、前記センサにより取得した情報に対して種々の処理を行い、検査などを行なう、例えば紙葉類処理装置などのデータ処理装置が実用化されている。
【０００３】
紙葉類処理装置では、連続して搬送される紙葉類を順次撮像し、紙葉類の画像を取得する。紙葉類処理装置は、紙葉類から取得した画像に対して、予め記憶しているプログラムに基づき、複数の処理を施すようになっている。紙葉類処理装置は、処理が施された画像に基づいて、紙葉類の種類を判定したり、真偽を判定したりする。
【０００４】
上記したような画像に処理を施す為に用いられる処理プログラムは、全体としてはデータ量が多い。この為、上記の複数の処理プログラムは、処理を実行するＣＰＵの外部に設けられたメモリに記憶される。この結果、ＣＰＵは、１つの処理毎に処理プログラムを外部のメモリから内部のＲＡＭメモリに読み出して処理を実行する必要があり、処理に時間がかかる場合がある。
【０００５】
そこで、外部のメモリに記憶されている複数の処理プログラムを処理プログラム単位で内部メモリに読み込むＣＰＵと、このＣＰＵの内部メモリに格納された処理プログラムを実行するＣＰＵとを備えた紙葉類処理装置が提供されている（例えば、特許文献１参照）。
【特許文献１】特開２００６−２９３９９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記したように、連続して入力されるデータを逐次処理する場合、一方のＣＰＵで外部のメモリに記憶されている複数の処理プログラムを処理プログラム単位で逐次内部メモリに読み込み、もう一方のＣＰＵで処理プログラムを実行する。この為に、処理プログラムの集合であるアルゴリズムは、処理プログラム単位で分割されて記憶される構成となっている。このように、アルゴリズムを分割することにより、プログラム自体に大きな変更が生じる。この結果、作業ミスが生じる、若しくは、動作確認作業に時間を費やしてしまうという問題がある。
【０００７】
また、共有メモリに記憶されている複数の処理プログラムに複数のＣＰＵから直接アクセスする場合でも、アービトレーションの制御のために処理が複雑になるという問題がある。
【０００８】
そこで、本発明の目的は、より効率的に複数のＣＰＵを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一実施形態としてのデータ処理装置は、第１及び第２のＣＰＵを有するデータ処理装置であって、少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶する記憶手段と、データが連続して入力される入力手段と、前記入力手段により入力されたデータに基づいて前記第１及び第２のＣＰＵのうちのいずれかのＣＰＵにより前記アルゴリズムの処理ステップを先頭から実行する第１の処理手段と、前記第１の処理手段により前記中間結果を出力するステップが実行された場合に他方のＣＰＵに前記中間結果を供給する中間結果供給手段と、前記中間結果が供給された場合に前記中間結果に基づいて他方のＣＰＵにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する第２の処理手段と、を具備する。
【００１０】
また、本発明の一実施形態としてのデータ処理方法は、第１及び第２のＣＰＵを有するデータ処理装置であって、少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶し、連続して入力されるデータがに基づいて前記第１及び第２のＣＰＵのうちのいずれかのＣＰＵにより前記アルゴリズムの処理ステップを先頭から実行し、前記中間結果を出力するステップを実行した場合に他方のＣＰＵに前記中間結果を供給し、前記中間結果が供給された場合に前記中間結果に基づいて他方のＣＰＵにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する。
【発明の効果】
【００１１】
この発明の一形態によれば、より効率的に複数のＣＰＵを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら、本発明の実施形態に係るデータ処理装置、及びデータ処理方法について詳細に説明する。  
図１は、本実施の形態に係る画像処理装置１の構成例を概略的に示す図である。
【００１３】
画像処理装置１は、例えば、通行制御システムなどに用いられる顔認証システムにおいて、対象物を撮像し、画像を取得し、取得した画像に対して種々の処理を施すデータ処理装置である。
【００１４】
画像処理装置１は、カメラ１１、及び画像処理ボード１２を備えている。カメラ１１は、光を受光するための図示しないレンズなどの光学系と、光学系により受光した光を電気信号に変換して画像（信号）を取得することができる撮像素子とを備えている。カメラ１１は、時系列的に連続して画像を取得し、画像処理ボード１２に取得した画像を逐次供給する。即ち、カメラ１１は、データが連続して入力される入力手段として機能する。
【００１５】
画像処理ボード１２は、カメラ１１により取得した画像に対して種々の処理を施すユニットである。画像処理ボード１２は、画像分配器１３、ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂを備えている。画像分配器１３は、カメラ１１から供給される画像を逐次後段のＣＰＵに出力する。
【００１６】
ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂは、カメラ１１から供給される画像に対して種々の処理を行なう。ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂは、記憶手段として機能するＲＡＭ１４１Ａ及びＲＡＭ１４１Ｂをそれぞれ備えている。ＲＡＭ１４１Ａ及びＲＡＭ１４１Ｂは、ワーキングメモリとして機能し、ＣＰＵが処理中のデータなどを一時保管する。また、ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂは、制御用のプログラム、および制御データなどを予め記憶する図示しないＲＯＭをそれぞれ備えている。ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂによる処理結果は、画像処理ボード１２に接続されているホストコンピュータ２０に出力される。  
また、画像処理ボード１２の内部、若しくは外部に接続されている図示しない不揮発性メモリに、共通管理ソフト及びアルゴリズムが記憶されている。
【００１７】
共通管理ソフトは、カメラ１１による画像収集機能、アルゴリズムへの情報送受機能などを持つ。即ち、共通管理ソフトは、入出力装置の制御するプログラムと、ＣＰＵ１４Ａ及びＣＰＵ１４Ｂにより実行するタスクの管理を行なうプログラムなどを備えている。  
アルゴリズムは、処理プログラムの集合である。アルゴリズムは、カメラ１１により入力された入力データに対して行なう複数の処理プログラムを備えている。  
ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂは、不揮発性メモリから共通管理ソフト及びアルゴリズムを読み出し、それぞれ内部のＲＡＭ１４１Ａ及びＲＡＭ１４１Ｂに格納する。
【００１８】
図２は、ＲＡＭ１４１Ａ及びＲＡＭ１４１Ｂに共通管理ソフト及びアルゴリズムが格納された場合のＣＰＵ１４Ａ、及びＣＰＵ１４Ｂの処理を概略的に説明するための説明図である。なお、ここでは、ＣＰＵ１４Ａがホストとして動作し、ＣＰＵ１４Ｂがスレーブとして動作すると仮定する。
【００１９】
図２に示すように、ＣＰＵ１４ＡのＲＡＭ１４１Ａは、ホスト用の共通管理ソフト１６Ａとアルゴリズム１７とを格納している。また、ＣＰＵ１４ＢのＲＡＭ１４１Ｂは、スレーブ用の共通管理ソフト１６Ｂとアルゴリズム１７とを格納している。
【００２０】
ＣＰＵ１４Ａは、共通管理ソフト１６Ａを実行することにより、種々の処理を実行する。例えば、図１に示すカメラ１１により入力された入力データを受信した場合、ＣＰＵ１４Ａは、アルゴリズム１７を実行しているタスクに実行する処理プログラムの指示を含むメッセージを送信する。また、アルゴリズム１７を実行しているタスクから中間結果を受信した場合、ＣＰＵ１４Ａは、受信した中間結果をＣＰＵ１４Ｂに送信する。即ち、ＣＰＵ１４Ａは、ＣＰＵ１４Ｂに中間結果を供給する中間結果供給手段として機能する。
【００２１】
また、ＣＰＵ１４Ａは、アルゴリズム１７を実行することにより、種々の処理プログラムを実行する。例えば、共通管理ソフト１６Ａを実行しているタスクからメッセージを受信すると、受信したメッセージの内容に基づいて処理プログラムを実行する。また、共通管理ソフト１６Ａを実行しているタスクに処理結果、若しくは中間結果を含むメッセージを送信する。即ち、ＣＰＵ１４Ａは、入力されたデータに基づいてアルゴリズムの処理ステップを先頭から実行する処理手段として機能する。
【００２２】
ＣＰＵ１４Ｂは、共通管理ソフト１６Ｂを実行することにより、種々の処理を実行する。例えば、ＣＰＵ１４Ａから中間結果を受信した場合、ＣＰＵ１４Ｂは、アルゴリズム１７を実行しているタスクに実行する処理プログラムの指示を含むメッセージを送信する。また、アルゴリズム１７を実行しているタスクから処理結果を受信した場合、ＣＰＵ１４Ｂは、受信した処理結果を出力データとして図１に示すホストコンピュータ２０に出力する。
【００２３】
また、ＣＰＵ１４Ｂは、アルゴリズム１７を実行することにより、種々の処理プログラムを実行する。例えば、共通管理ソフト１６Ｂを実行しているタスクからメッセージを受信すると、受信したメッセージの内容に基づいて処理プログラムを実行する。また、共通管理ソフト１６Ｂを実行しているタスクに処理結果、若しくは中間結果を含むメッセージを送信する。即ち、ＣＰＵ１４Ｂは、供給された中間結果に基づいて中間結果を出力するステップの後の処理ステップを実行する処理手段として機能する。
【００２４】
なお、ホストコンピュータ２０は、比較用データを記憶しており、画像処理ボード１２から出力された処理結果と記憶している比較用データとの突合せを行ない、認証処理を行なう。即ち、ホストコンピュータ２０は、比較用データとして顔画像を記憶しており、被認証者から取得した顔画像に対して種々の処理が施された画像と記憶している画像との類似度を算出して認証処理を行なう。
【００２５】
図３は、ＲＡＭ１４１Ａ及びＲＡＭ１４１Ｂに格納されているアルゴリズムの一連の処理ステップについて説明するためのフローチャートである。本実施形態で用いられるアルゴリズムの各処理プログラム（各処理ステップ）は、直列的に処理を行なうとする。即ち、各処理ステップは、前段の処理ステップの処理結果を用いて処理を行う。
【００２６】
アルゴリズム１７は、図２に示すように、ＣＰＵ１４Ａ及びＣＰＵ１４ＢのそれぞれのＲＡＭに記憶され、ＣＰＵ１４ＡとＣＰＵ１４Ｂとにより個別に実行されタスクが起動される。
【００２７】
図３に示すように、アルゴリズム１７は、処理ステップＡと処理ステップＢと処理ステップＣとを含んでいる。また、さらに、アルゴリズム１７は、処理ステップＡ及び処理ステップＣの前段にそれぞれメッセージを受信するステップを有している。また、さらに、アルゴリズム１７は、処理ステップＢ及び処理ステップＣの後段にそれぞれメッセージを送信するステップを有している。
【００２８】
なお、ここでは、処理ステップＡは、例えば、カメラ１１により取得した画像のうちの不必要な情報を削除するフィルタ処理を行う。また、処理ステップＢは、例えば、所定の閾値に基づいて画像の画素データを二値化する二値化処理を行う。また、処理ステップＣは、例えば、画像を個人認識のための特徴量に変換する特徴抽出処理を行う。
【００２９】
アルゴリズム１７を実行しているタスクは、起動されると、共通管理ソフト１６Ａを実行しているタスクからメッセージを受信するまで待機状態に置かれる（ステップＳ１１）。
【００３０】
共通管理ソフト１６Ａを実行しているタスクからメッセージを受信した場合（ステップＳ１１、ＹＥＳ）、アルゴリズム１７を実行しているタスクは、受信したメッセージに基づいて処理ステップを実行する。ここでは、処理ステップＡを実行する（ステップＳ１２）。さらに、アルゴリズム１７を実行しているタスクは、処理ステップＡの処理結果を用いて処理ステップＢを実行する（ステップＳ１３）。
【００３１】
処理ステップＢを実行すると、アルゴリズム１７を実行しているタスクは、処理ステップＢの処理結果を中間結果として送信バッファに記憶させ、共通管理ソフト１６Ａを実行しているタスクに対してメッセージを送信する（ステップＳ１４）。即ち、ここでは、中間結果を共通管理ソフト１６Ａを実行しているタスクに対して送信する。
【００３２】
メッセージを送信すると、アルゴリズム１７を実行しているタスクは、再びメッセージを受信するまで待機状態に置かれる（ステップＳ１５）。
【００３３】
共通管理ソフト１６Ｂを実行しているタスクからメッセージを受信した場合（ステップＳ１５、ＹＥＳ）、アルゴリズム１７を実行しているタスクは、受信したメッセージに基づいて処理ステップを実行する。ここでは、処理ステップＣを実行する（ステップＳ１６）。
【００３４】
処理ステップＣを実行すると、アルゴリズム１７を実行しているタスクは、処理ステップＣの処理結果を送信バッファに記憶させ、共通管理ソフト１６Ｂを実行しているタスクに対してメッセージを送信する（ステップＳ１７）。即ち、ここでは、入力データに対してアルゴリズム１７により行なわれた処理の処理結果を共通管理ソフト１６Ｂを実行しているタスクに対して送信する。
【００３５】
なお、各タスクにおいて行なわれる処理は、全てＣＰＵ１４Ａ及びＣＰＵ１４Ｂの制御に基づいて行われる。
【００３６】
また、共通管理ソフト１６を実行しているタスクからメッセージを受信した場合、アルゴリズム１７を実行しているタスクは、処理ステップＡ、処理ステップＢ、及び処理ステップＣを実行するように説明したが、実行する処理ステップは上記したものに限定されない。共通管理ソフト１６を実行しているタスクからのメッセージでは一連の処理ステップの開始位置が指示される。アルゴリズム１７を実行しているタスクは、メッセージで指示される処理ステップから処理を実行する。
【００３７】
図４は、ＲＡＭ１４１Ａに格納されている共通管理ソフト１６Ａの処理について説明するためのフローチャートである。
【００３８】
共通管理ソフト１６Ａを実行しているタスクは、起動されると、カメラ１１からの入力データを受信するまで待機状態に置かれる（ステップＳ２１）。
【００３９】
カメラ１１からの入力データを受信した場合（ステップＳ２１、ＹＥＳ）、共通管理ソフト１６Ａを実行しているタスクは、受信した入力データと一連の処理ステップのうちの開始位置を指示する情報とを含むメッセージをアルゴリズム１７を実行しているタスクに対して送信する（ステップＳ２２）。ここでは、共通管理ソフト１６Ａを実行しているタスクは、一連の処理ステップのうちの先頭の処理ステップ、即ち、処理ステップＡから処理を開始するように指示する。
【００４０】
メッセージを送信すると、共通管理ソフト１６Ａを実行しているタスクは、アルゴリズム１７を実行しているタスクからメッセージを受信するまで待機状態に置かれる（ステップＳ２３）。
【００４１】
アルゴリズム１７を実行しているタスクからメッセージを受信した場合（ステップＳ２３、ＹＥＳ）、共通管理ソフト１６Ａを実行しているタスクは、受信したメッセージに含まれている中間結果をＣＰＵ１４Ｂの共通管理ソフト１６Ｂを実行しているタスクに対して送信する（ステップＳ２４）。
【００４２】
共通管理ソフト１６Ａを実行しているタスクは、中間結果をＣＰＵ１４Ｂの共通管理ソフト１６Ｂを実行しているタスクに対して送信すると、ステップＳ２１に戻り、次の入力データに対する処理に移行する。
【００４３】
図５は、ＲＡＭ１４１Ｂに格納されている共通管理ソフト１６Ｂの処理について説明するためのフローチャートである。
【００４４】
共通管理ソフト１６Ｂを実行しているタスクは、起動されると、ＣＰＵ１４Ａからの中間結果を受信するまで待機状態に置かれる（ステップＳ３１）。
【００４５】
ＣＰＵ１４Ａから中間結果を受信した場合（ステップＳ３１、ＹＥＳ）、共通管理ソフト１６Ｂを実行しているタスクは、受信した中間結果と一連の処理ステップのうちの開始位置を指示する情報とを含むメッセージをアルゴリズム１７を実行しているタスクに対して送信する（ステップＳ３２）。ここでは、共通管理ソフト１６Ｂを実行しているタスクは、一連の処理ステップのうちの中間結果を送信するステップの後の処理ステップ、即ち、処理ステップＣから処理を開始するように指示する。
【００４６】
メッセージを送信すると、共通管理ソフト１６Ｂを実行しているタスクは、アルゴリズム１７を実行しているタスクからメッセージを受信するまで待機状態に置かれる（ステップＳ３３）。
【００４７】
アルゴリズム１７を実行しているタスクからメッセージを受信した場合（ステップＳ３３、ＹＥＳ）、共通管理ソフト１６Ｂを実行しているタスクは、受信したメッセージに含まれている処理結果を図１に示すホストコンピュータ２０に対して出力する（ステップＳ３４）。
【００４８】
共通管理ソフト１６Ｂを実行しているタスクは、処理結果をホストコンピュータ２０に対して出力すると、ステップＳ３１に戻り、次に受信する中間結果に対する処理に移行する。
【００４９】
なお、上記したように、カメラ１１は連続して画像を取得する為、ＣＰＵ１４Ａには連続して入力データが入力されることになる。ＣＰＵ１４Ａ及びＣＰＵ１４Ｂは、図６に示すように、並行して処理を行なうことになる。
【００５０】
図６は、ＣＰＵ１４Ａ及びＣＰＵ１４Ｂにおいて行なわれる処理を説明するためのタイムチャートである。  
図６に示すように、ＣＰＵ１４Ａは、第１フェーズにおいて、１つ目の入力データＡを取得し、取得した入力データＡに対して処理ステップＡ、及び処理ステップＢを行い、処理ステップＢの処理結果である中間結果ＡをＣＰＵ１４Ｂに対して送信する。ＣＰＵ１４Ｂは、第１フェーズでは処理を行なわない。
【００５１】
ＣＰＵ１４Ａは、第２フェーズにおいて、２つ目の入力データＢを取得し、取得した入力データＢに対して処理ステップＡ、及び処理ステップＢを行い、処理ステップＢの処理結果である中間結果ＢをＣＰＵ１４Ｂに対して送信する。ＣＰＵ１４Ｂは、第２フェーズにおいて、ＣＰＵ１４Ａから中間結果Ａを取得し、取得した中間結果Ａに対して処理ステップＣを行う。
【００５２】
ＣＰＵ１４Ａは、第３フェーズにおいて、３つ目の入力データＣを取得し、取得した入力データＣに対して処理ステップＡ、及び処理ステップＢを行い、処理ステップＢの処理結果である中間結果ＣをＣＰＵ１４Ｂに対して送信する。ＣＰＵ１４Ｂは、第３フェーズにおいて、ＣＰＵ１４Ａから中間結果Ｂを取得し、取得した中間結果Ｂに対して処理ステップＣを行う。
【００５３】
なお、上記した実施形態において、ＣＰＵ１４Ｂは、ＣＰＵ１４Ａにおいて処理ステップＡ及び処理ステップＢが施されたデータに対して処理ステップＣを行う。この為、例えば、処理ステップＡ及び処理ステップＢの処理に要する時間が処理ステップＣの処理に要する時間より長い場合、ＣＰＵ１４Ｂは、ＣＰＵ１４Ａからデータが供給されるのを待機することになる。
【００５４】
また、例えば、処理ステップＡ及び処理ステップＢの処理に要する時間が処理ステップＣの処理に要する時間より短い場合、ＣＰＵ１４Ｂによる処理ステップＣの処理が供給されるデータに追いつかなくなる。この為、全てのデータに対する処理が完了する時間がＣＰＵ１４ＢとＣＰＵ１４Ａとで大きくずれ、全体としての処理効率が低下する。
【００５５】
即ち、１つのフェーズにおけるＣＰＵ１４Ａによる処理時間とＣＰＵ１４Ｂによる処理時間との差が少なくなるほど処理効率が向上する。
【００５６】
上記した構成によれば、アルゴリズムの一連の処理ステップの中に中間結果を出力する処理ステップを持たせる。対象物から連続して取得するデータに対して複数の一連の処理を行なう場合、画像処理装置１は、まずＣＰＵ１４Ａにより取得したデータに対して一連の処理のうちの先頭の処理から順に実行し、中間結果が出力された場合出力結果をＣＰＵ１４Ｂに供給する。
【００５７】
続けて、画像処理装置１は、ＣＰＵ１４Ａにより次のデータに対する処理を行い、ＣＰＵ１４Ｂにより中間結果に対して、中間結果を出力する処理以降の処理を実行する。この為、２フェーズ目以降の処理において、ＣＰＵ１４ＡとＣＰＵ１４Ｂとで並行して処理を行なうことができる。
【００５８】
この結果として、より効率的に複数のＣＰＵを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供することができる。
【００５９】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【００６０】
上記した実施形態では、２つのＣＰＵを用いた例について説明したが、この構成に限定されない。ＣＰＵは少なくとも２つ以上であれば本発明を実施することが出来る。この場合、ＣＰＵの数に合わせてアルゴリズムの一連の処理ステップの中に中間結果を出力する処理ステップを持たせて処理ステップを分担させてもよい。
【００６１】
また、ＣＰＵ１４Ａ、及びＣＰＵ１４Ｂは、不揮発性メモリから共通管理ソフト及びアルゴリズムを読み出し、それぞれ内部のＲＡＭ１４１Ａ及びＲＡＭ１４１Ｂに格納するとしたが、この構成に限定されない。例えば、予めＣＰＵ１４Ａ、及びＣＰＵ１４ＢのＲＯＭに共通管理ソフト及びアルゴリズムを記憶させて置くようにしてもよい。
【００６２】
またさらに、上記した実施形態におけるアルゴリズムは、処理ステップＡ、処理ステップＢ、及び処理ステップＣから構成されているが、これに限定されない。また、アルゴリズムの一連の処理ステップのうちのどの位置に中間結果を出力するステップが置かれていてもよい。
【図面の簡単な説明】
【００６３】
【図１】図１は、本実施の形態に係る画像処理装置の構成例を概略的に示す図である。
【図２】図２は、ＲＡＭに共通管理ソフト及びアルゴリズムが格納された場合のＣＰＵの処理を概略的に説明するための説明図である。
【図３】図３は、ＲＡＭに格納されているアルゴリズムの一連の処理ステップについて説明するためのフローチャートである。
【図４】図４は、ＲＡＭに格納されている共通管理ソフトの処理について説明するためのフローチャートである。
【図５】図５は、ＲＡＭに格納されている共通管理ソフトの処理について説明するためのフローチャートである。
【図６】図６は、ＣＰＵにおいて行なわれる処理を説明するためのタイムチャートである。
【符号の説明】
【００６４】
１…画像処理装置、１１…カメラ、１２…画像処理ボード、１３…画像分配器、１４Ｂ…ＣＰＵ、１４Ａ…ＣＰＵ、１６Ａ…共通管理ソフト、  １６Ｂ…共通管理ソフト、１６…共通管理ソフト、１７…アルゴリズム、２０…ホストコンピュータ、１４１Ａ…ＲＡＭ、１４１Ｂ…ＲＡＭ。
【図１】
2009282689.tif 000003
【図２】
2009282689.tif 000004
【図３】
2009282689.tif 000005
【図４】
2009282689.tif 000006
【図５】
2009282689.tif 000007
【図６】
2009282689.tif 000008