IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 未來市股▲ふん▼有限公司の特許一覧

特開2022-83670カーソルの位置を改変するための方法及びシステム
<>
  • 特開-カーソルの位置を改変するための方法及びシステム 図1
  • 特開-カーソルの位置を改変するための方法及びシステム 図2
  • 特開-カーソルの位置を改変するための方法及びシステム 図3
  • 特開-カーソルの位置を改変するための方法及びシステム 図4
  • 特開-カーソルの位置を改変するための方法及びシステム 図5
  • 特開-カーソルの位置を改変するための方法及びシステム 図6
  • 特開-カーソルの位置を改変するための方法及びシステム 図7
  • 特開-カーソルの位置を改変するための方法及びシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022083670
(43)【公開日】2022-06-06
(54)【発明の名称】カーソルの位置を改変するための方法及びシステム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20220530BHJP
   G06F 3/0481 20220101ALI20220530BHJP
   G06F 3/0346 20130101ALI20220530BHJP
   A63F 13/211 20140101ALN20220530BHJP
   A63F 13/428 20140101ALN20220530BHJP
【FI】
G06F3/01 510
G06F3/0481
G06F3/0346 421
A63F13/211
A63F13/428
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2020195127
(22)【出願日】2020-11-25
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】518427524
【氏名又は名称】未來市股▲ふん▼有限公司
(74)【代理人】
【識別番号】100081961
【弁理士】
【氏名又は名称】木内 光春
(74)【代理人】
【識別番号】100112564
【弁理士】
【氏名又は名称】大熊 考一
(74)【代理人】
【識別番号】100163500
【弁理士】
【氏名又は名称】片桐 貞典
(74)【代理人】
【識別番号】230115598
【弁護士】
【氏名又は名称】木内 加奈子
(72)【発明者】
【氏名】戴 裕峰
(72)【発明者】
【氏名】郭 勝修
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA07
5B087AB16
5B087AC02
5B087AD01
5B087CC33
5B087DD06
5B087DD09
5E555AA06
5E555AA27
5E555AA71
5E555BA04
5E555BB04
5E555BC04
5E555BE16
5E555BE17
5E555CA42
5E555CA44
5E555CB62
5E555CB66
5E555CC05
5E555DA08
5E555DB06
5E555DC19
5E555DC21
5E555DC72
5E555EA05
5E555EA12
5E555FA00
(57)【要約】      (修正有)
【課題】XR(extended reality)におけるカーソルの位置を改変するための方法及びシステムを提供する。
【解決手段】方法において、ユーザの人体部位の奥行き情報が判定される。ユーザは、カーソルを移動させるため人体部位を用いる。カーソルは、ユーザ側から照射されたレイキャストの終端に位置し、ユーザの頭部はヘッドマウントディスプレイを装着する。カーソルの第1の位置が決定される。人体部位の奥行き情報と第1の位置とに基づき、第1の位置とは異なるカーソルの第2の位置が決定される。第2の位置はカーソルの現在位置として用いられ、現在位置は、現在ユーザから照射されているレイキャストの終端に位置する。従って、異なる身長又は腕の長さのためにカーソルを制御することが容易となる。
【選択図】図2
【特許請求の範囲】
【請求項1】
ユーザの人体部位の奥行き情報を判定することであって、前記ユーザがカーソルを移動させるため前記人体部位を用い、前記カーソルがユーザ側から照射されたレイキャストの終端に位置し、前記ユーザの頭部がヘッドマウントディスプレイを装着していることと、
前記カーソルの第1の位置を決定することと、
前記人体部位の前記奥行き情報と前記第1の位置とに基づき、前記カーソルの第2の位置を決定することであって、前記第2の位置が前記第1の位置とは異なることと、
前記第2の位置を前記カーソルの現在位置として用いることであって、前記現在位置が現在前記ユーザ側から照射されている前記レイキャストの前記終端に位置することと
を含む、
カーソルの位置を改変するための方法。
【請求項2】
ユーザの人体部位の動きを感知する、モーションセンサと、
プログラムコードを格納する、メモリと、
前記モーションセンサと前記メモリとに連接され、
前記ユーザの前記人体部位の奥行き情報を判定することであって、前記ユーザがカーソルを移動させるため前記人体部位を用い、前記カーソルがユーザ側から照射されたレイキャストの終端に位置し、前記ユーザの頭部がヘッドマウントディスプレイを装着していることと、
前記カーソルの第1の位置を決定することと、
前記人体部位の前記奥行き情報と前記第1の位置とに基づき、前記カーソルの第2の位置を決定することであって、前記第2の位置が前記第1の位置とは異なることと、
前記第2の位置を前記カーソルの現在位置として用いることであって、前記現在位置が現在前記ユーザ側から照射されている前記レイキャストの前記終端に位置することと
を実行するために前記プログラムコードをロードする、プロセッサと
を含む、
カーソルの位置を改変するためのシステム。
【請求項3】
前記カーソルの前記第2の位置を決定するステップが、
基準面を生成することであって、前記基準面と前記ユーザ側との間に第1の垂直距離が存在することと、
目標面上に交点を投影することで基準点を生成することであって、前記レイキャストが前記基準面と重なる位置に前記交点が位置し、前記ユーザ側と前記目標面との間に第2の垂直距離が存在し、前記第1の位置と前記基準点の基準位置と前記第2の位置とが前記目標面上に位置することと、
前記第1の位置と前記基準位置とに基づき、前記カーソルの前記第2の位置を決定することと
を含む、
請求項1に記載の方法、
又は、
前記プロセッサが、
基準面を生成することであって、前記基準面と前記ユーザ側との間に第1の垂直距離が存在することと、
目標面上に交点を投影することで基準点を生成することであって、前記レイキャストが前記基準面と重なる位置に前記交点が位置し、前記ユーザ側と前記目標面との間に第2の垂直距離が存在し、前記第1の位置と前記基準点の基準位置と前記第2の位置とが前記目標面上に位置することと、
前記第1の位置と前記基準位置とに基づき、前記カーソルの前記第2の位置を決定することと
を更に実行する、
請求項2に記載のシステム。
【請求項4】
前記第1の位置と前記基準位置とに基づき前記カーソルの前記第2の位置を決定するステップが、
前記第1の位置と前記基準位置との重み付けされた関係に基づき、前記カーソルの前記第2の位置を決定すること
を含む、
請求項3に記載の方法、
又は、
前記プロセッサが、
前記第1の位置と前記基準位置との重み付けされた関係に基づき、前記カーソルの前記第2の位置を決定すること
を更に実行する、
請求項3に記載のシステム。
【請求項5】
前記第1の位置と前記基準位置との前記重み付けされた関係に基づき前記カーソルの前記第2の位置を決定するステップが、
前記ユーザに位置する原点を生成することであって、前記原点の原位置から前記基準位置へ第1のベクターが形成され、前記原位置から前記第1の位置へ第2のベクターが形成されることと、
前記第1のベクターと前記第2のベクターと前記重み付けされた関係とに基づき、前記原位置から前記カーソルの前記第2の位置へ形成される第3のベクターを決定することであって、前記第2の位置が前記第3のベクターに基づき決定されることと
を含む、
請求項4に記載の方法、
又は、
前記プロセッサが、
前記ユーザに位置する原点を生成することであって、前記原点の原位置から前記基準位置へ第1のベクターが形成され、前記原位置から前記第1の位置へ第2のベクターが形成されることと、
前記第1のベクターと前記第2のベクターと前記重み付けされた関係とに基づき、前記原位置から前記カーソルの前記第2の位置へ形成される第3のベクターを決定することであって、前記第2の位置が前記第3のベクターに基づき決定されることと
を更に実行する、
請求項4に記載のシステム。
【請求項6】
前記目標面のサイズに基づき、前記基準面から前記目標面までの第3の垂直距離が決定される、
請求項3に記載の方法、
又は、
請求項3に記載のシステム。
【請求項7】
前記第1の垂直距離が、XR(extended reality)のシナリオ要件に基づき変化する、
請求項3に記載の方法、
又は、
請求項3に記載のシステム。
【請求項8】
前記ユーザの前記人体部位により指し示された前記現在位置を改変するステップが、
前記人体部位の前記奥行き情報に基づき、前記人体部位の長さを判定することと、
前記人体部位の前記長さに基づき、前記第1の位置の変更値を決定することであって、前記変更値が前記第1の位置と前記第2の位置との間の間隔であることと
を含む、
請求項1に記載の方法、
又は、
前記プロセッサが、
前記人体部位の前記奥行き情報に基づき、前記人体部位の長さを判定することと、
前記人体部位の前記長さに基づき、前記第1の位置の変更値を決定することであって、前記変更値が前記第1の位置と前記第2の位置との間の間隔であることと
を更に実行する、
請求項2に記載のシステム。
【請求項9】
前記ユーザの前記人体部位により指し示された前記第1の位置を改変するステップが、
前記人体部位の前記長さが長さ閾値未満であることに応じて、前記第1の位置に対して第2の基準位置から更に離れた位置にある前記カーソルの前記第2の位置を決定することであって、目標面上の前記ユーザの投影された位置に前記第2の基準位置が位置し、前記ユーザと前記目標面との間に第3の垂直距離が存在し、前記第1の位置と前記第2の基準位置と前記第2の位置とが前記目標面上に位置することと、
前記人体部位の前記長さが前記長さ閾値よりも大きいことに応じて、前記第1の位置に対して前記第2の基準位置により近い位置にある前記カーソルの前記第2の位置を決定することと
を含む、
請求項8に記載の方法、
又は、
前記プロセッサが、
前記人体部位の前記長さが長さ閾値未満であることに応じて、前記カーソルの前記第2の位置が前記第1の位置に対して第2の基準位置から更に離れた位置にある、と判定することであって、目標面上の前記ユーザの投影された位置に前記第2の基準位置が位置し、前記ユーザと前記目標面との間に第3の垂直距離が存在し、前記第1の位置と前記第2の基準位置と前記第2の位置とが前記目標面上に位置することと、
前記人体部位の前記長さが前記長さ閾値よりも大きいことに応じて、前記カーソルの前記第2の位置が前記第1の位置に対して前記第2の基準位置により近い位置にある、と判定することと
を更に実行する、
請求項8に記載のシステム。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、XR(extended reality)におけるインタラクションに関するものであり、特に、XRにおいてカーソルの位置を改変するための方法及びシステムに関するものである。
【背景技術】
【0002】
仮想現実(VR)、拡張現実(AR)、複合現実(MR)といった、感覚、知覚、及び/又は環境をシミュレートするためのXR技術は、最近人気が高まっている。前記技術は、ゲーム、軍事訓練、医療、遠隔操作等といった、複数の分野に応用することができる。
【0003】
XRにおいて、ユーザは1以上のオブジェクト及び/又は環境とインタラクトできる。一般的に、環境において視野を変更するため、又は、目標オブジェクトを選択するため、ユーザは手又はコントローラを用いることができる。
【0004】
しかし、異なるユーザでは身長又は腕の長さが異なる。例えば、大人の腕の長さは子供よりも長い。腕の長さは、オブジェクトを照準するユーザエクスペリエンスに影響しうる。目標オブジェクトの目標面は、環境において異なるユーザに対し同一である。これらユーザが同一の目標オブジェクトを指し示すことを試みた場合、異なる腕の長さを有する異なるユーザにより指し示されたカーソルの位置は、異なる揺動振幅のため、異なる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
異なる身長又は腕の長さを有する異なるユーザが同一のオブジェクトを指し示すことを試みたとき、目標点は異なる位置に位置する可能性がある。従って、本発明は、カーソルを制御するために異なるユーザを適応させる、カーソルの位置を改変するための方法及びシステムを対象とする。
【課題を解決するための手段】
【0006】
例示的な実施形態の1つにおいて、カーソルの位置を改変するための方法は、以下のステップを含むが、これに限定されない。ユーザの人体部位の奥行き情報が判定される。ユーザは、カーソルを移動させるために人体部位を用いる。カーソルは、ユーザ側から照射されたレイキャストの終端に位置し、ユーザの頭部はヘッドマウントディスプレイを装着する。第1の位置とは異なるカーソルの第2の位置が、人体部位の奥行き情報と第1の位置とに基づき決定される。第2の位置はカーソルの現在位置として用いられ、現在位置は、現在ユーザから照射されているレイキャストの終端に位置する。
【0007】
例示的な実施形態の1つにおいて、カーソルの位置を改変するためのシステムは、モーションセンサと、メモリと、プロセッサとを含むが、これに限定されない。モーションセンサは、ユーザの人体部位の動きを感知するために用いられる。メモリはプログラムコードを格納するために用いられる。プロセッサはモーションセンサとメモリとに連接され、以下のステップを実行するためプログラムコードをロードする。ユーザの人体部位の奥行き情報が判定される。ユーザは、カーソルを移動させるために人体部位を用いる。第1の位置とは異なるカーソルの第2の位置が、人体部位の奥行き情報と第1の位置とに基づき決定される。第2の位置はカーソルの現在位置として用いられ、現在位置は、現在ユーザから照射されているレイキャストの終端に位置する。
【発明の効果】
【0008】
上記を鑑み、1以上の実施形態により提供されるカーソルの位置を改変するための方法及びシステムによれば、カーソルの第2の位置が、ユーザの人体部位の奥行き情報と第1の位置とに基づき決定される。従って、カーソルの動きが、異なる(腕又は脚といった)人体部位の長さを有する異なるユーザに適合されることができる。
【0009】
ただし、この概要は本発明の全ての様態と実施形態を含むものではなく、如何なる方法でも限定又は制限を意図するものではないことを理解されたい。そして、ここで開示される発明は、その明らかな改善と改変を含むと当業者により理解される。
【図面の簡単な説明】
【0010】
本発明の更なる理解のため添付図面が含まれ、本明細書に包含され、本明細書の一部を構成する。図面は本発明の実施形態を表し、明細書と共に、本発明の原理を説明する役割を果たす。
【0011】
図1】本発明の例示的な実施形態の1つによる、カーソルの位置を改変するためのシステムを表すブロック図である。
【0012】
図2】本発明の例示的な実施形態の1つによる、カーソルの位置を改変するための方法を表すフロー図である。
【0013】
図3】本発明の例示的な実施形態の1つによる、カーソルの生成を表す概略図である。
【0014】
図4】本発明の例示的な実施形態の1つによる、カーソルの第2の位置の決定を表す概略図である。
【0015】
図5】カーソルの第2の位置の決定の上面図を表す1つの例である。
【0016】
図6】カーソルの第2の位置の決定の上面図を表すもう1つの例である。
【0017】
図7】目標面の上面図を表す1つの例である。
【0018】
図8】異なる手の奥行きのための、カーソルの第2の位置の決定の上面図を表す1つの例である。
【発明を実施するための形態】
【0019】
本発明の好ましい実施形態の詳細を述べる。実施例は添付の図面に表される。可能な限り、図面と明細書において同一の符号が同一又は類似の部材に対し用いられる。
【0020】
図1は、本発明の例示的な実施形態の1つによる、カーソルの位置を改変するためのシステムを表すブロック図である。図1を参照し、システム100は、1以上のモーションセンサ110と、メモリ130と、プロセッサ150とを含むが、これに限定されない。1つの実施形態において、システム100は、VR、AR、MR、又は他の現実シミュレーション関連技術に適合された、ヘッドマウントディスプレイ(HMD)である。
【0021】
モーションセンサ110は、加速度計、ジャイロスコープ、磁力計、レーザセンサ、慣性測定ユニット(IMU)、赤外線(IR)センサ、画像センサ、深度カメラ、又は上記のセンサの任意の組合せであってよい。1つの実施形態において、モーションセンサ110は、モーションセンサ110の感知結果(例えば、カメラ画像、感知強度値等)からモーション感知データを生成するため、ユーザの人体部位(例えば、手、脚、又は腕)の動きを感知するために用いられる。1つの例として、モーション感知データは、3-DoF(Degree of Freedom:自由度)データを含み、3-DoFデータは、ヨー、ロール、ピッチの加速度といった、3次元空間におけるユーザの手の回転データに関連する。もう1つの例として、モーション感知データは6DoFデータを含む。3DoFデータと比較し、6DoFデータは、サージ、ヒーブ、スウェイの加速度といった、3つの直交軸におけるユーザの手の変位に更に関連する。もう1つの例として、モーション感知データは、2次元/3次元空間におけるユーザの脚の相対位置及び/又は変位を含む。いくつかの実施形態において、モーションセンサ110は、手持ち型コントローラ、又は、メガネ、HMD等といったユーザの人体部位と共に動作する装着型装置に組み込まれてよい。
【0022】
メモリ130は、固定又は取り外し可能なランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、類似のデバイス、又は上記デバイスの組合せの如何なる類別であってもよい。メモリ130は、プログラムコード、デバイス構成、バッファデータ、又は、(モーション感知データ、奥行き情報、又は面といった)永続的データを記録し、これらデータについては後に紹介する。
【0023】
プロセッサ150は、モーションセンサ110とメモリ130とに連接される。プロセッサ150は、本発明の例示的な実施形態の手順を実行するため、メモリ130に格納されたプログラムデータをロードするよう構成される。
【0024】
いくつかの実施形態において、プロセッサ150は、中央処理装置(CPU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号処理(DSP)チップ、フィールドプログラマブルゲートアレイ(FPGA)であってよい。プロセッサ150の機能は、独立した電子デバイス又は集積回路(IC)により実装されてもよく、プロセッサ150の動作はソフトウェアにより実装されてもよい。
【0025】
1つの実施形態において、HMD又はデジタルメガネは、モーションセンサ110とメモリ130とプロセッサ150とを含む。いくつかの実施形態において、プロセッサ150は、モーションセンサ110と同一の装置に設けられなくてもよい。ただし、モーションセンサ110、プロセッサ150をそれぞれ搭載する機器は、互いにデータを送受信するため、Bluetooth、Wi-Fi、赤外線無線通信といった、互換性のある通信技術を有する通信トランシーバ、又は物理的な伝送路を更に含んでよい。例えば、モーションセンサ110がHMD外のコントローラに設けられるのに対し、プロセッサ150はHMD内に設けられてよい。もう1つの例として、モーションセンサ110が演算装置の外に設けられるのに対し、プロセッサ150は演算装置内に設けられてよい。
【0026】
本発明の1以上の実施形態において提供される動作処理をより理解し易くするよう、システム100の動作処理を詳述するため、いくつかの実施形態を以下に例示する。システム100内のデバイスとモジュールは、ここで提供される目標点を位置決めするための方法を説明するための、下記の実施形態において適用される。方法の各ステップは実際の実装状況に応じて調整でき、ここで説明されるものに限定されるべきではない。
【0027】
図2は、本発明の例示的な実施形態の1つによる、カーソルの位置を改変するための方法を表すフロー図である。図2を参照し、プロセッサ150は、ユーザの人体部位の奥行き情報を判定し(ステップS210)、カーソルの第1の位置を決定する(ステップS230)。具体的には、ユーザは頭部にHMDを装着していると仮定する。ユーザは、XR世界において目標オブジェクトを照準するため、(手、腕、又は脚といった)人体部位、又は、人体部位により保持されたコントローラを用いる。プロセッサ150は、モーションセンサ110により感知されたユーザの人体部位の動きに基づき、3次元空間における人体部位の位置又はコントローラの位置を判定してよい。ユーザの手のジェスチャーがオブジェクトを照準するための予め定義されたジェスチャーに一致する場合、人体部位により保持されたコントローラが動く、又は他のトリガー条件が発生し、(ユーザの目、モーションセンサ110、又はHMDの他の本体部分といった)ユーザ側からレイキャストが形成、照射され、レイキャストは人体部位又はコントローラを通過し、直線又は曲線と共に更に延伸してよい。レイキャストがXR世界における何らかのオブジェクトと衝突した場合、カーソルがレイキャストの終端に位置し、レイキャストの終端は衝突したオブジェクト上に位置する。衝突したオブジェクト上のレイキャストの終端の位置が、カーソルの第1の位置と呼ばれる。
【0028】
図3は、本発明の例示的な実施形態の1つによる、カーソルCUの生成を表す概略図である。図3を参照し、ユーザ303の手301の1つの人差し指を上げるジェスチャーがオブジェクトを照準する予め定義されたジェスチャーと一致し、ユーザの目からユーザの手301を経由し照射されるレイキャスト305が生成される。カーソルCUは、レイキャスト305の終端に位置する。ユーザが手301を動かした場合、カーソルCUも移動する。
【0029】
カーソルが生成されるとき、プロセッサ150は、XR世界における目標面上の、ユーザの人体部位により指し示された第1の位置を記録してよい。目標面は、ユーザ側に対し特定の垂直距離で形成され、該垂直距離は、XR世界におけるユーザ側と目標オブジェクトとの間の距離に等しい。目標面のサイズは、目標オブジェクトのサイズに基づき決定される。更に、位置の形式は、2又は3軸における座標、又は他のオブジェクトの相対関係であってよい。
【0030】
人体部位の長さ又はユーザの立つ位置が、カーソルの動きに影響しうることに注意されたい。このため、(目と手との間の距離、又はHMDに対する手の奥行きといった)人体部位の奥行き情報は、同一の目標面上のカーソルの位置に対する影響要因の1つである。人体部位の奥行き情報は、本実施形態において異なる身長又は異なる腕の長さの間の差異を補償するために用いられる。
【0031】
プロセッサ150は、人体部位の奥行き情報と第1の位置とに基づき、カーソルの第2の位置を決定してよい(ステップS250)。具体的には、上述したように、異なる人体部位の奥行き情報を有する異なるユーザにより指し示された第1の位置は、異なる可能性がある。1つの実施形態において、これらユーザが同一の目標面を指し示すことを試みた場合、カーソルの現在位置を表すカーソルの第2の位置は、他のユーザにより指し示された他のカーソルの第2の位置と同一であるか、その付近にあるべきである。このため、ユーザにより指し示された第1の位置は改変されてよく、カーソルの第2の位置は、第1の位置の改変された位置として決定されてよい。即ち、カーソルの第2の位置は、第1の位置とは異なる。
【0032】
図4は、本発明の例示的な実施形態の1つによる、カーソルの第2の位置の決定を表すフロー図である。図4を参照し、プロセッサ150は、基準面を生成してよい(ステップS410)。基準面とユーザとの間には、特定の垂直距離が存在する。例えば、図5は、カーソルの第2の位置P0の決定の上面図を表す1つの例である。図5を参照し、基準面RPは、ユーザUの前に位置し、目標面TPと平行である。目標面TPとユーザUとの間には垂直距離が存在し、基準面RPと目標面TPとの間にはもう1つの垂直距離が存在する。
【0033】
次いで、プロセッサ150は、目標面TP上に交点を投影することで、基準点を生成してよい(ステップS430)。図5を例とすると、ユーザUから第1の位置A0へ照射されたレイキャストが基準面RPと重なる位置にある交点I0が存在する。プロセッサ150は、交点I0を目標面TP上に投影し、この投影された位置が基準点の基準位置R0として決定される。
【0034】
プロセッサ150は、第1の位置と基準位置とに基づき、カーソルの第2の位置P0を決定してよい(ステップS450)。カーソルの第1の位置と、基準点の基準位置と、カーソルの第2の位置とは、同一の目標面上に位置する。1つの実施形態において、プロセッサ150は、第1の位置と基準位置との重み付けされた関係に基づき、カーソルの第2の位置を決定してよい。カーソルの第2の位置は、重み付けされた関係に基づき、第1の位置と基準位置との間に位置する。1つの実施形態において、重み付けされた関係は、第1の位置と基準位置との重み付き計算である。第1の位置と基準位置の重みは、実際の要件に基づき変化してよい。
【0035】
もう1つの実施形態において、プロセッサ150は、ユーザ側に位置する原点を生成してよい。図5を例とすると、原点はユーザUの目に位置する。更に、原点の原位置から基準位置R0へ第1のベクターV1が形成され、原位置から第1の位置A0へ第2のベクターV2が形成される。
【0036】
次いで、プロセッサ150は、第1のベクターと、第2のベクターと、重み付けされた関係とに基づき、原位置からカーソルの第2の位置へ形成される第3のベクターを決定してよい。図5を例とすると、重み付けされた関係は次である:
V=αV1+βV2 (1)
ここで、αは第1のベクターV1の重みであり、βは第2のベクターV2の重みであり、α+β=1である。第3のベクターVは、第1のベクターV1と第2のベクターV2との重み付き計算された結果である。次いで、カーソルの第2の位置が、第3のベクターVに基づき決定される。図5を例とすると、第2の位置P0は関数(1)に基づき決定される。第2の位置P0の関数は次である:
【数01】
ここで、OはユーザUの目の位置である。
【0037】
図6は、カーソルの第2の位置P0の決定の上面図を表すもう1つの例である。図6を参照し、ユーザが人体部位を動かした場合、第2の位置P1は図5に示される第2の位置P0とは異なる。ユーザUから第1の位置A1へ照射されたレイキャストが基準面RPと重なる位置にある交点I1が存在する。目標面TP上の交点I1の投影された位置は、基準点の基準位置R1である。次いで、第2の位置P1が関数(1)と(2)に基づき決定される。
【0038】
1つの実施形態において、目標面とユーザとの間の垂直距離は、XR世界におけるシナリオ要件に基づき変化してよい。即ち、基準面から目標面までの垂直距離は、目標面のサイズに基づき決定される。例えば、シナリオ要件は目標面のサイズに関連する。図7は、目標面TP1とTP2の上面図を表す1つの例である。図7を参照し、目標面TP1が目標面TP2よりも大きい場合、目標面TP1と基準面RP1との間の垂直距離D1は、目標面TP2と基準面RP2との間の垂直距離D2よりも長い。このため、ユーザはカーソルにより目標面TP1の縁に届くことができる。
【0039】
1つの実施形態において、プロセッサ150は、人体部位の奥行き情報に基づき人体部位の長さを判定し、人体部位の長さに基づき第1の位置の変更値(即ち、第2の位置)を決定してよい。この実施形態において、上述した基準面は必要でなくてもよい。変更値は、第1の位置と第2の位置との間の間隔である。異なる腕の長さを有する二人のユーザが同一位置に立った場合、これらユーザの腕の揺動振幅は異なる。例えば、図8は、異なる手の奥行きに対するカーソルの第2の位置の決定の上面図を表す1つの例である。図8を参照し、ユーザUの長い腕に対応する第1の揺動面LPが存在し、もう一人のユーザの短い腕に対応する第2の揺動面SPが存在する。第1の位置A2とA3は異なる。プロセッサ150は、ルックアップテーブル又は関数により、第1の位置A2とA3のための対応する変更値を決定する。ルックアップテーブルまたは関数は、人体部位の長さと変更値との間の関係を記録する。
【0040】
1つの実施形態において、人体部位の長さが長さ閾値よりも大きい場合、プロセッサ150は、カーソルの第2の位置は第1の位置に対して第2の基準位置から更に離れた位置にある、と判定してよい。第2の基準位置は、目標面上におけるユーザの投影された位置に位置する。即ち、第2の位置は、第1の位置に対して第2の基準位置により近い。図8を例とすると、第1の位置A3から改変されたカーソルの第2の位置P2は、第1の位置A3に対して第2の基準位置R2から更に離れている。
【0041】
もう1つの実施形態において、人体部位の長さが長さ閾値未満の場合、プロセッサ150は、カーソルの第2の位置は第1の位置に対して第2の基準位置により近い位置にある、と判定してよい。即ち、第1の位置は、第2の位置に対して第2の基準位置により近い。図8を例とすると、第1の位置A2から改変されたカーソルの第2の位置P2は、第1の位置A2に対して第2の基準位置R2により近い。
【0042】
いくつかの実施形態において、カーソルの第2の位置は、ユーザと目標面との間の距離に基づき決定されてよい。例えば、ユーザが目標面に近い場合、第2の位置は第1の位置の右に位置してよく、ユーザが目標面から遠い場合、第2の位置は第1の位置の左に位置してよい。
【0043】
図2を参照し、プロセッサ150は、第2の位置をカーソルの現在位置として用いてよい(ステップS270)。即ち、現在レイキャストの終端の位置を表している第2の位置は、第1の位置の改変である。次いで、カーソルは、第1の位置ではなく、第2の位置で(LCD、LEDディスプレイ、又はOLEDディスプレイといった)ディスプレイ上に示される。
【0044】
まとめると、上記の例示的な実施形態は、カーソルの位置を改変するための方法及びシステムを描写している。ユーザの人体部位の奥行き情報が、人体部位により指し示された第1の位置を改変するために用いられ、カーソルの第2の位置が、第1の位置の改変された位置として決定されてよい。従って、異なる人体部位の長さを有する複数のユーザが同一の目標位置を指し示すことを試みた場合、第2の位置は、同一又はほぼ同一である。
【0045】
当業者にとって、本発明の範囲又は精神から逸脱することなく、本発明の構造に様々な改変と変形を行うことができることは明らかであろう。上記を鑑み、本発明は、以下の特許請求の範囲及びそれらの均等物の範囲内にあるという条件で、本発明の改変及び変形を網羅することを意図している。
【産業上の利用可能性】
【0046】
本発明のカーソルの位置を改変する方法及びシステムは、XRに応用することができる。
【符号の説明】
【0047】
100:システム
110:モーションセンサ
130:メモリ
150:プロセッサ
S210~S270:ステップ
301:手
303、U:ユーザ
305:レイキャスト
CU:カーソル
S410~S450:ステップ
A0、A1、A2、A3:第1の位置
RP、RP1、RP2:基準面
TP、TP1、TP2:目標面
R0、R1、R2:基準位置
V1:第1のベクター
V2:第2のベクター
V:第3のベクター
I0、I1:交点
D1、D2:垂直距離
LP:第1の揺動面
SP:第2の揺動面
図1
図2
図3
図4
図5
図6
図7
図8
【外国語明細書】