JP4690457B2 - 帯域幅を消費するメディアイベントをスケジューリングするための方策 - Google Patents

帯域幅を消費するメディアイベントをスケジューリングするための方策 Download PDF

Info

Publication number
JP4690457B2
JP4690457B2 JP2008513500A JP2008513500A JP4690457B2 JP 4690457 B2 JP4690457 B2 JP 4690457B2 JP 2008513500 A JP2008513500 A JP 2008513500A JP 2008513500 A JP2008513500 A JP 2008513500A JP 4690457 B2 JP4690457 B2 JP 4690457B2
Authority
JP
Japan
Prior art keywords
media
conflict
schedule
media programs
bandwidth
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.)
Expired - Fee Related
Application number
JP2008513500A
Other languages
English (en)
Other versions
JP2008546279A (ja
JP2008546279A5 (ja
Inventor
ジェイ.ポトレビック ピーター
エイチ.テイラー トーマス
エー.ケー.パスマーシー ナガ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008546279A publication Critical patent/JP2008546279A/ja
Publication of JP2008546279A5 publication Critical patent/JP2008546279A5/ja
Application granted granted Critical
Publication of JP4690457B2 publication Critical patent/JP4690457B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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
    • H04N21/4583Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software

Description

本主題事項は、スケジュール内の競合を解決することに関する。より具体的な実装において、本主題事項は、それぞれのクライアントデバイスによるメディアプログラムの受信および記録を管理するスケジュール内の競合を解決するための方策に関する。
従来のデジタルビデオレコーダ(DVR)の機能はスケジューラを使用する。スケジューラは、メディアプログラムの記録を調整する機能を備える。スケジューラは、スケジュールを作成し、続いて当該スケジュールにおいて識別されたメディアプログラムを記録することによって、このタスクを実行する。より詳細には、スケジュールは、それぞれのメディアプログラムを識別するエントリを含む。エントリは、タイミングに関連する情報と、対応するメディアプログラムの記録を管理するその他のデータとを含む。
時として、ユーザは、1つまたは複数の前から存在しているエントリと競合するエントリをスケジュールに追加しようと試みる。例えば、クライアントデバイスが、ヘッドエンドのソースからメディア情報を受信するための従来の物理的なチューナを使用する場合を考える。このチューナは、(例えば、メディアプログラムを搬送する規定の周波数にチューニングすることによって、)任意の所与の時間に、1つのメディアプログラムだけをチューニングして、その1つのメディアプログラムを受信することができる。したがって、ユーザが、別のメディアプログラムの放映と時間的に重なるメディアプログラムを識別するエントリをスケジュールに追加する場合、チューナは、同時に2つのメディアプログラムにチューニングすることができず、それらの2つのプログラムを受信することができないために、競合が発生する。スケジューラは、ユーザに競合を通知すること、および競合しているメディアプログラムのうちのどちらを選択するかをユーザに要求することによって、この競合を解決することができる。
より複雑なクライアントデバイスは、複数の物理的なチューナを使用することができる。このことは、クライアントデバイスが同時に複数のメディアプログラムを受信することを可能にする。ある場合、これらのチューナは、同じ種類のユニットとして実装することができる。別の場合、これらのチューナは、2つ以上の異なる種類のユニットとして実装することができる。例えば、第1のクラスのチューナは、第1の種類のメディアプログラム(標準画質メディアプログラムなど)を受信するために使用することができる一方、第2のクラスのチューナは、第2の種類のメディアプログラム(高画質メディアプログラムなど)を受信するために使用することができる。これらの種類のクライアントデバイスに関する競合解決は、単一のチューナの場合よりも複雑であるが、単一のチューナの場合に使用される基本的なパラダイムと根本的にはあまりかわらない。すなわち、スケジューラは、任意の所与の時間に、スケジュールにおいて識別された全てのメディアプログラムを記録するのに十分な物理的なチューナをクライアントデバイスが提供することができるかどうかを判定する。任意の所与の時間に記録されるべきメディアプログラムの数が利用可能なチューナの数を超える場合、競合が発生する。スケジューラは、上述の方法、すなわち、ユーザに競合を通知すること、および判定された競合を取り除くためにスケジュール内の1つまたは複数のエントリを削除するようユーザに促すことによって、競合を解決するように試みることができる。
本発明の譲受人は、上述した従来のモデルから脱却するクライアントデバイスを開発している。この種のクライアントデバイスは、仮想的なチューナ機能を使用する。仮想的なチューナ機能は、ユニキャスト形式および/またはマルチキャスト形式の可変の数のデジタルメディアプログラムのストリームに「チューニングする」ことによって、可変の数のデジタルメディアプログラムを受信するために、可変の数の仮想的なチューナを割り当てる。例えば、クライアントデバイスには、メディア情報を受信するために合計6つの帯域幅の単位(unit)が割り当てられると仮定する。さらに、各標準画質メディアプログラムが1単位の帯域幅を消費し、各高画質メディアプログラムが2単位の帯域幅を消費すると仮定する。これは、総消費帯域幅が6単位を超えない限り、仮想的なチューナ機能が、標準画質メディアプログラムと高画質メディアプログラムとの任意の組合せを使用できることを意味する。例えば、考えられる1つのことは、クライアントデバイスが6つの標準画質メディアプログラムを受信するために、6つの仮想的なチューナを割り当てることである。考えられる別の1つは、クライアントデバイスが3つの対応する高画質メディアプログラムを受信するために、3つの仮想的なチューナを割り当てることである。考えられるさらに別の1つは、クライアントデバイスが2つの高画質メディアプログラムを受信するために、2つの仮想的なチューナを割り当て、2つの標準画質メディアプログラムを受信するために、2つの仮想的なチューナを割り当てることなどである。そのようなクライアントデバイスを実装するための例示的な技術が、本発明の譲受人に譲渡された「TUNERLESS MEDIA PRESENTATION UNIT AND METHODS OF USE」という名称の米国特許出願番号11/057477号明細書に記載されている。この特許出願は、2005年2月14日に出願されたものであり、発明者は、David L. de Heerらである。この特許出願は、参照することにより、その全体が本明細書に組み込まれる。
競合解決は、仮想的なチューナ機能を使用するクライアントデバイスにおいては、より複雑である。これは、利用可能な物理的なチューナの総数ではなく、利用可能な帯域幅の総量によってクライアントデバイスが制限されるためである。このことは、上述した従来のスケジューリングパラダイムと比較して、スケジューリングの作成および変更におけるより多くの自由度を可能にする。例えば、利用可能な帯域幅の一部を消費するどのイベントも、スケジュール内の競合を潜在的に発生させる可能性があり、スケジュールの1つの部分に対してなされた変更が、スケジュール全体に影響を及ぼし、複雑である可能性がある変更が、スケジュール内のその他のエントリに対してなされることを要求する可能性がある。
したがって、仮想的なチューナ機能を使用してメディアプログラムを受信するクライアントデバイスのための競合解決の方策を提供する一般的な必要性が、当技術分野には存在する。
例示的な一態様によれば、仮想的なチューナ機能を使用するクライアントデバイスに影響を与えるスケジュールの競合を解決するための方法が説明される。この方法は、複数のメディアプログラムを指定するスケジュールを確立すること;少なくとも1つの帯域幅イベント(bandwidth event)によって引き起こされた、スケジュール内の少なくとも1つの競合を識別すること;前述した少なくとも1つの競合に対する少なくとも1つのソリューションを列挙することであって、前述した少なくとも1つのソリューションは、(a)メディアプログラムを受信するためにクライアントデバイスが利用できる帯域幅の総量、および(b)スケジュール内の前述した複数のメディアプログラムの各々によって消費される帯域幅の量を考慮に入れる、列挙すること;および、前述した少なくとも1つのソリューションに基づいて、前述した少なくとも1つの競合を解決することを備える。
別の例示的な一態様によれば、前述した少なくとも1つの競合を前述したように識別することは、競合が存在する可能性がある少なくとも1つの候補時間セグメントにスケジュールを分割すること;および、前述した少なくとも1つの候補時間セグメントから、実際の競合が存在する少なくとも1つの競合している時間セグメントを判定することを含む。前述した少なくとも1つのソリューションを前述したように列挙することは、前述した少なくとも1つの競合している時間セグメントにおいて、特定の時間セグメントごとに、競合を解決する少なくとも1つのソリューションを順番に列挙することを含む。
別の例示的な一態様によれば、仮想的なチューナ機能を使用するクライアントデバイス用にメディアプログラムの処理をスケジューリングするための方法が説明される。この方法は、クライアントデバイスによるメディアプログラムのセットの記録に影響を与える少なくとも1つの帯域幅イベントを識別すること;当該メディアプログラムのセットにおいて、少なくとも1つのメディアプログラムの異なる帯域幅のバージョン(version)を識別すること;メディアプログラムが記録される品質に関するユーザの嗜好を識別すること;および、識別された帯域幅のバーションとユーザの嗜好とに基づいて、前述した少なくとも1つのメディアプログラムの記録を管理するスケジュールを提供することを備え、このスケジュールを提供することは、当該スケジュール内の少なくとも1つの競合が存在すると判定されるときに、そのような競合を解決することを含む。
さらなる例示的な態様については、以下で説明する。
同様のコンポーネントおよび特徴を参照するために、開示および図全体を通じて同じ番号を使用する。100番台の番号は、図1で初めて見られた特徴を示し、200番台の番号は、図2で初めて見られた特徴を示し、300番台の番号は、図3で初めて見られた特徴を示す。その他の番号も同様である。
以下の記載では、仮想的なチューナ機能を使用するクライアントデバイスに関するメディアプログラムの処理(例えば、記録)をスケジューリングするためのスケジューリング機能を説明する。消費される帯域幅の総量が利用可能な帯域幅の総量を超えないことを条件として、仮想的なチューナ機能は、仮想的な方法で、1つまたは複数のメディアプログラムにチューニングし、同時に任意の数のメディアプログラムを消費することができる。換言すると、仮想的なチューナ機能を使用するクライアントデバイスは、メディアプログラムを消費する多種多様な方法で、利用可能な帯域幅を「切り分ける(carve up)」ことができる。この能力は、スケジュールを構築する際のさらなる自由度をもたらすので、(決まった数の物理的なチューナを使用するクライアントデバイスに関して実行されるスケジューリングと比較して、)メディアプログラムをスケジューリングするタスクをより複雑にする。本明細書において説明するスケジューリング機能は、より複雑になったタスクに対して効果的に対処する。
用語に関して、用語「メディア情報」は、ユーザが消費することができる、電子的な形式で表される任意のデータを指す。メディア情報には、オーディオリソース(例えば、音楽、言葉で語られた対象など)、静止画リソース(例えば、デジタル写真など)、動画リソース(例えば、オーディオビジュアルテレビメディアプログラム、映画など)などのオーディオ情報および/またはビデオ情報を伝送する任意の情報を含めることができる。
用語「メディアプログラム」は、クライアントデバイスが消費することができる、任意の単位のメディア情報を表す。例えば、メディアプログラムは、テレビメディアプログラム、映画、音楽などを表し得る。
用語「クライアントデバイス」は、メディア情報を処理して表示するための任意のユニットを指す。例えば、クライアントデバイスとしては、セットトップボックスモジュール、デジタルビデオレコーダ(DVR)、書き換え可能デジタルビデオディスク(DVD−RW)デバイス、統合されたメディア処理機能を有するテレビデバイス、メディア処理機能を備えたコンピュータなど、またはそのようなデバイスの何らかの組合せを挙げることができる。
用語「スケジュール」は、記録されるべきメディアプログラムに関する主要な情報を指定するエントリの集合を指す。例えば、エントリは、メディアプログラムが始まるタイミングおよび終わるタイミングを指定する。エントリは、メディアプログラムを提供するソース(例えば、チャネル)と、メディアプログラムのその他の考えられ得る特徴とを指定することもできる。一般に、スケジュール内に示される情報は、本明細書においては「スケジュール情報」と呼ばれる。
用語「メディアプログラムガイド」は、複数の異なるソース(例えば、チャネル)によって配信されるメディアプログラムのタイミングを規定するマスタスケジュール情報を指す。一般に、用語「メディアプログラムガイド情報」は、メディアプログラムガイド内に示される情報を指す。メディアプログラムガイド情報には、定期的に更新される電子メディアプログラムガイド(EPG:Electric media Program Guide)情報が含まれ得る。
本開示は次のセクションを含む。セクションAでは、スケジュール機能を実行するための例示的システムを説明する。セクションBでは、セクションAのシステムの動作を説明するフローチャートおよび付随する例を示す。
A.例示的システム(図1〜図4)
一般に、図を参照して説明する機能のいずれも、ソフトウェア、ファームウェア(例えば、固定されたロジック回路)、手動による処理、またはこれらの実装の組合せを用いて、実装することができる。一般に、本明細書において使用される用語「ロジック」、「モジュール」、または「機能」は、ソフトウェア、ファームウェア、またはソフトウェアおよびファームウェアの組合せを表す。例えば、ソフトウェアによる実装の場合、用語「ロジック」、「モジュール」、または「機能」は、1つまたは複数の処理デバイス(例えば、1つまたは複数のCPU)上で実行されるときに、指定されたタスクを実行するメディアプログラムコード(および/または宣言型の命令)を表す。メディアプログラムコードは、1つまたは複数のコンピュータ読み取り可能なメモリデバイスに記憶することができる。より一般的には、論理、モジュール、および機能を別々のユニットへ例示するように分割することは、そのようなソフトウェアおよび/またはハードウェアの実際の物理的なグループ化および割り当てを反映する可能性があるか、または単一のソフトウェアメディアプログラムおよび/またはハードウェアユニットによって実行される様々なタスクの概念的な割り当てに対応する可能性がある。例示された論理、モジュール、および機能は、(例えば、1つの処理デバイスによって実装されるように、)単一の場所に配置することもできるし、複数の場所に渡って分散させることもできる。
A.1.例示的設計パラダイムの概要(図1)
図1は、ヘッドエンドのオペレーションセンタ(OC:Operation Center)102が複数のクライアントデバイス(104、106、...、108)にメディアプログラムを配信するシステム100を示している。代表的なクライアントデバイス104は家庭110に置かれる。家庭110は、追加のクライアントデバイス(図示せず)を潜在的に有する可能性がある。例えば、家庭110は、家庭110の異なるそれぞれの部屋に置かれた異なるクライアントデバイスを有する可能性がある。以下の記載において、本発明の特徴を、家庭110に置かれた代表的なクライアントデバイス104に関連させて説明するが、特定された特徴は、その他のクライアントデバイスおよび家庭に対して同等の効力を有して当てはまる。
オペレーションセンタ102は、通信チャネル(「チャネル」)112を使用して、例示的家庭110にメディア情報を配信する。チャネル112は、家庭110にメディア情報をストリーミングするための規定された量の帯域幅114を含む。用語「帯域幅」は、所与の時間の間に、チャネル112を介して伝送することができる情報量を指す。ある場合には、オペレーションセンタ102は、帯域幅114に等しい一定のデータ速度で、チャネル112を介して情報を送信する。別の場合には、オペレーションセンタ102は、帯域幅114によって上限が決められた可変の速度で、チャネル112を介して情報を送信する。どの場合でも、チャネル112は、帯域幅114によって規定される「直径」を有する通信パイプと比喩的にみなすことができる。帯域幅114は、任意の所与の時間にこのパイプを通って流れることができる最大情報量を制御する。
帯域幅114は、家庭110に対するメディア情報の複数の識別されたストリームに対応し得る。このことは、単一のクライアントデバイス104が、そのクライアントデバイス104における同時表示のために、チャネル112を使用して、考えられ得るメディア情報の複数のストリームを抽出することを可能にする。さらに、このことは、ユーザが同時に複数のメディアプログラムを見ること、または記録することを可能にする。別の場合には、通信チャネル112は、同じチャネル112から「情報を得る」家庭110内の様々なクライアントデバイスによる受信のための複数のストリームを提供することができる。
帯域幅114は実質的に一定のままであるという単純な仮定が、本開示においてなされている。しかし、本明細書において説明するスケジューリングアルゴリズムは、帯域幅114が時間の経過と共に変化する場合にも適用することができる。例えば、スケジューリングアルゴリズムは、帯域幅114が一日のある時間では第1のレベルに設定され、一日のその他の時間では第2のレベルに設定される場合に適用することもできる。多くのその他の可変帯域幅の状況が存在し得る。これらの場合、スケジューリングアルゴリズムは、将来のプログラムを放映する際の利用可能な帯域幅を決定し、そのプログラムをスケジューリングするときにこの要因を考慮に入れる。
いかなるプログラムによって消費される帯域幅も、例えば、標準画質一定レベル、高画質一定レベルなど、実質的に一定のままであるというさらなる単純な仮定が、本開示においてなされている。しかし、本明細書において説明するスケジューリングアルゴリズムは、プログラムによって消費される帯域幅の量がそのプログラムの進行と共に変化する場合にも適用することができる。スケジューリングアルゴリズムは、これらの種類のプログラムをスケジューリングするときに、この追加の要因を考慮に入れることができる。
クライアントデバイス104は、チャネル112からメディアプログラムを受信するための仮想的なチューナ機能(図示せず)を使用する。例えば、オペレーションセンタ102が、インターネットグループ管理プロトコル(IGMP:Internet Group Management Protocol)などのマルチキャスト技術によってメディア情報を提供すると仮定する。IGMP技術において、メディア情報のソースは、配信ノード(distribution node)のツリーを使用して、受信側グループにメディア情報を配信する。この場合、仮想的なチューナ機能は、メディアプログラムのそのマルチキャストによる配信を利用することによって、メディアプログラムに「チューニングする」ことができ、仮想的なチューナ機能は、配信ノードのツリー内の適切な配信ノードを突き止めることによって、このタスクを実行することができる。代替として、オペレーションセンタ102が、ユニキャスト技術によってメディア情報を提供すると仮定する。ユニキャスト技術において、メディア情報のソースは、1対1形式で、対象とする受信側に対してメディア情報を配信する。この場合、仮想的なチューナ機能は、メディアプログラムを提供するソース(例えば、オペレーションセンタ102によって提供されるサーバマシンとすることができる)を識別することによって、メディアプログラムに「チューニングする」ことができる。さらに別の場合、仮想的なチューナ機能は、マルチキャスト技術およびユニキャスト技術の組合せ、または何らかのその他の1つもしくは複数の技術を使用することができる。
仮想的なチューナ機能は、異なるメディアプログラムを受信するために、その機能の異なるインスタンス(instance)を適用することができる。本明細書において使用する用語において、そのような別個のインスタンスは、別個の「仮想的なチューナ」を構成する。仮想的なチューナは、様々な点において従来の物理的なチューナとは異なる。例えば、仮想的なチューナは、(上述した方法で、)メディアプログラムを配信するソースを論理的に識別することによって、そのようなメディアプログラムに「チューニングする」。それに対して、物理的なチューナは、一般にメディアプログラムを変調する周波数を追尾することによって、メディアプログラムにチューニングする。さらに、仮想的なチューナ機能は、(仮想的なチューナによって消費される帯域幅の合計の量が、割り当てられた帯域幅114の総量を超えない限り、)任意の数の仮想的なチューナをサポートすることができる。それに対して、物理的なチューナは別個のハードウェアユニットを表すので、従来のクライアントデバイスは、ユニットを物理的に追加すること(または、取り除くこと)なしに変更することができない決まった数のそのようなユニットを提供する。仮想的なチューナ機能は、上述したまさにその理由により、「仮想的」であるとみなされる。
仮想的なチューナ機能の特徴のより詳細な説明が以下に続く。
通信チャネル112がN単位(N units)の帯域幅114を提供すると仮定する。さらに、メディアプログラムは、標準画質(SD:Standard Definition)記録品質および高画質(HD:High Definition)記録品質などの様々な記録品質で提供することができると仮定する。SDストリームはSSD単位の帯域幅を消費し、HDストリームはSHD単位の帯域幅を消費する。ここで、SSD<SHDである。考えられ得る別のフォーマットは、サムネイルバージョンのストリームを含むピクチャインピクチャ(PIP:Picture-In-Picture)フォーマットであり、SPIP<SSDである。クライアントデバイス104がSDストリームのみを受信する単純な場合において、チャネル112は、
T=N/SSD
であるT個の仮想的なチューナをサポートすることができる。
あるいは、別の表し方をすれば、
K(SSD)≦N
となる。
この式は、K個のSDストリームが全体として消費する帯域幅が、合計Nの量の利用可能な帯域幅114以下でなければならないことを示している。
任意の量の帯域幅Sを消費するストリームをクライアントデバイス104が受信することができるより一般的な場合においては、以下の式が全ての時点で成り立つ必要がある。
Figure 0004690457
換言すると、受信ストリームによって消費される帯域幅の合計の量が、合計Nの量の利用可能な帯域幅114以下である必要がある。例えば、クライアントデバイス104が、各SDストリームがSSD単位の帯域幅を消費するL個のSDストリームと、各HDストリームがSHD単位の帯域幅を消費するJ個のHDストリームとを受信する例示的な場合を考える。上記にて特定された制約は、
L×SSD+J×SHD≦N
となる。
上述した式は概算を表している。実際の用途において、システム100は、メディアプログラムの主要なストリーミング以外のその他のタスクを処理するために、システム100の帯域幅114の一部を使用することができる。例えば、システム100は、届かなかったパケットをクライアントデバイス104に提供するリトライ動作を処理するために、帯域幅の一部を使用することができる。以下で説明するように、利用可能な帯域幅上には、その他の可能な「消費(drain)」がある。例えば、チャネル112に接続されるエンティティ(例えば、パーソナルコンピュータ)は、例えば、インターネットから音楽をダウンロードすること、画像をウェブサイトにアップロードすること、電子メールを受信および/または送信することなどによって、帯域幅114の一部を消費する可能性がある。このように消費される帯域幅は、メディアプログラムを受信するために利用できる総帯域幅の量を減少させるので、プログラムのスケジューリングに影響を与える。
システム100は、そのスケジューリング機能がクライアントデバイス104による消費のためにメディアプログラムの記録をスケジューリングするときに、上述した制約を使用するスケジューリング機能を提供する。ある場合には、スケジューリング機能は、オペレーションセンタ102において、OCスケジューリング機能116として実装することができる。この実装において、OCスケジューリング機能116は、オペレーションセンタ102の場所で、全てのクライアントデバイス(104、106、...、108)に関するスケジュールを保持する。別の場合には、スケジューリング機能は、代表的なクライアントデバイス104に配置されるクライアント側スケジュール処理機能118として実装することができる。(上述したように、この説明は代表的なクライアントデバイス104に焦点を置くが、その他のクライアントデバイス群がそれらのクライアントデバイス独自のそれぞれのクライアント側スケジュール処理機能を実装することができ、クライアントデバイス104に関して説明することは、その他のクライアントデバイス群に対して同等の効力を有して当てはまる。)さらに別の場合には、スケジューリング機能は、オペレーションセンタ102およびクライアントデバイス104において提供される機能の組合せにより分散させて実装することができる。説明を容易にするため、および1つの具体例を提供するために、この説明の残りの部分は、スケジューリング機能の中核が、OCスケジューリング機能116により、オペレーションセンタ102において実行されると仮定する。
(代表的なクライアントデバイス104に関する)スケジューリング機能116の目的は、クライアントデバイス104がオペレーションセンタ102によって提供されたメディアプログラムを記録すべきタイミングを決定するクライアントデバイス104のためのスケジュールを保持することである。このように実行するために、クライアントデバイス104のユーザは、スケジュールを作成するために、スケジューリング命令をスケジューリング機能116に転送することができる。次いで、今度はスケジューリング機能116が、スケジュール内の識別されたメディアプログラムを記録する時間であることを当該スケジュールが示すときに、クライアントデバイス104に記録命令を送信することができる。次いで、クライアントデバイス104は、識別されたメディアプログラムをローカルストア120に記録する。
その他の実装において、スケジュールは、クライアントデバイス104における1つまたは複数のメディアプログラムの記録を必ずしも要求しない、クライアントデバイス104に対するこれらのメディアプログラムのストリーミングを決定するために、使用することができる。換言すると、スケジュールは、クライアントデバイス104に同時に複数のプログラムにチューニングするよう指示することができ、クライアントデバイス104は、例えばピクチャインピクチャ形式で、または何らかのその他の形式で、(必ずしもこれらのプログラムを記録することなく、)同時にこれらのプログラムを単に表示することができる。あるいは、クライアントデバイス104は、クライアントデバイス104が受信するいくつかのプログラムを、その他のプログラムを除いて記録することができる。さらに代替として、オペレーションセンタ102自体が、オペレーションセンタ102において、メディアプログラムを適切なメディアプログラムストア(図示せず)に記録することができ、この記録の後で、クライアントデバイス104における表示のために、これらのプログラムをクライアントデバイス104にストリーミングすることができる。しかし、最後に述べたシナリオは、スケジューリングの必要性を完全になくす。これは、オペレーションセンタ102においてプログラムを記録した後、ピクチャインピクチャのシナリオにおけるようにクライアントデバイス104が何らかの理由で複数の記録されたプログラムを同時に受信することを望まない限り、一般にクライアントデバイス104に複数のプログラムをストリーミングする必要がないためである。
いずれの場合でも、スケジューリング機能116は、スケジュール内の競合の存在を評価するために、上記にて特定された制約を適用する。より具体的には、スケジュールにおける任意の所与の時点で、上記にて特定された制約のうちの1つまたは複数が満たされないとき、競合が存在する。すなわち、これらの時点で、スケジュールは、利用可能な帯域幅を超える帯域幅を合計で消費するメディアプログラムを記録しようと試みている。
競合は、様々な種類のイベントが原因で生じる可能性がある。ある場合には、ユーザが、スケジュール内の1つまたは複数の前から存在しているメディアプログラムとの競合が生じる新しいメディアプログラムをスケジュールに追加する可能性がある。あるいは、ユーザがスケジュール内の既存のメディアプログラムを変更し、その結果、その既存のメディアプログラムがそのときにスケジュール内の1つまたは複数のその他のメディアプログラムと競合する可能性がある。例えば、利用可能な帯域幅114が、2つのHDメディアプログラムの受信に同時に対応すると仮定する。ユーザが3つのHDメディアプログラムを同時に記録しようと試みる場合、ユーザは、競合を引き起こしてしまっているであろう(これは、以下で説明するように、1つまたは複数のHDメディアプログラムの同等物(counterpart)を、1つまたは複数のSDメディアプログラムで置き換えることが可能でない場合、通信チャネル112が、要求される量のメディア情報を提供することが完全に不可能なためである)。別の場合には、競合は、メディアプログラムガイド情報の変更が原因で生じる可能性がある。例えば、スケジュールが、メディアプログラムが時間Xにおいて放映されるという想定に基づいているが、そのとき、そのスケジューリングされたメディアプログラムの放映を時間Yまで変更する新しいメディアガイド情報が到達すると仮定する。この新しい放映時間は、スケジュール内の1つまたは複数のその他のメディアプログラムと競合する可能性がある。別の場合には、競合は、割り当てられた帯域幅114を消費し、それにより、1つまたは複数の既にスケジューリングされたメディアプログラムを受信することを不可能にするシステム100内の任意のその他のイベントが原因で生じる可能性がある。例えば、家庭110内のパーソナルコンピュータ(図示せず)が、クライアントデバイス104と通信チャネル112を共有すると仮定する。コンピュータは、インターネット(または、何らかのその他のエンティティ)と対話する際に、帯域幅を消費する可能性があり、それによって、クライアントデバイス104が消費できる利用可能な帯域幅114の総量を減少させる可能性がある。したがって、コンピュータが動作しているとき、コンピュータは、スケジュールに従ってクライアントデバイス104に同時にストリーミングされているプログラムとの競合を引き起こす可能性がある。上述した場合のいずれにおいても、スケジュールの任意のエントリに対する変更が生じるとき、その変更は、その他のエントリに影響を与える波及効果を有する可能性がある。これは、全てのエントリが帯域幅114の共有プール(common pool)を利用するので、この共有プールの減少が、スケジュール内の多くのエントリに対して、潜在的に影響を与える可能性があるためである。
後のセクションにおいて、スケジューリング機能116がスケジュール内の競合に対処する方法について詳細に説明する。導入として、スケジューリング機能116は、初めに帯域幅イベントを識別することができる。上述したように、このイベントは、帯域幅の利用の変更を表す任意の事象を規定するものである。このイベントは、帯域幅の過剰割り当て(over-allocation)を生じさせる可能性がある。次いで、スケジューリング機能116は、記録されるスケジューリングされるメディアプログラムの異なる帯域幅のバージョンと、こうしたメディアプログラムが記録されるべき方式(SD、HDなど)に関するユーザの嗜好とを識別することができる。次いで、スケジューリング機能116は、帯域幅イベントと、メディアプログラムの利用可能な帯域幅のバージョンと、ユーザの嗜好とを考慮に入れるスケジュールを確立することができる。
スケジュールを形成する際、スケジューリング機能116は、生じる可能性があるあらゆる競合を解決するためのメカニズムを提供する。競合を解決するための1つの例示的メカニズムは、スケジュール内の過剰割り当てが行われる時間セグメントを識別すること、各時間セグメントに関してこのような競合に対するソリューションを列挙すること、および、ユーザインターフェース(UI)表示を介して、これらソリューションをユーザに示すことを含む。UI表示は、ユーザが、1つまたは複数の識別されたソリューションを選択することによって競合を解決することを可能にする。
A.2.スケジューリング機能を含む例示的システム(図1)
図1のシステム100のいくつかの特徴が、上述した導入となるセクションにおいて特定された。このセクションは、システム100内の特徴のより包括的な概要を提供する。
まず第1に、オペレーションセンタ102は、メディア情報の1つまたは複数のソース124からそのようなメディア情報を供給するための取得機能122を含む。ソース124は、メディア情報を作成または提供する任意の種類のエンティティを表すことができる。そのようなエンティティには、ケーブルテレビプロバイダまたは衛星テレビプロバイダ、1つまたは複数のビデオオンデマンド(VOD:Video-On-Demand)プロバイダ、1つまたは複数の情報出版社、1つまたは複数のライブラリソース、任意の種類のインターネット対応リポジトリ(repository)などがある。これらのソース124から受信されるメディア情報としては、ビデオ、オーディオ、静止画、および/またはその他のマルチメディアコンテンツを挙げることができる。メディアプログラムのソース124は、SD、HD、PIP(サムネイルサイズ)などの多種多様な記録フォーマットで、メディアプログラム(または、そのメディアプログラムの何らかのサブセット)を提供することができる。このことは、好ましい記録フォーマットのメディアプログラムを視聴する、および好ましい記録フォーマットでメディアプログラムを記録するオプションをユーザに提供する。
取得機能122は、メディアプログラムガイドソース126からメディアプログラムガイド情報も受信する。メディアプログラムガイドソース126は、メディアプログラムガイド情報を作成または提供する任意の種類のエンティティを表すことができる。そのようなエンティティには、電子メディアプログラムガイド(EPG)情報を編集および配信する商用サービスなどがある。一般に、メディアプログラムガイド情報は、12日間などの特定の期間内に生じるメディアイベントを識別する。メディアプログラムガイド情報は、イベントを表すID情報、イベントが始まる時間および終わる時間、およびイベントを提供するソース(例えば、チャネル)などを提供することによって、イベントを識別することができる。
取得機能122自体が、リソース情報を取り出すタスクに従事する1つもしくは複数のサーバコンピュータ、またはその他の機能を含むことができる。
オペレーションセンタ102は、クライアントデバイス(104、106、...、108)へのメディア情報の配信の前にメディア情報を記憶するための情報コンテンツストア128を任意的に含む。情報コンテンツストア128は、1つまたは複数のデータベース、および関連するデータベース管理機能として実装することができる。
オペレーションセンタ102には、接続メカニズム132を介してメディア情報をクライアントデバイス(104、106、...、108)に提供するための情報配信機能130も含めることができる。様々なシステムが、様々な方法で、情報配信機能130を使用することができる。上述したように、システム100は、取得機能122から(または、何らかのその他のソースから)受信されるときに、情報配信機能130を使用して、マルチキャスト形式で、ユニキャスト形式で、ユニキャスト形式およびマルチキャスト形式の組合せで、または何らかのその他の通信技術を使用して、メディア情報をクライアントデバイス104に送信することができる。
情報配信機能130は、クライアントデバイス(104、106、...、108)へのメディア情報の送信を容易にするサーバモジュール(図示せず)の集合として実装することができる。サーバモジュールは、当該サーバモジュールのいずれもがクライアントデバイス(104、106、...、108)のいずれかに同じサービスを提供するよう割り当てられ得るように、冗長なサービスを提供する場合がある。
どのような配信方策が使用されるにせよ、オペレーションセンタ102は、様々なパッケージングパラダイム(packaging paradigm)を使用して、メディア情報をクライアントデバイス(104、106、...、108)に配信することができる。ある場合には、オペレーションセンタ102は、様々なチャネルを用いて、ユーザに一連のメディアプログラムを提供することができる。この形態において、(チャネルが、物理的なチューナを使用する従来のアナログシステムの周波数に固有のコノテーション(connotation)を持たない可能性があるが、)オペレーションセンタ102は、従来のチャネル配信の方法で、決まったスケジュールに従ってメディアプログラムを提供することができる。別の場合には、オペレーションセンタ102は、決まった時間に、個々のメディアプログラムをユーザに提供することができる。
メディア情報自体は、MPEG−2規格、Microsoft社のVC−1規格、ISO/ITUのH.264規格などが含まれるがこれらに限定されない任意のフォーマットで表すことができる。コード化されたメディア情報は、リアルタイムトランスポートプロトコル(RTP)、リアルタイムストリーミングプロトコル(RTSP)などが含まれるがこれらに限定されない任意のフォーマットを使用して、パケットにカプセル化することができる。
接続メカニズム132は、オペレーションセンタ102をクライアントデバイス(104、106、...、108)に接続する。この接続メカニズム132は、様々な技術的環境および商業的環境に適合するよう、様々な方法で実装することができる。例えば、接続メカニズム132には、ワイドエリアネットワーク(例えば、インターネット)、イントラネット、デジタル加入者線(DSL)ネットワークインフラストラクチャ、ポイントツーポイント接続インフラストラクチャなどの任意の種類のネットワーク(または、ネットワークの組合せ)を含めることができる。接続メカニズム132は、任意の種類のプロトコルまたはプロトコルの組合せを使用することができるか、または含むことができる。情報を配信するために1つまたは複数のデジタルネットワークが使用される場合、接続メカニズム132には、様々な有線および/または無線リンク、ルータ、ゲートウェイ、ネームサーバなどを含めることができる。情報を配信するためにDSLインフラストラクチャが使用される場合、接続メカニズム132は、電話接続インフラストラクチャのサービスの一部とDSL処理機能とを利用することができる。
接続メカニズム132は、オペレーションセンタ102とクライアントデバイス(104、106、...、108)の間の双方向通信を可能にする。例えば、この双方向通信は、クライアントデバイス104が(パス134を介して)オペレーションセンタ102にスケジュールの選択を送信することを可能にし、オペレーションセンタ102が(家庭110に対するパス112を介して)クライアントデバイス104に記録命令およびメディア情報を送信することを可能にする。オペレーションセンタ102をクライアントデバイス104に接続するチャネル112は、クライアントデバイス104をオペレーションセンタ102に接続するチャネル134と同じ通信メカニズムを使用して、実装することができる。代替として、これらのチャネルは、異なる通信メカニズムを使用して実装することもできる。
次に、システム100のクライアント側の側面を参照すると、クライアントデバイス(104、106、...、108)自体は、様々な方法で実装することができる。任意の所与のクライアントデバイス(104、106、...、108)は、内蔵型のIPインターフェース/処理機能を備えたテレビセット、テレビセットに接続された関連するセットトップボックスを有する当該テレビセット、デジタルビデオレコーダ(DVR)デバイス、書き換え可能デジタルビデオディスク(DVD−RW)デバイス、AVデコード機能を有するパーソナルコンピュータなど(、ならびにこれらのデバイスの任意の組合せ)を表し得る。あるいは、所与のクライアントデバイス(104、106、...、108)は、個人用携帯電話、携帯情報端末(PDA)、タブレット型コンピュータデバイス、任意の種類のウェアラブルコンピュータ(例えば、腕時計型コンピュータデバイス)などの形態を取ることができる。
いかなる方法でクライアントデバイス(104、106、...、108)が実装されるにしても、それらのクライアントデバイスには、メディア表示モジュールに通信可能に接続されるメディア処理モジュールを含めることができる。例えば、クライアントデバイス104は、メディア表示モジュール138に接続されたメディア処理モジュール136を含み、クライアントデバイス106は、メディア表示モジュール142に接続されたメディア処理モジュール140を含み、クライアントデバイス108は、メディア表示モジュール146に接続されたメディア処理モジュール144を含む。メディア処理モジュール(136、140、...、144)には、メディア情報を処理するための機能を含めることができ、メディア表示モジュール(138、142、...、146)には、メディア処理モジュール(136、140、...、144)の出力を表示するための機能を含めることができる。メディア処理モジュール(136、140、...、144)は、(例えば、メディア処理モジュールがそれぞれのIP対応テレビセットに統合される場合、)メディア表示モジュール(138、142、...、146)と統合することができ、またはメディア処理モジュール(136、140、...、144)は、(例えば、メディア処理モジュールが、テレビセットに接続されるそれぞれのセットトップボックスに収容される場合、)メディア表示モジュール(138、142、...、146)と分離することができる(しかし、それらのメディア表示モジュールには接続されている)。
上述したように、代表的なクライアントデバイス104は、メディア処理モジュール136を含み、そして、そのメディア処理モジュール136には、任意的なクライアント側スケジュール処理機能118を含めることができる。このスケジュール処理機能118が存在する場合、このスケジュール処理機能118は、オペレーションセンタ102に配置されたスケジューリング機能116と協働するために必要とされるあらゆるタスクを実行する。最後に、メディア処理デバイス104は、ローカルストア120も含む。ローカルストア120は、オペレーションセンタ102からの命令に応答してメディア情報のストリームを記憶するためなどに、使用することができる。
上述したように、システム100は、スケジューリング機能を全面的にOCスケジューリング機能116に割り当てることができる。あるいは、システム100は、スケジューリング機能を全面的にクライアント側スケジューリング処理機能118に割り当てることができる。あるいは、システム100は、OCスケジューリング機能116およびクライアント側スケジュール処理機能118の両方に、スケジューリング機能を分散させて割り当てることができる。上述したように、本開示は、OCスケジューリング機能116が、スケジュールを作成および保持する役割、ならびにスケジュール内で生じる競合を解決する役割を課せられる実装に焦点を置いている。クライアント側スケジュール処理機能118は、OCスケジューリング機能116と対話する役割、およびローカルストア120へのメディアプログラムの記憶を調整するようOCスケジューリング機能116によって要求されたときに、そのような調整を行う役割が課される。
(下記の)セクションA.4では、OCスケジューリング機能116の1つの例示的実装に関する追加の情報を提供する。
A.3.例示的なクライアント側の詳細(図2)
図2は、(図1と関連させて紹介した)代表的なクライアントデバイス104に関するさらなる詳細を提供する。図2に示されるクライアントデバイス104の構成は、多くの可能な実装のうちの1つの代表であるに過ぎない。
クライアントデバイス104は、メディア表示モジュール138と接続された、上記にて特定されたメディア処理モジュール136を含む。ある場合には、メディア処理モジュール136には、単一の統合されたデバイス(例えば、単一のIP対応テレビセット)においてメディア表示モジュール138と組み合わされたAV処理機能を含めることができる。別の場合には、メディア処理モジュール136には、メディア表示モジュール138(例えば、テレビ画面)に通信可能に接続する別個のセットトップボックスもしくはDVRユニット(、またはその他の種類の別個のユニット)を含めることができる。
メディア処理モジュール136には、そのメディア処理モジュールに与えられたタスクを実行するためのいくつかのモジュールを含めることができる。まず第1に、メディア処理モジュール136は、ネットワークインターフェースモジュール202を含む。ネットワークインターフェースモジュール202は、任意の接続メカニズムを使用して、オペレーションセンタ102からメディア情報を受信するための任意の機能を表すことができる。例えば、ネットワークインターフェースモジュール202としては、イーサネット(登録商標)NIC、DSLモデム、ケーブルモデム、無線ネットワークインターフェース、またはその他の種類のネットワークインターフェース機器を挙げることができる。
メディア処理モジュール136は、メモリ204も含む。メモリ204の一部には、メディア情報がデコードされるのに先立ってメディア情報を記憶するためのFIFO型バッファを含めることができる。
メディア処理モジュール136は、受信メディア情報をビデオコンポーネントおよびオーディオコンポーネントにデコード(および復元)するためのオーディオビジュアル(AV)デコーダ206も含む。デコードは、(順序がくるって受信された場合に)パケットを整列すること、受信パケットのストリームからメディア情報を抽出すること、および、さらにメディア情報の再生を制御するタイミング情報を抽出することを含む。デコーダ206は、例えばユニキャスト技術および/もしくはマルチキャスト技術、または何らかのその他の技術を使用してメディア情報の1つまたは複数の識別されたストリームにチューニングするためのロジックを含めることによって、上述した仮想的なチューナ機能を実装することもできる。
メディア処理モジュール136は、メディア処理モジュール136の機能を実行する命令を実行するための1つまたは複数のプロセッサ208も含む。
メディア処理モジュール136には、1つまたは複数の入力デバイス(例えば、リモートコントローラ212、PC214、ジョイスティック(図示せず)、タッチスクリーン入力メカニズム(図示せず)など)を介して、消費者と対話するためのI/Oインターフェース210も含めることができる。
メディア処理モジュール136は、メディア表示モジュール220に適切なフォーマットで(例えば、適切な色空間で)メディア情報を提供するためのA/Vインターフェースモジュール216も含む。
メディア処理モジュールは、メディア情報および/またはその他の情報を記憶するための、上記にて特定されたローカルストア120も含む。(任意的なクライアント側スケジュール処理機能118が使用される場合、)一般に、クライアントデバイス104によって配置された記憶デバイス(例えば、メモリ204、ローカルストア120など)の任意の組合せを、クライアント側スケジュール処理機能118を実行する命令を記憶するために、使用することができる。
最後に、クライアントの処理モジュール136には、図には具体的に挙げられていない様々なその他のモジュール218を含めることができる。例えば、クライアントの処理モジュール136には、AVデコーダ206からのメディア情報の映像コンポーネントをグラフィックス情報とフレームごとに合成するためのグラフィックス合成器を含めることができる。グラフィックス情報は、メディア情報の上に重ねられる様々なユーザインターフェース表示を含んでもよい。
メディア表示モジュール138は、CRT型デバイス、LCD型デバイスなどを含む、AV情報を表示するための任意の種類のデバイスを含んでもよい。いずれの場合も、メディア表示モジュール138は、表示面220を画定する。メディア処理モジュール136は、表示面220上に、1つまたは複数のユーザインターフェース表示222を示すことができる。例えば、ユーザがスケジュールを作成し、見直し、変更することを可能にするユーザインターフェース表示(図示せず)を提供することができる。このインターフェースは、(オペレーションセンタ102の)スケジューリング機能116によって、もしくはローカルでクライアント側スケジュール処理機能118によって(、またはそのような機能の組合せによって、)提供することができる。
A.4.例示的スケジューリング機能の詳細(図3)
図3は、例示的なスケジューリング機能116の詳細を示している。図3に示されたコンポーネントは、単一のヘッドエンドの場所に一緒に配置することもできるし、複数の場所に渡って分散させることもできる。一般に、図3に示されたロジックは例示的であり、その他の機能が、本明細書において説明する基本的な設計原理を実装するための異なるロジックモジュールを適用することもできる。
まず第1に、スケジューリング機能116は、クライアントデバイス(104、106、...、108)および関連するユーザとの対話に用いるためのクライアントインターフェースモジュール302を含む。
スケジューリング機能116は、スケジュール306を作成し、見直し、変更するための機能を提供するスケジュール設定モジュール304も含む。スケジュール設定モジュール304は、これらのスケジュール306をスケジュールストア308に記憶する。スケジュール306は、それぞれのクライアントデバイス(104、106、...、108)における再生のために、メディア情報(テレビメディアプログラムなど)の記録を管理する。(代替として、クライアントデバイス群は、それらのクライアントデバイス独自のそれぞれのスケジュールを、それらクライアントデバイスのローカルストアに記憶することができ、これらのスケジュールの処理を、ヘッドエンドのスケジューリング機能116に任せることができる。)各スケジュールには、関連するメディア表示メディアプログラムを説明する1つまたは複数のエントリを含めることができる。例えば、エントリは、メディアプログラムの開始時間と、終了時間と、ソース(例えば、メディアプログラムが表示されるチャネル)と、メディアプログラムのその他の主要な特徴とを特定することによって、メディアプログラムを説明することができる。
スケジュールを作成する際、スケジューリング設定モジュール304は、(ガイドソース126からの)ガイドソース情報と、ユーザ嗜好情報310との両方にアクセスすることができる。メディアプログラムガイド情報は、特定の時間に、および特定のチャネルで、どのメディアプログラムが放映されているかを指定する。メディアプログラムガイド情報は、メディアプログラムの利用可能なフォーマット(SD、HDなど)も指定することができる。ユーザ嗜好情報310は、例えばユーザによって選択されたメディアプログラムを記録するために使用されるべきフォーマットに関する、ユーザの記録の嗜好を示す。例えば、クライアントデバイス104のユーザは、そのユーザが(SDフォーマットで記録されるべき)ニュースメディアプログラムを除く全てのメディアプログラムがHDフォーマットで記録されるべきであることを好むことを示すことができる。このユーザが新しいメディアプログラムをスケジュールに追加する場合、スケジュール設定モジュール304は、(所望の記録フォーマットが利用可能な場合、)その所望の記録フォーマットを有するメディアプログラムのバージョンを指定するスケジュール内のエントリを自動的に作成するように構成することができる。
上述したように、様々なイベントが記録の競合を引き起こす可能性がある。1つのそのようなイベントは、(1つまたは複数の時間セグメントに関して、全ての指定されたメディアプログラムを記録することが、利用可能な帯域幅を超える帯域幅を要するために、)1つまたは複数の前から存在しているメディアプログラムと偶然に競合する新しいメディアプログラムをユーザがスケジュールに追加するときに生じる。ユーザが前から存在しているメディアプログラムを変更し、その結果、その前から存在しているメディアプログラムがそのときにスケジュール内の1つまたは複数のその他のメディアプログラムと競合するとき、別のイベントが生じる。メディアプログラムガイド情報のプロバイダが、スケジューリングされたメディアプログラムのタイミングまたはフォーマットを変更し、その結果、そのメディアプログラムがそのときにスケジュール内の1つまたは複数のその他のメディアプログラムと競合するとき、別のイベントが生じる。さらなる追加の競合原因が存在し得る。
競合が生じた場合、スケジューリング機能116は、競合分析機能312を使用して、その競合を識別し、解決する。代表的な競合分析機能312は、その競合分析機能の役割の様々な側面を実行するためのいくつかのモジュールを含む。
第1に、競合識別モジュール314が、スケジュール内の競合を識別する。1つの技術において、このモジュール314は、スケジュールを別個の時間セグメントに分割することによって、このタスクを実行する。各時間セグメントは、その時間セグメントが時間的に前の時間セグメントとは異なる組合せのメディア消費イベントを表すという事実によって区別される。各時間セグメントは、競合が存在する新たな可能性も示す。例えば、新しいメディアプログラムの開始は、新しい時間セグメントの始まりの境界を定める。その時間セグメントの終わりは、任意のメディアプログラムの開始または終了といった任意の後続の帯域幅イベントに対応する可能性がある。これらの時間セグメントの一部は競合を含み、その他の時間セグメントは競合を含まない。したがって、セグメントを形成した後、競合識別モジュール314は、(例えば、要求される帯域幅の量が、利用可能な帯域幅114の量を超えるときに、)実際の競合が存在する時間セグメントを識別することができる。
ソリューション列挙モジュール316が、競合識別モジュール314によって識別された競合に対するソリューションを列挙する。図4aは、競合を解決するホリゾンタルメソッド(horizontal method)を示し、図4bは、バーティカルメソッド(vertical method)を示している。これらの場合の両方において、初めにユーザは、これらの図において示された図示された期間中に発生するメディアプログラムA、B、およびCを識別するスケジュールを作成すると仮定する。メディアプログラムBがメディアプログラムCと時間的に重なるときよりも前に、メディアプログラムAがメディアプログラムCと時間的に重なる連接点(juncture)においてさえ、この時点で、通信チャネル112が、合計3つのこれらのメディアプログラムを記録するのに十分な帯域幅を含むので、競合は存在しない。しかし、続いてユーザがメディアプログラムDを記録するためのスケジュールエントリを作成すると仮定する。これにより、少なくとも1つの競合が生じる。帯域幅114が、(メディアプログラムA、C、およびDが重なる連接点において、)メディアプログラムA、C、およびDを受信するのに十分でない、かつ/または、(メディアプログラムB、C、およびDが重なる連接点において、)メディアプログラムB、C、およびDを受信するのに十分でないと仮定する。
図4aに示されたホリゾンタルメソッドは、全ての競合に対する完全なソリューションを提供する。例えば、この問題に対する可能なソリューションは、(1)メディアプログラムCを記録しないこと、または(2)メディアプログラムAおよびBを記録しないこと、または(3)メディアプログラムDを記録しないことであろう。これらのソリューションのうちのいずれか1つを選択することは、スケジュールによって包含される期間全体(この場合は5pmから10pmまでによって規定される期間)に対する全ての競合を解決する。
図4bに示されたバーティカルメソッドは、各時間セグメントに対するソリューションを列挙する。例えば、ソリューション列挙モジュール316が、セグメントS1およびS2が競合を含むと判定するものと仮定する。このことは、時間セグメントS1に関して、利用可能な帯域幅114が、メディアプログラムA、C、およびDを記録するためには不十分であり、時間セグメントS2に関して、利用可能な帯域幅114が、メディアプログラムB、C、およびDを記録するためには不十分であることを意味する。この場合、ソリューション列挙モジュール316は、時間セグメントS1および時間セグメントS2に対して異なるソリューションのセットを識別する。例えば、セグメントS1に関する問題に対するソリューションは、(1)メディアプログラムAを記録しないこと、または(2)メディアプログラムCを記録しないこと、または(3)メディアプログラムDを記録しないことであろう。プログラムが同じ量の帯域幅を消費する場合、バーティカルな手法は、(複数のプログラムの組合せを除外することによって競合を解決するソリューションとは対照的に、)単一のプログラムを除外することによって競合を解決するソリューションを提供する。
ある状況では、ソリューション列挙モジュール316は、競合を解決する際、1つまたは複数のメディアプログラムが重要な役割を果たさないと判定する。すなわち、これらのメディアプログラムに関しては、それらのメディアプログラムが記録されるのか否かということが違いをもたらさない。一例において、あるメディアプログラムは、競合を解決するのに十分な帯域幅がこのメディアプログラムの除外によって開放されないので、重要ではないとみなされる。より一般的には、メディアプログラムは、そのメディアプログラムがいかなる一意なソリューションに対しても必要な貢献をもたらさないときに、重要ではないとみなされる。例えば、1つの一意なソリューションが、3つのSDプログラムX、Y、およびZ全てを取り消すことである場合を考える。この場合、これらのプログラムの3つ全てが「重要」であり、分析から除外されるべきでない。一方、XおよびYが、組み合わされたときに競合を解決するのに十分であるHDプログラムである場合を考える。ZがSDプログラムであるならば、(X+Zも、Y+Zもソリューションではないと仮定すると、)Zはいずれの一意なソリューションに対しても貢献し得ない。1つまたは複数のメディアプログラムが重要でないと判定される場合、これらのメディアプログラムは、ユーザの判断を不必要に混乱させないように、分析から効果的に除外することができる。
最後に、図3に戻ると、競合分析機能312は競合解決モジュール318を含む。競合解決モジュール318は、ソリューション列挙モジュール316によって決定されたソリューションのうちの1つまたは複数を使用して、競合識別モジュール314によって評価された競合を解決する。例えば、ユーザが新しいメディアプログラムDをスケジュールに追加しようと試みるときに競合が生じると仮定する。このとき、競合解決モジュール318は、競合と、その競合の可能なソリューションとをユーザに通知することができ、次いで、ユーザは、ソリューションのうちの1つまたは複数を手動で選択することが可能になる(以下で説明するように、ユーザが手動で競合を解決する要求に応じることができない場合、競合分析機能312は、様々なルールに基づいて、自動的に競合を解決するように試みることができる)。
例えば、ホリゾンタルメソッドを使用して、ソリューションを列挙する場合を考える。この場合、競合解決モジュール318は、ユーザに対して様々なソリューションを連続的に表示することができる(ここで、各ソリューションは、スケジュール内の全ての競合を取り除く)。例えば、初めに、競合解決モジュール318は、ユーザがメディアプログラムCの記録を見送りたいと望むかどうかをユーザに求めることができる。ユーザがこのソリューションを拒否する場合、競合解決モジュール318は、ユーザがメディアプログラムAおよびBの両方の記録を見送りたいと望むかどうかをユーザに求めることができる。ユーザがこのソリューションを拒否する場合、競合解決モジュール318は、ユーザがメディアプログラムDの記録を見送りたいと望むかどうかをユーザに求めることなどができる。
バーティカルメソッドは、競合を解決することに対して同様の手法を適用することができる。すなわち、様々なソリューションをユーザに続けて段階的に提供することによって、競合を解決する。しかし、この場合、競合解決モジュール318は、競合が存在するそれぞれのセグメントに順番に対処し、ユーザにそれぞれのセグメントに対するソリューションを選択するように求める。1つの例示的な場合では、第1のセグメントに関するユーザの選択(例えば、そのセグメントに関する特定のメディアプログラムの記録を見送ること)は、そのメディアプログラムをスケジュールから完全に除去することになる。このことは、後に発生するセグメントに関する競合状況を変更する影響を有するかもしれない(すなわち、この後のセグメントに関する競合も取り除くことによって、影響を有し得る)。代替として、競合しているセグメントに関するメディアプログラムを取り除くというユーザの指示が、そのセグメント内の当該メディアプログラムの競合している部分だけを取り除き、かつ後のセグメント内の当該メディアプログラムの残りの部分を記録することができるように、競合解決モジュール318を構成することができる。例えば、たとえユーザがフットボールの試合の最初の部分を見ることができないとしても、そのユーザがその試合の最後のクォータを見たいと望む場合、ユーザは、競合するメディアプログラムの一部を記録することにまだ関心があるので、ユーザは、このオプションを望む可能性がある。
様々なユーザインターフェース技術を使用して、ユーザによるソリューションの選択を容易にすることができる。1つの技術において、競合解決モジュール318は、(例えば、図4aおよび図4bに示された表示のように、)重なり合うメディアプログラムを表示するグラフィカルなタイムバー表示と共に、可能なソリューションを特定するテキスト情報を表示する。その場合、ユーザは、所望の1つまたは複数のソリューションに対応するテキスト情報の上をクリックすることができる。別の場合には、競合解決モジュール318は、ユーザがグラフィカルなタイムバー表示自体と対話することを可能にすることができる。例えば、競合解決モジュール318は、利用可能な帯域幅114の制限内で記録することができるメディアプログラムのセットを表すタイムバー上の視覚的な印(色の付いた点やその他の記号など)を提供することができる。
例えば、初めにホリゾンタルソリューションの場合を考える。最初に、競合解決モジュール318は、図4aに示されたタイムバーと共に、メディアプログラムA、メディアプログラムB、およびメディアプログラムDに関するタイムバー上の赤い点を表示することができる(これは、ソリューションのうちの1つである)。これは、ユーザがこのソリューションを受け入れる場合に、メディアプログラムA、B、およびDは記録されることになるが、メディアプログラムCは記録されないことになることを意味する。メディアプログラムCが記録されることをユーザが望む場合、競合解決モジュール318は、ユーザがメディアプログラムCに関するタイムバー上をクリックすることを可能にすることができる。これは、赤い点がメディアプログラムC上に表示されるようにし、場合によっては、赤い点がメディアプログラムAおよびBから取り除かれるようにする。このソリューションが十分でない場合、ユーザは、メディアプログラムAおよびBに関するタイムバーのいずれかの上をクリックする可能性がある。このクリックは、赤い点がこれらのタイムバー上に再び表示されるようにするが、メディアプログラムDに関するタイムバーからの赤い点の除去を引き起こす。このようにして、ユーザは、可能なソリューションをサイクルさせることができる。タイムバーのグラフィカルな表示、および関連する記録の印は、ユーザが可能な記録の順列を容易に理解することを可能にする。同じグラフィカルなパラダイムを使用して、バーティカルな技術に関するソリューションを見直して選択することができる。しかし、この場合、競合解決モジュール318は、それぞれの時間セグメントに対する様々なソリューションを次々にグラフィカルに順序付けることができる。
競合解決モジュール318がある1つの解決法を繰り返す前に可能な各ソリューションに到達することを確実にするために、上述したソリューションサイクルメカニズムにロジックを追加することができる。これは、競合解決モジュール318が2つのソリューション間を「行ったり来たりする(ping-pong)」ことを防止するための有用な特徴となり得る。例えば、ユーザが、色の付いた点をタイムバーCに追加するために、メディアプログラムCに関するタイムバー上をクリックする場合、タイムバーDから色の付いた点を取り除き、タイムバーAおよびBに関する色の付いた点を残すことが適切である可能性がある。しかし、次にユーザがタイムバーD上をクリックするならば、色の付いた点をタイムバーCから再び取り除くことは、(ユーザがこのソリューションが十分でないことを指示したばかりであるので、)有効ではない。それよりも、色の付いた点をタイムバーAおよびBから取り除き、色の付いた点をタイムバーCおよびD上に残すことの方がより建設的である。このことにより、競合解決モジュール318が利用可能なオプション全てを順序付けることが確実になる。この特徴は、可能なソリューションのリストを保持することによって、および、当該リストにおける全てのオプションに到達されるまで、いかなるソリューションも繰り返されないことを確実にすることによって、実行することができる。
上述したUIエクスペリエンス(UI experience)を向上させるために、その他の特徴も使用することができる。例えば、競合解決モジュール318は、例えばソリューションの潜在的な望ましさに従ってそのソリューションを順序付けることによって、リスト中のソリューションを順序付けることができる。望ましさを評価するために、様々なルールを使用することができる。例えば、1つのルールは、複数のメディアプログラムの除去を伴うソリューションに到達する前に、1つのメディアプログラムのみの除去を伴う全てのソリューションを順序付けることである。例えば、バーティカルな手法において、プログラムA、B、およびCが既にスケジューリングされている場合を考える。プログラムAおよびBは、1単位の帯域幅を消費し、プログラムCは、2単位の帯域幅を消費する。2単位の帯域幅を消費するプログラムDを記録する試みが次に存在すると仮定する。1つのソリューションは、プログラムAおよびBを取り除くことであり、別のソリューションは、プログラムCを取り除くことである。上述したソリューション順序付けルールは、(1つのプログラムを取り除くことが、2つのプログラムを取り除くことよりも悪影響が少ないという仮定の下で、)プログラムAおよびBを両方取り除くことより前にプログラムCを取り除くことを検討するようユーザに促す。別のルールは、ユーザが明示的に規定する選択基準を利用することであり、例えば、ユーザは、当該ユーザがニュースメディアプログラムよりもスポーツメディアプログラムを高く評価するよう指示することができ、したがって、2種類のメディアプログラム間で選択しなければならない場合、競合解決モジュール318は、ニュースメディアプログラムが取り除かれるソリューションを最初に表示する。これらは例示的なルールに過ぎず、その他の用途に対して異なるルールを採用してもよい。
別の特徴によれば、スケジュール内の1つまたは複数のメディアプログラムは、異なる記録品質を有する放映である場合がある。例えば、最初にユーザが、スポーツメディアプログラムをHDモードで記録したいと望むことを指示すると仮定する。しかし、後になってユーザがこのスポーツメディアプログラムと競合する別のメディアプログラムをスケジュールに追加すると仮定する。競合解決モジュール318は、SDなどの異なるフォーマットの選択が競合を解決する場合には、このフォーマットによるスポーツメディアプログラムの利用可能性をユーザに通知するように構成することができる。代替的な記録フォーマットの利用可能性は、様々な方法でユーザに通知することができる。例えば、図4aに示されるように、競合解決モジュール318は、競合を解決する可能性があるより低品質の記録が特定のメディアプログラムに対して利用可能であることを示す視覚的な印(例えば、吹き出しメッセージ)を、(このメディアプログラムに関連付けられた)タイムバーに追加することができる。ユーザは、印の上をクリックして、より低品質の記録を生じさせることができる。
別の特徴によれば、1つまたは複数のメディアプログラムが、(これらのメディアプログラムの除去が競合を解決する可能性が全くないために)ソリューションの一部を担わない場合、競合解決モジュール318は、これらのメディアプログラムがUI表示上に現れないよう、これらのメディアプログラムを除外することができる。このことは、これらのメディアプログラムの除外がより整然としたUI表示をもたらし、UI表示を潜在的により理解し易くし、ユーザの意志決定を容易にするので、有益である。
別の特徴によれば、プロバイダは、利用可能な帯域幅114をどのように仮想的なチューナに割り当てることができるかを制御する「人為的な」制約を追加することができる。すなわち、上述したように、消費される帯域幅の合計が利用可能な帯域幅114を超えないと仮定すると、仮想的なチューナ機能は通常、利用可能な帯域幅を任意の数のストリームに切り分けることができる。しかし、プロバイダは、2つのHDの仮想的なチューナおよび2つのSDの仮想的なチューナなど、最大数の仮想的なチューナのみが配置されることを指定したいと望む可能性がある。適用可能な場合、競合分析機能312は、その競合分析機能の競合解決技術において、この「人為的な」制約を考慮に入れることができる。
スケジューリング機能116のさらに別の特徴および変形形態があり得る。仮想的なチューニング環境におけるプログラムのスケジューリングの場合に適用可能なさらなるユーザインターフェース機能およびその他の特徴が、同時係属中の、本発明の譲受人に譲渡された、「Video Recording Conflict Management and User interface」という名称の米国特許出願第_______号明細書(代理人整理番号13768.520/308482.01)に記載されている。この特許出願における発明者は、Aaron J. DeYonker、Peter J. Potrebic、Thomas H. Taylor、およびJeffery C. Fongである。この特許出願は、参照することにより、その全体が本明細書に組み込まれる。
最後のトピックとして、ユーザのアクションに直接応じないアクションによって、その他の競合が引き起こされる可能性がある。例えば、メディアプログラムガイド情報は、定期的に更新され得る。新しいメディアプログラムガイド情報が、スケジューリングされたエントリの時間枠の変更や、そのスケジューリングされたエントリの記録品質の変更を示す場合、競合分析機能312は、これらの変更がもたらし得るあらゆる競合を解決しようと試みるよう動作し始めることができる。ある場合には、可能であれば、競合分析機能312は、次にユーザが当該ユーザのクライアントデバイス104と対話するときに、ユーザによる後の解決のために競合に対してフラグを設定することができる。これが不可能な場合、競合分析機能312は、競合を自動的に解決するように試みることができる。これは、(ソリューション群がそれらの評価された望ましさに基づいて順序付けられる)上記にて特定された例示的なルールに基づいて最善であると判定されたソリューションを自動的に選択することによって、実行することができる。例えば、1つのルールは、(たとえプログラムをHDで記録することがユーザの通常の嗜好であるとしても、)競合を解決するために、1つまたは複数のプログラムに関する記録品質を、HDからSDに自動的に落とすことである。
B.例示的な動作方法(図5〜図10)
残りの図は、フローチャートの動作を明確にする特定の例と関連させて、スケジューリング機能116の動作をフローチャートの形態で示す。説明を容易にするために、特定の動作が、特定の順序で実行される異なるステップを構成するものとして説明する。そのような実装は例示的なものであって、限定的なものではない。本明細書において説明する特定のステップは、一緒にまとめて実行することもできるし、単一の動作として実行することもできる。また、特定のステップは、本開示において説明する例で使用される順序と異なる順序で実行することもできる。これらのフローチャートで説明する多くの機能は前のセクションで既に説明したので、このセクションは、主にそれらの機能の見直しとして役立つことになるであろう。
B.1.スケジューリング機能の動作方法(図5および図6)
図5に示される手順500は、図1および図3のスケジューリング機能116の例示的な動作方法の概要を提供する。
ステップ502において、スケジューリング機能116は、スケジュールの競合を生じる可能性がある1つまたは複数の帯域幅イベントを識別する。上述したように、第1の種類のイベントは、スケジュ―ルへの新しいメディアプログラムの追加か、または(例えば、既存のメディアイベントの記録品質を変更することによる)当該既存のメディアイベントの変更を表す。第2の種類のイベントは、競合を生じさせるメディアプログラムガイド情報の変更(または、ユーザのアクションによって直接的に引き起こされないその他のイベント)を表す。
ステップ504において、(実際に、ステップ502において評価された帯域幅イベントが、スケジュールに追加されている新しいメディアプログラムに対応する場合、)スケジューリング機能116は、スケジュールに追加されている新しいメディアプログラムの異なる帯域幅のバージョンを識別する。ステップ504には、スケジュール内の前から存在しているメディアプログラムの異なる帯域幅の種類を判定することも任意的に含めることができる。これは、新しいメディアプログラムの導入に対応するためにスケジュール内の1つまたは複数の前から存在しているメディアプログラムの記録品質を変更することが適切である場合、有用な情報である。例示的な記録品質には、SD、HD、PIPなどがある。
ステップ506において、スケジューリング機能116は、記録品質に関するユーザの嗜好を識別する。例えば、ユーザは、そのユーザが特定の種類の全てのメディアプログラムがSDフォーマット、HDフォーマットなどで記録されることを好むことを指示することができる。
ステップ508において、スケジューリング機能116は、前のステップの結果を処理して、例えば、所望の記録品質を有する新しいメディアプログラムをスケジュールに追加することによって、スケジュールを更新する。また、ステップ508では、ステップ502において識別された帯域幅イベントが解決される必要がある競合を引き起こすかどうかが評価される。解決される必要がある競合を引き起こさない場合、スケジューリング機能116は、更新されたスケジュールをスケジュールストア308に記憶する。しかし、競合が生じる場合は、処理は図6の手順600に進む。手順600は、上述したバーティカルな技術を使用して競合を解決するための1つの例示的方法を提供する。概要として、この技術は、スケジュールをそのスケジュールの構成要素の時間セグメントに分割すること、および、続いてセグメントごとに1つの競合(または複数の競合)に対処することを含む。
より具体的には、ステップ602において、スケジューリング機能116は、競合を含むスケジュールを、そのスケジュールの構成要素の時間セグメントに分解することから始まる。各時間セグメントは、その時間セグメントの直前の時間セグメントとは異なる組合せの帯域幅イベントを表す。例えば、新しいメディアプログラムの開始は、新しい時間セグメントの開始を示す。任意のメディアプログラムの終了、または任意のメディアプログラムの開始が、その時間セグメントの終了を示す。このように生成された時間セグメントの一部は競合を含み、その他の時間セグメントは競合を含まない可能性がある。
ステップ604において、スケジューリング機能116は、いかなる競合も含まない時間セグメントを除外し、競合を含む時間セグメントのみを残す。こうした競合している時間セグメントにおいて、ユーザが記録したいと望むメディアプログラムの全てを記録するのに十分な帯域幅がないことを意味する帯域幅の過剰割り当てが存在する。
ステップ606において、スケジューリング機能116は、競合が生じる各時間セグメントに関して、競合に対する全てのソリューションを列挙することができる。すなわち、各時間セグメントに関して、スケジューリング機能116は、ソリューションのセットのいずれもがそのセグメントに関する競合を解決する当該ソリューションのセットを特定する。
ステップ608において、スケジューリング機能116は、(可能であれば)時間セグメントの複雑さを解消させて、ステップ606の結果を反映する。例えば、ステップ606において、1つまたは複数のメディアプログラムが、ソリューションに全く貢献することができないと判定されると仮定する。一例において、これは、これらメディアプログラムを除去しても、競合を解決するのに十分な帯域幅を開放しないためである。この場合、ステップ608では、重要でないメディアプログラムをスケジュールから除外することができ、時間セグメントを決定し直すことができる。このことは、1つまたは複数の前に規定された時間セグメントを合併する影響を有する場合がある。
ステップ610において、スケジューリング機能116は、上述したUI技術を使用して競合を解決する。例えば、スケジューリング機能116は、可能なソリューション間をグラフィカルにサイクルさせて各時間セグメントに関する競合に対する所望のソリューションを順番にユーザが選択することを可能にすることができる。
B.2.例示的な例(図7〜図10)
残りの図は、図5および図6において説明した手順の例を提供する。
初めに図7の導入的な場合を考える。この場合、総割り当て帯域幅114は3単位であると仮定する。SDストリームは1単位の帯域幅を消費し、HDストリームは2単位の帯域幅を消費するものと仮定する。(帯域幅に関するこれらの少ない単位の値は単に、本セクションにおける手引きの目的で役立つに過ぎず、すなわち、これらの値はそれら自体にとって、およびそれら自体が重要なわけではない。)さらに、ユーザがSDメディアプログラムA、HDメディアプログラムB、そして最後に新しいHDメディアプログラムCを記録したいものと仮定する。メディアプログラムA、B、およびCが重なる部分において、合計で1+2+2=5単位の帯域幅が必要とされる一方、利用可能な帯域幅は3単位しかないので、競合が存在する。
この場合、メディアプログラムAがメディアプログラムCと重なるが、メディアプログラムAは、競合に対するいかなるソリューションの一部にもなっていない。これは、メディアプログラムAを取り消しても、競合を解決するのに十分な帯域幅を開放しないためである。あるいは、より一般的に言うと、メディアプログラムAを除去することは、いかなる一意なソリューションの必要な構成要素も形成しない(例えば、メディアプログラムAおよびBを取り消すことによって、競合を解決することが可能であるが、メディアプログラムBを除去することだけで十分であり、メディアプログラムAの除去を不必要にする)。したがって、競合に対するソリューションの列挙は、2つの可能なソリューション、すなわち、(1)(メディアプログラムCが記録されるように)メディアプログラムBを記録しないこと、または(2)新しいメディアプログラムCを記録しないこと(したがって、現状を維持する)という結果になる。
第2のシナリオでは、再度同じ図7を参照して、メディアプログラムAがSDメディアプログラムであり、メディアプログラムBがHDメディアプログラムであり、しかし今度はメディアプログラムCがSDメディアプログラムであると仮定する。
この場合、新しい要求がSDメディアプログラムであるので、メディアプログラムAまたはメディアプログラムBのいずれかを取り消すことにより、十分な帯域幅が開放され、メディアプログラムCを記録することが可能になる。したがって、競合に対するソリューションの列挙は、3つの可能なソリューション、すなわち、(1)メディアプログラムAを記録しないこと、または(2)メディアプログラムBを記録しないこと、または(3)新しいメディアプログラムCを記録しないこと(したがって、現状を維持する)という結果になる。
(図8a、図8b、および図8cを含む)図8のシナリオは、より複雑な場合を示し、図6の手順600に従って実行される分析を段階的に示す。この例において、再度、システムが3単位の帯域幅114を提供し、SDメディアプログラムが1単位の帯域幅を消費し、HDメディアプログラムが2単位の帯域幅を消費すると仮定する。この例において、メディアプログラムAおよびBはHDストリームであり、メディアプログラムCはSDストリームであり、新しいメディアプログラムDはHDストリームである。
ステップ602において、全ての時間セグメントが決定され、その決定により、図8aに示される結果がもたらされる。各セグメントは新しい競合の可能性を表すが、各時間セグメントは、実際には競合を含まない可能性がある。
ステップ604において、帯域幅の過剰割り当てを示さない、したがって競合が生じないセグメントを除外することが実行される。これにより、図8bに示される結果がもたらされる。図示されるように、図8aにおいて示された5つのセグメントのうち、2つのセグメント(セグメントS1およびS2)だけが、実際に評価された競合を含む。スケジューリング機能116は、(セクションA.1で定義された)上記にて特定された制約式を利用して、各時間セグメント内に過剰割り当てが存在するかどうかを判定することができる。
ステップ606において、各時間セグメントに関して可能なソリューションを列挙することによって、各時間セグメントに関する1つまたは複数のソリューションのセットを生成することが実行される。例えば、セグメントS1に関して、2つのソリューション、すなわち、(1)メディアプログラムAを記録しないこと、または(2)メディアプログラムDを記録しないことが存在する。時間セグメントS2に関して、やはりちょうど2つのソリューション、すなわち、(1)メディアプログラムBを記録しないこと、または(2)メディアプログラムDを記録しないことが存在する。この特定のシナリオにおいて、このメディアプログラムCの除去によっては競合が解決されないので、メディアプログラムCを記録するか否かは問題にならない。この理由で、図8cに示されるように、メディアプログラムCは、ユ―ザに対して表示されるUIから効果的に除外することができる。
最後に、ステップ610では、上述した方法で競合を解決することが実行される。これは、上述した方法で各部分に関するソリューションを次々にグラフィカルに順序付けることを含んでもよい。
(図9a、図9b、図9c、および図9dを含む)図9は、別の例を示している。この場合でも、再度、システムが合計3単位の帯域幅114を提供し、SDストリームが1単位の帯域幅を消費し、HDストリームが2単位の帯域幅を消費するものと仮定する。ここで、メディアプログラムAおよびBはSDストリームであり、メディアプログラムCはHDストリームであり、新しいメディアプログラムDはHDストリームである。
図6に示された手順600が再度適用される。ステップ602において、スケジューリング機能116は、新しい競合が生じる可能性がある全ての時間セグメントを決定する。これにより、図9aに示される5つの時間セグメントがもたらされる。
ステップ604では、過剰割り当てを示さない(したがって競合を示さない)時間セグメントを除外することが実行される。これにより、3つの時間セグメント(S1、S2、およびS3)がスケジュール内に残る図9bに示される結果がもたらされる。
ステップ606では、競合が存在する各時間セグメントに関するソリューションを列挙することが実行される。この場合、メディアプログラムAおよびBを除去しても、評価された競合のいずれも取り除かれないので、メディアプログラムAおよびBは、いかなるソリューションにも貢献しない。したがって、メディアプログラムAおよびBは、図9cに示されるタイムバー表示を生成するために、UIから除外することができる。3つの時間セグメントの各々に対する可能なソリューションは、(1)メディアプログラムCを記録しないこと、または(2)メディアプログラムDを記録しないことである。
ステップ608では、ステップ606の結果に応じて、UIを再セグメント化することが実行される。すなわち、ステップ606において、この分析により、メディアプログラムAおよびBが除外された。このことは、図9dに示されるように、スケジューリング機能116が、3つの時間セグメントを単一の時間セグメントに合併することを可能にする。
ステップ610では、UIを使用して上述した方法で競合を解決することが実行される。この場合、ユーザの意志決定を容易にする、図9dに示される単純化されたUI表示を、ユーザに提供することができる。
(図10aおよび図10bを含む)図10は、最後の例を示している。この場合、システムが合計4単位の帯域幅114を提供し、SDストリームが1単位の帯域幅を消費し、HDストリームが2単位の帯域幅を消費するものと仮定する。メディアプログラムAおよびBはHDストリームであり、メディアプログラムCおよびDはSDストリームである。新しいメディアプログラムXはHDストリームである。
図6に示された手順600が再度適用される。ステップ602において、スケジューリング機能116は、競合が生じる可能性がある全ての時間セグメントを決定する。これにより、図10aに示される5つの時間セグメントがもたらされる。
ステップ604において、スケジューリング機能116は、いかなる競合も生じない時間セグメントを除外する。これにより、図10bに示される結果がもたらされる。残りの時間セグメントS1およびS2は、帯域幅の過剰割り当てを含んでいる。
ステップ606において、スケジューリング機能116は、時間セグメントS1およびS2の各々に対する可能なソリューションを列挙する。時間セグメントS1において、ソリューションは、(1)メディアプログラムAを記録しないこと、または(2)メディアプログラムCおよびDを記録しないこと、または(3)メディアプログラムXを記録しないことを含む。同様のソリューションが、時間セグメントS2にも当てはまる(しかし、メディアプログラムAではなく、メディアプログラムBの除外を指示するソリューションが含まれる)。
ステップ610において、スケジューリング機能116は、上述したUIに基づく手法を使用して、評価された競合の解決をユーザに要請する。
結びに、いくつかの特徴が、これらの特徴が対処することができる例示的な問題を初めに識別することによって、本明細書において説明された。この説明の仕方は、他の者が本明細書で具体的に説明した方法でそれらの問題を認識した、かつ/または明確に述べたことを認めるものではない。関連する技術分野に存在するそれらの問題の認識および明確な表明は、本発明の一部として理解されるべきである。
本発明について、構造的特徴および/または方法論的動作に固有の言葉で説明したが、特許請求の範囲において定義された本発明は、説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、特許請求の範囲に記載された発明を実施する例示的な形態として開示されているものである。
仮想的なチューナ機能を使用するクライアントデバイスに関するスケジューリングを実行するための例示的システムを示す図である。 図1のシステムにおいて使用するための例示的クライアントデバイスを示す図である。 図1のシステムによる使用のための例示的スケジューリング機能を示す図である。 図3のスケジューリング機能が競合を解決するために使用することができる、「ホリゾンタルな」技術を示す図である。 図3のスケジューリング機能が競合を解決するために使用することができる、「バーティカルな」技術を示す図である。 図6と共に、図1のシステムの動作の例示的な方法を説明する手順を示す図である。 図5と共に、図1のシステムの動作の例示的な方法を説明する手順を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。 図1のシステムにおいて、スケジュール内で競合が発生する特定の例の解決に対する適用を示す図である。

Claims (16)

  1. 仮想的なチューナ機能を使用するクライアントデバイスに影響を与えるスケジュールの競合を解決する方法であって、
    前記クライアントデバイスが所与の時間に通信チャネルを介して複数のメディアプログラムを受信および記録するためのスケジュールを確立するステップであって、前記スケジュールは、前記複数のメディアプログラムを、第1の帯域幅の量を必要とする第1のフォーマットバージョンで前記所与の時間に前記通信チャネルを介して前記クライアントデバイスに伝送することを指定する、当該確立するステップと、
    前記スケジュールの前記複数のメディアプログラムの各々を前記第1のフォーマットバージョンで伝送することによって消費される前記通信チャネルの帯域幅の量が、前記クライアントデバイスが前記通信チャネルを介して前記複数のメディアプログラムを受信することに利用できる帯域幅の総量を超えるか否かを考慮することによって、少なくとも1つの帯域幅イベントによって引き起こされ前記スケジュール少なくとも1つの競合を識別するステップと、
    前記スケジュールにおける前記少なくとも1つの競合を識別したことに応答して前記複数のメディアプログラムに利用できるフォーマットバージョンを示すメディアプログラムガイドソース情報を参照して前記第1のフォーマットバージョンで伝送されるようにスケジュールされた前記複数のメディアプログラムのうち1つまたは複数のメディアプログラムが、前記第1の帯域幅の量よりも少ない第2の帯域幅の量を必要とする第2のフォーマットバージョンで利用できると判定するステップと、
    前記複数のメディアプログラムのうちの前記1つまたは複数のメディアプログラムを前記第1のフォーマットバージョンから前記第2のフォーマットバージョンに置き換えることによって前記少なくとも1つの競合が解決されるかどうかを判定するステップであって、前記1つまたは複数のメディアプログラムを前記第1のフォーマットバージョンから前記第2のフォーマットバージョンに置き換えることによって、前記複数のメディアプログラムの伝送によって消費される前記通信チャネルの帯域幅の量が、前記クライアントデバイスが前記通信チャネルを介して前記複数のメディアプログアムを受信することに利用できる帯域幅の総量以下に低減されるときに、前記少なくとも1つの競合が解決されると判定するステップと、
    前記スケジュールにおける前記少なくとも1つの競合を解決するための少なくとも1つのソリューションを前記クライアントデバイスのユーザに提供するステップであって、前記1つまたは複数のメディアプログラムを前記第1のフォーマットバージョンから前記第2のフォーマットバージョン置き換えることによって前記少なくとも1つの競合が解決されると判断されたとき、前記少なくとも1つのソリューションは、前記1つまたは複数のメディアプログラムを前記第2のフォーマットバージョンに置き換えることにより前記スケジュールを変更することを含む、当該提供するステップと、
    前記少なくとも1つのソリューションによって前記スケジュールの前記少なくとも1つの競合を解決するステップと
    を備えることを特徴とする方法。
  2. 前記少なくとも1つの帯域幅イベントは、前記クライアントデバイスの前記ユーザによる新しいメディアプログラムの選択を含むことを特徴とする請求項1に記載の方法。
  3. 前記少なくとも1つの帯域幅イベントは、前記クライアントデバイスの前記スケジュールに影響を与えるメディアプログラムガイド情報の変更を含むことを特徴とする請求項1に記載の方法。
  4. 前記少なくとも1つの競合を識別するステップは、
    前記スケジュールを、競合が存在する可能性がある複数の候補時間セグメントに分割するステップと、
    前記複数の候補時間セグメントのうち、実際に競合が存在する少なくとも1つの競合している時間セグメントを識別するステップと
    を含むことを特徴とする請求項1に記載の方法。
  5. 前記少なくとも1つのソリューションを提供するステップは、
    前記少なくとも1つの競合している時間セグメントごとに、各時間セグメントにおいて存在している前記競合を解決するためのソリューションを順番に提供すること
    を含むことを特徴とする請求項4に記載の方法。
  6. 前記少なくとも1つのソリューションを提供するステップは、
    前記複数のメディアプログラム各々を表すタイムバーを含み、前記少なくとも1つの競合解決するための前記少なくとも1つのソリューションを視覚的に示すユーザインターフェース表示を、前記クライアントデバイスの前記ユーザに提供することを含み
    前記少なくとも1つのソリューションにより前記スケジュールの前記少なくとも1つの競合を解決するステップは、前記ユーザによって前記ユーザインターフェース表示内の前記1つまたは複数のメディアプログラムに対応する前記タイムバー選択されたことに応答して、前記少なくとも1つのソリューションにより前記スケジュールの前記少なくとも1つの競合を解決することを含むことを特徴とする請求項1に記載の方法。
  7. 前記ユーザインターフェース表示は、所定の優先順位に従った順序付けを表すように前記少なくとも1つのソリューションを視覚的に示すことを特徴とする請求項6に記載の方法。
  8. 前記1つまたは複数のメディアプログラムを前記第1のフォーマットバージョンから前記第2のフォーマットバージョンに置き換えることによって、前記複数のメディアプログラムの伝送によって消費される前記通信チャネルの帯域幅の量が、前記クライアントデバイスが前記通信チャネルを介して前記複数のメディアプログアムを受信することに利用できる帯域幅の総量以下に低減されるとき、前記1つまたは複数のメディアプログラムを前記第2のフォーマットバージョンに自動的に置き換えることにより、前記スケジュールの前記少なくとも1つの競合を解決するステップをさらに備えることを特徴とする請求項1に記載の方法。
  9. 前記メディアプログラムガイドソース情報に基づいて前記複数のメディアプログラムに利用できるフォーマットバージョンを識別するステップと、
    メディアプログラムの記録品質に関するユーザ嗜好情報を識別するステップと
    をさらに備え、
    前記スケジュールを確立するステップは、識別された前記複数のメディアプログラムに利用できるフォーマットバージョンと前記ユーザ嗜好情報とに基づいて、前記クライアントデバイスの前記スケジュールを確立することを含むことを特徴とする請求項8に記載の方法。
  10. 前記1つまたは複数のメディアプログラムを前記第2のフォーマットバージョンに自動的に置き換えることにより、前記スケジュールの前記少なくとも1つの競合を解決するステップは、前記ユーザ嗜好情報において前記1つまたは複数のメディアプログラムを前記第1のフォーマットバージョンで記録するように指定されているかどうかに関わらず、前記1つまたは複数のメディアプログラムを前記第2のフォーマットバージョンに自動的に置き換えることにより、前記スケジュールの前記少なくとも1つの競合を解決することを含むことを特徴とする請求項9に記載の方法。
  11. 前記少なくとも1つの競合を識別するステップは、前記複数のメディアプログラムのうち前記少なくとも1つの競合を発生させている、少なくとも2つのメディアプログラムを識別することを含み、
    前記少なくとも1つのソリューションは、前記少なくとも2つのメディアプログラムのうちの少なくとも一方を前記スケジュールから除去することにより、前記少なくとも1つの競合を解決することを含むことを特徴とする請求項1に記載の方法。
  12. 仮想的なチューナ機能を使用するクライアントデバイスに影響を与えるスケジュールの競合を解決するスケジューリング機能を提供するためのシステムであって、
    クライアントデバイスが複数のメディアプログラムを受信および記録するためのスケジュールを確立し、該システムのメモリ内に記憶するように構成されたスケジュール設定モジュールであって、前記スケジュールは、前記複数のメディアプログラム前記クライアントデバイスに第1の帯域幅の量を必要とする高画質のフォーマットバージョンで所与の時間に所与の通信チャネルを介して伝送することを指定する、当該スケジュール設定モジュールと、
    前記スケジュールに従って前記複数のメディアプログラムを前記高画質のフォーマットバージョンで伝送することによって消費される前記通信チャネルの帯域幅の量が、前記クライアントデバイスが前記通信チャネルを介して前記複数のメディアプログラムを受信することに利用できる帯域幅の総量を超えるか否かを考慮することによって、前記スケジュールの少なくとも1つの競合を識別するように構成された競合識別モジュールと、
    前記少なくとも1つの競合を解決するための少なくとも1つのソリューションを前記複数のメディアプログラムとともに表示した、ユーザインターフェース表示により前記クライアントデバイスのユーザに提供するように構成されたソリューション列挙モジュールと、
    前記少なくとも1つのソリューションにより前記少なくとも1つの競合を解決するように構成された競合解決モジュールと
    を備え
    前記ソリューション列挙モジュールは、メディアプログラムガイドソース情報に基づいて、前記高画質のフォーマットバージョンで伝送されるようにスケジュールされた前記複数のメディアプログラムのうち1つまたは複数のメディアプログラムが、前記第1の帯域幅の量よりも少ない第2の帯域幅の量を必要とする標準画質のフォーマットバージョンで利用できると判定されたとき、前記1つまたは複数のメディアプログラムを前記高画質のフォーマットバージョンから前記標準画質のフォーマットバージョンに置き換えることによって前記少なくとも1つの競合が解決されるかどうかを判定するように構成され、
    前記ソリューション列挙モジュールは、前記1つまたは複数のメディアプログラムを前記高画質のフォーマットバージョンから前記標準画質のフォーマットバージョンに置き換えることによって、前記複数のメディアプログラムの伝送によって消費される前記通信チャネルの帯域幅の量が、前記クライアントデバイスが前記通信チャネルを介して前記複数のメディアプログアムを受信することに利用できる帯域幅の総量以下に低減されるとき、前記1つまたは複数のメディアプログラムを前記高画質のフォーマットバージョンから前記標準画質のフォーマットバージョンに置き換えることにより前記スケジュールを変更することを、前記少なくとも1つのソリューションとして提供するように構成されることを特徴とするシステム
  13. 前記競合識別モジュールは、
    前記スケジュールを、競合が存在する可能性がある複数の候補時間セグメントに分割すること、および、
    前記複数の候補時間セグメントのうち、実際に競合が存在する少なくとも1つの競合している時間セグメントを識別すること
    によって、前記少なくとも1つの競合を識別するように構成されることを特徴とする請求項12に記載のシステム
  14. 前記ソリューション列挙モジュールは、前記少なくとも1つの競合している時間セグメントごとに、各時間セグメントに存在している前記競合を解決するためのソリューションを順番に提供するように構成されることを特徴とする請求項13に記載のシステム
  15. 前記ソリューション列挙モジュールは、前記スケジュールの前記複数のメディアプログラムのうち前記少なくとも1つの競合を発生させていないメディアプログラムを前記ユーザインターフェース表示から除外するように構成され、
    前記競合識別モジュールは、前記ソリューション列挙モジュールによる前記メディアプログラムの除外に応じて、前記少なくとも1つの競合している時間セグメントを決定し直すように構成されることを特徴とする請求項13に記載のシステム
  16. 請求項1に記載の方法を実行するための命令を記録したことを特徴とする、1つまたは複数のマシン読み取り可能な記憶媒体。
JP2008513500A 2005-05-24 2006-04-28 帯域幅を消費するメディアイベントをスケジューリングするための方策 Expired - Fee Related JP4690457B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/135,994 2005-05-24
US11/135,994 US7584497B2 (en) 2005-05-24 2005-05-24 Strategies for scheduling bandwidth-consuming media events
PCT/US2006/016448 WO2006127211A2 (en) 2005-05-24 2006-04-28 Strategies for scheduling bandwidth-consuming media events

Publications (3)

Publication Number Publication Date
JP2008546279A JP2008546279A (ja) 2008-12-18
JP2008546279A5 JP2008546279A5 (ja) 2009-07-09
JP4690457B2 true JP4690457B2 (ja) 2011-06-01

Family

ID=37452551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008513500A Expired - Fee Related JP4690457B2 (ja) 2005-05-24 2006-04-28 帯域幅を消費するメディアイベントをスケジューリングするための方策

Country Status (6)

Country Link
US (1) US7584497B2 (ja)
EP (1) EP1880546B1 (ja)
JP (1) JP4690457B2 (ja)
CN (1) CN101194511B (ja)
MX (1) MX2007014332A (ja)
WO (1) WO2006127211A2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7684566B2 (en) 2005-05-27 2010-03-23 Microsoft Corporation Encryption scheme for streamed multimedia content protected by rights management system
US7769880B2 (en) * 2005-07-07 2010-08-03 Microsoft Corporation Carrying protected content using a control protocol for streaming and a transport protocol
US9432710B2 (en) * 2005-07-08 2016-08-30 At&T Intellectual Property I, L.P. Methods systems, and products for conserving bandwidth
US7561696B2 (en) * 2005-07-12 2009-07-14 Microsoft Corporation Delivering policy updates for protected content
US8321690B2 (en) 2005-08-11 2012-11-27 Microsoft Corporation Protecting digital media of various content types
US7634816B2 (en) 2005-08-11 2009-12-15 Microsoft Corporation Revocation information management
JP4618503B2 (ja) * 2005-09-09 2011-01-26 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7720096B2 (en) * 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
US20070089145A1 (en) * 2005-10-18 2007-04-19 Sbc Knowledge Ventures, L.P. System and method of delivering video data
US8582946B2 (en) * 2005-11-04 2013-11-12 Rovi Guides, Inc. Systems and methods for recording programs using a network recording device as supplemental storage
US8245267B2 (en) * 2006-04-28 2012-08-14 At&T Intellectual Property I, L.P. Methods, systems, and products for recording media on a user device
US20080187291A1 (en) * 2007-02-05 2008-08-07 Microsoft Corporation Prioritization for video acquisition
TR200701997A2 (tr) * 2007-03-27 2008-10-21 Grundi̇g Elektroni̇k Anoni̇m Şi̇rketi̇ Sayısal kayıt için bir yöntem
US8798433B2 (en) * 2007-05-04 2014-08-05 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
EP2009845A1 (en) * 2007-06-07 2008-12-31 Thomson Licensing Method and apparatus for error messaging in a multimedia network
KR101411586B1 (ko) * 2007-08-14 2014-06-25 삼성전자주식회사 방송 프로그램 선택을 위한 gui 제공방법 및 이를적용한 av 기기
US8272015B2 (en) 2007-11-01 2012-09-18 Microsoft Corporation Alternate source conflict resolution
US8627399B2 (en) * 2008-01-31 2014-01-07 At&T Intellectual Property I, Lp System and method of delivering television content
US8358913B2 (en) * 2008-02-29 2013-01-22 Microsoft Corporation Resolving recording conflicts
US8640227B2 (en) 2008-06-23 2014-01-28 EchoStar Technologies, L.L.C. Apparatus and methods for dynamic pictorial image authentication
US8583771B2 (en) * 2008-07-01 2013-11-12 Cisco Technology, Inc. Mapping human-meaningful parameters to network-meaningful parameters to permit user to establish traffic importance in home network
US20100054712A1 (en) * 2008-08-29 2010-03-04 At&T Intellectual Property I, L.P. System and Method for Recording High-Definition Content
US20100057668A1 (en) * 2008-09-04 2010-03-04 Cisco Technology, Inc. Mapping human-meaningful parameters to network-meaningful parameters for media transformation
US8464309B2 (en) 2008-09-05 2013-06-11 Tivo Inc. Server-based program recording scheduling
US8582957B2 (en) * 2008-09-22 2013-11-12 EchoStar Technologies, L.L.C. Methods and apparatus for visually displaying recording timer information
US9357262B2 (en) 2008-09-30 2016-05-31 Echostar Technologies L.L.C. Systems and methods for graphical control of picture-in-picture windows
US8937687B2 (en) 2008-09-30 2015-01-20 Echostar Technologies L.L.C. Systems and methods for graphical control of symbol-based features in a television receiver
US8572651B2 (en) 2008-09-22 2013-10-29 EchoStar Technologies, L.L.C. Methods and apparatus for presenting supplemental information in an electronic programming guide
US8473979B2 (en) 2008-09-30 2013-06-25 Echostar Technologies L.L.C. Systems and methods for graphical adjustment of an electronic program guide
US8793735B2 (en) 2008-09-30 2014-07-29 EchoStar Technologies, L.L.C. Methods and apparatus for providing multiple channel recall on a television receiver
US8397262B2 (en) 2008-09-30 2013-03-12 Echostar Technologies L.L.C. Systems and methods for graphical control of user interface features in a television receiver
US8098337B2 (en) 2008-09-30 2012-01-17 Echostar Technologies L.L.C. Systems and methods for automatic configuration of a remote control device
US8411210B2 (en) 2008-09-30 2013-04-02 Echostar Technologies L.L.C. Systems and methods for configuration of a remote control device
US9100614B2 (en) 2008-10-31 2015-08-04 Echostar Technologies L.L.C. Graphical interface navigation based on image element proximity
US8244106B2 (en) * 2008-12-24 2012-08-14 Echostar Technologies L.L.C. Apparatus and methods for resolving recording conflicts of a digital video recorder
US20100205136A1 (en) * 2009-02-09 2010-08-12 Southwest Research Institute System and Method for Modeling and Predicting Security Threats
US8434121B2 (en) * 2009-10-16 2013-04-30 At&T Intellectual Property I, L.P. System and method for monitoring whole home digital video recorder usage for internet protocol television
US9113127B2 (en) 2010-02-08 2015-08-18 Echostar Technologies L.L.C. Systems and methods for automatically scheduling recordings of programming events
KR101653237B1 (ko) * 2010-03-25 2016-09-01 삼성전자주식회사 복수 장치를 이용하는 콘텐츠 서비스 제공 방법 및 시스템
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
US9191692B2 (en) 2010-06-02 2015-11-17 Microsoft Technology Licensing, Llc Aggregated tuner scheduling
US10908794B2 (en) * 2010-08-16 2021-02-02 Iheartmedia Management Services, Inc. Automated scheduling of multimedia content avoiding adjacency conflicts
US9172990B2 (en) 2011-06-24 2015-10-27 Google Technology Holdings LLC Method and device for optimizing storage of recorded video programs
US8898694B2 (en) * 2012-04-27 2014-11-25 United Video Properties, Inc. Systems and methods for indicating media asset access conflicts using a time bar
US9197841B2 (en) * 2013-08-29 2015-11-24 Verizon Patent And Licensing Inc. Manual DVR conflict resolution
CN103686276A (zh) * 2013-12-04 2014-03-26 乐视致新电子科技(天津)有限公司 一种红外遥控器码值冲突规避系统及方法
US9641791B2 (en) * 2014-03-03 2017-05-02 Microsoft Technology Licensing, Llc Bandwidth aware digital video recording (DVR) scheduling
CN106604078B (zh) * 2015-10-14 2019-07-19 北京国双科技有限公司 一种网络视频推荐方法及装置
JP6465077B2 (ja) * 2016-05-31 2019-02-06 トヨタ自動車株式会社 音声対話装置および音声対話方法
CN109524031B (zh) * 2017-09-19 2021-05-18 华为技术有限公司 一种冲突检测方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07248980A (ja) * 1994-03-11 1995-09-26 N T T Data Tsushin Kk マルチメディア情報の通信方式
WO2001030074A1 (en) * 1999-10-19 2001-04-26 Matsushita Electric Industrial Co., Ltd. Transmitter and receiver
JP2002207793A (ja) * 2000-11-13 2002-07-26 Jisedai Joho Hoso System Kenkyusho:Kk 配信スケジューリングシステム、配信スケジューリング方法およびその方法をコンピュータに実行させるプログラム
JP2002247091A (ja) * 2001-02-19 2002-08-30 Ntt Communications Kk コンテンツ配信サーバ、方法およびシステム
JP2003032251A (ja) * 2001-07-13 2003-01-31 Jisedai Joho Hoso System Kenkyusho:Kk 配信スケジューリング装置、配信スケジューリング方法、その方法をコンピュータに実行させるためのプログラムおよび配信スケジュール評価方法
JP2003283553A (ja) * 2002-03-22 2003-10-03 Nri & Ncc Co Ltd 帯域制御システム
US20030204848A1 (en) * 2002-04-24 2003-10-30 Cheng David J. Managing record events
JP2004007196A (ja) * 2002-05-31 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> 情報配信システムの帯域管理方法及びプログラム並びに記録媒体
JP2004080279A (ja) * 2002-08-14 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> 映像ストリームの品質制御方法、そのプログラム及び記録媒体
JP2004536491A (ja) * 2001-04-24 2004-12-02 プレディウェイブ・コーポレイション プリフェッチデータ送信を用いたデータ・オン・デマンドデジタル放送システム

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841433A (en) 1994-12-23 1998-11-24 Thomson Consumer Electronics, Inc. Digital television system channel guide having a limited lifetime
US5666645A (en) * 1995-04-26 1997-09-09 News America Publications, Inc. Data management and distribution system and method for an electronic television program guide
CN1110950C (zh) * 1996-10-08 2003-06-04 松下电器产业株式会社 信息接收方法及使用此方法的信息接收装置
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
WO1999013641A1 (en) * 1997-09-05 1999-03-18 Prevue International, Inc. Program guide application interface system
US6272546B1 (en) * 1998-03-12 2001-08-07 Sony Corporation Method of and apparatus for managing resource allocation and bandwidth overflow in a cooperative, distributed computing environment
US6788882B1 (en) * 1998-04-17 2004-09-07 Timesurf, L.L.C. Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof
US8689265B2 (en) * 1999-03-30 2014-04-01 Tivo Inc. Multimedia mobile personalization system
US6922845B2 (en) * 2000-04-25 2005-07-26 The Directtv Group, Inc. Multi-processor DVR
US6804824B1 (en) * 2000-06-30 2004-10-12 Microsoft Corporation Systems and methods using multiple tuners
US7773859B1 (en) * 2000-08-30 2010-08-10 Microsoft Corporation Resolving recording conflicts between coinciding programming
US8302127B2 (en) * 2000-09-25 2012-10-30 Thomson Licensing System and method for personalized TV
US8046799B2 (en) * 2000-11-27 2011-10-25 The Directv Group, Inc. Daypart based navigation paradigm
US20020108126A1 (en) * 2001-02-08 2002-08-08 Horowitz Steven M. Background enabled recording in a set top box
US7088910B2 (en) * 2001-02-09 2006-08-08 Microsoft Corporation Optimizing use of storage space in a video data recording system
US20020110360A1 (en) * 2001-02-09 2002-08-15 Potrebic Peter J. Systems and methods for recording fragmented programs
US6798971B2 (en) * 2001-02-09 2004-09-28 Microsoft Corporation Systems and methods for providing continuous recording of repeating programming
US20020136538A1 (en) * 2001-03-22 2002-09-26 Koninklijke Philips Electronics N.V. Smart quality setting for personal TV recording
US7526788B2 (en) * 2001-06-29 2009-04-28 Scientific-Atlanta, Inc. Graphic user interface alternate download options for unavailable PRM content
DE60213282T2 (de) * 2001-11-10 2007-07-19 Thomson Licensing Videoaufzeichnungssystem und -verfahren für mehrere benutzer und benutzerkategorien
US6897904B2 (en) * 2002-01-04 2005-05-24 Microsoft Corporation Method and apparatus for selecting among multiple tuners
EP1472697A4 (en) 2002-02-08 2005-10-26 Ucentric Holdings Inc CENTRALIZED DIGITAL VIDEO RECORDING SYSTEM WITH BOOKMARKS AND PLAYING MULTIPLE PLACES
US7600246B2 (en) * 2002-04-17 2009-10-06 Microsoft Corporation Method and apparatus for analyzing program data
US7774816B2 (en) * 2002-04-23 2010-08-10 Rovi Technologies Corporation Conflict manager for a video recorder
US7200611B2 (en) * 2002-05-13 2007-04-03 Microsoft Corporation TV program database
US20040078817A1 (en) * 2002-05-14 2004-04-22 Steven Horowitz Dynamic program events recording
JP2004023326A (ja) 2002-06-14 2004-01-22 Matsushita Electric Ind Co Ltd 録画装置
US7212730B2 (en) * 2002-06-27 2007-05-01 International Business Machines Corporation System and method for enhanced edit list for recording options
AU2003294466A1 (en) 2002-12-05 2004-06-30 Sbc Properties, L.P. Dsl video service with memory manager, automatic program selector, and/or storage
US7640564B2 (en) * 2003-05-01 2009-12-29 Microsoft Corporation Recording resources indicators
CN100418374C (zh) * 2003-05-05 2008-09-10 汤姆森许可贸易公司 用于指示是否存在记录节目的足够空间的方法和设备
JP2007521731A (ja) * 2003-06-27 2007-08-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Dvrスケジューリングコンフリクトを回避する代替的プログラムソース
US20060061682A1 (en) * 2004-09-22 2006-03-23 Bradley Bruce R User selectable content stream
US7782789B2 (en) * 2004-09-23 2010-08-24 Harris Corporation Adaptive bandwidth utilization for telemetered data
US20060104611A1 (en) * 2004-11-15 2006-05-18 Pioneer Research Center Usa, Inc. Flexible conflict resolution in scheduled recording of broadcast content

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07248980A (ja) * 1994-03-11 1995-09-26 N T T Data Tsushin Kk マルチメディア情報の通信方式
WO2001030074A1 (en) * 1999-10-19 2001-04-26 Matsushita Electric Industrial Co., Ltd. Transmitter and receiver
JP2002207793A (ja) * 2000-11-13 2002-07-26 Jisedai Joho Hoso System Kenkyusho:Kk 配信スケジューリングシステム、配信スケジューリング方法およびその方法をコンピュータに実行させるプログラム
JP2002247091A (ja) * 2001-02-19 2002-08-30 Ntt Communications Kk コンテンツ配信サーバ、方法およびシステム
JP2004536491A (ja) * 2001-04-24 2004-12-02 プレディウェイブ・コーポレイション プリフェッチデータ送信を用いたデータ・オン・デマンドデジタル放送システム
JP2003032251A (ja) * 2001-07-13 2003-01-31 Jisedai Joho Hoso System Kenkyusho:Kk 配信スケジューリング装置、配信スケジューリング方法、その方法をコンピュータに実行させるためのプログラムおよび配信スケジュール評価方法
JP2003283553A (ja) * 2002-03-22 2003-10-03 Nri & Ncc Co Ltd 帯域制御システム
US20030204848A1 (en) * 2002-04-24 2003-10-30 Cheng David J. Managing record events
JP2004007196A (ja) * 2002-05-31 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> 情報配信システムの帯域管理方法及びプログラム並びに記録媒体
JP2004080279A (ja) * 2002-08-14 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> 映像ストリームの品質制御方法、そのプログラム及び記録媒体

Also Published As

Publication number Publication date
JP2008546279A (ja) 2008-12-18
EP1880546A2 (en) 2008-01-23
WO2006127211A2 (en) 2006-11-30
CN101194511A (zh) 2008-06-04
US7584497B2 (en) 2009-09-01
US20060268099A1 (en) 2006-11-30
EP1880546A4 (en) 2010-08-04
CN101194511B (zh) 2011-04-13
EP1880546B1 (en) 2015-09-30
MX2007014332A (es) 2008-02-12
WO2006127211A3 (en) 2008-02-07

Similar Documents

Publication Publication Date Title
JP4690457B2 (ja) 帯域幅を消費するメディアイベントをスケジューリングするための方策
US9641791B2 (en) Bandwidth aware digital video recording (DVR) scheduling
EP2039058B1 (en) Multi-dvr node communication
US7571454B2 (en) Strategies for updating schedules
US7809242B2 (en) Recording resource limitation resolution
US9124767B2 (en) Multi-DVR media content arbitration
JP4688932B2 (ja) 仮想チューナ管理
US20070204313A1 (en) Token Locking to Schedule Content Consumption
US20080198847A1 (en) Multicasting system, client device, upper router controller, method of displaying content and computer program
US20080022331A1 (en) Multi-DVR Media Stream Transition
US20070203714A1 (en) Purchasable Token Bandwidth Portioning
US20080022330A1 (en) Multi-DVR Content Management
US7685306B2 (en) Streaming content navigation
TW201134220A (en) Systems and methods for accessing electronic program guide information over a backchannel communication path
JP2008060960A (ja) 番組表作成装置、番組表作成方法
US20070180112A1 (en) Changeable Token Bandwidth Portioning
JP4181962B2 (ja) 受信装置及び受信方法
JP4533408B2 (ja) 受信装置及び受信方法
JP2009182420A (ja) 代理録画システム及び映像受信装置
US10764636B2 (en) Method for announcing services in a communication network
JP2010016534A (ja) コンテンツ受信再生方法およびコンテンツ受信再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101214

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110217

R150 Certificate of patent or registration of utility model

Ref document number: 4690457

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees