JP2019534510A - 表面モデル化システムおよび方法 - Google Patents

表面モデル化システムおよび方法 Download PDF

Info

Publication number
JP2019534510A
JP2019534510A JP2019518059A JP2019518059A JP2019534510A JP 2019534510 A JP2019534510 A JP 2019534510A JP 2019518059 A JP2019518059 A JP 2019518059A JP 2019518059 A JP2019518059 A JP 2019518059A JP 2019534510 A JP2019534510 A JP 2019534510A
Authority
JP
Japan
Prior art keywords
polygon
boundary
generating
image
area
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.)
Granted
Application number
JP2019518059A
Other languages
English (en)
Other versions
JP6911107B2 (ja
JP2019534510A5 (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 JP2019534510A publication Critical patent/JP2019534510A/ja
Publication of JP2019534510A5 publication Critical patent/JP2019534510A5/ja
Priority to JP2021109910A priority Critical patent/JP7209777B2/ja
Application granted granted Critical
Publication of JP6911107B2 publication Critical patent/JP6911107B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B30/00Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
    • G02B30/20Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes
    • G02B30/26Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes of the autostereoscopic type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B30/00Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
    • G02B30/50Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels
    • G02B30/52Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels the 3D volume being constructed from a stack or sequence of 2D planes, e.g. depth sampling systems
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0308Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/29Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the position or the direction of light beams, i.e. deflection
    • G02F1/292Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the position or the direction of light beams, i.e. deflection by controlled diffraction or phased-array beam steering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Nonlinear Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Prostheses (AREA)
  • Materials For Medical Uses (AREA)
  • Image Processing (AREA)

Abstract

物理的環境の表面モデルを生成する方法は、物理的環境の画像を取得するステップを含む。本方法はまた、平面ポリゴンメッシュを少なくとも画像から生成するステップを含む。本方法はさらに、平面ポリゴンメッシュの境界ポリゴンを抽出するステップを含む。さらに、本方法は、表面メッシュの境界ポリゴンに関する凸包を生成するステップを含む。加えて、本方法は、最小面積指向境界ポリゴンを凸包から生成するステップを含む。本方法はまた、平面ポリゴンメッシュの境界ポリゴンの内側の最大面積指向内部ポリゴンを生成するステップを含んでもよい。

Description

本開示は、モバイルカメラシステムによって捕捉された画像を使用した表面モデル化に関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる仮想現実(「VR」)、拡張現実(「AR」)、および/または複合現実(「MR」)体験のためのシステムの開発を促進している。これは、頭部搭載型ディスプレイを通して、コンピュータ生成画像をユーザに提示することによって行われることができる。本画像は、感覚体験を作成し、これは、ユーザをシミュレートされた環境に没入させる。VRシステムは、典型的には、実際の実世界視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。
ARシステムは、概して、実世界環境をシミュレートされた要素で補完する。例えば、ARシステムは、ユーザに、頭部搭載型ディスプレイを介して、周囲の実世界環境のビューを提供し得る。コンピュータ生成画像はまた、周囲の実世界環境を向上させるために頭部搭載型ディスプレイ上に提示されることもできる。本コンピュータ生成画像は、周囲の実世界環境にコンテキスト的に関連する、要素を含むことができる。そのような要素は、シミュレートされたテキスト、画像、オブジェクト、および同等物を含むことができる。MRシステムはまた、シミュレートされたオブジェクトを実世界環境に導入するが、これらのオブジェクトは、典型的には、ARシステムを上回る相互作用の程度を特徴とする。
種々の光学システムは、VR/AR/MRシナリオを表示するために、画像を種々の深度に生成する。いくつかのそのような光学システムは、米国特許出願第14/555,585号(弁理士整理番号第ML.20011.00)および第14/738,877号(弁理士整理番号第ML.20019.00)(その内容は、前述で参照することによって本明細書に組み込まれている)に説明される。
AR/MRシナリオは、多くの場合、実世界オブジェクトに関連して仮想画像要素の提示を含む。例えば、図1を参照すると、AR/MR場面100が、描写されており、AR/MR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム104を特徴とする、実世界公園状設定102が見える。これらのアイテムに加え、AR/MR技術のユーザは、実世界プラットフォーム104上に立っているロボット像106と、マルハナバチの擬人化のように見える、飛んでいる漫画状アバタキャラクタ108とが「見える」と知覚するが、ロボット像106および漫画状アバタキャラクタ108は、実世界環境には存在しない。図1は、AR/MRシナリオを図式的に描写するが、AR/MRシナリオの品質は、AR/MRシステムの品質に応じて変動する。図1は、先行技術AR/MRシナリオを描写するものではなく、むしろ、ある実施形態による、AR/MRシナリオを描写する。
脳の視覚中枢は、貴重な知覚情報を相互に対する両眼およびその構成要素の運動から得る。相互に対する2つの眼の輻輳・開散運動移動(すなわち、眼の視線をオブジェクト上に収束させ、それを固視するための相互に向かってまたはそこから離れる瞳孔の回転移動)は、眼の水晶体の遠近調節(または合焦)と緊密に関連付けられる。通常条件下、眼を遠近調節し、または眼の水晶体の焦点を変化させ、異なる距離におけるオブジェクト上に合焦させることは、「遠近調節(accommodation)−輻輳・開散運動(vergence)反射」として知られる関係下、同一距離への輻輳・開散運動の整合変化を自動的に生じさせるであろう。同様に、輻輳・開散運動の変化は、通常条件下、遠近調節の整合変化を誘起するであろう。本反射に逆らう作用は、大部分の従来の立体視VR/AR/MR構成におけるように、眼精疲労、頭痛、または他の形態の不快感をユーザにもたらすことが知られている。
立体視ウェアラブル眼鏡は、概して、3次元視点がヒト視覚系によって知覚されるように、若干異なる要素提示を伴う画像を表示するように構成される、2つのディスプレイ(左眼に1つ、右眼に1つ)を特徴とする。そのような構成は、輻輳・開散運動と遠近調節との間の不整合(「輻輳・開散運動−遠近調節衝突」)に起因して、多くのユーザにとって不快であることが見出されており、これは、3次元における画像を知覚するために克服されなければならない。実際、一部のユーザは、立体視構成に耐えることが不可能である。これらの限界は、VR、AR、およびMRシステムに該当する。故に、大部分の従来のVR/AR/MRシステムは、部分的に、従来のシステムが、輻輳・開散運動−遠近調節衝突を含む、ヒト知覚系の基本側面のうちのいくつかに対処することができないため、ユーザにとって快適かつ最大限に有用となるであろう様式において、豊かな両眼3次元体験を提示するために最適に好適ではない。
米国特許出願第14/555,585号(弁理士整理番号第ML.20011.00)に説明されるもの等のVR/AR/MRシステムは、光および光によってレンダリングされた画像が複数の深度平面から生じるように現れるように、1つ以上の光誘導光学要素を使用して、光をユーザの眼に投影させることによって、輻輳・開散運動−遠近調節衝突に対処する。光誘導光学要素は、デジタルまたは仮想オブジェクトに対応する仮想光を内部結合し、それを全内部反射(「TIR」)によって伝搬し、次いで、仮想光を外部結合し、仮想オブジェクトをユーザの眼に表示するように設計される。AR/MRシステムでは、光誘導光学要素はまた、実際の実世界オブジェクトからの(例えば、そこから反射する)光に対して透過性であるように設計される。したがって、光誘導光学要素の一部は、TIRを介した伝搬のために仮想光を反射させながら、AR/MRシステム内の実世界オブジェクトからの実世界光に対して透過性であるように設計される。
複数の光誘導光学要素システムを実装するために、1つ以上の源からの光は、光誘導光学要素システムのそれぞれに制御可能に分散されなければならない。光は、現実的3−D体験を提供するために比較的に高レート(例えば、360Hzまたは1KHz)でレンダリングされる、仮想画像データでエンコードされる。そのような速度かつ高分解能で動作する(例えば、仮想コンテンツをレンダリングする)、現在のグラフィック処理ユニット(「GPU」)は、大量の電力(ポータブルバッテリの容量に対して)を消費し、AR/MRシステムを装着しているユーザにとって不快であり得る、熱を生成する。
AR/MRシナリオは、多くの場合、仮想オブジェクトと実世界の物理的環境との間の相互作用(例えば、図1における実世界プラットフォーム104上に立っているロボット像106)を含む。同様に、いくつかのVRシナリオは、完全仮想オブジェクトと他の仮想オブジェクトとの間の相互作用を含む。
物理的環境内の表面の輪郭を描くことは、それらの相互作用の境および境界線を画定することによって(例えば、物理的環境内の特定の表面の範囲を画定することによって)、仮想オブジェクトとの相互作用を促進する。例えば、AR/MRシナリオが、物理的環境内の特定の表面から延在する仮想オブジェクト(例えば、触手または拳)を含む場合、表面の範囲を画定することは、AR/MRシステムがより現実的AR/MRシナリオを提示することを可能にする。一実施形態では、表面の範囲が、画定されない、または不正確に画定される場合、仮想オブジェクトは、表面からの代わりに、部分的または完全に、表面に隣接する空中から延在するように現れ得る。別の実施形態では、AR/MRシナリオが、物理的環境内の特定の水平表面上を歩いている仮想キャラクタを含む場合、表面の範囲を不正確に画定することは、落下せずに、代わりに、空中に浮遊して、表面から離れて歩いているように現れる、仮想キャラクタをもたらし得る。
仮想オブジェクトと実世界の物理的環境との間の相互作用を促進するために、種々のAR/MRシステムは、基準マーカ(図2のArUcoマーカ200参照)を利用して、基準マーカが設置される、実世界の物理的表面に関する位置および配向(すなわち、姿勢)情報を提供する。しかしながら、ArUcoマーカ200は、物理的表面の範囲に関連する任意の情報を提供しない。さらに、実世界の物理的環境内の1つ以上の表面上へのArUco200マーカの設置に適しているアプリケーションまたは状況は、殆どない。例えば、ArUcoマーカ200は、可視マーカがその表面上に設置されることを要求することによって、表面の審美性を改変し得る。
いくつかのVR/AR/MRシステムは、ポリゴンメッシュを生成し、物理的環境内の表面の輪郭を描くおよび/または表すことができるが、そのようなポリゴンメッシュは、仮想オブジェクトと実世界の物理的環境使用との間の相互作用を促進するために、あまりに多くの情報を提供し得る。例えば、VR/AR/MRシステムは、物理的衝突のシミュレーション、静止接触のシミュレーション、および種々の採光効果(例えば、陰影および反射)等、種々のアプリケーション/機能/プロセスのために、ポリゴンメッシュをさらに処理する必要があるであろう。現実的であって、真実味があって、および/または意にかなうVR/AR/MR体験を可能にするための十分な速度および分解能を伴う、これらの種々のアプリケーション/機能/プロセスのためのポリゴンメッシュのさらなる処理は、多くのプロセッササイクルを要求し得る。プロセッサ関連要件は、ひいては、性能(例えば、レンダリング等の他の機能のためのプロセッササイクル)、電力(例えば、バッテリ寿命)、熱(例えば、ユーザの身体との近接度に照らして)、およびサイズ(例えば、可搬性)関連制限をVR/AR/MRシステム上に課し得る。最小限の処理を用いて、大平坦領域の場所等の環境の重要な側面を表すために、環境のより抽象的であって、容易に理解しやすい表現の必要がある。ポリゴンメッシュは、有用な情報を抽象化出力するために、さらなる処理を要求する。本明細書に説明されるシステムおよび方法は、これらおよび他の課題に対処するように構成される。
一実施形態では、物理的環境の表面モデルを生成する方法は、物理的環境の画像を取得するステップを含む。本方法はまた、境界ポリゴンを少なくとも画像から抽出するステップを含む。さらに、本方法は、境界ポリゴンに関する凸包を生成するステップを含む。加えて、本方法は、最小面積指向境界ポリゴンを凸包から生成するステップを含む。
1つ以上の実施形態では、本方法はまた、平面ポリゴンメッシュを少なくとも画像から生成するステップを含む。境界ポリゴンを少なくとも画像から抽出するステップは、境界ポリゴンを平面ポリゴンメッシュから抽出するステップを含んでもよい。物理的環境の画像を取得するステップは、結像デバイスを使用して、物理的環境に対応する3−D点群を取得するステップと、結像デバイスに関する姿勢情報を取得するステップとを含んでもよい。本方法はまた、姿勢情報を使用して、3−D点群に関する切断符号付き距離関数(truncated signed distance function)を算出するステップを含んでもよい。平面ポリゴンメッシュを生成するステップは、切断符号付き距離関数をテッセレート(tessellate)するステップを含んでもよい。本方法はまた、2つのより小さい平面ポリゴンメッシュを1つのより大きい平面ポリゴンメッシュに組み合わせるステップを含んでもよい。
1つ以上の実施形態では、本方法はまた、重力ベクトルを取得するステップを含み、生成された平面ポリゴンメッシュは、重力ベクトルに対して略平行および直交のうちの少なくとも1つである。凸包を生成するステップは、Graham走査アルゴリズムを使用するステップを含んでもよい。最小面積指向境界ポリゴンを生成するステップは、回転キャリパーアルゴリズムを使用するステップを含んでもよい。最小面積指向境界ポリゴンは、平面ポリゴンメッシュの境界ポリゴンの外側にあってもよい。
1つ以上の実施形態では、本方法はまた、平面ポリゴンメッシュの境界ポリゴンの内側の最大面積指向内部ポリゴンを生成するステップを含む。最大面積指向内部ポリゴンを生成するステップは、境界ポリゴンによって画定された検索面積内で検索を実施するステップを含んでもよい。最大面積指向内部ポリゴンを生成するステップは、グリッドを検索面積内に形成するステップを含んでもよい。本方法はまた、検索面積のサイズに基づいて、グリッドの分解能を調節するステップを含んでもよい。
1つ以上の実施形態では、本方法はまた、平面ポリゴンメッシュの境界ポリゴンの内側の点の選択を受信するステップを含む。最大面積指向内部ポリゴンを生成するステップは、選択された点を使用して画定された検索面積内で検索を実施するステップを含んでもよい。最大面積指向内部ポリゴンを生成するステップは、グリッドを検索面積内に形成するステップを含んでもよい。本方法はまた、検索面積のサイズに基づいて、グリッドの分解能を調節するステップを含んでもよい。
1つ以上の実施形態では、最小面積指向境界ポリゴンおよび最大面積指向内部ポリゴンは、同一形状を有してもよい。平面ポリゴンメッシュは、マーチングキューブアルゴリズムに基づいて生成されてもよい。最小面積指向境界ポリゴンは、長方形、三角形、および円形のうちの少なくとも1つであってもよい。本方法はまた、最小面積指向境界ポリゴンと境界ポリゴンとの間の適合を決定するステップを含んでもよい。適合を決定するステップは、最小面積指向境界ポリゴンの第1の面積と境界ポリゴンの第2の面積との間の差異を計算するステップを含んでもよい。
1つ以上の実施形態では、本方法はまた、最小面積指向境界ポリゴンを表すデータを記憶するステップを含み、最小面積指向境界ポリゴンは、長方形である。データは、長方形に対応する4つの座標集合を含んでもよい。データはまた、長方形の長さ、長方形の幅、および長方形の中心を含んでもよい。4つの座標集合はそれぞれ、一対の座標であってもよい。平面ポリゴンメッシュを生成するステップは、物理的環境の一連の画像の静的部分を捕捉するステップを含んでもよい。
別の実施形態では、物理的環境の表面モデルを生成するためのシステムは、結像デバイスと、カメラに動作可能に結合される、画像プロセッサとを含む。画像プロセッサは、少なくとも部分的に、物理的環境の画像を結像デバイスから取得するように構成される。画像プロセッサはまた、境界ポリゴンを少なくとも画像から抽出するように構成される。さらに、画像プロセッサは、境界ポリゴンに関する凸包を生成するように構成される。加えて、画像プロセッサは、最小面積指向境界ポリゴンを凸包から生成するように構成される。
1つ以上の実施形態では、本システムはまた、結像デバイスおよび画像プロセッサに動作可能に結合される、姿勢センサを含む。画像プロセッサはまた、姿勢情報を使用して、3−D点群に関する切断符号付き距離関数を算出するように構成されてもよい。画像プロセッサはさらに、切断符号付き距離関数をテッセレートすることによって、平面ポリゴンメッシュを少なくとも画像から生成するように構成されてもよい。境界ポリゴンを少なくとも画像から抽出することは、平面ポリゴンメッシュの境界ポリゴンを抽出することを含んでもよい。物理的環境の画像を取得するステップは、結像デバイスを使用して、物理的環境に対応する3−D点群を取得することと、姿勢センサを使用して、結像デバイスに関する姿勢情報を取得することとを含んでもよい。
1つ以上の実施形態では、画像プロセッサはまた、平面ポリゴンメッシュを少なくとも画像から生成し、平面ポリゴンメッシュの境界ポリゴンの内側の最大面積指向内部ポリゴンを生成するように構成される。最大面積指向内部ポリゴンを生成することは、境界ポリゴンによって画定された検索面積内で検索を実施することと、グリッドを検索面積内に形成することと、検索面積のサイズに基づいて、グリッドの分解能を調節することとを含んでもよい。
1つ以上の実施形態では、画像プロセッサはまた、平面ポリゴンメッシュの境界ポリゴンの内側の点の選択を受信するように構成される。最大面積指向内部ポリゴンを生成することはまた、選択された点を使用して画定された検索面積内で検索を実施することと、グリッドを検索面積内に形成することとを含んでもよい。画像プロセッサはまた、検索面積のサイズに基づいて、グリッドの分解能を調節するように構成されてもよい。最小面積指向境界ポリゴンは、長方形、三角形、および円形のうちの少なくとも1つであってもよい。
1つ以上の実施形態では、画像プロセッサはまた、最小面積指向境界ポリゴンを表すデータを記憶するように構成され、最小面積指向境界ポリゴンは、長方形である。データは、長方形に対応する4つの座標集合を含んでもよい。データはまた、長方形の長さ、長方形の幅、および長方形の中心を含んでもよい。4つの座標集合はそれぞれ、一対の座標であってもよい。画像プロセッサはまた、少なくとも物理的環境の一連の画像の静的部分を捕捉することによって、平面ポリゴンメッシュを少なくとも画像から生成するように構成されてもよい。
1つ以上の実施形態では、平面ポリゴンメッシュは、マーチングキューブアルゴリズムを使用して生成される。本方法はまた、最小面積指向境界ポリゴン内の中心点を決定するステップを含んでもよい。本方法はまた、最小面積指向境界ポリゴンの配向を決定するステップを含んでもよい。本方法はまた、最小面積指向境界ポリゴンに対して法線方向の線を決定するステップを含んでもよい。本方法はまた、最小面積指向境界ポリゴンを含む、座標系を決定するステップを含んでもよい。
図面は、本開示の種々の実施形態の設計および可用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。本開示の種々の実施形態の上記に列挙される利点および目的および他の利点および目的を取得する方法をより深く理解するために、上記に簡単に説明された本開示のより詳細な説明は、付随の図面に図示される、その具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定と見なされないことを理解されたい、本開示は、付随の図面の使用を通して、付加的具体性および詳細とともに記載および説明されるであろう。
図1は、一実施形態による、ウェアラブルAR/MRユーザデバイスを通した拡張または複合現実の概略図である。 図2は、一実施形態による、4つのArUco基準マーカを描写する。 図3は、一実施形態による、AR/MRシステムを描写する、ブロック図である。 図4は、一実施形態による、AR/MRシステムを使用して、実世界の物理的環境の表面モデルを生成する方法を図示する、フローチャートである。 図5は、別の実施形態による、AR/MRシステムを使用して、実世界の物理的環境の表面モデルを生成する方法を図示する、フローチャートである。 図6は、一実施形態による、実世界の物理的環境の表面を表す、平面ポリゴンメッシュを描写する。 図7は、一実施形態による、平面ポリゴンメッシュから抽出される境界ポリゴンを描写する。 図8は、一実施形態による、実世界の物理的環境の表面モデルと相互作用するためのユーザインターフェースを描写する。 図9A−9Cは、別の実施形態による、実世界の物理的環境の表面モデルと相互作用するためのユーザインターフェースの3つのインスタンスを描写する。 図10は、一実施形態による、部屋内の1つ以上の表面を表す、3−D表面モデルを描写する。 図11は、さらに別の実施形態による、AR/MRシステムを使用して、実世界の物理的環境の表面モデルを生成する方法を図示する、フローチャートである。 図12は、さらに別の実施形態による、AR/MRシステムを使用して、実世界の物理的環境の表面モデルを生成する方法を実装するために好適なコンピューティングシステムを図示する、ブロック図である。
本開示の種々の実施形態は、単一実施形態または複数の実施形態における、表面モデル化システムのためのシステム、方法、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
種々の実施形態が、ここで、当業者が本開示を実践することを可能にするように、本開示の例証的実施例として提供される、図面を参照して詳細に説明されるであろう。着目すべきこととして、以下の図および実施例は、本開示の範囲を限定することを意味するものではない。本開示のある要素が、部分的または完全に、公知のコンポーネント(または方法またはプロセス)を使用して実装され得る場合、本開示の理解のために必要なそのような公知のコンポーネント(または方法またはプロセス)の一部のみが、説明され、そのような公知のコンポーネント(または方法またはプロセス)の他の部分の詳細な説明は、本開示を曖昧にしないように、省略されるであろう。さらに、種々の実施形態は、本明細書に例証として参照されるコンポーネントの現在および将来的公知の均等物を包含する。
表面モデル化システムは、AR/MRシステムから独立して実装されてもよいが、以下の多くの実施形態は、例証的目的のためだけに、AR/MRシステムに関連して説明される。
(問題およびソリューションの概要)
仮想オブジェクトと実世界の物理的環境との間の現実的相互作用を可能にするために、物理的環境内の種々の表面の位置、配向、および範囲が、決定され、仮想オブジェクトをレンダリングするプロセッサ(例えば、GPU)に通信されなければならない。物理的環境内の表面に関する情報は、表面に対する物理的法則(例えば、重力)に従うように現れるように、プロセッサが仮想オブジェクトをレンダリングすることを可能にする。表面に関する情報はまた、表面と一致するように、プロセッサが仮想オブジェクトをレンダリングすることを可能にする。実施例は、仮想メディアが壁またはテーブルを越えて延在しない、壁またはテーブルの表面上への仮想メディア(例えば、漫画本または映画)の表示である。
いくつかの拡張現実(AR)/複合現実(MR)システムは、基準マーカ(例えば、ArUcoマーカ)を利用し、実世界の物理的環境内の表面の位置および配向を提供する。しかしながら、そのようなマーカは、侵害性であり得、表面の範囲(サイズ、形状、および同等物)に関連する情報を提供しない場合がある。他のAR/MRシステムは、ポリゴンメッシュを生成し、物理的環境内の表面をモデル化する。しかしながら、多くのアプリケーションは、さらなる処理からの算出上の費用を増加させずに、ポリゴンメッシュを利用することができない。ポリゴンメッシュのさらなる処理に費やされるプロセッササイクルは、高精細画像のレンダリング等、他のAR/MRシステム機能のために使用されることができない。さらに、付加的処理は、電力を要求し、バッテリ寿命を低減させる。さらに、付加的処理は、熱を生成し、潜在的に、AR/MRシステムを装着しているユーザに不快感を生じさせる。加えて、付加的処理を実施するためのプロセッサおよび/またはバッテリの追加は、AR/MRシステムの最小サイズを増加させる。
本明細書に説明されるAR/MRシステムおよび方法は、ユーザフレンドリーにより大きいポリゴン(例えば、長方形)をより小さいポリゴンメッシュから抽出し、次いで、抽出されたより大きいポリゴンを使用して、物理的環境の表面をモデル化することによって、これらの問題に対処する。本システムおよび方法は、最も有用なポリゴン(例えば、水平および垂直平面)を抽出することができる。抽出されたより大きいポリゴンは、次いで、単純および便宜的データフォーマット内に記憶され、AR/MRシステムと関連付けられたアプリケーション/機能/プロセスに送信される。物理的環境の表面は、抽出されたより大きいポリゴンを用いてモデル化されるため、およびより大きいポリゴンは、単純かつ便宜的データフォーマット内に記憶されるため、それらは、最小限のさらなる処理と併用され、最小限の待ち時間および処理要件を伴って、現実的高精細AR/MR体験を生成することができる。
(拡張現実/複合現実システム)
図3は、一実施形態による、AR/MRシステム300(以降、「システム300」と称される)を図示する。システム300は、1つ以上のスタックされた光誘導光学要素(「LOE」)390を使用して、光をユーザの眼の中に個別の1つ以上の深度平面において誘導する。LOEは、深度平面情報でエンコード/プログラム/内蔵され、個別の深度平面から生じるように現れる画像を生成する、体積位相ホログラムまたは表面レリーフホログラムであってもよい。言い換えると、回折パターンまたは回折光学要素(「DOE」)が、コリメートされた光(略平面波面を伴う光ビーム)がLOEに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、LOEに内蔵される、またはその上にインプリントされてもよい。DOEは、LOEからそれを通して出射する光が輻輳され、特定の深度平面から生じるように現れるように構成される。
システム300は、画像プロセッサ310と、光源320と、コントローラ330と、空間光変調器(「SLM」)340と、一対の前方に面した視野(FOV)カメラ350と、前方に面したFOVカメラ350に対応する一対の姿勢センサ360と、複数の平面焦点システムとして機能する、スタックされたLOE390の少なくとも1つのセットとを含む。システム300はまた、眼追跡サブシステム370を含んでもよい。他の実施形態は、複数のスタックされたLOE390のセットを有してもよいことを理解されたい。
画像プロセッサ310は、ユーザに表示されるための仮想コンテンツを生成するように構成される。画像プロセッサ310は、仮想コンテンツと関連付けられた画像またはビデオをユーザに3−Dで投影され得るフォーマットに変換してもよい。例えば、3−Dコンテンツを生成する際、仮想コンテンツは、特定の画像の一部が、特定の深度平面に表示される一方、その他が、他の深度平面に表示されるように、フォーマットされる必要があり得る。一実施形態では、画像は全て、単一深度平面に生成されてもよい。別の実施形態では、画像プロセッサ310は、ともに視認されると、仮想コンテンツがコヒーレントかつ快適にユーザの眼に現れるように、若干異なる画像を右および左眼に提供するようにプログラムされてもよい。
画像プロセッサ310はまた、実世界の物理的環境の表面モデルを生成するように構成される(例えば、前方に面したFOVカメラ350によって捕捉された画像および/またはビデオから)。一実施形態では、画像プロセッサ310は、基準マーカの使用を伴わずに、表面モデルを生成するように構成される。表面モデルは、物理的環境内の表面全体に近似するより大きいポリゴンを含む。別の実施形態では、表面モデルは、メッシュがない。
画像プロセッサ310はさらに、メモリ312と、GPU314と、CPU316と、画像生成および処理および表面モデル化のための他の回路とを含んでもよい。画像プロセッサ310は、AR/MRシステム300のユーザに提示されるための所望の仮想コンテンツでプログラムされてもよい。画像プロセッサ310はまた、表面モデルを捕捉された画像および/またはビデオから生成するための1つ以上のアルゴリズムでプログラムされてもよい。いくつかの実施形態では、画像プロセッサ310は、システム300のウェアラブルディスプレイユニット内に格納されてもよい。他の実施形態では、画像プロセッサ310および他の回路は、ウェアラブルディスプレイユニットに結合されるベルトパック内に格納されてもよい。画像プロセッサ310は、所望の仮想コンテンツと関連付けられた光を投影する、光源320と、1つ以上の空間光変調器とに動作可能に結合される。画像プロセッサ310はまた、前方に面したFOVカメラ350と、姿勢センサ360とにも動作可能に結合される。
光源320は、コンパクトであって、高分解能を有する。光源320は、コントローラ330に動作可能に結合される。光源320は、種々の幾何学的構成に配置される、色特有のLEDおよびレーザを含んでもよい。代替として、光源320は、同様の色のLEDまたはレーザを含んでもよく、それぞれ1つが、ディスプレイの視野の具体的領域にリンクされる。別の実施形態では、光源320は、放出エリアおよび位置のセグメント化のためのマスクオーバーレイを伴う、白熱灯または蛍光灯等の広域エミッタを含んでもよい。光源320は、図3では、直接、AR/MRシステム300に接続されるが、光源320は、光ファイバ(図示せず)を介して、システム300に接続されてもよい。システム300はまた、光源320からの光をコリメートするように構成される、集光器(図示せず)を含んでもよい。
SLM340は、種々の例示的実施形態では、反射性(例えば、LCOS、FLCOS、DLP DMD、またはMEMSミラーシステム)、透過性(例えば、LCD)、または発光性(例えば、FSDまたはOLED)であってもよい。SLM340のタイプ(例えば、速度、サイズ等)は、3−D知覚の作成を改良するように選択されることができる。より高いリフレッシュレートで動作するDLP DMDは、定常システム300の中に容易に組み込まれ得るが、ウェアラブルシステム300は、より小さいサイズおよび電力のDLPを使用し得る。DLPの電力は、3D深度平面/焦点面が作成される方法を変化させる。画像プロセッサ310は、SLM340に動作可能に結合され、これは、光源320からの光を所望の仮想コンテンツでエンコードする。光源320からの光は、SLM340から反射する、そこから放出される、またはそれを通して通過するとき、画像情報でエンコードされてもよい。
SLM340からの光は、SLM340によって画像データでエンコードされた光ビームが、ユーザの眼への送達のために、単一LOE390に沿って効果的に伝搬されるように、LOE390に指向される。各LOE390は、所望の深度平面またはFOV角度位置からユーザの網膜上に生じるように現れる、画像またはサブ画像を投影するように構成される。光源320およびLOE390は、したがって、空間内の種々の深度平面または位置から生じるように現れる、(コントローラ330の制御下、SLM340によって同期してエンコードされる)画像を選択的に投影することができる。光源320およびLOE390のそれぞれを使用して、十分に高フレームレート(例えば、60Hzの事実上フルボリュームのフレームレートにおける1つの色において6つの深度平面に関して360Hz、または60HzにおけるRGBフルカラーにおいて6つの深度平面に関して1,080Hz)において、画像を連続して投影させることによって、システム300は、3−D画像内に同時に存在するように現れる、仮想オブジェクトの3−D画像を種々の深度平面に生成することができる。
コントローラ330は、画像プロセッサ310、光源320、およびSLM340と通信し、それに動作可能に結合され、SLM340に、光源320からの光ビームを画像プロセッサ310からの適切な画像情報でエンコードするように命令することによって、画像の同期表示を協調させる。
前方に面したFOVカメラ350は、ユーザFOVの画像および/またはビデオを捕捉するように構成される。前方に面したFOVカメラ350は、可視光および/または赤外線等の不可視光に敏感であってもよい。前方に面したFOVカメラ350は、画像プロセッサ310に動作可能に結合される。
姿勢センサ360は、前方に面したFOVカメラ350のそれぞれの配向(例えば、ロール、ピッチ、およびヨー)に関連する情報を記録するように構成される。一実施形態では、姿勢センサ360は、慣性測定ユニット(「IMU」)であって、これは、1つ以上の加速度計、ジャイロスコープ、磁力計、および同等物を含んでもよい。姿勢センサ360は、N(例えば、6)自由度の力、角度変化、および/または磁場変化を測定してもよい。姿勢センサ360と個別の前方に面したFOVカメラ350の近接度は、前方に面したFOVカメラ350に関する姿勢情報の正確度を増加させる。いくつかの実施形態では、姿勢センサ360は、前方に面したFOVカメラ350に結合される(恒久的または除去可能に)。
システム300はまた、ユーザの眼を追跡し、ユーザの焦点を決定するように構成される、随意の眼追跡サブシステム370を含む。一実施形態では、システム300は、画像がユーザの焦点/遠近調節と一致する所望の深度平面に生成されるように、眼追跡サブシステム370からの入力に基づいて、LOE390のサブセットを照明するように構成される。例えば、ユーザの眼が、相互に平行である場合、システム300は、画像が光学無限遠から生じるように現れるように、コリメートされた光をユーザの眼に送達するように構成される、LOE390を照明してもよい。別の実施例では、眼追跡サブシステム370が、ユーザの焦点が1メートル離れていることを決定する場合、ほぼその範囲内に集束するように構成される、LOE390が、代わりに照明されてもよい。
表面モデル化
一実施形態による、実世界の物理的環境の表面をモデル化するように構成される、システム300が、上記に説明される。そのようなシステムを使用して、実世界の物理的環境の表面をモデル化する方法が、以下に説明される。
図4は、一実施形態による、システム300(前方に面した視野(FOV)カメラ350と、姿勢センサ360と、画像プロセッサ310とを含む)を使用して、実世界の物理的環境の表面モデルを生成する方法400を図示する、フローチャートである。ステップ402では、システム300(例えば、画像プロセッサ310)は、システム300が配置される、物理的環境の1つ以上の画像またはビデオを受信する。画像/ビデオは、前方に面したFOVカメラ350から受信されてもよい。システム300は、物理的環境の一連の画像の静的部分のみが捕捉される一方、動的部分が無視されるように、前方に面したFOVカメラ350を使用して、画像を捕捉するように構成されてもよい。
代替として、画像/ビデオは、物理的環境内の(例えば、他のユーザの)他のシステム300のカメラから受信されてもよい。画像/ビデオが、1つ以上のカメラから受信されると、それらの画像/ビデオ内の点は、共通座標系を有する、単一基準フレームに位置合わせされる。画像/ビデオは、その捕捉に対してリアルタイムで受信されてもよい、または事前に捕捉および記憶されていてもよい(例えば、システム300が通信可能に結合される、サーバのメモリ内に)。同一物理的環境の画像/ビデオを1つ以上の位置および配向/角度から受信することは、光学情報が存在しない物理的環境内の表面の量を低減させることによって、表面モデル化の正確度を増加させる。
姿勢情報は、システム300の姿勢センサ360から受信されてもよく、これは、個別の前方に面したFOVカメラ350に隣接して設置される。画像プロセッサ310は、姿勢情報を使用して、物理的環境に対応する3−D点群をその画像/ビデオから生成する。単一画像実施形態では、3−D点群は、画像と、画像を捕捉した前方に面したFOVカメラ350に関連する姿勢情報とから決定されるように、各サンプル点と、3次元座標系(例えば、X、Y、Z)内のその位置とを表す。そのような情報は、飛行時間情報分析を使用して取得されることができる。複数の画像実施形態では、3−D点群は、画像と、ある場合には、個別の姿勢情報とから決定されるように、各画像内の各サンプル点の平均と、3次元座標系内の平均位置とを表す。そのような情報は、飛行時間分析および/または三角測量を使用して取得されてもよい。
深度感知システムもまた、3−D点群を生成するために使用されてもよい。深度感知は、3−D空間(例えば、深度センサまたは前方に面したFOVカメラ350)内の既知の点と実世界の物理的オブジェクトの表面上の着目点(「POI」)との間の距離の決定である。深度感知は、AR/MRシステムを含む、多くのコンピュータビジョンシステムのために有用である。深度感知の1つのアプローチは、表面上の単一POIおよび個別の画像上のPOIの2つの画像の光学軸(既知の配向において既知の距離によって分離される)間の個別の角度を測定するステップを含む。表面の深度は、測定された角度および画像捕捉場所間の既知の距離を三角測量することによって決定される。飛行時間カメラは、あるタイプの深度センサと見なされ得る。
ステップ404では、システム300(例えば、その画像プロセッサ310)は、平面ポリゴンメッシュを受信された画像/ビデオから生成する。図6を簡単に参照すると、一実施形態による、平面ポリゴン/三角形メッシュ602が、図示される。1つ以上の平面ポリゴンメッシュ(例えば、図6に示されるような平面ポリゴン/三角形メッシュ602)が、物理的環境から捕捉または構築された画像/ビデオ/3−D点群から形成され、物理的環境内の表面の輪郭を描くおよび/または表してもよい。一実施形態では、マーチングキューブアルゴリズムが、非平面メッシュを受信された画像/ビデオから生成するために使用され、平面ポリゴンメッシュ602は、非平面メッシュから導出される。
別の実施形態では、ステップ404では、システム300は、3−D点群に関する切断符号付き距離関数(「TSDF」)を算出することによって、3−D点群に基づいて平面ポリゴンメッシュ602を生成する。例えば、3−D点群に関するTSDFは、例えば、マーチングキューブアルゴリズムを使用して、非平面メッシュを生成するために使用され、平面ポリゴンメッシュ602は、非平面メッシュから導出される。TSDFは、3−D点群内の点毎の数値を含む。値は、点が特定の平面内にあるとき、ゼロであって、点が(特定の座標系を使用して)特定の平面の上方にあるとき、正であって、点が特定の平面の下方にあるとき、負である。算出されたTSDFは、次いで、特定の平面内、その上方、および下方に整合される、ブリックまたはボックスの3−D立体グリッドを画定するために使用される。最後に、3−D立体グリッドは、マーチングキューブでテッセレートされ、非平面メッシュを生成し、非平面メッシュは、分析され、特定の表面を表す平面ポリゴンメッシュ602に変換される。テッセレーションプロセスは、丸みを帯びた縁または鋭的縁を含む、または除外するように制御されることができる。加えて、非平面メッシュは、同一配向を有する近傍の/隣接するポリゴンをより大きいポリゴンに折り畳むことによって、簡略化されてもよい。いくつかの実施例では、生成された平面ポリゴンメッシュ602もまた、同一配向を有する近傍の/隣接するポリゴンをより大きいポリゴンに折り畳むことによって、簡略化されてもよい。
種々の実施形態はまた、姿勢センサ360(例えば、IMU)によって検出された重力ベクトルに直交する平面性を強制することができる。言い換えると、物理的環境が、種々のオブジェクト(例えば、電話、ラップトップコンピュータ、コーヒーマグカップ等)をその上に有する、会議テーブルを含む場合、これらの実施形態は、メッシュが会議テーブルの水平表面のみの輪郭を描く/表すように、それらのオブジェクトを平面ポリゴンメッシュから除去することができる。同様に、システム300はまた、壁およびホワイトボード等の垂直表面の平面性を強制するように構成されることができる。他の実施形態は、任意の方向ベクトルを重力ベクトルに置換することによって、平面性および任意の所定の角度を強制することができる。
ステップ406では、システム300(例えば、その画像プロセッサ310)は、平面ポリゴンメッシュの境界ポリゴンを抽出する。図7を簡単に参照すると、一実施形態による、図6の平面ポリゴンメッシュ602から抽出される境界ポリゴン704が、図示される。境界ポリゴン704を平面ポリゴンメッシュ602から抽出することは、平面ポリゴンメッシュ602の外部表面に面していない平面ポリゴンメッシュ602の部分を除去するステップを含んでもよい。図7に示されるように、境界ポリゴン704を生成することは、平面ポリゴンメッシュ602内の多数のより小さいポリゴンを除去することによって、表面のモデルを簡略化する。一般に、より大きい数(例えば、数十万)のより小さいポリゴンを処理することは、より多くのプロセッサ(例えば、CPU/GPU)サイクルおよびバッテリ電力を要求し、より多くの熱を生成する。いくつかの実施形態では、ポリゴンメッシュ602内の「包囲された」孔(すなわち、構造によって囲繞される構造内の空間)は、境界ポリゴン704を生成する際、無視されてもよい一方、平面ポリゴンメッシュ602内の「湾状部」(すなわち、主に、地理的マップ内の湾のような構造によって囲繞される構造内の空間)は、境界ポリゴン704を生成する際に含まれてもよい。
ステップ408では、システム300(例えば、その画像プロセッサ310)は、凸包を抽出された境界ポリゴンから生成する。図8を簡単に参照すると、一実施形態による、抽出された境界ポリゴン804から生成された凸包806が、図示される。境界ポリゴン804の周囲の凸包806は、境界ポリゴン804をきついゴムバンドまたはぴったりしたプラスチックラップで巻着することに類似する、数学的関数である。結果として、凸包806上の線は、境界ポリゴン804を貫通せず、境界ポリゴン804の内側に到達する。一実施形態では、凸包806は、Graham走査アルゴリズムを使用して、境界ポリゴン804から生成される。凸包806を境界ポリゴン804から生成することは、境界ポリゴン804の「高点」(例えば、その中心から最も遠い境界ポリゴン804の点)を接続する線を引くことを含んでもよい。
境界ポリゴン804および凸包806は両方とも、実世界の物理的ホワイトボード802の垂直表面を表す。
ステップ410では、システム300(例えば、その画像プロセッサ310)は、最小面積指向境界ポリゴン(「MAOBP」)を凸包から生成する。図8を簡単に参照すると、一実施形態による、凸包806から生成されたMAOBP808が、図示される。MAOBP808は、凸包806(したがって、境界ポリゴン804)を含有し得る、所定の形状の最小ポリゴンである。図8に描写される実施形態では、MAOBP808は、重力ベクトルに沿って配向され、床に直交する、長方形である。一実施形態では、MAOBP808は、回転キャリパーアルゴリズムを使用して、凸包806から生成される。MAOBP808を凸包806から生成することは、物理的環境内の表面を表す他のモダリティより比較的に少ない算出を要求する。
MAOBP808は、凸包806、したがって、境界ポリゴン804全体を含有するため、特に、あるアプリケーションのために有用である。MAOBP808が好適である、1つのアプリケーションは、物理的環境の表面上への仮想メディア(例えば、漫画本または映画)の表示である。いくつかの仮想ディスプレイアプリケーションに関して、仮想メディアのわずかな部分を、実際の物理的表面を越えて、空間の中に延在させることは、特に、注意を逸らさない。さらに、いくつかの実施形態では、MAOBP808は、他の方法より正確に完全下層表面を捕捉し、MAOBP808のわずかな部分が空(empty)空間まで延在する非常にわずかなインスタンスをもたらし得る。
図9A−9Cはまた、個別の境界ポリゴン904、904’の周囲に形成される、2つのMAOBP908、908’を図示する。MAOBP908、908’および個別の境界ポリゴン904、904’は両方とも、個別の実世界オブジェクトの表面(ホワイトボード902、テーブルの表面902’)を表す。図9A−9Cに示されるように、ホワイトボード902を表すMAOBP908は、テーブルの表面902’を表すMAOBP908’と比較して、対応する境界ポリゴン904およびホワイトボード902に対してより良好な適合(すなわち、より正確な相関)である(すなわち、あまり余剰空空間を有していない)。図9A−9Cは、実世界の物理的環境の表面モデルと相互作用するためのユーザインターフェース900、900’、900’’(例えば、システム300のユーザに表示される)の3つのインスタンスを描写する。
図9A−9Cは、MAOBP908、908’が他のアプリケーションのためにはあまり好適ではない場合があることを図示する。例えば、仮想キャラクタがテーブルの表面902’上を歩いているアプリケーションにおいてMAOBP908’を使用することは、テーブルから離れて歩いており、かつ空中に懸架されている、キャラクタをもたらし得る。本問題に対処するために、他のポリゴンが、物理的環境内の表面の輪郭を描く/表すために生成されてもよい。
例えば、図5は、別の実施形態による、システム300(前方に面したFOVカメラ350と姿勢センサ360と、画像プロセッサ310とを含む)を使用して、実世界の物理的環境の表面モデルを生成する方法500を図示する、フローチャートである。ステップ502−510は、それぞれ、図4における対応するステップ402−410と同じである。図4に関して上記に説明されるように、図8に関するステップ502−510の結果は、境界ポリゴン804、凸包806、およびMAOBP808である。
ステップ512では、システム300(例えば、その画像プロセッサ310)は、境界ポリゴンの最大面積指向内部ポリゴン(「MAOIP」)を生成する。図8を簡単に参照すると、一実施形態による、MAOIP810が、図示される。MAOIP810は、重力ベクトルに沿って配向され、床に直交する、長方形である。一実施形態では、MAOIP810は、検索面積(例えば、MAOBP808によって画定された)内で検索を実施することによって生成される。グリッドは、検索面積の上部にオーバーレイされ、グリッド内の各点は、境界ポリゴン804の平面に連続して延在され、内部ポリゴンを形成し、これは、次いで、連続して試験され、境界ポリゴン804内に完全に含有されるかどうかを決定する。境界ポリゴン804の外側の部分を含む、内部ポリゴンは、分析から破棄される。最後に、境界ポリゴン804内に含有される内部ポリゴンのそれぞれの面積は、比較され、最大面積を伴う内部ポリゴンを識別する。
前述のグリッドおよび検索アルゴリズムを使用して、MAOIP810を生成することは、実世界の物理的環境内の表面を表す他のモダリティ(例えば、MAOBP)と比較して、算出上高価である。MAOBP808を検索面積として使用することは、システム300が最大数のグリッド点をウォークスルーすることを要求する。本問題に対処するために、方法は、検索面積のサイズを限定するために、図8におけるユーザインターフェース800を使用して、ユーザ入力を促進してもよい。ユーザインターフェース800は、システム300の頭部装着型ディスプレイから投影される線814によって画定されたカーソル812を含む。ユーザは、その頭部またはトーテムをホワイトボード802に対して移動させることによって、カーソル812を移動させることができる。カーソル812は、境界ポリゴン804の平面におけるX(816)およびY(818)方向に延在することによって、検索面積を画定する。
図8における検索面積は、MAOBP808より若干のみ小さいが、他の実施形態では、検索面積は、MAOBP808より有意に小さくてもよい。1つのそのような実施形態は、図9Cにおけるユーザインターフェース900’’に示され、境界ポリゴン904’は、テーブルの表面902’と異なる形状を有する。検索面積は、重力ベクトルに直交するように配向される、または重力ベクトルに対して回転されてもよい。
MAOIP810を検索する算出負荷に対処するための別の方法は、検索面積を形成するグリッドの分解能を調節することである。グリッドの分解能を低減させることは、算出負荷を低減させる。一実施形態では、グリッドの分解能は、検索面積のサイズに基づいて調節される。大検索面積に関して、分解能は、減少される。逆に言えば、小検索面積に関して、分解能は、増加される。
MAOIP810は、境界ポリゴン804内の点のみを含有するため、特に、あるアプリケーションのために有用である。MAOIP810が好適である、1つのアプリケーションは、仮想キャラクタがテーブルの表面902’上を歩いている、アプリケーションまたはゲームである。本アプリケーションに関して、表面を境界ポリゴン904’の内側の点のみを含むように画定することは、仮想キャラクタが、テーブルの表面902’から離れて歩いており、空中に懸架された状態になる等の異常を防止する。
(記憶および使用のためのデータ構造)
図10は、部屋(その中に家具を含む)内の複数の主要な表面を表す、3−D表面モデル1000(以降、「モデル1000」と称される)を描写する。モデル1000は、上記に説明されるように生成され、表面は、重力ベクトルに対して平行または直交のいずれかであるように選択されている。モデル1000は、抽出された境界ポリゴン1004と、凸包1006と、MAOBP1008と、MAOIP1010とを含む。本モデル1000は、特に、垂直表面(例えば、メディアを表示する)および水平表面(例えば、重力下での表面とのシミュレートされた相互作用を伴う、仮想オブジェクトの設置)と相互作用する、アプリケーションにとって有用であろう。図10に描写されるモデル1000等の3−Dモデルは、最小限の記憶および帯域幅を使用して、アプリケーション/AR/MRシステム内に記憶され、それに伝送されることができる。さらに、そのような3−Dモデルは、アプリケーション/AR/MRシステムによる付加的最小限の処理を伴って、物理的衝突をシミュレートし、静止接触をシミュレートし、種々の採光効果(例えば、陰影および反射)を表示するために使用されることができる。
図10に描写されるモデル1000のような3−D表面モデルは、基準マーカ(例えば、ArUcoマーカ)の使用を伴わずに、物理的環境内の表面に関する位置および配向情報を提供する。加えて、3−D表面モデルは、推定された表面範囲情報を提供するが、これは、基準マーカによって提供されることができない。MAOBPは、表面の範囲を過大推定し、MAOIPは、表面の範囲を過小推定する。
図10における抽出された境界ポリゴン、凸包、MAOBP、およびMAOIPは、平面メッシュポリゴンを使用して、物理的環境内の表面を表すことと比較して、最小限の量のメモリおよび帯域幅を使用して、メモリ(例えば、システム300のメモリ312)内に記憶され、種々のアプリケーションに通信されることができる。一実施形態では、長方形を表すデータ(例えば、MAOBPまたはMAOIP)は、所定の3−D座標系内の(例えば、長方形の4つの角の)X、Y、Z座標であることができる。別の実施形態では、長方形を表すデータは、長方形の中心を表す座標(例えば、X、Y座標)と、長方形の長さおよび幅を表す四元数(4つの数)であることができる。
本データフォーマットは、メモリおよび帯域幅要件の両方を低減させ、多くの場合、複合現実アプリケーションによって使用される、他の表面特性に到着する単純低算出操作のために構成される。例えば、長方形の長さおよび幅は、長方形の4つの角の座標を減算することによって、容易に計算されることができる。同様に、長方形の中心は、長方形の4つの角の座標を平均することによって、容易に計算されることができる。加えて、長方形の長さおよび幅の方向におけるベクトルは、長方形に対する法線を計算する(例えば、クロス積を使用して)ために使用されることができる。さらに、座標系は、長さベクトル、幅ベクトル、および法線ベクトルに基づいて、画定されることができる。
長方形を表すデータ(例えば、MAOBPまたはMAOIP)は、所定の座標系内の(例えば、長方形の4つの角の)座標であることができるが、他の実施形態では、長方形を表すデータはまた、これらの算出された特性のうちのいくつか(例えば、長さ、幅、中心、法線、および座標系)を含んでもよい。これらの実施形態では、メモリおよび帯域幅の若干の増加は、表面モデルを受信および処理するアプリケーションによる低減された算出要件によって相殺され得る。
上記に説明される実施形態におけるMAOBPおよびMAOIPは、長方形であるが、システム300は、任意の所定の形状(例えば、円形、三角形、五角形、および同等物)におけるMAOBPおよびMAOIPを生成するように構成されることができる。単一実施形態におけるMAOBPおよびMAOIPは、2つの異なるポリゴン(例えば、三角形および長方形)であることができる。他の実施形態では、本明細書に描写されるもののように、単一実施形態におけるMAOBPおよびMAOIPは、同一形状であるが、異なるスケールであることができる。抽出された境界ポリゴンとMAOBPとの間の適合は、抽出された境界ポリゴンの面積をMAOBPの面積から減算することによって計算されることができる。その実施形態では、面積の差異が小さいほど、適合がより良好である。
図9A−9Cに示されるように、ホワイトボード902を表すMAOBP908は、テーブルの表面902’を表すMAOBP908’と比較して、対応する境界ポリゴン904およびホワイトボード902に対するより良好な適合である(すなわち、より少ない余剰空空間を有する)。システム300は、面積における計算された差異を比較することによって、所定の一連の既知の形状を通して巡回させ、MAOBPの適合を増加させるように構成されることができる。これはまた、相関/適合値を計算し、値がある所定の閾値(例えば、0.9)を上回るかどうかを決定することによって、物理的環境内の任意の特定の表面の形状の良好な推定を提供するであろう。
上記に説明されるシステム300は、仮想画像をレンダリングし、実世界の物理的環境の表面をモデル化するために、単一画像プロセッサ310を含むが、他の実施形態は、レンダリングおよびモデル化するための別個のプロセッサを含む。実際、表面モデル化のための別個のプロセッサは、サーバコンピュータ内に常駐してもよい。別個のプロセッサは、相互に通信可能および動作可能に結合されてもよい。
上記に説明されるシステム300は、個別の対の前方に面したFOVカメラ350と、姿勢センサ360とを含むが、他の実施形態は、単一の前方に面したFOVカメラ350と、単一の姿勢センサ360とのみを含む。さらに他の実施形態では、一対の前方に面したFOVカメラ350を含み、姿勢センサ360を含まない。これらの実施形態では、3−D点群は、古典的三角測量技法を使用して生成される。
AR/MRシステムを使用して、上記に説明される実世界の物理的環境の表面モデルを生成する方法400、500は、平面ポリゴンメッシュを物理的環境の画像/ビデオから生成するステップを含むが、他の実施形態では、ポリゴンメッシュは、物理的環境画像/ビデオから生成される。さらに他の実施形態では、ポリゴンメッシュは、存在しない。代わりに、これらの方法は、境界ポリゴンを、直接、物理的環境の画像/ビデオから抽出する(例えば、マシンビジョン技法を使用して)。
例えば、図11は、さらに別の実施形態による、システム300を使用して、実世界の物理的環境の表面モデルを生成する方法1100を描写する。ステップ1102、1108、および1110は、図4における対応するステップ402、408、および410と同じである。それぞれ、図4および11に描写される方法400、1100間の差異は、方法1100におけるステップ1106では、システム300(例えば、その画像プロセッサ310)が、境界ポリゴンを物理的環境の受信された画像/ビデオから抽出することである(例えば、マシンビジョンおよび受信された姿勢情報を使用して)。方法1100は、効率的マシンビジョンのために構成されるシステム内に実装されると、平面ポリゴンメッシュを生成するステップを含む、方法400、500より少ない算出電力(例えば、プロセッササイクル)を使用して、物理的環境の表面モデルを生成し得る。
(システムアーキテクチャ)
図12は、本開示の実施形態を実装するために好適な例証的コンピューティングシステム1200のブロック図である。コンピュータシステム1200は、情報を通信するためのバス1206または他の通信機構を含み、これは、プロセッサ1207、システム(主要な)メモリ1208(例えば、RAM)、静的記憶デバイス1209(例えば、ROM)、ディスク(記憶)ドライブ1210(例えば、磁気または光学)、通信インターフェース1214、ディスプレイ1211、入力デバイス1212、データインターフェース1233、およびカーソル制御等の相互接続サブシステムおよびデバイスである。
一実施形態によると、コンピューティングシステム1200は、プロセッサ1207がシステムメモリ1208内に含有される1つ以上の命令の1つ以上のシーケンスを実行することによって、具体的動作を実施する。そのような命令は、システムメモリ1208の中に、静的記憶デバイス1209またはディスクドライブ1210等の別のコンピュータ可読/使用可能媒体から読み出されてもよい。代替実施形態では、有線回路が、本開示を実装するためのソフトウェア命令の代わりに、またはそれと組み合わせて使用される。したがって、本開示の実施形態は、任意の具体的組み合わせのハードウェア回路および/またはソフトウェアに限定されない。一実施形態では、用語「論理」は、本開示の全部または一部を実装するために使用される、任意の組み合わせのソフトウェアまたはハードウェアを意味し得る。
用語「コンピュータ可読媒体」または「コンピュータ使用可能媒体」は、本明細書で使用されるように、実行のための命令をプロセッサ1207に提供する際に関与する、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体および揮発性媒体を含む、多くの形態をとり得る。不揮発性媒体は、例えば、ディスクドライブ1210等の光学または磁気ディスクを含む。揮発性媒体は、システムメモリ1208等の動的メモリを含む。「コンピュータ可読媒体」は、非一過性コンピュータ可読記憶媒体であってもよい。
共通形態のコンピュータ可読メディアは、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが読み取り得る、任意の他の媒体を含む。
一実施形態では、本開示を実践するための命令のシーケンスの実行は、単一コンピュータシステム1200によって実施される。他の実施形態によると、通信リンク1215(例えば、LAN、PTSN、または無線ネットワーク)によって結合される、2つ以上のコンピュータシステム1200が、相互に協調して、本開示を実践するために要求される命令のシーケンスを実施してもよい。
コンピュータシステム1200は、通信リンク1215および通信インターフェース1214を通して、プログラム、例えば、アプリケーションコードを含む、メッセージ、データ、および命令を伝送および受信してもよい。受信されたプログラムコードは、プロセッサ1207によって、受信されるにつれて実行される、および/または後の実行のために、ディスクドライブ1210または他の不揮発性記憶装置内に記憶されてもよい。コンピュータシステム1200は、データを、データインターフェース1233を介して、データベースサーバ1231に通信可能に結合されるデータベース1232に伝送し、そこから受信してもよい。
本明細書に説明されるシステム300は、前方に面したFOVカメラ350を有するが、それらのカメラは、深度センサまたはその一部として機能してもよい。そのような深度センサは、米国仮特許出願第62/301,847号(その内容は、前述で参照することによって本明細書に組み込まれている)に説明される。
本開示の種々の実施形態が、本明細書に説明される。これらの実施例は、非限定的意味で参照される。それらは、本開示のより広義に適用可能な側面を例証するために提供される。種々の変更が、説明される本開示に行われてもよく、本開示の真の精神および範囲から逸脱することなく、均等物が代用されてもよい。加えて、多くの修正が、特定の状況、材料、組成物、プロセス、プロセス作用、またはステップを本開示の目的、精神、または範囲に適合させるために行われてもよい。さらに、当業者によって理解されるであろうように、本明細書で説明および例証される個々の変形例はそれぞれ、本開示の範囲または精神から逸脱することなく、他のいくつかの実施形態のうちのいずれかの特徴から容易に分離される、またはそれらと組み合わせられる、離散コンポーネントおよび特徴を有する。全てのそのような修正は、本開示と関連付けられた請求項に記載の範囲内であることが意図される。
本開示は、本主題のデバイスを使用して実施され得る方法を含む。本方法は、そのような好適なデバイスを提供する作用を含んでもよい。そのような提供は、エンドユーザによって実施されてもよい。言い換えると、「提供する」作用は、単に、エンドユーザが、本主題の方法において必要なデバイスを取得する、それにアクセスする、それに接近する、それを位置付ける、それを設定する、それをアクティブ化する、それに電源を入れる、または別様にそれを提供するように作用することを要求する。本明細書に列挙される方法は、論理的に可能な列挙されたイベントの任意の順序およびイベントの列挙された順序で行われてもよい。
本開示の側面が、材料選択および製造に関する詳細とともに、上記に記載された。本開示の他の詳細に関して、これらは、前述の参照特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことは、一般または論理的に採用されるような付加的作用の観点から、本発明の方法ベースの側面に関しても当てはまり得る。
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されたが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)は、本開示の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
また、説明される本開示の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つ以上のものと組み合わせて、記載および請求され得ることが検討される。単数形アイテムの言及は、存在する複数の同一アイテムが存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。言い換えると、冠詞の使用は、上記の説明および本開示と関連付けられる請求項における本主題のアイテムのうちの「少なくとも1つ」を可能にする。さらに、そのような請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
そのような排他的専門用語を使用しなければ、本開示と関連付けられる請求項における用語「〜を備える」は、所与の数の要素が請求項で列挙されるかどうかにかかわらず、任意の付加的要素の包含を可能にするものとする、または特徴の追加は、そのような請求項に記載される要素の性質を変換すると見なされ得る。本明細書で具体的に定義される場合を除いて、本明細書で使用される全ての技術および科学用語は、請求項の正当性を維持しながら、可能な限り広い一般的に理解されている意味を与えられるべきである。
本開示の範疇は、提供される実施例および/または本主題の明細書に限定されるべきではなく、むしろ、本開示と関連付けられた請求項の言語の範囲によってのみ限定されるべきである。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。

Claims (35)

  1. 物理的環境の表面モデルを生成する方法であって、
    前記物理的環境の画像を取得することと、
    境界ポリゴンを少なくとも前記画像から抽出することと、
    前記境界ポリゴンに関する凸包を生成することと、
    最小面積指向境界ポリゴンを前記凸包から生成することと
    を含む、方法。
  2. 平面ポリゴンメッシュを少なくとも前記画像から生成することをさらに含み、
    前記境界ポリゴンを少なくとも前記画像から抽出することは、前記境界ポリゴンを前記平面ポリゴンメッシュから抽出することを含む、請求項1に記載の方法。
  3. 前記物理的環境の画像を取得することは、
    結像デバイスを使用して、前記物理的環境に対応する3−D点群を取得することと、
    前記結像デバイスに関する姿勢情報を取得することと
    を含み、
    前記方法はさらに、前記姿勢情報を使用して、前記3−D点群に関する切断符号付き距離関数を算出することを含み、
    前記平面ポリゴンメッシュを生成することは、前記切断符号付き距離関数をテッセレートすることを含む、
    請求項2に記載の方法。
  4. 2つのより小さい平面ポリゴンメッシュを1つのより大きい平面ポリゴンメッシュに組み合わせることをさらに含む、請求項3に記載の方法。
  5. 重力ベクトルを取得することをさらに含み、
    前記生成された平面ポリゴンメッシュは、前記重力ベクトルに対して略平行および直交のうちの少なくとも1つである、請求項2に記載の方法。
  6. 前記凸包を生成することは、Graham走査アルゴリズムを使用することを含む、請求項1に記載の方法。
  7. 前記最小面積指向境界ポリゴンを生成することは、回転キャリパーアルゴリズムを使用することを含む、請求項1に記載の方法。
  8. 前記最小面積指向境界ポリゴンは、前記平面ポリゴンメッシュの境界ポリゴンの外側にある、請求項2に記載の方法。
  9. 前記平面ポリゴンメッシュの境界ポリゴンの内側の最大面積指向内部ポリゴンを生成することをさらに含む、請求項2に記載の方法。
  10. 前記最大面積指向内部ポリゴンを生成することは、前記境界ポリゴンによって画定された検索面積内で検索を実施することを含む、請求項9に記載の方法。
  11. 前記最大面積指向内部ポリゴンを生成することは、グリッドを前記検索面積内に形成することを含む、請求項10に記載の方法。
  12. 前記検索面積のサイズに基づいて、前記グリッドの分解能を調節することをさらに含む、請求項11に記載の方法。
  13. 前記平面ポリゴンメッシュの境界ポリゴンの内側の点の選択を受信することをさらに含み、
    前記最大面積指向内部ポリゴンを生成することは、前記選択された点を使用して画定された検索面積内で検索を実施することを含む、請求項9に記載の方法。
  14. 前記最大面積指向内部ポリゴンを生成することは、グリッドを前記検索面積内に形成することを含む、請求項13に記載の方法。
  15. 前記検索面積のサイズに基づいて、前記グリッドの分解能を調節することをさらに含む、請求項13に記載の方法。
  16. 前記最小面積指向境界ポリゴンおよび前記最大面積指向内部ポリゴンは、同一形状を有する、請求項9に記載の方法。
  17. 前記平面ポリゴンメッシュは、マーチングキューブアルゴリズムに基づいて生成される、請求項2に記載の方法。
  18. 前記最小面積指向境界ポリゴンは、長方形、三角形、および円形のうちの少なくとも1つである、請求項1に記載の方法。
  19. 前記最小面積指向境界ポリゴンと前記境界ポリゴンとの間の適合を決定することをさらに含む、請求項1に記載の方法。
  20. 前記適合を決定することは、前記最小面積指向境界ポリゴンの第1の面積と前記境界ポリゴンの第2の面積との間の差異を計算することを含む、請求項19に記載の方法。
  21. 前記最小面積指向境界ポリゴンを表すデータを記憶することをさらに含み、
    前記最小面積指向境界ポリゴンは、長方形である、請求項1に記載の方法。
  22. 前記データは、前記長方形に対応する4つの座標集合を備える、請求項21に記載の方法。
  23. 前記データはさらに、前記長方形の長さ、前記長方形の幅、および前記長方形の中心を備える、請求項22に記載の方法。
  24. 前記4つの座標集合はそれぞれ、一対の座標である、請求項22に記載の方法。
  25. 前記平面ポリゴンメッシュを生成することは、前記物理的環境の一連の画像の静的部分を捕捉することを含む、請求項2に記載の方法。
  26. 物理的環境の表面モデルを生成するためのシステムであって、
    結像デバイスと、
    カメラに動作可能に結合される画像プロセッサであって、前記画像プロセッサは、
    少なくとも部分的に、前記物理的環境の画像を前記結像デバイスから取得することと、
    境界ポリゴンを少なくとも前記画像から抽出することと、
    前記境界ポリゴンに関する凸包を生成することと、
    最小面積指向境界ポリゴンを前記凸包から生成することと
    を行うように構成される、画像プロセッサと
    を備える、システム。
  27. 前記結像デバイスおよび前記画像プロセッサに動作可能に結合される姿勢センサをさらに備え、
    前記画像プロセッサはまた、
    前記姿勢情報を使用して、前記3−D点群に関する切断符号付き距離関数を算出することと、
    前記切断符号付き距離関数をテッセレートすることによって、平面ポリゴンメッシュを少なくとも前記画像から生成することと
    を行うように構成され、
    前記境界ポリゴンを少なくとも前記画像から抽出することは、前記平面ポリゴンメッシュの境界ポリゴンを抽出することを含み、
    前記物理的環境の画像を取得することは、
    前記結像デバイスを使用して、前記物理的環境に対応する3−D点群を取得することと、
    前記姿勢センサを使用して、前記結像デバイスに関する姿勢情報を取得することと
    を含む、請求項26に記載のシステム。
  28. 前記画像プロセッサはまた、
    平面ポリゴンメッシュを少なくとも前記画像から生成することと、
    前記平面ポリゴンメッシュの境界ポリゴンの内側の最大面積指向内部ポリゴンを生成することと
    を行うように構成される、請求項26に記載のシステム。
  29. 前記最大面積指向内部ポリゴンを生成することは、
    前記境界ポリゴンによって画定された検索面積内で検索を実施することと、
    グリッドを前記検索面積内に形成することと、
    前記検索面積のサイズに基づいて、前記グリッドの分解能を調節することと
    を含む、請求項28に記載のシステム。
  30. 前記画像プロセッサはまた、前記平面ポリゴンメッシュの境界ポリゴンの内側の点の選択を受信するように構成され、
    前記最大面積指向内部ポリゴンを生成することは、
    前記選択された点を使用して画定された検索面積内で検索を実施することと、
    グリッドを前記検索面積内に形成することと
    を含み、
    前記画像プロセッサはまた、前記検索面積のサイズに基づいて、前記グリッドの分解能を調節するように構成される、請求項28に記載のシステム。
  31. 前記最小面積指向境界ポリゴンは、長方形、三角形、および円形のうちの少なくとも1つである、請求項26に記載のシステム。
  32. 前記画像プロセッサはまた、前記最小面積指向境界ポリゴンを表すデータを記憶するように構成され、
    前記最小面積指向境界ポリゴンは、長方形であり、
    前記データは、前記長方形に対応する4つの座標集合を備える、
    請求項26に記載のシステム。
  33. 前記データはさらに、前記長方形の長さ、前記長方形の幅、および前記長方形の中心を備える、請求項32に記載のシステム。
  34. 前記4つの座標集合はそれぞれ、一対の座標である、請求項32に記載のシステム。
  35. 前記画像プロセッサはまた、少なくとも前記物理的環境の一連の画像の静的部分を捕捉することによって、平面ポリゴンメッシュを少なくとも前記画像から生成するように構成される、請求項26に記載のシステム。
JP2019518059A 2016-10-05 2017-10-05 表面モデル化システムおよび方法 Active JP6911107B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021109910A JP7209777B2 (ja) 2016-10-05 2021-07-01 表面モデル化システムおよび方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662404617P 2016-10-05 2016-10-05
US62/404,617 2016-10-05
PCT/US2017/055313 WO2018067801A1 (en) 2016-10-05 2017-10-05 Surface modeling systems and methods

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021109910A Division JP7209777B2 (ja) 2016-10-05 2021-07-01 表面モデル化システムおよび方法

Publications (3)

Publication Number Publication Date
JP2019534510A true JP2019534510A (ja) 2019-11-28
JP2019534510A5 JP2019534510A5 (ja) 2020-11-12
JP6911107B2 JP6911107B2 (ja) 2021-07-28

Family

ID=61757006

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019518059A Active JP6911107B2 (ja) 2016-10-05 2017-10-05 表面モデル化システムおよび方法
JP2021109910A Active JP7209777B2 (ja) 2016-10-05 2021-07-01 表面モデル化システムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021109910A Active JP7209777B2 (ja) 2016-10-05 2021-07-01 表面モデル化システムおよび方法

Country Status (9)

Country Link
US (3) US10585278B2 (ja)
EP (1) EP3523783A4 (ja)
JP (2) JP6911107B2 (ja)
KR (2) KR102246841B1 (ja)
CN (2) CN109791442B (ja)
AU (2) AU2017340609B2 (ja)
CA (1) CA3037276A1 (ja)
IL (2) IL294635B2 (ja)
WO (1) WO2018067801A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
IL260048B2 (en) * 2016-01-12 2023-09-01 Magic Leap Inc A beam angle sensor in a virtual/augmented reality system
WO2018204419A1 (en) 2017-05-01 2018-11-08 Magic Leap, Inc. Matching content to a spatial 3d environment
CN111684495A (zh) 2017-12-22 2020-09-18 奇跃公司 用于在混合现实系统中管理和显示虚拟内容的方法和系统
KR20200122362A (ko) 2018-02-22 2020-10-27 매직 립, 인코포레이티드 혼합 현실 시스템들을 위한 브라우저
CA3091026A1 (en) 2018-02-22 2019-08-29 Magic Leap, Inc. Object creation with physical manipulation
US11288864B2 (en) * 2018-03-08 2022-03-29 Simile Inc. Methods and systems for producing content in multiple reality environments
WO2019211586A1 (en) * 2018-05-04 2019-11-07 Signaturize Holdings Ltd Generating virtual representations
GB2574795B (en) 2018-05-04 2022-10-05 Signaturize Holdings Ltd Generating virtual representations
US10853946B2 (en) * 2018-05-18 2020-12-01 Ebay Inc. Physical object boundary detection techniques and systems
CN108744520B (zh) * 2018-06-05 2022-02-22 网易(杭州)网络有限公司 确定游戏模型摆放位置的方法、装置和电子设备
EP3803688A4 (en) 2018-06-05 2021-08-04 Magic Leap, Inc. MATCHING CONTENT WITH A 3D SPATIAL ENVIRONMENT
CN108919954B (zh) * 2018-06-29 2021-03-23 蓝色智库(北京)科技发展有限公司 一种动态变化场景虚实物体碰撞交互方法
US20210327089A1 (en) * 2018-08-27 2021-10-21 Ying Ji Method for Measuring Positions
EP3861479A1 (en) * 2018-10-01 2021-08-11 Google LLC Method and device for detecting a vertical planar surface
WO2020206313A1 (en) 2019-04-03 2020-10-08 Magic Leap, Inc. Managing and displaying webpages in a virtual three-dimensional space with a mixed reality system
US11030474B1 (en) * 2019-05-28 2021-06-08 Apple Inc. Planar region boundaries based on intersection
KR102476057B1 (ko) 2019-09-04 2022-12-09 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
US20210373649A1 (en) * 2020-04-01 2021-12-02 Rajesh Dayal Moorjani Attaching Extended Reality (XR) Content To Physical Points Of Interest
KR102416216B1 (ko) * 2021-02-09 2022-07-05 주식회사 비젼그리드 영상인식을 이용한 3차원 실체 형상 데이터 생성 방법 및 장치
CN113094457B (zh) * 2021-04-15 2023-11-03 成都纵横自动化技术股份有限公司 一种数字正射影像地图的增量式生成方法及相关组件
GB202108778D0 (en) * 2021-06-18 2021-08-04 Pointfuse Ltd Pointcloud processing, especially for use with building intelligence modelling (BIM)
US20230215108A1 (en) * 2021-12-31 2023-07-06 Samsung Electronics Co., Ltd. System and method for adaptive volume-based scene reconstruction for xr platform applications
WO2023167430A1 (ko) * 2022-03-04 2023-09-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11908080B2 (en) * 2022-04-04 2024-02-20 Tencent America LLC Generating surfaces with arbitrary topologies using signed distance fields

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320319A1 (en) * 2010-06-23 2011-12-29 Justin Streich Methods, Systems and Machines for Identifying Geospatial Compatibility Between Consumers and Providers of Goods or Services
JP2012178133A (ja) * 2011-02-03 2012-09-13 Nippon Telegr & Teleph Corp <Ntt> 被写体認識装置、被写体認識方法及び被写体認識プログラム
JP2013012156A (ja) * 2011-06-30 2013-01-17 Toshiba Corp 領域検出装置、領域検出方法及びプログラム
US20150062120A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Method and apparatus for representing a physical scene
JP2016514384A (ja) * 2013-01-30 2016-05-19 クアルコム,インコーポレイテッド 電力効率の良い深度センサーの使用によるリアルタイム3d再構成

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7952583B2 (en) * 2000-06-19 2011-05-31 Mental Images Gmbh Quasi-monte carlo light transport simulation by efficient ray tracing
US7623734B2 (en) * 2004-09-30 2009-11-24 Microsoft Corporation Method and system for automatically inscribing noisy objects in scanned image data within a minimum area rectangle
US9250704B2 (en) * 2009-03-25 2016-02-02 Sony Corporation Information processing device and information processing method
US8922558B2 (en) * 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
US8983643B2 (en) * 2010-01-15 2015-03-17 Stratasys, Inc. Method for generating and building support structures with deposition-based digital manufacturing systems
US8134717B2 (en) * 2010-05-21 2012-03-13 LTS Scale Company Dimensional detection system and associated method
US10702216B2 (en) * 2010-06-08 2020-07-07 Styku, LLC Method and system for body scanning and display of biometric data
US10628666B2 (en) 2010-06-08 2020-04-21 Styku, LLC Cloud server body scan data system
JP6196624B2 (ja) * 2011-09-30 2017-09-13 ジーイー・ヘルスケア・リミテッド 可変深さ定位表面投影
US20130314401A1 (en) * 2012-05-23 2013-11-28 1-800 Contacts, Inc. Systems and methods for generating a 3-d model of a user for a virtual try-on product
US8898102B2 (en) * 2012-05-25 2014-11-25 Pgs Geophysical As Adaptive computational grid for inverse problems
US9211092B2 (en) * 2013-01-03 2015-12-15 Dexcom, Inc. End of life detection for analyte sensors
US9575634B2 (en) * 2013-03-04 2017-02-21 Facebook, Inc. Techniques for asynchronous rendering
US9514574B2 (en) 2013-08-30 2016-12-06 Qualcomm Incorporated System and method for determining the extent of a plane in an augmented reality environment
US9595125B2 (en) * 2013-08-30 2017-03-14 Qualcomm Incorporated Expanding a digital representation of a physical plane
US10445400B2 (en) * 2013-10-28 2019-10-15 Brown University Non-convex hull surfaces
US11125912B2 (en) * 2013-11-25 2021-09-21 Schlumberger Technology Corporation Geologic feature splitting
AU2014354673B2 (en) 2013-11-27 2019-04-11 Magic Leap, Inc. Virtual and augmented reality systems and methods
JP6212398B2 (ja) 2014-01-15 2017-10-11 大成建設株式会社 景観定量化装置
US20150242421A1 (en) * 2014-02-21 2015-08-27 Quixey, Inc. Location-Based Searching
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9417840B2 (en) 2014-09-16 2016-08-16 Salesforce.Com, Inc. In-memory buffer service
CN106663411A (zh) 2014-11-16 2017-05-10 易欧耐特感知公司 用于增强现实准备、处理和应用的系统和方法
US20160140769A1 (en) * 2014-11-17 2016-05-19 Qualcomm Incorporated Edge-aware volumetric depth map fusion
US9852543B2 (en) * 2015-03-27 2017-12-26 Snap Inc. Automated three dimensional model generation
US9893879B2 (en) * 2015-09-21 2018-02-13 Tektronix, Inc. Method for automatically finding the optimum sampling point in an eye diagram

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320319A1 (en) * 2010-06-23 2011-12-29 Justin Streich Methods, Systems and Machines for Identifying Geospatial Compatibility Between Consumers and Providers of Goods or Services
JP2012178133A (ja) * 2011-02-03 2012-09-13 Nippon Telegr & Teleph Corp <Ntt> 被写体認識装置、被写体認識方法及び被写体認識プログラム
JP2013012156A (ja) * 2011-06-30 2013-01-17 Toshiba Corp 領域検出装置、領域検出方法及びプログラム
JP2016514384A (ja) * 2013-01-30 2016-05-19 クアルコム,インコーポレイテッド 電力効率の良い深度センサーの使用によるリアルタイム3d再構成
US20150062120A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Method and apparatus for representing a physical scene

Also Published As

Publication number Publication date
JP6911107B2 (ja) 2021-07-28
IL294635B1 (en) 2023-10-01
US11378798B2 (en) 2022-07-05
IL294635A (en) 2022-09-01
CA3037276A1 (en) 2018-04-12
US20200166745A1 (en) 2020-05-28
US20180095276A1 (en) 2018-04-05
KR102246841B1 (ko) 2021-05-03
AU2017340609B2 (en) 2021-12-16
US10585278B2 (en) 2020-03-10
JP7209777B2 (ja) 2023-01-20
KR20210047977A (ko) 2021-04-30
AU2017340609A1 (en) 2019-04-04
KR102317776B1 (ko) 2021-10-25
CN109791442B (zh) 2023-04-18
CN109791442A (zh) 2019-05-21
KR20190058624A (ko) 2019-05-29
JP2021166078A (ja) 2021-10-14
EP3523783A4 (en) 2019-10-16
US11073690B2 (en) 2021-07-27
AU2022201769A1 (en) 2022-04-07
EP3523783A1 (en) 2019-08-14
WO2018067801A1 (en) 2018-04-12
CN116310218A (zh) 2023-06-23
IL265739A (en) 2019-06-30
IL294635B2 (en) 2024-02-01
US20210311304A1 (en) 2021-10-07
IL265739B (en) 2022-08-01

Similar Documents

Publication Publication Date Title
JP7209777B2 (ja) 表面モデル化システムおよび方法
EP3000020B1 (en) Hologram anchoring and dynamic positioning
JP6352426B2 (ja) ヘッドマウントディスプレイを使用して拡張ディスプレイを提供するデバイス、方法、及びシステム
US20160371884A1 (en) Complementary augmented reality
US20190371072A1 (en) Static occluder
US20210318547A1 (en) Augmented reality viewer with automated surface selection placement and content orientation placement
JP2022537817A (ja) 動的オクルージョンのための高速の手のメッシュ化
US20230251710A1 (en) Virtual, augmented, and mixed reality systems and methods
CN109710054B (zh) 用于头戴式显示设备的虚拟物体呈现方法和装置
US20210358173A1 (en) Computationally efficient method for computing a composite representation of a 3d environment
JP2024506299A (ja) 占有率グリッドを使用した場面理解

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201002

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201002

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210201

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210707

R150 Certificate of patent or registration of utility model

Ref document number: 6911107

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150