(58)【調査した分野】(Int.Cl.,DB名)
監視される前記コンテンツ、付加的な情報、および前記第2の画面制御デバイスの機能性に基づいてビューコンテキストを生成する前記ステップと、前記ビューコンテキストを前記第2の画面制御デバイスに提供する前記ステップとは、ビューコンテキストクリエータによって行われる、請求項1に記載の方法。
前記ビューコンテキストに基づいて前記第2の画面制御デバイス上でユーザインタフェース表示を生成する前記ステップは、表示コントローラによって行われる、請求項1に記載の方法。
前記サーバは、前記主表示画面上に表示される前記コンテンツに関連する付加的なデータを抽出するための関連データエクストラクタをさらに備える、請求項13に記載のシステム。
前記サーバは、ユーザプロファイルデータを提供するために前記関連データエクストラクタと通信するユーザプロファイラをさらに備える、請求項14に記載のシステム。
前記サーバは、前記主表示画面の前記表示を制御するために前記ビューコンテキストクリエータと通信する第2の表示コントローラをさらに備える、請求項13に記載のシステム。
コンピュータ可読プログラムを有するコンピュータ使用可能記憶媒体であって、前記コンピュータ可読プログラムは、第2の画面制御デバイス上に動的ユーザインタフェースを提供して主表示画面上のコンテンツを制御するために、コンピュータ上で実行されるときに前記コンピュータに、
前記主表示画面上に表示される前記コンテンツを監視するステップと、
前記主表示画面上に表示されるコンテンツについての付加的な情報を取得するステップと、
監視される前記コンテンツ、前記付加的な情報、および前記第2の画面制御デバイスの機能性に基づいて、前記第2の画面制御デバイスのためのビューコンテキストを生成するステップと、
前記ビューコンテキストに基づいて、前記主表示画面に関するユーザ制御を提供するためのユーザインタフェース表示を前記第2の画面制御デバイス上で生成するステップと、
前記ユーザインタフェース表示を介して前記第2の画面制御デバイス上でユーザコマンドを受信するステップと、
前記ビューコンテキストに従って前記ユーザコマンドを解釈し、前記ユーザコマンドを実行するステップと、
前記実行されたユーザコマンドに基づいて前記ビューコンテキストを更新するステップと、
を含む方法ステップを実行させる、前記コンピュータ使用可能記憶媒体。
【発明を実施するための形態】
【0010】
本原理は、ユーザインタフェースを対象とし、より詳細には、メディアコンテンツのナビゲーションおよび制御を行うための動的ユーザインタフェースを提供するソフトウェアシステムを対象とする。
【0011】
従って、本明細書で明示的に説明されていないが、本発明を具体化し、本発明の趣旨および範囲に含まれるさまざまな構成を考案できるようになることを当業者は認識するであろう。
【0012】
本明細書に記載されたすべての例および条件付きの語は、発明者(複数)が当技術を促進するために寄与した本発明および概念を読み手が理解するのに役立つ教授目的として意図され、そのように具体的に記載された例および条件に限定されないものと見なすべきである。
【0013】
さらに、本発明の原理、態様、および実施形態、ならびにそれらの特定の例を記載した本明細書のすべての記述は、それらの構造的等価物と機能的等価物との両方を網羅するように意図される。さらに、そのような等価物は、現在知られている等価物だけでなく、今後開発される等価物、即ち、構造にかかわらず同じ機能を行うように開発された任意の要素も含むことを意図する。
【0014】
従って、例えば、本明細書で提示されるブロック図は、本発明を具体化する事例的な回路の概念図を表すことを当業者は認識するであろう。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどはいずれも、おおむねコンピュータ可読媒体で表され、コンピュータまたはプロセッサが明示的に示されているか否かにかかわらず、コンピュータまたはプロセッサによって実行されることが可能なさまざまなプロセスを表すことが認識されるであろう。
【0015】
図面に示したさまざまな要素の機能を、専用ハードウェア、ならびに適切なソフトウェアと連動してソフトウェアを実行する能力があるハードウェアの使用を介して提供できる。プロセッサによって提供される場合、その機能を、単一の専用プロセッサによって、単一の共有プロセッサによって、または一部を共有できる個々のプロセッサからなる複数のプロセッサによって提供できる。さらに、用語「プロセッサ」または「コントローラ」の明示的な使用は、ソフトウェアを実行する能力があるハードウェアだけを指すものと見なすべきでなく、デジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するためのリードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、および不揮発性ストレージを暗示的に含むことができるが、これらに限定されない。
【0016】
他のハードウェアである、従来および/またはカスタムのハードウェアも含むことができる。同様に、図面に示したスイッチのいずれも、単に概念的なものである。それらの機能は、プログラム論理の演算を介して、専用論理を介して、プログラム制御と専用論理とのインタラクションを介して、または手動でも実行され得るし、特定の技術は、コンテキストからより具体的に理解されるので実装者が選択可能である。
【0017】
本発明の特許請求の範囲において、指定された機能を行う手段として表現される任意の要素は、その機能、例えば、a)その機能を行う回路要素の組み合わせ、またはb)任意の形態のソフトウェア、従って、その機能を行うソフトウェアを実行するために適切な回路と組み合わされたファームウェア、マイクロコードなどを含む機能を行ういずれのやり方も網羅するように意図される。このような特許請求の範囲によって定義される本発明は、記載されたさまざまな手段によって提供される機能性が、特許請求の範囲が要求する通りに組み合わされて一つにまとめられるという事実に帰する。従って、そのような機能性を提供することができるいずれの手段も、本明細書に示した手段と同等であると見なされる。
【0018】
明細書における本発明の「一実施形態」または「実施形態」の言及、ならびにそれらの他の変形は、実施形態に関連して説明される特定の特徴、構造、特性などが、本発明の少なくとも1つの実施形態に含まれることを意味する。従って、語句「一実施形態において」または「実施形態において」の記載、ならびに明細書にわたってさまざまな箇所に見られるその他の変形は、必ずしもすべて同じ実施形態を指すとは限らない。
【0019】
図1では、コンテンツを自宅またはエンドユーザに配信するためのシステム100の実施形態のブロック図を示す。コンテンツは、映画スタジオまたは制作会社などの、コンテンツソース102から発生する。コンテンツを、2つの形態のうちの少なくとも1つの形態で供給できる。1つの形態は、コンテンツの放送形態である。放送コンテンツは、アメリカンブロードキャスティングカンパニー(ABC)、ナショナルブロードキャスティングカンパニー(NBC)、コロンビアブロードキャスティングシステム(CBS)などの、典型的な全国放送サービスである、放送加盟マネージャ104に提供される。放送加盟マネージャは、コンテンツを収集して記憶でき、配信ネットワーク1(106)として示した配信ネットワークを通じてコンテンツの配信をスケジュールできる。配信ネットワーク1(106)は、全国センターから1または複数の地域またはローカルセンターへの衛星リンク伝送を含むことができる。配信ネットワーク1(106)は、無線放送、衛星放送、またはケーブル放送などの、ローカル配信システムを使用するローカルコンテンツ配信を含むこともできる。ローカルに配信されるコンテンツは、ユーザの自宅内の受信デバイス108に提供され、その後ユーザによってコンテンツが検索される。受信デバイス108は、多くの形態をとることができ、セットトップボックス/デジタルビデオレコーダ(DVR)、ゲートウェイ、モデムなどとして具体化できる。さらに、受信デバイス108は、ホームネットワーク内のクライアントデバイスとしても、ピアデバイスとしても構成される付加的なデバイスを含むホームネットワークシステムに対するエントリポイントまたはゲートウェイとして機能できる。
【0020】
コンテンツの第2の形態は、特別コンテンツと呼ばれる。特別コンテンツは、プレミアム視聴、ペイパービュー方式、または放送加盟マネージャに提供されない、例えば、映画、ビデオゲームまたは他のビデオ要素などの、他のコンテンツとして配信されるコンテンツを含むことができる。多くの場合、特別コンテンツは、ユーザによって要求されるコンテンツである。特別コンテンツは、コンテンツマネージャ110に配信される。コンテンツマネージャ110は、例えば、コンテンツプロバイダ、放送サービス、または配信ネットワークサービスに加盟している、インターネットのウェブサイトなどのサービスプロバイダであってよい。コンテンツマネージャ110は、インターネットのコンテンツを配信システムに組み込むこともできる。コンテンツマネージャ110は、別個の配信ネットワークである、配信ネットワーク2(112)を通じてユーザの受信デバイス108にコンテンツを配信できる。配信ネットワーク2(112)は、高速ブロードバンドインターネットタイプの通信システムを含むことができる。配信ネットワーク2(112)のすべてまたは一部を使用して、放送加盟マネージャ104からのコンテンツを配信することもできるし、配信ネットワーク1(106)のすべてまたは一部を使用して、コンテンツマネージャ110からのコンテンツを配信できることに注意しなくてはならない。さらに、コンテンツがコンテンツマネージャ110によって必ずしも管理されなくても、ユーザは、インターネットから配信ネットワーク2(112)経由でコンテンツを直接取得することもできる。
【0021】
別個に配信されたコンテンツを利用するためのいくつかの適応が実行可能である。実行可能な一手法において、特別コンテンツは、増強(augmentation)として放送コンテンツに提供され、代替表示、購入および販売オプション、拡張要素(enhancement material)などを提供する。別の実施形態において、特別コンテンツは、放送コンテンツとして提供されたいくつかの番組コンテンツに完全に取って代わることができる。最後に、特別コンテンツは、放送コンテンツから完全に分離することができ、ユーザが利用するのに選択できる単なるメディアの選択肢にできる。例えば、特別コンテンツを、放送コンテンツとしてまだ入手できない映画のライブラリにすることができる。
【0022】
受信デバイス108は、配信ネットワーク1および配信ネットワーク2のうちの1つまたは両方から異なるタイプのコンテンツを受信できる。受信デバイス108は、コンテンツを処理して、ユーザの好みおよびコマンドに基づいて分離したコンテンツを提供する。受信デバイス108は、オーディオおよびビデオコンテンツを記録して再生するためのハードドライブまたは光ディスクドライブなどの、記憶デバイスを含むこともできる。さらに、受信デバイス108の動作の詳細、および記憶されたコンテンツの再生と関連付けられた特徴を、
図2との関連で以下に説明する。処理されたコンテンツは、主表示デバイス114に提供される。主表示デバイス114は、従来の2Dタイプの表示であってよいし、または代替として最新の3D表示であってよい。
【0023】
受信デバイス108は、タッチスクリーン制御デバイス116などの、第2の画面制御デバイスのような第2の画面とインタフェースをとることもできる。第2の画面制御デバイス116は、受信デバイス108および/または表示デバイス114にユーザ制御を提供するように適応されることができる。第2の画面デバイス116は、ビデオコンテンツを表示する能力も可能である。ビデオコンテンツは、ユーザインタフェースエントリなどの、グラフィックエントリであってよいし、または表示デバイス114に配信されるビデオコンテンツ部であってよい。第2の画面制御デバイス116は、赤外線(IR)または無線周波数(RF)通信などの、周知の単一伝送システムを任意に使用して、受信デバイス108とインタフェースをとることができ、赤外線データ協会(IRDA)標準、Wi−Fi、Bluetooth(登録商標)などの、標準プロトコル、またはその他の専用プロトコルを含むことができる。タッチスクリーン制御デバイス116の動作を、以下にさらに詳細に説明する。
【0024】
図1の例において、システム100は、バックエンドサーバ118および利用状況データベース120も含む。バックエンドサーバ118は、ユーザの利用傾向を分析して、それらの利用傾向に基づいて提案を行う個人化エンジンを含む。利用状況データベース120において、ユーザの利用傾向が記憶される。場合によっては、利用状況データベース120を、バックエンドサーバ118aの一部にすることができる。本例において、バックエンドサーバ118(ならびに利用状況データベース120)は、システム100に接続されて、配信ネットワーク2(112)を介してアクセスされる。
【0025】
図2では、受信デバイス200の実施形態のブロック図を示す。受信デバイス200は、
図1で説明した受信デバイスと同様に動作でき、ゲートウェイデバイス、モデム、セットトップボックス、または他の同様の通信デバイスの一部として含まれ得る。図示したデバイス200を、オーディオデバイスまたは表示デバイスを含む、他のシステムに組み込むこともできる。いずれの場合も、システムの動作を完了するのに必要ないくつかのコンポーネントは、当業者には周知であるので、簡潔にするために図示していない。
【0026】
図2に示したデバイス200において、コンテンツは、入力信号レシーバ202によって受信される。入力信号レシーバ202は、無線、ケーブル、衛星、Ethernet(登録商標)、ファイバーおよび電話回線ネットワークを含む、いくつかの実行可能なネットワークのうちの1つを通じて提供される信号を受信し、復調し、そして復号するのに使用されるいくつかの周知のレシーバ回路のうちの1つであってよい。制御インタフェース222を介して提供されるユーザ入力に基づいて、所望の入力信号を入力信号レシーバ202によって選択して読み出すことができる。制御インタフェース222は、タッチスクリーンデバイスのインタフェースを含むことができる。タッチパネルインタフェース222を適応して、セル電話、タブレット、マウス、高性能リモコンなどとインタフェースをとることもできる。
【0027】
復号された出力信号は、入力ストリームプロセッサ204に提供される。入力ストリームプロセッサ204は、最終の信号選択および処理を行い、コンテンツストリームに対し、オーディオコンテンツからビデオコンテンツを分離することを含む。オーディオコンテンツは、圧縮デジタル信号などの、受信フォーマットからアナログ波形信号に変換する、オーディオプロセッサ206に提供される。アナログ波形信号は、オーディオインタフェース208に提供されて、さらに表示デバイスまたはオーディオ増幅器に提供される。代替として、オーディオインタフェース208は、高精細度マルチメディアインタフェース(HDMI)ケーブル、またはソニー/フィリップスデジタル相互接続フォーマット(SPDIF)経由などの、代替オーディオインタフェースを使用して、デジタル信号をオーディオ出力デバイスまたは表示デバイスに提供できる。オーディオインタフェースは、もう1つのスピーカセットを駆動するための増幅器を含むこともできる。オーディオプロセッサ206は、オーディオ信号の記憶に必要な任意の変換も行う。
【0028】
入力ストリームプロセッサ204からのビデオ出力は、ビデオプロセッサ210に提供される。ビデオ信号は、いくつかのフォーマットのうちの1つとすることができる。ビデオプロセッサ210は、入力信号フォーマットに基づいて、必要に応じてビデオコンテンツの変換を提供する。ビデオプロセッサ210は、ビデオ信号の記憶に必要な変換も任意に行う。
【0029】
記憶デバイス212は、入力時に受信されるオーディオおよびビデオコンテンツを記憶する。記憶デバイス212は、コントローラ214の制御下で、さらにユーザインタフェース216および/または制御インタフェース222から受信したコマンド、例えば、早送り(FF)および巻き戻し(Rew)などの、ナビゲーション命令に基づいて、後でコンテンツの読み出しおよび再生を行うことを可能にする。記憶デバイス212は、ハードディスクドライブや、静的RAM(SRAM)、または動的RAM(DRAM)などの、1または複数の大容量集積電子メモリであってよいし、またはコンパクトディスク(CD)ドライブまたはデジタルビデオディスク(DVD)ドライブなどの、交換可能な光ディスク記憶システムとすることができる。
【0030】
入力または記憶デバイス212のいずれかから発生し、ビデオプロセッサ210から変換されたビデオ信号は、表示インタフェース218に提供される。表示インタフェース218はさらに、上述したタイプの表示デバイスに表示信号を提供する。表示インタフェース218は、赤−緑−青(RGB)などのアナログ信号インタフェースであってよいし、またはHDMIなどのデジタルインタフェースとすることができる。表示インタフェース218は、以下により詳細に説明するように、三次元グリッドで検索結果を提示するためにさまざまな画面を生成することを認識されたい。
【0031】
コントローラ214は、入力ストリームプロセッサ
206、オーディオプロセッサ206、ビデオプロセッサ210、記憶デバイス212、およびユーザインタフェース216を含む、デバイス200のいくつかのコンポーネントへ、バス経由で相互接続される。コントローラ214は、入力ストリーム信号を、記憶デバイスに記憶するまたは表示するための信号に変換する、変換プロセスを管理する。コントローラ214は、記憶されたコンテンツの読み出しおよび再生も管理する。さらに、以下に説明するように、コントローラ214は、コンテンツの検索と、記憶されたコンテンツまたは上述した配信ネットワーク経由で配信されるコンテンツのいずれかを表すグリッド表示の作成および調整とを行う。
【0032】
コントローラ214はさらに、コントローラ214に対する情報および命令コードを記憶するために、制御メモリ220(例えば、RAM、SRAM、DRAM、ROM、プログラマブルROM(PROM)、フラッシュメモリ、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)などを含む、揮発性または不揮発性メモリ)に結合される。制御メモリ220は、コントローラ214に対する命令を記憶できる。制御メモリは、コンテンツを包含するグラフィック要素などの、要素のデータベースを記憶することもできる。データベースを、グラフィック要素のパターンとして記憶できる。代替として、制御メモリは、グラフィック要素を特定またはグループ化されたメモリ位置に記憶し、アクセスまたは位置情報テーブル(location table)を使用して、グラフィック要素に関連するさまざまな情報部のメモリ位置を特定できる。グラフィック要素の記憶に関連する付加的な詳細は、以下に説明する。さらに、制御メモリ220の実装は、単一のメモリデバイスまたは、代替として、共有または共通メモリを形成するために通信的に接続または結合された2以上のメモリ回路などの、いくつかの実行可能な実施形態を含むことができる。またさらに、制御メモリを、大規模回路内のバス通信回路部などの、他の回路に含むことができる。
【0033】
本開示のユーザインタフェースのプロセスは、早送り、巻き戻しなどの、機能を表現するのに使用することができる入力デバイスを用いる。これを可能にするために、タッチパネルデバイス300などの、第2の画面制御デバイスは、
図3に示すように、受信デバイス200のユーザインタフェース216および/または制御インタフェース222経由でインタフェースをとることができる。タッチパネルデバイス300は、手の動き、またはジェスチャ、およびアクションに基づいて、パネルを介してセットトップボックスまたは他の制御デバイスのコマンドに変換される、受信デバイスまたはセットトップボックスの動作を可能にする。一実施形態において、タッチパネル300は、グリッド表示をナビゲートするナビゲーションツールとして単に機能する場合もある。他の実施形態において、タッチパネル300は、ユーザが、コンテンツのグリッド表示を介してナビゲーションとより直接的にインタラクトするのを可能にする、表示デバイスとして付加的に機能する。タッチパネルデバイスを、起動ボタンなどの、より従来型の制御機能を包含するリモートコントロールデバイスの一部として含むことができる。タッチパネル300は、少なくとも1つのカメラ要素を含むこともできる。
【0034】
図4について、図示したような、ジェスチャ感知コントローラまたはタッチスクリーンを使用して、いくつかのタイプのユーザインタラクションまたはイベントを提供する。コントローラからの入力は、ジェスチャを定義するために使用され、今度はジェスチャが、特定のコンテキストのコマンドまたはイベントを定義する。センサのコンフィギュレーションによって、タッチスクリーン上のユーザの指の動きを定義することが可能になるし、またはコントローラ自体の動きを1つの次元または2つの次元のいずれかで定義することも可能になる。対角線(diagonal)などの二次元モーション、および横軸(yaw)、縦軸(pitch)、奥行き(roll)の組み合わせを使用して、揺れ動き(swing)などの、四次元モーションを任意に定義することができる。いくつかのジェスチャを
図4に示す。ジェスチャは、コンテキストにおいて解釈されて、ユーザが行った動きを定義することによって特定される。
【0035】
突き出し(bumping)420は、上下左右のいずれか一方向を指し示す一筆画きを2回することによって定義される。突き出しジェスチャは、コンテキストにおける特定のコマンドと関連付けられる。例えば、TimeShiftingモードにおいて、左側の突き出しジェスチャ420は、巻き戻しを示し、右側の突き出しジェスチャは、早送りを示す。他のコンテキストにおいて、突き出しジェスチャ420は、突き出しによって指定された方向の特定の値を増分(increment)するように解釈される。チェック
430は、チェックマークを描いたものとして定義される。それは、下向きの突き出しジェスチャ420と同様である。チェックは、リマインダ、ユーザタグを指定するか、または項目もしくは要素を選択するコンテキストにおいて特定される。円囲み440は、どちらの方向からでも円を描いたものとして定義される。両方向を識別することも考えられる。しかし、混乱を避けるために、円は、方向にかかわらず単一のコマンドとして特定される。ドラッグ450は、タブレット300上のボタン(仮想または物理的ボタン)を押している間の(即ち、「トリガドラッグ」)、コントローラの角度の動き(縦軸および/横軸の変更)として定義される。ドラッグジェスチャ450を、ナビゲーション、速度、距離、時間移動、巻き戻し、および早送りに使用できる。ドラッグ450を使用して、カーソル、仮想カーソルを移動し、または表示装置上でハイライトし、輪郭を描き、または選択するなどの、状態を変更することができる。ドラッグ450を任意の方向にすることができ、2つの次元でナビゲートするのに概ね使用される。しかし、あるインタフェースにおいて、ドラッグするコマンドに応じて改良することが好ましい。例えば、いくつかのインタフェースにおいて、1つの次元または方向の動作は、仮想カーソルの位置または動く方向によって決まる他の次元または方向に対して有利に働く。同意460は、トリガドラッグしながら垂直に上下する動きを2回速く行うことによって定義される。同意460は、「肯定」または「承諾」を示すのに使用される。X−ing470は、文字「X」を描いたものとして定義される。X−ing470は、「削除」または「遮断」コマンドに使用される。横振り480は、トリガドラッグしながら水平に速く往復する動きを2回行うことによって定義される。横振りジェスチャ480は、「否定」または「取り消し」を示すのに使用される。
【0036】
センサシステムの複雑度(complexity)に応じて、単純な1つの次元モーションまたはジェスチャだけを可能にできる。例えば、ここで示すセンサに対する単純な右または左の動きは、早送りまたは巻き戻し機能を作り出すことができる。さらに、複数のセンサをタッチスクリーン上の異なる位置に含めて置くことも考えられる。例えば、左右の動きに対する水平センサを1つの場所に置いて、音量の上/下に使用してもよいし、あるいは上下の動きに対する垂直センサを異なる場所に置いて、チャネルの上/下に使用してもよい。このようにして、特定のジェスチャマッピングを使用できる。
【0037】
一実施形態において、システムは、ソフトウェアシステムに基づく受信デバイス108である。システムは、番組の関連情報を読み出すために、サービスプロバイダ(例えば、コムキャスト、ベライゾンなど)によって提供される電子番組ガイドを主に利用する。インターネット対応の受信デバイス108において、システムは、異なるウェブサービスに問い合わせを行って、番組についての付加的な情報を得ることもできる。システムの主要なコンポーネントを
図5に示す。
【0038】
現在利用可能な受信デバイス108において、ユーザインタフェースは、静的に構成される。言い換えれば、ユーザインタフェースは、あらかじめ組み込まれていて、リモートコントロールキーを押して起動する。例えば、ユーザがスポーツ番組を見ている場合、イベントの複数の角度が利用可能か否かにかかわらず、ユーザが番組を選択するインタフェースは、同じになる。ユーザオプションは、クラウドサービス(インターネット)から利用可能なコンテンツの数に伴って爆発的に増加するであろう。その場合、静的にあらかじめ組み込まれたインタフェースは、ナビゲーションおよび選択をより複雑にするであろう。
【0039】
図5に示したソフトウェアシステム500は、クライアント側510およびサーバ側520を有する。クライアント側510のコンポーネントは、第2の画面制御デバイス540内で、スタンドアロンのアプリケーションまたはブラウザにインストールされたプラグインまたは隠しアプレットのいずれかとして常駐する。サーバ側520のコンポーネントは、サービス/デーモンプロセスとして受信デバイス(セットトップボックスまたはゲートウェイ550など)に常駐する。機能モジュールを以下に説明する。
【0040】
ビューコンテキストの作成および表示制御
ビューコンテキストクリエータ522は、システムの主要部分である。システムの機能性の基本的な考えは、ビューコンテキストに従ってユーザインタフェースのコンポーネントを作成することである。ビューコンテキストは、現在表示されている番組またはコンテンツ、ユーザの個人的な好み、または第2の画面制御デバイスとして使用されるデバイスというようないくつかの事によって決まる。システムのチューナコンポーネント524は、セットトップボックスまたはゲートウェイデバイス550が現在合わせているイベントのチャネル同定または番組同定を提供する。EPGコンポーネント526は、その特定の番組が利用可能な番組ガイド情報を提供する。関連データエクストラクタコンポーネント528は、EPG情報をさらにパースして、現在消費されている番組についてのコンテキスト情報を作り出す。このコンポーネントは、データパイプ(インターネット)を介していくつかのクラウドサービスと任意にコンタクトして、多くのコンテキスト情報を抽出することができる。ユーザデータを提供するユーザプロファイラ530も、このコンポーネントによって使用されて、コンテキスト情報をさらに豊富にすることができる。
【0041】
一実施形態において、ビューコンテキストは、バックグラウンド情報およびナビゲーション制御で強化された主画面コンテンツの小さなアイコンビューを表す。例えば、生スポーツイベントのビューコンテキストは、生ビデオが縮小された小さなビューポートに加えて、そのイベントの他の利用可能なビュー角度のアイコン表現を包含することも可能である。セットトップボックス550によって作成されたビューコンテキストは、第2の画面制御デバイス540内の表示制御モジュール512に送信される。表示制御モジュール512は、ビューコンテキストのレンダリングを受け持つ。表示制御モジュール512は、デバイスの仕様に従ってレンダリングを適応する。このモジュールを有することによって、表示サイズや能力が異なる複数のデバイスを第2の画面制御デバイス540として使用することも可能である。セットトップボックス/ゲートウェイ550は、表示なしで初歩的なリモートコントロールを使用することができる場合、テレビなどの主表示画面560上でビューコンテキストのレンダリングを受け持つ、デフォルト表示コントローラ532を有することもできる。
【0042】
イベントリスナおよびイベントインタプリタ
システムの第2の部分は、イベントモジュールである。このモジュールも、クライアント側510およびサーバ側520のコンポーネントを有する。クライアント側510コンポーネントは、第2の画面制御デバイス540上で実行するイベントリスナ514であり、制御デバイス540上で起こるイベントを獲得して、イベントデータを、セットトップボックス550内で実行するイベントインタプリタ534に転送する。イベントデータは、周辺すべてのユーザイベントに加えて、それに関連付けられたデータも含む。これは、タッチスクリーン、加速度計、コンパス、および近接センサなどを介して生じたイベントを含む。例えば、単一のタッチ、複数のタッチ、スクロール、傾き、回転および近接を含む。
【0043】
図5に示すように、イベントインタプリタ534は、現在のビューコンテキストとクライアント側のイベントデータとの両方を得る。イベントインタプリタ534の機能は、現在のイベントおよびビューコンテキストに従ってイベントを解釈することである。イベントの解釈は、結果としてビューコンテキストの変更を招くこともあり得る。
【0044】
システムの機能性は、以下の項の例示的なシナリオを用いて詳述する。これらの例示的なシナリオは、番組のコンテキストに従って、ビューコンテキストまたはユーザインタフェースがどのように異なるかを説明する。
【0045】
シナリオ1
ユーザは、野生のドキュメンタリーを見ていると仮定する。システムは、以下の情報を収集することができる:
【0046】
EPGモジュール
→番組のジャンル
→番組の開始時間および終了時間
→番組のHDバージョンの利用可能性
ユーザプロファイラ
→見逃した前回がDVRで記録される
関連データエクストラクタ
→現在の番組に関連する地理的情報および画像
ビューコンテキスト
→ビデオの小さなビューポート
→見逃した前回のアイコンビュー(例えば、ボックスアート)
→HDバージョンのアイコンビュー
→関連する画像および文字情報のティッカー
→関連付けられたスクリーンセーバに対するRSSフィードまたはリンク
【0047】
シナリオ2(食べ物チャネル)
ビューコンテキスト
→レシピを印刷する印刷アイコン
→スタッフに注文するためのオンラインショッピングのウェブサイトへのリンク
→関連する健康情報を提供するためのティッカーインタフェース
→レシピを友人と共有するための電子メールアイコンまたは共有アイコン
【0048】
シナリオ3(オンライン協働イベント)
視聴者も参加するディスカッションフォーラムまたは競技イベントようなテレビ番組と仮定する。
【0049】
ビューコンテキスト
→イベントに音声電話をかけるためのインタフェース
→イベントにSMS投票をするためのインタフェース
→コメント/挨拶を入力して送信するためのインタフェース
→友人とチャットするためのインタフェース
→フェイスブック、ツイッター用のインタフェース
【0050】
シナリオ4(生スポーツイベント)
ビューコンテキスト
→友人と協働するためのインタフェース
→オンラインギャンブルのためのインタフェース
→イベントの複数の角度のアイコン表現
→ビデオを再生するアイコンビュー
→競技者を更新するためのティッカーインタフェース
【0051】
いったんビューコンテキストが作成されると、それは、表示制御モジュール512に渡される。ビューコンテキスト情報は、ユーザインタフェースを形成するために表示コントローラ512によって使用される。表示コントローラ512は、デバイスの能力に従ってユーザインタフェースを適応する、第2の画面制御デバイス540内の機能モジュールである。セットトップボックス/ゲートウェイ550は、テレビまたは主表示画面560上で表示されるユーザインタフェースを提供する、デフォルト表示コントローラ532を有することもできる。第2の画面制御デバイス540は、イベントを獲得して、それをセットトップボックス550内のイベントインタプリタ534に返送する、イベントリスナコンポーネント514も必要である。セットトップボックス550内のイベントインタプリタ534は、現在のビューコンテキスト内のイベントを実行して、表示を更新する。
【0052】
ビューコンテキストをHTML/XMLを使用して表すことができるし、またはその他の互換性のあるフォーマットを使用することができる。ビューコンテキストがHTMLに変換される場合、ブラウザをイベントリスナおよびイベントインタプリタとして使用することができる。この例を
図6に示すことができる。
【0053】
図6は、ブラウザを使用したイベント実行フローを示す。この例において、ブラウザ610を使用して、イベントリスナ612およびイベントインタプリタ614の機能性をシステム600に提供する。システム600は、ビューコンテキストクリエータ620および表示コントローラ630も含む。イベントリスナ612は、ユーザによるコマンド(例えば、ユーザによるハイパーリンクボタンの選択)または他のイベントを第2の画面制御デバイス上で獲得する。イベントは次に、イベントインタプリタ614に送信される(矢印616で示す)。イベントインタプリタ614は、獲得されたイベントおよび現在のビューコンテキストに照らして解釈を与える。解釈されたイベントは次に、ビューコンテキストクリエータ620に提供されて(矢印618で示す)システムによって実行される(矢印622で示す)。コンテキストクリエータ620は、表示コントローラ630に対して実行されたイベントおよび提供された変更に照らしてビューコンテキストを更新する(矢印624で示す)。
【0054】
図7は、システムの全プロセスの方法700を示す。この例において、方法700は、チューナから現在のチャネルを取得するステップ(ステップ710)と電子番組ガイド(EPG)から番組情報を取得するステップ(ステップ720)とを含む。方法はさらに、表示されるコンテンツに関するユーザプロファイルデータを取得するステップ(ステップ730)とインターネットからコンテンツ関連情報を取得するステップ(ステップ740)とを含む。次にこの情報を使用して、ビューコンテキストを生成する(ステップ750)。次にビューコンテキストを使用して、表示ユーザインタフェースを形成するコンポーネントを生成することができる(ステップ760)。最後に、任意に検出されて解釈されたイベントに基づいて、ビューコンテキストを更新することができる(ステップ770)。これらのステップのそれぞれを、
図8に関連して以下により詳細に説明する。
【0055】
図8は、システム800内のビューコンテキスト作成の連続手順を示す。この例において、主表示デバイス上で表示される現在のチャネルまたはコンテンツは、チューナ810から取得される(ステップ710)。現在のチャネルまたはコンテンツは、矢印812で示すように、電子番組ガイド(EPG)820に提供される。次にEPG820を使用して、取得したチャネルまたはコンテンツの番組情報を取得する(ステップ720)。これらのステップは、主表示画面上で表示されるコンテンツを監視するプロセスを形成する。逆に、表示されるコンテンツが、オンディマンドまたは他のストリーミングなどの、映画である場合、EPG内で見られるであろう題名および他の関連データを、オンディマンドまたはストリーミングサービスの一部として提供できる。
【0056】
図8の例において、ユーザの視聴傾向を追跡するユーザプロファイラ830を使用して、表示されるコンテンツに関連するユーザデータを取得する(ステップ730)。他の実施形態において、ユーザの視聴傾向についてのデータをリモートに収集して順に並べることができるので、ユーザプロファイラ830は、リモートに構築されたユーザプロファイルのデータを提供するだけである。このユーザデータならびにEPG820から取得されたコンテンツ情報は、それぞれ矢印832と矢印822で示すように、関連データエクストラクタ840に提供される。
【0057】
関連データエクストラクタ840は、矢印842で示すように、番組ガイド情報およびユーザデータ、ならびにインターネットからのコンテンツに関連する付加的なデータを取得する(ステップ740)。このすべてのデータは次に、表示されるコンテンツのコンテキストを作成するために関連データエクストラクタ840によって使用されて、矢印844で示すように、ビューコンテキストクリエータ850に提供される。
【0058】
ビューコンテキストクリエータ850は、ビューコンテキストを生成し(ステップ760)、ならびに、検出されて解釈されたイベントによって必要とされるビューコンテキストに任意に更新する(ステップ770)。ビューコンテキストは、矢印852で示すように、表示コントローラ860に提供される。表示コントローラ860は、ビューコンテキストを使用して、矢印862で示すように、表示されるユーザインタフェースを生成する。
【0059】
本原理のこれらと他の特徴および利点とは、本明細書の教示を基に当業者によって容易に解明されるであろう。本原理の教示を、ハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組み合わせのさまざまな形態に実装できることを理解されたい。
【0060】
より好適には、本原理の教示は、ハードウェアとソフトウェアとの組み合わせとして実装される。さらに、ソフトウェアを、プログラム記憶装置上で有形で具体化されるアプリケーションプログラムとして実装できる。アプリケーションプログラムは、適した任意のアーキテクチャを備えるマシンにアップロードして、そのマシンによって実行されてよい。好適には、マシンは、1または複数の中央処理装置(「CPU」)、ランダムアクセスメモリ(「RAM」)、および入力/出力(「I/O」)インタフェースなどの、ハードウェアを有するコンピュータプラットフォーム上で実装される。コンピュータプラットフォームは、オペレーティングシステムおよびマイクロ命令コードを含むこともできる。本明細書で説明したさまざまなプロセスおよび機能は、CPUによって実行されることができる、マイクロ命令コードの一部、またはアプリケーションプログラムの一部、またはそれらの任意の組み合わせのいずれかであってよい。さらに、他のさまざまな周辺機器を、付加的なデータ記憶装置および印刷装置などの、コンピュータプラットフォームに接続できる。
【0061】
添付の図面で示したいくつかの構成システムコンポーネントおよび方法は、ソフトウェアに好適に実装されるために、システムコンポーネントまたはプロセス機能ブロック間の実際の接続は、本原理がプログラムされるやり方によって異なる場合もあることをさらに理解されたい。本明細書の教示があれば、当業者は、これらの実装と、本原理の同様の実装またはコンフィギュレーションとを熟考できるようになるであろう。
【0062】
添付図面を参照しながら事例的な実施形態を本明細書で説明したが、本原理は、それらの実施形態に厳密に限定されず、本原理の範囲または精神から逸脱しなければ、さまざまな変更および改良は、当業者によってその中で達成されることができることを理解されたい。そのようなすべての変更および改良は、添付の特許請求の範囲において記載されるように、本原理の範囲に含まれることを意図する。
本発明の好ましい実施形態を以下に示す。
付記1.第2の画面制御デバイス上に動的ユーザインタフェースを提供して、主表示画面上でコンテンツを制御するための方法であって、
表示されるコンテンツを前記主表示画面上で監視するステップと、
主画面上に表示される前記コンテンツについての付加的な情報を取得するステップと、
監視される前記コンテンツ、付加的な情報、および前記第2の画面制御デバイスの機能性に基づいてビューコンテキストを生成するステップと、
前記ビューコンテキストを前記第2の画面制御デバイスに提供するステップと、
を備える、前記方法。
付記2.表示される前記コンテンツを前記主表示画面上で監視する前記ステップは、
表示される現在のチャネルを取得するステップと、
表示される前記現在のチャネルについての番組を取得するステップと、
を備えることを特徴とする付記1に記載の方法。
付記3.表示される前記現在のチャネルは、チューナから取得される、付記2に記載の方法。
付記4.表示される前記現在のチャネルについての前記番組情報は、電子番組ガイドから取得される、付記2に記載の方法。
付記5.表示される前記コンテンツについての付加的な情報を取得する前記ステップは、関連データエクストラクタによって行われる、付記1に記載の方法。
付記6.表示される前記コンテンツについての付加的な情報を取得する前記ステップは、
ユーザプロファイルデータを取得するステップと、
コンテンツ関連情報をインターネットから取得するステップと、
を備える、付記1に記載の方法。
付記7.前記ユーザプロファイルデータは、ユーザプロファイラから取得される、付記6に記載の方法。
付記8.監視される前記コンテンツ、付加的な情報、およびタッチスクリーン制御デバイスの機能性に基づいてビューコンテキストを生成する前記ステップと、前記ビューコンテキストを前記第2の画面制御デバイスに提供する前記ステップとは、ビューコンテキストクリエータによって行われる、付記1に記載の方法。
付記9.前記ビューコンテキストに基づいて前記第2の画面制御デバイス上でユーザインタフェース表示を生成するステップをさらに備える、付記1に記載の方法。
付記10.前記ビューコンテキストに基づいて前記第2の画面制御デバイス上でユーザインタフェース表示を生成する前記ステップは、表示コントローラによって行われる、付記9に記載の方法。
付記11.前記第2の画面制御デバイスからのユーザコマンドを受信するステップと、
前記コマンドを行うステップとをさらに備える、付記1に記載の方法。
付記12.ユーザコマンドを受信する前記ステップは、
イベントを検出するステップと、
前記イベントを解釈するステップと、
を備える、付記11に記載の方法。
付記13.イベントを検出する前記ステップは、イベントリスナによって行われる、付記12に記載の方法。
付記14.イベントを解釈する前記ステップは、イベントインタプリタによって行われる、付記12に記載の方法。
付記15.第2の画面制御デバイス上の動的に作成されたユーザインタフェースを使用して、コンテンツを主表示画面上で制御するためのシステムであって、
前記第2の画面制御デバイスの表示を制御するための第1の表示制御と、
前記第2の画面制御デバイス上でコマンドをユーザから受信するためのイベントリスナとを備えるクライアントと、
前記クライアントと通信するサーバであって、
前記主表示画面上に表示される前記コンテンツ、付加的な情報、および前記第2の画面制御デバイスの機能性に基づいてビューコンテキストを生成するためのビューコンテキストクリエータと、
前記イベントリスナによって提供された前記ユーザからの前記コマンドを受信し、および前記ビューコンテキストクリエータによって生成された前記ビューコンテキストに照らして前記コマンドを解釈するためのイベントインタプリタとを備える前記サーバと、
を備える、前記システム。
付記16.前記サーバは、前記主表示デバイス上に表示される前記コンテンツに関連する付加的なデータを抽出するための関連データエクストラクタをさらに備える、付記15に記載のシステム。
付記17.前記サーバは、前記関連データエクストラクタと通信するチューナと、
前記チューナおよび前記関連データエクストラクタとの通信をする電子番組ガイドと、 をさらに備える、付記16に記載のシステム。
付記18.前記サーバは、ユーザプロファイルデータを提供するために前記関連データエクストラクタと通信するユーザプロファイラをさらに備える、付記16に記載のシステム。
付記19.前記サーバは、前記主表示画面の前記表示を制御するために前記ビューコンテキストクリエータと通信する第2の表示コントローラをさらに備える、付記15に記載のシステム。
付記20.コンピュータ可読プログラムを有するコンピュータ使用可能媒体であって、前記コンピュータ可読プログラムは、第2の画面制御デバイス上のユーザインタフェースを主表示画面上の制御コンテンツに提供するために、コンピュータ上で実行される時に前記コンピュータに、
前記主表示画面上に表示される前記コンテンツを監視するステップと、
主画面上に表示されるコンテンツについての付加的な情報を取得するステップと、
監視される前記コンテンツ、付加的な情報、および前記第2の画面制御デバイスの機能性に基づいて、前記第2の画面制御デバイスのためのユーザインタフェースを生成するステップと、
前記ユーザインタフェースを前記第2の画面制御デバイス上に表示するステップと、
を含む方法ステップを行わせる、前記コンピュータ使用可能媒体を備える、コンピュータプログラム製品。