(57)【特許請求の範囲】
【請求項１】
ビデオファイルをデコードして、ビデオフレーム及び該ビデオフレームに関連付けられたオーディオデータを取得することと、
前記ビデオフレーム及び前記ビデオフレームに関連付けられた前記オーディオデータの２つ以上の高レベルの特徴と、前記ビデオフレームの低レベルの特徴とを、局所的ルール及び大局的ルールのうち少なくとも１つに基づいて解析して、前記ビデオフレームの２つ以上の特徴スコアを取得することであって、前記２つ以上の高レベルの特徴は、前記ビデオフレーム内の人間の顔の動き又は位置に関連する少なくとも１つの特徴と、前記オーディオデータが、雑音を含むか、発話を含むか又は音楽を含むかと、を含み、前記低レベルの特徴は、露出品質、彩度品質、色相多様性、ビデオフレームの揺れ、平均明度、色エントロピー、及び隣接するビデオフレーム間におけるヒストグラム差のうち少なくとも１つを含む、ことと、
前記ビデオフレームの前記２つ以上の特徴スコアを組み合わせて、前記ビデオフレームのフレーム重要度スコアを導出することと、
前記ビデオファイルを、前記ビデオフレームの前記フレーム重要度スコアと前記ビデオファイルのさらなるビデオフレームの他フレーム重要度スコアとに少なくとも基づいて、異なるセクション重要度値のビデオセクションに区分することと、
を含む動作をプロセッサに実行させるプログラム。
【請求項２】
前記動作は、前記セクション重要度値に従って前記ビデオセクションをランク付けすること、をさらに含む、請求項１に記載のプログラム。
【請求項３】
前記動作は、
前記ビデオファイル内のすべてのビデオフレームの前記フレーム重要度スコアに少なくとも基づいて前記ビデオファイルのビデオ重要度値を算出することと、
前記ビデオファイルの前記ビデオ重要度値とさらなるビデオファイルの他ビデオ重要度値とに少なくとも基づいて、前記さらなるビデオファイルに対して前記ビデオファイルをランク付けすることと、
をさらに含む、請求項１に記載のプログラム。
【請求項４】
前記解析することは、
前記ビデオフレームに対して顔検出を実行して１つ以上の人間の顔を検出することと、
顔追跡を実行して前記１つ以上の人間の顔を追跡することと、
前記ビデオフレーム内の少なくとも１つの人間の顔の顔サイズ、顔位置、又は１つ以上の顔面特徴に少なくとも基づいて、前記ビデオフレームに否定的スコアバイアス又は肯定的スコアバイアスを割り当てることであって、前記１つ以上の顔面特徴は、前記少なくとも１つの人間の顔内の笑み及び開いた目のうち少なくとも１つの、欠如又は存在を含む、ことと、
前記１つ以上の人間の顔のうち少なくとも１つの人間の顔に対して、顔認識及び顔グループ化のうち少なくとも１つを実行することと、
顔認識データ及び顔グループ化データのうち少なくとも１つに少なくとも基づいて１以上の主要人物を識別することと、
前記ビデオフレーム内における主要人物の存在に対して、前記ビデオフレームにさらなる肯定的スコアバイアスを割り当てることと、
前記否定的スコアバイアスと前記肯定的スコアバイアスとについて考慮する前記ビデオフレームの顔重要度スコアを計算することと、
を含む、請求項１に記載のプログラム。
【請求項５】
ビデオファイルをデコードして、ビデオフレーム及び該ビデオフレームに関連付けられたオーディオデータを取得することと、
前記ビデオフレーム及び前記ビデオフレームに関連付けられた前記オーディオデータの２つ以上の高レベルの特徴と、前記ビデオフレームの低レベルの特徴とを、局所的ルール及び大局的ルールのうち少なくとも１つに基づいて解析して、前記ビデオフレームの２つ以上の特徴スコアを取得することであって、前記２つ以上の高レベルの特徴は、前記ビデオフレーム内の人間の顔の動き又は位置に関連する少なくとも１つの特徴と、前記オーディオデータが、雑音を含むか、発話を含むか又は音楽を含むかと、を含み、前記低レベルの特徴は、露出品質、彩度品質、色相多様性、ビデオフレームの揺れ、平均明度、色エントロピー、及び隣接するビデオフレーム間におけるヒストグラム差のうち少なくとも１つを含む、ことと、
前記ビデオフレームの前記２つ以上の特徴スコアを組み合わせて、前記ビデオフレームのフレーム重要度スコアを導出することと、
前記ビデオファイルのビデオ重要度値を、前記ビデオフレームの前記フレーム重要度スコアと前記ビデオファイルのさらなるビデオフレームの他フレーム重要度スコアとに少なくとも基づいて算出することと、
前記ビデオファイルを、前記ビデオファイル内の複数のビデオフレームに関連付けられた、前記ビデオファイル内の複数のビデオフレームの前記フレーム重要度スコアに少なくとも基づいて、異なるセクション重要度のビデオセクションに区分することと、
前記ビデオファイルの前記ビデオ重要度値とさらなるビデオファイルの他ビデオ重要度値とに少なくとも基づいて、前記さらなるビデオファイルに対して前記ビデオファイルをランク付けすることと、
を含む、コンピュータにより実施される方法。
【請求項６】
前記ビデオファイルを区分することは、
前記ビデオファイルの前記ビデオフレーム内の特徴点を、前記ビデオフレームの複数のダウンサンプリングされた画像間における共通点を検出することによって、検出することと、
前記ビデオフレーム内の前記特徴点を、前記ビデオファイルの前のビデオフレーム内の特徴点のさらなるセットに対してマッチさせることと、
前記ビデオフレーム間における前記特徴点の動きを説明するホモグラフィ変換マトリクスを算出することと、
前記ホモグラフィ変換マトリクスから前記ビデオフレームのモーションデータを計算することであって、前記モーションデータは、前記特徴点の動きのズーミング及び垂直並進成分の大きさ及び方向を含む、ことと、
前記ビデオフレームの前記モーションデータを、前記ビデオファイル内の１つ以上の残りのフレームのモーションデータと組み合わせることと、
前記ビデオファイル内の前記ビデオフレームの前記モーションデータの移動平均を算出することと、
ゼロ交差ゾーンを確認して、前記移動平均に少なくとも基づいて前記モーションデータの局所的ピーク及び谷情報を見つけることと、
前記ビデオファイルのビデオセクションを、前記モーションデータの前記局所的ピーク及び前記谷情報に少なくとも基づいて決定することと、
を含む、請求項５に記載のコンピュータにより実施される方法。
【請求項７】
前記解析することは、
ビデオフレームに対して顔検出を実行して１つ以上の人間の顔を検出することと、
顔追跡を実行して前記１つ以上の人間の顔を追跡することと、
前記ビデオフレーム内の少なくとも１つの人間の顔の顔サイズ、顔位置、又は１つ以上の顔面特徴に少なくとも基づいて、前記ビデオフレームに否定的スコアバイアス又は肯定的スコアバイアスを割り当てることであって、前記１つ以上の顔面特徴は、前記少なくとも１つの人間の顔内の笑み及び開いた目のうち少なくとも１つの、欠如又は存在を含む、ことと、
前記１つ以上の人間の顔のうち少なくとも１つの人間の顔に対して、顔認識及び顔グループ化のうち少なくとも１つを実行することと、
顔認識データ及び顔グループ化データのうち少なくとも１つに少なくとも基づいて１以上の主要人物を識別することと、
前記ビデオフレーム内における主要人物の存在に対して、前記ビデオフレームに肯定的スコアバイアスを割り当てることと、
前記否定的スコアバイアスと前記肯定的スコアバイアスとについて考慮する前記ビデオフレームの顔重要度スコアを計算することと、
を含む、請求項５に記載のコンピュータにより実施される方法。
【請求項８】
システムであって、
１つ以上のプロセッサと、
複数の動作を実行するように前記１つ以上のプロセッサにより実行可能である複数のコンピュータ実行可能コンポーネントを含むメモリと、
を含み、前記複数の動作は、
ビデオファイルをデコードして、ビデオフレーム及び該ビデオフレームに関連付けられたオーディオデータを取得することと、
前記ビデオフレーム及び前記ビデオフレームに関連付けられた前記オーディオデータの２つ以上の高レベルの特徴と、前記ビデオフレームの低レベルの特徴とを、局所的ルール及び大局的ルールのうち少なくとも１つに基づいて解析して、前記ビデオフレームの２つ以上の特徴スコアを取得することであって、前記２つ以上の高レベルの特徴は、前記ビデオフレーム内の人間の顔の動き又は位置に関連する少なくとも１つの特徴と、前記オーディオデータが、雑音を含むか、発話を含むか又は音楽を含むかと、を含み、前記低レベルの特徴は、露出品質、彩度品質、色相多様性、ビデオフレームの揺れ、平均明度、色エントロピー、及び隣接するビデオフレーム間におけるヒストグラム差のうち少なくとも１つを含む、ことと、
前記ビデオフレームの前記２つ以上の特徴スコアを組み合わせて、前記ビデオフレームのフレーム重要度スコアを導出することと、
前記ビデオファイルを、前記ビデオファイル内の複数のビデオフレームに関連付けられた、前記ビデオファイル内の複数のビデオフレームの前記フレーム重要度スコアに少なくとも基づいて、異なるセクション重要度のビデオセクションに区分することと、
前記ビデオフレームと前記ビデオファイル内のさらなるビデオフレームとの前記フレーム重要度スコアに少なくとも基づいて算出された、前記ビデオセクションのセクション重要度値に従って、前記ビデオセクションをランク付けすることと、
を含む、システム。
【請求項９】
前記複数の動作は、
前記ビデオファイル内の前記複数のビデオフレームの前記フレーム重要度スコアに少なくとも基づいて、前記ビデオファイルのビデオ重要度値を算出することと、
前記ビデオファイルの前記ビデオ重要度値とさらなるビデオファイルの他ビデオ重要度値とに少なくとも基づいて、前記さらなるビデオファイルに対して前記ビデオファイルをランク付けすることと、
をさらに含む、請求項８に記載のシステム。
【請求項１０】
請求項１乃至４いずれか一項に記載のプログラムを記憶している記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
消費者は、自身のスマートフォン及びパーソナルビデオレコーダを用いて、ビデオをしばしば捕捉する。しかしながら、これら消費者のうち小さいパーセンテージのみが、自身のビデオを編集し、他の人々と共有する。さらに、ビデオが、多くの計画なしに思いつきで一般に撮影され、ごくわずかの興味深い瞬間を含み得るとき、消費者は、こうしたビデオの編集を退屈なプロセスであると思うことがある。時間とともに、より多くのビデオが消費者によって生成されるとき、この消費者は、ビデオの内容を思い出すのに困難を感じることもある。大抵のビデオ再生装置が、ビデオのサムネイル画像表現を提供し得るが、こうしたサムネイル画像表現は、ビデオの内容に対する十分な手がかりを提供しないことがある。
【発明の概要】
【０００２】
本明細書に説明されるのは、ビデオファイルのルールに基づく解析を実行し、ビデオファイルのセクションをその重要度に基づいてランク付けする手法である。該手法は、さらに、ビデオファイルの集合のルールに基づく解析を実行し、複数のビデオファイルをその重要度に基づいてランク付けすることを含み得る。ビデオファイル又はビデオセクションの重要度は、該ビデオファイル又はビデオセクションが視聴者において発生させることを予期される関心の量に相関し得る。様々な実施形態において、ルールに基づく解析は、ビデオファイル又はビデオセクションの重要度を、該ビデオファイル又はビデオセクション内のビデオフレームの主観的な重要度及び／又は客観的な技術的品質に基づいて評価することができる。
【０００３】
本発明の概要は、以下で詳細な説明においてさらに説明される概念のうち選択されたものを簡素化された形式で紹介するよう提供される。本発明の概要は、請求される対象事項の重要な特徴又は必須の特徴を識別するものではなく、請求される対象事項の範囲を限定するために使用されるものでもない。
【図面の簡単な説明】
【０００４】
詳細な説明は、添付図面を参照して説明される。図面において、参照番号のうち最も左の（複数の）桁は、参照番号が最初に出現する図を識別する。異なる図面における同じ参照番号の使用は、類似の又は同一のアイテムを示す。
【図１】ルールに基づくビデオ解析エンジンを使用して、ビデオファイルの集合内のビデオファイルのビデオセクション又はビデオファイルをその重要度に基づいてランク付けする一例示的なスキームを例示するブロック図である。
【図２】ビデオファイルの集合内のビデオファイルのビデオセクション又はビデオファイルをその重要度に基づいてランク付けするルールに基づくビデオ解析エンジンの例示的なコンポーネントを示す一例示的な図である。
【図３】複数のビデオフレーム内の例示的な特徴点を整列させるホモグラフ変換の使用を示す一例示的な図である。
【図４】ルールに基づくビデオ解析を使用してビデオファイル内の特徴を解析して、ビデオファイルのビデオセクションをその重要度に基づいてランク付けする一例示的な処理を例示するフロー図である。
【図５】ルールに基づくビデオ解析を使用してビデオファイルの特徴を解析してビデオファイルを重要度に基づいてランク付けする一例示的な処理を例示するフロー図である。
【図６】ビデオフレームの顔重要度スコアを計算する一例示的な処理を例示するフロー図である。
【図７】特徴点の動きを解析することによってビデオ内の重要ビデオセクションを決定する一例示的な処理を例示するフロー図である。
【発明を実施するための形態】
【０００５】
本明細書に説明されるのは、ビデオファイルのルールに基づく解析を実行してビデオファイルのセクションをその重要度（importance）に基づいてランク付けする手法である。上記手法は、さらに、ビデオファイルの集合のルールに基づく解析を実行してビデオファイルをその重要度に基づいてランク付けすることを含み得る。ビデオファイル又はビデオセクションの重要度は、該ビデオファイル又はビデオセクションが視聴者において発生させることを予期される関心の量に相関し得る。様々な実施形態において、ルールに基づく解析は、ビデオファイル又はビデオセクションの重要度を、該ビデオファイル又はビデオセクション内のビデオフレームの主観的な重要度及び／又は客観的な技術的品質に基づいて評価することができる。主観的な重要度の一例は、視聴者が、該視聴者に知られている人間の顔を表すビデオフレームを、上記視聴者が知らない人間の顔を表すビデオフレームよりもより重要と考えることであり得る。客観的な技術的品質の一例は、ビデオフレームの露出品質であり得る。
【０００６】
ルールに基づく解析は、フレームベースで複数の低レベルの特徴及び高レベルの特徴について、ビデオファイルのオーディオコンテンツ及びビデオコンテンツを解析することを含む。例えば、低レベルの特徴には、露出品質（exposure  quality）、彩度品質（saturation  quality）、ビデオフレームの揺れ（shakiness）、平均明度（average  brightness）、色エントロピー、及び／又は隣接するビデオフレーム間におけるヒストグラム差などの特徴が含まれ得る。高レベルの特徴には、ビデオフレーム内で検出される人間の顔の数量、位置、及び／又は顔面特徴などの特徴が含まれ得る。解析には、局所的ルール及び大局的ルールの適用が含まれ得る。局所的ルールは、ビデオフレームの特徴解析結果の生成の間に適用され得、大局的ルールは、ビデオファイル全体の特徴解析結果の生成の間に適用され得る。
【０００７】
上記ルールは、特徴解析からの結果を提供し、組み合わせて、重要度スコアを生成することができる。重要度スコアは、ビデオファイルのフレーム、ビデオのセクション、及び／又はビデオファイルのその全体について生成されることができる。これら重要度スコアは、ビデオファイルのセクション及び／又はビデオファイルをランク付けするのに使用されることができる。重要度スコアは、ビデオファイルの視聴、編集、及び共有を容易にするのに使用されることができる。例えば、消費者が、ウェブサイト上で共有するために、最も高い重要度スコアを有するビデオファイルのセットを選択することができる。別の例において、アプリケーションが、最も高い重要度スコアを有するビデオファイルのセクションを一緒にまとめて（stitch）、ハイライトビデオファイルを作成することができる。
【０００８】
いくつかの例において、ビデオファイルは、検出されたカメラモーションの量に基づいて、様々な重要性の度合いを有するビデオセクションに区分されることができる。カメラモーションは、ビデオファイルの中のビデオフレーム内で検出される特徴点の動きを介して検出されることができる。いくつかの例において、ビデオセクションの重要度は、該ビデオセクションが視聴者から引き出すことを予期される関心の量に相関し得る。
【０００９】
本明細書に説明される手法の使用は、ユーザがビデオファイルを該ユーザに対するその重要度に基づいてランク付けすることを可能にすることができる。こうしたランク付けに基づいて、ユーザは、どのビデオファイルを保持すべきかとどのビデオファイルを削除すべきかとを決めることができる。いくつかの例において、ユーザは、さらに、ビデオファイルのランク付けを使用して、特定のビデオファイルをオンライン共有ウェブサイト上に投稿するべきかどうかを決定することができる。本明細書に説明される手法は、さらに、ビデオファイルの重要度セクションを表現するサムネイル画像表現を提示することができ、したがって、ユーザは、一見しただけで、ビデオファイルのうち興味深い部分を言うことができる。こうした情報は、ビデオファイルを編集することにおいてユーザを支援して、ビデオファイルのコンテンツ品質を向上させ、あるいは個別セクションを強調することができる。様々な実施形態に従ってビデオファイルのルールに基づく解析を実行する手法の例が、以下で図１〜図７を参照して説明される。
【００１０】
例示的なスキーム
図１は、ルールに基づくビデオ解析エンジンを使用してビデオファイルの集合の中のビデオファイルのビデオセクション又はビデオファイルを重要度に基づいてランク付けする一例示的なスキーム１００を例示するブロック図である。例示的なスキーム１００は、ビデオ解析エンジン１０２を含み得る。ビデオ解析エンジン１０２は、１つ以上のコンピューティング装置１０４上で実行されることができる。１つ以上のコンピューティング装置１０４には、汎用目的コンピュータ、例えば、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ、サーバなどが含まれ得る。しかしながら、他の実施形態において、コンピューティング装置１０４には、スマートフォン、ゲームコンソール、又は任意の他の電子装置が含まれてもよい。複数のコンピューティング装置１０４が、様々なプロセッサ、例えば、中央プロセッサユニット（ＣＰＵ）、グラフィックスプロセッサユニット（ＧＰＵ）、他のタイプのプロセッサ、又は上記のうち任意のものの組み合わせなどを含み得る。
【００１１】
ビデオ解析エンジン１０２は、ビデオ集合１０６のルールに基づく解析を実行することができる。ビデオ集合１０６は、複数のビデオファイル、例えば、ビデオファイル１０８（１）〜１０８（Ｎ）などを含み得る。ルールに基づく解析は、フレームベースで複数の低レベルの特徴１１０及び複数の高レベルの特徴１１２について、ビデオファイル１０８（１）〜１０８（Ｎ）のオーディオコンテンツ及びビデオコンテンツを解析することを含み得る。例えば、複数の低レベルの特徴１１０には、露出品質、彩度品質、及びビデオフレームの揺れなどの特徴が含まれ得る。複数の高レベルの特徴１１２には、ビデオフレーム内で検出される人間の顔の数量、位置、及び顔の特徴などの特徴が含まれ得る。
【００１２】
ルールに基づく解析を実行することによって、ビデオ解析エンジン１０２は、ビデオ集合１０６のうち、ビデオ１０８（１）などの一ビデオファイルの複数セクションの重要度スコアと、ビデオファイル１０８（１）〜１０８（Ｎ）などの複数ビデオファイルの重要度スコアとを生成することができる。このことに応じて、ビデオ解析エンジン１０２は、ビデオのセクションをその重要度スコアに従ってランク付けすることができる。例えば、ビデオファイル１０８（１）は、ビデオセクション１１４及びビデオセクション１１６を含み得、これらセクションは、その重要度スコア、例えば、重要度スコア１１８及び１２０に従ってそれぞれランク付けされる。ビデオセクションがいったんランク付けされると、ビデオ解析エンジン１０２は、ビデオセクションのサムネイル画像表現を表示することができ、サムネイル画像表現の選択が、対応するビデオセクションをメディアプレーヤ１２２に再生させることができる。
【００１３】
ビデオ解析エンジン１０２は、さらに、ビデオ集合１０６の中のビデオファイルをその重要度スコアに従ってランク付けすることができる。例えば、ビデオ集合１０６のビデオファイル１０８（１）〜１０８（Ｎ）は、その重要度スコア１２４（１）〜１２４（Ｎ）に従ってランク付けされることができる。ビデオファイルがいったんランク付けされると、ビデオ解析エンジン１０２は、ビデオファイルのサムネイル画像表現を表示することができ、サムネイル画像表現の選択が、対応するビデオファイル又は対応するビデオファイルのセクションをメディアプレーヤ１２２に再生させることができる。
【００１４】
例示的なコンポーネント
図２は、ビデオファイルの集合の中のビデオファイルのセクション又はビデオファイルをその重要度に基づいてランク付けするルールに基づくビデオ解析エンジン１０２の例示的なコンポーネントを示す一例示的な図である。ビデオ解析エンジン１０２は、１つ以上のコンピューティング装置１０４によって実装されることができる。コンピューティング装置１０４は、１つ以上のプロセッサ２０２、インターフェース２０４、及びメモリ２０６を含み得る。プロセッサ２０２の各々は、シングルコアプロセッサ又はマルチコアプロセッサであり得る。インターフェース２０４には、ユーザインターフェース及びネットワークインターフェースが含まれ得る。ユーザインターフェースは、データ出力装置（例えば、ビジュアルディスプレイ、オーディオスピーカ）と、１つ以上のデータ入力装置とを含み得る。データ入力装置には、これらに限られないが、キーパッド、キーボード、マウス装置、ジェスチャを受け入れるタッチスクリーン、マイクロフォン、音声又は発話認識装置、及び任意の他の適切な装置又は他の電子／ソフトウェア選択方法のうち、１つ又は複数の組み合わせが含まれ得る。
【００１５】
ネットワークインターフェースには、コンピューティング装置１０４がネットワークを介してデータを送信し及び受信することを可能にする有線及び／又は無線の通信インターフェースコンポーネントが含まれ得る。様々な実施形態において、無線インターフェースコンポーネントには、これらに限られないが、セルラー、Ｗｉ−Ｆｉ、Ｕｌｔｒａ−ｗｉｄｅｂａｎｄ（ＵＷＢ）、パーソナルエリアネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、衛星送信、及び／又は同様のものが含まれ得る。有線インターフェースコンポーネントには、直接Ｉ／Ｏインターフェース、例えば、イーサネット（登録商標）インターフェース、シリアルインターフェース、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、及び／又は同様のものなどが含まれ得る。このようなものとして、コンピューティング装置１０４はネットワーク能力を有し得る。例えば、コンピューティング装置１０４は、１つ以上のネットワーク、例えば、インターネット、モバイルネットワーク、ワイドエリアネットワーク、ローカルエリアネットワークなどを介して、他の電子装置（例えば、ラップトップコンピュータ、デスクトップコンピュータ、モバイルフォン、サーバ等）との間でデータを交換することができる。
【００１６】
メモリ２０６は、コンピュータ読取可能媒体、例えば、コンピュータ記憶媒体などを用いて実装され得る。コンピュータ読取可能媒体には、少なくとも２タイプのコンピュータ読取可能媒体、すなわち、コンピュータ記憶媒体及び通信媒体が含まれる。コンピュータ記憶媒体には、コンピュータ読取可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報の記憶のために任意の方法又はテクノロジーにおいて実装される揮発性及び不揮発性の、取外し可能及び取り外し不能の媒体が含まれる。コンピュータ記憶媒体には、これらに限られないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリテクノロジー、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、若しくは他の磁気記憶装置、又は、コンピューティング装置によるアクセスのための情報を記憶することに使用され得る任意の他の非伝送媒体が含まれる。対照的に、通信媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、又は他のデータを、搬送波などの変調されたデータ信号、又は他の伝送メカニズムにおいて具現化し得る。本明細書において定義されるとき、コンピュータ記憶媒体は通信媒体を含まない。
【００１７】
コンピューティング装置１０４のメモリ２０６は、オペレーティングシステム２０８と、ビデオ解析エンジン１０２を実装するモジュールとを記憶し得る。オペレーティングシステム２０８は、コンピューティング装置１０４が様々な入力（例えば、ユーザ制御、ネットワークインターフェース、及び／又はメモリ装置）を介してデータを受信し、該データをプロセッサ２０２を用いて処理して出力を生成することを可能にするコンポーネントを含み得る。オペレーティングシステム２０８は、出力を提示する（例えば、電子ディスプレイ上に画像を表示する、メモリにデータを記憶する、データを別の電子装置に送信する等）１つ以上のコンポーネントをさらに含み得る。オペレーティングシステム２０８は、ユーザがインターフェース２０４を用いてビデオ解析エンジン１０２のモジュールと相互作用することを可能にすることができる。さらに、オペレーティングシステム２０８は、オペレーティングシステムに一般に関連付けられる様々な他の機能を実行する他のコンポーネントを含んでもよい。
【００１８】
上記モジュールには、ビデオデコーダモジュール２１０、低レベル解析モジュール２１２、高レベル解析モジュール２１４、モーション解析モジュール２１６、重要度算出モジュール２１８、ビデオ区分モジュール２２０、ビデオランク付けモジュール２２２、及びユーザインターフェースモジュール２２４が含まれ得る。モジュールの各々が、特定のタスクを実行し又は特定の抽象データタイプを実装するルーチン、プログラム、命令、オブジェクト、及び／又はデータ構造を含み得る。さらに、データストア２２６がメモリ２０６内に存在し得る。低レベル解析モジュール２１２と高レベル解析モジュール２１４との各々は、局所的ルール又は大局的ルールを適用して、ビデオファイル内の特徴データ、すなわち、ビデオデータ及び／又はオーディオデータの重要度を解析することができる。局所的ルールは、単一のビデオフレーム内の特徴データに基づく、該単一のビデオフレームの重要度の割り当てに影響し得る。逆に、大局的ルールは、ビデオファイルのうち複数のビデオフレーム内の特徴データに基づく、該ビデオファイル全体の重要度の割り当てに影響し、あるいは、ビデオファイル内のビデオフレームのセットにわたり共有される特徴に基づく、該ビデオフレームのセットの各々についての重要度の割り当てに影響し得る。
【００１９】
ビデオデコーダモジュール２１０は、ビデオファイル、例えば、ビデオファイル１０８（１）などをデコードして、ビデオフレーム及び／又は該ビデオフレームの各々に関連付けられたオーディオデータを取得することができる。ビデオデコーダモジュール２１０は、様々なコーデックを使用して、ビデオファイル、例えば、Ｈ．２６４、ＭＰＥＧ−２、ＭＰＥＧ−４等をデコードすることができる。
【００２０】
低レベル解析モジュール２１２は、各々のデコードされたビデオフレームを低レベルの特徴について解析して、特徴スコアを作り出すことができる。様々な実施形態において、低レベルの特徴には、露出品質、彩度品質、色相多様性（hue  variety）、揺れ、平均明度、色エントロピー、及び／又は隣接するビデオフレーム間におけるヒストグラム差が含まれ得る。低レベル解析モジュール２１２は、ビデオフレームの露出、彩度、及び色相を示すヒストグラムを導出するアルゴリズムを使用することができる。露出品質の解析において、低レベル解析モジュール２１２は、ビデオフレームの露出バランスの露出ヒストグラムを解析することができる。低レベル解析モジュール２１２は、局所的ルールに従って露出バランスに基づいてビデオフレームに露出格付けスコアを割り当てることができ、これにおいて、より高い露出バランスがより高い露出格付けスコアを結果としてもたらし得る。逆に、ビデオフレームのより低い露出バランスは、より低い露出格付けスコアを結果としてもたらし得る。
【００２１】
彩度品質の解析において、低レベル解析モジュール２１２は、ビデオフレームの彩度ヒストグラム、例えば、ＨＳＶ色空間の彩度ヒストグラムなどを解析することができる。この解析に基づいて、低レベル解析モジュール２１２は、局所的ルールに従って彩度ヒストグラムの中の値の中間セット内の彩度の量を反映する彩度スコアを計算することができる。このようなものとして、上記中間レンジ内におけるより大きい彩度は、ビデオフレームのより高い彩度スコアを結果としてもたらす。逆に、上記中間レンジ内におけるより小さい彩度は、ビデオフレームのより低い彩度スコアを結果としてもたらす。
【００２２】
色相多様性の解析において、低レベル解析モジュール２１２は、ビデオフレームの色相ヒストグラムのバランスを査定することができる。低レベル解析モジュール２１２は、さらに、局所的ルールに基づいて色相スコアを割り当てることができる。このことに応じて、低レベル解析モジュール２１２は、ビデオフレームの色相がうまくバランスをとられている、すなわち、より高い多様性の色を示すとき、より高い色相スコアを割り当てることができる。逆に、低レベル解析モジュールは、ビデオフレームの色相があまりバランスをとられていない、すなわち、より低い多様性の色を示すとき、より低い色相スコアを割り当てることができる。
【００２３】
揺れの解析において、低レベル解析モジュール２１２は、モーション解析モジュール２１６を使用してフレーム間における特徴点の動きを追跡し、その動きをモデル化する変換を生成することができる。特徴点は、複数のビデオフレームにわたり確実に場所を特定され（located）得る、ビデオフレーム内の関心点である。特徴点は、該特徴点が２次元（２Ｄ）構造を含み、且つｘ方向及びｙ方向において局所化され（localized）得るという点で、区別可能である。低レベル解析モジュール２１２は、上記変換を使用して、特徴点モーションの大きさ及び方向に関連した局所的及び大局的トレンドを解析することができる。局所的トレンド及び大局的トレンドは、ビデオファイル内の揺れを、局所的なフレームごとの変化の属性として定量化することができる。ビデオファイルの揺れは、以下でモーション類別解析に関して説明されるとおり、モーション解析モジュール２１６によって決定されることができる。このことに応じて、低レベル解析モジュール２１２は大局的ルールを適用して、ビデオファイル内の揺れの量に対して反比例する揺れスコアをビデオファイルに割り当てることができ、したがって、より大きい揺れはより低い揺れスコアを結果としてもたらし、逆もまた同様である。
【００２４】
平均明度の解析において、低レベル解析モジュール２１２は、ビデオフレーム内のすべての画素の輝度成分の平均を算出することができる。様々な実施形態において、低レベル解析モジュール２１２は、ビデオフレームのグレースケール画像表現における画素値を平均することができる。例えば、画素値は０〜２５５に及んでもよく、これにおいて、０は色の黒に対応し、２５５は色の白に対応する。いくつかの実施形態において、低レベル解析モジュール２１２は、毎ｎ番目の画素から画素値を読み出すようにさらに最適化されることができる。換言すると、低レベル解析モジュール２１２は、解析を実行する間、ｘ方向及び／又はｙ方向において所定数の画素をスキップすることができる。ビデオフレーム内の画素の画素値の平均に基づいて、低レベル解析モジュール２１２は、ビデオフレームの明度を決定することができる。このことに応じて、低レベル解析モジュール２１２は局所的ルールを適用して、ビデオフレームの平均画素値が明度の所定中間レンジに入るとき、ビデオフレームの平均画素値に比例する明度スコアを割り当てることができる。しかしながら、低レベル解析モジュール２１２は、平均画素値が外側に入る、すなわち、明度の所定中間レンジよりもより高いか又はより低いとき、明度の所定中間レンジに入る平均画素値に割り当てられるいかなる明度スコアよりもより低い明度スコアを割り当てることができる。平均画素値が減少するとき、明度の所定中間レンジの下限よりもより小さい間、上記明度スコアは小さくなり得る。さらに、平均画素値が増加するとき、明度の所定中間レンジの上限よりもより大きい間、上記明度スコアは小さくなり得る。
【００２５】
色エントロピーの解析において、低レベル解析モジュール２１２は、ビデオフレーム内の色エントロピーの量を決定することができる。色エントロピーの量は、ビデオフレーム内の色間における差の指標である。低レベル解析モジュール２１２によって割り当てられる色エントロピー値は、ビデオフレーム内の色エントロピーの実際量に依存して、“０”から“１”におよび得る。例えば、低レベル解析モジュール２１２は、ビデオフレームの画素が最大量の差を有するとき、ビデオフレームに“１”の色エントロピー値を割り当てることができる。低レベル解析モジュール２１２は、ビデオフレームの画素が最小量の差を有するとき、ビデオフレームに“０”の色エントロピー値を割り当てることができる。様々な実施形態において、低レベル解析モジュール２１２は、色空間（例えば、ＲＧＢ色空間又はＨＳＶ色空間）の色ドメインヒストグラムを算出することによって色エントロピー値を決定することができる。
【００２６】
上記実施形態において、低レベル解析モジュール２１２は、複数の色次元を捕捉するヒストグラムを最初作成することができる。例えば、ＲＧＢ色空間において、Ｒ、Ｇ、及びＢの各々は２５６のとり得る値を有し得、この場合、ヒストグラムは２５６×２５６×２５６バケットを有し得る。少なくとも１つの実施形態において、バケットは、バケットサイズ及び／又は処理スピードを最適化することに対してさらに定量化されることができる。例えば、サイズが２５×２５×２５であってもよく、したがって、複数の色値が同じバケット内に入ることになる。ゆえに、１つの例において、ヒストグラムは、コードにおいて下記のフォーマットで表わされることができる：int  Histogram[256  *  256  *  256]。このことは、ヒストグラム配列がＲＧＢ色空間におけるすべてのとり得る色のための要素を有することを意味する。このことに応じて、低レベル解析モジュール２１２が画素を読み出すとき、低レベル解析モジュール２１２は、下記として値を設定することができる：
【００２７】
【数１】
0006694829.tif 000002
上記ステップがビデオフレーム内の各画素についていったん実行されると、低レベル解析モジュール２１２はヒストグラムを正規化することができる。換言すると、低レベル解析モジュール２１２は、各値をヒストグラムのサイズを用いて分割する（divide）ことができ、したがってヒストグラム内の値は０と１との間になり、値は最大で１まで増大する。結果として、最も高い値を有する要素が、ビデオフレーム内で最も頻繁に発生する。
【００２８】
ヒストグラム内の画素のエントロピーは、すべての(Histogram[n]  *  log(Histogram[n]))の総和として、下記のとおり定式化されることができる：
【００２９】
【数２】
0006694829.tif 000003
低レベル解析モジュール２１２は、ヒストグラムからのエントロピーを最大のとり得るエントロピーで除算することによって、相対色エントロピー（すなわち、ビデオフレームの、他のビデオフレームに対する色エントロピー）を決定することができる。最大のとり得るエントロピーは、すべてのHistogram[n]が同じ値を有するとき、すなわち、(1.0  /  とり得る値の数)に等しいとして定義されることができる。ビデオフレームの相対色エントロピー値がいったん取得されると、低レベル解析モジュール２１２は局所的ルールを適用して、ビデオフレームの相対色エントロピーからビデオフレームのエントロピースコアを取得することができる。様々な実施形態において、ビデオフレームのエントロピースコアは、ビデオフレームの相対色エントロピー値に対して正比例してもよく、例えば、より高い相対エントロピー値がより高いエントロピースコアを結果としてもたらし、逆もまた同様である。
【００３０】
ヒストグラム差の解析において、低レベル解析モジュール２１２は、２つの隣接するビデオフレーム間におけるヒストグラム差を決定することができる。様々な実施形態において、低レベル解析モジュール２１２は、各ビデオフレームを複数のセル（例えば、１０×１０セル）に分割することができる。ビデオフレームｔ及び隣接ビデオフレームｔ＋１の各セルについて、低レベル解析モジュール２１２は色ヒストグラム（例えば、ＲＧＢヒストグラム）を算出することができる。その後、低レベル解析モジュール２１２は、ビデオフレームｔ内の各セルについて、そのヒストグラムと隣接ビデオフレームｔ＋１内で対応する位置を有するセルのヒストグラムとにおける差を計算することができる。２つの隣接ビデオフレーム内のセルペアのヒストグラム間における差がさらに標準化されて（例えば、２乗され、正規化され、かつ／あるいは平均される等）、上記２つの隣接フレームの最終的なヒストグラム差値を取得してもよく、これにおいて、その値は“０”と“１”との間におよび得る。２つの隣接ビデオフレームのヒストグラム差値がいったん取得されると、低レベル解析モジュール２１２は局所的ルールを適用して、ヒストグラム差値からビデオフレームｔのヒストグラム差スコアを取得することができる。様々な実施形態において、ビデオフレームのヒストグラム差スコアはヒストグラム差に正比例してもよく、例えば、より高いヒストグラム差値がより高いヒストグラム差スコアを結果としてもたらし、逆もまた同様である。
【００３１】
少なくともいくつかの実施形態において、低レベル解析モジュール２１２は、解析のいくつかを最適化してビデオファイルの処理をスピードアップすることができる。例えば、低レベル解析モジュール２１２は、ビデオファイル内のすべてのビデオフレームというよりもビデオファイル内のビデオフレームのサブセットについて、解析（例えば、露出格付け解析、色相多様性解析等）を実行することができる。低レベル解析モジュール２１２は、さらに、元のフレームの縮小された（scaled  down）バージョンに対して解析のうち１つ以上を実行していくらかの効率を得ることができる。例えば、ビデオフレームの色相多様性及び彩度解析が、ビデオフレームのダウンサンプリングされたバージョンに対して実行されることができる。別の例において、露出品質解析が、ビデオフレームのモノクロの且つダウンサンプリングされたバージョンに対して実行されてもよい。低レベル解析モジュール２１２はさらに、複数の解析を並列に又は実質的に並列に実行してもよい。例えば、彩度品質解析及び色相多様性解析が並列に実行されてもよい。
【００３２】
高レベル解析モジュール２１４は、各々のデコードされたビデオフレームを高レベルの特徴について解析することができる。少なくとも１つの実施形態において、高レベル特徴解析には、顔検出、顔追跡、顔認識、顕著性（saliency）解析、オーディオパワー解析、オーディオ分類解析、発話解析、及びモーション解析が含まれ得る。
【００３３】
顔検出において、高レベル解析モジュール２１４は、デコードされたビデオフレームを解析して、人間の顔がビデオフレーム内に提示されているかどうかを検出することができる。検出された顔は、ビデオフレームを捕捉したカメラに対面しているか、又はカメラに対して横向きであり得る。上記検出に基づいて、高レベル解析モジュール２１４は、検出された顔のリストを、ビデオフレーム内におけるその位置、各顔によりカバーされるビデオフレームのエリア、及び検出における信頼度を示す各顔の検出信頼度スコアと共に生成することができる。
【００３４】
様々な実施形態において、高レベル解析モジュール２１４は局所的ルールを適用して、検出された顔のサイズに基づいて、ビデオフレームのサイズのパーセンテージとして、ビデオフレームの顔重要度スコアを算出することができる。２つのビデオフレーム上で検出される同じサイズを有する顔は、同じ顔重要度スコアを割り当てられることができる。しかしながら、ビデオフレームｔ２上の顔がビデオフレームｔ１上の顔よりもより大きい場合、ビデオフレームｔ２の顔重要度スコアはより高くなることになり、なぜならば、より大きい顔はより小さい顔よりもより重要と考えられるからである。他の実施形態において、高レベル解析モジュール２１４は、検出された顔のサイズが最小サイズ閾値と最大サイズ閾値との間である場合、顔重要度スコアを算出するように構成されてもよい。逆に、サイズが最小サイズ閾値よりもより小さいか又は最大サイズ閾値よりもより大きい顔は、高レベル解析モジュール２１４による顔重要度スコア算出に対して妥当でないと考えられてもよく、あるいは、否定的（negative）スコアバイアスが上記の発生に対して対応ビデオフレームに割り当てられてもよい。
【００３５】
別法として、又は同時的に、ビデオフレームの顔重要度を算出する局所的ルールは、ビデオフレーム内に表される各顔の顔面特徴を考慮に入れてもよい。例えば、顔面特徴には、顔が笑っているか否か、又は目が開いているか否か等が含まれ得る。ゆえに、笑っている顔について対応ビデオフレームに対して肯定的（positive）スコアバイアスが割り当てられることができ、一方、顔が笑っていないときに否定的スコアバイアスが割り当てられることができる。同様にして、開いた目を有する顔について対応ビデオフレームに対して肯定的スコアバイアスが割り当てられることができ、目が閉じられているときに否定的スコアバイアスが割り当てられることができる。
【００３６】
顔認識において、高レベル解析モジュール２１４は顔認識アルゴリズムを使用して、ビデオフレーム内で検出される各人の顔を、人の既知のアイデンティティ（identity）にマッチさせることができる。いくつかの実施形態において、高レベル解析モジュール２１４は、既知の顔の知識データベースを使用して、人間の顔を既知の人にマッチさせることができる。別法として、又は同時的に、高レベル解析モジュール２１４は、ユーザインターフェースモジュール２４を使用してユーザインターフェース制御を提供することができる。上記ユーザインターフェース制御は、ユーザが、１つ以上の認識された顔の各々に、アイデンティティ、該顔の重要度格付け、及び／又は該顔を有する人間の視聴者に対する関係でタグ付けすることを可能にする。少なくとも１つの実施形態において、顔に関して視聴者により提供される情報は、知識データベースに追加されることができる。
【００３７】
顔追跡において、高レベル解析モジュール２１４は、複数のビデオフレームにわたり人間の顔を追跡することができる。こうして、高レベル解析モジュール２１４は、ビデオファイル内に存在する顔のセットを確認し、さらに、各顔がビデオファイル内に出現する頻度を追跡することができる。さらに、顔グループ化において、高レベル解析モジュール２１４は、追跡される顔をグループ化して、異なるビデオフレーム上で検出される顔が同じ人間に属するかどうかを決定することができる。様々な実施形態において、高レベル解析モジュール２１４は、ビデオフレーム内の検出された顔の各々について、顔面特徴のセットを取得することができる。高レベル解析モジュール２１４は、検出された顔の顔面特徴のセットを比較して、検出された顔を顔面特徴類似度に従ってグループへとグループ化することができる。高レベル解析モジュール２１４は、顔の各グループの重要度を、各グループ内の顔の数に従って評価することができる。各グループ内の顔の数は、ビデオファイル内における顔の行き渡り（prevalence）に正比例する。さらに、より多くの行き渡りは、その顔を有する人間のより高い重要度を示し得、逆もまた同様である。このことに応じて、顔のグループのためのグループ重要度スコアが、グループ内の顔の顔重要度スコアの合計であり得る。このようなものとして、最高レベル解析モジュール２１４は、複数のビデオフレーム内に表されるとおりにグループ内の顔の顔重要度スコアを合計して、グループのためのグループ重要度スコアを算出することができる。
【００３８】
例えば、最高グループ重要度スコアを有するグループ内に顔が出現する人は、主要な人物と考えられることができる。こうした情報に基づいて、高レベル解析モジュール２１４は大局的ルールをビデオフレームに適用することができ、したがって、主要人物を示すビデオフレームの顔重要度スコアがさらに肯定的にバイアスをかけられ、すなわち、高められることができる。さらに、複数のビデオフレーム内で捕捉されたとしてグループ内に含まれる顔の位置が、ビデオフレームに割り当てられる顔重要度スコアを低めてもよい。例えば、特定の人の顔を示すビデオフレームの重要度スコアが、該顔の、ビデオフレームの中心に対する、軸（例えば、ｘ軸又はｙ軸）に沿った距離に従ってバイアスをかけられてもよく、したがって、中心に対してより近い顔がビデオフレームのより高い重要度を結果としてもたらし、逆もまた同様である。
【００３９】
フレーム顕著性（saliency）解析において、高レベル解析モジュール２１４は、ビデオフレームの顕著な部分を検出することができる。例えば、ビデオフレームの顕著な部分は、動いているオブジェクトを捕捉することができる。顕著性解析に基づいて、高レベル解析モジュール２１４は局所的ルールを適用して、ビデオフレーム内のあらゆる画素の顕著性スコアを表示するヒートマップを生成することができる。ヒートマップは、マトリクス内に並べられたデータのグラフィカル表現であり、これにおいて、マトリクス内の個々の値は色を用いて表現される。高レベル解析モジュール２１４は、ビデオフレーム内の画素の顕著性スコアに基づくビデオフレームのフレーム顕著性スコアをさらに生成することができる。例えば、ビデオフレームのビデオフレーム顕著性スコアは、画素顕著性スコアの平均であってもよい。
【００４０】
オーディオパワー解析において、高レベル解析モジュール２１４は、継続時間においてビデオフレームに対応するオーディオデータを査定し（例えば、１秒の１／３０又は１／６０）、オーディオパワーの二乗平均平方根（root  mean  square）（ＲＭＳ）値を算出することができる。オーディオパワーのより高いＲＭＳ値は、対応するビデオフレームのより高い重要度を示し得、逆もまた同様である。ゆえに、高レベル解析モジュール２１４は、局所的ルールに従って、オーディオパワー重要度スコアを対応するビデオフレームに割り当てることができる。
【００４１】
オーディオ分類解析において、高レベル解析モジュール２１４は、機械学習分類器を使用して、継続時間においてビデオフレームに対応するオーディオデータが異なるタイプのオーディオデータ（例えば、雑音、発話、又は音楽）を含むかどうかを決定することができる。異なるタイプのオーディオデータは、対応するビデオフレームの異なる重要度を反映し得る。局所的ルールに基づいて、高レベル解析モジュール２１４は、オーディオデータのタイプに基づいて、オーディオ分類重要度スコアを対応するビデオフレームに割り当てることができる。例えば、発話の存在が、高レベル解析モジュール２１４に、高いオーディオ分類重要度を対応ビデオフレーム割り当てさせてもよい。対照的に、音楽の存在が、対応ビデオフレームに対する中位のオーディオ分類スコアの割り当てを引き起こしてもよい。さらに、雑音の存在が、高レベル解析モジュール２１４に、低いオーディオ分類スコアを対応ビデオフレームに割り当てさせてもよい。
【００４２】
モーション類別解析において、高レベル解析モジュール２１４は、モーション解析モジュール２１６を使用してビデオフレーム間における特徴点の動きを追跡し、その動きをモデル化する変換を生成することができる。高レベル解析モジュール２１４は、上記変換を使用して、動きの大きさ及び方向に関連した局所的トレンド及び大局的トレンドを解析することができる。ひいては、高レベル解析モジュール２１４は、局所的トレンド及び大局的トレンドを使用して、ビデオフレーム内で捕捉された揺れについて考慮し（account  for）、シーンに対するカメラの意図的動作、例えば、ズーミング、パンニング等を決定することができる。
【００４３】
様々な実施形態において、モーション解析モジュール２１６は、２つの隣接するフレームについて特徴点の場所を特定すること（locating）によって、モーション類別解析を開始することができる。特徴点は、画像の２次元（２Ｄ）又は３Ｄ変換においてでさえ識別可能なままである、該画像内の点であり得る。特徴点を検出するために、モーション解析モジュール２１６は、画像をダウンサンプリングし、より小さい次元のダウンサンプリングされた画像のピラミッドを作成することができる。それから、ダウンサンプリングされた画像はモーション解析モジュール２１６によって比較されて、ダウンサンプリングされた画像間における共通点（すなわち、特徴点）を決定することができる。様々な実施形態において、モーション解析モジュール２１６は、共通点を検出するためのいくつかの検出アルゴリズムのうち１つ以上、例えば、ラプラス（Laplace）検出アルゴリズム、ハリス（Harris）検出アルゴリズム、ヘシアン（Hessian）検出アルゴリズム、ヘシアンラプラス検出アルゴリズム、ヘシアンアフィン（HessianAffine）検出アルゴリズム、エッジ焦点（EdgeFoci）検出アルゴリズム等を使用することができる。
【００４４】
２つの隣接するフレームについて特徴点がいったん識別されると、モーション解析モジュール２１６は、最大数の特徴点がマッチするように２つの隣接フレームを整列させる（aligns）変換を決定することができる。変換は、ロバストパラメータ推定の一実装であるジオメトリックマッチングを用いて実行されることができる。変換は、マッチした特徴点から算出されるホモグラフィ（homography）変換マトリクスを提供することができる。様々な実施形態において、モーション解析モジュール２１６は、ランダムサンプリング及びコンセンサス（Random  Sampling  and  Consensus）（ＲＡＮＳＡＣ）アルゴリズムを使用して、初期パラメータ推定と統計的インライア（statistical  inliers）のリストとを取得することができ、これにおいて、初期パラメータ推定はさらに精緻化される。ホモグラフィ変換により整列させられるビデオフレーム内の様々なカメラモーションが、図３に例示される。
【００４５】
図３は、複数のビデオフレーム内で例示的な特徴点を整列させるホモグラフ（homograph）変換の使用を示す一例示的な図である。図示されるとおり、ビデオフレーム３０２〜３１２の各々は、円形で表される識別された特徴点のグループをそれぞれ含み得る。例えば、ビデオフレーム３０２内の特徴点のグループは、円形３１４（１）〜３１５（５）によって表される。特徴点のグループ内の各特徴点は、複数のビデオフレームを捕捉したカメラの動作にもかかわらず、この複数のビデオフレームにわたり互いに対する相対位置を保有し得る。例えば、変換されたビデオフレーム３１６は、ビデオフレーム３０２に対しての、カメラの追跡動作の結果である後続ビデオフレームであり得る。変換されたビデオフレーム３１８は、ビデオフレーム３０４に対しての、カメラのブーム動作の結果である後続ビデオフレームであり得る。変換されたビデオフレーム３２０は、ビデオフレーム３０６に対しての、ズーム／ドリー動作の結果である後続ビデオフレームであり得る。変換されたビデオフレーム３１２は、ビデオフレーム３０８に対しての、カメラのロール動作の結果である後続ビデオフレームであり得る。変換されたビデオフレーム３１４は、ビデオフレーム３１０に対しての、カメラの垂直パン／ピッチ／チルトの結果である後続ビデオフレームであり得る。変換されたビデオフレーム３１６は、ビデオフレーム３１２に対しての、カメラの水平パンニングの結果である後続ビデオフレームであり得る。
【００４６】
しかしながら、ビデオフレーム３０２〜３１２から変換されたビデオフレーム３２６〜３３６を作り出したカメラによる動作にかかわらず、モーション解析モジュール２１６はホモグラフ変換を使用して、ビデオフレームとその対応する変換されたビデオフレームとの中の特徴点を整列させることができる。
【００４７】
図２に戻ると、ＲＡＮＳＡＣアルゴリズムは、特徴点マッチの最小サブセットから変形（transformation）マトリクスパラメータを直接計算することができる。例えば、２つのフレーム間で対応する２つの特徴点から、相似変換（similarity  transform）（例えば、並進、回転、又はスケール変更（scale））が計算されることができる。候補ジオメトリック変形がいったん取得されると、ＲＡＮＳＡＣアルゴリズムは、データセット内のすべての他の特徴点マッチに対して変形をテストすることと、十分な正確さで空間的に投影する（project）特徴点であるインライアの数の総数を生成することとによって、変形を検証することができる。換言すると、ＲＡＮＳＡＣアルゴリズムは、点マッチの最小セットを最初ランダムに選び、このセットから変形パラメータを計算し、それから、インライアマッチの数を数えることによって上記パラメータを検証することができる。その後、ＲＡＮＳＡＣアルゴリズムは、最良の変形を記録する。ＲＡＮＳＡＣアルゴリズムは、変形パラメータの良好なセットを見つける確率がデータミスマッチレートを所与として所定の確率閾値に達するまで、上記手順を複数回繰り返すことができる。
【００４８】
いくつかの実施形態において、ＲＡＮＳＡＣアルゴリズムは、ベイズ統計学のより良好な使用を行うように修正されることができる。変形パラメータの検証の間にインライアを数えるというよりも、ＲＡＮＳＡＣアルゴリズムは、すべての特徴点マッチから、各ランダム変形について、ログ確率スコアを計算することができる。このスコアは２つの部分、すなわち、（１）パラメータと、共通に予期される値からパラメータがどれほど離れているかとに依存する、事前確率スコア、及び（２）特徴点マッチの再投影距離（re-projection  distance）のロバスト関数（robust  function）に基づく確率スコア、を含むことができる。上記スコアは、正しい場所に投影する特徴点の方を好むが、アウトライア（outliers）が共存することを許容する。
【００４９】
ホモグラフ変換から、モーション解析モジュール２１６は、ズーミング及び垂直並進成分（zooming  and  vertical  translation  components）の大きさ及び方向を抽出すると同時に、他の種類のモーションを無視することができる。上記大きさ及び方向は、２つの隣接するフレーム内に記録されるとおりの、カメラの意図的動作である。換言すると、上記大きさ及び方向は、第１のフレームから第２の隣接フレームへの実際の動きの変化の一次導関数（first  order  derivative）である。モーション解析モジュール２１６は、ビデオフレームの動きベクトルのモーションデータ移動平均を算出することによって、ビデオフレームを記録したカメラの揺れ動き（shakiness  movement）を決定し、モーションデータ移動平均から上記カメラの意図的動きを減算することができる。モーションデータ移動平均の算出は、局所的分散（local  variance）を抑制し、意図的動きを表す長期トレンドを維持する。換言すると、第１のフレームから第２のフレームへの意図的動きと全体的動き変化とにおける差は、２つのフレームを記録したカメラの揺れ動きである。
【００５０】
フレームのセット内に記録されるズーミング及び垂直並進値の大きさは、これらフレームの重要度に関する手がかりを提供することができる。例えば、より高い値が、ビデオフレーム内の１つ以上のオブジェクトに関してのカメラモーションにおける加速を示し得る。さらに、より高い加速度を有するビデオフレームの領域がより重要であると仮定されてもよく、なぜならば、カメラがモーションにおける素早い変化を行って何らかのアクションを捕捉している可能性があるからである。このことに応じて、高レベル解析モジュール２１４は、モーション加速の量に基づいてモーション重要度スコアを各フレームに割り当てることができる。
【００５１】
モーション解析モジュール２１６は、意図的動きデータを解析して、ズーム及び垂直並進モーションの双方についてゼロ交差のまわりに置かれる（pivoted）複数の極大及び極小を決定することができる。いくつかの実施形態において、モーション解析モジュール２１６は、極大及び極小の場所を使用して、データをビデオセクションに区分することができる。別法として、又は同時的に、モーション解析モジュール２１６は、極大及び極小の場所を使用して、ビデオファイルを、ペアにされた変化の方向を有するビデオセクションに区分することができ、上記のペアにされた方向は、例えば、ズームアウトとペアにされたズームイン、パンダウンとペアにされたパンアップなどである。
【００５２】
ビデオファイルの区分されたビデオセクションは、ビデオファイルのシーンにおける変化と一貫性があり得る。このことに応じて、ビデオファイル内のセクション境界がガイドラインとして使用されて、ビデオファイルを異なる重要度のビデオセクションに分割することができる。上記境界は、重要／非重要セクションの開始及び終了を、カメラの動作におけるシフト又はシーン内の活動の性質における変化が存在する時点に整列させることができる。さらに、モーション解析モジュール２１６は、セクションのズーム及びパンモーションの大きさを組み合わせ、平均することができる。ビデオセクションのズーム及びパンモーションの大きさの平均によって表現される加速の量がモーション解析モジュール２１６によって使用されて、フレームに関して上記で説明されたのと同じ仕方でビデオセクションにモーション重要度スコアを割り当てることができる。
【００５３】
少なくともいくつかの実施形態において、高レベル解析モジュール２１４は、解析のいくつかを最適化して、ビデオファイルの処理をスピードアップすることができる。例えば、高レベル解析モジュール２１４は、各ビデオフレーム内の１つ以上の顔について、該ビデオフレームの、モノクロの及びダウンサンプリングされたバージョンを用いて、顔検出、顔追跡、及び／又は顔認識を実行することができる。高レベル解析モジュール２１４は、さらに、複数の解析を並列に又は実質的に並列に実行してもよい。例えば、顔追跡及び顔認識が並列に実行されることができる。
【００５４】
重要度算出モジュール２１８は、ビデオファイルのビデオフレームについて生成される様々な特徴スコアを正規化し、ビデオファイルのビデオ重要度値を算出することができる。例えば、重要度算出モジュール２１８は、各ビデオフレームの正規化された特徴スコアのセット（例えば、顔重要度スコア、モーション重要度スコア、露出格付けスコア、彩度スコア等）を平均して、各ビデオフレームのフレーム重要度スコアを取得することができる。ビデオフレーム重要度スコアがさらに平均されて、ビデオファイルのビデオ重要度値を導出してもよい。いくつかの実施形態において、ビデオファイルのビデオ重要度値の算出は、ビデオフレームに関連付けられた１つ以上の特徴スコアにバイアスをかけることをさらに含むことができる。例えば、重要度算出モジュール２１８は、ビデオフレーム内における顔の存在がビデオフレームの色相多様性スコアよりもより高い度合で該フレームのフレーム重要度スコアに影響するように、肯定的バイアスを適用するよう構成されることができる。
【００５５】
別の例において、重要度算出モジュール２１８は、ビデオファイルのビデオ重要度値を下記のとおり生成することができる：
【００５６】
【数３】
0006694829.tif 000004
これにおいて、Ｗｉは重みであり、Ｆｉは特徴である。重みは、特徴の重要度を指図することができる。例えば、視聴者が明るいビデオをより好み、Ｆ２がこのプロパティに相関する特徴である場合、重要度算出モジュール２１８は、Ｗ２に対して、他の特徴の重みよりもより高い値を割り当てるように構成されることができる。このバイアスは、他のシナリオにおいて適用されてもよい。さらなる例において、視聴者が特定の人を示すビデオファイルを優先的に選択したい場合、この視聴者は、重要度算出モジュール２１８を構成して、上記特定の人の顔を示すフレームにバイアスをかけて、こうしたビデオフレームのビデオフレーム重要度スコアを上げることができる。様々な実施形態において、重要度算出モジュール２１８は、ビデオファイルの特徴値｛Ｆ１，Ｆ２，・・・Ｆｎ｝をデータストア２２６に記憶することができる。ビデオファイルの特徴値の記憶は、異なる特徴がバイアスをかけられることになるシナリオにおいて、ビデオファイルについての将来の二重の解析を除外することができる。
【００５７】
少なくとも１つの他実施形態において、重要度算出モジュール２１８は、ビデオフレーム内に示される特徴に対して否定的バイアスを適用するように構成されることができる。例えば、揺れの量に比例する否定的バイアスが重要度算出モジュール２１８によって実施されて、揺れに比例してビデオフレームのビデオフレーム重要度スコアを低めることができる。
【００５８】
ビデオ区分モジュール２２０は、重要度に基づいてビデオファイルを複数のビデオセクションに区分することができる。いくつかの実施形態において、ビデオ区分モジュール２２０は、ビデオファイルの継続時間よりもより短い継続時間ｔを有するビデオセクションを見つけることができる。こうした実施形態において、ビデオ区分モジュール２２０はウィンドウマス（window-mass）を算出することができ、ウィンドウマスは、ビデオファイルのうち(t  *  フレームレート)のビデオフレームを有するウィンドウ内のビデオフレームにおけるフレーム重要度スコアの総和である。上記ウィンドウマスは、シフトする仕方で、ビデオファイルのすべてのビデオフレームについて、連続的に算出されることができる。このことに応じて、ビデオ区分モジュール２２０は、最も高いウィンドウマスを有するビデオフレームを、ｔ秒の長さの重要ビデオセクションのうちの中心として選択することができる。他の実施形態において、ビデオ区分モジュール２２０は、モーション解析モジュール２１６に依存して、モーションデータに基づいてビデオファイルをビデオセクションに区分してもよい。ビデオ区分モジュール２２０がビデオファイルをビデオセクションにいったん区分すると、重要度算出モジュール２１８は、各ビデオセクションのセクション重要度値を、ビデオファイル全体に関してと同様の仕方で生成することができる。換言すると、重要度算出モジュール２１８は、ビデオセクション内のビデオフレームの正規化されたフレーム重要度スコアに基づいてセクション重要度値を生成することができる。いくつかの例において、重要度算出モジュール２１８は、ビデオセクションのセクション重要度値の生成の間、１つ以上の特徴スコアに対するバイアスかけをさらに適用することができる。
【００５９】
様々な実施形態において、低レベル解析モジュール２１２と高レベル解析モジュール２１４と重要度算出モジュール２１８との各々は、ビデオセクション及び／又はビデオファイルについて取得されたスコア、値、及び他の情報を、関連メタデータとしてデータストア２２６に記憶することができる。上記メタデータは、ビデオファイルに関連付けられる他のメタデータ、例えば、日付、場所、オンライン共有の数等と組み合わせられることができる。
【００６０】
ビデオランク付けモジュール２２２は、ビデオファイルのビデオセクションを、そのセクション重要度値に基づいてランク付けすることができる。別法として、又は同時的に、ビデオランク付けモジュール２２２は、ビデオファイルをそのビデオ重要度値に従ってランク付けすることができる。ランク付けは、最も重要なものから最も重要でないものへであってもよく、あるいは、逆もまた同様である。各々のランク付けされたビデオファイルについて、ビデオランク付けモジュール２２２は、ランク付けされたビデオファイル内のビデオセクションに関するメタデータをさらに記憶することができる。上記メタデータには、各ビデオセクションのランク付け、各ビデオセクションの開始及び終了時間、各ビデオセクションの継続時間、及び各ビデオセクションのセクション重要度値が含まれ得る。いくつかの実施形態において、ビデオランク付けモジュール２２２は、ビデオファイル又はビデオセクションについて、さらなる値をさらに算出することができる。こうした値には、重要度密度が含まれてもよく、重要度密度は、重要度スコア閾値を超える重要度スコアを有するビデオファイル又はビデオセクション内のビデオフレームのパーセンテージを反映することができる。さらに、上記値には品質密度が含まれてもよく、品質密度は、対応する閾値を超える否定的又は肯定的特徴を有するビデオファイル又はビデオセクション内のフレームのパーセンテージを反映することができる。上記否定的又は肯定的特徴には、揺れ、過剰露出、過少露出等が含まれ得る。ビデオランク付けモジュール２２２は、個々のビデオファイル及び／又はビデオセクションのランク付けを生成するのに使用される複数のタイプのスコアと他の計算された値とを、関連メタデータとしてデータストア２２６に記憶することができる。
【００６１】
ビデオファイル又はビデオセクションのセットがいったんランク付けされると、ビデオランク付けモジュール２２２は、ランク付けされたビデオファイル又はビデオセクションのサムネイル画像表現を表示することができる。このことに応じて、サムネイル画像表現の選択が、メディアプレーヤ１２２に対応ビデオセクションを再生させ、あるいは、他のアプリケーションに共有及び又は編集のために対応ビデオセクションを提供させることができる。
【００６２】
ユーザインターフェースモジュール２２４は、ユーザがインターフェース２０４を介してビデオ解析エンジン１０２のモジュールと相互作用することを可能にする。例えば、ユーザインターフェースモジュール２２４は、ユーザが重要度解析のためのビデオファイルを選択し、ビデオファイル内で識別される人間の顔に情報でタグ付けし、肯定的特徴スコアバイアスかけのために人間の顔を強調し、及び／又はサムネイル画像表現を介してメディアプレーヤ１２２による再生のためのビデオファイル及びビデオセクションを選択することを可能にする。いくつかの実施形態において、ユーザは、ユーザインターフェース２２４をさらに使用して、ビデオ解析エンジン１０２による解析のためにビデオファイルの低レベル特徴のうち１つ以上又は高レベル特徴のうち１つ以上を選択することができる。
【００６３】
データストア２２６は、様々なモジュールにより使用されるデータを記憶することができる。少なくともいくつかの実施形態において、データストア２２６は、ビデオファイル２２８、ランク付けされたビデオファイル２３０、ランク付けされたビデオセクション２３２、及び／又は、ランク付けされたビデオファイル２３０及びランク付けされたビデオセクション２３２に関連付けられたメタデータ２３４を記憶することができる。他の実施形態において、データストア２２６は、ビデオファイル及びビデオセクションをランク付けするのに使用されるビデオファイル又はビデオセクションに関連付けられたデータ（例えば、重要度スコア）を記憶することができる。データストア２２６は、モジュールにより生成されるさらなる帰結及び値、例えば、ホモグラフ変換マトリクス、特徴スコア、ビデオ重要度スコア、セクション重要度スコア等をさらに記憶することができる。
【００６４】
いくつかの実施形態において、１つ以上のさらなるアプリケーションがコンピューティング装置１０４上にインストールされることができる。こうしたアプリケーションにはビデオ編集アプリケーションが含まれてもよく、ビデオ編集アプリケーションは、元のビデオファイルのうちの精選ビデオセクションから新しいビデオファイルを編成するのに使用される。例えば、上記ビデオ編集アプリケーションは、ユーザが、一緒にデジタル的に組み合わせられるべき特定のスコア閾値を超えるセクション重要度値を有するビデオセクションを選択して、ハイライトビデオファイルを作成することを可能にすることができる。アプリケーションにはオンライン共有アプリケーションがさらに含まれてもよく、オンライン共有アプリケーションは、ユーザがビデオファイル、ビデオセクション、又はハイライトビデオをオンラインで投稿することを可能にする。さらなる実施形態において、１つ以上の他のアプリケーションがコンピューティング装置１０４上にインストールされて、ビデオファイル及びビデオセクションについてデータストア２２６に記憶されたデータにアプリケーションインターフェースを介してアクセスしてもよい。上記アプリケーションはデータにアクセスして、他の方法で解析結果を使用し得る。換言すると、ビデオ解析エンジン１０２は、より低いレベルのサービスとして機能して、データを上記アプリケーションに提供することができる。
【００６５】
例示的な処理
図４〜図７は、ビデオファイルのルールに基づく重要度解析を実行する様々な例示的処理を説明する。各例示的処理において動作が記載される順序は、限定とみなされることは意図されず、説明される動作のうち任意数が、任意の順序で及び／又は並列に組み合わせられて各処理を実施してもよい。さらに、図４〜図７の各々における動作は、ハードウェア、ソフトウェア、及びこれらの組み合わせにおいて実装され得る。ソフトウェアの文脈において、動作はコンピュータ実行可能命令を表し、該命令は、１つ以上のプロセッサにより実行されるときに、列挙された動作を１つ以上のプロセッサに実行させる。一般に、コンピュータ実行可能命令には、特定機能が実行され又は特定抽象データタイプが実装されることを引き起こすルーチン、プログラム、オブジェクト、コンポーネント、データ構造、及び同様のものが含まれる。
【００６６】
図４は、ルールに基づくビデオ解析を使用してビデオファイル内の特徴を解析してビデオファイルのビデオセクションをその重要度に基づいてランク付けする一例示的な処理４００を例示するフロー図である。ブロック４０２において、ビデオ解析エンジン１０２は、ビデオファイル、例えばビデオファイル１０８（１）などをデコードして、ビデオフレームと該ビデオフレームに関連付けられたオーディオデータとを取得することができる。ビデオデコーダモジュール２１０は、様々なコーデックを使用してビデオファイルをデコードすることができ、例えば、Ｈ．２６４、ＭＰＥＧ−２、ＭＰＥＧ−４等である。上記関連オーディオデータは、ビデオフレームと同じ継続時間、例えば、１秒の１／３０又は１秒の１／６０を有し得る。しかしながら、いくつかの実施形態において、ビデオデコーダモジュール２１０は、関連オーディオデータを取得することなくビデオフレームを取得するように構成されてもよく、あるいは、逆もまた同様である。
【００６７】
ブロック４０４において、ビデオ解析エンジン１０２は、ビデオフレームのビデオ特徴又はオーディオデータのオーディオ特徴のうち少なくとも１つを解析して、特徴スコアを取得することができる。ビデオ解析エンジン１０２は、上記解析を、１つ以上の局所的ルールに基づいて実行することができる。様々な実施形態において、解析される１つ以上の特徴には、高レベル特徴及び／又は低レベル特徴が含まれ得る。例えば、低レベル特徴には、露出品質、彩度品質、ビデオフレームの揺れ、平均明度、色エントロピー、及び／又はビデオフレーム間におけるヒストグラム差などの特徴が含まれ得る。高レベル特徴には、ビデオフレーム内で検出される顔の数量、位置、及び／又は顔面特徴などの特徴が含まれ得る。
【００６８】
ブロック４０６において、ビデオ解析エンジン１０２は、ビデオフレームの特徴スコアをビデオフレームのメタデータとして記憶することができる。様々な実施形態において、ビデオ解析エンジン１０２は、メタデータをデータストア２２６に記憶することができる。こうしたメタデータは、ビデオフレームの解析の再発を、同じビデオフレームを伴う対応ビデオファイル又はビデオセクションの重要度の将来の決定の間、低減させ、あるいは除外することができる。
【００６９】
判断ブロック４０８において、ビデオ解析エンジン１０２は、解析すべきビデオファイルのさらなるフレームが存在するかどうかを決定することができる。換言すると、ビデオ解析エンジン１０２は、ビデオファイルのビデオフレーム及び関連オーディオデータのすべてがデコードされたかどうかを決定することができる。ビデオ解析エンジン１０２が、解析すべきさらなるフレームが存在すると決定する場合（判断ブロック４０８において“ｙｅｓ”）、処理４００はブロック４０２にループバックし得る。ブロック４０２において、ビデオ解析エンジン１０２は、後続ビデオフレーム及び関連データをビデオファイルから取得することができる。しかしながら、ビデオ解析エンジン１０２が判断ブロック４０８において、ビデオファイルのさらなるビデオフレームが解析されることにならないと決定する場合（判断ブロック４０８において“ｎｏ”）、処理４００はブロック４１０に進み得る。
【００７０】
ブロック４１０において、ビデオ解析エンジン１０２は、少なくとも１つの大局的ルールを１つ以上の特徴結果に適用することができる。例えば、最も高いグループ重要度スコアを有するグループ内に顔が出現する人は、主要な人物と考えられることができる。こうした情報に基づいて、高レベル解析モジュール２１４は大局的ルールをビデオフレームに適用することができ、したがって、主要人物を示すビデオフレームの顔重要度スコアがさらに評価されることができる。
【００７１】
ブロック４１２において、ビデオ解析エンジン１０２は、ビデオファイルの各ビデオフレームのすべての特徴スコアを組み合わせて、各ビデオフレームの対応フレーム重要度スコアを導出することができる。例えば、ビデオ解析エンジン１０２は、各ビデオフレームの正規化された特徴スコアのセットを平均して、各ビデオフレームのフレーム重要度スコアを取得することができる。
【００７２】
ブロック４１４において、ビデオ解析エンジン１０２は、ビデオファイルのメタデータを記憶することができる。メタデータには、ビデオファイルのビデオフレームのビデオフレーム重要度スコア及び／又は各ビデオフレームの特徴スコアが含まれ得る。
【００７３】
ブロック４１６において、ビデオ解析エンジン１０２は、ビデオフレームのビデオフレーム重要度スコアに基づいて、ビデオファイルをビデオセクションに区分することができる。いくつかの実施形態において、ビデオ解析エンジン１０２は、ウィンドウマスの算出を使用して、ビデオファイルをビデオセクションに区分することができる。他の実施形態において、ビデオ解析エンジン１０２は、ビデオファイル内に捕捉されたモーションデータのズーム及び垂直並進モーションのゼロ交差を使用して、ビデオファイルをビデオセクションに区分することができる。
【００７４】
ブロック４１８において、ビデオ解析エンジン１０２は、ビデオファイルの各ビデオセクションのセクション重要度値を算出することができる。様々な実施形態において、ビデオ解析エンジン１０２は、セクション重要度値を、ビデオセクション内のビデオフレームの正規化されたフレーム重要度スコアに基づいて生成することができる。いくつかの例において、重要度算出モジュール２１８は、ビデオセクションのセクション重要度値の生成の間、１つ以上の特徴スコアに対するバイアスかけをさらに適用することができる。
【００７５】
ブロック４２０において、ビデオ解析エンジン１０２は、ビデオセクションをそのセクション重要度値に従ってランク付けすることができる。例えば、ビデオセクションは、最も高い重要度から最も低い重要度へランク付けされることができ、あるいは、逆もまた同様である。ビデオセクションがいったんランク付けされると、ビデオ解析エンジン１０２は、ビデオセクションのサムネイル画像表現を表示することができる。サムネイル画像表現の選択は、メディアプレーヤ１２２が対応ビデオセクションを再生すること、又は他のアプリケーションが対応ビデオセクションを共有及び／又は編集のために提供することを引き起こすことができる。別法として、ビデオ解析エンジン１０２は、ランク付けデータを別のアプリケーションに提供することができ、したがって、該アプリケーションは、ランク付けされたビデオセクションのサムネイル表現を表示することができる。
【００７６】
図５は、ルールに基づくビデオ解析を使用してビデオファイルの特徴を解析してビデオファイルをその重要度に基づいてランク付けする一例示的な処理５００を例示するフロー図である。ブロック５０２において、ビデオ解析エンジン１０２は、ビデオファイルの集合、例えばビデオ集合１０６から、ビデオファイルを取得することができる。様々な実施形態において、ビデオ解析エンジン１０２は、ビデオファイルをユーザからの選択入力に基づいて取得することができる。
【００７７】
ブロック５０４において、ビデオ解析エンジン１０２は、ビデオファイルのビデオ重要度値を、ビデオファイル内のビデオフレームのビデオフレーム重要度スコアに基づいて算出することができる。ビデオ解析エンジン１０２は、図４に示される処理４００のブロック４０２〜４１２において説明されたとおり、ビデオファイルの各フレーム重要度スコアを計算することができる。様々な実施形態において、ビデオ解析エンジン１０２は、ビデオフレーム重要度スコアを平均して、ビデオファイルのビデオ重要度値を導出することができる。別の実施形態において、ビデオ解析エンジン１０２は、最も高い重要度を有するビデオファイルの１つ以上のビデオセクションのビデオフレーム重要度スコアを平均して、ビデオファイルの重要度値を導出するように構成されてもよい。いくつかの実施形態において、ビデオファイルのビデオ重要度値の算出は、フレームに関連付けられた１つ以上の重要度スコアにバイアスをかけることをさらに含むことができる。
【００７８】
判断ブロック５０６において、ビデオ解析エンジン１０２は、さらなるビデオファイルが解析されるべきであるかどうかを決定することができる。ビデオ解析エンジン１０２は、上記の決定を、ユーザから受信する選択入力に基づいて行うことができる。ビデオ解析エンジン１０２が、解析されるべきさらなるビデオファイルが存在すると決定する場合（判断ブロック５０６において“ｙｅｓ”）、処理５００はブロック５０２へループバックし得る。ブロック５０２において、ビデオ解析エンジン１０２は、さらなる解析のためにビデオファイルの集合から別のビデオファイルを取得することができる。
【００７９】
しかしながら、ビデオ解析エンジン１０２が、解析されるべきさらなるビデオファイルがないと決定する場合（判断ブロック５０６において“ｎｏ”）、処理５００はブロック５０８に進み得る。ブロック５０８において、ビデオ解析エンジン１０２は、解析されるビデオファイルを、対応するビデオ重要度値に基づいてランク付けすることができる。例えば、ビデオファイルは、最も高い重要度から最も低い重要度へランク付けされることができ、あるいは、逆もまた同様である。ビデオファイルがいったんランク付けされると、ビデオ解析エンジン１０２は、ビデオファイルのサムネイル画像表現を表示することができる。これにおいて、サムネイル画像表現の選択は、メディアプレーヤ１２２が対応ビデオフレームを再生すること、又は、他のアプリケーションが対応ビデオセクションを共有及び／又は編集のために提供することを引き起こすことができる。別法として、ビデオ解析エンジン１０２は、ランク付けデータを別のアプリケーションに提供することができ、したがって、該アプリケーションは、ランク付けされたビデオファイルのサムネイル表現を表示することができる。
【００８０】
いくつかの実施形態において、ビデオ解析エンジン１０２は、ビデオファイルのビデオセクション及び／又はビデオファイルを、ビデオフレームの高レベル特徴について取得される特徴スコアに基づいてランク付けするように最初試みることができる。こうした実施形態において、ビデオ解析エンジン１０２は、ビデオフレーム内の高レベル特徴の不十分な存在に起因して上記最初の試みが失敗するとき、ビデオフレームの高レベル特徴と低レベル特徴との双方についての特徴スコアを取得することに頼ってランク付けを作り出すことができる。
【００８１】
図６は、ビデオフレームの顔重要度スコアを計算する一例示的な処理６００を例示するフロー図である。ブロック６０２において、高レベル解析モジュール２１４は、ビデオフレームに対して顔検出を実行して、１つ以上の顔を検出することができる。検出された顔
は、ビデオフレームを捕捉したカメラに対面しているか、又はカメラに対して横向きであり得る。上記検出に基づいて、高レベル解析モジュール２１４は、検出された顔のリストを、ビデオフレーム内におけるその位置、各顔によりカバーされるビデオフレームのエリア、及び検出における信頼度を示す各顔の検出信頼度スコアと共に生成することができる。
【００８２】
ブロック６０４において、高レベル解析モジュール２１４は、顔追跡を実行して、１つ以上の顔を追跡することができる。様々な実施形態において、高レベル解析モジュール２１４は、複数のビデオフレームにわたり人間の顔を追跡することができる。こうして、高レベル解析モジュール２１４は、ビデオファイル内に存在する顔のセットを確認し、さらに、各顔がビデオファイル内に出現する頻度を追跡することができる。
【００８３】
ブロック６０６において、高レベル解析モジュール２１４は、顔面特性に基づくスコアバイアスがビデオフレームに割り当てられるべきかどうかを決定することができる。様々な実施形態において、上記決定は、１つ以上の顔面特性がビデオフレーム内で存在し又は欠如するかどうかに基づいて行われることができる。ゆえに、高レベル解析モジュール２１４が、顔面特性に基づくスコアバイアスが割り当てられるべきであると決定する場合（判断ブロック６０６において“ｙｅｓ”）、処理６００はブロック６０８に進み得る。しかしながら、高レベル解析モジュール２１４が、顔面特性に基づくスコアバイアスが割り当てられるべきでないと決定する場合（判断ブロック６０６において“ｎｏ”）、処理６００はブロック６１０に直接進み得る。
【００８４】
ブロック６０８において、高レベル解析モジュール２１４は、ビデオフレーム内の少なくとも１つの顔の顔面特性に基づいて、スコアバイアスをビデオフレームに割り当てることができる。顔面特性には、顔サイズ、顔の動き、及び／又は特定の顔面特徴の存在又は欠如（例えば、笑っているか否か、閉じられた／開かれた目等）が含まれ得る。例えば、最小サイズ閾値よりもより小さいか又は最大サイズ閾値よりもより大きいサイズであるビデオフレーム内の顔が、高レベル解析モジュール２１４による否定的スコアバイアスの割り当てを結果としてもたらし得る。別の例において、特定の人の顔を示すビデオフレームの重要度スコアが、該顔の、ビデオフレームの中心に対する、軸（例えば、ｘ軸又はｙ軸）に沿った距離に従って、肯定的又は否定的にバイアスをかけられてもよく、したがって、中心に対してより近い顔がビデオフレームのより高い重要度を結果としてもたらし、逆も又は同様である。否定的スコアバイアスは、ビデオフレームの顔重要度スコアを減少させる重み因子であり得る。さらなる一例において、高レベル解析モジュール２１４は、笑っている及び／又は開いた目を有する各顔について、肯定的スコアバイアスを割り当ててもよい。
【００８５】
ブロック６１０において、高レベル解析モジュール２１４は、少なくとも１つの顔に対して、顔認識又は顔グループ化のうち少なくとも１つを実行することができる。顔グループ化において、高レベル解析モジュール２１４は、追跡される顔をグループ化して、異なるビデオフレーム上で検出される顔が同じ人間に属するかどうかを決定することができる。顔認識において、高レベル解析モジュール２１４は、顔認識アルゴリズムを使用して、ビデオフレーム内で検出される各人の顔を人の既知のアイデンティティにマッチさせることができる。
【００８６】
ブロック６１２において、高レベル解析モジュール２１４は、顔追跡データ又は顔認識データのうち少なくとも１つに基づいて、１以上の主要人物を識別することができる。例えば、各グループ内の顔の数は、ビデオファイル内における顔の行き渡りに正比例する。さらに、より多くの行き渡りは、その顔を有する人間のより高い重要度を示し、逆もまた同様である。このことに応じて、最多数の顔を有するグループに属する顔が、高レベル解析モジュール２１４によって、主要人物に属するとして決定されることができる。別の例において、主要人物に属するとして指定された顔が、顔認識アルゴリズムによってビデオフレーム内に存在するとして検出されるとき、主要人物が識別されてもよい。
【００８７】
ブロック６１４において、高レベル解析モジュール２１４は、ビデオフレーム内の主要人物の各存在について、ビデオフレームに肯定的スコアバイアスを割り当てることができる。肯定的特徴スコアは、ビデオフレームについて算出される顔重要度スコアを高めることができる。肯定的スコアバイアスは、ビデオフレームの顔重要度スコアを増加させる重み因子であり得る。
【００８８】
ブロック６１６において、高レベル解析モジュール２１４は、ビデオフレームの顔重要度スコアを計算することができる。顔重要度スコアは、ビデオフレーム内の各顔のサイズ及び／又は動きに比例して算出されることができる。顔重要度スコアの計算は、肯定的及び／又は否定的スコアバイアスに基づいて算出されることができる。
【００８９】
図７は、特徴点の動きを解析することによってビデオ内の重要セクションを決定する一例示的な処理７００を例示するフロー図である。ブロック７０２において、モーション解析モジュール２１６は、ビデオファイル、例えばビデオファイル１０８（１）などの、ビデオフレームを取得することができる。ビデオデコーダモジュール２１０が、モーション解析モジュール２１６による解析のためにビデオファイルからビデオフレームを解析していてもよい。
【００９０】
判断ブロック７０４において、モーション解析モジュール２１６は、ビデオファイルの終わりが到達されたかどうかを決定することができる。モーション解析モジュール２１６が、ビデオファイルの終わりが到達されていないと決定する場合（判断ブロック７０４において“ｎｏ”）、処理７００はブロック７０６に続き得る。
【００９１】
ブロック７０６において、モーション解析モジュール２１６は、ビデオフレーム内の特徴点を検出することができる。様々な実施形態において、モーション解析モジュール２１６は、ビデオフレームをダウンサンプリングし、より小さい次元のダウンサンプリングされた画像のピラミッドを作成することができる。それから、ダウンサンプリングされた画像がモーション解析モジュール２１６によって比較されて、ダウンサンプリングされた画像間における共通点（すなわち、特徴点）を決定することができる。
【００９２】
判断ブロック７０８において、モーション解析モジュール２１６は、ビデオフレームがビデオファイルの最初のビデオフレームであるかどうかを決定することができる。このことに応じて、モーション解析モジュール２１６が、ビデオフレームが最初のビデオフレームであると決定する場合（判断ブロック７０８において“ｙｅｓ”）、処理７００はブロック７０２にループバックし得る。ブロック７０２に戻ると、モーション解析モジュール２１６は、ビデオファイルの別のビデオフレームを取得することができる。しかしながら、モーション解析モジュール２１６が、ビデオファイルがビデオの最初のビデオフレームでないと決定する場合（判断ブロック７０８において“ｎｏ”）、処理７００はブロック７１０に進み得る。
【００９３】
ブロック７１０において、モーション解析モジュール２１６は、ビデオフレーム内の特徴点を、ビデオファイルの前のビデオフレーム内の特徴点のさらなるセットにマッチさせることができる。様々な実施形態において、モーション解析モジュール２１６は、最大数の特徴点がマッチするように２つの隣接するフレームを整列させる変換を決定することによって、マッチングを実行することができる。少なくとも１つの実施形態において、上記変換は、ロバストパラメータ推定の一実装であるジオメトリックマッチングを用いて実行されることができる。
【００９４】
ブロック７１２において、モーション解析モジュール２１６は、ビデオフレーム間における特徴点の動きを説明するホモグラフィ変換マトリクスを算出することができる。少なくともいくつかの実施形態において、モーション解析モジュール２１６は、ランダムサンプリング及びコンセンサス（ＲＡＮＳＡＣ）アルゴリズムを使用して、ホモグラフィ変換マトリクスを取得することができる。
【００９５】
ブロック７１４において、モーション解析モジュール２１６は、ホモグラフ変換マトリクスから、ビデオフレームのモーションデータを計算することができる。様々な実施形態において、モーション解析モジュール２１６は、ホモグラフ変換マトリクスを用いて、ズーミング及び垂直並進成分の大きさ及び方向を抽出することができる。上記大きさ及び方向は、２つの隣接フレーム内における、記録したカメラの意図的動作を表す。その後、処理７００はブロック７０２にループバックすることができ、したがって、モーション解析モジュール２１６は、処理のためにビデオファイルの別のビデオフレームを取得することができる。
【００９６】
判断ブロック７０４に戻ると、モーション解析モジュール２１６が、ビデオファイルの終わりが到達されたと決定する場合（判断ブロック７０４において“ｙｅｓ”）、処理７００はブロック７１６に続き得る。ブロック７１６において、モーション解析モジュール２１６は、ビデオフレームのモーションデータの移動平均と、各ビデオフレームのフレーム動き揺れとを算出することができる。ビデオファイルの１つ以上のビデオフレームのモーションデータが、上記算出の前に組み合わせられることができる。様々な実施形態において、モーション解析モジュール２１６は、ビデオフレームの動きベクトルのモーションデータ移動平均を算出することによって、ビデオフレームを記録したカメラの揺れ動きを決定し、モーションデータ移動平均から上記カメラの意図的動きを減算することができる。モーションデータ移動平均の算出は、局所的分散を抑制し、意図的動きを表す長期トレンドを維持する。換言すると。
【００９７】
ブロック７１８において、モーション解析モジュール２１６は、ゼロ交差ゾーンを確認して（ascertain）、モーションデータの局所的なピーク及び谷情報、すなわち極大及び極小を見つけることができる。局所的ピーク及び谷情報は、ビデオファイルのシーン移行点を示し得る。
【００９８】
ブロック７２０において、モーション解析モジュール２１６は、局所的ピーク及び谷情報に基づいて、ビデオファイルをビデオセクションに区分することができる。さらに、モーション解析モジュール２１６は、各ビデオセクションについて、ズーム及びパンモーションの大きさを組み合わせ、平均することができる。ビデオセクションのズーム及びパンモーションの大きさの平均により表される加速の量がモーション解析モジュール２１６によって使用されて、ビデオセクションにモーション重要度スコアを割り当ててもよい。その後、モーション解析モジュール２１６は、最も高いモーション重要度スコアを有する１つ以上のビデオセクションをビデオファイルの重要セクションとして指定することができる。
【００９９】
本明細書に説明される手法の使用は、ユーザがビデオファイルをユーザに対する重要度に基づいてランク付けすることを可能にすることができる。こうしたランク付けに基づいて、ユーザは、どのビデオファイルを保持すべきか、及びどのビデオファイルを削除すべきかを決めることができる。いくつかの例において、ユーザは、ビデオファイルのランク付けをさらに使用して、特定のビデオファイルをオンライン共有ウェブサイトに投稿すべきかどうかを決定することができる。本明細書に説明される手法は、ビデオファイルの重要セクションを表すサムネイル画像表現をさらに提示することができ、したがって、ユーザは、一見しただけで、ビデオファイルのうち興味深い部分を言うことができる。上記情報は、ビデオファイルを編集することにおいてユーザを支援して、ビデオファイルのコンテンツ品質を向上させ、あるいは個別セクションを強調することができる。
【０１００】
結び
最後に、様々な実施形態が構造的特徴及び／又は方法論的動作に固有の言語において説明されたが、別記の表現に定義される対象事項は必ずしも説明された特定の特徴又は動作に限定されないことが理解されるべきである。むしろ、上記特定の特徴及び動作は、請求される対象事項を実施する例示的形態として開示されている。
【図１】
0006694829.tif 000005
【図２】
0006694829.tif 000006
【図３】
0006694829.tif 000007
【図４】
0006694829.tif 000008
【図５】
0006694829.tif 000009
【図６】
0006694829.tif 000010
【図７】
0006694829.tif 000011