(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022083671
(43)【公開日】2022-06-06
(54)【発明の名称】表示装置上にユーザインタラクションのためのカーソルを示すための方法及びシステム
(51)【国際特許分類】
G06F 3/0346 20130101AFI20220530BHJP
A63F 13/428 20140101ALI20220530BHJP
G06F 3/038 20130101ALI20220530BHJP
G06F 3/01 20060101ALI20220530BHJP
G06F 3/04812 20220101ALI20220530BHJP
【FI】
G06F3/0346 425
A63F13/428
G06F3/038 350D
G06F3/01 570
G06F3/0481 120
【審査請求】未請求
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2020195130
(22)【出願日】2020-11-25
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】518427524
【氏名又は名称】未來市股▲ふん▼有限公司
(74)【代理人】
【識別番号】100081961
【弁理士】
【氏名又は名称】木内 光春
(74)【代理人】
【識別番号】100112564
【弁理士】
【氏名又は名称】大熊 考一
(74)【代理人】
【識別番号】100163500
【弁理士】
【氏名又は名称】片桐 貞典
(74)【代理人】
【識別番号】230115598
【弁護士】
【氏名又は名称】木内 加奈子
(72)【発明者】
【氏名】戴 裕峰
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA02
5B087AA07
5B087BC04
5B087BC05
5B087BC06
5B087BC12
5B087BC13
5B087BC32
5B087DD03
5B087DD06
5B087DE07
5E555AA06
5E555BA20
5E555BA22
5E555BB20
5E555BB22
5E555BC30
5E555BE17
5E555CA29
5E555CA42
5E555CA44
5E555CA45
5E555CB66
5E555CC05
5E555DA01
5E555DA08
5E555DB06
5E555FA05
(57)【要約】 (修正有)
【課題】表示装置上にユーザインタラクションのためのカーソルを示すための方法及びシステムを提供する。
【解決手段】方法は、ユーザ側から照射されたレイキャストの終端に初期化された基準位置を決定しユーザの人体部位と共に移動する目標位置を決定する。目標位置は基準位置とは異なる。さらに、基準位置と目標位置とに基づき、改変済み位置を決定する。基準位置と目標位置と改変済み位置は、ユーザ側と平行の同一の面上に位置する。改変済み位置は目標位置とは異なる。改変済み位置がカーソルの現在位置として用いられる。改変済み位置は、現在ユーザ側から照射されているレイキャストの終端の位置を表す。従って、カーソルはXRにおいて安定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
基準位置を決定することであって、前記基準位置がユーザ側から照射されたレイキャストの終端に初期化されることと、
目標位置を決定することであって、前記目標位置がユーザの人体部位と共に移動し、前記目標位置が前記基準位置とは異なることと、
前記基準位置と前記目標位置とに基づき、改変済み位置を決定することであって、前記基準位置と前記目標位置と前記改変済み位置が前記ユーザ側と平行の同一の面上に位置しており、前記改変済み位置が前記目標位置とは異なることと、
前記改変済み位置をカーソルの現在位置として用いることであって、前記改変済み位置が現在前記レイキャストの前記終端の位置を表していることと
を含む、
表示装置上にユーザインタラクションのためのカーソルを示すための方法。
【請求項2】
ユーザの人体部位の動きを感知する、モーションセンサと、
プログラムコードを格納する、メモリと、
前記モーションセンサと前記メモリとに連接され、
基準位置を決定することであって、前記基準位置がユーザ側から照射されたレイキャストの終端に初期化されることと、
目標位置を決定することであって、前記目標位置が前記ユーザの人体部位と共に移動し、前記目標位置が前記基準位置とは異なることと、
前記基準位置と前記目標位置とに基づき、改変済み位置を決定することであって、前記基準位置と前記目標位置と前記改変済み位置が前記ユーザ側と平行の同一の面上に位置しており、前記改変済み位置が前記目標位置とは異なること、
前記改変済み位置をカーソルの現在位置として用いることであって、前記改変済み位置が現在前記レイキャストの前記終端の位置を表していることと
を実行するために前記プログラムコードをロードする、プロセッサと
を含む、
表示装置上にユーザインタラクションのためのカーソルを示すためのシステム。
【請求項3】
前記基準位置と前記目標位置とに基づき前記改変済み位置を決定するステップが、
前記基準位置と前記目標位置との重み付けされた関係に基づき前記改変済み位置を決定することであって、前記基準位置と前記目標位置との重みの和が1であり、前記目標位置の前記重みが1ではないこと
を含む、
請求項1に記載の方法、
又は、
前記プロセッサが、
前記基準位置と前記目標位置との重み付けされた関係に基づき前記改変済み位置を決定することであって、前記基準位置と前記目標位置との重みの和が1であり、前記目標位置の前記重みが1ではないこと
を更に実行する、
請求項2に記載のシステム。
【請求項4】
前記ユーザ側に位置する原点を生成することであって、第1のベクターが前記原点の原位置から前記基準位置へ形成され、第2のベクターが前記原位置から前記目標位置へ形成されることと、
前記第1のベクターと、前記第2のベクターと、前記重み付けされた関係とに基づき、前記原位置から前記改変済み位置へ形成される第3のベクターを決定することであって、前記改変済み位置が前記第3のベクターに基づき決定されることと
を更に含む、
請求項3に記載の方法、
又は、
前記プロセッサが、
前記ユーザ側に位置する原点を生成することであって、第1のベクターが前記原点の原位置から前記基準位置へ形成され、第2のベクターが前記原位置から前記目標位置へ形成されることと、
前記第1のベクターと、前記第2のベクターと、前記重み付けされた関係とに基づき、前記原位置から前記改変済み位置へ形成される第3のベクターを決定することであって、前記改変済み位置が前記第3のベクターに基づき決定されることと
を更に実行する、
請求項3に記載のシステム。
【請求項5】
前記重み付けされた関係における前記目標位置と前記基準位置との前記重みが、前記現在位置の精度要件に基づき変化する、
請求項3に記載の方法、
又は、
請求項3に記載のシステム。
【請求項6】
前記基準位置と前記目標位置とに基づき前記改変済み位置を決定するステップが、
前記基準位置から放射状に広がる許容領域を決定することと、
前記目標位置が前記許容領域内に位置するか否かを判定することと
を含む、
請求項3に記載の方法、
又は、
前記プロセッサが、
前記基準位置から放射状に広がる許容領域を決定することと、
前記目標位置が前記許容領域内に位置するか否かを判定することと
を更に実行する、
請求項3に記載のシステム。
【請求項7】
前記目標位置が前記許容領域内に位置するか否かを判定するステップの後、
前記目標位置が前記許容領域内に位置することに応じて、前記基準位置が固定されること
を更に含む、
請求項6に記載の方法、
又は、
前記プロセッサが、
前記目標位置が前記許容領域内に位置することに応じて、前記基準位置が固定されること
を更に実行する、
請求項6に記載のシステム。
【請求項8】
前記基準位置の前記重みが1であり、前記目標位置の前記重みが0である、
請求項7に記載の方法、
又は、
請求項7に記載のシステム。
【請求項9】
前記目標位置が前記許容領域内に位置するか否かを判定するステップの後、
前記目標位置が前記許容領域内に位置していないことに応じて、前記目標位置と共に前記基準位置を移動することであって、前記目標位置と前記基準位置との間に間隔が存在すること
を更に含む、
請求項6に記載の方法、
又は、
前記プロセッサが、
前記目標位置が前記許容領域内に位置していないことに応じて、前記目標位置と共に前記基準位置を移動することであって、前記目標位置と前記基準位置との間に間隔が存在すること
を更に実行する、
請求項6に記載のシステム。
【請求項10】
前記間隔が固定である、
請求項9に記載の方法、
又は、
請求項9に記載のシステム。
【請求項11】
前記間隔が、前記レイキャストの動きの速度に基づき変化する、
請求項9に記載の方法、
又は、
前記間隔が、前記人体部位の動きの速度に基づき変化する、
請求項9に記載のシステム。
【請求項12】
前記間隔が、前記基準位置の初期位置と前記許容領域の端縁との間の距離と同一である、
請求項9に記載の方法、
又は、
請求項9に記載のシステム。
【請求項13】
前記間隔が、前記基準位置の初期位置と前記許容領域の端縁との間の距離とは異なる、
請求項9に記載の方法、
又は、
請求項9に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、XR(extended reality)におけるインタラクションに関するものであり、特に、XRにおいて表示装置上にユーザインタラクションのための現在位置を示すための方法及びシステムに関するものである。
【背景技術】
【0002】
仮想現実(VR)、拡張現実(AR)、複合現実(MR)といった、感覚、知覚、及び/又は環境をシミュレートするためのXR技術は、最近人気が高まっている。前記技術は、ゲーム、軍事訓練、医療、遠隔操作等といった、複数の分野に応用することができる。XRにおいて、ユーザは1以上のオブジェクト及び/又は環境とインタラクトできる。一般的に、環境において視野を変更するため、又は、目標オブジェクトを選択するため、ユーザは手又はコントローラを用いることができる。
【0003】
しかし、従来の手法において、目標オブジェクト上でユーザにより指し示された、表示装置上のユーザインタラクションのためのカーソルを表示する精度は、ユーザの人体の揺動又は振動、又は他の要因により影響されうる。ユーザの手又はコントローラを追跡する感度が高すぎると、手の不安定さのためカーソルが頻繁に漂う。逆に、ユーザの手又はコントローラを追跡する感度が低すぎると、カーソルは応答が遅すぎ、大半の時間は不正確となりうる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
高精度と素早い反応時間でカーソルを制御することは難しい。従って、本発明は、カーソルの位置を安定させるため、表示装置上にユーザインタラクションのためのカーソルを示すための方法及びシステムを対象とする。
【課題を解決するための手段】
【0005】
例示的な実施形態の1つにおいて、表示装置上にユーザインタラクションのためのカーソルを示すための方法は、以下のステップを含むが、これに限定されない。基準位置が決定される。基準位置は、ユーザ側から照射されたレイキャストの終端に初期化される。目標位置が決定される。目標位置は、ユーザの人体部位と共に移動する。目標位置は基準位置とは異なる。基準位置と目標位置とに基づき、改変済み位置が決定され、基準位置と目標位置と改変済み位置は、ユーザ側と平行の同一の面上に位置する。改変済み位置は目標位置とは異なる。改変済み位置はカーソルの現在位置として用いられ、改変済み位置は現在ユーザ側から照射されているレイキャストの終端の位置を表す。
【0006】
例示的な実施形態の1つにおいて、表示装置上にユーザインタラクションのための現在位置を示すためのシステムは、モーションセンサと、メモリと、プロセッサとを含むが、これに限定されない。モーションセンサは、ユーザの人体部位の動きを感知するために用いられる。メモリはプログラムコードを格納するために用いられる。プロセッサはモーションセンサとメモリとに連接され、以下のステップを実行するためプログラムコードをロードする。基準位置が決定される。基準位置は、ユーザ側から照射されたレイキャストの終端に初期化される。目標位置が決定される。目標位置は、ユーザの人体部位と共に移動する。目標位置は基準位置とは異なる。基準位置と目標位置とに基づき、改変済み位置が決定され、基準位置と目標位置と改変済み位置は、ユーザ側と平行の同一の面上に位置する。改変済み位置は目標位置とは異なる。改変済位置は、カーソルの現在位置として用いられ、改変済み位置は現在ユーザ側から照射されているレイキャストの終端の位置を表す。
【発明の効果】
【0007】
上記を鑑み、1以上の実施形態により提供される表示装置上にユーザインタラクションのためのカーソルを示すための方法及びシステムによれば、目標位置のみでなく、基準位置もカーソルの位置を決定するための参考として用いられる。従って、カーソルは安定し、人体部位の動きに対し素早い反応を有する。
【0008】
ただし、この概要は本発明の全ての様態と実施形態を含むものではなく、如何なる方法でも限定又は制限を意図するものではないことを理解されたい。そして、ここで開示される発明は、その明らかな改善と改変を含むと当業者により理解される。
【図面の簡単な説明】
【0009】
本発明の更なる理解のため添付図面が含まれ、本明細書に包含され、本明細書の一部を構成する。図面は本発明の実施形態を表し、明細書と共に、本発明の原理を説明する役割を果たす。
【0010】
【
図1】本発明の例示的な実施形態の1つによる、表示装置上にユーザインタラクションのためのカーソルを示すためのシステムを表すブロック図である。
【0011】
【
図2】本発明の例示的な実施形態の1つによる、表示装置上にユーザインタラクションのためのカーソルを示すための方法を表すフロー図である。
【0012】
【
図3】本発明の例示的な実施形態の1つによる、目標点の生成を表す概略図である。
【0013】
【
図4】本発明の例示的な実施形態の1つによる、ベクターを表す概略上面図である。
【0014】
【
図5】本発明の例示的な実施形態の1つによる、改変済み位置の決定を表すフロー図である。
【0015】
【
図6】本発明の例示的な実施形態の1つによる、許容領域を表す概略図である。
【0016】
【
図7】目標位置が許容領域内に位置することを表す1つの例である。
【0017】
【
図8】目標位置が許容領域内に位置しないことを表す1つの例である。
【発明を実施するための形態】
【0018】
本発明の好ましい実施形態の詳細を述べる。実施例は添付の図面に表される。可能な限り、図面と明細書において同一の符号が同一又は類似の部材に対し用いられる。
【0019】
図1は、本発明の例示的な実施形態の1つによる、表示装置上にユーザインタラクションのためのカーソルを示すためのシステム100を表すブロック図である。
図1を参照し、システム100は、1以上のモーションセンサ110と、メモリ130と、プロセッサ150とを含むが、これに限定されない。システム100は、XR又は他の現実シミュレーション関連技術に適合される。
【0020】
モーションセンサ110は、加速度計、ジャイロスコープ、磁力計、レーザセンサ、慣性測定ユニット(IMU)、赤外線(IR)センサ、画像センサ、深度カメラ、又は上記のセンサの任意の組合せであってよい。1つの実施形態において、モーションセンサ110は、モーションセンサ110により感知されたモーション感知データ(例えば、カメラ画像、感知強度値等)を生成するため、ユーザの人体部位(例えば、指、手、脚、又は腕)の動きを感知するために用いられる。1つの例として、モーション感知データは、3-DoF(Degree of Freedom:自由度)データを含み、3-DoFデータは、ヨー、ロール、ピッチの加速度といった、3次元空間におけるユーザの手の回転データに関連する。もう1つの例として、モーション感知データは6-DoFデータを含む。3-DoFデータと比較し、6-DoFデータは、サージ、ヒーブ、スウェイの加速度といった、3つの直交軸におけるユーザの手の変位に更に関連する。もう1つの例として、モーション感知データは、2次元/3次元空間におけるユーザの脚の相対位置及び/又は変位を含む。いくつかの実施形態において、モーションセンサ110は、手持ち型コントローラ、又は、メガネ、HMD等といったユーザの人体部位と共に動作する装着型装置に組み込まれてよい。
【0021】
メモリ130は、固定又は取り外し可能なランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、類似のデバイス、又は上記デバイスの組合せであってよい。メモリ130は、プログラムコード、デバイス構成、バッファデータ、又は、(モーション感知データ、位置、許容領域、間隔、又は重み付けされた関係といった)永続的データを記録し、これらデータについては後に紹介する。
【0022】
プロセッサ150は、モーションセンサ110とメモリ130とに連接される。プロセッサ150は、本発明の例示的な実施形態の手順を実行するため、メモリ130に格納されたプログラムデータをロードするよう構成される。
【0023】
いくつかの実施形態において、プロセッサ150は、中央処理装置(CPU)、マイクロプロセッサ、マイクロコントローラ、グラフィックスプロセシングユニット(GPU)、デジタル信号処理(DSP)チップ、フィールドプログラマブルゲートアレイ(FPGA)であってよい。プロセッサ150の機能は、独立した電子デバイス又は集積回路(IC)により実装されてもよく、プロセッサ150の動作はソフトウェアにより実装されてもよい。
【0024】
1つの実施形態において、HMD又はデジタルメガネ(即ち、表示装置)は、モーションセンサ110とメモリ130とプロセッサ150とを含む。いくつかの実施形態において、プロセッサ150は、モーションセンサ110と同一の装置に設けられなくてもよい。ただし、モーションセンサ110、プロセッサ150をそれぞれ搭載する機器は、互いにデータを送受信するため、Bluetooth、Wi-Fi、赤外線無線通信といった、互換性のある通信技術を有する通信トランシーバ、又は物理的な伝送路を更に含んでよい。例えば、モーションセンサ110がHMD外のコントローラに設けられるのに対し、プロセッサ150はHMD内に設けられてよい。もう1つの例として、モーションセンサ110が演算装置の外に設けられるのに対し、プロセッサ150は演算装置内に設けられてよい。
【0025】
いくつかの実施形態において、システム100は、LCD、LEDディスプレイ、又はOLEDディスプレイといった、ディスプレイを更に含んでよい。
【0026】
本発明の1以上の実施形態において提供される動作処理をより理解し易くするよう、システム100の動作処理を詳述するため、いくつかの実施形態を以下に例示する。システム100内のデバイスとモジュールは、ここで提供される表示装置上にユーザインタラクションのための現在位置を示す方法を説明するための、下記の実施形態において適用される。方法の各ステップは実際の実装状況に応じて調整でき、ここで説明されるものに限定されるべきではない。
【0027】
図2は、本発明の例示的な実施形態の1つによる、表示装置上にユーザインタラクションのための現在位置を示すための方法を表すフロー図である。
図2を参照し、プロセッサ150は、基準位置を決定してよい(ステップS210)。具体的には、基準位置は、ユーザ側から照射されたレイキャストの終端に初期化される。ユーザは、XRにおける目標オブジェクトを照準するため、(指、手、頭、又は脚といった)人体部位、又は人体部位により保持されたコントローラを用いてよい。プロセッサ150は、モーションセンサ110により感知されたユーザの人体部位の動きに基づき、3次元空間における人体部位の位置又はコントローラの位置を判定してよい。ユーザの手のジェスチャーがオブジェクトを照準するための予め定義されたジェスチャーに一致する場合、人体部位により保持されたコントローラが動くか、又は他のトリガー条件が起こり、ユーザの人体部位、ユーザの目、モーションセンサ110、又はHMDの一部といった、ユーザ側からレイキャストが形成、照射される。レイキャストは人体部位又はコントローラを通過し、直線又は曲線と共に更に延伸してよい。XRにおいてユーザにより指し示されることが許された何らかのオブジェクトとレイキャストが衝突した場合、目標点はレイキャストの終端に位置し、レイキャストの終端は衝突したオブジェクト上に位置する。
【0028】
例えば、
図3は、本発明の例示的な実施形態の1つによる、目標点の生成を表す概略図である。本発明の1つの実施形態として
図3を参照し、ユーザの手301の1つの人差し指を上げるジェスチャーがオブジェクトを照準する予め定義されたジェスチャーと一致し、ユーザの目からユーザの手301を経由し照射されるレイキャスト305が生成される。目標点TPは、レイキャスト305の終端に位置し、カーソルは目標点TPに基づきディスプレイ上に表される。ユーザが手301を動かした場合、目標点TPとカーソルも対応して移動する。
【0029】
目標点が生成されて暫く留まる(例えば、500ミリ秒、1秒、又は2秒)とき、プロセッサ150は、目標点の位置を初期時点でのXRにおける基準位置として記録してよい。位置の形式は、3軸における座標、又は他のオブジェクトの相対関係であってよい。ある時間(例えば、1秒、3秒、又は5秒)目標点が動かない場合、プロセッサ150は、カーソルの現在位置又はレイキャストの終端の位置を表すため、基準位置を用いてよい。
【0030】
プロセッサ150は、目標位置を決定してよい(ステップS230)。具体的には、人体部位が振動又は揺動し、初期時点の後の後続の時点で、目標点の位置が基準位置外へ移動する。この実施形態において、目標点が基準位置に位置しない場合、目標点の位置は目標位置と呼ばれる。即ち、目標位置は基準位置とは異なる。目標位置は、人体部位、又は人体部位により保持されたコントローラと共に移動する。例えば、ユーザの手が中央から右側へ移動し、目標位置も中央から右側へ移動する。
【0031】
プロセッサ150は、基準位置と目標位置とに基づき、改変済み位置を決定してよい(ステップS250)。具体的には、従来の手法では、レイキャストの終端に位置するカーソルの現在位置が、目標点の目標位置として決定される。しかし、単に人体部位の動きに基づくカーソルの現在位置は安定しない可能性がある。この実施形態において、カーソルの現在位置は目標点の目標位置ではない。基準位置と目標位置と改変済み位置は、全てユーザ側と平行の同一の面上に位置し、改変済み位置は目標位置とは異なる。
【0032】
1つの実施形態において、プロセッサ150は、目標位置と基準位置との重み付けされた関係に基づき改変済み位置を決定してよい。具体的には、目標位置と基準位置との重みの和は1であり、目標位置の重みは1ではない。例えば、目標位置(座標(0,0)に位置する)の重みが0.3であり、基準位置(座標(10,10)に位置する)の重みが0.7である場合、改変済み位置は座標(7,7)に位置する。即ち、対応する重みを有する目標位置と基準位置との重み付き計算結果(即ち、重み付けされた関係)が、改変済み位置である。
【0033】
改変済み位置を算出するため、1つの実施形態において、プロセッサ150は原点を生成してよい。
図4は、本発明の例示的な実施形態の1つによる、ベクターV1、V2、V3を表す概略上面図である。
図4を参照し、第1のベクターV1は原点の原位置Oから基準位置Rへ形成され、第2のベクターV2は原位置Oから目標位置A1へ形成される。プロセッサ150は、第1のベクターV1と、第2のベクターV2と、第1のベクターV1と第2のベクターV2との重み付けられた関係に基づき、原位置Oから目標位置の改変済み位置Mに形成される第3のベクターV3を決定してよい。第3のベクターの関数は次である:
【数1】
、
ここで、αは第1のベクターV1又は基準位置Rの重みであり、βは第2のベクターV2又は目標位置A1の重みであり、α+β=1である。次いで、改変済み位置Mが第3のベクターV3に基づき決定される。改変済み位置Mの関数は次である:
【数2】
【0034】
目標位置A1と改変済み位置Mと基準位置Rとが同一の面上に位置することに注意されたい。即ち、目標位置A1と基準位置Rとを結ぶ直線は、改変済み位置Mをも通過する。
【0035】
1つの実施形態において、重み付けされた関係における現在位置と基準位置との重み(例えば、基準位置のための重みαと目標位置のための重みβ)は、現在位置の精度要件に基づき変化する。例えば、精度要件はキーボードをタイプするために適合されてよく、重みαが重みβより大きくてよい。もう1つの例として、精度要件はXRにおいて大きなオブジェクトをつかむために適合されてよく、重みβが重みαより大きくてよい。即ち、精度要件が高いほど、重みαが大きくなる。精度要件が低いほど、重みβが大きくなる。
【0036】
1つの実施形態において、基準位置は固定されなくてよい。
図5は、本発明の例示的な実施形態の1つによる、第2の位置の決定を表すフロー図である。
図5を参照し、プロセッサ150は、基準位置の初期位置に基づき、許容領域を決定してよい(ステップS510)。許容領域は、円、正方形、又は基準位置から放射状に広がる他の形状であってよい。例えば、
図6は、本発明の例示的な実施形態の1つによる、許容領域TAを表す概略図である。
図6を参照し、許容領域TAは半径Sの円であり、許容領域TAは目標点の基準位置R0から放射状に広がる。
【0037】
先ず、基準位置が固定される。次いで、プロセッサ150は、目標点の目標位置が許容領域内に位置するか否かを判定してよい(ステップS530)。例えば、プロセッサ150は、目標位置の座標が許容領域と重なるか否かを判定してよい。もう1つの例として、プロセッサ150は、目標位置と基準位置との間の距離と、許容領域の端縁と基準位置との間の距離とを算出し、どちらの距離が他方よりも長いかを判定してよい。
【0038】
図7は、現在位置が許容領域TA内に位置していることを表す1つの例である。
図7を参照し、目標位置A2とA3は共に許容領域TA内に位置しており、半径Sは基準位置P0から目標位置A2又はA3までの距離よりも長い。
【0039】
1つの実施形態において、プロセッサ150は、目標点の目標位置が許容領域内に位置する場合、基準位置を固定してよい(ステップS550)。具体的には、許容領域は、現在位置の変動の一部を許容する領域であると見なされる。これら目標位置の変動は、ユーザの人体部位の振動、揺動、又は他の小規模な動きにより発生する。目標位置の変動が許容領域を超過しない場合、プロセッサ150はユーザがまだ基準位置周辺を指し示すことを意図していると見なしてよい。このため、変更済み位置は、上述した重み付けされた関係に基づき、許容領域内に留まる。
【0040】
いくつかの実施形態において、目標点の目標位置が許容領域内に位置する場合、プロセッサ150は改変済みのものを基準位置として決定してよい。例えば、基準位置の重みαが1であり、目標位置の重みが0である。
図7を例として、目標位置A2とA3に対応する改変済み位置は、基準位置P0となる。
【0041】
いくつかの実施形態において、許容領域のサイズ及び/又は形状は、比較的小さなオブジェクト又は比較的大きなオブジェクトの選択といった、目標点の現在位置の精度要件に関連してよい。
【0042】
1つの実施形態において、目標点の目標位置は許容領域内に位置していない。目標位置の変動が許容領域を超える場合、プロセッサ150はユーザが基準位置を指し示すことを意図していないと見なしてよい。ただし、改変済み位置はやはり目標位置ではない。代わりに、基準位置が初期位置から移動し、基準位置の動きの変位と方向は目標位置と同一である。即ち、基準位置は目標位置と共に移動する。目標位置が正に許容領域外へと移動したそのとき、基準位置は、初期位置と現在位置とを結ぶ直線上に位置する。更に、現在位置と基準位置との間には間隔が存在する。
【0043】
例えば、
図8は、目標位置A4が許容領域TA内に位置していないことを表す1つの例である。
図8を参照し、目標位置A4は許容領域TA内に位置しておらず、半径Sは基準位置P0の初期位置から目標位置A4までの距離よりも短い。更に、目標位置A4と基準位置Rとの間には間隔S2が存在する。次いで、改変済み位置が、目標位置と改変済み基準位置とに基づき決定される。
【0044】
1つの実施形態において、目標位置と基準位置との間の間隔は、基準位置と許容領域の端縁との間の距離と同一である。
図8を例として、間隔S2は半径Sに等しい。いくつかの実施形態において、間隔は基準位置と許容領域の端縁との間の距離と異なってよい。
【0045】
1つの実施形態において、間隔は固定である。もう1つの実施形態において、間隔はレイキャストの動きを引き起こす人体部位の動きの速度に基づき変化する。例えば、人体部位/レイキャストの動きが速度閾値に比べ速い場合、間隔は大きくなってよい。速度が遅い場合、間隔は短くなってよい。いくつかの実施形態において、間隔は現在位置と基準位置との間の距離に基づき変化する。例えば、現在位置と基準位置との間の距離が距離閾値に比べ長く、間隔は大きくなってよい。速度が短い場合、間隔は短くなってよい。
【0046】
改変済み位置が
図4~
図8の1以上の実施形態に基づき決定される場合、プロセッサ150は改変済み位置をカーソルの現在位置として用いてよい(ステップS270)。即ち、現在レイキャストの終端の位置を表している改変済み位置は、目標位置の改変である。次いで、カーソルは、目標位置ではなく、改変済み位置で表示装置上に示される。
【0047】
まとめると、上述した例示的な実施形態は、表示装置上にユーザインタラクションのためのカーソルを示すための方法及びシステムを描写している。改変済み位置は、基準位置と目標位置との重み付けされた関係に基づき決定されてよい。加えて、目標位置が許容領域外に位置する場合、基準位置は目標位置と共に移動してよい。従って、カーソルの現在位置が安定する。
【0048】
当業者にとって、本発明の範囲又は精神から逸脱することなく、本発明の構造に様々な改変と変形を行うことができることは明らかであろう。上記を鑑み、本発明は、以下の特許請求の範囲及びそれらの均等物の範囲内にあるという条件で、本発明の改変及び変形を網羅することを意図している。
【産業上の利用可能性】
【0049】
表示装置上にユーザインタラクションのためのカーソルを示すための方法及びシステムは、XRに応用することができる。
【符号の説明】
【0050】
100:システム
110:モーションセンサ
130:メモリ
150:プロセッサ
S210~S270:ステップ
301:手
303:ユーザ
305:レイキャスト
TP:目標位置
O:原位置
V1:第1のベクター
V2:第2のベクター
V3:第3のベクター
R、P0:基準位置
M:改変済み位置
A1、A2、A3、A4:目標位置
S510~S570:ステップ
TA:許容領域
S:半径
S2:間隔
【外国語明細書】