JP6935396B2 - メディアコンテンツタグデータの同期化 - Google Patents

メディアコンテンツタグデータの同期化 Download PDF

Info

Publication number
JP6935396B2
JP6935396B2 JP2018516737A JP2018516737A JP6935396B2 JP 6935396 B2 JP6935396 B2 JP 6935396B2 JP 2018516737 A JP2018516737 A JP 2018516737A JP 2018516737 A JP2018516737 A JP 2018516737A JP 6935396 B2 JP6935396 B2 JP 6935396B2
Authority
JP
Japan
Prior art keywords
media content
content item
time
item
hash value
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
JP2018516737A
Other languages
English (en)
Other versions
JP2018530257A (ja
JP2018530257A5 (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 JP2018530257A publication Critical patent/JP2018530257A/ja
Publication of JP2018530257A5 publication Critical patent/JP2018530257A5/ja
Application granted granted Critical
Publication of JP6935396B2 publication Critical patent/JP6935396B2/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/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/43074Synchronising 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 additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • H04N21/4358Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen for generating different versions, e.g. for different peripheral devices
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/454Content or additional data filtering, e.g. blocking advertisements
    • H04N21/4545Input to filtering algorithms, e.g. filtering a region of the image
    • H04N21/45457Input to filtering algorithms, e.g. filtering a region of the image applied to a time segment
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Description

実施形態は、概して、マルチメディアオーディオおよびビデオストリームの処理に関する。実施形態は、より具体的には、メディアコンテンツストリームのセグメントのタグ付けおよびメディアデバイスを横断したタグ付けされたセグメントの同期に関する。
本節に説明されるアプローチは、追究され得るアプローチであるが、必ずしも、以前に想起または追究されたアプローチではない。したがって、別様に示されない限り、本節に説明されるアプローチのいずれも、単なる本節におけるその含有によって、先行技術と見なされるものと仮定されるべきではない。
コンテンツプロバイダによって放送されるメディアコンテンツは、典型的には、コマーシャル時間が介在する、いくつかの別個の番組間隔を備える。例えば、放送されるテレビ番組は、最初の冒頭番組セグメントから開始し、その後、コマーシャル時間が続き、その後、別の番組セグメントが続き、その後、別のコマーシャル時間が続く等となり得る。典型的には、コマーシャル時間は、コマーシャル時間に先行する、および/またはその後に続く、番組間隔の持続時間未満である、限定された持続時間であって、コマーシャル時間の間、放送局は、典型的には、1つまたはそれを上回る広告を放送する。
ユーザは、多くの場合、コマーシャル時間の間に生じる広告コンテンツよりも番組セグメントの間に生じるコンテンツに関心がある。その結果、ユーザは、多くの場合、ユーザが広告の鑑賞に時間を費やす必要がないように、コマーシャル時間を通して少なくとも部分的に早送りする試みとして、メディアデバイスの早送り特徴を使用し得る。しかしながら、各コマーシャル時間の間の早送り特徴の動作は、不便であり得、特に、ユーザが高速で広告を通して早送りする場合、次の番組セグメントに精密に早送りするユーザの能力は、限定され得る。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
方法であって、
メディアデバイスにおいて、メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信するステップであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第1の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第1のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第2の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第2のハッシュ値データシーケンスを含む、ステップと、
前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの受信されたバージョンを記憶するステップと、
第1のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせるステップと、
前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値シーケンスを計算するステップと、
第1の計算されたハッシュ値シーケンスが前記第1のハッシュ値シーケンスに類似することを判定するステップと、
第2のユーザ入力に応答して、
第2の計算されたハッシュ値シーケンスが前記第2のハッシュ値シーケンスに類似することを判定するステップと、
前記記憶されたメディアコンテンツアイテムの表示に、前記第1の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第1の場所と、前記第2の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第2の場所との間の前記記憶されたメディアコンテンツアイテムの一部を表示させないステップと
を含む、方法。
(項目2)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスにローカルに記録される放送バージョンを備える、項目1に記載の方法。
(項目3)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるトランスコードされたバージョンを備える、項目1に記載の方法。
(項目4)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアコンテンツアイテム内の第1の位置と異なる重複セグメント位置を有する、重複コンテンツセグメントを備え、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値シーケンスと関連付けられた重複コンテンツセグメントは、前記重複セグメント位置を示し、前記方法はさらに、
第3の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに類似することを判定するステップと、
前記第2のユーザ入力に応答して、
前記記憶されたメディアコンテンツアイテムの表示に、前記重複コンテンツセグメントを前記第3の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第3の場所に表示させるステップと
を含む、項目1に記載の方法。
(項目5)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるクラウドDVRバージョンを備える、項目1に記載の方法。
(項目6)
前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第1の場所と前記第2の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップはさらに、
前記第2の場所と関連付けられたオフセットを計算するステップであって、前記オフセットは、前記第2の場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの受信されたバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の第1の位置に基づく、ステップ
を含む、項目1に記載の方法。
(項目7)
前記第2のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第2の場所を示し、前記方法はさらに、
前記選択に基づいて、前記オフセットを判定するステップと、
前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第1の場所と前記第2の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップと
を含む、項目6に記載の方法。
(項目8)
命令を記憶する1つまたはそれを上回る非一過性コンピュータ可読記憶媒体であって、前記命令は、1つまたはそれを上回るプロセッサによって実行されると、
メディアデバイスにおいて、メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信するステップであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第1の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第1のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第2の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第2のハッシュ値データシーケンスを含む、ステップと、
前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの受信されたバージョンを記憶するステップと、
第1のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせるステップと、
前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値シーケンスを計算するステップと、
第1の計算されたハッシュ値シーケンスが前記第1のハッシュ値シーケンスに類似することを判定するステップと、
第2のユーザ入力に応答して、
第2の計算されたハッシュ値シーケンスが前記第2のハッシュ値シーケンスに類似することを判定するステップと、
前記記憶されたメディアコンテンツアイテムの表示に、前記第1の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第1の場所と、前記第2の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第2の場所との間の前記記憶されたメディアコンテンツアイテムの一部を表示させないステップと、
を行わせる、1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目9)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスにローカルに記録される放送バージョンを備える、項目8に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目10)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるトランスコードされたバージョンを備える、項目8に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目11)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアコンテンツアイテム内の第1の位置と異なる重複セグメント位置を有する、重複コンテンツセグメントを備え、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値シーケンスと関連付けられた重複コンテンツセグメントは、前記重複セグメント位置を示し、前記1つまたはそれを上回る非一過性コンピュータ可読記憶媒体は、前記1つまたはそれを上回るプロセッサによって実行されると、
第3の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに類似することを判定するステップと、
前記第2のユーザ入力に応答して、
前記記憶されたメディアコンテンツアイテムの表示に、前記重複コンテンツセグメントを前記第3の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第3の場所に表示させるステップと
をさらに行わせる、項目8に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目12)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるクラウドDVRバージョンを備える、項目8に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目13)
前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第1の場所と前記第2の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップはさらに、
前記第2の場所と関連付けられたオフセットを計算するステップであって、前記オフセットは、前記第2の場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの受信されたバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の第1の位置に基づく、ステップ
を含む、項目8に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目14)
前記第2のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第2の場所を示し、前記1つまたはそれを上回る非一過性コンピュータ可読記憶媒体は、前記1つまたはそれを上回るプロセッサによって実行されると、
前記選択に基づいて、前記オフセットを判定するステップと、
前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第1の場所と前記第2の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないステップと
をさらに行わせる、項目13に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
(項目15)
ディアデバイスであって、
1つまたはそれを上回るプロセッサと、
記憶デバイスと、
命令を記憶する1つまたはそれを上回るコンピュータ可読記憶媒体であって、前記命令は、前記1つまたはそれを上回るプロセッサによって実行されると、前記メディアデバイスに、
メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信することであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第1の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第1のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第2の位置を示す前記メディアコンテンツアイテム内のインバンドデータの第2のハッシュ値データシーケンスを含む、ことと、
前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの受信されたバージョンを記憶することと、
第1のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせることと、
前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値シーケンスを計算することと、
第1の計算されたハッシュ値シーケンスが前記第1のハッシュ値シーケンスに類似することを判定することと、
第2のユーザ入力に応答して、
第2の計算されたハッシュ値シーケンスが前記第2のハッシュ値シーケンスに類似することを判定することと、
前記記憶されたメディアコンテンツアイテムの表示に、前記第1の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第1の場所と前記第2の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第2の場所との間の前記記憶されたメディアコンテンツアイテムの一部を表示させないことと
を行わせる、1つまたはそれを上回るコンピュータ可読記憶媒体と
を備える、メディアデバイス。
(項目16)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスにローカルに記録される放送バージョンを備える、項目15に記載のメディアデバイス。
(項目17)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるトランスコードされたバージョンを備える、項目15に記載のメディアデバイス。
(項目18)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアコンテンツアイテム内の第1の位置と異なる重複セグメント位置を有する、重複コンテンツセグメントを備え、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値シーケンスと関連付けられた重複コンテンツセグメントは、前記重複セグメント位置を示し、前記1つまたはそれを上回るコンピュータ可読記憶媒体は、前記1つまたはそれを上回るプロセッサによって実行されるとさらに、前記メディアデバイスに、
第3の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに類似することを判定することと、
前記第2のユーザ入力に応答して、
前記記憶されたメディアコンテンツアイテムの表示に、前記第3の計算されたハッシュ値シーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第3の場所における重複コンテンツセグメントを表示させることと
を行わせるさらなる命令を含む、項目15に記載のメディアデバイス。
(項目19)
前記メディアコンテンツアイテムの受信されたバージョンは、前記メディアデバイスに配信されるクラウドDVRバージョンを備える、項目15に記載のメディアデバイス。
(項目20)
前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の前記第1の場所と前記第2の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないことはさらに、
前記第2の場所と関連付けられたオフセットを計算することであって、前記オフセットは、前記第2の場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの受信されたバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の第1の位置に基づく、ことを
含む、項目15に記載のメディアデバイス。
(項目21)
前記第2のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第2の場所を示し、前記1つまたはそれを上回るコンピュータ可読記憶媒体は、前記1つまたはそれを上回るプロセッサによって実行されるとさらに、前記メディアデバイスに、
前記選択に基づいて、前記オフセットを判定することと、
前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテム内の第1の場所と第2の場所との間の前記記憶されたメディアコンテンツアイテムの部分を表示させないことと
を行わせるさらなる命令を含む、項目20に記載のメディアデバイス。
以下の説明では、説明目的のため、多数の具体的詳細が、本発明の完全な理解を提供するために記載される。しかしながら、本発明がこれらの具体的詳細を伴わずに実践されてもよいことは、明白となるであろう。他の事例では、周知の構造およびデバイスは、本発明を不必要に曖昧にすることを回避するために、ブロック図形態で示される。
実施形態は、以下の概略に従って本明細書に説明される。
1.0. 一般概要
2.0. 動作環境
3.0. 機能概要
3.1. メディアコンテンツタグ作成
3.2. メディアコンテンツタグ同期
3.3. トランスコードされたコンテンツのためのタグ同期
3.4. タグ品質保証
3.5. 自動セグメント検出
4.0. 実装機構−ハードウェア概要
5.0. 拡張および代替
図1は、実施形態が実装され得る、ネットワーク化されたコンピュータ環境を図示する。 図2は、開示される実施形態による、メディアコンテンツアイテムの第1のバージョンに対して作成されたタグデータと同一メディアコンテンツアイテムの他のバージョンを同期させるためのプロセスを図示する、フロー図である。 図3は、開示される実施形態による、同一メディアコンテンツアイテムの2つの異なるバージョンに関するハッシュ値シーケンスデータを比較する実施例を図示する。 図4は、開示される実施形態による、同一メディアコンテンツアイテムの2つのバージョン間の合致する部分の識別に基づいて、タグデータを同期させる実施例を図示する。 図5は、開示される実施形態による、トランスコードされたコンテンツに関するスキップ正確度のためのプロセスを図示する、フロー図である。 図6は、実施形態が実装され得る、コンピュータシステムを図示する。
1.0.一般概要
メディアコンテンツアイテムのセグメントを識別し、メディアデバイスが、遠隔で作成されたタグデータに基づいて、メディアコンテンツアイテム内の特定の場所に正確にジャンプすることを可能にする、タグデータの作成に関連する、アプローチ、技法、および機構が、開示される。本文脈では、メディアコンテンツアイテムの「セグメント」は、概して、メディアコンテンツアイテム全体内のある時間の長さを指し、メディアコンテンツアイテムは、例えば、放送されるテレビ番組、映画、スポーツイベント、または任意の他のタイプのメディアコンテンツを含んでもよい。
典型的な放送されるメディアコンテンツアイテムは、連続メディアコンテンツストリームとして放送される、いくつかの別個のセグメントを含有してもよい。例えば、典型的ホームコメディテレビ番組は、最初の導入セグメントを含み、その後、1つまたはいくつかのコマーシャルを含有するセグメントが続き、その後、さらなる番組コンテンツが続き、その後、コマーシャルの別のセグメントが続く等となり得る。別の実施例として、オリンピック等のスポーツイベントは、20分の飛込競技から成る第1のセグメントを含み、その後、5分のコマーシャルが続き、その後、15分セグメントの重量挙げが続き、その後、20分セグメントのフェンシングが続く等となり得る。
ある実施形態では、メディアコンテンツアイテムのためのタグデータの作成は、概して、メディアコンテンツアイテム内のセグメントの境界を識別する、メタデータまたは他の情報を生成するための1つもしくはそれを上回るプロセスを指す。上記に説明される例示的ホームコメディテレビ番組のためのタグデータは、例えば、導入セグメントがメディアコンテンツストリーム途中の時間0:03から開始し、第1のコマーシャルセグメントが時間5:14に開始し、第1の番組コンテンツセグメントが時間8:02に開始する等を示し得る。一般に、そのようなタグデータは、ユーザがメディアコンテンツアイテム内の任意の他の場所から特定の所望のセグメントに「ジャンプ」することを可能にするために使用されてもよい。例えば、例示的ホームコメディテレビ番組を視聴しているユーザは、番組の導入セグメントを視聴し、第1のコマーシャルセグメントへの到達に応じて、ユーザのメディアデバイスを時間8:02におけるコンテンツセグメントにジャンプさせ、先行するコマーシャルセグメントを迂回する、入力を提供してもよい。そのような入力は、限定ではないが、リモコン上のユーザ入力、モバイルデバイス等のポータブルデバイス上のユーザ入力を含んでもよく、ポータブルデバイスは、第2の画面等として使用される。ユーザ入力は、リモコン上のボタン押下、デバイス上のマウスクリック、タッチスクリーン対応デバイス上のタップ、ジェスチャ対応デバイス上のジェスチャ、および同等物を含んでもよい。
一実施例では、そのようなタグデータは、サービスプロバイダと関連付けられたメディアデバイスのユーザの利点のために、サービスプロバイダによって生成および提供されてもよい。本実施例では、サービスプロバイダは、特定のメディアコンテンツアイテム(例えば、テレビ番組、スポーツイベント等の初回放送)を視聴し、メディアコンテンツアイテム内のセグメント遷移を識別し、他のメディアデバイスへの配信のためのタグデータを作成するタスクを課される、人間の「タガー(tagger)」のグループを管理してもよい。サービスプロバイダと関連付けられたメディアデバイスのユーザは、次いで、サービスプロバイダによって作成されたタグデータを受信する、または別様にそれにアクセスし、ユーザが、タガーによって識別されるセグメント境界に基づいて、メディアコンテンツアイテムをナビゲートすることを可能にしてもよい。他の実施例では、タグデータは、個々のユーザまたは他のソースによって作成され、メディアデバイス間で共有されてもよい。
一実施形態では、ユーザのメディアデバイスは、サービスプロバイダまたは他の遠隔ソースによって作成されたタグデータとメディアコンテンツアイテムのメディアデバイスのローカルに記憶されたコピーを同期させるように構成されてもよい。一般に、遠隔で作成されたタグデータを同期させるプロセスは、メディアデバイスが、タグデータを作成するために使用されるメディアコンテンツアイテムのバージョンに対するメディアデバイスによって受信および記憶されたメディアコンテンツアイテムのバージョンにおける差異を考慮することを可能にする。差異は、例えば、異なる地理的地域において放送される異なるコマーシャル、異なるコマーシャルセグメント持続時間、および放送されるメディアコンテンツアイテムにおける他の地域変動を含んでもよい。
一実施形態では、メディアコンテンツアイテムのストリーミングコピーを受信し、メディアコンテンツアイテムと関連付けられたタグデータを使用する、メディアデバイスの能力を改良するための技法が、提供される。例えば、ユーザは、最初に、ホストメディアデバイス(例えば、ローカルDVRまたはクラウドベースのDVRシステム)を使用して、テレビ番組または他のメディアコンテンツアイテムを記録してもよい。ユーザは、次いで、後に、モバイルデバイスまたはタブレットコンピュータ等のポータブルデバイスを使用して、テレビ番組の再生を要求してもよく、ホストメディアデバイスは、テレビ番組をポータブルデバイスによるストリーミング再生に好適なフォーマットにトランスコードしてもよい。一実施形態では、ポータブルデバイスは、メディアコンテンツアイテムのローカルコピー全体を記憶することが不可能であり得るため、ホストメディアデバイスは、ポータブルメディアデバイスがタグデータを正確に使用することを可能にする、付加的タイミングメタデータをトランスコードされたメディアコンテンツストリームの中に埋め込むように構成されてもよい。
ある実施形態では、コンピューティングデバイスは、メディアコンテンツアイテム内の可能性として考えられるセグメント遷移を自動的に識別するように構成される。例えば、メディアコンテンツアイテムの種々の特性が、分析され、セグメント遷移に対応する可能性が高いメディアコンテンツアイテム内の点を判定してもよい。メディアコンテンツアイテム内の可能性として考えられるセグメント遷移点を識別するために使用され得る、特性の実施例として、限定ではないが、メディアコンテンツアイテムと関連付けられたクローズドキャプションテキストのスタイルの変化、メディアコンテンツアイテムのオーディオレベルの変化、場面ブランキングのインスタンスの検出、既知の広告のデータベース等が挙げられる。
2.0. 動作環境
図1は、1つまたはそれを上回る実施形態による、タグデータを作成および同期させるための例示的システム100のブロック図である。システム100は、1つまたはそれを上回るコンピューティングデバイスを備える。これらの1つまたはそれを上回るコンピューティングデバイスは、本明細書に説明される種々の論理コンポーネントを実装するように構成される、ハードウェアおよびソフトウェアの任意の組み合わせを備える。例えば、1つまたはそれを上回るコンピューティングデバイスは、本明細書に説明される種々のコンポーネントを実装するための命令を記憶する、1つまたはそれを上回るメモリと、1つまたはそれを上回るメモリ内に記憶された命令を実行するように構成される、1つまたはそれを上回るハードウェアプロセッサと、種々のコンポーネントによって利用および操作されるデータ構造を記憶するための1つまたはそれを上回るメモリ内の種々のデータリポジトリとを含んでもよい。
一実施形態では、システム100は、メディアデバイス102と、ポータブルデバイス104とを含む、1つまたはそれを上回るメディアデバイスを含む。本明細書で使用されるように、メディアデバイス102およびポータブルデバイス104は、概して、テレビ番組、映画、ビデオオンデマンド(VOD)コンテンツ等のメディアコンテンツアイテムをケーブル信号、地上信号、デジタルネットワークベースのデータ、別のメディアデバイス等から受信可能な任意のタイプのコンピューティングデバイスを指す。図1では、例えば、メディアデバイス102は、1つまたはそれを上回るコンテンツソース106から受信されたメディアコンテンツアイテムを再生する、記録する、ストリーミングする、および/または別様にそこにアクセスするために使用され得る、TVチューナ入力を含んでもよい。例えば、1つのコンテンツソース106は、ケーブルオペレータによって提供される、ライブテレビフィードを含んでもよく、他の例示的コンテンツソース106として、限定ではないが、ビデオオンデマンド(VOD)ライブラリ、第三者コンテンツプロバイダ(例えば、Netflix(R)、AmazonPrime(R)等)、ウェブベースのメディアコンテンツ、衛星放送コンテンツ、地上放送コンテンツ等が挙げられる。例示的メディアデバイス102として、限定ではないが、セットトップボックス(STB)、デジタルビデオレコーダ(DVR)、パーソナルコンピュータ、タブレットコンピュータ、ハンドヘルドデバイス、テレビ、および他のコンピューティングデバイスが挙げられる。
ある実施形態では、システム100はさらに、1つまたはそれを上回るIP対応ポータブルデバイス104を含んでもよい。一般に、IP対応メディアデバイス104は、公衆インターネット、イントラネット、LAN、WAN等の1つまたはそれを上回るデジタルネットワーク110を経由してメディアコンテンツを受信可能であるが、TVチューナ入力を含む場合もある、またはそうではない場合もある、任意のタイプのコンピューティングデバイスを指し得る。ポータブルデバイス104の実施例は、限定ではないが、STB、DVR、パーソナルコンピュータ、スマートフォン、タブレット、ラップトップ、ゲームデバイス、メディアサーバ、デジタルメディア受信機、テレビ、地上アンテナ等を含む。典型的ユーザは、ユーザの自宅全体を通した種々の場所およびいずれかの場所に位置し、使用され得る、いくつかのメディアデバイス102および/またはポータブルデバイス104を所有し得る。
ある実施形態では、メディアデバイス102およびポータブルデバイス104は、1つまたはそれを上回るネットワーク110を介して、サービスプロバイダ108に結合される。ネットワーク110は、広義には、有線、無線、地上マイクロ波、または衛星リンクのいずれかを使用する、1つまたはそれを上回るLAN、WAN、セルラーネットワーク(例えば、LTE、HSPA、3G、より古い技術等)、および/またはインターネットワークを表し、公衆インターネットを含んでもよい。さらに、各メディアデバイス102およびポータブルデバイス104は、1つまたはそれを上回るネットワーク110を介して、1つまたはそれを上回る他のメディアデバイスに結合されてもよい。
ある実施形態では、サービスプロバイダ108は、種々のサービスをメディアデバイス102およびポータブルデバイス104に提供するように構成されてもよい。本明細書により詳細に説明されるように、サービスプロバイダ108は、種々のメディアコンテンツアイテムのためのタグデータの作成を可能にし、タグデータをメディアデバイス102およびポータブルデバイス104に提供するように構成されてもよい。
以降により詳細に説明されるように、各メディアデバイス102は、メディアコンテンツアイテムのコンテンツソース106からの受信、メディアコンテンツアイテムの再生、メディアコンテンツアイテムの記録のスケジューリング、他のメディアデバイスへのメディアコンテンツアイテムのストリーミング等を含む、種々のアクションをメディアコンテンツアイテムに対して行うように構成されてもよい。
システム100は、本明細書に説明される機能性を提供するように構成されるコンポーネントの多くの可能性として考えられる配列のうちの1つのみを図示する。他の配列は、より少ない、付加的、または異なるコンポーネントを含んでもよく、コンポーネント間の作業の分割は、配列に応じて変動してもよい。
図1では、システム100の種々のコンポーネントが、矢印によって、種々の他のコンポーネントに通信可能に結合されるように描写される。これらの矢印は、システム100のコンポーネント間の情報フローのある実施例のみを図示する。矢印のいずれの方向またはあるコンポーネント間の矢印線の欠如も、あるコンポーネント自体間の通信の存在または不在を示すものと解釈されるべきではない。実際、システム100の各コンポーネントは、オープンポート、API、または他の好適な通信インターフェースを特徴としてもよく、それによって、コンポーネントが、本明細書に説明されるシステム100の機能のいずれかを遂行するために、必要に応じて、システム100の他のコンポーネントに通信可能に結合された状態になり得る。
3.0. 機能概要
メディアコンテンツアイテムのセグメントを識別するタグデータの作成を可能にし、さらに、任意の数のメディアデバイスを横断したタグデータの同期を可能にする、アプローチ、技法、および機構が、説明される。さらに説明されるのは、他の特徴の中でもとりわけ、ストリーミング再生のために、タグデータとメディアコンテンツアイテムのトランスコードされたバージョンを併用するための技法と、人間のタガーによって作成されたタグデータの品質を改良するための技法と、メディアコンテンツアイテム内のセグメント遷移を自動的に検出するための技法とである。
3.1. メディアコンテンツタグ作成
ある実施形態では、タグデータは、1つまたはそれを上回るメディアコンテンツアイテム内の種々のセグメントを識別するために作成される。例えば、タグデータは、概して、メディアコンテンツアイテム内の時間位置を識別する、任意のデータを含んでもよい。例えば、特定のテレビ番組のために作成されたタグデータは、種々のコマーシャル時間、番組のセグメント、ユーザ定義クリップ等と関連付けられた開始および/または終了時間を示してもよい。タグデータは、例えば、他の使用の中でもとりわけ、ユーザがメディアコンテンツアイテム内の特定の場所を効率的にナビゲートすることを可能にし、メディアデバイスが特定のセグメントをスキップする(例えば、コマーシャルセグメントをスキップする)ことを可能にするために使用されてもよい。
一実施形態では、サービスプロバイダ(例えば、サービスプロバイダ108)は、メディアコンテンツアイテムのためのタグデータを作成し、メディアデバイス(例えば、メディアデバイス102および/またはポータブルデバイス104)のユーザがメディアコンテンツアイテム内の種々の点により効率的にナビゲートすることを可能にしてもよい。サービスプロバイダ108は、例えば、メディアコンテンツアイテムがメディアデバイスによって記録されたことの検出に応じて、またはユーザが1つまたはそれを上回る特定のメディアコンテンツアイテムのためのタグデータを要求したことに応答して、特定のメディアコンテンツアイテムのために作成されたタグデータを送信してもよい。
一実施形態では、サービスプロバイダは、人間のタガーを使用して、メディアコンテンツアイテムのためのタグデータを作成してもよい。例えば、サービスプロバイダと関連付けられた人間のタガーは、タガーが特定のメディアコンテンツアイテムを視聴するにつれてセグメント遷移を識別することによって、タグデータを作成してもよい。例えば、人間のタガーは、メディアデバイスを使用して、テレビ番組の初回放送を鑑賞してもよい。メディアデバイスはさらに、タガーがセグメント遷移に対応するメディアコンテンツアイテム内の場所を規定することを可能にする(例えば、番組セグメントからコマーシャルセグメント、コマーシャルセグメントから番組セグメントへの戻り、1つの番組から別の番組等)、入力デバイスとインターフェースをとってもよい。ある実施形態では、タガーがセグメント遷移を視聴する度に、タガーは、入力を入力デバイスに提供し、セグメント遷移場所を識別する、新しいタグを作成してもよい。
ある実施形態では、タガーによって作成された各タグは、タガーによって規定されたメディアコンテンツ内の場所に対応する、メディアデバイスによって報告されるストリーム時間と関連付けて記憶されてもよい。本文脈では、ストリーム時間は、外部クロックに基づいてではなく、メディアコンテンツアイテムストリームの再生に対する時間を指す。したがって、特定のメディアコンテンツアイテムのためのタグデータは、タグの集合を備えてもよく、各タグは、タグのためのメディアコンテンツアイテム内の特定のストリーム時間を示し、識別されたセグメントのタイプ(例えば、コマーシャルセグメント、番組セグメント等)、タグに遭遇したときに行うための1つまたはそれを上回るアクション(例えば、アラートの表示、次のセグメントへの自動的スキップ、音声の消音、記録の開始または停止等)、タガーの識別、および/または任意の他の情報等、他の情報を含んでもよい。
ある実施形態では、タガーによって使用されるメディアデバイスはさらに、タガーによって視聴されるにつれて、メディアコンテンツアイテムのバージョン全体に関するタイミング情報を作成してもよく、タイミング情報は、メディアコンテンツアイテム内の場所から導出されるデータをメディアデバイスによって報告されるストリーム時間にマッピングする。タイミング情報の一実施例は、ハッシュ値シーケンスデータを含んでもよく、これは、メディアコンテンツアイテムとともに含まれるインバンドデータから導出されるハッシュ値を関連付けられたストリーム時間にマッピングする。例えば、メディアデバイスは、クローズドキャプションデータの完了された送信毎に1つまたはそれを上回るハッシュ値を計算し、タイムスタンプとハッシュ値を関連付けてもよい。
3.2. メディアコンテンツタグ同期
上記に説明されるようにメディアコンテンツアイテムのために作成されたタグデータは、概して、タグデータが作成されたメディアデバイスによって報告される時間値に基づいてメディアコンテンツアイテム内の場所を識別する、データを備えてもよい。しかしながら、他のメディアデバイス(例えば、タガーの場所と異なる地理的地域に位置するメディアデバイス)によって受信された同一メディアコンテンツアイテムは、タガーによって視聴されるメディアコンテンツアイテムのバージョンに対して差異を含有し得る。一実施例として、1人の視聴者によって受信されたメディアコンテンツアイテムのバージョンは、別の視聴者によって受信された同一メディアコンテンツアイテムの第2のバージョンには存在しないローカルに放送されるコマーシャルを伴う、コマーシャルセグメントを含み得る。別の実施例として、コマーシャルセグメントの全体的持続時間は、メディアコンテンツアイテムのバージョン毎に変動し得る。
一般に、メディアコンテンツアイテムの第1のバージョン(例えば、タグデータを作成するためにタガーによって使用されるバージョン)と同一メディアコンテンツアイテムの別のバージョン(例えば、人間のタガーから国内を横断して位置するユーザによって記録されるバージョン)との間の差異は、バージョンのうちの1つに対して時間値を規定するタグデータの使用を試みるとき、不正確性をもたらし得る。メディアコンテンツアイテムの第1のバージョン、すなわち、基準バージョンが、全ての他のバージョンが同期され得る、標準として使用されてもよい。このように、ユーザによってローカルに記録されたバージョン等の他のバージョンは、基準バージョンと他のバージョンとの間の差異を識別するタグデータを受信するメディアデバイスによって正規化されてもよい。したがって、一実施形態では、タグデータを遠隔ソースから受信するメディアデバイスは、1つまたはそれを上回るステップを行い、タグデータとメディアデバイスによって受信された関連付けられたメディアコンテンツアイテムのバージョンを同期させてもよい。
図2は、メディアコンテンツアイテムの基準バージョンのために作成されたタグデータと異なるメディアデバイスによって受信された同一メディアコンテンツアイテムの異なるバージョンを同期させるためのプロセスを図示する、フロー図である。一実施形態では、大まかには、メディアデバイスは、タグデータが基づくメディアコンテンツアイテムの基準バージョンのために作成されたタイミング情報とメディアコンテンツアイテムのローカルに記憶されたバージョンのためにメディアデバイスによって作成されたタイミング情報を比較し、次いで、タイミング情報の比較に基づいて、タグデータをマッピングすることによって、遠隔で作成されたタグデータとメディアコンテンツアイテムのローカルに記憶されたバージョンを同期させてもよい。
ブロック202では、メディアデバイスは、メディアコンテンツアイテムの第1のバージョンに対応する、第1のハッシュ値データシーケンスを受信する。メディアコンテンツアイテムの第1のバージョンは、例えば、メディアデバイスに記録するためにスケジュールされたテレビ番組または他のコンテンツであってもよい。前述のように、メディアデバイス102は、例えば、サービスプロバイダ108から、特定のメディアコンテンツアイテムのために作成されたタグデータを有する第1のハッシュ値データシーケンスを受信してもよい。例えば、クローズドキャプションデータが、キャッチフレーズ「BAZINGA, those trains are cool!」がMD5等の1つまたはそれを上回るハッシュ関数を使用して、第1のハッシュ値データシーケンスとして受信されるように変換されてもよい。MD5ハッシュ関数を使用した「BAZINGA, those trains are cool!」のハッシュ値データシーケンスは、「e195df76df3bd6b8b48b6c042560d1fc」である。「BIG BANG THEORY」の主人公のうちの1人が、特定のメディアコンテンツアイテムの規定されたストリーム時間に本キャッチフレーズを発し得る。メディアデバイスは、特定のメディアコンテンツアイテムの記録のスケジューリングに応答して、特定のメディアコンテンツアイテムのためのデータを要求するユーザ入力に応答して、または任意の他のイベントに基づいて、第1のハッシュ値データシーケンスを要求および受信してもよい。
ブロック204では、メディアデバイスは、メディアコンテンツアイテムの第2のバージョンのための第2のハッシュ値データシーケンスを作成する。例えば、タガーのメディアデバイスにおいてハッシュ値データシーケンスを作成することに関して上記に説明されるプロセスと同様に、メディアコンテンツアイテムを受信するメディアデバイスは、メディアコンテンツアイテムから導出されるデータ(例えば、クローズドキャプションデータ等)をハッシュ関数にフィードし、結果として生じるハッシュ値とメディアデバイスによって報告されるストリーム時間を関連付けることによって、ローカルタイミング情報を作成してもよい。前の実施例に戻ると、メディアコンテンツアイテムのローカルに記憶されたバージョンを受信する、メディアデバイスは、発話「BAZINGA, those trains are cool!」のクローズドキャプションデータをMD5ハッシュ関数にフィードし、結果として生じるハッシュ値とメディアデバイスによって報告されるストリーム時間を関連付けてもよい。したがって、メディアデバイスは、メディアコンテンツアイテムを処理し、ハッシュ値およびストリーム時間値のマッピングを備える、ローカルタイミング情報を作成することができる。一般に、任意のプロセスが、タガーによってタイミング情報を生成するためのプロセスに準拠する、ローカルタイミング情報を生成するために使用されることができる。
ブロック206では、メディアデバイスは、第1のハッシュ値データシーケンスと第2のハッシュ値データシーケンスを比較し、メディアコンテンツアイテムの基準バージョンとメディアコンテンツアイテムのローカルに記憶されたバージョンの合致する部分を識別する。例えば、メディアデバイスは、第1のハッシュ値データシーケンスからの一連のハッシュ値が第2のハッシュ値データシーケンスからの一連のハッシュ値と同一または類似することを判定することによって、メディアコンテンツアイテムの第1のバージョンの一部およびメディアコンテンツアイテムの第2のバージョンの一部が類似することを判定してもよい。再び、我々の実施例に戻ると、「BAZINGA, those trains are cool!」に関するハッシュ値データシーケンスである「e195df76df3bd6b8b48b6c042560d1fc」が、異なるバージョンにおいて比較され、メディアコンテンツアイテムの基準バージョンおよびローカルに記憶されたバージョンの合致する部分を識別してもよい。
図3は、2つの異なるバージョンのためのハッシュ値データシーケンスを比較することによって、メディアコンテンツアイテムの2つのバージョンの合致する部分を識別する実施例を図示する。例えば、図3は、同一メディアコンテンツアイテムの第1のバージョン302および第2のバージョン304を図示する。図3の特定の実施例では、例えば、メディアコンテンツアイテムは、冒頭セグメント、第1のセグメント、第2のセグメント、および結末セグメントを含む、テレビホームコメディを表してもよく、セグメントはそれぞれ、コマーシャル時間が介在される。
上記に説明されるように、別個のタイミング情報(例えば、ハッシュ値データシーケンス)が、メディアコンテンツアイテムの第1のバージョン302および第2のバージョン304毎に作成されてもよい。タイミング情報の両インスタンスは、例えば、ハッシュ値とメディアコンテンツアイテムの個別のバージョンを再生するデバイスによって報告されるストリーム時間をマッピングする、テーブルまたは他のデータ構造を備えてもよい。上記の前の実施例では、テキストストリング「BAZINGA, those trains are cool!」に関するハッシュ値データシーケンスは、MD5ハッシュ関数を使用して、「e195df76df3bd6b8b48b6c042560d1fc」を含んでもよい。本ハッシュ値データシーケンスは、メディアコンテンツアイテムの個別のバージョンを再生するデバイスによって報告されるストリーム時間にマッピングされてもよい。したがって、メディアコンテンツアイテムの第1のバージョン、すなわち、基準バージョンに関して、データ構造内の第1のエントリは、「1,e195df76df3bd6b8b48b6c042560d1fc,[0003]」であってもよく、これは、テーブルの行内のデータ値を表し、要素は、バージョン番号と、発せられたキャッチフレーズのハッシュ値と、メディアコンテンツアイテムのバージョンを再生するデバイスによって報告されるメディアコンテンツアイテムのストリーム時間に関連した秒単位の開始時間値とを含む。第2のバージョンに関するデータ構造内の第2のエントリは、「2,e195df76df3bd6b8b48b6c042560d1fc,[0005]」であってもよく、これは、同一キャッチフレーズが2秒後に現れることを識別する。
図3に図示されるように、バージョン毎のタイミング情報の比較は、合致するコンテンツ部分306Aおよび306Bを含む、いくつかの合致する部分をもたらす。図3にさらに図示されるように、合致するコンテンツ部分306Aおよび306Bは、メディアコンテンツアイテムの個別のバージョンの開始に対して正確に同一時間に開始しない場合がある(例えば、先行するコマーシャルセグメントの異なる長さに起因して)。図3では、例えば、メディアコンテンツアイテムの第1のバージョン302に関するタイミング情報は、コンテンツ部分306Aが時間5:47において開始することを報告し得る一方、メディアコンテンツアイテムの第2のバージョン304に関するタイミング情報は、時間5:42において開始することを報告し得る。
ブロック208では、ブロック206における合致する部分の識別に基づいて、メディアデバイスは、メディアコンテンツアイテムの第1のバージョンのために作成されたタグデータをメディアコンテンツアイテムの第2のバージョンにマッピングする。例えば、タグデータのマッピングは、概して、メディアコンテンツアイテムの種々の合致する部分の開始位置における差異の考慮を含んでもよい(例えば、図3の合致するコンテンツ部分306Aおよび306Bの開始時間差を考慮する)。メディアデバイスは、それが受信されると、タグデータをマッピングしてもよい、またはメディアコンテンツアイテムの第2のバージョンの再生の間、タグデータを動的にマッピングしてもよい。
図4は、メディアコンテンツアイテムの2つの異なるバージョンの合致する部分の識別に基づいて、タグデータをマッピングする実施例を図示する。例えば、人間のタガーは、メディアコンテンツアイテムの第1のセグメントの開始を識別するタグ402Aを含む、メディアコンテンツアイテムの第1のバージョン302のための作成されたタグデータを有してもよい。図3を参照して上記に説明されるように、2つの異なるメディアコンテンツアイテムのバージョンに関するタイミング情報の比較に基づいて、メディアデバイスは、部分306Aが部分306Bに対応することを判定してもよい。図4の実施例によって図示されるように、ブロック206の合致プロセスによって判定されたタイミング差は、合致するセグメントのマッピングを使用することによって考慮されてもよい。例えば、メディアデバイスは、メディアコンテンツアイテムの第1のバージョンからの部分306Aが時間5:47において開始する一方、メディアコンテンツアイテムの第2のバージョン内の同一部分306Bが時間5:42において開始することを判定してもよい。したがって、タガーが、第1のバージョン302に対して5:20点においてタグ402Aを作成した場合、メディアデバイスは、メディアコンテンツアイテムの第2のバージョン304のための対応するタグ402Bの場所が時間5:42であることを判定してもよい。
ある実施形態では、タグデータを同期させるためのプロセスは、メディアコンテンツアイテムの2つのバージョン間の他のタイプの変動も考慮するように構成されてもよい。例えば、メディアコンテンツアイテムのローカルに記録されたバージョンのある部分は、コンテンツが再生される速度に若干の増加または減少を呈し得る。ローカル放送局は、例えば、メディアコンテンツアイテムの一部の再生を若干加速し、コマーシャルの挿入のために利用可能な時間量を増加させ得る。別の実施例として、タグデータを同期させるためのプロセスは、タイミングデータが導出され得るインバンドデータ内のある程度の誤差または雑音量に耐えるように構成されてもよい。例えば、メディアデバイスは、メディアコンテンツアイテムの遠隔または基準バージョンの一部が同一メディアコンテンツアイテムのローカルに記録されたバージョンに合致するが、メディアコンテンツアイテムのローカルに記録されたバージョンが、遠隔バージョンと合致しない、いくつかの短間隙を合致する部分内に含むことを判定してもよい。本実施例では、メディアデバイスは、小間隙が信号雑音の結果であると仮定し、部分全体が合致することを判定するように構成されてもよい。一実施形態では、合致閾値は、メディアコンテンツの任意の2つの部分に関するタイミング情報が合致を示すパーセンテージを判定するために使用されてもよい。一実施例として、合致閾値は、80%に設定され、特定の部分に関するタイミング情報の80%が合致する場合、メディアデバイスが部分全体を合致部分として識別することを示してもよい。上記に説明されるもの等の種々のヒューリスティックルールが、メディアコンテンツアイテムの異なるバージョンの合致部分を判定するために使用されてもよい。
さらに別の実施例として、タイミング情報を合致させるためのプロセスは、特定のメディアコンテンツアイテム内のコンテンツの重複を考慮するように構成されてもよい。例えば、特定のテレビ番組は、特定の場面を描写する部分を含んでもよく、テレビ番組の後続部分は、前の場面の間に何が生じたかを視聴者に思い出させるために、特定の場面を2回目として再生することを含む、「再現」を含んでもよい。同一番組内で同一場面が1回を上回って再生される結果、メディアコンテンツアイテムのローカルに記録されたバージョンの部分と関連付けられたタイミング情報は、遠隔で作成されたタイミング情報の複数の部分と合致し得る(例えば、部分は、第1の場面および場面の「再現」の両方と合致し得る)。上記に説明されるように、マッピングされたハッシュ値データシーケンスを記憶するデータ構造は、データ構造内の別個のエントリとして記憶される、基準タグタイミング情報の複数の部分を含んでもよい。したがって、一実施形態では、メディアデバイスは、メディアコンテンツアイテムのローカルに記録されたバージョンの各部分と同一メディアコンテンツアイテムの遠隔バージョンの単一部分を合致させるように構成されてもよく、合致する部分は、正しい合致を確実にするために、同一の相対的順序で生じる。
一般に、図2のブロック206を参照して説明されるように、同一メディアコンテンツアイテムの2つのバージョン間の類似性を判定し、ブロック208において説明されるように、判定された類似性を使用してタグデータをマッピングするプロセスは、連続して、または並行して行われてもよい。上記に説明されるように、メディアデバイスは、結果として生じるマッピングされたタグ情報を使用して、ユーザがメディアコンテンツ内のタグ付けされた場所に正確にジャンプすること、セグメント(例えば、コマーシャルセグメント)を正確にスキップすること、および他の動作を行うことを可能にしてもよい。
3.3. トランスコードされたコンテンツのためのタグ同期
様々なポータブルデバイス(例えば、ポータブルデバイス104)が、再生のためにメディアコンテンツをストリーミング可能であって、そのようなポータブルデバイスのユーザは、メディアコンテンツアイテムのコピー全体を記録可能な他のメディアデバイスに関連して上記に説明されるタグデータの同一使用の一部または全部を所望し得る。しかしながら、多くのポータブルデバイスは、メディアコンテンツアイテムのコピー全体を記録および記憶不可能であり得るため、ポータブルデバイスは、上記に説明される同一方法においてメディアコンテンツアイテムのためのローカルタイミング情報を作成不能であり得る。
一実施例として、多くのタイプのポータブルメディアデバイスは、HTTPライブストリーミング(HLS)プロトコルを使用して、遠隔で記憶されたメディアコンテンツアイテムの再生をサポートし得る。一般に、HLSプロトコルは、ホストデバイスにおいて記憶されたメディアコンテンツストリームをHTTPベースのファイルダウンロードのシーケンスに分け、各ダウンロードは、ストリーム全体の一部に対応する。HLS規格は、例えば、概して、メディアコンテンツアイテムを特定の長さ(例えば、2秒)のセグメントに分割する。ポータブルデバイスメディアプレーヤが、HLS規格を使用してトランスコードされた遠隔で記憶されたメディアコンテンツアイテムの再生を要求すると、ホストデバイスは、クライアントメディアプレーヤに、作成されたセグメントに対応するURLのリストを提供してもよい。HLSプロトコルは、ここでは例証的実施例として使用されるが、他の適応ストリーミングフォーマットも、遠隔で記憶されたメディアコンテンツアイテムの再生をサポートするために使用されてもよい。また、用語「トランスコーディング」が、ここでは使用されるが、トランスマックス等のオリジナルファイルからのストリームの一部または全部を保存しながら、ビデオまたはオーディオファイルのフォーマットを変化させる他のプロセスも、使用されてもよい。
ポータブルデバイスメディアプレーヤが、メディアコンテンツアイテムをストリーミングし、メディアコンテンツアイテム内の特定の時間にジャンプする(例えば、3秒にジャンプする)ことを要求する場合、メディアプレーヤは、要求される時間を含有するセグメントに関する要求をホストデバイスに送信してもよい(例えば、セグメントがそれぞれ、2秒長である場合、メディアプレーヤは、2〜4秒に及ぶセグメントを要求してもよい)。要求時間点が、要求されるセグメントの中央にあるため、メディアプレーヤは、次いで、受信されたセグメントの途中の1秒にジャンプし、要求される3秒点に到着してもよい。
タグデータを使用するポータブルデバイスの能力に影響を及ぼす1つの要因は、特定の時点に「ジャンプ」するポータブルデバイスの能力の正確度に関連する。特定の時間にジャンプするポータブルデバイスの能力は、例えば、前の情報がフレームをデコードするために必要ではないメディアコンテンツストリーム内の点に対応する、ストリーム内の瞬時デコーダリフレッシュ(IDR)の頻度等のいくつかの要因によって影響され得る。ポータブルデバイスのジャンプする能力はまた、トランスコーディングの間に作成されたセグメント境界の位置および持続時間ならびにポータブルデバイスがセグメント境界および/またはIDRフレーム以外の点に位置する能力を有するかどうかに依存し得る。
いくつかのポータブルデバイスメディアプレーヤは、メディアプレーヤがメディアコンテンツアイテム内の特定の場所にジャンプすることができる、正確度のある構成を可能にする。例えば、いくつかのメディアプレーヤは、ユーザが、要求される時間点の各方向において許容公差を規定することを可能にしてもよい。別の実施例として、メディアプレーヤは、ユーザが、メディアプレーヤが要求される位置の最大1秒前または0.5秒後に位置付けることを可能にされることを規定することを可能にしてもよい。
タグデータを使用するポータブルデバイスの能力に影響を及ぼす要因の別の実施例として、メディアコンテンツアイテムの同一部分に関するポータブルデバイスメディアプレーヤによって報告されるメディア再生時間とDVR上のオリジナル記録からのメディア再生時間との間には、差異が存在し得る。実施例として、正確にゼロ秒のメディア時間において開始し、そのビデオが、ビデオの開始から秒数を示す数字を表示する、メディアデバイス(例えば、DVR)によるメディアコンテンツアイテムの記録を検討する。この場合、メディアコンテンツアイテムが、メディアデバイス上で再生中の場合に、数字10が表示されるとき、DVRによって報告されるメディア時間は、10秒である。しかしながら、メディアコンテンツアイテムをポータブルデバイスにストリーミングする間、ポータブルデバイスが、数字10が表示されている間に11秒の時間を報告し得る場合、ポータブルデバイスのメディア時間の概念と「真の」メディア時間との間には、1秒の相違が存在する。ここで不正確度を導入し得る、いくつかの要因が存在し得る。例えば、1つの要因は、セグメント再生リスト内でアドバタイズされる時間とトランスコードされているビデオの実際の時間との間の差異である。これらの相違が存在する少なくとも1つの理由は、IDRがセグメント境界と整列しておらず、ポータブルデバイスのみが、前の情報がフレームをデコードするためにポータブルデバイスによって必要とされないメディアコンテンツストリーム内の点として前述のように、IDRにジャンプ可能であり得ることであり得る。
一実施形態では、ポータブルデバイスがメディアコンテンツアイテムの基準バージョンの遠隔で作成されたタグデータを使用することを可能にするために、タイミングメタデータが、トランスコードされたメディアコンテンツストリームとともに含まれてもよい。例えば、メディアコンテンツアイテムを、例えば、HLS規格を使用してフォーマットされる、メディアコンテンツストリームとしてサービス提供するホストメディアデバイスは、メディアコンテンツストリーム内に、ポータブルデバイスがタグ付けされた再生点に遭遇すると、ポータブルデバイスに、アプリケーションにローカルタイムスタンプを逆報告させる、1つまたはそれを上回るタグ付けされたタイムスタンプ(例えば、基準バージョンストリーム時間)を埋め込んでもよい。このように、ポータブルデバイスのメディアプレーヤは、現在送信されているビデオのフレーム毎に、ホストデバイス上のストリーム時間を判定することができる。例えば、ストリーム時間は、任意の点において、DVRオリジナルローカル時間が判定され得、ポータブルデバイスメディアプレーヤによるその点の要求から相違が生じても、ポータブルデバイスが、その時点で、DVRの基準バージョンストリーム時間を判定することができるように、トランスコードされたコンテンツの中に挿入されてもよい。
一実施形態では、ジャンプの正確度を改良するために、ホストメディアデバイスは、計時されたメタデータを使用して、ストリーム時間情報をトランスコードされたストリーム内に埋め込んでもよい。これは、ポータブルデバイスメディアプレーヤが、ポータブルデバイスによって報告される時間とストリームの真の時間との間の相違を補償することを可能にする。埋め込まれたメタデータはさらに、全てが記録のためにホストメディアデバイスの報告されたストリーム時間に基づくであろうため、ポータブルデバイスが、ホストメディアデバイスによって使用される同一ストリーム時間調節タグデータを使用することを可能にする。
一実施形態では、ホストメディアデバイスは、ストリーム時間(ホストメディアデバイスの観点から)をトランスコードされたストリーム内に計時されたメタデータとして挿入するように構成される。ポータブルデバイスメディアプレーヤが計時されたメタデータを受信する度に、メディアコンテンツストリームを再生しているアプリケーションに、本ストリーム時間とともにコールバックを発行する。広告スキップ機能性は、本ストリーム時間を監視し、それをタグデータと比較することができる。いったんストリーム時間(計時されたメタデータによって示されるように)がタグデータに示されるようなセグメントのためのストリーム時間に遭遇すると、広告スキップ機能性が、次のタグ付けされたセグメントにジャンプするために使用されてもよい。ある実施形態では、正確なジャンプ場所を判定するために、ポータブルデバイスは、タグデータを確認し、ジャンプすべきストリーム時間を識別してもよい。ポータブルデバイスメディアプレーヤは、次いで、現在のストリーム時間およびポータブルデバイスによって報告される現在の時間を判定し、例えば、現在の時間+(ジャンプ点ストリーム時間−現在のストリーム時間)へのジャンプを発行してもよい。一実施形態では、オフセットは、ジャンプ点ストリーム時間と現在のストリーム時間との間の差異に追加される、現在の時間として判定されてもよい。他の実施形態では、オフセットが、計時されたメタデータおよびローカルに報告されるストリーム時間に基づいて、動的に判定されてもよい。
ある実施形態では、上記に説明される技法はまた、ホストメディアデバイスがクラウドDVRシステムであるインスタンスにおいて、またはより一般的には、クライアントデバイスが、ローカルタイミング情報が作成され得る、メディアコンテンツアイテムの完全なコピーを有していない、任意の時間において使用されてもよい。上記のいくつかの実施例は、HLSトランスコーディングの使用を伴ったが、同一プロセスは、ストリームの中へのデータの挿入を可能にする、他のトランスコーディングおよびストリーミングフォーマットにも適用され得る。
図5は、ストリーム時間情報をメディアコンテンツアイテムのトランスコードされたコピーの中に埋め込むための例示的プロセスを図示する。ブロック502では、ホストメディアデバイスは、メディアコンテンツアイテムのストリーミングコピーの要求を受信する。例えば、ユーザは、モバイルデバイスを使用して、ユーザのDVRデバイスに以前に記録および記憶されたメディアコンテンツアイテムの再生を要求してもよい。別の実施例として、ユーザは、モバイルデバイスを使用して、ユーザによってクラウドDVRに記録するように以前にスケジュールされたメディアコンテンツアイテムのコピーを要求してもよい。
ブロック504では、メディアコンテンツアイテムのトランスコードされたバージョンが、作成される。メディアコンテンツアイテムのトランスコードされたコピーは、「オンザフライ」で(例えば、メディアコンテンツアイテムをストリーミングする要求の受信に応答して)作成されてもよい、またはトランスコードされたコピーは、要求が受信される前の任意の時間に作成されてもよい(例えば、ローカルDVRまたはクラウドDVRシステムは、任意の要求が受信される前であっても、一部または全部の記録されたメディアコンテンツアイテムのトランスコードされたコピーを作成してもよい)。
ブロック506では、ホストメディアデバイスは、ストリーム時間情報をメディアコンテンツアイテムのトランスコードされたコピーの中に挿入する。例えば、ホストメディアデバイスは、ストリーム時間をメディアコンテンツアイテムのトランスコードされたコピーのメタデータフィールドの中に挿入してもよい。
ある実施形態では、トランスコードされたコンテンツを再生するポータブルデバイスに関するジャンプ正確度をさらに改良するために、ホストメディアデバイス上のジャンプ機能性は、アンカに対応しない、メディアコンテンツアイテム内の場所にジャンプすることを可能にするように構成されてもよい。例えば、ホストメディアデバイスは、セグメント境界に最も近いアンカの代わりに、直接、セグメント境界にジャンプするように構成されてもよい。これは、当然ながら、DVR上で再生しているときも、広告スキップをより正確にするという追加利点を有するであろう。
ある実施形態では、メディアコンテンツアイテムのトランスコードされたコピーのためのセグメントは、アンカと整合されることができる。メディアコンテンツアイテムのトランスコードされたコピーのためのセグメント境界が、アンカ時間と整合される場合、セグメント境界に対するアンカ間隔に起因する任意の不正確度は、事実上、排除され得る。
ある実施形態では、クラウドDVRは、上記に説明されるプロセスのうちのいくつかを簡略化してもよい。例えば、クラウドDVRは、単一トランスコードを生成し(「個人化された」記録毎に)、トランスコードされたファイルをサーバ上に記憶するように構成され得るため、ジャンプが生じる度に変化するストリーム時間の発行は、もはや存在しない。さらに、メディアコンテンツアイテムのセグメント化が、1回行われ、セグメントがポータブルデバイスによって読み出される度に、セグメントに対応するビデオデータが同一のままであるように、再生リストに記憶されてもよい。
ある実施形態では、上記に説明されるようなハッシュ値合致アルゴリズムが、トランスコードされたストリームを使用してサーバ上で行われる、次いで、クラウドDVRにダウンロードされる場合、標準的記録を再生するときと同一論理が、使用されることができる。ポータブルデバイスに関して、サーバのトランスコーダは、オンザフライトランスコーディングと同一方法において、ストリーム時間をトランスコードされたコピーの中に埋め込むことができる。代替として、モバイルデバイスアプリケーションは、クラウドDVRを用いて対処されており、ストリーム時間が埋め込まれることが期待されないことを判定してもよい。
3.3. タグ品質保証
上記第3.1節に説明されるように、サービスプロバイダは、種々のメディアコンテンツアイテムのためのタグデータを生成し、他のメディアデバイスが、メディアコンテンツアイテムをより容易にナビゲートすること、コマーシャルセグメントをスキップすること、および他の機能を行うことを可能にしてもよい。最初に作成されたタグデータの正確度は、したがって、タグデータを使用する任意の他のメディアデバイスに関連する。一実施形態では、作成されるときのタグデータの品質および正確度の改良を補助するために、人間のタガーおよび/または監督者が、タグ作成プロセスの間、タグの正確度を監視することを可能にする、1つまたはそれを上回るツールが、提供されてもよい。例えば、人間のタガーがタグを作成する度に(例えば、番組セグメントの開始をマーキングするために)、タガーは、タグのタイミング正確度を精査し、必要とされる場合、タグを改訂することを所望し得る。
上記に説明されるように、人間のタガーは、メディアコンテンツアイテムを再生するメディアデバイスと同期され、タガーがメディアコンテンツアイテム内の時間点を「マーキング」することを可能にする、入力デバイスを使用して、特定のメディアコンテンツアイテムのためのタグデータを作成してもよい。例えば、タガーが、特定のメディアコンテンツアイテムを視聴するにつれて、タガーは、ボタンを押下する、または別様に入力を提供し、メディアコンテンツアイテム内の着目セグメントの開始または終了を示してもよい。一実施形態では、タグを作成するためのシステムは、現在視聴されているメディアコンテンツアイテムの一部を記憶し、タガーが、巻き戻し、作成されたタグの正確度を精査することを可能にする、バッファを含んでもよい。
ある実施形態では、監督者は、同様に、記録されたコンテンツのバッファを精査し得るように、類似ツールへのアクセスを有してもよい。例えば、タガーが新しいタグを作成すると、監督者は、バッファを使用して、メディアコンテンツアイテムを巻き戻し、作成されたタグの正確度を精査することができる。
一実施形態では、タガーが、セグメント遷移に気付くと、タガーは、タガーがセグメント遷移点のマーキングに備え得るように、メディアコンテンツストリームをある時間量だけ戻る(例えば、8秒戻る)ようにジャンプさせる、入力を提供してもよい。いったんタガーが、遷移点をマーキングする入力を提供すると、タガーは、次いで、精査プロセスを開始することができ、マーキングされた点を含むメディアコンテンツアイテムの部分は、再び再生され、ユーザに、コンテンツ内にあるタグの場所を示す(例えば、タグ付けされた場所に遭遇すると、フラッシュまたは他の表示を作成することによって)。
一実施形態では、1つまたはそれを上回るメディアデバイスは、品質制御精査の目的のためにタグ付けされる、いくつかのエピソードを記録してもよい。例えば、いくつかのタグ付けされたエピソードは、タガーが、精査し、タグが正確であるかどうかを判定し得るように、毎日記録されてもよい。
3.4. 自動セグメント検出
上記に説明されるように、タグデータを作成するための1つの技法は、人間のタガーがメディアコンテンツアイテムを視聴し、例えば、入力デバイスを使用して、セグメントの開始および/または終了に対応する時間点を識別することによって、メディアコンテンツアイテム内の着目セグメントを手動で識別することを伴う。一実施形態では、メディアデバイスは、セグメントを識別する人間のタガーに依拠するのではなく、メディアコンテンツアイテム内のセグメントを自動的に検出するように構成されてもよい。メディアコンテンツアイテム内のセグメント境界の自動検出は、メディアコンテンツアイテムの人間のタグ付けに取って代わるために使用されてもよい、または人間のタグ付けを補完し、人間が作成したタグの正確度の確認を補助するために使用されてもよい。
ある実施形態では、メディアコンテンツアイテムセグメント境界の自動検出は、概して、1つのセグメントから別のセグメントへのクローズドキャプションスタイルの変化、セグメント間のオーディオレベルの変化、場面ブランキングの検出、コンテンツの特徴を採取し、特徴を既知のセグメントのデータベースと比較すること、加重された組み合わせ係数等を含む、メディアコンテンツアイテムの種々の分析を含んでもよい。例えば、クローズドキャプションスタイルの変化の検出は、典型的には、コマーシャルセグメントから番組セグメントへの遷移を伴い得る、クローズドキャプションデータのフォーマットまたは他の特性における種々の変化の検出を含んでもよい。別の実施例として、オーディオレベル変化の検出は、コンテンツセグメントと比較したコマーシャルセグメントのオーディオレベルの測定に基づいてもよい。
ある実施形態では、特徴は、メディアコンテンツアイテムの一部から導出され、既知のセグメントのデータベースにクエリするために使用されてもよい。例えば、データベースは、既知のコマーシャルに関する特徴のセットを含んでもよく、メディアデバイスは、メディアコンテンツストリーム内のコマーシャルセグメントの存在を判定するためにクエリしてもよい。
一実施形態では、自動場面検出プロセスが、ユーザに、検出されたセグメント遷移点に対応する、提案されるタグのセットを提示してもよく、その正確度が、次いで、ユーザによって精査および確認されてもよい。例えば、自動場面検出プロセスは、タイムライン上にオーバーレイされた提案されるセグメント遷移点とともに、メディアコンテンツアイテムのタイムラインを提示してもよい。ユーザは、次いで、メディアコンテンツアイテムを通して走査し、提案されるタグが実際のセグメント境界と整合されるかどうかを確認してもよい。
4.0. 実装機構−ハードウェア概要
一実施形態によると、本明細書に説明される技法は、1つまたはそれを上回る特殊目的コンピューティングデバイスによって実装される。特殊目的コンピューティングデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワーキングデバイス、または有線および/またはプログラム論理を組み込み、技法を実装する、任意の他のデバイスであってもよい。特殊目的コンピューティングデバイスは、技法を行うために有線であってもよい、または技法を行うように永続的にプログラムされる、1つまたはそれを上回る特定用途向け集積回路(ASIC)もしくはフィールドプログラマブルゲートアレイ(FPGA)等のデジタル電子デバイスを含んでもよい、またはファームウェア、メモリ、他の記憶装置、またはそれらの組み合わせ内のプログラム命令に従って技法を行うようにプログラムされる、1つまたはそれを上回る汎用ハードウェアプロセッサを含んでもよい。そのような特殊目的コンピューティングデバイスはまた、カスタム有線論理、ASIC、またはFPGAとカスタムプログラミングを組み合わせ、技法を遂行してもよい。
図6は、ある実施形態による、前述の技法を実装する際に利用されるコンピュータシステム600を図示する、ブロック図である。コンピュータシステム600は、例えば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレット、スマートフォン、サーバアプライアンス、コンピューティングメインフレーム、マルチメディアデバイス、ハンドヘルドデバイス、ネットワーキング装置、または任意の他の好適なデバイスであってもよい。
コンピュータシステム600は、情報を通信するための1つまたはそれを上回るバス602もしくは他の通信機構と、情報を処理するためにバス602と結合される、1つまたはそれを上回るハードウェアプロセッサ604とを含む。ハードウェアプロセッサ604は、例えば、汎用マイクロプロセッサであってもよい。バス602は、限定ではないが、内部プロセッサまたはメモリバス、シリアルATAバス、PCIエクスプレスバス、ユニバーサルシリアルバス、ハイパートランスポートバス、インフィニバンドバス、および/または任意の他の好適な有線もしくは無線通信チャネルを含む、種々の内部および/または外部コンポーネントを含んでもよい。
コンピュータシステム600はまた、プロセッサ604によって実行されるための情報および命令を記憶するためにバス602に結合される、ランダムアクセスメモリ(RAM)または他の動的もしくは揮発性記憶デバイス等のメインメモリ606を含む。メインメモリ606はまた、プロセッサ604によって実行される命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。そのような命令は、プロセッサ604にアクセス可能な非一過性記憶媒体内に記憶されるとき、コンピュータシステム600を命令内に規定された動作を行うようにカスタマイズされる特殊目的機械にする。
コンピュータシステム600はさらに、プロセッサ604のための静的情報および命令を記憶するためにバス602に結合される、1つまたはそれを上回る読取専用メモリ(ROM)608または他の静的記憶デバイスを含む。ソリッドステートドライブ(SSD)、磁気ディスク、光ディスク、または他の好適な不揮発性記憶デバイス等の1つもしくはそれを上回る記憶デバイス610が、情報および命令を記憶するために提供され、バス602に結合される。
コンピュータシステム600は、情報をコンピュータユーザに提示するために、バス602を介して、1つまたはそれを上回るディスプレイ612に結合されてもよい。例えば、コンピュータシステム600は、高精細マルチメディアインターフェース(HDMI(登録商標))ケーブルまたは他の好適なケーブル類を介して、液晶ディスプレイ(LCD)モニタに、および/またはピアツーピアWi−Fi直接接続等の無線接続を介して、発光ダイオード(LED)テレビに接続されてもよい。好適なタイプのディスプレイ612の他の実施例は、限定ではないが、プラズマディスプレイデバイス、プロジェクタ、ブラウン管(CRT)モニタ、電子ペーパ、仮想現実ヘッドセット、点字端末、および/または情報をコンピュータユーザに出力するための任意の他の好適なデバイスを含んでもよい。ある実施形態では、例えば、オーディオスピーカまたはプリンタ等の任意の好適なタイプの出力デバイスが、ディスプレイ612の代わりに利用されてもよい。
1つまたはそれを上回る入力デバイス614は、情報およびコマンド選択をプロセッサ604に通信するために、バス602に結合される。入力デバイス614の一実施例は、英数字および他のキーを含む、キーボードである。別のタイプのユーザ入力デバイス614は、方向情報およびコマンド選択をプロセッサ604に通信するため、そしてディスプレイ612上のカーソル移動を制御するためのマウス、トラックボール、またはカーソル方向キー等のカーソル制御616である。本入力デバイスは、典型的には、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有し、デバイスが平面内の位置を規定することを可能にする。好適な入力デバイス614のさらに他の実施例は、ディスプレイ612、カメラ、マイクロホン、加速度計、運動検出器、および/または他のセンサに添着される、タッチスクリーンパネルを含む。ある実施形態では、ネットワークベースの入力デバイス614が、利用されてもよい。そのような実施形態では、ユーザ入力および/または他の情報もしくはコマンドは、ローカルエリアネットワーク(LAN)もしくは他の好適な共有ネットワーク上のルータおよび/またはスイッチを介して、または入力デバイス614からコンピュータシステム600上のネットワークリンク620へのピアツーピアネットワークを介して、中継されてもよい。
コンピュータシステム600は、コンピュータシステムと組み合わせて、コンピュータシステム600を特殊目的機械にさせる、またはそのようにプログラムする、カスタマイズされた有線論理、1つまたはそれを上回るASICもしくはFPGA、ファームウェア、および/またはプログラム論理を使用して、本明細書に説明される技法を実装してもよい。一実施形態によると、本明細書の技法は、プロセッサ604がメインメモリ606内に含有される1つまたはそれを上回る命令の1つもしくはそれを上回るシーケンスを実行することに応答して、コンピュータシステム600によって行われる。そのような命令は、記憶デバイス610等の別の記憶媒体からメインメモリ606の中に読み込まれてもよい。メインメモリ606内に含有される命令のシーケンスの実行は、プロセッサ604に、本明細書に説明されるプロセスステップを行わせる。代替実施形態では、有線回路が、ソフトウェア命令の代わりに、またはそれと組み合わせて、使用されてもよい。
用語「記憶媒体」は、本明細書で使用されるように、機械を具体的方式で動作させるデータおよび/または命令を記憶する、任意の非一過性媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を備えてもよい。不揮発性媒体は、例えば、記憶デバイス610等の光学または磁気ディスクを含む。揮発性媒体は、メインメモリ606等の動的メモリを含む。記憶媒体の一般的形態は、例えば、フロッピー(登録商標)ディスク、可撓性ディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光学データ記憶媒体、穿孔パターンを伴う任意の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、NVRAM、任意の他のメモリチップもしくはカートリッジを含む。
記憶媒体は、伝送媒体と明確に異なるが、それと併用されてもよい。伝送媒体は、記憶媒体間の情報の転送に関わる。例えば、伝送媒体は、バス602を備えるワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体はまた、電波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
種々の形態の媒体が、実行のために、1つまたはそれを上回る命令の1つもしくはそれを上回るシーケンスをプロセッサ604に搬送する際に伴われ得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートドライブ上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、モデムを使用して、ケーブルネットワークまたはセルラーネットワーク等のネットワークを経由して、変調信号として命令を送信することができる。コンピュータシステム600にローカルのモデムは、データをネットワーク上で受信し、信号を復調し、伝送された命令をデコードすることができる。適切な回路が、次いで、データをバス602上に設置することができる。バス602は、データをメインメモリ606に搬送し、そこから、プロセッサ604は、命令を読み出し、実行する。メインメモリ606によって受信された命令は、随意に、プロセッサ604による実行前または後のいずれかにおいて、記憶デバイス610上に記憶されてもよい。
コンピュータシステム600はまた、ある実施形態では、バス602に結合される、1つまたはそれを上回る通信インターフェース618を含んでもよい。通信インターフェース618は、典型的には、双方向である、ローカルネットワーク622に接続されるネットワークリンク620へのデータ通信結合を提供する。例えば、通信インターフェース618は、統合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデム、またはデータ通信接続を対応するタイプの電話回線に提供するためのモデムであってもよい。別の実施例として、1つまたはそれを上回る通信インターフェース618は、ローカルエリアネットワーク(LAN)カードを含み、データ通信接続を互換性があるLANに提供してもよい。さらに別の実施例として、1つまたはそれを上回る通信インターフェース618は、802.11ベースのコントローラ、Bluetooth(登録商標)コントローラ、ロングタームエボリューション(LTE)モデム、および/または他のタイプの無線インターフェース等の無線ネットワークインターフェースコントローラを含んでもよい。任意のそのような実装では、通信インターフェース618は、種々のタイプの情報を表すデジタルデータストリームを搬送する、電気、電磁、または光学信号を送受信する。
ネットワークリンク620は、典型的には、1つまたはそれを上回るネットワークを通して、他のデータデバイスへのデータ通信を提供する。例えば、ネットワークリンク620は、ローカルネットワーク622を通して、ホストコンピュータ624またはサービスプロバイダ626によって動作されるデータ機器への接続を提供してもよい。例えば、インターネットサービスプロバイダ(ISP)であり得る、サービスプロバイダ626は、順に、ここで一般に「インターネット」628と称される、世界規模のパケットデータ通信ネットワーク等の広域ネットワークを通して、データ通信サービスを提供する。ローカルネットワーク622およびインターネット628は両方とも、デジタルデータストリームを搬送する、電気、電磁、または光学信号を使用する。デジタルデータをコンピュータシステム600へおよびそこから搬送する、種々のネットワークを通した信号ならびにネットワークリンク620上および通信インターフェース618を通した信号は、例示的形態の伝送媒体である。
ある実施形態では、コンピュータシステム600は、ネットワーク、ネットワークリンク620、および通信インターフェース618を通して、メッセージを送信し、プログラムコードおよび/または他のタイプの命令を含む、データを受信することができる。インターネット実施例では、サーバ630は、インターネット628、ISP626、ローカルネットワーク622、および通信インターフェース618を通して、アプリケーションプログラムのための要求されるコードを伝送し得る。受信されたコードは、受信されるにつれて、プロセッサ604によって実行される、および/または後の実行のために、記憶デバイス610もしくは他の不揮発性記憶装置内に記憶されてもよい。別の実施例として、ネットワークリンク620を介して受信された情報は、ウェブブラウザ、アプリケーション、またはサーバ等のコンピュータシステム600のソフトウェアコンポーネントによって解釈および/または処理されてもよく、これは、順に、可能性として、ソフトウェアコンポーネントのオペレーティングシステムおよび/または他の中間層を介して、それに基づく命令をプロセッサ604に発行する。
ある実施形態では、本明細書に説明されるシステムの一部または全部は、集合的に、システムの種々のコンポーネントをサーバ側プロセスのセットとして実装する、1つまたはそれを上回るコンピュータシステム600を含む、サーバコンピュータシステムである、またはそれを備えてもよい。サーバコンピュータシステムは、ウェブサーバ、アプリケーションサーバ、データベースサーバ、および/またはある前述のコンポーネントが説明される機能性を提供するために利用する、他の従来のサーバコンポーネントを含んでもよい。サーバコンピュータシステムは、限定ではないが、デスクトップコンピュータ、タブレット、またはスマートフォン、遠隔感知デバイス、および/または他のサーバコンピュータシステム等のユーザ動作クライアントコンピューティングデバイスを含む、種々のソースのいずれかからの入力データを備える、ネットワークベースの通信を受信してもよい。
ある実施形態では、あるサーバコンポーネントは、インターネット等の1つまたはそれを上回るネットワークによってシステムに結合される「クラウド」ベースのコンポーネントを使用して、完全または部分的に実装されてもよい。クラウドベースのコンポーネントは、処理、記憶装置、ソフトウェア、および/または他のリソースをシステムの他のコンポーネントに提供する、インターフェースをエクスポーズしてもよい。ある実施形態では、クラウドベースのコンポーネントは、コンポーネントが展開される別のエンティティの代わりに、第三者エンティティによって実装されてもよい。しかしながら、他の実施形態では、説明されるシステムは、単一エンティティによって所有および動作される、コンピュータシステムによって完全に実装されてもよい。
ある実施形態では、装置は、プロセッサを備え、前述の方法のいずれかを行うように構成される。ある実施形態では、非一過性コンピュータ可読記憶媒体は、1つまたはそれを上回るプロセッサによって実行されると、前述の方法のいずれかの実施を生じさせる、ソフトウェア命令を記憶する。
6.0. 拡張および代替
本明細書で使用されるように、用語「第1の」、「第2の」、「ある」、および「特定の」は、クエリ、計画、表現、ステップ、オブジェクト、デバイス、または他のアイテムを、これらのアイテムが導入された後に参照され得るように、相互から区別するための命名慣例として使用される。本明細書に別様に規定されない限り、これらの用語の使用は、参照されるアイテムの順序、タイミング、または任意の他の特性を含意しない。
前述の明細書では、本発明の実施形態は、実装毎に変動し得る、多数の具体的詳細を参照して説明された。したがって、本発明であり、かつ本発明の出願人によって意図されるものの唯一かつ排他的な指標は、任意の後続補正を含む、そのような請求項が生じる具体的形態における、本願から生じる一連の請求項である。この点において、具体的請求項従属性が、本願の請求項に記載されるが、本願の従属請求項の特徴は、必要に応じて、単に、一連の請求項に列挙される具体的従属性に従うことなく、本願の他の従属請求項の特徴および独立請求項の特徴と組み合わせられてもよいことに留意されたい。さらに、別個の実施形態が本明細書で議論されるが、本明細書で議論される実施形態および/または部分的実施形態の任意の組み合わせが、さらなる実施形態を形成するために組み合わせられてもよい。
そのような請求項内に含有される用語に関する本明細書に明示的に記載される任意の定義は、請求項において使用されるような用語の意味を決定するものとする。故に、請求項に明示的に列挙されない限定、要素、性質、特徴、利点、または属性は、そのような請求項の範囲をいかようにも限定するものではない。明細書および図面は、故に、限定的意味ではなく、例証的と見なされるべきである。

Claims (11)

  1. 方法であって、
    メディアデバイスにおいて、メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信することであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第1の時間ベースの位置を示す前記メディアコンテンツアイテム内のインバンドデータの第1のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第2の時間ベースの位置を示す前記メディアコンテンツアイテム内のインバンドデータの第2のハッシュ値データシーケンスを含む、ことと、
    前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの前記基準バージョンと異なる前記メディアコンテンツアイテムの第2のバージョンを記憶することと、
    第1のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせることと、
    前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値データシーケンスを計算することと、
    前記記憶されたメディアコンテンツアイテム内の第1の時間ベースの場所と関連付けられた第1の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに合致することを判定することと、
    第2のユーザ入力に応答して、
    前記記憶されたメディアコンテンツアイテムの表示が前記第1の時間ベースの場所に到達したことを判定すること、
    前記記憶されたメディアコンテンツアイテム内の第2の時間ベースの場所と関連付けられた第2の計算されたハッシュ値データシーケンスが前記第2のハッシュ値データシーケンスに合致することを判定すること、および、
    前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記第1の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記第2の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、こと
    を実行することと
    を含む、方法。
  2. 前記メディアコンテンツアイテムの前記第2のバージョンは、前記メディアコンテンツアイテム内の前記第1の時間ベースの位置と異なる重複セグメント位置を有する重複コンテンツセグメントを備え、前記重複コンテンツセグメントは、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値データシーケンスと関連付けられており、前記重複ハッシュ値データシーケンスは、前記重複セグメント位置を示し、前記方法はさらに、
    第3の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに類似することを判定することと、
    前記第2のユーザ入力に応答して、
    前記記憶されたメディアコンテンツアイテムの表示に、前記重複コンテンツセグメントを前記第3の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第3の時間ベースの場所に表示させること
    を含む、請求項1に記載の方法。
  3. 前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、ことはさらに、
    前記第2の時間ベースの場所と関連付けられたオフセットを計算することであって、前記オフセットは、前記第2の時間ベースの場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの前記第2のバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の前記第1の時間ベースの位置に基づく、こと
    を含む、請求項1に記載の方法。
  4. 前記第2のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第2の時間ベースの場所を示し、前記方法はさらに、
    前記選択に基づいて、前記オフセットを判定することと、
    前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの前記一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、こと
    を含む、請求項3に記載の方法。
  5. 命令を記憶する1つまたはそれを上回る非一過性コンピュータ可読記憶媒体であって、前記命令は、1つまたはそれを上回るプロセッサによって実行されると、
    メディアデバイスにおいて、メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信することであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第1の時間ベースの位置を示す前記メディアコンテンツアイテム内のインバンドデータの第1のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第2の時間ベースの位置を示す前記メディアコンテンツアイテム内のインバンドデータの第2のハッシュ値データシーケンスを含む、ことと、
    前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの前記基準バージョンと異なる前記メディアコンテンツアイテムの第2のバージョンを記憶することと、
    第1のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせることと、
    前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値データシーケンスを計算することと、
    前記記憶されたメディアコンテンツアイテム内の第1の時間ベースの場所と関連付けられた第1の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに合致することを判定することと、
    第2のユーザ入力に応答して、
    前記記憶されたメディアコンテンツアイテムの表示が前記第1の時間ベースの場所に到達したことを判定すること、
    前記記憶されたメディアコンテンツアイテム内の第2の時間ベースの場所と関連付けられた第2の計算されたハッシュ値データシーケンスが前記第2のハッシュ値データシーケンスに合致することを判定すること、および、
    前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記第1の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記第2の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、こと
    を実行することと
    を行わせる、1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
  6. 前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記第1の時間ベースの場所において開始し、前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、ことはさらに、
    前記第2の時間ベースの場所と関連付けられたオフセットを計算することであって、前記オフセットは、前記第2の時間ベースの場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの前記第2のバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の前記第1の時間ベースの位置に基づく、こと
    を含む、請求項5に記載の1つまたはそれを上回る非一過性コンピュータ可読記憶媒体。
  7. ディアデバイスであって、
    1つまたはそれを上回るプロセッサと、
    記憶デバイスと、
    命令を記憶する1つまたはそれを上回るコンピュータ可読記憶媒体であって、前記命令は、前記1つまたはそれを上回るプロセッサによって実行されると、前記メディアデバイスに、
    メディアコンテンツアイテムの基準バージョンと関連付けられた複数の時間ベースのメタデータを受信することであって、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテムがコンテンツプロバイダによって最初に放送された際にサービスプロバイダによって作成され、前記複数の時間ベースのメタデータは、前記メディアコンテンツアイテム内の第1の時間ベースの位置を示す前記メディアコンテンツアイテム内のインバンドデータの第1のハッシュ値データシーケンスおよび前記メディアコンテンツアイテム内の第2の時間ベースの位置を示す前記メディアコンテンツアイテム内のインバンドデータの第2のハッシュ値データシーケンスを含む、ことと、
    前記メディアデバイスにおける記憶デバイス上に、前記メディアコンテンツアイテムの前記基準バージョンと異なる前記メディアコンテンツアイテムの第2のバージョンを記憶することと、
    第1のユーザ入力に応答して、前記記憶されたメディアコンテンツアイテムの表示を生じさせることと、
    前記記憶されたメディアコンテンツアイテムの表示を生じさせながら、前記記憶されたメディアコンテンツアイテム内のインバンドデータのハッシュ値データシーケンスを計算することと、
    前記記憶されたメディアコンテンツアイテム内の第1の時間ベースの場所と関連付けられた第1の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに合致することを判定することと、
    第2のユーザ入力に応答して、
    前記記憶されたメディアコンテンツアイテムの表示が前記第1の時間ベースの場所に到達したことを判定すること、
    前記記憶されたメディアコンテンツアイテム内の第2の時間ベースの場所と関連付けられた第2の計算されたハッシュ値データシーケンスが前記第2のハッシュ値データシーケンスに合致することを判定すること、および、
    前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記第1の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記第2の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、こと
    を実行することと
    を行わせる、1つまたはそれを上回るコンピュータ可読記憶媒体と
    を備える、メディアデバイス。
  8. 前記メディアコンテンツアイテムの前記第2のバージョンは、前記メディアコンテンツアイテム内の前記第1の時間ベースの位置と異なる重複セグメント位置を有する重複コンテンツセグメントを備え、前記重複コンテンツセグメントは、前記メディアコンテンツ内のインバンドデータの重複ハッシュ値データシーケンスと関連付けられており、前記重複ハッシュ値データシーケンスは、前記重複セグメント位置を示し、前記1つまたはそれを上回るコンピュータ可読記憶媒体は、前記1つまたはそれを上回るプロセッサによって実行されるとさらに、前記メディアデバイスに、
    第3の計算されたハッシュ値データシーケンスが前記第1のハッシュ値データシーケンスに類似することを判定することと、
    前記第2のユーザ入力に応答して、
    前記記憶されたメディアコンテンツアイテムの表示に、前記重複コンテンツセグメントを前記第3の計算されたハッシュ値データシーケンスと関連付けられた前記記憶されたメディアコンテンツアイテム内の第3の時間ベースの場所に表示させることと
    を行わせるさらなる命令を含む、請求項7に記載のメディアデバイス。
  9. 前記メディアコンテンツアイテムの前記第2のバージョンは、前記メディアデバイスに配信されるクラウドDVRバージョンを備える、請求項7に記載のメディアデバイス。
  10. 前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、ことはさらに、
    前記第2の時間ベースの場所と関連付けられたオフセットを計算することであって、前記オフセットは、前記第2の時間ベースの場所と関連付けられた時間と前記メディアコンテンツアイテムと関連付けられた現在のストリーム時間との間の差異に追加される、前記メディアデバイスにおける前記メディアコンテンツアイテムの前記第2のバージョンと関連付けられた現在の時間を備え、前記現在のストリーム時間は、前記メディアコンテンツアイテム内の前記第1の時間ベースの位置に基づく、ことを含む、請求項7に記載のメディアデバイス。
  11. 前記第2のユーザ入力は、タイムラインユーザインターフェースの選択を備え、前記選択は、前記第2の時間ベースの場所を示し、前記1つまたはそれを上回るコンピュータ可読記憶媒体は、前記1つまたはそれを上回るプロセッサによって実行されるとさらに、前記メディアデバイスに、
    前記選択に基づいて、前記オフセットを判定することと、
    前記選択に基づいて、前記オフセットを使用して、前記記憶されたメディアコンテンツアイテムの表示に、前記記憶されたメディアコンテンツアイテムの前記一部をスキップさせることであって、前記記憶されたメディアコンテンツアイテムの前記一部は、前記記憶されたメディアコンテンツアイテム内の前記第1の時間ベースの場所において開始し、前記記憶されたメディアコンテンツアイテム内の前記第2の時間ベースの場所において終了する、ことと
    を行わせるさらなる命令を含む、請求項10に記載のメディアデバイス。
JP2018516737A 2015-09-30 2016-09-30 メディアコンテンツタグデータの同期化 Active JP6935396B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562235542P 2015-09-30 2015-09-30
US62/235,542 2015-09-30
PCT/US2016/055048 WO2017059384A1 (en) 2015-09-30 2016-09-30 Synchronizing media content tag data

Publications (3)

Publication Number Publication Date
JP2018530257A JP2018530257A (ja) 2018-10-11
JP2018530257A5 JP2018530257A5 (ja) 2019-11-07
JP6935396B2 true JP6935396B2 (ja) 2021-09-15

Family

ID=58407620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018516737A Active JP6935396B2 (ja) 2015-09-30 2016-09-30 メディアコンテンツタグデータの同期化

Country Status (7)

Country Link
US (4) US20170094341A1 (ja)
EP (1) EP3357250A4 (ja)
JP (1) JP6935396B2 (ja)
CN (1) CN108605153A (ja)
AU (1) AU2016329200B2 (ja)
CA (1) CA2997562A1 (ja)
WO (1) WO2017059384A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228817B2 (en) 2016-03-01 2022-01-18 Comcast Cable Communications, Llc Crowd-sourced program boundaries
US10735784B2 (en) * 2017-03-31 2020-08-04 Scripps Networks Interactive, Inc. Social media asset portal
US10986421B2 (en) 2017-07-03 2021-04-20 Dolby Laboratories Licensing Corporation Identification and timing data for media content
EP3425918A1 (en) * 2017-07-03 2019-01-09 Dolby Laboratories Licensing Corporation Identification and timing data for media content
US11132141B2 (en) * 2018-07-23 2021-09-28 Ionir Systems Ltd. System and method for synchronization of data containers
JP7326667B2 (ja) * 2018-07-31 2023-08-16 マーベル アジア ピーティーイー、リミテッド ストレージエッジにおけるメタデータ生成
US11875376B2 (en) 2019-06-17 2024-01-16 Optimizely North America Inc. Minimizing impact of experimental content delivery on computing devices
US11532013B2 (en) * 2019-06-17 2022-12-20 Optimizely, Inc. Optimized simultaneous use of content experimentation and content caching
CN110324689B (zh) * 2019-07-08 2022-05-17 成都酷狗创业孵化器管理有限公司 音视频同步播放的方法、装置、终端及存储介质
US11250045B2 (en) 2019-09-10 2022-02-15 Kyndryl, Inc. Media content modification
US11431775B2 (en) * 2019-11-20 2022-08-30 W.S.C. Sports Technologies Ltd. System and method for data stream synchronization
CN111031354B (zh) * 2019-12-09 2020-12-01 腾讯科技(深圳)有限公司 一种多媒体播放方法、装置及存储介质
GB202003379D0 (en) * 2020-03-09 2020-04-22 Echobox Ltd Split testing system and methods
EP4143699A4 (en) * 2020-04-28 2024-05-08 Editshare, LLC HETEROGENEOUS MEDIA EDITING ACROSS STORAGE PLATFORMS
CN113645510B (zh) * 2020-05-11 2023-03-21 北京达佳互联信息技术有限公司 一种视频播放方法、装置、电子设备及存储介质
JP2023138873A (ja) * 2020-08-21 2023-10-03 ソニーグループ株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US11611630B2 (en) * 2020-12-08 2023-03-21 Western Digital Technologies, Inc. Assisted multimedia content enhancement
US12015794B2 (en) * 2021-11-30 2024-06-18 Comcast Cable Communications, Llc Method and apparatus for content-driven transcoder coordination

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5926499A (en) * 1998-09-15 2000-04-03 Microsoft Corporation Interactive playlist generation using annotations
CN1220375C (zh) * 1999-09-20 2005-09-21 提维股份有限公司 电视影音广播数据流标签与解释的方法和装置
EP1885128A3 (en) * 1999-09-20 2008-03-12 Tivo, Inc. Closed caption tagging system
JP2002288041A (ja) * 2001-03-23 2002-10-04 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
US7827182B1 (en) * 2004-06-02 2010-11-02 Cisco Technology, Inc Searching for a path to identify where to move entries among hash tables with storage for multiple entries per bucket during insert operations
KR100672317B1 (ko) * 2005-02-22 2007-01-24 엘지전자 주식회사 Pvr 장치에서 사용자 설정 우선 순위에 따른 예약 녹화방법 및 장치
US8781967B2 (en) * 2005-07-07 2014-07-15 Verance Corporation Watermarking in an encrypted domain
US7899305B2 (en) * 2005-08-09 2011-03-01 At&T Intellectual Property I, L.P. Digital video recorder having skip-to-interval-from-end button
JP2007110188A (ja) * 2005-10-11 2007-04-26 Sony Corp 記録装置、記録方法、再生装置および再生方法
US7840540B2 (en) * 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US7661121B2 (en) * 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US8136142B2 (en) * 2009-07-02 2012-03-13 Ericsson Television, Inc. Centralized content management system for managing distribution of packages to video service providers
CN103069823A (zh) * 2010-04-14 2013-04-24 斯文·里思米勒 与媒体广播的平台无关的交互性
US9823981B2 (en) * 2011-03-11 2017-11-21 Microsoft Technology Licensing, Llc Backup and restore strategies for data deduplication
JP2013150221A (ja) * 2012-01-20 2013-08-01 Nec Personal Computers Ltd 情報処理装置、情報処理方法、及びプログラム
EP4250749A3 (en) * 2012-03-13 2023-11-29 TiVo Solutions Inc. Automatic commercial playback system
KR101909030B1 (ko) * 2012-06-08 2018-10-17 엘지전자 주식회사 비디오 편집 방법 및 이를 위한 디지털 디바이스
US9088406B2 (en) * 2012-07-29 2015-07-21 Qualcomm Incorporated Frame sync across multiple channels
US9197942B2 (en) * 2012-12-20 2015-11-24 Echostar Uk Holdings Limited Television receiver cloud service augmentation
RU2643434C2 (ru) * 2014-09-12 2018-02-01 Общество С Ограниченной Ответственностью "Яндекс" Способ предоставления пользователю сообщения посредством вычислительного устройства и машиночитаемый носитель информации
US10282255B2 (en) * 2015-07-15 2019-05-07 Microsoft Technology Licensing, Llc Coordinating file synchronization between a sync engine and another application that supports document collaboration
US10390056B2 (en) * 2015-08-27 2019-08-20 Mobilitie, Llc System and method for video streaming to a geographically limited subscriber set

Also Published As

Publication number Publication date
US20200169779A1 (en) 2020-05-28
CN108605153A (zh) 2018-09-28
US11805291B2 (en) 2023-10-31
CA2997562A1 (en) 2017-04-06
US20170094341A1 (en) 2017-03-30
JP2018530257A (ja) 2018-10-11
US11070866B2 (en) 2021-07-20
AU2016329200B2 (en) 2021-03-04
US20240056628A1 (en) 2024-02-15
US20210211763A1 (en) 2021-07-08
EP3357250A1 (en) 2018-08-08
WO2017059384A1 (en) 2017-04-06
AU2016329200A1 (en) 2018-04-26
EP3357250A4 (en) 2019-02-27

Similar Documents

Publication Publication Date Title
JP6935396B2 (ja) メディアコンテンツタグデータの同期化
US20240187663A1 (en) User control of replacement television advertisements inserted by a smart television
US11910066B2 (en) Providing interactive advertisements
CN109983750B (zh) 众包式的媒体内容的回放控制
US9306989B1 (en) Linking social media and broadcast media
US9621963B2 (en) Enabling delivery and synchronization of auxiliary content associated with multimedia data using essence-and-version identifier
US20120233646A1 (en) Synchronous multi-platform content consumption
US11778286B2 (en) Systems and methods for summarizing missed portions of storylines
US20150023652A1 (en) Updating of advertising content during playback of locally recorded content
US20150281787A1 (en) Social Network Augmentation of Broadcast Media

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210825

R150 Certificate of patent or registration of utility model

Ref document number: 6935396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150