JP7053944B2 - メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御 - Google Patents

メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御 Download PDF

Info

Publication number
JP7053944B2
JP7053944B2 JP2021502405A JP2021502405A JP7053944B2 JP 7053944 B2 JP7053944 B2 JP 7053944B2 JP 2021502405 A JP2021502405 A JP 2021502405A JP 2021502405 A JP2021502405 A JP 2021502405A JP 7053944 B2 JP7053944 B2 JP 7053944B2
Authority
JP
Japan
Prior art keywords
client
media stream
time
fingerprint
query
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
JP2021502405A
Other languages
English (en)
Other versions
JP2021524714A (ja
Inventor
カート アール シーレン
シャシャンク シー マーチャント
ペーター ドゥンカー
マルクス ケイ クレーマー
スティーヴン ディー シェルフ
Original Assignee
ロク インコーポレイテッド
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
Application filed by ロク インコーポレイテッド filed Critical ロク インコーポレイテッド
Publication of JP2021524714A publication Critical patent/JP2021524714A/ja
Application granted granted Critical
Publication of JP7053944B2 publication Critical patent/JP7053944B2/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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
    • 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/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • 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/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Databases & Information Systems (AREA)

Description

〔関連出願との相互参照〕
本出願は、2018年10月22日に出願された米国特許出願第16/166,948号、及び2018年7月16日に出願された米国仮特許出願第62/698,629号に対する優先権を主張するものであり、これらの各文献はその全体が引用により本明細書に組み入られる。
本出願は、2018年10月22日に出願された米国特許出願第16/166,561号にも関連し、この文献はその全体が引用により本明細書に組み入れられる。
典型的なメディアクライアントは、ビデオ及び/又はオーディオコンテンツなどのメディアコンテンツを表すアナログ又はデジタルメディアストリームを受け取り、メディアコンテンツの出力及び/又はストリームの転送を行って、ディスプレイ画面及び/又はオーディオスピーカなどのユーザインターフェイス上にコンテンツを提示するように動作する。このようなクライアントの例としては、テレビ、コンピュータモニタ、投影システム、スピーカ、ヘッドフォン、セットトップボックス(例えば、ケーブル又は衛星TV受信機)、デジタルビデオレコーダ、ラジオ、パーソナルコンピュータ、モバイル通信装置、ゲーム機、ストリーミングメディアプレーヤなどが挙げられる。
一例として、テレビは、(例えば、放送を通じて、セットトップボックスから、インターネット接続を通じて、又は別の方法で)放送ストリームを受信し、この放送ストリームのメディアコンテンツをユーザに提示することができる。別の例として、セットトップボックスは、多チャンネル映像番組配信事業者(multi-channel video program distributor)から放送ストリームを受信し、高精細マルチメディアインターフェイス(HDMI(登録商標))ケーブル又はその他のインターフェイスを介してストリームのメディアコンテンツをテレビ及び/又はオーディオ/ビデオ受信機に出力して再生することができる。さらに別の例として、デジタルビデオ又はオーディオレコーダも同様に放送ストリームを受信するが、この放送ストリームを記憶して後で再生することができる。さらに別の例として、スピーカ又はヘッドフォンは、ラジオ、コンピュータ又はその他の装置から放送オーディオストリームを受信し、このストリームのオーディオコンテンツをユーザに提示することができる。他にも数多くの例が考えられる。
いくつかの状況では、メディアクライアントが、メディアストリームの受信中にストリームのメディアコンテンツの一部を修正することが有用な場合がある。例えば、ユーザに対してコンテンツが再生される際に、ユーザが当初含まれていた広告の代わりに代替広告を受け取るように、クライアントがメディアコンテンツの広告又はその他のセグメントを代替広告又はその他の代替コンテンツに動的に置き換えることが有用な場合がある。別の例として、ユーザに対してコンテンツが再生される際に、ユーザが当初含まれていたコンテンツと共に補足コンテンツを受け取るように、クライアントがメディアコンテンツの一部をチャンネル識別、コンテキスト情報又は広告コンテンツなどのオーバレイ又は分割画面コンテンツで動的に補足することが有用な場合がある。
さらに、クライアントがメディアストリーム内の特定の時点でこのようなコンテンツ修正を実行することが望ましい場合もある。例えば、クライアントが既存の広告を代替広告に動的に置き換える場合には、メディアストリーム内で既存の広告が開始した時点でクライアントが代替広告を配置することが望ましいと考えられる。同様に、クライアントがメディアコンテンツの特定の部分をその部分に関連するオーバレイで補足する場合には、この部分の開始時にクライアントがオーバレイを開始することが望ましいと考えられる。その他の例も考えられる。
具体的に言えば、このようなメディアストリームは、ビデオフレーム及び/又はオーディオフレームなどのフレームシーケンスを定めることができ、従ってクライアントはフレーム精度ベースで(on a frame-accurate basis)コンテンツ修正を実行することが望ましいと考えられる。例えば、広告置換の場合、クライアントは、既存の広告の最初のフレームから正確に開始する代替広告を既存の広告の代わりに挿入することが望ましいと考えられる。また、メディアストリームの特定の部分にオーバレイを追加する場合、クライアントは、このメディアストリーム部分の最初のフレームから又は最初のフレームに特に関連してオーバレイを開始することが望ましいと考えられる。
クライアントによるこのコンテンツ修正の実行を容易にするには、クライアントが修正を行うべき特定の時点を学習することが必要となり得る。しかしながら、実際には、クライアントにとって未知のタイムライン上に修正時点が定められていることがある。例えば、修正時点は、メディアストリーム自体の基準タイムライン上に定められることがあるが、クライアントがこのタイムラインのコンテキストを有していないことがある。従って、この修正時点をクライアントに提供しても、クライアントがメディアストリーム内の望ましい時点で修正を実行できないこともある。
この非限定的な例として、テレビ放送内に現われることがある広告ポッドを定めるメディアストリームについて考察する。広告ポッドは、テレビコマーシャルなどの広告シーケンスを含む。この例では、特定のテレビチャンネルのリニア放送フィード(linear broadcast feed)を受信して提示しているテレビをクライアントとすることができ、このフィード内の任意の瞬間に広告ポッドが現れることができる。例えば、特にスポーツイベントなどのライブ放送では、このようなフィード内に広告ポッドが現れる時間を予測できないこともある。或いは、特別にスケジュールされた時点に広告ポッドが現れることもある。
この例では、広告ポッド内の特定の広告の置換(例えば、広告を異なる広告又はその他の代替コンテンツに置き換えること)を望ましい修正とすることができる。例えば、広告ポッドが広告シーケンスA1、A2、A3、A4である場合、広告A3の置換を望ましい修正とすることができる。
この状況では、広告ポッドが、T=0の時点から開始して広告ポッドの最後まで継続する内部タイムラインを定めることができ、広告A3は、このタイムライン上の時点TA3から開始することができる。しかしながら、クライアントにはこのタイムラインのコンテキストが存在しないことがある。クライアントは、「クライアント時間」を定めるタイムライン(例えば、時刻又はその他の内部時間基準)を有する独自の内部クロックを有することができる。しかしながら、クライアントは、クライアント時間内のどこに広告ポッドタイムラインが存在するかについての高度な知識を有していなければ、望ましいコンテンツ修正時点としての値TA3のみを与えられても、望ましい時に広告置換を実行することはできない。
この問題に対処する1つの方法は、クライアントが受け取っているメディアストリームのタイムスタンプ付きクエリフィンガープリントと、既知の広告ポッドシーケンスなどの既知のメディアストリームのタイムスタンプ付き基準フィンガープリントとを比較するフィンガープリント照合を実行することである。
例えば、クライアントは、受け取っているメディアストリームのフレームのクエリフィンガープリントを生成し、クライアントの内部クロックに基づいてこれらのクエリフィンガープリントにタイムスタンプすることができ、これらのタイムスタンプ付きクエリフィンガープリントをコンピュータシステムが受け取って分析することができる。さらに、コンピュータシステムは、既知の広告ポッドシーケンスなどの既知のメディアストリームのフレームの、既知のメディアストリーム内のタイムラインに沿って定められた基準時間又は「実時間(true time)」に基づいてタイムスタンプされた基準フィンガープリントを提供されることもできる。従って、コンピュータシステムは、タイムスタンプ付きクエリフィンガープリントをタイムスタンプ付き基準フィンガープリントと比較して、フィンガープリントの一致が見つかった時に、照合用クエリフィンガープリントのタイムスタンプが照合用基準フィンガープリントのタイムスタンプに一致すると結論付けることができる。
照合用クエリフィンガープリントのタイムスタンプと基準フィンガープリントのタイムスタンプとの間の相関性を確立することは、クライアント時間と実時間との間の「同期ロック」又は時間マッピングを確立することに相当することができる。例えば、照合用クエリフィンガープリントのタイムスタンプと照合用基準フィガープリントのタイムスタンプとの間の差分は、既知のメディアストリーム内の実時間と、クライアントがメディアストリームを受け取った時のクライアント時間との間の時間オフセットを定めることができる。従って、コンピュータシステムは、既知のメディアストリーム内のフレームの実時間時点の知識を与えられると、確立された同期ロックを使用して、クライアントが受け取っているメディアストリーム内の同じフレームの関連するクライアント時間時点を決定することができる。例えば、コンピュータシステムは、所与の実時間時点に一致するクライアント時間時点を決定するために、実時間とクライアント時間との間の時間オフセットを適用することができる。
従って、上記の広告ポッドの例を続けると、コンピュータシステムは、確立された同期ロックを使用して、クライアントが受け取っているメディアストリーム内の広告A3を置換すべきクライアント時間時点を示すクライアント時間値(例えば、クライアントが広告置換を開始すべきクライアント時間時点)に実時間値TA3を対応付けることができる。その後、クライアントは、この決定されたクライアント時間時点で広告A3の置換を実行することができる。
しかしながら、このプロセスで発生し得る技術的課題として、クエリフィンガープリントと基準フィンガープリントとの間の信頼性の高いフィンガープリント照合を容易にできるほど十分な速さでクライアントがクエリフィンガープリントを生成しない場合がある。具体的に言えば、クライアントは、その限られた処理能力、メモリ及び/又はその他のリソースの節約に役立つように、受け取っているメディアストリームのフレームレートよりも大幅に低いことがある比較的低いフレームレートでフィンガープリントを生成するように構成されることがある。この結果、検出されたフィンガープリントの一致が不正確であったり、確立された同期ロックが不正確であったり、クライアントが所望のコンテンツ修正をメディアストリーム内の誤った時点で実行してしまい、場合によっては早すぎたり又は遅すぎたりすることがある。
例えば、毎秒30フレームを有するビデオでは、クライアントが毎秒2フレームなどの低いフレームレートでクエリフィンガープリントを生成するように確立されることがある。しかしながら、低レートでフィンガープリント照合を実行すると、フィンガープリント照合の信頼度が低くなってしまうことがある。この1つの理由は、メディアストリームが、一定期間にわたってメディアコンテンツが全く変化しないメディアシーケンス部分に対応する同一又はほぼ同一のフレームの様々なサブシーケンスを含み得るからである。この結果、低レートで生成されたクエリフィンガープリントの一部が複数の基準フィンガープリントに一致して一致の信頼度を下げてしまうことがある。
この技術的課題に対処するのに役立つ機構を開示する。
本開示によれば、クライアントが、通常は比較的低いレート(例えば、上記の例では毎秒2フレーム)でクエリフィンガープリントを確立し、コンピュータシステムが、これらの低レートのクエリフィンガープリントを既知のメディアストリームの基準フィンガープリントとの比較のための基礎として使用して、クライアントが受け取っているメディアストリームが既知のメディアストリームであると最初に判定し、すなわちクライアントが受け取っているメディアストリームを識別する。
これにより、コンピュータシステムは、クライアントが既知のメディアストリームを受け取っていると判定すると、クライアントにそのクエリフィンガープリント生成レートを高めさせ、すなわち相対的に低いレートでのクエリフィンガープリントの生成から相対的に高いレート(例えば、上記の例では毎秒16又は30フレーム)でのクエリフィンガープリントの生成に切り替えさせる。次に、コンピュータシステムは、比較的信頼度の高い同期ロックを確立するために、高レートのクエリフィンガープリントを既知のメディアストリームの基準フィンガープリントとの比較のための基礎として使用する。次に、コンピュータシステムは、確立された同期ロックを基礎として使用して、クライアントが受け取っているメディアストリームの特定の時点でクライアントにコンテンツ修正を実行させる。
代表的実装では、コンピュータシステムが、クライアントが受け取っているメディアストリームを表す、クライアントが第1のフレームレートで生成したクエリフィンガープリントを受け取ることができる。コンピュータシステムは、クライアントによって生成された低レートのクエリフィンガープリントを受け取ると、この低レートのクエリフィンガープリントを既知のメディアストリームを表す基準フィンガープリントと比較する。コンピュータシステムは、この比較に基づいて、クライアントが受け取っているメディアストリームが既知のメディアストリームであることを示す1又は2以上の第1の一致を検出する。
次に、コンピュータシステムは、1又は2以上の一致の検出に応答して、クライアントに第1のフレームレートでのクエリフィンガープリントの生成から第1のフレームレートよりも高い第2のフレームレートでのクエリフィンガープリント(「高レートクエリフィンガープリント」)の生成に遷移させ、それぞれがクライアントのクロックに従うそれぞれのクエリフィンガープリントタイムスタンプを有する、クライアントによって生成された高レートフィンガープリントを受け取る。
コンピュータシステムは、クライアントによって生成された高レートクエリフィンガープリントを受け取ると、高レートクエリフィンガープリントと既知のメディアストリームを表す基準フィンガープリントとをさらに比較する。また、コンピュータシステムは、このさらなる比較に基づいて、それぞれがクエリフィンガープリントタイムスタンプのうちの関連するタイムスタンプを有する1又は2以上の第2の一致を検出する。
次に、コンピュータシステムは、各第2の一致に関連するクエリフィンガープリントタイムスタンプに基づいて、クライアントの内部クロックに従って定められた、クライアントが受け取っているメディアストリームのコンテンツ修正をクライアントが実行すべき時点を決定する。コンピュータシステムは、この決定された時点でクライアントにコンテンツ修正を実行させる。
必要に応じて添付図面を参照しながら以下の詳細な説明を読むことにより、当業者にはこれらの及びその他の態様、利点及び代替例が明らかになるであろう。さらに、本概要の説明及び後述する説明は、本発明を限定ではなく一例として示すものにすぎないと理解されたい。
開示する特徴を実装できるシステムを示す簡略ブロック図である。 本開示に従って実行できる動作を示すフローチャートである。 本開示に従って実行できる動作を示す別のフローチャートである。 本開示に従って動作できるコンピュータシステムのコンポーネントを示す簡略ブロック図である。
図面を参照すると、図1は、開示する様々な原理を適用できるシステム例の簡略ブロック図である。しかしながら、本明細書で説明するこの及びその他の構成及びプロセスは他の様々な形を取ることもできると理解されるであろう。例えば、要素及び動作は、並べ替え、分散させ、置換し、組み合わせ、省略し、追加し、又は別様に修正することができる。さらに、本明細書において1又は2以上のエンティティによって実行されるものとして説明する動作は、これらのエンティティが実行することも、及び/又はこれらのエンティティの代わりにプログラム命令を実行する1又は2以上のプロセッシングユニットなどがハードウェア、ファームウェア及び/又はソフトウェアを通じて実行することもできると理解されるであろう。
図1に示すように、このシステム例は、メディアソース14からリアルタイムでメディアストリームを受け取るように構成されたメディアクライアント12を含む。
実際に、メディアクライアント12は、上述したように、ビデオ及び/又はオーディオコンテンツなどのメディアコンテンツを表すアナログ又はデジタルメディアストリームをメディアソース14から受け取り、メディアコンテンツの出力及び/又はストリームの転送を行って、ディスプレイ画面及び/又はオーディオスピーカなどのユーザインターフェイス上にコンテンツを提示するように動作するよう構成することができる。メディアクライアントは、数ある可能性の中でも特に上述した形態のうちのいずれかを取ることができる。
メディアソース14は、場合によってはメディアクライアント12の形態に依存する様々な形態を取ることもできる。一例として、メディアクライアント12がテレビである場合、メディアソース14は、選択されたメディアストリームを出力してテレビが提示できるように構成されたローカルセットトップボックス(例えば、ケーブル又は衛星受信機)又はストリーミングメディアサーバとすることができ、或いはメディアソース14は、数ある可能性の中でも特に放送テレビ局などとすることもできる。また、メディアクライアントがコンピュータである場合、メディアソースは、インターネットストリーミングメディアサーバ又はその他のメディアプロバイダを含むことができる。或いは、メディアソース14は、メディアクライアント12に一体化された、及び/又はメディアクライアント12が再生のためにローカルにアクセスしてメディアストリームを受け取る(例えば、取り出す)ことができるデータストレージとすることもできる。その他の例も考えられる。
さらに図1に示すように、メディアクライアント12は、ネットワーク(例えば、インターネット又はプライベートネットワーク)16を介して、メディアソース14に関連及び/又は一体化することもしないこともできるネットワークサーバ18と通信することができる。
ある実装例では、メディアクライアント12及びネットワークサーバ18が、上述したような動作の実行を容易にするデータ通信に関与することができる。例えば、代表的なコンピュータシステムの態様をサーバ18が実装し、クライアント12と相互運用して同期ロックを確立し、同期ロックを適用してクライアントがコンテンツ修正を実行すべきクライアント時間時点を決定し、決定されたクライアント時間時点にクライアントにコンテンツ修正を実行させることもできる。さらに又は或いは、代表的なコンピュータシステムの態様をクライアント12が実装し、サーバ18と相互運用して同様の動作を実行することもできる。
上述したように、クライアント12などのメディアクライアントは、メディアストリームを受け取っている時に、ストリームのコンテンツのセグメントを置換又は補足することなどのためにストリームのコンテンツの一部を修正することが有用な場合がある。さらに、上述したように、クライアントは、メディアストリーム内の特定の時点でこれを行うことが望ましい場合がある。例えば、ストリームがビデオフレーム及び/又はオーディオフレームなどのフレームシーケンスを定める場合、クライアントは、シーケンスの特定のフレームから開始する修正を実行することが望ましい場合がある。
コンピュータシステムは、上述したようなコンテンツ修正を容易にするために、最初にクライアントが受け取っているメディアストリームを識別することができる。例えば、コンピュータシステムは、最初にクライアントが受け取っているメディアストリームが修正すべき特定のコンテンツを含むメディアストリームであると判定することができる。コンピュータシステムは、メディアストリームを識別すると、クライアントがコンテンツ修正を実行すべきメディアストリーム内の特定の時点を決定し、この決定された時点でクライアントにコンテンツ修正を実行させることができる。
クライアント12が受け取っているメディアストリームを識別する1つの方法は、クライアントが受け取っているメディアコンテンツを表すデジタルフィンガープリントデータをクライアント(又は付属装置)に生成させて、このフィンガープリントデータと既知のメディアストリームのメディアコンテンツを表す基準フィンガープリントデータとをサーバ18に比較させ、1又は2以上のフィンガープリント照合を使用してクライアントが既知のメディアストリームを受け取っていることを示すことである。
ある実装例では、サーバ18又は別のこのようなエンティティが、既知のメディアストリームを表す基準フィンガープリントデータを確立又は別様に入手することができる。例えば、サーバ18は、既知のメディアストリームのフレームを表す基準デジタルフィンガープリントシーケンスを確立し、又は提供されることができる。サーバ又は別の実体は、既知のメディアストリームのフレームをプログラム的に分析し、既知のメディアストリームのコピーを入力として受け取り、現在知られている又は後で開発されるメディアフィンガープリンティングプロセス又はアルゴリズムを適用して基準フィンガープリントを生成することによって、これらの基準フィンガープリントを確立することができる。
これらの基準フィンガープリントは、フィンガープリント照合を容易にするように比較的高い粒度で生成することができる。例えば、基準フィンガープリントは、既知のメディアストリームのフレーム毎にそれぞれ確立することができる。従って、毎秒30フレームのビデオを含むメディアストリームの場合、シーケンスは、毎秒30フレームのレート、又は高レート基準フィンガープリントとして妥当な別の高レートで生成された基準ビデオフィンガープリントを含むことができる。
さらに、クライアント12は、メディアストリームを受け取ると、受け取っているストリームのメディアコンテンツを表すクエリフィンガープリントデータをリアルタイムで生成し、これを分析のためにサーバ18に送信することができる。クライアントは、フィンガープリント比較を容易にするために、基準フィンガープリントを確立するために適用される同じフィンガープリンティングプロセス又はアルゴリズムを使用してこれらのクエリフィンガープリントを確立することができる。しかしながら、上述したように、クライアントは、そのリソース限界(例えば、処理能力、メモリ及びネットワーク速度の限界)又はその他の理由に起因して、またこのクエリフィンガープリント生成がクライアントの進行中のプロセスとなり得ることによって、これらのクエリフィンガープリントを比較的低いレートで生成するように構成されることがある。例えば、ビデオを含むメディアストリームの場合、クライアントは、これらのクエリフィンガープリントをわずか毎秒2フレームのレートで生成するように構成され、生成されたクエリフィンガープリントを1.5秒毎程度でサーバに送信することがある。その他の例も考えられる。
サーバは、クライアントからこのクエリフィンガープリントデータを受け取ると、クエリフィンガープリントデータを既知のメディアストリームの基準フィンガープリントデータと比較することができる。そして、サーバは、この比較によってクエリフィンガープリントデータが基準フィンガープリントデータに一致すると十分な信頼度で判定した場合、クライアントが受け取っているメディアストリームが既知のメディアストリーム(すなわち、既知のメディアストリームのコピー)であると結論付けることができる。
サーバは、このフィンガープリント比較をフレーム毎ベースで実行することができる。例えば、ビデオコンテンツを考慮すると、サーバは、フレームのクエリフィンガープリントをフレームの基準フィンガープリントと比較する分析をビデオフレーム毎に実行することができる。この比較プロセスは、フィンガープリントの構造に応じて様々な形態のうちのいずれかを取ることができる。例えば、この比較は、フィンガープリント間の最大偏差を計算し、最大偏差が所定の許容差内に収まるかどうかを判定することを含むことができる。さらに、フィンガープリントが2進値である場合、この判定は、ブール型の判定とすることも、又は(フィンガープリントのそれぞれのビット位置間の不一致数としての)ハミング距離の計算を伴うこともできる。フィンガープリントが10進値又はベクトル(例えば、ビデオフレーム領域毎のグレイ値)などのより複雑な値である場合、この判定は、値又はベクトル間の距離を求めることを含むことができる。他にも数多くの例が考えられる。
また、サーバは、このフィンガープリント比較プロセスを所望の許容差レベルで実行することもできる。例えば、この比較は、より多くの数の相違を認める許容差及び/又はより大きなサイズの相違を認める許容差などの、フィンガープリント間の相違の許容差が比較的大きな粗いものとすることができる。一例として、2つの32ビットのフィンガープリントを互いに比較する場合、たとえ2つの又は別の指定数のビットが一致しない場合でも、粗い比較では、一般にこれらのフィンガープリントを互いに一致するとみなすことができる。或いは、この比較は、このような相違の許容差が低い、及び/又は根本的なメディアの特定の部分を表すと思われる特定のフィンガープリント成分に比較の焦点を当てた、より粒度の細かいものとすることもできる。
この結果、サーバは、このクライアントが生成したクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとの比較を通じて1又は2以上の一致を発見することができる。例えば、サーバは、クライアントが受け取っているメディアストリームのフレームのクエリフィンガープリントが既知のメディアストリームのフレームのそれぞれの基準フィンガープリントに一致する1又は2以上の場合を発見することができる。従って、この一致は、クライアントが受け取っているメディアストリームが既知のメディアストリームであるとの結論を立証し、又は裏付けることができる。
サーバは、クライアントが受け取っているメディアストリームを識別し終えると、クライアントがコンテンツ修正を実行すべきメディアストリームの時点を決定することができる。例えば、代表的な実装では、サーバが、既知のメディアストリーム内のコンテンツ修正を行うべき時点と、その時点で行うべきコンテンツ修正とを示す基準データを入手することができる。例えば、この基準データは、コンテンツ修正を開始すべき既知のメディアストリームの特定のフレームを識別することができる。従って、サーバは、基準データを参照してこの所望のコンテンツ修正時点を決定することができる。
次に、サーバは、メディアストリーム内の決定された時点でクライアントにコンテンツ修正を実行させる指令をクライアントに送信することができる。例えば、サーバは、ネットワーク16を介して、メディアストリーム内の決定された時点を指定してクライアントに置換又はオーバレイ用のメディアを提供するメッセージ、或いはメディアストリーム内のその時点でクライアントが実行すべきコンテンツ修正についてクライアントに別様に指示するメッセージをクライアントに送信することができる。また、クライアントは、この指令を受け取って解釈し、これに応答してメディアストリーム内の指示された時点でコンテンツ修正を実行するように構成することができる。
このプロセスでは、サーバが、クライアントがメディアストリームのコンテンツ修正を実行すべき特定の時点を知ることができる。例えば、サーバがアクセスできる基準データは、この時点を既知のメディアストリーム内の、すなわち上述した「実時間」内のタイムラインで測定された特定の時間として指定することができる。例えば、上述したように、このタイムラインは、既知のメディアストリームの開始時における基点時間(origin time)(例えば、T=0)から開始することができ、既知のメディアストリームの各フレームは、このタイムライン上の特定の時点で発生することができる。従って、サーバは、クライアントがメディアストリームのコンテンツ修正を実行すべき実時間時点を基準データから決定することができる。
しかしながら、クライアントの時間基準は異なる場合がある。上述したように、クライアントの時間基準は、クライアントの内部クロックに従って定められた「クライアント時間」とすることができる。クライアント時間及び実時間は、互いに同じ速度で進むことができれば最も有利であるが、これらの基準点が異なる可能性もある。従って、単に既知のメディアストリームの実時間時点が分かっていても、これ自体によってクライアント時間のコンテキストが得られるわけではない。この結果、上述したように、クライアントがコンテンツ修正の実行を開始すべきメディアストリーム内の時点をクライアントが理解できる形でサーバがどのように特徴付けることができるかが問題となる。
上記で提案したように、この問題に対処する1つの方法は、クライアントによって提供された照合用クエリフィンガープリントのタイムスタンプを、サーバがメディアストリームのクライアント時間基準を決定する方法としてサーバに使用させた後に、このクライアント時間基準を、クライアントがコンテンツ修正を開始すべきメディアストリーム内の時点を特徴付ける基礎としてサーバに使用させることである。
これを容易にするために、クライアントは、そのクエリフィンガープリントを生成する際に、クライアントの内部クロックに基づいて各クエリフィンガープリントにタイムスタンプすることができる。従って、クライアントが分析のためにサーバに送信するクエリフィンガープリントは、タイムスタンプ付きクエリフィンガープリントとすることができる。さらに、サーバは、既知のメディアストリームフレームのタイムスタンプ付き基準フィンガープリントを提供され、又は別様に入手することができる。例えば、サーバは、(i)フレームの基準フィンガープリントと、(ii)既知のメディアストリーム内の関連する実時間タイムスタンプと、を既知のメディアストリームのフレーム毎に指定する基準データを提供されることができる。
サーバは、クライアントからタイムスタンプ付きクエリフィンガープリントを受け取ると、一致点、すなわちクエリフィンガープリントが基準フィンガープリントに一致する場合を検出するために、クエリフィンガープリントを基準フィンガープリントと比較することができる。サーバは、1又は2以上のこのような一致点を検出すると、検出された一致点毎に、(i)一致点の実時間タイムスタンプと、(ii)一致点のクライアント時間タイムスタンプとが分かるようになる。
従って、サーバは、実時間とクライアント時間との間の同期ロックを効果的に確立するようになる。すなわち、サーバは、この時点で、一致フレームがメディアストリーム内のどこに存在していたか、及びこのメディアストリーム内の時点におけるクライアント時間が何であったかが分かるようになるので、(i)メディアストリーム内の実時間タイムスタンプと、(ii)クライアントの内部クロックに従うクライアント時間との間のマッピングを効果的に確立するようになる。上述したように、この同期ロックは時間オフセットに相当することができるので、サーバは、メディアストリーム内の所与の実時間時点に時間オフセットを適用して、メディアストリーム内の対応するクライアント時間時点を決定できるようになる。
サーバは、このメディアストリーム内の一致点を発見して同期ロックを確立すると、クライアントがメディアストリームのコンテンツ修正を実行すべきクライアント時間時点、すなわちクライアントがメディアストリーム内のコンテンツを開始すべき場所を計算することができる。例えば、サーバは、コンテンツ修正を行うべき実時間時点の基準データ指示を与えられると、同期ロックによって定められたオフセットを適用して、コンテンツ修正を行うべき関連するクライアント時間時点を決定することができる。或いは、サーバは、コンテンツ修正を開始すべき関連するクライアント時間時点を決定するために、既知のメディアストリーム内の一致点の実時間時点からコンテンツ修正を開始すべきフレーム時間までの期間を計算した後に、この計算された期間を一致点のクライアント時間時点に加算することもできる。他の例も考えられる。
次に、サーバは、この決定されたクライアント時間時点の明細を、このクライアント時間時点から開始するコンテンツ修正をクライアントが実行するための指令と共にクライアントに送信することができる。また、この時点から開始して実行すべきコンテンツ修正に関する情報をクライアントが未だ提供されていない場合、サーバは、このコンテンツ修正情報をクライアントに送信することもできる。例えば、サーバは、クライアントが受け取っているメディアストリームのコンテンツの代わりにクライアントが代用する特定の代替コンテンツをデータストレージから取り出してクライアントに送信することができる。或いは、サーバは、クライアントが代替コンテンツを取得できるネットワーク又はローカルストレージアドレスなどの、このような代替コンテンツへのポインタをクライアントに送信することもできる。
従って、クライアントは、指示されたクライアント時間時点からコンテンツ修正を開始するための指令をサーバから受け取ることができる。また、クライアントは、このクライアント時間時点で実行すべき修正を定めるデータを未だ提供されていない場合、サーバ又はサーバによって指定されたアドレスなどからこのデータを受け取ることもできる。その後、クライアントは、クライアントの内部クロックを参照することによって、指示されたクライアント時間時点から正確にコンテンツ修正を開始するように機能することができる。例えば、クライアントは、数ある可能性の中でも特に、クライアントが受け取っているメディアストリームのフレームを代替コンテンツのフレームに置き換え、又はクライアントが受け取っているメディアストリームのフレームに補足コンテンツを重ね合わせることを、指示されたクライアント時間時点から開始することができる。
しかしながら、上述したように、このプロセスでは、クライアントがそのクエリフィンガープリントを上述したような毎秒2フレームのビデオフィンガープリントなどの比較的低いレートで生成する場合、別の問題が発生することがある。このような低レートで生成されたクエリフィンガープリントをサーバに提供すると、メディアストリームの一致点をサーバが確信を持って識別することが困難になり、及び/又は同期ロックの信頼度が低下してしまうことがある。上述したように、この困難性の1つの理由は、メディアストリームが、一定期間にわたってメディアコンテンツが全く変化しないメディアシーケンスの部分に相当する同一又はほぼ同一のフレームの様々なサブシーケンスを含む可能性があるからである。この結果、低レートで生成されたクエリフィンガープリントの一部が複数の基準フィンガープリントに一致して、せいぜい低信頼度の一致及び低信頼度の同期ロックしかもたらさないことがある。
この問題の解決策としては、毎秒16フレーム又は場合によっては毎秒30フレームなどのより高いレートでクライアントにそのクエリフィンガープリントを生成させることが挙げられる。クライアントがそのクエリフィンガープリントをより高いレートで生成すると、サーバは、クエリフィンガープリントと基準フィンガープリントとの間に1又は2以上のより信頼度の高い一致を確立することができる。例えば、サーバは、あるクエリフィンガープリントが2つの連続するフィンガープリントに一致することを検出した場合、曖昧であることを理由にこれらの一致を廃棄し、クエリフィンガープリントが単一の基準フィンガープリントのみに一致する一致を待つことができる。或いは、サーバは、クエリフィンガープリントと基準フィンガープリントとの2つの連続するペア間で同じ一致を検出した場合、曖昧であることを理由にこれらの一致を廃棄し、同様に、より唯一の一致を待つことができる。
しかしながら、上述したように、クライアントが継続的にこのような高レートでフィンガープリントを生成することは、クライアントのリソース限界によって困難になってしまうことがある。
本開示によれば、クライアントにこれらのフィンガープリント生成レートのハイブリッドを使用させることが改善された解決策になる。クライアントは、通常はリソース節約に役立つように低レート(例えば、毎秒2フレーム)でクエリフィンガープリントを生成することができる。また、サーバは、そのフィンガープリント分析をこれらの低レートクエリフィンガープリントに基づいて実行して、上述したようにクライアントが既知のメディアストリームを受け取っていると判定することができる。これにより、サーバは、クライアントが既知のメディアストリームを受け取っていると判定し、メディアストリームのその後の特定の時点でコンテンツ修正を実行すべきであることが分かると、より粒度の高いフィンガープリント比較を行えるようにクライアントにそのフィンガープリント生成レートを高めるように指示する。例えば、サーバは、毎秒2フレームでのクエリフィンガープリントの生成から毎秒16フレーム又は毎秒30フレームでのクエリフィンガープリントの生成に切り替え、これらの高レートのクエリフィンガープリントをサーバに提供するようにクライアントに指示することができる。
サーバは、クライアントが受け取っているメディアストリームを低レートのクエリフィンガープリントに基づいて識別すると、フレーム精度ベースで又は少なくともはるかに高い信頼レベルで一致点を検出して信頼度の高い同期ロックを達成するために、高レートのクエリフィンガープリントを使用してより粒度の高い分析を行うことができる。
このプロセスの実装例では、サーバがクライアントに送信するフィンガープリントレート変更指令が、コンテンツ修正(例えば、次に行われるコンテンツ修正)を開始すべき時点よりもはるかに前の閾値である後続のクライアント時間時点からクライアントに高フィンガープリントレートの使用を開始させることができる。このことは、検出された一致点からコンテンツ修正を開始すべき時点までかなりの時間が経過すると思われるような状況、及びサーバが高レートクエリフィンガープリントを使用して確信を持って一致点を検出するのにこのような多くの時間を必要としないと思われるような状況で役に立つと考えられる。
例えば、サーバ又は別のエンティティは、代表的クライアント(場合によっては問題のクライアント)が高レートでのクエリフィンガープリントの生成を開始すると、既知のメディアストリームの一致点をサーバが確信を持って検出するのに通常はどれだけの時間がかかるかを履歴データに基づいて決定することができる。この時、サーバは、この時間と低分析信頼度を考慮した所定の安全な期間とを加えたものを、クライアントがそのクエリフィンガープリント生成レートを高めるための閾値前倒し期間(threshold advanced duration)と見なすことができる。或いは、サーバは、このような閾値前倒し期間値を別様に決定し又は予め提供されることもできる。
そして、サーバは、そのレート変更指令を、このコンテンツ修正を開始すべき前の閾値前倒し期間であるクライアント時間においてクライアントに低レートのフィンガープリンティングから高レートのフィンガープリンティングに切り替えさせるように構成することができる。サーバは、上述した低信頼度同期ロックに基づいてこの前倒しクライアント時間を計算することができる。すなわち、サーバは、クライアントの低レートクエリフィンガープリントに基づいて同期ロックを確立することで、コンテンツ修正を行うべきクライアント時間時点を推定することができる。その後、サーバは、この推定されたクライアント時間時点から閾値前倒し期間を減算して、コンテンツ修正を開始すべき前の閾値前倒し期間である前倒しクライアント時間時点を計算することができる。
サーバは、決定された前倒しクライアント時間時点でクライアントに高レートのフィンガープリンティングに切り替えさせるように様々な方法でそのレート変更指令を構成することができる。例えば、サーバは、前倒しクライアント時間時点でクライアントにそのフィンガープリント生成レートを即座に高めさせる指令を与える。或いは、サーバは、前倒しクライアント時間時点に達した時にクライアントにそのフィンガープリント生成レートを高めさせるように、このクライアントへの指令に前倒しクライアント時間時点の明細を含めることもできる。さらに、これに対応して、クライアントは、指示された通りに高レートのフィンガープリント生成に切り替えることによってこのような指令に応答するように構成することができる。他の例も考えられる。
サーバは、クライアントの高レートクエリフィンガープリントを使用してフレーム精度ベースで又は別様に高い信頼度で一致点を検出すると、上述したような信頼度の高い同期ロックを確立することができる。すなわち、サーバは、検出された一致点に関連するクエリフィンガープリントタイムスタンプと、コンテンツ修正を開始すべき時点までの計算された期間とに基づいて、コンテンツ修正を開始すべきクライアント時間時点を高い信頼度で計算することができる。その後、サーバは、計算されたクライアント時間時点でクライアントがコンテンツ修正を開始するための指令をクライアントに送信することができる。従って、クライアントは指令を受け取り、これに応答して、指示されたクライアント時間時点に達した時にコンテンツ修正を開始することができる。
このプロセスの非限定的な例として、テレビ放送内に出現し得る広告ポッドを定めるメディアストリームについて考察する。上述したように、広告ポッドは、テレビコマーシャルなどの広告シーケンスを含み、クライアントが受け取っているリニア放送フィードなどのリニアメディアフィード内に任意の所与の時点で現れることができる。
実際に、サーバは、広告ポッドのフレームを表してこれに対応する、広告ポッド内に(実時間として)定められるタイムラインに沿った時点であるタイムスタンプ付きの基準フィンガープリントを提供されることができる。さらに、サーバは、広告ポッド内の広告のうちの特定の1つを置換すべき旨の指示と、広告置換を開始すべきフレームのタイムスタンプとを提供されることができる。
クライアントは、メディアフィードを受け取っている時に、継続的に或いは1又は2以上のその他のトリガに応答して、毎秒2フレームなどの低レートで放送フィードのタイムスタンプ付きクエリフィンガープリントを生成し、これらのタイムスタンプ付きクエリフィンガープリントを分析のためのサーバに報告することができる。サーバは、このような各クエリフィンガープリントと、広告ポッドシーケンスのフレームを表す基準フィンガープリントとを比較することにより、クライアントが既知の広告ポッドシーケンスを受け取っていることを検出することができる。
サーバは、クライアントが広告ポッドシーケンスを受け取っていると判定すると、これに応答して、毎秒2フレームのクエリフィンガープリントの生成から毎秒16又は30フレームのクエリフィンガープリントの生成への切り替えなどの高レートのフィンガープリンティングにクライアントが切り替えるための、場合によっては上述したようにクライアントがこのレート切り替えを実行すべき前倒しクライアント時間時点を指定する指令をクライアントに送信することができる。クライアントは、これに応答してレート切り替えを実行し、その高レートのタイムスタンプ付きクエリフィンガープリントを分析のためにサーバに送信し始めることができる。
サーバは、上述したように高レートクエリフィンガープリントを使用することにより、広告ポッドシーケンス内の1又は2以上の一致点を高信頼レベルで検出することができる。次に、サーバは、上述したような検出された一致点に基づいて、実時間とクライアント時間との対応付けを定める比較的信頼度の高い同期ロックを確立することができる。次に、サーバは、確立された同期ロックを基礎として適用して、広告置換を開始すべきフレームの実時間時点を、クライアントが広告置換を開始すべき対応するクライアント時間時点に変換することができる。
次に、サーバは、この決定されたクライアント時間時点から広告置き換えを開始するための指令をクライアントに送信し、クライアントが未だ代替広告(又は代替広告へのポインタ)を提供されていない場合にはこの情報もクライアントに送信することができる。これに従って、クライアントは、指示されたクライアント時間時点で広告置換を実行することができる。
代表的実装では、クライアントが、広告置換などの指示されたコンテンツ修正を実行した後に、自動的に低レートクエリフィンガープリントの生成に戻ることができる。例えば、クライアントは、毎秒2フレームのクエリフィンガープリント生成から毎秒16又は30フレームのクエリフィンガープリント生成に切り替えていた場合、毎秒2フレームのクエリフィンガープリント生成に戻ることができる。このプロセスは、望む通りに繰り返すことができる。
サーバが実行するものとして上述した動作の一部は、上述したようなクライアント又はこのための別の装置が実行することもできる。
一例として、上記では同期ロックを確立することによってコンテンツ修正を行うべきクライアント時間時点を決定するように機能するサーバについて説明したが、これらの動作の一部をクライアント自体が実行するように構成することもできる。
例えば、クライアントが既知のメディアストリームを受け取っているとサーバが判定すると、クライアントは、(i)メディアストリーム内の実時間タイムスタンプと(ii)クライアントの内部クロックに従う時間との間の同期ロックを確立して、コンテンツ修正を行うべきクライアント時間時点を決定するプロセスを実行することができる。ある実装例では、これを容易にするために、サーバが、クライアントに高レートのフィンガープリンティングに切り替えるように指示することに加え、メディアストリームの次の部分の一連の実時間タイムスタンプ付き基準フィンガープリントをクライアントに提供して、コンテンツ修正を開始すべきメディアストリーム内のフレームの実時間タイムスタンプをクライアントに知らせることができる。
従って、クライアントは、サーバからこれらのタイムスタンプ付き基準フィンガープリントを受け取って、高レートのクエリフィンガープリント生成をさらに開始することができる。また、クライアントは、1又は2以上の一致点を比較的高い信頼度で発見するために、クライアントの高レートのクエリフィンガープリントと提供された基準フィンガープリントとを比較することができる。クライアントは、これによって1又は2以上の一致点を検出すると、(i)一致点の実時間タイムスタンプと、(ii)一致点のクライアント時間時点とを知るようになる。従って、クライアントは、この時点で、一致フレームがメディアストリーム内のどこに存在していたか、及びこのメディアストリームの時点におけるクライアント時間が何であったかが分かるようになるので、(i)メディアストリーム内の実時間タイムスタンプと(ii)クライアントの内部クロックに従う時間との間の同期ロックをクライアント自体が効果的に確立するようになる。
クライアントは、このメディアストリーム内の一致点を発見して同期ロックを確立し終えると、コンテンツ修正を行うべきクライアント時間時点を容易に計算することができる。例えば、クライアントは、コンテンツ修正を開始すべき実時間時点の指示をサーバから与えられると、同期ロックによって定められるオフセットを適用して、コンテンツ修正を行うべき関連するクライアント時間時点を決定することができる。或いは、クライアントは、コンテンツ修正を開始すべき関連するクライアント時間時点を決定するために、一致点の実時間時点から指示されたコンテンツ修正を開始すべき実時間時点までのメディアストリーム内の期間を計算し、この計算された期間を一致点のクライアント時間時点に加算することもできる。その後、クライアントは、計算されたクライアント時間時点から正確にコンテンツ修正を開始するように機能することができる。
この代替的実装では、サーバが、メディアストリームの次の部分の高レート基準フィンガープリントをクライアントに提供して、クライアントがその高レートクエリフィンガープリントとこれらの高レート基準フィンガープリントとを容易に比較できるようにすることができる。或いは、サーバは、場合によってはリソース制約に依存して、クライアントがその高レートクエリフィンガープリントと比較できるように低レート基準フィンガープリントをクライアントに提供することもできる。この結果、クライアントは、低レート基準フィンガープリントのうちの1つ又は2つ以上に最良に一致する1又は2以上の高レートクエリフィンガープリントを決定して、決定された一致点のフレーム精度を高めるとともに同期ロックの信頼度を高める支援を行うことができる。
また、上記のプロセスは、クライアントが(例えば、現在の再生及び/又は記憶のために)受け取っているリニア放送フィードのリアルタイム分析に関しても、クライアントがデータストレージなどから(例えば、現在の再生又は転送のために)取り出しているメディアストリームの分析に関しても適用することができる。他の実施も考えられる。
図2は、上記の説明に従ってコンピュータシステムが実行できる方法を示すフローチャートである。この図には、方法の動作を特定の順序で実行されるものとして示しているが、動作によっては他の動作と当時に実行できるものもあり、他の修正も考えられる。
図2に示すように、ブロック20において、コンピュータシステムは、クライアントが受け取っているメディアストリームを表す、クライアントがあるフレームレートで生成したクエリフィンガープリントを受け取る。ブロック22において、コンピュータシステムは、(i)上記のフレームレートで生成されたクエリフィンガープリントと、(ii)既知のメディアストリームを表す基準フィンガープリントとを比較することに基づいて、クライアントが受け取っているメディアストリームが既知のメディアストリームであると判定する。ブロック24において、コンピュータシステムは、この判定に応答して、コンピュータシステムが受け取っているクエリフィンガープリントをクライアントが生成する際のフレームレートをクライアントに高めさせる。
次に、ブロック26において、コンピュータシステムは、高められたフレームレートで生成されたクエリフィンガープリントを基礎として使用して、(i)既知のメディアストリーム内のタイムラインに沿って定められた実時間と、(ii)クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立する。ブロック28において、コンピュータシステムは、確立された同期ロックを基礎として使用して、クライアントが受け取っているメディアストリームのコンテンツ修正をクライアントが実行すべきクライアント時間時点を決定する。その後、ブロック30において、コンピュータシステムは、決定されたクライアント時間時点でクライアントにコンテンツ修正を実行させる。
上述したように、このようなコンピュータシステムは、クライアントとネットワーク通信を行っているサーバによって実装することができる。この場合、コンピュータシステムが受け取っているクエリフィンガープリントをクライアントが生成する際のフレームレートをクライアントに高めさせる動作は、指令を前記クライアントに送信し、ここで、クライアントは、コンピュータシステムが受け取っているクエリフィンガープリントをクライアントが生成する際のフレームレートを高めることによって指令に応答するように構成されていることを含むことができる。さらに、決定されたクライアント時間時点でクライアントにコンテンツ修正を実行させることは、決定されたクライアント時間時点を示すコンテンツ修正指令をクライアントに送信することを含むことができる。
さらに上述したように、高められたフレームレートで生成されたクエリフィンガープリントを基礎として使用して実時間とクライアント時間との間の同期ロックを確立する動作は、(a)高められたフレームレートで生成されたクエリフィンガープリントと、例えば既知のメディアストリームのさらなる基準フィンガープリントなどの既知のメディアストリームの基準フィンガープリントとを比較し、(b)高められたフレームレートで生成されたクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとの比較に基づいて、クエリフィンガープリントと基準フィンガープリントとの間の一致を定める少なくとも1つの一致点を識別し、(c)クエリフィンガープリントのクライアント時間タイムスタンプと基準フィンガープリントの実時間タイムスタンプとの間の対応付けに基づいて同期ロックを確立する、ことを含むことができる。
また、上述したように、確立された同期ロックを基礎として使用して、クライアントが受け取っているメディアストリームのコンテンツ修正をクライアントが実行すべきクライアント時間時点を決定する動作は、確立された同期ロックを基礎として使用して、既知のメディアストリームのコンテンツ修正を実行すべき所定の実時間時点を、クライアントが受け取っているメディアストリームのコンテンツ修正をクライアントが実行すべき対応するクライアント時間時点に対応付けることを含むことができる。
さらに、上述したように、問題のコンテンツ修正はコンテンツ置換を含むことができる。例えば、クライアントが受け取っているメディアストリームは、広告シーケンスを定める広告ポッドを含むことができ、コンテンツ修正は、シーケンスの広告を置換メディアコンテンツに置き換えることを含むことができる。また、上述したように、方法は、クライアントが受け取っているメディアストリームの代用とすべき代替コンテンツをクライアントに提供することを含むこともできる。
図3は、クライアント又は他の1又は2以上のエンティティが本開示に従って実行できる方法を示す別のフローチャートである。ここでも、方法の動作を特定の順序で実行されるものとして示しているが、動作によっては他の動作と当時に実行できるものもあり、他の修正も考えられる。
図3に示すように、ブロック32において、方法は、クライアントが受け取っているメディアストリームを表すクエリフィンガープリントをあるフレームレートで生成するステップを含む。ブロック34において、方法は、生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいてクライアントが受け取っているメディアストリームを識別するために使用されるように提供するステップを含む。ブロック36において、方法は、クライアントが受け取っているメディアストリームの識別後に、クエリフィンガープリントを生成するフレームレートを高めるステップを含む。
次に、ブロック38において、方法は、高められたフレームレートで生成されたクエリフィンガープリントを、(i)既知のメディアストリーム内のタイムラインに沿って定められた実時間と、(ii)クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立するために使用されるように提供するステップを含む。ブロック40において、方法は、確立された同期ロックに基づいて決定された特定のクライアント時間時点で、クライアントが受け取っているメディアストリームのコンテンツ修正を実行するステップを含む。
上記の説明によれば、生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいてクライアントが受け取っているメディアストリームを識別するために使用されるように提供する動作は、生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいてクライアントが受け取っているメディアストリームを識別するためにサーバによって使用されるようにサーバに送信するステップを含むことができる。同様に、クライアントが受け取っているメディアストリームの識別後にクエリフィンガープリントを生成するフレームレートを高める動作は、クライアントが受け取っているメディアストリームをサーバが識別した後に、クエリフィンガープリントを生成するフレームレートを高めるための指令をサーバから受け取り、これに応答して(指令に応答して)クエリフィンガープリントを生成するフレームレートを高めるステップを含むことができる。
さらに、上述したように、高められたフレームレートで生成されたクエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供する動作は、高められたフレームレートで生成されたクエリフィンガープリントを、同期ロックを確立するためにサーバによって使用されるようにサーバに送信するステップを含むことができる。また、確立された同期ロックに基づいて決定された特定のクライアント時間時点で、クライアントが受け取っているメディアストリームのコンテンツ修正を実行する動作は、(a)確立された同期ロックに基づいて決定された特定のクライアント時間時点でメディアストリームを修正するようにクライアントに指示するコンテンツ修正指令をクライアントがサーバから受け取るステップと、(b)特定のクライアント時間時点でクライアントがメディアストリームの修正を実行するステップとを含むことができる。
また、高められたフレームレートで生成されたクエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供する動作は、クエリフィンガープリントを、同期ロックを確立するためにクライアントのプログラムモジュールによって使用されるようにクライアントのプログラムモジュールに提供するステップを含むことができる。例えば、クライアントは、高められたフレームレートで生成されたクエリフィンガープリントに基づいて同期ロックを確立するように動作するプログラムモジュールを含むプログラムロジックを提供されることができ、従ってこれらのクエリフィンガープリントは、同期ロックの確立を容易にするためにこのモジュールに提供することができる。
さらに、上述したように、方法は、高められたフレームレートで生成されたクエリフィンガープリントを基礎として使用して、実時間とクライアント時間との間の同期ロックを確立するステップをさらに含むことができる。例えば、方法は、(i)高められたフレームレートで生成されたクエリフィンガープリントと、既知のメディアストリームの基準フィンガープリントとを比較するステップと、(ii)高められたフレームレートで生成されたクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとの比較に基づいて、クエリフィンガープリントと基準フィンガープリントとの間の一致を定める少なくとも1つの一致点を識別するステップと、(iii)クエリフィンガープリントのクライアント時間タイムスタンプと基準フィンガープリントの実時間タイムスタンプとの間のマッピングに基づいて同期ロックを確立するステップとを含むことができる。
上記でさらに説明した実装例では、この同期ロックの確立をクライアントが行うことができる。また、これを容易に行うために、方法は、高レートで生成されたクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとの比較をクライアントが実行できるように、クライアントが既知のメディアストリームの基準フィンガープリントを受け取るステップをさらに含むことができる。
次に、図4は、上述した様々な動作を実行できるコンピュータシステム例のブロック図である。上述したように、このようなコンピュータシステムの態様は、数ある可能性の中でも特にメディアクライアント12及び/又はサーバ18が実装することができる。従って、図4のブロック図は、1又は2以上のこのようなエンティティのコンポーネントを表すことができる。
図4に示すように、コンピュータシステム例は、ネットワーク通信インターフェイス42と、プロセッシングユニット44と、非一時的データストレージ46とを含み、これらは全て、ネットワーク、メッセージバス及び/又は1又は2以上の他の接続機構48を通じて互いに結合又は通信可能に連結することができる。
ネットワーク通信インターフェイス42は、コンピュータシステムが送信及び受信を行えるようにすることができる。ネットワーク通信インターフェイス42は、数ある可能性の中でも特に、有線及び/又は無線イーサネットインターフェイスと、関連する回路及びソフトウェアとを含むことができる。プロセッシングユニット44は、1又は2以上の汎用プロセッサ(例えば、マイクロプロセッサ)及び/又は1又は2以上の専用プロセッサ(例えば、特定用途向け集積回路など)を含むことができる。非一時的データストレージ46は、磁気、光学又はフラッシュストレージなどの1又は2以上の揮発性及び/又は不揮発性ストレージコンポーネントを含むことができる。
図4に示すように、非一時的データストレージ46は、プロセッシングユニットがコンピュータシステムに上述したような動作を実行させるために実行できるプログラム命令50を記憶する(例えば、保持し、プログラム命令50によって符号化され、或いは別様に具体化し又は含む)。
一例として、これらの動作は、(i)メディアクライアントがあるフレームレートで生成したメディアストリームのクエリフィンガープリントを受け取り、(ii)受け取ったクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとを照合することを含む、メディアクライアントが受け取っているメディアストリームを識別することを含むことができる。ここでは、コンピュータシステムが少なくとも部分的にメディアクライアントによって実装される場合、クエリフィンガープリントを受け取る動作は、メディアクライアントのフィンガープリント生成モジュール(例えば、クエリフィンガープリント生成を実行するメディアクライアントのプログラムモジュール)によって生成されたクエリフィンガープリントをメディアクライアントのプログラムモジュール内に受け取ることを含むことができる。また、コンピュータシステムが少なくとも部分的にサーバによって実装される場合、クエリフィンガープリントを受け取る動作は、メディアクライアントからサーバに送信されたクエリフィンガープリントを受け取ることを含むことができる。
さらに、これらの動作は、メディアストリームを識別したことに応答して、メディアクライアントにクエリフィンガープリントを生成するフレームレートを高めるように指示することを含むことができる。例えば、コンピュータシステムが少なくとも部分的にメディアクライアントによって実装される場合、この動作は、メディアクライアントのフィンガープリント生成モジュールにフレームレートを高めるように指示することを含むことができる。また、コンピュータシステムが少なくとも部分的にサーバによって実装される場合、この動作は、クエリフィンガープリントを生成するフレームレートをメディアクライアントに高めさせる指令をメディアクライアントに送信することを含むことができる。
また、これらの動作は、メディアクライアントが高められたフレームレートで生成したクエリフィンガープリントに基づいて、既知のメディアストリーム内のタイムラインに沿って定められた実時間と、メディアクライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立することを含むことができる。例えば、この動作は、(i)メディアクライアントが高められたフレームレートで生成した(メディアクライアント及び/又はサーバによって同様に実行された)クエリフィンガープリントを受け取り、(ii)メディアクライアントが高められたフレームレートで生成したクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとの間の少なくとも1つの一致を検出し、(iii)少なくとも1つの一致の実時間タイムスタンプと少なくとも1つの一致のクライアント時間タイムスタンプを相関させることを含むことができる。
また、これらの動作は、確立された同期ロックを基礎として使用して、メディアクライアントが受け取っているメディアストリームのコンテンツ修正をメディアクライアントが実行すべきクライアント時間時点を決定することを含むことができる。例えば、この動作は、確立された同期ロックを基礎として使用して、既知のメディアストリームのコンテンツ修正を実行すべき所定の実時間時点を、メディアクライアントが受け取っているメディアストリームのコンテンツ修正をメディアクライアントが実行すべき対応するクライアント時間時点に対応付けることを含むことができる。
次に、これらの動作は、決定されたクライアント時間時点でメディアクライアントにコンテンツ修正を実行させることを含むことができる。例えば、コンピュータシステムが少なくとも部分的にメディアクライアントによって実装される場合、この動作は、決定されたクライアント時間時点でメディアクライアントのコンテンツ修正モジュール(例えば、コンテンツ修正を実行するメディアクライアントのプログラムモジュール)にコンテンツ修正を実行するように指示することを含むことができる。また、コンピュータシステムが少なくとも部分的にサーバによって実装される場合、この動作は、決定されたクライアント時間時点でメディアクライアントにコンテンツ修正を実行させる指令をメディアクライアントに送信することを含むことができる。
これに替えて、又はこれに加えて、これらの動作は、クライアントが受け取っているメディアストリームを表すクエリフィンガープリントをあるフレームレートで生成することを含むことができる。さらに、これらの動作は、生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいてクライアントが受け取っているメディアストリームを識別するために使用されるように提供することを含むことができる。また、これらの動作は、クライアントが受け取っているメディアストリームの識別後に、クエリフィンガープリントを生成するフレームレートを高めることを含むことができる。この動作は次に、高められたフレームレートで生成されたクエリフィンガープリントを、(i)既知のメディアストリーム内のタイムラインに沿って定められた実時間と、(ii)クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立するために使用されるように提供することを含むことができる。また、これらの動作は、確立された同期ロックに基づいて決定された特定のクライアント時間時点で、クライアントが受け取っているメディアストリームのコンテンツ修正を実行することを含むことができる。
上述した様々な特徴は、このコンピュータシステムの文脈で実装することができ、逆もまた同様である。例えば、ここでもコンテンツ修正は、数ある可能性の中でも特に広告ポッド内の広告の置換などのコンテンツ置換を含むことができる。さらに、生成されたクエリフィンガープリントを、メディアストリームを識別するために使用されるように提供する動作は、生成されたクエリフィンガープリントを、メディアストリームを識別するためにサーバによって使用されるようにサーバに送信することを含むことができ、高められたフレームレートで生成されたクエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供する動作は、高められたフレームレートで生成されたクエリフィンガープリントを、同期ロックを確立するためにサーバによって使用されるようにサーバに送信することを含むことができる。
さらに、上述した様々な動作は、非一時的コンピュータ可読媒体に記憶された、プロセッシングユニットが動作を実行するために実行できるプログラム命令によって定めることができる。このような非一時的コンピュータ可読媒体は、クライアント、サーバ及び/又は別のエンティティにおいて提供、統合又は別様に実装することができる。さらに、このような動作は他の形態を取ることもできる。
一例として、これらの動作は、(i)メディアクライアントがあるフレームレートで生成したメディアストリームのクエリフィンガープリントを受け取ることと、(ii)クエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとを照合することとを含む、クライアントが受け取っているメディアストリームを識別することを含むことができる。さらに、これらの動作は、メディアストリームを識別したことに応答して、クライアントにクエリフィンガープリントを生成するフレームレートを高めさせることを含むことができる。また、これらの動作は、クライアントが高められたフレームレートで生成したクエリフィンガープリントに基づいて、既知のメディアストリーム内のタイムラインに沿って定められた実時間と、クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立することを含むことができる。
次に、これらの動作は、確立された同期ロックを基礎として使用して、クライアントが受け取っているメディアストリームのコンテンツ修正をクライアントが実行すべきクライアント時間時点を決定することを含むことができる。また、これらの動作は、決定されたクライアント時間時点でクライアントにコンテンツ修正を実行させることを含むことができる。
これとは別に、又はこれに加えて、プロセッシングユニットが実行できるこれらの動作は、クライアントが受け取っているメディアストリームを表すクエリフィンガープリントをあるフレームレートで生成することを含むことができる。さらに、これらの動作は、生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいてクライアントが受け取っているメディアストリームを識別するために使用されるように提供することを含むことができる。また、これらの動作は、クライアントが受け取っているメディアストリームの識別後に、クエリフィンガープリントを生成するフレームレートを高めることを含むことができる。次に、これらの動作は、高められたフレームレートで生成されたクエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供することを含むことができる。また、これらの動作は、確立された同期ロックに基づいて決定された特定のクライアント時間時点で、クライアントが受け取っているメディアストリームのコンテンツ修正を実行することを含むことができる。
上述した様々な特徴もこの文脈で実装することができ、逆もまた同様である。
例えば、サーバにおける実装では、クライアントにクエリフィンガープリントを生成するフレームレートを高めさせる動作が、指令を出力してクライアントに送信し、ここで、クライアントは、クライアントがクエリフィンガープリントを生成する際のフレームレートを高めることによって指令に応答するように構成されていることを含むことができ、決定されたクライアント時間時点でクライアントにコンテンツ修正を実行させる動作が、決定されたクライアント時間時点を示すコンテンツ修正指令を出力してクライアントに送信することを含むことができる。
一方で、クライアントにおける実装では、クライアントにクエリフィンガープリントを生成するフレームレートを高めさせる動作が、クライアントのフィンガープリント生成モジュールにフレームレートを高めるように指示することを含むことができ、決定されたクライアント時間時点でクライアントにコンテンツ修正を実行させる動作が、決定されたクライアント時間時点でコンテンツ修正を実行するようにクライアントのコンテンツ修正モジュールに指示することを含むことができる。
さらに、ここでも、クライアントが受け取っているメディアストリームは、広告シーケンスを定める広告ポッドを含むことができ、コンテンツ修正は、シーケンスの広告を置換メディアコンテンツに置き換えることを含むことができる。
以上、例示的な実施形態について説明した。しかしながら、当業者であれば、本発明の実際の範囲及び趣旨から逸脱することなくこれらの実施形態に変更及び修正を行うことができると理解するであろう。

Claims (20)

  1. クライアントが受け取っているメディアストリームを表すクエリフィンガープリントをあるフレームレートで生成するステップと、
    前記生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するために使用されるように提供するステップと、
    前記クライアントが受け取っている前記メディアストリームの識別後に、前記クエリフィンガープリントを生成する前記フレームレートを高めるステップと、
    前記高められたフレームレートで生成された前記クエリフィンガープリントを、(i)前記既知のメディアストリーム内のタイムラインに沿って定められた実時間と、(ii)前記クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立するために使用されるように提供するステップと、
    確立された前記同期ロックに基づいて決定された特定のクライアント時間時点で、前記クライアントが受け取っている前記メディアストリームのコンテンツ修正を実行するステップと、
    を含むことを特徴とする方法。
  2. 前記方法は、前記クライアントによって実行される請求項1に記載の方法。
  3. 前記生成されたクエリフィンガープリントを、前記既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するために使用されるように提供するステップは、前記生成されたクエリフィンガープリントを、前記既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するためにサーバによって使用されるように前記サーバに送信するステップを含む、
    請求項1に記載の方法。
  4. 前記クライアントが受け取っている前記メディアストリームの識別後に前記クエリフィンガープリントを生成する前記フレームレートを高めるステップは、前記クライアントが受け取っている前記メディアストリームを前記サーバが識別した後に、前記クエリフィンガープリントを生成する前記フレームレートを高めるための指令を前記サーバから受け取り、これに応答して前記クエリフィンガープリントを生成する前記フレームレートを高めるステップを含む、
    請求項3に記載の方法。
  5. 前記高められたフレームレートで生成された前記クエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供するステップは、前記高められたフレームレートで生成された前記クエリフィンガープリントを、前記同期ロックを確立するためにサーバによって使用されるように前記サーバに送信するステップを含む、
    請求項1に記載の方法。
  6. 確立された前記同期ロックに基づいて決定された前記特定のクライアント時間時点で、前記クライアントが受け取っている前記メディアストリームの前記コンテンツ修正を実行するステップは、
    確立された前記同期ロックに基づいて決定された前記特定のクライアント時間時点で前記メディアストリームを修正するように前記クライアントに指示するコンテンツ修正指令を前記クライアントが前記サーバから受け取るステップと、
    前記特定のクライアント時間時点で前記クライアントが前記メディアストリームの前記修正を実行するステップと、
    を含む、請求項5に記載の方法。
  7. 前記高められたフレームレートで生成された前記クエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供するステップは、前記クエリフィンガープリントを、前記同期ロックを確立するために前記クライアントのプログラムモジュールによって使用されるように前記クライアントの前記プログラムモジュールに提供するステップを含む、
    請求項1に記載の方法。
  8. 前記高められたフレームレートで生成された前記クエリフィンガープリントを基礎として使用して、実時間とクライアント時間との間の前記同期ロックを確立するステップをさらに含む、
    請求項1に記載の方法。
  9. 前記高められたフレームレートで生成された前記クエリフィンガープリントを基礎として使用して、実時間とクライアント時間との間の前記同期ロックを確立するステップは、
    前記高められたフレームレートで生成された前記クエリフィンガープリントと、前記既知のメディアストリームの基準フィンガープリントとを比較するステップと、
    前記高められたフレームレートで生成された前記クエリフィンガープリントと前記既知のメディアストリームの前記基準フィンガープリントとの前記比較に基づいて、クエリフィンガープリントと基準フィンガープリントとの間の一致を定める少なくとも1つの一致点を識別するステップと、
    前記クエリフィンガープリントのクライアント時間タイムスタンプと前記基準フィンガープリントの実時間タイムスタンプとの間のマッピングに基づいて前記同期ロックを確立するステップと、
    を含む、請求項8に記載の方法。
  10. 前記方法は、前記クライアントによって実行され、
    前記方法は、前記同期ロックの確立を容易にするために、前記クライアントが前記既知のメディアストリームの前記基準フィンガープリントを受け取るステップをさらに含む、
    請求項9に記載の方法。
  11. コンピュータシステムであって、
    プロセッシングユニットと、
    非一時的データストレージと、
    前記非一時的データストレージに記憶されて、前記プロセッシングユニットが前記コンピュータシステムに動作を実行させるために実行できるプログラム命令と、
    を備え、前記動作は、
    クライアントが受け取っているメディアストリームを表すクエリフィンガープリントをあるフレームレートで生成することと、
    前記生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するために使用されるように提供することと、
    前記クライアントが受け取っている前記メディアストリームの識別後に、前記クエリフィンガープリントを生成する前記フレームレートを高めることと、
    前記高められたフレームレートで生成された前記クエリフィンガープリントを、(i)前記既知のメディアストリーム内のタイムラインに沿って定められた実時間と、(ii)前記クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立するために使用されるように提供することと、
    確立された前記同期ロックに基づいて決定された特定のクライアント時間時点で、前記クライアントが受け取っている前記メディアストリームのコンテンツ修正を実行することと、
    を含む、
    ことを特徴とするコンピュータシステム。
  12. 前記コンピュータシステムは、前記クライアントに配置される請求項11に記載のコンピュータシステム。
  13. 前記生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するために使用されるように提供することは、前記生成されたクエリフィンガープリントを、前記既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するためにサーバによって使用されるように前記サーバに送信することを含む、
    請求項11に記載のコンピュータシステム。
  14. 前記高められたフレームレートで生成された前記クエリフィンガープリントを、実時間とクライアント時間との間の同期ロックを確立するために使用されるように提供することは、前記高められたフレームレートで生成された前記クエリフィンガープリントを、前記同期ロックを確立するためにサーバによって使用されるように前記サーバに送信することを含む、
    請求項11に記載のコンピュータシステム。
  15. 前記コンピュータシステムは、前記クライアントに配置され、
    前記確立された前記同期ロックに基づいて決定された前記特定のクライアント時間時点で、前記クライアントが受け取っている前記メディアストリームの前記コンテンツ修正を実行することは、
    前記確立された前記同期ロックに基づいて決定された前記特定のクライアント時間時点で前記メディアストリームを修正するように前記クライアントに指示するコンテンツ修正指令を前記サーバから受け取ることと、
    前記特定のクライアント時間時点で前記メディアストリームの前記修正を実行することと、
    を含む、請求項14に記載のコンピュータシステム。
  16. 前記動作は、前記高められたフレームレートで生成された前記クエリフィンガープリントを基礎として使用して、実時間とクライアント時間との間の前記同期ロックを確立することをさらに含む、
    請求項11に記載のコンピュータシステム。
  17. 前記高められたフレームレートで生成された前記クエリフィンガープリントを基礎として使用して、実時間とクライアント時間との間の前記同期ロックを確立することは、
    前記高められたフレームレートで生成された前記クエリフィンガープリントと、前記既知のメディアストリームの基準フィンガープリントとを比較することと、
    前記高められたフレームレートで生成された前記クエリフィンガープリントと前記既知のメディアストリームの前記基準フィンガープリントとの前記比較に基づいて、クエリフィンガープリントと基準フィンガープリントとの間の一致を定める少なくとも1つの一致点を識別することと、
    前記クエリフィンガープリントのクライアント時間タイムスタンプと前記基準フィンガープリントの実時間タイムスタンプとの間のマッピングに基づいて前記同期ロックを確立することと、
    を含む、請求項16に記載のコンピュータシステム。
  18. 前記コンピュータシステムは、前記クライアントに配置され、
    前記動作は、前記同期ロックの確立を容易にするために、前記既知のメディアストリームの前記基準フィンガープリントを受け取ることをさらに含む、
    請求項17に記載のコンピュータシステム。
  19. プロセッシングユニットが動作を実行するために実行できる命令を記憶した非一時的コンピュータ可読媒体であって、前記動作は、
    クライアントが受け取っているメディアストリームを表すクエリフィンガープリントをあるフレームレートで生成することと、
    前記生成されたクエリフィンガープリントを、既知のメディアストリームを表す基準フィンガープリントとの比較に基づいて前記クライアントが受け取っている前記メディアストリームを識別するために使用されるように提供することと、
    前記クライアントが受け取っている前記メディアストリームの識別後に、前記クエリフィンガープリントを生成する前記フレームレートを高めることと、
    前記高められたフレームレートで生成された前記クエリフィンガープリントを、(i)前記既知のメディアストリーム内のタイムラインに沿って定められた実時間と、(ii)前記クライアントのクロックに従って定められたクライアント時間との間の同期ロックを確立するために使用されるように提供することと、
    確立された前記同期ロックに基づいて決定された特定のクライアント時間時点で、前記クライアントが受け取っている前記メディアストリームのコンテンツ修正を実行することと、
    を含む、ことを特徴とする非一時的コンピュータ可読媒体。
  20. 前記非一時的コンピュータ可読媒体は、前記クライアントに配置される請求項19に記載の非一時的コンピュータ可読媒体。
JP2021502405A 2018-07-16 2019-06-07 メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御 Active JP7053944B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862698629P 2018-07-16 2018-07-16
US62/698,629 2018-07-16
US16/166,948 US10623800B2 (en) 2018-07-16 2018-10-22 Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content
US16/166,948 2018-10-22
PCT/US2019/035961 WO2020018190A1 (en) 2018-07-16 2019-06-07 Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content

Publications (2)

Publication Number Publication Date
JP2021524714A JP2021524714A (ja) 2021-09-13
JP7053944B2 true JP7053944B2 (ja) 2022-04-12

Family

ID=68766124

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021502405A Active JP7053944B2 (ja) 2018-07-16 2019-06-07 メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御
JP2021502404A Active JP7053943B2 (ja) 2018-07-16 2019-06-07 メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021502404A Active JP7053943B2 (ja) 2018-07-16 2019-06-07 メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御

Country Status (7)

Country Link
US (6) US10506275B1 (ja)
EP (2) EP3824643B1 (ja)
JP (2) JP7053944B2 (ja)
KR (2) KR102266689B1 (ja)
CN (3) CN113038241B (ja)
TW (5) TWI736511B (ja)
WO (2) WO2020018189A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200275168A1 (en) * 2019-02-22 2020-08-27 The Nielsen Company (Us), Llc Use of Watermarking to Trigger Fingerprint-Related Action
US10972794B2 (en) 2019-05-10 2021-04-06 The Nielsen Company (Us), Llc Content-modification system with transmission delay-based feature
US11373440B2 (en) 2019-05-10 2022-06-28 Roku, Inc. Content-modification system with fingerprint data match and mismatch detection feature
US11386696B2 (en) 2019-05-10 2022-07-12 Roku, Inc. Content-modification system with fingerprint data mismatch and responsive action feature
US10846506B1 (en) 2019-05-10 2020-11-24 The Nielsen Company (Us), Llc Content-modification system with geographic area-based feature
WO2020231927A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US10796159B1 (en) 2019-05-10 2020-10-06 The Nielsen Company (Us), Llc Content-modification system with use of multiple fingerprint data types feature
CN113796093B (zh) * 2019-05-10 2023-09-29 六科股份有限公司 具有确定输入缓冲区切换延迟特征的内容修改系统
US11134305B2 (en) 2019-05-10 2021-09-28 Roku, Inc. Content-modification system with volume level adjustment feature
WO2020231813A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US11354323B2 (en) 2019-05-10 2022-06-07 Roku, Inc. Content-modification system with geographic area-based feature
US12028571B2 (en) 2019-05-10 2024-07-02 Roku, Inc. Content-modification system with issue detection and responsive action feature
WO2020247922A1 (en) 2019-06-07 2020-12-10 The Nielsen Company (Us), Llc Content-modification system with system resource request feature
US11627347B2 (en) 2019-06-07 2023-04-11 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11109088B2 (en) 2019-06-07 2021-08-31 Roku, Inc. Content-modification system with unscheduling feature
US11418826B2 (en) 2019-06-07 2022-08-16 Roku, Inc. Content-modification system with supplemental content stitching feature
US11418835B2 (en) 2019-06-07 2022-08-16 Roku, Inc. Content-modification system with technical characteristic-based selection feature
US11336949B2 (en) 2019-06-07 2022-05-17 Roku, Inc. Content-modification system with testing and reporting feature
US11546647B2 (en) 2019-06-07 2023-01-03 Roku, Inc. Content-modification system with probability-based selection feature
US11134292B2 (en) 2019-06-07 2021-09-28 Roku, Inc. Content-modification system with overlay handling feature
US11245870B2 (en) 2019-06-18 2022-02-08 Roku, Inc. Content-modification system with determination of input-buffer switching delay feature
US11381864B2 (en) 2019-07-22 2022-07-05 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11297367B2 (en) 2019-07-22 2022-04-05 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11095944B2 (en) 2019-08-19 2021-08-17 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11233840B2 (en) * 2019-09-13 2022-01-25 Roku, Inc. Use of in-band metadata as basis to access reference fingerprints to facilitate content-related action
CN114503600A (zh) * 2019-10-31 2022-05-13 六科股份有限公司 具有延迟缓冲器特征的内容修改系统
US11343565B2 (en) * 2020-04-08 2022-05-24 Roku, Inc. Content-modification system with feature for detecting and responding to a content modification by a tuner device
US11758220B2 (en) 2020-10-29 2023-09-12 Roku, Inc. Dynamic replacement of objectionable content in linear content streams
US11917231B2 (en) 2020-10-29 2024-02-27 Roku, Inc. Real-time altering of supplemental content duration in view of duration of modifiable content segment, to facilitate dynamic content modification
US12028561B2 (en) 2020-10-29 2024-07-02 Roku, Inc. Advanced creation of slightly-different-duration versions of a supplemental content segment, and selection and use of an appropriate-duration version, to facilitate dynamic content modification
US11494803B2 (en) * 2021-02-11 2022-11-08 Roku, Inc. Content modification system with viewer behavior-based content delivery selection feature
US11388473B1 (en) 2021-02-11 2022-07-12 Roku, Inc. Content-modification system with feature for controlling viewer exposure to spoilers in advertisements
US11695989B2 (en) 2021-02-11 2023-07-04 Roku, Inc. Content-modification system with user experience analysis feature
US20220264171A1 (en) * 2021-02-12 2022-08-18 Roku, Inc. Use of In-Band Data to Facilitate Ad Harvesting for Dynamic Ad Replacement
US11962870B2 (en) 2021-02-17 2024-04-16 Roku, Inc. Content-modification system with quiet content detection feature
US11979624B1 (en) * 2022-12-06 2024-05-07 Sling TV L.L.C. Correcting ad markers in media content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013440A (ja) 2002-06-05 2004-01-15 Matsushita Electric Ind Co Ltd データ配信システム、データ配信システムにおけるデータ中継装置及びデータ中継方法、および当該データ中継方法をコンピュータに実行させるためのプログラム
WO2013088822A1 (ja) 2011-12-16 2013-06-20 株式会社ソニー・コンピュータエンタテインメント 放送番組処理装置、放送番組処理方法、放送局装置、情報配信サーバ、プログラム及び情報記憶媒体
WO2017151611A1 (en) 2016-02-29 2017-09-08 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on single-match

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093790A1 (en) 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US20110213869A1 (en) 2000-09-25 2011-09-01 Yevgeny Korsunsky Processing data flows with a data flow processor
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US20040237102A1 (en) 2003-03-07 2004-11-25 Richard Konig Advertisement substitution
US20050177847A1 (en) 2003-03-07 2005-08-11 Richard Konig Determining channel associated with video stream
US7738704B2 (en) * 2003-03-07 2010-06-15 Technology, Patents And Licensing, Inc. Detecting known video entities utilizing fingerprints
US20050149968A1 (en) 2003-03-07 2005-07-07 Richard Konig Ending advertisement insertion
US7627808B2 (en) 2003-06-13 2009-12-01 Microsoft Corporation Computer media synchronization player
US8406607B2 (en) 2004-08-12 2013-03-26 Gracenote, Inc. Selection of content from a stream of video or audio data
US20090254392A1 (en) 2006-03-30 2009-10-08 Zander Van S Method and system for enterprise network access control and management for government and corporate entities
RU2009100847A (ru) * 2006-06-13 2010-07-20 Конинклейке Филипс Электроникс Н.В. (Nl) Идентификационная метка, устройство, способ для идентификации и синхронизации видеоданных
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US9367744B2 (en) * 2007-02-27 2016-06-14 Vobile, Inc Systems and methods of fingerprinting and identifying media contents
WO2008116137A2 (en) * 2007-03-22 2008-09-25 Nielsen Media Research, Inc. Digital rights management and audience measurement systems and methods
US20080274687A1 (en) 2007-05-02 2008-11-06 Roberts Dale T Dynamic mixed media package
JP2010532943A (ja) 2007-07-06 2010-10-14 エーエムビーエックス ユーケー リミテッド マルチメディア・システムにおいてコンテンツ・ストリームと一つまたは複数の感覚効果を出力するためのスクリプトを同期させる方法
US9955122B2 (en) * 2008-04-11 2018-04-24 Mobitv, Inc. Dynamic advertisement stream replacement
WO2009140819A1 (en) * 2008-05-21 2009-11-26 Yuvad Technologies Co., Ltd. A system for facilitating the search of video content
US9299364B1 (en) * 2008-06-18 2016-03-29 Gracenote, Inc. Audio content fingerprinting based on two-dimensional constant Q-factor transform representation and robust audio identification for time-aligned applications
US9510044B1 (en) 2008-06-18 2016-11-29 Gracenote, Inc. TV content segmentation, categorization and identification and time-aligned applications
US9313359B1 (en) * 2011-04-26 2016-04-12 Gracenote, Inc. Media content identification on mobile devices
US10631068B2 (en) * 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9519772B2 (en) * 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9015741B2 (en) 2009-04-17 2015-04-21 Gracenote, Inc. Method and system for remotely controlling consumer electronic devices
US20110063503A1 (en) * 2009-07-06 2011-03-17 Brand Steven M Synchronizing secondary content to a multimedia presentation
KR101071728B1 (ko) * 2009-10-01 2011-10-11 한국과학기술원 핑거 프린팅 시스템의 정합 과정에서 사용하는 디스턴스 메트릭을 학습을 통해서 결정하는 방법
CA2943957C (en) * 2010-05-04 2017-10-03 Avery Li-Chun Wang Methods and systems for synchronizing media
US8694533B2 (en) * 2010-05-19 2014-04-08 Google Inc. Presenting mobile content based on programming context
US8863165B2 (en) * 2010-11-01 2014-10-14 Gracenote, Inc. Method and system for presenting additional content at a media system
KR101181732B1 (ko) 2010-11-22 2012-09-19 (주)엔써즈 동영상 핑거프린트 정보에 기반한 동영상 마크업 데이터 생성 방법 및 이를 이용한 정보 제공 방법 및 시스템
EP2659663B1 (en) * 2010-12-29 2016-04-20 Telecom Italia S.p.A. Method and system for syncronizing electronic program guides
KR101211098B1 (ko) * 2011-04-25 2012-12-11 (주)엔써즈 클라이언트 단말기측으로 네트워크를 통해 방송에 포함된 광고와 연관된 정보를 제공하는 시스템 및 방법
KR101893151B1 (ko) * 2011-08-21 2018-08-30 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법
US8805827B2 (en) * 2011-08-23 2014-08-12 Dialogic (Us) Inc. Content identification using fingerprint matching
US8832723B2 (en) 2012-02-07 2014-09-09 Turner Broadcasting System, Inc. Method and system for a synchronous event manager for automatic content recognition
EP2800392A4 (en) * 2012-02-10 2015-09-09 Lg Electronics Inc IMAGE DISPLAY DEVICE AND OPERATING METHOD THEREFOR
US9703932B2 (en) * 2012-04-30 2017-07-11 Excalibur Ip, Llc Continuous content identification of broadcast content
US9553756B2 (en) * 2012-06-01 2017-01-24 Koninklijke Kpn N.V. Fingerprint-based inter-destination media synchronization
US20140106708A1 (en) 2012-10-15 2014-04-17 Juked, Inc. Continuous monitoring of data exposure and providing service related thereto
US9794642B2 (en) * 2013-01-07 2017-10-17 Gracenote, Inc. Inserting advertisements into video content
US9323840B2 (en) 2013-01-07 2016-04-26 Gracenote, Inc. Video fingerprinting
US9635417B2 (en) * 2013-04-05 2017-04-25 Dolby Laboratories Licensing Corporation Acquisition, recovery, and matching of unique information from file-based media for automated file detection
EP2989807A4 (en) * 2013-05-03 2016-11-09 Digimarc Corp WATERMARK MARKING AND SIGNAL RECOGNITION FOR ADMINISTERING AND DIVISION OF INTEGRATED CONTENT, METADATA RECORDING AND RELATED ARRANGEMENTS
EP3047653B1 (en) 2013-09-20 2020-05-06 Koninklijke KPN N.V. Correlating timeline information between media streams
TW201514887A (zh) * 2013-10-15 2015-04-16 Utechzone Co Ltd 影像信息的播放系統及方法
US20160248526A1 (en) * 2014-01-27 2016-08-25 Yangbin Wang Systems and methods of fingerprinting and identifying realtime broadcasting signals
KR20150104358A (ko) * 2014-03-05 2015-09-15 삼성전자주식회사 서버 장치 및 그의 핑거프린트 전송 방법, 그리고 방송수신장치
FR3018983B1 (fr) 2014-03-20 2016-05-06 Viaccess Sa Procede et dispositif d'identification d'un contenu en cours de visualisation sur un ecran
US10825056B1 (en) * 2014-04-17 2020-11-03 The Nielsen Company (Us), Llc Client-side video advertisement replacement using automatic content recognition
CN106233746B (zh) * 2014-08-21 2019-07-09 松下知识产权经营株式会社 内容辨识装置、内容辨识方法以及记录介质
WO2016068760A1 (en) * 2014-10-27 2016-05-06 Telefonaktiebolaget L M Ericsson (Publ) Video stream synchronization
KR102217191B1 (ko) * 2014-11-05 2021-02-18 삼성전자주식회사 단말 장치 및 그 정보 제공 방법
CN111757189B (zh) * 2014-12-01 2022-07-15 构造数据有限责任公司 用于连续介质片段识别的系统和方法
CN105808182B (zh) 2015-01-15 2019-09-17 财团法人工业技术研究院 显示控制方法及系统、广告破口判断装置、影音处理装置
US20160316261A1 (en) * 2015-04-23 2016-10-27 Sorenson Media, Inc. Automatic content recognition fingerprint sequence matching
US9516377B1 (en) * 2015-06-12 2016-12-06 Sorenson Media, Inc. Detecting channel change in automatic content recognition fingerprint matching
US9743154B2 (en) * 2015-09-09 2017-08-22 Sorenson Media, Inc Dynamic video advertisement replacement
KR102560635B1 (ko) * 2015-12-28 2023-07-28 삼성전자주식회사 컨텐트 인식 장치 및 그 동작 방법
JP6984083B2 (ja) * 2016-01-06 2021-12-17 テレビジョン・インサイツ、インコーポレイテッド 視聴者エンゲージメントを評価するためのシステム
WO2017151443A1 (en) * 2016-02-29 2017-09-08 Myteamcalls Llc Systems and methods for customized live-streaming commentary
CN107529071B (zh) * 2016-06-22 2019-03-01 腾讯科技(深圳)有限公司 一种视频数据处理方法以及装置
KR102410473B1 (ko) * 2016-08-01 2022-06-17 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US10616631B2 (en) 2016-08-01 2020-04-07 Samsung Electronics Co., Ltd. Electronic apparatus and method of operating the same
GB2599877B (en) 2016-08-24 2022-10-12 Grass Valley Ltd Comparing video sequences using fingerprints
KR20180028588A (ko) 2016-09-08 2018-03-19 주식회사 이타기술 입력 시점이 다른 동영상 데이터의 장면기반 핑거프린트를 이용한 적응적 프레임 동기화 방법 및 장치
US10659509B2 (en) * 2016-12-06 2020-05-19 Google Llc Detecting similar live streams ingested ahead of the reference content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013440A (ja) 2002-06-05 2004-01-15 Matsushita Electric Ind Co Ltd データ配信システム、データ配信システムにおけるデータ中継装置及びデータ中継方法、および当該データ中継方法をコンピュータに実行させるためのプログラム
WO2013088822A1 (ja) 2011-12-16 2013-06-20 株式会社ソニー・コンピュータエンタテインメント 放送番組処理装置、放送番組処理方法、放送局装置、情報配信サーバ、プログラム及び情報記憶媒体
WO2017151611A1 (en) 2016-02-29 2017-09-08 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on single-match

Also Published As

Publication number Publication date
KR102266690B1 (ko) 2021-06-22
KR20210020167A (ko) 2021-02-23
CN113038241B (zh) 2024-01-26
EP3824642B1 (en) 2024-01-03
JP2021524714A (ja) 2021-09-13
US10979758B2 (en) 2021-04-13
CN110959293B (zh) 2021-05-18
TWI736511B (zh) 2021-08-11
WO2020018189A1 (en) 2020-01-23
EP3824643B1 (en) 2024-01-03
US20200186860A1 (en) 2020-06-11
CN113038241A (zh) 2021-06-25
TWI716022B (zh) 2021-01-11
TW202007179A (zh) 2020-02-01
US11503362B2 (en) 2022-11-15
KR102266689B1 (ko) 2021-06-22
US10623800B2 (en) 2020-04-14
TW202007180A (zh) 2020-02-01
EP3824643A4 (en) 2022-04-20
US20210195276A1 (en) 2021-06-24
CN111183650B (zh) 2021-10-29
WO2020018190A1 (en) 2020-01-23
KR20210020166A (ko) 2021-02-23
US10506275B1 (en) 2019-12-10
US10992981B2 (en) 2021-04-27
US20200021877A1 (en) 2020-01-16
EP3824643A1 (en) 2021-05-26
EP3824642A4 (en) 2022-04-20
JP2021524713A (ja) 2021-09-13
US11290770B2 (en) 2022-03-29
TWI701947B (zh) 2020-08-11
TW202130191A (zh) 2021-08-01
EP3824642A1 (en) 2021-05-26
JP7053943B2 (ja) 2022-04-12
TWI762117B (zh) 2022-04-21
TW202044845A (zh) 2020-12-01
CN111183650A (zh) 2020-05-19
US20210219011A1 (en) 2021-07-15
US20200068248A1 (en) 2020-02-27
TWI725906B (zh) 2021-04-21
CN110959293A (zh) 2020-04-03
TW202126051A (zh) 2021-07-01

Similar Documents

Publication Publication Date Title
JP7053944B2 (ja) メディアコンテンツの時間的に正確な修正を容易にするフィンガープリントレートの動的制御
JP7170834B2 (ja) フレーム精度のコンテンツ修正の円滑化を支援する、低レートフィンガープリンティングを用いた補間に基づく時間マッピングの確立及び使用

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210315

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210315

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210315

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

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: 20220314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220331

R150 Certificate of patent or registration of utility model

Ref document number: 7053944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150