JP6929361B2 - 仮想現実システムのための入力コントローラ安定化技術 - Google Patents

仮想現実システムのための入力コントローラ安定化技術 Download PDF

Info

Publication number
JP6929361B2
JP6929361B2 JP2019525847A JP2019525847A JP6929361B2 JP 6929361 B2 JP6929361 B2 JP 6929361B2 JP 2019525847 A JP2019525847 A JP 2019525847A JP 2019525847 A JP2019525847 A JP 2019525847A JP 6929361 B2 JP6929361 B2 JP 6929361B2
Authority
JP
Japan
Prior art keywords
input controller
6dof
movement
motion
scaling factor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019525847A
Other languages
English (en)
Other versions
JP2020513611A (ja
Inventor
カールソン,パー
シーグミラー,マシュー
グレイザー,アダム
パーカー,エバン・ハーデスティ
ブールマン,マティアス
ケーザー,ドミニク・フィレモン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2020513611A publication Critical patent/JP2020513611A/ja
Application granted granted Critical
Publication of JP6929361B2 publication Critical patent/JP6929361B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

関連出願の相互参照
本願は、2016年11月15日に出願され「仮想現実システムのための入力コントローラ安定化技術(INPUT CONTROLLER STABILIZATION TECHNIQUES FOR VIRTUAL REALITY SYSTEMS)」と題された米国特許出願第62/422,464号の優先権を主張し、その開示全体を本明細書に引用により援用する。
分野
本発明は概して、拡張および/または仮想現実環境における入力コントローラ安定化技術に関する。
背景
拡張現実(augmented reality:AR)および/または仮想現実(virtual reality:VR)システムは、3次元(3D)没入型仮想環境を生成することができる。ユーザは、この3D没入型仮想環境を、さまざまな電子装置との対話を通して体験することができる。これらの電子装置は、たとえば、ディスプレイを含むヘルメットまたはその他のヘッドマウントデバイス、ユーザがディスプレイ装置を見るときに用いる眼鏡またはゴーグル、センサが装着された手袋、センサを含む外部ハンドヘルドデバイス、およびその他のこのような電子装置などである。3D仮想環境に没入すると、ユーザは、電子装置の物理的な動きおよび/または操作を通して仮想環境の中を動いて、仮想環境と対話し、仮想環境との対話を個人専用にすることができる。
概要
ある局面において、方法は、コンピューティングシステムの処理回路が、ユーザが居る物理環境内のユーザが持っている入力コントローラの第1の6自由度(6DOF)の動きを示す第1の動きデータを受信することを含み得る。当該方法はさらに、処理回路が、物理環境内の入力コントローラの第1の6DOFの動きに基づいてスケーリング係数を生成することを含み得る。当該方法はさらに、第1の動きデータを受信した後、処理回路が、ある期間にわたる物理環境内の入力コントローラの第2の6DOFの動きを示す第2の動きデータを受信することを含み得る。当該方法はさらに、第2の動きデータを受信したことに応答して、処理回路が、オブジェクト動き操作を実行して仮想環境内のオブジェクトのスケーリングされた動きを生成することを含み得、オブジェクト動き操作は、第2の6DOFの動きに対応する仮想環境内のオブジェクトの動きにスケーリング係数を掛けて、仮想環境内のオブジェクトのスケーリングされた動きを生成することを含む。
1つ以上の実現例の詳細を添付の図面および以下の説明に記載する。その他の特徴は、説明および図面から、ならびに特許請求の範囲から明らかであろう。
例示的な実現例に係る入力コントローラの第1の6DOFの位置を示す図である。 例示的な実現例に係る入力コントローラの第2の6DOFの位置を示す図である。 例示的な実現例に係る例示的な6DOFの動きおよびスケーリング係数を示す図である。 本明細書に記載される実現例に従うヘッドマウントディスプレイおよびハンドヘルド電子装置を含む仮想現実システムの例示的な実現例の図である。 本明細書に記載される実現例に従う例示的なヘッドマウントディスプレイデバイスの斜視図である。 本明細書に記載される実現例に従う例示的なヘッドマウントディスプレイデバイスの斜視図である。 本明細書に記載される実現例に従う例示的なハンドヘルド電子装置を示す図である。 本明細書に記載される実施形態に従うヘッドマウント電子装置およびハンドヘルド電子装置のブロック図である。 本明細書に記載される実施形態に従うヘッドマウント電子装置およびハンドヘルド電子装置のブロック図である。 例示的な実現例に係る仮想現実システムの動作を示すフローチャートの図である。 本明細書に記載される実現例に従う拡張および/または仮想現実環境におけるユーザおよび/または仮想特徴の動きおよびスケーリングを示す第三者視点図である。 本明細書に記載される実現例に従う拡張および/または仮想現実環境におけるユーザおよび/または仮想特徴の動きおよびスケーリングを示す第三者視点図である。 本明細書に記載される実現例に従う拡張および/または仮想現実環境におけるユーザおよび/または仮想特徴の動きおよびスケーリングを示す第三者視点図である。 本明細書に記載される実現例に従う拡張および/または仮想現実環境におけるユーザおよび/または仮想特徴の動きおよびスケーリングを示す第三者視点図である。 本明細書に記載される技術を実現するために用いられ得るコンピュータデバイスおよびモバイルコンピュータデバイスの例を示す図である。
詳細な説明
たとえばヘッドマウントディスプレイ(head mounted display:HMD)デバイスを装着して拡張および/または仮想現実環境に没入しているユーザは、仮想環境(たとえば3次元(3D)仮想環境)を探検することができ、多種多様な入力を通して仮想環境と対話することができる。仮想環境への言及は、仮想要素によって拡張された物理環境を含み得る。これらの入力は、たとえば物理的な対話を含み得る。物理的な対話は、たとえば、HMDとは別の入力コントローラなどの電子装置の操作、電子装置の動き、電子装置のタッチセンシティブ面に触れることなどに基づいて電子装置によって発せられる光線もしくはビームおよび/もしくは仮想環境でレンダリングされる仮想ビームを介するなどした電子装置の操作、ならびに/またはHMD自体の操作、ならびに/または手/腕のジェスチャ、頭部の動きおよび/もしくは頭部および/もしくは目の方向性の注視などを含む。ユーザは、これらのさまざまなタイプの対話の1つ以上を実践して、たとえば、仮想環境の中を動くこと、および、仮想環境の第1の領域から仮想環境の第2の領域に、または第1の仮想環境から第2の仮想環境に移動、移行、またはテレポートすることなど、仮想環境において特定のアクションを実行することができる。
本明細書に開示される仮想環境におけるオブジェクトの動きを制御する技術は、ユーザが持っている入力コントローラの以前の動きに基づいて生成されたスケーリング係数に基づいて仮想環境におけるオブジェクトの動きを定義することを伴う。この観点に沿って、ユーザは、6自由度(6DOF)の動き経路に沿って入力コントローラを動かして第1の動きデータを生成する。この6DOFの動き経路に基づいて、コンピューティングシステムは、次の動作で用いられるジッタ減少量を示すスケーリング係数を生成する。したがって、新たな6DOFの動き経路を示す第2の動きデータを受信したことに応答して、コンピューティングシステムは、オブジェクト動き操作を実行して、仮想環境におけるオブジェクトのスケーリングされた動きを生成する。
図1Aおよび図1Bは、例示的な実現例に係るハンドヘルド入力コントローラの6自由度(6DOF)の位置を示す図である。ユーザは、ハンドヘルド入力コントローラ12を用いてさまざまなジェスチャまたは動きを実行して、たとえばHMDを介してユーザに提示され得る仮想環境と対話することができる。入力コントローラ12の使用中または操作中、入力コントローラ12の状態は時間とともに変化し得る。入力コントローラ12の状態は、3次元の位置座標(x、yおよびz座標)によって識別され得る入力コントローラ12の位置(または場所)と、入力コントローラの角位置(ピッチ、ヨー、ロール)または向きの方向(たとえば、入力コントローラ12がどの方向を向いているか)であり得る入力コントローラ12の向きとの、少なくとも一方(または両方)を含み得る。たとえば、入力コントローラ12の向きは、入力コントローラ12が向けられている単位球面上の点として識別され得る。たとえば、時間t1では、入力コントローラ12は、位置(x1,y1,z1)および向き1の向きを含み得る状態1であり得る。時間t2では、入力コントローラ12は動いており、位置2(x2,y2,z2)および向き2の向きを含む状態2になっている。
場合によっては、物理環境10における入力コントローラ12の比較的小さい動き(たとえば小さい状態の変化)によって、仮想環境における大きい、場合によっては意図しない動きまたは変化が生じる場合がある。たとえば、ユーザは、入力コントローラ12上のボタンまたはトリガを選択してまたは作動させて入力コントローラ12から光線を発生または生成することができ、当該光線は仮想環境における建物または動かすべきその他のオブジェクトに向けられ得る。しかし、入力コントローラの小さい(たとえば意図しない)動き(たとえば、震えている手、または少し不安定な手)によって、仮想環境における光線の先端、またはコントローラ12からより離れた位置にあり得る建物もしくはオブジェクトの大きい動きが生じる場合がある。物理環境における入力コントローラのこれらの比較的小さい動きは、ジッタと同様であり得るか、または意図しない動きもしくは震えであり得る。たとえば、仮想環境に登録されることになる物理環境における入力コントローラ12の少なくともいくらかの動きをフィルタリングするまたは減衰させる(たとえば減少させる)ことによって、入力コントローラを安定させることが望ましい場合がある。
例示的な実現例によると、スケーリング係数(または重み係数)が求められ得る。そして、たとえば、物理環境における入力コントローラ12の動き(または状態の変化)の一部のみが、スケーリング係数に基づいて仮想環境に登録され得る。入力コントローラの動きを(たとえば仮想現実システムまたはHMDの内部で)仮想環境に登録することは、たとえば、仮想環境における入力コントローラ12の動きを表示すること、または物理環境における入力コントローラ12の動きに基づいて仮想環境の変化を表示すること、または物理環境における入力コントローラ12の動きに基づいて仮想環境の変化を処理することを含み得る。このように、物理環境における入力コントローラ12の動きの一部のみを(たとえばスケーリング係数に基づいて)仮想環境に登録することによって、たとえば物理環境における入力コントローラ12の少なくともいくらかの動きについて、入力コントローラ12の動き(もしくは物理環境における入力コントローラ12の動きの結果)を安定させることができ、および/またはジッタもしくは入力コントローラの不安定性を減少させることができる。
例示的な実現例によると、仮想環境に登録される物理環境における入力コントローラ12の動きを減衰または減少させるために用いられ得る、少なくとも1つのフィルタが設けられ得る。例示的な実現例によると、当該フィルタは、たとえば0から1のスケーリング係数(重み係数とも称され得る)を含み得る。例示的な実現例によると、スケーリング係数は、入力コントローラ12の最初の状態からの物理環境における入力コントローラの累積的な動き量(たとえば累積的な状態の変化)に基づいて選択され得るかまたは求められ得る。たとえば、入力コントローラ12の最初の状態(たとえば、最初の位置および/または最初の向きを含む)は、ユーザが入力コントローラ12を用いてジェスチャを開始すると求められ得る。新たなジェスチャが開始されると、別の最初の状態が求められる。ジェスチャは、たとえば、説明的な例として、入力コントローラ12上の入力、ボタンもしくはトリガが選択もしくは作動されると、または入力コントローラを用いる素早い動きもしくは特定の動きが始まると開始され得る。
本明細書に記載される減衰または安定化技術は、アクティブなジェスチャの間はアクティブであり得、たとえば、ジェスチャの開始時に入力コントローラ12の最初の状態が求められた後に開始し得る。したがって、本明細書に記載される減衰または安定化技術は、たとえば、ユーザがトリガを押してまたはボタンを作動させて/押下して、たとえばドラッグするまたは動かすオブジェクトを選択した後にアクティブ(または動作中)となり得る。したがって、本明細書に記載される減衰または安定化技術は、ユーザがトリガを押して(またはその他の選択を行なって)入力コントローラを(たとえば)ドラッグモードにすると、または仮想環境におけるオブジェクトを操作もしくは制御するためのその他のモードにすると、アクティブになり得る。入力コントローラ12を用いて仮想環境におけるオブジェクトを動かすまたは操作する場合、これによって、物理環境における入力コントローラの物理的な動きに基づいて(たとえばフィルタの使用またはスケーリング係数に基づいて)動きを仮想環境に登録する際の時間の遅延(またはずれ)に基づいて、操作またはドラッグされているオブジェクトの重みをシミュレートできるという付加的な利点も提供され得る。
物理環境における入力コントローラ12の累積的な動き(または累積的な動き量)は、たとえば、入力コントローラ12の最初の状態から物理環境において入力コントローラ12によって起こった動きの量として求められ得る。したがって、たとえば、累積的な動きは、最初の状態からの(たとえばジェスチャが開始してからの)入力コントローラ12の累積的な状態の変化を含み得る。累積的な動き(または累積的な動き量)は、たとえば、物理環境における入力コントローラ12の最初の状態と、物理環境における入力コントローラ12の現在の状態とに基づく、物理環境における入力コントローラの累積的な状態の変化として求められ得る。たとえば、単純な例では、累積的な状態の変化は、入力コントローラの最初の状態から入力コントローラの現在の状態を引くことによって求められ得る。
別の例示的な例では、向きの変化は、物理環境における入力コントローラ12の2つの向き(第1の向きおよび第2の向き)の間の角度または位相の線形変化として求められ得る。同様に、物理環境における入力コントローラ12の位置の(第1の位置から第2の位置までの)変化は、たとえば、入力コントローラ12の2つの位置(たとえば位置2、位置1)の間の直線距離として求められ得る。したがって、たとえば、物理環境における入力コントローラ12の第1の位置が位置1(x1,y1,z1)であり、第2の位置が位置2(x2,y2,z2)である場合は、入力コントローラ12の直線距離(位置の変化)は2乗の合計の平方根として求められ得る:
Figure 0006929361
例示的な実現例によると、ジッタを減少させるために、または入力コントローラの安定化を助けるために、最初の状態からの物理環境における入力コントローラ12の6DOFの動き(の量)に応じて、さまざまなスケーリング係数が用いられ得る。たとえば、6DOFの動きが小さいまたは閾値未満である場合は低い(または小さい)スケーリング係数が用いられ得るが、物理環境における入力コントローラ12の6DOFの動きが閾値よりも大きい場合は高い(または大きい)スケーリング係数が用いられ得る。たとえば、6DOFの動きが第1の閾値未満(たとえば3インチ未満)である場合はスケーリング係数0.2が用いられ得、6DOFの動きが第1の閾値よりも大きい場合はスケーリング係数0.6が用いられ得る。追加の閾値および追加のスケーリング係数が用いられてもよい。これらは単にいくつかの例示的なスケーリング係数であり、その他のスケーリング係数が用いられてもよい。これらは、スケーリング係数が固定しているまたは静的である静的フィルタまたは静的スケーリング係数のいくつかの例である。しかし、たとえば、6DOFの動きが変化するにつれてスケーリング係数が線形にまたは非線形に変化する、たとえば増加する場合は、動的フィルタまたは動的スケーリング係数も用いられてもよい。
図1Cは、例示的な実現例に係る例示的なフィルタおよびスケーリング係数を示す図である。図1Cに示される例は、3つのフィルタの使用を示している。したがって、たとえば、図1Cの説明的な例に示されるように、距離A(たとえば8センチメートル)未満である物理環境における入力コントローラ12の累積的な動きまたは累積的な状態の変化については、固定/静的スケーリング係数N(たとえば0.2)を有する静的フィルタ20が用いられる。距離BとC(たとえば8センチメートルと20センチメートル)の間の入力コントローラの6DOFの動きについては、NとM(たとえば0.2と0.6)の間で変化する線形変化スケーリング係数を有する動的フィルタ22が用いられる。そして、C(たとえば20センチメートル)よりも大きい物理環境における入力コントローラの6DOFの動きについては、静的/固定スケーリング係数F(たとえば0.6)を有する静的フィルタ24が用いられる。
このように、物理環境における(入力コントローラ12のジッタまたは意図しない揺れなどの小さな動きについては、入力コントローラ12の動きまたは状態の変化は典型的に小さくなり、たとえば第1の閾値(たとえば3インチ)未満となり、物理環境における入力コントローラの第1の6DOFの動きの20%(スケーリング係数=0.2に基づく)のみが仮想環境に登録されることになる。6DOFの動き(たとえば、最初の状態からの入力コントローラ12の位置または向きの変化)が増加するにつれて(たとえば8cmよりも大きくなるまたは20cmよりも大きくなると)、コントローラ減衰のために用いられるスケーリング係数は(動的フィルタ22または静的フィルタ24のいずれかを介して)増加するため、入力コントローラ12のより大量の6DOFの動きが登録されることになる。上述のように、6DOFの動きは、現在のまたは最近の期間にわたる物理環境における入力コントローラ12の6DOFの位置の変化(たとえば、最後のフレームがHMDのディスプレイに表示されてからの物理環境における入力コントローラ12の位置の変化または向きの変化)であり得る。
入力コントローラ12の現在の6DOFの位置の変化は、たとえば、物理環境における入力コントローラの現在の6DOFの位置(たとえば現在の位置または現在の向き)に基づいて、かつ物理環境における入力コントローラの(以前の期間、以前のサンプリング期間、または以前のフレーム中の)以前の6DOFの位置に基づいて(または以前の6DOFの位置に対して)、物理環境における入力コントローラ12の現在の6DOFの位置の変化(たとえば現在の位置または向きの変化)を求めることによって求められ得る。たとえば、現在の6DOFの位置の変化は、現在のおよび以前の6DOFの位置の(x、yまたはz軸内の)2つの対応する位置値を引くことによって求められ得る。入力コントローラ12の6DOFの位置の変化は、(たとえば入力コントローラを用いるジェスチャの開始であり得る)最初の6DOFの位置からの入力コントローラ12の6DOFの位置の変化として求められ得、最初の6DOFの位置は以前の6DOFの位置よりも前であり得る。ジェスチャの開始時あたりでは、以前の6DOFの位置および最初の6DOFの位置は同一のDOFの位置であり得る。したがって、6DOFの動きは、たとえば、入力コントローラの最初の6DOFの位置および入力コントローラの現在の6DOFの位置に基づいて物理環境における入力コントローラ12の6DOFの位置の変化を求めることによって求められ得、現在の動きまたは現在の状態の変化は、たとえば、入力コントローラの以前の6DOFの位置および入力コントローラの現在の6DOFの位置に基づいて求められ得る。
例示的な実現例によると、スケーリング係数は、現在の動き(たとえば、最近のもしくは現在の期間にわたる物理環境における入力コントローラ12の動き)、または現在の6DOFの位置の変化(たとえば、HMD上の最後のフレームの表示からの入力コントローラ12の状態の変化などの、入力コントローラ12の位置の変化または向きの変化)のどれくらいが仮想環境に登録されるかを決定し得る。一例では、スケーリング係数に物理環境における現在の6DOFの位置の変化または現在の動きを掛けて、仮想環境に登録されることになる6DOFの位置の変化の量または入力コントローラ12の動きの量が求められ得る。たとえば、入力コントローラ12が現在のまたは最近の期間中に(たとえば最後のフレームから)x=0からx=3cmまで右に動いており、0.2のスケーリング係数が選択されている場合は、入力コントローラの動き=(スケーリング係数)(現在の位置の変化)=(0.2)(3cm)=仮想環境における.6cmの動きを意味する。つまり、x軸における.6cmの入力コントローラの動きが仮想環境に登録されることになる。
例示的な実現例では、仮想環境に登録されることになる6DOFの位置の変化(たとえば位置の変化または向きの変化)の量は、入力コントローラ12の現在の6DOFの位置と以前の6DOFの位置との間で(スケーリング係数に基づいて)重み付けられた線形補間を実行することによって求められ得る。スケーリング係数が小さいほど、補間は以前の状態を優先してより重く重み付けられる(その結果、現在の動きのより少ない量または以前の状態からの現在の6DOFの位置の変化のより少ない量が仮想環境に登録される)ことを意味し、スケーリング係数が大きいほど、補間は現在の6DOFの位置を優先してより重く重み付けられる(その結果、現在の動きまたは現在の状態の変化のより多い量が仮想環境に登録される)ことを意味する。したがって、たとえば、小さい累積的な動き/6DOFの位置の変化については大きいスケーリング係数を用いて、仮想環境に登録されるいずれの現在の動きも減衰または減少させることができる。また、物理環境における入力コントローラ12の累積的な動きまたは6DOFの位置の累積的な変化が増加するにつれて、たとえばより大きいスケーリング係数を使用または選択して減衰を減少させることができるため、物理環境における入力コントローラの現在の動きまたは現在の6DOFの位置の変化のより多くを仮想環境に登録することができる。入力コントローラ12の6DOFの位置の累積的な変化を求め、入力コントローラの現在の6DOFの位置の変化を求め、スケーリング係数を求め、スケーリング係数に基づいて現在の動きまたは現在の6DOFの位置の変化の一部を登録する処理は、フレーム毎に繰返され得る(または、HMDを介してユーザに表示されるフレーム毎に繰返され得る)。
図2に示される例示的な実現例では、HMD100を装着しているユーザが、携帯型ハンドヘルド電子装置102を持っている。入力コントローラとも称され得るハンドヘルド電子装置102は、たとえば、HMD100が生成する没入型仮想環境での対話のためにHMD100とペアリングされ得るかもしくはHMD100と通信し得るスマートフォン、コントローラ、ジャイロマウス、ジョイスティック、またはその他の携帯型ハンドヘルド電子装置であってもよい。ハンドヘルド電子装置102は、たとえば、有線接続、またはたとえばWiFiもしくはブルートゥース(登録商標)接続などの無線接続を介して、HMD100に作動的に結合され得るかまたはHMD100とペアリングされ得る。ハンドヘルド電子装置102とHMD100とのこのペアリングまたは作動的な結合は、ハンドヘルド電子装置102とHMD100との間の通信およびデータ交換を提供し得、ハンドヘルド電子装置102が、HMD100が生成する没入型仮想環境で対話するコントローラとして機能することを可能にし得る。すなわち、たとえば、選択する仮想オブジェクトもしくは特徴に向けて方向付けられたハンドヘルド電子装置102によって発せられる仮想ビームもしくは光線を生成するためのハンドヘルド電子装置102の操作、および/またはハンドヘルド電子装置102のタッチ面上で受信する入力、および/またはハンドヘルド電子装置102の動きは、HMD100が生成する没入型仮想環境における対応する選択、または動き、またはその他のタイプの対話に変換され得る。たとえば、HMD100は、ハンドヘルド電子装置102とともに、上述のような仮想環境を生成し得、ハンドヘルド電子装置102は、上述のような仮想環境における仮想特徴に対してユーザのスケールまたは視点の変更をもたらすように操作され得る。
図3Aおよび図3Bは、たとえば図1のユーザが装着しているHMD100のような例示的なHMDの斜視図であり、図3Cは、たとえば図1に示されるハンドヘルド電子装置102のような例示的なハンドヘルド電子装置を示す。
ハンドヘルド電子装置102は、装置102の内部部品が収容される筐体103と、ユーザがアクセスできる、筐体103の外側のユーザインターフェイス104とを含み得る。ユーザインターフェイス104は、ユーザタッチ入力を受信するように構成されたタッチセンシティブ面106を含み得る。ユーザインターフェイス104は、たとえば、作動ボタン、ノブ、ジョイスティックなどの、ユーザが操作するその他の部品も含み得る。いくつかの実現例では、ユーザインターフェイス104の少なくとも一部はタッチスクリーンとして構成され得、ユーザインターフェイス104のその一部は、ユーザインターフェイス項目をユーザに対して表示するように、かつタッチセンシティブ面106上でユーザからのタッチ入力を受信するように構成される。ハンドヘルド電子装置102はさらに、筐体103のポートを通って選択的に発光するように構成された光源108と、ユーザが操作可能なその他の操作装置105とを含み得る。
HMD100は、フレーム120に結合された筐体110を含み得、さらに、たとえばヘッドフォンに搭載されたスピーカを含む音声出力装置130がフレーム120に結合されている。図3Bにおいて、筐体110の前部110aは、筐体110に収容されている部品の一部が見えるように、筐体110の基部110bから回転させられている。ディスプレイ140が、筐体110の前部110aの内部に面する側に装着されてもよい。レンズ150が、筐体110の内部において、前部110aが筐体110の基部110bに対して閉じられた位置にあるときにユーザの目とディスプレイ140との間になるように装着されてもよい。いくつかの実現例では、HMD100は、さまざまなセンサを含む検知システム160と、プロセッサ190およびHMD100の操作を容易にするさまざまな制御システム装置を含む制御システム170とを含み得る。
いくつかの実現例では、HMD100は、静止画および動画を撮影するカメラ180を含み得る。カメラ180が撮影した画像は、現実世界におけるユーザおよび/もしくはハンドヘルド電子装置102の物理的な位置の追跡を助けるために用いられてもよく、ならびに/またはユーザに対してパススルーモードでディスプレイ140に表示することで、ユーザが、HMD100を外すことなく、そうでなければHMD100の構成を変更して筐体110を動かしてユーザの視線から外すことなく、仮想環境を一時的に出て物理環境に戻ることができるようにしてもよい。
いくつかの実現例では、HMD100は、ユーザの目の注視を検出して追跡する注視追跡装置165を含み得る。注視追跡装置165は、たとえば瞳孔などのたとえばユーザの目の特定の部分などのユーザの目の画像を撮影して、ユーザの注視の方向および動きを検出して追跡する、たとえば1つまたは複数の画像センサ165Aを含み得る。いくつかの実現例では、HMD100は、検出された注視が、没入型仮想体験における対応する対話に変換されることになるユーザ入力として処理されるように構成され得る。
拡張および/または仮想現実環境におけるテレポーテーションおよびスケーリングを提供するシステムのブロック図を図4Aに示す。当該システムは、第2の電子装置402と通信する第1の電子装置400を含み得る。第1の電子装置400は、たとえば、没入型仮想環境を生成する、図2、図3Aおよび図3Bに関して上述したようなHMDであってもよく、第2の電子装置402は、たとえば、第1の電子装置400と通信して、第1の電子装置400が生成する没入型仮想環境とのユーザ対話を容易にする、図2および図3Cに関して上述したようなハンドヘルド電子装置であってもよい。
第1の電子装置400は、検知システム460および制御システム470を含み得る。これらのシステムは、図3Aおよび図3Bに示される検知システム160および制御システム170とそれぞれ同様であってもよい。検知システム460は、たとえば、光センサ、音声センサ、画像センサ、距離/近接センサ、ならびに/または、たとえば、図3Bに示される注視追跡装置165などの、ユーザの目の注視を検出して追跡するように位置決めされた画像センサを含む、その他のセンサおよび/もしくはセンサの各種組合せを含む、1つ以上の異なるタイプのセンサを含み得る。制御システム470は、たとえば、電源/停止制御装置、音声およびビデオ制御装置、光学制御装置、遷移制御装置、ならびに/またはその他のこのような装置および/もしくは装置の各種組合せを含み得る。検知システム460および/または制御システム470は、特定の実現例に応じて、より多いまたはより少ない装置を含んでもよい。検知システム460および/または制御システム470に含まれる要素は、たとえば、図3Aおよび図3Bに示されるHMD100以外のHMDの内部に、異なる物理的な配置(たとえば物理的な位置)を有してもよい。第1の電子装置400はさらに、検知システム460および制御システム470と通信するプロセッサ490と、メモリ480と、第1の電子装置400とたとえば第2の電子装置402などの別の外部装置との間の通信を提供する通信モジュール450とを含み得る。
プロセッサ490は、1つ以上の処理チップおよび/またはアセンブリを含む。メモリ480は、揮発性メモリ(たとえばRAM)と、1つ以上のROM、ディスクドライブ、ソリッドステートドライブなどの不揮発性メモリとの両方を含む。プロセッサ490およびメモリ480はともに制御回路を形成し、当該制御回路は、本明細書に記載されているようなさまざまな方法および機能を実行するように構成および配置される。いくつかの実現例では、第1の電子装置400のコンポーネントの1つ以上は、メモリ480に記憶された命令を処理するように構成されたプロセッサ(たとえばプロセッサ490)であってもよく、または当該プロセッサを含んでもよい。
図4Bは、第1の電子装置400のメモリ480のより詳細な図を示す。図4Bは、メモリ480に記憶された例示的な命令を示しており、メモリ480は、累積的な動きデータマネージャ481と、スケーリング係数マネージャ483と、現在の動きデータマネージャ485と、オブジェクト動きマネージャ487とを含む。さらに、図1に示されるように、メモリ480はさまざまなデータを記憶するように構成され、当該データは、このようなデータを用いるそれぞれのマネージャに関して記載される。
以前の動きデータマネージャ481は、ユーザが居る物理環境内のユーザが持っている入力コントローラの第1の6DOFの動きを示す累積的な動きデータ482を受信するように構成される。たとえば、以前の動きデータ482は、所与の時間間隔にわたる最初の6DOFの位置および最後の6DOFの位置を表わし得る。いくつかの実現例では、以前の動きデータ482はユークリッド長を表わし得る。
スケーリング係数マネージャ483は、以前の動きデータ482に基づいて、スケーリング係数を含むスケーリング係数データ484を生成するように構成される。たとえば、スケーリング係数マネージャ483は、いくつかの実現例では、図1Bに示されるようにスケーリング係数を生成するように構成される。いくつかの実現例では、スケーリング係数マネージャ483は、図1Bに示されるように2つの閾値ではなく1つの閾値に基づいてスケーリング係数を生成するように構成される。いくつかの実現例では、スケーリング係数マネージャ483は、空間変位に加えて、または空間変位の代わりに、角変位に基づいてスケーリング係数を生成するように構成される。
現在の動きデータマネージャ485は、ユーザが居る物理環境内のユーザが持っている入力コントローラの第2の6DOFの動きを示す現在の動きデータ486を受信するように構成される。たとえば、現在の動きデータ486は、ジェスチャの開始時の6DOFの位置およびジェスチャの終了時の最後の6DOFの位置を表わし得る。いくつかの実現例では、現在の動きデータ486はユークリッド長を表わし得る。
オブジェクト動きマネージャ485は、現在の動きデータ486を受信したことに応答して、オブジェクト動き操作を実行してオブジェクト動きデータ488を生成するように構成され、これは、スケーリング係数データ484に基づいて現在の動きデータ488によって表わされるような第2の6DOFの動きの一部である。
図4Aに戻って、第2の電子装置402は、第2の電子装置402とたとえば第1の電子装置400などの別の外部装置との間の通信を提供する通信モジュール406を含み得る。第1の電子装置400と第2の電子装置402との間のデータ交換を提供するのに加えて、通信モジュール406は、上述のような光線またはビームを発して電子信号を通信するようにさらに構成されてもよい。第2の電子装置402は検知システム404を含み得る。検知システム404は、たとえばカメラおよびマイクに含まれるような、画像センサおよび音声センサ、たとえば加速度計および/またはジャイロスコープおよび/または磁気計を含む慣性測定装置、ハンドヘルド電子装置またはスマートフォンのタッチセンシティブ面に含まれるようなタッチセンサ、ならびにその他のこのようなセンサおよび/またはセンサの各種組合せを含む。プロセッサ409は、第2の電子装置402の検知システム404およびコントローラ405と通信し得、コントローラ405はメモリ408へのアクセスを有し、第2の電子装置402の全体的な動作を制御する。
上述のように、たとえば上記のハンドヘルド電子装置102のようなコントローラが、仮想環境における対話およびナビゲーションのためにユーザによって操作され得る。仮想環境内をナビゲートする際、ユーザはハンドヘルド電子装置102を選択すべき仮想特徴に向けて方向付け得るか、または向け得、たとえばハンドヘルド電子装置102のセンサが生成する向き情報に基づいて、仮想ビームが当該システムによって生成されて、ユーザが選択すべき仮想特徴および/または場所が識別され得る。いくつかの実現例では、光源108は光線またはビームを選択すべき仮想特徴または項目に向けて方向付け得、光源108が生成する光線またはビームはシステムによって(たとえばHMD100上のカメラによって)検出され得、検出された光線またはビームのレンダリングが、仮想特徴を選択するために仮想環境においてユーザに表示され得る。
図5は、例示的な方法500を示すフローチャートである。方法500は、第1の電子装置400のメモリ480内にあり、かつプロセッサ490によって実行される、図4Aおよび図4Bに関連して説明したソフトウェア構造体によって実行され得る。
502において、第1の電子装置400は、ユーザが居る物理環境内のユーザが持っている入力コントローラの第1の6自由度(6DOF)の動きを示す以前の動きデータを受信する。
504において、第1の電子装置400は、物理環境内の入力コントローラの第1の6DOFの動きに基づいてスケーリング係数を生成する。
506において、累積的な動きデータを受信した後、第1の電子装置400は、ある期間にわたる物理環境内の入力コントローラの第2の6DOFの動きを示す現在の動きデータを受信する。
508において、現在の動きデータを受信したことに応答して、第1の電子装置400は、オブジェクト動き操作を実行して、ユーザがディスプレイ上で見る仮想環境内のオブジェクトの6DOFの動きを生成する。仮想環境内のオブジェクトの6DOFの動きは、スケーリング係数に基づく入力コントローラの第2の6DOFの動きの一部である。
図6Aに示されるように、仮想環境内の位置A(仮想位置と称され得る)にいる仮想環境内のユーザは、たとえば、図6Bに示されるように、上述のようなハンドヘルド電子装置102が生成する仮想ビームを、仮想位置Bにある仮想特徴650に向けて方向付けることによって、仮想環境内の位置B(仮想位置とも称され得る)に移動することを選択し得る。たとえば、仮想位置Bにある仮想特徴650に向けてビームを方向付けるボタンを離すなど、ハンドヘルド電子装置102をさらに操作すると、図6Cに示されるように、ユーザは仮想位置Bに移され得るか、またはテレポートされ得るか、または移送され得る。図6A〜図6Cに示される例では、ユーザは、上述のように仮想環境における仮想特徴に対して自身のスケールまたは視点を調整することを選択していない。したがって、この例では、ユーザは、仮想位置Aにおける場合と(仮想環境における特徴に対して)本質的に同一のスケールで、仮想位置Bに移されるか、またはテレポートされるか、または移送される。
いくつかの実現例では、たとえばハンドヘルド電子装置102を介したユーザによる入力に応答した仮想位置Aから仮想位置Bへのユーザの移動は本質的に即時であってもよく、ユーザは、ある瞬間には仮想位置Aにいて、次の瞬間には仮想位置Bにいるため、仮想位置Aから仮想位置Bへの移動を実質的に即時であるとユーザに感じさせることができる。いくつかの実現例では、ユーザは、仮想位置Aから仮想位置Bまで実際に空中をおよび/または地形の上を移動しているかのように、仮想位置Aから仮想位置Bへのユーザの移動の動的な仮想アニメーション化を体験するため、仮想位置Aから仮想位置Bに移動する際に、より連続的な仮想体験をユーザに提供することができる。
いくつかの実現例では、仮想位置Aから仮想位置Bへのユーザの移動が実質的に即時であるか、ユーザが仮想位置Aから仮想位置Bに移動する際に動的な仮想アニメーション化を体験するかにかかわらず、ユーザは、仮想位置Bに到着して、急に止まるのではなくゆっくりと止まることができる。この(急な到着、または停止ではなく)ゆっくりとした停止は、仮想位置Aから仮想位置Bに移動する際にユーザの勢いの感覚を維持することができ、仮想位置Bにおける仮想環境へのより自然な移行をユーザに与えることができる。
いくつかの状況では、ユーザは、仮想環境における仮想特徴に対して自身のスケールを増減させること、またはユーザに対して仮想環境における仮想特徴のサイズをスケーリングする(すなわち増減させる)ことを望む場合がある。この仮想環境に対するユーザのサイズの仮想的なスケーリング、またはユーザに対する仮想環境における仮想特徴の仮想的なスケーリングは、仮想環境における第1の仮想位置または場所から第2の仮想位置または場所に移動しながら行なうことができるため、ユーザの視点または視野をユーザの選択に応じてスケーリングまたは調整することができる。ユーザの視点または視野が新たに選択されたスケーリングされたサイズにスケーリングされるように、ユーザが第1の仮想位置から第2の仮想位置に移動(たとえばテレポート、移送)することを可能にする、および/またはユーザが仮想環境の仮想特徴に対してユーザのサイズをスケーリングする(もしくはユーザに対して仮想環境における仮想特徴のサイズをスケーリングする)ことを可能にする仮想現実システムの例示的な実現例を図5Aに示す。
図6Dに示されるように、第2の仮想位置Bにある特徴650に対して第1の仮想位置Aに位置しているユーザは、たとえば、ハンドヘルド電子装置102を操作して、ユーザが第2の位置Bにある特徴650に移動することを望んでいることを示すことができる。このハンドヘルド電子装置102の操作によって、たとえば、当該装置は第2の仮想位置Bにある特徴650に焦点を合わせたビーム600を生成して、ユーザが選択された特徴650に対応する第2の仮想位置Bに移動(たとえばテレポート、移送)することを望んでいることを示すことができる。
図7は、本明細書に記載される技術とともに用いられ得る一般的なコンピュータデバイス700および一般的なモバイルコンピュータデバイス750の例を示す。コンピューティングデバイス700は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、テレビ、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピューティングデバイスといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。コンピューティングデバイス750は、携帯情報端末、携帯電話、スマートフォン、およびその他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示されるコンポーネント、それらの接続および関係、ならびにそれらの機能は、単なる例示であるよう意図されており、本文書に記載のおよび/または請求項に記載の本発明の実現例を限定するよう意図されてはいない。
コンピューティングデバイス700は、プロセッサ702と、メモリ704と、記憶装置706と、メモリ704および高速拡張ポート710に接続する高速インターフェイス708と、低速バス714および記憶装置706に接続する低速インターフェイス712とを含む。プロセッサ702は半導体ベースのプロセッサであってもよい。メモリ704は半導体ベースのメモリであってもよい。コンポーネント702,704,706,708,710および712の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたはその他の態様で適宜搭載されてもよい。プロセッサ702は、コンピューティングデバイス700内で実行される命令を処理可能であり、これらの命令は、GUIのためのグラフィカル情報を、高速インターフェイス708に結合されたディスプレイ716などの外部入出力装置上に表示するために、メモリ704内または記憶装置706上に記憶された命令を含む。その他の実現例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。また、複数のコンピューティングデバイス700が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
メモリ704は、情報をコンピューティングデバイス700内に記憶する。一実現例では、メモリ704は1つまたは複数の揮発性メモリユニットである。別の実現例では、メモリ704は1つまたは複数の不揮発性メモリユニットである。メモリ704はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能な媒体であってもよい。
記憶装置706は、コンピューティングデバイス700のための大容量記憶を提供可能である。一実現例では、記憶装置706は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくはその他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能な媒体であってもよく、または当該コンピュータ読取可能な媒体を含んでもよい。コンピュータプログラム製品が情報担体において有形に具体化され得る。コンピュータプログラム製品はまた、実行されると上述の方法などの1つ以上の方法を行なう命令を含んでもよい。情報担体は、メモリ704、記憶装置706、またはプロセッサ702上のメモリといった、コンピュータ読取可能な媒体または機械読取可能な媒体である。
高速コントローラ708はコンピューティングデバイス700のための帯域幅集約的な動作を管理し、一方、低速コントローラ712はより低い帯域幅集約的な動作を管理する。機能のこのような割当ては例示にすぎない。一実現例では、高速コントローラ708は、メモリ704、ディスプレイ716に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)、および、さまざまな拡張カード(図示せず)を受付け得る高速拡張ポート710に結合される。この実現例では、低速コントローラ712は、記憶装置706および低速拡張ポート714に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力装置に、または、スイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
コンピューティングデバイス700は、図に示されるように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ720として、またはこのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム724の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ722などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス700からのコンポーネントは、デバイス750などのモバイルデバイス(図示せず)におけるその他のコンポーネントと組合されてもよい。このようなデバイスの各々は、コンピューティングデバイス700,750のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス700,750で構成されてもよい。
コンピューティングデバイス750は、数あるコンポーネントの中でも特に、プロセッサ752と、メモリ764と、ディスプレイ754などの入出力デバイスと、通信インターフェイス766と、送受信機768とを含む。デバイス750にはまた、追加の記憶を提供するために、マイクロドライブまたはその他のデバイスなどの記憶装置が設けられてもよい。コンポーネント750,752,764,754,766および768の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたはその他の態様で適宜搭載されてもよい。
プロセッサ752は、メモリ764に記憶された命令を含む、コンピューティングデバイス750内の命令を実行可能である。当該プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス750が実行するアプリケーション、およびデバイス750による無線通信の制御といった、デバイス750のその他のコンポーネント同士の連携を提供してもよい。
プロセッサ752は、ディスプレイ754に結合された制御インターフェイス758およびディスプレイインターフェイス756を介してユーザと通信してもよい。ディスプレイ754は、たとえば、TFT LCD(Thin-Film-Transistor Liquid Crystal Display:薄膜トランジスタ液晶ディスプレイ)、またはOLED(Organic Light Emitting Diode:有機発光ダイオード)ディスプレイ、またはその他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス756は、ディスプレイ754を駆動してグラフィカル情報およびその他の情報をユーザに提示するための適切な回路を含んでもよい。制御インターフェイス758は、ユーザからコマンドを受信し、それらをプロセッサ752に送出するために変換してもよい。加えて、デバイス750とその他のデバイスとの近接通信を可能にするように、外部インターフェイス762がプロセッサ752と通信した状態で設けられてもよい。外部インターフェイス762は、たとえば、いくつかの実現例では有線通信を提供してもよく、または他の実現例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
メモリ764は、情報をコンピューティングデバイス750内に記憶する。メモリ764は、1つもしくは複数のコンピュータ読取可能な媒体、1つもしくは複数の揮発性メモリユニット、または、1つもしくは複数の不揮発性メモリユニットの1つ以上として実現されてもよい。拡張メモリ774も設けられ、拡張インターフェイス772を介してデバイス750に接続されてもよく、拡張インターフェイス772は、たとえばSIMM(Single In Line Memory Module)カードインターフェイスを含んでもよい。このような拡張メモリ774は、デバイス750に余分の記憶スペースを提供してもよく、または、デバイス750のためのアプリケーションもしくは他の情報も記憶してもよい。具体的には、拡張メモリ774は、上述のプロセスを実行または補足するための命令を含んでもよく、セキュアな情報も含んでもよい。このため、たとえば、拡張メモリ774はデバイス750のためのセキュリティモジュールとして設けられてもよく、デバイス750のセキュアな使用を許可する命令でプログラムされてもよい。加えて、ハッキング不可能な態様でSIMMカード上に識別情報を乗せるといったように、セキュアなアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
メモリはたとえば、以下に述べるようなフラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実現例では、コンピュータプログラム製品が情報担体において有形に具体化される。コンピュータプログラム製品は、実行されると上述の方法のような1つ以上の方法を行なう命令を含む。情報担体は、メモリ764、拡張メモリ774、またはプロセッサ752上のメモリといった、コンピュータ読取可能な媒体または機械読取可能な媒体であり、たとえば送受信機768または外部インターフェイス762を通して受信されてもよい。
デバイス750は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス766を介して無線通信してもよい。通信インターフェイス766は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。このような通信は、たとえば無線周波数送受信機768を介して生じてもよい。加えて、ブルートゥース、WiFi、またはその他のこのような送受信機(図示せず)使用するなどして、短距離通信が生じてもよい。加えて、GPS(全地球測位システム)受信機モジュール770が、追加のナビゲーション関連および位置関連の無線データをデバイス750に提供してもよく、このデータは、デバイス750上で実行されるアプリケーションによって適宜使用されてもよい。
デバイス750はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック760を使用して、音声通信してもよい。音声コーデック760は同様に、たとえばデバイス750のハンドセットにおいて、スピーカを介すなどして、ユーザに聞こえる音を生成してもよい。このような音は、音声電話からの音を含んでもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス750上で動作するアプリケーションが生成する音も含んでもよい。
コンピューティングデバイス750は、図に示されるように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話780として実現されてもよい。それはまた、スマートフォン782、携帯情報端末、またはその他の同様のモバイルデバイスの一部として実現されてもよい。
本明細書に記載されるシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現されてもよい。これらのさまざまな実現例は、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実現例を含んでもよく、このプロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するとともに、これらにデータおよび命令を送信するように結合されてもよい。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知)は、プログラム可能なプロセッサのための機械命令を含んでおり、高レベル手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実現されてもよい。ここに使用されるように、「機械読取可能な媒体」「コンピュータ読取可能な媒体」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械命令を機械読取可能な信号として受信する機械読取可能な媒体を含む。「機械読取可能な信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を指す。
ユーザとの対話を提供するために、本明細書に記載されるシステムおよび技術は、情報をユーザに表示するためのディスプレイ装置(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供できるようにするキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現されてもよい。その他の種類のデバイスを使用してユーザとの対話を提供してもよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信されてもよい。
本明細書に記載されるシステムおよび技術は、(たとえばデータサーバとしての)バックエンドコンポーネントを含む、またはミドルウェアコンポーネント(たとえばアプリケーションサーバ)を含む、またはフロントエンドコンポーネント(たとえば、ユーザが本明細書に記載されるシステムおよび技術の実現例と対話できるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ)を含む、または、このようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステムにおいて実現されてもよい。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(たとえば通信ネットワーク)によって相互接続されてもよい。通信ネットワークの例として、ローカルエリアネットワーク(「LAN」)、広域エリアネットワーク(「WAN」)、およびインターネットが挙げられる。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いに遠隔であり、典型的に通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作して互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
多数の実施形態が説明された。しかしながら、本明細書の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。
加えて、図面に示される論理フローは、所望の結果を達成するために、示された特定の順序または順番を必要としない。加えて、説明されたフローに対して他のステップが提供されてもよく、またはステップが除去されてもよく、説明されたシステムに対して他のコンポーネントが追加されてもよく、または除去されてもよい。したがって、他の実施形態は以下の特許請求の範囲内にある。
本明細書に記載されるさまざまな技術の実現例は、デジタル電子回路において、またはコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、またはそれらの組み合わせにおいて実現されてもよい。実現例は、データ処理装置、たとえばプログラム可能なプロセッサ、コンピュータまたは複数のコンピュータによって処理するため、またはそれらの動作を制御するために、コンピュータプログラム製品として、すなわち情報担体において、たとえば機械読取可能な記憶装置(コンピュータ読取可能な媒体)において有形に具体化されるコンピュータプログラムとして、実現されてもよい。したがって、コンピュータ読取可能な記憶媒体は、実行されるとプロセッサ(たとえば、ホストデバイスにおけるプロセッサ、クライアントデバイスにおけるプロセッサ)にプロセスを実行させる命令を記憶するように構成されてもよい。
上記のコンピュータプログラムなどのコンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含む任意の形態のプログラミング言語で書き込むことができ、スタンドアロンのプログラムとしての形態、または計算環境での使用に適したモジュール、コンポーネント、サブルーチンもしくはその他のユニットとしての形態を含む任意の形態でデプロイすることができる。コンピュータプログラムは、1つのコンピュータ上で、または一箇所もしくは複数箇所にわたって分散されて通信ネットワークによって相互接続された複数のコンピュータ上で処理されるようにデプロイすることができる。
方法ステップは、入力データ上で動作して出力を生成することによって機能を実行するようにコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行されてもよい。また、方法ステップは、特殊目的論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されてもよく、装置は、特殊目的論理回路として実現されてもよい。
コンピュータプログラムの処理に適したプロセッサは、一例として、汎用マイクロプロセッサ、特殊目的マイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたはこれら両方から命令およびデータを受信する。コンピュータの要素は、命令を実行するための少なくとも1つのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスとを含み得る。また、一般に、コンピュータは、データを記憶するための1つ以上の大容量記憶装置、たとえば磁気ディスク、光磁気ディスクもしくは光ディスクを含んでいてもよく、または1つ以上の大容量記憶装置からデータを受信するもしくは1つ以上の大容量記憶装置にデータを転送するもしくは受信も転送もするように作動的に結合されてもよい。コンピュータプログラム命令およびデータを実施するのに適した情報担体は、あらゆる形態の不揮発性メモリを含み、当該不揮発性メモリは、一例として、たとえばEPROM、EEPROMおよびフラッシュメモリデバイスといった半導体メモリデバイス、たとえば内蔵ハードディスクまたはリムーバブルディスクといった磁気ディスク、光磁気ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよく、または特殊目的論理回路に組み込まれてもよい。
ユーザとの対話を提供するために、実現例はコンピュータ上で実現されてもよく、当該コンピュータは、ユーザに情報を表示するためのディスプレイデバイス、たとえば陰極線管(CRT)、発光ダイオード(LED)または液晶ディスプレイ(LCD)モニタと、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有する。ユーザとの対話を提供するためにその他の種類のデバイスも使用されてもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受信されてもよい。
実現例は、たとえばデータサーバとしてのバックエンドコンポーネントを含むコンピューティングシステムで実現されてもよく、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含むコンピューティングシステムで実現されてもよく、またはフロントエンドコンポーネント、たとえばユーザが実現例と対話できるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータを含むコンピューティングシステムで実現されてもよく、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムで実現されてもよい。コンポーネント同士は、任意の形態または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互接続されてもよい。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえばインターネットが挙げられる。
記載されている実現例の特定の特徴について本明細書に記載されているように説明してきたが、多くの変形例、置換例、変更例および等価物が当業者に想起されるであろう。したがって、添付の特許請求の範囲は、実現例の範囲に含まれる全てのこのような変形例および変更例をカバーするよう意図されていることを理解すべきである。それらは限定的ではなく単に一例として示されており、形状および詳細の点でさまざまな変更を行ってもよいということを理解すべきである。本明細書に記載される装置および/または方法のいかなる部分も、相互に排他的な組み合わせを除いて、いかなる組み合わせでも組み合わせられてもよい。本明細書に記載される実現例は、記載されているさまざまな実現例の機能、構成要素および/または特徴のさまざまな組み合わせおよび/または下位の組み合わせを含み得る。

Claims (20)

  1. 方法であって、
    コンピューティングシステムの処理回路が、ユーザが居る物理環境内の前記ユーザが持っている入力コントローラの第1の6自由度(6DOF)の動きを示す第1の動きデータを受信することと、
    前記処理回路が、前記物理環境内の前記入力コントローラの前記第1の6DOFの動きに基づいてスケーリング係数を生成することと、
    前記第1の動きデータを受信した後、前記処理回路が、ある期間にわたる前記物理環境内の前記入力コントローラの第2の6DOFの動きを示す第2の動きデータを受信することと、
    前記第2の動きデータを受信したことに応答して、前記処理回路が、オブジェクト動き操作を実行して仮想環境内のオブジェクトのスケーリングされた動きを生成することとを備え、前記オブジェクト動き操作は、前記第2の6DOFの動きに対応する前記仮想環境内の前記オブジェクトの動きに前記スケーリング係数を掛けて、前記仮想環境内の前記オブジェクトの前記スケーリングされた動きを生成することを含み、
    前記第2の動きデータが、前記仮想環境内のある位置への移動を選択することを示す場合には、前記オブジェクト動き操作は、前記オブジェクトを前記仮想環境内の前記ある位置へテレポートさせる動きを生成する、方法。
  2. 前記第1の動きデータは、前記物理環境内の前記入力コントローラの最初の6DOFの位置を含み、
    前記第1の動きデータを受信することは、前記最初の6DOFの位置に対する6DOFの位置の変化を得ることを含む、請求項1に記載の方法。
  3. 前記第2の動きデータは、前記期間の開始時における前記物理環境内の前記入力コントローラの6DOFの位置を含み、
    前記第2の動きデータを受信することは、前記期間の前記開始時における前記物理環境内の前記入力コントローラの前記6DOFの位置に対する6DOFの位置の変化を得ることを含む、請求項1または2に記載の方法。
  4. 前記第2の動きデータを受信することは、前記物理環境内の前記入力コントローラの現在の3次元の位置と、前記期間の前記開始時における前記物理環境内の前記入力コントローラの3次元の位置との間のユークリッド距離を生成することをさらに含む、請求項3に記載の方法。
  5. 前記第2の動きデータを受信することは、前記物理環境内の前記入力コントローラの現在の3次元の向きと、前記期間の前記開始時における前記物理環境内の前記入力コントローラの3次元の向きとの間の角変位を生成することをさらに含む、請求項3または4に記載の方法。
  6. 前記物理環境内の前記入力コントローラの前記第1の6DOFの動きに基づいてスケーリング係数を生成することは、
    前記第1の動きが第1の閾値未満であることに応答して、第1のスケーリング係数を生成することと、
    前記第1の動きが前記第1の閾値よりも大きいことに応答して、第2のスケーリング係数を生成することとを含み、前記第2のスケーリング係数は前記第1のスケーリング係数よりも大きい、請求項1から5のいずれか1項に記載の方法。
  7. 前記第1の動きが前記第1の閾値よりも大きいことに応答して第2のスケーリング係数を生成することは、
    前記第1の動きが、前記第1の閾値よりも大きい第2の閾値未満であることに応答して、第3のスケーリング係数を生成することをさらに含み、前記第3のスケーリング係数は前記第1のスケーリング係数と前記第2のスケーリング係数との間である、請求項6に記載の方法。
  8. 前記第3のスケーリング係数を生成することは、前記第3のスケーリング係数として、前記第1の動きによって線形に変化する数を生成することを含む、請求項7に記載の方法。
  9. 前記コンピューティングシステムは仮想現実(VR)システムであって、
    前記第1の動きデータは、前記ユーザによって行なわれる手のジェスチャの開始時に前記処理回路によって受信される、請求項1から8のいずれか1項に記載の方法。
  10. 前記第2の動きデータは、前記ユーザが前記入力コントローラのトリガを起動したか否かを示すトリガデータをさらに含み、
    前記オブジェクト動き操作は、前記ユーザが前記トリガを起動したことを示す前記トリガデータに応答して実行され、前記ユーザが前記トリガを起動しなかったことを示す前記トリガデータに応答して実行されない、請求項1から9のいずれか1項に記載の方法。
  11. コンピュータプログラムであって、前記コンピュータプログラムは、コンピューティングシステムの処理回路によって実行されると前記処理回路に方法を行なわせるコードを含み、前記方法は、
    ユーザが居る物理環境内の前記ユーザが持っている入力コントローラの第1の6自由度(6DOF)の動きを示す第1の動きデータを受信することと、
    前記物理環境内の前記入力コントローラの前記第1の6DOFの動きに基づいてスケーリング係数を生成することと、
    前記第1の動きデータを受信した後、ある期間にわたる前記物理環境内の前記入力コントローラの第2の6DOFの動きを示す第2の動きデータを受信することと、
    前記第2の動きデータを受信したことに応答して、オブジェクト動き操作を実行して仮想環境内のオブジェクトのスケーリングされた動きを生成することとを備え、前記オブジェクト動き操作は、前記第2の6DOFの動きおよび前記スケーリング係数に基づいており、
    前記第2の動きデータが、前記仮想環境内のある位置への移動を選択することを示す場合には、前記オブジェクト動き操作は、前記オブジェクトを前記仮想環境内の前記ある位置へテレポートさせる動きを生成する、コンピュータプログラム。
  12. 前記オブジェクト動き操作を実行することは、前記第2の6DOFの動きに対応する前記仮想環境内の前記オブジェクトの動きに前記スケーリング係数を掛けて、前記仮想環境内の前記オブジェクトの前記スケーリングされた動きを生成することを含む、請求項11に記載のコンピュータプログラム。
  13. 前記第1の動きデータは、前記物理環境内の前記入力コントローラの最初の6DOFの位置を含み、
    前記第1の動きデータを受信することは、前記最初の6DOFの位置に対する6DOFの位置の変化を得ることを含む、請求項11または12に記載のコンピュータプログラム。
  14. 前記第2の動きデータは、前記期間の開始時における前記物理環境内の前記入力コントローラの6DOFの位置を含み、
    前記第2の動きデータを受信することは、前記期間の前記開始時における前記物理環境内の前記入力コントローラの前記6DOFの位置に対する6DOFの位置の変化を得ることを含む、請求項11から13のいずれか1項に記載のコンピュータプログラム。
  15. 前記第2の動きデータを受信することは、前記物理環境内の前記入力コントローラの現在の3次元の位置と、前記期間の前記開始時における前記物理環境内の前記入力コントローラの3次元の位置との間のユークリッド距離を生成することをさらに含む、請求項14に記載のコンピュータプログラム。
  16. 前記第2の動きデータを受信することは、前記物理環境内の前記入力コントローラの現在の3次元の向きと、前記期間の前記開始時における前記物理環境内の前記入力コントローラの3次元の向きとの間の角変位を生成することをさらに含む、請求項14または15に記載のコンピュータプログラム。
  17. 前記物理環境内の前記入力コントローラの前記第1の6DOFの動きに基づいてスケーリング係数を生成することは、
    前記第1の動きが第1の閾値未満であることに応答して、第1のスケーリング係数を生成することと、
    前記第1の動きが前記第1の閾値よりも大きいことに応答して、第2のスケーリング係数を生成することとを含み、前記第2のスケーリング係数は前記第1のスケーリング係数よりも大きい、請求項11から16のいずれか1項に記載のコンピュータプログラム。
  18. 前記第1の動きが前記第1の閾値よりも大きいことに応答して第2のスケーリング係数を生成することは、
    前記第1の動きが、前記第1の閾値よりも大きい第2の閾値未満であることに応答して、第3のスケーリング係数を生成することを含み、前記第3のスケーリング係数は前記第1のスケーリング係数と前記第2のスケーリング係数との間である、請求項17に記載のコンピュータプログラム。
  19. 前記第3のスケーリング係数を生成することは、前記第3のスケーリング係数として、前記第1の動きによって線形に変化する数を生成することを含む、請求項18に記載のコンピュータプログラム。
  20. コンピューティングシステムであって、
    ネットワークインターフェイスと、
    メモリと、
    処理回路とを備え、前記処理回路は、
    ユーザが居る物理環境内の前記ユーザが持っている入力コントローラの第1の6自由度(6DOF)の動きを示す第1の動きデータを受信し、
    前記物理環境内の前記入力コントローラの前記第1の6DOFの動きに基づいてスケーリング係数を生成し、
    前記第1の動きデータを受信した後、ある期間にわたる前記物理環境内の前記入力コントローラの第2の6DOFの動きを示す第2の動きデータを受信し、
    前記第2の動きデータを受信したことに応答して、オブジェクト動き操作を実行して仮想環境内のオブジェクトのスケーリングされた動きを生成するように構成され、前記オブジェクト動き操作は、前記第2の6DOFの動きおよび前記スケーリング係数に基づき、
    前記第2の動きデータが、前記仮想環境内のある位置への移動を選択することを示す場合には、前記オブジェクト動き操作は、前記オブジェクトを前記仮想環境内の前記ある位置へテレポートさせる動きを生成する、コンピューティングシステム。
JP2019525847A 2016-11-15 2017-11-15 仮想現実システムのための入力コントローラ安定化技術 Active JP6929361B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662422464P 2016-11-15 2016-11-15
US62/422,464 2016-11-15
PCT/US2017/061798 WO2018093900A1 (en) 2016-11-15 2017-11-15 Input controller stabilization techniques for virtual reality systems

Publications (2)

Publication Number Publication Date
JP2020513611A JP2020513611A (ja) 2020-05-14
JP6929361B2 true JP6929361B2 (ja) 2021-09-01

Family

ID=60655054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019525847A Active JP6929361B2 (ja) 2016-11-15 2017-11-15 仮想現実システムのための入力コントローラ安定化技術

Country Status (7)

Country Link
US (1) US10620720B2 (ja)
EP (1) EP3542249A1 (ja)
JP (1) JP6929361B2 (ja)
KR (1) KR102233807B1 (ja)
CN (1) CN109906424B (ja)
DE (1) DE202017006742U1 (ja)
WO (1) WO2018093900A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10867445B1 (en) * 2016-11-16 2020-12-15 Amazon Technologies, Inc. Content segmentation and navigation
US11740690B2 (en) * 2017-01-27 2023-08-29 Qualcomm Incorporated Systems and methods for tracking a controller
CN109983424B (zh) * 2017-06-23 2022-06-24 腾讯科技(深圳)有限公司 虚拟现实场景中的对象选中方法和装置以及虚拟现实设备
US10671238B2 (en) * 2017-11-17 2020-06-02 Adobe Inc. Position-dependent modification of descriptive content in a virtual reality environment
US11019389B2 (en) * 2017-12-04 2021-05-25 Comcast Cable Communications, Llc Determination of enhanced viewing experiences based on viewer engagement
US11301087B2 (en) * 2018-03-14 2022-04-12 Maxell, Ltd. Personal digital assistant
EP3788464B1 (en) 2018-05-02 2023-08-16 Apple Inc. Moving about a computer simulated reality setting
US10636118B2 (en) 2018-06-25 2020-04-28 Microsoft Technology Licensing, Llc Input scaling to keep controller inside field of view
DE102020104415A1 (de) * 2019-02-22 2020-08-27 Apple Inc. Bewegung in einer umgebung
CN109992111B (zh) * 2019-03-25 2021-02-19 联想(北京)有限公司 增强现实扩展方法和电子设备
EP4002064A1 (en) * 2020-11-18 2022-05-25 XRSpace CO., LTD. Method and system for showing a cursor for user interaction on a display device
WO2023157338A1 (ja) * 2022-02-18 2023-08-24 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびデバイス位置推定方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3859459B2 (ja) * 2000-04-26 2006-12-20 松下電器産業株式会社 撮像装置
US7409028B2 (en) * 2000-12-22 2008-08-05 Ericsson Inc. Clock synchronization in a communications environment
US20160098095A1 (en) * 2004-01-30 2016-04-07 Electronic Scripting Products, Inc. Deriving Input from Six Degrees of Freedom Interfaces
US9405372B2 (en) * 2006-07-14 2016-08-02 Ailive, Inc. Self-contained inertial navigation system for interactive control using movable controllers
US20080030429A1 (en) 2006-08-07 2008-02-07 International Business Machines Corporation System and method of enhanced virtual reality
US20080211771A1 (en) * 2007-03-02 2008-09-04 Naturalpoint, Inc. Approach for Merging Scaled Input of Movable Objects to Control Presentation of Aspects of a Shared Virtual Environment
TW200900123A (en) * 2007-06-18 2009-01-01 Ailive Inc Self-contained inertial navigation system for interactive control using movable controllers
JP2009301531A (ja) * 2007-10-22 2009-12-24 Sony Corp 空間操作型入力装置、制御装置、制御システム、制御方法、空間操作型入力装置の製造方法及びハンドヘルド装置
USRE47433E1 (en) * 2007-11-26 2019-06-11 Sony Corporation Input apparatus, control apparatus, control system, control method, and handheld apparatus
JP5163291B2 (ja) * 2008-06-02 2013-03-13 ソニー株式会社 入力装置、制御装置、制御システム及び制御方法
KR20100090466A (ko) * 2009-02-06 2010-08-16 홍영표 포인팅장치를 이용한 거리측정 장치 및 방법
US9897805B2 (en) * 2013-06-07 2018-02-20 Sony Interactive Entertainment Inc. Image rendering responsive to user actions in head mounted display
US9041622B2 (en) 2012-06-12 2015-05-26 Microsoft Technology Licensing, Llc Controlling a virtual object with a real controller device
US20160004300A1 (en) * 2014-07-07 2016-01-07 PinchVR Inc. System, Method, Device and Computer Readable Medium for Use with Virtual Environments
US10373392B2 (en) * 2015-08-26 2019-08-06 Microsoft Technology Licensing, Llc Transitioning views of a virtual model
US10338687B2 (en) * 2015-12-03 2019-07-02 Google Llc Teleportation in an augmented and/or virtual reality environment
US10559117B2 (en) * 2016-02-08 2020-02-11 Google Llc Interactions and scaling in virtual reality
US9972134B2 (en) * 2016-06-30 2018-05-15 Microsoft Technology Licensing, Llc Adaptive smoothing based on user focus on a target object

Also Published As

Publication number Publication date
CN109906424A (zh) 2019-06-18
US20180136744A1 (en) 2018-05-17
WO2018093900A1 (en) 2018-05-24
KR20190067227A (ko) 2019-06-14
JP2020513611A (ja) 2020-05-14
KR102233807B1 (ko) 2021-03-30
US10620720B2 (en) 2020-04-14
EP3542249A1 (en) 2019-09-25
DE202017006742U1 (de) 2019-02-19
CN109906424B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
JP6929361B2 (ja) 仮想現実システムのための入力コントローラ安定化技術
US10558274B2 (en) Teleportation in an augmented and/or virtual reality environment
US10559117B2 (en) Interactions and scaling in virtual reality
JP6820405B2 (ja) 拡張および/または仮想現実環境における6自由度コントローラを用いた仮想オブジェクトの操作
KR102003493B1 (ko) 가상 현실에서 헤드, 제스쳐 및 터치 입력의 동적 전환 및 병합
JP6535819B2 (ja) 仮想現実環境におけるナビゲーション用制御システム
CN108700944B (zh) 与在虚拟现实环境中的运动有关的系统和方法
Chow 3D spatial interaction with the Wii remote for head-mounted display virtual reality
JP6793255B2 (ja) 仮想現実における保持オブジェクトの安定化

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210810

R150 Certificate of patent or registration of utility model

Ref document number: 6929361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150