(57)【特許請求の範囲】
【請求項１】
デバイスソースによって実行される方法であって、
前記デバイスソースでのグラフィカル表示を、マルチメディアデータストリーム、オペレーティングシステムデスクトップデータストリーム、及びポインティングデバイスデータストリームを含む複数のデータストリームに分解することと、
送信に向けて前記複数のデータストリームを別個に独立して符号化することと、
前記符号化された複数のデータストリームを送信することと、
画像ブロックへの画像変更を検出することと、
前記検出された画像変更を含む更新を送信することと、
を含み、
前記検出することでは、並列化グラフィカル処理ユニットベースのアルゴリズムを用いて２つの連続したフレームを比較し、
前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームについては、それぞれ、オンデマンドで、前記符号化されたデータストリーム、および、前記検出された画像変更を含む更新により送信する、方法。
【請求項２】
前記複数のデータストリームに前記分解することは、前記デバイスソースでのオペレーティングシステムデスクトップマネージャから独立して処理される、請求項１に記載の方法。
【請求項３】
前記送信することでは、前記マルチメディアデータストリームにはリアルタイムプロトコルを採用し、前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームには伝送制御プロトコル又はユーザーデータグラムプロトコルを採用する、請求項１または２に記載の方法。
【請求項４】
前記検出することは、前記２つの連続したフレームの個々のセルを比較する前記並列化グラフィカル処理ユニットベースのアルゴリズムを含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
フレームを、動的な数のピクセルを含むブロックに分割することを更に含み、前記動的な数のピクセルは、単一のフレームに合わせるように調整される、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記検出することは、セル変更が前記並列化グラフィカル処理ユニットベースのアルゴリズムによって検出されると停止される、請求項１から５のいずれか一項に記載の方法。
【請求項７】
１つ又は複数のプロセッサと、
前記１つ又は複数のプロセッサ向けに構成されるメモリと、
を備え、
前記メモリは、
グラフィカル表示を、マルチメディアデータストリーム、オペレーティングシステムデスクトップデータストリーム、及びポインティングデバイスデータストリームを含む複数のデータストリームに分解する更新ユニットであって、並列化グラフィカル処理ユニットベースのアルゴリズムを用いて、２つの連続したフレームを比較することによって画像ブロックへの画像変更を検出する、更新ユニットと、
前記複数のデータストリームを独立して符号化するマルチストリームエンコーダーと、
異なる通信プロトコルを実施して、前記符号化された複数のデータストリームを送信する通信レイヤと、
を備え、
前記通信レイヤは、
前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームについては、それぞれ、オンデマンドで、前記符号化されたデータストリーム、および、前記検出された画像変更を含む更新により送信する、デバイスソース。
【請求項８】
前記更新ユニットは、該デバイスソースでのオペレーティングシステムデスクトップマネージャから独立して前記複数のデータストリームの前記分解を処理する、請求項７に記載のデバイスソース。
【請求項９】
前記更新ユニットは、前記２つの連続したフレームの個々のセルを比較することによって前記画像変更を検出する、請求項７または８に記載のデバイスソース。
【請求項１０】
前記更新ユニットは、セル変更が前記並列化グラフィカル処理ユニットベースのアルゴリズムによって検出されると検出を停止する、請求項７から９のいずれか一項に記載のデバイスソース。
【請求項１１】
前記更新ユニットは、フレームを、動的な数のピクセルを含むブロックに分割し、前記動的な数のピクセルは、単一のフレームに合わせるように調整される、
請求項７から１０のいずれか一項に記載のデバイスソース。
【請求項１２】
前記通信レイヤは、前記マルチメディアデータストリームにはリアルタイムプロトコルを採用し、前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームには伝送制御プロトコル又はユーザーデータグラムプロトコルを採用する、請求項７から１１のいずれか一項に記載のデバイスソース。
【請求項１３】
ディスプレイデバイスであって、
１つ又は複数のプロセッサと、
前記１つ又は複数のプロセッサ向けに構成されるメモリと、
を備え、
前記メモリは、
デバイスソースでのグラフィカル表示から分解された、マルチメディアデータストリーム、オペレーティングシステムデスクトップデータストリーム、及びポインティングデバイスデータストリームを含む複数のデータストリームを受信する更新ユニット及びフレームバッファを有し、
前記更新ユニット及びフレームバッファは、検出される更新を現在のフレームバッファに統合し、
前記検出される更新は、並列化グラフィカル処理ユニットベースのアルゴリズムを用いて２つの連続したフレームを比較することによって前記デバイスソースにより検出される画像ブロックへの画像変更を含み、
前記更新ユニット及びフレームバッファは、前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームについては、それぞれ、オンデマンドで、データストリーム、および、前記検出される画像変更を含む更新を受信する、ディスプレイデバイス。
【請求項１４】
前記更新ユニット及びフレームバッファは、前記デバイスソースでのオペレーティングシステムデスクトップマネージャから独立して処理された前記複数のデータストリームを受信する、請求項１３に記載のディスプレイデバイス。
【請求項１５】
前記更新ユニット及び前記フレームバッファは、単一のフレームに合わせるように調整される動的な数のピクセルを受信する、請求項１３または１４に記載のディスプレイデバイス。
【請求項１６】
前記更新ユニットおよび前記フレームバッファは、オペレーティングシステムデスクトップの指定された領域についての前記検出される更新を優先的に前記現在のフレームバッファに統合する、請求項１３から１５のいずれか一項に記載のディスプレイデバイス。
【請求項１７】
前記デバイスソースで独立して符号化され送信された前記複数のデータストリームを復号化するマルチストリームデコーダーを更に備える、請求項１３から１６のいずれか一項に記載のディスプレイデバイス。
【請求項１８】
前記マルチメディアデータストリームにはリアルタイムプロトコルを採用し、前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームには伝送制御プロトコル又はユーザーデータグラムプロトコルを採用する通信レイヤを更に備える、請求項１３から１７のいずれか一項に記載のディスプレイデバイス。
【請求項１９】
方法をコンピュータに実行させるプログラムであって、
前記方法は、
デバイスソースでのグラフィカル表示を、マルチメディアデータストリーム、オペレーティングシステムデスクトップデータストリーム、及びポインティングデバイスデータストリームを含む複数のデータストリームに分解することと、
前記複数のデータストリームを別個に独立して符号化することと、
前記符号化された複数のデータストリームを送信することと、
表示する画像ブロックへの画像変更を検出することであって、前記画像変更は、２つの連続したフレームを比較することによって検出されることと、
前記検出された画像変更を含む更新を送信することと、
前記検出された画像変更を、ディスプレイデバイスでの現在の表示に統合することと、
を含み、
前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームについては、それぞれ、オンデマンドで、前記符号化されたデータストリーム、および、前記検出された画像変更を含む更新により送信する、プログラム。
【請求項２０】
前記複数のデータストリームに前記分解することは、前記デバイスソースでのオペレーティングシステムデスクトップマネージャから独立して処理される、請求項１９に記載のプログラム。
【請求項２１】
前記符号化された複数のデータストリームを送信することは、前記マルチメディアデータストリームにはリアルタイムプロトコルを採用し、前記オペレーティングシステムデスクトップデータストリーム及び前記ポインティングデバイスデータストリームには伝送制御プロトコル又はユーザーデータグラムプロトコルを採用する、請求項１９または２０に記載のプログラム。
【請求項２２】
前記検出することは、前記２つの連続したフレームの個々のセルを比較する並列化グラフィカル処理ユニットベースのアルゴリズムを含む、請求項１９から２１のいずれか一項に記載のプログラム。
【請求項２３】
フレームを、動的な数のピクセルを含むブロックに分割することを更に含み、前記動的な数のピクセルは、単一のフレームに合わせるように調整される、請求項１９から２２のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ワイヤレスディスプレイ（ＷｉＤｉ）技術は、パーソナルコンピューター（ＰＣ）等のデバイスから別のデバイス（例えば、ワイヤレスディスプレイユニット）へのコンテンツ共有を可能にするビデオ技術の一例である。デバイスからのコンテンツは、ワイヤレスチャネルを介して、テレビ（ＴＶ）、別のＰＣディスプレイ／画面、又は他のＷｉＤｉ対応デバイス等のワイヤレスディスプレイユニットに送信することができる。一実施態様では、デバイスからのデスクトップ全体が捕捉され、ワイヤレスディスプレイユニットに連続して転送される。連続したフレームバッファをディスプレイユニットに提供するシステムでは、デスクトップ全体が静的である場合、データ送信において冗長性が生じるおそれがある。換言すれば、連続符号化ストリームは、デスクトップ全体が変更されていない場合であっても高いネットワーク利用率をもたらすおそれがある。
【０００２】
伝送中、ストリームベースの不可逆符号化メカニズムがノイズアーチファクトをもたらすおそれがあり、このアーチファクトは、オペレーティングシステム（ＯＳ）デスクトップグラフィックスを表示するとき、ユーザーの目に見え、不良なユーザー体験を提供するおそれがある。このために、オペレーティングシステム（ＯＳ）デスクトップグラフィックスをリモートに表示して、よりよい視覚的体験及び対話体験をユーザーに提供するＷｉＤｉの能力を更に強化することができる。この強化により、ネットワークオーバーヘッドを低減することができ、ネットワーク状況が最適化される。
【０００３】
詳細な説明は、添付図を参照して記載する。図中、参照符号の最も左側の桁（複数の場合もある）は、その参照符号が最初に現れる図を識別する。同じ符号が、同様の特徴及び構成要素を参照するのに図面全体を通して用いられる。
【図面の簡単な説明】
【０００４】
【図１】複数のデータストリームが符号化される強化型ワイヤレスディスプレイ（ＷｉＤｉ）を実施するシステムの一例を示す図である。
【図２】強化型ワイヤレスディスプレイ（ＷｉＤｉ）複数データストリーム符号化を実施するデバイスソースの一例を示す図である。
【図３】複数のデータストリームを受信するディスプレイデバイスの一例を示す図である。
【図４】複数のデータストリームへのグラフィカル表示の分解を実施する更新ユニットデバイスを示す図である。
【図５】強化型ワイヤレスディスプレイ（ＷｉＤｉ）の様々なレイヤを含むグラフィカル表示を示す図である。
【図６】並列化グラフィックス処理ユニット（ＧＰＵ）ベースのアルゴリズムを用いる強化型ワイヤレスディスプレイ（ＷｉＤｉ）の方法の一例を示すフローチャートである。
【発明を実施するための形態】
【０００５】
デバイスソースでのソフトウェアベースの実施態様は、グラフィカル表示を複数のデータストリーム（すなわち、様々なレイヤ）に分解する能力を提供する。複数のデータストリームは、マルチメディアデータストリームと、オペレーティングシステム（ＯＳ）デスクトップデータストリームと、マウス（ポインティングデバイス）データストリームとを含むことができる。複数のデータストリームは、デバイスソースによって独立して符号化し送信することができる。同様に、ディスプレイデバイスは、受信した複数のデータストリームを独立して復号化する。さらに、画像変更（例えば、ＯＳデスクトップバックグラウンド）に関する更新は、検出された変更セルに基づく更新の送信に制限することができる。例えば、フレームは、ｋ個のセルに分割することができ、セルはＮ×Ｍ個のピクセルを含む。この例では、変更セル（複数の場合もある）は、並列化グラフィックス処理ユニット（ＧＰＵ）ベースのアルゴリズムを用いて２つの連続したフレームのセルを比較することによって検出することができる。検出された変更セル（複数の場合もある）は、ディスプレイデバイスの現在のバッファフレームに送信し、統合することができる。したがって、ネットワークの最適化が得られる。
【０００６】
以下の詳細な説明では、本発明の完全な理解を提供するために、多くの特定の詳細が記載される。しかしながら、これらの特定の詳細なしでも本発明を実施可能なことが当業者には理解されよう。他の場合、既知の方法、手順、構成要素、及び回路は、本発明を曖昧にしないように詳述されていない。
【０００７】
以下の詳細な説明の幾つかの部分は、コンピューターメモリ内のデータビット又は二進デジタル信号に対する演算のアルゴリズム的表現及び象徴的表現に関して提示される。これらのアルゴリズム的な説明及び表現は、データ処理分野の当業者が、他の当業者に仕事の本質を伝えるのに用いる技法とすることができる。
【０００８】
別途指定のある場合を除き、以下の考察から明らかなように、本明細書全体を通して、例えば「処理」、「コンピューティング」、「計算」、「特定」等の用語を利用する考察が、コンピューティングシステムのレジスタ及び／又はメモリ内の電子的数量等の物理的数量として表されるデータを操作し、及び／又はコンピューティングシステムのメモリ、レジスタ、他のそのような情報記憶装置、若しくは伝送デバイス内の物理的数量として同様に表される他のデータに変換するコンピューターすなわちコンピューティングシステム又は同様の電子コンピューティングデバイスの動作及び／又はプロセスを指すことが理解される。数量を指定しない（"a" or "an"）用語は、本明細書に用いられる場合、１つ又は２つ以上として定義される。複数という用語は、本明細書に用いられる場合、２つ又は３つ以上として定義される。別という用語は、本明細書に用いられる場合、少なくとも２つ目又は３つ目以上として定義される。含む（including）及び／又は有するという用語は、本明細書に用いられる場合、含む、備える（comprising）として定義されるが、これに限定されない。結合されるという用語は、本明細書で用いられる場合、任意の所望の形態で、例えば、機械的に、電子的に、デジタル的に、直接、ソフトウェアにより、ハードウェア等により、動作可能に結合されることとして定義される。
【０００９】
実施形態は、様々なデバイス及びシステム、例えば、ビデオデバイス、オーディオデバイス、オーディオ−ビデオ（Ａ／Ｖ）デバイス、セットトップボックス（ＳＴＢ）、ブルーレイディスク（ＢＤ）プレーヤー、ＢＤレコーダー、デジタルビデオディスク（ＤＶＤ）プレーヤー、高精細（ＨＤ）ＤＶＤプレーヤー、ＤＶＤレコーダー、ＨＤ  ＤＶＤレコーダー、パーソナルビデオレコーダー（ＰＶＲ）、ブロードキャストＨＤ受信機、ビデオソース、オーディオソース、ビデオシンク、オーディオシンク、ステレオチューナー、ブロードキャスト無線受信機、ディスプレイ、フラットパネルディスプレイ、パーソナルメディアプレーヤー（ＰＭＰ）、デジタルビデオカメラ（ＤＶＣ）、デジタルオーディオプレーヤー、スピーカー、オーディオ受信機、オーディオ増幅器、データソース、データシンク、デジタルスチルカメラ（ＤＳＣ）、パーソナルコンピューター（ＰＣ）、デスクトップコンピューター、モバイルコンピューター、ラップトップコンピューター、ノート型コンピューター、タブレットコンピューター、サーバーコンピューター、ハンドヘルドコンピューター、ハンドヘルドデバイス、個人情報端末（ＰＤＡ）デバイス、ハンドヘルドＰＤＡデバイス、オンボードデバイス、オフボードデバイス、ハイブリッドデバイス、車両デバイス、非車両デバイス、モバイルデバイス又はポータブルデバイス、消費者デバイス、非モバイルデバイス又は非ポータブルデバイス、ワイヤレス通信局、ワイヤレス通信デバイス、ワイヤレスＡＰ、有線ルータ又はワイヤレスルータ、有線モデム又はワイヤレスモデム、有線ネットワーク又はワイヤレスネットワーク、ワイヤレスエリアネットワーク、ワイヤレスビデオエリアネットワーク（ＷＶＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ＷＬＡＮ、ＰＡＮ、ＷＰＡＮ、既存のワイヤレスＨＤＴＭ及び／又はワイヤレスギガビットアライアンス（ＷＧＡ）仕様及び／又はそれらの将来のバージョン及び／又は派生物に従って動作するデバイス及び／又はネットワーク、既存のＩＥＥＥ８０２．１１（ＩＥＥＥ８０２．１１−２００７：ワイヤレスＬＡＮメディアアクセス制御（ＭＡＣ）及び物理層（ＰＨＹ）仕様）規格及び改正、８０２．１１ａｄ（「ＩＥＥＥ８０２．１１規格」）、ＩＥＥＥ８０２．１６規格、及び／又はそれらの将来のバージョン及び／又は派生物に従って動作するデバイス及び／又はネットワーク、上記ネットワークの一部であるユニット及び／又はデバイス、単方向及び／又は双方向無線通信システム、セルラ無線電話通信システム、ワイヤレスディスプレイ（ＷｉＤｉ）デバイス、セルラ電話、ワイヤレス電話、パーソナル通信システム（ＰＣＳ）デバイス、ワイヤレス通信デバイスを組み込んだＰＤＡデバイス、モバイル又はポータブル全地球測位システム（ＧＰＳ）デバイス、ＧＰＳ受信機、ＧＰＳ送受信機、又はＧＰＳチップを組み込んだデバイス、ＲＦＩＤ要素又はＲＦＩＤチップを組み込んだデバイス、多入力多出力（ＭＩＭＯ）送受信機又は多入力多出力（ＭＩＭＯ）デバイス、単入力多出力（ＳＩＭＯ）送受信機又は単入力多出力（ＳＩＭＯ）デバイス、多入力単出力（ＭＩＳＯ）送受信機又は多入力単出力（ＭＩＳＯ）デバイス���１つ又は複数の内部アンテナ及び／又は外部アンテナを有するデバイス、デジタルビデオブロードキャスト（ＤＶＢ）デバイス又はデジタルビデオブロードキャスト（ＤＶＢ）システム、マルチ規格無線デバイス又はマルチ規格無線システム、有線ハンドヘルドデバイス又はワイヤレスハンドヘルドデバイス、ワイヤレスアプリケーションプロトコル（ＷＡＰ）デバイス等と併せて用いることができる。
【００１０】
幾つかの実施形態は、１つ又は複数のタイプのワイヤレス通信信号及び／又はワイヤレス通信システム、例えば、無線周波数（ＲＦ）、ＷｉＦｉ、ＷｉＭａｘ、超広帯域（ＵＷＢ）等と併せて用いることができる。他の実施形態を様々な他のデバイス、システム、及び／又はネットワークで用いることができる。
【００１１】
幾つかの実施形態は、適する距離制限ワイヤレス通信ネットワーク又は短距離ワイヤレス通信ネットワーク、例えば、「ピコネット」、例えばワイヤレスエリアネットワーク、ＷＶＡＮ、ＷＰＡＮ等と併せて用いることができる。
【００１２】
システム例  図１は、複数のデータストリームを用いてグラフィカル表示を表現する強化型ワイヤレスディスプレイ（ＷｉＤｉ）を実施するシステム環境の一例１００のシステムレベル概観を示す。一実施態様では、グラフィカル表示は、マルチメディアデータストリーミング（例えば、ビデオ及びオーディオ）、オペレーティングシステム（ＯＳ）デスクトップデータストリーミング（例えば、デスクトップバックグラウンド）、及びマウス（ポインティングデバイス）データストリーミング等の様々なレイヤに分解される。グラフィカル表示は、ＷｉＤｉアダプター１０６を用いてデバイスソース１０２からディスプレイデバイス１０４に送信することができる。一実施態様では、デバイスソース１０２は、ラップトップコンピューター、タブレットコンピューター、スマートフォン等の様々なデバイスを含むことができる。さらに、上述したように、デバイスソース１０２は他のデバイスを含むとして理解される。
【００１３】
デバイスソース１０２は、ＷｉＤｉデータ送信を強化するソフトウェアベースの実施態様を含むことができる。例えば、デバイスソース１０２は、グラフィカル表示の様々なレイヤを独立して符号化し送信するように構成することができる。この例では、デバイスソース１０２は、マルチメディアデータストリーム、オペレーティングシステム（ＯＳ）デスクトップデータストリーム、及びマウス（ポインティングデバイス）データストリームを独立して送信することができる。一実施態様では、エンドユーザーは、様々なレイヤから、ディスプレイデバイス１０４に表示される１つ又は複数の組み合わせを選択することができる。ＷｉＤｉアダプター１０６は、選択されたレイヤを受信することができる。さらに、ＷｉＤｉアダプター１０６は、更新を、ディスプレイデバイス１０４の現在の表示に統合することができる。更新は、ディスプレイデバイス１０４において送信する必要があるデバイスソース１０２での画像変更を含むことができる。ＷｉＤｉアダプター１０６は、１つ又は複数のワイヤレスチャネル１０８を通して、送信された様々なレイヤ（すなわち、複数のデータストリーム）を受信することができる。１つ又は複数のワイヤレスチャネル１０８は、１つ又は複数のＩＥＥＥ規格下で規定される変調（複数の場合もある）を含むことができる。一実施態様では、ＨＤテレビ（ＨＤＴＶ）等のディスプレイデバイス１０４は、高精細マルチメディア入力（ＨＤＭＩ（登録商標））接続等の接続１１０によってＷｉＤｉアダプター１０６に接続することができる。他の実施態様では、ＨＤＴＶユニット又は他のディスプレイデバイス等のＷｉＤｉ技術対応デバイスは、ＷｉＤｉ技術を直接組み込むことができる。換言すれば、ＷｉＤｉアダプター１０６は、ディスプレイデバイス１０４に直接一体化することができる。
【００１４】
デバイス例  図２は、グラフィカル表示で複数のデータストリームを独立して符号化し送信することによって強化型ＷｉＤｉを実施するデバイスソースの一例１０２である。デバイスソース１０２は１つ又は複数のプロセッサであるプロセッサ２００を含む。プロセッサ２００は、単一の処理ユニット又は幾つかの処理ユニットとすることができ、それらは全て、単一又は複数の計算ユニット又はマルチコアを含むことができる。１または複数のプロセッサ２００は、１つ又は複数のマイクロプロセッサ、マイクロコンピューター、マイクロコントローラー、デジタル信号プロセッサ、中央演算処理装置、状態機械、論理回路、及び／又は動作命令に基づいて信号を操作する任意のデバイスとして実施することができる。能力の中でも特に、１または複数のプロセッサ２００は、メモリ２０２又は他のコンピューター可読記憶媒体に記憶されたコンピューター可読命令又はプロセッサアクセス可能命令をフェッチし実行するように構成することができる。
【００１５】
メモリ２０２は、命令を記憶するコンピューター可読記憶媒体の一例であり、命令は、上述した様々な機能を実行するために１または複数のプロセッサ２００によって実行される。例えば、メモリ２０２は一般に、揮発性メモリ及び不揮発性メモリ（例えば、ＲＡＭ、ＲＯＭ等）の両方を含むことができる。メモリ２０２は、本明細書ではメモリ又はコンピューター可読記憶媒体と呼ぶことができる。メモリ２０２は、コンピューター可読のプロセッサ実行可能なプログラム命令をコンピュータープログラムコードとして記憶することが可能であり、コンピュータープログラムコードは、本明細書の実施態様において説明される動作及び機能を実行するように構成される特定のマシンとしてプロセッサ（複数の場合もある）２００によって実行されてよい。
【００１６】
メモリ２０２は、１つ又は複数のオペレーティングシステム２０４を含むことができ、１つ又は複数のアプリケーション２０６を記憶することができる。１または複数のオペレーティングシステム２０４は、パーソナルコンピューター、オーディオビデオデバイス等のために実施される様々な既知のオペレーティングシステム及び将来のオペレーティングシステムの１つとすることができる。アプリケーション２０６は、予め構成／インストールされたアプリケーション及びダウンロード可能なアプリケーションを含むことができる。さらに、メモリ２０２は、インストールされたアプリケーション及びダウンロードされたアプリケーションを記憶するためのデータ２０８を含むことができる。メモリ２０２は表示データ２１０を含み、表示データ２１０は、視覚的ディスプレイユニットを含み、視覚的ディスプレイユニットは、複数のデータストリームによって定義される画像表現（すなわち、グラフィカル表示）を示すことができる。複数のデータストリームは、更新ユニット２１２によって独立して処理することができる様々なレイヤを含むことができる。一実施態様では、更新ユニット２１２は、並列化ＧＰＵベースのアルゴリズムを実施して、連続したフレーム間で変更された１または複数のセルを検出することができる。さらに、更新ユニット２１２はグラフィカル表示を複数のデータストリームに分解することができる。
【００１７】
一実施態様では、複数のデータストリームは、ＷｉＤｉマルチストリームエンコーダー２１４を用いて送信することができ、このエンコーダー２１４は、複数のデータストリームに異なるトランスポート技法を用いる。例えば、マルチメディアデータストリームは、Ｈ２６４規格エンコーダーを用いることができ、常時オンストリーミング手法を採用する。他方、オペレーティングシステム（ＯＳ）デスクトップアプリケーションデータストリーム及びマウス（ポインティングデバイス）データストリームは、需要に応じて（オンデマンド）送信することができる。換言すれば、複数のデータストリームは、サービス品質（ＱｏＳ）の異なるレベルを有するように別個に扱われ、システム性能及びネットワーク性能を最適化しながら、全体的なユーザー体験を最大化する。他の実施態様では、複数のデータストリームの処理（例えば、分解）は、デバイスソース１０２でのオペレーティングシステム（ＯＳ）デスクトップマネージャから独立している。
【００１８】
一実施態様では、ＷｉＤｉマルチストリームエンコーダー２１４は、更新ユニット２１２によって生成される複数のデータストリームを別個に及び独立して、符号化しパケット化するように構成することができる。符号化されパケット化された複数のデータストリームは、１つ又は複数の通信レイヤ２１６に送信されてよく、通信レイヤ２１６において、更なる情報が追加されてよい。レイヤは、リアルタイム通信プロトコル（ＲＴＣ）／伝送制御プロトコル（ＴＣＰ）／ユーザーデータグラムプロトコル（ＵＤＰ）及び媒体アクセス制御（ＭＡＣ）レイヤを含むことができ、そこで、更なる情報（例えば、ヘッダ及びデータ）が追加される。ＷｉＦｉドライバーモジュール２１８は、複数のデータストリームを１または複数の通信レイヤ２１６から受信することができる。ＷｉＦｉドライバーモジュール２１８は、無線２２０に向けて構成することができる。特に、ＷｉＦｉドライバーモジュール２１８は、無線２２０の送信機２２２に向けて構成することができる。送信機２２２はアンテナ２２４に結合される。デバイスソース１０２が、無線２２０以外の他の通信インターフェース（図示せず）を包含可能なことを理解されたい。
【００１９】
実施形態は、ソフトウェア実施を提供する。例えば、更新ユニット２１２は、メモリ２０２に存在するソフトウェアアプリケーションとして実施することができる。したがって、無線２２０の変更等のハードウェア実施を回避することができる。或る特定の実施態様では、更新ユニット２１２及びＷｉＤｉマルチストリームエンコーダー２１４は、同じプラットフォームに存在する。
【００２０】
本明細書に記載のデバイスソース１０２は、幾つかの実施態様に適する単なる一例であり、本明細書に記載のプロセス、構成要素、及び特徴を実施することができる環境、アーキテクチャ、及びフレームワークの使用又は機能の範囲としてのいかなる限定も示唆することを意図されない。
【００２１】
概して、図を参照して説明したいかなる機能も、ソフトウェア、ハードウェア（例えば、固定論理回路）、又はこれらの実施態様の組み合わせを用いて実施することができる。プログラムコードは、１つ又は複数のコンピューター可読メモリデバイス又は他のコンピューター可読記憶装置に記憶することができる。したがって、本明細書に記載のプロセス及び構成要素はコンピュータープログラム製品によって実施することができる。
【００２２】
上述したように、コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶する任意の方法又は技術で実施される、揮発性媒体及び不揮発性媒体、並びにリムーバブル媒体及び非リムーバブル媒体を含む。コンピューター記憶媒体は、限定ではなく、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル汎用ディスク（ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又はコンピューティングデバイスによるアクセスについての情報の記憶に用いることができる任意の他の媒体を含む。
【００２３】
ＷｉＤｉアダプター／ＷｉＤｉ対応デバイス例  図３は、デバイスソース１０２から送信された複数のデータストリームを受信するディスプレイデバイスの一例１０４である。一実施態様では、ディスプレイデバイスはＷｉＤｉアダプター１０６を含む（すなわち、ディスプレイデバイス１０４に一体化される）。ディスプレイデバイス１０４は１つ又は複数のプロセッサであるプロセッサ３０２を含むことができる。１または複数のプロセッサ３０２は、単一のプロセッサユニット又は幾つかの処理ユニットとすることができ、それらは全て、単一又は複数の計算ユニット又はマルチコアを含むことができる。１または複数のプロセッサ３０２は、１つ又は複数のマイクロプロセッサ、マイクロコンピューター、マイクロコントローラー、デジタル信号プロセッサ、中央演算処理装置、状態機械、論理回路、及び／又は動作命令に基づいて信号を操作する任意のデバイスとして実施することができる。他の能力の中でも特に、１または複数のプロセッサ３０２は、メモリ３０４又は他のコンピューター可読記憶媒体に記憶されたコンピューター可読命令又はプロセッサアクセス可能命令をフェッチし実行するように構成することができる。
【００２４】
メモリ３０４は、命令を記憶するコンピューター可読記憶媒体の一例であり、命令は、上述した様々な機能を実行するためにプロセッサ（複数の場合もある）３０２によって実行される。例えば、メモリ３０４は一般に、揮発性メモリ及び不揮発性メモリ（例えば、ＲＡＭ、ＲＯＭ等）の両方を含むことができる。メモリ３０４は、本明細書ではメモリ又はコンピューター可読記憶媒体と呼ぶことができる。メモリ３０４は、コンピューター可読のプロセッサ実行可能なプログラム命令をコンピュータープログラムコードとして記憶することが可能であり、コンピュータープログラムコードは、本明細書で実施態様において説明される動作及び機能を実行するように構成される特定のマシンとしてプロセッサ（複数の場合もある）３０２によって実行することができる。
【００２５】
メモリ３０４は、１つ又は複数のオペレーティングシステム３０６を含むことができ、１つ又は複数のアプリケーション３０８を記憶することができる。オペレーティングシステム（複数の場合もある）３０６は、パーソナルコンピューター、オーディオビデオデバイス等に実施される様々な既知のオペレーティングシステム及び将来のオペレーティングシステムの１つとすることができる。アプリケーション３０８は、予め構成／インストールされたアプリケーション及びダウンロード可能なアプリケーションを含むことができる。加えて、メモリ３０４はデータ３１０を含むことができる。
【００２６】
ディスプレイデバイス１０４は無線３１２を含むことができる。無線３１２は、受信機３１６に結合される１つ又は複数のアンテナ３１４を含む。デバイスソース１０２から送信された、符号化されパケット化された複数のデータストリームは、受信機３１６によって受信される。受信された複数のデータストリームは、様々な通信レイヤ３１８を通して渡すことができる。マルチストリームデコーダー３２０は、複数のデータストリームを処理（復号化）し、復号化された複数のデータストリームを更新ユニット／フレームバッファ３２２に渡し、表示データ３２４に表示する。
【００２７】
本明細書に記載のコンピューティングデバイスの一例３００は、幾つかの実施態様に適する単なる一例であり、本明細書に記載のプロセス、構成要素、及び特徴を実施することができる環境、アーキテクチャ、及びフレームワークの使用又は機能の範囲としてのいかなる限定も示唆することを意図されない。
【００２８】
概して、図を参照して説明したいかなる機能も、ソフトウェア、ハードウェア（例えば、固定論理回路）、又はこれらの実施態様の組み合わせを用いて実施することができる。プログラムコードは、１つ又は複数のコンピューター可読メモリデバイス又は他のコンピューター可読記憶装置に記憶することができる。したがって、本明細書に記載のプロセス及び構成要素はコンピュータープログラム製品によって実施することができる。
【００２９】
上述したように、コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶する任意の方法又は技術で実施される、揮発性媒体及び不揮発性媒体、並びにリムーバブル媒体及び非リムーバブル媒体を含む。コンピューター記憶媒体は、限定ではなく、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル汎用ディスク（ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又はコンピューティングデバイスによるアクセスについての情報の記憶に用いることができる任意の他の媒体を含む。
【００３０】
更新ユニットデバイス例  図４は、更新ユニットデバイスを示す図を示す。一実施態様では、更新ユニット２１２は、表示データ２１０におけるグラフィカル表示を様々なレイヤ（すなわち、複数のデータストリーム）に分解するように構成することができる。複数のデータストリームは、マルチメディアデータストリーム４００（例えば、ビデオ及びオーディオ）と、オペレーティングシステム（ＯＳ）デスクトップデータストリーム４０２（例えば、デスクトップバックグラウンド）と、マウス（ポインティングデバイス）データストリーム４０４とを含むことができる。複数のデータストリームの１つ又は複数の組み合わせをディスプレイデバイス１０４に送信することができる。例えば、ユーザーは、ディスプレイデバイス１０４に表示するマルチメディアデータストリーム４００を選択する。この例では、オペレーティングシステム（ＯＳ）デスクトップデータストリーム４０２及びマウス（ポインティングデバイス）データストリーム４０４の送信は一時中断される。オペレーティングシステム（ＯＳ）デスクトップデータストリーム４０２及びマウスデータストリーム４０４を送信しないことにより、ネットワーク負荷を最適化することができ、デバイスソース１０２及びディスプレイデバイス１０４での消費電力を低減することができる。
【００３１】
別の場合、ユーザーは、オペレーティングシステム（ＯＳ）デスクトップデータストリーム４０２及びマウス（ポインティングデバイス）データストリーム４０４を、ディスプレイデバイス１０４でのマルチメディアデータストリーム４００と共に追加することを選ぶことができる。この実施態様では、表示データ２１０における画像変更がない（例えば、静的なオペレーティングシステム（ＯＳ）デスクトップ）にもかかわらず、オペレーティングシステム（ＯＳ）データストリーム４０２及びマウス（ポインティングデバイス）データストリーム４０４を連続して送信することは、高いネットワーク利用率をもたらすおそれがある。このために、更新ユニット２１２は、画像表示の部分的な更新又は部分的な変更を送信して、データ処理及び消費電力を節減するように構成することができる。一実施態様では、表示データ２１０において特定のグラフィカル表示画像を定義するフレームは、Ｎ×Ｍピクセルサイズのｋ個のセルに分割される。通常、フレームバッファ４０６に記憶された２つの連続したフレームは、ｋ個のセルによってカバーされる合計エリアを含まないことがある部分的な更新又は変更を含むことがある。換言すれば、ｋ個のセルの一部は、部分的な更新をカバーすることがある。部分的な更新を特定するために、２つの記憶された連続フレーム（例えば、現在のフレームと以前のフレーム）の間のｋ個のセルは、変更された特定のセル（複数の場合もある）を検出することによって比較することができる。変更されたセルの検出は、ＧＰＵ４０８に構成される並列化ＧＰＵベースのアルゴリズムを用いて実施することができる。
【００３２】
一実施態様では、ＧＰＵ４０８は、連続したフレーム間での並列比較を実施するｎ個のコア（図示せず）を含むことができる。例えば、ｋ個のセルのフレームを比較するＧＰＵ４０８のｎ個のコアを所与として、ｋ個全てのセルが比較されるまで、比較アルゴリズムのｎ個のインスタンスが実行される。ＧＰＵ４０８は追跡アレイ（図示せず）を実施して、変更されたセル（複数の場合もある）を検出することができる。例えば、追跡アレイは、変更が検出される都度、ビット１に更新される。他の実施態様では、ＧＰＵ４０８は、変更が検出されると比較を終了するように構成することができる。
【００３３】
一実施態様では、ＧＰＵ４０８は、動的なＮ×Ｍピクセル寸法を処理するように構成することができる。動的なＮ×Ｍピクセル寸法は、特定の単一のフレームに合うように調整することができ、それにより、より原子的な更新を可能にするとともに、破損フレーム又は損失フレームの影響を制限する。他の実施態様では、ＧＰＵ４０８は、ユーザーが画面を見ることができる方法を所与として、デスクトップオペレーティングシステム（ＯＳ）画面の特定の領域の更新に重要性を割り当てるように構成することができる。例えば、ＯＳデスクトップデータストリーム４００によって定義される特定の領域は、デスクトップオペレーティングシステム（ＯＳ）画面の中央部分を含むことができる。この例では、ＧＰＵ４０８は、デスクトップオペレーティングシステム（ＯＳ）画面の中央部分におけるセル変更を、領域の残りの部分（例えば、デスクトップオペレーティングシステム（ＯＳ）画面の境界線）を検出する前にまず検出するように構成することができる。
【００３４】
グラフィカル表示例  図５は、ディスプレイデバイス１０４に表示することができる様々なレイヤを示すグラフィカル表示の一例５００である。一実施態様では、表示データ２１０は、ビデオ４００、デスクトップオペレーティングシステム（ＯＳ）アプリケーション４０２、及びマウス（ポインティングデバイス）４０４等の３つのレイヤに分解することができる。上述したように、ユーザーは、ディスプレイデバイス１０４に表示する、レイヤの１つ又は複数の組み合わせを選択することができる。例えば、ビデオ４００を、ディスプレイデバイス１０４でのビデオストリーミングに選択することができる。この例では、ビデオ４００は、捕捉され（ビデオ捕捉５０２により）、符号化され（ＷｉＤｉマルチストリームエンコーダー２１４により）、送信機２２２によって独立してディスプレイデバイス１０４に送信される。一実施態様では、ビデオ４００の符号化は、ＨＤＴＶブロードキャストアプリケーション等のデジタル圧縮ビデオの全ての形態をカバーするＨ２６４規格ハードウェアベースの符号化（例えば、Ｈ２６４ビデオフォーマット）を用いることができる。この実施態様では、ビデオ４００は、送信機２２２を通してストリーミングされる場合、ＲＴＰをトランスポートプロトコルとして用いることができる。ビデオ４００に必要なコード変換及びＱＯＳは、デスクトップオペレーティングシステム（ＯＳ）アプリケーション４０２のディスプレイから間接的に変更し、符号化し、提示することができ、ビデオ４００から独立してストリーミングされる。
【００３５】
デスクトップオペレーティングシステム（ＯＳ）アプリケーション４０２は、オペレーティングシステム（ＯＳ）デスクトップデータストリームを含むことができ、このストリームは、まずグラフィカル表示を、Ｎ×Ｍピクセル（例えば、Ｎ７×Ｍ７ピクセル）を含む格子構造に分割することによって符号化される。Ｎ×Ｍピクセルは、表示コンテンツに基づいて動的に調整することができる。小型フレームでのワイヤレス競合を低減し、圧縮を最大化するために、Ｎ及びＭの値は、ネットワークの状況を所与として最適な性能に向けて動的に調整されるように選ぶことができる。一実施態様では、デスクトップオペレーティングシステム（ＯＳ）アプリケーション４０２は、需要に応じて、捕捉され（デスクトップ及びアプリケーション捕捉５０４により）、送信機２２２を通してディスプレイデバイス１０４に移送される。換言すれば、定義可能なＱＯＳ及びフレーム更新率を所与として、変更されたスクリーンの指定されたセルを送信することができ、ＱＯＳ及びフレーム更新率はビデオ４００から独立して指定することができる。
【００３６】
一実施態様では、マウス（ポインティングデバイス）４０４は、ユーザーのマウス（ポインティングデバイス）の移動を含むことができ、この移動はデカルト座標として送信される（送信機２２２により）。この実施態様では、移動は、マウス移動捕捉５０６によって捕捉することができる。ネットワークオーバーヘッドを低減し、性能を上げるために（小型フレームサイズ及びワイヤレス競合の増大に伴う問題を所与として）、マウス（ポインティングデバイス）座標点を含むデータフレームは、所望の解像度及び所望のユーザー体験又はＱＯＳを所与として送信することができる。点間の補間を用いて、ＴＣＰではなくＵＤＰが用いられる場合のフレーム損失を所与として、信頼性向上のオーバーヘッドを低減することができる。マウス移動捕捉５０６、デスクトップ及びアプリケーション捕捉５０４、並びにビデオ捕捉５０２は全て、更新ユニット２１２によって実施することができる。
【００３７】
プロセス例  図６は、ディスプレイデバイスへの独立した複数のデータストリーミングを含む強化型ＷｉＤｉのプロセスの一例６００を示す。方法が説明される順序は、限定として解釈される意図はなく、説明される方法ブロックのうちの任意の数の方法ブロックを任意の順序で組み合わせて、この方法又は代替の方法を実施することができる。さらに、本明細書に記載の主題の趣旨及び範囲から逸脱せずに、個々のブロックを方法から削除することができる。さらに、方法は、本発明の範囲から逸脱せずに、任意の適するハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実施することができる。
【００３８】
ブロック６０２において、グラフィカル表示の分解が実行される。一実施態様では、表示データ（例えば、表示データ２１０）でのグラフィカル表示は、複数のデータストリーム（すなわち、様々なレイヤ）を含むように分解される。複数のデータストリームは、マルチメディアデータストリーム、オペレーティングシステム（ＯＳ）デスクトップデータストリーム、及びマウス（ポインティングデバイス）データストリームを含むことができる。
【００３９】
ブロック６０４において、送信に向けて、複数のデータストリームのそれぞれは、独立して符号化される。一実施態様では、ＷｉＤｉマルチストリームエンコーダー（例えば、ＷｉＤｉマルチストリームエンコーダー２１４）は、複数のデータストリームを独立して符号化することができる。例えば、マルチメディアデータストリームは、オペレーティングシステム（ＯＳ）デスクトップデータストリーム及びマウス（ポインティングデバイス）データストリームとは別個に符号化される。
【００４０】
ブロック６０６において、符号化された複数のデータストリームの送信が実行される。一実施態様では、複数のデータストリームは通信レイヤ（例えば、通信レイヤ（複数の場合もある）２１６）を通して送信される。例えば、マルチメディアデータストリームは、Ｈ２６４規格ハードウェア及びＲＴＰプロトコルを用いて送信される。他方、オペレーティングシステム（ＯＳ）デスクトップデータストリーム及びマウス（ポインティングデバイス）データストリームは、需要に応じて、又はＵＤＰ／ＴＣＰプロトコルを用いて送信される。
【００４１】
ブロック６０８において、画像ブロックへの画像変更の検出が実行される。一実施態様では、画像は、ｋ個のセル（すなわち、ブロック）に分割されるフレームを含む。ｋ個のセルは合計でＮ×Ｍ個のピクセルを含むことができる。２つの連続したフレーム間のｋ個のブロックは、更新ユニット構成要素（例えば、更新ユニット２１２）に含まれる並列化ＧＰＵベースのアルゴリズムを用いて比較し、画像変更を定義するセル（複数の場合もある）の厳密な位置を特定することができる。検出されたセルは、デバイスソース（例えば、デバイスソース１０２）で次に送信される更新を含むことができる。別の実施態様では、Ｎ×Ｍピクセルは、ネットワークの状況に従って動的に調整することができる。
【００４２】
ブロック６１０において、検出された画像変更を含む更新の送信が実行される。一実施態様では、Ｎ×Ｍピクセルは、画像変更（すなわち、変更されたセル）が単一のデータフレームに嵌まり、より原子的な更新を可能にするとともに破損フレーム又は損失フレームの影響を制限する（to limit）ことを保証するように動的に調整される。このために、送信中、ＴＣＰに加えてＵＤＰを実施することができ、その理由は、単一フレームの損失が全体の画面更新に大きく影響しないためである。他の実施態様では、原子的な更新は、ユーザーが画面を見ることができる方法を所与として、重要性を特定の領域（例えば、デスクトップオペレーティングシステム（ＯＳ）画面）の更新に割り当てることによって実施することができる。例えば、ユーザーは、画面の中央領域に、デスクトップオペレーティングシステム（ＯＳ）画面の周縁領域又は外側領域（例えば、デスクトップオペレーティングシステム（ＯＳ）画面の下にあるクロック）よりも頻繁に気付く傾向を有する。このために、セル変更が更新ユニット２１２によって検出される場合、最も目に付くポイントを含む中央領域を、より高い優先度で送信することができる。
【００４３】
ブロック６１２において、検出された画像変更をディスプレイデバイスの現在の表示に統合することが実行される。一実施態様では、検出された更新はマルチストリームデコーダー構成要素（例えば、マルチストリームデコーダー３２２）によって受信される。検出された更新は、更新を、更新ユニット／フレームバッファ構成要素３２２に記憶された現在のバッファフレームに一体化することによって統合することができる。統合された更新は、デバイスソース１０４の表示データ３２４に表示することができる。
【００４４】
本発明による実現について、特定の実施形態の文脈の中で説明した。これらの実施形態は例示を意味し、限定を意味しない。多くの変形、変更、追加、及び改善が可能である。したがって、単一の事例として本明細書に記載される構成要素に、複数の事例を提供することができる。様々な構成要素、動作、及びデータストア間の境界はいくらか任意的なものであり、特定の動作が、特定の例示的な構成の文脈の中で示される。機能の他の割り振りが考えられ、以下の特許請求の範囲の範囲内にあることができる。最後に、様々な構成で離散した構成要素として提示される構造及び機能は、組み合わせられた構造又は構成要素として実施することも可能である。これら及び他の変形、変更、追加、及び改善は、以下の特許請求の範囲において規定される本発明の範囲内にあることができる。
【図１】
0005938106.tif 000002
【図２】
0005938106.tif 000003
【図３】
0005938106.tif 000004
【図４】
0005938106.tif 000005
【図５】
0005938106.tif 000006
【図６】
0005938106.tif 000007