(57)【要約】  リモートユーザインターフェースは、コンシューマ・エレクトロニクスデバイスに重いハードウェアの要件を課すことなく、フルモーション、フルカラー、複雑なビジュアルを備えたダイナミックインターフェースを提供する。その代わりに、ハードウェアの要件は、メディアサーバと呼ばれる別のコンピュータデバイスに割り振られる。メディアサーバは、複雑なＵＩを生成し、そのＵＩを１以上の圧縮されたビデオフレームに変換し、その圧縮されたビデオフレームをＣＥデバイスに送信する。ＣＥデバイスは、他のビデオについてそうするように、ＵＩビデオを再生する。ＵＩと対話するためのユーザ入力は、送信され、メディアサーバによって解釈される。そしてメディアサーバは、その対話に基づいてＵＩを更新する。【選択図】図２
2008527851.tif 000002
【特許請求の範囲】
【請求項１】
サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法であって、
データ格納部から第１のグラフィックベースイメージを読み出すステップと、
前記第１のグラフィックベースイメージを圧縮されたビデオフレームに符号化するステップと、
前記圧縮されたビデオフレームを、該ビデオフレームを解凍し、かつ再生するように構成された前記クライアントデバイスへストリーミングするステップと、
前記クライアントデバイスからコントロールイベントを受信するステップと、
受信した前記コントロールイベントに基づいて、前記データ格納部から第２のグラフィックベースイメージを読み出すステップと、
有することを特徴とする方法。
【請求項２】
前記グラフィックベースイメージは対話型メニューページであり、前記コントロールイベントは該メニューページのメニューアイテムのユーザ選択である、請求項１に記載の方法。
【請求項３】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記コントロールイベントは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択である、請求項１に記載の方法。
【請求項４】
前記グラフィックベースイメージは対話型ウェブページであり、前記コントロールイベントは該ウェブページのリンクのユーザ選択である、請求項１に記載の方法。
【請求項５】
前記圧縮されたビデオフレームは、専用ビデオ転送チャンネルを通じてストリーミングされ、前記コントロールイベントは、専用コントロールチャンネルを通じて受信される、請求項１に記載の方法。
【請求項６】
前記コントロールイベントに基づいて前記第１のグラフィックベースイメージを更新するステップと、
前記更新された第１のグラフィックベースイメージを、前記第２のグラフィックベースイメージとして前記データ格納部に保存するステップと、
をさらに有する請求項１に記載の方法。
【請求項７】
サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法であって、
前記サーバから受信した１以上の圧縮された第１のビデオフレームを解凍し、かつ復号するステップと、
前記１以上の第１のビデオフレームに含まれた、１以上のユーザインターフェースイメージを備えた第１のビデオを再生するステップと、
前記１以上のユーザインターフェースイメージに応答したユーザ入力データを受信するステップと、
前記ユーザ入力データに基づいてコントロールイベントを生成するステップと、
前記コントロールイベントをサーバに送信するステップと、
前記サーバから、前記送信したコントロールイベントに応答した、１以上の更新されたユーザインターフェースイメージを含む１以上の圧縮された第２のビデオフレームを受信するステップと、
有することを特徴とする方法。
【請求項８】
前記１以上のユーザインターフェースイメージは、対話型メニューページのイメージであり、前記ユーザ入力データは特定のメニューページのメニューアイテムのユーザ選択についてのものである、請求項７に記載の方法。
【請求項９】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記ユーザ入力データは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択についてのものである、請求項７に記載の方法。
【請求項１０】
前記グラフィックベースイメージは対話型ウェブページであり、前記ユーザ入力データは該ウェブページのリンクのユーザ選択についてのものである、請求項７に記載の方法。
【請求項１１】
前記１以上の圧縮された第１及び第２のビデオフレームは、専用ビデオ転送チャンネルを通じて受信され、前記コントロールイベントは、専用コントロールチャンネルを通じて送信される、請求項７に記載の方法。
【請求項１２】
クライアントデバイスにリモートユーザインターフェースを提供するサーバであって、該クライアントデバイスは無線または有線データ通信ネットワークを通じて該サーバに接続され、
第１のグラフィックベースイメージを保存するフレームバッファと、
前記第１のグラフィックベースイメージを圧縮されたビデオフレームに符号化するビデオエンコーダと、
前記フレームバッファ及び前記ビデオエンコーダに接続され、前記圧縮されたビデオフレームを、該ビデオフレームを解凍し、かつ再生するように構成された前記クライアントデバイスへストリーミングし、さらに前記クライアントデバイスからコントロールイベントを受信して、受信した該コントロールイベントに基づいて、前記フレームバッファから第２のグラフィックベースイメージを読み出すプロセッサと、
を有することを特徴とするサーバ。
【請求項１３】
前記グラフィックベースイメージは対話型メニューページであり、前記コントロールイベントは該メニューページのメニューアイテムのユーザ選択である、請求項１２に記載のサーバ。
【請求項１４】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記コントロールイベントは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択である、請求項１２に記載のサーバ。
【請求項１５】
前記グラフィックベースイメージは対話型ウェブページであり、前記コントロールイベントは該ウェブページのリンクのユーザ選択である、請求項１２に記載のサーバ。
【請求項１６】
前記圧縮されたビデオフレームを前記クライアントデバイスへストリーミングする専用ビデオ転送チャンネルインターフェースと、
前記クライアントデバイスから前記コントロールイベントを受信する専用コントロールチャンネルインターフェースとをさらに有する、請求項１２に記載のサーバ。
【請求項１７】
前記フレームバッファに接続され、前記第１のグラフィックベースイメージを生成するグラフィックプロセッサユニットをさらに有する、請求項１２に記載のサーバ。
【請求項１８】
前記グラフィックプロセッサユニットは、前記コントロールイベントに基づいて前記第１のグラフィックベースイメージを更新し、該更新された第１のグラフィックベースイメージを、前記第２のグラフィックベースイメージとして前記フレームバッファに保存する、請求項１７に記載のサーバ。
【請求項１９】
ユーザインターフェースを提供するサーバに無線または有線データ通信ネットワークを通じて接続されたクライアントデバイスであって、
前記サーバから受信した、１以上の圧縮された第１のビデオフレームを解凍し、かつ復号するビデオデコーダと、
前記ビデオデコーダに接続され、前記１以上の第１のビデオフレームに含まれた、１以上のユーザインターフェースイメージを備えた第１のビデオを表示するディスプレイと、
前記１以上のユーザインターフェースイメージに応答したユーザ入力データを提供するユーザ入力部と、
前記ユーザ入力部に接続され、前記ユーザ入力データに基づいてコントロールイベントを生成し、該コントロールイベントをサーバに送信するプロセッサであって、前記サーバから、１以上の更新されたユーザインターフェースイメージを含む１以上の圧縮された第２のビデオフレームを受信するプロセッサと、
を有することを特徴とするクライアントデバイス。
【請求項２０】
前記１以上のユーザインターフェースイメージは、対話型メニューページのイメージであり、前記ユーザ入力データは特定のメニューページのメニューアイテムのユーザ選択についてのものである、請求項２１に記載のクライアントデバイス。
【請求項２１】
前記グラフィックベースイメージは対話型コンピュータゲームのシーンであり、前記ユーザ入力データは該コンピュータゲームのシーンにおけるゲームオブジェクトのユーザ選択についてのものである、請求項２１に記載のクライアントデバイス。
【請求項２２】
前記グラフィックベースイメージは対話型ウェブページであり、前記ユーザ入力データは該ウェブページのリンクのユーザ選択についてのものである、請求項２１に記載のクライアントデバイス。
【請求項２３】
前記１以上の圧縮された第１及び第２のビデオフレームを受信する専用ビデオ転送チャンネルインターフェースと、
前記コントロールイベントを送信する専用コントロールチャンネルインターフェースとをさらに有する、請求項２１に記載のクライアントデバイス。
【請求項２４】
前記専用ビデオ転送チャンネルインターフェースは、暗号鍵で暗号化されたメディアを受信し、前記クライアントデバイスは、該暗号化されたメディアを復号し、再生するための復号鍵を取得する手段をさらに有する、請求項２１に記載のクライアントデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にリモートユーザインターフェースに関連し、特に、コンシューマの電子デバイス上に表示されるリモートユーザインターフェースに関する。
【背景技術】
【０００２】
デジタルメディアの取得、鑑賞及び管理のために、コンシューマ・エレクトロニクス（ＣＥ）デバイス、例えば、テレビ、ポータブルメディアプレーヤー、携帯情報端末（ＰＤＡ）などのようなデバイスの使用が増加する傾向にある。代表的なデジタルメディアには、写真、ミュージック、ビデオなどが含まれる。コンシューマは、異なるデバイスにまたがったデジタルメディアの記憶装置、及び家庭内でのそのようなデバイスの場所とは無関係に、彼らのＣＥデバイスでデジタルメディアコンテンツを便利に楽しむことを求めている。
【０００３】
ユーザがデジタルメディアを取得し、鑑賞し、管理することを可能とするために、ＣＥデバイスは、ユーザが対話を行うことができるユーザインターフェース（ＵＩ）を備えている。現存するユーザインターフェースは、一般に、コンピュータが生成したＪＰＥＧまたはＢＭＰ表示に限定される。しかしながら、そのようなコンピュータ生成されたイメージは、それらが提供できる視覚、動き及び効果のタイプにおいて限定される。
【０００４】
また、先行技術では、ＣＥデバイスに表示されるユーザインターフェースは、ＣＥデバイス自身によって生成される。このことは、その生成を行うＣＥデバイスが、提供されるユーザインターフェースのタイプに応じて、所要のＵＩブラウザ、フォントライブラリ及びレンダリング能力を備えていることを必要とする。そのため、表示される表示のタイプは、ＣＥデバイスの処理能力によって制限される。提供されるユーザインターフェースがリッチになるにつれて、ＣＥデバイスに要求される処理も重くなる。
【０００５】
したがって、ＣＥデバイスに重い処理要求の負荷を掛けることなく、リッチユーザインターフェースを提供するＣＥデバイスが必要とされている。
【発明の開示】
【０００６】
本発明の様々な実施態様は、リモートデバイス上でリッチＵＩを生成することに向けられている。これらの様々な実施態様によるリモートＵＩは、ＣＥデバイスに重いハードウェア要件を課すことなく、フルモーション、フルカラー、複雑なビジュアルを備えたダイナミックインターフェースを提供する。その代わりに、ハードウェアの要件は、メディアサーバと呼ばれる別のコンピュータデバイスに割り振られる。メディアサーバは、複雑なＵＩを生成し、圧縮されたビデオフォーマットに変換し、その圧縮されたビデオをＣＥデバイスに送信する。そのため、ＣＥデバイスは、比較的シンプルなままであり、ＣＥデバイスのコスト効率化を可能とする。
【０００７】
一つの実施態様によれば、本発明は、サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法に向けられる。係る方法は、データ格納部から第１のグラフィックベースイメージを読み出すステップと、第１のグラフィックベースイメージを圧縮されたビデオフレームに符号化するステップと、圧縮されたビデオフレームを、そのビデオフレームを解凍し、かつ再生するように構成されたクライアントデバイスへストリーミングするステップと、クライアントデバイスからコントロールイベントを受信するステップと、受信したコントロールイベントに基づいて、データ格納部から第２のグラフィックベースイメージを読み出すステップとを有する。
【０００８】
他の実施態様によれば、本発明は、サーバに接続されたクライアントデバイスを含む、データ通信ネットワークにおけるリモートユーザインターフェース方法に向けられる。係る方法は、サーバから受信した１以上の圧縮された第１のビデオフレームを解凍し、かつ復号するステップと、１以上の第１のビデオフレームに含まれた、１以上のユーザインターフェースイメージを備えた第１のビデオを再生するステップと、１以上のユーザインターフェースイメージに応答したユーザ入力データを受信するステップと、ユーザ入力データに基づいてコントロールイベントを生成するステップと、コントロールイベントをサーバに送信するステップと、サーバから、送信したコントロールイベントに応答した、１以上の更新されたユーザインターフェースイメージを含む１以上の圧縮された第２のビデオフレームを受信するステップとを有する。
【０００９】
また他の実施態様によれば、本発明は、無線または有線データ通信ネットワークを通じてサーバに接続されたクライアントデバイスにリモートユーザインターフェースを提供するサーバに向けられる。そのサーバは、第１のグラフィックベースイメージを保存するフレームバッファと、第１のグラフィックベースイメージを圧縮されたビデオフレームに符号化するビデオエンコーダと、フレームバッファ及びビデオエンコーダに接続されたプロセッサを有する。そのプロセッサは、圧縮されたビデオフレームを、そのビデオフレームを解凍し、かつ再生するように構成されたクライアントデバイスへストリーミングする。またプロセッサは、クライアントデバイスからコントロールイベントを受信して、受信したコントロールイベントに基づいて、フレームバッファから第２のグラフィックベースイメージを読み出す。
【００１０】
本発明の一つの実施態様によれば、サーバは、フレームバッファに接続され、第１のグラフィックベースイメージを生成するグラフィック処理ユニットを有する。またそのグラフィック処理ユニットは、コントロールイベントに基づいて第１のグラフィックベースイメージを更新し、更新された第１のグラフィックベースイメージを第２のグラフィックベースイメージとしてフレームバッファに保存する。
【００１１】
本発明の一つの実施態様によれば、サーバは、圧縮されたビデオフレームをクライアントデバイスへストリーミングする専用ビデオ転送チャンネルインターフェースと、クライアントデバイスからコントロールイベントを受信する専用コントロールチャンネルインターフェースを有する。
【００１２】
また他の実施態様によれば、本発明は、ユーザインターフェースを提供するサーバに無線または有線データ通信ネットワークを通じて接続されたクライアントデバイスに向けられる。係るクライアントデバイスは、サーバから受信した、１以上の圧縮された第１のビデオフレームを解凍し、かつ復号するビデオデコーダと、ビデオデコーダに接続され、１以上の第１のビデオフレームに含まれた、１以上のユーザインターフェースイメージを備えた第１のビデオを表示するディスプレイと、１以上のユーザインターフェースイメージに応答したユーザ入力データを提供するユーザ入力部と、ユーザ入力部に接続され、ユーザ入力データに基づいてコントロールイベントを生成し、そのコントロールイベントをサーバに送信するプロセッサであって、サーバから、１以上の更新されたユーザインターフェースイメージを含む１以上の圧縮された第２のビデオフレームを受信するプロセッサとを有する。
【００１３】
一つの実施態様によれば、１以上のユーザインターフェースイメージは、対話型メニューページのイメージであり、ユーザ入力データは、特定のメニューページのメニューアイテムのユーザ選択についてのものである。
【００１４】
本発明の他の実施態様によれば、グラフィックベースイメージは、対話型コンピュータゲームのシーンであり、ユーザ入力データは、そのコンピュータゲームのシーンにおけるゲームオブジェクトのユーザの選択についてのものである。
【００１５】
本発明のさらに他の実施態様によれば、グラフィックベースイメージは、対話型ウェブページであり、ユーザ入力データは、そのウェブページにおけるリンクのユーザ選択についてのものである。
【００１６】
一つの実施態様によれば、クライアントデバイスは、１以上の圧縮された第１及び第２のビデオフレームを受信するビデオ転送チャンネルインターフェースと、コントロールイベントを送信する専用コントロールチャンネルインターフェースとを有する。
【００１７】
また本発明の一つの実施態様によれば、専用ビデオ転送チャンネルインターフェースは、暗号鍵で暗号化されたメディアを受信し、クライアントデバイスは暗号化されたメディアを解読し、再生する復号鍵を取得するようにプログラムされる。
【００１８】
本発明のこれらの特徴及び他の特徴、側面及び利点は、以下の詳細な説明と貼付の図面を考慮した場合、より完全に理解されるであろう。
【発明を実施するための最良の形態】
【００１９】
大雑把に言って、本発明の様々な実施態様は、リモートデバイスにおいてリッチＵＩを生成することに向けられている。ＵＩという用語は、ここでは、ユーザと対話するためにコンピュータプログラムによって提供される、任意のタイプのインターフェースを言うために用いられる。コンピュータプログラムは、例えば、ユーザによる選択用のメニュー、アイコン及びリンクを提供してもよい。またコンピュータプログラムは、ハイパーリンク及び他のユーザ選択領域を備えたウェブページを提供するブラウザプログラムであってもよい。さらに、コンピュータプログラムは、ユーザによる操作用に、コンピュータゲームシーン内の様々なゲームオブジェクトを提供するコンピュータゲームの形式をとっていてもよい。
【００２０】
ＵＩのタイプにかかわらず、これら様々な実施態様によるＵＩは、ＣＥデバイスに重いハードウェアの要件を課すことなく、フルモーション、フルカラー、複雑なビジュアルを備えたダイナミックインターフェースを提供する。その代わりに、ハードウェアの要件は、メディアサーバと呼ばれる別のコンピュータデバイスに割り振られる。メディアサーバは、複雑なＵＩを生成し、そのＵＩを１以上の圧縮されたビデオフレームに圧縮し、その圧縮されたビデオフレームをＣＥデバイスに送信する。そのため、ＣＥデバイスは、比較的シンプルなままであり、ＣＥデバイスの製造コストを最小化する。
【００２１】
図１は、本発明の一実施態様による、１以上のＣＥデバイスにリッチなリモートＵＩを提供するシステムのブロック図である。そのシステムは、データ通信ネットワーク１０８を通じて１以上のクライアントＣＥデバイス１０２と接続されたメディアサーバ１００を有する。本発明の一実施態様によれば、データ通信ネットワーク１０８は、ローカルエリアネットワーク、ローカルワイドエリアネットワーク若しくは無線ローカルエリアネットワークである。また、メディアサーバ１００は、ＣＥデバイス１０２を様々なオンラインサービスプロバイダ１１２及びウェブサーバ１１６と接続するために、公衆データ通信ネットワーク１１０、例えば、インターネットのようなネットワークと接続されていてもよい。
【００２２】
本発明の他の実施態様によれば、ＣＥデバイスは、ワイドエリア無線ネットワーク又は例えばインターネットのような、本技術で利用できる他のタイプのネットワークを通じてメディアサーバ１００と通信する。メディアサーバは、オンラインサービスプロバイダ１１２と異なるネットワーク上、または、むしろ同じネットワーク上に置かれていてもよい。実際、メディアサーバは特定のオンラインサービスプロバイダ１１２についてのオンラインサービスを提供するコンピュータに組み込まれていてもよい。
【００２３】
メディアサーバ１００は、メディアサーバプログラムを実行するプロセッサ及び関連するメモリを有する、他の形式のネットワークデバイスであってもよい。そのようなメディアサーバ１００は、パーソナルコンピュータ、ラップトップコンピュータ、セットトップボックス、デジタルビデオレコーダ、ステレオ若しくはホームシアターシステム、放送チューナー、ビデオ若しくはイメージキャプチャデバイス（例、カメラ、カムコーダ）、マルチメディア携帯電話、インターネットサーバなどとすることができる。
【００２４】
クライアント１０２は、ユーザ入力データを受け入れ、オーディオ、ビデオ及びオーバレイイメージをレンダリングするために、必要な周辺機器、ハードウェア及びソフトウェアを備えて構成されたネットワークＣＥデバイスの形式をとることができる。ＣＥデバイスの例には、ＴＶモニタ、ＤＶＤプレーヤ、ＰＤＡ、ポータブルメディアプレーヤ、マルチメディア携帯電話、ワイヤレスモニタ、ゲームコンソール、デジタルメディアアダプタなどが含まれる。しかし、これらに限定されるわけではない。
【００２５】
メディアサーバ１００は、クライアント１０２によって再生されるリッチＵＩビデオ及び他のタイプのメディアをクライアント１０２に提供する。メディアサーバ１００によって提供されるメディアは、ローカルメディアデータベース１０６に保存されたメディア及び／又は他のマルチメディアデバイス１０４、オンラインサービスプロバイダ１１２若しくはウェブサーバ１１６に保存されたメディアであってもよい。
【００２６】
図２は、本発明の一実施態様による、メディアサーバ１００と特定のクライアント１０２間の通信を示す概略ブロック図である。図示された実施態様では、メディアサーバ１００は、様々なタイプのメディアデータ、例えばビデオ、ミュージック、写真、イメージオーバレイなどと、コントロール情報２０４をクライアント１０２と交換する。ビデオの場合、代表的にそれは圧縮された形式でクライアント１０２へ送信される。そこで、クライアント１０２は、メディアサーバ１００から受信した圧縮されたビデオを解凍し、復号する１以上のビデオデコーダ１１４を有する。またメディアサーバ１００は、グラフィカルなＵＩイメージを生成し、そのＵＩイメージを圧縮されたビデオフォーマットに変換し、そのビデオをＵＩビデオストリーム２００としてクライアント１０２へ送信する。
【００２７】
ＣＥデバイスに提供されたＵＩは、従来のコンピュータタイプＵＩよりも、動き、オーバレイ、背景イメージ及び／又は特殊効果に優れたものを使用することも多い。ＣＥデバイスによって提供され得るＵＩの一例は、ＤＶＤのメニューである。ＣＥデバイスに表示される向上されたビジュアルのために、コンピュータタイプのＵＩを圧縮するために使用される従来の圧縮メカニズムは、ＣＥデバイスに提供されるＵＩの圧縮には適さない。しかしながら、ビデオデコーダ１１４で利用されるような、モーションビデオを圧縮するために使用される圧縮メカニズムは、ＣＥデバイスに提供されるＵＩを圧縮するのにも適している。そこで、そのようなビデオ圧縮メカニズムを、ＣＥデバイスに提供されるＵＩを圧縮するために利用し、ＵＩイメージを符号化したビデオを解凍し、復号するために使用する。そのようなビデオ圧縮メカニズムとして、例えば、H.264/MPEG（MPEG-1、MPEG-2、MPEG-4を含む）、及びDivXのようなMPEGの他の特定の実装形態を含む。
【００２８】
DivXは、MPEG-4圧縮形式に基づいたビデオコーデックである。DivXは、実質的に如何なるソースからも、オリジナルビデオのビジュアルクオリティを大きく劣化させることなく、インターネットを通じて転送可能なサイズにビデオを圧縮する。DivXには、DivX3.xx、DivX4.xx、DivX5.xx及びDivX6.xxという様々なバージョンがある。
【００２９】
クライアントデバイス１０２のユーザは、上記の何れかのビデオ圧縮メカニズムを用いて圧縮されたＵＩビデオを受信し、それに応じてＵＩイベント２０２を生成する。ＵＩイベント２０２は、メディアサーバ１００に送信されて、クライアント自身に代わってそのサーバにより処理され、実行される。クライアントに処理要求を保持する代わりに、サーバにその処理要求を任せることは、エンドユーザに提供されるユーザインターフェースのタイプを落とすことなく、シンクライアントを可能とする。
【００３０】
ＵＩイベントの例は、表示されたＵＩメニューに応答してリモートコントローラでなされたキー押下による選択である。キー押下によるデータは、ＵＩイベントとしてメディアサーバ１００に送信され、それに応答して、メディアサーバ１００は、キー押下による選択に反応するために、そのキー押下によるデータを実行し、ＵＩフレームを更新してクライアントに再度送信する。
【００３１】
本発明の一実施態様によれば、ＵＩイベント２０２は、本技術で公知の様々な暗号及び／又は認証メカニズムのうちの何れか一つを利用して暗号処理される。そのような暗号処理は、未認証のＣＥデバイスがメディア及び関連する他の情報及びメディアサーバ１００からのサービスを受信することを防止するのに役立つ。
【００３２】
本発明の一実施態様によれば、ＵＩストリーム２００の送信、ＵＩイベント２０２の受信、及び他のタイプのメディア及びコントロール２０４の転送を行うために、メディアサーバ１００とクライアント１０２の間に個別のメディア転送接続が構築される。例えば、「向上されたメディア転送プロトコル」という題の米国特許出願に記載された向上されたメディア転送プロトコルのような、向上されたメディア転送プロトコルを、構築されたメディア転送接続を通じてデータを交換するために使用してもよい。この向上されたメディア転送プロトコルによれば、ＵＩストリーム２００はビデオ接続を通じて転送され、ＵＩイベント２０２はコントロール接続を通じて転送される。「向上されたメディア転送プロトコル」という題の出願にさらに詳細に記載されているように、他のタイプのメディア及びコントロール２０４の転送を行うために、オーディオ接続、イメージオーバレイ接続及びアウトオブバンド接続もまた別個に構築してもよい。例えば、アウトオブバンドチャンネルを、クライアントＣＥデバイスのユーザによる、例えば、早送り、巻き戻し、一時停止、ジャンプ操作のようなトリックプレイ操作に応答して、サーバのメディアの位置を再同期するためにデータを交換するのに使用してもよい。また、サーバ１００からクライアント１０２へオーディオデータとイメージオーバレイデータを送信するために、オーディオチャンネルとオーバレイチャンネルをそれぞれ別個に使用してもよい。
【００３３】
異なるタイプのメディアを転送するために個別のメディア転送チャンネルを使用することは、それら個々のデータ転送レートによってメディアを転送することを可能とする。さらに、向上されたメディア転送プロトコルは、詳細な同期の問題を扱うことなく、受信と同時にクライアントがそれぞれのタイプのメディアをレンダリングすることが可能なストリーミングモードを提供する。そのため、ＵＩビデオをバックグラウンドミュージック及びイメージオーバレイデータと共に表示することができ、その際、そのようなデータとＵＩビデオとの同期を必要としない。
【００３４】
ＵＩビデオストリーム２００を、ビデオ転送チャンネルインターフェースを介して専用ビデオ転送チャンネルを通じて送信し、ＵＩイベント２０２を、専用のコントロールチャンネルインターフェースを介して専用コントロールチャンネルを通じて送信し、他のタイプのメディアをそれぞれのインターフェースを介してそれら専用のメディア転送チャンネルを通じて転送することを検討してきた。しかし、当業者は、ＵＩビデオストリームを、単一のデータ転送チャンネルを通じて、例えば、オーディオ及び／又はオーバレイデータのような他のタイプのメディアデータにインターリーブしてもよいことを認識すべきである。
【００３５】
図３は、本発明の一実施態様によるメディアサーバ１００のより詳細なブロック図である。メディアサーバ１００はネットワーク転送モジュール３０２と通信するメディアサーバモジュール３００と、メディアデータベース１０６とを有する。メディアサーバモジュール３００は、アプリケーションプログラムインターフェース（ＡＰＩ）を通じてネットワーク転送モジュール３０２とインターフェースをとってもよい。
【００３６】
メディアサーバモジュール３００は、グラフィックプロセッサユニット（ＧＰＵ）３０８と接続されたメインプロセッサモジュール３０６とフレームバッファ３１０とを有する。メインプロセッサモジュール３０６は、さらにウェブサーバ１１６及びオンラインサービスプロバイダ１２と公衆データ通信ネットワーク１１０を通じて通信するネットワークインターフェース３２８を有する。
【００３７】
メインプロセッサモジュール３０６は、ＵＩイベント及び他のコントロール情報３１２を受信し、その情報を処理／実行して、ネットワーク転送モジュールがクライアント１０２へ適切なメディアを転送するための適切なコマンドを生成する。
【００３８】
転送されるメディアがＵＩの場合、メインプロセッサモジュール３０６は、ＵＩのグラフィックイメージを生成するようＧＰＵ３０８を起動する。ＧＰＵは、グラフィックイメージの生成における標準的なステップ、例えば、必要なテクスチャを読み込み、必要な変換、ラスタライジングなどを実行する。生成されたグラフィックイメージは、ネットワーク転送モジュール３０２へ転送されるまで、フレームバッファ３１０に保存される。
【００３９】
本発明の一実施態様によれば、そのグラフィカルイメージは、ローカルまたはリモートソースから読み出される。例えば、ＵＩがウェブページの形式をとる場合、表示される特定のウェブページがネットワークインターフェース３２８を介してウェブサーバ１１６から読み出される。
【００４０】
ネットワーク転送モジュール３０２は、本技術において通常のメカニズム、例えば、メインプロセッサモジュール３０６で実行されるソフトウェアモジュールとして実装される。ネットワーク転送モジュールは、メディアサーバモジュール３００から受信したメディアを転送するのに適切なメディア転送オブジェクトを生成するために、１以上のエンコーダ３３０、例えば、ビデオエンコーダによって提供される符号化能力を有する。このことに関して、ＵＩモードにおいてＵＩ及び関連するメディアをクライアント１０２へ送信するためにＵＩ転送オブジェクト３１４が生成される。また、他のメディア転送オブジェクト３１６を、非ＵＩモードにおいて異なるタイプのメディアを送信するために生成してもよい。
【００４１】
ネットワーク転送モジュールは、メインプロセッサモジュール３０６から送信されたコマンド３１８に応答して適切なメディア転送オブジェクトを生成する。本発明の一実施態様によれば、コマンド３１８は、メディアのタイプと、転送されるメディアの経路を含む。メディアに対する経路は、統一資源識別子（ＵＲＩ）によって識別してもよい。
【００４２】
ネットワーク転送モジュール３０２は、受信したコマンド３１８、例えば、ＵＩ転送オブジェクト３１８のようなコマンドに応答して、適切なメディア転送オブジェクトを生成する。そして、メディアデータは、適切なＡＰＩコマンドを用いて生成されたメディア転送オブジェクトへ送られる。例えば、フレームバッファ３１０に保存されたＵＩフレームを、「ＵＩフレーム送信」コマンド３２０を介してＵＩ転送オブジェクト３１４へ送ってもよい。また、他のメディアデータ３２２も、適切なＡＰＩコマンドを介して生成された転送オブジェクトへ送ることができる。例えば、バックグラウンドミュージック及びオーバレイデータを、ＵＩビデオストリームとともにクライアントへ送信するために、ＵＩ転送オブジェクト３１４へ送ってもよい。本発明の一実施態様によれば、ＵＩビデオ及びＵＩビデオとともに送信される他のタイプのメディアは、非同期ストリーミングモードで別個のメディア転送チャンネルを介してそれぞれ送信される。
【００４３】
生成された転送ブロック３１４又は３１６は、メディアサーバモジュール３００からのメディアデータを受信し、それに応じて適切なメディアデータパケットを生成する。そうすることで、メディア転送ブロックは適切なヘッダを生成し、メディアデータパケットに添付する。そしてパケットは、１以上のデータ転送チャンネル３２４、３２６を通じてクライアントへ送信される。
【００４４】
図４は、本発明の一実施態様による、メディアサーバ１００からＵＩビデオ及び他のタイプのメディアデータパケットを受信するクライアント１０２のより詳細なブロック図である。クライアント１０２は、ＵＩビデオストリーム２００、他のタイプのメディアデータ及びコントロール情報２０４をメディアサーバ１００から受信するように構成されたクライアントモジュール４００を含む。クライアントモジュール４００を、従来技術の如何なるメカニズムを介して実装してもよく、例えば、クライアント１０２によって採用されたマイクロプロセッサユニットで実行されるソフトウェアモジュールとして実装される。
【００４５】
クライアントモジュール４００は、受信したパケットを１以上のデータバッファ４０８へ転送する。１以上のデータバッファ４０８は、メディアレンダリングモジュール４１０がそのバッファに保存されたデータを出力デバイス４１４へレンダリングするレートで空にされる。パケットがストリームパケットである場合、データはビデオデコーダ１１４によって解凍かつ復号され、そのレンダリングが可能な限り直ちにメディアレンダリングモジュールによってレンダリングされる。パケットがタイムスタンプパケットである場合、そのデータは、クライアントモジュール４００に接続されたタイマ４０２によって計測されるように、タイムスタンプで特定された時刻の経過後にレンダリングされる。
【００４６】
ユーザの選択入力は、有線または無線を通じてクライアントに接続されたユーザ入力デバイス４１２を介してクライアント１０２へ提供される。本発明の一実施態様によれば、その入力デバイスはユーザによって操作されるキー（ボタンとも呼ばれる）を有し、その操作によってそのキーと関連する特定の機能が呼び出される。その入力デバイスは、リモートコントローラ又は従来技術による他の入力デバイスであってもよく、例えば、マウス、ジョイスティック、センサ若しくは音声入力デバイスであってもよい。
【００４７】
本発明の一実施態様によれば、ユーザの選択入力はＵＩイベントパケット２０２としてパッケージされ、サーバによって処理するために別個のコントロールチャンネルを通じてサーバ１００へ転送される。ユーザの選択入力は、メニューページの特定のメニューアイテムを選択するキー押下、コンピュータゲームのシーン内のオブジェクトの移動、ウェブページにおけるハイパーリンクの選択などであってもよい。
【００４８】
典型的なシナリオでは、ユーザは、メディアサーバ１００及びネットワーク１０８に接続された他のマルチメディアデバイス１０４に保存された異なるタイプのメディアファイルを見るためにクライアントＣＥデバイスを取得する。さらに、そのＣＥデバイスを、コンピュータゲームをプレイしたり、ウェブページを見るなどに使用するかもしれない。一実施態様によれば、ユーザがメディアサーバ１００として指定したいコンピュータにユーザがインストールできるメディアサーバプログラムが、ＣＥデバイスに含まれる。あるいは、メディアサーバプログラムを、リモートサーバからダウンロードしてもよく、従来技術による他のメカニズムを用いて取得してもよい。
【００４９】
図５は、本発明の一実施態様による、メディアサーバ１００及びクライアントＣＥデバイス１０２を設定するプロセスのフローチャートである。ステップ５００において、ユーザは、メインプロセッサモジュール３０６によって処理するためにメディアサーバプログラムのインストールを行う。メディアサーバプログラム５００は、例えば、ハードディスク又はメディアサーバモジュール３００に含まれる他の記憶装置（図示せず）にインストールされ、例えば、メインプロセッサモジュール３０６に含まれるローカルメモリ（図示せず）にロードされた後、実行される。
【００５０】
ステップ５０２において、メディアサーバプログラムのインストール及び立ち上げにおいて、ユーザは、クライアント１０２とシェアしようとするメディアファイルの位置を識別することが要求される。メディアファイルは、メディアサーバ１００として選択されたコンピュータデバイス、又は他のネットワーク対応デバイス１０４、オンラインサービスプロバイダ１１２若しくはメディアサーバ１００とアクセス可能なウェブサーバ１１６に位置する場合があるためであり、ユーザは、シェアしようとするメディアファイルのローカルな位置又はその位置へのネットワーク経路を提供し得る。本発明の一実施態様によれば、他のネットワーク対応デバイスにあるメディアファイルを、例えば、周知のユニバーサルプラグアンドプレイ（UPnP）標準に含まれるコンテンツディレクトリサービスを介して、メディアサーバ１００により自動的に発見してもよい。一度発見されると、ユーザは単に各メディアファイルについて、シェアするか否かを指定するだけでよい。
【００５１】
ステップ５０４において、メインプロセッサモジュール３０６は、ユーザに識別された位置に保存されたメディアファイルを走査し、インデックス化する。本発明の一実施態様によれば、走査及びインデックス化のプロセスはバックグラウンドで発生し、ユーザによって識別されたメディア位置の何れかに新しいメディアファイルが追加される度に呼び出される。走査及びインデックス化のプロセス中、選択されたメディアフォルダ内のメディアファイルのメタデータ情報を読み出し、メディアデータベース１０６にそのメタデータ情報を保存する。そしてメタデータ情報は、異なるタイプのメディアの探索、特定のＵＩページのレンダリングなどに用いられる。
【００５２】
ステップ５０６において、メディアサーバ１００とクライアント１０２間の接続が確立される。ユーザは、メディアサーバ１００を、クライアントがその電源ＯＮの際、自動的に接続するデフォルトサーバとして設定してもよい。特定のメディアサーバがデフォルトサーバとして識別されない場合、クライアントは利用可能な全てのメディアサーバとの接続を確立するよう試みる。この点に関して、メインプロセッサモジュールは、発見要求を所定のポートを通じて送信する。一実施態様によれば、その発見要求は、サーバが発見要求の応答に使用するポートの情報だけでなく、クライアントのＩＰアドレスの情報を含むヘッダ部を備えたＵＤＰブロードキャストパケットである。他の実施態様によれば、従来技術のUPnP SSDP（Simple Service Discovery Protocol）を、メディアサーバの発見に使用してもよい。
【００５３】
発見要求を受信した利用可能なサーバは、発見応答とともに応答する。本発明の一実施態様によれば、発見応答は、コントロール接続を確立するためにクライアントが使用し得るコントロールポートの情報を含むＵＤＰパケットである。そして所望のサーバとのＴＰＣ接続が、指定されたコントロールポートを通じて確立される。そのコントロール接続は、クライアント１０２によって生成されたＵＩイベント２０２をメディアサーバ１００に対して送信するために使用してもよい。
【００５４】
本発明の一実施態様によれば、クライアントは、さらに、コントロールポートを通じて、接続可能な１以上の他のメディア転送ポートの情報を含むパケットを送る。そして応答するサーバは、利用可能な各メディア転送ポートに対してＴＣＰ接続を確立してもよい。例えば、ビデオＵＩストリームをクライアントへ送信するために、ビデオ接続を確立してもよい。また、確立し得る他のメディア接続として、オーディオ接続、オーバレイ接続及び／又はアウトオブバンド接続がある。
【００５５】
ステップ５０８において、メディアサーバ１００とクライアント１０２間の１以上の接続を確立する際、メディアサーバ１００は、ビデオ接続を通じてデフォルトのメインＵＩメニューの送信を行う。そしてユーザは、クライアントＣＥデバイス１０２を介して異なるタイプのメディアを楽しむためにメインＵＩメニューとの対話を開始することができる。
【００５６】
図６は、本発明の一実施態様による、メディアサーバ１００へ送信されるＵＩイベントパケットの例を示すブロック図である。パケットは、そのパケットによって送信されるＵＩイベントのタイプを示すパケットタイプフィールド６００を含む。例えば、ＵＩイベントは、キー押下イベントであってもよい。キー押下イベントパケットは、キー押下タイプフィールド６０２とボタン識別子フィールド６０４とを含む。キー押下タイプフィールド６０２は、ボタンの現状態、例えば、ボタンが押下されていること、その押下された位置の状態、又はボタンが押下されていないこと、その押下されていない位置の状態を示す。ボタンＩＤフィールドは、ユーザ入力デバイス４１２で呼び出された特定のボタン、例えば、左、右、選択、プレイ、停止、巻き戻し、早送り、ジャンプ若しくは一時停止ボタンを識別する。ＵＩイベントの他の例は、マウス又はタッチパッド入力、アナログジョイスティック又はシャトル入力若しくは音声入力を記述するコマンドのような、ポインタコマンドを含む。ただし、ＵＩイベントの他の例は、これらに限られるものではない。
【００５７】
図７は、本発明の一実施態様による、ＵＩビデオとともに他のタイプのメディアデータを送信するデータパケットの例を示すブロック図である。そのデータパケットは、タイプフィールド７０２、タイミングフィールド７０４、継続期間７０６及びペイロードサイズ７０８を備えたヘッダ部７００を含む。また、データパケットのヘッダ部７００には、典型的なＲＴＰパケットヘッダに含まれ得る他の従来型のフィールド７１０が含まれていてもよい。メディア接続を通じて送信されるメディアの実際のペイロードデータは、パケットのペイロード部７１２に含まれる。
【００５８】
タイプフィールド７０２は、送信されるメディアのタイプ、例えば、ビデオの特定タイプ（例えば、DivX、AVIなど）、オーディオの特定タイプ（例えば、MP3、AC3、PCMなど）若しくはイメージの特定タイプ（例えば、JPEG、BMPなど）を示す。
【００５９】
タイミングフィールド７０４は、メディアがクライアント１０２によってどのようにレンダリングされるかを示す。例えば、タイミングフィールド７０４がストリームモードに設定されている場合、メディアパケットは、レンダリングが可能な限り直ちにクライアント１０２によってレンダリングされる。また、タイミングフィールド７０４がタイムスタンプモードに設定されている場合、メディアパケットは、タイムスタンプで指定された時間の後、レンダリングされる。
【００６０】
さらに、タイムスタンプモード及びストリームモードは、同期又は非同期とみなしてもよい。タイミングフィールド７０４が同期ストリーム、すなわちタイムスタンプモードを示す場合、継続期間フィールド７０６は、送信されたデータが有効である期間を含むように設定される。タイミングフィールド７０４が非同期ストリームまたはタイムスタンプモードを示す場合、継続期間フィールド７０６には何の期間も含まれない。
【００６１】
また、パケットのヘッダ部７００には、送信されるメディアの特定タイプに特有の他のフィールド７０８を含んでいてもよい。例えば、パケットがビデオパケットである場合、そのビデオの大きさのような情報をパケットに含んでもよい。同様に、パケットがオーディオパケットである場合、サンプリングレートのような情報をパケットに含んでもよい。
【００６２】
図８Ａ及び図８Ｂは、それぞれ、本発明の位置実施態様による、クライアント１０２に表示されるリモートＵＩの生成及び／又は更新を示すフローチャート及び概略ブロック図である。ステップ８００において、メディアサーバ１００のメインプロセッサモジュール３０６は、キー押下イベントを含むコントロールパケットを受信する。ステップ８０２において、メインプロセッサモジュール３０６は、受信したコントロールパケットのキー押下タイプフィールド６０２及びボタンＩＤフィールド６０４に含まれた情報に基づいて、キー押下イベントのタイプを識別する。ステップ８０４において、メインプロセッサモジュール３０６は、識別されたキー押下イベントに応答してリモートＵＩのフレームを生成または更新するよう、ＧＰＵ３０８を起動する。そしてＵＩフレームは、フレームバッファ３１０に保存される。
【００６３】
ステップ８０６において、メインプロセッサモジュール３０６は、ＵＩ転送オブジェクト３１４を生成するためのコマンド３１８をネットワーク転送モジュール３０２へ送信する。コマンド３１８は、転送されるメディアのタイプがＵＩフレームであることを示し、さらに、変換され、転送されるＵＩフレームを含むフレームバッファ３１０への参照を含む。それに応答して、ネットワーク転送モジュール３０２は、ＵＩ転送オブジェクト３１４を生成する（ステップ８０６）。
【００６４】
ステップ８０８において、ＵＩ転送オブジェクト３１４は、クライアント１０２へ送信するＵＩビデオパケット８５０（図８Ｂ）を生成する。また、クライアント１０２へ送信する他のメディアパケット８５２を生成してもよい。例えば、ＵＩ転送オブジェクト３１４は、メディアサーバモジュール３００によって提供される他のメディアデータ３２２に基づいて、別個のオーディオ及び／又はオーバレイパケットを生成してもよい。オーディオパケットは、ＵＩ表示とともに演奏されるバックグラウンドミュージックに関連付けられてもよい。またオーバレイパケットは、ステータスバー、ナビゲーションアイコン、及びＵＩビデオの上にオーバレイされる他のビジュアルと関連付けられてもよい。ＵＩビデオと同時に送信される他のメディアパケットの生成及び送信については、上述した「向上されたメディア転送プロトコル」という題の米国特許出願により詳細に記載されている。
【００６５】
ＵＩビデオパケット８５０の生成において、ＵＩ転送オブジェクト３１４は、適切なＡＰＩコマンド３２０を用いて、メディアサーバモジュール３００によって送信されるＵＩフレームを得る。ＵＩ転送オブジェクトは、ローイメージを圧縮されたビデオフレーム、例えば、DivXビデオフレームに符号化するために、エンコーダ３３０を起動する。そのような符号化ビデオフレームの生成については、上述したＰＣＴ特許出願第US04/41667号により詳細に記述されている。そしてＵＩ転送オブジェクトは、適切なヘッダデータを、生成されたビデオパケットのヘッダ部７００に付け加える。そうすることにより、データパケットのタイプフィールド７０２は適切なビデオタイプに設定され、タイミングフィールド７０４は適切なタイミングモードに設定される。そして生成されたビデオパケットは、適切な転送チャンネル３２４を通じて送信される。
【００６６】
本発明の一実施態様によれば、メインＵＩメニューは、ビデオオプション、ミュージックオプション、写真オプション、サービスオプション及び設定オプションを提供する。ユーザは、入力デバイス４１２において１以上のナビゲーションキーを操作することにより、これらのオプションの何れかをナビゲートしてもよい。ビデオオプションのナビゲーションでは、メディアサーバ２００は、タイトル、ファイルネーム、グループ、ジャンルなどでまとめられた、メディアデータベース１０６に保存されたムービーファイルのリストとともに更新されたＵＩを生成する。その更新されたＵＩは、ビデオフォーマットに変換され、クライアントに送信されて、そこに表示される。
【００６７】
一実施態様によれば、ＵＩは、ユーザが異なるカテゴリによるムービーを観ることを可能にすることができる。例えば、ユーザは、ムービーがネットワーク内の異なるデバイスに保存されている場合の位置により、日付により（例えば、リストのトップに最も新しく修正されたビデオを置くことにより）、又は例えばタイトルのようた他の何れかのカテゴリにより、ムービーを観てもよい。
【００６８】
また、ユーザは、特定のムービーリストをナビゲートし、「enter」又は「play」ボタンをヒットしてムービーを観てもよい。選択されたムービーは、メディアサーバ１００によって読み出され、クライアントへストリームされてリアルタイムで再生される。一実施態様によれば、「向上されたメディア転送プロトコル」という題の米国特許出願に記載されているように、ムービーのビデオ部分はビデオ接続を通じてストリームされ、ムービーのオーディオ部分はオーディオ接続を通じてストリームされる。
【００６９】
ムービーを観ている間、ユーザは様々なトリックプレーのうちの一つ、例えば、早送り、巻き戻し、一時停止などのトリックプレーを呼び出してもよい。そのようなトリックプレーがサーバによってどのように扱われるかの説明は、「向上されたメディア転送プロトコル」という題の米国特許出願により詳細に記載されている。そのようなトリックプレー中、サーバは、トリックプレーを表すアイコンのオーバレイイメージや、ビデオ全体に対するビデオの現在位置を示すステータスバーをクライアントに送信してもよい。
【００７０】
ユーザは、例えば、入力デバイス４１２でメニューボタンを押下することにより、再びメインＵＩメニューを呼び出すことができる。そして、ユーザがミュージックオプションを選択すると、メディアサーバ１００は、アルバム／アーティスト及び関連するアルバムカバーのリスト又は一般的なアイコンを備えた、更新されたＵＩを生成する。更新されたＵＩは、ビデオフォーマットに変換され、クライアントに送信されて、そこに表示される。そのＵＩは、ユーザが、アーティスト、曲、レーティング、ジャンルなどによりユーザのミュージックファイルを検索することを可能にする。メディアサーバ１００は、そのような検索要求を受信すると、メディアデータベース１０６に保存されているメタデータを検索し、検索した情報を含む更新されたＵＩを提示する。
【００７１】
本発明の一実施態様によれば、メディアサーバは、選択されたアルバムに含まれる曲のリストを備えたＵＩを生成し、送信する。ユーザは、特定の曲のリストについてナビゲートし、「プレイ」ボタンをヒットしてその音楽を聴くことができる。選択された音楽はメディアサーバ１００によって読み出され、クライアントへストリーミングされて、リアルタイムで再生される。本発明の一実施態様によれば、現在の曲に関連付けられた情報、例えば、曲及びアルバムの名前、アーティスト、ジャンルといった情報も、メディアデータベース１０６から読み出され、クライアントに送信されて、その音楽が再生されている間、表示されていてもよい。また、アルバムに含まれる他の曲のリストも表示して、ユーザが希望する場合、次へスキップできるようにしてもよい。
【００７２】
本発明の一実施態様によれば、ユーザは、前に選択した音楽がバックグラウンドで再生されている間、写真オプションをナビゲートすることができる。写真オプションのナビゲートでは、メディアサーバ１００は、メディアデータベース１０６に保存された、例えば年月日によってまとめられた写真ファイルのリストを備えた、更新されたＵＩを生成する。また、その更新されたＵＩは、様々な写真のサムネールを含んでもよい。その更新されたＵＩは、ビデオフォーマットに変換され、クライアントに送信されて表示される。特定のサムネールを選択すると、選択された写真が拡大されたフォーマットで表示される。
【００７３】
本発明の一実施態様によれば、メディアサーバ１００によって送信されるメディアに関連付けられたナビゲーションアイコンを、クライアント１０２においてイメージオーバレイデータとして表示することができる。例えば、バックグラウンドミュージックがスライドショーと関連して再生されている場合、クライアントは、ユーザが次または前の曲へスキップしたり、現在の曲を一時停止及び停止することを可能とするナビゲーションアイコンとともに、再生されている曲の名前を表示してもよい。また、スライドショーに関連付けられたナビゲーションアイコンを、ミュージックナビゲーションアイコンに付け加えて、あるいはその代わりに表示してもよい。また、スライドショーに関連付けられたそのナビゲーションアイコンは、ユーザがスライドショーにおける早送り又は早戻しを行ったり、中割り画像のタイミングを変更することなどを可能とする。ユーザは、もしあれば、クライアント１０２によって表示されるオーバレイ情報のタイプを制御してもよい。
【００７４】
本発明の一実施態様によれば、サービスオプションは、オンラインメディアリストのブラウジング、ムービーの購入またはレンタル、チケットの購入、デジタル著作権管理（ＤＲＭ）鍵によって保護されたメディアファイルを再生するための鍵交換などを含むビデオオンデマンドサービスを、ユーザに提供する。また、ユーザは、ウェブページをブラウジングしたり、ニュースを取得したり、株を管理したり、更新された気象情報を受け取ったり、サービスオプションを介してゲームをプレーすることができる。これらのサービスに関連付けられたＵＩを、メディアサーバ１００によって生成し、あるいは様々なオンラインサービスプロバイダ１１２若しくはウェブサーバ１１６の一つからメディアサーバによって取得することができる。メディアサーバは、関連するＵＩを圧縮されたビデオフォーマットに符号化し、クライアントへそのビデオをストリーミングして表示させる。ＵＩとの対話の全てを、メディアサーバ１００で受信する。そしてそれを適切なオンラインサービスプロバイダ１１２及び／又はウェブサーバ１１６へ転送して処理してもよい。
【００７５】
例えば、ユーザがインターネットをブラウジングすることを選択した場合、ユーザは、読み込まれる特定のウェブページのアドレスを提供し、ＵＩイベントパケットでメディアサーバ１００へその情報を送信する。メディアサーバ１００は、ＵＩイベントパケットからアドレスを読み出し、処理のためにウェブサーバ１１６へそのアドレスを転送する。ウェブサーバ１１６は、受信したアドレスに関連するウェブページを読み出し、メディアサーバ１００へそのウェブページを転送する。
【００７６】
メディアサーバ１００は、ウェブページを受信し、例えば、そのウェブページに符号化された情報に基づいて、ウェブページの選択可能な部分を識別する。そしてメディアサーバ１００は、選択可能部分の線形リストを生成し、特定のボタン押下または他のタイプのユーザ入力に基づいて、ウェブページの選択可能部分の一つから別の部分へ遷移する状態マシンを動的に構築する。例えば、「次のオブジェクト」ボタン押下の選択のそれぞれは、線形リスト内の次の選択可能部分への遷移を生じさせることができる。
【００７７】
そしてメディアサーバは、現在受信しているウェブページを圧縮されたビデオフォーマットに変換し、その圧縮されたビデオを、ビデオ接続を通じてクライアントへストリームする。この点に関し、ネットワーク転送モジュール３０２は、そのウェブページを１以上の圧縮されたビデオフォーマット、例えばDivXビデオフレームに符号化し、圧縮するＵＩ転送オブジェクト（図３）を生成する。そして圧縮されたビデオフレームは、ＵＩモードでクライアントへストリームされる。ウェブページが「まだ」ウェブページであれば、単一のビデオフレームがクライアントへ送信され、クライアントは、ウェブページが更新されるまで、指定されたフレームレートで、同一のビデオフレームを何度も繰り返し再生する。
【００７８】
ユーザは、ウェブページと対話するために、クライアントに接続された入力デバイス４１２を使用する。クライアントは、ユーザとの対話をＵＩイベントパケット２０２としてパッケージし、そのパケットをサーバ１００へ転送する。サーバは、そのイベントパケットを検査して、ユーザとの対話のタイプを決定し、ウェブページの特定の選択可能部分へそのユーザとの対話をマッピングする。例えば、選択可能部分がハイパーリンクを含む場合、そのハイパーリンクの選択情報は、ウェブサーバ１１６へ転送されて処理される。ウェブサーバ１１６は、そのハイパーリンク情報に基づいて、ウェブページを読み出し、サーバへそのウェブページを転送する。サーバは、転送されたウェブページを受信して、それを圧縮されたビデオフォーマットに変換し、その圧縮されたビデオをクライアントへ転送する。
【００７９】
他の例によると、ユーザは、サービスオプションからゲームをプレイすることを選択する。それに応じて、メディアサーバ１００は、ゲームのリスト及び／又はゲームのアイコンを備えた、更新されたＵＩを生成する。更新されたＵＩは、圧縮されたビデオフォーマットに変換され、クライアントへ送信されて、そこで表示される。そのＵＩは、ユーザが、例えばゲームの名称によってゲームのリストを検索できるようにしてもよい。メディアサーバ１００は、そのような検索要求を受信すると、メディアデータベース１０６に保存んされているメタデータを検索し、検索された情報を含む、更新されたＵＩを提示する。
【００８０】
ユーザは、特定のゲームをナビゲートし、「enter」又は「play」ボタンをヒットして、そのゲームをプレイすることができる。選択されたゲームは、メディアサーバ１００によって読み出され、圧縮されたビデオフォーマットに変換されて、ビデオ接続を通じてクライアントへストリームされる。この点に関し、ネットワーク転送モジュール３０２は、コンピュータゲームのシーンのコンピュータグラフィックイメージを、圧縮されたビデオフレーム、例えばDivXビデオフレームに符号化するＵＩ転送オブジェクト３１４（図３）を生成する。そして圧縮されたビデオフレームは、ＵＩモードでクライアントへストリームされる。ユーザがクライアントに接続された入力デバイス４１２を使用して、ゲームをプレイするにつれて、クライアントはユーザとの対話を、個別のコントロールチャンネルを通じてサーバ１００へ転送され、そのサーバによって処理されるＵＩイベントパケット２０２としてパッケージする。そのサーバは、ユーザとの対話に基づいて更新されたビデオストリームを生成し、その更新されたビデオストリームをクライアントへストリームする。
【００８１】
本発明の一実施態様によれば、メディアサーバは、メディアサーバでローカルに実行される他の種類のアプリケーションを提供し、クライアントへＵＩストリームとして送信する。そしてユーザは、そのアプリケーションと、クライアントを介してリモートに対話する。しかし、全てのユーザとの対話はメディアサーバで処理され、それに応答して、更新されたイメージ及び／又はオーディオは、更新されたＵＩビデオ及び／又はオーディオとしてクライアントへ送信される。そのアプリケーションを、非ＨＴＭＬアプリケーション、例えば、グーグルアースと同様の対話型マップアプリケーションや、フリッカーフォトスライドショーと同様のスライドショービューワのようなアプリケーションにカスタマイズしてもよい。
【００８２】
他のアプリケーションの例は、オーディオ／ビジュアルカラオケコンテンツをクライアントへ提供するカラオケアプリケーションである。ビジュアルコンテンツは圧縮されたビデオフォーマットに符号化され、専用のビデオ接続を通じて送信される。オーディオコンテンツは専用のオーディオ接続を通じて送信される。あるいは、メディアサーバは、メディアデータベース１０６に保存されたＭＰ３ミュージックを読み出せるなら、ウェブサイトから取得した歌詞を圧縮されたビデオフォーマットに符号化して、専用のビデオ接続を通じて送信しつつ、専用のオーディオチャンネルを通じてそのミュージックをストリームしてもよい。
【００８３】
本発明の一実施態様によれば、メディアサーバは、クライアントに対するマルチタスクオペレーションシステムとしても機能する。この実施態様によれば、メディアサーバは、ユーザのアクションに応答して、特定のＵＩアプリケーションのスワップイン及びスワップアウトを行う。例えば、ユーザは特定のメディアプレーヤのＵＩアプリケーションを選択して、選択されたアプリケーションをクライアントへ提供してもよい。ＵＩアプリケーションは、例えば、オーディオプレイリストを表示してもよい。そして、プレイリストから選択された特定のオーディオを、専用オーディオ接続を通じてストリームしてもよい。別の例では、ＵＩアプリケーションは、専用のビデオチャンネルを通じてフォトスライドショーを提供するフォトスライドショーアプリケーションであってもよい。メディアプレーヤアプリケーションのオーディオストリームを、専用のオーディオチャンネルを通じて送信し、バックグラウンドで再生してもよい。ユーザが、特定のキー、例えば、exitキーのようなキーを押下することで、現在のＵＩアプリケーションを抜け出し、ＵＩアプリケーションのメニューに戻るようにしてもよい。
【００８４】
本発明の一実施態様によれば、メディアサーバは並列アプリケーションをサポートしてもよい。例えば、グーグルアースのような対話型マップアプリケーションからのビデオを、ヤフーミュージックエンジンアプリケーションのようなミュージックアプリケーションからのオーディオと同時にレンダリングしてもよい。
【００８５】
本発明の一実施態様によれば、メディアサーバ１００は、クライアント１０２へＤＲＭ鍵で暗号化されたメディアを送信してもよい。クライアントが権限を有するクライアントの場合、暗号化されたメディアファイルを再生するために、必要な復号鍵が提供される。暗号化されたメディアコンテンツの権限を有するプレーヤとしてＣＥデバイスを登録する際、復号鍵を得るようにしてもよい。例えば、ユーザはメディアサーバ１００にアクセスして、登録サーバにアクセスし、ＣＥデバイスに与えられた登録番号を入力する。それに応答して、登録サーバは、メディアサーバへ、ユーザがＣＥに焼き付けたアクティベーションファイルを送信する。あるいは、上記の「向上されたメディア転送プロトコル」という題の特許出願に記載された、向上されたメディア転送プロトコルを通じてアクティベーションファイルをストリームしてもよい。一実施態様によれば、アクティベーションファイルは、登録コード、ユーザＩＤ及びユーザ鍵を含む。クライアントＣＥデバイスでのＣＤの再生の際、そのＣＥデバイスは、ＣＤ上に焼き付けられている登録コードを、ＣＥデバイス内に保存されている登録コードに対してチェックする。一致する場合、ＣＥデバイスはユーザＩＤ及びユーザ鍵をそのロードメモリ内にロードし、それらを使用してＤＲＭ保護されたメディアを復号し、再生する。
【００８６】
本発明の別の実施態様によれば、ユーザパスワードとユーザネームをＣＥデバイスに入力し、保存する。そしてＤＲＭ保護されたメディアの受信の際、ＣＥデバイスは、コマンドをメディアサーバ１００に送信して、そのユーザネームとパスワードを用いてリモートサーバとコンタクトする。送信されたユーザネームとパスワードに基づいてユーザの認証がなされると、リモートサーバは鍵をメディアサーバ１００に提供し、そしてその鍵はＣＥデバイスに転送され、ＤＲＭ保護されたコンテンツを再生するために使用される。
【００８７】
ＣＥデバイスがＤＲＭ保護されたデータをどのように復号し、再生するかについての詳細は、2004年7月21日に出願された、「最適化された安全なメディア再生制御」という題の米国特許出願第10/895,355号により詳細に記載されている。またその米国出願の内容は、ここに参照として組み込まれる。
【００８８】
本発明を、ある特定の実施態様について説明してきたが、当業者が、本発明の範囲及び精神から外れることなく、記載した実施態様に対する変形例を考案することに困難はないであろう。さらに、様々な分野の当業者に対して、本発明自身は、ここに、他のタスク及び他のアプリケーションに適合するソリューションを提案する。出願人は、本発明のそのような使用の全てと、本発明の精神及び範囲から外れることなく、開示の目的でここに選択された本発明の実施態様に対する変更及び修正とをカバーすることを意図している。したがって、本発明の提示された実施態様は、あらゆる点で、例示として考慮すべきであり、本発明を限定するものとして考慮すべきではない。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施態様による、１以上のＣＥデバイスにリッチなリモートＵＩを提供するシステムのブロック図である。
【図２】本発明の一実施態様による、メディアサーバとクライアント間の通信を示すブロック図である。
【図３】本発明の一実施態様による、図２に示したメディアサーバのより詳細なブロック図である。
【図４】本発明の一実施態様による、図２に示したクライアントのより詳細なブロック図である。
【図５】本発明の一実施態様による、メディアサーバとクライアントＣＥデバイスをセットアップする手順のフローチャートである。
【図６】本発明の一実施態様による、メディアサーバに送信される例示のＵＩイベントパケットの模式図である。
【図７】本発明の一実施態様による、他のタイプのメディアデータとともにＵＩビデオを送信するデータパケットの模式図である。
【図８Ａ】本発明の一実施態様による、クライアントに表示されるリモートＵＩの生成及び／又は更新を示すフローチャートである。
【図８Ｂ】本発明の一実施態様による、クライアントに表示されるリモートＵＩの生成及び／又は更新を示す概略ブロック図である。
【図１】
2008527851.tif 000003
【図２】
2008527851.tif 000004
【図３】
2008527851.tif 000005
【図４】
2008527851.tif 000006
【図５】
2008527851.tif 000007
【図６】
2008527851.tif 000008
【図７】
2008527851.tif 000009
【図８Ａ】
2008527851.tif 000010
【図８Ｂ】
2008527851.tif 000011
【国際調査報告】
2008527851.tif 000012