(57)【要約】【課題】ビデオを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するためのシステム及び方法を提供すること。【解決手段】ビデオ分解アプリケーションは、ビデオの非顕著部分を抽出し、ビデオの複数の顕著フラグメントを抽出し、複数の顕著フラグメントのデータベースを構築し、クエリを受信し、複数の顕著フラグメントのデータベースから、クエリに基づいて、顕著フラグメントのセットを取得し、ビデオの非顕著部分及び顕著フラグメントのセットに基づいて、合成ビデオを合成する。【選択図】図１２
2018147478.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
ビデオの非顕著部分を抽出するステップと、
前記ビデオの複数の顕著フラグメントを抽出するステップと、
前記複数の顕著フラグメントのデータベースを構築するステップと、
クエリを受信するステップと、
前記複数の顕著フラグメントの前記データベースから、前記クエリに基づいて、顕著フラグメントの第１のセットを取得するステップと、
前記ビデオの前記非顕著部分及び前記顕著フラグメントの第１のセットに基づいて、合成ビデオを合成するステップと、
を含む方法。
【請求項２】
動き検出、コントラスト、色、及び意味情報のうちの少なくとも１つに基づいて、顕著フラグメントを識別するステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
各顕著フラグメントは、時間及び空間において局在している単一の顕著アクティビティについての、前記ビデオの部分である、請求項１に記載の方法。
【請求項４】
前記クエリは、
前記複数の顕著フラグメントのうちの第１の顕著フラグメントと、
前記複数の顕著フラグメントのうちの前記第１の顕著フラグメント及び第２の顕著フラグメントと、
時間間隔と、
前記複数の顕著フラグメントのうちの顕著フラグメントに関連付けられた特性と、
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項５】
前記顕著フラグメントの第１のセットから、第２のクエリに基づいて、顕著フラグメントの第２のセットを取得するステップ
をさらに含む、請求項１に記載の方法。
【請求項６】
前記複数の顕著フラグメントの前記データベースについてのインデックスを構築するステップであって、前記インデックスは、前記データベース内の顕著フラグメントの高速な検索のために使用される、ステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
前記インデックスは、第１の顕著フラグメントと第２の顕著フラグメントとを接続しているグラフから構築され、前記グラフは、顕著フラグメントの時空間のオーバーラップ又は顕著フラグメント間の因果性に基づいて決定される、請求項６に記載の方法。
【請求項８】
前記クエリに基づいて、前記顕著フラグメントの第１のセットを取得することは、第１の顕著フラグメントと第２の顕著フラグメントとを接続したグラフを、前記第１の顕著フラグメントと前記第２の顕著フラグメントとの時空間のオーバーラップ又は前記第１の顕著フラグメントと前記第２の顕著フラグメントとの間の因果性に基づいて決定することをさらに含む、請求項１に記載の方法。
【請求項９】
前記顕著フラグメントの第１のセットをクラスタに分類するステップであって、前記クラスタは、時空間の関連性又は因果関連性を有する顕著フラグメントを含む、ステップ
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記合成ビデオを合成することは、前記クラスタを時間シフトすることに基づいて、概要を生成することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記顕著フラグメントの第１のセットにおける顕著フラグメントを、該顕著フラグメントに関連付けられたアクティビティレベルに基づいて重み付けするステップ
をさらに含む、請求項１に記載の方法。
【請求項１２】
前記合成ビデオを合成することは、前記顕著フラグメントに対応する重みに基づいて、前記顕著フラグメントを編集レイヤに割り当てることをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記合成ビデオを合成することは、前記顕著フラグメントの第１のセットのうちの第２の顕著フラグメントとの衝突を回避するために、前記顕著フラグメントの第１のセットのうちの第１の顕著フラグメントに対して時空間歪みを実行することをさらに含む、請求項１に記載の方法。
【請求項１４】
前記ビデオの前記非顕著部分内の許容アクティビティゾーンにより、前記時空間歪みを制限するステップ
をさらに含む、請求項１３に記載の方法。
【請求項１５】
１つ以上のプロセッサと、
命令を記憶しているメモリであって、前記命令が、前記１つ以上のプロセッサにより実行されたときに、前記命令は、前記１つ以上のプロセッサに、
ビデオの非顕著部分を抽出する動作と、
前記ビデオの複数の顕著フラグメントを抽出する動作と、
前記複数の顕著フラグメントのデータベースを構築する動作と、
クエリを受信する動作と、
前記複数の顕著フラグメントの前記データベースから、前記クエリに基づいて、顕著フラグメントの第１のセットを取得する動作と、
前記ビデオの前記非顕著部分及び前記顕著フラグメントの第１のセットに基づいて、合成ビデオを合成する動作と、
を実行させる、メモリと、
を有するシステム。
【請求項１６】
前記命令は、前記１つ以上のプロセッサに、
動き検出、コントラスト、色、及び意味情報のうちの少なくとも１つに基づいて、顕著フラグメントを識別する動作
をさらに実行させる、請求項１５に記載のシステム。
【請求項１７】
前記クエリは、
前記複数の顕著フラグメントのうちの第１の顕著フラグメントと、
前記複数の顕著フラグメントのうちの前記第１の顕著フラグメント及び第２の顕著フラグメントと、
時間間隔と、
前記複数の顕著フラグメントのうちの顕著フラグメントに関連付けられた特性と、
のうちの少なくとも１つを含む、請求項１５に記載のシステム。
【請求項１８】
前記命令は、前記１つ以上のプロセッサに、
前記複数の顕著フラグメントの前記データベースについてのインデックスを構築する動作であって、前記インデックスは、前記データベース内の顕著フラグメントの高速な検索のために使用される、動作
をさらに実行させる、請求項１５に記載のシステム。
【請求項１９】
前記インデックスは、第１の顕著フラグメントと第２の顕著フラグメントとを接続しているグラフから構築され、前記グラフは、顕著フラグメントの時空間のオーバーラップ又は顕著フラグメント間の因果性に基づいて決定される、請求項１８に記載のシステム。
【請求項２０】
請求項１乃至１４のうちいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、一般に、ビデオストリームの分解及び合成に関する。詳細には、本明細書は、ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するためのシステム及び方法に関する。
【背景技術】
【０００２】
ビデオ監視アプリケーション及び同様のアプリケーションにおいて、カメラが、典型的には、ほとんどの部分が単調であるシーンを監視し、すなわち、シーンは、平凡な又は変化のない要素を含み、シーンにおいてはっきりと現れる関心イベントはめったに生じない。結果として、ビデオ閲覧及び検索は、時間がかかり、記録された監視ビデオのほとんどは、見られることがない又は調べられることがない。
【０００３】
この問題に対処する１つの試みは、動き検出記録であり、これは、動きがカメラの視野内で検出されたときにのみカメラが記録することを許可し、したがって、総記録時間を低減させる。しかしながら、人又は物体が絶えず動いているシーンにおいては、動き検出記録を用いた総記録時間は、ほとんど低減しない。加えて、動き検出記録は、ビデオを閲覧する、退屈で時間がかかるタスクから、閲覧者を実際には解放しない。
【０００４】
この問題に対する別の解決策は、ビデオのイベント（例えば、動いているオブジェクト）を追跡及び分析し、長いビデオの短いビデオクリップに最大のアクティビティを含めることに基づいて、ビデオについてのビデオ概要又はビデオ要約を作成することである。この手法は、閲覧して検索する時間を節減する目的で、ビデオを短縮させ得る。しかしながら、このビデオ概要又はビデオ要約は、予め定められたタイプのユーザクエリ（例えば、「最初の２０分」、「最後の１時間」）に応じるだけであり、したがって、使用が制限される。
【発明の概要】
【０００５】
本明細書において紹介される技術は、ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するためのシステム及び方法により、従来技術の欠点及び制限を少なくとも部分的に克服する。一実施形態において、本システムは、ビデオ分解アプリケーションを含む。ビデオ分解アプリケーションは、ビデオの非顕著部分を抽出するよう構成されている。ビデオ分解アプリケーションは、ビデオの複数の顕著フラグメントを抽出するようさらに構成されている。ビデオ分解アプリケーションは、複数の顕著フラグメントのデータベースを構築するようさらに構成されている。一実施形態において、ビデオ分解アプリケーションは、複数の顕著フラグメントのうちの第１の顕著フラグメントに関連するクエリを受信するようさらに構成されている。別の実施形態において、クエリは時間間隔である。さらに別の実施形態において、クエリは動きの方向である。ビデオ分解アプリケーションは、複数の顕著フラグメントのデータベースから、クエリに基づいて、顕著フラグメントのセットを取得するようさらに構成されている。ビデオ分解アプリケーションは、ビデオの非顕著部分及び顕著フラグメントのセットに基づいて、合成ビデオを合成するよう構成されている。
【０００６】
他の態様は、これらの及び他の革新的な態様についての対応する方法、システム、装置、及びコンピュータプログラム製品を含む。
【０００７】
本明細書において説明されている特徴及び利点は非排他的であり、多くのさらなる特徴及び利点が、図面及び本説明に鑑みれば、当業者には明らかであろう。さらに、本明細書において使用されている文言は、読みやすさ及び教示の目的のために主に選択されており、説明されている技術の範囲を限定するようには選択されていないことに留意されたい。
【図面の簡単な説明】
【０００８】
本明細書において紹介される技術が、添付の図面において、限定ではなく例として示される。図面において、同様の参照符号は、同様の要素を指すために使用されている。
【図１】ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて、合成ビデオを合成するためのシステムの一実施形態を示す高レベルブロック図。
【図２Ａ】ビデオ分解アプリケーションを含むコンピューティングデバイスの一実施形態を示すブロック図。
【図２Ｂ】合成モジュールの一実施形態を示すブロック図。
【図３Ａ】３人の歩いている人を含むビデオのフレームのグラフィカル表現を表す図。
【図３Ｂ】顕著フラグメントシーケンスのグラフィカル表現を表す図。
【図３Ｃ】顕著フラグメントシーケンスのグラフィカル表現を表す図。
【図４】時空間のオーバーラップに基づいて決定された関連顕著フラグメントシーケンスのグラフィカル表現を表す図。
【図５】接続グラフにおける顕著フラグメントのクラスタのグラフィカル表現を表す図。
【図６】ユーザ入力に基づいて生成されたクエリフラグメントのグラフィカル表現を表す図。
【図７】図６に示されるクエリフラグメントに関連する顕著フラグメントを接続している接続グラフを表す図。
【図８】図７の接続グラフにおいて示されている顕著フラグメントのグラフィカル表現を表す図。
【図９Ａ】静止しているオブジェクト及び動いているオブジェクトの軌跡のグラフィカル表現を表す図。
【図９Ｂ】静止しているオブジェクトと動いているオブジェクトとの間の軌跡相互作用のグラフィカル表現を表す図。
【図１０Ａ】許容アクティビティゾーンのグラフィカル表現を表す図。
【図１０Ｂ】許容アクティビティゾーン上での空間的位置シフトのグラフィカル表現を表す図。
【図１１Ａ】原ビデオの画像と原ビデオに基づいて合成された合成ビデオの画像との間の比較のグラフィカル表現を表す図。
【図１１Ｂ】原ビデオの画像と原ビデオに基づいて合成された合成ビデオの画像との間の比較のグラフィカル表現を表す図。
【図１２】ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するための方法の一実施形態を示すフロー図。
【図１３Ａ】ビデオストリームを、合成ビデオを合成するために使用される顕著フラグメントへと分解するための方法の一実施形態を示すフロー図。
【図１３Ｂ】ビデオストリームを、合成ビデオを合成するために使用される顕著フラグメントへと分解するための方法の一実施形態を示すフロー図。
【図１３Ｃ】ビデオストリームを、合成ビデオを合成するために使用される顕著フラグメントへと分解するための方法の一実施形態を示すフロー図。
【図１３Ｄ】ビデオストリームを、合成ビデオを合成するために使用される顕著フラグメントへと分解するための方法の一実施形態を示すフロー図。
【図１４Ａ】合成ビデオを合成するための方法の一実施形態を示すフロー図。
【図１４Ｂ】合成ビデオを合成するための方法の一実施形態を示すフロー図。
【図１５Ａ】ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するための方法の別の実施形態を示すフロー図。
【図１５Ｂ】ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するための方法の別の実施形態を示すフロー図。
【発明を実施するための形態】
【０００９】
図１は、ビデオストリームを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するためのシステム１００の一実施形態を示す高レベルブロック図を表している。図示されるシステム１００は、サーバ１０１、キャプチャデバイス１０７、データリポジトリ１０９、及びクライアントデバイス１１５ａ、．．．、１１５ｎを含む。図示される実施形態において、システム１００のエンティティは、ネットワーク１０５を介して、通信可能に接続される。１つのサーバ１０１、１つのキャプチャデバイス１０７、１つのデータリポジトリ１０９、及び１つのネットワーク１０５だけが、図１に示されているが、任意の数のサーバ１０１又はサーバクラスタ、任意の数のキャプチャデバイス１０７、任意の数のデータリポジトリ１０９、及び、これらのエンティティを接続する１つ以上のネットワーク１０５が存在してもよいことを理解されたい。
【００１０】
ネットワーク１０５は、従来型の有線又は無線とすることができ、スター構成、トークンリング構成、又は他の構成を含む多数の異なる構成を有することができる。さらに、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、及び／又は、複数のデバイスが通信できる他の相互接続データパスを含み得る。いくつかの実施形態において、ネットワーク１０５は、ピアツーピアネットワークであり得る。ネットワーク１０５はまた、多種多様な通信プロトコルでデータを送信するために、通信ネットワークの諸部分に接続され得る又は通信ネットワークの諸部分を含み得る。いくつかの実施形態において、ネットワーク１０５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール等を介することを含め、データを送信及び受信するために、セルラ通信ネットワーク又はＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワークを含み得る。
【００１１】
キャプチャデバイス１０７は、ビデオをキャプチャして、メタデータを該ビデオに関連付けるハードウェアデバイスである。例えば、キャプチャデバイス１０７は、カメラ、カムコーダ、ビデオレコーダ等とすることができる。キャプチャデバイス１０７によりキャプチャされるビデオは、任意の一連の時間関連画像とすることができる。いくつかの実施形態において、キャプチャデバイス１０７は、イベントの多い画像をキャプチャし、例えば、このような画像は、ある時間期間内において動いているオブジェクトの画像であり得、キャプチャデバイス１０７は、動いているオブジェクトのビデオを形成する。他の実施形態において、キャプチャデバイス１０７は、シーンから画像をキャプチャし、これらの時系列の画像を結合してビデオにする。ビデオは、ほとんどが単調である画像を含み得、例えば、監視ビデオは、シーンにおいて変化のない要素の画像からなる大部分とシーンにおいてはっきりと現れる関心イベントの画像からなる小部分とを含む。
【００１２】
キャプチャデバイス１０７はまた、例えば、ビデオがキャプチャされた時間及び位置、画像サイズ、画像解像度、色深度、シャッター速度等といったメタデータをビデオに関連付ける。メタデータは、特に他の手法を使用することが難しい場合に、以下で説明されるように、ビデオを顕著フラグメントへと分解する際に使用され得る。例えば、メタデータは、動き検出手法がビデオを顕著フラグメントへと分解できない場合に、特に有用である。ビデオは、混雑した場所で撮影されることがあり、多数の動いているオブジェクトを含むことがある。いくつかの実施形態において、キャプチャデバイス１０７は、ビデオ及び関連付けられたメタデータを、キャプチャデバイス１０７に備えられているデータストレージに記憶する。他の実施形態において、キャプチャデバイス１０７は、ビデオ及び関連付けられたメタデータを、記憶のために、データリポジトリ１０９に送信する。いくつかの他の実施形態において、キャプチャデバイス１０７（例えば、スマートカメラ）は、以下で説明されるように、ビデオを処理して合成ビデオを生成するためのビデオ分解アプリケーション１０３をさらに含む。
【００１３】
データリポジトリ１０９は、データを記憶するように選定された設備である。例えば、データリポジトリ１０９は、キャプチャデバイス１０７から受信されたビデオを記憶するデータストレージ設備、ビデオ共有ウェブサイトのデータベース、クライアントデバイス１１５ａから受信されたビデオを記憶するクラウドストレージ等とすることができる。いくつかの実施形態において、データリポジトリ１０９は、クライアントデバイス１１５又はサーバ１０１からのビデオを求める要求に応じて、ビデオを提供する。
【００１４】
クライアントデバイス１１５は、プロセッサ、メモリ、アプリケーション、データベース、及びネットワーク通信能力を含むコンピューティングデバイスである。例えば、クライアントデバイス１１５は、ネットワーク１０５にアクセスし、サーバ１０１、キャプチャデバイス１０７、及びデータリポジトリ１０９と通信することができる、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話機、携帯情報端末（ＰＤＡ）、モバイル電子メールデバイス、１つ以上のプロセッサが組み込まれた若しくは１つ以上のプロセッサに接続されるテレビジョン、又は任意の他の電子デバイスとすることができる。いくつかの実施形態において、クライアントデバイス１１５は、キャプチャデバイス（図示せず）を含み、したがって、その環境をナビゲートし、ビデオの一連の時間関連画像を取得する能力を有する。例えば、クライアントデバイス１１５は、カメラを有するスマートフォンである。図１及び残りの図において、参照数字の後の文字（例えば、「１１５ａ」）は、その特定の参照数字を有する要素への参照を表す。後に続く文字のないテキストにおける参照数字（例えば、「１１５」）は、その参照数字を有する要素のインスタンス群に対する全体的な参照を表す。
【００１５】
クライアントデバイス１１５は、クライアントデバイス１１５にアクセスしているユーザからデータを受け取り、該ユーザにデータを送る。例えば、クライアントデバイス１１５は、ビデオをユーザに提示し、ユーザから、ビデオの部分に関するユーザ入力を受け取る。クライアントデバイス１１５はまた、本明細書において説明される機能を提供するために、ネットワーク１０５を介して、サーバ１０１、キャプチャデバイス１０７、及びデータリポジトリ１０９と通信する。いくつかの実施形態において、クライアントデバイス１１５は、以下で説明されるように、ビデオを処理して合成ビデオを生成するためのビデオ分解アプリケーション１０３をさらに含む。
【００１６】
サーバ１０１は、ハードウェアサーバであってもよいし、ソフトウェアサーバであってもよいし、ソフトウェアとハードウェアとの組合せであってもよい。サーバ１０１は、プロセッサ、メモリ、アプリケーション、データベース、及びネットワーク通信能力を含むコンピューティングデバイスであってもよいし、そのようなコンピューティングデバイスにより実装されてもよい。いくつかの実施形態において、サーバ１０１は、ビデオを受信し、ビデオの顕著フラグメント及び非顕著部分を識別し、ユーザからのビデオのクエリに応じて、ビデオの顕著フラグメント及び非顕著部分に基づいて、ユーザに表示するための合成ビデオを合成する。合成ビデオは、ビデオの要約であり、これは、１）合成ビデオが、ユーザクエリに応じたものであり、ユーザクエリに関連する顕著フラグメントに対応する、原ビデオの情報を強調するという点、及び／又は、２）合成ビデオが、時間長の点で原ビデオよりも短いという点で、原ビデオとは異なり得る。合成ビデオは、原ビデオよりも短い時間長でよりリッチなコンテンツを含むので、ビデオから有用な情報を得るためのユーザの時間及びネットワーク帯域幅が、合成ビデオを使用することにより低減される。
【００１７】
いくつかの実施形態において、サーバ１０１は、ネットワーク１０５を介して、システム１００の他のエンティティにデータを送信し、システム１００の他のエンティティからデータを受信する。例えば、サーバ１０１は、キャプチャデバイス１０７又はデータリポジトリ１０９からビデオを受信し、クライアントデバイス１１５から、ビデオに関するユーザ入力を受信し、合成ビデオをクライアントデバイス１１５に送信する。
【００１８】
いくつかの実施形態において、サーバ１０１は、ビデオ分解アプリケーション１０３を含む。ビデオ分解アプリケーション１０３は、ビデオを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成する機能を提供するためのソフトウェア及び／又はロジックを含み得る。いくつかの実施形態において、ビデオ分解アプリケーション１０３は、プログラム可能な又は特殊化されたハードウェアを使用して実装され得る。いくつかの実施形態において、ビデオ分解アプリケーション１０３は、ハードウェアとソフトウェアとの組合せを使用して実装され得る。他の実施形態において、ビデオ分解アプリケーション１０３は、サーバ１０１とクライアントデバイス１１５との組合せにおいて、記憶されて実行され得る。図１において、ビデオ分解アプリケーション１０３は、サーバ１０１、クライアントデバイス１１５、キャプチャデバイス１０７、又はこれらの組合せに存在し得ることを示すために、破線で表されている。
【００１９】
いくつかの実施形態において、ビデオ分解アプリケーション１０３は、一連の時間関連画像を含むビデオを受信し、ビデオの非顕著部分及び顕著フラグメントを抽出する。ビデオの非顕著部分は、静止している又はゆっくり動いているオブジェクト、例えば、監視ビデオにおいて繰り返し点滅している、映画館のネオン標識又は静かな道路、を含み得る。ビデオの非顕著部分はまた、よりイベントの多い、より関心の高い、又はより顕著である別のオブジェクトに関連しないオブジェクト、例えば、フィールド上のフットボール選手と比較するとフットボールビデオの非顕著部分とみなされる観客、を含み得る。いくつかの実施形態において、ビデオ分解アプリケーション１０３は、オブジェクトの顕著性を判定し、顕著性に基づいてビデオから顕著オブジェクトを抽出し、顕著オブジェクトに基づいて複数の顕著フラグメントを生成する。ビデオ分解アプリケーション１０３は、動き検出、色、コントラスト、意味情報等に基づいて、顕著性を判定することができる。例えば、ビデオ分解アプリケーション１０３は、ビデオにおける他の人々が右に動いているのに対し、第１の人が左に動いていることを理由として、第１の人が顕著オブジェクトであると決定する。ビデオ分解アプリケーション１０３は、顕著オブジェクトの関連する諸部分を結合して、顕著フラグメントを生成する。例えば、ビデオ分解アプリケーション１０３は、ビデオの時間長にわたって、各顕著オブジェクトを追跡し、顕著オブジェクトの追跡を、顕著フラグメントとして規定する。顕著フラグメントは、ビデオの複数の時間関連フレームを含み、ここで、ある時間における、顕著フラグメントの各フレームは、わずかに異なる特定の領域であって、所定の連続性で結合される特定の領域を含む。
【００２０】
いくつかの実施形態において、複数の顕著フラグメントを決定したことに応じて、ビデオ分解アプリケーション１０３は、関連フラグメントを決定し、関連フラグメントを接続した接続グラフを生成する。ビデオ分解アプリケーション１０３は、時空間のオーバーラップに基づいて、関連フラグメントを決定することができる。例えば、顕著オブジェクトが、２つのフラグメントにおいて出現した場合、又は、２つのフラグメントにおけるオブジェクトが、何らかの時点において且つビデオの何らかのポイントにおいて、互いと接触している且つ／又は互いに影響を及ぼしている場合、これらの２つのフラグメントは関連する。ビデオ分解アプリケーション１０３はまた、因果性情報に基づいて、関連するフラグメントを決定することができる。例えば、人が、店に入って店から出るときに、物体を落下させた場合、分析モジュール２０５は、落下している物体の顕著フラグメントが、人の顕著フラグメントに関連すると決定するであろう。ビデオ分解アプリケーション１０３は、時空間のオーバーラップ又は因果性情報に基づいて、グラフにおいて関連フラグメントを接続する。いくつかの実施形態において、ビデオ分解アプリケーション１０３は、さらに、色、形状、コントラスト、意味情報、又は、ユーザにより定義された何らかの他の関連性等の他の特性に基づいて、関連フラグメントを決定し、グラフにおいて関連フラグメントを接続することができる。いくつかの実施形態において、ビデオ分解アプリケーション１０３は、グラフにおける接続に基づいて、顕著フラグメントをクラスタ化する。各クラスタは、他のクラスタに含まれるフラグメントに接続していないフラグメントのグループである。接続グラフ及びクラスタは、顕著フラグメントのデータベースを構築及びインデクシングする際に使用される。
【００２１】
ビデオ分解アプリケーション１０３は、顕著フラグメントのデータベースを作成する。ビデオ分解アプリケーション１０３はまた、データベースからのデータ検索の速度を向上させるために、顕著フラグメントのデータベースをインデクシングする。様々な実施形態において、ビデオ分解アプリケーション１０３は、関連顕著フラグメント、接続グラフ、クラスタ等に基づいて、データベースをインデクシングする。
【００２２】
ビデオ分解アプリケーション１０３は、ユーザからのビデオに関するクエリを受信すると、顕著フラグメントのデータベースを検索し、ユーザに表示するためのクエリ結果として、合成ビデオを生成することができる。クエリは、ユーザにより選択された顕著フラグメント又はユーザにより入力された時間間隔であり得る。いくつかの実施形態において、クエリに応じて、ビデオ分解アプリケーション１０３は、ビデオの取得された顕著フラグメント及びビデオの非顕著部分に基づいて、合成ビデオを合成する。合成ビデオは、原ビデオに由来するが原ビデオとは異なるもっともらしいビデオである。合成ビデオは、原ビデオのいくつかの情報を、原ビデオの他の情報を排除又は除外することに基づいて、強調する。いくつかの実施形態において、合成ビデオはまた、原ビデオよりも時間の点で短い。
【００２３】
例えば、ビデオ分解アプリケーション１０３は、ビデオにおける第１の人の顕著フラグメントに関連するクエリを受信することができる。原ビデオにおけるシーンは、第１の人が、左に動きながら、第２の人及び第３の人と交差していたのに対し、第４の人及び第５の人が、ビデオにおいて離れた位置で動いていたことを含む。ビデオ分解アプリケーション１０３は、第１の人、第２の人、及び第３の人を保ったまま、第４の人及び第５の人を除去するようにシーンを変更する合成ビデオを生成することができる。なぜならば、第４の人及び第５の人は、第１の人に関するクエリに関連しなかったからである。すなわち、合成ビデオは、クエリされた第１の人に関連付けられた顕著フラグメントと、クエリされた第１の人と相互作用し得る第２の人及び第３の人に関連付けられた顕著フラグメントと、を含む。合成ビデオは、第１の人に関連付けられた顕著フラグメントに関連しない第４の人及び第５の人に関連付けられた顕著フラグメントを含まない。原ビデオと比較すると、合成ビデオは、クエリされた第１の人に関連する、増大された量の有用な情報を含み、したがって、使用の際により効率的である。
【００２４】
合成ビデオ、特に、概要ビデオを生成するときのいくつかの課題が存在する。概要ビデオは、原ビデオの間隔における異なる時点において生じている複数のフラグメントが、一緒にスタックされて同時に表示される合成ビデオであり、それにより、ビデオの長さを短くする。ビデオ分解アプリケーション１０３は、概要ビデオを作成するときに、ユーザ要求を満たすために、フラグメント間のオーバーラップを最小化して概要ビデオの全時間長を短くする最適化に基づいて、時間シフトを実行する。いくつかの実施形態において、ビデオ分解アプリケーション１０３は、フラグメントをクラスタ化し、複数のクラスタが同時に生じ得るようにクラスタを時間シフトすることに基づいて、概要ビデオを生成する。ビデオ分解アプリケーション１０３はまた、各フラグメントを、該フラグメントにおける顕著オブジェクトの動きのレベルに基づいて重み付けし、重みに基づいて、各フラグメントを、異なるスタック順序又はレイヤに割り当てる。例えば、ビデオ分解アプリケーション１０３は、他のオブジェクトの動きの速度に基づいて他のオブジェクトをレイヤ化しつつ、静止しているオブジェクトを背景のものと同様に扱い（例えば、これらのオブジェクトにより低い重みを付与し）、これは、（例えば、低い重みを有するフラグメントをサブサンプリングしてフレームレートを低減させることに基づいて）低い重みを有するフラグメントの１つ以上のフレームをスキップすることにより、システムリソース及びネットワークリソースを低減させる。ビデオ分解アプリケーション１０３は、さらに、ビデオにおける同じ位置で生じる双方向往来によって引き起こされる衝突の数を低減させるために、ビデオの許容アクティビティゾーンを識別し、概要ビデオにおいてフラグメントを配置するための空間的にシフトされた位置を決定する。ビデオ分解アプリケーション１０３の動作及び上記で挙げられた機能は、図２Ａ〜図１５Ｂを参照して以下でより詳細に説明される。
【００２５】
本明細書において説明される技術は、様々な点で有効である。第１に、本明細書において説明されるビデオ分解システムは、合成ビデオを動的に生成するために使用される顕著フラグメントを記憶するデータベースを作成する。顕著フラグメントの動的な検索・取得は、合成ビデオの動的な生成を確実にし、例えば、単一のクエリに応じて、顕著フラグメントの異なるセットを取得して、異なる合成ビデオを生成することができる。また、データベースは、顕著フラグメント、接続グラフ、クラスタ、及び他の情報の変化を反映するように、動的に更新される。第２に、本明細書において説明されるビデオ分解システムは、データベースに記憶される視覚的情報をインデクシングし、それにより、合成ビデオを生成するための高速なデータ検索を可能にする。詳細には、顕著フラグメントのインデクシング及び伝送は、フラグメント全体ではなく、顕著フラグメントの小片（例えば、セグメント）に基づき、これは、データ検索速度を増大させるだけでなく、伝送時間及びネットワーク帯域幅を低減させる。第３に、本明細書において説明されるビデオ分解システムにおいて顕著フラグメントのデータベースを構築及びインデクシングすることは、ビデオのクエリ駆動型再構成を可能にする。異なるタイプのクエリを使用して、合成ビデオの生成をトリガすることができる。加えて、本明細書において説明されるビデオ分解システムは、静止しているオブジェクトに関連する制限を克服すること、衝突の数を最小化すること等の問題を解決して合成ビデオの生成を最適化するために、先進的な手法を適用する。
【００２６】
図２Ａは、ビデオ分解アプリケーション１０３を含むコンピューティングデバイス２００の一実施形態を示すブロック図を表している。コンピューティングデバイス２００は、いくつかの例に従うと、プロセッサ２３５、メモリ２３７、任意的なディスプレイデバイス２３９、通信ユニット２４１、及びデータストレージ２４３も含み得る。コンピューティングデバイス２００のこれらのコンポーネントは、互いとの通信のためのバス又はソフトウェア通信機構２２０に通信可能に接続される。いくつかの実施形態において、コンピューティングデバイス２００はサーバ１０１である。他の実施形態において、コンピューティングデバイス２００はクライアントデバイス１１５である。いくつかの実施形態において、コンピューティングデバイス２００はキャプチャデバイス１０７である。
【００２７】
プロセッサ２３５は、様々な入力／出力演算、論理演算、及び／又は数学的演算を実行することにより、ソフトウェア命令を実行することができる。プロセッサ２３５は、例えば、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、及び／又は命令セットの組合せを実装しているアーキテクチャを含む、データ信号を処理するための様々なコンピューティングアーキテクチャを有することができる。プロセッサ２３５は、物理的及び／又は仮想的であり得、単一の処理ユニットを含んでもよいし、複数の処理ユニット及び／又はコアを含んでもよい。いくつかの実装において、プロセッサ２３５は、電子表示信号を生成してディスプレイデバイスに提供することができ、会議をスケジュールする際に使用されるユーザインタフェースの表示をサポートすることができ、ルールを生成すること、サービスプロバイダのレコメンドリストを特定すること等を含む複雑なタスクを実行することができ得る。いくつかの実装において、プロセッサ２３５は、メモリ２３７のデータ及び命令にアクセスし、メモリ２３７にデータを記憶するために、バス２２０を介して、メモリ２３７に接続され得る。バス２２０は、プロセッサ２３５を、例えば、メモリ２３７、通信ユニット２４１、ビデオ分解アプリケーション１０３、及びデータストレージ２４３を含む、コンピューティングデバイス２００の他のコンポーネントに接続することができる。他のプロセッサ、オペレーティングシステム、及び物理的構成が可能であることが、当業者には明らかであろう。
【００２８】
メモリ２３７は、コンピューティングデバイス２００の他のコンポーネントのためのデータを記憶して、該データへのアクセスを提供することができる。いくつかの実装において、メモリ２３７は、プロセッサ２３５により実行され得る命令及び／又はデータを記憶することができる。命令及び／又はデータは、本明細書において説明される技術を実行するためのコードを含み得る。例えば、一実施形態において、メモリ２３７は、ビデオ分解アプリケーション１０３を記憶することができる。メモリ２３７はまた、例えば、オペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース等を含む他の命令及びデータを記憶することができる。メモリ２３７は、プロセッサ２３５及びコンピューティングデバイス２００の他のコンポーネントとの通信のために、バス２２０に接続され得る。
【００２９】
メモリ２３７は、１つ以上の非一時的なコンピュータ使用可能な（例えば、読み取り可能な、書き込み可能な）デバイス、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、組み込みメモリデバイス、ディスクリートメモリデバイス（例えば、ＰＲＯＭ、ＦＰＲＯＭ、ＲＯＭ）、ハードディスクドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）等）媒体を含み得、これらは、プロセッサ２３５による処理のために又はプロセッサ２３５に関連して、命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチン等を含有、記憶、通信、又は伝送することができる任意の有形の装置又はデバイスとすることができる。いくつかの実装において、メモリ２３７は、揮発性メモリ及び不揮発性メモリのうちの１つ以上を含み得る。メモリ２３７は、単一のデバイスであってもよいし、複数のタイプのデバイス及び構成を含んでもよいことを理解されたい。
【００３０】
ディスプレイデバイス２３９は、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、又は、任意の他の同様に備えられるディスプレイデバイス、スクリーン、若しくはモニタである。ディスプレイデバイス２３９は、本明細書において説明されるユーザインタフェース、電子画像、及びデータを表示するために備えられる任意のデバイスを表す。異なる実施形態において、表示は、バイナリ（画素についての２つの異なる値のみ）である、モノクローム（１つの色の複数の色合い）である、又は、複数の色及び色合いを可能にする。ディスプレイデバイス２３９は、プロセッサ２３５及びコンピューティングデバイス２００の他のコンポーネントとの通信のために、バス２２０に接続される。ディスプレイデバイス２３９は、任意的であることを示すために、図２Ａにおいて、破線で示されていることに留意されたい。例えば、コンピューティングデバイス２００がサーバ１０１である場合、コンピューティングデバイスは、ディスプレイデバイス２３９を含まないことがある。しかしながら、コンピューティングデバイス２００がクライアントデバイス１１５である場合、コンピューティングデバイス２００は、本明細書において説明されるユーザインタフェース、ビデオ、及び／又は合成ビデオを表示するために使用されるディスプレイデバイス２３９を含み得る。
【００３１】
通信ユニット２４１は、プロセッサ２３５をネットワーク１０５及び他の処理システムに接続することによりデータを受信及び送信するためのハードウェアである。通信ユニット２４１は、処理のために、キャプチャデバイス１０７又はデータリポジトリ１０９から、ビデオデータ等のデータを受信する。通信ユニット２４１はまた、表示のために、情報をクライアントデバイス１１５に送信することができる。例えば、通信ユニット２４１は、クライアントデバイスのユーザからの顕著フラグメントの部分の選択を受信し、顕著フラグメントの選択に基づいて生成された合成ビデオを、クライアントデバイス１１５に送信する。通信ユニット２４１は、バス２２０に接続される。一実施形態において、通信ユニット２４１は、ネットワーク１０５への直接的な物理的接続のためのポートを含み得る。別の実施形態において、通信ユニット２４１は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、セルラ通信、又は別の適切な無線通信方法等の１つ以上の無線通信方法を使用して、クライアントデバイス１１５又は任意の他の通信チャネルとデータを交換するための無線トランシーバ（図示せず）を含み得る。
【００３２】
データストレージ２４３は、本明細書において説明される機能を提供するためのデータを記憶する非一時的なメモリである。図示される実施形態において、データストレージ２４３は、バス２２０に通信可能に接続される。データストレージ２４３は、本明細書において説明される機能を提供するために使用される情報を記憶する。例えば、データストレージ２４３は、原ビデオ、原ビデオの非顕著部分、原ビデオの顕著フラグメント、顕著フラグメントのクラスタ、顕著フラグメントの接続グラフ、顕著フラグメントに関連付けられた重み、時間シフト情報、空間シフト情報、許容アクティビティゾーン、顕著フラグメントのインデックス、合成ビデオ等を記憶することができる。データストレージ２４３に記憶されるデータは、以下でより詳細に説明される。
【００３３】
いくつかの実施形態において、ビデオ分解アプリケーション１０３は、非顕著性モジュール２０１、顕著性モジュール２０３、分析モジュール２０５、インデクサ２０７、クエリモジュール２０９、合成モジュール２１１、及びユーザインタフェースエンジン２１３を含む。
【００３４】
ビデオ分解アプリケーション１０３のこれらのコンポーネントは、これらが実行する機能を提供するためのソフトウェア及び／又はロジックを含み得る。いくつかの実施形態において、これらのコンポーネントは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特定用途向け集積回路（ＡＳＩＣ）を含む、プログラム可能な又は特殊化されたハードウェアを使用して実装され得る。いくつかの実施形態において、これらのコンポーネントは、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組合せを使用して実装され得る。いくつかの実施形態において、これらのコンポーネントは、プロセッサ２３５により実行可能な命令である。いくつかの実施形態において、これらのコンポーネントは、メモリ２３７に記憶され、プロセッサ２３５によりアクセス可能で実行可能である。
【００３５】
非顕著性モジュール２０１は、ビデオの非顕著部分を抽出する機能を提供するためのソフトウェア及び／又はロジックを含み得る。ビデオは、キャプチャデバイス１０７、データリポジトリ１０９、又はクライアントデバイス１１５から受信された任意の一連の時間関連画像とすることができる。ビデオの非顕著部分は、静止している、ゆっくり動いている、又はタスクに関連しないオブジェクトを含み得る。いくつかの実施形態において、非顕著性モジュール２０１は、ビデオの固定された背景を、ビデオの非顕著部分として抽出する。例えば、ビデオの非顕著部分は、地下鉄駅において動いている列車及び人々で満たされているビデオにおける静止していて動かない地下鉄駅を含み得る。他の実施形態において、ビデオの非顕著部分は、ビデオのゆっくり動いている背景を含む。非顕著性モジュール２０１は、そのような背景における何らかの動き（例えば、反復的に動いているオブジェクト）を、予測可能なものとみなし、そのような動きを、ビデオの非顕著部分として識別する。例えば、橋上の交通流を記録するビデオの場合、非顕著性モジュール２０１は、橋の下で流れている川と、風により動いている、川のへりにある木と、を、ビデオの非顕著部分として識別することができる。いくつかの他の実施形態において、非顕著性モジュール２０１は、タスク依存の非顕著性に基づいて、ビデオの非顕著部分を決定する。例えば、非顕著性モジュール２０１は、タスクが、イベントの多い、ユーザにとって関心があり、第１のオブジェクトよりも顕著である第２のオブジェクトに関する場合、第１のオブジェクトが、ビデオの非顕著部分においてタスクに関連しないと決定することができる。例えば、非顕著性モジュール２０１は、フィールド上でプレーしているフットボール選手から観客を分離し、観客部分を、ビデオの非顕著部分として抽出することができる。なぜならば、観客の動き（例えば、喋ること、手を振ること）は、フットボールゲームと比較して、イベントの少ないものであるからである。あるいは、非顕著性モジュール２０１は、地下鉄駅の監視ビデオから、地下鉄駅において動いている人々及び他のオブジェクトが、地下鉄駅に入って地下鉄駅から出ていく列車よりも関心が高いと決定し、列車部分を、ビデオの非顕著部分として識別することができる。いくつかの実施形態において、非顕著性モジュール２０１は、モデルを構築し、モデルから、ビデオの非顕著部分（例えば、ゆっくり動いている背景）を決定するように学習する。モデルの例は、顕著性モジュール２０３を参照して以下で説明される。
【００３６】
顕著性モジュール２０３は、ビデオの顕著フラグメントを抽出する機能を提供するためのソフトウェア及び／又はロジックを含み得る。ビデオの顕著フラグメントは、ビデオのフレームのサブセット及びフレームのサブセットからの画素のサブセットである。例えば、ビデオにおけるオブジェクトに対応する画素は、ビデオの複数のフレームにおいて見つけられ得る。オブジェクトに対応する画素を含むこれらのフレームが、フレームのサブセットとして、ビデオから抽出され得る。さらに、オブジェクトに対応する画素（及び、いくつかの実施形態においては、オブジェクトを囲むいくつかの画素）が、フレームのサブセットの各々から抽出される。オブジェクトに関連付けられた画素のみを含む、結果として生じたフレームのサブセットが、顕著フラグメントである。
【００３７】
ある時間における、顕著フラグメントの各フレームは、わずかに異なる特定の領域であって、所定の連続性で結合される特定の領域を含む。例えば、顕著フラグメントは、手を振るアクティビティの３つの時間関連フレームを含み得る。１番目のフレームは、人が、第１の位置に手を上げていることを示す。２番目のフレームは、人が、第１の位置で手を振っていることを示す。３番目のフレームは、人が、第２の位置に手を下げていることを示す。単一の顕著フラグメントが、特定の領域の急激な変化を必ずしも含むわけではない。すなわち、フラグメントは、アクティビティの一連の小さな且つ／又は安定した変化を表す。例えば、領域が、裂けられたり、遮蔽されたりする等、急激な変化が生じると、新たな顕著フラグメントが開始する。例えば、上述した顕著フラグメントは、３つのフレームのみを含む。なぜならば、ビデオにおいて３番目のフレームに続く４番目のフレームは、人の手を含まないからである。すなわち、顕著フラグメントは、画素のブロックがシーンにおいて出現するときに開始し、該画素のブロックがシーンから消失するときに終了する、原ビデオのアトム（最小構成単位）である。
【００３８】
いくつかの実施形態において、顕著性モジュール２０３は、オブジェクトの顕著性を判定し、顕著性に基づいてビデオから顕著オブジェクトを抽出し、顕著オブジェクトに基づいて複数の顕著フラグメントを生成する。顕著性は、ビデオの際立った特徴を表し、対応する顕著フラグメントは、際立った特徴を示す、注目に値する特質を有する、ビデオのハイライトである。例えば、顕著性モジュール２０３は、最も際立った特徴がブラックリストに載せられた個人（すなわち、顕著オブジェクト）であることに基づいて、監視ビデオから、容疑者の動きを含む顕著フラグメントを抽出する。
【００３９】
いくつかの実施形態において、顕著性モジュール２０３は、動き検出、コントラスト、色、及び意味特性のうちの少なくとも１つに基づいて、ビデオにおけるオブジェクトの顕著性を判定する。したがって、顕著オブジェクトは、動いているオブジェクトであることもあるし、所定の色又は所定のコントラストであるオブジェクトであることもある。顕著オブジェクトはまた、意味重要性を有するオブジェクトであることもある。例えば、会話ビデオの場合、顕著性モジュール２０３は、意味重要性に基づいて、最も喋った人（例えば、他の人の質問に回答した人）を、顕著オブジェクトとして決定することができる。あるいは、例えば、顕著性モジュール２０３は、所定のラベルを有する車を、意味重要性を有するオブジェクトとして決定することができる。
【００４０】
いくつかの実施形態において、顕著性モジュール２０３は、動き検出に基づく背景前景分離方法を使用して、動いているオブジェクトを、顕著オブジェクトとして識別する。顕著性モジュール２０３は、オブジェクトの動きに基づいて、ビデオの前景を抽出し、前景におけるオブジェクトを、顕著オブジェクトとして識別することができる。非顕著性モジュール２０１は、ビデオにおける（例えば、前景を除いた）フレームの平均を、背景（例えば、ゆっくり動いている背景）として取得し、この背景を、ビデオの非顕著部分として使用することができる。例えば、顕著性モジュール２０３は、ビデオから、鉄道駅に向かっている列車の顕著部分（例えば、速く変化している部分）を抽出するのに対し、非顕著性モジュール２０１は、鉄道駅で待機している乗客（例えば、ゆっくり変化している部分）を、非顕著部分に含める。顕著性モジュール２０３はまた、他の動き検出技術を使用して、顕著性を判定し、顕著オブジェクトを抽出する。いくつかの実施形態において、顕著性モジュール２０３は、ビデオにおける動いているオブジェクトの優勢な流れをトレースし、優勢な流れにない動いているオブジェクトを、顕著オブジェクトとして識別する。例えば、顕著性モジュール２０３は、ビデオの顕著オブジェクトが、他の人々と対向して走っている人であると識別する。顕著性モジュール２０３は、動き検出に基づいて、他のタイプの顕著オブジェクト、例えば、垂直方向の動きのない顕著オブジェクト、を決定してもよいことが、当業者であれば認識されよう。
【００４１】
動き検出技術は、顕著オブジェクトを抽出する際に、常に適用できるわけではない。例えば、交通量が激しい高速道路、混雑した店等といったシーンにおいて、多数の動いているオブジェクトが存在する場合には、動き検出に基づいて、顕著性を判定し、顕著オブジェクトを抽出するのは難しい。いくつかの実施形態において、顕著性モジュール２０３は、コントラスト、色、形状等といった、ビデオの他の特性に基づいて、顕著性を判定し、顕著オブジェクトを抽出する。例えば、顕著性モジュール２０３は、暗い家の監視ビデオにおける明るいポイント（例えば、明るい懐中電灯）を、顕著オブジェクトとして識別することもできるし、明るさが変化している顕著オブジェクト（例えば、消されている火）を識別することもできる。別の例において、顕著性モジュール２０３は、ビデオから、黄色い安全ベストを装着している人を、顕著オブジェクトとして抽出する。さらに別の例において、顕著性モジュール２０３は、円形状を有する顕著オブジェクトを識別する。
【００４２】
他の実施形態において、顕著性モジュール２０３は、ビデオの意味情報に基づいて、顕著性を判定し、顕著オブジェクトを抽出する。意味情報は、ビデオにおいてオブジェクトにより行われたアクティビティ、ビデオにおける語の意味等を含む。例えば、顕著性モジュール２０３は、ビデオから、道路上で歩いている人及び二輪車に乗っている人を識別し、二輪車に乗っている人を、顕著オブジェクトとして決定する。別の例において、顕著性モジュール２０３は、（例えば、人々のブラックリストにおける）人を、顕著オブジェクトとして選択する。
【００４３】
非顕著性モジュール２０１及び顕著性モジュール２０３により、ビデオの非顕著部分と顕著部分（すなわち、顕著オブジェクトを含む部分）とを分離する１つの手法は、背景前景分離方法である。（上述した）動き検出、色、形状、コントラスト、及び他の特性に基づいて、背景前景分離を実行する精巧なアルゴリズムが存在する。いくつかの実施形態において、混合ガウスモデル（ＧＭＭ）に基づくアルゴリズムが、ビデオの背景及び前景を抽出するための色モデルを構築するために使用される。顕著性モジュール２０３は、顕著オブジェクトの動き及び小さな照明変化を考慮するために、ビデオの各時間ステップにおいてこのモデルを更新する。他の実施形態において、視覚背景抽出器（ＶｉＢｅ）が、ビデオの背景検出及びビデオの前景からの分離のために、非顕著性モジュール２０１及び顕著性モジュール２０３により使用される。ビデオの非顕著部分及び顕著部分を抽出するために非顕著性モジュール２０１及び顕著性モジュール２０３により使用される他のアルゴリズムは、適応ＧＭＭ、自己編成マップアルゴリズム、主成分分析アルゴリズム、背景をモデル化するための低ランク分解に基づくアルゴリズム等を含む。
【００４４】
顕著オブジェクトが決定されると、顕著性モジュール２０３は、顕著オブジェクトの関連する諸部分を結合して、顕著フラグメントを生成する。いくつかの実施形態において、顕著性モジュール２０３は、ビデオの各フレームにおいて顕著オブジェクトを決定し、ビデオの長さにわたって、各顕著オブジェクトを追跡し、追跡に基づいて、複数の顕著フラグメントを生成する。顕著オブジェクトを追跡する単純な方法は、１つのフレームから別のフレームへの顕著オブジェクトの位置を特定し、１つのフレームにおける顕著オブジェクトを、同様の空間的位置において出現している、次のフレームにおける顕著オブジェクトに関連付けることである。しかしながら、この追跡方法には、いくつかの問題がある。例えば、オブジェクト群が、オーバーラップすることもあるし、オブジェクト群が、同様の色又は低照明状態のため、混同されることもあるし、照明の変化に起因して誤検出され、オブジェクト間の関連付けがもたらされないこともあるし、オブジェクトがあまりに速く動いて、フレームごとの関連付けがうまくいかないこともなる、等である。
【００４５】
これらの問題を解決するために、顕著性モジュール２０３は、特定の色モデル及び／又は動きベクトルモデルを顕著オブジェクトに関連付けて、経時的に顕著オブジェクトの軌跡を得る追跡アルゴリズムを使用する。いくつかの実施形態において、顕著性モジュール２０３は、カルマンフィルタ法を使用して、複数オブジェクト追跡を実施する。一実施形態において、顕著性モジュール２０３は、ハンガリアン法を適用して、追跡をいつ開始し追跡をいつ終了するかを決定する。ハンガリアン法は、多項式時間において割り当て問題を解く組合せ最適化アルゴリズムである。最適化又はオペレーションズリサーチにおける割り当て問題は、重み付き２部グラフにおいて最大重みマッチング（又は最小重み完全マッチング）を見つけることを含む。顕著オブジェクトを経時的に追跡するときに、顕著性モジュール２０３は、ハンガリアン法を使用して、距離関数を用いることにより正しい検出を正しい軌跡に関連付ける。いくつかの実施形態において、距離は、前景検出の中心間のユークリッド距離である。
【００４６】
いくつかの実施形態において、顕著性モジュール２０３は、顕著オブジェクトの追跡を、ビデオフラグメントとして規定する。ビデオフラグメントは、ビデオの顕著部分のみを含み、追跡の時間長の間継続し、したがって、顕著フラグメントとも呼ばれる。顕著フラグメントは、時間空間及び画像空間の両方において局在している単一の顕著アクティビティについてのサブストリームである。いくつかの実施形態において、顕著性モジュール２０３は、時間差を測定して、アクティビティが時間空間において局在しているかどうかを判定し、位置差を測定して、アクティビティが画像空間において局在しているかどうかを判定する。
【００４７】
図３Ａは、人３０１、人３０３、及び人３０５という３人の人を含むビデオのフレーム３１１を表している。図３Ａの例において、顕著性モジュール２０３は、道路の一方の端部を一緒に歩いている人３１０及び人３０３に対応する第１の顕著フラグメントと、道路の他方の端部を歩いている人３０５に対応する第２の顕著フラグメントと、を識別することができる。顕著性モジュール２０３は、人３０１及び人３０３のアクティビティを、時間空間及び画像空間の両方において局在している単一の顕著フラグメントであるように決定する。なぜならば、人３０１及び人３０３の歩いているアクティビティは、近い時間範囲内で且つ近い位置範囲内で生じているからである。一方、顕著性モジュール２０３は、人３０５のアクティビティを、第２の顕著フラグメントであるように決定する。なぜならば、人３０５のアクティビティは、第１の顕著フラグメントとともに時間空間において局在しているが、人３０１及び人３０３のアクティビティとともには画像空間において局在していない（すなわち、人３０５のアクティビティは、フレームの他方の端部で生じている）からである。
【００４８】
顕著フラグメントは、追跡の時間長の間継続する。例えば、どの顕著オブジェクトが、ビデオのどの時間期間にわたって追跡されているかに応じて、３０秒の顕著フラグメント、２分の顕著フラグメント等が存在し得る。いくつかの実施形態において、顕著性モジュール２０３は、ビデオの特定の時間期間内で単一の顕著オブジェクトを追跡し、この特定の時間期間から、単一の顕著フラグメントを生成する。他の実施形態において、顕著性モジュール２０３は、ビデオの特定の時間期間内で複数の顕著オブジェクトを追跡し、ビデオのこの特定の時間期間から、複数の顕著オブジェクトを生成する。例えば、顕著性モジュール２０３は、ビデオの３分の期間から、人及び車を追跡し、人の第１の顕著フラグメント及び車の第２のフラグメントを生成することができる。この場合において、異なる顕著フラグメントシーケンスは、以下で説明される図３Ｃに示されるように、ビデオの同じ画像群の諸部分を含み得る。
【００４９】
いくつかの実施形態において、顕著性モジュール２０３は、顕著フラグメントに関連付けられるメタデータを決定し、さらなる処理のために、顕著フラグメントとともにメタデータを、分析モジュール２０５及びインデクサ２０７に送信する。顕著フラグメントに関連付けられるメタデータは、原ビデオに対する開始時間及び終了時間、原ビデオフレームにおける顕著フラグメントのフレームの空間的位置、及び、合成ビデオを生成するために使用される他の特性（例えば、画像におけるオブジェクトの識別情報等の意味情報）を含む。いくつかの実施形態において、意味情報は、顕著フラグメントのインデクシング及び検索・取得のために使用され得る。例えば、ビデオが、車及び歩行者の画像を含む場合であって、各顕著フラグメントが、該顕著フラグメントを車又は歩行者のいずれかとして分類しているメタデータを含む場合、全ての車を表示するためのクエリが、メタデータにおける意味情報に基づいて、容易に完成され得る。
【００５０】
図３Ｂ及び図３Ｃは、顕著フラグメントシーケンスのグラフィカル表現を表している。図３Ｂ及び図３Ｃの例に示される顕著フラグメントシーケンスは、顕著性モジュール２０３により、鉄道駅の監視ビデオから抽出されている。図３Ｂ、図３Ｃ、図６、図８、図１０Ａ、図１０Ｂ、図１１Ａ、及び図１１Ｂの例における画像は、ＰＥＴＳ２００６ベンチマークデータから取得されている。図３Ｂにおける顕著フラグメント３００は、動き検出に基づいてもたらされた顕著オブジェクト（例えば、空港内を歩いている女性）を示す、監視ビデオの５つの時間関連画像３０２、３０４、３０６、３０８、及び３１０を含む。図３Ｃは、３つの顕著フラグメントシーケンス３５２、３５４、及び３５６を示している。各顕著フラグメントシーケンスは、顕著オブジェクトの一連の画像／フレームを含む。顕著フラグメント内の各フレームは、原ビデオフレームにおいて見つけられた画素のサブセットのみを含む。例えば、顕著フラグメント３５４の各フレームは、第１の顕著オブジェクト（例えば、右に動きながら旅行かばんを運んでいる人）の画素のサブセットを含むのに対し、顕著フラグメント３５６の各フレームは、第２の顕著オブジェクト（例えば、左に動いている人）の画素のサブセットを含む。図３Ｃの例において、顕著性モジュール２０３は、時間空間及び画像空間において局在している単一の顕著アクティビティを表す各顕著フラグメントに基づいて、監視ビデオの同じ時間間隔（例えば、最後の２分）から、３つの顕著フラグメントシーケンス３５２、３５４、及び３５６を抽出することができる。
【００５１】
図２Ａに戻ると、分析モジュール２０５は、複数の顕著フラグメントを受信し、関連フラグメントを決定し、関連フラグメントを接続した接続グラフを生成する機能を提供するためのソフトウェア及び／又はロジックを含み得る。
【００５２】
いくつかの実施形態において、分析モジュール２０５は、時空間のオーバーラップに基づいて、複数の顕著フラグメントのうちの第２の顕著フラグメントが、複数の顕著フラグメントのうちの第１の顕著フラグメントに関連すると決定する。例えば、分析モジュール２０５は、（１）第２の顕著フラグメントのフレームが、ある時点において、第１の顕著フラグメントのフレームとオーバーラップしているかどうか（例えば、時間空間照合）、及び、（２）上記時点のオーバーラップにおいて第２の顕著フラグメントから抽出された特徴と第１の顕著フラグメントから抽出された特徴との間の類似度が、予め定められた閾値内であるかどうか（例えば、画像外観照合）、を判定することができる。単純に言えば、分析モジュール２０５は、それぞれのフラグメントにおける顕著オブジェクトが、何らかの時点において且つ画像の何らかのポイントにおいて、互いと接触している且つ／又は互いに影響を及ぼしている場合、２つの関連フラグメントを識別する。
【００５３】
いくつかの実施形態において、分析モジュール２０５は、２つの顕著フラグメントについて時間の点でオーバーラップしている１つ以上のフレームを決定する。オーバーラップしているフレームのペアは、１番目のフラグメントの最初のフレームと２番目のフラグメントの最後のフレームとであることもあるし、逆であることもある。オーバーラップしているフレームのペアはまた、２番目のフラグメントの発生元又は終了元である、１番目のフラグメントの中央におけるフレームと２番目のフラグメントにおける最初のフレーム又は最後のフレームとを含み得る。オーバーラップしているペアが決定されると、分析モジュール２０５は、画像外観合致が存在するかどうかを判定する。いくつかの実施形態において、分析モジュール２０５は、オーバーラップしているペアの各フレームから局所特徴を抽出する。例えば、分析モジュール２０５は、ＳＩＦＴ（scale-invariant  feature  transform）、ＦＡＳＴ（features  from  accelerated  segment  test）、回転ＢＲＩＥＦ（binary  robust  independent  elementary  features）、ＯＲＢ（oriented  FAST  and  BRIEF）、及び、ペアにおけるフレームの特徴を検出するための他のアルゴリズムを使用する。オーバーラップしているペアのフレームから抽出された局所特徴の数が、例えばフレームサイズが小さすぎるために、閾量よりも小さい場合、分析モジュール２０５は、キャプチャデバイス１０７又はデータリポジトリ１０９と通信して、増大された前景解像度を有する、ビデオのより高い質のバージョンを取得することができる。分析モジュール２０５は、次いで、オーバーラップしているペアの各フレームから抽出された局所特徴を比較して、例えば、Ｋ最近傍法（ＫＮＮ）を適用することにより、合致が存在するかどうかを判定する。いくつかの実施形態において、分析モジュール２０５はまた、ランダムサンプルコンセンサス（ＲＡＮＳＡＣ）アルゴリズムを適用して、オーバーラップしているペアから抽出された局所特徴を比較したときの外れ値を破棄する。分析モジュール２０５は、リジッド変形を用いると小さいと予想される、フレーム間の変化を概算し、このリジッド変形を用いて、ＲＡＮＳＡＣ法のための基礎となる数学的モデルを構成する。分析モジュール２０５は、このＲＡＮＳＡＣステップにおいて測定された距離が閾距離を超えているかどうかに基づいて、画像外観合致を判定する。
【００５４】
以下は、時空間のオーバーラップに基づいて関連顕著フラグメントを決定する例である。第１の顕著フラグメントが、ビデオの４秒目乃至１０秒目から抽出され、第２の顕著フラグメントが、ビデオの１秒目乃至４秒目から抽出された場合、分析モジュール２０５は、４秒目における１秒のオーバーラップを識別し、この１秒のビデオオーバーラップ内でオーバーラップしているフレームの少なくとも１つのペアを識別する。分析モジュール２０５は、次いで、この時点のオーバーラップにおいて画像外観合致が存在するかどうかを判定する。人及び銀行ビルディングの特徴が、オーバーラップしているフレームから抽出されることを考えてみる。このペアの１番目のフレームにおいて、人は、銀行の入口の近くに立っている。このペアの２番目のフレームにおいて、人は、銀行の道路を横切って歩いている。分析モジュール２０５が、１番目のフレームから抽出された特徴と２番目のフレームから抽出された特徴との間の距離を算出し、この距離が閾距離を超えていると判定した場合、分析モジュール２０５は、２つの顕著フラグメントが関連しないと決定する。そうでなければ、２つの顕著フラグメントは関連する。
【００５５】
図４は、時空間のオーバーラップに基づいて決定された関連顕著フラグメントシーケンスのグラフィカル表現を表している。図４、図１０Ａ、及び図１０Ｂの例における画像は、changedetection.net上で提供されているベンチマークデータセット（「N.  Goyette,  P.-M.  Jodoin,  F.  Porikli,  J.  Konrad,  and  P.  Ishwar,  changedetection.net:  A  new  change  detection  benchmark  dataset,  in  Proc.  IEEE  Workshop  on  Change  Detection  (CDW-2012)  at  CVPR-2012,  Providence,  RI,  16-21  Jun.,  2012」を参照されたい。）から取得されている。図４の左上には、オーバーラップしているペアの２つのフレームから抽出された特徴間の比較が、４０２において示されている。例えば、これらの２つのフレームは、それぞれ、フラグメント０及びフラグメント５からのものである。比較結果により、ボックス４０４において示されている合致したオブジェクトが識別され、４０６におけるフラグメント０がフラグメント５に関連することが示されている。関連フラグメント群が、４０８において、（５，０）としてラベル付けされている。同様に、図４の右下には、別のオーバーラップしているペアの２つのフレームから抽出された特徴間の比較が、４１０において示されている。これらの２つのフレームは、それぞれ、フラグメント１及びフラグメント５からのものである。比較結果により、ボックス４１２において示されている異なる合致したオブジェクトが識別され、４１４におけるフラグメント１もフラグメント５に関連することが示されている。４１６におけるラベル（５，０，１）は、（ボックス４０４又は４１２における）類似するオブジェクトが、空間的及び時間的に合致する両方の位置で、これらのフラグメントにおいて出現しているという点で、フラグメント５が、フラグメント０及びフラグメント１の両方に関連することを示している。
【００５６】
他の実施形態において、図２Ａの例に戻ると、分析モジュール２０５は、因果性情報に基づいて、複数の顕著フラグメントのうちの第２の顕著フラグメントが、複数の顕著フラグメントのうちの第１の顕著フラグメントに関連すると決定する（例えば、分析モジュール２０５は、原因結果状況を理由として、第２の顕著フラグメントを第１の顕著フラグメントに関連付ける）。例えば、人が、店に入る又は店から出るときに、物体を落下させた場合、分析モジュール２０５は、落下している物体の顕著フラグメントが、人の顕著フラグメントに関連すると決定するであろう。
【００５７】
いくつかの他の実施形態において、外観（例えば、時空間のオーバーラップ又は因果性情報）に基づいて、関連顕著フラグメントを決定することに加えて、分析モジュール２０５はまた、他の手法を適用して、顕著フラグメント間のつながり又は関連性を判定する。例えば、分析モジュール２０５は、顕著フラグメントにおけるオブジェクトにより行われたアクティビティといった、ビデオから抽出された意味情報、形状、色、又はコントラスト等の画像特性に基づいて、関連顕著フラグメントを決定することができる。
【００５８】
いくつかの実施形態において、分析モジュール２０５は、第１の顕著フラグメントに関連する顕著フラグメントの２つ以上のセットを識別することができる。例えば、画像外観照合において使用される閾距離が変化する場合、分析モジュール２０５は、関連顕著フラグメントの変化するセットを識別することができる。あるいは、第１の顕著フラグメントのフレームが、複数の顕著オブジェクトを含む場合、分析モジュール２０５は、第１の顕著フラグメントの第１の顕著オブジェクトに基づいて、関連顕著フラグメントの第１のセットを決定し、第１の顕著フラグメントの第２の顕著オブジェクトに基づいて、関連顕著フラグメントの第２のセットを決定することができる。関連フラグメントを識別する意図について不明確である場合、これは、第１の顕著フラグメントの異なる顕著オブジェクトに関する関連顕著フラグメントの複数のセットを生成するのに特に有用である。
【００５９】
いくつかの実施形態において、分析モジュール２０５は、関連顕著フラグメントを接続した接続グラフを生成する。分析モジュール２０５は、接続グラフの各ノードを、顕著フラグメントで表現する。分析モジュール２０５は、例えば、クエリが生成される対象の第１の顕著フラグメントといった、接続グラフの中心ノードを選択し、他のノードを、接続グラフの中心ノードに直接的に又は間接的に接続する。いくつかの実施形態において、分析モジュール２０５は、時空間のオーバーラップに基づいて、接続グラフの２つのノードにおけるフラグメントを接続することを決定する。例えば、分析モジュール２０５は、（１）第１のノードにおけるフラグメントのフレームが、何らかの時点において、第２のノードにおける他のフラグメントのフレームとオーバーラップしており、（２）この時点のオーバーラップにおいて、これらの２つのフラグメントの間に画像外観合致が存在する場合、これらの２つのノードを接続することができる。他の実施形態において、分析モジュール２０５はまた、因果性情報に基づいて、接続グラフにおいてノードを接続する。したがって、分析モジュール２０５は、人が物体を落下させたという因果関連性を、その反対ではなく示すように、接続グラフにおいて、人のフラグメントと物体のフラグメントとを接続するであろう。いくつかの他の実施形態において、分析モジュール２０５は、顕著フラグメントにおけるオブジェクトにより行われたアクティビティといった、ビデオから抽出された意味情報、形状、色、又はコントラスト等の画像特性に基づいて、顕著フラグメントを接続することができる。分析モジュール２０５は、ユーザにより定義された関連性に基づいて、接続グラフにおいて２つのフラグメントを接続することを決定することもできる。
【００６０】
いくつかの実施形態において、分析モジュール２０５は、さらに、接続グラフにおける接続に基づいて、顕著フラグメントをクラスタ化する。分析モジュール２０５は、任意的に、フラグメントをクラスタに分類するためのクラスタ化モジュール２１５を含む。各クラスタは、他のクラスタに含まれるフラグメントに接続していないフラグメントのグループである。フラグメントのクラスタ化は、フラグメント間の相互作用を保つように、接続グラフにおいて、相互作用しているフラグメントをそれらの因果的順序で一緒に維持するであろう。図５は、接続グラフにおける顕著フラグメントのクラスタのグラフィカル表現を表している。図５の例において、５つのクラスタ５０２、５０４、５０６、５０８、及び５１０が存在する。１つのクラスタにおけるフラグメントは、他のクラスタにおけるフラグメントに接続していない。各クラスタは、１つ以上の接続されているフラグメントを含む。例えば、フラグメント５は、クラスタ５０２において、フラグメント０及びフラグメント１に関連付けられている。
【００６１】
いくつかの実施形態において、分析モジュール２０５は、関連顕著フラグメント、接続グラフ、又はクラスタに基づいて、顕著フラグメントのデータベースを作成及び更新するために、インデクサ２０７と通信する。他の実施形態において、分析モジュール２０５はまた、顕著フラグメントのセットを取得して、合成ビデオを生成するために、クエリモジュール２０９及び合成モジュール２１１と通信する。
【００６２】
インデクサ２０７は、顕著フラグメントのデータベースを構築及びインデクシングする機能を提供するためのソフトウェア及び／又はロジックを含み得る。次いで、顕著フラグメントのセットが、インデックスを使用してデータベースにクエリすることに基づいて、選択され、合成モジュール２１１を参照して以下で説明されるように、合成ビデオを生成するために、ビデオの非顕著部分と結合され得る。
【００６３】
いくつかの実施形態において、インデクサ２０７は、顕著性モジュール２０３及び／又は分析モジュール２０５から受信された複数の顕著フラグメントを記憶する。各顕著フラグメントは、メタデータに関連付けられている。メタデータは、少なくとも、原ビデオに対する顕著フラグメントの開始時間及び終了時間、原ビデオフレームにおける顕著フラグメントのフレームの空間的位置等を含む。顕著フラグメントとともにメタデータをファイルとして記憶する代わりに、インデクサ２０７は、そのような視覚的情報を記憶するためのデータベースを作成する。例えば、インデクサ２０７は、顕著フラグメント及びメタデータを記憶するために、データストレージ２４３上にデータベースを作成する。
【００６４】
顕著フラグメントをデータベースに記憶することは、特に有効である。第１に、インデクサ２０７は、例えば、顕著フラグメントに関連付けられたメタデータを使用して、データベースに記憶される視覚的情報をインデクシングすることができ、したがって、顕著フラグメントの高速な検索を提供することができる。第２に、顕著フラグメントのデータベースを構築及びインデクシングすることは、ビデオのクエリ駆動型再構成を可能にし、このことは、クエリモジュール２０９を参照して、以下で詳細に説明される。第３に、顕著フラグメントのデータベースは、情報の視覚化を可能にする。視覚的情報をデータベースに記憶することによる他の利点が存在することも、当業者であれば認識されよう。
【００６５】
いくつかの実施形態において、記憶、インデクシング、及び伝送の前に、インデクサ２０７は、顕著フラグメントを、固定時間長（例えば、１秒、３秒等）の短いセグメントへと分解する。各セグメントは、ＭＰＥＧトランスポートストリーム（ＭＰＥＧ−ＴＳ）プロトコル、ＨＴＴＰライブストリーム（ＨＬＳ）プロトコル、又は動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）プロトコルにおけるトランスポートストリーム（ＴＳ）ファイルに対応し得る。例えば、インデクサ２０７は、２１秒のフラグメントを、７つのセグメントへと分解する。各セグメントは、３秒のスタンドアロンビデオを格納したＴＳファイルである。いくつかの実施形態において、インデクサ２０７はまた、固定時間長のセグメントをパックするように、顕著フラグメントの長さを調整する。
【００６６】
顕著フラグメントをセグメントの形態で編成することに加えて、インデクサ２０７は、セグメントをインデクシングし、セグメント及び対応するフラグメントとともにインデックスをデータベースに記憶する。顕著フラグメントを構成するセグメントをインデクシングすることは、有用である。例えば、セグメントのインデックスに基づいて、顕著フラグメント全体ではなく、顕著フラグメントの諸部分（例えば、所定のセグメント）が、ユーザからのクエリに応じて、検索・取得されて、ユーザに返されるようになることが可能である。したがって、伝送時間及びネットワーク帯域幅が低減されるようになる。
【００６７】
インデクサ２０７は、データベースから検索されるデータの速度を向上させるために、顕著フラグメントのデータベースをインデクシングする。なぜならば、検索される必要があるデータベースにおけるレコードの数は、インデックスが、データを特定して取得するために使用される場合には、限定されるからである。インデクサ２０７はまた、顕著フラグメントに対する変化を反映するように、データベースを更新する。いくつかの実施形態において、インデクサ２０７は、フラグメントの開始時間及び終了時間等の、顕著フラグメントに関連付けられたメタデータに基づいて、顕著フラグメントのデータベースをインデクシングする。他の実施形態において、インデクサ２０７は、顕著フラグメントの接続グラフに基づいて、顕著フラグメントのデータベースをインデクシングする。接続グラフが、時空間のオーバーラップに基づいて、分析モジュール２０５により生成された場合には、インデクサ２０７は、外観の点で類似しており時間の点で近い顕著フラグメントをインデクシングする。接続グラフが、因果性情報に基づいて、分析モジュール２０５により生成された場合には、インデクサ２０７は、原因結果関連性を有する顕著フラグメントをインデクシングする。いくつかの他の実施形態において、インデクサ２０７はまた、分析モジュール２０５から受信されたクラスタ化情報に基づいて、顕著フラグメントのデータベースをインデクシングすることができる。例えば、インデクサ２０７は、図５の接続グラフに示される５つのクラスタに、クラスタ番号Ａ、Ｂ、Ｃ、Ｄ、及びＥをそれぞれ割り当て、対応するクラスタ番号Ａ〜Ｅに基づいて各フラグメントにアクセスすることができるように、図５における顕著フラグメントをインデクシングすることができる。結果として、フラグメント０、１、及び５は、クラスタ番号Ａに基づいてアクセスされ得、フラグメント７、８、１０、１４、１５、及び１７は、クラスタ番号Ｂに基づいてアクセスされ得る、等である。
【００６８】
どのようにして、インデクサ２０７が、分析モジュール２０５と通信して、顕著フラグメントのデータベースを作成及び更新するかの複数の変形形態が存在し得る。いくつかの実施形態において、インデクサ２０７は、顕著性モジュール２０３から顕著フラグメントを受信し、顕著フラグメントのデータベースを作成／更新する。次いで、分析モジュール２０５は、（例えば、ユーザにより定義された関連性に基づいて）顕著フラグメントのクエリに関連する顕著フラグメントを取得し、これらの関連フラグメントを接続した接続グラフを生成する。いくつかの実施形態において、分析モジュール２０５は、関連フラグメントの接続グラフを生成し、顕著フラグメントのデータベースを作成及び更新するために、接続グラフにおけるフラグメントをインデクサ２０７に送信する。他の実施形態において、分析モジュール２０５は、関連フラグメントの接続グラフを生成し、接続グラフにおけるフラグメントをインデクサ２０７に送信する。インデクサ２０７は、接続グラフに基づいて、顕著フラグメントのデータベースを作成及び更新する。次いで、分析モジュール２０５は、データベースから顕著フラグメントを取得し、グラフ接続に基づいて、フラグメントをクラスタ化する。いくつかの他の実施形態において、分析モジュール２０５は、関連フラグメントの接続グラフを生成し、接続グラフにおける接続に基づいて、フラグメントをクラスタ化し、接続グラフ及びクラスタに基づいて、顕著フラグメントのデータベースを作成及び更新するために、接続グラフにおけるフラグメントとともにクラスタをインデクサ２０７に送信する。これらの変形形態は、図１３Ａ〜図１３Ｄを参照して、以下で詳細に説明される。
【００６９】
クエリモジュール２０９は、ユーザ入力に基づくクエリを生成し、顕著フラグメントのデータベースにクエリする機能を提供するためのソフトウェア及び／又はロジックを含み得る。いくつかの実施形態において、クエリは、顕著フラグメントに関連する。例えば、クエリモジュール２０９は、ビデオのうちの、顕著フラグメントに対応する部分のユーザ選択に応じて、顕著フラグメントに関連するクエリを生成する。クエリモジュール２０９は、顕著フラグメントのデータベースにクエリして、クエリされた顕著フラグメントに関連する全てのフラグメントを取得する。関連性は、接続グラフにおいて示される、あるいは、関連性は、ユーザにより定義される。クエリはまた、２つ以上の顕著フラグメントにも関連し得る。例えば、クエリモジュール２０９は、第１の顕著フラグメント及び第２の顕著フラグメントに関連するクエリを生成する。他の実施形態において、クエリは時間間隔である。例えば、クエリモジュール２０９は、ユーザ入力に基づく時間間隔内の全てのフラグメントをクエリするためのクエリを生成する。他の実施形態において、クエリは、複数の顕著フラグメントのうちの顕著フラグメントに関連付けられた特性であり得る。例えば、クエリは、特定の方向（例えば、優勢な方向）の動きにあるオブジェクトを示すことであり得る。例えば、タグ、キーワード、メタデータに基づくクエリといった、多く他のタイプのクエリ又はクエリの組合せが存在することが、当業者であれば認識されよう。いくつかの実施形態において、クエリモジュール２０９は、合成モジュール２１１と通信して、合成ビデオを合成するために、クエリに基づいて、顕著フラグメントのセットを取得する。
【００７０】
図６〜図８は、クエリフラグメントと、クエリフラグメントに関連する取得された顕著フラグメントと、のグラフィカル表現を示している。図６は、ユーザ入力に基づいて生成されたクエリフラグメントのグラフィカル表現を表している。顕著性モジュール２０３は、空港の監視ビデオから複数の顕著フラグメントを抽出し、インデクサ２０７は、顕著フラグメントをデータベースに記憶してインデクシングする。ユーザ（例えば、分析者）が、監視ビデオの画像／フレーム６０２の一部分を選択すると、これは、クエリフラグメント６０４を生成するようにクエリモジュール２０９をトリガする。クエリフラグメント６０４は、フレーム６０２を含み、また、そのインデックスに応じたフラグメント３１としても参照される。
【００７１】
クエリモジュール２０９は、関連フラグメントを検索・取得するようにデータベースにクエリするためのクエリフラグメントを生成する。図６の例において、ユーザがフラグメント３１になぜ関心があるのかの手がかりは存在しない。ユーザは、画像６０２における２人の人が互いと交差したときに何が起こったかに関心があったのかもしれないし、あるいは、ユーザは、画像における女性により所持されているバッグの中身を知りたかったのかもしれない。画像６０２を選択したユーザの意図は分からないかもしれないが、システム１００は、それでも、例えば、接続グラフにおいてクエリフラグメントに関連するフラグメントを取得することにより、ユーザがさらにビデオから何を調べたらよいかのスマートなレコメンデーションを提供することができる。
【００７２】
図７は、図６に示されるクエリフラグメントに関連する顕著フラグメントを接続している接続グラフ７００を表している。接続グラフ７００は、６つのノードを含み、各ノードは、顕著フラグメントを表している。中心ノード７０２は、クエリが生成された生成元のフラグメント３１である。分析モジュール２０５は、時空間のオーバーラップに基づいて、フラグメント３１に関連するフラグメント２６、２８、３０、３２、及び３３を識別して接続する（例えば、分析モジュール２０５は、同じ顕著オブジェクト（群）が２つのフラグメントにおいて出現し、一方のフラグメントにおける顕著オブジェクト（群）が、他方のフラグメントにおける顕著オブジェクト（群）と相互作用していることを理由として、これらの２つのフラグメントを接続する）。斜線背景により示されているフラグメント２６、２８、及び３０は、中心ノードにおけるクエリフラグメント３１に対して前の時間におけるフラグメントであり、四角背景により示されているフラグメント３２及び３３は、クエリフラグメント３１に対して後の時間におけるフラグメントである。したがって、フラグメント３１が、監視ビデオから、午前１０：３０〜午前１０：３３の間で抽出されている場合、フラグメント２６、２８、及び３０は、午前１０：２９〜午前１０：３１の間であり得、フラグメント３２及び３３は、午前１０：３２〜午前１０：３５の間であり得る。フラグメント３１と、関連フラグメント２６、２８、３０、３２、及び３３と、の間には、画像外観合致も存在する。例えば、分析モジュール２０５は、フラグメント２９が、フラグメント３１における２人の人から離れた位置に立っている人を含むことを理由として、接続グラフ７００からフラグメント２９を除外することができる。図８は、図７の接続グラフ７００に示される顕著フラグメントのグラフィカル表現８００を表している。矢印は、関連顕著フラグメント間の接続を示している。例えば、矢印８０２及び８０４は、接続グラフ７００において、フラグメント２６が、フラグメント２８を介して、フラグメント３１に接続していることを示している。
【００７３】
図２Ａの例に戻ると、合成モジュール２１１は、ビデオに関するクエリを受信したことに応じて、合成ビデオを合成する機能を提供するためのソフトウェア及び／又はロジックを含み得る。合成ビデオは、クエリに基づいて取得された顕著フラグメントに対応する、原ビデオの情報を強調する。対照的に、合成ビデオは、顕著フラグメントのうちの残り（すなわち、取得されなかったフラグメント）に含まれる情報を含まない。合成ビデオは、原ビデオとは異なるが、これは、もっともらしい適切なビデオコンテンツである。
【００７４】
図２Ｂは、合成モジュール２１１の一実施形態を示すブロック図を表している。図２Ｂにおいて、合成モジュール２１１は、任意的なクラスタ化モジュール２１５、時間シフトモジュール２１７、重み編集モジュール２１９、歪みモジュール２２１、及び組み立てモジュール２２３を含む。
【００７５】
クラスタ化モジュール２１５は、顕著フラグメントをクラスタに分類する機能を提供するためのソフトウェア及び／又はロジックを含み得る。いくつかの実施形態において、合成モジュール２１１が、時間間隔のクエリを受信すると、合成モジュール２１１は、クエリモジュール２０９と通信して、この時間間隔内に生じている全てのフラグメントを取得し、これらのフラグメント並びにこれらのフラグメントに関連付けられた開始時間及び終了時間に基づいて、合成ビデオを生成する。しかしながら、再組み立てされたビデオが、長い場合又はアクティビティのない大きな期間を含む場合、合成モジュール２１１は、概要ビデオを作成することができる。概要ビデオは、原ビデオの間隔における異なる時点において生じている複数のフラグメントが、一緒にスタックされて同時に表示される合成ビデオであり、それにより、ビデオの長さを短くする。例えば、クエリモジュール２０９は、ビデオの午後１：４６〜午後２：４６の間の全てのアクティビティを５分の合成ビデオにおいて見ることを要求するユーザの入力に基づくクエリを生成することができる。次いで、合成モジュール２１１は、クエリに含まれる５分の時間長の要求に応じて、５分の概要ビデオを生成する。「合成ビデオ」という用語及び「概要ビデオ」という用語は、本明細書における説明において同義に使用されることがある。
【００７６】
概要ビデオを生成する際の１つの課題は、ビデオフラグメントの因果関連性に関連する。合成モジュール２１１は、様々なフラグメントの順序を考慮することなしには、ビデオにおける因果的相互作用を再編成することができない。そうである場合、結果として生じる概要は、意味をなさないであろう。例えば、図６〜図８におけるフラグメント２６、２８、３０、３１、３２、及び３３を再編成することは、意味をなさない概要ビデオをもたらす可能性がある。いくつかの実施形態において、合成モジュール２１１は、概要ビデオにおいて因果的相互作用を保つためのクラスタ化モジュール２１５を含む。クエリに応じて、クラスタ化モジュール２１５は、クエリモジュール２０９と通信して、時間間隔に関連する顕著フラグメント及び関連付けられた接続グラフを取得することができる。クラスタ化モジュール２１５は、接続されている構成要素を介する接続に基づいて、接続グラフをクラスタに分類する。クラスタは、他のクラスタに含まれるフラグメントに接続していないフラグメントのグループであり、例えば、クラスタは、図５に示されている。すなわち、異なるクラスタ間のフラグメントは、時空間の関連性又は因果関連性を有しない。クラスタ化は、クラスタにおいて、全ての相互作用しているフラグメントをそれらの因果的順序で一緒に維持する。クラスタ化モジュール２１５は、複数のクラスタが同時に生じ得ることを確実にするために、クラスタを時間シフトすることに基づいて概要ビデオを完成させるように、クラスタを組み立てモジュール２２３に送信する。
【００７７】
上述したように、いくつかの実施形態において、クラスタ化モジュール２１５は、データベース作成の前にクラスタ化を実行でき、したがって、より高速なクエリ検索が可能となるように、分析モジュール２０５に任意的に含められてもよい。接続グラフをクラスタ化した結果として、インデクサ２０７は、開始時間及び終了時間又はグラフ接続に基づいてだけでなく、クラスタ番号等のクラスタ化情報に基づいて、顕著フラグメントのデータベースをインデクシングすることができる。
【００７８】
時間シフトモジュール２１７は、概要ビデオを生成するときに顕著フラグメント及び／又はクラスタを順序付けるための時間シフトを決定する機能を提供するためのソフトウェア及び／又はロジックを含み得る。概要ビデオを、視覚的に興味を引くものにするために、時間シフトモジュール２１７は、異なるフラグメントにおけるオブジェクト間のオーバーラップを最小化するための１つ以上の時間シフトを決定する。多くのフラグメントが、ビデオにおいて異なる時点で生じており、ビデオフレームにおいて同じ空間的位置で生じているビデオを考えてみると、時間シフトモジュール２１７は、概要ビデオの総時間及び概要ビデオにおける複数のフラグメント間の空間のオーバーラップが低減されるように、適切な時間シフトをもってフラグメントを時間的に配置することにより、概要最適化を実行する。
【００７９】
いくつかの実施形態において、時間シフトモジュール２１７は、オーバーラップがゼロ又は最小であり、総概要ビデオ長が短い又はユーザにより要求された長さに近いように、エネルギー関数を使用して、概要ビデオにおけるフラグメントについての適切な時間シフトを算出する。いくつかの実施形態において、時間シフトモジュール２１７はまた、概要を作成するときに相互作用又は因果的アクティビティが狂わされることのないように、合成モジュール２１１の他のモジュールと通信して、フラグメントについてのこの概要最適化をクラスタへと拡張する。例えば、概要ビデオを生成するときに、モジュール２１５、２１７、及び２２３は、複数のクラスタが概要ビデオにおいて同時に生じるように、クラスタを時間シフトするよう通信することができる。
【００８０】
概要ビデオのフレームにおける同じ空間的位置において生じるフラグメントは、本明細書において衝突と呼ばれる。時間シフトモジュール２１７により実行される、時間シフトに基づく最適化の１つの目的は、最小の衝突を伴う概要ビデオを作成することである。時間シフトモジュール２１７は、エネルギー関数を使用して、衝突コストを決定することもできるし、概要ビデオを得るために他の方法を使用することもできる。例えば、時間シフトモジュール２１７は、背景領域を増大させて且つ／又は前景領域を低減させて、ほとんど衝突のない又は衝突がゼロである、できるだけ多くのビデオフラグメントを同時に組み込むことができる。この方法は、より滑らかなビデオを作成することができるが、背景を増大させる又は前景を縮小若しくは拡大させるためのより多くの計算を必要とする。
【００８１】
重み編集モジュール２１９は、フラグメントの顕著オブジェクトの動きに基づいて、重みを顕著フラグメントに割り当てる機能を提供するためのソフトウェア及び／又はロジックを含み得る。重み編集モジュール２１９は、概要ビデオを生成する際の、静止しているオブジェクトに関連する問題を解決するために、フラグメントを重み付けする。
【００８２】
置き忘れられた荷物のシナリオを考えてみる。このシナリオにおいて、荷物（例えば、スーツケース）が、ビデオのシーンに入り、ビデオの時間長の残りを通じて、そこに留まっている。この時間期間中、複数の人が、この放っておかれた荷物のそばを歩いており、カメラから荷物が見えないようにしている。結果として、多くのフラグメントが、荷物の同じ長いフラグメントと相互作用する。なぜならば、荷物が、同じスポットに置かれたままであるからである。すなわち、この放っておかれた荷物に対応する長いフラグメントは、多くの他のフラグメントに接続される。その結果、クラスタ化モジュール２１５は、分析モジュール２０５によりビデオから生成された接続グラフをクラスタ化するときに、クラスタ化モジュール２１５は、ビデオの長さとほとんど同じ長さである非常に大きなクラスタを決定するであろう。結果として、そのようなクラスタを使用して生成される概要ビデオの時間は低減しないことになる。図９Ａは、静止しているオブジェクト及び動いているオブジェクトの軌跡のグラフィカル表現を表している。図９Ａの左側には、動いているオブジェクトの軌跡が、このオブジェクトの動いている中心の曲線９０２で示されている。図９Ａの右側には、静止しているオブジェクトの軌跡が、このオブジェクトの動いていない中心の直線９０４で示されている。図９Ｂは、静止しているオブジェクトと動いているオブジェクトとの間の軌跡相互作用のグラフィカル表現を表しており、例えば、９２２に示される、静止しているオブジェクトの軌跡が、時間長を通じて、９２４、９２６、及び９２８に示される、動いているオブジェクトの軌跡とどのように相互作用しているか、を示している。
【００８３】
いくつかの実施形態において、静止しているオブジェクトに関連する制限を克服するために、重み編集モジュール２１９は、顕著フラグメントの顕著オブジェクトが、ある時間期間にわたってどれだけ動いたかを測定することに基づいて、重みを顕著フラグメントに関連付ける。例えば、重み編集モジュール２１９は、ビデオの全長にわたって静止しているオブジェクトの顕著フラグメントには小さな重みを関連付け、動いているオブジェクトの顕著フラグメントには大きな重みを関連付けることができる。いくつかの実施形態において、ビデオの顕著フラグメントにおいて頻繁に止まって動いているオブジェクトに関して、重み編集モジュール２１９は、顕著フラグメントを小さなチャンクへと分離し、重みを、顕著フラグメントの小さなチャンクに割り当てる。例えば、重み編集モジュール２１９は、ビデオにおける所定の数（例えば、５０個）の連続するフレームを選択し、オブジェクトがこれらのフレームにおいて動いているかどうかを判定する。オブジェクトが動いている場合、重み編集モジュール２１９は、より高い重みを割り当てる。そうでない場合、重み編集モジュール２１９は、より低い重みを割り当てる。いくつかの実施形態において、重み編集モジュール２１９は、図９Ａに示されるように、顕著オブジェクトの中心が、フラグメント、又はフレームのチャンクにおいて、最初のフレームから最後のフレームまでにどれだけ動いたかに基づいて、フラグメント、又はフレームのチャンクにおける顕著オブジェクトの動きを測定する。
【００８４】
いくつかの実施形態において、重み編集モジュール２１９は、二値重みをフラグメントに割り当てる。例えば、重み編集モジュール２１９は、静止しているオブジェクトのフラグメントは０の重みを有すると決定し、動いているオブジェクトのフラグメントは１の重みを有すると決定する。他の実施形態において、重み編集モジュール２１９は、重みの連続値をフラグメントに割り当てる。いくつかの実施形態において、重み編集モジュール２１９はまた、重み付けを、クラスタ化モジュール２１５により決定されたクラスタに拡張することができる。重みが決定されると、重み編集モジュール２１９は、重みに基づいて、例えば、衝突コストを概要ビデオの作成に関連付けるべきかどうかを決定するためにフラグメントの重みを考慮して、概要ビデオを作成するように、組み立てモジュール２２３に通知する。
【００８５】
いくつかの実施形態において、重み編集モジュール２１９はまた、合成ビデオを生成するときに、フラグメントをスタック又はレイヤ化する（例えば、重みに基づいて、各フラグメントを、異なるスタック順序又はレイヤに割り当てる）。重み編集モジュール２１９は、スタックの一番下に、低い重みを有するフラグメントを配置し、スタックの一番上に、高い重みを有するフラグメントを配置することができる。（時間シフト後の）２つのフラグメントの部分がオーバーラップしている場合、低い方の重みを有するフラグメントに対応するオーバーラップしている部分が、高い方の重みを有するフラグメントからの画像により遮蔽されることになる。いくつかの実施形態において、重み編集モジュール２１９は、動きのレベルに基づいて、フラグメントをスタックする。例えば、重み編集モジュール２１９は、静止しているオブジェクトを、背景のものと同様に扱い、一番下のレイヤに、静止しているオブジェクトを配置することができる。オーバーラップが存在する場合、より低いレイヤにおける静止しているオブジェクトの画像は、より高いレイヤにおける動いているオブジェクトの画像により遮蔽されることになる。
【００８６】
フラグメント又はクラスタを重み付けすることには様々な利点がある。第１に、重みは、フラグメントが受け得る衝突の数を決定する。例えば、静止しているフラグメントが０の重みを有する場合、できるだけ多くの衝突が、衝突コストに重みを乗算することにより、概要生成の際に用いられ得る。したがって、重み編集モジュール２１９は、時間シフトモジュール２１７を参照して上述したように、エネルギー関数のみを使用して衝突コストを決定する代わりに、重みを用いたエネルギー関数を組み入れて衝突コストを決定することを可能にする。重み編集の別の利点は、例えば、動きのレベルに基づいて異なるフラグメントをレイヤ化できることであり、したがって、ぼやけ、コーナーシャープネス等といった点で画質を向上させる。さらに、重み編集は、フラグメントが低い重みを有する場合には、フレームをスキップすることにより、動いていない／ゆっくり動いているオブジェクトのフレームの数を低減させ、それにより、ネットワーク帯域幅及び他のリソースの消費を低減させる。
【００８７】
歪みモジュール２２１は、ビデオの許容アクティビティゾーンを識別することに基づいて空間シフトを決定する機能を提供するためのソフトウェア及び／又はロジックを含み得る。ビデオの概要を生成するときに、歪みモジュール２２１は、ビデオにおける同じ位置で生じる双方向往来によって引き起こされる衝突の数を低減させるために、概要ビデオにおいてフラグメントを配置するための空間的にシフトされた位置を決定する。
【００８８】
これまでのところ、ビデオの同じ空間的位置において生じているフラグメントの多くのクラスタが存在するときには、時間シフトモジュール２１７が、時間の低減を実現するために、時間シフトを決定する。しかしながら、ビデオが、反対方向に動いている異なるオブジェクトも含む場合、時間シフトモジュール２１７により使用される時間シフト方法は、いくかの衝突を回避することができない。そのような場合において、概要の時間を増大させることなく、衝突を効果的に最小化することはできない。すなわち、時間シフト方法は、同じ位置で生じる双方向往来によって引き起こされる衝突問題を完全には解決することができない。
【００８９】
いくつかの実施形態において、歪みモジュール２２１は、時空間フラグメント歪み方法を適用して、衝突の数を最小化することができる。いくつかの実施形態において、歪みモジュール２２１は、ビデオの非顕著部分から、顕著アクティビティのほとんどが生じている領域を識別する。この領域は、許容アクティビティゾーンとも呼ばれる。図１０Ａは、例示的な許容アクティビティゾーンのグラフィカル表現を表している。図１０Ａにおいて、破線ボックス内の領域１００２及び１００４が、許容アクティビティゾーンであり、この領域において、動きのほとんどが、ビデオにおいて生じている。許容アクティビティゾーンが識別されると、歪みモジュール２２１は、時間シフトモジュール２１７と通信して、フラグメントを時間的且つ空間的に歪ませることにより、どれだけの数のフラグメントを同時に重ね合わせることができるかを決定する。すなわち、歪みモジュール２２１は、総衝突コストを低減させるために、フラグメントのいくつかのフレームにおける顕著オブジェクトを所定の量だけ空間的に移動させる。顕著オブジェクトの移動量は、許容アクティビティゾーンと、フラグメントの軌跡全体の滑らかさと、により制限される。いくつかの実施形態において、歪みモジュール２２１は、ユーザ入力に基づいて、許容アクティビティゾーンを決定する。他の実施形態において、歪みモジュール２２１は、全てのフラグメントを同時に考慮する画像プレーン全体におけるアクティビティのレベルを決定することにより自動的に、許容アクティビティゾーンを決定する。
【００９０】
概要ビデオを作成するために、歪みモジュール２２１は、衝突コストが最小であるように、空間的にシフトされた位置においてフラグメントを配置することにより、複数のフラグメントを同時に再生できるかどうかを判定する。空間シフトは、許容アクティビティゾーンにより制限される。ビデオの非顕著部分は変更され得ないので、歪みモジュール２２１は、衝突を低減させるために、フラグメントを歪ませる。歪みモジュール２２１は、非顕著部分のサイズ又は顕著フラグメントのスケールを、不変のままにし、したがって、背景を増大させること又は前景を低減させることに関連していた総計算負荷を低減させる。
【００９１】
図１０Ｂは、許容アクティビティゾーン上での空間的位置シフトのグラフィカル表現を表している。シナリオ１０２０において、歪みモジュール２２１は、バウンディングボックス１０２２により示される許容アクティビティゾーンを識別し、軌跡１０２４と軌跡１０２６との相互作用により示される衝突を検出する。歪みモジュール２２１は、次いで、衝突の数を低減させるために、軌跡１０２６を軌跡１０２８へとシフトさせ、これは、軌跡１０２４と軌跡１０２６との間の相互作用よりも少ない、軌跡１０２４と軌跡１０２８との間の相互作用が存在することを意味する。同様に、別のシナリオ１０３０において、歪みモジュール２２１は、バウンディングボックス１０３２により示される許容アクティビティゾーンを識別し、軌跡１０３４と軌跡１０３６との相互作用として示される衝突を検出する。歪みモジュール２２１は、衝突の数を低減させるために、軌跡１０３６を軌跡１０３８へとシフトさせる。これらのシナリオにおいて、同時に再生されたときの２つのフラグメントは、人が反対方向に移動していることに起因する衝突をもたらし、小さな時間シフトによっては該衝突を回避することができない。しかしながら、破線により示されるように、フラグメントのうちの１つのフラグメントのフレームを空間的にシフトさせることにより、衝突の数が低減される。
【００９２】
図２Ｂに戻ると、組み立てモジュール２２３は、合成ビデオを生成する機能を提供するためのソフトウェア及び／又はロジックを含み得る。いくつかの実施形態において、クエリモジュール２０９は、ユーザ入力に基づいて、ビデオに関するクエリを生成する。クエリは、顕著フラグメント、時間間隔、又は、顕著フラグメントに関連付けられた特性であり得る。クエリに応じて、組み立てモジュール２２３は、クラスタ化モジュール２１５、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１と通信して、顕著フラグメントのセット、ビデオの非顕著部分、時間シフト情報、顕著フラグメントに関連付けられた重み、空間シフト情報等を取得し、時間シフト情報、顕著フラグメントに関連付けられた重み、及び空間シフト情報に基づいて、顕著フラグメントのセット及び非顕著部分を使用して、ビデオの合成ビデオを生成する。いくつかの実施形態において、モジュール２２３、２１５、２１７、２１９、及び２２１は、互いと通信して、ビデオから抽出された複数の顕著フラグメントから、第１のクエリに基づいて顕著フラグメントの第１のセットを取得して、第１の合成ビデオを生成する。これらのモジュールはまた、協働して、顕著フラグメントの第１のセットから、第２のクエリに基づいて顕著フラグメントの第２のセットを取得して、第２の合成ビデオを生成する、等である。このように、合成ビデオの階層が形成される。例えば、第１の人及び第２の人を含む第１の合成ビデオが、第１のクエリに基づいて、顕著フラグメントの第１のセットから生成され、第２の人のみを含み第２の合成ビデオが、第２の人の第２のクエリに応じて、顕著フラグメントの第１のセットから取得された顕著フラグメントの第２のセットに基づいて生成される。
【００９３】
いくつかの実施形態において、組み立てモジュール２２３は、時間シフト情報、顕著フラグメントに関連付けられた重み、及び空間シフト情報に基づいて、ビデオの非顕著部分に顕著フラグメントを重ね合わせて、合成ビデオを生成することができる。組み立てモジュール２２３はまた、再生、共有、又は記憶のために、合成ビデオをユーザに提供するように、ユーザインタフェースエンジン２１３と通信することができる。例示的な合成ビデオからの画像が、原ビデオの画像と比較されるように、図１１Ａ及び図１１Ｂに示されている。
【００９４】
組み立てモジュール２２３は、時間シフト情報、顕著フラグメントに関連付けられた重み、及び空間シフト情報を使用して、例えば、全てのフラグメントの新たな開始時間を決定する目的関数を最適化することにより、合成ビデオの生成を最適化する。いくつかの実施形態において、組み立てモジュール２２３は、０の重みを有するフラグメントが背景とみなされ、他のフラグメントが、増大した値の重みに基づいてビデオ上でレイヤ化されるように、フラグメントの各々に関連付けられた重みに依拠して、フラグメントを順序付ける。他の実施形態において、組み立てモジュール２２３はまた、他のクラスタ内のフラグメントとの衝突を最小化するために、許容アクティビティゾーン内で空間的に歪められる且つ／又は時間シフトされる、クラスタ内のフラグメントを一緒に考慮する。
【００９５】
ビデオの複数の顕著フラグメントが、データベースにおいてインデクシングされて記憶されるので、合成モジュール２１１の他のコンポーネント及びビデオ分解アプリケーション１０３の他のモジュールと通信する組み立てモジュール２２３は、クエリに基づいて、合成ビデオを動的に生成することができる。例えば、ビデオの第１の顕著フラグメントの異なるクエリに応じて、組み立てモジュール２２３は、異なる合成ビデオを生成することができる。なぜならば、第１の顕著フラグメントに関連しデータベースから取得された顕著フラグメントは異なるからである。第１の顕著フラグメントの単一のクエリの場合でも、組み立てモジュール２２３は、分析モジュール２０５により選択された関連顕著フラグメントの異なるセットに基づいて、異なる合成ビデオを生成することができる。例えば、合成ビデオは、クエリに応じて取得されたクラスタごとに生成され得る。別の合成ビデオを提供することにより、本手法は、ビデオの画像をクエリするユーザの意図が不明確である場合でも、ユーザのニーズに適合させる。
【００９６】
組み立てモジュール２２３がクエリに基づいて合成ビデオを動的に生成できることは、特に有効である。長いビデオの時間期間にわたるシーンを要約した短いビデオ要約（例えば、ビデオ概要）を作成する手法が存在する。例えば、これらの手法は、１時間のビデオについて、異なる時間長を有するビデオ概要（例えば、２分のビデオ概要、１０分のビデオ概要）を生成し、ユーザクエリに応じて、所定の長さを有するビデオ概要をユーザに返し得る。しかしながら、そのような手法は、本開示において説明されたように結果を生成する前ではなく、結果を生成した後にインデックスを構築し得るに過ぎず、例えば、これらの手法は、クエリ結果を生成するために使用される画像の諸部分ではなく、クエリ結果（例えば、ビデオ概要）をインデクシングして記憶する。したがって、異なる時間長を有する複数のビデオ概要が、生成され、インデクシングされ、データベースに記憶されており、ユーザが、所定の長さを有するビデオ概要についてクエリする場合、これらの手法は、インデックスに基づいてデータベースを検索し、所定の長さを有するビデオ概要をユーザに返すことになる。これらの既存の手法は、所定の時間長に基づいて、同じビデオ概要をユーザに常に提供し、これは動的でない。対照的に、本開示において説明された手法は、よりフレキシブルであり、より効率的であり、ユーザのニーズにより適合する。
【００９７】
図１１Ａ及び図１１Ｂは、原ビデオの画像と原ビデオに基づいて合成された合成ビデオの画像との間の比較のグラフィカル表現を表している。上述したように、図６に示されるフラグメント３１の画像６０２のクエリに応じて、分析モジュール２０５は、フラグメント３１に関連する顕著フラグメントのセットを決定し、合成ビデオを生成するために、顕著フラグメントのセットを合成モジュール２１１に送信する。分析モジュール２０５により全ての顕著フラグメントから選択された顕著フラグメントのセットは、図７及び図８に示されるフラグメント２６、２８、３０、３１、３２、及び３３を含む。ビデオのこれらの顕著フラグメント及び非顕著部分に基づいて合成モジュール２１１により生成された結果の合成ビデオが、図１１Ａ及び図１１Ｂに示されている。
【００９８】
図１１Ａ及び図１１Ｂにおいて、上側部分に示される画像１１０２、１１０４、１１０６、１１０８、及び１１１０は、原監視ビデオから取得されたものであるのに対し、下側部分に示される画像１１０２ａ、１１０４ａ、１１０６ａ、１１０８ａ、及び１１１０ａは、上記監視ビデオに基づいて合成された合成ビデオから取得されたものである。例えば、１１０２と１１０２ａ、１１０４と１１０４ａ、１１０６と１１０６ａ、１１０８と１１０８ａ、及び、１１１０と１１１０ａといった各画像ペアは、原ビデオと合成ビデオとの間の差異を比較できるように、同じ時間において取得されたものである。また、画像１１０２〜１１１０及び画像１１０２ａ〜１１１０ａは、時系列に並べられている。
【００９９】
図１１Ａにおいて、画像１１０２と画像１１０２ａとの比較は、原ビデオの後方において立っている人が、合成ビデオから除去されていることを示している。この人は、フラグメント２６の通行している２人の人から離れた位置にいることを理由として、除去される。したがって、分析モジュール２０５は、フラグメント３１に関連する顕著フラグメントのセットから、この人の顕著フラグメントを除外する。この人の顕著フラグメントがないので、合成モジュール２１１により生成された合成ビデオは、この人を含まない。同様に、図１１Ｂにおいて、原ビデオの画像１１０６、１１０８、及び１１１０内の人は、合成ビデオの画像１１０６ａ、１１０８ａ、及び１１１０ａ内に存在しない。しかしながら、原ビデオにおいて、フラグメント３０、３１、及び３０の、バッグを所持している女性と、フラグメント２８、３１、及び３２の、杖を持っている男性と、は、合成ビデオの画像に依然として含まれている。なぜならば、分析モジュール２０５は、時空間のオーバーラップに基づいて、女性、男性を含むフラグメント２８、３０、３１、３２、及び３３が関連すると決定したからである。原ビデオと比較すると、合成ビデオは、後方における人に関する関連しない情報を無視し、ユーザにとって関心のある女性及び男性に関する情報のみを含む。したがって、合成ビデオを使用することは、原監視ビデオの全ての構成要素を見る、時間がかかり退屈なタスクから、且つ／又は、ビデオにおけるさらなる要素により気が逸らされることから、ユーザを助け、効率性及び正確性を向上させる。図１１Ａ及び図１１Ｂにおける合成ビデオの生成は、１つの方法において、特定の順序の方法ステップで説明されたに過ぎないことが、当業者であれば認識されよう。合成ビデオを生成するための他の方法及び／又は合成ビデオを生成するための方法のステップを実行する他の順序が存在する。例が、図１３Ａ〜図１３Ｄを参照して、以下で説明される。
【０１００】
図２Ｂに戻ると、ユーザインタフェースエンジン２１３は、例えばディスプレイデバイス２３９を介して、ユーザインタフェースをユーザに提供するためのソフトウェア及び／又はロジックを含み得る。いくつかの実施形態において、ユーザインタフェースエンジン２１３は、ユーザが、ビデオの複数の顕著フラグメントを受け取り、ユーザが関心のある、複数の顕著フラグメントのうちの１つの顕著フラグメントのフレームの選択を送ることを可能にするユーザインタフェースを生成する。他の実施形態において、ユーザインタフェースエンジン２１３は、合成モジュール２１１から命令を受信し、ディスプレイデバイス２３９上に合成ビデオを表示させるグラフィカルユーザインタフェースデータを、通信ユニット２４１を介してクライアントデバイス１１５に送信する。いくつかの他の実施形態において、ユーザインタフェースエンジン２１３は、分析モジュール２０５と通信して、ビデオの選択された顕著フラグメントのセットを接続した接続グラフを含むユーザインタフェースを生成し、ユーザに表示するために、このユーザインタフェースをクライアントデバイス１１５に送信する。
【０１０１】
図１２は、ビデオを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するための方法１２００の一実施形態を示すフロー図を表している。上述したように、ビデオ分解アプリケーション１０３は、非顕著性モジュール２０１、顕著性モジュール２０３、分析モジュール２０５、インデクサ２０７、クエリモジュール２０９、及び合成モジュール２１１を含み得る。１２０２において、非顕著性モジュール２０１は、ビデオの非顕著部分を抽出する。１２０４において、顕著性モジュール２０３は、ビデオの複数の顕著フラグメントを抽出する。１２０６において、インデクサ２０７は、複数の顕著フラグメントのデータベースを構築する。１２０８において、合成モジュール２１１は、クエリを受信する。１２１０において、合成モジュール２１１は、分析モジュール２０５及びクエリモジュール２０９と通信して、複数の顕著フラグメントのデータベースから、クエリに基づいて、顕著フラグメントのセットを取得する。１２１２において、合成モジュール２１１は、ビデオの非顕著部分及び顕著フラグメントのセットに基づいて、合成ビデオを合成する。
【０１０２】
図１３Ａ〜図１３Ｄは、ビデオを、合成ビデオを合成するために使用される顕著フラグメントへと分解するための方法の実施形態を示すフロー図を表している。各図は、非顕著性モジュール２０１、顕著性モジュール２０３、分析モジュール２０５、インデクサ２０７、クエリモジュール２０９、及び合成モジュール２１１を含むビデオ分解アプリケーション１０３により実行される方法の変形形態を表している。
【０１０３】
図１３Ａは、方法１３００を表している。１３０２において、非顕著性モジュール２０１は、ビデオの非顕著部分を検出する。１３０４において、顕著性モジュール２０３は、ビデオの顕著オブジェクトの顕著部分を検出する。１３０６において、顕著性モジュール２０３は、関連顕著部分を結合して、顕著フラグメントを生成する。１３０８において、インデクサ２０７は、顕著フラグメントのデータベースを作成／更新する。１３１０において、クエリモジュール２０９は、データベースから、クエリに関連する顕著フラグメントを取得する。１３１２において、分析モジュール２０５は、取得された顕著フラグメントを使用して、接続グラフを生成する。１３１４において、合成モジュール２１１は、接続グラフにおける、クエリに関連する顕著フラグメントに基づいて、合成ビデオを合成する。
【０１０４】
方法１３００を使用すると、クエリモジュール２０９が、データベースから、クエリのオーバーラップしている時間間隔に基づく、クエリに関連するフラグメントと、全ての関連付けられたフラグメントと、を取得する。クエリモジュール２０９はまた、クエリに直接的にオーバーラップしているフラグメントを識別し、識別したフラグメントとオーバーラップしているフラグメントを取得することができる。取得されたフラグメントに応じて、分析モジュール２０５は、接続グラフを生成する。合成モジュール２１１は、接続グラフにおける全ての接続されているフラグメントを使用し、取得されたフラグメントの残りを無視して、合成ビデオを得る。
【０１０５】
図１３Ｂは、方法１３２０を表している。１３２２において、非顕著性モジュール２０１は、ビデオの非顕著部分を検出する。１３２４において、顕著性モジュール２０３は、ビデオの顕著オブジェクトの顕著部分を検出する。１３２６において、顕著性モジュール２０３は、関連顕著部分を結合して、顕著フラグメントを生成する。１３２８において、分析モジュール２０５は、顕著フラグメントの接続グラフを生成する。１３３０において、インデクサ２０７は、顕著フラグメントのデータベースを作成／更新する。１３３２において、クエリモジュール２０９は、分析モジュール２０５と通信して、データベースから、クエリに関連する顕著フラグメントを取得する。１３３４において、合成モジュール２１１は、取得された顕著フラグメントに基づいて、合成ビデオを合成する。
【０１０６】
方法１３２０に基づくと、分析モジュール２０５が、まず、顕著フラグメントの接続グラフを生成し、インデクサ２０７が、グラフ接続情報に基づいて、データベースを更新する。クエリ（例えば、顕著フラグメント）を受信すると、合成モジュール２１１は、接続グラフにおいてクエリフラグメントに接続されているフラグメントを取得し、取得したフラグメントを使用して、合成ビデオを生成する。
【０１０７】
図１３Ｃは、方法１３４０を表している。１３４２において、非顕著性モジュール２０１は、ビデオの非顕著部分を検出する。１３４４において、顕著性モジュール２０３は、ビデオの顕著オブジェクトの顕著部分を検出する。１３４６において、顕著性モジュール２０３は、関連顕著部分を結合して、顕著フラグメントを生成する。１３４８において、分析モジュール２０５は、顕著フラグメントの接続グラフを生成する。１３５０において、インデクサ２０７は、接続グラフに基づいて、顕著フラグメントのデータベースを作成／更新する。１３５２において、分析モジュール２０５に含まれるクラスタ化モジュール２１５は、グラフ接続に基づいて、顕著フラグメントをクラスタ化する。１３５４において、クエリモジュール２０９は、分析モジュール２０５と通信して、データベースから、クエリに関連する顕著フラグメントを取得する。１３５６において、合成モジュール２１１は、取得された顕著フラグメントを含むクラスタを時間シフトすることにより、合成ビデオを合成する。
【０１０８】
方法１３４０に基づくと、分析モジュール２０５が、まず、顕著フラグメントの接続グラフを生成する。クエリ（例えば、時間間隔）を受信すると、クエリモジュール２０９は、分析モジュール２０５と通信して、グラフ接続情報とともに、所与の時間間隔内のフラグメントを取得する。次いで、分析モジュール２０５は、取得されたグラフ及びクラスタについてのサブグラフを再組み立てする。合成モジュール２１１は、このクラスタ化されたフラグメントのセットを使用して、合成ビデオを生成する。
【０１０９】
図１３Ｄは、方法１３６０を表している。１３６２において、非顕著性モジュール２０１は、ビデオの非顕著部分を検出する。１３６４において、顕著性モジュール２０３は、ビデオの顕著オブジェクトの顕著部分を検出する。１３６６において、顕著性モジュール２０３は、関連顕著部分を結合して、顕著フラグメントを生成する。１３６８において、分析モジュール２０５は、顕著フラグメントの接続グラフを生成する。１３７０において、分析モジュール２０５に含まれるクラスタ化モジュール２１５は、グラフ接続に基づいて、顕著フラグメントをクラスタ化する。１３７２において、インデクサ２０７は、顕著フラグメントのデータベースを作成／更新する。１３７４において、クエリモジュール２０９は、分析モジュール２０５と通信して、データベースから、クエリに関連する顕著フラグメントを取得する。１３７６において、合成モジュール２１１は、取得された顕著フラグメントを含むクラスタを時間シフトすることにより、合成ビデオを合成する。
【０１１０】
方法１３６０に基づくと、分析モジュール２０５が、まず、顕著フラグメントの接続グラフを生成する。インデクサ２０７は、グラフ接続情報及びクラスタ化情報を使用して、データベースを更新する。クエリ（例えば、時間間隔）を受信すると、クエリモジュール２０９は、分析モジュール２０５と通信して、グラフ接続情報及びクラスタ化情報とともに、所与の時間間隔内のフラグメントを取得する。合成モジュール２１１は、次いで、取得されたフラグメント及びクラスタ化情報を使用して、合成ビデオを生成する。
【０１１１】
図１４Ａ及び図１４Ｂは、合成ビデオを合成するための方法の実施形態を示すフロー図を表している。この方法は、クラスタ化モジュール２１５、時間シフトモジュール２１７、重み編集モジュール２１９、歪みモジュール２２１、及び組み立てモジュール２２３を含む合成モジュール２１１により実行される。
【０１１２】
図１４Ａは、方法１４００を表している。１４０２において、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１は、ビデオから決定された顕著フラグメント及びクラスタを受信する。１４０４において、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１は、ビデオの非顕著部分を受信する。１４０６において、重み編集モジュール２１９は、アクティビティの量に基づいて、受信したフラグメント及びクラスタの各々に関連付けられる重みを決定する。１４０８において、歪みモジュール２２１は、受信したフラグメント及びクラスタ、並びに受信したビデオの非顕著部分に基づいて、許容アクティビティゾーンを決定する。１４１０において、時間シフトモジュール２１７及び歪みモジュール２２１は、各フラグメント及びクラスタに適用される時空間歪みを決定する。１４１２において、組み立てモジュール２２３は、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１と通信して、重み付き編集を用いて概要ビデオを合成する。
【０１１３】
図１４Ａにおける方法１４００は、ビデオ概要がどのように作成されるかの一実施形態を表している。合成モジュール２１１は、フラグメント／クラスタを受信し、原ビデオの非顕著部分も受信する。これらを受信すると、合成モジュール２１１は、まず、クラスタ及び／又は個々のフラグメントの各々の重みを決定し、フラグメント及び非顕著入力を使用して、許容アクティビティゾーンを決定する。合成モジュール２１１は、次いで、この入力を使用して、各クラスタ又はフラグメントが受ける時間シフト及び空間シフトの両方を決定する。合成モジュール２１１は、重み付け情報を使用して、最終的な概要を決定する。
【０１１４】
図１４Ｂは、方法１４５０を表している。１４５２において、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１は、ビデオから決定された顕著フラグメント及びクラスタを受信する。１４５４において、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１は、ビデオの非顕著部分を受信する。１４５６において、重み編集モジュール２１９は、アクティビティの量に基づいて、受信したフラグメント及びクラスタの各々に関連付けられる重みを決定する。１４５８において、歪みモジュール２２１は、ユーザ入力に基づいて、許容アクティビティゾーンを決定する。１４６０において、時間シフトモジュール２１７及び歪みモジュール２２１は、各フラグメント及びクラスタに適用される時空間歪みを決定する。１４６２において、組み立てモジュール２２３は、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１と通信して、重み付き編集を用いて概要ビデオを合成する。
【０１１５】
図１４Ｂにおける方法１４５０も、ビデオ概要がどのように作成されるかを表している。合成モジュール２１１は、フラグメントを受信し、原ビデオの非顕著部分も受信する。これらを受信すると、合成モジュール２１１は、まず、クラスタ及び／又は個々のフラグメントの各々の重みを決定する。合成モジュール２１１は、次いで、この入力とともに、ユーザにより与えられた許容アクティビティゾーンを使用して、各クラスタ又はフラグメントが受ける時間シフト及び空間シフトの両方を決定する。合成モジュール２１１は、重み付け情報を使用して、最終的な概要を作成する。
【０１１６】
図１５Ａ及び図１５Ｂは、ビデオを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するための方法の別の実施形態を示すフロー図を表している。上述したように、ビデオ分解アプリケーション１０３は、非顕著性モジュール２０１、顕著性モジュール２０３、分析モジュール２０５、インデクサ２０７、クエリモジュール２０９、及び合成モジュール２１１を含み得る。合成モジュール２１１は、クラスタ化モジュール２１５、時間シフトモジュール２１７、重み編集モジュール２１９、歪みモジュール２２１、及び組み立てモジュール２２３を含む。
【０１１７】
図１５Ａは、ビデオの分解に基づいて、ビデオの顕著フラグメントのデータベースをどのように作成するかの一実施形態を表している。１５０２において、非顕著性モジュール２０１は、ビデオの非顕著部分を抽出する。１５０４において、顕著性モジュール２０３は、ビデオの顕著オブジェクトの顕著部分を検出する。１５０６において、顕著性モジュール２０３は、関連顕著部分を結合して、顕著フラグメントを生成する。１５０８において、重み編集モジュール２１９は、顕著フラグメントにおけるアクティビティに基づいて、重みを顕著フラグメントに関連付ける。１５１０において、インデクサ２０７は、顕著フラグメントに関連付けられたグラフ接続情報及びクラスタ化情報を使用して、顕著フラグメントのデータベースを作成／更新する。図１５Ａにおいて、フラグメントのついての重みは、データベースを更新する前に決定される。
【０１１８】
図１５Ｂは、図１５Ａにおいて収集された情報に基づいて、概要ビデオをどのように生成するかを表している。１５１２において、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１は、データベースから、クエリに関連する顕著フラグメント及びクラスタとともに重みを取得する。１５１４において、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１は、ビデオの非顕著部分を受信する。１５１６において、歪みモジュール２２１は、ビデオの非顕著部分に基づいて、許容アクティビティゾーンを決定する。１５１８において、時間シフトモジュール２１７及び歪みモジュール２２１は、各フラグメント及びクラスタに適用される時空間歪みを決定する。１５２０において、組み立てモジュール２２３は、時間シフトモジュール２１７、重み編集モジュール２１９、及び歪みモジュール２２１と通信して、重み付き編集を用いて概要ビデオを合成する。
【０１１９】
ビデオを顕著フラグメントへと分解し、顕著フラグメントに基づいて合成ビデオを合成するためのシステム及び方法が説明された。上記記載では、説明の目的で、多数の具体的な詳細が、上記で紹介された技術の完全な理解を提供するために記載されている。しかしながら、これらの具体的な詳細なくとも、本技術を実施できることが、当業者には明らかであろう。他の例において、説明を曖昧にしないようにするために、且つ、理解のしやすさのために、構造及びデバイスが、ブロック図の形態で示されている。例えば、本技術は、一実施形態において、ソフトウェア及び特定のハードウェアに関連して、上記では主に説明されている。しかしながら、本発明は、データ及びコマンドを受信し、サービスを提供する任意の周辺デバイスの一部として情報を提示することができる任意のタイプのコンピューティングシステムに適用可能である。
【０１２０】
本明細書における「一実施形態」又は「ある実施形態」との言及は、その実施形態に関連して説明されている特定の特徴、構造、又は特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な箇所における「一実施形態において」という語句の出現は、必ずしも全てが同じ実施形態を指しているとは限らない。
【０１２１】
上述した詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに関する動作のアルゴリズム及び記号表現の観点で提示されている。これらのアルゴリズム的説明及び表現は、いくつかの状況において、データ処理分野の当業者により、該当業者の作業の内容を他の当業者に伝えるために使用される。アルゴリズムは、ここで、概して、所望の結果をもたらすステップのセルフコンシステントシーケンスと考えられる。これらのステップは、物理量の物理的操作を必要とするものである。通常、これらの量は、記憶される、伝送される、組み合わされる、比較される、及び他の形で操作されることが可能な電気信号又は磁気信号の形をとるが、必ずしもそうであるとは限らない。これらの信号を、ビット、値、要素、記号、文字、用語、数等と呼ぶことは、主に一般的な使用のために、時として都合がよいことが分かっている。
【０１２２】
しかしながら、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的に過ぎないラベルであることに留意されたい。以下の説明から明らかなように別途具体的に記されない限り、本説明を通じて、「処理する」、「算出する」、「計算する」、「決定する」、「表示する」等といった用語を用いた記述は、コンピュータシステムのレジスタ及びメモリ内の物理（電子）量として表されるデータを、コンピュータシステムメモリ若しくはレジスタ又は他のそのような情報記憶、伝送、若しくはディスプレイデバイス内の物理量として同様に表されるデータへと操作及び変換するコンピュータシステム又は同様の電子コンピューティングデバイスの動作及びプロセスを指すことが理解されよう。
【０１２３】
本技術はまた、本開示における動作を実行する装置に関する。この装置は、必要な目的のために特別に構成されてもよいし、コンピュータに記憶されているコンピュータプログラムにより選択的にアクティブ化又は再構成される汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、以下の各々がコンピュータシステムバスに接続される、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、及び磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、光カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、又は、電子命令を記憶するのに適した任意のタイプの媒体等であるがこれらに限定されるものではないコンピュータ読み取り可能な記憶媒体に記憶され得る。
【０１２４】
いくつかの実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素との両方を含む実施形態の形をとることができる。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されるものではないソフトウェアにより実装される。
【０１２５】
さらに、いくつかの実施形態は、コンピュータ又は任意の命令実行システムにより使用されるプログラムコード又はコンピュータ又は任意の命令実行システムに関連するプログラムコードを提供するコンピュータ使用可能な又はコンピュータ読み取り可能な媒体からアクセス可能なコンピュータプログラム製品の形をとることができる。本説明の目的では、コンピュータ使用可能な又はコンピュータ読み取り可能な媒体は、命令実行システム、装置、又はデバイスにより使用されるプログラム又は命令実行システム、装置、又はデバイスに関連するプログラムを含有、記憶、通信、伝搬、又は伝送することができる任意の装置とすることができる。
【０１２６】
プログラムコードを記憶及び／又は実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的又は間接的に接続される少なくとも１つのプロセッサを含み得る。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリ、バルクストレージ、及び、コードが実行中にバルクストレージから取り出されなければならない回数を低減させるために少なくともいくつかのプログラムコードの一時的な記憶を提供するキャッシュメモリを含み得る。
【０１２７】
入力／出力（Ｉ／Ｏ）デバイス（キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されるものではない）が、システムに、直接的に又は介在するＩ／Ｏコントローラを介して、接続され得る。
【０１２８】
データ処理システムが、介在するプライベートネットワーク又はパブリックネットワークを介して、他のデータ処理システム若しくはリモートプリンタ又は記憶デバイスに接続されるようになることを可能にするために、ネットワークアダプタも、システムに接続され得る。モデム、ケーブルモデム、及びイーサネット（登録商標）カードが、現在利用可能なタイプのネットワークアダプタのうちのほんの少しである。
【０１２９】
最後に、本開示において提示されているアルゴリズム及びディスプレイは、特定のコンピュータ又は他の装置に固有的に関連するものではない。様々な汎用システムが、本出願における教示に従ったプログラムとともに使用されてもよいし、あるいは、より特殊化された装置を構築して必要な方法ステップを実行することが好都合であることがわかるかもしれない。様々なこれらのシステムに必要な構造が、以下の説明から明らかになるであろう。加えて、本技術は、特定のプログラミング言語を参照して説明されてはいない。様々なプログラミング言語が、本明細書において説明された様々な実施形態の教示を実施するために使用されてよいことが、理解されよう。
【０１３０】
実施形態の上記の記載は、例示及び説明を目的として提示されている。排他的であること、又は、本明細書を、開示された詳細な形態に限定することは、意図されていない。上記の教示に鑑みれば、多くの変更及び変形が可能である。実施形態の範囲は、この詳細な説明により限定されるのではなく、本出願の請求項により限定されることが、意図されている。当業者に理解されるように、例は、その趣旨及び本質的特徴から逸脱することなく、他の具体的な形態で具現化されてもよい。同様に、モジュール、ルーチン、機能、属性、方法、及び他の態様の具体的な名称及び分け方は、必須でも重要でもなく、本説明を実施する機構やその機能の名称、分け方、及び／又はフォーマットは異なるものであってもよい。さらに、当業者には明らかなように、本明細書のモジュール、ルーチン、機能、属性、方法、及び他の態様は、ソフトウェア、ハードウェア、ファームウェア、又はこれらの３つの任意の組合せとして実装されてよい。また、本明細書のコンポーネント（一例としてモジュール）が、ソフトウェアとして実装される場合、そのコンポーネントは、スタンドアロンプログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的又は動的にリンクされるライブラリとして、カーネルロード可能モジュールとして、デバイスドライバとして、且つ／又は、コンピュータプログラミング分野の当業者が現在又は将来知り得るありとあらゆる方法で、実装されてよい。さらに、本明細書は、特定のプログラミング言語による実施形態、又は、特定のオペレーティングシステム又は環境用の実施形態に決して限定されるものではない。したがって、本開示は、本明細書の範囲を例示することを意図しており、限定することを意図してはおらず、その範囲は、請求項に記載される。
【符号の説明】
【０１３１】
１００  システム
１０１  サーバ
１０３  ビデオ分解アプリケーション
１０５  ネットワーク
１０７  キャプチャデバイス
１０９  データリポジトリ
１１５  クライアントデバイス
２００  コンピューティングデバイス
１０３  ビデオ分解アプリケーション
２０１  非顕著性モジュール
２０３  顕著性モジュール
２０５  分析モジュール
２０７  インデクサ
２０９  クエリモジュール
２１１  合成モジュール
２１３  ユーザインタフェースエンジン
２１５  クラスタ化モジュール
２１７  時間シフトモジュール
２１９  重み編集モジュール
２２１  歪みモジュール
２２３  組み立てモジュール
２３５  プロセッサ
２３７  メモリ
２３９  ディスプレイデバイス
２４１  通信ユニット
２４３  データストレージ
【図１】
2018147478.tif 000003
【図２Ａ】
2018147478.tif 000004
【図２Ｂ】
2018147478.tif 000005
【図３Ａ】
2018147478.tif 000006
【図３Ｂ】
2018147478.tif 000007
【図３Ｃ】
2018147478.tif 000008
【図４】
2018147478.tif 000009
【図５】
2018147478.tif 000010
【図６】
2018147478.tif 000011
【図７】
2018147478.tif 000012
【図８】
2018147478.tif 000013
【図９Ａ】
2018147478.tif 000014
【図９Ｂ】
2018147478.tif 000015
【図１０Ａ】
2018147478.tif 000016
【図１０Ｂ】
2018147478.tif 000017
【図１１Ａ】
2018147478.tif 000018
【図１１Ｂ】
2018147478.tif 000019
【図１２】
2018147478.tif 000020
【図１３Ａ】
2018147478.tif 000021
【図１３Ｂ】
2018147478.tif 000022
【図１３Ｃ】
2018147478.tif 000023
【図１３Ｄ】
2018147478.tif 000024
【図１４Ａ】
2018147478.tif 000025
【図１４Ｂ】
2018147478.tif 000026
【図１５Ａ】
2018147478.tif 000027
【図１５Ｂ】
2018147478.tif 000028