[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7480218B2 - 拡張現実システムのための仮想レチクル - Google Patents

拡張現実システムのための仮想レチクル Download PDF

Info

Publication number
JP7480218B2
JP7480218B2 JP2022071526A JP2022071526A JP7480218B2 JP 7480218 B2 JP7480218 B2 JP 7480218B2 JP 2022071526 A JP2022071526 A JP 2022071526A JP 2022071526 A JP2022071526 A JP 2022071526A JP 7480218 B2 JP7480218 B2 JP 7480218B2
Authority
JP
Japan
Prior art keywords
head pose
user
head
threshold
reticle
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
JP2022071526A
Other languages
English (en)
Other versions
JP2022101656A (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.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2022101656A publication Critical patent/JP2022101656A/ja
Priority to JP2024070428A priority Critical patent/JP2024097815A/ja
Application granted granted Critical
Publication of JP7480218B2 publication Critical patent/JP7480218B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0081Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for altering, e.g. enlarging, the entrance or exit pupil
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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
    • G06F3/013Eye tracking input arrangements
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0127Head-up displays characterised by optical features comprising devices increasing the depth of field
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0185Displaying image at variable distance
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Ophthalmology & Optometry (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Eye Examination Apparatus (AREA)
  • Position Input By Displaying (AREA)

Description

(著作権表示)
本特許文書の開示の一部分は、著作権保護を受けるべき資料を含む。本著作権所有者は、本特許文書または本特許開示を誰が複写しても、それが特許商標局の特許ファイルまたは記録に現れる通りである限りでは異議はないが、その他の場合、いかなる著作権も全て保有する。
(関連出願の相互参照)
本願は、参照することによってその全体として本明細書に組み込まれる2017年10月27日に出願され、「VIRTUAL RETICLE FOR AUGUMENTED REALITY SYSTEMS」と題された米国仮特許出願第62/578,094号の優先権を主張する。
(分野)
本開示は、仮想現実および拡張現実結像ならびに可視化システムに関し、より具体的には、頭部姿勢に基づいて、仮想レチクルを表示することに関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」、「拡張現実」、または「複合現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式でユーザに提示される。仮想現実または「VR」シナリオは、典型的に、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。拡張現実または「AR」シナリオは、典型的に、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実または「MR」は、物理的と仮想オブジェクトとが共存し、リアルタイムで相互作用する新しい環境を生成するための実世界と仮想世界との融合に関連する。結論から述べると、ヒトの視知覚系は、非常に複雑であり、他の仮想または実世界画像要素の中で仮想画像要素間における快適で、自然のような感覚で、かつ豊かな提示を促進するVR、AR、またはMR技術の生成は、困難である。本明細書に開示されるシステムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。
仮想レチクルを表示するためのシステムおよび方法の種々の実施形態が、開示される。環境は、仮想レチクルを使用してユーザによって相互作用され得る実または仮想オブジェクトを含むことができる。ユーザの頭部、眼、肩、胸部、腕、または他の身体部分の位置または向きは、環境内の仮想レチクルの位置または移動速度を決定付けることができ、ユーザは、仮想レチクルを標的オブジェクトに向けること、またはレチクルをその上に集束させることによって、オブジェクトを選択し得、またはそ、それを指し得る。ウェアラブルデバイスは、ユーザの頭部、眼、肩、胸部、腕等が、不快にまたは別様に望ましくなく、位置付けられていること、または向けられていることを認識可能である。不快なまたは望ましくない姿勢の認識に応答して、システムは、仮想レチクルの位置または移動速度を調節し、仮想レチクルを望ましく位置付けることにおいて補助し、それによって、ユーザの姿勢が不快なまたは望ましくないままである可能性を減少させることができる。
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
本発明は、例えば、以下を提供する。
(項目1)
システムであって、前記システムは、
前記システムのユーザの頭部姿勢データを取得するように構成された頭部姿勢センサと、
前記頭部姿勢データを記憶するように構成された非一過性メモリと、
ユーザの眼の正面に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、仮想レチクルを前記ユーザの眼に向かって式投影するように構成されている、ディスプレイと、
前記頭部姿勢センサ、前記ディスプレイ、および前記非一過性メモリと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記ユーザの前記頭部姿勢データを取得することと、
少なくとも部分的に前記頭部姿勢データに基づいて、前記ユーザの頭部姿勢を識別することと、
少なくとも部分的に前記ユーザの頭部姿勢と基準頭部姿勢との間の比較に基づいて、前記仮想レチクルの位置のための調節を決定することと、
少なくとも部分的に前記決定された調節に基づいて、前記仮想レチクルに定位置に変らせることと
を行うようにプログラムされている、システム。
(項目2)
前記仮想レチクルは、前記ユーザの視野内の前記ユーザの位置を識別する移動可能なインジケータを備えている、項目1に記載のシステム。
(項目3)
頭部姿勢データは、前記ユーザの頭部のヨー、ピッチ、またはロールの指示のうちの少なくとも1つに対応している、項目1に記載のシステム。
(項目4)
ヨー、ピッチ、またはロールの前記指示は、前記基準頭部姿勢に関している、項目3に記載のシステム。
(項目5)
前記基準頭部姿勢は、前記ユーザの頭部の水平頭部姿勢に対応している、項目4に記載のシステム。
(項目6)
前記水平頭部姿勢は、前記ユーザの頭部の冠状平面、前記ユーザの頭部の矢状平面、および前記ユーザの頭部の軸平面の各々が互いに直交している頭部姿勢を備えている、項目5に記載のシステム。
(項目7)
前記基準頭部姿勢は、前記ユーザの頭部の中立に置かれた状態に対応する頭部姿勢を備えている、項目1に記載のシステム。
(項目8)
前記ユーザの頭部の前記中立に置かれた状態は、前記水平頭部姿勢に対して、-5~5度のヨー、-5~5度のロール、および-15~-25度のピッチに対応している、項目7に記載のシステム。
(項目9)
前記基準頭部姿勢は、前記水平頭部姿勢に対して、0度のヨー、0度のロール、または-20度のピッチのうちの少なくとも1つに対応している、項目8に記載のシステム。
(項目10)
前記ハードウェアプロセッサは、前記ユーザの前記頭部姿勢に対応している頭部姿勢ベクトルを識別し、前記基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別するようにさらにプログラムされている、項目1に記載のシステム。
(項目11)
前記ハードウェアプロセッサは、少なくとも部分的に前記ユーザの前記頭部姿勢と前記基準頭部姿勢との間の比較に基づいて、前記頭部姿勢ベクトルと前記基準頭部姿勢ベクトルとの間の角度差を決定するようにさらにプログラムされ、前記角度差は、前記ユーザの前記頭部姿勢のヨー、ピッチ、またはロールにおける前記基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、項目10に記載のシステム。
(項目12)
前記仮想レチクルの位置のための前記調節を決定するために、前記ハードウェアプロセッサは、前記決定された角度差を1つ以上の頭部姿勢閾値と比較するようにプログラムされている、項目11に記載のシステム。
(項目13)
前記1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、項目12に記載のシステム。
(項目14)
前記最大頭部姿勢閾値は、最大頭部ヨー閾値、最大頭部ロール閾値、または最大頭部ピッチ閾値のうちの少なくとも1つに対応している、項目13に記載のシステム。
(項目15)
前記基準頭部姿勢に対して、前記最大頭部ヨー閾値が、50度であるか、前記最大頭部ロール閾値が、20度であるか、または、前記最大頭部ピッチ閾値が、5度である、項目14に記載のシステム。
(項目16)
前記最小頭部姿勢閾値は、最小頭部ヨー閾値、最小頭部ロール閾値、または最小頭部ピッチ閾値のうちの少なくとも1つに対応している、項目13に記載のシステム。
(項目17)
前記基準頭部姿勢に対して、前記最小頭部ヨー閾値が、-50度であるか、前記最小頭部ロール閾値が、-20度であるか、または、前記最小頭部ピッチ閾値が、-45度である、項目16に記載のシステム。
(項目18)
前記ハードウェアプロセッサは、
前記角度差が前記最小頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第1の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定するようにさらにプログラムされている、項目13に記載のシステム。
(項目19)
前記第1の調節値は、約-12度である、項目18に記載のシステム。
(項目20)
前記ハードウェアプロセッサは、前記角度差が前記最大頭部姿勢閾値を満たすことの決定に応答して、少なくとも部分的に第2の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定するようにさらにプログラムされている、項目13に記載のシステム。
(項目21)
前記第2の調節値は、約+5度である、項目20に記載のシステム。
(項目22)
前記ハードウェアプロセッサは、
前記角度差が、前記最小頭部姿勢閾値を満たし、前記最大頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第3の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定するようにさらにプログラムされている、項目13に記載のシステム。
(項目23)
前記第3の調節値は、イージング関数に対応している、項目22に記載のシステム。
(項目24)
前記第3の調節値は、約0度である、項目22に記載のシステム。
(項目25)
前記仮想レチクルに定位置に変らせることは、前記仮想レチクルに前記ユーザの視野のデフォルトレチクル位置から位置を変えさせることを含む、項目1に記載のシステム。
(項目26)
前記デフォルトレチクル位置は、前記ユーザの視野の中心を備えている、項目25に記載のシステム。
(項目27)
前記頭部姿勢センサは、慣性測定ユニット(IMU)、加速度計、ジャイロスコープ、または磁力計を備えている、項目1に記載のシステム。
(項目28)
前記ウェアラブルシステムは、頭部搭載型ウェアラブルシステムを備えている、項目1に記載のシステム。
(項目29)
ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
ユーザの頭部姿勢を追跡するように構成された部姿勢センサからディスプレイシステムの前記ユーザの頭部姿勢データを取得することと、
少なくとも部分的に前記頭部姿勢データに基づいて、前記ユーザの前記頭部姿勢に対応している頭部姿勢ベクトルを識別することと、
基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することと、
少なくとも部分的に前記ユーザの前記頭部姿勢と前記基準頭部姿勢との間の比較に基づいて、前記頭部姿勢ベクトルと前記基準頭部姿勢ベクトルとの間の角度差を決定することであって、前記角度差は、前記ユーザの前記頭部姿勢のヨー、ピッチ、またはロールにおける前記基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、ことと、
前記決定された角度差を1つ以上の頭部姿勢閾値と比較することであって、前記1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、ことと、
前記角度差が前記最小頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第1の調節値に基づいて、仮想レチクルの位置のための調節を決定することであって、前記仮想レチクルの位置は、前記ユーザの視野内の前記ユーザの位置を識別する前記移動可能なインジケータの位置に対応している、ことと、
前記角度差が前記最大頭部姿勢閾値を満たすことの決定に応答して、少なくとも部分的に第2の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定することと、
前記角度差が、前記最小頭部姿勢閾値を満たし、前記最大頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第3の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定することと、
前記決定された調節に基づいて、前記仮想レチクルの位置が前記ユーザの視野のデフォルトレチクル位置から調節されるようにすることと
を含む、方法。
(項目30)
ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
前記ディスプレイシステムの前記ユーザの頭部姿勢データを取得することと、
少なくとも部分的に前記頭部姿勢データに基づいて、頭部姿勢を識別することと、
基準頭部姿勢を識別することと、
少なくとも部分的に前記頭部姿勢と前記基準頭部姿勢との間の比較に基づいて、頭部搭載型ディスプレイ上に投影される仮想レチクルの位置のための調節を決定することと
を含む、方法。
(項目31)
ユーザの視野内の前記ユーザの位置を識別する移動可能なインジケータのディスプレイシステムのディスプレイに対する位置を調節する方法であって、前記方法は、
最大頭部ピッチ閾値、最小頭部ピッチ閾値、または中立頭部ピッチ閾値のうちの少なくとも1つを識別することと、
ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、
基準頭部姿勢ベクトルを識別することと、
前記頭部姿勢ベクトルと前記基準頭部姿勢ベクトルとの間の角度差を計算することと、
少なくとも部分的に前記角度差と前記最大頭部ピッチ閾値、前記最小頭部ピッチ閾値、または前記中立頭部ピッチ閾値のうちの少なくとも1つとに基づいて、レチクル調節を計算することと、
少なくとも部分的に前記計算されたレチクル調節に基づいて、調節されたレチクル位置を決定することと
を含む、方法。
(項目32)
ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、前記頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、前記基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、
前記角度差が最小頭部ピッチ閾値を満たさないことを決定することと、
少なくとも部分的に前記最小頭部ピッチ閾値に関連付けられた角度調節に基づいて、調節されたレチクル位置を決定することと
を含む、方法。
(項目33)
ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、前記頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、前記基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、
前記角度差が最小頭部ピッチ閾値を満たすことを決定することと、
前記角度差が最大頭部ピッチ閾値を満たさないことを決定することと、
少なくとも部分的に前記最大頭部ピッチ閾値に関連付けられた角度調節に基づいて、調節されたレチクル位置を決定することと
を含む、方法。
(項目34)
ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、前記頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、前記基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、
前記角度差が最小頭部ピッチ閾値を満たすことを決定することと、
前記角度差が中立頭部ピッチ閾値を満たさないことを決定することと、
少なくとも部分的にイージング関数に基づいて、調節されたレチクル位置を決定することと
を含む、方法。
(項目35)
ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、前記頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、前記基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、
前記角度差が中立頭部ピッチ閾値を満たすことを決定することと、
前記角度差が最大頭部ピッチ閾値を満たさないことを決定することと、
少なくとも部分的にイージング関数に基づいて、調節されたレチクル位置を決定することと
を含む、方法。
(項目36)
システムであって、前記システムは、
前記システムのユーザの頭部姿勢データを測定するように構成された頭部姿勢センサと、
前記ユーザの頭部のヨー、ピッチ、またはロールの指示のうちの少なくとも1つに対応している前記頭部姿勢データを記憶するように構成された非一過性メモリと、
ユーザの眼の正面に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、仮想レチクルを前記ユーザの眼に向かって投影するように構成され、前記仮想レチクルは、視野内の前記ユーザの位置を識別する移動可能なインジケータを備えている、ディスプレイと、
前記頭部姿勢センサ、前記ディスプレイ、および前記非一過性メモリと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記ユーザの前記頭部姿勢データを取得することと、
少なくとも部分的に前記頭部姿勢データに基づいて、前記ユーザの前記頭部姿勢に対応している頭部姿勢ベクトルを識別することと、
基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することと、
少なくとも部分的に前記ユーザの前記頭部姿勢と前記基準頭部姿勢との間の比較に基づいて、前記頭部姿勢ベクトルと前記基準頭部姿勢ベクトルとの間の角度差を決定することであって、前記角度差は、前記ユーザの前記頭部姿勢のヨー、ピッチ、またはロールにおける前記基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、ことと、
前記決定された角度差を1つ以上の頭部姿勢閾値と比較することであって、前記1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、ことと、
前記角度差が前記最小頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第1の調節値に基づいて、前記仮想レチクルの位置のための調節を決定することと、
前記角度差が前記最大頭部姿勢閾値を満たすことの決定に応答して、少なくとも部分的に第2の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定することと、
前記角度差が前記最小頭部姿勢閾値を満たし、前記最大頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第3の調節値に基づいて、前記仮想レチクルの位置のための前記調節を決定することと、
前記決定された調節に基づいて、前記仮想レチクルの位置が前記ユーザの視野のデフォルトレチクル位置から調節されるようにすることと
を行うようにプログラムされている、システム。
図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う複合現実シナリオの例証を描写する。
図2は、ウェアラブルシステムの例を図式的に図示する。
図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図式的に図示する。
図4は、画像情報をユーザに出力するための導波管スタックの例を図式的に図示する。
図5は、導波管によって出力され得る例示的出射ビームを示す。
図6は、導波管装置と、光を導波管装置へまたはそれから光学的に結合するための光学結合器サブシステムと、多焦点立体ディスプレイ、画像、または明視野の生成において使用される、制御サブシステムとを含む光学システムを示す概略図である。
図7は、ウェアラブルシステムの例のブロック図である。
図8は、認識されるオブジェクトに関連して仮想コンテンツをレンダリングする方法の例のプロセスフロー図である。
図9は、ウェアラブルシステムの別の例のブロック図である。
図10は、ウェアラブルシステムへのユーザ入力を決定するための方法の例のプロセスフロー図である。
図11は、仮想ユーザインターフェースと相互作用するための方法の例のプロセスフロー図である。
図12Aは、動眼視野(FOR)、世界カメラの視野(FOV)、ユーザの視野、およびユーザの固視野の例を図式的に図示する。
図12Bは、ユーザの視野内の仮想オブジェクトおよび動眼視野内の仮想オブジェクトの例を図式的に図示する。
図13Aおよび13Bは、垂直(図13A)および水平(図13B)における頭部姿勢の変化に応答して、レチクルの移動を加速する例を実証する。 図13Aおよび13Bは、垂直(図13A)および水平(図13B)における頭部姿勢の変化に応答して、レチクルの移動を加速する例を実証する。
図14は、ユーザの頭部姿勢に基づいてレチクルの位置を調節する例を図示する。
図15は、ユーザの頭部姿勢とレチクルの位置の調節との間の例示的関係を実証する。
図16は、例示的レチクル位置調節プロセスのためのフローチャートを図示する。
図17は、例示的レチクル調節プロセスのためのフローチャートを図示する。
図18は、別の例示的レチクル調節プロセスのためのフローチャートを図示する。
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。加えて、本開示における図は、例証目的のためのものであり、正確な縮尺ではない。
(概要)
ウェアラブルデバイスは、双方向VR/AR/MR環境を提示するためのディスプレイを含むことができる。VR/AR/MR環境は、例えば、頭部姿勢、眼の注視、または身体姿勢等の種々の姿勢を通して、ユーザによって相互作用され得るデータ要素を含むことができる。VR/AR/MR環境は、ユーザの視野(例えば、任意の所与の瞬間に見られるVR/AR/MR環境の範囲)に対するユーザの現在の位置に対応するレチクルを含み得る。例えば、レチクルは、ユーザの注視方向を表し得る。ユーザが動き回っているとき(例えば、眼、頭部、身体、またはそれらの任意の組み合わせを移動させることによって)、レチクルも、ユーザとともに移動し得る。レチクルは、1つ以上のオブジェクトを指し得、ユーザは、レチクルが指している標的オブジェクトを選択し得る。例えば、ユーザは、その頭部を移動させ、レチクルを選択されるべきオブジェクトに向け、次いで、ハンドヘルドユーザ入力トーテムをクリックし、オブジェクトを選択し得る。ウェアラブルディスプレイデバイスは、適切なアクションを選択されたオブジェクトに対して実施することができる(例えば、オブジェクトを移動させること、オブジェクトをハイライトまたは拡大すること、オブジェクトについての情報を呼び出すこと、オブジェクトに関連付けられた実施され得るアクションのメニューを表示すること等)。
時折、ユーザは、(非限定的例として、環境内の高い位置(例えば、天井)、低い地面(例えば、床またはユーザの足)、右端、左端等にあるオブジェクトを選択するために)、その頭部を向け直すことを所望し得、それは、レチクルが所望のオブジェクトに位置付けられるように、ユーザが、その頸部を曲げること、捻じること、または伸ばすことを要求し得る。ユーザの頸部の曲げ、捻じり、および/または伸展は、とりわけ、ウェアラブルデバイスの使用中の頸部の負担または不快感をもたらし得る。故に、ウェアラブルシステムは、ユーザの頭部の向きが容認可能(例えば、快適な、負担を引き起こさない等)頭部姿勢の範囲外にあることを認識しできる。その結果、ユーザが、レチクルを移動させること、または調節することにおいて補助するために、ウェアラブルシステムは、レチクルの移動をユーザの頭部が移動している方向に対応する方向に修正または加速し得る(例えば、角度を修正する)。レチクルの移動を修正または加速することによって、ウェアラブルシステムは、有利に、レチクルと標的オブジェクトとを整列させるためにユーザがその頸部を曲げ、捻じり、または伸ばさなければならない程度を低減させ、それによって、頸部の負担または不快感の可能性を低減させる。
例として、ユーザが、天井近くのオブジェクトに向かって見上げる場合、ウェアラブルディスプレイデバイスは、レチクルをデフォルトレチクル位置(非限定的例として、ディスプレイの視野(FOV)の中心の近傍)から、ユーザのFOVの上部に向かって等、別の位置に移動させ得る。同様に、ユーザが、見下ろす場合、ウェアラブルディスプレイデバイスは、レチクルをFOV内のデフォルト位置から、ユーザのFOVの底部近く等、別の位置に移動させ得る。ウェアラブルディスプレイデバイスは、ユーザが、右方向または左方向に見る場合(それぞれ、例えば、レチクルをFOVの右側または左側に移動させる)、右または左斜めに見上げる場合、右または左斜めに見下げる場合等も同様、レチクルを向け直し得る。デフォルトレチクル位置は、FOVの中心に限定されない。むしろ、FOV内の任意の場所が、デフォルトレチクル位置として利用されることができる。
ユーザは、その眼を使用して、レチクルを調節することを所望し得る。ウェアラブルデバイスは、眼画像等の眼データを収集することができる(例えば、ウェアラブルデバイスの内向きに面した結像システムにおける眼カメラを介して)。ウェアラブルシステムは、ユーザの眼の注視と注視ベクトル(ユーザの注視方向を示すことができる)との間の関連付けを提供するマッピング行列に基づいて、ユーザの眼の注視方向を計算することができる。ユーザの眼が移動しているとき、ウェアラブルシステムは、ユーザの眼の注視方向を決定することができ、ユーザの視野またはレチクルは、眼の注視方向の変化に応答して移動し得る。ユーザが、頭部姿勢への変化ではなく、または、それに加え、眼の注視の変化を使用して、高い、低い、左端の、右端のオブジェクト等を視認または標的化することを所望する場合、ユーザの眼の移動および/または特定の場所における眼の固定は、とりわけ、眼の疲労、不快感、または頭痛をもたらし得る。故に、ウェアラブルシステムは、ユーザの眼の向きが、容認可能(例えば、快適な、負担を引き起こさない等)眼姿勢の範囲外にあることを認識可能である。その結果、レチクルを移動させることまたは調節することにおいてユーザを補助するために、ウェアラブルシステムは、ユーザの眼が移動している方向に対応する方向にレチクルの移動を加速し得る(例えば、角度を修正する)。レチクルの移動を加速することによって、ウェアラブルシステムは、有利に、眼の負担、頭痛、眼不快感等の可能性を低減させる。
ユーザが頭部姿勢または眼の注視の組み合わせを使用して仮想レチクルを標的と整列させ得るプロセスを提供することによって、ウェアラブルシステムは、直感的プロセスを提供することができ、それによって、ユーザは、頸部の負担または眼の負担を低減または最小化しながら、より容易に整列を生じさせることができる。
(ウェアラブルシステムの3Dディスプレイの例)
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2次元(2D)または3次元(3D)仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであり得る。ウェアラブルシステムは、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMR環境を提示し得るウェアラブルデバイスを含むことができる。ウェアラブルデバイスは、頭部搭載型デバイス(HMD)であることができ、それは、ARデバイス(ARD)と同義的に使用される。
図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う複合現実シナリオの例証を描写する。図1では、MR場面100が、描写され、MR技術のユーザは、人々、木々、背景内の建物、およびコンクリートプラットフォーム120を特徴とする実世界公園状設定110を見る。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える飛んでいる漫画のようなアバタキャラクタ140とも「見える」と知覚するが、これらの要素は、実世界には存在しない。
真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を3Dディスプレイが生成するために、ディスプレイの視野内の各点に関して、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、遠近調節衝突は、不安定な結像、有害な眼の負担、頭痛をもたらし、遠近調節情報のない場合、表面深度のほぼ完全な欠如をもたらし得る。
VR、AR、およびMR体験は、複数の深度平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、各深度平面に関して異なり得(例えば、場面またはオブジェクトの若干異なる提示を提供する)、画像は、視認者の眼によって別個に集束させられ、それによって、異なる深度平面上に位置する場面に関する異なる画像特徴に焦点を合わせるために要求される眼の遠近調節に基づいて、または、焦点からずれている異なる深度平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
図2は、ウェアラブルシステム200の例を図示する。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ、装着者、または視認者210によってウェアラブルであるフレーム230に結合され得る。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示することができる。ディスプレイ220は、ユーザの頭部に装着される頭部搭載型ディスプレイ(HMD)を含むことができる。いくつかの実施形態では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音響制御を提供する)。
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する外向きに面した結像システム464(図4に示される)を含むことができる。ウェアラブルシステム200は、ユーザの眼移動を追跡することができる内向きに面した結像システム462(図4に示される)も含むことができる。内向きに面した結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに面した結像システム462は、フレーム230に取り付けられ、処理モジュール260または270と電気通信し得、処理モジュール260または270は、内向きに面した結像システムによって取得された画像情報を処理し、例えば、ユーザ210の眼、眼の移動、または眼姿勢の瞳孔直径または向きを決定し得る。
例として、ウェアラブルシステム200は、外向きに面した結像システム464または内向きに面した結像システム462を使用して、ユーザの姿勢の画像を取得することができる。画像は、静止画像、ビデオのフレームもしくはビデオ、その組み合わせ等であり得る。
ディスプレイ220は、有線導線または無線接続等によって、ローカルデータ処理モジュール260に動作可能に結合され(250)、ローカルデータ処理モジュール260は、フレーム230に固定して取り付けられる構成、ユーザによって装着されるヘルメットもしくは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、または別様にユーザ210に(例えば、バックパック式構成において、ベルト結合式構成において)可撤式に取り付けられる構成等、種々の構成において搭載され得る。
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備え得、それらの両方は、データの処理、キャッシング、および記憶を補助するために利用され得る。データは、(a)画像捕捉デバイス(例えば、内向きに面した結像システムおよび/または外向きに面した結像システムにおけるカメラ)、マイクロホン、慣性測定ユニット(IMU)(例えば、加速度計、重力計、磁力計等)、コンパス、全地球測位システム(GPS)、無線デバイス、もしくはジャイロスコープ等の(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)センサから捕捉されるデータ、または、(b)おそらくそのような処理もしくは読み出し後にディスプレイ220への伝達のために、遠隔処理モジュール270および/もしくは遠隔データリポジトリ280を使用して取得もしくは処理されるデータを含み得る。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンクを介して等、通信リンク262または264を遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合され得る。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、互いに動作可能に結合され得る。
いくつかの実施形態では、遠隔処理モジュール270は、データおよび/または画像情報を分析および処理するように構成された1つ以上のプロセッサを備え得る。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備え得、それは、「クラウド」リソース構成におけるインターネットまたは他のネットワーキング構成を通して利用可能であり得る。いくつかの実施形態では、全てのデータが、記憶され、全ての計算が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
ヒト視覚系は、複雑であり、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、両眼離反運動および遠近調節の組み合わせに起因して、オブジェクトを3次元として知覚し得ると考えられる。互いに対する2つの眼の両眼離反運動(すなわち、眼の視線を収束させ、オブジェクト上に固定させるための互いに向かうような、またはそれから離れるような瞳孔の転がり運動)は、眼の水晶体の集束(または「遠近調節」)と密接に関連付けられる。通常条件下では、眼の水晶体の焦点を変更する、または眼を遠近調節し、1つのオブジェクトから異なる距離における別のオブジェクトに焦点を変更することは、「遠近調節-両眼離反運動反射」として知られる関係下、自動的に、同じ距離に対する両眼離反運動における合致する変化を生じさせるであろう。同様に、両眼離反運動における変化は、通常条件下、遠近調節における合致する変化を誘起するであろう。遠近調節と両眼離反運動との間のより良好な合致を提供するディスプレイシステムは、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。図3を参照すると、z-軸上の眼302および304からの種々の距離におけるオブジェクトは、それらのオブジェクトが焦点が合っているように、眼302および304によって遠近調節される。眼302および304は、特定の遠近調節された状態をとり、z-軸に沿った異なる距離におけるオブジェクトに焦点を合わせる。その結果、特定の遠近調節された状態は、関連付けられた焦点距離を有する深度平面306のうちの特定の1つに関連付けられていると言い得、それによって、特定の深度平面におけるオブジェクトまたはオブジェクトの一部は、眼がその深度平面に対して遠近調節された状態にあるとき、焦点が合っている。いくつかの実施形態では、3次元画像は、眼302および304の各々に関して画像の異なる提示を提供することによってシミュレートされ得、深度平面の各々に対応する画像の異なる提示を提供することによってもシミュレートされ得る。例証を明確にするために、別個であるように示されるが、眼302および304の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、深度平面の等高線は、深度平面内の全ての特徴が特定の遠近調節された状態における眼で焦点が合うように、物理的空間内で湾曲され得ることを理解されたい。理論によって限定されるわけではないが、人間の眼は、典型的に、深度知覚を提供するために、有限数深度面を解釈し得ると考えられる。その結果、知覚される深度の高度に真実味のあるシミュレーションが、これらの限定された数の深度面の各々に対応する画像の異なる表現を眼に提供することによって達成され得る。
(導波管スタックアセンブリ)
図4は、画像情報をユーザに出力するための導波管スタックの例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、400bを使用して、3次元知覚を眼/脳に提供するために利用され得る導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、図2のウェアラブルシステム200に対応し得、図4は、ウェアラブルシステム200のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、図2のディスプレイ220の中に統合され得る。
図4を継続して参照すると、導波管アセンブリ480は、複数の特徴458、456、454、452を導波管の間に含み得る。いくつかの実施形態では、特徴458、456、454、452は、レンズであり得る。他の実施形態では、特徴458、456、454、452は、レンズでないこともある。むしろ、それらは、単に、スペーサであり得る(例えば、空気間隙を形成するためのクラッディング層または構造)。
導波管432b、434b、436b、438b、440bまたは複数のレンズ458、456、454、452は、種々のレベルの波面曲率または光線発散を用いて、画像情報を眼に送信するように構成され得る。各導波管レベルは、特定の深度平面に関連付けられ得、その深度平面に対応する画像情報を出力するように構成され得る。画像投入デバイス420、422、424、426、428は、導波管440b、438b、436b、434b、432bの中に画像情報を投入するために利用され得、それらの各々は、眼410に向かって出力するための入射光を各それぞれの導波管を横断して分配するように構成され得る。光は、画像投入デバイス420、422、424、426、428の出力表面から出射し、導波管440b、438b、436b、434b、432bの対応する入力縁の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、クローン化されたコリメートビームの場全体を出力するために各導波管の中に投入され、クローン化されたコリメートビームは、特定の導波管に関連付けられる深度面に対応する特定の角度(および発散量)において眼410の方に向けられ得る。
いくつかの実施形態では、画像投入デバイス420、422、424、426、428は、各々が対応する導波管440b、438b、436b、434b、432bの中に投入するための画像情報を生成する別々のディスプレイである。いくつかの他の実施形態では、画像投入デバイス420、422、424、426、428は、例えば、1つ以上の光学導管(光ファイバケーブル等)を介して、画像情報を画像投入デバイス420、422、424、426、428の各々に送り得る単一の多重化されたディスプレイの出力端である。
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整するプログラミング(例えば、非一過性コンピュータ読み取り可能な媒体内の命令)を含む。いくつかの実施形態では、コントローラ460は、単一の一体型デバイスまたは有線もしくは無線通信チャンネルによって接続される分散型システムであり得る。コントローラ460は、いくつかの実施形態では、処理モジュール260または270(図2に図示される)の一部であり得る。
導波管440b、438b、436b、434b、432bは、全内部反射(TIR)によって、光を各それぞれの導波管内で伝搬させるように構成され得る。導波管440b、438b、436b、434b、432bの各々は、主要上部および底部表面と、それらの主要上部と底部表面との間に延びている縁とを伴う平面であるか、または、別の形状(例えば、湾曲)を有し得る。図示される構成では、導波管440b、438b、436b、434b、432bの各々は、光抽出光学要素440a、438a、436a、434a、432aを含み得、それらは、画像情報を眼410に出力するために、各それぞれの導波管内で伝搬する光を導波管の外に向け直すことによって光を導波管から抽出するように構成されている。抽出された光は、外部結合光とも称され得、光抽出光学要素は、外部結合光学要素とも称され得る。抽出された光のビームは、導波管によって、導波管内を伝搬する光が光向け直し要素に衝打する場所において出力される。光抽出光学要素(440a、438a、436a、434a、432a)は、例えば、反射または回折光学特徴であり得る。説明を容易にし、図面を明確にするために、導波管440b、438b、436b、434b、432bの底部主要表面に配置されて図示されるが、いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、上部または底部主要表面に配置され得るか、または、直接導波管440b、438b、436b、434b、432bの容積内に配置され得る。いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、透明基板に取り付けられ、導波管440b、438b、436b、434b、432bを形成する材料の層内に形成され得る。いくつかの他の実施形態では、導波管440b、438b、436b、434b、432bは、モノリシック材料片であり得、光抽出光学要素440a、438a、436a、434a、432aは、その材料片の表面上および/または内部に形成され得る。
図4を継続して参照すると、本明細書に議論されるように、各導波管440b、438b、436b、434b、432bは、光を出力し、特定の深度平面に対応する画像を形成するように構成される。例えば、眼に最も近い導波管432bは、そのような導波管432bの中に投入されると、コリメートされた光を眼410に送達するように構成され得る。コリメートされた光は、光学無限遠焦点面を表し得る。次の上方の導波管434bは、コリメートされた光を送出するように構成され得、光は、眼410に到達し得る前、第1のレンズ452(例えば、負のレンズ)を通過する。第1のレンズ452は、眼/脳が、その次の導波管434bから生じる光が光学無限遠から眼410に向かって内向きにより近い第1の焦点面から生じるように解釈するように、若干の凸面波面曲率を生成するように構成され得る。同様に、第3の上方の導波管436bは、眼410に到達する前、その出力光を第1のレンズ452および第2のレンズ454の両方に通過す。第1および第2のレンズ452および454の組み合わせられた屈折力は、眼/脳が、第3の上方の導波管436bから生じる光が次の導波管434bからの光であった光学無限遠から人物に向かって内向きにさらに近い第2の焦点面から生じるように解釈するように、別の増分量の波面曲率を生成するように構成され得る。
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も、同様に構成され、スタック内の最も高い導波管440bは、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他側の世界470から生じる光を視認/解釈するときにレンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償し得る。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面の両方は、静的であり得る(例えば、動的または電気活性ではない)。いくつかの実施形態では、一方または両方は、電気活性特徴を使用して動的であり得る。
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、光をそれらのそれぞれの導波管から向け直し、かつ導波管に関連付けられた特定の深度平面のための適切な発散またはコリメーション量を用いてこの光を出力するように構成され得る。その結果、異なる関連付けられた深度平面を有する導波管は、異なる構成の光抽出光学要素を有し得、それらは、関連付けられた深度平面に応じた異なる発散量を用いて光を出力する。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、特定の角度において光を出力するように構成され得る立体または表面特徴であり得る。例えば、光抽出光学要素440a、438a、436a、434a、432aは、体積ホログラム、表面ホログラム、および/または回折格子であり得る。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴、または、「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみが、DOEの各交差を用いて、眼410に向かって偏向させられる一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を運ぶ光は、したがって、複数の場所において導波管から出射するいくつかの関連出射ビームに分割されることができ、その結果、導波管内で跳ね返るこの特定のコリメートされたビームに関して、眼304に向かって非常に均一パターンの出射放出である。
いくつかの実施形態では、1つ以上のDOEは、能動的に回折する「オン」状態とあまり回折しない「オフ」状態との間で切り替え可能であり得る。例えば、切り替え可能なDOEは、ポリマー分散液晶の層を備え得、微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができるか(その場合、パターンは、入射光をあまり回折しない)、または、微小液滴は、ホスト媒体のそれに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折する)。
いくつかの実施形態では、深度平面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは向きに基づいて、動的に変動させられ得る。被写界深度は、視認者の瞳孔サイズと反比例して変化し得る。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、増加し、それによって、その平面の場所が眼の焦点深度を越えるので判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より焦点が合って見え得る。同様に、異なる画像を視認者に提示するために使用される間隔を置かれた深度平面の数は、減少させられた瞳孔サイズに伴って減少させられ得る。例えば、視認者は、1つの瞳孔サイズにおいて、一方の深度平面から他方の深度平面への眼の遠近調節を行わずに第1の深度平面および第2の深度平面の両方の詳細を明確に知覚することが可能ではないこともある。しかしながら、これらの2つの深度平面は、別の瞳孔サイズにおいて、遠近調節を変化させずにユーザに同時に焦点が合うには十分であり得る。
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズおよび/または向きの決定に基づいて、もしくは特定の瞳孔サイズ/または向きを示す電気信号を受信すると、画像情報を受信する導波管の数を変動させ得る。例えば、ユーザの眼が、2つの導波管に関連付けられた2つの深度平面間を区別不能である場合、コントローラ460は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされ得る。有利に、それは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切り替え可能である実施形態では、DOEは、導波管が画像情報を受信すると、オフ状態に切り替えられ得る。
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、この条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、この条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズも、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動させられ得る。
ウェアラブルシステム400は、世界470の一部を結像する外向きに面した結像システム464(例えば、デジタルカメラ)を含むことができる。世界470のこの部分は、世界カメラの視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるので、ウェアラブルシステム400を包囲する4πステラジアンの立体角を含み得る。他の状況では、装着者の移動は、より抑制され得、従って、装着者のFORは、より小さい立体角に対し得る。外向きに面した結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。
ウェアラブルシステム400は、眼移動および顔移動等のユーザの移動を観察する内向きに面した結像システム466(例えば、デジタルカメラ)も含むことができる。内向きに面した結像システム466は、眼410の画像を捕捉し、眼304の瞳孔のサイズまたは向きを決定するために使用され得る。内向きに面した結像システム466は、ユーザが見ている方向(例えば、眼姿勢)を決定することにおいて使用するために、または、ユーザのバイオメトリック識別のために(例えば、虹彩識別を介して)、画像を得るために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、各眼に関して、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用され得る。いくつかの他の実施形態では、単一眼410のみの瞳孔直径または向き(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに面した結像システム466によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得るユーザの眼姿勢または気分を決定するために分析され得る。ウェアラブルシステム400は、1つ以上の頭部姿勢センサ(加速度計、ジャイロスコープ
、または磁力計を含み得る)等を使用して、頭部姿勢(例えば、頭部位置または頭部向き)も決定し得る。
ウェアラブルシステム400は、ユーザがコマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得るユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、方向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能な平行移動(例えば、左/右、前方/後方、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。平行移動をサポートするマルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートするマルチDOFコントローラは、6DOFと称され得る。ある場合、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押し、またはその上でスワイプし、入力をウェアラブルシステム400に提供し得る(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用中、ユーザの手によって保持され得る。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
図5は、導波管によって出力された出射ビームの例を示す。1つの導波管が、図示されるが、導波管アセンブリ480内の他の導波管も、同様に機能し得、導波管アセンブリ480は、複数の導波管を含むことを理解されたい。光520が、導波管432bの入力縁432cにおいて導波管432bの中に投入され、TIRによって導波管432b内を伝搬する。光520がDOE432aに衝突する点において、光の一部が、出射ビーム510として導波管から出射する。出射ビーム510は、実質的に平行として図示されるが、それらはまた、導波管432bに関連付けられた深度平面に応じて、ある角度で眼410に伝搬するように向け直され得る(例えば、発散出射ビームを形成する)。実質的に平行な出射ビームは、光を外部結合し、眼410から長距離(例えば、光学無限遠)において深度平面上に設定されるように見える画像を形成する光抽出光学要素を伴う導波管を示し得ることを理解されたい。他の導波管または他の光抽出光学要素の組は、より発散する出射ビームパターンを出力し得、それは、眼410がより近い距離に遠近調節し、眼410が網膜に焦点を合わせることを要求し、光学無限遠より眼410に近い距離からの光として脳によって解釈されるであろう。
図6は、導波管装置と、光を導波管装置へまたはそれから光学的に結合するための光学結合器サブシステムと、多焦点立体表示、画像、または明視野の生成において使用される制御サブシステムとを含む光学システムを示す概略図である。光学システムは、導波管装置と、光を導波管装置にまたはそれから光学的に結合するための光学結合器サブシステムと、制御サブシステムとを含むことができる。光学システムは、多焦点立体、画像、または明視野を生成するために使用されることができる。光学システムは、1つ以上の一次平面導波管632a(1つのみが図6に示される)と、一次導波管632aの少なくともいくつかの各々に関連付けられた1つ以上のDOE632bとを含むことができる。平面導波管632bは、図4を参照して議論される導波管432b、434b、436b、438b、440bに類似することができる。光学システムは、分配導波管装置を採用し、光を第1の軸(図6の図では、垂直またはY-軸)に沿って中継し、第1の軸(例えば、Y-軸)に沿って光の有効射出瞳を拡張させ得る。分配導波管装置は、例えば、分配平面導波管622bと、分配平面導波管622bに関連付けられた少なくとも1つのDOE622a(二重破線によって図示される)とを含み得る。分配平面導波管622bは、少なくともいくつかの点において、それと異なる向きを有する一次平面導波管632bと類似または同じであり得る。同様に、少なくとも1つのDOE622aは、少なくともいくつかの点において、DOE632aと類似または同じであり得る。例えば、分配平面導波管622bまたはDOE622aは、それぞれ、一次平面導波管632bまたはDOE632aと同一材料から成り得る。図6に示される光学ディスプレイシステム600の実施形態は、図2に示されるウェアラブルシステム200の中に統合されることができる。
中継され、射出瞳が拡張させられた光は、分配導波管装置から1つ以上の一次平面導波管632bの中に光学的に結合され得る。一次平面導波管632bは、好ましくは、第1の軸に直交する第2の軸(例えば、図6の図では、水平またはX-軸)に沿って、光を中継することができる。着目すべきこととして、第2の軸は、第1の軸に対して非直交軸であることができる。一次平面導波管632bは、その第2の軸(例えば、X-軸)に沿って、光の有効射出瞳を拡張させる。例えば、分配平面導波管622bは、光を垂直またはY-軸に沿って中継および拡張させ、光を水平またはX-軸に沿って中継および拡張させ得る一次平面導波管632bにその光を通すことができる。
光学システムは、単一モード光ファイバ640の近位端の中に光学的に結合され得る1つ以上の着色光源(例えば、赤色、緑色、および青色レーザ光)610を含み得る。光ファイバ640の遠位端は、圧電材料の中空管642に通されるか、またはそれを通して受け取られ得る。遠位端は、固定されない可撓性カンチレバー644として、管642から突出する。圧電管642は、4つの象限電極(図示せず)に関連付けられることができる。電極は、例えば、管642の外側、外側表面もしくは外側周縁、または直径にめっきされ得る。コア電極(図示せず)も、管642のコア、中心、内側周縁、または内径に位置し得る。
例えば、ワイヤ660を介して電気的に結合された駆動電子機器650は、対向する対の電極を駆動し、圧電管642を独立して2つの軸において曲げる。光ファイバ644の突出する遠位先端は、機械的共鳴モードを有する。共鳴の周波数は、光ファイバ644の直径、長さ、および材料特性に依存し得る。圧電管642をファイバカンチレバー644の第1の機械的共鳴モードの近くで振動させることによって、ファイバカンチレバー644は、振動させられ、大きい偏向を通して掃引し得る。
2つの軸において共振振動を刺激することによって、ファイバカンチレバー644の先端は、2次元(2-D)走査を満たすエリアにおいて2軸方向に走査される。光源610の強度をファイバカンチレバー644の走査と同期して変調することによって、ファイバカンチレバー644から発せられる光は、画像を形成することができる。そのような設定の説明は、米国特許公開第2014/0003762号(参照することによってその全体として本明細書に組み込まれる)に提供されている。
光学結合器サブシステムのコンポーネントは、走査ファイバカンチレバー644から発せられる光をコリメートすることができる。コリメートされた光は、鏡付き表面648によって、少なくとも1つの回折光学要素(DOE)622aを含む狭い分配平面導波管622bの中に反射されることができる。コリメートされた光は、TIRによって分配平面導波管622bに沿って(図6の図に対して)垂直に伝搬し、そうすることにおいて、DOE622aと繰り返し交差することができる。DOE622aは、好ましくは、低回折効率を有する。これは、光の一部(例えば、10%)がDOE622aとの交差の各点においてより大きい一次平面導波管632bの縁に向かって回折され、光の一部がTIRを介して分配平面導波管622bの長さを辿ってそのオリジナル軌道上で継続するようにすることができる。
DOE622aとの交差の各点において、追加の光が、一次導波管632bの入口に向かって回折されることができる。入射光を複数の外部結合組に分割することによって、光の射出瞳は、分配平面導波管622b内のDOE4によって垂直に拡張させられることができる。分配平面導波管622bから外部結合されたこの垂直に拡張させられた光は、一次平面導波管632bの縁に進入することができる。
一次導波管632bに進入する光は、TIRを介して、一次導波管632bに沿って(図6の図に対して)水平に伝搬することができる。光は、TIRを介して一次導波管632bの長さの少なくとも一部に沿って水平に伝搬するとき、複数の点においてDOE632aと交差する。DOE632aは、有利に、線形回折パターンと放射対称回折パターンとの総和である位相プロファイルを有し、光の偏向および集束の両方を生成するように設計または構成され得る。DOE632aは、有利に、ビームの光の一部のみが、DOE632aの各交差に伴って視認者の眼に向かって偏向させられる一方、光の残りが、TIRを介して、一次導波管632bを通して伝搬し続けるように、低回折効率(例えば、10%)を有し得る。
伝搬する光とDOE632aとの間の交差の各点において、光の一部は、一次導波管632bの隣接面に向かって回折され、光がTIRから逃れ、一次導波管632bの面から出てくることを可能にする。いくつかの実施形態では、DOE632aの放射対称回折パターンは、加えて、ある焦点レベルを回折された光に授け、個々のビームの光波面を成形すること(例えば、曲率を授けること)、およびビームを設計される焦点レベルに合致する角度に操向することの両方を行う。
故に、これらの異なる経路は、異なる角度におけるDOE632aの多重度、焦点レベル、および/または射出瞳において異なる充填パターンをもたらすことによって、光が一次平面導波管632bの外部で結合されるようにすることができる。射出瞳における異なる充填パターンは、有利に、複数の深度平面を伴う明視野ディスプレイを生成するために使用されることができる。導波管アセンブリ内の各層またはスタック内の層の組(例えば、3層)が、それぞれの色(例えば、赤色、青色、緑色)を生成するために採用され得る。したがって、例えば、第1の3つの隣接する層の組が、赤色、青色、および緑色光を第1の焦点深度においてそれぞれ生成するために採用され得る。第2の3つの隣接する層の組が、赤色、青色、および緑色光を第2の焦点深度においてそれぞれ生成するために採用され得る。複数の組が、種々の焦点深度を伴うフル3Dまたは4Dカラー画像明視野を生成するために採用され得る。
(ウェアラブルシステムの他のコンポーネント)
多くの実装では、ウェアラブルシステムは、上で説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含み得る。ウェアラブルシステムは、例えば、1つ以上の触知デバイスまたはコンポーネントを含み得る。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であり得る。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力および/またはテクスチャの感覚を提供し得る。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現し得るか、または、仮想コンテンツが表す想像上のオブジェクトもしくはキャラクタ(例えば、ドラゴン)の感覚を再現し得る。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着され得る(例えば、ユーザウェアラブルグローブ)。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持され得る。
ウェアラブルシステムは、例えば、ユーザによって操作可能であり、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする1つ以上の物理的オブジェクトを含み得る。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、例えば、金属またはプラスチック片、壁、テーブルの表面等、無生物オブジェクトの形態をとり得る。ある実装では、トーテムは、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を実際に有していないこともある。代わりに、トーテムは、単に、物理的表面を提供し得、ウェアラブルシステムは、ユーザにトーテムの1つ以上の表面上にあるように見えるように、ユーザインターフェースをレンダリングし得る。例えば、ウェアラブルシステムは、トーテムの1つ以上の表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングし得る。例えば、ウェアラブルシステムは、トーテムとしての役割を果たすアルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングし得る。長方形プレート自体は、任意の物理的キーまたはトラックパッドもしくはセンサを有していない。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用もしくはタッチを検出し得る。ユーザ入力デバイス466(図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカもしくは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得るトーテムの実施形態であり得る。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムおよび/または他のユーザと相互作用し得る。
本開示のウェアラブルデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明されている。
(例示的ウェアラブルシステム、環境、およびインターフェース)
ウェアラブルシステムは、高被写界深度をレンダリングされた明視野内で達成するために、種々のマッピング関連技法を採用し得る。仮想世界をマッピングすることにおいて、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されたFOV画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点(2D点または3D点等)の組を収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第1のユーザの世界モデルは、第2のユーザが第1のユーザを包囲する世界を体験し得るように、(例えば、クラウドネットワーク等のネットワークを経由して)第2のユーザに通信されることができる。
図7は、MR環境700の例のブロック図である。MR環境700は、入力(例えば、ユーザのウェアラブルシステムからの視覚的入力702、室内カメラ等の静止入力704、種々のセンサからの感覚入力706、ユーザ入力デバイス466からのジェスチャ、トーテム、眼追跡、ユーザ入力等)を1人以上のユーザウェアラブルシステム(例えば、ウェアラブルシステム200またはディスプレイシステム220)または静止室内システム(例えば、室内カメラ等)から受信するように構成され得る。ウェアラブルシステムは、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ、内向きに面した結像システム、外向きに面した結像システム等)を使用して、ユーザの環境の場所および種々の他の属性を決定することができる。この情報は、異なる視点からの画像または種々のキューを提供し得る部屋内の静止カメラからの情報でさらに補完され得る。カメラ(室内カメラおよび/または外向きに面した結像システムのカメラ等)によって取得された画像データは、マッピング点の組にまとめられ得る。
1つ以上のオブジェクト認識装置708が、受信されたデータ(例えば、点の集合)を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース710を活用して、意味情報をオブジェクトに結び付けることができる。マップデータベース710は、経時的に収集された種々の点およびその対応するオブジェクトを備え得る。種々のデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して互いに接続され、クラウドにアクセスすることができる。
この情報およびマップデータベース内の点の集合に基づいて、オブジェクト認識装置708a-708nは、環境内のオブジェクトを認識し得る。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ユーザの環境内の他のオブジェクト等を認識することができる。1つ以上のオブジェクト認識装置が、ある特性を伴うオブジェクトのために専門化され得る。例えば、オブジェクト認識装置708aは、顔を認識するために使用され得る一方、別のオブジェクト認識装置は、トーテムを認識するために使用され得る。
オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施され得る。例えば、ウェアラブルシステムは、外向きに面した結像システム464(図4に示される)によって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識、オブジェクト姿勢推定、学習、インデックス化、運動推定、または画像復元等を実施することができる。1つ以上のコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用され得る。コンピュータビジョンアルゴリズムの非限定的例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、向きFASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
いくつかの実施形態では、オブジェクト認識は、種々の機械学習アルゴリズムによって実施されることができる。訓練されると、機械学習アルゴリズムは、HMDによって記憶されることができる。機械学習アルゴリズムのいくつかの例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Generalization等)、および/または他の機械学習アルゴリズムを含む。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される追加の画像の組)、条件付き状況、または他の変形例に特定の追加のモデルを生成し得る。いくつかの実施形態では、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含み得る。
マップデータベース内のこの情報および点の集合に基づいて、オブジェクト認識装置708a-708nは、オブジェクトを認識し、オブジェクトを意味情報で補完し、命をオブジェクトに与え得る。例えば、オブジェクト認識装置が、点の組がドアであることを認識する場合、システムは、いくつかの意味情報を結び付け得る(例えば、ドアは、ヒンジを有し、ヒンジの周りに90度移動を有する)。オブジェクト認識装置が、点の組が鏡であることを認識する場合、システムは、鏡が、部屋内のオブジェクトの画像を反射し得る反射表面を有するという意味情報を結び付け得る。時間とともに、マップデータベースは、システム(ローカルに常駐し得る、または無線ネットワークを通してアクセス可能であり得る)がより多くのデータを世界から蓄積するにつれて成長する。オブジェクトが認識されると、情報は、1つ以上のウェアラブルシステムに伝送され得る。例えば、MR環境700は、Californiaで生成している場面についての情報を含み得る。環境700は、New Yorkにおける1人以上のユーザに伝送され得る。FOVカメラおよび他の入力から受信されたデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第2のユーザに正確に「パス」され得るように、種々の画像から収集された点をマッピングし、オブジェクトを認識すること等ができる。環境700は、場所特定目的のために、トポロジマップも使用し得る。
図8は、認識されたオブジェクトに関連して仮想コンテンツをレンダリングする方法800の例のプロセスフロー図である。方法800は、仮想場面がウェアラブルシステムのユーザに表され得る方法を説明する。ユーザは、その場面から地理的に遠隔に存在し得る。例えば、ユーザは、New Yorkに存在し得るが、Californiaで現在起こっている場面を視認することを所望し得るか、または、Californiaに存在する友人と散歩に行くことを所望し得る。
ブロック810では、ウェアラブルシステムは、ユーザの環境に関する入力をユーザおよび他のユーザから受信し得る。これは、種々の入力デバイスおよびマップデータベース内にすでに保有されている知識を通して達成され得る。ユーザのFOVカメラ、センサ、GPS、眼追跡等が、ブロック810において、情報をシステムに伝達する。システムは、ブロック820において、この情報に基づいて、疎点を決定し得る。疎点は、ユーザの周囲における種々のオブジェクトの向きおよび位置を表示および理解することにおいて使用され得る姿勢データ(例えば、頭部姿勢、眼姿勢、身体姿勢、または手のジェスチャ)を決定することにおいて使用され得る。オブジェクト認識装置708a、708nは、ブロック830において、これらの収集された点を通してクローリングし、マップデータベースを使用して、1つ以上のオブジェクトを認識し得る。この情報は、次いで、ブロック840において、ユーザの個々のウェアラブルシステムに伝達され得、所望の仮想場面が、ブロック850において、適宜、ユーザに表示され得る。例えば、所望の仮想場面(例えば、CAにおけるユーザ)が、New Yorkにおけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な向き、位置等において表示され得る。
図9は、ウェアラブルシステムの別の例のブロック図である。この例では、ウェアラブルシステム900は、世界に関するマップデータを含み得るマップを備えている。マップは、ウェアラブルシステム上にローカルに部分的に常駐し得、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、クラウドシステム内)に部分的に常駐し得る。姿勢プロセス910が、ウェアラブルコンピューティングアーキテクチャ(例えば、処理モジュール260またはコントローラ460)上で実行され、ウェアラブルコンピューティングハードウェアまたはユーザの位置および向きを決定するために、マップからのデータを利用し得る。姿勢データは、ユーザが、システムを体験し、その世界内で動作するにつれて、リアルタイムで収集されたデータから計算され得る。データは、実または仮想環境内のオブジェクトに関する画像、センサ(加速度計、ジャイロスコープ、磁力計、またはそのようなコンポーネントの組み合わせを備え得る慣性測定ユニット(IMU)等)からのデータ、および表面情報を備え得る。
疎点表現は、同時場所特定およびマッピング(入力が画像/視覚のみである構成を指す、SLAMまたはV-SLAM)プロセスの出力であり得る。システムは、世界内の種々のコンポーネントの場所のみならず、世界を構成している事物を見出すように構成されることができる。姿勢は、マップを埋めることおよびマップからのデータを使用することを含む多くの目標を達成する構築ブロックであり得る。
一実施形態では、疎点位置は、それ自体では完全に適正でないこともあり、さらなる情報が、多焦点AR、VR、またはMR体験を生成するために必要とされ得る。概して深度マップ情報を指す稠密表現が、少なくとも部分的にこの間隙を充填するために利用され得る。そのような情報は、立体視940と称されるプロセスから計算され得、深度情報は、三角測量または飛行時間感知等の技法を使用して決定される。画像情報およびアクティブパターン(アクティブプロジェクタを使用して生成される赤外線パターン等)が、立体視プロセス940への入力としての役割を果たし得る。かなりの量の深度マップ情報が、一緒に融合され得、このうちのいくつかは、表面表現を用いて要約され得る。例えば、数学的に定義可能な表面は、ゲームエンジンのような他の処理デバイスへの効率的(例えば、大規模点群と比較して)かつ使いやすい入力であり得る。したがって、立体視プロセス(例えば、深度マップ)940の出力は、融合プロセス930において組み合わせられ得る。姿勢は、同様に、この融合プロセス930への入力であり得、かつ、融合930の出力は、マッププロセス920を埋めるための入力となる。サブ表面が、トポグラフィマッピングにおける等、互いに接続し、より大きい表面を形成し得、マップは、点および表面の大規模ハイブリッドとなる。
複合現実プロセス960における種々の側面を解決するために、種々の入力が、利用され得る。例えば、図9に描写される実施形態では、ゲームパラメータは、システムのユーザが1匹以上のモンスタと種々の場所においてモンスタバトルゲームをプレーしていること、モンスタが死んでいること、種々の条件下で逃げていること(ユーザがモンスタを撃つ場合等)、種々の場所における壁または他のオブジェクト等を決定するための入力であり得る。世界マップは、複合現実に対する別の有用な入力である、そのようなオブジェクトが互いに対して存在する場所に関する情報を含み得る。世界に対する姿勢も、入力となり、ほぼあらゆる双方向システムに対して重要な役割を果たす。
ユーザからの制御または入力は、ウェアラブルシステム900への別の入力である。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、感覚入力等を含むことができる。動き回るために、またはゲームをプレーするために、例えば、ユーザは、ウェアラブルシステム900に何をしたいかに関して命令する必要があり得る。空間内で自ら移動するだけではなく、利用され得る種々の形態のユーザ制御が、存在する。一実施形態では、トーテム(例えば、ユーザ入力デバイス)、または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡され得る。システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう(例えば、トーテムまたはオブジェクトが、銃である場合、システムは、場所および向きだけではなく、ユーザが、IMU等のセンサを装備し得るトリガまたは他の感知ボタンもしくは要素をクリックしているかどうかも理解するように構成され得、それは、そのようなアクティビティがカメラのいずれかの視野内にないときでも、何が起こっているかを決定することにおいて補助し得る。)
手のジェスチャ追跡または認識も、入力情報を提供し得る。ウェアラブルシステム900は、ボタンを押すための手のジェスチャ、左または右、停止、握持、保持等をジェスチャするための手のジェスチャを追跡および解釈するように構成され得る。例えば、1つの構成では、ユーザは、非ゲーム環境において電子メールまたはカレンダを通してフリップすること、または別の人物もしくはプレーヤと「フィストバンプ」を行うことを所望し得る。ウェアラブルシステム900は、動的であることも、そうではないこともある最小量の手のジェスチャを活用するように構成され得る。例えば、ジェスチャは、停止を示すために手を広げること、OKを示すために親指を上げること、OKではないことを示すために親指を下げること、または方向性コマンドを示すために左右もしくは上下に手をフリップすること等、単純な静的ジェスチャであり得る。
眼追跡は、別の入力である(例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、特定の深度または範囲においてレンダリングする)。一実施形態では、眼の両眼離反運動が、三角測量を使用して決定され得、次いで、その特定の人物のために開発された両眼離反運動/遠近調節モデルを使用して、遠近調節が、決定され得る。
カメラシステムに関して、図9に示される例示的ウェアラブルシステム900は、3対のカメラを含むことができる:ユーザの顔の両側に配列された相対的広FOVまたは受動SLAMの対のカメラ、立体視結像プロセス940をハンドリングすること、およびユーザの顔の正面の手のジェスチャおよびトーテム/オブジェクトの軌道を捕捉することも行うためにユーザの正面に向けられた異なる対のカメラ。ステレオプロセス940に対するFOVカメラおよび対のカメラは、外向きに面した結像システム464(図4に示される)の一部であり得る。ウェアラブルシステム900は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向けられた眼追跡カメラ(図4に示される内向きに面した結像システム462の一部であり得る)を含むことができる。ウェアラブルシステム900は、1つ以上のテクスチャ化光プロジェクタ(赤外線(IR)プロジェクタ等)も備え、テクスチャを場面の中に投入し得る。
図10は、ウェアラブルシステムへのユーザ入力を決定するための方法1000の例のプロセスフロー図である。この例では、ユーザは、トーテムと相互作用し得る。ユーザは、複数のトーテムを有し得る。例えば、ユーザは、ソーシャルメディアアプリケーションのための指定された1つのトーテム、ゲームをプレーするための別のトーテム等を有し得る。ブロック1010では、ウェアラブルシステムは、トーテムの運動を検出し得る。トーテムの移動は、外向きに面したシステムを通して認識され得るか、または、センサ(例えば、触知グローブ、画像センサ、手追跡デバイス、眼追跡カメラ、頭部姿勢センサ等)を通して検出され得る。
少なくとも部分的に検出されたジェスチャ、眼姿勢、頭部姿勢、またはトーテムを通した入力に基づいて、ウェアラブルシステムは、ブロック1020において、基準フレームに対するトーテム(またはユーザの眼もしくは頭部もしくはジェスチャ)の位置、向き、および/または移動を検出する。基準フレームは、マップ点の組であり得、それに基づいてウェアラブルシステムがトーテム(またはユーザ)の移動をアクションまたはコマンドに変換する。ブロック1030では、トーテムとのユーザの相互作用が、マッピングされる。基準フレーム1020に対するユーザ相互作用のマッピングに基づいて、システムは、ブロック1040において、ユーザ入力を決定する。
例えば、ユーザは、トーテムまたは物理的オブジェクトを前後に移動させ、仮想ページを捲り、次のページに移動すること、または、1つのユーザインターフェース(UI)ディスプレイ画面から別のUI画面に移動することを示し得る。別の例として、ユーザは、ユーザのFOR内の異なる実または仮想オブジェクトを見るために、その頭部または眼を移動させ得る。特定の実または仮想オブジェクトにおけるユーザの注視が、閾値時間より長い場合、その実または仮想オブジェクトは、ユーザ入力として選択され得る。いくつかの実装では、ユーザの眼の両眼離反運動が、追跡されることができ、遠近調節/両眼離反運動モデルが、ユーザが焦点を合わせている深度平面に関する情報を提供するユーザの眼の遠近調節状態を決定するために使用されることができる。いくつかの実装では、ウェアラブルシステムは、レイキャスティング技法を使用して、ユーザの頭部姿勢または眼姿勢の方向に沿っている実または仮想オブジェクトを決定することができる。種々の実装では、レイキャスティング技法は、実質的に殆ど横幅を伴わない細い光線束を投じること、または実質的横幅を伴う光線(例えば、円錐または円錐台)を投じることを含むことができる。
ユーザインターフェースは、本明細書に説明されるようなディスプレイシステム(図2におけるディスプレイ220等)によって投影され得る。それは、1つ以上のプロジェクタ等の種々の他の技法も使用して表示され得る。プロジェクタは、画像をキャンバスまたは球体等の物理的オブジェクト上に投影し得る。ユーザインターフェースとの相互作用は、システムの外部またはシステムの一部の1つ以上のカメラを使用して(例えば、内向きに面した結像システム462または外向きに面した結像システム464を使用して)追跡され得る。
図11は、仮想ユーザインターフェースと相互作用するための方法1100の例のプロセスフロー図である。方法1100は、本明細書に説明されるウェアラブルシステムによって行われ得る。
ブロック1110では、ウェアラブルシステムは、特定のUIを識別し得る。UIのタイプは、ユーザによって事前決定され得る。ウェアラブルシステムは、特定のUIがユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいてデータ投入される必要があることを識別し得る。ブロック1120では、ウェアラブルシステムは、仮想UIのためのデータを生成し得る。例えば、UIの境界、一般的構造、形状等に関連付けられたデータが、生成され得る。加えて、ウェアラブルシステムは、ウェアラブルシステムがユーザの物理的場所に関連してUIを表示し得るように、ユーザの物理的場所のマップ座標を決定し得る。例えば、UIが、身体中心である場合、ウェアラブルシステムは、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を決定し得、それによって、リングUIが、ユーザの周囲に表示され得るか、または、平面UIが壁上またはユーザの正面に表示され得る。UIが、手中心の場合、ユーザの手のマップ座標が、決定され得る。これらのマップ点は、FOVカメラ、感覚入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して導出され得る。
ブロック1130では、ウェアラブルシステムは、データをクラウドからディスプレイに送信し得るか、または、データは、ローカルデータベースからディスプレイコンポーネントに送信され得る。ブロック1140では、UIは、送信されたデータに基づいて、ユーザに表示される。例えば、明視野ディスプレイは、仮想UIをユーザの眼の一方または両方の中に投影することができる。仮想UIが生成されると、ウェアラブルシステムは、ブロック1150において、単に、ユーザからのコマンドを待ち、より多くの仮想コンテンツを仮想UI上に生成し得る。例えば、UIは、ユーザの身体の周囲の身体中心リングであり得る。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、ユーザ入力デバイスからの入力等)を待ち得、認識される場合(ブロック1160)、コマンドに関連付けられた仮想コンテンツが、ユーザに表示され得る(ブロック1170)。例として、ウェアラブルシステムは、複数のスチームトラックをミックスする前、ユーザの手のジェスチャを待ち得る。
ウェアラブルシステム、UI、およびユーザ体験(UX)の追加の例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明されている。
(動眼視野(FOR)および視野(FOV)内の例示的オブジェクト)
図12Aは、動眼視野(FOR)1200、世界カメラの視野(FOV)1270、ユーザの視野1250、およびユーザの固視野1290の例を図式的に図示する。図4を参照して説明されるように、FOR1200は、ウェアラブルシステムを介してユーザによって知覚可能なユーザの周囲の環境の一部を含む。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができるので、ウェアラブルシステム400を包囲する4πステラジアン立体角の実質的に全てを含み得る。他の状況では、ユーザの移動は、より狭められ得、故に、ユーザのFORは、より小さい立体角に対し得る。
世界カメラの視野1270は、ユーザのFORの一部を含むことができ、ユーザのFORの一部は、外向きに面した結像システム464によって現在観察されている。図4を参照すると、世界カメラの視野1270は、所与の時間においてウェアラブルシステム400によって観察される、世界470を含み得る。世界カメラのFOV1270のサイズは、外向きに面した結像システム464の光学特性に依存し得る。例えば、外向きに面した結像システム464は、ユーザの周囲の190度空間を結像し得る広角カメラを含むことができる。ある実装では、世界カメラのFOV1270は、ユーザの眼の自然FOVより大きいか、またはそれと等しくあり得る。
ユーザのFOV1250は、FOR1200の一部を含むことができ、ユーザは、所与の時間においてFOR1200の一部を知覚している。FOVは、ウェアラブルデバイスのディスプレイのサイズまたは光学特性に依存し得る。例えば、ARディスプレイは、ユーザがディスプレイの特定の部分を通して見るときのみ、AR機能性を提供する光学系を含み得る。FOV1250は、例えば、スタックされた導波管アセンブリ480(図4)または平面導波管600(図6)等のARディスプレイを通して見るとき、ユーザによって知覚可能である立体角に対応し得る。ある実施形態では、ユーザのFOV1250は、ユーザの眼の自然FOVより小さくあり得る。
ウェアラブルシステムは、ユーザの固視野(FOF)1290も決定することができる。FOF1290は、ユーザの眼が固視し得る(例えば、視覚的注視をその部分に維持する)FOV1250の一部を含み得る。FOF1290は、ユーザのFOV1250より小さくあり得る、例えば、FOFは、数度~約5度に及び得る。その結果、ユーザは、固視野1290内にないが、ユーザの周辺FOV内にあるFOV1250内のいくつかの仮想オブジェクトを知覚することができる。
図12Bは、ユーザのFOV1250内の仮想オブジェクト、およびFOR1200内の仮想オブジェクトの例を図式的に図示する。図12Bでは、FOR1200は、ウェアラブルシステムを介してユーザによって知覚され得るオブジェクトのグループ(例えば、1210、1220、1230、1242、および1244)を含むことができる。FOR1200内のオブジェクトは、仮想または物理的オブジェクトであり得る。例えば、FOR1200は、椅子、ソファ、壁等の物理的オブジェクトを含み得る。仮想オブジェクトは、例えば、削除されたファイルのためのゴミ箱、コマンドを入力するための端末、ファイルまたはディレクトリにアクセスするためのファイルマネージャ、アイコン、メニュー、オーディオまたはビデオストリーミングのためのアプリケーション、オペレーティングシステムからの通知等のオペレーティングシステムオブジェクトを含み得る。仮想オブジェクトは、例えば、アバタ、ゲーム内の仮想オブジェクト、グラフィックまたは画像等、アプリケーションにおけるオブジェクトも含み得る。いくつかの仮想オブジェクトは、オペレーティングシステムオブジェクトおよびアプリケーションにおけるオブジェクトの両方であることができる。いくつかの実施形態では、ウェアラブルシステムは、仮想要素を既存の物理的オブジェクトに追加することができる。例えば、ウェアラブルシステムは、部屋内のテレビに関連付けられた仮想メニューを追加し得、仮想メニューは、ウェアラブルシステムを使用して、テレビをオンにすること、またはチャンネルを変更することを行うためのオプションをユーザに与え得る。
仮想オブジェクトは、3次元(3D)、2次元(2D)、または1次元(1D)オブジェクトであり得る。例えば、仮想オブジェクトは、3Dコーヒーマグカップであり得る(物理的コーヒーメーカーのための仮想制御を表し得る)。仮想オブジェクトは、時計の2Dグラフィカル表現でもあり得る(現在の時間をユーザに表示する)。いくつかの実装では、1つ以上の仮想オブジェクトは、別の仮想オブジェクト内に表示され得る(またはそれに関連付けられる)。仮想コーヒーマグカップは、ユーザインターフェース平面の内側に示され得るが、仮想コーヒーマグカップは、この2D平面仮想空間内に3Dであるように見える。
ユーザのFOR内のオブジェクトは、図9を参照して説明されるように、世界マップの一部であることができる。オブジェクトに関連付けられたデータ(例えば、場所、意味情報、性質等)は、例えば、アレイ、リスト、ツリー、ハッシュ、グラフ等の種々のデータ構造内に記憶されることができる。各記憶されたオブジェクトのインデックスは、適用可能な場合、例えば、オブジェクトの場所によって、決定され得る。例えば、データ構造は、基点位置からのオブジェクトの距離等の単一座標によってオブジェクトをインデックス化し得る(例えば、基点位置から左または右までの距離、基点位置の上部または底部からの距離、または基点位置からの深度毎の距離)。基点位置は、ユーザの位置(ユーザの頭部または眼位置等)に基づいて決定され得る。基点位置は、ユーザの環境内の仮想または物理的オブジェクト(標的オブジェクト等)の位置にも基づいて決定され得る。このように、ユーザの環境内の3D空間は、2Dユーザインターフェースの中に折り畳まれ得、仮想オブジェクトは、基点位置からのオブジェクトの距離に従って配列される。
(レチクルの利用)
図12Bを継続して参照すると、VR/AR/MRシステムは、仮想レチクル1256を表示することができ、それは、FOV1250内のユーザの位置を識別する移動可能なインジケータを含み得る。例えば、レチクル1256は、固視野、ユーザからの入力によって影響されるであろう点等のユーザの注視方向を表し得る。レチクル1256の外観は、種々の異なる色、輪郭、形状、シンボル、サイズ、画像、グラフィック、組み合わせ等のいずれかをとることができる。例えば、レチクル1256は、カーソル、幾何学的円錐、細いビーム、矢印、卵形、円形、命中点、ポリゴン、または他の1D、2D、または3D形状等の種々の形状をとり得る。レチクル1256は、リグ空間(例えば、デカルトx-y-z座標系等のウェアラブルデバイスに関連付けられた座標系)内に固定されるだけではなく、ユーザの3D環境内にも固定されることが可能であり得る仮想オブジェクトであり得る。レチクル1256は、ユーザが(例えば、リグ空間内の位置から)ユーザの3D空間内の特定の位置にドラッグアンドドロップできる仮想オブジェクトによって表され得る。
ユーザは、その身体、頭部、または眼を移動させ、レチクル1256を移動させることができる。例えば、ユーザの姿勢(例えば、頭部姿勢、身体姿勢、または眼の注視)の変化は、FOV1250内のレチクル1256の場所を改変し、および/またはFOV1250内に示されるもの、またはFOV1250内で観察可能なものを改変し得る。同様に、レチクル1256は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、方向性パッド(D-パッド)、ワンド、触覚デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等のユーザ入力デバイスを通して制御され得る。例えば、ユーザが、その手をユーザ入力デバイス上に移動させると、レチクル1256は、第1の位置から第2の位置に移動し得る。
レチクル1256は、標的オブジェクト上でホーバリングするように、またはそれを指すようにレチクル1256を移動させることによって、オブジェクト1210、1242、1244、1230、1220のうちの1つ等のオブジェクトを選択、視認、または指すために使用され得る。例えば、標的オブジェクトとレチクル1256とを有効に整列させるために、ユーザは、その頭部を標的オブジェクトの場所に対応する姿勢に傾け、回し、または向け直し得る。レチクル1256と標的オブジェクトとが、整列させられると、ユーザは、レチクル1256がホーバリングしている、または指している標的オブジェクトを選択し得る。ある実施形態では、標的オブジェクトは、焦点インジケータ(例えば、レチクル1256または選択されたオブジェクトから発出する仮想光線もしくは他のグラフィカルハイライト)も受け取り得る。
(レチクルの位置の加速)
図13A-13Bは、頭部姿勢の変化に応答してレチクルの移動を加速する例を実証する。環境1300A、1300Bは、図2のシステム200等のウェアラブルシステム1320を装着しているユーザ1304を含み、ウェアラブルシステム1320の動眼視野(FOR)1310の表現をさらに含む。図4を参照して説明されるように、FOR1310は、ウェアラブルシステム1320を介してユーザによって知覚されることが可能なユーザ1304の周囲の環境の一部を含む。
ユーザ1304は、その身体、頭部、または眼を移動させ、FOR1310内の実質的に任意の方向を知覚することができる。例えば、ユーザの頭部は、多自由度を有し得る。ユーザの頭部が、移動する(例えば、傾く、または回る)につれて、ユーザの頭部姿勢は、変化する。頭部姿勢の変化は、基準頭部姿勢ベクトルに対する角度の変化を決定することによって、定量化されることができる。基準頭部姿勢は、ユーザの任意の頭部姿勢であることができる。例えば、図13Aおよび13Bに示されるx-y-z座標系内の座標値を考えると、基準頭部姿勢ベクトルは、ユーザの頭部の冠状平面(例えば、身体を腹部と背部とに分割する垂直平面)、ユーザの頭部の矢状平面(例えば、身体を右部分と左部分とに分割する、解剖学的平面)、およびユーザの頭部の軸平面(例えば、脊柱と略垂直である身体を上方部分と下方部分とに分割する平面)の各々が互いに直交するときのユーザの頭部の位置に対応し得る。
いくつかの用途では、ユーザは、特定の方向をより頻繁に見ることもあり、システムは、基準頭部姿勢を調節し、頸部の負担を低減させ、または改善し得る。例えば、飛んでいる鳥の射撃に関連するゲームおよびユーザに星座について教示する星を眺めるアプリケーションの両方は、ユーザが周期的または常に見上げる状態を伴い得る。同様に、チェスのゲームは、ユーザが周期的または常に見下ろす状態を伴い得る。他のゲームまたはアプリケーションは、ユーザが周期的または常に左、右、斜め等を見る状態を伴い得る。故に、ある場合、基準頭部姿勢は、このより頻繁な方向に関連付けられた頭部姿勢に対してヘッジするように更新されることができる。例えば、基準頭部姿勢は、特定の期間にわたる平均的な、または最も多いユーザの頭部姿勢、または、ユーザが特定のアプリケーションを使用している間、または特定のゲームをプレーしている間の平均的な、または最も多いユーザの頭部姿勢であることができる。ユーザの普通のまたは平均的な頭部姿勢に関連付けられた頭部姿勢に対してヘッジするように、またはそれに合致するように基準頭部姿勢を構成することによって、システムは、頸部の負担を低減させ、または改善することができる。
図13Aおよび13Bにおける座標系は、頭部姿勢を基準頭部姿勢ベクトルに対して測定するために使用され得る3つの角度自由度(例えば、ヨー、ピッチ、およびロール)を示す。例えば、ユーザの頭部は、前方または後方に傾くこと(例えば、ピッチ)、左または右に回ること(例えば、ヨー)、または横方向に傾くこと(例えば、ロール)ができ、新しい頭部姿勢と基準頭部姿勢ベクトルとの間の角度差が、決定され、変化を定量化することができる。他の実装では、頭部姿勢を測定するための他の技法または角度表現、例えば、四元数角度または任意のタイプのオイラー角法が、使用されることができる。
ユーザの姿勢(例えば、身体、頭部または眼姿勢)が変化するにつれて、ユーザのFOVも、対応して、変化し得、FOV内の任意のオブジェクトも、変化し得る。図13Aは、3つのFOV1350a、1350b、1350cを図示し、それらは、長方形によって図式的に表され、異なる期間において観察されるユーザのFOR1310の一部に対応し得る。3つの図示される場面1350a、1350b、1350cの各々において、ユーザは、ディスプレイ1320を介して、レチクル1356を知覚することができる。加えて、FOV1350b、1350cに図示されるように、ユーザは、ユーザの環境内の所与の場所における仮想または物理的オブジェクトを表し得る円筒形1382またはボックス1380等の標的オブジェクトを知覚することができる。ユーザが、その頭部(例えば、ピッチ、ヨー、またはロール)を調節するにつれて、システムは、ユーザがその頭部をVR/AR/MR環境内で傾けていること、または回していることを知覚するように、ユーザのFOVを調節し得る。
非限定的例として、ユーザ1304は、オブジェクト1380および/またはオブジェクト1382を視認すること、またはそれと相互作用することを所望し得る。簡単のために、ユーザの頭部の初期姿勢1348は、本明細書に説明されるように、基準頭部姿勢ベクトルに対応する。加えて、初期頭部姿勢1348では、ユーザは、FOV1350aを知覚する。いずれのオブジェクトも、FOV1350a内で知覚可能ではないので、ユーザは、FOR1310の走査を開始し、オブジェクト1380、1382を検索し得る。ユーザが、その頭部を床に向かって下方に傾けるにつれて、ユーザのFOVは、ユーザが、最終的に、FOV1350b内のオブジェクト1382を知覚し得るように、対応して調節する。ユーザは、例えば、その頭部を天井に向かって上方に傾けることによって、FOR1310を走査し続け、より多くのオブジェクトを検索し得る。ある後の時点において、ユーザは、ユーザがFOV1350cを知覚するように、その頭部姿勢を調節し得る。図示されるように、オブジェクト1380は、FOV1350c内で知覚可能である。いくつかのインスタンスでは、単に、オブジェクトを知覚することに加え、ユーザは、レチクル1356を使用して、オブジェクトを選択し得る。
レチクル1356は、種々の方法を使用して、標的オブジェクト上に位置付けられることができる。第1の例として、ユーザのFOVは、FOR内で一時的または恒久的に固定され得る。故に、ユーザの姿勢(例えば、頭部姿勢、身体姿勢、眼姿勢)の変化は、レチクルにユーザのFOV内で移動させ得る(例えば、FOVの中心の近傍であり得るデフォルトレチクル位置に対して)が、ユーザのFOVに変化させない。例えば、ユーザが、見上げるまたはその頭部を後方に傾ける場合、移動は、FOVの上部のより近くに移動させる等、レチクルにFOV内で上方に移動させ得る。故に、これらのような例では、レチクルを使用してオブジェクトを選択するために、オブジェクトは、FOV内にある必要があり得、ユーザは、レチクルが標的オブジェクトを指すように、その頭部を位置させる必要があり得る。
第2の例として、FOV内のレチクルの位置は、一時的または恒久的に固定され得る。故に、ユーザの姿勢の変化は、ユーザのFOVを改変し得るが、FOV内のレチクルの場所を変化させない。例えば、レチクルは、FOV1350aに図示されるようなユーザのFOVのある場所(例えば、中心)に固定または係止され得る。ユーザの姿勢が変化するにつれて、FOVは、変化し得るが、レチクルは、動的FOVのデフォルト位置(例えば、中心)に留まる。故に、レチクルを使用してオブジェクトを選択するために、ユーザは、標的オブジェクトがFOVの中心(例えば、レチクルの位置)にあるように、その頭部を位置させる必要があり得る。
第3の例として、レチクルは、最初の2つの例の組み合わせを使用して、標的オブジェクト上に位置付けられることができる。レチクルは、FOV内のある位置に一時的に固定され得る。例えば、レチクルは、ユーザの頭部姿勢が、最小頭部姿勢閾値と最大頭部姿勢閾値との間にある(例えば、最小頭部姿勢閾値を満たし、最大頭部姿勢閾値を満たさない)とき、固定され得る。ユーザの姿勢が、変化するにつれて、ユーザのFOVは、変化し得るが、FOV内のレチクルの位置は、同一のままである。しかしながら、ユーザの頭部が、不快なまたは望ましくない姿勢に向かって移動する(例えば、ユーザの頭部姿勢が最小頭部姿勢閾値を満たさない、または最大頭部姿勢閾値を満たす)につれて、レチクルは、固定解除された状態になり得、ユーザのFOV内で自由に移動し得る。例えば、ウェアラブルシステムは、レチクルの移動をユーザの頭部が移動する方向に対応する方向に加速し得る。いくつかのインスタンスでは、この加速は、レチクルが、ユーザがその頭部を移動させる位置に向かって移動し、それによって、レチクルを標的オブジェクトとともに位置付けるために必要とされる頭部移動の量を低減させ、または最小化し得るので、頸部の負担または不快感の可能性を低減させ得る。レチクルは、加速されるが、いくつかの実施形態では、レチクルは、閾値位置(例えば、FOV内の位置)を過ぎて加速されない。例えば、ある場合、レチクルは、ユーザのFOVから外に加速されない。これは、有利に、頸部の負担または不快感の可能性を低減させながら、レチクルを介してFOV内のオブジェクトと相互作用するユーザの能力も保持することにおいて補助する。
随時、ユーザが、その頭部を向け直すことを所望する(非限定的例として、空中の高い位置(例えば、天井)、地面の低い位置(例えば、床)、右端、左端等にあるオブジェクトを選択するため)と、ユーザは、レチクル1356が、所望のオブジェクトに位置付けられるように、その頸部を曲げ、捻じり、または伸ばす必要があり得る。ユーザの頸部の曲げ、捻じり、および/または伸びは、とりわけ、頸部の負担または不快感をもたらし得る。故に、ウェアラブルシステムは、ユーザの頭部の向きが、容認可能(例えば、快適な、負担を引き起こさない等)頭部姿勢の範囲外にあること(例えば、最小頭部姿勢閾値を下回る、最大頭部姿勢閾値を上回る)を認識できる。その結果、ユーザがレチクル1356を移動させることにおいて補助するために、ウェアラブルシステムは、レチクル1356の移動をユーザの頭部が移動する方向に対応する方向に加速し得る(例えば、角度を基準頭部姿勢ベクトルに対して調節する、またはFOV内の位置を調節する)。レチクル1356の移動を加速することによって、ウェアラブルシステムは、有利に、ユーザが、その頸部を曲げ、捻じり、または伸ばし、レチクル1356と標的オブジェクトとを整列させなければならない程度を低減させ、それによって、頸部の負担または不快感の可能性を低減させる。
図13Aに戻ると、FOV1350a内のレチクル1356は、FOV1350aの中心1360における固定場所にある。ユーザが、その頭部を天井または床に向かって傾けるにつれて、ウェアラブルシステムは、ユーザの頭部姿勢のリアルタイム決定を行ない得る。ユーザの頭部姿勢が、望ましくない、不快な、または負担を引き起こす頭部姿勢の範囲のいずれかに対応し始める場合、ウェアラブルシステムは、レチクル1356を加速させ始め得る。
例えば、図13Aに図示されるように、ユーザのリアルタイム頭部姿勢は、1つ以上の閾値頭部姿勢(例えば、最大頭部ピッチ閾値1394、最小頭部ピッチ閾値1396)と比較され、ユーザの頭部姿勢が、所望の頭部姿勢の範囲のうちの1つ以上のものに対応または該当するか、望ましくない頭部姿勢の範囲のうちの1つ以上のものに対応または該当するかを決定することができる。ウェアラブルシステム1320は、ユーザが、その頸部を曲げ、回し、傾け、または回転させる程度に対応する1つ以上の角度を計算することによって、ユーザの頭部姿勢を決定することができる。例えば、ユーザの現在の頭部姿勢に対応するベクトルと基準頭部姿勢ベクトルとの間の角度差が、計算されることができる。1つ以上の角度が、望ましくない頭部姿勢に関連付けられた角度に対応する場合、ウェアラブルシステムは、例えば、オフセットをレチクルに関連付けられた角度に追加するか、またはそれから除去し、FOV内のレチクル位置を調節することによって、レチクル1356の移動を加速し得る。
オフセットの追加の例は、図13Aおよび図13Bに図示される。第1の例として、ユーザの初期頭部姿勢がFOV1350aに対応する例を継続すると、ユーザは、その頭部を地面に向かって下方に傾け、FOV1350bを知覚しなければならない。ユーザの頭部姿勢が、ユーザがFOV1350bを知覚するような角度であるとき、システムは、ユーザの新しい頭部姿勢と基準頭部姿勢(例えば、ユーザの初期頭部姿勢1348)との間の角度1386を決定することができる。図13Aに図示されるように、FOV1350bの中心1360に対応するユーザの新しい頭部姿勢は、最小頭部ピッチ閾値1396を下回る(またはそれを満たさない)。ユーザの新しい頭部姿勢に基づいて、システムは、ユーザが見下ろしている、および/または、ユーザの頭部もしくは頸部が、不快なまたは望ましくない姿勢にあること、またはその方に向けられていることを決定し得る。故に、システムは、位置がもはやFOVのデフォルトレチクル位置(例えば、中心)にないように、レチクル1356を下向き方向に加速し得る。この調節をレチクル位置に行うために、システムは、オフセット1364をレチクルが基準頭部姿勢に対して位置付けられる角度1386に追加し得る。オフセット(例えば、約12度)は、当技術分野において公知の種々の方法を使用して、角度1386に追加されることができる。例えば、オフセット1364は、角度1386に加算またはそれから減算され、新しい角度をより負にすることができる。同様に、オフセットは、新しい角度の絶対値を増加または減少させることができる。
別の例として、ユーザの初期頭部姿勢がFOV1350aに対応するという仮定を継続すると、ユーザは、その頭部を天井に向かって上方に傾け、FOV1350cを知覚しなければならない。ユーザの頭部姿勢が、ユーザがFOV1350cを知覚するような角度にあるとき、システムは、ユーザの新しい頭部姿勢と基準頭部姿勢(例えば、ユーザの初期頭部姿勢1348)との間の角度1390を決定することができる。図13Aに図示されるように、FOV1350cの中心1360に対応するユーザの新しい頭部姿勢は、最大頭部ピッチ閾値1394を上回る(またはそれを満たす)。ユーザの新しい頭部姿勢に基づいて、システムは、ユーザが見上げていること、および/または、ユーザの頭部または頸部が、不快なまたは望ましくない姿勢にあること、またはその方に向けられていることを決定し得る。故に、システムは、位置がもはやFOVに対するデフォルトレチクル位置(例えば、FOVの中心)にないように、レチクル1356を上向き方向に加速し得る。この調節をレチクル位置に行うために、システムは、オフセット1368をレチクルが基準頭部姿勢に対して位置付けられる角度1390に追加し得る。オフセット(例えば、約8度)は、当技術分野において公知の種々の方法を使用して、角度1390に追加されることができる。例えば、オフセット1368は、角度1390に加算またはそれから減算され、新しい角度をより正にすることができる。同様に、オフセットは、新しい角度の絶対値を増加または減少させることができる。
別の例として、図13Aと同様に、図13Bは、3つのFOV1350d、1350e、1350fを図示し、それらは、長方形によって図式的に表され、異なる期間において観察されるユーザのFOR1310の一部に対応し得る。3つの図示される場面1350d、1350e、1350fの各々において、ユーザは、ディスプレイ1320を介して、レチクル1356を知覚することができる。最初に、レチクル1356は、FOV1350dの中心1360における固定場所にある。ユーザが、その頭部を右に回すにつれて、ウェアラブルシステム1320は、ユーザの頭部姿勢のリアルタイム決定を行ない得る。ユーザの頭部姿勢が、望ましくない、不快な、または負担を引き起こす頭部姿勢の範囲のいずれかに向かって移動し始めるにつれて、ウェアラブルシステムは、レチクル1356を加速し始め、それによって、レチクルをFOV内の固定場所から移動させ得る。
非限定的例として、ユーザ1304は、オブジェクト1384を視認することまたはそれと相互作用することを所望し得る。簡単のために、ユーザの頭部1348の初期姿勢は、本明細書に説明されるように、基準頭部姿勢に対応し、ユーザによって知覚される初期FOVは、FOV1350dである。ユーザの頭部姿勢が、変化するにつれて、頭部姿勢は、1つ以上の閾値頭部姿勢(例えば、最大頭部ヨー閾値1374、イージング閾値1372、最小頭部ヨー閾値等)と比較され、頭部姿勢が閾値に達し、レチクル位置が加速されるべきであるかどうかを決定することができる。
例に戻ると、ユーザは、FOR1310を走査し始め、オブジェクト1384を検索し得る。ユーザが、その頭部を右に回すにつれて、ユーザのFOVは、ユーザが、最終的に、FOV1350eを知覚し得るように、対応して調節する。FOV1350eを知覚する間、ユーザの頭部姿勢(FOV1350eの中心1360に対応し得る)は、イージング閾値1372を満たす。故に、システムは、FOV1350eの中心1360の若干右に位置付けられるように、レチクル1356の位置を加速し得る。例えば、システムは、オフセット1376(例えば、イージング関数に対応する)をFOV1350e内のレチクル1356に対応する角度1392に追加し得る。
ユーザは、例えば、その頭部をより右に回すことによって、FOR1310を走査し続け、オブジェクト1384を検索し得る。ある後の時点において、ユーザは、ユーザがFOV1350fを知覚するように、その頭部姿勢を調節し得る。図示されるように、オブジェクト1384は、FOV1350f内で知覚可能であり、システムが、例えば、オブジェクト1384に向かってレチクルを加速させ、ユーザがオブジェクトを選択することをより容易にするために有利であり得る。故に、システムは、ユーザの頭部姿勢(FOV1350fの中心1360に対応し得る)が最大頭部ヨー閾値1374を満たすことを決定し得る。したがって、システムは、FOV1350e内に位置付けられるレチクルよりFOV1350eの中心のさらに右に位置付けられるように、レチクル1356の位置を加速し得る。例えば、システムは、より大きいオフセット1378をFOV1350f内のレチクルに対応する角度1388に追加し得る。
いくつかのインスタンスでは、水平方向におけるカーソル加速の量を決定するために、システムは、ユーザの身体、胴体、肩等に対するユーザの頭部の姿勢を決定する。例えば、より多くの頸部の負担は、頭部姿勢ベクトルが、身体姿勢ベクトルからより大きくオフセットされる場合、可能性がより高くなり得る。故に、システムは、ユーザの頭部、頸部、肩、身体等の整列に応じて、比較的に高速またはより低速レートでレチクルを加速し得る。
ある場合、ユーザの身体、胴体、または肩の姿勢を追跡するように構成された追加の慣性測定ユニット(IMU)が、追加されることができ、システムは、ユーザの身体に対するユーザの頭部の角度または位置を決定することができる。追加のIMUは、患者の肩、胸部、または腰部上に、ピン、ネックレス、リュック、ベルトパック、トーテム等の補助デバイスを含むことができる。いくつかの実施形態では、システムは、例えば、コンピュータビジョン処理を使用して、身体ベクトルを計算し得る外部またはユーザに面したセンサもしくはカメラを含むことができる。
図13Aおよび13Bに図示される例は、ユーザが、その頭部を上下に傾け、その頭部を右に回すことに対応するが、それは、限定ではなく、斜め頭部移動(例えば、垂直および水平移動の組み合わせ)も、測定され、レチクルは、斜め閾値(または垂直および水平閾値の組み合わせ)を超過する場合、FOVの角に加速されることができる。さらに、ユーザは、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚することができる。いくつかの実施形態では、頭部姿勢の変化に基づいて、ユーザのFOVを調節することと同様、システムは、眼姿勢(例えば、眼の注視)の変化に基づいて、レチクルの位置または場所を調節し得る。眼姿勢は、内向きに面した結像システム504(図4に示される)によって決定されることができる。システムは、1つ以上の閾値を使用して、ユーザの眼が負担をかけられ得るかどうかを決定することができ、その決定に基づいて、レチクルの位置を改変することができる。
(例示的頭部姿勢角度調節)
図14は、ユーザの頭部姿勢に基づいてレチクルの位置を調節する例を図示する。図2のウェアラブルシステム200等のウェアラブルシステムは、例えば、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを決定することによって、ユーザの頭部姿勢を決定することができる。頭部姿勢ベクトルと基準ベクトルとの間の角度差に基づいて、システムは、ユーザのFOVに対するレチクルの位置を調節することができる。本明細書に説明されるように、ウェアラブルシステムは、例えば、頭部姿勢を決定するために使用され得るIMU、または眼の注視を決定するために使用され得る眼追跡カメラ等の1つ以上の頭部姿勢センサを含むことができる。ウェアラブルシステムは、そのようなセンサからのデータを使用して、本明細書に説明される姿勢および角度を決定することができる。
頭部姿勢ベクトルは、ユーザの頭部姿勢の指示を提供することができる。例えば、頭部姿勢ベクトルは、ユーザが注視している場合、ユーザの頭部が向けられている状態、ユーザの頸部が曲げられている状態等を例証することができる。いくつかの実施形態では、頭部姿勢ベクトルは、ユーザの頭部の冠状平面(例えば、ユーザの頭部を腹側部分と背側部分とに分割する正面平面)から直交して延びているベクトルとして定義されることができる。例えば、頭部姿勢平面は、ユーザの前額に平行(または実質的に平行)である平面であり得る。いくつかの実施形態では、頭部姿勢平面は、冠状平面と平行であり得、ユーザの眼または他の顔特徴を接続する線を含み得る。いくつかの実施形態では、頭部姿勢ベクトルは、ユーザの前額の中心、ユーザの眼の中心、ユーザの鼻等のユーザの頭部上の中心点からの冠状平面(または冠状平面と平行な平面)から直交して延び得る。いくつかの実施形態では、頭部姿勢ベクトルは、ユーザの頭部または頸部に対応する任意の他の点から延び得る。故に、ユーザの頭部姿勢が、変化するにつれて、頭部姿勢ベクトルも、変化する。いくつかの例として、図14は、種々の例示的頭部姿勢ベクトル1408、1412、1416、1420、1424、1428を図示する。
基準ベクトルは、潜在的頭部姿勢ベクトルの一部であり得、ユーザの頭部が傾けられている、または回されている角度を決定するための基準として使用され得る。基準ベクトルは、任意の頭部姿勢に対応するベクトルであり得る。例えば、図14に示されるx-y-z座標系内の座標値を考えると、基準ベクトルは、ゼロの垂直またはy-成分を有する頭部姿勢ベクトル(時として、水平頭部姿勢ベクトル1416と称される)に相当し得る。ある場合、基準ベクトルは、ディスプレイの平面と垂直な水平平面内のベクトルを識別することによって決定される。いくつかの実施形態では、基準ベクトルは、ユーザの頭部が中立に置かれた状態における(例えば、中立頭部ピッチベクトル1420として)ときの頭部姿勢ベクトルであり得る。いくつかの実施形態では、水平頭部姿勢ベクトルは、ユーザの頭部の冠状平面(例えば、身体を腹部と背部とに分割する垂直平面)、ユーザの頭部の矢状平面(例えば、身体を右部分と左部分とに分割する解剖学的平面)、およびユーザの頭部の軸平面(例えば、脊柱と略垂直である身体を上方部分と下方部分とに分割する平面)の各々が互いに直交するときのユーザの頭部の位置に対応する。図14に図示されるように、いくつかのインスタンスでは、中立頭部ピッチベクトル1420と水平頭部姿勢ベクトル1416との間の角度差は、約-20度である(例えば、中立頭部ピッチベクトル1420は、水平頭部姿勢ベクトル1416を約20度下回る)。いくつかの用途では、ユーザは、特定の方向をより頻繁に見るもともあり、システムは、基準頭部姿勢を調節し、頸部の負担を低減させ、または改善し得る。例えば、飛んでいる鳥の射撃に関連するゲームおよびユーザに星座について教示する星を眺めるアプリケーションの両方は、ユーザが周期的または常に見上げる状態を伴い得る。同様に、チェスのゲームは、ユーザが周期的または常に見下ろす状態を伴い得る。他のゲームまたはアプリケーションは、ユーザが周期的または常に左、右、斜め等を見る状態を伴い得る。故に、ある場合、基準頭部姿勢は、このより頻繁な方向に関連付けられた頭部姿勢に対してヘッジするように更新されることができる。例えば、基準頭部姿勢は、特定の期間にわたる平均的な、または最も多いユーザの頭部姿勢、もしくはユーザが特定のアプリケーションを使用する間、または特定のゲームをプレーする間の平均的な、または最も多いユーザの頭部姿勢であることができる。ユーザの普通の頭部姿勢に関連付けられた頭部姿勢に対してヘッジする、またはそれに合致するように基準頭部姿勢を構成することによって、システムは、頸部の負担を低減させ、または改善することができる。
本明細書に説明されるように、ウェアラブルシステムは、頭部位置の範囲または頭部向きの範囲を識別することができ、それは、不快なまたは負担を引き起こす頭部姿勢に対応し得る頭部姿勢の1つ以上の範囲を規定する役割を一緒に果たす。そのような範囲の境界は、閾値に対応すると見なされ得る。例えば、ユーザが、その頭部を1つの方向に極端に傾ける場合、または回す場合、ユーザの頭部姿勢は、最小頭部ピッチ、頭部ヨー、または頭部ロール閾値を満たさないこともある(例えば、それ未満である)。同様に、ユーザが、その頭部を別の方向に極端に傾ける場合、または回す場合、ユーザの頭部姿勢は、最大頭部ピッチ、頭部ヨー、または頭部ロール閾値を満たし得る(例えば、それを上回る)。これら等のインスタンスでは、最小頭部姿勢閾値未満の(またはそれを満たさない)頭部姿勢および最大頭部姿勢閾値を上回る(またはそれを満たす)頭部姿勢は、頸部の負担または不快感を生じさせ得る頭部の傾きまたは回りの1つ以上の範囲に対応し得る。
図14は、基準頭部姿勢に対する位置へのレチクルの調節、または角度へのレチクルの調節の3つの例を図示する。第1の例では、ユーザの頭部姿勢は、この例では、中立頭部姿勢閾値に対応する頭部ピッチベクトル1420に対応する。中立頭部姿勢閾値は、本明細書に説明されるように、頭部の中立に置かれた状態に対応し得、例えば、ユーザの水平頭部姿勢1416より快適な頭部姿勢を表し得る。故に、いくつかのインスタンスでは、中立頭部姿勢ベクトルは、水平頭部姿勢ベクトルの代わりに、またはそれに加え、基準頭部姿勢ベクトルとして使用され得る。
第1の例に戻ると、-20度の角度差が、頭部ピッチベクトル1420と、この場合、水平頭部姿勢ベクトル1416でもある基準頭部姿勢ベクトル1416との間に存在する。-20度の決定された角度差に基づいて、システムは、ユーザの頭部姿勢が-45度の最小ピッチ閾値を上回る(例えば、それを満たす)ことを決定する。加えて、システムは、-20度の角度差が5度の最大ピッチ閾値を下回る(例えば、それを満たさない)ことを決定する。これらの決定に基づいて、システムは、レチクルの位置を調節しないことを決定し得る。故に、場面1436に見られるように、レチクルは、場面1436内のデフォルト場所(例えば、中心)のままである。
第2の例では、ユーザの頭部姿勢は、頭部姿勢ベクトル1412に対応する。図示されるように、+5度の角度差が、頭部姿勢ベクトル1412と基準頭部姿勢ベクトル1416との間に存在する。+5度の決定された角度差に基づいて、システムは、ユーザの姿勢が+5度の最大ピッチ閾値と等しい(例えば、それを満たす)ことを決定する。故に、システムは、オフセット量だけ、この場合、8度、レチクルの角度を調節する。この調節は、場面1432に見られることができ、レチクルの位置は、場面1432のデフォルト位置(例えば、中心)ではなく、場面1432の上部のほうに現れる。
第3の例では、ユーザの頭部姿勢は、頭部姿勢ベクトル1424に対応する。図示されるように、-45度の角度差が、頭部姿勢ベクトル1424と基準頭部姿勢ベクトル1416との間に存在する。故に、-45度の決定された角度差に基づいて、システムは、ユーザの姿勢が-45度の最小頭部ピッチ閾値と等しい(例えば、それを満たさない)ことを決定する。故に、システムは、オフセット量だけ、この場合、-12度、レチクルの角度を調節する。この調節は、場面1440に見られることができ、レチクルの位置は、場面1440のデフォルト位置(例えば、中心)ではなく、場面1440の底部のほうに現れる。
図14に示される例は、単に、例証的であり、限定として解釈されるべきではないことに留意されたい。故に、いくつかの実施形態では、水平頭部姿勢ベクトル1416以外の基準ベクトルが、角度差を決定するために使用される。より少ない、より多い、または異なる閾値が、システムによって使用され、頭部位置が閾値に達するかどうかを決定し、レチクルの位置を調節することができる。さらに、最大頭部ピッチ閾値1412、最小頭部ピッチ閾値1424、中立頭部ピッチベクトル1420、最大頭部ピッチ閾値1412に対応するオフセット量だけ、および/または最小頭部ピッチ閾値1424に対応するオフセット量に対応する値は、例証目的のためのものである。他の実装では、最大頭部ピッチ閾値1412は、水平頭部姿勢ベクトル1416を10度下回る値~水平頭部姿勢ベクトル1416を25度上回る値の範囲内であることができる。最小頭部ピッチ閾値1424は、水平頭部姿勢ベクトル1416を60度下回る値~水平頭部姿勢ベクトル1416を30度下回る値の範囲内であることができる。中立頭部ピッチベクトル1420は、下記の水平頭部姿勢ベクトル1416を30度下回る値~水平頭部姿勢ベクトル1416と水平である値の範囲内であることができる。最大ピッチ閾値1412に対応するオフセット量は、+1度~+25度の範囲内であることができる。最小ピッチ閾値1424に対応するオフセット量は、-1度~-25度の範囲内であることができる。加えて、1つ以上の閾値は、種々の方法において満たされ得る。例えば、ある場合、閾値に相当する値は、閾値を満たすであろう一方、他の場合、閾値に相当する値は、閾値を満たさないであろう。
(レチクルの位置への例示的頭部姿勢角度調節)
図15は、ユーザの頭部姿勢とレチクルの位置に対する調節との間の例示的関係を実証する。グラフ1500は、例示的レチクル角度調節対角度差を図示する。本明細書に説明されるように、角度差(例えば、x-軸)は、頭部姿勢ベクトルと基準ベクトル(例えば、水平頭部姿勢ベクトル、中立頭部姿勢ベクトル等)との間の角度の差異として定義されることができる。加えて、レチクル角度(例えば、y-軸)への調節は、システムが決定された頭部姿勢に基づいてレチクルの位置を変化させる方法に対応し得る。
グラフ1500は、レチクル角度への調節と角度差との間のいくつかの異なる可能な関係(例えば、線1560、1564、1568)を図示する。例えば、線1560、1568は、角度差が変化するにつれたレチクル角度への段階的調節を図示する一方、線1564は、規定された範囲(例えば、-30度~-10度)内のレチクル角度への無調節、次いで、角度差が規定された範囲外に及ぶ(例えば、最小頭部姿勢閾値を下回る、最大頭部姿勢閾値を上回る)につれたレチクル角度への段階的調節を図示する。
関係1564、1560、および1568の各々によって図示されるように、角度差が5度またはより高い(例えば、ユーザが、水平頭部姿勢ベクトルを約5度またはそれを上回って見上げている)場合、システムは、ユーザの頭部姿勢が最大頭部ピッチ閾値(例えば、+5度)を上回るまたはそれと等しい(例えば、それを満たす)ことを決定する。故に、システムは、8度の最大オフセット量だけ、レチクルの角度を調節する。加えて、角度差が、-45度未満またはそれと等しい(例えば、ユーザが、水平頭部姿勢ベクトルを約45度またはそれを上回って見下ろしている)場合、システムは、ユーザの頭部姿勢が最小頭部ピッチ閾値(例えば、-45度)未満またはそれと等しい(例えば、それを満たさない)ことを決定する。故に、システムは、-12度の最小オフセット量だけ、レチクルの角度を調節する。
さらに、(例えば、最小頭部姿勢閾値と最大頭部姿勢閾値との間の)角度差が、約-45度~約5度である場合、システムは、ユーザの頭部姿勢が、最小頭部ピッチ閾値を上回り(例えば、それを満たし)、最大頭部ピッチ閾値未満である(例えば、それを満たさない)ことを決定する。故に、システムは、例えば、種々の線形関数、指数関数、区分関数、またはイージング関数によって決定され得るオフセット量だけ、レチクルの角度を調節する。例えば、イージング関数は、徐々に増加または減少するレチクル角度調節を提供することができる。
(レチクルを位置付ける例示的プロセス)
(頭部姿勢に基づくレチクル位置付けまたは調節)
図16は、例示的レチクル位置調節プロセス1600のためのフローチャートを図示する。例示的プロセス1600は、単独で、または組み合わせて、例えば、遠隔処理モジュール270またはローカル処理およびデータモジュール260等のウェアラブルシステム200の1つ以上のコンポーネントによって実施され得る。ウェアラブルシステム200のディスプレイ220は、レチクルをユーザに提示することができ、内向きに面した結像システム462は、眼の注視決定のための眼画像を取得することができ、IMU、加速度計、またはジャイロスコープは、頭部姿勢を決定することができる。
ブロック1610では、ウェアラブルシステムは、ユーザの現在の頭部姿勢を示すデータを受信することができる。頭部姿勢は、ユーザの頭部の位置および向きを説明することができる。データは、ユーザの頭部の現在の位置および向きまたは3D空間内のユーザの頭部の移動を含むことができる。位置は、平行移動座標値(例えば、図6に示されるx-y-z座標系の座標値)によって表され得る。例えば、ユーザの頭部が、傾けまたは回すにつれて、ウェアラブルシステムは、ユーザの頭部移動を追跡および記録することができる。向きは、頭部の中立に置かれた状態に対するベクトルまたは角度値によって表され得る。例えば、ベクトルまたは角度値は、前方および後方における頭部傾き(例えば、ピッチ)、左および右への回り(例えば、ヨー)、および横方向における傾き(例えば、ロール)を表すことができる。
ウェアラブルシステムは、頭部位置の範囲または頭部向きの範囲を識別することができ、それは、不快なまたは負担を引き起こす頭部姿勢に対応し得る頭部姿勢の1つ以上の範囲を規定する役割を一緒に果たす。そのような範囲の境界は、閾値に対応すると見なされ得る。例えば、最大または最小頭部ピッチ、頭部ヨー、または頭部ロール閾値は、頸部の負担または不快感を生じさせ得る左への頭部傾きまたは回りの1つ以上の範囲に対応し得る。同様に、中立または基準頭部姿勢閾値は、頭部の中立に置かれた状態に対応し得る。
これらの範囲に該当する頭部姿勢は、レチクルの位置への調節が所望され得る頭部姿勢に対応し得る。例えば、ウェアラブルシステムは、レチクルをユーザのための3D空間内にレンダリングすることができる。レチクルは、リグ空間(HMDに対する座標系によって表され得る)内にレンダリングされ得る。レチクルは、1D、2D、および3D画像を含み得る種々のグラフィカル形態で表され得る。レチクルは、ユーザの視野に対するユーザの現在の位置に対応し得、例えば、ユーザの注視方向を表し得る。ユーザが動き回ると、レチクルも、ユーザに伴って移動し得る。ユーザの頭部姿勢が、例えば、前述の範囲のうちの1つに該当するように、変化するにつれて、レチクルの位置は、頸部の負担または不快感を防止、軽減、または減少させるように調節され得る。
ウェアラブルシステムは、例えば、IMUまたは外向きに面した結像システム等のHMDの内部(例えば、ユーザの頭部の反射された画像を追跡するため)またはHMDの外部(例えば、ユーザの部屋内の壁に搭載されるカメラ等)の1つ以上のセンサを使用して、頭部姿勢を追跡することができる。
ブロック1620では、ウェアラブルシステムは、少なくとも部分的にブロック1610から入手された頭部姿勢データに基づいて、ユーザのリアルタイム頭部姿勢を識別または決定することができる。例えば、ウェアラブルシステムは、本明細書に説明されるように、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別または決定することができる。ある場合、頭部姿勢ベクトルは、ARソフトウェア開発キット(SDK)を使用して決定される。
ブロック1630では、ウェアラブルシステムは、ユーザの基準頭部姿勢を識別すること、それにアクセスすること、またはそれを決定することができる。例えば、基準頭部姿勢は、中立頭部姿勢に対応し得、少なくとも部分的にブロック1610から入手された頭部姿勢データに基づき得る。ウェアラブルシステムは、本明細書に説明されるように、基準頭部姿勢ベクトルを決定することができ、それは、頭部の中立に置かれた状態に対する頭部姿勢等の中立頭部姿勢に対応し得る。ある場合、基準頭部姿勢ベクトルは、AR SDKを使用して決定される。いくつかの実装では、ユーザの基準または中立頭部姿勢は、デフォルト値(例えば、角度-20度)に設定され、ウェアラブルシステムは、デフォルト値にアクセスすることによって(例えば、AR SDKにクエリすることによって)、基準頭部姿勢を決定する。
ブロック1640では、ウェアラブルシステムは、少なくとも部分的に現在の頭部姿勢と基準頭部姿勢との間の比較に基づいて、頭部搭載型ディスプレイ上に投影される仮想レチクルの位置のための調節を決定することができる。例えば、システムは、ブロック1620から決定された頭部姿勢とブロック1630から決定された基準頭部姿勢との間の差異を示す値を決定することができる。例えば、頭部姿勢と基準頭部姿勢との間の角度差が、座標値(例えば、図6に示されるx-y-z座標系内の座標値等)に対して計算されることができる。いくつかの実施形態では、ウェアラブルシステムは、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を決定することができる。例えば、図14に示されるように、角度差は、基準頭部姿勢に対するユーザの頭部の傾きまたは回りの程度に対応する角度を決定するために使用されることができる。少なくとも部分的に角度差に基づいて、ウェアラブルシステムは、ユーザが、見上げている、または見下ろしている、もしくは別様にその頭部を傾けている、または回しているかどうかを決定することができる。ある場合、角度差は、AR SDKを使用して決定される。
ウェアラブルシステムは、少なくとも部分的にユーザの頭部の姿勢に基づいて、調節されたレチクル位置を決定することができる。例えば、ウェアラブルシステムは、ユーザが、頭部姿勢の識別された範囲のうちの1つ以上のものに該当する頭部姿勢をとっているかどうかを決定することができる。ウェアラブルシステムは、ユーザの頭部姿勢が、レチクルの位置の調節をもたらし得る位置または向きにあるかどうかを決定することができる。例として、ウェアラブルシステムは、ユーザの頭部姿勢が、頭部位置の識別された範囲および頭部向きの識別された範囲に該当するかどうかを決定することができる。ウェアラブルシステムは、ユーザの頭部姿勢を頭部位置の識別された範囲の境界を定義する閾値(例えば、平行移動座標値)と比較することによって、またはユーザの頭部姿勢に関連付けられた頭部向き(例えば、角度差)を頭部向きの識別された範囲の境界を定義する閾値(例えば、角度値)を比較することによって、そのような決定を行い得る。
図14を参照すると、ユーザが頭部姿勢ベクトル1412に対応する頭部姿勢をとっていることの決定に基づいて、ウェアラブルシステムは、角度差(例えば、基準頭部姿勢ベクトルとの間の差異)が5度であることを決定することができる。故に、角度差を閾値(例えば、ベクトル1416に対応する中立頭部姿勢閾値)と比較することによって、ウェアラブルシステムは、レチクルの位置の調節が所望されるかどうかを決定することができる。例えば、図14の例に戻ると、ウェアラブルシステムは、頭部姿勢ベクトル1412に対応する5度の角度差が最大頭部姿勢閾値を満たすことを決定し得る。ウェアラブルシステムは、次いで、新しく調節されたレチクルに指している頭部姿勢ベクトル1408が8度の角度差を有するように、レチクルの位置を調節し得る。故に、ウェアラブルシステムは、少なくとも部分的に頭部姿勢または頭部姿勢の変化に基づいて、レチクル移動を加速または減速させることができる。
本明細書に説明される種々のブロックは、種々の順序で実装されることができ、ウェアラブルシステムは、所望に応じて、ブロックのうちの1つ以上のものを並行して実装する、および/または順序を変化させることができる。より少ない、より多い、または異なるブロックが、プロセス1600の一部として使用されることができる。例えば、プロセス1600は、レチクルの位置を決定する、レチクルの位置が更新されたことの指示を提供する等のためのブロックを含むことができる。
さらに、プロセス1600は、頸部の負担の可能性を防止することまたは低減させることと論理的に関連付けられたが、類似技法は、眼の疲労の可能性を防止するために、または低減させるためにも利用されることができる。例えば、システムは、眼の注視データを取得することができ、眼の注視データから、眼の注視ベクトルおよび中立の眼の注視ベクトルを決定することができる。システムはさらに、眼の注視ベクトルと中立の眼の注視ベクトルとの間の角度差を決定することができ、角度差および1つ以上の閾値に基づいて、仮想レチクルの位置またはディスプレイの3Dビューのうちの少なくとも1つのための調節を決定することができる。
(角度差に基づくレチクル位置付けまたは調節)
図17は、例示的レチクル調節プロセス1700のためのフローチャートを図示する。例示的プロセス1700は、単独で、または組み合わせて、例えば、遠隔処理モジュール270またはローカル処理およびデータモジュール260等のウェアラブルシステム200の1つ以上のコンポーネントによって実施され得る。ウェアラブルシステム200のディスプレイ220は、レチクルをユーザに提示することができ、内向きに面した結像システム462は、眼の注視決定のための眼画像を取得することができ、IMU、加速度計、またはジャイロスコープは、頭部姿勢を決定することができる。
ウェアラブルシステムは、レチクルをユーザのための3D空間内にレンダリングすることができる。レチクルは、リグ空間(HMDに対する座標系によって表され得る)内にレンダリングされ得る。レチクルは、1D、2D、および3D画像を含み得る種々のグラフィカル形態で表され得る。レチクルは、ユーザの視野に対するユーザの現在の位置に対応し得、例えば、ユーザの注視方向を表し得る。ユーザが動き回ると、レチクルも、ユーザに伴って移動し得る。加えて、レチクルは、1つ以上のオブジェクトを指し得、ユーザは、レチクルが指している標的オブジェクトを選択し得る。いくつかのインスタンスでは、ユーザのFOV内のレチクルの位置は、ユーザの頭部が移動するにつれて、一定のままであり得る。例えば、レチクルは、ユーザの視野の中心内に位置付けられ得、ユーザのFOVが変化しても、中心に留まるであろう。故に、ある場合、標的オブジェクトをレチクルで選択するために、ユーザは、FOVの中心(例えば、レチクルの場所)が標的オブジェクト上にあるように、その頭部を移動させ、FOVを調節しなければならない。
しかしながら、ウェアラブルシステムが、ユーザのFOV内のレチクルの位置を調節することが有利であり得る。例えば、ユーザが、空中の高い位置(例えば、天井)、地面の低い位置(例えば、床)、右端、左端にある標的オブジェクトを選択することを所望するインスタンスでは、ウェアラブルシステムは、ユーザのFOV内のレチクルの位置を調節し、ユーザがレチクルを標的オブジェクトの場所に位置させることに役立つが、ユーザのFOVの中心が標的オブジェクト上にあるように、ユーザがその頭部を傾けることまたは回すことを要求しないことができる。故に、ウェアラブルシステムは、プロセス1600を実装し、レチクルの位置を調節し得る。
ブロック1710では、ウェアラブルシステムは、頭部位置の1つ以上の範囲または頭部向きの範囲を識別または決定することができ、それは、不快なまたは負担を引き起こす頭部姿勢に対応し得る頭部姿勢の1つ以上の範囲を規定する役割を一緒に果たす。そのような範囲の境界は、閾値に対応すると見なされ得る。例えば、ウェアラブルシステムは、最大または最小レチクル角度調節をもたらすであろう前方または後方における頭部傾きの程度または角度に対応し得る最大頭部ピッチ閾値および/または最小頭部ピッチ閾値を識別または決定することができる。いくつかの実施形態では、ウェアラブルシステムは、ユーザの頸部が不快なまたは負担を引き起こす位置である前の左または右頭部回りの程度または角度に対応し得る最大頭部ヨー閾値または最小頭部ヨー閾値を識別または決定することができる。同様に、ウェアラブルシステムは、ユーザの頸部が不快なまたは負担を引き起こす位置である前の横方向頭部傾きの程度または角度に対応し得る最大頭部ロール閾値または最小頭部ロール閾値を識別または決定することができる。さらに、ウェアラブルシステムは、中立頭部ピッチ閾値、中立頭部ヨー閾値、または中立頭部ロール閾値を識別または決定することができ、それは、頭部の中立に置かれた状態に対応し得る。ある場合、これらの閾値は、ユーザ入力であり得、較正段階の間に決定され得、または、システムにおける定数であり得る。
ブロック1720および1730では、ウェアラブルシステムは、本明細書に説明されるように、少なくとも部分的に受信された頭部姿勢データに基づいて、頭部姿勢ベクトルおよび基準(または中立)頭部姿勢ベクトルを決定することができる。
ブロック1740では、ウェアラブルシステムは、頭部姿勢ベクトルと中立頭部姿勢ベクトルとの間の角度差を決定することができる。例えば、図14に示されるように、角度差は、基準頭部姿勢に対するユーザの頭部の傾きまたは回りの程度に対応する角度を決定するために使用されることができる。少なくとも部分的に角度差に基づいて、ウェアラブルシステムは、ユーザが、見上げている、または見下ろしている、もしくはその頭部を傾けているか、または回しているかどうかを決定することができる。
ブロック1750では、ウェアラブルシステムは、レチクル位置調節を計算することができる。レチクル位置調節(例えば、角度調節またはオフセット)は、閾値の各々に関連付けられ、例えば、カーソル移動を加速することに役立つことができる。例えば、頭部姿勢が、最大頭部ピッチ閾値、最大頭部ヨー閾値、または最大頭部ロール閾値を満たす場合、ウェアラブルシステムは、第1の所定の量(例えば、+8度)だけ、レチクルの角度または位置を調節し得る。同様に、頭部姿勢が、最小頭部ピッチ閾値、最小頭部ヨー閾値、または最小頭部ロール閾値を満たさない場合、ウェアラブルシステムは、第2の所定の量(例えば、-12度)だけ、レチクルの角度または位置を調節し得る。いくつかの実施形態では、頭部姿勢が、最小閾値(例えば、ピッチ、ヨー、またはロール)を満たし、最大閾値(例えば、ピッチ、ヨー、またはロール)を満たさない場合、ウェアラブルシステムは、イージング関数を使用して、レチクルの角度または位置を調節し得る。例えば、頭部姿勢が、最小頭部ピッチ閾値を満たし、中立頭部ピッチ閾値を満たさない場合、ウェアラブルシステムは、以下の1を使用して、レチクルの角度または位置を調節し得る。
式中、VPAは、垂直角度ピッチ調節であり、maxHPAは、最大頭部ピッチ調節であり、Pは、頭部姿勢ベクトルと水平頭部姿勢ベクトルとの間の角度であり、neutralHPは、中立頭部姿勢ベクトルに対応する角度であり、ease()は、easeOutSine等のイージング関数である。
同様に、頭部姿勢が、中立頭部ピッチ閾値を満たし、最大頭部ピッチ閾値を満たさない場合、ウェアラブルシステムは、以下の2を使用して、レチクルの角度または位置を調節し得る。
式中、VPAは、垂直角度ピッチ調節であり、minHPAは、最小頭部ピッチ調節であり、Pは、頭部姿勢ベクトルと水平頭部姿勢ベクトルとの間の角度であり、neutralHPは、中立頭部姿勢ベクトルに対応する角度であり、ease()は、easeOutSine等のイージング関数である。
本明細書に説明される種々のブロックは、種々の順序で実装されることができ、ウェアラブルシステムは、所望に応じて、ブロックのうちの1つ以上のものを並行して実装する、および/または順序を変化させることができる。より少ない、より多い、または異なるブロックが、プロセス1700の一部として使用されることができる。例えば、プロセス1700は、レチクルの位置を決定する、レチクルの位置が更新されたことの指示を提供する等のためのブロックを含むことができる。
さらに、プロセス1700は、頸部の負担の可能性を防止すること、または低減させることと論理的に関連付けられたが、類似技法は、眼の疲労の可能性を防止するために、または低減させるためにも利用されることができる。例えば、システムは、眼の注視データを取得することができ、眼の注視データから、眼の注視ベクトルおよび中立の眼の注視ベクトルを決定することができる。システムはさらに、眼の注視ベクトルと中立の眼の注視ベクトルとの間の角度差を決定することができ、角度差および1つ以上の閾値に基づいて、仮想レチクルの位置またはディスプレイの3Dビューのうちの少なくとも1つのための調節を決定することができる。
(頭部ピッチ閾値に基づくレチクル位置付けまたは調節)
図18は、例示的レチクル調節プロセスのためのフローチャートを図示する。例示的プロセス1800は、単独で、または組み合わせて、例えば、遠隔処理モジュール270またはローカル処理およびデータモジュール260等のウェアラブルシステム200の1つ以上のコンポーネントによって実施され得る。ウェアラブルシステム200のディスプレイ220は、レチクルをユーザに提示することができ、内向きに面した結像システム462は、眼の注視決定のための眼画像を取得することができ、IMU、加速度計、またはジャイロスコープは、頭部姿勢を決定することができる。
ブロック1810では、図17のブロック1740と同様に、ウェアラブルシステムは、頭部姿勢ベクトルと中立頭部姿勢ベクトルとの間の角度差を計算する。
ブロック1820では、ウェアラブルシステムは、角度差が最小頭部ピッチ閾値を満たすか、満たさないかを決定する。本明細書に説明されるように、頭部ピッチは、頭部を前方または後方に傾けることに対応し得る。故に、角度差は、ユーザが、その頸部を前方に負担をかけるとき、または曲げる(例えば、地面を見るため)とき、最小頭部ピッチ閾値を満たさないこともある。例えば、最小頭部ピッチ閾値は、約-30、-35、-40、-45、-50、55、または-60度(+/-数度)の角度差に対応し得る。したがって、ある場合、角度差が、最小頭部ピッチ閾値またはそれを下回る場合、角度差は、最小頭部ピッチ閾値を満たさない。しかしながら、ある場合、角度差は、最小頭部ピッチ閾値またはそれを下回る場合、最小頭部ピッチ閾値を満たす。
頭部姿勢ベクトルと中立頭部姿勢ベクトルとの間の角度(例えば、頭部姿勢ベクトル-中立頭部姿勢ベクトル)が、正である場合、ユーザは、中立位置に対して見上げていることに留意されたい。同様に、角度が、負である場合、ユーザは、見下ろしている。故に、ある場合、システムは、ユーザが、見上げているか、見下ろしているかを決定することができ、角度差の絶対値を求め、正の角度を確実にすることができる。いくつかの実施形態では、システムは、角度差(例えば、頭部姿勢ベクトル-中立頭部姿勢ベクトル)を決定することができ、負の値がユーザが見下ろしていることを示すことを理解するであろう。
ブロック1830では、ウェアラブルシステムは、角度差が最小頭部ピッチ閾値を満たさないことを決定した。したがって、ウェアラブルシステムは、最小頭部ピッチ閾値に関連付けられた角度調節を使用して、調節されたレチクル位置を決定する。ある場合、角度調節は、約-30、-25、-20、-15、-12、-10、-5、または-2度であることができる。
ブロック1840では、ウェアラブルシステムは、角度差が最大頭部ピッチ閾値を満たすか、満たさないかを決定する。本明細書に説明されるように、頭部ピッチは、頭部を前方または後方に傾けることに対応し得る。故に、角度差は、ユーザが、その頸部を後方に負担をかけているとき、または曲げている(例えば、空を見るため)とき、最大頭部ピッチ閾値を満たすこともある。例えば、最大頭部ピッチ閾値は、約2、5、8、10、12、15、20、25、または30度(+/-数度)の角度差に対応し得る。したがって、ある場合、角度差が、最大頭部ピッチ閾値またはそれを上回る場合、角度差は、最大頭部ピッチ閾値を満たす。しかしながら、ある場合、角度差は、最大頭部ピッチ閾値またはそれを上回る場合、最大頭部ピッチ閾値を満たさない。
ブロック1850では、ウェアラブルシステムは、角度差が最大頭部ピッチ閾値を満たすと決定した。したがって、ウェアラブルシステムは、最大頭部ピッチ閾値に関連付けられた角度調節を使用して、調節されたレチクル位置を決定する。ある場合、角度調節は、約1、2、3、4、5、6、7、8、9、10、12、15、または20度であることができる。
ブロック1860では、ウェアラブルシステムは、角度差が中立頭部ピッチ閾値を満たすか、満たさないかを決定する。本明細書に説明されるように、頭部ピッチは、頭部を前方または後方に傾けることに対応し得る。中立頭部ピッチ閾値は、頭部の中立に置かれた状態に対応し得る。例えば、中立頭部ピッチ閾値は、約-10、-15、-20、-25、または-30度(+/-数度)の角度差に対応し得る。したがって、ある場合、角度差が、中立頭部ピッチ閾値またはそれを上回る場合、角度差は、中立頭部ピッチ閾値を満たす。同様に、角度差が、中立頭部ピッチ閾値を下回る場合、角度差は、中立頭部ピッチ閾値を満たさないこともある。しかしながら、ある場合、角度差は、それが中立頭部ピッチ閾値であるか、またはそれを上回る場合、中立頭部ピッチ閾値を満たさず、それが頭部ピッチ閾値を下回る場合、中立頭部ピッチ閾値を満たし得る。
ブロック1870では、ウェアラブルシステムは、角度差が中立頭部ピッチ閾値を満たすと決定した。したがって、ウェアラブルシステムは、上記の式2を使用して、レチクルの角度または位置を調節し得る。
ブロック1880では、ウェアラブルシステムは、角度差が中立頭部ピッチ閾値を満たさないと決定した。したがって、ウェアラブルシステムは、上記の式1を使用して、レチクルの角度または位置を調節し得る。
本明細書に説明される種々のブロックは、種々の順序で実装されることができ、ウェアラブルシステムは、所望に応じて、ブロックのうちの1つ以上のものを並行して実装すること、および/または順序を変化させることができる。より少ない、より多い、または異なるブロックが、プロセス1800の一部として使用されることができる。例えば、プロセス1800は、追加の閾値を決定する、レチクルの位置が更新されたことの指示を提供する等のためのブロックを含むことができる。
さらに、プロセス1800は、頸部の負担の可能性を防止することまたは低減させることと論理的に関連付けられたが、類似技法は、眼の疲労の可能性を防止するために、または低減させるためにも利用されることができる。例えば、システムは、眼の注視データを取得することができ、眼の注視データから、眼の注視ベクトルおよび中立の眼の注視ベクトルを決定することができる。システムは、眼の注視ベクトルと中立の眼の注視ベクトルとの間の角度差をさらに決定することができ、角度差および1つ以上の閾値に基づいて、仮想レチクルの位置またはディスプレイの3Dビューのうちの少なくとも1つのための調節を決定することができる。
(例示的ソフトウェアコード)
付属Aは、頭部姿勢および垂直ピッチ調節を計算する、C#プログラミング言語におけるコードの例を含む。コードは、図17を参照して説明されるレチクル調節プロセス1700の例を実装する。付属Aは、本明細書の一部を形成するように、参照することによってその全体として本明細書に組み込まれる。
(追加の側面)
第1の側面では、システムであって、システムは、システムのユーザの頭部姿勢データを取得するように構成された頭部姿勢センサと、頭部姿勢データを記憶するように構成された非一過性メモリと、ユーザの眼の正面に位置付けられるように構成されたディスプレイであって、ディスプレイは、仮想レチクルをユーザの眼に向かって式投影するように構成されている、ディスプレイと、頭部姿勢センサ、ディスプレイ、および非一過性メモリと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、
ユーザの頭部姿勢データを取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢を識別することと、少なくとも部分的にユーザの頭部姿勢と基準頭部姿勢との間の比較に基づいて、仮想レチクルの位置のための調節を決定することと、少なくとも部分的に決定された調節に基づいて、仮想レチクルに定位置に変らせることとを行うようにプログラムされている、システム。
第2の側面では、仮想レチクルは、ユーザの視野内のユーザの位置を識別する移動可能なインジケータを備えている、側面1に記載のシステム。
第3の側面では、頭部姿勢データは、ユーザの頭部のヨー、ピッチ、またはロールの指示のうちの少なくとも1つに対応している、側面1または側面2に記載のシステム。
第4の側面では、ヨー、ピッチ、またはロールの指示は、基準頭部姿勢に関している、側面3に記載のシステム。
第5の側面では、基準頭部姿勢は、ユーザの頭部の水平頭部姿勢に対応している、側面4に記載のシステム。
第6の側面では、水平頭部姿勢は、ユーザの頭部の冠状平面、ユーザの頭部の矢状平面、およびユーザの頭部の軸平面の各々が互いに直交している頭部姿勢を備えている、側面5に記載のシステム。
第7の側面では、基準頭部姿勢は、ユーザの頭部の中立に置かれた状態に対応する、頭部姿勢を備えている、側面1-6のいずれか1項に記載のシステム。
第8の側面では、ユーザの頭部の中立に置かれた状態は、水平頭部姿勢に対して、-5~5度のヨー、-5~5度のロール、および-15~-25度のピッチに対応している、側面7に記載のシステム。
第9の側面では、基準頭部姿勢は、水平頭部姿勢に対して、0度のヨー、0度のロール、または-20度のピッチのうちの少なくとも1つに対応している、側面8に記載のシステム。
第10の側面では、ハードウェアプロセッサは、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別し、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別するようにさらにプログラムされている、側面1-9のいずれか1項に記載のシステム。
第11の側面では、ハードウェアプロセッサは、少なくとも部分的にユーザの頭部姿勢と基準頭部姿勢との間の比較に基づいて、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を決定するようにさらにプログラムされ、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面10に記載のシステム。
第12の側面では、仮想レチクルの位置のための調節を決定するために、ハードウェアプロセッサは、決定された角度差を1つ以上の頭部姿勢閾値と比較するようにプログラムされている、側面11に記載のシステム。
第13の側面では、1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、側面12に記載のシステム。
第14の側面では、最大頭部姿勢閾値は、最大頭部ヨー閾値、最大頭部ロール閾値、または最大頭部ピッチ閾値のうちの少なくとも1つに対応している、側面13に記載のシステム。
第15の側面では、基準頭部姿勢に対して、最大頭部ヨー閾値が、50度であるか、最大頭部ロール閾値が、20度であるか、または、最大頭部ピッチ閾値が、5度である、側面14に記載のシステム。
第16の側面では、最小頭部姿勢閾値は、最小頭部ヨー閾値、最小頭部ロール閾値、または最小頭部ピッチ閾値のうちの少なくとも1つに対応している、側面13-15のいずれか1項に記載のシステム。
第17の側面では、基準頭部姿勢に対して、最小頭部ヨー閾値が、-50度であるか、最小頭部ロール閾値が、-20度であるか、または、最小頭部ピッチ閾値が、-45度である、側面16に記載のシステム。
第18の側面では、ハードウェアプロセッサは、角度差が最小頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第1の調節値に基づいて、仮想レチクルの位置のための調節を決定するようにさらにプログラムされている、側面13-17のいずれか1項に記載のシステム。
第19の側面では、第1の調節値は、約-12度である、側面18に記載のシステム。
第20の側面では、ハードウェアプロセッサは、角度差が最大頭部姿勢閾値を満たすことの決定に応答して、少なくとも部分的に第2の調節値に基づいて、仮想レチクルの位置のための調節を決定するようにさらにプログラムされている、側面13-19のいずれか1項に記載のシステム。
第21の側面では、第2の調節値は、約+5度である、側面20に記載のシステム。
第22の側面では、ハードウェアプロセッサは、角度差が最小頭部姿勢閾値を満たし、最大頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第3の調節値に基づいて、仮想レチクルの位置のための調節を決定するようにさらにプログラムされている、側面13-21のいずれか1項に記載のシステム。
第23の側面では、第3の調節値は、イージング関数に対応している、側面22に記載のシステム。
第24の側面では、第3の調節値は、約0度である、側面22または側面23に記載のシステム。
第25の側面では、仮想レチクルに定位置に変らせることは、仮想レチクルにユーザの視野のデフォルトレチクル位置から位置を変らせることを含む、側面1-24のいずれか1項に記載のシステム。
第26の側面では、デフォルトレチクル位置は、ユーザの視野の中心を備えている、側面25に記載のシステム。
第27の側面では、頭部姿勢センサは、慣性測定ユニット(IMU)、加速度計、ジャイロスコープ、または磁力計を備えている、側面1-26のいずれか1項に記載のシステム。
第28の側面では、ウェアラブルシステムは、頭部搭載型ウェアラブルシステムを備えている、側面1-27のいずれか1項に記載のシステム。
第29の側面では、ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、方法は、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することと、少なくとも部分的にユーザの頭部姿勢と基準頭部姿勢との間の比較に基づいて、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を決定することであって、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応することと、決定された角度差を1つ以上の頭部姿勢閾値と比較することであって、1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、ことと、角度差が最小頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第1の調節値に基づいて、仮想レチクルの位置のための調節を決定することであって、仮想レチクルの位置は、ユーザの視野内のユーザの位置を識別する移動可能なインジケータの位置に対応する、ことと、角度差が最大頭部姿勢閾値を満たすことの決定に応答して、少なくとも部分的に第2の調節値に基づいて、仮想レチクルの位置のための調節を決定することと、角度差が最小頭部姿勢閾値を満たし、最大頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第3の調節値に基づいて、仮想レチクルの位置のための調節を決定することと、決定された調節に基づいて、仮想レチクルの位置がユーザの視野のデフォルトレチクル位置から調節されるようにすることとを含む、方法。方法は、ディスプレイシステムの制御下で、例えば、方法の動作を実施するようにプログラムされるハードウェアプロセッサによって、実施されることができる。
第30の側面では、仮想レチクルは、ユーザの視野内のユーザの位置を識別する移動可能なインジケータを備えている、側面29に記載の方法。
第31の側面では、頭部姿勢データは、ユーザの頭部のヨー、ピッチ、またはロールの指示のうちの少なくとも1つに対応している、側面29または側面30に記載の方法。
第32の側面では、ユーザの頭部のヨー、ピッチ、またはロールの指示は、基準頭部姿勢に関している、側面31に記載の方法。
第33の側面では、ユーザの基準頭部姿勢は、ユーザの頭部の水平頭部姿勢に対応している、側面29-32のいずれか1項に記載の方法。
第34の側面では、水平頭部姿勢は、ユーザの頭部の冠状平面、ユーザの頭部の矢状平面、およびユーザの頭部の軸平面の各々が互いに直交している頭部姿勢を備えている、側面33に記載の方法。
第35の側面では、基準頭部姿勢は、中立に置かれた状態におけるユーザの頭部に対応する頭部姿勢を備えている、側面29-34のいずれか1項に記載の方法。
第36の側面では、ユーザの頭部の中立に置かれた状態は、ユーザの水平頭部に対して、約-5~5度のヨー、約-5~5度のロール、または約-15~-25度のピッチに対応している、側面35に記載の方法。
第37の側面では、基準頭部姿勢は、水平頭部姿勢に対して、0度のヨー、0度のロール、または-20度のピッチのうちの少なくとも1つに対応している、側面35または側面36に記載の方法。
第38の側面では、最大頭部姿勢閾値は、最大頭部ヨー閾値、最大頭部ロール閾値、または最大頭部ピッチ閾値のうちの少なくとも1つに対応している、側面29-37のいずれか1項に記載の方法。
第39の側面では、基準頭部姿勢に対して、最大頭部ヨー閾値は、約50度であり、最大頭部ロール閾値は、約20度であり、最大頭部ピッチ閾値は、約5度である、側面29-38のいずれか1項に記載の方法。
第40の側面では、最小頭部姿勢閾値は、最小頭部ヨー閾値、最小頭部ロール閾値、または最小頭部ピッチ閾値のうちの少なくとも1つに対応している、側面29-39のいずれか1項に記載の方法。
第41の側面では、最小頭部ヨー閾値は、基準頭部姿勢に対して、約-50度であり、最小頭部ロール閾値は、約-20度であり、最小頭部ピッチ閾値は、約-45度である、側面29-40のいずれか1項に記載の方法。
第42の側面では、第1の調節値は、約-12度である、側面29-41のいずれか1項に記載の方法。
第43の側面では、第2の調節値は、約+5度である、側面29-42のいずれか1項に記載の方法。
第44の側面では、第3の調節値は、イージング関数に対応している、側面29-43のいずれか1項に記載の方法。
第45の側面では、第3の調節値は、約0度である、側面29-44のいずれか1項に記載の方法。
第46の側面では、デフォルトレチクル位置は、ユーザの視野の中心を備えている、側面29-45のいずれか1項に記載の方法。
第47の側面では、頭部姿勢センサは、慣性測定ユニット(IMU)、加速度計、ジャイロスコープ、または磁力計を備えている、側面29-46のいずれか1項に記載の方法。
第48の側面では、ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、方法は、ディスプレイシステムのユーザの頭部姿勢データを取得することと、少なくとも部分的に頭部姿勢データに基づいて、頭部姿勢を識別することと、基準頭部姿勢を識別することと、少なくとも部分的に頭部姿勢と基準頭部姿勢との間の比較に基づいて、頭部搭載型ディスプレイ上に投影される仮想レチクルの位置のための調節を決定することとを含む、方法。
第49の側面では、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することをさらに含む、側面48に記載の方法。
第50の側面では、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することとをさらに含む、側面48または側面49に記載の方法。
第51の側面では、少なくとも部分的に頭部姿勢と基準頭部姿勢との間の比較に基づいて、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を決定することをさらに含み、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面50に記載の方法。
第52の側面では、該仮想レチクルの位置のための調節を決定することは、角度差と1つ以上の頭部姿勢閾値の比較にさらに基づく、側面48-51のいずれか1項に記載の方法。
第53の側面では、1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、側面52に記載の方法。
第54の側面では、ユーザの視野内のユーザの位置を識別する移動可能なインジケータのディスプレイシステムのディスプレイに対する位置を調節する方法であって、方法は、最大頭部ピッチ閾値、最小頭部ピッチ閾値、または中立頭部ピッチ閾値のうちの少なくとも1つを識別することと、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢ベクトルを識別することと、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することと、少なくとも部分的に角度差と最大頭部ピッチ閾値、最小頭部ピッチ閾値、または中立頭部ピッチ閾値のうちの少なくとも1つとに基づいて、レチクル調節を計算することと、少なくとも部分的に計算されたレチクル調節に基づいて、調節されたレチクル位置を決定することとを含む、方法。
第55の側面では、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することをさらに含む、側面54に記載の方法。
第56の側面では、該角度差を決定することは、少なくとも部分的に頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の比較に基づき、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面54または側面55に記載の方法。
第57の側面では、調節されたレチクル位置を決定することは、角度差と1つ以上の頭部姿勢閾値との比較にさらに基づく、側面54-56のいずれか1項に記載の方法。
第58の側面では、1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを備えている、側面57に記載の方法。
第59の側面では、ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、方法は、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、角度差が最小頭部ピッチ閾値を満たさないことを決定することと、少なくとも部分的に最小頭部ピッチ閾値に関連付けられた角度調節に基づいて、調節されたレチクル位置を決定することとを含む、方法。
第60の側面では、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することとをさらに含む、側面59に記載の方法。
第61の側面では、該角度差を計算することは、少なくとも部分的に頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の比較に基づき、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面59または側面60に記載の方法。
第62の側面では、ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、方法は、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、角度差が最小頭部ピッチ閾値を満たすことを決定することと、角度差が最大頭部ピッチ閾値を満たさないことを決定することと、少なくとも部分的に最大頭部ピッチ閾値に関連付けられた角度調節に基づいて、調節されたレチクル位置を決定することとを含む、方法。
第63の側面では、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することとをさらに含む、側面62に記載の方法。
第64の側面では、角度差を計算することは、少なくとも部分的に頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の比較に基づき、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面62または側面63に記載の方法。
第65の側面では、ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、方法は、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、角度差が最小頭部ピッチ閾値を満たすことを決定することと、角度差が中立頭部ピッチ閾値を満たさないことを決定することと、少なくとも部分的にイージング関数に基づいて、調節されたレチクル位置を決定することとを含む、方法。
第66の側面では、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することとをさらに含む、側面65に記載の方法。
第67の側面では、角度差を計算することは、少なくとも部分的に頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の比較に基づき、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面65に記載の方法。
第68の側面では、ディスプレイシステムのディスプレイに対応している視野内のユーザの位置を識別する仮想レチクルの位置を調節する方法であって、方法は、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を計算することであって、頭部姿勢ベクトルは、ディスプレイシステムのユーザの頭部姿勢に対応し、基準頭部姿勢ベクトルは、基準頭部姿勢に対応している、ことと、角度差が中立頭部ピッチ閾値を満たすことを決定することと、角度差が最大頭部ピッチ閾値を満たさないことを決定することと、少なくとも部分的にイージング関数に基づいて、調節されたレチクル位置を決定することとを含む、方法。
第69の側面では、ディスプレイシステムのユーザの頭部姿勢データをユーザの頭部姿勢を追跡するように構成された部姿勢センサから取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することとをさらに含む、側面68に記載の方法。
第70の側面では、該角度差を計算することは、少なくとも部分的に頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の比較に基づき、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応している、側面68または側面69に記載の方法。先行側面のいずれかに説明される方法のいずれかは、ハードウェアプロセッサ、例えば、頭部搭載型ディスプレイシステムに関連付けられたハードウェアプロセッサの制御下で、実施されることができる。
第71の側面では、システムであって、システムは、システムのユーザの頭部姿勢データを測定するように構成された頭部姿勢センサと、ユーザの頭部のヨー、ピッチ、またはロールの指示のうちの少なくとも1つに対応している頭部姿勢データを記憶するように構成された非一過性メモリと、ユーザの眼の正面に位置付けられるように構成されたディスプレイであって、ディスプレイは、仮想レチクルをユーザの眼に向かって投影するように構成され、仮想レチクルは、視野内のユーザの位置を識別する移動可能なインジケータを備えている、ディスプレイと、頭部姿勢センサ、ディスプレイ、および非一過性メモリと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、ユーザの頭部姿勢データを取得することと、少なくとも部分的に頭部姿勢データに基づいて、ユーザの頭部姿勢に対応している頭部姿勢ベクトルを識別することと、基準頭部姿勢に対応している基準頭部姿勢ベクトルを識別することと、少なくとも部分的にユーザの頭部姿勢と基準頭部姿勢との間の比較に基づいて、頭部姿勢ベクトルと基準頭部姿勢ベクトルとの間の角度差を決定することであって、角度差は、ユーザの頭部姿勢のヨー、ピッチ、またはロールにおける基準頭部姿勢に対する差異のうちの少なくとも1つに対応する、ことと、決定された角度差を1つ以上の頭部姿勢閾値と比較することであって、1つ以上の頭部姿勢閾値は、最大頭部姿勢閾値または最小頭部姿勢閾値のうちの少なくとも1つを含む、ことと、角度差が最小頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第1の調節値に基づいて、仮想レチクルの位置のための調節を決定することと、角度差が最大頭部姿勢閾値を満たすことの決定に応答して、少なくとも部分的に第2の調節値に基づいて、仮想レチクルの位置のための調節を決定することと、角度差が最小頭部姿勢閾値を満たし、最大頭部姿勢閾値を満たさないことの決定に応答して、少なくとも部分的に第3の調節値に基づいて、仮想レチクルの位置のための調節を決定することと、決定された調節に基づいて、仮想レチクルの位置がユーザの視野のデフォルトレチクル位置から調節されるようにすることとを行うようにプログラムされている、システム。
(追加の考慮点)
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムの各々は、具体的かつ特定のコンピュータ命令を実行するように構成された1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行されるコードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、特定のコンピュータ命令でプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる動的リンクライブラリ内にインストールされ得るか、または、解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特定の回路によって実施され得る。
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるので、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または、結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、特にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、光学ディスク、揮発性もしくは不揮発性記憶装置等の組み合わせ等を含む物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ読み取り可能な媒体上に記憶され得る。方法およびモジュール(またはデータ)は、無線ベースおよび有線/ケーブルベースの媒体を含む種々のコンピュータ読み取り可能な伝送媒体上で生成されたデータ信号としても(例えば、搬送波または他のアナログもしくはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一もしくは多重化アナログ信号の一部として、または複数の別々のデジタルパケットもしくはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得るか、または、コンピュータ読み取り可能な伝送媒体を介して通信され得る。
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性が、プロセスにおいて具体的機能(例えば、論理もしくは算術)またはステップを実装するための1つ以上の実行可能命令を含むコードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられること、再配列されること、追加されること、削除されること、修正されること、または別様に本明細書に提供される例証的例から変更されることができる。いくつかの実施形態では、追加のまたは異なるコンピューティングシステムもしくはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスは、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることもできる。タスクまたはイベントが、開示される例示的実施形態に追加されるか、または、それらから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品において一緒に統合されるか、または、複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線もしくは無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
本開示のシステムおよび方法の各々は、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しないか、または、そのために要求されない。上で説明される種々の特徴およびプロセスは、互いに独立して使用され得るか、または、種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
別個の実装の文脈において本明細書に説明されるある特徴は、単一の実装における組み合わせにおいても実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴も、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上で説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要もしくは必須ではない。
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.,)」等等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/もしくはステップが、1つ以上の実施形態に対していかようにも要求されること、または、1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/もしくはステップが任意の特定の実施形態において含まれること、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備えている」、「~を含む」、「~を有する」等は、同義語であり、非限定的方式で包括的に使用され、追加の要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全ても意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」もしくは「少なくとも1つ」を意味するように解釈されるべきである。
本明細書で使用されるように、項目のリスト「のうちの少なくとも1つ」を指す語句は、単一の要素を含むそれらの項目の任意の組み合わせを指す。ある例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、ならびにA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つの各々が存在するように要求することを示唆することを意図されない。
同様に、動作は、特定の順序で図面に描写され得るが、それは、望ましい結果を達成するために、そのような動作が示される特定の順序で、もしくは連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の追加の動作が、図示される動作のいずれかの前、その後、それと同時、またはその間に実施されることができる。加えて、動作は、他の実装において再配列され、または、再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上で説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品において一緒に統合されるか、または、複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
(付属A)
[Header(’Pitcheslimits relative to horizontal’)]
public float maxHeadPitch = 5;
public float neutralHeadPitch = -20;
public float minHeadPitch= -45;

[Header(’Angle offsets at the min/max head pitch’)]
public float maxHeadPitchDelta = 8;
public float minHeadPitchDelta = -12;

public Vector3 GetAcceleratedForwardVector() {
// Pitch limitsrelative to horizontal
float maxHeadPitch = 5;
float neutralHeadPitch = -20;
float minHeadPitch = -45;

// Angle offsets at the min/max head pitch
float maxHeadPitchDelta = 8;
float minHeadPitchDelta = -12;

// Get the camera/headpose forward vector
Vector3 forward = Headpose.Forward;
// Get the forward vector projected on to the horizontal plane
Vector3 flat = forward;
flat.y = 0;
flat.Normalize ();
// Calculate the absolute angle between
the headpose forward vector and the flattened forward vector
float pitch = Mathf.Acos (Vector3.Dot (forward,flat)) * Mathf.Rad2Deg;
// If the forward vector is pointing downwards,then the angle is negative
if (forward.y < 0)

pitch = -pitch;

// pitchAdjustment is the angular deviation from the forward vector
float pitchAdjustment = 0;
if (pitch >= maxHeadPitch)

// If pitch > maxHeadPitch,set adjustment to maxHeadPitchDelta
pitchAdjustment = maxHeadPitchDelta;

else if (pitch >= neutralHeadPitch)

// If pitch is between neutralHeadPitch
and maxHeadPitch,set adjustment to be an eased value between 0 and maxHeadPitchDelta
float t = (pitch - neutralHeadPitch) / (maxHeadPitch - neutralHeadPitch);
t = EaseOutSine(t);
pitchAdjustment = maxHeadPitchDelta * t;

else if (pitch >= minHeadPitch)

// If pitch is between neutralHeadPitch
and minHeadPitch,set adjustment to be an eased value between 0 and minHeadPitchDelta
float t = (pitch - minHeadPitch) / (neutralHeadPitch - minHeadPitch);
t = EaseOutSine(1 - t);
pitchAdjustment = minHeadPitchDelta * t;

else

// If pitch < minHeadPitch,set adjustment to minHeadPitchDelta
pitchAdjustment = minHeadPitchDelta;


// If the pitch adjustment is not equal
to zero
if (pitchAdjustment != 0)

// Calculate the vector perpendicular to the up and forward vectors
Vector3 right = Vector3.Cross (Vector3.up,flat);
// Calculate the rotation adjustment
Quaternionadjust = Quaternion.AngleAxis(pitchAdjustment,-right);
// Apply the adjustment to the forward vector to get a new adjusted forward vector
forward = adjust * forward;


return forward;

(著作権)MAGIC LEAP,INC. All rights reserved.

Claims (15)

  1. システムであって、前記システムは、
    前記システムのユーザの頭部姿勢データを取得するように構成された頭部姿勢センサと、
    前記頭部姿勢データを記憶するように構成された非一過性メモリと、
    ユーザの眼の正面に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、前記ユーザの視野(FOV)内で仮想レチクルを前記ユーザの前記眼に向かって投影するように構成されており、前記ユーザの頭部姿勢が変化するにつれて、前記FOVが変化する、ディスプレイと、
    前記頭部姿勢センサ、前記ディスプレイ、および前記非一過性メモリと通信しているハードウェアプロセッサと
    を備え、
    前記ハードウェアプロセッサは、
    前記頭部姿勢データに少なくとも部分的に基づいて、前記ユーザの頭部姿勢を識別することと、
    前記頭部姿勢に少なくとも部分的に基づいて、前記ディスプレイに、前記FOV内の場所に前記仮想レチクルをレンダリングさせることと
    を行うようにプログラムされ、
    前記頭部姿勢が第1の頭部姿勢閾値を満たし、第2の頭部姿勢閾値を満たさないときに、前記FOV内の前記仮想レチクルの前記場所は、前記頭部姿勢およびイージング関数に少なくとも部分的に基づいており、前記頭部姿勢が変化するにつれて、前記FOV内の前記仮想レチクルの前記場所が変化し、
    前記頭部姿勢が前記第1の頭部姿勢閾値を満たさないときに、前記頭部姿勢が変化するにつれて、前記FOVが変化し、前記仮想レチクルの前記場所は、前記FOV内に固定されており、
    前記第1の頭部姿勢閾値は、イージング閾値であり、前記第2の頭部姿勢閾値は、最大頭部姿勢閾値である、システム。
  2. 前記頭部姿勢が前記第1の頭部姿勢閾値を満たし、第2の頭部姿勢閾値を満たさないときに、前記仮想レチクルの前記場所は、前記頭部姿勢およびオフセットに少なくとも部分的に基づいている、請求項1に記載のシステム。
  3. 前記仮想レチクルは、前記FOV内の位置を識別する移動可能なインジケータを備えている、請求項1に記載のシステム。
  4. 記第2の頭部姿勢閾値、前記ユーザの軸平面に対して0度、前記ユーザの冠状平面に対して0度、または、前記ユーザの矢状平面に対して度のうちの少なくとも1つに対応する、請求項1に記載のシステム。
  5. 前記頭部姿勢が前記第2の頭部姿勢閾値を満たしているとき、前記FOV内の前記仮想レチクルの移動は、前記FOVに関連付けられた境界によって制限される、請求項1に記載のシステム。
  6. システムであって、前記システムは、
    前記システムのユーザの頭部姿勢データを取得するように構成された頭部姿勢センサと、
    前記頭部姿勢データを記憶するように構成された非一過性メモリと、
    ユーザの眼の正面に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、前記ユーザの視野(FOV)内で仮想レチクルを前記ユーザの前記眼に向かって投影するように構成され、前記ユーザの頭部姿勢が変化するにつれて、前記FOVが変化する、ディスプレイと、
    前記頭部姿勢センサ、前記ディスプレイ、および前記非一過性メモリと通信しているハードウェアプロセッサと
    を備え、
    前記ハードウェアプロセッサは、
    前記頭部姿勢データに少なくとも部分的に基づいて、前記ユーザの頭部姿勢を識別することと、
    前記頭部姿勢が第1の頭部姿勢閾値を満たさないことの決定に少なくとも部分的に基づいて、前記ディスプレイに、前記FOV内の固定場所に仮想レチクルをレンダリングさせることであって、前記頭部姿勢が前記第1の頭部姿勢閾値を満たさないときに、前記頭部姿勢が変化するにつれて、前記FOVが変化する、ことと、
    前記頭部姿勢が前記第1の頭部姿勢閾値を満たし、第2の頭部姿勢閾値を満たさないことの決定に少なくとも部分的に基づいて、前記ディスプレイに、前記ユーザの前記頭部姿勢およびイージング関数に少なくとも部分的に基づいて変動する前記FOV内の場所に前記仮想レチクルをレンダリングさせることと
    を行うようにプログラムされており、
    前記第1の頭部姿勢閾値は、イージング閾値であり、前記第2の頭部姿勢閾値は、最大頭部姿勢閾値である、システム。
  7. 前記頭部姿勢が前記第1の頭部姿勢閾値を満たし、前記第2の頭部姿勢閾値を満たさないときに、前記仮想レチクルの前記場所は、前記頭部姿勢およびオフセットに少なくとも部分的に基づいている、請求項6に記載のシステム。
  8. 前記固定場所は、前記FOVの中心に対応している、請求項6に記載のシステム。
  9. 前記仮想レチクルは、前記FOV内の位置を識別する移動可能なインジケータを備える、請求項6に記載のシステム。
  10. 前記頭部姿勢が前記第2の頭部姿勢閾値を満たしているとき、前記FOV内の前記仮想レチクルの移動は、前記FOVに関連付けられた境界によって制限される、請求項6に記載のシステム。
  11. ディスプレイシステムのディスプレイに対応する視野(FOV)内の位置を識別する仮想レチクルの位置を調節する方法であって、前記方法は、
    頭部姿勢センサから取得された頭部姿勢データに少なくとも部分的に基づいて、ユーザの頭部姿勢を識別することと、
    前記頭部姿勢が第1の頭部姿勢閾値を満たさないことの決定に少なくとも部分的に基づいて、前記ディスプレイに、前記FOV内の固定場所に仮想レチクルをレンダリングさせることであって、前記頭部姿勢が前記第1の頭部姿勢閾値を満たさないときに、前記頭部姿勢が変化するにつれて、前記FOVが変化する、ことと、
    前記頭部姿勢が前記第1の頭部姿勢閾値を満たし、第2の頭部姿勢閾値を満たさないことの決定に少なくとも部分的に基づいて、前記ディスプレイに、前記ユーザの前記頭部姿勢およびイージング関数に少なくとも部分的に基づいて変動する前記FOV内の場所に前記仮想レチクルをレンダリングさせることと
    を含み、
    前記第1の頭部姿勢閾値は、イージング閾値であり、前記第2の頭部姿勢閾値は、最大頭部姿勢閾値である、方法。
  12. 前記頭部姿勢が前記第1の頭部姿勢閾値を満たし、前記第2の頭部姿勢閾値を満たさないときに、前記仮想レチクルの前記場所は、前記頭部姿勢およびオフセットに少なくとも部分的に基づいている、請求項11に記載の方法。
  13. デフォルト場所は、前記FOVの中心に対応している、請求項11に記載の方法。
  14. 前記仮想レチクルは、前記FOV内の位置を識別する移動可能なインジケータを備える、請求項11に記載の方法。
  15. 前記頭部姿勢が前記第2の頭部姿勢閾値を満たしているとき、前記FOV内の前記仮想レチクルの移動は、前記FOVに関連付けられた境界によって制限される、請求項11に記載の方法。
JP2022071526A 2017-10-27 2022-04-25 拡張現実システムのための仮想レチクル Active JP7480218B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024070428A JP2024097815A (ja) 2017-10-27 2024-04-24 拡張現実システムのための仮想レチクル

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762578094P 2017-10-27 2017-10-27
US62/578,094 2017-10-27
JP2020520778A JP7116166B2 (ja) 2017-10-27 2018-10-25 拡張現実システムのための仮想レチクル
PCT/US2018/057593 WO2019084325A1 (en) 2017-10-27 2018-10-25 VIRTUAL RETICLE FOR INCREASED REALITY SYSTEMS

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020520778A Division JP7116166B2 (ja) 2017-10-27 2018-10-25 拡張現実システムのための仮想レチクル

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024070428A Division JP2024097815A (ja) 2017-10-27 2024-04-24 拡張現実システムのための仮想レチクル

Publications (2)

Publication Number Publication Date
JP2022101656A JP2022101656A (ja) 2022-07-06
JP7480218B2 true JP7480218B2 (ja) 2024-05-09

Family

ID=66244898

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020520778A Active JP7116166B2 (ja) 2017-10-27 2018-10-25 拡張現実システムのための仮想レチクル
JP2022071526A Active JP7480218B2 (ja) 2017-10-27 2022-04-25 拡張現実システムのための仮想レチクル
JP2024070428A Pending JP2024097815A (ja) 2017-10-27 2024-04-24 拡張現実システムのための仮想レチクル

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020520778A Active JP7116166B2 (ja) 2017-10-27 2018-10-25 拡張現実システムのための仮想レチクル

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024070428A Pending JP2024097815A (ja) 2017-10-27 2024-04-24 拡張現実システムのための仮想レチクル

Country Status (9)

Country Link
US (3) US10839576B2 (ja)
EP (1) EP3701497A4 (ja)
JP (3) JP7116166B2 (ja)
KR (2) KR102668725B1 (ja)
CN (1) CN111480181A (ja)
AU (1) AU2018355441B2 (ja)
CA (1) CA3078895A1 (ja)
IL (2) IL310847A (ja)
WO (1) WO2019084325A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3353633A1 (en) * 2015-09-24 2018-08-01 Tobii AB Eye-tracking enabled wearable devices
FR3057950B1 (fr) * 2016-10-24 2018-10-19 Nexter Systems Procede d'aide a la localisation d'un objectif et dispositif d'observation permettant la mise en oeuvre de ce procede
US10664993B1 (en) * 2017-03-13 2020-05-26 Occipital, Inc. System for determining a pose of an object
KR102668725B1 (ko) 2017-10-27 2024-05-29 매직 립, 인코포레이티드 증강 현실 시스템들에 대한 가상 레티클
JP7118650B2 (ja) * 2018-01-18 2022-08-16 キヤノン株式会社 表示装置
JP6518028B1 (ja) * 2018-08-01 2019-05-22 楽天株式会社 表示装置、表示方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
US11726320B2 (en) * 2018-08-29 2023-08-15 Sony Corporation Information processing apparatus, information processing method, and program
CN109582134B (zh) * 2018-11-09 2021-07-23 北京小米移动软件有限公司 信息显示的方法、装置及显示设备
US10929982B2 (en) * 2019-01-25 2021-02-23 Google Llc Face pose correction based on depth information
EP3901919A4 (en) * 2019-04-17 2022-06-08 Rakuten Group, Inc. DISPLAY CONTROL DEVICE, DISPLAY CONTROL METHOD, PROGRAM, AND COMPUTER READABLE NON-TRANSITORY INFORMATION RECORDING MEDIA
GB201906420D0 (en) * 2019-05-07 2019-06-19 Farley Adam Virtual augmented and mixed reality systems with physical feedback
EP4170654A1 (en) 2019-05-22 2023-04-26 Google LLC Methods, systems, and media for object grouping and manipulation in immersive environments
US11470017B2 (en) * 2019-07-30 2022-10-11 At&T Intellectual Property I, L.P. Immersive reality component management via a reduced competition core network component
CN112416115B (zh) * 2019-08-23 2023-12-15 亮风台(上海)信息科技有限公司 一种用于控件交互界面中进行人机交互的方法与设备
US11576570B2 (en) * 2019-08-30 2023-02-14 Qualcomm Incorporated Determining eye strain indicator based on multiple devices
CN110717968B (zh) * 2019-10-11 2023-04-07 长春理工大学 三维场景的计算资源请求驱动自适应云渲染方法
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
WO2021178247A1 (en) * 2020-03-02 2021-09-10 Qsinx Management Llc Systems and methods for processing scanned objects
US11442268B2 (en) * 2020-09-29 2022-09-13 Snap Inc. Augmented reality gaming using virtual eyewear beams
CN116324573A (zh) 2020-10-02 2023-06-23 伊奎蒂公司 十字线对准
FR3122327A1 (fr) * 2021-04-29 2022-11-04 Clubdes3 Zones de vision croisées
US11899204B2 (en) * 2021-06-09 2024-02-13 Snap Inc. Soft follow and pitch angle effects for VR/AR interface
US11691072B2 (en) * 2021-08-24 2023-07-04 Sony Interactive Entertainment LLC Aiming display automation for head mounted display applications
CN114661152B (zh) * 2022-03-16 2022-12-20 北京伊园未来科技有限公司 一种降低视觉疲劳的ar显示控制系统及方法
US20230343028A1 (en) * 2022-04-20 2023-10-26 Apple Inc. Method and Device for Improving Comfortability of Virtual Content
CN114911384B (zh) * 2022-05-07 2023-05-12 青岛海信智慧生活科技股份有限公司 镜子显示器及其远程控制方法
WO2024167532A1 (en) * 2023-02-10 2024-08-15 Google Llc Calibrating gaze tracking based on head movement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337645A (ja) 2000-05-26 2001-12-07 Fujitsu Ltd 表示システム及び記憶媒体
JP2021501397A (ja) 2017-10-27 2021-01-14 マジック リープ, インコーポレイテッドMagic Leap,Inc. 拡張現実システムのための仮想レチクル

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
JPH08202281A (ja) * 1995-01-30 1996-08-09 Olympus Optical Co Ltd 頭部装着型映像表示装置システム
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
CA2290765C (en) * 1998-02-02 2000-07-25 Steve Mann Covert camera viewfinder or display having appearance of ordinary eyeglasses
EP1116211A4 (en) 1998-09-22 2001-11-21 Vega Vista Inc INTUITIVE CONTROL OF A PORTABLE DATA PRESENTATION SCREEN
USD514570S1 (en) 2004-06-24 2006-02-07 Microsoft Corporation Region of a fingerprint scanning device with an illuminated ring
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
US9348143B2 (en) 2010-12-24 2016-05-24 Magic Leap, Inc. Ergonomic head mounted display device and optical system
EP3462286A1 (en) 2011-05-06 2019-04-03 Magic Leap, Inc. Massive simultaneous remote digital presence world
EP2760363A4 (en) 2011-09-29 2015-06-24 Magic Leap Inc TACTILE GLOVE FOR HUMAN COMPUTER INTERACTION
KR101964223B1 (ko) 2011-10-28 2019-04-01 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
US8970452B2 (en) * 2011-11-02 2015-03-03 Google Inc. Imaging method
EP2841991B1 (en) 2012-04-05 2020-01-08 Magic Leap, Inc. Wide-field of view (fov) imaging devices with active foveation capability
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
KR20150054967A (ko) 2012-09-11 2015-05-20 매직 립, 인코포레이티드 인체공학적 헤드 마운티드 디스플레이 디바이스 및 광학 시스템
US9134793B2 (en) * 2013-01-04 2015-09-15 Kopin Corporation Headset computer with head tracking input used for inertial control
KR102141992B1 (ko) 2013-01-15 2020-08-06 매직 립, 인코포레이티드 초고해상도 스캐닝 섬유 디스플레이
FR3003049B1 (fr) 2013-03-08 2015-04-10 Thales Sa Systeme de visualisation de casque comportant des moyens visuels d'interaction avec la symbologie affichee
KR20230044041A (ko) 2013-03-11 2023-03-31 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
CA3160567A1 (en) 2013-03-15 2014-09-18 Magic Leap, Inc. Display system and method
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
KR20230098359A (ko) 2013-10-16 2023-07-03 매직 립, 인코포레이티드 조절가능한 동공간 거리를 가지는 가상 또는 증강 현실 헤드셋들
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
EP4220999A3 (en) 2013-11-27 2023-08-09 Magic Leap, Inc. Virtual and augmented reality systems and methods
US9229235B2 (en) * 2013-12-01 2016-01-05 Apx Labs, Inc. Systems and methods for unlocking a wearable device
US20150220142A1 (en) 2014-01-31 2015-08-06 Kopin Corporation Head-Tracking Based Technique for Moving On-Screen Objects on Head Mounted Displays (HMD)
EP3100098B8 (en) 2014-01-31 2022-10-05 Magic Leap, Inc. Multi-focal display system and method
NZ722904A (en) 2014-01-31 2020-05-29 Magic Leap Inc Multi-focal display system and method
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
CN107087431B (zh) 2014-05-09 2021-02-05 谷歌有限责任公司 用于辨别眼睛信号和连续生物识别的系统和方法
USD759657S1 (en) 2014-05-19 2016-06-21 Microsoft Corporation Connector with illumination region
CA3124368C (en) 2014-05-30 2023-04-25 Magic Leap, Inc. Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
USD752529S1 (en) 2014-06-09 2016-03-29 Comcast Cable Communications, Llc Electronic housing with illuminated region
US9965030B2 (en) * 2014-07-31 2018-05-08 Samsung Electronics Co., Ltd. Wearable glasses and method of displaying image via the wearable glasses
US9767373B2 (en) * 2014-09-05 2017-09-19 Ford Global Technologies, Llc Head-mounted display head pose and activity estimation
US10013808B2 (en) * 2015-02-03 2018-07-03 Globus Medical, Inc. Surgeon head-mounted display apparatuses
EP4198911A1 (en) 2015-08-18 2023-06-21 Magic Leap, Inc. Virtual and augmented reality systems and methods
CN108292040B (zh) 2015-09-30 2020-11-06 索尼互动娱乐股份有限公司 优化头戴式显示器屏幕上的内容定位的方法
JP2017097306A (ja) 2015-11-27 2017-06-01 株式会社リコー ヘッドマウントディスプレイシステム及びヘッドマウントディスプレイシステムにおける表示制御方法
JP6130478B1 (ja) 2015-12-15 2017-05-17 株式会社コロプラ プログラム及びコンピュータ
USD805734S1 (en) 2016-03-04 2017-12-26 Nike, Inc. Shirt
USD794288S1 (en) 2016-03-11 2017-08-15 Nike, Inc. Shoe with illuminable sole light sequence
US10127727B1 (en) * 2017-01-10 2018-11-13 Meta Company Systems and methods to provide an interactive environment over an expanded field-of-view

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337645A (ja) 2000-05-26 2001-12-07 Fujitsu Ltd 表示システム及び記憶媒体
JP2021501397A (ja) 2017-10-27 2021-01-14 マジック リープ, インコーポレイテッドMagic Leap,Inc. 拡張現実システムのための仮想レチクル

Also Published As

Publication number Publication date
JP2022101656A (ja) 2022-07-06
US11367230B2 (en) 2022-06-21
WO2019084325A1 (en) 2019-05-02
US12100080B2 (en) 2024-09-24
JP7116166B2 (ja) 2022-08-09
IL274038B2 (en) 2024-07-01
JP2021501397A (ja) 2021-01-14
US20190130622A1 (en) 2019-05-02
CA3078895A1 (en) 2019-05-02
EP3701497A4 (en) 2021-07-28
US20220309722A1 (en) 2022-09-29
AU2018355441A1 (en) 2020-05-14
CN111480181A (zh) 2020-07-31
IL310847A (en) 2024-04-01
JP2024097815A (ja) 2024-07-19
IL274038B1 (en) 2024-03-01
US10839576B2 (en) 2020-11-17
AU2018355441B2 (en) 2023-11-09
US20210090311A1 (en) 2021-03-25
KR102668725B1 (ko) 2024-05-29
IL274038A (en) 2020-06-30
KR20240090488A (ko) 2024-06-21
KR20200079263A (ko) 2020-07-02
EP3701497A1 (en) 2020-09-02

Similar Documents

Publication Publication Date Title
JP7480218B2 (ja) 拡張現実システムのための仮想レチクル
JP7549681B2 (ja) 姿勢および複数のdofコントローラを用いた3d仮想オブジェクトとの相互作用
JP7543466B2 (ja) 眼追跡較正技術
JP7540112B2 (ja) 視野周辺の視覚的背光
JP2024159778A (ja) 視野周辺の視覚的背光

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240105

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: 20240327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240424

R150 Certificate of patent or registration of utility model

Ref document number: 7480218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150