(57)【特許請求の範囲】
【請求項１】
ワイヤレスネットワークにおけるシンクデバイスによって表示されるべきコンテンツのソースデバイスによって実施される方法であって、
ソースデバイスにおいて、コンテンツがリモートに位置付けられたシンクデバイス上に表示されるための１つまたは複数のレンダリング命令を識別することと、
前記レンダリング命令に少なくとも部分的に基づいて、前記コンテンツの少なくとも一部の表示をレンダリングするための前記シンクデバイスによる実行のためにワイヤレスピアツーピア接続を介して前記シンクデバイスに前記１つまたは複数のレンダリング命令を送信することと、
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信すること、ここにおいて、前記受信されたデータは、前記ソースデバイス上でアプリケーションを起動するための命令と前記ソースデバイス上で実行しているアプリケーションを制御するための命令とのうちの少なくとも１つを備える、と
を備え、前記１つまたは複数のレンダリング命令を前記識別することは、前記受信されたデータに少なくとも部分的に基づいて、更新されたまたは新しい１つまたは複数のレンダリング命令を識別することをさらに備え、前記更新されたまたは新しい１つまたは複数のレンダリング命令は、前記シンクデバイスによる更なるレンダリングのために、前記シンクデバイスに送信される、方法。
【請求項２】
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおけるユーザ入力に対応する、
請求項１に記載の方法。
【請求項３】
前記ソースデバイス上でアプリケーションを実行することをさらに備え、前記更新されたまたは新しい１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記アプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
請求項１に記載の方法。
【請求項４】
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおける前記アプリケーションのためのユーザ入力に対応する、
請求項３に記載の方法。
【請求項５】
前記更新されたまたは新しい１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記ソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
請求項１に記載の方法。
【請求項６】
前記受信されたデータの少なくとも一部は、前記ソースデバイスの前記ユーザインターフェースに従って前記シンクデバイスにおけるユーザ入力に対応する、
請求項５に記載の方法。
【請求項７】
前記コンテンツにおいて少なくとも１つのグラフィックスリソースを識別することと、
前記少なくとも１つのグラフィックスリソースを圧縮することと、
前記圧縮された少なくとも１つのグラフィックスリソースを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのグラフィックスリソースを含めるように構成される、と
をさらに備える、請求項１に記載の方法。
【請求項８】
前記コンテンツにおいて少なくとも１つのビデオストリームを識別することと、
前記少なくとも１つのビデオストリームを圧縮することと、
前記圧縮された少なくとも１つのビデオストリームを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのビデオストリームを含めるように構成される、と
をさらに備える、請求項１に記載の方法。
【請求項９】
ワイヤレスネットワークにおけるシンクデバイスによるコンテンツの表示を可能にするように構成される装置であって、
ソースデバイスにおいて、コンテンツがリモートに位置付けられたシンクデバイス上に表示されるための１つまたは複数のレンダリング命令を識別するための手段と、
前記レンダリング命令に少なくとも部分的に基づいて、前記コンテンツの少なくとも一部の表示をレンダリングするための前記シンクデバイスによる実行のためにワイヤレスピアツーピア接続を介して前記シンクデバイスに前記１つまたは複数のレンダリング命令を送信するための手段と、
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信するための手段、ここにおいて、前記受信されたデータは、前記ソースデバイス上でアプリケーションを起動するための命令と前記ソースデバイス上で実行しているアプリケーションを制御するための命令とのうちの少なくとも１つを備える、と
を備え、前記１つまたは複数のレンダリング命令を前記識別するための手段は、前記受信されたデータに少なくとも部分的に基づいて、更新されたまたは新しい１つまたは複数のレンダリング命令を識別するための手段をさらに備え、前記更新されたまたは新しい１つまたは複数のレンダリング命令は、前記シンクデバイスによる更なるレンダリングのために、前記シンクデバイスに送信される、装置。
【請求項１０】
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおけるユーザ入力に対応する、
請求項９に記載の装置。
【請求項１１】
前記ソースデバイス上でアプリケーションを実行するための手段をさらに備え、前記更新されたまたは新しい１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記アプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
請求項９に記載の装置。
【請求項１２】
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおける前記アプリケーションのためのユーザ入力に対応する、
請求項１１に記載の装置。
【請求項１３】
前記更新されたまたは新しい１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記ソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
請求項９に記載の装置。
【請求項１４】
前記受信されたデータの少なくとも一部は、前記ソースデバイスの前記ユーザインターフェースに従って前記シンクデバイスにおけるユーザ入力に対応する、
請求項１３に記載の装置。
【請求項１５】
前記コンテンツにおいて少なくとも１つのグラフィックスリソースを識別するための手段と、
前記少なくとも１つのグラフィックスリソースを圧縮するための手段と、
前記圧縮された少なくとも１つのグラフィックスリソースを前記シンクデバイスに送信するための手段、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのグラフィックスリソースを含めるように構成される、と
をさらに備える、請求項９に記載の装置。
【請求項１６】
前記コンテンツにおいて少なくとも１つのビデオストリームを識別するための手段と、
前記少なくとも１つのビデオストリームを圧縮するための手段と、
前記圧縮された少なくとも１つのビデオストリームを前記シンクデバイスに送信するための手段、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのビデオストリームを含めるように構成される、と
をさらに備える、請求項９に記載の装置。
【請求項１７】
ワイヤレスネットワークにおけるリモートに位置付けられたシンクデバイスによるコンテンツの表示のためのソースデバイスであって、
プロセッサと、
前記プロセッサと電子通信しているメモリと、
前記メモリに記憶されている命令と
を備え、前記命令は、
前記ソースデバイスにおいて、コンテンツが前記リモートに位置付けられたシンクデバイス上に表示されるための１つまたは複数のレンダリング命令を識別することと、
前記レンダリング命令に少なくとも部分的に基づいて、前記コンテンツの少なくとも一部の表示をレンダリングするための前記シンクデバイスによる実行のためにワイヤレスピアツーピア接続を介して前記シンクデバイスに前記１つまたは複数のレンダリング命令を送信することと、
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信すること、ここにおいて、前記受信されたデータは、前記ソースデバイス上でアプリケーションを起動するための命令と前記ソースデバイス上で実行しているアプリケーションを制御するための命令とのうちの少なくとも１つを備える、と
を行うように前記プロセッサによって実行可能であり、前記１つまたは複数のレンダリング命令を前記識別することは、前記受信されたデータに少なくとも部分的に基づいて、更新されたまたは新しい１つまたは複数のレンダリング命令を識別することをさらに備え、前記更新されたまたは新しい１つまたは複数のレンダリング命令は、前記シンクデバイスによる更なるレンダリングのために、前記シンクデバイスに送信される、ソースデバイス。
【請求項１８】
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおけるユーザ入力に対応する、
請求項１７に記載のソースデバイス。
【請求項１９】
前記命令は、
前記ソースデバイス上でアプリケーションを実行するように前記プロセッサによって実行可能であり、前記更新されたまたは新しい１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記アプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
請求項１７に記載のソースデバイス。
【請求項２０】
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおける前記アプリケーションのためのユーザ入力に対応する、請求項１９に記載のソースデバイス。
【請求項２１】
前記更新されたまたは新しい１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記ソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
請求項１７に記載のソースデバイス。
【請求項２２】
前記受信されたデータの少なくとも一部は、前記ソースデバイスの前記ユーザインターフェースに従って前記シンクデバイスにおけるユーザ入力に対応する、
請求項２１に記載のソースデバイス。
【請求項２３】
前記命令は、
前記コンテンツにおいて少なくとも１つのグラフィックスリソースを識別することと、
前記少なくとも１つのグラフィックスリソースを圧縮することと、
前記圧縮された少なくとも１つのグラフィックスリソースを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのグラフィックスリソースを含めるように構成される、と
を行うように前記プロセッサによって実行可能である、請求項１７に記載のソースデバイス。
【請求項２４】
前記命令は、
前記コンテンツにおいて少なくとも１つのビデオストリームを識別することと、
前記少なくとも１つのビデオストリームを圧縮することと、
前記圧縮された少なくとも１つのビデオストリームを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのビデオストリームを含めるように構成される、と
を行うように前記プロセッサによって実行可能である、請求項１７に記載のソースデバイス。
【請求項２５】
ワイヤレスネットワークにおけるソースデバイスのコンテンツの表示のためにリモートに位置付けられたシンクデバイスによって実施される方法であって、
ソースデバイスから直接のワイヤレスピアツーピア接続を介して、表示されるべきコンテンツのための１つまたは複数のレンダリング命令を受信することと、
前記レンダリング命令に少なくとも部分的に基づいて、前記コンテンツの少なくとも一部の表示をレンダリングするために前記１つまたは複数のレンダリング命令を実行することと、
前記ワイヤレスピアツーピア接続を介して前記ソースデバイスにデータを送信すること、ここにおいて、前記送信されたデータは、前記ソースデバイス上でアプリケーションを起動するための命令と前記ソースデバイス上で実行しているアプリケーションを制御するための命令とのうちの少なくとも１つを備える、と
を備え、前記データは、前記ソースデバイスによって更新されたまたは新しい１つまたは複数のレンダリング命令を識別するために使用され、前記更新されたまたは新しい１つまたは複数のレンダリング命令は、前記シンクデバイスによる更なるレンダリングのために、前記シンクデバイスで受信される、方法。
【請求項２６】
前記シンクデバイスにおいてユーザ入力を受信することをさらに備え、前記ソースデバイスに送信された前記データのうちの少なくとも一部は、前記受信されたユーザ入力に対応する、
請求項２５に記載の方法。
【発明の詳細な説明】
【相互参照】
【０００１】
[0001]本特許出願は、２０１３年１２月２３日に出願され、本出願の譲受人に譲渡された、「Ｒｅｍｏｔｅ  Ｒｅｎｄｅｒｉｎｇ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｕｓｅ  ｏｆ  Ｗｉｒｅｌｅｓｓ  Ｂａｎｄｗｉｄｔｈ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ｄｏｃｋｉｎｇ」と題する、Ｓｕｂｒａｍａｎｉａｍらによる米国特許出願第１４／１３８，９４５号の優先権を主張する。
【背景技術】
【０００２】
[0002]以下は、一般にワイヤレス通信に関し、より詳細にはＷｉ−Ｆｉ（登録商標）ピアツーピアリモート表示に関する。ワイヤレス通信システムは、音声、ビデオ、パケットデータ、メッセージング、およびブロードキャストなど、様々なタイプの通信コンテンツを提供するために広く展開されている。これらのシステムは、ワイヤレス媒体にアクセスするためにキャリアセンス多重アクセス／衝突回避（ＣＳＭＡ／ＣＡ）メカニズムを利用するＷｉ−Ｆｉシステムとしても知られる、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）であり得る。これらのシステムはまた、利用可能なシステムリソース（たとえば、時間、周波数、および電力）を共有することによって複数のユーザとの通信をサポートすることが可能な多元接続システムであり得る。そのような多元接続システムの例としては、符号分割多元接続（ＣＤＭＡ）システム、時分割多元接続（ＴＤＭＡ）システム、周波数分割多元接続（ＦＤＭＡ）システム、および直交周波数分割多元接続（ＯＦＤＭＡ）システムがある。
【０００３】
[0003]概して、ピアツーピアネットワークは、ワイヤレスデバイスが互いに直接通信することを可能にする。互いの範囲内のデバイスは、中央アクセスポイントに関与することなしに発見し、直接通信し得る。Ｗｉ−Ｆｉピアツーピア接続は、ポータブルデバイスまたはコンピュータが、互換性があるディスプレイにビデオおよびオーディオをワイヤレスに送信することを可能にする。ビデオおよびオーディオを送信するデバイスはソースデバイスと呼ばれることがある。互換性があるディスプレイ（またはディスプレイに接続されたデバイス）はシンクデバイスと呼ばれることがある。
【０００４】
[0004]あるオペレーティングシステムをもつモニタ、あるいはオペレーティングシステムをもたないモニタ上での、モバイルデバイスの表示のリモートレンダリングのための様々な手法が考察されている。たとえば、Ｍｉｒａｃａｓｔ  １．０は、Ｗｉ−Ｆｉネットワークを介してデバイス間でビデオをワイヤレス表示することを可能にする。概して、コンテンツは、ソースデバイス（たとえば、携帯電話、タブレットなど）において圧縮され、パケット化され、シンクデバイス（たとえば、ＰＣ、モニタなど）に送信される。シンクデバイスは、パケット化された情報を受信し、次いで、コンテンツを解凍し、表示する。
【０００５】
[0005]許容できるレンダリングのために、Ｈ．２６４コーデックなどの高品質ビデオコーデック規格が使用され得る。しかしながら、ＭｉｒａｃａｓｔにおけるＨ．２６４コーデックを使用したピクセル領域圧縮は、比較的高い電力消費量と、比較的高いワイヤレス帯域幅要件と、比較的低品質のグラフィックスおよびテキストとをもたらす。さらに、より高解像度のコンテンツ／表示および表示リフレッシュレートについての増大する要件が、８０２．１１ａｃおよび８０２．１１ａｄプロトコルの無線能力の限界を推し進めている。
【発明の概要】
【０００６】
[0006]説明する特徴は、概して、ワイヤレス帯域幅の効率的な使用のためにリモートレンダリングを改善するための１つまたは複数の改善されたシステム、方法、および／または装置に関する。概して、本手法は、ビデオを符号化されたコンテンツ（たとえば、ストリーミング）として送り、シンクデバイスが表示自体の少なくとも一部をレンダリングし得るようにレンダリング命令（たとえば、ＨＴＭＬ、ＸＭＬ、ＯＰＥＮＧＬ、ＪＡＶＡ（登録商標）など）を送ることである。事前構築されたリソース（たとえば、テクスチャ）が、アプリケーションの始動時にシンクデバイスに送られ得る。リソースは次いでオーバーレイされ得、テキストがシンク側において「オンデマンドで」レンダリングされ得る。
【０００７】
[0007]ソースデバイスは、シンクデバイス上に表示されるべきコンテンツにおいてレンダリング命令を識別し得る。ソースデバイスは、識別されたレンダリング命令をシンクデバイスに直接送り得る。ソースデバイスはまた、コーディングされたビデオおよび／またはコーディングされたリソースをシンクデバイスに送り得る。シンク側で、シンクデバイスはレンダリング命令を受信し得、次いで、表示コンテンツをレンダリングするために命令を実行し得る。シンクデバイスは、ビデオおよび／またはリソースを復号し得、次いで、シンクデバイスにおける（たとえば、フレームバッファからモニタへの）出力のための表示を取得するために、ビデオおよび／またはリソースをレンダリングされた表示コンテンツと組み合わせ得る。
【０００８】
[0008]この手法は、ソース側においてレンダリングされるコンテンツの圧縮と、シンク側におけるそれの解凍とを必要としないことによってワイヤレス帯域幅をより効率的に使用し得る。特に、この手法は、１つまたは複数のバッテリーに依拠するソースデバイスの電力消費量を低下させ得る。さらに、この手法は、ただ１つのフレーム遅延のレイテンシを提供し得る。
【０００９】
[0009]シンクデバイスは、高品質のグラフィックスおよびテキストを「オンデマンドで」レンダリングし得る。また、シンクデバイスに提供されるリソースは、「オンデマンドで」使用され得、リソース更新を送っているソースデバイスによって容易に更新され得る。ユーザインターフェースコンテンツは、毎秒１つまたは２つのクリックのユーザ入力など、典型的には比較的遅いレートで、ユーザ対話に基づいて更新され得る。ユーザ対話に基づいて更新されるディスプレイの領域は、ディスプレイ中で移動されるカーソルなど、しばしば頻繁には比較的小さくなり得る。同様に、ディスプレイの小さい領域のみが、ユーザ入力（たとえば、タイピングまたはボイスツーテキスト）に応答してテキストで更新され得る。さらに、バックグラウンドは（アニメーション化されない限り）静的であり得る。したがって、グラフィックスおよびテキストはシンク側上に容易にレンダリングされ得る。
【００１０】
[0010]ワイヤレスネットワークにおけるシンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法について説明する。一構成では、本方法は、コンテンツを表示することが可能なソースデバイスにおいて、コンテンツがシンクデバイス上にリモートで表示されるための１つまたは複数のレンダリング命令を識別することを伴い得る。１つまたは複数のレンダリング命令は、コンテンツの少なくとも一部の表示をレンダリングするためのシンクデバイスによる実行のためにワイヤレスピアツーピア接続を介してシンクデバイスに送信され得る。
【００１１】
[0011]いくつかの実施形態では、本方法は、ワイヤレスピアツーピア接続を介してシンクデバイスからソースデバイスにおいてデータを受信することを伴い得る。そのような実施形態では、１つまたは複数のレンダリング命令を識別することは、受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別することを伴い得る。さらに、受信されたデータの少なくとも一部は、シンクデバイスにおけるユーザ入力に対応し得る。
【００１２】
[0012]いくつかの実施形態では、本方法は、ソースデバイス上でアプリケーションを実行することを伴い得る。そのような実施形態では、１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時にアプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成され得る。本方法は、ワイヤレスピアツーピア接続を介してシンクデバイスからソースデバイスにおいてデータを受信することをさらに伴い得る。１つまたは複数のレンダリング命令を識別することは、受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別することを伴い得る。また、受信されたデータの少なくとも一部は、シンクデバイスにおけるアプリケーションのためのユーザ入力に対応し得る。
【００１３】
[0013]いくつかの実施形態では、１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時にソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成され得る。そのような実施形態では、本方法は、ワイヤレスピアツーピア接続を介してシンクデバイスからソースデバイスにおいてデータを受信することを伴い得る。１つまたは複数のレンダリング命令を識別することは、受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別することを伴い得る。受信されたデータの少なくとも一部は、ソースデバイスのユーザインターフェースに従ってシンクデバイスにおけるユーザ入力に対応し得る。
【００１４】
[0014]いくつかの実施形態では、本方法は、コンテンツにおいて少なくとも１つのグラフィックスリソースを識別することを伴い得る。少なくとも１つのグラフィックスリソースは圧縮され得、シンクデバイスに送信され得る。１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示されるコンテンツ中に少なくとも１つのグラフィックスリソースを含めるように構成され得る。
【００１５】
[0015]いくつかの実施形態では、本方法は、コンテンツにおいて少なくとも１つのビデオストリームを識別することを伴い得る。少なくとも１つのビデオストリームは、圧縮であり得、シンクデバイスに送信され得る。１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示されるコンテンツ中に少なくとも１つのビデオストリームを含めるように構成され得る。
【００１６】
[0016]ワイヤレスネットワークにおけるシンクデバイスによるコンテンツのリモート表示を可能にするように構成された装置について説明する。一構成では、本装置は、コンテンツを表示することが可能なソースデバイスにおいて、コンテンツがシンクデバイス上にリモートで表示されるための１つまたは複数のレンダリング命令を識別するための手段を含み得る。本装置はまた、コンテンツの少なくとも一部の表示をレンダリングするためのシンクデバイスによる実行のためにワイヤレスピアツーピア接続を介してシンクデバイスに１つまたは複数のレンダリング命令を送信するための手段を含み得る。さらに、本装置は、本明細書で説明する追加の機能のうちの１つまたは複数を実施するための手段を含み得る。
【００１７】
[0017]ワイヤレスネットワークにおけるシンクデバイスによるコンテンツのリモート表示のためのソースデバイスについて説明する。一構成では、ソースデバイスは、プロセッサと、プロセッサと電子通信しているメモリと、メモリに記憶された命令とを含み得る。命令は、コンテンツを表示することが可能なソースデバイスにおいて、コンテンツがシンクデバイス上にリモートで表示されるための１つまたは複数のレンダリング命令を識別することと、コンテンツの少なくとも一部の表示をレンダリングするためのシンクデバイスによるワイヤレスピアツーピア接続フォー実行を介してシンクデバイスに１つまたは複数のレンダリング命令を送信することとを行うようにプロセッサによって実行可能であり得る。さらに、命令は、本明細書で説明する追加の機能のうちの１つまたは複数を実施するようにプロセッサによって実行可能であり得る。
【００１８】
[0018]ワイヤレスネットワークにおけるソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法について説明する。一構成では、本方法は、コンテンツを表示することが可能なソースデバイスから直接のワイヤレスピアツーピア接続を介して、表示されるべきコンテンツのための１つまたは複数のレンダリング命令を受信することと、コンテンツの少なくとも一部の表示をレンダリングするために１つまたは複数のレンダリング命令を実行することとを伴い得る。いくつかの実施形態では、本方法は、ワイヤレスピアツーピア接続を介してソースデバイスにデータを送信することを伴い得る。そのような実施形態では、受信された１つまたは複数のレンダリング命令のうちの少なくとも１つは、送信されたデータに少なくとも部分的に基づき得る。また、本方法は、シンクデバイスにおいてユーザ入力を受信することを伴い得る。そのような実施形態では、ソースデバイスに送信されたデータの少なくとも一部は、受信されたユーザ入力に対応し得る。さらに、本方法は、本明細書で説明する追加の機能のうちの１つまたは複数を実施することを伴い得る。
【００１９】
[0019]説明する方法および装置の適用可能性のさらなる範囲は、以下の発明を実施するための形態、特許請求の範囲、および図面から明らかになろう。発明を実施するための形態の趣旨および範囲内の様々な変更および改変が当業者に明らかになるので、発明を実施するための形態および特定の例は例示として与えられるものにすぎない。
【図面の簡単な説明】
【００２０】
[0020]以下の図面を参照することにより、本発明の性質および利点のさらなる理解が実現され得る。添付の図では、同様の構成要素または特徴は同じ参照ラベルを有し得る。さらに、同じタイプの様々な構成要素は、参照ラベルの後に、ダッシュと、同様の構成要素の間で区別する第２のラベルとを続けることによって区別され得る。第１の参照ラベルのみが明細書において使用される場合、説明は、第２の参照ラベルにかかわらず、同じ第１の参照ラベルを有する同様の構成要素のどの１つにも適用可能である。
【図１】ワイヤレス通信システムのブロック図。
【図２】様々な実施形態によるシンクデバイスを示すブロック図。
【図３】シンクデバイスの別の実施形態を示すブロック図。
【図４】様々な実施形態によるソースデバイスを示すブロック図。
【図５】ソースデバイスの別の実施形態を示すブロック図。
【図６】ソースデバイスのさらなる実施形態を示すブロック図。
【図７】シンク／ソースデバイスの一構成のブロック図。
【図８】ソースデバイスの一実施形態のブロック図。
【図９】シンクデバイスの一実施形態のブロック図。
【図１０】様々な実施形態による、ソースデバイスとシンクデバイスとの間の通信のフローを示すメッセージフロー図。
【図１１】様々な実施形態による、ソースデバイスとシンクデバイスとの間の通信の別のフローを示すメッセージフロー図。
【図１２】シンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法の一実施形態を示すフローチャート。
【図１３】シンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法の別の実施形態を示すフローチャート。
【図１４】シンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法のさらなる実施形態を示すフローチャート。
【図１５】ソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法の一実施形態を示すフローチャート。
【図１６】ソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法の別の実施形態を示すフローチャート。
【図１７】ソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法のさらなる実施形態を示すフローチャート。
【図１８】ソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法のまた別の実施形態を示すフローチャート。
【発明を実施するための形態】
【００２１】
[0039]シンクデバイスにおいてソースデバイスのコンテンツをリモートでレンダリングするために、ワイヤレスピアツーピア接続を介して接続されるソースデバイスとシンクデバイスとの間の通信が実施され得る。Ｗｉ−Ｆｉリモート表示は、限定はしないが、Ｍｉｒａｃａｓｔ（登録商標）としても知られるＷｉ−Ｆｉディスプレイ仕様、ディスカバリーアンドローンチ（ＤＩＡＬ）、Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ（登録商標）（ＤＬＮＡ（登録商標））、エアプレイ、ＷｉｒｅｌｅｓｓＨＤ、ワイヤレスホームデジタルインターフェース（ＷＨＤＩ）、インテルのワイヤレスディスプレイ（ＷｉＤｉ）技術、および超広帯域（ＵＷＢ）接続を含む。Ｗｉ−Ｆｉリモート表示は、ポータブルデバイスまたはコンピュータが、互換性があるデバイスにコンテンツ（たとえば、ビデオ、オーディオ、画像など）をワイヤレスに送信することを可能にし得る。Ｗｉ−Ｆｉリモート表示は、ピアツーピアワイヤレスリンクを介して圧縮された標準または高精細度ビデオの配信を可能にし得る。Ｗｉ−Ｆｉリモート表示はまた、ユーザが、あるデバイスから別のデバイスのディスプレイ上に表示をエコーすることを可能にし得る。リモート表示のためのワイヤレスピアツーピア接続は、２つのＷｉ−Ｆｉピアツーピアデバイス間のＷｉ−Ｆｉピアツーピア（Ｐ２Ｐ）リンクを利用し得る。これはＷｉ−Ｆｉダイレクト接続と呼ばれることもある。別の例では、接続は、Ｗｉ−Ｆｉトンネルドダイレクトリンクセットアップ（ＴＤＬＳ）リンクを使用することによって確立され得る。
【００２２】
[0040][0041]本明細書で説明するモバイルデバイスの表示のリモートレンダリングは、概してウェブブラウザ技術とは区別されるべきである。ウェブブラウザ技術は、マルチホップネットワークを介して動作するリモートレンダリングの一形態であると見なされ得る。これに反して、本開示のコンテキストにおけるリモートレンダリングは、シングルホップネットワークとして動作するＷｉ−Ｆｉダイレクト（ポイントツーポイント接続）を伴うものとして理解されるべきである。
【００２３】
[0042]一例では、ソースデバイス（たとえば、スマートフォン）は、シンクデバイス（たとえば、タブレットまたはＰＣ）上に表示されることをユーザが望むコンテンツを受信するかまたはさもなければ取得し得る。ソースデバイスは、コンテンツにおいてレンダリング命令を識別し得、識別されたレンダリング命令をシンクデバイスに直接送り得る。ソースデバイスはまた、コーディングされたビデオおよび／またはコーディングされたリソースをシンクデバイスに送り得る。シンクデバイスはレンダリング命令を受信し得、次いで、表示用のコンテンツをレンダリングするために命令を実行し得る。シンクデバイスは、ビデオおよび／またはリソースを復号し得、シンクデバイスにおける（たとえば、フレームバッファからディスプレイスクリーンまたはモニタへの）出力のためのコンテンツの表示を取得するために、ビデオおよび／またはリソースをレンダリングされたコンテンツと組み合わせ得る。
【００２４】
[0043]以下の説明は例を与えるものであり、特許請求の範囲に記載される範囲、適用可能性、または構成を限定するものではない。本開示の趣旨および範囲から逸脱することなく、説明される要素の機能および配置に関して変更が行われ得る。様々な実施形態は、適宜に様々な手順または構成要素を省略、置換、または追加し得る。たとえば、説明する方法は、説明する順序とは異なる順序で実施され得、様々なステップが追加、省略、または組み合わせられ得る。また、いくつかの実施形態に関して記載される特徴は、他の実施形態において組み合わせられ得る。以下の説明ではＤＴＸと間欠送信という用語を互換的に使用する。
【００２５】
[0044]最初に図１を参照すると、システム１００は、様々なソースデバイス１１５と、様々なシンクデバイス１０５とを含む。これらの構成要素の各々は、直接または間接的に、互いに通信していることがある。ソースデバイス１１５の例としては、限定はしないが、Ｗｉ−Ｆｉ接続を介してシンクデバイスと通信することが可能なスマートフォン、セルフォン、タブレット、携帯情報端末（ＰＤＡ）、ラップトップ、または任意の他のデバイスがあり得る。シンクデバイス１０５の例としては、限定はしないが、ソースデバイスから受信されたコンテンツを表示し、Ｗｉ−Ｆｉ接続を介してソースデバイスと通信することが可能な車載インフォテインメントデバイス、ＴＶ、コンピュータ、ラップトップ、プロジェクタ、カメラ、スマートフォン、または任意の他のデバイスがあり得る。
【００２６】
[0045]一実施形態では、ソースデバイス１１５−ａは、第１のシンクデバイス１０５−ａ−１および第２のシンクデバイス１０５−ａ−２など、１つまたは複数のシンクデバイスに接続され得る。ソースデバイス１１５−ａと１つまたは複数のシンクデバイス１０５とは、Ｗｉ−Ｆｉピアツーピア接続を介して接続され得る。Ｗｉ−Ｆｉ接続は、ソースデバイス１１５−ａが、リンク１１０を介して１つまたは複数のシンクデバイス１０５にデータを送信することを可能にし得る。ソースデバイス１１５−ａから送信されたデータはシンクデバイス１０５によって表示され得る。画像に加えて、ソースデバイス１１５−ａは、リンク１１０を介してシンクデバイス１０５にビデオおよび／またはオーディオストリームを送信し得る。シンクデバイス１０５は、受信されたビデオおよび／またはオーディオストリームを処理して、ディスプレイおよび／またはスピーカーを介してそれのコンテンツをレンダリングし得る。
【００２７】
[0046]一構成では、Ｗｉ−Ｆｉ接続はまた、シンクデバイス１０５が、リンク１１０を介してソースデバイス１１５−ａにデータを送信することを可能にし得る。シンクデバイス１０５から送信されたデータは、ソースデバイス１１５−ａおよび／またはソースデバイス１１５−ａ上の１つまたは複数のアプリケーションの様々な機能を制御するためにソースデバイス１１５−ａによって使用され得る。シンクデバイス１０５から送信されたデータはまた、それぞれのシンクデバイス１０５によって表示されるべきコンテンツのレンダリング命令および／または他の特徴を決定する（たとえば、更新する）ためにソースデバイス１１５−ａによって使用され得る。たとえば、シンクデバイス１０５は、様々な入力コントロール（たとえば、マウス、キーボード、タッチスクリーン、ノブ、キー、ユーザインターフェースボタン）を含み得る。これらのコントロールは、ソースデバイス１１５−ａと対話し、および／またはソースデバイス１１５−ａに記憶されたアプリケーションを初期化しそれと対話するために、シンクデバイス１０５において使用され得る。いくつかの実施形態では、シンクデバイス１０５において表示されるべきコンテンツは、それぞれのシンクデバイス１０５のための、ソースデバイス１１５−ａのユーザインターフェースおよび／またはソースデバイス１１５−ａ上で実行しているアプリケーションのユーザインターフェースの少なくとも一部であり得る。
【００２８】
[0047]ソースデバイス１１５−ａとシンクデバイス１０５との間のリンク１１０は双方向であり得る。上記で説明したように、リモート表示のためのワイヤレスピアツーピア接続は、Ｗｉ−Ｆｉ  Ｐ２Ｐリンク、Ｗｉ−Ｆｉダイレクト接続またはＷｉ−Ｆｉ  ＴＤＬＳリンクを利用し得る。これらの例におけるＷｉ−Ｆｉデバイスは、ＩＥＥＥ８０２．１１、および限定はしないが、８０２−１１ｂ、８０２．１１ｇ、８０２．１１ａ、８０２．１１ｎ、８０２．１１ａｃ、８０２．１１ａｄ、８０２．１１ａｈなどを含む、それの種々のバージョンからの物理レイヤおよびＭＡＣレイヤを含むＷＬＡＮ無線およびベースバンドを使用し得る。
【００２９】
[0048]図１には示されていないが、第１のシンクデバイス１０５−ａ−１および／または第２のシンクデバイス１０５−ａ−２は、Ｗｉ−Ｆｉ接続を介して追加のソースデバイスと通信し得る。一実施形態では、シンクデバイス１０５は、Ｗｉ−Ｆｉピアツーピア接続を介して別の第２のソースデバイス（図示せず）と接続され得る。シンクデバイス１０５は、シンクデバイスとソースデバイス１１５−ａとの間の接続と同時に、またはそれとは異なる時間に接続され得る。
【００３０】
[0049]次に図２を参照すると、ブロック図２００は、様々な実施形態によるシンクデバイス１０５−ｂを示す。シンクデバイス１０５−ｂは、図１を参照しながら説明したシンクデバイス１０５のうちの１つの１つまたは複数の態様の一例であり得る。デバイス１０５−ｂはプロセッサでもあり得る。デバイス１０５−ｂは、シンク受信機モジュール２０５と、レンダリング管理モジュール２１０と、シンク送信機モジュール２１５とを含み得る。これらの構成要素の各々は互いに通信していることがある。
【００３１】
[0050]シンクデバイス１０５−ｂの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、１つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【００３２】
[0051]シンク受信機モジュール２０５は、１つまたは複数の信号２２０を介して、図１を参照しながら説明したソースデバイス１１５などの１つまたは複数のソースデバイスから通信を受信し得る。本明細書で説明する通信は、オーディオおよび／またはビデオストリーム、グラフィックスリソース、ならびに／あるいはレンダリング命令を含み得る。シンク受信機モジュール２０５は、シンクデバイス１０５−ｂと１つまたは複数のソースデバイス１１５との間に確立されたワイヤレス（たとえば、Ｗｉ−Ｆｉ）ピアツーピア接続を介してこれらの通信を受信し得る。レンダリング管理モジュール２１０は、１つまたは複数の信号２２５を介してシンクデバイス１０５−ｂによって受信されたそのような通信を管理し得る。さらに、レンダリング管理モジュール２１０は、１つまたは複数の信号２３０を介して、シンクデバイス１０５−ｂからソースデバイスに送信される通信を管理し得る。本明細書で説明するこれらの通信は、ソースデバイス１１５および／またはソースデバイス１１５上で実行している１つまたは複数のアプリケーションと対話するためのシンクデバイス１０５−ｂにおけるユーザ入力を表すデータを含み得る。シンク送信機モジュール２１５は、１つまたは複数の信号２３５を介して、Ｗｉ−Ｆｉ接続を介してシンクデバイス１０５−ｂからのそのようなデータを送信し得る。レンダリング管理モジュール２１０に関するさらなる詳細については以下で説明する。
【００３３】
[0052]図３は、様々な実施形態によるシンクデバイス１０５−ｃを示すブロック図３００である。シンクデバイス１０５−ｃは、図１および／または図２を参照しながら説明したシンクデバイス１０５のうちの１つの１つまたは複数の態様の一例であり得る。デバイス１０５−ｃはプロセッサでもあり得る。デバイス１０５−ｃは、シンク受信機モジュール２０５−ａと、レンダリング管理モジュール２１０−ａと、シンク送信機モジュール２１５−ａとを含み得る。これらの構成要素の各々は互いに通信していることがある。
【００３４】
[0053]デバイス１０５−ｃの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、１つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【００３５】
[0054]シンク受信機モジュール２０５−ａおよびシンク送信機モジュール２１５−ａは、図２を参照しながら前に説明したように構成され得る。レンダリング管理モジュール２１０−ａは、レンダリング命令モジュール３０５と、グラフィックスリソースモジュール３１０と、ビデオストリームモジュール３１５と、入力／出力モジュール３２０とを含み得る。
【００３６】
[0055]レンダリング管理モジュール２１０−ａは、図２に関して上記で説明した様々な機能を実施するように構成され得る。この例では、レンダリング命令モジュール３０５は、表示用のコンテンツをレンダリングするために、シンクデバイス１０５−ｃによって受信されたレンダリング命令を処理および／または実行し得る。シンクデバイス１０５−ｃ、レンダリング管理モジュール２１０−ａまたはレンダリング命令モジュール３０５は、そのような機能を実施するためにプロセッサを含み得る。
【００３７】
[0056]グラフィックスリソースモジュール３１０は、信号２２０を介してシンクデバイス１０５−ｃによって受信されたグラフィックスリソースを記憶し得、たとえば、シンクデバイス１０５−ｃによって受信されたレンダリング命令のうちの１つまたは複数に従って、表示のために１つまたは複数のグラフィックスリソースを提供するように構成され得る。ビデオストリームモジュール３１５は、信号２２０を介してシンクデバイス１０５−ｃによって受信された１つまたは複数のビデオストリームを処理し得る。たとえば、ビデオストリームモジュール３１５は、表示のためにビデオストリームを解凍および／または復号し得る。いくつかの実施形態では、これは、シンクデバイス１０５−ｃによって受信されるレンダリング命令のうちの１つまたは複数に従い得る。図示されていないが、レンダリング管理モジュール２１０−ａは、オーディオストリームを処理するためのオーディオストリームモジュールをも含み得るか、またはビデオストリームモジュール３１５は、オーディオストリームとビデオストリームの両方を処理するためのオーディオ／ビデオストリームモジュールとして実装され得る。入力／出力モジュール３２０は、シンクデバイス１０５−ｃにおいて受信されたユーザ入力を処理し得、そのユーザ入力に少なくとも部分的に基づいて１つまたは複数のソースデバイスへの出力のためのデータを生成し得る。データは、ソースデバイス１１５とおよび／またはソースデバイス１１５上のアプリケーションと対話するために、シンク送信機モジュール２１５−ａによって信号２３５を介して１つまたは複数のソースデバイス１１５に送信され得る。
【００３８】
[0057]図４は、様々な実施形態によるソースデバイス１１５−ｂを示すブロック図４００である。ソースデバイス１１５−ｂは、図１を参照しながら説明したソースデバイス１１５のうちの１つの１つまたは複数の態様の一例であり得る。ソースデバイス１１５−ｂはプロセッサでもあり得る。ソースデバイス１１５−ｂは、ソース受信機モジュール４０５と、通信管理モジュール４１０と、ソース送信機モジュール４１５とを含み得る。これらの構成要素の各々は互いに通信していることがある。
【００３９】
[0058]ソースデバイス１１５−ｂの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、１つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【００４０】
[0059]ソース受信機モジュール４０５は、１つまたは複数の信号４２０を介して、図１、図２および／または図３を参照しながら説明したシンクデバイス１０５のうちの１つまたは複数など、シンクデバイスから通信を受信し得る。受信された通信は、任意の好適な形態のデータであり得る。ソース受信機モジュール４０５は、ソースデバイス１１５−ｂとシンクデバイス１０５との間に確立されたワイヤレス（たとえば、Ｗｉ−Ｆｉ）ピアツーピア接続を介してこれらの通信を受信し得る。通信管理モジュール４１０は、１つまたは複数の信号４２５を介してソースデバイス１１５−ｂによって受信されたそのような通信を管理し得る。さらに、通信管理モジュール４１０は、１つまたは複数の信号４３０を介して、ソースデバイス１１５−ｂからシンクデバイスに送信される通信を管理し得る。さらに、通信管理モジュール４１０は、１つまたは複数のシンクデバイス１０５にオーディオおよび／またはビデオストリーム、グラフィックスリソース、ならびに／あるいはレンダリング命令を提供するためのソースデバイス１１５−ｂの態様を制御するかまたはさもなければ管理するために、データを処理し得る。
【００４１】
[0060]ソース送信機モジュール４１５は、１つまたは複数の信号４３５を介して、図１、図２および／または図３を参照しながら説明したシンクデバイス１０５のうちの１つまたは複数など、シンクデバイスに通信を送信し得る。送信される通信は、グラフィックスリソース、オーディオおよび／またはビデオストリーム、ならびに／あるいはレンダリング命令などのデータを含み得る。ソース送信機モジュール４１５は、ソースデバイス１１５−ｂとシンクデバイス１０５との間に確立されたワイヤレス（たとえば、Ｗｉ−Ｆｉ）ピアツーピア接続を介してこれらの通信を送信し得る。通信管理モジュール４１０に関する詳細については以下で説明する。
【００４２】
[0061]図５は、様々な実施形態によるソースデバイス１１５−ｃを示すブロック図５００である。ソースデバイス１１５−ｃは、図１および／または図４を参照しながら説明したソースデバイス１１５のうちの１つの１つまたは複数の態様の一例であり得る。デバイス１１５−ｃはプロセッサでもあり得る。デバイス１１５−ｃは、ソース受信機モジュール４０５−ａと、通信管理モジュール４１０−ａと、ソース送信機モジュール４１５−ａとを含み得る。これらの構成要素の各々は互いに通信していることがある。
【００４３】
[0062]デバイス１１５−ｃの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、１つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【００４４】
[0063]ソース送信機モジュール４１５−ａは、図４に関して前に説明したように構成され得る。ソース受信機モジュール４０５−ａも、図４に関して前に説明したように構成され得る。通信管理モジュール４１０−ａは、レンダリング命令モジュール５０５と、グラフィックスリソースモジュール５１０と、ビデオストリームモジュール５１５とを含み得る。
【００４５】
[0064]一実施形態では、レンダリング命令モジュール５０５は、レンダリング命令を取得するために表示されるべきコンテンツを処理し得る。レンダリング命令は、ソースデバイス１１５−ｃにおいて表示のために実行され得、ソース送信機モジュール４１５−ａによって信号４３５を介して１つまたは複数のシンクデバイス１０５に送信され得る。一例では、通信管理モジュール４１０−ａまたはレンダリング命令モジュール５０５は、信号４２０を介してソースデバイス１１５−ｃによって受信されたコンテンツからレンダリング命令を分離するかまたはさもなければ取得し得る。別の例では、通信管理モジュール４１０−ａまたはレンダリング命令モジュール５０５は、ソースデバイス１１５−ｃによって記憶または生成されたコンテンツからレンダリング命令を分離するかまたはさもなければ取得し得る。
【００４６】
[0065]一実施形態では、グラフィックスリソースモジュール５１０は、１つまたは複数のグラフィックスリソースを取得するために表示されるべきコンテンツを処理し得る。グラフィックスリソースは、（たとえば、１つまたは複数の実行されたレンダリング命令に従って）ソースデバイス１１５−ｃにおいて表示中に含められ得、ソース送信機モジュール４１５−ａによって信号４３５を介して１つまたは複数のシンクデバイス１０５に送信され得る。一例では、通信管理モジュール４１０−ａまたはグラフィックスリソースモジュール５１０は、信号４２０を介してソースデバイス１１５−ｃによって受信されたコンテンツからグラフィックスリソースを分離するかまたはさもなければ取得し得る。別の例では、通信管理モジュール４１０−ａまたはグラフィックスリソースモジュール５１０は、ソースデバイス１１５−ｃによって記憶または生成されたコンテンツからグラフィックスリソースを分離するかまたはさもなければ取得し得る。
【００４７】
[0066]一実施形態では、ビデオストリームモジュール５１５は、１つまたは複数のビデオストリームを取得するために表示されるべきコンテンツを処理し得る。ビデオストリームは、（たとえば、１つまたは複数の実行されたレンダリング命令に従って）ソースデバイス１１５−ｃにおいて表示中に含められ得、ソース送信機モジュール４１５−ａによって信号４３５を介して１つまたは複数のシンクデバイス１０５に送信され得る。一例では、通信管理モジュール４１０−ａまたはビデオストリームモジュール５１５は、信号４２０を介してソースデバイス１１５−ｃによって受信されたコンテンツからビデオストリームを分離するかまたはさもなければ取得し得る。別の例では、通信管理モジュール４１０−ａまたはビデオストリームモジュール５１５は、ソースデバイス１１５−ｃによって記憶または生成されたコンテンツからビデオストリームを分離するかまたはさもなければ取得し得る。図示されていないが、通信管理モジュール４１０−ａは、オーディオストリームを処理するためのオーディオストリームモジュールをも含み得るか、またはビデオストリームモジュール５１５は、オーディオストリームとビデオストリームの両方を処理するためのオーディオ／ビデオストリームモジュールとして実装され得る。
【００４８】
[0067]ソース受信機モジュール４０５−ａは、ソースデバイス１１５−ｃとシンクデバイス１０５との間に確立されたワイヤレス（たとえば、Ｗｉ−Ｆｉ）ピアツーピア接続を介してシンクデバイス１０５からデータを受信し得る。通信管理モジュール４１０−ａは、１つまたは複数のシンクデバイス１０５にビデオストリーム、グラフィックスリソース、および／またはレンダリング命令をそれぞれ提供するためのビデオストリームモジュール５１５、グラフィックスリソースモジュール５１０、およびレンダリング命令モジュール５０５を制御するかまたはさもなければ管理するために、受信されたデータを処理し得る。
【００４９】
[0068]図６は、様々な実施形態によるソースデバイス１１５−ｄを示すブロック図６００である。ソースデバイス１１５−ｄは、図１、図４、および／または図５を参照しながら説明したソースデバイス１１５のうちの１つの１つまたは複数の態様の一例であり得る。ソースデバイス１１５−ｄはプロセッサでもあり得る。ソースデバイス１１５−ｄは、ソース受信機モジュール４０５−ｂと、通信管理モジュール４１０−ｂと、ソース送信機モジュール４１５−ｂとを含み得る。これらの構成要素の各々は互いに通信していることがある。
【００５０】
[0069]デバイス１１５−ｄの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個別にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的にまたは部分的に、１つまたは複数の汎用または特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに記憶された命令を用いて実装され得る。
【００５１】
[0070]ソース受信機モジュール４０５−ｂおよびソース送信機モジュール４１５−ｂは、図４および／または図５に関して前に説明したように構成され得る。一構成では、通信管理モジュール４１０−ｂは、アプリケーション初期化検出モジュール６０５と、アプリケーションインターフェースモジュール６１０とを含み得る。
【００５２】
[0071]一実施形態では、アプリケーション初期化検出モジュール６０５は、アプリケーションがソースデバイス１１５−ｄ上で初期化または起動されることを検出するかまたはさもなければ決定し得る。アプリケーションの初期化／起動は、ソースデバイス１１５−ｄにおいて受信されたユーザ入力に基づき得る。追加または代替として、アプリケーションの初期化／起動は、シンクデバイス１０５において受信されたユーザ入力と、信号４２０を介してソース受信機モジュール４０５−ｂによって受信されたそのようなユーザ入力を表すデータとに基づき得る。ソース受信機モジュール４０５−ｂは、ソースデバイス１１５−ｄとシンクデバイス１０５との間に確立されたワイヤレス（たとえば、Ｗｉ−Ｆｉ）ピアツーピア接続を介してこのデータを受信し得る。
【００５３】
[0072]一実施形態では、アプリケーションインターフェースモジュール６１０は、ソースデバイス１１５−ｄ上に１つまたは複数の初期化された（たとえば、実行中の）アプリケーションのためのユーザインターフェースの表示を提供するための、ビデオおよび／またはオーディオストリーム、グラフィックスリソース、ならびに／あるいはレンダリング命令を識別するかまたはさもなければ決定し得る。追加または代替として、アプリケーションインターフェースモジュール６１０は、シンクデバイス１０５上に１つまたは複数の初期化されたアプリケーションのためのインターフェースの少なくとも一部の表示をレンダリングするための、シンクデバイスに送信されるべきそのようなデータを識別するかまたはさもなければ決定し得る。ソース送信機モジュール４１５−ｂは、信号４３５を介して、Ｗｉ−Ｆｉ接続を介してそのようなデータを送信し得る。
【００５４】
[0073]アプリケーションインターフェースモジュール６１０はまた、シンクデバイス１０５上の１つまたは複数のアプリケーションユーザインターフェースの表示に従ってシンクデバイス１０５において受信されたユーザ入力を表すデータを処理し得る。ソース受信機モジュール４０５−ｂは、Ｗｉ−Ｆｉ接続を介してこのデータを受信し得る。アプリケーションインターフェースモジュール６１０は、そのデータを使用して１つまたは複数のアプリケーションへの命令を提供し得る。そのような命令は、ソースデバイス１１５−ｄ上のアプリケーションを制御し得、また、リモート表示のためにシンクデバイス１０５に送信されるデータを更新し得る。
【００５５】
[0074]図７は、様々な実施形態によるデバイス７０５を示すブロック図７００である。デバイス７０５は、デバイス７０５の実際の使用に応じて、本明細書で説明するソースデバイスとしてあるいはシンクデバイスとして動作し得る。その結果、デバイス７０５は、別のデバイスによるリモートレンダリングのためのコンテンツを提供するために、および／または別のデバイスからレンダリングコンテンツのためのデータを受信し、受信されたデータを使用してコンテンツをリモートでレンダリングするために、（たとえば、Ｗｉ−Ｆｉピアツーピア接続を介して）他のワイヤレスデバイスとのＷｉ−Ｆｉダイレクト通信に参加するように構成され得る。したがって、デバイス７０５は、それぞれ、図１、図２、図３、図４、図５および／または図６のシンクデバイス１０５ならびに／あるいはソースデバイス１１５であり得る。デバイス７０５は、車載インフォテインメントデバイス、デジタルテレビジョン、パーソナルコンピュータ（たとえば、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータなど）、携帯電話、ＰＤＡ、デジタルビデオレコーダ（ＤＶＲ）、インターネット家電機器、ゲームコンソール、電子リーダーなど、様々な構成のいずれかを有し得る。デバイス７０５は、モバイル動作を可能にするために、小型バッテリーなどの内部電源（図示せず）を有し得る。
【００５６】
[0075]デバイス７０５は、アンテナ７１０と、送受信機モジュール７１５と、メモリ７２０と、プロセッサモジュール７３０とを含み、これらの各々は、（たとえば、１つまたは複数のバスを介して）互いに、直接または間接的に通信していることがある。トランシーバモジュール７１５は、上記で説明したように、アンテナ７１０を介して双方向に通信するように構成される。たとえば、トランシーバモジュール７１５は、図１、図２、図３、図４、図５および／または図６の他のデバイス１０５／１１５と双方向に通信するように構成され得る。トランシーバモジュール７１５は、前に説明したように、図２、図３、図４、図５および／または図６の受信機モジュール２０５／４０５および送信機モジュール２１５／４１５を含み得る。一実施形態では、トランシーバモジュール７１５は、パケットを変調し、変調されたパケットを送信のためにアンテナ７１０に与え、アンテナ７１０から受信されたパケットを復調するように構成されたモデムをさらに含み得る。デバイス７０５は単一のアンテナを含み得るが、デバイス７０５は、典型的には、複数のリンクのための複数のアンテナ７０５を含むことになる。
【００５７】
[0076]メモリ７２０は、ランダムアクセスメモリ（ＲＡＭ）と、読取り専用メモリ（ＲＯＭ）とを含み得る。メモリ７２０は、実行されたとき、プロセッサモジュール７３０に本明細書で説明する様々な機能を実施させる（たとえば、オーディオおよび／またはビデオストリーム、グラフィックスリソース、ならびに／あるいはレンダリング命令、受信、送信などを識別／決定／取得させる）ように構成された命令を含んでいるコンピュータ可読、コンピュータ実行可能ソフトウェアコード７２５を記憶し得る。代替的に、ソフトウェア７２５は、プロセッサモジュール７３０によって直接的に実行可能でないことがあるが、（たとえば、コンパイルされ実行されたとき）コンピュータに本明細書で説明する機能を実施させるように構成され得る。
【００５８】
[0077]プロセッサモジュール７３０は、インテリジェントハードウェアデバイス、たとえば、中央処理ユニット（ＣＰＵ）、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）などを含み得る。プロセッサモジュール７３０は、マイクロフォンを介してオーディオを受信し、そのオーディオを、受信されたオーディオを表す（たとえば、長さ３０ｍｓの）パケットに変換し、そのオーディオパケットをトランシーバモジュール７１５に与え、ユーザが話しているかどうかの指示を与えるように構成される、音声符号化器（図示せず）を含み得る。代替的に、符号化器はパケットをトランシーバモジュール７１５に与えるだけであり、パケット自体の供給または抑制／抑圧が、ユーザが話しているかどうかの指示を与え得る。
【００５９】
[0078]図７のアーキテクチャによれば、デバイス７０５は、レンダリング管理モジュール２１０−ｃと、通信管理モジュール４１０−ｃと、状態モジュール７３５とをさらに含み得る。レンダリング管理モジュール２１０−ｃは、バスを介してデバイス７０５の他の構成要素の一部または全部と通信しているデバイス７０５の構成要素であり得る。代替的に、レンダリング管理モジュール２１０−ｃの機能は、トランシーバモジュール７１５の構成要素として、コンピュータプログラム製品として、ならびに／あるいはプロセッサモジュール７３０の１つまたは複数のコントローラ要素として実装され得る。同様に、通信管理モジュール４１０−ｃは、バスを介してデバイス７０５の他の構成要素の一部または全部と通信しているデバイス７０５の構成要素であり得る。代替的に、通信管理モジュール４１０−ｃの機能は、トランシーバモジュール７１５の構成要素として、コンピュータプログラム製品として、ならびに／あるいはプロセッサモジュール７３０の１つまたは複数のコントローラ要素として実装され得る。
【００６０】
[0079]状態モジュール７３５は、現在のデバイス状態を反映し、制御し得る。デバイス７０５は、１つまたは複数の入力／出力（Ｉ／Ｏ）デバイス７４０をさらに含み得る。これらは、キーボード、タッチスクリーン、マウス、マイクロフォン、スピーカー、ディスプレイなどを含み得る。Ｉ／Ｏデバイス７４０は、デバイス７０５のための従来の入力／出力に加えて、本明細書で説明する様々な機能を提供し得る。
【００６１】
[0080]デバイス７０５の構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的または部分的に、１つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに組み込まれた命令を用いて実装され得る。言及されたモジュールの各々は、本明細書で説明するデバイス７０５の動作に関係する１つまたは複数の機能を実施するための手段であり得る。
【００６２】
[0081]図８は、ソースデバイス１１５−ｆのブロック図８００である。これは、図１、図４、図５、図６および／または図７のソースデバイス１１５であり得る。ソースデバイス１１５−ｆは、パーソナルコンピュータ（たとえば、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータなど）、携帯電話、ＰＤＡ、デジタルビデオレコーダ（ＤＶＲ）、インターネット家電機器、ゲームコンソール、電子リーダーなど、様々な構成のいずれかを有し得る。ソースデバイス１１５−ｆは、モバイル動作を可能にするために、小型バッテリーなどの内部電源（図示せず）を有し得る。
【００６３】
[0082]ソースデバイス１１５−ｆは、アンテナ８０５と、Ｗｉ−Ｆｉソケット８１０（たとえば、トランシーバ）と、データプロセッサ８１５と、レンダリング命令モジュール８２０と、Ａ／Ｖストリームモジュール８２５と、グラフィックスリソースモジュール８３０とを含み得、これらの各々はそれぞれ、（たとえば、１つまたは複数のバスを介して）互いに、直接または間接的に通信していることがある。Ｗｉ−Ｆｉソケット８１０は、上記で説明したように、アンテナ８０５を介して双方向に通信するように構成され得る。たとえば、Ｗｉ−Ｆｉソケット８１０は、図１、図２、図３および／または図７のシンクデバイス１０５と双方向に通信するように構成され得る。Ｗｉ−Ｆｉソケット８１０はまた、前に説明したように、図４、図５および／または図６のソース受信機モジュール４０５およびソース送信機モジュール４１５を含み得る。Ｗｉ−Ｆｉソケット８１０は、パケットを変調し、変調されたパケットを送信のためにアンテナ８０５に与え、アンテナ８０５から受信されたパケットを復調するように構成されたモデムを含み得る。ソースデバイス１１５−ｆは単一のアンテナを含み得るが、ソースデバイス１１５−ｆは通常、複数のリンクのための複数のアンテナ８０５を含むことになる。
【００６４】
[0083]データプロセッサ８１５は、インテリジェントハードウェアデバイス、たとえば、中央処理ユニット（ＣＰＵ）、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）などを含み得る。データプロセッサ８１５は、マイクロフォンを介してオーディオを受信し、そのオーディオを、受信されたオーディオを表す（たとえば、長さ３０ｍｓの）パケットに変換し、そのオーディオパケットをＷｉ−Ｆｉソケット８１０に与え、ユーザが話しているかどうかの指示を与えるように構成される、音声符号化器（図示せず）を含み得る。代替的に、符号化器はパケットをＷｉ−Ｆｉソケット８１０に与えるだけであり、パケット自体の供給または抑制／抑圧が、ユーザが話しているかどうかの指示を与え得る。
【００６５】
[0084]図８に示されているように、データプロセッサ８１５は、１つまたは複数の信号８７０を介して外部ソース（たとえば、インターネット）からディスプレイデータ８３５を受信し得る。代替または追加として、データプロセッサ８１５は、ソースデバイス１１５−ｆ（たとえば、オペレーティングシステム、アプリケーションなど）から表示データを受信し得る。データプロセッサ８１５は、１つまたは複数のレンダリング命令、１つまたは複数のオーディオおよび／またはビデオストリームならびに１つまたは複数のグラフィックスリソースを取得するために、受信されたディスプレイデータ８３５を処理し得る。レンダリング命令、オーディオおよび／またはビデオストリームならびにグラフィックスリソースは、それぞれ、１つまたは複数の信号８７５を介してレンダリング命令モジュール８２０に、１つまたは複数の信号８８０を介してＡ／Ｖストリームモジュール８２５に、および１つまたは複数の信号８８５を介してグラフィックスリソースモジュール８３０に提供され得る。レンダリング命令モジュール８２０、Ａ／Ｖストリームモジュール８２５およびグラフィックスリソースモジュール８３０は、本明細書で説明するようにそれぞれのデータを処理し得る。
【００６６】
[0085]図８のアーキテクチャによれば、ソースデバイス１１５−ｆは、レンダリングエンジンまたはグラフィックス処理ユニット（ＧＰＵ）８４０と、ディスプレイコンポジションエンジン８４５と、フレームバッファ８５０と、ソースディスプレイ８５５とをさらに含み得る。レンダリングエンジン／ＧＰＵ８４０は、１つまたは複数の信号８９０を介してレンダリング命令モジュール８２０から受信されたレンダリング命令を使用して表示用のコンテンツをレンダリングし得る。ディスプレイコンポジションエンジン８４５は、１つまたは複数の信号８９５を介してＧＰＵ８４０から受信されたレンダリングされたコンテンツを、１つまたは複数の信号８０２を介してＡ／Ｖストリームモジュール８２５から受信されたビデオストリームと、および１つまたは複数の信号８０４を介してグラフィックスリソースモジュール８３０から受信されたグラフィックスリソースと組み合わせ得る。この組み合わせられたコンテンツは、１つまたは複数の信号８０６を介してフレームバッファ８５０に提供され得、フレームバッファ８５０は、表示のために１つまたは複数の信号８０８を介してコンテンツをソースディスプレイ８５５に送り得る。
【００６７】
[0086]ソースデバイス１１５−ｆは、１つまたは複数の信号８１０を介してＡ／Ｖストリームモジュール８２５から受信されたビデオストリームと、１つまたは複数の信号８１２を介してグラフィックスリソースモジュール８３０から受信されたグラフィックスリソースとを送信のために処理（たとえば、圧縮および／または符号化）するための圧縮モジュール８６０（および／またはコーディングモジュール、図示せず）をさらに含み得る。ソースデバイス１１５−ｆはまた、１つまたは複数の信号８１４を介してレンダリング命令モジュール８２０から受信されたレンダリング命令を、１つまたは複数の信号８１６を介して受信された処理されたビデオストリームおよび／またはグラフィックスリソースと組み合わせるためのマルチプレクサ８６５を含み得る。マルチプレクサ８６５は、１つまたは複数の信号８１８を介して組み合わせられたデータをＷｉ−Ｆｉソケット８１０に提供し得、Ｗｉ−Ｆｉソケット８１０は、シンクデバイスへの送信のために１つまたは複数の信号８２０を介してデータをアンテナ８０５に送り得る。
【００６８】
[0087]ソースデバイス１１５−ｆの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的または部分的に、１つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに組み込まれた命令を用いて実装され得る。言及されたモジュールの各々は、ソースデバイス１１５−ｆの動作に関係する１つまたは複数の機能を実施するための手段であり得る。
【００６９】
[0088]図９は、シンクデバイス１０５−ｅのブロック図９００である。これは、図１、図２、図３および／または図７のシンクデバイス１０５であり得る。シンクデバイス１０５−ｅは、パーソナルコンピュータ（たとえば、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータなど）、携帯電話、ＰＤＡ、デジタルビデオレコーダ（ＤＶＲ）、インターネット家電機器、ゲームコンソール、電子リーダーなど、様々な構成のいずれかを有し得る。シンクデバイス１０５−ｅは、モバイル動作を可能にするために、小型バッテリーなどの内部電源（図示せず）を有し得る。
【００７０】
[0089]シンクデバイス１０５−ｅは、アンテナ９０５と、Ｗｉ−Ｆｉソケット９１０（たとえば、トランシーバ）と、デマルチプレクサ９１５と、レンダリング命令モジュール９２０と、Ａ／Ｖ復号器９２５と、リソース復号器９３０とを含み得、これらの各々はそれぞれ、（たとえば、１つまたは複数のバスを介して）互いに、直接または間接的に通信していることがある。Ｗｉ−Ｆｉソケット９１０は、上記で説明したように、アンテナ９０５を介して双方向に通信するように構成され得る。たとえば、Ｗｉ−Ｆｉソケット９１０は、図１、図４、図５、図６および／または図７のソースデバイス１１５と双方向に通信するように構成され得る。Ｗｉ−Ｆｉソケット９１０はまた、前に説明したように、図２および／または図３のシンク受信機モジュール２０５およびシンク送信機モジュール２１５を含み得る。Ｗｉ−Ｆｉソケット９１０は、パケットを変調し、変調されたパケットを送信のためにアンテナ９０５に与え、アンテナ９０５から受信されたパケットを復調するように構成されたモデムを含み得る。シンクデバイス１０５−ｅは単一のアンテナを含み得るが、シンクデバイス１０５−ｅは、典型的には、複数のリンクのための複数のアンテナ９０５を含むことになる。
【００７１】
[0090]アンテナ９０５は、ソースデバイス１１５からデータを受信し、受信されたデータを１つまたは複数の信号９５５を介してＷｉＦｉ（登録商標）ソケット９１０に提供し得る。ＷｉＦｉソケット９１０は、今度は、１つまたは複数の信号９６０を介してデータをデマルチプレクサ９１５に提供し得る。デマルチプレクサ９１５は、ソースデバイス１１５から受信されたデータを、１つまたは複数のレンダリング命令と、１つまたは複数のオーディオおよび／またはビデオストリームと、１つまたは複数のグラフィックスリソースとに分離（たとえば、デマルチプレクス）し得る。レンダリング命令、オーディオおよび／またはビデオストリームならびにグラフィックスリソースは、それぞれ、１つまたは複数の信号９６５を介してレンダリング命令モジュール９２０に、１つまたは複数の信号９７０を介してＡ／Ｖ復号器９２５に、および１つまたは複数の信号９７５を介してリソース復号器９３０に提供され得る。レンダリング命令モジュール９２０、Ａ／Ｖ復号器９２５およびリソース復号器９３０は、本明細書で説明するようにそれぞれのデータを処理（たとえば、復号、解凍など）し得る。
【００７２】
[0091]図９のアーキテクチャによれば、シンクデバイス１０５−ｅは、レンダリングエンジンまたはグラフィックス処理ユニット（ＧＰＵ）９３５と、ディスプレイコンポジションエンジン９４０と、フレームバッファ９４５と、シンクディスプレイ９５０とをさらに含み得る。レンダリングエンジン／ＧＰＵ９３５は、１つまたは複数の信号９８０を介してレンダリング命令モジュール９２０から受信されたレンダリング命令を使用して表示用のコンテンツをレンダリングし得る。ディスプレイコンポジションエンジン９４０は、１つまたは複数の信号９８５を介してＧＰＵ９３５から受信されたレンダリングされたコンテンツを、１つまたは複数の信号９９０を介してＡ／Ｖ復号器９２５から受信されたビデオストリームと、および１つまたは複数の信号９９５を介してリソース復号器９３０から受信されたグラフィックスリソースと組み合わせ得る。この組み合わせられたコンテンツは、１つまたは複数の信号９０２を介してフレームバッファ９４５に提供され得、フレームバッファ９４５は、表示のために１つまたは複数の信号９０４を介してコンテンツをシンクディスプレイ９５０に送り得る。
【００７３】
[0092]図示されていないが、シンクデバイス１０５−ｅは、シンクデバイス１０５−ｅにおいてユーザ入力を受信するための１つまたは複数の入力デバイスを含み得る。シンクデバイス１０５−ｅは、本明細書で説明するようにソースデバイスへの送信のためのデータを生成するために受信機ユーザ入力を使用し得る。
【００７４】
[0093]シンクデバイス１０５−ｅの構成要素は、適用可能な機能の一部または全部をハードウェアで実施するように適応された１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を用いて、個々にまたはまとめて実装され得る。代替的に、機能は、１つまたは複数の他の処理ユニット（またはコア）によって、１つまたは複数の集積回路上で実施され得る。他の実施形態では、当技術分野で知られている任意の様式でプログラムされ得る、他のタイプの集積回路（たとえば、ストラクチャード／プラットフォームＡＳＩＣ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および他のセミカスタムＩＣ）が使用され得る。各ユニットの機能はまた、全体的または部分的に、１つまたは複数の汎用プロセッサまたは特定用途向けプロセッサによって実行されるようにフォーマットされた、メモリに組み込まれた命令を用いて実装され得る。言及されたモジュールの各々は、シンクデバイス１０５−ｅの動作に関係する１つまたは複数の機能を実施するための手段であり得る。
【００７５】
[0094]図１０は、ソースデバイス１１５−ｇとシンクデバイス１０５−ｆとの間の通信の一例を示すメッセージフロー図１０００である。ソースデバイス１１５−ｇは、図１、図４、図５、図６、図７および／または図８のデバイス１１５の一例であり得る。シンクデバイス１０５−ｆは、図１、図２、図３、図４、図７および／または図９に示されたシンクデバイス１０５の一例であり得る。
【００７６】
[0095]一構成では、ソースデバイス１１５−ｇおよびシンクデバイス１０５−ｆは、Ｗｉ−Ｆｉピアツーピア接続を介して接続され得る。ソースデバイス１１５−ｇは、シンクデバイス１０５−ｆに１つまたは複数のレンダリング命令１００５を送り得る。シンクデバイス１０５−ｆは、受信されたレンダリング命令を使用してコンテンツのディスプレイ１０１０をレンダリングし得る。
【００７７】
[0096]シンクデバイス１０５−ｆは、ソースデバイス１１５−ｇにデータ１０１５を送り得る。ソースデバイス１１５−ｇは、受信されたデータ１０１５を使用してソースデバイス１１５−ｇによって決定された、更新されたまたは新しいレンダリング命令１０２０を送り得る。シンクデバイス１０５−ｆは、次いで、受信された更新された／新しいレンダリング命令１０２０を使用してコンテンツのディスプレイ１０２５をレンダリングし得る。メッセージフロー図１０００はレンダリング命令に関して記述されているが、１つまたは複数のビデオストリームならびに／あるいは１つまたは複数のグラフィックスリソースが、レンダリング命令とともにまたはそれの代わりに含まれ得ることを理解されたい。
【００７８】
[0097]図１１は、ソースデバイス１１５−ｈとシンクデバイス１０５−ｇとの間の通信の一例を示すメッセージフロー図１１００である。ソースデバイス１１５−ｈは、図１、図４、図５、図６、図７、図８および／または図１０のデバイス１１５の一例であり得る。シンクデバイス１０５−ｇは、１、２、３、４、７、９および／または１０に示されたシンクデバイス１０５の一例であり得る。
【００７９】
[0098]一構成では、ソースデバイス１１５−ｈおよびシンクデバイス１０５−ｇは、Ｗｉ−Ｆｉピアツーピア接続を介して接続され得る。ソースデバイス１１５−ｈは、シンクデバイス１０５−ｆに１つまたは複数のレンダリング命令１１０５を送り得る。シンクデバイス１０５−ｆは、受信されたレンダリング命令を使用してソースデバイス１１５−ｈのユーザインターフェース（ＵＩ）のディスプレイ１１１０をレンダリングし得る。
【００８０】
[0099]シンクデバイス１０５−ｆは、ディスプレイ１１１０に従ってシンクデバイス１０５−ｇにおいて受信されたユーザ入力に対応するデータ１１１５をソースデバイス１１５−ｈに送り得る。ソースデバイス１１５−ｈは、受信されたデータ１１１５を使用してソースデバイス１１５−ｈによって決定された、更新されたまたは新しいレンダリング命令１１２０を送り得る。たとえば、受信されたデータ１１１５は、ソースデバイス１１５−ｈ上でアプリケーションを起動するための命令を含み得る。そのような場合、更新されたまたは新しいレンダリング命令１１２０は、起動されるアプリケーションのＵＩのディスプレイをレンダリングするためであることが、ソースデバイス１１５−ｈによって決定され得る。シンクデバイス１０５−ｇは、次いで、受信された更新された／新しいレンダリング命令１１２０を使用して、ソースデバイス１１５−ｈ上で実行しているアプリケーションのユーザインターフェース（ＵＩ）のディスプレイ１１２５をレンダリングし得る。
【００８１】
[0100]シンクデバイス１０５−ｆは、ディスプレイ１１２５に従ってシンクデバイス１０５−ｇにおいて受信されたユーザ入力に対応するデータ１１３０をソースデバイス１１５−ｈに送り得る。ソースデバイス１１５−ｈは、受信されたデータ１１３０を使用してソースデバイス１１５−ｈによって決定された、更新されたまたは新しいレンダリング命令１１３５を送り得る。たとえば、受信されたデータ１１１５は、ソースデバイス１１５−ｈ上で実行しているアプリケーションを制御するための命令を含み得る。そのような場合、更新されたまたは新しいレンダリング命令１１３５は、アプリケーションＵＩの更新されたディスプレイ、または実行中のアプリケーションによって実行される制御命令に対応するディスプレイをレンダリングするためであることが、ソースデバイス１１５−ｈによって決定され得る。シンクデバイス１０５−ｇは、次いで、受信された更新された／新しいレンダリング命令１１３５を使用して更新されたディスプレイ１１４０をレンダリングし得る。同じく、メッセージフロー図１１００はレンダリング命令に関して記述されているが、１つまたは複数のビデオストリームならびに／あるいは１つまたは複数のグラフィックスリソースが、レンダリング命令とともにまたはそれの代わりに含まれ得ることを理解されたい。
【００８２】
[0101]図１２は、シンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法１２００の一実施形態を示すフローチャートである。明快のために、方法１２００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図４、図５、図６、図７、図８、図１０および／または図１１を参照しながら説明したソースデバイス１１５のうちの１つに関して以下で説明する。一実装形態では、図４、図５、図６および／または図７を参照しながら説明した通信管理モジュール４１０は、以下で説明する機能を実施するためにソースデバイス１１５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【００８３】
[0102]一実施形態では、ブロック１２０５において、ソースデバイス１１５は、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のレンダリング命令を識別し得る。ブロック１２１０において、Ｗｉ−Ｆｉダイレクトを介して、たとえば、Ｗｉ−Ｆｉピアツーピア接続を介してソースデバイス１１５からシンクデバイス１０５にレンダリング命令を送信し得る。
【００８４】
[0103]したがって、方法１２００は、シンクデバイス１０５がレンダリング命令を使用してコンテンツをレンダリングし得るように、Ｗｉ−Ｆｉダイレクトを介してシンクデバイス１０５にレンダリング命令を提供するために使用され得る。したがって、ソースデバイス１１５は、レンダリングされたコンテンツをシンクデバイス１０５に送る必要がなく、ワイヤレス帯域幅をより効率的に使用し得る。方法１２００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【００８５】
[0104]図１３は、シンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法１３００の別の実施形態を示すフローチャートである。明快のために、方法１３００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図４、図５、図６、図７、図８、図１０および／または図１１を参照しながら説明したソースデバイス１１５のうちの１つに関して以下で説明する。一実装形態では、図４、図５、図６および／または図７を参照しながら説明した通信管理モジュール４１０は、以下で説明する機能を実施するためにソースデバイス１１５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【００８６】
[0105]ブロック１３０５において、ソースデバイス１１５は、Ｗｉ−Ｆｉダイレクトを介して、たとえば、Ｗｉ−Ｆｉピアツーピア接続を介してシンクデバイス１０５からデータを受信し得る。ブロック１３１０において、ソースデバイス１１５は、受信されたデータを使用して少なくとも１つのレンダリング命令を識別し得る。ブロック１３１５において、Ｗｉ−Ｆｉダイレクトを介してソースデバイス１１５からシンクデバイス１０５にレンダリング命令を送信し得る。
【００８７】
[0106]したがって、方法１３００は、シンクデバイスがシンクデバイスからデータに少なくとも部分的に基づいてコンテンツのそれの表示を更新するために、ソースデバイスから更新されたレンダリング命令を取得するために使用され得る。方法１３００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法１３００の動作は、図１２に関して説明した方法１２００の動作と組み合わせられ得る。さらに、動作は、適宜にまたは必要に応じて並べ替えられおよび／または修正され得る。
【００８８】
[0107]図１４は、シンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法１４００のさらなる実施形態を示すフローチャートである。明快のために、方法１４００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図４、図５、図６、図７、図８、図１０および／または図１１を参照しながら説明したソースデバイス１１５のうちの１つに関して以下で説明する。一実装形態では、図４、図５、図６および／または図７を参照しながら説明した通信管理モジュール４１０は、以下で説明する機能を実施するためにソースデバイス１１５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【００８９】
[0108]ブロック１４０５において、ソースデバイス１１５は、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のレンダリング命令を識別し得る。ブロック１４１０において、ソースデバイス１１５は、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のグラフィックスリソースを識別し得る。ブロック１４１５において、ソースデバイス１１５は、シンクデバイス１０５上にリモートで表示されるべき１つまたは複数のビデオストリームを識別し得る。次に、ブロック１４２０において、識別されたグラフィックスリソースと、識別されたビデオストリームとを圧縮（または符号化）し得る。ブロック１４２５において、Ｗｉ−Ｆｉダイレクトを介して、たとえば、Ｗｉ−Ｆｉピアツーピア接続を介してソースデバイス１１５からシンクデバイス１０５に、レンダリング命令と、圧縮されたグラフィックスリソースと、圧縮されたビデオストリームとを送信し得る。
【００９０】
[0109]したがって、方法１４００は、シンクデバイス１０５がコンテンツをレンダリングし得るように、Ｗｉ−Ｆｉダイレクトを介してシンクデバイス１０５にレンダリング命令と、グラフィックスリソースと、ビデオストリームとを提供するために使用され得る。したがって、ソースデバイス１１５は、レンダリングされたコンテンツをシンクデバイス１０５に送る必要がなく、ワイヤレス帯域幅をより効率的に使用し得る。方法１４００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法１４００の動作は、図１２に関して説明した方法１２００の動作および／または図１３に関して説明した方法１３００の動作と組み合わせられ得る。さらに、動作は、適宜にまたは必要に応じて並べ替えられおよび／または修正され得る。
【００９１】
[0110]図１５は、ソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法１５００の一実施形態を示すフローチャートである。明快のために、方法１５００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図２、図３、図７、図９、図１０および／または図１１を参照しながら説明したシンクデバイス１０５のうちの１つに関して以下で説明する。一実装形態では、図２、図３および／または図７を参照しながら説明したレンダリング管理モジュール２１０は、以下で説明する機能を実施するためにシンクデバイス１０５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【００９２】
[0111]一実施形態では、ブロック１５０５において、シンクデバイス１０５は、ソースデバイス１１５からＷｉ−Ｆｉダイレクトを介して（たとえば、Ｗｉ−Ｆｉピアツーピア接続を介して）、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のレンダリング命令を受信し得る。次いで、ブロック１５１０において、シンクデバイス１０５は、シンクデバイス１０５においてコンテンツの表示をレンダリングするために受信されたレンダリング命令を実行し得る。
【００９３】
[0112]したがって、方法１５００は、シンクデバイス１０５がレンダリング命令を使用してコンテンツをレンダリングし得るように、Ｗｉ−Ｆｉダイレクトを介してシンクデバイス１０５上にリモートでソースデバイスのコンテンツを表示するために使用され得る。したがって、シンクデバイス１０５は、レンダリングされたコンテンツをソースデバイス１１５から受信する必要がなく、ワイヤレス帯域幅をより効率的に使用し得る。方法１５００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。
【００９４】
[0113]図１６は、ソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法１６００の別の実施形態を示すフローチャートである。明快のために、方法１６００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図２、図３、図７、図９、図１０および／または図１１を参照しながら説明したシンクデバイス１０５のうちの１つに関して以下で説明する。一実装形態では、図２、図３および／または図７を参照しながら説明したレンダリング管理モジュール２１０は、以下で説明する機能を実施するためにシンクデバイス１０５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【００９５】
[0114]一実施形態では、ブロック１６０５において、シンクデバイス１０５は、ソースデバイス１１５からＷｉ−Ｆｉダイレクトを介して（たとえば、Ｗｉ−Ｆｉピアツーピア接続を介して）、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のレンダリング命令を受信し得る。ブロック１６１０において、シンクデバイス１０５は、Ｗｉ−Ｆｉダイレクトを介してソースデバイス１１５から１つまたは複数のグラフィックスリソースを受信し得る。ブロック１６１５において、シンクデバイス１０５は、Ｗｉ−Ｆｉダイレクトを介してソースデバイス１１５から１つまたは複数のビデオストリームを受信し得る。次いで、ブロック１６２０において、シンクデバイス１０５は、シンクデバイス１０５において表示をレンダリングするために受信されたレンダリング命令を実行し得る。受信されたレンダリング命令を実行すると、受信されたグラフィックスリソースおよび／または受信されたビデオストリームが、レンダリングされた表示中に含められ得る。代替または追加として、受信されたグラフィックスリソースおよび／または受信されたビデオストリームは、レンダリング命令から得られた表示と組み合わせられ得る。
【００９６】
[0115]したがって、方法１６００は、シンクデバイス１０５がレンダリング命令を使用してコンテンツをレンダリングし得るように、Ｗｉ−Ｆｉダイレクトを介してシンクデバイス１０５上にリモートでソースデバイスのコンテンツを表示するために使用され得る。したがって、シンクデバイス１０５は、レンダリングされたコンテンツをソースデバイス１１５から受信する必要がなく、ワイヤレス帯域幅をより効率的に使用し得る。方法１６００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法１６００の動作は、適宜にまたは必要に応じて並べ替えられおよび／または修正され得る。
【００９７】
[0116]図１７は、ソースデバイスのコンテンツをリモートで表示するためにシンクデバイスによって実施される方法１７００のさらなる実施形態を示すフローチャートである。明快のために、方法１７００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図２、図３、図７、図９、図１０および／または図１１を参照しながら説明したシンクデバイス１０５のうちの１つに関して以下で説明する。一実装形態では、図２、図３および／または図７を参照しながら説明したレンダリング管理モジュール２１０は、以下で説明する機能を実施するためにシンクデバイス１０５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【００９８】
[0117]ブロック１７０５において、シンクデバイス１０５は、ソースデバイス１１５からＷｉ−Ｆｉダイレクトを介して（たとえば、Ｗｉ−Ｆｉピアツーピア接続を介して）、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のレンダリング命令を受信し得る。ブロック１７１０において、シンクデバイス１０５は、シンクデバイス１０５において、ソースデバイス１１５のユーザインターフェース（ＵＩ）の少なくとも一部の表示をレンダリングするために、受信されたレンダリング命令を実行し得る。
【００９９】
[0118]ブロック１７１５において、シンクデバイス１０５は、表示されたＵＩに従ってユーザ入力を受信し得る。次に、ブロック１７２０において、シンクデバイス１０５は、受信されたユーザ入力に対応するデータを、Ｗｉ−Ｆｉダイレクトを介してソースデバイス１１５に送信し得る。次いで、ブロック１７２５において、シンクデバイス１０５は、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数の更新されたレンダリング命令を、ソースデバイス１１５からＷｉ−Ｆｉダイレクトを介して受信し得、レンダリング命令は、ソースデバイス１１５に送信されたデータを使用してソースデバイス１１５によって更新される。
【０１００】
[0119]したがって、方法１７００は、シンクデバイス１０５がレンダリング命令を使用してＵＩをレンダリングし得るように、Ｗｉ−Ｆｉダイレクトを介してシンクデバイス１０５上にリモートでソースデバイスのＵＩを表示するために使用され得る。さらに、方法１７００は、シンクデバイス１０５において受信されたユーザ入力に対応するデータを使用してレンダリング命令を更新するために使用され得る。方法１７００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法１７００の動作は、図１５に関して説明した方法１５００の動作および／または図１６に関して上記で説明した方法１６００の動作と組み合わせられ得る。さらに、動作は、適宜にまたは必要に応じて並べ替えられおよび／または修正され得る。
【０１０１】
[0120]図１８は、ソースデバイスのコンテンツをリモートで表示するためにシンクデバイスによって実施される方法１８００のまた別の実施形態を示すフローチャートである。明快のために、方法１８００について、図１に示されたワイヤレス通信システム１００を参照しながら、ならびに／あるいは図１、図２、図３、図７、図９、図１０および／または図１１を参照しながら説明したシンクデバイス１０５のうちの１つに関して以下で説明する。一実装形態では、図２、図３および／または図７を参照しながら説明したレンダリング管理モジュール２１０は、以下で説明する機能を実施するためにシンクデバイス１０５の機能要素を制御するためのコードの１つまたは複数のセットを実行し得る。
【０１０２】
[0121]ブロック１８０５において、シンクデバイス１０５は、ソースデバイス１１５からＷｉ−Ｆｉダイレクトを介して（たとえば、Ｗｉ−Ｆｉピアツーピア接続を介して）、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数のレンダリング命令を受信し得る。ブロック１８１０において、シンクデバイス１０５は、ソースデバイス１１５上で実行しているアプリケーションのユーザインターフェース（ＵＩ）の少なくとも一部のシンクデバイス１０５における表示をレンダリングするために、受信されたレンダリング命令を実行し得る。
【０１０３】
[0122]ブロック１８１５において、シンクデバイス１０５は、アプリケーションの表示されたＵＩに従ってアプリケーションのためのユーザ入力を受信し得る。次に、ブロック１８２０において、シンクデバイス１０５は、受信されたユーザ入力に対応するデータを、Ｗｉ−Ｆｉダイレクトを介してソースデバイス１１５に送信し得る。次いで、ブロック１８２５において、シンクデバイス１０５は、コンテンツがシンクデバイス１０５上にリモートで表示されるための１つまたは複数の更新されたレンダリング命令を、ソースデバイス１１５からＷｉ−Ｆｉダイレクトを介して受信し得、レンダリング命令は、ソースデバイス１１５に送信されたデータを使用してソースデバイス１１５によって更新される。
【０１０４】
[0123]したがって、方法１８００は、シンクデバイス１０５がレンダリング命令を使用してＵＩをレンダリングし得るように、Ｗｉ−Ｆｉダイレクトを介してシンクデバイス１０５上にリモートでソースデバイス上で実行しているアプリケーションのＵＩを表示するために使用され得る。さらに、方法１８００は、シンクデバイス１０５において受信されたアプリケーションのためのユーザ入力に対応するデータを使用してレンダリング命令を更新するために使用され得る。方法１８００は一実装形態にすぎず、他の実装形態が可能であることに留意されたい。たとえば、方法１８００の動作は、図１５に関して説明した方法１５００の動作、図１６に関して上記で説明した方法１６００の動作、および／または図１７に関して上記で説明した方法１７００の動作と組み合わせられ得る。さらに、動作は、適宜にまたは必要に応じて並べ替えられおよび／または修正され得る。
【０１０５】
[0124]添付の図面に関して上記に記載した発明を実施するための形態は、例示的な実施形態について説明しており、実装され得るまたは特許請求の範囲内に入る唯一の実施形態を表すものではない。この明細書全体にわたって使用される「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、「好ましい」または「他の実施形態よりも有利な」を意味しない。発明を実施するための形態は、説明する技法の理解を与える目的で具体的な詳細を含む。しかしながら、これらの技法は、これらの特定の具体的ななしに実践され得る。場合によっては、説明した実施形態の概念を不明瞭にしないように、よく知られている構造およびデバイスがブロック図の形態で示される。
【０１０６】
[0125]情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【０１０７】
[0126]本明細書の開示に関して説明した様々な例示的なブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実施するように設計されたそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【０１０８】
[0127]本明細書で説明した機能は、ハードウェア、プロセッサによって実行されるソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。プロセッサによって実行されるソフトウェアで実装された場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。他の例および実装形態は、本開示および添付の特許請求の範囲の範囲および趣旨内にある。たとえば、ソフトウェアの性質により、上記で説明した機能は、プロセッサによって実行されるソフトウェア、ハードウェア、ファームウェア、ハードワイヤリング、またはこれらのいずれかの組合せを使用して実装され得る。機能を実装する特徴はまた、機能の一部が異なる物理的場所において実装されるように分散されることを含めて、様々な位置に物理的に配置され得る。また、特許請求の範囲を含めて、本明細書で使用されるとき、「のうちの少なくとも１つ」で終わる項目の列挙中で使用される「または」は、たとえば、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」の列挙が、ＡまたはＢまたはＣまたはＡＢまたはＡＣまたはＢＣまたはＡＢＣ（すなわち、ＡおよびＢおよびＣ）を意味するような選言的列挙を示す。
【０１０９】
[0128]コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体との両方を含む。記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の入手可能な媒体であり得る。限定ではなく例として、コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ、または他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコード手段を搬送または格納するために使用され得、汎用もしくは専用コンピュータ、または汎用もしくは専用プロセッサによってアクセスされ得る任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびｂｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれる。
【０１１０】
[0129]本開示の前の説明は、当業者が本開示を作製または使用することを可能にするために提供される。本開示への様々な変更は当業者には容易に明らかであり、本明細書において定義された一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。本開示全体にわたって、「例」または「例示的」という用語は、一例または一事例を示すものであり、言及された例についていかなる選好も暗示せず、または必要としない。したがって、本開示は、本明細書で説明した例および設計に限定されるべきでなく、本明細書で開示した原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ワイヤレスネットワークにおけるシンクデバイスによるコンテンツのリモート表示のためにソースデバイスによって実施される方法であって、
コンテンツを表示することが可能なソースデバイスにおいて、コンテンツがシンクデバイス上にリモートで表示されるための１つまたは複数のレンダリング命令を識別することと、
前記コンテンツの少なくとも一部の表示をレンダリングするための前記シンクデバイスによる実行のためにワイヤレスピアツーピア接続を介して前記シンクデバイスに前記１つまたは複数のレンダリング命令を送信することと
を備える、方法。
［Ｃ２］
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信することをさらに備え、前記１つまたは複数のレンダリング命令を前記識別することは、前記受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別することを備える、
Ｃ１に記載の方法。
［Ｃ３］
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおけるユーザ入力に対応する、
Ｃ２に記載の方法。
［Ｃ４］
前記ソースデバイス上でアプリケーションを実行することをさらに備え、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記アプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
Ｃ１に記載の方法。
［Ｃ５］
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信することをさらに備え、前記１つまたは複数のレンダリング命令を前記識別することは、前記受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別することを備え、前記受信されたデータの少なくとも一部は、前記シンクデバイスにおける前記アプリケーションのためのユーザ入力に対応する、
Ｃ４に記載の方法。
［Ｃ６］
前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記ソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
Ｃ１に記載の方法。
［Ｃ７］
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信することをさらに備え、前記１つまたは複数のレンダリング命令を前記識別することは、前記受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別することを備え、前記受信されたデータの少なくとも一部は、前記ソースデバイスの前記ユーザインターフェースに従って前記シンクデバイスにおけるユーザ入力に対応する、
Ｃ６に記載の方法。
［Ｃ８］
前記コンテンツにおいて少なくとも１つのグラフィックスリソースを識別することと、
前記少なくとも１つのグラフィックスリソースを圧縮することと、
前記圧縮された少なくとも１つのグラフィックスリソースを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのグラフィックスリソースを含めるように構成される、と
をさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記コンテンツにおいて少なくとも１つのビデオストリームを識別することと、
前記少なくとも１つのビデオストリームを圧縮することと、
前記圧縮された少なくとも１つのビデオストリームを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのビデオストリームを含めるように構成される、と
をさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
ワイヤレスネットワークにおけるシンクデバイスによるコンテンツのリモート表示を可能にするように構成される装置であって、
コンテンツを表示することが可能なソースデバイスにおいて、コンテンツがシンクデバイス上にリモートで表示されるための１つまたは複数のレンダリング命令を識別するための手段と、
前記コンテンツの少なくとも一部の表示をレンダリングするための前記シンクデバイスによる実行のためにワイヤレスピアツーピア接続を介して前記シンクデバイスに前記１つまたは複数のレンダリング命令を送信するための手段と
を備える、装置。
［Ｃ１１］
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信するための手段をさらに備え、前記１つまたは複数のレンダリング命令を前記識別するための手段は、前記受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別するための手段を備える、
Ｃ１０に記載の装置。
［Ｃ１２］
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおけるユーザ入力に対応する、
Ｃ１１に記載の装置。
［Ｃ１３］
前記ソースデバイス上でアプリケーションを実行するための手段をさらに備え、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記アプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
Ｃ１０に記載の装置。
［Ｃ１４］
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信するための手段をさらに備え、前記１つまたは複数のレンダリング命令を前記識別するための手段は、前記受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別するための手段を備え、前記受信されたデータの少なくとも一部は、前記シンクデバイスにおける前記アプリケーションのためのユーザ入力に対応する、
Ｃ１３に記載の装置。
［Ｃ１５］
前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記ソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
Ｃ１０に記載の装置。
［Ｃ１６］
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信するための手段をさらに備え、前記１つまたは複数のレンダリング命令を前記識別するための手段は、前記受信されたデータに少なくとも部分的に基づいて少なくとも１つのレンダリング命令を識別するための手段を備え、前記受信されたデータの少なくとも一部は、前記ソースデバイスの前記ユーザインターフェースに従って前記シンクデバイスにおけるユーザ入力に対応する、
Ｃ１５に記載の装置。
［Ｃ１７］
前記コンテンツにおいて少なくとも１つのグラフィックスリソースを識別するための手段と、
前記少なくとも１つのグラフィックスリソースを圧縮するための手段と、
前記圧縮された少なくとも１つのグラフィックスリソースを前記シンクデバイスに送信するための手段、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのグラフィックスリソースを含めるように構成される、と
をさらに備える、Ｃ１０に記載の装置。
［Ｃ１８］
前記コンテンツにおいて少なくとも１つのビデオストリームを識別するための手段と、
前記少なくとも１つのビデオストリームを圧縮するための手段と、
前記圧縮された少なくとも１つのビデオストリームを前記シンクデバイスに送信するための手段、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのビデオストリームを含めるように構成される、と
をさらに備える、Ｃ１０に記載の装置。
［Ｃ１９］
ワイヤレスネットワークにおけるシンクデバイスによるコンテンツのリモート表示のためのソースデバイスであって、
プロセッサと、
前記プロセッサと電子通信しているメモリと、
前記メモリに記憶されている命令と
を備え、前記命令は、
コンテンツを表示することが可能なソースデバイスにおいて、コンテンツがシンクデバイス上にリモートで表示されるための１つまたは複数のレンダリング命令を識別することと、
前記コンテンツの少なくとも一部の表示をレンダリングするための前記シンクデバイスによる実行のためにワイヤレスピアツーピア接続を介して前記シンクデバイスに前記１つまたは複数のレンダリング命令を送信することと
を行うように前記プロセッサによって実行可能である、ソースデバイス。
［Ｃ２０］
前記命令は、
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信することと、
前記受信されたデータに少なくとも部分的に基づいて前記１つまたは複数のレンダリング命令のうちの少なくとも１つを識別することと
を行うように前記プロセッサによって実行可能である、Ｃ１９に記載のソースデバイス。
［Ｃ２１］
前記受信されたデータの少なくとも一部は、前記シンクデバイスにおけるユーザ入力に対応する、
Ｃ２０に記載のソースデバイス。
［Ｃ２２］
前記命令は、
前記ソースデバイス上でアプリケーションを実行するように前記プロセッサによって実行可能であり、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記アプリケーションのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
Ｃ１９に記載のソースデバイス。
［Ｃ２３］
前記命令は、
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信することと、
前記受信されたデータに少なくとも部分的に基づいて前記１つまたは複数のレンダリング命令のうちの少なくとも１つを識別すること、前記受信されたデータの少なくとも一部は、前記シンクデバイスにおける前記アプリケーションのためのユーザ入力に対応する、と
を行うように前記プロセッサによって実行可能である、Ｃ２２に記載のソースデバイス。
［Ｃ２４］
前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に前記ソースデバイスのユーザインターフェースの少なくとも一部をレンダリングするように構成される、
Ｃ１９に記載のソースデバイス。
［Ｃ２５］
前記命令は、
前記ワイヤレスピアツーピア接続を介して前記シンクデバイスから前記ソースデバイスにおいてデータを受信することと、
前記受信されたデータに少なくとも部分的に基づいて前記１つまたは複数のレンダリング命令のうちの少なくとも１つを識別すること、前記受信されたデータの少なくとも一部は、前記ソースデバイスの前記ユーザインターフェースに従って前記シンクデバイスにおけるユーザ入力に対応する、と
を行うように前記プロセッサによって実行可能である、Ｃ２４に記載のソースデバイス。
［Ｃ２６］
前記命令は、
前記コンテンツにおいて少なくとも１つのグラフィックスリソースを識別することと、
前記少なくとも１つのグラフィックスリソースを圧縮することと、
前記圧縮された少なくとも１つのグラフィックスリソースを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのグラフィックスリソースを含めるように構成される、と
を行うように前記プロセッサによって実行可能である、Ｃ１９に記載のソースデバイス。
［Ｃ２７］
前記命令は、
前記コンテンツにおいて少なくとも１つのビデオストリームを識別することと、
前記少なくとも１つのビデオストリームを圧縮することと、
前記圧縮された少なくとも１つのビデオストリームを前記シンクデバイスに送信すること、前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、実行時に表示される前記コンテンツ中に前記少なくとも１つのビデオストリームを含めるように構成される、と
を行うように前記プロセッサによって実行可能である、Ｃ１９に記載のソースデバイス。
［Ｃ２８］
ワイヤレスネットワークにおけるソースデバイスのコンテンツのリモート表示のためにシンクデバイスによって実施される方法であって、
コンテンツを表示することが可能なソースデバイスから直接のワイヤレスピアツーピア接続を介して、表示されるべきコンテンツのための１つまたは複数のレンダリング命令を受信することと、
前記コンテンツの少なくとも一部の表示をレンダリングするために前記１つまたは複数のレンダリング命令を実行することと
を備える、方法。
［Ｃ２９］
前記ワイヤレスピアツーピア接続を介して前記ソースデバイスにデータを送信することをさらに備え、受信された前記１つまたは複数のレンダリング命令のうちの少なくとも１つは、前記送信されたデータに少なくとも部分的に基づく、
Ｃ２８に記載の方法。
［Ｃ３０］
前記シンクデバイスにおいてユーザ入力を受信することをさらに備え、前記ソースデバイスに送信された前記データのうちの少なくとも一部は、前記受信されたユーザ入力に対応する、
Ｃ２９に記載の方法。
【図１】
0006466466.tif 000002
【図２】
0006466466.tif 000003
【図３】
0006466466.tif 000004
【図４】
0006466466.tif 000005
【図５】
0006466466.tif 000006
【図６】
0006466466.tif 000007
【図７】
0006466466.tif 000008
【図８】
0006466466.tif 000009
【図９】
0006466466.tif 000010
【図１０】
0006466466.tif 000011
【図１１】
0006466466.tif 000012
【図１２】
0006466466.tif 000013
【図１３】
0006466466.tif 000014
【図１４】
0006466466.tif 000015
【図１５】
0006466466.tif 000016
【図１６】
0006466466.tif 000017
【図１７】
0006466466.tif 000018
【図１８】
0006466466.tif 000019