(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】XR仮想トラックパッド
(51)【国際特許分類】
G06F 3/01 20060101AFI20240731BHJP
G06F 3/0485 20220101ALI20240731BHJP
G06F 3/0346 20130101ALI20240731BHJP
G06T 19/00 20110101ALI20240731BHJP
【FI】
G06F3/01 570
G06F3/0485
G06F3/0346 426
G06T19/00 A
【外国語出願】
(21)【出願番号】P 2023042845
(22)【出願日】2023-03-17
【審査請求日】2023-03-17
(32)【優先日】2022-07-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2023-03-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【氏名又は名称】深石 賢治
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】劉 永哲
(72)【発明者】
【氏名】田中 佑弥
(72)【発明者】
【氏名】大迫 陽二
【審査官】岸 智史
(56)【参考文献】
【文献】米国特許出願公開第2022/0229534(US,A1)
【文献】米国特許第11054896(US,B1)
【文献】特表2017-517084(JP,A)
【文献】特表2021-508115(JP,A)
【文献】米国特許出願公開第2018/0188894(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01、3/048-3/04895
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
画像認識及びハンドトラッキングを使用して、ユーザが当該ユーザの片手を見ていると
特定するステップと、
前記ユーザが前記片手を見ていると特定された場合に、前記片手の位置、向き、及び速
度について取り込まれたデータを変換することで、前記片手のデジタルモデルを生成する
ステップと、
前記デジタルモデルから前記片手の位置を識別するステップと、
前記ユーザが前記片手を見ていると特定された場合に、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドを前記ユーザの前記片手
の位置に投影するステップと、
前記片手に投影された前記仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、前記1つ又は複数の指の動きを検知するステップと、
前記1つ又は複数の指の動きに基づいて、前記XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップと、
を含む方法。
【請求項9】
ユーザインターフェースを制御するためのコンピューティングシステムであって、
1つ又は複数のプロセッサと、
命令を格納している1つ又は複数のメモリと、
を備え、
前記命令は、前記1つ又は複数のプロセッサによって実行されたときに、
画像認識及びハンドトラッキングを使用して、ユーザが当該ユーザの片手を見ている
と特定するステップと、
前記ユーザが前記片手を見ていると特定された場合に、前記片手の位置、向き、及び
速度について取り込まれたデータを変換することで、前記片手のデジタルモデルを生成す
るステップと、
前記デジタルモデルから前記片手の位置を識別するステップと、
前記ユーザが前記片手を見ていると特定された場合に、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドを前記ユーザの前記片手
の位置に投影するステップと、
前記片手に投影された前記仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、前記1つ又は複数の指の動きを検知するステップと、
前記1つ又は複数の指の動きに基づいて、前記XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップと、
を含むプロセスを、前記コンピューティングシステムに実行させる、
コンピューティングシステム。
【請求項16】
命令を格納している1つ又は複数の非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記命令は、少なくともプロセッサとメモリとを内部に有しているシステムによって実行されたときに、
画像認識及びハンドトラッキングを使用して、ユーザが当該ユーザの片手を見ている
と特定するステップと、
前記ユーザが前記片手を見ていると特定された場合に、前記片手の位置、向き、及び
速度について取り込まれたデータを変換することで、前記片手のデジタルモデルを生成す
るステップと、
前記デジタルモデルから前記片手の位置を識別するステップと、
前記ユーザが前記片手を見ていると特定された場合に、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドを前記ユーザの前記片手
の位置に投影するステップと、
前記片手に投影された前記仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、前記1つ又は複数の指の動きを検知するステップと、
前記1つ又は複数の指の動きに基づいて、前記XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップと、
を含むオペレーションを、前記システムに実行させる、
1つ又は複数の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項19】
前記ユーザの2本以上の指のうち少なくとも1本の指が前記仮想トラックパッドを横切
って移動するときの当該少なくとも1本の指の移動方向を示す1つ以上の仮想オブジェク
トを、仮想環境に表示するステップであって、前記1つ以上の仮想オブジェクトは、前記
少なくとも1本の指が前記仮想トラックパッドを横切って移動するときに前記ユーザイン
ターフェース内で移動する前記少なくとも1本の指の終点を示すインジケータを有する、
当該仮想環境に表示するステップと、
前記ユーザインターフェースに表示された項目を前記ユーザがカーソルで選択できる前
記ユーザインターフェース内の位置を示す、少なくとも1つの衝突検知エリアを前記ユー
ザインターフェースに表示するステップと、
をさらに含む、請求項1に記載の方法。
【請求項20】
前記動きの方向は、第1の形状を有する第1のオブジェクトによって表され、
少なくとも1本の指の終点を表す指標は、前記第1の形状とは異なる第2の形状を有す
る第2のオブジェクトによって表される、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、2022年7月28日に出願された「XR Virtual Trackpad」と題される米国特許仮出願第63/393,173号の利益を主張するものであり、その全体が参照によって組み込まれる。
【背景技術】
【0002】
[0002]人工現実、エクステンデッドリアリティ、又はエクストラリアリティ(総称して「XR」)は、ユーザへの提示の前に何らかの様式で調整されている現実の形態であり、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッドリアリティ、又はそれらの何らかの組合せ及び/若しくは派生物を含み得る。さまざまなXR環境が存在しており、ユーザたちの表象が動き回って互いと話すことを可能にしている。しかしながら、ユーザインターフェース(UI)及びユーザ体験(UX)には限界がある。たとえば、ユーザインターフェースは、ハンドトラッキングに依存している場合が多く、常に効果的に動作するとは限らず、ユーザにとって不快である場合さえある。すなわち、従来技術のXRデバイスに関するユーザインターフェースは、典型的には、XRデバイスによって実行されるハンドトラッキングによって追跡される手のジェスチャを使用して制御される。しかしながら、そのようなケースにおいては、物理的なフィードバックがない。
【発明の概要】
【0003】
[0003]本開示は、実質的に、図のうちの少なくとも1つにおいて示されているように、及び/又は図のうちの少なくとも1つに関連して記述されているように、特許請求の範囲においてさらに完全に記載されているように、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドをユーザの片手に投影し、仮想トラックパッドを使用してユーザインターフェース(UI)を制御することを対象としている。
【0004】
本開示は、以降で与えられる詳細説明から、及びさまざまな実施形態の添付の図面からさらに完全に理解されるであろうが、それらの図面は、本明細書において記述及び例示されている実施形態を限定するものと取られるべきではなく、説明及び理解のためのものにすぎない。
【図面の簡単な説明】
【0005】
【
図1】開示される本テクノロジーのいくつかの実施態様が動作することが可能であるデバイスの概観を示すブロック図である。
【
図2A】いくつかの実施形態によるヘッドマウントディスプレイ(HMD)の線図である。
【
図2B】複合現実HMDとコア処理コンポーネントとを含む複合現実HMDシステムの線図である。
【
図3A】仮想トラックパッドのいくつかの実施形態を示す図である。
【
図3B】仮想トラックパッドのいくつかの実施形態を示す図である。
【
図4A】仮想トラックパッドの使用のさらに詳細な図解を示す図である。
【
図4B】仮想トラックパッドの使用のさらに詳細な図解を示す図である。
【
図4C】仮想トラックパッドの使用のさらに詳細な図解を示す図である。
【
図4D】仮想トラックパッドの使用のさらに詳細な図解を示す図である。
【
図5】エクステンデッドリアリティ(XR)仮想トラックパッドを使用して、XRデバイスによって表示されているユーザインターフェースを制御するためのプロセスのいくつかの実施形態のデータフロー図である。
【
図6】ユーザの手に投影されているXR仮想トラックパッドに対して行われた動きに基づいて、XRデバイスによって表示されている仮想環境におけるユーザインターフェースにおいてオブジェクトを制御するためのプロセスのいくつかの実施形態のデータフロー図である。
【発明を実施するための形態】
【0006】
[0012]以降の記述においては、本開示のさらに徹底的な説明を提供するために、多くの詳細が記載されている。しかしながら、本開示は、これらの具体的な詳細を伴わずに実践されることが可能であるということは、当業者にとって明らかであろう。その他の例においては、よく知られている構造及びデバイスが、本開示をわかりにくくすることを避けるために、詳細にではなくブロック図の形態で示されている。
【0007】
[0013]仮想トラックパッドと、その仮想トラックパッドを使用するための方法とが開示されている。いくつかの実施形態においては、エクステンドリアリティ(XR)デバイスが、たとえばハンドトラッキング位置データを使用して、仮想トラックパッドをユーザの手に投影する。投影すると、XRデバイスは、手に投影された仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、それらの1つ又は複数の指の動きを検知する。これらの動きは、処理されてコマンドになり、それらのコマンドは、XRデバイスにおいて実行されて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御する。XRデバイスは、ヘッドマウントディスプレイ(HMD)システムとして実装されることが可能であり、その例が以降で記述されている。
【0008】
[0014]開示される本テクノロジーの実施形態は、人工現実、エクステンデッドリアリティ、又はエクストラリアリティ(総称して「XR」)を含むこと、又はその現実と組み合わせて実施されることが可能であり、その現実は、ユーザへの提示の前に何らかの様式で調整されている現実の形態であり、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッドリアリティ、又はそれらの何らかの組合せ及び/若しくは派生物を含み得る。エクステンデッドリアリティコンテンツは、完全に生成されたコンテンツ、又は、取り込まれたコンテンツ(たとえば、現実世界の写真)と組み合わされた生成されたコンテンツを含み得る。加えて、いくつかの実施形態においては、エクステンデッドリアリティは、たとえば、人工現実において行動を実行するために使用されるアプリケーション、製品、付属品、サービス、又はそれらの何らかの組合せに関連付けられることが可能である。エクステンデッドリアリティコンテンツを提供するエクステンデッドリアリティシステムは、ホストコンピュータシステムに接続されているヘッドマウントディスプレイ(HMD)、スタンドアロンのHMD、モバイルデバイス若しくはコンピューティングシステム、「ケーブ(cave)」環境若しくはその他の投影システム、又は、1人若しくは複数の視聴者に人工現実コンテンツを提供することが可能な任意のその他のハードウェアプラットフォームを含むさまざまなプラットフォーム上で実施されることが可能である。
【0009】
[0015]「仮想現実」又は「VR」は、本明細書において使用される際には、ユーザの視覚入力がコンピューティングシステムによって制御される没入型体験を指す。「拡張現実」又は「AR」は、ユーザが現実世界の画像を、それらの画像がコンピューティングシステムを通過した後に見るシステムを指す。たとえば、背面にカメラを備えたタブレットが、現実世界の画像を取り込み、次いでカメラとは反対側にあるタブレットのスクリーン上にそれらの画像を表示することが可能である。タブレットは、画像がシステムを通過する際に、仮想オブジェクトを付加することによってなどで、それらの画像を処理及び調整又は「拡張」することが可能である。「複合現実」又は「MR」は、ユーザの目に入る光の一部が、コンピューティングシステムによって生成され、一部が、現実世界におけるオブジェクトから反射された光からなるシステムを指す。たとえば、MRヘッドセットが、パススルーディスプレイを備えたメガネとして成形されることが可能であり、パススルーディスプレイは、現実世界からの光が導波管を通過することを可能にし、導波管は同時に、MRヘッドセットにおけるプロジェクタからの光を放射して、ユーザが見ることができる現実のオブジェクトと混合された仮想オブジェクトをMRヘッドセットが提示することを可能にする。「人工現実」、「エクストラリアリティ」、又は「XR」は、本明細書において使用される際には、VR、AR、MR、又はそれらの任意の組合せ若しくはハイブリッドのうちのいずれかを指す。
【0010】
[0016]いくつかの実施態様が、以降で図を参照してさらに詳細に論じられている。
図1は、開示される本テクノロジーのいくつかの実施態様が動作することが可能であるデバイスの概観を示すブロック図である。それらのデバイスは、XR環境のための対話モードを作成、管理、及び提供することが可能であるコンピューティングシステム100のハードウェアコンポーネントを備えることが可能である。さまざまな実施態様においては、コンピューティングシステム100は、単一のコンピューティングデバイス103又は複数のコンピューティングデバイス(たとえば、コンピューティングデバイス101、コンピューティングデバイス102、及びコンピューティングデバイス103)を含むことが可能であり、それらの複数のコンピューティングデバイスは、有線又はワイヤレスチャネルを介して通信して、処理を分散し、入力データを共有する。いくつかの実施態様においては、コンピューティングシステム100は、外部の処理又はセンサを必要とせず、コンピュータで作成又は拡張された体験をユーザに提供することが可能なスタンドアロンのヘッドセットを含むことが可能である。その他の実施態様においては、コンピューティングシステム100は、ヘッドセット及びコア処理コンポーネント(コンソール、モバイルデバイス、又はサーバシステム等)などの複数のコンピューティングデバイスを含むことが可能であり、この場合、いくつかの処理動作は、ヘッドセット上で実行され、その他の処理動作は、コア処理コンポーネントへオフロードされる。例示的なヘッドセットが、以降で
図2A及び
図2Bに関連して記述されている。いくつかの実施態様においては、位置及び環境データが、ヘッドセットデバイスに組み込まれているセンサによってのみ収集されることが可能であり、その一方でその他の実施態様においては、ヘッドセットではないコンピューティングデバイスのうちの1つ又は複数が、センサコンポーネントを含むことが可能であり、それらのセンサコンポーネントが、環境又は位置データを追跡することが可能である。
【0011】
[0017]コンピューティングシステム100は、1つ又は複数のプロセッサ110(たとえば、中央処理装置(CPU)、グラフィック処理装置(GPU)、ホログラフィック処理装置(HPU)など)を含むことが可能である。プロセッサ110は、単一の処理装置、又は1つのデバイスにおける複数の処理装置若しくは複数のデバイスにわたって分散された複数の処理装置である(たとえば、コンピューティングデバイス101~103のうちの2つ以上にわたって分散されること)が可能である。
【0012】
[0018]コンピューティングシステム100は、1つ又は複数の入力デバイス120を含むことが可能であり、それらの入力デバイス120は、プロセッサ110に入力を提供して、それらのプロセッサ110にアクションを知らせる。それらのアクションは、ハードウェアコントローラによって仲介されることが可能であり、そのハードウェアコントローラは、入力デバイスから受け取られた信号を解釈し、通信プロトコルを使用してプロセッサ110へ情報を通信する。それぞれの入力デバイス120は、たとえば、マウス、キーボード、タッチスクリーン、タッチパッド、ウェアラブル入力デバイス(たとえば、触覚グローブ、ブレスレット、指輪、イヤリング、ネックレス、腕時計など)、カメラ(若しくはその他の光ベースの入力デバイス、たとえば、赤外線センサ)、マイクロフォン、又はその他のユーザ入力デバイスを含むことが可能である。
【0013】
[0019]プロセッサ110は、たとえば、PCIバス、SCSIバス、又はワイヤレス接続など、内部又は外部バスを使用して、その他のハードウェアデバイスに結合されることが可能である。プロセッサ110は、ディスプレイ130用のなど、デバイス用のハードウェアコントローラと通信することが可能である。ディスプレイ130は、テキスト及びグラフィックスを表示するために使用されることが可能である。いくつかの実施態様においては、ディスプレイ130は、入力デバイスがタッチスクリーンであるか、又は目若しくは頭の方向をモニタするシステムを備えている場合などには、入力デバイスをディスプレイの一部として含む。いくつかの実施態様においては、ディスプレイは、入力デバイスから分離されている。ディスプレイデバイスの例は、LCDディスプレイスクリーン、LEDディスプレイスクリーン、投影型、ホログラフィック、又は拡張現実ディスプレイ(ヘッドアップディスプレイデバイス又はヘッドマウントデバイス等)などである。ネットワークチップ又はカード、ビデオチップ又はカード、オーディオチップ又はカード、USB、Firewire(登録商標)又はその他の外部デバイス、カメラ、プリンタ、スピーカー、CD-ROMドライブ、DVDドライブ、ディスクドライブ等など、その他のI/Oデバイス140がプロセッサに結合されることも可能である。
【0014】
[0020]コンピューティングシステム100は、その他のローカルコンピューティングデバイス又はネットワークノードとワイヤレスに又は有線ベースで通信することが可能な通信デバイスを含むことが可能である。通信デバイスは、たとえばTCP/IPプロトコルを使用して、ネットワークを通じて別のデバイス又はサーバと通信することが可能である。コンピューティングシステム100は、通信デバイスを利用して、複数のネットワークデバイスにわたって動作を分散することが可能である。
【0015】
[0021]プロセッサ110は、メモリ150にアクセスすることが可能であり、コンピューティングシステム100のコンピューティングデバイスのうちの1つに含まれることが可能であり、又はコンピューティングシステム100の複数のコンピューティングデバイス若しくはその他の外部デバイスどうしにわたって分散されることが可能である。メモリは、揮発性又は不揮発性記憶のための1つ又は複数のハードウェアデバイスを含み、読み取り専用メモリ及び書き込み可能メモリの両方を含むことが可能である。たとえば、メモリは、ランダムアクセスメモリ(RAM)、さまざまなキャッシュ、CPUレジスタ、読み取り専用メモリ(ROM)、及び書き込み可能な不揮発性メモリ、たとえば、フラッシュメモリ、ハードドライブ、フロッピーディスク、CD、DVD、磁気記憶デバイス、テープドライブなどのうちの1つ又は複数を含むことが可能である。メモリは、基礎をなすハードウェアから離れた伝搬信号ではなく、それゆえにメモリは非一時的である。メモリ150は、オペレーティングシステム162、XR作業システム164、及びその他のアプリケーションプログラム166など、プログラム及びソフトウェアを格納するプログラムメモリ160を含むことが可能である。メモリ150は、データメモリ170を含むことも可能であり、データメモリ170は、プログラムメモリ160又はコンピューティングシステム100の任意の要素に提供されることになる情報を含むことが可能である。
【0016】
[0022]いくつかの実施態様は、多くのその他のコンピューティングシステム環境又は構成とともに動作可能であり得る。本テクノロジーとともに使用するのに適していると言えるコンピューティングシステム、環境、及び/又は構成の例は、XRヘッドセット、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、セルラー電話、ウェアラブルエレクトロニクス、ゲーミングコンソール、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、それらに限定されない。
【0017】
[0023]
図2Aは、いくつかの実施形態によるヘッドマウントディスプレイ(HMD)200の線図である。HMD200は、前部剛体205及びバンド210を含む。前部剛体205は、電子ディスプレイ245の1つ又は複数の電子ディスプレイ要素、慣性運動ユニット(IMU)215、1つ又は複数の位置センサ220、ロケータ225、及び1つ又は複数の計算ユニット230を含む。位置センサ220、IMU215、及び計算ユニット230は、HMD200の内部にあることが可能であり、ユーザには見えなくてもよい。さまざまな実施態様においては、IMU215、位置センサ220、及びロケータ225は、現実世界における、及び仮想環境におけるHMD200の動き及び場所を3自由度(3DoF)又は6自由度(6DoF)で追跡することが可能である。たとえば、ロケータ225は、赤外光ビームを放射することが可能であり、それらの赤外光ビームは、HMD200の周囲の現実のオブジェクト上に光点を生成する。別の例として、IMU215は、たとえば、1つ又は複数の加速度計、ジャイロスコープ、磁力計、その他の非カメラベースの位置、力、若しくは方位センサ、又はそれらの組合せを含むことが可能である。HMD200と統合されている1つ又は複数のカメラ(図示せず)が、光点を検知することが可能である。HMD200における計算ユニット230は、検知された光点を使用して、HMD200の位置及び動きを推定すること、並びにHMD200を取り巻く現実のオブジェクトの形状及び位置を識別することが可能である。
【0018】
[0024]電子ディスプレイ245は、前部剛体205と統合されることが可能であり、計算ユニット230によって指示されたとおりにユーザに画像光を提供することが可能である。さまざまな実施形態においては、電子ディスプレイ245は、単一の電子ディスプレイ又は複数の電子ディスプレイ(たとえば、ユーザのそれぞれの目のためのディスプレイ)であることが可能である。電子ディスプレイ245の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス有機発光ダイオードディスプレイ(AMOLED)、1つ若しくは複数の量子ドット発光ダイオード(QOLED)サブピクセルを含むディスプレイ、プロジェクタユニット(たとえば、マイクロLED、レーザーなど)、何らかのその他のディスプレイ、又はそれらの何らかの組合せを含む。
【0019】
[0025]いくつかの実施態様においては、HMD200は、パーソナルコンピュータ(PC)(図示せず)及び/又は1つ若しくは複数の外部センサ(図示せず)などのコア処理コンポーネントに結合されることが可能である。外部センサは、HMD200を(たとえば、HMD200から放射された光を介して)モニタすることが可能であり、これをPCが、IMU215及び位置センサ220からの出力と組み合わせて使用して、HMD200の場所及び動きを決定することが可能である。
【0020】
[0026]
図2Bは、複合現実HMD252とコア処理コンポーネント254とを含む複合現実HMDシステム250の線図である。複合現実HMD252及びコア処理コンポーネント254は、リンク256によって示されているようにワイヤレス接続(たとえば、60GHzリンク)を介して通信することが可能である。その他の実施態様においては、複合現実システム250は、外部計算デバイスを伴わずにヘッドセットのみを含むか、又は複合現実HMD252とコア処理コンポーネント254との間にその他の有線若しくはワイヤレス接続を含む。複合現実HMD252は、パススルーディスプレイ258及びフレーム260を含む。フレーム260は、ライトプロジェクタ(たとえば、レーザー、LEDなど)、カメラ、アイトラッキングセンサ、MEMSコンポーネント、ネットワーキングコンポーネント等などのさまざまな電子コンポーネント(図示せず)を収容することが可能である。
【0021】
[0027]プロジェクタは、たとえば、光学素子を介してパススルーディスプレイ258に結合されて、ユーザに対してメディアを表示することが可能である。光学素子は、プロジェクタからの光をユーザの目へ向けるために、1つ又は複数の導波管アセンブリ、反射器、レンズ、ミラー、コリメータ、回折格子などを含むことが可能である。画像データは、コア処理コンポーネント254からリンク256を介してHMD252へ伝送されることが可能である。HMD252におけるコントローラが、画像データをプロジェクタからの光パルスへと変換することが可能であり、それらの光パルスは、光学素子を介して出力光としてユーザの目へ伝送されることが可能である。出力光は、ディスプレイ258を通過する光と混ざることが可能であり、これは、あたかも現実世界に存在するかのように見える仮想オブジェクトを出力光が提示することを可能にする。
【0022】
[0028]HMD200と同様に、HMDシステム250は、動き及び位置追跡ユニット、カメラ、光源などを含むことも可能であり、これらは、HMDシステム250が、たとえば、3DoF又は6DoFで自身を追跡し、ユーザの部分(たとえば、手、足、頭、又はその他の身体部分)を追跡し、仮想オブジェクトを、HMD252が移動する際に静止しているように見えるようにマッピングし、仮想オブジェクトをジェスチャ及びその他の現実世界のオブジェクトに反応させることを可能にする。
【0023】
[0029]さまざまな実施態様においては、HMD200又は250は、ユーザの対話及び意図の徴候をモニタするために、アイトラッキングユニット、ヘッドトラッキングユニット、オーディオシステム、さまざまなネットワークコンポーネント等など、追加のサブシステムを含むことも可能である。たとえば、いくつかの実施態様においては、コントローラの代わりに、又はコントローラに加えて、HMD200若しくは250に含まれている、又は外部カメラからの1つ又は複数のカメラが、ユーザの手の位置及びポーズをモニタして、ジェスチャ並びにその他の手及び身体の動きを決定することが可能である。
【0024】
XR仮想トラックパッド
[0030]いくつかの実施形態においては、XRデバイスに対するユーザインターフェースは、仮想トラックパッドを含む。そのようなケースにおいては、XRデバイスは、XRデバイスにおけるユーザインターフェースにおいてユーザの手のひらに仮想トラックパッドを投影する。いくつかの実施形態においては、仮想トラックパッドは、XRデバイスからのハンドトラッキング位置データを使用して手のひらの中央の位置に投影される。仮想トラックパッドを使用すると、ユーザは、パーソナルコンピュータ又はラップトップのトラックパッドが利用されるのと同じ様式で指(たとえば、人差し指)でカーソルを制御することが可能である。これは、ユーザが自分の指でカーソルを制御しているときに自分の手のひらに物理的なフィードバックを得ることが可能であるという点で有利である。すなわち、ユーザは、カーソルの制御を物理的なフィードバックにリンクさせることによってユーザインターフェース(UI)/ユーザ体験(UX)を感じることが可能である。
【0025】
[0031]
図3A及び
図3Bは、仮想トラックパッドのいくつかの実施形態を示している。いくつかの実施形態においては、XRデバイスにおけるカメラ及び/又はその他のセンサが、ユーザの手の位置、向き、及び速度についての生データを取り込み、XRデバイスにおけるソフトウェアが、その生データを手のリアルタイムデジタルモデル300へと変換する。
図3Aは、ユーザの両手のうちの一方のモデルの例を示している。そのモデルから、XRデバイスは、手のひら301の中央を識別する。
【0026】
[0032]手のひら301の中央を特定した後に、XRデバイスは、ハンドトラッキング位置データを使用して手のひら301の中央の位置に仮想トラックパッドを投影する。
図3Bは、仮想トラックパッド310の例を示している。仮想トラックパッド310がユーザの第1の手に投影されると、ユーザは、仮想トラックパッド310及び自分の第1の手を横切って自分の第2の手の1つ又は複数の指を動かすことが可能である。第2の手の1つ又は複数の指が仮想トラックパッド310に対して動かされていることのハンドトラッキングを使用して、XRデバイスは、トラッキング位置データを入手し、そのトラッキング位置データをコマンドへと変換し、それらのコマンドをXRデバイスが実行して、XRデバイスによって生成され表示されている仮想環境におけるユーザインターフェースを制御する。いくつかの実施形態においては、それらのコマンドは、ユーザインターフェースにおけるカーソルの動き、ユーザインターフェースにおけるウィンドウのスクロール、及び/又はユーザインターフェースにおけるオブジェクト(たとえば、ウィンドウ)の拡大縮小に関連している。本明細書において開示されている技術は、これらの3つのオペレーションに限定されず、XRデバイスによって生成されるユーザインターフェース及び/又は仮想環境に関連したその他のオペレーションを制御するためのコマンドを生成するために使用されることが可能である。
【0027】
[0033]
図3Bは、トラックパッド310を横切るユーザの人差し指の動きに従って、仮想環境において表示されているユーザインターフェース350を横切ってカーソル302が動かされているところを示している。
図3Bにおいては、トラックパッド上のユーザの指を表している枠360など、仮想環境における枠も示されている。それぞれの枠は、トラックパッド310を横切って動かされているユーザの指の終点を表しているドット320などのドットを含む。ユーザインターフェースはまた、衝突検知エリアを示すドット321など、いくつかのドットを含む。衝突検知エリアのドットは、ユーザの指の終点を表しているドットとは異なる色(及び/又は形状)であることが可能である。それぞれの衝突検知エリアは、ユーザインターフェースにおいて表示されている部分(たとえば、オブジェクト又はグラフィカルユーザインターフェース(GUI)要素(たとえば、メニューオプションなど))をユーザがカーソルで選択することが可能であるエリアである。たとえば、ユーザの片手の人差し指が、仮想トラックパッド310が投影されている自分の他方の手に沿って動かされ、以て物理的なフィードバックがユーザに提供された際には、カーソル302などのカーソルが、XRデバイスのユーザインターフェースにおいて動かされ、枠360で示されているユーザの指の動きの方向は、ドット320によって表されているユーザの指の終点を伴うカーソル302の動きの方向を示す。人差し指が動かされ、ドット320がユーザインターフェースにおいてドット321などのドットに向かって動いた際には、ユーザは、ユーザによって選択されることが可能である仮想環境のユーザインターフェースにおけるアイテムに向かってカーソルを動かすことが可能である。いくつかの実施形態においては、選択は、事前に特定された期間(たとえば、1秒、2秒、1~5秒の範囲など)にわたってユーザがアイテムの上にカーソルの位置を保持することによって行われることが可能である。
【0028】
[0034]
図4A~
図4Dは、仮想トラックパッドの使用のさらに詳細な図解を示している。
図4A及び
図4Bを参照すると、XRデバイスは、ハンドトラッキングを使用して、投影されたトラックパッドを横切る人差し指及び中指などのそれぞれの指を検知し、それらの動きをコマンドへと変換することが可能であり、それらのコマンドをXRデバイスが実行して、XRデバイスによって生成された仮想環境におけるユーザインターフェースを制御することが可能である。
【0029】
[0035]
図4A及び
図4Bは、ユーザが仮想トラックパッドを横切って2つの指をスワイプして、ユーザインターフェースにおいてスクロールオペレーションを生じさせているところを示している。ユーザが、人差し指及び中指などの2つの指で、自分の他方の手に投影された仮想トラックパッド310を横切って上下にスワイプした場合には、XRデバイスは、これらの動きをハンドトラッキングセンサ(たとえば、カメラ)で取り込み、取り込まれたハンドトラッキング位置データをスクロールコマンドへと変換する。XRデバイスがスクロールコマンドを実行した場合には、XRデバイスのユーザインターフェース上に表示されている2Dウィンドウがスクロールされることが可能である。それゆえに、仮想トラックパッド310を横切ってスワイプされる2つの指は、XRデバイスによって検知され、XRユーザインターフェースの2Dウィンドウにおける表示を上へ(
図4A)及び/又は下へ(
図4B)スクロールさせる。たとえば、ユーザが、矢印430によって示されているように2つの指で上へスワイプした場合には、XRデバイスは、矢印431によって示されているようにウィンドウ440を上方へスクロールし、ユーザが2つの指で下へスワイプした場合には、XRデバイスは、ウィンドウ440を下方へスクロールする。
【0030】
[0036]同様に、ユーザは、たとえば自分の親指及び人差し指などの2つの指をピンチイン及びピンチアウトした場合には、2Dウィンドウの拡大縮小を制御することが可能である。たとえば、
図4C及び
図4Dにおいては、親指及び人差し指は、他方の手及びその上に投影されているトラックパッド310に対してピンチイン及びピンチアウトされており、その結果、XRデバイスのユーザインターフェースにおいて表示されている2Dウィンドウが拡大縮小されて、2Dウィンドウのサイズが変更される。ユーザがピンチング動作を行った場合には、XRデバイスは、ハンドトラッキングを実行して、2つの指に関するトラッキング位置データを入手し、そのトラッキング位置データをコマンドへと変換し、それらのコマンドは、XRデバイスによって実行されたときに、XRデバイスに2Dウィンドウのサイズを変更させる。たとえば、
図4Cにおいて示されているように、2つの指の間における距離が(たとえば、0.01554891インチへ)低減された際には、XRデバイスは、ウィンドウ450のサイズを低減するが、
図4Dにおいて示されているように、2つの指の間における距離が増大された(たとえば、0.1428908インチへ拡大された)際には、XRデバイスは、ウィンドウ450のサイズを増大する。
【0031】
[0037]
図5は、エクステンデッドリアリティ(XR)仮想トラックパッドを使用して、XRデバイスによって表示されているユーザインターフェースを制御するためのプロセスのいくつかの実施形態のデータフロー図である。いくつかの実施形態においては、このプロセスは、少なくとも部分的に、ハードウェア(たとえば、回路網、専用ロジックなど)、ソフトウェア(たとえば、チップ上で稼働するソフトウェア、汎用コンピュータシステム若しくは専用機上で稼働されるソフトウェアなど)、ファームウェア、又はそれら3つの組合せを備える処理ロジックによって実行される。
【0032】
[0038]
図5を参照すると、このプロセスは、ユーザが自分の両手のうちの一方を見ているということを処理ロジックが特定することから始まる(処理ブロック501)。いくつかの実施形態においては、XRデバイスは、アイトラッキングを使用して、ユーザがどこを見ているかを特定する。XRデバイスのアイトラッキング処理ロジックは、認識ルーチンを使用して処理されるデータを入手して、ユーザが自分の手を見ていると特定する。
【0033】
[0039]ユーザが自分の両手のうちの一方を見ていると特定したことに応答して、処理ロジックは、ユーザインターフェースにおいてユーザの手に仮想トラックパッドを投影する(処理ブロック502)。いくつかの実施形態においては、処理ロジックは、XRデバイスからのハンドトラッキング位置データを使用して、仮想トラックパッドをユーザの手に投影する。いくつかのその他の実施形態においては、XRデバイスは、ユーザの手の代わりに別の表面に仮想トラックパッドを投影するということに留意されたい。たとえば、XRデバイスは、ユーザの手によってつかまれている何か(たとえば、平面)に、ユーザの近く(たとえば、壁)に、又はユーザの別の身体部分に仮想トラックパッドを投影する。
【0034】
[0040]仮想トラックパッドを投影した後に、処理ロジックは、手の上で1つ又は複数の指が動かされている際にそれらの1つ又は複数の指の動きを検知する(処理ブロック503)。いくつかの実施形態においては、処理ロジックは、単一の指の動きを検知する。いくつかのその他の実施形態においては、処理ロジックは、複数の指の動き(たとえば、2つの指の動き、親指及び指の動きなど)を検知する。
【0035】
[0041]1つ又は複数の指の動きを検知したことに応答して、処理ロジックは、XRデバイスによって生成された仮想環境におけるディスプレイ上に表示されているユーザインターフェースを制御する(処理ブロック504)。いくつかの実施形態においては、処理ロジックは、仮想トラックパッドに対する1つ又は複数の指の動きをハンドトラッキングすることによって入手された動きデータに従って、仮想環境において表示されているユーザインターフェースを制御する。たとえば、XRデバイスによって実行されるハンドトラッキングは、仮想トラックパッドの上で1つ又は複数の指が動かされた方向及び距離を特定し、その距離をコマンドへと変換し、それらのコマンドをXRデバイスが仮想環境におけるオブジェクト(たとえば、ウィンドウ、カーソルなど)に適用する。
【0036】
[0042]
図6は、ユーザの手に投影されているXR仮想トラックパッドに対して行われた動きに基づいて、XRデバイスによって表示されている仮想環境におけるユーザインターフェースにおいてオブジェクトを制御するためのプロセスのいくつかの実施形態のデータフロー図である。いくつかの実施形態においては、このプロセスは、少なくとも部分的に、ハードウェア(たとえば、回路網、専用ロジックなど)、ソフトウェア(たとえば、チップ上で稼働するソフトウェア、汎用コンピュータシステム若しくは専用機上で稼働されるソフトウェアなど)、ファームウェア、又はそれら3つの組合せを備える処理ロジックによって実行される。
図6を参照すると、このプロセスは、位置、向き、速度、方向、距離などのうちの1つ又は複数を含む、1つ又は複数の指によってもたらされた動きデータを処理ロジックが取り込むことから始まり(処理ブロック601)、ハンドトラッキングを使用して取り込まれた動きデータを、XRデバイスによって実行されることになるコマンドへと変換し(処理ブロック602)、それらのコマンドを仮想環境におけるオブジェクト上で実行する(処理ブロック603)。この方法においては、ユーザの手に投影されている仮想トラックパッドに対するユーザの1つ又は複数の指の動きは、XRデバイスによって生成された仮想環境におけるユーザインターフェースを制御する。
【0037】
[0043]
図5を再び参照すると、いくつかの実施形態においては、ユーザインターフェースを制御することは、XRデバイスによって表示されるユーザインターフェースにおいてカーソルを動かすことを含む。たとえば、XRデバイスは、仮想トラックパッド上での指(たとえば、人差し指、人差し指など)を用いた動き(それらの動きは、ハンドトラッキングを介して取り込まれて、XRデバイスによって実行されるコマンドへと変換される)に従って仮想環境におけるユーザインターフェースにおいてカーソルを動かすことが可能である。いくつかの実施形態においては、XRデバイスは、カーソルを衝突検知エリアに向かって動かすことが可能である。いくつかの実施形態においては、ユーザが、仮想トラックパッドを横切る自分の指の動きを、衝突検知エリアにおいて、事前に特定された期間(たとえば、1秒、2秒、1~5秒の範囲など)にわたって停止した場合には、ユーザは、仮想環境において選択(たとえば、メニューアイテムの選択、オブジェクトの選択など)を行うことが可能である。
【0038】
[0044]いくつかのその他の実施形態においては、ユーザインターフェースを制御することは、ユーザインターフェースにおけるウィンドウを1つ又は複数の指の動きの方向にスクロールすることを含む。たとえば、XRデバイスは、仮想トラックパッド上での2つの指(たとえば、親指及び人差し指など)を用いた動き(それらの動きは、ハンドトラッキングを介して取り込まれて、XRデバイスによって実行されるコマンドへと変換される)に従って仮想環境におけるユーザインターフェースにおいて2Dウィンドウをスクロールすることが可能である。いくつかの実施形態においては、XRデバイスは、2つの指を上下にスワイプすることによって2Dウィンドウをスクロールすることが可能である。
【0039】
[0045]さらにいくつかのその他の実施形態においては、ユーザインターフェースを制御することは、1つ又は複数の指の動きに従ってユーザインターフェースにおいてウィンドウを拡大縮小することを含む。たとえば、XRデバイスは、ユーザが2つの指をピンチング動作のように互いに近づけたこと、又はピンチング動作の反対(すなわち、逆ピンチング動作)のように離したことに応答して、仮想環境におけるオブジェクト(たとえば、ウィンドウ)の拡大縮小を実行する。いくつかの実施形態においては、2つの指を互いに近づけること(ピンチング動作)は、ハンドトラッキングを介して取り込まれ、コマンドへと変換され、それらのコマンドをXRデバイスが実行し、その結果としてXRデバイスは、オブジェクトのサイズを低減し、その一方で2つの指を逆ピンチング動作のように離すことは、ハンドトラッキングを介して取り込まれ、コマンドへと変換され、それらのコマンドをXRデバイスが実行し、その結果としてXRデバイスは、オブジェクトのサイズを増大する。
【0040】
[0046]本明細書において記述されているいくつかの例示的な実施形態がある。
【0041】
[0047]例1は、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドをユーザの片手に投影するステップと、片手に投影された仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、それらの1つ又は複数の指の動きを検知するステップと、1つ又は複数の指の動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップとを含む方法である。
【0042】
[0048]例2は、1つ又は複数の指の動きを検知するステップが、ユーザの単一の指の動きを検知することを含み、ユーザインターフェースを制御するステップが、XRデバイスによって生成された仮想環境において表示されているユーザインターフェースにおいて単一の指の動きに従ってカーソルを動かすことを含むということを任意選択で含むことが可能である例1の方法である。
【0043】
[0049]例3は、単一の指が人差し指であるということを任意選択で含むことが可能である例1の方法である。
【0044】
[0050]例4は、1つ又は複数の指の動きを検知するステップが、仮想トラックパッドに対するユーザの2つの指の動きを検知することを含むということを任意選択で含むことが可能である例1の方法である。
【0045】
[0051]例5は、ユーザの2つの指の動きが、2つの指が仮想トラックパッドを横切ってスワイプされるスワイプの動きを含み、ユーザインターフェースを制御するステップが、スワイプの動きの方向によって示された方向にUIにおいてウィンドウをスクロールすることを含むということを任意選択で含むことが可能である例4の方法である。
【0046】
[0052]例6は、ユーザの2つの指の動きが、互いに近づけられる又は離される2つの指の動きを含み、ユーザインターフェースを制御するステップが、互いに近づけられる又は離される2つの指の動きに従ってUIにおいてオブジェクトを拡大縮小することを含むということを任意選択で含むことが可能である例5の方法である。
【0047】
[0053]例7は、画像認識及びハンドトラッキングを使用して、ユーザが片手を見ていると特定するステップを任意選択で含むことが可能であり、仮想トラックパッドを片手に投影するステップが、ユーザが片手を見ていると特定したことに応答して生じる、例5の方法である。
【0048】
[0054]例8は、1つ又は複数の指の動きを検知するステップが、1つ又は複数の指の位置、向き、及び速度についてのデータを取り込むことを含むということを任意選択で含むことが可能である例1の方法である。
【0049】
[0055]例9は、ハンドトラッキングから生成されたハンドトラッキングデータに基づいて、1つ又は複数の指の動きに関連付けられているジェスチャを特定するステップを任意選択で含むことが可能であり、1つ又は複数の指の動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップが、ジェスチャの動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御することを含む、例1の方法である。
【0050】
[0056]例10は、ユーザインターフェースを制御するためのコンピューティングシステムであり、このコンピューティングシステムは、1つ又は複数のプロセッサと、命令を格納している1つ又は複数のメモリとを備え、それらの命令は、1つ又は複数のプロセッサによって実行されたときに、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドをユーザの片手に投影するステップと、片手に投影された仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、それらの1つ又は複数の指の動きを検知するステップと、1つ又は複数の指の動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップとを含むプロセスをコンピューティングシステムに実行させる。
【0051】
[0057]例11は、1つ又は複数の指の動きを検知するステップが、ユーザの単一の指の動きを検知することを含み、ユーザインターフェースを制御するステップが、XRデバイスによって生成された仮想環境において表示されているユーザインターフェースにおいて単一の指の動きに従ってカーソルを動かすことを含むということを任意選択で含むことが可能である例10のコンピューティングシステムである。
【0052】
[0058]例12は、単一の指が人差し指であるということを任意選択で含むことが可能である例11のコンピューティングシステムである。
【0053】
[0059]例13は、1つ又は複数の指の動きを検知するステップが、仮想トラックパッドに対するユーザの2つの指の動きを検知することを含むということを任意選択で含むことが可能である例10のコンピューティングシステムである。
【0054】
[0060]例14は、ユーザの2つの指の動きが、2つの指が仮想トラックパッドを横切ってスワイプされるスワイプの動きを含み、ユーザインターフェースを制御するステップが、スワイプの動きの方向によって示された方向にUIにおいてウィンドウをスクロールすることを含むということを任意選択で含むことが可能である例13のコンピューティングシステムである。
【0055】
[0061]例15は、ユーザの2つの指の動きが、互いに近づけられる又は離される2つの指の動きを含み、ユーザインターフェースを制御するステップが、互いに近づけられる又は離される2つの指の動きに従ってUIにおいてオブジェクトを拡大縮小することを含むということを任意選択で含むことが可能である例14のコンピューティングシステムである。
【0056】
[0062]例16は、プロセスが、画像認識及びハンドトラッキングを使用して、ユーザが片手を見ていると特定するステップをさらに含み、仮想トラックパッドを片手に投影するステップが、ユーザが片手を見ていると特定したことに応答して生じるということを任意選択で含むことが可能である例14のコンピューティングシステムである。
【0057】
[0063]例17は、プロセスが、ハンドトラッキングから生成されたハンドトラッキングデータに基づいて、1つ又は複数の指の動きに関連付けられているジェスチャを特定するステップをさらに含み、1つ又は複数の指の動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップが、ジェスチャの動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御することを含むということを任意選択で含むことが可能である例10のコンピューティングシステムである。
【0058】
[0064]例18は、命令を格納されている1つ又は複数の非一時的なコンピュータ可読ストレージメディアであり、それらの命令は、少なくともプロセッサとメモリとを内部に有しているシステムによって実行されたときに、エクステンドリアリティ(XR)デバイスからのハンドトラッキング位置データを使用して仮想トラックパッドをユーザの片手に投影するステップと、片手に投影された仮想トラックパッドを横切って1つ又は複数の指が動かされている際に、ハンドトラッキングを介して、それらの1つ又は複数の指の動きを検知するステップと、1つ又は複数の指の動きに基づいて、XRデバイスによってディスプレイ上に表示されているユーザインターフェース(UI)を制御するステップとを含むオペレーションをシステムに実行させる。
【0059】
[0065]例19は、1つ又は複数の指の動きを検知するステップが、ユーザの単一の指の動きを検知することを含み、ユーザインターフェースを制御するステップが、XRデバイスによって生成された仮想環境において表示されているユーザインターフェースにおいて単一の指の動きに従ってカーソルを動かすことを含むということを任意選択で含むことが可能である例18の1つ又は複数の非一時的なコンピュータ可読ストレージメディアである。
【0060】
[0066]例20は、1つ又は複数の指の動きを検知するステップが、仮想トラックパッドに対するユーザの2つの指の動きを検知することを含み、ユーザの2つの指の動きが、2つの指が仮想トラックパッドを横切ってスワイプされるスワイプの動きであり、ユーザインターフェースを制御するステップが、スワイプの動きの方向によって示された方向にUIにおいてウィンドウをスクロールすることを含むということを任意選択で含むことが可能である例18の1つ又は複数の非一時的なコンピュータ可読ストレージメディアである。
【0061】
[0067]上記の詳細説明のいくつかの部分は、コンピュータメモリ内のデータビットに関する演算のアルゴリズム及びシンボル表現という点から提示されている。これらのアルゴリズム的な記述及び表現は、データ処理技術分野における当業者によって、彼らの作業の実体を、その技術分野における他の当業者へ最も効果的に伝達するために使用される手段である。アルゴリズムとは、ここでは、及び一般には、所望の結果につながるステップどうしの自己矛盾のないシーケンスであると考えられる。それらのステップは、物理的な量の物理的な操作を必要とするステップである。通常、必須ではないが、これらの量は、格納されること、転送されること、結合されること、比較されること、及びその他の方法で操作されることが可能な電気信号又は磁気信号の形態を取る。これらの信号をビット、値、要素、シンボル、文字、語、数などとして指すことが、主として共通の使用という理由から、時として好都合であることがわかっている。
【0062】
[0068]しかしながら、これら及び類似の語のすべては、適切な物理的な量に関連付けられるものであり、これらの量に適用される便宜上のラベルにすぎないということを念頭に置いていただきたい。特に別段の記載がない限り、以降の論考から明らかなように、この記述の全体を通じて、「処理する」、又は「計算する」、又は「算出する」、又は「決定する」、又は「表示する」等などの語を利用している論考は、コンピュータシステムのレジスタ及びメモリ内の物理的な(電子的な)量として表されているデータを操作して、同様にコンピュータシステムのメモリ若しくはレジスタ、又はその他のそのような情報格納、伝送、若しくは表示デバイス内の物理的な量として表されるその他のデータへと変換する、コンピュータシステム又は類似の電子コンピューティングデバイスのアクション及びプロセスを指すということがわかる。
【0063】
[0069]本開示はまた、本明細書における動作を実行するための装置に関連している。この装置は、求められている目的のために特別に構築されることが可能であり、又は、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブ化若しくは再構成される汎用コンピュータを備えることが可能である。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体に格納されることが可能であり、そのコンピュータ可読記憶媒体は、フロッピーディスク、光ディスク、CD-ROM、及び光磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気若しくは光カード、又は電子命令を格納するのに適している任意のタイプの媒体などであるが、それらに限定されず、それぞれはコンピュータシステムバスに結合されている。
【0064】
[0070]本明細書において提示されているアルゴリズム及び表示は、いずれかの特定のコンピュータ又はその他の装置に固有に関連しているものではない。さまざまな汎用システムが、本明細書における教示によるプログラムとともに使用されることが可能であり、又は必要とされている方法ステップを実行するためのさらに専門化された装置を構築することが好都合であると判明する場合もある。さまざまなこれらのシステムにとっての必要とされる構造は、以降の記述から明らかになるであろう。加えて、本開示は、いずれかの特定のプログラミング言語に関連して記述されているものではない。本明細書において記述されているように本開示の教示を実施するためにさまざまなプログラミング言語が使用されることが可能であるということがわかるであろう。
【0065】
[0071]機械可読媒体は、機械(たとえば、コンピュータ)によって読み取り可能な形態で情報を格納又は伝送するための任意のメカニズムを含む。たとえば、機械可読媒体は、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気伝搬信号、光伝搬信号、音響伝搬信号、又はその他の形態の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号等)などを含む。
【0066】
[0072]当業者にとっては、前述の記述を読んだ後には、本開示の多くの変更及び修正が疑いなく明らかになるであろうが、例示として示され記述されているいずれの特定の実施形態も、限定的とみなされることを意図されているものでは決してないということを理解されたい。そのため、さまざまな実施形態の詳細への言及は、本開示にとって不可欠とみなされる特徴のみを本来列挙する特許請求の範囲の範疇を限定することを意図されているものではない。