説明

リモートユーザインターフェースシステム及び方法

リモートユーザインターフェースは、コンシューマ・エレクトロニクスデバイスに重いハードウェアの要件を課すことなく、フルモーション、フルカラー、複雑なビジュアルを備えたダイナミックインターフェースを提供する。その代わりに、ハードウェアの要件は、メディアサーバと呼ばれる別のコンピュータデバイスに割り振られる。メディアサーバは、複雑なUIを生成し、そのUIを1以上の圧縮されたビデオフレームに変換し、その圧縮されたビデオフレームをCEデバイスに送信する。CEデバイスは、他のビデオについてそうするように、UIビデオを再生する。UIと対話するためのユーザ入力は、送信され、メディアサーバによって解釈される。そしてメディアサーバは、その対話に基づいてUIを更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にリモートユーザインターフェースに関連し、特に、コンシューマの電子デバイス上に表示されるリモートユーザインターフェースに関する。
【背景技術】
【0002】
デジタルメディアの取得、鑑賞及び管理のために、コンシューマ・エレクトロニクス(CE)デバイス、例えば、テレビ、ポータブルメディアプレーヤー、携帯情報端末(PDA)などのようなデバイスの使用が増加する傾向にある。代表的なデジタルメディアには、写真、ミュージック、ビデオなどが含まれる。コンシューマは、異なるデバイスにまたがったデジタルメディアの記憶装置、及び家庭内でのそのようなデバイスの場所とは無関係に、彼らのCEデバイスでデジタルメディアコンテンツを便利に楽しむことを求めている。
【0003】
ユーザがデジタルメディアを取得し、鑑賞し、管理することを可能とするために、CEデバイスは、ユーザが対話を行うことができるユーザインターフェース(UI)を備えている。現存するユーザインターフェースは、一般に、コンピュータが生成したJPEGまたはBMP表示に限定される。しかしながら、そのようなコンピュータ生成されたイメージは、それらが提供できる視覚、動き及び効果のタイプにおいて限定される。
【0004】
また、先行技術では、CEデバイスに表示されるユーザインターフェースは、CEデバイス自身によって生成される。このことは、その生成を行うCEデバイスが、提供されるユーザインターフェースのタイプに応じて、所要のUIブラウザ、フォントライブラリ及びレンダリング能力を備えていることを必要とする。そのため、表示される表示のタイプは、CEデバイスの処理能力によって制限される。提供されるユーザインターフェースがリッチになるにつれて、CEデバイスに要求される処理も重くなる。
【0005】
したがって、CEデバイスに重い処理要求の負荷を掛けることなく、リッチユーザインターフェースを提供するCEデバイスが必要とされている。
【発明の開示】
【0006】
本発明の様々な実施態様は、リモートデバイス上でリッチUIを生成することに向けられている。これらの様々な実施態様によるリモートUIは、CEデバイスに重いハードウェア要件を課すことなく、フルモーション、フルカラー、複雑なビジュアルを備えたダイナミックインターフェースを提供する。その代わりに、ハードウェアの要件は、メディアサーバと呼ばれる別のコンピュータデバイスに割り振られる。メディアサーバは、複雑なUIを生成し、圧縮されたビデオフォーマットに変換し、その圧縮されたビデオをCEデバイスに送信する。そのため、CEデバイスは、比較的シンプルなままであり、CEデバイスのコスト効率化を可能とする。
【0007】
一つの実施態様によれば、本発明は、サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法に向けられる。係る方法は、データ格納部から第1のグラフィックベースイメージを読み出すステップと、第1のグラフィックベースイメージを圧縮されたビデオフレームに符号化するステップと、圧縮されたビデオフレームを、そのビデオフレームを解凍し、かつ再生するように構成されたクライアントデバイスへストリーミングするステップと、クライアントデバイスからコントロールイベントを受信するステップと、受信したコントロールイベントに基づいて、データ格納部から第2のグラフィックベースイメージを読み出すステップとを有する。
【0008】
他の実施態様によれば、本発明は、サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法に向けられる。係る方法は、サーバから受信した1以上の圧縮された第1のビデオフレームを解凍し、かつ復号するステップと、1以上の第1のビデオフレームに含まれた、1以上のユーザインターフェースイメージを備えた第1のビデオを再生するステップと、1以上のユーザインターフェースイメージに応答したユーザ入力データを受信するステップと、ユーザ入力データに基づいてコントロールイベントを生成するステップと、コントロールイベントをサーバに送信するステップと、サーバから、送信したコントロールイベントに応答した、1以上の更新されたユーザインターフェースイメージを含む1以上の圧縮された第2のビデオフレームを受信するステップとを有する。
【0009】
また他の実施態様によれば、本発明は、無線または有線データ通信ネットワークを通じてサーバに接続されたクライアントデバイスにリモートユーザインターフェースを提供するサーバに向けられる。そのサーバは、第1のグラフィックベースイメージを保存するフレームバッファと、第1のグラフィックベースイメージを圧縮されたビデオフレームに符号化するビデオエンコーダと、フレームバッファ及びビデオエンコーダに接続されたプロセッサを有する。そのプロセッサは、圧縮されたビデオフレームを、そのビデオフレームを解凍し、かつ再生するように構成されたクライアントデバイスへストリーミングする。またプロセッサは、クライアントデバイスからコントロールイベントを受信して、受信したコントロールイベントに基づいて、フレームバッファから第2のグラフィックベースイメージを読み出す。
【0010】
本発明の一つの実施態様によれば、サーバは、フレームバッファに接続され、第1のグラフィックベースイメージを生成するグラフィック処理ユニットを有する。またそのグラフィック処理ユニットは、コントロールイベントに基づいて第1のグラフィックベースイメージを更新し、更新された第1のグラフィックベースイメージを第2のグラフィックベースイメージとしてフレームバッファに保存する。
【0011】
本発明の一つの実施態様によれば、サーバは、圧縮されたビデオフレームをクライアントデバイスへストリーミングする専用ビデオ転送チャンネルインターフェースと、クライアントデバイスからコントロールイベントを受信する専用コントロールチャンネルインターフェースを有する。
【0012】
また他の実施態様によれば、本発明は、ユーザインターフェースを提供するサーバに無線または有線データ通信ネットワークを通じて接続されたクライアントデバイスに向けられる。係るクライアントデバイスは、サーバから受信した、1以上の圧縮された第1のビデオフレームを解凍し、かつ復号するビデオデコーダと、ビデオデコーダに接続され、1以上の第1のビデオフレームに含まれた、1以上のユーザインターフェースイメージを備えた第1のビデオを表示するディスプレイと、1以上のユーザインターフェースイメージに応答したユーザ入力データを提供するユーザ入力部と、ユーザ入力部に接続され、ユーザ入力データに基づいてコントロールイベントを生成し、そのコントロールイベントをサーバに送信するプロセッサであって、サーバから、1以上の更新されたユーザインターフェースイメージを含む1以上の圧縮された第2のビデオフレームを受信するプロセッサとを有する。
【0013】
一つの実施態様によれば、1以上のユーザインターフェースイメージは、対話型メニューページのイメージであり、ユーザ入力データは、特定のメニューページのメニューアイテムのユーザ選択についてのものである。
【0014】
本発明の他の実施態様によれば、グラフィックベースイメージは、対話型コンピュータゲームのシーンであり、ユーザ入力データは、そのコンピュータゲームのシーンにおけるゲームオブジェクトのユーザの選択についてのものである。
【0015】
本発明のさらに他の実施態様によれば、グラフィックベースイメージは、対話型ウェブページであり、ユーザ入力データは、そのウェブページにおけるリンクのユーザ選択についてのものである。
【0016】
一つの実施態様によれば、クライアントデバイスは、1以上の圧縮された第1及び第2のビデオフレームを受信するビデオ転送チャンネルインターフェースと、コントロールイベントを送信する専用コントロールチャンネルインターフェースとを有する。
【0017】
また本発明の一つの実施態様によれば、専用ビデオ転送チャンネルインターフェースは、暗号鍵で暗号化されたメディアを受信し、クライアントデバイスは暗号化されたメディアを解読し、再生する復号鍵を取得するようにプログラムされる。
【0018】
本発明のこれらの特徴及び他の特徴、側面及び利点は、以下の詳細な説明と貼付の図面を考慮した場合、より完全に理解されるであろう。
【発明を実施するための最良の形態】
【0019】
大雑把に言って、本発明の様々な実施態様は、リモートデバイスにおいてリッチUIを生成することに向けられている。UIという用語は、ここでは、ユーザと対話するためにコンピュータプログラムによって提供される、任意のタイプのインターフェースを言うために用いられる。コンピュータプログラムは、例えば、ユーザによる選択用のメニュー、アイコン及びリンクを提供してもよい。またコンピュータプログラムは、ハイパーリンク及び他のユーザ選択領域を備えたウェブページを提供するブラウザプログラムであってもよい。さらに、コンピュータプログラムは、ユーザによる操作用に、コンピュータゲームシーン内の様々なゲームオブジェクトを提供するコンピュータゲームの形式をとっていてもよい。
【0020】
UIのタイプにかかわらず、これら様々な実施態様によるUIは、CEデバイスに重いハードウェアの要件を課すことなく、フルモーション、フルカラー、複雑なビジュアルを備えたダイナミックインターフェースを提供する。その代わりに、ハードウェアの要件は、メディアサーバと呼ばれる別のコンピュータデバイスに割り振られる。メディアサーバは、複雑なUIを生成し、そのUIを1以上の圧縮されたビデオフレームに圧縮し、その圧縮されたビデオフレームをCEデバイスに送信する。そのため、CEデバイスは、比較的シンプルなままであり、CEデバイスの製造コストを最小化する。
【0021】
図1は、本発明の一実施態様による、1以上のCEデバイスにリッチなリモートUIを提供するシステムのブロック図である。そのシステムは、データ通信ネットワーク108を通じて1以上のクライアントCEデバイス102と接続されたメディアサーバ100を有する。本発明の一実施態様によれば、データ通信ネットワーク108は、ローカルエリアネットワーク、ローカルワイドエリアネットワーク若しくは無線ローカルエリアネットワークである。また、メディアサーバ100は、CEデバイス102を様々なオンラインサービスプロバイダ112及びウェブサーバ116と接続するために、公衆データ通信ネットワーク110、例えば、インターネットのようなネットワークと接続されていてもよい。
【0022】
本発明の他の実施態様によれば、CEデバイスは、ワイドエリア無線ネットワーク又は例えばインターネットのような、本技術で利用できる他のタイプのネットワークを通じてメディアサーバ100と通信する。メディアサーバは、オンラインサービスプロバイダ112と異なるネットワーク上、または、むしろ同じネットワーク上に置かれていてもよい。実際、メディアサーバは特定のオンラインサービスプロバイダ112についてのオンラインサービスを提供するコンピュータに組み込まれていてもよい。
【0023】
メディアサーバ100は、メディアサーバプログラムを実行するプロセッサ及び関連するメモリを有する、他の形式のネットワークデバイスであってもよい。そのようなメディアサーバ100は、パーソナルコンピュータ、ラップトップコンピュータ、セットトップボックス、デジタルビデオレコーダ、ステレオ若しくはホームシアターシステム、放送チューナー、ビデオ若しくはイメージキャプチャデバイス(例、カメラ、カムコーダ)、マルチメディア携帯電話、インターネットサーバなどとすることができる。
【0024】
クライアント102は、ユーザ入力データを受け入れ、オーディオ、ビデオ及びオーバレイイメージをレンダリングするために、必要な周辺機器、ハードウェア及びソフトウェアを備えて構成されたネットワークCEデバイスの形式をとることができる。CEデバイスの例には、TVモニタ、DVDプレーヤ、PDA、ポータブルメディアプレーヤ、マルチメディア携帯電話、ワイヤレスモニタ、ゲームコンソール、デジタルメディアアダプタなどが含まれる。しかし、これらに限定されるわけではない。
【0025】
メディアサーバ100は、クライアント102によって再生されるリッチUIビデオ及び他のタイプのメディアをクライアント102に提供する。メディアサーバ100によって提供されるメディアは、ローカルメディアデータベース106に保存されたメディア及び/又は他のマルチメディアデバイス104、オンラインサービスプロバイダ112若しくはウェブサーバ116に保存されたメディアであってもよい。
【0026】
図2は、本発明の一実施態様による、メディアサーバ100と特定のクライアント102間の通信を示す概略ブロック図である。図示された実施態様では、メディアサーバ100は、様々なタイプのメディアデータ、例えばビデオ、ミュージック、写真、イメージオーバレイなどと、コントロール情報204をクライアント102と交換する。ビデオの場合、代表的にそれは圧縮された形式でクライアント102へ送信される。そこで、クライアント102は、メディアサーバ100から受信した圧縮されたビデオを解凍し、復号する1以上のビデオデコーダ114を有する。またメディアサーバ100は、グラフィカルなUIイメージを生成し、そのUIイメージを圧縮されたビデオフォーマットに変換し、そのビデオをUIビデオストリーム200としてクライアント102へ送信する。
【0027】
CEデバイスに提供されたUIは、従来のコンピュータタイプUIよりも、動き、オーバレイ、背景イメージ及び/又は特殊効果に優れたものを使用することも多い。CEデバイスによって提供され得るUIの一例は、DVDのメニューである。CEデバイスに表示される向上されたビジュアルのために、コンピュータタイプのUIを圧縮するために使用される従来の圧縮メカニズムは、CEデバイスに提供されるUIの圧縮には適さない。しかしながら、ビデオデコーダ114で利用されるような、モーションビデオを圧縮するために使用される圧縮メカニズムは、CEデバイスに提供されるUIを圧縮するのにも適している。そこで、そのようなビデオ圧縮メカニズムを、CEデバイスに提供されるUIを圧縮するために利用し、UIイメージを符号化したビデオを解凍し、復号するために使用する。そのようなビデオ圧縮メカニズムとして、例えば、H.264/MPEG(MPEG-1、MPEG-2、MPEG-4を含む)、及びDivXのようなMPEGの他の特定の実装形態を含む。
【0028】
DivXは、MPEG-4圧縮形式に基づいたビデオコーデックである。DivXは、実質的に如何なるソースからも、オリジナルビデオのビジュアルクオリティを大きく劣化させることなく、インターネットを通じて転送可能なサイズにビデオを圧縮する。DivXには、DivX3.xx、DivX4.xx、DivX5.xx及びDivX6.xxという様々なバージョンがある。
【0029】
クライアントデバイス102のユーザは、上記の何れかのビデオ圧縮メカニズムを用いて圧縮されたUIビデオを受信し、それに応じてUIイベント202を生成する。UIイベント202は、メディアサーバ100に送信されて、クライアント自身に代わってそのサーバにより処理され、実行される。クライアントに処理要求を保持する代わりに、サーバにその処理要求を任せることは、エンドユーザに提供されるユーザインターフェースのタイプを落とすことなく、シンクライアントを可能とする。
【0030】
UIイベントの例は、表示されたUIメニューに応答してリモートコントローラでなされたキー押下による選択である。キー押下によるデータは、UIイベントとしてメディアサーバ100に送信され、それに応答して、メディアサーバ100は、キー押下による選択に反応するために、そのキー押下によるデータを実行し、UIフレームを更新してクライアントに再度送信する。
【0031】
本発明の一実施態様によれば、UIイベント202は、本技術で公知の様々な暗号及び/又は認証メカニズムのうちの何れか一つを利用して暗号処理される。そのような暗号処理は、未認証のCEデバイスがメディア及び関連する他の情報及びメディアサーバ100からのサービスを受信することを防止するのに役立つ。
【0032】
本発明の一実施態様によれば、UIストリーム200の送信、UIイベント202の受信、及び他のタイプのメディア及びコントロール204の転送を行うために、メディアサーバ100とクライアント102の間に個別のメディア転送接続が構築される。例えば、「向上されたメディア転送プロトコル」という題の米国特許出願に記載された向上されたメディア転送プロトコルのような、向上されたメディア転送プロトコルを、構築されたメディア転送接続を通じてデータを交換するために使用してもよい。この向上されたメディア転送プロトコルによれば、UIストリーム200はビデオ接続を通じて転送され、UIイベント202はコントロール接続を通じて転送される。「向上されたメディア転送プロトコル」という題の出願にさらに詳細に記載されているように、他のタイプのメディア及びコントロール204の転送を行うために、オーディオ接続、イメージオーバレイ接続及びアウトオブバンド接続もまた別個に構築してもよい。例えば、アウトオブバンドチャンネルを、クライアントCEデバイスのユーザによる、例えば、早送り、巻き戻し、一時停止、ジャンプ操作のようなトリックプレイ操作に応答して、サーバのメディアの位置を再同期するためにデータを交換するのに使用してもよい。また、サーバ100からクライアント102へオーディオデータとイメージオーバレイデータを送信するために、オーディオチャンネルとオーバレイチャンネルをそれぞれ別個に使用してもよい。
【0033】
異なるタイプのメディアを転送するために個別のメディア転送チャンネルを使用することは、それら個々のデータ転送レートによってメディアを転送することを可能とする。さらに、向上されたメディア転送プロトコルは、詳細な同期の問題を扱うことなく、受信と同時にクライアントがそれぞれのタイプのメディアをレンダリングすることが可能なストリーミングモードを提供する。そのため、UIビデオをバックグラウンドミュージック及びイメージオーバレイデータと共に表示することができ、その際、そのようなデータとUIビデオとの同期を必要としない。
【0034】
UIビデオストリーム200を、ビデオ転送チャンネルインターフェースを介して専用ビデオ転送チャンネルを通じて送信し、UIイベント202を、専用のコントロールチャンネルインターフェースを介して専用コントロールチャンネルを通じて送信し、他のタイプのメディアをそれぞれのインターフェースを介してそれら専用のメディア転送チャンネルを通じて転送することを検討してきた。しかし、当業者は、UIビデオストリームを、単一のデータ転送チャンネルを通じて、例えば、オーディオ及び/又はオーバレイデータのような他のタイプのメディアデータにインターリーブしてもよいことを認識すべきである。
【0035】
図3は、本発明の一実施態様によるメディアサーバ100のより詳細なブロック図である。メディアサーバ100はネットワーク転送モジュール302と通信するメディアサーバモジュール300と、メディアデータベース106とを有する。メディアサーバモジュール300は、アプリケーションプログラムインターフェース(API)を通じてネットワーク転送モジュール302とインターフェースをとってもよい。
【0036】
メディアサーバモジュール300は、グラフィックプロセッサユニット(GPU)308と接続されたメインプロセッサモジュール306とフレームバッファ310とを有する。メインプロセッサモジュール306は、さらにウェブサーバ116及びオンラインサービスプロバイダ12と公衆データ通信ネットワーク110を通じて通信するネットワークインターフェース328を有する。
【0037】
メインプロセッサモジュール306は、UIイベント及び他のコントロール情報312を受信し、その情報を処理/実行して、ネットワーク転送モジュールがクライアント102へ適切なメディアを転送するための適切なコマンドを生成する。
【0038】
転送されるメディアがUIの場合、メインプロセッサモジュール306は、UIのグラフィックイメージを生成するようGPU308を起動する。GPUは、グラフィックイメージの生成における標準的なステップ、例えば、必要なテクスチャを読み込み、必要な変換、ラスタライジングなどを実行する。生成されたグラフィックイメージは、ネットワーク転送モジュール302へ転送されるまで、フレームバッファ310に保存される。
【0039】
本発明の一実施態様によれば、そのグラフィカルイメージは、ローカルまたはリモートソースから読み出される。例えば、UIがウェブページの形式をとる場合、表示される特定のウェブページがネットワークインターフェース328を介してウェブサーバ116から読み出される。
【0040】
ネットワーク転送モジュール302は、本技術において通常のメカニズム、例えば、メインプロセッサモジュール306で実行されるソフトウェアモジュールとして実装される。ネットワーク転送モジュールは、メディアサーバモジュール300から受信したメディアを転送するのに適切なメディア転送オブジェクトを生成するために、1以上のエンコーダ330、例えば、ビデオエンコーダによって提供される符号化能力を有する。このことに関して、UIモードにおいてUI及び関連するメディアをクライアント102へ送信するためにUI転送オブジェクト314が生成される。また、他のメディア転送オブジェクト316を、非UIモードにおいて異なるタイプのメディアを送信するために生成してもよい。
【0041】
ネットワーク転送モジュールは、メインプロセッサモジュール306から送信されたコマンド318に応答して適切なメディア転送オブジェクトを生成する。本発明の一実施態様によれば、コマンド318は、メディアのタイプと、転送されるメディアの経路を含む。メディアに対する経路は、統一資源識別子(URI)によって識別してもよい。
【0042】
ネットワーク転送モジュール302は、受信したコマンド318、例えば、UI転送オブジェクト318のようなコマンドに応答して、適切なメディア転送オブジェクトを生成する。そして、メディアデータは、適切なAPIコマンドを用いて生成されたメディア転送オブジェクトへ送られる。例えば、フレームバッファ310に保存されたUIフレームを、「UIフレーム送信」コマンド320を介してUI転送オブジェクト314へ送ってもよい。また、他のメディアデータ322も、適切なAPIコマンドを介して生成された転送オブジェクトへ送ることができる。例えば、バックグラウンドミュージック及びオーバレイデータを、UIビデオストリームとともにクライアントへ送信するために、UI転送オブジェクト314へ送ってもよい。本発明の一実施態様によれば、UIビデオ及びUIビデオとともに送信される他のタイプのメディアは、非同期ストリーミングモードで別個のメディア転送チャンネルを介してそれぞれ送信される。
【0043】
生成された転送ブロック314又は316は、メディアサーバモジュール300からのメディアデータを受信し、それに応じて適切なメディアデータパケットを生成する。そうすることで、メディア転送ブロックは適切なヘッダを生成し、メディアデータパケットに添付する。そしてパケットは、1以上のデータ転送チャンネル324、326を通じてクライアントへ送信される。
【0044】
図4は、本発明の一実施態様による、メディアサーバ100からUIビデオ及び他のタイプのメディアデータパケットを受信するクライアント102のより詳細なブロック図である。クライアント102は、UIビデオストリーム200、他のタイプのメディアデータ及びコントロール情報204をメディアサーバ100から受信するように構成されたクライアントモジュール400を含む。クライアントモジュール400を、従来技術の如何なるメカニズムを介して実装してもよく、例えば、クライアント102によって採用されたマイクロプロセッサユニットで実行されるソフトウェアモジュールとして実装される。
【0045】
クライアントモジュール400は、受信したパケットを1以上のデータバッファ408へ転送する。1以上のデータバッファ408は、メディアレンダリングモジュール410がそのバッファに保存されたデータを出力デバイス414へレンダリングするレートで空にされる。パケットがストリームパケットである場合、データはビデオデコーダ114によって解凍かつ復号され、そのレンダリングが可能な限り直ちにメディアレンダリングモジュールによってレンダリングされる。パケットがタイムスタンプパケットである場合、そのデータは、クライアントモジュール400に接続されたタイマ402によって計測されるように、タイムスタンプで特定された時刻の経過後にレンダリングされる。
【0046】
ユーザの選択入力は、有線または無線を通じてクライアントに接続されたユーザ入力デバイス412を介してクライアント102へ提供される。本発明の一実施態様によれば、その入力デバイスはユーザによって操作されるキー(ボタンとも呼ばれる)を有し、その操作によってそのキーと関連する特定の機能が呼び出される。その入力デバイスは、リモートコントローラ又は従来技術による他の入力デバイスであってもよく、例えば、マウス、ジョイスティック、センサ若しくは音声入力デバイスであってもよい。
【0047】
本発明の一実施態様によれば、ユーザの選択入力はUIイベントパケット202としてパッケージされ、サーバによって処理するために別個のコントロールチャンネルを通じてサーバ100へ転送される。ユーザの選択入力は、メニューページの特定のメニューアイテムを選択するキー押下、コンピュータゲームのシーン内のオブジェクトの移動、ウェブページにおけるハイパーリンクの選択などであってもよい。
【0048】
典型的なシナリオでは、ユーザは、メディアサーバ100及びネットワーク108に接続された他のマルチメディアデバイス104に保存された異なるタイプのメディアファイルを見るためにクライアントCEデバイスを取得する。さらに、そのCEデバイスを、コンピュータゲームをプレイしたり、ウェブページを見るなどに使用するかもしれない。一実施態様によれば、ユーザがメディアサーバ100として指定したいコンピュータにユーザがインストールできるメディアサーバプログラムが、CEデバイスに含まれる。あるいは、メディアサーバプログラムを、リモートサーバからダウンロードしてもよく、従来技術による他のメカニズムを用いて取得してもよい。
【0049】
図5は、本発明の一実施態様による、メディアサーバ100及びクライアントCEデバイス102を設定するプロセスのフローチャートである。ステップ500において、ユーザは、メインプロセッサモジュール306によって処理するためにメディアサーバプログラムのインストールを行う。メディアサーバプログラム500は、例えば、ハードディスク又はメディアサーバモジュール300に含まれる他の記憶装置(図示せず)にインストールされ、例えば、メインプロセッサモジュール306に含まれるローカルメモリ(図示せず)にロードされた後、実行される。
【0050】
ステップ502において、メディアサーバプログラムのインストール及び立ち上げにおいて、ユーザは、クライアント102とシェアしようとするメディアファイルの位置を識別することが要求される。メディアファイルは、メディアサーバ100として選択されたコンピュータデバイス、又は他のネットワーク対応デバイス104、オンラインサービスプロバイダ112若しくはメディアサーバ100とアクセス可能なウェブサーバ116に位置する場合があるためであり、ユーザは、シェアしようとするメディアファイルのローカルな位置又はその位置へのネットワーク経路を提供し得る。本発明の一実施態様によれば、他のネットワーク対応デバイスにあるメディアファイルを、例えば、周知のユニバーサルプラグアンドプレイ(UPnP)標準に含まれるコンテンツディレクトリサービスを介して、メディアサーバ100により自動的に発見してもよい。一度発見されると、ユーザは単に各メディアファイルについて、シェアするか否かを指定するだけでよい。
【0051】
ステップ504において、メインプロセッサモジュール306は、ユーザに識別された位置に保存されたメディアファイルを走査し、インデックス化する。本発明の一実施態様によれば、走査及びインデックス化のプロセスはバックグラウンドで発生し、ユーザによって識別されたメディア位置の何れかに新しいメディアファイルが追加される度に呼び出される。走査及びインデックス化のプロセス中、選択されたメディアフォルダ内のメディアファイルのメタデータ情報を読み出し、メディアデータベース106にそのメタデータ情報を保存する。そしてメタデータ情報は、異なるタイプのメディアの探索、特定のUIページのレンダリングなどに用いられる。
【0052】
ステップ506において、メディアサーバ100とクライアント102間の接続が確立される。ユーザは、メディアサーバ100を、クライアントがその電源ONの際、自動的に接続するデフォルトサーバとして設定してもよい。特定のメディアサーバがデフォルトサーバとして識別されない場合、クライアントは利用可能な全てのメディアサーバとの接続を確立するよう試みる。この点に関して、メインプロセッサモジュールは、発見要求を所定のポートを通じて送信する。一実施態様によれば、その発見要求は、サーバが発見要求の応答に使用するポートの情報だけでなく、クライアントのIPアドレスの情報を含むヘッダ部を備えたUDPブロードキャストパケットである。他の実施態様によれば、従来技術のUPnP SSDP(Simple Service Discovery Protocol)を、メディアサーバの発見に使用してもよい。
【0053】
発見要求を受信した利用可能なサーバは、発見応答とともに応答する。本発明の一実施態様によれば、発見応答は、コントロール接続を確立するためにクライアントが使用し得るコントロールポートの情報を含むUDPパケットである。そして所望のサーバとのTPC接続が、指定されたコントロールポートを通じて確立される。そのコントロール接続は、クライアント102によって生成されたUIイベント202をメディアサーバ100に対して送信するために使用してもよい。
【0054】
本発明の一実施態様によれば、クライアントは、さらに、コントロールポートを通じて、接続可能な1以上の他のメディア転送ポートの情報を含むパケットを送る。そして応答するサーバは、利用可能な各メディア転送ポートに対してTCP接続を確立してもよい。例えば、ビデオUIストリームをクライアントへ送信するために、ビデオ接続を確立してもよい。また、確立し得る他のメディア接続として、オーディオ接続、オーバレイ接続及び/又はアウトオブバンド接続がある。
【0055】
ステップ508において、メディアサーバ100とクライアント102間の1以上の接続を確立する際、メディアサーバ100は、ビデオ接続を通じてデフォルトのメインUIメニューの送信を行う。そしてユーザは、クライアントCEデバイス102を介して異なるタイプのメディアを楽しむためにメインUIメニューとの対話を開始することができる。
【0056】
図6は、本発明の一実施態様による、メディアサーバ100へ送信されるUIイベントパケットの例を示すブロック図である。パケットは、そのパケットによって送信されるUIイベントのタイプを示すパケットタイプフィールド600を含む。例えば、UIイベントは、キー押下イベントであってもよい。キー押下イベントパケットは、キー押下タイプフィールド602とボタン識別子フィールド604とを含む。キー押下タイプフィールド602は、ボタンの現状態、例えば、ボタンが押下されていること、その押下された位置の状態、又はボタンが押下されていないこと、その押下されていない位置の状態を示す。ボタンIDフィールドは、ユーザ入力デバイス412で呼び出された特定のボタン、例えば、左、右、選択、プレイ、停止、巻き戻し、早送り、ジャンプ若しくは一時停止ボタンを識別する。UIイベントの他の例は、マウス又はタッチパッド入力、アナログジョイスティック又はシャトル入力若しくは音声入力を記述するコマンドのような、ポインタコマンドを含む。ただし、UIイベントの他の例は、これらに限られるものではない。
【0057】
図7は、本発明の一実施態様による、UIビデオとともに他のタイプのメディアデータを送信するデータパケットの例を示すブロック図である。そのデータパケットは、タイプフィールド702、タイミングフィールド704、継続期間706及びペイロードサイズ708を備えたヘッダ部700を含む。また、データパケットのヘッダ部700には、典型的なRTPパケットヘッダに含まれ得る他の従来型のフィールド710が含まれていてもよい。メディア接続を通じて送信されるメディアの実際のペイロードデータは、パケットのペイロード部712に含まれる。
【0058】
タイプフィールド702は、送信されるメディアのタイプ、例えば、ビデオの特定タイプ(例えば、DivX、AVIなど)、オーディオの特定タイプ(例えば、MP3、AC3、PCMなど)若しくはイメージの特定タイプ(例えば、JPEG、BMPなど)を示す。
【0059】
タイミングフィールド704は、メディアがクライアント102によってどのようにレンダリングされるかを示す。例えば、タイミングフィールド704がストリームモードに設定されている場合、メディアパケットは、レンダリングが可能な限り直ちにクライアント102によってレンダリングされる。また、タイミングフィールド704がタイムスタンプモードに設定されている場合、メディアパケットは、タイムスタンプで指定された時間の後、レンダリングされる。
【0060】
さらに、タイムスタンプモード及びストリームモードは、同期又は非同期とみなしてもよい。タイミングフィールド704が同期ストリーム、すなわちタイムスタンプモードを示す場合、継続期間フィールド706は、送信されたデータが有効である期間を含むように設定される。タイミングフィールド704が非同期ストリームまたはタイムスタンプモードを示す場合、継続期間フィールド706には何の期間も含まれない。
【0061】
また、パケットのヘッダ部700には、送信されるメディアの特定タイプに特有の他のフィールド708を含んでいてもよい。例えば、パケットがビデオパケットである場合、そのビデオの大きさのような情報をパケットに含んでもよい。同様に、パケットがオーディオパケットである場合、サンプリングレートのような情報をパケットに含んでもよい。
【0062】
図8A及び図8Bは、それぞれ、本発明の位置実施態様による、クライアント102に表示されるリモートUIの生成及び/又は更新を示すフローチャート及び概略ブロック図である。ステップ800において、メディアサーバ100のメインプロセッサモジュール306は、キー押下イベントを含むコントロールパケットを受信する。ステップ802において、メインプロセッサモジュール306は、受信したコントロールパケットのキー押下タイプフィールド602及びボタンIDフィールド604に含まれた情報に基づいて、キー押下イベントのタイプを識別する。ステップ804において、メインプロセッサモジュール306は、識別されたキー押下イベントに応答してリモートUIのフレームを生成または更新するよう、GPU308を起動する。そしてUIフレームは、フレームバッファ310に保存される。
【0063】
ステップ806において、メインプロセッサモジュール306は、UI転送オブジェクト314を生成するためのコマンド318をネットワーク転送モジュール302へ送信する。コマンド318は、転送されるメディアのタイプがUIフレームであることを示し、さらに、変換され、転送されるUIフレームを含むフレームバッファ310への参照を含む。それに応答して、ネットワーク転送モジュール302は、UI転送オブジェクト314を生成する(ステップ806)。
【0064】
ステップ808において、UI転送オブジェクト314は、クライアント102へ送信するUIビデオパケット850(図8B)を生成する。また、クライアント102へ送信する他のメディアパケット852を生成してもよい。例えば、UI転送オブジェクト314は、メディアサーバモジュール300によって提供される他のメディアデータ322に基づいて、別個のオーディオ及び/又はオーバレイパケットを生成してもよい。オーディオパケットは、UI表示とともに演奏されるバックグラウンドミュージックに関連付けられてもよい。またオーバレイパケットは、ステータスバー、ナビゲーションアイコン、及びUIビデオの上にオーバレイされる他のビジュアルと関連付けられてもよい。UIビデオと同時に送信される他のメディアパケットの生成及び送信については、上述した「向上されたメディア転送プロトコル」という題の米国特許出願により詳細に記載されている。
【0065】
UIビデオパケット850の生成において、UI転送オブジェクト314は、適切なAPIコマンド320を用いて、メディアサーバモジュール300によって送信されるUIフレームを得る。UI転送オブジェクトは、ローイメージを圧縮されたビデオフレーム、例えば、DivXビデオフレームに符号化するために、エンコーダ330を起動する。そのような符号化ビデオフレームの生成については、上述したPCT特許出願第US04/41667号により詳細に記述されている。そしてUI転送オブジェクトは、適切なヘッダデータを、生成されたビデオパケットのヘッダ部700に付け加える。そうすることにより、データパケットのタイプフィールド702は適切なビデオタイプに設定され、タイミングフィールド704は適切なタイミングモードに設定される。そして生成されたビデオパケットは、適切な転送チャンネル324を通じて送信される。
【0066】
本発明の一実施態様によれば、メインUIメニューは、ビデオオプション、ミュージックオプション、写真オプション、サービスオプション及び設定オプションを提供する。ユーザは、入力デバイス412において1以上のナビゲーションキーを操作することにより、これらのオプションの何れかをナビゲートしてもよい。ビデオオプションのナビゲーションでは、メディアサーバ200は、タイトル、ファイルネーム、グループ、ジャンルなどでまとめられた、メディアデータベース106に保存されたムービーファイルのリストとともに更新されたUIを生成する。その更新されたUIは、ビデオフォーマットに変換され、クライアントに送信されて、そこに表示される。
【0067】
一実施態様によれば、UIは、ユーザが異なるカテゴリによるムービーを観ることを可能にすることができる。例えば、ユーザは、ムービーがネットワーク内の異なるデバイスに保存されている場合の位置により、日付により(例えば、リストのトップに最も新しく修正されたビデオを置くことにより)、又は例えばタイトルのようた他の何れかのカテゴリにより、ムービーを観てもよい。
【0068】
また、ユーザは、特定のムービーリストをナビゲートし、「enter」又は「play」ボタンをヒットしてムービーを観てもよい。選択されたムービーは、メディアサーバ100によって読み出され、クライアントへストリームされてリアルタイムで再生される。一実施態様によれば、「向上されたメディア転送プロトコル」という題の米国特許出願に記載されているように、ムービーのビデオ部分はビデオ接続を通じてストリームされ、ムービーのオーディオ部分はオーディオ接続を通じてストリームされる。
【0069】
ムービーを観ている間、ユーザは様々なトリックプレーのうちの一つ、例えば、早送り、巻き戻し、一時停止などのトリックプレーを呼び出してもよい。そのようなトリックプレーがサーバによってどのように扱われるかの説明は、「向上されたメディア転送プロトコル」という題の米国特許出願により詳細に記載されている。そのようなトリックプレー中、サーバは、トリックプレーを表すアイコンのオーバレイイメージや、ビデオ全体に対するビデオの現在位置を示すステータスバーをクライアントに送信してもよい。
【0070】
ユーザは、例えば、入力デバイス412でメニューボタンを押下することにより、再びメインUIメニューを呼び出すことができる。そして、ユーザがミュージックオプションを選択すると、メディアサーバ100は、アルバム/アーティスト及び関連するアルバムカバーのリスト又は一般的なアイコンを備えた、更新されたUIを生成する。更新されたUIは、ビデオフォーマットに変換され、クライアントに送信されて、そこに表示される。そのUIは、ユーザが、アーティスト、曲、レーティング、ジャンルなどによりユーザのミュージックファイルを検索することを可能にする。メディアサーバ100は、そのような検索要求を受信すると、メディアデータベース106に保存されているメタデータを検索し、検索した情報を含む更新されたUIを提示する。
【0071】
本発明の一実施態様によれば、メディアサーバは、選択されたアルバムに含まれる曲のリストを備えたUIを生成し、送信する。ユーザは、特定の曲のリストについてナビゲートし、「プレイ」ボタンをヒットしてその音楽を聴くことができる。選択された音楽はメディアサーバ100によって読み出され、クライアントへストリーミングされて、リアルタイムで再生される。本発明の一実施態様によれば、現在の曲に関連付けられた情報、例えば、曲及びアルバムの名前、アーティスト、ジャンルといった情報も、メディアデータベース106から読み出され、クライアントに送信されて、その音楽が再生されている間、表示されていてもよい。また、アルバムに含まれる他の曲のリストも表示して、ユーザが希望する場合、次へスキップできるようにしてもよい。
【0072】
本発明の一実施態様によれば、ユーザは、前に選択した音楽がバックグラウンドで再生されている間、写真オプションをナビゲートすることができる。写真オプションのナビゲートでは、メディアサーバ100は、メディアデータベース106に保存された、例えば年月日によってまとめられた写真ファイルのリストを備えた、更新されたUIを生成する。また、その更新されたUIは、様々な写真のサムネールを含んでもよい。その更新されたUIは、ビデオフォーマットに変換され、クライアントに送信されて表示される。特定のサムネールを選択すると、選択された写真が拡大されたフォーマットで表示される。
【0073】
本発明の一実施態様によれば、メディアサーバ100によって送信されるメディアに関連付けられたナビゲーションアイコンを、クライアント102においてイメージオーバレイデータとして表示することができる。例えば、バックグラウンドミュージックがスライドショーと関連して再生されている場合、クライアントは、ユーザが次または前の曲へスキップしたり、現在の曲を一時停止及び停止することを可能とするナビゲーションアイコンとともに、再生されている曲の名前を表示してもよい。また、スライドショーに関連付けられたナビゲーションアイコンを、ミュージックナビゲーションアイコンに付け加えて、あるいはその代わりに表示してもよい。また、スライドショーに関連付けられたそのナビゲーションアイコンは、ユーザがスライドショーにおける早送り又は早戻しを行ったり、中割り画像のタイミングを変更することなどを可能とする。ユーザは、もしあれば、クライアント102によって表示されるオーバレイ情報のタイプを制御してもよい。
【0074】
本発明の一実施態様によれば、サービスオプションは、オンラインメディアリストのブラウジング、ムービーの購入またはレンタル、チケットの購入、デジタル著作権管理(DRM)鍵によって保護されたメディアファイルを再生するための鍵交換などを含むビデオオンデマンドサービスを、ユーザに提供する。また、ユーザは、ウェブページをブラウジングしたり、ニュースを取得したり、株を管理したり、更新された気象情報を受け取ったり、サービスオプションを介してゲームをプレーすることができる。これらのサービスに関連付けられたUIを、メディアサーバ100によって生成し、あるいは様々なオンラインサービスプロバイダ112若しくはウェブサーバ116の一つからメディアサーバによって取得することができる。メディアサーバは、関連するUIを圧縮されたビデオフォーマットに符号化し、クライアントへそのビデオをストリーミングして表示させる。UIとの対話の全てを、メディアサーバ100で受信する。そしてそれを適切なオンラインサービスプロバイダ112及び/又はウェブサーバ116へ転送して処理してもよい。
【0075】
例えば、ユーザがインターネットをブラウジングすることを選択した場合、ユーザは、読み込まれる特定のウェブページのアドレスを提供し、UIイベントパケットでメディアサーバ100へその情報を送信する。メディアサーバ100は、UIイベントパケットからアドレスを読み出し、処理のためにウェブサーバ116へそのアドレスを転送する。ウェブサーバ116は、受信したアドレスに関連するウェブページを読み出し、メディアサーバ100へそのウェブページを転送する。
【0076】
メディアサーバ100は、ウェブページを受信し、例えば、そのウェブページに符号化された情報に基づいて、ウェブページの選択可能な部分を識別する。そしてメディアサーバ100は、選択可能部分の線形リストを生成し、特定のボタン押下または他のタイプのユーザ入力に基づいて、ウェブページの選択可能部分の一つから別の部分へ遷移する状態マシンを動的に構築する。例えば、「次のオブジェクト」ボタン押下の選択のそれぞれは、線形リスト内の次の選択可能部分への遷移を生じさせることができる。
【0077】
そしてメディアサーバは、現在受信しているウェブページを圧縮されたビデオフォーマットに変換し、その圧縮されたビデオを、ビデオ接続を通じてクライアントへストリームする。この点に関し、ネットワーク転送モジュール302は、そのウェブページを1以上の圧縮されたビデオフォーマット、例えばDivXビデオフレームに符号化し、圧縮するUI転送オブジェクト(図3)を生成する。そして圧縮されたビデオフレームは、UIモードでクライアントへストリームされる。ウェブページが「まだ」ウェブページであれば、単一のビデオフレームがクライアントへ送信され、クライアントは、ウェブページが更新されるまで、指定されたフレームレートで、同一のビデオフレームを何度も繰り返し再生する。
【0078】
ユーザは、ウェブページと対話するために、クライアントに接続された入力デバイス412を使用する。クライアントは、ユーザとの対話をUIイベントパケット202としてパッケージし、そのパケットをサーバ100へ転送する。サーバは、そのイベントパケットを検査して、ユーザとの対話のタイプを決定し、ウェブページの特定の選択可能部分へそのユーザとの対話をマッピングする。例えば、選択可能部分がハイパーリンクを含む場合、そのハイパーリンクの選択情報は、ウェブサーバ116へ転送されて処理される。ウェブサーバ116は、そのハイパーリンク情報に基づいて、ウェブページを読み出し、サーバへそのウェブページを転送する。サーバは、転送されたウェブページを受信して、それを圧縮されたビデオフォーマットに変換し、その圧縮されたビデオをクライアントへ転送する。
【0079】
他の例によると、ユーザは、サービスオプションからゲームをプレイすることを選択する。それに応じて、メディアサーバ100は、ゲームのリスト及び/又はゲームのアイコンを備えた、更新されたUIを生成する。更新されたUIは、圧縮されたビデオフォーマットに変換され、クライアントへ送信されて、そこで表示される。そのUIは、ユーザが、例えばゲームの名称によってゲームのリストを検索できるようにしてもよい。メディアサーバ100は、そのような検索要求を受信すると、メディアデータベース106に保存んされているメタデータを検索し、検索された情報を含む、更新されたUIを提示する。
【0080】
ユーザは、特定のゲームをナビゲートし、「enter」又は「play」ボタンをヒットして、そのゲームをプレイすることができる。選択されたゲームは、メディアサーバ100によって読み出され、圧縮されたビデオフォーマットに変換されて、ビデオ接続を通じてクライアントへストリームされる。この点に関し、ネットワーク転送モジュール302は、コンピュータゲームのシーンのコンピュータグラフィックイメージを、圧縮されたビデオフレーム、例えばDivXビデオフレームに符号化するUI転送オブジェクト314(図3)を生成する。そして圧縮されたビデオフレームは、UIモードでクライアントへストリームされる。ユーザがクライアントに接続された入力デバイス412を使用して、ゲームをプレイするにつれて、クライアントはユーザとの対話を、個別のコントロールチャンネルを通じてサーバ100へ転送され、そのサーバによって処理されるUIイベントパケット202としてパッケージする。そのサーバは、ユーザとの対話に基づいて更新されたビデオストリームを生成し、その更新されたビデオストリームをクライアントへストリームする。
【0081】
本発明の一実施態様によれば、メディアサーバは、メディアサーバでローカルに実行される他の種類のアプリケーションを提供し、クライアントへUIストリームとして送信する。そしてユーザは、そのアプリケーションと、クライアントを介してリモートに対話する。しかし、全てのユーザとの対話はメディアサーバで処理され、それに応答して、更新されたイメージ及び/又はオーディオは、更新されたUIビデオ及び/又はオーディオとしてクライアントへ送信される。そのアプリケーションを、非HTMLアプリケーション、例えば、グーグルアースと同様の対話型マップアプリケーションや、フリッカーフォトスライドショーと同様のスライドショービューワのようなアプリケーションにカスタマイズしてもよい。
【0082】
他のアプリケーションの例は、オーディオ/ビジュアルカラオケコンテンツをクライアントへ提供するカラオケアプリケーションである。ビジュアルコンテンツは圧縮されたビデオフォーマットに符号化され、専用のビデオ接続を通じて送信される。オーディオコンテンツは専用のオーディオ接続を通じて送信される。あるいは、メディアサーバは、メディアデータベース106に保存されたMP3ミュージックを読み出せるなら、ウェブサイトから取得した歌詞を圧縮されたビデオフォーマットに符号化して、専用のビデオ接続を通じて送信しつつ、専用のオーディオチャンネルを通じてそのミュージックをストリームしてもよい。
【0083】
本発明の一実施態様によれば、メディアサーバは、クライアントに対するマルチタスクオペレーションシステムとしても機能する。この実施態様によれば、メディアサーバは、ユーザのアクションに応答して、特定のUIアプリケーションのスワップイン及びスワップアウトを行う。例えば、ユーザは特定のメディアプレーヤのUIアプリケーションを選択して、選択されたアプリケーションをクライアントへ提供してもよい。UIアプリケーションは、例えば、オーディオプレイリストを表示してもよい。そして、プレイリストから選択された特定のオーディオを、専用オーディオ接続を通じてストリームしてもよい。別の例では、UIアプリケーションは、専用のビデオチャンネルを通じてフォトスライドショーを提供するフォトスライドショーアプリケーションであってもよい。メディアプレーヤアプリケーションのオーディオストリームを、専用のオーディオチャンネルを通じて送信し、バックグラウンドで再生してもよい。ユーザが、特定のキー、例えば、exitキーのようなキーを押下することで、現在のUIアプリケーションを抜け出し、UIアプリケーションのメニューに戻るようにしてもよい。
【0084】
本発明の一実施態様によれば、メディアサーバは並列アプリケーションをサポートしてもよい。例えば、グーグルアースのような対話型マップアプリケーションからのビデオを、ヤフーミュージックエンジンアプリケーションのようなミュージックアプリケーションからのオーディオと同時にレンダリングしてもよい。
【0085】
本発明の一実施態様によれば、メディアサーバ100は、クライアント102へDRM鍵で暗号化されたメディアを送信してもよい。クライアントが権限を有するクライアントの場合、暗号化されたメディアファイルを再生するために、必要な復号鍵が提供される。暗号化されたメディアコンテンツの権限を有するプレーヤとしてCEデバイスを登録する際、復号鍵を得るようにしてもよい。例えば、ユーザはメディアサーバ100にアクセスして、登録サーバにアクセスし、CEデバイスに与えられた登録番号を入力する。それに応答して、登録サーバは、メディアサーバへ、ユーザがCEに焼き付けたアクティベーションファイルを送信する。あるいは、上記の「向上されたメディア転送プロトコル」という題の特許出願に記載された、向上されたメディア転送プロトコルを通じてアクティベーションファイルをストリームしてもよい。一実施態様によれば、アクティベーションファイルは、登録コード、ユーザID及びユーザ鍵を含む。クライアントCEデバイスでのCDの再生の際、そのCEデバイスは、CD上に焼き付けられている登録コードを、CEデバイス内に保存されている登録コードに対してチェックする。一致する場合、CEデバイスはユーザID及びユーザ鍵をそのロードメモリ内にロードし、それらを使用してDRM保護されたメディアを復号し、再生する。
【0086】
本発明の別の実施態様によれば、ユーザパスワードとユーザネームをCEデバイスに入力し、保存する。そしてDRM保護されたメディアの受信の際、CEデバイスは、コマンドをメディアサーバ100に送信して、そのユーザネームとパスワードを用いてリモートサーバとコンタクトする。送信されたユーザネームとパスワードに基づいてユーザの認証がなされると、リモートサーバは鍵をメディアサーバ100に提供し、そしてその鍵はCEデバイスに転送され、DRM保護されたコンテンツを再生するために使用される。
【0087】
CEデバイスがDRM保護されたデータをどのように復号し、再生するかについての詳細は、2004年7月21日に出願された、「最適化された安全なメディア再生制御」という題の米国特許出願第10/895,355号により詳細に記載されている。またその米国出願の内容は、ここに参照として組み込まれる。
【0088】
本発明を、ある特定の実施態様について説明してきたが、当業者が、本発明の範囲及び精神から外れることなく、記載した実施態様に対する変形例を考案することに困難はないであろう。さらに、様々な分野の当業者に対して、本発明自身は、ここに、他のタスク及び他のアプリケーションに適合するソリューションを提案する。出願人は、本発明のそのような使用の全てと、本発明の精神及び範囲から外れることなく、開示の目的でここに選択された本発明の実施態様に対する変更及び修正とをカバーすることを意図している。したがって、本発明の提示された実施態様は、あらゆる点で、例示として考慮すべきであり、本発明を限定するものとして考慮すべきではない。
【図面の簡単な説明】
【0089】
【図1】本発明の一実施態様による、1以上のCEデバイスにリッチなリモートUIを提供するシステムのブロック図である。
【図2】本発明の一実施態様による、メディアサーバとクライアント間の通信を示すブロック図である。
【図3】本発明の一実施態様による、図2に示したメディアサーバのより詳細なブロック図である。
【図4】本発明の一実施態様による、図2に示したクライアントのより詳細なブロック図である。
【図5】本発明の一実施態様による、メディアサーバとクライアントCEデバイスをセットアップする手順のフローチャートである。
【図6】本発明の一実施態様による、メディアサーバに送信される例示のUIイベントパケットの模式図である。
【図7】本発明の一実施態様による、他のタイプのメディアデータとともにUIビデオを送信するデータパケットの模式図である。
【図8A】本発明の一実施態様による、クライアントに表示されるリモートUIの生成及び/又は更新を示すフローチャートである。
【図8B】本発明の一実施態様による、クライアントに表示されるリモートUIの生成及び/又は更新を示す概略ブロック図である。

【特許請求の範囲】
【請求項1】
サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法であって、
データ格納部から第1のグラフィックベースイメージを読み出すステップと、
前記第1のグラフィックベースイメージを圧縮されたビデオフレームに符号化するステップと、
前記圧縮されたビデオフレームを、該ビデオフレームを解凍し、かつ再生するように構成された前記クライアントデバイスへストリーミングするステップと、
前記クライアントデバイスからコントロールイベントを受信するステップと、
受信した前記コントロールイベントに基づいて、前記データ格納部から第2のグラフィックベースイメージを読み出すステップと、
有することを特徴とする方法。
【請求項2】
前記グラフィックベースイメージは対話型メニューページであり、前記コントロールイベントは該メニューページのメニューアイテムのユーザ選択である、請求項1に記載の方法。
【請求項3】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記コントロールイベントは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択である、請求項1に記載の方法。
【請求項4】
前記グラフィックベースイメージは対話型ウェブページであり、前記コントロールイベントは該ウェブページのリンクのユーザ選択である、請求項1に記載の方法。
【請求項5】
前記圧縮されたビデオフレームは、専用ビデオ転送チャンネルを通じてストリーミングされ、前記コントロールイベントは、専用コントロールチャンネルを通じて受信される、請求項1に記載の方法。
【請求項6】
前記コントロールイベントに基づいて前記第1のグラフィックベースイメージを更新するステップと、
前記更新された第1のグラフィックベースイメージを、前記第2のグラフィックベースイメージとして前記データ格納部に保存するステップと、
をさらに有する請求項1に記載の方法。
【請求項7】
サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法であって、
前記サーバから受信した1以上の圧縮された第1のビデオフレームを解凍し、かつ復号するステップと、
前記1以上の第1のビデオフレームに含まれた、1以上のユーザインターフェースイメージを備えた第1のビデオを再生するステップと、
前記1以上のユーザインターフェースイメージに応答したユーザ入力データを受信するステップと、
前記ユーザ入力データに基づいてコントロールイベントを生成するステップと、
前記コントロールイベントをサーバに送信するステップと、
前記サーバから、前記送信したコントロールイベントに応答した、1以上の更新されたユーザインターフェースイメージを含む1以上の圧縮された第2のビデオフレームを受信するステップと、
有することを特徴とする方法。
【請求項8】
前記1以上のユーザインターフェースイメージは、対話型メニューページのイメージであり、前記ユーザ入力データは特定のメニューページのメニューアイテムのユーザ選択についてのものである、請求項7に記載の方法。
【請求項9】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記ユーザ入力データは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択についてのものである、請求項7に記載の方法。
【請求項10】
前記グラフィックベースイメージは対話型ウェブページであり、前記ユーザ入力データは該ウェブページのリンクのユーザ選択についてのものである、請求項7に記載の方法。
【請求項11】
前記1以上の圧縮された第1及び第2のビデオフレームは、専用ビデオ転送チャンネルを通じて受信され、前記コントロールイベントは、専用コントロールチャンネルを通じて送信される、請求項7に記載の方法。
【請求項12】
クライアントデバイスにリモートユーザインターフェースを提供するサーバであって、該クライアントデバイスは無線または有線データ通信ネットワークを通じて該サーバに接続され、
第1のグラフィックベースイメージを保存するフレームバッファと、
前記第1のグラフィックベースイメージを圧縮されたビデオフレームに符号化するビデオエンコーダと、
前記フレームバッファ及び前記ビデオエンコーダに接続され、前記圧縮されたビデオフレームを、該ビデオフレームを解凍し、かつ再生するように構成された前記クライアントデバイスへストリーミングし、さらに前記クライアントデバイスからコントロールイベントを受信して、受信した該コントロールイベントに基づいて、前記フレームバッファから第2のグラフィックベースイメージを読み出すプロセッサと、
を有することを特徴とするサーバ。
【請求項13】
前記グラフィックベースイメージは対話型メニューページであり、前記コントロールイベントは該メニューページのメニューアイテムのユーザ選択である、請求項12に記載のサーバ。
【請求項14】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記コントロールイベントは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択である、請求項12に記載のサーバ。
【請求項15】
前記グラフィックベースイメージは対話型ウェブページであり、前記コントロールイベントは該ウェブページのリンクのユーザ選択である、請求項12に記載のサーバ。
【請求項16】
前記圧縮されたビデオフレームを前記クライアントデバイスへストリーミングする専用ビデオ転送チャンネルインターフェースと、
前記クライアントデバイスから前記コントロールイベントを受信する専用コントロールチャンネルインターフェースとをさらに有する、請求項12に記載のサーバ。
【請求項17】
前記フレームバッファに接続され、前記第1のグラフィックベースイメージを生成するグラフィックプロセッサユニットをさらに有する、請求項12に記載のサーバ。
【請求項18】
前記グラフィックプロセッサユニットは、前記コントロールイベントに基づいて前記第1のグラフィックベースイメージを更新し、該更新された第1のグラフィックベースイメージを、前記第2のグラフィックベースイメージとして前記フレームバッファに保存する、請求項17に記載のサーバ。
【請求項19】
ユーザインターフェースを提供するサーバに無線または有線データ通信ネットワークを通じて接続されたクライアントデバイスであって、
前記サーバから受信した、1以上の圧縮された第1のビデオフレームを解凍し、かつ復号するビデオデコーダと、
前記ビデオデコーダに接続され、前記1以上の第1のビデオフレームに含まれた、1以上のユーザインターフェースイメージを備えた第1のビデオを表示するディスプレイと、
前記1以上のユーザインターフェースイメージに応答したユーザ入力データを提供するユーザ入力部と、
前記ユーザ入力部に接続され、前記ユーザ入力データに基づいてコントロールイベントを生成し、該コントロールイベントをサーバに送信するプロセッサであって、前記サーバから、1以上の更新されたユーザインターフェースイメージを含む1以上の圧縮された第2のビデオフレームを受信するプロセッサと、
を有することを特徴とするクライアントデバイス。
【請求項20】
前記1以上のユーザインターフェースイメージは、対話型メニューページのイメージであり、前記ユーザ入力データは特定のメニューページのメニューアイテムのユーザ選択についてのものである、請求項21に記載のクライアントデバイス。
【請求項21】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記ユーザ入力データは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択についてのものである、請求項21に記載のクライアントデバイス。
【請求項22】
前記グラフィックベースイメージは対話型ウェブページであり、前記ユーザ入力データは該ウェブページのリンクのユーザ選択についてのものである、請求項21に記載のクライアントデバイス。
【請求項23】
前記1以上の圧縮された第1及び第2のビデオフレームを受信する専用ビデオ転送チャンネルインターフェースと、
前記コントロールイベントを送信する専用コントロールチャンネルインターフェースとをさらに有する、請求項21に記載のクライアントデバイス。
【請求項24】
前記専用ビデオ転送チャンネルインターフェースは、暗号鍵で暗号化されたメディアを受信し、前記クライアントデバイスは、該暗号化されたメディアを復号し、再生するための復号鍵を取得する手段をさらに有する、請求項21に記載のクライアントデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate


【公表番号】特表2008−527851(P2008−527851A)
【公表日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−550410(P2007−550410)
【出願日】平成17年12月30日(2005.12.30)
【国際出願番号】PCT/US2005/047661
【国際公開番号】WO2006/074110
【国際公開日】平成18年7月13日(2006.7.13)
【出願人】(506194243)ディブエックス,インコーポレイティド (6)
【Fターム(参考)】