並列映像解析装置、並列映像解析方法及び並列映像解析プログラム
【課題】映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮すること。
【解決手段】映像解析部13が、解析タスク管理部12により定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析結果統合部14が、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合する。
【解決手段】映像解析部13が、解析タスク管理部12により定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析結果統合部14が、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像データを並列に解析する技術に関する。
【背景技術】
【0002】
映像中のフレームが持つ画像データや音響データという物理的特徴を利用して、映像中のシーンカットやカメラワーク、テロップや音楽などの様々なイベントを検出する映像解析技術が存在する。
【0003】
この映像解析は、時間的に前後関係のある2枚以上のフレームを用いて、そのフレーム間の物理的特徴の相違を見つけ出し、その相違をイベントとして検出する。例えば、時系列なフレーム間の輝度値や濃淡値の差異やその程度に基づいて、テロップが表示された開始フレーム及び終了フレームを解析する。
【0004】
この映像解析技術によれば、映像の先端から最後まで逐次的に比較演算処理することから、映像を構成するフレーム数に比例した演算時間を必要とするため、映像解析技術に対する解析処理時間の短縮が望まれている。
【0005】
このような要望に対し、特許文献1によれば、映像データを複数の部分映像に時分割し、その部分映像を並列解析して、検出したイベントの解析結果を1つに統合する方法が提案されている。
【0006】
このとき、映像データを単純に分けるような時分割手法が採用されると、時間的に前後関係のある2つの部分映像に跨って発生しているイベントを正しく検出することが難しい。
【0007】
その理由は、その時分割処理により、時間的に前後関係のあるフレームの参照が妨げられ、イベントを誤検出するためである。例えば、図11に示す解析結果例によれば、部分映像(1)と部分映像(2)との分割点A付近では、1つのイベントとして本来検出されるべき解析結果が2つのイベントとして分断検出され、部分映像(2)と部分映像(3)との分割点B付近では、本来検出されるべき解析結果が一部欠落している。なお、部分映像とは、映像データから時分割された一部分の映像データであって、その一部分の映像を構成している時間的に連続するフレームの集合体をいう。
【0008】
そこで、同引用文献では、隣り合う部分映像間で「のりしろ」的役割を担う重複するフレームを設けることにより、そのような問題の解決を図っている。重複フレーム数を多くして部分映像間で重なる区間を長くすることにより、映像データを分割することなく逐次的に処理した場合と同じ解析結果を得ようとしている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−69946号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、引用文献1に開示された技術によれば、映像データを時分割して並列解析することから解析処理時間を短縮する目的は達成できるが、部分映像間での重複区間の延長により解析対象のフレーム数が増えることにより、比較演算する解析処理時間が増加してしまうという課題がある。
【0011】
また、2つの部分映像に跨るようなイベントが必ずしも発生するとは限らないことから、全ての部分映像に重複区間を設けることは解析処理上極めて非効率である。
【0012】
本発明は、上記課題を鑑みてなされたものであり、その課題とするところは、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮することにある。
【課題を解決するための手段】
【0013】
請求項1記載の並列映像解析装置は、映像データを並列に解析する並列映像解析装置において、複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析手段と、前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合手段と、を有することを特徴とする。
【0014】
本発明によれば、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合するため、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【0015】
請求項2記載の並列映像解析方法は、映像データを並列に解析する並列映像解析装置により、複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析ステップと、前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合ステップと、を有することを特徴とする。
【0016】
本発明によれば、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合するため、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【0017】
請求項3記載の並列映像解析プログラムは、請求項2記載の各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【0018】
本発明によれば、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【図面の簡単な説明】
【0019】
【図1】並列映像解析装置の機能ブロック構成を示す図である。
【図2】解析タスクの生成フローを示す図である。
【図3】解析タスクの生成例を示す図である。
【図4】処理ワーカへの解析タスク割り当て例を示す図である。
【図5】映像データの解析フローを示す図である。
【図6】解析区間の動的延長例を示す図である。
【図7】解析結果の統合フローを示す図である。
【図8】解析結果の統合例を示す図である。
【図9】並列映像解析装置の構築例を示す図である。
【図10】解析タスクの他の生成例を示す図である。
【図11】従来の解析結果例を示す図である。
【発明を実施するための形態】
【0020】
本発明は、映像解析の効率的な並列処理として、映像データの分割点付近でイベント情報が検出される場合にのみ、解析対象フレームが重なる重複解析区間を設けて映像解析処理を継続することを特徴としている。これにより、分割点付近でのイベント検出精度の低下を防止しながら、映像解析処理時間の短縮を図ることを実現している。
【0021】
すなわち、本発明では、映像解析処理を個別に実行する複数の処理ワーカを設け、その各処理ワーカに対して、映像データを解析する解析区間をそれぞれ割り当てる。各処理ワーカは、1つの映像データを共有し、割り当てられた解析区間の解析開始フレームまでシークした後に、各解析区間内の解析対象フレームを用いて映像解析処理をそれぞれ開始することにより、映像解析処理を並列に実行する。
【0022】
ここで、各処理ワーカは、通常であれば解析区間内の解析終了フレームに到達すると映像解析処理を終了するが、イベント情報の検出途中で解析終了フレームに達した場合には、解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて(以下、解析区間の動的延長)、検出中のイベントが終了するまで映像解析処理を継続する。
【0023】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【0024】
図1は、本実施の形態に係る並列映像解析装置の機能ブロック構成を示す図である。この並列映像解析装置1は、映像記憶部11と、解析タスク管理部12と、映像解析部13と、解析結果統合部14と、集計結果記憶部15とで主に構成される。それら各機能部は、メモリなどの記憶手段やCPUなどの制御手段により実現可能であり、各機能部の各処理は、プログラムにより実行される。以下、本装置を構成している各機能部について詳述する。
【0025】
映像記憶部11は、解析対象である映像データをメモリやハードディスクなどに保持し、記憶する。この映像データは、時系列な複数のフレームで構成されており、HTTP(Hypertext Transfer Protocol)やSMB(Server Message Block)などの各種通信プロトコルで伝送され、ファイルとしてコピーされる。もしくは、ビデオキャプチャボードなどを利用して映像信号として入力され、ファイルとして保持される。
【0026】
解析タスク管理部12は、映像記憶部11から映像データを取得し、イベント検出を行う解析区間を定義した複数の解析タスクを生成して、映像解析部13に設けられた複数の処理ワーカ(1)〜(n)にそれぞれ割り当てる。以下、解析タスクの生成処理動作について詳述する。
【0027】
図2は、解析タスクの生成フローを示す図である。解析タスク管理部12は、まず、映像記憶部11から解析対象の映像ファイルを読み出して、その映像ファイルを構成しているフレーム数Fを取得する(ステップS1、S2)。
【0028】
次に、式(1)を用いて、取得したフレーム数Fと映像解析部13に設けられた処理ワーカ数wとから基本解析区間長Lを求める(ステップS3)。
L=F/w ・・・(1)
【0029】
次に、この基本解析区間長Lを元にして、式(2)及び式(3)を用いて、解析タスクTiにおける解析開始フレームSi及び解析終了フレームEiを算出する(ステップS6)。但し、i=0,1,2,…,wである。
Si=L・i ・・・(2)
Ei=L・(i+1) ・・・(3)
【0030】
最後に、算出された解析開始フレームSi及び解析終了フレームEiを解析タスクTiに対応付けて保持し、処理ワーカWiに割り当てる(ステップS7)。
【0031】
以上のステップS6、S7をi=0から開始してi>w−1が成立するまでiをインクリメントしながら繰り返す(ステップS4、S5、S8)。
【0032】
図3に、フレーム数Fが5000であって、処理ワーカ数wが5である場合の解析タスクの生成例を示す。同図(a)は、解析タスクの生成データ例を示し、同図(b)は、その生成データ例による解析タスクとフレームとの関係性を模式的に示している。
【0033】
例えば、解析タスクT0での解析対象フレームは0〜1000のフレームであり、それらフレーム内の映像が当該解析タスクT0における解析区間の解析対象映像となる。以降、解析タスク管理部12は、図3に示す通りに、タスクIDと、解析開始フレームと、解析終了フレームとを保持するものとする。
【0034】
映像解析部13は、複数の処理ワーカWiを備え、解析タスク管理部12によって割り当てられた解析タスクTiを元に、映像解析を進める。
【0035】
図4に、解析タスクTiを処理ワーカWiに割り当てた例を示す。この例では、5つの処理ワーカW0〜4が1つの映像ファイルを共有し、割り当てられた各解析タスクT1〜4の解析開始フレームから各解析区間内の解析対象フレームをそれぞれ解析処理開始することを示している。以下、映像データの解析処理動作について詳述する。
【0036】
図5は、映像データの解析フローを示す図である。各処理ワーカWiは、まず、個々に割り当てられた解析区間内の解析開始フレームからイベントの検出処理(映像解析処理)を開始する(ステップS11)。
【0037】
次に、その解析区間内の解析終了フレームに到達すると、現在のイベントの検出状態から検出処理を継続するか否かを判定する(ステップS12、S13)。
【0038】
すなわち、その解析終了フレームでイベント検出中である場合には、そのイベントの検出が終了するまで(イベント情報が非検出されるまで)、その解析区間を動的に延長し、その延長により時間的に次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する(ステップS14)。
【0039】
このとき、解析タスク管理部12は、自身が保持している解析タスクの解析終了フレームの情報を延長し、最終的に検出処理が終了したフレームの情報に更新する。
【0040】
一方、その解析終了フレームでイベント検出中でない場合には、検出処理を終了する。
【0041】
最後に、各処理ワーカによるイベント検出結果を解析結果統合部14に送信する(ステップS15)。
【0042】
なお、各処理ワーカは、他の処理ワーカとの間で自身の実行状態などを通信することはなく、映像解析処理を個別に独立して実行可能であることから、図5に示す映像データの解析処理動作は並列に実行できる。すなわち、各解析区間でのイベント検出処理は並列に実行される。
【0043】
また、ステップS11で行うイベント検出の具体的手法については、背景技術で説明したような逐次的な比較演算計算が例として挙げられるが、イベントを検出可能であればどのような検出手法も採用でき、本発明において何ら制限されない。イベントの種類の検出についても同様である。
【0044】
図6に、処理ワーカW0が解析区間を動的に延長する状態を示す。処理ワーカW0は解析タスクT0を解析区間とし、処理ワーカW1は解析タスクT1を解析区間として、解析処理を開始する。
【0045】
そして、処理ワーカW0は、解析タスクT0の解析終了フレームである1000フレームに到達したときイベント検出中の状態であることから、解析区間を延長する。処理ワーカW0は解析処理を継続し、1300フレームでイベント検出が終了したため、解析処理を終了している。
【0046】
このとき、解析タスク管理部12は、最終的に解析処理が終了したフレームを、自身が保持している解析タスクT0の解析終了フレームに反映する。この更新された解析タスクデータは、後段の解析結果統合部14による解析結果の統合に利用される。
【0047】
解析結果統合部14は、映像解析部13の各処理ワーカによって並列に映像解析処理された複数の解析結果を1つに統合する。解析区間の動的延長が発生した場合には、重複した解析区間で複数の解析結果が存在することから、時間的に映像の先頭に近い方の解析タスク(時間的に先の解析区間)で検出した結果を優先して統合する。以下、解析結果の統合処理動作について詳述する。
【0048】
図7は、解析結果の統合フローを示す図である。解析結果統合部14は、まず、映像解析部13から解析結果を受け取ると共に、解析タスク管理部12から解析処理を進めた解析区間を取得する(ステップS21)。
【0049】
次に、処理ワーカWiの解析終了フレームEiと処理ワーカWi+1の解析開始フレームSi+1との大きさを比較して、解析区間の動的な延長が発生しているか否かを判定する(ステップS23、S24)。
【0050】
すなわち、Ei>Si+1により解析区間の動的延長が発生し、かつ、重複した解析区間で同種類のイベントが検出されている場合には、その重複解析区間における処理ワーカWiの解析結果を採用するため、処理ワーカWi+1の解析結果を削除する(ステップS25)。
【0051】
最後に、処理ワーカWiと処理ワーカWi+1との各解析結果を統合し、集計結果記憶部15に記憶する(ステップS26、S27)。
【0052】
以上のステップS23〜S27を全処理ワーカの全ての解析結果を統合するまで繰り返す(ステップS23)。
【0053】
図8に、解析結果の統合例を示す。処理ワーカW0は、解析タスクT0の実行時に解析区間の動的延長を行い、0〜1000フレームに加えて1300フレームまでの映像解析処理を行い、処理ワーカW1は、解析タスクT1で割り当てられた解析区間の1000〜2000フレームの映像解析処理を行った例である。
【0054】
解析区間の動的延長が行われたことから、重複する解析区間において2つの解析結果が得られている。処理ワーカW1によりテロップとして検出された1050〜1200フレームは、本来であれば映像の先頭から解析処理されて850〜1250フレームとされるべきであるが、イベント検出途中の対象映像から検出され始めたために誤検出されている。
【0055】
そのため、処理ワーカW1による解析結果から1050〜1200の解析結果を削除して、2つの解析結果を統合することにより、正しい解析結果を求めることを実現している。
【0056】
集計結果記憶部15は、解析結果統合部14によって統合された最終的な解析結果を記憶する。ここで記憶される情報は、カット、カメラワーク、テロップなどの検出イベントの種類を示す検出イベントと、その検出イベントの開始フレーム及び終了フレームである。
【0057】
ユーザは、この最終的な解析結果をデータ出力部で読み出して、映像解析結果として利用できる。例えば、コンピュータのディスプレイに表示することや、テキストファイルなど他の装置で利用可能な形式で読み出して、他の装置が更なる処理を加えることも可能である。
【0058】
最後に、以上説明した並列映像解析装置の具体的構築例について説明する。図9は、並列映像解析装置の構築例を示す図である。同図(a)に示すように、マルチコアCPUの1つのコアを1つの処理ワーカとしてもよいし、同図(b)に示すように、サーバマシン1台を1つの処理ワーカとしてもよい。
【0059】
本発明では、解析タスク管理部が各処理ワーカに解析タスクを割り当てて、処理ワーカが割り当てられた解析タスクを独立して解析処理する。このため、独立して処理ワーカを動作させることが可能な環境であれば、処理ワーカの設定方法は問わない。
【0060】
但し、前述したように、各処理ワーカは映像データを共有して映像解析処理を進めるため、映像データの転送については考慮する必要がある。そのため、図9(b)の場合には、解析サーバ間の通信ネットワーク状態を含めて解析タスクを管理する必要がある。
【0061】
図9に示す構築例以外にも、マルチコアCPUを持つ複数のサーバマシンにより、本発明による映像解析の並列処理を実行するようにしてもよい。
【0062】
また、並列映像解析装置に複数の映像データが入力された場合には、入力された映像データをキューで管理することにより、対応可能である。
【0063】
すなわち、図10(a)に示すように、解析タスク管理部は、生成する解析タスクに、映像データを識別するビデオIDと、タスクの実行状態の有無を示すタスク状態とを加えて管理する。解析処理実行時には、同図(b)に示すように、タスク状態が未実行の解析タスクのうち、ビデオIDが同じ解析タスクを上から順(例えば、タスクIDや解析開始フレームが小さい順)に割り当てていく。
【0064】
以上より、本実施の形態によれば、入力された1つの映像データを共有し、複数の処理ワーカがそれぞれ担当する解析区間の解析対象フレームの映像解析を並列処理するので、映像解析処理時間を短縮できる。更に、イベント検出途中で終了フレームに到達した場合にのみ、解析区間を動的に変更して検出処理を継続するので、映像データの分割点付近でのイベントの誤検出を防止し、逐次実行時と同じ解析結果を取得できる。
【符号の説明】
【0065】
1…並列映像解析装置
11…映像記憶部
12…解析タスク管理部
13…映像解析部
14…解析結果統合部
15…集計結果記憶部
S1〜S8、S11〜S15、S21〜S27…処理ステップ
【技術分野】
【0001】
本発明は、映像データを並列に解析する技術に関する。
【背景技術】
【0002】
映像中のフレームが持つ画像データや音響データという物理的特徴を利用して、映像中のシーンカットやカメラワーク、テロップや音楽などの様々なイベントを検出する映像解析技術が存在する。
【0003】
この映像解析は、時間的に前後関係のある2枚以上のフレームを用いて、そのフレーム間の物理的特徴の相違を見つけ出し、その相違をイベントとして検出する。例えば、時系列なフレーム間の輝度値や濃淡値の差異やその程度に基づいて、テロップが表示された開始フレーム及び終了フレームを解析する。
【0004】
この映像解析技術によれば、映像の先端から最後まで逐次的に比較演算処理することから、映像を構成するフレーム数に比例した演算時間を必要とするため、映像解析技術に対する解析処理時間の短縮が望まれている。
【0005】
このような要望に対し、特許文献1によれば、映像データを複数の部分映像に時分割し、その部分映像を並列解析して、検出したイベントの解析結果を1つに統合する方法が提案されている。
【0006】
このとき、映像データを単純に分けるような時分割手法が採用されると、時間的に前後関係のある2つの部分映像に跨って発生しているイベントを正しく検出することが難しい。
【0007】
その理由は、その時分割処理により、時間的に前後関係のあるフレームの参照が妨げられ、イベントを誤検出するためである。例えば、図11に示す解析結果例によれば、部分映像(1)と部分映像(2)との分割点A付近では、1つのイベントとして本来検出されるべき解析結果が2つのイベントとして分断検出され、部分映像(2)と部分映像(3)との分割点B付近では、本来検出されるべき解析結果が一部欠落している。なお、部分映像とは、映像データから時分割された一部分の映像データであって、その一部分の映像を構成している時間的に連続するフレームの集合体をいう。
【0008】
そこで、同引用文献では、隣り合う部分映像間で「のりしろ」的役割を担う重複するフレームを設けることにより、そのような問題の解決を図っている。重複フレーム数を多くして部分映像間で重なる区間を長くすることにより、映像データを分割することなく逐次的に処理した場合と同じ解析結果を得ようとしている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−69946号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、引用文献1に開示された技術によれば、映像データを時分割して並列解析することから解析処理時間を短縮する目的は達成できるが、部分映像間での重複区間の延長により解析対象のフレーム数が増えることにより、比較演算する解析処理時間が増加してしまうという課題がある。
【0011】
また、2つの部分映像に跨るようなイベントが必ずしも発生するとは限らないことから、全ての部分映像に重複区間を設けることは解析処理上極めて非効率である。
【0012】
本発明は、上記課題を鑑みてなされたものであり、その課題とするところは、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮することにある。
【課題を解決するための手段】
【0013】
請求項1記載の並列映像解析装置は、映像データを並列に解析する並列映像解析装置において、複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析手段と、前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合手段と、を有することを特徴とする。
【0014】
本発明によれば、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合するため、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【0015】
請求項2記載の並列映像解析方法は、映像データを並列に解析する並列映像解析装置により、複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析ステップと、前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合ステップと、を有することを特徴とする。
【0016】
本発明によれば、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合するため、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【0017】
請求項3記載の並列映像解析プログラムは、請求項2記載の各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【0018】
本発明によれば、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【図面の簡単な説明】
【0019】
【図1】並列映像解析装置の機能ブロック構成を示す図である。
【図2】解析タスクの生成フローを示す図である。
【図3】解析タスクの生成例を示す図である。
【図4】処理ワーカへの解析タスク割り当て例を示す図である。
【図5】映像データの解析フローを示す図である。
【図6】解析区間の動的延長例を示す図である。
【図7】解析結果の統合フローを示す図である。
【図8】解析結果の統合例を示す図である。
【図9】並列映像解析装置の構築例を示す図である。
【図10】解析タスクの他の生成例を示す図である。
【図11】従来の解析結果例を示す図である。
【発明を実施するための形態】
【0020】
本発明は、映像解析の効率的な並列処理として、映像データの分割点付近でイベント情報が検出される場合にのみ、解析対象フレームが重なる重複解析区間を設けて映像解析処理を継続することを特徴としている。これにより、分割点付近でのイベント検出精度の低下を防止しながら、映像解析処理時間の短縮を図ることを実現している。
【0021】
すなわち、本発明では、映像解析処理を個別に実行する複数の処理ワーカを設け、その各処理ワーカに対して、映像データを解析する解析区間をそれぞれ割り当てる。各処理ワーカは、1つの映像データを共有し、割り当てられた解析区間の解析開始フレームまでシークした後に、各解析区間内の解析対象フレームを用いて映像解析処理をそれぞれ開始することにより、映像解析処理を並列に実行する。
【0022】
ここで、各処理ワーカは、通常であれば解析区間内の解析終了フレームに到達すると映像解析処理を終了するが、イベント情報の検出途中で解析終了フレームに達した場合には、解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて(以下、解析区間の動的延長)、検出中のイベントが終了するまで映像解析処理を継続する。
【0023】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【0024】
図1は、本実施の形態に係る並列映像解析装置の機能ブロック構成を示す図である。この並列映像解析装置1は、映像記憶部11と、解析タスク管理部12と、映像解析部13と、解析結果統合部14と、集計結果記憶部15とで主に構成される。それら各機能部は、メモリなどの記憶手段やCPUなどの制御手段により実現可能であり、各機能部の各処理は、プログラムにより実行される。以下、本装置を構成している各機能部について詳述する。
【0025】
映像記憶部11は、解析対象である映像データをメモリやハードディスクなどに保持し、記憶する。この映像データは、時系列な複数のフレームで構成されており、HTTP(Hypertext Transfer Protocol)やSMB(Server Message Block)などの各種通信プロトコルで伝送され、ファイルとしてコピーされる。もしくは、ビデオキャプチャボードなどを利用して映像信号として入力され、ファイルとして保持される。
【0026】
解析タスク管理部12は、映像記憶部11から映像データを取得し、イベント検出を行う解析区間を定義した複数の解析タスクを生成して、映像解析部13に設けられた複数の処理ワーカ(1)〜(n)にそれぞれ割り当てる。以下、解析タスクの生成処理動作について詳述する。
【0027】
図2は、解析タスクの生成フローを示す図である。解析タスク管理部12は、まず、映像記憶部11から解析対象の映像ファイルを読み出して、その映像ファイルを構成しているフレーム数Fを取得する(ステップS1、S2)。
【0028】
次に、式(1)を用いて、取得したフレーム数Fと映像解析部13に設けられた処理ワーカ数wとから基本解析区間長Lを求める(ステップS3)。
L=F/w ・・・(1)
【0029】
次に、この基本解析区間長Lを元にして、式(2)及び式(3)を用いて、解析タスクTiにおける解析開始フレームSi及び解析終了フレームEiを算出する(ステップS6)。但し、i=0,1,2,…,wである。
Si=L・i ・・・(2)
Ei=L・(i+1) ・・・(3)
【0030】
最後に、算出された解析開始フレームSi及び解析終了フレームEiを解析タスクTiに対応付けて保持し、処理ワーカWiに割り当てる(ステップS7)。
【0031】
以上のステップS6、S7をi=0から開始してi>w−1が成立するまでiをインクリメントしながら繰り返す(ステップS4、S5、S8)。
【0032】
図3に、フレーム数Fが5000であって、処理ワーカ数wが5である場合の解析タスクの生成例を示す。同図(a)は、解析タスクの生成データ例を示し、同図(b)は、その生成データ例による解析タスクとフレームとの関係性を模式的に示している。
【0033】
例えば、解析タスクT0での解析対象フレームは0〜1000のフレームであり、それらフレーム内の映像が当該解析タスクT0における解析区間の解析対象映像となる。以降、解析タスク管理部12は、図3に示す通りに、タスクIDと、解析開始フレームと、解析終了フレームとを保持するものとする。
【0034】
映像解析部13は、複数の処理ワーカWiを備え、解析タスク管理部12によって割り当てられた解析タスクTiを元に、映像解析を進める。
【0035】
図4に、解析タスクTiを処理ワーカWiに割り当てた例を示す。この例では、5つの処理ワーカW0〜4が1つの映像ファイルを共有し、割り当てられた各解析タスクT1〜4の解析開始フレームから各解析区間内の解析対象フレームをそれぞれ解析処理開始することを示している。以下、映像データの解析処理動作について詳述する。
【0036】
図5は、映像データの解析フローを示す図である。各処理ワーカWiは、まず、個々に割り当てられた解析区間内の解析開始フレームからイベントの検出処理(映像解析処理)を開始する(ステップS11)。
【0037】
次に、その解析区間内の解析終了フレームに到達すると、現在のイベントの検出状態から検出処理を継続するか否かを判定する(ステップS12、S13)。
【0038】
すなわち、その解析終了フレームでイベント検出中である場合には、そのイベントの検出が終了するまで(イベント情報が非検出されるまで)、その解析区間を動的に延長し、その延長により時間的に次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する(ステップS14)。
【0039】
このとき、解析タスク管理部12は、自身が保持している解析タスクの解析終了フレームの情報を延長し、最終的に検出処理が終了したフレームの情報に更新する。
【0040】
一方、その解析終了フレームでイベント検出中でない場合には、検出処理を終了する。
【0041】
最後に、各処理ワーカによるイベント検出結果を解析結果統合部14に送信する(ステップS15)。
【0042】
なお、各処理ワーカは、他の処理ワーカとの間で自身の実行状態などを通信することはなく、映像解析処理を個別に独立して実行可能であることから、図5に示す映像データの解析処理動作は並列に実行できる。すなわち、各解析区間でのイベント検出処理は並列に実行される。
【0043】
また、ステップS11で行うイベント検出の具体的手法については、背景技術で説明したような逐次的な比較演算計算が例として挙げられるが、イベントを検出可能であればどのような検出手法も採用でき、本発明において何ら制限されない。イベントの種類の検出についても同様である。
【0044】
図6に、処理ワーカW0が解析区間を動的に延長する状態を示す。処理ワーカW0は解析タスクT0を解析区間とし、処理ワーカW1は解析タスクT1を解析区間として、解析処理を開始する。
【0045】
そして、処理ワーカW0は、解析タスクT0の解析終了フレームである1000フレームに到達したときイベント検出中の状態であることから、解析区間を延長する。処理ワーカW0は解析処理を継続し、1300フレームでイベント検出が終了したため、解析処理を終了している。
【0046】
このとき、解析タスク管理部12は、最終的に解析処理が終了したフレームを、自身が保持している解析タスクT0の解析終了フレームに反映する。この更新された解析タスクデータは、後段の解析結果統合部14による解析結果の統合に利用される。
【0047】
解析結果統合部14は、映像解析部13の各処理ワーカによって並列に映像解析処理された複数の解析結果を1つに統合する。解析区間の動的延長が発生した場合には、重複した解析区間で複数の解析結果が存在することから、時間的に映像の先頭に近い方の解析タスク(時間的に先の解析区間)で検出した結果を優先して統合する。以下、解析結果の統合処理動作について詳述する。
【0048】
図7は、解析結果の統合フローを示す図である。解析結果統合部14は、まず、映像解析部13から解析結果を受け取ると共に、解析タスク管理部12から解析処理を進めた解析区間を取得する(ステップS21)。
【0049】
次に、処理ワーカWiの解析終了フレームEiと処理ワーカWi+1の解析開始フレームSi+1との大きさを比較して、解析区間の動的な延長が発生しているか否かを判定する(ステップS23、S24)。
【0050】
すなわち、Ei>Si+1により解析区間の動的延長が発生し、かつ、重複した解析区間で同種類のイベントが検出されている場合には、その重複解析区間における処理ワーカWiの解析結果を採用するため、処理ワーカWi+1の解析結果を削除する(ステップS25)。
【0051】
最後に、処理ワーカWiと処理ワーカWi+1との各解析結果を統合し、集計結果記憶部15に記憶する(ステップS26、S27)。
【0052】
以上のステップS23〜S27を全処理ワーカの全ての解析結果を統合するまで繰り返す(ステップS23)。
【0053】
図8に、解析結果の統合例を示す。処理ワーカW0は、解析タスクT0の実行時に解析区間の動的延長を行い、0〜1000フレームに加えて1300フレームまでの映像解析処理を行い、処理ワーカW1は、解析タスクT1で割り当てられた解析区間の1000〜2000フレームの映像解析処理を行った例である。
【0054】
解析区間の動的延長が行われたことから、重複する解析区間において2つの解析結果が得られている。処理ワーカW1によりテロップとして検出された1050〜1200フレームは、本来であれば映像の先頭から解析処理されて850〜1250フレームとされるべきであるが、イベント検出途中の対象映像から検出され始めたために誤検出されている。
【0055】
そのため、処理ワーカW1による解析結果から1050〜1200の解析結果を削除して、2つの解析結果を統合することにより、正しい解析結果を求めることを実現している。
【0056】
集計結果記憶部15は、解析結果統合部14によって統合された最終的な解析結果を記憶する。ここで記憶される情報は、カット、カメラワーク、テロップなどの検出イベントの種類を示す検出イベントと、その検出イベントの開始フレーム及び終了フレームである。
【0057】
ユーザは、この最終的な解析結果をデータ出力部で読み出して、映像解析結果として利用できる。例えば、コンピュータのディスプレイに表示することや、テキストファイルなど他の装置で利用可能な形式で読み出して、他の装置が更なる処理を加えることも可能である。
【0058】
最後に、以上説明した並列映像解析装置の具体的構築例について説明する。図9は、並列映像解析装置の構築例を示す図である。同図(a)に示すように、マルチコアCPUの1つのコアを1つの処理ワーカとしてもよいし、同図(b)に示すように、サーバマシン1台を1つの処理ワーカとしてもよい。
【0059】
本発明では、解析タスク管理部が各処理ワーカに解析タスクを割り当てて、処理ワーカが割り当てられた解析タスクを独立して解析処理する。このため、独立して処理ワーカを動作させることが可能な環境であれば、処理ワーカの設定方法は問わない。
【0060】
但し、前述したように、各処理ワーカは映像データを共有して映像解析処理を進めるため、映像データの転送については考慮する必要がある。そのため、図9(b)の場合には、解析サーバ間の通信ネットワーク状態を含めて解析タスクを管理する必要がある。
【0061】
図9に示す構築例以外にも、マルチコアCPUを持つ複数のサーバマシンにより、本発明による映像解析の並列処理を実行するようにしてもよい。
【0062】
また、並列映像解析装置に複数の映像データが入力された場合には、入力された映像データをキューで管理することにより、対応可能である。
【0063】
すなわち、図10(a)に示すように、解析タスク管理部は、生成する解析タスクに、映像データを識別するビデオIDと、タスクの実行状態の有無を示すタスク状態とを加えて管理する。解析処理実行時には、同図(b)に示すように、タスク状態が未実行の解析タスクのうち、ビデオIDが同じ解析タスクを上から順(例えば、タスクIDや解析開始フレームが小さい順)に割り当てていく。
【0064】
以上より、本実施の形態によれば、入力された1つの映像データを共有し、複数の処理ワーカがそれぞれ担当する解析区間の解析対象フレームの映像解析を並列処理するので、映像解析処理時間を短縮できる。更に、イベント検出途中で終了フレームに到達した場合にのみ、解析区間を動的に変更して検出処理を継続するので、映像データの分割点付近でのイベントの誤検出を防止し、逐次実行時と同じ解析結果を取得できる。
【符号の説明】
【0065】
1…並列映像解析装置
11…映像記憶部
12…解析タスク管理部
13…映像解析部
14…解析結果統合部
15…集計結果記憶部
S1〜S8、S11〜S15、S21〜S27…処理ステップ
【特許請求の範囲】
【請求項1】
映像データを並列に解析する並列映像解析装置において、
複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析手段と、
前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合手段と、
を有することを特徴とする並列映像解析装置。
【請求項2】
映像データを並列に解析する並列映像解析装置により、
複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析ステップと、
前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合ステップと、
を有することを特徴とする並列映像解析方法。
【請求項3】
請求項2記載の各ステップをコンピュータに実行させることを特徴とする並列映像解析プログラム。
【請求項1】
映像データを並列に解析する並列映像解析装置において、
複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析手段と、
前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合手段と、
を有することを特徴とする並列映像解析装置。
【請求項2】
映像データを並列に解析する並列映像解析装置により、
複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析ステップと、
前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合ステップと、
を有することを特徴とする並列映像解析方法。
【請求項3】
請求項2記載の各ステップをコンピュータに実行させることを特徴とする並列映像解析プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−74367(P2013−74367A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−210298(P2011−210298)
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]