JP2023517954A - Systems and methods for multi-user virtual and augmented reality - Google Patents

Systems and methods for multi-user virtual and augmented reality Download PDF

Info

Publication number
JP2023517954A
JP2023517954A JP2022554528A JP2022554528A JP2023517954A JP 2023517954 A JP2023517954 A JP 2023517954A JP 2022554528 A JP2022554528 A JP 2022554528A JP 2022554528 A JP2022554528 A JP 2022554528A JP 2023517954 A JP2023517954 A JP 2023517954A
Authority
JP
Japan
Prior art keywords
user
anchor points
virtual
common anchor
processing unit
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.)
Pending
Application number
JP2022554528A
Other languages
Japanese (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 JP2023517954A publication Critical patent/JP2023517954A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Abstract

第1および第2のユーザが相互に相互作用し得る、環境内で、仮想コンテンツを提供するための装置であって、第1のユーザによって装着される、第1のディスプレイ画面および/または第2のユーザによって装着される、第2のディスプレイ画面と通信するように構成される、通信インターフェースと、第1のユーザの第1の位置を取得し、第1のユーザの第1の位置に基づいて、第1のアンカポイントのセットを決定し、第2のユーザの第2の位置を取得し、第2のユーザの第2の位置に基づいて、第2のアンカポイントのセットを決定し、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定し、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供するように構成される、処理ユニットとを備える、装置。Apparatus for providing virtual content in an environment in which a first and second user can interact with each other, the apparatus comprising a first display screen and/or a second display screen worn by the first user. a communication interface configured to communicate with a second display screen worn by a user of a; obtaining a first location of the first user; , determine a first set of anchor points, obtain a second location of the second user, determine a second set of anchor points based on the second location of the second user, and determining one or more common anchor points within both the first set and the second set; based on at least one of the one or more common anchor points, the first user and/or a processing unit configured to provide virtual content for experience by a second user.

Description

本開示は、コンピューティング、学習ネットワーク構成、および接続されたモバイルコンピューティングシステム、方法、および構成に関し、より具体的には、仮想および/または拡張現実動作のために利用され得る、少なくとも1つのウェアラブルコンポーネントを特徴とする、モバイルコンピューティングシステム、方法、および構成に関する。 TECHNICAL FIELD The present disclosure relates to computing, learning network configurations, and connected mobile computing systems, methods, and configurations, and more particularly at least one wearable that can be utilized for virtual and/or augmented reality operations. Mobile computing systems, methods, and configurations featuring components.

現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」(VR)または「拡張現実」(AR)体験のための「複合現実」(MR)システムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式で、ユーザに提示される。VRシナリオは、典型的には、他の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。ARシナリオは、典型的には、ユーザの周囲の実世界の可視化(すなわち、実世界視覚的入力に対する透過性)に対する拡張としてデジタルまたは仮想画像情報の提示を伴う。故に、ARシナリオは、実世界視覚的入力に対する透過性を伴う、デジタルまたは仮想画像情報の提示を伴う。 Modern computing and display technologies are driving the development of “mixed reality” (MR) systems for so-called “virtual reality” (VR) or “augmented reality” (AR) experiences, which are digitally reproduced. The image, or portion thereof, is presented to the user in a manner that appears or can be perceived as real. VR scenarios typically involve the presentation of digital or virtual image information without transparency to other real-world visual inputs. AR scenarios typically involve the presentation of digital or virtual image information as an extension to the real-world visualization of the user's surroundings (ie, transparency to real-world visual input). AR scenarios thus involve the presentation of digital or virtual image information with transparency to real-world visual input.

MRシステムは、カラーデータを生成および表示し得、これは、MRシナリオの現実性を増加させる。これらのMRシステムの多くは、カラー画像に対応する異なる(例えば、原)色または「フィールド」(例えば、赤色、緑色、および青色)内のサブ画像を高速で連続して順次投影させることによって、カラーデータを表示する。カラーサブ画像を十分に高レート(例えば、60Hz、120Hz等)で投影させることは、平滑なカラーMRシナリオをユーザの記憶にもたらし得る。 MR systems can generate and display color data, which increases the realism of MR scenarios. Many of these MR systems operate by sequentially projecting sub-images in different (e.g., primary) colors or "fields" (e.g., red, green, and blue) corresponding to a color image in rapid succession. Display color data. Projecting the color sub-images at a sufficiently high rate (eg, 60 Hz, 120 Hz, etc.) can result in a smooth color MR scenario in the user's memory.

種々の光学システムは、MR(VRおよびAR)シナリオを表示するために、種々の深度において、カラー画像を含む、画像を生成する。 Various optical systems produce images, including color images, at various depths to display MR (VR and AR) scenarios.

MRシステムは、少なくとも、ユーザの頭部に緩く結合され、したがって、ユーザの頭部が移動すると移動する、ウェアラブルディスプレイデバイス(例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用し得る。ユーザの頭部運動が、ディスプレイデバイスによって検出される場合、表示されているデータは、頭部姿勢(すなわち、ユーザの頭部の配向および/または場所)の変化を考慮するために更新(例えば、「ワーピング」)され得る。 MR systems employ at least wearable display devices (e.g., head-mounted displays, helmet-mounted displays, or smart glasses) that are loosely coupled to the user's head and thus move as the user's head moves. can. When a user's head motion is detected by the display device, the displayed data is updated (e.g., "warping").

実施例として、頭部装着型ディスプレイデバイスを装着しているユーザが、ディスプレイ上の仮想オブジェクトの仮想表現を視認し、仮想オブジェクトが現れている面積の周囲を歩き回る場合、仮想オブジェクトは、視点毎にレンダリングされ、実空間を占有するオブジェクトの周囲を歩き回っているという知覚をユーザに与えることができる。頭部装着型ディスプレイデバイスが、複数の仮想オブジェクトを提示するために使用される場合、頭部姿勢の測定が、ユーザの動的に変化する頭部姿勢にマッチングし、没入感の増加を提供するように場面をレンダリングするために使用されることができる。 As an example, if a user wearing a head-mounted display device views a virtual representation of a virtual object on the display and walks around the area in which the virtual object appears, the virtual object is It can give the user the perception that they are walking around objects that are rendered and occupy real space. When a head-mounted display device is used to present multiple virtual objects, head pose measurements match the user's dynamically changing head poses to provide increased immersion. can be used to render the scene as

ARを有効にする、頭部装着型ディスプレイデバイスは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いることで、ユーザは、ディスプレイシステム内の透明(例えば、半透明または完全透明)要素を通して見え、直接、環境内の実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳し、ディスプレイからの光は、仮想コンテンツの画像を環境内の実オブジェクトのシースルービューにわたって投影される。カメラが、頭部装着型ディスプレイデバイス上に搭載され、ユーザによって視認されている場面の画像またはビデオを捕捉し得る。 AR-enabled head-mounted display devices provide simultaneous viewing of both real and virtual objects. An "optical see-through" display allows a user to see through transparent (eg, semi-transparent or fully transparent) elements in the display system and directly see light from real objects in the environment. The transparent element, often referred to as a "combiner," superimposes the light from the display across the user's view of the real world, and the light from the display spreads the image of the virtual content across the see-through view of real objects in the environment. projected. A camera may be mounted on the head-mounted display device to capture images or video of the scene being viewed by the user.

MRシステムにおけるもの等の現在の光学システムは、仮想コンテンツを光学的にレンダリングする。コンテンツは、空間内の個別の位置に位置する実際の物理的オブジェクトに対応しないという点で、「仮想」である。代わりに、仮想コンテンツは、ユーザの眼に指向される光ビームによって刺激されるとき、頭部装着型ディスプレイデバイスのユーザの脳(例えば、視覚中枢)内にのみ存在する。 Current optical systems, such as those in MR systems, optically render virtual content. Content is "virtual" in that it does not correspond to actual physical objects located at discrete locations in space. Instead, virtual content exists only within the head-mounted display device user's brain (eg, the visual center) when stimulated by light beams directed at the user's eyes.

ある場合には、頭部装着型画像ディスプレイデバイスは、実環境に対して仮想オブジェクトを表示し得、および/またはユーザが実環境に対して仮想オブジェクトを設置および/または操作することを可能にし得る。そのような場合、画像ディスプレイデバイスは、仮想オブジェクトが実環境に対して正しく変位され得るように、実環境に対するユーザを位置特定するように構成され得る。 In some cases, the head-mounted image display device may display virtual objects relative to the real environment and/or allow users to place and/or manipulate virtual objects relative to the real environment. . In such cases, the image display device may be configured to locate the user relative to the real environment so that the virtual object can be correctly displaced relative to the real environment.

複合現実または拡張現実の接眼ディスプレイは、軽量、低コスト、小形状因子を有し、広仮想画像視野を有し、可能な限り透明であることが望ましい。加えて、輻輳・開散運動-遠近調節不整合に関する容認可能許容値を超えずに、様々なユースケースのために実践的であるために、仮想画像情報を複数の焦点面(例えば、2つまたはそれを上回る)内に提示する、構成を有することが望ましい。 A mixed reality or augmented reality eyepiece display should be lightweight, low cost, have a small form factor, have a wide virtual image field of view, and be as transparent as possible. In addition, to be practical for a variety of use cases without exceeding acceptable tolerances for convergence-divergence motion-accommodative mismatch, virtual image information may be presented in multiple focal planes (e.g., two planes). or more).

また、仮想オブジェクトが、ユーザによって視認される際、物理的環境に対して正確に設置され得るように、仮想オブジェクトをユーザのビューに対して提供するための、新しい技法を有することが望ましいであろう。ある場合には、仮想オブジェクトが、ユーザから遠くに位置する、物理的環境に対して仮想的に設置される場合、仮想オブジェクトは、オフセットされ得る、またはその意図される場所から離れるように「ドリフト」し得る。これは、ユーザに対するローカル座標フレームが、物理的環境内の特徴に対して正しく位置合わせされるが、ユーザからより離れた物理的環境内の他の特徴と正確に整合し得ないために起こり得る。 It would also be desirable to have new techniques for presenting virtual objects to a user's view such that the virtual objects can be positioned accurately relative to the physical environment when viewed by the user. deaf. In some cases, when a virtual object is placed virtually with respect to a physical environment located far from the user, the virtual object may be offset, or "drift" away from its intended location. can. This can occur because the local coordinate frame for the user is correctly aligned with features in the physical environment, but may not match exactly with other features in the physical environment that are more distant from the user. .

(1人またはそれを上回るユーザによって装着される)1つまたはそれを上回る画像ディスプレイデバイスの1つまたはそれを上回る画面による表示のために、仮想オブジェクト等の仮想コンテンツを提供するための方法および装置が、本明細書に説明される。いくつかの実施形態では、仮想コンテンツは、ユーザによって画面を通して視認される際、物理的環境内にあるように現れるように表示されてもよい。仮想コンテンツは、物理的環境に対して位置合わせされる、1つまたはそれを上回るアンカポイントに基づいて、提供されてもよい。いくつかの実施形態では、仮想コンテンツは、可動オブジェクトとして提供されてもよく、可動オブジェクトの位置は、可動オブジェクトのアクションに近接近する、1つまたはそれを上回るアンカポイントに基づいてもよい。これは、オブジェクトがユーザから遠い場合でも、オブジェクトが、ユーザに対して仮想的に正確に設置されることを可能にする(ユーザによって、ユーザが装着している画面を通して、視認される際)。ゲーム用アプリケーションでは、そのような特徴は、ユーザが比較的に離れている場合でも、複数のユーザが、同一オブジェクトと相互作用することを可能にし得る。例えば、ゲーム用アプリケーションでは、仮想オブジェクトは、ユーザ間で仮想的に往復して通過されてもよい。本明細書に説明されるアンカポイント近接度に基づく、仮想オブジェクトの設置(位置付け)は、オフセットおよびドリフトの問題点を防止し、したがって、仮想オブジェクトが正確に位置付けられることを可能にする。 Methods and apparatus for presenting virtual content, such as virtual objects, for display by one or more screens of one or more image display devices (worn by one or more users) are described herein. In some embodiments, virtual content may be displayed such that it appears to be within a physical environment when viewed through a screen by a user. Virtual content may be provided based on one or more anchor points that are aligned with the physical environment. In some embodiments, virtual content may be provided as a movable object, and the position of the movable object may be based on one or more anchor points in close proximity to the action of the movable object. This allows the object to be virtually placed accurately with respect to the user (when viewed by the user through the screen they are wearing) even if the object is far from the user. In gaming applications, such features may allow multiple users to interact with the same object, even if the users are relatively far apart. For example, in a gaming application, virtual objects may be virtually passed back and forth between users. Placement (orientation) of virtual objects based on anchor point proximity as described herein prevents offset and drift issues, thus allowing virtual objects to be accurately positioned.

その中で第1のユーザおよび第2のユーザが相互に相互作用し得る、環境内で、仮想コンテンツを提供するための装置は、第1のユーザによって装着される、第1のディスプレイ画面および/または第2のユーザによって装着される、第2のディスプレイ画面と通信するように構成される、通信インターフェースと、処理ユニットであって、第1のユーザの第1の位置を取得し、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定し、第2のユーザの第2の位置を取得し、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定し、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定し、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供するように構成される、処理ユニットとを備える。 A device for providing virtual content in an environment in which a first user and a second user can interact with each other includes a first display screen worn by a first user and/or or a communication interface configured to communicate with a second display screen worn by a second user; and a processing unit for obtaining a first position of the first user; determining a first set of one or more anchor points based on the first location of the user; obtaining a second location of the second user; based on, determine a second set of one or more anchor points, determine one or more common anchor points that are within both the first set and the second set, determine one and a processing unit configured to provide virtual content for experience by the first user and/or the second user based on at least one of the or more common anchor points.

随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、処理ユニットは、共通アンカポイントのサブセットを複数の共通アンカポイントから選択するように構成される。 Optionally, the one or more common anchor points comprise a plurality of common anchor points, and the processing unit is configured to select a subset of common anchor points from the plurality of common anchor points.

随意に、処理ユニットは、共通アンカポイントのサブセットを選択し、第1のユーザおよび第2のユーザの相互に対する位置特定誤差を低減させるように構成される。 Optionally, the processing unit is configured to select a subset of common anchor points to reduce localization errors of the first user and the second user relative to each other.

随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える。 Optionally, the one or more common anchor points comprise a single common anchor point.

随意に、処理ユニットは、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、仮想コンテンツを位置付ける、および/または配向するように構成される。 Optionally, the processing unit is configured to position and/or orient the virtual content based on at least one of the one or more common anchor points.

随意に、第1のセット内の1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である。 Optionally, each of the one or more anchor points in the first set is a point in a Persistent Coordinate Frame (PCF).

随意に、処理ユニットは、仮想コンテンツを、表示のために、第1のディスプレイ画面および/または第2のディスプレイ画面内に、可動仮想オブジェクトとして提供するように構成される。 Optionally, the processing unit is configured to provide the virtual content for display as a movable virtual object within the first display screen and/or the second display screen.

随意に、処理ユニットは、仮想オブジェクトが第1のユーザと第2のユーザとの間の空間内で移動しているように現れるように、仮想オブジェクトを表示のために第1のディスプレイ画面内に提供するように構成される。 Optionally, the processing unit is configured to display the virtual object within the first display screen for display such that the virtual object appears to move within a space between the first user and the second user. configured to provide

随意に、1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、処理ユニットは、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、可動仮想オブジェクトを表示のために第1のディスプレイ画面内に提供するように構成され、可動仮想オブジェクトの第1のオブジェクト位置は、第1の共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、第2の共通アンカポイントに基づく。 Optionally, the one or more common anchor points comprise a first common anchor point and a second common anchor point, and the processing unit determines that the movable virtual object is the first common anchor point relative to the first display screen. configured to present the movable virtual object for display within the first display screen to have an object position and a second object position relative to the first display screen; The object position is based on the first common anchor point and the second object position of the movable virtual object is based on the second common anchor point.

随意に、処理ユニットは、仮想オブジェクトのアクションが生じる場所に基づいて、仮想オブジェクトを第1のオブジェクト位置に設置するための第1の共通アンカポイントを選択するように構成される。 Optionally, the processing unit is configured to select a first common anchor point for placing the virtual object at the first object position based on where the action of the virtual object occurs.

随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、処理ユニットは、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、可動仮想オブジェクトを表示のために第1のディスプレイ画面内に提供するように構成され、可動仮想オブジェクトの第1のオブジェクト位置は、単一共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、単一共通アンカポイントに基づく。 Optionally, the one or more common anchor points comprise a single common anchor point, and the processing unit determines that the movable virtual object is at the first object position relative to the first display screen and at the first object position relative to the first display screen. a second object position, wherein the first object position of the movable virtual object is at a single common anchor point; Based, the second object position of the movable virtual object is based on the single common anchor point.

随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、処理ユニットは、仮想コンテンツを第1のディスプレイ画面内に設置するために、共通アンカポイントのうちの1つを選択するように構成される。 Optionally, the one or more common anchor points comprises a plurality of common anchor points, and the processing unit activates one of the common anchor points to place the virtual content within the first display screen. configured to select.

随意に、処理ユニットは、仮想コンテンツのアクションに最も近いかまたは仮想コンテンツのアクションから距離閾値内にある、共通アンカポイントのうちの1つを選択することによって、仮想コンテンツを設置するための共通アンカポイントのうちの1つを選択するように構成される。 Optionally, the processing unit establishes a common anchor for placing the virtual content by selecting one of the common anchor points closest to or within a distance threshold from the action of the virtual content. configured to select one of the points.

随意に、仮想コンテンツの位置および/または移動は、第1のユーザの第1のハンドヘルドデバイスによって、制御可能である。 Optionally, the position and/or movement of the virtual content is controllable by the first user's first handheld device.

随意に、仮想コンテンツの位置および/または移動はまた、第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である。 Optionally, the position and/or movement of the virtual content can also be controlled by the second user's second handheld device.

随意に、処理ユニットは、1つまたはそれを上回る共通アンカポイントに基づいて、第1のユーザおよび第2のユーザを同一マッピング情報に対して位置特定するように構成される。 Optionally, the processing unit is configured to localize the first user and the second user to the same mapping information based on one or more common anchor points.

随意に、処理ユニットは、仮想コンテンツが第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるであろうように、第1のディスプレイ画面に、仮想コンテンツを表示させるように構成される。 Optionally, the processing unit causes the first display screen to display the virtual content such that the virtual content would appear in a spatial relationship to physical objects in the first user's surroundings. Configured.

随意に、処理ユニットは、1つまたはそれを上回るセンサ入力を取得するように構成され、処理ユニットは、1つまたはそれを上回るセンサ入力に基づいて、第1のユーザが仮想コンテンツを伴う目的を遂行することを補助するように構成される。 Optionally, the processing unit is configured to obtain the one or more sensor inputs, the processing unit determining, based on the one or more sensor inputs, the first user's intent with the virtual content. configured to assist in accomplishing

随意に、1つまたはそれを上回るセンサ入力は、第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す。 Optionally, the one or more sensor inputs are indicative of the first user's eye gaze direction, arm kinematics, body position, body orientation, or any combination of the foregoing.

随意に、処理ユニットは、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することによって、第1のユーザが目的を遂行することを補助するように構成される。 Optionally, the processing unit is configured to assist the first user in accomplishing a goal by applying one or more limits on position and/or angular velocity of system components.

随意に、処理ユニットは、仮想コンテンツと別の要素との間の距離を徐々に低減させることによって、第1のユーザが目的を遂行することを補助するように構成される。 Optionally, the processing unit is configured to assist the first user in accomplishing a goal by gradually reducing the distance between the virtual content and another element.

随意に、処理ユニットは、第1のディスプレイ画面と通信する、第1の処理部分と、第2のディスプレイ画面と通信する、第2の処理部分とを備える。 Optionally, the processing unit comprises a first processing portion in communication with the first display screen and a second processing portion in communication with the second display screen.

その中で第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが、相互に相互作用し得る、環境内で、仮想コンテンツを提供するように構成される、装置によって実施される、方法は、第1のユーザの第1の位置を取得することと、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、第2のユーザの第2の位置を取得することと、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定することと、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供することとを含む。 virtual content in an environment in which a first user wearing a first display screen and a second user wearing a second display screen can interact with each other; A method implemented by an apparatus configured to provide: obtaining a first location of a first user; and based on the first location of the first user, one or more determining a first set of overriding anchor points; obtaining a second location of the second user; and one or more anchor points based on the second location of the second user. determining one or more common anchor points within both the first set and the second set; determining one or more common anchor points in both the first set and the second set; providing virtual content for experience by the first user and/or the second user based on at least one of:

随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、共通アンカポイントのサブセットを複数の共通アンカポイントから選択することを含む。 Optionally, the one or more common anchor points comprise a plurality of common anchor points, and the method further comprises selecting a subset of common anchor points from the plurality of common anchor points.

随意に、共通アンカポイントのサブセットは、第1のユーザおよび第2のユーザの相互に対する位置特定誤差を低減させるように選択される。 Optionally, the subset of common anchor points is selected to reduce localization errors of the first user and the second user with respect to each other.

随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える。 Optionally, the one or more common anchor points comprise a single common anchor point.

随意に、本方法はさらに、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、仮想コンテンツに関する位置および/または配向を決定することを含む。 Optionally, the method further includes determining a position and/or orientation for the virtual content based on at least one of the one or more common anchor points.

随意に、第1のセット内の1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である。 Optionally, each of the one or more anchor points in the first set is a point in a Persistent Coordinate Frame (PCF).

随意に、仮想コンテンツは、表示のために、可動仮想オブジェクトとして、第1のディスプレイ画面および/または第2のディスプレイ画面内に提供される。 Optionally, the virtual content is provided as movable virtual objects within the first display screen and/or the second display screen for display.

随意に、仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、仮想オブジェクトが第1のユーザと第2のユーザとの間の空間内を移動しているように現れるように提供される。 Optionally, the virtual object is provided for display such that it appears within the first display screen as if the virtual object were moving in space between the first user and the second user. be.

随意に、1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、第1の共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、第2の共通アンカポイントに基づく。 Optionally, the one or more common anchor points comprises a first common anchor point and a second common anchor point, wherein the movable virtual object is for display in the first display screen: A movable virtual object is provided having a first object position relative to the first display screen and a second object position relative to the first display screen, the first object position of the movable virtual object being the first A second object position of the movable virtual object is based on the second common anchor point.

随意に、本方法はさらに、仮想オブジェクトのアクションが生じる場所に基づいて、仮想オブジェクトを第1のオブジェクト位置に設置するための第1の共通アンカポイントを選択することを含む。 Optionally, the method further includes selecting a first common anchor point for placing the virtual object at the first object position based on where the action of the virtual object occurs.

随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、単一共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、単一共通アンカポイントに基づく。 Optionally, the one or more common anchor points comprises a single common anchor point, the moveable virtual object is for display in the first display screen, the moveable virtual object is in the first display screen. and a second object position relative to the first display screen, wherein the first object position of the movable virtual object is based on the single common anchor point and the position of the movable virtual object A second object position is based on a single common anchor point.

随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、仮想コンテンツを第1のディスプレイ画面内に設置するための共通アンカポイントのうちの1つを選択することを含む。 Optionally, the one or more common anchor points comprises a plurality of common anchor points, the method further comprising selecting one of the common anchor points for placing the virtual content within the first display screen. Including choosing.

随意に、選択する行為は、仮想コンテンツのアクションに最も近いかまたは仮想コンテンツのアクションから距離閾値内にある、共通アンカポイントのうちの1つを選択することを含む。 Optionally, the act of selecting comprises selecting one of the common anchor points closest to the action of the virtual content or within a distance threshold from the action of the virtual content.

随意に、仮想コンテンツの位置および/または移動は、第1のユーザの第1のハンドヘルドデバイスによって、制御可能である。 Optionally, the position and/or movement of the virtual content is controllable by the first user's first handheld device.

随意に、仮想コンテンツの位置および/または移動はまた、第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である。 Optionally, the position and/or movement of the virtual content can also be controlled by the second user's second handheld device.

随意に、本方法はさらに、1つまたはそれを上回る共通アンカポイントに基づいて、第1のユーザおよび第2のユーザを同一マッピング情報に対して位置特定することを含む。 Optionally, the method further comprises localizing the first user and the second user to the same mapping information based on one or more common anchor points.

随意に、本方法はさらに、仮想コンテンツが第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるように、第1のディスプレイ画面によって、仮想コンテンツを表示することを含む。 Optionally, the method further includes displaying the virtual content with the first display screen such that the virtual content appears in a spatial relationship to physical objects in the first user's surroundings.

随意に、本方法はさらに、1つまたはそれを上回るセンサ入力を取得することと、1つまたはそれを上回るセンサ入力に基づいて、第1のユーザが仮想コンテンツを伴う目的を遂行することを補助することとを含む。 Optionally, the method further comprises obtaining one or more sensor inputs and assisting the first user in accomplishing a goal with the virtual content based on the one or more sensor inputs. including doing.

随意に、1つまたはそれを上回るセンサ入力は、第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す。 Optionally, the one or more sensor inputs are indicative of the first user's eye gaze direction, arm kinematics, body position, body orientation, or any combination of the foregoing.

随意に、第1のユーザが目的を遂行することを補助する行為は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することを含む。 Optionally, the act of assisting the first user in accomplishing the objective includes applying one or more limits on position and/or angular velocity of system components.

随意に、第1のユーザが目的を遂行することを補助する行為は、仮想コンテンツと別の要素との間の距離を徐々に低減させることを含む。 Optionally, the act of assisting the first user in accomplishing the objective includes gradually reducing the distance between the virtual content and another element.

随意に、装置は、第1のディスプレイ画面と通信する、第1の処理部分と、第2のディスプレイ画面と通信する、第2の処理部分とを備える。 Optionally, the device comprises a first processing portion in communication with the first display screen and a second processing portion in communication with the second display screen.

プロセッサ可読非一過性媒体は、命令のセットを記憶し、処理ユニットによるその実行は、ある方法が実施されることを引き起こし、処理ユニットは、その中で第1のユーザおよび第2のユーザが相互に相互作用し得る、環境内で、仮想コンテンツを提供するように構成される、装置の一部であって、本方法は、第1のユーザの第1の位置を取得することと、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、第2のユーザの第2の位置を取得することと、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定することと、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供することとを含む。 A processor-readable non-transitory medium stores a set of instructions, execution of which by a processing unit causes a method to be performed, the processing unit in which a first user and a second user A portion of a device configured to provide virtual content within an environment capable of interacting with each other, the method comprising: obtaining a first location of a first user; determining a first set of one or more anchor points based on a first location of one user; obtaining a second location of a second user; determining a second set of one or more anchor points based on a second position of and one or more common Determining anchor points and providing virtual content for experience by the first user and/or the second user based on at least one of the one or more common anchor points. including.

本開示の付加的および他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。 Additional and other objects, features, and advantages of the present disclosure are set forth in the detailed description, figures, and claims.

図面は、本開示の種々の実施形態の設計および有用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して類似参照番号によって表されることに留意されたい。本開示の種々の実施形態の前述および他の利点および目的を得る方法をより深く理解するために、簡単に前述された本開示のより詳細な説明が、付随の図面に図示されるその具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされるべきではないことを理解した上で、本開示は、付随の図面の使用を通して付加的具体性および詳細とともに説明および記載されるであろう。 The drawings illustrate the design and utility of various embodiments of the present disclosure. Note that the figures are not drawn to scale and that elements of similar structure or function are represented by similar reference numerals throughout the figures. To better understand how to obtain the aforementioned and other advantages and objectives of the various embodiments of the present disclosure, a more detailed description of the disclosure, briefly described above, will be presented with the specifics thereof illustrated in the accompanying drawings. will be given by reference to the embodiments. With the understanding that these drawings depict only typical embodiments of the disclosure and are therefore not to be considered limiting of its scope, the present disclosure will be illustrated with additional specificity through the use of the accompanying drawings. and will be explained and described in detail.

図1Aは、いくつかの実施形態による、画像ディスプレイデバイスを有する、画像ディスプレイシステムを図示する。FIG. 1A illustrates an image display system having an image display device, according to some embodiments.

図1Bは、フレームを複数の深度面に表示する、画像ディスプレイデバイスを図示する。FIG. 1B illustrates an image display device that displays frames in multiple depth planes.

図2は、いくつかの実施形態による、方法を図示する。FIG. 2 illustrates a method, according to some embodiments.

図3は、いくつかの実施形態による、方法を図示する。FIG. 3 illustrates a method, according to some embodiments.

図4は、いくつかの実施形態による、方法を図示する。FIG. 4 illustrates a method, according to some embodiments.

図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment. 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。5A-5L illustrate examples of two users interacting with each other within a virtual or augmented environment.

図6は、単一アンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。FIG. 6 illustrates an example of two users interacting with each other within a virtual or augmented environment based on a single anchor point.

図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。7A-7D illustrate examples of two users interacting with each other within a virtual or augmented environment based on multiple anchor points. 図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。7A-7D illustrate examples of two users interacting with each other within a virtual or augmented environment based on multiple anchor points. 図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。7A-7D illustrate examples of two users interacting with each other within a virtual or augmented environment based on multiple anchor points. 図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。7A-7D illustrate examples of two users interacting with each other within a virtual or augmented environment based on multiple anchor points.

図8は、いくつかの実施形態による、方法を図示する。FIG. 8 illustrates a method, according to some embodiments.

図9は、いくつかの実施形態による、装置の処理ユニットを図示する。FIG. 9 illustrates a processing unit of an apparatus, according to some embodiments.

図10は、いくつかの実施形態による、方法を図示する。FIG. 10 illustrates a method, according to some embodiments.

図11は、いくつかの実施形態による、特殊処理システムを図示する。FIG. 11 illustrates a specialized processing system, according to some embodiments.

詳細な説明
本開示の種々の実施形態は、頭部装着型ビデオ画像デバイスのための入力を提供するための方法、装置、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および特許請求の範囲に説明される。
DETAILED DESCRIPTION Various embodiments of the present disclosure are directed to methods, apparatus, and articles of manufacture for providing input for head-mounted video imaging devices. Other objects, features, and advantages of the present disclosure are set forth in the detailed description, figures, and claims.

種々の実施形態が、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。 Various embodiments are described below with reference to the figures. Note that the figures are not drawn to scale and that elements of similar structure or function are represented by like reference numerals throughout the figures. Also, it should be noted that the figures are only intended to facilitate the description of the embodiments. They are not intended as a comprehensive description of the invention or as limitations on the scope of the invention. Additionally, an illustrated embodiment need not have all the aspects or advantages shown. Aspects or advantages described in conjunction with a particular embodiment are not necessarily limited to that embodiment, nor are any other implementations, even if not so illustrated or explicitly described as such. can be practiced in the form

続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的VR、AR、および/またはMRシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム(他のタイプのVR、AR、および/またはMRシステムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。 The description that follows relates to illustrative VR, AR, and/or MR systems with which the embodiments described herein can be practiced. However, embodiments are also suitable for use in other types of display systems (including other types of VR, AR, and/or MR systems), and thus embodiments are disclosed herein. It should be understood that it is not limited to only the illustrative examples given.

図1Aを参照すると、頭部装着型視認コンポーネント(画像ディスプレイデバイス)2と、ハンドヘルドコントローラコンポーネント4と、ベルトパックまたは同等物としてユーザ上に装着されるように構成され得る、相互接続される補助コンピューティングまたはコントローラコンポーネント6とを特徴とする、拡張現実システム1が、図示される。これらのコンポーネントのそれぞれは、IEEE802.11、Bluetooth(登録商標)(RTM)、および他のコネクティビティ規格および構成によって規定されるもの等の有線または無線通信構成を介して、相互におよびクラウドコンピューティングまたはクラウド記憶リソース等の他の接続されるリソース8に動作可能に結合されてもよい(10、12、14、16、17、18)。2つの描写される光学要素20等の種々の実施形態を使用して、ユーザには、拡張現実体験のために関連付けられるシステムコンポーネントによって生産され得る、視覚的コンポーネントとともに、その周囲の世界が見え得る。図1Aに図示されるように、そのようなシステム1はまた、限定ではないが、種々のカメラタイプセンサ(モノクロ、カラー/RGB、および/または熱結像コンポーネント等)(22、24、26)、深度カメラセンサ28、および/またはマイクロホン等の音センサ30を含む、ユーザの周囲の環境に関する情報を提供するように構成される、種々のセンサを備えてもよい。ユーザに豊かな拡張現実体験の知覚を提供するために利用され得る、本明細書に説明されるもの等のコンパクトかつ持続的に接続されるウェアラブルコンピューティングシステムおよびアセンブリの必要性が存在する。 Referring to FIG. 1A, a head-mounted viewing component (image display device) 2, a handheld controller component 4, and an interconnected auxiliary computer that may be configured to be worn on the user as a beltpack or equivalent. An augmented reality system 1 is shown, featuring a lighting or controller component 6 . Each of these components communicates with each other and cloud computing or It may be operably coupled (10, 12, 14, 16, 17, 18) to other connected resources 8, such as cloud storage resources. Using various embodiments such as two depicted optical elements 20, the user can see the world around them along with visual components that can be produced by associated system components for an augmented reality experience. . As illustrated in FIG. 1A, such a system 1 also includes, but is not limited to, various camera type sensors (monochrome, color/RGB, and/or thermal imaging components, etc.) (22, 24, 26). , a depth camera sensor 28, and/or a sound sensor 30, such as a microphone, configured to provide information about the user's surrounding environment. A need exists for compact and persistently connected wearable computing systems and assemblies such as those described herein that can be utilized to provide users with a perceptually rich augmented reality experience.

システム1はまた、画像ディスプレイデバイスデバイス2のための入力を提供するための装置7を含む。装置7は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス2は、VRデバイス、ARデバイス、MRデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。図に示されるように、画像ディスプレイデバイス2は、エンドユーザによって装着される、フレーム構造と、ディスプレイサブシステムがエンドユーザの眼の正面に位置付けられるように、フレーム構造によって担持される、ディスプレイサブシステムと、スピーカがエンドユーザの外耳道に隣接して位置付けられる(随意に、別のスピーカ(図示せず)が、エンドユーザの他方の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する)ようにフレーム構造によって担持される、スピーカとを含む。ディスプレイサブシステムは、エンドユーザの眼に、高レベルの画質および3次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ2次元コンテンツを提示することも可能である。ディスプレイサブシステムは、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。 System 1 also includes apparatus 7 for providing input for image display device device 2 . Device 7 will be described in more detail below. The image display device 2 may be either a VR device, AR device, MR device, or other type of display device. As shown in the figure, the image display device 2 includes a frame structure worn by the end user and a display subsystem carried by the frame structure such that the display subsystem is positioned in front of the end user's eyes. and a speaker is positioned adjacent to the end-user's ear canal (optionally, another speaker (not shown) is positioned adjacent to the end-user's other ear canal to provide stereo/adjustable sound control ) and a loudspeaker carried by the frame structure. The display subsystem is designed to present light patterns to the end-user's eye that can be comfortably perceived as an extension to physical reality, with a high level of image quality and three-dimensional perception, and to display two-dimensional content. It is also possible to present A display subsystem presents a sequence of frames at high frequency that provides the perception of a single coherent scene.

図示される実施形態では、ディスプレイサブシステムは、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明(または半透明)要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステムは、部分的に透明なディスプレイまたは完全に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザの眼に伝送されるように、エンドユーザの眼と周囲環境との間のエンドユーザの視野内に位置付けられる。 In the illustrated embodiment, the display subsystem employs an "optical see-through" display through which a user can view light from real objects directly through transparent (or translucent) elements. . A transparent element, often referred to as a "combiner," superimposes light from the display across the user's view of the real world. To this end, the display subsystem comprises a partially transparent display or a fully transparent display. The display is positioned in the end user's field of view between the end user's eyes and the surrounding environment such that direct light from the surrounding environment is transmitted through the display to the end user's eyes.

図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼に伝送される。投影サブシステムは、光ファイバ走査ベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点面における画像、および/または立体3Dオブジェクトを表すために複数の視認距離または焦点面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい(すなわち、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、ピクチャ要素が、2つまたはそれを上回る層を横断して混成され、それらの層が、より疎らにスタックされる(すなわち、1つの層が隣接する層の乱信号円錐域の外側にある)場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステムは、単眼または両眼用であってもよい。 In the illustrated embodiment, the image projection assembly provides light to the partially transparent display such that it is combined with direct light from the surrounding environment and transmitted from the display to the user's eyes. The projection subsystem may be a fiber optic scanning-based projection device, and the display may be a single unit into which the scanned light from the projection subsystem is, for example, closer than infinity (eg, arm's length). Injected to produce images at one optical viewing distance, images at multiple discrete optical viewing distances or focal planes, and/or image layers stacked at multiple viewing distances or focal planes to represent a stereoscopic 3D object. , may be a waveguide-based display. These layers in the light field may be stacked close enough together to appear persistent to the human sub-visual system (i.e., one layer is within the disturbance cone of an adjacent layer). . Additionally or alternatively, picture elements are blended across two or more layers, the layers being more sparsely stacked (i.e., one layer overlaps the disturbance cone of the adjacent layer). It may increase the perceived continuity of transitions between layers in the light field, even when outside the gamut). The display subsystem may be monocular or binocular.

画像ディスプレイデバイス2はまた、エンドユーザの頭部の位置および移動および/またはエンドユーザの眼位置および眼球間距離を検出するためにフレーム構造に搭載される、1つまたはそれを上回るセンサを含んでもよい。そのようなセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ)、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレームが、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。 The image display device 2 may also include one or more sensors mounted to the frame structure for detecting the position and movement of the end user's head and/or the end user's eye position and inter-eye distance. good. Such sensors may include image capture devices (such as cameras), microphones, inertial measurement units, accelerometers, compasses, GPS units, wireless devices, and/or gyroscopes), or any combination of the foregoing. Many of these sensors operate on the assumption that the frames on which they are affixed are, in turn, substantially fixed to the user's head, eyes, and ears.

画像ディスプレイデバイス2はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザの頭部の瞬間位置を検出し(例えば、フレームに結合されるセンサを介して)、センサから受信された位置データに基づいて、エンドユーザの頭部の位置を予測してもよい。エンドユーザの頭部の瞬間位置を検出することは、エンドユーザが見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザの眼を追跡してもよい。 Image display device 2 may also include a user orientation detection module. A user orientation module detects the instantaneous position of the end-user's head (e.g., via a sensor coupled to the frame) and predicts the position of the end-user's head based on the position data received from the sensor. You may Detecting the instantaneous position of the end-user's head facilitates the determination of the specific real object that the end-user is looking at and thereby the specific virtual object to be generated in relation to that real object. It provides an indication of the object and also provides an indication of the location where the virtual object will be displayed. The user orientation module may also track the end user's eyes based on tracking data received from the sensors.

画像ディスプレイデバイス2はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、1つまたはそれを上回るマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。 Image display device 2 may also include a control subsystem, which may take any of a wide variety of forms. The control subsystem includes several controllers, such as one or more microcontrollers, microprocessors or central processing units (CPUs), digital signal processors, graphics processing units (GPUs), application specific integrated circuits (ASICs). , programmable gate arrays (PGAs), eg, field PGAs (FPGAs), and/or programmable logic controllers (PLUs).

画像ディスプレイデバイス2の制御サブシステムは、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)と、1つまたはそれを上回るフレームバッファと、3次元場面データを記憶するための3次元データベースとを含んでもよい。CPUは、全体的動作を制御してもよい一方、GPUは、3次元データベース内に記憶される3次元データからフレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ内に記憶してもよい。1つまたはそれを上回る付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出およびディスプレイサブシステムの画像投影アセンブリの動作を制御してもよい。 The control subsystem of image display device 2 includes a central processing unit (CPU), a graphics processing unit (GPU), one or more frame buffers, and a 3D database for storing 3D scene data. may contain. The CPU may control the overall operation, while the GPU renders frames from the 3D data stored in the 3D database (i.e., transforms the 3D scene into a 2D image) and renders these Frames may be stored in a frame buffer. One or more additional integrated circuits may control the loading of frames into and out of the frame buffer and the operation of the image projection assembly of the display subsystem.

装置7は、システム1のための種々の処理コンポーネントを表す。図中では、装置7は、画像ディスプレイデバイス2の一部として図示される。他の実施形態では、装置7は、ハンドヘルドコントローラコンポーネント4および/またはコントローラコンポーネント6内に実装されてもよい。さらなる実施形態では、装置7の種々の処理コンポーネントは、分散サブシステム内に実装されてもよい。例えば、装置7の処理コンポーネントは、画像ディスプレイデバイス2、ハンドヘルドコントローラコンポーネント4、コントローラコンポーネント6、または別のデバイス(画像ディスプレイデバイス2、ハンドヘルドコントローラコンポーネント4、および/またはコントローラコンポーネント6と通信する)のうちの2つまたはそれを上回るもの内に位置してもよい。 Device 7 represents various processing components for system 1 . In the figure the apparatus 7 is shown as part of the image display device 2 . In other embodiments, device 7 may be implemented within handheld controller component 4 and/or controller component 6 . In further embodiments, the various processing components of device 7 may be implemented within distributed subsystems. For example, the processing component of apparatus 7 may be one of image display device 2, handheld controller component 4, controller component 6, or another device (that communicates with image display device 2, handheld controller component 4, and/or controller component 6). may be located within two or more of

上記に説明される種々のコンポーネント間の結合10、12、14、16、17、18は、ワイヤまたは光学連通を提供するための1つまたはそれを上回る有線インターフェースまたはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した、1つまたはそれを上回る無線インターフェースまたはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。 Couplings 10, 12, 14, 16, 17, 18 between the various components described above provide one or more wired interfaces or ports to provide wire or optical communication, or wireless communication. may include one or more wireless interfaces or ports, such as via RF, microwave, and IR, for In some implementations all communications may be wired, while in other implementations all communications may be wireless. Therefore, the particular choice of wired or wireless communication should not be considered limiting.

いくつかの画像ディスプレイシステム(例えば、VRシステム、ARシステム、MRシステム等)は、個別の深度面から生じるように現れる画像を生成するための深度面情報を内蔵する、複数の体積位相ホログラム、表面レリーフホログラム、または光誘導光学要素を使用する。換言すると、回折パターンまたは回折光学要素(「DOE」)が、コリメートされた光(略平面波面を伴う光ビーム)が、LOEに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、光誘導光学要素(「LOE」、例えば、平面導波管)内に内蔵される、またはその上にインプリント/エンボス加工されてもよい。DOEは、特定の深度面から生じるように現れるように、それを通してLOEから出射する光が輻輳されるように構成される。コリメートされた光は、光学集光レンズ(「集光器」)を使用して生成されてもよい。 Some image display systems (e.g., VR systems, AR systems, MR systems, etc.) incorporate multiple volume phase holograms, surface Using relief holograms, or light directing optical elements. In other words, a diffraction pattern or diffractive optical element (“DOE”) causes collimated light (a light beam with a substantially plane wavefront) to be diffracted at multiple locations as it is substantially totally internally reflected along the LOE. embedded within or imprinted/embossed onto a light guiding optical element ("LOE", e.g., planar waveguide) to intersect the pattern and emit toward the user's eye good. The DOE is configured such that light exiting the LOE through it is converged so that it appears to originate from a particular depth plane. Collimated light may be produced using an optical collection lens (“concentrator”).

例えば、第1のLOEは、光学無限遠深度面(0ジオプタ)から生じるように現れる、コリメートされた光を眼に送達するように構成されてもよい。別のLOEは、2メートルの距離(1/2ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。さらに別のLOEは、1メートルの距離(1ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。スタックされたLOEアセンブリを使用することによって、複数の深度面が、作成され得、各LOEは、特定の深度面から生じるように現れる、画像を表示するように構成されることを理解されたい。スタックは、任意の数のLOEを含んでもよいことを理解されたい。しかしながら、少なくともN個のスタックされたLOEが、N個の深度面を生成するために要求される。さらに、N、2N、または3N個のスタックされたLOEが、RGBカラー画像をN個の深度面に生成するために使用されてもよい。 For example, the first LOE may be configured to deliver collimated light to the eye that appears to originate from an optical infinity depth plane (0 diopters). Another LOE may be configured to deliver collimated light that appears to originate from a distance of 2 meters (1/2 diopter). Yet another LOE may be configured to deliver collimated light that appears to originate from a distance of 1 meter (1 diopter). It should be appreciated that by using stacked LOE assemblies, multiple depth planes can be created, each LOE configured to display an image that appears to originate from a particular depth plane. It should be appreciated that the stack may contain any number of LOEs. However, at least N stacked LOEs are required to generate N depth planes. Additionally, N, 2N, or 3N stacked LOEs may be used to generate an RGB color image in N depth planes.

3D仮想コンテンツをユーザに提示するために、画像ディスプレイシステム1(例えば、VRシステム、ARシステム、MRシステム等)は、それらがZ方向に(すなわち、ユーザの眼から離れるように直交して)種々の深度面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。換言すると、仮想コンテンツは、XおよびY方向(すなわち、ユーザの眼の中心視軸に直交する、2D面)において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、またはその間の任意の距離にあるように知覚し得るように、Z方向においても変化するように現れ得る。他の実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから3メートル離れた距離における仮想鳥と、ユーザから腕の長さ(約1メートル)における仮想コーヒーカップとが見え得る。 In order to present 3D virtual content to a user, an image display system 1 (e.g., VR system, AR system, MR system, etc.) is configured such that they are varied in the Z direction (i.e., orthogonally away from the user's eyes). An image of the virtual content is projected into the user's eye such that it appears to originate from the depth plane of . In other words, not only can the virtual content change in the X and Y directions (i.e., the 2D plane, orthogonal to the central visual axis of the user's eye), but it can also change when the user sees objects in very close proximity. Or it can appear to vary in the Z direction as well, so that it can be perceived as being at infinite distance, or any distance in between. In other embodiments, the user may perceive multiple objects at different depth planes simultaneously. For example, it may appear to the user that a virtual dragon appears from infinity and runs towards the user. Alternatively, the user may simultaneously see a virtual bird at a distance of 3 meters from the user and a virtual coffee cup at arm's length (approximately 1 meter) from the user.

多面焦点システムは、画像をユーザの眼からZ方向における個別の固定距離に位置する複数の深度面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図1Bを参照すると、多面焦点システムは、フレームを固定された深度面150(例えば、図1Bに示される6つの深度面150)に表示し得ることを理解されたい。MRシステムは、任意の数の深度面150を含むことができるが、1つの例示的多面焦点システムは、6つの固定された深度面150をZ方向に有する。仮想コンテンツを6つの深度面150のうちの1つまたはそれを上回るものに生成する際、3D知覚が、ユーザがユーザの眼からの可変距離における1つまたはそれを上回る仮想オブジェクトを知覚するように作成される。ヒトの眼が、離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度面150が、図1Bに示されるように、眼のより近くに生成される。いくつかの実施形態では、深度面150は、相互から離れるように等距離に設置されてもよい。 Multi-focus systems create the perception of variable depth by projecting images onto some or all of multiple depth planes located at discrete fixed distances in the Z direction from the user's eyes. Referring now to FIG. 1B, it should be appreciated that the multi-plane focus system may display frames in fixed depth planes 150 (eg, the six depth planes 150 shown in FIG. 1B). Although an MR system can include any number of depth planes 150, one exemplary multiplanar focal system has six fixed depth planes 150 in the Z direction. When generating virtual content in one or more of the six depth planes 150, 3D perception is such that the user perceives one or more virtual objects at variable distances from the user's eyes. created. Given that the human eye is more sensitive to objects that are close in distance than objects that appear to be far away, more depth planes 150 are generated closer to the eye, as shown in FIG. 1B. . In some embodiments, the depth planes 150 may be placed equidistantly away from each other.

深度面位置150は、メートル単位で測定される焦点距離の逆数に等しい屈折力の単位である、ジオプタ単位で測定されてもよい。例えば、いくつかの実施形態では、深度面1は、1/3ジオプタ離れてもよく、深度面2は、0.3ジオプタ離れていてもよく、深度面3は、0.2ジオプタ離れていてもよく、深度面4は、0.15ジオプタ離れていてもよく、深度面5は、0.1ジオプタ離れてもよく、深度面6は、無限遠(すなわち、0ジオプタ離れる)を表し得る。他の実施形態は、深度面150を他の距離/ジオプタに生成してもよいことを理解されたい。したがって、仮想コンテンツを方略的に設置された深度面150に生成する際、ユーザは、仮想オブジェクトを3次元で知覚することが可能である。例えば、ユーザは、別の仮想オブジェクトが深度面6における無限遠に現れる間、第1の仮想オブジェクトが深度面1内に表示されるとき、それを近くにあると知覚し得る。代替として、仮想オブジェクトは、最初に、深度面6に、次いで、深度面5に、そして、仮想オブジェクトがユーザの非常に近くに現れるまでそのように続くように表示されてもよい。上記の実施例は、例証目的のために有意に簡略化されていることを理解されたい。別の実施形態では、全6つの深度面は、ユーザから離れるように特定の焦点距離上に集中されてもよい。例えば、表示されるべき仮想コンテンツが、ユーザから0.5メートル離れたコーヒーカップである場合、全6つの深度面は、コーヒーカップの種々の断面において生成され、ユーザに、コーヒーカップの高粒度の3Dビューを与え得る。 Depth plane position 150 may be measured in diopters, a unit of refractive power equal to the reciprocal of the focal length measured in meters. For example, in some embodiments, depth plane 1 may be 1/3 diopters away, depth plane 2 may be 0.3 diopters away, and depth plane 3 may be 0.2 diopters away. Alternatively, depth plane 4 may be 0.15 diopters away, depth plane 5 may be 0.1 diopters away, and depth plane 6 may represent infinity (ie, 0 diopters away). It should be appreciated that other embodiments may generate the depth plane 150 at other distances/diopters. Therefore, when generating virtual content in strategically placed depth planes 150, the user is able to perceive virtual objects in three dimensions. For example, a user may perceive it to be near when a first virtual object appears in depth plane 1 while another virtual object appears at infinity in depth plane 6 . Alternatively, the virtual object may be displayed first in depth plane 6, then in depth plane 5, and so on until the virtual object appears very close to the user. It should be understood that the above examples have been significantly simplified for illustrative purposes. In another embodiment, all six depth planes may be centered on a particular focal length away from the user. For example, if the virtual content to be displayed is a coffee cup 0.5 meters away from the user, all six depth planes are generated at different cross-sections of the coffee cup to provide the user with a high-grain image of the coffee cup. A 3D view can be given.

いくつかの実施形態では、画像ディスプレイシステム1(例えば、VRシステム、ARシステム、MRシステム等)は、多面焦点システムとして機能してもよい。換言すると、全6つのLOEは、6つの固定された深度面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をLOE1、次いで、LOE2、次いで、LOE3等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間1において投入されてもよく、光のコリメーションを留保する、LOE(例えば、図1Bからの深度面6)が、利用されてもよい。次いで、より近い木の枝の画像が、時間2において投入されてもよく、10メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOE(例えば、図1Bからの深度面5)が、利用されてもよい。次いで、ペンの画像が、時間3において投入されてもよく、1メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOEが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳(例えば、視覚野)が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル(例えば、360Hz)方式で繰り返されることができる。 In some embodiments, the image display system 1 (eg, VR system, AR system, MR system, etc.) may function as a multi-focus system. In other words, all six LOEs may be illuminated simultaneously such that images appearing to arise from six fixed depth planes are generated in rapid succession, and the light sources provide image information to LOE1, LOE1, It then rapidly propagates to LOE2, then LOE3, and so on. For example, a portion of the desired image, including an image of the sky at optical infinity, may be thrown in at time 1, and the LOE (e.g., depth plane 6 from FIG. 1B), which reserves light collimation, is may be used. An image of a closer tree branch may then be thrown in at time 2, configured to create an image that appears to arise from a depth plane 10 meters away, LOE (e.g., depth from FIG. 1B). Face 5) may be utilized. An image of the pen may then be thrown in at time 3, and LOE may be utilized, configured to create an image that appears to originate from a depth plane one meter away. This type of paradigm can be repeated in a fast time-sequential (eg, 360 Hz) fashion so that the user's eyes and brain (eg, visual cortex) perceive the input as being all parts of the same image.

画像ディスプレイシステム1は、Z軸(すなわち、深度面)に沿って種々の場所から生じるように現れ、3D体験/シナリオのための画像を生成する、画像を投影してもよい(すなわち、光ビームを発散または収束させることによって)。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー(可視および不可視光エネルギーを含む)の指向性投影を含む。種々の深度面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動-遠近調節競合を最小限にまたは排除する。 The image display system 1 may project images (i.e. light beam by diverging or converging ). As used herein, a beam of light includes, but is not limited to, a directional projection of light energy (including visible and invisible light energy) emitted from a light source. Generating images that appear to arise from different depth planes matches the user's eye convergence-divergence and accommodation for that image, minimizing convergence-divergence-accommodation conflicts. To or eliminate.

ある場合には、頭部装着型画像ディスプレイデバイスのユーザをユーザの環境に対して位置特定するために、環境の位置特定マップが、取得される。いくつかの実施形態では、位置特定マップは、システム1の一部である、非一過性媒体内に記憶されてもよい。他の実施形態では、位置特定マップは、データベースから無線で受信されてもよい。位置特定マップが、取得された後、画像ディスプレイデバイスのカメラシステムからのリアルタイム入力画像が、次いで、位置特定マップに対してマッチングされ、ユーザを位置特定する。例えば、入力画像の角特徴が、入力画像から検出され、位置特定マップの角特徴に対してマッチングされてもよい。いくつかの実施形態では、角のセットを位置特定において使用するための画像からの特徴として取得するために、画像は、最初に、角検出を経て、検出された角の初期セットを取得する必要があり得る。検出された角の初期セットは、次いで、さらに処理され、例えば、位置特定目的のための検出された角の最終セットを取得するために、非最大値抑制、空間ビニング等を経てもよい。ある場合には、フィルタリングが、実施され、初期セット内の検出された角のサブセットを識別し、角の最終セットを取得してもよい。 In some cases, a localization map of the environment is obtained to localize the user of the head-mounted image display device relative to the user's environment. In some embodiments, the location map may be stored in a non-transitory medium that is part of system 1 . In other embodiments, the location map may be received wirelessly from a database. After the localization map is acquired, real-time input images from the camera system of the image display device are then matched against the localization map to locate the user. For example, corner features of the input image may be detected from the input image and matched against the corner features of the localization map. In some embodiments, to obtain a set of corners as features from an image for use in localization, the image must first undergo corner detection to obtain an initial set of detected corners. can be. The initial set of detected corners may then be further processed, e.g., undergo non-maximum suppression, spatial binning, etc. to obtain a final set of detected corners for localization purposes. In some cases, filtering may be performed to identify a subset of detected corners within the initial set to obtain a final set of corners.

また、いくつかの実施形態では、環境の位置特定マップが、ユーザが画像ディスプレイデバイス2を異なる方向に指向することによって(例えば、画像ディスプレイデバイス2を装着している間、その頭部を方向転換することによって)、作成されてもよい。画像ディスプレイデバイス2が、環境内の異なる空間に向けられるにつれて、画像ディスプレイデバイス2上のセンサが、環境の特性を感知し、その特性は、次いで、システム1によって使用され、位置特定マップを作成し得る。1つの実装では、センサは、1つまたはそれを上回るカメラおよび/または1つまたはそれを上回る深度センサを含んでもよい。カメラは、カメラ画像を提供し、これは、装置7によって処理され、環境内の異なるオブジェクトを識別する。加えて、または代替として、深度センサは、深度情報を提供し、これは、装置によって処理され、環境内のオブジェクトの異なる表面を決定する。 Also, in some embodiments, the localization map of the environment may be dictated by the user pointing the image display device 2 in different directions (e.g., turning their head while wearing the image display device 2). ), may be created. As the image display device 2 is directed to different spaces within the environment, sensors on the image display device 2 sense properties of the environment, which properties are then used by the system 1 to create a localization map. obtain. In one implementation, the sensors may include one or more cameras and/or one or more depth sensors. The camera provides camera images, which are processed by device 7 to identify different objects in the environment. Additionally or alternatively, depth sensors provide depth information, which is processed by the device to determine different surfaces of objects in the environment.

種々の実施形態では、ユーザは、図1Aに描写されるもの等の拡張現実システムを装着していてもよく、これは、そのようなシステムの動作されるときのユーザの周囲の3次元世界との相互作用に関連して、「空間コンピューティング」システムとも称され得る。そのようなシステムは、例えば、頭部ウェアラブルディスプレイコンポーネント2を備えてもよく、種々のタイプのカメラ等の環境感知能力を特徴とし得、これは、ユーザの周囲の環境をマッピングする、または壁、床、椅子、および同等物等のユーザの周囲の環境内の種々のオブジェクトの幾何学形状を表す、種々の点を備える、そのような環境の「メッシュ」を作成するように構成されてもよい。空間コンピューティングシステムは、ユーザの周囲の環境をマッピングまたはメッシュ化し、Magic Leap, Inc.(Planation, Florida)から利用可能なもの等のソフトウェアを起動または動作させるように構成されてもよく、これは、部屋のマップまたはメッシュを利用して、ユーザが、ユーザの周囲の3次元空間内で種々のオブジェクトおよび要素を設置、操作、可視化、作成、および修正することを補助するように構成されてもよい。図1Aに戻って参照すると、本システムは、クラウドまたは他のコネクティビティ構成によって、他のコンピューティングシステム等の付加的リソースに動作可能に結合されてもよい。空間コンピューティングにおける課題のうちの1つは、例えば、ユーザの周囲の3次元世界に関連し得る、コンピュータビジョンおよび/またはオブジェクト認識課題等における、ユーザに有用および/または重要な決定を行う際の、種々の動作可能に結合されるセンサ(図1Aのシステムの要素22、24、26、28等)によって捕捉されたデータの利用に関する。 In various embodiments, a user may be wearing an augmented reality system, such as the one depicted in FIG. may also be referred to as a "spatial computing" system, in connection with the interaction of Such a system may, for example, comprise a head wearable display component 2 and may feature environmental sensing capabilities, such as various types of cameras, which map the environment around the user or can be used to map walls, walls, etc. It may be configured to create a "mesh" of such an environment, with different points representing the geometry of different objects in the user's surrounding environment, such as floors, chairs, and the like. . Spatial Computing Systems, which map or mesh the environment around a user, are developed by Magic Leap, Inc. (Planation, Florida) that utilizes a map or mesh of the room to allow the user to navigate in the three-dimensional space around the user. may be configured to assist in placing, manipulating, visualizing, creating, and modifying various objects and elements in . Referring back to FIG. 1A, the system may be operatively coupled to additional resources, such as other computing systems, by cloud or other connectivity arrangements. One of the challenges in spatial computing is, for example, in making useful and/or important decisions for a user, such as in computer vision and/or object recognition tasks, which may relate to the three-dimensional world around the user. , relates to the use of data captured by various operably coupled sensors (such as elements 22, 24, 26, 28 of the system of FIG. 1A).

例えば、図2を参照すると、図1Aに図示されるもの等のシステム(Magic Leap, Inc.(Plantation, Florida)から利用可能なMagic Leap One(RTM)システムを表す、「ML1」とも称され得る)を利用する、典型的空間コンピューティングシナリオが、図示される。第1のユーザ(「ユーザ1」と称され得る)が、そのML1システムをブートアップし、頭部装着型コンポーネント2をその頭部上に搭載し、ML1は、頭部装着型コンポーネント2を構成するセンサを用いて、ユーザの頭部1の周囲のローカル環境を走査し、同時位置特定およびマッピング(「SLAM」として知られる)アクティビティを行い、ユーザ1の頭部の周囲の環境に関するローカルマップまたはメッシュ(本シナリオでは、「ローカルマップ1」と称され得る)を作成するように構成されてもよく、ユーザ1は、そのリアルまたは近リアルタイム位置および配向がローカル環境に対して決定されるように、SLAMアクティビティによって、本ローカルマップ1の中で「位置特定」され得る(40)。再び図2を参照すると、ユーザ1は、環境の周囲をナビゲートし、実オブジェクトおよび仮想オブジェクトを視認し、それと相互作用し、継続中のSLAMアクティビティを用いて、環境の近隣のマッピング/メッシュ化を継続し、概して、自身の空間コンピューティングの利益を享受してもよい(42)。図3を参照すると、付加的ステップおよび構成が、ユーザ1が、より多くの所定のアンカポイントまたは「持続座標フレーム」または「PCF」として知られ得るもの内の点のうちの1つに遭遇し得るように追加されてもよく、これらのアンカポイントおよび/またはPCFは、以前の設置によって、ユーザ1のローカルML1システムに既知であり得る、および/または、ユーザ1が、クラウドベースのマップ(ローカルマップ1より大きく、および/またはより精緻化され得る)の中で位置特定された状態である、クラウドコネクティビティを介して(すなわち、図1Aに図示されるもの等の接続されたリソース、すなわち、エッジコンピューティング、クラウドコンピューティング、および他の接続されたリソースであり得る、要素8によって)既知であり得る(44)。再び図3を参照すると、アンカポイントおよび/またはPCFが、利用され、ユーザ1のために、他者によって意図的に設置された種々の仮想オブジェクトまたはアセット(例えば、ハイキング中のユーザのために、ユーザの近くの所与の固定された場所に、ハイキングコース内に陥没孔が存在することを示す、仮想標識等)を表示すること等によって、ユーザ1の空間コンピューティングタスクを補助してもよい(46)。 For example, referring to FIG. 2, a system such as that illustrated in FIG. ) is illustrated. A first user (which may be referred to as "User 1") boots up its ML1 system and mounts a head-mounted component 2 on its head, and ML1 configures the head-mounted component 2. sensors to scan the local environment around the user's head 1 and perform a simultaneous localization and mapping (known as "SLAM") activity to create a local map of the environment around the user's 1 head or It may also be configured to create a mesh (which in this scenario may be referred to as "Local Map 1"), which User 1 can use to determine its real or near real-time position and orientation relative to the local environment. , can be "located" in this local map 1 by the SLAM activity (40). Referring again to FIG. 2, User 1 navigates around the environment, sees and interacts with real and virtual objects, and uses ongoing SLAM activity to map/mesh neighborhoods of the environment. , and generally reap the benefits of their spatial computing (42). Referring to FIG. 3, an additional step and arrangement is that User 1 encounters one of more predetermined anchor points or points in what may be known as a "persistent coordinate frame" or "PCF". These anchor points and/or PCFs may be known to User 1's local ML1 system by previous installations and/or User 1 may be added to a cloud-based map (local Map 1, which may be larger and/or more refined) via cloud connectivity (i.e. connected resources such as those illustrated in FIG. 1A, i.e. edge (44) by element 8), which may be computing, cloud computing, and other connected resources. Referring again to FIG. 3, anchor points and/or PCFs are utilized to locate various virtual objects or assets intentionally placed by others for User 1 (e.g., for users hiking, It may assist User 1 in his spatial computing tasks, such as by displaying virtual signs (such as virtual signs indicating the presence of sinkholes in the hiking trail) at given fixed locations near the user. (46).

図4を参照すると、図3を参照して上記に説明されるものに類似する、マルチユーザ(またはゲームのシナリオにおける「マルチプレーヤ」)構成が、図示され、ユーザ1が、ML1をブートアップし、それを頭部装着型構成において搭載し、ML1が、ユーザの頭部1の周囲の環境を走査し、SLAMアクティビティを行い、ユーザ1の頭部の周囲の環境に関するローカルマップまたはメッシュ(「ローカルマップ1」)を作成し、ユーザ1は、そのリアルまたは近リアルタイム位置および配向がローカル環境に対して決定されるように、SLAMアクティビティによって、ローカルマップ1の中で「位置特定」される(40)。ユーザ1は、より多くの所定のアンカポイントまたは「持続座標フレーム」または「PCF」として知られ得るもの内の点のうちの1つに遭遇し得る。これらのアンカポイントおよび/またはPCFは、以前の設置によって、ユーザ1のローカルML1システムに既知であり得る、および/またはユーザ1がクラウドベースのマップ(ローカルマップ1より大きく、および/またはより精緻化され得る)の中で位置特定された状態である、クラウドコネクティビティを介して、既知であり得る(48)。別個のユーザ「ユーザ2」が、別のML1システムをブートアップし、それを頭部装着型構成において搭載し得る。本第2のML1システムは、ユーザ2の頭部の周囲の環境を走査し、SLAMアクティビティを行い、ユーザ2の頭部の周囲の環境に関するローカルマップまたはメッシュ(「ローカルマップ2」)を作成し得、ユーザ2は、そのリアルまたは近リアルタイム位置および配向がローカル環境に対して決定されるように、SLAMアクティビティによって、ローカルマップ2の中で「位置特定」される(50)。ユーザ1と同様に、ユーザ2は、より多くの所定のアンカポイントまたは「持続座標フレーム」または「PCF」として知られ得るもの内の点のうちの1つに遭遇し得る。これらのアンカポイントおよび/またはPCFは、以前の設置によって、ユーザ2のローカルML1システムに既知であり得る、および/またはユーザ2がクラウドベースのマップ(ローカルマップ1またはローカルマップ2より大きく、および/またはより精緻化され得る)の中で位置特定された状態である、クラウドコネクティビティを介して、既知であり得る(52)。再び図4を参照すると、ユーザ1およびユーザ2は、そのML1システムが共通アンカポイントおよび/またはPCFに遭遇し始めるほど十分に物理的に近接し得る。2人のユーザ間の重複セットから、クラウドコンピューティング接続リソース8等のリソースを使用する、システムは、アンカポイントおよび/またはPCFのサブセットを選択するように構成されてもよく、これは、ユーザの相互に対する位置特定誤差を最小限にし、アンカポイントおよび/またはPCFの本サブセットは、仮想コンテンツを共通体験内でユーザのために位置付け、配向するために利用されてもよく、あるコンテンツおよび/または仮想アセットは、ハンドヘルド4およびそのような共通体験の一部を構成するように構成される他のコンポーネントに関する、位置および配向位置特定とともに、その独自の目線のそれぞれから、両方のユーザによって体験されてもよい。 Referring to FIG. 4, a multi-user (or "multi-player" in a game scenario) configuration similar to that described above with reference to FIG. , mounting it in a head-mounted configuration, ML1 scans the environment around the user's head 1, performs SLAM activities, and generates a local map or mesh of the environment around the user's 1 head ("local Map 1"), and User 1 is 'located' in the local map 1 by the SLAM activity so that its real or near-real-time position and orientation can be determined relative to the local environment (40 ). User 1 may encounter one of a number of predetermined anchor points or points within what may be known as a "persistent coordinate frame" or "PCF". These anchor points and/or PCFs may be known to User 1's local ML1 system due to previous installations and/or User 1 may use a cloud-based map (larger and/or more refined than Local Map 1). may be known (48) via cloud connectivity. A separate user "User 2" may boot up another ML1 system and mount it in a head-mounted configuration. This second ML1 system scans the environment around User 2's head, performs SLAM activities, and creates a local map or mesh ("Local Map 2") of the environment around User 2's head. User 2 is then "located" 50 in local map 2 by the SLAM activity so that its real or near real-time position and orientation can be determined relative to the local environment. Similar to User 1, User 2 may encounter one of more predetermined anchor points or points within what may be known as a "persistent coordinate frame" or "PCF". These anchor points and/or PCFs may be known to User 2's local ML1 system due to previous installations and/or User 2 may use a cloud-based map (larger than Local Map 1 or Local Map 2 and/or or may be more refined), known through cloud connectivity (52). Referring again to FIG. 4, User 1 and User 2 may be physically close enough that their ML1 systems begin to encounter common anchor points and/or PCFs. From an overlapping set between two users, using resources such as cloud computing connection resources 8, the system may be configured to select a subset of anchor points and/or PCFs, which is the user's Minimizing localization error with respect to each other, this subset of anchor points and/or PCFs may be utilized to position and orient virtual content for users within a common experience, such that certain content and/or virtual Assets may be experienced by both users from each of their unique perspectives, along with position and orientation localization with respect to the Handheld 4 and other components configured to form part of such a common experience. good.

図5A-5Lを参照すると、例示的共通、協働、またはマルチユーザ体験が、商標名「Pancake Pals」(登録商標)下でMagic Leap, Inc.(Plantation, Florida)から利用可能であり得る、パンケーキ裏返しゲームの形態で示される。図5Aを参照すると、第1のユーザ(また、「ユーザ1」とも称され得る)である、要素60が、オフィス環境66の一端に、頭部装着型コンポーネント2、相互接続された補助コンピューティングまたはコントローラコンポーネント6を装着し、図1Aに図示されるものに類似する、ML1システムを構成する、ハンドヘルドコンポーネント4を保持して示される。ユーザ1(60)のシステムは、彼のために、ハンドヘルドコンポーネント4がフライパン要素62のハンドルであるかのように、仮想形態において、そのハンドヘルドコンポーネント4から延在する、仮想フライパン要素62を表示するように構成される。ユーザ1(60)のシステムは、ユーザ1(60)がそのハンドヘルドコンポーネントを再配向および再位置付けするにつれて、仮想フライパン62を再位置付けおよび再配向するように構成される。頭部装着型2およびハンドヘルド4コンポーネントは両方とも、例えば、本システムの追跡特徴を利用して、リアルまたは近リアルタイムで、相互に対する位置および配向の観点から追跡されてもよい。本システムは、仮想フライパン62、または他の仮想要素または他の実際の要素等(本システムによって追跡可能であるように構成され得る、ユーザの2つの手のうちの1つ、またはおそらく、実際のフライパンまたはパドル等)のユーザによって制御される他の要素が、ユーザ1が、パンケーキ64を裏返し、それをそのフライパン62の中に着地させる、および/または仮想パンケーキ64をユーザ1から離れるようにある軌道上で投げる、または放り得るように、例えば、Unity(RTM)等の環境の軟体物理学能力を使用して、シミュレートされた物理学を用いて、パンケーキ64の仮想要素と相互作用することを可能にするように構成されてもよい。軟体物理学能力は、例えば、実際のパンケーキがとり得る軌道および様式において、パンケーキを仮想フライパン62の任意の縁の周囲で跳ねさせ、飛ばされるように構成されてもよい。図5Bを参照すると、仮想パンケーキ64は、アニメーション化された特性を有し、ユーザに、得点を与える、音、音楽、およびハートまたはレインボー映像を作製する、および同等物等によって、パンケーキ64が裏返され、および/または着地されることを喜んでいる知覚を提供するように構成されてもよい。図5Cは、裏返された仮想パンケーキ64をその仮想フライパン62の中に着地させることに成功したユーザ1(60)を図示する。図5Dは、仮想パンケーキ64をユーザ1(60)の前方に飛ばす準備をしているユーザ1(60)を図示する。図5Eは、ユーザ1(60)から離れるように飛んでいる飛ばされた仮想パンケーキ64を図示する。 5A-5L, an exemplary common, collaborative, or multi-user experience is available from Magic Leap, Inc. under the trademark "Pancake Pals"(R). (Plantation, Florida) in the form of a pancake flip game. Referring to FIG. 5A, a first user (which may also be referred to as "user 1"), element 60, has at one end an office environment 66, head-mounted component 2, interconnected auxiliary computing Or shown holding a handheld component 4 fitted with a controller component 6 and making up an ML1 system similar to that shown in FIG. 1A. User 1 60's system displays for him a virtual frying pan element 62 extending from the handheld component 4 in virtual form as if the handheld component 4 were the handle of the frying pan element 62. configured as User 1 60's system is configured to reposition and reorient virtual frying pan 62 as User 1 60 reorients and repositions its handheld component. Both the head-mounted 2 and handheld 4 components may be tracked in terms of position and orientation relative to each other in real or near-real time, for example, utilizing the tracking features of the system. The system may include a virtual frying pan 62, or other virtual or other real element, such as one of the user's two hands, or perhaps a real one, which may be configured to be trackable by the system. A frying pan or other user controlled element (such as a paddle) causes User 1 to turn the pancake 64 over so that it lands in its frying pan 62 and/or move the virtual pancake 64 away from User 1 . interact with the virtual elements of the pancake 64 using simulated physics, for example using the soft body physics capabilities of the environment, such as Unity (RTM), so that it can be thrown or tossed on a certain trajectory may be configured to allow it to act. The soft body physics ability may be configured to cause the pancake to bounce around any edge of the virtual frying pan 62 and fly, for example, in a trajectory and fashion that a real pancake would take. Referring to FIG. 5B, the virtual pancake 64 has animated properties that allow the user to score, create sounds, music, and heart or rainbow images, and the like. may be configured to provide the perception that the is happy to be flipped and/or landed. FIG. 5C illustrates User 1 60 successfully landing an inverted virtual pancake 64 in its virtual frying pan 62 . FIG. 5D illustrates User 1 (60) preparing to launch a virtual pancake 64 in front of User 1 (60). FIG. 5E illustrates a flung virtual pancake 64 flying away from User 1 (60).

図5Fを参照すると、図4を参照して上記に説明されるもの等のマルチユーザ体験では、本システムは、同一環境66内の2人のプレーヤを相互に対して位置特定するように構成される。ここでは、オフィスの同一廊下2つの異なる端部を占有している、ユーザ1(60)およびユーザ2(61)が、描写され(図5Kおよび5Lを先に参照すると、両方のユーザがともに示す図が見られる)、仮想パンケーキ64が、図5Eにおいて、ユーザ1(60)によって飛ばされるにつれて、同一仮想パンケーキ64が、シミュレートされた物理学軌道を伴って、同様に、頭部装着型2、ハンドヘルド4、および算出パック6コンポーネントを伴う、ML1システムを利用して、その独自の仮想フライパン要素63を有し、シミュレートされた物理学を使用して、仮想パンケーキ64と相互作用することが可能である、ユーザ2(61)に向かって飛ばされる。図5Gおよび5Hを参照すると、ユーザ2(61)は、その仮想フライパン63を位置合わせし、仮想パンケーキ64をキャッチすることに成功し、図5Iおよび5Jを参照すると、ユーザ2(61)は、仮想パンケーキ64をユーザ1(60)に向かって戻るように放り得、図5Kに示されるように、ユーザ1は、別の成功した仮想パンケーキ64のキャッチのために、その仮想フライパン62を位置合わせしようとする、または代替として、図5Lでは、ユーザ1は、その仮想フライパン62の位置付けおよび配向が間に合わず、仮想パンケーキ64は、床に向かっているように現れる。したがって、マルチユーザまたはマルチプレーヤ構成が、2人のユーザが、仮想動的要素等の種々の要素とともに、協働または相互作用し得るように提示される。 Referring to FIG. 5F, in a multi-user experience such as the one described above with reference to FIG. 4, the system is configured to locate two players within the same environment 66 relative to each other. be. Here, User 1 (60) and User 2 (61) are depicted occupying two different ends of the same corridor in an office (see FIGS. 5K and 5L above, both users are shown together). ), the same virtual pancake 64 is similarly head-mounted, with a simulated physics trajectory, as it is flown by User 1 60 in FIG. 5E. Utilizing the ML1 system with Mold 2, Handheld 4, and Compute Pack 6 components, it has its own virtual frying pan element 63 and interacts with the virtual pancake 64 using simulated physics. , is flown towards user 2 (61). Referring to FIGS. 5G and 5H, user 2 (61) successfully aligns its virtual frying pan 63 and catches virtual pancake 64, and referring to FIGS. 5I and 5J, user 2 (61) , can throw a virtual pancake 64 back toward User 1 60, and User 1 throws its virtual pancake 62 back for another successful catch of virtual pancake 64, as shown in FIG. 5K. or alternatively, in FIG. 5L, User 1 misses the positioning and orientation of his virtual frying pan 62 and virtual pancake 64 appears to be facing the floor. Thus, multi-user or multi-player configurations are presented in which two users can collaborate or interact with various elements such as virtual dynamic elements.

PCFおよびアンカポイントに関して、上記に説明されるように、ローカルユーザによって作成されたもの等のローカルマップは、ある持続アンカポイントまたは座標フレームを含有してもよく、これは、種々の要素のある位置および/または配向に対応し得る。クラウドベースのコンピューティングリソースにレベル上げされ得る、マップ等、外部リソース8レベルにレベル上げ、記憶、または作成され得る、マップは、他のユーザによって生成されたマップとマージされてもよい。実際、所与のユーザが、クラウドまたはその一部の中で位置特定され得、これは、上記に説明されるように、ユーザによって原位置で生成されたものより大きいまたはより精緻化され得る。さらに、ローカルマップと同様に、クラウドマップは、ある持続アンカポイントまたはPCFを含有するように構成されてもよく、これは、実世界位置および/または配向に対応し得、かつこれは、マップまたは環境の同一エリアまたは部分内の種々のデバイスによって合意され得る。ユーザが、位置特定されると(例えば、最初に、ブートアップし、ML1システムを用いて、走査を開始した後、またはローカルマップとの協調の喪失後、またはSLAMアクティビティがユーザを位置特定することを補助するように、環境内である距離を歩行後)、ユーザは、実世界内で観察可能な特徴に対応する、近隣のマップ特徴に基づいて、位置特定され得る。持続アンカポイントおよびPCFは、実世界位置に対応し得るが、それらはまた、マップ自体が更新されるまで、相互に対しても固定され得る。例えば、PCF-AおよびPCF-Bが、5メートル離れている場合、それらは、ユーザが再位置特定されても、5メートル離れたままであるように構成され得る(すなわち、本システムは、個々のPCFが移動しないように構成され得る、すなわち、ユーザの推定されるマップ整合およびその中のユーザの場所のみが、移動する)。先に図6および7A-7Cを参照すると、ユーザが、高信頼度PCF(すなわち、ユーザの位置特定点の近く)から離れるほど、より大きい誤差が、位置および配向の観点から生じるであろう。例えば、任意の軸上のPCF整合における2度の誤差は、10メートルにおいて35センチメートルのオフセットと関連付けられ得(tan(2度)×10)、すなわち、図6および7A-7Cを先に参照して議論されるように、追跡されているユーザまたはオブジェクトに近い、持続アンカポイントおよびPCFを利用することが好ましい。 With respect to PCFs and anchor points, as explained above, a local map, such as one created by a local user, may contain certain persistent anchor points or coordinate frames, which represent certain positions of various elements. and/or orientation. Maps, which may be promoted, stored, or created up to eight levels of external resources, such as maps, which may be promoted to cloud-based computing resources, may be merged with maps generated by other users. Indeed, a given user may be located within the cloud or part thereof, which may be larger or more refined than that generated in situ by the user, as explained above. Further, similar to local maps, cloud maps may be configured to contain certain persistent anchor points or PCFs, which may correspond to real-world positions and/or orientations, and which may correspond to maps or may be agreed upon by various devices within the same area or portion of the environment. Once the user is located (e.g., after first booting up and starting a scan with the ML1 system, or after losing coordination with the local map, or after SLAM activity locates the user) After walking a distance in the environment, the user can be located based on nearby map features that correspond to observable features in the real world. Persistent anchor points and PCFs may correspond to real-world locations, but they may also be fixed relative to each other until the map itself is updated. For example, if PCF-A and PCF-B are 5 meters apart, they may be configured to remain 5 meters apart even if the user is relocated (i.e., the system can The PCF may be configured to not move, ie only the user's presumed map match and the user's location within it move). Referring previously to FIGS. 6 and 7A-7C, the farther the user is from the high-confidence PCF (ie, closer to the user's localization point), the more error will occur in terms of position and orientation. For example, a 2 degree error in PCF alignment on any axis can be associated with an offset of 35 centimeters in 10 meters (tan(2 degrees) x 10), i.e. see above FIGS. 6 and 7A-7C. As discussed above, it is preferable to utilize persistent anchor points and PCFs that are close to the user or object being tracked.

図4を参照して記載されるように、近隣のユーザは、同一の近隣のPCFおよび持続アンカポイント情報を受信するように構成されてもよい。2人のプレーヤ間のPCFおよび持続アンカポイントの重複セットから、本システムは、1つまたはそれを上回るPCFおよび/または持続アンカポイントを選択するように構成されてもよく、これは、平均誤差を最小限にし、これらの共有アンカ/PCFは、共有仮想コンテンツの位置/配向を設定するために利用されてもよい。一実施形態では、クラウドコンピューティングリソース等のホストシステムは、新しい協働セッションまたはゲームを開始するとき、メッシュ化/マッピング情報を提供し、これを全てのユーザに伝送するように構成されてもよい。メッシュは、ローカルユーザによって、ホストとのその共通アンカを使用して、適切な設置場所の中に位置付けられてもよく、本システムは、プレーヤが、非常に大「ヘッドルーム」または天井高の知覚を有し得る(最大「通信時間」が所望されるとき、2人のユーザ間でパンケーキを裏返す等のシナリオのために有用である)ように、垂直に高さのある、メッシュ部分を具体的に「カット」または「クロップ」オフするように構成されてもよい。天井高等のマッピングまたはメッシュベースの限界の種々の側面は、随意に、回避または無視されてもよい(例えば、一実施形態では、床メッシュ/マップのみが、飛んでいるパンケーキ等の特定の仮想要素が接地面に衝打したことを確認するために利用されてもよい)。 As described with reference to FIG. 4, neighboring users may be configured to receive the same neighboring PCF and persistent anchor point information. From an overlapping set of PCFs and persistent anchor points between two players, the system may be configured to select one or more PCFs and/or persistent anchor points, which reduces the average error to Minimally, these shared anchors/PCFs may be utilized to set the position/orientation of shared virtual content. In one embodiment, a host system, such as a cloud computing resource, may be configured to provide meshing/mapping information and transmit this to all users when starting a new collaborative session or game. . The mesh may be positioned by the local user into a suitable installation location using its common anchors with the host, and the system allows the player to perceive very large "headroom" or ceiling heights. (useful for scenarios such as flipping pancakes between two users when maximum "air time" is desired) It may be configured to "cut" or "crop" off physically. Various aspects of mapping or mesh-based limitations, such as ceiling height, may optionally be avoided or ignored (e.g., in one embodiment, only the floor mesh/map may be used for certain virtual objects such as flying pancakes). may be used to confirm that the element hits the ground).

上記に述べられたように、軟体物理学シミュレーションが、利用されてもよい。種々の実施形態では、粒子が、それらが仮想フライパン62、63または他の衝突性要素間に終着するとき、固まった状態にならないように防止するために、そのような衝突性要素は、衝突が正しく解決され得るように、パンケーキの対向側上に成長する、拡張部を有するように構成されてもよい。 As mentioned above, soft body physics simulations may be utilized. In various embodiments, to prevent particles from getting stuck when they land between virtual frying pans 62, 63 or other colliding elements, such colliding elements are It may be configured to have extensions that grow on opposite sides of the pancake so that it can be properly resolved.

ユーザのシステムおよび関連付けられる接続されたリソース8は、ユーザが、関連付けられるソーシャルネットワークリソースを通して(同様にML1システムを有する、友人の所定のグループ等)、およびそのようなユーザの地理的場所によって、ゲームを開始することを可能にするように構成されてもよい。例えば、特定のユーザが、図5A-5Lに図示されるようなゲームをプレーしようと試みるとき、関連付けられるシステムは、プレーパートナの選択を同一建物または同一部屋内の特定のユーザのソーシャルネットワーク内の人物に自動的に抑制するように構成されてもよい。 The user's system and associated connected resources 8 allow the user to access the game through an associated social network resource (such as a predetermined group of friends who also have an ML1 system) and by such user's geographic location. may be configured to allow the initiation of For example, when a particular user attempts to play a game such as illustrated in FIGS. It may be configured to automatically suppress the person.

図5A-5Lに戻って参照すると、本システムは、算出効率が得られ得るように、一度に1つの仮想パンケーキ64にのみ対処するように構成されてもよい(すなわち、ゲーム状態全体が、単一パケットの中にパッキングされてもよい。種々の実施形態では、任意の時点に所与の仮想パンケーキ64の最も近くのプレーヤ/ユーザは、そのような仮想パンケーキ64に対する権限を与えられ、彼らが他のユーザに対してそれがある場所を制御することを意味し得る)。種々の実施形態では、ネットワーク化された状態は、物理学を更新し、全てをそれぞれ60Hzの範囲内の更新周波数でレンダリングし、これは、権限境界(すなわち、あるユーザから別のユーザへのパンケーキの権限)を越えるときでも、視覚的提示を一貫して保つように選択される。種々の実施形態では、Tnet構成(パケット切替2地点間システムエリアネットワーク)が、いくつかのカスタムパケット構成および公知のRFC刊行物に説明されるもの等の他のより標準的パケット構成とともに、利用されてもよい。 Referring back to FIGS. 5A-5L, the system may be configured to deal with only one virtual pancake 64 at a time so that computational efficiency can be achieved (i.e., the entire game state is In various embodiments, the closest player/user to a given virtual pancake 64 at any given time is entitled to such virtual pancake 64. , which could mean that they control where it is for other users). In various embodiments, the networked state updates the physics and renders everything with an update frequency in the range of 60 Hz each, which enforces authority boundaries (i.e. panning from one user to another). It is chosen to keep the visual presentation consistent even when overriding the power of cake. In various embodiments, a Tnet configuration (packet-switched point-to-point system area network) is utilized, along with some custom packet configurations and other more standard packet configurations such as those described in known RFC publications. may

図6を参照すると、2人のユーザ(ユーザ1(60)、ユーザ2(61))が、1つのPCF68が彼らの間の直ぐ傍に位置した状態で、相互に非常に近接近して、同一ローカル環境66内に位置付けられる。そのような構成および1つのみの信頼性があるPCF68を用いることで、図5A-5Lに図示されるもの等のゲームは、両方のユーザが同一PCFによって同一マッピング情報に対して位置特定された状態で行われ得る。しかしながら、図7A-7Cを参照すると、ユーザ(ユーザ1(60)、ユーザ2(61))は、比較的に離れて位置付けられるが、幸いなことに、複数のPCF(69、70、71、72)が、2人のユーザ間に位置付けられる。上記に述べられたように、オフセットおよび/またはドリフトを防止するために、可能な限りアクションに近い、PCFを使用することが望ましい。したがって、図7Aでは、ユーザ2(61)が、裏返す/飛ばしている側であって、概して、仮想パンケーキ64との近接度およびその制御を有する状態では、近隣のPCF(例えば、70、69、または69および70両方等)が、利用されてもよい。図7Bを参照すると、仮想パンケーキ64が、2人のユーザ(61、60)間で飛ばされるにつれて、飛んでいる仮想パンケーキに最も近接するPCF(例えば、70、71、または70および71の両方)が、利用されてもよい。図7Cに示されるように、より低い位置で仮想パンケーキが放られる場合、飛んでいる仮想パンケーキに最も近接する他のPCF(例えば、69、70、または69および70の両方)は、利用されてもよい。図7Dを参照すると、仮想パンケーキ(64)が、その軌道をユーザ1(60)に向かって継続するにつれて、飛んでいる仮想パンケーキに最も近接するPCF(例えば、69、70、または69および70の両方)が、利用されてもよい。したがって、動的PCF選択構成が、ドリフトを最小限にし、正確度を最大限にすることを補助し得る。 Referring to FIG. 6, two users (User 1 60, User 2 61) are placed in very close proximity to each other with one PCF 68 positioned immediately between them. Located within the same local environment 66 . With such a configuration and only one trusted PCF 68, games such as those illustrated in FIGS. can be done in the state However, referring to FIGS. 7A-7C, although the users (User 1 (60), User 2 (61)) are positioned relatively far apart, fortunately, multiple PCFs (69, 70, 71, 72) is positioned between the two users. As mentioned above, it is desirable to use a PCF that is as close to action as possible to prevent offset and/or drift. Thus, in FIG. 7A, with User 2 (61) being the flipping/flying side and generally having proximity to and control over the virtual pancake 64, neighboring PCFs (eg, 70, 69 , or both 69 and 70) may be utilized. Referring to FIG. 7B, as a virtual pancake 64 is flung between two users (61, 60), the closest PCF to the flying virtual pancake (eg, 70, 71, or 70 and 71) both) may be utilized. As shown in FIG. 7C, when the virtual pancake is thrown at a lower position, the other PCFs (eg, 69, 70, or both 69 and 70) closest to the flying virtual pancake are available may be Referring to FIG. 7D, as the virtual pancake (64) continues its trajectory toward user 1 (60), the PCF closest to the flying virtual pancake (eg, 69, 70, or 69 and 70) may be utilized. Therefore, a dynamic PCF selection configuration can help minimize drift and maximize accuracy.

図8を参照すると、ユーザ1およびユーザ2は、あるコンテンツおよび/または仮想アセットがその独自の目線のそれぞれから両方のユーザによって体験され得るように、彼らが共通空間コンピューティング体験に従事し得るように、同一マップの中で位置特定されてもよい(80)。ユーザのML1システム内に常駐する、ローカルコンピューティング能力等、または相互接続され得る、あるクラウドコンピューティングリソース8等の接続されたシステムは、眼視線、上肢運動学、およびローカル環境に対する身体位置および配向等のユーザのアクティビティから意図のある側面を推測するように試みるように構成されてもよい(82)。例えば、一実施形態では、本システムは、第1のユーザの捕捉された視線情報を利用して、第1のユーザが標的化するように試み得る、第2のユーザの近似場所等、パンケーキ64等の仮想要素を放るためのある目的地を推測するように構成されてもよい。同様に、本システムは、標的化または他の変数を上肢位置、配向、速度、および/または角速度から推測するように構成されてもよい。ユーザを補助するために利用される情報は、リアルまたは近リアルタイムサンプリングからのものであってもよい、または特定のユーザのプレーまたは参加履歴等のより大きい時間ドメインからのサンプリングに基づいてもよい(例えば、畳み込みニューラルネットワーク(「CNN」)構成が、特定のユーザが、特定の標的を、または特定の方法で、打つように試みるとき、常時、特定の方法で一瞥する、または常時、その腕を特定の方法で移動させることを理解するために利用されてもよく、そのような構成は、ユーザを補助するために利用されてもよい)。少なくとも部分的に、ユーザの意図に関する1つまたはそれを上回る干渉に基づいて、本システムは、ユーザが意図される目的を遂行することを補助するように構成されてもよい(84)。例えば、一実施形態では、本システムは、振戦がユーザの手または腕で検出されるとき、ローカル環境に対する所与のシステムコンポーネントの位置または角速度に関する機能的限界を設ける(すなわち、振戦の常軌を逸するような影響を低減させ、それによって、システムに対するそのユーザの命令を平滑化するため)、またはその衝突が所望されるものであると決定されるとき、1つまたはそれを上回る要素を相互に向かって経時的にわずかに引動させる(すなわち、比較的に未発達の粗大運動技能を伴う、小さい子供の実施例では、本システムは、子供が、ゲームまたはユースケースにおいて、より成功するように、子供が照準または移動させることを補助するように構成されてもよい。例えば、仮想パンケーキ64をキャッチすることに継続的に失敗する子供に関して、その仮想フライパン62を極端に右に設置することによって、本システムは、パンケーキをフライパンに向かって、またはフライパンをパンケーキに向かって、または両方となるように誘導するように構成されてもよい)ように構成されてもよい。 Referring to FIG. 8, User 1 and User 2 are arranged so that they can engage in a common spatial computing experience such that certain content and/or virtual assets can be experienced by both users from each of their unique perspectives. may be located 80 within the same map. Local computing capabilities, etc., residing within the user's ML1 system, or connected systems, such as certain cloud computing resources 8 that may be interconnected, can be used to determine eye gaze, upper extremity kinematics, and body position and orientation relative to the local environment. It may also be configured to attempt to infer certain aspects of intent from user activity such as (82). For example, in one embodiment, the system utilizes the first user's captured gaze information to allow the first user to attempt to target a pancake location, such as a second user's approximate location, that the first user may attempt to target. 64 may be configured to infer a certain destination for throwing a virtual element. Similarly, the system may be configured to infer targeting or other variables from upper extremity position, orientation, velocity, and/or angular velocity. The information utilized to assist the user may be from real or near real-time sampling, or may be based on sampling from a larger time domain such as a particular user's play or participation history ( For example, a Convolutional Neural Network (“CNN”) configuration indicates that when a particular user attempts to hit a particular target or in a particular manner, he or she always glances in a particular way or always raises his arm. may be used to understand moving in a particular way, and such configuration may be used to assist the user). Based, at least in part, on one or more interferences related to the user's intent, the system may be configured to assist the user in accomplishing the intended purpose (84). For example, in one embodiment, the system establishes functional limits on the position or angular velocity of a given system component relative to the local environment when tremor is detected in a user's hand or arm (i.e., normal tremor , thereby smoothing out the user's commands to the system), or when it is determined that the conflict is desired In the example of small children with slight pulls toward each other over time (i.e., with relatively undeveloped gross motor skills), the system may help the child to be more successful in the game or use case. Additionally, it may be configured to assist the child in aiming or moving, for example, placing the virtual frying pan 62 too far to the right for a child who consistently fails to catch the virtual pancake 64. Thereby, the system may be configured to direct pancakes toward pans, or pans toward pancakes, or both.

種々の他の実施形態では、本システムは、ローカルの実際の世界との他の相互作用を有するように構成されてもよい。例えば、一実施形態では、図5A-5Lに図示されるようなゲームをプレーしているユーザは、仮想パンケーキ64を壁に向かって意図的に叩きつけることが可能であって、軌道が十分な速度で十分に真っ直ぐである場合、ゲームの残りにわたって、またはさらに恒久的にローカルマッピング情報の一部として、または近隣のPCFと関連付けられるように、その仮想パンケーキがその壁に粘着したままであるようにしてもよい。 In various other embodiments, the system may be configured to have other interactions with the local real world. For example, in one embodiment, a user playing a game such as that illustrated in FIGS. If it's straight enough at speed, the virtual pancake stays stuck to the wall for the rest of the game, or even permanently as part of the local mapping information or associated with neighboring PCFs. You may do so.

処理ユニット processing unit

図9は、いくつかの実施形態による、処理ユニット1002を図示する。処理ユニット1002は、いくつかの実施形態では、本明細書に説明される装置7の実施例であってもよい。他の実施形態では、処理ユニット1002または処理ユニット1002の任意の一部は、相互に通信する、別個のデバイスを使用して実装されてもよい。図示されるように、処理ユニット1002は、通信インターフェース1010と、ポジショナ1020と、グラフィック生成器1030と、非一過性媒体1040と、コントローラ入力1050と、タスクアシスタント1060とを含む。いくつかの実施形態では、通信インターフェース1010、ポジショナ1020、グラフィック生成器1030、非一過性媒体1040、コントローラ入力1050、タスクアシスタント1060、または前述の任意の組み合わせは、ハードウェアを使用して実装されてもよい。非限定的実施例として、ハードウェアは、1つまたはそれを上回るFPGAプロセッサ、1つまたはそれを上回るASICプロセッサ、1つまたはそれを上回る信号プロセッサ、1つまたはそれを上回る数学プロセッサ、1つまたはそれを上回る集積回路、または前述の任意の組み合わせを含んでもよい。いくつかの実施形態では、処理ユニット1102の任意のコンポーネントは、ソフトウェアを使用して実装されてもよい。 FIG. 9 illustrates a processing unit 1002, according to some embodiments. Processing unit 1002 may, in some embodiments, be an example of apparatus 7 described herein. In other embodiments, the processing unit 1002 or any portion of the processing unit 1002 may be implemented using separate devices that communicate with each other. As shown, processing unit 1002 includes communication interface 1010 , positioner 1020 , graphics generator 1030 , non-transitory media 1040 , controller input 1050 and task assistant 1060 . In some embodiments, communication interface 1010, positioner 1020, graphics generator 1030, non-transitory media 1040, controller input 1050, task assistant 1060, or any combination of the foregoing are implemented using hardware. may As non-limiting examples, the hardware comprises one or more FPGA processors, one or more ASIC processors, one or more signal processors, one or more math processors, one or more It may include more integrated circuits, or any combination of the foregoing. In some embodiments, any component of processing unit 1102 may be implemented using software.

いくつかの実施形態では、処理ユニット1002は、ともに通信可能に結合される、別個のコンポーネントとして実装されてもよい。例えば、処理ユニット1002は、通信インターフェース1010、ポジショナ1020、グラフィック生成器1030、コントローラ入力1050、タスクアシスタント1060を搬送する、第1の基板と、非一過性媒体1040を搬送する、別の基板とを有してもよい。別の実施例として、処理ユニット1002のコンポーネントは全て、同一基板によって搬送されてもよい。いくつかの実施形態では、処理ユニット1002のコンポーネントの任意、いくつか、または全ては、画像ディスプレイデバイス2において実装されてもよい。いくつかの実施形態では、処理ユニット1002のコンポーネントの任意、いくつか、または全ては、ハンドヘルド制御コンポーネント4、制御コンポーネント6、携帯電話、サーバ等、画像ディスプレイデバイス2から離れたデバイスにおいて実装されてもよい。さらなる実施形態では、処理ユニット1002または処理ユニット1002のコンポーネントのいずれか(ポジショナ1020等)は、異なる個別のユーザによって装着される、異なるディスプレイデバイスにおいて実装されてもよい、または異なる個別のユーザと関連付けられる(例えば、それに近接近する)、異なるデバイスにおいて実装されてもよい。 In some embodiments, processing unit 1002 may be implemented as separate components that are communicatively coupled together. For example, processing unit 1002 may include a first substrate carrying communication interface 1010, positioner 1020, graphics generator 1030, controller input 1050, task assistant 1060, and another substrate carrying non-transitory media 1040. may have As another example, all components of processing unit 1002 may be carried by the same substrate. In some embodiments, any, some, or all of the components of processing unit 1002 may be implemented in image display device 2 . In some embodiments, any, some, or all of the components of processing unit 1002 may be implemented in a device separate from image display device 2, such as handheld control component 4, control component 6, mobile phone, server, etc. good. In further embodiments, processing unit 1002 or any of the components of processing unit 1002 (such as positioner 1020) may be worn by different individual users, implemented in different display devices, or associated with different individual users. may be implemented in different devices that are located (eg, in close proximity to it).

処理ユニット1002は、(例えば、画像ディスプレイデバイス2におけるセンサから、または外部デバイスからの)位置情報および/またはコントローラコンポーネント4からの制御情報を受信し、位置情報および/または制御情報に基づいて、仮想コンテンツを表示のために画像ディスプレイデバイス2の画面内に提供するように構成される。例えば、図5A-5Lを参照して図示されるように、位置情報は、ユーザ60の位置を示してもよく、コントローラ4からの制御情報は、コントローラ4の位置および/またはコントローラ4を介してユーザ60によって実施されているアクションを示してもよい。そのような場合、処理ユニット1002は、ユーザ60の位置およびコントローラ4からの制御情報に基づいて、仮想オブジェクト(例えば、上記の実施例では、パンケーキ64)の画像を生成する。一実施例では、制御情報は、コントローラ4の位置を示す。そのような場合、処理ユニット1002は、パンケーキ64の位置がコントローラ4の位置に関連するように(図5Dに示されるもののように)、パンケーキ64の画像を生成する。例えば、パンケーキ64の移動は、コントローラ4の移動に追従するであろう。別の実施例では、ユーザ60が、コントローラ4を使用して、コントローラ4を使用して仮想パンケーキ64を投げる等の操縦を実施する場合、制御情報は、コントローラ4の移動方向および移動と関連付けられる速度および/または加速に関する情報を含むであろう。そのような場合、処理ユニット1002は、次いで、仮想パンケーキ64の移動を示す、グラフィックを生成する(図5E-5Gに示されるもののように)。移動は、パンケーキ64が仮想フライパン63から飛び出た場所の位置に基づいて、また、移動モデル(コントローラ4の移動方向およびコントローラ4の速度および/または加速を入力として受信する)に基づいて、処理ユニット1002によって計算される、移動軌道に沿ったものであってもよい。移動モデルは、本明細書にさらに詳細に説明されるであろう。 The processing unit 1002 receives position information (eg, from a sensor in the image display device 2 or from an external device) and/or control information from the controller component 4, and based on the position information and/or control information, generates a virtual It is configured to present content within the screen of the image display device 2 for display. For example, as illustrated with reference to FIGS. 5A-5L, location information may indicate the location of user 60, and control information from controller 4 may indicate the location of controller 4 and/or through controller 4. Actions being performed by user 60 may be indicated. In such a case, processing unit 1002 generates an image of a virtual object (eg pancake 64 in the above example) based on the position of user 60 and control information from controller 4 . In one embodiment, the control information indicates the position of controller 4 . In such a case, processing unit 1002 generates an image of pancake 64 such that the position of pancake 64 is related to the position of controller 4 (as shown in FIG. 5D). For example, movement of pancake 64 will follow movement of controller 4 . In another example, when user 60 uses controller 4 to perform a maneuver such as throwing virtual pancakes 64 using controller 4 , the control information is associated with the direction of movement and movement of controller 4 . It would contain information about the speed and/or acceleration to be delivered. In such a case, processing unit 1002 then generates a graphic showing the movement of virtual pancake 64 (such as those shown in FIGS. 5E-5G). Movement is processed based on the position of where the pancake 64 popped out of the virtual frying pan 63 and based on the movement model (which receives as input the movement direction of the controller 4 and the velocity and/or acceleration of the controller 4). It may be along a movement trajectory calculated by unit 1002 . Mobility models will be described in further detail herein.

図9に戻ると、通信インターフェース1010は、位置情報を受信するように構成される。本明細書で使用されるように、用語「位置情報」は、エンティティの位置を表す、任意の情報、またはエンティティの位置を導出するために使用され得る、任意の情報を指す。いくつかの実施形態では、通信インターフェース1010は、画像ディスプレイデバイス2のカメラおよび/または深度センサに通信可能に結合される。そのような実施形態では、通信インターフェース1010は、直接、画像をカメラから、および/または深度信号を深度センサから受信する。いくつかの実施形態では、通信インターフェース1010は、位置情報として通信インターフェース1010に通過する前に、カメラからの画像を処理し、および/または深度センサからの深度信号を処理する、別の処理ユニット等の別のデバイスに結合されてもよい。他の実施形態では、通信インターフェース1010は、GPS情報、または位置を導出するために使用され得る、任意の情報を受信するように構成されてもよい。また、いくつかの実施形態では、通信インターフェース1010は、無線で、または物理的伝導性伝送ラインを介して出力される、位置情報を取得するように構成されてもよい。 Returning to FIG. 9, communication interface 1010 is configured to receive location information. As used herein, the term "location information" refers to any information that represents the location of an entity or that can be used to derive the location of an entity. In some embodiments, communication interface 1010 is communicatively coupled to the camera and/or depth sensor of image display device 2 . In such embodiments, communication interface 1010 receives images directly from the camera and/or depth signals from the depth sensor. In some embodiments, the communication interface 1010 processes images from the camera and/or processes depth signals from the depth sensor before passing to the communication interface 1010 as location information, such as a separate processing unit. may be coupled to another device. In other embodiments, communication interface 1010 may be configured to receive GPS information, or any information that may be used to derive location. Also, in some embodiments, communication interface 1010 may be configured to obtain location information that is output wirelessly or via physical conductive transmission lines.

いくつかの実施形態では、異なるタイプのセンサ出力を提供するために、異なるセンサが画像ディスプレイデバイス2に存在する場合、処理ユニット1002の通信インターフェース1010は、異なる個別のセンサ出力を受信するために、異なる個別のサブ通信インターフェースを有してもよい。いくつかの実施形態では、センサ出力は、画像ディスプレイデバイス2におけるカメラによって捕捉された画像を含んでもよい。代替として、または加えて、センサ出力は、画像ディスプレイデバイス2における深度センサによって捕捉された距離データを含んでもよい。距離データは、飛行時間技法に基づいて生成されたデータであってもよい。そのような場合、画像ディスプレイデバイス2における信号生成器は、信号を伝送し、信号は、ユーザの周囲の環境内のオブジェクトから反射する。反射された信号は、画像ディスプレイデバイス2における受信機によって受信される。信号がオブジェクトに到達し、受信機に戻るように反射するまでにかかった時間に基づいて、センサまたは処理ユニット1002は、次いで、オブジェクトと受信機との間の距離を決定してもよい。他の実施形態では、センサ出力は、環境内のエンティティ(ユーザ、オブジェクト等)の場所を決定するように処理され得る、任意の他のデータを含んでもよい。 In some embodiments, if different sensors are present in the image display device 2 to provide different types of sensor output, the communication interface 1010 of the processing unit 1002 may receive different individual sensor outputs by: It may have different individual sub-communication interfaces. In some embodiments, sensor output may include images captured by a camera on image display device 2 . Alternatively or additionally, the sensor output may include range data captured by a depth sensor in image display device 2 . The range data may be data generated based on time-of-flight techniques. In such a case, the signal generator in the image display device 2 will transmit the signal and the signal will be reflected from objects in the user's surrounding environment. The reflected signal is received by a receiver in image display device 2 . Based on the time it takes for the signal to reach the object and reflect back to the receiver, the sensor or processing unit 1002 may then determine the distance between the object and the receiver. In other embodiments, the sensor output may include any other data that can be processed to determine the location of entities (users, objects, etc.) within the environment.

処理ユニット1002のポジショナ1020は、画像ディスプレイデバイスのユーザの位置を決定し、および/または画像ディスプレイデバイス内に表示されるべき仮想オブジェクトの位置を決定するように構成される。いくつかの実施形態では、通信インターフェース1010によって受信される位置情報は、センサ信号であってもよく、ポジショナ1020は、センサ信号を処理して、画像ディスプレイデバイスのユーザの位置を決定するように構成される。例えば、センサ信号は、画像ディスプレイデバイスの1つまたはそれを上回るカメラによって捕捉されたカメラ画像であってもよい。そのような場合、処理ユニット1002のポジショナ1020は、ユーザの位置特定のために、カメラ画像に基づいて、位置特定マップを決定し、および/またはカメラ画像内の特徴と作成された位置特定マップ内の特徴をマッチングさせるように構成される。1つの実装では、ポジショナ1020は、ユーザの位置特定のために、図2および/または図3を参照して説明されるアクションを実施するように構成される。他の実施形態では、通信インターフェース1010によって受信された位置情報は、すでに、ユーザの位置を示している場合がある。そのような場合、ポジショナ1020は、次いで、位置情報をユーザの位置として使用する。 The positioner 1020 of the processing unit 1002 is configured to determine the position of the user of the image display device and/or the position of the virtual object to be displayed within the image display device. In some embodiments, the position information received by communication interface 1010 may be sensor signals, and positioner 1020 is configured to process the sensor signals to determine the position of the user of the image display device. be done. For example, the sensor signals may be camera images captured by one or more cameras of the image display device. In such cases, the positioner 1020 of the processing unit 1002 determines a localization map based on the camera image and/or uses features in the camera image and/or features in the generated localization map to localize the user. is configured to match features of In one implementation, positioner 1020 is configured to perform the actions described with reference to FIGS. 2 and/or 3 for user location. In other embodiments, the location information received by communication interface 1010 may already indicate the user's location. In such cases, positioner 1020 then uses the location information as the user's location.

図9に示されるように、ポジショナ1020は、アンカポイントモジュール1022と、アンカポイント選択器1024とを含む。アンカポイントモジュール1022は、1つまたはそれを上回るアンカポイントを決定するように構成され、これは、処理ユニット1002によって、ユーザを位置特定する、および/または仮想オブジェクトをユーザを囲繞する環境に対して設置することによって、利用されてもよい。いくつかの実施形態では、アンカポイントは、位置特定マップ内の点であってもよく、位置特定マップ内の各点は、物理的環境内で識別された特徴(例えば、角、縁、オブジェクト等)であってもよい。また、いくつかの実施形態では、各アンカポイントは、以前に、または現在のセッションにおいて決定された、持続座標フレーム(PCF)であってもよい。いくつかの実施形態では、通信インターフェース1010は、以前に決定されたアンカポイントを別のデバイスから受信してもよい。そのような場合、アンカポイントモジュール1022は、アンカポイントを通信インターフェース1010から受信することによって、アンカポイントを取得してもよい。他の実施形態では、アンカポイントは、非一過性媒体1040内に記憶されてもよい。そのような場合、アンカポイントモジュール1022は、アンカポイントを非一過性媒体1040から読み出すことによって、アンカポイントを取得してもよい。さらなる実施形態では、アンカポイントモジュール1022は、マップ作成セッション内でアンカポイントを決定するように構成されてもよい。マップ作成セッションでは、画像ディスプレイデバイスを装着しているユーザは、画像ディスプレイデバイスのカメラが環境内の異なる特徴の画像を捕捉するように、環境内を歩き回り、および/または画像ディスプレイデバイスを異なる視認角度に配向する。処理ユニット1002は、次いで、アンカポイントとしての使用のために、特徴識別を実施し、環境内の1つまたはそれを上回る特徴を識別してもよい。いくつかの実施形態では、ある物理的環境のためのアンカポイントは、すでに、前のセッション内で決定されている。そのような場合、ユーザが、同一物理的環境に進入すると、ユーザによって装着されている画像ディスプレイデバイスにおけるカメラは、物理的環境の画像を捕捉するであろう。処理ユニット1002は、物理的環境内の特徴を識別し、特徴のうちの1つまたはそれを上回るものが以前に決定されたアンカポイントとマッチングするかどうかを確認してもよい。該当する場合、マッチングされたアンカポイントは、処理ユニット1002が、それらのアンカポイントをユーザ位置特定および/または仮想コンテンツの設置のために使用し得るように、アンカポイントモジュール1022によって利用可能にされるであろう。 As shown in FIG. 9, positioner 1020 includes anchor point module 1022 and anchor point selector 1024 . Anchor point module 1022 is configured to determine one or more anchor points, which are used by processing unit 1002 to locate the user and/or place the virtual object relative to the environment surrounding the user. It may be used by installing In some embodiments, an anchor point may be a point in a localization map, where each point in the localization map corresponds to an identified feature (e.g., corner, edge, object, etc.) in the physical environment. ). Also, in some embodiments, each anchor point may be a Persistent Coordinate Frame (PCF) determined previously or in the current session. In some embodiments, communication interface 1010 may receive a previously determined anchor point from another device. In such cases, anchor point module 1022 may obtain the anchor point by receiving the anchor point from communication interface 1010 . In other embodiments, anchor points may be stored in non-transitory media 1040 . In such cases, anchor point module 1022 may obtain the anchor point by reading the anchor point from non-transitory media 1040 . In a further embodiment, the anchor point module 1022 may be configured to determine anchor points within the mapping session. In a map-making session, a user wearing an image display device walks through the environment and/or views the image display device at different viewing angles such that the camera of the image display device captures images of different features in the environment. Oriented to Processing unit 1002 may then perform feature identification to identify one or more features in the environment for use as anchor points. In some embodiments, anchor points for a physical environment have already been determined in a previous session. In such a case, when the user enters the same physical environment, the camera in the image display device worn by the user will capture an image of the physical environment. The processing unit 1002 may identify features in the physical environment and ascertain whether one or more of the features match the previously determined anchor points. If applicable, the matched anchor points are made available by the anchor point module 1022 so that the processing unit 1002 can use them for user location and/or placement of virtual content. Will.

また、いくつかの実施形態では、ユーザが、物理的環境内を動き回るにつれて、処理ユニット1002のアンカポイントモジュール1022は、付加的アンカポイントを識別するであろう。例えば、ユーザが、環境内の第1の位置に存在するとき、処理ユニット1002のアンカポイントモジュール1022は、環境内のユーザの第1の位置に近接近する、アンカポイントAP1、AP2、AP3を識別してもよい。ユーザが、物理的環境内で第1の位置から第2の位置に移動する場合、処理ユニット1002のアンカポイントモジュール1022は、環境内のユーザの第2の位置に近接近する、アンカポイントAP3、AP4、AP5を識別してもよい。 Also, in some embodiments, as the user moves about the physical environment, the anchor point module 1022 of the processing unit 1002 will identify additional anchor points. For example, when the user is at a first position in the environment, the anchor point module 1022 of the processing unit 1002 identifies anchor points AP1, AP2, AP3 that are in close proximity to the user's first position in the environment. You may When the user moves from a first position to a second position within the physical environment, the anchor point module 1022 of the processing unit 1002 moves closer to the user's second position within the environment, anchor points AP3, AP4, AP5 may be identified.

加えて、いくつかの実施形態では、アンカポイントモジュール1022は、複数のユーザと関連付けられる、アンカポイントを取得するように構成される。例えば、同一物理的環境内の2人のユーザが、相互から離れて立っている場合がある。第1のユーザは、それと関連付けられる第1のアンカポイントのセットを伴う、第1の場所に存在してもよい。同様に、第2のユーザは、それと関連付けられる第2のアンカポイントのセットを伴う、第2の場所に存在してもよい。2人のユーザが、相互から離れているため、最初は、第1のアンカポイントのセットおよび第2のアンカポイントのセットは、任意の重複を有していなくてもよい。しかしながら、ユーザの一方または両方が、相互に向かって移動すると、個別の第1および第2のセット内のアンカポイントの構成は、変化するであろう。彼らが、十分に接近する場合、第1および第2のアンカポイントのセットは、重複を有し始めるであろう。 Additionally, in some embodiments, the anchor point module 1022 is configured to obtain anchor points associated with multiple users. For example, two users in the same physical environment may be standing apart from each other. A first user may be at a first location with a first set of anchor points associated therewith. Similarly, a second user may be at a second location with a second set of anchor points associated therewith. Initially, the first set of anchor points and the second set of anchor points may not have any overlap, as the two users are distant from each other. However, as one or both of the users move toward each other, the configuration of anchor points within the respective first and second sets will change. If they get close enough, the first and second set of anchor points will start to have overlap.

アンカポイント選択器1024は、処理ユニット1002によって、ユーザを位置特定する、および/または仮想オブジェクトをユーザを囲繞する環境に対して設置するための使用のために、(アンカポイントモジュール1022によって提供される)アンカポイントのサブセットを選択するように構成される。いくつかの実施形態では、アンカポイントモジュール1022が、単一ユーザと関連付けられる、複数のアンカポイントを提供し、他のユーザが関与しない場合、アンカポイント選択器1024は、ユーザの位置特定および/または物理的環境に対する仮想コンテンツの設置のために、アンカポイントのうちの1つまたはそれを上回るものを選択してもよい。他の実施形態では、アンカポイントモジュール1022は、同一物理的環境内で仮想的に相互に相互作用することを所望する、異なる個別のユーザ(例えば、個別の画像ディスプレイデバイスを装着しているユーザ)と関連付けられる、複数のアンカポイントのセットを提供してもよい。そのような場合、アンカポイント選択器1024は、アンカポイントの異なるセットの中で共通である、1つまたはそれを上回る共通アンカポイントを選択するように構成される。例えば、図6に示されるように、1つの共通アンカポイント68が、ユーザ60、61が同一仮想コンテンツ(パンケーキ64)と相互作用することを可能にするために選択されてもよい。図7Aは、その中で4つの共通アンカポイント69、70、71、72が、ユーザ60、61が仮想コンテンツ(パンケーキ64)と相互作用することを可能にするために選択される、別の実施例を示す。処理ユニット1002は、次いで、ユーザが同一物理的環境内で仮想コンテンツと相互作用し得るように、仮想コンテンツの設置のために、選択された共通アンカポイントを利用してもよい。 Anchor point selector 1024 is selected by processing unit 1002 (provided by anchor point module 1022) for use in locating the user and/or placing virtual objects relative to the environment surrounding the user. ) configured to select a subset of anchor points. In some embodiments, if the anchor point module 1022 provides multiple anchor points that are associated with a single user, and no other users are involved, the anchor point selector 1024 is used to locate the user and/or One or more of the anchor points may be selected for placement of virtual content relative to the physical environment. In other embodiments, the anchor point module 1022 is configured for different individual users (e.g., users wearing individual image display devices) who wish to interact with each other virtually within the same physical environment. A set of multiple anchor points may be provided that are associated with . In such cases, anchor point selector 1024 is configured to select one or more common anchor points that are common among the different sets of anchor points. For example, as shown in Figure 6, one common anchor point 68 may be selected to allow users 60, 61 to interact with the same virtual content (pancake 64). FIG. 7A shows another example in which four common anchor points 69, 70, 71, 72 are selected to allow users 60, 61 to interact with virtual content (pancake 64). An example is shown. Processing unit 1002 may then utilize the selected common anchor points for placement of virtual content so that users can interact with the virtual content within the same physical environment.

いくつかの実施形態では、アンカポイント選択器1024は、図4を参照して説明されるアクションを実施するように構成されてもよい。 In some embodiments, anchor point selector 1024 may be configured to perform the actions described with reference to FIG.

図9に戻ると、処理ユニット1002のコントローラ入力1050は、コントローラコンポーネント4からの入力を受信するように構成される。コントローラコンポーネント4からの入力は、コントローラコンポーネント4の位置および/または配向に関する位置情報、および/またはコントローラコンポーネント4を介して実施されるユーザのアクションに基づく制御情報であってもよい。非限定的実施例として、コントローラコンポーネント4からの制御情報は、ユーザが、コントローラコンポーネント4を平行移動させること、コントローラコンポーネント4を回転させること、コントローラコンポーネント4上の1つまたはそれを上回るボタンを押下すること、コントローラコンポーネント4上のノブ、トラックボール、またはジョイスティックを作動させること、または前述の任意の組み合わせに基づいて生成されてもよい。いくつかの実施形態では、ユーザ入力は、処理ユニット1002によって、画像ディスプレイデバイス2の画面に提示される仮想オブジェクトを挿入および/または移動させるために利用される。例えば、仮想オブジェクトが、図5A-5Lを参照して説明される、仮想パンケーキ64である場合、ハンドヘルドコントローラコンポーネント4は、仮想パンケーキ64が、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、実環境内で移動しているように現れるであろうように、ユーザによって、仮想パンケーキ64をキャッチし、フライパン62を用いて、仮想パンケーキ64を移動させ、および/または仮想パンケーキ64をフライパン62から離れるように投げるように操作されてもよい。いくつかの実施形態では、ハンドヘルドコントローラコンポーネント4は、仮想オブジェクトが仮想3次元空間内で運動しているように現れるであろうように、仮想オブジェクトを2次元ディスプレイ画面内で移動させるように構成されてもよい。例えば、仮想オブジェクトを上、下、左、および右に移動させることに加え、ハンドヘルドコントローラコンポーネント4はまた、仮想オブジェクトをユーザの視覚深度の内外に移動させてもよい。 Returning to FIG. 9, controller input 1050 of processing unit 1002 is configured to receive input from controller component 4 . The input from controller component 4 may be positional information regarding the position and/or orientation of controller component 4 and/or control information based on user actions performed via controller component 4 . By way of non-limiting example, control information from controller component 4 may be transmitted by the user translating controller component 4 , rotating controller component 4 , pressing one or more buttons on controller component 4 . actuating a knob, trackball, or joystick on the controller component 4, or any combination of the foregoing. In some embodiments, user input is utilized by processing unit 1002 to insert and/or move virtual objects presented on the screen of image display device 2 . For example, if the virtual object is a virtual pancake 64, described with reference to FIGS. , the virtual pancake 64 is caught, the frying pan 62 is used to move the virtual pancake 64, and/or the virtual pancake 64 is moved by the user so that it appears to move in the real environment. 64 may be manipulated to be thrown away from frying pan 62 . In some embodiments, the handheld controller component 4 is configured to move the virtual object within the two-dimensional display screen such that the virtual object would appear to be in motion within the virtual three-dimensional space. may For example, in addition to moving virtual objects up, down, left, and right, handheld controller component 4 may also move virtual objects in and out of the user's visual depth.

グラフィック生成器1030は、グラフィックを、表示のために、少なくとも部分的に、ポジショナ1020からの出力および/またはコントローラ入力1050からの出力に基づいて、画像ディスプレイデバイス2の画面上に生成するように構成される。例えば、グラフィック生成器1030は、画面を通してユーザによって視認される際、仮想オブジェクトが環境内にあるに現れるように、画像ディスプレイデバイス2の画面を制御し、仮想オブジェクトを表示してもよい。非限定的実施例として、仮想オブジェクトは、仮想可動オブジェクト(例えば、ボール、シャトル、弾丸、ミサイル、火災、熱波、エネルギー波)、武器(例えば、剣、斧、ハンマー、ナイフ、弾丸等)、部屋内に見出され得る、任意のオブジェクト(例えば、鉛筆、丸めた紙の球、カップ、椅子等)、建物外に見出され得る、任意のオブジェクト(例えば、岩、木の枝等)、車両(例えば、車、飛行機、宇宙シャトル、ロケット、潜水艦、ヘリコプタ、オートバイ、自転車、トラクタ、全地形対応車、スノーモービル等)等であってもよい。また、いくつかの実施形態では、グラフィック生成器1030は、仮想オブジェクトが環境内の実際の物理的オブジェクトと相互作用するように現れるであろうように、表示のために、仮想オブジェクトの画像を画面上に生成してもよい。例えば、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、仮想オブジェクトが環境内の空間を通して移動しているように現れるように、画面に、仮想オブジェクトの画像を移動構成において表示させてもよい。また、いくつかの実施形態では、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、仮想オブジェクトが環境内の物理的オブジェクトを変形または損傷させるように現れる、または別の仮想オブジェクトを変形または損傷させるように現れるように、画面に、仮想オブジェクトの画像を表示させてもよい。ある場合には、これは、グラフィック生成器1030が、画像ディスプレイデバイス2の画面による表示のために、変形跡(例えば、凹み跡、折線等)の画像、焼け跡の画像、熱変化を示す画像、火災の画像、爆発画像、残骸画像等等の相互作用画像を生成することによって遂行されてもよい。 The graphics generator 1030 is configured to generate graphics for display on the screen of the image display device 2 based, at least in part, on the output from the positioner 1020 and/or the output from the controller input 1050. be done. For example, the graphics generator 1030 may control the screen of the image display device 2 to display the virtual object such that the virtual object appears within the environment when viewed by the user through the screen. As non-limiting examples, virtual objects include virtual movable objects (e.g., balls, shuttles, bullets, missiles, fire, heat waves, energy waves), weapons (e.g., swords, axes, hammers, knives, bullets, etc.), Any object that can be found inside a room (e.g. a pencil, a ball of crumpled paper, a cup, a chair, etc.) Any object that can be found outside a building (e.g. a rock, tree branch, etc.) It may be a vehicle (eg, car, airplane, space shuttle, rocket, submarine, helicopter, motorcycle, bicycle, tractor, all terrain vehicle, snowmobile, etc.), and the like. In some embodiments, the graphics generator 1030 also renders images of the virtual objects to the screen for display such that the virtual objects would appear to interact with real physical objects in the environment. You can generate above. For example, the graphics generator 1030 moves and configures the image of the virtual object on the screen such that when viewed by a user through the screen of the image display device 2, the virtual object appears to move through space within the environment. may be displayed in Also, in some embodiments, the graphics generator 1030 causes the virtual objects to appear to distort, damage, or otherwise alter physical objects in the environment when viewed by a user through the screen of the image display device 2 . An image of the virtual object may be displayed on the screen so that it appears to deform or damage the virtual object. In some cases, this allows the graphics generator 1030 to generate images of deformation marks (e.g., dent marks, crease lines, etc.), images of burn marks, images showing thermal changes, This may be accomplished by generating interactive images such as fire images, explosion images, wreckage images, and the like.

上記に述べられたように、いくつかの実施形態では、グラフィック生成器1030は、仮想オブジェクトがユーザを囲繞する物理的環境の3次元空間内で移動しているように現れるように、仮想コンテンツを可動仮想オブジェクトとして提供するように構成されてもよい。例えば、可動仮想オブジェクトは、図5A-5Lを参照して説明される、飛んでいるパンケーキ64であってもよい。いくつかの実施形態では、グラフィック生成器1030は、軌道モデルに基づいて、また、アンカポイントモジュール1022またはアンカポイント選択器1024によって提供される、1つまたはそれを上回るアンカポイントに基づいて、飛んでいるパンケーキ64のグラフィックを生成するように構成されてもよい。例えば、処理ユニット1002は、軌道モデルに基づいて、飛んでいるパンケーキ64のための初期軌道を決定してもよく、初期軌道は、飛んでいるパンケーキ64のアクションが行われることが所望される場所を示す。グラフィック生成器1030は、次いで、パンケーキ64の画像のシーケンスを生成し、初期軌道と対応して(例えば、可能な限り初期軌道に追従して)、空中を飛んでいるパンケーキ64のビデオを形成する。ビデオ内に提示されるべきパンケーキ64の各画像の位置は、1つまたはそれを上回る近隣のアンカポイントに対するパンケーキ64のアクションの近接度に基づいて、処理ユニット1002によって決定されてもよい。例えば、図7Aを参照して議論されるように、パンケーキ64のアクションが、アンカポイント69、70に近接近するとき、アンカポイント69、70の一方または両方が、グラフィック生成器1030によって、ユーザ60、61が、物理的環境に関連してパンケーキ64を視認するとき、パンケーキ64が物理的環境に対する正しい位置にあるであろうように、パンケーキ64をディスプレイ画面に対する所望の位置に設置するために利用されてもよい。図7Bに示されるように、パンケーキ64がさらに、その軌道に沿って進むと、パンケーキ64のアクションは、アンカポイント70、71に近接近する。そのような場合、アンカポイント70、71の一方または両方が、グラフィック生成器1030によって、ユーザ60、61が、物理的環境に関連してパンケーキ64を視認するとき、パンケーキ64が、物理的環境に対する正しい位置にあるであろうように、パンケーキ64をディスプレイ画面に対する所望の位置に設置するために利用されてもよい。図7Dに示されるように、パンケーキ64がさらに、その軌道に沿って進むと、パンケーキ64のアクションは、アンカポイント69、72に近接近する。そのような場合、アンカポイント69、72の一方または両方が、グラフィック生成器1030によって、ユーザ60、61が、物理的環境に関連してパンケーキ64を視認するとき、パンケーキ64が、物理的環境に対する正しい位置にあるであろうように、パンケーキ64をディスプレイ画面に対する所望の位置に設置するために利用されてもよい。 As mentioned above, in some embodiments, the graphics generator 1030 renders the virtual content such that the virtual objects appear to move within the three-dimensional space of the physical environment surrounding the user. It may be configured to be presented as a moveable virtual object. For example, the movable virtual object may be the flying pancake 64 described with reference to Figures 5A-5L. In some embodiments, the graphics generator 1030 uses the trajectory model and based on one or more anchor points provided by the anchor point module 1022 or the anchor point selector 1024 to fly. may be configured to generate a graphic of the pancake 64 that is in place. For example, processing unit 1002 may determine an initial trajectory for flying pancake 64 based on a trajectory model, where the initial trajectory is the desired action of flying pancake 64 to occur. indicate where The graphics generator 1030 then generates a sequence of images of the pancake 64, corresponding to the initial trajectory (eg, following the initial trajectory as much as possible) and displaying a video of the pancake 64 flying through the air. Form. The position of each image of pancake 64 to be presented in the video may be determined by processing unit 1002 based on the proximity of the action of pancake 64 to one or more neighboring anchor points. For example, as discussed with reference to FIG. 7A, when the action of pancake 64 approaches anchor points 69, 70, one or both of anchor points 69, 70 are generated by graphics generator 1030 to the user. Place the pancake 64 in the desired position relative to the display screen so that when 60, 61 view the pancake 64 in relation to the physical environment, the pancake 64 will be in the correct position relative to the physical environment. may be used to As pancake 64 progresses further along its trajectory, the action of pancake 64 approaches anchor points 70, 71, as shown in FIG. 7B. In such a case, one or both of the anchor points 70, 71 are generated by the graphics generator 1030 so that when the user 60, 61 views the pancake 64 in relation to the physical environment, the pancake 64 is physically It may be used to place the pancake 64 in the desired position relative to the display screen as it would be in the correct position relative to the environment. As pancake 64 progresses further along its trajectory, the action of pancake 64 approaches anchor points 69, 72, as shown in FIG. 7D. In such a case, one or both of the anchor points 69, 72 may be mapped by the graphics generator 1030 so that when the user 60, 61 views the pancake 64 in relation to the physical environment, the pancake 64 is physically It may be used to place the pancake 64 in the desired position relative to the display screen as it would be in the correct position relative to the environment.

上記の実施例に図示されるように、その軌道に沿った種々の場所におけるパンケーキ64の実際の位置付けは、異なるアンカポイント(例えば、物理的環境内で識別された特徴、PCF等)に基づくため、パンケーキ64が、空間を横断して移動するにつれて、パンケーキ64は、移動するパンケーキ64(パンケーキ64のアクションが行われる場所)に近接近する、アンカポイントに対して正確に設置される。本特徴は、パンケーキ64が環境に対して不正確に設置されないように防止するため、有利であって、これは、そうでなければ、パンケーキ64がユーザに近い1つのみのアンカポイントに対して設置される場合に生じ得る。例えば、パンケーキ64の位置付けが、アンカポイント70にのみ基づく場合、パンケーキ64が、ユーザ61から離れるようにさらに移動するにつれて、パンケーキ64とアンカポイント70との間の距離は、増加する。PCFの正しくない位置付けおよび/または配向等、アンカポイント70に若干の誤差が存在する場合、これは、パンケーキ64がその意図される位置から離れるようにオフセットまたはドリフティングする結果をもたらし、オフセットまたはドリフティングの大きさは、パンケーキ64がアンカポイント70からさらに離れるにつれて、より大きくなる。パンケーキ64を設置するために、パンケーキ64に近接近する、異なるアンカポイントを選択する上記の技法は、オフセットおよびドリフティング問題点に対処する。上記の特徴はまた、(例えば、5フィートを上回って、10フィートを上回って、15フィートを上回って、20フィートを上回って等)離れた複数のユーザが、相互と正確に相互作用し、および/または同一仮想コンテンツと相互作用することを可能にするため、有利である。ゲーム用アプリケーションでは、上記の技法は、複数のユーザが、ユーザが比較的に離れている場合でも、同一オブジェクトと正確に相互作用することを可能にし得る。例えば、ゲーム用アプリケーションでは、仮想オブジェクトが、離れたユーザ間で往復して仮想的に通過されてもよい。本明細書で使用されるように、用語「近接近」は、ある事前に定義された値未満(例えば、15フィート、12フィート、10フィート、8フィート、6フィート、4フィート、2フィート、1フィート未満等)である、距離等の基準を充足させる、2つのアイテム間の距離を指す。 As illustrated in the examples above, the actual positioning of the pancake 64 at various locations along its trajectory is based on different anchor points (e.g., features identified within the physical environment, PCF, etc.). Thus, as the pancake 64 moves across space, the pancake 64 is placed precisely against the anchor point in close proximity to the moving pancake 64 (where the action of the pancake 64 takes place). be done. This feature is advantageous because it prevents the pancake 64 from being placed incorrectly relative to the environment, which would otherwise allow the pancake 64 to be at only one anchor point close to the user. This can occur when installed against For example, if the positioning of pancake 64 is based solely on anchor point 70 , the distance between pancake 64 and anchor point 70 increases as pancake 64 moves further away from user 61 . If there is a slight error in the anchor point 70, such as incorrect positioning and/or orientation of the PCF, this will result in the pancake 64 offsetting or drifting away from its intended position. The magnitude of drifting increases as pancake 64 moves further from anchor point 70 . The above technique of selecting different anchor points in close proximity to the pancake 64 to locate the pancake 64 addresses offset and drifting issues. The above features also allow multiple users at distances (e.g., greater than 5 feet, greater than 10 feet, greater than 15 feet, greater than 20 feet, etc.) to accurately interact with each other, and This is advantageous because it allows for/or interacting with the same virtual content. In gaming applications, the above techniques may allow multiple users to accurately interact with the same object even when the users are relatively far apart. For example, in a gaming application, a virtual object may be virtually passed back and forth between remote users. As used herein, the term “close proximity” means less than some predefined value (e.g., 15 feet, 12 feet, 10 feet, 8 feet, 6 feet, 4 feet, 2 feet, 1 Refers to the distance between two items that satisfies a criterion such as distance (e.g., less than feet).

仮想コンテンツのアクションに近接近する、アンカポイントに基づいて、仮想コンテンツを設置する上記の技法は、2人のユーザを伴うゲームに限定されないことに留意されたい。他の実施形態では、仮想コンテンツを設置する上記の技法は、単独ユーザのみまたは2人を上回るユーザを伴う、任意のアプリケーションに適用されてもよい(任意のゲーム用アプリケーションである場合とそうではない場合がある)。例えば、他の実施形態では、仮想コンテンツを設置する上記の技法は、ユーザが物理的環境内でユーザから離れた仮想コンテンツを設置することを可能にする、アプリケーションにおいて利用されてもよい。仮想コンテンツを設置する上記の技法は、仮想コンテンツがユーザから(例えば、5フィートを上回って、10フィートを上回って、15フィートを上回って、20フィートを上回って等)離れている場合でも、(ユーザが装着している画面を通してユーザによって視認される際)仮想コンテンツがユーザに対して仮想的に正確に設置されることを可能にするため、有利である。 Note that the above technique of placing virtual content based on anchor points in close proximity to the actions of the virtual content is not limited to games involving two users. In other embodiments, the above techniques for placing virtual content may be applied to any application with only a single user or with more than two users (whether it is any gaming application or not). sometimes). For example, in other embodiments, the above techniques for placing virtual content may be utilized in applications that allow users to place virtual content remote from them within their physical environment. The above techniques for placing virtual content work even when the virtual content is far from the user (e.g., more than 5 feet, more than 10 feet, more than 15 feet, more than 20 feet, etc.) This is advantageous because it allows the virtual content to be virtually placed accurately with respect to the user (when viewed by the user through a screen worn by the user).

図9を参照して議論されるように、処理ユニット1002は、アンカポイント情報を記憶するように構成される、非一過性媒体1040を含む。非限定的実施例として、非一過性媒体1040は、アンカポイントの位置、異なるユーザと関連付けられる、アンカポイントの異なるセット、共通アンカポイントのセット、ユーザの位置特定および/または仮想コンテンツの設置のために選択された共通アンカポイント等を記憶してもよい。非一過性媒体1040は、他の実施形態では、他の情報を記憶してもよい。いくつかの実施形態では、非一過性媒体1040は、異なる仮想コンテンツを記憶してもよく、これは、グラフィック生成器1030によって、ユーザへの提示のために読み出されてもよい。ある場合には、ある仮想コンテンツは、ゲーム用アプリケーションと関連付けられてもよい。そのような場合、ゲーム用アプリケーションが、アクティブ化されると、処理ユニット1002は、次いで、非一過性媒体1040にアクセスし、ゲーム用アプリケーションのための対応する仮想コンテンツを取得してもよい。いくつかの実施形態では、非一過性媒体はまた、ゲーム用アプリケーションおよび/またはゲーム用アプリケーションと関連付けられるパラメータを記憶してもよい。 As discussed with reference to FIG. 9, processing unit 1002 includes non-transitory media 1040 configured to store anchor point information. As non-limiting examples, non-transitory media 1040 may include locations of anchor points, different sets of anchor points associated with different users, sets of common anchor points, location of users and/or placement of virtual content. Common anchor points, etc., selected for the purpose may be stored. Non-transitory media 1040 may store other information in other embodiments. In some embodiments, non-transitory media 1040 may store different virtual content, which may be read by graphics generator 1030 for presentation to the user. In some cases, certain virtual content may be associated with a gaming application. In such cases, when the gaming application is activated, processing unit 1002 may then access non-transitory media 1040 to obtain corresponding virtual content for the gaming application. In some embodiments, the non-transitory medium may also store gaming applications and/or parameters associated with gaming applications.

加えて、本明細書に開示されるように、いくつかの実施形態では、仮想コンテンツは、軌道モデルに基づいて画面内で移動する、可動オブジェクトであってもよい。軌道モデルは、いくつかの実施形態では、非一過性媒体1040内に記憶されてもよい。いくつかの実施形態では、軌道モデルは、直線であってもよい。そのような場合、軌道モデルが、仮想オブジェクトの移動に適用されると、仮想オブジェクトは、軌道モデルの直線によって定義された直線経路内で移動するであろう。別の実施例として、軌道モデルは、仮想オブジェクトの初期速度Voおよび初期移動方向に基づき、また、仮想オブジェクトの重量に基づく、経路を定義する、放物線方程式であってもよい。したがって、異なる個別の割り当てられた重量を伴う、異なる仮想オブジェクトが、異なる放物線経路に沿って移動するであろう。 Additionally, as disclosed herein, in some embodiments the virtual content may be a movable object that moves within the screen based on the trajectory model. Trajectory models may be stored in non-transitory media 1040 in some embodiments. In some embodiments, the trajectory model may be straight. In such a case, when the trajectory model is applied to the movement of the virtual object, the virtual object will move within a straight line path defined by the straight lines of the trajectory model. As another example, the trajectory model may be a parabolic equation that defines a path based on the virtual object's initial velocity Vo and initial direction of movement, and based on the weight of the virtual object. Therefore, different virtual objects with different individual assigned weights will move along different parabolic paths.

非一過性媒体1040は、単一記憶ユニットに限定されず、統合されるか、または分離されるが、通信可能に接続される(例えば、無線で、または導線によって)かのいずれかである、複数の記憶ユニットを含んでもよい。 Non-transitory media 1040 is not limited to a single storage unit and may be either integrated or separate but communicatively connected (eg, wirelessly or by wires). , may include a plurality of storage units.

いくつかの実施形態では、仮想オブジェクトが、物理的環境を通して、仮想的に移動するにつれて、処理ユニット1002は、物理的環境内で識別された1つまたはそれを上回るオブジェクトに対する仮想オブジェクトの位置を追跡する。ある場合には、仮想オブジェクトが、物理的オブジェクトと接触する、またはそれに近接近する場合、グラフィック生成器1030は、グラフィックを生成し、仮想オブジェクトと環境内の物理的オブジェクトとの間の相互作用を示してもよい。例えば、グラフィックは、仮想オブジェクトの進行経路を変化させることによって、仮想オブジェクトが物理的オブジェクト(例えば、壁)または別の仮想オブジェクトから偏向されることを示してもよい。別の実施例として、仮想オブジェクトが、物理的オブジェクト(例えば、壁)または別の仮想オブジェクトと接触する、またはそれに近接近する場合、グラフィック生成器1030は、仮想オブジェクトが物理的オブジェクトまたは他の仮想オブジェクトに接触する場所と空間的に関連付けて、相互作用画像を設置してもよい。相互作用画像は、壁に、亀裂が入った、凹みができた、傷が付いた、汚れが付いたこと等を示してもよい。 In some embodiments, as the virtual object moves virtually through the physical environment, the processing unit 1002 tracks the position of the virtual object relative to one or more objects identified within the physical environment. do. In some cases, when a virtual object contacts or comes in close proximity to a physical object, the graphics generator 1030 generates graphics to illustrate interactions between the virtual object and physical objects in the environment. can be shown. For example, a graphic may indicate that a virtual object is deflected from a physical object (eg, wall) or another virtual object by changing the path of travel of the virtual object. As another example, when a virtual object contacts or comes in close proximity to a physical object (eg, wall) or another virtual object, the graphics generator 1030 determines whether the virtual object is a physical object or other virtual object. An interaction image may be placed in spatial association with where the object is touched. The interactive image may show that the wall is cracked, dented, scratched, soiled, and the like.

いくつかの実施形態では、異なる相互作用画像は、非一過性媒体1040内に記憶されてもよく、および/または処理ユニット1002と通信する、サーバ内に記憶されてもよい。相互作用画像は、2つのオブジェクトの相互作用に関連する、1つまたはそれを上回る属性と関連付けて記憶されてもよい。例えば、皺の画像が、属性「毛布」と関連付けて記憶されてもよい。そのような場合、仮想オブジェクトが、「毛布」と識別され得る、物理的オブジェクト上に支持されているように表示される場合、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通して視認される際、仮想オブジェクトが、毛布の上部に着座することによって、毛布に皺が寄って現れるように、仮想オブジェクトと物理的オブジェクトとの間の皺の画像を表示してもよい。 In some embodiments, different interaction images may be stored in non-transitory media 1040 and/or in a server in communication with processing unit 1002 . Interaction images may be stored in association with one or more attributes associated with the interaction of two objects. For example, an image of wrinkles may be stored in association with the attribute "blanket". In such cases, if the virtual object is displayed as being supported on a physical object, which may be identified as a "blanket," the graphics generator 1030 may , an image of wrinkles between the virtual object and the physical object may be displayed such that the virtual object sits on top of the blanket so that the blanket appears wrinkled.

1つまたはそれを上回るアンカポイントに基づいて、物理的環境に対して仮想的に表示され得る、仮想コンテンツは、説明された実施例に限定されず、仮想コンテンツは、他のアイテムであってもよいことに留意されたい。また、本明細書で使用されるように、用語「仮想コンテンツ」は、仮想化された物理的アイテムに限定されず、仮想化されたエネルギー(例えば、レーザビーム、音波、エネルギー波、熱等)等の任意のアイテムの仮想化を指し得る。用語「仮想コンテンツ」はまた、テキスト、シンボル、漫画、アニメーション等の任意のコンテンツを指し得る。 The virtual content, which can be displayed virtually relative to the physical environment based on one or more anchor points, is not limited to the described examples; virtual content can be other items as well. Good thing to note. Also, as used herein, the term "virtual content" is not limited to virtualized physical items, but virtualized energy (e.g., laser beams, sound waves, energy waves, heat, etc.) can refer to the virtualization of any item such as The term "virtual content" can also refer to any content such as text, symbols, cartoons, animations, and the like.

タスクアシスタント task assistant

図9に示されるように、処理ユニット1002はまた、タスクアシスタント1060を含む。処理ユニット1002のタスクアシスタント1060は、1つまたはそれを上回るセンサ入力に基づいて、1つまたはそれを上回るセンサ情報を受信し、画像ディスプレイデバイスのユーザが仮想コンテンツを伴う目的を遂行することを補助するように構成される。例えば、いくつかの実施形態では、1つまたはそれを上回るセンサ入力は、ユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示してもよい。いくつかの実施形態では、処理ユニット1002は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することによって、ユーザが目的を遂行することを補助するように構成される。代替として、または加えて、処理ユニット1002は、仮想コンテンツと別の要素との間の距離を徐々に低減させることによって、ユーザが目的を遂行することを補助するように構成されてもよい。実施例として図5A-5Lを参照して説明される、上記のパンケーキ投げゲームを使用すると、処理ユニット1002は、ユーザが、たった今生じたコントローラ4の移動に基づいて、コントローラ4の現在の方向および速度に基づいて、および/またはパンケーキ64の軌道に基づいて、パンケーキ64をキャッチするように試みていることを検出し得る。そのような場合、タスクアシスタント1060は、パンケーキ64がフライパン62に向かってより近づくように、パンケーキ64を決定された軌道から離れるように移動させることにより、パンケーキ64に関して決定された軌道から逸脱させること等によって、パンケーキ64とフライパン62との間の距離を徐々に減少させてもよい。代替として、タスクアシスタント1060は、離散的に、パンケーキ64のサイズを増加させ(すなわち、算出上であって、グラフィック的ではなく)、および/またはフライパン62のサイズを増加させ(すなわち、算出上であって、グラフィック的ではなく)、それによって、ユーザが、パンケーキ64をフライパン62でより容易にキャッチすることを可能にしてもよい。 As shown in FIG. 9, processing unit 1002 also includes task assistant 1060 . Task assistant 1060 of processing unit 1002 receives the one or more sensor information based on the one or more sensor inputs to assist the user of the image display device in accomplishing objectives with virtual content. configured to For example, in some embodiments, one or more sensor inputs may indicate a user's eye gaze direction, upper extremity kinematics, body position, body orientation, or any combination of the foregoing. In some embodiments, processing unit 1002 is configured to assist a user in accomplishing objectives by applying one or more limits on the position and/or angular velocity of system components. Alternatively or additionally, the processing unit 1002 may be configured to assist the user in accomplishing an objective by gradually reducing the distance between the virtual content and another element. Using the above pancake tossing game, described with reference to FIGS. and based on the velocity and/or based on the trajectory of the pancake 64 it may detect an attempt to catch the pancake 64 . In such a case, task assistant 1060 moves pancake 64 away from the determined trajectory by moving pancake 64 away from the determined trajectory so that pancake 64 is closer toward frying pan 62 . The distance between the pancake 64 and the frying pan 62 may be gradually reduced, such as by deviating. Alternatively, task assistant 1060 may discretely increase the size of pancake 64 (i.e., calculated and not graphically) and/or increase the size of frying pan 62 (i.e., calculated , and not graphically), thereby allowing the user to catch the pancake 64 with the frying pan 62 more easily.

いくつかの実施形態では、ユーザが仮想コンテンツを伴うタスクを遂行することを補助することは、基準の充足に応答して実施されてもよい。例えば、本明細書に説明される、パンケーキキャッチゲームを使用すると、いくつかの実施形態では、処理ユニット1002は、移動するパンケーキ64の軌道およびコントローラ4の移動軌道に基づいて、ユーザがパンケーキ64をキャッチする状態に近づくであろう(例えば、5インチ、3インチ、1インチ等の距離閾値以内であろう)かどうかを決定(例えば、予測)するように構成されてもよい。該当する場合、タスクアシスタント1060は、パンケーキ64がフライパン62によってキャッチされることを示す、グラフィックを出力するように、グラフィック生成器1030を制御するであろう。他方では、処理ユニット1002が、ユーザがパンケーキ64をフライパン62でキャッチする状態に近づかないであろうことを決定(例えば、予測)する場合、タスクアシスタント1060は、ユーザがタスクを遂行することを支援ための任意のアクションを行わないであろう。 In some embodiments, assisting a user in accomplishing a task involving virtual content may be performed in response to the satisfaction of criteria. For example, using the pancake catch game described herein, in some embodiments, the processing unit 1002 determines whether the user pans based on the trajectory of the moving pancake 64 and the movement trajectory of the controller 4 . It may be configured to determine (eg, predict) whether it will be close to catching the cake 64 (eg, within a distance threshold of 5 inches, 3 inches, 1 inch, etc.). If applicable, task assistant 1060 will control graphics generator 1030 to output a graphic showing pancake 64 being caught by frying pan 62 . On the other hand, if processing unit 1002 determines (eg, predicts) that the user will not be close to catching pancakes 64 in skillet 62, task assistant 1060 prompts the user to perform the task. would not take any action for assistance.

タスクアシスタント1060がユーザが遂行することを支援し得る、タスクは、飛んでいる仮想オブジェクトをキャッチする実施例に限定されないことに留意されたい。他の実施形態では、タスクアシスタント1060は、処理ユニット1002が、タスクが遂行される状態に非常に近づくであろう(例えば、80%、85%、90%、95%等を上回って)ことを決定(例えば、予測)する場合、ユーザが他のタスクを遂行することを支援し得る。例えば、他の実施形態では、タスクは、ユーザが、別のユーザに対して、開口部(例えば、バスケットボールフープ)を通して、オブジェクト(例えば、射撃場の標的)に対して等、仮想オブジェクトを目的地に投げる、または撃つことを伴ってもよい。 Note that the tasks that the task assistant 1060 may assist the user to accomplish are not limited to the example of catching flying virtual objects. In other embodiments, task assistant 1060 indicates that processing unit 1002 will be very close to a state where the task will be accomplished (eg, greater than 80%, 85%, 90%, 95%, etc.). When making decisions (eg, predictions), it may assist the user in accomplishing other tasks. For example, in other embodiments, the task involves a user pointing a virtual object to another user, through an opening (e.g., a basketball hoop), to an object (e.g., a shooting range target), etc. may involve throwing or shooting at

他の実施形態では、タスクアシスタント1060は、随意であって、処理ユニット1002は、タスクアシスタント1060を含まない。 In other embodiments, task assistant 1060 is optional and processing unit 1002 does not include task assistant 1060 .

処理ユニットおよび/または処理ユニット内のアプリケーションによって実施される方法 A method performed by a processing unit and/or an application within the processing unit

図10は、いくつかの実施形態による、方法1100を図示する。方法1100は、仮想または拡張環境内で、仮想コンテンツを提供するように構成される、装置によって実施されてもよい。また、いくつかの実施形態では、方法1100は、その中で第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが、相互に相互作用し得る、仮想または拡張現実環境内で、仮想コンテンツを提供するように構成される、装置によって実施されてもよい。各画像ディスプレイデバイスは、いくつかの実施形態では、画像ディスプレイデバイス2であってもよい。いくつかの実施形態では、方法1100は、本明細書に説明される、画像ディスプレイデバイスのいずれかによって、または複数の画像ディスプレイデバイスによって実施されてもよい。また、いくつかの実施形態では、方法1100の少なくとも一部は、処理ユニット1002によって、または複数の処理ユニット(例えば、個別の画像ディスプレイデバイス内の処理ユニット)によって実施されてもよい。さらに、いくつかの実施形態では、方法1100は、サーバ、または個別のユーザによって装着される画像ディスプレイデバイスと別個である、装置によって実施されてもよい。 FIG. 10 illustrates method 1100, according to some embodiments. Method 1100 may be performed by a device configured to provide virtual content within a virtual or augmented environment. Also, in some embodiments, the method 1100 allows a first user wearing a first display screen and a second user wearing a second display screen to interact with each other. It may be implemented by a device configured to provide virtual content within a virtual or augmented reality environment that can interact with. Each image display device may be image display device 2 in some embodiments. In some embodiments, method 1100 may be performed by any of the image display devices or by multiple image display devices described herein. Also, in some embodiments, at least a portion of method 1100 may be performed by processing unit 1002 or by multiple processing units (eg, processing units within separate image display devices). Further, in some embodiments, method 1100 may be performed by an apparatus that is separate from a server or image display device worn by an individual user.

図10に示されるように、方法1100は、第1のユーザの第1の位置を取得すること(アイテム1102)と、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定すること(アイテム1104)と、第2のユーザの第2の位置を取得すること(アイテム1106)と、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定すること(アイテム1108)と、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定すること(アイテム1110)と、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供すること(アイテム1112)とを含む。 As shown in FIG. 10, a method 1100 includes obtaining a first location of a first user (item 1102), and based on the first location of the first user, one or more determining a first set of anchor points (item 1104); obtaining a second location of the second user (item 1106); Determining a second set of one or more anchor points (item 1108) and determining one or more common anchor points within both the first set and the second set. (item 1110) and providing virtual content for experience by the first user and/or the second user based on at least one of the one or more common anchor points (item 1112 ) and

随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、共通アンカポイントのサブセットを複数の共通アンカポイントから選択することを含む。 Optionally, in method 1100, the one or more common anchor points comprises a plurality of common anchor points, and the method further comprises selecting a subset of common anchor points from the plurality of common anchor points.

随意に、方法1100では、共通アンカポイントのサブセットは、第1のユーザおよび第2のユーザの相互に対する位置特定誤差を低減させるように選択される。 Optionally, in method 1100, the subset of common anchor points is selected to reduce localization error of the first user and the second user with respect to each other.

随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える。 Optionally, in method 1100, the one or more common anchor points comprises a single common anchor point.

随意に、方法1100はさらに、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、仮想コンテンツに関する位置および/または配向を決定することを含む。 Optionally, method 1100 further includes determining a position and/or orientation for the virtual content based on at least one of the one or more common anchor points.

随意に、方法1100では、第1のセット内の1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である。 Optionally, in method 1100 each of the one or more anchor points in the first set is a point in a Persistent Coordinate Frame (PCF).

随意に、方法1100では、仮想コンテンツは、表示のために、可動仮想オブジェクトとして、第1のディスプレイ画面および/または第2のディスプレイ画面内に提供される。 Optionally, in method 1100, the virtual content is provided as movable virtual objects within the first display screen and/or the second display screen for display.

随意に、方法1100では、仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、仮想オブジェクトが第1のユーザと第2のユーザとの間の空間内を移動しているように現れるように提供される。 Optionally, in method 1100, the virtual object appears for display within the first display screen as if the virtual object were moving in space between the first user and the second user. provided as follows.

随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、第1の共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、第2の共通アンカポイントに基づく。 Optionally, in method 1100, the one or more common anchor points comprises a first common anchor point and a second common anchor point, and the moveable virtual object is displayed on the first display for display. A movable virtual object is provided within the screen having a first object position relative to the first display screen and a second object position relative to the first display screen, the first object position of the movable virtual object is based on the first common anchor point and the second object position of the movable virtual object is based on the second common anchor point.

随意に、方法1100はさらに、仮想オブジェクトのアクションが生じる場所に基づいて、仮想オブジェクトを第1のオブジェクト位置に設置するための第1の共通アンカポイントを選択することを含む。 Optionally, method 1100 further includes selecting a first common anchor point for placing the virtual object at the first object position based on where the action of the virtual object occurs.

随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、単一共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、単一共通アンカポイントに基づく。 Optionally, in method 1100, the one or more common anchor points comprises a single common anchor point, the movable virtual object is placed in a first display screen for display, and the movable virtual object is placed in a second display screen for display. a first object position relative to one display screen and a second object position relative to the first display screen, the first object position of the movable virtual object being based on a single common anchor point; A second object position of the movable virtual object is based on the single common anchor point.

随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、仮想コンテンツを第1のディスプレイ画面内に設置するための共通アンカポイントのうちの1つを選択することを含む。 Optionally, in method 1100, the one or more common anchor points comprises a plurality of common anchor points, the method further comprising: , including selecting one of

随意に、方法1100では、選択する行為は、仮想コンテンツのアクションに最も近いかまたは仮想コンテンツのアクションから距離閾値内にある、共通アンカポイントのうちの1つを選択することを含む。 Optionally, in method 1100, the act of selecting includes selecting one of the common anchor points closest to the action of the virtual content or within a distance threshold from the action of the virtual content.

随意に、方法1100では、仮想コンテンツの位置および/または移動は、第1のユーザの第1のハンドヘルドデバイスによって、制御可能である。 Optionally, in method 1100 the position and/or movement of the virtual content can be controlled by the first user's first handheld device.

随意に、方法1100では、仮想コンテンツの位置および/または移動はまた、第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である。 Optionally, in method 1100 the position and/or movement of the virtual content can also be controlled by the second user's second handheld device.

随意に、方法1100はさらに、1つまたはそれを上回る共通アンカポイントに基づいて、第1のユーザおよび第2のユーザを同一マッピング情報に対して位置特定することを含む。 Optionally, method 1100 further includes localizing the first user and the second user to the same mapping information based on one or more common anchor points.

随意に、方法1100はさらに、仮想コンテンツが第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるように、第1のディスプレイ画面によって、仮想コンテンツを表示することを含む。 Optionally, method 1100 further includes displaying the virtual content with the first display screen such that the virtual content appears in a spatial relationship to physical objects in the first user's surroundings.

随意に、方法1100はさらに、1つまたはそれを上回るセンサ入力を取得することと、1つまたはそれを上回るセンサ入力に基づいて、第1のユーザが仮想コンテンツを伴う目的を遂行することを補助することとを含む。 Optionally, method 1100 further includes obtaining one or more sensor inputs and assisting the first user in accomplishing a goal with the virtual content based on the one or more sensor inputs. including doing.

随意に、方法1100では、1つまたはそれを上回るセンサ入力は、第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す。 Optionally, in method 1100, the one or more sensor inputs are indicative of the first user's eye gaze direction, arm kinematics, body position, body orientation, or any combination of the foregoing.

随意に、方法1100では、第1のユーザが目的を遂行することを補助する行為は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することを含む。 Optionally, in method 1100, the act of assisting the first user to accomplish a goal includes applying one or more limits on position and/or angular velocity of system components.

随意に、方法1100では、第1のユーザが目的を遂行することを補助する行為は、仮想コンテンツと別の要素との間の距離を徐々に低減させることを含む。 Optionally, in method 1100, the act of helping the first user accomplish an objective includes gradually reducing the distance between the virtual content and another element.

随意に、方法1100では、装置は、第1のディスプレイ画面と通信する、第1の処理部分と、第2のディスプレイ画面と通信する、第2の処理部分とを備える。 Optionally, in method 1100, the apparatus comprises a first processing portion in communication with the first display screen and a second processing portion in communication with the second display screen.

いくつかの実施形態では、方法1100は、処理ユニットが非一過性媒体内に記憶される命令を実行することに応答して、実施されてもよい。故に、いくつかの実施形態では、非一過性媒体は、記憶される命令を含み、処理ユニットによるその実行は、ある方法が実施されることを引き起こす。処理ユニットは、その中で第1のユーザおよび第2のユーザが相互に相互作用し得る、仮想または拡張現実環境内で、仮想コンテンツを提供するように構成される、装置の一部であってもよい。方法(処理ユニットが命令を実行することによって実施されることが引き起こされる)は、第1のユーザの第1の位置を取得することと、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、第2のユーザの第2の位置を取得することと、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定ことと、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供することとを含む。 In some embodiments, method 1100 may be performed in response to a processing unit executing instructions stored in a non-transitory medium. Thus, in some embodiments, a non-transitory medium includes stored instructions, execution of which by a processing unit causes a method to be performed. The processing unit is part of a device configured to provide virtual content within a virtual or augmented reality environment in which the first user and the second user can interact with each other. good too. A method (which is caused to be performed by a processing unit executing instructions) includes obtaining a first location of a first user; determining a first set of one or more anchor points; obtaining a second location of the second user; and based on the second location of the second user, one or more determining one or more common anchor points that are within both the first set and the second set; determining one or more common anchor points that are in both the first set and the second set; providing virtual content for experience by the first user and/or the second user based on at least one of the common anchor points.

特殊処理システム Special treatment system

いくつかの実施形態では、本明細書に説明される方法1100は、アプリケーションを実行するシステム1(例えば、処理ユニット1002)によって、またはアプリケーションによって、実施されてもよい。アプリケーションは、命令のセットを含有してもよい。1つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。システム1の処理ユニット1102による命令の実行は、処理ユニット1102および/または画像ディスプレイデバイス2に、本明細書に説明される特徴を実施させるであろう。例えば、いくつかの実施形態では、処理ユニット1102による命令の実行は、方法1100を実施させるであろう。 In some embodiments, the method 1100 described herein may be performed by system 1 (eg, processing unit 1002) executing an application or by the application. An application may contain a set of instructions. In one implementation, a specialized processing system may be provided having a non-transitory medium that stores a set of instructions for an application. Execution of the instructions by processing unit 1102 of system 1 will cause processing unit 1102 and/or image display device 2 to implement the features described herein. For example, execution of instructions by processing unit 1102 will cause method 1100 to be performed in some embodiments.

いくつかの実施形態では、システム1、画像ディスプレイデバイス2、または装置7はまた、特殊処理システムと見なされ得る。特に、システム1、画像ディスプレイデバイス2、または装置7は、一意の有形効果を実世界内で提供するための処理ユニット1102による実行のために、その非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス2によって提供される特徴(処理ユニット1102が命令を実行する結果として)は、拡張現実および仮想現実の技術分野内における改良を提供する。 In some embodiments, system 1, image display device 2, or apparatus 7 may also be considered a specialized processing system. In particular, system 1, image display device 2, or apparatus 7 executes instructions stored in its non-transitory medium for execution by processing unit 1102 to provide unique tangible effects in the real world. It is a special processing system in that it contains The features provided by the image display device 2 (as a result of the execution of instructions by the processing unit 1102) provide improvements within the art of augmented reality and virtual reality.

図11は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム1600の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム1600は、システム1の少なくとも一部、例えば、画像ディスプレイデバイス2、処理ユニット1002等を実装するために使用されてもよい。また、いくつかの実施形態では、処理システム1600は、処理ユニット1102またはその中の1つまたはそれを上回るコンポーネント(例えば、ポジショナ1020、グラフィック生成器1030等)を実装するために使用されてもよい。 FIG. 11 is a block diagram illustrating an embodiment of a specialized processing system 1600 that can be used to implement various features described herein. For example, in some embodiments, processing system 1600 may be used to implement at least a portion of system 1, such as image display device 2, processing unit 1002, and the like. Also, in some embodiments, processing system 1600 may be used to implement processing unit 1102 or one or more components therein (eg, positioner 1020, graphics generator 1030, etc.). .

処理システム1600は、バス1602または情報を通信するための他の通信機構と、情報を処理するためにバス1602と結合される、プロセッサ1604とを含む。プロセッサシステム1600はまた、情報およびプロセッサ1604によって実行されるべき命令を記憶するためにバス1602に結合される、ランダムアクセスメモリ(RAM)または他の動的記憶デバイス等のメインメモリ1606を含む。メインメモリ1606はまた、プロセッサ1604によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム1600はさらに、静的情報およびプロセッサ1604のための命令を記憶するためにバス1602に結合される、読取専用メモリ(ROM)1608または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス1610が、提供され、情報および命令を記憶するためにバス1602に結合される。 Processing system 1600 includes a bus 1602 or other communication mechanism for communicating information, and a processor 1604 coupled with bus 1602 for processing information. Processor system 1600 also includes main memory 1606 , such as random access memory (RAM) or other dynamic storage device, coupled to bus 1602 for storing information and instructions to be executed by processor 1604 . Main memory 1606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1604 . Processor system 1600 also includes a read only memory (ROM) 1608 or other static storage device coupled to bus 1602 for storing static information and instructions for processor 1604 . A data storage device 1610, such as a magnetic disk, solid state disk, or optical disk, is provided and coupled to bus 1602 for storing information and instructions.

プロセッサシステム1600は、情報をユーザに表示するために、バス1602を介して、画面等のディスプレイ1612に結合されてもよい。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ1612は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス1614が、情報およびコマンド選択をプロセッサ1604に通信するために、バス1602に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ1604に通信するための、かつディスプレイ1612上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御1616である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有する。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、入力デバイス1614およびカーソル制御は、タッチスクリーンであってもよい。 Processor system 1600 may be coupled via bus 1602 to a display 1612, such as a screen, for displaying information to a user. In some cases, display 1612 may be a touch screen when processing system 1600 is part of a device that includes a touch screen. An input device 1614 , including alphanumeric and other keys, is coupled to bus 1602 for communicating information and command selections to processor 1604 . Another type of user input device is a cursor control 1616 , such as a mouse, trackball, or cursor direction keys for communicating direction information and command selections to processor 1604 and for controlling cursor movement on display 1612 . is. The input device typically has two axes, a first axis (e.g. x) and a second axis (e.g. y) that allow the device to define a position in a plane. has two degrees of freedom in In some cases, if processing system 1600 is part of a device that includes a touch screen, input device 1614 and cursor control may be the touch screen.

いくつかの実施形態では、プロセッサシステム1600は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ1604がメインメモリ1606内に含有される1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスを実行することに応答して、プロセッサシステム1600によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス1610等の別のプロセッサ可読媒体からメインメモリ1606の中に読み込まれてもよい。メインメモリ1606内に含有される命令のシーケンスの実行は、プロセッサ1604に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における1つまたはそれを上回るプロセッサもまた、メインメモリ1606内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。 In some embodiments, processor system 1600 can be used to perform various functions described herein. According to some embodiments, such use may be performed by the processor 1604 in response to executing one or more sequences of one or more instructions contained within main memory 1606 . Provided by system 1600 . Those skilled in the art will know how to prepare such instructions based on the functions and methods described herein. Such instructions may be read into main memory 1606 from another processor-readable medium, such as storage device 1610 . Execution of the sequences of instructions contained in main memory 1606 causes processor 1604 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained within main memory 1606 . In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement various embodiments described herein. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.

用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ1604に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1610等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ1606等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス1602を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。 The term "processor-readable medium," as used herein, refers to any medium that participates in providing instructions to processor 1604 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, solid state, or magnetic disks, such as storage device 1610 . Non-volatile media may be considered an example of non-transitory media. Volatile media includes dynamic memory, such as main memory 1606 . A volatile medium may be considered an example of a non-transitory medium. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1602 . Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、およびEPROM、FLASH-EPROM、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。 Common forms of processor-readable media include, for example, a floppy disk, hard disk, magnetic tape, or any other magnetic medium, CD-ROM, any other optical medium, any other physical medium with a pattern of holes. , RAM, PROM and EPROM, FLASH-EPROM, solid-state disks, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a processor can read.

種々の形態のプロセッサ可読媒体が、実行のために、1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスをプロセッサ1604に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム1600は、ネットワークラインに関するデータを受信することができる。バス1602は、データをメインメモリ1606に搬送し、そこから、プロセッサ1604は、命令を読み出し、実行する。メインメモリ1606によって受信された命令は、随意に、プロセッサ1604による実行の前または後のいずれかにおいて、記憶デバイス1610上に記憶され得る。 Various forms of processor readable media may be involved in carrying one or more sequences of one or more instructions to processor 1604 for execution. For example, the instructions may initially be carried on a magnetic or solid state disk of the remote computer. A remote computer can load the instructions into its dynamic memory and send the instructions over a network such as the Internet. Processing system 1600 can receive data about network lines. Bus 1602 carries the data to main memory 1606, from which processor 1604 retrieves and executes the instructions. The instructions received by main memory 1606 may optionally be stored on storage device 1610 either before or after execution by processor 1604 .

処理システム1600はまた、バス1602に結合される、通信インターフェース1618を含む。通信インターフェース1618は、ローカルネットワーク1622に接続される、ネットワークリンク1620への双方向データ通信結合を提供する。例えば、通信インターフェース1618は、データ通信接続を互換性があるLANに提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース1618は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。 Processing system 1600 also includes a communication interface 1618 coupled to bus 1602 . Communications interface 1618 provides bi-directional data communications coupling to network link 1620 , which is connected to local network 1622 . For example, communication interface 1618 may be a local area network (LAN) card for providing data communication connections to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 1618 sends and receives electrical, electromagnetic or optical signals that carry data streams representing various types of information.

ネットワークリンク1620は、典型的には、1つまたはそれを上回るネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク1620は、ローカルネットワーク1622を通して、接続をホストコンピュータ1624または機器1626に提供してもよい。ネットワークリンク1620を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、およびネットワークリンク1620上、および処理システム1600におよびそこからデータを搬送する、通信インターフェース1618を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム1600は、ネットワーク、ネットワークリンク1620、および通信インターフェース1618を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。 Network link 1620 typically provides data communication through one or more networks to other devices. For example, network link 1620 may provide connectivity through local network 1622 to a host computer 1624 or device 1626 . Data streams transported over network link 1620 may include electrical, electromagnetic or optical signals. The signals through the various networks and the signals on network link 1620 and through communication interface 1618, which carry the data to and from processing system 1600, are exemplary forms of carrier waves transporting the information. Processing system 1600 can send messages and receive data, including program code, through the network(s), network link 1620 and communication interface 1618 .

用語「画像」は、本明細書で使用されるように、表示される画像および/または表示形態ではない画像(例えば、媒体内に記憶されている、または処理中の画像または画像データ)を指し得ることに留意されたい。 The term "image", as used herein, refers to an image that is displayed and/or is not in display form (e.g., an image or image data stored in media or being processed). Note that we get

また、本明細書で使用されるように、仮想コンテンツの用語「アクション」は、移動する、仮想コンテンツに限定されず、移動されることが可能である、定常仮想コンテンツも指し得る(例えば、ポインタを使用して、ユーザによって「ドラッグ」され得る、またはされている、仮想コンテンツ)、またはその上またはその傍でアクションが実施され得る、任意の仮想コンテンツも指し得る。 Also, as used herein, the term “action” for virtual content is not limited to virtual content that moves, but can also refer to stationary virtual content that can be moved (e.g., a pointer can also refer to any virtual content that can be or is being “dragged” by a user using , or an action can be performed on or near it.

種々の例示的実施形態が、本明細書に説明される。これらの実施例は、非限定的意味で参照される。それらは、本発明のより広く適用可能な側面を例証するために提供される。種々の変更が、説明される実施形態に行われてもよく、本発明の真の精神および範囲から逸脱することなく、均等物が代用されてもよい。加えて、多くの修正が、特定の状況、材料、組成物、プロセス、プロセス作用、またはステップを本発明の目的、精神、または範囲に適合させるために行われてもよい。さらに、当業者によって理解されるであろうように、本明細書で説明および例証される個々の変形例のそれぞれは、本発明の範囲または精神から逸脱することなく、他のいくつかの実施形態のうちのいずれかの特徴から容易に分離される、またはそれらと組み合わせられる、離散コンポーネントおよび特徴を有する。全てのそのような修正は、本開示と関連付けられる請求項に記載の範囲内であることが意図される。 Various exemplary embodiments are described herein. Reference is made to these examples in a non-limiting sense. They are provided to illustrate the more broadly applicable aspects of the invention. Various changes may be made to the described embodiments and equivalents may be substituted without departing from the true spirit and scope of the invention. In addition, many modifications may be made to adapt a particular situation, material, composition of matter, process, process action or step to the objective, spirit or scope of the present invention. Moreover, as will be appreciated by those skilled in the art, each of the individual variations described and illustrated herein may be used in some other embodiments without departing from the scope or spirit of the invention. has discrete components and features that are easily separated from or combined with features of any of All such modifications are intended to be within the scope of the claims associated with this disclosure.

本実施形態は、本主題のデバイスを使用して実施され得る方法を含む。本方法は、そのような好適なデバイスを提供する行為を備えてもよい。そのような提供は、エンドユーザによって実施されてもよい。換言すると、「提供する」行為は、単に、エンドユーザが、本主題の方法において必要なデバイスを取得する、それにアクセスする、それに接近する、それを位置付ける、それを設定する、それを活性化する、それに電源を入れる、または別様にそれを提供するように作用することを要求する。本明細書に列挙される方法は、論理的に可能な列挙されたイベントの任意の順序およびイベントの列挙された順序で行われてもよい。 The embodiments include methods that can be performed using the devices of the present subject matter. The method may comprise an act of providing such suitable device. Such offerings may be performed by end users. In other words, the act of "providing" simply means that the end user acquires, accesses, approaches, locates, configures, activates the device required in the subject method. , power it on, or otherwise act to provide it. Methods recited herein may be performed in any order of the recited events that is logically possible and in the recited order of events.

そのような排他的専門用語を使用しなければ、本発明と関連付けられる請求項における用語「~を備える(comprising)」は、所与の数の要素が請求項で列挙されるかどうかにかかわらず、任意の付加的要素の包含を可能にするものとする、または特徴の追加は、そのような請求項に記載される要素の性質を変換すると見なされ得る。本明細書で具体的に定義される場合を除いて、本明細書で使用される全ての技術および科学用語は、請求項の正当性を維持しながら、可能な限り広い一般的に理解されている意味を与えられるべきである。 Unless such exclusive terminology is used, the term "comprising" in a claim associated with the present invention is used regardless of whether a given number of elements are recited in the claim. , shall allow for the inclusion of any additional elements, or addition of features may be viewed as transforming the nature of such claimed elements. Unless specifically defined herein, all technical and scientific terms used herein are to be understood in the broadest possible manner while maintaining legitimacy of the claims. should be given some meaning.

本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載されている。本開示の他の詳細に関して、これらは、上記で参照された特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことが、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。 Illustrative aspects of the disclosure are described above, along with details regarding material selection and manufacturing. As to other details of the present disclosure, these may be understood in connection with the above-referenced patents and publications and generally known or appreciated by those of ordinary skill in the art. The same may be true with respect to the method-based aspects of this disclosure in terms of additional acts as commonly or logically employed.

加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されているが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)が、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。 Additionally, while the disclosure has optionally been described with reference to several embodiments incorporating various features, the disclosure is described or illustrated as being considered with respect to each variation of the disclosure. is not limited to Various changes may be made to the disclosure as described and equivalents (whether recited herein or not included for purposes of some brevity) may be incorporated into the disclosure. may be substituted without departing from the true spirit and scope of Additionally, when a range of values is provided, all intervening values between the upper and lower limits of that range and any other stated or intervening value within a stated range are included within this disclosure. should be understood to be included.

また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つまたはそれを上回るものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられる請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。 Also, any optional feature of the described variations of the invention may be described and claimed independently or in combination with any one or more of the features described herein. It is considered possible. Reference to an item in the singular includes the possibility that there are pluralities of the same item present. More specifically, as used in this specification and the claims associated herewith, the singular forms "a," "an," "said," and "the" are not otherwise specified. Including plural references unless stated otherwise. It is further noted that any claim may be drafted to exclude any optional element. Accordingly, the text does not use exclusive terminology such as "merely," "only," and equivalents in connection with the recitation of claim elements, or as antecedents for the use of "negative" limitations. intended to play a role.

加えて、本明細書で使用されるように、項目のリスト「~のうちの少なくとも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つがそれぞれ存在するように要求することを示唆することを意図するものではない。 Additionally, as used herein, a phrase referring to “at least one of” a list of items refers to one item or any combination of items, including single elements. As an example, "at least one of A, B, or C" encompasses A, B, C, A and B, A and C, B and C, and A, B, and C is intended. Conjunctive sentences, such as the phrase "at least one of X, Y, and Z," generally refer to at least one of X, Y, or Z, unless specifically stated otherwise. understood differently in contexts such as those used to convey that a Thus, such conjunctions generally imply that certain embodiments require that at least one of X, at least one of Y, and at least one of Z each be present. is not intended to

本開示の範疇は、提供される実施例および/または本明細書に限定されるべきではなく、むしろ、本開示と関連付けられる請求項の用語の範囲のみによって限定されるべきである。 The scope of this disclosure should not be limited to the examples and/or the specification provided, but rather should be limited only by the scope of the claim terms associated with this disclosure.

前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。 In the foregoing specification, the disclosure has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of this disclosure. For example, the foregoing process flows are described with reference to a specific order of process actions. However, the order of many of the process actions described may be changed without affecting the scope or operation of the present disclosure. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (45)

環境内で、仮想コンテンツを提供するための装置であって、前記環境内で、第1のユーザおよび第2のユーザが相互に相互作用し得、前記装置は、
通信インターフェースであって、前記通信インターフェースは、前記第1のユーザによって装着される第1のディスプレイ画面および/または前記第2のユーザによって装着される第2のディスプレイ画面と通信するように構成される、通信インターフェースと、
処理ユニットであって、前記処理ユニットは、
前記第1のユーザの第1の位置を取得することと、
前記第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、
前記第2のユーザの第2の位置を取得することと、
前記第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、
前記第1のセットおよび前記第2のセットの両方内にある1つまたはそれを上回る共通アンカポイントを決定することと、
前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記第1のユーザおよび/または前記第2のユーザによる体験のための前記仮想コンテンツを提供することと
を行うように構成される、処理ユニットと
を備える、装置。
An apparatus for providing virtual content within an environment, wherein a first user and a second user may interact within the environment, the apparatus comprising:
A communication interface, said communication interface configured to communicate with a first display screen worn by said first user and/or a second display screen worn by said second user. , a communication interface, and
A processing unit, the processing unit comprising:
obtaining a first location of the first user;
determining a first set of one or more anchor points based on a first location of the first user;
obtaining a second location of the second user;
determining a second set of one or more anchor points based on a second location of the second user;
determining one or more common anchor points within both the first set and the second set;
providing the virtual content for experience by the first user and/or the second user based on at least one of the one or more common anchor points. An apparatus comprising: a processing unit;
前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記処理ユニットは、共通アンカポイントのサブセットを前記複数の共通アンカポイントから選択するように構成される、請求項1に記載の装置。 2. The method of claim 1, wherein the one or more common anchor points comprise a plurality of common anchor points, and wherein the processing unit is configured to select a subset of common anchor points from the plurality of common anchor points. Apparatus as described. 前記処理ユニットは、前記共通アンカポイントのサブセットを選択し、前記第1のユーザおよび前記第2のユーザの相互に対する位置特定誤差を低減させるように構成される、請求項2に記載の装置。 3. The apparatus of claim 2, wherein the processing unit is configured to select the subset of common anchor points to reduce localization errors of the first user and the second user with respect to each other. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える、請求項1に記載の装置。 2. The apparatus of claim 1, wherein the one or more common anchor points comprise a single common anchor point. 前記処理ユニットは、前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記仮想コンテンツを位置付ける、および/または配向するように構成される、請求項1に記載の装置。 2. The apparatus of claim 1, wherein the processing unit is configured to position and/or orient the virtual content based on at least one of the one or more common anchor points. 前記第1のセット内の前記1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である、請求項1に記載の装置。 2. The apparatus of claim 1, wherein each of said one or more anchor points in said first set is a point in a Persistent Coordinate Frame (PCF). 前記処理ユニットは、前記仮想コンテンツを、表示のために、前記第1のディスプレイ画面および/または前記第2のディスプレイ画面内に、可動仮想オブジェクトとして提供するように構成される、請求項1に記載の装置。 2. The processing unit of claim 1, wherein the processing unit is configured to provide the virtual content as a movable virtual object within the first display screen and/or the second display screen for display. equipment. 前記処理ユニットは、前記仮想オブジェクトが前記第1のユーザと前記第2のユーザとの間の空間内で移動しているように現れるように、前記仮想オブジェクトを表示のために前記第1のディスプレイ画面内に提供するように構成される、請求項7に記載の装置。 The processing unit is configured to display the virtual object on the first display for displaying the virtual object such that the virtual object appears to move in a space between the first user and the second user. 8. The device of claim 7, configured to present within a screen. 前記1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、
処理ユニットは、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、前記可動仮想オブジェクトを表示のために前記第1のディスプレイ画面内に提供するように構成され、
前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記第1の共通アンカポイントに基づき、
前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記第2の共通アンカポイントに基づく、
請求項7に記載の装置。
the one or more common anchor points comprises a first common anchor point and a second common anchor point;
a processing unit for displaying the moveable virtual object such that the moveable virtual object has a first object position relative to the first display screen and a second object position relative to the first display screen; configured to provide within said first display screen to
wherein the first object position of the movable virtual object is based on the first common anchor point;
the second object position of the movable virtual object is based on the second common anchor point;
8. Apparatus according to claim 7.
前記処理ユニットは、前記仮想オブジェクトのアクションが生じる場所に基づいて、前記仮想オブジェクトを前記第1のオブジェクト位置に設置するための前記第1の共通アンカポイントを選択するように構成される、請求項9に記載の装置。 3. The processing unit is configured to select the first common anchor point for placing the virtual object at the first object position based on where an action of the virtual object occurs. 9. Apparatus according to 9. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、
処理ユニットは、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、前記可動仮想オブジェクトを表示のために前記第1のディスプレイ画面内に提供するように構成され、
前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記単一共通アンカポイントに基づき、
前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記単一共通アンカポイントに基づく、
請求項7に記載の装置。
the one or more common anchor points comprising a single common anchor point;
a processing unit for displaying the moveable virtual object such that the moveable virtual object has a first object position relative to the first display screen and a second object position relative to the first display screen; configured to provide within said first display screen to
the first object position of the movable virtual object is based on the single common anchor point;
the second object position of the movable virtual object is based on the single common anchor point;
8. Apparatus according to claim 7.
前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記処理ユニットは、前記仮想コンテンツを前記第1のディスプレイ画面内に設置するために、前記共通アンカポイントのうちの1つを選択するように構成される、請求項1に記載の装置。 The one or more common anchor points comprises a plurality of common anchor points, and the processing unit selects one of the common anchor points to place the virtual content within the first display screen. 2. The apparatus of claim 1, configured to select one. 前記処理ユニットは、前記仮想コンテンツのアクションに最も近いかまたは前記仮想コンテンツのアクションから距離閾値内にある前記共通アンカポイントのうちの1つを選択することによって、前記仮想コンテンツを設置するための前記共通アンカポイントのうちの1つを選択するように構成される、請求項12に記載の装置。 The processing unit for placing the virtual content by selecting one of the common anchor points closest to the action of the virtual content or within a distance threshold from the action of the virtual content. 13. Apparatus according to claim 12, configured to select one of the common anchor points. 前記仮想コンテンツの位置および/または移動は、前記第1のユーザの第1のハンドヘルドデバイスによって、制御可能である、請求項1に記載の装置。 2. The apparatus of claim 1, wherein the position and/or movement of said virtual content is controllable by said first user's first handheld device. 前記仮想コンテンツの位置および/または移動はまた、前記第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である、請求項14に記載の装置。 15. The apparatus of claim 14, wherein the position and/or movement of said virtual content is also controllable by said second user's second handheld device. 前記処理ユニットは、前記1つまたはそれを上回る共通アンカポイントに基づいて、前記第1のユーザおよび前記第2のユーザを同一マッピング情報に対して位置特定するように構成される、請求項1に記載の装置。 2. The method of claim 1, wherein the processing unit is configured to locate the first user and the second user to the same mapping information based on the one or more common anchor points. Apparatus as described. 前記処理ユニットは、前記仮想コンテンツが前記第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるであろうように、前記第1のディスプレイ画面に、前記仮想コンテンツを表示させるように構成される、請求項1に記載の装置。 The processing unit causes the first display screen to display the virtual content such that the virtual content would appear in a spatial relationship to physical objects in the first user's surroundings. 2. The apparatus of claim 1, configured to: 前記処理ユニットは、1つまたはそれを上回るセンサ入力を取得するように構成され、
前記処理ユニットは、前記1つまたはそれを上回るセンサ入力に基づいて、前記第1のユーザが前記仮想コンテンツを伴う目的を遂行することを補助するように構成される、
請求項1に記載の装置。
the processing unit is configured to obtain one or more sensor inputs;
the processing unit is configured to assist the first user in accomplishing a goal with the virtual content based on the one or more sensor inputs;
A device according to claim 1 .
前記1つまたはそれを上回るセンサ入力は、前記第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す、請求項18に記載の装置。 19. The apparatus of claim 18, wherein the one or more sensor inputs are indicative of the first user's eye gaze direction, arm kinematics, body position, body orientation, or any combination of the foregoing. 前記処理ユニットは、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することによって、前記第1のユーザが前記目的を遂行することを補助するように構成される、請求項18に記載の装置。 3. The processing unit is configured to assist the first user in accomplishing the objective by applying one or more limits on the positions and/or angular velocities of system components. 19. Apparatus according to 18. 前記処理ユニットは、前記仮想コンテンツと別の要素との間の距離を徐々に低減させることによって、前記第1のユーザが前記目的を遂行することを補助するように構成される、請求項18に記載の装置。 19. The processing unit of claim 18, wherein the processing unit is configured to assist the first user in accomplishing the objective by gradually reducing the distance between the virtual content and another element. Apparatus as described. 前記処理ユニットは、前記第1のディスプレイ画面と通信する第1の処理部分と、前記第2のディスプレイ画面と通信する第2の処理部分とを備える、請求項1に記載の装置。 2. The apparatus of claim 1, wherein said processing unit comprises a first processing portion in communication with said first display screen and a second processing portion in communication with said second display screen. 環境内で、仮想コンテンツを提供するように構成される装置によって実施される方法であって、前記環境内で、第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが相互に相互作用し得、前記方法は、
前記第1のユーザの第1の位置を取得することと、
前記第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、
前記第2のユーザの第2の位置を取得することと、
前記第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、
前記第1のセットおよび前記第2のセットの両方内にある1つまたはそれを上回る共通アンカポイントを決定することと、
前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記第1のユーザおよび/または前記第2のユーザによる体験のための前記仮想コンテンツを提供することと
を含む、方法。
A method performed by a device configured to provide virtual content within an environment, the environment comprising a first user wearing a first display screen and a second display screen within the environment. may interact with a second user wearing a
obtaining a first location of the first user;
determining a first set of one or more anchor points based on a first location of the first user;
obtaining a second location of the second user;
determining a second set of one or more anchor points based on a second location of the second user;
determining one or more common anchor points within both the first set and the second set;
providing said virtual content for experience by said first user and/or said second user based on at least one of said one or more common anchor points. .
前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記方法はさらに、前記共通アンカポイントのサブセットを前記複数の共通アンカポイントから選択することを含む、請求項23に記載の方法。 24. The method of claim 23, wherein the one or more common anchor points comprise a plurality of common anchor points, the method further comprising selecting a subset of the common anchor points from the plurality of common anchor points. the method of. 前記共通アンカポイントのサブセットは、前記第1のユーザおよび前記第2のユーザの相互に対する位置特定誤差を低減させるように選択される、請求項24に記載の方法。 25. The method of claim 24, wherein the subset of common anchor points is selected to reduce localization errors of the first user and the second user with respect to each other. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える、請求項23に記載の方法。 24. The method of claim 23, wherein the one or more common anchor points comprise a single common anchor point. 前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記仮想コンテンツに関する位置および/または配向を決定することをさらに含む、請求項23に記載の方法。 24. The method of claim 23, further comprising determining a position and/or orientation for said virtual content based on at least one of said one or more common anchor points. 前記第1のセット内の前記1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である、請求項23に記載の方法。 24. The method of claim 23, wherein each of said one or more anchor points in said first set is a point in a Persistent Coordinate Frame (PCF). 前記仮想コンテンツは、表示のために、前記第1のディスプレイ画面および/または前記第2のディスプレイ画面内に、可動仮想オブジェクトとして提供される、請求項23に記載の方法。 24. The method of claim 23, wherein said virtual content is provided as movable virtual objects within said first display screen and/or said second display screen for display. 前記仮想オブジェクトは、表示のために、前記第1のディスプレイ画面内に、前記仮想オブジェクトが前記第1のユーザと前記第2のユーザとの間の空間内を移動しているように現れるように提供される、請求項29に記載の方法。 The virtual object appears for display within the first display screen such that the virtual object appears to move in a space between the first user and the second user. 30. A method according to claim 29 provided. 前記1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、
前記可動仮想オブジェクトは、表示のために、前記第1のディスプレイ画面内に、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、
前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記第1の共通アンカポイントに基づき、
前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記第2の共通アンカポイントに基づく、
請求項29に記載の方法。
the one or more common anchor points comprises a first common anchor point and a second common anchor point;
The movable virtual object is configured for display in the first display screen so that the movable virtual object has a first object position relative to the first display screen and a second object position relative to the first display screen. provided to have an object position and
wherein the first object position of the movable virtual object is based on the first common anchor point;
the second object position of the movable virtual object is based on the second common anchor point;
30. The method of claim 29.
前記仮想オブジェクトのアクションが生じる場所に基づいて、前記仮想オブジェクトを前記第1のオブジェクト位置に設置するための前記第1の共通アンカポイントを選択することをさらに含む、請求項31に記載の方法。 32. The method of claim 31, further comprising selecting the first common anchor point for placing the virtual object at the first object position based on where an action of the virtual object occurs. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、
前記可動仮想オブジェクトは、表示のために、前記第1のディスプレイ画面内に、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、
前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記単一共通アンカポイントに基づき、
前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記単一共通アンカポイントに基づく、
請求項29に記載の方法。
the one or more common anchor points comprising a single common anchor point;
The movable virtual object is configured for display in the first display screen so that the movable virtual object has a first object position relative to the first display screen and a second object position relative to the first display screen. provided to have an object position and
the first object position of the movable virtual object is based on the single common anchor point;
the second object position of the movable virtual object is based on the single common anchor point;
30. The method of claim 29.
前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記方法はさらに、前記仮想コンテンツを前記第1のディスプレイ画面内に設置するための前記共通アンカポイントのうちの1つを選択することを含む、請求項23に記載の方法。 The one or more common anchor points comprises a plurality of common anchor points, the method further comprising one of the common anchor points for placing the virtual content within the first display screen. 24. The method of claim 23, comprising selecting . 前記選択する行為は、前記仮想コンテンツのアクションに最も近いかまたは前記仮想コンテンツのアクションから距離閾値内にある前記共通アンカポイントのうちの1つを選択することを含む、請求項34に記載の方法。 35. The method of claim 34, wherein the act of selecting comprises selecting one of the common anchor points closest to the virtual content action or within a distance threshold from the virtual content action. . 前記仮想コンテンツの位置および/または移動は、前記第1のユーザの第1のハンドヘルドデバイスによって、制御可能である、請求項23に記載の方法。 24. The method of claim 23, wherein the position and/or movement of said virtual content is controllable by said first user's first handheld device. 前記仮想コンテンツの位置および/または移動はまた、前記第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である、請求項36に記載の方法。 37. The method of claim 36, wherein the position and/or movement of said virtual content is also controllable by said second user's second handheld device. 前記1つまたはそれを上回る共通アンカポイントに基づいて、前記第1のユーザおよび前記第2のユーザを同一マッピング情報に対して位置特定することをさらに含む、請求項23に記載の方法。 24. The method of claim 23, further comprising locating the first user and the second user to the same mapping information based on the one or more common anchor points. 前記仮想コンテンツが前記第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるように、前記第1のディスプレイ画面によって、前記仮想コンテンツを表示することをさらに含む、請求項23に記載の方法。 24. Displaying the virtual content with the first display screen such that the virtual content appears in a spatial relationship to physical objects in the first user's surroundings. The method described in . 1つまたはそれを上回るセンサ入力を取得することと、
前記1つまたはそれを上回るセンサ入力に基づいて、前記第1のユーザが前記仮想コンテンツを伴う目的を遂行することを補助することと
をさらに含む、請求項23に記載の方法。
obtaining one or more sensor inputs;
24. The method of claim 23, further comprising: assisting the first user in fulfilling an objective with the virtual content based on the one or more sensor inputs.
前記1つまたはそれを上回るセンサ入力は、前記第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す、請求項40に記載の方法。 41. The method of claim 40, wherein the one or more sensor inputs are indicative of the first user's eye gaze direction, arm kinematics, body position, body orientation, or any combination of the foregoing. 前記第1のユーザが前記目的を遂行することを補助する行為は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することを含む、請求項40に記載の方法。 41. The method of claim 40, wherein the act of assisting the first user in accomplishing the objective comprises applying one or more limits on position and/or angular velocity of system components. 前記第1のユーザが前記目的を遂行することを補助する行為は、前記仮想コンテンツと別の要素との間の距離を徐々に低減させることを含む、請求項40に記載の方法。 41. The method of claim 40, wherein the act of assisting the first user in accomplishing the objective comprises gradually reducing the distance between the virtual content and another element. 前記装置は、前記第1のディスプレイ画面と通信する第1の処理部分と、前記第2のディスプレイ画面と通信する第2の処理部分とを備える、請求項23に記載の方法。 24. The method of claim 23, wherein the device comprises a first processing portion in communication with the first display screen and a second processing portion in communication with the second display screen. 命令のセットを記憶するプロセッサ可読非一過性媒体であって、処理ユニットによる前記命令のセットの実行は、方法が実施されることを引き起こし、前記処理ユニットは、環境内で、仮想コンテンツを提供するように構成される装置の一部であり、前記環境内で、第1のユーザおよび第2のユーザが相互に相互作用し得、前記方法は、
前記第1のユーザの第1の位置を取得することと、
前記第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、
前記第2のユーザの第2の位置を取得することと、
前記第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、
前記第1のセットおよび前記第2のセットの両方内にある1つまたはそれを上回る共通アンカポイントを決定することと、
前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記第1のユーザおよび/または前記第2のユーザによる体験のための前記仮想コンテンツを提供することと
を含む、プロセッサ可読非一過性媒体。
A processor-readable non-transitory medium storing a set of instructions, wherein execution of the set of instructions by a processing unit causes a method to be performed, the processing unit providing virtual content within an environment and within said environment a first user and a second user may interact with each other, said method comprising:
obtaining a first location of the first user;
determining a first set of one or more anchor points based on a first location of the first user;
obtaining a second location of the second user;
determining a second set of one or more anchor points based on a second location of the second user;
determining one or more common anchor points within both the first set and the second set;
providing said virtual content for experience by said first user and/or said second user based on at least one of said one or more common anchor points. A readable non-transitory medium.
JP2022554528A 2020-03-13 2021-03-13 Systems and methods for multi-user virtual and augmented reality Pending JP2023517954A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062989584P 2020-03-13 2020-03-13
US62/989,584 2020-03-13
PCT/US2021/022249 WO2021183978A1 (en) 2020-03-13 2021-03-13 Systems and methods for multi-user virtual and augmented reality

Publications (1)

Publication Number Publication Date
JP2023517954A true JP2023517954A (en) 2023-04-27

Family

ID=77665171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022554528A Pending JP2023517954A (en) 2020-03-13 2021-03-13 Systems and methods for multi-user virtual and augmented reality

Country Status (5)

Country Link
US (1) US20210287382A1 (en)
EP (1) EP4118638A4 (en)
JP (1) JP2023517954A (en)
CN (1) CN115298732A (en)
WO (1) WO2021183978A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098130A (en) * 2020-01-31 2021-08-10 한국전자통신연구원 Method for providing augmented reality based on multi user using interaction with real object and apparatus using the same
US20220375110A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Augmented reality guided depth estimation
CN114067429B (en) * 2021-11-02 2023-08-29 北京邮电大学 Action recognition processing method, device and equipment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460855B2 (en) * 2000-08-03 2002-10-08 Albert Shinderovsky Alphabetic chess puzzles and games
US9946076B2 (en) * 2010-10-04 2018-04-17 Gerard Dirk Smits System and method for 3-D projection and enhancements for interactivity
US9626737B2 (en) * 2013-11-15 2017-04-18 Canon Information And Imaging Solutions, Inc. Devices, systems, and methods for examining the interactions of objects in an enhanced scene
US10250720B2 (en) * 2016-05-05 2019-04-02 Google Llc Sharing in an augmented and/or virtual reality environment
US20180150997A1 (en) * 2016-11-30 2018-05-31 Microsoft Technology Licensing, Llc Interaction between a touch-sensitive device and a mixed-reality device
US10482665B2 (en) * 2016-12-16 2019-11-19 Microsoft Technology Licensing, Llc Synching and desyncing a shared view in a multiuser scenario
US10594786B1 (en) * 2017-01-10 2020-03-17 Lucasfilm Entertainment Company Ltd. Multi-device interaction with an immersive environment
US10290152B2 (en) * 2017-04-03 2019-05-14 Microsoft Technology Licensing, Llc Virtual object user interface display
US10871934B2 (en) * 2017-05-04 2020-12-22 Microsoft Technology Licensing, Llc Virtual content displayed with shared anchor
US20190088030A1 (en) * 2017-09-20 2019-03-21 Microsoft Technology Licensing, Llc Rendering virtual objects based on location data and image data
US10685456B2 (en) * 2017-10-12 2020-06-16 Microsoft Technology Licensing, Llc Peer to peer remote localization for devices
EP3511910A1 (en) * 2018-01-12 2019-07-17 Koninklijke Philips N.V. Apparatus and method for generating view images
US10773169B2 (en) * 2018-01-22 2020-09-15 Google Llc Providing multiplayer augmented reality experiences
US10438414B2 (en) * 2018-01-26 2019-10-08 Microsoft Technology Licensing, Llc Authoring and presenting 3D presentations in augmented reality
US20210094180A1 (en) * 2018-03-05 2021-04-01 The Regents Of The University Of Colorado, A Body Corporate Augmented Reality Coordination Of Human-Robot Interaction
TWI664995B (en) * 2018-04-18 2019-07-11 鴻海精密工業股份有限公司 Virtual reality multi-person board game interacting system, initeracting method, and server
US11749124B2 (en) * 2018-06-12 2023-09-05 Skydio, Inc. User interaction with an autonomous unmanned aerial vehicle
US11227435B2 (en) * 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10776954B2 (en) * 2018-10-08 2020-09-15 Microsoft Technology Licensing, Llc Real-world anchor in a virtual-reality environment
US10803314B2 (en) * 2018-10-10 2020-10-13 Midea Group Co., Ltd. Method and system for providing remote robotic control
US11132841B2 (en) * 2018-11-30 2021-09-28 Facebook Technologies, Llc Systems and methods for presenting digital assets within artificial environments via a loosely coupled relocalization service and asset management service
US10866563B2 (en) * 2019-02-13 2020-12-15 Microsoft Technology Licensing, Llc Setting hologram trajectory via user input
US10762716B1 (en) * 2019-05-06 2020-09-01 Apple Inc. Devices, methods, and graphical user interfaces for displaying objects in 3D contexts
US10918949B2 (en) * 2019-07-01 2021-02-16 Disney Enterprises, Inc. Systems and methods to provide a sports-based interactive experience
US11132834B2 (en) * 2019-08-09 2021-09-28 Facebook Technologies, Llc Privacy-aware artificial reality mapping

Also Published As

Publication number Publication date
CN115298732A (en) 2022-11-04
EP4118638A1 (en) 2023-01-18
WO2021183978A1 (en) 2021-09-16
US20210287382A1 (en) 2021-09-16
EP4118638A4 (en) 2023-08-30

Similar Documents

Publication Publication Date Title
US11935205B2 (en) Mission driven virtual character for user interaction
US11666825B2 (en) Mixed reality gaming system
TWI786701B (en) Method and system for eye tracking with prediction and late update to gpu for fast foveated rendering in an hmd environment and non-transitory computer-readable medium
JP6831840B2 (en) Selection of virtual objects in 3D space
US9892563B2 (en) System and method for generating a mixed reality environment
US9779633B2 (en) Virtual reality system enabling compatibility of sense of immersion in virtual space and movement in real space, and battle training system using same
JP2021128795A (en) Interactions with 3d virtual objects using poses and multiple-dof controllers
US9599821B2 (en) Virtual reality system allowing immersion in virtual space to consist with actual movement in actual space
JP2024028376A (en) Systems and methods for augmented reality and virtual reality
US20160292924A1 (en) System and method for augmented reality and virtual reality applications
JP2020522795A (en) Eye tracking calibration technology
US20170076503A1 (en) Method for generating image to be displayed on head tracking type virtual reality head mounted display and image generation device
JP2023517954A (en) Systems and methods for multi-user virtual and augmented reality
US20150070274A1 (en) Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
JP2022549853A (en) Individual visibility in shared space
KR20170062533A (en) Driving a projector to generate a shared spatial augmented reality experience
JP2023520765A (en) Systems and methods for virtual and augmented reality
JP7242175B2 (en) game system and program
WO2015048890A1 (en) System and method for augmented reality and virtual reality applications
US11830460B2 (en) Systems and methods for virtual and augmented reality
JP2019152899A (en) Simulation system and program
JP2018171320A (en) Simulation system and program
JP2018171309A (en) Simulation system and program
US20230252691A1 (en) Passthrough window object locator in an artificial reality system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240301