IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7311036画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-10
(45)【発行日】2023-07-19
(54)【発明の名称】画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法
(51)【国際特許分類】
   H04N 21/24 20110101AFI20230711BHJP
【FI】
H04N21/24
【請求項の数】 15
(21)【出願番号】P 2022512993
(86)(22)【出願日】2020-03-31
(86)【国際出願番号】 JP2020014813
(87)【国際公開番号】W WO2021199283
(87)【国際公開日】2021-10-07
【審査請求日】2022-06-24
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】河野 美帆
【審査官】富樫 明
(56)【参考文献】
【文献】国際公開第2020/004380(WO,A1)
【文献】特開2015-132887(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
配備対象の画像処理プログラムの処理レートに基づいて、前記配備対象の画像処理プログラムが処理する映像を転送する際に前記映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する決定部と、
前記転送データの種類に基づいて、複数の情報処理装置の中から、前記配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する選択部と、
を備えることを特徴とする画像処理制御装置。
【請求項2】
前記決定部は、前記処理レートが閾値よりも大きい場合、前記転送データの種類を前記動画に決定し、前記処理レートが前記閾値よりも小さい場合、前記転送データの種類を前記静止画に決定することを特徴とする請求項1記載の画像処理制御装置。
【請求項3】
前記決定部は、前記映像の所定時間範囲に含まれる複数の画像を前記静止画として転送する場合の画像1枚当たりの転送データ量と、前記複数の画像を前記動画として転送する場合の単位時間当たりの転送データ量とを用いて、前記単位時間当たりの転送データ量に対応する前記静止画の画像レートを計算し、前記画像レートを前記閾値として用いることを特徴とする請求項2記載の画像処理制御装置。
【請求項4】
前記選択部は、前記複数の情報処理装置のうち、前記映像を処理する画像処理プログラムが配備されている情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理制御装置。
【請求項5】
前記選択部は、前記転送データの種類が前記動画に決定された場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記映像が前記動画として転送されている情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項4記載の画像処理制御装置。
【請求項6】
前記選択部は、前記転送データの種類が前記静止画に決定された場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記配備対象の画像処理プログラムの処理レートに関する制約条件を満たす情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項4記載の画像処理制御装置。
【請求項7】
前記選択部は、前記配備対象の画像処理プログラムが前記配備先情報処理装置に配備された後、前記配備先情報処理装置に入力されるデータの転送レートが所定値よりも大きくなった場合、前記転送データの種類を前記静止画から前記動画に変更して、前記配備対象の画像処理プログラムが再配備される他の情報処理装置を選択することを特徴とする請求項6記載の画像処理制御装置。
【請求項8】
前記選択部は、前記配備対象の画像処理プログラムのデータ転送時間及び処理時間に関する制約条件を満たす情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理制御装置。
【請求項9】
前記選択部は、前記配備対象の画像処理プログラムの処理リソースに関する制約条件を満たす情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理制御装置。
【請求項10】
前記選択部は、前記転送データの種類が前記動画に決定され、かつ、前記配備対象の画像処理プログラムの処理リソースに関する制約条件を満たす単一の情報処理装置が存在しない場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記映像が前記動画として転送されている複数の情報処理装置各々を、前記配備先情報処理装置として選択することを特徴とする請求項4記載の画像処理制御装置。
【請求項11】
前記選択部は、前記転送データの種類が前記静止画に決定され、かつ、前記配備対象の画像処理プログラムの処理リソースに関する制約条件を満たす単一の情報処理装置が存在しない場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記配備対象の画像処理プログラムの処理レートに関する制約条件を満たす複数の情報処理装置各々を、前記配備先情報処理装置として選択し、前記配備先情報処理装置の処理リソースに応じて、前記配備先情報処理装置へ転送される前記静止画の画像レートを決定することを特徴とする請求項4記載の画像処理制御装置。
【請求項12】
配備対象の画像処理プログラムの処理レートに基づいて、前記配備対象の画像処理プログラムが処理する映像を転送する際に前記映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定し、
前記転送データの種類に基づいて、複数の情報処理装置の中から、前記配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する、
処理をコンピュータに実行させるための画像処理制御プログラム。
【請求項13】
前記転送データの種類を決定する処理は、前記処理レートが閾値よりも大きい場合、前記転送データの種類を前記動画に決定し、前記処理レートが前記閾値よりも小さい場合、前記転送データの種類を前記静止画に決定する処理を含むことを特徴とする請求項12記載の画像処理制御プログラム。
【請求項14】
配備対象の画像処理プログラムの処理レートに基づいて、前記配備対象の画像処理プログラムが処理する映像を転送する際に前記映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定し、
前記転送データの種類に基づいて、複数の情報処理装置の中から、前記配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する、
処理をコンピュータが実行することを特徴とする画像処理制御方法。
【請求項15】
前記転送データの種類を決定する処理は、前記処理レートが閾値よりも大きい場合、前記転送データの種類を前記動画に決定し、前記処理レートが前記閾値よりも小さい場合、前記転送データの種類を前記静止画に決定する処理を含むことを特徴とする請求項14記載の画像処理制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理制御技術に関する。
【背景技術】
【0002】
近年、カメラで撮影された映像を用いた様々な画像処理が行われている。例えば、工場内の映像を用いた画像処理としては、映像中の人物を検出する処理、映像中の人物の人数をカウントする処理、映像中の人物が行っている作業を検出する処理、映像中の人物が扱っている道具又は部品の位置を追跡する処理等が挙げられる。
【0003】
画像処理に関連して、ユーザがフレームレートを段階的に切り替える操作を行うことによって、動画用コーデックと静止画用コーデックを自動的に切り替える画像通信端末装置が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平10-285588号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
映像を用いて画像処理を行う際、通信ネットワーク上の複数の情報処理装置(コンピュータ)のいずれかに画像処理プログラムを配備して、処理対象の映像を画像処理プログラムへ転送する運用が行われることがある。この場合、画像処理プログラムの制約条件を満たしつつ、通信ネットワークのトラフィックを低減するように、画像処理プログラムの配備先を決定することが望ましい。
【0006】
1つの側面において、本発明は、画像処理プログラムの配備先として、通信ネットワークのトラフィックが低減されるような情報処理装置を選択することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、画像処理制御装置は、決定部及び選択部を含む。決定部は、配備対象の画像処理プログラムの処理レートに基づいて、配備対象の画像処理プログラムが処理する映像を転送する際に映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する。選択部は、転送データの種類に基づいて、複数の情報処理装置の中から、配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する。
【発明の効果】
【0008】
1つの側面によれば、画像処理プログラムの配備先として、通信ネットワークのトラフィックが低減されるような情報処理装置を選択することができる。
【図面の簡単な説明】
【0009】
図1】画像処理システムを示す図である。
図2】要求時間を示す図である。
図3】処理リソースの使用状況を示す図である。
図4】ビットレートを調整する画像処理システムを示す図である。
図5】アプリケーションを複数の処理サーバに配備する配備方法を示す図である。
図6】映像から抽出される動画及び静止画を示す図である。
図7】転送データの種類に応じた画像処理の開始時刻を示す図である。
図8】画像処理制御装置の機能的構成図である。
図9】制御処理のフローチャートである。
図10】画像処理システムの機能的構成図である。
図11】制御サーバの機能的構成図である。
図12】アプリケーションの処理レートと転送データ量との関係を示す図である。
図13】閾値決定処理のフローチャートである。
図14A】アプリケーション配備処理のフローチャート(その1)である。
図14B】アプリケーション配備処理のフローチャート(その2)である。
図15】高処理レートアプリケーションの配備先処理サーバを示す図である。
図16】低処理レートアプリケーションの配備先処理サーバを示す図である。
図17】低処理レートアプリケーションを複数の処理サーバに配備する配備方法を示す図である。
図18】アプリケーションの制約条件を示す図である。
図19】処理サーバの処理リソースを示す図である。
図20】転送データの画像レートを示す図である。
図21】サーバ間の帯域を示す図である。
図22】アプリケーションの配備結果を示す図である。
図23】抽出処理のフローチャートである。
図24】振分処理のフローチャートである。
図25】更新処理を示す図である。
図26】映像のデータ量が変動した場合のアプリケーションの処理レートと転送データ量との関係を示す図である。
図27】処理サーバの機能的構成図である。
図28】監視処理のフローチャートである。
図29】アプリケーション再配備処理のフローチャートである。
図30】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0011】
図1は、映像に対する画像処理を行う画像処理システムの例を示している。図1の画像処理システムは、制御サーバ101、処理サーバ102-1、処理サーバ102-2、DB(database)サーバ103-1、及びDBサーバ103-2を含む。これらのサーバは情報処理装置であり、通信ネットワークを介して互いに通信することができる。画像処理システムに含まれる処理サーバ及びDBサーバの台数は、3台以上であってもよい。
【0012】
処理サーバ102-1は、抽出部121及び振分部122を含み、処理サーバ102-2は、受信部123及び振分部124を含む。処理サーバ102-1に入力される映像は、複数の時刻それぞれの画像を含む。各時刻の画像は、フレームと呼ばれることもある。処理サーバ102-1には、アプリケーションAが配備されている。アプリケーションAは、映像を処理する画像処理プログラムの一例である。
【0013】
画像レートは、画像処理システムにおいて単位時間当たりに転送又は処理される画像の枚数を表す。画像レートは、フレームレートと呼ばれることもある。処理サーバ102-1に入力される映像の画像レートは、60fpsである。fpsは、1秒当たりのフレーム数を表す単位である。
【0014】
抽出部121は、制御サーバ101から指示された画像レート及びデータ量で、受信した映像から動画又は静止画の転送データを抽出し、抽出された転送データを振分部122へ出力する。振分部122は、制御サーバ101から指示された画像レートで、転送データをアプリケーションAへ転送する。図1の例では、アプリケーションAへ転送される転送データの画像レートは、60fpsである。
【0015】
アプリケーションAは、振分部122から受信した転送データを逐次処理し、処理結果131-1をDBサーバ103-1へ送信する。DBサーバ103-1は、処理サーバ102-1から受信した処理結果131-1を記憶する。
【0016】
制御サーバ101は、制約条件111及び負荷情報112を記憶し、配備制御部113及び振分制御部114を含む。制約条件111は、画像処理システム内に配備されているアプリケーション毎の制約条件であり、要求時間及び要求処理リソースを含む。負荷情報112は、アプリケーション毎の処理リソースの使用状況を表す。処理リソースは、処理サーバ102-1及び処理サーバ102-2のCPU(Central Processing Unit)、メモリ等の計算リソースである。
【0017】
要求時間は、転送データのデータ転送時間及び処理時間の和の上限値を表す。要求時間は、画像処理プログラムのデータ転送時間及び処理時間に関する制約条件の一例である。要求処理リソースは、アプリケーションが転送データの処理に使用する処理リソースを表す。要求処理リソースは、画像処理プログラムの処理リソースに関する制約条件の一例である。
【0018】
図2は、要求時間の例を示している。データ転送時間T21は、振分部122がアプリケーションAへ、所定時間当たりの映像に対応する転送データを転送する時間を表す。処理時間T22は、所定時間当たりの映像に対応する転送データを、アプリケーションAが処理する時間を表す。データ転送時間T23は、アプリケーションAがDBサーバ103-1へ、所定時間当たりの映像に対応する転送データの処理結果を転送する時間を表す。
【0019】
データ転送時間T21、処理時間T22、及びデータ転送時間T23の総和T2が、アプリケーションAの要求時間T1以下である場合、要求時間の制約条件が満たされる。
【0020】
配備制御部113は、外部から配備対象のアプリケーションを受け付けて、処理サーバ102-1又は処理サーバ102-2のいずれかに配備する。この例では、配備対象のアプリケーションは、アプリケーションBである。アプリケーションBは、アプリケーションAと同じ映像を用いて、アプリケーションAとは異なる画像処理を行う。
【0021】
この場合、配備制御部113は、処理サーバ102-1及び処理サーバ102-2のうち、アプリケーションBの制約条件111を満たす処理サーバ102-2を、配備先処理サーバとして選択する。そして、配備制御部113は、アプリケーションBを処理サーバ102-2に配備し、アプリケーションBへ転送される転送データの画像レート及びデータ量を決定する。
【0022】
振分制御部114は、処理サーバ102-2を、転送データの転送先として処理サーバ102-1に通知する。さらに、振分制御部114は、転送データの画像レート及びデータ量を処理サーバ102-1に通知する。処理サーバ102-1の抽出部121は、通知された画像レート及びデータ量で、映像から転送データを抽出し、振分部122は、通知された画像レートで転送データを処理サーバ102-2へ転送する。図1の例では、処理サーバ102-2へ転送される転送データの画像レートは、60fpsである。
【0023】
処理サーバ102-2の受信部123は、処理サーバ102-1から転送データを受信し、振分部124へ出力する。振分部124は、60fpsの画像レートで、転送データをアプリケーションBへ転送する。これにより、同じ映像から抽出された転送データが、アプリケーションA及びアプリケーションBに振り分けられる。
【0024】
アプリケーションBは、振分部124から受信した転送データを逐次処理し、処理結果131-2をDBサーバ103-2へ送信する。DBサーバ103-2は、処理サーバ102-2から受信した処理結果131-2を記憶する。
【0025】
しかしながら、転送データを単純に複数のアプリケーションに振り分けるだけでは、各処理サーバの処理リソースを有効に活用することが難しい。
【0026】
図3は、図1の画像処理システムにおいて、アプリケーションA及びアプリケーションBが配備されたときの処理リソースの使用状況の例を示している。処理サーバ102-1の使用状況301-1は、CPUに含まれる8個のコアのうち、6個のコアが占有されていることを示す。処理サーバ102-2の使用状況301-2も、CPUに含まれる8個のコアのうち、6個のコアが占有されていることを示す。
【0027】
この場合、処理サーバ102-1及び処理サーバ102-2各々において、2個のコアが使用されていないため、画像処理システム全体の空きリソースは、4個のコアである。この状態において、配備制御部113は、配備対象のアプリケーションCを受け付ける。アプリケーションCは、アプリケーションA及びアプリケーションBと同じ映像を用いて、アプリケーションA及びアプリケーションBとは異なる画像処理を行う。
【0028】
アプリケーションCの要求処理リソースが4個のコアである場合、いずれの処理サーバの空きリソースも要求処理リソースの制約条件を満たさないため、配備先の処理サーバが見つからない。したがって、アプリケーションCはいずれの処理サーバにも配備されず、各処理サーバの空きリソースが活用されない。この場合、画像処理システムにおけるアプリケーションの収容度が低下する。アプリケーションの収容度は、1台の処理サーバ当たりの配備済みアプリケーションの個数を表す。
【0029】
また、図1の画像処理システムでは、処理サーバ102-1から処理サーバ102-2へ、映像と同じ画像レートで転送データが転送されており、通信ネットワークのトラフィックが増大する。そこで、転送データのビットレートを調整する方法が考えられる。ビットレートは、転送レートの一例である。
【0030】
図4は、転送データのビットレートを調整する画像処理システムの例を示している。図4の画像処理システムは、図1の画像処理システムにおいて、処理サーバ102-1を処理サーバ401に置き換えた構成を有する。図4において、制御サーバ101は省略されている。
【0031】
処理サーバ401は、図1の処理サーバ102-1において、振分部122をビットレート制御部402に置き換えた構成を有する。ビットレート制御部402は、各アプリケーションへ転送される転送データのデータ量が、各処理サーバの処理リソースによって処理可能な範囲内に収まり、かつ、通信ネットワークの使用帯域内に収まるように、転送データのビットレートを削減する。そして、ビットレート制御部402は、転送データをアプリケーションA及び処理サーバ102-2へ転送する。
【0032】
図4の例では、アプリケーションAへ転送される転送データのビットレートは、1Mbpsに設定されており、処理サーバ102-2へ転送される転送データのビットレートは、500Kbpsに削減されている。これにより、通信ネットワークのトラフィックを低減することができる。
【0033】
しかしながら、ビットレートを削減すると、アプリケーションが処理する画像の解像度が低下するため、アプリケーションの処理結果に影響を与える可能性がある。したがって、高精度な処理結果を得るためには、ビットレートの削減は好ましくない。そこで、同じアプリケーションを複数の処理サーバに配備し、転送データを画像単位で分割して、画像処理を並列化する方法が考えられる。
【0034】
図5は、図1の画像処理システムにおいて、アプリケーションを複数の処理サーバに配備する配備方法の例を示している。図3に示した使用状況301-1及び使用状況301-2の状態において、配備制御部113は、配備対象のアプリケーションCを受け付ける。
【0035】
次に、配備制御部113は、振分部122からの転送遅延が小さい処理サーバから順に、要求時間の制約条件を満たす処理サーバを、配備先処理サーバとして選択する。そして、配備制御部113は、配備先処理サーバの処理リソース及びネットワークリソースを確保し、配備先処理サーバにアプリケーションを配備する。
【0036】
図5の例では、振分部122からの転送遅延が最も小さい処理サーバは、処理サーバ102-1であり、振分部122からの転送遅延が2番目に小さい処理サーバは、処理サーバ102-2である。処理サーバ102-1及び処理サーバ102-2の各々は、2個のコアを空きリソースとして有する。
【0037】
アプリケーションCの要求処理リソースが4個のコアである場合、配備制御部113は、処理サーバ102-1及び処理サーバ102-2を配備先処理サーバとして選択し、各処理サーバの空きリソースを処理リソースとして確保する。次に、配備制御部113は、アプリケーションCをコピーしてアプリケーションC1及びアプリケーションC2を生成し、アプリケーションC1を処理サーバ102-1に配備し、アプリケーションC2を処理サーバ102-2に配備する。
【0038】
そして、配備制御部113は、各処理サーバの処理リソースに応じて、アプリケーションC1及びアプリケーションC2の処理レートを決定する。処理レートは、単位時間当たりに処理される画像の枚数を表す。
【0039】
図5の例では、アプリケーションC1及びアプリケーションC2の処理レートが10fpsに決定され、処理サーバ102-1から処理サーバ102-2へ転送される静止画の画像レートが20fpsに決定される。
【0040】
振分制御部114は、処理サーバ102-1及び処理サーバ102-2を、静止画の転送先として処理サーバ102-1に通知する。さらに、振分制御部114は、アプリケーションC1及びアプリケーションC2の処理レートと、処理サーバ102-2へ転送される静止画の画像レートとを、処理サーバ102-1に通知する。
【0041】
処理サーバ102-1の抽出部121は、60fpsの画像レートで、映像から静止画の転送データを抽出する。振分部122は、60fpsの画像レートで、静止画をアプリケーションAへ転送する。また、振分部122は、10fpsの画像レートで、静止画をアプリケーションC1へ転送し、20fpsの画像レートで、静止画を処理サーバ102-2へ転送する。
【0042】
処理サーバ102-2の受信部123は、処理サーバ102-1から静止画を受信し、振分部124へ出力する。振分部124は、10fpsの画像レートで、静止画をアプリケーションC2へ転送し、20fpsの画像レートで、静止画をアプリケーションBへ転送する。
【0043】
アプリケーションC1へ転送される静止画は、例えば、映像に含まれる偶数番目の画像である。アプリケーションC2へ転送される静止画は、例えば、映像に含まれる奇数番目の画像である。
【0044】
アプリケーションC1は、振分部122から受信した静止画を逐次処理し、処理結果をDBサーバ103-1へ送信する。アプリケーションC2は、振分部124から受信した静止画を逐次処理し、処理結果をDBサーバ103-1へ送信する。DBサーバ103-1は、アプリケーションC1及びアプリケーションC2の処理結果を、処理結果131-3として記憶する。
【0045】
図5の配備方法によれば、映像が画像単位で分割され、アプリケーションC1及びアプリケーションC2によって並列に処理される。これにより、各処理サーバの空きリソースが有効に活用され、画像処理システムにおけるアプリケーションの収容度が向上する。また、各処理サーバの処理リソースに応じて、アプリケーションC1及びアプリケーションC2の処理レートを決定することで、転送データの画像レートを削減することができる。
【0046】
しかしながら、映像を画像単位で振り分ける場合、映像から静止画を抽出する抽出処理の処理レートによっては、静止画のデータ量が動画よりも増加し、通信ネットワークの負荷が大きくなることがある。
【0047】
図6は、映像から抽出される動画及び静止画の例を示している。入力される映像の画像レートが30fpsであり、1枚の画像のサイズが1280×720画素である場合、フォーマットがyuv420pである2秒間の非圧縮動画のデータ量は、36600KBとなる。
【0048】
転送データの転送先が処理サーバ102-2である場合、抽出部121は、この2秒間の非圧縮動画を、動画の転送データ601、静止画の転送データ602、又は静止画の転送データ603として抽出する。転送データ601は、動画像符号化により圧縮されて転送され、転送データ602又は転送データ603は、静止画符号化により圧縮されて転送される。
【0049】
例えば、転送データ601は、MP4フォーマットの30fpsの圧縮動画として転送され、転送データ601のデータ量は516KBとなる。転送データ602は、JPEG(Joint Photographic Experts Group)フォーマットの10fpsの圧縮静止画として転送され、転送データ602のデータ量は721KBとなる。転送データ603は、JPEGフォーマットの5fpsの圧縮静止画として転送され、転送データ603のデータ量は476KBとなる。
【0050】
この場合、静止画の転送データ603のデータ量は、動画の転送データ601のデータ量よりも少なくなるが、静止画の転送データ602のデータ量は、動画の転送データ601のデータ量よりも約40%多くなる。
【0051】
このように、抽出処理の処理レートによっては、静止画の転送データのデータ量が動画の転送データのデータ量よりも増加することがある。なお、転送データのデータ量は映像の圧縮率に依存し、圧縮率は映像の内容に応じて変化する。
【0052】
映像を動画として転送する場合、単位時間当たりの圧縮率は高くなるが、圧縮動画から各画像を復元する際に、前時刻の画像の情報が用いられる。このため、画像処理を並列化しても転送データのデータ量は削減されず、並列度に応じて通信ネットワーク上を転送される転送データ量が増加するため、通信ネットワークの負荷が大きくなる。
【0053】
また、動画の圧縮が完了するまで、アプリケーションへの転送が開始されないため、画像処理の開始までの待ち時間が長くなる。このため、アプリケーションによっては、処理レートの制約条件が満たされなくなることがある。一方、映像を静止画として転送する場合、画像を1枚ずつ圧縮して転送することができるため、画像処理の開始までの待ち時間は短くなる。
【0054】
図7は、転送データの種類に応じた画像処理の開始時刻の例を示している。映像に含まれる各画像701を静止画として転送する場合、画像単位で符号化及び復号が行われるため、時刻t1において、アプリケーションによる画像処理が開始される。
【0055】
一方、映像に含まれる所定枚数の画像群711及び画像群712それぞれを動画として転送する場合、画像群単位で符号化及び復号が行われる。このため、時刻t1よりも遅い時刻t2において、画像群711の画像処理が開始され、時刻t3において、画像群712の画像処理が開始される。
【0056】
したがって、映像を静止画として転送した方が、アプリケーションによる画像処理を早く開始することができる。しかし、上述したように、抽出処理の処理レートによっては、転送データのデータ量が動画よりも多くなる。このように、同じアプリケーションを複数の処理サーバに配備して画像処理を並列化するだけでは、アプリケーションの処理レートの制約条件を満たしつつ、通信ネットワークのトラフィックを低減することは難しい。
【0057】
図8は、実施形態の画像処理制御装置の機能的構成例を示している。図8の画像処理制御装置801は、決定部811及び選択部812を含む。
【0058】
図9は、図8の画像処理制御装置801が行う制御処理の例を示すフローチャートである。まず、決定部811は、配備対象の画像処理プログラムの処理レートに基づいて、配備対象の画像処理プログラムが処理する映像を転送する際に映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する(ステップ901)。次に、選択部812は、転送データの種類に基づいて、複数の情報処理装置の中から、配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する(ステップ902)。
【0059】
図8の画像処理制御装置801によれば、画像処理プログラムの配備先として、通信ネットワークのトラフィックが低減されるような情報処理装置を選択することができる。
【0060】
図10は、図8の画像処理制御装置801を含む画像処理システムの機能的構成例を示している。図10の画像処理システムは、制御サーバ1001、処理サーバ1002-1~処理サーバ1002-N、及びDBサーバ1003-1~DBサーバ1003-Mを含む。Nは2以上の整数であり、Mは1以上の整数である。
【0061】
これらのサーバは情報処理装置であり、通信ネットワーク1004を介して互いに通信することができる。通信ネットワーク1004は、例えば、LAN(Local Area Network)又はWAN(Wide Area Network)である。制御サーバ1001は、図8の画像処理制御装置801に対応する。
【0062】
処理サーバ1002-i(i=1~N)は、受信部1011-i、抽出部1012-i、振分部1013-i、及び実行部1014-iを含む。処理サーバ1002-1の受信部1011-1は、処理対象の映像を受信し、抽出部1012-1へ出力する。抽出部1012-1は、映像から動画又は静止画の転送データを抽出し、抽出された転送データを振分部1013-1へ出力する。
【0063】
振分部1013-1は、転送データを実行部1014-1又は他の処理サーバ1002-i(i=2~N)へ転送する。転送先が実行部1014-1である場合、静止画の転送データが転送される。転送先が他の処理サーバ1002-iである場合、動画又は静止画の転送データが、動画像符号化又は静止画符号化により圧縮されて転送される。
【0064】
実行部1014-1は、処理サーバ1002-1に配備されたアプリケーションを実行することで、静止画に対する画像処理を行い、処理結果をいずれかのDBサーバ1003-j(j=1~M)へ送信する。
【0065】
処理サーバ1002-i(i=2~N)の受信部1011-iは、処理サーバ1002-1から転送データを受信し、受信した転送データを復号する。転送データが動画である場合、受信部1011-iは、転送データを抽出部1012-iへ出力する。転送データが静止画である場合、受信部1011-iは、転送データを振分部1013-iへ出力する。
【0066】
抽出部1012-iは、動画から静止画を抽出して、振分部1013-iへ出力する。振分部1013-iは、受信部1011-i又は抽出部1012-iから出力される静止画を、実行部1014-iへ出力する。実行部1014-iは、処理サーバ1002-iに配備されたアプリケーションを実行することで、静止画に対する画像処理を行い、処理結果をいずれかのDBサーバ1003-jへ送信する。
【0067】
DBサーバ1003-j(j=1~M)は、記憶部1021-jを含む。記憶部1021-jは、処理サーバ1002-i(i=1~N)から受信した処理結果を記憶する。
【0068】
実行部1014-i(i=1~N)は、アプリケーション毎に異なる画像処理を行い、アプリケーション毎に異なる処理結果を生成する。アプリケーションによる画像処理は、画像中の人物を検出する処理、画像中の人物の人数をカウントする処理、画像中の人物が行っている作業を検出する処理、又は画像中の人物が扱っている道具又は部品の位置を追跡する処理であってもよい。
【0069】
図11は、図10の制御サーバ1001の機能的構成例を示している。図11の制御サーバ1001は、配備制御部1101、振分制御部1102、通信部1103、及び記憶部1104を含む。記憶部1104は、制約条件1111及び負荷情報1112を記憶する。配備制御部1101は、図8の決定部811及び選択部812に対応する。
【0070】
制約条件1111は、画像処理システム内に配備されているアプリケーション毎の制約条件であり、要求処理レート、要求時間、及び要求処理リソースを含む。要求処理レートは、アプリケーションが単位時間当たりに処理する画像の枚数を表す。要求処理レートは、画像処理プログラムの処理レートに関する制約条件の一例である。
【0071】
要求時間は、図2に示したように、転送データのデータ転送時間及び処理時間の和の上限値を表す。要求処理リソースは、アプリケーションが転送データの処理に使用する処理リソースを表す。負荷情報1112は、アプリケーション毎の処理リソースの使用状況を表す。
【0072】
配備制御部1101は、外部から配備対象のアプリケーションを受け付け、配備対象のアプリケーションの要求処理レートに基づいて、配備対象のアプリケーションに対する転送データの種類を、動画又は静止画のいずれかに決定する。そして、配備制御部1101は、決定された転送データの種類に基づいて、いずれかの処理サーバ1002-iを配備先処理サーバとして選択し、転送データの画像レート、データ量、及び抽出処理の処理レートを決定する。
【0073】
通信部1103は、配備対象のアプリケーションを配備先処理サーバへ送信し、配備先処理サーバは、受信したアプリケーションをインストールする。これにより、配備対象のアプリケーションが配備先処理サーバに配備される。配備先処理サーバの実行部1014-iは、配備されたアプリケーションを実行する。
【0074】
振分制御部1102は、配備対象のアプリケーションに対する転送データの転送先、画像レート、データ量、及び抽出処理の処理レートを示す制御情報を生成し、通信部1103は、制御情報を処理サーバ1002-1へ送信する。これにより、制御情報が処理サーバ1002-1に通知される。
【0075】
処理サーバ1002-1の抽出部1012-1は、制御情報が示す抽出処理の処理レート及びデータ量で、映像から転送データを抽出し、振分部1013-1へ出力する。振分部1013-1は、制御情報が示す画像レートで、転送データを実行部1014-1又は他の処理サーバ1002-iへ転送する。
【0076】
配備制御部1101は、映像を動画として転送する場合と、静止画として転送する場合とで、転送データ量を最小にする並列化方法が異なることを利用して、通信負荷が低下するようにアプリケーションの配備方法を決定する。
【0077】
転送データが動画である場合、並列度が上がると転送データ量が増加するため、配備制御部1101は、転送の並列度を下げつつ、要求時間の制約条件を満たす最大のデータ量を決定する。転送データが静止画である場合、配備制御部1101は、各処理サーバに対する転送データの画像レートが小さくなり、かつ、複数の処理サーバに対する転送データのデータ量の和が小さくなるように、画像処理を並列化し、転送データを振り分ける。
【0078】
図12は、アプリケーションの処理レートと転送データ量との関係の例を示している。横軸は、アプリケーションの処理レートを表し、縦軸は、単位時間当たりの転送データ量を表す。水平方向の複数の線分1201は、転送データが静止画である場合の単位時間当たりの転送データ量を表し、一点鎖線1202は、転送データが動画である場合の単位時間当たりの転送データ量Qを表す。
【0079】
線分1201が示す転送データ量は、処理レートの増加とともに増加し、一点鎖線1202が示す転送データ量Qは、処理レートにかかわらず一定である。処理レートが所定値Rよりも小さい場合、映像を静止画として転送する方が動画として転送する場合よりも、単位時間当たりの転送データ量が小さくなる。一方、処理レートが所定値Rよりも大きい場合、映像を動画として転送する方が静止画として転送する場合よりも、単位時間当たりの転送データ量が小さくなる。
【0080】
そこで、配備制御部1101は、所定値Rを閾値として用いて、配備対象のアプリケーションに対する転送データの種類を決定する。配備制御部1101は、アプリケーションの要求処理レートが閾値よりも大きい場合、転送データを動画に決定し、要求処理レートが閾値よりも小さい場合、転送データを静止画に決定する。
【0081】
図13は、図10の制御サーバ1001が行う閾値決定処理の例を示すフローチャートである。まず、配備制御部1101は、配備対象のアプリケーションが処理する映像の登録を受け付ける(ステップ1301)。
【0082】
次に、配備制御部1101は、受け付けた映像に含まれる画像1枚当たりの転送データ量Aを、処理サーバ1002-1から取得する(ステップ1302)。次に、配備制御部1101は、複数の画像を動画として転送する場合の単位時間当たりの転送データ量Qを、処理サーバ1002-1から取得する(ステップ1303)。
【0083】
処理サーバ1002-1の抽出部1012-1は、所定周期で、映像から所定時間範囲に含まれる複数の画像を抽出し、抽出された画像1枚当たりの静止画の転送データ量Aを計算する。また、抽出部1012-1は、抽出された複数の画像を動画として転送する場合の単位時間当たりの転送データ量Qを計算する。そして、処理サーバ1002-1は、転送データ量A及び単位時間当たりの転送データ量Qを、制御サーバ1001に通知する。これにより、配備制御部1101は、転送データ量A及び単位時間当たりの転送データ量Qを取得することができる。
【0084】
次に、配備制御部1101は、転送データ量Qをデータ量Aで除算することで、転送データ量Qに対応する静止画の画像レートを計算し、計算された画像レートを閾値に決定する(ステップ1304)。
【0085】
図13の閾値決定処理によれば、映像を静止画として転送する場合の単位時間当たりの転送データ量が、映像を静止画として転送する場合の単位時間当たりの転送データ量と等しくなる画像レートを、閾値に決定することができる。
【0086】
図14A及び図14Bは、図10の制御サーバ1001が行うアプリケーション配備処理の例を示すフローチャートである。まず、配備制御部1101は、配備対象のアプリケーションを受け付け(ステップ1401)、画像システム内に同一映像処理サーバが存在するか否かをチェックする(ステップ1402)。同一映像処理サーバは、配備対象のアプリケーションと同じ映像を処理するアプリケーションが配備されている処理サーバ1002-iである。
【0087】
1台以上の同一映像処理サーバが存在する場合(ステップ1402,YES)、配備制御部1101は、負荷情報1112を参照して、同一映像処理サーバに空きリソースが存在するか否かをチェックする(ステップ1403)。
【0088】
いずれかの同一映像処理サーバに空きリソースが存在する場合(ステップ1403,YES)、配備制御部1101は、空きリソースが存在する1台以上の同一映像処理サーバを、候補処理サーバとして選択する(ステップ1404)。
【0089】
同一映像処理サーバを候補処理サーバとして選択することで、既に転送されている転送データを利用することが可能になるため、通信ネットワーク1004のトラフィックの増加が抑制される。
【0090】
空きリソースを有する処理サーバ1002-iを候補処理サーバとして選択することで、すべての処理リソースを使用している処理サーバ1002-iを、配備先処理サーバの候補から除外することができる。
【0091】
次に、配備制御部1101は、配備対象のアプリケーションの制約条件1111を満たす配備先処理サーバが決定されたか否かをチェックする(ステップ1405)。制約条件1111を満たす配備先処理サーバが決定されていない場合(ステップ1405,NO)、配備制御部1101は、ステップ1406の処理を行う。ステップ1406において、配備制御部1101は、配備対象のアプリケーションの要求処理レートを、配備対象のアプリケーションが処理する映像の閾値と比較する(ステップ1406)。
【0092】
要求処理レートが閾値よりも大きい場合(ステップ1406,YES)、配備制御部1101は、配備対象のアプリケーションを高処理レートアプリケーションに分類する(ステップ1407)。高処理レートアプリケーションは、転送データが動画として転送されるアプリケーションである。
【0093】
次に、配備制御部1101は、同一映像高処理レートアプリケーションが配備されている候補処理サーバの中から、配備対象のアプリケーションの要求時間の制約条件を満たす候補処理サーバを検索する(ステップ1408)。そして、配備制御部1101は、検索対象の候補処理サーバが存在するか否かをチェックする(ステップ1411)。
【0094】
同一映像高処理レートアプリケーションは、配備対象のアプリケーションと同じ映像を処理する高処理レートアプリケーションである。ステップ1408においては、所定時間として単位時間が用いられ、単位時間当たりの映像に対応する転送データのデータ転送時間と、その転送データの処理結果を転送するデータ転送時間との和が、転送遅延として計算される。そして、転送遅延が要求時間以下である場合、要求時間の制約条件を満たすと判定される。
【0095】
検索対象の候補処理サーバが存在する場合(ステップ1411,YES)、配備制御部1101は、検索された候補処理サーバの中に、低負荷処理サーバが存在するか否かをチェックする(ステップ1412)。低負荷処理サーバは、配備対象のアプリケーションの要求処理リソースの制約条件を満たす処理サーバ1002-iである。処理サーバ1002-iの空きリソースが要求処理リソース以上である場合、要求処理リソースの制約条件が満たされる。
【0096】
低負荷処理サーバが存在する場合(ステップ1412,YES)、配備制御部1101は、低負荷処理サーバのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する(ステップ1413)。そして、配備制御部1101は、ステップ1405以降の処理を行う。
【0097】
同一映像高処理レートアプリケーションが配備されている候補処理サーバを、配備先処理サーバとして選択することで、既に転送されている動画の転送データを利用することが可能になるため、動画転送の並列度の増加が抑止される。これにより、通信ネットワーク1004のトラフィックの増加が抑制される。
【0098】
要求時間の制約条件を満たす候補処理サーバを、配備先処理サーバとして選択することで、配備対象のアプリケーションの要求時間の制約条件を満たすことができる。
【0099】
低負荷処理サーバを配備先処理サーバとして選択することで、配備対象のアプリケーションの要求処理リソースの制約条件を満たすことができる。
【0100】
要求処理レートが閾値以下である場合(ステップ1406,NO)、配備制御部1101は、配備対象のアプリケーションを低処理レートアプリケーションに分類する(ステップ1409)。低処理レートアプリケーションは、転送データが静止画として転送されるアプリケーションである。
【0101】
次に、配備制御部1101は、同一映像低処理レートアプリケーションが配備されている候補処理サーバの中から、配備対象のアプリケーションの要求処理レート及び要求時間の制約条件を満たす候補処理サーバを検索する(ステップ1410)。そして、配備制御部1101は、ステップ1411以降の処理を行う。
【0102】
同一映像低処理レートアプリケーションは、配備対象のアプリケーションと同じ映像を処理する低処理レートアプリケーションである。ステップ1410においては、ステップ1408と同様にして転送遅延が計算され、転送遅延が要求時間以下である場合、要求時間の制約条件を満たすと判定される。また、処理サーバ1002-iへ転送されている転送データの画像レートが要求処理レート以上である場合、要求処理レートの制約条件を満たすと判定される。
【0103】
同一映像低処理レートアプリケーションが配備されている候補処理サーバを、配備先処理サーバとして選択することで、既に転送されている静止画の転送データを利用することが可能になるため、静止画転送の並列度の増加が抑止される。これにより、通信ネットワーク1004のトラフィックの増加が抑制される。
【0104】
要求処理レートの制約条件を満たす候補処理サーバを、配備先処理サーバとして選択することで、配備対象のアプリケーションの要求処理レートの制約条件を満たすことができる。
【0105】
要求時間の制約条件を満たす候補処理サーバを、配備先処理サーバとして選択することで、配備対象のアプリケーションの要求時間の制約条件を満たすことができる。
【0106】
ステップ1406~ステップ1410の処理によれば、配備対象のアプリケーションが、要求処理レートに応じて高処理レートアプリケーション又は低処理レートアプリケーションに分類される。これにより、映像を動画として転送する場合と静止画として転送する場合における転送データ量の違いを利用して、最適な配備先処理サーバを決定することが可能になる。
【0107】
低負荷処理サーバが存在しない場合(ステップ1412,NO)、配備制御部1101は、配備対象のアプリケーションの要求処理レート及び要求処理リソースを、より小さな値に分割する(ステップ1414)。そして、配備制御部1101は、分割後の要求処理レート及び要求処理リソースを用いて、ステップ1405以降の処理を行う。
【0108】
要求処理レート及び要求処理リソースを分割してステップ1405以降の処理を再度行うことで、要求処理リソースの制約条件を満たさない複数台の候補処理サーバを、配備先処理サーバとして選択することが可能になる。
【0109】
制約条件1111を満たす1台又は複数台の配備先処理サーバが決定された場合(ステップ1405,YES)、通信部1103は、配備対象のアプリケーションを配備先処理サーバへ送信する(ステップ1416)。そして、配備先処理サーバは、受信したアプリケーションをインストールする。
【0110】
同一映像処理サーバが存在しない場合(ステップ1402,NO)、配備制御部1101は、ステップ1415の処理を行う。ステップ1415において、配備制御部1101は、空きリソースを有する処理サーバ1002-iのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する。そして、配備制御部1101は、ステップ1416の処理を行う。
【0111】
いずれの同一映像処理サーバにも空きリソースが存在しない場合(ステップ1403,NO)、及び検索対象の候補処理サーバが存在しない場合(ステップ1411,NO)も、配備制御部1101は、ステップ1415及びステップ1416の処理を行う。
【0112】
次に、配備制御部1101は、配備対象のアプリケーションの分類をチェックする(ステップ1417)。配備対象のアプリケーションが高処理レートアプリケーションである場合(ステップ1417,YES)、配備制御部1101は、ステップ1418の処理を行う。
【0113】
ステップ1418において、配備制御部1101は、配備先処理サーバに配備されている高処理レートアプリケーション毎に、要求時間の制約条件を満たす映像の最大データ量を計算する。最大データ量の計算対象となる高処理レートアプリケーションは、配備先処理サーバに配備されている配備対象のアプリケーション及び同一映像高処理レートアプリケーションである。ステップ1418においては、転送データのデータ転送時間及び処理時間の和が要求時間以下である場合、要求時間の制約条件を満たすと判定される。
【0114】
次に、配備制御部1101は、計算対象の高処理レートアプリケーションの最大データ量のうち、最も小さい最大データ量を、配備先処理サーバに対する転送データのデータ量として選択する(ステップ1419)。
【0115】
次に、振分制御部1102は、転送データの種類が動画であることと、転送データのデータ量とを示す抽出制御情報を生成し、通信部1103は、生成された抽出制御情報を処理サーバ1002-1へ送信する(ステップ1420)。
【0116】
次に、振分制御部1102は、転送データの転送先及び画像レートを示す転送制御情報を生成し、通信部1103は、生成された転送制御情報を処理サーバ1002-1へ送信する(ステップ1423)。転送データの転送先としては、配備先処理サーバを示す情報が用いられる。
【0117】
配備対象のアプリケーションが低処理レートアプリケーションである場合(ステップ1417,NO)、制御サーバ1001は、ステップ1421の処理を行う。ステップ1421において、振分制御部1102は、転送データの種類が静止画であることと、静止画を抽出する抽出処理の処理レートとを示す抽出制御情報を生成し、通信部1103は、生成された抽出制御情報を処理サーバ1002-1へ送信する。
【0118】
配備対象のアプリケーションの要求処理レートが、配備先処理サーバに配備されている同一映像低処理レートアプリケーションの要求処理レートよりも大きい場合、配備制御部1101は、転送データの画像レートを更新する(ステップ1422)。この場合、配備制御部1101は、配備対象のアプリケーションの要求処理レートを、転送データの画像レートとして選択する。そして、制御サーバ1001は、ステップ1423の処理を行う。
【0119】
ステップ1422において、配備対象のアプリケーションの要求処理レートが、配備先処理サーバに配備されている同一映像低処理レートアプリケーションの要求処理レート以下である場合、配備制御部1101は、転送データの画像レートを更新しない。
【0120】
図15は、高処理レートアプリケーションの配備先処理サーバの例を示している。処理サーバ1002-1に入力される映像の画像レートは、60fpsである。処理サーバ1002-3には、アプリケーションDが配備されており、処理サーバ1002-4には、アプリケーションEが配備されている。アプリケーションFは、配備対象の高処理レートアプリケーションである。アプリケーションD及びアプリケーションEは、同一映像高処理レートアプリケーションである。一方、処理サーバ1002-2には、同一映像高処理レートアプリケーションが配備されていない。
【0121】
この場合、ステップ1408において、同一映像高処理レートアプリケーションが配備されている処理サーバ1002-3及び処理サーバ1002-4が選択され、ステップ1412において、低負荷処理サーバである処理サーバ1002-4が選択される。そして、処理サーバ1002-4が配備先処理サーバに決定され、アプリケーションFが処理サーバ1002-4に配備される。
【0122】
処理サーバ1002-1の振分部1013-1は、40fpsの画像レートで、動画の転送データを処理サーバ1002-3及び1002-4へ転送する。処理サーバ1002-3の受信部1011-3は、受信した転送データを抽出部1012-3へ出力し、抽出部1012-3は、動画から静止画を抽出して、振分部1013-3へ出力する。振分部1013-3は、抽出部1012-3から出力される静止画を、アプリケーションDへ出力する。
【0123】
処理サーバ1002-4の受信部1011-4は、受信した転送データを抽出部1012-4へ出力し、抽出部1012-4は、動画から静止画を抽出して、振分部1013-4へ出力する。振分部1013-4は、抽出部1012-4から出力される静止画を、アプリケーションE及びアプリケーションFへ出力する。
【0124】
このように、同一映像高処理レートアプリケーションが配備されている処理サーバを、配備先処理サーバとして選択することで、動画転送の並列度の増加が抑止され、通信ネットワーク1004のトラフィックを低減することができる。
【0125】
図16は、低処理レートアプリケーションの配備先処理サーバの例を示している。処理サーバ1002-1に入力される映像の画像レートは、60fpsである。処理サーバ1002-2には、アプリケーションGが配備されており、処理サーバ1002-3には、アプリケーションHが配備されている。アプリケーションIは、配備対象の低処理レートアプリケーションである。アプリケーションG及びアプリケーションHは、同一映像低処理レートアプリケーションである。
【0126】
アプリケーションGの要求処理レートは20fpsであり、アプリケーションHの要求処理レートは40fpsである。この場合、処理サーバ1002-1の振分部1013-1は、20fpsの画像レートで、静止画の転送データを処理サーバ1002-2へ転送し、40fpsの画像レートで、静止画の転送データを処理サーバ1002-3へ転送する。
【0127】
配備対象のアプリケーションIの要求処理レートが40fpsである場合、処理サーバ1002-2に対する転送データの画像レートは、アプリケーションIの要求処理レートよりも小さい。このため、処理サーバ1002-2は、ステップ1410の要求処理レートの制約条件を満たさない。一方、処理サーバ1002-3に対する転送データの画像レートは、アプリケーションIの要求処理レートと同じであるため、処理サーバ1002-3は、ステップ1410の要求処理レートの制約条件を満たす。
【0128】
この場合、ステップ1410において、同一映像低処理レートアプリケーションが配備されている処理サーバ1002-2及び処理サーバ1002-3のうち、要求処理レートの制約条件を満たす処理サーバ1002-3が選択される。そして、処理サーバ1002-3が配備先処理サーバに決定され、アプリケーションIが処理サーバ1002-3に配備される。
【0129】
処理サーバ1002-2の受信部1011-2は、受信した静止画の転送データを振分部1013-2へ出力し、振分部1013-2は、静止画の転送データをアプリケーションGへ出力する。処理サーバ1002-3の受信部1011-3は、受信した静止画の転送データを振分部1013-3へ出力し、振分部1013-3は、静止画の転送データをアプリケーションH及びアプリケーションIへ出力する。
【0130】
このように、同一映像低処理レートアプリケーションが配備されており、かつ、要求処理レートの制約条件を満たす処理サーバを、配備先処理サーバとして選択することで、通信ネットワーク1004のトラフィックの増加を抑止することができる。
【0131】
図17は、低処理レートアプリケーションを複数の処理サーバに配備する配備方法の例を示している。処理サーバ1002-1に入力される映像の画像レートは、40fpsであり、ビットレートは、100Mbpsである。bpsは、1秒当たりのビット数を表す単位である。
【0132】
処理サーバ1002-2には、アプリケーションAが配備されており、処理サーバ1002-3には、アプリケーションBが配備されている。アプリケーションCは、配備対象のアプリケーションである。
【0133】
図18は、アプリケーションA~アプリケーションCの制約条件1111の例を示している。図18の制約条件1111は、各アプリケーションの要求処理リソース、要求時間、要求処理レート、及び画像1枚の処理時間を含む。この例では、処理リソースは、処理サーバのCPUに含まれるコアである。
【0134】
図18(a)は、配備済みのアプリケーションA及びアプリケーションBの制約条件1111の例を示している。アプリケーションAの要求処理リソースは、6個のコアであり、要求時間は8秒であり、要求処理レートは40fpsであり、画像1枚の処理時間は0.025秒である。アプリケーションBの要求処理リソースは、6個のコアであり、要求時間は10秒であり、要求処理レートは20fpsであり、画像1枚の処理時間は0.05秒である。
【0135】
図18(b)は、配備対象のアプリケーションCの制約条件1111の例を示している。アプリケーションCの要求処理リソースは、4個のコアであり、要求時間は15秒であり、要求処理レートは40fpsであり、画像1枚の処理時間は0.025秒である。
【0136】
ステップ1406の閾値が45fpsである場合、アプリケーションA~アプリケーションCの要求処理レートは閾値よりも小さいため、アプリケーションA~アプリケーションCは、低処理レートアプリケーションに分類される。したがって、アプリケーションA及びアプリケーションBは、同一映像低処理レートアプリケーションである。
【0137】
図19は、図17の状態における処理サーバ1002-2及び処理サーバ1002-3の処理リソースの例を示している。リソース総量は、各処理サーバが有するコアの個数を表し、空きリソースは、使用されていないコアの個数を表す。
【0138】
処理サーバ1002-2に配備されているアプリケーションAの要求処理リソースは6個のコアであるため、リソース総量の8個のコアのうち6個のコアがアプリケーションAによって使用されている。したがって、処理サーバ1002-2の空きリソースは、残りの2個のコアである。
【0139】
処理サーバ1002-3に配備されているアプリケーションBの要求処理リソースも6個のコアであるため、リソース総量の8個のコアのうち6個のコアがアプリケーションBによって使用されている。したがって、処理サーバ1002-3の空きリソースも2個のコアである。
【0140】
図20は、図17の状態において、処理サーバ1002-2及び処理サーバ1002-3へ転送される転送データの画像レートの例を示している。転送先は、転送データの転送先を表し、最大画像レートは、転送先の処理サーバへ転送される転送データの画像レートの最大値を表す。
【0141】
処理サーバ1002-2に配備されているアプリケーションAの要求処理レートは40fpsであるため、処理サーバ1002-2の最大画像レートは、40fpsである。一方、処理サーバ1002-3に配備されているアプリケーションBの要求処理レートは20fpsであるため、処理サーバ1002-3の最大画像レートは、20fpsである。
【0142】
図21は、サーバ間の帯域の例を示している。送信元は、データの送信元の処理サーバ1002-iを表し、送信先は、データの送信先の処理サーバ1002-i又はDBサーバ1003-jを表す。この例では、いずれのサーバ間の帯域も、1000Mbpsである。
【0143】
処理サーバ1002-1の振分部1013-1は、40fpsの画像レートで、静止画の転送データを処理サーバ1002-2へ転送し、20fpsの画像レートで、静止画の転送データを処理サーバ1002-3へ転送する。
【0144】
処理サーバ1002-2の受信部1011-2は、受信した静止画の転送データを振分部1013-2へ出力し、振分部1013-2は、静止画の転送データをアプリケーションAへ出力する。アプリケーションAは、振分部1013-2から受信した転送データを逐次処理し、処理結果1701-1をDBサーバ1003-1へ送信する。DBサーバ1003-1は、処理サーバ1002-2から受信した処理結果1701-1を記憶する。
【0145】
処理サーバ1002-3の受信部1011-3は、受信した静止画の転送データを振分部1013-3へ出力し、振分部1013-3は、静止画の転送データをアプリケーションBへ出力する。アプリケーションBは、振分部1013-3から受信した転送データを逐次処理し、処理結果1701-2をDBサーバ1003-2へ送信する。DBサーバ1003-2は、処理サーバ1002-3から受信した処理結果1701-2を記憶する。
【0146】
処理サーバ1002-2の最大画像レートは、配備対象のアプリケーションCの要求処理レートと同じであるため、処理サーバ1002-2は、ステップ1410の要求処理レートの制約条件を満たす。一方、処理サーバ1002-3の最大画像レートは、アプリケーションCの要求処理レートよりも小さいため、処理サーバ1002-3は、ステップ1410の要求処理レートの制約条件を満たさない。
【0147】
次に、処理サーバ1002-1に入力される映像のビットレートは100Mbpsであるため、単位時間当たりの映像に対応するデータ量は100Mbである。処理サーバ1002-1と処理サーバ1002-2との間の帯域は1000Mbpsであるため、処理サーバ1002-1が処理サーバ1002-2へ100Mbの転送データを転送するデータ転送時間T31は、0.1秒である。
【0148】
処理サーバ1002-2とDBサーバ1003-1との間の帯域は1000Mbpsであるため、処理サーバ1002-2がDBサーバ1003-1へ100Mbの処理結果を転送するデータ転送時間T32は、0.1秒である。
【0149】
したがって、データ転送時間T31及びデータ転送時間T32の和である転送遅延は0.2秒となり、アプリケーションCの要求時間よりも短いため、処理サーバ1002-2は、ステップ1410の要求時間の制約条件を満たす。
【0150】
次に、処理サーバ1002-1と処理サーバ1002-3との間の帯域は1000Mbpsであるため、処理サーバ1002-1が処理サーバ1002-3へ100Mbの転送データを転送するデータ転送時間T41は、0.1秒である。
【0151】
処理サーバ1002-3とDBサーバ1003-2との間の帯域は1000Mbpsであるため、処理サーバ1002-3がDBサーバ1003-2へ100Mbの処理結果を転送するデータ転送時間T42は、0.1秒である。
【0152】
したがって、データ転送時間T41及びデータ転送時間T42の和である転送遅延は0.2秒となり、アプリケーションCの要求時間よりも短いため、処理サーバ1002-3は、ステップ1410の要求時間の制約条件を満たす。
【0153】
この場合、ステップ1410において、同一映像低処理レートアプリケーションが配備されている処理サーバ1002-2及び処理サーバ1002-3のうち、要求処理レート及び要求時間の制約条件を満たす処理サーバ1002-2が選択される。しかし、処理サーバ1002-2の空きリソースは、アプリケーションCの要求処理リソースよりも少ないため、処理サーバ1002-2は、ステップ1412の低負荷処理サーバには該当しない。
【0154】
そこで、ステップ1414において、処理サーバ1002-2の空きリソースに合わせて、アプリケーションCの要求処理レート及び要求処理リソースが分割される。処理サーバ1002-2の空きリソースは、2個のコアであり、アプリケーションCの要求処理リソースの1/2に該当する。そこで、アプリケーションCの要求処理レート及び要求処理リソースがそれぞれ2分割され、分割後の要求処理レートは20fpsになり、分割後の要求処理リソースは2個のコアになる。
【0155】
分割後の要求処理レート及び要求処理リソースを用いて、ステップ1405以降の処理を行うことで、ステップ1410において、処理サーバ1002-2が再び選択される。処理サーバ1002-2の空きリソースは、アプリケーションCの分割後の要求処理リソースと同じであるため、処理サーバ1002-2は、低負荷処理サーバに該当する。そこで、ステップ1413において、処理サーバ1002-2が配備先処理サーバに決定される。
【0156】
しかし、処理サーバ1002-2のみでは分割前の要求処理リソースの1/2しか確保されないため、ステップ1405において、制約条件1111を満たす配備先処理サーバが決定されていないと判定される。そして、ステップ1410において、同一映像低処理レートアプリケーションが配備されている処理サーバ1002-3が、要求処理レートの制約条件を満たすか否かがチェックされる。
【0157】
この場合、分割後の要求処理レートは20fpsであり、処理サーバ1002-3の最大画像レートと同じであるため、処理サーバ1002-3は、要求処理レートの制約条件を満たす。さらに、処理サーバ1002-3の空きリソースは、分割後の要求処理リソースと同じであるため、処理サーバ1002-3は、低負荷処理サーバに該当する。そこで、ステップ1413において、処理サーバ1002-3が配備先処理サーバに決定される。
【0158】
これにより、分割前の要求処理リソースが確保されたため、ステップ1405において、制約条件1111を満たす配備先処理サーバが決定されたと判定される。そこで、ステップ1416において、配備制御部1101は、アプリケーションCを、配備先処理サーバである処理サーバ1002-2及び処理サーバ1002-3に配備する。
【0159】
図22は、アプリケーションCの配備結果の例を示している。配備制御部1101は、アプリケーションCをコピーしてアプリケーションC1及びアプリケーションC2を生成する。そして、通信部1103は、アプリケーションC1を処理サーバ1002-2へ送信し、アプリケーションC2を処理サーバ1002-3へ送信する。これにより、アプリケーションC1及びアプリケーションC2が、処理サーバ1002-2及び処理サーバ1002-3にそれぞれ配備される。
【0160】
次に、ステップ1421において、抽出処理の処理レートが、分割後の要求処理レートである20fpsに設定され、設定された抽出処理の処理レートを示す抽出制御情報が処理サーバ1002-1へ送信される。なお、ステップ1422において、分割後の要求処理レートは、アプリケーションA及びアプリケーションBの要求処理レート以下であるため、転送データの画像レートは更新されない。
【0161】
処理サーバ1002-1の抽出部1012-1は、40fpsの処理レートで、映像から静止画の転送データを抽出する。振分部1013-1は、40fpsの画像レートで、静止画を処理サーバ1002-2へ転送し、20fpsの画像レートで、静止画を処理サーバ1002-3へ転送する。
【0162】
処理サーバ1002-2の受信部1011-2は、処理サーバ1002-1から静止画を受信し、振分部1013-2へ出力する。振分部1013-2は、40fpsの画像レートで、静止画をアプリケーションAへ転送し、20fpsの画像レートで、静止画をアプリケーションC1へ転送する。
【0163】
処理サーバ1002-3の受信部1011-3は、処理サーバ1002-1から静止画を受信し、振分部1013-3へ出力する。振分部1013-3は、20fpsの画像レートで、静止画をアプリケーションBへ転送し、20fpsの画像レートで、静止画をアプリケーションC2へ転送する。
【0164】
アプリケーションC1は、振分部1013-2から受信した静止画を逐次処理し、処理結果をDBサーバ1003-1へ送信する。アプリケーションC2は、振分部1013-3から受信した静止画を逐次処理し、処理結果をDBサーバ1003-1へ送信する。DBサーバ1003-1は、アプリケーションC1及びアプリケーションC2の処理結果を、処理結果1701-3として記憶する。
【0165】
図22の配備結果によれば、映像が画像単位で分割され、アプリケーションC1及びアプリケーションC2によって並列に処理される。これにより、各処理サーバの空きリソースが有効に活用され、画像処理システムにおけるアプリケーションの収容度が向上する。
【0166】
次に、ステップ1418において、要求時間の制約条件を満たす映像の最大データ量を計算する具体例について説明する。配備先処理サーバが処理サーバ1002-2であり、最大データ量の計算対象となる高処理レートアプリケーションがアプリケーションJである場合を想定する。処理サーバ1002-1に入力される映像の画像レートは、40fpsであり、ビットレートは、100Mbpsである。
【0167】
映像のビットレートは100Mbpsであるため、x秒間の映像に対応するデータ量は100xMbである。処理サーバ1002-1と処理サーバ1002-2との間の帯域は1000Mbpsであるため、処理サーバ1002-1が処理サーバ1002-2へ100xMbの転送データを転送するデータ転送時間T51は、0.1x秒である。
【0168】
アプリケーションJの要求処理レートが20fpsである場合、アプリケーションJがx秒間に処理する画像の枚数は20x枚である。アプリケーションJの画像1枚の処理時間が0.025秒である場合、処理サーバ1002-2に配備されたアプリケーションJが20x枚の画像を処理する処理時間T52は、0.5x秒である。
【0169】
処理サーバ1002-2とDBサーバ1003-1との間の帯域は1000Mbpsであるため、処理サーバ1002-2がDBサーバ1003-1へ100xMbの処理結果を転送するデータ転送時間T53は、0.1x秒である。
【0170】
この場合、データ転送時間T51、処理時間T52、及びデータ転送時間T53の総和は、0.7x秒となる。アプリケーションJの要求時間が15秒である場合、要求時間の制約条件は、次式により表される。
【0171】
0.7x≦15 (1)
【0172】
式(1)を満たすxの最大値は、15/0.7=21.43となる。映像のビットレートは100Mbpsであるため、要求時間の制約条件を満たす映像の最大データ量は、2143Mbとなる。
【0173】
図14A及び図14Bのアプリケーション配備処理によれば、様々な処理性能のアプリケーションを任意のタイミングで配備する場合に、制約条件1111を満たし、かつ、トラフィックの増加を抑制する、配備先処理サーバを決定することができる。
【0174】
図23は、図10の処理サーバ1002-1の抽出部1012-1が行う抽出処理の例を示すフローチャートである。まず、抽出部1012-1は、制御サーバ1001から抽出制御情報を受信したか否かをチェックする(ステップ2301)。抽出制御情報を受信した場合(ステップ2301,YES)、抽出部1012-1は、抽出制御情報が示す転送データの種類をチェックする(ステップ2302)。
【0175】
転送データの種類が動画である場合(ステップ2302,YES)、抽出部1012-1は、動画の転送データのデータ量を、抽出制御情報が示すデータ量に更新し(ステップ2303)、転送データのデータ量の動画を映像から抽出する(ステップ2305)。
【0176】
転送データの種類が静止画である場合(ステップ2302,NO)、抽出部1012-1は、実行中の同一映像低処理レートアプリケーションの要求処理レートと、抽出制御情報が示す抽出処理の処理レートのうち、最大の処理レートを求める。そして、抽出部1012-1は、静止画の抽出処理の処理レートを、最大の処理レートに更新し(ステップ2304)、抽出処理の処理レートで、静止画を映像から抽出する(ステップ2305)。
【0177】
次に、抽出部1012-1は、抽出完了を振分部1013-1に通知し(ステップ2306)、ステップ2301以降の処理を繰り返す。
【0178】
抽出制御情報を受信していない場合(ステップ2301,NO)、抽出部1012-1は、転送データのデータ量又は抽出処理の処理レートを更新することなく、ステップ2305以降の処理を行う。
【0179】
図22に示した配備結果において、実行中の同一映像低処理レートアプリケーションであるアプリケーションAの要求処理レートは、40fpsであり、アプリケーションBの要求処理レートは、20fpsである。また、アプリケーションCの分割後の要求処理レートは20fpsであるため、抽出制御情報が示す抽出処理の処理レートは、20fpsである。この場合、ステップ2304において、最大の処理レートである40fpsが、更新後の抽出処理の処理レートとして設定される。
【0180】
図24は、図10の処理サーバ1002-1の振分部1013-1が行う振分処理の例を示すフローチャートである。まず、振分部1013-1は、制御サーバ1001から転送制御情報を受信したか否かをチェックする(ステップ2401)。転送制御情報を受信した場合(ステップ2401,YES)、振分部1013-1は、転送制御情報が示す転送先及び画像レートに応じて、転送データの転送先及び画像レートを更新する(ステップ2402)。
【0181】
次に、振分部1013-1は、抽出部1012-1から出力される転送データの種類をチェックする(ステップ2403)。転送データの種類が動画である場合(ステップ2403,YES)、振分部1013-1は、転送先の処理サーバ毎に、転送データを処理するアプリケーションの要求処理レートを取得する(ステップ2404)。
【0182】
次に、振分部1013-1は、転送先が他の処理サーバ1002-iであるか否かをチェックする(ステップ2405)。転送先が他の処理サーバ1002-iである場合(ステップ2405,YES)、振分部1013-1は、動画又は静止画の転送データを、転送先の処理サーバ1002-iへ転送する(ステップ2405)。このとき、振分部1013-1は、転送データを処理するアプリケーションの要求処理レートも、転送データとともに転送する。そして、振分部1013-1は、ステップ2401以降の処理を繰り返す。
【0183】
転送先が処理サーバ1002-1である場合(ステップ2405,NO)、振分部1013-1は、転送データの画像レートで、静止画の転送データを処理サーバ1002-1内のアプリケーションへ転送する(ステップ2408)。そして、振分部1013-1は、ステップ2401以降の処理を繰り返す。
【0184】
転送制御情報を受信していない場合(ステップ2401,NO)、振分部1013-1は、ステップ2403以降の処理を行う。転送データの種類が静止画である場合(ステップ2403,NO)、振分部1013-1は、ステップ2402で更新された画像レートに基づいて、処理サーバ間の転送データの画像レートを更新し(ステップ2407)、ステップ2404以降の処理を行う。
【0185】
図25は、ステップ2402における更新処理の例を示している。処理サーバは、転送先の処理サーバ1002-iを表し、アドレスは、転送先の処理サーバ1002-iのアドレスを表し、画像レートは、転送先の処理サーバ1002-iへ転送される転送データの画像レートを表す。
【0186】
図25(a)は、処理サーバ1002-4に配備されている同一映像低処理レートアプリケーションに対する転送データの転送先及び画像レートの例を示している。転送先の処理サーバ1002-4のアドレスは“192.168.0.40”であり、画像レートは20fpsである。
【0187】
図25(b)は、転送制御情報が示す転送先及び画像レートの例を示している。転送先の処理サーバは処理サーバ1002-4であり、画像レートは40fpsである。図25(c)は、図25(b)の転送制御情報に基づく更新結果の例を示している。転送先の処理サーバ1002-4の画像レートは、図25(b)の転送制御情報に応じて、20fpsから40fpsに更新される。
【0188】
図25(d)は、転送制御情報が示す転送先が処理サーバ1002-5である場合の更新結果の例を示している。この場合、転送制御情報に応じて、処理サーバ1002-5を転送先とするエントリが追加される。追加されたエントリのアドレスは“192.168.0.50”であり、画像レートは40fpsである。
【0189】
ところで、画像に写っている物体の位置の変化が小さい映像は圧縮率が高くなり、物体の位置の変化が大きい映像は圧縮率が小さくなる。このため、処理サーバ1002-1に入力される映像のデータ量は、画像内の物体の動きに応じて変動する。
【0190】
図26は、映像のデータ量が変動した場合のアプリケーションの処理レートと転送データ量との関係の例を示している。この例では、図12に示した複数の線分1201が、矢印2601が示すように上方へ移動しており、一点鎖線1202が、矢印2602が示すように上方へ移動している。この場合、所定値R以下の処理レートの範囲1603において、線分1201が示す転送データ量が、一点鎖線1202が示す転送データ量よりも多くなる。
【0191】
この状態において、所定値Rを閾値として用いてアプリケーションを分類すると、範囲1603の要求処理レートを有するアプリケーションが低処理レートアプリケーションに分類される。このため、通信ネットワーク1004における静止画の転送データのトラフィックが想定以上に増加し、サーバ間の帯域が圧迫される。
【0192】
そこで、各処理サーバ1002-iに入力される転送データのビットレートが帯域上限値に近づいた場合、ビットレート増大の原因となっている低処理レートアプリケーションを、他の処理サーバ1002-iに再配備することが望ましい。
【0193】
図27は、入力される転送データのビットレートを監視する処理サーバ1002-i(i=2~N)の機能的構成例を示している。図27の処理サーバ1002-iは、図10の処理サーバ1002-iに監視部2701-iを追加した構成を有する。監視部2701-iは、処理サーバ1002-iに入力される転送データのビットレートを監視し、ビットレートが帯域上限値に近づいた場合、処理サーバ1002-iの状態を制御サーバ1001に通知する。
【0194】
図28は、図27の監視部2701-iが行う監視処理の例を示すフローチャートである。まず、監視部2701-iは、処理サーバ1002-iに入力される転送データのビットレートを計算し(ステップ2801)、計算されたビットレートを所定値BRと比較する(ステップ2802)。所定値BRとしては、処理サーバ1002-iが受信する転送データの帯域上限値よりも小さく、かつ、帯域上限値に近い値が用いられる。
【0195】
ビットレートが所定値BR以下である場合(ステップ2802,NO)、監視部2701-iは、ステップ2801以降の処理を繰り返す。
【0196】
ビットレートが所定値BRよりも大きい場合(ステップ2802,YES)、監視部2701-iは、ビットレート増大の原因となる低処理レートアプリケーションを特定する(ステップ2803)。例えば、処理サーバ1002-iに配備されている低処理レートアプリケーションのうち、要求処理レートが最も大きい低処理レートアプリケーションが、原因となる低処理レートアプリケーションとして特定される。
【0197】
次に、監視部2701-iは、ビットレートが帯域上限値に近づいていることを示す帯域情報を、制御サーバ1001へ送信する(ステップ2804)。帯域情報には、原因となる低処理レートアプリケーションの識別情報が含まれる。そして、監視部2701-iは、ステップ2801以降の処理を繰り返す。
【0198】
図29は、図10の制御サーバ1001が行うアプリケーション再配備処理の例を示すフローチャートである。まず、通信部1103は、処理サーバ1002-iから帯域情報を受信する(ステップ2901)。
【0199】
次に、配備制御部1101は、帯域情報が示す低処理レートアプリケーションと同じ映像を処理している高処理レートアプリケーションが配備されている、他の処理サーバ1002-iを選択する(ステップ2902)。
【0200】
次に、配備制御部1101は、選択された処理サーバ1002-iのうち、空きリソースを有する処理サーバ1002-iを選択する(ステップ2903)。そして、配備制御部1101は、選択された処理サーバの中に、低負荷処理サーバが存在するか否かをチェックする(ステップ2904)。低負荷処理サーバは、帯域情報が示す低処理レートアプリケーションの要求処理リソースの制約条件を満たす処理サーバ1002-iである。
【0201】
低負荷処理サーバが存在する場合(ステップ2904,YES)、配備制御部1101は、低負荷処理サーバのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する(ステップ2905)。
【0202】
低負荷処理サーバが存在しない場合(ステップ2904,NO)、配備制御部1101は、ステップ2906の処理を行う。ステップ2906において、配備制御部1101は、空きリソースを有する処理サーバ1002-iのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する。
【0203】
次に、通信部1103は、帯域情報が示す低処理レートアプリケーションを、高処理レートアプリケーションとして配備先処理サーバへ送信する(ステップ2907)。そして、配備先処理サーバは、受信したアプリケーションをインストールする。
【0204】
次に、制御サーバ1001は、ステップ2908~ステップ2911の処理を行う。ステップ2908~ステップ2911の処理は、図14Bのステップ1418~ステップ1420及びステップ1423の処理と同様である。
【0205】
図29のアプリケーション再配備処理によれば、いずれかの処理サーバに入力される転送データのビットレートが増大した場合、アプリケーションを他の処理サーバに再配備して、静止画の転送データのトラフィックを低減することができる。このとき、既に動画の転送データが入力されている他の処理サーバの空きリソースが活用されるため、他のアプリケーションの処理及びデータ転送に影響を与えずに、各アプリケーションの実行を継続することができる。
【0206】
図8の画像処理制御装置801の構成は一例に過ぎず、画像処理制御装置801の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0207】
図1図4、及び図10の画像処理システムの構成は一例に過ぎず、画像処理システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図11の制御サーバ1001の構成は一例に過ぎず、画像処理システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図27の処理サーバ1002-iの構成は一例に過ぎず、画像処理システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0208】
図9図13図14A図14B図23図24図28、及び図29のフローチャートは一例に過ぎず、画像処理制御装置801又は画像処理システムの構成又は条件に応じて、一部の処理を省略又は変更してもよい。
【0209】
図2に示したデータ転送時間T21、処理時間T22、及びデータ転送時間T23は一例に過ぎず、データ転送時間及び処理時間は、入力される映像及びアプリケーションに応じて変化する。図3に示した処理リソースの使用状況は一例に過ぎず、処理リソースの使用状況は、入力される映像及びアプリケーションに応じて変化する。
【0210】
図5図15図17、及び図22に示したアプリケーションは一例に過ぎず、配備されるアプリケーションは、画像処理システムの用途又は条件に応じて変化する。図6に示した動画及び静止画は一例に過ぎず、動画及び静止画は、入力される映像に応じて変化する。図7に示した画像処理の開始時刻は一例に過ぎず、画像処理の開始時刻は、入力される映像に応じて変化する。
【0211】
図12及び図26に示した転送データ量は一例に過ぎず、転送データ量は、入力される映像に応じて変化する。図18に示した制約条件は一例に過ぎず、制約条件は、アプリケーションに応じて変化する。
【0212】
図19に示したリソース総量及び空きリソースは一例に過ぎず、リソース総量及び空きリソースは、処理サーバに応じて変化する。図20及び図25に示した画像レートは一例に過ぎず、転送データの画像レートは、配備されているアプリケーションに応じて変化する。図21に示したサーバ間の帯域は一例に過ぎず、サーバ間の帯域は、通信ネットワークに応じて変化する。
【0213】
図30は、図8の画像処理制御装置801、図10の制御サーバ1001、図10及び図27の処理サーバ1002-iとして用いられる情報処理装置のハードウェア構成例を示している。図30の情報処理装置は、CPU(Central Processing Unit)3001、メモリ3002、入力装置3003、出力装置3004、補助記憶装置3005、媒体駆動装置3006、及びネットワーク接続装置3007を含む。これらの構成要素はハードウェアであり、バス3008により互いに接続されている。
【0214】
メモリ3002は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ3002は、図11の記憶部1104として用いることができる。
【0215】
CPU3001(プロセッサ)は、例えば、メモリ3002を利用してプログラムを実行することにより、図8の決定部811及び選択部812として動作する。CPU3001は、プログラムを実行することにより、図11の配備制御部1101及び振分制御部1102としても動作する。
【0216】
CPU3001は、プログラムを実行することにより、図10の受信部1011-i、抽出部1012-i、振分部1013-i、及び実行部1014-iとしても動作する。CPU3001は、プログラムを実行することにより、図27の監視部2701-iとしても動作する。
【0217】
入力装置3003は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置3004は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は処理結果の出力に用いられる。処理結果は、アプリケーションの処理結果であってもよい。
【0218】
補助記憶装置3005は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置3005は、フラッシュメモリ又はハードディスクドライブであってもよい。情報処理装置は、補助記憶装置3005にプログラム及びデータを格納しておき、それらをメモリ3002にロードして使用することができる。補助記憶装置3005は、図11の記憶部1104として用いることができる。
【0219】
媒体駆動装置3006は、可搬型記録媒体3009を駆動し、その記録内容にアクセスする。可搬型記録媒体3009は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体3009は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体3009にプログラム及びデータを格納しておき、それらをメモリ3002にロードして使用することができる。
【0220】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ3002、補助記憶装置3005、又は可搬型記録媒体3009のような、物理的な(非一時的な)記録媒体である。
【0221】
ネットワーク接続装置3007は、通信ネットワーク1004に接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置3007を介して受信し、それらをメモリ3002にロードして使用することができる。ネットワーク接続装置3007は、図11の通信部1103として用いることができる。
【0222】
なお、情報処理装置が図30のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置3003及び出力装置3004を省略してもよい。情報処理装置が可搬型記録媒体3009を利用しない場合は、媒体駆動装置3006を省略してもよい。
【0223】
図30の情報処理装置は、図10のDBサーバ1003-jとして用いることもできる。
【0224】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14A
図14B
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30