(57)【要約】【課題】  映像データの処理における負荷を予測する。【解決手段】  本発明の情報処理装置は、映像データに含まれる被写体と、映像データにおける被写体の位置、大きさ、又は、向きの少なくとも一つの状態と、被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、映像データにおける被写体の分布である被写体分布を算出する被写体分布算出手段と、映像データを配信する映像配信装置に対応した被写体移動モデルと、解析を実行する解析手段の負荷と、解析手段が解析に用いる計算資源と、被写体分布とを基に、解析手段における所定の将来時点における負荷率である第１の負荷率を算出する負荷予測手段とを含む。【選択図】  図７
2018005334.tif 000002
【特許請求の範囲】
【請求項１】
映像データに含まれる被写体と、前記映像データにおける前記被写体の位置、大きさ、又は、向きの少なくとも一つ状態と、前記被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、前記映像データにおける前記被写体の分布である被写体分布を算出する被写体分布算出手段と、
前記映像データを配信する映像配信装置に対応した被写体移動モデルと、前記解析を実行する解析手段の負荷と、前記解析手段が前記解析に用いる計算資源と、前記被写体分布とを基に、前記解析手段における所定の将来時点における負荷率である第１の負荷率を算出する負荷予測手段と
を含む情報処理装置。
【請求項２】
前記負荷と、前記計算資源と、前記被写体分布とを基に、前記解析手段の現在の負荷率である第２の負荷率を算出する現在負荷算出手段
をさらに含む請求項１に記載の情報処理装置。
【請求項３】
前記第１の負荷率と、前記第２の負荷率とを基に、前記解析手段における解析対象である被写体解析タスクの移動元の前記解析手段と移動先の前記解析手段とを決定する被写体解析タスク移動決定手段と、
移動元の前記解析手段から移動先の前記解析手段に前記被写体解析タスクを移動する被写体解析タスク移動手段と
をさらに含む請求項２に記載の情報処理装置。
【請求項４】
前記被写体分布として、
前記被写体に数を用いる
請求項２又は３に記載の情報処理装置。
【請求項５】
前記負荷予測手段が、
前記被写体移動モデルとして、
前記被写体が前記映像配信装置に対して所定の方向に移動するモデル、又は、前記被写体が前記映像配信装置に対して所定の方向に回転するモデルを用いる
請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
映像データに含まれる被写体と、前記映像データにおける前記被写体の位置、大きさ、又は、向きの少なくとも一つの状態と、前記被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、前記映像データにおける前記被写体の分布である被写体分布を算出し、
前記映像データを配信する映像配信装置に対応した被写体移動モデルと、前記解析を実行する解析手段の負荷と、前記解析手段が前記解析に用いる計算資源と、前記被写体分布とを基に、前記解析手段における所定の将来時点における負荷率である第１の負荷率を算出する
情報処理方法。
【請求項７】
映像データに含まれる被写体と、前記映像データにおける前記被写体の位置、大きさ、又は、向きの少なくとも一つの状態と、前記被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、前記映像データにおける前記被写体の分布である被写体分布を算出する処理と、
前記映像データを配信する映像配信装置に対応した被写体移動モデルと、前記解析を実行する解析手段の負荷と、前記解析手段が前記解析に用いる計算資源と、前記被写体分布とを基に、前記解析手段における所定の将来時点における負荷率である第１の負荷率を算出する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、処理の負荷分散に関する。
【背景技術】
【０００２】
近年、情報処理技術の発達に伴い、画像を処理する装置が用いられている（例えば、特許文献１を参照）。このような装置を実現するため、映像データ及び画像データを解析する解析エンジンが、開発されている。例えば、映像データ又は画像データから人物の顔を検出する顔検出エンジン、顔の特徴データを抽出する顔特徴抽出エンジン、及び、顔の特徴データを照合し人物を特定する顔照合エンジンが、開発されている。ここで、画像データとは、静止画など、単独のデータである。また、映像データとは、動画など連続して配信されるデータである。
【０００３】
さらに、複数の解析エンジンを組み合わせて、映像データ又は画像データから様々な解析処理結果を取得する解析システムが、開発されている。例えば、顔検出エンジンと顔特徴抽出エンジンとを直列的に用いて、カメラが撮影した映像データから映像データ中の人物の顔の特徴データを抽出する解析システムが、開発されている。
【０００４】
しかし、画像処理の負荷は、一般的に大きく、かつ、変動する。そのため、特許文献１に記載の発明は、負荷の変動に対応できないという問題点があった。
【０００５】
そこで、解析システムの構成として、カメラなどの複数の映像配信装置に対し、複数の計算資源（例えば、プロセッサ又は解析装置）を対応させて解析処理を実行する構成、すなわち並列分散型の構成が、用いられている（例えば、特許文献２を参照）。
【０００６】
このような解析システムの要件として、所定レベル以上の解析結果の精度が望まれている。あるいは、解析システムの要件として、解析結果がリアルタイムで出力されることなど、処理時間が高速であることが、望まれている。
【０００７】
しかしながら、このような解析システムにおいても、プロセッサ又は解析装置のそれぞれに掛かる負荷は、処理の対象となるデータの内容に応じて、大きく変動する。そのため、処理に基づく負荷が、特定のプロセッサ又は特定の解析装置に処理の負荷が集中する場合がある。この場合、処理の遅延、又は、データの欠損（例えば、バッファあふれ）に基づく精度劣化が、発生する。つまり、並列分散型システムは、データの局所的な集中に基づいて、解析システム全体における処理性能の低下が生じるという問題点があった。
【０００８】
上記の問題点の対応として、負荷の高いプロセッサ又は解析装置における処理を、処理能力に余裕がある他のプロセッサ又は他の解析装置に移動することが、提案されている（例えば、特許文献３及び４を参照）。
【０００９】
特許文献３に記載の発明では、まず、負荷分散予測装置が、随時、各サーバのＣＰＵ使用率、メモリ使用量、及び通信データ量などの負荷の状況を受信する。そして、負荷分散予測装置が、過去の一定期間毎の負荷の有無の確率を基に、将来の一定期間において予備のサーバの利用が必要か否かを表す予測表を生成する。その後、負荷分散予測装置が、実際に予備のサーバを利用したかどうかに応じて予測表の正誤を判定し、判定結果を基に予測表を修正する。負荷分散予測装置は、このような動作を用いて、各サーバの負荷の状況に応じて予備のサーバが必要か否かの予測の確度を高め、負荷の超過に基づく処理性能の低下を抑制する。
【００１０】
特許文献４に記載の発明は、散乱点と呼ばれる画像データ内の特徴点の数に対して負荷が比例する解像度向上処理のように、対象物の数に負荷が比例する解析を対象としている。そして、特許文献４に記載の発明では、並列画像処理装置が、解析の対象となる画像データの部分領域を複数のプロセッサに割り当てる。そして、並列画像処理装置は、プロセッサ毎に対象物の数を計算して負荷を予測する。そして、並列画像処理装置は、予測した負荷が大きいプロセッサがある場合、そのプロセッサの処理を他のプロセッサに割り当てる。並列画像処理装置は、この動作を基に、各プロセッサにおける負荷を平準化し、負荷の超過に基づく処理性能の低下を抑制する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１４−２０６９３４号公報
【特許文献２】特開２００９−０９８７７４号公報
【特許文献３】特開２００６−２２８１１５号公報
【特許文献４】特開２００３−１５７２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献３に記載の発明は、過去の負荷の状況の統計を基に、将来の負荷を予測する。数時間以上のような比較的長い期間における負荷予測は、短期的な負荷変動の影響を受けにくい。そのため、特許文献１に記載の発明は、数時間以上のような比較的長い期間においては、予測可能である。
【００１３】
しかし、数分以内のような比較的短い期間における負荷予測は、短期的な負荷変動の影響を受け、負荷予測の外れを起こしやすい。特に、映像データの解析は、映像中の対象物の数に応じて負荷が大きく変動する。そのため、特許文献３に記載の発明は、映像データの解析において負荷を予測できないという問題点があった。
【００１４】
また、特許文献４に記載の発明は、画像データの部分領域に対して、散乱点の数を基に負荷を予測しているため、画像データの負荷の予測できる。しかし、特許文献４に記載の発明は、映像データのように複数の画像データを取り扱うことができない。このように、特許文献４に記載の発明は、連続して配信される映像データに対応した負荷を予測できないという問題点があった。
【００１５】
また、特許文献２に記載の発明は、オブジェクトの個数に応じて負荷を算出している。しかし、画像中のオブジェクトは、撮影装置に対してのその位置及び向きなどが一定ではない。そのため、各オブジェクトの処理負荷は、一定ではない。例えば、オブジェクトの数が同じ画像でも、その処理負荷は、画像毎に異なる。このように、特許文献２に記載の発明は、適切に負荷を算出できないという問題点があった。
【００１６】
本発明の目的は、上記問題点を解決し、映像データの処理における負荷を予測する情報処理装置、情報処理方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の一形態における情報処理装置は、映像データに含まれる被写体と、映像データにおける被写体の位置、大きさ、又は、向きの少なくとも一つの状態と、被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、映像データにおける被写体の分布である被写体分布を算出する被写体分布算出手段と、映像データを配信する映像配信装置に対応した被写体移動モデルと、解析を実行する解析手段の負荷と、解析手段が解析に用いる計算資源と、被写体分布とを基に、解析手段における所定の将来時点における負荷率である第１の負荷率を算出する負荷予測手段とを含む。
【００１８】
本発明の一形態における情報処理方法は、映像データに含まれる被写体と、映像データにおける被写体の位置、大きさ、又は、向きの少なくとも一つの状態と、被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、映像データにおける被写体の分布である被写体分布を算出し、映像データを配信する映像配信装置に対応した被写体移動モデルと、解析を実行する解析手段の負荷と、解析手段が解析に用いる計算資源と、被写体分布とを基に、解析手段における所定の将来時点における負荷率である第１の負荷率を算出する。
【００１９】
本発明の一形態におけるプログラムは、映像データに含まれる被写体と、映像データにおける被写体の位置、大きさ、又は、向きの少なくとも一つの状態と、被写体が所定の解析の対象であるか否かの判定結果である被写体解析対象判定とを含む被写体検出結果を基に、映像データにおける被写体の分布である被写体分布を算出する処理と、映像データを配信する映像配信装置に対応した被写体移動モデルと、解析を実行する解析手段の負荷と、解析手段が解析に用いる計算資源と、被写体分布とを基に、解析手段における所定の将来時点における負荷率である第１の負荷率を算出する処理とをコンピュータに実行させる。
【発明の効果】
【００２０】
本発明に基づけば、映像データの処理における負荷を予測するとの効果を奏することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置を含む情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、図１の上部の解析装置において２つの解析部が、動作している場合を示す図である。
【図３】図３は、図１の下部の解析装置において２つの解析部が、動作している場合を示す図である。
【図４】図４は、解析部の構成の一例を示すブロック図である。
【図５】図５は、第１の実施形態に係る被写体検出結果の一例を示す図である。
【図６】図６は、被写体解析タスクの一例を示す図である。
【図７】図７は、第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図８】図８は、第１の実施形態に係る被写体分布算出部が算出する被写体分布の一例を示す図である。
【図９】図９は、第１の実施形態に係る解析負荷記憶部が記憶する解析部の負荷の一例を示す図である。
【図１０】図１０は、第１の実施形態に係る解析計算資源記憶部が記憶する計算資源の一例を示す図である。
【図１１】図１１は、第１の実施形態に係る被写体移動モデル記憶部が記憶する被写体移動モデルの一例を示す図である。
【図１２】図１２は、解析部の動作の一例を示すフローチャートである。
【図１３】図１３は、第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図１４】図１４は、実施例１に係る情報処理システムの構成を示すブロック図である。
【図１５】図１５は、実施例１に係る現在負荷算出部が算出した現在の負荷率の一例を示す図である。
【図１６】図１６は、実施例１に係る負荷予測部が算出した将来の負荷率の一例を示す図である。
【図１７】図１７は、実施例１における１秒後の被写体分布を示す図である。
【図１８】図１８は、実施例２に係る情報処理システムの構成を示すブロック図である。
【図１９】図１９は、実施例２に係る部品の被写体分布の一例を示す図である。
【図２０】図２０は、実施例２の説明に用いる解析部の負荷を示す図である。
【図２１】図２１は、実施例２において現在負荷算出部が算出した解析部の現在の負荷率を示す図である。
【図２２】図２２は、実施例２に用いられる被写体移動モデルを示す図である。
【図２３】図２３は、実施例２において負荷予測部が算出した将来の負荷率を示す図である。
【図２４】図２４は、実施例３において被写体分布算出部が算出した被写体分布を示す図である。
【図２５】図２５は、実施例３における解析部の現在の負荷率を示す図である。
【図２６】図２６は、実施例３に用いられる被写体移動モデルを示す図である。
【図２７】図２７は、実施例３において負荷予測部が算出した将来の負荷率を示す図である。
【図２８】図２８は、第１の実施形態の変形例１に係る情報処理装置の構成の一例を示すブロック図である。
【図２９】図２９は、変形例２に係る情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２２】
次に、本発明における実施形態について図面を参照して説明する。
【００２３】
なお、各図面は、本発明における実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。例えば、各図面に記載されている構成及び要素の数は、本発明における構成及び要素の数を限定するものではない。
【００２４】
また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。また、図面中の接続線及び矢印の方向は、一例を示すものであり、ブロック間の接続、並びに、信号の向き及び動作の順番を限定するものではない。
【００２５】
なお、以下の説明において、説明の便宜のため、負荷として「秒」を用いる場合と、「プロセッサの数」を用いる場合とがある。負荷として「秒」を用いる場合、その値（秒数）は、一つのプロセッサが処理に必要となる動作時間である。例えば、「２秒」の負荷とは、一つのプロセッサを用いた場合の動作時間が「２秒」となる負荷であり、二つのプロセッサを用いた場合の動作時間が「１秒」となる負荷である。例えば、「秒」を用いた表された負荷を１秒での処理するためには、「秒」で表された負荷の値の同じ数のプロセッサを用いればよい。
【００２６】
以下の説明において「負荷率」として「１秒間」の負荷率、つまり、１秒当たりの負荷率を用いる。なお、「１秒間」は、単に「秒間」とも呼ぶ。
【００２７】
そのため、「秒」を用いた負荷の値と、「プロセッサの数」を用いた負荷の値とは、同じ値となる。そのため、以下の説明では、負荷の値の単位として、「秒」及び「プロセッサの数」とは、置き換え可能として説明する。
【００２８】
＜第１の実施形態＞
次に、発明における第１の実施形態について、図面を参照して詳細に説明する。
【００２９】
［概要の説明］
まず、図面を参照して、第１の実施形態に係る情報処理装置３０１の概要について説明する。
【００３０】
図１は、本発明における第１の実施形態に係る情報処理装置３０１を含む情報処理システム４００の構成の一例を示すブロック図である。
【００３１】
図１に示されているように、情報処理システム４００は、一つ又は複数の映像配信装置１０１と、一つ又は複数の解析装置２０１と、情報処理装置３０１とを含む。
【００３２】
映像配信装置１０１は、映像データを解析装置２０１に配信する。映像データは、複数フレームを含むデータである。
【００３３】
解析装置２０１は、映像配信装置１０１から配信された映像データを解析する。
【００３４】
情報処理装置３０１は、解析装置２０１を制御する。
【００３５】
なお、解析装置２０１は、映像配信装置１０１から受信する映像データの解析する構成部（以下、解析部２１０と呼ぶ）を、一つに限らず、複数含んでもよい。この場合、情報処理装置３０１は、解析装置２０１に含まれる解析部２１０を制御する。
【００３６】
解析部２１０は、解析装置２０１の中において、映像配信装置１０１から受信した映像データを解析する。解析部２１０は、プリント基板に集積回路などを実行したハードウェアで構成されてもよく、ＣＰＵ（Central Processing Unit）とメモリとを含むコンピュータで動作するソフトウェアの論理的な機能として実現されてよい。あるいは、解析部２１０は、ハードウェアとソフトウェアとの組合せを用いて実現されてもよい。
【００３７】
そして、解析部２１０は、解析装置２０１に含まれ計算資源から、所定の量の計算資源を排他的に使用する。そのため、ある解析部２１０の処理は、同じ解析装置２０１に含まれる別の解析部２１０の処理の影響を受けない。
【００３８】
例えば、解析部２１０が、解析装置２０１のＣＰＵを用いて実現されているとする。さらに、解析装置２０１は、４つのＣＰＵ（以下、プロセッサ番号０、１、２、及び３と呼ぶ）を含むとする。さらに、２つの解析部２１０が、解析装置２０１において動作しているとする。この場合、例えば、一の解析部２１０は、プロセッサ番号０及び１のＣＰＵを使用し、別の解析部２１０は、プロセッサ番号２、３のＣＰＵを使用する。このように解析部２１０は、排他的に計算資源を使用する。
【００３９】
図２及び図３は、一つの解析装置２０１において、２つの解析部２１０を実現している場合の一例を示すブロック図である。
【００４０】
図２は、上部の解析装置２０１において２つの解析部２１０が、動作している場合を示す図である。図３は、下部の解析装置２０１において２つの解析部２１０が動作している場合を示す図である。なお、図２及び図３は、一例である。解析装置２０１は、解析部２１０の動作に必要な計算資源を確保できる範囲において、３つ以上の解析部２１０を含んでもよい。
【００４１】
さらに、各装置がネットワークなど接続先を変更できる通信経路で接続されている場合、情報処理装置３０１は、解析装置２０１又は解析部２１０に対する指示を用いて、映像配信装置１０１を処理する解析部２１０を含む解析装置２０１を変更可能である。つまり、情報処理装置３０１は、図２から図３の状態、又は、図３から図２の状態に変更するように制御可能である。
【００４２】
このように解析装置２０１は、一つ又は複数の解析部２１０を含む。情報処理装置３０１は、具体的には、各解析部２１０を制御する。そのため、以下の説明では、解析装置２０１についての説明を省略し、解析部２１０を用いて説明する。
【００４３】
［構成の説明］
次に、解析部２１０の詳細な構成について、図面を参照し説明する。
【００４４】
図４は、解析部２１０の構成の一例を示すブロック図である。
【００４５】
図４に示されているように、解析部２１０は、被写体検出部２１１と、被写体解析タスク保存部２１２と、被写体解析部２１３とを含む。
【００４６】
被写体検出部２１１は、映像配信装置１０１から映像データを受信する。そして、被写体検出部２１１は、映像データをフレームに分割する。そして、被写体検出部２１１は、フレーム毎に、１つ又は複数の被写体を検出する。そして、被写体検出部２１１は、検出した被写体と被写体領域とを含む検出結果を、後ほど詳細に説明する情報処理装置３０１に出力する。ここで、被写体検出結果は、解析部２１０及び後ほど説明する情報処理装置３０１の処理に対応したデータであれば特に制限はない。例えば、被写体検出結果は、映像データにおける被写体の状態を含んでもよい。ここで、被写体の状態とは、映像データにおける被写体の位置、大きさ、又は、向きの少なくとも一つを含む情報である。あるいは、被写体検出結果は、被写体毎に、被写体が写っている領域の座標情報を表す被写体領域を含んでもよい。なお、領域は、被写体の位置及び大きさの一例である。さらに、被写体検出結果は、被写体解析部２１３で解析する対象とするか否かの判定を示す被写体解析対象判定とを含んでもよい。
【００４７】
図５は、第１の実施形態に係る被写体検出結果の一例を示す図である。図５に示されている被写体結果は、被写体識別子と、被写体領域と、被写体解析対象判定とを含む。
【００４８】
被写体識別子は、被写体を識別するための番号又は識別子である。
【００４９】
被写体領域は、映像データのフレームにおける被写体の領域を示す情報である。図５では、一例として、被写体領域は、左上点の座標と、幅と、高さとを含む。ただし、被写体領域は、これに限定されない。例えば、被写体領域は、左上点の座標と右下点の座標とでもよい。また、被写体領域の形状は、四角形に限定されない。例えば、被写体領域の形状が多角形の場合、被写体領域は、頂点の数と、頂点の座標とを含んでもよい。
【００５０】
被写体解析対象判定は、被写体解析部２１３における解析の対象であるか否かの判定結果である。
【００５１】
図４を参照した説明に戻る。
【００５２】
被写体検出部２１１は、被写体解析対象判定が「対象」となっている被写体結果の被写体領域を、被写体解析タスクとして被写体解析タスク保存部２１２に送信する。
【００５３】
被写体解析タスク保存部２１２は、受信した被写体解析タスクを保存する。つまり、被写体解析タスクは、被写体検出部２１１が検出した被写体領域の中で、被写体解析部２１３で解析する対象である被写体領域である。
【００５４】
図６は、被写体解析タスクの一例を示す図である。図６に示されている被写体解析タスクは、図５に示されている被写体解析対象判定において対象となっている被写体識別子と被写体領域とを含む。
【００５５】
図４を参照した説明に戻る。
【００５６】
被写体解析タスク保存部２１２は、保存した被写体解析タスクを被写体解析部２１３に送信する。
【００５７】
被写体解析部２１３は、被写体解析タスク保存部２１２から被写体解析タスクを取得する。そして、被写体解析部２１３は、被写体解析タスクに含まれる被写体毎に、被写体を解析する。被写体の解析は、特に制限されない。例えば、被写体の解析は、顔の特徴量抽出、顔の照合、人物の年齢性別判定、又は、車の車種判別である。
【００５８】
次に、情報処理装置３０１に構成について、図面を参照し手説明する。
【００５９】
図７は、第１の実施形態に係る情報処理装置３０１の構成の一例を示すブロック図である。
【００６０】
図７に示されているように、情報処理装置３０１は、被写体分布算出部３１１と、現在負荷算出部３１２と、負荷予測部３１３と、被写体解析タスク移動決定部３１４と、被写体解析タスク移動部３１５とを含む。さらに、情報処理装置３０１は、被写体分布記憶部３１６と、解析負荷記憶部３１７と、解析計算資源記憶部３１８と、被写体移動モデル記憶部３１９とを含む。
【００６１】
被写体分布算出部３１１は、解析部２１０から被写体検出結果を受信する。そして、被写体分布算出部３１１は、被写体検出結果を基に、映像配信装置１０１の映像データにおける被写体分布を算出する。被写体分布とは、映像データにおける、所定の座標系（例えば、１次元座標、２次元座標、３次元座標、又は、回転座標系）における被写体の分布である。
【００６２】
図８は、第１の実施形態に係る被写体分布算出部３１１が算出する被写体分布の一例を示す図である。図８に示されている被写体分布は、映像配信装置１０１毎のｚ座標（映像配信装置１０１を原点とし、手前から奥に向かう奥行き方向の座標）に対する被写体の度数分布表である。なお、図８に示されている被写体分布は、被写体解析対象判定の結果を含む場合を示している。
【００６３】
なお、被写体分布算出部３１１は、被写体分布の値及び被写体分布を算出する手法を制限されない。例えば、被写体分布算出部３１１は、一般的な統計処理を用いてもよい。そのため、算出手法の詳細な説明を省略する。
【００６４】
また、被写体分布算出部３１１は、被写体検出結果を基に、映像データにおける被写体の位置、大きさ、又は、向きを検出し、検出した結果を用いて被写体分布を作成してもよい。例えば、被写体分布算出部３１１は、被写体に大きさを基に、映像配信装置１０１から被写体までの距離を算出してもよい。なお、被写体分布算出部３１１は、被写体の位置、大きさ、及び、向きの算出として、一般的な画像認識処理を用いることができる。そのため、大きさなどの算出方法の詳細な説明を省略する。
【００６５】
また、被写体分布が含む値は、図８に示されている値に制限されない。例えば、被写体分布は、図８に示されている被写体の数に加え、被写体の速度又は移動方向（例えば、ベクトル値）、又は、被写体の大きさを含んでもよい。
【００６６】
図７を参照した説明に戻る。
【００６７】
被写体分布記憶部３１６は、被写体分布算出部３１１が算出した被写体分布を記憶する。なお、被写体分布記憶部３１６は、フレームに対応した被写体分布を時系列データとして記憶してもよい。
【００６８】
解析負荷記憶部３１７は、解析部２１０の負荷を記憶する。ここで、解析部２１０の負荷とは、被写体検出部２１１と、被写体解析部２１３との負荷を含む。
【００６９】
図９は、第１の実施形態に係る解析負荷記憶部３１７が記憶する解析部２１０の負荷の一例を示す図である。
【００７０】
図９に示されている負荷は、解析部２１０と、その構成と、各構成が解析を実行するために必要なプロセッサ使用時間の平均値とを含む。例えば、１行目負荷は、第１の被写体検出部２１１の負荷が、０．２秒であることを示す。つまり、第１の解析部２１０の被写体検出部２１１は、解析のために、１つのフレーム毎に平均として０．２秒の時間を必要とする。
【００７１】
解析負荷記憶部３１７が記憶する解析部２１０の負荷は、実測した負荷の値を基に算出された値でもよく、理論値を基に算出された値でもよい。
【００７２】
なお、解析負荷記憶部３１７は、予め、負荷を記憶する。例えば、情報処理システム４００の管理者又は利用者が、対象となる解析部２１０の仕様又は実測を基に、解析負荷記憶部３１７に負荷を設定する。
【００７３】
図７を参照した説明に戻る。
【００７４】
解析計算資源記憶部３１８は、解析部２１０が使用する計算資源を記憶する。
【００７５】
図１０は、第１の実施形態に係る解析計算資源記憶部３１８が記憶する計算資源の一例を示す図である。図１０に示されている計算資源は、各解析部２１０の計算資源を、使用するプロセッサ（ＣＰＵ）の数を用いて表現している。ただし、計算資源は、これに限定されない。例えば、計算資源は、ネットワークの帯域幅、又は、計算に用いるメモリの量でもよい。
【００７６】
なお、解析計算資源記憶部３１８は、予め、計算資源を記憶する。例えば、情報処理システム４００の管理者又は利用者が、対象となる解析部２１０の仕様又は実測を基に、解析計算資源記憶部３１８に計算資源を設定する。
【００７７】
図７を参照した説明に戻る。
【００７８】
現在負荷算出部３１２は、被写体分布記憶部３１６が記憶する被写体分布と、解析負荷記憶部３１７が記憶する負荷と、解析計算資源記憶部３１８が記憶する計算資源とを基に、解析部２１０における現在の負荷率を算出する。負荷率とは、利用可能な総計算資源に対する、解析部２１０が現在必要とする計算資源（つまり、現在の負荷に対応した計算資源）の合計の割合である。
【００７９】
例えば、計算資源としてのプロセッサの総数が「８」とする。また、解析部２１０の現在の負荷を実行するために必要なプロセッサの数の合計が「６」とする。この場合、負荷率は、次のとおりである。
【００８０】
負荷率＝６／８＝０．７５
負荷率が、１．０未満の場合、計算資源に余力がある。この場合、性能低下は、起こらない。一方、負荷率が１．０を超えた場合、負荷が超過した状態である。この場合、性能低下が生じる。なお、負荷率が、１．０の場合、計算資源に余力はないが、性能低下は、起こらない。
【００８１】
被写体移動モデル記憶部３１９は、映像配信装置１０１に対応した被写体移動モデルを記憶する。被写体移動モデルとは、所定の座標系における被写体の所定時点（例えば、所定に過去又は現在）の状態(例えば、位置又は向き)を基に、上記の時点とは異なる時点（例えば、所定の将来時点）の状態を予測する数理モデルである。本実施形態に係る被写体移動モデルは、特に制限されない。被写体移動モデルは、情報処理システム４００又は情報処理装置３０１が対象とする被写体に沿って設定されればよい。例えば、映像配信装置１０１が、廊下の映像を撮影する場合、被写体である人は、所定の方向に移動する。その場合、情報処理装置３０１は、被写体移動モデルとして、被写体が所定の方向に移動するモデルを用いればよい。あるいは、被写体が、製造ラインを移動する部品の場合、情報処理装置３０１は、被写体移動モデルとして、被写体が製造ラインの方向に移動するモデルを用いればよい。あるいは、部品向き又は移動の方向を変更する工程の場合、情報処理装置３０１は、被写体移動モデルとして、被写体の回転に対応したモデルを用いればよい。
【００８２】
図１１は、第１の実施形態に係る被写体移動モデル記憶部３１９が記憶する被写体移動モデルの一例を示す図である。図１１に示されている被写体移動モデルは、映像配信装置１０１に対応した被写体移動モデルとして、次に示す数式１を用いる。
【００８３】
［数式１］
ｚ（ｏｉ，ｔ）＝ｚ（ｏｉ，ｔ−１．０）＋（−１．５）
上記の数式１において、ｚ（ｏｉ，ｔ）は、時刻ｔにおける被写体ｏｉ（ｉは被写体の識別子で、正の整数）のｚ座標を算出する関数である。ｚ座標とは、既に説明しているとおり、映像配信装置１０１を原点とし、手前から奥に向かう奥行き方向の座標である。なお、以下の説明では、ｚ座標の単位として、メートルを用いる。ただし、第１の実施形態は、メートルに限定されず、他の単位を用いてもよい。
【００８４】
図１１に示されている被写体移動モデルにおいて、被写体ｏｉのｚ座標の位置は、１秒前の被写体ｏｉの位置から１．５メートル手前の位置となる。つまり、上記の被写体移動モデルは、被写体ｏｉが、毎秒１．５メートルの速さで奥から手前へ移動するモデルである。
【００８５】
なお、被写体移動モデルは、図１１のモデルに限定されない。被写体移動モデルは、他の等式でもよい。また、図１１において、被写体移動モデルは、全て同形となっている。ただし、被写体移動モデルは、被写体毎に異なるモデルでもよい。
【００８６】
図７を参照した説明に戻る。
【００８７】
負荷予測部３１３は、被写体分布と、負荷と、計算資源と、被写体移動モデルとを基に、解析部２１０についての将来の負荷率を予測（算出）する。
【００８８】
被写体解析タスク移動決定部３１４は、現在負荷算出部３１２が算出した解析部２１０の現在の負荷率を基に、被写体解析タスクの移動元となる解析部２１０を決定する。例えば、被写体解析タスク移動決定部３１４は、移動元となる解析部２１０として、現在の負荷率が高く、被写体解析タスクの処理が重い解析部２１０を選択する。なお、被写体解析タスク移動決定部３１４は、移動元の決定において、現在に負荷率に加え、負荷予測部３１３が算出した解析部２１０の将来の負荷率を用いてもよい。
【００８９】
さらに、被写体解析タスク移動決定部３１４は、負荷予測部３１３が算出した解析部２１０の将来の負荷率を基に、被写体解析タスクの移動先となる解析部２１０を決定する。例えば、被写体解析タスク移動決定部３１４は、移動先の解析部２１０として、将来の負荷率が最も低い解析部２１０を選択する。なお、被写体解析タスク移動決定部３１４は、移動先の決定において、将来の負荷率に加え、現在の負荷率を用いてもよい。
【００９０】
このように、被写体解析タスク移動決定部３１４は、被写体解析タスクの移動元の解析部２１０と、移動先の解析部２１０とを決定する。
【００９１】
なお、将来の時点は、特に制限されない。例えば、被写体解析タスク移動決定部３１４は、負荷を平準化したい時点における負荷率（将来の負荷率）を用いて、移動先の解析部２１０を決定する。以下、将来の負荷率は、「第１の負荷率」とも呼ぶ。そして、被写体解析タスク移動決定部３１４は、既に発生している負荷率（現在の負荷率）を基に、移動元の解析部２１０を決定する。以下、現在の負荷率は、「第２の負荷率」とも呼ぶ。
【００９２】
ただし、被写体解析タスク移動決定部３１４は、これから発生する負荷率を基に移動元の解析部２１０を決定してもよい。
【００９３】
例えば、被写体解析タスク移動決定部３１４は、移動元の解析部２１０として、所定の将来時点での負荷率が高い解析部２１０を選択してもよい。例えば、被写体解析タスク移動決定部３１４は、移動元の解析部２１０として現在から１０秒後までの負荷率が最も高い解析部２１０を選択し、移動先の解析部２１０として現在から２０秒後までの負荷率が最も低い解析部２１０を選択してもよい。
【００９４】
被写体解析タスク移動部３１５は、被写体解析タスク移動決定部３１４が決定した移動元の解析部２１０における被写体解析タスク保存部２１２に保存されている被写体解析タスクを、移動先の解析部２１０における被写体解析タスク保存部２１２に移動する。
【００９５】
［動作の説明］
次に、図面を参照して第１の実施形態に係る情報処理装置３０１の動作について説明する。
【００９６】
情報処理装置３０１の動作の理解を容易にするため、情報処理装置３０１の動作の説明の前に、解析部２１０の動作について説明する。
【００９７】
図１２は、解析部２１０の動作の一例を示すフローチャートである。
【００９８】
まず、被写体検出部２１１は、映像配信装置１０１から映像データを受信する。そして、被写体検出部２１１は、映像データをフレームに分割する。そして、被写体検出部２１１は、フレーム毎に、１つ又は複数の被写体を検出する。さらに、被写体検出部２１１は、検出した被写体の各々について、被写体解析部２１３において解析する対象とするか否かの判定する（ステップＳ１１０）。例えば、被写体検出部２１１は、被写体までの距離を基に、解析対象か否かを判定する。
【００９９】
次に、被写体検出部２１１は、被写体解析部２１３において解析する対象と判定した被写体について、被写体解析タスクを生成する。そして、被写体検出部２１１は、生成した被写体解析タスクを、被写体解析タスク保存部２１２に保存する（ステップＳ１２０）。
【０１００】
さらに、被写体検出部２１１は、被写体検出結果を生成する。そして、被写体検出部２１１は、生成した被写体検出結果を情報処理装置３０１に送信する（ステップＳ１３０）。
【０１０１】
なお、被写体検出部２１１は、ステップＳ１２０の動作とステップＳ１３０の動作とのどちらを先に実行してもよい。さらに、被写体検出部２１１は、ステップＳ１２０の動作とステップＳ１３０の動作の少なくとも一部の動作を並行的に実行してもよい。
【０１０２】
被写体解析部２１３は、被写体解析タスク保存部２１２から、保存された順番に沿って被写体解析タスクを取得する（ステップ１４０）。つまり、被写体解析部２１３は、ＦＩＦＯ（First In First Out）方式を用いて、被写体解析タスク保存部２１２から被写体解析タスクを取得する。このように、被写体解析タスク保存部２１２は、ＦＩＦＯメモリ、又は、キューとして動作する。
【０１０３】
そして、被写体解析部２１３は、被写体解析タスクを用いて被写体を解析する（ステップＳ１５０）。
【０１０４】
次に、図面を参照して、情報処理装置３０１の動作を説明する。
【０１０５】
図１３は、第１の実施形態に係る情報処理装置３０１の動作の一例を示すフローチャートである。
【０１０６】
まず、被写体分布算出部３１１は、解析部２１０から被写体検出結果を受信する（ステップＳ２１０）。
【０１０７】
次に、被写体分布算出部３１１は、解析部２１０に対応した、つまり、映像配信装置１０１の映像データに対応した被写体分布を算出する（ステップＳ２２０）。
【０１０８】
さらに、被写体分布算出部３１１は、被写体分布記憶部３１６に被写体分布を記憶させる（ステップＳ２３０）。
【０１０９】
次に、現在負荷算出部３１２は、被写体分布記憶部３１６から、被写体分布を取得する（ステップＳ２４０）。なお、被写体分布記憶部３１６が、過去の被写体分布を記憶する場合、現在負荷算出部３１２は、所定の過去の時点から現在時点までの期間おける被写体分布を取得してもよい。
【０１１０】
そして、現在負荷算出部３１２は、被写体分布と、解析負荷記憶部３１７が記憶する解析部２１０の負荷と、解析計算資源記憶部３１８が記憶する計算資源とを基に、解析部２１０の現在の負荷率を算出する（ステップＳ２５０）。
【０１１１】
負荷予測部３１３は、次の動作を実行する。負荷予測部３１３は、次の動作を、上記の現在負荷算出部３１２におけるステップＳ２４０及びＳ２５０の動作の少なくとも一部の動作と並行して動作してもよい。
【０１１２】
負荷予測部３１３は、被写体分布記憶部３１６から、映像配信装置１０１の映像データに対応する被写体分布を取得する（ステップＳ２６０）。なお、被写体分布記憶部３１６が、過去の被写体分布を記憶する場合、負荷予測部３１３は、所定の過去の時点から現在時点までの期間おける被写体分布を取得してもよい。
【０１１３】
そして、負荷予測部３１３は、解析部２１０の将来の負荷率を予測（算出）する（ステップＳ２７０）。より詳細には、負荷予測部３１３は、被写体分布と、解析部２１０の負荷及び計算資源と、被写体移動モデル記憶部３１９が記憶する被写体移動モデルとを基に、解析部２１０の現在時点から所定の将来時点までの期間における負荷率を予測（算出）する。
【０１１４】
被写体解析タスク移動決定部３１４は、現在負荷算出部３１２が算出した現在の負荷率と、負荷予測部３１３が算出した将来の負荷率とを基に、被写体解析タスクの移動元となる解析部２１０と、移動先となる解析部２１０とを決定する（ステップＳ２８０）。
【０１１５】
次に、被写体解析タスク移動部３１５は、決定されて移動元の解析部２１０の被写体解析タスク保存部２１２が保存する被写体解析タスクを、移動先の解析部２１０の被写体解析タスク保存部２１２に移動する（ステップＳ２９０）。
【０１１６】
なお、被写体タスクが、被写体解析タスク移動部３１５の動作に基づいて移動された場合、移動先の解析部２１０の被写体解析部２１３は、移動された被写体解析タスクを被写体解析タスク保存部２１２から取得する（ステップ１４０）。そして、被写体解析部２１３は、取得した被写体解析タスクを用いて被写体を解析する（ステップ１５０）。
【０１１７】
［効果の説明］
次に、第１の実施の形態の効果について説明する。
【０１１８】
第１の実施形態に係る情報処理装置３０１は、映像データを処理する解析装置２０１及び解析部２１０における負荷を予測するとの効果を奏する。
【０１１９】
その理由は、次のとおりである。
【０１２０】
被写体分布算出部３１１が、映像データにおける被写体分布を算出する。そして、負荷予測部３１３が、被写体分布と、解析部２１０の負荷及び計算資源と、被写体移動モデルとを基に、解析部２１０の将来の負荷率を算出できるためである。
【０１２１】
さらに、現在負荷算出部３１２は、被写体分布と、解析部２１０の負荷及び計算資源とを基に、解析部２１０の現在の負荷率を算出する。そして、被写体解析タスク移動決定部３１４は、現在の負荷率と将来の負荷率とを基に、被写体解析タスクの移動元の解析部２１０と、移動先の解析部２１０とを決定する。そして、被写体解析タスク移動部３１５が、決定された移動元の解析部２１０から移動先に解析部２１０に、被写体解析タスクを移動する。
【０１２２】
上記のように、現在負荷算出部３１２と負荷予測部３１３は、被写体分布を用いている。そのため、情報処理装置３０１は、被写体の位置又は向きなどを考慮した負荷を算出することができる。
【０１２３】
さらに、動作の説明などに記載したように、負荷予測部３１３は、秒間に対応した被写体移動モデルを用いることができる。そのため、情報処理装置３０１は、秒間での負荷など短期的な負荷を予測できる。
【０１２４】
さらに、情報処理装置３０１は、解析装置２０１及び解析部２１０における処理性能の低下を低減するとの効果を奏することができる。
【０１２５】
その理由は、次のとおりである。
【０１２６】
被写体解析タスク移動部３１５は、上記のとおり、現在の負荷率が高い解析部２１０から将来の負荷率が低い解析部２１０に、被写体解析タスクを移動する。その結果、解析部２１０において、現在の負荷及び将来の負荷の平準化が実現されるためである。
【０１２７】
なお、既に説明しているが、被写体解析タスク移動決定部３１４は、所定の将来時点における負荷を基に、移動元の解析部２１０と移動先の解析部２１０とを決定してもよい。そのため、情報処理装置３０１は、複数の所定の将来時点における負荷を平準化することもできる。
【０１２８】
さらに、情報処理装置３０１は、解析に必要となる計算資源を削減するとの効果を奏することができる。
【０１２９】
その理由は、情報処理装置３０１は、上記のとおり解析部２１０の負荷を平準化するため、利用されない解析部２１０の計算資源を低減するためである。
【０１３０】
［実施例］
次に、本発明の実施形態をより詳細に説明するため、実際の数値を用いた実施例を説明する。なお、各実施例における各要素の数は、一例であり、本発明を限定するものではない。
【０１３１】
［実施例１］
次に、図面を参照して、実施例１について説明する。実施例１は、情報処理装置３０１を人の顔を検出するシステムに適用した例である。例えば、建物の入り口など設置されたカメラは、人が一定方向に移動する映像データを撮影する。実施例１は、情報処理装置３０１が、そのような一定方向に移動する人を被写体とする映像データにおける顔の検出に適用された場合である。
【０１３２】
［構成の説明］
実施例１に係る情報処理システム４０２の構成は、情報処理システム４００に含まれる構成と同様である。詳細には、次に説明するように、情報処理システム４０２は、上記の適用分野に沿った構成を含む。
【０１３３】
図１４は、実施例１に係る情報処理システム４０２の構成を示すブロック図である。
【０１３４】
情報処理システム４０２は、カメラ１２１と、解析部２２０と、情報処理装置３０１とを含む。
【０１３５】
実施例１において、カメラ１２１が、映像配信装置１０１に相当する。カメラ１２１は、図示しないネットワークなどを介して、撮影した映像データを解析部２２０に配信する。
【０１３６】
解析部２２０が、解析部２１０に相当する。
【０１３７】
解析部２２０は、顔検出部２２１と、被写体解析タスクキュー２２２と、顔特徴抽出部２２３とを含む。顔検出部２２１が、被写体検出部２１１に相当する。被写体解析タスクキュー２２２が、被写体解析タスク保存部２１２に相当する。顔特徴抽出部２２３が、被写体解析部２１３に相当する。
【０１３８】
顔検出部２２１は、映像データをフレームに分割し、フレーム毎に被写体である人の顔の領域を検出し、人の顔の識別子と、人の顔の領域と、被写体解析対象判定とを含む被写体検出結果を情報処理装置３０１に送信する。また、顔検出部２２１は、映像データから人の顔の関する被写体解析タスクを生成し、被写体解析タスクキュー２２２に送信する。
【０１３９】
被写体解析タスクキュー２２２は、ＦＩＦＯ方式を用いて、被写体解析タスクを保存する。
【０１４０】
顔特徴抽出部２２３は、被写体解析タスクキュー２２２に保存された被写体解析タスクを用いて人の顔の特徴を抽出する。
【０１４１】
［動作の説明］
次に、図面を参照して、実施例１の動作について説明する。
【０１４２】
情報処理システム４０２に含まれる構成は、情報処理システム４００に含まれる構成と同様に動作する。詳細には、各構成は、以下で説明するように動作する。
【０１４３】
図１２を参照して、解析部２２０の動作について説明する。
【０１４４】
まず、顔検出部２２１は、カメラ１２１からの映像データを受信し、映像データをフレームに分割し、フレーム毎に１つ又は複数の人の顔を検出する。そして、顔検出部２２１は、検出した顔の各々について、顔特徴抽出部２２３において解析する対象とするか否かを判定する。実施例１では、顔検出部２２１は、映像データにおける人の顔の幅が、所定の範囲に含まれる場合に解析する対象と判定し、範囲に含まれない場合に解析する対象でないと判定する（ステップＳ１１０）。
【０１４５】
この動作について、図５を参照して説明する。図５における被写体を人の顔とする。
【０１４６】
所定の範囲は、映像データにおける幅（以下、幅の変数を「ｗｏ」とする）が、４０以上とする。
【０１４７】
この場合、顔検出部２２１は、図５の被写体解析対象判定に示されているように、顔特徴抽出部２２３における解析の対象として、幅が１００又は５０である被写体識別子Ａ、Ｂ、Ｃ、Ｄ、Ｅ、及び、Ｆの被写体（人の顔）を「対象」と判定する。また、顔検出部２２１は、幅が２５又は１０である被写体識別子Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍ、及び、Ｎの被写体（人の顔）を「非対象」と判定する。
【０１４８】
次に、顔検出部２２１は、検出した被写体（人の顔）のうち、顔特徴抽出部２２３において解析の対象となる被写体（人の顔）について、被写体解析タスクを生成し、被写体解析タスクキュー２２２に保存する（ステップＳ１２０）。図６は、この場合の被写体解析タスクの一例である。
【０１４９】
顔検出部２２１は、被写体検出結果を生成し、情報処理装置３０１に、送信する（ステップＳ１３０）。顔検出部２２１は、ステップＳ１２０とステップＳ１３０との少なくとも一部の動作を、並行的に実行してもよい。
【０１５０】
次に、顔特徴抽出部２２３は、被写体解析タスクキュー２２２から、被写体解析タスクを取得する（ステップ１４０）。
【０１５１】
そして、顔特徴抽出部２２３は、被写体解析タスクに基づいて、人の顔を解析する（ステップＳ１５０）。
【０１５２】
次に、図１３を参照して、実施例１の情報処理装置３０１の動作について説明する。
【０１５３】
解析負荷記憶部３１７、解析計算資源記憶部３１８、及び、被写体移動モデル記憶部３１９は、予め、必要な情報を記憶しているとする。すなわち、解析負荷記憶部３１７は、解析部２２０の負荷を記憶している。解析計算資源記憶部３１８は、解析部２２０の計算資源を記憶している。被写体移動モデル記憶部３１９は、被写体移動モデルを記憶している。
【０１５４】
まず、被写体分布算出部３１１は、解析部２２０から、被写体検出結果を受信する（ステップＳ２１０）。
【０１５５】
被写体分布算出部３１１は、映像データに対して、被写体分布を算出する（ステップＳ２２０）。
【０１５６】
ここで、図５及び図８を参照して、被写体分布算出部３１１における被写体分布を算出する動作を説明する。
【０１５７】
実施例１では、被写体分布算出部３１１は、被写体分布として、ｚ座標における被写体（人の顔）の度数分布を用いる。なお、ｚ座標は、カメラ１２１の位置を原点とし、映像データの手前から奥に向かう奥行き方向の座標である。
【０１５８】
まず、被写体分布算出部３１１は、検出された人の顔についてｚ座標を算出する。被写体分布算出部３１１は、ｚ座標の算出に、次に示す数式２を用いる。
【０１５９】
［数式２］
ｚ＝Ｌ×（Ｗｉ／ｗｏ）×（Ｆ／３６）
数式２における各変数は次のとおりである。
【０１６０】
Ｌは、人の顔の実世界における横幅である。Ｗｉは、映像データのフレームの水平方向の幅（画素数）である。ｗｏは、映像データのフレームにおける被写体の横幅（水平方向の画素数）である。Ｆは、カメラ１２１の焦点距離である。
【０１６１】
上記のように、Ｌは、実世界における人の顔の幅である。ここで、人の顔の幅は、大きく異ならないとする。そのため、被写体分布算出部３１１は、Ｌとして、所定の定数を用いる。
【０１６２】
Ｗｉ及びＦは、カメラ１２１における水平画素数（映像データのフレームの水平画素数）及び焦点距離である。そのため、被写体分布算出部３１１は、予め、Ｗｉ及びＦの値を保持する。
【０１６３】
被写体分布算出部３１１は、ｗｏとして、被写体検出結果に含まれる被写体領域の値を使用する。例えば、図５における被写体識別子Ａの幅は、「１００（水平画素数＝１００）」である。そのため、被写体分布算出部３１１は、被写体識別子Ａのｗｏとして「１００」を用いる。
【０１６４】
そして、被写体分布算出部３１１は、上記の値を数式２に適用して、被写体識別子Ａの被写体に対するｚ座標を算出する。同様にして、被写体分布算出部３１１は、図１０に含まれる被写体（人の顔）について、ｚ座標を算出する。そして、被写体分布算出部３１１は、算出したｚ座標を基に、ｚ座標における度数分布表を作成する。
【０１６５】
図８は、ｚ座標の幅を１．５ｍとした場合の度数分布表（被写体分布）である。なお、図８に示されているように、被写体分布算出部３１１は、作成した被写体分布（度数分布表）に被写体検出結果における被写体解析対象判定を含めてもよい。
【０１６６】
被写体分布算出部３１１は、各カメラ１２１についての被写体分布（度数分布表）を作成する。
【０１６７】
被写体分布算出部３１１は、被写体分布記憶部３１６に被写体分布を記憶させる（ステップＳ２３０）。なお、被写体分布算出部３１１は、各カメラ１２１からの映像データにおけるフレームが生成された時刻に関連するように被写体分布を記憶させてもよい。例えば、被写体分布算出部３１１は、生成された時刻を「キー」として被写体分布を記憶させる。この場合、情報処理装置３０１に含まれる構成は、このキーを用いて、フレームが生成された時刻に対応した被写体分布を取り出せる。
【０１６８】
次に、現在負荷算出部３１２は、被写体分布を取得する（ステップＳ２４０）。現在負荷算出部３１２は、所定の過去の時点から現在時点までの被写体分布を取得してもよい。
【０１６９】
そして、現在負荷算出部３１２は、取得した被写体分布と、解析負荷記憶部３１７が記憶する負荷と、解析計算資源記憶部３１８が記憶する計算資源とを基に、解析部２２０の現在の負荷率を算出する（ステップＳ２５０）。
【０１７０】
ここで、図８、図９、図１０、図１５を用いて、現在負荷算出部３１２が現在の負荷率の算出する動作について説明する。なお、図８に示されている第１ないし第３の映像配信装置１０１は、それぞれ、第１ないし第３の解析部２２０に接続されているとする。
【０１７１】
図９に示されている負荷が、実施例１の解析負荷記憶部３１７が記憶する解析部２２０の負荷であるとする。図９において、被写体検出部２１１は、顔検出部２２１に相当し、被写体解析部２１３は、顔特徴抽出部２２３に相当する。すなわち、図９に示されている負荷は、解析部２２０における解析に必要なプロセッサの動作時間である。なお、既に説明したとおり、負荷は、必要とするプロセッサの数でもある。
【０１７２】
図１０に示されている計算資源が、実施例１の解析計算資源記憶部３１８が記憶する計算資源であるとする。図１０に示されているように、解析部２２０は、計算資源として、８個のプロセッサを備えている。
【０１７３】
そして、被写体分布算出部３１１は、図８に示されている被写体分布を算出したとする。
【０１７４】
現在負荷算出部３１２は、上記の値に基づいて、解析部２２０における現在の負荷率を算出する。ただし、現在負荷算出部３１２は、図８における被写体として、被写体解析対象判定が「対象」となっている被写体を用いる。
【０１７５】
図１５は、実施例１に係る現在負荷算出部３１２が算出した現在の負荷率の一例を示す図である。図１５に示されている第１の解析部２２０の現在の負荷率を算出する動作について詳細に説明する。
【０１７６】
図９を参照すると、第１の解析部２２０において、顔検出部２２１（図９の第１の被写体検出部）のフレーム毎の負荷は、０．２秒である。ここで、秒間フレーム数を１０とすると、第１の解析部２２０の顔検出部２２１（第１の被写体検出部）における被写体検出の秒間の負荷は、次のとおりである。
第１の顔検出部２２１の負荷＝０．２×１０＝２［秒］
図８を参照すると、第１のカメラ１２１（第１の映像配信装置１０１）に接続されている第１の解析部２２０における解析の対象となる被写体数は、次のとおりである。
第１の解析部２２０の被写体数＝０＋２＋０＋４＋０＝６
また、図９を参照すると、第１の解析部２２０において、顔特徴抽出部２２３（図９の第１の被写体解析部２１３）の被写体毎の負荷は０．１秒である。そのため、第１の解析部２２０の顔特徴抽出部２２３の被写体解析の秒間の負荷は、次のとおりである。
第１の顔特徴抽出部２２３の負荷＝０．１×６×１０＝６［秒］
そのため、第１の解析部２２０の秒間の負荷の合計は、次のとおりである。
第１の解析部２２０の負荷＝２＋６＝８［秒］
つまり、解析部２２０は、１秒当たりに必要とされる計算資源（プロセッサ量）として、８秒の処理を実現する計算資源を必要とする。そして、上記のとおり、第１の解析部２２０のプロセッサの数は、８である。そのため、第１の解析部２２０における現在の負荷率は、次のとおりである。
第１の解析部２２０の現在の負荷率＝８／８＝１．００
同様に、現在負荷算出部３１２は、第２及び第３の解析部２２０の現在の負荷率を、それぞれ、「０．７５」及び「０．７５」と算出する。
【０１７７】
図１３を参照した説明に戻る。
【０１７８】
負荷予測部３１３は、被写体分布記憶部３１６から、被写体分布を取得する（ステップＳ２６０）。なお、負荷予測部３１３は、所定の過去の時点から現在時点までの被写体分布を取得してもよい。
【０１７９】
そして、負荷予測部３１３は、被写体分布と、解析部２２０の負荷及び計算資源と、被写体移動モデル記憶部３１９が記憶する被写体移動モデルとを基に、解析部２２０についての将来の負荷率を予測する（ステップＳ２７０）。
【０１８０】
ここで、図８、図９、図１０、図１１、図１６を用いて、負荷予測部３１３が将来の負荷率を予測する動作について説明する。
【０１８１】
図８、９、及び１０は、現在負荷算出部３１２のおける説明と同様である。
【０１８２】
図１１に示されている被写体移動モデルが、実施例１の被写体移動モデル記憶部３１９が記憶する被写体移動モデルである。図１１において、映像配信装置１０１が、カメラ１２１に相当する。
【０１８３】
負荷予測部３１３は、被写体分布と、解析部２２０の負荷及び計算資源と、被写体移動モデルとを基に、解析部２２０の将来の負荷率を算出（予測）する。
【０１８４】
図１６は、実施例１に係る負荷予測部３１３が算出した将来の負荷率の一例を示す図である。
【０１８５】
以下に、図１６に示されている解析部２２０の将来の負荷率を算出する動作について詳細に説明する。
【０１８６】
まず、０秒後から１秒後の秒間の負荷について説明する。この場合、負荷予測部３１３は、現在の対象となっている被写体を用いて負荷を算出する。さらに、負荷予測部３１３は、現在負荷算出部３１２におけるステップＳ２４０と同様に、秒間の負荷を算出する。秒間フレーム数を１０とすると、負荷予測部３１３は、負荷を次のように算出する。
第１の解析部２２０の０秒後から１秒後までの負荷＝０．２×１０＋６×０．１×１０＝８［秒］
次に、１秒後から２秒後の負荷について説明する。図１１に示されている被写体移動モデルを参照すると、負荷予測部３１３は、被写体が、毎秒１．５メートルの速さで奥から手前へ移動すると予測できる。つまり、１秒後の被写体分布は、図８に示されている被写体分布の被写体を１．５ｍ手前に移動した分布となる。
【０１８７】
図１７は、実施例１における１秒後の被写体分布を示す図である。
【０１８８】
例えば、第１の映像配信装置１０１（カメラ１２１）の被写体分布における０．０ｍから１．５ｍの被写体の数は、図８に示されている現在の「０」から、図１７に示されている「２」となる。
【０１８９】
図１７を参照すると、第１の解析部２２０における被写体解析の対象となる被写体の数は、次のとおりである。
第１の解析部２２０の被写体の数＝２＋０＋４＋０＋２＝８
この場合、第１の解析部２２０の負荷は、次のとおりである。
第１の解析部２２０の負荷＝０．２×１０＋８×０．１×１０＝１０［秒］
同様に、図１６に示されているように、負荷予測部３１３は、将来の負荷を算出する。
【０１９０】
次に、負荷予測部３１３は、算出した負荷の平均を算出する。例えば、第１の解析部２２０の負荷の平均は、次のとおりである。
第１の解析部２２０の負荷の平均＝（８＋１０＋８＋１４＋１０）／５＝１０［秒］
つまり、第１の解析部２２０は、平均的に１０秒の処理を実現するための計算資源、具体的には１０個のプロセッサを必要とする。一方、図１０に示されているように、第１の解析部２２０は、計算資源として、８個のプロセッサを備えている。そのため、第１の解析部２２０の将来の負荷率は、次のとおりである。
第１の解析部２２０の将来の負荷率＝１０／８＝１．２５
つまり、負荷予測部３１３は、第１の解析部２２０について、今後５秒間における将来の負荷率として、「１．２５」を予測（算出）する。
【０１９１】
次に、被写体解析タスク移動決定部３１４は、現在の負荷率と、将来の負荷率とを基に、被写体解析タスクの移動元の解析部２２０と移動先の解析部２２０とを決定する（ステップＳ２８０）。
【０１９２】
ここで、図１５及び図１６を参照して、被写体解析タスクの移動の決定する動作について説明する。
【０１９３】
図１５を参照すると、第１、第２、及び第３の解析部２２０の現在の負荷率は、それぞれ、「１．００、０．７５、及び０．７５」である。被写体解析タスク移動決定部３１４は、移動元の解析部２２０として、現在の負荷率が最も大きい第１の解析部２２０を選択する。
【０１９４】
図１６を参照すると、第１、第２、及び第３の解析部２２０の将来の負荷率は、「１．２５、０．５、及び１．２５」である。そこで、被写体解析タスク移動決定部３１４は、移動先の解析部２２０として、将来の負荷率が最も小さい、第２の解析部２２０を選択する。
【０１９５】
次に、被写体解析タスク移動部３１５は、決定された移動元の解析部２２０の被写体解析タスクキュー２２２が保存する被写体解析タスクを、移動先の解析部２２０の被写体解析タスクキュー２２２に移動する（ステップＳ２９０）。今の場合、被写体解析タスク移動部３１５は、第１の解析部２２０の被写体解析タスクキュー２２２に保存されている被写体解析タスクを、第２の解析部２２０の被写体解析タスクキュー２２２に移動する。
【０１９６】
ここで、比較のために、負荷予測部３１３が算出する将来の負荷率を用いず、現在負荷算出部３１２が出力する現在の負荷率を用いて被写体解析タスクの移動を決定する場合を説明する。
【０１９７】
図１５を参照すると、第１、第２、及び第３の解析部２２０の現在の負荷率は、「１．００、０．７５、及び０．７５」である。この場合、現在の負荷率が最も小さい第２又は第３の解析部２２０のどちらかが、移動先の解析部２２０として、選択される。しかし、第３の解析部２２０は、図１６に示されているように将来の負荷率が、「１．２５」と、「１．０」を超えている。つまり、第３の解析部２２０は、処理する被写体解析タスクの負荷が超過している。そのため、移動先の解析部２２０として第３の解析部２３０が選択された場合、第３の解析部２２０の負荷は、移動された被写体解析タスクに基づいて、さらに高くなってします。その結果、情報処理システム４０２において、性能低下が、発生する。
【０１９８】
一方、上記で説明したように、情報処理装置３０１は、現在の負荷率に加え、被写体分布に基づく将来の負荷率を用いて、被写体解析タスクの移動する移動先の解析部２２０を決定する。そのため、情報処理装置３０１は、将来における情報処理システム４０２の性能低下を抑制との効果を奏することできる。
【０１９９】
このように、実施例１に係る情報処理装置３０１の負荷予測部３１３は、被写体分布に基づく将来の負荷率を用いて、被写体解析タスクの移動する移動先の解析部２２０を決定する。そのため、情報処理装置３０１は、第１の実施形態の同様の効果を奏する。
【０２００】
［実施例２］
次に、図面を参照して、実施例２について説明する。実施例２は、情報処理装置３０１を製造ラインなどの部品を判定する情報処理システム４０３に適用した例である。
【０２０１】
実施例２に係る情報処理システム４０３の構成は、情報処理システム４００に含まれる構成と同様である。さらに、情報処理システム４０３に含まれる構成は、情報処理システム４００に含まれる構成と同様に動作する。そこで、以下、同様の説明を省略し、実施例２に特徴的な内容を説明する。
【０２０２】
［構成の説明］
図１８は、実施例２に係る情報処理システム４０３の構成を示すブロック図である。
【０２０３】
情報処理システム４０３は、カメラ１２１と、解析部２３０と、情報処理装置３０１とを含む。カメラ１２１及び情報処理装置３０１は、実施例１と同様である。
【０２０４】
解析部２３０は、部品検出部２３１と、被写体解析タスクキュー２３２と、品質判定部２３３とを含む。部品検出部２３１が、被写体検出部２１１に相当する。被写体解析タスクキュー２３２が、被写体解析タスク保存部２１２に相当する。品質判定部２３３が、被写体解析部２１３に相当する。
【０２０５】
部品検出部２３１は、映像データにおける所定の部品を被写体として動作する。つまり、部品検出部２３１は、映像データをフレームに分割し、フレーム毎に部品の領域を検出し、部品の識別子と、部品の領域と、被写体解析対象判定とを含む被写体検出結果を情報処理装置３０１に送信する。また、部品検出部２３１は、映像データから、部品に関する被写体解析タスクを生成、被写体解析タスクキュー２３２に送信する。
【０２０６】
被写体解析タスクキュー２３２は、ＦＩＦＯ方式を用いて、部品検出部２３１が作成した被写体解析タスクを保存する。
【０２０７】
品質判定部２３３は、被写体解析タスクにおける部品の品質を判定する。
【０２０８】
［動作の説明］
次に、図面を参照して、実施例２の動作について説明する。上記のとおり、実施例２に特徴的な動作を説明し、既に説明した動作と同様の動作の説明を省略する。
【０２０９】
解析部２３０は、映像データにおける部品を解析する。具体的には、解析部２３０は、次のように部品を解析する。
【０２１０】
なお、解析部２３０の部品検出部２３１は、被写体の座標として、映像データにおけるｘ座標を用いる。ｘ座標は、映像データの左端を原点とし、映像データにおいて左から右へ向かう方向を正とする水平方向の座標である。なお、以下の説明において、ｘ座標の単位は、映像データにおけるピクセルを用いるとする。
【０２１１】
さらに、被写体（部品）の座標は、ｘ座標における部品の中心位置の座標とする。また、部品は、映像データにおいて、左から右に移動する。
【０２１２】
まず、部品検出部２３１は、映像データに含まれ部品を検出し、解析する対象であるか否かを判定する（ステップＳ１１０）。なお、実施例２では、部品検出部２３１は、所定の範囲（ｘ座標の範囲）に含まれる部品を判定対象とする。
【０２１３】
次に、部品検出部２３１は、被写体解析タスクを生成し、被写体解析タスクキュー２３２に保存する（ステップＳ１２０）。
【０２１４】
部品検出部２３１は、被写体検出結果を生成し、情報処理装置３０１に送信する（ステップＳ１３０）。
【０２１５】
次に、品質判定部２３３は、被写体解析タスクキュー２３２から、ＦＩＦＯ方式を用いて被写体解析タスクを取得する（ステップ１４０）。
【０２１６】
そして、品質判定部２３３は、被写体解析タスクに基づいて、部品の品質を判定する（ステップＳ１５０）。なお、品質判定部２３３における品質の判定は、特に制限されない。そのため、詳細な説明を省略する。
【０２１７】
情報処理装置３０１の被写体分布算出部３１１は、被写体検出結果を受信する（ステップＳ２１０）。
【０２１８】
被写体分布算出部３１１は、被写体検出結果を基に、映像データに対して、部品の被写体分布を算出する（ステップＳ２２０）。実施例２では、被写体分布算出部３１１は、被写体分布として、ｘ座標における被写体の度数分布を用いる。
【０２１９】
図１９は、実施例２に係る部品の被写体分布の一例を示す図である。
【０２２０】
図１９に示されているように、実施例２は、映像データの左から２００ないし４００ピクセルの範囲に含まれる部品を、判定対象とする。
【０２２１】
被写体分布算出部３１１は、被写体分布記憶部３１６に被写体分布を記憶させる（ステップＳ２３０）。
【０２２２】
現在負荷算出部３１２は、被写体分布を取得する（ステップＳ２４０）。
【０２２３】
そして現在負荷算出部３１２は、被写体分布と、解析部２３０の負荷及び計算資源とを基に、解析部２３０の現在の負荷率を算出する（ステップＳ２５０）。
【０２２４】
図２０は、実施例２の説明に用いる解析部２３０の負荷を示す図である。図２０に示されているデータは、図９に示されているデータに相当する。
【０２２５】
図２１は、実施例２において現在負荷算出部３１２が算出した解析部２３０の現在の負荷率を示す図である。
【０２２６】
図２１の１行目のデータ（第１の解析部２３０）について詳細に説明する。
【０２２７】
図２０を参照すると、第１の解析部２３０の部品検出部２３１において、フレーム毎の負荷は、０．２秒である。ここで、秒間フレーム数を１０とすると、部品検出部２３１の負荷は、次のとおりである。
第１の部品検出部２３１の負荷＝０．２×１０＝２［秒］
図１９を参照すると、第１のカメラ１２１の対象範囲に含まれる部品の数、つまり第１の解析部２３０の品質判定部２３３の解析の対象である部品の数は、次のとおりである。
第１の品質判定部２３３の解析対象の部品の数＝２＋６＝８
図２０を参照すると、品質判定部２３３の部品毎の負荷は、０．１秒である。そのため、品質判定部２３３の負荷は、次のとおりである。
第１の品質判定部２３３の負荷＝０．１×８×１０＝８［秒］
したがって、第１の解析部２３０の負荷の合計は、次のとおりである。
第１の解析部２３０の負荷＝２＋８＝１０［秒］
つまり、第１の解析部２３０は、一つのプロセッサで処理すると１０秒掛かる処理を１秒で処理できる計算資源、つまり１０個のプロセッサを必要とする。また、上記のとおり、第１の解析部２３０のプロセッサの数は、「８個」である（図１０を参照）。したがって、第１の解析部２３０の現在の負荷率は、次のとおりである。つまり、処理として必要なプロセッサ数と資源として利用可能なプロセッサの数との比は、次のとおりである。
第１の解析部２３０の現在の負荷率＝１０／８＝１．２５
同様にして、現在負荷算出部３１２は、第２及び第３の解析部２３０の現在の負荷率を、それぞれ、「０．２５」及び「０．２５」と算出する。
【０２２８】
負荷予測部３１３は、被写体分布を取得する（ステップＳ２６０）。
【０２２９】
そして、負荷予測部３１３は、被写体分布と、解析部２３０の負荷及び計算資源と、被写体移動モデルと基に、解析部２３０における将来の負荷率を予測（算出）する（ステップＳ２７０）。
【０２３０】
図２２は、実施例２に用いられる被写体移動モデルを示す図である。
【０２３１】
図２２に示されている被写体移動モデルは、次のとおりである。
【０２３２】
［数式３］
ｘ（ｏｉ，ｔ）＝ｘ（ｏｉ，ｔ−１．０）＋１００
数式３において、ｘ（ｏｉ，ｔ）は、時刻ｔにおける被写体ｏｉの中心のｘ座標（単位は、ピクセル）を示す。この被写体移動モデルは、被写体ｏｉが、映像データにおいて毎秒１００ピクセルの速さで左から右へ移動するとモデルである。
【０２３３】
図２３は、実施例２において負荷予測部３１３が算出した将来の負荷率を示す図である。以下、第１の解析部２３０の将来の負荷率を予測（算出）する動作について、説明する。
【０２３４】
まず、負荷予測部３１３は、解析部２３０における０秒後から１秒後の秒間の負荷の予測を算出する。０秒後から１秒後の部品数は、「８」である。そのため、解析部２３０における秒間の負荷は、秒間フレーム数を１０とすると、次のとおりである。
第１の部品検出部２３１の負荷＝０．２×１０＋８×０．１×１０＝１０［秒］
次に、負荷予測部３１３が、１秒後から２秒後における解析部２３０の負荷を予測する動作について説明する。
【０２３５】
図２２に示されている被写体移動モデルを参照すると、被写体は、毎秒１００ピクセルの速さで、左から右に移動する。そのため、例えば第１のカメラ１２１における１秒後の被写体数は、２００から３００ピクセルにおいて「４」、３００から４００ピクセルにおいて「２」となる。つまり、１秒後から２秒後における対象となる部品の数は、次のとおりである。
第１の解析部２３０の１秒後から２秒後の部品の数＝４＋２＝６
そのため、負荷予測部３１３は、次のように、１秒後から２秒後における第１の解析部２３０の秒間の負荷を算出する。
第１の解析部２３０の１秒後から２秒後の負荷＝０．２×１０＋６×０．１×１０＝８［秒］
負荷予測部３１３は、同様に、２秒後から３秒後の負荷を算出する。
【０２３６】
そして、負荷予測部３１３は、図２３に示されているように、第１の解析部２３０の負荷の平均を算出する。
第１の解析部２３０の平均の負荷＝（１０＋８＋６）／３＝８［秒］
つまり、第１の解析部２３０は、一つのプロセッサを用いた場合に「８秒」掛かる処理を、毎秒処理する計算資源が必要である。つまり、第１の解析部２３０が必要な計算資源は、８個のプロセッサである。また、第１の解析部２３０のプロセッサ数は、「８」である。
【０２３７】
そのため、負荷予測部３１３は、第１の解析部２３０の将来の負荷率として、次の値を算出する。
第１の解析部２３０の将来の負荷率＝８／８＝１．０
すなわち、負荷予測部３１３は、第１の解析部２１０について、今後３秒間における将来の負荷率を「１．０」と予測する。
【０２３８】
次に、被写体解析タスク移動決定部３１４は、各解析部２３０の現在の負荷率及び将来の負荷率を基に、移動元の解析部２３０と移動先の解析部２３０とを決定する（ステップＳ２８０）。
【０２３９】
図２１を参照すると、第１の解析部２３０の現在の負荷率が最も大きい。そのため、被写体解析タスク移動決定部３１４は、移動元の解析部２３０として、第１の解析部２１０を選択する。
【０２４０】
図２３を参照すると、第２の解析部２３０の将来の負荷率が、最も小さい。そのため、被写体解析タスク移動決定部３１４は、移動先の解析部２３０として、第２の解析部２２０を選択する。
【０２４１】
そして、被写体解析タスク移動部３１５は、移動元である第１の解析部２３０の被写体解析タスクキュー２３２が保存する被写体解析タスクを、移動先の第２の解析部２３０の被写体解析タスクキュー２３２に移動する（ステップＳ２９０）。
【０２４２】
このように、実施例２に係る情報処理装置３０１の負荷予測部３１３は、被写体分布に基づく将来の負荷率を用いて、被写体解析タスクの移動する移動先の解析部２３０を決定する。そのため、情報処理装置３０１は、第１の実施形態の同様の効果を奏する。
【０２４３】
［実施例３］
次に、図面を参照して、実施例３について説明する。実施例３は、対象物が回転する場合についての例である。
【０２４４】
［構成の説明］
実施例３の構成は、第１の実施形態、実施例１、又は実施例２と同様である。そのため、構成の詳細な説明を省略する。以下の説明では、一例として、第１の実施形態の説明に用いた構成を用いて説明する。
【０２４５】
［動作の説明］
次に、図面を参照して、実施例３の動作について説明する。ただし、以下の説明において、第１の実施形態、実施例１、及び実施例２と同様の動作の説明については、適宜、その説明を省略する。
【０２４６】
解析部２１０は、解析対象の判定に角度を用いる点を除き、第１の実施形態の同様に動作する。そのため、解析部２１０の詳細な動作の説明を省略する。
【０２４７】
なお、被写体検出部２１１が対象であるか否かの判定に用いる角度の判定基準は、特に制限されない。さらに、被写体検出部２１１は、判定する被写体の回転軸の方向として、いずれの方向を用いてもよい。
【０２４８】
例えば、被写体検出部２１１は、被写体の回転軸として、映像データの面に対して垂直な方向（ｚ軸）を用いてもよい。具体的には、被写体検出部２１１は、水平方向に回転する被写体を上から撮影した映像データを用いて、被写体の回転における角度を判定してもよい。
【０２４９】
あるいは、被写体検出部２１１は、映像データの面上の垂直線（映像データの縦方向）を被写体の回転軸として用いてもよい。映像データの面が、地面に対して垂直な場合、この回転は、水平回転となる。以下、一例として、水平回転を用いて説明する。また、角度の単位は、度（degree）とする。映像配信装置１０１に正対している場合の角度を０度とする。さらに、被写体を上から見て左回りに回転した場合の角度を、正の角度とする。
【０２５０】
さらに、被写体検出部２１１は、対象の判定に用いる角度の範囲を、特に制限されない。以下では、一例として、被写体検出部２１１は、０度の左右の所定の範囲（例えば、±２２．５度の範囲）を判定範囲として用いる。
【０２５１】
情報処理装置３０１の被写体分布算出部３１１は、被写体検出結果を受信する（ステップＳ２１０）。
【０２５２】
次に、被写体分布算出部３１１は、被写体分布を算出する（ステップＳ２２０）。実施例３の被写体分布算出部３１１は、被写体分布として、水平回転角についての被写体の度数分布を算出する。
【０２５３】
図２４は、実施例３における被写体分布を示す図である。
【０２５４】
被写体分布算出部３１１は、被写体分布を記憶させる（ステップＳ２３０）。
【０２５５】
現在負荷算出部３１２は、被写体分布を取得する（ステップＳ２４０）。
【０２５６】
そして、現在負荷算出部３１２は、被写体分布と、解析部２１０の負荷及び計算資源とを基に、解析部２１０の現在の負荷率を算出する（ステップＳ２５０）。
【０２５７】
図２５は、実施例３における解析部２１０の現在の負荷率を示す図である。
【０２５８】
図２５に示されている第１の解析部２１０における現在の負荷率を算出する動作について詳細に説明する。
【０２５９】
解析部２１０の負荷は、図９に示されている値とする。つまり、被写体検出部２１１の秒間の負荷は、０．２［秒］（＝０．２×１０）である。ただし、秒間フレーム数は、「１０」とする。
【０２６０】
図２４を参照すると、第１の映像装置における解析の対象となる被写体の数（つまり、第１の解析部２１０の処理対象となる被写体の数）は、次のとおりである。
第１の解析部２１０の処理対象の被写体の数＝２＋４＋０＝６
図９を参照すると、第１の解析部２１０の被写体解析部２１３における被写体毎の負荷は、０．１秒である。そのため、被写体解析部２１３における被写体解析の負荷は、次のとおりである。
第１の被写体解析部２１３における負荷＝０．１×６×１０＝６［秒］
その結果、第１の解析部２１０の負荷の合計は、次のようになる。
第１の解析部２１０の負荷＝２＋６＝８［秒］
図１０を参照すると、第１の解析部２１０のプロセッサの数は、「８」である。そのため、第１の解析部２１０の現在の負荷率は、次のようになる。
第１の解析部２１０現在の負荷率＝８／８＝１．０
第２及び第３の解析部２１０の負荷率も、それぞれ同様に算出された値である。
【０２６１】
負荷予測部３１３は、被写体分布を取得する（ステップＳ２６０）。
【０２６２】
そして、負荷予測部３１３は、被写体分布と、解析部２１０の負荷及び計算資源と、被写体移動モデルとを基に、解析部２１０における将来の負荷率を予測（算出）する（ステップＳ２７０）。
【０２６３】
図２６は、実施例３に用いられる被写体移動モデルを示す図である。
【０２６４】
図２６に示されている被写体移動モデルは、次のとおりである。
【０２６５】
［数式４］
ｒ（ｏｉ，ｔ）＝ｒ（ｏｉ，ｔ−１．０）＋１５
数式４において、ｒ（ｏｉ，ｔ）は、時刻ｔにおける被写体ｏｉの角度（水平回転角）を示す。この被写体移動モデルは、被写体ｏｉが、毎秒１５度で左回りに回転するモデルである。
【０２６６】
図２７は、実施例３において負荷予測部３１３が算出した将来の負荷率を示す図である。以下、第１の解析部２１０の将来の負荷率を予測（算出）する動作について説明する。
【０２６７】
まず、負荷予測部３１３は、解析部２１０における０秒後から１秒後の秒間の負荷を予測する。０秒後から１秒後の秒間の負荷は、次のとおりである。
第１の解析部２１０の０秒後から１秒後までの負荷＝０．２×１０＋６×０．１×１０＝８［秒］
次に、負荷予測部３１３は、１秒後から２秒後の秒間の負荷を予測する。この場合における被写体は、図２４における「−３７．５°から７．７°まで」の範囲に含まれる被写体である。図２４を参照すると、第１の解析部２１０の被写体の数（つまり、第１の映像配信装置１０１における被写体に数）は、次のようになる。
第１の解析部２１０の被写体の数＝２＋２＋４＝８
したがって、第１の解析部２１０の負荷は、次のとおりである。
第１の解析部２１０の負荷＝０．２×１０＋８×０．１×１０＝１０［秒］
負荷予測部３１３は、同様に、２秒後から３秒後の負荷を「６秒」と算出する。そして、負荷予測部３１３は、図２７に示されているように、負荷の平均として、次を算出する。
第１の解析部２１０の負荷の平均＝（８＋１０＋６）／３＝８［秒］
その結果、負荷予測部３１３は、第１の解析部２１０の将来の負荷率として、次を算出する。
第１の解析部２１０の将来の負荷率＝８／８＝１．０
すなわち、負荷予測部３１３は、第１の解析部２１０の今後３秒間における将来の負荷率として、「１．０」を算出する。
【０２６８】
被写体解析タスク移動決定部３１４は、現在負荷算出部３１２が算出した現在の負荷率と、負荷予測部３１３が算出した将来の負荷率とを基に、被写体解析タスクの移動元の解析部２１０と移動先の解析部２１０とを決定する（ステップＳ２８０）。
【０２６９】
ここで、図２５及び図２７を用いて、被写体解析タスク移動決定部３１４の動作について説明する。
【０２７０】
図２５を参照すると、第１の解析部２１０が、現在の負荷率が最も大きい。そのため、被写体解析タスク移動決定部３１４は、移動元の解析部２１０として、現在の負荷率が最も大きい第１の解析部２１０を選択する。
【０２７１】
図２７を参照すると、第２の解析部２１０が、将来の負荷率が最も小さい。そのため、被写体解析タスク移動決定部３１４は、移動先の解析部２１０として、第２の解析部２１０を選択する。
【０２７２】
被写体解析タスク移動部３１５は、決定された移動元の解析部２１０の被写体解析タスク保存部２１２に保存されている被写体解析タスクを、移動先の解析部２１０の被写体解析タスク保存部２１２に移動する（ステップＳ２９０）。今の場合、被写体解析タスク移動部３１５は、第１の解析部２１０の被写体解析タスク保存部２１２に保存されている被写体解析タスクを、第２の解析部２１０の被写体解析タスク保存部２１２に移動する。
【０２７３】
このように、実施例３に係る情報処理装置３０１の負荷予測部３１３は、被写体分布に基づく将来の負荷率を用いて、被写体解析タスクの移動する移動先の解析部２１０を決定する。そのため、情報処理装置３０１は、第１の実施形態の同様の効果を奏する。
【０２７４】
［変形例１］
以上の説明した第１の実施形態及び各実施形態の情報処理装置３０１の構成は、次のように構成される。
【０２７５】
例えば、情報処理装置３０１の各構成部は、ハードウェア回路で構成されてもよい。
【０２７６】
また、情報処理装置３０１において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。
【０２７７】
図２８は、第１の実施形態の変形例１に係る情報処理装置３０２の構成の一例を示すブロック図である。
【０２７８】
情報処理装置３０２は、被写体分布算出部３１１と、負荷予測部３１３とを含む。
【０２７９】
情報処理装置３０２の各構成は、図示しないネットワークなどを介して、被写体分布記憶部３１６と、解析負荷記憶部３１７と、解析計算資源記憶部３１８とに相当する装置又は構成に接続されている。
【０２８０】
被写体分布算出部３１１は、図示しないネットワークなどを介して、解析部２１０と、被写体分布記憶部３１６に相当する構成に接続されている。そして、被写体分布算出部３１１は、被写体分布を算出し、被写体分布記憶部３１６に相当する装置又は構成に保存する。
【０２８１】
負荷予測部３１３は、図示しないネットワークなどを介して、被写体分布記憶部３１６と、解析負荷記憶部３１７と、解析計算資源記憶部３１８と、被写体移動モデル記憶部３１９に相当する装置又は構成に接続されている。そして、負荷予測部３１３は、被写体分布と、解析部２１０の負荷及び計算資源と、被写体移動モデルとを基に、将来の負荷率を算出する。そして、負荷予測部３１３は、図示しないネットワークなどを介して、将来の負荷率を、被写体解析タスク移動決定部３１４に相当する構成に送信する。なお、負荷予測部３１３は、被写体分布算出部３１１から、被写体分布を取得してもよい。
【０２８２】
このように構成された情報処理装置３０２は、情報処理装置３０１と同様に、映像データの処理における負荷を予測する、つまり、将来の負荷率を算出するとの効果を奏することができる。
【０２８３】
その理由は、上記のとおり、情報処理装置３０２の負荷予測部３１３が、被写体分布算出部３１１が算出した被写体分布などを基に、解析部２１０の将来の負荷率を算出できるためである。
【０２８４】
なお、情報処理装置３０２は、本発明の実施形態における最小構成である。
【０２８５】
［変形例２］
また、情報処理装置３０１において、複数の構成部は、１つのハードウェアで構成されてもよい。
【０２８６】
また、情報処理装置３０１は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現されてもよい。情報処理装置３０１は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input / Output Circuit）と、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）とを含むコンピュータ装置として実現されてもよい。
【０２８７】
図２９は、変形例２に係る情報処理装置６００の構成の一例を示すブロック図である。
【０２８８】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
【０２８９】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図７に示されている、被写体分布算出部３１１と、現在負荷算出部３１２と、負荷予測部３１３と、被写体解析タスク移動決定部３１４と、被写体解析タスク移動部３１５としての各機能を実現する。
【０２９０】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶媒体として使用してもよい。
【０２９１】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作してもよい。
【０２９２】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programmable-ROM）又はフラッシュＲＯＭである。
【０２９３】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０２９４】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。内部記憶装置６４０は、被写体分布記憶部３１６、解析負荷記憶部３１７、解析計算資源記憶部３１８、及び／又は、被写体移動モデル記憶部３１９として動作してもよい。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
【０２９５】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性（non-transitory）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（transitory）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０２９６】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
【０２９７】
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０２９８】
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
【０２９９】
ＮＩＣ６８０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。ＮＩＣ６８０は、例えば、ＬＡＮ（Local Area Network）カードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。
【０３００】
このように構成された情報処理装置６００は、情報処理装置３０１と同様の効果を得ることができる。
【０３０１】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて情報処理装置３０１と同様の機能を実現できるためである。
【０３０２】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０３０３】
１０１    映像配信装置
１２１    カメラ
２０１    解析装置
２１０    解析部
２１１    被写体検出部
２１２    被写体解析タスク保存部
２１３    被写体解析部
２２０    解析部
２２１    顔検出部
２２２    被写体解析タスクキュー
２２３    顔特徴抽出部
２３０    解析部
２３１    部品検出部
２３２    被写体解析タスクキュー
２３３    品質判定部
３０１    情報処理装置
３０２    情報処理装置
３１１    被写体分布算出部
３１２    現在負荷算出部
３１３    負荷予測部
３１４    被写体解析タスク移動決定部
３１５    被写体解析タスク移動部
３１６    被写体分布記憶部
３１７    解析負荷記憶部
３１８    解析計算資源記憶部
３１９    被写体移動モデル記憶部
４００    情報処理システム
４０２    情報処理システム
４０３    情報処理システム
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
【図１】
2018005334.tif 000003
【図２】
2018005334.tif 000004
【図３】
2018005334.tif 000005
【図４】
2018005334.tif 000006
【図５】
2018005334.tif 000007
【図６】
2018005334.tif 000008
【図７】
2018005334.tif 000009
【図８】
2018005334.tif 000010
【図９】
2018005334.tif 000011
【図１０】
2018005334.tif 000012
【図１１】
2018005334.tif 000013
【図１２】
2018005334.tif 000014
【図１３】
2018005334.tif 000015
【図１４】
2018005334.tif 000016
【図１５】
2018005334.tif 000017
【図１６】
2018005334.tif 000018
【図１７】
2018005334.tif 000019
【図１８】
2018005334.tif 000020
【図１９】
2018005334.tif 000021
【図２０】
2018005334.tif 000022
【図２１】
2018005334.tif 000023
【図２２】
2018005334.tif 000024
【図２３】
2018005334.tif 000025
【図２４】
2018005334.tif 000026
【図２５】
2018005334.tif 000027
【図２６】
2018005334.tif 000028
【図２７】
2018005334.tif 000029
【図２８】
2018005334.tif 000030
【図２９】
2018005334.tif 000031