(57)【特許請求の範囲】
【請求項１】
第一の処理装置で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置に切替えて実行した場合の前記切替対象解析処理の精度を示す切替精度スコアを、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて算出し、算出された前記切替精度スコアに基づいて、前記切替対象解析処理の切替を実行するか否かを決定する切替決定手段と、
前記解析処理の環境条件値に基づいて前記切替処理中の精度予測値を算出する為の切替時精度予測情報を格納する切替時精度予測情報記憶手段とを、備え、
前記切替決定手段は、前記第一の処理装置から前記環境条件値を取得して、前記切替時精度予測情報を用いて前記切替処理中の予測値を算出する、
制御装置。
【請求項２】
前記切替対象解析処理の精度要求を格納する精度要求情報記憶手段を、さらに備え、
前記切替決定手段は、前記切替精度スコアを、切替処理中の精度予測値の前記精度要求に対する充足率、および、切替完了後の精度予測値の前記精度要求に対する充足率に基づいて算出する、請求項１の制御装置。
【請求項３】
前記第二の処理装置の処理資源量を格納する資源情報格納手段と、
前記切替対象解析処理の前記第一の処理装置から前記第二の処理装置への切替を実行する切替実行手段と、をさらに備え、
前記切替決定手段は、前記第一の処理装置から前記切替対象解析処理の処理量を取得し、当該処理量と前記第二の処理装置の処理資源量とから、前記切替対象解析処理の切替完了後の精度予測値を算出する請求項１又は２の制御装置。
【請求項４】
請求項１乃至３の何れか一項の制御装置と、
前記第一の処理装置と、
複数の前記解析処理を実行する前記第二の処理装置を１以上包含する制御システムであって、
前記切替決定手段は、前記制御システム内の処理装置で実行中の前記解析処理の何れかを他の何れかの処理装置に切替えるすべての組み合わせの各々について、ａ１）前記切替対象解析処理の前記切替精度スコアを算出し、さらに、ａ２）前記切替対象解析処理以外の前記解析処理について、前記切替対象解析処理の切替完了後の当該解析処理の精度を示す前記切替精度スコアを切替完了後の精度予測値に基づいて算出し、ｂ）前記解析処理中の精度スコアの最低値が最も高くなる組み合わせを選択して、当該組み合わせに従って前記切替対象解析処理の切替実施を決定する、制御システム。
【請求項５】
第一の処理装置で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置に切替えて実行した場合の前記切替対象解析処理の精度を示す切替精度スコアを、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて算出し、算出された前記切替精度スコアに基づいて、前記切替対象解析処理の切替を実行するか否かを決定し、
前記解析処理の環境条件値に基づいて前記切替処理中の精度予測値を算出する為の切替時精度予測情報を切替時精度予測情報記憶手段に格納し、
前記第一の処理装置から前記環境条件値を取得して、前記切替時精度予測情報を用いて前記切替処理中の予測値を算出する、方法。
【請求項６】
前記切替対象解析処理の精度要求を精度要求情報記憶手段に格納し、
前記切替精度スコアを、切替処理中の精度予測値の前記精度要求に対する充足率、および、切替完了後の精度予測値の前記精度要求に対する充足率に基づいて算出する、請求項５の方法。
【請求項７】
第一の処理装置で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置に切替えて実行した場合の前記切替対象解析処理の精度を示す切替精度スコアを、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて算出し、算出された前記切替精度スコアに基づいて、前記切替対象解析処理の切替を実行するか否かを決定する切替決定処理を、
前記解析処理の環境条件値に基づいて前記切替処理中の精度予測値を算出する為の切替時精度予測情報を格納する切替時精度予測情報記憶手段を備えたコンピュータに実行させ、
さらに、前記コンピュータに、前記第一の処理装置から前記環境条件値を取得して、前記切替時精度予測情報を用いて前記切替処理中の予測値を算出する、前記切替決定処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御システム、制御方法、および、プログラム、特に、解析処理を実行する処理装置の切替を制御する制御装置、制御システム、制御方法、および、プログラムに関する。
【背景技術】
【０００２】
近年、情報処理技術の発達に伴い、様々なデータの解析を行う解析エンジンの開発が行われている。例えば、映像データから人間の動線をトレースするための位置情報を生成する解析エンジン、 静止映像データから人物を特定する解析エンジン、音声データからテキストデータを生成する解析エンジンが開発されている。
【０００３】
さらに、同種あるいは異種の解析エンジンを複数組み合わせて、入力データから様々な解析処理結果を得ることができる解析システムも開発されている。例えば 、カメラから入力した映像データを、人物抽出エンジン、動線抽出エンジン、顔抽出エンジン及び顔照合エンジンを用いて、並列または直列に処理し、所定の挙動の人物を判定する、といった解析処理を行うシステムが開発されている。
【０００４】
これら複数の解析エンジンを用いている解析システムは、複数の処理装置を包含しうる。このような解析システムは、解析結果の精度を一定レベル以上に保証し、さらに、解析結果をリアルタイムで出力するなど処理が高速であることが望ましい。
【０００５】
ところが、上述したような複数の解析エンジンを組み合わせた解析システムでは、解析処理対象となるデータの内容に応じて、それらの解析エンジンのそれぞれに掛かる負荷は大きく変動しうる。また、ある種の解析エンジンは、前後のデータフレームを参照しつつ連続して処理を行うため状態を保持し、データフレーム毎に処理装置を分散して実行することができない。
【０００６】
このため、特定の解析エンジンに局所的に、解析処理に掛かる負荷が集中する場合がある。このような場合、解析処理が遅延する、あるいはバッファ溢れによるデータの欠損が起きる。このため、解析システム全体の処理性能や精度が保障されない、という問題が生じる。
【０００７】
換言すると、解析エンジンに掛かる負荷によっては、その解析エンジンの処理を実行している処理装置の処理能力に対して過負荷が生じ、意図しない解析処理の遅延や、意図しないデータの欠損に起因する解析精度の低下が生じる。
【０００８】
このような問題に対しては、ある解析エンジンを実行する処理装置を、処理能力に余裕がある他の処理装置に変更するという対応が取られることがある。
【０００９】
特許文献１は、上述のような解析システムにおいて、アプリケーションを別のデータセンタにマイグレーションするための方法の一例を開示する。特許文献１に記載の方法では、まず、アプリケーションのマイグレーション元のデータセンタにおける統合管理システムが、ネットワーク要件、装置要件、およびストレージ要件を含むマイグレーション要求文書を生成し、他のデータセンタに送付する。要求を受けたデータセンタにおける統合管理システムは、それぞれのローカル環境をチェックし、アプリケーションを実行するのに十分な資源があるかどうかを決定する。これにより、マイグレーション元のデータセンタは、負荷状況に応じてアプリケーションを実行することが可能なデータセンタを見つけることができる。
【００１０】
特許文献２は、通信状況を測定し、測定された通信状況からスループットを予測するモバイル端末を開示する。この、モバイル端末は、予測されたスループットに応じて、アプリケーションに関する処理を自装置で実行する、または、演算処理装置に実行させる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第５１３７７０９号公報
【特許文献２】特開２０１４−１６４５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述の特許文献１に記載の方法を用いる装置は、他の処理装置にアプリケーションを移行する場合において、移行後のアプリケーションの性能の低下を抑制することができる。しかし、当該方法は、移行時に一時的に発生する性能や精度の低下については考慮していない。例えば、移行時に、解析エンジンを一旦停止し別の処理装置上で再開する動作を行う場合において、解析エンジンは、それまで保持していた背景学習データ等の一時データを破棄し、別装置にて再び背景の学習を行うことが有る。当該方法は、このような再学習を含む移行処理を終え、正常に解析結果を出力するまでの期間、解析エンジンの解析精度が低下する、といった影響について考慮していない。
【００１３】
即ち、上述の先行技術文献に記載の方法は、解析エンジンがステートフル解析エンジンであり、処理装置の切替によって負荷を制御する場合に、複数の処理装置で複数の解析エンジンを効率的に実行させることができない。ここで、ステートフル解析エンジンとは、前後のデータフレームを参照しつつ連続して処理を行うため追跡中のオブジェクトの属性情報等の一時データ等の状態を保持し、データフレーム毎に処理装置を分散して実行することができない解析エンジンである。また、ここで、処理装置の切替とは、或る処理装置で実行中の解析エンジンを停止し、別の処理装置に移動した上で開始する動作である。
【００１４】
特許文献２が開示する装置も、上記と同様な課題を有する。
【００１５】
本発明は、解析エンジン等を実行する処理装置を切替えるときに発生する上述の課題を解決するための、制御装置、制御システム、制御方法、および、プログラム提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の１実施の形態の制御装置は、第一の処理装置で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置に切替えて実行した場合の前記切替対象解析処理の精度を示す切替精度スコアを、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて算出し、算出された前記切替精度スコアに基づいて、前記切替対象解析処理の切替を実行するか否かを決定する切替決定手段を備える。
【００１７】
本発明の１実施の形態の方法は、第一の処理装置で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置に切替えて実行した場合の前記切替対象解析処理の精度を示す切替精度スコアを、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて算出し、算出された前記切替精度スコアに基づいて、前記切替対象解析処理の切替を実行するか否かを決定する。
【００１８】
本発明の１実施の形態のプログラムは、第一の処理装置で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置に切替えて実行した場合の前記切替対象解析処理の精度を示す切替精度スコアを、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて算出し、算出された前記切替精度スコアに基づいて、前記切替対象解析処理の切替を実行するか否かを決定する切替決定処理を、コンピュータに実行させる。
【発明の効果】
【００１９】
処理装置を切替えるときに一時的に処理精度の低下を発生する解析処理が存在する。本発明にかかる制御装置は、そのような解析処理の処理装置切替を効率的に実行できる。
【図面の簡単な説明】
【００２０】
【図１】図１は、第１の実施の形態にかかる制御システム５０の構成図である。
【図２】図２は、解析処理ｂが処理装置２０−ａから処理装置２０−ｂへと切り替えられた後の制御システム５０の様子を示す。
【図３】図３は、解析処理の切替に関連する期間と、各期間の精度予測を説明する図である。
【図４】図４は、切替時精度予測情報記憶部３３が記憶する切替時精度予測情報の例を示す。
【図５】図５は、負荷毎精度予測情報記憶部３４が記憶する負荷毎精度予測情報の例を示す。
【図６】図６は、図５の例における解析処理ａについての負荷毎精度予測情報をグラフ表示した図である。
【図７】図７は、処理装置資源情報記憶部３５が記憶する処理資源情報の例を示す。
【図８】図８は、制御装置３０の動作を示すフローチャートである。
【図９】図９は、切替決定部３２が、切替の対象となる解析処理と切替先の処理装置との組み合わせを表す切替パターンを決定する動作（ステップＳ２）を詳細に示すフローチャートである。
【図１０】図１０は、第２の実施の形態にかかる制御システム５０の構成図である。
【図１１】図１１は、環境切替時精度予測情報記憶部３６が記憶する環境切替時精度予測情報の例を示す。
【図１２】図１２は、第２の実施の形態にかかる制御装置３０の動作を示すフローチャートである。
【図１３】図１３は、第３の実施の形態にかかる制御装置３０の構成図である。
【図１４】図１４は、精度要求情報記憶部３７が記憶するユーザの精度要求の例を示す。
【図１５】図１５は、コンピュータ装置４０の構成図である。
【図１６】図１６は、第1の実施の形態の制御システム５０の構成の具体例を示す図である。
【図１７】図１７は、第1の実施の形態の制御システム５０の構成の具体例における切替時精度予測情報の値を例示したものである。
【図１８】図１８は、第1の実施の形態の制御システム５０の構成の具体例における負荷毎精度予測情報の値を例示したものである。
【図１９】図１９は、第1の実施の形態の制御システム５０の構成の具体例における処理装置資源情報の値を例示したものである。
【図２０】図２０は、負荷計測プログラム２１ｅが出力する各解析プログラムの負荷を例示した表である。
【図２１】図２１は、図１７乃至図２０に例示した値に基づいて、切替前精度予測値、切替前精度スコアの具体的な計算値を示した表である。
【図２２】図２２は、図１９乃至図２０に例示した値に基づいて、切替パターン毎に、切替時精度予測値、切替後精度予測値、切替精度スコアの具体的な計算値を示した表である。
【図２３】図２３は、第２の実施の形態の制御システム５０の構成の具体例を示す図である。
【図２４】図２４は、環境毎切替時精度予測情報記憶部３６が記憶する環境毎切替時精度予測情報を示す。
【図２５】図２５は、第３の実施の形態の具体例における精度要求情報が含む、解析プログラム毎の精度要求の値を示す。
【図２６】図２６は、図２５に示した精度要求に基づいて、切替前精度要求充足率、切替前精度スコアの具体的な計算値を示した表である。
【図２７】図２７は、切替時精度要求充足率、切替後精度要求充足率、切替精度スコアの具体的な計算値を示した表である。
【図２８】図２８は、第４の実施の形態にかかる制御装置３０の構成図である。
【発明を実施するための形態】
【００２１】
[第1の実施の形態] 
[構成]
図１は、本実施の形態にかかる制御システム５０の構成図である。制御システム５０は、複数の処理装置２０とそれらと接続された制御装置３０を包含する。図１の制御システム５０は、２台の処理装置２０（処理装置２０−ａ、処理装置２０−ｂ）を包含する例を示している。
【００２２】
各処理装置２０は、解析処理を実行する実行部２２と負荷計測部２１を備えている。実行部２２と負荷計測部２１は、互いに接続されている。実行部２２は、１以上の解析処理を実行する。図１の処理装置２０−ａは、２つの解析処理（解析処理ａと解析処理ｂ）を実行している例を示す。図１の処理装置２０−ｂは、１つの解析処理（解析処理ｃ）を実行している例を示す。
【００２３】
解析処理は、例えば、監視カメラの映像データを受信し、当該画像から立ち入り禁止エリアに入っている人物を検出する処理である。解析処理は、集音マイクの音声データを受信し、特定の特徴を有する音声を検出する処理であっても良い。
【００２４】
各解析処理は、関連付けられたデータ配信装置１０からデータを受信し、当該データの解析を行い、結果を出力する。各解析処理は、解析結果を処理装置２０が備える画面やファイルに出力してもよく、あるいは、図示しない他の表示装置に転送し出力してもよい。
【００２５】
図１の例において、解析処理ａは、データ配信装置１０−ａからデータを受信し、当該データの解析を行っている。解析処理ｂは、データ配信装置１０−ｂからデータを受信し、当該データの解析を行っている。解析処理ａは、データ配信装置１０−ｃからデータを受信し、当該データの解析を行っている。
【００２６】
負荷計測部２１は、実行部２２で実行中の解析処理の負荷を計測し、結果を制御装置３０に送信する。
【００２７】
制御装置３０は、制御システム５０内の各処理装置２０の負荷計測部２１から各解析処理の負荷情報を受け取る。制御装置３０は、当該負荷情報に基づいて、解析処理の精度維持・向上の観点から何れかの処理装置２０で実行中の解析処理を他の処理装置２０に切替えて実行すべきと判断すれば、その切替を実行する。
【００２８】
ここで、解析処理の精度は、解析処理結果の正しさを示す指標である。例えば、人が禁止エリアに侵入したことを映像から認識する場合、実際に人物が禁止エリアに侵入している映像に対して、解析処理結果がアラートを示しているケースでは、精度が高いといえる。逆に、人物が禁止エリアに侵入しているのに解析処理結果がアラートを示さないケースや、人物が禁止エリアに侵入していないのに解析処理結果がアラートを示すケースでは、精度が低いといえる。
【００２９】
さらに例えば、精度は、顔照合における照合結果の正しさを示す。人物顔画像を入力として、照合システムが特定した人物が、実際の人物と合致する率が高ければ精度が高く、低ければ精度が低い。
【００３０】
処理装置２０の能力に対し、解析処理の負荷が高い場合、解析結果の精度が低下する場合が有る。例えば、映像ストリームの解析処理は、一般的に、連続フレームをバッファリングしてフレーム毎に解析を行う。処理負荷が高い状況が続きバッファリングするフレーム数が上限値を超えると、バッファ内のフレームを間引く処理が行われることがある。そのため、解析処理を正しく行うのに十分なデータが得られず、解析結果の精度が低下する現象が発生することがある。
【００３１】
制御装置３０は、上述した解析結果の精度低下を防止あるいは解消するために、解析処理を実行する処理装置２０を別の処理装置２０に切替る必要性を判断し、必要な場合は切替を実行する。
【００３２】
制御装置３０は、切替実行部３１、切替決定部３２、切替時精度予測情報記憶部３３、負荷毎精度予測情報記憶部３４、および、資源情報記憶部３５を備えている。
【００３３】
切替実行部３１、及び切替決定部３２は、互いに接続され、さらに、それぞれ、処理装置２０の実行部２２、及び負荷計測部２１と接続されている。切替決定部３２は、切替時精度予測情報記憶部３３、負荷毎精度予測情報記憶部３４、および、資源情報記憶部３５とも接続されている。
【００３４】
切替決定部３２は、各処理装置２０から得た負荷情報に基づいて、切替の対象となる解析処理と切替先の処理装置２０との組み合わせを表す切替パターンを決定する。切替実行部３１は、切替決定部３２が決定した切替を実行する。
【００３５】
ここで、図１および図２を用いて、切替の動作について説明する。図１において、解析処理ｂを対象として、処理装置２０−ａから処理装置２０−ｂへの切替を行う場合、切替実行部３１は、処理装置２０−ａの実行部２２に解析処理ｂの停止を指示する。処理装置２０−ａの実行部２２は、解析処理ｂの実行を停止し、同装置内の負荷計測部２１に解析処理ｂの計測停止を指示する。
【００３６】
次に、切替実行部３１は、解析処理ｂの継続に必要なデータを処理装置２０−ａから処理装置２０−ｂへと移動する。切替実行部３１は、例えば、処理装置２０−ａの実行部２２から、必要なデータを受信し、処理装置２０-ｂの実行部２２に転送する。ここで、当解析処理の継続に必要なデータは、例えば、関連付けられているデータ配信装置１０の識別子等の設定情報、その他の処理経過情報である。当解析処理の継続に必要なデータは、解析処理ｂに必要なプログラム、スクリプト等を含んでいても良い。
【００３７】
最後に、切替実行部３１は、処理装置２０-ｂの実行部２２に、解析処理ｂの開始を指示する。処理装置２０−ｂの実行部２２は、解析処理ｂの実行を開始し、同装置内の負荷計測部２１に解析処理ｂの計測開始を指示する。
【００３８】
なお、解析処理ｂの実行に必要な情報等が、予め処理装置２０−ａおよび処理装置２０−ｂの両方に配置されて、実行可能な状態にセットアップされていても良い。その場合、切替実行部３１は、解析処理ｂの継続に必要なデータ移動の動作を省略する。
【００３９】
図２は、解析処理ｂが処理装置２０−ａから処理装置２０−ｂへと切り替えられた後の制御システム５０の様子を示す。なお、他の解析処理の切替も同様に行われる。
【００４０】
切替決定部３２は、各処理装置２０から得た負荷情報に基づいて切替パターンを決定する過程で、各解析処理の精度予測を行う。ここで、精度予測について説明する。図３は、解析処理の切替に関連する期間と、各期間の精度予測を説明する図である。切替決定部３２は、何れかの解析処理の切替を行うか否かの判断に当たり、パラメータで与えられた一定の長さの予測期間について各解析処理の精度予測を行う。切替決定部３２は、解析処理切替を行った場合（図３のｂ））と行わなかった場合（図３のａ））の２つの場合の精度予測を行う。
【００４１】
解析処理を切替える場合について（図３のｂ））、切替決定部３２は、予測期間を切替期間と切替後予測期間に２に分けて精度予測を行う。切替期間は、元の処理装置２０で解析処理を停止し、別の処理装置２０にて再開し、解析処理が背景の学習などの事前処理を終えて定常状態で解析結果を出力するまでの期間を表す。切替時精度予測は、この期間の精度予測値である。
【００４２】
切替後予測期間は、切替期間が過ぎ、処理装置２０を切替えられた解析処理が、学習処理等を終えた後、定常状態で解析結果を出力する期間である。切替後精度予測は、この期間の精度予測値である。
【００４３】
解析処理は、処理装置２０の切替を行われた場合、それまで保持していた背景学習データ等の一時データを破棄し、別処理装置２０にて再び背景の学習などの事前処理を行う場合がある。そのため、学習が完了し、定常状態で解析結果を出力するまでの期間、即ち切替期間の間は解析精度が低下する。したがって、切替時精度予測は、切替後精度予測より低いことが多い。解析処理の切替に伴う、この一時的な精度低下を予測に反映するため、切替決定部３２は、予測期間を切替期間と切替後予測期間に２に分けて精度予測を行う。
【００４４】
一方、解析処理切替を行わなかった場合について（図３のａ））、切替決定部３２は、予測期間全体について一様な精度予測を行う。切替前精度予測は、この場合の精度予測値である。
【００４５】
切替時精度予測情報記憶部３３は、各解析処理について、切替時精度予測情報を記憶する。切替時精度予測情報は、切替時精度予測、および切替期間を示すデータを包含する。図４は、切替時精度予測情報記憶部３３が記憶する切替時精度予測情報の例を示す。図４の例は、切替を行った場合の精度の予測を、精度の最大値を１．０としたときの相対値として表している。例えば、映像データ中の人物が異常行動をとった場合に、解析処理がその異常行動を検知してアラートの発報を行うとする。切替によって、切替期間における正しいアラート発報回数が２分の１に低下する場合、図４の例は、切替時精度予測を０．５として示している。
【００４６】
なお、切替時精度予測情報は、図４に示す例に限らず、他の関数や表形式を用いて表現されていてもよい。また、それらの関数の係数や表形式の値は、切替を実行して計測された精度の値から算出した値であってもよく、あるいは、理論値などから算出した値であってもよい。
【００４７】
負荷毎精度予測情報記憶部３４は、各解析処理について、負荷毎精度予測情報を記憶する。負荷毎精度予測情報は、解析処理毎に、予測時点の負荷に応じた精度の予測を表したものである。
【００４８】
図５は、負荷毎精度予測情報記憶部３４が記憶する負荷毎精度予測情報の例を示す。図６は、図５の例における解析処理ａについての負荷毎精度予測情報をグラフ表示した図である。
【００４９】
ここで、図５および図６の例では、負荷率Ｌは、処理装置２０の処理資源に対する解析処理の負荷の合計である。例えば、処理装置２０のプロセッサが４つであるのに対し、プロセッサ６つ分の負荷が合計で発生した場合、負荷率Ｌは６／４＝１．５となる。
【００５０】
一般に、負荷率Ｌが１．０未満の場合、処理装置２０の処理資源には余力があり、解析の精度の低下は起こらない。負荷率Ｌが１．０以上の場合、処理装置２０は過負荷状態であり、負荷率Ｌの増加に応じて解析処理の精度が低下する。図５および図６の負荷毎精度予測情報の例は、負荷率Ｌが１．０未満の場合の精度を１．０とし、負荷率Ｌが１．０以上の場合に負荷率Ｌの増加に応じて精度が０．０になるまで線形に減少する関数となっている。ここで、この例では、精度予測値は、予測期間の長さに左右されず一定である。
【００５１】
なお、負荷毎精度予測情報は、図５および図６に示す例に限らず、例えば、予測期間の長さに応じて変動する関数など、他の関数や表形式を用いて表現されてもよい。また、それらの関数の係数や表形式の値は、解析を実行して計測された負荷の値から算出された値であってもよく、あるいは、理論値などから算出された値であってもよい。
【００５２】
処理装置資源情報記憶部３５は、各処理装置２０の処理資源を記憶する。図７は、処理装置資源情報記憶部３５が記憶する処理資源情報の例を示す。
【００５３】
ここで、図７の例では、処理装置２０の処理資源は、単位時間に処理装置２０全体で処理を実行できる時間（秒）として表現される。例えば、処理装置２０のプロセッサ数が４つの場合、１秒間に処理装置全体で処理を実行できる時間は４秒となる。また、処理装置２０のプロセッサ数が１つで、当該プロセッサの処理性能が基準となるプロセッサの２分の１である場合、１秒間に処理装置２０全体で処理を実行できる時間は０．５秒となる。
【００５４】
これらの値は、実行して計測された負荷の値から算出された値であってもよく、あるいは、理論値などから算出された値であってもよい。
【００５５】
[動作] 
図８は、制御装置３０の動作を示すフローチャートである。まず、切替決定部３２が、各処理装置２０の負荷計測部２１から各解析処理の負荷を取得する（ステップＳ１）。切替決定部３２は、負荷に基づいて、切替の対象となる解析処理と切替先の処理装置２０との組み合わせを表す切替パターンを決定し、切替実行部３１に送信する（ステップＳ２）。切替実行部３１は、送信された切替パターンに基づき、切替対象となる解析処理の処理装置２０の切替を行う（ステップＳ３）。制御装置３０は、ステップＳ１、Ｓ２、Ｓ３を所定の間隔で繰り返し実行する。
【００５６】
図９は、切替決定部３２が、切替の対象となる解析処理と切替先の処理装置との組み合わせを表す切替パターンを決定する動作（ステップＳ２）を詳細に示すフローチャートである。切替決定部３２は、解析処理の負荷の情報に基づいて、切替前精度スコアを算出する（ステップＳ１１）。切替前精度スコアは、切替を行わない場合（図３のａ））において、予測期間における解析の精度の度合いを数値化したものである。
【００５７】
なお、本スコアおよび今後説明されるスコアは、精度が上がると大きくなる値である。各スコアは、精度が上がると小さくなるものであっても良い。切替決定部３２は、切替前精度スコアを、例えば、以下のように算出する。
【００５８】
まず、切替決定部３２は、処理装置資源情報記憶部３５を参照し、各解析処理の負荷と各処理装置２０の処理資源の値とから、各処理装置２０の切替を行う前の負荷率Ｌである切替前負荷率Ｌを算出する。次に、切替決定部３２は、負荷毎精度予測情報記憶部３４を参照し、各解析処理について、切替前負荷率Ｌに応じて、切替を行わない場合の予測期間における精度の予測値である切替前精度予測値を算出する。切替決定部３２は、各解析処理の切替前精度予測値のうち、最小のものを切替前精度スコアとする。
【００５９】
切替決定部３２は、次に、切替パターン毎に、切替精度スコアを算出する（ステップＳ１２）。ここで、切替精度スコアは、予測期間において、切替時および切替後の解析処理の精度の度合いを数値化したものである。切替パターンの切替精度スコアは、各解析処理について算出する解析処理毎切替精度スコア中の最小値である。ここで、解析処理毎切替精度スコアは、解析処理毎に算出する切替時精度予測値および切替後精度予測値の時間平均値である。
【００６０】
ここで、切替決定部３２は、切替の対象でない解析処理の切替時精度予測を取りうる最大値（図４の例では１．０）とする。そうする理由は、切替の対象でない解析処理は、切替に伴う精度劣化が無いからである。また、切替決定部３２は、切替の対象となる解析処理については、前述したように切替時精度予測情報記憶部３３の値を用いる。
【００６１】
切替決定部３２は、切替後精度予測を以下のように算出する。まず、切替決定部３２は、処理装置資源情報記憶部３５を参照し、各解析処理の負荷と各処理装置２０の処理資源の値とから、切替を行った後の各処理装置２０の負荷率Ｌである切替後負荷率Ｌを算出する。このとき、切替決定部３２は、切替パターンに従った切替後の各処理の各処理装置２０上の配置に基づいて切替後負荷率Ｌを算出する。さらに、切替決定部３２は、負荷毎精度予測情報記憶部３４を参照し、各解析処理について、切替後に実行される処理装置２０の切替後負荷率Ｌに応じた切替後精度予測を算出する。
【００６２】
次いで、切替決定部３２は、切替時精度予測情報記憶部３３を参照し、切替期間の長さを取得する。次に、切替決定部３２は、予測期間の長さから切替期間の長さを減算し、切替後予測期間の長さを算出し、切替時精度予測値および切替後精度予測値の時間平均値である解析処理毎切替精度スコアを算出する。
【００６３】
なお、切替決定部３２は、切替の対象でない解析処理については、切替後精度予測値を解析処理毎切替精度スコアとしても良い。すなわち、切替の対象でない解析処理については、予測期間と切替後予測期間が一致することを前提としても良い。
【００６４】
最後に、切替決定部３２は、切替前精度スコアおよび切替精度スコアに基づいて、最適な切替パターンを選択する（ステップＳ１３）。切替決定部３２は、切替パターンを以下のように選択する。まず、切替決定部３２は、切替パターンのうち、切替精度スコアが最大のものを選択する。切替精度スコアが切替前精度スコアより大きい場合、切替決定部３２は、選択した切替パターンによる切替実施を決定する。切替精度スコアが切替前精度スコア以下の場合、切替決定部３２は、切替を行わない旨の決定をする。
【００６５】
[効果]
実行する処理装置２０を切替えるときに、一時的に処理精度の低下を発生する解析処理が存在する。例えば、切替後に入力データから学習をし直すような解析処理が有る。本実施の形態にかかる制御装置３０は、そのような解析処理の処理装置２０の切替を効率的に実行できる。すなわち、制御装置３０は、処理装置２０の切替によって負荷を制御する場合において、精度の低下を抑制しながら、複数の処理装置２０で複数の解析処理を実行させることを可能にする。
【００６６】
その理由は、切替決定部３２が、切替による精度の変化を表す切替時精度予測情報に基づいて切替パターンを決定するからである。
【００６７】
このような制御装置３０は、解析処理がステートフルであって１つの解析処理を複数の処理装置２０に部分散させて実行できない場合、特に有効である。また、解析処理は、解析処理に限定されない。本実施の形態の制御システム５０は、実行する処理装置２０を切替えるときに、一時的に処理精度の低下を発生する解析処理全般を対象とする。
【００６８】
[第２の実施の形態]
[構成]
図１０は、本実施の形態にかかる制御システム５０の構成図である。本実施の形態にかかる処理装置２０は、解析処理に加えて環境解析処理も実行している点で、第１の実施形態と異なる。図１０の処理装置２０−ａは、解析処理ａと環境解析処理ａ、並びに、解析処理ｂと環境解析処理ｂを実行している例を示す。図１０の処理装置２０−ｂは、解析処理ｃと環境解析処理ｃを実行している例を示す。
【００６９】
解析処理と環境解析処理は切替単位となるペアを構成し、環境解析処理は、ペアになる解析処理に関連付けられているデータ配信装置１０からデータを受信し、環境解析を実行し、解析結果である環境条件Ｅを切替決定部３２に出力する。ここで、環境条件Ｅとは、例えば映像データの照明条件や映像データ中の人物数など、解析処理の精度に影響を与える特徴量である。
【００７０】
また、本実施の形態にかかる制御装置３０は、切替時精度予測情報記憶部３３に代わり、環境毎切替時精度予測情報記憶部３６を備える点で、第１の実施の形態と異なる。
【００７１】
その他の構成要素については、第１の実施の形態と同様である。第１の実施の形態と同様の構成要素については、図１と同一の符号を付し、詳細な説明を省略する。
【００７２】
切替決定部３２は、環境解析処理から環境条件Ｅを取得し、環境条件Ｅに応じて切替時精度予測値を算出した上で、切替の対象となる解析処理と切替先の処理装置との組み合わせを表す切替パターンを決定する。
【００７３】
環境毎切替時精度予測情報記憶部３６は、各解析処理について、環境切替時精度予測情報を記憶する。環境切替時精度予測情報は、環境条件Ｅに依存した切替時精度予測、および切替期間を示すデータを包含する。図１１は、環境毎切替時精度予測情報記憶部３６が記憶する環境切替時精度予測情報の例を示す。
【００７４】
図１１の例の切替時間予測は、切替を行った場合の精度の予測を、精度の最大値を１．０としたときの相対値として、環境条件Ｅをパラメータとした関数を用いて表している。例えば、映像データ中の人物が異常行動をとった場合に、解析処理がその異常行動を検知してアラートの発報を行うとする。人物数が０の場合、異常行動は検知されず、切替によって正しいアラートの発報率は変化しない。映像データ中の人物数が増加すると、異常行動とる人物の数が確率的に増加し、切替によって正しいアラートの発報率は低下することになる。即ち、図１１の表の切替時精度予測欄に例示するように、切替時精度予測情報は、映像データ中の人数という環境条件Ｅの増加に応じて、精度が低下する関数として表すことができる。
【００７５】
なお、環境切替時精度予測情報は、図１１に示す例に限らず、他の関数や表形式を用いて表現されてもよい。またそれらの関数の係数や表形式の値は、切替を実行して計測された精度の値から算出した値であってもよく、あるいは、理論値などから算出した値であってもよい。
【００７６】
また、環境条件Ｅは映像データ中の人物数に限られない。環境条件Ｅは、例えば、映像データ中の人物の動きの激しさであっても良い。動きがほとんどない場合、映像データ中の人物がほぼ静止しているため、その後の一定期間に禁止エリアへ人物が侵入する確率は低い。逆に、動きが激しい場合、映像データ中の人物の移動が起こっていて、その後の一定期間に、禁止エリアへ人物が侵入する確率は相対的に高くなる。前者のケースでは、切替を行っても正しいアラートの発報率はあまり低下しない。後者のケースでは、切替を行うと正しいアラートの発報率が低下する可能性が高い。従って、切替時精度予測は、映像フレーム間の動きの激しさの度合いに応じて精度が低下する関数として表すことができる。
【００７７】
[動作] 
図１２は、本実施の形態にかかる制御装置３０の動作を示すフローチャートである。また、第１の実施の形態の説明でも使用した図９は、切替決定部３２が、切替の対象となる解析処理と切替先の処理装置との組み合わせを表す切替パターンを決定する動作（ステップＳ２）を詳細に示すフローチャートである。以下の説明において、第１の実施の形態と同様の動作については詳細を省略する。
【００７８】
第２の実施の形態にかかる制御装置３０の動作は、以下の点で第１の実施の形態と異なる。相違点の一つ目は、切替決定部３２が、各環境解析処理から環境条件Ｅを取得する（ステップＳ４）点である。また、相違点の二つ目は、切替決定部３２が、環境条件Ｅに応じて切替時精度予測値を算出した上で、切替パターン毎に切替精度スコアを算出する（ステップＳ１２）点である。相違点の三つ目は、切替実行部３１が、解析処理と共に環境解析処理も切り替える（ステップＳ３）点である。
【００７９】
切替決定部３２は、環境条件Ｅに応じて、切替パターン毎に、切替精度スコアを以下のように算出する。まず、切替決定部３２は、各環境解析処理から取得した環境条件Ｅの値を元に、環境毎切替時精度予測情報記憶部３６を参照し、各解析処理の切替時精度予測値を計算する。その後、切替決定部３２は、第１の実施の形態における動作と同様にして、切替パターン毎に切替精度スコアを算出する。
【００８０】
切替実行部３１は、切替パターンに基づき、切替対象となる解析処理、および当該解析処理とペアを構成する環境解析処理の処理装置２０の切替を行う。例えば、解析処理ｂを対象として処理装置２０−ａから処理装置２０-ｂへの切替を行う場合、切替決定部３２は、環境解析処理ｂについても、処理装置２０−ａから処理装置２０−ｂへの切替を行う。
【００８１】
[効果]
第２の実施の形態にかかる制御装置３０は、解析処理を実行する処理装置２０の切替を行う場合の精度の変化が解析対象のデータの内容によって異なる場合でも、精度の低下を抑制しながら切替を効率的に実行できる。
【００８２】
その理由は、切替決定部３２が、環境解析処理が出力するデータの内容に応じた環境条件Ｅを元に切替時精度予測値を計算し、切替精度スコアの算出に利用するからである。
【００８３】
[第３の実施の形態] 
[構成]
図１３は、本実施の形態にかかる制御装置３０の構成図である。本実施の形態にかかる制御装置３０は、精度要求情報記憶部３７を備える点で、第一の実施形態と異なる。その他の構成要素については、第１の実施の形態と同様である。第１の実施の形態と同様の構成要素については、図１と同一の符号を付し、詳細な説明を省略する。
【００８４】
精度要求情報記憶部３７は、各解析処理に対するユーザの精度要求を記憶する。図１４は、精度要求情報記憶部３７が記憶するユーザの精度要求の例を示す。
【００８５】
図１４の例は、精度要求を、最大値を１．０とした時の相対値として表している。例えば、映像データ中の人物が異常行動をとった場合に、解析処理がその異常行動を検知してアラートの発報を行うとする。可能な限り全てのアラートが発報されることをユーザが望む場合、この例において、ユーザは精度要求を１．０に設定する。５分の４の確率でアラートが発報されればよい場合、この例において、ユーザは、精度要求を０．８に設定する。なお、精度要求情報は、図１６に示す例に限らず、他の値や形式を用いて記憶してもよい。
【００８６】
[動作] 
本実施の形態にかかる制御装置３０の動作を、第１の実施の形態の説明で用いた図８および図９のフローチャートを用いて説明する。本実施の形態にかかる制御装置３０の動作は、以下の点で第１の実施の形態の動作と異なる。第１の実施の形態と同様の動作については、詳細な説明を省略する。
【００８７】
相違点は、切替決定部３２が、精度要求を考慮して、切替前精度スコアを算出し（ステップＳ１１）、切替精度スコアを算出する（ステップＳ１２）点である。
【００８８】
切替決定部３２は、切替前精度スコアを以下のように算出する（ステップＳ１１）。まず、切替決定部３２は、処理装置資源情報記憶部３５を参照し、各解析処理の負荷と各処理装置２０の処理資源の値とから、各処理装置２０の切替を行う前の負荷率Ｌを表す切替前負荷率Ｌを算出する。
【００８９】
次に、切替決定部３２は、負荷毎精度予測情報記憶部３４を参照し、各解析処理について、切替前負荷率Ｌに応じて、切替を行う前の精度の予測値を表す切替前精度予測値を算出する。次に、切替決定部３２は、精度要求情報記憶部３７を参照し、各解析処理について、切替を行う前の精度要求を満たす度合いを表す切替前精度要求充足率を以下の式を用いて算出する。
【００９０】
切替前精度要求充足率＝切替前精度予測値／精度要求
切替決定部３２は、各解析処理の切替前精度要求充足率のうち、最小のものを切替パターンの切替前精度スコアとする。
【００９１】
また、切替決定部３２は、切替精度スコアを以下のように算出する（ステップＳ１２）。切替決定部３２は、各解析処理について算出する解析処理毎切替精度スコアのうち、最小のものを切替パターンの切替精度スコアとする。切替決定部３２は、解析処理毎に算出する、切替時精度要求充足率および切替後精度要求充足率の時間平均を、解析処理毎切替精度スコアとする。
【００９２】
ここで、切替決定部３２は、切替時精度要求充足率を、以下のように算出する。まず、切替決定部３２は、第１の実施の形態と同様にして、各解析処理について切替時精度予測値を算出する。次に、切替決定部３２は、精度要求情報記憶部３７を参照し、各解析処理について、切替を行う時の精度要求を満たす度合いを表す切替時精度要求充足率を以下の式を用いて算出する。
【００９３】
切替時精度要求充足率＝切替時精度予測値／精度要求
また、切替決定部３２は、切替後精度要求充足率を、以下のように算出する。まず、切替決定部３２は、第１の実施の形態と同様にして、各解析処理について、切替後精度予測値を算出する。次に、切替決定部３２は、精度要求情報記憶部３７を参照し、各解析処理について、切替を行った後の精度要求を満たす度合いを表す切替後精度要求充足率を以下の式を用いて算出する。
【００９４】
切替後精度要求充足率＝切替後精度予測値／精度要求
[効果]
第３の実施の形態にかかる制御装置３０は、ユーザの精度要求をできるだけ満たすように、最適な切替パターンを選択できる。
【００９５】
その理由は、切替決定部３２が、精度要求情報記憶部３７に記憶する精度要求に基づいて切替前、切替時および切替後の精度充足率を計算し、切替前精度スコアおよび切替精度スコアの算出に利用するからである。
【００９６】
[第４の実施の形態]
図２８は、本実施の形態にかかる制御装置３０の構成図である。制御装置３０は、切替決定部３２を備える。
【００９７】
切替決定部３２は、第一の処理装置２０で実行中の複数の解析処理のひとつ（以降、切替対象解析処理）を、第二の処理装置２０に切替えて実行した場合の切替対象解析処理の精度を示す切替精度スコアを算出する。切替決定部３２は、切替処理中の精度予測値、および、切替完了後の精度予測値に基づいて当該切替精度スコアを算出し、算出された当該切替精度スコアに基づいて、切替対象解析処理の切替を実行するか否かを決定する。
【００９８】
本実施の形態においては、第一の実施の形態における切替実行部３１相当の要素は、図示されない他の装置が備えている。本実施の形態にかかる制御装置３０は、当該他の装置に決定した結果を出力する。また、本実施の形態において、切替決定部３２は、その内部に、切替処理中の精度予測値、および、切替完了後の精度予測値を設定パラメータとして記憶している。
【００９９】
実行する処理装置２０を切替えるときに、一時的に処理精度の低下を発生する解析処理が存在する。例えば、切替後に入力データから学習をし直すような解析処理がある。本実施の形態にかかる制御装置３０は、そのような解析処理の処理装置２０の切替を効率的に実行できる。すなわち、制御装置３０は、処理装置２０の切替によって負荷を制御する場合において、精度の低下を抑制しながら、複数の処理装置２０で複数の解析処理を実行させることを可能にする。
【０１００】
その理由は、切替決定部３２が、切替による精度の変化を表す切替処理中の精度予測情報に基づいて切替の実行を決定するからである。
【０１０１】
以上、これまで述べてきた各実施の形態は、本発明の実施形態の例であり、上記実施の形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１０２】
例えば、処理装置２０の負荷計測部２１、実行部２２、および、制御装置３０の切替実行部３１、切替決定部３２は、ファームウェアを含む論理回路で実現できる。制御装置３０の切替時精度予測情報記憶部３３、負荷毎精度予測情報記憶部３４、処理装置資源情報記憶部３５、環境毎切替時精度予測情報記憶部３６、および精度要求情報記憶部３７は、例えば、磁気ディスク装置で実現できる。
【０１０３】
更に、処理装置２０、または制御装置３０は、プログラム４３を備えるコンピュータ装置４０で実現することも出来る。
【０１０４】
図１５は、コンピュータ装置４０の構成図である。コンピュータ装置４０は、バス４５で相互に接続されたプロセッサ４１、主記憶部４２、補助記憶装置４４を備える。ここで、例えば、主記憶部４２は半導体メモリ、補助記憶装置４４は磁気ディスク装置である。主記憶部４２はプログラム４３を記憶している。
【０１０５】
処理装置２０を実現するプログラム４３は、プロセッサ４１で実行されることにより、プロセッサ４１を負荷計測部２１、実行部２２として機能させるとともに、プロセッサ４１に解析処理を行わせる。
【０１０６】
また、制御装置３０を実現するプログラム４３は、プロセッサ４１で実行されることにより、プロセッサ４１を切替実行部３１、切替決定部３２として機能させる。この場合、制御装置３０の切替時精度予測情報記憶部３３、負荷毎精度予測情報記憶部３４、処理装置資源情報記憶部３５、環境毎切替時精度予測情報記憶部３６、および精度要求情報記憶部３７は、補助記憶装置４４で実現できる。
【０１０７】
[第1の実施の形態の具体例]
図１６は、第1の実施の形態の制御システム５０の構成の具体例を示す図である。
【０１０８】
本具体例において、データ配信装置１０は、ネットワークに接続されたカメラ１０ｅであり、撮影した動画像データを処理装置２０に入力する。
【０１０９】
また、本具体例において、処理装置２０は、コンピュータ装置４０により実現される。実行部２２は、実行制御プログラム２２ｅであり、各解析プログラムの起動、停止、通信の仲介を行う。
【０１１０】
図１に示される解析処理ａ、解析処理ｂ、解析処理ｃは、それぞれ、図１６の解析プログラムａ、解析プログラムｂ、解析プログラムｃによって実行され、カメラ１０ｅ−ａ、カメラ１０ｅ−ｂ、カメラ１０ｅ−ｃから取得した動画像データを解析する。各解析プログラムは、顔特徴量抽出、人物追跡、群衆行動解析を行い、解析結果を制御装置３０にネットワーク通信により出力する。また、各解析プログラムは、直近の一定時間におけるフレーム毎の平均処理時間を負荷計測プログラム２１ｅにプログラム間通信により出力する。
【０１１１】
負荷計測部２１は、負荷計測プログラム２１ｅである。負荷計測プログラム２１ｅは、各解析プログラムのフレーム毎の平均処理時間を取得し、解析プログラム毎の負荷を算出する。ここで、解析プログラム毎の負荷は解析プログラム毎に必要とするプロセッサのコア数であり、負荷計測プログラム２１ｅは、負荷を以下の式で算出する。
【０１１２】
解析プログラム毎の負荷＝フレームレート×フレーム毎の処理時間
例えば、フレームレートが１０フレーム/秒、フレーム毎の処理時間が０．２秒だった場合、解析プログラムは１秒間に２プロセッサ時間を消費するため、必要コア数は２となる。
【０１１３】
負荷計測プログラム２１ｅは、制御装置３０に解析プログラム毎の負荷をネットワーク通信により出力する。
【０１１４】
なお、実行制御プログラム２２ｅ、各解析プログラム、負荷計測プログラム２１ｅは、処理装置２０を実現するコンピュータ装置４０が備えるプログラム４３の一部である。
【０１１５】
本具体例において、制御装置３０は、処理装置２０とは別のコンピュータ装置４０により実現される。
【０１１６】
切替決定部３２は、切替決定プログラム３２ｅである。切替決定プログラム３２ｅは、負荷計測プログラム２１ｅから各解析プログラムの負荷を取得し、切替の対象となる解析プログラムと切替先の処理装置２０との組み合わせを表す切替パターンを決定する。その後、切替決定プログラム３２ｅは、プログラム間通信により決定結果を切替実行プログラム３１ｅに出力する。
【０１１７】
切替実行部３１は、切替実行プログラム３１ｅであり、切替決定プログラム３２ｅからの指示を受け、処理プログラムの切替を行う。
【０１１８】
本具体例において、切替時精度予測情報記憶部３３、負荷毎精度予測情報記憶部３４、処理装置資源情報記憶部３５は、コンピュータ装置４０の補助記憶装置４４であり、各種情報をデータベース化して記憶している。
【０１１９】
なお、切替実行プログラム３１ｅ、および切替決定プログラム３２ｅは、制御装置３０を実現するコンピュータ装置４０が備えるプログラム４３の一部である。
【０１２０】
[動作]
次に、図８、図９を参照して、本具体例の制御システム５０の全体の動作について説明する。
【０１２１】
切替決定プログラム３２ｅは、負荷計測プログラム２１ｅからネットワーク通信により各解析プログラムの負荷を取得する（ステップＳ１）。切替決定プログラム３２ｅは、負荷に基づいて、切替の対象となる解析プログラムと切替先の処理装置との組み合わせを表す切替パターンを決定し、プログラム間通信により切替実行プログラム３１ｅに伝える（ステップＳ２）。切替実行プログラム３１ｅは、切替パターンに基づき、切替対象となる解析プログラムの処理装置の切替を行う（ステップＳ３）。
【０１２２】
ここで、切替の動作について詳細に説明する。まず、切替実行プログラム３１ｅは、ネットワーク通信により元の処理装置２０の実行制御プログラム２２ｅに切替対象となる解析プログラムの実行の停止を指示する。元の処理装置２０において、実行制御プログラム２１ｅは当該解析プログラムの実行を停止し、負荷計測プログラム２１ｅに停止を通知する。次に、切替実行プログラム３１ｅは、当該解析プログラムを元の処理装置２０から切替先の処理装置２０へと移動する。
【０１２３】
ここで、移動の動作について、詳細に説明する。切替実行プログラム３１ｅは、当該解析プログラムの実行に必要なプログラムや設定情報等を、元の処理装置２０から切替先の処理装置２０へと転送する。切替先の処理装置２０では、実行制御プログラム２２ｅが、当該処理装置２０で当該解析プログラムを実行可能な状態にセットアップする。
【０１２４】
なお、解析プログラムの実行に必要なプログラムや設定情報等を、予め各処理装置２０に配置し、実行可能な状態にセットアップしておいてもよく、その場合、切替実行プログラム３１ｅは、移動の動作を省略する。
【０１２５】
次に、切替実行プログラム３１ｅは、切替先の処理装置２０の実行制御プログラム２２ｅに解析プログラムの実行を指示する。切替先の処理装置では、実行制御プログラム２２ｅが、解析プログラムの実行を開始し、開始を負荷計測プログラム２１ｅに通知する。制御装置３０は、ステップＳ１、Ｓ２、Ｓ３を所定の間隔で繰り返し実行する。
【０１２６】
図９は、切替決定プログラム３２ｅが、切替の対象となる解析プログラムと切替先の処理装置２０との組み合わせを表す切替パターンを決定する動作（ステップＳ２）を詳細に示すフローチャートである。
【０１２７】
また、図１７、図１８、図１９は、本具体例における切替時精度予測情報、負荷毎精度予測情報、処理装置資源情報の値を例示したものである。図２０は、負荷計測プログラム２１ｅが出力する各解析プログラムの負荷を例示した表である。図２１は、図１７乃至図２０に例示した値に基づいて、切替前精度予測値、切替前精度スコアの具体的な計算値を示した表である。図２２は、図１９乃至図２０に例示した値に基づいて、切替パターン毎に、切替時精度予測値、切替後精度予測値、切替精度スコアの具体的な計算値を示した表である。ここで、切替決定プログラム３２ｅが切替パターンを決定する動作を、具体的な数値を用いて説明する。
【０１２８】
切替決定プログラム３２ｅは、解析の負荷の情報に基づいて、切替前精度スコアを算出する（ステップＳ１１）。ここで、切替前精度スコアは、切替を行わない場合において、予測期間における解析処理の精度の度合いを数値化したものである。
【０１２９】
切替前精度スコアの算出について、具体的に説明する。ここで、切替を行う前の構成を図１６が示す通りとする。図１６を参照すると、切替を行う前は、解析プログラムａと解析プログラムｂが処理装置２０−ａで実行される。図１９が示すように、処理装置２０−ａの処理資源は４であり、また図２０が示すように、解析プログラムａと解析プログラムｂの負荷は各々２．５であるため、処理装置２０−ａの負荷率Ｌは、以下の通り１．２５となる。
【０１３０】
（２．５＋２．５）／４＝１．２５
同様にして、処理装置２０−ｂの負荷率Ｌは０．５００となる。図１８の負荷毎精度予測情報の値より、解析プログラムａの切替前精度予測値は、以下の通り０．３７５となる。
【０１３１】
１−０．５×１．２５＝０．３７５
同様にして、解析プログラムｂ、解析プログラムｃの切替前精度予測値は、０．８７５、１．００となる。切替前精度スコアは、各解析処理プログラムの切替前精度予測値のうち最小である０．３７５となる。
【０１３２】
切替決定プログラム３２ｅは、次に、切替パターン毎に、切替精度スコアを算出する（ステップＳ１２）。ここで、切替精度スコアは、予測期間において、切替時および切替後の解析の精度の度合いを数値化したものである。
【０１３３】
切替精度スコアの算出について、具体的に説明する。ここで、図２２において、切替パターンＰ１は、図１６が示す構成から、解析プログラムａを処理装置２０−ｂに切り替える切替パターンを示す。切替パターンＰ２は、図１６が示す構成から、解析処理プログラムｂを処理装置２０−ｂに切り替える切替パターンを示す。切替パターンＰ３は、図１６が示す構成から、解析プログラムｃを処理装置２０−ａに切り替える切替パターンを示す。
【０１３４】
切替パターンＰ１において、解析プログラムａは切替対象であり、その切替時精度予測値は、図１７の切替時精度予測情報より、図２２が示すように０．８００となる。解析プログラムｂおよび解析プログラムｃは切替対象ではなく、その切替時精度予測値は各々１．００となる。
【０１３５】
また、切替パターンＰ１において、切替を行った後、解析プログラムｂを処理装置２０−ａが、解析プログラムａ、解析プログラムｃを処理装置２０-ｂが実行する。処理装置２０−ａの切替後負荷率Ｌは、図１９の処理装置資源情報および図２０の負荷の値を参照すると、以下の通り、０．６２５となる。
【０１３６】
２．５／４＝０．６２５
同様にして、処理装置２０-ｂの切替後負荷率Ｌは１．１３となる。
【０１３７】
図１８の負荷毎精度予測情報より、解析プログラムａの切替後精度予測値は、以下の通り、０．４３８となる。
【０１３８】
１−０．５×１．１３＝０．４３８
同様にして、解析プログラムｂ、解析プログラムｂの切替後精度予測値は、１．００、０．７１９となる。
【０１３９】
解析プログラムａの解析処理毎切替精度スコアは、予測期間を２０秒とすると、図１７より切替期間が１０秒であるため、切替後予測期間は１０秒となり、時間平均をとると、以下のように０．６１８となる。
【０１４０】
０．８００×（１０／２０）＋０．４３８×（１０／２０）＝０．６１８
同様にして、解析プログラムｂ、解析プログラムｃの解析処理毎切替精度スコアは１．００、０．８５９となる。
【０１４１】
従って、切替パターンＰ１において、切替精度スコアは、解析処理毎切替精度スコアのうち最小である０．６１８となる。同様にして、切替パターンＰ２、Ｐ３の切替精度スコアは図２２に示すように０．５４３、０．５００と算出される。
【０１４２】
次に、切替決定プログラム３２ｅは、切替前精度スコアおよび切替精度スコアに基づいて、最適な切替パターンを選択する（ステップＳ１３）。
【０１４３】
切替パターンを決定する動作について、図２１、２２を用いて具体的に説明する。図２２を参照すると、切替精度スコアが最大となる切替パターンはＰ１であり、その切替精度スコアは０．６１８である。図２１を参照すると、切替前精度スコアは０．３７５であり、切替精度スコアは切替前精度スコアより大きい。従って、切替決定プログラム３２ｅは、切替パターンＰ１を最適な切替パターンとして決定し、切替を切替実行プログラム３１ｅに指示する。
【０１４４】
図２２を参照すると、切替後負荷率Ｌから、切替後の負荷の偏りの度合いは、切替パターンＰ１およびＰ２が同様に低く、切替パターンＰ３が高い。即ち、切替パターンＰ１およびＰ２において、切替後の負荷が平準化される。切替時精度予測値から、切替時の精度の劣化が最も小さいのは切替パターンＰ１である。即ち、本具体例では、切替決定プログラム３２ｅは、精度の低下を抑制しながら複数の処理装置２０で複数の解析プログラムを効率的に実行する、切替パターンＰ１を選択することができた。
【０１４５】
[第２の実施の形態の具体例]
図２３は、第２の実施の形態の制御システム５０の構成の具体例を示す図である。本具体例の制御システム５０は、処理装置２０が環境解析プログラム備える点で、第１の実施の形態の具体例と異なる。図１０に示される環境解析処理ａ、環境解析処理ｂ、環境解析処理ｃは、それぞれ、本図の環境解析プログラムａ、環境解析プログラムｂ、環境解析プログラムｃによって実行される。また、環境解析プログラムａ、環境解析プログラムｂ、環境解析プログラムｃは、それぞれ、解析プログラムａ、解析プログラムｂ、解析プログラムｃとペアを構成する。
【０１４６】
また、本具体例における制御装置３０は、環境毎切替時精度予測情報記憶部３６を備える点でも、第１の実施の形態の具体例と異なる。本具体例において、環境毎切替時精度予測情報記憶部３６は、コンピュータ装置４０の補助記憶装置４４であり、情報をデータベース化して記憶している。その他の構成要素については、第１の実施の形態の具体例と同様である。第１の実施の形態の具体例と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
【０１４７】
処理装置２０−ａは、環境解析プログラムａ、環境解析プログラムｂを備える。処理装置２０−ｂは、環境解析プログラムｃを備える。環境解析プログラムａ、環境解析プログラムｂ、環境解析プログラムｃは、それぞれカメラ１０−ａ、カメラ１０−ｂ、カメラ１０−ｃからネットワーク通信により動画像データを取得する。そして、各環境解析プログラムは、環境条件として映像データ中の人物数Ｅを解析し、切替決定プログラム３２ｅに解析結果をネットワーク通信により出力する。
【０１４８】
切替決定プログラム３２ｅは、各環境解析プログラムから人物数Ｅを取得し、人物数Ｅに応じて切替時精度予測値を算出した上で、切替の対象となる解析プログラムと切替先の処理装置との組み合わせを表す切替パターンを決定する。
【０１４９】
図２４は、環境毎切替時精度予測情報記憶部３６が記憶する環境毎切替時精度予測情報を示す。この環境毎切替時精度予測情報は、切替を行った場合の精度の予測を、精度の最大値を１．０としたときの相対値として、映像データ中の人物数Ｅに応じた関数を用いて表している。例えば、動画像データ中の人物が異常行動をとった場合に、解析処理がその異常行動を検知してアラートの発報を行うとする。人物数Ｅが０の場合、異常行動は検知されず、切替によって正しいアラートの発報率は変化しない。動画像データ中の人物数Ｅが増加すると、異常行動とる人物の数が確率的に増加し、切替によって正しいアラートの発報率は低下することになる。即ち、図２４の表の切替時精度予測欄に例示するように、切替時精度予測情報は、映像データ中の人物数Ｅという環境条件の増加に応じて、精度が低下する関数として表すことができる。
【０１５０】
[動作] 
次に、図１２のフローチャートを参照して、本具体例の制御システム５０の全体の動作について説明する。第１の実施の形態の具体例と同様の動作については、詳細な説明を省略する。
【０１５１】
本具体例の動作は、以下の点で第１の実施の形態の具体例の動作と異なる。相違点の一つ目は、切替決定プログラム３２ｅが、各環境解析プログラムから環境条件を取得する（ステップＳ４）点である。また、相違点の二つ目は、切替決定プログラム３２ｅが、環境条件に応じて切替時精度予測値を算出した上で、切替パターン毎に切替精度スコアを算出する（ステップＳ１２）点である。相違点の三つ目は、切替実行プログラム３１ｅが、対象となる解析プログラムに加えて、対象となる解析プログラムとペアになる環境解析プログラムの切替を行う（ステップＳ３）点である。
【０１５２】
切替決定プログラム３２ｅは、環境条件に応じて、切替パターン毎に、切替精度スコアを以下のように算出する。まず、切替決定プログラム３２ｅは、各環境解析プログラムから取得した環境条件である人物数Ｅの値を元に、環境毎切替時精度予測情報を参照し、各解析プログラムの切替時精度予測値を計算する。ここで、各環境解析プログラムが解析して得られた人物数Ｅはそれぞれ１人であったとすると、解析プログラムａの切替時精度予測値は、以下の通り、０．８となる。
【０１５３】
１．０−０．２×１＝０．８
同様に、解析プログラムｂ、解析プログラムｃの切替時精度予測値は、０．２、０．５となる。
【０１５４】
次に、切替決定プログラム３２ｅは、第１の実施形態の具体例における動作と同様にして、切替パターンごとに切替精度スコアを算出する。切替精度スコアは、第１の実施形態の具体例と同様に計算すると、図２２の表に示す値となる。切替決定プログラム３２ｅは、第１の実施形態の具体例と同様に、切替パターンＰ１を最適な切替パターンとして決定する。
【０１５５】
切替実行プログラム３１ｅは、切替対象となる解析プログラムａ、および解析プログラムａとペアを構成する環境解析プログラムａについて、処理装置２０−ａから処理装置２０−ｂへの切替を行う（ステップＳ３）。
【０１５６】
本具体例では、切替決定プログラム３２ｅは、切替時精度予測値の値を固定値として保持せず、環境条件に応じて動的に生成し、切替パターンの選択に使用している。そのため、切替決定プログラム３２ｅは、切替を行う場合の精度が、解析対象のデータの内容によって変動する場合においても、精度の低下を抑制しながら複数の処理装置２０で複数の解析プログラムを効率的に実行する、切替パターンＰ１を選択できる。
【０１５７】
[第３の実施の形態の具体例]
本具体例の制御装置３０は、精度要求情報記憶部３７を備える点で、第１の実施の形態の具体例と異なる。本具体例において、精度要求情報記憶部３７は、コンピュータ装置４０の補助記憶装置４４であり、情報をデータベース化して記憶している。その他の構成要素については、第１の実施の形態の具体例と同様である。第１の実施の形態の具体例と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
【０１５８】
[動作]
本具体例の制御システム５０の動作は、以下の点で第１の実施の形態の具体例の動作と異なる。相違点は、切替決定プログラム３２ｅが、精度要求情報を考慮して、切替前精度スコアを算出し（図９のステップＳ１１）、切替精度スコアを算出する（ステップＳ１２）点である。
【０１５９】
切替決定プログラム３２ｅが切替パターンを決定する動作を、具体的な数値を用いて説明する。図２５は、精度要求情報が含む、解析プログラム毎の精度要求の値を示す。図２６は、図２５に示した精度要求に基づいて、切替前精度要求充足率、切替前精度スコアの具体的な計算値を示した表である。また、図２７は、切替時精度要求充足率、切替後精度要求充足率、切替精度スコアの具体的な計算値を示した表である。
【０１６０】
ステップＳ１１における、切替前精度スコアの算出について、具体的に説明する。ここで、切替を行う前の構成は図１６が示す通りとする。第１の実施の形態の具体例と同様にして、解析プログラムｂについて、切替前精度予測値は０．８７５と算出される。ここで、図２５の精度要求情報の値を参照すると、解析プログラムｂの精度要求は０．４であり、その切替前精度要求充足率は、以下の通り、２．１９となる。
【０１６１】
０．８７５／０．４＝２．１９
同様にして、解析プログラムａ、解析プログラムｃの切替前精度要求充足率はそれぞれ０．３７５、１．２５となる。この状況（図２６）で、切替前精度スコアは、切替前精度要求充足率のうちの最小値である０．３７５と算出される。
【０１６２】
図９のステップＳ１２における、切替精度スコアの算出について、具体的に説明する。ここで、図２７において、切替パターンＰ１は、図１６が示す構成から、解析プログラムａを処理装置２０−ｂに切り替える切替パターンを示す。切替パターンＰ２は、図１６が示す構成から、解析プログラムｂを処理装置２０-ｂに切り替える切替パターンを示す。切替パターンＰ３は、図１６が示す構成から、解析プログラムｃを処理装置２０−ａに切り替える切替パターンを示す。
【０１６３】
切替パターンＰ１において、第１の実施の形態の具体例と同様にして、解析プログラムｂについて、切替時精度予測値は１．００と算出される。ここで、図２５に示す精度要求情報の値を参照すると、解析プログラムｂの精度要求は０．４であり、その切替時精度要求充足率は、以下に示すように、２．５０となる。
【０１６４】
１．００／０．４＝２．５０
同様にして、解析プログラムａ、解析プログラムｃ０の切替時精度要求充足率は、それぞれ０．８００、１．２５となる。
【０１６５】
また、切替パターンＰ１において、第１の実施の形態の具体例と同様にして、解析プログラムｂについて、切替後精度予測値は１．００と算出される。ここで、図２５に示す精度要求情報の値を参照すると、解析プログラムｂの精度要求は０．４であり、その切替時精度要求充足率は、以下のように、２．５０となる。
【０１６６】
１．００／０．４＝２．５０
同様にして、解析プログラムａ、解析プログラムｃの切替後精度要求充足率は、それぞれ０．４３８、０．８９８となる。
【０１６７】
図１７より解析プログラムｂの切替期間は、１０秒である。したがって、予測期間を２０秒とすると切替後予測期間は１０秒となり、時間平均をとると、解析処理毎切替精度スコアは、以下の通り２．５０となる。
【０１６８】
２．５０×（１０／２０）＋２．５０×（１０／２０）＝２．５０
同様にして、解析プログラムａ、解析プログラムｃの解析処理毎切替精度スコアは０．６１９、１．０７となる。従って、切替パターンＰ１において、切替精度スコアは、解析処理毎切替精度スコアのうち最小値である０．６１９となる。同様にして、切替パターンＰ２、Ｐ３の切替精度スコアは図２７に示すように、１．００、０．５００と算出される。
【０１６９】
図２２と図２７とを比較すると、切替決定プログラム３２ｅは、第１の実施形態の具体例における図２２では配置パターンＰ１を選択し、本具体例における図２７では配置パターンＰ２を選択する。即ち、本具体例において、精度要求情報を用いることで、切替決定プログラム３２ｅは、ユーザの精度要求に応じて切替パターンを選択することができる。
【符号の説明】
【０１７０】
１０    データ配信装置
１０−ａ    データ配信装置
１０−ｂ    データ配信装置
１０−ｃ    データ配信装置
１０ｅ    カメラ
１０ｅ−ａ    カメラ
１０ｅ−ｂ    カメラ
１０ｅ−ｃ    カメラ
２０    処理装置
２０−ａ    処理装置
２０−ｂ    処理装置
２１    負荷計測部
２１ｅ    負荷計測プログラム
２２    実行部
２２ｅ    実行制御プログラム
３０    制御装置
３１    切替実行部
３１ｅ    切替実行プログラム
３２    切替決定部
３２ｅ    切替決定プログラム
３３    切替時精度予測情報記憶部
３４    負荷毎精度予測情報記憶部
３５    資源情報記憶部
３６    環境毎切替時精度予測情報記憶部
３７    精度要求情報記憶部
４０    コンピュータ装置
４１    プロセッサ
４２    主記憶部
４３    プログラム
４４    補助記憶装置
４５    バス
５０    制御システム
【図１】
0006569388.tif 000002
【図２】
0006569388.tif 000003
【図３】
0006569388.tif 000004
【図４】
0006569388.tif 000005
【図５】
0006569388.tif 000006
【図６】
0006569388.tif 000007
【図７】
0006569388.tif 000008
【図８】
0006569388.tif 000009
【図９】
0006569388.tif 000010
【図１０】
0006569388.tif 000011
【図１１】
0006569388.tif 000012
【図１２】
0006569388.tif 000013
【図１３】
0006569388.tif 000014
【図１４】
0006569388.tif 000015
【図１５】
0006569388.tif 000016
【図１６】
0006569388.tif 000017
【図１７】
0006569388.tif 000018
【図１８】
0006569388.tif 000019
【図１９】
0006569388.tif 000020
【図２０】
0006569388.tif 000021
【図２１】
0006569388.tif 000022
【図２２】
0006569388.tif 000023
【図２３】
0006569388.tif 000024
【図２４】
0006569388.tif 000025
【図２５】
0006569388.tif 000026
【図２６】
0006569388.tif 000027
【図２７】
0006569388.tif 000028
【図２８】
0006569388.tif 000029