(57)【特許請求の範囲】
【請求項１】
ビデオコンテンツの要約を自動的に抽出するための方法であって、
データ処理システムによって、ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスするステップと、
前記データ処理システムによって、前記第1のビデオコンテンツ要素の前記第1の複数のフレームについてのインターバリックサブセットを選択するステップと、
前記データ処理システムによって、前記インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、前記補足サブセットのためのスコアを計算するステップと、
前記データ処理システムによって、前記複数の補足サブセットから、最高のスコアを有する補足サブセットを識別するステップと、
前記データ処理システムによって、前記最高のスコアを有する前記補足サブセットの前記フレームを備える前記第1のビデオコンテンツ要素の部分を選択するステップと、
前記データ処理システムによって、
前記フレームの中の第1の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最初のショット境界フレームを検出するステップと、
前記フレームの中の第2の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最終のショット境界フレームを検出するステップであって、前記第2の色変化が前記第1の色変化に後続する、ステップと、
前記部分の最初のフレームから前記最初のショット境界フレームまでに対応する、前記第1のビデオコンテンツ要素の第1のサブ部分を切り捨てるステップと、
最終のショット境界フレームから前記部分の最終のフレームまでに対応する、前記第1のビデオコンテンツ要素の第2のサブ部分を切り捨てるステップと
を行うことによって、前記第1のビデオコンテンツ要素の前記選択された部分を備える第2のビデオコンテンツ要素を生成するステップと
を含む方法。
【請求項２】
前記補足サブセットのための前記スコアを計算するステップが、
前記補足サブセットと正のサンプリングされた画像セットとの間の第1の距離メトリックを計算するステップと、
前記補足サブセットと負のサンプリングされた画像セットとの間の第2の距離メトリックを計算するステップと、
前記第1の距離メトリックおよび前記第2の距離メトリックの組合せに基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記補足サブセットのための前記スコアを計算するステップが、
画像認識アルゴリズムを使用して、前記補足サブセットからオブジェクトを検出するステップと、
前記画像認識アルゴリズムを使用して、前記補足サブセットから検出された前記オブジェクトの1つまたは複数の特性を識別するステップと、
前記オブジェクトから識別された前記1つまたは複数の特性に基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項1または2に記載の方法。
【請求項４】
前記補足サブセットのための前記スコアを計算するステップが、
前記補足サブセットの各フレームの間で、前記2つの対応するフレームに動き検出アルゴリズムを適用することによって、動きメトリックを計算するステップと、
前記補足サブセットの各フレームの間で計算された前記動きメトリックのセットに基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記補足サブセットのための前記スコアを計算するステップが、
前記補足サブセットの前記フレームのための複数のピクセルの中の色分布を決定するステップと、
前記補足サブセットの前記フレームのための前記複数のピクセルの中の前記色分布に基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記補足サブセットのための前記スコアを計算するステップが、
複数の補足サブセットの各々について、前記補足サブセットの前記フレームに、対応する数の画像解析アルゴリズムを適用することによって、複数のスコアを計算するステップと、
前記複数のスコアの所定の加重平均に基づいて、前記スコアを計算するステップと
をさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第1のビデオコンテンツ要素の前記部分を選択するステップが、
前記最高のスコアを有する前記補足サブセットの第2の最初のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最初のフレームを識別するステップと、
前記最高のスコアを有する前記補足サブセットの第2の最終のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最終のフレームを識別するステップと、
前記第1の最初のフレームから前記第1の最終のフレームまでの、前記第1のビデオコンテンツ要素のフレームのサブセットを選択するステップと
をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記補足サブセットのための前記スコアを計算するステップが、1つのフレームを備える前記補足サブセットのための前記スコアを計算するステップをさらに含み、
前記第2のビデオコンテンツ要素を生成するステップが、前記複数のフレームからの1つのフレームを含む前記第2のビデオコンテンツ要素を生成するステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
【請求項９】
1つのフレームを備える前記補足サブセットのための前記スコアを計算するステップが、
前記インターバリックサブセットの複数のフレームの各々について、前記フレームのシャープネスの度合いを決定するステップと、
前記決定されたシャープネスの度合いに基づいて、前記複数のフレームのサブセットを選択するステップと、
前記選択されたフレームの各々のための前記スコアを計算するステップと
をさらに含む、請求項8に記載の方法。
【請求項１０】
前記データ処理システムによって、画像認識アルゴリズムを使用して、オブジェクトを含む前記第1の複数のフレームから、第2の連続フレームのサブセットを識別するステップと、
前記データ処理システムによって、前記第2の連続フレームのサブセットを前記第2のビデオコンテンツ要素に連結するステップと
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項１１】
ビデオコンテンツの要約を自動的に抽出するためのシステムであって、
1つまたは複数のプロセッサとメモリとを有するデータ処理システムを備え、前記データ処理システムが、
ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスすることと、
前記第1のビデオコンテンツ要素の前記第1の複数のフレームについてのインターバリックサブセットを選択することと、
前記インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、前記補足サブセットのためのスコアを計算することと、
前記複数の補足サブセットから、最高のスコアを有する補足サブセットを識別することと、
前記最高のスコアを有する前記補足サブセットの前記フレームを備える前記第1のビデオコンテンツ要素の部分を選択することと、
前記フレームの中の第1の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最初のショット境界フレームを検出することと、
前記フレームの中の第2の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最終のショット境界フレームを検出することであって、前記第2の色変化が前記第1の色変化に後続する、検出することと、
前記部分の最初のフレームから前記最初のショット境界フレームまでに対応する、前記第1のビデオコンテンツ要素の第1のサブ部分を切り捨てることと、
最終のショット境界フレームから前記部分の最終のフレームまでに対応する、前記第1のビデオコンテンツ要素の第2のサブ部分を切り捨てることと
を行うことによって、前記第1のビデオコンテンツ要素の前記選択された部分を備える第2のビデオコンテンツ要素を生成することと
を行うように構成される、システム。
【請求項１２】
前記データ処理システムが、
前記補足サブセットと正のサンプリングされた画像セットとの間の第1の距離メトリックを計算することと、
前記補足サブセットと負のサンプリングされた画像セットとの間の第2の距離メトリックを計算することと、
前記第1の距離メトリックおよび前記第2の距離メトリックの組合せに基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項11に記載のシステム。
【請求項１３】
前記データ処理システムが、
画像認識アルゴリズムを使用して、前記補足サブセットからオブジェクトを検出することと、
前記画像認識アルゴリズムを使用して、前記補足サブセットから検出された前記オブジェクトの1つまたは複数の特性を識別することと、
前記オブジェクトから識別された前記1つまたは複数の特性に基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項11または12に記載のシステム。
【請求項１４】
前記データ処理システムが、
前記補足サブセットの各フレームの間で、前記2つの対応するフレームに動き検出アルゴリズムを適用することによって、動きメトリックを計算することと、
前記補足サブセットの各フレームの間で計算された前記動きメトリックのセットに基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項11から13のいずれか一項に記載のシステム。
【請求項１５】
前記データ処理システムが、
前記補足サブセットの前記フレームのための複数のピクセルの中の色分布を決定することと、
前記補足サブセットの前記フレームのための前記複数のピクセルの中の前記色分布に基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項11から14のいずれか一項に記載のシステム。
【請求項１６】
前記データ処理システムが、
複数の補足サブセットの各々について、前記補足サブセットの前記フレームに、対応する数の画像解析アルゴリズムを適用することによって、複数のスコアを計算することと、
前記複数のスコアの所定の加重平均に基づいて、前記スコアを計算することと
を行うようにさらに構成される、請求項11から15のいずれか一項に記載のシステム。
【請求項１７】
前記データ処理システムが、
前記最高のスコアを有する前記補足サブセットの第2の最初のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最初のフレームを識別することと、
前記最高のスコアを有する前記補足サブセットの第2の最終のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最終のフレームを識別することと、
前記第1の最初のフレームから前記第1の最終のフレームまでの、前記第1のビデオコンテンツ要素のフレームのサブセットを選択することと
を行うようにさらに構成される、請求項11から16のいずれか一項に記載のシステム。
【請求項１８】
前記データ処理システムが、
画像認識アルゴリズムを使用して、オブジェクトを含む前記第1の複数のフレームから、第2の連続フレームのサブセットを識別することと、
前記第2の連続フレームのサブセットを前記第2のビデオコンテンツ要素に連結することと
を行うようにさらに構成される、請求項11から17のいずれか一項に記載のシステム。
【請求項１９】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から10のいずれか一項に記載の方法を行わせる、ビデオコンテンツの要約を自動的に抽出するための命令を記憶する、コンピュータ可読記憶媒体。
【請求項２０】
ビデオコンテンツの要約を自動的に抽出するための方法であって、
データ処理システムによって、ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスするステップと、
前記データ処理システムによって、前記第1のビデオコンテンツ要素の前記第1の複数のフレームについてのインターバリックサブセットを選択するステップと、
前記データ処理システムによって、前記インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、前記補足サブセットのためのスコアを計算するステップと、
前記データ処理システムによって、前記複数の補足サブセットから、最高のスコアを有する補足サブセットを識別するステップと、
前記データ処理システムによって、前記最高のスコアを有する前記補足サブセットの前記フレームを備える前記第1のビデオコンテンツ要素の部分を選択するステップと、
前記データ処理システムによって、
前記フレームの中の第1の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最初のショット境界フレームを検出するステップと、
前記フレームの中の第2の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最終のショット境界フレームを検出するステップであって、前記第2の色変化が前記第1の色変化に後続する、ステップと、
前記部分の最初のフレームから前記最初のショット境界フレームまでに対応する、前記第1のビデオコンテンツ要素の第1のサブ部分を切り捨てるステップと、
最終のショット境界フレームから前記部分の最終のフレームまでに対応する、前記第1のビデオコンテンツ要素の第2のサブ部分を切り捨てるステップと
を行うことによって、前記第1のビデオコンテンツ要素の前記選択された部分を備える第2のビデオコンテンツ要素を生成するステップと
を含む方法。
【請求項２１】
前記補足サブセットのための前記スコアを計算するステップが、
前記補足サブセットと正のサンプリングされた画像セットとの間の第1の距離メトリックを計算するステップと、
前記補足サブセットと負のサンプリングされた画像セットとの間の第2の距離メトリックを計算するステップと、
前記第1の距離メトリックおよび前記第2の距離メトリックの組合せに基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項20に記載の方法。
【請求項２２】
前記補足サブセットのための前記スコアを計算するステップが、
画像認識アルゴリズムを使用して、前記補足サブセットからオブジェクトを検出するステップと、
前記画像認識アルゴリズムを使用して、前記補足サブセットから検出された前記オブジェクトの1つまたは複数の特性を識別するステップと、
前記オブジェクトから識別された前記1つまたは複数の特性に基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項20に記載の方法。
【請求項２３】
前記補足サブセットのための前記スコアを計算するステップが、
前記補足サブセットの各フレームの間で、前記2つの対応するフレームに動き検出アルゴリズムを適用することによって、動きメトリックを計算するステップと、
前記補足サブセットの各フレームの間で計算された前記動きメトリックのセットに基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項20に記載の方法。
【請求項２４】
前記補足サブセットのための前記スコアを計算するステップが、
前記補足サブセットの前記フレームのための複数のピクセルの中の色分布を決定するステップと、
前記補足サブセットの前記フレームのための前記複数のピクセルの中の前記色分布に基づいて、前記補足サブセットのための前記スコアを計算するステップと
をさらに含む、請求項20に記載の方法。
【請求項２５】
前記補足サブセットのための前記スコアを計算するステップが、
複数の補足サブセットの各々について、前記補足サブセットの前記フレームに、対応する数の画像解析アルゴリズムを適用することによって、複数のスコアを計算するステップと、
前記複数のスコアの所定の加重平均に基づいて、前記スコアを計算するステップと
をさらに含む、請求項20に記載の方法。
【請求項２６】
前記第1のビデオコンテンツ要素の前記部分を選択するステップが、
前記最高のスコアを有する前記補足サブセットの第2の最初のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最初のフレームを識別するステップと、
前記最高のスコアを有する前記補足サブセットの第2の最終のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最終のフレームを識別するステップと、
前記第1の最初のフレームから前記第1の最終のフレームまでの、前記第1のビデオコンテンツ要素のフレームのサブセットを選択するステップと
をさらに含む、請求項20に記載の方法。
【請求項２７】
前記補足サブセットのための前記スコアを計算するステップが、1つのフレームを備える前記補足サブセットのための前記スコアを計算するステップをさらに含み、
前記第2のビデオコンテンツ要素を生成するステップが、前記複数のフレームからの1つのフレームを含む前記第2のビデオコンテンツ要素を生成するステップをさらに含む、請求項20に記載の方法。
【請求項２８】
前記データ処理システムによって、画像認識アルゴリズムを使用して、オブジェクトを含む前記第1の複数のフレームから、第2の連続フレームのサブセットを識別するステップと、
前記データ処理システムによって、前記第2の連続フレームのサブセットを前記第2のビデオコンテンツ要素に連結するステップと
をさらに含む、請求項20に記載の方法。
【請求項２９】
ビデオコンテンツの要約を自動的に抽出するためのシステムであって、
1つまたは複数のプロセッサとメモリとを有するデータ処理システムを備え、前記データ処理システムが、
ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスすることと、
前記第1のビデオコンテンツ要素の前記第1の複数のフレームについてのインターバリックサブセットを選択することと、
前記インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、前記補足サブセットのためのスコアを計算することと、
前記複数の補足サブセットから、最高のスコアを有する補足サブセットを識別することと、
前記最高のスコアを有する前記補足サブセットの前記フレームを備える前記第1のビデオコンテンツ要素の部分を選択することと、
前記フレームの中の第1の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最初のショット境界フレームを検出することと、
前記フレームの中の第2の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最終のショット境界フレームを検出することであって、前記第2の色変化が前記第1の色変化に後続する、検出することと、
前記部分の最初のフレームから前記最初のショット境界フレームまでに対応する、前記第1のビデオコンテンツ要素の第1のサブ部分を切り捨てることと、
最終のショット境界フレームから前記部分の最終のフレームまでに対応する、前記第1のビデオコンテンツ要素の第2のサブ部分を切り捨てることと
を行うことによって、前記第1のビデオコンテンツ要素の前記選択された部分を備える第2のビデオコンテンツ要素を生成することと
を行うように構成される、システム。
【請求項３０】
前記データ処理システムが、
前記補足サブセットと正のサンプリングされた画像セットとの間の第1の距離メトリックを計算することと、
前記補足サブセットと負のサンプリングされた画像セットとの間の第2の距離メトリックを計算することと、
前記第1の距離メトリックおよび前記第2の距離メトリックの組合せに基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３１】
前記データ処理システムが、
画像認識アルゴリズムを使用して、前記補足サブセットからオブジェクトを検出することと、
前記画像認識アルゴリズムを使用して、前記補足サブセットから検出された前記オブジェクトの1つまたは複数の特性を識別することと、
前記オブジェクトから識別された前記1つまたは複数の特性に基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３２】
前記データ処理システムが、
前記補足サブセットの各フレームの間で、前記2つの対応するフレームに動き検出アルゴリズムを適用することによって、動きメトリックを計算することと、
前記補足サブセットの各フレームの間で計算された前記動きメトリックのセットに基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３３】
前記データ処理システムが、
前記補足サブセットの前記フレームのための複数のピクセルの中の色分布を決定することと、
前記補足サブセットの前記フレームのための前記複数のピクセルの中の前記色分布に基づいて、前記補足サブセットのための前記スコアを計算することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３４】
前記データ処理システムが、
複数の補足サブセットの各々について、前記補足サブセットの前記フレームに、対応する数の画像解析アルゴリズムを適用することによって、複数のスコアを計算することと、
前記複数のスコアの所定の加重平均に基づいて、前記スコアを計算することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３５】
前記データ処理システムが、
前記最高のスコアを有する前記補足サブセットの第2の最初のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最初のフレームを識別することと、
前記最高のスコアを有する前記補足サブセットの第2の最終のフレームに対応する、前記第1のビデオコンテンツ要素の第1の最終のフレームを識別することと、
前記第1の最初のフレームから前記第1の最終のフレームまでの、前記第1のビデオコンテンツ要素のフレームのサブセットを選択することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３６】
前記データ処理システムが、
画像認識アルゴリズムを使用して、オブジェクトを含む前記第1の複数のフレームから、第2の連続フレームのサブセットを識別することと、
前記第2の連続フレームのサブセットを前記第2のビデオコンテンツ要素に連結することと
を行うようにさらに構成される、請求項29に記載のシステム。
【請求項３７】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を行わせる、ビデオコンテンツの要約を自動的に抽出するための命令を記憶する、コンピュータ可読記憶媒体であって、前記動作が、
ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスすることと、
前記第1のビデオコンテンツ要素の前記第1の複数のフレームについてのインターバリックサブセットを選択することと、
前記インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、前記補足サブセットのためのスコアを計算することと、
前記複数の補足サブセットから、最高のスコアを有する補足サブセットを識別することと、
前記最高のスコアを有する前記補足サブセットの前記フレームを備える前記第1のビデオコンテンツ要素の部分を選択することと、
前記フレームの中の第1の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最初のショット境界フレームを検出することと、
前記フレームの中の第2の色変化に基づいて、前記第1のビデオコンテンツ要素の前記部分に対応する前記フレームの中の最終のショット境界フレームを検出することであって、前記第2の色変化が前記第1の色変化に後続する、検出することと、
前記部分の最初のフレームから前記最初のショット境界フレームまでに対応する、前記第1のビデオコンテンツ要素の第1のサブ部分を切り捨てることと、
最終のショット境界フレームから前記部分の最終のフレームまでに対応する、前記第1のビデオコンテンツ要素の第2のサブ部分を切り捨てることと
を行うことによって、前記第1のビデオコンテンツ要素の前記選択された部分を備える第2のビデオコンテンツ要素を生成することと
を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願の相互参照
本出願は、その全体が参照により本明細書に組み込まれる、2017年5月5日に出願した国際出願第PCT/CN2017/083223号の米国特許法119条に基づく利益を主張する。
【背景技術】
【０００２】
ビデオコンテンツ要素は、クライアントデバイス上でレンダリングおよび再生するために、コンピュータネットワーク化された環境上で提供され得る。そのようなビデオコンテンツ要素は、ある継続時間のものであり得、対応する量のコンピュータ処理能力およびネットワーク帯域幅を消費し得る。(たとえば、「プッシュされる」コンテンツ、コンテンツの別の要求されたアイテムにおいて埋め込まれるか、もしくはその一部として提供されるコンテンツ、または他のそのような配信機構として)コンテンツを求める要求に先立って、そのようなコンテンツを配信することによって、帯域幅、処理能力、およびモバイルデバイス上では、バッテリー電力の著しい消費が生じ得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
帯域幅、処理能力、およびバッテリー電力は、コンテンツの短縮バージョンまたは要約バージョンと呼ばれる、コンテンツの短縮形態を配信することによって低減され得る。短縮バージョンまたは要約バージョンは、ユーザの介入、構成要素の選択、またはセグメントの価値についての主観的決定を必要とすることなしに、自動的に生成され得る。コンテンツプロバイダによる要求、または処理デバイスへのコンテンツの配信時に、処理デバイスは、ビデオコンテンツ要素の短縮バージョンまたは要約バージョンを自動的に生成することができる。いくつかの実装形態では、サーバは、ビデオコンテンツ要素を(たとえば、毎秒1フレーム、毎秒2フレーム、2秒につき1フレーム、または任意の他のそのようなレートに)ダウンサンプリングすることができ、このダウンサンプリングは、ビデオコンテンツ要素のフレームについてのインターバリックサブセット(intervallic subset)の選択と呼ばれることがある。次いで、サーバシステムは、複数の評価器を介して、複数の処理ルールおよび値計算を適用することによって、ダウンサンプリングされたビデオコンテンツ要素の各フレームを評価または解析することができる。これらの評価器には、特に、画像品質比較器、オブジェクト検出器、動き検出器、および色分布測定器が含まれ得る。各フレームの解析より前にビデオコンテンツ要素をダウンサンプリングすることによって、サーバシステムは、そうでない場合に各評価器のリソースの重い画像解析アルゴリズムを実行するために使用されるコンピューティングリソースを低減することができる。
【０００４】
トレーニングされたモデルを使用して、画像品質比較器は、ダウンサンプリングされたビデオコンテンツ要素の各フレームの品質を評価し得る。モデルは、負としてマークされた他のビデオからランダムに選択されたあるフレームのセットと、正としてマークされた他のビデオからの別のフレームのセットとを用いて、トレーニングされていることがある。モデルを適用することによって、画像品質比較器は、フレームを正のサンプルおよび負のサンプルと比較することができる。画像比較器は、ダウンサンプリングされたビデオコンテンツ要素からのフレームが、正のサンプルおよび負のサンプルにどのくらい類似しているかを決定することができ、決定された類似性からスコアを計算することができる。
【０００５】
ダウンサンプリングされたビデオコンテンツ要素の各フレーム内でオブジェクトを検出するために、オブジェクト検出器は、各フレームに画像認識アルゴリズムを適用することができる。画像認識アルゴリズムは、パターン認識技法の中でも、顔検出および光学文字認識を含み得る。フレーム内でオブジェクトを検出すると、オブジェクト検出器は、オブジェクトの様々な特性(たとえば、サイズ、色、フォントなど)を識別することができる。次いで、オブジェクト検出器は、いくつかの検出されたオブジェクト、および各オブジェクトについて識別された様々な特性に従って、スコアを計算することができる。
【０００６】
ダウンサンプリングされたビデオコンテンツ要素の隣接フレームの間で、動き検出器は、フレームごとに、ピクセルごとの動きの度合い(measure)を決定することができる。動き検出器は、動きの度合いを上限しきい値および下限しきい値と比較することができる。動きの度合いが、上限しきい値および下限しきい値内である場合、動き検出器は、度合いと上限しきい値との間、および度合いと下限しきい値との間の差分または距離に基づいて、スコアを計算および調整することができる。したがって、動き検出器は、中程度の量の動きをもつ連続フレームに、より高いスコアを割り当てることができる。
【０００７】
各フレームについて、色分布測定器は、フレームのピクセルの中の色の分布を計算することができる。色の分布は、単一のフレーム内の色の分散または標準偏差を示し得る。フレームのピクセルの中の計算された色の分布に基づいて、色分布測定器は、ダウンサンプリングされたビデオコンテンツのフレームのためのスコアを決定することができる。スコアの決定は、分布からスコアへのマッピングに鑑みたものであり得る。
【０００８】
ダウンサンプリングされたビデオコンテンツ要素の各フレームを解析した後、サーバシステムは、フレーム評価器の各々からのスコアの加重平均を計算することができる。次いで、サーバシステムは、ウィンドウ内のフレームのサブセットのためのスコアを計算するために、スライディングウィンドウを使用することができる。ウィンドウの長さは、切捨てまたは要約ビデオコンテンツ要素の最大長さに対応するように設定され得る。合計の計算から、サーバシステムは、最高の合計を識別することができる。次いで、サーバシステムは、最高の合計のスライディングウィンドウに対応する、ダウンサンプリングされたビデオコンテンツ要素からのフレームのサブセットを選択することができる。サーバシステムは、ダウンサンプリングされたビデオコンテンツ要素のフレームの選択されたサブセットに対応する、元のビデオコンテンツ要素のフレームのサブセットを、要約ビデオコンテンツ要素として識別することができる。低減された数のフレームをもつ要約ビデオコンテンツ要素をクライアントデバイスに提供することによって、サーバシステムは、完全なビデオコンテンツ要素の配信と比較して、消費される帯域幅の量を低減することができる。加えて、要約ビデオコンテンツ要素は、クライアントデバイスにおけるビデオコンテンツの処理および再生におけるコンピューティングリソースの量を減らすことができる。
【０００９】
ビデオコンテンツ要素のフレームが、フレームの選択されたサブセットをダウンサンプリングした後に解析されたので、要約ビデオコンテンツ要素のフレームのサブセットの選択は、異なるシーンのフレームを含み得る。異なるシーンを除去するために、サーバシステムは、選択されたサブセットのフレーム内の単一のシーンの最初のショットフレームおよび最終のショットフレームを検出することができ、最初のショットフレームと最終のショットフレームとの間のそれらのフレームへとビデオコンテンツ要素を切り捨て得る。サーバシステムはまた、特定のオブジェクトを含む、識別されるような選択されたフレームのサブセットを付加することもできる。
【００１０】
これらおよび他の態様および実装形態について、以下で詳細に説明する。上記の情報および以下の詳細な説明は、様々な態様および実装形態の例示的な例を含み、請求される態様および実装形態の本質および性質を理解するための概観またはフレームワークを提供する。図面は、様々な態様および実装形態の例示およびさらなる理解を提供し、本明細書に組み込まれ、本明細書の一部を構成する。
【００１１】
添付の図面は、一定の縮尺で描かれることを意図していない。様々な図面における同様の参照番号および指示は、同様の要素を示す。明快のために、あらゆる構成要素があらゆる図面においてラベルを付けられるとは限らないことがある。図面においては、以下の通りである。
【図面の簡単な説明】
【００１２】
【図１】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出するプロセスを示すブロック図である。
【図２】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出するためのシステムを示すブロック図である。
【図３Ａ】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出する方法を示すフロー図である。
【図３Ｂ】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出する方法を示すフロー図である。
【図３Ｃ】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出する方法を示すフロー図である。
【図３Ｄ】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出する方法を示すフロー図である。
【図３Ｅ】例示的な一実装形態による、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出する方法を示すフロー図である。
【図４】例示的な一実装形態による、本明細書で説明および例示するシステムおよび方法の要素を実装するために採用され得る、コンピュータシステムのための全体的なアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００１３】
以下は、コンピュータネットワーク環境においてビデオコンテンツの要約を自動的に抽出する方法、装置、およびシステムに関する様々な概念、およびそれらの実装形態のより詳細な説明である。上記で紹介し、以下でより詳細に説明する様々な概念は、多数の方法のいずれかにおいて実装され得、その理由は、説明する概念が、実装形態のいかなる特定の様式にも限定されないからである。
【００１４】
本明細書で説明するシステムおよび方法は、ビデオコンテンツの要約の自動生成に関連する問題に対処し得る。ビデオコンテンツの要約は、元のビデオの圧縮されたフォーマットにおいて、元のビデオの情報コンテンツを提供するビデオコンテンツを提供することができる。したがって、ビデオコンテンツの要約は、元のビデオと比較して少量のデータを使用して、クライアントデバイスのユーザによって、ビデオコンテンツをプレビューすることを可能にすることができ、したがって、たとえば、そのような完全なビデオコンテンツが所望されると決定すると、ユーザが完全なビデオコンテンツを受信することを可能にすることによって、帯域幅使用を低減することができる。
【００１５】
最初に図1を参照すると、図示されているのは、ビデオコンテンツの要約を自動的に抽出するプロセス100を示すブロック図である。プロセス100において説明する、本明細書で説明する機能は、データ処理システム、または以下で説明するような図2に示すシステム200、もしくは図4におけるシステム400の任意の1つもしくは複数の構成要素もしくはモジュールによって行われ得る。プロセス100は、元のビデオコンテンツ要素105とともに開始し得、元のビデオコンテンツ要素105は、未加工もしくは圧縮されていないビデオファイル、圧縮されたビデオファイル、アニメーションもしくはビデオの個々の画像の集合、または任意の他のタイプおよび形態のビデオ要素を備え得る。ビデオコンテンツおよび解析に関して主に説明するが、コンテンツアイテムは、ビデオおよびオーディオを備える、マルチメディアコンテンツアイテムであり得る。ビデオコンテンツ要素105は、N個のフレーム110-1〜110-Nを含み得る。フレーム110-1〜110-Nは、任意のフレームレート(たとえば、毎秒10フレームから毎秒600フレームまで)において、コンピューティングデバイス上のビデオプレーヤによる再生のために構成または識別され得る。
【００１６】
元のビデオコンテンツ要素105がダウンサンプリングされて、ダウンサンプリングされたビデオコンテンツ要素105'が形成され得る。ダウンサンプリングされたビデオコンテンツ要素105'は、元のビデオコンテンツ要素105のフレームについてのインターバリックサブセット、すなわち、所定の期間または間隔数のフレーム(たとえば、10フレームごとに1つ、30フレームごとに1つなど)に従って選択されたフレームのサブセットを含み得る。図1に示す実装形態では、ダウンサンプリングされたビデオコンテンツ要素105'は、元のビデオコンテンツ要素105の10フレームごとのフレーム(たとえば、フレーム110-1、110-11、110-21〜110-M)を含む。10フレームごとのフレームの使用は一例であり、他のサンプルレート値が使用され得る。元のビデオコンテンツ要素105をダウンサンプリングすることによって、様々な品質分析技法をダウンサンプリングされたビデオコンテンツ要素105'に適用する際に、コンピューティングリソースが低減され得る。
【００１７】
ビデオコンテンツ要素105をダウンサンプリングした後、フレーム評価器が、ダウンサンプリングされたビデオコンテンツ要素105'の個々のフレーム上で適用されて、全体的にスコア120と呼ばれる、スコア125A〜125Mが計算され得る。いくつかの実装形態では、フレーム評価器には、特に、画像品質比較器、オブジェクト検出器、動き検出器、および色分布測定器が含まれ得る。
【００１８】
画像品質比較器は、正または負としてマークされた他の画像をもつフレーム間の比較に基づいて、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームのためのスコアを計算することができる。たとえば、いくつかの実装形態では、トレーニングされたモデルを使用して、画像品質比較器は、ダウンサンプリングされたビデオコンテンツ要素の各フレームの品質を評価し得る。モデルは、負としてマークされた他のビデオからランダムに選択されたあるフレームのセットと、正としてマークされた他のビデオからの別のフレームのセットとを用いて、トレーニングされていることがある。モデルを適用することによって、画像品質比較器は、フレームを正のサンプルおよび負のサンプルと比較することができる。画像比較器は、ダウンサンプリングされたビデオコンテンツ要素からのフレームが、正のサンプルおよび負のサンプルにどのくらい類似しているかを決定することができ、決定された類似性からスコアを計算することができる。
【００１９】
オブジェクト検出器は、画像認識アルゴリズムを使用して、フレームにおいて識別されたオブジェクト、およびオブジェクトの様々な特性を使用して、各フレームのための別のスコアを計算することができる。いくつかの実装形態では、ダウンサンプリングされたビデオコンテンツ要素の各フレーム内でオブジェクトを検出するために、オブジェクト検出器は、各フレームに画像認識アルゴリズムを適用することができる。画像認識アルゴリズムは、パターン認識技法の中でも、顔検出および光学文字認識を含み得る。フレーム内でオブジェクトを検出すると、オブジェクト検出器は、オブジェクトの様々な特性(たとえば、サイズ、色、フォントなど)を識別することができる。次いで、オブジェクト検出器は、いくつかの検出されたオブジェクト、および各オブジェクトについて識別された様々な特性に従って、スコアを計算することができる。
【００２０】
動き検出器は、ダウンサンプリングされたビデオコンテンツ要素105'の隣接フレームの間の動きの量に基づいて、各フレームのための別のスコアを計算することができる。たとえば、いくつかの実装形態では、ダウンサンプリングされたビデオコンテンツ要素の隣接フレームの間で、動き検出器は、フレームごとに、ピクセルごとの動きの度合いを決定することができる。動き検出器は、動きの度合いを上限しきい値および下限しきい値と比較することができる。動きの度合いが、上限しきい値および下限しきい値内である場合、動き検出器は、度合いと上限しきい値との間、および度合いと下限しきい値との間の差分または距離に基づいて、スコアを計算および調整することができる。したがって、動き検出器は、中程度の量の動きをもつ連続フレームに、より高いスコアを割り当てることができる。
【００２１】
色分布測定器は、対応するフレーム上のピクセルの色分布に基づいて、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームのための別のスコアを計算することができる。各フレームについて、色分布測定器は、フレームのピクセルの中の色の分布を計算することができる。色の分布は、単一のフレーム内の色の分散または標準偏差を示し得る。フレームのピクセルの中の計算された色の分布に基づいて、色分布測定器は、ダウンサンプリングされたビデオコンテンツのフレームのためのスコアを決定することができる。スコアの決定は、分布からスコアへのマッピングに鑑みたものであり得る。
【００２２】
様々な品質分析技法を用いて計算されたスコアを使用して、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームは、対応する複合スコア125A〜125Mを割り当てられ得る。各複合スコア125A〜125Mは、フレーム評価器によって計算されたスコアの加重総和または加重平均であり得る。いくつかの実装形態では、各順次処理または解析ステップの後、スコアが累積(たとえば、新たに計算されたスコアを前の合計に加算すること)され得るが、他の実装形態では、処理または解析が並列に行われ、スコアが一緒に合計され得る。
【００２３】
次いで、スライディングウィンドウ135が、ダウンサンプリングされたビデオコンテンツ要素105'の対応するフレーム(たとえば、フレーム110-11および110-21)にわたって、複数の複合スコアの総和130A〜130O(たとえば、スコア125Bおよび125Cの合計が130Bになる)を計算するために使用され得る。ウィンドウの長さは、切捨てまたは要約ビデオコンテンツ要素の最大長さに対応するように設定され得る。
【００２４】
スコアの総和130A〜130Oの中で、スライディングウィンドウ135を使用する複数のスコアの最大の総和が識別され得る(たとえば、合計130B)。複数のスコアの最大の総和に対応する、ダウンサンプリングされたビデオコンテンツ要素105'のフレームが選択され得る(たとえば、フレーム110-11および110-21)。次いで、これらの選択されたフレームに対応する元のビデオコンテンツ要素105のフレームが識別され得(たとえば、10対1のダウンサンプリングを用いる一実装形態では、フレーム110-11〜110-30)、要約ビデオコンテンツ要素105''を作成するために識別され得る。したがって、いくつかの実装形態では、サーバシステムは、ダウンサンプリングされたビデオコンテンツ要素のフレームの選択されたサブセットに対応する、元のビデオコンテンツ要素のフレームのサブセットを、要約ビデオコンテンツ要素として識別することができる。
【００２５】
完全な、元のビデオコンテンツ要素105と比較して、要約ビデオコンテンツ要素105''は、より少数のフレームを含むか、またはより短い継続時間(たとえば、スライディングウィンドウのサイズに基づいて、60秒ではなく5秒、または任意の他のそのような時間)をカバーし得る。このようにして、要約ビデオコンテンツ要素105''の配信によって、完全なビデオコンテンツ要素105の提供と比較して、ビデオごとに消費される帯域幅および他のネットワークリソースの量を低減することができる。加えて、要約ビデオコンテンツ要素105''は、クライアントデバイスにおけるビデオコンテンツの処理およびレンダリングにおけるコンピューティングリソースの量を減らすことができる。
【００２６】
ビデオコンテンツ要素のフレームが、フレームの選択されたサブセットをダウンサンプリングした後に解析されたので、要約ビデオコンテンツ要素のフレームのサブセットの選択は、異なるシーンのフレームを含み得る。異なるシーンを除去するために、サーバシステムは、選択されたサブセットのフレーム内の単一のシーンの最初のショットフレームおよび最終のショットフレームを検出することができ、最初のショットフレームと最終のショットフレームとの間のそれらのフレームへとビデオコンテンツ要素を切り捨て得る。サーバシステムはまた、特定のオブジェクトを含む、識別されるような選択されたフレームのサブセットを付加することもできる。
【００２７】
次に図2を参照すると、図示されているのは、ビデオコンテンツの要約を自動的に抽出するためのデータ処理システム200である。ただ1つのデータ処理システム200が示されているが、多数の実装形態では、データ処理システム200は、ファーム、クラウド、クラスタ、または複数のデータ処理システムもしくはコンピューティングデバイスの他のグルーピングであり得る。データ処理システム200は、処理回路と呼ばれることがある、少なくとも1つのプロセッサおよびメモリを含み得、その各々について、図4に関連して以下でより詳細に説明する。データ処理システム200は、ビデオアクセッサ210と、ダウンサンプラまたはインターバリックフレームセレクタ215と、1つまたは複数のフレーム評価器220(図示のように並列に、任意の順序で直列に、または直列および並列処理の任意の組合せにおいて提供され得る)と、スコア合成器(score amalgamator)250と、フレームセレクタ255と、シーン境界切捨て器(scene boundary truncator)260とを含み得る。1つまたは複数のフレーム評価器220は、特に、画像比較器225と、動き検出器235と、オブジェクト検出器240と、色分布測定器245とを含み得る。ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265の各々は、ハードウェア、または、1つもしくは複数のスクリプトもしくは他のコンピュータ論理を実行するように構成された、1つもしくは複数のプロセッサなど、ソフトウェアおよびハードウェアの組合せを含み得る。ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265の各々は、別個の構成要素、単一の構成要素を含み得るか、またはデータ処理システム200の一部であり得る。データ処理システム200は、ビデオコンテンツデータベース205、サンプル画像データベース230、および要約ビデオコンテンツデータベース270など、コンテンツリポジトリまたはデータベースを含み得る。いくつかの実装形態では、データ処理システム200は、物理的コンピューティングデバイス、物理的コンピューティングデバイスによって実行される仮想コンピューティングデバイス、クラスタ、サーバファーム、クラウド、または他のそのような並列またはスケーラブルなシステムを含む、複数のコンピューティングデバイスの間で分割され得る。
【００２８】
さらに詳細には、ビデオアクセッサ210は、ビデオコンテンツ要素105を識別または検索するために、ビデオコンテンツデータベース205にアクセスすることができる。ビデオコンテンツデータベース205は、1つまたは複数の元のビデオコンテンツ要素105を含み得る。各元のビデオコンテンツ要素105は、1つまたは複数のフレーム110-1〜110-Nを含み得る。元のビデオコンテンツ要素105は、指定されたフレームレート(たとえば、毎秒10フレームから毎秒600フレームまで、または任意の他のそのような値)を含み得る。いくつかの実装形態では、ビデオアクセッサ210は、コンテンツを要約するか、または要約を生成するための要求を受信することができる。コンテンツを要約するための要求は、ビデオコンテンツ識別子を含み得る。ビデオコンテンツ識別子は、ビデオコンテンツ要素105を参照するアドレス(たとえば、コンテンツのユニフォームリソースロケータ(URL)、一意のリソース識別子(URI)、または任意の他の識別子)を含み得る。要求中に含まれたビデオコンテンツ識別子を使用して、ビデオアクセッサ210は、ビデオコンテンツ要素105を検索または識別することができる。いくつかの実装形態では、コンテンツを要約するための要求は、ビデオコンテンツ要素105自体を含み得る。ビデオコンテンツ要素105を受信すると、ビデオアクセッサ210は、ビデオコンテンツデータベース205上にビデオコンテンツ要素105を記憶または保存することができる。いくつかの実装形態では、コンテンツを要約するための要求は、ターゲット切捨てまたは要約時間(たとえば、10秒、5秒、1分、または任意の他のそのような時間)を含み得る。ビデオコンテンツが圧縮されたフォーマットにおいて提供されるいくつかの実装形態では、ビデオコンテンツ要素105を検索すると、ビデオアクセッサ210は、ビデオコンテンツ要素105を解凍することができる。解凍されたビデオコンテンツ要素105を使用して、ビデオアクセッサ210は、ビデオコンテンツ要素105の各フレーム110-1〜110-Nのレンダリングを生成することができる。他の実装形態では、処理は、解凍または変換を必要とすることなしに、直接、圧縮されたビデオコンテンツ要素105において行われ得る。さらに他の実装形態では、コンテンツの解凍は、フレーム評価器220によって、後に、または必要に応じて行われ得る。たとえば、そのような一実装形態では、破棄されるか、または解析されないフレームの解凍を回避するために、コンテンツが、解凍より前にダウンサンプリングされ得る。
【００２９】
上記で説明したように、ビデオアクセッサ210によって識別されたビデオコンテンツ要素105を解析する際の計算複雑性を低減するために、ダウンサンプラ215は、サンプリングレート(たとえば、毎秒1フレームから毎秒60フレーム)において、ビデオコンテンツ要素105のフレーム110-1〜110-Nをダウンサンプリングすることができる。いくつかの実装形態では、ダウンサンプラ215は、識別されたサンプリングまたはサブサンプリングレートにおける、ビデオコンテンツ要素105のフレーム110-1〜110-Nのインターバリックサブセットを選択することができる。インターバリックサブセットは、10フレームのうちの1フレーム、20フレームのうちの1フレームなどのサンプリングレートにおける、ビデオコンテンツ要素105からのフレーム110-1〜110-Nの周期的サンプルを含み得る。インターバリックサブセットは、(たとえば、図1に示すようなフレーム110-1、110-11、110-21〜110-Mをもつ)ダウンサンプリングされたビデオコンテンツ要素105'を形成することができる。
【００３０】
いくつかの実装形態では、ダウンサンプラ215は、ビデオコンテンツ要素105をダウンサンプリングするために、サンプリングレートを識別または決定することができる。一実装形態では、ダウンサンプラ215は、元のビデオコンテンツ要素105の指定されたフレームレートを識別することができる。元のビデオコンテンツ要素105の識別されたフレームレートを使用して、ダウンサンプラ215は、フレームについてのインターバリックサブセットを選択するためのサンプリングレートを計算することができる。いくつかの実装形態では、ダウンサンプラ215は、サンプリングレートを、元のビデオコンテンツ要素105のフレームレートの指定された割合(たとえば、1〜50%)として計算することができる。いくつかの実装形態では、ダウンサンプラ215は、ビデオコンテンツ要素105の長さを識別することができる。ダウンサンプラ215は、元のビデオコンテンツ要素105の長さおよびフレームレートに基づいて、サンプリングレートを決定することができる。いくつかの実装形態では、ダウンサンプラ215は、ターゲット切捨て時間にさらに基づいて、サンプリングレートを決定することができる。いくつかの実装形態では、ダウンサンプラ215は、サンプリングレートを、ターゲット切捨て時間の逆数の指定された割合(たとえば、1〜50%)として計算することができる。さらに他の実装形態では、ダウンサンプラ215は、ダウンサンプリングされたフレームのターゲット出力数を達成するために、サンプリングレートを計算し得る(たとえば、サンプリングレートは、フレームのターゲット数をフレームのソースまたは入力数で除算したものとして計算され得る)。したがって、サンプリングレートは、いくつかの実装形態では、より長いビデオに対して、より長い期間またはより低い周波数のものであり得る。
【００３１】
ダウンサンプリングされたビデオコンテンツ要素105'を形成するインターバリックサブセットを使用して、データ処理システム200は、フレームの各々のためのスコアを決定するために、抽出されたフレームのサブセットに、1つまたは複数のフレーム評価器220を適用することができる。スコアは、ダウンサンプリングされたビデオコンテンツ要素105'のフレームの品質を示す数値を含み得る。いくつかの実装形態では、スコアは、正規化された数値(たとえば、0〜1、0〜10、-1〜1、-10〜10)であり得る。1つまたは複数のフレーム評価器220は、特に、画像比較器225と、動き検出器235と、オブジェクト検出器240と、色分布測定器245とを含み得る。フレーム評価器220の各々は、ビデオコンテンツの各フレームの品質を解析する際に、計算コストが高いアルゴリズムを実行またはランすることができ、直列に、並列に、または直列および並列の組合せにおいてランされ得る。これらのアルゴリズムが、元のビデオコンテンツ要素105とは対照的に、ダウンサンプリングされたビデオコンテンツ要素105'に適用され得るので、コンピューティングリソースおよび電力消費が低減および低下し、それによって、データ処理システム200の効率を向上させ得る。
【００３２】
画像比較器225は、フレームのためのスコアを計算する際に、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームをサンプル画像と比較することができる。画像比較器225は、サンプル画像データベース230にアクセスすることができ、サンプル画像データベース230は、ネットワークを介してアクセスされるか、またはさもなければ画像比較器225にとってアクセス可能な、同じコンピューティングデバイス内の記憶デバイスにおいて記憶され得る。サンプル画像データベース230は、正としてマークされたサンプル画像のセットと、負としてマークされたサンプル画像の別のセットとを含み得る。正としてマークされたサンプル画像のセットは、より高い品質(たとえば、より高いシャープネス、高いコントラスト、高い解像度、高い彩度など)に関連付けられ得、より高いスコア(たとえば、-1〜1スケールにおける0〜1、0〜1スケールにおける0.5〜1、-10〜10スケールにおける0〜10、0〜10スケールにおける5〜10、または任意の他のそのような範囲)に関連付けられ得る。負としてマークされたサンプル画像のセットは、より低い品質(たとえば、不鮮明、低いコントラスト、アーティファクトの存在、低い解像度など)に関連付けられ得、より低いスコア(たとえば、-1〜1スケールにおける-1〜0、0〜1スケールにおける0〜0.5、-10〜10スケールにおける-10〜0、0〜10スケールにおける0〜5、または、より高いスコアのために使用された範囲とは別個の、任意の他のそのような範囲)に関連付けられ得る。いくつかの実装形態では、2つのサンプル画像のセットは、正または負として事前指定され得る。サンプル画像のセットは、他のビデオコンテンツ要素から抽出され得る。
【００３３】
正または負としてマークされた画像のセットを使用して、画像比較器225は、フレームと画像のセットとの間の距離度合いを計算することができる。いくつかの実装形態では、画像比較器225は、フレームと正としてマークされたサンプル画像のセットとの間の距離メトリックを計算することができる。いくつかの実装形態では、画像比較器225は、フレームと負としてマークされたサンプル画像のセットとの間の距離メトリックを計算することができる。距離メトリックは、度合いの中でも、シャープネス、コントラスト、および解像度など、品質に基づき得る。いくつかの実装形態では、画像比較器225は、各フレームを正または負としてマークされたサンプル画像のセットと比較するためのモデル(たとえば、ベイジアンネットワーク、人工ニューラルネットワーク、または階層モデルなど)を維持することができる。人工知能アルゴリズム(たとえば、教師あり学習技法、ディープラーニング、サポートベクトルマシンなど)を適用することによって、モデルは、正または負としてマークされた画像のセットを使用してトレーニングされ得る。いくつかの実装形態では、モデルを使用して、画像比較器225は、フレームと正としてマークされたサンプル画像のセットとの間、およびフレームと負としてマークされたサンプル画像のセットとの間の、2つの距離メトリックを計算することができる。したがって、画像比較器225は、各フレームのための正の距離メトリック(または、正のサンプル画像のセットへの距離メトリック)、および負の距離メトリック(または、負のサンプル画像のセットへの距離メトリック)を生成し得、各メトリックは、フレームと正または負のサンプル画像との比較から抽出された係数の加重和に基づき、重みは、モデルのトレーニング中に動的に決定される。たとえば、シャープネスのための係数重みは、解像度またはコントラストのための係数重みよりも高くなり、またはその逆も同様であり得る。
【００３４】
ダウンサンプリングされたビデオコンテンツ要素105'のフレームの距離メトリックが、正としてマークされた画像のセットに近いほど、フレームのためのスコアが高くなり得る。逆に、ダウンサンプリングされたビデオコンテンツ要素105'のフレームの距離メトリックが、負としてマークされた画像のセットに近いほど、フレームのためのスコアが低くなり得る。フレームと、正または負としてマークされた2つのそれぞれの画像のセットとの間の、2つの計算された距離メトリックを用いて、画像比較器225は、各フレームのためのスコアを計算することができる。いくつかの実装形態では、画像比較器225は、スコアを2つの距離メトリックの組合せとして計算することができる。いくつかの実装形態では、スコアは、2つの距離メトリックの線形和であり得るが、他の実装形態では、いずれかまたは両方のメトリックが、さらに重み付けまたは調整され(たとえば、他のメトリックの平均などに基づいて、対数的に調整され)得る。画像比較器225は、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームについて、上記の処理を繰り返すことができる。
【００３５】
動き検出器235は、各フレームのためのスコアを計算するために、ダウンサンプリングされたビデオコンテンツ要素105'の隣接フレームの間の動きの量を解析または決定することができる。動き検出器235は、フレームについてのインターバリックサブセット内の2つの隣接フレーム(たとえば、図1に示すようなフレーム110-1および110-11)を識別することができる。動き検出器235は、2つの識別された隣接フレームの間の動きメトリックを計算するために、動き検出アルゴリズムを適用することができる。いくつかの実装形態では、動き検出器235は、2つの隣接したフレームにおける各ピクセルまたはピクセルのブロックの色値(たとえば、RGB値)を決定することができる。フレームにおける各ピクセルのための色値から、動き検出器235は、フレーム内の異なるロケーションにおける隣接フレームにおける対応するピクセルまたはピクセルのブロックを識別し、フレームの間の動きベクトルを生成することができる。動きベクトルは、個々のピクセルから大きいピクセルのグループのマクロブロックまで、異なるブロックサイズにおいて計算され得、異なるブロックサイズからの動きベクトルが、いくつかの実装形態では、一緒に平均または加算され得る。これによって、ビデオのより大きい、低速で動く領域内の、小さい動きの速いオブジェクトの識別が可能になり得る。動きメトリックは、いくつかの実装形態では、動きベクトルに等しいか、または比例し得る。たとえば、速い動きは、高い動きメトリックに対応し得る。他の実装形態では、速い動きは、要約ビデオにあまり好適ではないことがあり、したがって、速い動きが低い動きメトリックまたは負の動きメトリックに対応するように、動きメトリックが動きベクトルに反比例し得る。
【００３６】
いくつかの実装形態では、動き検出器235は、フレームの間の動きベクトルを、上限しきい値および下限しきい値と比較することができる。上限しきい値および下限しきい値は、過大または最小の動きメトリックをもつフレームのスコアを減らすように設定され得る。動き検出器235は、フレームの間の動きベクトルと上限しきい値との間の差分を計算することができる。動き検出器235は、フレームの間の動きベクトルと下限しきい値との間の差分を計算することができる。2つの差分に基づいて、動き検出器235は、ダウンサンプリングされたビデオコンテンツ要素105'のフレームのためのスコアを計算することができる。動き検出器235は、ダウンサンプリングされたビデオコンテンツ要素105'を構成するインターバリックサブセットのフレームにわたって、機能を繰り返すことができる。
【００３７】
オブジェクト検出器240は、1つまたは複数のオブジェクトを識別するため、ならびにオブジェクトの1つまたは複数の特性およびタイプを識別するために、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームに、画像認識アルゴリズムを適用することができる。認識されたオブジェクト、特性に基づいて、オブジェクト検出器240は、インターバリックサブセットにおける対応するフレームのためのスコアを計算することができる。オブジェクト検出器240によって適用される画像認識アルゴリズムには、顔認識アルゴリズム、光学文字認識アルゴリズム、および他のコンピュータビジョン技法が含まれ得る。たとえば、オブジェクト検出器240は、所定のルールセットにマッチする(たとえば、マッチする色をもつ連続ピクセルのブロック、等しい動きベクトルをもつ連続ピクセルのブロックなど)、または(たとえば、画像のライブラリへの画像比較探索、または他のそのような方法を介して)他のオブジェクトにマッチする、オブジェクトを識別するために、ピクセルのブロック、マクロブロック、または領域を走査し得る。
【００３８】
フレーム上で顔の表情を識別するために、オブジェクト検出器240は、インターバリックサブセットのフレーム上で顔認識アルゴリズムを適用することができる。顔認識アルゴリズムは、線形判別分析、エラスティックバンチグラフマッチング(elastic bunch graph matching)、隠れマルコフモデル、多重線形部分空間学習、および主成分分析を含み得る。いくつかの実装形態では、オブジェクト検出器240は、フレームについてのインターバリックサブセットのうちのフレームのグレースケールバージョンを生成することができる。オブジェクト検出器240は、顔画像のトレーニングセットを識別することができる。顔画像のトレーニングセットは、顔の表情をもつサンプル画像を含み得る。オブジェクト検出器240は、フレームのグレースケールバージョンと顔画像のトレーニングセットとの間の固有ベクトルのセットを計算することができる。オブジェクト検出器240は、固有ベクトルのセットを使用する距離メトリック(たとえば、ユークリッド距離)を計算することができる。次いで、オブジェクト検出器240は、距離メトリックをしきい値メトリックと比較することができる。距離メトリックがしきい値未満である場合、オブジェクト検出器240は、顔の表情がフレーム中に存在すると決定することができる。距離メトリックがしきい値以上である場合、オブジェクト検出器240は、顔の表情がフレーム中に存在しないと決定することができる。オブジェクト検出器240は、顔の表情を欠くために、そのフレームのためのスコアを0として設定することができる。
【００３９】
顔の表情がフレーム中で検出される場合、オブジェクト検出器240は、ダウンサンプリングされたビデオコンテンツ要素105'のフレームの1つまたは複数の特性を識別することができる。1つまたは複数の特性は、顔の表情のサイズ、輝度、コントラスト、解像度、位置、丸み、および他の性質を含み得る。いくつかの実装形態では、1つまたは複数の特性は、顔の表情において検出された目のサイズを含み得る。目は、コンピュータビジョン技法を使用して検出され得る。オブジェクト検出器240は、フレーム中で識別された顔の表情の1つまたは複数の特性に基づいて、フレームのスコアを設定することができる。識別された顔の表情の目のサイズ、輝度、コントラスト、および解像度が大きいほど、オブジェクト検出器240によって計算されるスコアが高くなり得る。識別された顔の表情の目のサイズ、輝度、コントラスト、および解像度が小さいほど、オブジェクト検出器240によって計算されるスコアが低くなり得る。オブジェクト検出器240は、ダウンサンプリングされたビデオコンテンツ要素105'を構成するインターバリックサブセットのフレームにわたって、機能を繰り返すことができる。
【００４０】
フレーム上でテキストを検出するために、オブジェクト検出器240は、ダウンサンプリングされたビデオコンテンツ要素105'のフレーム上で光学文字認識アルゴリズムを適用することができる。光学文字認識アルゴリズムは、パターンマッチング、パターン認識、および他の相関技法を含み得る。いくつかの実装形態では、オブジェクト検出器240は、フレームのグレースケールバージョンを生成することができる。次いで、オブジェクト検出器240は、文字のトレーニングセットにアクセスすることができる。文字のトレーニングセットは、文字をもつサンプル画像を含み得る。オブジェクト検出器240は、フレームのための特徴ベクトルを決定することができる。次いで、オブジェクト検出器240は、文字のトレーニングセットにおける各文字のための特徴ベクトルを決定することができる。オブジェクト検出器240は、フレームの特徴ベクトルと、文字のトレーニングセットのうちの各文字の特徴ベクトルとの間の、距離メトリックを計算することができる。次いで、オブジェクト検出器240は、距離メトリックをしきい値と比較することができる。距離メトリックがしきい値未満である場合、オブジェクト検出器240は、文字がフレーム中に存在すると決定することができる。距離メトリックがしきい値以上である場合、オブジェクト検出器240は、文字がフレーム中に存在しないと決定することができる。オブジェクト検出器240は、文字を欠くために、そのフレームのためのスコアを0として設定することができる。
【００４１】
文字がフレーム中で検出される場合、オブジェクト検出器240は、文字の1つまたは複数の特性を識別することができる。1つまたは複数の特性は、文字のサイズ、輝度、コントラスト、解像度、フォント、文字タイプ(たとえば、「a」、「1」、「@」)、位置、および他の性質を含み得る。オブジェクト検出器240は、文字の1つまたは複数の特性に基づいて、フレームのスコアを設定することができる。サイズ、輝度、コントラスト、解像度、およびフォントが大きいほど、オブジェクト検出器240によって計算されるスコアが高くなり得る。サイズ、輝度、コントラスト、解像度、およびフォントが小さいほど、オブジェクト検出器240によって計算されるスコアが低くなり得る。いくつかの実装形態では、オブジェクト検出器240は、フレーム上の文字の数を識別することができる。識別された数のフレームを使用して、オブジェクト検出器240は、スコアを計算することができる。オブジェクト検出器240は、ダウンサンプリングされたビデオコンテンツ要素105'を構成するインターバリックサブセットのフレームにわたって、機能を繰り返すことができる。
【００４２】
色分布測定器245は、フレーム上のピクセルの色分布を使用して、インターバリックサブセットの各フレームのためのスコアを決定することができる。色分布測定器245は、各ピクセルの色値(たとえば、RGB値)を識別するために、フレームのピクセルをトラバースすることができる。色分布測定器245は、フレーム上のピクセルの識別された色値を使用して、色分布を決定することができる。色分布は、特に、フレーム上のピクセルの色値の平均値、標準偏差、および分散を含み得る。いくつかの実装形態では、色分布は、RGB値の中の偏差の度合いに対応する3次元値であり得る。色分布測定器245は、フレームの決定された色分布に基づいて、スコアを計算することができる。いくつかの実装形態では、色分布測定器245は、色分布からスコアへのマッピングにアクセスすることができる。マッピングは、メモリにおいて記憶されたデータ構造であり得る。マッピングは、特定の色分布のためのスコアを指定することができる。マッピングを使用して、色分布測定器245は、フレームのためのスコアを計算することができる。色分布測定器245は、ダウンサンプリングされたビデオコンテンツ要素105'を構成するインターバリックサブセットのフレームにわたって、機能を繰り返すことができる。
【００４３】
フレーム評価器220の各々によって計算されたスコアをとり、スコア合成器250は、ダウンサンプリングされたビデオコンテンツ要素105'の各フレームのための複合スコア125A〜125Mを計算することができる。いくつかの実装形態では、複合スコア125A〜125Mは、1つまたは複数のフレーム評価器220によって計算されたスコアの平均であり得る。いくつかの実装形態では、複合スコア125A〜125Mは、1つまたは複数のフレーム評価器220によって計算されたスコアの加重平均または加重和であり得る。いくつかの実装形態では、スコア合成器250は、1つまたは複数のフレーム評価器220によって計算されたスコアの各々のための重みを識別することができる。重みは、複合スコア125A〜125Mにおけるスコアのための構成割合(たとえば、画像比較器225によって計算されたスコアには35%、動き検出器235によって計算されたスコアには10%、オブジェクト検出器240によって計算されたスコアには30%、および色分布測定器245によって計算されたスコアには25%、または任意の他のそのような配分)に対応し得る。いくつかの実装形態では、重みは、所定のものであるか、または事前指定され得る。いくつかの実装形態では、重みは、スコア合成器250によって動的に決定され得る。いくつかの実装形態では、スコア合成器250は、特に、元のビデオコンテンツ要素105の長さ、ターゲット切捨て時間、およびダウンサンプリングされたビデオコンテンツ要素105'におけるフレームの数に基づいて、重みを設定することができる。たとえば、極めて短いターゲット切捨て時間の場合、テキスト認識に基づく高いスコアを含むフレームは、タイトルに対応し得るので、より長いターゲット切捨て時間の場合よりも高くレーティングされ得る。
【００４４】
複合スコア125A〜125Mから、フレームセレクタ255は、スライディングウィンドウ135内のダウンサンプリングされたビデオコンテンツ要素105'のフレームのサブセットのための複合スコアの合計130A〜130Oを計算することができる。フレームセレクタ255は、ターゲット切捨て時間に基づいて、スライディングウィンドウ135の長さ、またはスライディングウィンドウ135のためのサブセットフレームの数を設定または計算することができる。いくつかの実装形態では、要約ビデオコンテンツ要素105''のための静止画像として、単一のフレームを選択するために、スライディングウィンドウ135の長さが1に設定され得る。いくつかの実装形態では、フレームセレクタ255は、ターゲット切捨て時間に基づいて、スライディングウィンドウ135の重複を決定することができる。重複は、複合スコア合計130A〜130Oを計算するために、スライディングウィンドウ135の2つのインスタンスの間で使用されたフレームの数を含み得る。スライディングウィンドウ135の長さおよび重複が設定されると、フレームセレクタ255は、スライディングウィンドウ135内のフレームの各サブセットのための複合スコア合計130A〜130Oを計算することができる。
【００４５】
計算された複合スコア合計130A〜130Oから、フレームセレクタ255は、最高の複合スコア合計を識別することができる。次いで、フレームセレクタ255は、最高の複合スコア合計に対応する、ダウンサンプリングされたビデオコンテンツ要素105'のフレームのサブセットを識別することができる。フレームのサブセットは、スライディングウィンドウ135と同数のフレームを含み得る。フレームセレクタ255は、最高の複合スコア合計に対応するとして識別された、ダウンサンプリングされたビデオコンテンツ要素105'のフレームのサブセットに対応するとして、元のビデオコンテンツ要素105のフレームのサブセットを識別することができる。いくつかの実装形態では、フレームセレクタ255は、ビデオコンテンツデータベース205から、元のビデオコンテンツ要素105を検索することができる。いくつかの実装形態では、要約ビデオコンテンツ要素105''のための静止画像として、単一のフレームを選択するために、スライディングウィンドウ135の長さが1に設定される場合、フレームセレクタ255は、最高の複合スコア合計に対応するとして識別された単一のフレームを、要約ビデオコンテンツ要素105''として選択することができる。したがって、ダウンサンプリングされたフレームのサブセットから、最高の複合スコアを有する1つまたは複数のフレームを識別した後、フレームセレクタは、最高の複合スコアをもつ1つまたは複数のフレームと、スライディングウィンドウ内のフレームとに対応する、完全なフレームのセットを検索することによって、元のソースビデオコンテンツに戻るように「アップサンプリング」し得る。一実装形態では、毎秒30フレームのソースビデオコンテンツが与えられると、コンテンツは、毎秒1フレームにダウンサンプリングされ、解析され得る。スライディングウィンドウは、10秒のビデオ、または10個のダウンサンプリングされたフレームに対応し得る。最高の複合スコアを有するフレームを識別した後、フレームセレクタは、識別されたフレームを含む、元のソースビデオコンテンツからの対応する10秒のビデオ(すなわち、ダウンサンプリングされたレートにおける10フレームではなく、元の毎秒30フレームにおける300フレーム)を検索し得る。検索されたフレームは、元のフレームレートにおいて要約ビデオを生成するために使用され得る。
【００４６】
いくつかの実装形態では、フレームセレクタ255は、元のビデオコンテンツ要素105のフレーム110-1〜110-N中をトラバースして、最高の複合スコアに対応するとして識別された、ダウンサンプリングされたビデオコンテンツ要素105'のフレームのサブセットに対応する、フレームのサブセットを識別することができる。フレームセレクタ255は、最高の複合スコア合計に対応するとして識別されたサブセットフレームの、ダウンサンプリングされたビデオコンテンツ要素105'の最初のフレームに対応する、元のビデオコンテンツ要素105の最初のフレームを識別することができる。フレームセレクタ255がフレーム110-1〜110-Nをトラバースするとき、フレームセレクタ255は、フレーム110-1〜110-Nを選択し、選択されたフレーム110-1〜110-Nを、要約ビデオコンテンツ要素105''の一部として含めるか、または挿入することができる。フレームセレクタ255が、ダウンサンプリングされたビデオコンテンツ要素105'におけるフレームのサブセットのうちの1つに対応するとして、元のビデオコンテンツ要素105のフレームを識別するまで、フレームセレクタ255は、元のビデオコンテンツ要素105のフレーム110-1〜110-N中をトラバースすることができる。ダウンサンプリングされたビデオコンテンツ要素105'におけるフレームのサブセットのうちのフレームが最終のフレームである場合、フレームセレクタ255は、サンプリング間隔に番号付けする元のビデオコンテンツ要素105のフレーム110-1〜110-Nの残りを選択することができる。ダウンサンプリングされたビデオコンテンツ要素105'におけるフレームのサブセットのうちのフレームが最終のフレームではない場合、フレームセレクタ255は、元のビデオコンテンツ要素105のフレーム110-1〜110-Nを選択し続けることができる。ダウンサンプリングされたビデオコンテンツ要素105'のフレームのサブセットに対応するとして選択された、元のビデオコンテンツ要素105のフレーム110-1〜110-Nを使用して、フレームセレクタ255は、要約ビデオコンテンツ要素105''を生成することができる。いくつかの実装形態では、フレームセレクタ255は、要約ビデオコンテンツ要素105''の生成に応答して、要約ビデオデータベース270上に要約ビデオコンテンツ要素105''を記憶することができる。フレームセレクタ255はまた、要約ビデオコンテンツ要素105''を生成するために使用された元のビデオコンテンツ105を参照するために、要約ビデオコンテンツ要素105''のための対応識別子を記憶することもできる。
【００４７】
ダウンサンプリングされたビデオコンテンツ要素105'が、フレームの品質を解析するために使用されたので、要約ビデオコンテンツ要素105''は、ビデオコンテンツ中に2つ以上のシーンを含めることがあり、また、要約ビデオコンテンツ要素105''の視聴者にとって不快であり得る、急な、または予想外の視覚的変化(たとえば、色)を含めることもある。シーンの数を低減するために、シーン境界切捨て器260は、要約ビデオコンテンツ要素105''から、1つまたは複数のショット境界を識別することができる。視覚的な観点から、ショット境界は、あるシーンから別のシーンに移行するフレームに対応し得る。そのような移行は、あるフレームから次のフレームへの色の急激な変化、または黒へもしくは黒からのフェードに対応し得る。要約ビデオコンテンツ要素105''を切り捨てると、シーン境界切捨て器260は、要約ビデオデータベース270上に、切り捨てられた要約ビデオコンテンツ要素105''を記憶することができる。
【００４８】
要約ビデオコンテンツ要素105''の開始で始めて、シーン境界切捨て器260は、フレームをトラバースして、フレームの中の最初のショット境界フレームを検出することができる。トラバースしながら、シーン境界切捨て器260は、フレームのピクセルの色分布を識別することができる。色分布は、特に、フレーム上のピクセルの色値の平均値、標準偏差、および分散を含み得る。いくつかの実装形態では、色分布は、RGB値の中の偏差の度合いに対応する3次元値であり得る。シーン境界切捨て器260は、現在のフレームの色分布を、要約ビデオコンテンツ要素105''の前のフレームの色分布と比較することができる。シーン境界切捨て器260は、現在のフレームの色分布と前のフレームの色分布との間の差分を決定することができる。シーン境界切捨て器260は、差分をしきい値と比較することができる。差分がしきい値よりも大きい場合、シーン境界切捨て器260は、現在のフレームを最初のショット境界フレームとして識別することができる。次いで、シーン境界切捨て器260は、要約ビデオコンテンツ要素105''から、最初のショット境界フレームより前のフレームを除去することができる。差分がしきい値未満である場合、シーン境界切捨て器260は、現在のフレームを非ショット境界フレームとして識別することができ、要約ビデオコンテンツ要素105''のフレームをトラバースし続けることができる。
【００４９】
いくつかの実装形態では、シーン境界切捨て器260は、シーン変化またはショット境界を検出するために、フレームの間の色分布における差分を使用して、要約ビデオコンテンツ要素105''のフレームをトラバースし続けることができる。シーン境界切捨て器260は、ショット境界の数を維持し、ショット境界を検出すると、ショット境界の数を増分することができる。いくつかの実装形態では、シーン境界切捨て器260は、ショット境界の数をシーンの最大数と比較することができる。ショット境界の数が最大数以上である場合、シーン境界切捨て器260は、要約ビデオコンテンツ要素105''から、ショット境界に対応するフレームに後続するフレームを除去することができる。
【００５０】
要約ビデオコンテンツ要素105''の末尾で開始して、シーン境界切捨て器260は、フレームをトラバースして、フレームの中の最終のショット境界フレームを検出することができる。トラバースしながら、シーン境界切捨て器260は、フレームのピクセルの色分布を識別することができる。色分布は、特に、フレーム上のピクセルの色値の平均値、標準偏差、および分散を含み得る。いくつかの実装形態では、色分布は、RGB値の中の偏差の度合いに対応する3次元値であり得る。シーン境界切捨て器260は、現在のフレームの色分布を、要約ビデオコンテンツ要素105''の以前にトラバースされたフレームの色分布と比較することができる。シーン境界切捨て器260は、現在のフレームの色分布と以前にトラバースされたフレームの色分布との間の差分を決定することができる。シーン境界切捨て器260は、差分をしきい値と比較することができる。差分がしきい値よりも大きい場合、シーン境界切捨て器260は、現在のフレームを最終のショット境界フレームとして識別することができる。次いで、シーン境界切捨て器260は、要約ビデオコンテンツ要素105''から、最終のショット境界フレームに後続するフレームを除去することができる。差分がしきい値未満である場合、シーン境界切捨て器260は、現在のフレームを非ショット境界フレームとして識別することができ、要約ビデオコンテンツ要素105''のフレームをトラバースし続けることができる。
【００５１】
ビデオ連結器265は、元のビデオコンテンツ要素105の他のフレームを要約ビデオコンテンツ要素105''に追加することができる。ビデオ連結器265は、要約ビデオコンテンツ要素105''のために選択されない、元のビデオコンテンツ要素105からの残りのフレームを識別することができる。いくつかの実装形態では、ビデオ連結器265は、要約ビデオコンテンツ要素105''に追加するために、元のビデオコンテンツ要素105の末尾から所定の数のフレームを選択することができる。いくつかの実装形態では、画像認識アルゴリズムを使用して、ビデオ連結器265は、1つまたは複数の事前指定されたオブジェクトを含む、残りのフレームから、連続するフレームのセットを識別することができる。1つまたは複数の事前指定されたオブジェクトは、特に、特定のタイプのテキストおよび特定のタイプの画像(たとえば、ロゴまたはブランド)を含み得る。1つまたは複数の事前指定されたオブジェクトを識別するために使用される画像認識アルゴリズムには、光学文字認識、オブジェクト認識、ブロブ検出、エッジ検出、および他のコンピュータビジョン技法が含まれ得る。ビデオコンテンツ要素105の残りのフレームをトラバースしながら、ビデオ連結器265は、1つまたは複数のオブジェクトを含む、1つまたは複数の連続フレームのセットを識別することができる。残りのフレームのトラバースに続いて、ビデオ連結器265は、1つまたは複数の連続フレームのセットを要約ビデオコンテンツ要素105''に追加することができる。いくつかの実装形態では、ビデオ連結器265は、1つまたは複数の連続フレームのセットを要約ビデオコンテンツ要素105''に連結、付加、または挿入することができる。追加すると、ビデオ連結器265は、修正された要約ビデオコンテンツ要素105''を要約ビデオコンテンツデータベース270に保存することができる。
【００５２】
次に図3A〜図3Eを参照すると、示されているのは、例示的な一実装形態による、ビデオコンテンツの要約を自動的に抽出する方法300のフロー図である。方法300において説明する、本明細書で説明する機能は、データ処理システム、または図2に示すデータ処理システム200、もしくは図4におけるシステム400の任意の1つもしくは複数の構成要素もしくはモジュールによって行われ得る。
【００５３】
図3Aから開始して、ステップ302で、データ処理システムは、ビデオコンテンツデータベースにアクセスすることができる。ステップ304で、データ処理システムは、ビデオコンテンツデータベースからビデオコンテンツ要素を検索することができる。いくつかの実装形態では、データ処理システムは、ビデオコンテンツ要素を圧縮解除することができる。ステップ306で、データ処理システムは、品質分析のためにサンプリングレートを識別することができる。ステップ308で、データ処理システムは、データベースから検索されたビデオコンテンツ要素の最初のフレームを識別することができる。ステップ310で、データ処理システムは、フレーム位置が、サンプリングレートによって定義されたサンプル間隔に等しいか否かを決定することができる。フレーム位置がサンプル間隔に等しい場合、ステップ312で、データ処理システムは、サンプリングされたセットのためのフレームを選択することができる。いずれにしても、ステップ314で、データ処理システムは、さらなるフレームが残っているか否かを決定することができる。そうである場合、データ処理システムは、ステップ310〜314の機能を繰り返すことができる。
【００５４】
図3Bに進むと、残りのフレームがそれ以上ない場合、ステップ316で、データ処理システムは、品質分析(たとえば、ステップ318〜328における機能)のために、サンプリングされたセットの最初のフレームを識別することができる。ステップ318で、データ処理システムは、正のマークのサンプル画像からの現在のフレームの距離を計算することができる。ステップ319で、データ処理システムは、負のマークのサンプル画像からの現在のフレームの距離を計算することができる。ステップ320で、データ処理システムは、距離に基づいて、フレームのためのスコアを計算することができる。ステップ321で、データ処理システムは、フレームの画像中のオブジェクトを検出することができる。ステップ322で、データ処理システムは、フレームの画像中のオブジェクトのタイプまたは特性を識別することができる。ステップ323で、データ処理システムは、画像中のオブジェクトの識別されたタイプまたは特性に基づいて、フレームのためのスコアを計算することができる。ステップ324で、データ処理システムは、現在のフレームに隣接したフレームを識別することができる。ステップ325で、データ処理システムは、隣接フレームと現在のフレームとの間の動きメトリックを計算することができる。ステップ326で、データ処理システムは、動きメトリックに基づいて、フレームのためのスコアを計算することができる。ステップ327で、データ処理システムは、現在のフレームのための色分布を決定することができる。ステップ328で、データ処理システムは、色分布に基づいて、フレームのためのスコアを計算することができる。
【００５５】
続けて、ステップ330で、データ処理システムは、ステップ320、323、326、および328で計算された各スコアのための重みを識別することができる。ステップ332で、データ処理システムは、スコア、および各スコアのための識別された重みに基づいて、フレームのための合計スコアを計算することができる。ステップ334で、データ処理システムは、サンプリングされたセットにおいてさらなるフレームが残っているか否かを決定することができる。サンプリングされたセットにおいて残された残りのフレームがある場合、ステップ336で、データ処理システムは、解析のために次のフレームを識別することができ、ステップ318〜336のための機能を繰り返すことができる。
【００５６】
次に図3Cを参照すると、サンプリングされたセットにおいて残された残りのフレームがそれ以上ない場合、ステップ338で、データ処理システムは、最初のウィンドウにおけるフレームのための合計スコアを計算することができる。ステップ340で、データ処理システムは、後続のウィンドウにおけるフレームのための合計スコアを計算することができる。ステップ342で、データ処理システムは、現在の合計スコアを前の高い合計スコアと比較することができる。現在の合計スコアが前の高い合計スコアよりも大きい場合、ステップ344で、データ処理システムは、現在のウィンドウにおけるフレームのサブセットを、最高の合計スコアに対応するように設定することができる。現在の合計スコアが前の高い合計スコア未満である場合、ステップ346で、データ処理システムは、以前に識別されたウィンドウにおけるフレームのサブセットを、最高の合計スコアに対応するように維持することができる。ステップ348で、データ処理システムは、サンプリングされたセットにおいてさらなるフレームが残っているか否かを決定することができる。サンプリングされたセットにおいてさらなるフレームが残っている場合、ステップ350で、データ処理システムは、サンプリングされたセットにおける次のフレームのサブセットへと、ウィンドウをスライドさせることができる。サンプリングされたセットにおいて残っているフレームがそれ以上ない場合、ステップ352で、データ処理システムは、最高の合計スコアに対応するとして決定された、サンプリングされたセットにおけるフレームのサブセットを識別することができる。
【００５７】
図3Dに続けて、ステップ354で、データ処理システムは、最高の合計スコアに対応するとして識別された、サンプリングされたセットにおけるフレームのサブセットに対応する、元のビデオコンテンツ要素のフレームのサブセットを識別することができる。ステップ356で、データ処理システムは、元のビデオコンテンツ要素における最初のフレームのピクセル特性を識別することができる。ステップ358で、データ処理システムは、元のビデオコンテンツ要素における次のフレームのピクセル特性を識別することができる。最初に、データ処理システムは、元のビデオコンテンツのフレームのショット境界を識別しながら、最初のフレームから、元のビデオコンテンツ要素の識別されたフレームのサブセットをトラバースすることができる。ステップ360で、データ処理システムは、2つのフレームの間のピクセル特性における差分を計算することができる。
【００５８】
ステップ362で、データ処理システムは、ピクセル特性における差分がしきい値よりも大きいか否かを決定することができる。ピクセル特性における差分がしきい値よりも大きい場合、ステップ364で、データ処理システムは、現在のフレームをショット境界として識別することができる。ステップ366で、データ処理システムは、識別されたショット境界が最初のショット境界であるか、最終のショット境界であるかを決定することができる。ショット境界が初めて検出される場合、データ処理システムは、検出されたショット境界を最初のショット境界として識別することができる。ショット境界が最初である場合、ステップ368で、データ処理システムは、ショット境界より前のフレームを切り捨てることができる。ステップ370で、データ処理システムは、元のビデオコンテンツ要素のフレームのサブセットのうちの最終のフレームのピクセル特性を識別することができる。ステップ358〜366および374の繰返しにおいて、データ処理システムは、最終のフレームから、元のビデオコンテンツ要素のフレームのサブセットをトラバースすることができる。ショット境界が最終である場合、ステップ372で、データ処理システムは、ショット境界に後続するフレームを切り捨てることができる。ステップ374で、データ処理システムは、元のビデオコンテンツ要素においてさらなるフレームが残っているか否かを決定することができる。残された残りのフレームがある場合、データ処理システムは、ステップ358〜372の機能を繰り返すことができる。残された残りのフレームがそれ以上ない場合、ステップ376で、データ処理システムは、残りのフレームを要約ビデオコンテンツ要素として設定することができる。
【００５９】
最後に図3Eを参照すると、ステップ378で、データ処理システムは、要約ビデオコンテンツ要素中に含まれていない、元のビデオコンテンツ要素からの残りのフレームを識別することができる。ステップ380で、データ処理システムは、除外されたフレームのセットから、最初のフレームを識別することができる。ステップ382で、データ処理システムは、画像認識アルゴリズムを使用して、現在のフレームからオブジェクトを識別することができる。ステップ384で、データ処理システムは、識別されたオブジェクトが事前指定されたオブジェクトにマッチするか否かを決定することができる。
【００６０】
検出されたオブジェクトが事前指定されたオブジェクトにマッチする場合、ステップ386で、データ処理システムは、現在のフレームが以前に記憶されたフレームと連続するか否かを決定することができる。現在のフレームが以前に記憶されたフレームと連続しない場合、ステップ388で、データ処理システムは、新しい別個のセットを作成することができる。いずれにしても、ステップ390で、データ処理システムは、別個のセット上にフレームを記憶することができる。ステップ392で、データ処理システムは、元のビデオコンテンツ要素においてさらなるフレームが残っているか否かを決定することができる。残された残りのフレームがある場合、データ処理システムは、要約ビデオコンテンツ要素から除外されたフレームのセットから、次のフレームを識別し、ステップ382〜392の機能を繰り返すことができる。残された残りのフレームがそれ以上ない場合、ステップ396で、データ処理システムは、記憶されたセットのフレームを要約ビデオコンテンツ要素上に連結することができる。
【００６１】
図4は、いくつかの実装形態による、(システム200と、ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265など、その構成要素とを含む)本明細書で説明するコンピュータシステムのいずれかを実装するために採用され得る、例示的なコンピュータシステム400の全体的なアーキテクチャを示す。コンピュータシステム400は、表示のために、ネットワーク430を介して情報を提供するために使用され得る。図4のコンピュータシステム400は、メモリ425に通信可能に結合された1つまたは複数のプロセッサ420と、1つまたは複数の通信インターフェース405と、1つまたは複数の出力デバイス410(たとえば、1つまたは複数のディスプレイユニット)と、1つまたは複数の入力デバイス415とを備える。プロセッサ420は、データ処理システム200、ならびにビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265など、その構成要素中に含まれ得る。プロセッサ420はまた、特に、ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265中にも含まれ得る。
【００６２】
図4のコンピュータシステム400では、メモリ425は、任意のコンピュータ可読記憶媒体を備え得、それぞれのシステムのための本明細書で説明する様々な機能を実装するためのプロセッサ実行可能命令などのコンピュータ命令、ならびにそれに関する、それによって生成された、または通信インターフェースもしくは入力デバイス(存在する場合)を介して受信された任意のデータを記憶し得る。データ処理システム200との関連で、メモリ425は、プロセッサ420によって処理されるべき、ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265のための命令を含み得る。メモリ425はまた、ビデオコンテンツデータベース205と、サンプル画像データベース230と、要約ビデオデータベース270とを含み得る。図4に示すプロセッサ420は、メモリ425中に記憶された命令を実行するために使用され得、そうする際に、また、命令の実行に従って処理および/または生成された様々な情報を、メモリから読み取るか、またはメモリに書き込み得る。
【００６３】
図4に示すコンピュータシステム400のプロセッサ420はまた、命令の実行に従って、様々な情報を送信または受信するために、通信インターフェース405に通信可能に結合されるか、または通信インターフェース405を制御し得る。たとえば、通信インターフェース405は、ワイヤードもしくはワイヤレスネットワーク、バス、または他の通信手段に結合され得、したがって、コンピュータシステム400が他のデバイス(たとえば、他のコンピュータシステム)に情報を送信するか、または他のデバイスから情報を受信することを可能にし得る。図2のシステムにおいて明示的に図示しないが、1つまたは複数の通信インターフェースが、システム400の構成要素の間の情報フローを容易にする。いくつかの実装形態では、通信インターフェースは、コンピュータシステム400の少なくともいくつかの態様へのアクセスポータルとしてのウェブサイトを提供するように(たとえば、様々なハードウェア構成要素またはソフトウェア構成要素を介して)構成され得る。通信インターフェース405の例には、ユーザインターフェース(たとえば、ウェブページ)が含まれ、ユーザインターフェースを通して、ユーザはデータ処理システム200と通信することができる。
【００６４】
メモリ425は、プロセッサによって実行されると、本明細書で説明する動作のうちの1つまたは複数をプロセッサに行わせる、プロセッサ実行可能命令を記憶することができる。プロセッサ420は、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、またはそれらの組合せを含み得る。メモリは、限定はしないが、プロセッサにプログラム命令を提供することが可能な電子、光学、磁気、または任意の他の記憶または送信デバイスを含み得る。メモリ425は、フロッピーディスク、CD-ROM、DVD、磁気ディスク、メモリチップ、ASIC、FPGA、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能ROM(EEPROM)、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、光媒体、またはそれからプロセッサが命令を読み取ることができる任意の他の好適なメモリをさらに含み得る。命令は、データ処理システム200の構成要素(たとえば、ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265)など、任意の好適なコンピュータプログラミング言語からのコードを含み得る。
【００６５】
図4に示すコンピュータシステム400の出力デバイス410は、たとえば、命令の実行に関連して、様々な情報が視聴またはそれ以外で知覚されることを可能にするために提供され得る。入力デバイス415は、たとえば、ユーザが手動の調整を行うこと、選択を行うこと、データを入力すること、または、命令の実行中にプロセッサと様々な方法のいずれかにおいて対話することを可能にするために提供され得る。本明細書で説明する様々なシステムのために採用され得る全体的なコンピュータシステムアーキテクチャに関する追加の情報が、本明細書でさらに提供される。
【００６６】
ネットワーク430は、インターネットなどのコンピュータネットワーク、ローカル、ワイド、メトロ、または他のエリアネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイルフォン通信ネットワークなどの他のコンピュータネットワーク、およびそれらの組合せを含み得る。データ処理システム200は、ネットワーク430を介して、1つまたは複数のクライアントデバイス、コンテンツプロバイダサーバ、および/またはコンテンツパブリッシャーサーバなど、他のデバイスと通信することができる。ネットワーク430は、データ処理システム200、クライアントデバイス、コンテンツプロバイダサーバ、および/またはコンテンツパブリッシャーサーバの間で情報を中継する、任意の形態のコンピュータネットワークであり得る。たとえば、ネットワーク430は、インターネット、および/または、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、もしくは他のタイプのデータネットワークなど、他のタイプのデータネットワークを含み得る。ネットワーク430はまた、ネットワーク430内でデータを受信および/または送信するように構成される、任意の数のコンピューティングデバイス(たとえば、コンピュータ、サーバ、ルータ、ネットワークスイッチなど)を含み得る。ネットワーク430は、任意の数のハードワイヤードおよび/またはワイヤレス接続をさらに含み得る。たとえば、クライアントデバイスは、ネットワーク430における他のコンピューティングデバイスに(たとえば、光ファイバーケーブル、CAT5ケーブルなどを介して)ハードワイヤードされるトランシーバと、(たとえば、WiFi、セルラー、無線などを介して)ワイヤレスに通信し得る。
【００６７】
本明細書で説明する主題および動作の実装形態は、本明細書で開示する構造およびそれらの構造的等価物を含む、デジタル電子回路において、または有形媒体上で実施されたコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明する主題の実装形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のための、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成される、人工的に生成された伝搬信号、たとえば、マシン生成の電気信号、光信号、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくは順次アクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであり得るか、またはその中に含まれ得る。その上、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先を含み得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であり得るか、またはその中に含まれ得る。
【００６８】
本明細書で開示する特徴は、スマートテレビジョンモジュール(または、接続されたテレビジョンモジュール、ハイブリッドテレビジョンモジュールなど)上で実装され得、スマートテレビジョンモジュールは、インターネット接続性を(たとえば、ケーブル、衛星、オーバージエア、または他の信号を介して受信された)より従来のテレビジョンプログラミングソースと統合するように構成された、処理モジュールを含み得る。スマートテレビジョンモジュールは、テレビ受信機に物理的に組み込まれ得るか、または、セットトップボックス、Blu-ray(登録商標)もしくは他のデジタルメディアプレーヤ、ゲームコンソール、ホテルテレビジョンシステム、および他のコンパニオンデバイスなど、別個のデバイスを含み得る。スマートテレビジョンモジュールは、視聴者がウェブ上、ローカルケーブルTVチャネル上、衛星TVチャネル上の、またはローカルハードドライブ上に記憶された、ビデオ、映画、写真、および他のコンテンツを探索および発見することを可能にするように構成され得る。セットトップボックス(STB)またはセットトップユニット(STU)は、チューナーを含み、テレビ受信機および外部の信号ソースに接続し、信号を、次いでテレビジョン画面または他のディスプレイデバイス上に表示されるコンテンツに変え得る、情報アプライアンスデバイスを含み得る。スマートテレビジョンモジュールは、ウェブブラウザおよび複数のストリーミングメディアサービス、接続されたケーブルまたは衛星メディアソース、他のウェブ「チャネル」など、複数の異なるアプリケーションのためのアイコンを含む、ホームスクリーンまたはトップレベルスクリーンを提供するように構成され得る。スマートテレビジョンモジュールは、電子プログラミングガイドをユーザに提供するようにさらに構成され得る。スマートテレビジョンモジュールへのコンパニオンアプリケーションは、ユーザがスマートテレビジョンモジュールなどを制御することを可能にするために、利用可能なプログラムについての追加の情報をユーザに提供するために、モバイルコンピューティングデバイス上で動作可能であり得る。代替実装形態では、特徴は、ラップトップコンピュータもしくは他のパーソナルコンピュータ、スマートフォン、他のモバイルフォン、ハンドヘルドコンピュータ、タブレットPC、または他のコンピューティングデバイス上で実装され得る。
【００６９】
本明細書で説明する動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されているか、または他のソースから受信されたデータにおいて、データ処理装置によって行われる動作として実装され得る。
【００７０】
「データ処理装置」、「データ処理システム」、「ユーザデバイス」または「コンピューティングデバイス」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは複数のシステムオンチップ、または前述の組合せを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)を含み得る。装置はまた、ハードウェアに加えて、問題になっているコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265は、データ処理システム200の1つまたは複数のコンピューティングデバイスまたはプロセッサ(たとえば、プロセッサ420)を含むか、または共有することができる。
【００７１】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語において記述され得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態において展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応し得るが、そうである必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書中に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部分において、問題になっているプログラム専用の単一のファイルにおいて、または、複数の協調されたファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイル)において記憶され得る。コンピュータプログラムは、1つのコンピュータ上、または、1つのサイトに位置するか、もしくは複数のサイトにわたって分散され、通信ネットワーク430によって相互接続される、複数のコンピュータ上で実行されるように展開され得る。
【００７２】
本明細書で説明するプロセスおよび論理フローは、入力データにおいて動作することと、出力を生成することによって、アクションを行うために、1つまたは複数のプログラマブルプロセッサが1つまたは複数のコンピュータプログラムを実行することによって行われ得る。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)によって行われ得、装置もまた専用論理回路として実装され得る。
【００７３】
コンピュータプログラムの実行に好適なプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリ、または両方から、命令およびデータを受信することになる。コンピュータの本質的な要素は、命令に従ってアクションを行うためのプロセッサ、ならびに、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、または、それからデータを受信するため、もしくはそれにデータを転送するため、もしくはその両方のために動作可能に結合されることになる。ただし、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえば、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)中に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスには、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補助されるか、または専用論理回路に組み込まれ得る。
【００７４】
ユーザとの対話を提供するために、本明細書で説明する主題の実装形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)、プラズマ、またはLCD(液晶ディスプレイ)モニタと、それによってユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有する、コンピュータ上で実装され得る。他の種類のデバイスが、ユーザとの対話を提供するために同様に使用され得、たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックを含み得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送ることと、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【００７５】
本明細書で説明する主題の実装形態は、バックエンド構成要素を、たとえば、データサーバとして含むか、あるいは、ミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、あるいは、フロントエンド構成要素、たとえば、それを通してユーザが、本明細書で説明する主題の一実装形態と対話することができる、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ、または、1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、任意の形態または任意の媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が含まれる。
【００７６】
システム400またはシステム200などのコンピューティングシステムは、クライアントおよびサーバを含み得る。たとえば、データ処理システム200は、1つまたは複数のデータセンターまたはサーバファームにおいて、1つまたは複数のサーバを含み得る。クライアントおよびサーバは、一般に互いから遠隔であり、典型的には、通信ネットワークを通して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上でランしており、かつ、互いとクライアントサーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実装形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、ユーザからユーザ入力を受信するために)データ(たとえば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)が、クライアントデバイスからサーバにおいて受信され得る。
【００７７】
本明細書は、多数の特定の実装詳細を含むが、これらは、いずれかの発明の範囲の限定、または請求され得るものの範囲の限定として解釈されるべきではなく、むしろ、本明細書で説明するシステムおよび方法の特定の実装形態に固有の特徴の説明として解釈されるべきである。別個の実装形態との関連で本明細書で説明するいくつかの特徴はまた、単一の実装形態において組み合わせて実装され得る。逆に、単一の実装形態との関連で説明する様々な特徴もまた、複数の実装形態において別個に、または任意の好適な部分組合せにおいて実装され得る。その上、特徴は、いくつかの組合せにおいて作用するとして上記で説明されることがあり、最初にそのようなものとして請求されることさえあるが、請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除され得、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とし得る。
【００７８】
同様に、動作は、特定の順序で図面において図示されるが、これは、そのような動作が、図示された特定の順序で、もしくは連続した順序で行われること、または、望ましい結果を達成するために、すべての図示された動作が行われることを必要とするものとして理解されるべきではない。場合によっては、特許請求の範囲に記載されているアクションは、異なる順序で行われ、なお、望ましい結果を達成することが可能である。加えて、添付の図に図示したプロセスは、望ましい結果を達成するために、必ずしも図示の特定の順序、または連続した順序を必要とするとは限らない。
【００７９】
いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記で説明した実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に単一のソフトウェア製品にともに統合され得るか、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。たとえば、ビデオアクセッサ210、ダウンサンプラ215、1つまたは複数のフレーム評価器220、スコア合成器250、フレームセレクタ255、シーン境界切捨て器260、およびフレーム連結器265は、データ処理システム200の一部、単一のモジュール、1つもしくは複数の処理モジュールを有する論理デバイス、1つもしくは複数のサーバ、または探索エンジンの一部であり得る。
【００８０】
したがって、本明細書で説明するシステムおよび方法は、ビデオコンテンツの要約を自動的に生成または抽出することを提供し、コンテンツ全体の配信のために必要とされる帯域幅および処理能力のほんの一部で、クライアントデバイスに迅速かつ効率的に提供され得る。本明細書で説明する少なくとも1つの態様は、ビデオコンテンツの要約を自動的に抽出する方法を対象とする。データ処理システムは、ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスすることができる。データ処理システムは、第1のビデオコンテンツ要素の第1の複数のフレームについてのインターバリックサブセットを選択することができる。データ処理システムは、インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、補足サブセットのためのスコアを計算することができる。データ処理システムは、複数の補足サブセットから、最高のスコアを有する補足サブセットを識別することができる。データ処理システムは、最高のスコアを有する補足サブセットのフレームを備える第1のビデオコンテンツ要素の部分を選択することができる。データ処理システムは、第1のビデオコンテンツ要素の選択された部分を備える第2のビデオコンテンツ要素を生成することができる。
【００８１】
いくつかの実装形態では、補足サブセットのためのスコアを計算することは、補足サブセットと正のサンプリングされた画像セットとの間の第1の距離メトリックを計算することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、補足サブセットと負のサンプリングされた画像セットとの間の第2の距離メトリックを計算することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、第1の距離メトリックおよび第2の距離メトリックの組合せに基づいて、補足サブセットのためのスコアを計算することをさらに含み得る。
【００８２】
いくつかの実装形態では、補足サブセットのためのスコアを計算することは、画像認識アルゴリズムを使用して、補足サブセットからオブジェクトを検出することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、画像認識アルゴリズムを使用して、補足サブセットから検出されたオブジェクトの1つまたは複数の特性を識別することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、オブジェクトから識別された1つまたは複数の特性に基づいて、補足サブセットのためのスコアを計算することをさらに含み得る。
【００８３】
いくつかの実装形態では、補足サブセットのためのスコアを計算することは、補足サブセットの各フレームの間で、2つの対応するフレームに動き検出アルゴリズムを適用することによって、動きメトリックを計算することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、補足サブセットの各フレームの間で計算された動きメトリックのセットに基づいて、補足サブセットのためのスコアを計算することをさらに含み得る。
【００８４】
いくつかの実装形態では、補足サブセットのためのスコアを計算することは、補足サブセットのフレームのための複数のピクセルの中の色分布を決定することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、補足サブセットのフレームのための複数のピクセルの中の色分布に基づいて、補足サブセットのためのスコアを計算することをさらに含み得る。
【００８５】
いくつかの実装形態では、補足サブセットのためのスコアを計算することは、複数の補足サブセットの各々について、補足サブセットのフレームに、対応する数の画像解析アルゴリズムを適用することによって、複数のスコアを計算することをさらに含み得る。いくつかの実装形態では、補足サブセットのためのスコアを計算することは、複数のスコアの所定の加重平均に基づいて、スコアを計算することをさらに含み得る。
【００８６】
いくつかの実装形態では、第1のビデオコンテンツ要素の部分を選択することは、最高のスコアを有する補足サブセットの第2の最初のフレームに対応する、第1のビデオコンテンツ要素の第1の最初のフレームを識別することをさらに含み得る。いくつかの実装形態では、第1のビデオコンテンツ要素の部分を選択することは、最高のスコアを有する補足サブセットの第2の最終のフレームに対応する、第1のビデオコンテンツ要素の第1の最終のフレームを識別することをさらに含み得る。いくつかの実装形態では、第1のビデオコンテンツ要素の部分を選択することは、第1の最初のフレームから第1の最終のフレームまでの、第1のビデオコンテンツ要素のフレームのサブセットを選択することをさらに含み得る。
【００８７】
いくつかの実装形態では、第2のビデオコンテンツ要素を生成することは、フレームの中の第1の色変化に基づいて、第1のビデオコンテンツ要素の部分に対応するフレームの中の最初のショット境界フレームを検出することをさらに含み得る。いくつかの実装形態では、第2のビデオコンテンツ要素を生成することは、フレームの中の第2の色変化に基づいて、第1のビデオコンテンツ要素の部分に対応するフレームの中の最終のショット境界フレームを検出することをさらに含み得る。第2の色変化は、第1の色変化に後続し得る。いくつかの実装形態では、第2のビデオコンテンツ要素を生成することは、部分の最初のフレームから最初のショット境界フレームまでに対応する、第1のビデオコンテンツ要素の第1のサブ部分を切り捨てることをさらに含み得る。いくつかの実装形態では、第2のビデオコンテンツ要素を生成することは、最終のショット境界フレームから部分の最終のフレームまでに対応する、第1のビデオコンテンツ要素の第2のサブ部分を切り捨てることをさらに含み得る。
【００８８】
いくつかの実装形態では、補足サブセットのためのスコアを計算することは、1つのフレームを備える補足サブセットのためのスコアを計算することをさらに含み得る。いくつかの実装形態では、第2のビデオコンテンツ要素を生成することは、複数のフレームからの1つのフレームを含む第2のビデオコンテンツ要素を生成することをさらに含み得る。いくつかの実装形態では、データ処理システムは、画像認識アルゴリズムを使用して、オブジェクトを含む第1の複数のフレームから、第2の連続フレームのサブセットを識別することができる。いくつかの実装形態では、データ処理システムは、第2の連続フレームのサブセットを第2のビデオコンテンツ要素に連結することができる。
【００８９】
少なくとも1つの態様は、ビデオコンテンツの要約を自動的に抽出するためのシステムを対象とする。システムは、データ処理システムを含み得る。データ処理システムは、1つまたは複数のプロセッサとメモリとを有し得る。データ処理システムは、ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスすることができる。データ処理システムは、第1のビデオコンテンツ要素の第1の複数のフレームについてのインターバリックサブセットを選択することができる。データ処理システムは、インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、補足サブセットのためのスコアを計算することができる。データ処理システムは、複数の補足サブセットから、最高のスコアを有する補足サブセットを識別することができる。データ処理システムは、最高のスコアを有する補足サブセットのフレームを備える第1のビデオコンテンツ要素の部分を選択することができる。データ処理システムは、第1のビデオコンテンツ要素の選択された部分を備える第2のビデオコンテンツ要素を生成することができる。
【００９０】
いくつかの実装形態では、データ処理システムは、補足サブセットと正のサンプリングされた画像セットとの間の第1の距離メトリックを計算することができる。いくつかの実装形態では、データ処理システムは、補足サブセットと負のサンプリングされた画像セットとの間の第2の距離メトリックを計算することができる。いくつかの実装形態では、データ処理システムは、第1の距離メトリックおよび第2の距離メトリックの組合せに基づいて、補足サブセットのためのスコアを計算することができる。
【００９１】
いくつかの実装形態では、データ処理システムは、画像認識アルゴリズムを使用して、補足サブセットからオブジェクトを検出することができる。いくつかの実装形態では、データ処理システムは、画像認識アルゴリズムを使用して、補足サブセットから検出されたオブジェクトの1つまたは複数の特性を識別することができる。いくつかの実装形態では、データ処理システムは、オブジェクトから識別された1つまたは複数の特性に基づいて、補足サブセットのためのスコアを計算することができる。
【００９２】
いくつかの実装形態では、データ処理システムは、補足サブセットの各フレームの間で、2つの対応するフレームに動き検出アルゴリズムを適用することによって、動きメトリックを計算することができる。いくつかの実装形態では、データ処理システムは、補足サブセットの各フレームの間で計算された動きメトリックのセットに基づいて、補足サブセットのためのスコアを計算することができる。
【００９３】
いくつかの実装形態では、データ処理システムは、補足サブセットのフレームのための複数のピクセルの中の色分布を決定することができる。いくつかの実装形態では、データ処理システムは、補足サブセットのフレームのための複数のピクセルの中の色分布に基づいて、補足サブセットのためのスコアを計算することができる。いくつかの実装形態では、データ処理システムは、複数の補足サブセットの各々について、補足サブセットのフレームに、対応する数の画像解析アルゴリズムを適用することによって、複数のスコアを計算することができる。いくつかの実装形態では、データ処理システムは、複数のスコアの所定の加重平均に基づいて、スコアを計算することができる。
【００９４】
いくつかの実装形態では、データ処理システムは、最高のスコアを有する補足サブセットの第2の最初のフレームに対応する、第1のビデオコンテンツ要素の第1の最初のフレームを識別することができる。いくつかの実装形態では、データ処理システムは、最高のスコアを有する補足サブセットの第2の最終のフレームに対応する、第1のビデオコンテンツ要素の第1の最終のフレームを識別することができる。いくつかの実装形態では、データ処理システムは、第1の最初のフレームから第1の最終のフレームまでの、第1のビデオコンテンツ要素のフレームのサブセットを選択することができる。
【００９５】
いくつかの実装形態では、データ処理システムは、フレームの中の第1の色変化に基づいて、第1のビデオコンテンツ要素の部分に対応するフレームの中の最初のショット境界フレームを検出することができる。いくつかの実装形態では、データ処理システムは、フレームの中の第2の色変化に基づいて、第1のビデオコンテンツ要素の部分に対応するフレームの中の最終のショット境界フレームを検出することができる。第2の色変化は、第1の色変化に後続し得る。いくつかの実装形態では、データ処理システムは、部分の最初のフレームから最初のショット境界フレームまでに対応する、第1のビデオコンテンツ要素の第1のサブ部分を切り捨てることができる。いくつかの実装形態では、データ処理システムは、最終のショット境界フレームから部分の最終のフレームまでに対応する、第1のビデオコンテンツ要素の第2のサブ部分を切り捨てることができる。
【００９６】
いくつかの実装形態では、データ処理システムは、画像認識アルゴリズムを使用して、オブジェクトを含む第1の複数のフレームから、第2の連続フレームのサブセットを識別することができる。いくつかの実装形態では、データ処理システムは、第2の連続フレームのサブセットを第2のビデオコンテンツ要素に連結することができる。少なくとも1つの態様は、ビデオコンテンツの要約を自動的に抽出するための命令を記憶する、非一時的コンピュータ可読媒体を対象とする。命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を行わせることができる。動作は、ビデオデータベースから、第1の複数のフレームを含む第1のビデオコンテンツ要素にアクセスすることを含み得る。動作は、第1のビデオコンテンツ要素の第1の複数のフレームについてのインターバリックサブセットを選択することを含み得る。動作は、インターバリックサブセットからの所定の数のフレームを備える複数の補足サブセットの各々について、補足サブセットのためのスコアを計算することを含み得る。動作は、複数の補足サブセットから、最高のスコアを有する補足サブセットを識別することを含み得る。動作は、最高のスコアを有する補足サブセットのフレームを備える第1のビデオコンテンツ要素の部分を選択することを含み得る。動作は、第1のビデオコンテンツ要素の選択された部分を備える第2のビデオコンテンツ要素を生成することを含み得る。
【００９７】
ここでいくつかの例示的な実装形態および実装形態について説明したが、上記は例示的であり、限定ではなく、例として提示されたことは明らかである。具体的には、本明細書で提示した例の多くは、方法の行為またはシステム要素の特定の組合せを伴うが、それらの行為およびそれらの要素は、同じ目的を達成するために、他の方法で組み合わせられ得る。ある実装形態のみに関連して説明した行為、要素、および特徴は、他の実装形態または実装形態における同様の役割から除外されるものではない。
【００９８】
本明細書で使用する言い回しおよび専門用語は、説明のためのものであり、限定として見なされるべきではない。本明細書での「含む(including)」「備える(comprising)」「有する(having)」「含む(containing)」「伴う(involving)」「によって特徴づけられる(characterized by)」「ことを特徴とする(characterized in that)」、およびそれらの変形形態の使用は、その後に列挙される項目、それらの等価物、および追加の項目、ならびに、排他的にその後に列挙される項目からなる代替実装形態を包含するように意図されている。一実装形態では、本明細書で説明するシステムおよび方法は、説明する要素、行為、または構成要素のうちの1つ、2つ以上の各組合せ、または全部からなる。
【００９９】
本明細書で単数形において言及したシステムおよび方法の実装形態または要素または行為へのいかなる言及も、複数のこれらの要素を含む実装形態をも包含し得、本明細書のいかなる実装形態または要素または行為への複数形におけるいかなる言及も、単一の要素のみを含む実装形態をも包含し得る。単数形または複数形における言及は、本開示のシステムまたは方法、それらの構成要素、行為、または要素を単一の構成または複数の構成に限定するものではない。いずれかの情報、行為、または要素に基づいている、いずれかの行為または要素への言及は、その行為または要素がいずれかの情報、行為、または要素に少なくとも部分的に基づく実装形態を含み得る。
【０１００】
本明細書で開示するいかなる実装形態も、任意の他の実装形態と組み合わせられてよく、「実装形態」、「いくつかの実装形態」、「代替実装形態」、「様々な実装形態」、「一実装形態」などへの言及は、必ずしも相互排他的であるとは限らず、実装形態に関連して説明する特定の特徴、構造、または特性が、少なくとも1つの実装形態中に含まれ得ることを示すものである。本明細書で使用するそのような用語は、必ずしもすべて同じ実装形態に言及しているとは限らない。いかなる実装形態も、包含的にまたは排他的に、本明細書で開示する態様および実装形態に一致するいずれかの方法で、任意の他の実装形態と組み合わせられてよい。
【０１０１】
「または(or)」への言及は、「または(or)」を使用して説明するいかなる用語も、説明する用語のうちの単一、2つ以上、および全部のいずれかを示し得るように、包含的として解釈され得る。
【０１０２】
図面、発明を実施するための形態、またはいずれかの請求項における技術的特徴の後に参照符号が続く場合、参照符号は、図面、発明を実施するための形態、および特許請求の範囲の了解度を増すことを唯一の目的として含まれている。したがって、参照符号もそれらの不在も、いかなる請求項要素の範囲におけるいかなる限定の効果を有するものでもない。
【０１０３】
本明細書で説明するシステムおよび方法は、それらの特性から逸脱することなしに、他の特定の形態において実施され得る。本明細書で提供する例は、表示のためにインタラクティブなコンテンツを提供することに関するが、本明細書で説明するシステムおよび方法は、ログデータベース中に含まれたデータが使用され、前のコンテンツ要求に対応するデータと比較され、データにおける変化の決定に応答して、その変化の功績を帰するべき1つまたは複数のコンテンツ要素を識別する、他の環境に適用され得る。上記の実装形態は、説明したシステムおよび方法の限定ではなく、それらを説明するものである。したがって、本明細書で説明するシステムおよび方法の範囲は、上記の説明ではなく、添付の特許請求の範囲によって示され、特許請求の範囲の等価の意味および範囲内に入る変更は、特許請求の範囲内に包含される。
【符号の説明】
【０１０４】
105  元のビデオコンテンツ要素、ビデオコンテンツ要素、完全なビデオコンテンツ要素
105'  ダウンサンプリングされたビデオコンテンツ要素
105''  要約ビデオコンテンツ要素
110-1〜110-N、110-11、110-21〜110-M、110-11〜110-30  フレーム
120  スコア
125A〜125M  スコア、複合スコア
130A〜130O  複数の複合スコアの総和、スコアの総和、複合スコアの合計、複合スコア合計
130B  合計
135  スライディングウィンドウ
200  データ処理システム、システム
205  ビデオコンテンツデータベース
210  ビデオアクセッサ
215  ダウンサンプラまたはインターバリックフレームセレクタ、ダウンサンプラ
220  フレーム評価器
225  画像比較器
230  サンプル画像データベース
235  動き検出器
240  オブジェクト検出器
245  色分布測定器
250  スコア合成器
255  フレームセレクタ
260  シーン境界切捨て器
265  フレーム連結器、ビデオ連結器
270  要約ビデオコンテンツデータベース、要約ビデオデータベース
400  システム、コンピュータシステム
405  通信インターフェース
410  出力デバイス
415  入力デバイス
420  プロセッサ
425  メモリ
430  ネットワーク、通信ネットワーク
【図１】
0006735927.tif 000002
【図２】
0006735927.tif 000003
【図３Ａ】
0006735927.tif 000004
【図３Ｂ】
0006735927.tif 000005
【図３Ｃ】
0006735927.tif 000006
【図３Ｄ】
0006735927.tif 000007
【図３Ｅ】
0006735927.tif 000008
【図４】
0006735927.tif 000009