(58)【調査した分野】(Int.Cl.,DB名)
前記追跡に基づいて、前記第1のアクティブ領域を前記透明な表示エリア内に表示させるステップをさらに含む、請求項1に記載のHMD内のユーザインターフェースを提供する方法。
前記判断するステップが、前記ユーザの視点から、前記一連の列のうちの第1の列の少なくとも下半分を前記物理オブジェクトが占めると判断するステップを含み、前記第1のアクティブ領域が前記第1の列を備える、請求項5に記載のHMD内のユーザインターフェースを提供する方法。
前記ユーザインターフェースを操作する前に、前記物理オブジェクトの前記少なくとも一部分が前記ユーザの視点から前記第1のアクティブ領域内に見えると判断された時間の長さを示すインジケータを表示するステップをさらに含む、請求項9に記載のHMD内のユーザインターフェースを提供する方法。
前記物理オブジェクトが前記HMDからしきい値の距離内にあると判断するステップをさらに含む、請求項1に記載のHMD内のユーザインターフェースを提供する方法。
前記第1のアクティブ領域の境界が前記透明な表示エリアの縁部に延在するように、前記第1のアクティブ領域の前記境界を定義するように前記処理ユニットが構成された、請求項13に記載のHMD。
前記複数のアクティブ領域が、前記ユーザの視点から前記透明な表示エリア内に配置された一連の列を備えるように、前記ディスプレイに前記複数のアクティブ領域を表示させるように前記処理ユニットが構成された、請求項13に記載のHMD。
前記ユーザの視点から、前記一連の列のうちの第1の列の少なくとも下半分を前記物理オブジェクトが占めると判断することによって、前記物理オブジェクトの前記少なくとも一部分が前記第1のアクティブ領域内に見えると判断するように前記処理ユニットが構成され、前記第1のアクティブ領域が前記第1の列を備える、請求項17に記載のHMD。
前記複数のアクティブ領域が前記透明な表示エリアの四分区間を備えるように、前記ディスプレイに前記複数のアクティブ領域を表示させるように前記処理ユニットが構成された、請求項13に記載のHMD。
前記1つまたは複数の要素を操作する前に、前記物理オブジェクトの前記少なくとも一部分が前記ユーザの視点から前記第1のアクティブ領域内に見えると前記処理ユニットが判断した時間の長さを示すインジケータを前記ディスプレイに表示させるように前記処理ユニットがさらに構成された、請求項21に記載のHMD。
前記第1のアクティブ領域を定義するための前記手段が、前記第1のアクティブ領域の境界が前記透明な表示エリアの縁部に延在するように、前記第1のアクティブ領域の前記境界を定義するための手段を含む、請求項25に記載の装置。
前記複数のアクティブ領域が前記ユーザの視点から前記透明な表示エリア内に配置された一連の列を備えるように、前記複数のアクティブ領域を定義するための手段をさらに含む、請求項25に記載の装置。
前記物理オブジェクトの前記少なくとも一部分が前記ユーザの視点から前記第1のアクティブ領域内に見えると判断するための前記手段が、前記ユーザの視点から、前記一連の列のうちの第1の列の少なくとも下半分を前記物理オブジェクトが占めると判断するための手段を含み、前記第1のアクティブ領域が前記第1の列を備える、請求項29に記載の装置。
前記1つまたは複数の要素を操作する前に、前記物理オブジェクトの前記少なくとも一部分が前記ユーザの視点から前記第1のアクティブ領域内に見えると判断された時間の長さを示すインジケータを表示するための手段をさらに備える、請求項34に記載の装置。
【発明を実施するための形態】
【0011】
以下の説明は図面を参照して提供され、全体を通して、同じ参照番号は同じ要素を指すために使用される。本明細書では1つまたは複数の技法の様々な詳細が記載されるが、他の技法も同様に実行可能である。場合によっては、様々な技法の説明を容易にするために、構造およびデバイスがブロック図の形式で示されている。
【0012】
本開示の実施形態は、ヘッドマウントディスプレイ(HMD)とのユーザ対話を可能にすることに関する。HMDは、ユーザが装着するデバイスに情報を表示できるデバイスである。さらに、これらのデバイスはユーザの頭部に装着されるので、HMDは、他のディスプレイでは実現できない機能を有することができる。たとえば、HMDは、ユーザがその中で物理オブジェクトとディスプレイ上の仮想オブジェクトの両方を見ることができる、ユーザの視界内の透明な表示エリアを提供することができる。いくつかの実施形態は、ユーザが見ている物理オブジェクトに、たとえば、その物理オブジェクトに関連するか、またはユーザの位置および/もしくはコンテキストに関連する、(テキスト、ピクチャ、および/またはビデオなどの)デジタルコンテンツを重ねることによって、「拡張現実」機能を提供することができる。本開示の実施形態はさらに、物理オブジェクトがユーザによって見られ、かつ/または操作されることを可能にして、HMDによって表示されたユーザインターフェース(たとえば、グラフィカルユーザインターフェース、すなわち「GUI」)の中の項目を迅速に選択し、かつ/またはユーザインターフェースとの他の対話を実行する。
【0013】
本明細書で提供される例は、HMDと対話するために使用される単一の物理オブジェクト(たとえば、手、指など)を説明するが、本明細書で提供される技法は、ユーザが2つ以上の物理オブジェクトを用いて、HMDによって表示されたユーザインターフェースと対話することを容易に可能にすることができる。さらに、本明細書では実施形態がHMDに関して記載されるが、他のディスプレイまたはヘッドアップディスプレイの他の形態を利用できることを、当業者は了解されよう。たとえば、本明細書に記載される実施形態は、ユーザが装着することができる1つもしくは複数のコンタクトレンズに関して実装され、かつ/または、それを通してユーザが視界を認知できる別の形態のディスプレイに実装される場合がある。
【0014】
図1は、一実施形態により、ユーザインターフェースとの対話のためにオブジェクトを追跡するように構成されたHMD120の簡略
図100である。この実施形態では、ユーザ110によって装着されたHMD120は、ユーザの手130などのオブジェクトを追跡できるデータを供給する、カメラおよび/または他のセンサ(たとえば、光、熱、超音波、無線周波(RF)信号などを検知することが可能なセンサ)を有する。そうすることで、HMD120は、HMD120によって表示されるGUIを操作することができ、別個のインターフェース(たとえば、タッチパッド、ボタンなど)がユーザ入力を受け取る必要がなくなる。たとえそうでも、必要な機能に応じて、他のインターフェースをHMD120に組み込み、かつ/またはHMD120と通信可能に結合することができる。さらに、1つもしくは複数の要素の表示および/またはGUIの提示は、いくつかの実施形態では省略される場合がある。たとえば、ユーザからの入力を受け取るときに視覚要素が表示されない実施形態が下記に記載される。さらに、ユーザ入力によってもたらされるか、または選択される機能は、実際に見えても見えなくてもよい。本明細書に記載される機能を実行するために、HMD120は、
図10に関して下記に記載されるコンピュータシステムなどのコンピュータシステムを組み込み、かつ/またはコンピュータシステムと通信することができる。
【0015】
図2は、本明細書で提供される技法を利用できるHMD120の様々な実施形態の図である。示された実施形態は、ディスプレイ220と、1つまたは複数のカメラ210とを含む。これらの実施形態は、ユーザの鼻と耳に載ることができる眼鏡と同様のフレームを含み、ディスプレイ220をユーザの眼の前面に配置する。
【0016】
ディスプレイ220の少なくとも一部分は透明であり、ユーザがディスプレイ220に示される視覚要素だけでなく、ユーザの周囲の物理オブジェクトも見ることを可能にする透明な表示エリアを提供する。ディスプレイ220に示される視覚要素の透明度は、ディスプレイ220の必要な機能、ディスプレイ220に示されるGUIの設定、および/またはHMD120によって実行されるソフトウェアアプリケーション(たとえば、ビデオ、地図、インターネットブラウザなど)に応じて変化する場合がある。
図2に示された実施形態は、眼鏡のようなフレーム内に配置されたディスプレイ220を示すが、透明な表示エリアを提供することが可能な他の技法(たとえば、網膜プロジェクタ、コンタクトレンズ、または他の光学システム)を、他の実施形態で利用することができる。
【0017】
外向きのカメラ210は、ユーザの手130および/またはHMD120に入力を提供するためにユーザ110によって制御できる他のオブジェクトを含む、ユーザの周囲の画像を取り込むことができる。
図2に示されたように、カメラは、RGB(赤、緑、青)および/またはRGBD(赤、緑、青、プラス深度)のカメラであり得るが、他の実施形態は、HMD120がユーザの前面で物理オブジェクトを追跡することを可能にする処理ユニットに、画像および/または他の情報を提供する、他のタイプのカメラおよび/またはセンサを含む場合がある。一実施形態では、たとえば、HMD120は、単一のRGBカメラ210を利用して、物理オブジェクトの垂直位置および水平位置を追跡することができる。他の実施形態は、深度を測定することが可能な複数のカメラ210および/または1つのカメラ210(たとえば、飛行時間測定カメラ)を使用して、物理オブジェクトの深度も追跡することができる。カメラ210は、ユーザの視点から透明な表示エリア内に見える物理オブジェクトをHMD120が追跡することを可能にする視界を有することができる。実施形態は、物理オブジェクトがユーザ110の視点から透明な表示エリア内にないとき、低電力モードに切り替えることができる。いくつかの実施形態では、(ユーザ110の視点から)物理オブジェクトが透明な表示エリアに接近しているとHMD120が判断したとき、HMD120がオブジェクト追跡アルゴリズムの実行および/または拡大を開始することを可能にするために、カメラ210は透明な表示エリアよりも広い視界を有することができる。
【0018】
図3は、ユーザ110の視点からディスプレイ220を通して得られる視野300を示す。上記のように、透明な表示エリア310は、ユーザ110が透明な表示エリア310に示される視覚要素、ならびにユーザの周囲の物理オブジェクトの両方を見ることを可能にする。
図3の例示的な視野300では、たとえば、ユーザは、日付と時刻を示す表示された視覚要素330、ならびにユーザの手130を見ることができる。
【0019】
HMD120は、カメラ210から画像を受け取り、特定の認識されたオブジェクトを追跡する追跡アルゴリズムを実行することができる。さらに、カメラ210および追跡アルゴリズムは、物理オブジェクト上の追跡ポイント320がユーザ110の視点から透明な表示エリア310に現れたとき、その位置を特定するように較正することができる。
図3に示された視野300では、追跡ポイント320は、ユーザの手130の指先に対応する。物理オブジェクト(たとえば、ユーザの手130)の操作および対応する追跡ポイント320の動きは、ユーザ110が透明な表示エリア310に示されたGUIおよび/または他の視覚要素と対話することを可能にする。追跡ポイント320は、必要な機能に応じて、透明な表示エリア310内で強調表示されてもされなくてもよいことに留意されたい。
【0020】
ユーザの手、専用装置、および/またはHMDによって認識可能な任意の他のオブジェクトなどの、様々なオブジェクトのうちのいずれも、ユーザがGUIと対話することを可能にするために使用することができる。HMDのユーザ設定により、ユーザがオブジェクトを指定してGUIとの対話に使用することが可能になる場合がある。下記でより詳細に説明されるように、オブジェクトの追跡は、形状、色、および/または動きなどのオブジェクトの様々な特性を判断することを必要とする場合がある、様々な視覚追跡方法のうちのいずれかを利用することができる。いくつかの実施形態では、GUIとの対話のために追跡されるオブジェクトがユーザによって制御されることを保証する助けとするために、深度フィルタリングを利用することができる。したがって、オブジェクトがHMDからしきい値の距離内にあるとHMDが判断した後、HMDはGUIとの対話を可能にする。この判断を行うための手段は、カメラ(たとえば、立体カメラ、深度カメラなど)、近接センサなどの距離を特定することが可能なセンサと結合された処理ユニットを含むことができる。
【0021】
図4A〜
図4Eは、ユーザがHMD120のGUIを介して迅速にナビゲートすることを、物理オブジェクトの追跡がどのように可能にするかを示す一連の図である。
図4Aは、GUIおよび/または別のアプリケーションがアクティブでないとき、HMD120が表示できる日付と時刻などのデフォルトの視覚要素330を有する透明な表示エリア310を示す。
図4A〜
図4Eに示されていないが、ユーザの周囲のオブジェクトは、透明な表示エリア310を通して見ることができる。
【0022】
図4Bでは、HMD120は、GUIとの対話用の物理オブジェクトを認識し、追跡ポイント320を確立する。前に記載されたように、追跡ポイント320は、透明な表示エリア310内で強調表示(または別の方法で指示)されてもされなくてもよい。物理オブジェクトは、HMD120によって認識および追跡できる任意の物理オブジェクト(たとえば、身体部分、ポインティングデバイスなど)であり得る。いくつかの実施形態により、どの物理オブジェクトがHMDのGUIと対話するために使用できるかをユーザ110が指定することが可能になる。
【0023】
いくつかの実施形態では、HMD120は、トリガイベントが発生するまで、追跡ポイント320を確立せず、かつ/またはユーザ対話用のHMD120のGUIを呼び出さない(たとえば、視覚要素および/もしくはオプションの第1のセットを表示しない)場合がある。このことは、GUIとの意図的でないユーザ対話を防止する助けになる。いくつかの実施形態では、トリガイベントは、オブジェクトが(
図4Bに示されたように)延在したポインタの指を有する手のような特定のポーズをとることであり得る。他の実施形態では、トリガイベントは、少なくともしきい値の時間量の間、認識された物理オブジェクトが透明な表示エリア310内に現れることであり得る。いくつかの実施形態では、両方が必要になり得る。たとえば、HMD120は、ユーザの手が、約束のポーズで延在したポインタの指を有し、少なくとも2秒間ユーザの視点から透明な表示エリア310の視界内に配置されたと判断した後、ユーザとの対話用のGUIを起動することができる。他の実施形態は、必要な機能に応じて、2秒よりも大きいか、または小さい期間の後、GUIを起動することができる。いくつかの実施形態では、トリガイベントは、表示エリア310の特定または所定の部分、たとえば、表示エリア310の縁部の近く、または特定の隅に位置しているユーザの手および/または指を含む。様々な他のトリガイベントを利用することができる。
【0024】
図4Cでは、HMD120のGUIは、ユーザ110が選択できるオプションに対応する視覚要素410のセットを表示する。各視覚要素は、それぞれのアクティブ領域420と関連付けるか、それらによって取り囲むことができる。いくつかの実施形態では、要素410および/または領域420は、ユーザに対する仮想プレーン内で表示することができる。アクティブ領域420は、ユーザが、追跡ポイント320をそれぞれのアクティブ領域420に移動させることによって、視覚要素に対応するオプションを選択することを可能にする。視覚要素410の配置ならびにアクティブ領域420の必要なサイズおよび形状に応じて、アクティブ領域の1つまたは複数の境界は、透明な表示エリア310の縁部に延在することができる。さらに、ユーザが、自分の手または指を表示エリア310の下部または上部に近い特定の位置に置かねばならないというよりむしろ、選択する要素を指定するために自分の手を前後に移動させる方が容易である場合がある。さらに、いくつかの実施形態では、領域420を選択するために必要な精度が、要素410を選択するために必要な精度よりも小さい場合があるので、ユーザが歩いているか、またはユーザの手が安定していないとき、そのような選択エリアがしばしば使用される場合がある。いくつかの実施形態では、特定の要素410に触れているのとは対照的に、領域420の任意の部分にあるものとしてユーザの手を識別することは、より少ない処理能力および/もしくは待ち時間ならびに/またはより低い解像度を有する画像を利用することができる。いくつかの実施形態では、視覚要素410は、
図4Cおよび
図4Dに示されたように、ほぼ一定の垂直高度には表示されない。たとえば、要素410のうちの1つまたは複数は、実質的に列状であるそれぞれの領域420内に位置しながら、垂直配置で変化する場合がある。
【0025】
アクティブ領域420は様々な形状およびサイズをとる場合があるが、列はGUIとの対話を容易にする際に特に有用であり得る。これは、透明な表示エリア310が列に区分化されたとき、ユーザが容易に視覚要素410を見ることを可能にする、透明な表示エリア310の垂直方向の中央の位置に視覚要素410が位置することができるからである。加えて、ユーザの手は下縁部から透明な表示エリア310に入る可能性があるので、列状のアクティブ領域420は、透明な表示エリア310の下縁部に向かって下に延在することができるため、選択を容易にすることができる。いくつかの構成では、列状のアクティブ領域420は、下縁部全体に延在することができる。
【0026】
1つまたは複数のユーザ設定によって決定される場合がある実施形態に応じて、アクティブエリアがどのように示されるかが変化する可能性がある。たとえば、いくつかの実施形態により、アクティブ領域420のすべてが一度に示されることが可能になる場合がある。すなわち、視覚要素410ごとのアクティブ領域420が(たとえば、強調表示されて、目に見える境界を有して、などで)示される。他の実施形態では、特定のアクティブ領域420は、(たとえば、
図4Cおよび
図4Dに示されたように)追跡ポイント320がその領域に入るまで示されない場合がある。いくつかの実施形態では、領域420はまったく示されない場合があるが、ユーザ選択を決定するために使用される。
【0027】
図4Dは、そのような選択がどのように行われるかを示す。図示されたように、ユーザは、追跡ポイント320がユーザの視点から「1」と標示された視覚要素が位置するアクティブ領域420-1内に位置するように、オブジェクトを移動させることができる。ユーザは、しきい値の時間量の間、追跡ポイント320をアクティブ領域420-1内に単に保持すること、物理オブジェクトに「選択」ポーズ(たとえば、閉じられたこぶし、ポインタの指を引き戻すことなど)をとらせることなどの様々な方法で、対応する視覚要素の選択を示すことができる。そのような実施形態では、HMDは、プログレスバー、カウンタ、砂時計などの、追跡ポイント320がアクティブ領域内に位置する時間の長さを示すアイコンを表示することができる。さらに、HMD120がオブジェクトの深度を追跡することができる実施形態では、選択は、ユーザに向かう方向、またはユーザから離れる方向に物理オブジェクトを移動させること(たとえば、「押す」および/または「引く」動作を行うこと)によって行うことができる。必要な機能に応じて、選択の方法は、たとえば、ユーザ嗜好のメニューによってユーザが決定することができる。
【0028】
図4Eは、選択が行われると、GUIが視覚要素430の第2のセットをどのように表示することができるかを示す。HMD120の機能および選択されたオプションに応じて、様々な視覚要素のうちのいずれかを表示することができる。たとえば、HMD120は、様々なフォルダ、メニュー画面、および/または他の選択画面を介してユーザがナビゲートして、多種多様な機能および/またはアプリケーションのうちのいずれかを選択することを可能にするGUIを含む場合がある。そのようなアプリケーションには、たとえば、オーディオプレーヤ、ビデオプレーヤ、ナビゲーションプログラム、カメラ/カムコーダプログラム、拡張現実アプリケーション、インターネットブラウザなどが含まれ得る。その上、HMD120は、マイクロフォン、タッチパッド、キーボードなどの他の入力デバイスを含む場合があり、それらにより、ユーザがHMD120によって実行され、透明な表示エリア310に示されたGUIおよび/またはアプリケーションとさらに対話することが可能になる。
【0029】
図5A〜
図5Cは、GUIがどのようにユーザとの対話に応答することができるかの別の実施形態を示す。
図5Aでは、
図4C〜
図4Dと同様に、ユーザは、いくつかの選択可能な視覚要素410を提供される場合がある。しかしながら、ここで、ユーザが(たとえば、一定期間自分の手を第1のアクティブ領域420-1内に置くことによって)第1の視覚要素「1」を選択した後、視覚要素「1」は、
図5Bに示されたように、追加の視覚要素「1a」および「1b」で置換される。これらの追加の視覚要素は、GUIのメニューに別のレイヤの深度を提供するサブメニュー項目を表すことができる。追加の視覚要素「1a」および「1b」は、それぞれ、対応するアクティブ領域420-aおよび420-bを有し、それにより、ユーザは視覚要素「1a」および「1b」を選択することができる。
図5Aの視覚要素「1」を置換する2つの視覚要素のみが
図5Bおよび
図5Cに示されているが、(対応する数のアクティブ領域420を有する)任意の数の視覚要素410を使用することができる。この数は、選択された視覚要素410、必要な機能、および/または他の要因に依存する場合がある。いくつかの視覚要素410は、追加の視覚要素をまったく呼び出さないが、代わりにアプリケーションおよび/または他の機能を呼び出す場合がある。
【0030】
図5Cは、
図5Bのオプションの変形形態を示し、より大きい視覚要素「1a」および「1b」を示す。実際、様々な実施形態は、図の実施形態に示された視覚要素よりも大きいか、または小さい視覚要素410を有する場合がある。その上、いくつかの視覚要素410は、それらそれぞれのアクティブ領域420の小さい部分しか占めない場合があるが、他の視覚要素410は、それらそれぞれのアクティブ領域420のすべてまたはほぼすべてを占める場合がある。さらに、
図5Bおよび
図5Cは、視覚要素「1」のアクティブ領域420-1と同じ幅のアクティブ領域420-aおよび420-bの中の視覚要素「1a」および「1b」を示すが、実施形態はそのように限定されない。たとえば、メニュー選択でより低い精度を可能にするために、視覚要素「1a」および「1b」ならびに/または対応するアクティブ領域420-aおよび420-bは、ディスプレイを部分的または完全に横切って、水平方向に延在することができる。
【0031】
視覚要素410が複数の視覚要素で置換される場合があるGUIの一例として、最上位メニューは、
図5Aに示されたように、マルチメディア、インターネット検索、ナビゲーション、ウェブブラウザなどのHMDの様々な機能を表すいくつかの視覚要素410を含むことができ、各視覚要素410は、列状のアクティブ領域420内に配置される。ユーザがウェブブラウザの視覚要素を選択した場合、ウェブブラウザアプリケーションが呼び出される場合がある。しかしながら、ユーザがマルチメディアの視覚要素を選択した場合、マルチメディアの視覚要素が位置していた列状のアクティブ領域は、複数のアクティブ領域に分割される場合があり、それ自体の視覚要素を有する各々は、ビデオおよび音楽などのマルチメディアのタイプを表す。その上、これらの追加の視覚要素の各々(およびそれぞれのアクティブ領域)は、複数のレベルのサブメニューが存在するように、同じ方式でビデオまたは音楽のタイプ(たとえば、ジャンル、プレイリスト、映画、テレビショーなど)に、なお一層分割される場合がある。各サブメニューは、さらなるレベルの正確さを必要とする場合があるので、サブメニューのレベル量は、選択されたオプションおよび/または必要な機能に依存する場合がある。たとえば、映画は音楽よりもユーザからのより一層の注意を必要とするように予測されるので、映画は、音楽よりも多いレベルの(選択するためにより大きい正確さを要求する場合がある)サブメニューを有する場合がある。さらに、サブメニューのレベルは、垂直整列と水平整列との間で切り替わる場合がある。たとえば、ユーザが視覚要素「1b」を選択し、1bに関連付けられたサブメニュー項目が存在する場合、それらのサブメニュー項目は、(
図5Aと同様に)水平方向に再び分配されるなどの場合がある。
【0032】
当然、
図5A〜
図5Cに示された機能は、選択されなかった視覚要素410をディスプレイから削除せずに、メニューおよびサブメニューのオプションを介してユーザがどのように迅速にナビゲートすることができるかの一例として提供されている。代替として、視覚要素410の選択は、元のメニューを全体的に置換するサブメニューを代表する視覚要素410の新しいセットを呼び出す場合がある。
【0033】
アクティブ領域420は、透明な表示エリア310の列として本明細書では図示されているが、実施形態はそのようなものに限定されない。
図6A〜
図7Bは、アクティブ領域420が視覚要素410のレイアウトに応じてどのように変化することができるかを示す。たとえば、
図6Aおよび
図6Bは、アクティブ領域420が透明な表示エリア310の上、下、左、および右の四分区間にどのように位置することができるかを示す。視覚要素の選択は、前に記載された実施形態と同様であり得る。他の実施形態は、(たとえば、グリッド、サークル、または他の方式で)様々に配置される場合がある、より多い視覚要素410またはより少ない視覚要素410を有する場合がある。そのような実施形態では、アクティブ領域は、対応して視覚要素410を包含するように配置される。さらに、実施形態は、いかなる視覚要素410とも対応しないか、または選択されない、アクティブ領域420間のスペースを含む場合があり、それにより、視覚要素の選択がより容易になる場合がある。
【0034】
図7Aおよび
図7Bは、透明な表示エリア310の縁部またはその近くにあるアクティブ領域420が、「後」、「前」、「ページアップ」、および/または「ページダウン」などの、ユーザインターフェースをナビゲートするための特定の機能に、どのように関連付けることができるかを示す。ここで、アクティブ領域420は、表示された視覚要素410(図示せず)に対応しない場合がある。いくつかの実施形態では、後、前、ページアップ、および/またはページダウンのラベルのうちの1つまたは複数は、透明な表示エリア310内に示されない場合がある。たとえば、
図6Bの上部領域420は、銘文またはラベルが存在しないいくつかの実施形態では、ページアップコマンドに対応する場合がある。様々なアクティブ領域420を様々なナビゲーション機能および/または他のコマンドに関係付ける、多数の他の構成を利用することができる。
【0035】
追跡ポイント320の位置を追跡することに加えて、HMD120は、追跡ポイント320の動作を追跡するように、さらに構成することができる。そのような機能により、ユーザ110が「スワイプ」、「フリップ」などの特定の動作を利用することが可能になり得る。これにより、位置追跡のみを介するナビゲーションよりもなお一層効率的に、ユーザがメニュー項目および/または他のコンテンツを介してナビゲートすることが可能になり得る。
図8A〜
図8Cは、そのような実施形態を示す。
【0036】
図8Aでは、ユーザは、たとえば、手全体または1つもしくは複数の指だけで視覚要素410を選択し、特定の方向に「スワイプ」することによって、1つまたは複数の視覚要素410を移動させることができ、その場合、HMD120は、
図8Bに示されたように、視覚要素410をスワイプされた方向に対応するように移動させる。場合によっては、ユーザは、視覚要素410に対応するアクティブ領域420内のどこでも単にスワイプすることができる。図示されたように、他の視覚要素410も対応して移動することができ、ユーザが複数の視覚要素410を介して容易にスクロールすることが可能になる。
図8A〜
図8Cは、すべての視覚要素410を1つの位置だけ左に移動させる(すなわち、視覚要素「1」〜「5」を1つの位置だけ左に移動させて視覚要素「2」〜「6」を見せる)ユーザを示すが、スワイプは、速度、動作、および/またはスワイプの他の特性に応じて、視覚要素410のより大きい動きをもたらす場合がある。さらに、いくつかの実施形態では、スワイプは、画面のいかなるエリアでも行うことができ、これにより、機能が影響を受ける可能性がある。たとえば、ユーザは、表示された視覚要素410の下をスワイプして、ユーザが視覚要素410のうちの1つを選択するのではなく、それらを介してスクロールしたいことをHMD120に示すことができる。ユーザが視覚要素410(またはアクティブ領域420)に指を置いてスワイプする実施形態では、スワイプ/スクロールを起動する(指を静止して保持する間の)時間は、視覚要素410を選択する(指を静止して保持する間の)時間よりも短い場合がある。
【0037】
これらのGUIとの対話技法は、拡張現実のシナリオに拡張することができ、ユーザが物理オブジェクトに関係する1個の拡張現実コンテンツと対話することが可能になる。そのような拡張現実のシナリオは、HMD120が、カメラ210および/または他のセンサを使用して、物理的な位置、オブジェクト、表面、テクスチャ、画像などを識別するときに起こる可能性がある。次いで、HMD120は、物理的な位置、オブジェクト、表面、テクスチャ、画像などを分析し、それを拡張現実および/または視覚的な検索アプリケーション内のローカルまたはオンラインのデータベースと比較することができる。分析は、ユーザの視点から、識別された位置、オブジェクト、表面、テクスチャ、画像などに物理的に近接して見えるように、HMD120が表示するデジタルコンテンツを返すことができる。いくつかの実施形態では、デジタルコンテンツは、識別されたオブジェクト、表面などに固定されているか、または表示されているように見える。デジタルコンテンツは、画面のアクティブ領域によって囲まれるか、またはそれらを含む対話型要素を有することができ、ユーザが表示されたデジタルコンテンツと対話することが可能になる。たとえば、デジタルコンテンツは、「より多くの情報のために私を押して」と言うボタンを含むことができる。いくつかの実施形態では、上述された実施形態のうちのいくつかと同様に、アクティブ領域は、ボタンを越えた領域に延在するように、かつ/またはボタンからHMD120のディスプレイの縁部に大幅に延在するように、ボタンのまわりに定義することができる。いくつかの実施形態では、ボタンおよび/またはアクティブ領域は、アクティブ領域および/またはボタンが関連付けられたオブジェクト、表面などに固定されているか、または表示されているように見える。
【0038】
HMD120は、ユーザの手(または他のオブジェクト)を追跡することができ、ユーザがデジタルコンテンツの任意の対話型要素と対話することが可能になる。たとえば、ユーザは、(ユーザの視点から)対話型要素と重なるようにユーザの指の位置を移動させること、「選択」ポーズをとらせること、所定の動作を実行すること、および/またはしきい値の時間量の間、要素の近傍に指(もしくは他のオブジェクト)を保持することなどによって、1つまたは複数の様々な方法で対話型要素を選択することができる。HMD120は、対話型要素の選択を認識した後、デジタルコンテンツのレンダリングを変更し、かつ/またはデジタルコンテンツの第2のセットを開始することができる。必要な機能に応じて、デジタルコンテンツの第2のセットも、(ユーザの視点から)識別された物理的な位置、オブジェクト、表面、テクスチャ、画像などに固定される場合がある。
【0039】
拡張現実機能は、ユーザがユーザの周囲についてより多く学ぶことを可能にする無数のシナリオで使用することができる。たとえば、HMD120がユーザの視界の中に映画ポスターを認識した場合、仮想の「予告再生」ボタンがHMDのディスプレイに現れ、それを指で押すことによって起動することができる。別の例では、ユーザは、手のフリックを用いて、雑誌のカバー上に拡張された仮想3Dモデルを回転させることができる。さらに別の例では、ユーザは、掲示板を見て、物理的な掲示板と整合された媒体再生を見せられる可能性がある。無数の他のシナリオが考えられる。したがって、透明なディスプレイに固定された2DのGUIをナビゲートすることに加えて、本明細書で提供された技法は、他の拡張現実のシナリオに拡張することができ、ユーザの視点から物理的な世界に固定され得るデジタルコンテンツの要素との対話が可能になる。これらの対話型要素はユーザの周囲の物理オブジェクトに結合されるので、HMDのディスプレイ上の対応するアクティブ領域は、ユーザの視点に対する物理オブジェクトの位置に対して、移動し、スケール変更することができる。
【0040】
図9は、HMDとのユーザ対話を可能にする方法900の一実施形態を示す流れ図である。方法900の様々な態様は、本明細書に記載されたようにHMDによって、かつ/またはHMDを制御するデバイスによって実行することができる。したがって、方法900の各ステップを実行するための手段は、処理ユニット、メモリ、透明な表示エリア、カメラ、ソフトウェアアプリケーション、オペレーティングシステム、および/または、HMDに含まれ、かつ/もしくはHMDと通信可能に結合された他の構成要素などの、ハードウェアおよび/またはソフトウェアの構成要素を含むことができる。HMDまたはHMDを制御するように構成されたデバイスのハードウェアおよびソフトウェアの態様の一実施形態が、
図10に示され、下記でより詳細に記載される。
【0041】
ブロック905で、視覚要素がHMDの透明な表示エリア内に表示される。上記のように、透明な表示エリアは、ユーザがディスプレイに示された視覚要素ならびにユーザの周囲の物理オブジェクトを見ることが可能になるように構成された、HMDのディスプレイおよび/または表示手段の少なくとも一部分であり得る。網膜プロジェクタを利用する実施形態などのいくつかの実施形態では、透明な表示エリアは、物理的なディスプレイまたは画面上のエリアに必ずしも対応するとは限らない、ユーザの視界内のエリアであり得る。たとえば、視覚要素は、HMDのGUIの一部として表示される視覚要素であり得る。ブロック905の機能を実行するための手段は、オペレーティングシステム、ソフトウェアアプリケーション、プロセッサ、ディスプレイ、および/または
図10に関して下記に記載されるような他の手段を含むことができる。
【0042】
ここで、視覚要素がHMDの透明な表示エリア内に表示される前に、HMD(および/またはそれと通信可能に結合されたデバイス)は、選択可能な視覚要素のセットを決定して、たとえば、アプリケーション、データベース、アプリケーションプログラミングインターフェース(API)などから取得された所定のユーザメニューから表示できることに留意されたい。HMDは、(たとえば、列、四分区間などを利用して)視覚要素のレイアウトを決定することもでき、それは、アプリケーションタイプ、視覚要素の数、ユーザ設定などの様々な要因のうちのいずれかに基づく場合がある。いくつかの実施形態では、レイアウトは、1つまたは複数のユーザ設定(たとえば、四分区間ではなく列についてのユーザの嗜好または設定)に基づいて決定される場合があり、次いで視覚項目のセットは、決定されたレイアウトが利用され得るようにディスプレイ上に配列される場合がある。他の実施形態では、レイアウトは、セットの中の視覚要素のタイプ、表示特性、または量に基づいて自動的に決定される場合がある。いくつかの実施形態では、レイアウトは、ユーザの視界に基づいて、たとえば、ユーザに表示されるように視覚要素の視認度を最大化するために、自動的に決定される場合がある。
【0043】
ブロック910で、視覚要素がアクティブ領域の一部分の中に配置されるように、透明な表示エリア内のアクティブ領域が定義される。アクティブ領域は、たとえば、透明な表示エリアに示されたユーザ選択可能な視覚要素を囲む領域であり得る。アクティブ領域自体は、透明な表示エリア内で強調表示および/または別の方法で指示されてもされなくてもよい。アクティブ領域を定義することは、たとえば、HMDに組み込まれ、かつ/またはHMDと通信可能に結合されたコンピューティングシステムの一部であり得る、処理ユニット、メモリ、および/または他の計算手段によって実行される場合がある。アクティブ領域は、複数の構成のうちのいずれかで定義される場合がある。たとえば、いくつかの実施形態では、ディスプレイは、(たとえば、
図4〜
図7Bに示されたように)ディスプレイまたは視界の全体を実質的に占める複数の領域にさらに分割される場合がある。これらの実施形態におけるアクティブ領域は、形状および/またはサイズが実質的に均一であるか、または変化する場合がある。アクティブ領域は、(たとえば、
図4〜
図7Bに示されたように)アイコンまたは他の表示要素から、たとえば実質上画面の縁部に延在するように定義される場合がある。ブロック910の機能を実行するための手段は、オペレーティングシステム、ソフトウェアアプリケーション、プロセッサ、ディスプレイ、および/または
図10に関して下記に記載されるような他の手段を含むことができる。
【0044】
前に説明されたように、アクティブ領域は列、行、または他の形状であり得る。アクティブ領域は、対象のオブジェクトが表示されないエリアを含む領域として特徴づけることができる(たとえば、アクティブ領域は、視覚要素が表示されていないエリアを包含することができる)。そのような実施形態では、アクティブ領域は、アイコンまたは他の視覚要素に関して定義される場合があるか、または別個に定義される場合がある。アクティブ領域がアイコンまたは他の視覚要素に関して定義される実施形態では、アクティブ領域は、アイコンまたは他の視覚要素よりも大幅に大きいエリアを包含するように定義される場合がある。たとえば、アクティブ領域は、アイコンまたは表示要素の2倍大きいものとして(または、3倍、5倍、もしくは10倍大きいものとして、もしくは任意の他のサイズで) 定義される場合があるか、あるいは、アイコンまたは表示要素がどれほど大きいかにかかわらず、ユーザが見るときにしきい値のサイズよりも大きくなるように表示される場合がある。その上、いくつかの実施形態では、アクティブ領域は、拡張現実または他のソフトウェアアプリケーション内の対話型要素、デジタルコンテンツ、および/または物理オブジェクトに関連付けられる場合がある。そのようなアクティブ領域は、たとえば、ユーザが物理オブジェクトに対して移動するにつれて、サイズ、形状、および表示エリア内の位置を変化させる場合がある。アクティブ領域の他の構成が、実装および/または定義される場合もある。さらに、決定または定義されたアクティブ領域内の視覚要素を表示するエリアは、変化する場合がある。たとえば、列状のアクティブ領域が使用されている場合、HMDは、各列内の垂直位置を決定してそれぞれの視覚要素を表示することができるか、またはアクティブ領域内の視覚要素のサイズもしくは形状を変更するように決定することができる。
【0045】
ブロック915で、(ユーザの視点から)表示エリア内に見える物理オブジェクトが追跡される。追跡するための手段は、画像および/または位置測定値を取り込むように構成され、処理ユニット、メモリ、ならびに/または画像および/もしくは位置測定値に基づいて位置を特定するように構成された他の計算手段と通信可能に結合された、カメラ、センサ、および/または他の構成要素によって実行することができる。そのような手段は、
図10に関して下記にさらに詳細に記載される。
【0046】
上記のように、物理オブジェクトを追跡するための構成要素は、透明な表示エリア内に視覚要素を表示するための構成要素で較正することができ、ユーザが見るものをHMDが判断することが可能になる。対応して、ブロック920で、方法900は、物理オブジェクトの少なくとも一部分が、ユーザの視点から表示エリアのアクティブ領域内に見えると判断することを含む。ここで再び、判断を行うための手段は、
図10に関して記載されるような、処理ユニット、メモリ、および/または他の計算手段を含むことができ、下記に記載される追跡手段を使用することができる。一実施形態では、極値または範囲の他の端部は、追跡ポイント320として検出することができる。一実施形態では、追跡されるオブジェクトが範囲の大部分または大きい部分を占める場合、アクティブ領域が選択される。(たとえば、
図4Dでは、ユーザの指および/または手は、アクティブ領域420-1の少なくとも下半分などの、アクティブ領域420-1のかなりの部分を占める。いくつかの実施形態では、アクティブ領域は、項目を選択し、または場合によってはGUIを制御するために使用されるオブジェクトの形状を実質的にミラーリングするように構成される場合がある。たとえば、アクティブ領域は、指などの細長い制御オブジェクトまたは選択オブジェクトが使用されるとき、列を備える場合がある)。
【0047】
追跡手段は、様々な追跡アルゴリズムのうちのいずれかと連動する場合がある。特定の追跡アルゴリズムは、単一のポイント(たとえば、透明な表示エリア上の座標)、および/またはオブジェクトに関連付けられた領域、および/またはオブジェクト上の位置(たとえば、指先)を単に追跡することができる。より高性能の追跡アルゴリズムは、オブジェクトの(たとえば、約束のポーズを認識する)形状、(たとえば、ユーザがボタンを「押した」かどうかを判定する)距離などの他の特徴を追跡することができる。実施形態は、GUIとの対話用の複数および/または異なる物理オブジェクトを追跡することが可能であり得る。さらに、実施形態は、いかなる1つの方法にも限定されない。いくつかの実施形態では、HMDは、特定のオブジェクトのみから入力を受け取るように構成される場合がある。たとえば、HMDは、オブジェクトが指または手であるかどうかを検出し、その後、指または手からの入力を受け取り、他のオブジェクトからの入力を拒否するように構成される場合がある。追加または代替として、HMDは、指および/または手の追跡と組み合わせて使用することができる、眼球追跡(または「視線」追跡)を含む場合がある。これにより、ユーザの視線がおそらくその領域を見ており、選択を確認しているので、ユーザがオブジェクトまたは領域を選択するように試みている確信度が向上する可能性がある。場合によっては、ユーザが自分の指を見ている可能性があるシナリオでは、ユーザの視線は、指の追跡される位置の確信度を向上するように追跡される場合もある。
【0048】
ブロック925で、ブロック920で行われた判断に基づいて、ユーザインターフェースが操作される。ここで再び、ユーザインターフェースを操作するための手段は、処理ユニット、メモリ、および/またはユーザインターフェース(たとえば、GUI)を示すディスプレイに結合された他の計算手段を含むことができる。
【0049】
図9に示された特定のステップは、HMDとのユーザ対話を可能にする方法900の一例を提供することを了解されたい。代替的な実施形態は、図示されている実施形態に対する代替形態を含む場合がある。たとえば、代替的な実施形態は、方法900の間、異なる時点で透明な表示エリア内でアクティブ領域を定義することを含む場合がある。さらに他の実施形態は、HMDの表示構成要素で物理オブジェクト追跡構成要素を較正するアクションを実行することを含む場合がある。さらに、具体的な用途に応じて、追加の特徴が追加、削除、または合成される場合がある。当業者は、多くの変形、修正、および代替を認識するはずである。
【0050】
図10は、HMDに組み込まれ得る、かつ/またはHMDと通信可能に結合され得るコンピュータシステム1000の一実施形態を示す。コンピューティングシステム1000の1つまたは複数の構成要素は、HMD、スマートフォン、タブレット、パーソナルコンピュータ、または他のコンピューティングデバイスなどの様々なデバイス間で共有することができる。いくつかの実施形態では、ソフトウェアおよび他のアプリケーションは、ディスプレイに通信可能に結合された別個のデバイス上で実行することができる。他の実施形態では、HMDは、それと統合されたコンピュータシステム1000の一部または全部を有する場合がある。
【0051】
図10は、様々な他の実施形態によって提供される方法を実行することができるコンピュータシステム1000の一実施形態の概略図を提供する。
図10が、その一部または全部を適宜利用することができる様々な構成要素を概略的に示すものにすぎないことに留意されたい。したがって、
図10は、個々のシステム要素をどのようにすれば比較的分離された状態で実装できるか、または比較的より一体的に実装できるかを大まかに示す。
【0052】
コンピュータシステム1000は、バス1005を介して電気的に結合され得る(または適宜、他の方法で通信できる)ハードウェア要素を備えるように示されている。ハードウェア要素には、限定はしないが、1つもしくは複数の汎用プロセッサ、(デジタル信号プロセッサ、グラフィックス加速プロセッサなどの)1つもしくは複数の専用プロセッサ、および/または、上述されたように、
図9に関して記載されたステップなどの様々なステップを実行するために利用され得る他の処理手段を含むことができる、プロセッサ1010などの処理ユニットが含まれ得る。ハードウェア要素には、限定はしないが、1つもしくは複数のカメラ、センサ(たとえば、光、熱、超音波、RF、および/もしくはオブジェクトを追跡するためのデータを供給することが可能な他のセンサ)、ならびに/または、本明細書に記載されたように物理オブジェクトを追跡する追跡手段としてプロセッサ1010とともに含まれ得る、かつ/もしくは場合によっては利用され得る他の追跡デバイスを含むことができる、1つまたは複数の入力デバイス1015も含まれ得る。タッチパッド、キーボード、マイクロフォンなどの他のデバイスも含まれ得る。1つまたは複数の出力デバイス1020も含まれる。これらの出力デバイスは、
図9に関して記載されたような1つまたは複数のステップを実行するために利用され得る、1つもしくは複数の透明な表示デバイスおよび/または他の表示手段、ならびにスピーカおよび/または他のデバイスを含むことができる。たとえば、システム1000がHMDに実装されたとき、出力デバイス1020は、透明または半透明なディスプレイを含む場合がある。デバイス1000が電話またはHMDを制御する他のデバイスに実装された実施形態では、出力デバイス1020は、タッチスクリーンを備える場合があるか、または割愛される場合がある。
【0053】
コンピュータシステム1000はさらに、1つまたは複数の非一時的記憶デバイス1025を含む(かつ/またはそれらと通信する)場合があり、非一時的記憶デバイス1025は、限定はしないが、ローカルおよび/もしくはネットワークでアクセス可能な記憶装置を備えることができ、ならびに/または限定はしないが、プログラム可能、フラッシュ更新可能などであり得る、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリメモリ(「ROM」)などのソリッドステート記憶デバイスを含むことができる。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実装するように構成される場合がある。
【0054】
コンピュータシステム1000はまた、通信サブシステム1030を含む場合があり、通信サブシステム1030は、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、ワイヤレス通信デバイス、および/または(Bluetooth(登録商標)デバイス、1002.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)チップセットなどを含むことができる。通信サブシステム1030は、データがネットワーク、他のコンピュータシステム、および/または任意の他の電気デバイス/周辺装置と交換されることを可能にする、1つまたは複数の入力および/または出力の通信インターフェースを含む場合がある。多くの実施形態では、コンピュータシステム1000は作業メモリ1035をさらに備え、作業メモリ1035は、上述されたように、RAMデバイスまたはROMデバイスを含むことができる。
【0055】
コンピュータシステム1000はまた、オペレーティングシステム1040、デバイスドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーション1045などの他のコードを含む、現在は作業メモリ1035内に配置されているものとして示された、ソフトウェア要素を備えることができ、他のコードは、様々な実施形態によって提供されるコンピュータプログラムを備えることができ、かつ/または本明細書に記載されたように、他の実施形態によって提供される方法を実施するように、および/もしくはシステムを構成するように設計することができる。単に例として、
図9に関して記載された方法900などの、上記で説明された方法に関して記載された1つまたは複数の手順の一部分は、コンピュータ(および/または、コンピュータ内の処理ユニット)によって実行可能なコードおよび/または命令として実装することができ、次いで、ある態様では、そのようなコードおよび/または命令は、記載された方法による1つまたは複数の動作を実行するように、汎用コンピュータ(または他のデバイス)を構成および/または適合するために使用することができる。
【0056】
1組のこれらの命令および/またはコードは、上述された記憶デバイス1025などの非一時的コンピュータ可読記録媒体に記憶される場合がある。場合によっては、記録媒体は、コンピュータシステム1000などのコンピュータシステム内に組み込まれる場合がある。他の実施形態では、命令/コードが記憶された汎用コンピュータをプログラム、構成、および/または適合するために記録媒体が使用され得るように、記録媒体は、コンピュータシステムから分離される場合があり(たとえば、光ディスクなどの取外し可能媒体)、かつ/またはインスタレーションパッケージ内で提供される場合がある。これらの命令は、コンピュータシステム1000によって実行可能である、実行可能コードの形態をとる場合があり、かつ/または、(たとえば、様々な一般的に利用可能なコンパイラ、インスタレーションプログラム、圧縮/解凍ユーティリティなどのうちのいずれかを使用して)コンピュータシステム1000でコンパイルおよび/またはインストールされると実行可能コードの形態をとる、ソースコードおよび/もしくはインストール可能コードの形態をとる場合がある。
【0057】
実質的な変形が特定の要件に従って行われる場合があることが、当業者には明らかであろう。たとえば、カスタマイズされたハードウェアを使用することもでき、かつ/または、特定の要素は、ハードウェア、(アプレットなどの移植可能なソフトウェアを含む)ソフトウェア、もしくはその両方に実装することができる。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続を使用することができる。
【0058】
上述のように、一態様では、いくつかの実施形態は、(コンピュータシステム1000などの)コンピュータシステムを使用して、本発明の様々な実施形態による方法を実行することができる。一組の実施形態によれば、そのような方法の手順の一部または全部は、プロセッサ1010が作業メモリ1035内に収容されている(オペレーティングシステム1040および/またはアプリケーションプログラム1045などの他のコードに組み込まれる場合がある)1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、コンピュータシステム1000によって実行される。そのような命令は、記憶デバイス1025のうちの1つまたは複数などの別のコンピュータ可読媒体から作業メモリ1035に読み込まれる場合がある。単に例として、作業メモリ1035内に収容されている命令のシーケンスを実行すると、本明細書に記載された方法の1つまたは複数の手順をプロセッサ1010に実行させることができる。追加または代替として、本明細書に記載された方法の部分は、専用ハードウェアを介して実行される場合がある。
【0059】
本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、特定の方式で機械を動作させるデータを供給することに関与する任意の媒体を指す。コンピュータシステム1000を使用して実施される実施形態では、様々なコンピュータ可読媒体が、実行用にプロセッサ1010に命令/コードを供給することに関与する場合があり、かつ/またはそのような命令/コードを記憶および/もしくは搬送するために使用される場合がある。多くの実装形態では、コンピュータ可読媒体は、物理記録媒体および/または有形記録媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとる場合がある。不揮発性媒体には、たとえば、記憶デバイス1025などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、限定はしないが、作業メモリ1035などのダイナミックメモリが含まれる。
【0060】
通常の形態の物理コンピュータ可読媒体および/または有形コンピュータ可読媒体には、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは任意の他の磁気媒体、CD-ROM、任意の他の光媒体、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、またはコンピュータが命令および/もしくはコードを読み取ることができる任意の他の媒体が含まれる。
【0061】
様々な形態のコンピュータ可読媒体は、実行用にプロセッサ1010に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与する場合がある。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上に搬送される場合がある。リモートコンピュータは、そのダイナミックメモリ内に命令をロードし、コンピュータシステム1000によって受信および/または実行されるべき伝送媒体上の信号として命令を送信する場合がある。
【0062】
通信サブシステム1030(および/またはその構成要素)は、一般に信号を受信し、次いでバス1005は、信号(および/または信号によって搬送されたデータ、命令など)を作業メモリ1035に搬送し、プロセッサ1010は、そこから命令を取り出し、実行する。作業メモリ1035によって受信された命令は、場合によっては、プロセッサ1010による実行の前または後のいずれかに、非一時的記憶デバイス1025に記憶される場合がある。
【0063】
上記で説明された方法、システム、およびデバイスは例である。様々な構成は、様々な手順または構成要素を適宜、省略、置換、または追加することができる。たとえば、代替の構成では、方法は、記載された順序とは異なる順序で実行される場合があり、かつ/または、様々なステージが追加、省略、および/もしくは連結される場合がある。また、いくつかの構成に関して記載された特徴は、様々な他の構成内に組み合わされる場合がある。構成の様々な態様および要素は、同様の方式で組み合わされる場合がある。また、技術は発展するものであり、したがって、要素の多くは例であり、本開示の範囲または特許請求の範囲を限定しない。
【0064】
(実装形態を含む)例示的な構成を完全に理解するために、説明には具体的な詳細が与えられている。しかしながら、構成は、これらの具体的な詳細なしに実践することができる。たとえば、構成を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細なしに示されている。この説明は、例示的な構成のみを提供し、特許請求の範囲の範囲、適用可能性、または構成を限定しない。むしろ、これらの構成の上述の説明は、記載された技法を実装するための有効な説明を当業者に提供することになる。本開示の趣旨または範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。
【0065】
また、構成は、流れ図またはブロック図として描写されるプロセスとして記載される場合がある。各々は動作を逐次プロセスとして記載する場合があるが、動作の多くは、並行して、または同時に実行することができる。加えて、動作の順序は並び替えられる場合がある。プロセスは、図に含まれていない追加のステップを有する場合がある。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装される場合がある。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記録媒体などの非一時的コンピュータ可読媒体に記憶される場合がある。プロセッサは記載されたタスクを実行することができる。
【0066】
いくつかの例示的な構成を記載してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用される場合がある。たとえば、上記の要素は、より大きいシステムの構成要素であり得るし、他の規則は、本発明の適用例に優先するか、そうでなければ本発明の適用例を変更することができる。また、上記の要素が考慮される前、間、または後に、いくつかのステップが着手される場合がある。したがって、上記の説明は、特許請求の範囲を制限しない。