(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0030】
付属の図面では、同様のコンポーネント及び/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプのさまざまなコンポーネントは、同様のコンポーネントの中で区別する文字で参照ラベルをたどることによって、区別することができる。第1の参照ラベルのみが本明細書で使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントのいずれか1つに適用可能である。
【0031】
本明細書で提示するものは、デバイスの実施形態である。デバイスは、携帯電話または他のスマートデバイスなど通信デバイスであり得る。デバイスは、いくつかのユニークなディスプレイ構成を提供するように方向付けられた2つの画面を含み得る。さらに、デバイスは、ユニークな方法でユーザ入力を受信することができる。デバイスの総合的な設計及び機能性は、デバイスをより有用に及びより効果的にするユーザ経験を高めることを実現する。
機械的な特徴:
図1A〜1Jは、本開示の実施形態によるデバイス100を示す。以下でさらに詳細に説明されるように、デバイス100は、多くの異なる方法で配置することができ、そのそれぞれが異なる機能性をユーザに提供する。デバイス100は、その両方がタッチセンサ式の一次画面104と二次画面108とを含む複数画面デバイスである。実施形態では、画面104及び108の前面全体は、タッチセンサ式であり得、ユーザが画面104及び108の前面に触れることによって入力を受信することができる。一次画面104は、タッチセンサ式ディスプレイ110を含み、タッチセンサ式ディスプレイ110は、タッチセンサ式であることに加えて、ユーザに情報を表示することも行う。二次画面108は、タッチセンサ式ディスプレイ114を含み、タッチセンサ式ディスプレイ114もまたユーザに情報を表示する。他の実施形態では、画面104及び108は、2つ以上のディスプレイエリアを含み得る。
【0032】
また、一次画面104は、ユーザが構成可能なエリア112の一部に触れる際の特定の入力用に構成済みの構成可能なエリア112も含む。二次画面108もまた、特定の入力用に構成済みの構成可能なエリア116を含む。エリア112a及び116aは、ユーザが以前に表示された情報を閲覧することを望むことを示す「バック」入力を受信するよう構成済みである。エリア112b及び116bは、ユーザがメニューからオプションを閲覧することを望むことを示す「メニュー」入力を受信するよう構成済みである。エリア112c及び116cは、ユーザが「ホーム」ビューに関連付けられた情報を閲覧することを望むことを示す「ホーム」入力を受信するよう構成済みである。他の実施形態では、エリア112a〜c及び116a〜cは、上記で説明される構成に加えて、デバイス100の特徴の制御を含む他のタイプの特定の入力用に構成することができ、いくつかの非限定的な例としては、全体的なシステムパワーの調整、音量の調整、輝度の調整、振動の調整、表示アイテムの選択(画面104または108のいずれか)、カメラの操作、マイクロホンの操作及び通話の開始/終了が挙げられる。また、いくつかの実施形態では、エリア112a〜c及び116a〜cは、デバイス100上で実行するアプリケーション及び/またはタッチセンサ式ディスプレイ110及び/または114上に表示される情報に応じて特定の入力用に構成することができる。
【0033】
タッチセンサ式に加えて、一次画面104及び二次画面108は、ユーザが画面のディスプレイエリアに触れる必要なく、ユーザから入力を受信するエリアも含む。例えば、一次画面104は、ジェスチャ捕捉エリア120を含み、二次画面108は、ジェスチャ捕捉エリア124を含む。これらのエリアは、例えば、ユーザが実際にディスプレイエリアの表面に触れる必要なく、ユーザによって行われたジェスチャを認識することにより、入力を受信することができる。タッチセンサ式ディスプレイ110及び114と比較すると、ジェスチャ捕捉エリア120及び124は、一般には、表示画像をレンダリングすることはできない。
【0034】
2つの画面104及び108は、ヒンジ128で接続され、ヒンジ128は、
図1C(デバイス100の背面図を示す)で明確に示される。
図1A〜1Jに示される実施形態では、ヒンジ128は、画面104と108とを接続する中央のヒンジであり、その結果、ヒンジを閉じると、画面104と108は、
図1B(デバイス100の正面図を示す)に示されるように並置される(すなわち、隣り合わせになる)。ヒンジ128を開いて、2つの画面104及び108を相対的に互いに異なる配置にすることができる。以下でさらに詳細に説明するように、デバイス100は、画面104及び108の相対位置に応じて異なる機能性を有し得る。
【0035】
図1Dは、デバイス100の右側を示す。
図1Dに示されるように、二次画面108は、その側面にカードスロット132とポート136も含む。実施形態では、カードスロット132は、加入者識別モジュール(SIM)を含む異なるタイプのカードを収容する。実施形態では、ポート136は、ディスプレイ、キーボードまたは印刷デバイスなどの他の周辺デバイスにデバイス100を接続することを可能にする入力/出力ポート(I/Oポート)である。理解できるように、これらは単なる例示の一部であり、他の実施形態では、デバイス100は、追加のメモリデバイスを収容するための及び/または他の周辺デバイスを接続するためのスロット及びポートなどの他のスロット及びポートを含み得る。また、
図1Dには、例えば、ユーザのヘッドホンまたはヘッドセットの利用を可能にするチップ、リング、スリーブ(TRS)コネクタを収容する音声ジャック140も示されている。
【0036】
また、デバイス100は、多数のボタン158も含む。例えば、
図1Eは、デバイス100の左側を示す。
図1Eに示されるように、一次画面104の側面は、3つのボタン144、148及び152を含み、これらのボタンは、特定の入力用に構成することができる。例えば、ボタン144、148及び152は、組み合わせて、または単独で、デバイス100の多くの態様を制御するよう構成することができる。いくつかの非限定的な例としては、全体的なシステムパワー、音量、輝度、振動、表示アイテムの選択(画面104または108のいずれか)、カメラ、マイクロホン及び通話の開始/終了が挙げられる。いくつかの実施形態では、別々のボタンの代わりに、2つのボタンを組み合わせてロッカーボタンにすることができる。この構成は、音量または輝度などの特徴を制御するようにボタンが構成された状況において有用である。ボタン144、148及び152に加えて、デバイス100は、デバイス100の上側を示す
図1Fに示されるようなボタン156も含む。一実施形態では、ボタン156は、デバイス100への全体的なシステムパワーの制御に使用されるオン/オフボタンとして構成される。他の実施形態では、ボタン156は、システムパワーの制御に加えてまたはシステムパワーの制御の代わりに、デバイス100の他の態様を制御するよう構成される。いくつかの実施形態では、ボタン144、148、152及び156のうちの1つまたは複数は、異なるユーザコマンドをサポートすることができる。一例として、通常のプレスは、一般に、約1秒未満の持続時間を有し、クイックタップに似ている。中程度のプレスは、一般に、1秒以上だが約12秒未満の持続時間を有する。長時間のプレス(長押し)は、一般に、約12秒以上の持続時間を有する。ボタンの機能は、通常、現時点でそれぞれのディスプレイ110及び114に焦点が合わせられているアプリケーションに特有である。例えば、通話アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、通話終了、通話音量の増加、通話音量の減少、マイクロホンのミュートの切り替えを意味し得る。例えば、カメラまたは映像アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、ズーム拡大、ズーム縮小、写真撮影または映像記録を意味し得る。
【0037】
また、デバイス100には、多くのハードウェアコンポーネントが存在する。
図1Cに示されるように、デバイス100は、スピーカ160とマイクロホン164とを含む。また、デバイス100は、カメラ168(
図1B)も含む。それに加えて、デバイス100は、2つの位置センサ172a及び172bを含み、位置センサ172a及び172bは、画面104及び108の相対位置の決定に使用される。一実施形態では、位置センサ172a及び172bは、ホール効果センサである。しかし、他の実施形態では、ホール効果センサに加えて、またはホール効果センサの代わりに、他のセンサを使用することができる。また、デバイス100の一部として、加速度計176を含めて、デバイス100の向き及び/または画面104及び108の向きを決定することもできる。デバイス100に含めることができる追加の内部のハードウェアコンポーネントについては、
図2に関連して、以下で説明する。
【0038】
デバイス100の総合的な設計は、他の通信デバイスで利用不可能な追加の機能性の提供を可能にする。機能性のいくつかは、デバイス100が有し得るさまざまな位置及び向きに基づく。
図1B〜1Gに示されるように、デバイス100は、画面104と108が並置される「開」位置で操作することができる。この位置により、ユーザに情報を表示するための大きなディスプレイエリアが可能になる。デバイス100が開位置にあると位置センサ172a及び172bが決定すると、位置センサ172a及び172bは、両方の画面104及び108上での情報の表示などの異なるイベントのトリガに使用することができる信号を生成することができる。追加のイベントは、デバイス100が横向き位置(図示せず)と対向する縦向き位置(
図1B)にあると加速度計176が決定した場合にトリガすることができる。
【0039】
開位置に加えて、デバイス100は、
図1Hに示されるような「閉」位置も有し得る。この場合もやはり、位置センサ172a及び172bは、デバイス100が「閉」位置にあることを示す信号を生成することができる。これにより、画面104及び/または108上に表示された情報の変化をもたらすイベントをトリガすることができる。例えば、デバイス100が「閉」位置にある場合、ユーザは1つの画面しか閲覧できないため、デバイス100は、画面のうちの1つ、例えば、画面108上での情報の表示を停止するようにプログラムすることができる。他の実施形態では、デバイス100が「閉」位置にあることを示す、位置センサ172a及び172bによって生成された信号は、電話の発呼に応答するようにデバイス100をトリガすることができる。「閉」位置は、携帯電話としてデバイス100を利用する場合にも好ましい位置であり得る。
【0040】
デバイス100は、
図1Iに示されるような「イーゼル」位置でも使用することができる。「イーゼル」位置では、画面104及び108は、互いに角度をなして外側を向いた状態であり、画面104及び108の縁は実質的に水平である。この位置では、デバイス100は、両方の画面104及び108上で情報を表示するよう構成することができ、二人のユーザが同時にデバイス100と情報のやり取りを行うことを可能にする。デバイス100が「イーゼル」位置にある場合、センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成することができ、加速度計176は、画面104及び108の縁が実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することができる。次いで、信号を組み合わせて使用し、画面104及び108上での情報の表示の変化をトリガするイベントを生成することができる。
【0041】
図1Jは、「変形イーゼル」位置のデバイス100を示す。「変形イーゼル」位置では、画面104または108のうちの1つは、スタンドとして使用され、テーブルなどの物体の表面上に下を向いた状態に置かれる。この位置は、横向きでユーザに情報を表示する便利な方法を提供する。イーゼル位置と同様に、デバイス100が「変形イーゼル」位置にある場合、位置センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成する。加速度計176は、画面104及び108のうちの1つが下を向いた状態で、実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することになる。次いで、信号を使用して、画面104及び108の情報の表示の変化をトリガするイベントを生成することができる。例えば、ユーザはその画面を見ることができないため、下向きの画面上には情報は表示されない可能性がある。
【0042】
また、移行状態も可能である。画面が閉じているまたは折り畳まれている(開位置から)ことを位置センサ172a及びb及び/または加速度計が示す場合は、閉への移行状態が認識される。逆に、画面が開いているまたは折り畳まれている(閉位置から)ことを位置センサ172a及びbが示す場合は、開への移行状態が認識される。閉及び開への移行状態は、通常、時間に基づくか、または感知された開始点からの最大持続時間を有する。通常、閉及び開状態のうちの1つが進行中のときは、ユーザ入力は不可能である。このように、閉または開動作中のユーザによる画面との偶発的な接触は、ユーザ入力として誤って解釈されることはない。実施形態では、デバイス100が閉じている場合は、別の移行状態が可能である。この追加の移行状態により、デバイス100が閉じている場合は、例えば、画面110、114上でのダブルタップなどの何らかのユーザ入力に基づいて、ある画面104から第2の画面108にディスプレイを切り替えることが可能になる。
【0043】
理解できるように、デバイス100に関する説明は、単なる例示を目的として行われ、実施形態は、
図1A〜1Jに示され、上記で説明される特定の機械的な特徴に制限されない。他の実施形態では、デバイス100は、1つまたは複数の追加のボタン、スロット、ディスプレイエリア、ヒンジ及び/またはロック機構を含む追加の特徴を含み得る。それに加えて、実施形態では、上記で説明される特徴は、デバイス100の異なる部分に位置し得、それでも同様の機能性を提供することができる。したがって、
図1A〜1J及び上記で提供される説明は、非限定的である。
ハードウェアの特徴:
図2は、本開示の実施形態によるデバイス100のコンポーネントを示す。一般に、デバイス100は、一次画面104と二次画面108とを含む。一次画面104及びそのコンポーネントは、通常、開位置または状態でも閉位置または状態でも有効化される一方で、二次画面108及びそのコンポーネントは、通常、開状態では有効化されるが、閉状態では無効化される。しかし、閉状態であっても、ユーザまたはアプリケーションがトリガするインタラプト(通話アプリケーションまたはカメラアプリケーションオペレーションに応じてなど)は、適切なコマンドによって、アクティブ画面を変更することも、一次画面104を無効化して二次画面108を有効化することもできる。各画面104、108は、タッチセンサ式であり得、異なる動作エリアを含み得る。例えば、それぞれのタッチセンサ式画面104及び108内の第1の動作エリアは、タッチセンサ式ディスプレイ110、114を含み得る。一般に、タッチセンサ式ディスプレイ110、114は、フルカラーのタッチセンサ式ディスプレイを含み得る。それぞれのタッチセンサ式画面104及び108内の第2のエリアは、ジェスチャ捕捉領域120、124を含み得る。ジェスチャ捕捉領域120、124は、タッチセンサ式ディスプレイ110、114のエリア外のエリアまたは領域を含み得、そのエリアまたは領域は、例えば、ユーザによって提供されるジェスチャの形での入力の受信が可能である。しかし、ジェスチャ捕捉領域120、124は、表示機能または能力を実行することができる画素を含まない。
【0044】
タッチセンサ式画面104及び108の第3の領域は、構成可能なエリア112、116を含み得る。構成可能なエリア112、116は、入力を受信することができ、表示または制限された表示能力を有する。実施形態では、構成可能なエリア112、116は、異なる入力オプションをユーザに提示することができる。例えば、構成可能なエリア112、116は、ボタンまたは他の関連付けられるアイテムを表示することができる。その上、表示されたボタンのアイデンティティ、または、タッチセンサ式画面104もしくは108の構成可能なエリア112、116内に表示されているボタンがあるかどうかは、デバイス100が使用される及び/または操作されるコンテキストから決定することができる。例示的な実施形態では、タッチセンサ式画面104及び108は、ユーザに視覚出力を提供することができるタッチセンサ式画面104及び108の少なくともそれらの領域に広がる液晶ディスプレイデバイスと、ユーザから入力を受信することができるタッチセンサ式画面104及び108のそれらの領域にわたる容量性入力マトリックスとを含む。
【0045】
1つまたは複数のディスプレイコントローラ216a、216bは、入力(タッチセンサ式)及び出力(表示)機能を含むタッチセンサ式画面104及び108のオペレーションを制御するために設けることができる。
図2に示される例示的な実施形態では、別々のタッチスクリーンコントローラ216aまたは216bが各タッチスクリーン104及び108に設けられる。代替の実施形態によれば、共通のまたは共有されたタッチスクリーンコントローラ216を使用して、含まれるタッチセンサ式画面104及び108の各々を制御することができる。さらなる他の実施形態によれば、タッチスクリーンコントローラ216の機能は、プロセッサ204などの他のコンポーネントに組み込むことができる。
【0046】
プロセッサ204は、アプリケーションプログラムまたは命令を実行するための汎用のプログラム可能プロセッサまたはコントローラを含み得る。少なくともいくつかの実施形態によれば、プロセッサ204は、複数のプロセッサコアを含む、及び/または、複数の仮想プロセッサを実装することができる。さらなる他の実施形態によれば、プロセッサ204は、複数の物理的プロセッサを含み得る。具体的な例として、プロセッサ204は、特別に構成された特定用途向け集積回路(ASIC)もしくは他の集積回路、デジタル信号プロセッサ、コントローラ、配線電子もしくは論理回路、プログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、または、同様のものを含み得る。プロセッサ204は、一般に、デバイス100のさまざまな機能を実装するプログラムコードまたは命令を実行するように機能する。
【0047】
また、通信デバイス100は、プロセッサ204によるアプリケーションプログラムまたは命令の実行に関連して使用するための、ならびに、プログラム命令及び/またはデータを一時的または長期に格納するための、メモリ208も含み得る。例として、メモリ208は、RAM、DRAM、SDRAMまたは他のソリッドステートメモリを含み得る。その代替としてまたはそれに加えて、データストレージ212を設けることができる。メモリ208と同様に、データストレージ212は、1つまたは複数のソリッドステートメモリデバイスを含み得る。その代替としてまたはそれに加えて、データストレージ212は、ハードディスクドライブまたは他のランダムアクセスメモリを含み得る。
【0048】
通信機能または能力をサポートする際、デバイス100は、携帯電話モジュール228を含み得る。例として、携帯電話モジュール228は、セルラネットワーク上で音声、マルチメディア及び/またはデータ転送をサポートすることができるGSM(登録商標)、CDMA、FDMA及び/またはアナログ携帯電話トランシーバを含み得る。その代替としてまたはそれに加えて、デバイス100は、追加のまたは他の無線通信モジュール232を含み得る。例として、他の無線通信モジュール232は、ワイファイ(Wi−Fi)、ブルートゥース(Bluetooth)(登録商標)、ワイマックス(WiMax)、赤外線または他の無線通信リンクを含み得る。携帯電話モジュール228及び他の無線通信モジュール232は、それぞれが、共有または専用アンテナ224と関連付けられることができる。
【0049】
ポートインタフェース252を含めることができる。ポートインタフェース252は、ドックなどの他のデバイスまたはコンポーネントとのデバイス100の相互接続をサポートする独自のまたはユニバーサルポートを含み得、他のデバイスまたはコンポーネントは、デバイス100に不可欠なものへの追加のまたはそれとは異なる能力を含んでも含まなくともよい。デバイス100と別のデバイスまたはコンポーネントとの間での通信信号の交換のサポートに加えて、ドッキングポート136及び/またはポートインタフェース252は、デバイス100へのまたはデバイス100からの電力の供給をサポートすることができる。また、ポートインタフェース252は、デバイス100と接続されたデバイスまたはコンポーネントとの間の通信または他の相互作用を制御するためのドッキングモジュールを含むインテリジェントな要素も含む。
【0050】
入力/出力モジュール248及び関連ポートを含めて、例えば、他の通信デバイス、サーバデバイス及び/または周辺デバイスとの有線ネットワークまたはリンク上での通信をサポートすることができる。入力/出力モジュール248の例としては、イーサネット(登録商標)ポート、ユニバーサルシリアルバス(USB)ポート、電気電子技術者協会(IEEE)1394または他のインタフェースが挙げられる。
【0051】
音声入力/出力インタフェース/デバイス244を含めて、相互接続されたスピーカまたは他のデバイスにアナログ音声を提供したり、接続されたマイクロホンまたは他のデバイスからアナログ音声入力を受信したりすることができる。一例として、音声入力/出力インタフェース/デバイス244は、関連アンプとアナログデジタル変換器とを含み得る。その代替としてまたはそれに加えて、デバイス100は、外部のスピーカまたはマイクロホンを相互接続するための統合音声入力/出力デバイス256及び/または音声ジャックを含み得る。例えば、統合スピーカ及び統合マイクロホンを提供し、近接通話またはスピーカフォンオペレーションをサポートすることができる。
【0052】
ハードウェアボタン158を含めて、例えば、ある制御動作に関連して使用することができる。例としては、
図1A〜1Jと併せて説明されるように、マスタ電源スイッチ、音量調節などが挙げられる。カメラなどの1つまたは複数の画像捕捉インタフェース/デバイス240を含めて、静止及び/またはビデオ画像を捕捉することができる。その代替としてまたはそれに加えて、画像捕捉インタフェース/デバイス240は、スキャナまたはコードリーダを含み得る。画像捕捉インタフェース/デバイス240は、フラッシュまたは他の光源などの追加の要素を含むか、または追加の要素と関連付けられることができる。
【0053】
また、デバイス100は、全地球側位システム(GPS)受信機236も含み得る。本発明の実施形態によれば、GPS受信機236は、デバイス100の他のコンポーネントに絶対位置情報を提供できるGPSモジュールをさらに含み得る。また、加速度計176も含めることができる。例えば、ユーザへの情報の表示及び/または他の機能に関連して、加速度計176からの信号を使用して、その情報をユーザに表示するための方向及び/または形式を決定することができる。
【0054】
また、本発明の実施形態は、1つまたは複数の位置センサ172を含み得る。位置センサ172は、互いに対するタッチセンサ式画面104及び108の位置を示す信号を提供することができる。例えば、ユーザインタフェースアプリケーションへの入力としてこの情報を提供し、動作モード、すなわち、タッチセンサ式ディスプレイ110、114及び/または他のデバイス100オペレーションの特性を決定することができる。例として、画面位置センサ172は、一連のホール効果センサ、複数の位置スイッチ、光スイッチ、ホイートストンブリッジ、電位差計、または、タッチスクリーンが置かれている複数の相対位置を示す信号を提供することができる他の構成を含み得る。
【0055】
デバイス100のさまざまなコンポーネント間の通信は、1つまたは複数のバス222によって行うことができる。それに加えて、電源及び/または電力制御モジュール260からデバイス100のコンポーネントに電力を供給することができる。電力制御モジュール260は、例えば、バッテリ、AC/DC変換器、電力制御ロジック及び/または外部の電源にデバイス100を相互接続するためのポートを含み得る。
デバイスの状態:
図3A及び3Bは、デバイス100の例示的な状態を表す。多くの例示的な状態が示され、第1の状態から第2の状態へ移行するが、例示的な状態を示す図は、すべての可能な状態及び/またはすべての可能な第1の状態から第2の状態への移行を包含するわけではないことを理解されたい。
図3で示されるように、状態間のさまざまな矢印(円で表された状態によって示される)は、デバイス100に起こる物理的変化を表す。物理的変化は、ハードウェア及びソフトウェアの1つまたは複数によって検出され、その検出により、ハードウェア及び/またはソフトウェアインタラプトの1つまたは複数がトリガされ、デバイス100の1つまたは複数の機能の制御及び/または管理に使用される。
【0056】
図3Aで示されるように、12の例示的な「物理的」状態があり、それらは、閉304、移行308(または開への移行状態)、イーゼル312、変形イーゼル316、開320、着信/発信通話または通信324、画像/映像捕捉328、移行332(または閉への移行状態)、横向き340、ドッキング336、ドッキング344及び横向き348である。各例示的な状態の隣にあるのは、デバイス100の物理的状態の表現であるが、状態324及び328は例外であり、状態324及び328では、一般に、状態は、電話用の国際的なアイコン及びカメラ用のアイコンによってそれぞれ象徴化される。
【0057】
状態304では、デバイスは閉状態であり、デバイス100は、一般に、一次画面104と二次画面108が異なる面で背中合わせの状態で、縦向き方向に方向付けられる(
図1Hを参照)。閉状態から、デバイス100は、例えば、ドッキング状態336または横向き状態340に入ることができ、ドッキング状態336では、デバイス100はドッキングステーションやドッキングケーブルと結合されるか、または、一般に1つもしくは複数の他のデバイスもしくは周辺機器とドッキングされるかもしくは関連付けられ、横向き状態340では、一次画面104はユーザに面し、一次画面104と二次画面108は背中合わせの状態でデバイス100が一般に方向付けされる。
【0058】
また、閉状態では、デバイスは、移行状態に移動することができ、移行状態では、デバイスは閉じたままであるが、ディスプレイは、例えば、画面110、114上でのダブルタップなどのユーザ入力に基づいて、ある画面104から別の画面108に移動する。さらに別の実施形態は、両面状態(bilateral state)を含む。両面状態では、デバイスは閉じたままであるが、単一のアプリケーションが少なくとも1つのウィンドウを第1のディスプレイ110と第2のディスプレイ114の両方に表示する。第1及び第2のディスプレイ110、114に示されるウィンドウは、アプリケーション及びそのアプリケーションの状態に基づいて、同じであっても異なっていてもよい。例えば、カメラで画像を取得する間、デバイスは、第1のディスプレイ110上でファインダを表示することができ、第2のディスプレイ114上で被写体のプレビュー(全画面及び左から右へミラーリング)を表示する。
【0059】
閉状態304から半開状態またはイーゼル状態312への移行状態である状態308では、デバイス100は、一次画面104及び二次画面108をヒンジと一致する軸のポイントの周りで回転させて開いた状態で示される。イーゼル状態312に入ると、一次画面104及び二次画面108は、例えば、デバイス100がイーゼル様構成で表面上に位置することができるように、互いに分離される。
【0060】
変形イーゼル位置として知られる状態316では、デバイス100は、互いにイーゼル状態312と同様の相対関係にある一次画面104及び二次画面108を有し、その違いは、示されるように、一次画面104または二次画面108のうちの1つが表面上に配置されることである。
【0061】
状態320は開状態であり、開状態では、一次画面104及び二次画面108は、一般に、同じ平面上にある。開状態から、デバイス100は、ドッキング状態344または開横向き状態348に移行することができる。開状態320では、一次画面104及び二次画面108は、一般に、縦向きのような状態にあるが、横向き状態348では、一次画面104及び二次画面108は、一般に、横向きのような状態にある。
【0062】
状態324は、デバイス100でそれぞれ着信通話を受けるまたは発信通話をかける場合などの通信状態の例示である。明確には示されていないが、デバイス100は、
図3に示されるいかなる状態からも着信/発信通話状態324へ移行できることを理解されたい。同様に、画像/映像捕捉状態328もまた、
図3に示される他のいかなる状態からも入ることができ、画像/映像捕捉状態328では、デバイス100は、映像捕捉デバイス240を備えたカメラ及び/またはビデオを介して、1つまたは複数の画像を撮影することができる。
【0063】
移行状態332は、一次画面104及び二次画面108が、例えば、閉状態304に入るために、互いに向かって閉じている状態を例示的に示す。
図3Bは、キーを参照して、第1の状態から第2の状態への移行を検出するために受信された入力を示す。
図3Bでは、状態のさまざまな組合せが示されており、一般に、列の一部は、縦向き状態352や横向き状態356を対象とし、行の一部は、縦向き状態360と横向き状態364を対象とする。
【0064】
図3Bでは、キーは、「H」が1つまたは複数のホール効果センサからの入力を表し、「A」が1つまたは複数の加速度計からの入力を表し、「T」がタイマからの入力を表し、「P」が通信トリガ入力を表し、「I」が画像及び/または映像捕捉要求入力を表すことを示す。したがって、表の中央部分376では、デバイス100がどのように第1の物理的な状態から第2の物理的な状態への移行を検出するかを表す入力または入力の組合せが示される。
【0065】
論じられるように、表の中央部分376では、受信した入力により、例えば、縦向き開状態から横向きイーゼル状態への移行(太字の「HAT」で示される)の検出が可能になる。この例示的な縦向き開状態から横向きイーゼル状態への移行の場合、ホール効果センサ(「H」)、加速度計(「A」)及びタイマ(「T」)入力が必要とされ得る。タイマ入力は、例えば、プロセッサに関連付けられた時計から得ることができる。
【0066】
縦向き及び横向き状態に加えて、ドッキング信号372の受信に基づいてトリガされるドッキング状態368も示される。上記で論じられるように、
図3に関連して、ドッキング信号は、デバイス100を、1つまたは複数の他のデバイス100、アクセサリ、周辺機器、スマートドックまたは同様のものと接続することによってトリガすることができる。
ユーザ相互作用:
図4A〜4Hは、画面104、108によって認識することができるジェスチャ入力のさまざまなグラフィカルな表現を描写する。ジェスチャは、指などのユーザの身体部分ばかりではなく、画面104、108の接触感知部分によって感知することができるスタイラスなどの他のデバイスによっても行うことができる。一般に、ジェスチャは、どこでジェスチャが行われるか(ディスプレイ110、114上に直接またはジェスチャ捕捉領域120、124のいずれか)に基づいて、異なって解釈される。例えば、ディスプレイ110、114内のジェスチャは、デスクトップまたはアプリケーションを対象とし、ジェスチャ捕捉領域120、124内のジェスチャは、システム用として解釈され得る。
【0067】
図4A〜4Hを参照すると、ジェスチャの第1のタイプ(タッチジェスチャ420)は、選択された時間長の間、画面104、108上に実質的に静止する。円428は、画面の接触感知部分の特定の位置で受信されたタッチまたは他の接触タイプを表す。円428は、境界432を含み得、その厚さは、接触位置において実質的に静止した状態で接触が保持された時間長を示す。例えば、タップ420(または短時間のプレス)は、長時間のプレス424に対する(または通常のプレスに対する)境界432bより薄い境界432aを有する。長時間のプレス424は、タップ420より長い時間の間、画面上に実質的に静止した状態のままの接触を伴う可能性がある。理解されるように、異なって定義されたジェスチャは、接触停止前または画面上での移動前のタッチが静止した状態のままの時間長に応じて登録することができる。
【0068】
図4Cを参照すると、画面104、108上でのドラッグジェスチャ400は、最初の接触(円428によって表される)に、選択された方向への接触移動436が伴う。最初の接触428は、境界432によって表される特定の時間量の間、画面104、108上で静止した状態のままであり得る。ドラッグジェスチャは、通常、ユーザが第1の位置でアイコン、ウィンドウまたは他の表示画像に接触し、その後、選択された表示画像に対して所望の新しい第2の位置に向かうドラッグ方向に接触を移動させる必要がある。接触移動は、直線である必要はないが、接触が第1から第2の位置に実質的に連続したものである限り、いかなる経路の移動もあり得る。
【0069】
図4Dを参照すると、画面104、108上でのフリックジェスチャ404は、最初の接触(円428によって表される)に、選択された方向への短縮された接触移動436(ドラッグジェスチャと比較して)が伴う。実施形態では、フリックは、ドラッグジェスチャと比較して、ジェスチャの最後の動きに対してより高い退出速度を有する。フリックジェスチャは、例えば、最初の接触に続く指スナップであり得る。ドラッグジェスチャと比較すると、フリックジェスチャは、一般に、表示画像の第1の位置から既定の第2の位置まで、画面104、108との連続的な接触を必要としない。接触した表示画像は、フリックジェスチャによって、既定の第2の位置に向かうフリックジェスチャ方向に移動される。両方のジェスチャは、一般に、第1の位置から第2の位置に表示画像を移動させることができるが、画面上での接触の持続時間及び移動距離は、一般に、ドラッグジェスチャよりもフリックジェスチャの方が短い。
【0070】
図4Eを参照すると、画面104、108上でのピンチジェスチャ408が描写されている。ピンチジェスチャ408は、例えば、第1の指によって画面104、108に第1の接触428aを行い、例えば、第2の指によって画面104、108に第2の接触428bを行うことによって着手することができる。第1及び第2の接触428a、bは、共通の画面104、108の共通の接触感知部分によって、共通の画面104もしくは108の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第1の接触428aは、境界432aによって表されるように、第1の時間量の間保持され、第2の接触428bは、境界432bによって表されるように、第2の時間量の間保持される。第1及び第2の時間量は、一般に、実質的に同じであり、第1及び第2の接触428a、bは、一般に、実質的に同時に起こる。また、第1及び第2の接触428a、bは、一般に、それぞれ、対応する第1及び第2の接触移動436a、bを含む。第1及び第2の接触移動436a、bは、一般に、対向方向である。別の言い方をすれば、第1の接触移動436aは、第2の接触428bに向かう方向にあり、第2の接触移動436bは、第1の接触428aに向かう方向にある。より簡単な言い方をすれば、ピンチジェスチャ408は、ユーザの指がピンチ動作で画面104、108に触れることによって実現することができる。
【0071】
図4Fを参照すると、画面104、108上でのスプレッドジェスチャ410が描写されている。スプレッドジェスチャ410は、例えば、第1の指で画面104、108に第1の接触428aを行い、例えば、第2の指で画面104、108に第2の接触428bを行うことによって着手することができる。第1及び第2の接触428a、bは、共通の画面104、108の共通の接触感知部分によって、共通の画面104もしくは108の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第1の接触428aは、境界432aによって表されるように、第1の時間量の間保持され、第2の接触428bは、境界432bによって表されるように、第2の時間量の間保持される。第1及び第2の時間量は、一般に、実質的に同じであり、第1及び第2の接触428a、bは、一般に、実質的に同時に起こる。また、第1及び第2の接触428a、bは、一般に、それぞれ、対応する第1及び第2の接触移動436a、bを含む。第1及び第2の接触移動436a、bは、一般に、共通の方向である。別の言い方をすれば、第1及び第2の接触移動436a、bは、第1及び第2の接触428a、bから遠ざかる方向にある。より簡単な言い方をすれば、スプレッドジェスチャ410は、ユーザの指がスプレッド動作で画面104、108に触れることによって実現することができる。
【0072】
上記のジェスチャは、
図4G及び4Hによって示されるものなど、任意の方法で組み合わせて、決定された機能的な結果を生成することができる。例えば、
図4Gでは、タップジェスチャ420と、タップジェスチャ420から遠ざかる方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
図4Hでは、タップジェスチャ420と、タップジェスチャ420に向かう方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
【0073】
ジェスチャを受信するという機能的な結果は、デバイス100、ディスプレイ110、114もしくは画面104、108の状態、ジェスチャに関連付けられたコンテキスト、または、ジェスチャの感知位置を含む多くの要因に応じて異なり得る。デバイスの状態は、一般に、デバイス100の構成、ディスプレイ方向ならびにデバイス100で受信されるユーザ及び他の入力のうちの1つまたは複数を指す。コンテキストは、一般に、アプリケーションが単一画面アプリケーションであろうが、複数画面アプリケーションであろうが、及び、アプリケーションが1つまたは複数の画面に1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、1つまたは複数のスタックに1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、ジェスチャによって選択された特定のアプリケーション及び現時点で実行しているアプリケーションの部分のうちの1つまたは複数を指す。ジェスチャの感知位置は、一般に、感知されたジェスチャ位置座標セットが、タッチセンサ式ディスプレイ110、114上にあるかまたはジェスチャ捕捉領域120、124にあるか、感知されたジェスチャ位置座標セットが、共通のディスプレイもしくは画面104、108に関連付けられているか、または異なるディスプレイもしくは画面104、108に関連付けられているか、及び/または、ジェスチャ捕捉領域のどの部分が感知されたジェスチャ位置座標セットを含むかを指す。
【0074】
タップは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、対応するアプリケーションの実行の開始または終了、ウィンドウの最大化または最小化、スタック内でのウィンドウの並べ換え、及び、キーボード表示または他の表示画像などによるユーザ入力の提供のためにアイコンを選択する際に使用することができる。ドラッグは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、ディスプレイ内の所望の位置へアイコンもしくはウィンドウを移動する、ディスプレイ上でスタックを並べ換える、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。フリックは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、例えば、第1のディスプレイから第2のディスプレイへウィンドウを移動する、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。しかし、ドラッグジェスチャとは異なり、フリックジェスチャは、一般に、特定のユーザ選択位置へ表示画像を移動する際には使用されないが、ユーザによる構成が不可能なデフォルト位置へ表示画像を移動する際には使用される。
【0075】
ピンチジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最小化もしくは増加する(通常、共通のディスプレイで全体を受信する場合)、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(スタックにウィンドウを表示する「ポップアップウィンドウ」)際に使用することができる。スプレッドジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最大化もしくは減少する、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(同じまたは異なる画面上の画面外ジェスチャ捕捉領域で受信する場合)際に使用することができる。
【0076】
図4Gの組み合わされたジェスチャは、共通のディスプレイまたは画面104、108内の共通のディスプレイ捕捉領域で受信する場合、ジェスチャを受信するディスプレイに一定の第1のスタックに第1のウィンドウスタック位置を保持する一方で、第2のウィンドウスタック位置を第2のウィンドウスタックに並べ替えて、ジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。
図4Hの組み合わされたジェスチャは、共通のディスプレイもしくは画面104、108または異なるディスプレイもしくは画面内の異なるディスプレイ捕捉領域で受信する場合、ジェスチャのタップ部分を受信するディスプレイに一定の第1のウィンドウスタックに第1のウィンドウスタック位置を保持する一方で、第2のウィンドウスタック位置を第2のウィンドウスタックに並べ替えて、フリックまたはドラッグジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。先行例における特定のジェスチャ及びジェスチャ捕捉領域は、機能的な結果の対応するセットと関連付けられてきたが、これらの関連性は、いかなる方法でも再定義でき、ジェスチャ及び/またはジェスチャ捕捉領域及び/または機能的な結果間で異なる関連性を生成できることを理解されたい。
ファームウェア及びソフトウェア:
メモリ508は、1つまたは複数のソフトウェアコンポーネントを格納することができ、プロセッサ504は、それを実行することができる。これらのコンポーネントは、少なくとも1つのオペレーティングシステム(OS)516、アプリケーションマネージャ562、デスクトップ566及び/またはアプリケーションストア560からの1つもしくは複数のアプリケーション564a及び/または564bを含み得る。OS 516は、以前に
図2と併せて説明された、フレームワーク520、1つもしくは複数のフレームバッファ548、1つもしくは複数のドライバ512及び/またはカーネル518を含み得る。OS 516は、プログラム及びデータからなる任意のソフトウェアであり得、プログラム及びデータは、コンピュータハードウェアリソースを管理し、さまざまなアプリケーション564の実行のための共通のサービスを提供する。OS 516は、任意のオペレーティングシステムであり得、少なくともいくつかの実施形態では、これらに限定されないが、リナックス(Linux)(登録商標)、アンドロイド(Android)(登録商標)、アイフォンOS(iPhone OS)(iOS(登録商標))、ウィンドウズフォン7(Windows Phone 7)(登録商標)などを含むモバイルデバイス専用である。OS 516は、本明細書に記載されるように、1つまたは複数のオペレーションを実行することによって、電話に機能性を提供するよう動作可能である。
【0077】
アプリケーション564は、ユーザのための特定の機能性を実行する任意の高レベルのソフトウェアであり得る。アプリケーション564は、Eメールクライアント、ウェブブラウザ、テキストメッセージアプリケーション、ゲーム、メディアプレーヤ、オフィススイートなどのプログラムを含み得る。アプリケーション564は、アプリケーションストア560に格納することができ、アプリケーションストア560は、アプリケーション564を格納するための任意のメモリまたはデータストレージ及びそれに関連付けられた管理ソフトウェアを表し得る。実行された時点で、アプリケーション564は、メモリ508の異なるエリアで実行することができる。
【0078】
フレームワーク520は、デバイス上で実行されている複数のタスクの相互作用を可能にする任意のソフトウェアまたはデータであり得る。実施形態では、フレームワーク520の少なくとも部分及び以下で説明する個別のコンポーネントは、OS 516またはアプリケーション564の一部と見なすことができる。しかし、それらのコンポーネントはそのように限定されないことを除けば、これらの部分は、フレームワーク520の一部として説明される。フレームワーク520は、これらに限定されないが、複数ディスプレイ管理(MDM)モジュール524、サーフェスキャッシュモジュール528、ウィンドウ管理モジュール532、入力管理モジュール536、タスク管理モジュール540、アプリケーションモデルマネージャ542、ディスプレイコントローラ、1つもしくは複数のフレームバッファ548、タスクスタック552、1つもしくは複数のウィンドウスタック550(ディスプレイエリア内のウィンドウ及び/またはデスクトップの論理構成である)及び/またはイベントバッファ556を含み得る。
【0079】
MDMモジュール524は、デバイスの画面上でアプリケーションまたは他のデータの表示を管理するよう動作可能な1つまたは複数のモジュールを含む。MDMモジュール524の実施形態は、
図5Bと併せて説明する。実施形態では、MDMモジュール524は、ドライバ512などの他のOS 516コンポーネントから及びアプリケーション564から入力を受信し、常にデバイス100の状態を決定する。入力は、アプリケーションの優先度及び要件ならびにユーザ動作に応じてディスプレイをどのように構成して割り当てるかを決定する際にMDMモジュール524を支援する。ディスプレイ構成に対する決定がなされた時点で、MDMモジュール524は、アプリケーション564とディスプレイとを結合することができる。次いで、1つまたは複数の他のコンポーネントに構成を提供して、ディスプレイでウィンドウを生成することができる。
【0080】
サーフェスキャッシュモジュール528は、ウィンドウの1つまたは複数の画像を格納またはキャッシュするための任意のメモリまたはストレージ及びそれに関連付けられたソフトウェアを含む。一連のアクティブ及び/または非アクティブウィンドウ(またはデスクトップ表示などの他の表示オブジェクト)は、各ディスプレイに関連付けられ得る。アクティブウィンドウ(または他の表示オブジェクト)が現時点で表示されている。非アクティブウィンドウ(または他の表示オブジェクト)は、ある時点で開かれ、表示されていたが、現時点では表示されていない。ユーザ経験を高めるため、ウィンドウをアクティブ状態から非アクティブ状態へ移行する前に、ウィンドウ(または他の表示オブジェクト)の最後に生成された画像の「スクリーンショット」を格納することができる。サーフェスキャッシュモジュール528は、現時点で表示されていないウィンドウ(または他の表示オブジェクト)の最後のアクティブ画像のビットマップを格納するよう動作可能であり得る。したがって、サーフェスキャッシュモジュール528は、データストアに非アクティブウィンドウ(または他の表示オブジェクト)の画像を格納する。
【0081】
実施形態では、ウィンドウ管理モジュール532は、それぞれのディスプレイ上でアクティブであるまたは非アクティブであるウィンドウ(または他の表示オブジェクト)を管理するよう動作可能である。ウィンドウ管理モジュール532は、MDMモジュール524、OS 516または他のコンポーネントからの情報に基づいて、ウィンドウ(または他の表示オブジェクト)がいつ可視であるかまたは非アクティブであるかを決定する。次いで、ウィンドウ管理モジュール532は、不可視ウィンドウ(または他の表示オブジェクト)を「非アクティブ状態」に置き、タスク管理モジュールタスク管理540と併せて、アプリケーションのオペレーションを一時停止する。さらに、ウィンドウ管理モジュール532は、MDMモジュール524との協働相互作用を通じて、ウィンドウ(または他の表示オブジェクト)にディスプレイ識別子を割り当てることも、ウィンドウ(または他の表示オブジェクト)に関連付けられたデータの1つまたは複数の他のアイテムを管理することもできる。また、ウィンドウ管理モジュール532は、アプリケーション564、タスク管理モジュール540、または、ウィンドウ(または他の表示オブジェクト)と相互作用するかもしくは関連付けられた他のコンポーネントに格納された情報を提供することもできる。また、ウィンドウ管理モジュール532は、動作空間内のウィンドウフォーカス及びディスプレイ座標に基づいて、入力タスクをウィンドウと関連付けることもできる。
【0082】
入力管理モジュール536は、デバイスで起こるイベントを管理するよう動作可能である。イベントは、例えば、ユーザとのユーザインタフェース相互作用などのウィンドウ環境への任意の入力である。入力管理モジュール536は、イベントを受信し、イベントをイベントバッファ556に論理的に格納する。イベントは、そのようなユーザインタフェース相互作用を、画面104、108がユーザからタッチ信号を受信した場合に起こる「ダウンイベント」、ユーザの指が画面を横切って移動していることを画面104、108が決定した場合に起こる「移動イベント」、ユーザが画面104、108に触れるのを止めたことを画面104、108が決定した場合に起こる「アップイベント」などとして含み得る。これらのイベントは、入力管理モジュール536によって、受信され、格納され、他のモジュールに転送される。また、入力管理モジュール536は、デバイス上で利用可能なすべての物理的及び仮想ディスプレイの集大成である動作空間に画面入力をマッピングすることもできる。
【0083】
動作空間は、一緒に「タイル化」してデバイス100の物理的寸法を模倣した、すべてのタッチセンサ式ディスプレイ110、114を含む仮想化空間である。例えば、デバイス100が展開されている場合は、動作空間サイズは960×800であり得、これは、両方のタッチセンサ式ディスプレイ110、114の組み合わされたディスプレイエリア内の画素数であり得る。ユーザが位置(40,40)で第1のタッチセンサ式ディスプレイ110に触れる場合、全画面ウィンドウは、位置(40,40)でタッチイベントを受信することができる。ユーザが位置(40,40)で第2のタッチセンサ式ディスプレイ114に触れる場合、全画面ウィンドウは、位置(520,40)でタッチイベントを受信することができるが、その理由は、第2のタッチセンサ式ディスプレイ114は第1のタッチセンサ式ディスプレイ110の右側にあり、したがって、デバイス100は、第1のタッチセンサ式ディスプレイ110の幅の分、すなわち、480画素分だけ、そのタッチにオフセットを設けることができるためである。ドライバ512からの位置情報でハードウェアイベントが起こる場合、デバイスの向き及び状態に基づいてイベントの位置が異なり得るため、フレームワーク520は、物理的位置を動作空間にアップスケールすることができる。動作空間は、それが教示するすべて及びすべての目的のためにその全体が参照により本明細書に組み込まれる、2011年7月20日に出願された「複数の入力デバイスに及ぶジェスチャ入力を受信するためのシステム及び方法(Systems and Methods for Receiving Gesture Inputs Spanning Multiple Input Devices)」と称する米国特許出願第13/187,026号明細書に記載されるようなものであり得る。
【0084】
タスクは、アプリケーションであり得、サブタスクは、ユーザが、例えば、電話をする、写真を撮る、Eメールを送信するまたはマップを見るなど何かを行うために情報のやり取りを行うことができるウィンドウを提供するアプリケーションコンポーネントであり得る。各タスクには、ユーザインタフェースを描くためのウィンドウを与えることができる。ウィンドウは、通常、ディスプレイ(例えば、タッチセンサ式ディスプレイ110、114)全体を占めるが、ディスプレイ110、114より小さく、他のウィンドウ上で浮動してもよい。アプリケーションは、通常、互いに緩やかに結合された複数のサブタスクからなる。通常、アプリケーション内の1つのタスクが「メイン」タスクとして指定され、最初にアプリケーションに着手する際にユーザに提示される。次いで、各タスクは、別のタスクまたはサブタスクを開始して、異なる動作を実行することができる。
【0085】
タスク管理モジュール540は、デバイスによって実行することができる1つまたは複数のアプリケーション564のオペレーションを管理するよう動作可能である。したがって、タスク管理モジュール540は、信号を受信して、アプリケーションストア560に格納されたアプリケーションまたはアプリケーションサブタスクの着手、一時停止、終了などを行うことができる。次いで、タスク管理モジュール540は、アプリケーション564の1つまたは複数のタスクまたはサブタスクのインスタンスを作成し、アプリケーション564のオペレーションを開始することができる。さらに、タスク管理モジュール540は、ユーザ入力の結果または協働フレームワーク520コンポーネントからの信号の結果、タスクまたはサブタスクの着手、一時停止または終了を行うことができる。タスク管理モジュール540は、アプリケーションの着手からアプリケーションの終了までのアプリケーション(タスク及びサブタスク)のライフサイクルの管理に対する責任を有する。
【0086】
タスク管理モジュール540の処理は、タスクスタック552によって容易にし、タスクスタック552は、タスク管理モジュール540に関連付けられた論理構造である。タスクスタック552は、デバイス100上のすべてのタスク及びサブタスクの状態を維持する。オペレーティングシステム516の一部のコンポーネントがタスクまたはサブタスクにそのライフサイクルにおける移行を行わせる必要がある場合、OS 516コンポーネントは、タスク管理モジュール540に通知することができる。次いで、タスク管理モジュール540は、識別情報を使用してタスクスタック552においてタスクまたはサブタスクを位置付け、タスクがどのようなライフサイクル移行を実行する必要があるかを示す信号をタスクまたはサブタスクに送信する。移行についてタスクまたはサブタスクに通知することにより、タスクまたはサブタスクは、ライフサイクル状態移行の準備を行うことができる。次いで、タスク管理モジュール540は、タスクまたはサブタスクに対する状態移行を実行することができる。実施形態では、状態移行は、終了が必要な場合に、OSカーネル518をトリガしてタスクを終了することを伴う場合がある。
【0087】
さらに、タスク管理モジュール540は、ウィンドウ管理モジュール532からの情報に基づいて、アプリケーション564を一時停止することができる。アプリケーション564の一時停止により、メモリ内のアプリケーションデータを維持することができるが、ウィンドウまたはユーザインタフェースのレンダリングからアプリケーション564を制限することも停止することもある。再びアプリケーションがアクティブ状態になった時点で、タスク管理モジュール540は、再び、アプリケーションをトリガして、そのユーザインタフェースをレンダリングすることができる。実施形態では、タスクが一時停止されれば、タスクは、タスクの終了が行われる場合は、タスクの状態を保存することができる。一時停止状態では、アプリケーションウィンドウはユーザから見えないため、アプリケーションタスクは、入力を受信することはできない。
【0088】
フレームバッファ548は、ユーザインタフェースのレンダリングに使用される論理構造である。フレームバッファ548は、OSカーネル518によって作成及び破壊され得る。しかし、ディスプレイコントローラ544は、可視ウィンドウに対し、画像データをフレームバッファ548に書き込むことができる。フレームバッファ548は、1つの画面または複数の画面に関連付けられ得る。画面とのフレームバッファ548の関連性は、OSカーネル518との相互作用によって動的に制御することができる。複合ディスプレイは、複数の画面を単一のフレームバッファ548と関連付けることによって作成することができる。次いで、アプリケーションのウィンドウのユーザインタフェースのレンダリングに使用されるグラフィカルなデータは、複合ディスプレイに対し、単一のフレームバッファ548に書き込むことができ、それは複数画面104、108に出力される。ディスプレイコントローラ544は、アプリケーションのユーザインタフェースを、特定のディスプレイ110、114にマッピングされたフレームバッファ548の一部に移動させることができ、したがって、1つの画面104または108上にのみユーザインタフェースを表示することができる。ディスプレイコントローラ544は、ユーザインタフェースの制御を複数のアプリケーションに拡大し、フレームバッファ548またはその一部と関連付けられるだけの数のディスプレイに対してユーザインタフェースを制御することができる。この手法は、ディスプレイコントローラ544上のソフトウェアコンポーネントで使用中の複数の物理的画面104、108を補整する。
【0089】
アプリケーションマネージャ562は、ウィンドウ環境に対するプレゼンテーション層を提供するアプリケーションである。したがって、アプリケーションマネージャ562は、タスク管理モジュール540によるレンダリングのためのグラフィカルなモデルを提供する。同様に、デスクトップ566は、アプリケーションストア560に対するプレゼンテーション層を提供する。したがって、デスクトップは、レンダリング用にウィンドウ管理モジュール556に提供することができるアプリケーションストア560内のアプリケーション564用の選択可能なアプリケーションアイコンを有する表面のグラフィカルなモデルを提供する。
【0090】
さらに、フレームワークは、アプリケーションモデルマネージャ(AMM)542を含み得る。アプリケーションマネージャ562は、AMM 542とインタフェースをとることができる。実施形態では、AMM 542は、アプリケーションの状態(実行中または一時停止中)に関する状態変化情報をデバイス100から受信する。AMM 542は、サーフェスキャッシュモジュール528からのビットマップ画像を活動中(実行中または一時停止中)のタスクと関連付けることができる。さらに、AMM 542は、タスク管理モジュール540内で維持されている論理的ウィンドウスタックを、ディスプレイ外のジェスチャ捕捉エリア120を使用してウィンドウをより分ける際にユーザが捉える線形(「フィルムストリップ」または「トランプ一組」)組織に変換することができる。さらに、AMM 542は、実行中のアプリケーションのリストを、アプリケーションマネージャ562に提供することができる。
【0091】
MDMモジュール524の実施形態を
図5Bに示す。MDMモジュール524は、これらに限定されないが、デバイスの向き、デバイス100は開いているかまたは閉じているか、どのアプリケーション564を実行しているか、どのようにアプリケーション564を表示するか、ユーザはどの動作を行っているか、表示されているタスクなどを含むデバイスのための環境の状態を決定するよう動作可能である。ディスプレイを構成するため、MDMモジュール524は、
図6A〜6Jと併せて説明されるように、これらの環境要因を解釈し、ディスプレイ構成を決定する。次いで、MDMモジュール524は、アプリケーション564または他のデバイスコンポーネントをディスプレイと結合することができる。次いで、ディスプレイコントローラ544及び/またはOS 516内の他のコンポーネントに構成を送信し、ディスプレイを生成することができる。MDMモジュール524は、これらに限定されないが、ディスプレイ構成モジュール568、優先度モジュール572、デバイス状態モジュール574、ジェスチャモジュール576、要件モジュール580、イベントモジュール584及び/または結合モジュール588のうちの1つまたは複数を含み得る。
【0092】
ディスプレイ構成モジュール568は、ディスプレイ用のレイアウトを決定する。実施形態では、ディスプレイ構成モジュール568は、環境因子を決定することができる。環境因子は、1つまたは複数の他のMDMモジュール524からまたは他のソースから受信することができる。次いで、ディスプレイ構成モジュール568は、因子のリストからディスプレイに最適な構成を決定することができる。可能な構成及びそれに関連付けられた因子のいくつかの実施形態については、
図6A〜6Fと併せて説明する。
【0093】
優先度モジュール572は、アプリケーション564または他のコンポーネントの表示優先度を決定するよう動作可能である。例えば、アプリケーションは、単一またはデュアルディスプレイに対する優先度を有し得る。優先度モジュール572は、アプリケーションの表示優先度を決定することができ(例えば、アプリケーションの優先度設定を検査することによって)、デバイス100が好ましいモードに対応することができる状態にある場合は、アプリケーション564がモード(例えば、単一画面、二重画面、最大など)を変更することを可能にする場合がある。しかし、いくつかのユーザインタフェース方針は、そのモードが利用可能であっても、モードを認めない場合がある。デバイスの構成が変化すると、優先度を見直して、アプリケーション564に対してより良いディスプレイ構成を実現できるかどうかを決定することができる。
【0094】
デバイス状態モジュール574は、デバイスの状態を決定または受信するよう動作可能である。デバイスの状態は、
図3A及び3Bと併せて説明されるようなものであり得る。デバイスの状態は、ディスプレイ構成モジュール568で使用して、ディスプレイの構成を決定することができる。このように、デバイス状態モジュール574は、入力を受信し、デバイスの状態を解釈することができる。次いで、状態情報は、ディスプレイ構成モジュール568に提供される。
【0095】
ジェスチャモジュール576は、MDMモジュール524の一部として示されるが、実施形態では、ジェスチャモジュール576は、MDMモジュール524から分離された別々のフレームワーク520コンポーネントであり得る。実施形態では、ジェスチャモジュール576は、ユーザインタフェースの任意の部分でユーザが何らかの動作を行っているかどうかを決定するよう動作可能である。代替の実施形態では、ジェスチャモジュール576は、構成可能なエリア112、116のみからユーザインタフェース動作を受信する。ジェスチャモジュール576は、入力管理モジュール536を用いて、構成可能なエリア112、116(または、場合により、他のユーザインタフェースエリア)上で起こるタッチイベントを受信することができ、タッチイベントを解釈して(方向、速度、距離、持続時間及びさまざまな他のパラメータを使用して)ユーザがどのようなジェスチャを実行しているかを決定することができる。ジェスチャが解釈されると、ジェスチャモジュール576は、ジェスチャの処理に着手することができ、他のフレームワーク520コンポーネントと協働して、必要なウィンドウアニメーションを管理することができる。ジェスチャモジュール576は、アプリケーションモデルマネージャ542と協働して、どのアプリケーションが実行中(アクティブまたは一時停止)か、及び、ユーザジェスチャが実行される際にアプリケーションが現れなければならない順番に関する状態情報を収集する。また、ジェスチャモジュール576は、ビットマップ(サーフェスキャッシュモジュール528から)及びライブウィンドウへの参照を受信することができ、その結果、ジェスチャが起こると、ジェスチャモジュール576は、ディスプレイ110、114を横切ってウィンドウを移動させる方法をディスプレイコントローラ544に指示することができる。したがって、一時停止されたアプリケーションは、それらのウィンドウがディスプレイ110、114を横切って移動すると、実行しているように見える。
【0096】
さらに、ジェスチャモジュール576は、タスク管理モジュール540または入力管理モジュール536のいずれかからタスク情報を受信することができる。ジェスチャは、
図4A〜4Hと併せて定義されるようなものであり得る。例えば、ウィンドウの移動により、ディスプレイは、ウィンドウの移動を示す一連のディスプレイフレームをレンダリングする。そのようなユーザインタフェース相互作用に関連付けられたジェスチャは、ジェスチャモジュール576で受信し解釈することができる。次いで、ユーザジェスチャについての情報はタスク管理モジュール540に送信され、タスクのディスプレイ結合が修正される。
【0097】
優先度モジュール572と同様の要件モジュール580は、アプリケーション564または他のコンポーネントに対するディスプレイ要件を決定するよう動作可能である。アプリケーションは、観察しなければならないディスプレイ要件セットを有し得る。いくつかのアプリケーションは、特定のディスプレイ方向を必要とする。例えば、アプリケーション「アングリバード(Angry Birds)」は、横向きでのみ表示することができる。この種のディスプレイ要件は、要件モジュール580によって決定または受信することができる。デバイスの向きが変更されると、要件モジュール580は、アプリケーション564に対するディスプレイ要件を再び主張することができる。ディスプレイ構成モジュール568は、要件モジュール580によって提供されるアプリケーション表示要件に従ったディスプレイ構成を生成することができる。
【0098】
ジェスチャモジュール576と同様のイベントモジュール584は、ユーザインタフェースに影響を及ぼし得るアプリケーションまたは他のコンポーネントで起こる1つまたは複数のイベントを決定するよう動作可能である。したがって、イベントモジュール584は、イベントバッファ556またはタスク管理モジュール540のいずれかからイベント情報を受信することができる。これらのイベントは、タスクがどのようにディスプレイと結合されるか変更することができる。イベントモジュール584は、他のフレームワーク520コンポーネントから状態変化情報を収集し、その状態変化情報に応じて作用され得る。一例では、電話が開かれるか、または閉じられる場合、または方向変化が生じる場合、新しいメッセージが二次画面にレンダリングされる。このイベントに基づく状態変化は、イベントモジュール584により受信され、解釈されることができる。次いで、イベントについての情報は、ディスプレイ構成モジュール568に送信され、ディスプレイの構成を修正することができる。
【0099】
結合モジュール588は、アプリケーション564または他のコンポーネントをディスプレイ構成モジュール568によって決定された構成と結合するよう動作可能である。結合は、メモリ内で、各アプリケーションに対するディスプレイ構成をアプリケーションの表示及びモードと関連付ける。したがって、結合モジュール588は、アプリケーションをそのアプリケーションに対するディスプレイ構成(例えば、横向き、縦向き、複数画面など)と関連付けることができる。次いで、結合モジュール588は、ディスプレイ識別子をディスプレイに割り当てることができる。ディスプレイ識別子は、アプリケーションをデバイス100の特定のディスプレイと関連付ける。次いで、この結合は、格納され、ディスプレイコントローラ544、OS 516の他のコンポーネントまたは他のコンポーネントに提供され、ディスプレイが適正にレンダリングされる。結合は、動的であり、イベント、ジェスチャ、状態変化、アプリケーション優先度または要件などに関連付けられた構成変更に基づいて、変更することも更新することもできる。
ユーザインタフェース構成:
ここで
図6A〜Jを参照し、デバイス100によって可能となったさまざまなタイプの出力構成について以下で説明する。
【0100】
図6A及び6Bは、第1の状態にあるデバイス100の2つの異なる出力構成を描写する。具体的には、
図6Aは、閉縦向き状態304にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の縦向き構成604でタッチセンサ式ディスプレイ110を介してデータを表示する。理解できるように、第1の縦向き構成604は、デスクトップまたはオペレーティングシステムホーム画面のみを表示することができる。あるいは、デバイス100が第1の縦向き構成604でデータを表示している間、1つまたは複数のウィンドウを縦向きで提示することができる。
【0101】
図6Bは、依然として閉縦向き状態304にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の縦向き構成608でタッチセンサ式ディスプレイ114を介してデータを表示する。
【0102】
第1または第2の縦向き構成604、608のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。また、ユーザジェスチャ(例えば、ダブルタップジェスチャ)、メニュー選択または他の手段をデバイス100に提供することによって、第1の縦向き構成604と第2の縦向き構成608との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の縦向き構成604、608から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0103】
代替の出力構成は、第2の状態にあるデバイス100によって対応することができる。具体的には、
図6Cは、第3の縦向き構成を描写し、データは、一次画面104と二次画面108の両方に同時に表示される。第3の縦向き構成は、デュアル縦向き(PD)出力構成と呼ばれる場合がある。PD出力構成では、一次画面104のタッチセンサ式ディスプレイ110は、第1の縦向き構成604でデータを描写する一方で、二次画面108のタッチセンサ式ディスプレイ114は、第2の縦向き構成608でデータを描写する。第1の縦向き構成604と第2の縦向き構成608の同時プレゼンテーションは、デバイス100が開縦向き状態320にある場合に起こり得る。この構成では、デバイス100は、1つのアプリケーションウィンドウを1つのディスプレイ110または114に、2つのアプリケーションウィンドウを(それぞれのディスプレイ110及び114に1つずつ)、1つのアプリケーションウィンドウと1つのデスクトップを、または、1つのデスクトップを表示することができる。また、他の構成も可能である場合がある。デバイス100がどの状態に移動されるかに応じて、構成604、608の同時表示から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もあることを理解されたい。その上、この状態にある間、アプリケーションの表示優先度により、両ディスプレイがアクティブであり、同じアプリケーションで異なるウィンドウを表示する両面モードにデバイスが置かれる場合がある。例えば、カメラアプリケーションは、一面でファインダ及び制御を表示することができる一方で、他面は被写体で見ることができるミラーリングされたプレビューを表示する。また、2人のプレーヤによる同時プレーを伴うゲームも、両面モードを利用することができる。
【0104】
図6D及び6Eは、第3の状態にあるデバイス100の2つのさらなる出力構成を描写する。具体的には、
図6Dは、閉横向き状態340にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の横向き構成612でタッチセンサ式ディスプレイ110を介してデータを表示する。本明細書に記載される他の構成に類似して、第1の横向き構成612は、デスクトップ、ホーム画面、アプリケーションデータを表示する1つもしくは複数のウィンドウまたは同様のものを表示することができる。
【0105】
図6Eは、依然として閉横向き状態340にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の横向き構成616でタッチセンサ式ディスプレイ114を介してデータを表示する。第1または第2の横向き構成612、616のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。ツイスト及びタップジェスチャまたはフリップ及びスライドジェスチャの一方または両方をデバイス100に提供することによって、第1の横向き構成612と第2の横向き構成616との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の横向き構成612、616から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0106】
図6Fは、第3の横向き構成を描写し、データは、一次画面104と二次画面108の両方に同時に表示される。第3の横向き構成は、デュアル横向き(LD)出力構成と呼ばれる場合がある。LD出力構成では、一次画面104のタッチセンサ式ディスプレイ110は、第1の横向き構成612でデータを描写する一方で、二次画面108のタッチセンサ式ディスプレイ114は、第2の横向き構成616でデータを描写する。第1の横向き構成612と第2の横向き構成616の同時プレゼンテーションは、デバイス100が開横向き状態340にある場合に起こり得る。デバイス100がどの状態に移動されるかに応じて、構成612、616の同時表示から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もあることを理解されたい。
【0107】
図6G及び6Hは、さらに別の状態にあるデバイス100の2つの図を描写する。具体的には、デバイス100は、イーゼル状態312にあるものとして描写される。
図6Gは、第1のイーゼル出力構成618をタッチセンサ式ディスプレイ110に表示できることを示す。
図6Hは、第2のイーゼル出力構成620をタッチセンサ式ディスプレイ114に表示できることを示す。デバイス100は、第1のイーゼル出力構成618または第2のイーゼル出力構成620のいずれかを個別に描写するよう構成することができる。あるいは、イーゼル出力構成618、620の両方を同時に提示することができる。いくつかの実施形態では、イーゼル出力構成618、620は、横向き出力構成612、616と同様でも同一でもよい。また、デバイス100は、変形イーゼル状態316にある間、イーゼル出力構成618、620の一方または両方を表示するよう構成することができる。イーゼル出力構成618、620の同時利用は、2人用のゲーム(例えば、バトルシップ(Battleship)(登録商標)、チェス、チェッカなど)、2人以上のユーザが同じデバイス100及び他のアプリケーションを共有する複数ユーザ会議を容易にできることを理解されたい。理解できるように、デバイス100がどの状態に移動されるかに応じて、構成618、620の一方または両方のディスプレイから本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
【0108】
図6Iは、デバイス100が開縦向き状態320にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で縦向きマックス(PMax)構成624と呼ばれる縦向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Pmax構成624は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Pmax構成624から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
【0109】
図6Jは、デバイス100が開横向き状態348にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で横向きマックス(LMax)構成628と呼ばれる横向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Lmax構成628は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Lmax構成628から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
【0110】
図7A〜
図7Gに示すように、デバイス100はユーザインタフェース700内のデスクトップ及び/またはウィンドウを管理する。ユーザインタフェース700は複数画面デバイスのアクティブ及び非アクティブウィンドウの論理構成である。例えば、
図7Aに示されるように、1つまたは複数のウィンドウまたはデスクトップが順番に配置される場合、ユーザインタフェース700はトランプ一組またはフィルムストリップと論理的に同様であり得る。アクティブウィンドウは、タッチセンサ式ディスプレイ110、114の少なくとも1つに現時点で表示されているウィンドウである。例えば、ウィンドウ1 704とウィンドウ3 708はアクティブウィンドウであり、タッチセンサ式ディスプレイ110および114上にそれぞれ表示される。非アクティブウィンドウは、開かれ、表示されていたが、現時点ではアクティブウィンドウの「背後」にあり、表示されていないウィンドウである。実施形態では、アクティブウィンドウは、「スリープ状態」で一時停止中であるアプリケーション用であり得、したがって、ウィンドウはアクティブコンテンツを表示していない。例えば、ウィンドウ2 712はスリープ状態の非アクティブウィンドウである。
【0111】
ユーザインタフェース700はさまざまな構成または組織構造を有し得る。
図7Aに示される実施形態では、デバイス100は、第1のタッチセンサ式ディスプレイ110に関連付けられた一組のウィンドウ/表示オブジェクトまたはウィンドウスタックと、第2のタッチセンサ式ディスプレイ114に関連付けられた第2のウィンドウの組/表示オブジェクトまたはウィンドウスタックとを含む。したがって、各タッチセンサ式ディスプレイ110及び114はウィンドウ/表示オブジェクトの関連付けられた組を有し得る。2組のウィンドウ/表示オブジェクトは異なる数のウィンドウを有し得、異なる方法で配置され得る。さらに、2組のウィンドウ/表示オブジェクトは、異なる方法で特定し、個別に管理することもできる。したがって、第1のウィンドウの組/表示オブジェクトは、第1のウィンドウから最後のウィンドウまで順番に配置することができる。同様に、第2のウィンドウの組/表示オブジェクトは、第1のウィンドウから最後のウィンドウまで配置することができるが、より多いまたは少ないウィンドウを有し得る。ウィンドウ/表示オブジェクトの組を管理するための論理データ構造は、以下の
図8と併せて説明されるようなものであり得る。
【0112】
ウィンドウが移動されると、新たに移動されたウィンドウはユーザインタフェース700内に再配置される。ウィンドウがユーザインタフェース700内のどこにどのように配置されるかは、デバイス100の向き、どのプログラム、機能、ソフトウェアなどがデバイス100上で実行されているかについてのコンテキスト、新しいウィンドウが開かれた、ウィンドウが移動された際等にどのようにユーザインタフェース700が配置されるかなどに依存し得る。ユーザインタフェース700内でウィンドウ位置を変えるために、ウィンドウはユーザにより移動され、ウィンドウに関連付けられた情報を変更することができる。この情報を用いて、ウィンドウ用の論理データ構造を変更し、格納することができる。ユーザインタフェースまたは他のイベントもしくはタスクが、ウィンドウの配置を変化させると、配置の変化を反映するため、ユーザインタフェース700が変更され得る。上記で説明されるこれらの同じ概念を使用して、デバイス100用の1つまたは複数のデスクトップを管理できることに留意されたい。
【0113】
例えば、ユーザインタフェース内のウィンドウの配置を
図7B〜
図7Gの「プロフィール」図に示すことができる。上面図を
図7B及び
図7Gに示す。側面図を
図7C〜
図7Fに示す。ここでは、ユーザインタフェース700の論理構成が示され、アクティブウィンドウ704及び708が
図7Bに示される。ウィンドウ704及び708は、すべてのタッチセンサ式ディスプレイ110、114の全エリアを表す、複合表示装置720の部分内の最上部ウィンドウになり得る。
図7C及び
図7Dに示すように、ウィンドウ1 704及びウィンドウ3 708は一組のウィンドウ/表示オブジェクトの最上部にある。最上部ウィンドウの「下の」ウィンドウ(ウィンドウ1 704及びウィンドウ3 708)はアクティブではない。むしろ、表示されないウィンドウ2 712は非アクティブか、またはスリープ状態にある。スリープ状態では、ウィンドウ2 712は入力を受信しない。さらに、ウィンドウはユーザインタフェースウィンドウを生成する必要がない。このように、ウィンドウ2 712を非アクティブに設定することにより、プロセッサはプロセッササイクルと必要なコード実行を節約する。ウィンドウが目覚めさせられる(“awakened”)と、ウィンドウはアクティブ状態に戻され、入力の受信を開始し、ウィンドウユーザインタフェースをレンダリングする。
図7Cと
図7Dに示すように、ウィンドウ2 712はウィンドウ3 708の下にあり、表示されない。これは
図7Eと
図7Fに示される実施形態では変化する。
【0114】
図7E〜
図7Gでは、ウィンドウ3 708は、デバイス110に対するジェスチャまたは他の入力により、第2のタッチセンサ式ディスプレイ114から第1のタッチセンサ式ディスプレイ110上に移動される。ウィンドウ3 704を移動する際、ウィンドウ1 704は覆われ、非アクティブになる。ウィンドウ2 712は露出され、アクティブになる。ウィンドウ1 704が非アクティブになると、ウィンドウの最後のビューのビットマップが格納される。ビットマップは、ウィンドウがアクティブディスプレイ上に移動すると、使用することができる。したがって、ウィンドウは移行する際アクティブであるように見えるが、移行が完了するまでユーザインタフェースを実際にはレンダリングせず、ウィンドウはアクティブになる。ウィンドウ2 712は、ウィンドウ3 708が第1のタッチセンサ式ディスプレイ110への移動を完了するまで、ビットマップとして現れ、ウィンドウ2は
図7G上に示すようにアクティブになる。
【0115】
ウィンドウユーザインタフェース700内のウィンドウまたはデスクトップの配置を管理するための論理データ構造800を
図8に示す。論理データ構造800は、オブジェクト、記録、ファイルなどにかかわらず、データの格納に使用される任意のデータ構造であり得る。論理データ構造800は、プロトコルまたは規格にかかわらず、いかなるタイプのデータベースまたはデータ格納システムにも格納することができる。実施形態では、論理データ構造800は、情報の容易な格納及び回収を可能にする論理構成でデータを格納する1つまたは複数の部分、フィールド、属性などを含む。以下では、これらの1つまたは複数の部分、フィールド、属性などを単なるフィールドとして説明するものとする。フィールドは、ウィンドウ識別子804、寸法808、ウィンドウスタック位置識別子812、ディスプレイ識別子816及び/またはアクティブインジケータ820のデータを格納することができる。ウィンドウユーザインタフェース700内の各ウィンドウは、関連する論理データ構造800を有し得る。
図8では、単一の論理データ構造800だけが示されているが、楕円824によって表されるように、ウィンドウユーザインタフェース700で使用されるより多くのまたはより少ない論理データ構造800が存在し得る(ユーザインタフェース700内のウィンドウまたはデスクトップの数に基づいて)。さらに、楕円828によって表されるように、
図8に示されるものより多くのまたはより少ないフィールドが存在し得る。
【0116】
ウィンドウ識別子804は、ウィンドウユーザインタフェース700内の他のウィンドウとの関連で、関連ウィンドウを独自に識別する任意の識別子(ID)を含み得る。ウィンドウ識別子804は、グローバル一意識別子(GUID)、数値ID、英数字IDまたは他のタイプの識別子であり得る。実施形態では、ウィンドウ識別子804は、開くことができるウィンドウの数に基づく1桁、2桁または任意の桁数であり得る。代替の実施形態では、ウィンドウ識別子804のサイズは、開いているウィンドウの数に基づいて変化し得る。ウィンドウが開いている間、ウィンドウ識別子804は、静的で、不変のままであり得る。
【0117】
寸法808はウィンドウの寸法を含み得る。寸法808はウィンドウを複合表示装置720の一部またはすべてに制限することができる。したがって、寸法808はウィンドウの一組の表示座標になり得る。例えば、ウィンドウは、第1の角部の第1の組の座標と第2の角部の第2の組の座標を含むことができる。他の実施形態では、寸法808は、画素または他の単位で測定される一組の座標と長さと幅を含むことができる。
【0118】
ウィンドウスタック位置識別子812は、ウィンドウのウィンドウスタック内の位置を特定することができる任意の識別子になり得る。ウィンドウスタック位置識別子812は、GUID、数値ID、英数字IDまたは他のタイプの識別子であり得る。各ウィンドウまたはデスクトップは、ウィンドウスタック位置識別子812を含み得る。例えば、
図7Cに示されるように、ウィンドウスタック内のウィンドウ3 708は、ウィンドウ708がウィンドウスタック内の第1のウィンドウであり、アクティブウィンドウであると特定する1のウィンドウスタック位置識別子812を有し得る。同様に、ウィンドウ2 712は、ウィンドウ712がウィンドウスタック内の第2のウィンドウであることを表す2のウィンドウスタック位置識別子812を有し得る。ウィンドウ1 704はまた、ウィンドウ704がウィンドウスタック内の第3のウィンドウであることを表す3のウィンドウスタック位置識別子812を有し得る。
【0119】
ディスプレイ識別子816は、ウィンドウまたはデスクトップが第1のディスプレイ110または第2のディスプレイ114のいずれかに関連付けられていることを特定することができる。
図7Aに示されるように、このディスプレイ識別子816はデュアルユーザインタフェース700システムで必要とされない場合があるが、ディスプレイ識別子816は直列ユーザインタフェース700内のウィンドウが特別のディスプレイに表示さているかどうかを示すことができる。したがって、ウィンドウ3 708は
図7Dの2のディスプレイ識別子816を有し得る。ウィンドウ1 704は第1のディスプレイ110の1のディスプレイ識別子816を有し得る。しかし、代替の実施形態では、ウィンドウは、ウィンドウが両方のディスプレイ110、114に表示されていることを表す2つのディスプレイ識別子816を有してもよいし、または複合表示装置720を特定する単一の識別子を有してもよい。
【0120】
ディスプレイ識別子816と同様に、アクティブインジケータ820はデュアルユーザインタフェース700システムで必要とされない場合がある。デバイス100では、アクティブインジケータ820はユーザインタフェース700内のどのウィンドウが表示されているかを示すことができる。したがって、ウィンドウ1 704は、
図7Dのアクティブインジケータ820を有し得るが
図7Eのアクティブインジケータを有しなくてもよい。
【0121】
ウィンドウユーザインタフェース700を生成するための方法900の実施形態を
図9に示す。
図9では、方法900のステップの一般的な順番を示す。一般に、方法900は、開始動作904で始まり、終了動作924で終了する。方法900は、
図9に示されるものより多くのまたはより少ないステップを含むことも、異なる形でステップの順番を整えることもできる。方法900は、コンピュータシステムによって実行され、コンピュータ可読媒体で符号化されるかまたは格納される一連のコンピュータ実行可能命令として実行することができる。以下では、
図1〜
図8と併せて説明されたシステム、コンポーネント、モジュール、ソフトウェア、データ構造、ユーザインタフェースなどを参照して、方法900を説明する。
【0122】
ステップ908では、複数画面デバイス100は、ウィンドウの移動または他のユーザインタフェースイベント(ウィンドウを閉じる、新しいウィンドウを開く、デスクトップを見せる等)を受信することができる。他のユーザインタフェースイベントも可能であるが、一例としてウィンドウ移動を使用する処理900について説明する。当業者は、他のタイプのユーザインタフェースイベントに処理900をどのように適用するかを理解することになる。実施形態では、複数画面デバイス100は、タッチセンサ式ディスプレイ110もしくは114、構成可能なエリア112もしくは116、ジェスチャ捕捉領域120もしくは124、または、ユーザインタフェース入力を受信するよう動作可能ないくつかの他のハードウェアセンサから入力を受信することによって、ウィンドウ移動を受信することができる。ディスプレイコントローラ544は処理用プロセッサ204に入力信号を送ってもよい。プロセッサ204は、
図4A〜
図4Fと併せて説明されたジェスチャとしての入力信号を解釈するか、またはアクティブまたは非アクティブウィンドウを移動させるか、またはデスクトップを移動させる他のユーザ入力を解釈することができる。ジェスチャを受信すると、プロセッサ204はウィンドウを移動させることができる。例えば、
図7E〜
図7Gに示すように、ウィンドウ3 708を第一のタッチセンサ式ディスプレイ110の最上部に移動させることができ、これによりウィンドウ2 712をアクティブにする。
【0123】
いくつかの実施形態では、プロセッサ204は、入力管理モジュール536により作用されるべく、バッファー556内にユーザインタフェース相互作用を置く。さらに、プロセッサ204は非アクティブアプリケーションを起動する、すなわち一時停止された状態またはスリープ状態からアプリケーションを起動する。アプリケーション管理クラス540は、アプリケーション564を現在の表示パラメータに結合してもよい。次に、複数ディスプレイ管理クラス524のデバイス状態モジュール574は、ユーザインタフェース700内にアプリケーションをどのように再構成するかを決定してもよい。さらに、デバイス状態モジュール574はウィンドウの移動の時刻を決めてもよい。例えば、ウィンドウを非アクティブまたはアクティブにする前に、デバイス状態モジュール574はタイマを実行してもよい。移動が完了しタイマが満了した後だけ、デバイス状態モジュール574はウィンドウをアクティブまたは非アクティブにする。ユーザが複数のウィンドウをめくっていれば、ウィンドウはアクティブにならないか、またはいくつかのウィンドウの急速な移動が停止するまで他のウィンドウはスリープ状態に置かれない、ということをタイマは保証する。タイマは、その後まもなく覆われることになるだけのユーザインタフェースをレンダリングする必要が無いという点でプロセッサリソースを節約する。
【0124】
ステップ912では、デバイス状態モジュール574は最初に、移動されたウィンドウがユーザインタフェース700内で位置を変えたかどうかを判断することができる。換言すれば、デバイス状態モジュール574は、ユーザインタフェース上のどの位置に例えばどのディスプレイに、またはウィンドウスタック内のどの位置に、ウィンドウが移動されたかを判断する。さらに、ステップ916では、デバイス状態モジュール574は、ウィンドウの移動によってユーザインタフェース700内の他のいくつかのウィンドウが覆われたかどうかを判断してもよい。例えば、
図7E〜
図7Gに示すウィンドウ3 708の移動により、ウィンドウ3 708の位置が第1のタッチセンサ式ディスプレイ110に変えられ、ウィンドウ1 704が覆われ、ウィンドウ2 712の覆いが取られた。デバイス状態モジュール574は、ウィンドウ移動または他のユーザインタフェースイベント(例えば、新しいウィンドウを開く、ウィンドウを閉じる、デスクトップを見せる等)に基づきこれらのタイプの効果を判断する。
【0125】
さらに、ステップ920では、ディスプレイ構成モジュール568は隠されたウィンドウをスリープ状態にし、覆われていないウィンドウをアクティブにする。したがって、ディスプレイ構成モジュール568は、ユーザインタフェース700内の覆われていないまたは覆われたウィンドウのアクティブインジケータ820を変更することができる。例えば、
図7Fに示す実施形態において覆われているウィンドウ1 704は、アクティブインジケータを消して、同ウィンドウをスリープ状態にすることになる。非アクティブ状態またはスリープ状態では、ウィンドウ1はユーザインタフェース入力を受信することを停止し、ユーザインタフェースウィンドウをレンダリングすることを停止する。さらに、ウィンドウ2 712は、アクティブインジケータをセットして、ウィンドウ2 712が今アクティブであり、入力を受信し、ウィンドウユーザインタフェースをレンダリングしている、ということを肯定応答する。このスリープ状態情報はタスク管理モジュール540に渡され、ウィンドウ管理モジュール532に、新しいユーザインタフェース700を、表示された新しいアクティブウィンドウとスリープ状態にされた他のウィンドウとによりレンダリングするように指示する。
【0126】
図10Aは、開状態のデバイス100の出力を描写する。この例では、第1と第2のウィンドウ704と712は第1または一次画面104と第2または二次画面108によりそれぞれ表示される。さらに、この例では、第1のウィンドウ704はアクティブであり、第2のウィンドウ712は非アクティブである。
【0127】
本発明の実施形態によると、デバイス100が閉状態にされると、二次画面108のオペレーションは通常は中断される。しかし、本発明の他のいくつかの実施形態によると、二次閉モードを起動することができ、これにより、一次画面104に表示されていた情報は二次画面108により表示される。二次閉モードはさまざまなやり方で起動されることができる。例えば、一次ウィンドウ104(例えば、ウィンドウ1 704)に関連付けられたアプリケーションは、デバイス100が閉位置または閉モードにされるとアプリケーションウィンドウを二次画面108により表示させる命令を含むことができる。したがって、二次閉モードに入る際に行われるこのフリップ及びスライド行為は、デバイス100が閉モードにされると自動的に開始されることができる。本発明の他のいくつかの実施形態によると、二次閉モードは手動で起動することができる。例えば、ユーザは、デバイスを閉じること、二次画面108がユーザの視野に入るようにデバイスを配置すること、二次画面をタップすることを含むツイスト及びタップオペレーションを行うことにより二次閉モードを手動で開始することができる。別の実施形態によると、一次画面104のジェスチャ領域またはジェスチャ捕捉エリア120を二度タップすることを含むユーザ入力は、ユーザがアクティブディスプレイを一次画面104から二次画面108に切り替えるための入力を入力できるようにするモーダルウィンドウまたはサブウィンドウを提供することができる。他の実施形態によると、二次単一画面モードの起動は、メニュー項目を介して、または二次閉モードに入る選択肢を提示するユーザインタフェーストグルまたは他のオブジェクトまたは入力の選択を介して、行うことができる。
【0128】
図10Bに示すように、本発明の少なくともいくつかの実施形態によると、一次画面104は、デバイス100が閉じられて二次閉モードに入ると、命令メッセージを表示し得る。例示を目的として、そして限定するものではないが、命令画面1004は、ユーザに対し「反転してください」などのテキストメッセージを一次画面104上に表示し得る。さらに、命令メッセージ1004は、タイマによりカウントされるように、所定期間が経過した後に中断されてもよい。所定期間が経過した後、一次画面104を非アクティブまたはアイドル状態にすることができる。
【0129】
次に
図10Cを参照すると、二次閉モードに入った後、デバイス100が開モードまたは開位置にある間一次画面104により(
図10Aに示すように)提示されていたウィンドウ704は二次画面108により提示される。二次画面108上にアクティブウィンドウを提示することに加え、アクティブウィンドウは二次画面108の一組のウィンドウに関連付けられることができる。したがって、デバイス100が二次閉モードにある間に入力されたウィンドウ処理管理入力(windowing management input)は二次画面108に関連付けられた一組のウィンドウに対して動作する。
【0130】
図10Dに示すように、二次閉モードのオペレーションに従ってデバイス100を開状態に戻すことに応答して、一次ウィンドウのオペレーションは再開始または有効化される。本発明の実施形態によると、デバイス100が二次閉モードにあった後に開かれると、一次画面104に関連付けられた一組のウィンドウの最上部のアプリケーションまたはウィンドウが一次画面104により表示され、一方、アクティブウィンドウは二次画面108により表示され続ける。それに加えて、デバイス100が開モードに戻されると、二次閉モードから抜けられる。より具体的には、デバイス100は、再度閉モードにされた後に通常動作に従うことになり、一次画面104のみはデバイス100が閉状態にされた後にアクティブになる。したがって、ユーザ入力として、または上述のようアクティブウィンドウに関連付けられたアプリケーションプログラムに応答して、提供される二次閉モードを起動するさらなる命令が無い限り、二次閉モードは再開始されない。したがって、二次閉モードはデバイス100の一時的状態と考えられる。さらに、二次画面108に関連付けられた一組のウィンドウ内に置かれているアクティブウィンドウ(例えば、第1のウィンドウ704)とは別に、二次閉モードの効果はデバイス100が開放位置に戻された後に終了される。
【0131】
図11には、本発明の実施形態による、デバイス100が閉モードまたは閉状態にされるとアクティブディスプレイを移動する方法の態様を例示する。当初、ステップ1104では、デバイス100は開状態または開モードにあり、アクティブウィンドウは一次画面104上に提示される。二次画面108は通常、非アクティブウィンドウまたはデスクトップを表示する。あるいは、二次画面108はアイドル状態または電源オフ状態である可能性がある。ステップ1108では、デバイス100を閉状態または閉モードにする形式のユーザ入力が受信されたかどうかに関する判定が行われる。デバイスが閉じられるまで、処理はステップ1108ではアイドル状態であり得る。
【0132】
デバイスが閉状態にされた後、二次閉モードに入るための入力または命令が受信されたかどうかに関する判定を行うことができる(ステップ1112)。本明細書の他の場所で説明したように、二次閉モードに入るための入力は、ユーザにより与えられる手動の選択または入力の形式であり得る。あるいは、二次閉モードに入るための命令は、アクティブアプリケーションに関連付けられた命令の一部として与えることができる。このような入力が受信されていなければ、デバイスは、一次画面104がアクティブであり二次画面108は非アクティブである通常閉画面モードにおいて操作され、(ステップ1114)次に本処理を終了することができる。
【0133】
二次閉モードに入るための入力または命令が受信されると、アクティブウィンドウが二次画面108上に提示され、このウィンドウは二次画面108の一組のウィンドウに関連付けられる(ステップ1116)。本発明の少なくともいくつかの実施形態によると、命令メッセージを一次画面104上に提示することができる(ステップ1120)。この命令は通常、二次閉モードに入る際にユーザが一次画面104を閲覧していた場合、二次画面108がユーザの視野内に入るようにデバイスを反転またはフリップするためのユーザへのメッセージを含む。さらに、この命令は一次画面104により提示されるテキストとして提供されることができる。提示されれば、命令を中断することができ、二次閉モードに入ってから所定期間が経過した後に一次画面をアイドルモードまたは電源オフモードにすることができる。
【0134】
ステップ1124では、デバイス100が開状態にされたかどうかに関する判定を行うことができる。デバイス100が開かれていなければ、デバイス100は二次閉モードで動作し続ける(ステップ1128)。二次閉モードでは、ウィンドウ管理オペレーションは二次画面108に関連付けられた一組のウィンドウに対して行われる。
【0135】
デバイス100が開かれていれば、二次閉モードは中断される(ステップ1132)。二次閉モードが中断されてデバイス100が開状態になった後、アクティブウィンドウは二次画面108により提示され続ける。それに加えて、二次画面により提示されたウィンドウは、当該ウィンドウを一次画面に関連付けられた一組のウィンドウに移動するウィンドウ処理管理入力が受信されない限り、二次画面108に関連付けられた一組のウィンドウの一部のままである。一次画面104に関連付けられたウィンドウのスタックまたは一組の最上部にあったウィンドウは、二次画面108に関連付けられたスタックまたは一組のウィンドウにアクティブウィンドウが移動された後、一次ウィンドウ104により表示される。開モードに再度入った後、二次閉モードのオペレーションの処理は終了する。
【0136】
本発明の実施形態によると、上述のように、二次閉モードから抜けた後、デバイスを閉じることはそのようにする入力または命令が無い限り二次閉モードを再起動しない。したがって、二次閉モードは一時的なデバイス状態である。
【0137】
本発明の実施形態によると、本明細書に開示された方法は、メモリ208、508に格納されたアプリケーションプログラムまたは他のソフトウェアコンポーネントをプロセッサ204、504により実行することにより行うことができる。例えばオペレーティングシステム516、フレームワーク520の単数または複数のコンポーネント、及び/または、マルチ表示管理モジュール524の単数または複数のコンポーネントは、本明細書に記載されるようにデバイス100を二次単一画面モード及び関連モードにおいて操作する機能性を含むまたは与えることができる。さらに、本発明の実施形態は、本明細書に記載されるように、ユーザインタフェース700のオペレーションを介して上記方法及び機能性と、少なくとも第1と第2の組の中に配置されたウィンドウを含むウィンドウの構成と、を提供することができる。
【0138】
本方法は、少なくともいくつかの例では、一次画面104と二次画面108を有するデバイスに関連して説明されたが、本開示を考察した結果、本発明の実施形態はデバイス100の3画面以上に関連して実行することができるということを当業者は理解すべきである。それに加えて、本発明の実施形態は、複数の物理的画面に加えて複数の仮想画面を提示または実装するデバイス100に関連して実行することができる。
【0139】
本開示のさまざまな他の例示的システム及び方法は、閉状態のデバイスのオペレーションに関連して説明された。しかし、このような他のシステム及び方法は、単一画面デバイス、または3つ以上の画面を有するデバイスのオペレーションに適用することができる。それに加えて、本発明の実施形態は複数の仮想画面を提示または実装するデバイス100に関連して実施することができる。
【0140】
システムと方法の実施形態はさまざまな構造と属性に関連して説明されたが、本開示を不必要に曖昧にすることを避けるため前の説明では多くの公知の構造及びデバイスを省略する。この省略は、特許請求の範囲を限定するものと解釈してはならない。具体的な詳細は、本開示の理解を助けるために記載する。しかし、本開示は、本明細書に記載される具体的な詳細の域を越えるさまざまな方法で実施できることを理解されたい。
【0141】
その上、本明細書に示される例示的な態様、実施形態及び/または構成は、並置されるシステムのさまざまなコンポーネントを示すが、システムのあるコンポーネントは、LAN及び/またはインターネットなどの分散型ネットワークの遠方部に、または、専用システム内で遠隔設置することができる。したがって、システムのコンポーネントを
図5A及び
図5Bのソフトウェアモジュール等の1つまたは複数のデバイスに組み合わせることも、アナログ及び/もしくはデジタルの電気通信ネットワーク、パケット交換ネットワーク、または、回路交換ネットワークなどの分散型ネットワークの特定のノード上に並置することもできることを理解されたい。前の記述から、演算効率のため、システムのコンポーネントは、システムのオペレーションに影響を及ぼすことなく、コンポーネントの分散型ネットワーク内のいずれの位置にも配置できることが理解されよう。例えば、さまざまなコンポーネントは、PBX及びメディアサーバ、ゲートウェイなどのスイッチに、1つもしくは複数の通信デバイスに、1つもしくは複数のユーザの構内で、または、それらのいくつかの組合せで配置することができる。同様に、システムの1つまたは複数の機能部分は、電気通信デバイスと関連コンピューティングデバイスとの間で分散させることが可能である。
【0142】
その上、要素を接続するさまざまなリンクは、有線リンクでも無線リンクでも、その任意の組合せでも、接続された要素への及び接続された要素からのデータの供給及び/または通信が可能な他の任意の公知のまたは後に開発された要素でもあり得ることを理解されたい。これらの有線または無線リンクは、保護されたリンクでもあり得、暗号化された情報を通信できる場合もある。リンクとして使用される伝送媒体は、例えば、同軸ケーブル、銅線及び光ファイバを含む任意の適切な電気信号のキャリアであり得、電波及び赤外線データ通信中に生成されるものなどの音波または光波の形をとることができる。
【0143】
また、イベントの特定のシーケンスとの関連でフローチャートについて論じ示してきたが、開示される実施形態、構成及び態様のオペレーションに実質的に影響を及ぼすことなく、このシーケンスに対する変更、追加及び省略が起こり得ることを理解されたい。
【0144】
本開示の多くの変形形態及び変更形態を使用することができる。他のものを提供することなく、本開示のいくつかの特徴を提供することも可能であろう。例えば、一代替実施態様では、ユーザインタフェース700に関連して維持されるウィンドウスタックは、トランプ一組ではなく回転ラック(carousel)またはローロデックス(rolodex)に似ている。したがって、ウィンドウは1つのタッチセンサ式ディスプレイ110から別のタッチセンサ式ディスプレイ114に循環し得る。例えば、ウィンドウ6 724は右側に押され、最後にウィンドウ716の背後のスタック764の端に行ってもよい。スタックが右側に移動し続ければ、第1のタッチセンサ式ディスプレイ110内で開かれていたウィンドウ6 724は、最終的に第2のタッチセンサ式ディスプレイ114上に現れることになる。スタック内のこれらの移動と変更は上に論じられた方法及び論理データ構造を使用して管理され得る。別の代替案実施形態では、ウィンドウスタックの他の構成が存在し得る。
【0145】
さらなる別の実施形態では、本開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサもしくはマイクロコントローラ及び周辺集積回路素子、ASICもしくは他の集積回路、デジタル信号プロセッサ、個別素子回路などの配線電子もしくは論理回路、PLD、PLA、FPGA、PALなどのプログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、任意の同等な手段、または、同様のものと併せて実施することができる。一般に、本明細書に示される方法論の実施が可能な任意のデバイスまたは手段を使用して、本開示のさまざまな態様を実施することができる。開示される実施形態、構成及び態様に使用できる例示的なハードウェアは、コンピュータ、携帯用デバイス、電話(例えば、携帯電話、インターネット可能な、デジタル、アナログ、ハイブリッド及び他のもの)、及び、当技術分野で知られている他のハードウェアを含む。これらのデバイスのいくつかは、プロセッサ(例えば、単一または複数のマイクロプロセッサ)、メモリ、不揮発性記憶装置、入力デバイス及び出力デバイスを含む。その上、これらに限定されないが、分散処理もしくはコンポーネント/オブジェクト分散処理、並列処理、または、仮想マシン処理を含む代替のソフトウェア実装形態は、本明細書に記載される方法を実施するよう構築することもできる。
【0146】
さらなる別の実施形態では、開示される方法は、さまざまなコンピュータまたはワークステーションプラットフォームで使用することができるポータブルソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用するソフトウェアと併せて容易に実施することができる。あるいは、開示されるシステムは、標準論理回路またはVLSI設計を使用してハードウェアで部分的または完全に実装することができる。本開示に従ってシステムの実装にソフトウェアまたはハードウェアを使用するかどうかは、システムの速度及び/または効率要件、特定の機能、ならびに、利用する特定のソフトウェアまたはハードウェアシステムまたはマイクロプロセッサまたはマイクロコンピュータシステムに依存する。
【0147】
さらなる別の実施形態では、開示される方法は、記憶媒体に格納することができ、コントローラ及びメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ及び同様のもの上で実行されるソフトウェアで部分的に実施することができる。これらの例では、本開示のシステム及び方法は、アプレット、ジャバ(JAVA)(登録商標)またはCGIスクリプトなどのパーソナルコンピュータに組み込まれたプログラムとして、サーバまたはコンピュータワークステーション上に常駐するリソースとして、専用測定システム、システムコンポーネントまたは同様のものに組み込まれたルーチンとして実施することができる。また、システムは、ソフトウェア及び/またはハードウェアシステムにシステム及び/または方法を物理的に組み込むことによっても実装することができる。
【0148】
本開示は、特定の規格及びプロトコルを参照して、態様、実施形態及び/または構成で実装されるコンポーネント及び機能について説明するが、態様、実施形態及び/または構成は、そのような規格及びプロトコルに制限されない。本明細書で言及されない他の同様の規格及びプロトコルも存在し、本開示に含まれるものと考えられる。その上、本明細書で言及される規格及びプロトコルならびに本明細書で言及されない他の同様の規格及びプロトコルは、本質的に同じ機能を有するより速いまたはより効果的な均等物に定期的に取って代わられる。同じ機能を有するそのような置換規格及びプロトコルは、本開示に含まれる均等物と考えられる。
【0149】
さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び記載されるように実質的にコンポーネント、方法、プロセス、システム及び/または装置を含み、さまざまな態様、実施形態、構成実施形態、サブコンビネーション及び/またはそのサブセットを含む。当業者であれば、本開示を理解した後で、開示される態様、実施形態及び/または構成をどのように作成し使用するか理解されよう。さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び/または記載されていないアイテムなしで、または、本明細書のさまざまな態様、実施形態及び/または構成で、デバイス及びプロセスを提供することを含み、例えば、性能を向上させ、容易に実装を実現し、及び/または、実装コストを削減するために、前のデバイスまたはプロセスで使用された可能性があるようなアイテムがない場合も含む。
【0150】
前述の論考は、例示と説明を目的として提示してきた。前述は、本明細書に開示される1つまたは複数の形態に本開示を制限することを意図しない。前述の発明を実施するための形態では、例えば、本開示を合理化する目的で、1つまたは複数の態様、実施形態及び/または構成で、本開示のさまざまな特徴が一緒に分類される。本開示の態様、実施形態及び/または構成の特徴は、上記で論じられたもの以外の代替の態様、実施形態及び/または構成で組み合わせることができる。本開示のこの方法は、請求項が各請求項に明確に列挙されているものより多くの特徴を要求するという意図を反映するものとして解釈してはならない。むしろ、以下の請求項が反映するように、発明の態様は、単一の前述の開示される態様、実施形態及び/または構成のすべての特徴よりも少ないことにある。したがって、以下の請求項は、本明細書によって、この発明を実施するための形態に組み込まれ、各請求項は、本開示の別々の好ましい実施形態としてそれ自体を主張する。
【0151】
その上、説明には1つまたは複数の態様、実施形態及び/または構成の説明、ならびに、ある変形形態及び変更形態が含まれるが、例えば、本開示を理解した後で、当業者の技能及び知識の範囲内となり得るように、他の変形形態、組合せ及び変更形態は本開示の範囲内である。許可される範囲の代替の態様、実施形態及び/または構成を含む権利を得ることを意図し、そのような代替の、交換可能な及び/または均等な構造、機能、範囲または工程が本明細書で開示されるか否かにかかわらず、いかなる特許可能な対象物も公的に献納することを意図することなく、特許請求されたものに対する代替の、交換可能な及び/または均等な構造、機能、範囲または工程を含む。