JP2019525661A - 異なるソースからの伝送のために再スケジュールされたメディアアセットを記憶するためのシステムおよび方法 - Google Patents

異なるソースからの伝送のために再スケジュールされたメディアアセットを記憶するためのシステムおよび方法 Download PDF

Info

Publication number
JP2019525661A
JP2019525661A JP2019508811A JP2019508811A JP2019525661A JP 2019525661 A JP2019525661 A JP 2019525661A JP 2019508811 A JP2019508811 A JP 2019508811A JP 2019508811 A JP2019508811 A JP 2019508811A JP 2019525661 A JP2019525661 A JP 2019525661A
Authority
JP
Japan
Prior art keywords
media asset
content source
stored
media
content
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.)
Pending
Application number
JP2019508811A
Other languages
English (en)
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 JP2019525661A publication Critical patent/JP2019525661A/ja
Pending legal-status Critical Current

Links

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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/27Server based end-user applications
    • H04N21/278Content descriptor database or directory service for end-user access
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display 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/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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus

Abstract

1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースに再スケジュールされていることを効率的に決定するためのシステムおよび方法。例えば、現在受信されているメディアセット(例えば、イベント情報テーブル内のフィールド)を識別する、メディアアセットとともに受信されるデータパケットのコンテンツを調査することによって、セットトップボックスまたは他のユーザ機器デバイス上で実行されるメディアガイドアプリケーションは、記憶されるようにスケジュールされるメディアアセットが、最初にスケジュールされたコンテンツソースから現在伝送されていないことをリアルタイムで決定し得る。

Description

メディアがそれを通して消費者に配信されることができる、コンテンツソースの多種多様性および数を考慮すると、コンテンツプロバイダは、多くの場合、番組を異なるコンテンツソースに移動させ、それらのコンテンツを視聴する視聴者の数を最適化する。例えば、コンテンツプロバイダは、専門ケーブルチャネル(例えば、NBCSN)上に1つの番組をスケジュールし得るが、コンテンツプロバイダによって予想されるよりも大きい番組への関心(例えば、大規模なソーシャルメディアのフォロー)に起因して、これは、より多くの視聴者が受信するコンテンツソース上で(例えば、NBC上で)、および/または異なる時間に、全国的に伝送され得る。番組が開始するようにスケジュールされるよりもかなり前にスケジュール変更(例えば、番組が異なるチャネルおよび/または時間に移動した)が決定される、本状況では、コンテンツプロバイダは、次いで、セットトップボックスまたは他のユーザデバイスに授与される(例えば、番組一覧データベースからダウンロードされる)、番組一覧データベースを更新し、ユーザが利用可能な正しいコンテンツについて知らされることを確実にし得る。ユーザが記憶されるように番組をスケジュールした場合、録画能力を伴うセットトップボックスは、受信されたスケジュール変更情報に基づいて、正しいソースから番組を自動的に記憶し得る。しかしながら、特定の番組がリアルタイムで異なるチャネルに再スケジュールされる、または「上げられる」、第2の状況が存在し、これは、立て続けにスケジュールされるスポーツイベントでは一般的である。
(番組が放送される、または開始しようとしていると)所与の番組がリアルタイムで異なるチャネルに上げられる状況では、コンテンツプロバイダは、上記で説明されるような番組一覧データベースを更新するために十分な時間を有していない場合がある。具体的には、従来のシステムは、データベースが更新され、更新がセットトップボックスにダウンロードされている間に実質的な遅延時間を被る。本遅延時間は、セットトップボックスに、番組のセグメント、またはおそらく全体を記憶することをできなくさせる。遅延時間を軽減するために、いくつかのシステムは、オブジェクトおよび発話認識を使用し、番組のコンテンツに基づいて、番組のスケジュール変更がリアルタイムで起こったこと(例えば、アナウンサが、スポーツイベントが長引いたため、次のスケジュールされたスポーツイベントの開始が異なるチャネル上にあろうと言う)を決定する。しかしながら、そのようなシステムは、計算的に集約的であり、十分に較正されたときでさえも、必ずしも正確ではない。加えて、これらのシステムは、アナウンサによって/画面上に提示される情報に依存し、それらは、アナウンサがそれを言及できなかった場合に、スケジュール変更を決定することができない場合がある。
故に、システムおよび方法が、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが別のコンテンツソースに再スケジュールされていることを決定するために提示される。システムおよび方法は、メディアアセットが再スケジュールされていることと、メディアアセットが再スケジュールされているソースとをより効率的に決定するために使用され得る。例えば、現在受信されているメディアセット(例えば、イベント情報テーブル内のフィールド)を識別する、メディアアセットとともに受信されるデータパケットのコンテンツを調査することによって、セットトップボックスまたは他のユーザ機器デバイス上で実行されるメディアガイドアプリケーションは、記憶されるようにスケジュールされるメディアアセットが、最初にスケジュールされたコンテンツソースから現在伝送されていないことをリアルタイムで決定し得る。メディアアセットが最初にスケジュールされたコンテンツソースから利用可能ではないことを決定するステップに応答して、メディアガイドアプリケーションは、他のコンテンツソースから受信されるパケットを通して検索し、メディアアセットが再スケジュールされているコンテンツソースを決定し、そのコンテンツソースからメディアアセットを記憶し得る。いくつかの実施形態では、メディアガイドアプリケーションは、最初にスケジュールされたコンテンツソースへのそれらの類似性に基づいて、最初に検索するコンテンツソースを選択的に選定する(例えば、番組がESPN上に最初にスケジュールされた場合、ESPN2が、最初に検索されたコンテンツソースの間にあり得る)。
いくつかの側面では、メディアガイドアプリケーションは、スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信する。例えば、メディアガイドアプリケーションは、午後4時から6時まで、チャネル「ESPN」からユーザ入力インターフェース(例えば、リモコン)を介して特定のフットボールの試合「Michigan対USC」を記憶するオプションのユーザ選択を受信してもよい。ユーザは、モバイルデバイス、または記憶される番組を選択するための任意の他の方法を使用して、セットトップボックスから遠隔で、具体的チームの全てのフットボールの試合のための連続録画オプションを通して、番組一覧画面内(例えば、グリッドガイド内)のフットボールの試合を記憶するオプションを選択してもよい。
メディアガイドアプリケーションは、次いで、データ構造へのエントリとして、スケジュールされた時間間隔中に第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を記憶し、エントリは、現在のコンテンツソースを示す第1のフィールドを含む。例えば、メディアガイドアプリケーションは、記憶装置の中にローカルで位置し得る、または通信ネットワークを介して遠隔でアクセス可能であり得る、メディアアセットとユーザが記憶することを要求した伝送のためにメディアアセットがスケジュールされるときのスケジュールされた間隔とのデータベースを維持してもよい。具体的実施例として、データベースは、各行が、別個のセル(すなわち、フィールド)の中に、記憶のためにスケジュールされるメディアアセットの識別子、開始時間、終了時間、およびメディアアセットが利用可能であるコンテンツソース(すなわち、現在のコンテンツソース)を含有する、テーブルに配列されてもよい。メディアガイドアプリケーションは、SQLスクリプト等のデータベースクエリ言語スクリプトを実行することによって、本情報を読み取って/書き込んでもよい。例えば、メディアガイドアプリケーションは、以下でさらに説明されるように、メディアガイドアプリケーションが、第1のメディアアセットが異なるコンテンツソースに再スケジュールされたことを決定する場合に、異なるコンテンツソースであるように現在のコンテンツソースを含有するフィールドを更新してもよい。
メディアガイドアプリケーションは、次いで、スケジュールされた時間間隔中に、第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する。例えば、スケジュールされた時間間隔がメディアアセットのために開始した(例えば、午後4時である)ことを決定することに応じて、メディアガイドアプリケーションは、プログラムスクリプトを実行して、第1のコンテンツソース(例えば、ESPN)から受信されるデータパケットをチェックし、フットボールの試合が第1のコンテンツソースから現在利用可能である(例えば、フットボールの試合がESPNで放送されている)かどうかを決定してもよい。
メディアガイドアプリケーションは、監視されたデータパケットから第1のメディアアセットインジケータを抽出する。例えば、メディアガイドアプリケーションは、宣言的「選択」コマンドを利用してSQLスクリプトを実行することによって、メディアアセットのための視聴覚データとともにデータパケットの中で伝送されるテーブル内のフィールドからメディアアセットインジケータを抽出してもよい。識別子は、第1のメディアアセットに特有であり、メディアガイドアプリケーションがそれを他のメディアアセットと区別することを可能にし、これは、メディアアセットの名称、またはコンテンツソースからのスケジュールされた伝送時間に基づく自動的にハッシュ化された整数であってもよい。いくつかの実施形態では、メディアガイドアプリケーションは、第1のコンテンツソースからのビデオに関連する情報を含有するテーブルを受信する。例えば、テーブルは、番組のインジケータ(例えば、番組に対応する一意の英数字コード)および番組の説明等の第1のコンテンツソースから現在受信されている番組に関するメタデータを含有する、行に編成されてもよい。メディアガイドアプリケーションは、次いで、第1のメディアアセットインジケータに対応するテーブル内のフィールドから値を読み出してもよい。例えば、上記で説明されるように、メディアガイドアプリケーションは、「FTBL1485」等のインジケータを読み出してもよい。
メディアガイドアプリケーションは、抽出された第1のメディアアセットインジケータを第1のメディアアセットの識別子と比較する。例えば、メディアガイドアプリケーションは、メディアアセットの識別子を含有するデータベースにアクセスし、メディアアセットストリームから抽出されるメディアアセットインジケータがデータベースの中に記憶された第1のメディアアセットの識別子に合致するかどうかを(例えば、文字合致を介して)決定してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、ユーザ要求を用いて、第1のメディアアセットの識別子を記憶する。例えば、メディアガイドアプリケーションが、フットボールの試合を記憶するためのユーザ選択を受信するとき、メディアガイドアプリケーションは、フットボールの試合を提供するコンテンツソースに由来し得る、フットボールの試合の識別子を記憶する。メディアガイドアプリケーションは、第1のメディアアセットの識別子の文字を抽出された第1のメディアアセットインジケータの文字と比較してもよい。例えば、メディアガイドアプリケーションは、「FTBL1485」等の抽出されたインジケータの各文字を記憶された識別子と比較してもよい。メディアガイドアプリケーションは、閾値数または割合の文字が合致する場合に、抽出されたインジケータが記憶された識別子に合致することを決定してもよい。
メディアガイドアプリケーションは、抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応しないことを決定するステップに応答して、第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、複数のコンテンツソース上で受信されるデータパケットを検索する。例えば、メディアガイドアプリケーションは、フットボールの試合の識別子に合致しない、ESPNから現在受信されているメディアアセットからの抽出されたインジケータに基づいて(例えば、上記で説明されるようなデータベースとの比較に基づいて)、ESPNで午後4時に放送されるようにスケジュールされたフットボールの試合が現在放送されていないことを決定してもよい。本決定に応答して、メディアガイドアプリケーションは、上記で説明されるように、データパケットからインジケータを抽出し、抽出されたインジケータをメディアアセットの識別子と比較することによって、メディアアセットが利用可能であるコンテンツソースを見出そうとして、ユーザがサブスクライブする他のコンテンツソースを通してスキャンしてもよい。
いくつかの実施形態では、第2のデータパケットに関して複数のコンテンツソース上で受信されるデータパケットを検索するとき、メディアガイドアプリケーションは、複数のコンテンツソースのための情報を含有するデータベースにアクセスし、情報は、複数のコンテンツソースのうちの各コンテンツソースに類似する複数のコンテンツソースのサブセットのインジケーションを含む。例えば、メディアガイドアプリケーションは、メモリの中にローカルで記憶されるか、または通信ネットワークを介してアクセス可能なメディアガイドデータソースに遠隔で記憶されたデータベースにアクセスしてもよい。データベースは、自己参照様式で設計されてもよく、識別子およびコンテンツソース毎の情報は、単一のテーブルの中に非隣接状態で含有され、ポインタを介してテーブル内の類似コンテンツソースに対応する適切なフィールドにリンクされ得る。メディアガイドアプリケーションは、次いで、第1のコンテンツソースと関連付けられるデータベース内のフィールドから、第2のコンテンツソースが第1のコンテンツソースに類似するというインジケーションを読み出す。例えば、メディアガイドアプリケーションは、第1のコンテンツソースと関連付けられるフィールドから第2のコンテンツソースの識別子を(例えば、宣言的「選択」命令文を介して)読み出す、SQLスクリプト等のデータベースクエリ言語スクリプトを実行してもよい。メディアガイドアプリケーションは、次いで、第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータに関して、第2のコンテンツソースからのデータパケットを検索する。例えば、上記で説明されるように、メディアガイドアプリケーションは、第2のコンテンツソースから現在伝送されているメディアアセットのインジケータを抽出し、それが第1のメディアアセットの識別子に合致するかどうかを決定する。
メディアガイドアプリケーションは、複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが、第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含むことを決定するステップに応答して、記憶されたエントリの第1のフィールド内の現在のコンテンツソースを更新し、第1のメディアアセットが第2のコンテンツソースから伝送されていることを示す。例えば、コンテンツソース「ESPN2」からの抽出されたデータパケットから、フットボールの試合がESPNの代わりにESPN2で放送されていることを決定することに応じて、メディアガイドアプリケーションは、データ構造の中に記憶されたエントリ内の現在のコンテンツソースに対応するフィールドを更新し、フットボールの試合が異なるコンテンツソースESPN2から放送されていることを反映してもよい。具体的実施例として、メディアガイドアプリケーションは、プログラムスクリプトを実行し、フットボールの試合のための記憶されたエントリと関連付けられる第1のフィールドの中に記憶された値を更新してもよい。
メディアガイドアプリケーションは、記憶されたエントリの第1のフィールド内に示される現在のコンテンツソースから第1のメディアアセットを記憶する。例えば、メディアガイドアプリケーションは、データベース内のエントリの第1のフィールドの中に記憶された、更新された現在のコンテンツソース値に基づいて、ESPNの代わりにESPN2からフットボールの試合を記憶してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、第2のコンテンツソースから現在受信されているメディアアセットのデータパケットを監視し続け、第1のメディアアセットが第1のコンテンツソースに戻るようにスケジュールされたか、または別のコンテンツソースにスケジュールされたかを決定してもよい。例えば、フットボールの試合がESPN2に再スケジュールされた理由は、午後4時に終了するようにスケジュールされたESPN上のスポーツイベントが長引いたためであり得る。本状況では、第2のコンテンツソース(例えば、ESPN2)から記憶している間に、メディアガイドアプリケーションは、フットボールの試合が依然としてESPN2上で受信されているかどうかを監視し続けてもよい。10分後、ESPN上の試合は、終了し得、「Michigan対USC」のフットボールの試合は、ESPN2からESPNに戻るようにスケジュールされ得る。スケジュールされた時間間隔中にメディアアセットの視聴覚データとともに受信されるメディアアセットインジケータを監視し続けることによって、メディアガイドアプリケーションは、任意の時間にコンテンツソース変化を検出し、それが現在利用可能であるコンテンツソースからメディアアセットを見出して記憶することができる。
いくつかの実施形態では、メディアガイドアプリケーションは、記憶されるようにスケジュールされるメディアアセットが、そのスケジュールされたタイムスロットよりも長引いた、および/またはそのスケジュールされたタイムスロットの前に開始したかどうかをチェックする。メディアガイドアプリケーションは、スケジュールされた時間間隔外の第1の時間間隔中に、第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する。例えば、メディアガイドアプリケーションは、ユーザカスタマイズ可能であり得る、番組が開始するようにスケジュールされる前の設定時間に(例えば、メディアアセットが開始するようにスケジュールされる30分前に)第1のコンテンツソースからビデオとともに受信されるデータパケットを監視してもよい。例証的実施例として、メディアガイドアプリケーションは、午後4時に終了するようにスケジュールされるスポーツイベントが予期されるよりも早く終了する場合に、試合前の映像または情報を捕捉してもよい。代替として、または加えて、メディアガイドアプリケーションは、メディアアセットのスケジュールされた終了時間後に第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する。例えば、記憶されるようにスケジュールされる第1のメディアアセットは、それ自体がスケジュールされた終了時間を過ぎ得る。本状況では、メディアガイドアプリケーションは、上記で説明されるように第1のコンテンツソースから受信されるデータパケットを監視し続け、第1のコンテンツソースからビデオとともに受信されるデータパケットがもはやメディアアセットの識別子に合致しなくなる(例えば、メディアアセットが終了したことを示す)まで、メディアアセットを記憶し続けてもよい。代替として、または加えて、メディアガイドアプリケーションは、終了時に、またはスケジュールされた時間間隔後に、上記で説明されるように複数のコンテンツソースを検索することによって、メディアアセットが終了し、別のコンテンツソースに再スケジュールされていないことを決定してもよい。
いくつかの実施形態では、メディアアセットは、異なるコンテンツソースから複数のセグメントで記憶されてもよい。例えば、フットボールの試合は、ESPN2上で開始するが、ESPN上で長引いた番組が終わったため、5分後にESPNに移動され得る。そのような状況では、メディアガイドアプリケーションは、上記で議論されるように、第2のコンテンツソースからメディアアセットの第1のセグメントを記憶する。例えば、メディアガイドアプリケーションは、最初にスケジュールされたようなESPNの代わりに、試合の開始時にESPN2から受信されるフットボールの試合を記憶してもよい。メディアガイドアプリケーションは、次いで、第1のコンテンツソースから受信される第1のメディアアセットの第2のセグメントを記憶する。例えば、メディアガイドアプリケーションは、上記で議論される方法を使用して、フットボールの試合がESPNに戻るようにスケジュールされたことを決定し、ESPNから受信されるフットボールの試合の第2のセグメントを記憶する。メディアガイドアプリケーションは、次いで、第1のセグメントおよび第2のセグメントを単一の記憶されたファイルにスティッチングする。例えば、メディアガイドアプリケーションは、試合全体のための単一の記憶されたファイルがユーザによってアクセスされることができるように、フットボールの試合の2つの記憶されたセグメントを組み合わせる。メディアガイドアプリケーションは、加えて、単一の記憶されたファイルの中に、単一の記憶されたファイルが第1のコンテンツソースおよび第2のコンテンツソースから作成されたというインジケーションを記憶する。例えば、メディアガイドアプリケーションは、ユーザがその事実へ注意喚起されるように、記憶されたファイルが複数のコンテンツソースから作製されたというインジケーションを記憶してもよい。
いくつかの実施形態では、2つの記憶されたセグメントをともにスティッチングするとき、メディアガイドアプリケーションは、第1のセグメントとともに記憶されたメタデータから第1のセグメントのための第1のタイムスタンプを抽出する。例えば、メディアガイドアプリケーションは、第1のセグメントが「19:00:00」(時間:分:秒)から始まって記憶されたことを抽出してもよい。メディアガイドアプリケーションは、第2のセグメントとともに記憶されたメタデータから第2のセグメントのための第2のタイムスタンプを抽出する。例えば、メディアガイドアプリケーションは、第2のセグメントが「19:05:00」(時間:分:秒)から始まって記憶されたことを抽出してもよい。メディアガイドアプリケーションは、次いで、第1のタイムスタンプおよび第2のタイムスタンプを比較し、早い方を決定する。例えば、メディアガイドアプリケーションは、2つの抽出されたタイムスタンプを減算するステップに基づいて、減算から取得される結果が正であるかまたは負であるかに基づいて早い方を決定してもよい。メディアガイドアプリケーションは、第1のタイムスタンプがより早いことを決定するステップに応答して、第2のセグメントを第1のセグメントの終わりに追加する。例えば、メディアガイドアプリケーションは、フットボールの試合のESPNから記憶される第2のセグメントの始まりを、ESPN2から記憶される第1のセグメントの終わりにスティッチングする。
いくつかの実施形態では、メディアガイドアプリケーションは、記憶された第1のメディアアセットの持続時間をスケジュールされた時間間隔と比較する。例えば、メディアガイドアプリケーションは、記憶されたフットボールの試合が1時間の持続時間を有することを決定し、これを、2時間であり得るフットボールの試合のスケジュールされた時間間隔と比較してもよい。メディアガイドアプリケーションは、記憶された第1のメディアアセットの持続時間がスケジュールされた時間間隔よりも短いことを決定するステップに応答して、記憶された第1のメディアアセットの持続時間とスケジュールされた時間間隔との間の差を閾値差と比較する。例えば、メディアガイドアプリケーションは、記憶されたフットボールの試合がフットボールの試合のスケジュールされた間隔よりも短く、差(例えば、1時間)が閾値差(例えば、5分)を上回ることを決定してもよい。メディアガイドアプリケーションは、記憶されたメディアアセットの持続時間とスケジュールされた時間間隔との間の差が閾値差を満たすことを決定するステップに応答して、記憶された第1のメディアアセットが完全ではないことを決定する。例えば、メディアガイドアプリケーションは、スケジュールされた間隔と、閾値差を上回る、実際に記憶されたものとの間に1時間の差があるため、記憶されたフットボールの試合が完全ではないことを決定する。
いくつかの実施形態では、記憶されたメディアアセットの持続時間とスケジュールされた時間間隔との間の差が閾値差を満たすことを決定するステップに応答して、メディアガイドアプリケーションは、加えて、メディアガイドデータベースから読み出されるメディアアセット一覧から、第1のメディアアセットが将来の時間に利用可能であるかどうかを決定する。例えば、メディアガイドアプリケーションは、閾値(例えば、5分)を超える、フットボールの試合(例えば、1時間)の一部が記憶されていない場合があることを決定し、次いで、メディアガイドデータソースから一覧を読み出し、メディアアセットが将来の時間(例えば、再放送)に利用可能であるかどうかを決定してもよい。メディアガイドアプリケーションは、メディアアセットの識別子の文字を個々の一覧と比較し、メディアアセットが将来の時間に利用可能であるという決定を行ってもよい。メディアガイドアプリケーションは、第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定するステップに応答して、(例えば、上記で議論されるようにテーブル等のデータ構造の中に)第3のコンテンツソースから第1のメディアアセットを記憶する第2の要求を記憶する。例えば、メディアガイドアプリケーションは、メディアアセットが、第1、第2、または異なるコンテンツソースであり得る、第3のコンテンツソースから利用可能であることを決定し、第3のコンテンツソース(例えば、ABC)からメディアアセットを記憶する要求をスケジュールしてもよい。メディアアセットの再放送をスケジュールすることによって、メディアガイドアプリケーションは、最初の記憶されたメディアアセットが完全であった(例えば、そのスケジュールされた間隔よりも早く終了した)かどうか、またはメディアアセットの一部を欠いていたかどうかを決定することが可能であり得る。
いくつかの実施形態では、メディアガイドアプリケーションは、将来の時間にスケジュールされるメディアアセットの一部のみを記憶する。メディアガイドアプリケーションは、記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、複数のフレームのうちの各フレームと関連付けられる時間を読み出す。例えば、メディアガイドアプリケーションによって受信および記憶される各フレームは、フレームがコンテンツソースから伝送された時間(例えば、FFがフレーム番号である、フォーマット時間:分:秒:FFで)を伴う関連付けられるメタデータを有してもよい。メディアガイドアプリケーションは、第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定してもよい。例えば、メディアガイドアプリケーションは、関連付けられる時間19:05:00:01を伴うフレーム後に、次のフレームが関連付けられる時間19:10:00:01を有することを検出してもよく、メディアガイドアプリケーションは、一部(例えば、5分のメディアアセット)が記憶されたメディアアセットから欠落していることを決定してもよい。メディアガイドアプリケーションは、次いで、第2の要求を用いて、第1のメディアアセットの第1の部分のみを記憶する命令を記憶してもよい。例えば、記憶集約的であり得る、メディアアセット全体をもう一度記憶することなく、メディアアセットの完全なバージョンを作成するために、メディアガイドアプリケーションは、記憶された第1のメディアアセットから欠落しているメディアアセットのフレーム(例えば、第1の部分)のみを記憶する命令を記憶する。
上記で説明されるシステムおよび/または方法は、他のシステム、方法、および/または装置に適用され得る、またはそれらに従って使用され得ることに留意されたい。
本開示の上記および他の目的および利点は、同様の参照文字が全体を通して同様の部分を指す、添付の図面と併せて考慮される、以下の発明を実施するための形態の検討から明白となるであろう。
図1は、本開示のいくつかの実施形態による、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための例証的ステップのフローチャートである。 図1は、本開示のいくつかの実施形態による、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための例証的ステップのフローチャートである。 図2は、本開示のいくつかの実施形態による、メディアアセット情報および視聴覚データを含有するコンテンツソースから受信される、データパケットの例証的実施例を示す。 図3は、本開示のいくつかの実施形態による、メディアコンテンツにアクセスする際に使用するための表示画面の例証的実施例を示す。 図4は、本開示のいくつかの実施形態による、メディアコンテンツにアクセスするために使用される表示画面の別の例証的実施例を示す。 図5は、本開示のいくつかの実施形態による、例証的ユーザ機器デバイスのブロック図である。 図6は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。 図7は、本開示のいくつかの実施形態による、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための例証的ステップの別のフローチャートである。 図7は、本開示のいくつかの実施形態による、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための例証的ステップの別のフローチャートである。 図8は、本開示のいくつかの実施形態による、複数のコンテンツソースから受信されるデータパケットを検索するための例証的ステップのフローチャートである。 図9は、本開示のいくつかの実施形態による、記憶されたメディアアセットがメディアアセットの完全なバージョンであるかどうかを決定するための例証的ステップのフローチャートである。
システムおよび方法が、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するために提示される。システムおよび方法は、メディアアセットが再スケジュールされていることと、メディアアセットが伝送されるように再スケジュールされているソースとをより効率的に決定するために使用され得る。例えば、現在受信されているメディアセット(例えば、イベント情報テーブル内のフィールド)を識別する、メディアアセットとともに受信されるデータパケットのコンテンツを調査することによって、セットトップボックスまたは他のユーザ機器デバイス上で実行されるメディアガイドアプリケーションは、記憶されるようにスケジュールされるメディアアセットが、最初にスケジュールされたコンテンツソースから現在伝送されていないことをリアルタイムで決定し得る。メディアアセットが最初にスケジュールされたコンテンツソースから利用可能ではないことを決定するステップに応答して、メディアガイドアプリケーションは、他のコンテンツソースから受信されるパケットを通して検索し、メディアアセットが再スケジュールされているコンテンツソースを決定し、そのコンテンツソースからメディアアセットを記憶し得る。いくつかの実施形態では、メディアガイドアプリケーションは、最初にスケジュールされたコンテンツソースへのそれらの類似性に基づいて、最初に検索するコンテンツソースを選択的に選定する(例えば、番組がESPN上に最初にスケジュールされた場合、ESPN2が、検索される最初に検索されたコンテンツソースの間にあり得る)。
本明細書で参照されるように、「メディアガイドアプリケーション」または「双方向メディアガイドアプリケーション」、またはある時は「メディアガイドアプリケーション」または「ガイドアプリケーション」は、ユーザがメディアアセットを消費する、および/またはそれにナビゲートすることを可能にする、アプリケーションである。いくつかの実施形態では、メディアガイドアプリケーションは、オンラインアプリケーション(すなわち、ウェブサイト上で提供される)として、またはサーバ、ユーザデバイス等の上の独立型アプリケーションとして、提供されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、同時に第1のデバイスおよび第2のデバイス上で、またはいずれかのデバイスから遠隔の場所(例えば、遠隔サーバ)で、または任意の好適な組み合わせで実行されてもよい。いくつかの実施形態では、種々のデバイスおよびプラットフォーム上に配設される制御回路は、以下でさらに詳細に説明されるように、メディアガイドアプリケーションを実行してもよい。いくつかの実施形態では、本明細書で議論される実施形態のうちのいずれかを実施するためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上にエンコードされてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意の媒体を含む。コンピュータ可読媒体は、限定されないが、電気または電磁信号の伝搬を含む、一過性であり得るか、または、限定されないが、ハードディスク、フロッピーディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
図1は、本開示のいくつかの実施形態による、ユーザ選好に基づいてメディアアセットの出力を調節するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス100は、制御回路504(図5)によって実行されてもよい。プロセス100またはその任意のステップは、図5−6に示されるデバイスのうちのいずれかの上で実施され得る、またはそれによって提供され得ることに留意されたい。
プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信する、102から開始する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)午後4時から6時まで、チャネル「ESPN」からユーザ入力インターフェースを介して(例えば、ユーザ入力インターフェース510(図5)を介して)特定のフットボールの試合「Michigan対USC」を記憶するオプションのユーザ選択を受信してもよい。ユーザは、モバイルデバイス、または記憶される番組を選択するための任意の他の方法を使用して、セットトップボックスから遠隔で、具体的チームの全てのフットボールの試合のための連続録画オプションを通して、番組一覧画面内(例えば、グリッドガイド(図3−4)内)のフットボールの試合を記憶するオプションを選択してもよい。本明細書で参照されるように、「記憶する」は、ユーザがその最初の伝送後にメディアアセットにアクセスすることができるように、メディアアセットを持続的に保存するための任意の方法またはシステムを意味すると理解されるべきである。いくつかの実施形態では、メディアアセットを記憶するステップは、メディアアセットを伝送するコンテンツソースからメディアアセットを録画する、セットトップボックスまたは他のユーザ機器によって実施されてもよい。他の実施形態では、メディアアセットを記憶するステップは、通信ネットワークを介して遠隔サーバからメディアアセットのコピーをダウンロードすることによって実施されてもよい。
プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)スケジュールされた時間間隔が開始したことを決定する、104に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)(例えば、図5−6に説明されるようなユーザ機器デバイス内の)内部クロックから、現在の時間を決定してもよい。メディアガイドアプリケーションは、次いで、(例えば、制御回路504(図5)を介して)現在の時間を、第1のメディアアセットのためのデータ構造の中に記憶されたスケジュールされた時間間隔の開始時間と比較し、現在の時間が開始時間に合致するかどうかを決定してもよい。
プロセス100は、メディアガイドアプリケーションが、以下の図7で詳細に説明されるように、(例えば、制御回路504(図5)を介して)第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する、106に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)プログラムスクリプトを実行して、第1のコンテンツソース(例えば、ESPN)から受信されるデータパケットをチェックし、フットボールの試合が第1のコンテンツソースから現在利用可能である(例えば、フットボールの試合がESPNで放送されている)かどうかを決定してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)連続的に、または所定の間隔中にデータパケットを監視し、計算費用を削減してもよい。
プロセス100は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)監視されたデータパケットから第1のメディアアセットインジケータを抽出する、108に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)宣言的「選択」コマンドを利用してSQLスクリプトを実行することによって、メディアアセットのための視聴覚データとともにデータパケットの中で伝送されるテーブル内のフィールドからメディアアセットインジケータを抽出してもよい。本明細書で参照されるように、「メディアアセットインジケータ」は、第1のメディアアセットに特有であり、メディアガイドアプリケーションがそれを他のメディアアセットと区別することを可能にする、任意の識別子を意味すると理解されるべきである。いくつかの実施形態では、メディアアセットインジケータは、英数字のメディアアセットの名称またはタイトルであってもよい。他の実施形態では、メディアアセットインジケータは、コンテンツソースからのスケジュールされた伝送時間に基づく自動的にハッシュ化された整数であってもよい。なおも他の実施形態では、「メディアアセットインジケータ」は、現在伝送されているメディアアセットを決定するためにメディアガイドアプリケーションによって使用される、複数のコンポーネントを含んで分割されてもよい。例えば、メディアガイドアプリケーションは、(例えば、以下の図2のように)情報の複数のフィールドを受信し、1つだけを上回るフィールドを使用して、現在伝送されているメディアアセットを決定してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のコンテンツソースからのビデオに関連する情報を含有するテーブルを受信する。例えば、テーブルは、図2において以下でさらに説明されるように、番組のインジケータ(例えば、番組に対応する一意の英数字コード)および番組の説明等の第1のコンテンツソースから現在受信されている番組に関するメタデータを含有する、行に編成されてもよい。メディアガイドアプリケーションは、次いで、第1のメディアアセットインジケータに対応するテーブル内のフィールドから値を読み出してもよい。例えば、上記で説明されるように、メディアガイドアプリケーションは、「FTBL1485」等のインジケータを読み出してもよい。
プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)抽出された第1のメディアアセットインジケータを第1のメディアアセットの識別子と比較する、110に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)(例えば、メモリ(例えば、記憶装置508)の中にローカルで記憶されるか、または通信ネットワーク(例えば、通信ネットワーク614)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース618)に遠隔で記憶された)メディアアセットの識別子を含有するデータベースにアクセスし、メディアアセットストリームから抽出されるメディアアセットインジケータがデータベースの中に記憶された第1のメディアアセットの識別子に合致するかどうかを(例えば、文字合致を介して)決定してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)ユーザ要求を用いて、第1のメディアアセットの識別子を記憶する。例えば、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)フットボールの試合を記憶するためのユーザ選択を(例えば、ユーザ入力インターフェース510(図5)から)受信するとき、メディアガイドアプリケーションは、フットボールの試合を提供するコンテンツソースに由来し得る、フットボールの試合の識別子を記憶する。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のメディアアセットの識別子の文字を抽出された第1のメディアアセットインジケータの文字と比較してもよい。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)「FTBL1485」等の抽出されたインジケータの各文字を記憶された識別子と比較してもよい。メディアガイドアプリケーションは、閾値数または割合の文字が合致する場合に、(例えば、制御回路504(図5)を介して)抽出されたインジケータが記憶された識別子に合致することを決定してもよい。
プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応するかどうかを決定する、112に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)抽出されたインジケータが第1のメディアアセットの記憶された識別子に合致する(例えば、「FTBL1485」が抽出されたインジケータおよび記憶された識別子の両方である)かどうかを出力する、プログラムスクリプトを実行してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)実行されたプログラムスクリプトの出力として、抽出されたインジケータが記憶された識別子に合致するかどうかに基づくブール結果を受信してもよい。
メディアガイドアプリケーションが、抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応することを決定する場合、プロセス100は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)第1のコンテンツソースから受信される第1のメディアアセットを記憶する、114に続く。例えば、抽出された識別子が第1のメディアアセットに対応する記憶された識別子に合致することを決定することに応じて、メディアガイドアプリケーションは、最初にスケジュールされたコンテンツソース(例えば、ESPN)から受信されるフットボールの試合を(例えば、記憶装置508(図5)の中に)記憶してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)スケジュールされた時間間隔の全体を通して第1のコンテンツソースから受信されるデータパケットを監視し続け、第1のメディアアセットが第1のコンテンツソースからもはや伝送されていない、および異なるコンテンツソースから伝送されているかどうかを決定してもよい(例えば、プロセス100は、ステップ106に戻ってもよい)。
メディアガイドアプリケーションが、抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応しないことを決定する場合、プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、複数のコンテンツソース上で受信されるデータパケットを検索する、116に続く。例えば、メディアガイドアプリケーションは、フットボールの試合の識別子に合致しない、ESPNから現在受信されているメディアアセットからの抽出されたインジケータに基づいて(例えば、上記で説明されるようなデータベースとの比較に基づいて)、(例えば、制御回路504(図5)を介して)ESPNで午後4時に放送されるようにスケジュールされたフットボールの試合が現在放送されていないことを決定してもよい。本決定に応答して、メディアガイドアプリケーションは、上記で説明されるように、データパケットからインジケータを抽出し、抽出されたインジケータをメディアアセットの識別子と比較することによって、メディアアセットが利用可能であるコンテンツソースを見出そうとして、(例えば、制御回路504(図5)を介して)ユーザがサブスクライブする他のコンテンツソースを通してスキャンしてもよい。
プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含むかどうかを決定する、118に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第2のコンテンツソースから受信されるデータパケットから、メディアアセットインジケータ(例えば、「FTBL1485」)を抽出し、上記で説明されるように、(例えば、文字合致を介して)それがデータ構造の中に記憶された第1のメディアアセットの識別子に合致するかどうかを決定してもよい。
メディアガイドアプリケーションが、複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが、第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含むことを決定する場合、プロセス100は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)第2のコンテンツソースから受信される第1のメディアアセットを記憶する、124に続く。例えば、メディアガイドアプリケーションは、ESPN2から受信されるデータパケットから、フットボールの試合がその局から伝送されていることを決定するステップに基づいて、ESPNの代わりにESPN2から受信されるフットボールの試合を(例えば、記憶装置508(図5)の中に)記憶してもよい。
メディアガイドアプリケーションが、複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含まないことを決定する場合、プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)検索されていない任意の付加的コンテンツソースがあるかどうかを決定する、120に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)ユーザがサブスクライブするコンテンツソースからメディアアセットインジケータを含有するデータパケットを反復して受信し、全てのコンテンツソースからのメディアアセットインジケータを含有するデータパケットがチェックされたときに終了する、「for」ループを含有するプログラムスクリプトを実行してもよい。代替として、または加えて、メディアガイドアプリケーションは、データパケットが抽出された(例えば、記憶装置508(図5)内の)コンテンツソースのリストを維持し、ユーザによってサブスクライブされる任意のコンテンツソースがまだチェックされていないかどうかを決定してもよい。
メディアガイドアプリケーションが、検索されていない任意の付加的コンテンツソースがないことを決定する場合、プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットが記憶のために利用可能ではないことを返す、122に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)フットボールの試合がユーザに利用可能な任意のコンテンツソースから伝送されていないことを決定してもよい。代替として、または加えて、フットボールの試合がユーザに利用可能な任意のコンテンツソースから伝送されていないという決定を行うことに応じて、メディアガイドアプリケーションは、フットボールの試合がスケジュール変更に起因して記憶されることができないという通知を(例えば、通信ネットワーク614(図6)を介して)ユーザに伝送してもよい。
メディアガイドアプリケーションが、検索されていない任意の付加的コンテンツソースがあることを決定する場合、プロセス100は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して検索されていない、複数のコンテンツソース上で受信されるデータパケットを検索する、116に戻る。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)上記で説明されるように、フットボールの試合の記憶された識別子に対応するメディアアセットインジケータに関して、異なるコンテンツソースから受信されるデータパケットを検索し続けてもよい。
図1のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図1に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させるかまたは速度を加速させるために、任意の順序で、または並行して、または実質的に同時に実施されてもよい。例えば、プロセス100の複数のインスタンスは、記憶のために異なるメディアアセットを受信するようにそれぞれスケジュールされる、セットトップボックス内の複数のチューナのために実行されてもよい。さらに、図5−6に関連して議論されるデバイスまたは機器のうちのいずれかは、図1のプロセスのうちの1つ以上のものを実施するために使用され得ることに留意されたい。
図2は、本開示のいくつかの実施形態による、メディアアセット情報および視聴覚データを含有するコンテンツソースから受信される、データパケットの例証的実施例を示す。例えば、図2は、番組の提示に関する種々の情報(例えば、メディアアセット情報データパケット202および視聴覚データパケット204)を含有するコンテンツソース(例えば、メディアコンテンツソース616(図6))からメディアガイドアプリケーションによって受信される、データパケット200を示す。例えば、メディアアセット情報データパケット202は、以下でさらに説明されるように、メディアアセット、そのソース、持続時間等を説明する、テキスト情報を含有してもよい。視聴覚データパケット204は、メディアガイドアプリケーションが表示画面上に番組を出力するために使用する情報(例えば、ピクセルカラー/輝度情報、可聴周波数、および振幅等)を含有してもよい。
メディアアセット情報データパケットは、メディアアセットの視聴覚情報への補足情報を含有するデータテーブルのための一貫した構造配列およびフォーマットを説明する、Advanced Television Systems Committee, Inc.の「ATSC Recommended Practice: Programand System Information Protocol Implementation Guidelines for Broadcasters」に準拠する、メディアアセットについての情報を含有してもよい。一般的議論として、メディアアセット情報データパケット202のうちの特定のパケットは、パケットID206を含有してもよい。例えば、パケットID206は、ハッシング(例えば、整数等のインデックス値を各パケットに割り当てる関数)によって生成されてもよく、メディアガイドアプリケーションが特定のパケットを参照し、それを視聴覚データパケットにマップすることを可能にする、整数または文字列であってもよい。これは、メディアガイドアプリケーションが、特定の視聴覚データパケットまたはデータパケットのセットが特定のメディアアセット情報に対応することを決定することを可能にし得る(例えば、メディアガイドアプリケーションが、メディアアセットが現在伝送されていることを決定することを可能にする)。メディアアセット情報データパケット202のうちの特定のパケットは、加えて、イベント情報208と、評価情報210とを含有する。番組の拡張説明、チャネルリスト、または任意の他の関連情報に関する付加的情報212もまた、メディアアセット情報データパケット202の中に含有されてもよい。
評価情報210は、異なる評価が、番組を受信し得る異なる集団と合致される、テーブルとして配列されてもよい。例えば、メディアガイドアプリケーションは、評価情報210に関してテーブルで定義されるように、メディアアセットがTV−14と評価される、テキサスで番組を受信してもよい。メディアガイドアプリケーションは、ペアレンタルコントロール設定を実装する、すなわち、番組をロック解除するためのコードまたは個人識別番号を有していない限り、あるコンテンツ評価を上回るユーザによる視聴のために番組をロックするために、本情報を使用してもよい。
メディアアセット情報データパケットの中に含有されるイベント情報208は、図2に示されるように、テーブルに配列されてもよい。メディアアセット情報と同時に伝送される視聴覚データのコンテンツソース214は、チャネル番号、周波数、または他の識別子(例えば、「ESPN」等の局名)によって識別されてもよい。テーブルは、その放送時間およびコンテンツに基づいてテーブルの中の情報をインデックス化する、イベントID216等のイベントIDに基づいて配列されてもよい。例えば、インデックス「1」を伴うイベントID216が、コンテンツソース214からの現在放送されている番組を参照し得る一方で、より大きいインデックスを伴うイベントIDは、将来スケジュールされる番組を参照し得る。イベントID毎に、テーブルは、「12:30」等のローカル開始時間218についての情報を含有する。時間は、午前を午後と区別するように指定される付加的ビットを伴う12時間フォーマット、または24時間フォーマットで配列されてもよい。各イベントIDはまた、特定のイベントIDによって説明されるメディアアセットの長さ220も含有する。長さは、任意の時間の長さに対し得るが、容易にするために、秒数の四捨五入された整数値が、小数を要求し得る時間または日数よりも好ましくあり得る。
各イベントIDは、加えて、タイトル222「フットボール」等のタイトルを含有する。タイトルは、メディアアセットを識別する、英数字の任意の組み合わせであってもよいが、伝送の効率のためにデータパケットの中のあるバイト数に限定されてもよい。メディアアセットの付加的なより長い説明(例えば、番組228の説明)は、ある場合には、イベントID毎に見出されてもよい(例えば、短い段落の中でコンテンツを要約する概要)。しかしながら、ある場合には、番組228の説明のためのフィールドは、別個のデータパケットの中にあり得る、説明を含有する別のテーブルへのポインタを含有してもよい。各イベントIDは、特定のイベントIDが参照するものをメディアガイドアプリケーションに知らせる記述子を含有する。例えば、イベントID216は、メディアアセット自体についての情報を含有するため、記述子224「コンテンツ」を説明し得る。別の実施例として、異なるイベントIDは、帯域外で受信されるデータ、または記述子226「字幕」等のコンテンツソース214からの非視聴覚データを説明し得る。
いくつかの実施形態では、メディアガイドアプリケーションは、第1のコンテンツソースからのビデオに関連する情報を含有するテーブルを受信してもよい。例えば、メディアガイドアプリケーションは、図2に示されるように、テーブルに配列されるイベント情報208を受信してもよい。メディアガイドアプリケーションは、次いで、第1のメディアアセットインジケータに対応するテーブル内のフィールドから値を読み出してもよい。例えば、メディアガイドアプリケーションは、コンテンツソース214から現在伝送されているメディアアセットを表すため、「1」のインデックスを有する、イベントID216のタイトル222「フットボール」を読み出してもよい。代替として、または加えて、メディアガイドアプリケーションは、番組228の説明に対応するフィールドからデータを読み出し、読み出されたタイトル222と併せて本データを使用し、コンテンツソース214から現在伝送されているメディアアセットのより正確な決定を確実にしてもよい。例えば、メディアガイドアプリケーションは、タイトル222「フットボール」および番組228の説明「Michigan対USC」を読み出すステップに基づいて、「フットボール−Michigan対USC」がコンテンツソース214から現在伝送されていることを決定してもよい。このようにして、メディアガイドアプリケーションは、第1のメディアアセットインジケータがメディアアセットの識別子に合致するかどうかのより正確な決定のために、データパケットから付加的情報を抽出してもよい。
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、時として、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。1つの典型的なタイプのメディアガイドアプリケーションは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(時として、電子番組ガイドと称される)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することを可能にする、周知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」は、テレビ番組、および有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアまたはマルチメディア、および/またはそれらの組み合わせ等の電子的に消費可能なユーザアセットを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」は、上記で説明される少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることもできる。
本明細書で議論される実施形態のいずれかを行うためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上にエンコードされてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であり得る、または限定ではないが、ハードディスク、フロッピーディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であり得る。
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU−RAY(登録商標)プレーヤ、BLU−RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および/またはそれらの組み合わせ等の上記で説明されるコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または裏面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であり得る。その結果として、メディアガイドは、これらのデバイス上でも利用可能であり得る。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つ以上のもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つ以上のものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション(すなわち、ウェブサイト上で提供される)として、または独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でさらに詳細に説明される。
メディアガイドアプリケーションの機能のうちの1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータまたはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報(例えば、放送時間、放送チャネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等)、メディア形式(例えば、標準解像度、高解像度、3D等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
図3−4は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。図3−4に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図3−4の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報にアクセスする要望を示してもよい。ユーザのインジケーションに応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャネル別、時間別、チャネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを表示画面に提供してもよい。
図3は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャネル別に配列された番組一覧表示300の例証的グリッドを示す。表示300は、(1)各チャネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャネルまたはコンテンツのタイプを識別する、チャネル/コンテンツタイプ識別子304の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子306の行を伴うグリッド302を含んでもよい。グリッド302はまた、番組一覧308等の番組一覧のセルも含み、各一覧は、一覧の関連チャネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域310を移動させることによって番組一覧を選択することができる。ハイライト領域310によって選択される番組一覧に関する情報が、番組情報領域312内に提供されてもよい。領域312は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジュールされ、スケジュールに従って提供されるコンテンツ)にアクセスを提供することに加えて、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジュールに従って提供されないコンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルで記憶されたコンテンツ(例えば、上記で説明される任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、特定のコンテンツプロバイダ(例えば、「The Sopranos」や「Curb Your Enthusiasm」を提供するHBO ON DEMAND)によって提供される映画または任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、Time Warner Company L.P.らによって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
グリッド302は、オンデマンド一覧314、録画コンテンツ一覧316、およびインターネットコンテンツ一覧318を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、時として、「混合メディア」表示と称されることもある。表示300とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧314、316、および318は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド302内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド302に直接含まれてもよい。ユーザがナビゲーションアイコン320のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することは、ナビゲーションアイコン320を選択することと同様に表示に影響を及ぼし得る)。
表示300はまた、ビデオ領域322およびオプション領域326を含んでもよい。ビデオ領域322は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域322のコンテンツは、グリッド302に表示される一覧のうちの1つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能性は、参照することによってその全体として本明細書に組み込まれる、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されている。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
オプション領域326は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域326は、表示300(および本明細書に説明される他の表示画面)の一部であってもよい、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域326内の選択可能オプションは、グリッド302内の番組一覧に関連する特徴に関してもよい、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャネルのお気に入りとしての設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするオプション、プレミアムサービスをサブスクライブするオプション、ユーザのプロファイルを編集するオプション、ブラウザオーバーレイにアクセスするオプション、または他のオプションを含んでもよい。
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションを用いて個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力することを可能にすることによって、および/または種々のユーザ選好を決定するようにメディアガイドアプリケーションがユーザアクティビティを監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、それらの個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の側面(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャネル選択に基づいたユーザ指定の放送チャネル、チャネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよい、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行い得る他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザについての情報を取得してもよい。結果として、ユーザは、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験を提供されることができる。本タイプのユーザ体験は、図6に関連して以下でさらに詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、参照することによってその全体として本明細書に組み込まれる、2005年7月11日出願のEllisらの米国特許出願第2005/0251827号、2007年1月16日出願のBoyerらの米国特許出願第7,165,098号、および2002年2月21日出願のEllisらの米国特許出願第2002/0174430号でさらに詳細に説明されている。
メディアガイドを提供するための別の表示配列が、図4に示されている。ビデオモザイク表示400は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション402を含む。表示400では、テレビ一覧オプション404が、選択され、したがって、一覧406、408、410、および412を放送番組一覧として提供する。表示400では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧はまた、それぞれ、一覧と関連付けられるコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧408は、メディア部分414およびテキスト部分416を含む、1つを上回る部分を含んでもよい。メディア部分414および/またはテキスト部分416は、コンテンツをフル画面で視聴するように、またはメディア部分414に表示されるコンテンツに関連する情報を閲覧するように(例えば、ビデオが表示されるチャネルの一覧を閲覧するように)、選択可能であり得る。
表示400内の一覧は、異なるサイズである(すなわち、一覧406は、一覧408、410、および412より大きい)が、所望に応じて、全ての一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザの関心の程度を示すように、またはあるコンテンツを強調するように、異なるサイズであるか、またはグラフィック的に強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、参照することによってその全体として本明細書に組み込まれる、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号で議論されている。
ユーザは、そのユーザ機器デバイスのうちの1つ以上のものから、コンテンツおよびメディアガイドアプリケーション(および上記および下記で説明されるその表示画面)にアクセスしてもよい。図5は、例証的ユーザ機器デバイス500の一般化された実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図6に関連して以下で議論される。ユーザ機器デバイス500は、入出力(以下「I/O」)パス502を介して、コンテンツおよびデータを受信してもよい。I/Oパス502は、処理回路506および記憶装置508を含む制御回路504に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路504は、I/Oパス502を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス502は、制御回路504(具体的には、処理回路506)を1つ以上の通信パス(以下で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図5では単一パスとして示されている。
制御回路504は、処理回路506等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路504は、メモリ(すなわち、記憶装置508)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路504は、メディアガイドアプリケーションによって、上記および下記で議論される機能を果たすように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路504に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路504によって実施される任意のアクションは、メディアガイドアプリケーションから受信される命令に基づいてもよい。
クライアントサーバベースの実施形態では、制御回路504は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。上記に述べられる機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタルサブスクライバ回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用の無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(図6に関連してさらに詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい(以下でさらに詳細に説明される)。
メモリは、制御回路504の一部である、記憶装置508として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダムアクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU−RAY(登録商標)ディスク(BD)レコーダ、BLU−RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR、または時として、パーソナルビデオレコーダ(PVR)と呼ばれる場合もある)、ソリッドステートデバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/またはそれらの任意の組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置508は、本明細書に説明される種々のタイプのコンテンツ、および上記で説明されるメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、(例えば、ブートアップルーチンおよび他の命令を起動するために)使用されてもよい。図6に関連して説明される、クラウドベースの記憶装置が、記憶装置508を補完するために、または記憶装置508の代わりに使用されてもよい。
制御回路504は、1つ以上のアナログチューナ、1つ以上のMPEG−2デコーダ、または他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。(例えば、記憶するために、無線、アナログ、またはデジタル信号をMPEG信号に変換するための)エンコード回路もまた、提供されてもよい。制御回路504はまた、コンテンツをユーザ機器500の好ましい出力形式に上方変換および下方変換するためのスケーリング回路を含んでもよい。回路504はまた、デジタル信号とアナログ信号との間で変換するためのデジタル/アナログ変換回路およびアナログ/デジタル変換回路を含んでもよい。同調およびエンコード回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調およびエンコード回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つ以上の汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)に対処するように提供されてもよい。記憶装置508が、ユーザ機器500とは別のデバイスとして提供される場合、同調およびエンコード回路(複数のチューナを含む)は、記憶装置508と関連付けられてもよい。
ユーザは、ユーザ入力インターフェース510を使用して、命令を制御回路504に送信してもよい。ユーザ入力インターフェース510は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチスクリーン、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等の任意の好適なユーザインターフェースであってもよい。ディスプレイ512は、独立型デバイスとして提供されるか、またはユーザ機器デバイス500の他の要素と統合されてもよい。例えば、ディスプレイ512は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース510は、ディスプレイ512と統合されるか、または組み合わせられてもよい。ディスプレイ512は、モニタ、テレビ、モバイルデバイス用液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマディスプレイパネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つ以上のものであってもよい。いくつかの実施形態では、ディスプレイ512は、HDTV対応型であり得る。いくつかの実施形態では、ディスプレイ512は、3Dディスプレイであってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、ディスプレイ512への出力を生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG−2/MPEG−4デコード、TV出力、または複数のモニタを接続する能力等の種々の機能を提供し得る。ビデオカードは、制御回路504に関連する上記で説明される任意の処理回路であってもよい。ビデオカードは、制御回路504と統合されてもよい。スピーカ514は、ユーザ機器デバイス500の他の要素と統合されたものとして提供されてもよい、または独立型ユニットであってもよい。ディスプレイ512上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ514を通して再生されてもよい。いくつかの実施形態では、オーディオは、スピーカ514を介して音声を処理および出力する、受信機(図示せず)に配信されてもよい。
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、これは、ユーザ機器デバイス500上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルで(例えば、記憶装置508内に)記憶され、アプリケーションによって使用するためのデータは、周期的にダウンロードされる(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)。制御回路504は、記憶装置508からアプリケーションの命令を読み出し、本明細書で議論される表示のうちのいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路504は、入力がユーザ入力インターフェース510から受信されるときに実施するアクションを決定してもよい。例えば、表示上のカーソルの上/下への移動は、ユーザ入力インターフェース510が上/下ボタンが選択されたことを示すときに、処理された命令によって示されてもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス500上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス500の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路504は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを起動する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路504)を使用して、記憶された命令を処理し、上記および下記で議論される表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス500上でローカルで表示してもよい。このように、命令の処理が、サーバによって遠隔で実施される一方、結果として生じる表示は、機器デバイス500上でローカルで提供される。機器デバイス500は、ユーザ入力インターフェース510を介して、ユーザから入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス500は、上/下ボタンがユーザ入力インターフェース510を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス500に伝送される。
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路504によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)でエンコードされ、好適なフィードの一部として制御回路504によって受信され、制御回路504上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路504によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG−2または他のデジタルメディアエンコードスキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG−2オブジェクトカルーセルにおいてエンコードおよび伝送されてもよい。
図5のユーザ機器デバイス500は、ユーザテレビ機器602、ユーザコンピュータ機器604、無線ユーザ通信デバイス606、または非携帯用ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図6のシステム600に実装されることができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、上記で説明されるユーザ機器デバイスに実質的に類似し得る。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよい、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に議論される。
図5に関連して上記で説明されるシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器602、ユーザコンピュータ機器604、または無線ユーザ通信デバイス606として分類されなくてもよい。例えば、ユーザテレビ機器602は、いくつかのユーザコンピュータ機器604のように、インターネットコンテンツへのアクセスを可能にするインターネット対応型であり得る一方で、ユーザコンピュータ機器604は、あるテレビ機器602のように、テレビ番組へのアクセスを可能にするチューナを含んでもよい。メディアガイドアプリケーションは、種々の異なるタイプのユーザ機器上で同一のレイアウトを有してもよい、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器604上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス606用に縮小されてもよい。
システム600では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが図6に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器602、ユーザコンピュータ機器604、無線ユーザ通信デバイス606)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用するため、またはソーシャルネットワークと相互作用するために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが同一の家または建物内に、または第1のデバイスと異なる建物内に位置することができる。
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明されるもの、およびお気に入りのチャネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、そのオフィスのパーソナルコンピュータ上、例えば、ウェブサイトwww.allrovi.comの上で、チャネルをお気に入りとして設定した場合、同一のチャネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)上で、および所望に応じて、ユーザのモバイルデバイス上でお気に入りとして表示されるであろう。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。加えて、行われる変更は、ユーザによって入力される設定、およびガイドアプリケーションによって監視されるユーザアクティビティに基づいてもよい。
ユーザ機器デバイスは、通信ネットワーク614に結合されてもよい。すなわち、ユーザテレビ機器602、ユーザコンピュータ機器604、および無線ユーザ通信デバイス606は、それぞれ、通信パス608、610、および612を介して、通信ネットワーク614に結合される。通信ネットワーク614は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つ以上のネットワークであってもよい。パス608、610、612、および612は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等の1つ以上の通信パスを含んでもよい。パス612は、図6に示される例示的実施形態では、無線パスであることを示すように破線で描かれ、パス608および610は、有線パスであることを示すように実線として描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つ以上のものによって提供されてもよいが、図6では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス608、610、および612に関連して上記で説明されるもの、およびUSBケーブル、IEEE 1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE 802−11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パス等を介して、相互に直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク614を介した間接パスを通して、相互に直接通信してもよい。
システム600は、それぞれ、通信パス620および622を介して、通信ネットワーク614に結合される、コンテンツソース616およびメディアガイドデータソース618を含む。パス620および622は、パス608、610、および612に関連して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース616およびメディアガイドデータソース618との通信は、1つ以上の通信パスを介して交信されてもよいが、図6では、図面が複雑になり過ぎることを回避するように、単一パスとして示される。加えて、コンテンツソース616およびメディアガイドデータソース618のそれぞれが1つを上回って存在し得るが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが図6に示されている。(異なるタイプのこれらのソースのそれぞれが以下で議論される)。所望に応じて、コンテンツソース616およびメディアガイドデータソース618は、1つのソースデバイスとして統合されてもよい。ソース616および618と、ユーザ機器デバイス602、604、および606との間の通信は、通信ネットワーク614を通したものとして示されるが、いくつかの実施形態では、ソース616および618は、パス608、610、および612に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス602、604、および606と直接通信してもよい。
コンテンツソース616は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、1つ以上のタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツソース616は、コンテンツの発信元であってもよく(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース616は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース616はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、参照することによってその全体として本明細書に組み込まれる、2010年7月20日出願のEllisらの米国特許出願第7,761,892号に関連して、さらに詳細に議論されている。
メディアガイドデータソース618は、上記で説明されるメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジュールデータおよび他のガイドデータは、テレビチャネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジュールデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャネル上でユーザ機器に提供されてもよい。
いくつかの実施形態では、メディアガイドデータソース618からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよい、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが古くなっているとき、またはユーザ機器デバイスが、データを受信するための要求をユーザから受信するとき、ソース618とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ規定期間で、システム規定期間で、ユーザ機器からの要求に応答して等)ユーザ機器に提供されてもよい。メディアガイドデータソース618は、ユーザ機器デバイス602、604、および606に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に鑑賞するコンテンツ、ユーザがコンテンツを鑑賞する時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に鑑賞するコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、サブスクリプションデータを含んでもよい。例えば、サブスクリプションデータは、所与のユーザがサブスクライブするソースまたはサービスおよび/または所与のユーザが以前にサブスクライブしていたが、後にアクセスを打ち切ったソースまたはサービス(例えば、ユーザがプレミアムチャネルをサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか)を識別してもよい。いくつかの実施形態では、視聴者データおよび/またはサブスクリプションデータは、1年を上回る周期の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルを併用して、サブスクリプションデータとともに視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置508内に記憶され、ユーザ機器デバイス500の制御回路504によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみが、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的にユーザ機器デバイス500の制御回路504上のクライアントアプリケーションとして、および遠隔サーバの制御回路上で起動するサーバアプリケーション(例えば、メディアガイドデータソース618)として部分的に遠隔サーバ上で、実装されてもよい。遠隔サーバの制御回路(メディアガイドデータソース618等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース618の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
ユーザ機器デバイス602、604、および606に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、上記で説明される任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加えて、上記で説明される任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配信する。ISPは、視聴能力、著作権、またはコンテンツの再配信に責任がない場合があり、OTTコンテンツプロバイダによって提供されるIPパケットのみを転送してもよい。OTTコンテンツプロバイダの実施例は、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUを含む。Youtube(登録商標)は、Google Inc.によって所有される商標であり、Ntflixは、Ntflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、上記で説明されるメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加えて、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配信することができる、またはコンテンツは、ユーザ機器デバイス上に記憶されたメディアガイドアプリケーションによって表示されることができる。
メディアガイドシステム600は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的のために、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチのうちのいずれか1つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、図6の一般化された実施例の具体的例証を提供する。
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク614を介して、相互に直接通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを動作させてもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイスの間で通信されることが望ましくあり得る。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されるように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくあり得る。ホームネットワーク内の異なるタイプのユーザ機器デバイスもまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、そのオフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、参照することによってその全体として本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で議論されている。
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース616と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器602およびユーザコンピュータ機器604のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス606を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で動作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配信のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、通信ネットワーク614を介したインターネット等のネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービスを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つ以上のコンテンツソース616および1つ以上のメディアガイドデータソース618を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器602、ユーザコンピュータ機器604、および無線ユーザ通信デバイス606等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信することなく、ピアツーピア様式で動作してもよい。
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および上記で説明される任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上で他者によって視聴するために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルで記憶し、ローカルで記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器604から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス606からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器604等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク614上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであり、他のユーザ機器デバイスは、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠する、クラウドクライアントであってもよい、またはユーザ機器デバイスは、クラウドリソースにアクセスすることなく、ある機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方で、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的なダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図5に関連して説明される処理回路によって実施される処理動作等の処理動作のために、クラウドリソースを使用することができる。
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第2のアクションに応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第2のアクションに直接応答して実施されている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
図7は、本開示のいくつかの実施形態による、ユーザ選好に基づいてメディアアセットの出力を調節するための別の例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス700は、制御回路504(図5)によって実行されてもよい。プロセス700またはその任意のステップは、図5−6に示されるデバイスのうちのいずれかの上で実施され得る、またはそれによって提供され得ることに留意されたい。
プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信する、702から開始する。例えば、メディアガイドアプリケーションは、午後4時から6時まで、チャネル「ESPN」からユーザ入力インターフェースを介して(例えば、ユーザ入力インターフェース510(図5)を介して)、特定のフットボールの試合「Michigan対USC」を記憶するオプションのユーザ選択を受信してもよい。ユーザは、モバイルデバイス、または記憶される番組を選択するための任意の他の方法を使用して、セットトップボックスから遠隔で、具体的チームの全てのフットボールの試合のための連続録画オプションを通して、番組一覧画面内(例えば、グリッドガイド(図3−4)内)のフットボールの試合を記憶するオプションを選択してもよい。
プロセス700は、メディアガイドアプリケーションが、データ構造へのエントリとして、スケジュールされた時間間隔中に第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を(例えば、記憶装置508(図5)の中に)記憶し、エントリは、現在のコンテンツソースを示す第1のフィールドを含む、704に続く。例えば、メディアガイドアプリケーションは(例えば、制御回路504(図5)を介して)、メディアアセットとユーザが記憶することを要求した伝送のためにメディアアセットがスケジュールされるときのスケジュールされた間隔とのデータベースを維持してもよく、これは、記憶装置の中に(例えば、記憶装置508(図5)の中に)ローカルに位置し得るか、または、通信ネットワークを介して(例えば、通信ネットワーク614(図6)を介して)アクセス可能な遠隔に(例えば、メディアガイドデータソース618(図6)の中に)位置し得る。具体的実施例として、データベースは、各行が、別個のセル(すなわち、フィールド)の中に、記憶のためにスケジュールされるメディアアセットの識別子、開始時間、終了時間、およびメディアアセットが利用可能であるコンテンツソース(すなわち、現在のコンテンツソース)を含有する、テーブルとして配列されてもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)SQLスクリプト等のデータベースクエリ言語スクリプトを実行することによって、本情報を読み取って/書き込んでもよい。例えば、メディアガイドアプリケーションは、以下でさらに説明されるように、メディアガイドアプリケーションが、第1のメディアアセットが異なるコンテンツソースに再スケジュールされたことを決定する場合に、異なるコンテンツソースであるように現在のコンテンツソースを含有するフィールドを更新してもよい(例えば、制御回路504(図5)を介して)。
プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する、706に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)プログラムスクリプトを実行して、第1のコンテンツソース(例えば、ESPN)から受信されるデータパケットをチェックし、フットボールの試合が第1のコンテンツソースから現在利用可能である(例えば、フットボールの試合がESPNで放送されている)かどうかを決定してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)連続的に、または所定の間隔中にデータパケットを監視し、計算費用を削減してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)図1に説明されるようなスケジュールされた時間間隔外に第1のコンテンツソースから受信されるデータパケットを監視する。メディアガイドアプリケーションは、次いで、(例えば、制御回路504(図5)を介して)記憶されるようにスケジュールされるメディアアセットが、そのスケジュールされたタイムスロットよりも長引いた、および/またはそのスケジュールされたタイムスロットの前に開始したかどうかを決定してもよい。メディアガイドアプリケーションは、スケジュールされた時間間隔外の第1の時間間隔中に、(例えば、制御回路504(図5)を介して)第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する。例えば、メディアガイドアプリケーションは、ユーザカスタマイズ可能であり得る、番組が開始するようにスケジュールされる前の設定時間に(例えば、メディアアセットが開始するようにスケジュールされる30分前に)第1のコンテンツソースからビデオとともに受信されるデータパケットを監視してもよい(例えば、制御回路504(図5)を介して)。例証的実施例として、メディアガイドアプリケーションは、スケジュールされた第1のメディアアセットが終了する前に終了するようにスケジュールされるスポーツイベントが予期されるよりも早く終了する場合に、(例えば、記憶装置508(図5)の中に)試合前の映像または情報を記憶してもよい。
代替として、または加えて、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)メディアアセットのスケジュールされた終了時間後に第1のコンテンツソースからビデオとともに受信されるデータパケットを監視する。例えば、記憶されるようにスケジュールされる第1のメディアアセットは、それ自体がスケジュールされた終了時間を過ぎ得る。本状況では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)上記で説明されるように第1のコンテンツソースから受信されるデータパケットを監視し続け、第1のコンテンツソースからビデオとともに受信されるデータパケットがもはやメディアアセットの識別子に合致しなくなる(例えば、メディアアセットが終了したことを示す)まで、メディアアセットを記憶し続けてもよい。代替として、または加えて、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)終了時に、またはスケジュールされた時間間隔後に、上記で説明されるように複数のコンテンツソースを検索することによって、メディアアセットが終了し、別のコンテンツソースに再スケジュールされていないことを決定してもよい。
プロセス700は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)監視されたデータパケットから第1のメディアアセットインジケータを抽出する、708に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)宣言的「選択」コマンドを利用してSQLスクリプトを実行することによって、メディアアセットのための視聴覚データとともにデータパケットの中で伝送されるテーブル内のフィールドからメディアアセットインジケータを抽出してもよい。識別子は、第1のメディアアセットに特有であり、メディアガイドアプリケーションがそれを他のメディアアセットと区別することを可能にし、これは、メディアアセットの名称、またはコンテンツソースからのスケジュールされた伝送時間に基づく自動的にハッシュ化された整数であってもよい。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のコンテンツソースからのビデオに関連する情報を含有するテーブルを受信する。例えば、テーブルは、図2において以下でさらに説明されるように、番組のインジケータ(例えば、番組に対応する一意の英数字コード)および番組の説明等の第1のコンテンツソースから現在受信されている番組に関するメタデータを含有する、行に編成されてもよい。メディアガイドアプリケーションは、次いで、第1のメディアアセットインジケータに対応するテーブル内のフィールドから値を読み出してもよい。例えば、上記で説明されるように、メディアガイドアプリケーションは、「FTBL1485」等のインジケータを読み出してもよい。
プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)抽出された第1のメディアアセットインジケータを第1のメディアアセットの識別子と比較する、710に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)(例えば、メモリ(例えば、記憶装置508)の中にローカルで記憶されるか、または通信ネットワーク(例えば、通信ネットワーク614)を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース618)に遠隔で記憶された)メディアアセットの識別子を含有するデータベースにアクセスし、メディアアセットストリームから抽出されるメディアアセットインジケータがデータベースの中に記憶された第1のメディアアセットの識別子に合致するかどうかを(例えば、文字合致を介して)決定してもよい。
いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)ユーザ要求を用いて、第1のメディアアセットの識別子を記憶する。例えば、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)フットボールの試合を記憶するためのユーザ選択を(例えば、ユーザ入力インターフェース510(図5)から)受信するとき、メディアガイドアプリケーションは、フットボールの試合を提供するコンテンツソースに由来し得る、フットボールの試合の識別子を記憶する。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のメディアアセットの識別子の文字を抽出された第1のメディアアセットインジケータの文字と比較してもよい。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)「FTBL1485」等の抽出されたインジケータの各文字を記憶された識別子と比較してもよい。メディアガイドアプリケーションは、閾値数または割合の文字が合致する場合に、(例えば、制御回路504(図5)を介して)抽出されたインジケータが記憶された識別子に合致することを決定してもよい。
プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応するかどうかを決定する、712に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)抽出されたインジケータが第1のメディアアセットの記憶された識別子に合致する(例えば、「FTBL1485」が抽出されたインジケータおよび記憶された識別子の両方である)かどうかを出力する、プログラムスクリプトを実行してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)実行されたプログラムスクリプトの出力として、抽出されたインジケータが記憶された識別子に合致するかどうかに基づくブール結果を受信してもよい。
メディアガイドアプリケーションが、抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応することを決定する場合、プロセス700は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)記憶されたエントリの第1のフィールド内に示される第1のコンテンツソースから第1のメディアアセットを記憶する、714に続く。例えば、抽出された識別子が第1のメディアアセットに対応する記憶された識別子に合致することを決定することに応じて、メディアガイドアプリケーションは、記憶されたエントリの第1のフィールド内に示されるように、最初にスケジュールされたコンテンツソース(例えば、ESPN)から受信されるフットボールの試合を(例えば、記憶装置508(図5)の中に)記憶してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)スケジュールされた時間間隔の全体を通して第1のコンテンツソースから受信されるデータパケットを監視し続け、第1のメディアアセットが第1のコンテンツソースからもはや伝送されていない、および異なるコンテンツソースから伝送されているかどうかを決定してもよい(例えば、プロセス700は、ステップ706に戻ってもよい)。
メディアガイドアプリケーションが、抽出されたメディアアセットインジケータが第1のメディアアセットの識別子に対応しないことを決定する場合、プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、複数のコンテンツソース上で受信されるデータパケットを検索する、716に続く。例えば、メディアガイドアプリケーションは、フットボールの試合の識別子に合致しない、ESPNから現在受信されているメディアアセットからの抽出されたインジケータに基づいて(例えば、上記で説明されるようなデータベースとの比較に基づいて)、(例えば、制御回路504(図5)を介して)ESPNで午後4時に放送されるようにスケジュールされたフットボールの試合が現在放送されていないことを決定してもよい。本決定に応答して、メディアガイドアプリケーションは、上記で説明されるように、データパケットからインジケータを抽出し、抽出されたインジケータをメディアアセットの識別子と比較することによって、メディアアセットが利用可能であるコンテンツソースを見出そうとして、(例えば、制御回路504(図5)を介して)ユーザがサブスクライブする他のコンテンツソースを通してスキャンしてもよい。
プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含むかどうかを決定する、718に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第2のコンテンツソースから受信されるデータパケットから、メディアアセットインジケータ(例えば、「FTBL1485」)を抽出し、上記で説明されるように、(例えば、文字合致を介して)それがデータ構造の中に記憶された第1のメディアアセットの識別子に合致するかどうかを決定してもよい。
メディアガイドアプリケーションが、複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが、第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含むことを決定する場合、プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶されたエントリの第1のフィールド内の現在のコンテンツソースを更新し、第1のメディアアセットが第2のコンテンツソースから伝送されていることを示す、724に続く。例えば、コンテンツソース「ESPN2」からの抽出されたデータパケットから、フットボールの試合がESPNの代わりにESPN2で放送されていることを決定することに応じて、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)データ構造の中に記憶されたエントリ内の現在のコンテンツソースに対応するフィールドを更新し、フットボールの試合が異なるコンテンツソースESPN2から放送されていることを反映してもよい。具体的実施例として、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)プログラムスクリプトを実行し、第1のフィールド、すなわち、フットボールの試合のための記憶されたエントリと関連付けられるコンテンツソースフィールドの中に記憶された値を更新してもよい。
プロセス700は、次いで、メディアガイドアプリケーションが、現在のコンテンツソースとして、記憶されたエントリの第1のフィールド内に示される第2のコンテンツソースから受信される第1のメディアアセットを(例えば、記憶装置508(図5)の中に)記憶する、726に続く。例えば、メディアガイドアプリケーションは、データベース内のエントリの第1のフィールドの中に記憶された、更新された現在のコンテンツソース値に基づいて、ESPNの代わりにESPN2からフットボールの試合を(例えば、記憶装置508(図5)の中に)記憶してもよい。いくつかの実施形態では、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第2のコンテンツソースから現在受信されているメディアアセットのデータパケットを監視し続け、第1のメディアアセットが第1のコンテンツソースに戻るようにスケジュールされたか、または別のコンテンツソースにスケジュールされたかを決定してもよい。例えば、フットボールの試合がESPN2に再スケジュールされた理由は、午後4時に終了するようにスケジュールされたESPN上のスポーツイベントが長引いたためであり得る。本状況では、第2のコンテンツソースからの第1のメディアアセット(例えば、ESPN2からのフットボールの試合)を(例えば、記憶装置508(図5)の中に)記憶している間に、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)フットボールの試合が依然としてESPN2上で受信されているかどうかを監視し続けてもよい。10分後、ESPN上の試合は、終了し得、「Michigan対USC」のフットボールの試合は、ESPN2からESPNに戻るようにスケジュールされ得る。スケジュールされた時間間隔中にメディアアセットの視聴覚データとともに受信されるメディアアセットインジケータを監視し続けることによって、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)任意の時間にコンテンツソース変化を検出し、それが現在利用可能であるコンテンツソースからメディアアセットを見出して記憶することができる。
いくつかの実施形態では、メディアガイドアプリケーションは、異なるコンテンツソースから複数のセグメントでメディアアセットを(例えば、記憶装置508(図5)の中に)記憶してもよい。例えば、フットボールの試合は、ESPN2上で開始するが、ESPN上で長引いた番組が終わったため、5分後にESPNに移動され得る。そのような状況では、メディアガイドアプリケーションは、上記で議論されるように、第2のコンテンツソースからメディアアセットの第1のセグメントを(例えば、記憶装置508(図5)の中に)記憶してもよい。例えば、メディアガイドアプリケーションは、最初にスケジュールされたようなESPNの代わりに、試合の開始時にESPN2から受信されるフットボールの試合を(例えば、記憶装置508(図5)の中に)記憶してもよい。メディアガイドアプリケーションは、次いで、第1のコンテンツソースから受信される第1のメディアアセットの第2のセグメントを(例えば、記憶装置508(図5)の中に)記憶してもよい。例えば、メディアガイドアプリケーションは、上記で議論される(例えば、ステップ718)のように、フットボールの試合がESPNに戻るようにスケジュールされたことを決定してもよく、ESPNから受信されるフットボールの試合の第2のセグメントを(例えば、記憶装置508(図5)の中に)記憶してもよい。メディアガイドアプリケーションは、次いで、(例えば、制御回路504(図5)を介して)第1のセグメントおよび第2のセグメントを単一の記憶されたファイルにスティッチングする。例えば、メディアガイドアプリケーションは、試合全体のための単一の記憶されたファイルがユーザによってアクセスされることができるように、(例えば、制御回路504(図5)を介して)フットボールの試合の2つの記憶されたセグメントを組み合わせる。メディアガイドアプリケーションは、加えて、単一の記憶されたファイルの中に、単一の記憶されたファイルが第1のコンテンツソースおよび第2のコンテンツソースから作成されたというインジケーションを(例えば、記憶装置508(図5)の中に)記憶する。例えば、メディアガイドアプリケーションは、ユーザがその事実へ注意喚起されるように、記憶されたファイルが複数のコンテンツソースから作製されたというインジケーションを(例えば、記憶装置508(図5)の中に)記憶してもよい。
いくつかの実施形態では、2つの記憶されたセグメントをともにスティッチングするとき、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のセグメントとともに記憶されたメタデータから第1のセグメントのための第1のタイムスタンプを抽出する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のセグメントが「19:00:00」(時間:分:秒)から始まって記憶されたことを抽出してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第2のセグメントとともに記憶されたメタデータから第2のセグメントのための第2のタイムスタンプを抽出する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第2のセグメントが「19:05:00」(時間:分:秒)から始まって記憶されたことを抽出してもよい。メディアガイドアプリケーションは、次いで、(例えば、制御回路504(図5)を介して)第1のタイムスタンプおよび第2のタイムスタンプを比較し、早い方を決定する。例えば、メディアガイドアプリケーションは、2つの抽出されたタイムスタンプを減算するステップに基づいて、(例えば、制御回路504(図5)を介して)減算から取得される結果が正であるかまたは負であるかに基づいて早い方を決定してもよい。メディアガイドアプリケーションは、第1のタイムスタンプがより早いことを決定するステップに応答して、(例えば、制御回路504(図5)を介して)第2のセグメントを第1のセグメントの終わりに追加する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)フットボールの試合のESPNから記憶される第2のセグメントの始まりを、ESPN2から記憶される第1のセグメントの終わりにスティッチングする。
メディアガイドアプリケーションが、複数のコンテンツソースのうちの第2のコンテンツソースから受信される第2のデータパケットが第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含まないことを決定する場合、プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)検索されていない任意の付加的コンテンツソースがあるかどうかを決定する、720に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)ユーザがサブスクライブするコンテンツソースからメディアアセットインジケータを含有するデータパケットを反復して受信し、全てのコンテンツソースからのメディアアセットインジケータを含有するデータパケットがチェックされたときに終了する、「for」ループを含有するプログラムスクリプトを実行してもよい。代替として、または加えて、メディアガイドアプリケーションは、データパケットが抽出された(例えば、記憶装置508(図5)内の)コンテンツソースのリストを維持し、ユーザによってサブスクライブされる任意のコンテンツソースがまだチェックされていないかどうかを決定してもよい。
メディアガイドアプリケーションが、検索されていない任意の付加的コンテンツソースがないことを決定する場合、プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットが記憶のために利用可能ではないことを返す、722に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)フットボールの試合がユーザに利用可能な任意のコンテンツソースから伝送されていないことを決定してもよい。代替として、または加えて、フットボールの試合がユーザに利用可能な任意のコンテンツソースから伝送されていないという決定を行うことに応じて、メディアガイドアプリケーションは、フットボールの試合がスケジュール変更に起因して記憶されることができないという通知を(例えば、通信ネットワーク614(図6)を介して)ユーザに伝送してもよい。
メディアガイドアプリケーションが、検索されていない任意の付加的コンテンツソースがあることを決定する場合、プロセス700は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して検索されていない、複数のコンテンツソース上で受信されるデータパケットを検索する、716に戻る。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)上記で説明されるように、フットボールの試合の記憶された識別子に対応するメディアアセットインジケータに関して、異なるコンテンツソースから受信されるデータパケットを検索し続けてもよい。
図7のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図7に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させるかまたは速度を加速させるために、任意の順序で、または並行して、または実質的に同時に実施されてもよい。例えば、プロセス700の複数のインスタンスは、記憶のために異なるメディアアセットを受信するようにそれぞれスケジュールされる、セットトップボックス内の複数のチューナのために実行されてもよい。さらに、図5−6に関連して議論されるデバイスまたは機器のうちのいずれかは、図7のステップのうちの1つ以上のものを実施するために使用され得ることに留意されたい。
図8は、本開示のいくつかの実施形態による、複数のコンテンツソースから受信されるデータパケットを検索するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス800は、制御回路504(図5)によって実行されてもよい。プロセス800またはその任意のステップは、図5−6に示されるデバイスのうちのいずれかの上で実施され得る、またはそれによって提供され得ることに留意されたい。プロセス800は、メディアガイドアプリケーションが、第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、複数のコンテンツソース上で受信されるデータパケットを検索するためのプロセスを開始する、802から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路504(図5)を介して)プロセス800を実行するための特定の方法を呼び出すプログラムスクリプトを実行してもよい。
プロセス800は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)複数のコンテンツソースのための情報を含有するデータベースにアクセスし、情報は、複数のコンテンツソースのうちの各コンテンツソースに類似する複数のコンテンツソースのサブセットのインジケーションを含む、804に続く。例えば、メディアガイドアプリケーションは、メモリの中に(例えば、記憶装置508(図5)の中に)ローカルで記憶されるか、または通信ネットワーク(例えば、通信ネットワーク614(図6))を介してアクセス可能なメディアガイドデータソース(例えば、メディアガイドデータソース618(図6))に遠隔で記憶されたデータベースにアクセスしてもよい。データベースは、自己参照様式で設計されてもよく、識別子およびコンテンツソース毎の情報は、単一のテーブルの中に非隣接状態で含有され、ポインタを介してテーブル内の類似コンテンツソースに対応する適切なフィールドにリンクされ得る。
プロセス800は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のコンテンツソースと関連付けられるデータベース内のフィールドから、第2のコンテンツソースが第1のコンテンツソースに類似するというインジケーションを読み出す、806に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のコンテンツソースと関連付けられるフィールドから第2のコンテンツソースの識別子を(例えば、宣言的「選択」命令文を介して)読み出す、SQLスクリプト等のデータベースクエリ言語スクリプトを実行してもよい。識別子は、コンテンツソースを一意に識別する、英数字または他の文字の任意の組み合わせであってもよい。例えば、識別子は、周波数(例えば、54MHz)、OTAチャネルのコールサイン(例えば、WXYZ)であってもよい、または識別子は、チャネル名(例えば、ESPN)であってもよい。
プロセス800は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)第2のコンテンツソースを受信する、808に続く。例えば、上記で説明されるように、メディアガイドアプリケーションは、第2のコンテンツソースによって現在伝送されているメディアアセットを決定するために、第2のコンテンツソースから(例えば、図2に示されるような)メディアアセット情報データパケットを受信してもよい。
プロセス800は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第2のコンテンツソースから受信されるデータパケットから、第2のメディアアセットインジケータを抽出する、810に続く。図1および6において上記で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第2のコンテンツソースから受信されるデータパケットから、第2のメディアアセットインジケータを抽出し、第2のコンテンツソースから現在伝送されているメディアアセットを決定してもよい。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)インジケータ「Soccerl23」を抽出してもよい。
プロセス800は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)抽出された第2のメディアアセットインジケータが第1のメディアアセットの識別子に対応するかどうかを決定する、812に続く。図1および7において上記で説明されるように、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)抽出されたインジケータ(例えば、「Soccer123」)を、ユーザが記憶することを要求した第1のメディアアセットの識別子と比較する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)抽出されたインジケータ「Soccerl23」の文字を記憶された識別子「フットボール678」の文字と比較し、閾値数の文字が合致するかどうかを決定してもよい。
抽出された第2のメディアアセットインジケータが第1のメディアアセットの識別子に対応しない場合、プロセス800は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットが第2のコンテンツソースから利用可能ではないことを返す、814に続く。例えば、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)閾値数の文字が第2のメディアアセットインジケータと第1のメディアアセットの識別子との間で合致しないことを決定する場合、メディアガイドアプリケーションは、メディアアセットが第2のコンテンツソースから利用可能ではないことを返してもよい。メディアガイドアプリケーションは、ステップ804に戻り、(例えば、制御回路504(図5)を介して)全てのコンテンツソースがチェックされたかどうかを決定し、これらのコンテンツソースから受信されるデータパケットが、第1のメディアアセットが現在伝送されていることを示すかどうかを決定してもよい。メディアガイドアプリケーションは、プログラムスクリプトを実行し、第1のコンテンツソースと関連付けられる各コンテンツソースがチェックされるまで、またはユーザに利用可能な全てのコンテンツソースがチェックされるまで、(例えば、制御回路504(図5)を介して)プロセス800を通してループしてもよい。
抽出された第2のメディアアセットインジケータが第1のメディアアセットの識別子に対応する場合、プロセス800は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)第1のメディアアセットが第2のコンテンツソースから利用可能であることを返す、816に続く。例えば、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)閾値数の文字が第2のメディアアセットインジケータと第1のメディアアセットの識別子との間で合致することを決定する場合、メディアガイドアプリケーションは、メディアアセットが第2のコンテンツソースから利用可能ではないことを返してもよい。メディアガイドアプリケーションは、次いで、(例えば、制御回路504(図5)を介して)プロセス800を終了し、第2のコンテンツソースから第1のメディアアセットを録画するための新しいプロセスを実行してもよい。
図8のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図8に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させるかまたは速度を加速させるために、任意の順序で、または並行して、または実質的に同時に実施されてもよい。例えば、プロセス800の複数のインスタンスは、セットトップボックス内の複数のチューナがそれぞれ、並行して異なるコンテンツソースを受信するように実行されてもよい。これは、メディアガイドアプリケーションが、第1のコンテンツソースと関連付けられる複数のコンテンツソースを並行してチェックし、第1のメディアアセットがこれらのコンテンツソースから伝送されているかどうかを決定することを可能にする。さらに、図5−6に関連して議論されるデバイスまたは機器のうちのいずれかは、図8のプロセスのうちの1つ以上のものを実施するために使用され得ることに留意されたい。
図9は、本開示のいくつかの実施形態による、記憶されたメディアアセットがメディアアセットの完全なバージョンであるかどうかを決定するための例証的ステップのフローチャートである。例えば、メディアガイドアプリケーション実装プロセス900は、制御回路504(図5)によって実行されてもよい。プロセス900またはその任意のステップは、図5−6に示されるデバイスのうちのいずれかの上で実施され得る、またはそれによって提供され得ることに留意されたい。プロセス900は、メディアガイドアプリケーションが、記憶された第1のメディアアセットが完全であるかどうかを決定するためのプロセスを開始する、902から開始する。例えば、メディアガイドアプリケーションは、必要な変数を初期化し、(例えば、制御回路504(図5)を介して)プロセス900を実行するための特定の方法を呼び出すプログラムスクリプトを実行してもよい。
プロセス900は、メディアガイドアプリケーションが(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットの持続時間を決定する、904に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)「7100秒」であり得る「program_length」変数の中に記憶された値である、記憶された第1のメディアアセットとともに(例えば、記憶装置508(図5)の中に)記憶されたメタデータを読み出してもよい。代替として、または加えて、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のメディアアセットが最初に記憶された開始時間およびそれがメディアガイドアプリケーションによって記憶されることを止めた終了時間を読み出し、2つの値を減算することを介して持続時間を計算してもよい。
プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットの持続時間をスケジュールされた時間間隔と比較する、906に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)スケジュールされた時間間隔の長さから記憶された第1のメディアアセットの持続時間を減算してもよい。具体的実施例として、記憶された第1のメディアアセットの持続時間が7100秒であり、スケジュールされた時間間隔の長さが7200秒である場合、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットがスケジュールされた時間間隔よりも100秒短く、第1のメディアアセットの一部が記憶されなかったことを示し得ることを決定してもよい。
プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶されたメディアアセットの持続時間がスケジュールされた時間間隔よりも短いかどうかを決定する、908に続く。例えば、上記で説明されるように、メディアガイドアプリケーションは、記憶された第1のメディアアセットが短い場合、スケジュールされた時間間隔の長さからの記憶された第1のメディアアセットの持続時間の減算の結果として、(例えば、制御回路504(図5)を介して)正の値を計算してもよい。逆に、値が負である場合、記憶された第1のメディアアセットは、スケジュールされた時間間隔よりも長く、第1のメディアアセットがその全体で正確に記憶されたことを示す可能性が高い。いくつかの実施形態では、第1のメディアアセットの実際の持続時間は、第1の(および/または第2の)コンテンツソースからメディアガイドアプリケーションによって(例えば、制御回路504(図5)を介して)受信されてもよく、これは、上記で説明されるように、より正確な比較および決定を行うために使用されることができる。
メディアガイドアプリケーションが、記憶されたメディアアセットの持続時間がスケジュールされた時間間隔よりも短くないことを決定する場合、プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットが完全であることを返す、910に続く。例えば、メディアガイドアプリケーションによって計算される値が上記で説明されるように負である場合、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットが完全であることを返し、プロセス900を終了してもよい。
メディアガイドアプリケーションが、記憶されたメディアアセットの持続時間がスケジュールされた時間間隔よりも短いことを決定する場合、プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶されたメディアアセットの持続時間とスケジュールされた時間間隔との間の差を閾値差と比較する、912に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)閾値差に対応するユーザプロファイルの中に記憶された値を読み出してもよい。閾値差は、記憶されたメディアアセットが必須量のコンテンツを欠いている(例えば、完全ではない)ことを決定する前に、ユーザが記憶されたメディアアセットから欠落していることが許容できるメディアアセットの割合を決定するように、ユーザによって調節可能であり得る。具体的実施例として、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)閾値差「60秒」を読み出してもよい。メディアガイドアプリケーションは、次いで、(例えば、制御回路504(図5)を介して)閾値差(例えば、60秒)をステップ906において上記で決定される差(例えば、100秒)と比較してもよい。
プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットの持続時間とスケジュールされた時間間隔との間の差が閾値差を満たすかどうかを決定する、914に続く。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)ステップ906において決定される差から閾値差を減算し、値が正であるかまたは負であるかを決定してもよい。メディアガイドアプリケーションが負の値を計算する場合には、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)閾値差が満たされていないことを決定してもよい。メディアガイドアプリケーションが正またはゼロの値を計算する場合には、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)閾値差が満たされていることを決定してもよい。
メディアガイドアプリケーションが、記憶された第1のメディアアセットの持続時間とスケジュールされた時間間隔との間の差が閾値差を満たさないことを決定する場合、プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットが完全であることを返す、910に続く。例えば、メディアガイドアプリケーションによって計算される値が上記で説明されるような閾値差を満たさない場合、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットが完全であることを返し、プロセス900を終了してもよい。
メディアガイドアプリケーションが、記憶された第1のメディアアセットの持続時間とスケジュールされた時間間隔との間の差が閾値差を満たすことを決定する場合、プロセス900は、メディアガイドアプリケーションが、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットが完全ではないことを返す、910に続く。例えば、メディアガイドアプリケーションによって計算される値が上記で説明されるような閾値差を満たす場合、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)記憶された第1のメディアアセットが完全ではないことを返し、プロセス900を終了してもよい。
いくつかの実施形態では、記憶されたメディアアセットの持続時間とスケジュールされた時間間隔との間の差が閾値差を満たすことを決定するステップに応答して、メディアガイドアプリケーションは、加えて、(例えば、制御回路504(図5)を介して)メディアガイドデータベースから(例えば、メディアガイドデータソース618(図6)から)読み出されるメディアアセット一覧から、第1のメディアアセットが将来の時間に利用可能であるかどうかを決定する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)閾値(例えば、5分)を超える、フットボールの試合(例えば、1時間)の一部が記憶されていない場合があることを決定し、次いで、メディアガイドデータソースから一覧を読み出し、メディアアセットが将来の時間(例えば、再放送)に利用可能であるかどうかを決定してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)メディアアセットの識別子の文字を個々の一覧と比較し、メディアアセットが将来の時間に利用可能であるという決定を行ってもよい。メディアガイドアプリケーションは、第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定するステップに応答して、(例えば、図7の上記で議論されるようにテーブル等のデータ構造の中に)第3のコンテンツソースから第1のメディアアセットを記憶する第2の要求を(例えば、制御回路504(図5)を介して)記憶する。例えば、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)メディアアセットが、第1のコンテンツソース、第2のコンテンツソース、または異なるコンテンツソースであり得る、第3のコンテンツソースから利用可能であることを決定し、第3のコンテンツソース(例えば、ABC)からメディアアセットを記憶する要求をスケジュールしてもよい。メディアアセットの再放送をスケジュールすることによって、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)最初の記憶されたメディアアセットが完全であった(例えば、そのスケジュールされた間隔よりも早く終了した)か、またはメディアアセットの一部を欠いていたかを決定することが可能であり得る。
いくつかの実施形態では、メディアガイドアプリケーションは、将来の時間にスケジュールされるメディアアセットの一部のみを記憶する。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、複数のフレームのうちの各フレームと関連付けられる時間を読み出す。例えば、メディアガイドアプリケーションによって受信および記憶される各フレームは、フレームがコンテンツソースから伝送された時間(例えば、FFがフレーム番号である、フォーマット時間:分:秒:FFで)を伴う関連付けられるメタデータを有してもよい。メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定してもよい。例えば、メディアガイドアプリケーションは、関連付けられる時間19:05:00:01を伴うフレーム後に、次のフレームが関連付けられる時間19:10:00:01を有することを検出してもよく、メディアガイドアプリケーションは、(例えば、制御回路504(図5)を介して)一部(例えば、5分のメディアアセット)が記憶されたメディアアセットから欠落していることを決定してもよい。メディアガイドアプリケーションは、次いで、(例えば、記憶装置508(図5)を介して)第2の要求を用いて、第1のメディアアセットの第1の部分のみを記憶する命令を記憶してもよい。例えば、記憶集約的であり得る、メディアアセット全体をもう一度記憶することなく、メディアアセットの完全なバージョンを作成するために、メディアガイドアプリケーションは、記憶された第1のメディアアセットから欠落しているメディアアセットのフレーム(例えば、第1の部分)のみを記憶する命令を記憶する。
図9のステップまたは説明は、本開示の任意の他の実施形態と併用され得ることが考慮される。加えて、図9に関連して説明されるステップおよび説明は、本開示の目的を促すために、代替順序で、または並行して、行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させるかまたは速度を加速させるために、任意の順序で、または並行して、または実質的に同時に実施されてもよい。例えば、プロセス900の複数のインスタンスは、複数の記憶されたメディアアセットが並行して完全性に関してチェックされるように実行されてもよい。さらに、図5−6に関連して議論されるデバイスまたは機器のうちのいずれかは、図9のプロセスのうちの1つ以上のものを実施するために使用され得ることに留意されたい。
本開示の上記で説明される実施形態は、限定ではなく、例証目的のために提示されており、本開示は、続く請求項によってのみ限定される。さらに、いずれか1つの実施形態で説明される特徴および制限は、本明細書のいずれかの他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式でいずれかの他の実施形態と組み合わせられ得る、異なる順序で行われ得る、または並行して行われ得ることに留意されたい。加えて、本明細書に説明されるシステムおよび方法は、リアルタイムで実施されてもよい。また、上記に説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用され得る、またはそれらに従って使用され得ることにも留意されたい。

Claims (51)

  1. 1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための方法であって、前記方法は、
    第1のコンテンツソースからの伝送のためにスケジュールされる第1のメディアアセットを記憶するユーザ要求を受信することと、
    前記第1のコンテンツソースからビデオとともに受信されるデータパケットに基づいて、前記メディアアセットが前記第1のコンテンツソースから現在伝送されているかどうかを決定することと、
    前記メディアアセットが前記第1のコンテンツソースから現在伝送されていないことを決定することに応答して、前記メディアアセットが第2のコンテンツソースから現在伝送されていることを示す情報に関して、複数のコンテンツソースから受信されるデータパケットを検索することと、
    前記第2のコンテンツソースにアクセスし、前記第1のメディアアセットを記憶することと
    を含む、方法。
  2. 1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための方法であって、前記方法は、
    スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信することと、
    データ構造へのエントリとして、前記スケジュールされた時間間隔中に前記第1のコンテンツソースから前記第1のメディアアセットを記憶する前記ユーザ要求を記憶することであって、前記エントリは、現在のコンテンツソースを示す第1のフィールドを含む、ことと、
    前記スケジュールされた時間間隔中に、
    前記第1のコンテンツソースからビデオとともに受信されるデータパケットを監視することと、
    前記監視されたデータパケットから第1のメディアアセットインジケータを抽出することと、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することと、
    前記抽出されたメディアアセットインジケータが前記第1のメディアアセットの識別子に対応しないことを決定することに応答して、前記第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、前記複数のコンテンツソース上で受信されるデータパケットを検索することと、
    前記複数のコンテンツソースのうちの第2のコンテンツソースから受信される前記第2のデータパケットが、前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含むことを決定することに応答して、前記記憶されたエントリの第1のフィールド内の前記現在のコンテンツソースを更新し、前記第1のメディアアセットが前記第2のコンテンツソースから伝送されていることを示すことと、
    前記記憶されたエントリの第1のフィールド内に示される前記現在のコンテンツソースから前記第1のメディアアセットを記憶することと
    を含む、方法。
  3. 前記スケジュールされた時間間隔外の第1の時間間隔中に、
    前記第1のコンテンツソースから前記ビデオとともに受信される前記データパケットを監視することと、
    前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出することと、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することと、
    前記抽出された第1のメディアアセットインジケータが前記第1のメディアアセットの識別子に対応することを決定することに応答して、前記記憶されたエントリの第1のフィールド内に示される前記第1のコンテンツソースから前記第1のメディアアセットを記憶することと
    をさらに含む、請求項2に記載の方法。
  4. 前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含む前記第2のデータパケットに関して、前記複数のコンテンツソース上で受信される前記データパケットを検索することは、
    複数のコンテンツソースのための情報を含有するデータベースにアクセスすることであって、前記情報は、前記複数のコンテンツソースのうちの各コンテンツソースに類似する前記複数のコンテンツソースのサブセットのインジケーションを含む、ことと、
    前記第1のコンテンツソースと関連付けられる前記データベース内のフィールドから、前記第2のコンテンツソースが前記第1のコンテンツソースに類似するというインジケーションを読み出すことと、
    前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータに関して、前記第2のコンテンツソースからのデータパケットを検索することと
    を含む、請求項2に記載の方法。
  5. 前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出することは、
    前記第1のコンテンツソースからの前記ビデオに関連する情報を含有するテーブルを受信することと、
    前記第1のメディアアセットインジケータに対応する前記テーブル内のフィールドから値を読み出すことと
    を含む、請求項2に記載の方法。
  6. 前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することは、
    前記ユーザ要求を用いて、前記第1のメディアアセットの識別子を記憶することと、
    前記第1のメディアアセットの識別子の文字を前記抽出された第1のメディアアセットインジケータの文字と比較することと
    を含む、請求項2に記載の方法。
  7. 前記記憶された第1のメディアアセットは、前記第2のコンテンツソースからの前記第1のメディアアセットの第1のセグメントであり、
    前記第1のコンテンツソースから受信される前記第1のメディアアセットの第2のセグメントを記憶することと、
    前記第1のセグメントおよび前記第2のセグメントを単一の記憶されたファイルにスティッチングすることと、
    前記単一の記憶されたファイルの中に、前記単一の記憶されたファイルが前記第1のコンテンツソースおよび前記第2のコンテンツソースから作成されたというインジケーションを記憶することと
    をさらに含む、請求項2に記載の方法。
  8. 前記第1のセグメントおよび前記第2のセグメントを前記単一の記憶されたファイルにスティッチングすることは、
    前記第1のセグメントとともに記憶されたメタデータから前記第1のセグメントのための第1のタイムスタンプを抽出することと、
    前記第2のセグメントとともに記憶されたメタデータから前記第2のセグメントのための第2のタイムスタンプを抽出することと、
    前記第1のタイムスタンプおよび前記第2のタイムスタンプを比較し、早い方を決定することと、
    前記第1のタイムスタンプがより早いことを決定することに応答して、前記第2のセグメントを前記第1のセグメントの終わりに追加することと
    を含む、請求項7に記載の方法。
  9. 前記記憶された第1のメディアアセットの持続時間を前記スケジュールされた時間間隔と比較することと、
    前記記憶された第1のメディアアセットの持続時間が前記スケジュールされた時間間隔よりも短いことを決定することに応答して、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の差を閾値差と比較することと、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、前記記憶された第1のメディアアセットが完全ではないことを決定することと
    をさらに含む、請求項2に記載の方法。
  10. 前記記憶されたメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、
    メディアガイドデータベースから読み出されるメディアアセット一覧から、前記第1のメディアアセットが将来の時間に利用可能であるかどうかを決定することと、
    前記第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定することに応答して、前記第3のコンテンツソースから前記第1のメディアアセットを記憶する第2の要求を記憶することと
    をさらに含む、請求項9に記載の方法。
  11. 前記第3のコンテンツソースから前記第1のメディアアセットを記憶する前記第2の要求を記憶することは、
    前記記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、前記複数のフレームのうちの各フレームと関連付けられる時間を読み出すことと、
    前記第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定することと、
    前記第2の要求を用いて、前記第1のメディアアセットの第1の部分のみを記憶する命令を記憶することと
    を含む、請求項10に記載の方法。
  12. 1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するためのシステムであって、前記システムは、
    記憶回路と、
    制御回路であって、
    スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信することと、
    データ構造へのエントリとして、前記スケジュールされた時間間隔中に前記第1のコンテンツソースから前記第1のメディアアセットを記憶する前記ユーザ要求を記憶することであって、前記エントリは、現在のコンテンツソースを示す第1のフィールドを含む、ことと、
    前記スケジュールされた時間間隔中に、
    前記第1のコンテンツソースからビデオとともに受信されるデータパケットを監視することと、
    前記監視されたデータパケットから第1のメディアアセットインジケータを抽出することと、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することと、
    前記抽出されたメディアアセットインジケータが前記第1のメディアアセットの識別子に対応しないことを決定することに応答して、前記第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、前記複数のコンテンツソース上で受信されるデータパケットを検索することと、
    前記複数のコンテンツソースのうちの第2のコンテンツソースから受信される前記第2のデータパケットが、前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含むことを決定することに応答して、前記記憶されたエントリの第1のフィールド内の前記現在のコンテンツソースを更新し、前記第1のメディアアセットが前記第2のコンテンツソースから伝送されていることを示すことと、
    前記記憶されたエントリの第1のフィールド内に示される前記現在のコンテンツソースから前記第1のメディアアセットを記憶することと
    を行うように構成される、制御回路と
    を備える、システム。
  13. 前記制御回路はさらに、
    前記スケジュールされた時間間隔外の第1の時間間隔中に、
    前記第1のコンテンツソースから前記ビデオとともに受信される前記データパケットを監視することと、
    前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出することと、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することと、
    前記抽出された第1のメディアアセットインジケータが前記第1のメディアアセットの識別子に対応することを決定することに応答して、前記記憶されたエントリの第1のフィールド内に示される前記第1のコンテンツソースから前記第1のメディアアセットを記憶することと
    を行うように構成される、請求項12に記載のシステム。
  14. 前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含む前記第2のデータパケットに関して、前記複数のコンテンツソース上で受信される前記データパケットを検索するように構成される、前記制御回路はさらに、
    複数のコンテンツソースのための情報を含有するデータベースにアクセスすることであって、前記情報は、前記複数のコンテンツソースのうちの各コンテンツソースに類似する前記複数のコンテンツソースのサブセットのインジケーションを含む、ことと、
    前記第1のコンテンツソースと関連付けられる前記データベース内のフィールドから、前記第2のコンテンツソースが前記第1のコンテンツソースに類似するというインジケーションを読み出すことと、
    前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータに関して、前記第2のコンテンツソースからのデータパケットを検索することと
    を行うように構成される、請求項12に記載のシステム。
  15. 前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出するように構成される、前記制御回路はさらに、
    前記第1のコンテンツソースからの前記ビデオに関連する情報を含有するテーブルを受信することと、
    前記第1のメディアアセットインジケータに対応する前記テーブル内のフィールドから値を読み出すことと
    を行うように構成される、請求項12に記載のシステム。
  16. 前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するように構成される、前記制御回路はさらに、
    前記ユーザ要求を用いて、前記第1のメディアアセットの識別子を記憶することと、
    前記第1のメディアアセットの識別子の文字を前記抽出された第1のメディアアセットインジケータの文字と比較することと
    を行うように構成される、請求項12に記載のシステム。
  17. 前記記憶された第1のメディアアセットは、前記第2のコンテンツソースからの前記第1のメディアアセットの第1のセグメントであり、前記制御回路はさらに、
    前記第1のコンテンツソースから受信される前記第1のメディアアセットの第2のセグメントを記憶することと、
    前記第1のセグメントおよび前記第2のセグメントを単一の記憶されたファイルにスティッチングすることと、
    前記単一の記憶されたファイルの中に、前記単一の記憶されたファイルが前記第1のコンテンツソースおよび前記第2のコンテンツソースから作成されたというインジケーションを記憶することと
    を行うように構成される、請求項12に記載のシステム。
  18. 前記第1のセグメントおよび前記第2のセグメントを前記単一の記憶されたファイルにスティッチングするように構成される、前記制御回路はさらに、
    前記第1のセグメントとともに記憶されたメタデータから前記第1のセグメントのための第1のタイムスタンプを抽出することと、
    前記第2のセグメントとともに記憶されたメタデータから前記第2のセグメントのための第2のタイムスタンプを抽出することと、
    前記第1のタイムスタンプおよび前記第2のタイムスタンプを比較し、早い方を決定することと、
    前記第1のタイムスタンプがより早いことを決定することに応答して、前記第2のセグメントを前記第1のセグメントの終わりに追加することと
    を行うように構成される、請求項17に記載のシステム。
  19. 前記制御回路はさらに、
    前記記憶された第1のメディアアセットの持続時間を前記スケジュールされた時間間隔と比較することと、
    前記記憶された第1のメディアアセットの持続時間が前記スケジュールされた時間間隔よりも短いことを決定することに応答して、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の差を閾値差と比較することと、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、前記記憶された第1のメディアアセットが完全ではないことを決定することと
    を行うように構成される、請求項12に記載のシステム。
  20. 前記制御回路はさらに、
    前記記憶されたメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、
    メディアガイドデータベースから読み出されるメディアアセット一覧から、前記第1のメディアアセットが将来の時間に利用可能であるかどうかを決定することと、
    前記第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定することに応答して、前記第3のコンテンツソースから前記第1のメディアアセットを記憶する第2の要求を記憶することと
    を行うように構成される、請求項19に記載のシステム。
  21. 前記第3のコンテンツソースから前記第1のメディアアセットを記憶する前記第2の要求を記憶するように構成される、前記制御回路はさらに、
    前記記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、前記複数のフレームのうちの各フレームと関連付けられる時間を読み出すことと、
    前記第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定することと、
    前記第2の要求を用いて、前記第1のメディアアセットの第1の部分のみを記憶する命令を記憶することと
    を行うように構成される、請求項20に記載のシステム。
  22. 1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するためのシステムであって、前記システムは、
    スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信するための手段と、
    データ構造へのエントリとして、前記スケジュールされた時間間隔中に前記第1のコンテンツソースから前記第1のメディアアセットを記憶する前記ユーザ要求を記憶するための手段であって、前記エントリは、現在のコンテンツソースを示す第1のフィールドを含む、手段と、
    前記スケジュールされた時間間隔中に、
    前記第1のコンテンツソースからビデオとともに受信されるデータパケットを監視するための手段と、
    前記監視されたデータパケットから第1のメディアアセットインジケータを抽出するための手段と、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するための手段と、
    前記抽出されたメディアアセットインジケータが前記第1のメディアアセットの識別子に対応しないことを決定することに応答して、前記第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、前記複数のコンテンツソース上で受信されるデータパケットを検索するための手段と、
    前記複数のコンテンツソースのうちの第2のコンテンツソースから受信される前記第2のデータパケットが、前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含むことを決定することに応答して、前記記憶されたエントリの第1のフィールド内の前記現在のコンテンツソースを更新し、前記第1のメディアアセットが前記第2のコンテンツソースから伝送されていることを示すための手段と、
    前記記憶されたエントリの第1のフィールド内に示される前記現在のコンテンツソースから前記第1のメディアアセットを記憶するための手段と
    を備える、システム。
  23. 前記スケジュールされた時間間隔外の第1の時間間隔中に、
    前記第1のコンテンツソースから前記ビデオとともに受信される前記データパケットを監視するための手段と、
    前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出するための手段と、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するための手段と、
    前記抽出された第1のメディアアセットインジケータが前記第1のメディアアセットの識別子に対応することを決定することに応答して、前記記憶されたエントリの第1のフィールド内に示される前記第1のコンテンツソースから前記第1のメディアアセットを記憶するための手段と
    をさらに備える、請求項22に記載のシステム。
  24. 前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含む前記第2のデータパケットに関して、前記複数のコンテンツソース上で受信される前記データパケットを検索するための前記手段は、
    複数のコンテンツソースのための情報を含有するデータベースにアクセスするための手段であって、前記情報は、前記複数のコンテンツソースのうちの各コンテンツソースに類似する前記複数のコンテンツソースのサブセットのインジケーションを含む、手段と、
    前記第1のコンテンツソースと関連付けられる前記データベース内のフィールドから、前記第2のコンテンツソースが前記第1のコンテンツソースに類似するというインジケーションを読み出すための手段と、
    前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータに関して、前記第2のコンテンツソースからのデータパケットを検索するための手段と
    を備える、請求項22に記載のシステム。
  25. 前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出するための前記手段は、
    前記第1のコンテンツソースからの前記ビデオに関連する情報を含有するテーブルを受信するための手段と、
    前記第1のメディアアセットインジケータに対応する前記テーブル内のフィールドから値を読み出すための手段と
    を備える、請求項22に記載のシステム。
  26. 前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するための前記手段は、
    前記ユーザ要求を用いて、前記第1のメディアアセットの識別子を記憶するための手段と、
    前記第1のメディアアセットの識別子の文字を前記抽出された第1のメディアアセットインジケータの文字と比較するための手段と
    を備える、請求項22に記載のシステム。
  27. 前記記憶された第1のメディアアセットは、前記第2のコンテンツソースからの前記第1のメディアアセットの第1のセグメントであり、
    前記第1のコンテンツソースから受信される前記第1のメディアアセットの第2のセグメントを記憶するための手段と、
    前記第1のセグメントおよび前記第2のセグメントを単一の記憶されたファイルにスティッチングするための手段と、
    前記単一の記憶されたファイルの中に、前記単一の記憶されたファイルが前記第1のコンテンツソースおよび前記第2のコンテンツソースから作成されたというインジケーションを記憶するための手段と
    をさらに備える、請求項22に記載のシステム。
  28. 前記第1のセグメントおよび前記第2のセグメントを前記単一の記憶されたファイルにスティッチングするための前記手段は、
    前記第1のセグメントとともに記憶されたメタデータから前記第1のセグメントのための第1のタイムスタンプを抽出するための手段と、
    前記第2のセグメントとともに記憶されたメタデータから前記第2のセグメントのための第2のタイムスタンプを抽出するための手段と、
    前記第1のタイムスタンプおよび前記第2のタイムスタンプを比較し、早い方を決定するための手段と、
    前記第1のタイムスタンプがより早いことを決定することに応答して、前記第2のセグメントを前記第1のセグメントの終わりに追加するための手段と
    を備える、請求項27に記載のシステム。
  29. 前記記憶された第1のメディアアセットの持続時間を前記スケジュールされた時間間隔と比較するための手段と、
    前記記憶された第1のメディアアセットの持続時間が前記スケジュールされた時間間隔よりも短いことを決定することに応答して、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の差を閾値差と比較するための手段と、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、前記記憶された第1のメディアアセットが完全ではないことを決定するための手段と
    をさらに備える、請求項22に記載のシステム。
  30. 前記記憶されたメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、
    メディアガイドデータベースから読み出されるメディアアセット一覧から、前記第1のメディアアセットが将来の時間に利用可能であるかどうかを決定するための手段と、
    前記第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定することに応答して、前記第3のコンテンツソースから前記第1のメディアアセットを記憶する第2の要求を記憶するための手段と
    をさらに備える、請求項29に記載のシステム。
  31. 前記第3のコンテンツソースから前記第1のメディアアセットを記憶する前記第2の要求を記憶するための前記手段は、
    前記記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、前記複数のフレームのうちの各フレームと関連付けられる時間を読み出すための手段と、
    前記第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定するための手段と、
    前記第2の要求を用いて、前記第1のメディアアセットの第1の部分のみを記憶する命令を記憶するための手段と
    を備える、請求項30に記載のシステム。
  32. 非一過性のコンピュータ可読媒体であって、前記非一過性のコンピュータ可読媒体は、1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための前記非一過性のコンピュータ可読媒体上にエンコードされる命令を有しており、前記命令は、
    スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信するための命令と、
    データ構造へのエントリとして、前記スケジュールされた時間間隔中に前記第1のコンテンツソースから前記第1のメディアアセットを記憶する前記ユーザ要求を記憶するための命令であって、前記エントリは、現在のコンテンツソースを示す第1のフィールドを含む、命令と、
    前記スケジュールされた時間間隔中に、
    前記第1のコンテンツソースからビデオとともに受信されるデータパケットを監視するための命令と、
    前記監視されたデータパケットから第1のメディアアセットインジケータを抽出するための命令と、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するための命令と、
    前記抽出されたメディアアセットインジケータが前記第1のメディアアセットの識別子に対応しないことを決定することに応答して、前記第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、前記複数のコンテンツソース上で受信されるデータパケットを検索するための命令と、
    前記複数のコンテンツソースのうちの第2のコンテンツソースから受信される前記第2のデータパケットが、前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含むことを決定することに応答して、前記記憶されたエントリの第1のフィールド内の前記現在のコンテンツソースを更新し、前記第1のメディアアセットが前記第2のコンテンツソースから伝送されていることを示すための命令と、
    前記記憶されたエントリの第1のフィールド内に示される前記現在のコンテンツソースから前記第1のメディアアセットを記憶するための命令と
    を備える、非一過性のコンピュータ可読媒体。
  33. 前記命令はさらに、
    前記スケジュールされた時間間隔外の第1の時間間隔中に、
    前記第1のコンテンツソースから前記ビデオとともに受信される前記データパケットを監視するための命令と、
    前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出するための命令と、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するための命令と、
    前記抽出された第1のメディアアセットインジケータが前記第1のメディアアセットの識別子に対応することを決定することに応答して、前記記憶されたエントリの第1のフィールド内に示される前記第1のコンテンツソースから前記第1のメディアアセットを記憶するための命令と
    を備える、請求項32に記載の非一過性のコンピュータ可読媒体。
  34. 前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含む前記第2のデータパケットに関して、前記複数のコンテンツソース上で受信される前記データパケットを検索するための前記命令は、
    複数のコンテンツソースのための情報を含有するデータベースにアクセスするための命令であって、前記情報は、前記複数のコンテンツソースのうちの各コンテンツソースに類似する前記複数のコンテンツソースのサブセットのインジケーションを含む、命令と、
    前記第1のコンテンツソースと関連付けられる前記データベース内のフィールドから、前記第2のコンテンツソースが前記第1のコンテンツソースに類似するというインジケーションを読み出すための命令と、
    前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータに関して、前記第2のコンテンツソースからのデータパケットを検索するための命令と
    を備える、請求項32に記載の非一過性のコンピュータ可読媒体。
  35. 前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出するための前記命令は、
    前記第1のコンテンツソースからの前記ビデオに関連する情報を含有するテーブルを受信するための命令と、
    前記第1のメディアアセットインジケータに対応する前記テーブル内のフィールドから値を読み出すための命令と
    を備える、請求項32に記載の非一過性のコンピュータ可読媒体。
  36. 前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較するための前記命令は、
    前記ユーザ要求を用いて、前記第1のメディアアセットの識別子を記憶するための命令と、
    前記第1のメディアアセットの識別子の文字を前記抽出された第1のメディアアセットインジケータの文字と比較するための命令と
    を備える、請求項32に記載の非一過性のコンピュータ可読媒体。
  37. 前記記憶された第1のメディアアセットは、前記第2のコンテンツソースからの前記第1のメディアアセットの第1のセグメントであり、前記命令はさらに、
    前記第1のコンテンツソースから受信される前記第1のメディアアセットの第2のセグメントを記憶するための命令と、
    前記第1のセグメントおよび前記第2のセグメントを単一の記憶されたファイルにスティッチングするための命令と、
    前記単一の記憶されたファイルの中に、前記単一の記憶されたファイルが前記第1のコンテンツソースおよび前記第2のコンテンツソースから作成されたというインジケーションを記憶するための命令と
    を備える、請求項32に記載の非一過性のコンピュータ可読媒体。
  38. 前記第1のセグメントおよび前記第2のセグメントを前記単一の記憶されたファイルにスティッチングするための前記命令は、
    前記第1のセグメントとともに記憶されたメタデータから前記第1のセグメントのための第1のタイムスタンプを抽出するための命令と、
    前記第2のセグメントとともに記憶されたメタデータから前記第2のセグメントのための第2のタイムスタンプを抽出するための命令と、
    前記第1のタイムスタンプおよび前記第2のタイムスタンプを比較し、早い方を決定するための命令と、
    前記第1のタイムスタンプがより早いことを決定することに応答して、前記第2のセグメントを前記第1のセグメントの終わりに追加するための命令と
    を備える、請求項37に記載の非一過性のコンピュータ可読媒体。
  39. 前記命令はさらに、
    前記記憶された第1のメディアアセットの持続時間を前記スケジュールされた時間間隔と比較するための命令と、
    前記記憶された第1のメディアアセットの持続時間が前記スケジュールされた時間間隔よりも短いことを決定することに応答して、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の差を閾値差と比較するための命令と、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、前記記憶された第1のメディアアセットが完全ではないことを決定するための命令と
    を備える、請求項32に記載の非一過性のコンピュータ可読媒体。
  40. 前記命令はさらに、
    前記記憶されたメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、
    メディアガイドデータベースから読み出されるメディアアセット一覧から、前記第1のメディアアセットが将来の時間に利用可能であるかどうかを決定するための命令と、
    前記第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定することに応答して、前記第3のコンテンツソースから前記第1のメディアアセットを記憶する第2の要求を記憶するための命令と
    を備える、請求項39に記載の非一過性のコンピュータ可読媒体。
  41. 前記第3のコンテンツソースから前記第1のメディアアセットを記憶する前記第2の要求を記憶するための前記命令は、
    前記記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、前記複数のフレームのうちの各フレームと関連付けられる時間を読み出すための命令と、
    前記第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定するための命令と、
    前記第2の要求を用いて、前記第1のメディアアセットの第1の部分のみを記憶する命令を記憶するための命令と
    を備える、請求項30に記載の非一過性のコンピュータ可読媒体。
  42. 1つのコンテンツソースから記憶されるようにスケジュールされるメディアアセットが、別のコンテンツソースからの伝送のために再スケジュールされていることを決定するための方法であって、前記方法は、
    スケジュールされた時間間隔中に複数のコンテンツソースのうちの第1のコンテンツソースから第1のメディアアセットを記憶するユーザ要求を受信することと、
    前記スケジュールされた時間間隔中に、
    前記第1のコンテンツソースからビデオとともに受信されるデータパケットを監視することと、
    前記監視されたデータパケットから第1のメディアアセットインジケータを抽出することと、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することと、
    前記抽出されたメディアアセットインジケータが前記第1のメディアアセットの識別子に対応しないことを決定することに応答して、前記第1のメディアアセットの識別子に対応する第2のメディアアセットインジケータを含む第2のデータパケットに関して、前記複数のコンテンツソース上で受信されるデータパケットを検索することと、
    前記複数のコンテンツソースのうちの第2のコンテンツソースから受信される前記第2のデータパケットが、前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータを含むことを決定することに応答して、前記第2のコンテンツソースから受信される前記第1のメディアアセットを記憶することと
    を含む、方法。
  43. 前記スケジュールされた時間間隔外の第1の時間間隔中に、
    前記第1のコンテンツソースから前記ビデオとともに受信される前記データパケットを監視することと、
    前記監視されたデータパケットから前記第1のメディアアセットインジケータを抽出することと、
    前記抽出された第1のメディアアセットインジケータを前記第1のメディアアセットの識別子と比較することと、
    前記抽出された第1のメディアアセットインジケータが前記第1のメディアアセットの識別子に対応することを決定することに応答して、前記第1のコンテンツソースから前記第1のメディアアセットを記憶することと
    をさらに含む、請求項42に記載の方法。
  44. 複数のコンテンツソースのための情報を含有するデータベースにアクセスすることであって、前記情報は、前記複数のコンテンツソースのうちの各コンテンツソースに類似する前記複数のコンテンツソースのサブセットのインジケーションを含む、ことと、
    前記第1のコンテンツソースと関連付けられる前記データベース内のフィールドから、前記第2のコンテンツソースが前記第1のコンテンツソースに類似するというインジケーションを読み出すことと、
    前記第1のメディアアセットの識別子に対応する前記第2のメディアアセットインジケータに関して、前記第2のコンテンツソースからのデータパケットを検索することと
    をさらに含む、請求項42−43のいずれかに記載の方法。
  45. 前記第1のコンテンツソースからの前記ビデオに関連する情報を含有するテーブルを受信することと、
    前記第1のメディアアセットインジケータに対応する前記テーブル内のフィールドから値を読み出すことと
    をさらに含む、請求項42−44のいずれかに記載の方法。
  46. 前記ユーザ要求を用いて、前記第1のメディアアセットの識別子を記憶することと、
    前記第1のメディアアセットの識別子の文字を前記抽出された第1のメディアアセットインジケータの文字と比較することと
    をさらに含む、請求項42−45のいずれかに記載の方法。
  47. 前記第1のコンテンツソースから受信される前記第1のメディアアセットの第2のセグメントを記憶することと、
    前記第1のセグメントおよび前記第2のセグメントを単一の記憶されたファイルにスティッチングすることと、
    前記単一の記憶されたファイルの中に、前記単一の記憶されたファイルが前記第1のコンテンツソースおよび前記第2のコンテンツソースから作成されたというインジケーションを記憶することと
    をさらに含む、請求項42−46のいずれかに記載の方法。
  48. 前記第1のセグメントとともに記憶されたメタデータから前記第1のセグメントのための第1のタイムスタンプを抽出することと、
    前記第2のセグメントとともに記憶されたメタデータから前記第2のセグメントのための第2のタイムスタンプを抽出することと、
    前記第1のタイムスタンプおよび前記第2のタイムスタンプを比較し、早い方を決定することと、
    前記第1のタイムスタンプがより早いことを決定することに応答して、前記第2のセグメントを前記第1のセグメントの終わりに追加することと
    をさらに含む、請求項47に記載の方法。
  49. 前記記憶された第1のメディアアセットの持続時間を前記スケジュールされた時間間隔と比較することと、
    前記記憶された第1のメディアアセットの持続時間が前記スケジュールされた時間間隔よりも短いことを決定することに応答して、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の差を閾値差と比較することと、
    前記記憶された第1のメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、前記記憶された第1のメディアアセットが完全ではないことを決定することと
    をさらに含む、請求項42−48のいずれかに記載の方法。
  50. 前記記憶されたメディアアセットの持続時間と前記スケジュールされた時間間隔との間の前記差が前記閾値差を満たすことを決定することに応答して、
    メディアガイドデータベースから読み出されるメディアアセット一覧から、前記第1のメディアアセットが将来の時間に利用可能であるかどうかを決定することと、
    前記第1のメディアアセットが第3のコンテンツソースから将来の時間に利用可能であることを決定することに応答して、前記第3のコンテンツソースから前記第1のメディアアセットを記憶する第2の要求を記憶することと
    をさらに含む、請求項49に記載の方法。
  51. 前記第3のコンテンツソースから前記第1のメディアアセットを記憶する前記第2の要求を記憶することは、
    前記記憶されたメディアアセットの複数のフレームのうちのフレーム毎に記憶されるメタデータから、前記複数のフレームのうちの各フレームと関連付けられる時間を読み出すことと、
    前記第1のメディアアセットの一部が第1のフレームと第2のフレームとの間で欠落していることを決定することと、
    前記第2の要求を用いて、前記第1のメディアアセットの第1の部分のみを記憶する命令を記憶することと
    を含む、請求項50に記載の方法。
JP2019508811A 2016-08-17 2017-08-16 異なるソースからの伝送のために再スケジュールされたメディアアセットを記憶するためのシステムおよび方法 Pending JP2019525661A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/239,336 US11134283B2 (en) 2016-08-17 2016-08-17 Systems and methods for storing a media asset rescheduled for transmission from a different source
US15/239,336 2016-08-17
PCT/US2017/047215 WO2018035262A1 (en) 2016-08-17 2017-08-16 Systems and methods for storing a media asset rescheduled for transmission from a different source

Publications (1)

Publication Number Publication Date
JP2019525661A true JP2019525661A (ja) 2019-09-05

Family

ID=59738463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019508811A Pending JP2019525661A (ja) 2016-08-17 2017-08-16 異なるソースからの伝送のために再スケジュールされたメディアアセットを記憶するためのシステムおよび方法

Country Status (10)

Country Link
US (2) US11134283B2 (ja)
EP (1) EP3501175A1 (ja)
JP (1) JP2019525661A (ja)
KR (1) KR20190039986A (ja)
CN (1) CN109792555A (ja)
AU (1) AU2017313769A1 (ja)
BR (1) BR112019003057A2 (ja)
CA (1) CA3033361A1 (ja)
MX (1) MX2019001935A (ja)
WO (1) WO2018035262A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867106B1 (en) 2012-03-12 2014-10-21 Peter Lancaster Intelligent print recognition system and method
US10614122B2 (en) 2017-06-09 2020-04-07 Google Llc Balance modifications of audio-based computer program output using a placeholder field based on content
US10652170B2 (en) 2017-06-09 2020-05-12 Google Llc Modification of audio-based computer program output
US10657173B2 (en) * 2017-06-09 2020-05-19 Google Llc Validate modification of audio-based computer program output
US10600409B2 (en) 2017-06-09 2020-03-24 Google Llc Balance modifications of audio-based computer program output including a chatbot selected based on semantic processing of audio
DE102018207791A1 (de) * 2018-05-17 2019-11-21 Continental Teves Ag & Co. Ohg Verfahren zur Authentifizierung eines von einem Kfz-System eines Fahrzeugs erzeugten Diagnosefehlercodes
WO2020068071A1 (en) * 2018-09-26 2020-04-02 Rovi Guides, Inc. Systems and methods for resolving recording conflicts
US11593843B2 (en) 2020-03-02 2023-02-28 BrandActif Ltd. Sponsor driven digital marketing for live television broadcast
US11301906B2 (en) 2020-03-03 2022-04-12 BrandActif Ltd. Method and system for digital marketing and the provision of digital content
SG10202001898SA (en) 2020-03-03 2021-01-28 Gerard Lancaster Peter Method and system for digital marketing and the provision of digital content
US11854047B2 (en) 2020-03-03 2023-12-26 BrandActif Ltd. Method and system for digital marketing and the provision of digital content

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US6208799B1 (en) * 1997-04-29 2001-03-27 Time Warner Entertainment Company L.P. VCR recording timeslot adjustment
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
JP2002521873A (ja) 1998-07-17 2002-07-16 ユナイテッド ビデオ プロパティーズ, インコーポレイテッド 一世帯内に複数のデバイスを備える双方向テレビ番組ガイドシステム
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
US6681396B1 (en) * 2000-02-11 2004-01-20 International Business Machines Corporation Automated detection/resumption of interrupted television programs
US6795639B1 (en) 2000-09-19 2004-09-21 Koninklijke Philips Electronics N.V. Follow up correction to EPG for recording systems to reset requests for recording
EP2466881A3 (en) 2001-02-21 2012-08-15 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
DE10163152A1 (de) * 2001-12-20 2003-07-03 Thomson Brandt Gmbh MPEG-Video-Aufzeichnungsträger und Wiedergabegerät
US8229283B2 (en) * 2005-04-01 2012-07-24 Rovi Guides, Inc. System and method for quality marking of a recording
US20100153885A1 (en) 2005-12-29 2010-06-17 Rovi Technologies Corporation Systems and methods for interacting with advanced displays provided by an interactive media guidance application
US7765235B2 (en) * 2005-12-29 2010-07-27 Rovi Guides, Inc. Systems and methods for resolving conflicts and managing system resources in multimedia delivery systems
US10102351B2 (en) * 2006-04-04 2018-10-16 Apple Inc. Decoupling rights in a digital content unit from download
US20080016245A1 (en) * 2006-04-10 2008-01-17 Yahoo! Inc. Client side editing application for optimizing editing of media assets originating from client and server
US20070245019A1 (en) * 2006-04-12 2007-10-18 United Video Properties, Inc. Interactive media content delivery using a backchannel communications network
US20080141317A1 (en) 2006-12-06 2008-06-12 Guideworks, Llc Systems and methods for media source selection and toggling
JP4600511B2 (ja) * 2008-04-23 2010-12-15 沖電気工業株式会社 コーデック変換装置、ゲートウェイ装置及びコーデック変換方法
US8989561B1 (en) * 2008-05-29 2015-03-24 Rovi Guides, Inc. Systems and methods for alerting users of the postponed recording of programs
US9374553B2 (en) 2008-08-06 2016-06-21 Rovi Guides, Inc. Systems and methods for identifying and merging recorded segments belonging to the same program
US8380050B2 (en) * 2010-02-09 2013-02-19 Echostar Technologies Llc Recording extension of delayed media content
GB2486025B (en) 2010-12-03 2014-09-17 Samsung Electronics Co Ltd Content searching
US9262539B2 (en) * 2011-04-29 2016-02-16 Ufaceme, Inc. Mobile device and system for recording, reviewing, and analyzing human relationship
US9342599B2 (en) * 2011-05-25 2016-05-17 Thomas Stetson Elliott Methods and systems for centralized audio and video news product collection, optimization, storage, and distribution
US8925022B2 (en) * 2011-05-25 2014-12-30 Motorola Mobility Llc Method and apparatus for transferring content
US8554049B2 (en) * 2011-12-28 2013-10-08 United Video Properties, Inc. Systems and methods for synchronizing playback at multiple locations
US9560392B2 (en) * 2012-09-07 2017-01-31 Google Inc. Dynamic bit rate encoding
US9351043B2 (en) 2012-09-18 2016-05-24 Centurylink Intellectual Property Llc Metadata system for real-time updates to electronic program guides
US20140223481A1 (en) * 2013-02-07 2014-08-07 United Video Properties, Inc. Systems and methods for updating a search request
US9257148B2 (en) * 2013-03-15 2016-02-09 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
US9584387B1 (en) * 2013-03-15 2017-02-28 Google Inc. Systems and methods of sending a packet in a packet-switched network through a pre-determined path to monitor network health
US8973038B2 (en) * 2013-05-03 2015-03-03 Echostar Technologies L.L.C. Missed content access guide
US9066132B2 (en) 2013-05-13 2015-06-23 Rovi Guides, Inc. Systems and methods for recording content from a different source when previous content runs over
US9648387B2 (en) * 2013-07-31 2017-05-09 Time Warner Cable Enterprises Llc Methods and apparatus for enhancing network reliability and/or enabling phased deployment of video services
JP2015197721A (ja) * 2014-03-31 2015-11-09 富士通株式会社 記憶装置調整装置、階層ストレージ設計プログラム及び階層ストレージ設計方法
US9933950B2 (en) * 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US10142585B2 (en) * 2015-04-28 2018-11-27 Rovi Guides, Inc. Methods and systems for synching supplemental audio content to video content
US20170085937A1 (en) * 2015-09-22 2017-03-23 Samuel H. Russ Managing DVR Recordings during Changes in Schedule
US10075751B2 (en) 2015-09-30 2018-09-11 Rovi Guides, Inc. Method and system for verifying scheduled media assets
US9973785B1 (en) * 2015-12-28 2018-05-15 Amazon Technologies, Inc. Automatic failover for live video streaming

Also Published As

Publication number Publication date
EP3501175A1 (en) 2019-06-26
KR20190039986A (ko) 2019-04-16
MX2019001935A (es) 2019-10-09
US20180054639A1 (en) 2018-02-22
US20210392387A1 (en) 2021-12-16
WO2018035262A1 (en) 2018-02-22
CA3033361A1 (en) 2018-02-22
BR112019003057A2 (pt) 2019-05-21
AU2017313769A1 (en) 2019-02-28
US11134283B2 (en) 2021-09-28
CN109792555A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
US11595728B2 (en) Systems and methods for loading interactive media guide data based on user history
US20210392387A1 (en) Systems and methods for storing a media asset rescheduled for transmission from a different source
US10893327B2 (en) Methods and systems for recommending media assets based on the geographic location at which the media assets are frequently consumed
US11600304B2 (en) Systems and methods for determining playback points in media assets
JP2019530305A (ja) 利用可能な記憶スペースの関数として連続番組録画を管理するためのシステムおよび方法
US11223875B2 (en) Systems and methods for performing an action based on viewing positions of other users
US20230370688A1 (en) Systems and methods for sorting favorite content sources
JP2019507508A (ja) 複数のデバイス上でのメディアアセット再生を同期するためのシステムおよび方法
US20240015356A1 (en) Systems and methods for retrieving segmented media guidance data
JP2019537169A (ja) ユーザ画像に関連するメディアアセットのセグメントを受信するためのシステムおよび方法
US11157485B2 (en) Systems and methods for replacing a stored version of media with a version better suited for a user