(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】コンテンツの表示を制御する方法およびコンピュータプログラム
(51)【国際特許分類】
G09G 5/00 20060101AFI20240220BHJP
G06F 3/14 20060101ALI20240220BHJP
G09G 5/37 20060101ALI20240220BHJP
G09G 5/38 20060101ALI20240220BHJP
【FI】
G09G5/00 510V
G06F3/14 360A
G09G5/00 510A
G09G5/00 550C
G09G5/37 600
G09G5/38 100
(21)【出願番号】P 2022519439
(86)(22)【出願日】2020-08-26
(86)【国際出願番号】 US2020070463
(87)【国際公開番号】W WO2021062430
(87)【国際公開日】2021-04-01
【審査請求日】2022-05-31
(32)【優先日】2019-09-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-10-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ファーボーグ,アレクサンダー・ジェイムズ
(72)【発明者】
【氏名】サッチター-ゼルツァー,アリエル
【審査官】武田 悟
(56)【参考文献】
【文献】米国特許出願公開第2019/0272138(US,A1)
【文献】特開2005-227579(JP,A)
【文献】国際公開第2018/098320(WO,A1)
【文献】米国特許出願公開第2018/0046423(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/00 - 5/42
G06F 3/14
(57)【特許請求の範囲】
【請求項1】
方法であって、
コンピューティングデバイスのプロセッサが、物理的環境内において第1のディスプレイデバイスと第2のディスプレイデバイスとを含む複数のディスプレイデバイスの各々との通信を検出することを含み、前記複数のディスプレイデバイスは、前記物理的環境内において前記コンピューティングデバイスに動作可能に結合され、前記方法はさらに、
前記複数のディスプレイデバイスの少なくとも1つの画像センサから、前記物理的環境に関連する画像データを受信することと、
前記複数のディスプレイデバイスの少なくとも1つの慣性センサから向きデータを受信することと、
前記少なくとも1つの画像センサから受信された前記画像データと前記少なくとも1つの慣性センサから受信された前記向きデータとに基づいて、前記物理的環境における前記第1のディスプレイデバイスの物理的位置と前記第2のディスプレイデバイスの物理的位置とを検出することと、
前記第1のディスプレイデバイスの前記物理的位置と前記第2のディスプレイデバイスの前記物理的位置とに基づいて、前記第1のディスプレイデバイスおよび前記第2のディスプレイデバイスに表示されるコンテンツを制御することとを含み、
前記通信を検出することは、前記第2のディスプレイデバイスとの通信を検出した後、前記第1のディスプレイデバイスとの通信を検出することを含み、
前記第1のディスプレイデバイスおよび前記第2のディスプレイデバイスに表示されるコンテンツを制御することは、前記第1のディスプレイデバイスとの通信の検出前に前記第2のディスプレイデバイスに表示されていた前記コンテンツを、前記第1のディスプレイデバイスと前記第2のディスプレイデバイスとの間で分散させることを含む、方法。
【請求項2】
前記第1のディスプレイデバイスから前記第2のディスプレイデバイスへの前記コンテンツの移動に対応するユーザ入力を検出することと、
前記ユーザ入力に応答して、前記コンテンツを表示することと、をさらに含み、
前記コンテンツを表示することは、前記複数のディスプレイデバイスのうちの前記第1のディスプレイデバイス上の第1の表示位置から前記第2のディスプレイデバイス上の第2の表示位置に移動させることを含む、請求項1に記載の方法。
【請求項3】
前記コンテンツを移動させることは、
前記物理的環境における前記第1のディスプレイデバイスの前記物理的位置と前記第2のディスプレイデバイスの前記物理的位置とに基づいて、前記第1のディスプレイデバイスと前記第2のディスプレイデバイスとの間の物理的不連続性を検出することと、
前記物理的不連続性に基づいて、前記第1のディスプレイデバイスから前記第2のディスプレイデバイスへの前記コンテンツの前記移動を調整することとを含む、請求項2に記載の方法。
【請求項4】
前記物理的不連続性を検出することは、
前記第1のディスプレイデバイスの前記物理的位置と前記第2のディスプレイデバイスの前記物理的位置との間の物理的間隙を検出すること、または、
前記第1のディスプレイデバイスもしくは前記第2のディスプレイデバイスの少なくとも一方の表示領域を取り囲む物理的なベゼル領域を検出すること、のうちの少なくとも1つを含む、請求項3に記載の方法。
【請求項5】
前記コンテンツの前記移動を調整することは、前記物理的不連続性を介した前記コンテンツの移動に対応するように、前記第2のディスプレイデバイス上の前記コンテンツの表示を遅延させることを含む、請求項3に記載の方法。
【請求項6】
前記ユーザ入力を検出することは、前記第2のディスプレイデバイスの移動を検出することを含み、前記第2のディスプレイデバイスは頭部装着型ディスプレイデバイスに含まれ、
前記ユーザ入力に応答して前記コンテンツを表示することは、前記コンテンツを前記頭部装着型ディスプレイデバイスの視野において仮想オブジェクトとして表示することを含む、請求項2に記載の方法。
【請求項7】
前記コンテンツを前記第1のディスプレイデバイスから前記第2のディスプレイデバイスに移動することは、
前記第1のディスプレイデバイスの前記物理的位置および前記第2のディスプレイデバイスの前記物理的位置に基づいて、前記コンテンツの位置および向きを、前記第1のディスプレイデバイス上の第1の位置および第1の向きから前記第2のディスプレイデバイス上の第2の位置および第2の向きに調整することを含む、請求項2に記載の方法。
【請求項8】
前記向きデータを少なくとも1つの慣性センサから受信することは、向きデータを前記第1のディスプレイデバイスの慣性センサから受信することを含み、
前記第1のディスプレイデバイスの前記物理的位置を検出することは、
前記第1のディスプレイデバイスの前記慣性センサからの前記向きデータに基づいて、前記第1のディスプレイデバイスの物理的向きを検出することと、
前記第1のディスプレイデバイスの前記物理的向きと、前記物理的環境に関連する前記画像データとに基づいて、前記第2のディスプレイデバイスに対する前記第1のディスプレイデバイスの前記物理的位置を検出することとを含む、請求項1~請求項7のいずれか1項に記載の方法。
【請求項9】
前記第1のディスプレイデバイスおよび前記第2のディスプレイデバイスの一方の移動を検出すること
をさらに含み、前記第1のディスプレイデバイスの移動は前記物理的環境における前記第1のディスプレイデバイスの前記物理的位置に基づいて検出され、前記第2のディスプレイデバイスの移動は前記物理的環境における前記第2のディスプレイデバイスの前記物理的位置に基づいて検出され、
前記第1のディスプレイデバイスまたは前記第2のディスプレイデバイスの前記一方の前記移動を検出したことに応答して、前記コンピューティングデバイスの表示設定を再構成することと、をさらに含む、請求項1~請求項8のいずれか1項に記載の方法。
【請求項10】
前記第1のディスプレイデバイスまたは前記第2のディスプレイデバイスの少なくとも一方は、モバイルディスプレイデバイスである、請求項9に記載の方法。
【請求項11】
前記コンピューティングデバイスの前記表示設定を再構成することは、前記複数のディスプレイデバイスのうちの主ディスプレイデバイスを動的に設定すること、または前記複数のディスプレイデバイスの相対位置を動的に設定することのうちの少なくとも1つを含む、請求項9に記載の方法。
【請求項12】
前記第1のディスプレイデバイスの前記物理的位置および前記第2のディスプレイデバイスの前記物理的位置を検出することは、
前記少なくとも1つの画像センサから、更新された画像データを受信することと、
前記少なくとも1つの慣性センサから、更新された向きデータを受信することと、
前記更新された画像データおよび前記更新された向きデータに基づいて、前記第1のディスプレイデバイスの更新された物理的位置および前記第2のディスプレイデバイスの更新された物理的位置を判断することと、
前記第1のディスプレイデバイスの前記更新された物理的位置および前記第2のディスプレイデバイスの前記更新された物理的位置に基づいて、前記コンピューティングデバイスの前記表示設定を更新することとを含む、請求項11に記載の方法。
【請求項13】
前記通信を検出することは、前記第1のディスプレイデバイスとの切断を検出した後、第3のディスプレイデバイスとの通信を検出することを含み、
前記第1のディスプレイデバイスおよび前記第2のディスプレイデバイスに表示されるコンテンツを制御することは、前記第3のディスプレイデバイスとの通信の検出の後、前記コンテンツを、前記第2のディスプレイデバイスと前記第3のディスプレイデバイスとの間で分散させることを含む、請求項1~請求項12のいずれか1項に記載の方法。
【請求項14】
前記第3のディスプレイデバイスは、タブレットコンピューティングデバイスまたは拡張現実頭部装着型ディスプレイデバイスもしくは手首装着型コンピューティングデバイスのうちの少なくとも1つを含むウェアラブルディスプレイデバイスのうちの少なくとも1つを含む、請求項13に記載の方法。
【請求項15】
コンピューティングデバイスによって実行されることにより、前記コンピューティングデバイスに、請求項1~請求項14のいずれか1項に記載の方法を実施させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本出願は、共に「DEVICE MANAGER THAT UTILIZES PHYSICAL POSITION OF DISPLAY DEVICES(ディスプレイデバイスの物理的位置を利用するデバイスマネージャ)」と題される、2019年9月26日に提出された米国仮出願第62/906,586号の利益を主張する、2019年10月11日に提出された米国特許非仮出願第16/599,383号の利益を主張し、それらの開示の全体をここに引用により援用する。
【0002】
本出願は、「DEVICE MANAGER THAT UTILIZES PHYSICAL POSITION OF DISPLAY DEVICES(ディスプレイデバイスの物理的位置を利用するデバイスマネージャ)」と題される、2019年9月26日に提出された米国仮出願第第62/906,586号の利益を主張し、その開示の全体をここに引用により援用する。
【0003】
技術分野
本記載は、概して、複数のディスプレイデバイスを含むコンピューティングシステムに関する。
【背景技術】
【0004】
背景
コンピューティングシステムは、複数のコンピューティングアプリケーション、機能などとのユーザ対話を提供する1つ以上のグラフィカルユーザインターフェイスを含むことができる。グラフィカルユーザインターフェイスは、コンピューティングシステム内において動作可能に結合される1つ以上のディスプレイデバイスまたはモニタ上に表示されてもよい。複数のディスプレイデバイスの動作を管理するとき、ユーザは、例えば、コンピューティングシステムのオペレーティングシステムの設定モジュールにおいて、ディスプレイデバイスの順序を手動で選択するか、または割り当てるか、または設定してもよい。
【発明の概要】
【0005】
概要
コンピューティングシステム内の複数のディスプレイデバイスの相対的物理的位置を検出、設定、および更新するためのシステムは、システムの機能性を強化し得、ユーザ体験を改善し得る。ユーザによる手動入力および画面割り当てを伴わずに、ディスプレイが物理的空間内で互いに対してどこに位置決めされるかを識別することによって、ユーザ介入を伴わずに表示設定を構成することができ、ディスプレイ上に提示されるコンテンツとのユーザの自然で直感的な対話を向上させることができる、ウィンドウマネージャが提供されてもよい。表示設定の構成、例えば、インテリジェント構成は、マルチスクリーン環境において、特に、1つ以上のディスプレイデバイスがモバイルである状況において、コンピュータの制御を改善することができる。
【0006】
1つの一般的な態様では、ある方法は、コンピューティングデバイスのプロセッサが、物理的環境内において複数のディスプレイデバイスを検出することを含み、複数のディスプレイデバイスは、物理的環境内においてコンピューティングデバイスに動作可能に結合され、本方法はさらに、プロセッサが、複数のディスプレイデバイスの複数のセンサから、物理的環境に関連するデータを受信することと、プロセッサが、複数のディスプレイデバイスの複数のセンサから受信したデータに基づいて、物理的環境における複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出することと、プロセッサが、複数のディスプレイデバイスの検出された物理的位置に基づいて、複数のディスプレイデバイスのうちの少なくとも2つに表示されるコンテンツ、または、補助装置と複数のディスプレイデバイスとの対話、のうちの少なくとも1つを制御することとを含む。
【0007】
いくつかの実現例では、複数のディスプレイデバイス上に表示されるコンテンツを制御することは、ユーザ入力を検出することと、ユーザ入力に応答してコンテンツの表示を制御することとを含んでもよい。いくつかの実現例では、ユーザ入力を検出することは、表示されたコンテンツを複数のディスプレイデバイスのうちの第1のディスプレイデバイスから第2のディスプレイデバイスに移動させるコントローラ入力を検出することを含んでもよく、コンテンツを制御することは、表示されたコンテンツを複数のディスプレイデバイスのうちの第1のディスプレイデバイス上の表示位置から第2のディスプレイデバイス上の表示位置に移動させることを含んでもよい。いくつかの実現例では、表示されたコンテンツを第1のディスプレイデバイスから第2のディスプレイデバイスに移動することは、第1のディスプレイデバイスおよび第2のディスプレイデバイスの検出された物理的位置に応答して、表示されたコンテンツの位置および向きを、第1のディスプレイデバイス上の第1の位置および第1の向きから第2のディスプレイデバイス上の第2の位置および第2の向きに調整することを含んでもよい。いくつかの実現例では、第1のディスプレイデバイスの物理的向きは、第2のディスプレイデバイスの物理的向きとは異なってもよい。たとえば、第1のディスプレイデバイスは実質的に水平に向けられ得、第2のディスプレイデバイスは実質的に垂直に向けられてもよい。
【0008】
いくつかの実現例では、表示されたコンテンツを第1のディスプレイデバイスから第2のディスプレイデバイスに移動することは、物理空間における第1のディスプレイデバイスの検出された物理的位置および第2のディスプレイデバイスの検出された物理的位置に基づいて、第1のディスプレイデバイスと第2のディスプレイデバイスとの間の物理的不連続性を検出することと、検出された物理的不連続性に基づいて、第1のディスプレイデバイスから第2のディスプレイデバイスへの表示されたコンテンツの移動を調整することを含んでもよい。いくつかの実現例では、物理的不連続性を検出することは、第1のディスプレイデバイスの検出された物理的位置と第2のディスプレイデバイスの検出された物理的位置との間の物理的間隙を検出すること、または第1のディスプレイデバイスもしくは第2のディスプレイデバイスのうちの少なくとも1つの表示領域を囲む物理的ベゼル領域を検出すること、のうちの少なくとも1つを含んでもよい。いくつかの実現例では、表示されたコンテンツの移動を調整することは、物理的不連続性を介した表示されたコンテンツの移動に対応するように、第2のディスプレイデバイス上でのコンテンツの表示を遅延させることを含んでもよい。
【0009】
いくつかの実現例では、物理的環境における複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出することは、複数のディスプレイデバイスのうちの少なくとも1つのディスプレイデバイスの位置センサから向きデータを収集することと、向きデータに基づいて少なくとも1つのディスプレイデバイスの物理的向きを検出することとと、物理的向きと、複数のディスプレイデバイスの画像センサによって収集された物理的環境に関連するデータとに基づいて、複数のディスプレイデバイスの残りのディスプレイデバイスに対する少なくとも1つのディスプレイデバイスの物理的位置を検出することとを含んでもよい。
【0010】
いくつかの実現例では、本方法はまた、複数のディスプレイデバイスの検出された物理的位置に基づいて、コンピューティングデバイスの表示設定を動的に構成することを含んでもよい。複数のディスプレイデバイスのうちの少なくとも2つに表示されるコンテンツは、動的に構成された表示設定に基づいて制御されてもよい。いくつかの実現例では、本方法はまた、複数のディスプレイデバイスのうちの少なくとも1つのディスプレイデバイスの位置センサから移動データを受信することと、向きデータに基づいて少なくとも1つのディスプレイデバイスの移動を検出することと、複数のディスプレイデバイスのうちの少なくとも1つのディスプレイデバイスの移動を検出したことに応答して表示設定を動的に構成することとを含んでもよい。いくつかの実現例では、複数のディスプレイデバイスのうちの少なくとも1つのディスプレイデバイスはモバイルディスプレイデバイスである。
【0011】
いくつかの実現例では、コンピューティングデバイスの表示設定を自動的にまたは動的に構成することは、複数のディスプレイデバイスの順序を動的に設定すること、複数のディスプレイデバイスのうちの主ディスプレイデバイスを動的に設定すること、または複数のディスプレイデバイスの相対位置を動的に設定すること、のうちの少なくとも1つを含む。いくつかの実現例では、複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出することは、複数のディスプレイデバイスの画像センサから画像センサデータを受信し、複数のディスプレイデバイスの位置センサから向きデータを受信することと、更新された画像センサデータおよび更新された向きデータに基づいて複数のディスプレイデバイスの物理的位置を動的に更新することと、複数のディスプレイデバイスの更新された物理的位置に基づいてコンピューティングデバイスの表示設定を動的に更新することとを含んでもよい。
【0012】
いくつかの実現例では、補助装置と複数のディスプレイデバイスとの対話を制御することは、表示補助装置または非表示補助装置と複数のディスプレイデバイスとの対話を制御することを含む。いくつかの実現例では、表示補助装置は、タブレットコンピューティングデバイスまたはウェアラブルディスプレイデバイスのうちの少なくとも1つを含んでもよい。いくつかの実現例では、ウェアラブルディスプレイデバイスは、拡張現実頭部装着型ディスプレイデバイスまたは手首装着型コンピューティングデバイスのうちの少なくとも1つを含んでもよく、非表示補助装置は、キーボード入力装置、マウス入力装置、またはタッチパッド入力装置のうちの少なくとも1つを含んでもよい。
【0013】
別の一般的な態様では、方法は、コンピューティングデバイスのプロセッサが、物理的環境内において複数のディスプレイデバイスを検出することを含み、複数のディスプレイデバイスは、物理的環境内においてコンピューティングデバイスに動作可能に結合され、本方法はさらに、プロセッサが、物理的環境に関連するデータを複数のディスプレイデバイスの画像センサから受信することと、プロセッサが、物理的環境に関連するデータに基づいて、物理的環境における複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出することと、複数のディスプレイデバイスの検出された物理的位置に基づいて、コンピューティングデバイスの表示設定を自動的または動的に構成することとを含む、方法である。
【0014】
別の一般的な態様では、非一時的コンピュータ可読記憶媒体上に有形に具現化されたコンピュータプログラム製品は、命令を含んでもよく、上記命令は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに、物理的環境において複数のディスプレイデバイスを検出させ、複数のディスプレイデバイスからデータを受信させ、データは、複数のディスプレイデバイスの複数のセンサによって収集され、さらに、複数のディスプレイデバイスの複数のセンサによって収集されたデータに基づいて、物理的環境に関連するデータに基づいて、物理的環境における複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出させ、複数のディスプレイデバイスの検出された物理的位置に基づいて、複数のディスプレイデバイスのうちの少なくとも2つに表示されるコンテンツ、または、 補助装置と複数のディスプレイデバイスとの対話、のうちの少なくとも1つを制御させる。命令は、コンピューティングデバイスに、本明細書で説明される方法のいずれかを実行させるように構成されてもよい。
【0015】
いくつかの実現例では、複数のディスプレイデバイス上に表示されるコンテンツを制御することにおいて、命令は、コンピューティングデバイスに、表示されたコンテンツを複数のディスプレイデバイスのうちの第1のディスプレイデバイスから第2のディスプレイデバイスに移動させるコントローラ入力を含むユーザ入力を検出させ、表示されたコンテンツを、複数のディスプレイデバイスのうちの第1のディスプレイデバイス上の表示位置から第2のディスプレイデバイス上の表示位置に移動させてもよい。いくつかの実現例では、表示されたコンテンツを第1のディスプレイデバイスから第2のディスプレイデバイスに移動させる際に、命令は、コンピューティングデバイスに、第1のディスプレイデバイスの物理的向きが第2のディスプレイデバイスの物理的向きとは異なることを検出させ、第1のディスプレイデバイスの検出された物理的向きおよび第2のディスプレイデバイスの検出された物理的向きに応答して、表示されたコンテンツの位置および向きを、第1のディスプレイデバイス上の第1の位置および第1の向きから第2のディスプレイデバイス上の第2の位置および第2の向きに調整させてもよい。
【0016】
いくつかの実現例では、表示されたコンテンツを第1のディスプレイデバイスから第2のディスプレイデバイスに移動する際に、命令は、コンピューティングデバイスに、第1のディスプレイデバイスと第2のディスプレイデバイスとの間の物理的不連続性を検出させてもよく、検出された物理的不連続性は、第1のディスプレイデバイスの検出された物理的位置と第2のディスプレイデバイスの検出された物理的位置との間の物理的間隙、または第1のディスプレイデバイスもしくは第2のディスプレイデバイスのうちの少なくとも1つの表示領域を囲む物理的ベゼル領域、のうちの少なくとも1つを含み、命令は、さらに、コンピューティングデバイスに、検出された物理的不連続性を介した表示されたコンテンツの移動に対応するように、第1のディスプレイデバイスから第2のディスプレイデバイスへの表示されたコンテンツの移動を調整させてもよい。
【0017】
いくつかの実現例では、物理的環境における複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出する際に、命令は、コンピューティングデバイスに、複数のディスプレイデバイスの各ディスプレイデバイスについて、ディスプレイデバイスの位置センサから向きデータを受信させ、向きデータに基づいてディスプレイデバイスの物理的向きを検出させ、複数のディスプレイデバイスのうちの残りのディスプレイデバイスに対するディスプレイデバイスの物理的位置を、物理的向きと、画像センサから受信された物理的環境に関連するデータとに基づいて検出させてもよい。いくつかの実現例では、命令は、コンピューティングデバイスに、複数のディスプレイデバイスのうちの少なくとも1つのディスプレイデバイスの位置センサから移動データを受信させ、移動データに基づいて少なくとも1つのディスプレイデバイスの移動を検出させ、複数のディスプレイデバイスのうちの少なくとも1つのディスプレイデバイスの検出された移動に応答して表示設定を動的に更新させてもよい。いくつかの実現例では、複数のディスプレイデバイスの各ディスプレイデバイスの物理的位置を検出する際に、命令は、コンピューティングデバイスに、画像センサデータおよび向きデータを周期的に受信させ、更新された画像センサデータおよび更新された向きデータに基づいて複数のディスプレイデバイスの物理的位置を動的に更新させ、複数のディスプレイデバイスの更新された物理的位置に基づいてコンピューティングデバイスの表示設定を動的に更新させてもよい。
【0018】
1つ以上の実現例の詳細が、添付の図面および以下の説明に記載される。他の特徴は、記載および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0019】
【
図1】本明細書で説明する実現例による、複数の出力装置を含むコンピューティングシステムのブロック図である。
【
図2】本明細書で説明する実現例による、複数の出力装置を含むコンピューティングシステムを示す。
【
図3A】本明細書で説明する実現例による、例示的なコンピューティングシステムの例示的なディスプレイデバイスの例示的な構成を示す。
【
図3B】本明細書で説明する実現例による、例示的なコンピューティングシステムの例示的なディスプレイデバイスの例示的な構成を示す。
【
図3C】本明細書で説明する実現例による、例示的なコンピューティングシステムの例示的なディスプレイデバイスの例示的な構成を示す。
【
図3D】本明細書で説明する実現例による、例示的なコンピューティングシステムの例示的なディスプレイデバイスの例示的な構成を示す。
【
図4A】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける主ディスプレイデバイスの設定を示す。
【
図4B】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける主ディスプレイデバイスの設定を示す。
【
図4C】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける主ディスプレイデバイスの設定を示す。
【
図4D】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける主ディスプレイデバイスの設定を示す。
【
図4E】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける主ディスプレイデバイスの設定を示す。
【
図4F】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける主ディスプレイデバイスの設定を示す。
【
図5A】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図5B】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図5C】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図5D】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図5E】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図5F】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6A】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6B】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6C】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6D】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6E】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6F】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6G】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図6H】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツの移動を示す。
【
図7A】本明細書で説明される実現例による、例示的なコンピューティングシステムの例示的な構成を示す。
【
図7B】本明細書で説明される実現例による、例示的なコンピューティングシステムの例示的な構成を示す。
【
図7C】本明細書で説明される実現例による、例示的なコンピューティングシステムの例示的な構成を示す。
【
図8A】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8B】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8C】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8D】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8E】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8F】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8G】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8H】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8I】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8J】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8K】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図8L】本明細書で説明する実現例による、複数のディスプレイデバイスを含むコンピューティングシステムにおける表示コンテンツのジェスチャ認識および動きを示す。
【
図9】本明細書で説明する実現例によるコンピューティングシステムを動作させる方法のフローチャートである。
【
図10】本明細書で説明する技法を実現するために用いられ得るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す。
【発明を実施するための形態】
【0020】
詳細な説明
ユーザは、例えば、複数のディスプレイデバイス上に表示されるコンテンツとのユーザ対話を容易にするために、複数のディスプレイデバイスを含むコンピューティングシステムに関与し得る。複数の物理的ディスプレイデバイスを同じ物理的場所に含む構成では、複数のディスプレイデバイスは、どのように/どのディスプレイデバイスでコンテンツが表示されるかを設定ならびに/または変更するために、典型的には、ユーザが、ディスプレイデバイスを物理的に移動/再配置する、および/もしくは表示設定を手動で再割り当てする、および/もしくはディスプレイデバイスの相対的位置決めを手動で指定するであろう、という点で問題を呈し得る。同様に、例えば、ラップトップコンピューティングデバイスが切断/移動/再接続されるとき、ユーザは、典型的には、同様のプロセスを経るであろう。これは、コンピューティングデバイスが再接続されるたび、ディスプレイが追加および/または移動されるたびに、ユーザがこのプロセスを経ることは、複雑であり、時間がかかるなどの点で、技術的課題または問題を提示し得る。
【0021】
上述の問題に対する様々な解決策が、本明細書で説明される実現例に従って、コンピューティングシステムによって提供される。本明細書で説明する実現例によるコンピューティングシステムは、複数のディスプレイに含まれる様々なセンサによって収集されたデータを活用して、システムが動作している実世界環境の3次元マッピングされたモデルを生成する(たとえば構築する)ことができる。コンピューティングシステムは、このモデル、および複数のディスプレイに含まれるセンサによるデータの継続的(例えば、周期的、連続的、ランダム)収集を用いて、複数のディスプレイのうちの少なくともいくつか(例えば、ある状況では、各々)の物理的位置を確立し、ユーザ入力またはユーザ介入を(例えば、実質的に)必要とせずに表示設定を設定(例えば、規定、記憶)してもよい。コンピューティングシステムは、このモデル、および複数のディスプレイに含まれるセンサによるデータの継続的な収集を用いて、複数のディスプレイの移動、向きの変化、再配置などを検出し、それに応じて、ユーザ入力またはユーザ介入を必要とすることなく、表示設定をリセットし、それによって、コンピューティングデバイスが再接続され1つ以上のディスプレイが追加/除去/移動等されるたびの表示設定の再割り当ての問題に対する解決策を提供することができる。表示設定は、例えば、複数のディスプレイのうちの1つを主ディスプレイとして設定すること、異なる複数のディスプレイに表示されるべきコンテンツを決定すること、複数のディスプレイ間のコンテンツの表示の遷移、表示特性(例えば、縮尺、位置決めなど)の変化、および他のそのような特徴を含むことができる。表示設定に関するさらなる詳細は、以下で説明される。
【0022】
表示設定をこのように構成すること(例えば、自動的にまたは動的に構成すること)は、マルチスクリーン環境におけるコンピューティングデバイスの改善された制御の技術的効果を少なくとも提供することができる。このように表示設定を構成することは、複数のディスプレイと、コンピューティングシステムに動作可能に結合されてもよい1つ以上の補助装置との間の対話の制御の改善という技術的効果を提供することができる。
【0023】
補助装置は、例えば、ディスプレイ対応補助装置および非表示補助装置を含んでもよい。ディスプレイ対応補助装置は、たとえば、ディスプレイを含むタブレットコンピューティングデバイス、拡張現実頭部装着型ディスプレイデバイスおよび手首装着型コンピューティングデバイスなどのウェアラブルコンピューティングデバイス、ならびに他のそのようなディスプレイ対応補助装置を含んでもよい。非表示補助装置は、例えば、キーボード装置、マウス装置、タッチパッド装置などのユーザ入力装置を含んでもよい。いくつかの実現例では、複数のディスプレイと1つ以上の補助装置との間の対話は、検出された物理的位置に基づいて制御されてもよい。例えば、1つ以上の補助入力装置(キーボード、マウス等)への入力は、ディスプレイ間の物理的距離もしくは間隙を考慮するように調整または制御されてもよい。
【0024】
いくつかの実現例では、複数のディスプレイのうちの1つ以上に含まれるセンサは、たとえば、画像センサ、位置センサ、音声センサなどを含んでもよい。コンピューティングシステムは、センサによって収集された情報を分析して、実世界環境のモデルを構築してもよい。システムは、モデルを用いて、ユーザによる手動入力および画面割り当てを伴わずに(例えば、実質的に伴わずに)、複数のディスプレイが互いに対して実世界環境内のどこに位置決めされるかを識別(例えば認識)および利用してもよい。少なくとも1つの(例えば各々の)ディスプレイの物理的位置のこのようなリアルタイム識別および利用は、例えば、ユーザ介入を必要とせずに表示設定を構成し、したがって、ディスプレイ上に提示されるコンテンツとの自然で直感的なユーザ対話を向上させ得る、インテリジェントウィンドウ管理を提供し得る。いくつかの実現例では、例えば、正面カメラ等の画像センサによって収集されるデータは、ジェスチャ認識を提供してもよく、および/またはユーザ位置を追跡してもよい。たとえば、いくつかの実現例では、画像センサによって収集されるデータは、複数のディスプレイに対するユーザ位置および/もしくは向きを検出ならびに/または追跡するために用いられてもよい。例えば、いくつかの実現例では、画像センサによって収集されるデータは、ユーザの頭部位置、頭部正面方向、眼の注視方向、身体の向きおよび/または方向等を追跡してもよい。このようにして収集されたデータは、ディスプレイ上に提示されるコンテンツとの自然で直感的なユーザ対話をさらに向上させ得る。
【0025】
表示設定を構成することは、マルチスクリーン環境において、特に1つ以上のディスプレイデバイスがディスプレイを含むタブレットコンピューティングデバイスなどのモバイルディスプレイデバイスである状況において、コンピュータの制御を改善するという技術的効果を少なくとも提供することができる。さらに、補助装置と複数のディスプレイデバイスとの対話を制御することによって、(いくつかの実現例では、複数のディスプレイデバイスの検出された物理的位置に基づいて制御することによって)ユーザ入力がより直感的であってもよい。例えば、補助装置を介して提供されるユーザ入力は、ディスプレイデバイスの物理的位置、向きなどを考慮に入れるように管理されてもよい。
【0026】
いくつかの実現例では、対話は、補助装置に関してコンピューティングデバイスにおいて行われ、いくつかの実現例では、装置の検出された物理的位置に応答して行われる、任意の調整または制御を包含すると見なされ得る。例えば、対話は、入力および/もしくは出力の出所および/もしくは処理、ならびに補助装置の任意の自動検出、または1つ以上の補助装置の接続もしくは切断時の設定の変化を含むことができる。そのような対話は、任意のコンテンツが表示される前に、および/またはユーザへのコンテンツの表示と同時に行われてもよい。
【0027】
本明細書で説明される原理は、定置ディスプレイモニタ、および、たとえば、タブレットコンピューティングデバイス、ラップトップコンピューティングデバイス、スマートフォン、頭部装着型ディスプレイデバイスなどのモバイルディスプレイデバイスも含むコンピューティングシステムに適用されてもよい。コンピューティングデバイスに動作可能に結合されると、これらのモバイルディスプレイデバイスは、コンテンツを表示することができる補助ディスプレイとして用いられてもよい。いくつかの実現例では、画像センサ、位置/向きセンサなどによって収集されるデータを、断続的に、たとえば、または周期的に収集し、設定されたスケジュールで収集し、および/または実質的に連続的に収集して、コンピューティングシステムのディスプレイのうちの少なくとも1つ(たとえば各々)の位置および/または向きを更新し、表示設定を更新し、および/または、それに応じて、表示されたコンテンツの位置決めを調整(もしくは制御)してもよい。いくつかの実現例では、表示設定を、たとえば、1つ以上の装置の起動、再起動、検出された移動、ユーザ要求などのトリガイベントに応答して設定(たとえば、規定、記憶)およびリセット(例えば、自動的に変更、消去、リセット)して、それに従って、表示されたコンテンツの位置決めを調整または制御してもよい。
【0028】
図1は、例示的なコンピューティングシステム10のブロック図である。コンピューティングシステム10は、本明細書で説明する実現例によれば、複数のディスプレイに含まれる様々なセンサによって収集されたデータを活用して、システムが動作している実世界環境の3次元マッピングされたモデル(これは、実世界環境のスキャンを介して収集することができる)を生成(たとえば構築)してもよい。コンピューティングシステムは、このモデル、および複数のディスプレイに含まれるセンサによるデータの継続的(例えば、周期的、連続的、ランダム)収集を用いて、複数のディスプレイのうちの少なくともいくつか(例えば、各々)の物理的位置を確立し、ユーザ入力またはユーザ介入を(例えば、実質的に)必要とせずに表示設定を設定してもよい。コンピューティングシステムは、このモデル、および複数のディスプレイに含まれるセンサによるデータの継続的な収集を用いて、複数のディスプレイの移動、向きの変化、再配置などを検出し、それに応じて、ユーザ入力またはユーザ介入を必要とせずに、表示設定をリセットしてもよい。
【0029】
例示的なコンピューティングシステムは、コンピューティングデバイス20に動作可能に結合される1つ以上の入力装置30と1つ以上の出力装置40とを含んでもよい。入力装置30および出力装置40は、有線もしくは無線結合を介して、および/またはネットワーク(図示せず)を介して、コンピューティングデバイス20と通信してもよい。同様に、コンピューティングシステム10は、ネットワークを介して外部コンピューティングシステムおよび外部ソースと通信してもよい。コンピューティングデバイス20は、たとえば、プロセッサ、オペレーティングシステム、メモリ、および他のそのような構成要素を含んでもよい。1つ以上の入力装置30(補助装置であり得る)は、たとえば、キーボード、マウス、タッチ/トラックパッド、および他のそのような装置を含んでもよい。1つ以上の出力装置40は、たとえば、スピーカなどの音声出力装置、ディスプレイデバイスなどの視覚出力装置、および他のそのような出力装置を含んでもよい。いくつかの実現例では、複数のディスプレイデバイスがコンピューティングデバイス20に動作可能に結合されてもよい。コンピューティングデバイス20への複数のディスプレイデバイスの動作可能な結合は、コンテンツの視覚的表示に利用可能な領域を拡張し、仮想作業空間を拡張し、複数のアプリケーションにわたる共有を容易にするなどし、したがって、生産性を向上させ、ユーザに対するコンピューティングシステム10の機能性および有用性を向上させ得る。コンピューティングデバイス20に動作可能に結合されるディスプレイデバイスは、コンピューティングデバイス20に通信可能に結合される1つ以上の他のコンピューティングデバイスに関連付けられてもよい。
【0030】
図2は、本明細書で説明される実現例に従って、ユーザが、実世界環境1000において、複数のディスプレイデバイス140を含むコンピューティングシステム100に関わっているのを示す。複数の物理的ディスプレイデバイス140を同じ物理的場所に含むこの種の例示的構成では、ユーザは、典型的には、ディスプレイデバイス140を物理的に移動/再配置する、もしくは表示設定を手動で再割り当てし、ディスプレイデバイス140の相対的位置決めを手動で指定して、どのように/どのディスプレイデバイス140でコンテンツが表示されるかを変更しなければならないであろう。例えば、ラップトップコンピューティングデバイスが切断/移動/再接続されるたびに、ユーザは、典型的には、手動で表示設定を再割り当てする/ディスプレイデバイス140の相対的位置決めを指定するプロセスを経なければならないであろう。複数のディスプレイデバイス140を含むコンピューティングシステム100では、本明細書で説明する実現例によれば、コンピューティングシステム100は、ディスプレイデバイス140のセンサによって収集された情報を活用して、ユーザ介入なしに複数のディスプレイデバイス140の相対位置および/または向きを識別してもよい。
【0031】
図2に示す例示的な構成では、コンピューティングシステム100は、この例ではコンピューティングデバイス120をラップトップコンピュータの形態で含む。
図2に示される例示的な構成では、複数のディスプレイデバイス140がコンピューティングデバイス120に動作可能に結合される。いくつかの実現例では、複数のディスプレイデバイス140は、たとえば、
図2に示すように、たとえば、第1のディスプレイデバイス140Aおよび第2のディスプレイデバイス140Bなど、コンピューティングデバイス120とは別個の1つ以上のスタンドアロンディスプレイデバイスを含んでもよい。いくつかの実現例では、複数のディスプレイデバイス140は、たとえば、コンピューティングデバイス120に統合されるディスプレイ140Cを含んでもよい。いくつかの実現例では、複数のディスプレイデバイス140は、コンピューティングデバイス120から分離され、コンピューティングデバイス120および/または他のディスプレイデバイス140のうちの1つに動作可能に結合される、たとえば、タブレットデバイス140Dなどのモバイルディスプレイデバイス140Cを含んでもよい。
【0032】
ユーザは、たとえば、コンピューティングデバイス120に動作可能に結合されてもよい複数の入力装置130のうちの1つを用いて、ディスプレイデバイス140のうちの1つ以上に表示されるコンテンツと対話してもよい。たとえば、いくつかの実現例では、キーボードの形態の第1の入力装置130Aと、マウスの形態の第2の入力装置130Bとが、コンピューティングデバイス120に動作可能に結合されてもよい。上述のように、コンテンツとのこのような対話は、いくつかの実現例では、制御装置の検出された物理的位置に部分的に基づいて制御または調整されてもよい。いくつかの実現例では、1つ以上の入力装置130は、たとえば、コンピューティングデバイス120上に一体的に設けられたキーボードおよび/またはタッチパッド130C、モバイルディスプレイデバイス140D上に一体的に設けられたタッチスクリーン130Dなどを含んでもよい。いくつかの実現例では、コンピューティングシステム100は、たとえば、音声コマンドを受信することが可能な音声入力装置(図示せず)などの他の入力装置130を含んでもよい。これらの入力装置130とディスプレイデバイス140との対話は、例えば、入力装置130へのユーザ入力を処理するときに、画面間の物理的間隙または画面の向きが考慮されるように制御され得る(例えば、ユーザによるマウス130Bの移動の速度および/またはユーザによるマウス130Bの移動の速度とコンピューティングデバイスにおいて計算される位置との間の関係が制御または調整されてもよい)。これにより、ユーザ対話は、より直感的であり得る。
【0033】
いくつかの実現例では、たとえば、頭部装着型ディスプレイデバイス、手首装着型装置など(図示せず)のウェアラブル装置も、コンピューティングデバイス120に動作可能に結合されてもよい。いくつかの実現例では、これらのタイプのウェアラブル装置はまた、コンピューティングデバイス120に動作可能に結合されたときに出力装置および/または入力装置として機能してもよい。
【0034】
いくつかの実現例では、ディスプレイデバイス140は1つ以上のセンサを含んでもよい。1つ以上のセンサは、システムが動作している周囲環境において複数のディスプレイデバイスのうちの少なくとも1つ(たとえば、各々)の物理的位置および向きをシステムが認識すること、たとえば、自動的に認識すること、または判断することを可能にする情報を収集してもよい。いくつかの実現例では、このデータ収集および周囲環境におけるディスプレイデバイス140の物理的位置の判断は、システムが、たとえばインテリジェントに、または表示設定の割り当てのための特定のユーザ介入なしに、表示設定を割り当てることを可能にし得る。いくつかの実現例では、このデータ収集および周囲環境におけるディスプレイデバイス140の物理的位置の判断は、システムが、1つ以上のトリガに応答して、特定のユーザ介入なしに、たとえば、表示設定をインテリジェントに更新(または構成)することを可能にし得る。
【0035】
たとえば、いくつかの実現例では、システムは、ディスプレイデバイス140のうちの1つ以上のディスプレイデバイス140の画像センサ142またはカメラ142によって収集された画像情報(例えば、収集された画像情報のストリーム、定期的にまたはランダムに収集された画像情報)を分析してもよい。システムは、収集された画像情報を分析して、それぞれのディスプレイデバイスの3次元姿勢情報および位置情報を取得してもよい。
【0036】
例えば、いくつかの実現例では、システムは、収集された画像情報を分析して、実世界環境1000内の物体を識別し、実世界環境1000内の表面(すなわち、壁、床、水平作業面など)を識別し、実世界物体間の空間、および実世界環境1000に関連する他のそのような情報を識別してもよい。収集された画像情報のこのような分析、および実世界環境1000内の実物体の既知の位置に基づいて、システムは、それぞれのディスプレイデバイス140のうちの少なくとも1つ(例えば、各々)について、相対位置および/または姿勢情報を判断してもよい。したがって、実世界環境1000または物理的環境1000における少なくとも1つ(たとえば、各々)のディスプレイデバイス140の物理的位置が検出されてもよい。
【0037】
同様に、いくつかの実現例では、ディスプレイデバイス140のうちの1つ以上は、たとえば、たとえば、加速度計、ジャイロスコープ、磁力計、および他のそのようなセンサを含む慣性測定ユニット(IMU)144などの、位置センサ144を含んでもよい。システムは、ディスプレイデバイス140のうちの1つ以上のディスプレイデバイス140の位置センサ144によって収集された位置および/または向き情報を分析して、それぞれのディスプレイデバイス140の向き、および他のディスプレイデバイス140の相対的な向きに関する情報を取得してもよい。したがって、実世界環境1000または物理的環境1000における少なくとも1つの(たとえば、各々の)ディスプレイデバイス140の物理的位置が検出されてもよい。
【0038】
センサ142、144によって収集されたデータ(すなわち、画像センサ142によって収集された画像データおよび/または位置センサ144によって収集された位置データ)に基づいて、システムは、実世界環境1000の意味論的理解を決定(例えば、展開)してもよく、実世界環境1000の3次元マッピングされたモデルを展開してもよい。実世界環境1000の意味論的理解は、システムが、実世界環境内において、ディスプレイデバイス140の物理的位置が導出されてもよい基準点またはアンカー点としての役割を果たし得る実質的に静止している物体(すなわち、壁面、角部、窓、家具など)を認識することを可能にし得る。システムは、それぞれのディスプレイデバイス140の画像センサ142によって収集された画像情報における検出された変化に応答して、ディスプレイデバイス140のうちの1つ以上のディスプレイデバイス140の位置の変化を検出してもよい。同様に、システムは、それぞれのディスプレイデバイス140の位置センサ144によって収集された位置データの検出された変化に応答して、ディスプレイデバイス140のうちの1つ以上のディスプレイデバイス140の位置の変化を検出してもよい。
【0039】
図3A~
図3Dは、単に説明および例示を目的として、上述の例示的なディスプレイデバイス140A、140B、140C、および140Dの配置を示す。本明細書で説明される実現例による、複数のディスプレイデバイスを含むコンピューティングシステムは、類似または異なる様式で配置される、より多くのディスプレイデバイスまたはより少ないディスプレイデバイスを含むことができる。
図3Aに示されるように、第1のディスプレイデバイス140Aの画像センサ142Aまたはカメラ142Aは、視野Aを有してもよい。
図3Bに示されるように、第2のディスプレイデバイス140Bの画像センサ142Bまたはカメラ142Bは、視野Bを有してもよい。
図3Cに示されるように、第3のディスプレイデバイス140Cの画像センサ142Cまたはカメラ142Cは、視野Aを有してもよい。モバイルディスプレイデバイス140Dの実質的に水平な向きのため、モバイルディスプレイデバイス140Dは、
図3Dに示されるように、視野Dを有する。
【0040】
図3A~
図3Dに示される例示的な構成では、第1、第2、および第3のディスプレイデバイス140A、140B、および140Cはすべて、実質的に垂直に配列される。この構成では、第1、第2、および第3のディスプレイデバイス140A、140B、および140Cによって捕捉された画像は、3次元マッピングされたモデルにおいて、共通の実世界オブジェクトと、共通の実世界基準点またはアンカー点とを含んでもよい。したがって、システムは、第1、第2、および第3のディスプレイデバイス140A、140B、および140Cのそれぞれの実世界環境のビューと、それらのそれぞれの実世界環境のビューにおける基準点のそれぞれの配置とに基づいて、第1、第2、および第3のディスプレイデバイス140A、140B、および140Cの相対的位置決めを判断して、ディスプレイデバイス140の実世界環境1000におけるディスプレイデバイス140の物理的位置を検出してもよい。いくつかの実現例では、第4のディスプレイデバイス140Dの実質的に水平な向きに起因して、モバイルディスプレイデバイス140Dの画像センサ142Dの視野内で捕捉された画像は、画像センサ14
2Dによって捕捉された画像に基づいて、モバイルディスプレイデバイス140Dの位置および/または向きを確立するのに、第1のディスプレイデバイス140A、第2のディスプレイデバイス140B、および第3のディスプレイデバイス140Cのそれぞれの視野内で捕捉された画像との共通性を欠き得るか、または充分な共通性を欠き得る。この実現例では、位置および/もしくは向き情報(またはデータ)は、モバイルディスプレイデバイス140Dの位置センサ144Dによって収集されてもよい。モバイルディスプレイデバイス140Dの位置センサ144Dによって収集された位置および/または向きデータは、他のディスプレイデバイス1401/140B/140Cのうちの1つ以上の位置/向き情報と相関させて、他のディスプレイデバイス140に対するモバイルディスプレイデバイス140Dの位置を判断してもよい。
【0041】
いくつかの実現例では、コンピューティングシステム100は、センサ、たとえば、画像センサ142および/または位置センサ144によって収集された情報を用いて、ディスプレイデバイス140のうちのどれが主ディスプレイデバイスであるかを判断してもよい。たとえば、
図4Aに示されるように、いくつかの実現例では、システムは、画像センサ142によって収集された画像情報においてユーザの頭部正面および/もしくは眼の注視の位置ならびに/または向きを検出してもよい。システムは、
図4Bに示されるように、検出されたユーザの頭部の位置、検出されたユーザの頭部正面/眼の注視方向等に基づいて、ディスプレイデバイス140のうちの1つを主ディスプレイデバイスとして設定(例えば、自動的に設定)してもよい。すなわち、
図4Aおよび
図4Bに示すように、収集された頭部正面/眼の注視情報に基づいて、システムは、ユーザの注視が第2のディスプレイデバイス140Bに集中していることを検出してもよく、ディスプレイデバイス140に対する位置情報を設定する際に特定のユーザの介入および/または入力なしに、第2のディスプレイデバイス140Bを主ディスプレイとして設定してもよい。
【0042】
いくつかの実現例では、システムは、センサ142、144によって収集された情報から、たとえば、デスクチェア、キーボード、マウスなど、実世界環境1000における他の実物体の相対位置を検出してもよい。本システムは、例えば、ディスプレイデバイス140に対する、検出された実世界物体の位置および/または向きに基づいて、例えば、ディスプレイデバイスのうちの1つを主ディスプレイデバイスとして設定(例えば、自動的に設定)してもよい。例えば、
図4Cに示すように、システムは、ディスプレイデバイス140に対するデスクチェア110、キーボード130Aおよびマウス130Bの
図4Cに示されるような位置ならびに/または向きを検出してもよい。デスクチェア110、キーボード130A、およびマウス130Bが、第2のディスプレイデバイス140Bと整列して(例えば、本質的に整列して)検出されたことに基づいて、システムは、例えば、
図4Dに示すように、第2のディスプレイデバイス140Bを主ディスプレイデバイスとして設定(例えば、自動的に設定)してもよい。
【0043】
いくつかの実現例では、システムは、入力装置130のうちの1つ以上とのユーザ対話を検出してもよく、検出された対話に基づいてディスプレイデバイス140のうちの1つを主ディスプレイとして設定してもよい。例えば、
図4Eに示されるように、いくつかの実現例では、システムは、キーボード130Aおよび/またはマウス130Bとのユーザ対話を検出してもよい。いくつかの実現例では、キーボード130Aおよび/またはマウス130Bとのユーザ対話は、画像センサ142によって収集された画像においてキーボード130Aおよび/またはマウス130Bにかかっているユーザの手の検出に基づいて検出されてもよい。いくつかの実現例では、キーボード130Aおよび/またはマウス130Bとのユーザ対話は、キーボード130Aおよび/またはマウス130Bにおいて検出されコンピューティングシステム100によって受信されるコマンドに基づいて検出されてもよい。検出された対話、ならびにキーボード130および/もしくはマウス130Bの検出された位置/向き、および/または、例えば、
図4Eに示される例示的な構成における第2のディスプレイデバイス140Bとの整列に基づいて、システムは、例えば、
図4Fに示されるように、第2のディスプレイデバイス140Bを主ディスプレイデバイスとして設定(例えば、自動的に設定)してもよい。このようにして、キーボード130および/またはマウス130B(または任意の他の補助装置)と複数のディスプレイデバイスとの対話が制御されてもよい。例えば、コンピューティングデバイスにおけるマウスおよび/もしくはキーボード(または他の)入力の処理ならびに管理は、主ディスプレイデバイスの変更に応答して調整されてもよく、ならびに/またはコンテンツの表示が、それに応じて制御されてもよい。
【0044】
図4A~
図4Fに示される例では、第2のディスプレイデバイス140Bは、単に説明および例示を容易にするために、主ディスプレイデバイスとして設定される。同様の原理は、センサ142、144によって収集された同様の情報に基づいて、他のディスプレイデバイス140のうちの1つを主ディスプレイデバイスとして設定する、たとえば自動的に設定する際に適用されてもよい。いくつかの実現例では、システムは、残りのディスプレイデバイス140の位置情報を、たとえば、主ディスプレイデバイスの設定、ユーザ履歴、設定されたユーザの嗜好、それぞれのディスプレイデバイス上に表示される現在のコンテンツなどに基づいて、たとえば、インテリジェントに設定するか、またはユーザの介入なしに設定するか、または動的に設定するか、または自動的に設定してもよい。
【0045】
いくつかの実現例では、表示設定を動的に(または自動的に)定義することは、たとえば、第1の時間に第1の位置情報に応答して表示設定を規定することと、第2の時間に第2の位置情報に応答して表示設定を修正することとを含み得る。表示設定の修正は、ユーザが表示設定を修正することなく行なわれ得る。位置情報の変化は、1つ以上のディスプレイデバイスとのユーザの対話に応答し得る。
【0046】
いくつかの実現例では、コンピューティングシステム100は、たとえば、別のディスプレイデバイス140がいつ導入され、コンピューティングデバイス120によって処理されたコンテンツを表示するために補助ディスプレイデバイス140として追加され得るかを、インテリジェントに、またはユーザ介入なしに、または動的に、または自動的に、またはコンピューティングデバイス120の指定された範囲内で、検出してもよい。補助ディスプレイデバイスの追加を検出することによって、補助ディスプレイデバイス140と既存のディスプレイデバイス140との対話を制御することができる。たとえば、補助ディスプレイデバイス140は、このディスプレイデバイス140の追加の検出およびそれを反映するように更新された設定または構成に基づいて、コンピューティングデバイス120に動作可能に結合されることができ;入力または出力装置とディスプレイデバイス140との対話も、この検出に依存して制御されることができる。
図5Aに示される例示的な構成では、コンピューティングデバイス120は、ディスプレイデバイス140Bに動作可能に結合される。
図5Bに示されるように、ディスプレイデバイス140Aは、コンピューティングデバイス120およびすでに結合されたディスプレイデバイス140Bと通信し、コンピューティングシステム100内で補助ディスプレイデバイスとしての役割を果たすように、コンピューティングデバイス120に接続されるかまたは動作可能に結合されてもよい。上述のように、システムは、ディスプレイデバイス140Aの接続を、例えば、動的に、またはインテリジェントに、またはユーザ介入なしに、または自動的に検出してもよい。これは、例えば、ディスプレイデバイス140Aの物理的接続の検出、ディスプレイデバイス140Aの無線接続の検出、接続済みのディスプレイデバイス140Bのセンサ142による検出などに基づいて検出されてもよい。同様に、新たに接続されたディスプレイデバイス140Aの物理的位置は、上述のように、例えば、ディスプレイデバイス140の各々のセンサ142、144によって収集された情報に基づいて、検出されてもよい。同様に、
図5Cに示されるように、システムは、モバイルディスプレイデバイス140Dが補助ディスプレイデバイスとして機能してもよいように、例えば、コンピューティングデバイス120と通信しているか、またはその範囲内にあるモバイルディスプレイデバイス140Dを、動的に検出するか、またはインテリジェントに検出するか、またはユーザ介入なしに検出するか、または自動的に検出してもよい。
【0047】
上記で説明したように、いくつかの実現例では、ディスプレイデバイス140Aおよび/または140Dの追加を検出した後に、システムは、たとえば、ディスプレイデバイス140のうちの1つを主ディスプレイとして割り当てることを含む表示設定を、動的に検出するか、またはインテリジェントに検出するか、またはユーザ介入なしに検出するか、または自動的に検出し、割り当ててもよい。いくつかの実現例では、システムは、ディスプレイデバイス140の各々の既知の物理的位置および/または向きに基づいて、ユーザ介入なしに、接続されたディスプレイデバイス140の各々に表示されるべきコンテンツを動的に配信または転送してもよい。例えば、
図5Dに示されるように、以前に接続されたディスプレイデバイス140B上に表示されるコンテンツ152、154は、上で説明されたように、ディスプレイデバイス140Aの接続、位置、および向きの検出後に、ディスプレイデバイス140Aと140Bとの間で分散(例えば、動的に分散)されてもよい。すなわち、
図5D(1)に示すように、ディスプレイデバイス140Bには、第1のコンテンツウィンドウ152と、第2のコンテンツウィンドウ154とが表示される。ディスプレイデバイス140Aが、
図5D(2)に示されるように、コンピューティングシステム100に導入され、コンピューティングデバイス120に動作可能に結合されると、上記で説明されるようなディスプレイデバイス140Aの相対位置および向きならびに表示設定の判断/割り当てが、
図5D(3)に示されるように、表示されたコンテンツを分散するために用いられてもよい。例えば、
図5D(1)~
図5D(3)に示すように、第1のコンテンツウィンドウ152および第2のコンテンツウィンドウ154の両方が第2のディスプレイデバイス140Bに表示され、その後、第1のディスプレイデバイス140Aの検出に応答して、第2のコンテンツウィンドウ154が第1のディスプレイデバイス140Aに表示されるように、表示コンテンツが動的に配信されてもよく、第2ディスプレイデバイス140Bには、第1のコンテンツウィンドウ152が表示される。同様に、システムが、例えば、ディスプレイデバイス140Aの切断など、ディスプレイデバイス140のうちの1つの除去を検出する場合、コンテンツ150の表示(例えば、コンテンツウィンドウ152、154)は、
図5D(4)に示されるように、現在接続されているディスプレイデバイス140Bに復帰してもよい。すなわち、
図5D(3)および
図5D(4)に示すように、第1のディスプレイデバイス140Aの除去の検出に応答して、表示コンテンツは、第1のコンテンツウィンドウ152および第2のコンテンツウィンドウ154の両方が第2のディスプレイデバイス140Bに表示されるように動的に配信されてもよい。ディスプレイデバイス140の切断は、たとえば、少なくとも部分的に、ディスプレイデバイス140に関連付けられる1つ以上の位置センサ144によって収集された移動データによって、および/またはディスプレイデバイス140のコンピューティングデバイス120への動作可能な結合によって、ユーザ介入なしに動的に検出されてもよい。
図5Dに示される例示的なディスプレイデバイス140Aは、単に説明および例示を容易にするために、スタンドアロンモニタとして示されている。しかしながら、説明される原理は、モバイルディスプレイデバイス(上記で説明した例示的なモバイルディスプレイデバイス140Dなど)の検出、およびディスプレイデバイス140の検出された位置および向きに基づく、同様の方式での表示コンテンツの配信に適用されてもよい。
【0048】
たとえば、いくつかの実現例では、新たなディスプレイデバイス140(例えば、新たなスタンドアロンディスプレイデバイス、モバイルデバイスなど)の接続は、コンピューティングシステムによって、コンピューティングデバイス120への近接性、コンピューティングデバイス120への有線または無線接続などに基づいて、検出されてもよい。いくつかの実現例では、コンピューティングデバイス120は、所与の範囲内でコンピューティングデバイス120/コンピューティングシステムに以前に関連付けられた、以前に関連付けられたディスプレイデバイス140を動的に検出し、新たに検出されたディスプレイデバイス140との接続を確立し、接続されたディスプレイデバイス140間で表示コンテンツを動的に配信または再配信してもよい。いくつかの実現例では、コンピューティングデバイス120は、周期的に、または実質的に連続的に、特定の距離または範囲内で走査して、新たなディスプレイデバイス140を検出し、新たに検出されたディスプレイデバイス140との接続を確立し、接続されたディスプレイデバイス140間で表示コンテンツを動的に配信または再配信してもよい。いくつかの実現例では、コンピューティングデバイス120は、ハブなどを介して、ドッキングステーションにおけるドッキングの検出に基づいて新たなディスプレイデバイス140を検出し、新たに検出されたディスプレイデバイス140との接続を確立し、接続されたディスプレイデバイス140間で表示コンテンツを動的に配信または再配信してもよい。いくつかの実現例では、コンピューティングシステムは、上述のように新たなディスプレイデバイス140の存在を検出するが、検出されたディスプレイデバイス140の表示面が、コンピューティングデバイスおよび現在接続されているディスプレイデバイス140に関連付けられる作業空間に向き付けられていないことを検出しない場合があり、新たに検出されたディスプレイデバイス140をコンピューティングデバイス120に関連付けず、および/または新たに検出されたディスプレイデバイス140にコンテンツを配信/再配信しないことになる。
【0049】
例えば、
図5E(1)に示すように、第1および第2のコンテンツウィンドウ152および154がディスプレイデバイス140Bに表示される。モバイルディスプレイデバイス140Dが、
図5E(2)に示されるように、コンピューティングシステム100に導入または追加され、コンピューティングデバイス120に動作可能に結合されると、モバイルディスプレイデバイス140Dの相対位置および向き、ならびに上記で説明されるような表示設定の決定/割り当てが、
図5E(3)に示されるように、表示されたコンテンツを配信するために用いられてもよい。すなわち、
図5E(1)に示すように、第1のコンテンツウィンドウ152および第2のコンテンツウィンドウ154は両方とも、第2のディスプレイデバイス140B上に表示されてもよい。コンピューティングシステムに接続されたモバイルディスプレイデバイス140Bの検出に応答して、
図5E(3)に示すように、第1のコンテンツウィンドウ152が第2のディスプレイデバイス140B上に表示され、第2のコンテンツウィンドウ154がモバイルディスプレイデバイス140D上に表示されるように、表示コンテンツが動的に配信されてもよい。同様に、モバイルディスプレイデバイス140Dの除去の検出に応答して、表示コンテンツは、
図5E(4)に示すように、第1のコンテンツウィンドウ152と第2のコンテンツウィンドウ154との両方が第2のディスプレイデバイス140Bに表示されるように動的に再配信されてもよい。これらのディスプレイデバイス140との他の補助装置の対話も、モバイルディスプレイデバイス140Dの導入に応答して制御されてもよい。同様に、システムが、例えば、モバイルディスプレイデバイス140Dの切断など、ディスプレイデバイス140のうちの1つの除去を検出する場合、コンテンツ150の表示(例えば、コンテンツウィンドウ152、154)は、
図5E(4)に示されるように、現在接続されているディスプレイデバイス140Bに復帰してもよい。このようにして、コンテンツの表示は、検出されたディスプレイの物理的位置に基づいて制御されてもよい。モバイルディスプレイデバイス140Dの切断は、少なくとも部分的に、ディスプレイデバイス140に関連付けられる1つ以上の位置センサ144によって収集された移動データによって、および/またはディスプレイデバイス140のコンピューティングデバイス120への動作可能な結合によって、検出されてもよい。そのような移動データは、必要に応じて、ディスプレイデバイス140のいずれかの任意の位置センサ144によって収集されてもよく、コンテンツの表示を制御する表示設定は、複数のディスプレイデバイス140のうちの少なくとも1つのディスプレイデバイスの移動の検出に応じて自動的に構成されてもよい。
【0050】
いくつかの実現例では、
図5F(1)および
図5F(2)に示すように、コンテンツウィンドウ152、154をディスプレイデバイス140B上に表示し、モバイルディスプレイデバイス140Dの接続を検出した後に、システムは、いくつかの状況では、ディスプレイデバイス140B上に表示されたコンテンツがディスプレイデバイス140B上に表示されたままであるべきであり、モバイルディスプレイデバイス140D上での表示のために再配信されない、と判断してもよい。この状況では、モバイルディスプレイデバイス140Dは、コンピューティングシステム100/コンピューティングデバイス120に接続されたままであってもよく、補助ディスプレイデバイス140として利用可能なままであってもよいが、コンテンツウィンドウ152、154は、
図5F(3)に示されるように、ディスプレイデバイス140B上に表示されたままである。
【0051】
いくつかの実現例では、コンピューティングシステム/コンピューティングデバイスは、たとえば、コンテンツのタイプ、接続されたディスプレイデバイス140の向きなどに基づいて、たとえば、表示コンテンツをどのように配信および/または再配信するかをインテリジェントに決定してもよい。たとえば、いくつかの実現例では、コンピューティングデバイス120は、垂直に向き付けられたディスプレイデバイス140上、主ディスプレイデバイス140として割り当てまたは指定されたディスプレイデバイス140上などに位置決めされた生産性関連コンテンツ、ユーザによって現在用いられているコンテンツウィンドウなどを維持してもよい。いくつかの実現例では、コンピューティングデバイス120は、スタイラスまたは他のグラフィックス関連入力手段を用いて操作されてもよい、水平に向き付けられたディスプレイデバイス140に、コンテンツを配信または再配信してもよい。いくつかの実現例では、コンピューティングデバイス120は、ユーザが特定の表示コンテンツと対話していない/対話しなかったと判断し、その表示コンテンツを主ディスプレイデバイス140から他のディスプレイデバイス140のうちの1つ(水平または垂直に向き付けられた)に配信または再配信してもよい。
【0052】
上述のように、センサ142、144によって収集された情報は、実世界環境において、ディスプレイデバイス140の物理的位置および/または向き、ならびにディスプレイデバイス140の互いに対する位置/向きを判断するために用いられてもよい。いくつかの実現例では、ディスプレイデバイス140のこれらの既知の物理的位置および/または向きは、ディスプレイデバイス140間の空間、または間隙、または非表示領域を判断するために用いられてもよい。これらの非表示領域は、より直感的なつながりのある体験をユーザに提供するために、表示設定を割り当てるとき、コンテンツを移動させるときなどに考慮されてもよい。
【0053】
たとえば、
図6Aに示すように、いくつかの実現例では、第1のディスプレイデバイス140Aと第2のディスプレイデバイス140Bとの間に物理的空間Sまたは間隙Sまたは非表示領域Sが形成されてもよい。第1のディスプレイデバイス140Aと第2のディスプレイデバイス140Bとの間の物理的間隙または空間Sは、距離D3を有する非表示領域を画定してもよい。いくつかの実現例では、第1のディスプレイデバイス140Aは、第1のディスプレイデバイス140Aの表示領域149Aを囲むベゼル148Aを有してもよい。第1のディスプレイデバイス140Aのベゼル148Aは、距離D1を有する非表示領域を画定してもよい。いくつかの実現例では、第2のディスプレイデバイス140Bは、第1のディスプレイデバイス140Bの表示領域149Bを囲むベゼル148Bを有してもよい。第2のディスプレイデバイス140Bのベゼル148Bは、距離D2を有する非表示領域を画定してもよい。ディスプレイデバイス140の各々の比較的精密な物理的位置および/または向きは、上で説明されるようにわかっていてもよいので、
図6Aに示される例示的な非表示領域の各々は、(例えば、入力装置130のうちの1つのユーザ操作に応答して)表示設定を設定/割り当て、ディスプレイデバイス140間でコンテンツを移動させるときに、考慮に入れられてもよい。このようにして、検出されたディスプレイデバイス140の物理的位置に基づいて、コンテンツの表示が制御されてもよい。コンテンツを移動させるときにこれらの非表示領域を考慮に入れることは、よりインテリジェントなウィンドウマネージャを提供し得、これは、ディスプレイデバイス140上に表示されるコンテンツとのより直感的な繋がりのある対話をユーザに提供し得る。
【0054】
たとえば、
図6B、
図6C、および
図6Dに示すように、いくつかの実現例では、コンテンツウィンドウ152が第1のディスプレイデバイス140Aの表示領域149Aから第2のディスプレイデバイス149Bの表示領域149Bに移動されるとき、非表示領域(すなわち、ディスプレイデバイス140A、140B間の物理的空間S、およびディスプレイデバイス140A、140Bに関連付けられる任意のベゼル148)に対応するコンテンツウィンドウ152の部分は表示されない。ディスプレイデバイス140の既知の物理的位置および/または向きによって可能にされる、非表示領域に対するこのような考慮は、第1のディスプレイデバイス140Aから第2のディスプレイデバイス140Bにコンテンツを移動させる際の、より現実的な体験を提供し得る。すなわち、いくつかの実現例では、ディスプレイデバイス140の各々の既知の物理的位置および/または向きに基づいて、隣接するディスプレイデバイス間のコンテンツの移動、たとえば、
図6A~
図6Dに関して説明したように、第1のディスプレイデバイス140Aと第2のディスプレイデバイス140Bとの間のコンテンツウィンドウ152の移動などは、隣接するディスプレイデバイス140間の物理的空間Sまたは間隙を考慮に入れるよう遅延されてもよい。いくつかの実現例では、コンテンツウィンドウ152は、
図6B~
図6Dに示すように、コンテンツウィンドウ152が新たな(第2の)ディスプレイデバイス140Bに完全に移動するまで、元の(第1の)ディスプレイデバイス140Aの向きを維持してもよい。コンテンツウィンドウ152が新たな(第2の)ディスプレイデバイス140Bに完全に移動されると、コンテンツウィンドウ152の向きは、
図6Eに示すように、新たな(第2の)ディスプレイデバイス140Bの向きに対応してもよい。表示ウィンドウが完全に移行されるまで、元ディスプレイデバイス140の向きに対応するコンテンツウィンドウ152の向きを維持することは、ユーザがコンテンツウィンドウ152の始まりおよびそれの慎重な移動の認識を維持することを可能にし得る。したがって、マルチスクリーン環境における制御が改善され得る。
【0055】
いくつかの実現例では、ディスプレイデバイス140は、物理的に整列されてもよく、たとえば、水平に整列されてもよく、または垂直に整列されてもよい。たとえば、
図6E、
図6F、および
図6Gは、第1のディスプレイ140Aおよび第2のディスプレイ140Bが水平に整列されていない例を示す。この例では、コンテンツウィンドウ152が第1のディスプレイデバイス140Aの表示領域149Aから第2のディスプレイデバイス149Bの表示領域149Bに移動されるので、
図6Fに示すように、コンテンツウィンドウ152の、非表示領域(すなわち、ディスプレイデバイス140A、140B間の物理的空間S、およびディスプレイデバイス140A、140Bに関連付けられる任意のベゼル148)に対応する部分は、表示されない。ディスプレイデバイス140の既知の物理的位置および/または向きによって可能にされる、非表示領域に対するこのような考慮は、第1のディスプレイデバイス140Aから第2のディスプレイデバイス140Bにコンテンツを移動させる際の、より現実的な体験を提供し得る。いくつかの実現例では、コンテンツウィンドウ152は、
図6Fに示すように、コンテンツウィンドウ152が新たな(第2の)ディスプレイデバイス140Bに完全に移動するまで、元の(第1の)ディスプレイデバイス140Aの向きを維持してもよい。コンテンツウィンドウ152が新たな(第2の)ディスプレイデバイス140Bに完全に移動されると、コンテンツウィンドウ152の向きは、
図6Gに示すように、新たな(第2の)ディスプレイデバイス140Bの向きに対応してもよい。コンテンツウィンドウ152が完全に移行されるまで、コンテンツウィンドウ152の向き、ならびに元ディスプレイデバイス140の水平位置決めに対応するコンテンツウィンドウ152の水平位置決めを維持することは、ユーザがコンテンツウィンドウ152の始まりおよび意図的な移動の認識を維持することを可能にしてもよい。したがって、マルチスクリーン環境における制御が改善され得る。
【0056】
いくつかの実現例では、複数のモバイルディスプレイデバイスは、単一の、より大きいディスプレイを形成するために、互いに接合されてもよい。モバイルディスプレイデバイスの、概してより小さく、よりポータブルなフォームファクタ(例えば、タブレットコンピューティングデバイスによって提供される等)は、より小型のポータブルなディスプレイデバイスからより大きいディスプレイデバイスを組み立てることを可能にし得る。たとえば、
図7Aに示されるように、いくつかの実現例では、複数のモバイルディスプレイデバイス140Dは、
図7Cに示されるように、複数のより小さいモバイルディスプレイデバイス140Dから本質的に単一の比較的大きいディスプレイデバイスを形成するために、互いの近くに(たとえば、隣接して)位置決めされてもよい。
図7Aに示す例では、単に説明および例示の目的で、6つのモバイルディスプレイデバイス140Dが含まれる。しかしながら、より多くの、またはより少ないモバイルディスプレイデバイス140Dが、本質的に単一のディスプレイデバイスを形成するように、このようにして相互に隣接して位置決めされてもよい。同様に、
図7A~
図7Cに示す6つのモバイルディスプレイデバイス140Dの例示的な構成は、単に説明および例示を容易にするために、アレイ状に配置されている。いくつかの実現例では、モバイルディスプレイデバイス140Dは、
図7Cに示す本質的に単一の比較的大きいディスプレイデバイスを画定するために、他の構成で結合されてもよい。
図7Bに示されるモバイルディスプレイデバイス140Bの構成の背面図に示されるように、いくつかの実現例では、フレーム200は、複数のディスプレイデバイス140Bから形成される単一のディスプレイデバイスの移動を制限し、単一のディスプレイデバイスが実質的に垂直の位置に位置決めされることを可能にするよう、モバイルディスプレイデバイス140Bを物理的に結合してもよい。このようにして、1つ以上のコンテンツウィンドウは、モバイルディスプレイデバイス140Bの各々の既知の位置および/または向きに応答して、このように配置された複数のモバイルディスプレイデバイス140Bにわたって連続的に(たとえば、実質的に連続的に)表示されてもよい。本明細書で説明する方法で単一のインテリジェントなウィンドウマネージャ内でレンダリングされたコンテンツの制御を統合することによって、ディスプレイデバイスのそのような構成をより容易に管理してもよい。
【0057】
いくつかの実現例では、画像センサ142によって収集された画像情報におけるユーザの頭部の位置/向きの検出は、ディスプレイデバイス140のうちの1つ以上に表示されるべきコンテンツ150のスケールを設定するために用いられてもよい。いくつかの実現例では、システムは、画像センサ142によって収集された画像情報においてコマンドジェスチャまたはジェスチャの動きを検出してもよい。たとえば、いくつかの実現例では、システムは、ディスプレイデバイス140に対するユーザの頭部正面/眼の注視の動きを検出してもよく、検出されたジェスチャの動きに基づいて、コンテンツスケールなどを含む表示設定を設定および/または調整してもよい。このようにして、検出されたディスプレイデバイス140の物理的位置に基づいて、コンテンツの表示が制御されてもよい。たとえば、いくつかの実現例では、たとえば、画像センサ142によって収集された画像情報に基づいた、ユーザの頭部とディスプレイデバイス140との間の距離Dが、ディスプレイデバイス140上に表示されるコンテンツ150のスケールを設定するために用いられてもよい。
図8Aに示されるように、距離D1において、コンテンツ150は、第1のスケール150-1でディスプレイ140上に表示されてもよい。いくつかの実現例では、システムは、
図8Bに示すように、距離D1から距離D2への、ディスプレイデバイス140に向かう、またはそれに近い、ユーザの頭部の、検出された移動という形で、画像センサ142によって収集された画像情報中のジェスチャの動きを検出してもよい。このジェスチャの動きは、ユーザ入力と見なすことができる。ディスプレイデバイス140に向かう、ユーザの頭部の、検出された移動は、ディスプレイデバイス140上に表示されるコンテンツ150に、第1のスケール150-1から
図8Bに示される第2のスケール150-2にスケールを増加させてもよい(すなわち、ズームイン効果)。同様に、
図8Cに示される距離D2から距離D3への、ディスプレイデバイス140から離れるユーザの頭部の検出された移動は、ディスプレイデバイス140上に表示されるコンテンツ150を、第2のスケール150-2から第3のスケール150-3に縮小させてもよい(すなわち、ズームアウト効果)。したがって、ディスプレイデバイス140は、ユーザ入力に応答して制御されてもよい。
【0058】
いくつかの実現例では、センサ142、144によって収集された情報において、たとえば、検出された横方向の頭部または注視の動き(すなわち、検出された、側方から側方への、または左右の、頭部正面/眼の注視の動き)の形で検出されたジェスチャは、検出された動きの方向に基づいて、コンテンツを隣接するディスプレイデバイス140にシフトさせてもよい。たとえば、
図8Dに示す第1の注視方向G1から
図8Eに示す方向G2への、検出された横方向注視シフトの形のジェスチャは、第2のディスプレイデバイス140Bに表示されたコンテンツ150を第1のディスプレイデバイス140Aに表示させてもよい。
【0059】
同様に、いくつかの実現例では、センサ142、144によって収集された情報において、たとえば、垂直方向における検出された頭部正面/眼の注視の動き(すなわち、上下の頭部正面/眼の注視の動き)の形で検出されたジェスチャは、検出された動きの方向に基づいて、コンテンツを隣接するディスプレイデバイス140にシフトさせてもよい。たとえば、
図8Fに示される注視方向G1から
図8Gに示される方向G3への、検出された垂直注視シフトの形のジェスチャは、第2のディスプレイデバイス140B上に表示されるコンテンツ150を水平に向き付けられたモバイルディスプレイデバイス140D上に表示させてもよい。
【0060】
いくつかの実現例では、頭部装着型ディスプレイデバイス140Eは、
図8Kに示すように、ユーザによって装着されてもよい。いくつかの実現例では、頭部装着型ディスプレイデバイス140Eは、たとえば、実世界環境1000上に重ね合わされた拡張現実オブジェクトを含む、拡張現実環境をユーザに提示してもよい。いくつかの実現例では、頭部装着型ディスプレイデバイス140Eは、コンピューティングデバイス120に動作可能に結合され得、コンピューティングシステム内で接続されたディスプレイデバイス140としての役割を果たしてもよい。
図8Kに示される例示的な構成では、上述のように検出されるジェスチャは、例えば、
図8Kに示される注視方向G1から
図8Lに示される注視方向G2への、検出された横方向の頭部または注視の動き(すなわち、検出された、側方から側方への、または左右の、頭部正面/眼の注視の動き)の形であり、第2のディスプレイデバイス140B上に表示されるコンテンツ150を、頭部装着型ディスプレイデバイス140Eによって拡張現実オブジェクト150Aとして表示させてもよい。
【0061】
いくつかの実現例では、センサ142、144によって収集された画像情報における頭部正面/眼の注視ジェスチャの検出は、ディスプレイデバイス140のうちの1つ以上に表示されるコンテンツに関して他のアクションを取らせてもよい。たとえば、いくつかの実現例では、センサ142、
144によって収集された情報において検出された頷き、瞬きなどが、表示されたウィンドウを最小化すること、アプリケーションを閉じることなどを引き起こしてもよい。
図8Hに示す例では、第1および第2のコンテンツウィンドウ152、154がディスプレイデバイス140上に表示され、ユーザの注視が第1のコンテンツウィンドウ152に向けられている。画像センサ142によって収集された画像情報内で検出された、
図8Iに示されるような検出された瞬きは、コンピューティングデバイスに、
図8Jに示されるように、第1のコンテンツウィンドウ152を最小化または閉じさせてもよい。
【0062】
いくつかの実現例では、センサ142、144によって収集された画像情報における頭部正面/眼の注視ジェスチャの検出は、たとえばカーソルなどの視覚インジケータを、たとえばカーソルおよび/またはスクリーンタイムアウト後、カーソルが他の態様ではディスプレイデバイス140上に表示されるコンテンツなどに起因して見えないときなどに、ユーザの注視が向けられるディスプレイデバイス140のうちの1つ上のある位置に出現させることができる。
【0063】
図1~
図8Jに関して上記で説明した例示的なシステムおよび方法では、ディスプレイデバイス140は、ディスプレイデバイス140に本質的に統合されるかまたはそれに組み込まれるセンサ142、144を含む。いくつかの実現例では、たとえば、接続可能な外部ウェブカメラなどの他のセンサが、同様の方法でシステムによって処理されるべきデータを収集してもよい。たとえば、いくつかの実現例では、ディスプレイデバイス上のウェブカメラを、当該ディスプレイデバイス上のある設定位置において設置することは、実世界環境におけるディスプレイデバイスの物理的位置および/または向きを判断するために、上で説明されたように処理されるべき画像情報収集および提供してもよい。
【0064】
図9は、本明細書で説明する実現例による、コンピューティングシステム100を動作させる方法のフローチャートである。
図9に示されるように、コンピューティングデバイスおよび複数のディスプレイデバイスを含むコンピューティングシステムにおいて、本明細書で説明される実現例によれば、1つ以上のディスプレイデバイスが、コンピューティングデバイスと通信していると検出されてもよい(ブロック910)。上述のように、ディスプレイデバイスは、例えば、コンピューティングデバイスへの接続(有線または無線)、コンピューティングデバイスへの近接性、コンピューティングデバイスとの以前の関連付けなどに基づいて検出されてもよい。ディスプレイデバイスは、画像情報(例えば、ディスプレイデバイスの画像センサによって収集される)および/または位置/向き情報(例えば、ディスプレイデバイスのIMUなどの位置センサによって収集される)のうちの少なくとも1つを収集し、ディスプレイデバイスの物理的位置および/または向きの判断のために、収集された画像および/または位置情報をコンピューティングデバイスに提供してもよい(ブロック920)。コンテンツは、検出されたディスプレイデバイス上に、ディスプレイデバイスの判断された物理的位置および/または向きに基づいて、表示されてもよい(ブロック940)。ディスプレイデバイス上のコンテンツの表示は、検出されたディスプレイデバイスのうちの1つ以上のディスプレイデバイスの物理的位置/向きにおける検出された変化に応答して(ブロック950)動的に調整されてもよい(ブロック960)。同様に、新たなディスプレイデバイスの検出に応答して(ブロック970)、ディスプレイデバイスの物理的位置および/または向きの判定が、ディスプレイデバイスに関連付けられる画像および/または位置情報に基づいて判断(たとえば、再判断)されてもよく(ブロック920)、ディスプレイデバイスの判断された物理的位置および/または向きに基づいて、コンテンツが表示され(ブロック940)、および/または動的に再調整されてもよい(ブロック960)。このプロセスは、セッションの終了が検出されるまで継続してもよい(ブロック980)。
【0065】
図10は、本明細書で説明される技法とともに用いられてもよい、汎用コンピュータデバイス2000および汎用モバイルコンピュータデバイス2050の例を示す。コンピューティングデバイス2000は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、テレビ、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピューティングデバイスなど、様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス2050は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルデバイスを表すことを意図している。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本文書に記載および/または特許請求される本発明の実現例を限定するものではない。
【0066】
コンピューティングデバイス2000は、プロセッサ2002と、メモリ2004と、ストレージデバイス2006と、メモリ2004および高速拡張ポート2010に接続する高速インターフェイス2008と、低速バス2014およびストレージデバイス2006に接続する低速インターフェイス2012とを含む。プロセッサ2002は、半導体ベースのプロセッサとすることができる。メモリ2004は、半導体ベースのメモリとすることができる。コンポーネント2002,2004,2006,2008,2010,および2012の各々は、様々なバスを用いて相互接続され、共通のマザーボード上に、または必要に応じて他の方法で実装されてもよい。プロセッサ2002は、高速インターフェイス2008に結合されたディスプレイ2016などの外部入力/出力装置上にGUIのためのグラフィカル情報を表示するために、メモリ2004またはストレージデバイス2006に記憶された命令を含む、コンピューティングデバイス2000内で実行するための命令を処理することができる。他の実現例では、複数のプロセッサおよび/または複数のバスが、必要に応じて、複数のメモリおよびメモリのタイプとともに用いられてもよい。また、複数のコンピューティングデバイス2000が接続されてもよく、各デバイスは、(たとえば、サーババンクとして、ブレードサーバのグループとして、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0067】
メモリ2004は、コンピューティングデバイス2000内に情報を記憶する。一実現例では、メモリ2004は、1つ以上の揮発性メモリユニットである。別の実現例では、メモリ2004は、1つ以上の不揮発性メモリユニットである。メモリ2004はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
【0068】
ストレージデバイス2006は、コンピューティングデバイス2000のための大容量ストレージを提供することができる。一実現例では、ストレージデバイス2006は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、もしくはテープ装置、フラッシュメモリもしくは他の類似の固体メモリ装置、もしくはストレージエリアネットワークもしくは他の構成の装置を含む装置のアレイなどのコンピュータ可読媒体であるかまたはそれらを含んでもよい。コンピュータプログラム製品は、情報担体において有形に具現化することができる。コンピュータプログラム製品はまた、実行されると、上記で説明したものなどの1つ以上の方法を実行する命令を含んでもよい。情報担体は、メモリ2004、ストレージデバイス2006、またはプロセッサ2002上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0069】
高速コントローラ2008は、コンピューティングデバイス2000のための帯域幅集約型動作を管理し、低速コントローラ2012は、より低い帯域幅集約型動作を管理する。このような機能の割り当ては例示に過ぎない。一実現例では、高速コントローラ2008は、(例えば、グラフィックスプロセッサまたはアクセラレータを介して)メモリ2004、ディスプレイ2016に、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート2010に、結合される。この実現例では、低速コントローラ2012は、ストレージデバイス2006および低速拡張ポート2014に結合される。低速拡張ポートは、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含んでもよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つ以上の入力/出力装置に、たとえばネットワークアダプタを介して結合されてもよい。
【0070】
コンピューティングデバイス2000は、図に示されるように、いくつかの異なる形態で実現されてもよい。例えば、標準サーバ2020として、またはそのようなサーバのグループ内で複数回実現されてもよい。それは、ラックサーバシステム2024の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ2022などのパーソナルコンピュータにおいて実現されてもよい。代替として、コンピューティングデバイス2000からのコンポーネントは、デバイス2050等のモバイルデバイス(図示せず)内の他のコンポーネントと組み合わせられてもよい。そのようなデバイスの各々は、コンピューティングデバイス2000、2050のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス2000、2050から構成されてもよい。
【0071】
コンピューティングデバイス2050は、他のコンポーネントの中でもとりわけ、プロセッサ2052と、メモリ2064と、ディスプレイ2054などの入出力装置と、通信インターフェイス2066と、トランシーバ2068とを含む。デバイス2050はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスを設けられてもよい。コンポーネント2050,2052,2064,2054,2066,および2068の各々は、様々なバスを用いて相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上に、または必要に応じて他の方法で実装されてもよい。
【0072】
プロセッサ2052は、コンピューティングデバイス2050内で、メモリ2064に記憶された命令を含む命令を実行することができる。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス2050によって実行されるアプリケーション、およびデバイス2050によるワイヤレス通信など、デバイス2050の他のコンポーネントの調整を提供してもよい。
【0073】
プロセッサ2052は、ディスプレイ2054に結合された制御インターフェイス2058およびディスプレイインターフェイス2056を介してユーザと通信してもよい。ディスプレイ2054は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス2056は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ2054を駆動するための適切な回路を備えてもよい。制御インターフェイス2058は、ユーザからコマンドを受信し、それらをプロセッサ2052に提出するために変換してもよい。さらに、デバイス2050と他のデバイスとの近距離通信を可能にするために、プロセッサ2052と通信する外部インターフェイス2062を設けてもよい。外部インターフェイス2062は、例えば、いくつかの実現例では有線通信を提供してもよく、他の実現例では無線通信を提供してもよく、複数のインターフェイスも用いられてもよい。
【0074】
メモリ2064は、コンピューティングデバイス2050内に情報を記憶する。メモリ2064は、1つ以上のコンピュータ可読媒体、1つ以上の揮発性メモリユニット、または1つ以上の不揮発性メモリユニットのうちの1つ以上として実現され得る。拡張メモリ2074も提供され、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェイスを含んでもよい拡張インターフェイス2072を介してデバイス2050に接続されてもよい。そのような拡張メモリ2074は、デバイス2050のための追加の記憶空間を提供してもよく、またはデバイス2050のためのアプリケーションもしくは他の情報を記憶してもよい。具体的には、拡張メモリ2074は、上記で説明したプロセスを実行または補足するための命令を含んでもよく、セキュリティ保護された情報も含んでもよい。したがって、たとえば、拡張メモリ2074は、デバイス2050のためのセキュリティモジュールとして提供されてもよく、デバイス2050のセキュリティ保護された使用を可能にする命令でプログラムされてもよい。さらに、ハッキング不可能な方法でSIMMカード上に識別情報を配置するなど、追加の情報とともに、SIMMカードを介して、セキュリティ保護されたアプリケーションを提供してもよい。
【0075】
メモリは、以下で説明するように、たとえば、フラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実現例では、コンピュータプログラム製品が、情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上述の方法などの1つ以上の方法を実行する命令を含む。情報担体は、メモリ2064、拡張メモリ2074、もしくはプロセッサ2052上のメモリなどのコンピュータ可読媒体または機械可読媒体であり、たとえば、トランシーバ2068または外部インターフェイス2062を介して受信されてもよい。
【0076】
デバイス2050は、必要に応じてデジタル信号処理回路を含んでもよい通信インターフェイス2066を介してワイヤレスに通信してもよい。通信インターフェイス2066は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、もしくはGPRSなどの様々なモードまたはプロトコルの下での通信を提供してもよい。そのような通信は、例えば、無線周波数トランシーバ2068を介して行われてもよい。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)などを用いて、短距離通信が生じてもよい。加えて、GPS(全地球測位システム)受信機モジュール2070が、デバイス2050上で実行されるアプリケーションによって適宜用いられてもよい追加のナビゲーションおよび位置関連無線データをデバイス2050に提供してもよい。
【0077】
デバイス2050はまた、音声コーデック2060を用いて可聴的に通信してもよく、これは、ユーザから発話された情報を受信し、それを使用可能なデジタル情報に変換してもよい。音声コーデック2060は、同様に、たとえばデバイス2050のハンドセット内のスピーカなどを通じて、ユーザのために可聴音を生成してもよい。そのような音声は、音声電話通話からの音を含んでもよく、録音された音(例えば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス2050上で動作するアプリケーションによって生成される音も含んでもよい。
【0078】
コンピューティングデバイス2050は、図に示されるように、いくつかの異なる形態で実現されてもよい。例えば、それは、携帯電話2080として実現されてもよい。それは、スマートフォン2082、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【0079】
本明細書に記載のシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現され得る。これらのさまざまな実現例は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実現例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信するように、かつこれらにデータおよび命令を送信するように結合されている。
【0080】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサのための機械命令を含み、高水準手続き型および/もしくはオブジェクト指向型プログラミング言語で、ならびに/またはアセンブリ/機械言語で実現することができる。本明細書で使用されるとき、用語「機械可読媒体」「コンピュータ可読媒体」は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するよう使用される任意のコンピュータプログラム製品、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0081】
ユーザとの対話を提供するために、ここに記載されるシステムおよび技術は、(たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといった)ユーザに対して情報を表示するためのディスプレイデバイスと、(たとえばマウスまたはトラックボールといった)ユーザがコンピュータに入力を提供可能であるキーボードおよびポインティングデバイスとを有するコンピュータ上で実現され得る。他の種類のデバイスを用いて、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信することができる。
【0082】
本明細書で説明されるシステムおよび技術は、(たとえばデータサーバとして)バックエンドコンポーネントを含む計算システムにおいて実現され得るか、(たとえばアプリケーションサーバといった)ミドルウェアコンポーネントを含む計算システムにおいて実現され得るか、(たとえば本明細書で説明されるシステムおよび技術の実現例とユーザが対話することが可能であるグラフィカルユーザーインターフェイスもしくはウェブブラウザを有するクライアントコンピュータといった)フロントエンドコンポーネントを含む計算システムにおいて実現され得るか、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せを含む計算システムにおいて実現され得る。システムのコンポーネントは、(たとえば通信ネットワークといった)デジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【0083】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは一般に互いから遠隔にあり、典型的には通信ネットワークを通じて対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されるとともに互いに対してクライアント-サーバ関係を有するコンピュータプログラムによって生ずる。
【0084】
多数の実施形態が記載された。それにもかかわらず、本発明の精神および範囲から逸脱することなく、様々な修正がなされ得ることが理解されるであろう。
【0085】
加えて、図面において示される論理フローは、望ましい結果を達成するために、示された特定の順序または連続する順序を必要としない。さらに、説明されたフローから、他のステップが与えられてもよく、またはステップが削除されてもよく、他の構成要素が、説明されたシステムに追加され、またはそこから除去されてもよい。従って、他の実施形態は以下の請求の範囲内にある。
【0086】
上記の説明に加えて、本明細書で説明されるシステム、プログラム、または特徴がユーザ情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクション、またはアクティビティ、職業、ユーザの嗜好、またはユーザの現在位置についての情報)の収集を可能にし得るかどうかおよび何時そうであり得るかの両方、ならびにユーザがサーバからコンテンツまたは通信を送信されるかどうかに関してユーザが選択を行うことを可能にする制御が、ユーザに提供されてもよい。さらに、特定のデータは、個人的に識別可能な情報が取り除かれるように、記憶または使用前に、1つ以上の方法で処理されてもよい。例えば、ユーザの素性は、ユーザについて個人的に識別可能な情報を判断できないように扱われてもよく、またはユーザの地理的位置は、(例えば、都市、ZIPコード、または州レベルに関して)位置情報が得られる場合に、ユーザの特定の位置を判断することができないように、一般化されてもよい。したがって、ユーザは、ユーザに関してどのような情報が収集されるか、その情報がどのように用いられるか、およびどのような情報がユーザに提供されるかについて、制御することができる。