(57)【特許請求の範囲】
【請求項１】
ソースデバイスによって、前記ソースデバイスによりレンダリングした表示データが、前記ソースデバイスのみによる表示のための第１のグラフィカルコンテンツと異なる第２のグラフィカルコンテンツを含むことを判断することであって、前記第１および第２のグラフィカルコンテンツは、１つまたは複数の表示可能なグラフィカルオブジェクトを備える、判断することと、
イベントを判断することに応答して、前記ソースデバイスによって、シンクデバイスにおいてレンダリングするための前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトのセットを選択することと、
前記ソースデバイスによって、少なくとも部分的に前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することであって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて前記第２のグラフィカルコンテンツのグラフィカルオブジェクトをレンダリングするために前記シンクデバイスによって使用可能である、生成することと、
前記ソースデバイスによって、前記コンフィギュレーションデータを前記シンクデバイスに送信することと、および、
前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットを前記シンクデバイスと共有しながら、前記ソースデバイスのみによって前記第１のグラフィカルコンテンツを表示することと
を備える、方法。
【請求項２】
前記ソースデバイスによって、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信することと、
前記ソースデバイスによって、少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて前記コンフィギュレーションデータを生成することと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記コンフィギュレーションデータは、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、請求項１に記載の方法。
【請求項４】
前記グラフィカルコマンドは、画素レベルの表示データを備えない、請求項３に記載の方法。
【請求項５】
前記ソースデバイスによって、前記シンクデバイスに関連するディスプレイ解像度を前記シンクデバイスから受信することと、
前記ソースデバイスによって、前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成することと、
前記ソースデバイスによって、少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成することと
をさらに備える、請求項１に記載の方法。
【請求項６】
少なくとも部分的に前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することは、
前記ソースデバイスによって、前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成することをさらに備える、請求項１に記載の方法。
【請求項７】
ユーザ入力の第１の指示を、前記ソースデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記第１の指示を受信することに応答して、少なくとも部分的に前記ソースデバイスによって、第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成することと、
前記ソースデバイスによって、第２のタイムスタンプに関連する第２のイベントを前記シンクデバイスから受信することと、
前記ソースデバイスによって、前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表すかどうかを判断することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、前記ソースデバイスによって、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成することと
をさらに備える、請求項１に記載の方法。
【請求項８】
前記ソースデバイスによって、第１のアプリケーションを実行することと、
前記ソースデバイスによって、前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断することと、
前記指示を判断することに応答して、前記ソースデバイスによって、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断することと、
前記ソースデバイスによって、前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成することと
をさらに備える、請求項１に記載の方法。
【請求項９】
ワイヤレスソースデバイスであって、
命令を記憶するメモリと、
前記命令を実行するように構成された１つまたは複数のプロセッサとを備え、前記命令を実行する場合、前記１つまたは複数のプロセッサは、
ソースデバイスによりレンダリングした表示データが、前記ソースデバイスのみによる表示のための第１のグラフィカルコンテンツと異なる第２のグラフィカルコンテンツを含むことを判断することであって、前記第１および第２のグラフィカルコンテンツは、１つまたは複数の表示可能なグラフィカルオブジェクトを備える、判断することと、
イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトのセットを選択することと、
少なくとも部分的に前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することであって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて前記第２のグラフィカルコンテンツのグラフィカルオブジェクトをレンダリングするために前記シンクデバイスによって使用可能である、生成することと、
前記コンフィギュレーションデータを前記シンクデバイスに送信することと、および、
前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットを前記シンクデバイスと共有しながら、前記ソースデバイスのみによって前記第１のグラフィカルコンテンツを表示することと
を引き起こすワイヤレスソースデバイス、を備えるデバイス。
【請求項１０】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信することと、
少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて、前記コンフィギュレーションデータを生成することと
を引き起こす、請求項９に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１１】
前記コンフィギュレーションデータは、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、請求項９に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１２】
前記グラフィカルコマンドは、画素レベルの表示データを備えない、請求項１１に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１３】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスに関連するディスプレイ解像度を前記シンクデバイスから受信することと、
前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成することと、
少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成することと
を引き起こす、請求項９に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１４】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成することを引き起こす、請求項９に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１５】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
ユーザ入力の第１の指示を、前記ソースデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記第１の指示を受信することに応答して、少なくとも部分的に第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成することと、
第２のタイムスタンプに関連する第２のイベントを、前記シンクデバイスから受信することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表すかどうかを判断することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成することと
を引き起こす、請求項９に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１６】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
第１のアプリケーションを実行することと、
前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断することと、
前記指示を判断することに応答して、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断することと、
前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成することと
を引き起こす、請求項９に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項１７】
ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、
ソースデバイスによりレンダリングした表示データが、前記ソースデバイスのみによる表示のための第１のグラフィカルコンテンツと異なる第２のグラフィカルコンテンツを含むことを判断することであって、前記第１および第２のグラフィカルコンテンツは、１つまたは複数の表示可能なグラフィカルオブジェクトを備える、判断することと、
イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトのセットを選択することと、
少なくとも部分的に前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することであって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて前記第２のグラフィカルコンテンツのグラフィカルオブジェクトをレンダリングするために前記シンクデバイスによって使用可能である、生成することと、
前記コンフィギュレーションデータを前記シンクデバイスに送信することと、および、
前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットを前記シンクデバイスと共有しながら、前記ソースデバイスのみによって前記第１のグラフィカルコンテンツを表示することと
を行わせる命令を記憶する、コンピュータ可読記憶媒体。
【請求項１８】
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信すると、少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて前記コンフィギュレーションデータを生成することを行わせる命令を記憶する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記コンフィギュレーションデータが、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記グラフィカルコマンドが、画素レベルの表示データを備えない、請求項１９に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記シンクデバイスに関連するディスプレイ解像度を前記シンクデバイスから受信すると、前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成することと、
少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成することと
を行わせる命令を記憶する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２２】
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成することを行わせる命令を記憶する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２３】
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
ユーザ入力の第１の指示を前記ソースデバイスのタッチセンシティブスクリーンにおいて受信すると、前記第１の指示を受信することに応答して、少なくとも部分的に第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成することと、
第２のタイムスタンプに関連する第２のイベントを前記シンクデバイスから受信すると、前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表しているかどうかを判断することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成することと
を行わせる命令を記憶する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
第１のアプリケーションを実行することと、
前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断することと、
前記指示を判断することに応答して、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断することと、
前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成することと
を行わせる命令を記憶する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項２５】
ワイヤレスソースデバイスであって、
ソースデバイスによりレンダリングした表示データが、前記ソースデバイスのみによる表示のための第１のグラフィカルコンテンツと異なる第２のグラフィカルコンテンツを含むことを判断するための手段であって、前記第１および第２のグラフィカルコンテンツは、１つまたは複数の表示可能なグラフィカルオブジェクトを備える、判断するための手段と、
イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトのセットを選択するための手段と、
少なくとも部分的に前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成するための手段であって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて前記第２のグラフィカルコンテンツのグラフィカルオブジェクトをレンダリングするために前記シンクデバイスによって使用可能である、生成するための手段と、
前記コンフィギュレーションデータを前記シンクデバイスに送信するための手段と、および、
前記第２のグラフィカルコンテンツの前記１つまたは複数のグラフィカルオブジェクトの前記セットを前記シンクデバイスと共有しながら、前記ソースデバイスのみによって前記第１のグラフィカルコンテンツを表示するための手段と
を備えるワイヤレスソースデバイス、を備えるデバイス。
【請求項２６】
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信するための手段と、
少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて前記コンフィギュレーションデータを生成するための手段と
を備える、請求項２５に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項２７】
前記コンフィギュレーションデータは、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、請求項２５に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項２８】
前記グラフィカルコマンドは、画素レベルの表示データを備えない、請求項２７に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項２９】
前記シンクデバイスに関連するディスプレイ解像度を、前記シンクデバイスから受信するための手段と、
前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成するための手段と、
少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成するための手段と
を備える、請求項２５に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項３０】
前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成するための手段を備える、請求項２５に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項３１】
ユーザ入力の第１の指示を、前記ソースデバイスのタッチセンシティブスクリーンにおいて受信するための手段と、
前記第１の指示を受信することに応答して、少なくとも部分的に第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成するための手段と、
第２のタイムスタンプに関連する第２のイベントを受信するための手段と、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表すかどうかを判断するための手段と、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成するための手段と
を備える、請求項２５に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項３２】
第１のアプリケーションを実行するための手段と、
前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断するための手段と、
前記指示を判断することに応答して、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断するための手段と、
前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成するための手段と
を備える、請求項２５に記載のワイヤレスソースデバイス、を備えるデバイス。
【請求項３３】
シンクデバイスによって、イベントに応答して前記ソースデバイスによって選択される前記第２のグラフィカルコンテンツのグラフィカルオブジェクトのセットをレンダリングするために前記シンクデバイスによって使用可能なコンフィギュレーションデータを受信することと、
前記シンクデバイスによって、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて、前記コンフィギュレーションデータを使用して前記第２のグラフィカルコンテンツのグラフィカルオブジェクトの前記セットをレンダリングすることと
をさらに備える、請求項１に記載の方法。
【請求項３４】
前記シンクデバイスによって、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信することと、
前記シンクデバイスによって、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信することと
をさらに備える、請求項３３に記載の方法。
【請求項３５】
前記シンクデバイスによって、前記シンクデバイスのディスプレイ解像度を前記ソースデバイスに送信することをさらに備える、請求項３３に記載の方法。
【請求項３６】
ユーザ入力の指示を、前記シンクデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記指示を受信することに応答して、前記シンクデバイスによって、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成することと、
前記シンクデバイスによって、前記イベントを前記ソースデバイスに送信することと
をさらに備える、請求項３３に記載の方法。
【請求項３７】
前記シンクデバイスによって、前記シンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を前記ソースデバイスに送信することと、
前記シンクデバイスによって、前記シンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記シンクデバイスに実行させるためのコンフィギュレーションデータを受信することと、
前記シンクデバイスによって、前記少なくとも１つのアプリケーションを実行することと
をさらに備える、請求項３３に記載の方法。
【請求項３８】
ワイヤレスシンクデバイスであって、
命令を記憶するメモリと、
前記命令を実行するように構成された１つまたは複数のプロセッサとを備え、前記命令を実行する場合、前記１つまたは複数のプロセッサは、
イベントに応答して前記ソースデバイスによって選択される前記第２のグラフィカルコンテンツのグラフィカルオブジェクトのセットをレンダリングするために前記シンクデバイスによって使用可能なコンフィギュレーションデータを受信することと、
少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて、前記コンフィギュレーションデータを使用して前記第２のグラフィカルコンテンツのグラフィカルオブジェクトの前記セットをレンダリングすることと
を引き起こすワイヤレスシンクデバイス、をさらに備える、請求項９に記載のデバイス。
【請求項３９】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信することと、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信することと
を引き起こす、請求項３８に記載のワイヤレスシンクデバイス、を備えるデバイス。
【請求項４０】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ソースデバイスに送信することを引き起こす、請求項３８に記載のワイヤレスシンクデバイス、を備えるデバイス。
【請求項４１】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
ユーザ入力の指示を、前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記指示を受信することに応答して、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成することと、
前記イベントを前記ソースデバイスに送信することと
を引き起こす、請求項３８に記載のワイヤレスシンクデバイスを備えるデバイス。
【請求項４２】
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を前記ソースデバイスに送信することと、
前記シンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記シンクデバイスに実行させるためのコンフィギュレーションデータを受信することと、
前記少なくとも１つのアプリケーションを実行することと
を引き起こす、請求項３８に記載のワイヤレスシンクデバイス、を備えるデバイス。
【請求項４３】
ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、
イベントに応答して前記ソースデバイスによって選択された前記第２のグラフィカルコンテンツのグラフィカルオブジェクトのセットをレンダリングするために前記ワイヤレスシンクデバイスによって使用可能なコンフィギュレーションデータを受信すると、少なくとも部分的に前記ワイヤレスシンクデバイスに関連する１つまたは複数の表示パラメータに基づいて前記コンフィギュレーションデータを使用して前記第２のグラフィカルコンテンツのグラフィカルオブジェクトの前記セットをレンダリングすることを行わせる命令をさらに記憶する、請求項１７に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記ワイヤレスシンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信すると、前記ワイヤレスシンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信することを行わせる命令を記憶する、請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ソースデバイスに送信することを行わせる命令を記憶する、請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
ユーザ入力の指示を前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信すると、前記指示を受信することに応答して、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成することと、
前記イベントを前記ソースデバイスに送信することと
を行わせる命令を記憶する、請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記ワイヤレスシンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を前記ソースデバイスに送信することと、
前記ワイヤレスシンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記ワイヤレスシンクデバイスに実行させるためのコンフィギュレーションデータを受信すると、前記少なくとも１つのアプリケーションを実行することと
を行わせる命令を記憶する、請求項４３に記載のコンピュータ可読記憶媒体。
【請求項４８】
ワイヤレスシンクデバイスであって、
イベントに応答して前記ソースデバイスによって選択される前記第２のグラフィカルコンテンツのグラフィカルオブジェクトのセットをレンダリングするために前記ワイヤレスシンクデバイスによって使用可能なコンフィギュレーションデータを受信するための手段と、
少なくとも部分的に前記ワイヤレスシンクデバイスに関連する１つまたは複数の表示パラメータに基づいて、前記コンフィギュレーションデータを使用して前記第２のグラフィカルコンテンツのグラフィカルオブジェクトの前記セットをレンダリングするための手段と
を備えるワイヤレスシンクデバイス、をさらに備える、請求項２５に記載のデバイス。
【請求項４９】
前記ワイヤレスシンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信するための手段と、
前記ワイヤレスシンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信するための手段と
を備える、請求項４８に記載のワイヤレスシンクデバイス、を備えるデバイス。
【請求項５０】
前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ソースデバイスに送信するための手段を備える、請求項４８に記載のワイヤレスシンクデバイス、を備えるデバイス。
【請求項５１】
ユーザ入力の指示を、前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信するための手段と、
前記指示を受信することに応答して、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成するための手段と、
前記イベントを前記ソースデバイスに送信するための手段と
を備える、請求項４８に記載のワイヤレスシンクデバイスを備えるデバイス。
【請求項５２】
前記ワイヤレスシンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を、前記ソースデバイスに送信するための手段と、
前記ワイヤレスシンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記ワイヤレスシンクデバイスに実行させるためのコンフィギュレーションデータを受信するための手段と、
前記少なくとも１つのアプリケーションを実行するための手段と
を備える、請求項４８に記載のワイヤレスシンクデバイス、を備えるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によりそれらの内容の全体が本明細書に組み込まれる、２０１１年２月４日に出願された「ＷＩ−ＦＩ  ＤＩＳＰＬＡＹ  ＲＥＶＥＲＳＥ  ＣＨＡＮＮＥＬ  ＳＥＴＵＰ  ＡＮＤ  ＩＮＰＵＴ  ＤＡＴＡ  ＥＮＣＡＰＳＵＬＡＴＩＯＮ」という名称の米国特許仮出願第６１／４３９，８０９号、および２０１１年１２月２２日に出願された「ＣＯＮＴＥＮＴ  ＰＲＯＶＩＳＩＯＮＩＮＧ  ＦＯＲ  ＷＩＲＥＬＥＳＳ  ＢＡＣＫ  ＣＨＡＮＮＥＬ」という名称の米国特許仮出願第６１／５７９，０５９号の優先権を主張する。
【０００２】
本開示は、ワイヤレスソースデバイスとワイヤレスシンクデバイスとの間でデータを送信するための技法に関する。
【背景技術】
【０００３】
ワイヤレスディスプレイ（ＷＤ）またはＷｉ−Ｆｉ  Ｄｉｓｐｌａｙ（ＷＦＤ）システムは、ソースデバイスと１つまたは複数のシンクデバイスとを含む。ソースデバイスと、シンクデバイスのそれぞれとは、モバイルデバイス、またはワイヤレス通信機能を有するワイヤードデバイスのいずれかであってよい。たとえば、モバイルデバイスとして、ソースデバイスおよびシンクデバイスのうちの１つまたは複数が、携帯電話、ワイヤレス通信カードを有するポータブルコンピュータ、携帯情報端末（ＰＤＡ）、ポータブルメディアプレーヤ、あるいは、いわゆる「スマート」フォンおよび「スマート」パッドもしくはタブレット、または他のタイプのワイヤレス通信デバイスを含む、ワイヤレス通信機能を有する他のフラッシュメモリデバイスを備え得る。たとえば、ワイヤードデバイスとして、ソースデバイスおよびシンクデバイスのうちの１つまたは複数が、ワイヤレス通信機能を含む、テレビジョン、デスクトップコンピュータ、モニタ、プロジェクタなどを備え得る。
【０００４】
ソースデバイスは、オーディオビデオ（ＡＶ）データなどのメディアデータを、特定のメディアシェアセッションに参加しているシンクデバイスのうちの１つまたは複数に送信する。メディアデータは、ソースデバイスのローカルディスプレイと、シンクデバイスのディスプレイのそれぞれの両方において再生され得る。より具体的には、参加しているシンクデバイスのそれぞれは、受信されたメディアデータを、そのスクリーンとオーディオ機器とにレンダリングする。
【発明の概要】
【０００５】
本開示の技法は、一般に、ワイヤレスソースデバイスとワイヤレスシンクデバイスとの間の通信に関する。たとえば、本開示のいくつかの態様は、ワイヤレスソースデバイスがワイヤレス通信を使用してワイヤレスシンクデバイスにおいてコンテンツをレンダリングすることを可能にすることに関する。本開示のいくつかの態様によれば、ワイヤレスソースデバイスは、ワイヤレス通信技法を使用してワイヤレスシンクデバイスにおいてレンダリングするためのグラフィカルコンテンツを共有することができる。加えて、本開示の態様は、ワイヤレスシンクデバイスがワイヤレスソースデバイスのための第２のディスプレイとして働くことを可能にすることに関する。加えて、本開示の態様は、ソースデバイスが、ソースデバイスによって実行されているアプリケーションをオフロードして、アプリケーションが次に、シンクデバイスによって実行されるようにすることを可能にすることに関する。
【０００６】
一例では、本開示の態様は：ソースデバイスによって、ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断することと；イベントを判断することに応答して、ソースデバイスによって、シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトのセットを選択することと；ソースデバイスによって、少なくとも部分的に１つまたは複数のグラフィカルオブジェクトのセットに基づいてコンフィギュレーションデータを生成することであって、コンフィギュレーションデータが、少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトのセットにおけるグラフィカルオブジェクトの表示（representation）をレンダリングするためにシンクデバイスによって使用可能であり；ソースデバイスによって、コンフィギュレーションデータをシンクデバイスに送信することとを備える、方法に関する。
【０００７】
別の例では、本開示の態様は：命令を記憶するメモリと；命令を実行するように構成された１つまたは複数のプロセッサとを備え、命令を実行する場合、１つまたは複数のプロセッサは、：ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断することと；イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトのセットを選択することと；少なくとも部分的に１つまたは複数のグラフィカルオブジェクトのセットに基づいてコンフィギュレーションデータを生成することであって、コンフィギュレーションデータが、少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトのセットにおけるグラフィカルオブジェクトの表示をレンダリングするためにシンクデバイスによって使用可能であり；コンフィギュレーションデータをシンクデバイスに送信することとを引き起こす、ワイヤレスソースデバイスに関する。
【０００８】
別の例では、本開示の態様は、ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、１つまたは複数のプロセッサに：ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断することと；イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトのセットを選択することと；少なくとも部分的に１つまたは複数のグラフィカルオブジェクトのセットに基づいてコンフィギュレーションデータを生成することであって、コンフィギュレーションデータが、少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトのセットにおけるグラフィカルオブジェクトの表示をレンダリングするためにシンクデバイスによって使用可能であり；コンフィギュレーションデータをシンクデバイスに送信することとを行わせる命令を記憶する、コンピュータ可読記憶媒体に関する。
【０００９】
別の例では、本開示の態様は：ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断するための手段と；イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトのセットを選択するための手段と；少なくとも部分的に１つまたは複数のグラフィカルオブジェクトのセットに基づいてコンフィギュレーションデータを生成するための手段であって、コンフィギュレーションデータが、少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトのセットにおけるグラフィカルオブジェクトの表示をレンダリングするためにシンクデバイスによって使用可能である、手段と；コンフィギュレーションデータをシンクデバイスに送信するための手段とを備える、ワイヤレスソースデバイスに関する。
【００１０】
別の例では、本開示の態様は：シンクデバイスによって、イベントに応答してソースデバイスによって選択されたグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信することと；シンクデバイスによって、少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいてコンフィギュレーションデータを使用してグラフィカルオブジェクトのセットの表示をレンダリングすることとを備える、方法に関する。
【００１１】
別の例では、本開示の態様は：命令を記憶するメモリと；命令を実行するように構成された１つまたは複数のプロセッサとを備え、命令を実行する場合、１つまたは複数のプロセッサは：イベントに応答してソースデバイスによって選択されたグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信することと；少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいてコンフィギュレーションデータを使用してグラフィカルオブジェクトのセットの表示をレンダリングすることとを引き起こす、ワイヤレスシンクデバイスに関する。
【００１２】
別の例では、本開示の態様は、ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、１つまたは複数のプロセッサに：イベントに応答してソースデバイスによって選択されたグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信すると、少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいてコンフィギュレーションデータを使用してグラフィカルオブジェクトのセットの表示をレンダリングすることを行わせる命令を記憶する、コンピュータ可読記憶媒体に関する。
【００１３】
別の例では、本開示の態様は：イベントに応答してソースデバイスによって選択されたグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信するための手段と；少なくとも部分的にシンクデバイスに関連する１つまたは複数の表示パラメータに基づいてコンフィギュレーションデータを使用してグラフィカルオブジェクトのセットの表示をレンダリングするための手段とを備える、ワイヤレスシンクデバイスに関する。
【００１４】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１５】
【図１Ａ】本開示の技法を実装し得る、ソースデバイスとシンクデバイスとを有するソース／シンクシステムの一例を示すブロック図。
【図１Ｂ】本開示の技法を実装し得る、２つ以上のシンクデバイスを有するソース／シンクシステムの一例を示すブロック図。
【図２】本開示の技法を実装し得る、ソースデバイスの一例を示すブロック図。
【図３】本開示の技法を実装し得る、シンクデバイスの一例を示すブロック図。
【図４】本開示の技法を実装し得る、送信機システムおよび受信機システムの一例を示すブロック図。
【図５】本開示の態様による、ソースデバイスとシンクデバイスとの間の例示的なワイヤレス通信を示す概略図。
【図６】本開示の態様による、ソースデバイスがワイヤレスシンクデバイスと通信することを可能にし得る例示的な方法を示すフロー図。
【図７】本開示の態様による、ワイヤレスシンクデバイスがソースデバイスと通信することを可能にし得る例示的な方法を示すフロー図。
【発明を実施するための形態】
【００１６】
ワイヤレスディスプレイ（ＷＤ）システムは、ワイヤレスディスプレイ（ＷＤ）ソースと、１つまたは複数のワイヤレスディスプレイシンクとを含み得る。一般に、ワイヤレスディスプレイソース（「ソースデバイス」）は、端末デバイスにおいて受信されたオーディオビデオ（ＡＶ）データをレンダリングし得るワイヤレスディスプレイシンク（「シンクデバイス」）に、ＡＶデータを送信し得る。いくつかの例では、ＡＶデータは、急速に連続して再生される一連のフレーム（または画像）を含み得、フレームはまた、関連するオーディオフレームを含み得るが、オーディオフレームが含まれないときもある。
【００１７】
いくつかの場合には、ソースデバイスは、シンクデバイスにおいて加えられたユーザ入力に応答するようにプロンプトを出されることがある。そのような対話型アプリケーションでは、シンクデバイスにおいて加えられたユーザ入力が、ソースデバイスに送り返されることがある。一例では、シンクデバイスにおいて加えられたユーザ入力をワイヤレスディスプレイシステムがソースデバイスに送信することを可能にするために、逆方向チャネル構造が実装されてよい。逆方向チャネル構造は、ユーザ入力をトランスポートするための上位レイヤメッセージと、シンクデバイスおよびソースデバイスにおいてユーザインターフェース機能を交渉するための下位レイヤフレームとを含み得る。
【００１８】
ワイヤレスディスプレイ逆方向チャネルは、ワイヤレスディスプレイシンクとワイヤレスディスプレイソースとの間のインターネットプロトコル（ＩＰ）トランスポートレイヤの上に常駐し得る。ユーザ入力への確実な送信と順序正しい送達とを促進するために、ワイヤレスディスプレイ逆方向チャネルは、ＴＣＰ／ＩＰの上部で実行するように構成されてよい。いくつかの場合には、シンクデバイスにおけるユーザ入力インターフェースとソースデバイスにおけるユーザ入力インターフェースとの間に不整合が存在することがある。そのような不整合によって引き起こされる問題を解決し、そのような環境下で良好なユーザエクスペリエンスを促進するために、ユーザ入力インターフェース機能交渉が、シンクデバイスとソースデバイスとの間で発生する。
【００１９】
本開示の態様は、シンクデバイスにおいてレンダリングするためのグラフィカルコンテンツをソースデバイスが共有することを可能にすることに関する。加えて、本開示の態様は、シンクデバイスがソースデバイスのための第２のディスプレイとして働くことを可能にすることに関する。本開示の態様はまた、ソースデバイスが、ソースデバイスによって実行されているアプリケーションをオフロードして、アプリケーションが次に、シンクデバイスによって実行されるようにすることを可能にすることに関する。
【００２０】
図１Ａは、本開示の技法を実装し得る例示的なソース／シンクシステム１００を示すブロック図である。図１に示すように、システム１００は、通信チャネル１５０を介してシンクデバイス１６０と通信するソースデバイス１２０を含む。ソースデバイス１２０は、オーディオ／ビデオ（Ａ／Ｖ）データ１２１を記憶するメモリと、ディスプレイ１２２と、スピーカ１２３と、オーディオ／ビデオエンコーダ１２４（エンコーダ１２４とも呼ばれる）、オーディオ／ビデオ制御モジュール１２５と、送信機／受信機（ＴＸ／ＲＸ）ユニット１２６とを含み得る。シンクデバイス１６０は、ディスプレイ１６２と、スピーカ１６３と、オーディオ／ビデオデコーダ１６４（デコーダ１６４とも呼ばれる）、送信機／受信機１６６と、ユーザ入力（ＵＩ）デバイス１６７と、ユーザ入力処理モジュール（ＵＩＰＭ）１６８とを含み得る。図示の構成要素は、一例を構成するにすぎず、他の例は、これらの図示されたものより少ない構成要素か、または追加の構成要素を含み得る。
【００２１】
図１の例では、ソースデバイス１２０は、オーディオ／ビデオデータ１２１のビデオ部分をディスプレイ１２２に表示し得、オーディオ／ビデオデータ１２１のオーディオ部分をスピーカ１２２に出力し得る。オーディオ／ビデオデータ１２１は、ソースデバイス１２０にローカルに記憶され得、ファイルサーバ、ブルーレイディスク（登録商標）、もしくはＤＶＤなどの外部記憶媒体からアクセスされ得、またはインターネットなどのネットワーク接続を介してソースデバイス１２０にストリームされ得る。いくつかの例では、オーディオ／ビデオデータ１２１は、ソースデバイス１２０のカメラおよびマイクロフォンを介してリアルタイムでキャプチャされ得る。オーディオ／ビデオデータ１２１は、ムービー、テレビ番組、または音楽などのマルチメディアコンテンツを含み得るが、同様に、ソースデバイス１２０によって生成されるリアルタイムコンテンツも含み得る。そのようなリアルタイムコンテンツは、たとえば、ソースデバイス１２０で実行中のアプリケーションによって作成され得る。一例では、そのようなリアルタイムコンテンツはまた、ユーザが選択するために利用可能なユーザ入力オプションのビデオフレームを含み得る。いくつかの例では、オーディオ／ビデオデータ１２１は、ビデオのフレームにオーバレイされたユーザ入力オプションを有するムービーまたはＴＶ番組のビデオフレームなど、異なるタイプのコンテンツの組合せであるビデオフレームを含み得る。
【００２２】
ディスプレイ１２２およびスピーカ１２３を介してローカルにオーディオ／ビデオデータ１２１をレンダリングすることに加えて、ソースデバイス１２０のオーディオ／ビデオエンコーダ１２４は、オーディオ／ビデオデータ１２１を符号化し得、送信機／受信機ユニット１２６は、符号化データを通信チャネル１５０を介してシンクデバイス１６０に送信し得る。シンクデバイス１６０の送信機／受信機ユニット１６６は符号化データを受信し、オーディオ／ビデオデコーダ１６４は符号化データを復号し、ディスプレイ１６２およびスピーカ１６３を介して復号データを出力する。このようにして、ディスプレイ１２２およびスピーカ１２によってレンダリングされているオーディオおよびビデオのデータが、ディスプレイ１６２およびスピーカ１６３によって同時にレンダリングされ得る。オーディオデータおよびビデオデータはフレーム内で構成されてよく、オーディオフレームは、レンダリングされるときにビデオフレームと時刻同期されてよい。
【００２３】
オーディオ／ビデオエンコーダ１２４およびオーディオ／ビデオデコーダ１６４は、別名としてＭＰＥＧ−４  Ｐａｒｔ  １０高度ビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、または新しく出現した、ときにＨ．２６５規格と呼ばれるｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）規格など、任意の数のオーディオおよびビデオの圧縮規格を実装し得る。概して、オーディオ／ビデオデコーダ１６４は、オーディオ／ビデオエンコーダ１２４のレシプロカルコーディング演算を実行するように構成される。図１には示さないが、いくつかの態様では、Ａ／Ｖエンコーダ１２４およびＡ／Ｖデコーダ１６４は、それぞれオーディオのエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。
【００２４】
図１は、オーディオペイロードデータとビデオペイロードデータとを別々に搬送する通信チャネル１５０を示すが、いくつかの例では、ビデオペイロードデータおよびオーディオペイロードデータは共通のデータストリームの一部であってもよいことを理解されたい。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。オーディオ／ビデオエンコーダ１２４およびオーディオ／ビデオデコーダ１６４はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。オーディオ／ビデオエンコーダ１２４およびオーディオ／ビデオデコーダ１６４のそれぞれは、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００２５】
ディスプレイ１２２およびディスプレイ１６２は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なビデオ出力デバイスのいずれかを備え得る。上記または他の例では、表示デバイスは、放射型ディスプレイまたは透過型ディスプレイであってよい。スピーカ１２３は、ヘッドフォン、シングルスピーカシステム、マルチスピーカシステム、またはサラウンドサウンドシステムなど、様々なオーディオ出力デバイスのいずれかを備え得る。加えて、ディスプレイ１２２およびスピーカ１２３はソースデバイス１２０の一部として示され、ディスプレイ１６２およびスピーカ１６３はシンクデバイス１６０の一部として示されているが、ソースデバイス１２０およびシンクデバイス１６０は、実際は、それらのデバイスの一システムであってよい。一例として、ディスプレイ１６２はテレビジョンであってよく、スピーカ１６３はサラウンドサウンドシステムであってよく、デコーダ１６４はワイヤードまたはワイヤレスのいずれかでディスプレイ１６２とスピーカ１６３とに接続された外部ボックスの一部であってよい。他の例では、シンクデバイス１６０は、タブレットコンピュータまたはスマートフォンなどの単一のデバイスであってよい。さらに他の場合では、ソースデバイス１６０およびシンクデバイス１２０は同じデバイス、たとえば両方ともスマートフォン、タブレットなどである。この場合、一方のデバイスがソースとして動作してよく、他方がシンクとして動作してよい。これらの役割は、その後の通信セッションにおいて反転されてもよい。
【００２６】
送信機／受信機ユニット１２６および送信機／受信機ユニット１６６は、それぞれ、信号変調のために設計された様々なミキサ、フィルタ、増幅器、および他の構成要素、ならびにデータを送信および受信するために設計された１つまたは複数のアンテナおよび他の構成要素を含み得る。通信チャネル１５０は、一般に、ビデオデータをソースデバイス１２０からシンクデバイス１６０に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１５０は、通常、ＷｉＦｉ、ブルートゥース（登録商標）などと類似する、比較的短距離の通信チャネルである。しかしながら、通信チャネル１５０は必ずしもこの点において制限されるとは限らず、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。他の例では、通信チャネル１５０は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成することもできる。ソースデバイス１２０およびシンクデバイス１６０は、ＩＥＥＥ８０２．１１規格ファミリーによる規格などの通信プロトコルを使用する通信チャネルを介して通信し得る。
【００２７】
ソースデバイス１２０から受信されたデータを復号およびレンダリングすることに加えて、シンクデバイス１６０はまた、ユーザ入力デバイス１６７からユーザ入力を受信し得る。ユーザ入力デバイス１６７は、たとえば、キーボード、マウス、トラックボールもしくはトラックパッド、タッチスクリーン、ボイスコマンド認識モジュール、別のタイプのヒューマンデバイスインターフェース（ＨＤＩ）ユニットもしくはデバイス、または任意の他のそのようなユーザ入力デバイスであってよい。ユーザ入力処理モジュール１６８は、ユーザ入力デバイス１６７によって受信されたユーザ入力コマンドを、ソースデバイス１２０が解釈できるデータパケット構造にフォーマットする。そのようなデータパケットは、送信機／受信機１６６によって通信チャネル１５０を介してソースデバイス１２０に送信される。送信機／受信機ユニット１２６がデータパケットを受信し、Ａ／Ｖ制御モジュールが、ユーザ入力デバイス１６７によって受信されたユーザ入力コマンドを解釈するために、データパケットを解析する。データパケット内で受信されたコマンドに基づいて、Ａ／Ｖ制御モジュール１２５は、符号化されて送信されたコンテンツを変更することができる。このようにして、シンクデバイス１６０のユーザは、ソースデバイス１２０によってリモートで送信されるオーディオペイロードデータとビデオペイロードデータとを制御し得、ソースデバイス１２０と直接対話することはない。シンクデバイス１６０のユーザがソースデバイス１２０に送信し得るコマンドのタイプの例は、オーディオビデオデータの巻戻し、早送り、一時停止、および再生のためのコマンド、ならびにズーミング、回転、スクロールなどのためのコマンドを含む。ユーザはまた、たとえばオプションのメニューから選択し、その選択をソースデバイス１２０に送り返すことができる。コマンドは、アプリケーション固有もしくはプラットフォーム固有であってよく、またはマルチプルプラットフォームもしくはマルチプルアプリケーションに適用可能な汎用コマンドを備えてよい。
【００２８】
ソースデバイス１２０は、シンクデバイス１６０において加えられたユーザ入力に応答し得る。そのような対話型アプリケーションセッティングでは、シンクデバイス１６０において加えられたユーザ入力は、通信チャネル１５０を介してワイヤレスディスプレイソースに送り返されることがある。一例では、ユーザインターフェースバックチャネル（ＵＩＢＣ）とも呼ばれる逆方向チャネル構造は、シンクデバイス１６０に加えられたユーザ入力をシンクデバイス１６０がソースデバイス１２０に送信することを可能にするために実装され得る。逆方向チャネル構造は、ユーザ入力をトランスポートするための上位レイヤメッセージと、シンクデバイス１６０およびソースデバイス１２０においてユーザインターフェース機能を交渉するための下位レイヤフレームとを含み得る。ＵＩＢＣは、シンクデバイス１６０とソースデバイス１２０との間のインターネットプロトコル（ＩＰ）トランスポートレイヤ上に常駐し得る。ユーザ入力データを含むデータパケットの確実な送信と順序正しい送達を促進するために、ＵＩＢＣは、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）またはユーザデータグラムプロトコル（ＵＤＰ）など、他のパケットベース通信プロトコルの上部で実行するように構成されてよい。
【００２９】
いくつかの場合には、ソースデバイス１２０に位置するユーザ入力インターフェースとシンクデバイス１６０との間に不整合が存在することがある。そのような不整合によって生成される潜在的問題を解決し、そのような環境下で良好なユーザエクスペリエンスを促進するために、ユーザ入力インターフェース機能交渉が、通信セッションを確立する前に、ソースデバイス１２０とシンクデバイス１６０との間で発生することがある。
【００３０】
ＵＩＢＣは、クロスプラットフォームユーザ入力データを含む、様々なタイプのユーザ入力データをトランスポートするように設計され得る。たとえば、ソースデバイス１２０は、ｉＯＳ（登録商標）オペレーティングシステムを実行し得る一方で、シンクデバイス１６０は、アンドロイド（登録商標）またはＷｉｎｄｏｗｓ（登録商標）など、別のオペレーティングシステムを実行する。プラットフォームにかかわらず、ＵＩＰＭ  １６８は、受信されたユーザ入力を、Ａ／Ｖ制御モジュール１２５にとって理解可能な形態にカプセル化することができる。多くの異なるタイプのソースデバイスおよびシンクデバイスがプロトコルを利用することを可能にするために、いくつかの異なるタイプのユーザ入力フォーマットがＵＩＢＣによってサポートされ得る。汎用入力フォーマットが定義されてよく、プラットフォーム固有の入力フォーマットもサポートされてよく、したがって、ユーザ入力が、ＵＩＢＣによってソースデバイス１２０とシンクデバイス１６０との間で通信され得る方式でフレキシビリティが提供される。
【００３１】
図１の例では、ソースデバイス１２０は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ＷｉＦｉ対応テレビジョン、またはオーディオおよびビデオのデータを送信可能な任意の他のデバイスを備え得る。シンクデバイス１６０は、同様に、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ＷｉＦｉ対応テレビジョン、またはオーディオおよびビデオのデータを受信しかつユーザ入力データを受信することができる任意の他のデバイスを備え得る。いくつかの例では、シンクデバイス１６０は、ディスプレイ１６２、スピーカ１６３、ＵＩデバイス１６７、およびＡ／Ｖエンコーダ１６４のすべてが個別であるが相互動作するデバイスの部分であるようなデバイスによる一システムを含むことがある。ソースデバイス１２０は、同様に、単一のデバイスではなくデバイスのシステムであってよい。多くの場合、ソースデバイス１２０およびシンクデバイス１６０は、一方のデバイスがソースとして動作し、他方のデバイスがシンクとして動作する、類似または同等のデバイスであってよい。その上、これらの役割は、異なる通信セッションにおいて反転されてよい。
【００３２】
本開示の態様は、シンクデバイス１６０においてレンダリングするためのグラフィカルコンテンツをソースデバイス１２０が共有することを可能にすることに関する。加えて、本開示の態様は、シンクデバイス１６０がソースデバイス１２０のための第２のディスプレイとして働くことを可能にすることに関する。本開示の態様はまた、ソースデバイス１２０が、ソースデバイス１２０によって実行されているアプリケーションをオフロードして、アプリケーションが次に、シンクデバイス１６０によって実行されるようにすることを可能にすることに関する。
【００３３】
グラフィカルコンテンツを共有するために、ソースデバイス１２０は、最初に、シンクデバイス１６０とのワイヤレス接続を確立することができる。いくつかの例では、シンクデバイス１６０は、グラフィックスデータをレンダリングするためにグラフィックス処理ユニット（ＧＰＵ）を含み得る。したがって、ワイヤレス通信を確立することに応答して、ソースデバイス１２０は、シンクデバイス１６０のＧＰＵを説明する情報（たとえば、ＧＰＵ機能を記述する情報など）を受信し得る。ソースデバイス１２０はグラフィカルコンテンツをレンダリングするので、ソースデバイス１２０は、本開示の技法を使用して、グラフィカルコンテンツに含まれるグラフィカルオブジェクトを表すコンフィギュレーションデータを生成することができる。
【００３４】
一般に、コンフィギュレーションデータは、実際の画素レベルのデータ（たとえば、特定の色空間の画素値）を与えることなく、グラフィカルコンテンツに含まれるグラフィカルオブジェクトを表すことができる。グラフィカルオブジェクトは、たとえば、表示のための形状を形成する１つまたは複数の幾何プリミティブからなるオブジェクトを含み得る。コンフィギュレーションデータは、グラフィカルコンテンツを表すために、画素レベルの表示データより少ないビットを必要とすることができる。いくつかの例では、コンフィギュレーションデータは、ＯｐｅｎＧＬ命令または別のＧＰＵ言語の命令に類似している。コンフィギュレーションデータはまた、グラフィカルオブジェクトを修正または処理する（manipulate）ためのグラフィカルコマンド含んでよい。したがって、表示データを画素レベルでミラーリングする代わりに、グラフィカルオブジェクト（たとえば、オーバレイ）および／またはグラフィックスコマンドは、ソースデバイス１２０からシンクデバイス１６０に、ワイヤレス通信を介して抽出され、拡張され得る。
【００３５】
本開示の技法によれば、ソースデバイス１２０は、画素レベルの表示データではなくコンフィギュレーションデータをシンクデバイス１６０に送信し得る。コンフィギュレーションデータを受信すると、シンクデバイス１６０（たとえば、シンクデバイス１６０のＧＰＵ）は、シンクデバイス１６０においてグラフィカルコンテンツをレンダリングするためにコンフィギュレーションデータを使用することができる。このようにして、ソース／シンクシステムは、すべての画素レベルのデータを処理し、作成するためにソースデバイス１２０上で単に中継するのではなく、シンクデバイス１６０のレンダリング機能を活用することができる。
【００３６】
いくつかの例では、ソースデバイス１２０はまた、シンクデバイス１６０においてグラフィカルオブジェクトを修正または処理するためのコマンドを含むコンフィギュレーションデータを生成することもできる。たとえば、ユーザが、グラフィカルオブジェクトのサイズを増大するためにソースデバイス１２０にユーザ入力を行う場合、ソースデバイス１２０は、本開示の技法を使用して、グラフィカルオブジェクトのサイズの増大を記述するコンフィギュレーションデータを生成し得る。構成は、シンクデバイス１６０に送信され得、シンクデバイス１６０は、対応するグラフィカルオブジェクトを修正および／または処理する（たとえば、グラフィカルオブジェクトのサイズを増大する）ためにコンフィギュレーションデータを使用し得る。すなわち、コンフィギュレーションデータをソースデバイス１２０から受信すると、シンクデバイス１６０のＧＰＵは、シンクデバイス１６０においてレンダリングされたグラフィカルコンテンツを修正するためにコンフィギュレーションデータを使用し得る。本開示の態様によれば、上述のように、グラフィカルコンテンツに対する修正を記述するコンフィギュレーションデータは、グラフィカルコンテンツに対する変更を表すために、更新された画素レベルの表示データよりも少ないビットを必要とすることができる。
【００３７】
いくつかの例によれば、ソースデバイス１２０は、シンクデバイス１６０の機能に基づいてコンフィギュレーションデータを生成し得る。すなわち、たとえば、ソースデバイス１２０は、シンクデバイス１６０のＧＰＵの機能および設計によって解釈可能であり、かつ／またはその機能および設計に固有のコンフィギュレーションデータを生成し得る。したがって、ソースデバイス１２０は、比較的単純化されたレンダリング機能を有するシンクデバイス１６０よりも比較的強力なレンダリング機能を有するシンクデバイス１６０と、レンダリング負荷の多くを共有することができる。
【００３８】
いくつかの例では、本開示の技法は、ソースデバイス１２０およびシンクデバイス１６０が様々な異なるモードで動作することを可能にし得る。たとえば、一モードは、コンフィギュレーションデータを生成してシンクデバイス１６０に送信することをソースデバイス１２０に引き起こさせ得ると同時に、異なるモードにおいてソースデバイス１２０は、画素レベルの表示データを送信し得る。別のモードでは、ソースデバイス１２０は、いくつかのグラフィカルオブジェクトのための画素レベルの表示データと、他のグラフィカルオブジェクトのためのコンフィギュレーションデータとの組合せを送信し得る。
【００３９】
このようにして、本開示の態様は、（たとえば、低減された、画素レベルのデータのレンダリングに関連する計算負荷に起因して）ソースデバイス１２０における電力を温存するように実装され得る。加えて、コンフィギュレーションデータは、一般的には、画素レベルのデータより少ないビットを備えるので、本開示の態様は、より狭い帯域幅を使用するように実装され得る。いくつかの例では、シンクデバイス１６０において（ソースデバイス１２０からの）グラフィカルコンテンツをレンダリングおよび／または修正することに関する待ち時間もまた低減され得る。
【００４０】
その上、本開示の技法は、ソースデバイス１２０とシンクデバイス１６０とが異なるレンダリング機能を有する状況において、ソースデバイス１２０とシンクデバイス１６０との間で共有されるグラフィカルコンテンツに対して改善された表示品質を提供し得る。すなわち、いくつかの例では、ソースデバイス１２０は、シンクデバイス１６０より低いディスプレイ解像度を有してよい。説明のための一例では、ソースデバイス１２０はモバイルデバイス（たとえば、タブレットまたはスマートフォン）であってよく、一方、シンクデバイス１６０はより大きいテレビジョン（たとえば、液晶ディスプレイ（ＬＣＤ）または他のテレビジョン）であってよい。そのような例では、シンクデバイス１６０がソースデバイス１２０から画素レベルの表示データを受信する場合、シンクデバイス１６０は、画素レベルのグラフィカルコンテンツを、シンクデバイス１６０のネイティブ解像度にアップスケールするかまたは場合によっては修正することを必要とすることがある。本開示の態様によれば、シンクデバイス１６０は、代わりに、（たとえば、画素レベルのデータではなく）コンフィギュレーションデータを受信し得る。したがって、シンクデバイス１６０は、シンクデバイス１６０のネイティブ解像度においてグラフィカルコンテンツを生成するためにコンフィギュレーションデータを使用し得、それにより、グラフィカルコンテンツのより高品質の表示がもたらされる。
【００４１】
上述のように、本開示の態様はまた、シンクデバイス１６０が、ソースデバイス１２０のための「２次ディスプレイ」とも呼ばれることがある、第２のディスプレイとして働くことを可能にすることに関する。すなわち、全コンテンツをソースデバイス１２０からシンクデバイス１６０にミラーリングするのではなく、本開示の態様は、シンクデバイス１６０が、ソースデバイス１２０において表示されないいくつかのグラフィカルオブジェクトを表示し得るように、ソースデバイス１２０とシンクデバイス１６０との間でいくつかのコンテンツを共有することに関する。いくつかの例では、ユーザが、ソースデバイス１２０においてレンダリングされる１つまたは複数のグラフィカルオブジェクトを選択して、シンクデバイス１６０上でレンダリングするために共有されるようにすることができる。他の例では、アプリケーションが、ソースデバイス１２０においてレンダリングされる１つまたは複数のグラフィカルオブジェクトを自動的に決定して、シンクデバイス１６０上でレンダリングするために共有されるようにすることができる。
【００４２】
いくつかの例では、ソースデバイス１２０は、ソースデバイス１２０のディスプレイ解像度をシンクデバイス１６０にマッピングすることができる。たとえば、ソースデバイス１２０とシンクデバイス１６０とが最初に通信すると、デバイスはディスプレイ解像度情報を交換し得る。したがって、ソースデバイス１２０は、シンクデバイス１６０の解像度に基づいて、シンクデバイス１６０におけるレンダリングのためのグラフィカルオブジェクトの異なるセットを選択し得る。たとえば、シンクデバイス１６０の解像度が比較的高い場合、ソースデバイス１２０は、グラフィカルオブジェクトの第１のセットをシンクデバイス１６０に送信し得る。しかしながら、シンクデバイス１６０の解像度が比較的低い場合、ソースデバイス１２０は、第１のセットより少ないグラフィカルオブジェクトを含む、グラフィカルオブジェクトの第２のセットをシンクデバイス１６０に送信し得る。より一般的には、本開示の技法を使用して、ソースデバイス１２０は、グラフィカル要素がソースデバイス１２０からシンクデバイス１６０に送信されるシンクデバイス１６０の任意の機能（たとえば、解像度）に基づいて決定され得る。
【００４３】
一例では、ソースデバイス１２０（たとえば、タブレットまたはスマートフォンなどのモバイルデバイス）は、ソースデバイス１２０によって実行されているムービープレーヤアプリケーションを使用して、ムービーに関連するビデオデータをレンダリングすることができる。ユーザは、シンクデバイス１６０（たとえば、ＬＣＤテレビジョン）上にムービーを描写しているビデオデータを共有することをソースデバイス１２０に引き起こさせるユーザ入力を行うことができる。ユーザ入力は、追加として、シンクデバイス１６０においてレンダリングされることなく、ソースデバイス１２０においてレンダリングされることを、ムービープレーヤのグラフィカル制御に引き起こさせることができる。このようにして、本開示の技法は、ソースデバイス１２０がグラフィカルコンテンツの第１の部分をソースデバイス１２０上に、かつグラフィカルコンテンツの第２の部分をシンクデバイス１６０上にレンダリングすることを可能にし得る。グラフィカルコンテンツの第２の部分をシンクデバイス１６０においてレンダリングするために、ソースデバイス１２０は、グラフィカルコンテンツをレンダリングするためにシンクデバイス１６０によって使用可能なコンフィギュレーションデータを生成し得る。コンフィギュレーションデータをシンクデバイス１６０に送信することによって、グラフィカルコンテンツの第２の部分が、シンクデバイス１６０においてレンダリングされ得る。
【００４４】
上述のように、本開示の態様はまた、ソースデバイス１２０が、ソースデバイス１２０によって実行されているアプリケーションをオフロードして、アプリケーションが次に、シンクデバイス１６０によって実行されるようにすることを可能にすることに関する。たとえば、ソースデバイス１２０は、最初に、特定のアプリケーションを実行している。次いで、ユーザは、アプリケーションの実行をシンクデバイス１６０上にオフロードするためのユーザ入力を行うことができる。そのような例では、ソースデバイス１２０は、シンクデバイス１６０の機能に関してシンクデバイス１６０から特定の情報を要求することができる。要求に応答して、シンクデバイス１６０は、シンクデバイス１６０の機能を示す情報をソースデバイス１２０に送信し得る。たとえば、機能は、シンクデバイス１６０のオペレーティングシステムと、シンクデバイス１６０にインストールされているアプリケーションと、シンクデバイス１６０のコンピューティング性能（computing performing）を示すデータとを含んでよい。
【００４５】
一例では、アプリケーションをシンクデバイス１６０にオフロードすることの要求に応答して、ソースデバイス１２０は、ソースデバイス１２０上で実行しているアプリケーションの別の例が、同様にシンクデバイス１６０上に記憶されることを判断し得る。そのような例では、ソースデバイス１２０は、アプリケーションを識別する情報をシンクデバイス１６０に送信することができる。情報は、さらに、ソースデバイス１２０上のアプリケーションによって前に使用され、シンクデバイス１６０上のアプリケーションによって今後使用されるデータを含むことができる。アプリケーション情報を受信すると、シンクデバイス１６０は、アプリケーションをシンクデバイス１６０上で実行することができる。すなわち、シンクデバイス１６０は、アプリケーションをシンクデバイス１６０において開始することができる。加えて、シンクデバイス１６０は、ソースデバイス１２０から受信されたアプリケーション情報を使用して、ソースデバイス１２０によって実行されているアプリケーションと同じ状態に遷移することができる。
【００４６】
いくつかの例では、ソースデバイス１２０からシンクデバイス１６０にアプリケーションまたは他のプロセスをオフロードすることに関連する１つまたは複数のプロセスが、自動的に実行され得る。たとえば、そうではなく、ソースデバイス１２０とシンクデバイス１６０とは、シンクデバイス１６０の機能に関する情報を、自動的に交換し得る。すなわち、一例では、シンクデバイス１６０は、ソースデバイス１２０との接続を確立すると、シンクデバイス１６０の機能に関する情報を、自動的に送信し得る。追加または代替として、アプリケーションをシンクデバイス１６０にオフロードすることのユーザからの要求を待つのではなく、ソースデバイス１２０は、自動的に、アプリケーションをオフロードすることを決定することができる。たとえば、シンクデバイス１６０の接続を確立し、シンクデバイス１６０の機能を判断すると、ソースデバイス１２０は、シンクデバイス１６０が、実行する能力を有するものとソースデバイス１２０が判断するいくつかのアプリケーションまたは他のプロセスをオフロードすることができる。
【００４７】
いくつかの例では、ソースデバイス１２０は、（たとえば、図１Ｂに関して図示し説明するように）２つ以上のシンクデバイス１６０と通信し得る。すなわち、たとえば、ソースデバイス１２０によってレンダリングされるグラフィカルコンテンツを修正するために、複数のシンクデバイス１６０からソースデバイス１２０によって、ユーザ入力が受信され得る。したがって、ユーザ入力を表すイベントが複数のシンクデバイス１６０からソースデバイス１２０にトランスポートされるとき、同期問題が発生することがある。たとえば、ソースデバイス１２０によってレンダリングされた表示データは、レンダリングのために１つまたは複数のシンクデバイス１６０に送信されてよい。ユーザは、第１のシンクバイス１６０からユーザ入力を行い得、第１のシンクデバイス１６０は、ソースデバイス１２０に送信されるイベントを生成し得る。ソースデバイス１２０がイベントを受信する前に、別のユーザがソースデバイス１２０においてユーザ入力を行うことがある。そのような例では、そのような通信を促進するために、タイムスタンプが各ユーザ入力に適用され得る。ユーザ入力がソースデバイス１２０によってレンダリングされる表示データに加えられる方式を同期させるために、タイムスタンプが使用され得る。たとえば、より早いタイムスタンプを有する第１のユーザ入力が、より遅いタイムスタンプを有する第２のユーザ入力より前に加えられてよい。
【００４８】
図１Ｂは、本開示の技法を実装し得る例示的なソース／シンクシステム１０１を示すブロック図である。ソース／シンクシステム１０１は、ソースデバイス１２０と、シンクデバイス１６０Ａと、シンクデバイス１６０Ｂと（集合的に、シンクデバイス１６０）を含む。いくつかの例では、ソースデバイス１２０およびシンクデバイス１６０は、図１Ａに関して上記で説明した方式で機能し動作することができる。すなわち、図１Ａに示すシンクデバイス１６０に関して説明したのと同じ方式で、シンクデバイス１６０Ａおよび１６０Ｂは、オーディオおよびビデオのデータをソースデバイス１２０から受信し得る。たとえば、いくつかの構成では、ソースデバイス１２０におけるオーディオおよびビデオの出力は、シンクデバイス１６０Ａとシンクデバイス１６０Ｂとにおいて同時に出力され得る。
【００４９】
したがって、本開示の技法は、複数のソースデバイスおよび／またはシンクデバイスをサポートするように拡張され得る。すなわち、本開示の態様によれば、図１Ａに関して上記で説明したように、ソースデバイス１２０は、シンクデバイス１６０の一部または全部においてレンダリングするために、グラフィカルコンテンツを共有することができる。追加または代替として、シンクデバイス１６０の一部または全部が、ソースデバイス１２０のための２次ディスプレイとして働くことができる。追加または代替として、ソースデバイス１２０は、ソースデバイス１２０によって実行されている１つまたは複数のアプリケーションを、シンクデバイス１６０Ａ、シンクデバイス１６０Ｂ、またはソースデバイス１２０と通信している任意の他のシンクデバイスにオフロードすることができる。
【００５０】
シンクデバイス１６０Ａとシンクデバイス１６０Ｂとは同じ数字を割り当てられているが、いくつかの例では、シンクデバイス１６０Ａとシンクデバイス１６０Ｂとは異なる能力を有してよく、かつ／または異なる機能を実行してよい。たとえば、いくつかの構成では、シンクデバイス１６０Ａは主シンクデバイスであってよく、シンクデバイス１６０Ｂは副シンクデバイスであってよい。そのような構成では、シンクデバイス１６０Ａとシンクデバイス１６０Ｂとは結合されてよく、シンクデバイス１６０Ａはビデオデータを表示し得る一方で、シンクデバイス１６０Ｂは対応するオーディオデータを出力し得る。
【００５１】
図２は、図１のソースデバイス１２０のような、ソースデバイス２２０の一例を示すブロック図である。ソースデバイス２２０は、ローカルディスプレイ２２２と、ローカルスピーカ２２３と、プロセッサ２３１と、メモリ２３２と、トランスポートモジュール２３３と、ワイヤレスモデム２３４とを含む。図２に示すように、ソース２２０デバイスは、トランスポート、記憶、および表示のためにＡ／Ｖデータを符号化および／または復号する１つまたは複数のプロセッサ（すなわち、プロセッサ２３１）を含み得る。Ａ／Ｖデータは、たとえば、メモリ２３２に記憶されてよい。メモリ２３２は、全Ａ／Ｖファイルを記憶することができ、または、たとえば別のデバイスまたはソースからストリームされた、Ａ／Ｖファイルの一部分を記憶するにすぎない、より小さいバッファ備えることができる。トランスポートするモジュール２３３は、ネットワークトランスポートのために、符号化されたＡ／Ｖデータを処理することができる。たとえば、符号化されたＡ／Ｖデータは、マルチメディアプロセッサ２３１によって処理され得、ネットワークにわたって通信するためにトランスポートモジュール２３３によってネットワークアクセスレイヤ（ＮＡＬ）ユニット内にカプセル化され得る。ＮＡＬユニットは、ワイヤレスモデム２３４によって、ネットワーク接続を介してシンクデバイスに送信され得る。
【００５２】
ソースデバイス２２０はまた、Ａ／Ｖデータをローカルに処理し、表示することができる。具体的には、ディスプレイプロセッサ２３５は、ローカルディスプレイ２２２に表示されるべきビデオデータを処理し得、オーディオプロセッサ２３６は、スピーカ２２３に出力するためにオーディオデータを処理し得る。
【００５３】
図１のソースデバイス１２０に関して上記で説明したように、ソースデバイス２２０はまた、ユーザ入力コマンドをシンクデバイスから受信し得る。このようにして、ソースデバイス２２０のワイヤレスモデム２３４は、ＮＡＬユニットなどのカプセル化されたデータパケットを受信し、カプセル化解除するためにカプセル化されたデータユニットをトランスポートユニット２３３に送信する。たとえば、トランスポートユニット２３３は、データパケットをＮＡＬユニットから抽出することができ、プロセッサ２３１は、ユーザ入力コマンドを抽出するためにデータパケットを解析することができる。ユーザ入力コマンドに基づいて、プロセッサ２３１は、ソースデバイス２２０によってシンクデバイスに送信されている符号化されたＡ／Ｖデータを調整することができる。
【００５４】
図２のプロセッサ２３１は、一般に、限定はしないが、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、他の同等の一体型もしくは離散的論理回路、またはそれらのいくつかの組合せを含む、多種多様なプロセッサのいずれかを表す。図２のメモリ２３２は、限定はしないが、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリなどを含む、多種多様な揮発性または不揮発性メモリのいずれかを備えてよく、メモリ２３２は、オーディオ／ビデオデータならびに他の種類のデータを記憶するためのコンピュータ可読記憶媒体を備えてよい。メモリ２３２は、追加として、本開示で説明する様々な技法を実行することの一部として、プロセッサ２３１によって実行される命令とプログラムコードとを記憶し得る。
【００５５】
図３は、図１のシンクデバイス１６０のような、シンクデバイス３６０の一例を示す。シンクデバイス３６０は、プロセッサ３３１と、メモリ３３２と、トランスポートユニット３３３と、ワイヤレスモデム３３４と、ディスプレイプロセッサ３３５と、ローカルディスプレイ３６２と、オーディオプロセッサ３３６と、スピーカ３６３と、タッチディスプレイインターフェース３３６とを含む。シンクデバイス３６０は、ソースデバイスから送信されたカプセル化されたデータユニットをワイヤレスモデム３３４において受信する。トランスポートユニット３３３は、カプセル化されたデータユニットをカプセル化解除することができる。たとえば、トランスポートユニット３３３は、カプセル化されたデータユニットから符号化されたビデオデータを抽出し、かつ復号されて出力のためにレンダリングされるべき符号化されたＡ／Ｖデータをプロセッサ３３１に送信することができる。ディスプレイプロセッサ３３５は、ローカルディスプレイ３６２に表示されるべき復号されたビデオデータを処理し得、オーディオプロセッサ３３６は、スピーカ３６３に出力するために復号されたオーディオデータを処理し得る。
【００５６】
オーディオおよびビデオのデータをレンダリングすることに加えて、シンクデバイス３６０はまた、タッチディスプレイインターフェース３３６を介してユーザ入力を受信し得る。図３の例は、例示的な入力デバイスとしてタッチディスプレイインターフェースを使用するが、キーボード、マウス、またはボイスコマンドモジュールなどの他の入力デバイスは、すべて、本開示の技法に適合する。タッチディスプレイインターフェース３３６を介して受信されたユーザ入力は、プロセッサ３３１によって処理され得る。この処理は、本開示で説明した技法による、受信されたユーザ入力コマンドを含んだデータパケットを生成することを含み得る。ひとたび生成されると、トランスポートするモジュール３３３は、ＵＩＢＣを介してワイヤレスソースデバイスにネットワークトランスポートするために、データパケットを処理し得る。
【００５７】
図３のプロセッサ３３１は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数の多種多様なプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、他の同等の一体型もしくは離散的論理回路、またはそれらのいくつかの組合せを備え得る。図３のメモリ３３２は、限定はしないが、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリなどを含む、多種多様な揮発性または不揮発性メモリのいずれかを備えてよく、メモリ２３２は、オーディオ／ビデオデータならびに他の種類のデータを記憶するためのコンピュータ可読記憶媒体を備えてよい。メモリ３３２は、追加として、本開示で説明する様々な技法を実行することの一部として、プロセッサ３３１によって実行される命令とプログラムコードとを記憶し得る。
【００５８】
図４は、通信チャネル１５０を介して通信するために、図１の送信機／受信機１２６および送信機／受信機１６６によって使用され得る例示的な送信機システム４１０および受信機システム４５０のブロック図を示す。送信機システム４１０において、いくつかのデータストリームのトラフィックデータが、データソース４１２から送信（ＴＸ）データプロセッサ４１４に供給される。各データストリームは、個々の送信アンテナを介して送信され得る。ＴＸデータプロセッサ４１４は、各データストリームのトラフィックデータを、そのデータストリーム用に選択された特定の符号化方式に基づいてフォーマットし、符号化し、インターリーブする。
【００５９】
各データストリームの符号化データは、直交周波数分割多重（ＯＦＤＭ）技法を使用してパイロットデータと多重化できる。限定はしないが、時分割多重アクセス（ＴＤＭＡ）、周波数分割多重アクセス（ＦＤＭＡ）、符号分割多重アクセス（ＣＤＭＡ）、またはＯＦＤＭ、ＦＤＭＡ、ＴＤＭＡ、および／またはＣＤＭＡの任意の組合せを含めて、多種多様な他のワイヤレス通信技法が同様に使用され得る。
【００６０】
図４に従って、パイロットデータは、典型的には、知られている方法で処理され、チャネル応答を推定するために受信機システムにおいて使用され得る知られているデータパターンである。次いで、各データストリームの多重化されたパイロットデータおよび符号化データは、変調シンボルを与えるために、そのデータストリーム用に選択された特定の変調方式（たとえば、２位相シフトキーイング（ＢＰＳＫ）、４位相シフトキーイング（ＱＰＳＫ）、Ｍ−ＰＳＫ、またはＭ−ＱＡＭ（直交振幅変調）、ここでＭは２のべき乗である）に基づいて変調（たとえば、シンボルマッピング）される。各データストリームのデータレート、符号化、および変調は、メモリ４３２に結合され得るプロセッサ４３０によって実行される命令によって決定され得る。
【００６１】
次いで、データストリームの変調シンボルがＴＸ  ＭＩＭＯプロセッサ４２０に与えられ、ＴＸ  ＭＩＭＯプロセッサ４２０はさらに（たとえば、ＯＦＤＭ用に）その変調シンボルを処理し得る。次いで、ＴＸ  ＭＩＭＯプロセッサ４２０はＮＴ個の変調シンボルストリームをＮＴ個の送信機（ＴＭＴＲ）４２２ａ〜４２２ｔに供給し得る。特定の態様において、ＴＸ  ＭＩＭＯプロセッサ４２０は、データストリームのシンボルと、シンボルが送信されているアンテナとにビームフォーミングの重みを適用する。
【００６２】
各送信機４２２は、個々のシンボルストリームを受信し、処理して、１つまたは複数のアナログ信号を供給し、さらに、それらのアナログ信号を調整（たとえば、増幅、フィルタ処理、およびアップコンバート）して、ＭＩＭＯチャネルを介して送信するのに適した変調信号を供給する。次いで、送信機４２２ａ〜４２２ｔからのＮＴ個の変調信号は、それぞれＮＴ個のアンテナ４２４ａ〜４２４ｔから送信される。
【００６３】
受信機システム４５０において、送信された被変調信号はＮＲ個のアンテナ４５２ａ〜４５２ｒによって受信され、各アンテナ４５２からの受信信号は、個々の受信機（ＲＣＶＲ）４５４ａ〜４５４ｒに供給される。受信機４５４は、個々の受信信号を調整（たとえば、フィルタ処理、増幅、およびダウンコンバート）し、調整された信号をデジタル化して、サンプルを供給し、さらにそれらのサンプルを処理して、対応する「受信」シンボルストリームを供給する。
【００６４】
次いで、受信（ＲＸ）データプロセッサ４６０は、特定の受信機処理技法に基づいてＮＲ個の受信機４５４からＮＲ個の受信シンボルストリームを受信し、処理して、ＮＴ個の「検出」シンボルストリームを与える。次いで、ＲＸデータプロセッサ４６０は、各検出シンボルストリームを復調し、デインターリーブし、復号して、データストリームのトラフィックデータを復元する。ＲＸデータプロセッサ４６０による処理は、送信機システム４１０におけるＴＸ  ＭＩＭＯプロセッサ４２０およびＴＸデータプロセッサ４１４によって実行される処理を補足するものである。
【００６５】
メモリ４７２と結合され得るプロセッサ４７０は、どのプリコーディング行列を使用すべきかを周期的に判断する。逆方向リンクメッセージは、通信リンクおよび／または受信データストリームに関する様々なタイプの情報を備えることができる。次いで、逆方向リンクメッセージは、データソース４３６からいくつかのデータストリームのトラフィックデータをも受信するＴＸデータプロセッサ４３８によって処理され、変調器４８０によって変調され、送信機４５４ａ〜４５４ｒによって調整され、送信機システム４１０に戻される。
【００６６】
送信機システム４１０において、受信機システム４５０からの変調信号は、アンテナ４２４によって受信され、受信機４２２によって調整され、復調器４４０によって復調され、受信機システム４５０によって送信された逆方向リンクメッセージを抽出するためにＲＸデータプロセッサ４４２によって処理される。次いで、プロセッサ４３０は、ビームフォーミング重みを決定するためにどのプリコーディング行列を使用すべきかを決定し、次いで、抽出されたメッセージを処理する。
【００６７】
図５は、本開示の態様による、ソースデバイスとシンクデバイスとの間の例示的なワイヤレス通信を示す概略図である。図５に、ソースデバイス１２０とシンクデバイス１６０と（図１Ａ）に関して説明するが、図５の技法は、他のソースデバイスとシンクデバイスとを含めて、様々なデバイスによって実行され得ることを理解されたい。
【００６８】
図５に示す例では、ソースデバイス１２０のディスプレイ１２２は、タッチセンシティブディスプレイとして構成される。たとえば、ディスプレイ１２２は、ユーザがソースデバイス１２０に対してユーザ入力を行うことを可能にする、容量型、抵抗型、または他のタイプのタッチパネルであってよい。したがって、ユーザがディスプレイ１２２においてユーザ入力を行うと、ソースデバイス１２０は、ユーザ入力に対応する１つまたは複数のイベントを生成し得る。いくつかの例では、ディスプレイ１２２は、２点以上におけるタッチを同時に認識するように設計されてよく、特徴は一般に「マルチタッチ」と呼ばれる。マルチタッチディスプレイは、スクリーンの異なる領域におけるタッチを個別に識別して解釈することができる。ディスプレイ１２２に加えて、図５に示す例によれば、ソースデバイス１２０は、１つまたは複数のヒューマンインターフェースデバイス（ＨＩＤ）５０２など、別のソースから入力を受信し得る。たとえば、ＨＩＤ５０２は、キーボード、マウス、トラックボールもしくはトラックパッド、タッチスクリーン、ボイスコマンド認識モジュール、または任意の他のそのようなユーザ入力デバイスを含む。
【００６９】
いくつかの例では、シンクデバイス１６０のディスプレイ１６２はまた、タッチセンシティブであってよい。すなわち、たとえば、ディスプレイ１６２はまた、ユーザがソースデバイス１２０に対してユーザ入力を行うことを可能にする、容量型、抵抗型、または他のタイプのタッチパネルであってよい。いくつかの例では、ディスプレイ１６２は、マルチタッチディスプレイを備え得る。その上、図５の例に示すように、シンクデバイス１６０はまた、１つまたは複数のヒューマンインターフェースデバイス（ＨＩＤ）５０６など、別のソースから入力を受信し得る。
【００７０】
本開示の態様によれば、ソースデバイス１２０は、１つまたは複数のイベントをシンクデバイス１６０に送信することができる（線５１０で表されている）。たとえば、ソースデバイス１２０は、ソースデバイス１２０におけるユーザ入力に関連するいくつかのイベントをシンクデバイス１６０に送信することができる。すなわち、イベントは、ディスプレイ１２２に与えられ、かつ／またはＨＩＤ５０２を介して与えられるユーザ入力に対応することができる。同様に、いくつかの例では、シンクデバイス１６０は、シンクデバイス１６０におけるユーザ入力に関連するいくつかのイベントを、ソースデバイス１２０に送信することができる。そのようなイベントは、ディスプレイ１６２に与えられ、かつ／またはＨＩＤ  ５０６を介して与えられるユーザ入力に対応することができる。いくつかの例では、ソースデバイス１２０は、イベントをシンクデバイス１６０に送信するために、リアルタイムトランスポートプロトコル（ＲＴＰ）とユーザデータグラムプロトコル（ＵＤＰ）とを使用し得る。他の例では、ソースデバイス１２０は、イベントをシンクデバイス１６０に送信するために、伝送制御プロトコル（ＴＣＰ）とインターネットプロトコル（ＩＰ）とを使用し得る。
【００７１】
いくつかの例では、シンクデバイス１６０は、ソースデバイス１２０からのデータをシンクデバイスのディスプレイ１６２の一部にのみレンダリングすることができる。すなわち、たとえば、シンクデバイス１６０は、ソースデバイス１２０からのグラフィカルコンテンツ５１８をレンダリングする領域５１４を指定することができる。いくつかの例では、以下でより詳細に説明するように、グラフィカルコンテンツ５１８は、ディスプレイ１２２と同じかまたは異なる解像度でディスプレイ１６２上に表示され得る。その上、いくつかの例では、シンクデバイス１６０は、シンクデバイス１６０においてネイティブに生成されている他のグラフィカルコンテンツ５２２をディスプレイ１６２の別の部分に同時にレンダリングし、表示することができる。
【００７２】
図５に示すように、本開示のいくつかの態様によれば、ソースデバイス１２０は、シンクデバイス１６０においてレンダリングするために、グラフィカルコンテンツ５１８を共有することができる。たとえば、ソースデバイス１２０は、本開示の技法を使用して、グラフィカルコンテンツ５１８に含まれるグラフィカルオブジェクトを表すコンフィギュレーションデータを生成することができる一般に、上述のように、コンフィギュレーションデータは、実際の画素データをもたらすことなく、グラフィカルコンテンツに含まれるグラフィカルオブジェクトを表すことができる。その上、コンフィギュレーションデータは、グラフィカルオブジェクトに関連する画素データより少ないビットを使用してグラフィカルオブジェクトを表すことができる。いくつかの例では、コンフィギュレーションデータは、ＯｐｅｎＧＬ命令または別のＧＰＵ言語の命令に類似し得る。したがって、ソースデバイス１２０からシンクデバイス１６０に送信されるビット数に関してビット節約を達成するために、ソースデバイス１２０は、画素レベルのデータではなく、グラフィカルコンテンツ５１８を表すコンフィギュレーションデータをシンクデバイス１６０に送信することができる。コンフィギュレーションデータを受信すると、シンクデバイス１６０は、シンクデバイス１６０においてグラフィカルコンテンツ５１８をレンダリングするためにコンフィギュレーションデータを使用することができる。すなわち、シンクデバイス１６０は、表示のために画素レベルのデータ（たとえば、ＲＧＢ値、ＹＣｂＣｒ値など）をレンダリングするためにコンフィギュレーションデータを使用することができる。
【００７３】
いくつかの例では、ソースデバイス１２０はまた、シンクデバイス１６０においてレンダリングされるグラフィカルコンテンツ５１８を修正または処理するためのコマンドを含むコンフィギュレーションデータを生成することもできる。たとえば、ユーザが、グラフィカルオブジェクトのサイズを増大するためにソースデバイス１２０に（たとえば、ディスプレイ１２２を介して）ユーザ入力を行う場合、ソースデバイス１２０は、本開示の技法を使用して、サイズの増大を記述するコンフィギュレーションデータを生成し得る。この構成は、シンクデバイス１６０に送信され得、シンクデバイス１６０は、対応するグラフィカルコンテンツ５１４を修正および／または処理するためにコンフィギュレーションデータを使用し得る。すなわち、コンフィギュレーションデータをソースデバイス１２０から受信すると、シンクデバイス１６０は、グラフィカルコンテンツ５１８のサイズを増大するためにコンフィギュレーションデータを使用することができる。
【００７４】
別の例では、グラフィカルコンテンツ５１８は、映画または他のビデオに関連づけられ得る。この例では、ソースデバイス１２０は、ソースデバイス１２０によって実行されているアプリケーションを使用してグラフィカルコンテンツ５１８をレンダリングすることができる。本開示の態様によれば、ユーザは、シンクデバイス１６０を用いて、ビデオに含まれるグラフィカルコンテンツ５１８を共有することをソースデバイス１２０に引き起こさせるユーザ入力を行うことができる。ユーザ入力は、追加として、シンクデバイス１６０においてレンダリングされることなく、ソースデバイス１２０においてレンダリングされることを、アプリケーションのグラフィカル制御５２６に引き起こさせることができる。このようにして、本開示の技法は、ソースデバイス１２０が、グラフィカル制御の第１の部分をソースデバイス１２０上に、かつグラフィカル制御の第２の部分をシンクデバイス１６０上に、レンダリングすることを可能にし得る。グラフィカルコンテンツの第２の部分をシンクデバイス１６０においてレンダリングするために、ソースデバイス１２０は、グラフィカルコンテンツをレンダリングするためにシンクデバイス１６０によって使用可能なコンフィギュレーションデータを生成し得る。コンフィギュレーションデータをシンクデバイス１６０に送信することによって、グラフィカルコンテンツの第２の部分が、シンクデバイス１６０においてレンダリングされ得る。
【００７５】
その上、本開示の技法は、ソースデバイス１２０とシンクデバイス１６０とが異なるレンダリング機能を有する状況において、ソースデバイス１２０とシンクデバイス１６０との間で共有されるグラフィカルコンテンツに対して改善された表示品質を提供することができる。図５に示す例では、ソースデバイス１２０は、シンクデバイス１６０より低いディスプレイ解像度を有してよい。本開示の態様によれば、シンクデバイス１６０は、ソースデバイス１２０からコンフィギュレーションデータを受信し得、コンフィギュレーションデータを、シンクデバイス１６０のネイティブ解像度でグラフィカルコンテンツ５１４を生成するために利用し得る。このようにして、グラフィカルコンテンツ５１４は、シンクデバイス１６０において、ソースデバイス１２０とは異なって（たとえば、より高い解像度、代替のサイズなどで）表示されてよい。
【００７６】
図６は、シンクデバイスによって使用可能なコンフィギュレーションデータをソースデバイスが生成することを可能にし得る、例示的な方法を示すフロー図である。図６に示す方法は、説明のためにソースデバイス１２０とシンクデバイス１６０とに関して説明するが、図６の方法は、他のソースデバイスおよび／またはシンクデバイスを含めて、様々なデバイスによって実行され得ることを理解されたい。
【００７７】
図６に示すように、ソースデバイス１２０は、最初に、ソースデバイス１２０によってレンダリングされた表示データが、１つまたは複数の表示可能なグラフィカルオブジェクトを備えることを判断し得る（６００）。グラフィカルオブジェクトは、たとえば、表示のための形状を形成する１つまたは複数の幾何プリミティブからなるオブジェクトを含み得る。イベントを判断することに応答して、ソースデバイス１２０は、シンクデバイス１６０においてレンダリングするために、１つまたは複数のグラフィカルオブジェクトのセットを選択することができる（６０２）。たとえば、イベントは、ユーザ入力に応答して生成されてよい。別の例では、イベントは、ソースデバイス１２０によって実行されているアプリケーションによって自動的に生成されてもよい。
【００７８】
ソースデバイス１２０は、さらに、１つまたは複数のグラフィカルオブジェクトのセットに少なくとも部分的に基づいて、コンフィギュレーションデータを生成することができる（６０４）。一般に、コンフィギュレーションデータは、画素レベルのデータ（たとえば、画素値）を含むことなく、グラフィカルオブジェクトを表すことができる。コンフィギュレーションデータは、グラフィカルオブジェクトを表すために、画素レベルのデータより少ないビットを必要とすることができる。いくつかの例では、コンフィギュレーションデータは、ＯｐｅｎＧＬ命令または別のＧＰＵ言語の命令に類似し得る。
【００７９】
本開示の態様によれば、コンフィギュレーションデータは、１つまたは複数のグラフィカルオブジェクトのセットの中のグラフィカルオブジェクトの表示をレンダリングするために、シンクデバイス１６０によって使用可能である。いくつかの例では、ソースデバイス１２０は、シンクデバイス１６０の表示パラメータに基づいてコンフィギュレーションデータを生成し得る。表示パラメータは、たとえば、ディスプレイ解像度、カラービット深度、ＧＰＵタイプ、またはシンクデバイス１６０の表示機能を示す任意の他のパラメータを含み得る。すなわち、ソースデバイス１２０は、シンクデバイス１６０のＧＰＵの機能および設計によって解釈可能であり、かつ／またはその機能および設計に固有のコンフィギュレーションデータを生成し得る。いくつかの例では、ソースデバイス１２０は、比較的単純化されたレンダリング機能を有するシンクデバイス１６０よりも比較的強力なレンダリング機能を有するシンクデバイス１６０と、レンダリング負荷の多くを共有することができる。
【００８０】
ソースデバイス１２０は、シンクデバイス１６０に送信するために、コンフィギュレーションデータと画素レベルのデータとの任意の組合せを生成し得る。たとえば、ソースデバイス１２０およびシンクデバイス１６０は、様々なモードで動作することができる。一モードは、シンクデバイス１６０に送信するためのグラフィカルオブジェクトを表すコンフィギュレーションデータのみを生成することを、ソースデバイス１２０に引き起こさせ得る。別のモードは、シンクデバイス１６０に送信するための画素レベルの表示データのみを生成することを、ソースデバイス１２０に引き起こさせ得る。別のモードでは、ソースデバイス１２０は、シンクデバイス１６０に送信するための、いくつかのグラフィカルオブジェクトのための画素レベルの表示データと他のグラフィカルオブジェクトのためのコンフィギュレーションデータとの組合せを生成し得る。
【００８１】
コンフィギュレーションデータを生成した後に、ソースデバイス１２０は、コンフィギュレーションデータをシンクデバイス１６０に送信し得る（６０６）。以下で図７に関してより詳細に説明するように、シンクデバイス１６０は、コンフィギュレーションデータによって表されるグラフィカルオブジェクトをレンダリングするために、コンフィギュレーションデータを利用し得る。
【００８２】
図７は、シンクデバイスがソースデバイスからのコンフィギュレーションデータを使用してグラフィカルオブジェクトのセットの表示をレンダリングすることを可能にし得る例示的な方法を示すフロー図である。図７に示す方法は、説明のためにソースデバイス１２０とシンクデバイス１６０とに関して説明するが、図７の方法は、他のソースデバイスおよび／またはシンクデバイスを含めて、様々なデバイスによって実行され得ることを理解されたい。
【００８３】
図７に示すように、シンクデバイス１６０は、グラフィカルオブジェクトのセットの表示をレンダリングするために、シンクデバイス１６０によって使用可能であるソースデバイス１２０からコンフィギュレーションデータを受信し得る（７００）。上述のように、コンフィギュレーションデータは、画素レベルのデータ（たとえば、画素値）を含むことなく、グラフィカルオブジェクトを表し得、グラフィカルオブジェクトを表すために、画素レベルのデータより少ないビットを要求することができる。
【００８４】
いくつかの例では、シンクデバイス１６０は、コンフィギュレーションデータを使用してグラフィカルオブジェクトのセットの表示をレンダリングすることができる（７０２）。すなわち、たとえば、シンクデバイス１６０は、コンフィギュレーションデータを使用して画素レベルのデータを生成するために、コンフィギュレーションデータを解釈することができる。いくつかの例では、シンクデバイス１６０は、シンクデバイス１６０に関連する１つまたは複数の表示パラメータに少なくとも部分的に基づいて、表示をレンダリングすることができる（７０２）。表示パラメータは、ディスプレイ解像度、カラービット深度、ＧＰＵタイプ、またはシンクデバイス１６０の表示機能を示す任意の他のパラメータを含み得る。
【００８５】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【００８６】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、あらゆる接続をコンピュータ可読媒体と呼ぶことも妥当である。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００８７】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【００８８】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットは、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明したように１つまたは複数のプロセッサを含む、コーデックハードウェアユニットとして組み合わせられるか、または相互動作ハードウェアユニットの集合によって実現され得る。
【００８９】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ソースデバイスによって、前記ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断することと、
イベントを判断することに応答して、前記ソースデバイスによって、シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトのセットを選択することと、
前記ソースデバイスによって、少なくとも部分的に前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することであって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトの前記セットにおけるグラフィカルオブジェクトの表示をレンダリングするために前記シンクデバイスによって使用可能であり、
前記ソースデバイスによって、前記コンフィギュレーションデータを前記シンクデバイスに送信することと
を備える、方法。
［Ｃ２］
前記ソースデバイスによって、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信することと、
前記ソースデバイスによって、少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて前記コンフィギュレーションデータを生成することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記コンフィギュレーションデータは、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記グラフィカルコマンドは、画素レベルの表示データを備えない、Ｃ１に記載の方法。
［Ｃ５］
前記ソースデバイスによって、前記シンクデバイスに関連するディスプレイ解像度を前記シンクデバイスから受信することと、
前記ソースデバイスによって、前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成することと、
前記ソースデバイスによって、少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ６］
少なくとも部分的に前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することは、
前記ソースデバイスによって、前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記１つまたは複数の表示可能なグラフィカルオブジェクトは、表示可能なグラフィカルオブジェクトの第１の群と表示可能なグラフィカルオブジェクトの第２の群とを備え、前記方法は、
前記ソースデバイスによって、表示可能なグラフィカルオブジェクトの前記第１の群をレンダリングすることをさらに備え、表示可能なグラフィカルオブジェクトの前記第２の群が、前記シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトの前記セットを備える、Ｃ１に記載の方法。
［Ｃ８］
ユーザ入力の第１の指示を、前記ソースデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記第１の指示を受信することに応答して、少なくとも部分的に前記ソースデバイスによって、第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成することと、
前記ソースデバイスによって、第２のタイムスタンプに関連する第２のイベントを前記シンクデバイスから受信することと、
前記ソースデバイスによって、前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表すかどうかを判断することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、前記ソースデバイスによって、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記ソースデバイスによって、第１のアプリケーションを実行することと、
前記ソースデバイスによって、前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断することと、
前記指示を判断することに応答して、前記ソースデバイスによって、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断することと、
前記ソースデバイスによって、前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
命令を記憶するメモリと、
前記命令を実行するように構成された１つまたは複数のプロセッサとを備え、前記命令を実行する場合、前記１つまたは複数のプロセッサは、
ソースデバイスによりレンダリングした表示データが、１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断することと、
イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトのセットを選択することと、
少なくとも部分的に前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することであって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトの前記セットの中のグラフィカルオブジェクトの表示をレンダリングするために前記シンクデバイスによって使用可能であり、
前記コンフィギュレーションデータを前記シンクデバイスに送信することとを引き起こす、ワイヤレスソースデバイス。
［Ｃ１１］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信することと、
少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて、前記コンフィギュレーションデータを生成することと
を引き起こす、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１２］
前記コンフィギュレーションデータは、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１３］
前記グラフィカルコマンドは、画素レベルの表示データを備えない、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１４］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスに関連するディスプレイ解像度を前記シンクデバイスから受信することと、
前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成することと、
少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成することと
を引き起こす、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１５］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成することを引き起こす、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１６］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
表示可能なグラフィカルオブジェクトの第１の群をレンダリングすることを引き起こし、表示可能なグラフィカルオブジェクトの第２の群が、前記シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトの前記セットを備える、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１７］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
ユーザ入力の第１の指示を、前記ソースデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記第１の指示を受信することに応答して、少なくとも部分的に第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成することと、
第２のタイムスタンプに関連する第２のイベントを、前記シンクデバイスから受信することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表すかどうかを判断することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成することと
を引き起こす、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１８］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
第１のアプリケーションを実行することと、
前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断することと、
前記指示を判断することに応答して、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断することと、
前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成することと
を引き起こす、Ｃ１０に記載のワイヤレスソースデバイス。
［Ｃ１９］
ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、
ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断することと、
イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトのセットを選択することと、
少なくとも部分的に前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成することであって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトの前記セットの中のグラフィカルオブジェクトの表示をレンダリングするために前記シンクデバイスによって使用可能であることと、
前記コンフィギュレーションデータを前記シンクデバイスに送信することとを行わせる命令を記憶する、コンピュータ可読記憶媒体。
［Ｃ２０］
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信すると、少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて前記コンフィギュレーションデータ生成することを行わせる命令を記憶する、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２１］
前記コンフィギュレーションデータが、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２２］
前記グラフィカルコマンドが、画素レベルの表示データを備えない、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２３］
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記シンクデバイスに関連するディスプレイ解像度を前記シンクデバイスから受信すると、前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成することと、
少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成することと
を行わせる命令を記憶する、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２４］
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成することを行わせる命令を記憶する、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２５］
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、表示可能なグラフィカルオブジェクトの第１の群をレンダリングすることを行わせる命令を記憶し、表示可能なグラフィカルオブジェクトの第２の群が、前記シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトの前記セットを備える、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２６］
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
ユーザ入力の第１の指示を前記ソースデバイスのタッチセンシティブスクリーンにおいて受信すると、前記第１の表示を受信することに応答して、少なくとも部分的に第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成することと、
第２のタイムスタンプに関連する第２のイベントを前記シンクデバイスから受信すると、前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表しているかどうかを判断することと、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成することと
を行わせる命令を記憶する、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２７］
前記ワイヤレスソースデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
第１のアプリケーションを実行することと、
前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断することと、
前記指示を判断することに応答して、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断することと、
前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成することと
を行わせる命令を記憶する、Ｃ１９に記載のコンピュータ可読記憶媒体。
［Ｃ２８］
ソースデバイスによりレンダリングした表示データが１つまたは複数の表示可能なグラフィカルオブジェクトを有することを判断するための手段と、
イベントを判断することに応答して、シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトのセットを選択するための手段と、
少なくとも部分的に前記１つまたは複数のグラフィカルオブジェクトの前記セットに基づいてコンフィギュレーションデータを生成するための手段であって、前記コンフィギュレーションデータが、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて１つまたは複数のグラフィカルオブジェクトの前記セットにおけるグラフィカルオブジェクトの表示をレンダリングするために前記シンクデバイスによって使用可能である、手段と、
前記コンフィギュレーションデータを前記シンクデバイスに送信するための手段とを備える、ワイヤレスソースデバイス。
［Ｃ２９］
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報を受信するための手段と、
少なくとも部分的に前記シンクデバイスの前記ＧＰＵの前記能力に基づいて前記コンフィギュレーションデータを生成するための手段と
を備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３０］
前記コンフィギュレーションデータは、前記シンクデバイスにおいてレンダリングするための１つまたは複数のグラフィカルオブジェクトの前記セットを修正するためのグラフィカルコマンドのうちの少なくとも１つをさらに備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３１］
前記グラフィカルコマンドは、画素レベルの表示データを備えない、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３２］
前記シンクデバイスに関連するディスプレイ解像度を、前記シンクデバイスから受信するための手段と、
前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間のマッピングを生成するための手段と、
少なくとも部分的に前記シンクデバイスに関連する前記ディスプレイ解像度と前記ソースデバイスに関連するディスプレイ解像度との間の前記マッピングに基づいて前記コンフィギュレーションデータを生成するための手段と
を備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３３］
前記シンクデバイスにおいてのみ前記１つまたは複数のグラフィカルオブジェクトの前記セットをレンダリングするためにコンフィギュレーションデータを生成するための手段を備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３４］
表示可能なグラフィカルオブジェクトの第１の群をレンダリングするための手段を備え、表示可能なグラフィカルオブジェクトの第２の群が、前記シンクデバイスにおいてレンダリングするための前記１つまたは複数のグラフィカルオブジェクトの前記セットを備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３５］
ユーザ入力の第１の指示を、前記ソースデバイスのタッチセンシティブスクリーンにおいて受信するための手段と、
前記第１の指示を受信することに応答して、少なくとも部分的に第１のタイムスタンプに関連する前記第１の指示に基づいて第１のイベントを生成するための手段と、
第２のタイムスタンプに関連する第２のイベントを受信するための手段と、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表すかどうかを判断するための手段と、
前記第２のタイムスタンプが前記第１のタイムスタンプより早い時刻を表す場合、少なくとも部分的に前記第１のタイムスタンプと前記第２のタイムスタンプとに基づいてコンフィギュレーションデータを生成するための手段と
を備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３６］
第１のアプリケーションを実行するための手段と、
前記シンクデバイスにおいて前記第１のアプリケーションを実行するための指示を判断するための手段と、
前記指示を判断することに応答して、前記第１のアプリケーションの機能と同等の少なくともいくつかの機能を含む第２のアプリケーションが前記シンクデバイスによって実行可能であることを判断するための手段と、
前記シンクデバイスに前記第２のアプリケーションを実行させるために前記コンフィギュレーションデータを生成するための手段と
を備える、Ｃ２８に記載のワイヤレスソースデバイス。
［Ｃ３７］
シンクデバイスによって、イベントに応答してソースデバイスによって選択されるグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信することと、
前記シンクデバイスによって、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて、前記コンフィギュレーションデータを使用してグラフィカルオブジェクトの前記セットの前記表示をレンダリングすることとを備える、方法。
［Ｃ３８］
前記シンクデバイスによって、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信することと、
前記シンクデバイスによって、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信することとをさらに備える、Ｃ３７に記載の方法。
［Ｃ３９］
前記シンクデバイスによって、前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ワイヤレスソースデバイスに送信することをさらに備える、Ｃ３７に記載の方法。
［Ｃ４０］
ユーザ入力の指示を、前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記指示を受信することに応答して、前記シンクデバイスによって、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成することと、
前記シンクデバイスによって、前記イベントを前記ワイヤレスソースデバイスに送信することと
をさらに備える、Ｃ３７に記載の方法。
［Ｃ４１］
前記シンクデバイスによって、前記シンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を前記ソースデバイスに送信することと、
前記シンクデバイスによって、前記シンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記シンクデバイスに実行させるためのコンフィギュレーションデータを受信することと、
前記シンクデバイスによって、前記少なくとも１つのアプリケーションを実行することと
をさらに備える、Ｃ３７に記載の方法。
［Ｃ４２］
命令を記憶するメモリと、
前記命令を実行するように構成された１つまたは複数のプロセッサとを備え、前記命令を実行する場合、前記１つまたは複数のプロセッサは、
イベントに応答してソースデバイスによって選択されるグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信することと、
少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて、前記コンフィギュレーションデータを使用してグラフィカルオブジェクトの前記セットの前記表示をレンダリングすることと
を引き起こす、ワイヤレスシンクデバイス。
［Ｃ４３］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信することと、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信することと
を引き起こす、Ｃ４２に記載のワイヤレスシンクデバイス。
［Ｃ４４］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ワイヤレスソースデバイスに送信することを引き起こす、Ｃ４２に記載のワイヤレスシンクデバイス。
［Ｃ４５］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
ユーザ入力の指示を、前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信することと、
前記指示を受信することに応答して、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成することと、
前記イベントを前記ワイヤレスソースデバイスに送信することと
を引き起こす、Ｃ４２に記載のワイヤレスシンクデバイス。
［Ｃ４６］
前記命令を実行する場合、前記１つまたは複数のプロセッサは、さらに、
前記シンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を前記ソースデバイスに送信することと、
前記シンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記シンクデバイスに実行させるためのコンフィギュレーションデータを受信することと、
前記少なくとも１つのアプリケーションを実行することと
を引き起こす、Ｃ４２に記載のワイヤレスシンクデバイス。
［Ｃ４７］
ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、
イベントに応答してソースデバイスによって選択されたグラフィカルオブジェクトのセットの表示をレンダリングするために前記シンクデバイスによって使用可能なコンフィギュレーションデータを受信すると、少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて前記コンフィギュレーションデータを使用してグラフィカルオブジェクトの前記セットの前記表示をレンダリングすることを行わせる命令を記憶する、コンピュータ可読記憶媒体。
［Ｃ４８］
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信すると、前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信することを行わせる命令を記憶する、Ｃ４７に記載のコンピュータ可読記憶媒体。
［Ｃ４９］
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ワイヤレスソースデバイスに送信することを行わせる命令を記憶する、Ｃ４７に記載のコンピュータ可読記憶媒体。
［Ｃ５０］
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
ユーザ入力の指示を前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信すると、前記指示を受信することに応答して、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成することと、
前記イベントを前記ワイヤレスソースデバイスに送信することと
を行わせる命令を記憶する、Ｃ４７に記載のコンピュータ可読記憶媒体。
［Ｃ５１］
前記ワイヤレスシンクデバイスの１つまたは複数のプロセッサによる実行時に、前記１つまたは複数のプロセッサに、さらに、
前記シンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を前記ソースデバイスに送信することと、
前記シンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記シンクデバイスに実行させるためのコンフィギュレーションデータを受信すると、前記少なくとも１つのアプリケーションを実行することと
を行わせる命令を記憶する、Ｃ４７に記載のコンピュータ可読記憶媒体。
［Ｃ５２］
イベントに応答してソースデバイスによって選択されるグラフィカルオブジェクトのセットの表示をレンダリングするためにシンクデバイスによって使用可能なコンフィギュレーションデータを受信するための手段と、
少なくとも部分的に前記シンクデバイスに関連する１つまたは複数の表示パラメータに基づいて、前記コンフィギュレーションデータを使用してグラフィカルオブジェクトの前記セットの前記表示をレンダリングするための手段と
を備える、ワイヤレスシンクデバイス。
［Ｃ５３］
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する情報の要求を受信するための手段と、
前記シンクデバイスのグラフィックス処理ユニット（ＧＰＵ）の処理能力を特定する前記情報を前記ソースデバイスに送信するための手段と
を備える、Ｃ５２に記載のワイヤレスシンクデバイス。
［Ｃ５４］
前記ワイヤレスシンクデバイスのディスプレイ解像度を前記ワイヤレスソースデバイスに送信するための手段を備える、Ｃ５２に記載のワイヤレスシンクデバイス。
［Ｃ５５］
ユーザ入力の指示を、前記ワイヤレスシンクデバイスのタッチセンシティブスクリーンにおいて受信するための手段と、
前記指示を受信することに応答して、少なくとも、ユーザ入力の前記指示が受信された時刻を示すタイムスタンプに関連するイベントを生成するための手段と、
前記イベントを前記ワイヤレスソースデバイスに送信するための手段と
を備える、Ｃ５２に記載のワイヤレスシンクデバイス。
［Ｃ５６］
前記シンクデバイスによって実行可能な１つまたは複数のアプリケーションの指示を、前記ソースデバイスに送信するための手段と、
前記シンクデバイスによって実行可能な前記１つまたは複数のアプリケーションのうちの少なくとも１つを前記シンクデバイスに実行させるためのコンフィギュレーションデータを受信するための手段と、
前記少なくとも１つのアプリケーションを実行するための手段と
を備える、Ｃ５２に記載のワイヤレスシンクデバイス。
【図１Ａ】
0005746379.tif 000002
【図１Ｂ】
0005746379.tif 000003
【図２】
0005746379.tif 000004
【図３】
0005746379.tif 000005
【図４】
0005746379.tif 000006
【図５】
0005746379.tif 000007
【図６】
0005746379.tif 000008
【図７】
0005746379.tif 000009