(57)【要約】【課題】視聴者に、クエリを用いて特定のプログラムをサーチするための電子式プログラム・ガイド（ＥＰＧ）を提供する。【解決手段】視聴者が１つ又は複数の関連する文字にも対応する１又は複数の数字キーを用いてデータを入力する際に電子式プログラム・ガイド（ＥＰＧ）を動作させる方法であって、入力されたデータに基づき、この入力されたデータがそのデータ入力に用いられた数字キーに関連する数又は文字を表している場合があることを考慮したクエリを構築するステップと、クエリを満足する任意のＥＰＧデータ・アイテムを識別するステップと、を含む。【選択図】図１５
2006136015.tif 000002
【特許請求の範囲】
【請求項１】
視聴者が１つ又は複数の関連する文字にも対応する１又は複数の数字キーを用いてデータを入力する際に電子式プログラム・ガイド（ＥＰＧ）を動作させる方法であって、
前記入力されたデータに基づき、この入力されたデータがそのデータ入力に用いられた数字キーに関連する数又は文字を表している場合があることを考慮したクエリを構築するステップと、
前記クエリを満足する任意のＥＰＧデータ・アイテムを識別するステップと、を含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項２】
請求項１記載の方法において、各キー入力に対して前記構築するステップと前記識別するステップとを反復する追加的なステップを更に含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項３】
請求項１記載の方法において、前記構築するステップと前記識別するステップとは、複数のキー入力の後に実行すること、を特徴とする電子式プログラム・ガイド動作方法。
【請求項４】
請求項１記載の方法において、前記視聴者に、前記クエリを満足する前記任意のＥＰＧデータ・アイテムを提示する追加的なステップを更に含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項５】
請求項１記載の方法において、前記構築するステップは、
入力に用いられたキーに対応するそれぞれの文字に対して１つ又は複数の文字の部分クエリを定式化するステップと、
入力に用いられたキーに対応するそれぞれの数に対して数の部分クエリを定式化するステップと、
前記文字及び数の部分クエリの組合せとして、前記クエリを定式化するステップと、を含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項６】
請求項１記載の方法において、前記データは複数のキー入力の結果であり、前記構築するステップは、
それぞれのキー入力に対するデータを、そのキーに対応する数と関連する文字との両方を表すものとして解釈するステップと、
そのシーケンス内のデータの異なった解釈を考慮するキー入力のそれぞれのシーケンスに対して、複数の部分クエリを定式化するステップと、
複合クエリを、前記部分クエリの組合せとして定式化するステップと、を含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項７】
コンピュータ読み取り可能な記録媒体に常駐しており、請求項１記載の方法のステップを実行するためプロセッサ上で実行可能な電子式プログラム・ガイド。
【請求項８】
請求項１記載の方法のステップを実行するようにプログラムしたビューア・コンピューティングユニット。
【請求項９】
請求項１記載の方法のステップを実行するようコンピュータに命令するコンピュータ読み取り可能な記録媒体。
【請求項１０】
数字が付されまた１つ又は複数の関連する文字にも対応するキーを有する数字キーボードを介して制御することができるビューア・コンピューティングユニットにおいて、
キーが作動されたときにキー・データを発生するステップと、
前記キー・データを、前記キーと関連する数と前記キーに関連する１つ又は複数の文字との両方を表すものとして解釈するステップと、
前記キー・データの異なった解釈に対して前記ビューア・コンピューティングユニットが実行することができる可能性のある動作を判定するステップと、を含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項１１】
請求項１０記載の方法において、前記数はチャンネルを識別するのに用い、前記文字はプログラム又はネットワーク名を識別するのに用い、前記キーに関連する前記１つ又は複数の文字を前記キーに関連する数にマッピングし、それによって前記チャンネル、前記プログラム名及び前記ネットワーク名を数値的に符号化したキー・データによって全て識別するようにするステップ、を更に含むことを特徴とする電子式プログラム・ガイド動作方法。
【請求項１２】
請求項１０記載の方法において、それぞれのキーが作動されるときに、前記発生ステップと、前記解釈するステップと、前記識別するステップとを反復する追加的なステップを更に含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項１３】
請求項１０記載の方法において、前記解釈するステップと前記判定するステップとは、前記キー・データを発生するステップが全ての作動されたキーに対して実行した後でのみ実行すること、を特徴とする電子式プログラム・ガイド動作方法。
【請求項１４】
請求項１０記載の方法において、前記解釈するステップは、
前記キーに関連する１つ又は複数の文字のそれぞれに対して１つ又は複数の文字の部分クエリを定式化するステップと、
前記キーに関連する数に対して数の部分クエリを定式化するステップと、
前記文字及び数の部分クエリの組合せとして、複合クエリを定式化するステップと、を含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項１５】
請求項１０記載の方法において、複数のキーが作動され、更に、
キー・データのシーケンスを発生するステップと、
該シーケンス内のキー・データの異なった解釈を考慮した、前記キー・データのシーケンスに対する複数の部分クエリを定式化するステップと、
前記部分クエリ全ての組合せとして複合クエリを定式化するステップと、を含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項１６】
請求項１０記載の方法において、前記クエリを階層的なクエリ構造においてセーブするステップを更に含むこと、を特徴とする電子式プログラム・ガイド動作方法。
【請求項１７】
請求項１０記載の方法のステップを実行するようにプログラムしたビューア・コンピューティングユニット。
【請求項１８】
請求項１０記載の方法のステップを実行するようコンピュータに命令するコンピュータ読み取り可能な記録媒体。
【請求項１９】
１つ又は複数の関連する文字に追加的に対応する数字の付されたキーを有するビューア・コンピューティングユニットのプロセッサ上での実行のためのものであって、それぞれのキーは、視聴者がそのキーを作動してプログラミング情報を要求するときにキー・データを発生する電子式プログラム・ガイドにおいて、前記プロセッサ上で動作してプログラミング情報を編成し、前記キー・データを、そのキーに関連する数とそのキーに関連する１つ又は複数の文字との両方を表すものとして解釈するように構成し、前記キー・データの異なった解釈に基づき前記視聴者が要求している可能性のあるプログラミング情報を判定するように構成したこと、を特徴とする電子式プログラム・ガイド。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型テレビや対話型計算ネットワーク・システムなどの娯楽システムに関し、また、これらのシステムと共に動作する電子式プログラム（番組）・ガイドに関する。更に詳しくは、本発明は、自動的に生成したクエリ（query）及び視聴者が生成したクエリを用いてプログラム又はそれ以外のプログラム情報を識別する電子式プログラム・ガイドを動作させる方法に関するものである。
【背景技術】
【０００２】
テレビの視聴者は、日刊新聞紙やTV Guide（登録商標）などの週刊誌に掲載された印刷したプログラム・スケジュールに非常に親しんでいる。この印刷したプログラム・ガイドでは、１日１日を基準にして、予定した視聴時間との関係で様々なテレビ番組がリストされている。
【０００３】
ケーブル・テレビ・システムは、多くの場合、印刷されたプログラム・ガイドの映像による放送を行うチャンネルを含んでいる。このケーブル・チャンネルは、異なった利用可能なチャンネル上で利用できるプログラムのリスト表示に専用のものである。このリストは、通常、グリッド（grid）状に配列されている。グリッドの各列は、午後４時から午後４時半などの特定の時間スロットを表す。それぞれの行は、ＡＢＣ、ＰＢＳ、ＥＳＰＮなどの特定の放送又はケーブル・チャンネルを表している。種々の予定されているプログラムや番組は、行及び列の中に配列され、放映されるチャンネルと時間とを示す。このグリッドは、垂直方向に連続的にスクロールすることによって、視聴者は、３つ又は４つの時間スロットの中で連続的に更新されるプログラムの組を目にすることになる。
【０００４】
利用可能なプログラムのためのデータは、典型的には、複数のデータ・レコードとして、ケーブル・システムによって受信する。それぞれの利用可能なプログラムは、チャンネル、開始時刻及び終了時刻、タイトル、出演している俳優の名前、クローズド・キャプショニング（closed-captioning）及びステレオ放送が利用可能かどうか、そしておそらくはプログラムの簡単な説明など、プログラムに関する種々の情報を示す単一の対応するデータ・レコードを有している。このタイプのデータ・レコードから上述したようなグリッドのフォーマットを決めることは困難ではない。このグリッドは、典型的には、ケーブル・システムのヘッドエンドで一旦フォーマットを決め、このケーブル・システムが配給している多数の家庭に反復的かつ連続的に放送する。
【０００５】
より最近の対話型のケーブル分配システムは、上述した放送型のプログラム・リスト・チャンネルと幾分類似した機能を有する電子式プログラム・ガイド（ＥＰＧ）をその特徴としている。しかし、自動的にスクロールするのではなく、ＥＰＧによれば、遠隔制御（リモコン）デバイスやそれ以外の入力デバイスを用いて視聴者がプログラムのグリッドの中を水平方向にも垂直方向にも望み通りにスクロールすることが可能となっている。この機能は、対話型ケーブル・システムの双方向の通信能力を利用している。
【０００６】
ＥＰＧは、典型的には、テレビとケーブル・システムの家庭引き込み線（home entry line）との間に接続されたセットトップボックス（ＳＴＢ）上で動くソフトウェアにおいて実現している。新たな列又は行にスクロールするときに、セットトップボックスは、適切なプログラム情報をそれぞれの新たな行又は列に挿入する。この情報は、ＳＴＢにおいてキャッシュするか、又は、ケーブル・システムのヘッドエンドから要求するかのどちらかである。
【０００７】
対話型のシステムによると、視聴者は、自分のテレビ上にどのプログラムがいつ放映されるかを制御することが可能になる。ムービー・オン・デマンドは、この対話型制御の一例である。視聴者は、ＥＰＧからの利用可能な映画のリストを丹念に調べ、選択した映画を注文することができる。ＳＴＢは、その映画に対する要求をヘッドエンド・サーバに送る。その映画は、検索され、要求しているＳＴＢに送信される。このようにして、ムービー・オン・デマンドによれば、視聴者は、従来型のプレミアム・チャンネル又はペイパービュー・チャンネルにおいて典型的であるように特定の開始時間に拘束されているのとは異なり、自らの都合に応じて、映画を探し、購入し、見ることが可能になる。
【０００８】
多くの産業界及び商業上の専門家たちは、娯楽システムが、顧客に多くのその他の対話型のサービスを提供できるようになるまで進歩すると予測している。例えば、顧客は、自分のテレビ又はコンピュータを用いて、食料品又はそれ以外の商品の買い物をしたり、銀行取引やその他の金融取引を行ったり、ゲームをしたり、教育講座に出席し試験を受けることができるようになるであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の分散型ネットワークは、多くのチャンネルをサポートしている。テレビの視聴者にとって、５０から１００のチャンネルを有することは、一般的である。しかし、技術が進歩し、プログラムの内容が拡大するにつれて、チャンネルの数は、数百から更には数千ものチャンネルへ、劇的に増加することが予想される。
【００１０】
チャンネル数の増加に伴う問題は、極端に拡大した選択の幅は、視聴者にとって魅力的ではあっても、視聴者が自らの好むプログラムを探し出すことがより困難になるという点である。チャンネル番号を記憶したり、プログラムのグリッドを見渡したり、ランダムにサーフィンをしたりという従来型のプログラム探索方法は、チャンネル数が増加するにつれて、有効でなくなる。例えば、スクロールできるグリッド状のＥＰＧユーザ・インターフェース（ＵＩ）において、数百又は数千のプログラムを提供しようとする際の困難さを想像してほしい。このインターフェースは、一度にほんのいくつかのプログラム又はチャンネルしか示すことができないのである。このＵＩ構造では、プログラム及びチャンネルの提供が大量となると、機能不全となる可能性が非常に大きい。更に、数百又は数千のチャンネルのサーフィンをするには、多くの時間を必要とするであろうし、これにより視聴者は、自分が見ようとしていたプログラムを逃してしまう。
【００１１】
チャンネル数が増加するにつれて、プログラム及びネットワークを特定のチャンネルと関連付けるという伝統的な慣例は、より意味をもたなくなる可能性が大きい。例えば、ある視聴者がフットボールを見ることに興味をもっていると仮定してみる。今日では、視聴者は、チャンネル６（ＮＢＣ）とチャンネル３（ＦＯＸ）とがフットボールの試合を放映していることを覚えており、これらの内の１つにチャンネルを合わせるだけであろう。しかし、将来には、フットボールの試合は、チャンネル７８、チャンネル４９５、チャンネル１０４２で放映されているかもしれない。これらのチャンネルは、地元のフットボール・チームを放映する小さな地元の局であるかもしれないし、又は、主要なネットワークが用いる多数のチャンネルの中の１つであるかもしれない。視聴者は、おそらく、特定の時間にチャンネル７８、チャンネル４９５、チャンネル１０４２がフットボールの試合を放映していることなど覚えていることはない。
【００１２】
更に、チャンネルとネットワーク及びプログラムとの相関関係は、マーケットごとに変動する。例えば、スポーツ・ネットワークＥＳＰＮは、あるマーケットではチャンネル１５で放映されるが、別のマーケットではチャンネル２９で放映されることがあろう。チャンネル番号によって提供されるプログラムを記憶しておくことは、視聴者があるマーケットから次のマーケットに移動する場合には、フラストレーションを生じさせることになる。
【００１３】
したがって、プログラムが放映されるチャンネルとは関係なく視聴者がプログラムを容易に見つけるのを可能にする操作方法を開発する必要性が存在する。更に、これらの操作方法は、視聴者がチャンネル番号、プログラム名、又はネットワーク名を記憶しているかどうかとは無関係に、視聴者がプログラムを探し出すのを可能にしなければならない。
【００１４】
この目的に向かって、ＴＶＨｏｓｔ社という会社が、視聴者が特定のプログラムを探し出すのを助けるソフトウェア・ベースの製品ＥＴＶを開発している。ＥＴＶシステムは、異なったトピック別のカテゴリにしたがって、提供される異なったプログラムを編成する。図１には、ＥＴＶシステムがサポートするグラフィカル・ユーザ・インターフェース（ＵＩ）ウィンドウ２０のスクリーン表示の一例を示している。ＥＴＶウィンドウ２０は、第１の区画（pane）２２を有しており、そこには、ビジネス（Business）、子供（Children）、教育（Educational）、ゲーム番組（Game Show）など、予め定義したタイプのプログラムがアルファベット順にリストになっている。視聴者は、フォーカス・フレーム又はハイライト・バー２４を制御して、この第１の区画２２からプログラムのタイプを選ぶことができる。第２の区画２６は、第１の区画２２でハイライトしているプログラム・タイプに対して入手可能なプログラムのリストを含んでいる。この例では、’ビジネス’のタイプをハイライトしているので、第２の区画２６には、ビジネス関係のプログラムが示されている。第２の区画２６はまた、開始時間、ネットワーク又は局（Station）、放映時間を含むその他のプログラム情報も提供する。
【００１５】
ＥＴＶは、このように、タイプにしたがってプログラムを編成するスクロール可能なグリッド状の提示に対する代替策を提供している。これによって、視聴者は、プログラムのタイプを選択し、そして提供されているそのタイプのプログラムを検討することが可能になる。また、ＥＴＶシステムによれば、初歩的な’サーチ’の能力も可能にしている。図２には、サーチを行っているときに現れる別のグラフィカルＵＩウィンドウ３０を示している。第１の区画３２は、スクロール可能でかつアルファベット順の局のリストを含み、視聴者が局を選ぶことを可能にしている。第２の区画３４は、そこから視聴者がプログラムのタイプを選択できるスクロール可能でアルファベット順のプログラム・タイプのリストを含んでいる。ＭＰＡＡ、レーティング（rating）、開始時間などのその他のパラメータもまた、視聴者は選択することができる。これらの選択に基づき、ＥＴＶシステムは、特定のタイプに属し、選択された局による、そしてそのレーティングと開始時間とに当てはまるプログラムを探し出す。
【００１６】
このＥＴＶシステムは、多くの点で制限されている。ＥＴＶシステムでは、任意の分野におけるサーチは許容されていない。それどころか、カテゴリは、視聴者に対し予め定められている。視聴者は、例えば、ＯＲ、ＡＮＤ、ＮＯＴから成るブール・ロジックを用いて、自分自身の複雑なサーチを定めることはできない。別の制限として、ＥＴＶシステムは、視聴者の選択に基づいて選択をインテリジェントに狭めるアクティブな制御をしてはくれないということがある。’アクティブ’な制御とは、ユーザの側にその他の行為を全く要求しない制御のことである。例えば、視聴者がサーチ・ウィンドウ３０（図２）の区画３２においてある局を選択すると、全てのプログラム・タイプが第２の区画３４においてリストされる。実際、視聴者が以前にどのような選択を行ったかとは無関係に、第１及び第２の区画３２、３４の両方において、同じリストが常に生じる。視聴者は、’開始’サーチ・キー３６を作動するまで、どのような結果も見ることはできない。
【００１７】
したがって、チャンネルとネットワーク又はプログラムとの間の関連を切断し、そして同時にインテリジェントなサーチ手順を許容して視聴者がその好むプログラムを探し出すのを助ける操作方法を開発する必要が、依然として存在する。
【課題を解決するための手段】
【００１８】
本発明は、予め定めた分野及び任意の分野に亘る単純なサーチ及び複雑なサーチを容易にするクエリの作成を可能にする、電子式プログラム・ガイド（ＥＰＧ）に関する。ＥＰＧは、プログラミング情報を編成して視聴者に提示する。ＥＰＧは、視聴者のコンピューティング・ユニットに存在するプロセッサ上で実行するソフトウェアで実現する。ここで説明するように、ビューア・コンピューティングユニットは、テレビ（ＴＶ）に接続したセットトップボックス（ＳＴＢ）や、コンピュータ及びモニタ等として実現することができる。
【００１９】
本発明の１つの形態によれば、ＥＰＧは、視聴者が好むであろうプログラムを自動的に識別するように構成する。ＥＰＧは、例えば、その視聴者の視聴習慣（viewing habits）をモニタし記録することによって、あるいは、その視聴者の好きなものと嫌いなものとを発見するように設計した一連の質問に視聴者が回答を行った視聴者プロフィールを作成することを通じて、視聴者の視聴好み（viewing preference）を収集する。これらの視聴者の好みに基づき、ＥＰＧは、視聴者が見るであろうプログラムを識別するためのクエリを自動的に作り出し、そしてこれらのプログラムを視聴者に提示する。
【００２０】
ＥＰＧは、更に、個々の視聴者のクエリを、全ての視聴者に代わってプログラムをサーチする複合的なクエリに統合するようにも構成できる。それぞれの視聴者は、自分自身のクエリを定義する。例えば、家族のあるメンバーは、カレッジ・フットボールの試合のためのクエリを定義し、家族の別のメンバーは、南北戦争に関するプログラムのためのクエリを定義し、家族の更に別のメンバーは、マンガのためのクエリを定義することができる。次に、ＥＰＧは、これら３つのクエリを組み合わせて３つのクエリのいずれか１つを満足するプログラムを共同して識別する統合したクエリを作成する。
【００２１】
ＥＰＧは、クエリを、階層構造に保存して、視聴者がクエリを編成し検索するのを容易にする。視聴者は、ディレクトリやサブディレクトリを定義してクエリを編成することができる。例えば、視聴者は、異なった種類の映画に対するクエリを映画ディレクトリの中に、スポーツに対するクエリをスポーツ・ディレクトリの中に配置することができる。別の編成例では、クエリを別個のユーザ・ディレクトリの中に編成する。
【００２２】
別の形態によれば、ＥＰＧは、クエリをバックグラウンドでランさせることにより、視聴者には知られずに、クエリを周期的に実行するように構成する。ＥＰＧは、バックグラウンドのクエリを満足する特定のプログラムを識別すると、自動的に、そのプログラムを視聴者に告知するか、もしくはそのプログラムを録画する手順を自動的に開始させるか、あるいはその両方を行う。例えば、視聴者が、中国の万里の長城に関する番組を見たいと思っていると仮定しよう。その視聴者は、万里の長城に言及している全てのプログラムを識別するクエリを定義し、そしてそのクエリをバックグラウンドで、おそらくは長時間、実行させることができる。ＥＰＧは、万里の長城に関するプログラムを識別すると、視聴者にその番組の放映予定がいつであるかを告知し、そして録画手順を開始する。
【００２３】
本発明の別の形態によれば、ＥＰＧは、視聴者が、典型的にはリモコン・ハンドセット上で見られる１０キーのキーパッドを用いてプログラム、チャンネル番号、又はネットワークを見つけるのを助ける。このキーパッドは、１０個の数字キーを有し、これらのキーはまた、関連する文字に対応している。キーを押すときには、視聴者は、チャンネルを探すためにある数を入力するか、又は、プログラム又はネットワーク名を綴るためにキーに対応する文字の１つを入力することを意図していることになる。視聴者の意図とは関係なく、そのキーが押されたときに生じるデータは同じである。ＥＰＧは、そのデータを、そのキーに対応する数と文字とを含む可能な全ての選択を表すものとして、解釈するように構成する。例えば、ある視聴者が番号’５’のキーを押すと、ＥＰＧは、そのデータを、’５’、’Ｊ’、’Ｋ’、又は’Ｌ’を意味するものと解釈する。ＥＰＧは、次に、その数字又は文字で始まる又はそれらを含むプログラム、チャンネル及びネットワークを識別する。視聴者が各ディジットを入力し続けるにつれて、プログラム、チャンネル及びネットワークのリストは、動的に狭くなる。数回のボタンの押し下げにより、視聴者には、可能な選択肢の短いリストが提示される。
【発明を実施するための最良の形態】
【００２４】
図３は、本発明の１つの実現例による娯楽システム４０を示す。システム４０は、複数の加入者に連続的なビデオ・コンテンツ・プログラムを提供するように構成した中央集中型のヘッドエンド又はコンテンツ・プロバイダ４２を含む。コンテンツ・プロバイダ４２が提供するプログラムには、伝統的な放送テレビ番組、オンデマンド映画、ゲーム、及び過去においてはオンラインのコンピュータ・サービスによって提供されるのが通例であったようなその他のサービスが含まれる。
【００２５】
コンテンツ・プロバイダ４２は、ビデオやその他のデータを、分配ネットワーク４４を介して、加入者に供給する。この実現例では、ネットワーク４４は、デジタル・フォーマットのデータをコンテンツ・プロバイダ４２から個々の加入者に送信する衛星ネットワークである。衛星ネットワーク４４は、送信機４６と、軌道を回る衛星４８と、受信機５０とを含む。一例としては、衛星ネットワーク４４は、ＤＳＳ（直接衛星システム、Direct Satellite System）技術を用いて実現することができ、その場合には、個々の加入者が、それぞれの家庭に小型の１８インチ受信パラボラアンテナ５０を所有することになる。ビデオ、オーディオ及びその他のデータが、デジタル・フォーマットで、衛星送信機４６から軌道を回る衛星４８に送信され、そしてそこでデータは、衛星受信機５０に向けて再び方向付けされる。
【００２６】
分配ネットワーク４４は、ＤＳＳ技術以外の別の方法でも実現することができる。ある実現例として、コンテンツ・プロバイダ４２と地域の分配ノード（図示せず）との間の高速かつ高帯域の光ファイバ・ケーブル・ネットワークと、分配ノードと視聴者のコンピューティング・ユニット６０との間のツイスト・ペア線や同軸ケーブルなどの従来型の家庭引き込み線とを含む多階層ネットワークがある。別のネットワーク実現例では、伝統的なＲＦ放送技術が含まれる。ネットワークは、ワイヤレス技術とワイヤ・ベースの技術との組合せを用いても構築することができる。
【００２７】
加入者にコンテンツを放送するのとは異なった別のアプローチに、コンテンツをインターネットを介してマルチキャストするものがある。このアプローチでは、コンテンツ・プロバイダは、データ・コンテンツを、インターネット上の指定されたマルチキャスト・アドレスに送信する。加入者は、マルチキャスト・アドレスにアクセスして、その１次コンテンツを視聴する。
【００２８】
それぞれの加入者の住居は、少なくとも１つのビューア・コンピューティングユニット６０を有している。図示した実現例では、ビューア・コンピューティングユニット６０は、放送イネーブル形（broadcast enabled）のパーソナル・コンピュータ、あるいは単に、’放送ＰＣ’として、具体化している。放送ＰＣ６０は、大型のコンピュータ・モニタ６２と、処理ユニット６４と、リモート・キーパッド６６及び／又はリモコン・ハンドセット６８の形態の入力デバイスとを有する。リモート・キーパッド６６及びハンドセット６８は、赤外線（ＩＲ）又は無線（ＲＦ）などのワイヤレス・データ・リンク７０を介して、処理ユニット６４に遠隔的に結合する。ただし、これらのリモート・ユニットを、直接に接続することもできる。放送ＰＣ６０はまた、ＥＰＧデータベース７２とコンテンツ・セパレータ７４とを含む。これらは、図面では図示の目的のために別々に示しているが、処理ユニット６４の中に組み入れることも可能である。
【００２９】
このビューア・コンピューティングユニット６０は、別の形態で実現することもできることに注意すべきである。例えば、ビューア・コンピューティングユニット６０は、従来型のテレビに結合するセットトップボックスとして具体化することもできる。別の実現例では、処理用の素子を内蔵したテレビ又はその他の可視ディスプレイ・デバイスが含まれる。
【００３０】
コンテンツ・プロバイダ４２は、放送プログラムを生じさせる、又は、衛星フィードや別のケーブル・システムなどの別のソースから受信したプログラムを再放送するように構成している。更には、コンテンツ・プロバイダ４２は、要求している加入者に対してオンデマンド・モードで個別に再生することができるプログラム８０（長編映画、過去のテレビ番組、ゲーム、その他の娯楽ビデオなど）のデータベースを維持するように構成する。これらのプログラムは、電話リンク又はインターネット・リンク（後述する）などのバック・チャンネルを介して要求することができる。ケーブル・ベースのネットワークの場合には、ケーブルは、分配チャンネルとバック・チャンネルとの両方として機能して、対話性をサポートする。技術が継続的に改良されていくにつれて、受信機５０は、デジタル・データを衛星システムから受信することと衛星システムを介してデータを送信し返すこととの両方の能力を有する送受信機によって代替され得るであろう。
【００３１】
コンテンツ・プロバイダ４２は、プログラム・データベース８０に保持しているデジタル・ビデオ・データ・ストリームを分配する連続メディア・サーバ８２を含む。連続メディア・サーバとビデオ・プログラム・データベースとは、例えば、多くの大容量記憶ディスクから構成されるディスク・アレイ・データ記憶システムとして実現する。映画のビデオ・データ・ストリームは、所定の又はマップされた位置にある記憶ディスク上に、デジタル的に記憶する。ビデオ・データ・ストリームは、メモリ・マップに保持し、それぞれのビデオ・データ・ストリームには、特定のメモリ位置へのポインタを介してアクセスする。連続メディア・サーバは、多くの視聴者からのある１つのプログラム（同じプログラムであってもよい）への同時の要求にも応じることができる。
【００３２】
コンテンツ・プロバイダ４２はまた、プログラミング情報をビューア・コンピューティングユニット６０に与えるプログラム情報サーバ８４を有している。プログラム情報サーバ８４は、入手可能な番組又はプログラムに関係する情報を含むレコードを備えた構造化照会言語（Structured Query Language = SQL）データベース８６として実現する。
【００３３】
図４は、ＥＰＧデータベース８６の内部でプログラミング情報を編成するデータ構造８８の例を示している。このデータ構造は、プログラミング情報を保持する様々なデータ・フィールド９０を含む。データ・フィールドは、プログラムのタイトル、俳優の名前、そのプログラムがクローズド・キャプショニング（CC）又はステレオ・オーディオを有しているか、プログラムの予定時刻、ネットワークの名称、説明文などを含む。データ構造８８は、連続メディア・サーバ８２の記憶サブシステム内の位置へのポインタを保持しており、これらの位置は、プログラム・レコードに対応するプログラムの記憶位置を識別する。
【００３４】
データ構造８８はまた、プログラムに対する補完的なコンテンツを保持する１つ又は複数のターゲット・リソースへのターゲット・スペシフィケーション（target specification）（メモリ・ポインタ、ハイパーリンクなど）を含む。補完的なコンテンツは、コンテンツ・プロバイダ４２に記憶し、そしてそこから提供するか、又は、独立のサービス・プロバイダから提供する。補完的なコンテンツは、テキスト、ハイパーメディア、グラフィックス、ビデオ、ピクチャ、サウンド、実行可能なコード、又は放送プログラムを強化するその他のマルチメディアのタイプとすることができる。可能な補完的コンテンツの例には、プログラムに関係する対話的なクエリ又はゲーム、映画又はテレビ番組に関する追加の雑学的事項、広告、入手可能な商品又はその他の重要事項、同様のタイプのプログラム又は同じ男優／女優が出演しているプログラムへのウェブ・ページなどが含まれる。
【００３５】
再び図３を参照すると、コンテンツ・プロバイダ４２は、ＤＳＳにおいて通例であるように、異なったネットワーク又はチャンネルに対して、複数のプログラムを１つの連続的なデジタル・データ・フィードとして、放送する。ＥＰＧプログラミング情報は、ビデオ及びオーディオ・データと共に送信する。データは、圧縮しデジタル輸送パケットの中に配置して、衛星システム上で送信する。望むのであれば、特定のチャンネル又はプログラムに関するデータをスクランブルすることもできる。受信機５０は、データ・ストリームをスクランブル解除し解凍（圧縮解除）して、ビデオ、オーディオ及びプログラミングデータを、デジタル輸送パケットから再構成する。コンテンツ・セパレータ７４は、ビデオ及びオーディオ・データをプログラミング情報から分離する。このビデオ／オーディオ・データは、ビューア・コンピューティングユニット６０内のチューナに送り、これは、特定のチャンネルを選択してビデオをモニタ６２上に表示し対応するオーディオを再生する。視聴者は、プログラムの選択を、キーボード６６又はリモコン・ハンドセット６８を用いて制御する。プログラミング情報は、ＥＰＧデータベース７２に入力する。プログラミング情報をローカルなＥＰＧデータベース７２にキャッシュすることによって、何らかのプログラムをＥＰＧから探し出し選択するのに用いる対話的機能は、ローカルなものとして扱う。
【００３６】
娯楽システム６０はまた、デジタル・コンテンツを第２のネットワーク９４を介してビューア・コンピューティングユニット６０に分配する独立のサービス・プロバイダ（ＩＳＰ）９２を含む。第２のネットワーク９４の例は、インターネットなどの公共的なネットワークである。ＩＳＰ９２は、ＩＳＰホスト９６とコンテンツ・データベース９８とを有し、様々なマルチメディア・コンテンツをユーザに提供する。例えば、ＩＳＰホスト９６は、ビューア・コンピューティングユニット６０がアクセスすることができる１又は複数のターゲット・リソース（ウェブ・ページなど）を記憶している。
【００３７】
図３の構成によると、ビューア・コンピューティングユニット６０は、コンテンツ・プロバイダ４２から、伝統的な放送、オンデマンド・プログラム及びプログラミング情報を受信する。ビューア・コンピューティングユニット６０はまた、コンテンツ・プロバイダ４２から、又は独立サービス・プロバイダ９２から、補完的な対話的コンテンツを受信する。対話的制御を容易にするバック・チャンネルは、ネットワーク９４を介して提供する。ＩＳＰ９２によって提供されるオフサイトの補完的情報は、プログラム情報サーバ８４におけるプログラム・レコード・データ構造８８の中のプログラムと相関させる。図４に示すように、他のサーバが提供する補完的なコンテンツを伴うプログラムは、データ・フィールドの中の１つにリストしたターゲット・スペシフィケーションを有する。
【００３８】
図５には、ビューア・コンピューティングユニット６０の実現例を、より詳細に示している。これには、プロセッサ１０２（例えば、インテル社によるｘ８６又はPentium（登録商標）マイクロプロセッサなど）と、揮発性メモリ１０４と、プログラム・メモリ１０６とを有するマザーボード１００が含まれている。ビューア・コンピューティングユニット６０は、衛星パラボラアンテナ受信機（図３）などのデジタル放送受信機５０を含む。デジタル受信機５０は、衛星分配ネットワーク４４を介して、デジタル・データ放送を受信する。受信機５０は、衛星分配ネットワーク内の衛星トランスポンダの周波数に同調するチューナ１１０に結合する。チューナ１１０は、１つ又は２つの主要な構成要素を有する。すなわち、特別のデジタル放送チューナ及び／又は一般化されたデジタル放送チューナである。特別のデジタル放送チューナは、ＭＰＥＧによって符号化されたデジタル・ビデオ及びオーディオ・データなどの特定のフォーマットでのデジタル放送を受信するように構成している。一般化したデジタル放送チューナは、データ・ファイルの形式でのソフトウェア・プログラムやプログラミング情報を含む、多くの異なった形式のデジタル・データを受信するように構成している。
【００３９】
チューナ１１０は、３２ビットのＰＣＩ（Peripheral Component Interconnect）バスなどのマルチビット・バス１１２を介して、マザーボード１００に接続する。ＥＰＧデータベース７２は、ＰＣＩバス１１２に接続しているように示しているが、そうではなく、ハード・ディスク・ドライブ１４６の一部として実現することもできる。受信機５０において受信したプログラミングデータは、ＰＣＩバス１１２を介して、ＥＰＧデータベース７２に転送する。放送イネーブルされるＰＣへの安全なアクセスを容易にする暗号解読デバイス（図示せず）を、バス１１２に付属させてもよい。
【００４０】
ビューア・コンピューティングユニット６０は、ＰＣＩバス１１２に接続したビデオ・サブシステム１１４を有している。ビデオ及びオーディオ・データは、チューナ１１０から、ＰＣＩバス１１２を介して、ビデオ・サブシステム１１４に転送する。ビデオ・サブシステム１１４は、ＭＰＥＧ符号化された又はその他のビデオ・データ・フォーマットを復号する回路を含むが、そのような回路は、チューナ１１０又はマザーボード１００内に組み入れることも可能である。ビデオ・サブシステム１１４はまた、コンピュータ・モニタ１１６を駆動するビデオ・ディスプレイ・ドライバを含む。
【００４１】
ビデオ・サブシステム１１４は、モニタ１１６以外にも、多くの周辺装置をサポートする。例えば、ビデオ・サブシステム１１４は、ＤＶＢ（デジタル・ビデオ・ディスク）を再生するレーザ・ビデオ・プレーヤ１１８と、ビデオ・ゲームをするためのゲーム・マシン１２０と、プログラムを録画するＶＣＲ（ビデオ・カセット・レコーダ）１２２とに接続することができる。ビデオ・サブシステム１１４は、アナログ放送テレビ・システム１２４に接続し、ケーブル・テレビ又はＲＦ放送テレビ・システムからの従来型のテレビ信号を受信するように構成する。これにより、アナログ・テレビ・システムとの、後方（backwards）互換性が可能になる。
【００４２】
モニタ１１６は、好ましくは、標準的なテレビの場合とは異なり、パーソナル・コンピュータで一般的であるＶＧＡ又はＳＶＧＡモニタである。図示している実現例では、ビューア・コンピューティングユニット６０は、テレビ関連のデータをＮＴＳＣフォーマットに変換しない。このようにして、ビューア・コンピューティングユニット６０は、ＶＧＡモニタ上に表示するときに優れた質のテレビ・データを生じさせることができる。
【００４３】
ビューア・コンピューティングユニット６０はまた、マザーボード１００に結合したＩＳＡバスなどの第２のバス１３０を含む。オーディオ・ボード１３２が、ＩＳＡバス１３０に結合しており、従来型のスピーカなどの多数のオーディオ出力デバイスとのインターフェースとして機能する。希望であれば、増幅器をオーディオ・ボードとスピーカとの間に結合することができる。オーディオ・ボードは、ビデオ・サブシステム１１４にも結合して、復号したオーディオ信号を受信する。オーディオ・ボード１３２は、ステレオ・システム１３４に結合し、それによって、オーディオ・データを、強化形サウンドのためにステレオ・システムに出力し、そして記録することができる。
【００４４】
ＩＳＡバス１３０には、ＣＤ−ＲＯＭドライブ１３６を結合する。ＣＤ−ＲＯＭドライブ１３６によって生じるオーディオ出力は、オーディオ・ボード１３２に送る。
【００４５】
ビューア・コンピューティングユニット６０は、ＩＳＡバス１３０に結合した１４．４又は２８．８ｋｂｐｓのファックス／データ・モデムなどのモデム１３８を含む。モデム１３８は、従来型の電話回線に接続し、インターネットを含む公共ネットワークへのアクセスを提供する。モデム１３８は、データ及び補完的なコンテンツにアクセスし、それらを、独立のサービス・プロバイダから直接にダウンロードするのに用いることができる。更には、モデム１３８は、ＤＳＳネットワークを介してプログラムを提供しているコンテンツ・プロバイダとの間の双方向通信のために用いることもできる。プログラムに対する視聴者の要求は、モデム１３８を介しバック・チャンネルで送信することができる。
【００４６】
入力／出力（Ｉ／Ｏ）アダプタ１４０は、ＩＳＡバス１３０に結合し、デジタル・テープ・ドライバ１４２、フロッピ・ディスク・ドライブ１４４、及びハード・ディスク・ドライバ１４６を含む多数のＩ／Ｏデバイスとのインターフェースを行う。リモート受信機１４８もまた、Ｉ／Ｏアダプタ１４０に結合し、リモート・コードレス・キーボード６６とリモコン・ハンドセットから、ＩＲ又はＲＦフォーマットで、信号を受信する。また、これらキーボードとハンドセットとを、直接にコンピュータと配線で接続することもできる。Ｉ／Ｏアダプタ１４０は、更に、ＣＯＭ１ポート１５０、ＣＯＭ２ポート１５２、ＬＰＴ１ポート１５４を含む従来型のシリアル・ポートも提供する。ＩＲ送信機（図示せず）は、ＣＯＭ１ポート１５０に結合して、ステレオ装置、ＶＣＲなどの電子デバイスを制御する赤外線信号を発生させることができる。コンピュータ６０はまた、これらの構成要素に直接にフックすることも可能である。
【００４７】
ビューア・コンピューティングユニット６０は、複数のアプリケーションをサポートするオペレーティング・システム１６０をランさせる。オペレーティング・システム１６０は、メモリ１０６内にロードし、そしてプロセッサ１０２上で動く。オペレーティング・システム１６０は、好ましくは、マルチタスクのオペレーティング・システムであって、複数のアプリケーションを同時に実行することが可能である。オペレーティング・システム１６０は、グラフィカル・ユーザ・インターフェースによるウィンドウ環境を用いることにより、アプリケーション又はドキュメントを、’ウィンドウ’と呼ぶディスプレイ・スクリーンの特別に輪郭を描いた領域において提供する。好適なオペレーティング・システムとしては、マイクロソフト社によって販売されているWindows（登録商標）ブランドのオペレーティング・システムがあり、これには、Windows（登録商標）９５やWindows（登録商標）ＮＴ、更には、それらから派生するその他のWindows（登録商標）バージョンが含まれる。リモート・キーボード６６及びハンドセット６８は、Windows（登録商標）ブランドのオペレーティング・システムと共に用いるのに適当なカスタマイズしたキーを含ませることができる。しかし、ウィンドウ環境を提供するその他のオペレーティング・システムを用いることもでき、それには、アップル・コンピュータ社によるマッキントッシュ・オペレーティング・システムや、ＩＢＭ社によるＯＳ／２オペレーティング・システムなどがある。
【００４８】
チャンネル・ナビゲータ・アプリケーション１６２は、プログラム・メモリ１０６に記憶し、そしてプロセッサ１０２上で動作して、チューナ１１０が所望のチャンネルを選択してビデオ・コンテンツ・プログラムを受信するのを制御する。ＥＰＧアプリケーション１６４は、プログラム・メモリ１０６に記憶し、そしてプロセッサ１０２上で動作して、コンテンツ・プロバイダにおけるプログラム情報サーバからダウンロードされＥＰＧデータベース７２にキャッシュしているプログラミング情報を編成する。ＥＰＧ１６４は、ＥＰＧデータベース７２からのプログラミング情報を、視聴者に使用可能なフォーマットで視覚的に提供する表示可能なユーザ・インターフェース（ＵＩ）をサポートする。これに関しては、後で、図６を参照して説明する。ＥＰＧはまた、視聴者が見たいと思っているプログラムをインテリジェントに識別し収集するクエリを視聴者が定義することを可能にするように構成している。
【００４９】
ビューア・コンピューティングユニット６０は、ブラウザ１６６を有し、これは、メモリ１０６に保持し、そしてＩＳＰ又はその他のコンテンツ・プロバイダからのハイパーテキスト・ドキュメントなどのコンテンツをレンダー（render）する必要があるときにはプロセッサ１０２上に動的にロードする。ブラウザ１６６は、ハイパーリンク・ブラウザとして、又は特にインターネット・ウェブ・ブラウザとして実現することもできる。
【００５０】
これらオペレーティング・システムとアプリケーションとは、ハード・ディスク・ドライバ１４６又はその他の記録媒体（フロッピ・ディスク、ＣＤ−ＲＯＭなど）の上に記憶し、そしてプロセッサによる実行のためにプログラム・メモリにロードすることができることに注意すべきである。
【００５１】
また、放送イネーブルされたパーソナル・コンピュータ６０は、コンピュータにとって通常の典型的なデスクトップ・アプリケーションを実行することができる完全な機能を備えたコンピュータであることに注意すべきである。ビューア・コンピューティングユニット６０には、様々な異なったアプリケーションをロードして実行させることができる。例えば、視聴者は、ワード・プロセシング・アプリケーション、スプレッドシート・アプリケーション、データベース・アプリケーション、スケジューリング・アプリケーション、財務アプリケーション、教育アプリケーションなどを動作させることができる。視聴者は、これらアプリケーションをキーボード６６を用いて動作させる。
【００５２】
図６は、ディスプレイ１７２上に提供するＥＰＧのＵＩ１７０の例を示している。ＥＰＧのＵＩ１７０は、チャンネル・パネル１７４と、時刻パネル１７６と、プログラム・グリッド１７８と、プログラム概要パネル１８０とを含む。チャンネル・パネル１７４は、任意のある時刻に複数のチャンネル・タイル１８２を表示する垂直方向にスクロールするリストを提供する。それぞれのチャンネル・タイル１８２は、チャンネル番号とチャンネル名（典型的には、ＣＢＳ、ＡＢＣ、ＭＴＶなどのネットワーク名）とを含み、チャンネルのロゴを含む場合もある。チャンネル・パネル１７４は、プログラム・グリッド１７８におけるプログラム・タイトルの行を定める。時刻パネル１７６は、水平方向の連続的なスクロール時刻線であり、半時間での区切りを示すマーキングを伴っている。時刻パネル１７６は、プログラム・グリッド１７８における列を定めている。
【００５３】
プログラム・グリッド１７８は、チャンネル・ベースのｙ軸と時刻ベースのｘ軸とに編成した複数のプログラム・タイル１８４から構成する。グリッドは、チャンネル・パネル１７４の右で、時刻パネル１７６の下に位置している。それぞれのプログラム・タイル１８４は、プログラムのタイトルと、クローズド・キャプショニング、ステレオ放送などの任意の二次的なプログラムを説明する情報とを有する。図示したスクリーンには、１９９６年３月７日のパシフィック標準時間（ＰＳＴ）での午後８時から午後１０時までのプログラミング・ラインアップの例を示している。’Murder, She Wrote’とか’Friends’などのプログラム・タイトルが、そのネットワークＣＢＳ及びＮＢＣに対して水平方向に、そして、開始時間である午後８時ＰＳＴに対して垂直方向に配列されている。多くのこれ以外のグリッド又は非グリッド型のレイアウトを用いてプログラムの選択肢を視聴者に提供することができることに注意すべきである。更には、このレイアウトはチャンネル番号にしたがって編成して示しているが、この同じ情報を、チャンネル番号を与えずに、チャンネル情報を欠いたままで提供することもできる。
【００５４】
視聴者は、プログラム・グリッド１７８上にグラフィカルにオーバレイする１つのフォーカス・フレーム１８６を用いて、プログラムの選択を制御する。フォーカス・フレーム１８６は、チャンネル・ラインアップの中で上下左右に動かして、希望するプログラムを選択することができる。リモコンのハンドセット又はキーボード（又は、その他の操作機構）を用いて、ＥＰＧのＵＩ１７０の内で、フォーカス・フレーム１８６の位置を決めることができる。
【００５５】
プログラム概要パネル１８０は、テキスト記述ウィンドウ１８８とプレビュー・ウィンドウ１９０とを含む。テキスト記述ウィンドウ１８８は、プログラム・グリッド１７８においてフォーカス・フレーム１８６によってハイライトしているプログラムに関連したプログラム情報を表示する。ここでは、ＮＢＣのプログラムである’Seinfeld’をハイライトしており、テキスト記述ウィンドウ１８８は、プログラム・タイトルである’Seinfeld’と、今回の内容（エピソード）に関するプログラムの説明とを記載している。テキスト記述ウィンドウ１８８には、また、クローズド・キャプショニングとかステレオ放送などというその他のプログラム関連情報も含めることができる。プレビュー・ウィンドウ１９０は、’Seinfeld’の番組のプレビューなどの、選択されハイライトされた番組のクリップを表示するのに用いる。
【００５６】
様々なタイルやウィンドウを満たすデータは、ＥＰＧデータベース７２又はインターネット上のＵＲＬリソースから得る。データは、コンテンツ・プロバイダから衛星ネットワークを介してビューア・コンピューティングユニットにプログラム・レコードとして送信されそしてＥＰＧデータベース７２にキャッシュするデータ構造８８（図２）内に保持する。ＥＰＧアプリケーション１６４は、視聴者がフォーカス・フレーム１８６をグリッド内で操作することにより、適切なデータ・レコードをＥＰＧのＵＩ１７０に挿入して表示させる。
【００５７】
ＥＰＧのＵＩ１７０はまた、ハイパーリンク１９２を含み、これは、コンテンツ・プロバイダから受信し、そしてプログラム・ストリームの中に埋め込むか、あるいはプログラムに関連する任意のソースからのデータ・ストリームで提供するプログラム・レコードと共に与えられる。ハイパーリンクは、チャンネル・タイル１８２、プログラム・タイル１８４、又は記述ウィンドウ１８８内に挿入することができる。図６の図示例では、ハイパーリンクである’More（更に）’を記述ウィンドウ１８８内に提供しており、’Seinfeld’の番組のエピソードに関する更なる情報を含むターゲット・リソースを参照する。記述ウィンドウ１８８におけるこれ以外のハイパーリンクには、先週のエピソードに関する情報を含むターゲット・リソースを参照する’先週(Last Week)’と、コメディアンであるJerry Seinfeldがナイト・クラブで演じているビデオ・カバレージを有するターゲット・リソースを参照する’Comedy Club’とが含まれる。ハイパーリンクによって参照するターゲット・リソースは、コンテンツ・プロバイダ又は独立のサービス・プロバイダにおいて探し出すことができる。ターゲット・リソースは、本システムがプリキャッシュしていることにより、ローカルに探し出すこともできる。例えば、本システムは、予測される視聴傾向に基づき、又は、その番組を宣伝するプロモーション用のデータ放送の一部として、放映前に、ある番組に関する補完的な情報をプリキャッシュすることがあり得る。これにより、視聴者とプログラム・プロバイダとの間での完全なネットワーク対話機能に加えて、視聴者とビューア・コンピュータ・ユニットとの間でのローカルな対話機能が可能になる。
【００５８】
ＥＰＧのＵＩ１７０は、ある種のタスクのために用意した特別のオペレータ・ボタン１９４−２００を有している。’全画面で見る（View Full Screen）’ボタン１９４は、視聴者がそのプログラムをスクリーン全体で見ることを可能にする。’録画（Record）’ボタン１９６は、ユーザが、現在行われている番組を録画する手順を開始するか、あるいはこれから行われるプログラムの録画の予約手順を開始することを可能にする。予約のためには、視聴者は、単に、録画アイコンをドラッグし、これから放映されるプログラムのプログラム・タイトル１８４の上にドロップする。例えば、録画アイコンを、’Caroline in the City’のプログラム・タイトルの上にドロップすればよい。
【００５９】
’リマインド（Remind）’ボタン１９８は、視聴者に予約された番組を告知するリマインダをセットするのに用いる。視聴者は、例えば、その日に後で放映されるプログラムについてリマインドして欲しいと思う場合には、リマインダ・アイコンを、適切なプログラム・ファイル１８４までドラッグすることになる。要求したプログラムの開始時刻が近づくと、ＥＰＧは、ポップアップ・アイコンなどによって、そのプログラムがもうすぐ始まることを視聴者に教える。’お気に入りに追加（Add to Favorite）’ボタン２００は、視聴者が、あるプログラムを、気に入っている番組の予め定めたリストに加えることを可能にするために提供している。
【００６０】
上述したドラッグ・アンド・ドロップ機能は、好ましくは、オブジェクト・リンキング・アンド・エンベッディング（object linking and embedding = OLE）を用いて実現する。これは、’アクティブＸ’として知られている技術の下にマイクロソフト社から市販されている。ＯＬＥは、言語と位置との両方と独立であるコンポーネント・オブジェクト・モデル（ＣＯＭ）上に構築した包括的（extensive）なサービス・アーキテクチャである。ＯＬＥは、Windows（登録商標）９５などのWindows（登録商標）互換のオペレーティング・システムにおいて広く用いられているＯＬＥドラッグ及びドロップをサポートしている。ＯＬＥ及びＣＯＭに関しては、これまでに十分に文書化されているので、ここでは詳細に説明はしない。ＯＬＥ及びＣＯＭに関する更なる情報については、米国ワシントン州レドモンドのマイクロソフト・プレスによって出版されている’ＯＬＥ２プログラマーズ・ガイド’及び’インサイドＯＬＥ２、第２版’を参照されたい。これらは、この言及により本願に含めるものとする。
【００６１】
ＥＰＧのＵＩ１７０はまた、予め定めたクエリボタン２０２−２１０を与える。これらのクエリボタンを作動すると、ＥＰＧデータベース７２のクエリをトリガして、予め定めたクエリパラメータを満足するプログラムを識別する。ＥＰＧ１０６は、視聴者が自分自身のクエリを作成し、またＥＰＧのＵＩ１７０上に使用頻度の高いクエリからの迅速な検索のためのソフト・ボタンを作ることを可能にする。例えば、ＥＰＧのＵＩ１７０は、お気に入りのプログラム、スタートレック・プログラム、コメディ、オプラ・ショー（Oprah Show）、古い映画に対するクエリを示している。’お気に入り’のクエリボタン２０２は、視聴者が’お気に入りに追加’のボタン２００を用いてお気に入りとして識別した、又は、ＥＰＧによって自動的にお気に入りと定めたプログラムのリストを呼び出す。’スタートレック’のクエリボタン２０４と’オプラ’のクエリボタン２０８とは、特定の時間フレーム内で放映されている全てのスタートレックとオプラ番組に対するＥＰＧデータベース７２のクエリを開始させる。チャンネルの数が増大し、プログラムが劇的に増えるにしたがって、複数の異なったチャンネルが、スタートレック又はオプラを、同時に又は異なった時刻に放映している可能性がある。’コメディ’のクエリボタン２０６は、全てのコメディ・プログラムに対するＥＰＧデータベース７２のクエリを開始させる。’古い映画’のクエリボタン２１０は、放映されている全ての古い映画を探し出す。
【００６２】
予め定めたクエリボタンのいくつかは、’コメディ’や’古い映画’などの予め設定したカテゴリであり、他方で、’スタートレック’や’オプラ’のボタンのように視聴者が定めるその他のクエリボタンもある。予め設定したカテゴリのボタンは、それによって視聴者が利用可能なカテゴリのリストにカテゴリを新たに加えたりそこから削除したりすることを可能にする別個のウィンドウを介して、ＥＰＧのＵＩに対して、追加及び削除ができる。
【００６３】
本発明の１形態では、ＥＰＧ１６４は、視聴者の視聴好み（viewing preference）に基づいてその視聴者が見るであろうプログラムを識別するクエリを自動的に生じさせるように構成している。ＥＰＧアプリケーションは、視聴者の好みを多くの方法で収集する。１つの方法としては、それぞれのチャンネルが視聴のために選択された時間の長さを、その視聴者がそのチャンネルを見ているという仮定の下に、記録することである。それぞれのチャンネルには、全体の視聴周期の中のそれ自身のパーセンテージが、視聴者の好みを示すものとして割り当てる。ＥＰＧは、このパーセンテージに基づいてチャンネルを識別するクエリを発生し、それによって、この視聴者が最も頻繁に見る傾向のあるチャンネルがリストの最上位に現れ、最も見る機会の少ないチャンネルがリストの最下位に現れるようにする。ＥＰＧは、このリストを、ＥＰＧのＵＩの中で、スクロール可能なリストとして提供するが、その際に、よく見るチャンネルはリストの上の方に配置する。最も頻度の低いものは全く見えないように配置するが、視聴者がそのようなチャンネルまでスクロールしたければ見ることができるようにする。この同じ方法を個別のプログラムやネットワークに適用することもできることに注意すべきであるが、その場合には、（チャンネルではなく）それぞれのプログラム又はネットワークを記録し、リストでは、頻繁に見るプログラムが上の方に、最も頻度の低いプログラムが下の方に配置される。
【００６４】
別の方法としては、それぞれの視聴者の視聴者プロフィールを作成するものがある。視聴者に対し、視聴者の好きなもの嫌いなものの発見に向けた一連の質問を発する。この質問・回答のセッションは、質問を与えて視聴者が’非常に好む’、’好む’、’嫌う’、’非常に嫌う’などの回答の中から選択できるように構成した別個のグラフィカルＵＩを用いて行う。離散的な回答とは異なり、この質問・回答のスクリーンでは、視聴者が’非常に好む’から’非常に嫌う’までの対向する好みの尺度の中のどこかの位置を選択できるようにするスライダを含めるようにできる。ＥＰＧは、視聴者のプロフィールをコンパイルし、そのプロファイルを周囲の多くの（clustering）データと相関させ、可能なプログラムのためのクエリを発生する。周囲の多くのデータとは、他の視聴者の好みに関する集積を意味する。視聴者プロフィールを同様のプロフィールと一致させることによって、ＥＰＧは、その視聴者が何を最も見ようと思う可能性が高いかをよりよく判定することができる。
【００６５】
ＥＰＧ１６４は、可能性のあるお気に入りのリストを一旦自動的にコンパイルすると、そのリストをＵＩスクリーンに提供する。このスクリーンは、例えば、ＥＰＧのＵＩ１７０における’お気に入り’ボタン２０２を作動することによって呼び出すことができる。このリストは、人気の低いチャンネルをアクティブに取り除いた、利用可能なプログラムに関する縮小しかつ閉じたループとして提供する。視聴者は、この閉じたリストを、プログラムの中をシーケンシャルに循環することによって、サーフィンをすることができる。
【００６６】
ＥＰＧのＵＩ１７０はまた、視聴者が自分自身のクエリを作成するのに用いる’ファインド（Find）’ボタン２１２を提供している。’ファインド’ボタン２１２を作動すると、視聴者がクエリを作成するのを助ける別のＵＩウィンドウを開く。図７には、ファインド・ウィンドウ２２０の例を示している。ファインド・ウィンドウ２２０は、視聴者がサーチをするための様々なサーチ・パラメータを有する。この例では、視聴者は、プログラムのジャンルをジャンル・ボックス２２２から、プログラムのサブジャンルをサブジャンル・ボックス２２４から、レーティング（rating）をレーティングボックス２２６から、ネットワーク名をネットワーク・ボックス２２８から、プログラム名をプログラム・ボックス２３０から、選択することができる。これらのパラメータに基づき、ＥＰＧは、クエリを作成し、ＥＰＧデータベース７２をサーチして、そのクエリを満足するプログラムを探し出す。ファインド・ウィンドウは、２つの相互に排他的なタイプのクエリの作成をサポートする。すなわち、サーチ・パラメータを満足する全てのプログラムを探し出す’見つける（Find）’のクエリと、パラメータを満足しない全てのプログラムを探し出す’逆を全て見つける（find all except）’のクエリと、である。この例では、ＥＰＧは、ＰＧのレーティング付きのアクション映画というパラメータを満足する３つのプログラムを探し出した’見つける’のクエリを作成している。
【００６７】
更に進んだクエリを作成するには、視聴者は、アドバンスト（Advanced）クエリボタン２３２を選択することができる。図８には、アドバンスト・ファインド（Advanced Find）ウィンドウ２４０の例を示している。これを用いると、視聴者は、特定化したクエリを作成し、そのクエリをタブ・フォルダ（tabbed folder）構成に編成することができる。この例では、視聴者は、’Ｇレーティング’プログラム、’アクション’プログラム、’非ＳＦ’プログラムに関する３つのアドバンストクエリを定めている。アドバンスト・ファインド・ウィンドウ２４０は、ジャンル、サブジャンル、レーティング、ネットワーク名、チャンネル、プログラム名、時間帯などのパラメータを含む。新たなパラメータがＥＰＧデータベースに追加されると、アドバンスト・ファインド・ウィンドウ２４０における新たなコントロールも同様に追加する。これによると、視聴者はキーワードを定めることもできる。この例では、視聴者は、午後５時から午後８時の間にＨＢＯで放映されるジェームズ・ボンドのアクション映画を全て見つけたいと思っている。したがって、視聴者は、キーワードに’ボンド’と入力して、クエリを実行する。視聴者が、ショーン・コネリーが出演している特定のボンド映画を見つけたいと思っている場合には、’ボンドＡＮＤコネリー’というブール代数的なサーチを、アドバンスト・ファインド・ウィンドウのキーワード・コントロールに入力すればよい。
【００６８】
アドバンスト・ファインド・ウィンドウ２４０はまた、適切な許可レベルを有さない視聴者に対してはプログラムの選択を制約又は制限する、制限的なクエリを作成するのに用いることもできる。例えば、親が自分たちの子供に許可レベルを設定し、子供がビューア・コンピューティングユニットにログオンするときには、ある種のプログラミング・コンテンツを見たりある種のサービスを注文したりできないようにすることができる。例えば、親は、子供がＲ又はＮＣレーティングの映画を見られないようにすることを希望するだろう。制限的なクエリを作成するには、親は、’ドント・ファインド（Don't Find）’のオプションをクリックし、クエリを包括的なクエリから排除的なクエリに変換する。
【００６９】
’タブ追加（Add Tab）’ボタン２４２と’タブ削除（Remove Tab）’ボタン２４４とを用いると、視聴者は、クエリを管理することができる。視聴者はまた、’セーブ（Save）’ボタン２４６をクリックすることによって、クエリをセーブできる。好ましくは、クエリは、ＥＰＧデータベースの階層的なクエリ構造内にセーブする。これにより、視聴者は、クエリのディレクトリやサブディレクトリを定めることができる。クエリを階層構造に編成することは効果的であるが、その理由は、階層構造はビューア・コンピューティングユニットのコンピュータ・サイドに一致し、コンピュータ上で動いているメモリ管理アプリケーションやツールにそれ自体を役立てることができるからである。セーブされたクエリの数が増大したら、クエリディレクトリは、パーソナル・コンピュータにおいて一般的であるように、他のデータ・ファイル・ディレクトリと同じようにサーチし、特定のクエリを探し出すことができる。また、クエリ構造を、ディレクトリ、サブディレクトリ、クエリという階層を示した編成チャートとして、ＵＩにおいて視聴者に提供することもできる。個々のクエリは、アイコンとしてセーブすることができる。クエリを呼び出すには、ユーザは、そのアイコンを作動する。
【００７０】
ＥＰＧはまた、クエリエディタをサポートし、視聴者がキーワードの記述に基づく本質的に任意のタイプのクエリを作成し、またそのクエリを編集するのを可能にするように構成することができる。ＥＰＧと共に用いることができる適切なタイプのエディタの１つとしては、マイクロソフト社によるシネマニア（Cinemania）９５と呼ぶプログラムで用いているクエリエディタがある。これを用いれば、コンピュータ・ユーザは、ＣＤ−ＲＯＭ上に記憶された映画情報を探し出すためのクエリを作成することができる。
【００７１】
視聴者がクエリを定義するのを助ける（’ファインド’ＵＩ又はクエリエディタのどちらかによって）ために、ＥＰＧは、クエリ作成を通じてステップバイステップの指示を用いて視聴者をガイドするウィザードを提供することができる。単純なクエリを発生するウィザードの一例として、選択されたプログラムは、その名前に対して、又は、そのチャンネルに対して選ばれたのかを視聴者に尋ねるものがある。視聴者は、ある名前を有する全てのプログラムを常に示されるか、そうでなければ、別の名前を有するプログラムが決して表示されないことを要求できる。
【００７２】
クエリが一旦定義されると、視聴者は、そのクエリを実行させて、ＥＰＧデータベース７２におけるプログラミング情報のサーチを開始することができる。クエリは、プログラミング情報をふるいにかけ、パラメータを満足するアイテムだけを戻すか、あるいは、制限的なクエリの場合には、パラメータを満足するアイテムを排除する、フィルタとして機能する。
【００７３】
図９は、クエリが規準を満足しないプログラムをどのようにしてフィルタリングにより排除するように動作するかに関する図である。ボックス２５０は、ＥＰＧデータベース７２において見いだされたプログラムの表示を含んでいる。視聴者が、サイエンス・フィクション（ＳＦ）プログラムを探し出すために、図８に示したアドバンスト・ファインド・ウィンドウ２４０を用いて、ＳＦのクエリを定義したと仮定する。ＥＰＧアプリケーション１６４は、ＳＦクエリ２５２を実行して、プログラム・データベースから、ボックス２５４に提示したＳＦプログラムに関する短いリストを選び出す。ＳＦプログラムに関するこの短いリストは、ＵＩにおいて、視聴者が特定のプログラムを選択するために循環することができる閉ループのリストとして与える。
【００７４】
図１０は、クエリの下で禁止されているプログラムをフィルタリングして除去するように機能する制限的なクエリを示している。この例では、ＥＰＧは、制限的なクエリフィルタ２５６をＥＰＧデータベースにおけるプログラムの集合２５０に適用して、ＰＧ又はＲレーティング（指定）されたプログラムを排除する。ボックス２５８に与えている短いリストには、ＰＧ又はＲレーティングのプログラムは含まれていない。
【００７５】
図１１及び図１２は、本発明の別の形態を図示しており、これでは、ＥＰＧは、複数のクエリを融合させて１つのクエリに統一するように構成している。例えば、家族の中の複数のメンバーが一緒にあるプログラムを見たいと思っているが、どのプログラムにするかは決めていないと仮定する。典型的には、家族のそれぞれのメンバーがプログラムのリストを個別に走査したりチャンネルをサーフしたりして、彼らが最も見たいと思っている１つか２つのプログラムを見つけだすことになる。各人が自分の独立のサーチを終えた後で、どのプログラムを見るかを話し合う。ＥＰＧ１６４は、複数の単純なクエリを融合させて複雑な複合的なクエリを作成することによって、この問題を解消する。
【００７６】
図１１には、個々の視聴者に対するクエリを保持するフォルダ組織を有するＵＩウィンドウ２６０の例を示している。この例では、父親（Dad）、母親（Mom）、ジョン（John）、スー（Sue）の４人家族のそれぞれが、個人用のクエリをリストした自分自身のタブとフォルダとを有している。すなわち、家族のそれぞれのメンバーは、１又は複数のクエリを既に定義し、そのクエリを自分の個人的なフォルダに記憶してある。母親のフォルダには、ミュージカル・プログラム、フランスに関するプログラム、ザインフェルト（Seinfeld）のプログラムに対するクエリが保持されている。
【００７７】
【表１】
2006136015.tif 000003
【００７８】
家族が座ってプログラムを一緒に見るときには、一人の視聴者が、例えばＯＲ関数を用いて、これらの独立のクエリを効果的に組み合わせる融合クエリを実行させることができる。ブール代数のＯＲ関数は、パラメータの中のどれか１つが満足する場合に、正しい結果を与えてくれる。図１２では、プログラムの集合２６２を、父親のクエリフィルタ２６４、母親のクエリフィルタ２６６、ジョンのクエリフィルタ２６８、スーのクエリフィルタ２７０を用いて、フィルタリングする。これらのクエリの中の少なくとも１つを満足するプログラムを、プログラム・プール２７２の中に置き、そこから、家族のメンバーは、１つのプログラムを選ぶことができる。家族のフィルタは、これとは別に、積集合の方法、すなわち、ブール代数のＡＮＤ関数を用いて組合せを行うようにも設定できる。この関数は、家族のそれぞれのメンバーのクエリパラメータの組が満足される場合にだけ、プログラムを与えるものである。
【００７９】
１つのクエリ（例えば、父親のクエリフィルタ２６４によって選択されたＵＳオープン・ゴルフ）を満足しているという理由でリストに入っているプログラムがいくつかあることに注意すべきである。複数のクエリを満足しているプログラムもある。例えば、’ザインフェルト’は、母親のザインフェルトのクエリと父親のコメディクエリとを満足する。アニメ映画の’アリストカッツ（Aristocats）’は、母親のフランスのクエリと、スーのまんがのクエリとを満足している。
【００８０】
図１３は、ＥＰＧアプリケーションが用いるプログラミングデータに対するデータ・フローと、クエリフィルタがデータを削減するのにどのように動作するかを図示している。視聴者が、時計２８０によって示されているように、午後１時にビューア・コンピューティングユニット６０を見ていると仮定する。放送デジタル・ビデオ及びオーディオ・データが、デジタル・プログラミングデータと共に、衛星システムから衛星受信機５０において受信される。プログラミングデータは、ローカルなＥＰＧデータベース７２にキャッシュする。この図では、ＥＰＧデータベースは、開始時刻が午後１時から午後８時までに亘る１２のプログラムを有するように示している。これは、利用可能なプログラムの中のごく一部分を表している。というのは、ＥＰＧデータベース７２は、数百数千のチャンネルで利用可能な数千のプログラムを記憶することができるからである。
【００８１】
視聴者は、動作しているＥＰＧのＵＩ１７０からＳＦプログラムを全て取り除く制限的なクエリ２８２を定義している。この場合には、’スタートレック’、’エイリアン’、’スターウォーズ’のプログラムは、ＥＰＧのＵＩ１７０から取り除かれる。ここで、視聴者がＥＰＧのＵＩ１７０におけるマーケット・ラップ（Market Wrap）プログラムのタイルを強調しクリックすることによってプログラムを選択すると仮定する。ビューア・コンピューティングユニットのチューナは、その選択したプログラムを放映するチャンネルへの同調を行い、そして、マーケット・ラップのためのデジタル・ビデオ・データをＶＧＡモニタに送る。
【００８２】
本発明の別の形態によれば、視聴者は、バックグラウンドで継続的に実行し続けるクエリを定義することができる。視聴者は、例えば、中国の万里の長城に関する任意のプログラムやクリント・イーストウッドが出演している任意のプログラムなど、興味のあるトピックを識別するクエリを定義する。このクエリは、周期的に実行して、そのトピックに関係するプログラムがあるかどうか判定する。クエリがそのトピックに関連するプログラムを識別すると、ＥＰＧは、自動的に視聴者に告知する。
【００８３】
図１３は、バックグラウンドで実行される２つのクエリを示している。第１のクエリ２８４は、’ザインフェルト’プログラムを全て識別して視聴者に告知し、第２のクエリ２８６は、クリント・イーストウッドの映画を全て識別して視聴者に告知する。視聴者が午後２時に対する予告スケジュールを見ると、ＥＰＧのＵＩ２８８は、ＥＰＧのＵＩ１７０のフィルタリングがなされたものからのプログラムを全て示し、これは午後２時の時点のもの、例えば、ＵＳオープン・ゴルフやザインフェルトである。ＥＰＧのＵＩ２８８はまた、バックグラウンドのクエリによって識別された任意のプログラムを、ＥＰＧデータベース７２をサーチした結果として、示している。ここでは、バックグラウンドのクエリ２８４及び２８６は、午後２時に放映するザインフェルトと、午後６時のクリント・イーストウッド出演の映画’ペール・ライダ（Pale Rider）’とを識別している。２時にはコンフリクトがあるので、視聴者は、ザインフェルト・プログラムとＵＳオープン・ゴルフとから選ぶことができる。
【００８４】
映画’ペール・ライダ’は午後６時まで放映されないので、視聴者は、スクリーン上に告知アイコンを配置して、そのプログラムについてリマインドしてもらうようにできる。視聴者は、プログラムの上でクリックし、ＥＰＧのＵＩ２８８からそれをドラッグして、スクリーン上の別の位置にドロップする。このドラッグ・アンド・ドロップ動作の結果として、アイコンが作動されると直ちに、視覚的表示ユニットをそのプログラムに同調させる。ＥＰＧは、プログラムの開始時間が近づくと、アイコンをフラッシュさせたり、あるいは、他の何かの視覚的な変化を生じさせたりすることができる。
【００８５】
ＥＰＧは、視聴者の介入なしに、自動的にこれらのリマインダを作成することができる。ＥＰＧは、バックグラウンドでのクエリ２８６に応答してペール・ライダなどのプログラムを識別したときには、視聴者のためにスクリーン上にアイコン２９０を自動的に設定するように構成することができる。視聴者はまた、ＥＰＧに対してオプションを設定し、視聴者が予定されている視聴時間に先立って間に合うようにアイコンを作動しない場合には、プログラムの録画を開始させるようにすることができる。このようにして、視聴者がプログラムを予定の時刻に見ることができない場合には、ＥＰＧは、それ以降のプログラムに関するデータベースにインテリジェントにクエリを発し、視聴者のサーチ・パラメータを満足する任意のプログラムを識別して視聴者に告知し、視聴者がそれを見ることができない場合には、プログラムを録画する。これ以外にも、クエリに基づいて設定することができるトリガ可能なイベントがある。例えば、識別したプログラムに関する情報を自動的にダウンロードする、ウェブから特定のコンテンツを呼び出す、識別したプログラムに関連する商品を購入する購入アプリケーションを起動させるなどである。
【００８６】
本例は、個人的なバックグラウンド・フィルタとアクティブな一般フィルタとを含む複数のフィルタの同時使用を示している。ＥＰＧは、ログオンした視聴者に対する任意の制限的なクエリを実行し、次に任意の一般的なクエリを実行し、更にはＥＰＧデータベースで見つかったプログラムをフィルタリングして好ましいプログラムの取り扱い可能な集合を得る任意のバックグラウンドのクエリを実行するというように、任意の数のクエリを実行するように構成することができる。
【００８７】
本発明の別の形態として、ＥＰＧデータベースやインターネット上の１又は複数のウェブ・サイトからの情報をフィルタリングするクエリを提供することである。そのクエリの結果は、１つのＵＩにおいてユーザに提示できる。ウェブ・サイト又はインターネット上のその他の情報に対するクエリは、インターネットとのオンラインでの通信の間に容易にフィルタリングを行うアクティブなクエリとしたり、インターネット・データで満たされているローカルなキャッシュの中の情報をフィルタリングするクエリとしたりできる。
【００８８】
図１４は、図１３の構成と類似しているが、ＥＰＧデータベースとインターネットのウェブ・サイトとの両方の上で動作するクエリの効果を示している。図１４には、２つのクエリ、すなわち、ＥＰＧデータベース７２の中のデータをフィルタリングしてサイエンス・フィクションのプログラムを全て取り除くＥＰＧデータベースクエリ２８２と、ウェブ・キャッシュ２９４をフィルタリングしてニュース・プログラムだけを探し出すウェブ・キャッシュクエリ２９２とを示している。ウェブ・キャッシュ２９４は、インターネット上の１又は複数のウェブから最近検索した内容を含んでいる。
【００８９】
この２つのクエリの結果は、ＵＩ２９６上に一緒に表示して、視聴者に対し、オプションのリストを提示する。視聴者は、主要な配給ネットワーク上でコンテンツ・プロバイダによって与えられるプログラムや、インターネット上でインターネット・プロバイダによって与えられるコンテンツを、オプショナルに選択することができる。統合型のＵＩ２９６を用いることによって、視聴者は、そのコンテンツのソースについては知らずにいることがある。
【００９０】
図１５は、クエリを作成する別の方法である、ＥＰＧアプリケーション１６４がサポートするクイック・ファインド（Quick Find）ウィンドウ３００を示している。この方法によれば、視聴者は、リモコン・ハンドセット上の数字キーパッドからデータを入力することが可能になる。数字キーパッドは、従来型の０から９のディジット（digit）キーパッドである。数字の付けたキー２から９には、在来の電話と同様に、関連の文字が付してある。ただし、数字の’７’には文字Ｑが、数字の’９’には文字Ｚが含まれている。次に掲げる表２に、数字キーと文字との対応を示す。
【００９１】
【表２】
2006136015.tif 000004
【００９２】
視聴者がある特定のプログラム又はネットワークを見たいと思っているが、それがどのチャンネルでやっているのかを覚えていない場合について考えてみる。数百数千ものチャンネルが存在することが予想され、したがって特定のプログラム又はネットワークをそれぞれのチャンネル番号を記憶によって探し出そうとするのは無駄に終わりがちであることを思い出して欲しい。チャンネル番号とネットワーク及びプログラムとの対応を切断するために、ＥＰＧは、視聴者が、テンキー・キーパッドからチャンネル番号とプログラム又はネットワーク名における文字とのどちらでも入力することを可能にしている。ＥＰＧは、マッピングを実行して、入力されたデータと一致する任意のプログラム、チャンネル、又はネットワークを識別する。
【００９３】
クイック・ファインド・ウィンドウ３００は、リモコン・ハンドセット上のキーの１つを押すことによって作動する。クイック・ファインドがアクティブになると、視聴者は、リモコン・ハンドセット上の個々のキーを押し、データを、一度に一つずつ入力する。しかし、それぞれのキーが押されても、ＥＰＧは、視聴者が数字と文字とのどちらを入力しようとしているのか判らない。したがって、それぞれのキーに対し、ＥＰＧは、番号とその数字キーに関連する文字の１つとのどちらかをおそらくは表しているものとして、そのデータを解釈するクエリを構成する。ＥＰＧは、次に、そのクエリを実行し、クエリを満足する任意のＥＰＧデータ・アイテム（すなわち、チャンネル、プログラム、ネットワークなど）を識別する。視聴者がディジットを入力し続けるにつれて、ＥＰＧは、クエリを構成して実行し、ほんの少数のＥＰＧデータ・アイテムだけがそれらの入力を満足するという段階まで、リストを連続的に狭めていく。
【００９４】
図１５に示している例に関し、視聴者が、オーランド・マジック（Orlando Magic）のバスケットボールの試合を見ることに興味を持っていると仮定する。視聴者は、クイック・ファインド・ウィンドウ３００を作動して、’Magic’という語を入力し始める。視聴者は、最初に、Ｍ、Ｎ、Ｏの文字に対応する’６’のキーを押すことによって、MagicのＭの文字を入力する。ＥＰＧは、’６’、’Ｍ’、’Ｎ’、又は’Ｏ’のディジットで始まるＥＰＧのアイテム全てに対するクエリを構成する。ブール代数の用語では、このクエリは、次のように表す。
【００９５】
クエリ１＝６＊orＭ＊orＮ＊orＯ＊
記号＊は、示されている数字又は文字に続き得る任意の１又は複数のディジットを意味する。クエリは、次の例を含むアイテムの長いリストを返してくる。
【００９６】
クエリ１：６＊orＭ＊orＮ＊orＯ＊
MTV
Chicago Bulls at Orlando Magic
Seattle Mariners v. Boston Red Sox
Market Wrap
Magical World of Science
Magic Kingdom at Disney World
Orlando Magic v. Chicago Bulls
Nashville Live
NBC
Nick-at-Night
Outer Limits
Oprah
Channel 6
Channel 61
・
・
【００９７】
次に、視聴者は、文字Ａ、Ｂ、Ｃに対応する’２’のキーを押して、Magicの中の文字ａを入力する。ＥＰＧは、次のディジットが’２’、’Ａ’、’Ｂ’、又は’Ｃ’で始まる第１のリストの中の全てのＥＰＧアイテムを求めるクエリを構成する。ブール代数の用語では、このクエリは、次のように表される。
【００９８】
クエリ２＝６２＊orＭＡ＊orＭＢ＊orＭＣ＊orＮＡ＊orＮＢ＊orＮＣ＊orＯＡ＊orＯＢ＊orＯＣ＊
クエリは、次の例を含むやや短くなったリストを返してくる。
【００９９】
クエリ２
Chicago Bulls at Orlando Magic
Seattle Mariners v. Boston Red Sox
Market Wrap
Magical World of Science
Magic Kingdom at Disney World
Orlando Magic v. Chicago Bulls
Nashville Live
NBC
Channel 62
Channel 621
・
・
【０１００】
次に、視聴者は、文字Ｇ、Ｈ、Ｉに対応する’４’のキーを押して、Magicの中の文字’ｇ’を入力する。ＥＰＧは、その次のディジットが’４’、’Ｇ’、’Ｈ’、又は’Ｉ’で始まる第１のリストの中の全てのＥＰＧアイテムを求めるクエリを構成する。ブール代数の用語では、このクエリは、次のように表される。
【０１０１】
クエリ３＝６２４＊orＭＡＧ＊orＭＡＨ＊orＭＡＩ＊orＭＢＧ＊orＭＢＨ＊・・・orＯＣＧ＊orＯＣＨ＊orＯＣＩ＊
クエリは、次の更に短いリストを返してくる。
【０１０２】
クエリ３
Chicago Bulls at Orlando Magic
Magical World of Science
Magic Kingdom at Disney World
Orlando Magic v. Chicago Bulls
Channel 624
【０１０３】
第３番目のディジットである文字’ｇ’を入力することによって、可能性のあるプログラム、ネットワーク及びネットワークのリストは、視聴者に提供し得る短いリストにまで劇的に短縮された。視聴者が更にMagicの文字’ｉ’及び’ｃ’を入力すれば、このリストは、図１５のクイック・ファインド・ウィンドウ３００に示されている４つのアイテムにまで削減される。そこで、視聴者は、適切なプログラムのタイトルの上でクリックすることによって、リストからプログラムを１つ選択できる。それに応答して、ビューア・コンピューティングユニットは、選択したプログラムを放映しているチャンネルへの同調を行う。
【０１０４】
それぞれの数字又は文字でサーチを行う別の方法として、プログラム及びネットワークの名称を、ＥＰＧデータベースの中のデータ・レコードの一部として記憶させることができる関連の識別番号に予めマッピングしておくものがある。例えば、ネットワーク名ＭＴＶは、関連識別番号’６８８’を有するが、ここでは、文字’Ｍ’は数字’６’に対応し、文字’Ｔ’は数字’８’に対応し、文字’Ｖ’は数字’８’に対応する。この予めマッピングした識別番号によって、ＥＰＧは、それぞれの数字データに関するサーチを単純に行うことができ、クエリを満足する識別番号を有する全てのチャンネル番号と全てのプログラムとを返してくる。
【０１０５】
クイック・ファインド機能は、視聴者にとって非常に役に立つ。視聴者は、プログラム又はネットワークの名称を入力するのにリモート・キーボードを用いて必要がない（ただし、キーボードを用いてもかまわない）。その代わりに、視聴者は、リモコン・ハンドセット上のテンキー・キーパッドを用いてデータを入力し、そしてＥＰＧが、データのあらゆる可能性のある意味を同時に考慮する。これは面倒なように思えるかもしれないが、ほんの数ディジット（例えば、３から６）の入力は、たいていの場合、可能性のあるチャンネル番号、プログラム、ネットワーク名の集合を、視聴者に対して便利に表示することができるほんの数個まで縮小させるのに十分である。
【０１０６】
上記では、クイック・ファインド機能は、それぞれのディジットが入力された後で、クエリの新たな組を実行するものとして説明した。しかし、そうではなく、クエリを実行する前に、先に、複数のディジットを入力するように、ＥＰＧを構成することもできる。例えば、入力された複数のディジットのシーケンスと、そのシーケンスの中での可能性のある文字の組合せの様々な順列とを記録し、その後に、これらの可能性に関するクエリを実行することもできる。
【０１０７】
上述の例では、視聴者は、リモコン・ハンドセット上のキーパッドを用いてデータを入力するとして説明している。別の実施例では、ＥＰＧは、データを入力するのに視聴者がハンドセット又は何らかの別の遠隔デバイスを用いて選択することのできるソフト・ボタン（すなわち、モニタ上のグラフィカルＵＩの一部として示すボタン）から成るキーパッドを提示するように構成することもできる。更に、視聴者は、リモート・キーボードを用いてチャンネル番号、プログラム名、ネットワーク名を入力することもできる。
【０１０８】
’プログラム’という言葉は、伝統的なテレビ番組や映画などを表すものとして用いている。しかし、’プログラム’の語は、このような形式のプログラミングだけに限定されない。’プログラム’という言葉には、ネットワーク上を運ぶことができる、又は、ローカルに記憶できるあらゆるタイプの情報又はデータを含む広い意味が与えられるべきである。例えば、’プログラム’には、ＴＶライクな番組、映画、ゲーム、インタラクティブな補完的データ、金融における記録又はプログラム、教育資料、通信記録、ソフトウェア、ドキュメント・ファイルなどが含まれる。
【０１０９】
以上に説明したクエリベースのＥＰＧシステムは、チャンネルとネットワーク及びプログラムとの関連を効果的に切断することによって、長所を有する。視聴者は、単純なクエリを作成して予め設定されているカテゴリのサーチを行ったり、あるいは、複雑なクエリを作成して任意の複数の分野にまたがるサーチを行うことができる。ＥＰＧによれば、視聴者は、個別的な複数のクエリをまとめて複合的な１つのクエリを作ることができるが、こうすれば、複数の視聴者から成るグループにとって非常に便利である。ＥＰＧはまた、視聴者がクエリを便利な階層的な構造にセーブすることを可能にする。セーブしたクエリは、視聴者がビューア・コンピューティングユニットを立ち上げる度に、実行のための開始メニューにロードすることができる。
【０１１０】
本発明は、以上に、構造的及び方法的な特徴に関して多少なりとも特定的な表現を用いて説明した。しかし、本発明は、この説明した特定の特徴に限定されるのを意図していない。その理由は、ここに開示した手段は、本発明を実現するための好ましい形態を構成しているに過ぎないからである。したがって、本発明は、均等論にしたがって適切に解釈される冒頭の特許請求の範囲の記載の適正な範囲内にあるその形態及び修正の任意のものにおいても、その保護を請求するものである。
【図面の簡単な説明】
【０１１１】
【図１】プログラムを予め定めたカテゴリに編成する従来技術の製品によって与えられるグラフィカル・ユーザ・インターフェース（ＵＩ）の例示的スクリーンの図である。
【図２】視聴者が予め定義されたカテゴリをサーチしてある種類のプログラムを探し出すのを助ける上記従来技術製品によって与えられるグラフィカル・ユーザ・インターフェース（ＵＩ）の例示的スクリーンの図である。
【図３】娯楽システムの図である。
【図４】電子式プログラム・ガイド（ＥＰＧ）が維持しているデータ構造内のデータ・フィールドの簡略化した例である。
【図５】ビューア・コンピューティングユニットのブロック図である。
【図６】ＥＰＧのＵＩの例示的スクリーンの図であり、特に、プログラムのリストのスクロール可能なグリッドを有するスクリーンである。
【図７】ＥＰＧのＵＩの例示的スクリーンの図であり、特に、ＥＰＧをサーチするための単純なクエリの作成を助けるのに用いるスクリーンである。
【図８】ＥＰＧのＵＩの例示的スクリーンの図であり、特に、ＥＰＧをサーチするためのより進んだクエリの作成を助けるのに用いるスクリーンである。
【図９】どのようにしてクエリがＥＰＧのプログラム・データベースをフィルタリングしてそのクエリのパラメータを満足するプログラムを識別するのかを示す図である。
【図１０】どのようにして制限的なクエリがＥＰＧのプログラム・データベースをフィルタリングして、そのクエリのパラメータを満足するプログラムを識別しそのプログラムが表示されるのを回避するかを示す図である。
【図１１】ＥＰＧのＵＩの例示的スクリーンの図であり、特に、複数の視聴者のためにクエリを管理するのに用いるスクリーンである。
【図１２】どのようにして個別のクエリを、ＥＰＧのプログラム・データベースをサーチするのに用いる複合的なクエリに融合させることができるかを示す図である。
【図１３】プログラム情報をいかにして複数のクエリを通じてフィルタリングして最終的に視聴者に向けて表示するプログラムの短いリストを提供するのか、を示す図である。
【図１４】ＥＰＧデータベースにおけるプログラム情報とウェブ・キャッシュにおけるその他のコンテンツ情報とをいかにして複数のクエリを用いてフィルタリングして最終的に視聴者に向けて表示するプログラムの短いリストを提供するのか、を示す図である。
【図１５】ＥＰＧのＵＩの例示的スクリーンの図であり、特に、特定のチャンネル、ネットワーク名又はプログラム名を探し出しそれらを同時にサーチするクエリを作成するのに用いるスクリーンである。
【符号の説明】
【０１１２】
４０  娯楽システム
４２  ヘッドエンド又はコンテンツ・プロバイダ
４４  分配ネットワーク
４６  送信機
４８  衛星
５０  受信機
６０  コンピューティング・ユニット
６２  コンピュータ・モニタ
６４  処理ユニット
６６  リモート・キーパッド
６８  ハンドセット
７０  ワイヤレス・データ・リンク
７２  ＥＰＧデータベース
７４  コンテンツ・セパレータ
８０  プログラム
８２  連続メディア・サーバ
８４  プログラム情報サーバ
８６  プログラム情報
９２  ＩＳＰ
９４  インターネット
９６  ＩＳＰホスト
９８  コンテンツ
【図１】
2006136015.tif 000005
【図２】
2006136015.tif 000006
【図３】
2006136015.tif 000007
【図４】
2006136015.tif 000008
【図５】
2006136015.tif 000009
【図６】
2006136015.tif 000010
【図７】
2006136015.tif 000011
【図８】
2006136015.tif 000012
【図９】
2006136015.tif 000013
【図１０】
2006136015.tif 000014
【図１１】
2006136015.tif 000015
【図１２】
2006136015.tif 000016
【図１３】
2006136015.tif 000017
【図１４】
2006136015.tif 000018
【図１５】
2006136015.tif 000019