図面 (/)

この項目の情報は公開日時点(2020年10月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題・解決手段

少なくとも1つの態様において、方法は、ユーザのヘッドマウントディスプレイ(HMD)の位置を決定することと、HMDの位置に基づいて、関節の位置を定めることと、関節からセグメントの端部までのセグメントを定めることと、セグメントの端部の位置に基づいて、仮想現実VR)環境内の仮想コントローラ初期仮想位置を定めることと、セグメントおよび関節に基づいて、物理コントローラの向きの変化に応じて、仮想環境内の仮想コントローラの仮想位置および仮想向きを定めることとを含むことができる。

概要

背景

背景
いくつかのVRシステムにおいて、ユーザは、ヘッドマウントディスプレイ(HMD:head-mounted display)および手持ち式コントローラを用いて、仮想環境内任意数仮想オブジェクト対話する。このようなVRシステムにおいて、ユーザは、手持ち式コントローラを用いて、HMDを介してオブジェクトと対話することができる。しかしながら、3自由度(3DOF:three degrees of freedom)追跡(例えば、向き追跡)のみを使用して、手持ち式コントローラを追跡するのは困難である場合がある。

概要

少なくとも1つの態様において、方法は、ユーザのヘッドマウントディスプレイ(HMD)の位置を決定することと、HMDの位置に基づいて、関節の位置を定めることと、関節からセグメントの端部までのセグメントを定めることと、セグメントの端部の位置に基づいて、仮想現実VR)環境内の仮想コントローラ初期仮想位置を定めることと、セグメントおよび関節に基づいて、物理コントローラの向きの変化に応じて、仮想環境内の仮想コントローラの仮想位置および仮想向きを定めることとを含むことができる。

目的

改良された技術のいくつかの利点は、より安価で、より効率的、および/またはより簡単な(例えば、コントローラの向き以外の知識を殆ど必要としない)システムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータが実行する方法であって、ユーザのヘッドマウントディスプレイ(HMD)の位置を決定することと、前記HMDの前記位置から所定の距離に基づいて、関節の位置を定めることと、前記関節からセグメントを定めることと、前記セグメントの端部に基づいて、仮想環境内仮想コントローラの位置を定めることと、前記セグメントおよび前記関節に基づいて、物理コントローラの向きを、前記仮想環境内の前記仮想コントローラの仮想位置および仮想向きに変換することとを含む、コンピュータ実行方法

請求項2

前記仮想コントローラは、前記物理コントローラのヨー運動に応じて、横方向に沿って移動するように構成されている、請求項1に記載のコンピュータ実行方法。

請求項3

前記仮想コントローラは、前記物理コントローラのピッチ運動に応じて、縦方向に沿って移動するように構成されている、請求項1に記載のコンピュータ実行方法。

請求項4

前記仮想コントローラは、前記物理コントローラのロール運動に応じて、前記物理コントローラが長手方向に整列させられた軸を中心にして回転するように構成されている、請求項1に記載のコンピュータ実行方法。

請求項5

前記セグメントは、第1のセグメントであり、前記関節は、第1の関節であり、前記方法は、前記第1のセグメントの端部に位置する第2の関節から延在する第2のセグメントを定めることをさらに含む、請求項1に記載のコンピュータ実行方法。

請求項6

前記第2のセグメントは、前記第2の関節を中心にして回転するように構成されている、請求項5に記載のコンピュータ実行方法。

請求項7

前記ユーザの位置が検出された場合、前記関節の前記位置を再び定めることをさらに含む、請求項1に記載のコンピュータ実行方法。

請求項8

コンピュータが実行する方法であって、ユーザのヘッドマウントディスプレイ(HMD)の位置を決定することと、前記HMDの前記位置に基づいて、関節の位置を定めることと、前記関節からセグメントの端部までのセグメントを定めることと、前記セグメントの前記端部の位置に基づいて、仮想現実VR)環境内の仮想コントローラの初期仮想位置を定めることと、前記セグメントおよび前記関節に基づいて、物理コントローラの向きの変化に応じて、前記VR環境内の前記仮想コントローラの仮想位置および仮想向きを定めることとを含む、コンピュータ実行方法。

請求項9

前記仮想コントローラは、前記物理コントローラのヨー運動に応じて、横方向に沿って移動するように構成されている、請求項8に記載のコンピュータ実行方法。

請求項10

前記仮想コントローラは、前記物理コントローラのピッチ運動に応じて、縦方向に沿って移動するように構成されている、請求項8に記載のコンピュータ実行方法。

請求項11

前記仮想コントローラは、前記物理コントローラのロール運動に応じて、前記物理コントローラが長手方向に整列させられた軸を中心にして回転するように構成されている、請求項8に記載のコンピュータ実行方法。

請求項12

前記セグメントは、第1のセグメントであり、前記関節は、第1の関節であり、前記方法は、前記第1のセグメントの端部に位置する第2の関節から延在する第2のセグメントを定めることをさらに含む、請求項8に記載のコンピュータ実行方法。

請求項13

前記ユーザの位置が検出された場合、前記関節の前記位置を再び定めることをさらに含む、請求項8に記載のコンピュータ実行方法。

請求項14

装置であって、仮想現実(VR)環境を表示するように使用されたヘッドマウントディスプレイ(HMD)と、前記VR環境内のオブジェクト対話するように構成された物理コントローラと、プロセッサとを備え、前記プロセッサは、ユーザの前記HMDの位置を決定し、前記HMDの前記位置に基づいて、関節の位置を定め、前記関節からセグメントの端部までのセグメントを定め、および前記物理コントローラの向きの変化に応じて、仮想コントローラの仮想位置および仮想向きの変化を定めるようにプログラムされ、前記仮想コントローラは、前記セグメントの前記端部に固定されている。

請求項15

前記仮想コントローラは、前記物理コントローラのヨー運動に応じて、横方向に沿って移動するように構成されている、請求項14に記載の装置。

請求項16

前記仮想コントローラは、前記物理コントローラのピッチ運動に応じて、縦方向に沿って移動するように構成されている、請求項14に記載の装置。

請求項17

前記仮想コントローラは、前記物理コントローラのロール運動に応じて、前記物理コントローラが長手方向に整列させられた軸を中心にして回転するように構成されている、請求項14に記載の装置。

請求項18

前記プロセッサは、前記ユーザの位置が検出された場合、前記関節の前記位置を再び定めるようにさらにプログラムされている、請求項14に記載の装置。

技術分野

0001

関連出願の相互参照
本願は、2017年9月18日に出願された米国出願第15/708040号の優先権を主張し、当該出願の開示の全体が参照により本明細書に組み込まれる。

0002

技術分野
本明細書は、仮想現実VR:virtual reality)システムに使用されるコントローラの3次元位置および向きを追跡することに関する。

背景技術

0003

背景
いくつかのVRシステムにおいて、ユーザは、ヘッドマウントディスプレイ(HMD:head-mounted display)および手持ち式コントローラを用いて、仮想環境内任意数仮想オブジェクト対話する。このようなVRシステムにおいて、ユーザは、手持ち式コントローラを用いて、HMDを介してオブジェクトと対話することができる。しかしながら、3自由度(3DOF:three degrees of freedom)追跡(例えば、向き追跡)のみを使用して、手持ち式コントローラを追跡するのは困難である場合がある。

課題を解決するための手段

0004

概要
少なくとも一態様において、方法、例えばコンピュータが実行する方法は、ユーザのヘッドマウントディスプレイ(HMD)の位置を決定することと、HMDの位置に基づいて、関節の位置を定めることと、関節からセグメントの端部までのセグメントを定めることと、セグメントの端部の位置に基づいて、仮想現実(VR)環境内の仮想コントローラ初期仮想位置を定めることと、セグメントおよび関節に基づいて、物理コントローラの向きの変化に応じて、VR環境内の仮想コントローラの仮想位置および仮想向きを定めることとを含むことができる。

0005

1つ以上の実現例の詳細は、添付の図面および以下の説明に記載されている。他の特徴は、説明および図面ならびに特許請求の範囲から明らかになるであろう。

図面の簡単な説明

0006

ユーザの右側を表すために使用される例示的なVRアームモデルを示す斜視図である。
例示的な実施形態に従って、コントローラの位置を決定するためのシステムの例示的な実装を示す第三者視図である。
例示的な実施形態に従って、コントローラの位置を決定するためのシステムの例示的な実装を示す第三者視図である。
例示的な実施形態に従って、コントローラの位置を決定するためのシステムの例示的な実装を示す第三者視図である。
例示的な実施形態に従って、VR環境内のコントローラの位置を決定するために使用され得る例示的なVRシステムを示す図である。
VR空間内のHMD装置通信可能に接続されたコントローラを示すブロック図である。
例示的な実施形態に従って、VR環境内のコントローラの位置を決定することに関連するフローチャートである。
例示的な実施形態に従って、VR環境内のコントローラの位置を決定することに関連するフローチャートである。
例示的実施形態に従って、ユーザが関節に対して動作することを示す概略図である。
例示的実施形態に従って、ユーザが関節に対して動作することを示す概略図である。
本明細書に開示された例を実装するために使用され得る例示的なコンピュータ装置および例示的なモバイルコンピュータ装置を示すブロック概略図である。

実施例

0007

詳細な説明
本明細書に記載の実現例において、物理的なVRコントローラは、3自由度(3DOF)のみを用いて、通常ピッチロールおよびヨーと呼ばれる、x、yおよびz軸を中心にする回転を追跡する。したがって、このような物理コントローラは、回転動作を追跡することができる。物理コントローラまたは物理コントローラに関連するヘッドマウントディスプレイ(HMD)が空間内の絶対位置を追跡しないため、物理コントローラの向きは、本質的に空間内の固定場所(または位置)で決定される。しかしながら、3DOF追跡は、VRアームモデルを用いてHMDから見た仮想コントローラの空間位置および向きを推定(または投影)することができる。したがって、物理コントローラの3DOF追跡を用いて、HMDから見ている仮想コントローラの6DOF(x、y、z軸の位置および向き)追跡を決定(推定、表現)することができる。いくつかの実現例において、VRアームモデルは、VRアームモデルとして呼ばれる。

0008

例えば、ユーザは、様々な方法で頭を傾けたり回したりすることによって、HMDを介してVR環境を見ることができる。しかしながら、物理コントローラが空間内の絶対位置(位置追跡など)を追跡しないというVRコントローラの3DOF追跡機能の制限によって、HMDの視界内の仮想コントローラの追跡は、制限がある。しかしながら、VRアームモデルは、物理コントローラの向き追跡を利用して、HMDから見られる仮想コントローラの位置および向きを生成することができる。したがって、本明細書に記載の実現例において、コントローラを保持している人間のVR環境内の位置および向きをシミュレートすることができる。さらに、本明細書に記載の実現例において、仮想コントローラは、物理コントローラを保持および移動するユーザに対応するVR環境内の場所にあってもよい。

0009

本明細書に記載の実現例によれば、VRシステムにおいて手持ち式物理コントローラを追跡するための改良された技術は、例えば、肘関節(第1の関節)と手首関節(第2の関節)との間のセグメントを定めることを含むことができる。セグメントおよび関節は、仮想コントローラの動作をエミュレートおよび表現する。改良された技術のいくつかの利点は、より安価で、より効率的、および/またはより簡単な(例えば、コントローラの向き以外の知識を殆ど必要としない)システムを提供することである。さらに、改良された技術は、その実装が簡単であり、比較的にユーザを没入させる十分な忠実度(例えば、精度)を有する。さらに、いくつかの実現例において、改良されたVRシステムを用いて物理コントローラを追跡するために、外部センサ(例えば、HMDの外部に面するカメラ)を設ける必要がない。

0010

さらに、本明細書に記載の実現例において、最大で3つの回転動作、例えば、肘関節(第1の関節)周りの2つの回転動作および手首関節(第2の関節)周りの1つの回転動作、より具体的には、肘関節のz軸を中心にする動作およびy軸を中心にする動作および手首関節のx軸を中心にする動作を用いて、VR環境において、物理コントローラの動作の現実的な仮想表現を効果的且つ比較的に実現することができる。仮想環境に関して説明したが、本明細書に記載の技術は、拡張現実環境に適用することもできる。いくつかの実現例において、仮想環境という用語は、拡張現実環境であってもよく、拡張現実環境を含んでもよい。

0011

図1は、ユーザを表すために使用される例示的なVRアームモデル10を示す斜視図である。図面は、ユーザの右側を示しているが、VRアームモデル10は、ユーザの左側に適用することができる。この実現例において、ユーザは、HMD8を着用している。図1には示されていないが、物理コントローラ112の位置は、VRアームモデル10に基づいて、ユーザによってHMDから仮想コントローラ(図示せず)として見られる(例えば、表される)ことができる。VRアームモデル10は、論じるために図1に示されているが、ユーザがHMD8を介して見えない場合もある。いくつかの実現例において、VRアームモデル10は、骨格モデルとして呼ばれる。

0012

本明細書は、説明のために、一般性を失うことなく、例示的なVRアームモデルを、身体姿勢模擬するように構成された人体モデルとして説明する。人体モデルを表すVRアームモデルは、複数のセグメントを含み、各セグメントは、ユーザの身体部位に対応する。VRアームモデルは、1つ以上の関節を含むことができる。各関節によって、1つ以上のセグメントは、1つ以上の他のセグメントに対して動作することができる。例えば、人間を表すVRアームモデルは、複数の剛体および/または変形可能な身体部位を含むことができ、いくつかのセグメントは、対応する人間の解剖学的部位を表すことができる。換言すれば、VRアームモデルの各セグメントは、1つ以上の構造要素(例えば、骨)に対応し、関節は、隣接する骨の接合部に位置する。いくつかの実現例において、構造要素の一部は、VRアームモデルのセグメントに対応してもよく、VRアームモデルのセグメントに対応しなくてもよい。いくつかの実現例において、様々な関節は、人間の実際の関節に対応してもよい。

0013

図1に示すように、VRアームモデル10は、セグメント11、13、15、17および19、並びに関節A、B、C、DおよびEを含む。セグメント11は、関節AとBの間に位置し、セグメント13は、関節BとCの間に位置し、セグメント15は、関節CとDの間に位置し、セグメント17は、関節DとEの間に位置し、セグメント19は、関節Eから延在している。

0014

いくつかの実現例において、関節A、B、C、DおよびEの各々は、関節に関連する各セグメントが空間内の3次元位置で回転できるように構成されてもよい。換言すれば、人体の多くの関節が1自由度または2自由度によって規定されるため、各関節(joint)は、最大3自由度(3DOF)(例えば、x、yおよびz軸)を有するように構成することができる。

0015

本明細書に記載のVRアームモデル10によれば、一部の関節を中心にする回転を用いて、物理コントローラ112の動作を表すことができる。具体的には、VRアームモデル10において、関節DおよびEを用いて、HMD8から仮想コントローラとして見られる物理コントローラ112の位置を決定することができる。いくつかの実現例において、関節DおよびEのみを用いて、HMD8から仮想コントローラとして見られる物理コントローラ112の位置を決定することができる。

0016

この実現例において、物理コントローラ112のヨー、ピッチおよびロールは、アームモデル10の様々な関節における動作として解釈される。物理コントローラ112を第1の軸に沿って縦方向整列した場合、ロールは、第1の軸を中心にする回転である。ヨーは、第1の軸に直交し、物理コントローラ112の上部を通る第2の軸を中心にする回転である。ピッチは、第1の軸および第2の軸に直交し、物理コントローラの側面を通る第3の軸を中心にする回転である。換言すれば、物理コントローラ112の3DOF動作(例えば、指向性動作)は、VRアームモデル10の特定の関節および/またはセグメント周りの仮想コントローラの動作として解釈される(およびHMDに表示される)。

0017

例えば、z軸を中心にする物理コントローラ112の回転(例えば、ヨー)は、HMD8から見た場合、例えばD関節のz軸を中心にする左右動作として表すことができる。したがって、HMD8から見たときに、仮想コントローラは、セグメント17(および/またはセグメント19)の端部で左右に動作している。

0018

換言すれば、いくつかの実現例において、セグメント17は、関節Dを中心にして動作するように構成されてもよい。例えば、セグメント17は、その一端が関節Dを中心にして回転しながら、横方向に(例えば、左右に)動作することができる。換言すれば、セグメント17は、z軸を中心に動作する(例えば、ヨー)ことができる。これによって、仮想コントローラは、VR環境において同様に動作することができる。例えば、セグメント17が(横方向に沿って)少なくとも左右に動作すると、HMD8から見られたVR環境内の仮想コントローラも少なくとも左右に動作する。この特定の動作に関するより多くの詳細は、図2Aに関連して説明され、示される。

0019

別の例として、y軸を中心にする物理コントローラ112の回転(例えば、ピッチ)は、HMD8から見た場合、例えばD関節のy軸を中心にする仮想コントローラの上下動作として表すことができる。したがって、HMD8から見たときに、仮想コントローラは、セグメント17(および/またはセグメント19)の端部で上下に動作している。

0020

換言すれば、いくつかの実現例において、セグメント17は、その第2の端部(例えば、近位端)が関節Dを中心にして回転しながら、その第1の端部(例えば、遠位端)が上下に動作するように構成することができる。換言すれば、セグメント17は、y軸を中心にして動作すること(例えば、ピッチ)ができる。これによって、コントローラ112は、VR環境において同様に動作することができる。例えば、セグメント17が(縦方向に沿って)少なくとも上下に動作すると、HMD8から見られたVR環境内の仮想コントローラも少なくとも上下に動作する。この特定の動作に関するより多くの詳細は、図2Bに関連して説明され、示される。

0021

さらに別の例として、x軸を中心にする物理コントローラ112の回転(例えば、ロール)は、HMD8から見た場合、例えばE関節のx軸を中心にする仮想コントローラの回転として表すことができる。したがって、HMD8から見たときに、仮想コントローラは、セグメント17(および/またはセグメント19)の端部で仮想コントローラの長手(または軸)を中心にして回転している。いくつかの実現例において、HMD8から見たときに、x軸を中心にする物理コントローラ112の回転(例えば、ロール)は、例えば、D関節のx軸(およびセグメント17)を中心にする回転として表すことができる。

0022

換言すれば、いくつかの実現例において、セグメント19は、関節Eを中心にして回転するように構成されてもよい。例えば、セグメント19は、関節Eに固定されながら、関節Eを中心にして左右に回転することができる。換言すれば、セグメント17は、x軸を中心にして動作することができる。本明細書に記載の実現例によれば、HMD8のVR環境から見るときに、関節Eを中心にする回転は、手を回転して手の平を露出させ、その後手を回転して手のを露出させる動作として示すことができる。この特定の回転に関する詳細は、図2Cに関連して説明され、示される。

0023

いくつかの実現例において、x軸を中心にする回転動作は、関節DおよびEにおいて同時に行われてもよい。換言すれば、一部の回転は、関節Dで行われてもよく、一部の回転は、関節Eで行われてもよい。40%の回転動作は、関節Dで行われ、60%の回転は、関節Eで行われる。

0024

上述した動作は、別個の動作として説明されているが、任意に組み合わせることができる。例えば、物理コントローラ112の(x、yまたはz軸を中心にする)回転を任意に組み合わせて、VRアームモデル10を用いて、ユーザがHMD8から見たときの仮想コントローラの動作として表すことができる。

0025

いくつかの実現例において、接続されたセグメント15および17は、直角のアームを表す。この構成は、ユーザの自然な動作をエミュレートするのに適している。換言すれば、ユーザの腕の自然な動作は、ユーザがどのように物理コントローラ112を保持および/または操作することに相関する。

0026

いくつかの実現例において、全てのセグメント11、13、15、17および19は、関節B、C、DおよびEを介して接続されてもよい。例えば、セグメント11は、関節Bを介してセグメント13に接続され、セグメント13は、関節Cを介してセグメント15に接続され、セグメント15は、関節Dを介してセグメント17に接続され、セグメント17は、関節Eを介してセグメント19に接続されることができる。いくつかの実現例において、セグメント17は、セグメント13に対して直交方向に整列されてもよく、セグメント13は、セグメント11に対して直交方向に整列されてもよい。

0027

いくつかの実現例において、接続されたセグメント11、13、15、17および19は、ユーザの解剖学的身体部位を各々表すことができる。本明細書に記載の実現例において、接続されたセグメント11、13、15、17および19は、直角になっているユーザの体の右側の腕を表すことができる。いくつかの実現例において、関節Dを介してセグメント15をセグメント17に対して直交方向に整列することによって、直角を形成することができる。

0028

いくつかの実現例において、セグメント11は、ユーザの頭部と胸部上方の中心との間の身体部位を表すことができ、セグメント13は、ユーザの肩を表すことができ、セグメント15は、ユーザの上腕を表すことができ、セグメント17は、ユーザの前腕を表すことができ、セグメント19は、ユーザの手を表すことができる。なお、これらのセグメントは、単なる身体部位の例示的な表現であり、身体の他の部位を表すこともできる。

0029

いくつかの実現例において、セグメント11、13、15、17および19のサイズまたは長さは、平均的な成人の解剖学的身体部位を各々表すことができる。例えば、セグメント11は、約13〜15cmであってもよく、セグメント13は、約15〜18cmであってもよく、セグメント15は、約25〜30cmであってもよく、セグメント17は、約25〜30cmであってもよく、セグメント19は、約17〜20cmであってもよい。これらの寸法は、単なる例示であり、排他的ではない。

0030

いくつかの実現例において、セグメント19は、仮想コントローラの位置および/または動作を表すことができる。これは、ユーザがこの場所(例えば、位置)で物理コントローラを保持しているためである。セグメント19は、仮想コントローラの動作および向きをエミュレートすることができる。

0031

いくつかの実現例において、これらのセグメントを用いて、物理コントローラ112の初期位置を決定することができる。本明細書に記載の実現例において、物理コントローラ112の初期位置は、関節Dの位置を決定することによって、決定することができる。したがって、セグメント11、13および15を接続することによって、セグメント11、13および15を用いて、物理コントローラ112の初期位置を決定することができる。例えば、(例えば、関節AとBの間の)セグメント11は、(例えば、関節BとCの間の)セグメント13に接続することができ、セグメント13は、(例えば、関節CとDの間の)セグメント15に接続することができる。いくつかの実現例において、初期位置は、HMD8からの所定のオフセット位置または距離として決定されてもよい。

0032

いくつかの実現例において、セグメント17を物理的に移動した距離は、仮想コントローラを移動した距離と同様である。他の実現例において、セグメント17の移動距離は、仮想コントローラを移動した距離と同様ではない。その代わりに、システムは、この距離を推定する。例えば、セグメント17を距離「x」で移動した場合、仮想コントローラは、距離「x」よりも小さいまたは大きい距離「y」で移動してもよい。また、セグメント17および関節Dに基づいて、例えばセグメントの長さおよび関節Dにおけるセグメントの物理的な向きに基づいて、物理コントローラの向きを仮想環境の仮想コントローラの仮想位置および仮想向きに変換することができる。

0033

いくつかの実現例において、本開示の範囲内で、本明細書で説明したモデルのほかに、他のモデルを使用してもよい。例えば、様々な剛体の多角形メッシュ、1つ以上の変形可能なメッシュ、または任意の組み合わせを含むワイヤフレームメッシュのモデルを使用することができる。また、ユーザの形状を規定するメッシュとして、複数の三角形を使用することができる。さらに、他のモデルは、パッチ、不均一な加重スプライン細分化曲面、または他の高次曲面を含むことができる。

0034

いくつかの実現例において、モデルは、必要に応じて、現在の姿勢、1つ以上の過去の姿勢および/またはモデル物理学に関する情報を含むことができる。姿勢を取り、シミュレートできる全てのモデルは、本明細書に記載の認識、分析および追跡と互換性がある。

0035

図2A〜2Cは、仮想現実環境105をユーザ20に表示することができるヘッドマウントディスプレイ(HMD)106を装着しているユーザ20を示す第三者斜視図である。図2A〜2Cに示されたオブジェクト50は、VR環境105内のユーザ20がHMD106を介して見ているものであるが、説明を容易にするために、第三者の視点から見ているように示されている。例えば、図2A〜2Cに示されたオブジェクト50は、ユーザ20がHMD106を通して見えるが、実際に第三者には見えない。同様に、この詳細な説明内の他の図面は、説明を簡単にするために、第三者の視点からのものとして示されている。いくつかの実現例において、詳細な説明に記載されている例は、複数のオブジェクトおよび/または複数のユーザに適用することができる。

0036

本明細書に記載の実現例によれば、仮想コントローラ113(例えば、コントローラの仮想表現)は、VR環境105に表示されてもよい。ユーザ20は、仮想コントローラ113を使用(例えば、利用)して、VR環境105内のオブジェクト50と対話する(例えば、掴む、触れる、接触する、保持する)ことができる。仮想コントローラ113は、オブジェクト50と対話するために、ビーム70(例えば、ポールスティック)を用いて、オブジェクト50に作用することができる。いくつかの実現例において、物理コントローラ112は、操作(例えば、クリックタッチスワイプ)を行うためのいくつかのキーを含むことができる。例えば、物理コントローラ112は、ホームボタン114a、メニューボタン114bおよびタッチパッド114cを含むことができる。いくつかの実現例において、物理コントローラ112と同様のキー(例えば、ホームボタン114a、メニューボタン114bおよびタッチパッド114c)は、仮想コントローラ113に示され(例えば、表示され)てもよい。

0037

いくつかの実現例において、タッチパッド114cを用いて、ビーム70を作動/停止することができる。例えば、ユーザ20は、オブジェクト50と対話する場合、一般にオブジェクト50の方向を指し、ビーム70の端部をオブジェクト50の近くにまたはオブジェクト50に配置し、タッチパッド114cを押すことによって(例えば、オブジェクト50を掴むように)タッチパッド114cを作動し、オブジェクト50を所望の位置に移動(または配置)する。オブジェクト50を離すために、ユーザは、タッチパッド114cを離すことによってオブジェクト50を離す。

0038

VR環境105において仮想コントローラ113の動作を効果的且つ比較的現実的に表現するために、本発明のシステムおよび方法は、HMD106に対する物理コントローラ112の実際の物理的位置を用いて、動作をVR環境105に変換する。本明細書に記載の実現例によれば、手首関節(例えば、関節E)の位置を決定することによって、仮想コントローラ113の位置を決定することができる。手首関節は、手の位置および/または仮想コントローラ113の位置に対応する。いくつかの実現例において、手首関節の位置は、最初にHMD106の位置を決定し、HMD106の位置から所定の距離に基づいて肘関節の位置(例えば、関節D)を定め、肘関節から手首関節までのセグメントを定めることによって決定されてもよい。以下に説明するように、センサを用いて、上述した各々の位置を決定することができる。

0039

図2Aに示されたように、ユーザ20は、肘関節(例えば、関節D)で腕を動かすことができる。この実現例において、矢印90aによって示されたように、腕が横方向に移動する(例えば、左右に、(ページに垂直な)軸zを中心にして回転する)ことができる。換言すれば、ユーザの腕は、z軸(例えば、垂直軸)を中心にして回転することができる。したがって、矢印91aによって示されたように、ユーザの腕の移動および物理コントローラ112のz軸を中心にする回転によって、仮想コントローラ113は、(VRアームモデルを介して)VR環境105において同様に移動する。例えば、ユーザの腕が右に移動すると、物理コントローラ112aも右に移動する。したがって、仮想コントローラ113が右に移動する。ユーザの腕が左に移動すると、物理コントローラ112bも左に移動する。したがって、仮想コントローラ113が左に移動する。いくつかの実現例において、各VRアームモデルにおいて、ユーザの腕の移動距離は、仮想コントローラ113の移動距離に対応する。

0040

非限定的な例において、ユーザは、ドアを閉めるようにドアと対話する場合、タッチパッド114aを押すことによって仮想コントローラ113を操作し、物理コントローラ112を左に移動することによって仮想コントローラ113を同様に移動することができる。この操作によって、VR環境でドアを閉めることができる。

0041

図2Bに示されるように、ユーザ20は、肘関節(例えば、関節D)で腕を動かすことができる。この実現例において、矢印90bによって示されたように、腕が上下に移動することができる。換言すれば、ユーザの腕は、y軸を中心にして回転することができる。本明細書に記載の実現例において、上方向の移動は、図2Bの図に対してページの外への移動とし、下方向の移動は、図2Bの図に対してページの内への移動とする。いくつかの実現例において、ユーザの腕の移動によって、仮想コントローラ113は、(VRアームモデルを介して)VR環境105において同様に移動する。例えば、ユーザの腕が上に移動すると、物理コントローラ112aも上に移動する。したがって、仮想コントローラ113が上に移動する。ユーザの腕が下に移動すると、物理コントローラ112bも下に移動する。したがって、仮想コントローラ113が下に移動する。いくつかの実現例において、各VRアームモデルにおいて、ユーザの腕の移動距離は、仮想コントローラ113の移動距離に対応する。

0042

非限定的な実施形態において、ユーザが物理コントローラ112をHMD106に近づけるように移動すると、VR環境で見られる仮想コントローラ113は、ユーザの視界に近づくようになる。いくつかの実現例において、仮想コントローラ113は、コントローラ自体に関する情報を有し得る。例えば、仮想コントローラ113は、ヘルプ情報ツールヒント電池寿命、電池の使用量および/または他の情報に関する機能を含むことができる。

0043

別の非限定的な実施形態において、仮想オブジェクトがコンベヤベルト上に配置され、ユーザ20に向かって搬送されている場合、ユーザ20は、オブジェクトに向かって物理コントローラ112を下方に移動することによってコントローラ113を操作し、タッチパッド114aを押すことによってコンベアからオブジェクトを掴み、タッチパッド114aを離すことによってオブジェクトを所望の場所に離す。いくつかの実現例において、所望の場所は、オブジェクトを掴んだ場所と同様であってもよい。いくつかの実現例において、所望の場所は、オブジェクトを掴んだ場所と異なってもよい。

0044

図2Cに示されたように、ユーザ20は、手首関節(例えば、関節E)で腕を動かすことができる。この実現例において、矢印90cによって示されたように、ユーザの腕が回転することができる。換言すれば、ユーザの腕は、x軸(例えば、長手軸)を中心にして回転することができる。本明細書に記載の実施形態によれば、手首関節を中心にする左右回転は、手を回転して手の平を露出させ、その後手を回転して手の甲を露出させる動作として示すことができる。ユーザの手首の移動(破線Xを中心とした回転または回転動作)によって、矢印91cによって示されたように、仮想コントローラ113は、(VRアームモデルを介して)VR環境105において同様に移動する。例えば、ユーザの手首が右に移動すると、物理コントローラ112aも右に移動する。したがって、仮想コントローラ113が右に移動する。ユーザの手首が左に移動すると、物理コントローラ112bも左に移動する。したがって、仮想コントローラ113が左に移動する。いくつかの実現例において、各VRアームモデルにおいて、ユーザの手首の移動距離は、仮想コントローラ113の移動距離に対応する。

0045

非限定的な例において、上記のドアの同様の例を用いて、ユーザは、ドアのノブを回すようにドアと対話する場合、114aを押すことによって仮想コントローラ113を操作し、物理コントローラ112を回転させることによって仮想コントローラ113を同様に回転させることができる。この操作によって、VR環境でドアのノブを回すことができる。

0046

いくつかの実現例において、ユーザの腕および/または手首の2つ以上の動作を組み合わせることができる。例えば、ユーザの腕は、少なくとも横方向(図2A)および少なくとも上下(図2B)という順序または逆の順序で動作することができる。別の例において、ユーザの腕は、少なくとも横方向(図2A)および少なくとも左右(図2C)という順序または逆の順序で回転することができる。さらに別の例において、ユーザの腕は、少なくとも上下(図2B)および少なくとも左右(図2C)という順序または逆の順序で回転することができる。

0047

いくつかの実現例において、ユーザの腕および/または手首の3つ以上の動作を組み合わせることができる。例えば、ユーザの腕は、少なくとも横方向(図2A)、少なくとも上下(図2B)および少なくとも左右(図2C)という順序または任意の組み合わせで回転することができる。

0048

図3は、本開示の教示に従って、3次元(3D)VR環境105を作成し、VR環境と対話するための例示的な仮想現実(VR)システム100を示す図である。一般に、システム100は、VR環境105と、人間(例えば、ユーザ、着用者)がVR環境105にアクセス閲覧、使用および/または相互作用することを可能にするVRコンテンツとを提供することができる。システム100は、コンテンツ、アプリケーション、仮想オブジェクト、実在オブジェクトおよびVR制御にアクセスするためのオプションをユーザに提供することができる。図2A〜2Cの例示的なVRシステム100は、HMD106を装着し、手持ち式物理コントローラ112を持っているユーザ20を含むことができる。図2A〜2Cに示された例示的なVR環境105は、HMD106内でユーザ20のために表示された画像である。

0049

図3に示すように、VRアプリケーション110は、向きモジュール118と、変換モジュール120と、VRアームモジュール122とを含むことができる。VRアプリケーションまたはその一部は、物理コントローラ112、HMD106および/またはVRシステム108に設けられてもよい。

0050

向きモジュール118は、例えば、1つ以上の慣性測定ユニットIMU)、光センサ音声センサ画像センサ、距離/近接センサ位置センサおよび/または他のセンサを利用して、仮想環境に対して現実世界または物理環境内の物理コントローラ112の向きを決定することができる。いくつかの実現例において、向きモジュール118は、物理コントローラ112に組み入れてもよい。いくつかの実現例において、向きモジュール118は、センサを介して、物理コントローラ112の向きを決定するように構成されてもよい。別の実現例において、向きモジュール118は、例えば、1つ以上の慣性測定ユニット、光センサ、音声センサ、画像センサ、距離/近接センサ、位置センサおよび/または他のセンサを利用して、仮想環境に対して現実世界または物理環境内のHMD106の物理位置を追跡することができる。いくつかの実現例において、向きモジュール118は、HMD106に組み入れてもよい。いくつかの実現例において、向きモジュール118は、センサを介して、HMD106の位置を決定するように構成されてもよい。

0051

いくつかの実現例において、向きモジュール118は、物理コントローラ112および/またはHMD106に設けられてもよい。いくつかの実現例において、向きモジュール118の動作は、物理コントローラ112および/またはHMD106に実行可能である。

0052

向きモジュール118は、本明細書に記載された任意数のメモリ記憶装置および/またはセンサを利用して、物理コントローラ112、ユーザ、仮想オブジェクトおよびVR環境105内でオブジェクトの移動に関連する区域の向きを決定することができる。向きモジュール118は、物理コントローラ112の向き(例えば、ヨー、ピッチおよび/またはロール)を決定することができる。

0053

向きモジュール118が物理コントローラ112の向きを決定すると、変換モジュール120は、物理コントローラ112の動作をVR環境105に変換することができる。いくつかの実現例において、変換モジュール120は、以下の動作、すなわち、a)横方向動作(例えば、ヨー)、b)上下動作(例えば、ピッチ)および/またはc)左右回転(例えば、ロール)に基づいて、物理コントローラ112の動作を変換することができる。

0054

VRアームモジュール122は、仮想アームモデルを生成することができる。いくつかの実現例において、変換モジュール120は、アームモジュール122によって生成されたアームモデルを用いて、向きモジュール118およびアームモジュール122からの情報に基づいて、仮想コントローラの仮想位置および/または向きを生成することができる。

0055

いくつかの実現例において、向きモジュール118および/または変換モジュール120は、物理コントローラ112が仮想オブジェクトと対話することを可能にすることができる。コントローラとの対話は、仮想オブジェクト上で行われた物理的なジェスチャー(例えば、動作)として理解することができる。例えば、ユーザは、仮想コントローラを操作して、オブジェクトを指すまたは接触することができる。このように実行された動作は、3DOF動作で描写することができる。

0056

例示的なVRシステム108は、ネットワーク101を介してデータを交換することができる任意数のコンピューティング装置および/または電子装置を含むことができる。これらの装置は、クライアントまたはサーバを表し、ネットワーク101または他の任意の追加的および/または代替的なネットワークを介して通信することができる。クライアント装置の例として、HMD106、物理コントローラ112、モバイル装置102(例えば、スマートフォン、PDA(Personal Digital Assistant)、ポータブルメディアプレイヤ)、ラップトップまたはネットブック103、デスクトップコンピュータ104、電子タブレット(図示せず)、カメラ(図示せず)、ゲーム装置(図示せず)、およびネットワーク101または他のネットワークを介して他の電子またはコンピューティング装置もしくは他の電子またはコンピューティングシステムと通信できるもしくはVRコンテンツにアクセスできるまたはVR環境内で動作できる任意の電子またはコンピューティング装置を含むが、これらに限定されない。装置102〜104、106および112は、クライアント装置またはサーバ装置を表してもよい。装置102〜104、106および112は、クライアントオペレーティングシステムおよび1つ以上のクライアントアプリケーションを実行することができる。1つ以上のクライアントアプリケーションは、VRコンテンツを利用、レンダリング、提供または対応する装置102〜104、106および112の各々に含まれるまたは関連するディスプレイ装置上で表示することができる。

0057

VRシステム108は、サーバ装置を表すことができる。一般に、VRシステム108は、コンテンツを格納する任意数のリポジトリおよび/または仮想現実シーンを生成、修正または実行することができる仮想現実ソフトウェアモジュールを含むことができる。図示の例において、VRシステム108は、システム108のコンテンツおよび/または制御を利用および提示するためのVRアプリケーション110を含む。いくつかの実現例において、VRアプリケーション110は、1つ以上の装置102〜104上でローカルに実行することができる。VRアプリケーション110は、例えば、いずれかまたは全ての装置102〜104上で実行するように構成されてもよく、物理コントローラ112を用いて制御または操作されてもよい。

0058

本開示に記載された特定の実現例は、ユーザが物理コントローラ112を用いてVR環境と対話することを可能にすることができる。例えば、ユーザは、物理コントローラ112を用いて、VR環境内の3D仮想オブジェクトを選択および操作することができる。例示的な物理コントローラ112は、コントローラ装置の構成要素を内部に収容するためのハウジングと、ハウジングの外側に設けられ、ユーザが利用可能なユーザインターフェイス(図示せず)とを含んでもよい。ユーザインターフェイスは、例えば、ユーザのタッチ入力を受け取るように構成されたタッチ感応パネル、ボタン、ノブ、ジョイスティックトグルスライドおよび他の操作装置を含む複数の異なる種類の操作装置(図2A〜2Cには詳細に示されていない)を含むことができる。

0059

物理コントローラ112は、1つ以上のセンサを含むことができる。これらのセンサは、例えばユーザが物理コントローラ112およびHMD装置106にアクセスすることによって、トリガーされ、VR環境に入力を提供することができる。センサは、タッチスクリーンセンサ加速度計ジャイロスコープ圧力センサ生体認証センサ温度センサ湿度センサ、および環境光センサを含むが、これらに限定されない。物理コントローラ112は、センサを用いて、VR環境において検出された物理コントローラ112の回転を決定することができる。回転は、VR環境への入力として使用することができる。1つの非限定的な例において、物理コントローラ112は、スティック、鉛筆またはペン描画ツール、コントローラ、リモコンレーザポインター携帯電話ペイントブラシまたは他のオブジェクトとしてVR環境に組み入れてもよい。ユーザによってVR環境に組み入れた(または表された)物理コントローラ112の位置に基づいて、ユーザは、VR環境に特定の仮想オブジェクトを配置すると共に、スティック、ペイントブラシ、鉛筆またはペン、描画ツール、コントローラ、リモコン、レーザポインター、携帯電話、ペイントブラシまたは他のオブジェクトを配置することができる。このような配置は、いくつかの実現例において、アンカポイントを用いたオブジェクトの操作をトリガーすることができる。

0060

HMD装置106は、仮想現実コンテンツを表示することができる仮想現実ヘッドセット眼鏡対眼レンズまたは他の装着型装置を表すことができる。動作時に、HMD装置106は、VRアプリケーションを実行して、受信および/または処理した画像をHMD装置106のディスプレイ(図示せず)上でユーザに再生することができる。いくつかの実現例において、VRアプリケーション110は、1つ以上の装置102〜104および106にホストされてもよい。

0061

いくつかの実現例において、例示的なHMD装置106は、フレームに連結され、例えばヘッドフォンに設けられたスピーカを含む音声出力装置を備えるハウジングを含むことができる。例示的なHMD装置106において、ハウジングの前部の内側にディスプレイ(図示せず)を設けてもよい。ユーザの目とディスプレイとの間のハウジングにレンズを設けてもよい。いくつかの実現例において、HMD装置106は、例えば、音声センサ、画像/光センサ、位置センサ(例えば、ジャイロスコープおよび加速度計を含む慣性測定ユニット)などの様々なセンサを含む検知システムを含むことができる。HMD装置106は、HMD装置106の操作を容易にするためのプロセッサおよび様々な制御システム装置を含む制御システムをさらに含んでもよい。

0062

いくつかの実現例において、HMD装置106は、静止画像および動画像撮影するために1つ以上のカメラ(図示せず)を含むことができる。カメラによって撮影された画像を用いて、VR環境に対して、現実世界または物理環境内のユーザおよび/または物理コントローラ112の物理位置の追跡を支援することができ、および/またはこれらの画像をディスプレイ上で透過モードで表示することによって、ユーザは、HMD装置106を取り外すことなくまたはHMD装置106の構成を変更することなく、一時的に仮想環境を離れて物理環境に戻ることができる。

0063

いくつかの実現例において、モバイル装置102は、HMD装置106内に配置および/または設置されてもよい。モバイル装置102は、HMD装置106の表示画面として使用できるディスプレイ装置を含むことができる。モバイル装置102は、VRアプリケーション110を実行するためのハードウェアおよび/またはソフトウェアを含むことができる。いくつかの実現例において、HMD装置106は、ユーザの位置および6自由度の動作を完全に追跡することができる。追跡は、ユーザの手の動作、頭の動作、目の動作、またはユーザの入力に基づいて動作するコントローラの軌跡に基づいて行うことができる。

0064

追加の装置が可能である。これらの装置は、互いに置換できるように構成されてもよい。いくつかの実現例において、装置102〜104は、ラップトップまたはデスクトップコンピュータ、スマートフォン、PDA、ポータブルプレイヤタブレットコンピュータ、ゲーム装置、またはネットワーク101を介して他のコンピューティング装置またはコンピュータシステムと通信できる他の適切なコンピューティング装置であってもよい。

0065

例示的なシステム100において、例えば、HMD装置106を装置102または装置104に接続することによって、VRシステム108上のVRコンテンツにアクセスするができる。装置102または104は、(有線または無線を介して)VRコンテンツを表示するためのHMD装置106に接続することができる。

0066

いくつかの実現例において、1つ以上のコンテンツサーバ(例えば、VRシステム108)および1つ以上のコンピュータ可読記憶装置は、ネットワーク101を介してコンピューティング装置102〜104および106と通信することによって、VRコンテンツを装置102〜104および106に提供することができる。いくつかの実現例において、ネットワーク101は、公衆通信ネットワーク(例えば、インターネットセルラデータネットワークダイヤルアップモデムを含む電話ネットワーク)またはプライベート通信ネットワーク(例えば、プライベートLAN、専用回線)であってもよい。いくつかの実現例において、コンピューティング装置102〜108は、1つ以上の高速有線および/または無線通信プロトコル(例えば、802.11バリエーション、Wi−Fi(登録商標)、ブルートゥース(登録商標)、伝送制御プロトコルインターネットプロトコル(TCP/IP)、イーサネット(登録商標)、IEEE802.3)を用いて、ネットワーク101と通信することができる。

0067

いくつかの実現例において、モバイル装置102は、VRアプリケーション110を実行することができ、VR環境用のコンテンツを提供することができる。いくつかの実現例において、ラップトップコンピューティング装置は、VRアプリケーション110を実行することができ、1つ以上のコンテンツサーバ(例えば、VRシステム108)からコンテンツを提供することができる。1つ以上のコンテンツサーバおよび1つ以上のコンピュータ可読記憶装置は、ネットワーク101を介して、モバイル装置102、ラップトップコンピューティング装置104および/または物理コントローラ112と通信することによって、HMD装置106に表示するためのコンテンツを提供することができる。

0068

図4は、VR環境内のHMD装置106に通信可能に接続された物理コントローラ112を示すブロック図である。システム100は、動作時に、図3に示す装置で操作できる任意数の仮想オブジェクトを収容するためのVR環境を提供するように構成することができる。物理コントローラ112は、インターフェイスを介してHMD装置106に接続することによって、没入型仮想環境を生成することができる。例えば、物理コントローラ112をHMD装置106とペアリングすることによって、装置間の通信を確立することができ、ユーザと没入型VR環境との対話を促進することができる。いくつかの実現例において、物理コントローラ112は、HMD装置106とペアリングされてもよく、VRアプリケーション110内の追跡モジュール116または別の外部追跡装置によって追跡されてもよい。

0069

図4を参照して、物理コントローラ112は、検知システム460および制御システム470を含む。検知システム460は、例えば、光センサ、音声センサ、画像センサ、距離/近接センサ、位置センサ(例えば、ジャイロスコープと加速度計を含む慣性測定ユニット(IMU))を含む1つ以上の異なる種類のセンサ、および/または他のセンサ、および/または例えばユーザの視線を検出および追跡するために配置された画像センサを含む異なるセンサの組み合わせを含むことができる。制御システム470は、例えば、出力/停止制御装置音声および動画制御装置光学制御装置移行制御装置および/または他の装置および/または異なる装置の組み合わせを含むことができる。特定の実装に応じて、検知システム460および/または制御システム470は、より多くの装置またはより少ない装置を含むことができる。

0070

物理コントローラ112は、検知システム460および制御システム470と通信する少なくとも1つのプロセッサ490、メモリ480および通信モジュール450をさらに含むことができる。通信モジュール450は、物理コントローラ112と別の外部装置、例えば別のコントローラおよび/またはHMD装置との間の通信を提供する。

0071

一般に、本開示に記載されたシステムおよび方法は、VR環境において、ユーザの手または物理コントローラ112を追跡し、手および/またはコントローラに関連するユーザの動作を分析することによって、動作の意図を決定することができる。

0072

図5は、本明細書に開示されたVR環境内の仮想コントローラの位置を決定するために実行され得る例示的な方法500を示す。図5の例示的な方法500は、ユーザのHMDの位置を決定すること(ブロック502)から開始し、HMDの位置に基づいて、関節の位置を定めること(ブロック504)、関節からセグメントの端部までのセグメントを定めること(ブロック506)、およびセグメントおよび関節に基づいて、物理コントローラの向きをVR環境内の仮想コントローラの仮想位置および仮想向きに変換すること(ブロック508)を含む。

0073

ブロック502において、ユーザのHMDの位置は、ユーザの頭の中心にあると決定されてもよい。本明細書に記載の実現例によれば、コントローラを持っているユーザは、まっすぐに前を見て、直角で腕を見る必要がある。

0074

ブロック504において、ブロック502で決定されたHMDの位置に基づいて、第1の関節の位置を定めることができる。

0075

ブロック506において、関節(例えば、関節D)からセグメントの端部までのセグメントを定める。いくつかの実現例において、セグメントの端部は、関節(例えば、関節E)に対応する。本明細書に記載の実現例によれば、このセグメントは、ユーザの前腕を表してもよい。セグメントは、関節Dを中心にして動作することができる。いくつかの実現例において、セグメントは、少なくとも横方向(例えば、左右)に沿って、関節(例えば、関節D)を中心にして動作することができる。他の実現例において、セグメントは、少なくとも上下方向に沿って、関節(例えば、関節D)を中心にして動作することができる。

0076

ブロック508において、セグメントおよび関節に基づいて、物理コントローラの向きをVR環境内の仮想コントローラの仮想位置および仮想向きに変換することができる。したがって、仮想コントローラは、物理コントローラと同様に動作することができる。

0077

図5の例示的な方法500または本明細書に開示された他の方法は、機械可読命令として実装され、1つ以上のプロセッサによって実行されることによって、本明細書に開示された例示的なディスプレイ組立体を制御または作動することができる。プロセッサ、コントローラおよび/または任意の他の適切な処理装置を使用、構成および/またはプログラムすることによって、本明細書に開示された例示的な方法を実行および/または実施することができる。例えば、図5の例示的な方法500または本明細書に開示された他の方法は、図3を参照して説明したように、プロセッサ、コンピュータおよび/またはプロセッサを備える他の機械装置によってアクセス可能有形および/または非一時的なコンピュータ可読媒体に格納されるプログラムコードおよび/または機械可読命令に具現化されてもよい。機械可読命令は、例えば、プロセッサ、コンピュータおよび/またはプロセッサを備える機械装置に1つ以上の特定のプロセスを実行させる命令を含むことができる。図5の例示的な方法500を実施する多くの他の方法、または本明細書に開示された他の方法を採用することができる。例えば、実行の順序を変更することができ、および/または説明した1つ以上のブロックおよび/または相互作用を変更、削除または細分するもしくは組み合わせることができる。さらに、図5の例示的な方法500の全体または本明細書に開示された他の方法のいずれかは、例えば、別個の処理スレッド、プロセッサ、装置、個別のロジックまたは回路によって連続的におよび/または並行に実行されてもよい。

0078

図6は、本明細書に開示されたVR環境内の仮想コントローラの位置を決定するために実行され得る別の例示的な方法600を示す。図6の例示的な方法500は、ユーザのHMDの位置を決定すること(ブロック602)から開始し、HMDの位置に基づいて、関節の位置を定めること(ブロック604)、関節からセグメントの端部までのセグメントを定めること(ブロック606)、セグメントの端部の位置に基づいて、仮想環境内の仮想コントローラの初期仮想位置を定めること(ブロック608)、およびセグメントおよび関節に基づいて、物理コントローラの向きの変化に応じて、仮想環境内の仮想コントローラの仮想位置および仮想向きを定めること(ブロック610)を含む。

0079

図7Aおよび図7Bは、例示的な実施形態に従って、第三者によって見られた場合の、ユーザが関節に対して動作することを示す概略図である。図7Aは、第1の関節D1に関連する第1の位置にいるユーザ20を示している。図7Bは、第1の関節D2に関連する異なる第2の位置にいるユーザ20を示している。

0080

いくつかの実現例において、前述したように、関節D1の位置は、ユーザの頭部A1(またはHMD)の一部(例えば、中心)から関節D1(例えば、肘関節)までの距離を測定することによって決定されてもよい。例えば、前述したように、関節D1の位置は、関節D1の位置を取得するためのセグメント(例えば、セグメント11、13および15)によって決定されてもよい。

0081

図7Aに示すように、ユーザ20は、線Xによって規定されるように前方を見ており、コントローラ212も(例えば、線Xと平行な)前方位置にある。この位置は、第1の位置として定義することができる。いくつかの実現例において、第1の位置には、ユーザ20の腕が直角になっている。具体的には、側面から見たときに、例えば、第1のセグメント(例えば、セグメント15)は、第2のセグメント(例えば、セグメント17)に直交する。関節E1は、ユーザの腕の端部に位置する。関節E1の位置を用いて、コントローラ212の位置を決定することができる。

0082

いくつかの実現例において、ユーザ20の第1の位置は、肩関節(例えば、関節C)の位置を決定することを含むことができる。いくつかの実現例において、肩関節は、ユーザを第1の位置に整列することを援助することができる。本明細書に記載の実現例において、肩関節と関節D1との間のセグメント15がセグメント17と直角になっているため、上方から見る場合に、肩関節と関節D1とは、同一の位置にある。

0083

非限定的な例において、ユーザ20が第1の位置にいる(例えば、まっすぐに前を見ている)間に、ユーザ20は、少なくとも肩関節の位置に基づいて、ユーザの顔に近づくようにコントローラ212を移動する場合がある。これによって、VR環境内の仮想コントローラは、同様に(例えば、VR環境でユーザの顔に近づくように)移動することができる。肩をまっすぐに(または関節D1を静止に)維持しながら、ユーザ20は、VR環境で仮想コントローラを移動することなく(例えば、ユーザの顔の前方に静止にしたまま)頭を左右に回すことができる。肩(または関節D1)が静止(例えば、不動、動かない、固定)に維持されているあるため、ユーザ20が頭を回しても、仮想コントローラも静止に維持される。したがって、コントローラをさらに調整する必要がない。

0084

いくつかの実現例において、ユーザおよび/または物理コントローラの角速度は、仮想コントローラの移動を決定することができる。本明細書に記載の実現例において、角速度は、時間に対して変異する角度の変化率を測る。換言すれば、ユーザおよび/または物理コントローラが時間に対して移動する速度を測る。移動量が角速度の特定の閾値(例えば、条件)を満たす(例えば満足する)場合、仮想コントローラが移動した可能性がある。例えば、上記の同様の例を使用すると、肩の位置が静止に維持したまま、ユーザ20が比較的速く頭を左または右に回す場合、特定の角速度の閾値(または条件)が満たされているため、システムおよび方法は、仮想コントローラが元の位置および向きに維持されていると判断することができる。

0085

一方、別の非限定的な例において、(角速度の条件を満たさないように)ユーザが比較的遅く頭を回す場合、システムおよび方法は、ユーザの位置が変更された可能性があると判断することができる。したがって、仮想コントローラの位置を移動する。

0086

別の非限定的な例において、(角速度の条件を満たすように)ユーザが物理コントローラを比較的速く(例えば、上下に)移動する場合、特定の角速度の閾値(または条件)が満たされているため、システムおよび方法は、仮想コントローラが元の位置および向きに維持されていると判断することができる。

0087

一方、別の非限定的な例において、(角速度条件を満たすように)ユーザが物理コントローラを比較的遅く(例えば、上下に)移動する場合、システムおよび方法は、ユーザの動作に基づいて、仮想コントローラの位置が変更された可能性があると判断することができる。

0088

いくつかの実現例において、ユーザおよび物理コントローラの角速度の両方を用いて、仮想コントローラを移動するか否かを判断することができる。例えば、閾値(または条件)を満たすように、ユーザが頭および物理コントローラを同時に比較的速く移動する場合、システムおよび方法は、仮想コントローラを所定の位置に移動することを判断することができる。

0089

図7Bに示すように、ユーザ20が関節A1で位置を移動する(例えば、体を概ね右に回す)と、第1の位置に関連する関節D1が移動し、関節(この場合、関節D2)も同様の距離および/または向きで移動する。その結果、関節E1の位置は、同様の距離および/または向きで(例えば、E2に)移動する。関節D1(および関節E1)の位置は、動的である。これは、ユーザ20の位置が変化すると、関節D1(および関節E1)が移動することを意味する。この例示的な実現例に示されているように、ユーザ20は、例えば、肩に関連して、約30度で回転している。いくつかの他の実現例において、ユーザは、例えば、肩に関連して、0〜360度の間の角度で回転することができる。

0090

いくつかの実現例において、HMD106および/または物理コントローラ112を再調整(例えば、再度中心に配置)することができる。本明細書に記載の実現例によれば、再調整は、ユーザ20および物理コントローラ112の位置を前方位置および/または前方視位置に設定することである。いくつかの実現例において、再調整は、物理コントローラ112に対するHMD106の所定位置、より具体的には、第2の関節の位置に対するユーザの位置(例えば、E1)に基づいて実行されてもよい。

0091

いくつかの実現例において、HMD106および/または物理コントローラ112を再調整するために、ユーザ20は、物理コントローラ112上のキーを操作して、HMD106および/またはの位置および/または向きをリセットすることができる。例えば、ユーザ20は、物理コントローラ112のホームボタン114aを押して、物理コントローラ112の位置および/または向きをリセットすることができる。

0092

図1に示すように、本明細書に記載の実現例に係るシステムおよび方法は、z軸(例えば、縦軸)のみに沿った動作を再調整することができる。図1に示されたx軸(例えば、横軸)および図1に示されたx軸(例えば、前後軸)に沿った動作は、同じ平面上で横方向に(例えば、左右に)移動しないため、一般に再調整する必要がない。

0093

図8を参照して、図8は、本明細書に記載の技術を実施するために使用できる汎用コンピュータ装置P00および汎用モバイルコンピュータ装置P50の例を示す図である。コンピューティング装置P50は、HMD106、物理コントローラ112、装置102〜108およびコントローラ110を含むがこれらに限定されない本明細書に開示された装置のいずれかを実装するために使用することができる。コンピューティング装置P00は、ラップトップ、デスクトップワークステーション、PDA、テレビ、サーバ、ブレードサーバメインフレームおよび他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図されている。コンピューティング装置P50は、PDA、携帯電話、スマートフォンおよび他の類似するコンピューティング装置などの様々な形態のモバイル装置を表すように意図されている。図示された構成要素、それらの接続および関係並びにそれらの機能は、例示的なものに過ぎず、本明細書に記載および/または請求される発明の実施を限定するものではない。

0094

コンピューティング装置P00は、プロセッサP02と、メモリP04と、記憶装置P06と、メモリP04および高速拡張ポートP10を連結する高速インターフェイスP08と、低速バスP14および記憶装置P06を連結する低速インターフェイスP12とを含む。プロセッサP02は、半導体ベースのプロセッサであってもよい。メモリP04は、半導体ベースのメモリであってもよい。構成要素P02、P04、P06、P08、P10およびP12は、様々なバス、接続、メモリ、キャッシュなどを使用して相互に接続され、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。プロセッサP02は、メモリP04または記憶装置P06に記憶された命令を含むコンピューティング装置P00内に実行される命令を処理することによって、外部入力出力装置GUIに、例えば高速インターフェイスP08に接続された発光部P16にグラフィック情報を表示することができる。他の実施態様において、複数のプロセッサおよび/または複数のバスは、複数のメモリおよび複数種類のメモリと共に、適切に使用されることができる。また、各装置が(例えば、サーババンク一群のブレードサーバ、またはマルチプロセッサシステムとして)必要な動作の一部を実行するように、複数のコンピューティング装置P00を接続することができる。

0095

メモリP04は、コンピューティング装置P00に情報を格納する。一実現例において、メモリP04は、揮発性メモリユニットである。別の実現例において、メモリP04は、不揮発性メモリユニットである。メモリP04は、別の形態のコンピュータ可読媒体、例えば、磁気ディスクまたは光ディスクであってもよい。

0096

記憶装置P06は、コンピューティング装置P00に大容量の記憶を提供することができる。一実現例において、記憶装置P06は、例えば、フロッピー(登録商標)ディスク装置ハードディスク装置光学ディスク装置テープディスク装置、フラッシュメモリまたは他の同様の固体メモリ装置、または記憶エリアネットワークまたは他の構成内の装置を含むアレイ記憶装置などのコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報担体有形的に具体化することができる。また、コンピュータプログラム製品は、命令を含むことができる。これらの命令は、実行されると、上述したような1つ以上の方法を実行することができる。情報担体は、例えば、メモリP04、記憶装置P06、またはプロセッサP02上のメモリなどのコンピュータ可読媒体または機械可読媒体である。

0097

高速コントローラP08は、コンピューティング装置P00の高速の帯域幅集約動作を管理し、低速コントローラP12は、低速の帯域幅集約動作を管理する。このような機能の割り当ては、例示に過ぎない。一実現例において、高速コントローラP08は、メモリP04、(例えば、グラフィックプロセッサまたはアクセラレータを介して)発光部P16、および様々な拡張カード(図示せず)を挿入できる高速拡張ポートP10に連結される。この実現例において、低速コントローラP12は、記憶装置P06および低速拡張ポートP14に連結される。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、Wi−Fi(登録商標))を含み得る低速拡張ポートは、例えば、キーボードポインティング装置スキャナなどの1つ以上の入出力装置に連結されてもよく、またはネットワークアダプタを介して、スイッチまたはルータなどのネットワーキング装置に連結されてもよい。

0098

図示のように、コンピューティング装置P00は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置P00は、標準サーバP20として実装されてもよく、または標準サーバのグループ内に複数回実装されてもよい。また、コンピューティング装置P00は、サーバラックシステムP24の一部として実装されてもよい。さらに、コンピューティング装置P00は、ラップトップコンピュータP22のようなパーソナルコンピュータに実装されてもよい。代替的には、コンピューティング装置P00の要素は、装置P50などのモバイル装置(図示せず)内の他の要素と組み合わてもよい。このような装置の各々は、1つ以上のコンピューティング装置P00、P50を含むことができ、システムの全体は、互いに通信できる複数のコンピューティング装置P00、P50から構成されることができる。

0099

コンピューティング装置P50は、プロセッサP52、メモリP64、発光部P54などの入出力装置、通信インターフェイスP66、およびトランシーバP68を含む。装置P50は、追加の記憶を提供するために、マイクロドライブまたは他の素子などの記憶装置を備えることもできる。要素P50、P52、P64、P54、P66およびP68は、様々なバスを介して相互に接続され、一部の要素は、共通のマザーボード上に実装されてもよく、または適切な他の方法で実装されてもよい。

0100

プロセッサP52は、メモリP64に格納された命令を含むコンピューティング装置P50内の命令を実行することができる。このプロセッサは、互いに独立している複数のアナログプロセッサおよびデジタルプロセッサを備えるチップチップセットとして実装されてもよい。このプロセッサは、装置P50の他の要素の協調、例えば、ユーザインターフェイスの制御、装置P50によるアプリケーションの実行、および装置P50による無線通信を提供することができる。

0101

プロセッサP52は、制御インターフェイスP58および発光部P54に結合された発光部インターフェイスP56を介してユーザと通信することができる。発光部P54は、例えば、TFT LCD(薄膜トランジスタ液晶発光部)またはOLED(有機発光ダイオード)発光部、または他の適切な発光部を使用することができる。発光部インターフェイスP56は、グラフィック情報および他の情報をユーザに表示するために、発光部P54を駆動する適切な回路を含むことができる。制御インターフェイスP58は、ユーザからの指令を受信し、変換してからプロセッサP52に提供することができる。また、プロセッサP52と通信するように外部インターフェイスP62を設けることによって、装置P50は、他の装置と近距離通信を行うことができる。外部インターフェイスP62は、例えば、いくつかの実現例において有線通信を提供することができ、他の実現例において無線通信を提供することができる。複数のインターフェイスを使用することもできる。

0102

メモリP64は、コンピューティング装置P50に情報を格納する。メモリP64は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうち、1つまたは複数として実装することができる。拡張メモリP74は、例えば、SIMM(Single In Line Memory Module)カードインターフェイスを含む拡張インターフェイスP72を介して、装置P50に提供され、接続されてもよい。具体的には、拡張メモリP74は、上述したプロセスを実行するまたは補足するための命令を格納することができ、セキュリティ情報を格納することもできる。したがって、拡張メモリP74は、例えば、装置P50のセキュリティモジュールとして提供されてもよく、装置P50の安全使用を可能にする命令でプログラムされてもよい。さらに、SIMMカードを介して、追加情報と共に、セキュリティアプリケーションを配置することができる。例えば、ハッキングできない方法で、SIMMカード上に識別情報を配置することができる。

0103

以下に説明するように、メモリは、例えば、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。一実現例において、コンピュータプログラム製品は、情報担体に有形的に具体化される。コンピュータプログラム製品は、命令を含み、これらの命令は、実行されると、上述したような1つ以上の方法を実行する。情報担体は、例えば、メモリP64、拡張メモリP74、またはプロセッサP52上のメモリなどのコンピュータ可読媒体または機械可読媒体であり、トランシーバP68または外部インターフェイスP62を介して受信動作を実行してもよい。

0104

装置P50は、必要に応じてデジタル信号処理回路を含む通信インターフェイスP66を介して無線通信を行うことができる。通信インターフェイスP66は、とりわけ、GSM(登録商標)通話、SMS、EMS、またはMMSメッセージング、CDMATDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルに基づいて、通信を提供することができる。このような通信は、例えば、高周波トランシーバP68を介して行われてもよい。また、ブルートゥース(登録商標)、Wi−Fi(登録商標)、または他のトランシーバ(図示せず)を用いて、短距離通信を行うことができる。さらに、GPS(全地球測位システム受信モジュールP70は、追加のナビゲーション関連無線データおよび位置関連無線データを装置P50に提供することができる。これらの無線データは、装置P50上で動作するアプリケーションに適宜に使用される。

0105

また、装置P50は、音声コーデックP60を使用して音声通信を行うことができる。音声コーデックP60は、ユーザから受信した音声情報使用可能なデジタル情報に変換することができる。同様に、音声コーデックP60は、例えば、装置P50の送受話器内のスピーカを介して、ユーザに可聴な音声を生成することができる。このような音声は、音声電話からの音声を含むことができ、記録された音声(例えば、音声メッセージ音楽ファイル)を含むことができ、装置P50上で動作するアプリケーションによって生成された音声を含むこともできる。

0106

図示のように、コンピューティング装置P50は、いくつかの異なる形態で実装されることができる。例えば、コンピューティング装置P50は、携帯電話P80として実装されてもよく、スマートフォンP82、PDAまたは他の類似するモバイル装置の一部として実装されてもよい。

0107

本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子回路集積回路、特別に設計されたASIC特定用途向け集積回路)、コンピュータハードウェアファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現することができる。これらの様々な実装は、プログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実装を含むことができる。このプログラム可能なシステムは、記憶システムからデータおよび命令を受信し、データおよび命令を記憶システムに送信するように記憶システムに連結された少なくとも1つのプログラム可能な専用または汎用のプロセッサ、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。

0108

(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラム可能なプロセッサ用の機械命令を含み、高度な手続き型プログラミング言語および/または高度なオブジェクト指向プログラミング言語で実装することができ、および/またはアセンブリ言語機械言語で実装することができる。「機械可読媒体」という用語は、本明細書に使用された場合、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用された機械可読信号としての機械命令を受け取る機械可読媒体を含む任意のコンピュータプログラム製品、機械および/または装置(例えば、磁気ディスク、光学ディスク、メモリ、プログラム可能な論理装置PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用された任意の信号を指す。

0109

方法ステップは、入力データを処理して出力を生成することによって機能するようにコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって、実施されてもよい。また、方法ステップは、専用ロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)に実装され得る装置よって実行されてもよい。

0110

コンピュータプログラムの処理に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリもしくはその両方から命令およびデータを受け取る。コンピュータの構成要素は、命令を実行するための少なくとも1つのプロセッサと、命令およびデータを格納するための1つ以上のメモリ装置を含むことができる。一般に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、例えば磁気ディスク、光磁気ディスクまたは光ディスクを含んでもよく、または1つ以上の大容量記憶装置、例えば磁気ディスク、光磁気ディスクまたは光ディスクからデータを受信または転送するようにそれらと動作可能に接続されてもよい。コンピュータプログラムの命令およびデータを具体化するのに適した情報担体は、例として、例えばEPROM、EEPROMおよびフラッシュメモリ装置のような半導体メモリ装置、例えば内蔵ハードディスクまたは取り外し可能なディスクのような磁気ディスク、光磁気ディスク、およびCD−ROMまたはDVD−ROMディスクを含むあらゆる形態の不揮発性メモリを含む。プロセッサおよびメモリは、特殊用途論理回路によって補足されてもよく、特殊用途の論理回路に組み入れてもよい。

0111

ユーザと情報交換を行うために、本明細書に記載のシステムおよび技術は、発光素子(例えば、CRTブラウン管モニタまたはLCD(液晶発光)モニタ)と、キーボードと、ポインティング装置(例えば、マウスまたはトラックボール)とを含むコンピュータ上で実装することができる。発光素子は、情報を表示することができ、ユーザは、キーボードとポインティング装置とを用いて、コンピュータに入力を提供することができる。他の種類の装置を使用して、ユーザと情報交換を行うこともできる。例えば、ユーザに与えるフィードバックは、任意の形の感覚フィードバック(例えば、視覚フィードバック聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザから受け入れる入力は、音響入力音声入力、または触覚入力を含む任意の形態であってもよい。

0112

本明細書に記載のシステムおよび技術は、バックエンド要素(例えば、データサーバ)を含むコンピューティングシステム、またはミドルウェア要素(例えば、アプリケーションサーバ)を含むコンピューティングシステム、またはフロントエンド要素(例えば、ユーザが本明細書に記載のシステムおよび技術の実装と情報交換を行うことができるグラフィカルユーザインターフェイスまたはウェブブラウザを含むクライアントコンピュータ)を含むコンピューティングシステム、またはバックエンド要素、ミドルウェア要素およびフロントエンド要素の任意の組み合わせを含むコンピューティングシステムに実装されてもよい。これらのシステム要素は、任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワークWAN)およびインターネットを含む。

0113

コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般的に互いに遠隔であり、典型的には通信ネットワークを介して情報交換を行う。クライアントとサーバとの関係は、各々のコンピュータ上で動作しており、互いにクライアント−サーバ関係を有するコンピュータプログラムに依存する。

0114

非限定的例として、「約」、「実質的に」および「一般に」などの用語は、本明細書に使用された場合、その精確な値または範囲が不要であり、指定する必要がないことを示す。これらの用語は、本明細書に使用された場合、当業者にとって明白な意味を有する。

0115

また、上、下、左、右、上部、下部、横方向、端部、前部および後部などの用語は、本明細書に使用された場合、現在の向きまたは図示された向きを基準にしたことを意味する。別の向きを基準にした場合、これらの用語を修正しなければならない。

0116

また、本明細書および添付の特許請求の範囲において、文脈上他の意味を明記しない限り、単数形は、複数形のものを除外しない。また、「および」、「または」および「および/または」などの接続詞は、文脈上他の意味を明記しない限り、包括的な意味を有する。例えば、「Aおよび/またはB」は、Aのみ、Bのみ、およびAとBを含む。

0117

さらに、様々な添付図面に示された接続線およびコネクタは、様々な要素間の例示的な機能的関係および/または物理的または論理的結合を表すことを意図している。理解すべきことは、多くの代替および/または追加の機能的関係、物理的接続または論理的接続が存在してもよいことである。さらに、要素が「必須」または「重要」であると明白に記載されていない限り、このような要素は、本開示の実施に不可欠ではない。さらに、図面は、縮尺通りに描かれておらず、例示および説明を明確にするために描かれている。

0118

本明細書は、特定の方法、装置および製品の例を説明したが、本発明の範囲は、これらの例示に限定されない。本明細書に使用された用語は、特定の特徴を説明するためのものであり、限定することを意図していない。本発明は、特許請求の範囲に含まれる全ての方法、装置および製品を含む。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 京セラ株式会社の「 電子機器、制御方法、及びプログラム」が 公開されました。( 2020/10/29)

    【課題】操作性を向上させた電子機器、制御方法、及びプログラムを提供する。【解決手段】電子機器1は、自機器に接触されないジェスチャを検出する第1センサ(近接センサ18)と、自機器に接触されるタッチを検出... 詳細

  • 京セラ株式会社の「 電子機器、制御方法、及びプログラム」が 公開されました。( 2020/10/29)

    【課題】移動体の運転の安全性を向上可能な電子機器、制御方法、及びプログラムを提供する。【解決手段】自動車に搭載可能な電子機器は、自機器に触れられずにジェスチャを検出する第1センサと、自機器に接触される... 詳細

  • 威海火峰電脳有限公司の「 マウスパッドの固定と調節装置」が 公開されました。( 2020/10/29)

    【課題】本発明はマウスパッドの固定と調節装置を開示した。【解決手段】主体を含み、前記主体の中には巻き装置が設置され、前記主体の下側には固定装置が設置され、前記巻き装置の上側には切換装置が設置され、前記... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ