(57)【特許請求の範囲】
【請求項１】
リモートディスプレイと相互作用するためにコンピュータで実行される方法であって、
電子装置のディスプレイのためのグラフィック出力を得る処理と、
電子装置に関連した第１タッチスクリーンから前記グラフィック出力に関連した第１セットのタッチ入力を得る処理と、
前記グラフィック出力及び前記第１セットのタッチ入力を前記リモートディスプレイへ送信する処理と、
前記グラフィック出力及び前記第１セットのタッチ入力の視覚表現を使用して前記リモートディスプレイを駆動する処理と、
前記リモートディスプレイ上の第２タッチスクリーンから前記グラフィック出力に関連した第２セットのタッチ入力を得る処理と、
前記リモートディスプレイにより、前記第２セットのタッチ入力を前記電子装置に送信する処理と、
前記電子装置により、前記第２セットのタッチ入力に基づいて前記グラフィック出力を更新する処理と、
前記電子装置により、前記第２セットのタッチ入力を使用しながら前記リモートディスプレイ上にグラフィカルオーバレイを生成する処理と、
を含む、前記方法。
【請求項２】
前記グラフィック出力を前記リモートディスプレイへ送信する前に、前記グラフィック出力をエンコードする処理を更に含む、請求項１に記載の方法。
【請求項３】
前記グラフィック出力をエンコードする処理は、
前記グラフィック出力を第１カラースペースから第２カラースペースへ変換すること、及び
前記グラフィック出力をスケーリングすること、
の少なくとも１つを伴う、請求項２に記載の方法。
【請求項４】
前記第２セットのタッチ入力に基づき前記グラフィック出力を更新する処理は、前記グラフィック出力を発生するように構成されたアプリケーションに前記第２セットのタッチ入力を与えることを伴う、請求項１に記載の方法。
【請求項５】
前記第２セットのタッチ入力に基づき前記グラフィック出力を更新する処理は、前記リモートディスプレイを前記第２セットのタッチ入力のソースとして識別することを伴い、その識別されたリモートディスプレイは、前記グラフィック出力を前記リモートディスプレイへ送信する前に前記アプリケーションによる前記グラフィック出力の変更を可能にする、請求項４に記載の方法。
【請求項６】
前記識別されたリモートディスプレイは、前記第２セットのタッチ入力に基づき前記アプリケーションから前記リモートディスプレイへのデータの送信を更に可能にする、請求項５に記載の方法。
【請求項７】
前記グラフィック出力及び前記第１セットのタッチ入力を前記リモートディスプレイへ送信する処理は、
前記第１セットのタッチ入力の視覚表現を前記グラフィック出力へ合成すること、及び  前記第１セットのタッチ入力を前記グラフィック出力に関連した補助データとして前記リモートディスプレイへ送信すること、
の少なくとも１つを伴う、請求項１に記載の方法。
【請求項８】
前記第１セットのタッチ入力の視覚表現は、ドットのセットを含む、請求項１に記載の方法。
【請求項９】
電子装置と相互作用するためにコンピュータで実行される方法であって、
グラフィック出力及びそのグラフィック出力に関連した第１セットのタッチ入力を前記電子装置から受信する処理と、
前記グラフィック出力及び前記第１セットのタッチ入力の視覚表現を使用してリモートディスプレイを駆動する処理とを含み、
前記グラフィック出力及び前記第１セットのタッチ入力の視覚表現を使用してリモートディスプレイを駆動する前記処理は、
前記グラフィック出力を第１バッファへ引き出すこと、
前記第１セットのタッチ入力の視覚表現を第２バッファへ引き出すこと、及び
前記第１及び第２バッファを使用して前記リモートディスプレイを駆動すること、
を伴い、さらに
前記リモートディスプレイ上のタッチスクリーンから前記グラフィック出力に関連した第２セットのタッチ入力を得る処理と、
前記リモートディスプレイにより、前記第２セットのタッチ入力を前記電子装置に送信する処理と、
前記電子装置により、前記第２セットのタッチ入力に基づいて前記グラフィック出力を更新する処理と、
前記電子装置により、前記第２セットのタッチ入力を使用しながら前記リモートディスプレイ上にグラフィカルオーバレイを生成する処理と、
を含むことを特徴とする、前記方法。
【請求項１０】
前記グラフィック出力を使用してリモートディスプレイを駆動する前に前記グラフィック出力をデコードする処理を更に含む、請求項９に記載の方法。
【請求項１１】
前記第２セットのタッチ入力は、更に、前記電子装置により前記リモートディスプレイへデータを送信するのに使用される、請求項９に記載の方法。
【請求項１２】
前記リモートディスプレイは、タブレットコンピュータ、移動電話、ポータブルメディアプレーヤ、プロジェクタ、及びモニタ、の少なくとも１つである、請求項９に記載の方法。
【請求項１３】
電子装置とリモートディスプレイとの間の相互作用を促進するシステムであって、
電子装置上の第１アプリケーションであり、
電子装置のディスプレイのためのグラフィック出力を得て、
電子装置の第１タッチスクリーンから前記グラフィック出力に関連した第１セットのタッチ入力を得て、及び
前記グラフィック出力及び前記第１セットのタッチ入力を前記リモートディスプレイへ送信する、
ように構成された前記第１アプリケーションと、
リモートディスプレイ上の第２アプリケーションであり、前記グラフィック出力及び前記第１セットのタッチ入力の視覚表現を使用して前記リモートディスプレイを駆動するように構成された前記第２アプリケーションとを備え、
前記第２アプリケーションは、前記リモートディスプレイ上の第２タッチスクリーンから前記グラフィック出力に関連した第２セットのタッチ入力を得て、前記電子装置に送信するように更に構成され、
前記第１アプリケーションは、前記第２セットのタッチ入力に基づいて前記グラフィック出力を更新し、前記第２セットのタッチ入力を使用しながら前記リモートディスプレイ上にグラフィカルオーバレイを生成するように更に構成された、前記システム。
【請求項１４】
前記電子装置上のエンコーディング装置であって、前記グラフィック出力を前記リモートディスプレイへ送信する前に前記グラフィック出力をエンコードするように構成された前記エンコーディング装置と、
前記リモートディスプレイ上のデコーディング装置であって、前記グラフィック出力を使用して前記リモートディスプレイを駆動する前に前記グラフィック出力をデコードするように構成された前記デコーディング装置と、
を更に備えた請求項１３に記載のシステム。
【請求項１５】
前記第１アプリケーションは、前記リモートディスプレイを前記第２セットのタッチ入力のソースとして識別するように更に構成される、請求項１３に記載のシステム。
【請求項１６】
前記識別されたリモートディスプレイは、
前記グラフィック出力を前記リモートディスプレイへ送信する前に前記第１アプリケーションによる前記グラフィック出力の変更、及び
前記第２セットのタッチ入力に基づき前記第１アプリケーションから前記リモートディスプレイへのデータの送信、
の少なくとも１つを可能にする、請求項１５に記載のシステム。
【請求項１７】
前記グラフィック出力及び前記第１セットのタッチ入力を前記リモートディスプレイへ送信することは、
前記第１セットのタッチ入力の視覚表現を前記グラフィック出力へ合成すること、及び
前記第１セットのタッチ入力を前記グラフィック出力に関連した補助データとして前記リモートディスプレイへ送信すること、
の少なくとも１つを伴う、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置からリモートディスプレイを駆動するための技術に関する。より詳細には、本発明は、電子装置におけるジェスチャーの視覚化を使用してリモートディスプレイを駆動する技術、及び電子装置とリモートディスプレイとの間でジェスチャーを共有する技術に関する。
【背景技術】
【０００２】
近代的なポータブル電子装置は、典型的に、種々の形態のデジタルメディアを生成し、記憶し、オープンし、及び／又は更新する機能を備えている。例えば、移動電話は、画像を捕獲するカメラ、画像を記憶するメモリ、画像を見るソフトウェア、及び／又は画像を編集するソフトウェアを含む。更に、ポータブル電子装置に関連した携帯性及び便宜性により、ポータブル電子装置のユーザは、デジタルメディアを毎日の活動に組み入れることができる。例えば、移動電話のカメラは、移動電話のユーザが種々の時間に多数の設定で写真を撮影できるようにする一方、移動電話のディスプレイスクリーン及びインストールされたソフトウェアは、ユーザが写真を他の者に表示できるようにする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、サイズ及びリソースの制限のために、ポータブル電子装置のユーザは、ポータブル電子装置のメディアを有効に共有することが妨げられる。例えば、タブレットコンピュータのディスプレイスクリーンは、大勢の人々へのプレゼンテーションに使用するには小さ過ぎる。むしろ、タブレットコンピュータのユーザは、タブレットコンピュータにスクリーン共有アプリケーションを使用して大きなリモートディスプレイを駆動することによりプレゼンテーションを行うことができる。
【０００４】
そこで、ポータブル電子装置からのメディアの共有を容易にするためのメカニズムが要望される。
【課題を解決するための手段】
【０００５】
ここに開示する実施形態は、電子装置とリモートディスプレイとの間の相互作用を促進するシステムを提供する。このシステムは、電子装置における第１アプリケーション及びエンコーディング装置と、リモートディスプレイにおける第２アプリケーション及びデコーディング装置とを備えている。エンコーディング装置は、電子装置のディスプレイのためのグラフィック出力と、第１タッチスクリーンからのグラフィック出力に関連した第１セットのタッチ入力とを得る。次いで、エンコーディング装置は、グラフィック出力をエンコードし、そして第１アプリケーションは、グラフィック出力及び第１セットのタッチ入力をリモートディスプレイへ送信する。グラフィック出力及び第１セットのタッチ入力をリモートディスプレイにおいて受け取ると、デコーディング装置は、グラフィック出力をデコードする。次いで、第２アプリケーションは、グラフィック出力及び第１セットのタッチ入力の視覚表現を使用して、リモートディスプレイを駆動する。
【０００６】
ある実施形態において、第２アプリケーションは、第２タッチスクリーンからのグラフィック出力に関連した第２セットのタッチ入力も得、そして第２セットのタッチ入力を電子装置へ送信する。次いで、第１アプリケーションは、第２セットのタッチ入力に基づいてグラフィック出力を更新する。
【０００７】
ある実施形態では、第１アプリケーションは、リモートディスプレイを、第２セットのタッチ入力のソースとして識別する。識別されたリモートディスプレイは、グラフィック出力をリモートディスプレイへ送信する前に第１アプリケーションによるグラフィック出力の変更をイネーブルし、及び／又は第２セットのタッチ入力に基づく第１アプリケーションからリモートディスプレイへのデータの送信をイネーブルする。
【０００８】
ある実施形態では、グラフィック出力及び第１セットのタッチ入力をリモートディスプレイへ送信することは、第１セットのタッチ入力の視覚表現をグラフィック出力へと合成すること、及び第１セットのタッチ入力をグラフィック出力に関連した補助的なデータとしてリモートディスプレイへ送信すること、の少なくとも一方を伴う。
【０００９】
ある実施形態では、グラフィック出力及び第１セットのタッチ入力の視覚表現を使用してリモートディスプレイを駆動することは、
（i）グラフィック出力を第１バッファへ引き出し、
（ii）第１セットのタッチ入力の視覚表現を第２バッファへ引き出し、及び
（iii）第１及び第２バッファを使用してリモートディスプレイを駆動する、
ことを伴う。
【００１０】
ある実施形態では、電子装置は、移動電話、タブレットコンピュータ、及びポータブルメディアプレーヤの少なくとも１つである。
【００１１】
ある実施形態では、リモートディスプレイは、タブレットコンピュータ、移動電話、ポータブルメディアプレーヤ、プロジェクタ、及びモニタの少なくとも１つである。
【図面の簡単な説明】
【００１２】
【図１】一実施形態によるシステムの概略図である。
【図２】一実施形態により電子装置とリモートディスプレイとの間の相互作用を促進するためのシステムを示す。
【図３】一実施形態による電子装置とリモートディスプレイとの間の規範的な相互作用を示す。
【図４】一実施形態による電子装置とリモートディスプレイとの間の規範的な相互作用を示す。
【図５】一実施形態によりリモートディスプレイと相互作用するプロセスを示すフローチャートである。
【図６】一実施形態により電子装置と相互作用するプロセスを示すフローチャートである。
【図７】一実施形態によるコンピュータシステムを示す。
【発明を実施するための形態】
【００１３】
添付図面では、同じ要素が同じ参照番号で示されている。
以下の説明は、当業者が実施形態を生成し利用できるようにするためのもので、特定の応用及びその要件について述べる。当業者であれば、ここに開示する実施形態に対する種々の変更が容易に明らかであろうし、ここに述べる一般的な原理は、本開示の精神及び範囲から逸脱せずに他の実施形態及び応用に適用することができる。従って、本発明は、ここに示す実施形態に限定されず、ここに開示する原理及び特徴との最も広い範囲の一致に従うものである。
【００１４】
この詳細な説明で述べるデータ構造及びコードは、典型的に、コンピュータシステムにより使用するためのコード及び／又はデータを記憶できる装置又は媒体であるコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これに限定されないが、揮発性メモリ、不揮発性メモリ、磁気及び光学記憶装置、例えば、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多様性ディスク又はデジタルビデオディスク）、或いは現在知られている又は今後開発されるコード及び／又はデータを記憶できる他の媒体を含む。
【００１５】
詳細な説明に述べる方法及びプロセスは、上述したコンピュータ読み取り可能な記憶媒体に記憶できるコード及び／又はデータとして実施される。コンピュータが、コンピュータ読み取り可能な記憶媒体に記憶されたコード及び／又はデータを読み取って実行するとき、コンピュータシステムは、コンピュータ読み取り可能な記憶媒体に記憶されてデータ構造及びコードとして実施される方法及びプロセスを遂行する。
【００１６】
更に、ここに述べる方法及びプロセスは、ハードウェアモジュール又は装置に含ませることができる。これらのモジュール又は装置は、これに限定されないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュール又はコードの断片を実行する専用の又は共有型のプロセッサ、及び／又は現在知られている又は今後開発される他のプログラム可能な論理装置を含む。ハードウェアモジュール又は装置は、それがアクチベートされると、それに含まれた方法及びプロセスを遂行する。
【００１７】
図１は、一実施形態によるシステムの概略図である。このシステムは、電子装置１０２及びリモートディスプレイ１０４を備えている。電子装置１０２は、移動電話、タブレットコンピュータ、ポータブルメディアプレーヤ、及び／又はドキュメント、画像、オーディオ及び／又はビデオのようなデジタルメディアを記憶する機能を含む他のコンパクトな電子装置に対応する。リモートディスプレイ１０４も、タブレットコンピュータ、移動電話及び／又はポータブルメディアプレーヤのようなコンパクトな電子装置に対応し、又はリモートディスプレイ１０４は、プロジェクタ、モニタ、及び／又は電子装置１０２の外部にあり及び／又は電子装置１０２のディスプレイより大きな他の形式の電子ディスプレイを含む。
【００１８】
１つ以上の実施形態において、リモートディスプレイ１０４は、電子装置１０２からのデジタルメディアの共有を容易にする。特に、電子装置１０２は、リモートディスプレイ１０４のグラフィック出力が電子装置１０２のグラフィック出力と実質的に同じになるようにリモートディスプレイ１０４を駆動するのに使用される。例えば、電子装置１０２のユーザは、電子装置１０２のアプリケーションからリモートディスプレイ１０４及び電子装置１０２の両方における写真スライドショー、プレゼンテーション、及び／又はドキュメントの表示をコントロールする。リモートディスプレイ１０４は、グラフィック出力を表示するための付加的なスペースを備えているので、リモートディスプレイ１０４は、写真スライドショー、プレゼンテーション、及び／又はドキュメントが電子装置１０２のみに表示される場合より大勢の人々によって写真スライドショー、プレゼンテーション、及び／又はドキュメントを見ることができるようにする。
【００１９】
電子装置１０２からリモートディスプレイ１０４を駆動できるようにするために、電子装置１０２のサーバー１０６は、リモートディスプレイ１０４のクライアント１０８と通信するのに使用される。サーバー１０６は、電子装置１０２からクライアント１０８へグラフィック出力を送信し、クライアント１０８は、そのグラフィック出力でリモートディスプレイ１０４を更新する。例えば、サーバー１０６及びクライアント１０８は、電子装置１０２とリモートディスプレイ１０４との間のネットワーク接続を経て通信するリモートデスクトップサーバー及びリモートデスクトップクライアントに対応する。リモートデスクトップサーバーは、デスクトップに対する変更及び／又は電子装置１０２の表示をリモートデスクトップクライアントへ搬送し、そしてリモートデスクトップクライアントは、それに応じてリモートディスプレイ１０４を更新する。換言すれば、サーバー１０６及びクライアント１０８は、電子装置１０２が、デジタルビジュアルインターフェイス（ＤＶＩ）、高鮮明度マルチメディアインターフェイス（ＨＤＭＩ）、及び／又はディスプレイポートのようなビデオインターフェイスを使用してリモートディスプレイ１０４に接続せずにリモートディスプレイ１０４を駆動できるようにする。
【００２０】
サーバー１０６及びクライアント１０８は、更に、電子装置１０２からの第１セットのタッチ入力の視覚表現を使用してリモートディスプレイ１０４を駆動し、及び／又はリモートディスプレイ１０４からの第２セットのタッチ入力に基づきグラフィック出力を更新するように構成される。図２を参照して以下に詳細に述べるように、サーバー１０６に関連した第１アプリケーションは、電子装置１０２に関連した（例えば、それに設けられた）第１タッチスクリーンから第１セットのタッチ入力を得る。各タッチ入力は、タッチスクリーン上のタッピングジェスチャー、スワイピングジェスチャー、ピンチングジェスチャー、回転ジェスチャー、及び／又は別のタッチベースのジェスチャーに対応する。次いで、サーバー１０６は、第１セットのタッチ入力を、グラフィック出力と共に、リモートディスプレイ１０４へ送信する。次いで、クライアント１０８に関連した第２アプリケーションは、グラフィック出力と、第１セットのタッチ入力の視覚表現を使用して、リモートディスプレイ１０４を駆動する。例えば、第２アプリケーションは、グラフィック出力と、グラフィック出力内の第１セットのタッチ入力の位置を表わすドットのセットとで、リモートディスプレイ１０４を更新する。
【００２１】
第２アプリケーションは、更に、リモートディスプレイ１０４に関連した（例えば、それに設けられた）第２タッチスクリーンから第２セットのタッチ入力を得る。第１セットのタッチ入力と同様に、第２セットのタッチ入力は、多数のタッチベースジェスチャーを含む。次いで、クライアント１０８は、第２セットのタッチ入力を電子装置１０２へ送信し、そして第１アプリケーションは、第２セットのタッチ入力に基づいてグラフィック出力を更新する。例えば、第１アプリケーションは、第２セットのタッチ入力を使用して、その第２セットのタッチ入力が電子装置の第１タッチスクリーンから受信されたかのようにグラフィック出力を更新する。他方、第１アプリケーションは、リモートディスプレイを第２セットのタッチ入力のソースとして識別する。次いで、第１アプリケーションは、その識別されたリモートディスプレイ及び／又は第２セットのタッチ入力を使用して、リモートディスプレイのグラフィック出力の上に表示されるグラフィックオーバーレイを発生する。又、第１アプリケーションは、第２セットのタッチ入力に基づいてリモートディスプレイへデータを送信する。従って、第１及び第２のアプリケーションは、電子装置１０２からのデジタルメディアの共有、及び電子装置１０２とリモートディスプレイ１０４との間の相互作用、の両方を促進する。
【００２２】
図２は、一実施形態により電子装置１０２とリモートディスプレイ１０４との間の相互作用を促進するシステムを示す。上述したように、電子装置１０２は、電子装置１０２のグラフィック出力２０８がリモートディスプレイ１０４のグラフィック出力２２８と実質的に同じになるようにリモートディスプレイ１０４を駆動する。例えば、電子装置１０２は、リモートディスプレイ１０４及び電子装置１０２のディスプレイの両方にプレゼンテーション、写真スライドショー、及び／又はドキュメントを表示できるようにする。
【００２３】
電子装置１０２からリモートディスプレイ１０４を駆動するために、サーバー１０６に関連した第１アプリケーション２１０は、電子装置１０２のグラフィック処理メカニズム２０６（例えば、グラフィック処理ユニット（ＧＰＵ）、グラフィックスタック、等）を使用してグラフィック出力２０８を発生する。例えば、アプリケーション２１０は、ユーザインターフェイス２０２（例えば、グラフィックユーザインターフェイス（ＧＵＩ））を与え、これは、電子装置１０２に関連したタッチスクリーンを通してユーザから一連のタッチ入力２０４（例えば、ジェスチャー）を得る。アプリケーション２１０は、次いで、タッチ入力２０４に基づいてグラフィック処理メカニズム２０６へ引き出しコマンドを発行し、ユーザインターフェイス２０２及び／又はタッチスクリーン内に示されるグラフィック出力２０８を発生する。その結果、ユーザは、タッチスクリーン及び／又はユーザインターフェイス２０２を通してアプリケーション２１０へタッチ入力２０４を与えそしてアプリケーション２１０からタッチスクリーン及び／又はユーザインターフェイス２０２を通してグラフィック出力２０８を受け取ることにより、アプリケーション２１０と相互作用する。
【００２４】
グラフィック出力２０８がグラフィック処理メカニズム２０６により発生された後に、グラフィック出力２０８は、アプリケーション２１０によって得られ、そしてアプリケーション２１０に関連したエンコーディング装置２１２によってエンコードされる。エンコーディング中に、エンコーディング装置２１２の変換メカニズム２１４は、グラフィック出力２０８を第１カラースペースから第２カラースペースへ変換し、そしてスケーリングメカニズム２１６がグラフィック出力２０８をスケーリングする。例えば、エンコーディング装置２１２は、Ｈ．２６４ｃｏｄｅｃを使用してグラフィック出力２０８をエンコードする機能を備えている。従って、変換メカニズム２１４は、グラフィック出力２０８をＲＧＢカラースペースからＹＵＶカラースペースへ変換する。同時に、スケーリングメカニズム２１６は、グラフィック出力２０８をスケールアップ又はダウンして、グラフィック出力２０８をリモートディスプレイ１０４の解像度に一致させることができる。
【００２５】
グラフィック出力２０８がエンコードされると、サーバー１０６は、ネットワーク（例えば、ワイヤレスネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、等）接続を経てグラフィック出力２０８をクライアント１０８へ送信する。次いで、クライアント１０８に関連した第２アプリケーション２１８は、グラフィック出力２０８を使用して、リモートディスプレイ１０４を更新する。より詳細には、アプリケーション２１８に関連したデコーディング装置２２０は、グラフィック出力２０８をデコードする。例えば、デコーディング装置２２０は、エンコードされたグラフィック出力２０８からピクセル値のフレームを得るＨ．２６４ｃｏｄｅｃを備えている。次いで、ピクセル値は、リモートディスプレイ１０４のグラフィック処理メカニズム２２６（例えば、ＧＰＵ、グラフィックスタック）へ送信され、そしてグラフィック処理メカニズム２２６によって使用されて、リモートディスプレイ１０４を駆動するためのグラフィック出力２２８を発生する。電子装置１０２のグラフィック出力２０８の表示と同様に、グラフィック出力２２８は、アプリケーション２１８により与えられるユーザインターフェイス２２２及び／又はリモートディスプレイ１０４に関連したタッチスクリーン内に示される。
【００２６】
先に述べたように、リモートディスプレイ１０４を駆動するためにタッチ入力２０４の視覚表現２３０も使用される。より詳細には、タッチ入力２０４は、アプリケーション２１０及び／又はサーバー１０６によって得られ、そしてグラフィック出力２０８と共にクライアント１０８へ送られる。視覚表現２３０は、タッチ入力２０４を使用して発生されて、グラフィック処理メカニズム２２６へ送られ、グラフィック処理メカニズム２２６は、視覚表現２３０を使用してリモートディスプレイ１０４を駆動する。例えば、視覚表現２３０は、グラフィック出力２０８及び２２８内のタッチ入力２０４の位置を表わすドットのセットを含む。その結果、視覚表現２３０は、タッチ入力２０４に関連した各位置にドットを引き出すことにより発生される。タッチ入力の視覚表現は、図３を参照して以下に詳細に述べる。
【００２７】
１つ以上の実施形態において、視覚表現２３０は、アプリケーション２１０及び／又はグラフィック処理メカニズム２０６により発生され、電子装置１０２のグラフィック出力２０８へ合成される。従って、サーバー１０６は、グラフィック出力２０８及び視覚表示２３０を含む単一のデータストリームをクライアント１０８へ送信する。次いで、データストリームは、デコーディング装置２２０によりデコードされ、そしてグラフィック処理メカニズム２２６によりリモートディスプレイ１０４を駆動するのに使用される。
【００２８】
他方、アプリケーション２１０及び／又はサーバー１０６は、タッチ入力２０４をグラフィック出力２０８に関連した補助データとしてクライアント１０８へ送信する。例えば、グラフィック出力２０８は、サーバー１０６とクライアント１０８との間のメイン通信チャンネルを通して送信され、一方、タッチ入力２０４は、サーバー１０６とクライアント１０８との間のサイドバンドチャンネルを通して送信される。その結果、アプリケーション２１８及び／又はグラフィック処理メカニズム２２６は、グラフィック出力２２８を第１バッファへ引き出し、視覚表現２３０を第１バッファへ引き出し、そして第１及び第２バッファを使用してリモートディスプレイを駆動することにより、リモートディスプレイ１０４を駆動する。
【００２９】
電子装置１０２とリモートディスプレイ１０４との間の相互作用は、更に、リモートディスプレイ１０４からのタッチ入力２２４をグラフィック出力２０８及び２２８の更新に使用できるようにすることにより促進される。リモートディスプレイ１０４のユーザは、リモートディスプレイ１０４に関連したタッチスクリーンを通してタッチベースジェスチャーとしてタッチ入力２２４を与える。ユーザインターフェイス２２２及び／又はアプリケーション２１８は、タッチスクリーンからタッチ入力２２４を得、そしてクライアント１０８は、タッチ入力２２４をサーバー１０６及び／又はアプリケーション２１０へ送信する。
【００３０】
次いで、アプリケーション２１０は、タッチ入力２２４に基づいてグラフィック出力２０８を更新する。例えば、アプリケーション２１０は、タッチ入力２２４がユーザインターフェイス２０２から及び／又は電子装置１０２に関連したタッチスクリーンから受け取られたかのように、タッチ入力２２４からグラフィック出力２０８を発生する。換言すれば、電子装置１０２へのタッチ入力２２４の送信は、ユーザが電子装置１０２から行うのと同様に、ユーザがリモートディスプレイ１０４からアプリケーション２１０と相互作用できるようにする。
【００３１】
逆に、サーバー１０６及び／又はアプリケーション２１０は、リモートディスプレイ１０４をタッチ入力２２４のソースとして識別する機能を含む。リモートディスプレイ１０４のそのような識別は、アプリケーション２１０がタッチ入力２２４に基づいてグラフィック出力２０８を変更した後にそのグラフィック出力２０８をリモートディスプレイ１０４へ送信し、及び／又はタッチ入力２２４に基づいてリモートディスプレイ１０４へデータを送信できるようにする。
【００３２】
例えば、アプリケーション２１０は、タッチ入力２２４を使用して、グラフィック出力２０８のグラフィックオーバーレイを発生し、これは、グラフィック出力２０８と共にクライアント１０８へ送信されるが、グラフィック処理メカニズム２０６には与えられない。次いで、アプリケーション２１８は、グラフィックオーバーレイ及びグラフィック出力２０８をグラフィック処理メカニズム２２６に与え、このメカニズムは、グラフィックオーバーレイ及びグラフィック出力２０８の両方を使用してリモートディスプレイ１０４を駆動する。その結果、グラフィックオーバーレイは、ユーザインターフェイス２２２及び／又はリモートディスプレイ１０４内に示されるが、電子装置１０２のユーザインターフェイス２０２及び／又はディスプレイ（例えば、タッチスクリーン）内には示されない。ユーザインターフェイス２２２内のグラフィックオーバーレイに関連したタッチ入力２２４は、次いで、サーバー１０６へ送信され、そしてアプリケーション２１０により使用されて、グラフィックオーバーレイを更新し、及び／又はグラフィックオーバーレイに関連したデータをリモートディスプレイ１０４へ送信する。タッチ入力２２４に基づくグラフィック出力２０８の変更及び／又はリモートディスプレイ１０４へのデータの送信は、図４を参照して以下に詳細に説明する。
【００３３】
従って、アプリケーション２１０及び２１８は、電子装置１０２及び／又はリモートディスプレイ１０４が、グラフィック出力２０８、２２８及びタッチ入力２０４、２２４を視覚化及び／又は共有できるようにする。次いで、アプリケーション２１０及び２１８は、電子装置１０２からのデジタルメディアの共有、及び電子装置１０２とリモートディスプレイ１０４との間の相互作用を促進する。例えば、アプリケーション２１０からアプリケーション２１８へのグラフィック出力２０８及びタッチ入力２０４の送信は、リモートディスプレイ１０４のユーザがリモートディスプレイ１０４のユーザインターフェイス２０２を見ることができ、及び／又は別のユーザによる電子装置１０２の使用を観察できるようにする。同様に、アプリケーション２１８からアプリケーション２１０へのタッチ入力２２４の送信は、リモートディスプレイ１０４のユーザがアプリケーション２１０と相互作用し、及び／又は電子装置１０２からデータ（例えば、デジタルメディア）を得ることができるようにする。
【００３４】
当業者であれば、図２のシステムは、種々の仕方で具現化されることが明らかであろう。第１に、エンコーディング装置２１２及びサーバー１０６は、アプリケーション２１０内で実行され、及び／又はアプリケーション２１０とは独立して実行される。同じラインに沿って、デコーディング装置２２０及びクライアント１０８は、アプリケーション２１８内で実行され、及び／又はアプリケーション２１８とは独立して実行される。更に、アプリケーション２１０及び２１８は、電子装置１０２及びリモートディスプレイ１０４の両方からユーザインターフェイス２０２又はユーザインターフェイス２２２のいずれかを見ることができ及び／又はそれと相互作用できるように、エンコーディング装置２１２、サーバー１０６、クライアント１０８、及びデコーディング装置２２０を各々実施する同じアプリケーションに対応する。他方、アプリケーション２１０及び２１８は、電子装置１０２及びリモートディスプレイ１０４の両方から１つのユーザインターフェイス（例えば、ユーザインターフェイス２０２）しかアクセスできないように、相補的な役割を占める。
【００３５】
図３は、一実施形態による電子装置３０２とリモートディスプレイ３０４との間の規範的な相互作用を示す。電子装置３０２は、リモートディスプレイ３０４のグラフィック出力が電子装置３０２のグラフィック出力と実質的に同じになるようにリモートディスプレイ３０４を駆動するのに使用される。例えば、電子装置３０２のディスプレイのグラフィック出力は、リモートディスプレイ３０４へ送信されて、リモートディスプレイ３０４を駆動するのに使用される。
【００３６】
更に、電子装置３０２からタッチ入力３０６−３０８のセットが得られる。タッチ入力３０６−３０８は、電子装置３０２に関連したタッチスクリーン上でのタッピングジェスチャー、スワイピングジェスチャー、ピンチングジェスチャー、回転ジェスチャー、及び／又は他のタッチベースのジェスチャーに関連している。又、タッチ入力３０６−３０８は、それらタッチ入力３０６−３０８の視覚表現３１０−３１２を使用してリモートディスプレイ３０４の駆動をイネーブルするためにリモートディスプレイ３０４へ送信される。例えば、視覚表現３１０−３１２は、グラフィック出力内のタッチ入力３０６−３０８の位置を表わすドットに対応する。又、視覚表現３１０−３１２は、タッチ入力３０６−３０８が止んだ後の時間中も持続し、及び／又はタッチ入力３０６−３０８に関連した動き情報（例えば、線、弧、等）を搬送する位置をリモートディスプレイ３０４のユーザへ変更する。換言すれば、視覚表現３１０−３１２は、リモートディスプレイ３０４のユーザが異なるユーザによる電子装置３０２の使用を観察できるようにする。
【００３７】
特に、タッチ入力３０６−３０８は、視覚表現３１０−３１２を電子装置３０２のグラフィック出力へ合成した後にそのグラフィック出力をリモートディスプレイ３０４へ送信することにより、リモートディスプレイ３０４へ送信される。従って、グラフィック出力及びタッチ入力３０６−３０８は、単一データストリームとしてリモートディスプレイ３０４へ送信され、そしてリモートディスプレイ３０４の駆動に使用される単一のバッファへ引き出される。或いは又、タッチ入力３０６−３０８は、グラフィック出力に関連した補助データとしてリモートディスプレイ３０４へ送信される。その結果、グラフィック出力は、第１バッファへ引き出され、視覚表現３１０−３１２は、タッチ入力３０６−３０８に基づいて第２バッファへ引き出され、そして第１及び第２バッファは、リモートディスプレイ３０４を駆動するのに使用される。
【００３８】
図４は、一実施形態による電子装置４０２とリモートディスプレイ４０４との間の規範的な相互作用を示す。図３の電子装置３０２及びリモートディスプレイ３０４と同様に、電子装置４０２は、グラフィック出力が電子装置４０２及びリモートディスプレイ４０４の両方について実質的に同じになるように、リモートディスプレイ４０４を駆動するのに使用される。
【００３９】
しかしながら、グラフィックオーバーレイ４０６がリモートディスプレイ４０４には示されているが、電子装置４０２には示されていない。オーバーレイ４０６は、リモートディスプレイ４０４から電子装置４０２へタッチ入力を送信し、その後、電子装置４０２のアプリケーションでタッチ入力を処理することから得られる。例えば、そのアプリケーションは、グラフィック出力をリモートディスプレイ４０４へ送信する前にはグラフィック出力をタッチ入力に基づいて更新するが、グラフィック出力を使用して電子装置４０２のディスプレイ（例えば、タッチスクリーン）を駆動する前には更新しないようにすることで、オーバーレイ４０６を発生する。
【００４０】
又、オーバーレイ４０６は、タッチ入力に基づきアプリケーションからリモートディスプレイ４０４へのデータの送信を促進する。例えば、オーバーレイ４０６は、グラフィック出力に関連したファイルをセーブするオプション、及びファイルをセーブしない別のオプションをリモートディスプレイ４０４のユーザに与えるダイアログボックスに対応する。ユーザによりダイアログボックス内に与えられるタッチ入力は、次いで、アプリケーションにより処理するために電子装置４０２へ送られる。タッチ入力がファイルをセーブするオプションの選択を表わすとアプリケーションが決定する場合には、アプリケーションは、リモートディスプレイ４０４からオーバーレイ４０６を除去し、そしてファイルのためのデータをリモートディスプレイ４０４へ送信する。更に、アプリケーションは、リモートディスプレイ４０４へのデータの送信の許可について電子装置４０２のユーザに問合せるために電子装置４０２にダイアログボックスを発生するか、又はアプリケーションは、電子装置４０２のユーザから許可を得ずにデータを送信する。逆に、タッチ入力がファイルをセーブしないオプションの選択を表わすとアプリケーションが決定する場合には、アプリケーションは、リモートディスプレイ４０４へファイルデータを送信せずにリモートディスプレイ４０４からオーバーレイ４０６を除去する。
【００４１】
図５は、一実施形態によりリモートディスプレイと相互作用するプロセスを示すフローチャートである。１つ以上の実施形態では、１つ以上のステップが省略されてもよく、繰り返されてもよく、及び／又は異なる順序で遂行されてもよい。従って、図５に示すステップの特定の構成は、実施形態の範囲を限定するものであると解釈されてはならない。
【００４２】
先ず、電子装置のディスプレイのためのグラフィック出力が得られ（オペレーション５０２）、そしてそのグラフィック出力に関連した第１セットのタッチ入力が、電子装置に関連したタッチスクリーンから得られる（オペレーション５０４）。次いで、グラフィック出力がエンコードされる（オペレーション５０６）。例えば、グラフィック出力は、Ｈ．２６４ｃｏｄｅｃを使用してエンコードされ、これは、グラフィック出力を第１カラースペースから第２カラースペースへ変換し、及び／又はグラフィック出力をスケーリングする。
【００４３】
次いで、グラフィック出力及び第１セットのタッチ入力がリモートディスプレイへ送信され（オペレーション５０８）、そこで、グラフィック出力及び第１セットのタッチ入力の視覚表現を使用して、リモートディスプレイを駆動する。グラフィック出力及び第１セットのタッチ入力の視覚表現を使用してリモートディスプレイを駆動することは、図６を参照して以下に詳細に述べる。
【００４４】
リモートディスプレイから第２セットのタッチ入力も受け取られる（オペレーション５１０）。第２セットのタッチ入力が受け取られない場合には、第２セットのタッチ入力に関連した処理は行われない。第２セットのタッチ入力が受け取られる場合には、第２セットのタッチ入力に基づいてグラフィック出力が更新される（オペレーション５１２）。例えば、第２セットのタッチ入力は、グラフィック出力を発生するように構成されたアプリケーションに与えられる。そのアプリケーションは、第２セットのタッチ入力が電子装置のタッチスクリーンを通して得られたかのように第２セットのタッチ入力を処理する。或いは又、そのアプリケーションは、リモートディスプレイを第２セットのタッチ入力のソースとして識別し、そしてグラフィック出力を変更した後に、そのグラフィック出力をリモートディスプレイへ送信する。又、そのアプリケーションは、リモートディスプレイの識別を使用して、第２セットのタッチ入力に基づきリモートディスプレイへデータを送信する。
【００４５】
リモートディスプレイとの相互作用が続けられる（オペレーション５１４）。例えば、電子装置は、電子装置とリモートディスプレイとの間にネットワーク接続が存在し及び／又は電子装置とリモートディスプレイとの間にデジタルメディアが共有される限り、リモートディスプレイと相互作用する。リモートディスプレイとの相互作用を続けるべき場合には、グラフィック出力及び第１セットのタッチ入力が得られ（オペレーション５０２−５０４）、グラフィック出力がエンコードされ（オペレーション５０６）、そしてグラフィック出力及び第１セットのタッチ入力がリモートディスプレイへ送信される（オペレーション５０８）。同時に、第２セットのタッチ入力もリモートディスプレイから受信され（オペレーション５１０）、グラフィック出力を更新するのに使用される（オペレーション５１２）。電子装置とリモートディスプレイとの間の相互作用が止むまで、グラフィック出力及び第１セットのタッチ入力の視覚表現が得られ、変更され及び／又は送信され続ける。
【００４６】
図６は、一実施形態により電子装置と相互作用するプロセスを示すフローチャートである。１つ以上の実施形態では、１つ以上のステップが省略されてもよく、繰り返されてもよく、及び／又は異なる順序で遂行されてもよい。従って、図６に示すステップの特定の構成は、実施形態の範囲を限定するものであると解釈されてはならない。
【００４７】
最初に、グラフィック出力、及びそのグラフィック出力に関連した第１セットのタッチ入力が電子装置から得られる（オペレーション６０２）。第１セットのタッチ入力は、グラフィック出力へと合成され、及び／又はグラフィック入力に関連した補助データとして送信される。次いで、グラフィック出力がデコードされる（オペレーション６０４）。例えば、Ｈ．２６４ｃｏｄｅｃを使用して、グラフィック出力からピクセル値のフレームが得られる。
【００４８】
次いで、グラフィック出力及び第１セットのタッチ入力の視覚表現を使用して、リモートディスプレイを駆動する（オペレーション６０６）。第１セットのタッチ入力がグラフィック出力へ合成される場合には、その合成されたグラフィック出力が単一バッファへ引き出され、これを使用して、リモートディスプレイを駆動する。第１セットのタッチ入力が補助データとして送信される場合には、グラフィック出力が第１バッファへ引き出され、第１セットのタッチ入力の視覚表現が第２バッファへ引き出され、そして第１及び第２バッファを使用して、リモートディスプレイを駆動する。
【００４９】
第２セットのタッチ入力もリモートディスプレイのユーザにより与えられる（オペレーション６０８）。第２セットのタッチ入力が与えられない場合には、第２セットのタッチ入力に関連した処理が遂行されない。第２セットのタッチ入力が与えられる場合には、第２セットのタッチ入力が、リモートディスプレイに関連したタッチスクリーンから得られ（オペレーション６１０）、そして電子装置へ送信される（オペレーション６１２）。次いで、第２セットのタッチ入力は、電子装置により使用されて、グラフィック出力を更新し、及び／又はリモートディスプレイへデータを送信する。
【００５０】
電子装置との相互作用が続けられる（オペレーション６１４）。電子装置との相互作用を続ける場合には、グラフィック出力及び第１セットのタッチ入力が電子装置から受け取られ（オペレーション６０２）、グラフィック出力がデコードされ（オペレーション６０４）、そしてグラフィック出力及び第１セットのタッチ入力の視覚表現を使用してリモートディスプレイを駆動する（オペレーション６０６）。同時に、第２セットのタッチ入力がリモートディスプレイのユーザにより与えられ（オペレーション６０８）、タッチスクリーンから得られ（オペレーション６１０）、そして電子装置へ送信される（オペレーション６１２）。グラフィック出力及び視覚表現を使用してリモートディスプレイを駆動すること、及び第２セットのタッチ入力を電子装置に送信することは、リモートディスプレイと電子装置との間の相互作用が止むまで続けられる。
【００５１】
図７は、一実施形態によるコンピュータシステム７００を示す。コンピュータシステム７００は、プロセッサ７０２、メモリ７０４、記憶装置７０６、及び／又は電子的コンピューティング装置に見られる他のコンポーネントを備えた装置に対応する。プロセッサ７０２は、コンピュータシステム７００の他のプロセッサとの並列処理及び／又はマルチスレッドオペレーションをサポートする。又、コンピュータシステム７００は、キーボード７０８、マウス７１０及びディスプレイ７１２のような入力／出力装置も備えている。
【００５２】
コンピュータシステム７００は、本実施形態の種々のコンポーネントを実施するための機能を含む。特に、コンピュータシステム７００は、コンピュータシステム７００上のハードウェア及びソフトウェアリソースの使用を整合するオペレーティングシステム（図示せず）、並びにユーザに対して特殊なタスクを遂行する１つ以上のアプリケーションを含む。ユーザに対するタスクを遂行するため、アプリケーションは、オペレーティングシステムからコンピュータシステム７００上のハードウェアリソースの使用権を得、そしてオペレーティングシステムにより与えられるハードウェア及び／又はソフトウェアフレームワークを通してユーザと相互作用する。
【００５３】
１つ以上の実施形態において、コンピュータシステム７００は、電子装置とリモートディスプレイとの間の相互作用を促進するシステムをなす。このシステムは、電子装置における第１アプリケーション及びエンコーディング装置と、リモートディスプレイにおける第１アプリケーション及びデコーディング装置とを備えている。エンコーディング装置は、電子装置のディスプレイのためのグラフィック出力と、電子装置の第１タッチスクリーンからのグラフィック出力に関連した第１セットのタッチ入力とを得る。エンコーディング装置は、グラフィック出力をエンコードし、そして第１アプリケーションは、グラフィック出力及び第１セットのタッチ入力をリモートディスプレイへ送信する。リモートディスプレイにおいてグラフィック出力及び第１セットのタッチ入力が受信されると、デコーディング装置がグラフィック出力をデコードする。次いで、第２アプリケーションがそのグラフィック出力と第１セットのタッチ入力の視覚表現とを使用して、リモートディスプレイを駆動する。
【００５４】
更に、第２アプリケーションは、リモートディスプレイの第２タッチスクリーンからグラフィック出力に関連した第２セットのタッチ入力を得、そしてその第２セットのタッチ入力を電子装置へ送信する。第１アプリケーションは、次いで、第２セットのタッチ入力に基づいてグラフィック出力を更新する。例えば、第１アプリケーションは、リモートディスプレイを第２セットのタッチ入力のソースとして識別する。次いで、第１アプリケーションは、第２セットのタッチ入力を使用して、リモートディスプレイのグラフィック出力の上に表示されるオーバーレイを発生する。又、第１アプリケーションは、第２セットのタッチ入力に基づいてリモートディスプレイへデータを送信する。
【００５５】
更に、コンピュータシステム７００の１つ以上のコンポーネントは、遠隔配置されて、ネットワークを経て他のコンポーネントに接続される。本実施形態の部分（例えば、第１アプリケーション、第２アプリケーション、エンコーディング装置、デコーディング装置、等）は、それら実施形態を具現化する分散型システムの異なるノードに配置されてもよい。例えば、本実施形態は、電子装置とのネットワーク接続を使用して電子装置と通信すると共に、グラフィック出力、及び電子装置からの第１セットのタッチ入力の視覚表現をリモートディスプレイのセットに表示するクラウドコンピューティングシステムを使用して、具現化することができる。
【００５６】
種々の実施形態の以上の説明は、例示のためになされたものである。それらは、余すところのないものではなく、又、本発明をここに開示する形態に限定するものでもない。従って、当業者であれば、多数の変更や修正が明らかとなろう。更に、前記開示は、本発明を限定するものではない。
【符号の説明】
【００５７】
１０２：電子装置
１０４：リモートディスプレイ
１０６：サーバー
１０８：クライアント
２０２：ユーザインターフェイス
２０４：タッチ入力
２０６：グラフィック処理メカニズム
２０８：グラフィック出力
２１０：アプリケーション
２１２：エンコーディング装置
２１４：変換メカニズム
２１６：スケーリングメカニズム
２１８：アプリケーション
２２０：デコーディング装置
２２２：ユーザインターフェイス
２２４：タッチ入力
２２６：グラフィック処理メカニズム
２２８：グラフィック出力
２３０：視覚表現
３０２：電子装置３０２
３０４：リモートディスプレイ
３０６、３０８：タッチ入力
３１０、３１２：視覚表現
４０２：電子装置
４０４：リモートディスプレイ
４０６：オーバーレイ
７００：コンピュータシステム
７０２：プロセッサ
７０４：メモリ
７０６：記憶装置
７０８：キーボード
７１０：マウス
７１２：ディスプレイ
【図１】
0005902288.tif 000002
【図２】
0005902288.tif 000003
【図３】
0005902288.tif 000004
【図４】
0005902288.tif 000005
【図５】
0005902288.tif 000006
【図６】
0005902288.tif 000007
【図７】
0005902288.tif 000008