(57)【特許請求の範囲】
【請求項１】
映像のイベント区間を検出するための解析処理を、それぞれ独立して並列に実行する複数の処理ワーカ部と、
予め設定された単位時間あたりの処理可能な映像長と、処理対象の映像長とに基づいて算出される前記処理対象の映像の予測総処理時間が最短となるように、前記複数の処理ワーカ部で解析処理を実行させるための前記処理対象の映像の分割数を、自映像解析処理装置が有する処理ワーカ部数内で決定する分割数決定部と、
前記分割数決定部で決定された分割数に基づいて前記処理対象の映像が分割された複数の処理区間の、前記処理対象の映像内の位置情報を特定する処理区間特定部と、
前記処理区間特定部で特定された各処理区間を、前記各処理ワーカ部に解析処理を実行させるために割り当てる解析処理管理部と、
前記複数の処理ワーカ部で実行された解析処理の結果を取得し、統合する検出結果統合部とを備え、
前記処理ワーカ部はそれぞれ、前記解析処理管理部により割り当てられた処理区間の解析処理の終了時にイベント区間の検出中であるときには当該イベント区間が終了するまで解析処理を延長し、当該延長した区間の解析処理を他の処理ワーカ部とオーバラップして実行する映像解析処理装置において、
過去に実行した解析処理時間の合計値である総映像処理時間、過去の解析処理に利用した映像の数、過去の解析処理に利用した映像の時間長の合計値である総映像長、過去の解析処理において発生したオーバラップ区間の時間長の合計値であるオーバラップ区間長、および、過去の解析処理により検出されたイベント区間の時間長の合計値である総イベント区間長を変数情報として記憶する解析変数記憶部と、
前記複数の処理ワーカ部で実行された解析処理の解析結果に基づいて、前記解析変数記憶部に記憶された情報を更新する解析変数更新部とをさらに有し、
前記分割数決定部において分割数の決定に用いられる前記処理対象の映像の予測総処理時間は、前記解析変数記憶部に記憶された総映像処理時間および総映像長に基づいて算出される単位時間あたりの処理可能な映像長と、総イベント区間長および総映像長に基づいて算出される総映像処理時間内の総イベント区間長の割合と、映像の数およびオーバラップ区間長に基づいて算出される映像ごとの平均オーバラップ区間長とに基づいて算出される
ことを特徴とする映像解析処理装置。
【請求項２】
前記解析変数記憶部では、映像のジャンルごと、映像フォーマットごと、または解像度ごとに前記変数情報が記憶され、
前記分割数決定部では、指定されたジャンル、映像フォーマット、または解像度に関する変数情報を前記解析変数記憶部から取得して前記分割数の決定に用いる
ことを特徴とする請求項１に記載の映像解析処理装置。
【請求項３】
前記分割数決定部は、前記処理対象の映像を分割しない場合の予測処理時間を前記平均オーバラップ区間長を含めずに算出し、前記オーバラップ区間長を含めて算出した分割する場合の予測処理時間よりも、前記分割しない場合の予測処理時間のほうが短いときは、分割数を１として特定する
ことを特徴とする請求項１または２に記載の映像解析処理装置。
【請求項４】
映像のイベント区間を検出するための解析処理を、それぞれ独立して並列に実行する複数の処理ワーカ部と、
予め設定された単位時間あたりの処理可能な映像長と、処理対象の映像長とに基づいて算出される前記処理対象の映像の予測総処理時間が最短となるように、前記複数の処理ワーカ部で解析処理を実行させるための前記処理対象の映像の分割数を、自映像解析処理装置が有する処理ワーカ部数内で決定する分割数決定部と、
前記分割数決定部で決定された分割数に基づいて前記処理対象の映像が分割された複数の処理区間の、前記処理対象の映像内の位置情報を特定する処理区間特定部と、
前記処理区間特定部で特定された各処理区間を、前記各処理ワーカ部に解析処理を実行させるために割り当てる解析処理管理部と、
前記複数の処理ワーカ部で実行された解析処理の結果を取得し、統合する検出結果統合部とを備え、
前記処理ワーカ部はそれぞれ、前記解析処理管理部により割り当てられた処理区間の解析処理の終了時にイベント区間の検出中であるときには当該イベント区間が終了するまで解析処理を延長し、当該延長した区間の解析処理を他の処理ワーカ部とオーバラップして実行する映像解析処理装置が、
過去に実行した解析処理時間の合計値である総映像処理時間、過去の解析処理に利用した映像の数、過去の解析処理に利用した映像の時間長の合計値である総映像長、過去の解析処理において発生したオーバラップ区間の時間長の合計値であるオーバラップ区間長、および、過去の解析処理により検出されたイベント区間の時間長の合計値である総イベント区間長を変数情報として記憶する解析変数記憶ステップと、
前記複数の処理ワーカ部で実行された解析処理の解析結果に基づいて、前記解析変数記憶ステップで記憶された情報を更新する解析変数更新ステップと、
前記解析変数記憶ステップで記憶された総映像処理時間および総映像長に基づいて算出される単位時間あたりの処理可能な映像長と、総イベント区間長および総映像長に基づいて算出される総映像処理時間内の総イベント区間長の割合と、映像の数およびオーバラップ区間長に基づいて算出される映像ごとの平均オーバラップ区間長とに基づいて、前記分割数決定部において、分割数の決定に用いられる前記処理対象の映像の予測総処理時間を算出するステップと
を有することを特徴とする映像解析処理方法。
【請求項５】
請求項１〜請求項３いずれか１項に記載の映像解析処理装置をコンピュータで構成するための映像解析処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を分割し、並列的に分散して解析することで、処理を高速化する映像解析処理装置、映像解析処理方法、および映像解析処理用プログラムに関する。
【背景技術】
【０００２】
従来、映像の解析処理として、映像中のフレームから抽出した画像データや対応する音声データの物理的特徴を利用して、映像中のシーン切り替え点であるカット点や、カメラワークの切り替え点、音楽区間の開始点および終了点などを、イベントとして検出する技術がある。
【０００３】
これらのイベント検出処理の例として、特許文献１に記載されたように、フレームの輝度情報を基にカット点を検出するものや、特許文献２に記載されたように、音情報の周波数や強さを基にして音声・音楽区間を検出するものがある。
【０００４】
これらの技術では、時間的に前後関係のある２点以上の画像データや音データの物理的特徴を、映像の最初から最後まで逐次的に比較して差分などを演算処理し、特徴的な区間をイベント区間として検出している。そのため、イベント検出処理を行う際には映像が長くなるほどそれに比例して多くの時間がかかる。
【０００５】
そこで、処理時間を短縮しつつも正しくイベントを検出する方法として、特許文献３に記載の技術が提案されている。
【０００６】
特許文献３では、映像を複数の処理区間に時分割し、隣り合う処理区間との間に互いに重なり合う区間（以下，オーバラップする区間と呼ぶ）を持たせ、分割された区間の解析処理を並列に実行することにより、処理時間を短縮している。
【０００７】
このとき、オーバラップ区間を長くすることによりイベントの検出漏れを防ぐことができ、映像を分割せずに逐次的に検出処理を行った場合と同精度でイベント検出結果を得ることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第２８３９１３２号公報
【特許文献２】特開平１１−２６６４２８号公報
【特許文献３】特許第３７８５０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、上述した特許文献３の技術においてオーバラップ区間を長くすると、解析するフレーム数が増え、処理時間の増加を引き起こすことになる。加えて、イベント区間は必ずしも複数の処理区間に跨るとは限らないため、すべての処理区間に前後の処理区間とのオーバラップ区間を設けることは非効率的である。さらに、各処理区間に固定長のオーバラップ区間を設けておいてもこれが充分でない場合には、イベント区間が処理区間の境界を跨ることにより正確なイベント区間を検出できない可能性があり、さらなる処理精度の向上が望まれていた。
【００１０】
本発明は上記事情に鑑みてなされたものであり、映像の解析処理を効率良く高速化しつつ、精度の高い解析処理を行うことが可能な映像解析処理装置、映像解析処理方法、および映像解析処理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するための、本発明の請求項１に記載の映像解析処理装置は、映像のイベント区間を検出するための解析処理を、それぞれ独立して並列に実行する複数の処理ワーカ部と、予め設定された単位時間あたりの処理可能な映像長と、処理対象の映像長とに基づいて算出される前記処理対象の映像の予測総処理時間が最短となるように、前記複数の処理ワーカ部で解析処理を実行させるための前記処理対象の映像の分割数を、自映像解析処理装置が有する処理ワーカ部数内で決定する分割数決定部と、前記分割数決定部で決定された分割数に基づいて前記処理対象の映像が分割された複数の処理区間の、前記処理対象の映像内の位置情報を特定する処理区間特定部と、前記処理区間特定部で特定された各処理区間を、前記各処理ワーカ部に解析処理を実行させるために割り当てる解析処理管理部と、前記複数の処理ワーカ部で実行された解析処理の結果を取得し、統合する検出結果統合部とを備え、前記処理ワーカ部はそれぞれ、前記解析処理管理部により割り当てられた処理区間の解析処理の終了時にイベント区間の検出中であるときには当該イベント区間が終了するまで解析処理を延長し、当該延長した区間の解析処理を他の処理ワーカ部とオーバラップして実行する映像解析処理装置において、過去に実行した解析処理時間の合計値である総映像処理時間、過去の解析処理に利用した映像の数、過去の解析処理に利用した映像の時間長の合計値である総映像長、過去の解析処理において発生したオーバラップ区間の時間長の合計値であるオーバラップ区間長、および、過去の解析処理により検出されたイベント区間の時間長の合計値である総イベント区間長を変数情報として記憶する解析変数記憶部と、前記複数の処理ワーカ部で実行された解析処理の解析結果に基づいて、前記解析変数記憶部に記憶された情報を更新する解析変数更新部とをさらに有し、前記分割数決定部において分割数の決定に用いられる前記処理対象の映像の予測総処理時間は、前記解析変数記憶部に記憶された総映像処理時間および総映像長に基づいて算出される単位時間あたりの処理可能な映像長と、総イベント区間長および総映像長に基づいて算出される総映像処理時間内の総イベント区間長の割合と、映像の数およびオーバラップ区間長に基づいて算出される映像ごとの平均オーバラップ区間長とに基づいて算出されることを特徴とする。
【００１４】
また本発明の請求項２は請求項１に記載の映像解析処理装置であり、前記解析変数記憶部では、映像のジャンルごと、映像フォーマットごと、または解像度ごとに前記変数情報が記憶され、前記分割数決定部では、指定されたジャンル、映像フォーマット、または解像度に関する変数情報を前記解析変数記憶部から取得して前記分割数の決定に用いることを特徴とする。
【００１５】
また本発明の請求項３は請求項１または２に記載の映像解析処理装置であり、前記分割数決定部は、前記処理対象の映像を分割しない場合の予測処理時間を前記平均オーバラップ区間長を含めずに算出し、前記オーバラップ区間長を含めて算出した分割する場合の予測処理時間よりも、前記分割しない場合の予測処理時間のほうが短いときは、分割数を１として特定することを特徴とする。
【００１６】
また本発明の請求項４に記載の映像解析処理方法は、映像のイベント区間を検出するための解析処理を、それぞれ独立して並列に実行する複数の処理ワーカ部と、予め設定された単位時間あたりの処理可能な映像長と、処理対象の映像長とに基づいて算出される前記処理対象の映像の予測総処理時間が最短となるように、前記複数の処理ワーカ部で解析処理を実行させるための前記処理対象の映像の分割数を、自映像解析処理装置が有する処理ワーカ部数内で決定する分割数決定部と、前記分割数決定部で決定された分割数に基づいて前記処理対象の映像が分割された複数の処理区間の、前記処理対象の映像内の位置情報を特定する処理区間特定部と、前記処理区間特定部で特定された各処理区間を、前記各処理ワーカ部に解析処理を実行させるために割り当てる解析処理管理部と、前記複数の処理ワーカ部で実行された解析処理の結果を取得し、統合する検出結果統合部とを備え、前記処理ワーカ部はそれぞれ、前記解析処理管理部により割り当てられた処理区間の解析処理の終了時にイベント区間の検出中であるときには当該イベント区間が終了するまで解析処理を延長し、当該延長した区間の解析処理を他の処理ワーカ部とオーバラップして実行する映像解析処理装置が、過去に実行した解析処理時間の合計値である総映像処理時間、過去の解析処理に利用した映像の数、過去の解析処理に利用した映像の時間長の合計値である総映像長、過去の解析処理において発生したオーバラップ区間の時間長の合計値であるオーバラップ区間長、および、過去の解析処理により検出されたイベント区間の時間長の合計値である総イベント区間長を変数情報として記憶する解析変数記憶ステップと、前記複数の処理ワーカ部で実行された解析処理の解析結果に基づいて、前記解析変数記憶ステップで記憶された情報を更新する解析変数更新ステップと、前記解析変数記憶ステップで記憶された総映像処理時間および総映像長に基づいて算出される単位時間あたりの処理可能な映像長と、総イベント区間長および総映像長に基づいて算出される総映像処理時間内の総イベント区間長の割合と、映像の数およびオーバラップ区間長に基づいて算出される映像ごとの平均オーバラップ区間長とに基づいて、前記分割数決定部において、分割数の決定に用いられる前記処理対象の映像の予測総処理時間を算出するステップとを有することを特徴とする。
【００１７】
また本発明の請求項５に記載の映像解析処理用プログラムは、請求項１〜請求項３いずれか１項に記載の映像解析処理装置をコンピュータで構成するためのものであることを特徴とする。
【発明の効果】
【００１８】
本発明の映像解析処理装置、映像解析処理方法、および映像解析処理用プログラムによれば、映像の解析処理を効率良く高速化しつつ、精度の高い解析処理を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態による映像解析処理装置の構成を示すブロック図である。
【図２】本発明の一実施形態による映像解析処理装置の解析変数記憶部に記憶される情報の一例である。
【図３】本発明の一実施形態による映像解析処理装置で実行される処理の動作を示すフローチャートである。
【図４】本発明の一実施形態による映像解析処理装置の分割数決定部で実行される処理の動作を示すフローチャートである。
【図５】本発明の一実施形態による映像解析処理装置の処理区間特定部で実行される処理の動作を示すフローチャートである。
【図６】本発明の一実施形態による映像解析処理装置の処理区間特定部に記憶される処理区間データの一例を示す表である。
【図７】本発明の一実施形態による映像解析処理装置の解析処理管理部で各処理区間が各処理ワーカ部に割り当てられた状態を示す説明図である。
【図８】本発明の一実施形態による映像解析処理装置の処理ワーカ部で実行される処理の動作を示すフローチャートである。
【図９】本発明の一実施形態による映像解析処理装置の、（ａ）処理ワーカ部において、割り当てられた区間の処理が実行されるときの状態を示す説明図、（ｂ）処理区間特定部に記憶された処理データの一例を示す表である。
【図１０】本発明の一実施形態による映像解析処理装置の、（ａ）処理ワーカ部において、割り当てられた区間が延長されて処理が実行されるときの状態を示す説明図、（ｂ）処理区間特定部に記憶された処理データが延長により更新された状態を示す表である。
【図１１】本発明の一実施形態による映像解析処理装置の解析変数更新部で実行される処理の動作を示すフローチャートである。
【図１２】本発明の一実施形態による映像解析処理装置のワーカ処理部を、（ａ）マルチコアＣＰＵで構成した場合、（ｂ）サーバで構成した場合を示す説明図である。
【発明を実施するための形態】
【００２０】
本発明の一実施形態では、映像データを複数の処理区間に時分割し、隣り合う処理区間との間に互いにオーバラップする区間を持たせ、分割された区間の解析処理を並列に実行することで、効率良く且つ精度の高い解析処理を実行することが可能な映像解析処理装置について説明する。
【００２１】
〈一実施形態による映像解析処理装置を利用した映像解析処理システムの構成〉
本発明の一実施形態による映像解析処理装置を利用した映像解析処理システムの構成について、図１を参照して説明する。
【００２２】
本実施形態による映像解析処理システム１は、データ入力装置１０と、映像解析処理装置２０と、データ出力装置３０とを備える。
【００２３】
データ入力装置１０は、解析処理対象の映像を、ＨＴＴＰ（HyperText Transfer Protocol）やＳＭＢ（Server Message Block）等の各種の通信プロトコルにより映像解析処理装置２０に入力する。
【００２４】
映像解析処理装置２０は、映像記憶部２１と、解析変数記憶部２２と、映像解析部２３と、分割数決定部２４と、処理区間特定部２５と、解析処理管理部２６と、検出結果統合部２７と、集計結果記憶部２８と、解析変数更新部２９とを有する。
【００２５】
映像記憶部２１は、ハードディスク等の記憶装置で構成され、データ入力装置１０により入力された解析処理対象の映像をファイルとして記憶する。
【００２６】
解析変数記憶部２２は、解析処理時間の予測時に利用する、イベント区間の種別ごとの各種変数情報を予め記憶する。
【００２７】
映像解析部２３は、映像取得部２３１と、ｎ個の処理ワーカ部（第１処理ワーカ部２３２−１、第２処理ワーカ部２３２−２、第３処理ワーカ部２３２−３・・・第ｎ処理ワーカ部２３２−ｎ）と、利用可能ワーカ数検出部２３３とを有する。映像取得部２３１は、後述する解析処理管理部２６で生成される処理区間データに基づいて、映像記憶部２１から各処理区間の映像を取得し、該当する処理ワーカ部２３２−１〜２３２−ｎにそれぞれ送出する。複数（ｎ個）の処理ワーカ部２３２−１〜２３２−ｎはそれぞれ、映像取得部２３１から送出された映像の解析処理を、独立して並列的に実行する。利用可能ワーカ数検出部２３３は、処理ワーカ部２３２−１〜２３２−ｎのうち、現在利用可能な処理ワーカ部数を検出し、分割数決定部２４に送出する。
【００２８】
分割数決定部２４は、解析変数記憶部２２に記憶された変数情報、および映像解析部２３から取得される利用可能な処理ワーカ部数に基づいて、映像の解析処理時間が最短となるように、当該映像の分割数を決定する。
【００２９】
処理区間特定部２５は、分割数決定部２４で決定された分割数に基づいて、当該映像を分割した処理区間を特定する。
【００３０】
解析処理管理部２６は、処理区間特定部２５で特定された各処理区間を、映像解析部２３の各処理ワーカ部２３２−１〜２３２−ｎに割り当てる。
【００３１】
検出結果統合部２７は、映像解析部２３の各処理ワーカ部２３２−１〜２３２−ｎで実行された解析処理結果を取得し統合する。
【００３２】
集計結果記憶部２８は、検出結果統合部２７で統合された当該映像の解析処理結果を記憶する。
【００３３】
解析変数更新部２９は、映像解析部２３の各処理ワーカ部２３２−１〜２３２−ｎで実行された解析処理結果に基づいて、解析変数記憶部２２に記憶された各種変数を更新する。
【００３４】
データ出力装置３０はユーザにより操作されるものであり、映像解析処理装置２０で解析された結果情報を読み出して出力する。
【００３５】
〈一実施形態による映像解析処理装置を利用した映像解析処理システムの動作〉
次に、本実施形態による映像解析処理システム１の動作について、図２〜１１を参照して説明する。
【００３６】
本実施形態において、解析変数記憶部２２には、解析処理時間の予測時に利用する、イベント種別ごとの各種変数情報を示す表が予め記憶されている。この各種変数情報は、一般的な映像を解析した解析結果を用いて実験的に求めることが可能である。解析変数記憶部２２に記憶された変数情報の例を図２に示す。
【００３７】
図２は変数情報を示す表であり、映像中から検出されるイベント区間として、シーンの切り替え点であるカット点から次のカット点までの区間を示す「カット点」、カメラワークの切り替え点から次の切り替え点までの区間を示す「カメラワーク」、映像上にテロップの表示がある区間を示す「テロップ」、映像中に音楽が流れている区間を示す「音楽区間」に関しそれぞれ、過去に実行した解析処理時間の合計値である総映像処理時間T（T1〜T4）、過去の解析処理に利用した映像の数V（V1〜V4）、過去の解析処理に利用した映像の時間長の合計値である総映像長L（L1〜L4）、過去の解析処理において発生したオーバラップ区間の時間長の合計値である総オーバラップ区間長O（O1〜O4）、過去の解析処理により検出されたイベント区間の時間長の合計値である総イベント区間長E（E1〜E4）が格納されている。
【００３８】
この変数情報は、対象映像のジャンルや映像のフォーマット、解像度によってその値が変化することがある。例えば、映像ジャンルが異なるニュース映像とドラマ映像では、映像中に存在するテロップイベントの長さや発生数が変わってくる。また、映像フォーマットの違いは、映像信号から画像フレームに復号処理する時間に影響し、解像度の違いは、画像フレームからの特徴量を抽出する処理の時間に影響する。
【００３９】
そこで、ジャンルや映像フォーマット、解像度別に各イベント区間の変数情報を解析変数記憶部２２に記憶しておき、分割数決定部２４の処理に用いるようにしてもよい。このとき、解析処理対象の映像のジャンルや映像フォーマット、解像度は、データ入力時にデータ入力装置１０においてユーザが指定して、または解析処理対象の映像を既存の技術を用いて解析することにより特定して、後述する分割数の決定に用いるようにしてもよい。また、新たな種別のイベント区間を分割数算出処理の要素として追加したい場合には、当該追加するイベント区間の解析変数を算出し、都度解析変数記憶部２２内の変数情報に追加することで対応が可能である。
【００４０】
このように変数情報が解析変数記憶部２２に記憶された状態で、映像解析処理装置２０において実行される処理について、図３のフローチャートを参照して説明する。
【００４１】
本実施形態による映像解析処理装置２０では、ユーザの操作によりデータ入力装置１０から入力された解析処理対象の映像が受信され、映像記憶部２１に記憶される（Ｓ１）。
【００４２】
次に分割数決定部２４において、解析変数記憶部２２に記憶された変数情報に基づいて、対象映像の解析処理時間が最短となるように、当該映像の分割数が決定される（Ｓ２）。
【００４３】
分割数決定部２４において映像の分割数が決定される際の詳細な処理について、図４のフローチャートを参照して説明する。
【００４４】
まず、映像記憶部２１に記憶された対象映像の映像長Mが取得される（Ｓ２０１）。また、解析変数記憶部２２に記憶された各イベント区間の変数情報（総映像処理時間T、映像の数V、総映像長L、総オーバラップ区間長O、および総イベント区間長E）が取得される（Ｓ２０２）。また、分割数決定部２４から映像解析部２３内に、現在利用可能な処理ワーカ数が問い合わせられ、これに応じて映像解析部２３の利用可能ワーカ数検出部２３３から通知された「利用可能な処理ワーカ部数N」が分割数決定部２４で取得される（Ｓ２０３）。
【００４５】
次に、これらの値が用いられ、平均処理速度B、総イベント内包率C、および平均総オーバラップ区間長Aが算出される（Ｓ２０４）。
【００４６】
平均処理速度Bは下記式（１）に基づいて算出される値であり、単位時間あたりの処理可能な映像長を示す。
【数１】
0005863180.tif 000002
【００４７】
また総イベント内包率Cは下記式（２）に基づいて算出される値であり、過去に解析処理が実行された総映像に含まれる、総イベント区間長Eの割合を示す。この総イベント内包率Cが高いほど、１つのイベント区間が、分割された複数の処理区間に跨る可能性が高くなる。
【数２】
0005863180.tif 000003
【００４８】
また平均総オーバラップ区間長Aは下記式（３）に基づいて算出される値であり、映像ごとの、解析処理時に延長した総オーバラップ区間長の平均値を示す。解析処理時の総オーバラップ区間長の延長処理については後述する。
【数３】
0005863180.tif 000004
【００４９】
次に、分割数nが「2」の場合、ステップＳ２０３で取得された利用可能な処理ワーカ部数Nの範囲内で、総映像処理時間Tが最短となる映像の分割数が特定される。
【００５０】
ここで、総映像処理時間Tは下記式（４）のように、１つの処理ワーカ部において割り当てられた処理区間の解析処理時間Tpと、１つの処理ワーカ部において、割り当てられた処理区間が保持するオーバラップ区間の解析処理時間Toとの合計値で示される。
【数４】
0005863180.tif 000005
【００５１】
このとき、１つの処理区間の解析処理時間Tpは、下記式（５）に示すように、１つの処理区間の映像長（M/n）が平均処理速度Bで除算して求められる。
【数５】
0005863180.tif 000006
【００５２】
また、オーバラップ区間の解析処理時間Toは、下記式（６）に示すように、総イベント内包率Cに映像の末尾を除く全ての処理区間の終了点の数（ｎ-1）を乗じて延長の発生数（ｎ-1）Cが算出され、さらにその発生数に平均総オーバラップ区間長Aを乗算し、予想されるオーバラップ区間の解析処理時間Toとして算出される。
【数６】
0005863180.tif 000007
【００５３】
上記式（４）に上記式（５）および（６）を代入すると、総映像処理時間T(n)は下記式（４）’のように予測される。
【数７】
0005863180.tif 000008
【００５４】
上記式（４）’ を微分して，総映像処理時間T(n)が最短となる分割数ｎを求める．
【数８】
0005863180.tif 000009
【００５５】
上記式（７）より、総映像処理時間T’(n)が最短となる分割数nの非正規化値（自然数に限られない）n*が、下記式（８）により求められる（Ｓ２０５）。処理ワーカ数は常に自然数であるため分割数nは最終的には正規化して自然数で算出する必要があるが、ここでは分割数nを求めるための前段階として、自然数に限られない非正規化の状態の値n*が下記式（８）により求められる。
【数９】
0005863180.tif 000010
【００５６】
ここで、解析対象とする映像長Mが短く、分割数nの非正規化値n*が「1」よりも小さい場合（ステップＳ２０６の「YES」）は、映像の分割数nは「1」として特定される（Ｓ２０７）。
【００５７】
また、分割数nが「1」の場合、つまり映像を分割しない場合の総映像処理時間T(1)は、総オーバラップ区間長Oが発生せず下記式（９）により示される。
【数１０】
0005863180.tif 000011
【００５８】
ステップＳ２０６において分割数nの非正規化値n*が「1」以上の場合（Ｓ２０６の「NO」）は、当該分割数nの非正規化値n*と、ステップＳ２０３で取得された利用可能な処理ワーカ部数Nとが比較される（Ｓ２０８）。
【００５９】
比較の結果、映像の分割数nの非正規化値n*が利用可能な処理ワーカ部数N以上の場合（ステップＳ２０８の「YES」）は、映像の分割数nは「N」として特定される（Ｓ２０９）。
【００６０】
またステップＳ２０８において、映像の分割数nの非正規化値n*が利用可能な処理ワーカ部数Nよりも小さい場合（ステップＳ２０８の「NO」）は、分割数nの非正規化値n*以下であり最大の自然数mと、分割数nの非正規化値n*以上であり最小の自然数(m+1)とが求められる（Ｓ２１０）。
【００６１】
そして、求められた自然数mおよび自然数(m+1)をそれぞれ上記式（４）’の「n」に代入した総映像処理時間T(m)および総映像処理時間T(m+1)が求められる。
【００６２】
求められた総映像処理時間T(m)と総映像処理時間T(m+1)とが比較され、総映像処理時間T(m+1)が総映像処理時間T(m)以上であるとき（Ｓ２１１の「YES」）は、映像の分割数ｎは自然数mとして特定される（Ｓ２１２）。
【００６３】
また、ステップＳ２１０において総映像処理時間T(m+1)が総映像処理時間T(m)よりも小さいとき（Ｓ２１１の「NO」）は、映像の分割数ｎは自然数m+1として特定される（Ｓ２１３）。つまり、映像の分割数ｎは、以下の式（１０）により特定される。
【数１１】
0005863180.tif 000012
【００６４】
以上で映像の分割数ｎの算出処理についての説明を終了する。
【００６５】
図３のフローチャートに戻り、算出された映像の分割数nに基づいて、当該映像を分割した複数の処理区間が処理区間特定部２５において特定される（Ｓ３）。
【００６６】
処理区間特定部２５において当該映像の複数の処理区間が特定されるときの動作について、図５のフローチャートを参照して説明する。
【００６７】
まず、映像記憶部２１から対象映像が読み込まれ、対象映像の映像長Mが取得される（Ｓ３０１）。また、分割数決定部２４で決定された映像の分割数nが取得される（Ｓ３０２）。
【００６８】
そして、取得された映像長Mを映像の分割数nで分割して得られるn個の処理区間Piが特定される。処理区間Piは、n個の中のi番目の処理区間Pを識別するＩＤであり、iがi=0からi=n-1までインクリメントされることにより、ｎ個の処理区間Piがそれぞれ求められる（Ｓ３０４、Ｓ３０７）。
【００６９】
処理区間Piは、映像内における開始位置を示す開始フレーム位置情報Si、および終了位置を示す終了フレーム位置情報eiにより特定され、これらの開始フレーム位置情報Siおよび終了フレーム位置情報eiは下記式（１１）で算出される（Ｓ３０５）。この開始フレーム位置情報Si、および終了フレーム位置情報eiは、映像の先頭からの時間情報（ms）で示される。
【数１２】
0005863180.tif 000013
【００７０】
上記式（１１）により算出された各処理区間Piの開始フレーム位置情報Siおよび終了フレーム位置情報eiが格納された処理区間データの一例を、図６に示す。
【００７１】
図６の処理区間データでは、処理区間P0 の開始フレーム位置情報S0が「0(ms)」、終了フレーム位置情報e0が「10000(ms)」であり、処理区間P1の開始フレーム位置情報S1が「10000(ms)」、終了フレーム位置情報e1が「20000(ms)」であり、処理区間P2の開始フレーム位置情報S2が「20000(ms)」、終了フレーム位置情報e2が「30000(ms)」であり、処理区間P3の開始フレーム位置情報S3が「30000(ms)」、終了フレーム位置情報e3が「40000(ms)」であり、処理区間P4の開始フレーム位置情報S4が「40000(ms)」、終了フレーム位置情報e4が「50000(ms)」であることが示されている。この処理区間データは、処理区間特定部２５で記憶される（Ｓ３０６）。
【００７２】
以上で映像の処理区間の特定処理についての説明を終了する。
【００７３】
図３のフローチャートに戻り、ステップＳ３で特定された各処理区間Piが、解析処理管理部２６により各処理ワーカ部２３２−１〜２３２−ｎに割り当てられる（Ｓ４）。
【００７４】
具体的には、図７に示すように、処理区間P0（フレーム位置情報「0(ms)」〜「10000(ms)」）が第１処理ワーカ部２３２−１に割り当てられ、処理区間P1（フレーム位置情報「10000(ms)」〜「20000(ms)」）が第２処理ワーカ部２３２−２に割り当てられ、処理区間P2（フレーム位置情報「20000(ms)」〜「30000(ms)」）が第３処理ワーカ部２３２−３に割り当てられ、処理区間P3（フレーム位置情報「30000(ms)」〜「40000(ms)」）が第４処理ワーカ部２３２−４に割り当てられ、処理区間P4（フレーム位置情報「40000(ms)」〜「50000(ms)」）が第５処理ワーカ部２３２−５に割り当てられる。
【００７５】
次に、各処理ワーカ部２３２−１〜２３２−ｎにおいて、映像記憶部２１に記憶された映像中の割り当てられた処理区間の解析処理が、図７の矢印で示すように並列して実行される（Ｓ５）。
【００７６】
各処理ワーカ部２３２−１〜２３２−ｎにおいて、割り当てられた処理区間の映像が解析されるときの動作について、図８のフローチャートを参照して説明する。
【００７７】
まず、自処理ワーカ部の割り当てられた処理区間の開始フレーム位置から解析処理が開始され（Ｓ５０１）、終了フレーム位置に到達するまで解析処理が進められる（Ｓ５０２の「NO」）。そして、終了フレーム位置に到達したとき（Ｓ５０２の「YES」）に、解析処理においてイベント区間を検出中であると判断されると（Ｓ５０３の「YES」）、当該検出中のイベント区間が終了するまで終了フレーム位置が後ろにずらされて処理区間が延長され、処理が続行される（Ｓ５０４）。
【００７８】
例えば、図９（ａ）に示すように処理区間P0（フレーム位置情報「0(ms)」〜「10000(ms)」）が第１処理ワーカ部２３２−１に割り当てられ、処理区間P1（フレーム位置情報「10000(ms)」〜「20000(ms)」）が第２処理ワーカ部２３２−２に割り当てられ、図９（ｂ）に示すように処理区間P0およびP1の開始フレーム位置情報S、終了フレーム位置情報e、を含む処理区間データが処理区間特定部２５に記憶されている状態で、それぞれの処理ワーカ部で並列して解析処理が矢印に示すように実行され、第１処理ワーカ部２３２−１において終了フレーム位置（フレーム位置情報「10000(ms)」）に到達したときに、イベント区間の検出中であったとする。
【００７９】
この場合、第１処理ワーカ部２３２−１で終了フレーム位置情報eiが後ろにずらされて解析処理が続行され、図１０（ａ）に示すようにイベント区間が終了したとき（ここではフレーム位置情報「13000(ms)」の時点）に解析処理が終了される。このように処理区間が延長されることにより、第１処理ワーカ部２３２−１で解析処理される区間P0が、ステップＳ３で算出された本来の処理区間P00に加え延長された処理区間P01が足し合わされた区間とされ、処理区間特定部２５に記憶された処理区間データの処理区間P0の終了フレーム位置情報が「10000(ms)」から「13000(ms)」に更新される。
【００８０】
ステップＳ５０４において延長された処理区間の解析処理が終了したとき、または、ステップＳ５０２において終了フレーム位置まで解析処理が到達し且つステップＳ５０３においてイベント検出中ではないと判断されたとき（Ｓ５０３の「NO」）は、各処理ワーカ部２３２−１〜２３２−ｎから検出結果統合部２７に、解析結果としてイベント検出結果が送出される（Ｓ５０５）。
【００８１】
以上で映像の解析処理についての説明を終了する。
【００８２】
図３のフローチャートに戻り、検出結果統合部２７において、各処理ワーカ部２３２−１〜２３２−ｎから取得されたイベント検出結果が統合される。
【００８３】
このとき、解析処理において処理区間の延長が発生していると、複数のワーカ処理部でオーバラップした区間が処理されていることになる。そこで統合時には、オーバラップしている区間については、時間的に映像の先頭に近い処理区間で検出した結果が優先されて統合される。オーバラップした区間の処理を行った複数の処理区間のうち、どの処理区間が映像の先頭に近いかは、処理区間特定部２５に記憶された処理区間データに基づいて判断される。
【００８４】
統合された最終的な結果は、集計結果記憶部２８に記憶される（Ｓ６）。集計結果記憶部２８に記憶される情報は、検出されたイベントの、「カット点」、「カメラワーク」、「テロップ」、「音楽区間」等のイベント区間の種別を表す「検出イベント名」と、イベント区間の開始フレーム位置情報および終了フレーム位置情報である。
【００８５】
このとき、必要に応じてイベントに関する補足情報を集計結果記憶部２８に記憶するようにしてもよい。補足情報として例えば、カメラワークのイベント検出において、カメラのパン、チルト量を記憶したり、テロップのイベント検出において、テロップの画面上の表示位置を記憶したりすることが可能である。
【００８６】
このように統合されたイベント検出結果が集計結果記憶部２８に記憶されることにより、ユーザの操作でデータ出力装置３０を用いてイベント検出結果を出力させ、利用することができる。例えば、イベント検出結果をデータ出力装置３０のディスプレイに表示させたり、他の装置で更に処理を加えて利用するためにテキストファイルで読み出す等の処理を行うことができる。
【００８７】
また、映像解析部２３で実行された解析処理の結果に基づいて、解析変数更新部２９により、解析変数記憶部２２に記憶された変数情報が更新される。
【００８８】
解析変数更新部２９により実行される変数情報の更新処理について、図１１のフローチャートを参照して説明する。
【００８９】
各処理ワーカ部２３２−１〜２３２−ｎで実行され出力された解析処理の結果が取得されると（Ｓ７０１）、解析変数記憶部２２に記憶された変数情報中の、解析処理に利用した映像の数「V」がインクリメントされ「V+1」に更新される（Ｓ７０２）。
【００９０】
また、解析変数記憶部２２に記憶された変数情報中の、解析処理に利用した映像の総映像長Lに、今回解析処理を行った映像の映像長Mが加算される（Ｓ７０３）。
【００９１】
また、解析変数記憶部２２に記憶された変数情報中の、実行した解析処理により該当するイベント区間として検出された総イベント区間長Eに、今回検出したイベント区間の区間長の合計値が加算される（Ｓ７０４）。
【００９２】
また、解析変数記憶部２２に記憶された変数情報中の、実行した解析処理の総映像処理時間Tに、今回の解析に要した処理時間が加算される（Ｓ７０５）。
【００９３】
また、解析変数記憶部２２に記憶された変数情報中の、実行した解析処理における総オーバラップ区間長Oに、今回延長したオーバラップ区間の区間長の合計値が加算される（Ｓ７０６）。
【００９４】
以上の処理により、変数情報の更新処理が実行される。このように解析処理後に変数情報が更新されることにより、実行された解析結果が解析変数に反映され、次回以降に精度の高い映像解析処理を実行することが可能になる。
【００９５】
上述した映像解析処理システム１を実装した具体例を、図１２（ａ）および（ｂ）に示す。
【００９６】
図１２（ａ）は、マルチコアＣＰＵの１つのコア(1)が解析処理管理部２６として解析タスク管理を行い、これに接続された複数のコア(2)〜(4)が、並列して稼動するワーカ処理部２３２−１〜２３２−３として解析処理装置が構築された場合を示す図である。
【００９７】
また図１２（ｂ）は、１台のサーバが解析処理管理部２６として解析タスク管理を行い、これに接続された複数の解析サーバ(1)〜(3)が並列して稼動するワーカ処理部２３２−１〜２３２−３として解析処理装置が構築された場合を示す図である。本実施形態においては各ワーク処理部で解析対象の映像を共有し、並列して処理を進めるため、図１２（ｂ）のように解析処理管理部２６と各ワーカ処理部２３２−１〜２３２−３とをそれぞれサーバで構築した場合には、サーバ間のネットワーク状態を考慮して処理区間を管理することで、適切に映像の転送が実行されるようにする必要がある。
【００９８】
上記以外にも、マルチコアＣＰＵを持つ複数のサーバにより、映像の解析処理を並列して実行するように構成してもよい。
【００９９】
このように、各ワーカ処理部が独立して動作可能な環境であれば、ワーカ処理部の構築形態は問わない。
【０１００】
以上の本実施形態によれば、過去の解析処理結果を利用して、入力された映像の総処理時間を予測し、予測した総処理時間に基づいて映像を複数のワーカ処理部で並列して解析するための最適な分割数を決定することにより、短い処理時間で効率的に映像を解析することが可能になる。
【０１０１】
また各ワーカ処理部では、分割した処理区間の終了時点でイベント検出中である場合にのみ処理区間を延長させて他のワーカ処理部の解析処理とのオーバラップ区間を発生させるため、精度の高い解析処理が可能であるとともに必要以上のオーバラップ区間を多発させることなく、さらに効率的な映像の解析処理を行うことが可能になる。分割した処理区間の終了時点でイベント検出中である場合、つまりイベント区間が複数の処理区間に跨っている場合に処理区間を延長させて他のワーカ処理部の解析処理とのオーバラップ区間を発生させることにより、処理区間の境界において正確なイベント区間ができない事態の発生を防止することができ、精度の高い解析処理を実行することができる。
【０１０２】
またこのとき、入力される映像のジャンルや検出対象のイベント区間の種別によって異なる処理区間延長の発生確率や延長区間長を考慮して映像の分割数が決定されるため、さらに効率的な映像の解析処理を行うことが可能になる。
【０１０３】
また、映像長によっては分割しない場合が最短の解析処理時間になることを考慮して映像の分割数が決定されるため、さらに効率的な映像の解析処理を行うことが可能になる。
【０１０４】
また、上述した映像解析処理装置の各機能部の機能を実行するプログラムをコンピュータに搭載することにより、当該コンピュータを映像解析処理装置として機能させる映像解析処理用プログラムを構築することも可能である。
【符号の説明】
【０１０５】
１…映像解析処理システム
１０…データ入力装置
２０…映像解析処理装置
２１…映像記憶部
２２…解析変数記憶部
２３…映像解析部
２４…分割数決定部
２５…処理区間特定部
２６…解析処理管理部
２７…検出結果統合部
２８…集計結果記憶部
２９…解析変数更新部
３０…データ出力装置
２３１…映像取得部
２３２−１〜２３２−ｎ…処理ワーカ部
２３３…利用可能ワーカ数検出部
【図１】
0005863180.tif 000014
【図２】
0005863180.tif 000015
【図３】
0005863180.tif 000016
【図４】
0005863180.tif 000017
【図５】
0005863180.tif 000018
【図６】
0005863180.tif 000019
【図７】
0005863180.tif 000020
【図８】
0005863180.tif 000021
【図９】
0005863180.tif 000022
【図１０】
0005863180.tif 000023
【図１１】
0005863180.tif 000024
【図１２】
0005863180.tif 000025