JP2014228924A - 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム - Google Patents

並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム Download PDF

Info

Publication number
JP2014228924A
JP2014228924A JP2013105977A JP2013105977A JP2014228924A JP 2014228924 A JP2014228924 A JP 2014228924A JP 2013105977 A JP2013105977 A JP 2013105977A JP 2013105977 A JP2013105977 A JP 2013105977A JP 2014228924 A JP2014228924 A JP 2014228924A
Authority
JP
Japan
Prior art keywords
processing
worker
task
video analysis
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013105977A
Other languages
English (en)
Inventor
充裕 後藤
Mitsuhiro Goto
充裕 後藤
佐藤 隆
Takashi Sato
隆 佐藤
東野 豪
Takeshi Tono
豪 東野
鷲崎 誠司
Seiji Washisaki
誠司 鷲崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013105977A priority Critical patent/JP2014228924A/ja
Publication of JP2014228924A publication Critical patent/JP2014228924A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

【課題】ハードウェアリソースの稼働率を改善すること。
【解決手段】利用可能な空きプロセスP3,P4と既に処理中のプロセスP1,P2で解析対象の映像データV2を按分し、全てのプロセスP1〜P4が同時に解析処理を完了するように、処理中のプロセスP1,P2に割り当てられた未解析の処理区間の長さを考慮してスケジューリングする。
【選択図】図1

Description

本発明は、映像を解析する技術に関する。
映像中のフレームから抽出した画像・音データの物理的特徴(画素輝度、音声周波数、音声強度等)を用いて、カット点やカメラワーク、テロップ、音楽区間等のイベントを検出する映像解析技術がある(特許文献1、2)。
この技術では、通常、時間的に前後関係のある2枚以上のフレームを逐次的に比較・差分する演算処理を映像の最初から最後まで行うため、フレームの数に比例した時間がかかってしまう。
そこで、特許文献3では、映像データを複数の処理区間に分割し、隣り合う処理区間に互いにオーバラップする区間を持たせて並列に映像解析することにより、イベントの発生区間を正確に検出しながら、映像解析の処理時間を短縮している。また、非特許文献1では、イベント検出の状態に応じてオーバラップ区間を動的に延長することにより、最小限のオーバラップ処理区間でイベントの発生区間を検出している。
特許第2839132号公報 特許第3488626号公報 特許第3785068号公報
後藤、外2名、"並列分散による映像イベント検出の高速化"、情報処理学会研究報告、Vol.2012-AVM-76、No.2、2012年2月23日、p.1-6
しかしながら、ハードウェアリソースの物理的な制約から同時的・並列的に実行可能なプロセスの数には上限があるため、分割された全ての処理区間に対してプロセスを割り当てることができない場合がある。
特に映像データが複数の場合、分割された処理区間の総数が膨大になるため、それら全ての処理区間に対してプロセスを常に割り当てることは更に困難となる。
すなわち、映像データを解析するためのタスクに対してプロセスの数を十分に確保できないという課題がある。これについて、十分な数のプロセスを確保するまでプロセスの割当処理を待機しておき、他のタスクの完了に伴って割当可能な数のプロセスが確保できたタイミングで割り当て、映像の解析処理を開始する方法もある。しかし、タスクが開始されるまでの待機時間が長くなり、ハードウェアリソースの稼働率が低下してしまう。
本発明は、上記事情を鑑みてなされたものであり、ハードウェアリソースの稼働率を改善すること目的とする。
請求項1に記載の並列分散映像解析装置は、各プロセスが同時に解析処理を完了するように、処理中のプロセスに割り当てられた未解析の処理区間を含めて解析対象の映像データを按分し、未使用のプロセスと前記処理中のプロセスにそれぞれ割り当てる割当手段と、各プロセスの識別子と当該各プロセスにそれぞれ割り当てられた処理区間との対応データを映像解析用のスケジュールとして記憶しておく記憶手段と、を有することを要旨とする。
請求項2に記載の並列分散映像解析方法は、コンピュータにより、各プロセスが同時に解析処理を完了するように、処理中のプロセスに割り当てられた未解析の処理区間を含めて解析対象の映像データを按分し、未使用のプロセスと前記処理中のプロセスにそれぞれ割り当てる割当ステップと、各プロセスの識別子と当該各プロセスにそれぞれ割り当てられた処理区間との対応データを映像解析用のスケジュールとして記憶手段に記憶しておく記憶ステップと、を有することを要旨とする。
請求項3に記載の並列分散映像解析プログラムは、請求項2に記載の並列分散映像解析方法をコンピュータに実行させることを要旨とする。
以上より、本発明によれば、各プロセスが同時に解析処理を完了するように、処理中のプロセスに割り当てられた未解析の処理区間を含めて解析対象の映像データを按分し、未使用のプロセスと上記処理中のプロセスにそれぞれ割り当てるため、解析対象である映像データの処理区間が処理中のプロセスにも割り当てられることから、ハードウェアリソースの高い稼働率を実現できる。
本発明によれば、ハードウェアリソースの高い稼働率を実現できる。
プロセス割当時のスケジューリングの例を示す図である。 基本処理区間長の算出式を説明する際の参照図である。 並列分散映像解析装置の機能ブロック構成を示す図である。 タスクデータの例を示す図である。 スケジュールデータの例を示す図である。 映像解析処理フローの全体を示すフローチャートである。 割当可能ワーカ調査処理フローを示すフローチャートである。 処理区間計算・割当処理フローを示すフローチャートである。 処理区間の割当例を示す図である。 イベント検出処理フローを示すフローチャートである。 処理区間延長結果の例を示す図である。 検出結果統合処理フローを示すフローチャートである。 並列分散映像解析装置の構築例を示す図である。
最初に、本発明について概説する。
本発明は、利用可能な空きプロセスと既に処理中のプロセスで解析対象の映像データを按分し、全てのプロセスが同時に解析処理を完了するように、処理中のプロセスに割り当てられた未解析の処理区間の長さを考慮してスケジューリングすることにより、ハードウェアリソースの高い稼働率を実現するようにしている。
これについて、図1を参照しながら説明する。例えば、プロセスの最大数は4つとする。また、ある映像データV1を解析するためのタスクT1に対して既に2つのプロセスP1,P2が割り当てられており、現在解析中とする(図1(a))。
このとき、新たな映像データV2を解析するため、解析用の指定プロセス数を4つとする新規タスクT2が入力された場合、指定された4つのプロセスで同時に解析処理を完了するように、上記処理中のプロセスP1,P2にも当該映像データV2の解析処理を割り当てる。
具体的には、まず、その新たな映像データV2の映像長と、処理中のプロセスP1,P2に割り当てられた未解析の処理区間長との合計を、4つのプロセスP1〜P4で按分する(図1(b))。
そして、按分された複数の処理区間R1〜R4のうち、上記未解析の処理区間を含む処理区間R1,R2を処理中のプロセスP1,P2にそれぞれ割り当て、それ以外の処理区間R3,R4を未使用のプロセスP3,P4にそれぞれ割り当てる(図1(c))。
そして、プロセスP3,P4は、直ちに各処理区間R3,R4での解析処理(並列に映像解析)を開始し、プロセスP1,P2は、既に割り当てられているタスクT1の解析処理が完了した後に、タスクT2の処理区間R1,R2(図1(c)の斜線部分を除く区間)の解析処理を開始するようにスケジューリングする。
つまり、全てのプロセスP1〜P4での解析処理が同時に完了するように、未使用のプロセスP3,P4以外に、処理中のプロセスP1,P2にも当該映像データV2の解析処理を割り当てるため、映像の並列解析処理時にハードウェアリソースを最大限に利用することが可能となる。
ここで、そのようなスケジューリング時に用いる処理区間長の算出式についても予め概説しておく。図2に示すように、n個のプロセスP(P〜P:処理中のプロセス、Pm+1〜P:未使用のプロセス)で映像長Lの映像データV2を解析処理する場合、各プロセスPの処理速度が等しいとすると、以下の式(1)が成立する。
Figure 2014228924
但し、dは、未使用のプロセスPm+1〜Pにそれぞれ割り当てられる各未処理区間長であり、gは、処理中のプロセスP〜Pにそれぞれ既に割り当てられていた未解析の各処理区間長である。
この式(1)を変形すると以下の式(2)になるため、ある映像データVを解析するための新規タスクTが入力された場合には、その式(2)を用いてdの値を算出し、d長の各処理区間を未使用のプロセスPm+1〜Pにそれぞれ割り当て、(d−g)長の各処理区間を処理中のプロセスP〜Pにそれぞれ割り当てるようにスケジューリングする。
Figure 2014228924
但し、“g<d”が条件となる。仮にgの値が全て等しい(g=g=…=g=g)ならば、式(2)より以下の式(3)が成立するため、それを変形した以下の式(4)が条件式となる。
Figure 2014228924
Figure 2014228924
以下、本発明を実施する一実施の形態について図面を用いて説明する。以降、プロセスを実行する環境のことをワーカという。例えば、CPUやマルチコアCPUの場合は物理コアがあり、ハイパースレッディングが可能なCPUの場合は論理コアがある。映像処理のようなCPU処理性能に依存する処理は、1つのワーカで複数のプロセスを実行させるのは効率が悪く、1ワーカに1プロセスを割り当てて実行させるのがよい。
図3は、本実施の形態に係る並列分散映像解析装置1の機能ブロック構成を示す図である。この並列分散映像解析装置1は、映像解析用のタスクの入力を受け付けるタスク受付部11と、そのタスクデータを記憶するタスク記憶部12と、入力された映像データを記憶する映像記憶部13と、タスクへのワーカ割当処理等を実行するタスク割当部14と、ワーカに割り当てられた処理区間等を映像解析用のスケジュールデータとして記憶するワーカスケジュール記憶部15と、処理中のワーカに既に割り当てられている未解析の処理区間長等を記憶する未処理長記憶部16と、複数のワーカにより映像データを解析するワーカ部17と、各解析結果を中間結果データとして記憶する中間結果記憶部18と、中間結果データを統合する結果統合部19と、統合データを記憶する処理結果記憶部20と、で構成される。
これらの各機能部は、メモリやCPUを備えたコンピュータで実現できる。また、各機能部の処理は、プログラムにより実行可能である。これらは互いに、バス、イーサネットケーブル、USBケーブル等による有線接続、無線LAN等の通信手段を用いて相互通信可能に接続されている。
次に、図4〜図12を参照しながら、並列分散映像解析装置1の動作について説明する。
最初に、タスクデータについて説明する。タスクデータは、ユーザによって生成された映像解析用のタスクであり、タスク受付部11によってその入力が受け付けられた後に、タスク記憶部12に記憶される。
タスクデータの例を図4に示す。タスクデータには、タスクのIDと、そのタスクで解析される映像データのIDと、そのタスクで指定されたワーカの数と、そのタスクの処理状態を示した処理状態フラグとが対応付けて格納される。
例えば、ユーザにより映像データIDと指定ワーカ数が入力されると、それ用のタスクIDを付与した1つのタスクが生成され、タスクデータのレコードに追加される。但し、処理状態フラグは、「処理前」、「処理中」、「処理完了」のうちいずれかが処理段階に応じて設定される。
次に、スケジュールデータについて説明する。スケジュールデータは、ワーカに対して割り当てられた映像データの処理区間等を示したワーカスケジュールであり、このワーカスケジュールに基づいて映像データの解析処理が実行される。タスク割当部14によってその割当処理等が実行された後にワーカスケジュール記憶部15に記憶され、ワーカによる解析処理が完了した後に該当レコードが削除される。
スケジュールデータの例を図5に示す。スケジュールデータには、ワーカスケジュールのIDと、そのワーカスケジュールで処理されるタスクのIDと、そのタスクに対して割り当てられたワーカのIDと、処理中フレームのタイムスタンプと、処理開始フレームのタイムスタンプと、処理終了フレームのタイムスタンプと、そのワーカスケジュールの処理状態を示した状態フラグとが対応付けて格納される。
状態フラグには「処理前」又は「処理中」が処理段階に応じて設定される。「処理前」とは、ワーカでの解析処理が開始されていない状態を表している。一方、「処理中」とは、解析処理を実行中であることを表している。
また、処理開始フレームのタイムスタンプと処理終了フレームのタイムスタンプとは、割り当てられた処理区間の開始点と終了点を表している。ワーカは、この処理区間に含まれるフレームに対してイベントの検出処理を実行する。また、処理中フレームとは、ワーカが現在処理中のフレームのタイムスタンプを表している。
続いて、並列分散映像解析装置1で行う映像解析処理の全体動作について説明する。
図6は、映像解析処理の全体を示すフローチャートである。まず、タスク割当部14が、タスクデータをタスク記憶部12から取得して、全てのタスクの処理状態フラグが「処理完了」であるかを判定する(ステップS101)。
そして、全てのタスクの処理状態フラグが「処理完了」でない場合、入力が一番古く、処理状態フラグが「処理前」のタスクをタスクデータから取得する(ステップS102)。
次に、タスク割当部14は、割当ワーカIDをワーカスケジュール記憶部15から取得して、ワーカスケジュールに対して既に割り当てられている割当済ワーカの総数を求め、並列分散映像解析装置1で実行可能な最大ワーカ数から未使用の空きワーカ数aを算出する(ステップS103)。
次に、タスク割当部14は、その空きワーカ数aが、ステップS102で取得した対象タスクの指定ワーカ数r以上であるかを判定する(ステップS104)。
そして、空きワーカ数aが指定ワーカ数rよりも小さい(a<r)場合、割当可能ワーカ調査処理により、現在処理中であるが割当可能なワーカ数pを求め(ステップS105)、空きワーカ数aと割当可能ワーカ数pの合計と指定ワーカ数rとの比較結果から、対象タスクを指定ワーカ数rで処理できるかを判定する(ステップS106)。
一方、空きワーカ数aが指定ワーカ数r以上(a≧r)の場合、又は、ステップS106で処理可能((a+p)≧r)な場合、処理区間計算・割当処理により、対象タスクの映像データを按分し、空きワーカや割当可能ワーカに割り当てる(ステップS107)。
ステップS107の後、タスク割当部14は、その割当処理時に生成されたワーカスケジュールの状態フラグを「処理中」に変更し(ステップS108)、ワーカ部17が、イベント検出処理を実行した後に(ステップS109)、そのワーカスケジュールをワーカスケジュール記憶部15から削除する(ステップS110)。
その後、タスク割当部14は、対象タスクに関連する全てのワーカスケジュールの検出結果が中間結果記憶部18に記憶されているかを判定する(ステップS111)。
そして、関連する全ワーカスケジュールの検出結果が記憶されている場合、結果統合部19は、それら全ての検出結果を統合する(ステップS112)。
一方、関連する全ワーカスケジュールの検出結果が記憶されていない場合、又は、ステップS112の後、タスク割当部14は、対象タスクにおいて状態フラグが「処理前」のワーカスケジュールが存在するかを判定し(ステップS113)、存在する場合にはステップS108に戻り、存在しない場合には本フローを終了する。
尚、ステップS106で処理不可能((a+p)<r)な場合、又は、ステップS101で全てのタスクの処理状態フラグが「処理完了」の場合には、直ちに本フローを終了する。
次に、図7を参照しながら、割当可能ワーカ調査処理(図6のステップS105)について説明する。まず、タスク割当部14は、全てのワーカスケジュールをワーカスケジュール記憶部15から取得して、以下の式(5)より、各ワーカの未処理区間長gを算出する(ステップS201)。
Figure 2014228924
但し、eは、各ワーカスケジュールの処理終了フレームのタイムスタンプであり、cは、そのワーカスケジュールの処理中フレームのタイムスタンプである。
ここで、1つのワーカが複数のタスクスケジュールに割り当てられているかを判定し(ステップS202)、その場合には該当する全てのワーカスケジュールの未処理区間長gを合計することにより、各ワーカの未処理区間長gを算出する(ステップS203)。
その後、各ワーカが以下の式(6)の条件式を満たすかを判定する(ステップS204)。この条件式を満たすワーカは、「処理中」ではあるが、新たに処理区間を割当可能なワーカとなる。
Figure 2014228924
式(6)は、式(4)の変形式である。式(4)の右辺分母のnは指定ワーカ数rに相当し、mは(指定ワーカ数r−空きワーカ数a)に相当するため、式(6)の右辺分母ではaに変形している。
そして、式(6)の条件式を満たすワーカがあれば、そのワーカのIDと当該ワーカの未処理区間長gとを対応付けて未処理長記憶部16に記憶し(ステップS205)、割当可能ワーカ数p(初期値:0)をインクリメントする(ステップS206)。
その後、テップS204〜テップS206を全てのワーカスケジュールに対して実行し(ステップS207)、未処理長記憶部16内の対応データを未処理区間長gの小さい順にソートして(ステップS208)、本フローを終了する。
次に、図8を参照しながら、処理区間計算・割当処理(図6のステップS107)について説明する。まず、タスク割当部14は、指定ワーカ数rと空きワーカ数aとを比較する(ステップS301)。
そして、指定ワーカ数rが空きワーカ数aよりも大きい(r>a)場合、指定ワーカ数rと空きワーカ数aから不足ワーカ数m(初期値:0)を算出し(ステップS302)、未処理長記憶部16から未処理区間長が短い順にm個分だけ、割当可能ワーカの未処理区間長gとそのワーカのIDを取得して(ステップS303)、その合計長L(初期値:0)を算出する(ステップS304)。
一方、指定ワーカ数rが空きワーカ数a以下(r≦a)場合、前述のステップS102で取得した対象タスクに対して空きワーカのみで処理できることから、ステップS302〜ステップS304は実行しない。
その後、指定ワーカ数rを分割数dvに設定し(ステップS305)、対象タスクである映像データの映像長Lを映像記憶部13から取得する(ステップS306)。
そして、以下の式(7)より、対象タスクの映像データを解析処理するための基本処理区間長dを算出する(ステップS307)。
Figure 2014228924
その後、この基本処理区間長dを用いて、各ワーカに与えられるワーカスケジュールPの処理開始フレームのタイムスタンプsと処理終了フレームのタイムスタンプeを算出する。
具体的には、変数i,jの各初期値を1とし、m個の処理中の割当可能ワーカに対する処理区間を求める場合(1≦i≦m)には、未処理区間の処理完了後に新たに割り当てようとする処理区間を開始させるため、基本処理区間長dから自身の未処理区間長gを引いた長さ分の処理区間長(d−g)を割り当てる。
つまり、(1≦i≦m)のワーカスケジュールPについては、以下の式(8)及び式(9)より、処理開始フレームのタイムスタンプsと処理終了フレームのタイムスタンプeを算出し、そのワーカスケジュールP(s,e)に割当可能ワーカを割り当てる(ステップS308)。
Figure 2014228924
一方、a個の空きワーカに対する処理区間を求める場合(m<i≦a+m)には、基本処理区間長dの長さ分の処理区間長dを割り当てる。
つまり、(m<i≦a+m)のワーカスケジュールPについては、以下の式(10)及び式(11)より、処理開始フレームのタイムスタンプsと処理終了フレームのタイムスタンプeを算出し、そのワーカスケジュールP(s,e)に空きワーカを割り当てる(ステップS309)。
Figure 2014228924
最後に、対象タスクの処理状態フラグを「処理前」から「処理中」に変更する(ステップS310)。
以上より、全てのワーカの処理区間を同じ長さに設定し、全てのワーカの処理が同時に完了するようにスケジューリングすることが可能となる。
ここで、図9を参照しながら、処理区間の割当例について説明する。指定ワーカ数が4つの場合に、2つの処理中のワーカW,Wと、2つの空きワーカW,Wに処理区間を割り当てる具体例である。
処理中のワーカW,Wには、映像長が5,000(ms)の映像データVを解析するためのタスクTが与えられている。そして、ワーカWには、ワーカスケジュールP[0〜2,500(ms)]が既に割り当てられ、ワーカWには、ワーカスケジュールP[2,500〜5,000(ms)]が既に割り当られている。各ワーカW,Wの未処理区間長はそれぞれ500(ms)であり、タスクTの映像データV全体で1,000(ms)が未処理である(図9(a))。
このとき、映像長が10,000(ms)の映像データTが入力され、それを解析するためのタスクTが与えられた場合、映像データVの未処理区間Lと映像データVの映像長Lとの合計長11,000(ms)を4つのワーカW〜Wで処理するように、前述の式(7)を用いて2,750(ms)の基本処理区間長dを求め、全てのワーカW〜Wが当該基本処理区間長dを処理するようにスケジューリングする(図9(b))。
本例の場合、映像データVの未処理区間長(500(ms))を考慮して、ワーカWには、ワーカスケジュールP[0〜2,250(ms)]を割り当て、ワーカWには、ワーカスケジュールP[2,250〜5,500(ms)]を割り当てる。また、映像データVからワーカスケジュールP,Pを差し引いた残り映像区間を基にして、ワーカWには、ワーカスケジュールP[5,500〜7,750(ms)]を割り当て、ワーカWには、ワーカスケジュールP[7,750〜10,000(ms)]を割り当てる。
そして、ワーカW,Wは、実行中のタスクがないので、割り当てられた後、直ちにタスクTの解析処理を開始する。一方、ワーカW,Wは、タスクTを実行中のため、そのタスクTの完了後にタスクTを実行する。その際、ワーカスケジュールP,Pは、処理完了時にワーカスケジュール記憶部15から削除される(図9(c))。
このような割当処理により、全てのワーカの処理区間長が等しくなるので、各ワーカの処理速度が等しい場合には解析処理を同時に終了することができる。尚、処理速度がワーカ毎に異なる場合には、上記の処理区間計算方法をベースにしながら、処理速度の影響を考慮してワーカ毎に処理区間長を調整して按分する方法が考えられる。
次に、図10を参照しながら、イベント検出処理(図6のステップS109)について詳述する。
まず、ワーカ部17は、複数のワーカにより、タスク割当部14によって割り当てられた処理区間の処理開始フレームからイベントの検出処理を開始する(ステップS401)。
そして、処理終了フレームに到達すると(ステップS402)、処理中のフレームにおけるイベントの検出状態(「検出中」又は「未検出」)を判定し(ステップS403)、この判定結果を基にして処理区間を延長するかを判断する。
ここで、イベントを「検出中」の場合、すなわち、次の処理区間までイベントが継続して存在する場合には、現在検出中のイベントが終了するまで、処理区間を延長しながらイベントの検出処理を継続する(ステップS404)。
その後、イベントの検出処理が完了すると、ステップS403の判定結果がNoとなり、検出したイベントの発生区間(開始フレームのタイムスタンプと終了フレームのタイムスタンプ)と検出処理に応じた補助情報(例えば、カメラワーク検出時のカメラの動き情報やテロップ検出時のテロップの出現座標)を中間結果記憶部18に送信し(ステップS405)、本フローを終了する。
処理区間延長結果の例を図11に示す。例えば、図11(a)に示すように、ワーカスケジュールP[0〜10,000(ms)]がワーカWに割り当てられ、ワーカスケジュールP[10,000〜20,000(ms)]がワーカWに割り当てられており、処理終了フレームのタイムスタンプ[10,000(ms)]に到達したときに、ワーカWにおいてイベントの検出中であったとする。
この場合、そのワーカWは、処理終了フレームのタイムスタンプを映像後方に変更しながら解析処理を継続し、図11(b)に示すように、イベントの検出処理が終了したとき(ここではタイムスタンプが[13,000(ms)]の地点)に解析処理を終了する。
このように処理区間を延長することにより、ワーカWで解析処理されるワーカスケジュールPの終了点が3,000(ms)分だけ映像後方に変更されるので、ワーカスケジュール記憶部15に記憶される処理区間のデータが更新される。すなわち、処理開始点が0(ms)、処理終了点が10,000(ms)と記憶されていた処理区間のデータは、0(ms)、13,000(ms)にそれぞれ変更され、ワーカスケジュール記憶部15に記憶される。
次に、図12を参照しながら、検出結果統合処理(図6のステップS112)について詳述する。
まず、結果統合部19は、対象タスクの各検出結果を中間結果記憶部18から取得して(ステップS501)、処理区間順に1つの処理結果として統合する(ステップS502)。
このとき、解析処理において処理区間の延長が発生していると、複数のワーカで重複した映像区間が処理されたことになる。そこで、オーバラップしている処理区間の検出結果が存在するかを判定し(ステップS503)、存在する場合には、時間的に映像の先頭に近い処理区間で検出した検出結果を当該処理区間の正しい検出結果とみなして統合する(ステップS504)。
そして、対象タスクで検出された全ての処理結果を統合した後(ステップS505)、タスクの処理状態フラグを「処理完了」に変更する(ステップS506)。
以上で映像解析処理についての説明を終了する。
これまで説明した並列分散映像解析装置1の構築例を図13に示す。図13(a)に示すように、マルチコアCPUの1つのコア(1)がタスク割当部としてタスク管理を行い、これに接続された複数のコア(2)〜(4)が複数のワーカWとして並列に映像解析するようにしても構わない。
また、図13(b)に示すように、1台のサーバがタスク割当部としてタスク管理を行い、これに接続された複数のサーバ(1)〜(3)が複数のワーカWとして並列に映像解析するようにしても構わない。
これら以外にも、マルチコアCPUを持つ複数のサーバにより、映像の解析処理を並列して実行するように構成してもよい。このように、各ワーカが独立して動作可能な環境であればワーカの構築形態はどのような形態でも採用できる。
以上より、本実施の形態によれば、利用可能な空きワーカと既に処理中のワーカで解析対象の映像データを按分し、全てのワーカが同時に解析処理を完了するように、処理中のワーカに割り当てられた未解析の処理区間の長さを考慮してスケジューリングするので、ハードウェアリソースの稼働率を高く保ちながら、並列分散による高速な映像解析を実現できる。
また、本実施の形態によれば、分割した処理区間の終了時点でイベント検出中である場合、処理区間を延長させて他のワーカとの処理区間にオーバラップ区間を発生させるので、精度の高い解析処理が可能であると共に、必要以上のオーバラップ区間を多発させることなく、更に効率的な稼働による映像解析が可能になる。
また、上述した並列分散映像解析装置1の各機能部の機能を実行するプログラムをコンピュータに搭載することにより、当該コンピュータを並列分散映像解析装置1として機能させる映像解析処理用プログラムを構築することも可能である。
1…並列分散映像解析装置
11…タスク受付部
12…タスク記憶部
13…映像記憶部
14…タスク割当部
15…ワーカスケジュール記憶部
16…未処理長記憶部
17…ワーカ部
18…中間結果記憶部
19…結果統合部
20…処理結果記憶部
S101〜S113、S201〜S208、S301〜S310、S401〜S405、S501〜S506…ステップ

Claims (3)

  1. 各プロセスが同時に解析処理を完了するように、処理中のプロセスに割り当てられた未解析の処理区間を含めて解析対象の映像データを按分し、未使用のプロセスと前記処理中のプロセスにそれぞれ割り当てる割当手段と、
    各プロセスの識別子と当該各プロセスにそれぞれ割り当てられた処理区間との対応データを映像解析用のスケジュールとして記憶しておく記憶手段と、
    を有することを特徴とする並列分散映像解析装置。
  2. コンピュータにより、
    各プロセスが同時に解析処理を完了するように、処理中のプロセスに割り当てられた未解析の処理区間を含めて解析対象の映像データを按分し、未使用のプロセスと前記処理中のプロセスにそれぞれ割り当てる割当ステップと、
    各プロセスの識別子と当該各プロセスにそれぞれ割り当てられた処理区間との対応データを映像解析用のスケジュールとして記憶手段に記憶しておく記憶ステップと、
    を有することを特徴とする並列分散映像解析方法。
  3. 請求項2に記載の並列分散映像解析方法をコンピュータに実行させることを特徴とする並列分散映像解析プログラム。
JP2013105977A 2013-05-20 2013-05-20 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム Pending JP2014228924A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013105977A JP2014228924A (ja) 2013-05-20 2013-05-20 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013105977A JP2014228924A (ja) 2013-05-20 2013-05-20 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム

Publications (1)

Publication Number Publication Date
JP2014228924A true JP2014228924A (ja) 2014-12-08

Family

ID=52128746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013105977A Pending JP2014228924A (ja) 2013-05-20 2013-05-20 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム

Country Status (1)

Country Link
JP (1) JP2014228924A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018047225A1 (ja) * 2016-09-06 2019-01-31 三菱電機株式会社 学習装置、信号処理装置および学習方法
US11195025B2 (en) 2017-11-27 2021-12-07 Nec Corporation Information processing device, information processing method, and storage medium for temporally dividing time-series data for analysis

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018047225A1 (ja) * 2016-09-06 2019-01-31 三菱電機株式会社 学習装置、信号処理装置および学習方法
US11195025B2 (en) 2017-11-27 2021-12-07 Nec Corporation Information processing device, information processing method, and storage medium for temporally dividing time-series data for analysis

Similar Documents

Publication Publication Date Title
Inoue et al. The stationary distribution of the age of information in FCFS single-server queues
CN104915253B (zh) 一种作业调度的方法及作业处理器
JP3890045B2 (ja) 改善されたedfスケジューリング方法
US8434085B2 (en) Scalable scheduling of tasks in heterogeneous systems
US9354938B2 (en) Sequential cooperation between map and reduce phases to improve data locality
US8869148B2 (en) Concurrency identification for processing of multistage workflows
CN115525438A (zh) 在分布式系统中资源及任务的分配方法、装置及系统
CN110362401A (zh) 数据跑批方法、装置、存储介质及集群中的成员主机
US20150254105A1 (en) Data processing system, data processing method, and program
CN109144697B (zh) 一种任务调度方法、装置、电子设备及存储介质
JP2012099110A (ja) 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング
Falzon et al. Enhancing list scheduling heuristics for dependent job scheduling in grid computing environments
JP2012099109A (ja) 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のための動的且つ知的な部分的計算管理
JP2014228924A (ja) 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム
JP2012099108A (ja) 分散コンピューティング環境におけるソフトウェアの解析の並列化のための効率的な部分計算
KR101643251B1 (ko) 컴퓨팅 워크플로우에서 작업 분할 방식을 이용한 가상머신 스케줄링 방법
CN108023905A (zh) 物联网应用系统及方法
US8589944B2 (en) Method and system for task mapping to iteratively improve task assignment in a heterogeneous computing system
KR101556541B1 (ko) 고부하 경로 기반의 복합 이벤트 처리 장치 및 그 방법
CN115756828A (zh) 多线程数据文件处理方法、设备和介质
KR20130022707A (ko) 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘
CN106598721B (zh) 媒资数据流转方法及装置
CN115543345A (zh) 一种针对电力时序数据的分布式计算系统及其实现方法
CN114926045A (zh) 一种作业管理方法及装置
JP2014229969A (ja) 並列分散映像解析装置、並列分散映像解析方法及び並列分散映像解析プログラム