JP2023517954A - マルチユーザ仮想および拡張現実のためのシステムおよび方法 - Google Patents

マルチユーザ仮想および拡張現実のためのシステムおよび方法 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
English (en)
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/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

第1および第2のユーザが相互に相互作用し得る、環境内で、仮想コンテンツを提供するための装置であって、第1のユーザによって装着される、第1のディスプレイ画面および/または第2のユーザによって装着される、第2のディスプレイ画面と通信するように構成される、通信インターフェースと、第1のユーザの第1の位置を取得し、第1のユーザの第1の位置に基づいて、第1のアンカポイントのセットを決定し、第2のユーザの第2の位置を取得し、第2のユーザの第2の位置に基づいて、第2のアンカポイントのセットを決定し、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定し、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供するように構成される、処理ユニットとを備える、装置。

Description

本開示は、コンピューティング、学習ネットワーク構成、および接続されたモバイルコンピューティングシステム、方法、および構成に関し、より具体的には、仮想および/または拡張現実動作のために利用され得る、少なくとも1つのウェアラブルコンポーネントを特徴とする、モバイルコンピューティングシステム、方法、および構成に関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」(VR)または「拡張現実」(AR)体験のための「複合現実」(MR)システムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式で、ユーザに提示される。VRシナリオは、典型的には、他の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。ARシナリオは、典型的には、ユーザの周囲の実世界の可視化(すなわち、実世界視覚的入力に対する透過性)に対する拡張としてデジタルまたは仮想画像情報の提示を伴う。故に、ARシナリオは、実世界視覚的入力に対する透過性を伴う、デジタルまたは仮想画像情報の提示を伴う。
MRシステムは、カラーデータを生成および表示し得、これは、MRシナリオの現実性を増加させる。これらのMRシステムの多くは、カラー画像に対応する異なる(例えば、原)色または「フィールド」(例えば、赤色、緑色、および青色)内のサブ画像を高速で連続して順次投影させることによって、カラーデータを表示する。カラーサブ画像を十分に高レート(例えば、60Hz、120Hz等)で投影させることは、平滑なカラーMRシナリオをユーザの記憶にもたらし得る。
種々の光学システムは、MR(VRおよびAR)シナリオを表示するために、種々の深度において、カラー画像を含む、画像を生成する。
MRシステムは、少なくとも、ユーザの頭部に緩く結合され、したがって、ユーザの頭部が移動すると移動する、ウェアラブルディスプレイデバイス(例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用し得る。ユーザの頭部運動が、ディスプレイデバイスによって検出される場合、表示されているデータは、頭部姿勢(すなわち、ユーザの頭部の配向および/または場所)の変化を考慮するために更新(例えば、「ワーピング」)され得る。
実施例として、頭部装着型ディスプレイデバイスを装着しているユーザが、ディスプレイ上の仮想オブジェクトの仮想表現を視認し、仮想オブジェクトが現れている面積の周囲を歩き回る場合、仮想オブジェクトは、視点毎にレンダリングされ、実空間を占有するオブジェクトの周囲を歩き回っているという知覚をユーザに与えることができる。頭部装着型ディスプレイデバイスが、複数の仮想オブジェクトを提示するために使用される場合、頭部姿勢の測定が、ユーザの動的に変化する頭部姿勢にマッチングし、没入感の増加を提供するように場面をレンダリングするために使用されることができる。
ARを有効にする、頭部装着型ディスプレイデバイスは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いることで、ユーザは、ディスプレイシステム内の透明(例えば、半透明または完全透明)要素を通して見え、直接、環境内の実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳し、ディスプレイからの光は、仮想コンテンツの画像を環境内の実オブジェクトのシースルービューにわたって投影される。カメラが、頭部装着型ディスプレイデバイス上に搭載され、ユーザによって視認されている場面の画像またはビデオを捕捉し得る。
MRシステムにおけるもの等の現在の光学システムは、仮想コンテンツを光学的にレンダリングする。コンテンツは、空間内の個別の位置に位置する実際の物理的オブジェクトに対応しないという点で、「仮想」である。代わりに、仮想コンテンツは、ユーザの眼に指向される光ビームによって刺激されるとき、頭部装着型ディスプレイデバイスのユーザの脳(例えば、視覚中枢)内にのみ存在する。
ある場合には、頭部装着型画像ディスプレイデバイスは、実環境に対して仮想オブジェクトを表示し得、および/またはユーザが実環境に対して仮想オブジェクトを設置および/または操作することを可能にし得る。そのような場合、画像ディスプレイデバイスは、仮想オブジェクトが実環境に対して正しく変位され得るように、実環境に対するユーザを位置特定するように構成され得る。
複合現実または拡張現実の接眼ディスプレイは、軽量、低コスト、小形状因子を有し、広仮想画像視野を有し、可能な限り透明であることが望ましい。加えて、輻輳・開散運動-遠近調節不整合に関する容認可能許容値を超えずに、様々なユースケースのために実践的であるために、仮想画像情報を複数の焦点面(例えば、2つまたはそれを上回る)内に提示する、構成を有することが望ましい。
また、仮想オブジェクトが、ユーザによって視認される際、物理的環境に対して正確に設置され得るように、仮想オブジェクトをユーザのビューに対して提供するための、新しい技法を有することが望ましいであろう。ある場合には、仮想オブジェクトが、ユーザから遠くに位置する、物理的環境に対して仮想的に設置される場合、仮想オブジェクトは、オフセットされ得る、またはその意図される場所から離れるように「ドリフト」し得る。これは、ユーザに対するローカル座標フレームが、物理的環境内の特徴に対して正しく位置合わせされるが、ユーザからより離れた物理的環境内の他の特徴と正確に整合し得ないために起こり得る。
(1人またはそれを上回るユーザによって装着される)1つまたはそれを上回る画像ディスプレイデバイスの1つまたはそれを上回る画面による表示のために、仮想オブジェクト等の仮想コンテンツを提供するための方法および装置が、本明細書に説明される。いくつかの実施形態では、仮想コンテンツは、ユーザによって画面を通して視認される際、物理的環境内にあるように現れるように表示されてもよい。仮想コンテンツは、物理的環境に対して位置合わせされる、1つまたはそれを上回るアンカポイントに基づいて、提供されてもよい。いくつかの実施形態では、仮想コンテンツは、可動オブジェクトとして提供されてもよく、可動オブジェクトの位置は、可動オブジェクトのアクションに近接近する、1つまたはそれを上回るアンカポイントに基づいてもよい。これは、オブジェクトがユーザから遠い場合でも、オブジェクトが、ユーザに対して仮想的に正確に設置されることを可能にする(ユーザによって、ユーザが装着している画面を通して、視認される際)。ゲーム用アプリケーションでは、そのような特徴は、ユーザが比較的に離れている場合でも、複数のユーザが、同一オブジェクトと相互作用することを可能にし得る。例えば、ゲーム用アプリケーションでは、仮想オブジェクトは、ユーザ間で仮想的に往復して通過されてもよい。本明細書に説明されるアンカポイント近接度に基づく、仮想オブジェクトの設置(位置付け)は、オフセットおよびドリフトの問題点を防止し、したがって、仮想オブジェクトが正確に位置付けられることを可能にする。
その中で第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のユーザによる体験のための仮想コンテンツを提供するように構成される、処理ユニットとを備える。
随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、処理ユニットは、共通アンカポイントのサブセットを複数の共通アンカポイントから選択するように構成される。
随意に、処理ユニットは、共通アンカポイントのサブセットを選択し、第1のユーザおよび第2のユーザの相互に対する位置特定誤差を低減させるように構成される。
随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える。
随意に、処理ユニットは、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、仮想コンテンツを位置付ける、および/または配向するように構成される。
随意に、第1のセット内の1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である。
随意に、処理ユニットは、仮想コンテンツを、表示のために、第1のディスプレイ画面および/または第2のディスプレイ画面内に、可動仮想オブジェクトとして提供するように構成される。
随意に、処理ユニットは、仮想オブジェクトが第1のユーザと第2のユーザとの間の空間内で移動しているように現れるように、仮想オブジェクトを表示のために第1のディスプレイ画面内に提供するように構成される。
随意に、1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、処理ユニットは、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、可動仮想オブジェクトを表示のために第1のディスプレイ画面内に提供するように構成され、可動仮想オブジェクトの第1のオブジェクト位置は、第1の共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、第2の共通アンカポイントに基づく。
随意に、処理ユニットは、仮想オブジェクトのアクションが生じる場所に基づいて、仮想オブジェクトを第1のオブジェクト位置に設置するための第1の共通アンカポイントを選択するように構成される。
随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、処理ユニットは、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、可動仮想オブジェクトを表示のために第1のディスプレイ画面内に提供するように構成され、可動仮想オブジェクトの第1のオブジェクト位置は、単一共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、単一共通アンカポイントに基づく。
随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、処理ユニットは、仮想コンテンツを第1のディスプレイ画面内に設置するために、共通アンカポイントのうちの1つを選択するように構成される。
随意に、処理ユニットは、仮想コンテンツのアクションに最も近いかまたは仮想コンテンツのアクションから距離閾値内にある、共通アンカポイントのうちの1つを選択することによって、仮想コンテンツを設置するための共通アンカポイントのうちの1つを選択するように構成される。
随意に、仮想コンテンツの位置および/または移動は、第1のユーザの第1のハンドヘルドデバイスによって、制御可能である。
随意に、仮想コンテンツの位置および/または移動はまた、第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である。
随意に、処理ユニットは、1つまたはそれを上回る共通アンカポイントに基づいて、第1のユーザおよび第2のユーザを同一マッピング情報に対して位置特定するように構成される。
随意に、処理ユニットは、仮想コンテンツが第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるであろうように、第1のディスプレイ画面に、仮想コンテンツを表示させるように構成される。
随意に、処理ユニットは、1つまたはそれを上回るセンサ入力を取得するように構成され、処理ユニットは、1つまたはそれを上回るセンサ入力に基づいて、第1のユーザが仮想コンテンツを伴う目的を遂行することを補助するように構成される。
随意に、1つまたはそれを上回るセンサ入力は、第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す。
随意に、処理ユニットは、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することによって、第1のユーザが目的を遂行することを補助するように構成される。
随意に、処理ユニットは、仮想コンテンツと別の要素との間の距離を徐々に低減させることによって、第1のユーザが目的を遂行することを補助するように構成される。
随意に、処理ユニットは、第1のディスプレイ画面と通信する、第1の処理部分と、第2のディスプレイ画面と通信する、第2の処理部分とを備える。
その中で第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが、相互に相互作用し得る、環境内で、仮想コンテンツを提供するように構成される、装置によって実施される、方法は、第1のユーザの第1の位置を取得することと、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、第2のユーザの第2の位置を取得することと、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定することと、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供することとを含む。
随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、共通アンカポイントのサブセットを複数の共通アンカポイントから選択することを含む。
随意に、共通アンカポイントのサブセットは、第1のユーザおよび第2のユーザの相互に対する位置特定誤差を低減させるように選択される。
随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える。
随意に、本方法はさらに、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、仮想コンテンツに関する位置および/または配向を決定することを含む。
随意に、第1のセット内の1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である。
随意に、仮想コンテンツは、表示のために、可動仮想オブジェクトとして、第1のディスプレイ画面および/または第2のディスプレイ画面内に提供される。
随意に、仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、仮想オブジェクトが第1のユーザと第2のユーザとの間の空間内を移動しているように現れるように提供される。
随意に、1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、第1の共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、第2の共通アンカポイントに基づく。
随意に、本方法はさらに、仮想オブジェクトのアクションが生じる場所に基づいて、仮想オブジェクトを第1のオブジェクト位置に設置するための第1の共通アンカポイントを選択することを含む。
随意に、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、単一共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、単一共通アンカポイントに基づく。
随意に、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、仮想コンテンツを第1のディスプレイ画面内に設置するための共通アンカポイントのうちの1つを選択することを含む。
随意に、選択する行為は、仮想コンテンツのアクションに最も近いかまたは仮想コンテンツのアクションから距離閾値内にある、共通アンカポイントのうちの1つを選択することを含む。
随意に、仮想コンテンツの位置および/または移動は、第1のユーザの第1のハンドヘルドデバイスによって、制御可能である。
随意に、仮想コンテンツの位置および/または移動はまた、第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である。
随意に、本方法はさらに、1つまたはそれを上回る共通アンカポイントに基づいて、第1のユーザおよび第2のユーザを同一マッピング情報に対して位置特定することを含む。
随意に、本方法はさらに、仮想コンテンツが第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるように、第1のディスプレイ画面によって、仮想コンテンツを表示することを含む。
随意に、本方法はさらに、1つまたはそれを上回るセンサ入力を取得することと、1つまたはそれを上回るセンサ入力に基づいて、第1のユーザが仮想コンテンツを伴う目的を遂行することを補助することとを含む。
随意に、1つまたはそれを上回るセンサ入力は、第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す。
随意に、第1のユーザが目的を遂行することを補助する行為は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することを含む。
随意に、第1のユーザが目的を遂行することを補助する行為は、仮想コンテンツと別の要素との間の距離を徐々に低減させることを含む。
随意に、装置は、第1のディスプレイ画面と通信する、第1の処理部分と、第2のディスプレイ画面と通信する、第2の処理部分とを備える。
プロセッサ可読非一過性媒体は、命令のセットを記憶し、処理ユニットによるその実行は、ある方法が実施されることを引き起こし、処理ユニットは、その中で第1のユーザおよび第2のユーザが相互に相互作用し得る、環境内で、仮想コンテンツを提供するように構成される、装置の一部であって、本方法は、第1のユーザの第1の位置を取得することと、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、第2のユーザの第2の位置を取得することと、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定することと、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供することとを含む。
本開示の付加的および他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
図面は、本開示の種々の実施形態の設計および有用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して類似参照番号によって表されることに留意されたい。本開示の種々の実施形態の前述および他の利点および目的を得る方法をより深く理解するために、簡単に前述された本開示のより詳細な説明が、付随の図面に図示されるその具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされるべきではないことを理解した上で、本開示は、付随の図面の使用を通して付加的具体性および詳細とともに説明および記載されるであろう。
図1Aは、いくつかの実施形態による、画像ディスプレイデバイスを有する、画像ディスプレイシステムを図示する。
図1Bは、フレームを複数の深度面に表示する、画像ディスプレイデバイスを図示する。
図2は、いくつかの実施形態による、方法を図示する。
図3は、いくつかの実施形態による、方法を図示する。
図4は、いくつかの実施形態による、方法を図示する。
図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図5A-5Lは、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。
図6は、単一アンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。
図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。 図7A-7Dは、複数のアンカポイントに基づいて、仮想または拡張環境内で相互に相互作用する、2人のユーザの実施例を図示する。
図8は、いくつかの実施形態による、方法を図示する。
図9は、いくつかの実施形態による、装置の処理ユニットを図示する。
図10は、いくつかの実施形態による、方法を図示する。
図11は、いくつかの実施形態による、特殊処理システムを図示する。
詳細な説明
本開示の種々の実施形態は、頭部装着型ビデオ画像デバイスのための入力を提供するための方法、装置、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および特許請求の範囲に説明される。
種々の実施形態が、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。
続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的VR、AR、および/またはMRシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム(他のタイプのVR、AR、および/またはMRシステムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。
図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を含む、ユーザの周囲の環境に関する情報を提供するように構成される、種々のセンサを備えてもよい。ユーザに豊かな拡張現実体験の知覚を提供するために利用され得る、本明細書に説明されるもの等のコンパクトかつ持続的に接続されるウェアラブルコンピューティングシステムおよびアセンブリの必要性が存在する。
システム1はまた、画像ディスプレイデバイスデバイス2のための入力を提供するための装置7を含む。装置7は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス2は、VRデバイス、ARデバイス、MRデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。図に示されるように、画像ディスプレイデバイス2は、エンドユーザによって装着される、フレーム構造と、ディスプレイサブシステムがエンドユーザの眼の正面に位置付けられるように、フレーム構造によって担持される、ディスプレイサブシステムと、スピーカがエンドユーザの外耳道に隣接して位置付けられる(随意に、別のスピーカ(図示せず)が、エンドユーザの他方の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する)ようにフレーム構造によって担持される、スピーカとを含む。ディスプレイサブシステムは、エンドユーザの眼に、高レベルの画質および3次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ2次元コンテンツを提示することも可能である。ディスプレイサブシステムは、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。
図示される実施形態では、ディスプレイサブシステムは、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明(または半透明)要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステムは、部分的に透明なディスプレイまたは完全に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザの眼に伝送されるように、エンドユーザの眼と周囲環境との間のエンドユーザの視野内に位置付けられる。
図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼に伝送される。投影サブシステムは、光ファイバ走査ベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点面における画像、および/または立体3Dオブジェクトを表すために複数の視認距離または焦点面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい(すなわち、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、ピクチャ要素が、2つまたはそれを上回る層を横断して混成され、それらの層が、より疎らにスタックされる(すなわち、1つの層が隣接する層の乱信号円錐域の外側にある)場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステムは、単眼または両眼用であってもよい。
画像ディスプレイデバイス2はまた、エンドユーザの頭部の位置および移動および/またはエンドユーザの眼位置および眼球間距離を検出するためにフレーム構造に搭載される、1つまたはそれを上回るセンサを含んでもよい。そのようなセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ)、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレームが、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。
画像ディスプレイデバイス2はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザの頭部の瞬間位置を検出し(例えば、フレームに結合されるセンサを介して)、センサから受信された位置データに基づいて、エンドユーザの頭部の位置を予測してもよい。エンドユーザの頭部の瞬間位置を検出することは、エンドユーザが見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザの眼を追跡してもよい。
画像ディスプレイデバイス2はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、1つまたはそれを上回るマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。
画像ディスプレイデバイス2の制御サブシステムは、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)と、1つまたはそれを上回るフレームバッファと、3次元場面データを記憶するための3次元データベースとを含んでもよい。CPUは、全体的動作を制御してもよい一方、GPUは、3次元データベース内に記憶される3次元データからフレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ内に記憶してもよい。1つまたはそれを上回る付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出およびディスプレイサブシステムの画像投影アセンブリの動作を制御してもよい。
装置7は、システム1のための種々の処理コンポーネントを表す。図中では、装置7は、画像ディスプレイデバイス2の一部として図示される。他の実施形態では、装置7は、ハンドヘルドコントローラコンポーネント4および/またはコントローラコンポーネント6内に実装されてもよい。さらなる実施形態では、装置7の種々の処理コンポーネントは、分散サブシステム内に実装されてもよい。例えば、装置7の処理コンポーネントは、画像ディスプレイデバイス2、ハンドヘルドコントローラコンポーネント4、コントローラコンポーネント6、または別のデバイス(画像ディスプレイデバイス2、ハンドヘルドコントローラコンポーネント4、および/またはコントローラコンポーネント6と通信する)のうちの2つまたはそれを上回るもの内に位置してもよい。
上記に説明される種々のコンポーネント間の結合10、12、14、16、17、18は、ワイヤまたは光学連通を提供するための1つまたはそれを上回る有線インターフェースまたはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した、1つまたはそれを上回る無線インターフェースまたはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。
いくつかの画像ディスプレイシステム(例えば、VRシステム、ARシステム、MRシステム等)は、個別の深度面から生じるように現れる画像を生成するための深度面情報を内蔵する、複数の体積位相ホログラム、表面レリーフホログラム、または光誘導光学要素を使用する。換言すると、回折パターンまたは回折光学要素(「DOE」)が、コリメートされた光(略平面波面を伴う光ビーム)が、LOEに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、光誘導光学要素(「LOE」、例えば、平面導波管)内に内蔵される、またはその上にインプリント/エンボス加工されてもよい。DOEは、特定の深度面から生じるように現れるように、それを通してLOEから出射する光が輻輳されるように構成される。コリメートされた光は、光学集光レンズ(「集光器」)を使用して生成されてもよい。
例えば、第1のLOEは、光学無限遠深度面(0ジオプタ)から生じるように現れる、コリメートされた光を眼に送達するように構成されてもよい。別のLOEは、2メートルの距離(1/2ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。さらに別のLOEは、1メートルの距離(1ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。スタックされたLOEアセンブリを使用することによって、複数の深度面が、作成され得、各LOEは、特定の深度面から生じるように現れる、画像を表示するように構成されることを理解されたい。スタックは、任意の数のLOEを含んでもよいことを理解されたい。しかしながら、少なくともN個のスタックされたLOEが、N個の深度面を生成するために要求される。さらに、N、2N、または3N個のスタックされたLOEが、RGBカラー画像をN個の深度面に生成するために使用されてもよい。
3D仮想コンテンツをユーザに提示するために、画像ディスプレイシステム1(例えば、VRシステム、ARシステム、MRシステム等)は、それらがZ方向に(すなわち、ユーザの眼から離れるように直交して)種々の深度面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。換言すると、仮想コンテンツは、XおよびY方向(すなわち、ユーザの眼の中心視軸に直交する、2D面)において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、またはその間の任意の距離にあるように知覚し得るように、Z方向においても変化するように現れ得る。他の実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから3メートル離れた距離における仮想鳥と、ユーザから腕の長さ(約1メートル)における仮想コーヒーカップとが見え得る。
多面焦点システムは、画像をユーザの眼からZ方向における個別の固定距離に位置する複数の深度面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図1Bを参照すると、多面焦点システムは、フレームを固定された深度面150(例えば、図1Bに示される6つの深度面150)に表示し得ることを理解されたい。MRシステムは、任意の数の深度面150を含むことができるが、1つの例示的多面焦点システムは、6つの固定された深度面150をZ方向に有する。仮想コンテンツを6つの深度面150のうちの1つまたはそれを上回るものに生成する際、3D知覚が、ユーザがユーザの眼からの可変距離における1つまたはそれを上回る仮想オブジェクトを知覚するように作成される。ヒトの眼が、離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度面150が、図1Bに示されるように、眼のより近くに生成される。いくつかの実施形態では、深度面150は、相互から離れるように等距離に設置されてもよい。
深度面位置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ビューを与え得る。
いくつかの実施形態では、画像ディスプレイシステム1(例えば、VRシステム、ARシステム、MRシステム等)は、多面焦点システムとして機能してもよい。換言すると、全6つのLOEは、6つの固定された深度面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をLOE1、次いで、LOE2、次いで、LOE3等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間1において投入されてもよく、光のコリメーションを留保する、LOE(例えば、図1Bからの深度面6)が、利用されてもよい。次いで、より近い木の枝の画像が、時間2において投入されてもよく、10メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOE(例えば、図1Bからの深度面5)が、利用されてもよい。次いで、ペンの画像が、時間3において投入されてもよく、1メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOEが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳(例えば、視覚野)が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル(例えば、360Hz)方式で繰り返されることができる。
画像ディスプレイシステム1は、Z軸(すなわち、深度面)に沿って種々の場所から生じるように現れ、3D体験/シナリオのための画像を生成する、画像を投影してもよい(すなわち、光ビームを発散または収束させることによって)。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー(可視および不可視光エネルギーを含む)の指向性投影を含む。種々の深度面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動-遠近調節競合を最小限にまたは排除する。
ある場合には、頭部装着型画像ディスプレイデバイスのユーザをユーザの環境に対して位置特定するために、環境の位置特定マップが、取得される。いくつかの実施形態では、位置特定マップは、システム1の一部である、非一過性媒体内に記憶されてもよい。他の実施形態では、位置特定マップは、データベースから無線で受信されてもよい。位置特定マップが、取得された後、画像ディスプレイデバイスのカメラシステムからのリアルタイム入力画像が、次いで、位置特定マップに対してマッチングされ、ユーザを位置特定する。例えば、入力画像の角特徴が、入力画像から検出され、位置特定マップの角特徴に対してマッチングされてもよい。いくつかの実施形態では、角のセットを位置特定において使用するための画像からの特徴として取得するために、画像は、最初に、角検出を経て、検出された角の初期セットを取得する必要があり得る。検出された角の初期セットは、次いで、さらに処理され、例えば、位置特定目的のための検出された角の最終セットを取得するために、非最大値抑制、空間ビニング等を経てもよい。ある場合には、フィルタリングが、実施され、初期セット内の検出された角のサブセットを識別し、角の最終セットを取得してもよい。
また、いくつかの実施形態では、環境の位置特定マップが、ユーザが画像ディスプレイデバイス2を異なる方向に指向することによって(例えば、画像ディスプレイデバイス2を装着している間、その頭部を方向転換することによって)、作成されてもよい。画像ディスプレイデバイス2が、環境内の異なる空間に向けられるにつれて、画像ディスプレイデバイス2上のセンサが、環境の特性を感知し、その特性は、次いで、システム1によって使用され、位置特定マップを作成し得る。1つの実装では、センサは、1つまたはそれを上回るカメラおよび/または1つまたはそれを上回る深度センサを含んでもよい。カメラは、カメラ画像を提供し、これは、装置7によって処理され、環境内の異なるオブジェクトを識別する。加えて、または代替として、深度センサは、深度情報を提供し、これは、装置によって処理され、環境内のオブジェクトの異なる表面を決定する。
種々の実施形態では、ユーザは、図1Aに描写されるもの等の拡張現実システムを装着していてもよく、これは、そのようなシステムの動作されるときのユーザの周囲の3次元世界との相互作用に関連して、「空間コンピューティング」システムとも称され得る。そのようなシステムは、例えば、頭部ウェアラブルディスプレイコンポーネント2を備えてもよく、種々のタイプのカメラ等の環境感知能力を特徴とし得、これは、ユーザの周囲の環境をマッピングする、または壁、床、椅子、および同等物等のユーザの周囲の環境内の種々のオブジェクトの幾何学形状を表す、種々の点を備える、そのような環境の「メッシュ」を作成するように構成されてもよい。空間コンピューティングシステムは、ユーザの周囲の環境をマッピングまたはメッシュ化し、Magic Leap, Inc.(Planation, Florida)から利用可能なもの等のソフトウェアを起動または動作させるように構成されてもよく、これは、部屋のマップまたはメッシュを利用して、ユーザが、ユーザの周囲の3次元空間内で種々のオブジェクトおよび要素を設置、操作、可視化、作成、および修正することを補助するように構成されてもよい。図1Aに戻って参照すると、本システムは、クラウドまたは他のコネクティビティ構成によって、他のコンピューティングシステム等の付加的リソースに動作可能に結合されてもよい。空間コンピューティングにおける課題のうちの1つは、例えば、ユーザの周囲の3次元世界に関連し得る、コンピュータビジョンおよび/またはオブジェクト認識課題等における、ユーザに有用および/または重要な決定を行う際の、種々の動作可能に結合されるセンサ(図1Aのシステムの要素22、24、26、28等)によって捕捉されたデータの利用に関する。
例えば、図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)。
図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およびそのような共通体験の一部を構成するように構成される他のコンポーネントに関する、位置および配向位置特定とともに、その独自の目線のそれぞれから、両方のユーザによって体験されてもよい。
図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を図示する。
図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人のユーザが、仮想動的要素等の種々の要素とともに、協働または相互作用し得るように提示される。
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を利用することが好ましい。
図4を参照して記載されるように、近隣のユーザは、同一の近隣のPCFおよび持続アンカポイント情報を受信するように構成されてもよい。2人のプレーヤ間のPCFおよび持続アンカポイントの重複セットから、本システムは、1つまたはそれを上回るPCFおよび/または持続アンカポイントを選択するように構成されてもよく、これは、平均誤差を最小限にし、これらの共有アンカ/PCFは、共有仮想コンテンツの位置/配向を設定するために利用されてもよい。一実施形態では、クラウドコンピューティングリソース等のホストシステムは、新しい協働セッションまたはゲームを開始するとき、メッシュ化/マッピング情報を提供し、これを全てのユーザに伝送するように構成されてもよい。メッシュは、ローカルユーザによって、ホストとのその共通アンカを使用して、適切な設置場所の中に位置付けられてもよく、本システムは、プレーヤが、非常に大「ヘッドルーム」または天井高の知覚を有し得る(最大「通信時間」が所望されるとき、2人のユーザ間でパンケーキを裏返す等のシナリオのために有用である)ように、垂直に高さのある、メッシュ部分を具体的に「カット」または「クロップ」オフするように構成されてもよい。天井高等のマッピングまたはメッシュベースの限界の種々の側面は、随意に、回避または無視されてもよい(例えば、一実施形態では、床メッシュ/マップのみが、飛んでいるパンケーキ等の特定の仮想要素が接地面に衝打したことを確認するために利用されてもよい)。
上記に述べられたように、軟体物理学シミュレーションが、利用されてもよい。種々の実施形態では、粒子が、それらが仮想フライパン62、63または他の衝突性要素間に終着するとき、固まった状態にならないように防止するために、そのような衝突性要素は、衝突が正しく解決され得るように、パンケーキの対向側上に成長する、拡張部を有するように構成されてもよい。
ユーザのシステムおよび関連付けられる接続されたリソース8は、ユーザが、関連付けられるソーシャルネットワークリソースを通して(同様にML1システムを有する、友人の所定のグループ等)、およびそのようなユーザの地理的場所によって、ゲームを開始することを可能にするように構成されてもよい。例えば、特定のユーザが、図5A-5Lに図示されるようなゲームをプレーしようと試みるとき、関連付けられるシステムは、プレーパートナの選択を同一建物または同一部屋内の特定のユーザのソーシャルネットワーク内の人物に自動的に抑制するように構成されてもよい。
図5A-5Lに戻って参照すると、本システムは、算出効率が得られ得るように、一度に1つの仮想パンケーキ64にのみ対処するように構成されてもよい(すなわち、ゲーム状態全体が、単一パケットの中にパッキングされてもよい。種々の実施形態では、任意の時点に所与の仮想パンケーキ64の最も近くのプレーヤ/ユーザは、そのような仮想パンケーキ64に対する権限を与えられ、彼らが他のユーザに対してそれがある場所を制御することを意味し得る)。種々の実施形態では、ネットワーク化された状態は、物理学を更新し、全てをそれぞれ60Hzの範囲内の更新周波数でレンダリングし、これは、権限境界(すなわち、あるユーザから別のユーザへのパンケーキの権限)を越えるときでも、視覚的提示を一貫して保つように選択される。種々の実施形態では、Tnet構成(パケット切替2地点間システムエリアネットワーク)が、いくつかのカスタムパケット構成および公知のRFC刊行物に説明されるもの等の他のより標準的パケット構成とともに、利用されてもよい。
図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選択構成が、ドリフトを最小限にし、正確度を最大限にすることを補助し得る。
図8を参照すると、ユーザ1およびユーザ2は、あるコンテンツおよび/または仮想アセットがその独自の目線のそれぞれから両方のユーザによって体験され得るように、彼らが共通空間コンピューティング体験に従事し得るように、同一マップの中で位置特定されてもよい(80)。ユーザのML1システム内に常駐する、ローカルコンピューティング能力等、または相互接続され得る、あるクラウドコンピューティングリソース8等の接続されたシステムは、眼視線、上肢運動学、およびローカル環境に対する身体位置および配向等のユーザのアクティビティから意図のある側面を推測するように試みるように構成されてもよい(82)。例えば、一実施形態では、本システムは、第1のユーザの捕捉された視線情報を利用して、第1のユーザが標的化するように試み得る、第2のユーザの近似場所等、パンケーキ64等の仮想要素を放るためのある目的地を推測するように構成されてもよい。同様に、本システムは、標的化または他の変数を上肢位置、配向、速度、および/または角速度から推測するように構成されてもよい。ユーザを補助するために利用される情報は、リアルまたは近リアルタイムサンプリングからのものであってもよい、または特定のユーザのプレーまたは参加履歴等のより大きい時間ドメインからのサンプリングに基づいてもよい(例えば、畳み込みニューラルネットワーク(「CNN」)構成が、特定のユーザが、特定の標的を、または特定の方法で、打つように試みるとき、常時、特定の方法で一瞥する、または常時、その腕を特定の方法で移動させることを理解するために利用されてもよく、そのような構成は、ユーザを補助するために利用されてもよい)。少なくとも部分的に、ユーザの意図に関する1つまたはそれを上回る干渉に基づいて、本システムは、ユーザが意図される目的を遂行することを補助するように構成されてもよい(84)。例えば、一実施形態では、本システムは、振戦がユーザの手または腕で検出されるとき、ローカル環境に対する所与のシステムコンポーネントの位置または角速度に関する機能的限界を設ける(すなわち、振戦の常軌を逸するような影響を低減させ、それによって、システムに対するそのユーザの命令を平滑化するため)、またはその衝突が所望されるものであると決定されるとき、1つまたはそれを上回る要素を相互に向かって経時的にわずかに引動させる(すなわち、比較的に未発達の粗大運動技能を伴う、小さい子供の実施例では、本システムは、子供が、ゲームまたはユースケースにおいて、より成功するように、子供が照準または移動させることを補助するように構成されてもよい。例えば、仮想パンケーキ64をキャッチすることに継続的に失敗する子供に関して、その仮想フライパン62を極端に右に設置することによって、本システムは、パンケーキをフライパンに向かって、またはフライパンをパンケーキに向かって、または両方となるように誘導するように構成されてもよい)ように構成されてもよい。
種々の他の実施形態では、本システムは、ローカルの実際の世界との他の相互作用を有するように構成されてもよい。例えば、一実施形態では、図5A-5Lに図示されるようなゲームをプレーしているユーザは、仮想パンケーキ64を壁に向かって意図的に叩きつけることが可能であって、軌道が十分な速度で十分に真っ直ぐである場合、ゲームの残りにわたって、またはさらに恒久的にローカルマッピング情報の一部として、または近隣のPCFと関連付けられるように、その仮想パンケーキがその壁に粘着したままであるようにしてもよい。
処理ユニット
図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の任意のコンポーネントは、ソフトウェアを使用して実装されてもよい。
いくつかの実施形態では、処理ユニット1002は、ともに通信可能に結合される、別個のコンポーネントとして実装されてもよい。例えば、処理ユニット1002は、通信インターフェース1010、ポジショナ1020、グラフィック生成器1030、コントローラ入力1050、タスクアシスタント1060を搬送する、第1の基板と、非一過性媒体1040を搬送する、別の基板とを有してもよい。別の実施例として、処理ユニット1002のコンポーネントは全て、同一基板によって搬送されてもよい。いくつかの実施形態では、処理ユニット1002のコンポーネントの任意、いくつか、または全ては、画像ディスプレイデバイス2において実装されてもよい。いくつかの実施形態では、処理ユニット1002のコンポーネントの任意、いくつか、または全ては、ハンドヘルド制御コンポーネント4、制御コンポーネント6、携帯電話、サーバ等、画像ディスプレイデバイス2から離れたデバイスにおいて実装されてもよい。さらなる実施形態では、処理ユニット1002または処理ユニット1002のコンポーネントのいずれか(ポジショナ1020等)は、異なる個別のユーザによって装着される、異なるディスプレイデバイスにおいて実装されてもよい、または異なる個別のユーザと関連付けられる(例えば、それに近接近する)、異なるデバイスにおいて実装されてもよい。
処理ユニット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によって計算される、移動軌道に沿ったものであってもよい。移動モデルは、本明細書にさらに詳細に説明されるであろう。
図9に戻ると、通信インターフェース1010は、位置情報を受信するように構成される。本明細書で使用されるように、用語「位置情報」は、エンティティの位置を表す、任意の情報、またはエンティティの位置を導出するために使用され得る、任意の情報を指す。いくつかの実施形態では、通信インターフェース1010は、画像ディスプレイデバイス2のカメラおよび/または深度センサに通信可能に結合される。そのような実施形態では、通信インターフェース1010は、直接、画像をカメラから、および/または深度信号を深度センサから受信する。いくつかの実施形態では、通信インターフェース1010は、位置情報として通信インターフェース1010に通過する前に、カメラからの画像を処理し、および/または深度センサからの深度信号を処理する、別の処理ユニット等の別のデバイスに結合されてもよい。他の実施形態では、通信インターフェース1010は、GPS情報、または位置を導出するために使用され得る、任意の情報を受信するように構成されてもよい。また、いくつかの実施形態では、通信インターフェース1010は、無線で、または物理的伝導性伝送ラインを介して出力される、位置情報を取得するように構成されてもよい。
いくつかの実施形態では、異なるタイプのセンサ出力を提供するために、異なるセンサが画像ディスプレイデバイス2に存在する場合、処理ユニット1002の通信インターフェース1010は、異なる個別のセンサ出力を受信するために、異なる個別のサブ通信インターフェースを有してもよい。いくつかの実施形態では、センサ出力は、画像ディスプレイデバイス2におけるカメラによって捕捉された画像を含んでもよい。代替として、または加えて、センサ出力は、画像ディスプレイデバイス2における深度センサによって捕捉された距離データを含んでもよい。距離データは、飛行時間技法に基づいて生成されたデータであってもよい。そのような場合、画像ディスプレイデバイス2における信号生成器は、信号を伝送し、信号は、ユーザの周囲の環境内のオブジェクトから反射する。反射された信号は、画像ディスプレイデバイス2における受信機によって受信される。信号がオブジェクトに到達し、受信機に戻るように反射するまでにかかった時間に基づいて、センサまたは処理ユニット1002は、次いで、オブジェクトと受信機との間の距離を決定してもよい。他の実施形態では、センサ出力は、環境内のエンティティ(ユーザ、オブジェクト等)の場所を決定するように処理され得る、任意の他のデータを含んでもよい。
処理ユニット1002のポジショナ1020は、画像ディスプレイデバイスのユーザの位置を決定し、および/または画像ディスプレイデバイス内に表示されるべき仮想オブジェクトの位置を決定するように構成される。いくつかの実施形態では、通信インターフェース1010によって受信される位置情報は、センサ信号であってもよく、ポジショナ1020は、センサ信号を処理して、画像ディスプレイデバイスのユーザの位置を決定するように構成される。例えば、センサ信号は、画像ディスプレイデバイスの1つまたはそれを上回るカメラによって捕捉されたカメラ画像であってもよい。そのような場合、処理ユニット1002のポジショナ1020は、ユーザの位置特定のために、カメラ画像に基づいて、位置特定マップを決定し、および/またはカメラ画像内の特徴と作成された位置特定マップ内の特徴をマッチングさせるように構成される。1つの実装では、ポジショナ1020は、ユーザの位置特定のために、図2および/または図3を参照して説明されるアクションを実施するように構成される。他の実施形態では、通信インターフェース1010によって受信された位置情報は、すでに、ユーザの位置を示している場合がある。そのような場合、ポジショナ1020は、次いで、位置情報をユーザの位置として使用する。
図9に示されるように、ポジショナ1020は、アンカポイントモジュール1022と、アンカポイント選択器1024とを含む。アンカポイントモジュール1022は、1つまたはそれを上回るアンカポイントを決定するように構成され、これは、処理ユニット1002によって、ユーザを位置特定する、および/または仮想オブジェクトをユーザを囲繞する環境に対して設置することによって、利用されてもよい。いくつかの実施形態では、アンカポイントは、位置特定マップ内の点であってもよく、位置特定マップ内の各点は、物理的環境内で識別された特徴(例えば、角、縁、オブジェクト等)であってもよい。また、いくつかの実施形態では、各アンカポイントは、以前に、または現在のセッションにおいて決定された、持続座標フレーム(PCF)であってもよい。いくつかの実施形態では、通信インターフェース1010は、以前に決定されたアンカポイントを別のデバイスから受信してもよい。そのような場合、アンカポイントモジュール1022は、アンカポイントを通信インターフェース1010から受信することによって、アンカポイントを取得してもよい。他の実施形態では、アンカポイントは、非一過性媒体1040内に記憶されてもよい。そのような場合、アンカポイントモジュール1022は、アンカポイントを非一過性媒体1040から読み出すことによって、アンカポイントを取得してもよい。さらなる実施形態では、アンカポイントモジュール1022は、マップ作成セッション内でアンカポイントを決定するように構成されてもよい。マップ作成セッションでは、画像ディスプレイデバイスを装着しているユーザは、画像ディスプレイデバイスのカメラが環境内の異なる特徴の画像を捕捉するように、環境内を歩き回り、および/または画像ディスプレイデバイスを異なる視認角度に配向する。処理ユニット1002は、次いで、アンカポイントとしての使用のために、特徴識別を実施し、環境内の1つまたはそれを上回る特徴を識別してもよい。いくつかの実施形態では、ある物理的環境のためのアンカポイントは、すでに、前のセッション内で決定されている。そのような場合、ユーザが、同一物理的環境に進入すると、ユーザによって装着されている画像ディスプレイデバイスにおけるカメラは、物理的環境の画像を捕捉するであろう。処理ユニット1002は、物理的環境内の特徴を識別し、特徴のうちの1つまたはそれを上回るものが以前に決定されたアンカポイントとマッチングするかどうかを確認してもよい。該当する場合、マッチングされたアンカポイントは、処理ユニット1002が、それらのアンカポイントをユーザ位置特定および/または仮想コンテンツの設置のために使用し得るように、アンカポイントモジュール1022によって利用可能にされるであろう。
また、いくつかの実施形態では、ユーザが、物理的環境内を動き回るにつれて、処理ユニット1002のアンカポイントモジュール1022は、付加的アンカポイントを識別するであろう。例えば、ユーザが、環境内の第1の位置に存在するとき、処理ユニット1002のアンカポイントモジュール1022は、環境内のユーザの第1の位置に近接近する、アンカポイントAP1、AP2、AP3を識別してもよい。ユーザが、物理的環境内で第1の位置から第2の位置に移動する場合、処理ユニット1002のアンカポイントモジュール1022は、環境内のユーザの第2の位置に近接近する、アンカポイントAP3、AP4、AP5を識別してもよい。
加えて、いくつかの実施形態では、アンカポイントモジュール1022は、複数のユーザと関連付けられる、アンカポイントを取得するように構成される。例えば、同一物理的環境内の2人のユーザが、相互から離れて立っている場合がある。第1のユーザは、それと関連付けられる第1のアンカポイントのセットを伴う、第1の場所に存在してもよい。同様に、第2のユーザは、それと関連付けられる第2のアンカポイントのセットを伴う、第2の場所に存在してもよい。2人のユーザが、相互から離れているため、最初は、第1のアンカポイントのセットおよび第2のアンカポイントのセットは、任意の重複を有していなくてもよい。しかしながら、ユーザの一方または両方が、相互に向かって移動すると、個別の第1および第2のセット内のアンカポイントの構成は、変化するであろう。彼らが、十分に接近する場合、第1および第2のアンカポイントのセットは、重複を有し始めるであろう。
アンカポイント選択器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は、次いで、ユーザが同一物理的環境内で仮想コンテンツと相互作用し得るように、仮想コンテンツの設置のために、選択された共通アンカポイントを利用してもよい。
いくつかの実施形態では、アンカポイント選択器1024は、図4を参照して説明されるアクションを実施するように構成されてもよい。
図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はまた、仮想オブジェクトをユーザの視覚深度の内外に移動させてもよい。
グラフィック生成器1030は、グラフィックを、表示のために、少なくとも部分的に、ポジショナ1020からの出力および/またはコントローラ入力1050からの出力に基づいて、画像ディスプレイデバイス2の画面上に生成するように構成される。例えば、グラフィック生成器1030は、画面を通してユーザによって視認される際、仮想オブジェクトが環境内にあるに現れるように、画像ディスプレイデバイス2の画面を制御し、仮想オブジェクトを表示してもよい。非限定的実施例として、仮想オブジェクトは、仮想可動オブジェクト(例えば、ボール、シャトル、弾丸、ミサイル、火災、熱波、エネルギー波)、武器(例えば、剣、斧、ハンマー、ナイフ、弾丸等)、部屋内に見出され得る、任意のオブジェクト(例えば、鉛筆、丸めた紙の球、カップ、椅子等)、建物外に見出され得る、任意のオブジェクト(例えば、岩、木の枝等)、車両(例えば、車、飛行機、宇宙シャトル、ロケット、潜水艦、ヘリコプタ、オートバイ、自転車、トラクタ、全地形対応車、スノーモービル等)等であってもよい。また、いくつかの実施形態では、グラフィック生成器1030は、仮想オブジェクトが環境内の実際の物理的オブジェクトと相互作用するように現れるであろうように、表示のために、仮想オブジェクトの画像を画面上に生成してもよい。例えば、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、仮想オブジェクトが環境内の空間を通して移動しているように現れるように、画面に、仮想オブジェクトの画像を移動構成において表示させてもよい。また、いくつかの実施形態では、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、仮想オブジェクトが環境内の物理的オブジェクトを変形または損傷させるように現れる、または別の仮想オブジェクトを変形または損傷させるように現れるように、画面に、仮想オブジェクトの画像を表示させてもよい。ある場合には、これは、グラフィック生成器1030が、画像ディスプレイデバイス2の画面による表示のために、変形跡(例えば、凹み跡、折線等)の画像、焼け跡の画像、熱変化を示す画像、火災の画像、爆発画像、残骸画像等等の相互作用画像を生成することによって遂行されてもよい。
上記に述べられたように、いくつかの実施形態では、グラフィック生成器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をディスプレイ画面に対する所望の位置に設置するために利用されてもよい。
上記の実施例に図示されるように、その軌道に沿った種々の場所におけるパンケーキ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つのアイテム間の距離を指す。
仮想コンテンツのアクションに近接近する、アンカポイントに基づいて、仮想コンテンツを設置する上記の技法は、2人のユーザを伴うゲームに限定されないことに留意されたい。他の実施形態では、仮想コンテンツを設置する上記の技法は、単独ユーザのみまたは2人を上回るユーザを伴う、任意のアプリケーションに適用されてもよい(任意のゲーム用アプリケーションである場合とそうではない場合がある)。例えば、他の実施形態では、仮想コンテンツを設置する上記の技法は、ユーザが物理的環境内でユーザから離れた仮想コンテンツを設置することを可能にする、アプリケーションにおいて利用されてもよい。仮想コンテンツを設置する上記の技法は、仮想コンテンツがユーザから(例えば、5フィートを上回って、10フィートを上回って、15フィートを上回って、20フィートを上回って等)離れている場合でも、(ユーザが装着している画面を通してユーザによって視認される際)仮想コンテンツがユーザに対して仮想的に正確に設置されることを可能にするため、有利である。
図9を参照して議論されるように、処理ユニット1002は、アンカポイント情報を記憶するように構成される、非一過性媒体1040を含む。非限定的実施例として、非一過性媒体1040は、アンカポイントの位置、異なるユーザと関連付けられる、アンカポイントの異なるセット、共通アンカポイントのセット、ユーザの位置特定および/または仮想コンテンツの設置のために選択された共通アンカポイント等を記憶してもよい。非一過性媒体1040は、他の実施形態では、他の情報を記憶してもよい。いくつかの実施形態では、非一過性媒体1040は、異なる仮想コンテンツを記憶してもよく、これは、グラフィック生成器1030によって、ユーザへの提示のために読み出されてもよい。ある場合には、ある仮想コンテンツは、ゲーム用アプリケーションと関連付けられてもよい。そのような場合、ゲーム用アプリケーションが、アクティブ化されると、処理ユニット1002は、次いで、非一過性媒体1040にアクセスし、ゲーム用アプリケーションのための対応する仮想コンテンツを取得してもよい。いくつかの実施形態では、非一過性媒体はまた、ゲーム用アプリケーションおよび/またはゲーム用アプリケーションと関連付けられるパラメータを記憶してもよい。
加えて、本明細書に開示されるように、いくつかの実施形態では、仮想コンテンツは、軌道モデルに基づいて画面内で移動する、可動オブジェクトであってもよい。軌道モデルは、いくつかの実施形態では、非一過性媒体1040内に記憶されてもよい。いくつかの実施形態では、軌道モデルは、直線であってもよい。そのような場合、軌道モデルが、仮想オブジェクトの移動に適用されると、仮想オブジェクトは、軌道モデルの直線によって定義された直線経路内で移動するであろう。別の実施例として、軌道モデルは、仮想オブジェクトの初期速度Voおよび初期移動方向に基づき、また、仮想オブジェクトの重量に基づく、経路を定義する、放物線方程式であってもよい。したがって、異なる個別の割り当てられた重量を伴う、異なる仮想オブジェクトが、異なる放物線経路に沿って移動するであろう。
非一過性媒体1040は、単一記憶ユニットに限定されず、統合されるか、または分離されるが、通信可能に接続される(例えば、無線で、または導線によって)かのいずれかである、複数の記憶ユニットを含んでもよい。
いくつかの実施形態では、仮想オブジェクトが、物理的環境を通して、仮想的に移動するにつれて、処理ユニット1002は、物理的環境内で識別された1つまたはそれを上回るオブジェクトに対する仮想オブジェクトの位置を追跡する。ある場合には、仮想オブジェクトが、物理的オブジェクトと接触する、またはそれに近接近する場合、グラフィック生成器1030は、グラフィックを生成し、仮想オブジェクトと環境内の物理的オブジェクトとの間の相互作用を示してもよい。例えば、グラフィックは、仮想オブジェクトの進行経路を変化させることによって、仮想オブジェクトが物理的オブジェクト(例えば、壁)または別の仮想オブジェクトから偏向されることを示してもよい。別の実施例として、仮想オブジェクトが、物理的オブジェクト(例えば、壁)または別の仮想オブジェクトと接触する、またはそれに近接近する場合、グラフィック生成器1030は、仮想オブジェクトが物理的オブジェクトまたは他の仮想オブジェクトに接触する場所と空間的に関連付けて、相互作用画像を設置してもよい。相互作用画像は、壁に、亀裂が入った、凹みができた、傷が付いた、汚れが付いたこと等を示してもよい。
いくつかの実施形態では、異なる相互作用画像は、非一過性媒体1040内に記憶されてもよく、および/または処理ユニット1002と通信する、サーバ内に記憶されてもよい。相互作用画像は、2つのオブジェクトの相互作用に関連する、1つまたはそれを上回る属性と関連付けて記憶されてもよい。例えば、皺の画像が、属性「毛布」と関連付けて記憶されてもよい。そのような場合、仮想オブジェクトが、「毛布」と識別され得る、物理的オブジェクト上に支持されているように表示される場合、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通して視認される際、仮想オブジェクトが、毛布の上部に着座することによって、毛布に皺が寄って現れるように、仮想オブジェクトと物理的オブジェクトとの間の皺の画像を表示してもよい。
1つまたはそれを上回るアンカポイントに基づいて、物理的環境に対して仮想的に表示され得る、仮想コンテンツは、説明された実施例に限定されず、仮想コンテンツは、他のアイテムであってもよいことに留意されたい。また、本明細書で使用されるように、用語「仮想コンテンツ」は、仮想化された物理的アイテムに限定されず、仮想化されたエネルギー(例えば、レーザビーム、音波、エネルギー波、熱等)等の任意のアイテムの仮想化を指し得る。用語「仮想コンテンツ」はまた、テキスト、シンボル、漫画、アニメーション等の任意のコンテンツを指し得る。
タスクアシスタント
図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でより容易にキャッチすることを可能にしてもよい。
いくつかの実施形態では、ユーザが仮想コンテンツを伴うタスクを遂行することを補助することは、基準の充足に応答して実施されてもよい。例えば、本明細書に説明される、パンケーキキャッチゲームを使用すると、いくつかの実施形態では、処理ユニット1002は、移動するパンケーキ64の軌道およびコントローラ4の移動軌道に基づいて、ユーザがパンケーキ64をキャッチする状態に近づくであろう(例えば、5インチ、3インチ、1インチ等の距離閾値以内であろう)かどうかを決定(例えば、予測)するように構成されてもよい。該当する場合、タスクアシスタント1060は、パンケーキ64がフライパン62によってキャッチされることを示す、グラフィックを出力するように、グラフィック生成器1030を制御するであろう。他方では、処理ユニット1002が、ユーザがパンケーキ64をフライパン62でキャッチする状態に近づかないであろうことを決定(例えば、予測)する場合、タスクアシスタント1060は、ユーザがタスクを遂行することを支援ための任意のアクションを行わないであろう。
タスクアシスタント1060がユーザが遂行することを支援し得る、タスクは、飛んでいる仮想オブジェクトをキャッチする実施例に限定されないことに留意されたい。他の実施形態では、タスクアシスタント1060は、処理ユニット1002が、タスクが遂行される状態に非常に近づくであろう(例えば、80%、85%、90%、95%等を上回って)ことを決定(例えば、予測)する場合、ユーザが他のタスクを遂行することを支援し得る。例えば、他の実施形態では、タスクは、ユーザが、別のユーザに対して、開口部(例えば、バスケットボールフープ)を通して、オブジェクト(例えば、射撃場の標的)に対して等、仮想オブジェクトを目的地に投げる、または撃つことを伴ってもよい。
他の実施形態では、タスクアシスタント1060は、随意であって、処理ユニット1002は、タスクアシスタント1060を含まない。
処理ユニットおよび/または処理ユニット内のアプリケーションによって実施される方法
図10は、いくつかの実施形態による、方法1100を図示する。方法1100は、仮想または拡張環境内で、仮想コンテンツを提供するように構成される、装置によって実施されてもよい。また、いくつかの実施形態では、方法1100は、その中で第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが、相互に相互作用し得る、仮想または拡張現実環境内で、仮想コンテンツを提供するように構成される、装置によって実施されてもよい。各画像ディスプレイデバイスは、いくつかの実施形態では、画像ディスプレイデバイス2であってもよい。いくつかの実施形態では、方法1100は、本明細書に説明される、画像ディスプレイデバイスのいずれかによって、または複数の画像ディスプレイデバイスによって実施されてもよい。また、いくつかの実施形態では、方法1100の少なくとも一部は、処理ユニット1002によって、または複数の処理ユニット(例えば、個別の画像ディスプレイデバイス内の処理ユニット)によって実施されてもよい。さらに、いくつかの実施形態では、方法1100は、サーバ、または個別のユーザによって装着される画像ディスプレイデバイスと別個である、装置によって実施されてもよい。
図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)とを含む。
随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、共通アンカポイントのサブセットを複数の共通アンカポイントから選択することを含む。
随意に、方法1100では、共通アンカポイントのサブセットは、第1のユーザおよび第2のユーザの相互に対する位置特定誤差を低減させるように選択される。
随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える。
随意に、方法1100はさらに、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、仮想コンテンツに関する位置および/または配向を決定することを含む。
随意に、方法1100では、第1のセット内の1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である。
随意に、方法1100では、仮想コンテンツは、表示のために、可動仮想オブジェクトとして、第1のディスプレイ画面および/または第2のディスプレイ画面内に提供される。
随意に、方法1100では、仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、仮想オブジェクトが第1のユーザと第2のユーザとの間の空間内を移動しているように現れるように提供される。
随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、第1の共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、第2の共通アンカポイントに基づく。
随意に、方法1100はさらに、仮想オブジェクトのアクションが生じる場所に基づいて、仮想オブジェクトを第1のオブジェクト位置に設置するための第1の共通アンカポイントを選択することを含む。
随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、可動仮想オブジェクトは、表示のために、第1のディスプレイ画面内に、可動仮想オブジェクトが、第1のディスプレイ画面に対する第1のオブジェクト位置と、第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、可動仮想オブジェクトの第1のオブジェクト位置は、単一共通アンカポイントに基づき、可動仮想オブジェクトの第2のオブジェクト位置は、単一共通アンカポイントに基づく。
随意に、方法1100では、1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、本方法はさらに、仮想コンテンツを第1のディスプレイ画面内に設置するための共通アンカポイントのうちの1つを選択することを含む。
随意に、方法1100では、選択する行為は、仮想コンテンツのアクションに最も近いかまたは仮想コンテンツのアクションから距離閾値内にある、共通アンカポイントのうちの1つを選択することを含む。
随意に、方法1100では、仮想コンテンツの位置および/または移動は、第1のユーザの第1のハンドヘルドデバイスによって、制御可能である。
随意に、方法1100では、仮想コンテンツの位置および/または移動はまた、第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である。
随意に、方法1100はさらに、1つまたはそれを上回る共通アンカポイントに基づいて、第1のユーザおよび第2のユーザを同一マッピング情報に対して位置特定することを含む。
随意に、方法1100はさらに、仮想コンテンツが第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるように、第1のディスプレイ画面によって、仮想コンテンツを表示することを含む。
随意に、方法1100はさらに、1つまたはそれを上回るセンサ入力を取得することと、1つまたはそれを上回るセンサ入力に基づいて、第1のユーザが仮想コンテンツを伴う目的を遂行することを補助することとを含む。
随意に、方法1100では、1つまたはそれを上回るセンサ入力は、第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す。
随意に、方法1100では、第1のユーザが目的を遂行することを補助する行為は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することを含む。
随意に、方法1100では、第1のユーザが目的を遂行することを補助する行為は、仮想コンテンツと別の要素との間の距離を徐々に低減させることを含む。
随意に、方法1100では、装置は、第1のディスプレイ画面と通信する、第1の処理部分と、第2のディスプレイ画面と通信する、第2の処理部分とを備える。
いくつかの実施形態では、方法1100は、処理ユニットが非一過性媒体内に記憶される命令を実行することに応答して、実施されてもよい。故に、いくつかの実施形態では、非一過性媒体は、記憶される命令を含み、処理ユニットによるその実行は、ある方法が実施されることを引き起こす。処理ユニットは、その中で第1のユーザおよび第2のユーザが相互に相互作用し得る、仮想または拡張現実環境内で、仮想コンテンツを提供するように構成される、装置の一部であってもよい。方法(処理ユニットが命令を実行することによって実施されることが引き起こされる)は、第1のユーザの第1の位置を取得することと、第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、第2のユーザの第2の位置を取得することと、第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、第1のセットおよび第2のセットの両方内にある、1つまたはそれを上回る共通アンカポイントを決定ことと、1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、第1のユーザおよび/または第2のユーザによる体験のための仮想コンテンツを提供することとを含む。
特殊処理システム
いくつかの実施形態では、本明細書に説明される方法1100は、アプリケーションを実行するシステム1(例えば、処理ユニット1002)によって、またはアプリケーションによって、実施されてもよい。アプリケーションは、命令のセットを含有してもよい。1つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。システム1の処理ユニット1102による命令の実行は、処理ユニット1102および/または画像ディスプレイデバイス2に、本明細書に説明される特徴を実施させるであろう。例えば、いくつかの実施形態では、処理ユニット1102による命令の実行は、方法1100を実施させるであろう。
いくつかの実施形態では、システム1、画像ディスプレイデバイス2、または装置7はまた、特殊処理システムと見なされ得る。特に、システム1、画像ディスプレイデバイス2、または装置7は、一意の有形効果を実世界内で提供するための処理ユニット1102による実行のために、その非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス2によって提供される特徴(処理ユニット1102が命令を実行する結果として)は、拡張現実および仮想現実の技術分野内における改良を提供する。
図11は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム1600の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム1600は、システム1の少なくとも一部、例えば、画像ディスプレイデバイス2、処理ユニット1002等を実装するために使用されてもよい。また、いくつかの実施形態では、処理システム1600は、処理ユニット1102またはその中の1つまたはそれを上回るコンポーネント(例えば、ポジショナ1020、グラフィック生成器1030等)を実装するために使用されてもよい。
処理システム1600は、バス1602または情報を通信するための他の通信機構と、情報を処理するためにバス1602と結合される、プロセッサ1604とを含む。プロセッサシステム1600はまた、情報およびプロセッサ1604によって実行されるべき命令を記憶するためにバス1602に結合される、ランダムアクセスメモリ(RAM)または他の動的記憶デバイス等のメインメモリ1606を含む。メインメモリ1606はまた、プロセッサ1604によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム1600はさらに、静的情報およびプロセッサ1604のための命令を記憶するためにバス1602に結合される、読取専用メモリ(ROM)1608または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス1610が、提供され、情報および命令を記憶するためにバス1602に結合される。
プロセッサシステム1600は、情報をユーザに表示するために、バス1602を介して、画面等のディスプレイ1612に結合されてもよい。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ1612は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス1614が、情報およびコマンド選択をプロセッサ1604に通信するために、バス1602に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ1604に通信するための、かつディスプレイ1612上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御1616である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有する。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、入力デバイス1614およびカーソル制御は、タッチスクリーンであってもよい。
いくつかの実施形態では、プロセッサシステム1600は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ1604がメインメモリ1606内に含有される1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスを実行することに応答して、プロセッサシステム1600によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス1610等の別のプロセッサ可読媒体からメインメモリ1606の中に読み込まれてもよい。メインメモリ1606内に含有される命令のシーケンスの実行は、プロセッサ1604に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における1つまたはそれを上回るプロセッサもまた、メインメモリ1606内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。
用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ1604に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1610等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ1606等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス1602を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、およびEPROM、FLASH-EPROM、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。
種々の形態のプロセッサ可読媒体が、実行のために、1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスをプロセッサ1604に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム1600は、ネットワークラインに関するデータを受信することができる。バス1602は、データをメインメモリ1606に搬送し、そこから、プロセッサ1604は、命令を読み出し、実行する。メインメモリ1606によって受信された命令は、随意に、プロセッサ1604による実行の前または後のいずれかにおいて、記憶デバイス1610上に記憶され得る。
処理システム1600はまた、バス1602に結合される、通信インターフェース1618を含む。通信インターフェース1618は、ローカルネットワーク1622に接続される、ネットワークリンク1620への双方向データ通信結合を提供する。例えば、通信インターフェース1618は、データ通信接続を互換性があるLANに提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース1618は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。
ネットワークリンク1620は、典型的には、1つまたはそれを上回るネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク1620は、ローカルネットワーク1622を通して、接続をホストコンピュータ1624または機器1626に提供してもよい。ネットワークリンク1620を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、およびネットワークリンク1620上、および処理システム1600におよびそこからデータを搬送する、通信インターフェース1618を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム1600は、ネットワーク、ネットワークリンク1620、および通信インターフェース1618を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。
用語「画像」は、本明細書で使用されるように、表示される画像および/または表示形態ではない画像(例えば、媒体内に記憶されている、または処理中の画像または画像データ)を指し得ることに留意されたい。
また、本明細書で使用されるように、仮想コンテンツの用語「アクション」は、移動する、仮想コンテンツに限定されず、移動されることが可能である、定常仮想コンテンツも指し得る(例えば、ポインタを使用して、ユーザによって「ドラッグ」され得る、またはされている、仮想コンテンツ)、またはその上またはその傍でアクションが実施され得る、任意の仮想コンテンツも指し得る。
種々の例示的実施形態が、本明細書に説明される。これらの実施例は、非限定的意味で参照される。それらは、本発明のより広く適用可能な側面を例証するために提供される。種々の変更が、説明される実施形態に行われてもよく、本発明の真の精神および範囲から逸脱することなく、均等物が代用されてもよい。加えて、多くの修正が、特定の状況、材料、組成物、プロセス、プロセス作用、またはステップを本発明の目的、精神、または範囲に適合させるために行われてもよい。さらに、当業者によって理解されるであろうように、本明細書で説明および例証される個々の変形例のそれぞれは、本発明の範囲または精神から逸脱することなく、他のいくつかの実施形態のうちのいずれかの特徴から容易に分離される、またはそれらと組み合わせられる、離散コンポーネントおよび特徴を有する。全てのそのような修正は、本開示と関連付けられる請求項に記載の範囲内であることが意図される。
本実施形態は、本主題のデバイスを使用して実施され得る方法を含む。本方法は、そのような好適なデバイスを提供する行為を備えてもよい。そのような提供は、エンドユーザによって実施されてもよい。換言すると、「提供する」行為は、単に、エンドユーザが、本主題の方法において必要なデバイスを取得する、それにアクセスする、それに接近する、それを位置付ける、それを設定する、それを活性化する、それに電源を入れる、または別様にそれを提供するように作用することを要求する。本明細書に列挙される方法は、論理的に可能な列挙されたイベントの任意の順序およびイベントの列挙された順序で行われてもよい。
そのような排他的専門用語を使用しなければ、本発明と関連付けられる請求項における用語「~を備える(comprising)」は、所与の数の要素が請求項で列挙されるかどうかにかかわらず、任意の付加的要素の包含を可能にするものとする、または特徴の追加は、そのような請求項に記載される要素の性質を変換すると見なされ得る。本明細書で具体的に定義される場合を除いて、本明細書で使用される全ての技術および科学用語は、請求項の正当性を維持しながら、可能な限り広い一般的に理解されている意味を与えられるべきである。
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載されている。本開示の他の詳細に関して、これらは、上記で参照された特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことが、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されているが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)が、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つまたはそれを上回るものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられる請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
加えて、本明細書で使用されるように、項目のリスト「~のうちの少なくとも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つがそれぞれ存在するように要求することを示唆することを意図するものではない。
本開示の範疇は、提供される実施例および/または本明細書に限定されるべきではなく、むしろ、本開示と関連付けられる請求項の用語の範囲のみによって限定されるべきである。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。

Claims (45)

  1. 環境内で、仮想コンテンツを提供するための装置であって、前記環境内で、第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のユーザによる体験のための前記仮想コンテンツを提供することと
    を行うように構成される、処理ユニットと
    を備える、装置。
  2. 前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記処理ユニットは、共通アンカポイントのサブセットを前記複数の共通アンカポイントから選択するように構成される、請求項1に記載の装置。
  3. 前記処理ユニットは、前記共通アンカポイントのサブセットを選択し、前記第1のユーザおよび前記第2のユーザの相互に対する位置特定誤差を低減させるように構成される、請求項2に記載の装置。
  4. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える、請求項1に記載の装置。
  5. 前記処理ユニットは、前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記仮想コンテンツを位置付ける、および/または配向するように構成される、請求項1に記載の装置。
  6. 前記第1のセット内の前記1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である、請求項1に記載の装置。
  7. 前記処理ユニットは、前記仮想コンテンツを、表示のために、前記第1のディスプレイ画面および/または前記第2のディスプレイ画面内に、可動仮想オブジェクトとして提供するように構成される、請求項1に記載の装置。
  8. 前記処理ユニットは、前記仮想オブジェクトが前記第1のユーザと前記第2のユーザとの間の空間内で移動しているように現れるように、前記仮想オブジェクトを表示のために前記第1のディスプレイ画面内に提供するように構成される、請求項7に記載の装置。
  9. 前記1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、
    処理ユニットは、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、前記可動仮想オブジェクトを表示のために前記第1のディスプレイ画面内に提供するように構成され、
    前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記第1の共通アンカポイントに基づき、
    前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記第2の共通アンカポイントに基づく、
    請求項7に記載の装置。
  10. 前記処理ユニットは、前記仮想オブジェクトのアクションが生じる場所に基づいて、前記仮想オブジェクトを前記第1のオブジェクト位置に設置するための前記第1の共通アンカポイントを選択するように構成される、請求項9に記載の装置。
  11. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、
    処理ユニットは、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように、前記可動仮想オブジェクトを表示のために前記第1のディスプレイ画面内に提供するように構成され、
    前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記単一共通アンカポイントに基づき、
    前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記単一共通アンカポイントに基づく、
    請求項7に記載の装置。
  12. 前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記処理ユニットは、前記仮想コンテンツを前記第1のディスプレイ画面内に設置するために、前記共通アンカポイントのうちの1つを選択するように構成される、請求項1に記載の装置。
  13. 前記処理ユニットは、前記仮想コンテンツのアクションに最も近いかまたは前記仮想コンテンツのアクションから距離閾値内にある前記共通アンカポイントのうちの1つを選択することによって、前記仮想コンテンツを設置するための前記共通アンカポイントのうちの1つを選択するように構成される、請求項12に記載の装置。
  14. 前記仮想コンテンツの位置および/または移動は、前記第1のユーザの第1のハンドヘルドデバイスによって、制御可能である、請求項1に記載の装置。
  15. 前記仮想コンテンツの位置および/または移動はまた、前記第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である、請求項14に記載の装置。
  16. 前記処理ユニットは、前記1つまたはそれを上回る共通アンカポイントに基づいて、前記第1のユーザおよび前記第2のユーザを同一マッピング情報に対して位置特定するように構成される、請求項1に記載の装置。
  17. 前記処理ユニットは、前記仮想コンテンツが前記第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるであろうように、前記第1のディスプレイ画面に、前記仮想コンテンツを表示させるように構成される、請求項1に記載の装置。
  18. 前記処理ユニットは、1つまたはそれを上回るセンサ入力を取得するように構成され、
    前記処理ユニットは、前記1つまたはそれを上回るセンサ入力に基づいて、前記第1のユーザが前記仮想コンテンツを伴う目的を遂行することを補助するように構成される、
    請求項1に記載の装置。
  19. 前記1つまたはそれを上回るセンサ入力は、前記第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す、請求項18に記載の装置。
  20. 前記処理ユニットは、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することによって、前記第1のユーザが前記目的を遂行することを補助するように構成される、請求項18に記載の装置。
  21. 前記処理ユニットは、前記仮想コンテンツと別の要素との間の距離を徐々に低減させることによって、前記第1のユーザが前記目的を遂行することを補助するように構成される、請求項18に記載の装置。
  22. 前記処理ユニットは、前記第1のディスプレイ画面と通信する第1の処理部分と、前記第2のディスプレイ画面と通信する第2の処理部分とを備える、請求項1に記載の装置。
  23. 環境内で、仮想コンテンツを提供するように構成される装置によって実施される方法であって、前記環境内で、第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが相互に相互作用し得、前記方法は、
    前記第1のユーザの第1の位置を取得することと、
    前記第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、
    前記第2のユーザの第2の位置を取得することと、
    前記第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、
    前記第1のセットおよび前記第2のセットの両方内にある1つまたはそれを上回る共通アンカポイントを決定することと、
    前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記第1のユーザおよび/または前記第2のユーザによる体験のための前記仮想コンテンツを提供することと
    を含む、方法。
  24. 前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記方法はさらに、前記共通アンカポイントのサブセットを前記複数の共通アンカポイントから選択することを含む、請求項23に記載の方法。
  25. 前記共通アンカポイントのサブセットは、前記第1のユーザおよび前記第2のユーザの相互に対する位置特定誤差を低減させるように選択される、請求項24に記載の方法。
  26. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備える、請求項23に記載の方法。
  27. 前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記仮想コンテンツに関する位置および/または配向を決定することをさらに含む、請求項23に記載の方法。
  28. 前記第1のセット内の前記1つまたはそれを上回るアンカポイントのそれぞれは、持続座標フレーム(PCF)内の点である、請求項23に記載の方法。
  29. 前記仮想コンテンツは、表示のために、前記第1のディスプレイ画面および/または前記第2のディスプレイ画面内に、可動仮想オブジェクトとして提供される、請求項23に記載の方法。
  30. 前記仮想オブジェクトは、表示のために、前記第1のディスプレイ画面内に、前記仮想オブジェクトが前記第1のユーザと前記第2のユーザとの間の空間内を移動しているように現れるように提供される、請求項29に記載の方法。
  31. 前記1つまたはそれを上回る共通アンカポイントは、第1の共通アンカポイントと、第2の共通アンカポイントとを備え、
    前記可動仮想オブジェクトは、表示のために、前記第1のディスプレイ画面内に、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、
    前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記第1の共通アンカポイントに基づき、
    前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記第2の共通アンカポイントに基づく、
    請求項29に記載の方法。
  32. 前記仮想オブジェクトのアクションが生じる場所に基づいて、前記仮想オブジェクトを前記第1のオブジェクト位置に設置するための前記第1の共通アンカポイントを選択することをさらに含む、請求項31に記載の方法。
  33. 前記1つまたはそれを上回る共通アンカポイントは、単一共通アンカポイントを備え、
    前記可動仮想オブジェクトは、表示のために、前記第1のディスプレイ画面内に、前記可動仮想オブジェクトが、前記第1のディスプレイ画面に対する第1のオブジェクト位置と、前記第1のディスプレイ画面に対する第2のオブジェクト位置とを有するように提供され、
    前記可動仮想オブジェクトの前記第1のオブジェクト位置は、前記単一共通アンカポイントに基づき、
    前記可動仮想オブジェクトの前記第2のオブジェクト位置は、前記単一共通アンカポイントに基づく、
    請求項29に記載の方法。
  34. 前記1つまたはそれを上回る共通アンカポイントは、複数の共通アンカポイントを備え、前記方法はさらに、前記仮想コンテンツを前記第1のディスプレイ画面内に設置するための前記共通アンカポイントのうちの1つを選択することを含む、請求項23に記載の方法。
  35. 前記選択する行為は、前記仮想コンテンツのアクションに最も近いかまたは前記仮想コンテンツのアクションから距離閾値内にある前記共通アンカポイントのうちの1つを選択することを含む、請求項34に記載の方法。
  36. 前記仮想コンテンツの位置および/または移動は、前記第1のユーザの第1のハンドヘルドデバイスによって、制御可能である、請求項23に記載の方法。
  37. 前記仮想コンテンツの位置および/または移動はまた、前記第2のユーザの第2のハンドヘルドデバイスによっても、制御可能である、請求項36に記載の方法。
  38. 前記1つまたはそれを上回る共通アンカポイントに基づいて、前記第1のユーザおよび前記第2のユーザを同一マッピング情報に対して位置特定することをさらに含む、請求項23に記載の方法。
  39. 前記仮想コンテンツが前記第1のユーザの周囲環境内の物理的オブジェクトに対してある空間関係において現れるように、前記第1のディスプレイ画面によって、前記仮想コンテンツを表示することをさらに含む、請求項23に記載の方法。
  40. 1つまたはそれを上回るセンサ入力を取得することと、
    前記1つまたはそれを上回るセンサ入力に基づいて、前記第1のユーザが前記仮想コンテンツを伴う目的を遂行することを補助することと
    をさらに含む、請求項23に記載の方法。
  41. 前記1つまたはそれを上回るセンサ入力は、前記第1のユーザの眼視線方向、上肢運動学、身体位置、身体配向、または前述の任意の組み合わせを示す、請求項40に記載の方法。
  42. 前記第1のユーザが前記目的を遂行することを補助する行為は、システムコンポーネントの位置および/または角速度に関する1つまたはそれを上回る限界を適用することを含む、請求項40に記載の方法。
  43. 前記第1のユーザが前記目的を遂行することを補助する行為は、前記仮想コンテンツと別の要素との間の距離を徐々に低減させることを含む、請求項40に記載の方法。
  44. 前記装置は、前記第1のディスプレイ画面と通信する第1の処理部分と、前記第2のディスプレイ画面と通信する第2の処理部分とを備える、請求項23に記載の方法。
  45. 命令のセットを記憶するプロセッサ可読非一過性媒体であって、処理ユニットによる前記命令のセットの実行は、方法が実施されることを引き起こし、前記処理ユニットは、環境内で、仮想コンテンツを提供するように構成される装置の一部であり、前記環境内で、第1のユーザおよび第2のユーザが相互に相互作用し得、前記方法は、
    前記第1のユーザの第1の位置を取得することと、
    前記第1のユーザの第1の位置に基づいて、1つまたはそれを上回るアンカポイントの第1のセットを決定することと、
    前記第2のユーザの第2の位置を取得することと、
    前記第2のユーザの第2の位置に基づいて、1つまたはそれを上回るアンカポイントの第2のセットを決定することと、
    前記第1のセットおよび前記第2のセットの両方内にある1つまたはそれを上回る共通アンカポイントを決定することと、
    前記1つまたはそれを上回る共通アンカポイントのうちの少なくとも1つに基づいて、前記第1のユーザおよび/または前記第2のユーザによる体験のための前記仮想コンテンツを提供することと
    を含む、プロセッサ可読非一過性媒体。
JP2022554528A 2020-03-13 2021-03-13 マルチユーザ仮想および拡張現実のためのシステムおよび方法 Pending JP2023517954A (ja)

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 (ja) 2023-04-27

Family

ID=77665171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022554528A Pending JP2023517954A (ja) 2020-03-13 2021-03-13 マルチユーザ仮想および拡張現実のためのシステムおよび方法

Country Status (5)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098130A (ko) * 2020-01-31 2021-08-10 한국전자통신연구원 현실 객체와의 상호 작용을 이용한 다중 사용자 참여 기반의 증강현실 제공 방법 및 이를 위한 장치
US20220375110A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Augmented reality guided depth estimation
US20230089049A1 (en) * 2021-09-21 2023-03-23 Apple Inc. Methods and Systems for Composing and Executing a Scene
CN114067429B (zh) * 2021-11-02 2023-08-29 北京邮电大学 动作识别处理方法、装置及设备

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
EP2625845B1 (en) * 2010-10-04 2021-03-03 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
US10373342B1 (en) * 2017-01-10 2019-08-06 Lucasfilm Entertainment Company Ltd. Content generation in 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
WO2019173396A1 (en) * 2018-03-05 2019-09-12 The Regents Of The University Of Colorado, A Body Corporate Augmented reality coordination of human-robot interaction
TWI664995B (zh) * 2018-04-18 2019-07-11 鴻海精密工業股份有限公司 虛擬實境多人桌遊互動系統、互動方法及伺服器
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 (zh) 2022-11-04
EP4118638A1 (en) 2023-01-18
US20210287382A1 (en) 2021-09-16
EP4118638A4 (en) 2023-08-30
WO2021183978A1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
US11935205B2 (en) Mission driven virtual character for user interaction
US11666825B2 (en) Mixed reality gaming system
TWI786701B (zh) 用於在hmd環境中利用傳至gpu之預測及後期更新的眼睛追蹤進行快速注視點渲染的方法及系統以及非暫時性電腦可讀媒體
JP6831840B2 (ja) 3次元空間内の仮想オブジェクトの選択
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
CN109196447B (zh) 使用姿势和多dof控制器与3d虚拟对象的交互
JP2023517954A (ja) マルチユーザ仮想および拡張現実のためのシステムおよび方法
JP2022173312A (ja) 眼追跡較正技術
JP2024028376A (ja) 拡張現実および仮想現実のためのシステムおよび方法
US20160292924A1 (en) System and method for augmented reality and virtual reality applications
US20170076503A1 (en) Method for generating image to be displayed on head tracking type virtual reality head mounted display and image generation device
US20150070274A1 (en) Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
JP2022549853A (ja) 共有空間内の個々の視認
KR20170062533A (ko) 공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술
JP7242175B2 (ja) ゲームシステム及びプログラム
CN115335894A (zh) 用于虚拟和增强现实的系统和方法
WO2015048890A1 (en) System and method for augmented reality and virtual reality applications
US11830460B2 (en) Systems and methods for virtual and augmented reality
JP2019152899A (ja) シミュレーションシステム及びプログラム
US20230252691A1 (en) Passthrough window object locator in an artificial reality system
JP2018171320A (ja) シミュレーションシステム及びプログラム
JP2018171309A (ja) シミュレーションシステム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240301