JP6564464B2 - ビデオプログラムのセグメントの検出 - Google Patents

ビデオプログラムのセグメントの検出 Download PDF

Info

Publication number
JP6564464B2
JP6564464B2 JP2017548386A JP2017548386A JP6564464B2 JP 6564464 B2 JP6564464 B2 JP 6564464B2 JP 2017548386 A JP2017548386 A JP 2017548386A JP 2017548386 A JP2017548386 A JP 2017548386A JP 6564464 B2 JP6564464 B2 JP 6564464B2
Authority
JP
Japan
Prior art keywords
video
fingerprint
model
frame
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017548386A
Other languages
English (en)
Other versions
JP2018514118A (ja
Inventor
カンサラ,アプルヴァクマル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netflix Inc
Original Assignee
Netflix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=55629094&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP6564464(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Netflix Inc filed Critical Netflix Inc
Publication of JP2018514118A publication Critical patent/JP2018514118A/ja
Application granted granted Critical
Publication of JP6564464B2 publication Critical patent/JP6564464B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Description

本開示は、一般的に、コンピュータによって実装されるデジタル画像およびビデオ処理技術に関し、より具体的には、コンピュータによって実装される、第2の関連するデジタルビデオ内の1以上のセグメントと類似しているが同一ではない第1のデジタルビデオ内の1以上のセグメントの検出の精度を改善する技術に関する。
この項に記載される手法は、追及され得る手法であるが、必ずしも、既に想到または追及された手法ではない。従って、特に明記しない限り、この項に記載されている手法のいずれも、単にこの項に含まれていることから従来技術とされるべきではない。
コンテンツプロバイダは、ダウンロードするためのテレビシリーズまたは映画シリーズのエピソードを格納し得る。ユーザは、クライアントコンピュータを介して、コンテンツプロバイダからダウンロードして視聴するためのシリーズのエピソードを選択し得る。ユーザが、クライアントコンピュータ上において第1のエピソードのダウンロードおよび視聴を完了した際、ユーザは、クライアントコンピュータを介して、シリーズ内の第2のエピソード等を視聴するために選択し得る。シリーズの複数のエピソードを続けて視聴することは、一般的に「一気視聴(binge watching)」と称される。
クライアントコンピュータがシリーズの選択されたエピソードの再生を完了した後、クライアントコンピュータは、一気視聴を促すために、コンテンツプロバイダからのシリーズ内の次のエピソードを自動的に要求して再生し得る。しかし、シリーズ内の各エピソードは、そのエピソードの制作に関与した人々を識別するクレジット画像(クレジット)を表示するためのビデオセグメントを含む場合があり、クレジットは通して再生するのに数分間かかる場合がある(このビデオセグメントは、本明細書においてはクロージングクレジットセグメントとして参照される)。シリーズを一気視聴するユーザは、シリーズ内の各エピソードのクロージングクレジットセグメントを視聴せずに、次のエピソードまでスキップすることを望む場合がある。
ユーザは、エピソード内の他のセグメントを自動的にスキップすることを望み得る。例えば、シリーズ内の各エピソードは、しばしばフィーチャーされているキャストおよびクルーメンバーの名前を載せた、エピソードを紹介するためのビデオセグメントを含み得る(このビデオセグメントは、本明細書においてはオープニングクレジットセグメントまたはタイトルセグメントとして参照される)。シリーズを一気視聴するユーザは、シリーズ内の各エピソードのオープニングクレジットセグメントをスキップすることを望み得る。
エピソード内において、例えばオープニングクレジットセグメントまたはクロージングクレジットセグメント等のビデオセグメントが開始するときおよび終了するときを検出するようコンピュータを構成することは、困難であり得る。例えば、同じビデオセグメントが、エピソード間では異なり得るので、エピソード間の同一のフレームをチェックすることは、有効ではない場合がある。
ビデオセグメントが開始するときおよび終了するときを検出するようコンピュータを構成することは、他の理由でも困難であり得る。例えば、シリーズ内の各エピソードについて、オープニングクレジットセグメントまたはクロージングクレジットセグメントはそれぞれ異なり得る。シリーズ内の1以上のエピソードは、オープニングクレジットセグメントの前に、それぞれ長さが異なる見どころ紹介のセグメントを再生して開始し得る。シリーズ内の1以上のエピソードは、クロージングクレジットセグメントの後に、最後のギャグを有するセグメントを含み得る。1以上のエピソードは、クロージングクレジットセグメント中に再生されるNG集を含む場合があり、その場合には、ユーザは、クライアントコンピュータがクロージングクレジットセグメントを再生することを望み得る。
ビデオセグメントの開始および終了を正確に決定することは、ユーザの体験を改善し得ると共に、マルチメディアコンテンツを1以上のクライアントコンピュータにストリーミングするために必要な全体的な帯域幅を低減し得る。例えば、エピソード内のオープニングクレジットセグメントおよびクロージングクレジットセグメントが正しく決定される場合には、クライアントコンピュータは、そのエピソード内の独自のコンテンツを見出すためにビデオを前後にスキップするためのユーザ入力を必要とせずに、それらのセグメントをスキップし得る。また、例えば、クライアントコンピュータは、シリーズ内の1以上の共通のセグメント(例えばオープニングクレジットセグメントまたはクロージングクレジットセグメント等)の一部である音声セグメントまたは視覚的セグメントをダウンロードする必要がない。
添付の特許請求の範囲が、本発明の要約の役割をし得る。
例示的な一実施形態における、シリーズ内の或るエピソードの第1のフレーム 例示的な一実施形態における、シリーズ内の或るエピソードの1つのフレーム 例示的な一実施形態における、シリーズ内の或るエピソードの1つのフレーム 例示的な一実施形態における、図1Aのフレームの色分布を示すヒストグラム 例示的な一実施形態における、図1Bのフレームの色分布を示すヒストグラム 例示的な一実施形態における、図1Cのフレームの色分布を示すヒストグラム 例示的な一実施形態における、ビデオ処理コンピュータ、ビデオデータストア、ビデオサーバコンピュータ、ビデオカタログサーバコンピュータ、および、複数の相互接続されたネットワークにわたって分散されたクライアントコンピュータを含むシステムを示す 例示的な一実施形態における、同じテレビシリーズまたは映画シリーズの第1のモデルエピソード内の一連のビデオチャンク内の一連のフレーム、および異なるエピソード内の一連のビデオチャンク内の一連のフレームを示す 例示的な一実施形態における、第1のビデオ内のセグメントに対応する第2のビデオ内のセグメントを検出する処理を示す 例示的な一実施形態における、1以上の共通のビデオセグメントまたは音声セグメントを要求および/または再生せずに、クライアントコンピュータ上においてビデオを再生する処理を示す 実施形態が実装され得るコンピュータシステムを示す
各図面は、明確な例を示す目的で、特定の実施形態を示しているが、他の実施形態では、図面に示されている要素の任意のものに対して省略、追加、並べ替え、および/または変更が行われ得る。明確な例を示す目的で、1以上の図面は、1以上の他の図面を参照して説明され得るが、他の実施形態において、1以上の他の図面に示されている特定の構成を用いる必要はない。
以下の説明において、説明の目的で、本発明のより完全な理解を提供するために、多くの具体的な詳細が述べられる。しかし、本発明が、これらの具体的な詳細を含まずに実施され得ることは明らかである。他の例では、本発明を不必要に不明瞭にすることを避けるために、周知の構造および装置はブロック図の形態で示されている。
本明細書において、以下の骨子に沿って実施形態を説明する:
1.0 全体的概観
2.0 プロセスの概観
3.0 シリーズのエピソード内のセグメントを検出し、そのエピソードを1以上のクライアント装置に配布するための例示的なネットワークトポロジー
3.1 ビデオ配信ネットワーク
3.1.1 ビデオデータストア
3.1.1.1 エピソードの構造
3.1.2 ビデオサーバコンピュータ
3.2 メタデータストア
3.3 ビデオ処理ロジック
3.4 ビデオカタログサーバコンピュータ
3.5 クライアントビデオプレイヤーコンピュータ
4.0 エピソード間の共通のビデオセグメントを識別するための例示的なプロセス
4.1 モデルフィンガープリントを生成する
4.1.1 色分布を生成する
4.1.2 スーパー色分布を生成する
4.1.3 色および色分布の表現
4.2 テストフィンガープリントを生成する
4.3 テストフィンガープリントとモデルフィンガープリントとが一致するか否かを決定する
4.3.1 色分布に基づいて近さの値を決定する
4.3.2 顔検出に基づいて近さの値を決定する
4.3.3 特徴認識に基づいて近さの値を決定する
4.3.4 複数の近さの値に基づいて近さベクトルまたは近さの値の集合体を決定する
4.4 モデルフレームとテストフレームとが一致する否かを決定する
4.5 セグメント境界を決定する
4.5.1 順方向または逆方向検索によってセグメント境界を見出す
4.5.2 時間に基づいてセグメント境界を見出す
4.5.3 エピソード内の2以上のフレームに基づいて開始境界を決定する
4.5.4 エピソード内の2以上のフレームに基づいて終了境界を決定する
4.5.5 黙示的境界を決定する
4.6 エピソード内の複数のセグメントを見出す
4.7 任意選択セグメントを決定し、それに対して応答する
4.8 メタデータを格納する
4.8.1 同じエピソードの異なるバージョンについてのメタデータ
5.0 1以上の検出されたセグメントを用いてビデオをクライアントコンピュータに配布するための例示的なプロセス
5.1 ユーザ入力に基づいてセグメントをスキップする、および/またはダウンロードしない
5.2 1以上の効果を適用する
6.0 実装機構−ハードウェアの概観
7.0 本開示の他の態様
1.0 全体的概観
一実施形態において、ビデオ処理システムは、第1のビデオおよび第1のビデオと関連づけられた第2のビデオを格納するデータストアと、データストアに結合されたコンピュータプロセッサであって、データストアに格納されている第1のビデオの第1のモデルセグメント内の第1のモデルフレーム内の画素に基づいて、第1のビデオの第1のモデルフィンガープリントを生成し、データストアに格納されている第2のビデオ内の第1のテストフレーム内の画素に基づいて、第2のビデオの第1のテストフィンガープリントを生成し、第1のモデルフィンガープリントと第1のテストフィンガープリントとの間の第1の近さの値を決定し、第1の近さの値に基づいて、第1のテストフレームが、第1のビデオ内の第1のモデルセグメントに類似している第2のビデオ内の第1のセグメントの第1の境界であるか否かを決定するようプログラムされたコンピュータプロセッサとを含む。
一実施形態において、コンピュータプロセッサは、データストアに格納されている第1のビデオの第1のモデルセグメント内の第2のモデルフレーム内の画素に基づいて、第2のモデルフィンガープリントを生成し、データストアに格納されている第2のビデオ内の第2のテストフレーム内の画素に基づいて、第2のテストフィンガープリントを生成し、第2のモデルフィンガープリントと第2のテストフィンガープリントとの間の第2の近さの値を決定し、第1の境界が第2のビデオ内の第1のセグメントの開始境界であり、第2の境界が第2のビデオ内の第1のセグメントの終了境界であり、第2の近さの値に基づいて、第2のテストフレームが第2のビデオ内の第1のセグメントの第2の境界であるか否かを決定し、第1のテストフレームが第1の境界であり、且つ、第2のテストフレームが第2の境界であると決定されたことに応答して、開始境界を示す第1の値および終了境界第2のを示す値をクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、第1の値および第2の値は、ビデオプレイヤーが開始境界に到達した際に、ビデオプレイヤーに第2のビデオ内の終了境界までスキップさせる。
一実施形態において、コンピュータプロセッサは、第1のモデルフレーム内の第1の組のモデル画素に基づいて、第1のモデル色分布であって、該第1のモデル色分布内の各特定の色が、該特定の色が割り当てられた第1の組のモデル画素内の画素の数を示す値と関連づけられた、第1のモデル色分布を決定することによって、第1のモデルフィンガープリントを生成し、第1のテストフレーム内の第1の組のテスト画素に基づいて、第1のテスト色分布であって、該第1のテスト色分布内の各特定の色が、該特定の色が割り当てられた第1の組のテスト画素内の画素の数を示す値と関連づけられた、第1のテスト色分布を決定することによって、第1のテストフィンガープリントを生成するようプログラムされる。
一実施形態において、コンピュータプロセッサは、1組の差分値であって、該1組の差分値内の各差分値が或る色に対応しており、第1のテスト色分布内の色が割り当てられた画素の数と比較した第1のモデル色分布内の色が割り当てられた画素の数を示す、1組の差分値を決定し、1組の差分値内の各差分値を加算することによって総和を決定し、総和を第1の組のモデル画素内の画素の数によって除算することによって、第1の近さの値を決定するようプログラムされる。
一実施形態において、クライアントコンピュータ上で再生するためにサーバコンピュータからのビデオを要求する方法は、第2のビデオタイトルと関連づけられ、該第2のビデオタイトルと共通の1以上のビデオセグメントを含む第1のビデオタイトルを選択するユーザからの入力を受信する工程と、サーバコンピュータからの、第1のビデオタイトルと関連づけられた、スキップされてよい1以上の共通のセグメントを示す1組のメタデータを要求する工程と、メタデータを受信し、それに応答して、1以上の共通のビデオセグメントを要求せずに、第1のビデオタイトル内の1以上のビデオセグメントを要求する工程とを含む。
一実施形態において、デジタルビデオ配布システムは、メモリと、メモリに結合された1以上のプロセッサと、1以上のプロセッサおよびメモリに結合されたフィンガープリント生成ロジックであって、第1のビデオのモデルセグメント内の第1のモデルフレーム内の画素に基づいて、第1のビデオの第1のモデルフィンガープリントを生成し、第1のテストフレーム内の画素に基づいて、第2のビデオの第1のテストフィンガープリントを生成するよう構成されたフィンガープリント生成ロジックと、メモリおよび1以上のプロセッサに結合されたフィンガープリント比較ロジックであって、第1のモデルフィンガープリントと第1のテストフィンガープリントとの間の第1の近さの値を決定するよう構成されたフィンガープリント比較ロジックと、メモリおよび1以上のプロセッサに結合されたセグメント検出ロジックであって、第1の近さの値に基づいて、第1のテストフレームが第2のビデオ内のセグメントの第1の境界であることを決定するよう構成されたセグメント検出ロジックとを含む。
本明細書において述べる実施形態は、ビデオの一部をスキップするという概念を超えた、多くの利益および改善を提供する。例えば、本明細書において述べる実施形態の1以上は、様々なデジタル画像およびビデオ処理技術を用いて、テレビシリーズまたは映画シリーズ内の複数のエピソード間の類似および/または共通であるが同一ではないセグメントの開始および終了境界を自動的に検出するために、コンピュータに基づく画像解析技術を用い得る。更に、本明細書において述べる方法を用いれば、シリーズ内のビデオの表示する必要がない共通の部分をスキップする、および/またはダウンロードしないことにより、クライアントビデオプレイヤーコンピュータ上におけるデジタルビデオの再生のマシン効率が改善され、それにより、ストリーミングビデオ送信の場合には、伝送時間および帯域幅消費が低減される。
2.0 プロセスの概観
本明細書において述べるように、エピソード内のビデオセグメント(例えば、オープニングクレジットセグメントまたはクロージングクレジットセグメント等)が開始および終了するときを検出するようにコンピュータを構成するのは、困難であり得る。例えば、図1Aは、特定のシリーズ内の第1のエピソードのオープニングクレジットセグメントからの第1のフレームであるとし、図1Bは、同じ特定のシリーズ内の第2のエピソードのオープニングクレジットセグメントからの第1のフレームであるとする。図1Aおよび図1Bに示されているように、第1のエピソードの監督は、第2のエピソードとは異なる人物である。従って、図1Aに対応するフレームが、オープニングクレジットセグメントの第1のフレームとしてデザインされている場合には、コンピュータは、図1Aのフレームを図1Bのフレームと比較することにより、図1Bに対応するフレームは第2のエピソード内のオープニングクレジットセグメントの開始ではないと不正確に決定し得る。
ビデオ処理コンピュータは、たとえ、各エピソード内の共通のセグメント内のフレームが、それぞれ同一ではなくても、特定のシリーズの複数のエピソード内の共通のセグメントを検出し得る。例えば、ビデオ処理コンピュータは、シリーズ内の第1のエピソードの特定のセグメントがオープニングクレジットセグメントであることを示す入力を受信し得る。第1のエピソード内の特定のセグメントは、モデルセグメントとして参照され得る。ビデオ処理コンピュータは、モデルセグメント内の1以上のフレームにそれぞれ対応する1以上のフレームフィンガープリントを生成して格納し得る。フィンガープリントまたはフレームフィンガープリントは、対応するフレーム内の1以上の特徴を表すデータであり得る。モデルセグメント内のフレームに対応するフレームフィンガープリントは、モデルフィンガープリントまたはモデルフレームフィンガープリントとして参照され得る。従って、モデルセグメントの1以上のフレームフィンガープリントは、1以上のモデルフレームフィンガープリントまたは1以上のモデルフレームフィンガープリントとして参照され得る。明確な例を示す目的で、図1Dは、シリーズのモデルエピソード内のモデルオープニングクレジットセグメント内のフレームであり得る図1Aに示されている画像に基づいて生成されたフレームフィンガープリントの視覚化である。図1Dは、例示的な一実施形態における、図1Aのフレームの色分布を示すヒストグラムである。
ビデオ処理コンピュータは、シリーズ内の第2のエピソード、即ちテストエピソード内の1以上のフレームに対応する1以上のテストフレームフィンガープリントを生成し得る。テストエピソードは、シリーズ内のモデルエピソードではない、シリーズ内のエピソードであり得る。テストフレームは、テストエピソード内のフレームであり得る。明確な例を示す目的で、図1Eおよび図1Fは、シリーズのテストエピソードからのテストフレームであり得る図1Bおよび図1Cに示されている画像に基づいて生成されたフレームフィンガープリントの視覚化である。図1Eおよび図1Fは、例示的な一実施形態における、図1Bおよび図1Cのフレームの色分布をそれぞれ示すヒストグラムである。
ビデオ処理コンピュータは、1以上のモデルフレームフィンガープリントを1以上のテストフレームフィンガープリントと比較し得る。1以上のモデルフレームフィンガープリントが、1以上のテストフレームフィンガープリントに近い、および/または「一致する」と決定されたことに応答して、ビデオ処理コンピュータは、1以上のテストフレームフィンガープリントに対応する第2のエピソード内の1以上のフレームが、第1のエピソード内のセグメント(この例ではオープニングクレジットセグメント)と共通の第2のエピソード内のセグメントの少なくとも一部であることを決定し得る。
クライアントコンピュータからの第2のエピソードに対する要求を受信したことに応答して、サーバコンピュータは、クライアントコンピュータが、第2のエピソード内の共通のセグメント(この例ではオープニングクレジットセグメント)内にある1以上のフレームをスキップしてもよいおよび/またはダウンロードする必要がないことを示すデータを、クライアントコンピュータに送信し得る。
3.0 シリーズのエピソード内のセグメントを検出し、そのエピソードを1以上のクライアント装置に配布するための例示的なネットワークトポロジー
図2は、例示的な一実施形態における、ビデオ処理コンピュータ、ビデオデータストア、ビデオサーバコンピュータ、ビデオカタログサーバコンピュータ、および、複数の相互接続されたネットワークにわたって分散されたクライアントコンピュータを含むシステムを示す。図2において、デジタルビデオ配布システム200は、ビデオ処理コンピュータ210と、ビデオデータストア230およびビデオサーバコンピュータ240を含むコンテンツ配信ネットワーク220と、メタデータストア255と、ビデオカタログサーバコンピュータ250と、複数の相互接続されたネットワークにわたって分散されたクライアントビデオプレイヤーコンピュータ260とを含む。
「コンピュータ」は、1以上の物理的コンピュータ、仮想コンピュータ、および/またはコンピューティング装置であり得る。一例として、コンピュータは、1以上のサーバコンピュータ、クラウドに基づくコンピュータ、クラウドに基づくコンピュータのクラスタ、仮想マシンインスタンスもしくは仮想マシンコンピューティング要素(例えば、仮想プロセッサ、ストレージ、およびメモリ等)、データセンター、ストレージ装置、デスクトップコンピュータ、ラップトップコンピュータ、モバイル装置、並びに/または、他の任意の専用コンピューティング装置であり得る。本明細書において「コンピュータ」と言う場合には、特に明記しない限り、1以上のコンピュータを意味し得る。
サーバコンピュータは、データに対する要求を受信し、データで応答するコンピュータであり得る。例えば、ウェブサーバコンピュータは、HTTPを要求受信し、HTML、CSS、JavaScript(登録商標)、ビデオ、および/または音声データを含むデータで応答するHTTPに基づくコンピュータであり得る。それに加えて、またはその代わりに、サーバコンピュータは、コンテンツ配信ネットワーク220の内側および/または外側の他のサーバコンピュータ上のデータ(例えば、ビデオまたは音声データ等)を参照するデータで応答し得る。
構成要素は、互いから別々のリモートコンピュータ上で実行されるかのように図示され得るが、上記に挙げた構成要素の1以上は、同じコンピュータの一部であってもよく、および/または、同じコンピュータ上で実行されてもよい。例えば、ビデオ処理コンピュータ210、メタデータストア355、およびビデオカタログサーバコンピュータ250は、同じコンピュータ、ローカルエリアネットワーク、および/またはワイドエリアネットワーク上で実行され得る。
3.1 ビデオ配信ネットワーク(「CDN」)
CDN220は、例えばクライアントビデオプレイヤーコンピュータ260またはビデオ処理コンピュータ410等の1以上のコンピュータを介したユーザからのビデオおよび/または音声データに対する要求を受信する1以上のサーバコンピュータ(例えば、ビデオデータストア230およびビデオサーバコンピュータ240等)を含み得る。CDN220は、ビデオおよび/または音声データを、要求を送信したクライアントコンピュータに送信することによって応答し得る。CDN220内の1以上のコンピュータは、1以上の独立したエンティティによって所有および/または管理され得ると共に、1以上のコンピュータネットワークおよび/または地理的領域にわたり得るが、そうである必要はない。
3.1.1 ビデオデータストア
ビデオデータストア230は、1以上のシリーズ内の複数のエピソードを格納し得る。例えば、ビデオデータストア230は、本明細書において更に詳細に述べる、ビデオおよび音声データを含み得るモデルエピソード301およびエピソード302のコピーを含み得る。ビデオデータストア230は、1以上のエピソードの1以上のバージョンを含み得る。様々なクライアントコンピュータおよびスループットをサポートするために、1つのバージョンは解像度がより低いもの、および/または、異なるフォーマットのものであり得る。ビデオデータストア230は、ビデオデータストア230に格納されている各ビデオチャンクに対応する音声チャンクを格納し得る。それに加えて、またはその代わりに、ビデオチャンクは音声データを含み得る。図2では、ビデオデータストア230は単一のデータストレージシステムとして図示されているが、ビデオデータストア230は、複数のコンピュータネットワークおよび/または地理的領域にわたって分散された1以上のストレージ装置を含み得る。
3.1.1.1 エピソードの構造
図3は、例示的な一実施形態における、同じテレビシリーズまたは映画シリーズの第1のモデルエピソード内の一連のビデオチャンク内の一連のフレームと、異なるエピソード内の一連のビデオチャンク内の一連のフレームとを示す。図3において、モデルエピソード301は、モデルフレーム312〜モデルフレーム336の一連のフレームを含む。エピソード302は、フレーム352〜フレーム376の一連のフレームを含む。モデルエピソード301およびエピソード302は、音声データを含み得る、および/または、参照し得る。フレームは、フレーム内の各画素についての色を示す画素データの集合(例えば、画像等)を含み得る。
エピソードは、1以上のビデオチャンクを含み得る。1以上のフレームは、ビデオチャンクによって参照され、ビデオチャンクと関連づけられ、および/またはビデオチャンクに含まれ得る。例えば、モデルエピソード301は、ビデオチャンク310、ビデオチャンク320、およびビデオチャンク330を含む。エピソード302は、ビデオチャンク340、ビデオチャンク350、およびビデオチャンク360を含む。ビデオチャンク310はモデルフレーム312〜316を含み、ビデオチャンク320はモデルフレーム322〜326を含み、ビデオチャンク330はモデルフレーム332〜336を含み、ビデオチャンク350はモデルフレーム352〜356を含み、ビデオチャンク360はモデルフレーム362〜366を含み、ビデオチャンク370はモデルフレーム372〜376を含む。
明確な例を示す目的で、図3の各エピソードは3つのビデオチャンクを有するものとして図示されており、各ビデオチャンクは3つのフレームを有するものとして図示されているが、エピソードは任意の数のビデオチャンクを含んでよく、ビデオチャンクは任意の数のフレームを含んでよい。更に、各エピソードは、同じ数のビデオチャンクを有するものとして図示されているが、シリーズ内の各エピソードが同じ数のビデオチャンクを含む必要はない。各ビデオチャンクは、ビデオチャンク毎に同じ数のフレームを有するものとして図示されているが、各ビデオチャンクが同じ数のフレームを含む必要はない。各ビデオチャンクは、ビデオチャンク内のフレームに対応する音声データを含み得る、および/または参照し得る。
クライアントビデオコンピュータは、エピソード内のビデオチャンクを別々におよび/または非同期的にダウンロードし得る。明確な例を示す目的で、エピソード内の各ビデオチャンクは、エピソード内の2秒間のフレームを含み、特定のタイムスタンプまたは一意的な指標値と関連づけられているとする。エピソードの再生の前処理として、ビデオプレイヤーコンピュータは、ビデオサーバコンピュータから、3つのタイムスタンプ00:00:00.00、00:00:02.00、および00:00:04とそれぞれ関連づけられた第1の3つの2秒間のビデオチャンクを非同期的に要求してダウンロードし得る。クライアントビデオプレイヤーコンピュータは、エピソード内の各ビデオチャンクを、各ビデオチャンクが表示されるべき時間の早さに基づく順序で要求および/またはダウンロードし得る。例えば、ビデオプレイヤーは、ビデオチャンク330を要求するより前に、ビデオチャンク310を要求し得るが、ビデオプレイヤーは、ビデオチャンク310より前に、および/またはそれとは非同期的に、ビデオチャンク330を受信してもよい。
クライアントビデオコンピュータは、ダウンロードされたビデオチャンクを、それらに関連づけられたタイムスタンプまたは指標値に基づく順序で、エピソードが単一のファイルに格納されているかのように連続的に再生し得る。先の例を続けると、クライアントビデオプレイヤーが、00:00:00.00のタイムスタンプと関連づけられた第1のビデオチャンクをダウンロードした後、クライアントビデオプレイヤーは第1のビデオチャンクを再生し得る。ビデオチャンクまたはセグメントを再生するとは、第1のビデオチャンクまたはセグメント内のフレームを特定の時間(この例では2秒間)にわたって立て続けに表示させることを意味し得る。クライアントビデオプレイヤーが、00:00:02.00のタイムスタンプと関連づけられた第2のビデオチャンクをダウンロードした後であって、第1のビデオチャンクが再生された後、クライアントビデオプレイヤーは第2のビデオチャンクを再生し得る。クライアントビデオプレイヤーが、00:00:04.00のタイムスタンプと関連づけられた第3のビデオチャンクをダウンロードした後であって、第2のビデオチャンクが再生された後、クライアントビデオプレイヤーは第3のビデオチャンクを再生し得る(以下同様である)。
3.1.2 ビデオサーバコンピュータ
図2に戻ると、ビデオサーバコンピュータ240は、1以上のクライアントコンピュータ(例えば、クライアントビデオプレイヤーコンピュータ260等)から、1以上のビデオ、音声、ビデオチャンク、および/または音声チャンクに対する要求を受信し得る。ビデオサーバコンピュータ240は、要求されたビデオおよび/またはビデオチャンクをビデオデータストア230から読み出して、そのビデオおよび/またはビデオチャンクをクライアントビデオプレイヤーに返し得る。図2では、ビデオサーバコンピュータ240は単一のコンピュータとして図示されているが、ビデオサーバコンピュータ240は、複数のコンピュータネットワークおよび/または地理的領域にわたって分散された1以上のコンピュータを含み得る。ビデオサーバコンピュータ240およびビデオデータストア230は、図2に示されているように、それぞれ異なる組の1以上のコンピュータであり得る。しかし、一実施形態において、ビデオサーバコンピュータ240は、ビデオデータストア230と同じ1以上のコンピュータ上で実行され得る。
3.2 メタデータストア
メタデータストア255は、1以上のシリーズ内の1以上のエピソードと関連づけられたメタデータを格納し得る。例えば、メタデータストア255は、モデルエピソード301内のオープニングクレジットセグメントおよび/またはクロージングクレジットセグメントの一部であるフレームを識別するメタデータを含み得る。モデルエピソード(例えば、モデルエピソード301等)と関連づけられたメタデータは、ユーザによって生成され得る。例えば、ユーザは、モデルエピソード301を視聴して、クライアントコンピュータ(図2には図示せず)を介して、1以上のフレームが1以上のセグメントに属することを示すメタデータをメタデータストア255に保存し得る。
また、メタデータストア255は、ビデオ処理ロジック212および/またはビデオ処理コンピュータ210からメタデータを受信して格納し得る。例えば、メタデータストア255は、ビデオ処理ロジック212から、モデルエピソード301内のオープニングクレジットセグメントおよびクロージングクレジットセグメントに対応するエピソード302内のオープニングクレジットセグメントおよび/またはクロージングクレジットセグメントに属する1以上のフレームを識別するメタデータを受信し得る。メタデータは、バージョンに固有のデータ(例えば、エピソード302の特定のバージョン内において特定のセグメントが検出されたか否か等)を含み得る。メタデータストア255は、持続的なストレージであり得る。図4では、メタデータストア255は単一のデータストレージシステムとして図示されているが、メタデータストア255は、複数のコンピュータネットワークおよび/または地理的領域にわたって分散された1以上のストレージ装置を含み得る。
3.3 ビデオ処理ロジック
ビデオ処理コンピュータ210は、ビデオ処理ロジック212を含む。本明細書において詳細に述べるように、ビデオ処理コンピュータ210および/またはビデオ処理ロジック212は、ビデオデータストア230に格納されているモデルエピソードおよび/もしくはテストエピソードを処理し、モデルエピソードについてのメタデータをメタデータストア255から読み出しおよび/もしくは処理し、1以上のエピソード内の対応するセグメントを検出し、並びに/または、どのエピソード内でどのセグメントが検出されたかおよび/もしくはどのフレームが各エピソード内の検出された各セグメントの一部であるかを示すメタデータをメタデータストア255に格納し得る。従って、ビデオ処理コンピュータ210は、ビデオデータストア230および/またはメタデータストア255に結合され得る。
ビデオ処理ロジック212は、ビデオ処理コンピュータ210に結合され、および/またはビデオ処理コンピュータ210によって実行されるソフトウェアおよび/またはハードウェアであり得る。ビデオ処理ロジック212は、単一のコンピュータ(ビデオ処理コンピュータ210)によって実行されるソフトウェアアプリケーション、および/または単一のコンピュータ(ビデオ処理コンピュータ210)に結合されたコンピューティング装置として図示されているが、ビデオ処理ロジック212は、複数のコンピュータによって実行され、および/または複数のコンピュータに結合されていてもよい。例えば、ビデオ処理コンピュータ210は、1以上のコンピュータネットワークおよび/または地理的領域にわたって分散された複数のコンピュータを含んでもよく、ビデオ処理ロジック212は、ビデオデータストア230に格納されている1以上のエピソードを処理するために協働する複数のコンピュータの各々の上で実行されてもよい。
ビデオ処理ロジック212は、本明細書において述べる1以上の処理を行うよう構成された1以上の構成要素を含み得る。例えば、図2では、ビデオ処理ロジック212は、フィンガープリント生成ロジック213、フィンガープリント比較ロジック214、およびセグメント検出ロジック215を含む。ビデオ処理ロジック212および/またはその構成要素の各々は、動作可能に結合され得る。フィンガープリント生成ロジック213、フィンガープリント比較ロジック214、および/またはセグメント検出ロジック215は、ビデオ処理コンピュータ210に結合され、および/またはビデオ処理コンピュータ210によって実行されるソフトウェアおよび/またはハードウェアであり得る。フィンガープリント生成ロジック213、フィンガープリント比較ロジック214、および/またはセグメント検出ロジック215は、同じコンピュータ上で実行されるかのように図示されているが、ビデオ処理ロジック212の構成要素のうちの1以上は、1以上のコンピュータにわたって実行および/または分散されてもよい。本明細書において明確な例を示す目的で、ビデオ処理ロジック212、および/またはビデオ処理ロジック212の構成要素のうちの1以上は、本明細書において述べる1以上の処理を行い得るが、各処理は、ビデオ処理ロジック212によって、および/またはビデオ処理ロジック212の構成要素のうちの1以上によって行われ得る。
ビデオ処理ロジック212、および/またはビデオ処理ロジック212の構成要素のうちの1以上は、専用回路を含み得る。例えば、フィンガープリント生成ロジック213は、専用デジタル画像および/または信号プロセッサを用いて、色分布を生成、テキスト認識処理を実行、および/または顔認識処理を実行し得る。デジタル画像および/または信号プロセッサは、画像を変換する、画像内の特定の色空間の画素を異なる色空間に変換する、画像の色分布を生成する、画像内の特徴および/もしくは文字を検出する、画像上で顔認識処理を行う、複数の画像を比較する、並びに/または複数の画像の特徴を比較するための1組の指示、および/もしくはそれらを行うために有用な1組の指示をサポートするよう配線され、および/もしくは持続的にプログラムされ得る。デジタル画像プロセッサは、これらの処理を、同じ処理を行うために1以上の指示を実行する汎用中央処理装置(「CPU」)(例えば、縮小命令セットコンピューティングプロセッサ等)よりも迅速におよび/または効率的に行い得る。それに加えて、またはその代わりに、ビデオ処理コンピュータ210は、1以上の汎用CPU並びに1以上のデジタル画像および/または信号プロセッサを含み得る。
図4に示されている実施形態では、ビデオデータストア230に格納されているビデオデータは、ビデオ処理コンピュータ210および/またはビデオ処理ロジック212によって処理される。しかし、ビデオ処理コンピュータ210および/またはビデオ処理ロジック212は、1以上の他のストレージシステムに格納されているエピソードを処理してもよい。例えば、エピソードは、ビデオデータストア230からビデオ処理コンピュータ210にコピーされ得る。ビデオ処理ロジック212は、ビデオ処理コンピュータ210上でビデオデータストアを処理して、得られたメタデータをメタデータストア255に格納し得る。
一実施形態において、ビデオ処理コンピュータ210は、本明細書において図6に関して更に記載される技術の任意のものを用いて実装され得る。例えば、ビデオ処理コンピュータは、実行された際に、本明細書において仲介コンピュータについて記載される機能を行わせる1以上のプログラムが格納されるよう構成された汎用コンピュータ、または、これらの機能を実行するよう構成されたデジタルロジックを有する専用コンピュータ、または、他のコンピューティング装置において用いられるデジタルロジックを含み得る。図面は、通信可能に結合された様々な装置および/またはモジュールを示す線を含むが、コンピュータ、装置、モジュール、ストレージ、および構成の各々は、互いに通信可能に結合され得る。一実施形態では、複数のエピソーは、ビデオ処理コンピュータに動作可能に結合されたビデオデータストアに格納され得る。
3.4 ビデオカタログサーバコンピュータ
ビデオカタログサーバコンピュータ250は、コンテンツ配信ネットワーク220内において、特定のエピソード、および/またはエピソードの一部がどのサーバに格納されているかを示すデータを含み得る、またはデータをメタデータストア255から読み出し得る。例えば、クライアントビデオプレイヤーコンピュータ260からの、エピソード302についてのメタデータに対する要求に応答して、ビデオカタログサーバコンピュータ250は、メタデータをクライアントビデオプレイヤーコンピュータ260に送信し得る。メタデータは、クライアントビデオプレイヤーコンピュータ260が、コンテンツ配信ネットワーク220内のビデオサーバコンピュータ240から、エピソード302をダウンロードし得ることを示し得る。それに加えて、またはその代わりに、メタデータは、エピソード302内の1以上のセグメントを識別し得る。
3.5 クライアントビデオプレイヤーコンピュータ
クライアントビデオプレイヤーコンピュータ260は、1以上のビデオサーバコンピュータから受信されるビデオを要求および/またはダウンロードし、そのビデオをユーザに対して表示および/またはを再生する機能があるコンピュータ(例えば、パーソナルコンピュータ、タブレット、ビデオゲームコンソール、および/または本明細書において述べる他の任意のコンピュータ等)であり得る。例えば、クライアントビデオプレイヤーコンピュータ260は、実行された際にユーザが視聴するシリーズのエピソードを選択するのを可能にするアプリケーションを有するタブレットであり得る。特定のエピソード(例えば、エピソード302等)を選択するユーザ入力の受信に応答して、クライアントビデオプレイヤーコンピュータ260は、ビデオカタログサーバコンピュータ250からのメタデータを要求し得る。このメタデータに基づいて、クライアントビデオプレイヤーコンピュータ260は、クライアントビデオプレイヤーコンピュータ260によって格納および/または受信されたメタデータ、1以上の構成設定、および/またはユーザ入力に従ってスキップされるべきセグメントに属さない少なくとも1つのフレームを含むエピソード302内の各ビデオチャンクを要求することによって、エピソード302をダウンロードし得る。
4.0 エピソード間の共通のビデオセグメントを識別するための例示的なプロセス
図4は、例示的な一実施形態における、第1のビデオ内のセグメントに対応する第2のビデオ内のセグメントを検出する処理を示す。明確な例を示す目的で、これらのステップは、1以上の他の図面中の1以上の要素を参照して説明され得るが、他の実施形態において、1以上の他の図面に示されている特定の構成を用いることは必要ではない。
4.1 モデルフィンガープリントを生成する
ステップ410において、ビデオ処理コンピュータは、データストアに格納されている第1のビデオの第1のモデルセグメント内の第1のモデルフレーム内の画素に基づいて、第1のモデルフィンガープリントを生成する。例えば、ビデオ処理ロジック212は、メタデータストア255から、オープニングクレジットセグメントがモデルエピソード301内のモデルフレーム312において開始し、モデルフレーム336において終了することを示すメタデータを受信し得る。フィンガープリント生成ロジック213は、モデルフレーム312についてのモデルフレームフィンガープリントを生成し得る。
本明細書において述べるように、フレームフィンガープリントは、対応するフレーム内の1以上の特徴を表すデータであり得る。フレームフィンガープリントは様々な方法で生成され得る。例えば、フィンガープリント生成ロジック213は、フレームの色分布を生成し得る。フレームフィンガープリントは、色分布を含み得る。それに加えて、またはその代わりに、フィンガープリント生成ロジック213は、フレーム内に顔があるか否かを検出するために、顔認識プログラムおよび/またはモジュールを実行し得る。フレームフィンガープリントは、フレーム内において検出された顔を記述するデータを含み得る。データは、フレーム内において検出された1以上の顔のサイズ、位置、および/または色を示し得る。それに加えて、またはその代わりに、フィンガープリント生成ロジック213は、フレーム内に1以上の線、角、文字、数字、単語、および/または他の任意の特徴および/または文字が記載されているか否かを検出するために、特徴および/または文字認識プログラムを実行し得る。フレームフィンガープリントは、フレーム内において検出された特徴および/または文字を記述するデータを含み得る。
フレームフィンガープリントは、フレーム内の2以上の組の特徴を記述し得る。例えば、フレームフィンガープリントは、フレームについての色分布、フレーム内において1以上の顔が検出されたことを示すデータ、および/または、フレーム内において1以上のテキスト文字が検出されたことを示すデータを含み得る。
4.1.1 色分布を生成する
色分布は、1組の色に対応し、1組の色のうちの各色について、フレーム内にあるその色と同じおよび/またはその色に近い画素の数を示す。明確な例を示す目的で、画像がグレースケール画像であるとすると、各画素は256諧調のグレーのうちの1つであり得、最も暗い諧調のグレー(黒)は数字の0で表され、最も明るい諧調のグレー(白)は数字の255で表される。グレースケール画像についての色分布は、0、1、2、3…255までの各諧調のグレーに割り当てられた画素の数を示し得る。
カラー画像についての色分布が生成され得る。色空間は、或る領域にわたって定義された1組の色である。例えば、RGB色空間は、赤成分、緑成分、および青成分の三成分領域によって定義された1組の色である。HSV色空間は、色相成分、飽和成分、および値成分の三成分領域によって定義された1組の色である。CMYK色空間は、シアン成分、マゼンタ成分、イエロー成分、およびキー(黒)成分の四成分領域によって定義された1組の色である。
色は、色空間内において定義され得る。例えば、色空間は、色成分を囲む山括弧(例えば<A,B,C>等であり、ここで、Aはその色の第1の成分であり、Bはその色の第2の成分であり、Cはその色の第3の成分である)を有するベクトルとして示され得る。
カラー画素を有するフレームについての色分布は、色空間内の特定の色を有する画素の数を示し得る。例えば、色分布は、そのフレーム内にRGB色空間における色<10,20,25>を有する5つの画素があり、そのフレーム内にRGB色空間にける色<0,20,10>を有する7つの画素があり、そのフレーム内にRGB色空間における色<0,0,0>を有する300個の画素があることを示し得る。
フィンガープリント生成ロジック213は、第1の色空間における画素を第2の色空間に変換し、第2の色空間に基づいて色分布を生成し得る。例えば、フィンガープリント生成ロジック213は、RGB空間における画素を有するフレームをHSV空間に変換して、HSV成分に基づく色分布を生成し得る。
4.1.2 スーパー色分布を生成する
スーパー色分布は、フレーム内の1以上の色成分の1以上の色分布で構成され得る、および/またはそれらの色分布を参照し得るものであり、従って、簡潔のために、スーパー色分布は色分布として参照され得る。明確な例を示す目的で、フレームは、HSV空間における画素を含むものとする。フィンガープリント生成ロジック213は、他の成分における値に関係なく、第1の成分(この例では色相成分)に基づく第1の色分布を生成し得る。従って、第1の画素がHSV空間において<10,0,0>であり、第2の画素がHSVにおいて<10,455,255>である場合には、両方の画素が、第1の色分布においては同じ色としてカウントされる。フィンガープリント生成ロジック213は、他の成分における値に関係なく、第2の成分(この例では飽和成分)に基づく第2の色分布も生成し得る。従って、第3の画素がHSV空間において<0,90,0>であり、第4の画素がHSVにおいで<10,90,255>である場合には、両方の画素が、第2の色分布においては同じ色としてカウントされる。フィンガープリント生成ロジック213は、第2の色分布から第1の色分布へとデータを連結させることによって、スーパー色分布を生成し得る。
4.1.3 色および色分布の表現
上記に示した例において、色および色成分は、0〜255の範囲の1以上の整数値で表される。しかし、色および/または色成分は他の方法で表されてもよい。例えば、色および/または色成分は、0〜1(これらの値を含む)の浮動小数点値としての1以上として、表され得る。一実施形態において、色または色成分は、0.0〜1.0(これらの値を含む)から、0〜255(これらの値を含む)の整数値へと変換されてもよく、その逆が行われてもよい。それに加えて、またはその代わりに、色または色成分は、異なる範囲または組の値へと変換され得る。
上記に示した例において、色分布における各色および/または色成分は、0〜255(これらの値を含む)の個々の値であった。しかし、色分布における各色および/または色成分は、値の範囲であってもよい。例えば、色分布における1つの色は、1つの成分の値が或る範囲(例えば、[0.0-0.01)等、ここで、角括弧はその値を含むことを示し、丸括弧はその値を含まないことを示す)である全ての色であり得る。更に、1以上の成分は、例えば、<[0.0-0.01),[0.5-0.6),[0.2-0.3)>等の範囲を有し得る。その範囲内に含まれる色成分を有する画素に割り当てられた各色は、それぞれ、同じ色としてカウントされる。
色分布はヒストグラムとして視覚化され得る。例えば、図1Dは、例示的な一実施形態における、図1Aに示されているフレームの色分布を示すヒストグラムである。図1Dにおいて、下の軸は0〜255(これらの値を含む)の個々の色の範囲を示す。明確な例を示す目的で、図1Aの各画素はRGB空間において定義された色であるものとする。フィンガープリント生成ロジック213は、図1Aの各画素をRGB空間からHSV空間へと変換し得る。フィンガープリント生成ロジック213は、0、1、2、3…255までに割り当てられた色相値を有する変換された画素の数を決定することによって、第1の成分(この例では0〜255の範囲の「色相成分」)に基づく色分布(図1Dにおいてヒストグラムとして図示されている)を生成し得る。従って、図1Dのヒストグラムにおける各垂直線の高さは、特定の色相値を有する変換された画素の数を示す。例えば、図1Dに示されているように、図1Aに示されているフレームは、色相値51が割り当てられた497個の画素を有する。また、例えば、図1Cに示されているフレームに基づくヒストグラムである図1Fでは、色相値40に割り当てられた27個の画素を有する。
4.2 テストフィンガープリントを生成する
図4に戻ると、ステップ420において、ビデオ処理コンピュータは、データストアに格納されている第2のビデオ内の第1のテストフレーム内の画素に基づいて、第1のテストフィンガープリントを生成する。例えば、フィンガープリント生成ロジック213は、本明細書において述べる方法のうちの1以上に従って、フレーム352についてのテストフレームフィンガープリントを生成し得る。
4.3 テストフィンガープリントとモデルフィンガープリントとが一致するか否かを決定する
ステップ430において、ビデオ処理コンピュータは、第1のモデルフィンガープリントと第1のテストフィンガープリントとの間の第1の近さの値を決定する。例えば、フィンガープリント比較ロジック214は、モデルフレーム312について生成されたモデルフレームフィンガープリントとフレーム352について生成されたテストフレームフィンガープリントとを比較することによって、近さの値を生成し得る。
4.3.1 色分布に基づいて近さの値を決定する
近さの値は、比較されるフィンガープリントのタイプに基づいて決定され得る。明確な例を示す目的で、モデルフレームフィンガープリントおよびテストフレームフィンガープリントは、それぞれ、モデルフレーム312およびフレーム352の色分布であるものとする。モデルフレームフィンガープリント(色分布)および/またはテストフレームフィンガープリント(色分布)が対応する1組の色のうちの各色について、フィンガープリント比較ロジック214は、モデル色分布フィンガープリントにおいてその色について見出された画素の数とテスト色分布フィンガープリントにおいてその同じ色について見出された画素の数との間の差分を算出し得る。フィンガープリント比較ロジック214は、各差分についての絶対値を算出し、各絶対値を加算して、デルタ値を生成し得る。フィンガープリント比較ロジック214は、デルタ値を、モデルフレームフィンガープリントを生成するために用いられたモデルフレーム312内の画素の数および/またはテスト色分布フィンガープリントを生成するためのフレーム352内の画素の数によって除算することによって、近さの値を算出し得る。一実施形態において、モデルフレームフィンガープリントを生成するために用いられたモデルフレーム312内の画素の数は、モデルフレーム312内の画素の総数であり、および/または、テスト色分布フィンガープリントを生成するためのフレーム352内の画素の数は、フレーム352内の画素の総数である。
以下の式は、上述の公式を示すものである。
Figure 0006564464
上記の式において、pixelsm,cはモデルフレームおよび/またはモデル色分布m内の特定の色cについての画素の数であり、pixelst,cはテストフレームおよび/またはテスト色分布t内の特定の色cについての画素の数である。分子(本明細書においてはデルタ値とも称する)は、モデルフレーム色分布およびテストフレーム色分布内の各色についてのpixelsm,cとpixelst,cとの間の差分の絶対値の総和である。値total_pixelsは、モデルフレーム色分布および/またはテストフレーム色分布内において表されている画素の総数である。近さの値closenessは、画素の総数total_pixelsに対するデルタ値の割合である。
明確な例を示す目的で、図1Aのフレームはモデルフレーム312を示しており、図1Bのフレームはフレーム362を示しており、図1Cのフレームはフレーム352を示しているものとする。従って、図1Dに示されているヒストグラムはモデルフレーム312の色分布の視覚化であり、図1Eに示されているヒストグラムはフレーム362の色分布の視覚化であり、図1Fに示されているヒストグラムはフレーム352の色分布の視覚化である。図1Dのヒストグラムは図1Eのヒストグラムに類似しており、従って、フィンガープリント比較ロジック214は、モデルフレーム312とフレーム362との間の0に近いおよび/または特定の閾値以下である第1の近さの値を算出し、それに応答して、モデルフレーム312とフレーム362とが一致することを決定し得る。一方、図1Dのヒストグラムは、図1Eのヒストグラムに対するほどには図1Fのヒストグラムに類似しておらず、従って、フィンガープリント比較ロジック214は、モデルフレーム312とフレーム352との間の、第1の近さの値より大きく、0に近くない、および/または特定の閾値以上である第2の近さの値を算出し、それに応答して、モデルフレーム312とフレーム352とが一致しないことを決定し得る。
4.3.2 顔検出に基づいて近さの値を決定する
モデルフレームフィンガープリントおよびテストフレームフィンガープリントが、モデルフレームおよびテストフレーム内においてそれぞれ見出された1以上の顔(あれば)を記述するデータを含む場合には、近さの値は、モデルフレームおよび/またはテストフレーム内において検出された1以上の顔(あれば)に基づき得る。例えば、フィンガープリント比較ロジック214は、モデルフレームフィンガープリントおよびテストフレームフィンガープリントに基づいて、モデルフレームおよびテストフレームの両方において同じ位置および/またはサイズを有する顔の数を示す分子を決定し得る。また、フィンガープリント比較ロジック214は、モデルフレームフィンガープリントおよびテストフレームフィンガープリントに基づいて、モデルフレームおよび/またはテストフレーム内において検出された顔の総数を示す分母を決定し得る。フィンガープリント比較ロジック214は、分子を分母によって除算することによって、近さの値を決定し得る。
4.3.3 特徴認識に基づいて近さの値を決定する
モデルフレームフィンガープリントおよびテストフレームフィンガープリントが、モデルフレームおよびテストフレームにおいてそれぞれ見出された他の特徴を記述している場合には、近さの値は、モデルフレームおよび/またはテストフレーム内において検出された特徴に基づき得る。明確な例を示す目的で、モデルフレームフィンガープリントは、モデルフレーム内において検出された文字(あれば)を識別し、テストフレームフィンガープリントは、テストフレーム内において検出された文字(あれば)を識別するものとする。フィンガープリント比較ロジック214は、モデルフレームフィンガープリントおよびテストフレームフィンガープリントの両方において識別された文字を比較し得る。フィンガープリント比較ロジック214は、モデルフレームフィンガープリントおよびテストフレームフィンガープリントの両方において見出された文字の数をカウントすることにより、分子を決定し得る。フィンガープリント比較ロジック214は、モデルフレームフィンガープリントおよび/またはテストフレームフィンガープリント内の文字の総数を示す分母を計算し得る。フィンガープリント比較ロジック214は、分子を分母によって除算することによって、近さの値を決定し得る。この例は文字認識について述べているが、ビデオ処理ロジック212は、例えば、線、角、および/または画像認識等の他の特徴認識モデルを用いてもよい。
4.3.4 複数の近さの値に基づいて近さベクトルまたは近さの値の集合体を決定する
モデルフレームフィンガープリントおよび/またはテストフレームフィンガープリントが2以上のタイプのフィンガープリントで構成されている場合には、近さの値は、近さの値のベクトルおよび/または近さの値の集合体であり得る。明確な例を示す目的で、モデルフレームフィンガープリントは、色分布と、対応するモデルフレーム内に顔があるか否かを示すデータとを含み、テストフレームフィンガープリントは、色分布と、対応するテストフレーム内に顔があるか否かを示すデータとを含むものとする。フィンガープリント比較ロジック214は、上述のように、モデルフレームフィンガープリントおよびテストフレームフィンガープリント内の色分布に基づいて、第1の近さの値を計算し得る。フィンガープリント比較ロジック214は、モデルフレーム内には存在せずテストフレーム内に存在した顔の数、またはその逆の顔の数を示す第2の近さの値を計算し得る。フィンガープリント比較ロジック214は、2つの近さの値を統合して、近さの値の集合体(例えば、第1の近さの値と第2の近さの値との合計等)にし得る。それに加えて、またはその代わりに、フィンガープリント比較ロジック214は、第1の近さの値と第2の近さの値とをグループ化して、各近さの値がモデルフレームおよび/またはテストフレームと関連づけられたフレームフィンガープリントのタイプに対応する近さの値ベクトルにし得る。
4.4 モデルフレームとテストフレームとが一致する否かを決定する
図4に戻ると、ステップ440において、ビデオ処理コンピュータは、近さの値が特定の閾値以下であるか否かを決定する。近さの値が閾値に等しいおよび/またはより低い場合には、制御はステップ450に進み、そうでない場合には、制御はステップ420に進む。例えば、モデル色分布およびテスト色分布から決定された近さの値が0.0001より低い場合には、フィンガープリント比較ロジック214は、モデルフレームとテストフレームとが一致することを決定して、ステップ450に進み得る。そうでない場合には、フィンガープリント比較ロジック214は、テストエピソード内の次のフレーム(この例では、フレーム354)を取得して、ステップ420に戻り得る。
近さの値が、1以上の他の近さの値のベクトルである場合には、各近さの値は閾値ベクトルと比較され得る。近さの値のベクトル内の1以上の値がそれぞれ、閾値ベクトル内の1以上の値以下である場合には、フィンガープリント比較ロジック214は、モデルフレームとテストフレームとが一致することを決定し得る。
明確な例を示す目的で、近さベクトルは3つの近さの値を含み、第1の近さの値は、モデルフレームフィンガープリントおよびテストフレームフィンガープリントに格納されている色分布に対応し、第2の近さの値は、テストフレーム内において検出された顔に対応しない、モデルフレーム内において検出された顔の総数に対応し、第3の近さの値は、モデルフレームおよびテストフレームの両方においてテキストが見出された場合には1に設定され、そうでない場合には0に設定されるものとする。また、閾値ベクトルは0.0025、0、および0であるものとする。第1の近さの値が0.0025未満であり、および/または、第2のマイナーな近さの値が0に等しく、および/または、第3のマイナーな近さの値が0である場合には、フィンガープリント比較ロジック214は、モデルフレームとテストフレームとが一致することを決定し、そうでない場合には、フィンガープリント比較ロジック214は、モデルフレームとテストフレームとが一致しないことを決定し得る。
表現の便宜上、フィンガープリント比較ロジック214が、本明細書において述べる1以上の方法を用いて、対応するフレームフィンガープリントどうしが互いに近いことを決定した場合に、2つのフレームは「一致する」。2つのフレームフィンガープリントは、2つのフレームフィンガープリントに基づく1以上の近さの値が特定の閾値以下である場合に、近いとされ得る。それに加えて、またはその代わりに、2つのフレームフィンガープリントは、1以上の近さの値が特定の閾値以上である場合に、近いとされ得る。例えば、フィンガープリント比較ロジック214は、対応するモデルフレームフィンガープリントおよびテストフレームフィンガープリント内の値に基づいて、モデルフレームおよびテストフレームの両方にある文字の数を算出し得る。文字の数が特定の閾値(例えば、5)以上である場合には、フィンガープリント比較ロジック214は、モデルフレームフィンガープリントとテストフレームフィンガープリントとが近いことを決定し得る。従って、フィンガープリント比較ロジック214は、モデルフレームとテストフレームとが一致することを決定し得る。
4.5 セグメント境界を決定する
図4に戻ると、ステップ450において、ビデオ処理コンピュータは、第1のテストフレームが第1のセグメントの境界であることを決定する。例えば、フレーム352、フレーム354、フレーム356、およびフレーム362についてのテストフレームフィンガープリントを生成し、各テストフレームについてステップ420〜ステップ440を繰り返した後、フィンガープリント比較ロジック214は、フレーム362がモデルフレーム312と一致することを決定し得る。モデルフレーム312とフレーム362とが一致すると決定されたことに応答して、セグメント検出ロジック215は、フレーム362がセグメントの境界であることを決定し得る。モデルメタデータが、モデルフレーム312がセグメントの開始境界であることを示す場合には、セグメント検出ロジック215は、フレーム362がエピソード302内の同じセグメントの開始境界であることを決定し得る。モデルメタデータが、モデルフレーム312がセグメントの終了境界であることを示す場合には、セグメント検出ロジック215は、フレーム362がエピソード302内の同じセグメントの終了境界であることを決定し得る。
4.5.1 順方向または逆方向検索によってセグメント境界を見出す
一実施形態において、セグメントの開始境界を見出した後、ビデオ処理コンピュータは、同じセグメントの終了境界を見出すために、図2のステップを繰り返し得る。明確な例を示す目的で、モデルメタデータは、現在のセグメントについての終了境界がモデルフレーム336であることを示しているものとする。セグメント検出ロジック215は、フィンガープリント生成ロジック213および/またはフィンガープリント比較ロジック214を介して、セグメント検出ロジック215がモデルフレーム336と一致するテストフレーム(この例ではフレーム374)を見出すまで、セグメントの開始境界であると決定されたテストフレーム(エピソード302内のフレーム362)の後の各テストフレームのテストを繰り返し得る。
それに加えて、またはその代わりに、セグメントの終了境界を見出した後、ビデオ処理コンピュータは、同じセグメントの開始境界を見出すために、図2のステップを繰り返し得る。明確な例を示す目的で、モデルメタデータは、現在のセグメントについての終了境界がモデルフレーム336であることを示し、フィンガープリント比較ロジック214は、フレーム374がモデルフレーム336と一致することを決定するものとする。セグメント検出ロジック215は、フィンガープリント生成ロジック213および/またはフィンガープリント比較ロジック214を介して、セグメント検出ロジック215がモデルフレーム312と一致するテストフレーム(この例ではフレーム362)を見出すまで、セグメントの終了境界であると決定されたテストフレーム(エピソード302内のフレーム374)の前の各テストフレームのテストを繰り返し得る。
4.5.2 時間に基づいてセグメント境界を見出す
一実施形態において、セグメントは、シリーズ内の各エピソードについて同じ量の時間であり得る。例えば、セグメントの開始が、テストエピソード内の第1のタイムスタンプ(例えば00:00:40.00等)に対応するテストフレームであると決定され、モデルエピソードと関連づけられたメタデータが、そのセグメントが10秒間の長さであることを示す場合には、セグメント検出ロジック215は、タイムスタンプ00:00:50.00に対応するフレームが、セグメントの最後のフレーム、即ち終了境界であることを決定し得る。同様に、セグメントの終了が、特定のテストエピソード内の特定のタイムスタンプ(例えば01:20:30.00等)に対応するテストフレームであると決定され、モデルエピソードと関連づけられたメタデータが、そのセグメントが10秒間の長さであることを示す場合には、セグメント検出ロジック215は、タイムスタンプ01:20:20.00に対応するフレームが、セグメントの第1のフレーム、即ち、開始境界であることを決定し得る。
モデルエピソード内のセグメントは、テストエピソードにおいて見出されたセグメントと同じ長さの時間である必要はない。モデルエピソード内のセグメントは、テストエピソードにおいて見出されたセグメントと同じ数のフレームを含む必要はない。例えば、モデルエピソード301内において定義されたセグメントは、エピソード302において見出された対応するセグメントより多くのフレームを含んでもよく、この場合、モデルエピソード301内のセグメントは、エピソード302内のセグメントより長い時間にわたって再生され得る。
4.5.3 エピソード内の2以上のフレームに基づいて開始境界を決定する
ビデオ処理コンピュータは、2以上のモデルフレームを2以上のテストフレームとそれぞれ比較することによってセグメント境界を決定し得る。2以上のモデルフレームおよび2以上のテストフレームは、連続したフレームであり得る。明確な例を示す目的で、モデルフレーム312はセグメントの開始境界であるものとする。モデルフレーム312がフレーム356と一致すると決定したことに応答して、セグメント検出ロジック215は、フィンガープリント生成ロジック213および/またはフィンガープリント比較ロジック214を介して、モデルフレーム314がフレーム362と一致するか否かを決定し得る。モデルフレーム314がフレーム362と一致しないと決定されたことに応答して、セグメント検出ロジック215は、フレーム356がエピソード302内のセグメントの開始境界ではないことを決定し得る。
後続のフレームがモデルエピソード内の第2のモデルフレームと一致しないことを理由に、第1のテストフレームがテストエピソード内のセグメントの開始境界ではないと決定されたことに応答して、ビデオ処理コンピュータは、第1のテストフレームの後にある第2のテストフレームに戻って、第2のテストフレームとモデルエピソード内のセグメントの開始境界にあるモデルフレームとの間の一致を見出し得る。先の例を続けると、モデルフレーム314がフレーム362と一致しない、および/または、フレーム356がエピソード302内のセグメントの開始境界ではないと決定されたことに応答して、セグメント検出ロジック215は、モデルフレーム312がフレーム362と一致するか否かを決定し得る。
ビデオ処理コンピュータが、第1のモデルフレームと第2のテストフレームとが一致することを決定した場合には、ビデオ処理コンピュータは、第2のモデルフレームが第3のテストフレームと一致するか否かを決定し得る。1以上の後続のモデルフレームが1以上の後続のテストフレームとそれぞれ一致することが決定された後、ビデオ処理コンピュータは、第1のモデルフレームと一致する最後のテストフレーム(この例ではフレーム362)、がエピソード302内のセグメントの第1のフレーム、即ち開始境界であることを決定し得る。例えば、モデルフレーム312がフレーム362と一致し、1以上の後続のおよび/または連続するモデルフレームが1以上の後続のおよび/または連続するテストフレームと一致する(例えばモデルフレーム316およびフレーム364等)と決定されたことに応答して、セグメント検出ロジック215は、フレーム362がエピソード302内のセグメントの開始境界であることを決定し得る。
明確な例を示す目的で、モデルエピソードおよびテストエピソード内の1つの更なるフレームを、開始境界を確認するために用いた。しかし、モデルエピソードおよび/またはテストエピソード内の5、10、または他の任意の数のフレームが、開始境界を確認するために用いられ得る。
4.5.4 エピソード内の2以上のフレームに基づいて終了境界を決定する
終了境界も同様にして見出され得るが、1以上の後続のフレームを比較する代わりに、ビデオ処理コンピュータは、セグメントの終了境界を見出すために、1以上の先行するモデルフレームとテストフレームとをそれぞれ比較し得る。明確な例を示す目的で、モデルフレーム336はセグメントの終了境界であるものとする。モデルフレーム336がフレーム376と一致すると決定したことに応答して、セグメント検出ロジック215は、フィンガープリント生成ロジック213および/またはフィンガープリント比較ロジック214を介して、モデルフレーム334がフレーム374と一致するか否かを決定し得る。モデルフレーム334がフレーム374と一致しないと決定されたことに応答して、セグメント検出ロジック215は、フレーム376がエピソード302内のセグメントの終了境界ではないことを決定し得る。
先行するフレームがモデルエピソード内の第2のモデルフレームと一致しないことを理由として、第1のテストフレームがテストエピソード内のセグメントの終了境界ではないと決定されたことに応答して、ビデオ処理コンピュータは、第1のテストフレームの前の第2のテストフレームに戻って、第2のテストフレームとモデルエピソード内のセグメントの終了境界にあるモデルフレームとの間の一致を見出し得る。先の例を続けると、モデルフレーム334がフレーム374と一致しない、および/または、フレーム374がエピソード302内のセグメントの終了境界ではないと決定されたことに応答して、セグメント検出ロジック215は、フィンガープリント生成ロジック213および/またはフィンガープリント比較ロジック214を介して、モデルフレーム336がフレーム374と一致するか否かを決定し得る。
ビデオ処理コンピュータが、第1のモデルフレームと第2のテストフレームとが一致することを決定した場合には、ビデオ処理コンピュータは、第2のモデルフレームが第3のテストフレームと一致するか否かを決定し得る。1以上の先行するモデルフレームが1以上の先行するテストフレームとそれぞれ一致することが決定された後、ビデオ処理コンピュータは、終了境界モデルフレーム(この例ではモデルフレーム336)と一致する最後のテストフレームが、エピソード302内のセグメントの最後のフレーム、即ち終了境界であることを決定し得る。例えば、モデルフレーム336がフレーム374と一致し、1以上の先行するおよび/または連続するモデルフレームが1以上の先行するおよび/または連続するテストフレームと一致する(例えばモデルフレーム334およびフレーム372等)と決定されたことに応答して、セグメント検出ロジック215は、フレーム372がエピソード302内のセグメントの終了境界であることを決定し得る。
明確な例を示す目的で、モデルエピソードおよびテストエピソード内の1つの更なるフレームを、終了境界を確認するために用いた。しかし、モデルエピソードおよび/またはテストエピソード内の5、10、または他の任意の数のフレームが、終了境界を確認するために用いられ得る。
4.5.5 黙示的境界を決定する
セグメントは黙示的境界を有し得る。例えば、第1のモデルフレームのフィンガープリントに関係なく、モデルエピソードと関連づけられたメタデータは、モデルエピソードの開始がオープニングクレジットセグメントの開始境界であることを示し得る。従って、ビデオ処理コンピュータは開始セグメントの開始境界を求めて順に検索する必要はないが、依然として、本明細書において述べる方法の1以上に従って、テストエピソード内のオープニングクレジットセグメントを見出すために、オープニングクレジットセグメントの終了境界を求めてテストエピソードを検索し得る。
一実施形態において、シリーズ内の1以上のエピソードは、新たなコンテンツの前のオープニングクレジットセグメントの前に、前のエピソードを要約する要約セグメントを含み得る。シリーズのエピソードを一気視聴しているユーザは、クライアントビデオプレイヤーコンピュータ260が要約セグメントおよびオープニングクレジットセグメントの両方を自動的にスキップすることを望み得る。しかし、シリーズ内の各エピソードについての要約セグメントは異なり得る。シリーズおよび/またはモデルエピソードと関連づけられたメタデータが、各エピソードの開始がオープニングクレジットセグメントの開始であることを示す場合には、セグメント検出ロジック215は、シリーズ内の各エピソードについてのオープニングクレジットセグメントと共に要約セグメントを含み得る。従って、クライアントビデオプレイヤーコンピュータ260が、オープニングクレジットセグメントをスキップするよう構成される場合には、クライアントビデオプレイヤーコンピュータ260は、シリーズ内の各エピソードの要約セグメントおよびオープニングクレジットセグメントの両方をスキップし得る。
それに加えて、またはその代わりに、最後のモデルフレームのフィンガープリントに関係なく、モデルエピソードと関連づけられたメタデータは、モデルエピソードの最後が、クロージングクレジットセグメントのクロージング境界であることを示し得る。従って、セグメント検出ロジック215は、テストエピソード内のクロージングクレジットセグメントを見出すために、クロージングクレジットセグメントの開始境界を求めて、シリーズ内のテストエピソードを検索し得る。しかし、セグメント検出ロジック215は、クロージングクレジットセグメントの終了境界を求めて、テストエピソードを順に検索する必要はなく、セグメント検出ロジック215は、終了境界はテストエピソード内の最後のフレームであるとし得る。
4.6 エピソード内の複数のセグメントを見出す
モデルエピソードは複数のセグメントを含み得る。例えば、モデルエピソード301と関連づけられたメタデータは、モデルエピソード301がオープニングクレジットセグメントおよびクロージングクレジットセグメントを有することを示し得る。従って、ビデオ処理ロジック212は、本明細書において述べる方法の1以上を用いて、オープニングクレジットエピソード302内のセグメントの開始境界および終了境界、並びにクロージングクレジットエピソード302内のセグメントの開始境界および終了境界を見出し得る。
第1のセグメントの境界を決定するために、第2のセグメントとは異なる基準が用いられ得る。例えば、ビデオ処理ロジック212は、色分布を有するフレームフィンガープリントに基づいて、オープニングクレジットセグメントの境界を決定し得る。しかし、ビデオ処理ロジック212は、色分布、顔検出、およびテキスト検出を有するフレームフィンガープリントに基づいて、エンディングクレジットセグメントの境界を決定し得る。
4.7 任意選択セグメントを決定し、それに対して応答する
モデルエピソードと関連づけられたメタデータは、セグメントが任意選択であることを示し得る。任意選択セグメントは、シリーズ内の各エピソードが含み得るが、含む必要はないセグメントであり得る。例えば、シリーズ内のモデルエピソードはクロージングクレジットセグメントを有し得る。しかし、シリーズ内の1以上のエピソードは、ユーザが視聴することを望み得る、クライアントビデオプレイヤーコンピュータがデフォルトでスキップすべきではない新たなコンテンツ(例えば、ギャグリール等)を含むクロージングクレジットセグメントを含み得る。ビデオ処理ロジック212は、モデルフレームフィンガープリントおよびテストフレームフィンガープリント内の色分布に基づいて、シリーズ内の特定のエピソード内のクロージングクレジットセグメントの境界を決定し得るが、クロージングクレジットセグメントが任意選択であると決定されたことに応答して、ビデオ処理コンピュータは、本明細書において述べる方法の1以上を用いて、クロージングクレジットセグメント内の1以上のフレーム内において顔が検出されたか否かを決定し得る。ビデオ処理ロジック212が1以上の顔を検出した場合には、ビデオ処理ロジック212は、テストエピソードがクロージングクレジットセグメントを含まないこと、および/または、クライアントビデオプレイヤーがそのテストエピソードについてはクロージングクレジットセグメントをスキップすべきではないことを決定して、そのテストエピソードと関連づけられた、そのことを示すメタデータを格納し得る。一実施形態において、ビデオ処理ロジック212は、テストエピソードがクロージングクレジットセグメントを含まないことを示すメタデータを保留してもよく、および/または、含まなくてもよい。従って、クライアントビデオプレイヤーコンピュータ260は、そのテストエピソード内のクロージングビデオセグメントをダウンロードおよび/または再生し得る。
それに加えて、またはその代わりに、モデルエピソードと関連づけられたメタデータが、特定のセグメント(例えばクロージングクレジットセグメント等)が任意選択であることを示す場合には、ビデオ処理コンピュータは、シリーズ内のテストエピソードと関連づけられた、対応するセグメントが任意選択であることを示すメタデータを格納し得る。従って、クライアントビデオプレイヤーコンピュータ(例えば、クライアントビデオプレイヤーコンピュータ260等)は、任意選択クロージングクレジットセグメントの再生を開始するよう構成され得るが、ユーザが特定の量の時間内に特定のボタンを選択しない場合には、クライアントビデオプレイヤーコンピュータ260は、任意選択クロージングクレジットセグメントの残りの部分をスキップしてもよく、および/または、シリーズ内の次のエピソードの再生を開始してもよい。一実施形態において、クライアントビデオプレイヤーコンピュータ260は、クロージングクレジットセグメントを再生すると共に、ユーザに対してボタンを表示するよう構成されてもよく、このボタンが選択された場合には、クライアントビデオプレイヤーコンピュータ260にクロージングクレジットセグメントをスキップし、および/またはシリーズ内の次のエピソードの再生を開始し、選択されない場合には、クライアントビデオプレイヤーコンピュータ260は任意選択クロージングクレジットセグメントを再生し得る。
4.8 メタデータを格納する
ビデオ処理コンピュータは、テストエピソードにおいて見出された1以上のセグメント、各セグメントの境界、および/または、本明細書において述べるようにビデオ処理コンピュータによって決定された1以上の他の特性を識別するための、各テストエピソードと関連づけられたメタデータを生成し得る。例えば、テストエピソード(例えば、エピソード302等)内の開始クレジットセグメントについての境界を決定したことに応答して、ビデオ処理ロジック212は、エピソード302と関連づけられた、エピソード302内のどのフレームがオープニングクレジットセグメントを含むかを示すメタデータを生成して格納し得る。
4.8.1 同じエピソードの異なるバージョンについてのメタデータ
ビデオ処理コンピュータは、モデルエピソードに基づいて、テストエピソード内の1以上のセグメントであって、両方のエピソード内のフレームが同じ特性(例えば解像度、幅、および/または高さ等)を有するテストエピソード内のセグメントを検索し得る。同じテストエピソードの複数のバージョンがビデオデータストアに格納されている場合には、同じエピソードの異なるバージョン内の対応するフレームは同じタイムスタンプおよび/または他の指標値を有し得るので、ビデオ処理サーバコンピュータは、1以上のセグメントを求めてテストエピソードの各バージョンを検索する必要はない。ビデオ処理システムは、或るエピソードの特定のバージョンについて生成されたメタデータを、同じエピソードの1以上のバージョンに関連づけ得る。
例えば、シリーズ内の特定のエピソードの第1のバージョンに基づいて、ビデオ処理ロジック212は、特定のエピソードを識別する特定の1組のメタデータをメタデータストア255に格納し得る。特定の1組のメタデータは、特定のエピソードが、第1のタイムスタンプから第2のタイムスタンプまで(これらのタイムスタンプを含む、または含まない)に対応するフレームを有するオープニングクレジットセグメントを有することを示し得る。クライアントビデオプレイヤーコンピュータ260が、特定のエピソードの第2の異なるバージョンダウンロードおよび/または再生した場合には、クライアントビデオプレイヤーコンピュータ260は、メタデータストア255からの特定の1組のメタデータを要求し得る。従って、クライアントビデオプレイヤーコンピュータ260は、特定の1組のメタデータに基づいて、特定のエピソードの第2の異なるバージョン内の、第1のタイムスタンプおよび第2のタイムスタンプに等しいタイムスタンプおよび/またはそれらの間のタイムスタンプに対応するフレームをスキップしてもよく、および/またはダウンロードしなくてもよい。
5.0 1以上の検出されたセグメントを用いてビデオをクライアントコンピュータに配布するための例示的なプロセス
図5は、例示的な一実施形態における、1以上の共通のビデオセグメントまたは音声セグメントを要求および/または再生せずに、クライアントコンピュータ上においてビデオを再生する処理を示す。ステップ510において、クライアントコンピュータは、第1のビデオタイトルを選択するユーザからの入力を受信し得る。例えば、クライアントビデオプレイヤーコンピュータ260は、エピソード302を選択するユーザからの入力を受信し得る。
ステップ520において、クライアントコンピュータは、第1のビデオタイトルと関連づけられた1組のメタデータを要求する。例えば、クライアントビデオプレイヤーコンピュータ260は、ビデオカタログサーバコンピュータ250からの、エピソード302と関連づけられたメタデータを要求し得る。メタデータは、クライアントビデオプレイヤーコンピュータ260がエピソード302および/またはエピソード302内の1以上のセグメントをダウンロードし得る1以上のサーバコンピュータを識別し得る。
ステップ530において、クライアントコンピュータはメタデータを受信する。例えば、クライアントビデオプレイヤーコンピュータ260は、ビデオカタログサーバコンピュータ250を介して、メタデータストア255に格納されているメタデータを受信し得る。メタデータは、クライアントビデオプレイヤーコンピュータ260がビデオサーバコンピュータ240および/またはコンテンツ配信ネットワーク220からエピソード302をダウンロードし得ることを示し得る。メタデータは、タイムスタンプ01:50:00.00において開始し、タイムスタンプ01:59:32.00において終了する(これらのタイムスタンプを含む)クロージングクレジットセグメントを識別し得る。明確な例を示す目的で、タイムスタンプ01:50:00.00および01:59:32.00は、フレーム362およびフレーム374にそれぞれ対応するものとする。
ステップ540において、クライアントコンピュータは、1以上の特定のビデオセグメントを要求せずに、第1のビデオタイトル内のビデオデータを要求する。例えば、クライアントビデオプレイヤーコンピュータ260は、ビデオサーバコンピュータ240からのエピソード302の、クロージングクレジットセグメントを定義するタイムスタンプの外側にあるタイムスタンプと関連づけられた1以上のチャンク、および/または、それらのタイムスタンプと関連づけられたフレームを含む1以上のチャンクを要求してダウンロードし得る。
クライアントビデオプレイヤーコンピュータ260は、クロージングクレジットセグメントの範囲に含まれるフレームのみを含むエピソード302のビデオチャンクをダウンロードする必要がないことを決定し得る。明確な例を示す目的で、クライアントビデオプレイヤーコンピュータ260は、エピソード302の他のビデオチャンク(ビデオチャンク360)をダウンロードするか否かを決定しているものとする。ビデオチャンク360内の第1のフレームおよび最後のフレームが、クロージングクレジットセグメントと関連づけられたタイムスタンプの範囲(それらのタイムスタンプを含む)に含まれるタイムスタンプに対応すると決定されたことに応答して、クライアントビデオプレイヤーコンピュータ260は、ビデオサーバコンピュータ240からのビデオチャンク360を要求および/またはダウンロードしなくてよい。
クライアントコンピュータが、ビデオチャンク内の1以上のフレームが特定のセグメントの範囲に含まれないことを決定した場合には、クライアントコンピュータは、そのセグメントの範囲に含まれないビデオチャンクをダウンロードしてもよく、および/または、ビデオチャンク内のフレームを再生してもよい。例えば、クライアントビデオプレイヤーコンピュータ260は、ビデオチャンク370が、クロージングクレジットセグメント内である01:59:32.00に対応する第1のフレーム(フレーム372)を有することを決定し得るが、ビデオチャンク370の長さは3秒間であるので、クライアントビデオプレイヤーコンピュータ260は、ビデオチャンク370が、クロージングクレジットセグメントの範囲に含まれない1以上のフレームを含むことを決定し得る。従って、クライアントビデオプレイヤーコンピュータ260は、ビデオチャンク370をダウンロードして、ビデオチャンク370内のクロージングクレジットセグメント境界(01:59:32.00)の後のタイムスタンプに対応するフレーム(この例ではフレーム376を含む)を再生し得る。
5.1 ユーザ入力に基づいてセグメントをスキップする、および/またはダウンロードしない
クライアントコンピュータは、プレイヤーが特定のセグメント(例えば、オープニングクレジットセグメントおよび/またはクロージングクレジットセグメント等)を自動的にスキップすべきであることを示すユーザからの入力を受信し得る。それに応答して、クライアントコンピュータは、エピソードの、スキップされるべきであることをユーザが示した1以上のセグメントに対応するフレームをダウンロードおよび/または再生する必要はない。
5.2 1以上の効果を適用する
クライアントコンピュータは、セグメントの境界において、1以上の視覚的効果および/または聴覚的効果を適用し得る。例えば、クライアントコンピュータは、クライアントコンピュータが特定のセグメントをスキップする前に、クライアントコンピュータがビデオセグメントの開始境界における、または開始境界付近のフレームを再生する際に、1以上のフレームにわたって黒へとフェードしてもよく、および/またはミュートへとフェードしてもよい。それに加えて、またはその代わりに、クライアントコンピュータは、クライアントコンピュータがセグメントの終了境界における、または終了境界付近のフレームを再生する際に、1以上のフレームにわたって黒からフェードしてもよく、および/またはミュートからフェードしてもよい。一実施形態において、クライアントコンピュータは、効果を実行する間に、スキップされるべきセグメント内の1以上のフレームを再生してもよい。
クライアントコンピュータは、スキップされるべきセグメントと関連づけられた他のデータをダウンロードおよび/または処理する必要はない。例えば、クライアントビデオプレイヤーコンピュータ260は、ビデオチャンク350と関連づけられた音声データを要求、ダウンロード、および/または再生し得る。しかし、クライアントビデオプレイヤーコンピュータ260は、ビデオチャンク360と関連づけられた音声データを要求、ダウンロード、および/または再生する必要はない。クライアントビデオプレイヤーコンピュータ260は、ビデオチャンク370と関連づけられた、または、少なくともビデオチャンク370内のクロージングクレジットセグメントの範囲に含まれない1以上のフレームと関連づけられた音声データを要求、ダウンロード、および/または再生し得る。
6.0 実装機構−ハードウェアの概観
一実施形態によれば、本明細書において記載される技術は、1以上の専用コンピューティング装置によって実装される。専用コンピューティング装置は、この技術を実行するために配線されたものであってもよく、または、この技術を実行するよう持続的にプログラムされたデジタル電子装置(例えば、1以上の特定用途向け集積回路(ASIC)もしくはフィールドプログラマブルゲートアレイ(FPGA)等)を含んでもよく、または、ファームウェア、メモリ、他のストレージ、もしくはそれらの組合せ内にあるプログラム指示に従ってこの技術を実行するようプログラムされた1以上の汎用ハードウェアプロセッサを含んでもよい。また、そのような専用コンピューティング装置は、この技術を達成するために、カスタムのハードワイヤードロジック、ASIC、またはFPGAを、カスタムプログラミングと組わせてもよい。専用コンピューティング装置は、この技術を実装するためのハードワイヤードロジックおよび/またはプログラムロジックを組み込んだ、デスクトップコンピュータシステム、可搬型コンピュータシステム、携帯装置、ネットワーキング装置、または他の任意の装置であり得る。
例えば、図6は、本発明の実施形態が実装され得るコンピュータシステム600を示すブロック図である。コンピュータシステム600は、情報を通信するためのバス602または他の通信機構と、情報を処理するためにバス602に結合されたハードウェアプロセッサ604とを含む。ハードウェアプロセッサ604は、例えば、汎用マイクロプロセッサであり得る。
コンピュータシステム600は、情報およびプロセッサ604によって実行される指示を格納するためにバス602に結合された主メモリ606(例えば、ランダムアクセスメモリ(RAM)または他の動的ストレージ装置等)も含む。主メモリ606は、プロセッサ604によって実行される指示の実行中に、一時変数または他の中間情報を格納するためにも用いられ得る。そのような指示は、プロセッサ604がアクセス可能な非一過性のストレージ媒体に格納された際、コンピュータシステム600を、指示において指定されている処理を実行するようカスタマイズされた専用マシンにする。
コンピュータシステム600は、プロセッサ604のための静的な情報および指示を格納するためにバス602に結合された読み出し専用メモリ(ROM)608または他の静的ストレージ装置を更に含む。情報および指示を格納するために、例えば、磁気ディスクまたは光ディスク等のストレージ装置610が設けられて、バス602に結合される。
コンピュータシステム600は、コンピュータのユーザに対して情報を表示するために、バス602を介してディスプレイ612(例えば、陰極線管(CRT)等)に結合され得る。情報およびコマンド選択をプロセッサ604に通信するために、英数字キーおよび他のキーを含む入力装置614がバス602に結合される。別のタイプのユーザ入力装置は、方向情報およびコマンド選択をプロセッサ604に通信するため、およびディスプレイ612上におけるカーソルの動きを制御するためのカーソル制御616(例えば、マウス、トラックボール、またはカーソル方向キー等)である。この入力装置は、典型的には、装置が平面内の位置を指定するのを可能にする2つの軸(第1の軸(例えば、x)および第2の軸(例えば、y))における2自由度を有する。
コンピュータシステム600は、カスタマイズされたハードワイヤードロジック、1以上のASICもしくはFPGA、ファームウェア、および/または、コンピュータシステムと組み合わせてコンピュータシステム600を専用マシンとして機能させるまたはプログラムするプログラムロジックを用いて、本明細書において記載される技術を実装し得る。一実施形態によれば、本明細書における技術は、主メモリ606に収容されている1以上の指示の1以上のシーケンスをプロセッサ604が実行することに応答して、コンピュータシステム600によって行われる。そのような指示は、別のストレージ媒体(例えば、ストレージ装置610等)から主メモリ606に読み込まれ得る。主メモリ606に収容されている指示のシーケンスの実行は、プロセッサ604に、本明細書において記載された処理ステップを行わせる。別の実施形態では、ソフトウェア指示の代わりに、またはそれと組み合わせて、ハードワイヤード回路が用いられ得る。
本明細書において用いられる「ストレージ媒体」という用語は、マシンを特定の方法で動作させるデータおよび/または指示を格納する任意の非一過性の媒体を指す。そのようなストレージ媒体は、不揮発性媒体および/または揮発性媒体を含み得る。不揮発性媒体は、例えば、光ディスクまたは磁気ディスク(例えばストレージ装置610等)を含む。揮発性媒体は、動的メモリ(例えば、主メモリ606等)を含む。ストレージ媒体の一般的な形態としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープまたは他の任意の磁気データストレージ媒体、CD−ROM、他の任意の光データストレージ媒体、穴のパターンを有する任意の物理的媒体、RAM、PROM、およびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリチップまたはカートリッジが挙げられる。
ストレージ媒体は伝送媒体とは区別されるが、伝送媒体と関連して用いられ得る。伝送媒体は、ストレージ媒体間での情報の転送に関与する。例えば、伝送媒体は、バス602を構成するワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。伝送媒体は、例えば電波データ通信および赤外線データ通信において生成されるような音響波または光波の形態もとり得る。
1以上の指示の1以上のシーケンスを、実行のためにプロセッサ604へと搬送することには、様々な形態の媒体が関与し得る。例えば、指示は、まず、リモートコンピュータの磁気ディスクまたはソリッドステートドライブ上で搬送され得る。リモートコンピュータは、指示をリモートコンピュータの動的メモリにロードして、モデムを用いて電話回線を介して指示を送信し得る。コンピュータシステム600に対してローカルなモデムは、電話回線上のデータを受信し、赤外線送信器を用いて、データを赤外線信号に変換し得る。赤外線検出器は、赤外線信号において搬送されたデータを受信し、適切な回路が、データをバス602上に配置し得る。バス602は、データを主メモリ606へと搬送し、そこから、プロセッサ604が指示を読み出して実行する。主メモリ606が受け取った指示は、プロセッサ604による実行前または実行後に、必要に応じてストレージ装置610に格納され得る。
コンピュータシステム600は、バス602に接続された通信インターフェース618も含む。通信インターフェース618は、ローカルネットワーク622に接続されたネットワークリンク620に接続する双方向データ通信を提供する。例えば、通信インターフェース618は、総合デジタル通信網(ISDN)カード、ケーブルモデム、衛星モデム、または対応するタイプの電話回線へのデータ通信接続を提供するモデムであり得る。別の例として、通信インターフェース618は、適合するLANへのデータ通信接続を提供するローカルエリアネットワーク(LAN)カードであり得る。無線リンクも実装され得る。そのような任意の実装において、通信インターフェース618は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
ネットワークリンク620は、典型的には、1以上のネットワークを介した他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク620は、ローカルネットワーク622を介して、ホストコンピュータ624への、またはインターネットサービスプロバイダ(ISP)626によって運営されているデータ装置への接続を提供し得る。ISP626は、現在では一般的に「インターネット」628と称される世界規模のパケットデータ通信網を介したデータ通信サービスを提供する。ローカルネットワーク622およびインターネット628は共に、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を用いる。コンピュータシステム600へのおよびコンピュータシステム600からのデジタルデータを搬送する、様々なネットワークを通る信号、並びに、ネットワークリンク620上および通信インターフェース618を通る信号は、伝送媒体の例示的な形態である。
コンピュータシステム600は、ネットワーク、ネットワークリンク620、および通信インターフェース618を介して、メッセージを送信し、データ(プログラムコードを含む)を受信し得る。インターネットの例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622、および通信インターフェース618を介して、アプリケーションプログラムのための要求されたコードを送信し得る。
受信されたコードは、受信された際にプロセッサ604によって実行され得るか、および/または、後で実行するためにストレージ装置610もしくは他の不揮発性ストレージに格納され得る。
上記の明細書において、本発明の実施形態を、実装毎に異なり得る多くの具体的な詳細を参照して説明した。従って、明細書および図面は、本発明を限定するものではなく、説明するものと見なされるべきである。本発明の範囲、および本発明の範囲であることが出願人によって意図されるものは、本願の特許請求の範囲が発行される特定の形態における、その後の修正(あれば)を含む、本願の特許請求の範囲の文言およびその等価の範囲のみによって示される。
7.0 本開示の他の態様
上記の明細書において、本発明の実施形態を、実装毎に異なり得る多くの具体的な詳細を参照して説明した。従って、本発明であるもの、および、出願人が本発明であると意図するものは、本願の特許請求の範囲が発行される特定の形態における、その後の修正(あれば)を含む、本願の1組の請求項のみによって示される。そのような特許請求の範囲に含まれる用語について、本明細書において明示的に述べられている定義はいずれも、特許請求の範囲において用いられているそのような用語の意味を支配するものである。よって、特許請求の範囲において明示的に述べられていないいかなる限定、要素、特性、特徴、長所、または属性も、そのような特許請求の範囲を決して限定すべきではない。従って、明細書および図面は、本発明を限定するものではなく、説明するものであると見なされるべきである。
本明細書に記載された主題の複数の態様を、以下の番号を付した項において述べる。
1.第1のビデオおよび該第1のビデオと関連づけられた第2のビデオを格納するデータストアと、前記データストアに結合されたコンピュータプロセッサであって、前記データストアに格納されている前記第1のビデオの第1のモデルセグメント内の第1のモデルフレーム内の画素に基づいて、前記第1のビデオの第1のモデルフィンガープリントを生成し、前記データストアに格納されている前記第2のビデオ内の第1のテストフレーム内の画素に基づいて、前記第2のビデオの第1のテストフィンガープリントを生成し、前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントとの間の第1の近さの値を決定し、前記第1の近さの値に基づいて、前記第1のテストフレームが、前記第1のビデオ内の前記第1のモデルセグメントに類似している前記第2のビデオ内の第1のセグメントの第1の境界であるか否かを決定するようプログラムされたコンピュータプロセッサとを含むことを特徴とするビデオ処理システム。
2.前記コンピュータプロセッサが、前記第1のテストフレームが前記第1の境界であると決定されたことに応答して、前記第1の境界が前記第2のビデオ内の前記第1のセグメントの終了境界であるか否かを決定し、肯定された場合には、前記終了境界を示す値を、前記第2のビデオを再生するよう構成されたクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、前記値が、前記ビデオプレイヤーに前記終了境界までスキップさせる、項1に記載のビデオ処理システム。
3.前記コンピュータプロセッサが、前記第1のテストフレームが前記第1の境界であると決定されたことに応答して、前記第1の境界が前記第2のビデオ内の前記第1のセグメントの開始境界であるか否かを決定し、肯定された場合には、前記開始境界を示す値を、前記第2のビデオを再生するよう構成されたクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、前記値が、前記ビデオプレイヤーに、前記第2のビデオの再生を停止させ、前記第1のビデオと関連づけられた第3のビデオを要求させ、ユーザのために前記第3のビデオの再生を開始させる、項1〜2に記載のビデオ処理システム。
4.前記コンピュータプロセッサが、前記データストアに格納されている前記第1のビデオの前記第1のモデルセグメント内の第2のモデルフレーム内の画素に基づいて、第2のモデルフィンガープリントを生成し、前記データストアに格納されている前記第2のビデオ内の第2のテストフレーム内の画素に基づいて、第2のテストフィンガープリントを生成し、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントとの間の第2の近さの値を決定し、前記第1の境界が前記第2のビデオ内の前記第1のセグメントの開始境界であり、第2の境界が前記第2のビデオ内の前記第1のセグメントの終了境界であり、前記第2の近さの値に基づいて、前記第2のテストフレームが前記第2のビデオ内の前記第1のセグメントの前記第2の境界であるか否かを決定し、前記第1のテストフレームが前記第1の境界であり、且つ、前記第2のテストフレームが前記第2の境界であると決定されたことに応答して、前記開始境界を示す第1の値および前記終了境界を示す第2の値をクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、前記第1の値および前記第2の値が、前記ビデオプレイヤーが前記開始境界に到達した際に、前記ビデオプレイヤーに前記第2のビデオ内の前記終了境界までスキップさせる、項1〜3に記載のビデオ処理システム。
5.前記コンピュータプロセッサが、前記第1のモデルフレーム内の第1の組のモデル画素に基づいて、第1のモデル色分布であって、該第1のモデル色分布内の各特定の色が、該特定の色が割り当てられた前記第1の組のモデル画素内の画素の数を示す値と関連づけられた、第1のモデル色分布を決定することによって、前記第1のモデルフィンガープリントを生成し、前記第1のテストフレーム内の第1の組のテスト画素に基づいて、第1のテスト色分布であって、該第1のテスト色分布内の各特定の色が、該特定の色が割り当てられた前記第1の組のテスト画素内の画素の数を示す値と関連づけられた、第1のテスト色分布を決定することによって、前記第1のテストフィンガープリントを生成するようプログラムされた、項1〜4に記載のビデオ処理システム。
6.前記コンピュータプロセッサが、1組の差分値であって、該1組の差分値内の各差分値が或る色に対応しており、前記第1のテスト色分布内の前記色が割り当てられた画素の数と比較した前記第1のモデル色分布内の前記色が割り当てられた画素の数を示す、1組の差分値を決定し、前記1組の差分値内の各差分値を加算することによって総和を決定し、前記総和を前記第1の組のモデル画素内の画素の数によって除算することによって、前記第1の近さの値を決定するようプログラムされた、項1〜5に記載のビデオ処理システム。
7.前記コンピュータプロセッサが、前記第1のモデル色分布を前記第1のモデルフィンガープリントとして前記データストアに格納するようプログラムされた、項1〜6に記載のビデオ処理システム。
8.前記コンピュータプロセッサが、前記第1の組のモデル画素および前記第1の組のテスト画素からの第1の色空間内の各画素の1以上の第1の色成分を、前記第1の色空間とは異なる第2の色空間において定義される1以上の第2の色成分に変換し、前記第1の組のモデル画素内の各画素の前記1以上の第2の色成分に基づいて、前記第1のモデル色分布を決定し、前記第1の組のテスト画素内の各画素の前記1以上の第2の色成分に基づいて、前記第1のテスト色分布を決定するようプログラムされた、項1〜7に記載のビデオ処理システム。
9.前記コンピュータプロセッサが、前記データストアに格納されている前記第1のビデオの前記第1のモデルセグメント内の、前記第1のモデルフレームとは異なる第2のモデルフレーム内の画素に基づいて、第2のモデルフィンガープリントを生成し、前記第2のビデオ内の第2のテストフレーム内の画素に基づいて、第2のテストフィンガープリントを生成し、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントとの間の第2の近さの値を決定し、前記第2のビデオ内の第1のセグメントが前記第1のビデオ内の前記第1のモデルセグメントに類似しており、前記第2の近さの値に基づいて、前記第1のテストフレームが前記第2のビデオ内の前記第1のセグメントの第1の境界であるか否かを決定するようプログラムされた、項1〜8に記載のビデオ処理システム。
10.前記コンピュータプロセッサが、前記第1の近さの値および前記第2の近さの値の両方が特定の閾値より低い場合に、前記第1のフレームが前記第2のビデオ内の前記第1のセグメントの前記第1の境界であると決定するようプログラムされた、項1〜9に記載のビデオ処理システム。
11.前記コンピュータプロセッサが、前記第1のテストフレーム内に顔があるか否かを検出し、前記第1のフレーム内において顔が検出されたと決定されたことに応答して、クライアントコンピュータ上のビデオプレイヤーからの、前記第1のテストフレームにおいて開始する前記第1のセグメントを前記ビデオプレイヤーがスキップしてもよいことを示すデータを保留するようプログラムされた、項1〜10に記載のビデオ処理システム。
12.前記第1のモデルフレームが、前記第1のテストフレームと同じ数の画素を有する、項1〜11に記載のビデオ処理システム。
13.実行された際に、1以上のプロセッサに、項1〜12に記載されている特徴のうちの任意のものを行わせる指示の1以上のシーケンスを格納していることを特徴とする非一過性のコンピュータ可読データストレージ媒体。
14.1以上のプロセッサ上において実装された際に、項1〜12に記載されている特徴のうちの任意のものを実行する指示を含むことを特徴とするコンピュータプログラム製品。
15.1以上のプロセッサ上において実装された際に、項1〜12に記載されている特徴のうちの任意のものを実行することを特徴とする方法。
16.1以上のコンピューティング装置によって行われる、クライアントコンピュータ上で再生するためにサーバコンピュータからのビデオを要求する方法であって、第2のビデオタイトルと関連づけられ、該第2のビデオタイトルと共通の1以上のビデオセグメントを含む第1のビデオタイトルを選択するユーザからの入力を受信する工程と、前記サーバコンピュータからの、前記第1のビデオタイトルと関連づけられた、スキップされてよい1以上の共通のセグメントを示す1組のメタデータを要求する工程と、前記第1のビデオタイトルと関連づけられた前記メタデータを受信し、それに応答して、前記1以上の共通のビデオセグメント内に含まれるフレームを含む1以上の第2のビデオチャンクを要求せずに、前記第1のビデオタイトルと関連づけられた1以上の第1のビデオチャンクを要求する工程とを含むことを特徴とする方法。
17.前記1以上の第2のビデオチャンクと関連づけられた第2の組の音声データを要求せずに、前記1以上の第1のビデオチャンクと関連づけられた第1の組の音声データを要求する工程を含む、項16記載の方法。
18.前記第1のビデオタイトルと関連づけられたビデオおよび音声を再生する工程と、前記スキップされてよい1以上の共通のセグメントの各境界において1以上の視覚的効果および1以上の聴覚的効果を適用する工程とを含む、項16〜17記載の方法。
19.実行された際に、1以上のプロセッサに、項16〜18に記載されている方法のうちの任意のものを行わせる指示の1以上のシーケンスを格納していることを特徴とする非一過性のコンピュータ可読データストレージ媒体。
20.1以上のプロセッサ上において実装された際に、項16〜18に記載されている方法のうちの任意のものを実行する指示を含むことを特徴とするコンピュータプログラム製品。
21.項16〜18に記載されている方法のうちの任意のものを行うよう構成されたプロセッサを有することを特徴とするコンピューティング装置。
22.メモリと、前記メモリに結合された1以上のプロセッサと、前記1以上のプロセッサおよび前記メモリに結合されたフィンガープリント生成ロジックであって、第1のビデオのモデルセグメント内の第1のモデルフレーム内の画素に基づいて、前記第1のビデオの第1のモデルフィンガープリントを生成し、第1のテストフレーム内の画素に基づいて、第2のビデオの第1のテストフィンガープリントを生成するよう構成されたフィンガープリント生成ロジックと、前記メモリおよび前記1以上のプロセッサに結合されたフィンガープリント比較ロジックであって、前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントとの間の第1の近さの値を決定するよう構成されたフィンガープリント比較ロジックと、前記メモリおよび前記1以上のプロセッサに結合されたセグメント検出ロジックであって、前記第1の近さの値に基づいて、前記第1のテストフレームが前記第2のビデオ内のセグメントの第1の境界であることを決定するよう構成されたセグメント検出ロジックとを含むことを特徴とする、デジタルビデオ配布システム。
23.前記フィンガープリント生成ロジックが、前記第1のビデオの前記モデルセグメント内の第2のモデルフレーム内の画素に基づいて、前記第1のビデオの第2のモデルフィンガープリントを生成し、前記第2のビデオ内の第2のテストフレーム内の画素に基づいて、前記第2のビデオの第2のテストフィンガープリントを生成するよう構成され、前記フィンガープリント比較ロジックが、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントとの間の第2の近さの値を決定するよう構成され、前記セグメント検出ロジックが、前記第2の近さの値に基づいて、前記第2のテストフレームが前記第2のビデオ内の前記セグメントの第2の境界であることを決定するよう構成された、項22記載のデジタルビデオ配布システム。
24.前記セグメント検出ロジックに結合されたストレージを含み、前記セグメント検出ロジックが、前記ストレージ内にある前記第2のビデオと関連づけられた1組のメタデータであって、前記第1のテストフレームが前記第2のビデオ内の前記セグメントの前記第1の境界であり、且つ、前記第2のテストフレームが前記第2のビデオ内の前記セグメントの前記第2の境界であることを示すメタデータを格納するよう構成された、項22〜23記載のデジタルビデオ配布システム。
25.前記ストレージに結合されたビデオカタログサーバコンピュータを含み、該ビデオカタログサーバコンピュータが、クライアントビデオプレイヤーコンピュータからの、前記第2のビデオと関連づけられたメタデータに対する要求を受信し、それに応答して、前記第2のビデオと関連づけられた前記1組のメタデータを読み出し、前記1組のメタデータを前記クライアントビデオプレイヤーコンピュータに送信するよう構成された、項22〜24記載のデジタルビデオ配布システム。
26.前記クライアントビデオプレイヤーコンピュータが、1以上のコンピュータネットワークを介して前記ビデオカタログサーバコンピュータに結合されており、前記1組のメタデータにおいて識別されている前記第2のビデオ内の前記セグメントの少なくとも一部を要求、ダウンロード、または再生せずに、前記第2のビデオを再生するよう構成された、項22〜25記載のデジタルビデオ配布システム。
27.実行された際に、1以上のプロセッサに、項22〜25に記載されている特徴のうちの任意のものを行わせる指示の1以上のシーケンスを格納していることを特徴とする非一過性のコンピュータ可読データストレージ媒体。
28.1以上のプロセッサ上において実装された際に、項22〜25に記載されている特徴のうちの任意のものを実行する指示を含むことを特徴とするコンピュータプログラム製品。
29.1以上のプロセッサ上において実装された際に、項22〜25に記載されている特徴のうちの任意のものを実行することを特徴とする方法。
200 デジタルビデオ配布システム
210 ビデオ処理コンピュータ
212 ビデオ処理ロジック
213 フィンガープリント生成ロジック
214 フィンガープリント比較ロジック
215 セグメント検出ロジック
220 コンテンツ配信ネットワーク
230 ビデオデータストア
240 ビデオサーバコンピュータ
250 ビデオカタログサーバコンピュータ
255 メタデータストア
260 クライアントビデオプレイヤーコンピュータ
600 コンピュータシステム

Claims (20)

  1. 第1のビデオおよび該第1のビデオと関連づけられた第2のビデオを格納するデータストアと、
    前記データストアに結合されたコンピュータプロセッサであって、
    前記データストアに格納されている前記第1のビデオの第1のモデルセグメント内の第1のモデルフレーム内の画素に基づいて、前記第1のビデオの第1のモデルフィンガープリントを生成し、
    前記データストアに格納されている前記第2のビデオ内の第1のテストフレーム内の画素に基づいて、前記第2のビデオの第1のテストフィンガープリントを生成し、
    前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントに含まれる類似する項目の数の前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントに含まれる全項目数に対する比に基づいて、前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントとの間の第1の近さの値を決定し、
    前記第1の近さの値に基づいて、前記第1のテストフレームが、前記第1のビデオ内の前記第1のモデルセグメントに類似している前記第2のビデオ内の第1のセグメントの第1の境界であるか否かを決定する
    ようプログラムされたコンピュータプロセッサと
    を含むことを特徴とするビデオ処理システム。
  2. 前記コンピュータプロセッサが、前記第1のテストフレームが前記第1の境界であると決定されたことに応答して、前記第1の境界が前記第2のビデオ内の前記第1のセグメントの終了境界であるか否かを決定し、肯定された場合には、前記終了境界を示す値を、前記第2のビデオを再生するよう構成されたクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、前記値が、前記ビデオプレイヤーに前記終了境界までスキップさせる、請求項1記載のビデオ処理システム。
  3. 前記コンピュータプロセッサが、
    前記第1のテストフレームが前記第1の境界であると決定されたことに応答して、前記第1の境界が前記第2のビデオ内の前記第1のセグメントの開始境界であるか否かを決定し、肯定された場合には、前記開始境界を示す値を、前記第2のビデオを再生するよう構成されたクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、前記値が、前記ビデオプレイヤーに、前記第2のビデオの再生を停止させ、前記第1のビデオと関連づけられた第3のビデオを要求させ、ユーザのために前記第3のビデオの再生を開始させる、請求項1記載のビデオ処理システム。
  4. 前記コンピュータプロセッサが、
    前記データストアに格納されている前記第1のビデオの前記第1のモデルセグメント内の第2のモデルフレーム内の画素に基づいて、第2のモデルフィンガープリントを生成し、
    前記データストアに格納されている前記第2のビデオ内の第2のテストフレーム内の画素に基づいて、第2のテストフィンガープリントを生成し、
    前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントに含まれる類似する項目の数の前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントに含まれる全項目数に対する比に基づいて、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントとの間の第2の近さの値を決定し、
    前記第1の境界が前記第2のビデオ内の前記第1のセグメントの開始境界であり、第2の境界が前記第2のビデオ内の前記第1のセグメントの終了境界であり、前記第2の近さの値に基づいて、前記第2のテストフレームが前記第2のビデオ内の前記第1のセグメントの前記第2の境界であるか否かを決定し、
    前記第1のテストフレームが前記第1の境界であり、且つ、前記第2のテストフレームが前記第2の境界であると決定されたことに応答して、前記開始境界を示す第1の値および前記終了境界を示す第2の値をクライアントコンピュータ上のビデオプレイヤーに送信するようプログラムされ、
    前記第1の値および前記第2の値が、前記ビデオプレイヤーが前記開始境界に到達した際に、前記ビデオプレイヤーに前記第2のビデオ内の前記終了境界までスキップさせる、請求項1記載のビデオ処理システム。
  5. 前記コンピュータプロセッサが、
    前記第1のモデルフレーム内の第1の組のモデル画素に基づいて、第1のモデル色分布であって、該第1のモデル色分布内の各特定の色が、該特定の色が割り当てられた前記第1の組のモデル画素内の画素の数を示す値と関連づけられた、第1のモデル色分布を決定することによって、前記第1のモデルフィンガープリントを生成し、
    前記第1のテストフレーム内の第1の組のテスト画素に基づいて、第1のテスト色分布であって、該第1のテスト色分布内の各特定の色が、該特定の色が割り当てられた前記第1の組のテスト画素内の画素の数を示す値と関連づけられた、第1のテスト色分布を決定することによって、前記第1のテストフィンガープリントを生成する
    ようプログラムされた、請求項1記載のビデオ処理システム。
  6. 前記コンピュータプロセッサが、
    1組の差分値であって、該1組の差分値内の各差分値が或る色に対応しており、前記第1のテスト色分布内の前記色が割り当てられた画素の数と比較した前記第1のモデル色分布内の前記色が割り当てられた画素の数を示す、1組の差分値を決定し、
    前記1組の差分値内の各差分値を加算することによって総和を決定し、
    前記総和を前記第1の組のモデル画素内の画素の数によって除算することによって、前記第1の近さの値を決定する
    ようプログラムされた、請求項5記載のビデオ処理システム。
  7. 前記コンピュータプロセッサが、前記第1のモデル色分布を前記第1のモデルフィンガープリントとして前記データストアに格納するようプログラムされた、請求項5記載のビデオ処理システム。
  8. 前記コンピュータプロセッサが、
    前記第1の組のモデル画素および前記第1の組のテスト画素からの第1の色空間内の各画素の1以上の第1の色成分を、前記第1の色空間とは異なる第2の色空間において定義される1以上の第2の色成分に変換し、
    前記第1の組のモデル画素内の各画素の前記1以上の第2の色成分に基づいて、前記第1のモデル色分布を決定し、
    前記第1の組のテスト画素内の各画素の前記1以上の第2の色成分に基づいて、前記第1のテスト色分布を決定する
    ようプログラムされた、請求項5記載のビデオ処理システム。
  9. 前記コンピュータプロセッサが、
    前記データストアに格納されている前記第1のビデオの前記第1のモデルセグメント内の、前記第1のモデルフレームとは異なる第2のモデルフレーム内の画素に基づいて、第2のモデルフィンガープリントを生成し、
    前記第2のビデオ内の第2のテストフレーム内の画素に基づいて、第2のテストフィンガープリントを生成し、
    前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントに含まれる類似する項目の数の前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントに含まれる全項目数に対する比に基づいて、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントとの間の第2の近さの値を決定し、
    前記第2のビデオ内の第1のセグメントが前記第1のビデオ内の前記第1のモデルセグメントに類似しており、前記第2の近さの値に基づいて、前記第1のテストフレームが前記第2のビデオ内の前記第1のセグメントの第1の境界であるか否かを決定する
    ようプログラムされた、請求項1記載のビデオ処理システム。
  10. 前記コンピュータプロセッサが、前記第1の近さの値および前記第2の近さの値の両方が特定の閾値より低い場合に、前記第1のフレームが前記第2のビデオ内の前記第1のセグメントの前記第1の境界であると決定するようプログラムされた、請求項9記載のビデオ処理システム。
  11. 前記コンピュータプロセッサが、
    前記第1のテストフレーム内に顔があるか否かを検出し、
    前記第1のフレーム内において顔が検出されたと決定されたことに応答して、クライアントコンピュータ上のビデオプレイヤーからの、前記第1のテストフレームにおいて開始する前記第1のセグメントを前記ビデオプレイヤーがスキップしてもよいことを示すデータを保留する
    ようプログラムされた、請求項1記載のビデオ処理システム。
  12. 前記第1のモデルフレームが、前記第1のテストフレームと同じ数の画素を有する、請求項1記載のビデオ処理システム。
  13. 1以上のコンピューティング装置によって行われる、クライアントコンピュータ上で再生するためにサーバコンピュータからのビデオを要求する方法であって、
    第2のビデオタイトルと関連づけられ、該第2のビデオタイトルと共通の1以上のビデオセグメントを含む第1のビデオタイトルを選択するユーザからの入力を受信する工程であって、該共通の1以上のビデオセグメントは、該第1のビデオタイトルに関連づけられた第1のフィンガープリントと該第2のビデオタイトルに関連づけられた第2のフィンガープリントとに含まれる類似する項目の数の該第1のフィンガープリントと該第2のフィンガープリントとに含まれる項目の合計数に対する比に基づいた近さの値を使って、共通であると決定されるものである、工程と、
    前記サーバコンピュータからの、前記第1のビデオタイトルと関連づけられた、スキップされてよい1以上の共通のセグメントを示す1組のメタデータを要求する工程と、
    前記第1のビデオタイトルと関連づけられた前記メタデータを受信し、それに応答して、前記1以上の共通のビデオセグメント内に含まれるフレームを含む1以上の第2のビデオチャンクを要求せずに、前記第1のビデオタイトルと関連づけられた1以上の第1のビデオチャンクを要求する工程と
    を含むことを特徴とする方法。
  14. 前記1以上の第2のビデオチャンクと関連づけられた第2の組の音声データを要求せずに、前記1以上の第1のビデオチャンクと関連づけられた第1の組の音声データを要求する工程を含む、請求項13記載の方法。
  15. 前記第1のビデオタイトルと関連づけられたビデオおよび音声を再生する工程と、前記スキップされてよい1以上の共通のセグメントの各境界において1以上の視覚的効果および1以上の聴覚的効果を適用する工程とを含む、請求項13記載の方法。
  16. メモリと、
    前記メモリに結合された1以上のプロセッサと、
    前記1以上のプロセッサおよび前記メモリに結合されたフィンガープリント生成ロジックであって、第1のビデオのモデルセグメント内の第1のモデルフレーム内の画素に基づいて、前記第1のビデオの第1のモデルフィンガープリントを生成し、第1のテストフレーム内の画素に基づいて、第2のビデオの第1のテストフィンガープリントを生成するよう構成されたフィンガープリント生成ロジックと、
    前記メモリおよび前記1以上のプロセッサに結合されたフィンガープリント比較ロジックであって、前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントに含まれる類似する項目の数の前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントに含まれる全項目数に対する比に基づいて、前記第1のモデルフィンガープリントと前記第1のテストフィンガープリントとの間の第1の近さの値を決定するよう構成されたフィンガープリント比較ロジックと、
    前記メモリおよび前記1以上のプロセッサに結合されたセグメント検出ロジックであって、前記第1の近さの値に基づいて、前記第1のテストフレームが前記第2のビデオ内のセグメントの第1の境界であることを決定するよう構成されたセグメント検出ロジックと
    を含むことを特徴とする、デジタルビデオ配布システム。
  17. 前記フィンガープリント生成ロジックが、前記第1のビデオの前記モデルセグメント内の第2のモデルフレーム内の画素に基づいて、前記第1のビデオの第2のモデルフィンガープリントを生成し、前記第2のビデオ内の第2のテストフレーム内の画素に基づいて、前記第2のビデオの第2のテストフィンガープリントを生成するよう構成され、
    前記フィンガープリント比較ロジックが、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントに含まれる類似する項目の数の前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントに含まれる全項目数に対する比に基づいて、前記第2のモデルフィンガープリントと前記第2のテストフィンガープリントとの間の第2の近さの値を決定するよう構成され、
    前記セグメント検出ロジックが、前記第2の近さの値に基づいて、前記第2のテストフレームが前記第2のビデオ内の前記セグメントの第2の境界であることを決定するよう構成された、
    請求項16記載のデジタルビデオ配布システム。
  18. 前記セグメント検出ロジックに結合されたストレージを含み、前記セグメント検出ロジックが、前記ストレージ内にある前記第2のビデオと関連づけられた1組のメタデータであって、前記第1のテストフレームが前記第2のビデオ内の前記セグメントの前記第1の境界であり、且つ、前記第2のテストフレームが前記第2のビデオ内の前記セグメントの前記第2の境界であることを示すメタデータを格納するよう構成された、請求項17記載のデジタルビデオ配布システム。
  19. 前記ストレージに結合されたビデオカタログサーバコンピュータを含み、該ビデオカタログサーバコンピュータが、クライアントビデオプレイヤーコンピュータからの、前記第2のビデオと関連づけられたメタデータに対する要求を受信し、それに応答して、前記第2のビデオと関連づけられた前記1組のメタデータを読み出し、前記1組のメタデータを前記クライアントビデオプレイヤーコンピュータに送信するよう構成された、請求項18記載のデジタルビデオ配布システム。
  20. 前記クライアントビデオプレイヤーコンピュータが、1以上のコンピュータネットワークを介して前記ビデオカタログサーバコンピュータに結合されており、前記1組のメタデータにおいて識別されている前記第2のビデオ内の前記セグメントの少なくとも一部を要求、ダウンロード、または再生せずに、前記第2のビデオを再生するよう構成された、請求項19記載のデジタルビデオ配布システム。
JP2017548386A 2015-03-17 2016-02-11 ビデオプログラムのセグメントの検出 Active JP6564464B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/660,894 2015-03-17
US14/660,894 US9418296B1 (en) 2015-03-17 2015-03-17 Detecting segments of a video program
PCT/US2016/017528 WO2016148807A1 (en) 2015-03-17 2016-02-11 Detecting segments of a video program

Publications (2)

Publication Number Publication Date
JP2018514118A JP2018514118A (ja) 2018-05-31
JP6564464B2 true JP6564464B2 (ja) 2019-08-21

Family

ID=55629094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017548386A Active JP6564464B2 (ja) 2015-03-17 2016-02-11 ビデオプログラムのセグメントの検出

Country Status (10)

Country Link
US (3) US9418296B1 (ja)
EP (1) EP3271865B1 (ja)
JP (1) JP6564464B2 (ja)
KR (1) KR102004637B1 (ja)
CN (1) CN107534796B (ja)
AU (3) AU2016233893B2 (ja)
CA (1) CA2979177C (ja)
MX (1) MX2017011793A (ja)
PL (1) PL3271865T3 (ja)
WO (1) WO2016148807A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146990B2 (en) * 2013-01-07 2015-09-29 Gracenote, Inc. Search and identification of video content
US9418296B1 (en) * 2015-03-17 2016-08-16 Netflix, Inc. Detecting segments of a video program
US20180139501A1 (en) * 2015-06-24 2018-05-17 Thomson Licensing Optimized delivery of sequential content by skipping redundant segments
US9734409B2 (en) * 2015-06-24 2017-08-15 Netflix, Inc. Determining native resolutions of video sequences
US10375443B2 (en) * 2015-07-31 2019-08-06 Rovi Guides, Inc. Method for enhancing a user viewing experience when consuming a sequence of media
US10938871B2 (en) 2016-11-29 2021-03-02 Roku, Inc. Skipping content of lesser interest when streaming media
US10291964B2 (en) * 2016-12-06 2019-05-14 At&T Intellectual Property I, L.P. Multimedia broadcast system
US10560506B2 (en) * 2017-07-19 2020-02-11 Netflix, Inc. Identifying previously streamed portions of a media title to avoid repetitive playback
US10601686B2 (en) * 2017-10-17 2020-03-24 Rovi Guides, Inc. Systems and methods for improving quality of service while streaming code-agnostic content
US11416546B2 (en) * 2018-03-20 2022-08-16 Hulu, LLC Content type detection in videos using multiple classifiers
CN108769731B (zh) * 2018-05-25 2021-09-24 北京奇艺世纪科技有限公司 一种检测视频中目标视频片段的方法、装置及电子设备
CN110691281B (zh) 2018-07-04 2022-04-01 北京字节跳动网络技术有限公司 视频播放处理方法、终端设备、服务器及存储介质
CN109101964B (zh) * 2018-08-15 2023-04-07 腾讯科技(深圳)有限公司 确定多媒体文件中首尾区域的方法、设备及存储介质
US10694244B2 (en) 2018-08-23 2020-06-23 Dish Network L.L.C. Automated transition classification for binge watching of content
US11611803B2 (en) 2018-12-31 2023-03-21 Dish Network L.L.C. Automated content identification for binge watching of digital media
US10887652B2 (en) * 2019-03-08 2021-01-05 Rovi Guides, Inc. Systems and methods for providing media content for continuous watching
US10917674B2 (en) * 2019-03-08 2021-02-09 Rovi Guides, Inc. Systems and methods for providing media content for continuous watching
CA3104700A1 (en) * 2019-03-08 2020-09-17 Rovi Guides, Inc. Systems and methods for providing media content for continuous watching
CN113039805B (zh) * 2019-10-25 2023-07-14 谷歌有限责任公司 一种基于指纹匹配的媒体片段提取方法及系统
CN111479130B (zh) * 2020-04-02 2023-09-26 腾讯科技(深圳)有限公司 一种视频定位方法、装置、电子设备和存储介质
US20210319230A1 (en) * 2020-04-10 2021-10-14 Gracenote, Inc. Keyframe Extractor
US11647253B2 (en) 2020-06-29 2023-05-09 Rovi Guides, Inc. Systems and methods for providing improved skip and delay functionality in media assets
US11240561B2 (en) 2020-06-29 2022-02-01 Rovi Guides, Inc. Systems and methods for providing improved skip and delay functionality in media assets
CN113766311B (zh) * 2021-04-29 2023-06-02 腾讯科技(深圳)有限公司 用于确定视频中的视频段数的方法及装置
CN113537082B (zh) * 2021-07-20 2023-04-07 郑州轻工业大学 一种基于信息不全的故障辨识方法
CN113627363B (zh) * 2021-08-13 2023-08-15 百度在线网络技术(北京)有限公司 视频文件的处理方法、装置、设备以及存储介质
US11930189B2 (en) * 2021-09-30 2024-03-12 Samsung Electronics Co., Ltd. Parallel metadata generation based on a window of overlapped frames

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0636026A (ja) * 1992-07-13 1994-02-10 Toshiba Corp 動画像処理装置
JP2000004423A (ja) * 1998-06-17 2000-01-07 Sony Corp 情報再生装置及び方法
JP2000250944A (ja) * 1998-12-28 2000-09-14 Toshiba Corp 情報提供方法、情報提供装置、情報受信装置、並びに情報記述方法
JP3971614B2 (ja) * 2001-01-22 2007-09-05 松下電器産業株式会社 画像データ送信方法及び画像データ送信装置
US7809154B2 (en) 2003-03-07 2010-10-05 Technology, Patents & Licensing, Inc. Video entity recognition in compressed digital video streams
CN1595970A (zh) * 2004-06-22 2005-03-16 威盛电子股份有限公司 根据开始/结束片段特定画面检测广告片段的方法及系统
KR20070046846A (ko) * 2004-08-12 2007-05-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 또는 오디오 데이터 스트림으로부터의 콘텐트 선택
JP4588069B2 (ja) * 2005-03-31 2010-11-24 パイオニア株式会社 操作者認識装置、操作者認識方法、および、操作者認識プログラム
US20060271947A1 (en) 2005-05-23 2006-11-30 Lienhart Rainer W Creating fingerprints
WO2007000959A1 (ja) * 2005-06-27 2007-01-04 Matsushita Electric Industrial Co., Ltd. 同一シーン検出方法および装置およびプログラムを格納した記憶媒体
JP2007048379A (ja) * 2005-08-10 2007-02-22 Canon Inc プログラムの再生方法
WO2008062145A1 (en) 2006-11-22 2008-05-29 Half Minute Media Limited Creating fingerprints
US7559017B2 (en) 2006-12-22 2009-07-07 Google Inc. Annotation framework for video
US7631557B2 (en) * 2007-01-24 2009-12-15 Debeliso Mark Grip force transducer and grip force assessment system and method
JP2008193585A (ja) * 2007-02-07 2008-08-21 Victor Co Of Japan Ltd 放送番組記録再生装置および放送番組記録再生方法
KR101330637B1 (ko) * 2007-05-15 2013-11-18 삼성전자주식회사 영상 및 영상 정보 검색 장치 및 방법, 그리고 그 시스템
WO2009005747A1 (en) * 2007-06-28 2009-01-08 The Trustees Of Columbia University In The City Of New York Set-top box peer-assisted video-on-demand
US8417037B2 (en) 2007-07-16 2013-04-09 Alexander Bronstein Methods and systems for representation and matching of video content
JP5074864B2 (ja) * 2007-09-03 2012-11-14 シャープ株式会社 データ送信装置、データ送信方法、視聴環境制御装置、視聴環境制御システム、及び視聴環境制御方法
JP5354664B2 (ja) * 2009-05-28 2013-11-27 Necカシオモバイルコミュニケーションズ株式会社 デジタルデータ受信機、及び、プログラム
WO2011021289A1 (ja) * 2009-08-20 2011-02-24 富士通株式会社 動画像処理装置、サムネイル画像生成プログラムおよびサムネイル画像生成方法
JP2012080354A (ja) * 2010-10-01 2012-04-19 Video Research:Kk 検出装置及び検出方法
US20120106854A1 (en) * 2010-10-28 2012-05-03 Feng Tang Event classification of images from fusion of classifier classifications
JP2012175478A (ja) * 2011-02-23 2012-09-10 Hitachi Consumer Electronics Co Ltd デジタルコンテンツ再生装置、および、メタデータ生成方法
JP5372068B2 (ja) * 2011-05-20 2013-12-18 キヤノン株式会社 撮像システム、画像処理装置
JP2012244446A (ja) * 2011-05-20 2012-12-10 Hitachi Consumer Electronics Co Ltd コンテンツ受信機およびコンテンツ受信方法
CN102323948A (zh) * 2011-09-07 2012-01-18 上海大学 一种电视剧视频片头片尾自动检测方法
CN102799605B (zh) * 2012-05-02 2016-03-23 天脉聚源(北京)传媒科技有限公司 一种广告监播方法和系统
CN102737689B (zh) * 2012-06-08 2016-01-20 Tcl集团股份有限公司 一种片头/片尾位置的定位方法、装置及电视
CN102779184B (zh) * 2012-06-29 2014-05-14 中国科学院自动化研究所 一种近似重复视频片段自动定位方法
US9773228B2 (en) * 2012-11-02 2017-09-26 Facebook, Inc. Systems and methods for sharing images in a social network
US20140255004A1 (en) * 2013-03-07 2014-09-11 International Business Machines Corporation Automatically determining and tagging intent of skipped streaming and media content for collaborative reuse
CN103686340B (zh) * 2013-12-05 2017-12-12 深圳Tcl新技术有限公司 电子播放设备的节目播放方法及电子播放设备
CN103747327A (zh) * 2013-12-20 2014-04-23 Tcl集团股份有限公司 过滤广告的频道切换方法及装置
CN103716676B (zh) * 2013-12-30 2017-07-28 深圳Tcl新技术有限公司 智能电视的视频节目播放方法及装置
CN104113780A (zh) * 2014-06-25 2014-10-22 小米科技有限责任公司 广告处理方法及装置
CN104166685B (zh) * 2014-07-24 2017-07-11 北京捷成世纪科技股份有限公司 一种检测视频片段的方法和装置
US9418296B1 (en) * 2015-03-17 2016-08-16 Netflix, Inc. Detecting segments of a video program

Also Published As

Publication number Publication date
KR102004637B1 (ko) 2019-07-26
CA2979177C (en) 2021-01-26
US9418296B1 (en) 2016-08-16
AU2020217352A1 (en) 2020-09-03
EP3271865A1 (en) 2018-01-24
WO2016148807A1 (en) 2016-09-22
AU2018271355B2 (en) 2020-05-28
CA2979177A1 (en) 2016-09-22
US9727788B2 (en) 2017-08-08
AU2016233893B2 (en) 2018-08-30
AU2018271355A1 (en) 2018-12-20
MX2017011793A (es) 2018-04-20
CN107534796A (zh) 2018-01-02
US20160342844A1 (en) 2016-11-24
PL3271865T3 (pl) 2024-01-29
US10452919B2 (en) 2019-10-22
CN107534796B (zh) 2020-11-20
AU2016233893A1 (en) 2017-09-28
KR20170128501A (ko) 2017-11-22
US20170337427A1 (en) 2017-11-23
JP2018514118A (ja) 2018-05-31
EP3271865B1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
JP6564464B2 (ja) ビデオプログラムのセグメントの検出
US10368123B2 (en) Information pushing method, terminal and server
JP6735927B2 (ja) ビデオコンテンツの要約処理
US9892324B1 (en) Actor/person centric auto thumbnail
JP6624958B2 (ja) 通信装置、通信システム、通信制御方法およびコンピュータプログラム
US9118886B2 (en) Annotating general objects in video
US11120293B1 (en) Automated indexing of media content
US11343568B2 (en) Digital media system
CN108737884B (zh) 一种内容录制方法及其设备、存储介质、电子设备
US11134318B2 (en) System and method for identifying altered content
US11874952B2 (en) System and method for identifying altered content
CN111095939A (zh) 识别媒体项目的先前流传输部分以避免重复重放
JP2020513705A (ja) ビデオフレームの複数の部分のフィンガープリントを生成することによって立体ビデオを検出するための方法、システム、および媒体
US20240056549A1 (en) Method, computer device, and computer program for providing high-quality image of region of interest by using single stream
CN108989905B (zh) 媒体流控制方法、装置、计算设备及存储介质
JP6623905B2 (ja) サーバ装置、情報処理方法およびプログラム
JP5544030B2 (ja) 動画シーンのクリップ構成システム、方法および記録メディア
JP6973567B2 (ja) 情報処理装置及びプログラム
JP2009193386A (ja) 文字認識装置及びそのプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181031

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190131

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190726

R150 Certificate of patent or registration of utility model

Ref document number: 6564464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250