(57)【要約】【課題】映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮すること。【解決手段】映像解析部１３が、解析タスク管理部１２により定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析結果統合部１４が、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合する。【選択図】図１
2013074367.tif 000002
【特許請求の範囲】
【請求項１】
映像データを並列に解析する並列映像解析装置において、
複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析手段と、
前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合手段と、
を有することを特徴とする並列映像解析装置。
【請求項２】
映像データを並列に解析する並列映像解析装置により、
複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析ステップと、
前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合ステップと、
を有することを特徴とする並列映像解析方法。
【請求項３】
請求項２記載の各ステップをコンピュータに実行させることを特徴とする並列映像解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データを並列に解析する技術に関する。
【背景技術】
【０００２】
映像中のフレームが持つ画像データや音響データという物理的特徴を利用して、映像中のシーンカットやカメラワーク、テロップや音楽などの様々なイベントを検出する映像解析技術が存在する。
【０００３】
この映像解析は、時間的に前後関係のある２枚以上のフレームを用いて、そのフレーム間の物理的特徴の相違を見つけ出し、その相違をイベントとして検出する。例えば、時系列なフレーム間の輝度値や濃淡値の差異やその程度に基づいて、テロップが表示された開始フレーム及び終了フレームを解析する。
【０００４】
この映像解析技術によれば、映像の先端から最後まで逐次的に比較演算処理することから、映像を構成するフレーム数に比例した演算時間を必要とするため、映像解析技術に対する解析処理時間の短縮が望まれている。
【０００５】
このような要望に対し、特許文献１によれば、映像データを複数の部分映像に時分割し、その部分映像を並列解析して、検出したイベントの解析結果を１つに統合する方法が提案されている。
【０００６】
このとき、映像データを単純に分けるような時分割手法が採用されると、時間的に前後関係のある２つの部分映像に跨って発生しているイベントを正しく検出することが難しい。
【０００７】
その理由は、その時分割処理により、時間的に前後関係のあるフレームの参照が妨げられ、イベントを誤検出するためである。例えば、図１１に示す解析結果例によれば、部分映像（１）と部分映像（２）との分割点Ａ付近では、１つのイベントとして本来検出されるべき解析結果が２つのイベントとして分断検出され、部分映像（２）と部分映像（３）との分割点Ｂ付近では、本来検出されるべき解析結果が一部欠落している。なお、部分映像とは、映像データから時分割された一部分の映像データであって、その一部分の映像を構成している時間的に連続するフレームの集合体をいう。
【０００８】
そこで、同引用文献では、隣り合う部分映像間で「のりしろ」的役割を担う重複するフレームを設けることにより、そのような問題の解決を図っている。重複フレーム数を多くして部分映像間で重なる区間を長くすることにより、映像データを分割することなく逐次的に処理した場合と同じ解析結果を得ようとしている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−６９９４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、引用文献１に開示された技術によれば、映像データを時分割して並列解析することから解析処理時間を短縮する目的は達成できるが、部分映像間での重複区間の延長により解析対象のフレーム数が増えることにより、比較演算する解析処理時間が増加してしまうという課題がある。
【００１１】
また、２つの部分映像に跨るようなイベントが必ずしも発生するとは限らないことから、全ての部分映像に重複区間を設けることは解析処理上極めて非効率である。
【００１２】
本発明は、上記課題を鑑みてなされたものであり、その課題とするところは、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮することにある。
【課題を解決するための手段】
【００１３】
請求項１記載の並列映像解析装置は、映像データを並列に解析する並列映像解析装置において、複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析手段と、前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合手段と、を有することを特徴とする。
【００１４】
本発明によれば、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合するため、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【００１５】
請求項２記載の並列映像解析方法は、映像データを並列に解析する並列映像解析装置により、複数のフレームからなる映像データを記憶手段から読み出して、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、前記イベント情報の検出途中で終了フレームに到達した場合にのみ、当該イベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する映像解析ステップと、前記解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて前記並列実行による複数の解析結果を統合する解析結果統合ステップと、を有することを特徴とする。
【００１６】
本発明によれば、事前定義された各解析区間の解析対象フレームに対してイベント情報の検出を並列に実行し、イベント情報の検出途中で終了フレームに到達した場合にのみ、そのイベント情報が非検出されるまで解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続し、解析区間の延長が発生した場合には、時間的に先の解析区間で検出された解析結果を用いて並列実行による複数の解析結果を統合するため、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【００１７】
請求項３記載の並列映像解析プログラムは、請求項２記載の各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、映像が持つ画像データや音響データといった物理的特徴を利用した映像解析の並列処理において、映像解析精度を低下させることなく映像解析処理時間を短縮できる。
【図面の簡単な説明】
【００１９】
【図１】並列映像解析装置の機能ブロック構成を示す図である。
【図２】解析タスクの生成フローを示す図である。
【図３】解析タスクの生成例を示す図である。
【図４】処理ワーカへの解析タスク割り当て例を示す図である。
【図５】映像データの解析フローを示す図である。
【図６】解析区間の動的延長例を示す図である。
【図７】解析結果の統合フローを示す図である。
【図８】解析結果の統合例を示す図である。
【図９】並列映像解析装置の構築例を示す図である。
【図１０】解析タスクの他の生成例を示す図である。
【図１１】従来の解析結果例を示す図である。
【発明を実施するための形態】
【００２０】
本発明は、映像解析の効率的な並列処理として、映像データの分割点付近でイベント情報が検出される場合にのみ、解析対象フレームが重なる重複解析区間を設けて映像解析処理を継続することを特徴としている。これにより、分割点付近でのイベント検出精度の低下を防止しながら、映像解析処理時間の短縮を図ることを実現している。
【００２１】
すなわち、本発明では、映像解析処理を個別に実行する複数の処理ワーカを設け、その各処理ワーカに対して、映像データを解析する解析区間をそれぞれ割り当てる。各処理ワーカは、１つの映像データを共有し、割り当てられた解析区間の解析開始フレームまでシークした後に、各解析区間内の解析対象フレームを用いて映像解析処理をそれぞれ開始することにより、映像解析処理を並列に実行する。
【００２２】
ここで、各処理ワーカは、通常であれば解析区間内の解析終了フレームに到達すると映像解析処理を終了するが、イベント情報の検出途中で解析終了フレームに達した場合には、解析区間を延長して次の解析区間に含まれ重複する解析対象フレームを用いて（以下、解析区間の動的延長）、検出中のイベントが終了するまで映像解析処理を継続する。
【００２３】
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
【００２４】
図１は、本実施の形態に係る並列映像解析装置の機能ブロック構成を示す図である。この並列映像解析装置１は、映像記憶部１１と、解析タスク管理部１２と、映像解析部１３と、解析結果統合部１４と、集計結果記憶部１５とで主に構成される。それら各機能部は、メモリなどの記憶手段やＣＰＵなどの制御手段により実現可能であり、各機能部の各処理は、プログラムにより実行される。以下、本装置を構成している各機能部について詳述する。
【００２５】
映像記憶部１１は、解析対象である映像データをメモリやハードディスクなどに保持し、記憶する。この映像データは、時系列な複数のフレームで構成されており、ＨＴＴＰ（Hypertext Transfer Protocol）やＳＭＢ（Server Message Block）などの各種通信プロトコルで伝送され、ファイルとしてコピーされる。もしくは、ビデオキャプチャボードなどを利用して映像信号として入力され、ファイルとして保持される。
【００２６】
解析タスク管理部１２は、映像記憶部１１から映像データを取得し、イベント検出を行う解析区間を定義した複数の解析タスクを生成して、映像解析部１３に設けられた複数の処理ワーカ（１）〜（ｎ）にそれぞれ割り当てる。以下、解析タスクの生成処理動作について詳述する。
【００２７】
図２は、解析タスクの生成フローを示す図である。解析タスク管理部１２は、まず、映像記憶部１１から解析対象の映像ファイルを読み出して、その映像ファイルを構成しているフレーム数Ｆを取得する（ステップＳ１、Ｓ２）。
【００２８】
次に、式（１）を用いて、取得したフレーム数Ｆと映像解析部１３に設けられた処理ワーカ数ｗとから基本解析区間長Ｌを求める（ステップＳ３）。
Ｌ＝Ｆ／ｗ      ・・・（１）
【００２９】
次に、この基本解析区間長Ｌを元にして、式（２）及び式（３）を用いて、解析タスクＴｉにおける解析開始フレームＳｉ及び解析終了フレームＥｉを算出する（ステップＳ６）。但し、ｉ＝０，１，２，…，ｗである。
Ｓｉ＝Ｌ・ｉ      ・・・（２）
Ｅｉ＝Ｌ・（ｉ＋１）      ・・・（３）
【００３０】
最後に、算出された解析開始フレームＳｉ及び解析終了フレームＥｉを解析タスクＴｉに対応付けて保持し、処理ワーカＷｉに割り当てる（ステップＳ７）。
【００３１】
以上のステップＳ６、Ｓ７をｉ＝０から開始してｉ＞ｗ−１が成立するまでｉをインクリメントしながら繰り返す（ステップＳ４、Ｓ５、Ｓ８）。
【００３２】
図３に、フレーム数Ｆが５０００であって、処理ワーカ数ｗが５である場合の解析タスクの生成例を示す。同図（ａ）は、解析タスクの生成データ例を示し、同図（ｂ）は、その生成データ例による解析タスクとフレームとの関係性を模式的に示している。
【００３３】
例えば、解析タスクＴ０での解析対象フレームは０〜１０００のフレームであり、それらフレーム内の映像が当該解析タスクＴ０における解析区間の解析対象映像となる。以降、解析タスク管理部１２は、図３に示す通りに、タスクＩＤと、解析開始フレームと、解析終了フレームとを保持するものとする。
【００３４】
映像解析部１３は、複数の処理ワーカＷｉを備え、解析タスク管理部１２によって割り当てられた解析タスクＴｉを元に、映像解析を進める。
【００３５】
図４に、解析タスクＴｉを処理ワーカＷｉに割り当てた例を示す。この例では、５つの処理ワーカＷ０〜４が１つの映像ファイルを共有し、割り当てられた各解析タスクＴ１〜４の解析開始フレームから各解析区間内の解析対象フレームをそれぞれ解析処理開始することを示している。以下、映像データの解析処理動作について詳述する。
【００３６】
図５は、映像データの解析フローを示す図である。各処理ワーカＷｉは、まず、個々に割り当てられた解析区間内の解析開始フレームからイベントの検出処理（映像解析処理）を開始する（ステップＳ１１）。
【００３７】
次に、その解析区間内の解析終了フレームに到達すると、現在のイベントの検出状態から検出処理を継続するか否かを判定する（ステップＳ１２、Ｓ１３）。
【００３８】
すなわち、その解析終了フレームでイベント検出中である場合には、そのイベントの検出が終了するまで（イベント情報が非検出されるまで）、その解析区間を動的に延長し、その延長により時間的に次の解析区間に含まれ重複する解析対象フレームを用いて検出処理を継続する（ステップＳ１４）。
【００３９】
このとき、解析タスク管理部１２は、自身が保持している解析タスクの解析終了フレームの情報を延長し、最終的に検出処理が終了したフレームの情報に更新する。
【００４０】
一方、その解析終了フレームでイベント検出中でない場合には、検出処理を終了する。
【００４１】
最後に、各処理ワーカによるイベント検出結果を解析結果統合部１４に送信する（ステップＳ１５）。
【００４２】
なお、各処理ワーカは、他の処理ワーカとの間で自身の実行状態などを通信することはなく、映像解析処理を個別に独立して実行可能であることから、図５に示す映像データの解析処理動作は並列に実行できる。すなわち、各解析区間でのイベント検出処理は並列に実行される。
【００４３】
また、ステップＳ１１で行うイベント検出の具体的手法については、背景技術で説明したような逐次的な比較演算計算が例として挙げられるが、イベントを検出可能であればどのような検出手法も採用でき、本発明において何ら制限されない。イベントの種類の検出についても同様である。
【００４４】
図６に、処理ワーカＷ０が解析区間を動的に延長する状態を示す。処理ワーカＷ０は解析タスクＴ０を解析区間とし、処理ワーカＷ１は解析タスクＴ１を解析区間として、解析処理を開始する。
【００４５】
そして、処理ワーカＷ０は、解析タスクＴ０の解析終了フレームである１０００フレームに到達したときイベント検出中の状態であることから、解析区間を延長する。処理ワーカＷ０は解析処理を継続し、１３００フレームでイベント検出が終了したため、解析処理を終了している。
【００４６】
このとき、解析タスク管理部１２は、最終的に解析処理が終了したフレームを、自身が保持している解析タスクＴ０の解析終了フレームに反映する。この更新された解析タスクデータは、後段の解析結果統合部１４による解析結果の統合に利用される。
【００４７】
解析結果統合部１４は、映像解析部１３の各処理ワーカによって並列に映像解析処理された複数の解析結果を１つに統合する。解析区間の動的延長が発生した場合には、重複した解析区間で複数の解析結果が存在することから、時間的に映像の先頭に近い方の解析タスク（時間的に先の解析区間）で検出した結果を優先して統合する。以下、解析結果の統合処理動作について詳述する。
【００４８】
図７は、解析結果の統合フローを示す図である。解析結果統合部１４は、まず、映像解析部１３から解析結果を受け取ると共に、解析タスク管理部１２から解析処理を進めた解析区間を取得する（ステップＳ２１）。
【００４９】
次に、処理ワーカＷｉの解析終了フレームＥｉと処理ワーカＷｉ＋１の解析開始フレームＳｉ＋１との大きさを比較して、解析区間の動的な延長が発生しているか否かを判定する（ステップＳ２３、Ｓ２４）。
【００５０】
すなわち、Ｅｉ＞Ｓｉ＋１により解析区間の動的延長が発生し、かつ、重複した解析区間で同種類のイベントが検出されている場合には、その重複解析区間における処理ワーカＷｉの解析結果を採用するため、処理ワーカＷｉ＋１の解析結果を削除する（ステップＳ２５）。
【００５１】
最後に、処理ワーカＷｉと処理ワーカＷｉ＋１との各解析結果を統合し、集計結果記憶部１５に記憶する（ステップＳ２６、Ｓ２７）。
【００５２】
以上のステップＳ２３〜Ｓ２７を全処理ワーカの全ての解析結果を統合するまで繰り返す（ステップＳ２３）。
【００５３】
図８に、解析結果の統合例を示す。処理ワーカＷ０は、解析タスクＴ０の実行時に解析区間の動的延長を行い、０〜１０００フレームに加えて１３００フレームまでの映像解析処理を行い、処理ワーカＷ１は、解析タスクＴ１で割り当てられた解析区間の１０００〜２０００フレームの映像解析処理を行った例である。
【００５４】
解析区間の動的延長が行われたことから、重複する解析区間において２つの解析結果が得られている。処理ワーカＷ１によりテロップとして検出された１０５０〜１２００フレームは、本来であれば映像の先頭から解析処理されて８５０〜１２５０フレームとされるべきであるが、イベント検出途中の対象映像から検出され始めたために誤検出されている。
【００５５】
そのため、処理ワーカＷ１による解析結果から１０５０〜１２００の解析結果を削除して、２つの解析結果を統合することにより、正しい解析結果を求めることを実現している。
【００５６】
集計結果記憶部１５は、解析結果統合部１４によって統合された最終的な解析結果を記憶する。ここで記憶される情報は、カット、カメラワーク、テロップなどの検出イベントの種類を示す検出イベントと、その検出イベントの開始フレーム及び終了フレームである。
【００５７】
ユーザは、この最終的な解析結果をデータ出力部で読み出して、映像解析結果として利用できる。例えば、コンピュータのディスプレイに表示することや、テキストファイルなど他の装置で利用可能な形式で読み出して、他の装置が更なる処理を加えることも可能である。
【００５８】
最後に、以上説明した並列映像解析装置の具体的構築例について説明する。図９は、並列映像解析装置の構築例を示す図である。同図（ａ）に示すように、マルチコアＣＰＵの１つのコアを１つの処理ワーカとしてもよいし、同図（ｂ）に示すように、サーバマシン１台を１つの処理ワーカとしてもよい。
【００５９】
本発明では、解析タスク管理部が各処理ワーカに解析タスクを割り当てて、処理ワーカが割り当てられた解析タスクを独立して解析処理する。このため、独立して処理ワーカを動作させることが可能な環境であれば、処理ワーカの設定方法は問わない。
【００６０】
但し、前述したように、各処理ワーカは映像データを共有して映像解析処理を進めるため、映像データの転送については考慮する必要がある。そのため、図９（ｂ）の場合には、解析サーバ間の通信ネットワーク状態を含めて解析タスクを管理する必要がある。
【００６１】
図９に示す構築例以外にも、マルチコアＣＰＵを持つ複数のサーバマシンにより、本発明による映像解析の並列処理を実行するようにしてもよい。
【００６２】
また、並列映像解析装置に複数の映像データが入力された場合には、入力された映像データをキューで管理することにより、対応可能である。
【００６３】
すなわち、図１０（ａ）に示すように、解析タスク管理部は、生成する解析タスクに、映像データを識別するビデオＩＤと、タスクの実行状態の有無を示すタスク状態とを加えて管理する。解析処理実行時には、同図（ｂ）に示すように、タスク状態が未実行の解析タスクのうち、ビデオＩＤが同じ解析タスクを上から順（例えば、タスクＩＤや解析開始フレームが小さい順）に割り当てていく。
【００６４】
以上より、本実施の形態によれば、入力された１つの映像データを共有し、複数の処理ワーカがそれぞれ担当する解析区間の解析対象フレームの映像解析を並列処理するので、映像解析処理時間を短縮できる。更に、イベント検出途中で終了フレームに到達した場合にのみ、解析区間を動的に変更して検出処理を継続するので、映像データの分割点付近でのイベントの誤検出を防止し、逐次実行時と同じ解析結果を取得できる。
【符号の説明】
【００６５】
１…並列映像解析装置
１１…映像記憶部
１２…解析タスク管理部
１３…映像解析部
１４…解析結果統合部
１５…集計結果記憶部
Ｓ１〜Ｓ８、Ｓ１１〜Ｓ１５、Ｓ２１〜Ｓ２７…処理ステップ
【図１】
2013074367.tif 000003
【図２】
2013074367.tif 000004
【図３】
2013074367.tif 000005
【図４】
2013074367.tif 000006
【図５】
2013074367.tif 000007
【図６】
2013074367.tif 000008
【図７】
2013074367.tif 000009
【図８】
2013074367.tif 000010
【図９】
2013074367.tif 000011
【図１０】
2013074367.tif 000012
【図１１】
2013074367.tif 000013