IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-544185自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング
<>
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図1
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図2
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図3
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図4
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図5
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図6
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図7
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図8
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図9
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図10
  • 特表-自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-28
(54)【発明の名称】自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニング
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241121BHJP
   G06N 20/00 20190101ALI20241121BHJP
   G06N 3/0895 20230101ALI20241121BHJP
   G06F 16/75 20190101ALI20241121BHJP
【FI】
G06T7/00 350B
G06T7/00 Z
G06N20/00 130
G06N3/0895
G06F16/75
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024532294
(86)(22)【出願日】2022-08-23
(85)【翻訳文提出日】2024-07-26
(86)【国際出願番号】 US2022041214
(87)【国際公開番号】W WO2023096683
(87)【国際公開日】2023-06-01
(31)【優先権主張番号】17/536,509
(32)【優先日】2021-11-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マヤンク・カンドパル
(72)【発明者】
【氏名】バフディル・アシルマトフ
(72)【発明者】
【氏名】フィリプ・パヴェティク
【テーマコード(参考)】
5B175
5L096
【Fターム(参考)】
5B175DA04
5B175FA03
5B175HB03
5L096CA04
5L096GA51
5L096JA03
5L096KA04
(57)【要約】
自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルを使用したビデオコンテンツスクリーニングは、トレーニングビデオ内のプレディケート時間セグメント及び基準ビデオ内の対応する基準時間セグメントを示すプレディケートスクリーニングデータを取得することによって、トレーニングデータセットを自動的に生成すること、トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することを含み、拡張時間セグメントは、プレディケート時間セグメントと、プレディケート時間セグメントに隣接するトレーニングビデオからの少なくとも1つのフレームとを含む。候補スクリーニングデータは、基準ビデオからのスクリーニングフレームと、拡張時間セグメントからの候補フレームの空間部分との間の類似性を示す。候補サブフレームとの間の決定された類似性を判断したことに応答して、自動的に生成されたトレーニングデータセットに、例のデータを含めることが訓練され、候補サブフレームとスクリーニングフレームとの間の類似性を示す。
【特許請求の範囲】
【請求項1】
自己教師ありトレーニングを使用して訓練されたビデオスクリーニングモデルを使用したビデオコンテンツスクリーニングの方法であって、
自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルから取得された自動的に識別されたスクリーニングデータに応答して、現在のビデオをスクリーニングすることであって、前記スクリーニングデータが、前記現在のビデオと基準ビデオとの間の類似度を示し、前記自己教師ありトレーニングが、
自動的に生成されたトレーニングデータセットを使用して、訓練されていないビデオスクリーニングモデルを訓練することによって、前記訓練済みビデオスクリーニングモデルを取得することを含み、前記自動的に生成されたトレーニングデータセットが、
トレーニングビデオ内のプレディケート時間セグメント、及び前記基準ビデオ内の対応する基準時間セグメントを示す自動的に生成されたプレディケートスクリーニングデータを取得することと、
前記トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、前記拡張時間セグメントが前記プレディケート時間セグメントと、前記プレディケート時間セグメントに隣接する前記トレーニングビデオからの少なくとも1つのフレームとを含み、前記候補スクリーニングデータが、前記基準ビデオからのスクリーニングフレームと候補サブフレームとの間の類似性を示し、前記候補サブフレームが、前記拡張時間セグメントからの候補フレームの空間部分である、取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の決定された類似性が、定義済み類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに、前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すトレーニング例データを含めることと
によって自動的に生成される、スクリーニングすること
を含む、方法。
【請求項2】
前記自己教師ありトレーニングが、
前記自動的に生成されたプレディケートスクリーニングデータに対応する複数のトレーニングビデオから前記トレーニングビデオを取得することと、
複数の基準ビデオから前記基準ビデオを取得することと、
前記プレディケートスクリーニングデータを取得することであって、前記プレディケートスクリーニングデータが、第1の定義済み信頼度閾値を使用した以前に訓練されたビデオスクリーニングモデルを使用して、前記複数の基準ビデオに関して前記複数のトレーニングビデオをスクリーニングすることによって以前に生成されている、取得することと
を含む、請求項1に記載の方法。
【請求項3】
前記自動的に識別されたスクリーニングデータが、前記第1の定義済み信頼度閾値を使用した自己教師ありトレーニングを使用して訓練された、前記訓練済みビデオスクリーニングモデルから取得される、請求項2に記載の方法。
【請求項4】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることが、
前記第1の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルを使用して前記基準ビデオに関して前記トレーニングビデオをスクリーニングすることによってフィルタリングスクリーニングデータを取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに存在しないと判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに含まれると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略することと
を含む、請求項2に記載の方法。
【請求項5】
前記候補スクリーニングデータを取得することが、前記第1の定義済み信頼度閾値よりも低い第2の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得することを含む、請求項2に記載の方法。
【請求項6】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることが、
前記スクリーニングフレームの一部を取得することと、
前記スクリーニングフレームの前記一部のフィンガープリントを取得することと、
前記スクリーニングフレームのフィンガープリントを取得することと、
前記スクリーニングフレームの前記一部の前記フィンガープリントと、前記スクリーニングフレームの前記フィンガープリントとの間の類似性の尺度を示す類似性値を決定することと、
前記類似性値が定義済み最大類似性閾値未満であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記類似性値が前記定義済み最大類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略すること

を含む、請求項1または2に記載の方法。
【請求項7】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることが、
前記候補サブフレームのサイズが、定義された最小サイズに満たないと判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略すること
を含む、請求項1または2に記載の方法。
【請求項8】
前記自己教師ありトレーニングが、前記自動的に生成されたトレーニングデータセットのバイアスを除去することを含む、請求項1~7のいずれかに記載の方法。
【請求項9】
自己教師ありトレーニングを使用して訓練されたビデオスクリーニングモデルを使用したビデオコンテンツスクリーニングの方法であって、
入力ビデオを取得することと、
自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルから、前記入力ビデオと基準ビデオとの間の自動的に識別された関連付けを示すスクリーニングデータを取得することであって、前記自己教師ありトレーニングが、
自動的に生成されたトレーニングデータセットを取得することであって、
トレーニングビデオを取得することと、
前記基準ビデオを取得することと、
前記トレーニングビデオ及び前記基準ビデオに関して第1の以前に訓練されたビデオスクリーニングモデルを使用して生成されたプレディケートスクリーニングデータを取得することであって、前記プレディケートスクリーニングデータが、前記トレーニングビデオ内のプレディケート時間セグメント及び前記基準ビデオ内の対応する基準時間セグメントを示す、取得することと、
第2の以前に訓練されたビデオスクリーニングモデルから、前記トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、前記拡張時間セグメントが、前記プレディケート時間セグメントと、前記プレディケート時間セグメントに先行する前記トレーニングビデオからのフレームまたは前記プレディケート時間セグメントに続く前記トレーニングビデオからのフレームの少なくとも1つとを含み、前記候補スクリーニングデータが、前記基準ビデオからのスクリーニングフレームと候補サブフレームとの間の関連付けを示し、前記候補サブフレームが、前記拡張時間セグメントからの候補フレームの空間部分である、前取得することと、
前記候補サブフレーム及び前記スクリーニングフレームに関して決定された類似性値が、第1の定義済み類似性閾値以上であり、
前記候補サブフレームと前記スクリーニングフレームとの間の前記関連付けを示すデータが、前記トレーニングビデオ及び前記基準ビデオに関して前記第1の以前に訓練されたビデオスクリーニングモデルから取得されたフィルタリングスクリーニングデータに存在せず、
前記スクリーニングフレーム及び前記スクリーニングフレームの空間部分に関する類似性値が、第2の定義済み類似性閾値未満である
と判断したことに応答して、
前記自動的に生成されたトレーニングデータセットに、前記候補サブフレームと前記スクリーニングフレームとの間の前記関連付けを示すトレーニング例データを含めることと
を含む、前記自動的に生成されたトレーニングデータセットを取得することと、
前記自動的に生成されたトレーニングデータセットのバイアスを除去することと、
訓練されていないビデオスクリーニングモデルを取得することと、
前記自動的に生成されたトレーニングデータセットを使用して前記訓練されていないスクリーニングモデルを訓練することによって前記訓練済みビデオスクリーニングモデルを取得することと
を含む、前記スクリーニングデータを取得することと、
前記スクリーニングデータを取得することに応答して、前記入力ビデオをスクリーニングされたビデオとして識別することと
を含む、方法。
【請求項10】
前記入力ビデオが、複数の入力ビデオの1つであり、
前記基準ビデオが、複数の基準ビデオの1つであり、
前記スクリーニングデータを取得することが、前記複数の基準ビデオに関して前記複数の入力ビデオのスクリーニングデータを取得することを含む、
請求項9に記載の方法。
【請求項11】
前記入力ビデオと前記基準ビデオとの間の類似性が、前記入力ビデオに対して自動的に生成されたフィンガープリントと、前記基準ビデオに対して自動的に生成されたフィンガープリントとの間の類似性であり、
前記スクリーニングフレームと前記候補サブフレームとの間の前記類似性が、前記スクリーニングフレームに対して自動的に生成されたフィンガープリントと、前記候補サブフレームに対して自動的に生成されたフィンガープリントとの間の類似性である、
請求項9または10に記載の方法。
【請求項12】
前記プレディケートスクリーニングデータが、第1の定義済み信頼度閾値を用いた前記第1の以前に訓練されたビデオスクリーニングモデルを使用して生成され、
前記第2の以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得することが、第2の定義済み信頼度閾値を用いた前記第1の以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得することを含み、前記第1の定義済み信頼度閾値が、前記第2の定義済み信頼度閾値よりも大きい、
請求項9~11のいずれかに記載の方法。
【請求項13】
前記入力ビデオをスクリーニングされたビデオとして識別することが、前記スクリーニングデータによって示される前記入力ビデオの一部のフィンガープリントデータを生成することを含む、請求項9~12のいずれかに記載の方法。
【請求項14】
自己教師ありトレーニングを使用してビデオスクリーニングモデルを訓練するためのシステムであって、
命令を格納する非一時的メモリと、
プロセッサと
を備え、前記プロセッサが、訓練済みビデオスクリーニングモデルを取得するために前記命令を実行し、
前記訓練済みビデオスクリーニングモデルを取得するために、前記プロセッサが、トレーニングデータセットを使用して訓練されていないビデオスクリーニングモデルを訓練するために前記命令を実行し、前記トレーニングデータセットを自動的に生成するために、前記プロセッサが、
トレーニングビデオ内のプレディケート時間セグメント、及び基準ビデオ内の対応する基準時間セグメントを示す自動的に生成されたプレディケートスクリーニングデータを取得することと、
前記トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、前記拡張時間セグメントが前記プレディケート時間セグメントと、前記プレディケート時間セグメントに隣接する前記トレーニングビデオからの少なくとも1つのフレームとを含み、前記候補スクリーニングデータが、前記基準ビデオからのスクリーニングフレームと候補サブフレームとの間の類似性を示し、前記候補サブフレームが、前記拡張時間セグメントからの候補フレームの空間部分である、取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の決定された類似性が、定義済み類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに、前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すトレーニング例データを含めることと
を行うために前記命令を実行する、システム。
【請求項15】
前記トレーニングデータセットを自動的に生成するために、前記プロセッサが、
前記自動的に生成されたプレディケートスクリーニングデータに対応する複数のトレーニングビデオから前記トレーニングビデオを取得することと、
複数の基準ビデオから前記基準ビデオを取得することと、
前記プレディケートスクリーニングデータを取得することであって、前記プレディケートスクリーニングデータが、第1の定義済み信頼度閾値を使用した以前に訓練されたビデオスクリーニングモデルを使用して、前記複数の基準ビデオに関して前記複数のトレーニングビデオをスクリーニングすることによって以前に生成された、取得することと
を行うために命令を実行する、請求項14に記載のシステム。
【請求項16】
前記訓練されたビデオスクリーニングモデルから取得された自動的に識別されたスクリーニングデータに応答して、現在のビデオをスクリーニングすることであって、前記スクリーニングデータが、前記現在のビデオと基準ビデオとの間の類似性を示し、前記スクリーニングデータが、前記第1の定義済み信頼度閾値を使用して前記訓練されたビデオスクリーニングモデルから取得される、スクリーニングすること
をさらに含む、請求項15に記載のシステム。
【請求項17】
前記現在のビデオをスクリーニングすることが、
前記現在のビデオをスクリーニングビデオとして識別することと、
前記スクリーニングデータによって示される前記現在のビデオの一部のフィンガープリントデータを生成することと、
前記現在のビデオの前記一部の前記フィンガープリントデータを前記基準ビデオのフィンガープリントデータと比較して、前記現在のビデオの前記一部が、前記基準ビデオからのそれぞれの基準ビデオのそれぞれの部分に類似しているかどうかを判断することと
を含む、請求項16に記載のシステム。
【請求項18】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めるために、前記プロセッサが、
前記第1の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルを使用して前記基準ビデオに関して前記トレーニングビデオをスクリーニングすることによってフィルタリングスクリーニングデータを取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに存在しないと判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに含まれると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略することと
を行うために前記命令を実行する、請求項15または16に記載のシステム。
【請求項19】
前記候補スクリーニングデータを取得するために、前記プロセッサが、前記第1の定義済み信頼度閾値よりも低い第2の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得するために前記命令を実行する、請求項15または16に記載のシステム。
【請求項20】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めるために、前記プロセッサが、
前記スクリーニングフレームの一部を取得することと、
前記スクリーニングフレームの前記一部のフィンガープリントを取得することと、
前記スクリーニングフレームのフィンガープリントを取得することと、
前記スクリーニングフレームの前記一部の前記フィンガープリントと、前記スクリーニングフレームの前記フィンガープリントとの間の類似性の尺度を示す類似性値を決定することと、
前記類似性値が、定義済み最大類似性閾値未満であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記類似性値が、前記定義済み最大類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略することと
を行うために前記命令を実行する、請求項14または15に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
デジタル画像及びビデオは、例えば、インターネットなどの電子通信ネットワークを介した電子通信を使用して、サーバまたはコンテンツストレージ及び配信システム上などにホストする、または格納することができる。ユーザーが操作し得るクライアントデバイスは、画像及びビデオをコンテンツストレージ及び配信システムにアップロードし得、コンテンツストレージ及び配信システムによって格納された画像及びビデオにアクセスし得る。
【発明の概要】
【0002】
本明細書では、自己教師あり学習を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングのためのシステム、方法、及び装置の態様を開示する。
【0003】
一態様は、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングのための方法である。自己教師ありトレーニングを使用して訓練された機械学習スクリーニングモデルを使用したビデオスクリーニングは、自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルから取得された自動的に識別されたスクリーニングデータに応答して、現在のビデオをスクリーニングすることを含み得、スクリーニングデータは、現在のビデオと基準ビデオとの間の類似性を示す。自己教師ありトレーニングは、トレーニングビデオ内のプレディケート時間セグメント(predicate temporal segment)、及び基準ビデオ内の対応する基準時間セグメントを示す自動的に生成されたプレディケートスクリーニングデータ(predicate screening data)を取得することと、トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、拡張時間セグメントがプレディケート時間セグメントと、プレディケート時間セグメントに隣接するトレーニングビデオからの少なくとも1つのフレームとを含み、候補スクリーニングデータが、基準ビデオからのスクリーニングフレームと候補サブフレームとの間の類似性を示し、候補サブフレームが、拡張時間セグメントからの候補フレームの空間部分である、取得することと、候補サブフレームとスクリーニングフレームとの間の決定された類似性が、定義済み類似性閾値以上であると判断したことに応答して、自動的に生成されたトレーニングデータセットに、候補サブフレームとスクリーニングフレームとの間の類似性を示すトレーニング例データを含めることとによって自動的に生成されたトレーニングデータセットを使用して、訓練されていないビデオスクリーニングモデルを訓練することによって、訓練済みビデオスクリーニングモデルを取得することを含む。
【0004】
別の態様は、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングのための方法である。自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングは、入力ビデオを取得することと、自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルから、入力ビデオと基準ビデオとの間の自動的に識別された関連付けを示すスクリーニングデータを取得することと、スクリーニングデータを取得することに応答して、入力ビデオをスクリーニングされたビデオとして識別することとを含む。自己教師ありトレーニングは、自動的に生成されたトレーニングデータセットを取得することを含む。自動的に生成されたトレーニングデータセットを取得することは、トレーニングビデオを取得することと、基準ビデオを取得することと、トレーニングビデオ及び基準ビデオに関して第1の以前に訓練されたビデオスクリーニングモデルを使用して生成されたプレディケートスクリーニングデータを取得することであって、プレディケートスクリーニングデータは、トレーニングビデオ内のプレディケート時間セグメント及び基準ビデオ内の対応する基準時間セグメントを示す、取得することと、第2の以前に訓練されたビデオスクリーニングモデルから、トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、拡張時間セグメントが、プレディケート時間セグメント、及びプレディケート時間セグメントに先行するトレーニングビデオからのフレームまたはプレディケート時間セグメントに続くトレーニングビデオからのフレームの少なくとも1つを含み、候補スクリーニングデータが、基準ビデオからのスクリーニングフレームと候補サブフレームとの間の関連付けを示し、候補サブフレームが、拡張時間セグメントからの候補フレームの空間部分である、取得することとを含み得る。自動的に生成されたトレーニングデータセットを取得することは、候補サブフレーム及びスクリーニングフレームに関して決定された類似性値が、第1の定義済み類似性閾値以上であると判断したことに応答して、及び候補サブフレームとスクリーニングフレームとの間の関連付けを示すデータが、トレーニングビデオ及び基準ビデオに関して第1の以前に訓練されたビデオスクリーニングモデルから取得されたフィルタリングスクリーニングデータに存在しないと判断したことに応答して、及びスクリーニングフレーム及びスクリーニングフレームの空間部分に関する類似性値が、第2の定義済み類似性閾値未満であると判断したことに応答して、自動的に生成されたトレーニングデータセットに、候補サブフレームとスクリーニングフレームとの間の関連付けを示すトレーニング例データを含めることを含む。自己教師ありトレーニングは、自動的に生成されたトレーニングデータセットのバイアスを除去する(debiasing)ことと、訓練されていないビデオスクリーニングモデルを取得することと、自動的に生成されたトレーニングデータセットを使用して訓練されていないスクリーニングモデルを訓練することによって訓練済みビデオスクリーニングモデルを取得することとを含む。
【0005】
別の態様は、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングのためのシステムである。システムは、自己教師ありトレーニングのための命令を格納する非一時的コンピュータ可読記憶媒体と、訓練済みビデオスクリーニングモデルを取得するために、非一時的コンピュータ可読記憶媒体に格納された命令を実行するように構成されたプロセッサであって、訓練済みビデオスクリーニングモデルを取得するために、トレーニングデータセットを使用して訓練されていないビデオスクリーニングモデルを訓練する命令を実行するプロセッサとを含み得る。トレーニングデータセットを自動的に生成するために、プロセッサは、トレーニングビデオ内のプレディケート時間セグメント、及び基準ビデオ内の対応する基準時間セグメントを示す自動的に生成されたプレディケートスクリーニングデータを取得する命令、トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得する命令であって、拡張時間セグメントがプレディケート時間セグメント及びプレディケート時間セグメントに隣接するトレーニングビデオからの少なくとも1つのフレームを含み、候補スクリーニングデータが、基準ビデオからのスクリーニングフレームと候補サブフレームとの間の類似性を示し、候補サブフレームが、拡張時間セグメントからの候補フレームの空間部分である、取得する命令、及び候補サブフレームとスクリーニングフレームとの間の決定された類似性が、定義済み類似性閾値以上であると判断したことに応答して、自動的に生成されたトレーニングデータセットに、候補サブフレームとスクリーニングフレームとの間の類似性を示すトレーニング例データを含める命令を実行する。
【0006】
これらの態様及び他の態様の変形形態は、後にさらに詳しく説明される。
【0007】
本明細書の説明は添付の図面を参照するが、特に断りがない限り、または文脈から明らかな場合を除き、複数の図を通して同様の参照番号は同様の部品を指す。
【図面の簡単な説明】
【0008】
図1】コンピューティングデバイスの図である。
図2】コンピューティング及び通信システムの図である。
図3】ビデオストリームの図である。
図4】ビデオホスティングシステムのブロック図である。
図5】ビデオ類似性エンジンの一例のブロック図である。
図6】制限されたコンテンツを含む空間サブフレームを含むビデオフレームの一例を示すブロック図である。
図7】自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングの方法の一例のブロック図である。
図8】自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得する方法の一例のブロック図である。
図9】自動的に生成されたトレーニングデータセットを取得する方法の一例のブロック図である。
図10】基準ビデオ及び入力ビデオまたはプローブビデオに関するプレディケートスクリーニングデータ1000のグラフィカル表現の一例の図である。
図11】自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングの方法の別の例のブロック図である。
【発明を実施するための形態】
【0009】
サーバまたはコンテンツストレージ及び配信システムは、サーバまたはコンテンツストレージ及び配信システムにアップロードされた、または別の方法で提供された、数千の、数百万の、数十億のビデオをホストし得る。サーバまたはコンテンツストレージ及び配信システムは、著作権保護と関連するコンテンツ、またはアクセス制限が定義されている他のコンテンツを含む、制限されたビデオ、保護されたビデオ、またはアクセス制御されたビデオとして定義または記述されているビデオのレポジトリ、データベース、データストア、または他の集合体を含み得るか、あるいはそれらにアクセスし得る。サーバまたはコンテンツストレージ及び配信システムは、制限されたビデオ、保護されたビデオ、またはアクセス制御されたビデオとして定義または記述されているビデオへのアクセスを制限し得る、限定し得る、または別の方法で制御し得る。サーバまたはコンテンツストレージ及び配信システムは、アップロードされたビデオに含まれる制限されたコンテンツを検出するためにアップロードされたビデオをスクリーニングし得る。例えば、サーバまたはコンテンツストレージ及び配信システムは、それぞれのアクセスが制限されたビデオを表すフィンガープリントデータを生成し得、サーバまたはコンテンツストレージ及び配信システムは、それぞれのアップロードされたビデオを表すフィンガープリントデータを生成し得、それぞれのアップロードされたビデオを表すフィンガープリントデータを判断したことに応答して
【0010】
サーバもしくはコンテンツストレージ及び配信システムにアップロードされた、またはサーバもしくはコンテンツストレージ及び配信システムによってホストされたビデオの一部は、制限されたコンテンツ、保護されたコンテンツ、またはアクセス制御されたコンテンツの1つ以上の部分を含み得る。例えば、サーバまたはコンテンツストレージ及び配信システムにアップロードされたビデオは、アップロードされたビデオの空間部分に埋め込まれた、または別の方法で含まれた、アクセス制御されたビデオまたはその一部を含む場合があり、アップロードされたビデオの他の空間部分の他のコンテンツを含む場合がある。いくつかのコンテンツストレージ及び配信システムでは、アップロードされたビデオなどの別のビデオに、アクセスが制限されたコンテンツを含めることにより、アクセスが制限されたコンテンツに対するアクセスの制御の精度、効率、または両方が回避され得る、または低減され得る。
【0011】
本明細書で説明するコンテンツストレージ及び配信システムは、アクセス制御されたコンテンツを埋め込んだアップロードまたはホストされたビデオを検出し、フラグを立て得る訓練済み機械学習ビデオスクリーニングモデルを使用して、アップロードまたはホストされたビデオをスクリーニングし得る。訓練済み機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングの精度、効率、または両方は、機械学習ビデオスクリーニングモデルを訓練するために使用されるトレーニングデータのサイズ及び品質と相互に関連し得る。本明細書で説明する自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングは、トレーニングデータを自動的に生成することによって他のモデルに使用されるトレーニングを改善する。例えば、自動的に生成されたトレーニングデータセットの濃度、またはトレーニング例の数は、手動で生成されたトレーニングデータセットよりも大幅に大きい場合がある。トレーニングデータの自動的な、または自己教師あり下の生成は、以前に訓練された機械学習ビデオスクリーニングモデルに基づいている。自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングをさらに改善するために、以前に訓練された機械学習ビデオスクリーニングモデルによって生成されたスクリーニングデータは、本明細書で説明するように、時間的に拡張され、さらに処理されるため、以前に訓練された機械学習ビデオスクリーニングモデルに対して偽陰性であるトレーニング例がトレーニング例として含まれる。
【0012】
図1は、コンピューティングデバイス100の一例のブロック図である。示されているコンピューティングデバイス100は、メモリ110と、プロセッサ120と、ユーザーインターフェース(UI)130と、電子通信ユニット140と、センサ150と、電源160と、バス170とを含む。本明細書で使用される場合、用語「コンピューティングデバイス」は、本明細書で開示される任意の方法、またはその任意の1つもしくは複数の部分を実行できる任意のユニット、またはユニットの組み合わせを含む。
【0013】
コンピューティングデバイス100は、パーソナルコンピュータ(PC)、サーバ、ワークステーション、ミニコンピュータ、もしくはメインフレームコンピュータなどの固定されたコンピューティングデバイス、または携帯電話、パーソナルデジタルアシスタント(PDA)、ラップトップ、もしくはタブレットPCなどのモバイルコンピューティングデバイスであってよい。単一のユニットとして示されているが、コンピューティングデバイス100の任意の1つの要素または複数の要素は、任意の数の別々の物理ユニットに統合できる。例えば、ユーザーインターフェース130及びプロセッサ120は、第1の物理ユニットに統合することができ、メモリ110は、第2の物理ユニットに統合することができる。
【0014】
メモリ110は、コンピューティングデバイス100の他のコンポーネントによって、またはコンピューティングデバイス100の他のコンポーネントと関連して使用するために、例えば、データ112、命令114、オペレーティングシステム116、またはそれらに関連付けられた任意の情報を含むか、格納するか、通信するか、または移動させることができる任意の有形デバイスなど、任意の非一時的なコンピュータ使用可能媒体またはコンピュータ可読媒体を含むことができる。非一時的なコンピュータ使用可能媒体またはコンピュータ可読媒体は、例えば、ソリッドステートドライブ、メモリカード、リムーマブルメディア、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスク、フロッピーディスク、光ディスク、磁気カードもしくは光カードを含む任意のタイプのディスク、特定用途向け集積回路(ASIC)、または電子情報を格納するために適した任意のタイプの非一時的なメモリもしくは媒体、またはそれらの任意の組み合わせである可能性がある。
【0015】
単一のユニットとして示されているが、メモリ110は、ランダムアクセスメモリユニットなどの1つ以上の一次メモリユニット、ディスクなどの1つ以上の二次データストレージユニット、またはそれらの組み合わせなど、複数の物理ユニットを含み得る。例えば、データ112もしくはその一部、命令114もしくはその一部、または両方は、二次ストレージユニットに格納され得、それぞれのデータ112の処理、それぞれの命令114の実行、または両方と連動して、一次ストレージユニットにロードされ得るか、または別の方法で転送され得る。いくつかの実施形態では、メモリ110、またはその一部は着脱式メモリであってよい。
【0016】
データ112は、入力データ、エンコードされたデータ、デコードされたデータなどである、または入力データ、エンコードされたデータ、デコードされたデータなどを含む場合もある。命令114は、本明細書で開示される方法またはその任意の1つの部分もしくは複数の部分を実行するためのコードなどの指示を含むことができる。命令114は、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせで実現できる。例えば、命令114は、本明細書で説明するそれぞれの方法、アルゴリズム、態様、またはそれらの組み合わせのいずれかを実行するためにプロセッサ120によって実行され得る、コンピュータプログラムまたはアプリケーションなど、メモリ110に格納された情報として実装され得る。
【0017】
メモリ110に含まれるとして示されているが、いくつかの実施態様では、命令114またはその一部は、本明細書で説明する方法、アルゴリズム、態様、またはそれらの組み合わせのいずれかを実行するための専用ハードウェアを含むことができる専用プロセッサまたは回路として実装され得る。命令114の部分は、同じマシンまたは異なるマシン上の複数のプロセッサに分散するか、またはローカルエリアネットワーク、広域ネットワーク、インターネットなどのネットワークに分散するか、またはそれらの組み合わせに分散することができる。
【0018】
プロセッサ120は、光プロセッサ、量子プロセッサ、分子プロセッサ、またはそれらの組み合わせを含む、現在存在するか、または今後開発されるデジタル信号または他の電子情報を操作または処理できる任意のデバイスまたはシステムを含むことができる。例えば、プロセッサ120は、専用プロセッサ、中央処理装置(CPU)、デジタルシグナルプロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアに関連付けられた1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ、プログラマブル論理制御装置、マイクロコード、ファームウェア、任意のタイプの集積回路(IC)、状態機械、及び/またはそれらの任意の組み合わせを含むことができる。本明細書で使用される場合、用語「プロセッサ」は、単一のプロセッサまたは複数のプロセッサを含む。
【0019】
ユーザーインターフェース130は、仮想キーパッドもしくは物理キーパッド、タッチパッド、ディスプレイ、タッチディスプレイ、スピーカ、マイクロホン、ビデオカメラ、センサ、またはそれらの任意の組み合わせなど、ユーザーとインターフェースをとることができる任意のユニットを含むことができる。例えば、ユーザーインターフェース130は、視聴覚表示装置であってよく、コンピューティングデバイス100は、ユーザーインターフェース130、視聴覚ディスプレイデバイスを使用して、例えば、デコードされたビデオなどのビデオの表示と連動してなど、デコードされたオーディオなどのオーディオを提示し得る。単一のユニットとして示されているが、ユーザーインターフェース130は、1つ以上の物理ユニットを含み得る。例えば、ユーザーインターフェース130は、ユーザーとのオーディオ通信を実行するためのオーディオインターフェースと、ユーザーとの視覚的な通信及びタッチベースの通信を実行するためのタッチディスプレイとを含み得る。
【0020】
電子通信ユニット140は、無線周波数(RF)通信媒体、紫外線(UV)通信媒体、可視光通信媒体、光ファイバ通信媒体、有線通信媒体、またはそれらの組み合わせなど、有線または無線電子通信媒体180を介して信号を送信するか、受信するか、または送受信することができる。例えば、示されるように、電子通信ユニット140は、無線信号を介して通信するように構成された、アンテナなどの電子通信インターフェース142に動作可能なように接続される。
【0021】
電子通信インターフェース142は、図1に無線アンテナとして示されるが、電子通信インターフェース142は、示されるように、無線アンテナ、イーサネットポート、赤外線ポート、シリアルポートなどの有線通信ポート、または有線もしくは無線の電子通信媒体180とインターフェースをとることができる任意の他の有線もしくは無線ユニットである場合がある。図1は、単一の電子通信ユニット140及び単一の電子通信インターフェース142を示しているが、任意の数の電子通信ユニット及び任意の数の電子通信インターフェースを使用することができる。
【0022】
センサ150は、例えば、オーディオ検知デバイス、可視光検知デバイス、動作検知デバイス、またはそれらの組み合わせを含み得る。例えば、センサ150は、マイクロホンなどのサウンド検知デバイス、またはコンピューティングデバイス100を操作するユーザーによってなされる話もしくは他の発話など、コンピューティングデバイス100の近傍でサウンドを検知できる、現在存在するもしくは今後開発される任意の他のサウンド検知デバイスを含み得る。別の例では、センサ150は、カメラ、またはコンピューティングデバイスを操作するユーザーの画像などの画像を検知できる、現在存在するもしくは今後開発される他の画像検知デバイスを含み得る。単一のセンサ150が示されているが、コンピューティングデバイス100は、いくつかのセンサ150を含み得る。例えば、コンピューティングデバイス100は、コンピューティングデバイス100のユーザーに向けられた視野で配向された第1のカメラと、コンピューティングデバイス100のユーザーから離れる方に向けられた視野で配向された第2のカメラとを含み得る。
【0023】
電源160は、コンピューティングデバイス100に電力を供給するための任意の適切なデバイスである場合がある。例えば、電源160は、有線外部電源インターフェース、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li-ion)などの1つ以上の乾電池、太陽電池、燃料電池、またはコンピューティングデバイス100に電力を供給できる任意の他のデバイスを含むことができる。単一の電源160は図1に示されているが、コンピューティングデバイス100は、電池及び有線外部電源インターフェースなどの複数の電源160を含み得る。
【0024】
別個のユニットとして示されているが、電子通信ユニット140、電子通信インターフェース142、ユーザーインターフェース130、電源160、またはそれらの部分は、結合ユニットとして構成され得る。例えば、電子通信ユニット140、電子通信インターフェース142、ユーザーインターフェース130、及び電源160は、外部ディスプレイ装置とインターフェースをとり、通信、電力、または両方を提供できる通信ポートとして実装され得る。
【0025】
メモリ110、プロセッサ120、ユーザーインターフェース130、電子通信ユニット140、センサ150、または電源160の1つ以上は、バス170を介して動作可能なように結合され得る。図1には単一のバス170が示されているが、コンピューティングデバイス100は複数のバスを含み得る。例えば、メモリ110、プロセッサ120、ユーザーインターフェース130、電子通信ユニット140、センサ150、及びバス170は、バス170を介して電源160から電力を受け取り得る。別の例では、メモリ110、プロセッサ120、ユーザーインターフェース130、電子通信ユニット140、センサ150、電源160、またはそれらの組み合わせは、バス170を介して、電子信号を送信及び受信することによってなど、データを通信し得る。
【0026】
図1に別に示されていないが、プロセッサ120、ユーザーインターフェース130、電子通信ユニット140、センサ150、または電源160の1つ以上は、内部バッファまたはレジスタなどの内部メモリを含み得る。例えば、プロセッサ120は、内部メモリ(図示せず)を含み得、処理のためにメモリ110から内部メモリ(図示せず)内にデータ112を読み取り得る。
【0027】
別個の要素として示されているが、メモリ110、プロセッサ120、ユーザーインターフェース130、電子通信ユニット140、センサ150、電源160、及びバス170、またはそれらの任意の組み合わせは、1つ以上の電子ユニット、回路、またはチップに統合できる。
【0028】
図2は、コンピューティング及び通信システム200の図である。示されているコンピューティング及び通信システム200は、コンピューティング及び通信デバイス100A、100B、100Cと、アクセスポイント210A、210Bと、ネットワーク220とを含む。例えば、コンピューティング及び通信システム200は、コンピューティング及び通信デバイス100A、100B、100Cなどの1つ以上の有線または無線通信デバイスに、音声、オーディオ、データ、ビデオ、メッセージング、ブロードキャスト、またはそれらの組み合わせなどの通信を提供する多重アクセスシステムである可能性がある。簡潔にするために、図2は3つのコンピューティング及び通信デバイス100A、100B、100C、2つのアクセスポイント210A、210B、及び1つのネットワーク220を示しているが、任意の数のコンピューティング及び通信デバイス、アクセスポイント、及びネットワークを使用できる。
【0029】
コンピューティング及び通信デバイス100A、100B、100Cは、例えば図1に示されるコンピューティングデバイス100などのコンピューティングデバイスである場合がある。例えば、コンピューティング及び通信デバイス100A、100Bは、モバイルコンピューティングデバイス、ラップトップ、シンクライアント、またはスマートフォンなどのユーザーデバイスであってよく、コンピューティング及び通信デバイス100Cは、メインフレームまたはクラスタなどのサーバであってよい。コンピューティング及び通信デバイス100A及びコンピューティング及び通信デバイス100Bはユーザーデバイスとして説明され、コンピューティング及び通信デバイス100Cはサーバとして説明されているが、いずれのコンピューティング及び通信デバイスも、サーバの機能の一部もしくはすべて、ユーザーデバイスの機能の一部もしくはすべて、またはサーバ及びユーザーデバイスの機能の一部もしくはすべてを実行し得る。例えば、サーバコンピューティング及び通信デバイス100Cは、オーディオデータまたはビデオデータなどのデータを受信し得、エンコード、処理、格納、送信など処理し得る、またはその組み合わせを行い得、コンピューティング及び通信デバイス100A及びコンピューティング及び通信デバイス100Bの一方または両方は、データを受信し得、デコード、処理、格納、提示など処理し得る、またはその組み合わせを行い得る。
【0030】
ユーザー装置(UE)、モバイルステーション、固定もしくはモバイル加入者ユニット、セルラー電話、パーソナルコンピュータ、タブレットコンピュータ、サーバ、家電製品、または任意の類似したデバイスを含み得る各コンピューティング及び通信デバイス100A、100B、100Cは、例えば、ネットワーク220を介してなど、有線通信または無線通信を実行するように構成できる。例えば、コンピューティング及び通信デバイス100A、100B、100Cは、有線または無線通信信号を送信または受信するように構成できる。各コンピューティング及び通信デバイス100A、100B、100Cは、単一のユニットとして示されているが、コンピューティング及び通信デバイスは、任意の数の相互接続された要素を含むことができる。
【0031】
各アクセスポイント210A、210Bは、有線または無線通信リンク180A、180B、180Cを介してコンピューティング及び通信デバイス100A、100B、100C、ネットワーク220、または両方と通信するように構成された任意のタイプのデバイスである場合がある。アクセスポイント210A、210Bは、基地局、基地トランシーバステーション(BTS)、ノードB、拡張ノードB(eNode-B)、ホームノードB(HNode-B)、無線ルータ、有線ルータ、ハブ、中継器、スイッチ、または任意の類似した有線デバイスまたは無線デバイスを含むことができる。例えば、各アクセスポイント210A、210Bは単一のユニットとして示されているが、アクセスポイントは任意の数の相互接続された要素を含むことができる。
【0032】
ネットワーク220は、有線または無線通信リンクを介して、音声、データ、アプリケーション、ボイスオーバーインターネットプロトコル(VoIP)、または任意の他の通信プロトコル、または通信プロトコルの組み合わせなどのサービスを提供するように構成された任意のタイプのネットワークである場合がある。例えば、ネットワーク220は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、仮想プライベートネットワーク(VPN)、携帯電話網もしくはセルラー電話網、インターネット、または電子通信の任意の他の手段である場合がある。ネットワークは、伝送制御プロトコル(TCP)、ユーザーデータグラムプロトコル(UDP)、インターネットプロトコル(IP)、リアルタイムトランスポートプロトコル(RTP)、ハイパーテキストトランスポートプロトコル(HTTP)、またはそれらの組み合わせなどの通信プロトコルを使用できる。
【0033】
コンピューティング及び通信デバイス100A、100B、100Cは、1つ以上の有線もしくは無線通信ンリンクを使用してネットワーク220を介して、または有線及び無線通信リンクの組み合わせを介して互いと通信できる。例えば、示されるように、コンピューティング及び通信デバイス100A、100Bは、無線通信リンク180A、180Bを介して通信することができ、コンピューティング及び通信デバイス100Cは、有線通信リンク180Cを介して通信することができる。コンピューティング及び通信デバイス100A、100B、100Cのいずれも、1つまたは複数の任意の有線または無線通信リンクを使用して通信し得る。例えば、第1のコンピューティング及び通信デバイス100Aは、第1のタイプの通信リンクを使用して第1のアクセスポイント210Aを介して通信することができ、第2のコンピューティング及び通信デバイス100Bは、第2のタイプの通信リンクを使用して第2のアクセスピンと210Bを介して通信することができ、第3のコンピューティング及び通信デバイス100Cは、第3のタイプの通信リンクを使用して第3のアクセスポイント(図示せず)を介して通信することができる。同様に、アクセスポイント210A、210Bは、1つ以上のタイプの有線または無線通信リンク230A、230Bを介してネットワーク220と通信できる。図2は、ネットワーク220を介して通信しているコンピューティング及び通信デバイス100A、100B、100Cを示すが、コンピューティング及び通信デバイス100A、100B、100Cは、直接の有線または無線通信リンクなど、任意の数の通信リンクを介して互いと通信できる。
【0034】
いくつかの実装では、コンピューティング及び通信デバイス100A、100B、100Cの1つ以上の間での通信は、ネットワーク220を介して通信することを省略し得、データストレージデバイスなど別の媒体(図示せず)を介してデータを転送することを含み得る。例えば、サーバコンピューティング及び通信デバイス100Cは、ポータブルデータストレージユニットなどのデータストレージデバイスに、エンコードされたデータなどデータを格納し得、コンピューティング及び通信デバイス100A、またはコンピューティング及び通信デバイス100Bの一方または両方は、サーバコンピューティング及び通信デバイス100Cからデータストレージデバイスを物理的に切断し、コンピューティング及び通信デバイス100Aまたはコンピューティング及び通信デバイス100Bにデータストレージデバイスを物理的に接続することによって、データストレージユニットからの格納されたオーディオデータにアクセスし得る、読み取り得る、または取り出し得る。
【0035】
コンピューティング及び通信デバイス200の他の実装も可能である。例えば、実装では、ネットワーク220は、アドホックネットワークである場合があり、アクセスポイント210A、210Bの1つ以上を省略できる。コンピューティング及び通信デバイス200は、図2に示されていないデバイス、ユニット、または要素を含み得る。例えば、コンピューティング及び通信デバイス200は、より多くの通信デバイスと、ネットワークと、アクセスポイントを含み得る。
【0036】
図3は、ビデオストリーム300の図である。ビデオカメラによって取り込まれたビデオストリームまたはコンピューティングデバイスによって生成されたビデオストリームなどのビデオストリーム300は、ビデオシーケンス310を含み得る。ビデオシーケンス310は、隣接するフレーム320のシーケンスを含み得る。3つの隣接するフレーム320が示されているが、ビデオシーケンス310は任意の数の隣接するフレーム320を含むことができる。
【0037】
隣接するフレーム320からのそれぞれのフレーム330は、ビデオストリームからの単一の画像を表し得る。図3には示されていないが、フレーム330は、並列でなど、独立してコード化され得るか、または別の方法で処理され得る1つ以上のセグメント、タイル、または平面を含み得る。図3には示されていないが、フレームはピクセルを含むことができる。フレーム、ブロックなどのフレームの一部、ピクセル、またはそれらの組み合わせは、輝度情報、クロミナンス情報、またはビデオストリームまたはその一部を格納、修正、通信、または表示するために使用できる任意の他の情報などの表示情報を含むことができる。
【0038】
図4は、ビデオホスティングシステム400のブロック図である。ビデオホスティングシステム400は、図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、または図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上などコンピューティング及び通信デバイスである、あるいは図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、または図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上などコンピューティング及び通信デバイスを含む場合もある。図4に示されるように、ビデオホスティングシステム400は、フロントエンドサーバ410と、インジェストサーバ420と、ビデオ検索サーバ430と、ビデオ類似性エンジン440と、ビデオアクセスサーバ450と、ビデオデータストア460と、フィンガープリントデータストア470とを含む。いくつかの実施形態では、ビデオホスティングシステム400は、ファイアウォール、ロードバランサ、アプリケーションサーバ、フェイルオーバサーバ、及びサイト管理ツールなど、図4に示されていない他のコンポーネントを含み得る。いくつかの実施形態では、フロントエンドサーバ410、インジェストサーバ420、ビデオ検索サーバ430、ビデオ類似性エンジン440、ビデオアクセスサーバ450、ビデオデータストア460、またはフィンガープリントデータストア470の1つ以上は、ビデオホスティングシステム400から省略される場合もあれば、または存在しない場合もある。
【0039】
図1に示されるコンピューティングデバイス100などの1つ以上のコンピューティングデバイス、または図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上などのコンピューティング及び通信デバイスの1つ以上は、ビデオコンテンツを取得するか、レビューするか、または両方を行うためにビデオホスティングシステム400にアクセスし得る。例えば、ビデオホスティングシステム400は、ユーザーインターフェース、プログラムインターフェースまたは両方であってよい、ビデオ検索インターフェース、ビデオブラウジングインターフェース、または両方を実装し得る。ビデオホスティングシステム400は、ビデオのアップロード、他のウェブサイトもしくはビデオのデータベースなどの検索またはクロールなど、あるいはそれらの任意の組み合わせから、ビデオ、ビデオコンテンツ、またはビデオファイルを取得し得る。ビデオホスティングシステム400は、コンテンツ(例えば、ユーザー生成コンテンツ(UGC))のアップロードを可能にするように構成できる。ビデオホスティングシステム400は、そのようなソースをクロールするか、またはそのようなソースをリアルタイムで検索することによって他のソースからビデオを取得するように構成できる。
【0040】
ビデオホスティングシステム400は、ウェブサイトであってよい、またはウェブサイトで利用可能であってよい。本明細書で使用される場合、用語「ウェブサイト」は、図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上などのコンピューティング及び通信デバイス、またはHTTPプロトコルを使用してインターネット経由でアップロードまたはダウンロードされたコンテンツを含み得るが、これに限定されない、1つ以上の電子通信プロトコルを使用してコンテンツを提供するように適合された1つ以上のコンピューティングデバイスを含むコンピューティングシステムを表す可能性がある。
【0041】
フロントエンドサーバ410は、図1に示される有線もしくは無線の電子通信媒体180などの電子通信リンク、または図2に示される有線もしくは無線通信リンク180A、180B、180Cの1つ以上を介して電子通信プロトコルを使用して、ユーザーデバイスまたはクライアントデバイスなどの他のコンピューティングデバイスと通信でき、これは、インターネットを含み得る図2に示されるネットワーク220などのネットワークを介して通信することを含み得る。
【0042】
フロントエンドサーバ410は、ユーザーデバイスなどの(ビデオホスティングシステム400に関して)外部のコンピューティングデバイスから要求を受信できる。簡潔にするために、ビデオホスティングシステム400と通信している外部コンピューティングデバイスは、本明細書ではクライアントデバイスと呼ばれる。フロントエンドサーバ410は、要求を処理するためになど、ビデオホスティングシステム400の他のコンポーネントと通信できる。
【0043】
フロントエンドサーバ410は、クライアントデバイスのビデオホスティングデバイス400との相互作用を監視できる。例えば、クライアントデバイスは、ウェブページにアクセスし、ビデオをアップロードし、ビデオを視聴し、購入する、またはウェブベースの書式に記入し得、フロントエンドサーバ410はこれらのインタラクションを監視できる。フロントエンドサーバ410は、ウェブページ上などの提示のために、ビデオ及び関連するビデオリンクをクライアントデバイスに送信し得る。要求されたビデオは、フロントエンドサーバ410によってクライアントデバイスにストリーミングできる。1つ以上の関連するビデオリンクは、要求されたビデオが再生されているウェブページに提示され得るため、関連するビデオを視聴するために関連するビデオリンクを選択できる。
【0044】
ビデオホスティングシステム400に投稿するためにクライアントデバイスからなど、ビデオホスティングシステム400によって受信されたコンテンツは、処理のためにインジェストサーバ420に送信されるか、または別の方法で利用可能にされる。ビデオファイルの処理は、受信したビデオファイルに識別子を割り当てることを含む。ビデオファイルを処理することの他の態様は、フォーマット、コード変換、圧縮、メタデータタグ付け、コンテンツ分析、または他のビデオデータ処理技術、またはそれらの組み合わせを含み得る。
【0045】
一実施形態では、クライアントデバイスは、ビデオファイルをビデオホスティングシステム400にアップロードすることと連動して、ユーザーインターフェース書式に入力されたデータなどのメタデータを送信する。送信されるメタデータは、タイトル、説明、タグデータ、またはそれらの組み合わせなどの、ビデオを説明するデータを含み得る。送信されるメタデータは、「ビデオ」タイプなど、コンテンツのメディアタイプの表示を含み得る。インジェストサーバ420は、処理されたビデオファイルをビデオデータストア460に格納する。インジェストサーバ420は、ビデオファイルのメタデータを格納する。
【0046】
ビデオデータストア460は、ビデオホスティングシステム400に送信されたビデオファイルなどのビデオファイルを格納する。ビデオファイルを格納することは、1つ以上のアイコンまたはサムネールビューを格納することを含み得る。ビデオファイルを格納することは、タイトル、作成者、タグ、説明、コメント、評価、またはそれらの組み合わせなどの関連付けられたメタデータを格納することを含み得る。いくつかの実施形態では、インジェストサーバ420は、受信したビデオを、分析のためにビデオ類似性エンジン440に送信するか、または別の方法で利用可能にし得る。
【0047】
ビデオ検索サーバ430は、フロントエンドサーバ410が受信した要求を処理することができ、要求に関連するビデオを識別することができる。ユーザー入力などの、入力に応答し得る、クライアントデバイスを介してフロントエンドサーバ410に提供された要求は、1つ以上の検索用語を指定する検索クエリを含み得る。ビデオ検索サーバ430は、検索用語を使用して、ビデオデータストア460に格納されたビデオファイルのメタデータにクエリを行い得る。検索結果は、関連付けられたメタデータが検索用語の少なくとも1つに関連する、ビデオを含む場合がある。検索結果、またはそのサブセットは、フロントエンドサーバ410に送信され得る。フロントエンドサーバ410は、検索結果、またはそのサブセットをユーザーへの提示のためにクライアントデバイスに送信し得る。
【0048】
ビデオアクセスサーバ450は、それぞれのクライアントデバイスからなど、フロントエンドサーバ410から、示されるビデオに対する要求を受信する。ビデオに対する要求は、ビデオホスティングシステム400のそれぞれのカテゴリを介してなどビデオ閲覧に応じて、または検索結果ウェブページからビデオへのリンクをクリックするユーザー入力などの入力を受信したことに応答して、ユーザーデバイスから受信され得る。クライアントデバイスによって送信される要求は、ビデオの識別子を含む場合がある。ビデオアクセスサーバ450は、ビデオデータストア460内でビデオの位置を突き止めるために識別子を使用できる。ビデオアクセスサーバ450は、フロントエンドサーバ410に要求されたビデオを提供することができる。フロントエンドサーバ410は、ストリーミングを介してなど、クライアントデバイスにビデオを送信するか、または利用可能にする。
【0049】
ビデオ類似性エンジン440は、アップロードされたビデオなどのビデオが、著作権が保護された、アクセスが制限されたなどの他のビデオ(保護されたビデオ)などの1つ以上の他のビデオのビデオコンテンツを含むかどうかを判断できる。アップロードされたビデオが、定義済み類似性閾値の範囲内など、保護されたビデオに類似していると判断したことに応答して、ビデオ類似性エンジン440は、無許可などのフラグを立て得るか、またはビデオホスティングシステム400からビデオを削除し得る。ビデオ類似性エンジン440は、ビデオホスティングシステム400にアップロードされるビデオと実質的に同時にビデオを処理できる。ビデオ類似性エンジン440は、ビデオを処理するインジェストサーバ420と実質的に同時にビデオを処理できる。
【0050】
類似性を決定するために、ビデオ類似性エンジン440は、ビデオに対して1つ以上のフィンガープリント、1つ以上のサブフィンガープリント、またはそれらの組み合わせを作成し得る。一例では、サブフィンガープリントは、動きを含むビデオコンテンツを使用して生成できる。サブフィンガープリントは、ビデオに含まれるビデオコンテンツのそれぞれの部分を表す。サブフィンガープリントは、ビデオが、別のビデオからコピーされた、または部分的にコピーされたビデオコンテンツを含むかどうかを判断するために使用できる。ビデオ類似性エンジン440は、サブフィンガープリントをフィンガープリントデータストア470に格納されているフィンガープリントと比較できる。
【0051】
ビデオのサブフィンガープリントが、別のビデオから導出されたフィンガープリントデータストア470に格納されたフィンガープリントと十分に一致すると判断したことに応答して、ビデオ類似性エンジン440は、ビデオが別のビデオからコピーされたビデオコンテンツを含むと判断する。別のビデオからコピーされたコンテンツを含むとして識別された、ビデオホスティングシステム400に格納されているビデオは、ビデオホスティングシステム400から削除され得る。ビデオホスティングシステム400にアップロードされるビデオが、別のビデオからコピーされたコンテンツを含むと判断したことに応答して、ビデオのアップロードは終了され得る。
【0052】
フィンガープリントデータストア470は、ビデオデータストア460に格納されているビデオファイルに対応するビデオから導出されたフィンガープリントを格納する。フィンガープリントデータストア470に格納されているフィンガープリントは、ビデオが1つ以上の他のビデオのビデオコンテンツを含むかどうかを判断するためにビデオ類似性エンジン440の基準データとして使用できる。
【0053】
図5は、ビデオ類似性エンジン500の一例のブロック図である。ビデオ類似性エンジン500は、本明細書に説明されている場合、または文脈から明らかな場合を除き、図4に示されるビデオ類似性エンジン440に類似している。ビデオ類似性エンジン500は、図4に示されるビデオホスティングシステム400などのビデオホスティングデバイスに含まれ得る。
【0054】
図2に示されるように、ビデオ類似性エンジン500は、フィンガープリント生成モジュール510と、副画像生成モジュール520と、ショット検出モジュール530と、サブフィンガープリント生成モジュール540と、複合フィンガープリント生成モジュール550と、フィンガープリント照合モジュール560とを含む。ビデオ類似性エンジン500は、図5に示されていない他のコンポーネントを含み得る。いくつかの実施形態では、フィンガープリント生成モジュール510、ショット検出モジュール530、複合フィンガープリント生成モジュール550、サブフィンガープリント生成モジュール540、フィンガープリント照合モジュール560、副画像生成モジュール520の1つ以上を結合し得る。いくつかの実施形態では、図4にユニットとして示されているが、ビデオ類似性エンジン500は、2つ以上の異なるユニットとして実装され得る。
【0055】
フィンガープリント生成モジュール510は、画像、画像のシーケンス、またはビデオに対して1つ以上のフィンガープリントを生成する。フィンガープリント生成モジュール510は、ビデオのビデオフレームを使用してビデオの時間間隔のフィンガープリントを生成する。フィンガープリントは、ビデオフレームまたは画像コンテンツの連続性を有する中断されないビデオフレームのシーケンスに基づいて生成できる。
【0056】
フィンガープリントは、ビデオフレームの空間特性、ビデオフレームの時間特性、ビデオフレームの構造特性、またはそれらの組み合わせを表すビットベクトルとして表現され得る。フィンガープリントは、ビデオフレームのコンテンツに基づいたビデオフレームの識別子であるため、圧縮、解凍、ノイズ、フレームレート、開始時間と停止時間、解像度などによるわずかな変動はフィンガープリントに著しい影響を与えない。
【0057】
フィンガープリント生成モジュール510は、図4に示されるフロントエンドサーバ410、図4に示されるインジェストサーバ420、図4に示されるビデオデータストア460などのビデオホスティングシステムのコンポーネントからビデオ、またはその1つ以上のフレームを受信し得る。いくつかの実施形態では、フィンガープリント生成モジュール510は、インジェストサーバによるビデオの処理と同時にまたは実質的に同時にビデオのフィンガープリントを生成する。
【0058】
副画像生成モジュール520は、ビデオのビデオフレームを使用して副画像を生成する。簡潔かつ明確にするために、1つ以上の副画像が生成され得るビデオは、本明細書では入力ビデオと呼ばれ、入力ビデオのフレームは本明細書では入力フレームと呼ばれる。副画像は、入力ビデオが無許可のコンテンツを含むかどうかを検出するために使用されるサブフィンガープリントを生成するために使用される。副画像は、ビデオの1つ以上の他のフレームに対する動きを含む、矩形領域などの入力フレームの一部または領域であり、矩形領域を取り囲むか、または矩形領域に隣接する入力フレームの別の部分は、静的または半静的である。副画像内に動きを含むビデオコンテンツは、無許可コンテンツを含む比較的に高い可能性を有する。副画像生成モジュール520は、動きを含むビデオコンテンツと、それぞれの入力ビデオフレームの対応する領域を識別する。副画像生成モジュール520は、それぞれの入力フレームから識別された副画像領域の、ピクセル値など画像コンテンツを抽出するか、コピーするか、または識別して、副画像を生成する。
【0059】
いくつかの実施形態では、入力フレームまたは入力ビデオは、矩形領域の境界または端縁に沿ってなど、矩形副画像領域に近接するまたは矩形領域に部分的に重複する、矩形副画像領域に空間的に近接する、静的、半静的なコンテンツ(偽装コンテンツ)を含み得、対応する副画像は、矩形領域のコンテンツを含み、静的または半静的なコンテンツを省略または除外し得る。例えば、偽装コンテンツは、矩形副画像領域の周りに視覚的なフレームまたは境界線として表示される場合がある。
【0060】
一例では、入力ビデオは、第1の部分と、第2の部分とを含み得、第1の部分は、無許可コンテンツを含む、または含む場合がある矩形の副画像領域であり、第2の部分は、背景コンテンツなど、ビデオの入力フレームに関して、静的または半静的なコンテンツを含む。ビデオのそれぞれの入力フレームに対して、副画像生成モジュール520は、無許可コンテンツを含む場合があるそれぞれの入力フレームの矩形の副画像領域を含むそれぞれの副画像を生成し得る。
【0061】
いくつかの実施形態では、入力ビデオは、2つ以上の他のビデオからの無許可の、または潜在的に無許可のコンテンツを含み得、副画像生成モジュール520は、それぞれの他のビデオに対応するそれぞれの別々の副画像を生成し得る。例えば、入力ビデオは、第1の無許可ビデオに対応する第1の矩形副画像部分と、第2の無許可ビデオに対応する第2の矩形副画像部分と、静的または半静的なコンテンツを含み得る第3の部分とを含み得、入力フレームに関して、副画像生成モジュール520は、第1の無許可ビデオに対応する第1の副画像、及び第2の無許可ビデオのフレームに対応する第2の副画像を生成し得る。複数の重複していない副画像は、入力フレームから生成され得る。副画像は、それらの生成元である対応する入力フレームの時間特性を保持する。
【0062】
副画像を識別するために、副画像生成モジュール520は、複数の入力フレームにわたってビデオコンテンツの動きを追跡する。副画像生成モジュール520は、フレーム間の相対的な動きを決定するために動作分析を実行する。動作分析は、第1のビデオフレームの明度などのピクセルを、後続のビデオフレームの空間的に対応するピクセルと比較することを含み得る。フレーム間の差が定義済み動き閾値に等しい、または超えるピクセルは、動き(動きピクセル)を有するとして識別される。フレーム間の差が定義済み閾値未満であるピクセルは、静止ピクセルまたは静的ピクセルとして識別される。いくつかの実装では、動き閾値は、定義された時間ウィンドウに対応する複数の連続フレームにわたって評価できる。
【0063】
副画像生成モジュール520は、それぞれのフレームに対してバイナリ画像または動きピクセルマップを生成し、動きピクセルマップのピクセルもしくはピクセル位置は、動きピクセルの場合一(1)の値、静止ピクセルの場合ゼロ(0)の値を有する。
【0064】
例えば、無許可コンテンツを含む領域、及び領域外など、それ以外の場合、静的または半静的なコンテンツを含む領域を含む入力ビデオの場合、対応する動きピクセルマップは実質的に矩形領域となり、それぞれのピクセルもしくはピクセル位置、またはその実質的に大半が動きピクセルであり、矩形領域外の他のピクセルもしくはピクセル位置が静的ピクセルとなる。
【0065】
副画像生成モジュール520は、それぞれのピクセルもしくはピクセル位置、またはその実質的に大部分が、領域を識別して副画像として抽出するための動きピクセルである矩形領域を使用する。副画像生成モジュール520は、矩形が識別された動きピクセルを包含するように、識別された動きピクセルの周りに矩形を適合させることによって領域を形成し得る。いくつかの実装では、動きピクセルに空間的に近接する1つ以上の静止ピクセルは、矩形副画像領域に含まれ得る。いくつかの実施形態では、回転キャリパーアルゴリズムは、矩形内の動きピクセルの数、または濃度、またはパーセンテージを最大化し、領域内の静的ピクセルの数、または濃度、またはパーセンテージを最小限に抑える、あるいは両方のために副画像領域の最小面積の矩形を決定するために使用され得る。
【0066】
いくつかの実施形態では、少数のピクセルもしくはピクセル位置が動きピクセルとして識別され、大多数のピクセルもしくはピクセル位置が静的ピクセルとして識別される入力フレームの一部または領域は、静的または半静的なコンテンツを含むとして識別され得、副画像生成モジュール520は、一部を副画像として抽出することを省略し得る。
【0067】
例えば、副画像生成モジュール520は、入力フレームの定義された部分における静止ピクセル対動きピクセルの比率を決定し得、決定された比率を閾値比率と比較して、抽出のための領域を副画像として識別するかどうかを判断し得る。決定された比率は、閾値比率以上である場合があり、副画像生成モジュール520は、副画像として抽出される領域として領域を識別し得る。決定された比率は閾値比率未満であってよく、副画像生成モジュール520は、副画像として抽出される領域として領域を識別することを省略し得る。いくつかの実施形態では、副画像生成モジュール520は、副画像として抽出される領域として、定義された最小サイズに満たないピクセルの数または濃度などのサイズを有する領域を識別することを省略し得る。
【0068】
副画像生成モジュール520は、それぞれの副画像の副画像識別子を決定する。副画像識別子、またはその一部は、連続する入力ビデオフレームから生成され、例えば、位置及びサイズに関して、空間的に同時または実質的に同時である領域に対応する複数の連続する副画像に割り当てられ得る。副画像を生成するために使用される領域の位置及びサイズは、例えば、入力フレームに対する左上のピクセル及び右下のピクセルなど、領域の境界上にあるピクセルの位置に基づいて、行列表記法またはデカルト表記法などを使用して決定することができる。
【0069】
副画像生成モジュール520は、例えば、第1の入力フレームの第1の領域の位置及びサイズを、第2の入力フレームの第2の領域の第2の位置及びサイズと比較することに基づいて、副画像識別子が、連続した入力フレームなど、複数のそれぞれの領域に割り当てられ得るかどうかを判断する。第1の入力フレームの第1の領域と第2の入力フレームの第2の領域との間の位置の差が、位置差閾値未満であるなど、位置差閾値の範囲内にあると判断したこと、及び第1の入力フレームの第1の領域と第2の入力フレームの第2の領域との間のサイズの差が、サイズ差閾値未満であるなど、サイズ差閾値の範囲内であると判断したことに応答して、副画像生成モジュール520は、第1の入力フレームの第1の領域及び第2の入力フレームの第2の領域が、同じまたは実質的に同じ位置及びサイズを有すると判断し、副画像識別子またはその一部を、第1の入力フレームから生成された副画像、及び第2の入力フレームから生成された副画像に割り当てる。第1の入力フレームの第1の領域と第2の入力フレームの第2の領域との間の位置の差が、位置差閾値以上であると判断したこと、または第1の入力フレームの第1の領域と第2の入力フレームの第2の領域との間のサイズの差が、サイズ差閾値以上であると判断したことに応答して、副画像生成モジュール520は、第1の入力フレームの第1の領域及び第2の入力フレームの第2の領域が、異なる位置またはサイズを有すると判断し、副画像識別子を第1の入力フレームから生成された副画像に割り当て、別の異なった副画像識別子を第2の入力フレームから生成された副画像に割り当てる。
【0070】
副画像生成モジュール520は、インジェストサーバによる入力ビデオの処理と同時に、または実質的に同時に入力ビデオの副画像を生成し得る。
【0071】
ショット検出モジュール530は、連続副画像のシーケンスを、サブフィンガープリントを生成するために使用され得るショットとして識別する。ショット検出モジュール530は、連続副画像の特性を分析して、副画像のビデオコンテンツ内の不連続点の時間的な位置を決定する。不連続点は、あるフレームから次のフレームへ順番に突然変化することなどである場合があり、これは、シーンの変化またはカメラの変化、あるいはフェードまたはディゾルブなどのシーンの遷移に相当し得る。不連続点は、連続副画像のコンテンツから識別できる1つ以上の副画像の特性に基づいて識別され得る。不連続点は、副画像間の副画像識別子の変化に基づいて識別され得る。いくつかの実施形態では、ショット検出モジュール530は、入力ビデオに基づいてショットを生成し得る。
【0072】
副画像ショットのセットは、サブフィンガープリントの生成のために、サブフィンガープリント生成モジュール540に送信されるか、または別の方法で利用可能にされる。生成された副画像ショットは、ビデオのそれぞれの時間間隔のサブフィンガープリントのセットを作成するために使用される。例えば、サブフィンガープリントは、例えば入力ビデオの始まり(T=0)から、例えば入力ビデオの1秒など、定義された時間的な長さを有するそれぞれの時間間隔(T)に対して生成され得る。第1の時間的位置(nT、nは整数である)から入力ビデオの後続の第2の時間的位置((n+1)T)への時間的なスパンの場合、ショット検出モジュール530は、第1の時間的位置(nT)にあるまたは第1の時間的位置(nT)より後の時間的位置に対応する最初のフレームと、第2の時間的位置((n+1)T)にあるまたは第2の時間的位置((n+1)T)より前の時間的位置に対応する最後のフレームとを有する1つ以上のショットを決定して、サブフィンガープリントを生成する。
【0073】
時間間隔のショットは利用可能であり、時間間隔の空のサブフィンガープリントは生成され得、ショット検出モジュール530は、サブフィンガープリント生成モジュール540にその旨を通知し得る。
【0074】
別の実装では、ショット検出モジュール530は、サブフィンガープリント生成モジュール540にショットを提供する前に生成されたショットを編成する。ショット検出モジュール530は、それぞれの1つまたは複数のショットに含まれる副画像に関連付けられた副画像ID別にショットをグループ化し得る。一致する副画像IDを有する1つ以上のショットは、グループとして編成される。サブフィンガープリントは、それぞれの副画像IDを有するショットのグループを使用して生成できる。
【0075】
サブフィンガープリント生成モジュール540は、ビデオに対して生成された副画像を使用して、ビデオの時間間隔のサブフィンガープリントを生成する。サブフィンガープリントは、ビデオの始まり(T=0)から、それぞれの時間間隔Tに対して、1つ以上の副画像、またはサブフレーム、副画像のショット、または時間間隔のショットのグループを使用して生成される。いくつかの実装では、ビデオの時間間隔に対して、開始時間は、時間間隔の開始時点にあるか、または時間間隔の開始時点より後である、ビデオの1つ以上のショットを使用してサブフィンガープリントが生成される。それぞれのショットは、利用できない場合があり、ビデオの時間間隔に対して空のサブフィンガープリントが生成され得る。ショットは、ビデオの複数の時間間隔に重複する可能性があり、ビデオの1つの時間間隔に対して1つのショットを使用して生成されたサブフィンガープリントは、ビデオの後続の時間間隔のビデオコンテンツを表すことができる。空のサブフィンガープリントは、表されているビデオのそれらの時間間隔のビデオコンテンツに対して生成される。
【0076】
複合フィンガープリント生成モジュール550は、ビデオの始まり(T=0)からビデオのそれぞれの時間間隔Tに対して複合フィンガープリントを生成する。ビデオの時間間隔Tの場合、複合フィンガープリントは、ビデオの時間間隔Tに対して生成された1つ以上のフィンガープリント、及びビデオの時間間隔Tに対して生成された1つ以上のサブフィンガープリントを含む、または参照するデータ構造である。ビデオの複合フィンガープリントは、ビデオの時間間隔Tの「モーション」ビデオコンテンツの一部を表すことができる。複合フィンガープリント生成モジュール550は、フィンガープリント生成モジュール510によって生成されたフィンガープリント、及びサブフィンガープリント生成モジュール540によって生成されたサブフィンガープリントを受信する。サブフィンガープリントは、空のサブフィンガープリントであってよい。
【0077】
フィンガープリント及びサブフィンガープリントは、それぞれ、ビデオの実質的なコンテンツの異なる態様を表しており、複合フィンガープリントは、フィンガープリントからビデオの実質的な特性、及びサブフィンガープリントから、ビデオから抽出された副画像の特性を圧縮形式で表す。複合フィンガープリントは、1つ以上の他のビデオからのコンテンツを順番に埋め込むビデオに対してなど、別のビデオからのビデオコンテンツを含むビデオに対して判断するために使用できる。
【0078】
フィンガープリント照合モジュール560は複合フィンガープリントを受信し、受信した複合フィンガープリントを基準ビデオに関連付けられたデータストアからの基準フィンガープリントと照合する。フィンガープリント照合モジュール560は、ビデオのフィンガープリント、及び複合フィンガープリントに含まれるビデオの副画像のサブフィンガープリントを基準フィンガープリントと照合する。照合結果は、検討中のビデオが基準ビデオの1つからのビデオコンテンツを含むことを示す。フィンガープリント照合モジュール560は、ビデオを処理するインジェストサーバと同時に並行して、または部分的に並行して照合を実行し得る。
【0079】
図6は、制限されたコンテンツ620を含む空間サブフレーム610を含むビデオフレーム600の一例を示すブロック図である。ビデオフレーム600は、図3に示されるビデオストリーム300などのビデオの、図3に示されるフレーム330などのフレームまたは画像である。
【0080】
フレーム600は、ピクセル値の、2次元マトリックスまたはデカルト平面などの行列として表現され得る、表し得る、エンコードされ得る、または格納され得、フレーム600内のそれぞれのピクセル位置は、デカルト座標、または他の行列表記を使用して示され得る。本明細書では、明確にするためにフレームの行列表現またはデカルト表現を参照して説明しているが、フレームは、ピクセル値をフレームまたは画像に対して効率的に表し得るように、任意のデータ構造で格納、送信、処理、またはそれらの任意の組み合わせを行い得る。例えば、フレームは、示されているような行列などの2次元データ構造で、またはベクトルアレイなどの1次元データ構造で、格納、送信、処理、またはそれらの任意の組み合わせを行い得る。実装では、示されている2次元表現などのフレームの表現は、画像としてのフレームのレンダリングにおける物理位置に相当する場合がある。例えば、フレームの左上角にあるブロックの左上角の位置は、画像としてのフレームのレンダリングの左上角の物理的な位置と一致し得る。
【0081】
フレーム600は、空間サブフレーム、つまり、副画像610、制限されていないコンテンツ630、及び妨害物640を含む。空間的サブフレーム610は、フレーム600の矩形部分などの空間部分である。空間サブフレーム610の位置は、示されているフレーム600内の位置、またはフレーム600内の別の位置である。空間サブフレーム610の、例えばピクセル単位の高さ、及び例えばピクセル単位の幅などのサイズは、示されているサイズまたは別のサイズなど、ピクセルよりも大きく、フレーム600よりも小さい。空間サブフレーム610は、制限されたコンテンツ620を含む。妨害物640は、示されるように、制限されていないコンテンツ630、空間サブフレーム610、または両方のそれぞれの部分の上に重ね合される場合もあれば、重ね合されて表示される場合もある。空間サブフレーム610の境界の部分は、空間サブフレーム610のそれぞれの部分が妨害物640によって遮られていることを示すために破線を使用して示されている。妨害物640のサイズ、形状、向き、位置、及び数、または濃度は、図6に示される例と異なる場合がある。いくつかの実装では、妨害物640は、フレーム600に存在しない、または省略されている場合がある。制限されていないコンテンツ630は、制限されているコンテンツ620とは異なる。1つのサブフレーム610は図6に示されているが、フレームは、それぞれ制限されたコンテンツを含み得る複数の空間サブフレームを含み得る。例えば、フレームは、第1の制限されたコンテンツを含む第1の空間サブフレームと、第2の制限されたコンテンツを含む第2の空間サブフレームを含み得る。本明細書では矩形サブフレームとして説明されているが、非矩形サブフレームも使用され得る。
【0082】
いくつかの実装では、フレーム600は、スクリーニングされていないビデオからのフレームであってよく、空間サブフレーム610を明示的に識別するデータ、フレーム600もしくはスクリーニングされていないビデオ、もしくはその一部が制限されたコンテンツを含むことを示すデータ、または両方は利用できない場合がある。いくつかの実装では、フレーム600は、スクリーニングされたビデオからのフレームであってよく、空間サブフレーム610を明示的に識別するデータ、フレーム600もしくはスクリーニングされていないビデオ、もしくはその一部が制限されたコンテンツを含むことを示すデータ、または両方が利用可能であり、例えば、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングなどの自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングによって生成されたスクリーニングデータが図7に示される。
【0083】
図7は、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングの方法の一例のブロック図である。自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングモデル、またはその一部もしくは複数の部分を使用したビデオスクリーニングは、図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上、図4に示されるビデオホスティングシステム400などのビデオホスティングシステム、もしくはそのコンポーネント、または5に示されるビデオ類似性エンジン500などのビデオ類似性エンジンによって実装される。
【0084】
自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングは、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用して、制限されたコンテンツを含むビデオ、またはその一部もしくは複数の部分を自動的に識別する。自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングは、710で、自己教師ありトレーニングを使用して訓練された訓練済み機械学習ビデオスクリーニングモデルを取得することと、720で現在のビデオを取得することと、730で、自己教師ありトレーニングを使用して訓練された訓練済み機械学習ビデオスクリーニングモデルから、現在のビデオのスクリーニングデータを取得することと、740で、現在のビデオをスクリーニングすることとを含む。
【0085】
自己教師ありトレーニングを使用して訓練されたオブジェクト検出モデルであってよい訓練済み機械学習ビデオスクリーニングモデルは、710で取得される。自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することの一例は、図8に示される。
【0086】
現在のビデオ、つまり入力ビデオは、720で取得される。例えば、スクリーニングされていないビデオは、コンピューティングデバイス、またはコンピューティングデバイスを含むシステムにアップロードされ得るか、または別の方法で利用可能にされ得、現在のビデオは、スクリーニングされていないビデオから取得され得る。図7に別個に示されていないが、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングは、スクリーニングされていないビデオのセットなどのスクリーニングされていないビデオを取得することを含み得、現在のビデオを取得することは、そのスクリーニングされていないビデオから、現在のビデオとして、スクリーニングされていないビデオを識別することを含み得る。本明細書で使用される場合、用語「スクリーニングされていないビデオ」は、スクリーニングされていないとして指定または識別されたビデオを示し、その結果、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングによって取得されたスクリーニングデータ以外の、スクリーニングされていないビデオのスクリーニングデータは、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングの前には利用できないか、または未使用である。現在のビデオは、画像、つまり図6に示されるフレーム600などのフレームのシーケンスを含む。
【0087】
スクリーニングデータは、730で、自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルから取得される。スクリーニングデータは、訓練済み機械学習ビデオスクリーニングモデルによって検出された、現在のビデオと基準ビデオとの間の類似性を識別または記述するデータを含む。基準ビデオは、基準ビデオとして定義または記述されているビデオのリポジトリ、データベース、データストア、または他の集合体から取得される。例えば、基準ビデオまたは保護されたビデオは、著作権保護に関連付けられたコンテンツ、またはアクセス制限が定義されている他のコンテンツを含み得る。基準ビデオのリポジトリは、それぞれの基準ビデオに対して以前に生成されたフィンガープリントデータを含む場合もあれば、そうでなければ、以前に生成されたフィンガープリントデータに関連付けられる場合もある。図7に明示的に示されていないが、以前に生成されたフィンガープリントデータが利用できない1つまたは複数の基準ビデオが取得される場合があり、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングは、対応するフィンガープリントデータを自動的に生成することを含み得る。
【0088】
スクリーニングデータを取得することは、訓練済み機械学習ビデオスクリーニングモデルに現在のビデオを入力するか、または別の方法で利用可能にすることと、訓練済み機械学習ビデオスクリーニングモデルに現在のビデオを入力するか、または別の方法で利用可能にしたことに応答して、訓練済み機械学習ビデオスクリーニングモデルからスクリーニングデータを受信するか、または別の方法でアクセスすることを含む。730で取得されたスクリーニングデータは、本明細書で説明される場合、または文脈から明らかである場合を除き、図9の920に示されるように取得されたプレディケートスクリーニングデータに類似する場合がある。例えば、図9の920に示されるように取得されたプレディケートスクリーニングデータは、710で、自己教師ありトレーニングを使用して現在の訓練済み機械学習スクリーニングモデルを訓練する前に、以前に訓練された機械学習ビデオスクリーニングモデルを使用して取得され得、730で取得されたスクリーニングデータは、710で、自己教師ありトレーニングを使用して訓練された、現在の訓練済み機械学習ビデオスクリーニングモデルを使用して取得され得る。
【0089】
730でスクリーニングデータを取得したことに応答して、現在のビデオは740で自動的にスクリーニングされる。現在のビデオをスクリーニングすると、現在のビデオがスクリーニングされていることを示すスクリーニングされたビデオデータが自動的に生成、格納、または両方を行われ、これは、スクリーニングされたデータまたはその一部を含み得るスクリーニングされたビデオデータを現在のビデオに、例えば格納することによって関連付けることを含み得る。例えば、730で取得されたスクリーニングデータは、710で取得された訓練済み機械学習ビデオスクリーニングモデルによって検出された、現在のビデオの例えばサブフレームなどの一部を、基準ビデオとの類似性を有する候補類似部分、またはその一部として識別または記述するデータを含み得、740でスクリーニングされたビデオデータを自動的に生成することは、スクリーニングデータに示される現在のビデオの一部からそれぞれのフレームのフィンガープリントデータを自動的に生成することを含み得る。スクリーニングデータに示される現在のビデオの一部から、それぞれのフレームに対して生成されたフィンガープリントデータは、スクリーニングデータに示される基準ビデオと、もしくは他の基準ビデオと、またはスクリーンデータに示される基準ビデオと他の基準ビデオの両方と自動的に比較されて、現在のビデオのフィンガープリントされた1つまたは複数の部分が、それぞれの基準ビデオのそれぞれの部分に対して、例えば0.9、つまり90パーセントなどの定義済み類似性閾値よりも大きい類似性値を有するなど、類似しているかどうかを判断し得る。
【0090】
いくつかの実装では、740で現在のビデオをスクリーニングすることは、例えば、現在のビデオのフィンガープリントされた1つまたは複数の部分が、1つまたは複数のそれぞれの基準ビデオの1つまたは複数のそれぞれの部分に対して類似していると判断したことに応答して、現在のビデオを自動的に制限することを含み得る。現在のビデオを制限することは、現在のビデオが制限されたビデオであることを示す制限されたビデオデータを格納することを含み得る。現在のビデオを制限することは、制限されたビデオへのアクセスを防ぐことを含み得る。いくつかの実装では、730で現在のビデオを制限することは、省略される場合もあれば、他の処理に置き換えられるもしくは他の処理と結合される場合もある。
【0091】
720で現在のビデオを取得すること、730で自己教師ありトレーニングを使用して訓練された訓練済み機械学習ビデオスクリーニングモデルからスクリーニングデータを取得すること、及び740で現在のビデオをスクリーニングすることは、750に矢印破線で示されるように、スクリーニングされていないビデオからの他のビデオなど、他のビデオについて実行され得る。
【0092】
いくつかの実装では、現在のビデオを訓練済み機械学習ビデオスクリーニングモデルに入力するか、または別の方法で利用可能にすることに応答して、スクリーニングデータは、訓練済み機械学習ビデオスクリーニングモデルから利用できない場合もあれば、現在のビデオを訓練済み機械学習ビデオスクリーニングモデルに入力するか、または別の方法で利用可能にすることに応答して、現在のビデオについて、訓練済み機械学習ビデオスクリーニングモデルから取得されたスクリーニングデータは、識別された類似性が存在しないことを示し得、740で現在のビデオをスクリーニングすることが省略され得る。
【0093】
自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングの他の実装を利用可能である。例えば、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したスクリーニングに加えて、他のスクリーニング技術が使用され得る。いくつかの実施態様では、自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングの追加の要素を追加することができ、特定の要素を結合できる、及び/または特定の要素を削除できる。
【0094】
図8は、自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得する方法の一例のブロック図である。自己教師ありトレーニング800を使用して訓練された訓練済み機械学習ビデオスクリーニングモデル、またはその一部もしくは複数の部分を取得することは、図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上、図4に示されるビデオホスティングシステム400などのビデオホスティングシステム、もしくはそのコンポーネント、または5に示されるビデオ類似性エンジン500などのビデオ類似性エンジンによって実装される。自己教師ありトレーニング800を使用して訓練された訓練済み機械学習ビデオスクリーニングモデルを取得することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図7の710に示されるような自己教師ありトレーニングを使用して訓練された訓練済み機械学習ビデオスクリーニングモデルを取得することに類似する場合がある。
【0095】
自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することは、810でトレーニングデータセットを取得することと、820で訓練されていない機械学習ビデオスクリーニングモデルを取得することと、830でトレーニングデータセットを使用して、訓練されていない機械学習ビデオスクリーニングモデルを訓練することとを含む。
【0096】
自動的に生成されたトレーニングデータセットであるトレーニングデータセットは、810で取得される。トレーニングデータセットはトレーニング例を含む。本明細書で説明する訓練済み機械学習ビデオスクリーニングモデルなどの訓練済み機械学習モデルの、精度及び効率などの有用性は、モデルを訓練するために使用されるトレーニングデータセット内のトレーニング例の数、または濃度、及びその品質と相互に関連する。トレーニング例に正確に注釈を付けるまたはラベルを付けるデータを、人間によってなど、手作業で生成することは、人的リソース及びコンピューティングリソースを含む相当なリソースを利用し、10万以上のトレーニング例など、比較的に大きい数、量、または濃度のトレーニング例を生成するためには実際的ではない。本明細書で説明する自動的に生成されたトレーニングデータセットは、手作業の、つまり人間によって生成された注釈またはラベル付けデータが存在せずに生成された、自動的に生成されたトレーニング例を含む。本明細書に明示的に説明していないが、本明細書で説明する自動的に生成されたトレーニングデータセットに含まれるトレーニング例とは異なり、手作業の、つまり人間によって生成された注釈またはラベル付けデータを含むトレーニング例は、本明細書で説明する自動的に生成されたトレーニングデータセットと組み合わせて使用され得る。トレーニングデータセットとして説明されているが、自動的に生成されたトレーニングデータセットの複数の分離した、または重複していない部分またはサブセットが識別され得、これは、トレーニングデータのサブセットを識別することと、別のサブセットを検証データとして識別することとを含み得る。トレーニングデータセットを取得することの一例は、図9に示される。
【0097】
それぞれのトレーニング例は、トレーニングビデオまたはその識別子、基準ビデオまたはその識別子、及び自動的に生成された注釈またはラベル、フィンガープリント類似性などのトレーニングビデオと基準ビデオとの間の類似性を示すデータを含む。トレーニング例は、リコール例、精度例、またはその両方が含む場合がある。トレーニングデータセットは、数千のトレーニングサンプルなど、複数のトレーニングサンプルを含み得る。例えば、トレーニングデータセットは、60万の高信頼度トレーニング例と、40万の低信頼度トレーニング例と、15万の精度例とを含み得る。
【0098】
精度例は、訓練済み機械学習ビデオスクリーニングモデルの精度に関連付けられたトレーニング例であってよく、これは、訓練済み機械学習ビデオスクリーニングモデルによって生成された真陽性のスクリーニングデータと、訓練済み機械学習ビデオスクリーニングモデルによって生成された真陽性のスクリーニングデータ及び訓練済み機械学習ビデオスクリーニングモデルによって生成された偽陽性のスクリーニングデータの合計との比率として表現し得る。例えば、精度例は、現在の機械学習ビデオスクリーニングモデルを訓練する前に訓練された機械学習ビデオスクリーニングモデルなど、別の異なった機械学習ビデオスクリーニングモデルを使用して生成された偽陽性のスクリーニングデータと一致し得る。
【0099】
リコール例は、訓練済み機械学習ビデオスクリーニングモデルによって生成された真陽性のスクリーニングデータと、訓練済み機械学習ビデオスクリーニングモデルによって生成された真陽性のスクリーニングデータ及び訓練済み機械学習ビデオスクリーニングモデルによって生成された偽陽性のスクリーニングデータの合計との比率として表し得る訓練済み機械学習ビデオスクリーニングモデルのリコールまたは感度に関連付けられたトレーニング例であってよい。リコール例には、高信頼度のトレーニング例、低信頼度のトレーニング例、またはその両方が含む場合がある。例えば、高信頼度リコール例は、現在の機械学習ビデオスクリーニングモデルを訓練する前に訓練された機械学習ビデオスクリーニングモデルなど、別の異なった機械学習ビデオスクリーニングモデルを使用して生成された真陽性のスクリーニングデータと一致し得る。別の例では、低信頼度リコール例は、現在の機械学習ビデオスクリーニングモデルを訓練する前に訓練された機械学習ビデオスクリーニングモデルなど、別の異なった機械学習ビデオスクリーニングモデルを使用して生成された偽陰性のスクリーニングデータと一致し得る。本明細書で使用される場合、用語「信頼度」及び「高信頼度」と「低信頼度」などのその変形と語形は、機械学習モデルによって自動的に生成され、機械学習モデルによって決定された、基準フレームに一致する入力フレームのサブフレーム部分を示す対応する出力データなどの対応する出力が正確である確率もしくは可能性を示すゼロ(0)から一(1)の範囲内の浮動小数点の値などの1つまたは複数の値を指す。
【0100】
訓練されていない機械学習ビデオスクリーニングモデルは、820で取得される。訓練されていない機械学習ビデオスクリーニングモデルは、自己教師ありオブジェクト検出モデルである場合がある。いくつかの実装では、訓練されていない機械学習ビデオスクリーニングモデルは、部分的に訓練された、訓練されていない機械学習ビデオスクリーニングモデルである場合がある。機械学習ビデオスクリーニングモデルは、例えば入力ビデオに対して自動的に生成されたフィンガープリントと、基準ビデオに対して自動的に生成されたフィンガープリントとの間の類似性を決定するフィンガープリント類似性に基づいて、1つ以上の基準ビデオとの類似性を検出するために、入力ビデオまたはプローブビデオを評価するための数学モデルであってよい。訓練されていない機械学習ビデオスクリーニングモデルを取得することは、ファイル、データベース、または別のデータソースからなど、訓練されていない機械学習ビデオスクリーニングモデルを定義または記述するデータを読み取ること、または別の方法でアクセスすることを含み得る。
【0101】
いくつかの実装では、機械学習または非線形のビデオスクリーニングモデルは、人工ニューラルネットワークモデルである。本明細書で使用される場合、用語「ニューラルネットワーク」は人工ニューラルネットワークを示す。
【0102】
ニューラルネットワークモデルは、非線形性が後に続く接続されたユニット(ノード、パーセプトロン、またはニューロン)をそれぞれ含む層を含む。本明細書で使用される場合、用語「ニューロン」は人工ニューロンを示す。層は、入力機能のセット、またはそれらのニューロンの出力を処理するニューラルネットワーク内のノードまたはニューロンのセットである。人工ニューラルネットワークモデルは、入力層、出力層、中間層、内部層、または隠し層を含む、人工ニューラルネットワーク内でノードまたはニューロンを編成し、配置するための層を記述する。
【0103】
人工ニューラルネットワークモデルは、ノードまたは人工ニューロンを記述する。人工ニューラルネットワーク内のノードまたはニューロンは、入力値を受信するか、または別の方法で入力値にアクセスし得、出力値を生成し得る。例えば、ノードまたはニューロンは、入力値の加重和に活性化関数(非線形変換)を適用することによって出力値を計算し得る。人工ニューラルネットワーク内のノードは、数学関数として表現し得、これは、ノードに対して1つ以上のパラメータまたは閾値を記述または定義することを含み得る。人工ニューラルネットワーク内のノードは、1つ以上の入力信号を受信し、入力信号を受信したこと(活性化)に続いて、または入力信号を受信したこと(活性化)に応じて内部状態を決定し、入力信号及び内部状態(を使用するか、または応答することなど)に基づいて出力信号を出力し得る。入力信号は、それぞれの重み付け値に関連付けられる場合がある。人工ニューラルネットワークモデルは、重み付け値を記述または定義し得る。例えば、内部状態を決定することは、入力信号の加重和を決定することと、例えば、非線形関数であってよい活性化関数または変換関数を使用して和を変換することと、変換結果、または、その関数(出力関数)を出力することとを含み得る。
【0104】
入力層、つまり第1の層は、ニューラルネットワークの入力データ(機能)を受信し得るか、または別の方法で入力データ(機能)にアクセスし得る。人工ニューラルネットワーク入力層のノード(入力ノード)は、人工ニューラルネットワークの入力データを受信し得る。入力層以外の層の入力データは、ニューラルネットワークの別の隣接する層からの出力データであり得る。隣接する層のノードは、エッジに沿って相互接続される場合がある。人工ニューラルネットワークモデルは、それぞれのエッジに関連付けられた重み付け値を記述または定義し得る。隠し層は、入力層と出力層との間のニューラルネットワーク内の合成層であってよい。隠し層は、トレーニング用などの活性化関数を含み得る。出力層、つまり最終層は、例えば、入力層によってアクセスされた入力データに応答して、ニューラルネットワークの回答または予測を示すデータを出力し得る。活性化関数は、以前の層からの入力の加重和を使用して、非線形であってよく、後続の層などに出力(出力値)される場合があるデータを生成し得る関数であってよい。人工ニューラルネットワークの出力層内の出力ノードは、受信された入力値(を使用するか、または応答することなど)に基づいて予測値を出力し得る。
【0105】
自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングは、畳み込みニューラルネットワーク(CNN)モデルを使用することを含み得る。畳み込みニューラルネットワークは、層が畳み込み層であるニューラルネットワークであってよい。畳み込みニューラルネットワークは、複数の畳み込み層を含み得る。いくつかの実施形態では、畳み込みニューラルネットワークは、1つ以上の畳み込み層、1つ以上のプーリング層、1つ以上の稠密もしくは完全に接続された層、またはそれらの組み合わせを含み得る。畳み込みニューラルネットワークは、複数の隠し層を含むニューラルネットワークである場合があるディープニューラルネットワークであってよい。
【0106】
畳み込み層は、畳み込みフィルタを入力行列に適用するニューラルネットワークの層であってよく、これは、1つ以上の畳み込み演算を実行することを含み得る。畳み込みフィルタは、入力行列のランク(順序性)を有するが、形状(要素の次元)が小さい行列である。畳み込みフィルタ行列のそれぞれの要素、つまりセルは、ランダムになど初期化され、最適化するように訓練され得るゼロまたは1などの1桁のバイナリ値であってよい。畳み込み演算は、畳み込みフィルタと、畳み込みフィルタと同じランク及びサイズを有する入力行列の一部、またはスライスとの要素ごとの乗算を含み得る。畳み込み演算は、要素ごとの乗算から得られる行列の総和を含み得る。畳み込み層は、入力行列のそれぞれの部分、またはスライスに対してそれぞれの畳み込み演算を実行し得る。
【0107】
プーリング層は、以前の畳み込み層によって出力された1つまたは複数の行列をより小さい行列に縮小するニューラルネットワークの層であってよい。例えば、プーリング層は、プーリングされた領域の最大値、または平均値を決定し得る(プーリング演算)。プーリング演算は、部分的になど重複し得るそれぞれの部分に行列(畳み込み出力)を分割し得、それぞれの隣接する部分の行列の位置の差は、ストライドと呼ばれる場合がある。
【0108】
稠密もしくは完全に接続された層は、それぞれのノードが以後の隠し層のノードに接続されている隠し層などのニューラルネットワークの層である場合がある。
畳み込みニューラルネットワークは、ダウンサンプリング、アップサンプリング、または変調などの空間処理を含み得る、K×Kの重み行列(カーネル)を有する多層畳み込みニューラルネットワークであってよい。
【0109】
いくつかの実装では、機械学習ビデオスクリーニングモデルは、ディープニューラルネットワークであり、深さ方向に分離可能な畳み込みを使用し得るシングルショットマルチボックス検出器であり、これにより他のモデルと比較して、速度及び効率が向上する。
【0110】
訓練されていない機械学習ビデオスクリーニングモデルは、830で、トレーニングデータセットを使用して、訓練済み機械学習ビデオスクリーニングモデルを生成するように訓練される。機械学習ビデオスクリーニングモデルを訓練することは、トレーニングビデオ及び基準ビデオのそれぞれのペア(トレーニングペア)を、機械学習ビデオスクリーニングモデルに入力することであって、フィンガープリント類似性などの、トレーニングビデオまたはその空間部分と基準ビデオとの間の類似性が検出されるかどうかを示す出力データを取得するように訓練される機械学習ビデオスクリーニングモデルが注釈データを利用できない、入力することと、出力データをそれぞれのペアの注釈データと比較することと、機械学習ビデオスクリーニングモデルの精度が向上するように、比較に基づいて機械学習ビデオスクリーニングモデルの1つ以上のパラメータを更新することを含み、これは、反復してなど実行され得るため、訓練済み機械学習ビデオスクリーニングモデルの出力が注釈データと一致する。
【0111】
いくつかの実装では、自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することは、例えば、毎日などの定義された時間期間に従って自動的に実行される場合もあれば、自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得する要求を検出することなど、定義された検出イベントに応答して実行される場合もある。
【0112】
自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングを取得することの他の実装を利用可能である。いくつかの実施態様では、自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングを取得することの追加の要素を追加できる、特定の要素を結合できる、及び/または特定の要素を削除できる。
【0113】
図9は、自動的に生成されたトレーニングデータセット900を取得する方法の一例のブロック図である。自動的に生成されたトレーニングデータセット900、またはその一部または複数の部分を取得することは、図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上、図4に示されるビデオホスティングシステム400などのビデオホスティングシステム、もしくはそのコンポーネント、または5に示されるビデオ類似性エンジン500などのビデオ類似性エンジンによって実装される。
【0114】
自動的に生成されたトレーニングデータセット900を取得することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図8の810に示されるようにトレーニングデータセットを取得することに類似する場合がある。図7に示される自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングなどの、例えば、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングは、図7の710に示されるように自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得すること、または図8に示されるように自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することなど、自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することを含み得、これは、図8の810に示されるように自己教師ありトレーニングを使用したトレーニングセットを取得すること、または図9に示されるように自動的に生成されたトレーニングデータセット900を取得することを含み得る。
【0115】
自動的に生成されたトレーニングデータセット900を取得することは、910で注釈なしのトレーニングペアを取得することと、920でプレディケートスクリーニングデータを取得することと、930で候補スクリーニングデータを取得することと、940で候補ペアを取得することと、950で類似性を決定することと、960で信頼度を決定することと、970で複雑度を決定することと、980でトレーニングデータセットにペアを含めることと、990でトレーニングデータセットのバイアスを除去することとを含む。
【0116】
図9には別個に明示的に示されていないが、自動的に生成されたトレーニングデータセット900を取得することは、トレーニングビデオとして使用するための入力ビデオまたはプローブビデオのセット、グループ、または他の集合体を取得すること、あるいは識別することを含み得る。トレーニングビデオとして使用される入力ビデオまたはプローブビデオは、自己教師ありトレーニングまたはその一部を実装する、1つまたは複数のコンピューティングデバイス、あるいは1つまたは複数のコンピューティングデバイスを含むシステムにアップロードされるか、または別の方法で利用可能にされるビデオであってよい。例えば、トレーニングビデオとして使用するために識別された入力ビデオまたはプローブビデオのセット、グループ、または他の集合体は、10万を超えるビデオなど、数千のビデオを含む場合がある。図9に別個に明示的に示されていないが、自動的に生成されたトレーニングデータセット900を取得することは、例えば、本明細書で説明する基準ビデオのリポジトリを取得する、または本明細書で説明する基準ビデオのリポジトリにアクセスすることによって、基準ビデオを取得すること、または識別することを含み得る。
【0117】
トレーニングビデオ及び基準ビデオを含む注釈なしのトレーニングペアは、910で取得される。トレーニングビデオは、トレーニングビデオとして使用するために識別された入力ビデオまたはプローブビデオのセット、グループ、または他の集合体から取得される。基準ビデオは、基準ビデオとして定義されているビデオのリポジトリまたは他の集合体から取得される。フレームごとの注釈データなどの、例えば、人間が生成したなど手作業で生成された注釈データ、またはトレーニングラベルデータは、910で取得された注釈なしのトレーニングペアには利用できない、つまり注釈なしのトレーニングペアから省略されているか、または存在しない。
【0118】
プレディケートスクリーニングデータは、注釈なしのトレーニングペアのために920で取得される。プレディケートスクリーニングデータは、現在の機械学習ビデオスクリーニングモデルを訓練する前に訓練された、以前に訓練された機械学習ビデオスクリーニングモデル(プレディケート機械学習ビデオスクリーニングモデルまたはプレディケートビデオスクリーニングモデル)によって、基準ビデオに関して、入力ビデオまたはプローブビデオの1つ以上を自動的にスクリーニングすることによって、または入力ビデオまたはプローブビデオの1つ以上を自動的にスクリーニングすることに従って生成された、ログデータなどのデータである。いくつかの実装では、プレディケートスクリーニングデータを生成することは、プレディケートビデオスクリーニングモデルを使用したビデオスクリーニング以外の、自動的なビデオスクリーニングを使用することを含み得る。プレディケートスクリーニングデータの例示的なグラフ表現は、図10に示される。
【0119】
現在の機械学習ビデオスクリーニングモデルを訓練することに先立って、1日(24時間)などの定義された時間範囲内などで現在の機械学習ビデオスクリーニングモデルを訓練する前に、入力ビデオまたはプローブビデオの1つ以上は、0.6などの定義済みの高信頼度の信頼度閾値を使用して、プレディケートビデオスクリーニングモデルによって、基準ビデオに関してスクリーニングされ、プレディケートビデオスクリーニングモデルによって出力、または生成された対応するスクリーニングデータは、スクリーニングデータログになどに、格納されるか、または別の方法で、現在の機械学習ビデオスクリーニングモデルに利用可能にされる。現在の機械学習ビデオスクリーニングモデルを訓練するために、トレーニングビデオに対応する以前に生成されたログデータは、プレディケートスクリーニングデータとして取得される。
【0120】
プレディケートスクリーニングデータは、プレディケートビデオスクリーニングモデルによって識別された、フィンガープリント類似性などの、それぞれの入力ビデオからのそれぞれの時間シーケンスからの空間的なサブフレームと、それぞれの基準ビデオからの対応するフレームとの間の類似性に関して、プレディケートビデオスクリーニングモデルによって生成されたスクリーニングデータを含む。
【0121】
プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、入力ビデオまたはプローブビデオの識別子を含む。プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、基準ビデオの識別子を含む。プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、入力ビデオまたはプローブビデオ内のフレームの時間的な、または順序的な位置などのセグメント開始位置を含む。プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、ビデオ内で、セグメント開始位置に対応するフレームに続く、入力ビデオまたはプローブビデオ内のフレームの時間的な、または順序的な位置などのセグメント終了位置を含む。プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、基準ビデオ内のフレームの時間的な、または順序的な位置などの基準開始位置を含む。プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、基準ビデオ内で、基準開始位置に対応するフレームに続く、基準ビデオ内のフレームの時間的な、または順序的な位置などの基準終了位置を含む。セグメント開始位置及びセグメント終了位置は、例えば、フィンガープリント類似性に基づいて、定義済みの最小の高信頼度の信頼度閾値以上の信頼度で識別された、基準ビデオの対応するセグメント(基準時間セグメント)に類似しているとしてプレディケートビデオスクリーニングモデルによって識別された入力ビデオまたはプローブビデオの間隔またはセグメント(プレディケート時間セグメント)を記述しており、基準開始位置及び基準終了位置は、基準ビデオの対応する基準時間セグメントを記述する。
【0122】
プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、識別されたプレディケート時間セグメントに対応するそれぞれのフレームからのそれぞれのフレームごとのサブフレーム位置の、平均などの総計であってよい、識別されたプレディケート時間セグメントに対応する入力ビデオ内のサブフレームの空間中心を示す中心値を含む。プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリは、識別されたプレディケート時間セグメントに対応するそれぞれのフレームからのそれぞれのフレームごとのサブフレーム領域の、平均などの総計であってよい、識別されたプレディケート時間セグメントに対応する入力ビデオ内のサブフレームの、フレームごとの領域などの領域を含む。
【0123】
それぞれの入力ビデオの複数の空間部分、時間部分、または両方は、プレディケートスクリーニングデータ内のそれぞれのレコード、行、またはエントリによって示される場合がある。プレディケートスクリーニングデータは、例えば、フィンガープリント類似性に基づいて、入力ビデオまたはその一部と、それぞれの基準ビデオのそれぞれとの間の類似性を示すそれぞれのレコード、行、またはエントリを含む。プレディケートビデオスクリーニングモデルによって識別されないか、最小の高信頼度の信頼度閾値を下回る信頼度で識別された、入力ビデオの複数の空間部分、時間部分、または両方に対応するデータは、プレディケートスクリーニングデータから省略される、または存在しない場合がある。プレディケートスクリーニングデータによって示されたセグメント内の、最初のフレームと最後のフレーム以外のフレームのなどのフレームごとのデータは、プレディケートスクリーニングデータから省略される、または存在しない場合がある。信頼度データ及び類似性データは、プレディケートスクリーニングデータから省略される、または存在しない場合がある。
【0124】
910で識別された注釈なしのトレーニングペアの場合、920でプレディケートスクリーニングデータを取得することは、フィンガープリント類似性などの、トレーニングビデオと基準ビデオとの間の類似性が、プレディケートビデオスクリーニングモデルによって識別されたことを示すプレディケートスクリーニングデータからのそれぞれの行、レコード、またはエントリを読み取ることか、または別の方法でアクセスすることなどの取得することを含む。トレーニングビデオは、プレディケートスクリーニングデータからのそれぞれの行、レコード、またはエントリに示されるプレディケート時間セグメントを含む。トレーニングビデオは、プレディケートスクリーニングデータからのそれぞれの行、レコード、またはエントリに示されるプレディケート時間セグメントの前に、時間的または連続した順序で、1つ以上のフレームまたは画像を含み得る。トレーニングビデオは、プレディケートスクリーニングデータからのそれぞれの行、レコード、またはエントリに示されるプレディケート時間セグメントの後に、時間的または連続した順序で、1つ以上のフレームまたは画像を含み得る。
【0125】
候補スクリーニングデータは930で取得される。候補スクリーニングデータを取得することは、トレーニングビデオから拡張時間セグメントを識別することを含む。拡張時間セグメントは、920でプレディケートスクリーニングデータに基づいて識別されたトレーニングビデオのプレディケート時間セグメントを含む。拡張時間セグメントは、プレディケート時間セグメントに先行するフレーム、プレディケート時間セグメントに後続するフレーム、または両方など、プレディケート時間セグメントに対応するフレーム以外のトレーニングビデオからの1つ以上のフレームを含む。拡張時間セグメントは、プレディケート時間セグメントの直前、プレディケート時間セグメントの直後、または両方の、2秒などの定義された時間範囲、または60フレームなどのフレームの定義された濃度からの1つ以上のフレームを含み得る。例えば、プレディケート時間セグメント直前の定義された時間範囲、または定義されたフレームの濃度からの、例えば3フレームなどの定義されたフレームの濃度を含むフレームのサンプリングなど、例えば、フレームの均一サンプリングなどのフレームのサンプリングが、拡張時間セグメントに含まれてよい。別の例では、プレディケート時間セグメント直後の定義された時間範囲、または定義されたフレームの濃度からの、例えば3フレームなどの定義されたフレームの濃度を含むフレームのサンプリングなど、例えば、フレームの均一サンプリングなどのフレームのサンプリングが、拡張時間セグメントに含まれてよい。別の例では、拡張時間セグメントは、プレディケート時間セグメントの直前の現在のビデオの2秒間からの3つのフレームと、プレディケート時間セグメントの直後の現在のビデオの2秒間からの3つのフレームとを含み得る。
【0126】
候補スクリーニングデータを取得することは、第2の以前に訓練されたビデオスクリーニングモデルを取得することを含む。例えば、第2の以前に訓練されたビデオスクリーニングモデルは、第2の以前に訓練されたビデオスクリーニングモデルが、プレディケートビデオスクリーニングモデルによって使用される定義済みの高信頼度の信頼度閾値よりも低い、定義済みの低信頼度の信頼度閾値で使用され得ることを除き、920で取得されたプレディケートビデオスクリーニングモデルに類似する場合がある。例えば、定義済みの高信頼度の信頼度閾値は、0.6、つまり60パーセントであってよく、定義済みの低信頼度の信頼度閾値は0.4、つまり40パーセントであってよい。定義済みの高信頼度の信頼度閾値は、第1の定義済み信頼度レベルと呼ばれる場合があり、定義済みの低信頼度の信頼度閾値は、第2の定義済み信頼度閾値と呼ばれる場合がある。代わりに、定義済みの高信頼度の信頼度閾値は、第2の定義済み信頼度レベルと呼ばれる場合があり、定義済みの低信頼度の信頼度閾値は、第1の定義済み信頼度閾値と呼ばれる場合がある。別の言い方をすれば、本明細書での第1の、第2のなどの使用は、本明細書の要素を区別するために使用されており、特に断りのない限り、または文脈から明らかではない限り、順序を示さない。
【0127】
候補スクリーニングデータを取得することは、拡張時間セグメントに対してなど、フレームごとに、第2の以前に訓練されたビデオスクリーニングモデルを使用して、910で識別された基準ビデオに関して拡張時間セグメントの候補スクリーニングデータを生成することを含む。候補スクリーニングデータは、例えば、フィンガープリント類似性に基づいて、基準ビデオからのそれぞれのスクリーニングフレームと、拡張時間セグメントからの候補フレームの空間部分(候補サブフレーム)との間の類似性に基づく場合がある関連付けを示す。フィンガープリント類似性は、例えば、スクリーニングフレームに対して自動的に生成されたフィンガープリントと、候補サブフレームに対して自動的に生成されたフィンガープリントとの間の類似性を示し得る。
【0128】
候補サブフレームは、拡張時間セグメントからのそれぞれの候補フレームの矩形の空間部分であってよい。例えば、図6を参照すると、拡張時間セグメントからの候補フレームは、図6に示されるビデオフレーム600である場合があり、候補サブフレームは、図6に示される空間サブフレーム610と一致し得る。候補スクリーニングデータを取得することは、候補スクリーニングデータに示される候補サブフレームの候補サブフレームペアを識別することを含む。それぞれの候補サブフレームペアは、候補サブフレームと、候補スクリーニングデータから識別された基準ビデオからの対応するスクリーニングフレームとを含む。
【0129】
候補サブフレームペアは940で取得される。候補サブフレームペアを取得することは、930で取得された候補スクリーニングデータから候補サブフレームを識別することと、トレーニングビデオから、拡張時間セグメントからの対応するフレームからの候補サブフレームを抽出することと、抽出した候補サブフレームを基準ビデオからの対応するスクリーニングフレームと比較するためのフレームとして使用することとを含む。候補サブフレームペアは、フレームとして抽出された候補サブフレームと、基準ビデオからの対応するスクリーニングフレームとを含む。
【0130】
類似性のスコアはまたは値は、例えば、フィンガープリント類似性に基づいて、候補サブフレームペアに対して950で決定される。候補サブフレームペアの類似性スコアは、例えばフィンガープリント類似性に基づいた、フレームとして抽出された候補サブフレームと、基準ビデオからの対応するスクリーニングフレームとの間の類似性の測定を示す。いくつかの実装では、候補サブフレームペアの類似性スコアを決定することは、抽出された候補サブフレームを表すフィンガープリントを生成することと、抽出された候補サブフレームを表すフィンガープリントを、基準ビデオからの対応するスクリーニングフレームのフィンガープリントと比較することとを含む。基準ビデオからの対応するスクリーニングフレームのフィンガープリントは、基準ビデオからの対応するスクリーニングフレームに対して以前に生成されたフィンガープリントであってよい。950で類似性を決定することは、候補サブフレームペアの類似性スコアが、定義済み最小類似性閾値以上であるかどうかを判断することを含み得る。定義済み最小類似性閾値以上である類似性スコアを有するとして識別された候補サブフレームペアは、類似していると識別され得、定義済み最小類似性閾値(第1の定義済み類似性閾値)未満である類似性スコアを有するとして識別された候補サブフレームペアは、類似していないと識別され得る。自動的に生成されたトレーニングデータセット900を取得することは、候補サブフレームペアの類似性スコアが、定義済み最小類似性閾値未満など範囲内にあるのか、それとも定義済み最小類似性閾値以上かを判断することを含む。
【0131】
候補サブフレームペアの類似性スコアが、定義済み最小類似性閾値未満であると判断したことに応答して、候補サブフレームペアは、トレーニングデータセットから省略または除外される。例えば、類似していないとして識別された候補サブフレームペアは、ゼロまたはゼロより大きい場合がある類似性値を有し、定義済み最小類似性閾値未満であり、トレーニング例として使用するには不十分な類似性を示す。
【0132】
自動的に生成されたトレーニングデータセット900を取得することは、候補サブフレームペアをフィルタリングして、960で、低信頼度のトレーニング例を取得することを含む。候補サブフレームペアの類似性スコアが、定義済み最小類似性閾値以上であると判断したことに応答して、候補サブフレームペアに対応するトレーニングビデオ及び基準ビデオに関して、定義済みの高信頼度の信頼度閾値を使用して、プレディケートビデオスクリーニングモデルからフレームごとのフィルタリングスクリーニングデータが960で取得される。自動的に生成されたトレーニングデータセット900を取得することは、候補サブフレームと、候補サブフレームペア内に示されるスクリーニングフレームとの間の関連付けを示すデータが、フィルタリングスクリーニングデータに含まれるかどうかを判断することを含む。
【0133】
候補サブフレームと、候補サブフレームペア内に示されるスクリーニングフレームとの間の関連付けを示すデータがフィルタリングスクリーニングデータに含まれると判断したことに応答して、定義済みの高信頼度の信頼度閾値を使用するプレディケートビデオスクリーニングモデルが、候補サブフレームペアを類似しているとして識別したことを示すと、候補サブフレームペアは、トレーニングデータセットから省略もしくは除外されるか、または高信頼度トレーニング例としてトレーニングデータセットに含められる。
【0134】
候補サブフレームと、候補サブフレームペア内に示されるスクリーニングフレームとの間の関連付けを示すデータがフィルタリングスクリーニングデータに存在しない、または省略されていると判断したことに応答して、定義済みの高信頼度の信頼度閾値を使用するプレディケートビデオスクリーニングモデルが、候補サブフレームペアを不一致として識別したか、または定義済みの高信頼度の信頼度閾値を下回る信頼度値と一致しているとして識別したことを示すと、候補サブフレームペアは、低信頼度トレーニング例としてトレーニングデータセットに含められる。
【0135】
自動的に生成されたトレーニングデータセット900を取得することは、970で、低複雑度トレーニング例を省略する、または除外するための候補サブフレームペアの複雑度に基づいたフィルタリングを含む。複雑度に基づいたフィルタリングは、基準ビデオから、スクリーニングフレームの上部4分の1の象限などスクリーニングフレームの空間部分を識別することと、スクリーニングフレームの空間部分のフィンガープリントデータを生成することと、スクリーニングフレームの空間部分のフィンガープリントデータをスクリーニングフレームのフィンガープリントデータと比較して、例えばフィンガープリント類似性に基づいて、スクリーニングフレームの空間部分とスクリーニングフレームとの間の類似性の尺度を示す類似性値を取得することを含む。定義済み最小類似性複雑度閾値(第2の定義済み類似性閾値)よりも大きい類似性値は、例えば、実質的に均一に黒いなど、スクリーニングフレームの色が実質的に均一であるなど、スクリーニングフレームが十分な複雑度または画像詳細を欠いていることを示す。
【0136】
スクリーニングフレーム、及びスクリーニングフレームの空間部分に関する類似性値が、定義済み最小類似性複雑度閾値(第2の定義済み類似性閾値)以上であると判断したことに応答して、スクリーニングフレームが十分な複雑度または画像詳細を欠いていることを示すと、対応するトレーニングペアは、トレーニングデータセットから省略または除外される。
【0137】
スクリーニングフレーム、及びスクリーニングフレームの空間部分に関する類似性値が、定義済み最小類似性複雑度閾値(第2の定義済み類似性閾値)未満であると判断したことに応答して、対応するトレーニングペアは、980でトレーニングデータセットに含められる。他の複雑度のメトリックも評価され得る。
【0138】
図9に別個に示されていないが、自動的に生成されたトレーニングデータセット900を取得することは、入力ビデオまたはプローブビデオからのトレーニングビデオと、基準ビデオのリポジトリからの基準ビデオのそれぞれの組み合わせに対して、例えば反復して実行され得る。
【0139】
いくつかの実装では、940で候補ペアを取得することと、950で類似性を決定することと、960で信頼度を決定することと、970で複雑度を決定することと、980でトレーニングデータにペアを含めることは、982で矢印破線によって示されるように、空間的に、時間的に、または両方で異なる場合がある、2つ以上の候補サブフレームペアに関連して実行され得る。
【0140】
いくつかの実装では、910で注釈なしのトレーニングペアを取得することと、920でプレディケートスクリーニングデータを取得することと、930で候補スクリーニングデータを取得することと、940で候補ペアを取得することと、950で類似性を決定することと、960で信頼度を決定することと、970で複雑度を決定することと、980でトレーニングデータにペアを含めることは、984で矢印破線によって示されるように、2つ以上のトレーニングペアに関連して実行され得る。
【0141】
トレーニングデータセットは、990でバイアスが除去される。トレーニングデータセットのバイアスを除去することは、トレーニングデータセットの自動生成により導入されるバイアスを減少させる、または排除することによって、訓練されたビデオスクリーニングモデルの効率、精度、または両方を向上させ得る。バイアスを除去することによって、候補サブフレームの空間的位置、時間的位置、または両方に関してバイアスを検出し得る。バイアスを除去することによって、候補サブフレームの空間的サイズ、時間的サイズ、または両方に関してバイアスを検出し得る。バイアスを除去することによって、候補サブフレームの横方向または縦方向など、空間的定位に関してバイアスを検出し得る。
【0142】
自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングの他の実装を利用可能である。いくつかの実施態様では、自己教師ありトレーニングを使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングの追加の要素を追加することができ、特定の要素を結合できる、及び/または特定の要素を削除できる。
【0143】
図10は、基準ビデオ及び入力ビデオまたはプローブビデオに関するプレディケートスクリーニングデータ1000のグラフィカル表現の一例の図である。プレディケートスクリーニングデータ1000の例示的なグラフィカル表現は、基準ビデオに対応する水平軸1010を示し、時間シーケンスの増加は左から右に示される。プレディケートスクリーニングデータ1000の例示的なグラフィカル表現は、プローブビデオに対応する垂直軸1020を示し、時間シーケンスの増加は下から上に示される。
【0144】
正方形は、基準ビデオを表す水平軸1010、及びプローブビデオを表す垂直軸1020を基準とした行及び列のマトリックスとして示される。
【0145】
示されているマトリックスの列は、基準ビデオからのそれぞれの時間的な位置、つまりフレームと一致する。例えば、示されている最も左の列は、基準ビデオの時間的に、または順序的に、最初の、つまり最も早いフレームと一致する。
【0146】
示されているマトリックスの行は、プローブビデオからのそれぞれの時間的な位置、つまりフレームと一致する。例えば、示されている最も下の列は、プローブビデオの時間的に、または順序的に、最初の、つまり最も早いフレームと一致する。
【0147】
それぞれの正方形の背景は、プローブビデオの対応するフレームと、基準ビデオの対応するフレームとの間の決定された類似性を示す。簡潔かつ明確にするために、類似性の5つのレベルL0、L1、L2、L3、L4が図10に示されている。
【0148】
類似性(L0)を示すデータが利用できないか、またはそうでなければ、定義済み閾値を超えるなど、十分な類似性が検出されないことを示す、プローブビデオのフレーム及び基準ビデオの対応するフレームのそれぞれのペアは、1030においてのように白い背景で示される。
【0149】
定義済み閾値より大きい、比較的に低い類似性(L1)を示すデータがプレディケートスクリーニングデータ内に示される、プローブビデオのフレームと基準ビデオの対応するフレームのそれぞれのペアは、1031においてのように左下向きの広い斜めの背景で示される。
【0150】
定義済み閾値より大きく、比較的に低い類似性よりも大きい、比較的に中程度に低い類似性(L2)を示すデータがプレディケートスクリーニングデータ内に示される、プローブビデオのフレーム及び基準ビデオの対応するフレームのそれぞれのペアは、1032においてのように右下向きの狭い斜めの背景で示される。
【0151】
定義済み閾値より大きく、比較的に中程度に低い類似性よりも大きい、比較的に中程度に高い類似性(L3)を示すデータがプレディケートスクリーニングデータ内に示される、プローブビデオのフレーム及び基準ビデオの対応するフレームのそれぞれのペアは、1033においてのように点状の背景で示される。
【0152】
定義済み閾値より大きく、比較的に中程度に高い類似性よりも大きい、比較的に高い類似性(L4)を示すデータがプレディケートスクリーニングデータ内に示される、プローブビデオのフレーム及び基準ビデオの対応するフレームのそれぞれのペアは、1034においてのように黒の背景で示される。
【0153】
プレディケートスクリーニングデータ内でまたはプレディケートスクリーニングデータによって識別されるセグメントは、対角線1040として示される。
【0154】
図9の930に示されるように候補スクリーニングデータを取得することに関して説明した拡張時間セグメントに含まれ得る、プローブビデオからのトレーニングフレームと、基準ビデオからのスクリーンフレームとのそれぞれのペアは、図10の1050においてなど、太い縁で示される。
【0155】
図11は、自己教師ありトレーニング1100を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングの方法の別の例のブロック図である。自己教師ありトレーニング1100を使用して訓練された機械学習ビデオスクリーニングモデル、またはその一部もしくは複数の部分を使用したビデオスクリーニングは、図1に示されるコンピューティングデバイス100などのコンピューティングデバイス、図2に示されるコンピューティング及び通信デバイス100A、100B、100Cの1つ以上、図4に示されるビデオホスティングシステム400などのビデオホスティングシステム、もしくはそのコンポーネント、または5に示されるビデオ類似性エンジン500などのビデオ類似性エンジンによって実装される。
【0156】
自己教師あり学習1100を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングは、アクティブ段階1110と、トレーニング段階1120とを含む。アクティブ段階1110及びトレーニング段階1120は、連続して及び反復して実行され得、アクティブ段階1110の現在の反復は、トレーニング段階1120の後続の反復の前に実行され得、トレーニング段階1120の現在の反復は、アクティブ段階1110の以前の反復の後に実行され得る。
【0157】
アクティブ段階1110は、本明細書で説明される場合、または文脈から明らかである場合を除き、図7に示される自己教師ありトレーニング700を使用して訓練された機械学習ビデオスクリーニングモデルを使用したビデオスクリーニングに類似する場合がある。アクティブ段階1110は、1111で基準ビデオを取得することと、1112で自己教師ありトレーニングを使用して訓練された、現在の訓練済み機械学習ビデオスクリーニングモデルを取得することと、1113でプローブビデオを取得することと、1114で現在の訓練済み機械学習ビデオスクリーニングモデルを使用してスクリーニングデータを生成することとを含む。アクティブ段階1110は、1日(24時間)など、定義された時間範囲にわたって実行され得る。
【0158】
1つ以上の基準ビデオは、1111で取得される。1111で基準ビデオを取得することは、基準ビデオとして定義または記述されているビデオのリポジトリ、データベース、データストア、または他の集合体を取得することか、または別の方法でビデオのリポジトリ、データベース、データストア、または他の集合体にアクセスすることを含む。例えば、基準ビデオまたは保護されたビデオは、著作権保護に関連付けられたコンテンツ、またはアクセス制限が定義されている他のコンテンツを含み得る。基準ビデオのリポジトリは、それぞれの基準ビデオに対して以前に生成されたフィンガープリントデータを含む場合もあれば、そうでなければ、以前に生成されたフィンガープリントデータに関連付けられる場合もある。図11に明示的に示されていないが、以前に生成されたフィンガープリントデータが利用できない1つまたは複数の基準ビデオが取得される場合があり、自己教師ありトレーニング1100を使用して訓練された機械学習ビデオスクリーニングを使用したビデオスクリーニングは、対応するフィンガープリントデータを自動的に生成することを含み得る。
【0159】
自己教師ありトレーニングを使用して訓練された、現在の訓練済み機械学習ビデオスクリーニングモデルは、1112で取得される。現在の訓練済み機械学習ビデオスクリーニングモデルは、1150に矢印破線で示されるように、トレーニング段階1120の以前の反復の出力から取得され、1111で取得された基準ビデオは、トレーニング段階1120の以前の反復で使用された基準ビデオである。自己教師ありトレーニングを使用して訓練された、現在の訓練済み機械学習ビデオスクリーニングモデルを取得することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図7の710に示されるように、自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することに類似する場合がある。現在の訓練済み機械学習ビデオスクリーニングモデルは、定義済みの高信頼度の信頼度閾値を使用して実装される。
【0160】
1つ以上の現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオは、1113で取得される。例えば、スクリーニングされていないビデオは、コンピューティングデバイス、またはコンピューティングデバイスを含むシステムに、1130に示されるように、アップロードされ得るか、または別の方法で利用可能にされ得、現在のビデオは、スクリーニングされていないビデオから取得され得る。1112で、現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオを取得することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図7の720に示されるように現在のビデオを取得することに類似する場合がある。現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオは、アクティブ段階1110の現在の反復の定義された時間範囲に従って取得されるか、または別の方法で利用可能にされるビデオである。いくつかの実装では、他のスクリーニングされていないビデオなどの他のビデオが使用され得る。
【0161】
スクリーニングビデオは、1111で取得された基準ビデオ、1112で取得された現在の訓練済み機械学習ビデオスクリーニングモデル、及び1113で取得された現在のプローブビデオを使用して1114で生成される。1114でスクリーニングデータを生成することは、スクリーニングデータまたはその一部を含むスクリーニングデータログを生成する、または入力することと、スクリーニングデータログを格納するか、または別の方法で出力することとを含む。1114でスクリーニングデータを生成することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図7の730に示される自己教師ありトレーニングを使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルからスクリーニングデータを取得することに類似する場合がある。例えば、スクリーニングデータログに格納されるスクリーニングデータは、トレーニング段階1120の後続の反復のプレディケートスクリーニングデータとして使用され得る。スクリーニングデータログの例示的なグラフィカル表現は、図10に示される。
【0162】
スクリーニングデータは、1112で取得された、現在の訓練済み機械学習ビデオスクリーニングモデルによって識別された、1113で取得されたそれぞれの現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオからのそれぞれの時間シーケンスからの空間サブフレームと、1111で取得されたそれぞれの基準ビデオからの対応するフレームとの間の類似性を示す。
【0163】
スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオの識別子を含む。スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、基準ビデオの識別子を含む。スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ内のフレームの時間的な、または順序的な位置などのセグメント開始位置を含む。スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ内で、セグメント開始位置に対応するフレームに続く、現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ内のフレームの時間的な、または順序的な位置などのセグメント終了位置を含む。スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、基準ビデオ内のフレームの時間的な、または順序的な位置などの基準開始位置を含む。スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、基準ビデオ内で、基準開始位置に対応するフレームに続く、基準ビデオ内のフレームの時間的な、または順序的な位置などの基準終了位置を含む。セグメント開始位置及びセグメント終了位置は、定義済みの最小の高信頼度の信頼度閾値以上の信頼度で識別された、基準ビデオの対応するセグメント(基準時間セグメント)に類似しているとして現在の訓練済み機械学習ビデオスクリーニングモデルによって識別された現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオの間隔またはセグメント(現在の時間セグメント)を記述しており、基準開始位置及び基準終了位置は、基準ビデオの対応する基準時間セグメントを記述する。
【0164】
スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、識別された現在の時間セグメントに対応するそれぞれのフレームからのそれぞれのフレームごとのサブフレーム位置の、平均などの総計であってよい、識別された現在の時間セグメントに対応する現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ内のサブフレームの空間中心を示す中心値を含む。スクリーニングデータ内のそれぞれのレコード、行、またはエントリは、識別された現在の時間セグメントに対応するそれぞれのフレームからのそれぞれのフレームごとのサブフレーム領域の、平均などの総計であってよい、識別された現在の時間セグメントに対応する現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ内のサブフレームの、フレームごとの領域などの領域を含む。
【0165】
フィンガープリント類似性など複数の類似性は、スクリーニングデータログ内の複数の行、レコード、またはエントリとして表し得る、それぞれの現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ、及び対応する基準ビデオに対して識別され得る。それぞれの現在のプローブビデオ、入力ビデオ、またはスクリーニングされていないビデオ、及び複数の基準ビデオの間のそれぞれの類似性が識別され得る。
【0166】
トレーニング段階1120は、本明細書で説明される場合、または文脈から明らかである場合を除き、図8に示される自己教師ありトレーニング800を使用して訓練された、訓練済み機械学習ビデオスクリーニングモデルを取得することに類似する場合がある。訓練段階1120は、1121で基準ビデオを取得することと、1122で現在の訓練されていない機械学習ビデオスクリーニングモデルを取得することと、1123でトレーニングビデオを取得することと、1124でプレディケートスクリーニングデータを取得すること、及び1125で現在の訓練されていない機械学習ビデオスクリーニングモデルを訓練することとを含む。
【0167】
1つ以上の基準ビデオは、1121で取得される。1121で基準ビデオを取得することは、本明細書で説明される場合、または文脈から明らかである場合を除き、1111で基準ビデオを取得することに類似する場合がある。1121で基準ビデオを取得することは、1111で基準ビデオを取得することと、1121で基準ビデオを取得することとの間の矢印線で示されるように、1111で取得された基準ビデオを取得することを含む。図11に明示的に示されていないが、1111で取得された基準ビデオの1つ以上は、1121で取得された基準ビデオに存在しない、または省略される場合がある。1121で基準ビデオを取得することは、1111で取得された基準Aビデオ以外の基準ビデオを取得することを含み得る。例えば、1111で取得された基準ビデオ以外の1つ以上の基準ビデオは、1160で示されるように基準ビデオとして定義または記述されているビデオのリポジトリ、データベース、データストア、または他の集合体にアップロードされるか、または別の方法でリポジトリ、データベース、データストア、または他の集合体に含められ得、これは、それぞれの基準ビデオのフィンガープリントデータを自動的に生成することを含み得る。
【0168】
現在の訓練されていない機械学習ビデオスクリーニングモデルは、1122 で取得される。現在の訓練されていない機械学習ビデオスクリーニングモデルを取得することは、現在の訓練されていない機械学習ビデオスクリーニングモデルの構造またはアーキテクチャを記述または定義するデータ、現在の訓練されていない機械学習ビデオスクリーニングモデルを訓練するための、ハードウェアコンポーネントなどデバイスまたはコンポーネントを記述または識別するデータ、乱数値または疑似乱数値である場合がある、現在の訓練されていない機械学習ビデオスクリーニングモデルの1つ以上の訓練されていないモデル重みを定義または記述するデータ、手作業で生成される値である場合がある、現在の訓練されていない機械学習ビデオスクリーニングモデルを訓練するための1つ以上のトレーニングハイパーパラメータを定義または記述するデータなど、現在の訓練されていない機械学習ビデオスクリーニングモデルを記述するデータを取得することを含み得る。例えば、現在の訓練されていない機械学習ビデオスクリーニングモデルは、人工ニューラルネットワークモデルであってよく、現在の訓練されていない機械学習ビデオスクリーニングモデルを記述または定義するデータは、現在の訓練されていない機械学習ビデオスクリーニングモデルの層の数または濃度、ノードまたは人工ニューロンの数または濃度、あるいは両方を示し得る。
【0169】
トレーニングビデオは1123で取得される。1123で取得されたトレーニングビデオは、1113でプローブビデオを取得することと、1123でトレーニングビデオを取得することとの間の矢印線で示されるように、1114でのスクリーニングの後に1113で取得されたプローブビデオまたはその一部を含む。1123でトレーニングビデオを取得することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図8の810に示されるようにトレーニングデータセットを取得することに類似する場合がある。
【0170】
プレディケートスクリーニングデータは1124で取得される。1124でプレディケートスクリーニングデータを取得することは、1114で現在の訓練済み機械学習ビデオスクリーニングモデルを使用してスクリーニングデータを生成することと、1124でプレディケートスクリーニングデータを取得することとの間の矢印線で示されるように、1114で以前の訓練済み機械学習ビデオスクリーニングモデルによって出力されたスクリーニングデータまたはその一部を取得することを含む。
【0171】
現在の訓練されていない機械学習ビデオスクリーニングモデルは、1125で、現在の訓練済み機械学習ビデオスクリーニングモデルを取得するように訓練される。現在の訓練されていない機械学習ビデオスクリーニングモデルを訓練することは、本明細書で説明される場合、または文脈から明らかである場合を除き、図8の830に示されるように、トレーニングデータセットを使用して、訓練されていない機械学習ビデオスクリーニングモデルを訓練することに類似する。1125で現在の訓練されていない機械学習ビデオスクリーニングモデルを訓練することによって出力された、または生成された現在の訓練済み機械学習ビデオスクリーニングモデルは、1150に矢印線で示されるように、アクティブ段階1110の後続の反復のための現在の訓練済み機械学習ビデオスクリーニングモデルとして使用され得る。
【0172】
本明細書で使用される場合、用語「最適な」、「最適化された」、「最適化」、またはそれらの他の形は、それぞれの文脈に相対的なものであり、本明細書で明示的に指定されない限り、絶対的な理論上の最適化を示すものではない。
【0173】
本明細書で使用される場合、用語「セット」は、本明細書に明示的に説明される場合、または文脈から明らかである場合を除き、1次元配列またはベクトルとして表され得るゼロ以上の異なる要素またはメンバーの区別可能な集合体またはグループを示す。
【0174】
単語「例」または「例示的な」は、例、実例、または例示として機能することを意味するために本明細書で使用される。本明細書で「例」または「例示的」として記載された任意の態様または設計は、必ずしも他の態様または設計よりも好ましい、または有利であると解釈されるべきではない。むしろ、単語「例」または「例示的」の使用は、概念を具象的な態様で提示することを意図したものである。本出願で使用されるように、用語「または」は、排他的な「または」ではなく包含的な「または」を意味することが意図される。すなわち、別様に指定されない限り、または文脈から明らかでない限り、「XはAまたはBを含む」とは、自然な包括的置換を意味することが意図される。すなわち、XがAを含む場合、XがBを含む場合、またはXがAとBの両者を含む場合には、「XはAまたはBを含む」は、あらゆる前述の事例の下に満たされる。さらに、本出願及び添付の請求項で使用される冠詞「a」及び「an」は、特に指定がない限り、または文脈から単数形を指すことが明らかでない限り、一般に「1つまたは複数」を意味すると解釈されるべきである。さらに、全体を通じて用語「一実施形態(an embodiment)」または「一実施形態(one embodiment)」または「実装(an implementation)」または「1つの実装(one implementation)」の使用は、そのように説明されていない限り、同じ実施形態または実装を意味するものではない。本明細書で使用される場合、用語「決定する」及び「識別する」、またはその変形は、図1に示される1つ以上のデバイスを使用して、選択、確認、計算、検索、受信、決定、確立、取得、またはその他の方法で識別もしくは決定することを含む。
【0175】
さらに、説明を簡潔にするために、本明細書の図及び説明は一連のステップまたは段階を含む場合があるが、本明細書に開示される方法の要素は、様々な順序で、及び/または同時に発生する可能性がある。さらに、本明細書で開示される方法の要素は、本明細書で明示的に提示及び説明していない他の要素とともに発生する場合がある。さらに、本明細書に説明された方法の1つ以上の要素は、開示される主題に従った方法の実装から省略されてもよい。
【0176】
送信側のコンピューティング及び通信デバイス100A及び/または受信側のコンピューティング及び通信デバイス100B(ならびにそこに格納される、及び/またはそれによって実行されるアルゴリズム、方法、命令など)は、ハードウェア、ソフトウェア、またはその任意の組み合わせで実現できる。ハードウェアは、例えば、コンピュータ、知的財産(IP)コア、特定用途向け集積回路(ASIC)、プログラマブルロジックアレイ、光プロセッサ、プログラマブルロジックコントローラ、マイクロコード、マイクロコントローラ、サーバ、マイクロプロセッサ、デジタル信号プロセッサ、または任意の他の適切な回路を含むことができる。特許請求の範囲において、用語「プロセッサ」は、上述のハードウェアのいずれかを単独でまたは組み合わせてのどちらかで包含すると理解されるべきである。用語「信号」及び「データ」は、交互に用いられる。さらに、送信側コンピューティング及び通信デバイス100A及び受信側コンピューティング及び通信デバイス100Bの部分は、必ずしも同じ方法で実装される必要はない。
【0177】
さらに、いくつかの実装では、例えば、送信側のコンピューティング及び通信デバイス100Aまたは受信側のコンピューティング及び通信デバイス100Bは、実行時に、本明細書で説明するそれぞれの方法、アルゴリズム、及び/または命令のいずれかを実施するコンピュータプログラムを使用して実装できる。さらにまたは代わりに、本明細書で説明する方法、アルゴリズム、または命令のいずれかを実行するための専用ハードウェアを含む場合がある、専用コンピュータ/プロセッサを利用できる。
【0178】
さらに、実装のすべてまたは一部は、例えば、有形コンピュータ使用可能媒体またはコンピュータ可読媒体などからアクセス可能なコンピュータプログラムの形をとることができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、例えば、任意のプロセッサが使用するための、または任意のプロセッサと接続して使用するためのプログラムを有形に含む、格納する、通信する、または移動させることができる任意のデバイスであり得る。媒体は、例えば、電子デバイス、光学デバイス、電磁気デバイス、または半導体デバイスであり得る。他の好適な媒体も利用可能である。
【0179】
態様が、任意の便利な形で実装できることを理解されたい。例えば、態様は、有形キャリア媒体(例えば、ディスク)または無形キャリア媒体(例えば、通信信号)であってよい適切なキャリア媒体で搬送し得る適切なコンピュータプログラムによって実装され得る。態様はまた、本明細書で開示される方法及び/または技術を実装するように構成されたコンピュータプログラムを実行するプログラム可能なコンピュータの形をとり得る適切な装置を使用して実装され得る。ある態様との関連で説明される特徴を別の態様で実装し得るように、態様を結合することができる。
【0180】
上述の実装は、本願の容易な理解を可能にするために説明されており、限定的ではない。逆に、本願は、添付の特許請求の範囲の範囲内に含まれる様々な修正及び同等な配置を網羅しており、その範囲は、法の下で許可されるすべてのそのような修正及び同等な構造を包含するように最も広い解釈を与えられるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【手続補正書】
【提出日】2024-07-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自己教師ありトレーニングを使用して訓練されたビデオスクリーニングモデルを使用したビデオコンテンツスクリーニングのためにコンピュータにより実行される方法であって、
自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルから取得された自動的に識別されたスクリーニングデータに応答して、現在のビデオをスクリーニングすることであって、前記スクリーニングデータが、前記現在のビデオと基準ビデオとの間の類似度を示し、前記自己教師ありトレーニングが、
自動的に生成されたトレーニングデータセットを使用して、訓練されていないビデオスクリーニングモデルを訓練することによって、前記訓練済みビデオスクリーニングモデルを取得することを含み、前記自動的に生成されたトレーニングデータセットが、
トレーニングビデオ内のプレディケート時間セグメント、及び前記基準ビデオ内の対応する基準時間セグメントを示す自動的に生成されたプレディケートスクリーニングデータを取得することと、
前記トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、前記拡張時間セグメントが前記プレディケート時間セグメントと、前記プレディケート時間セグメントに隣接する前記トレーニングビデオからの少なくとも1つのフレームとを含み、前記候補スクリーニングデータが、前記基準ビデオからのスクリーニングフレームと候補サブフレームとの間の類似性を示し、前記候補サブフレームが、前記拡張時間セグメントからの候補フレームの空間部分である、取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の決定された類似性が、定義済み類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに、前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すトレーニング例データを含めることと
によって自動的に生成される、スクリーニングすること
を含む、コンピュータ実装方法。
【請求項2】
前記自己教師ありトレーニングが、
前記自動的に生成されたプレディケートスクリーニングデータに対応する複数のトレーニングビデオから前記トレーニングビデオを取得することと、
複数の基準ビデオから前記基準ビデオを取得することと、
前記プレディケートスクリーニングデータを取得することであって、前記プレディケートスクリーニングデータが、第1の定義済み信頼度閾値を使用した以前に訓練されたビデオスクリーニングモデルを使用して、前記複数の基準ビデオに関して前記複数のトレーニングビデオをスクリーニングすることによって以前に生成されている、取得することと
を含む、請求項1に記載の方法。
【請求項3】
前記自動的に識別されたスクリーニングデータが、前記第1の定義済み信頼度閾値を使用した自己教師ありトレーニングを使用して訓練された、前記訓練済みビデオスクリーニングモデルから取得される、請求項2に記載の方法。
【請求項4】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることが、
前記第1の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルを使用して前記基準ビデオに関して前記トレーニングビデオをスクリーニングすることによってフィルタリングスクリーニングデータを取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに存在しないと判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに含まれると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略することと
を含む、請求項2に記載の方法。
【請求項5】
前記候補スクリーニングデータを取得することが、前記第1の定義済み信頼度閾値よりも低い第2の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得することを含む、請求項2に記載の方法。
【請求項6】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることが、
前記スクリーニングフレームの一部を取得することと、
前記スクリーニングフレームの前記一部のフィンガープリントを取得することと、
前記スクリーニングフレームのフィンガープリントを取得することと、
前記スクリーニングフレームの前記一部の前記フィンガープリントと、前記スクリーニングフレームの前記フィンガープリントとの間の類似性の尺度を示す類似性値を決定することと、
前記類似性値が定義済み最大類似性閾値未満であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記類似性値が前記定義済み最大類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略すること

を含む、請求項1に記載の方法。
【請求項7】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることが、
前記候補サブフレームのサイズが、定義された最小サイズに満たないと判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略すること
を含む、請求項1に記載の方法。
【請求項8】
前記自己教師ありトレーニングが、前記自動的に生成されたトレーニングデータセットのバイアスを除去することを含む、請求項1~7のいずれかに記載の方法。
【請求項9】
自己教師ありトレーニングを使用して訓練されたビデオスクリーニングモデルを使用したビデオコンテンツスクリーニングのためにコンピュータにより実行される方法であって、
入力ビデオを取得することと、
自己教師ありトレーニングを使用して訓練された、訓練済みビデオスクリーニングモデルから、前記入力ビデオと基準ビデオとの間の自動的に識別された関連付けを示すスクリーニングデータを取得することであって、前記自己教師ありトレーニングが、
自動的に生成されたトレーニングデータセットを取得することであって、
トレーニングビデオを取得することと、
前記基準ビデオを取得することと、
前記トレーニングビデオ及び前記基準ビデオに関して第1の以前に訓練されたビデオスクリーニングモデルを使用して生成されたプレディケートスクリーニングデータを取得することであって、前記プレディケートスクリーニングデータが、前記トレーニングビデオ内のプレディケート時間セグメント及び前記基準ビデオ内の対応する基準時間セグメントを示す、取得することと、
第2の以前に訓練されたビデオスクリーニングモデルから、前記トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、前記拡張時間セグメントが、前記プレディケート時間セグメントと、前記プレディケート時間セグメントに先行する前記トレーニングビデオからのフレームまたは前記プレディケート時間セグメントに続く前記トレーニングビデオからのフレームの少なくとも1つとを含み、前記候補スクリーニングデータが、前記基準ビデオからのスクリーニングフレームと候補サブフレームとの間の関連付けを示し、前記候補サブフレームが、前記拡張時間セグメントからの候補フレームの空間部分である、前取得することと、
前記候補サブフレーム及び前記スクリーニングフレームに関して決定された類似性値が、第1の定義済み類似性閾値以上であり、
前記候補サブフレームと前記スクリーニングフレームとの間の前記関連付けを示すデータが、前記トレーニングビデオ及び前記基準ビデオに関して前記第1の以前に訓練されたビデオスクリーニングモデルから取得されたフィルタリングスクリーニングデータに存在せず、
前記スクリーニングフレーム及び前記スクリーニングフレームの空間部分に関する類似性値が、第2の定義済み類似性閾値未満である
と判断したことに応答して、
前記自動的に生成されたトレーニングデータセットに、前記候補サブフレームと前記スクリーニングフレームとの間の前記関連付けを示すトレーニング例データを含めることと
を含む、前記自動的に生成されたトレーニングデータセットを取得することと、
前記自動的に生成されたトレーニングデータセットのバイアスを除去することと、
訓練されていないビデオスクリーニングモデルを取得することと、
前記自動的に生成されたトレーニングデータセットを使用して前記訓練されていないスクリーニングモデルを訓練することによって前記訓練済みビデオスクリーニングモデルを取得することと
を含む、前記スクリーニングデータを取得することと、
前記スクリーニングデータを取得することに応答して、前記入力ビデオをスクリーニングされたビデオとして識別することと
を含む、コンピュータ実装方法。
【請求項10】
前記入力ビデオが、複数の入力ビデオの1つであり、
前記基準ビデオが、複数の基準ビデオの1つであり、
前記スクリーニングデータを取得することが、前記複数の基準ビデオに関して前記複数の入力ビデオのスクリーニングデータを取得することを含む、
請求項9に記載のコンピュータ実装方法。
【請求項11】
前記入力ビデオと前記基準ビデオとの間の類似性が、前記入力ビデオに対して自動的に生成されたフィンガープリントと、前記基準ビデオに対して自動的に生成されたフィンガープリントとの間の類似性であり、
前記スクリーニングフレームと前記候補サブフレームとの間の前記類似性が、前記スクリーニングフレームに対して自動的に生成されたフィンガープリントと、前記候補サブフレームに対して自動的に生成されたフィンガープリントとの間の類似性である、
請求項9に記載のコンピュータ実装方法。
【請求項12】
前記プレディケートスクリーニングデータが、第1の定義済み信頼度閾値を用いた前記第1の以前に訓練されたビデオスクリーニングモデルを使用して生成され、
前記第2の以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得することが、第2の定義済み信頼度閾値を用いた前記第1の以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得することを含み、前記第1の定義済み信頼度閾値が、前記第2の定義済み信頼度閾値よりも大きい、
請求項9に記載のコンピュータ実装方法。
【請求項13】
前記入力ビデオをスクリーニングされたビデオとして識別することが、前記スクリーニングデータによって示される前記入力ビデオの一部のフィンガープリントデータを生成することを含む、請求項9~12のいずれかに記載のコンピュータ実装方法。
【請求項14】
自己教師ありトレーニングを使用してビデオスクリーニングモデルを訓練するためのシステムであって、
命令を格納する非一時的メモリと、
プロセッサと
を備え、前記プロセッサが、訓練済みビデオスクリーニングモデルを取得するために前記命令を実行し、
前記訓練済みビデオスクリーニングモデルを取得するために、前記プロセッサが、トレーニングデータセットを使用して訓練されていないビデオスクリーニングモデルを訓練するために前記命令を実行し、前記トレーニングデータセットを自動的に生成するために、前記プロセッサが、
トレーニングビデオ内のプレディケート時間セグメント、及び基準ビデオ内の対応する基準時間セグメントを示す自動的に生成されたプレディケートスクリーニングデータを取得することと、
前記トレーニングビデオから拡張時間セグメントの候補スクリーニングデータを取得することであって、前記拡張時間セグメントが前記プレディケート時間セグメントと、前記プレディケート時間セグメントに隣接する前記トレーニングビデオからの少なくとも1つのフレームとを含み、前記候補スクリーニングデータが、前記基準ビデオからのスクリーニングフレームと候補サブフレームとの間の類似性を示し、前記候補サブフレームが、前記拡張時間セグメントからの候補フレームの空間部分である、取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の決定された類似性が、定義済み類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに、前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すトレーニング例データを含めることと
を行うために前記命令を実行する、システム。
【請求項15】
前記トレーニングデータセットを自動的に生成するために、前記プロセッサが、
前記自動的に生成されたプレディケートスクリーニングデータに対応する複数のトレーニングビデオから前記トレーニングビデオを取得することと、
複数の基準ビデオから前記基準ビデオを取得することと、
前記プレディケートスクリーニングデータを取得することであって、前記プレディケートスクリーニングデータが、第1の定義済み信頼度閾値を使用した以前に訓練されたビデオスクリーニングモデルを使用して、前記複数の基準ビデオに関して前記複数のトレーニングビデオをスクリーニングすることによって以前に生成された、取得することと
を行うために命令を実行する、請求項14に記載のシステム。
【請求項16】
前記訓練されたビデオスクリーニングモデルから取得された自動的に識別されたスクリーニングデータに応答して、現在のビデオをスクリーニングすることであって、前記スクリーニングデータが、前記現在のビデオと基準ビデオとの間の類似性を示し、前記スクリーニングデータが、前記第1の定義済み信頼度閾値を使用して前記訓練されたビデオスクリーニングモデルから取得される、スクリーニングすること
をさらに含む、請求項15に記載のシステム。
【請求項17】
前記現在のビデオをスクリーニングすることが、
前記現在のビデオをスクリーニングビデオとして識別することと、
前記スクリーニングデータによって示される前記現在のビデオの一部のフィンガープリントデータを生成することと、
前記現在のビデオの前記一部の前記フィンガープリントデータを前記基準ビデオのフィンガープリントデータと比較して、前記現在のビデオの前記一部が、前記基準ビデオからのそれぞれの基準ビデオのそれぞれの部分に類似しているかどうかを判断することと
を含む、請求項16に記載のシステム。
【請求項18】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めるために、前記プロセッサが、
前記第1の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルを使用して前記基準ビデオに関して前記トレーニングビデオをスクリーニングすることによってフィルタリングスクリーニングデータを取得することと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに存在しないと判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記候補サブフレームと前記スクリーニングフレームとの間の前記類似性を示すデータが前記フィルタリングスクリーニングデータに含まれると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略することと
を行うために前記命令を実行する、請求項15または16に記載のシステム。
【請求項19】
前記候補スクリーニングデータを取得するために、前記プロセッサが、前記第1の定義済み信頼度閾値よりも低い第2の定義済み信頼度閾値を使用した前記以前に訓練されたビデオスクリーニングモデルから前記候補スクリーニングデータを取得するために前記命令を実行する、請求項15または16に記載のシステム。
【請求項20】
前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めるために、前記プロセッサが、
前記スクリーニングフレームの一部を取得することと、
前記スクリーニングフレームの前記一部のフィンガープリントを取得することと、
前記スクリーニングフレームのフィンガープリントを取得することと、
前記スクリーニングフレームの前記一部の前記フィンガープリントと、前記スクリーニングフレームの前記フィンガープリントとの間の類似性の尺度を示す類似性値を決定することと、
前記類似性値が、定義済み最大類似性閾値未満であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットに前記トレーニング例データを含めることと、
前記類似性値が、前記定義済み最大類似性閾値以上であると判断したことに応答して、前記自動的に生成されたトレーニングデータセットから前記トレーニング例データを省略することと
を行うために前記命令を実行する、請求項14または15に記載のシステム。
【国際調査報告】