(57)【要約】方法および装置は、複数の物理的なディスプレイの間のディスプレイ移動の適合を提供する。一例において、本方法および装置は、少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへのディスプレイ移動条件を検出する。次いで、本方法および装置は、第１の物理的なディスプレイ上において複数のデスクトップ表面のそれぞれへのアクセスを可能にするように、複数のデスクトップ表面の合成を制御する。複数のデスクトップ表面は、少なくとも第２の物理的なディスプレイに関連付けられたデスクトップ表面を含む。デスクトップ表面は、関連付けられた物理的なディスプレイ上に提示された全てのディスプレイコンテンツを提示する、フレームバッファ内のメモリの一部内のコンテンツである。一例において、複数のデスクトップ表面は、少なくとも１つの３次元のディスプレイオブジェクトに合成されてもよい。３次元のディスプレイオブジェクトは、回転ドアオブジェクトまたは他の３次元の形状またはオブジェクト（例えば立方体オブジェクト）を含むが、これらに限定されない。【選択図】図５
2013541724.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法であって、
少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへのディスプレイ移動条件を検出するステップと、
前記第１の物理的なディスプレイ上の複数のデスクトップ表面のうちのそれぞれ１つのアクセスを可能にするように、前記複数のデスクトップ表面の合成を制御するステップとを含み、前記複数のデスクトップ表面は、少なくとも前記第２の物理的なディスプレイに関連付けられたデスクトップ表面を備える、方法。
【請求項２】
前記複数のデスクトップ表面は、少なくとも１つの３次元のディスプレイオブジェクトに合成される、請求項１に記載の方法。
【請求項３】
前記合成を制御するステップは、
少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を生成するステップと、
前記第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面であって、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを含む移動結果デスクトップ表面を生成するステップと、を含む、請求項２に記載の方法。
【請求項４】
前記第１の物理的なディスプレイは、少なくとも第１のプロセッサに動作可能に接続されており、前記第２の物理的なディスプレイは、少なくとも第２のプロセッサに動作可能に接続されており、
前記合成を制御するステップは、
前記第２の物理的なディスプレイに関連付けられた少なくとも１つのアプリケーションによって前記第２のプロセッサに送信された描画コマンドを少なくともインターセプトするステップと、
前記インターセプトされた描画コマンドを前記第１のプロセッサへ送信するステップと、を含む、請求項２に記載の方法。
【請求項５】
前記合成を制御するステップは、
前記第１のプロセッサによって、前記描画コマンドに基づいて少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を生成するステップと、
前記第１のプロセッサによって、前記第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面であって、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを含む移動結果デスクトップ表面を生成するステップと、をさらに含む、請求項４に記載の方法。
【請求項６】
前記第１の物理的なディスプレイ上に、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを提示させるステップと、
前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトからのデスクトップ表面の選択を表す入力を受信するステップであって、前記３次元のディスプレイオブジェクトは、前記３次元のディスプレイオブジェクトの異なる表面上において前記複数のデスクトップ表面を含むステップと、
前記デスクトップ表面の前記選択に応答して、前記第１の物理的なディスプレイ上または第３の物理的なディスプレイ上に前記選択されたデスクトップ表面を表示させるステップと、をさらに含む、請求項２に記載の方法。
【請求項７】
前記第１の物理的なディスプレイから少なくとも前記第２の物理的なディスプレイへのディスプレイ移動条件を検出するステップと、
前記複数のデスクトップ表面から、少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を決定するステップと、
前記第２の物理的なディスプレイ上に、少なくとも前記第２の物理的なディスプレイに関連付けられた前記決定されたデスクトップ表面を表示させるステップと、をさらに含む、請求項１に記載の方法。
【請求項８】
少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへのディスプレイ移動条件を検出し、
前記第１の物理的なディスプレイ上の複数のデスクトップ表面のそれぞれへのアクセスを可能にするように、前記第２の物理的なディスプレイに関連付けられたデスクトップ表面を少なくとも備える複数のデスクトップ表面の合成を制御するように動作可能なドライバ論理を備える、装置。
【請求項９】
前記複数のデスクトップ表面を少なくとも１つの３次元のディスプレイオブジェクトへ合成するように動作可能である合成論理をさらに備える、請求項８に記載の装置。
【請求項１０】
前記ドライバ論理は、
少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面の生成を制御し、
前記第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面の生成を制御するようにさらに動作可能であり、前記移動結果デスクトップ表面は、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを含む、請求項９に記載の装置。
【請求項１１】
前記合成論理を含む第１のプロセッサと、第２のプロセッサと、前記ドライバ論理を含む第３のプロセッサとをさらに備え、前記第１の物理的なディスプレイは、少なくとも前記第１のプロセッサに動作可能に接続されており、前記第２の物理的なディスプレイは、少なくとも前記第２のプロセッサに動作可能に接続されており、
前記ドライバ論理は、
前記第２の物理的なディスプレイに関連付けられた少なくとも１つのアプリケーションによって前記第２のプロセッサに送信された描画コマンドを少なくともインターセプトし、
前記インターセプトされた描画コマンドを前記第１のプロセッサへ送信するようにさらに動作可能である、請求項９に記載の装置。
【請求項１２】
前記ドライバ論理は、
前記第１のプロセッサによって、前記描画コマンドに基づいて少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面が生成されることを制御し、
前記第１のプロセッサによって、前記第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面が生成されることを制御するようにさらに動作可能であり、前記移動結果デスクトップ表面は、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを含む、請求項１１に記載の装置。
【請求項１３】
前記ドライバ論理は、
前記第１の物理的なディスプレイ上に、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを提示させ、
前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトからのデスクトップ表面の選択に応答して、前記第１の物理的なディスプレイ上または第３の物理的なディスプレイ上に前記選択されたデスクトップ表面を表示させるようにさらに動作可能であり、
前記装置は、前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトから前記デスクトップ表面の前記選択を提示する入力を受信するように動作可能である構成論理をさらに備え、前記３次元のディスプレイオブジェクトは、前記３次元のディスプレイオブジェクトの異なる表面上において前記複数のデスクトップ表面を含む、請求項９に記載の装置。
【請求項１４】
前記ドライバ論理は、
前記第１の物理的なディスプレイから少なくとも前記第２の物理的なディスプレイへのディスプレイ移動条件を検出し、
前記複数のデスクトップ表面から少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を決定し、
前記第２の物理的なディスプレイ上において少なくとも前記第２の物理的なディスプレイに関連付けられた前記決定されたデスクトップ表面を表示させるようにさらに動作可能である、請求項８に記載の装置。
【請求項１５】
複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法であって、
少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへのディスプレイ移動条件に応答して、前記第１の物理的なディスプレイ上に、複数のデスクトップ表面から合成された少なくとも１つの３次元のディスプレイオブジェクトを提示させるステップであって、前記複数のデスクトップ表面は、少なくとも前記第２の物理的なディスプレイに関連付けられたデスクトップ表面を備えるステップと、
前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトからデスクトップ表面の選択を表す入力を受信するステップであって、前記３次元のディスプレイオブジェクトは、前記３次元のディスプレイオブジェクトの異なる表面上において前記複数のデスクトップ表面を含むステップと、
前記デスクトップ表面の前記選択に応答して、前記第１の物理的なディスプレイ上または第３の物理的なディスプレイ上に前記選択されたデスクトップ表面を表示させるステップと、を含む、方法。
【請求項１６】
前記選択されたデスクトップ表面はフルスクリーンモードで表示される、請求項１５に記載の方法。
【請求項１７】
前記３次元のディスプレイオブジェクトは回転ドアオブジェクトを含む、請求項１５に記載の方法。
【請求項１８】
少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへのディスプレイ移動条件に応答して、前記第１の物理的なディスプレイ上に、少なくとも前記第２の物理的なディスプレイに関連付けられたデスクトップ表面を備える複数のデスクトップ表面から合成された少なくとも１つの３次元のディスプレイオブジェクトを提示させ、
前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトからの前記デスクトップ表面の選択に応答して、前記第１の物理的なディスプレイ上または第３の物理的なディスプレイ上に前記選択されたデスクトップ表面を表示させるように動作可能である、ドライバ論理と、
前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトから前記デスクトップ表面の前記選択を表す入力を受信するように動作可能な構成論理であって、前記３次元のディスプレイオブジェクトは、前記３次元のディスプレイオブジェクトの異なる表面上において前記複数のデスクトップ表面を含む構成論理と、
を備える、装置。
【請求項１９】
前記選択されたデスクトップ表面はフルスクリーンモードで表示される、請求項１８に記載の装置。
【請求項２０】
前記３次元のディスプレイオブジェクトは回転ドアオブジェクトを含む、請求項１８に記載の装置。
【請求項２１】
実行可能な命令を含むコンピュータ可読記憶媒体であって、１つ以上のプロセッサによって実行される際に、前記１つ以上のプロセッサに、
少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへのディスプレイ移動条件を検出させ、
前記第１の物理的なディスプレイ上の前記複数のデスクトップ表面のそれぞれへのアクセスを可能にするように複数のデスクトップ表面の合成を制御させる命令を含み、前記複数のデスクトップ表面は少なくとも前記第２の物理的なディスプレイに関連付けられたデスクトップ表面を備える、コンピュータ可読記憶媒体。
【請求項２２】
前記複数のデスクトップ表面は、少なくとも１つの３次元のディスプレイオブジェクトに合成される、請求項２１に記載のコンピュータ可読記憶媒体。
【請求項２３】
１つ以上のプロセッサによって実行される際に、前記１つ以上のプロセッサに、
少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を生成させ、
前記第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面を生成させる、実行可能な命令をさらに含み、前記移動結果デスクトップ表面は、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを含む、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２４】
前記第１の物理的なディスプレイは、少なくとも第１のプロセッサに動作可能に接続されており、前記第２の物理的なディスプレイは、少なくとも第２のプロセッサに動作可能に接続されており、１つ以上のプロセッサによって実行される際に、前記１つ以上のプロセッサに、
前記第２の物理的なディスプレイに関連付けられた少なくとも１つのアプリケーションによって前記第２のプロセッサに送信された描画コマンドを少なくともインターセプトさせ、
前記インターセプトされた描画コマンドを前記第１のプロセッサへ送信させる、実行可能な命令をさらに含む、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２５】
１つ以上のプロセッサによって実行される際に、前記１つ以上のプロセッサに、
前記第１のプロセッサによって、前記描画コマンドに基づいて少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を生成させ、
前記第１のプロセッサによって、前記第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面であって、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを含む移動結果デスクトップ表面を生成させる、実行可能な命令をさらに含む、請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２６】
１つ以上のプロセッサによって実行される際に、前記１つ以上のプロセッサに、
前記第１の物理的なディスプレイ上に、前記複数のデスクトップ表面から合成された前記少なくとも１つの３次元のディスプレイオブジェクトを提示させ、
前記第１の物理的なディスプレイ上に提示された前記少なくとも１つの３次元のディスプレイオブジェクトからのデスクトップ表面の選択を表す入力を受信させ、前記３次元のディスプレイオブジェクトは、前記３次元のディスプレイオブジェクトの異なる表面上において前記複数のデスクトップ表面を含み、
前記デスクトップ表面の前記選択に応答して、前記第１の物理的なディスプレイ上または第３の物理的なディスプレイ上に前記選択されたデスクトップ表面を表示させる、実行可能な命令をさらに含む、請求項２２に記載のコンピュータ可読記憶媒体。
【請求項２７】
１つ以上のプロセッサによって実行される際に、前記１つ以上のプロセッサに、
前記第１の物理的なディスプレイから少なくとも前記第２の物理的なディスプレイへのディスプレイ移動条件を検出させ、
前記複数のデスクトップ表面から、少なくとも前記第２の物理的なディスプレイに関連付けられた前記デスクトップ表面を決定させ、
前記第２の物理的なディスプレイ上に、少なくとも前記第２の物理的なディスプレイに関連付けられた前記決定されたデスクトップ表面を表示させる、実行可能な命令をさらに含む、請求項２１に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ディスプレイ移動を適合させるための方法および装置に関し、特に、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法および装置に関する。
【背景技術】
【０００２】
デスクトップコンピュータおよびラップトップコンピュータ等のコンピュータシステムは、複数の物理的なディスプレイを駆動できる１つまたは複数のグラフィックプロセッサ（例えばＧＰＵ、グラフィック処理装置）を有することが知られている。特定の状況において、多くの場合、コンピュータシステム上で実行する全てのアプリケーションのディスプレイコンテンツを保存し、物理的なディスプレイのいくつかまたは全てに提示されるディスプレイコンテンツを、１つまたは複数の物理的なディスプレイにまとめることが望ましい。例えば、物理的なディスプレイのいくつかは、物理的なディスプレイを駆動する電力供給の低減を生じさせる、コンピュータシステムの電源がＡＣ電源からＤＣ電源へ変化する際に切断されてもよい。別の例では、１つのグラフィックプロセッサによって駆動される物理的なディスプレイのいくつかまたは全ては、コンピュータシステムがより少ない物理的なディスプレイをサポートする別のグラフィックプロセッサに切り替える際に、切断されてもよい。
【０００３】
これらの状況に応答して、公知のコンピュータシステムは切断された物理的なディスプレイに関連付けられたデスクトップ表面を失うため、切断された物理的なディスプレイ上に以前に提示されていた全てのディスプレイコンテンツを保存することができない。デスクトップ表面とは、関連付けられた物理的なディスプレイ上に提示される全てのディスプレイコンテンツを提示する、フレームバッファ内のメモリの一部内のコンテンツである。例えば、いくつかのコンピュータシステムは、切断された物理的なディスプレイに関連付けられたデスクトップ表面の損失を無視するため、切断された物理的なディスプレイ上の全てのディスプレイコンテンツを失う。
【０００４】
他のコンピュータシステムにおいて、切断された物理的なディスプレイに関連付けられたデスクトップ表面は物理的なディスプレイの切断のために失われ、例えば、ウィンドウマネジャーおよび／またはオペレーティングシステムは、物理的なディスプレイの切断を認識し、残りの（接続されている）物理的なディスプレイ上に直接表示される切断された物理的なディスプレイ上に、以前に示されていたアプリケーションを再構成する。この場合の一例において、切断された物理的なディスプレイ上に以前に示されていたアプリケーションは、次に、残りの物理的なディスプレイの既存のディスプレイコンテンツに加えて、複数の２次元ウィンドウとして表示される。残りの物理的なディスプレイのディスプレイ領域に適合させるために、例えば、切断された物理的なディスプレイのディスプレイコンテンツは、歪められたウィンドウ（例えば、切断された物理的なディスプレイ上の特定のアプリケーションのディスプレイコンテンツの全く同じレイアウトが、新しい画面において維持されるわけではない）または低減されたウィンドウに提示されるよう、ウィンドウマネジャーおよび／またはオペレーティングシステムによって再構成されてもよい、あるいは互いの（例えば積層されたウィンドウ）間に重複されるウィンドウ上に表示されてもよい。あるいは、アプリケーションの全ておよび現在では切断されている物理的なディスプレイ上に表示される他のコンテンツが残りの物理的なディスプレイに伝送されることにより、秩序が失われ、混乱が生じ、ウィンドウおよび／またはアイコンの重複が生じる場合がある。特に、再構成のためにいくつかのアプリケーションがクラッシュする可能性があり、一定のディスプレイコンテンツ、例えば切断された物理的なディスプレイに関連付けられたデスクトップ表面のデスクトップバックグラウンドが、残りの物理的なディスプレイ上に示されない可能性がある。換言すると、切断された物理的なディスプレイに関連付けられたデスクトップ表面の損失のために、切断された物理的なディスプレイの元のディスプレイコンテンツを、これらのコンピュータシステムにおいて、残りの物理的なディスプレイ上に完全および正確に保存することができない。
【０００５】
Ｃｏｍｐｉｚ、Ｄｅｓｋｔｏｐ  Ｗｉｎｄｏｗ  Ｍａｎａｇｅｒ、Ｑｕａｒｔｚ  Ｃｏｍｐｏｓｉｔｏｒ、Ｍｅｔａｃｉｔｙ、およびＫＷｉｎ等の、しかしこれらに限定されない合成ウィンドウマネジャーが、ウィンドウの表示方法、および、互いにならびにデスクトップ環境の残りと相互作用する方法を制御するコンピュータシステムのグラフィカルユーザインターフェース（ＧＵＩ）の構成要素として、当該技術において公知である。共通の画面へアプリケーションの全てのディスプレイコンテンツを出力する代わりに、典型的に、合成ウィンドウマネジャーは、まずは、表示前に操作されることができる、別々のおよび独立したバッファ、またはコンピュータのメモリ内の他の一時的な位置に各アプリケーションのディスプレイコンテンツを出力する。次いで、合成ウィンドウマネジャーは、これらの別々のバッファから共通のデスクトップへ出力を処理および組み合わせる、または合成する。その結果、そのディスプレイコンテンツは独立したオブジェクトとして挙動する。しかしながら、合成ウィンドウマネジャーによって扱われるウィンドウまたはディスプレイコンテンツは、異なる物理的なディスプレイに関連付けられた異なるデスクトップ表面とは反対に、同じ物理的なディスプレイの異なる仮想デスクトップである。そのため、切断された物理的なディスプレイ上で以前に示されていたディスプレイコンテンツは、合成ウィンドウマネジャーの動作によって、残りの物理的なディスプレイに移動することはできない。
【０００６】
したがって、上記の短所のうちの１つ以上を解決するために、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための改善された方法および装置が求められている。
【０００７】
下の図面に付記されている以下の記載を参照することにより、本実施形態がより容易に理解されるであろう。説明中、同様の参照数字は同様の要素を表す。
【図面の簡単な説明】
【０００８】
【図１】本開示に記載されている一実施形態に従う、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための装置の一例を示すブロック図である。
【図２】本開示に記載されている一実施形態に従う、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法の一例を示すフローチャートである。
【図３】複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法の別の例を示すフローチャートである。
【図４】複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法のさらに別の例を示すフローチャートである。
【図５】図１に示された複数の物理的なディスプレイの間のディスプレイ移動を適合させるための装置を示すブロック図である。
【図６】本開示に記載されている一実施形態に従う、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法の一例を示すフローチャートである。
【図７】第１の物理的なディスプレイ上に表示される３次元のディスプレイオブジェクトの一例の図である。
【図８】第１の物理的なディスプレイ上に表示される図７に示されたデスクトップ表面の一例の図である。
【図９】第１の物理的なディスプレイ上に表示される３次元のディスプレイオブジェクトの別の例の図である。
【図１０】第１の物理的なディスプレイ上に表示される図９に示されたデスクトップ表面の一例の図である。
【図１１】第３の物理的なディスプレイ上に表示される図９に示されたデスクトップ表面の一例の図である。
【図１２】本開示に記載されている一実施形態に従う、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための装置の一例を示すブロック図である。
【図１３】図１２に示された複数の物理的なディスプレイの間のディスプレイ移動を適合させるための装置を示すブロック図である。
【発明を実施するための形態】
【０００９】
簡潔に言うと、一例において、本開示は、１つ以上の物理的なディスプレイの切断等のディスプレイ移動条件に応答して、残りの物理的なディスプレイ上のデスクトップ表面のそれぞれ１つのアクセスを可能にするように、切断された物理的なディスプレイに関連付けられた複数のデスクトップ表面の合成を制御する方法および装置を提供する。このため、切断された物理的なディスプレイの任意の１つの全てのディスプレイコンテンツを完全に保存することができる。
【００１０】
一例において、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法および装置は、少なくとも第２の物理的なディスプレイから第１の物理的なディスプレイへの、１つ以上の物理的なディスプレイの切断、電源の変更、ディスプレイ移動をリクエストするユーザ入力または任意の適した条件等のディスプレイ移動条件を検出する。次いで、方法および装置は、第１の物理的なディスプレイ上の複数のデスクトップ表面のそれぞれ１つのアクセスを可能にするように、複数のデスクトップ表面の合成を制御する。複数のデスクトップ表面は、少なくとも第２の物理的なディスプレイに関連付けられたデスクトップ表面を含む。デスクトップ表面は、関連付けられた物理的なディスプレイ上に提示される全てのディスプレイコンテンツを表す、フレームバッファ内のメモリの一部内のコンテンツである。一例において、複数のデスクトップ表面は、少なくとも１つの３次元のディスプレイオブジェクトに合成されてもよい。３次元のディスプレイオブジェクトは、回転ドアオブジェクトまたは他の３次元の形状あるいはオブジェクト（例えば立方体オブジェクト）を含むが、これらに限定されない。
【００１１】
一実施形態では、方法および装置は、少なくとも第２の物理的なディスプレイに関連付けられたデスクトップ表面を生成してもよく、さらに第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面を生成してもよい。移動結果デスクトップ表面は、複数のデスクトップ表面から合成される少なくとも１つの３次元のディスプレイオブジェクトを含む。
【００１２】
別の実施形態では、第１の物理的なディスプレイは、少なくとも第１のプロセッサに動作可能に接続され、第２の物理的なディスプレイは、少なくとも第２のプロセッサに動作可能に接続される。本方法および装置は、（例えば第２のプロセッサ上で実行する）第２の物理的なディスプレイに関連付けられた少なくとも１つのアプリケーションによって少なくとも第２のプロセッサに送信される描画コマンドをインターセプトし、インターセプトされた描画コマンドを第１のプロセッサへ送信してもよい。第２のプロセッサによって第２の物理的なディスプレイ上でアプリケーションのディスプレイコンテンツを提示することが意図されている描画コマンドは、第１のプロセッサにリダイレクトされる。方法および装置は、第１のプロセッサによって、描画コマンドに基づいて、少なくとも第２の物理的なディスプレイに関連付けられたデスクトップ表面をさらに生成し、さらに、（例えば第１の物理的なディスプレイ上に表示される）第１の物理的なディスプレイに関連付けられた移動結果デスクトップ表面を生成してもよい。移動結果デスクトップ表面は、複数のデスクトップ表面から合成される少なくとも１つの３次元のディスプレイオブジェクトを含む。
【００１３】
さらに別の実施形態では、方法および装置は、第１の物理的なディスプレイから少なくとも第２の物理的なディスプレイへのディスプレイ移動条件を検出してもよい。ディスプレイ移動条件は、１つ以上の物理的なディスプレイ（例えば第２の物理的なディスプレイ）の再接続等の逆のディスプレイ移動条件、または第１の物理的なディスプレイから少なくとも第２の物理的なディスプレイへの任意の適した逆のディスプレイ移動条件である。方法および装置は、複数のデスクトップ表面から少なくとも第２の物理的なディスプレイに関連付けられたデスクトップ表面を決定してもよい。決定されたデスクトップ表面は、逆のディスプレイ移動条件の検出前に第２の物理的なディスプレイに関連付けられる。方法および装置は、さらに、第２の物理的なディスプレイ上に、少なくとも第２の物理的なディスプレイに関連付けられた決定されたデスクトップ表面を表示させてもよい。
【００１４】
さらに別の実施形態では、方法および装置は、第１の物理的なディスプレイ上に、複数のデスクトップ表面から合成された少なくとも１つの３次元のディスプレイオブジェクトを提示させてもよい。方法および装置は、さらに、第１の物理的なディスプレイ上に提示される少なくとも１つの３次元のディスプレイオブジェクトからデスクトップ表面の選択を表す入力を受信してもよい。３次元のディスプレイオブジェクトは、３次元のディスプレイオブジェクトの異なる表面上の複数のデスクトップ表面を含む。デスクトップ表面の選択に応答して、方法および装置は、第１の物理的なディスプレイまたは第３の物理的なディスプレイ上に選択されたデスクトップ表面をさらに表示させてもよい。選択されたデスクトップ表面は、フルスクリーンモードまたは任意の適したモードで表示されてもよい。
【００１５】
他の利点と比較しても特に、複数の物理的ディスプレイの間のディスプレイ移動を適合させるための方法および装置は、低減されたシステム電源等の種々の理由のために１つ以上の物理的なディスプレイが切断される場合に、切断された物理的なディスプレイに関連付けられたデスクトップ表面を維持および合成することにより、切断された物理的なディスプレイ上に以前に表示されていた全ての元のディスプレイコンテンツを完全に保存することができる機能を提供する。さらに、デスクトップ表面は、残りの物理的なディスプレイ上でユーザに表示される、３次元のディスプレイオブジェクト等のディスプレイオブジェクトに合成でき、これにより、ユーザはディスプレイオブジェクトによってデスクトップ表面のそれぞれ１つをプレビューし、フルスクリーンモードまたは任意の他の適したモードで表示される保存されたデスクトップ表面のうちの１つを選択できるため、ユーザにとって、ユーザが切り替えたいデスクトップ表面（つまり関連付けられた切断された物理的なディスプレイのディスプレイコンテンツ）を識別することがより容易である。さらに、ディスプレイ移動は、複数のグラフィックプロセッサから単一のグラフィックプロセッサへの切り替えおよび同じグラフィックプロセッサによって駆動される複数の物理的なディスプレイの間の切り替えを伴ってもよい。他の利点も当業者によって理解されよう。
【００１６】
図１は、複数の物理的なディスプレイ１０２〜１０８（つまり第１の物理的なディスプレイ１０２、第２の物理的なディスプレイ１０４、第３の物理的なディスプレイ１０６、および第４の物理的なディスプレイ１０８）および複数の物理的なディスプレイ１０２〜１０８の間のディスプレイ移動を適合させるための装置１１０を含む、システム１００の一例を示す。システム１００は、任意の適したデバイス、例えば、ラップトップコンピュータ、デスクトップコンピュータ、メディアセンター、ハンドヘルドデバイス（例えば携帯またはスマートフォン、タブレット等）、Bｌｕ−ｒａｙ（登録商標）プレーヤ、ゲームコンソール、セットトップボックスまたは任意の他の適したデバイスであってもよい。この例において、システム１００は、複数の物理的なディスプレイ１０２〜１０８、第１のフレームバッファ１１４に動作可能に接続される第１のプロセッサ１１２、第２のフレームバッファ１１８に動作可能に接続される第２のプロセッサ１１６、およびシステムメモリ１２２に動作可能に接続される第３のプロセッサ１２０を採用するデスクトップコンピュータ等のコンピュータシステムとして記載される。システム１００は、所望の場合には、マウス、キーパッド、キーボード、カメラ、リモートコントローラまたは任意の他の適したデバイス等の入力デバイス１２４、およびアナログディスプレイコネクタ等の複数のディスプレイコネクタ１２６〜１３２（つまり第１のディスプレイコネクタ１２６、第２のディスプレイコネクタ１２８、第３のディスプレイコネクタ１３０、第４のディスプレイコネクタ１３２）、例えば、コンポジットビデオ、Ｓ−Ｖｉｄｅｏ、ＶＧＡ、デジタルディスプレイコネクタ、例えば、ＨＤＭＩ（登録商標）、ミニＤＶＩ、マイクロＤＶＩ、ワイヤレスコネクタあるいは任意の他の適したコネクタも含んでもよい。システム１００は、システムバス１３４等のその構成要素のそれぞれの間でデータを伝送するデータバスまたはポイントトゥポイント接続も含んでもよい。記憶デバイスおよびコントローラ（図示せず）等であるがこれらに限定されないいずれの他の適した構成要素も、システム１００に含まれてもよい。
【００１７】
一例において、第１のプロセッサ１１２は、第１のディスプレイコネクタ１２６を介して第１の物理的なディスプレイ１０２のみを駆動する統合されたグラフィックプロセッサであり、第２のプロセッサ１１６は、それぞれ、第２、第３、および第４のディスプレイコネクタ１２８〜１３２を介して、第２、第３、および第４の物理的なディスプレイ１０４〜１０８を駆動する個別のグラフィックプロセッサである。第１のディスプレイコネクタ１２６は、システム１００の内部にあってもよく、第１の物理的なディスプレイ１０２は、システム１００の一部、例えば、ラップトップコンピュータまたは携帯電話等の携帯デバイスの一部を形成するディスプレイを形成してもよい。とはいえ、それぞれのプロセッサが駆動する物理的なディスプレイの数は様々であってもよい、およびグラフィックプロセッサの種類は様々であってもよいことが理解される。第３のプロセッサ１２０は、システムメモリ１２２に双方向に接続されたホスト中央処理装置（ＣＰＵ）であってもよく、当該技術において公知であるように、システムバス１３４または任意の他の適したプロセッサを介してシステム１００の他の構成要素に双方向に接続されてもよい。第１、第２、および第３のプロセッサ１１２、１１６、および１２０は、汎用プロセッサ（例えばＡＰＵ、すなわち加速処理装置、ＧＰＧＰＵ、すなわちＧＰＵ上の汎用コンピューティング）として統合されてもよい、または第３のプロセッサ（例えばＣＰＵ）１２０は、汎用プロセッサを形成するために、第１のプロセッサ１１２あるいは第２のプロセッサ１１６と統合されてもよいことが理解される。図１に第１のフレームバッファ１１４、第２のフレームバッファ１１８、およびシステムメモリ１２２が個別のメモリデバイスとして示されているが、全てのプロセッサに対応できる統一化されたメモリアーキテクチャも採用してもよいことが理解される。
【００１８】
第３のプロセッサ１２０は、ドライバ論理１３６および構成論理１３８を採用してもよく、第１のプロセッサ１１２は、合成論理１４０を採用してもよい。本明細書で称される「論理」は、例えば、プログラムされたプロセッサ、個別の論理、例えば、ステートマシン等の所望の機能を実行できる任意の適した実行中のソフトウェアモジュール、ハードウェア、実行中のファームウェアまたはその任意の適した組み合わせとして定義される。ドライバ論理１３６および構成論理１３８は、第３のプロセッサ１２０に動作可能に結合され、合成論理１４０は第１のプロセッサ１１２に動作可能に結合される。ドライバ論理１３６および構成論理１３８は、第３のプロセッサ１２０の一部として第３のプロセッサ１２０内に含まれてもよい、または第３のプロセッサ１２０に動作可能に接続される装置１１０および／またはシステム１００の個別の構成要素は、装置１１０にロードできるコンピュータ可読媒体上に格納されるドライバソフトウェア等の第３のプロセッサ１２０によって実行できることが理解される。合成論理１４０についても同様である。ドライバ論理１３６、構成論理１３８、および合成論理１４０は、システムバス１３４および／または当該技術において公知の他の適した通信構成要素を介して、互いに動作可能および双方向に結合される。上述のように、第１、第２、および第３のプロセッサ１１２、１１６、１２０は、汎用プロセッサ（例えばＡＰＵ、すなわち加速処理装置、ＧＰＧＰＵ、すなわちＧＰＵ上の汎用コンピューティング）として統合されてもよい、または第３のプロセッサ（例えばＣＰＵ）１２０は、汎用プロセッサを形成するために、第１のプロセッサ１１２あるいは第２のプロセッサ１１６と統合されてもよい。これらの場合、ドライバ論理１３６、構成論理１３８、および合成論理１４０は、汎用プロセッサの一部であってもよい、または汎用プロセッサに結合され、汎用プロセッサによって実行されてもよい。
【００１９】
図２は、本開示の一実施形態に従う、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法の一例を示す。これは、図１を参照して記載される。しかしながら、任意の適した論理または構造が採用されてもよい。動作時に、ドライバ論理１３６は、ブロック２００において、少なくとも第２の物理的なディスプレイ１０４から第１の物理的なディスプレイ１０２へのディスプレイ移動条件を検出する。ディスプレイ移動条件は、例えば、システム１００からの１つ以上の物理的なディスプレイ１０２〜１０８の切断、外部ＡＣ電源からＤＣバッテリ電源等への電源の切り替えによって生じるシステム１００の低減された電源を含んでもよい。ディスプレイ移動条件は、第２のプロセッサ１１６から第１のプロセッサ１１２へのグラフィックプロセッサの切り替えのためのユーザリクエストも含んでもよい。例の説明の便宜上、本明細書に称されるディスプレイ移動条件は、少なくとも第２の物理的なディスプレイ１０４から第１の物理的なディスプレイ１０２への移動のリクエストである。ドライバ論理１３６は、当該技術において任意の公知の技術によって物理的な移動条件を検出してもよい。例えば、バッテリおよびＡＣ電源は、システムバス１３４を介して第３のプロセッサ（例えばＣＰＵ）１２０に接続する任意の適した検出器によって監視されてもよい。電力移動条件が生じると、ＣＰＵ１２０は、割り込みによって検出器から監視された条件を受信し、高度な構成および電力インターフェース（ＡＣＰＩ）仕様に従って、通知イベントとしてドライバ論理１３６に送る。別の例において、ドライバ論理１３６は、入力デバイス１２４を介してディスプレイ移動リクエストを示すユーザのインタラクティブな入力を受信する、構成論理１３８からのディスプレイ移動の通知を受信する。さらに別の例において、ユーザは、ディスプレイ移動を生じさせるようにタイマを開始するための、構成論理１３８による事前定義された条件を設定する。次いで、構成論理１３８は、事前定義された条件が生じた後で、ドライバ論理１３６にディスプレイ移動の通知を送る。
【００２０】
少なくとも第２の物理的なディスプレイ１０４から第１の物理的なディスプレイ１０２へのディスプレイ移動条件の検出に応答して、ブロック２０２において、ドライバ論理１３６は、第１の物理的なディスプレイ１０２上のデスクトップ表面のそれぞれ１つのアクセスを可能にするように、複数のデスクトップ表面を合成（集約）するために、合成論理１４０にコマンドを送ることにより、合成論理１４０を制御する。例えば、合成論理１４０は、ドライバ論理１３６から受信したコマンドに応答して、複数のデスクトップ表面を１つ以上のディスプレイオブジェクトに合成してもよい。ディスプレイオブジェクトは、２次元（２Ｄ）ディスプレイオブジェクトまたは３次元（３Ｄ）ディスプレイオブジェクトであってもよいが、これらに限定されない。好適な例において、ディスプレイオブジェクトは１つ以上の３次元ディスプレイオブジェクト１４２である。３次元ディスプレイオブジェクト１４２は、いくつかの例を挙げると、回転ドアオブジェクトまたは他の３次元の形状またはオブジェクト（例えば立方体オブジェクト）等であるがこれらに限定されない任意の適したオブジェクトを含んでもよい。この例において、３次元ディスプレイオブジェクト１４２は、（さらに図５を参照して）３次元ディスプレイオブジェクト１４２の異なる表面上の複数のデスクトップ表面５０４、５０６、５１６、５２０を含む。特に、３次元ディスプレイオブジェクト１４２は、少なくともシステム１００から切断される第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面（ＤＳ２）５０４であるデスクトップ表面を含む。本明細書で称されるデスクトップ表面は、関連付けられた物理的なディスプレイ上に提示される全てのディスプレイコンテンツを表すフレームバッファ内のメモリの一部内のコンテンツである。デスクトップ表面は、３次元ディスプレイオブジェクト１４２の表面の特殊なテクスチャとして表示される。別の例において、複数のデスクトップ表面は、２次元ビュー（例えば横並び）または３次元ビュー（例えば３次元の積層）で合成される複数の独立した２次元ディスプレイオブジェクトの表面にマップされてもよい。
【００２１】
本開示に記載される例示的な一実施形態において、少なくとも第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４および第１の物理的なディスプレイ１０２に関連付けられた第１のデスクトップ表面（ＤＳ１）５０６は、ドライバ論理１３６によって制御される合成論理１４０を用いて、ブロック２０２において合成される。ブロック２０２は、図３および５にも示される。
【００２２】
図３および５を参照すると、ブロック２００におけるディスプレイ移動条件の検出に応答して、ドライバ論理１３６は、ブロック３００において、第２の物理的なディスプレイ１０４に関連付けられた少なくとも１つのアプリケーション５００によって、少なくとも第２のプロセッサ１１６に送信される描画コマンド５０２をインターセプトする。前述のように、例の説明の便宜上、この例では第２の物理的なディスプレイ１０４のみを記載する。図５に示されるように、第２の物理的なディスプレイ１０４に関連付けられたアプリケーション５００は、システム１００上で実行し、そのディスプレイコンテンツが第２の物理的なディスプレイ１０４上に提示される任意のソフトウェアプログラムであってもよい。アプリケーションは、ユーザアプリケーションまたは関連付けられた物理的ディスプレイ上に提示されるそれ自体のディスプレイコンテンツを有する任意のプログラムであってもよい。一例において、アプリケーション５００のうちの１つは写真のディスプレイソフトウェアであってもよく、そのディスプレイコンテンツは、第２の物理的なディスプレイ１０４上に提示される写真のウィンドウである。別の例において、アプリケーション５００のうちの１つは、第２の物理的なディスプレイ１０４上のデスクトップバックグラウンドを表すプログラムであってもよい。ブロック２００におけるディスプレイ移動条件の検出前に、アプリケーション５００のそれぞれ１つは、第２のフレームバッファ１１８において、第２の物理的なディスプレイ１０４上の表示が意図された全てのアプリケーション５００に対応する全てのディスプレイコンテンツを含むデスクトップ表面５０４を描画するために、第２のプロセッサ１１６に描画コマンド５０２を送信する。第２のプロセッサ１１６は、第２の物理的なディスプレイ１０４上にデスクトップ表面５０４を表示する。
【００２３】
ディスプレイ移動条件の検出に応答して、ブロック３００において、ドライバ論理１３６は、描画コマンド５０２をインターセプトし、ブロック３０２において、インターセプトされた描画コマンド５０２を第１のプロセッサ１１２へ送信する。第２のプロセッサ１１６によって第２の物理的なディスプレイ１０４上にアプリケーション５００のディスプレイコンテンツを提示することを意図された描画コマンド５０２が、第１のプロセッサ１１２にリダイレクトされる。好ましくは、第２の物理的なディスプレイ１０４に関連付けられた全ての描画コマンド５０２は、切断された第２の物理的なディスプレイ１０４の全てのディスプレイコンテンツを保存するために、第１のプロセッサ１１２にリダイレクトされる。
【００２４】
ブロック３０４において、ドライバ論理１３６は、第１のフレームバッファ１１４内の第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４を生成するために、第１のプロセッサ１１２を制御する。換言すると、第２の物理的なディスプレイ１０４の元のディスプレイコンテンツが、第１のフレームバッファ１１４に再びマップされる。この例示的な実施形態では、第１のプロセッサ１１２は、さらに、第１の物理的なディスプレイ１０２に関連付けられた第１のデスクトップ表面５０６を生成する。第１のデスクトップ表面５０６は、第１の物理的なディスプレイ１０２に関連付けられた全てのアプリケーション５０８の全てのディスプレイコンテンツを含む。
【００２５】
ブロック３０６において、第１のプロセッサ１１２に動作可能に結合される合成論理１４０は、第１のフレームバッファ１１４内の少なくとも第１および第２のデスクトップ表面５０６、５０４を、例えば、３次元ディスプレイオブジェクト１４２等の１つ以上のディスプレイオブジェクトに合成する。合成は、いずれの公知の技術によっても実行できる。例えば、第１のプロセッサ１１２によって３次元ワイヤフレームモデルが構築されてもよく、３次元レンダリングプロセスが、３次元ワイヤフレームモデルへの特殊なテクスチャとして第１のフレームバッファ１１４内に格納されるデスクトップ表面５０４、５０６を露出および割り当てるために実行される。３次元ディスプレイオブジェクト１４２を生成するために、反射、陰影付け、移動および投影等のさらなる３次元レンダリングプロセスも実行されてもよい。前述のように、少なくとも第１および第２のデスクトップ表面５０６、５０４を１つ以上の３次元ディスプレイオブジェクトに合成することが望ましいが、第１および第２のデスクトップ表面５０６、５０４を、複数の独立した２次元ディスプレイオブジェクトの表面にマップしてもよい。複数の独立した２次元ディスプレイオブジェクトは、特殊なテクスチャとして、２次元または３次元ワイヤフレームモデルに合成されてもよい。
【００２６】
加えて、ブロック３０８において、ドライバ論理１３６は、第１のフレームバッファ１１４内の第１の物理的なディスプレイ１０２に関連付けられた移動結果デスクトップ表面５１０を生成するために第１のプロセッサ１１２を制御する。移動結果デスクトップ表面５１０は、ブロック３０６において合成された３次元ディスプレイオブジェクト１４２を含む。随意に、移動結果デスクトップ表面５１０は、バックグラウンドとして３次元ディスプレイオブジェクト１４２の下に配置される第１のデスクトップ表面５０６も含んでもよい。他の例において、移動結果デスクトップ表面５１０は、バックグラウンドとして第１のデスクトップ表面５０６を含まなくてもよいが、代わりに、ユーザによって選択される任意の他のバックグラウンドを含んでもよい、またはバックグラウンドを全く含まなくてもよい。
【００２７】
本開示に記載される別の例示的な実施形態において、第２の物理的なディスプレイ１０４に加えて、第３の物理的なディスプレイ１０６がさらに切断され、このため、第３の物理的なディスプレイ１０６のディスプレイコンテンツも保存される必要がある。したがって、少なくとも第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４および第３の物理的なディスプレイ１０６に関連付けられた第３のデスクトップ表面（ＤＳ３）５１６は、ドライバ論理１３６によって制御される合成論理１４０を用いて、ブロック２０２において合成される。以前の例示的な実施形態とは反対に、この例示的な実施形態において、第１の物理的なディスプレイ１０２に関連付けられた第１のデスクトップ表面５０６を合成することは不要である。
【００２８】
ブロック２００において、ドライバ論理１３６は、少なくとも第２および第３の物理的なディスプレイ１０４、１０６から第１の物理的なディスプレイ１０２へのディスプレイ移動条件を検出する。この例示的な実施形態では、ドライバ論理１３６は、次いで、ブロック２０２において、第１の物理的なディスプレイ１０２上の少なくとも第２および第３のデスクトップ表面５０４、５１６へのアクセスを可能にするように、少なくとも第２および第３のデスクトップ表面５０４、５１６を合成するために、コマンドを合成論理１４０へ送信することにより、合成論理１４０を制御する。
【００２９】
図３および５を参照すると、ブロック３００において、ドライバ論理１３６は、それぞれ、少なくとも第２および第３の物理的なディスプレイ１０４、１０６に関連付けられたアプリケーション５００、５１２によって少なくとも第２のプロセッサ１１６に送信された描画コマンド５０２、５１４をインターセプトする。この例示的な実施形態では、第２の物理的なディスプレイ１０４に関連付けられたアプリケーション５００によって送信される描画コマンド５０２に加えて、第３の物理的なディスプレイ１０６に関連付けられたアプリケーション５１２によって送信される描画コマンド５１４はさらにドライバ論理１３６によってインターセプトされ、ブロック３０２において第１のプロセッサ１１２にさらに送信される。ブロック３０４において、ドライバ論理１３６は次いで、描画コマンド５０２、５１４に基づいて、第１のフレームバッファ１１４において少なくとも第２および第３のデスクトップ表面５０４、５１６を生成するために、第１のプロセッサ１１２を制御する。例えば、図５に示されるように、第２のデスクトップ表面５０４の生成に加えて、第１のプロセッサ１１２は、さらに、第３の物理的なディスプレイ１０６の全てのディスプレイコンテンツを有する第３のデスクトップ表面５１６を生成する。ブロック３０６において、合成論理１４０は、少なくとも第２のおよび第３のデスクトップ表面５０４、５１６を、例えば、３次元ディスプレイオブジェクト１４２に合成する。図５に示されるように、第４の物理的なディスプレイ１０８がシステム１００からさらに切断される場合、第４の物理的なディスプレイ１０８に関連付けられたアプリケーション５１８の全てのディスプレイコンテンツを含む第４のデスクトップ表面（ＤＳ４）５２０は、３次元ディスプレイオブジェクト１４２に同様に合成されてもよい。例の説明の便宜上、この例示的な実施形態には第２および第３の物理的なディスプレイ１０４、１０６のみが記載されている。ドライバ論理１３６は、ブロック３０８において、第１のプロセッサ１１２に、第１の物理的なディスプレイ１０２に関連付けられた移動結果デスクトップ表面５１０を生成させる。この例において、移動結果デスクトップ表面５１０は、この例示的な実施形態において、少なくとも第２および第３のデスクトップ表面５０４、５１６を含むが、第１のデスクトップ表面５０６を含まない３次元ディスプレイオブジェクト１４２を含む。
【００３０】
図４は、本開示の一実施形態に従う複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法の別の例を示す。この例において、１つ以上の以前に切断された物理的なディスプレイはシステム１００に再接続され、対応するデスクトップ表面は、対応する物理的なディスプレイにディスプレイコンテンツを回復させるために、再接続された物理的なディスプレイ上に表示される。
【００３１】
ブロック４００において、ドライバ論理１３６は、第１の物理的なディスプレイ１０２から少なくとも第２の物理的なディスプレイ１０４へのディスプレイ移動条件を検出する。ディスプレイ移動条件は、１つ以上の以前に切断された物理的なディスプレイ１０２〜１０８のシステム１００への再接続等の、ブロック２００における以前のディスプレイ移動条件の逆の条件である。ドライバ論理１３６は、以前に記載した同じ公知の技術によって逆のディスプレイ移動条件を検出してもよい。例えば、逆の電力移動条件が生じると、ＣＰＵ１２０は、割り込みによって検出器から監視された条件を受信し、次いで、ＡＣＰＩ仕様に従い、通知イベントとしてドライバ論理１３６にこれを送信する。この例において、少なくとも第２の物理的なディスプレイ１０４がシステム１００から切断されているため、および第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４が他のデスクトップ表面と合成されているため、逆のディスプレイ移動条件は、第２の物理的なディスプレイ１０４のシステム１００への再接続であってもよい。
【００３２】
ブロック４０２において、逆のディスプレイ移動条件の検出に応答して、ドライバ論理１３６は、デスクトップ表面、つまりこの例においては、合成された複数のデスクトップ表面５０４、５０６、５１６、５２０から第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４を決定する。ブロック２０２において、ドライバ論理１３６は、さらに、当該技術において公知の任意の適した技術を使用して、それぞれ生成されたデスクトップ表面およびその対応する物理的なディスプレイの間の全ての関連付け情報を追跡および保存することに留意されたい。例えば、かかる関連付けは、生成されたデスクトップ表面および対応する物理的なディスプレイの間のポインタ等のドライバ論理１３６により、論理リンクの確立によって実行されてもよい。デスクトップ表面の物理的なディスプレイ関連付け情報は、システムメモリ１２２内のログファイルまたはＣＰＵ１２０に動作可能に結合される記憶デバイスとして保存されてもよい。したがって、ブロック４０２において、ドライバ論理１３６は、検出された逆のディスプレイ移動条件を保存されたデスクトップ表面の物理的なディスプレイ関連付け情報と一致させることによって、回復すべきデスクトップ表面を決定できる。この例において、第２のデスクトップ表面５０４は、再接続された第２の物理的なディスプレイ１０４に以前に関連付けられるデスクトップ表面として、ドライバ論理１３６によって決定される。
【００３３】
ブロック４０４において、この例では第２のデスクトップ表面５０４である、再接続された物理的なディスプレイに関連付けられたデスクトップ表面の決定に応答して、ドライバ論理１３６は、第１のプロセッサ１１２に、再接続された物理的なディスプレイ上に決定されたデスクトップ表面を表示させる。この例において、第２のデスクトップ表面５０４は、再接続された第２の物理的なディスプレイ１０４上に表示される。このため、切断された第２の物理的なディスプレイ１０４の全てのディスプレイコンテンツが保存され、再接続された第２の物理的なディスプレイ１０４に再び移動される。方法および装置は、システム１００の１つよりも多い再接続された物理的なディスプレイを伴う逆のディスプレイ移動条件に応答して、１つよりも多いデスクトップ表面を回復してもよいことが理解される。
【００３４】
図６〜１１は、開示の一実施形態に従う、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法の別の例を示す。図６を参照すると、ブロック６００において、ディスプレイ移動条件に応答して、ドライバ論理１３６は、第１のプロセッサ１１２に、第１の物理的なディスプレイ１０２上において少なくとも１つの３次元ディスプレイオブジェクト１４２を提示させる。上述のように、３次元ディスプレイオブジェクト１４２は、少なくとも合成論理１４０によって第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４を含む複数のデスクトップ表面から合成されてもよい。図７に示されるように、この例において、３次元ディスプレイオブジェクト１４２は回転ドアオブジェクトである。第１のデスクトップ表面５０６および第２のデスクトップ表面５０４は、３次元ディスプレイオブジェクト１４２の２つの表面上の特殊なテクスチャとして表示される。図７に１つの３次元ディスプレイオブジェクト１４２のみが示されているが、所望の場合、複数の３次元ディスプレイオブジェクトを合成し、第１の物理的なディスプレイ１０２上に提示してもよい。３次元ディスプレイオブジェクト１４２は、一定の速度で回転軸の周囲を回転してもよいため、ユーザは、２つのデスクトップ表面５０４、５０６を見ることができる。回転軸および速度は、構成論理１３８によって構成されてもよい。回転軸および速度は、例えば、入力デバイス１２４からユーザ入力によって調整してもよい、または構成論理１３８によって、ユーザまたはシステム１００によって事前定義されていてもよい。このため、ユーザは、３次元ディスプレイオブジェクト１４２の回転によって、デスクトップ表面のうちの任意の１つのコンテンツ全体をプレビューすることができる。
【００３５】
再び図６を参照すると、ブロック６０２において、構成論理１３８は、第１の物理的なディスプレイ１０２上に提示された３次元ディスプレイオブジェクト１４２からデスクトップ表面の選択を表す入力を受信する。構成論理１３８は、例えば、マウス等の入力デバイス１２４によってデスクトップ表面の選択を示すユーザ入力を受信してもよい。構成論理１３８は、ユーザ入力なしでデスクトップ表面を選択するルールをさらに事前定義してもよい。この例において、さらに図７を参照すると、ユーザは、マウスカーソル７００によって３次元ディスプレイオブジェクト１４２から第２のデスクトップ表面５０４を選択する。動作時に、ブロック６０４において、選択に応答して、ドライバ論理１３６は、第１のプロセッサ１１２に、第１の物理的なディスプレイ１０２上に選択された第２のデスクトップ表面５０４を表示させる。図８に示されるように、好ましくは、選択された第２のデスクトップ表面５０４は、フルスクリーンモードで第１の物理的なディスプレイ１０２に表示される。選択された第２のデスクトップ表面５０４は、さらに、いずれの他の適したモードで第１の物理的なディスプレイ１０２上に表示されてもよいことが理解される。例えば、ユーザは、構成論理１３８により、表示される選択されたデスクトップ表面のサイズを制御してもよい。
【００３６】
図９に示されるように、別の例において、移動結果デスクトップ表面５１０は、回転ドアオブジェクト等の３次元ディスプレイオブジェクト１４２、およびバックグラウンドとして第１のデスクトップ表面５０６を含む。図７に示される回転ドアオブジェクトと同様に、回転ドアオブジェクト１４２は、この例において、さらに、一定の速度で回転軸の周囲を回転する。回転軸および速度は、構成論理１３８によって調整されてもよい。この例において、図９に示される回転ドアオブジェクトは、第２、第３、および第４の物理的なディスプレイ１０４〜１０８に関連付けられた複数のデスクトップ表面５０４、５１６、５２０から合成される。しかしながら、第１の物理的なディスプレイ１０２に関連付けられた第１のデスクトップ表面５０６は、この例において回転ドアオブジェクト１４２に合成される必要はない。動作時に、ブロック６０２において、構成論理１３８は、３次元ディスプレイオブジェクト１４２からデスクトップ表面の選択を表す入力を受信してもよい。例えば、図９において、第２の物理的なディスプレイ１０４に関連付けられた第２のデスクトップ表面５０４は、マウスカーソル７００を使用して選択される。
【００３７】
ブロック６０４において、選択に応答して、一例において図１０に示されるように、選択された第２のデスクトップ表面５０４は、フルスクリーンモードまたは任意の適したモードで、第１の物理的なディスプレイ１０２上に表示されてもよい。この例において、選択された第２のデスクトップ表面５０４は、３次元ディスプレイオブジェクト１４２を表す同じ物理的なディスプレイ上に表示される。図１１に示される別の例において、選択された第２のデスクトップ表面５０４は、第１の物理的なディスプレイ１０２の代わりに第３の物理的なディスプレイ上に表示されてもよい。第３の物理的なディスプレイ１０６がシステム１００から切断されていない場合、本明細書で称される「第３の物理的なディスプレイ」は、他の図に示された同じ第３の物理的なディスプレイ１０６であってもよいことに留意されたい。そうでない場合には、本明細書で称される「第３の物理的なディスプレイ」は、保存されたディスプレイコンテンツが、３次元ディスプレイオブジェクト１４２を表さない残りの物理的なディスプレイのうちの任意の１つに表示されてもよいことを示す。換言すると、この例における第１の物理的なディスプレイ１０２は、３次元のディスプレイオブジェクト１４２を提示するために使用されるのみであってもよく、一方で、選択された第２のデスクトップ表面５０４は、ユーザ入力または構成論理１３８による事前定義されたルールによって決定される任意の残りの物理的なディスプレイ上に表示することができる。
【００３８】
図１２は、複数の物理的なディスプレイ１２０２〜１２０６を有するシステム１２００および本開示の別の実施形態に従う複数の物理的なディスプレイ１２０２〜１２０６の間のディスプレイ移動を適合させるための装置１２０８の一例を示す。システム１２００は、任意の適したデバイス、例えば、ラップトップコンピュータ、デスクトップコンピュータ、メディアセンター、ハンドヘルドデバイス（例えば携帯またはスマートフォン、タブレット等）、Bｌｕ−ｒａｙ（登録商標）プレーヤ、ゲームコンソール、セットトップボックスまたは任意の他の適したデバイスにしてもよい。この例において、システム１２００は、複数の物理的なディスプレイ１２０２〜１２０６を採用するラップトップコンピュータ、フレームバッファ１２１２に動作可能に接続される第１のプロセッサ１２１０、およびシステムメモリ１２１６に動作可能に接続される第２のプロセッサ１２１４等のコンピュータシステムとして記載される。図１に示される本開示の別の実施形態において１つまたは複数の物理的なディスプレイを２つのプロセッサにそれぞれ駆動させる代わりに、この例では、システム１２００によって複数の物理的なディスプレイ１２０２〜１２０６を駆動する１つのみのプロセッサ１２１０が採用されていることに留意されたい。システム１２００は、所望の場合には、マウス、キーパッド、キーボード、カメラ、リモートコントローラまたは任意の他の適したデバイス等の入力デバイス１２１８、および複数のディスプレイコネクタ１２２０〜１２２４（つまり第１のディスプレイコネクタ１２２０、第２のディスプレイコネクタ１２２２、および第３のディスプレイコネクタ１２２４）も含んでもよい。システム１２００は、システムバス１２２６等のその構成要素のそれぞれの間でデータを伝送するデータバスまたはポイントトゥポイント接続も含んでもよい。システム１２００には、記憶デバイスまたはコントローラ（図示せず）等であるがこれらに限定されない任意の他の適した構成要素も含まれてもよい。
【００３９】
一例において、第１のプロセッサ１２１０は、それぞれ、第１、第２、および第３のディスプレイコネクタ１２２０〜１２２４を介して、第１、第２、および第３のディスプレイ１２０２〜１２０６を駆動する個別のグラフィックプロセッサまたは統合されたグラフィックプロセッサであってもよい。第１のディスプレイコネクタ１２２０は、システム１２００の内部であってもよく、第１の物理的なディスプレイ１２０２は、システム１２００の一部、例えばラップトップコンピュータまたは例えば、携帯電話等の携帯デバイスの一部を形成するディスプレイ、を形成してもよい。とはいえ、第１のプロセッサ１２１０が駆動する物理的なディスプレイの数は変動してもよいことが理解される。第２のプロセッサ１２１４は、システムメモリ１２１６に双方向に接続され、システムバス１２２６を介してシステム１２００の他の構成要素に双方向に接続されるホストＣＰＵであってもよい。第１および第２のプロセッサ１２１０、１２１４は、第１および第２のプロセッサ１２１０、１２１４の全ての機能を実行する汎用プロセッサ（例えばＡＰＵ、すなわち加速処理装置、ＧＰＧＰＵ、すなわちＧＰＵ上の汎用コンピューティング）に統合されてもよい。図１２に個別のメモリデバイスとしてフレームバッファ１２１２およびシステムメモリ１２１６が示されているが、２つのプロセッサ１２１０、１２１４に対応できる統一メモリアーキテクチャも採用してもよいことが理解される。
【００４０】
第２のプロセッサ１２１４は、ドライバ論理１２２８および構成論理１２３０を採用してもよく、またはこれを含んでもよく、第１のプロセッサ１２１０は、合成論理１２３２を採用してもよく、またはこれを含んでもよい。ドライバ論理１２２８、構成１２３０、および合成論理１２３２は、システムバス１２２６または当該技術において公知の他の適した通信構成要素を介して、互いに動作可能および双方向に結合される。上述されるように、第１および第２のプロセッサ１２１０、１２１４は、第１および第２のプロセッサ１２１０、１２１４の全ての機能を実行する汎用プロセッサ（例えばＡＰＵ、すなわち加速処理装置、ＧＰＧＰＵ、すなわちＧＰＵ上の汎用コンピューティング）に統合されてもよい。その場合、ドライバ論理１２２８、構成論理１２３０、および合成論理１２３２は、汎用プロセッサの一部であってもよい、または、汎用プロセッサに結合され、汎用プロセッサによって実行されてもよい。
【００４１】
システム１２００は、ディスプレイ移動条件の検出に応答して、複数の物理的なディスプレイ１２０２〜１２０６の間のディスプレイ移動を適合させるために、図２に示された同様の方法を適用してもよい。図２、１２、および１３を参照すると、ブロック２００において、システム１２００からの１つ以上の物理的なディスプレイ１２０２〜１２０６の切断等のディスプレイ移動条件、つまり、外部ＡＣ電源からＤＣバッテリ電源等への電源の切り替えによって生じるシステム１２００の低減された電源が、ドライバ論理１２２８によって検出される。ブロック２０２において、ドライバ論理１２２８は、複数のデスクトップ表面１３００〜１３０４（つまり第１の物理的なディスプレイ１２０２に関連付けられた第１のデスクトップ表面１３００、第２の物理的なディスプレイ１２０４に関連付けられた第２のデスクトップ表面１３０２、第３の物理的なディスプレイ１２０６に関連付けられた第３のデスクトップ表面１３０４）を合成するために、合成論理１２３２にコマンドを送ることによって、合成論理１２３２を制御する。複数のデスクトップ表面１３００〜１３０４を合成するために、ドライバ論理１２２８は、フレームバッファ１２１２において、それぞれ、第１、第２、および第３の物理的なディスプレイ１２０２〜１２０６に関連付けられたアプリケーション１３０６〜１３１０のディスプレイコンテンツを有する第１、第２、および第３のデスクトップ表面１３００〜１３０４を生成するために、第１のプロセッサ１２１０を制御してもよい。一例において、合成論理１２３２は、３次元レンダリング等の任意の公知の技術を用いて、第１、第２、および第３のデスクトップ表面１３００〜１３０４を３次元ディスプレイオブジェクト１２３４へ合成する。ドライバ論理１２２８は、次いで、少なくとも３次元ディスプレイオブジェクト１２３４を含む移動結果デスクトップ表面１３１２を生成するように、第１のプロセッサ１２１０を制御する。残りの第１の物理的なディスプレイ１２０２上に３次元ディスプレイオブジェクト１２３４が表示される。最終的に、デスクトップ表面１３００〜１３０４のうちの１つが、入力デバイス１２１８からのユーザ入力または事前に定義されたルールに基づいて、構成論理１２３０によって選択されてもよく、第１の物理的なディスプレイ１２０２上で、フルスクリーンモードまたは他の適したモードで表示される。ディスプレイ移動後に１つよりも多い物理的なディスプレイが残っている場合、選択されたデスクトップ表面は、第１の物理的なディスプレイ１２０２以外の物理的なディスプレイ上に表示されてもよいことが理解される。
【００４２】
さらに、本明細書中に記載されるドライバ論理、構成論理、および合成論理は、プロセッサと組み合わせられる、ＣＤＲＯＭ、ＲＡＭ、他の形態のＲＯＭ、ハードドライブ、分散メモリ等であるがこれらに限定されないコンピュータ可読媒体上に格納されるドライバソフトウェアとして実装されてもよい。このため、ドライバソフトウェアは、コンピュータ可読媒体上に格納されてもよい。コンピュータ可読媒体は、１つ以上のプロセッサに、本明細書に記載される動作を実行させる１つ以上のプロセッサによって実行可能な命令を格納する。
【００４３】
他の利点と比較しても特に、複数の物理的なディスプレイの間のディスプレイ移動を適合させるための方法および装置は、１つ以上の物理的なディスプレイが低減されたシステム電源等の種々の理由のために切断される場合に、切断された物理的なディスプレイに関連付けられたデスクトップ表面を維持および合成するための機能を提供し、これによって、切断された物理的なディスプレイ上に以前に表示されていた全ての元のディスプレイコンテンツを完全に保存する。さらに、デスクトップ表面は、ユーザに残りの物理的なディスプレイ上で提示される、３次元のディスプレイオブジェクト等のディスプレイオブジェクトに合成することができるため、ユーザは、ディスプレイオブジェクトを介してデスクトップ表面のそれぞれ１つをプレビューし、フルスクリーンモードまたは任意の他の適したモードで表示される保存されたデスクトップ表面のうちの１つを選択することができるため、ユーザにとっては、ユーザが切り替えたいデスクトップ表面（つまり関連付けられた切断された物理的なディスプレイのディスプレイコンテンツ）を識別することが容易になる。さらに、ディスプレイ移動は、複数のグラフィックプロセッサから単一のグラフィックプロセッサへの切り替えおよび同じグラフィックプロセッサによって駆動される複数の物理的なディスプレイの間の切り替えを伴ってもよい。当業者によって他の利点も理解されるであろう。
【００４４】
本明細書中に記載される本発明および例の上記の詳細な記述は、例示および説明を目的として提示されたものであり、制限を目的として提示されたものではない。したがって、本発明は、上記で開示され、本明細書で請求される基本的な根底を成す原則の精神および範囲内にある全ての修正、変更または均等物をカバーすると考えられる。
【図１】
2013541724.tif 000003
【図２】
2013541724.tif 000004
【図３】
2013541724.tif 000005
【図４】
2013541724.tif 000006
【図５】
2013541724.tif 000007
【図６】
2013541724.tif 000008
【図７】
2013541724.tif 000009
【図８】
2013541724.tif 000010
【図９】
2013541724.tif 000011
【図１０】
2013541724.tif 000012
【図１１】
2013541724.tif 000013
【図１２】
2013541724.tif 000014
【図１３】
2013541724.tif 000015
【国際調査報告】
2013541724.tif 000016
2013541724.tif 000017