(57)【要約】【課題】  デバッグが容易、かつ、リアルタイム性の確保が容易なデータ処理システムを提供する。【解決手段】  データ処理システムは、外部デバイスからの入力データを処理する複数のプロセッサと、運用テーブルと、制御部とを有している。例えば、運用テーブルは、複数の処理を複数のプロセッサに割り当てるための複数の割り当て情報を有している。なお、割り当て情報は、入力データの処理結果に基づく処理状態毎に分類されている。そして、制御部は、運用テーブルから、入力データの処理結果に対応する割り当て情報を選択し、選択した割り当て情報に基づいて、複数の処理を複数のプロセッサに割り当てる。【選択図】    図１
2010097327.tif 000002
【特許請求の範囲】
【請求項１】
入力データを処理する複数のプロセッサと、
複数の処理を前記複数のプロセッサに割り当てるための複数の割り当て情報を有する運用テーブルと、
前記運用テーブルから、前記入力データの処理結果に対応する前記割り当て情報を選択し、選択した前記割り当て情報に基づいて、前記複数の処理を前記複数のプロセッサに割り当てる制御部とを備え、
前記割り当て情報は、前記入力データの処理結果に基づく処理状態毎に分類されていることを特徴とするデータ処理システム。
【請求項２】
請求項１記載のデータ処理システムにおいて、
前記制御部は、前記処理状態毎に予め設定された前記割り当て情報を、前記入力データの処理結果に対して一義的に選択することを特徴とするデータ処理システム。
【請求項３】
請求項１記載のデータ処理システムにおいて、
前記運用テーブルは、外部のデバイスを制御するための複数の外部制御情報を有し、
前記外部制御情報は、前記処理状態毎に分類され、
前記制御部は、前記運用テーブルから、前記入力データの処理結果に対応する前記割り当て情報および前記外部制御情報を選択し、選択した前記割り当て情報に基づいて、複数の処理を前記複数のプロセッサに割り当てるとともに、選択した前記外部制御情報に基づいて、前記外部のデバイスの動作を変更することを特徴とするデータ処理システム。
【請求項４】
請求項１記載のデータ処理システムにおいて、
外部にデータを転送するデータ転送部を備え、
前記運用テーブルは、前記データ転送部を制御するための外部制御情報を有し、
前記外部制御情報は、前記処理状態毎に分類され、
前記制御部は、前記運用テーブルから、前記入力データの処理結果に対応する前記割り当て情報および前記外部制御情報を選択し、選択した前記割り当て情報に基づいて、複数の処理を前記複数のプロセッサに割り当てるとともに、選択した前記外部制御情報に基づいて、前記データ転送部の動作を変更することを特徴とするデータ処理システム。
【請求項５】
請求項１記載のデータ処理システムにおいて、
前記割り当て情報に基づく前記プロセッサと前記処理の組み合わせは、前記各処理を所定の時間内で終了させる組み合わせであることを特徴とするデータ処理システム。
【請求項６】
請求項１記載のデータ処理システムにおいて、
前記複数のプロセッサは、複数の動作モードを有し、
前記運用テーブルは、前記動作モードを変更するための動作モード情報を有し、
前記動作モード情報は、前記処理状態毎に分類され、
前記制御部は、前記運用テーブルから、前記入力データの処理結果に対応する前記割り当て情報および前記動作モード情報を選択し、選択した前記割り当て情報に基づいて、複数の処理を前記複数のプロセッサに割り当てるとともに、選択した前記動作モード情報に基づいて、前記複数のプロセッサの動作モードを変更することを特徴とするデータ処理システム。
【請求項７】
請求項１記載のデータ処理システムにおいて、
複数の前記運用テーブルを保持する記憶部と、
外部からの信号に基づいて切り替わるスイッチ部とを備え、
前記スイッチ部は、前記外部からの信号に基づいて、前記複数の運用テーブルから前記制御部に参照される運用テーブルを選択することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムに関する。
【背景技術】
【０００２】
高い処理性能が要求されるシステムでは、複数の独立したデータ処理手段を使用するデータ処理システムが構築される。例えば、サーバシステムでは、複数のプロセッサを使用するマルチプロセッサシステムが構築され、複数の処理プログラムが複数のプロセッサに割り当てられる。例えば、マルチプロセッサシステムは、各プロセッサの負荷を分散させるために、各プロセッサの負荷率に基づいて、各処理プログラムの各プロセッサへの割り当てを動的に制御している。また、複数の処理を各データ処理手段へ割り当てるデータ処理システムでは、複数のデータ処理手段の負荷率を示す負荷状況管理テーブルと、次の処理に割り当て可能なデータ処理手段が登録される先行予約情報管理テーブルとを用いる構成が提案されている（例えば、特許文献１参照）。
【０００３】
管理ノードと複数の処理ノードを有する分散処理システムでは、複数の業務と複数の処理ノードの組み合わせパターンを複数保持した業務マッピングテーブルと、それぞれの組み合わせパターンを使用する時刻が記述された運用管理テーブルとを用いて、各時刻における各業務と各処理ノードの組み合わせを変更する方法が提案されている（例えば、特許文献２参照）。
【特許文献１】特許第４０１３８０９号公報
【特許文献２】特許第３００３４４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
各プロセッサの負荷率に基づいて、各処理プログラムを各プロセッサに動的に割り当てるマルチプロセッサシステム（以下、動的負荷分散システムとも称する）では、故障等の発生した状態を再現することが困難なため、デバッグの効率が低下する。特に、機器に内蔵される組み込みシステムに用いられるマルチプロセッサシステムでは、サーバシステムのように動作状態についての詳細なログデータ等を保持することが困難なため、デバッグが困難である。
【０００５】
また、動的負荷分散システムは、各プロセッサの負荷率を調べてから、各処理プログラムを各プロセッサに動的に割り当てるため、負荷分散のための処理自身の負荷が重くなり、負荷分散のためのオーバーヘッドが大きくなる。このため、システムが処理を受け付けてからプロッセサに処理が割り当てられるまでの待ち時間（負荷分散のため処理時間）が大きくなり、特定の処理を特定の時間内に終了させることができないおそれがある。特に、組み込みシステムに用いられるマルチプロセッサシステムでは、特定の処理を特定の時間内に終了させること（リアルタイム性）が要求される。さらに、組み込みシステムでは、発熱および実装の観点から消費電力を抑えることが要求される。
【０００６】
例えば、動的負荷分散システムに消費電力を抑えるための割り当て手法を追加した構成では、負荷分散のための処理量が増加し、負荷分散のためのオーバーヘッドがさらに大きくなる。一般的に、組み込みシステムでは、プロセッサの処理能力がサーバシステムに用いられるプロセッサの処理能力に比べて低いため、オーバーヘッドの増加の影響が顕著になる。
【０００７】
本発明の目的は、デバッグが容易で、かつ、リアルタイム性の確保が容易なデータ処理システムを提供することである。
【課題を解決するための手段】
【０００８】
データ処理システムは、外部デバイスからの入力データを処理する複数のプロセッサと、運用テーブルと、制御部とを有している。例えば、運用テーブルは、複数の処理を複数のプロセッサに割り当てるための複数の割り当て情報を有している。なお、割り当て情報は、入力データの処理結果に基づく処理状態毎に分類されている。そして、制御部は、運用テーブルから、入力データの処理結果に対応する割り当て情報を選択し、選択した割り当て情報に基づいて、複数の処理を複数のプロセッサに割り当てる。
【発明の効果】
【０００９】
デバッグが容易で、かつ、リアルタイム性の確保が容易なデータ処理システムを提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面を用いて説明する。
【００１１】
図１は、本発明の一実施形態を示している。データ処理システムＳＹＳは、複数のプロセッサを有するプロセッサ群ＰＥ、動作状態管理モジュールＣＮＴ１、運用状態テーブルＴＡ１、メインメモリＭＭ、ブートメモリＢＭおよび外部インターフェースＩＦ（ＩＦ１、ＩＦ２）を有している。例えば、データ処理システムＳＹＳは、マルチプロセッサシステムであり、監視カメラシステムに用いられる。図の例では、監視カメラシステムは、データ処理システムＳＹＳ、ビデオカメラＣ（Ｃ１、Ｃ２、Ｃ３、Ｃ４）、ダウンコンバータＤＣ（ＤＣ１、ＤＣ２、ＤＣ３、ＤＣ４）およびＬＡＮコントローラＬＣを有している。なお、データ処理システムＳＹＳは、ＬＡＮ（Local Area Network）コントローラＬＣを含んで構成されてもよい。
【００１２】
ビデオカメラＣ１−Ｃ４は、不審な人物等を検出するためのセンサとして機能し、ダウンコンバータＤＣ１−ＤＣ４にそれぞれ接続されている。ダウンコンバータＤＣ１−ＤＣ４は、外部インターフェースＩＦ１に接続され、例えば、ビデオカメラＣ１−Ｃ４から受信した画像のフレームレートおよびサイズ等を変換する。また、ＬＡＮコントローラＬＣは、外部インターフェースＩＦ２に接続され、ＬＡＮで接続されたセンタ（図示せず）との間でデータ転送を行う。
【００１３】
データ処理システムＳＹＳのプロセッサ群ＰＥは、複数のプロセッサＰ（Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７）を有している。プロセッサＰ０−Ｐ７、メインメモリＭＭ、ブートメモリＢＭおよび外部インターフェースＩＦ１、ＩＦ２は、内部バスＢＵＳを介して互いに接続されている。動作状態管理モジュールＣＮＴ１は、例えば、選択部ＳＥおよび割り当て部ＡＬを有し、運用状態テーブルＴＡ１を参照して、複数の処理をプロセッサＰ０−Ｐ７に割り当てる。なお、この実施形態では、例えば、動作状態管理モジュールＣＮＴ１は、ソフトウェアで実現され、プロセッサＰ０上で動作する。そして、動作状態管理モジュールＣＮＴ１が動作している間、例えば、運用状態テーブルＴＡ１は、メインメモリＭＭに保持される。
【００１４】
すなわち、動作状態管理モジュールＣＮＴ１は、運用状態テーブルＴＡ１が保持されたメインメモリＭＭ、プロセッサＰ０−Ｐ７および外部インターフェースＩＦ１、ＩＦ２等に、内部バスＢＵＳを介してアクセスできる。ここで、図の例では、メインメモリＭＭは、プロセッサＰ０−Ｐ７に共有される共有メモリであるが、各プロセッサＰ０−Ｐ７に対応する分散メモリでもよい。また、プロセッサ群ＰＥは、２個以上７個以下のプロセッサにより構成されてもよいし、９個以上のプロセッサを有してもよい。
【００１５】
データ処理システムＳＹＳは、ダウンコンバータＤＣ１−ＤＣ４を介して、ビデオカメラＣ１−Ｃ４から画像データを受ける。データ処理システムＳＹＳに入力された画像データは、各プロセッサＰ１−Ｐ７により処理される。例えば、各プロセッサＰ１−Ｐ７により実施される処理は、人を検出するための処理（以下、人検出処理とも称する）、検出した人を追跡するための処理（以下、人追跡処理とも称する）、不審な動きを検出するための行動解析、不審行動と判定された対象人物の顔認証、データ転送等である。
【００１６】
ここで、例えば、ダウンコンバータＤＣ１−ＤＣ４は、データ処理システムＳＹＳの処理内容に応じて、画像のフレームレートを１０ｆｐｓ（フレーム／秒）および３０ｆｐｓのいずれかに切り換え、画像のサイズをＶＧＡ（Video Graphics Array）およびＸＧＡ（eXtended Graphics Array）のいずれかに切り換える。例えば、データ処理システムＳＹＳにより人検出処理が実施される場合、ダウンコンバータＤＣ１−ＤＣ４から出力される画像データにより生成される画像のサイズおよびフレームレートは、それぞれＶＧＡおよび１０ｆｐｓである。また、例えば、人追跡処理が実施される場合、画像のサイズおよびフレームレートは、それぞれＶＧＡおよび３０ｆｐｓであり、顔認証が実施される場合、画像のサイズおよびフレームレートは、それぞれＸＧＡおよび３０ｆｐｓである。
【００１７】
データ処理システムＳＹＳは、画像データの処理結果（以下、センシング結果とも称する）に基づいて、自立的に処理の内容を変更する。例えば、データ処理システムＳＹＳは、ビデオカメラＣ１−Ｃ４から受けた画像データに対して、人検出処理を実施する。そして、データ処理システムＳＹＳは、人検出処理の結果がビデオカメラＣ１、Ｃ３で人を検出したことを示す場合、ビデオカメラＣ１、Ｃ３から受けた画像データに対して実施する処理を、人追跡処理に変更する。なお、この場合、データ処理システムＳＹＳは、ビデオカメラＣ２、Ｃ４から受けた画像データに対して、人検出処理を継続する。このように、データ処理システムＳＹＳは、センシング結果に応じて、ビデオカメラＣ１−Ｃ４から受けたそれぞれの画像データに対して、同一の処理を実施する場合と、異なる処理を実施する場合とがある。
【００１８】
また、データ処理システムＳＹＳは、必要に応じて（例えば、顔認証の結果が不審人物と判定された場合）、必要なデータ（例えば、不審人物の画像データ）を、ＬＡＮで接続されたセンタにＬＡＮコントローラＬＣを介して転送する。
【００１９】
図２は、図１に示したデータ処理システムＳＹＳの動作の一例を示している。処理１００−５１０は、例えば、図１に示したプロセッサＰ０により、ブートメモリＢＭに記憶されているプログラム（データ処理システムＳＹＳの全体の動作を制御するプログラム）にしたがって実施される。なお、この実施形態では、処理１００が実施される前に、データ処理システムＳＹＳは起動される。
【００２０】
処理１００では、データ処理システムＳＹＳは、ビデオカメラＣ１、Ｃ３を動作させ、ビデオカメラＣ２、Ｃ４をオフさせる。そして、データ処理システムＳＹＳは、ビデオカメラＣ１、Ｃ３から受けた画像データに対して、人検出処理を実施する。なお、ビデオカメラＣ１、Ｃ３の画像データに対するそれぞれの人検出処理は、図１に示した動作状態管理モジュールＣＮＴ１により、運用状態テーブルＴＡ１に基づいて、プロセッサＰ１−Ｐ７のいずれか（例えば、後述する図５に示す運用状態テーブルＴＡ１では、プロセッサＰ１、Ｐ３）に割り当てられる。動作状態管理モジュールＣＮＴ１の動作の詳細は、後述する図３で説明する。
【００２１】
処理１１０では、データ処理システムＳＹＳは、ビデオカメラＣ１、Ｃ３の少なくとも１つで人が検出されたか否かを、人検出処理の結果に基づいて判定する。人が検出されない場合（処理１１０のＮｏ）、データ処理システムＳＹＳの動作は、処理１００に移る。すなわち、データ処理システムＳＹＳは、人が検出されるまで、ビデオカメラＣ１、Ｃ３の画像データに対して、人検出処理を継続する。人が検出された場合（処理１１０のＹｅｓ）、データ処理システムＳＹＳの動作は、処理２００に移る。
【００２２】
処理２００では、データ処理システムＳＹＳは、ビデオカメラＣ１−Ｃ４の全てを動作させ、ビデオカメラＣ１−Ｃ４から受けた画像データに対して、人検出処理を実施する。例えば、ビデオカメラＣ１−Ｃ４の画像データに対するそれぞれの人検出処理は、図１に示した動作状態管理モジュールＣＮＴ１により、後述する図５に示す運用状態テーブルＴＡ１に基づいて、各プロセッサＰ１−Ｐ４に割り当てられる。
【００２３】
処理２１０では、データ処理システムＳＹＳは、ビデオカメラＣ１−Ｃ４の少なくとも１つで人が検出されたか否かを、人検出処理の結果に基づいて判定する。人が検出されない場合（処理２１０のＮｏ）、データ処理システムＳＹＳの動作は、処理１００に移る。なお、処理２１０では、人が検出されない場合とは、前の処理（例えば、処理１００）で検出された人が消失した場合（ビデオカメラＣ１−Ｃ４の撮影可能範囲外等に人が移動した場合等）も含める。人が検出された場合（処理２１０のＹｅｓ）、データ処理システムＳＹＳの動作は、処理３００に移る。
【００２４】
処理３００では、データ処理システムＳＹＳは、人を検出したビデオカメラＣ１−Ｃ４から受けた画像データに対して、人追跡処理を実施し、残りのビデオカメラＣ１−Ｃ４から受けた画像データに対して、人検出処理を継続する。さらに、データ処理システムＳＹＳは、人追跡処理の結果に基づいて、不審（異常）な動きを検出するための行動解析を実施する。例えば、ビデオカメラＣ１−Ｃ４の画像データに対するそれぞれの処理（人検出処理、人追跡処理、行動解析）は、図１に示した動作状態管理モジュールＣＮＴ１により、後述する図５に示す運用状態テーブルＴＡ１に基づいて、各プロセッサＰ１−Ｐ４、Ｐ７に割り当てられる。
【００２５】
処理３１０では、データ処理システムＳＹＳは、検出された人（追跡された人）の行動が異常行動（不審な動き）の対象か否かを、行動解析の結果に基づいて判定する。すなわち、データ処理システムＳＹＳは、ビデオカメラＣ１−Ｃ４の少なくとも１つで不審人物（顔認証が実施される対象者）が検出されたか否かを、行動解析の結果に基づいて判定する。検出された人の行動が異常行動の対象でない場合（処理３１０のＮｏ）、データ処理システムＳＹＳの動作は、処理２１０に移る。すなわち、データ処理システムＳＹＳは、検出された人の行動が異常行動の対象になるまで、人検出処理、人追跡処理および行動解析を繰り返す。検出された人の行動が異常行動の対象である場合（処理３１０のＹｅｓ）、データ処理システムＳＹＳの動作は、処理４００に移る。
【００２６】
処理４００では、データ処理システムＳＹＳは、不審人物を検出したビデオカメラＣ１−Ｃ４から受けた画像データに対して、不審人物の顔認証を実施する。なお、この実施形態では、データ処理システムＳＹＳは、ビデオカメラＣ１−Ｃ４から受けた画像データに対して、処理３００で実施した処理（人検出処理、人追跡処理、行動解析）を継続しつつ、不審人物の顔認証を実施する。例えば、顔認証の処理は、図１に示した動作状態管理モジュールＣＮＴ１により、後述する図５に示す運用状態テーブルＴＡ１に基づいて、プロセッサＰ５に割り当てられる。
【００２７】
処理４１０では、データ処理システムＳＹＳは、不審人物（顔認証が実施された対象者）が正当な利用者か否かを、顔認証の結果に基づいて判定する。ここで、処理４１０で正当な利用者と判定される人は、例えば、監視カメラシステムにより監視されている設備の関係者（警備員等）である。顔認証が実施された対象者が正当な利用者の場合（処理４１０のＹｅｓ）、データ処理システムＳＹＳの動作は、処理４２０に移り、顔認証が実施された対象者が正当な利用者でない場合（処理４１０のＮｏ）、データ処理システムＳＹＳの動作は、処理５００に移る。
【００２８】
処理４２０では、データ処理システムＳＹＳは、顔認証が実施された対象者を含む画像データにフラグをセットする。その後、データ処理システムＳＹＳの動作は、処理２１０に移る。ここで、例えば、フラグがセットされた画像データは、行動解析および顔認証等を省いて処理されてもよい。なお、フラグがセットされた画像データに対応する人（処理２１０−４２０で継続して追跡されていた人）が消失した場合、画像データにセットされていたフラグは解除される。なお、この処理４２０は、省かれてもよい。すなわち、データ処理システムＳＹＳは、顔認証が実施された対象者を含む画像データにフラグをセットせずに、処理２１０を実施してもよい。
【００２９】
処理５００では、データ処理システムＳＹＳは、正当な利用者でない人を含む画像データを、圧縮処理する。そして、処理５１０では、データ処理システムＳＹＳは、圧縮した画像データを、ＬＡＮで接続されたセンタにＬＡＮコントローラＬＣを介して転送する。例えば、画像データを転送するための処理（画像データの圧縮、転送等）は、図１に示した動作状態管理モジュールＣＮＴ１により、後述する図５に示す運用状態テーブルＴＡ１に基づいて、プロセッサＰ６に割り当てられる。画像データが転送された後、データ処理システムＳＹＳの動作は、処理２１０に移り、上述した処理（人検出処理、人追跡処理、行動解析、顔認証、画像データの転送処理等）が繰り返される。
【００３０】
図３は、図１に示した動作状態管理モジュールＣＮＴ１の動作の一例を示している。処理６１０−６４０は、例えば、上述した図１に示したプロセッサＰ０上で動作する動作状態管理モジュールＣＮＴ１により、実施される。なお、処理６００−６４０は、例えば、上述した図２に示した各処理１００、２００、３００、４００、５００で実施される。
【００３１】
処理６１０では、動作状態管理モジュールＣＮＴ１は、処理状態が変化するまで（図２では、データ処理システムＳＹＳの動作が、処理１００、２００、３００、４００、５００のいずれかに移るまで）待機する。処理状態が変化した場合（処理６１０のＹｅｓ）、データ処理システムＳＹＳの動作は、処理６２０に移る。
【００３２】
処理６２０では、動作状態管理モジュールＣＮＴ１（より詳細には、上述した図１の選択部ＳＥ）は、運用状態テーブルＴＡ１を検索し、運用状態テーブルＴＡ１に設定された運用情報から、処理状態に対応する運用情報を選択する。ここで、例えば、運用状態テーブルＴＡ１に設定される運用情報は、各処理を各プロセッサＰ１−Ｐ７に割り当てるために分類されている。すなわち、各運用情報は、後述する図５に示すように、各処理の各プロセッサＰ１−Ｐ７への割り当てを示す情報（図５では、処理割り当ての列の情報）を有している。なお、運用状態テーブルＴＡ１の詳細は、後述する図５−図７で説明する。例えば、図５に示すエントリＮｏ．１、Ｎｏ．２、Ｎｏ．３、Ｎｏ．４、Ｎｏ．５の運用情報は、図２に示した処理１００、処理２００、処理３００、処理４００および処理５００、５１０にそれぞれ対応する。
【００３３】
着目する処理状態に対応する運用情報が複数ある場合（図２では、処理３００、４００、５００）、動作状態管理モジュールＣＮＴ１は、センシング結果に基づいて、着目する処理状態に対応する複数の運用情報から、センシング結果に対応する運用情報を検索する。例えば、動作状態管理モジュールＣＮＴ１は、運用状態テーブルＴＡ１の処理結果の項目（後述する図５では、処理結果の列）とセンシング結果とを比較し、センシング結果に対応する運用情報を選択する。
【００３４】
処理６３０では、動作状態管理モジュールＣＮＴ１は、処理６２０で選択した運用情報を、運用状態テーブルＴＡ１から読み出す。そして、処理６４０では、動作状態管理モジュールＣＮＴ１（より詳細には、図１の割り当て部ＡＬ）は、読み出した運用情報に基づいて、各処理を各プロセッサＰ１−Ｐ７に割り当てる。
【００３５】
図４は、データ処理システムＳＹＳのソフトウェアの構成の一例を示している。
【００３６】
ハードウェアであるプロセッサＰ０−Ｐ７上で、マルチプロセッサ用のリアルタイムオペレーティングシステム（Real-Time Operating System、ＲＴＯＳ）であるオペレーティングシステムＯＳが動作する。オペレーティングシステムＯＳは、各プロセッサＰ０−Ｐ７上でそれぞれ動作するリアルタイムオペレーティングシステムＲＴＯＳと、プロセッサＰ１−Ｐ７間の通信ライブラリＬＩＢとを有している。オペレーティングシステムＯＳ上では、動作状態管理モジュールＣＮＴ１およびアプリケーションプログラム（ユーザプログラム）ＡＰが動作する。例えば、この実施形態では、動作状態管理モジュールＣＮＴ１は、プロセッサＰ０に対応するリアルタイムオペレーティングシステムＲＴＯＳ上で動作する。
【００３７】
また、例えば、アプリケーションプログラムＡＰ（図の例では、プログラムＡＰ０−ＡＰ５）は、動作状態管理モジュールＣＮＴ１により、アプリケーションプログラム群ＡＰＧから選択され、運用状態テーブルＴＡ１に基づいて、各プロセッサＰ０−Ｐ７に割り当てる。ここで、例えば、アプリケーションプログラム群ＡＰＧは、複数のアプリケーションプログラムＡＰ０、ＡＰ１、ＡＰ２、・・・ＡＰｎを有し、上述したメインメモリＭＭ等に保持される。例えば、アプリケーションプログラムＡＰ０、ＡＰ１、ＡＰ２、ＡＰ３、ＡＰ４、ＡＰ５は、全体制御（上述した図２の処理）、人検出処理、人追跡処理、行動解析、顔認証、画像データの転送を実施するためのプログラムにそれぞれ対応する。
【００３８】
図５は、運用状態テーブルＴＡ１の構成の一例を示している。図中の処理ＭＣは、全体制御の処理を示している。また、処理Ｓ−１、Ｓ−２、Ｓ−３、Ｓ−４は、ビデオカメラＣ１−Ｃ４の画像データに対する人検出処理をそれぞれ示し、処理Ｔ−１、Ｔ−２、Ｔ−３、Ｔ−４は、ビデオカメラＣ１−Ｃ４の画像データに対する人追跡処理をそれぞれ示している。そして、処理ＡＣＴは行動解析を示し、処理ＦＲＥは顔認証を示し、処理ＴＲＡは画像データの転送を示している。なお、図中の括弧内のプログラムＡＰ０−ＡＰ５は、各処理を実施するために、各プロセッサＰ０−Ｐ７に割り当てられるプログラムを示している。また、図中のエントリＮｏ．３、Ｎｏ．４、Ｎｏ．５の網掛けは、上述した図２に示した処理２１０のＹｅｓ、処理３１０のＹｅｓ、処理４１０のＮｏにそれぞれ対応する各ビデオカメラＣ１−Ｃ４の画像データの処理結果を示している。
【００３９】
運用状態テーブルＴＡ１は、エントリ（Ｎｏ．）、センシング結果と比較される要素（図の処理結果の列）、各処理を各プロセッサＰ１−Ｐ７に割り当てるための情報（図の処理割り当ての列）を有している。そして、運用状態テーブルＴＡ１には、各処理を各プロセッサＰ１−Ｐ７に割り当てるために分類された複数の運用情報が設定されている。図の例では、運用情報は、エントリＮｏ．１、Ｎｏ．２、Ｎｏ．３、Ｎｏ．４、Ｎｏ．５に分類され、さらに、エントリＮｏ．３、Ｎｏ．４、Ｎｏ．５の運用情報は、それぞれ１５種類に分類されている。すなわち、運用状態テーブルＴＡ１には、画像データの処理結果に基づく処理状態毎に分類された運用情報が設定される。換言すれば、運用状態テーブルＴＡ１には、各処理状態に対応する運用情報が設定される。
【００４０】
例えば、エントリＮｏ．１、Ｎｏ．２の運用情報は、各処理を各プロセッサＰ１−Ｐ７に割り当てるための情報（以下、割り当て情報とも称する）を有している。なお、１つの運用情報内の割り当て情報が示す各処理の各プロセッサＰ０−Ｐ７への割り当ての組み合わせは、１種類である。また、割り当て情報が示す各処理の各プロセッサＰ０−Ｐ７への割り当ての組み合わせは、各処理のリアルタイム制約を満足させる組み合わせである。ここで、リアルタイム制約とは、特定の処理を特定の時間内で終了させることである。また、例えば、エントリＮｏ．３、Ｎｏ．４、Ｎｏ．５の運用情報は、センシング結果と比較される要素（以下、処理結果情報とも称する）と、割り当て情報とを有している。
【００４１】
エントリＮｏ．１の運用情報は、ビデオカメラＣ１、Ｃ３によるサーチモード（上述した図２に示した処理１００）に対応する。ビデオカメラＣ１、Ｃ３によるサーチモードでは、プロセッサＰ１−Ｐ７により実施される処理は、センシング結果に拘わらず、ビデオカメラＣ１、Ｃ３の画像データに対するそれぞれの人検出処理の１種類である。したがって、エントリＮｏ．１の運用情報は、１種類である。例えば、エントリＮｏ．１の運用情報が選択された場合、上述した図１に示した動作状態管理モジュールＣＮＴ１は、エントリＮｏ．１の運用情報の割り当て情報に基づいて、各処理を各プロセッサＰ０−Ｐ７に割り当てる。この場合、例えば、プロセッサＰ０、Ｐ１、Ｐ３には、全体制御ＭＣ、ビデオカメラＣ１の画像データに対する人検出処理Ｓ−１、ビデオカメラＣ３の画像データに対する人検出処理Ｓ−３がそれぞれ割り当てられ、プロセッサＰ２、Ｐ４−Ｐ７には、処理は割り当てられない。
【００４２】
エントリＮｏ．２の運用情報は、ビデオカメラＣ１−Ｃ４によるサーチモード（図２に示した処理２００）に対応する。ビデオカメラＣ１−Ｃ４によるサーチモードでは、プロセッサＰ１−Ｐ７により実施される処理は、センシング結果に拘わらず、ビデオカメラＣ１−Ｃ４の画像データに対するそれぞれの人検出処理の１種類である。したがって、エントリＮｏ．２の運用情報は、１種類である。例えば、エントリＮｏ．２の運用情報が選択された場合、図１に示した動作状態管理モジュールＣＮＴ１は、エントリＮｏ．２の運用情報の割り当て情報に基づいて、各処理を各プロセッサＰ０−Ｐ７に割り当てる。この場合、例えば、プロセッサＰ０−Ｐ４には、全体制御ＭＣ、ビデオカメラＣ１−Ｃ４の画像データに対する人検出処理Ｓ−１、Ｓ−２、Ｓ−３、Ｓ−４がそれぞれ割り当てられ、プロセッサＰ５−Ｐ７には、処理は割り当てられない。
【００４３】
エントリＮｏ．３の運用情報は、追跡および行動解析モード（図２に示した処理３００）に対応する。追跡および行動解析モードでは、プロセッサＰ１−Ｐ４により実施される処理は、センシング結果に応じて変化する。例えば、追跡および行動解析モードでは、人が検出されたビデオカメラの画像データを用いて人追跡処理が実施され、かつ、人追跡処理の結果に基づいて行動解析が実施される。したがって、センシング結果は、ビデオカメラＣ１−Ｃ４の１つで人が検出された場合から全て（４つのビデオカメラ）で検出された場合までの組み合わせを有するため、１５種類である。したがって、エントリＮｏ．３の運用情報は、センシング結果が１５種類のため、１５種類である。なお、ビデオカメラＣ１−Ｃ４の全てで人が検出されない状態（結果）は、処理が追跡および行動解析モードに移らないため、運用状態テーブルＴＡ１のエントリＮｏ．３の運用情報に含まれない。
【００４４】
すなわち、追跡および行動解析モードに対応するエントリＮｏ．３の運用情報は、エントリＮｏ．３−１、３−２、・・・３−１５の１５種類に分類される。ここで、例えば、図１に示した動作状態管理モジュールＣＮＴ１は、運用状態テーブルＴＡ１の処理結果情報（図の処理結果の列）と、ビデオカメラＣ１−Ｃ４によるサーチモードのセンシング結果とを比較する。そして、動作状態管理モジュールＣＮＴ１は、エントリＮｏ．３−１、３−２、・・・３−１５の運用情報から、センシング結果に対応する運用情報（センシング結果に一致する処理結果情報のエントリの運用情報）を選択する。ここで、エントリＮｏ．３の処理結果情報の“検出”は、人が検出された状態（処理結果）を示し、“非検”は、人が検出されていない状態（処理結果）を示している。
【００４５】
例えば、エントリＮｏ．３−１は、ビデオカメラＣ１のみで人が検出された場合（状態）に対応する。例えば、エントリＮｏ．３−１では、プロセッサＰ０−Ｐ４、Ｐ７には、全体制御ＭＣ、ビデオカメラＣ１の画像データに対する人追跡処理Ｔ−１、ビデオカメラＣ２−Ｃ４の画像データに対する人検出処理Ｓ−２、Ｓ−３、Ｓ−４、人追跡処理Ｔ−１の結果に基づく行動解析ＡＣＴ（ビデオカメラＣ１の画像データに対する行動解析）がそれぞれ割り当てられ、プロセッサＰ５−Ｐ６には、処理は割り当てられない。
【００４６】
また、例えば、エントリＮｏ．３−５は、ビデオカメラＣ１、Ｃ３のみで人が検出された場合（状態）に対応する。例えば、エントリＮｏ．３−５では、プロセッサＰ０−Ｐ４、Ｐ７には、全体制御ＭＣ、人追跡処理Ｔ−１、人検出処理Ｓ−２、人追跡処理Ｔ−３、人検出処理Ｓ−４、行動解析ＡＣＴ（ビデオカメラＣ１、Ｃ３の画像データに対する行動解析）がそれぞれ割り当てられ、プロセッサＰ５−Ｐ６には、処理は割り当てられない。
【００４７】
また、例えば、エントリＮｏ．３−１５は、ビデオカメラＣ１−Ｃ４の全てで人が検出された場合（状態）に対応する。例えば、エントリＮｏ．３−１５では、プロセッサＰ０−Ｐ４、Ｐ７には、全体制御ＭＣ、人追跡処理Ｔ−１、Ｔ−２、Ｔ−３、Ｔ−４、行動解析ＡＣＴ（ビデオカメラＣ１−Ｃ４の画像データに対する行動解析）がそれぞれ割り当てられ、プロセッサＰ５−Ｐ６には、処理は割り当てられない。
【００４８】
エントリＮｏ．４の運用情報は、顔認証モード（図２に示した処理４００）に対応する。エントリＮｏ．４の運用情報は、エントリＮｏ．３の運用情報と同様に、センシング結果が１５種類のため、１５種類である。すなわち、顔認証モードに対応するエントリＮｏ．４の運用情報は、エントリＮｏ．４−１、４−２、・・・４−１５の１５種類に分類される。ここで、例えば、図１に示した動作状態管理モジュールＣＮＴ１は、運用状態テーブルＴＡ１の処理結果情報と、追跡および行動解析モードのセンシング結果とを比較し、センシング結果に対応する運用情報を選択する。ここで、エントリＮｏ．４の処理結果情報の“異常”は、行動解析で異常行動と判断された状態（処理結果）を示し、“正常”は、“異常”以外の状態を示している。すなわち、エントリＮｏ．４の処理結果情報の“正常”は、行動解析で正常と判断された状態（処理結果）と、人が検出されていない状態（エントリＮｏ．３の“非検”に相当）とを含んでいる。
【００４９】
例えば、エントリＮｏ．４−１は、ビデオカメラＣ１で検出された人の行動のみが異常行動と判断された場合（状態）に対応する。例えば、エントリＮｏ．４−１では、エントリＮｏ．３で処理が割り当てられていないプロセッサＰ５に、顔認証ＦＲＥ（ビデオカメラＣ１の画像データを用いた顔認証）が割り当てられる。その他のプロセッサＰ０−Ｐ４、Ｐ６、Ｐ７への処理の割り当ては、エントリＮｏ．３−１と同じである。例えば、エントリＮｏ．４−１では、プロセッサＰ０−Ｐ５、Ｐ７には、全体制御ＭＣ、人追跡処理Ｔ−１、人検出処理Ｓ−２、Ｓ−３、Ｓ−４、顔認証ＦＲＥ、行動解析ＡＣＴ（ビデオカメラＣ１の画像データに対する行動解析）がそれぞれ割り当てられ、プロセッサＰ６には、処理は割り当てられない。
【００５０】
また、例えば、エントリＮｏ．４−５は、ビデオカメラＣ１、Ｃ３で検出された人の行動のみが異常行動と判断された場合（状態）に対応する。例えば、エントリＮｏ．４−５では、プロセッサＰ５に顔認証ＦＲＥ（ビデオカメラＣ１、Ｃ３の画像データをそれぞれ用いた顔認証）が割り当てられる。その他のプロセッサＰ０−Ｐ４、Ｐ６、Ｐ７への処理の割り当ては、エントリＮｏ．３−５と同じである。また、例えば、エントリＮｏ．４−１５は、ビデオカメラＣ１−Ｃ４で検出された人の行動が異常行動と判断された場合（状態）に対応する。例えば、エントリＮｏ．４−１５では、プロセッサＰ５に顔認証ＦＲＥ（ビデオカメラＣ１−Ｃ４の画像データをそれぞれ用いた顔認証）が割り当てられる。その他のプロセッサＰ０−Ｐ４、Ｐ６、Ｐ７への処理の割り当ては、エントリＮｏ．３−１５と同じである。このように、エントリＮｏ．４では、エントリＮｏ．３で処理が割り当てられていないプロセッサＰ５に、顔認証ＦＲＥが割り当てられる。
【００５１】
エントリＮｏ．５の運用情報は、画像データ圧縮および転送モード（図２に示した処理５００、５１０）に対応する。エントリＮｏ．５の運用情報は、エントリＮｏ．３の運用情報と同様に、センシング結果が１５種類のため、１５種類である。すなわち、画像データ圧縮および転送モードに対応するエントリＮｏ．５の運用情報は、エントリＮｏ．５−１、５−２、・・・５−１５の１５種類に分類される。ここで、例えば、図１に示した動作状態管理モジュールＣＮＴ１は、運用状態テーブルＴＡ１の処理結果情報と、顔認証モードのセンシング結果とを比較し、センシング結果に対応する運用情報を選択する。ここで、エントリＮｏ．５の処理結果情報の“ＮＧ”は、顔認証が実施された対象者が正当な利用者でないと判断された状態（処理結果）を示し、“ＯＫ”は、“ＮＧ”以外の状態を示している。すなわち、エントリＮｏ．５の処理結果情報の“ＯＫ”は、顔認証が実施された対象者が正当な利用者と判断された状態（処理結果）と、行動解析で正常と判断された状態（処理結果）と、人が検出されていない状態（エントリＮｏ．３の“非検”に相当）とを含んでいる。
【００５２】
例えば、エントリＮｏ．５−１は、ビデオカメラＣ１で検出された人が正当な利用者でない場合（状態）に対応する。例えば、エントリＮｏ．５−１では、エントリＮｏ．４で処理が割り当てられていないプロセッサＰ６に、画像データ転送ＴＲＡ（ビデオカメラＣ１の画像データを圧縮して転送）が割り当てられる。その他のプロセッサＰ０−Ｐ５、Ｐ７への処理の割り当ては、エントリＮｏ．４−１と同じである。また、例えば、エントリＮｏ．５−１５は、ビデオカメラＣ１−Ｃ４で検出された人が正当な利用者でない場合（状態）に対応する。例えば、エントリＮｏ．５−１５では、プロセッサＰ６に、画像データ転送ＴＲＡ（ビデオカメラＣ１−Ｃ４の画像データを圧縮して転送）が割り当てられる。その他のプロセッサＰ０−Ｐ５、Ｐ７への処理の割り当ては、エントリＮｏ．４−１５と同じである。このように、エントリＮｏ．５では、エントリＮｏ．４で処理が割り当てられていないプロセッサＰ６に、画像データ転送ＴＲＡが割り当てられる。
【００５３】
このように、運用状態テーブルＴＡ１には、割り当て情報を含む運用情報が処理状態（例えば、画像データの処理結果に基づく処理状態）毎に予め設定されている。換言すれば、運用状態テーブルＴＡ１には、処理状態毎に、１つの運用情報が設定される。したがって、図１に示した動作状態管理モジュールＣＮＴ１は、複数の処理状態に対して、各処理状態に対応する運用情報を一義的に選択できる。これにより、データ処理システムＳＹＳでは、故障等が発生した状態（例えば、故障時の各処理と各プロセッサＰ０−Ｐ７との組み合わせ）を容易に再現でき、デバッグの効率を向上させることができる。すなわち、データ処理システムＳＹＳでは、故障等が発生した際のデバッグを容易にできる。
【００５４】
また、動作状態管理モジュールＣＮＴ１は、運用状態テーブルＴＡ１に設定された割り当て情報を用いることにより、各処理が所定の時間内で終了するように（リアルタイム制約を満足するように）、各処理を各プロセッサＰ０−Ｐ７に割り当てることができる。例えば、画像データ転送ＴＲＡの負荷が全体制御ＭＣの負荷に比べて大きく、かつ、プロセッサＰ６の処理能力がプロセッサＰ０の処理能力に比べて小さい場合、全体制御ＭＣをプロセッサＰ６に割り当て、かつ、画像データ転送ＴＲＡをプロセッサＰ０に割り当てることを示す割り当て情報が、運用状態テーブルＴＡ１に設定される。すなわち、各運用情報における各処理の各プロセッサへの割り当て情報を、リアルタイム制約を満足するように設定することによって、システムのすべての動作状態で、容易にリアルタイム制約を満足させることができる。
【００５５】
図６は、運用状態テーブルＴＡ１の構成の別の例を示している。図６の運用状態テーブルＴＡ１は、上述した図５に示した運用状態テーブルＴＡ１に外部デバイス制御情報が追加されている。図６の運用状態テーブルＴＡ１のその他の構成は、図５に示した運用状態テーブルＴＡ１と同じである。すなわち、運用状態テーブルＴＡ１は、エントリ（Ｎｏ．）、処理結果情報（図の処理結果の列）、割り当て情報（図の処理割り当ての列）、外部デバイス制御情報（図の外部デバイス制御の列）を有している。なお、図中の処理結果の列の網掛けの意味は、上述した図５と同じである。また、図中の外部デバイス制御の列の網掛けは、処理結果の列の網掛けに対応して設定される外部デバイス制御情報を示している。
【００５６】
各運用情報は、各処理状態で必要な外部デバイスを適切に制御するための外部デバイス制御情報を有している。例えば、外部デバイス制御情報を用いる動作状態管理モジュールＣＮＴ１は、各外部デバイスの動作（動作モード等）を制御するための制御データを外部デバイス制御情報に基づいて生成し、かつ、生成した制御データを各外部デバイスに出力する外部デバイス制御部（図示せず）を有している。これにより、図１に示した動作状態管理モジュールＣＮＴ１は、各処理状態に対応する運用情報の割り当て情報に基づいて、各処理を各プロセッサＰ０−Ｐ７に割り当てるとともに、運用情報の外部デバイス制御情報に基づいて、各外部デバイスの動作（動作モード等）を制御できる。なお、図１に示した割り当て部ＡＬに、外部デバイス制御部の機能を含めてもよい。
【００５７】
例えば、エントリＮｏ．１では、ビデオカメラＣ１、Ｃ３の画像データに対してのみ、プロセッサＰ１、Ｐ３により人検出処理Ｓ−１、Ｓ−３が実施される。このため、エントリＮｏ．１では、ダウンコンバータＤＣ１、ＤＣ３は、外部デバイス制御情報に基づいて、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび１０ｆｐｓの画像データをデータ処理システムＳＹＳに出力するように設定される。さらに、エントリＮｏ．１では、ダウンコンバータＤＣ２、ＤＣ４は、外部デバイス制御情報に基づいて、オフ（ＯＦＦ）に設定される。また、エントリＮｏ．１では、画像データが外部へ転送されないため、ＬＡＮコントローラＬＣは、外部デバイス制御情報に基づいて、オフ（ＯＦＦ）に設定される。
【００５８】
また、例えば、エントリＮｏ．３−５では、ビデオカメラＣ１、Ｃ３の画像データに対して、プロセッサＰ１、Ｐ３により人追跡処理Ｔ−１、Ｔ−３が実施され、ビデオカメラＣ２、Ｃ４の画像データに対して、プロセッサＰ２、Ｐ４により人検出処理Ｓ−２、Ｓ−４が実施される。このため、エントリＮｏ．３−５では、ダウンコンバータＤＣ１、ＤＣ３は、外部デバイス制御情報に基づいて、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび３０ｆｐｓの画像データをデータ処理システムＳＹＳに出力するように設定される。さらに、エントリＮｏ．３−５では、ダウンコンバータＤＣ２、ＤＣ４は、外部デバイス制御情報に基づいて、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび１０ｆｐｓの画像データをデータ処理システムＳＹＳに出力するように設定される。また、エントリＮｏ．３−５では、画像データが外部へ転送されないため、ＬＡＮコントローラＬＣは、外部デバイス制御情報に基づいて、オフ（ＯＦＦ）に設定される。
【００５９】
また、例えば、エントリＮｏ．５−１では、ビデオカメラＣ１の画像データに対して、プロセッサＰ５により顔認証ＦＲＥが実施され、ビデオカメラＣ２−Ｃ４の画像データに対して、プロセッサＰ２−Ｐ４により人検出処理Ｓ−２、Ｓ−３、Ｓ−４が実施される。このため、エントリＮｏ．５−１では、ダウンコンバータＤＣ１は、外部デバイス制御情報に基づいて、画像のサイズおよびフレームレートがそれぞれＸＧＡおよび３０ｆｐｓの画像データをデータ処理システムＳＹＳに出力するように設定される。さらに、エントリＮｏ．５−１では、ダウンコンバータＤＣ２−ＤＣ４は、外部デバイス制御情報に基づいて、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび１０ｆｐｓの画像データをデータ処理システムＳＹＳに出力するように設定される。また、エントリＮｏ．５−１では、ＬＡＮで接続されたセンタ側に画像データを転送するため、ＬＡＮコントローラＬＣは、外部デバイス制御情報に基づいて、オン（ＯＮ）に設定される。
【００６０】
図７は、運用状態テーブルＴＡ１の構成の別の例を示している。図７の運用状態テーブルＴＡ１は、上述した図５に示した運用状態テーブルＴＡ１に電力制御情報が追加されている。図７の運用状態テーブルＴＡ１のその他の構成は、図５に示した運用状態テーブルＴＡ１と同じである。すなわち、運用状態テーブルＴＡ１は、エントリ（Ｎｏ．）、処理結果情報（図の処理結果の列）、割り当て情報（図の処理割り当ての列）、電力制御情報（図の電力制御の列）を有している。図中の符号Ｈは、プロセッサを通常（フルスピード）のクロック周波数で動作させることを示し、符号Ｌは、プロセッサを通常の半分（フルスピードの１／２のスピード）のクロック周波数で動作させることを示している。なお、図中の処理結果の列の網掛けの意味は、上述した図５と同じである。また、図中の電力制御の列の網掛けは、プロセッサを通常のクロック周波数で動作させたときに比べて、消費電力が低くなる状態（プロセッサのクロック周波数が通常の半分およびプロセッサがオフの状態）を示している。
【００６１】
各運用情報は、各処理状態に応じて、プロセッサＰ０−Ｐ７の消費電力を適切に制御するための電力制御情報を有している。例えば、電力制御情報を用いる動作状態管理モジュールＣＮＴ１は、電力制御情報に基づいて、各プロセッサＰ０−Ｐ７のオン、オフおよびクロック周波数等を制御する電力制御部（図示せず）を有している。これにより、図１に示した動作状態管理モジュールＣＮＴ１は、各処理状態に対応する運用情報の割り当て情報に基づいて、各処理を各プロセッサＰ０−Ｐ７に割り当てるとともに、運用情報の電力制御情報に基づいて、プロセッサＰ０−Ｐ７の消費電力を適切に制御できる。この結果、消費電力を低減できる。なお、図１に示した割り当て部ＡＬに、電力制御部の機能を含めてもよい。
【００６２】
図の例は、全体制御ＭＣおよび人検出処理Ｓ−１、Ｓ−２、Ｓ−３、Ｓ−４の負荷が、他の処理（人追跡処理等）の負荷に比べて小さい場合を示している。例えば、全体制御ＭＣおよび人検出処理Ｓ−１、Ｓ−２、Ｓ−３、Ｓ−４は、プロセッサを通常の半分のクロック周波数で動作させた状態で、各プロセッサに処理される場合でも、リアルタイム制約を満足する。なお、人追跡処理Ｔ−１、Ｔ−２、Ｔ−３、Ｔ−４、行動解析ＡＣＴ、顔認証ＦＲＥ、画像データ転送ＴＲＡは、プロセッサを通常のクロック周波数で動作させた状態で、各プロセッサに処理される。
【００６３】
例えば、エントリＮｏ．１では、プロセッサＰ０により全体制御ＭＣが実施され、プロセッサＰ１、Ｐ３により、ビデオカメラＣ１、Ｃ３の画像データに対する人検出処理Ｓ−１、Ｓ−３が実施される。このため、エントリＮｏ．１では、プロセッサＰ０、Ｐ１、Ｐ３は、電力制御情報に基づいて、通常の半分のクロック周波数に設定され、プロセッサＰ２、Ｐ４−Ｐ７の電源は、電力制御情報に基づいて、オフ（ＯＦＦ）に設定される。
【００６４】
また、例えば、エントリＮｏ．３−５では、プロセッサＰ０により全体制御ＭＣが実施され、プロセッサＰ１、Ｐ３により人追跡処理Ｔ−１、Ｔ−３が実施され、プロセッサＰ２、Ｐ４により人検出処理Ｓ−２、Ｓ−４が実施され、プロセッサＰ７により行動解析ＡＣＴが実施される。このため、エントリＮｏ．３−５では、プロセッサＰ０、Ｐ２、Ｐ４は、電力制御情報に基づいて、通常の半分のクロック周波数に設定され、プロセッサＰ１、Ｐ３、Ｐ７は、電力制御情報に基づいて、通常のクロック周波数に設定され、プロセッサＰ５、Ｐ６の電源は、電力制御情報に基づいて、オフ（ＯＦＦ）に設定される。
【００６５】
図８は、図７に示した運用状態テーブルＴＡ１を用いた消費電力制御の一例を示している。図の横軸は時間ｔを示し、縦軸は消費電力制御をしない場合の消費電力（以下、最大消費電力とも称する）に対する消費電力の割合ＰＷ（％）を示している。消費電力制御をしない場合の消費電力は、例えば、プロセッサＰ０−Ｐ７の全てを通常のクロック周波数で動作させたときの消費電力に相当する。
【００６６】
例えば、データ処理システムＳＹＳが起動された直後のサーチモード（上述した図２に示した処理１００、図７に示したエントリＮｏ．１）では、消費電力は、最大消費電力の約２０％である（図８の（ａ））。そして、全てのビデオカメラによるサーチモード（図２に示した処理２００、図７に示したエントリＮｏ．２）では、消費電力は、最大消費電力の約３０％である（図８の（ｂ））。
【００６７】
次に、追跡および行動解析モード（図２に示した処理３００）において、例えば、２つのビデオカメラの画像データに対して人追跡処理が実施されている場合（例えば、図７に示したエントリＮｏ．３−５）、消費電力は、最大消費電力の約５５％である（図８の（ｃ）、（ｇ））。また、追跡および行動解析モードにおいて、例えば、全てのビデオカメラの画像データに対して人追跡処理が実施されている場合（図７に示したエントリＮｏ．３−１５）、消費電力は、最大消費電力の約７０％である（図８の（ｄ））。
【００６８】
そして、顔認証モード（図２に示した処理４００）では、例えば、全てのビデオカメラの画像データに対して顔認証が実施されている場合（図７に示したエントリＮｏ．４−１５）、消費電力は、最大消費電力の約８０％である（図８の（ｅ））。また、画像データ圧縮および転送モード（図２に示した処理５００、５１０）では、例えば、全てのビデオカメラの画像データが圧縮および転送される場合（図７に示したエントリＮｏ．５−１５）、消費電力は、最大消費電力の約９５％である（図８の（ｆ））。なお、全てのビデオカメラの画像データが圧縮および転送される場合でも、プロセッサＰ０が通常の半分のクロック周波数で動作しているため、消費電力は、最大消費電力に比べて小さい。
【００６９】
また、全てのビデオカメラで人が検出されない状態では、処理状態が２つのビデオカメラによるサーチモード（図２に示した処理１００）に移るため、消費電力は、最大消費電力の約２０％である（図８の（ｈ））。図の例では、期間Ｔの平均消費電力は、最大消費電力の約４０％である。このように、運用状態テーブルＴＡ１を用いたデータ処理システムＳＹＳでは、処理状態に応じて消費電力を抑制でき、全体の平均消費電力を、消費電力制御をしない場合に比べて小さくできる。すなわち、消費電力を低減できる。
【００７０】
図９は、運用状態テーブルＴＡ１の構成の別の例を示している。図９の運用状態テーブルＴＡ１は、上述した図５に示した運用状態テーブルＴＡ１に電力制御情報および外部デバイス制御情報が追加されている。図９の運用状態テーブルＴＡ１のその他の構成は、図５に示した運用状態テーブルＴＡ１と同じである。すなわち、運用状態テーブルＴＡ１は、エントリ（Ｎｏ．）、処理結果情報（図の処理結果の列）、割り当て情報（図の処理割り当ての列）、電力制御情報（図の電力制御の列）、外部デバイス制御情報（図の外部デバイス制御の列）を有している。なお、電力制御情報は、上述した図７に示した運用状態テーブルＴＡ１の電力制御情報と同じであり、外部デバイス制御情報は、上述した図６に示した運用状態テーブルＴＡ１の外部デバイス制御情報と同じである。これ等については、詳細な説明を省略する。
【００７１】
例えば、各運用情報は、各処理状態に応じて、プロセッサＰ０−Ｐ７の消費電力を適切に制御するための電力制御情報と、各処理状態で必要な外部デバイスを適切に制御するための外部デバイス制御情報とを有している。例えば、上述した図１に示した動作状態管理モジュールＣＮＴ１は、図７で説明した電力制御部（図示せず）と、図６で説明した外部デバイス制御部（図示せず）とを有している。なお、図１に示した割り当て部ＡＬに、電力制御部および外部デバイス制御部の機能を含めてもよい。これにより、図１に示した動作状態管理モジュールＣＮＴ１は、各処理の各プロセッサＰ０−Ｐ７への割り当て、プロセッサＰ０−Ｐ７の消費電力の制御および各外部デバイスの動作（動作モード等）の制御を、各処理状態に応じて適切に実施できる。
【００７２】
図１０−図１５は、図９に示した運用状態テーブルＴＡ１を用いたデータ処理システムＳＹＳの各処理状態の概要を示している。なお、図１０−図１５の破線は、オフ状態の要素（プロセッサＰ、ダウンコンバータＤＣ、ＬＡＮコントローラＬＣ）を示している。
【００７３】
図１０は、ビデオカメラＣ１、Ｃ３によるサーチモード（上述した図２に示した処理１００、図９に示したエントリＮｏ．１）に対応する。例えば、プロセッサＰ０は、通常の半分のクロック周波数で全体制御を実施し、プロセッサＰ１、Ｐ３は、通常の半分のクロック周波数で人検出処理を実施する。また、ダウンコンバータＤＣ１、ＤＣ３は、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび１０ｆｐｓの画像データをデータ処理システムＳＹＳに出力する。なお、プロセッサＰ２、Ｐ４−Ｐ７、ダウンコンバータＤＣ２、ＤＣ４、ＬＡＮコントローラＬＣは、オフしている。
【００７４】
図１１は、ビデオカメラＣ１−Ｃ４によるサーチモード（図２に示した処理２００、図９に示したエントリＮｏ．２）に対応する。例えば、プロセッサＰ０は、通常の半分のクロック周波数で全体制御を実施し、プロセッサＰ１−Ｐ４は、通常の半分のクロック周波数で人検出処理を実施する。ダウンコンバータＤＣ１−ＤＣ４は、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび１０ｆｐｓの画像データをデータ処理システムＳＹＳに出力する。なお、プロセッサＰ５−Ｐ７、ＬＡＮコントローラＬＣは、オフしている。
【００７５】
図１２は、追跡および行動解析モード（図２に示した処理３００）で、ビデオカメラＣ１、Ｃ２の画像データに対して人追跡処理が実施されている場合（図９に示したエントリＮｏ．３−５）に対応する。図中の網掛けのプロセッサＰは、通常のクロック周波数で動作するプロセッサを示し、網掛けのダウンコンバータＤＣは、ＶＧＡサイズで３０ｆｐｓの画像データを出力するダウンコンバータを示している。例えば、プロセッサＰ１、Ｐ３は、通常のクロック周波数で人追跡処理を実施し、プロセッサＰ７は、通常のクロック周波数で行動解析を実施する。また、例えば、ダウンコンバータＤＣ１、ＤＣ３は、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび３０ｆｐｓの画像データをデータ処理システムＳＹＳに出力する。なお、プロセッサＰ０、Ｐ２、Ｐ４−Ｐ６、ダウンコンバータＤＣ２、ＤＣ４、ＬＡＮコントローラＬＣの動作（オフも含む）は、上述した図１１と同じである。
【００７６】
図１３は、追跡および行動解析モード（図２に示した処理３００）で、ビデオカメラＣ１−Ｃ４の画像データに対して人追跡処理が実施されている場合（図９に示したエントリＮｏ．３−１５）に対応する。図中の網掛けのプロセッサＰおよびダウンコンバータＤＣの意味は、上述した図１２と同じである。例えば、プロセッサＰ１−Ｐ４は、通常のクロック周波数で人追跡処理を実施し、プロセッサＰ７は、通常のクロック周波数で行動解析を実施する。また、例えば、ダウンコンバータＤＣ１−ＤＣ４は、画像のサイズおよびフレームレートがそれぞれＶＧＡおよび３０ｆｐｓの画像データをデータ処理システムＳＹＳに出力する。なお、プロセッサＰ０、Ｐ５、Ｐ６、ＬＡＮコントローラＬＣの動作（オフも含む）は、上述した図１２と同じである。
【００７７】
図１４は、顔認証モード（図２に示した処理４００）で、ビデオカメラＣ１−Ｃ４の画像データに対して顔認証が実施されている場合（図９に示したエントリＮｏ．４−１５）に対応する。図中の網掛けのプロセッサＰの意味は、上述した図１２と同じである。なお、太線で網掛けのダウンコンバータＤＣは、ＸＧＡサイズで３０ｆｐｓの画像データを出力するダウンコンバータを示している。例えば、プロセッサＰ５は、通常のクロック周波数で顔認証を実施する。また、例えば、ダウンコンバータＤＣ１−ＤＣ４は、画像のサイズおよびフレームレートがそれぞれＸＧＡおよび３０ｆｐｓの画像データをデータ処理システムＳＹＳに出力する。なお、プロセッサＰ０−Ｐ４、Ｐ６、Ｐ７、ＬＡＮコントローラＬＣの動作（オフも含む）は、上述した図１３と同じである。
【００７８】
図１５は、画像データ圧縮および転送モード（図２に示した処理５００、５１０）で、ビデオカメラＣ１−Ｃ４の画像データが圧縮および転送される場合（図９に示したエントリＮｏ．５−１５）に対応する。図中の網掛けのプロセッサＰおよび太線で網掛けのダウンコンバータＤＣの意味は、上述した図１４と同じである。例えば、プロセッサＰ６は、通常のクロック周波数で画像データ転送を実施する。そして、ＬＡＮコントローラＬＣは、データ処理システムＳＹＳから受けた画像データを、ＬＡＮで接続されたセンタ（図示せず）に転送する。なお、プロセッサＰ０−Ｐ５、Ｐ７、ダウンコンバータＤＣ１−ＤＣ４の動作は、上述した図１４と同じである。
【００７９】
以上、この実施形態では、動作状態管理モジュールＣＮＴ１は、各処理状態に対して一義的に設定された割り当て情報（運用情報内の割り当て情報）に基づいて、各処理を各プロセッサＰ０−Ｐ７に割り当てる。これにより、この実施形態では、故障等の発生した状態（例えば、各プロセッサに割り当てられていた処理）を容易に再現でき、デバッグの効率を向上させることができる。すなわち、この実施形態では、故障等が発生した際のデバッグを容易にできる。また、各運用情報をリアルタイム制約を満足するように設定することで、すべての動作状態で容易にリアルタイム制約を満足させることができる。さらに、運用情報が電力制御情報を有する場合、この実施形態では、各処理状態に応じて、プロセッサＰ０−Ｐ７の消費電力を適切に制御でき、消費電力を低減できる。
【００８０】
図１６は、別の実施形態におけるデータ処理システムＳＹＳの概要を示している。この実施形態では、複数の運用状態テーブルＴＡ（ＴＡ１、ＴＡ２）を有し、上述した図１に示した動作状態管理モジュールＣＮＴ１の代わりに動作状態管理モジュールＣＮＴ２が設けられている。その他の構成は、図１−図１５と同じである。図１−図１５で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。例えば、データ処理システムＳＹＳは、マルチプロセッサシステムであり、監視カメラシステムに用いられる。また、例えば、動作状態管理モジュールＣＮＴ２は、ソフトウェアで実現され、プロセッサＰ０上で動作する。そして、動作状態管理モジュールＣＮＴ２が動作している間、例えば、運用状態テーブルＴＡ１、ＴＡ２は、メインメモリＭＭに保持される。すなわち、動作状態管理モジュールＣＮＴ２は、運用状態テーブルＴＡ（ＴＡ１、ＴＡ２）が保持されたメインメモリＭＭ、プロセッサＰ０−Ｐ７および外部インターフェースＩＦ１、ＩＦ２等に、内部バスＢＵＳを介してアクセスできる。
【００８１】
動作状態管理モジュールＣＮＴ２は、図１に示した動作状態管理モジュールＣＮＴ１にスイッチ部ＳＷが追加されている。その他の動作状態管理モジュールＣＮＴ２の構成は、図１に示した動作状態管理モジュールＣＮＴ１と同じである。例えば、スイッチ部ＳＷは、外部からテーブル選択信号ＴＳＩＧを受け、テーブル選択信号ＴＳＩＧに基づいて、データ処理システムＳＹＳで使用する運用状態テーブルＴＡを選択する。
【００８２】
例えば、監視カメラシステムでは、システム全体の効率を向上させるために、昼間と夜間（あるいは、平日と休日）でシステム全体の動作モードを変更する場合がある。この場合、例えば、データ処理システムＳＹＳは、システム全体の各動作モードに対応する運用状態テーブルＴＡ（例えば、昼間用の運用状態テーブルＴＡ１および夜間用の運用状態テーブルＴＡ２）を有し、テーブル選択信号ＴＳＩＧにより、動作モードに適した運用状態テーブルＴＡを選択する。すなわち、この実施形態では、データ処理システムＳＹＳは、使用する運用状態テーブルＴＡをシステム全体の動作モードに応じて選択でき、動作モードに適した制御を効率よく実施できる。以上、この実施形態においても、上述した図１−図１５で説明した実施形態と同様の効果を得ることができる。
【００８３】
なお、上述した実施形態では、データ処理システムＳＹＳを監視カメラシステムに用いる場合の例について述べた。本発明は、かかる実施形態に限定されるものではない。例えば、データ処理システムＳＹＳは、外部センサからの入力データを複数のプロセッサで処理するマルチプロセッサシステムを有するセンシングシステム（自動車に搭載される安全支援システム等）に用いられてもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００８４】
上述した実施形態では、動作状態管理モジュールＣＮＴ（ＣＮＴ１、ＣＮＴ２）がソフトウェアで実現され、プロセッサＰ０上で動作する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、動作状態管理モジュールＣＮＴは、プロセッサＰ０以外のプロセッサＰ（プロセッサＰ１等）上で動作してもよい。あるいは、動作状態管理モジュールＣＮＴは、内部バスＢＵＳに接続されるハードウェアで実現されてもよい。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００８５】
上述した実施形態では、データ処理システムＳＹＳが１つの動作状態管理モジュールＣＮＴを有する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、データ処理システムＳＹＳは、複数の動作状態管理モジュールＣＮＴを有してもよい。この場合、例えば、プロセッサ群ＰＥは、動作状態管理モジュールＣＮＴ毎に分類され、各動作状態管理モジュールＣＮＴは、対応するプロセッサ群ＰＥのプロセッサＰに各処理を割り当てる。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００８６】
上述した実施形態では、サーチモード等のモード毎に処理結果が検索さる運用状態テーブルＴＡが用いられる例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、図１７に示すように、センシング結果の組み合わせ（図１７の処理結果の列）は、モード毎に分けずに設定されてもよい。図１７では、処理結果の列の“０”は、人が検出されていない状態（処理結果）を示し、“１”は、人が検出された状態（処理結果）を示し、“２”は、異常行動が検出された状態（処理結果）を示し、“３”は、正当でない利用者が検出された状態（処理結果）を示している。このように、１つのビデオカメラＣからの画像データに対する処理結果が４通りあるため、センシング結果の組み合わせは、２５６通りである。なお、“１”は、行動解析で正常と判断された状態および顔認証で正当な利用者と判断された状態および画像データの転送が完了した時点の状態を含む。
【００８７】
この場合、例えば、動作状態管理モジュールは、センシング結果の組み合わせの変化を検出したときに、運用状態テーブルＴの処理結果（図１７の処理結果の列）とセンシング結果とを比較し、センシング結果に対応する運用情報を選択する。そして、動作状態管理モジュールは、選択した運用情報に基づいて、各処理を各プロセッサＰ０−Ｐ７に割り当てる。なお、例えば、プロセッサＰ７は、行動解析で正常と判断した場合、行動解析が実施されたビデオカメラＣの画像データの処理結果として、“１”を動作状態管理モジュールに返す。また、例えば、プロセッサＰ５は、顔認証で正当な利用者と判断した場合、顔認証が実施されたビデオカメラＣの画像データの処理結果として、“１”を動作状態管理モジュールに返す。さらに、例えば、プロセッサＰ６は、画像データの転送が完了したときに、転送した画像データの処理結果として、“１”を動作状態管理モジュールに返す。この場合にも、上述した実施形態と同様の効果を得ることができる。
【００８８】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００８９】
【図１】一実施形態におけるデータ処理システムの概要を示す図である。
【図２】データ処理システムの動作の一例を示す図である。
【図３】図１に示した動作状態管理モジュールの動作の一例を示す図である。
【図４】データ処理システムのソフトウェアの構成の一例を示す図である。
【図５】図１に示した運用状態テーブルの構成の一例を示す図である。
【図６】図１に示した運用状態テーブルの構成の別の例を示す図である。
【図７】図１に示した運用状態テーブルの構成の別の例を示す図である。
【図８】図７に示した運用状態テーブルを用いた消費電力制御の一例を示す図である。
【図９】図１に示した運用状態テーブルの構成の別の例を示す図である。
【図１０】図９に示した運用状態テーブルを用いたデータ処理システムの処理状態の一例を示す図である。
【図１１】図９に示した運用状態テーブルを用いたデータ処理システムの別の処理状態の一例を示す図である。
【図１２】図９に示した運用状態テーブルを用いたデータ処理システムの別の処理状態の一例を示す図である。
【図１３】図９に示した運用状態テーブルを用いたデータ処理システムの別の処理状態の一例を示す図である。
【図１４】図９に示した運用状態テーブルを用いたデータ処理システムの別の処理状態の一例を示す図である。
【図１５】図９に示した運用状態テーブルを用いたデータ処理システムの別の処理状態の一例を示す図である。
【図１６】別の実施形態におけるデータ処理システムの概要を示す図である。
【図１７】図５に示した運用状態テーブルの変形例を示す図である。
【符号の説明】
【００９０】
ＢＭ‥ブートメモリ；ＢＵＳ‥内部バス；ＣＮＴ１、ＣＮＴ２‥動作状態管理モジュール；ＩＦ１、ＩＦ２‥外部インターフェース；ＭＭ‥メインメモリ；Ｐ０−Ｐ７‥プロセッサ；ＰＥ‥プロセッサ群；ＳＹＳ‥データ処理システム；ＴＡ１、ＴＡ２‥運用状態テーブル
【図１】
2010097327.tif 000003
【図２】
2010097327.tif 000004
【図３】
2010097327.tif 000005
【図４】
2010097327.tif 000006
【図５】
2010097327.tif 000007
【図６】
2010097327.tif 000008
【図７】
2010097327.tif 000009
【図８】
2010097327.tif 000010
【図９】
2010097327.tif 000011
【図１０】
2010097327.tif 000012
【図１１】
2010097327.tif 000013
【図１２】
2010097327.tif 000014
【図１３】
2010097327.tif 000015
【図１４】
2010097327.tif 000016
【図１５】
2010097327.tif 000017
【図１６】
2010097327.tif 000018
【図１７】
2010097327.tif 000019