KR102195352B1 - 3-차원 공간에서의 가상 객체의 자동적인 배치 - Google Patents

3-차원 공간에서의 가상 객체의 자동적인 배치 Download PDF

Info

Publication number
KR102195352B1
KR102195352B1 KR1020197006686A KR20197006686A KR102195352B1 KR 102195352 B1 KR102195352 B1 KR 102195352B1 KR 1020197006686 A KR1020197006686 A KR 1020197006686A KR 20197006686 A KR20197006686 A KR 20197006686A KR 102195352 B1 KR102195352 B1 KR 102195352B1
Authority
KR
South Korea
Prior art keywords
virtual object
target virtual
user
virtual
environment
Prior art date
Application number
KR1020197006686A
Other languages
English (en)
Other versions
KR20190038886A (ko
Inventor
폴 아미스테드 후버
조나단 로렌스 만
Original Assignee
매직 립, 인코포레이티드
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 매직 립, 인코포레이티드 filed Critical 매직 립, 인코포레이티드
Publication of KR20190038886A publication Critical patent/KR20190038886A/ko
Application granted granted Critical
Publication of KR102195352B1 publication Critical patent/KR102195352B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • 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/0189Sight systems
    • 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/34Stereoscopes providing a stereoscopic pair of separated images corresponding to parallactically displaced views of the same object, e.g. 3D slide viewers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/106Processing image signals
    • H04N13/156Mixing 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/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • 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/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
    • H04N13/395Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume with depth sampling, i.e. the volume being constructed from a stack or sequence of 2D image planes
    • 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/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/001Constructional or mechanical details

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Mechanical Optical Scanning Systems (AREA)
  • Mechanical Light Control Or Optical Switches (AREA)

Abstract

사용자의 3D(three-dimensional) 환경에서 목적지 객체에 대해 가상 객체를 자동적으로 재포지셔닝하기 위한 증강 현실 시스템들 및 방법들이 개시된다. 시스템들 및 방법들은 타겟 가상 객체를 목적지 객체에 자동적으로 부착하고, 가상 객체 또는 목적지 객체의 어포던스들에 기반하여 타겟 가상 객체를 재배향시킬 수 있다. 시스템들 및 방법들은 또한 사용자의 움직임을 추적하고, 사용자의 움직임이 임계 조건을 넘어갈 때 목적지 객체로부터 가상 객체를 분리할 수 있다.

Description

3-차원 공간에서의 가상 객체의 자동적인 배치
[0001] 본 출원은, 2016년 8월 11일에 출원되고 발명의 명칭이 "AUTOMATIC PLACEMENT OF VIRTUAL OBJECTS IN A 3D ENVIRONMENT"인 미국 가출원 제62/373693호, 및 2016년 8월 11일에 출원되고 발명의 명칭이 "VIRTUAL OBJECT USER INTERFACE WITH GRAVITY"인 미국 가출원 제62/373692호를 35 U.S.C.§119(e) 하에서 우선권으로 주장하며, 이로써, 상기 출원들의 개시내용들은 그 전체가 인용에 의해 본원에 포함된다.
[0002] 본 개시내용은 가상 현실 및 증강 현실 이미징 및 시각화 시스템들에 관한 것이며, 더 상세하게는, 3-차원(3D) 공간에서 가상 객체를 자동적으로 재포지셔닝하는 것에 관한 것이다.
[0003] 현대 컴퓨팅 및 디스플레이 기술들은 소위 "가상 현실", "증강 현실", 또는 "혼합 현실" 경험들을 위한 시스템들의 개발을 용이하게 했으며, 여기서 디지털적으로 재생된 이미지들 또는 이미지들의 부분들은, 그들이 실제인 것으로 보이거나, 실제로서 지각될 수 있는 방식으로 사용자에게 제시된다. 가상 현실, 또는 "VR" 시나리오는 통상적으로 다른 실제 실세계 시각적 입력에 대한 투명성(transparency) 없이 디지털 또는 가상 이미지 정보의 프리젠테이션(presentation)을 수반하고; 증강 현실, 또는 "AR" 시나리오는 통상적으로 사용자 주위 실제 세계의 시각화에 대한 증강으로서 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반하고; 혼합 현실, 또는 "MR"은, 실제 및 가상 세계들을 병합하여 물리적 및 가상 객체들이 공존하고 실시간으로 상호작용하는 새로운 환경을 생성하는 것과 관련된다. 밝혀진 바와 같이, 인간 시각적 지각 시스템은 매우 복잡하고, 다른 가상 또는 실세계 이미저리 엘리먼트들 사이에서 가상 이미지 엘리먼트들의 편안하고, 자연스러운 느낌의, 풍부한 프리젠테이션을 용이하게 하는 VR, AR 또는 MR 기술을 생성하는 것은 난제이다. 본원에 개시된 시스템들 및 방법들은 VR, AR 및 MR 기술에 관련된 다양한 난제들을 해결한다.
[0004] 가상 객체를 자동적으로 재포지셔닝하기 위한 증강 현실 시스템의 다양한 실시예들이 설명된다.
[0005] 하나의 예시적인 실시예에서, 3-차원(3D) 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 증강 현실(AR) 시스템이 개시된다. AR 시스템은 가상 콘텐츠를 3D 뷰로 제공하도록 구성된 AR 디스플레이, AR 디스플레이와 통신하는 하드웨어 프로세서를 포함한다. 하드웨어 프로세서는: 사용자의 3D 환경에서 타겟 가상 객체를 식별하고 ― 제1 위치 및 제1 배향을 나타내는 하나의 벡터가 타겟 가상 객체에 할당됨 ― ; 타겟 가상 객체를 목적지 객체에 부착하라는 표시를 수신하고 ― 제2 위치 및 제2 배향을 나타내는 적어도 하나의 벡터가 목적지 객체에 할당됨 ― ; 제1 위치 및 제2 위치에 적어도 부분적으로 기반하여 타겟 가상 객체와 목적지 객체 사이의 궤적을 계산하고; 궤적을 따라 목적지 객체쪽으로 타겟 가상 객체를 이동시키고; 타겟 가상 객체의 현재 위치를 추적하고; 타겟 가상 객체의 현재 위치 및 제2 위치에 적어도 부분적으로 기반하여, 타겟 가상 객체와 목적지 객체 사이의 거리를 계산하고; 타겟 가상 객체와 목적지 객체의 거리가 임계 거리 미만인지 여부를 결정하고; 거리가 임계 거리 미만이거나 동일하다는 비교에 대한 응답으로, 타겟 가상 객체를 목적지 객체에 자동적으로 부착하고, 타겟 가상 객체를 제2 배향으로 배향시키고; 그리고 타겟 가상 객체가 목적지 객체 상에 오버레이된 경우, AR 디스플레이에 의해, 타겟 가상 객체를 제2 위치에서 제2 배향으로 렌더링하도록 프로그래밍된다.
[0006] 다른 예시적인 실시예에서, 3-차원(3D) 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법이 개시된다. 방법은, 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 수행될 수 있고, AR 시스템은 3D 환경에서 객체들과의 사용자 상호작용을 허용하도록 구성된다. 방법은: 사용자의 3D 환경에서 타겟 가상 객체를 식별하는 단계 ― 타겟 가상 객체는 제1 포지션 및 제1 배향을 가짐 ― ; 목적지 객체에 대해 타겟 가상 객체를 재포지셔닝하라는 표시를 수신하는 단계; 타겟 가상 객체를 재포지셔닝하기 위한 파라미터들을 식별하는 단계; 3D 환경, 타겟 가상 객체, 및 목적지 객체 중 적어도 하나와 연관된 어포던스들(affordances)을 분석하는 단계; 어포던스들에 기반하여 타겟 가상 객체를 재포지셔닝하기 위한 파라미터들의 값들을 계산하는 단계; 타겟 가상 객체를 재포지셔닝하기 위한 파라미터들의 값들에 기반하여, 타겟 가상 객체에 대한 제2 포지션 및 제2 배향 및 타겟 가상 객체의 움직임을 결정하는 단계; 및 제2 포지션 및 제2 배향에서 타겟 가상 객체, 및 제1 포지션 및 제1 배향으로부터 제2 포지션 및 제2 배향에 도달하기 위한 타겟 가상 객체의 움직임을 렌더링하는 단계를 포함한다.
[0007] 본 명세서에서 설명되는 청구 대상의 하나 이상의 구현들의 세부사항들은, 아래의 첨부 도면들 및 설명에서 기술된다. 다른 피처들, 양상들, 및 이점들은 설명, 도면들, 및 청구항들로부터 명백해질 것이다. 이 개요 또는 다음의 상세한 설명 어느 것도, 본 발명의 청구 대상의 범위를 한정하거나 제한하는 것으로 의도되지 않는다.
[0008] 도 1은 사람에 의해 관찰되는 소정의 물리적 객체들 및 소정의 가상 현실 객체들을 갖는 혼합 현실 시나리오의 예시를 도시한다.
[0009] 도 2는 웨어러블 시스템의 예를 개략적으로 예시한다.
[0010] 도 3은 다중 깊이 평면들을 사용하여 3-차원 이미저리를 시뮬레이팅하기 위한 접근법의 양상들을 개략적으로 예시한다.
[0011] 도 4는 사용자에게 이미지 정보를 출력하기 위한 도파관 스택의 예를 개략적으로 예시한다.
[0012] 도 5는 도파관에 의해 출력될 수 있는 예시적인 출사 빔들을 도시한다.
[0013] 도 6은, 다중-초점 볼류메트릭 디스플레이, 이미지 또는 광 필드의 생성에 사용되는 도파관 장치, 도파관 장치로 또는 도파관 장치로부터의 광을 광학적으로 커플링하는 광학 커플러 서브시스템, 및 제어 서브시스템을 포함하는 광학 시스템을 도시하는 개략도이다.
[0014] 도 7은 웨어러블 시스템의 일 예의 블록도이다.
[0015] 도 8은 인지된 객체들과 관련하여 가상 콘텐츠를 렌더링하는 방법의 예의 프로세스 흐름도이다.
[0016] 도 9는 웨어러블 시스템의 다른 예의 블록도이다.
[0017] 도 10은 웨어러블 시스템에 대한 사용자 입력을 결정하는 방법의 예의 프로세스 흐름도이다.
[0018] 도 11은 가상 사용자 인터페이스와 상호작용하기 위한 방법의 예의 프로세스 흐름도이다.
[0019] 도 12a 및 12b는 가상 객체를 테이블에 자동적으로 부착하는 예를 예시한다.
[0020] 도 13a, 13b, 13c 및 13d는, 가상 객체의 일부가 벽을 터치할 때, 가상 객체를 자동적으로 배향시키는 예를 예시한다.
[0021] 도 14a, 14b, 14c 및 14d는 가상 객체를 테이블로부터 벽으로 이동시키는 예를 예시한다.
[0022] 도 15a, 15b 및 15c는 측면으로부터 가상 객체를 부착 및 배향시키는 예를 예시한다.
[0023] 도 15d 및 15e는 벽으로부터 가상 객체를 분리하는 예를 예시한다.
[0024] 도 15f, 15g 및 15h는 측면으로부터 가상 객체를 부착 및 배향시키는 부가적인 예들을 예시한다.
[0025] 도 16은 가상 객체를 부착 및 배향시키기 위한 예시적인 방법이다.
[0026] 도 17은 사용자의 환경에서 다른 객체로부터 가상 객체를 분리하기 위한 예시적인 방법이다.
[0027] 도면들 전체에 걸쳐, 참조 번호들은 참조된 엘리먼트들 사이의 대응성(correspondence)를 표시하는 데 재사용될 수 있다. 도면들은 본원에서 설명된 예시적인 실시예들을 예시하기 위해 제공되며 본 개시내용의 범위를 제한하려는 의도는 아니다.
개요
[0028] AR/MR 환경에서, 사용자는 가상 객체의 포지션 또는 배향을 변경함으로써 가상 객체를 재포지셔닝하기를 원할 수 있다. 일 예로서, 사용자는 3-차원(3D) 공간에서 가상 객체를 이동시키고, 사용자의 환경에서 가상 객체를 물리적 객체에 부착할 수 있다. 가상 객체는 2-차원(2D) 또는 3D 객체일 수 있다. 예컨대, 가상 객체는 평면, 2D 텔레비전 디스플레이 또는 3D 가상 커피 포트일 수 있다. 사용자는, 사용자 입력 디바이스(이를테면, 예컨대, 토템(totem))를 사용함으로써 그리고/또는 사용자의 포즈를 변경함으로써, 궤적을 따라 가상 객체를 이동시키고, 가상 객체를 물리적 객체에 부착할 수 있다. 예컨대, 사용자는, 가상 텔레비전(TV) 스크린이 테이블에서 벽으로 이동하게 하기 위해 사용자 입력 디바이스를 이동시킬 수 있다. 유사하게, AR 시스템은 사용자가 머리 포즈로 가상 객체를 선택하고 이동시킬 수 있게 할 수 있다. 사용자가 자신의 머리를 움직일 때, 가상 객체가 또한 움직이고, 이에 따라 포지셔닝 및 배향된다.
[0029] 그러나, 3D 공간에서 가상 객체의 움직임들이 때때로 사용자에 대해 문제가 될 수 있는데, 왜냐하면 움직임들이 사용자의 현재 포지션에 관하여 사용자에게 혼동을 일으킬 수 있는 착시들(optical illusions)을 생성할 수 있기 때문이다. 예컨대, 사용자는, 객체가 자신에게서 멀어지거나 자신쪽으로 이동하는지에 관하여 혼란스러울 수 있다. 이러한 착시들은, 사용자가 AR 시스템과 상호작용할 때, 인지 피로를 발생시킬 수 있다.
[0030] 또한, 사용자가 목적지 객체의 표면 상에 또는 목적지 객체의 내부에 가상 객체를 놓도록 시도하면서, 사용자는, 가장 객체와 목적지 객체를 정렬시키도록, 3D 공간에서 다수의 방향들로 가상 객체를 배향 및 포지셔닝하기 위해 종종 개선된 움직임들을 만들 필요가 있다. 예컨대, 사용자가 가상 TV 스크린을 테이블로부터 벽으로 이동시킬 때, 사용자는, TV 스크린의 표면 법선이 사용자를 향하도록 가상 스크린을 배향시킬 필요가 있을 수 있다(예컨대, TV 스크린에 의해 디스플레이되는 콘텐츠는 벽 대신에 사용자를 향함). 사용자는, 사용자가 가상 TV 스크린을 볼 때 자신의 머리를 돌릴 필요가 없도록, 가상 스크린을 추가로 배향시킬 수 있다. 또한, 가상 TV 스크린이 (벽에 임베딩된 것처럼 보이는 것보다는) 벽의 최상부에 있는 것처럼 보이게 하기 위해, 사용자는 가상 TV 스크린의 포지션을 약간 조정할 필요가 있을 수 있다. 이러한 조작들은 사용자가 정밀하게 수행하는 데 시간이 많이 걸리고 어려울 수 있고, 사용자에게 신체적 피로를 발생시킬 수 있다.
[0031] 이들 문제들 중 일부 또는 전부를 해결하기 위해, AR 시스템은, 타겟 가상 객체의 포지션 또는 배향을 변경함으로써 타겟 가상 객체를 자동적으로 재포지셔닝하도록 구성될 수 있다. 일 예로서, AR 시스템은, 가상 객체와 타겟 객체 사이의 거리가 임계 거리 미만일 때, 타겟 가상 객체를 목적지 객체로 배향시키고 타겟 가상 객체를 목적지 객체에 부착할 수 있다. AR 시스템은 또한, 마치 가상 객체가 물리력(예컨대, Hooke의 법칙과 같은 스프링 힘, 중력, 접착력, 전자기력 등)을 받는 것처럼, 가상 객체를 이동시킴으로써 타겟 가상 객체를 자동적으로 재포지셔닝할 수 있다. 예컨대, 가상 객체 및 타겟 객체가 임계 거리 내에 있을 때, AR 시스템은, 마치 가상 객체 및 타겟 객체가 인력(예컨대, 자력 또는 중력을 모방함)으로 인해 함께 끌어당기는 것처럼 가상 객체를 타겟 객체에 자동적으로 "스내핑"할 수 있다. 따라서, AR 시스템은 객체들 사이에 가상의 힘을 인가할 수 있으며, 가상의 힘은 객체들 사이의 물리력을 시뮬레이팅하거나 그와 같이 작용한다. 대부분의 경우들에서, 가상의(또는 시뮬레이팅된 물리적) 힘이 인력(attractive)이 있 수 있지만, 이는 제한적이지 않고, 다른 경우들에서, 가상의(또는 시뮬레이팅된 물리적) 힘이 반발력(repulsive)이 있을 수 있어서, 객체들을 서로 멀리 떨어지게 이동시키는 경향이 있다. 반발력이 있는 가상의 힘은, 다른 인근 가상 객체들이 타겟 객체들과 (적어도 약간) 반발되고, 이로써 다른 인근의 객체들 중에서 타겟 가상 객체의 배치를 위한 공간을 제공하기 위해 약간 이동하도록, 타겟 가상 객체를 배치할 때 유리할 수 있다.
[0032] AR 시스템은, 가상 객체의 표면 법선과 사용자의 시선 방향을 정렬하기 위해 가상 객체를 추가로 배향시킬 수 있다. 예로서, 가상 객체는 초기에 사용자 환경에 부유(floating)하고 있을 수 있다. 사용자는 가상 객체를, 예컨대, 테이블 윗면 또는 바닥과 같은 수평 표면으로 이동시키기 위한 의도를 (예컨대, 신체 제스처 또는 사용자 입력 디바이스의 활성화를 통해) 나타낼 수 있다. AR 시스템은, 일단 가상 객체가 수평 표면에 충분히 가깝다면, 중력의 효과를 시뮬레이팅하고, 부가적인 사용자 노력들 없이 가상 객체를 수평 표면을 자동적으로 드롭할 수 있다.
[0033] 일부 상황들에서, 사용자는 가상 객체가 부착된 객체로부터 가상 객체를 분리하기를 원할 수 있다. AR 시스템은, 가상 객체가 분리되어야 한다는 충분한 표시를 사용자가 제공하지 않으면, 사용자가 객체로부터 가상 객체를 즉시 분리할 수 없도록, 가상 객체와 객체 사이의 인력을 시뮬레이팅할 수 있다(예컨대, 자석이 냉장고와 같은 자기 표면에 달라붙을 수 있는 방법 또는 책이 수평 테이블에 놓이는 방법을 시뮬레이팅함). 예컨대, 사용자는 자신의 손 또는 가상 표시자로 가상 객체를 "움켜잡고", (예컨대, 사용자의 손 포지션 또는 가상 표시자 포지션의 충분히 빠른 변화에 의해) 객체를 "홱 잡아당길(yank)" 수 있다. 가상 객체를 분리하라는 표시는 임계 조건(이를테면, 움직임이 임계 거리, 임계 속도, 임계 가속도 또는 가속도 변화의 임계 레이트, 이들의 조합 등을 넘어갈 때)보다 더 큰 움직임에 의해 표시될 수 있다. 이것은, 사용자가 가상 객체와 상호작용하는 동안, 사용자가 잘못하여(accidentally) 가상 객체를 분리할 가능성을 감소시키기 때문에, 이것이 특히 유리할 수 있다. 예로서, 사용자가 벽에 부착된 가상 스크린을 사용하여 게임을 플레이하는 동안, 사용자는 친구들 또는 적들을 찾거나 이들과 상호작용하기 위해 자신의 토템을 이동시킬 필요가 있을 수 있다. 이러한 타입의 게임 움직임은 가상 객체를 벽으로부터 분리하기 위한 타입들의 움직임들과 일치할 수 있다. 사용자의 움직임이 적절한 임계치를 충분히 초과하면, 벽으로부터 가상 객체만을 분리함으로써, 가상 스크린은 게임을 플레이하는 동안 부주의로 분리되지 않을 것이다. 부가적으로, 사용자는 일반적으로 자신의 포즈 또는 사용자 입력 디바이스를 오랜 시간 기간들 동안 정지된 상태로 유지할 수 없다. 결과적으로, 가상 객체는, 사용자가 가상 객체를 분리하려고 의도하지 않을 때, 사용자의 작은 움직임에 의해 잘못하여 분리될 수 있다. 따라서, 사용자의 움직임이 적절한 임계치를 충분히 초과하면, 가상 객체만을 분리함으로써, 사용자에 의한 작은 움직임들 또는 경련들(twitches)은 자신들의 의도된 위치 또는 배향으로부터 가상 객체를 부주의로 분리하지 않을 것이다.
웨어러블 시스템의 3D 디스플레이의 예들
[0034] 웨어러블 시스템(본원에서 AR(augmented reality) 시스템으로 또한 지칭됨)은 2D 또는 3D 가상 이미지들을 사용자에게 제시하도록 구성될 수 있다. 이미지들은 정지 이미지들, 비디오의 프레임들 또는 비디오, 이들의 조합 등일 수 있다. 웨어러블 시스템은 사용자 상호작용을 위해 VR, AR 또는 MR 환경을 단독으로 또는 조합하여 제시할 수 있는 웨어러블 디바이스를 포함할 수 있다. 웨어러블 디바이스는 ARD(AR device)로서 상호 교환 가능하게 사용되는 HMD(head-mounted device)일 수 있다. 또한, 본 개시내용의 목적을 위해, "AR"이란 용어는 "MR"이란 용어와 상호 교환 가능하게 사용된다.
[0035] 도 1은 사람에 의해 관찰되는 소정의 물리적 객체들 및 소정의 가상 현실 객체들을 갖는 혼합 현실 시나리오의 예시를 도시한다. 도 1에서, MR 장면(100)이 도시되며, 여기서 MR 기술의 사용자는 배경에 있는 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼(120)을 피처링(featuring)하는 실세계 공원-형 세팅(110)을 본다. 이들 아이템들에 더하여, MR 기술의 사용자는 또한, 그가 실세계 플랫폼(120) 상에 서 있는 로봇 동상(130), 및 호박벌의 의인화인 것으로 보여지는 날고 있는 만화-형 아바타 캐릭터(140)를 보는 것을 지각하더라도, 이들 엘리먼트들은 실세계에 존재하지 않는다.
[0036] 3D 디스플레이가 진정한 깊이감(sensation of depth) 및 보다 구체적으로, 시뮬레이팅된 표면 깊이감을 생성하기 위해, 디스플레이의 시계(visual field)의 각각의 지점이 그의 가상 깊이에 대응하는 원근조절 응답을 생성하는 것이 바람직할 수 있다. 디스플레이 지점에 대한 원근조절 응답이 수렴 및 입체시(stereopsis)의 양안 깊이 단서들에 의해 결정된 바와 같은 그 지점의 가상 깊이에 대응하지 않는 경우, 인간의 눈은 원근조절 충돌을 경험할 수 있어, 불안정한 이미징, 유해한 눈의 피로, 두통들, 그리고 원근조절 정보의 부재 시에, 표면 깊이의 거의 완전한 결여를 초래할 수 있다.
[0037] VR, AR 및 MR 경험들은 복수의 깊이 평면들에 대응하는 이미지들이 뷰어에게 제공되는 디스플레이들을 갖는 디스플레이 시스템들에 의해 제공될 수 있다. 이미지들은 각각의 깊이 평면마다 상이할 수 있고(예컨대, 장면 또는 객체의 약간 다른 프리젠테이션들을 제공함) 뷰어의 눈들에 의해 별개로 포커싱될 수 있어서, 상이한 깊이 평면 상에 로케이팅되는 장면에 대한 상이한 이미지 피처들에 포커스를 맞추도록 요구되는 눈의 원근조절에 기반하여 또는 상이한 깊이 평면들 상의 상이한 이미지 피처들이 아웃 포커스(out of focus)되는 것을 관찰하는 것에 기반하여 깊이 단서들을 사용자에게 제공하는 것을 돕는다. 본원의 다른 곳에서 논의된 바와 같이, 이러한 깊이 단서들은 깊이의 신뢰할 수 있는 지각들을 제공한다.
[0038] 도 2는 웨어러블 시스템(200)의 예를 예시한다. 웨어러블 시스템(200)은 디스플레이(220), 및 디스플레이(220)의 기능을 지원하기 위한 다양한 기계적 및 전자적 모듈들 및 시스템들을 포함한다. 디스플레이(220)는 사용자, 착용자 또는 뷰어(210)에 의해 착용 가능한 프레임(230)에 커플링될 수 있다. 디스플레이(220)는 사용자(210)의 눈들 앞에 포지셔닝될 수 있다. 디스플레이(220)는 AR/VR/MR 콘텐츠를 사용자에게 제시할 수 있다. 디스플레이(220)는 사용자의 머리에 착용되는 헤드 장착 디스플레이를 포함할 수 있다. 일부 실시예들에서, 스피커(240)는 프레임(230)에 커플링되고 사용자의 외이도에 인접하게 포지셔닝된다(일부 실시예들에서, 도시되지 않은 다른 스피커가 사용자의 다른 외이도에 인접하게 포지셔닝되어 스테레오/성형 가능(shapeable) 사운드 제어를 제공함). 디스플레이(220)는 음성 인식을 수행하는, 환경으로부터 오디오 스트림을 검출하기 위한 오디오 센서(예컨대, 마이크로폰)를 포함할 수 있다.
[0039] 웨어러블 시스템(200)은 사용자 주위의 환경의 세계를 관찰하는 외향 이미징 시스템(464)(도 4에 도시됨)을 포함할 수 있다. 웨어러블 시스템(200)은 또한, 사용자의 눈 움직임들을 추적할 수 있는 내향 이미징 시스템(462)(도 4에 도시됨)을 포함할 수 있다. 내향 이미징 시스템은 어느 한쪽 눈의 움직임들 또는 양쪽 눈의 움직임들을 추적할 수 있다. 내향 이미징 시스템(462)은 프레임(230)에 부착될 수 있고, 프로세싱 모듈(260 또는 270)과 전기 통신할 수 있으며, 이 프로세싱 모듈(260 또는 270)은 예컨대, 사용자(210)의 동공 직경들 또는 눈들의 배향들, 눈 움직임들 또는 눈 포즈(pose)를 결정하도록 내향 이미징 시스템에 의해 획득된 이미지 정보를 프로세싱할 수 있다.
[0040] 예로서, 웨어러블 시스템(200)은 외향 이미징 시스템(464) 또는 내향 이미징 시스템(462)을 사용하여 사용자의 포즈의 이미지들을 획득할 수 있다. 이미지들은 정지 이미지들, 비디오의 프레임들 또는 비디오, 이들의 조합 등일 수 있다.
[0041] 디스플레이(220)는 이를테면, 유선 리드 또는 무선 연결성에 의해, 다양한 구성들로 장착될 수 있는, 이를테면, 프레임(230)에 고정되게 부착되거나, 사용자에 의해 착용된 헬멧 또는 모자에 고정되게 부착되거나, 헤드폰들에 내장되거나, 그렇지 않으면 사용자(210)에게 제거 가능하게 부착되는 (예컨대, 백팩(backpack)-스타일 구성으로, 벨트-커플링 스타일 구성으로) 로컬 데이터 프로세싱 모듈(260)에 동작 가능하게 커플링(250)될 수 있다.
[0042] 로컬 프로세싱 및 데이터 모듈(260)은 하드웨어 프로세서는 물론, 디지털 메모리 이를테면, 비-휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있고, 이 둘 모두는 데이터의 프로세싱, 캐싱(caching) 및 저장을 보조하기 위해 활용될 수 있다. 데이터는 a) 센서들(예컨대, 프레임(230)에 동작 가능하게 커플링되거나 그렇지 않으면 사용자(210)에게 부착될 수 있음), 이를테면, 이미지 캡처 디바이스들(예컨대, 내향 이미징 시스템 또는 외향 이미징 시스템의 카메라들), 오디오 센서들(예컨대, 마이크로폰들), IMU(inertial measurement unit)들, 가속도계들, 컴파스(compass)들, GPS(global positioning system) 유닛들, 라디오 디바이스들, 또는 자이로스코프들로부터 캡처되고; 또는 b) 원격 프로세싱 모듈(270) 또는 원격 데이터 저장소(repository)(280)를 사용하여 획득 또는 프로세싱되는(가능하게는, 이러한 프로세싱 또는 리트리벌(retrieval) 이후 디스플레이(220)에 전달하기 위한) 데이터를 포함할 수 있다. 로컬 프로세싱 및 데이터 모듈(260)은 통신 링크들(262 또는 264)에 의해, 이를테면, 유선 또는 무선 통신 링크들을 통하여, 원격 프로세싱 모듈(270) 또는 원격 데이터 저장소(280)에 동작 가능하게 커플링될 수 있어서, 이들 원격 모듈들은 로컬 프로세싱 및 데이터 모듈(260)에 대한 자원들로서 이용 가능하다. 또한, 원격 프로세싱 모듈(280) 및 원격 데이터 저장소(280)는 서로 동작 가능하게 커플링될 수 있다.
[0043] 일부 실시예들에서, 원격 프로세싱 모듈(270)은 데이터 또는 이미지 정보를 분석 및 프로세싱하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 일부 실시예들에서, 원격 데이터 저장소(280)는 "클라우드" 자원 구성에서 인터넷 또는 다른 네트워킹 구성을 통하여 이용 가능할 수 있는 디지털 데이터 저장 설비를 포함할 수 있다. 일부 실시예들에서, 모든 데이터는 저장되고 모든 컴퓨테이션들은 로컬 프로세싱 및 데이터 모듈에서 수행되어, 원격 모듈로부터 완전히 자율적인 사용을 허용한다.
[0044] 인간 시각 시스템은 복잡하고 현실적인 깊이의 지각을 제공하는 것은 난제이다. 이론에 의해 제한됨이 없이, 객체의 뷰어들은 이접운동 및 원근조절의 조합으로 인해 객체를 "3-차원"인 것으로 지각할 수 있다고 여겨진다. 서로에 대한 두 눈들의 이접운동(vergence) 움직임들(즉, 객체를 응시하기 위해 눈들의 시선들을 수렴하도록 서로를 향하는 또는 서로 멀어지는 동공들의 롤링(rolling) 움직임들)은 눈들의 렌즈들의 포커싱(또는 "원근조절")과 밀접하게 연관된다. 정상 조건들 하에서, 상이한 거리에 있는 하나의 객체로부터 다른 객체로 포커스를 변화시키기 위하여, 눈들의 렌즈들의 포커스를 변화시키거나, 또는 눈들을 원근조절하는 것은 "원근조절-이접운동 반사(accommodation-vergence reflex)"로서 알려진 관계하에서, 동일한 거리에 대한 이접운동에서의 매칭하는 변화를 자동으로 유발할 것이다. 마찬가지로, 이접운동의 변화는 정상 조건들하에서, 원근조절의 매칭 변화를 트리거할 것이다. 원근조절과 이접운동 사이의 더 양호한 매칭을 제공하는 디스플레이 시스템들은 3-차원 이미저리의 더 현실적이고 편안한 시뮬레이션들을 형성할 수 있다.
[0045] 도 3은 다중 깊이 평면들을 사용하여 3-차원 이미저리를 시뮬레이팅하기 위한 접근법의 양상들을 예시한다. 도 3을 참조하면, z-축 상에서 눈들(302 및 304)로부터 다양한 거리들에 있는 객체들은, 이들 객체들이 인 포커싱(in focus)되도록 눈들(302 및 304)에 의해 원근조절된다. 눈들(302 및 304)은 z-축을 따라 상이한 거리들에 있는 객체들에 포커싱을 맞추게 하는 특정 원근조절된 상태들을 가정한다. 결과적으로, 특정 원근조절된 상태는 연관된 초점 거리를 갖는, 깊이 평면들(306) 중 특정한 하나의 깊이 평면과 연관되는 것으로 말해질 수 있어서, 특정 깊이 평면의 객체들 또는 객체들의 부분들은, 눈이 해당 깊이 평면에 대해 원근조절된 상태에 있을 때 인 포커싱된다. 일부 실시예들에서, 3-차원 이미저리는 눈들(302 및 304) 각각에 대해 이미지의 상이한 프리젠테이션들을 제공함으로써, 그리고 또한, 깊이 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 시뮬레이팅될 수 있다. 예시의 명확성을 위해 별개인 것으로 도시되지만, 눈들(302 및 304)의 시야들은 예컨대, z-축을 따른 거리가 증가함에 따라 겹쳐질 수 있다는 것이 인지될 것이다. 게다가, 예시의 용이함을 위해 평평한 것으로 도시되지만, 깊이 평면의 윤곽들은 물리적 공간에서 만곡될 수 있어서, 깊이 평면의 모든 피처들은 특정 원근조절된 상태에서 눈과 인 포커싱된다는 것이 인지될 것이다. 이론에 의해 제한됨이 없이, 인간 눈이 통상적으로 깊이 지각을 제공하기 위하여 유한 수의 깊이 평면들을 해석할 수 있다고 여겨진다. 결과적으로, 지각된 깊이의 매우 믿을 만한 시뮬레이션은, 눈에, 이들 제한된 수의 깊이 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 달성될 수 있다.
도파관 스택 어셈블리
[0046] 도 4는 이미지 정보를 사용자에게 출력하기 위한 도파관 스택의 예를 예시한다. 웨어러블 시스템(400)은 복수의 도파관들(432b, 434b, 436b, 438b, 4400b)을 사용하여 3-차원 지각을 눈/뇌에 제공하기 위하여 활용될 수 있는 도파관들의 스택, 또는 스택된 도파관 어셈블리(480)를 포함한다. 일부 실시예들에서, 웨어러블 시스템(400)은 도 2의 웨어러블 시스템(200)에 대응할 수 있고, 도 4는 그 웨어러블 시스템(200)의 일부 부분들을 더 상세히 개략적으로 보여준다. 예컨대, 일부 실시예들에서, 도파관 어셈블리(480)는 도 2의 디스플레이(220)에 통합될 수 있다.
[0047] 도 4를 계속 참조하면, 도파관 어셈블리(480)는 또한, 도파관들 사이에 복수의 피처들(458, 456, 454, 452)을 포함할 수 있다. 일부 실시예들에서, 피처들(458, 456, 454, 452)은 렌즈들일 수 있다. 다른 실시예들에서, 피처들(458, 456, 454, 452)은 렌즈들이 아닐 수 있다. 오히려, 이들은 단순히 스페이서들(예컨대, 에어 갭들을 형성하기 위한 클래딩 층들 또는 구조들)일 수 있다.
[0048] 도파관들(432b, 434b, 436b, 438b, 440b) 또는 복수의 렌즈들(458, 456, 454, 452)은 다양한 레벨들의 파면 곡률 또는 광선 발산으로 이미지 정보를 눈에 전송하도록 구성될 수 있다. 각각의 도파관 레벨은 특정 깊이 평면과 연관될 수 있고 그 깊이 평면에 대응하는 이미지 정보를 출력하도록 구성될 수 있다. 이미지 주입 디바이스들(420, 422, 424, 426, 428)은 이미지 정보를 도파관들(440b, 438b, 436b, 434b, 432b)에 주입하기 위하여 활용될 수 있고, 이 도파관들 각각은 눈(410)을 향하여 출력하도록, 각각의 개별 도파관을 가로질러 인입 광을 분산시키도록 구성될 수 있다. 광은 이미지 주입 디바이스들(420, 422, 424, 426, 428)의 출력 표면을 나가고 도파관들(440b, 438b, 436b, 434b, 432b)의 대응하는 입력 에지에 주입된다. 일부 실시예들에서, 단일 광 빔(예컨대, 시준된 빔)은 특정 도파관과 연관된 깊이 평면에 대응하는 특정 각도들(및 발산의 양들)로 눈(410)을 향하여 지향되는 시준된 클론 빔(cloned collimated beam)들의 전체 필드를 출력하기 위하여 각각의 도파관으로 주입될 수 있다.
[0049] 일부 실시예들에서, 이미지 주입 디바이스들(420, 422, 424, 426, 428)은 각각, 대응하는 도파관(440b, 438b, 436b, 434b, 432b)으로의 주입을 위한 이미지 정보를 각각 생성하는 이산 디스플레이들이다. 일부 다른 실시예들에서, 이미지 주입 디바이스들(420, 422, 424, 426, 428)은 예컨대, 이미지 정보를 하나 이상의 광학 도관들(예컨대, 광섬유 케이블들)을 통하여 이미지 주입 디바이스들(420, 422, 424, 426, 428) 각각에 파이핑(pipe)할 수 있는 단일 멀티플렉싱된 디스플레이의 출력 단부들이다.
[0050] 제어기(460)는 스택된 도파관 어셈블리(480) 및 이미지 주입 디바이스들(420, 422, 424, 426, 428)의 동작을 제어한다. 제어기(460)는 도파관들(440b, 438b, 436b, 434b, 432b)에 대한 이미지 정보의 타이밍 및 프로비전(provision)을 레귤레이팅하는 프로그래밍(예컨대, 비-일시적 컴퓨터-판독 가능 매체의 명령들)을 포함한다. 일부 실시예들에서, 제어기(460)는 단일 통합 디바이스, 또는 유선 또는 무선 통신 채널들에 의해 연결되는 분산 시스템일 수 있다. 제어기(460)는 일부 실시예들에서, 프로세싱 모듈들(260 또는 270)(도 2에 예시됨)의 부분일 수 있다.
[0051] 도파관들(440b, 438b, 436b, 434b, 432b)은 TIR(total internal reflection)에 의해 각각의 개별 도파관 내에서 광을 전파시키도록 구성될 수 있다. 도파관들(440b, 438b, 436b, 434b, 432b)은 각각 평면형이거나 다른 형상(예컨대, 곡선)을 가질 수 있으며, 주 최상부 및 최하부 표면들 및 이들 주 최상부와 최하부 표면들 사이에서 연장되는 에지들을 갖는다. 예시된 구성에서, 도파관들(440b, 438b, 436b, 434b, 432b)은 이미지 정보를 눈(410)에 출력하기 위해 각각의 개별 도파관 내에서 전파되는 광을 도파관 밖으로 재지향시킴으로써 도파관으로부터 광을 추출하도록 구성된 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)을 각각 포함할 수 있다. 추출된 광은 아웃커플링된 광으로서 또한, 지칭될 수 있고, 광 추출 광학 엘리먼트들은 또한, 아웃커플링 광학 엘리먼트들로서 지칭될 수 있다. 추출된 광 빔은, 도파관 내에서 전파되는 광이 광 재지향 엘리먼트에 부딪치는 위치들에서 도파관에 의해 출력된다. 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 예컨대, 반사성 및/또는 회절성 광학 피처들일 수 있다. 설명의 용이함 및 도면 명확성을 위하여 도파관들(440b, 438b, 436b, 434b, 432b)의 최하부 주 표면들에 배치된 것으로 예시되지만, 일부 실시예들에서, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 최상부 및/또는 최하부 주 표면들에 배치될 수 있거나 도파관들(440b, 438b, 436b, 434b, 432b)의 볼륨에 직접 배치될 수 있다. 일부 실시예들에서, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 도파관들(440b, 438b, 436b, 434b, 432b)을 형성하기 위해 투명 기판에 부착된 재료 층에 형성될 수 있다. 일부 다른 실시예들에서, 도파관들(440b, 438b, 436b, 434b, 432b)은 재료의 모놀리식 피스(piece)일 수 있고 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 재료의 해당 피스의 표면 상에 그리고/또는 그 내부에 형성될 수 있다.
[0052] 도 4를 계속 참조하면, 본원에 논의된 바와 같이, 각각의 도파관(440b, 438b, 436b, 434b, 432b)은 특정 깊이 평면에 대응하는 이미지를 형성하기 위해 광을 출력하도록 구성된다. 예컨대, 눈에 가장 가까운 도파관(432b)은, 그러한 도파관(432b)에 주입된 시준된 광을 눈(410)에 전달하도록 구성될 수 있다. 시준된 광은 광학 무한대 초점 평면을 나타낼 수 있다. 다음 위의 도파관(434b)은 시준된 광이 눈(410)에 도달할 수 있기 전에 제1 렌즈(452)(예컨대, 네거티브 렌즈)를 통과하는 시준된 광을 보내도록 구성될 수 있다. 제1 렌즈(452)는 약간의 볼록한 파면 곡률을 생성하도록 구성될 수 있어서, 눈/뇌가 상기 다음 위의 도파관(434b)으로부터 오는 광을, 광학 무한대로부터 눈(410)을 향해 안쪽으로 더 가까운 제1 초점 평면으로부터 오는 것으로 해석한다. 유사하게, 세번째 위의 도파관(436b)은 그 출력 광을, 눈(410)에 도달하기 전에 제1 렌즈(452) 및 제2 렌즈(454) 둘 모두를 통과시킨다. 제1 및 제2 렌즈들(452 및 454)의 결합된 광학 전력은 다른 증분 양의 파면 곡률을 생성하도록 구성될 수 있어서, 눈/뇌는 제3 도파관(436b)으로부터 오는 광을, 상기 다음 위의 도파관(434b)으로부터의 광보다는 광학 무한대로부터 사람을 향하여 안쪽으로 훨씬 더 가까운 제2 초점 평면으로부터 오는 것으로 해석한다.
[0053] 다른 도파관 층들(예컨대, 도파관들(438b, 440b)) 및 렌즈들(예컨대, 렌즈들(456, 458))은 유사하게 구성되는데, 스택에서 가장 높은 도파관(440b)은 자신의 출력을, 사람과 가장 가까운 초점 평면을 나타내는 어그리게이트 초점 전력에 대해 자신과 눈 사이의 렌즈들 모두를 통하여 전송한다. 스택된 도파관 어셈블리(480)의 다른 측 상에서 세계(470)로부터 오는 광을 보거나/해석할 때 렌즈들(458, 456, 454, 452)의 스택을 보상하기 위하여, 보상 렌즈 층(430)은 아래의 렌즈 스택(458, 456, 454, 452)의 어그리게이트 파워를 보상하기 위하여 스택의 최상부에 배치될 수 있다. 이러한 구성은 이용 가능한 도파관/렌즈 쌍들이 존재하는 만큼 많은 지각된 초점 평면들을 제공한다. 도파관들의 광 추출 광학 엘리먼트들 및 렌즈들의 포커싱 양상들 둘 모두는 정적(예컨대, 동적이 아니거나 전자-활성이 아님)일 수 있다. 일부 대안적인 실시예들에서, 어느 하나 또는 둘 모두는 전자-활성 피처들을 사용하여 동적일 수 있다.
[0054] 도 4를 계속 참조하면, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 자신의 개별 도파관들로부터 광을 재지향하는 것은 물론 도파관과 연관된 특정 깊이 평면에 대해 적절한 양의 발산 또는 시준으로 이 광을 출력하도록 구성될 수 있다. 결과로서, 상이한 연관된 깊이 평면들을 가진 도파관들은 상이한 구성들의 광 추출 광학 엘리먼트들을 가질 수 있고, 이러한 광 추출 광학 엘리먼트들은 연관된 깊이 평면에 따라 상이한 양의 발산으로 광을 출력한다. 일부 실시예들에서, 본원에 논의된 바와 같이, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 특정 각도들로 광을 출력하도록 구성될 수 있는 볼류메트릭(volumetric) 또는 표면 피처들일 수 있다. 예컨대, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 볼륨 홀로그램들, 표면 홀로그램들, 및/또는 회절 격자들일 수 있다. 광 추출 광학 엘리먼트들, 이를테면, 회절 격자들은 2015년 6월 25일에 공개된 미국 특허 공개 번호 제2015/0178939호에 설명되며, 이는 그 전체가 본원에 인용에 의해 포함된다.
[0055] 일부 실시예들에서, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 회절 패턴을 형성하는 회절 피처들 또는 "회절 광학 엘리먼트"(또한, 본원에서 "DOE"로서 지칭됨)이다. 바람직하게는, DOE는 비교적 낮은 회절 효율성을 가져서, 빔의 광의 일부만이 DOE의 각각의 교차의 경우 눈(410)을 향하여 편향되지만, 나머지는 내부 전반사를 통하여 도파관을 통해 계속 이동한다. 따라서, 이미지 정보를 전달하는 광은 다수의 위치들에서 도파관을 나가는 다수의 관련된 출사 빔들로 분할될 수 있고 그 결과는 이런 특정 시준된 빔이 도파관 내에서 이리저리 바운싱되기 때문에 눈(304)을 향하는 상당히 균일한 출사 방출 패턴이다.
[0056] 일부 실시예들에서, 하나 이상의 DOE들은, 그것들이 활발하게 회절시키는 "온" 상태와 그것들이 크게 회절시키지 않는 "오프" 상태 사이에서 스위칭 가능할 수 있다. 예컨대, 스위칭 가능 DOE는, 마이크로액적들이 호스트 매질에서 회절 패턴을 포함하는 폴리머 분산형 액정 층을 포함할 수 있고, 마이크로액적들의 굴절률은 호스트 재료의 굴절률에 실질적으로 매칭하도록 스위칭될 수 있거나(이 경우에 패턴은 입사 광을 현저하게 회절시키지 않음) 또는 마이크로액적은 호스트 매질의 인덱스에 매칭하지 않는 인덱스로 스위칭될 수 있다(이 경우 패턴은 입사 광을 활발하게 회절시킴).
[0057] 일부 실시예들에서, 깊이 평면들 또는 피사계 심도(depth of field)의 수 및 분포는 뷰어의 눈들의 동공 크기들 또는 배향들에 기반하여 동적으로 변동될 수 있다. 피사계 심도는 뷰어의 동공 크기와 반대로 변경될 수 있다. 결과적으로, 뷰어의 눈들의 동공들의 크기들이 감소함에 따라, 피사계 심도가 증가하여서, 식별 불가능한 하나의 평면의 위치가 눈의 포커스의 깊이를 넘어서기 때문에 그 평면이 식별 가능하게 되고 동공 크기의 감소를 통해 보다 인 포커스로 나타나고 피사계 심도의 증가와 상응할 수 있다. 마찬가지로, 뷰어에게 상이한 이미지들을 제시하는 데 사용되는 이격된 깊이 평면들의 수는 감소된 동공 크기에 따라 감소될 수 있다. 예컨대, 뷰어는 하나의 깊이 평면으로부터 벗어나게 그리고 다른 깊이 평면으로 눈의 원근조절을 조정하지 않고서는, 하나의 동공 크기에서 제1 깊이 평면 및 제2 깊이 평면 둘 모두의 세부사항들을 명확하게 지각할 수 없을 수 있다. 그러나, 이러한 2개의 깊이 평면들은 원근조절을 변경하지 않고도 다른 동공 크기에서 사용자에게 동시에 충분히 인 포커스일 수 있다.
[0058] 일부 실시예들에서, 디스플레이 시스템은 동공 크기 또는 배향의 결정들에 또는 특정 동공 크기 또는 배향을 나타내는 전기 신호들의 수신에 기반하여 이미지 정보를 수신하는 도파관들의 수를 변동시킬 수 있다. 예컨대, 사용자의 눈들이 2개의 도파관들과 연관된 2개의 깊이 평면들을 구별할 수 없는 경우, 제어기(460)(로컬 프로세싱 및 데이터 모듈(260)의 실시예일 수 있음)는 이들 도파관들 중 하나에 이미지 정보를 제공하는 것을 중단하도록 구성되거나 프로그래밍될 수 있다. 유리하게는, 이는 시스템 상의 프로세싱 부담을 감소시킬 수 있고, 그리하여 시스템의 응답성을 증가시킨다. 도파관에 대한 DOE들이 온 및 오프 상태들 사이에서 스위칭 가능한 실시예들에서, 도파관이 이미지 정보를 수신할 때 DOE들은 오프 상태로 스위칭될 수 있다.
[0059] 일부 실시예들에서, 출사 빔이 뷰어의 눈의 직경 미만인 직경을 갖는 조건을 충족시키는 것이 바람직할 수 있다. 그러나 이 조건을 충족시키는 것은 뷰어의 동공들의 크기의 변동성을 고려하면 난제가 될 수 있다. 일부 실시예들에서, 이 조건은 뷰어의 동공의 크기의 결정에 대한 응답으로 출사 빔의 크기를 변동시킴으로써 광범위한 동공 크기들에 걸쳐 충족된다. 예컨대, 동공 크기가 감소함에 따라, 출사 빔의 크기가 또한, 감소할 수 있다. 일부 실시예들에서, 출사 빔 크기는 가변 어퍼처를 사용하여 변동될 수 있다.
[0060] 웨어러블 시스템(400)은 세계(470)의 일부를 이미지화하는 외향 이미징 시스템(464)(예컨대, 디지털 카메라)을 포함할 수 있다. 이러한 세계(470)의 일부는 세계 카메라의 FOV(field of view)로 지칭될 수 있고, 이미징 시스템(464)은 때때로 FOV 카메라로 지칭된다. 뷰어에 의한 이미징 또는 뷰잉을 위해 이용 가능한 전체 구역은 FOR(field of regard)로 지칭될 수 있다. 착용자가 자신의 신체, 머리 또는 눈들을 움직여 실질적으로 공간의 임의의 방향을 지각할 수 있기 때문에 FOR은 웨어러블 시스템(400)을 둘러싸는 4π 스테라디안(steradian)들의 입체각을 포함할 수 있다. 다른 맥락들에서, 착용자의 움직임들은 보다 억제될 수 있고, 따라서 착용자의 FOR은 보다 더 작은 입체각을 마주할 수 있다(subtend). 외향 이미징 시스템(464)으로부터 획득된 이미지들은 사용자에 의해 행해진 제스처들(예컨대, 손 또는 손가락 제스처들)을 추적하고, 사용자 앞의 세계(470)의 객체들을 검출하는 등을 행하는 데 사용될 수 있다.
[0061] 웨어러블 시스템(400)은 또한, 눈 움직임들 및 얼굴 움직임들과 같은 사용자의 움직임들을 관찰하는 내향 이미징 시스템(466)(예컨대, 디지털 카메라)을 포함할 수 있다. 내향 이미징 시스템(466)은 눈(304)의 동공의 크기 및/또는 배향을 결정하기 위해 눈(410)의 이미지들을 캡처하는 데 사용될 수 있다. 내향 이미징 시스템(466)은, (예컨대, 홍채 식별을 통해) 사용자의 바이오메트릭 식별(biometric identification)을 위한 이미지들 또는 사용자가 바라보는 방향(예컨대, 눈 포즈)을 결정하는 데 사용하기 위한 이미지들을 획득하는 데 사용될 수 있다. 일부 실시예들에서, 독립적으로, 각각의 눈의 동공 크기 또는 눈 포즈를 별개로 결정하고, 그리하여 각각의 눈에 대한 이미지 정보의 프리젠테이션이 그 눈에 동적으로 맞춰지도록 허용하기 위해, 각각의 눈마다 적어도 하나의 카메라가 활용될 수 있다. 일부 다른 실시예들에서, (예컨대, 한 쌍의 눈들 당 단지 단일 카메라만을 사용하여) 단지 한쪽 눈(410)의 동공 직경 또는 배향이 결정되고 사용자의 양 눈들에 대해 유사한 것으로 가정된다. 내향 이미징 시스템(466)에 의해 획득진 이미지들은 사용자의 눈 포즈 또는 분위기(mood)를 결정하도록 분석될 수 있으며, 이는 어떤 오디오 또는 시각적 콘텐츠가 사용자에게 제시되어야 하는지를 결정하기 위해 웨어러블 시스템(400)에 의해 사용될 수 있다. 웨어러블 시스템(400)은 또한, IMU들, 가속도계들, 자이로스코프들 등과 같은 센서들을 사용하여 머리 포즈(예컨대, 머리 포지션 또는 머리 배향)를 결정할 수 있다.
[0062] 웨어러블 시스템(400)은, 사용자가 웨어러블 시스템(400)과 상호작용하도록 제어기(460)에 커맨드들을 입력할 수 있게 하는 사용자 입력 디바이스(466)를 포함할 수 있다. 예컨대, 사용자 입력 디바이스(466)는 트랙패드, 터치스크린, 조이스틱, 다중 DOF(degree-of-freedom) 제어기, 용량성 감지 디바이스, 게임 제어기, 키보드, 마우스, 방향 패드(D-패드), 완드(wand), 햅틱 디바이스, 토템(예컨대, 가상 사용자 입력 디바이스로서 기능함) 등을 포함할 수 있다. 다중-DOF 제어기는 그 제어기의 일부 또는 모든 가능한 병진운동(translation)들(예컨대, 좌/우, 전/후 또는 위/아래) 또는 회전들(예컨대, 요(yaw), 피치 또는 롤)로 사용자 입력을 감지할 수 있다. 병진운동 움직임들을 지원하는 다중-DOF 제어기는 3DOF로서 지칭될 수 있는 반면, 병진운동들 및 회전들을 지원하는 다중-DOF 제어기는 6DOF로서 지칭될 수 있다. 일부 경우들에서, 사용자는 손가락(예컨대, 엄지 손가락)을 사용하여, 웨어러블 시스템(400)에 입력을 제공하도록(예컨대, 웨어러블 시스템(400)에 의해 제공되는 사용자 인터페이스에 사용자 입력을 제공하도록) 터치-감지 입력 디바이스를 누르거나 스와이프(swipe)할 수 있다. 사용자 입력 디바이스(466)는 웨어러블 시스템(400)의 사용 동안 사용자의 손에 의해 보유될 수 있다. 사용자 입력 디바이스(466)는 웨어러블 시스템(400)과 유선 또는 무선 통신할 수 있다.
[0063] 도 5는 도파관에 의해 출력된 출사 빔들의 예를 도시한다. 하나의 도파관이 예시되지만, 도파관 어셈블리(480) 내의 다른 도파관들이 유사하게 기능할 수 있다는 것이 인지될 것이며, 여기서 도파관 어셈블리(480)는 다수의 도파관들을 포함한다. 광(520)은 도파관(432b)의 입력 에지(432c)에서 도파관(432b)으로 주입되고 TIR에 의해 도파관(432b) 내에서 전파된다. 광(520)이 DOE(432a)에 충돌하는 지점들에서, 광의 일부는 출사 빔들(510)로서 도파관을 나간다. 출사 빔들(510)은 실질적으로 평행한 것으로 예시되지만, 이들 출사 빔들(510)은 또한, 도파관(432b)과 연관된 깊이 평면에 따라, 임의의 각도로 눈(410)으로 전파되도록 재지향될 수 있다(예컨대, 발산하는 출사 빔들을 형성함). 실질적으로 평행한 출사 빔들은, 눈(410)으로부터 먼 거리(예컨대, 광학적 무한대)에 있는 깊이 평면 상에 세팅된 것으로 보이는 이미지들을 형성하도록 광을 아웃커플링하는 광 추출 광학 엘리먼트들을 갖는 도파관을 나타낼 수 있다는 것이 인지될 것이다. 다른 도파관들 또는 광 추출 광학 엘리먼트들의 다른 세트들은 더 발산하는 출사 빔 패턴을 출력할 수 있고, 이는 눈(410)이 망막 상에 포커싱을 맞추게 하기 위해 더 가까운 거리로 원근조절하는 것을 요구할 것이고 광학적 무한대보다 눈(410)에 더 가까운 거리로부터의 광으로서 뇌에 의해 해석될 것이다.
[0064] 도 6은, 다중-초점 볼류메트릭 디스플레이, 이미지 또는 광 필드의 생성에 사용되는, 도파관 장치, 도파관 장치로 또는 도파관 장치로부터의 광을 광학적으로 커플링하는 광학 커플러 서브시스템, 및 제어 서브시스템을 포함하는 광학 시스템을 도시하는 개략도이다. 광학 시스템은 도파관 장치, 도파관 장치로 또는 도파관 장치로부터의 광을 광학적으로 커플링하는 광학 커플러 서브시스템, 및 제어 서브시스템을 포함할 수 있다. 광학 시스템은 다중-초점 볼류메트릭, 이미지 또는 광 필드를 생성하는 데 사용할 수 있다. 광학 시스템은 하나 이상의 주 평면 도파관들(632a)(도 6에서 단지 하나만 도시됨) 및 주 도파관들(632a) 중 적어도 일부의 주 도파관들 각각과 연관된 하나 이상의 DOE들(632b)을 포함할 수 있다. 평면 도파관들(632b)은 도 4를 참조하여 논의된 도파관들(432b, 434b, 436b, 438b, 440b)과 유사할 수 있다. 광학 시스템은 제1 축(도 6의 뷰에서 수직 또는 Y-축)을 따라 광을 중계하고 제1 축(예컨대, Y-축)을 따라 광의 유효 출사동(exit pupil)을 확장시키기 위해 분배 도파관 장치를 사용할 수 있다. 분배 도파관 장치는, 예컨대, 분배 평면 도파관(622b) 및 분배 평면 도파관(622b)과 연관된 적어도 하나의 DOE(622a)(이중 일점 쇄선으로 예시됨)를 포함할 수 있다. 분배 평면 도파관(622b)은 그와 상이한 배향을 갖는 주 평면 도파관(632b)과 적어도 일부 면들에서 유사하거나 동일할 수 있다. 마찬가지로, 적어도 하나의 DOE(622a)는 DOE(632a)와 적어도 일부 면들에서 유사하거나 동일할 수 있다. 예컨대, 분배 평면 도파관(622b) 또는 DOE(622a)는 각각, 주 평면 도파관(632b) 또는 DOE(632a)와 동일한 재료들로 구성될 수 있다. 도 6에 도시된 광학 디스플레이 시스템(600)의 실시예들은 도 2에 도시된 웨어러블 시스템(200)에 통합될 수 있다.
[0065] 중계된 그리고 출사동 확장된 광은 분배 도파관 장치로부터 하나 이상의 주 평면 도파관들(632b)로 광학적으로 커플링될 수 있다. 주 평면 도파관(632b)은, 바람직하게는 제1 축과 직교하는 제2 축(예컨대, 도 6의 뷰에서 수평 또는 X-축)을 따라 광을 중계할 수 있다. 특히, 제2 축은 제1 축에 대해 비-직교 축일 수 있다. 주 평면 도파관(632b)은 제2 축(예컨대, X-축)을 따라 광의 유효 출사동을 확장시킨다. 예컨대, 분배 평면 도파관(622b)은 수직 또는 Y- 축을 따라 광을 중계 및 확장시키고, 수평 또는 X-축을 따라 광을 중계 및 확장시킬 수 있는 주 평면 도파관(632b)으로 그 광을 전달할 수 있다.
[0066] 광학 시스템은 단일 모드 광섬유(640)의 근위 단부에 광학적으로 커플링될 수 있는 컬러 광(예컨대, 적색, 녹색 및 청색 레이저 광)의 하나 이상의 소스들(610)을 포함할 수 있다. 광 섬유(640)의 원위 단부는 압전 재료의 중공 튜브(642)를 통해 수용되거나 스레딩(thread)될 수 있다. 원위 단부는 고정되지 않은 가요성 캔틸레버(644)로서 튜브(642)로부터 돌출한다. 압전 튜브(642)는 4개의 쿼드런트(quadrant) 전극들(예시되지 않음)과 연관될 수 있다. 전극들은 예컨대, 튜브(642)의 외부, 외부 표면 또는 외부 주변부 또는 직경 상에 도금될 수 있다. 코어 전극(예시되지 않음)은 또한, 튜브(642)의 코어, 중앙, 내부 주변부 또는 내부 직경에 로케이팅될 수 있다.
[0067] 예컨대, 와이어들(660)을 통해 전기적으로 커플링된 구동 전자 장치(650)는 2개의 축들에서 압전 튜브(642)를 독립적으로 구부리기 위해 대향하는 전극 쌍들을 구동한다. 광섬유(644)의 돌출 원위 팁은 기계적 공진 모드들을 갖는다. 공진 주파수들은 광섬유(644)의 직경, 길이 및 재료 성질들에 의존할 수 있다. 섬유 캔틸레버(644)의 제1 기계적 공진 모드 근처에서 압전 튜브(642)를 진동시킴으로써, 섬유 캔틸레버(644)는 진동하게 될 수 있고, 큰 편향들을 통해 스윕(sweep)할 수 있다.
[0068] 2개의 축들에서 공진 진동을 자극함으로써, 섬유 캔틸레버(644)의 팁은 영역 필링 2-차원(2D) 스캔으로 2축 방향으로(biaxially) 스캔된다. 섬유 캔틸레버(644)의 스캔과 동기하여 광 소스(들)(610)의 세기를 변조함으로써, 섬유 캔틸레버(644)로부터 나오는 광은 이미지를 형성할 수 있다. 그러한 셋업에 대한 설명들은 그 전체가 인용에 의해 본원에 포함되는 미국 특허 공보 제2014/0003762호에서 제공된다.
[0069] 광학 커플러 서브시스템의 컴포넌트는 스캐닝 섬유 캔틸레버(644)로부터 나오는 광을 시준할 수 있다. 시준된 광은 미러 표면(mirrored surface)(648)에 의해 적어도 하나의 DOE(diffractive optical element)(622a)를 포함하는 좁은 분배 평면 도파관(622b)으로 반사될 수 있다. 시준된 광은 TIR에 의해 분배 평면 도파관(622b)을 따라 (도 6의 뷰에 대해) 수직으로 전파될 수 있고, 이렇게 하여, DOE(622a)와 반복적으로 교차한다. DOE(622a)는 바람직하게는, 낮은 회절 효율을 갖는다. 이는, 광의 프랙션(fraction)(예컨대, 10%)이 DOE(622a)와의 각각의 교차 지점에서 더 큰 주 평면 도파관(632b)의 에지를 향해 회절되게 하고, 광의 프랙션이 TIR을 통해 분배 평면 도파관(622b)의 길이 아래에서 그의 원래의 궤적을 지속하게 할 수 있다.
[0070] DOE(622a)와의 각각의 교차 지점에서, 부가적인 광이 주 도파관(632b)의 입구를 향해 회절될 수 있다. 인입 광을 다수의 아웃커플링된 세트들로 분할함으로써, 광의 출사동은 분배 평면 도파관(622b)에서 DOE(622a)에 의해 수직으로 확장될 수 있다. 분배 평면 도파관(622b) 밖으로 커플링되는 이러한 수직으로 확장된 광은 주 평면 도파관(632b)의 에지에 진입할 수 있다.
[0071] 주 도파관(632b)에 진입하는 광은 TIR을 통해 주 도파관(632b)을 따라 (도 6의 뷰에 대해) 수평으로 전파될 수 있다. 광이 TIR을 통해 주 도파관(632b)의 길이의 적어도 일부를 따라 수평으로 전파됨에 따라 광은 다수의 지점들에서 DOE(632a)와 교차한다. DOE(632a)는 유리하게는, 광의 편향 및 포커싱 둘 모두를 생성하도록, 선형 회절 패턴 및 방사상 대칭 회절 패턴의 합인 위상 프로파일(phase profile)을 갖도록 설계 또는 구성될 수 있다. DOE(632a)는 유리하게는, 낮은 회절 효율(예컨대, 10%)을 가질 수 있어서, 빔의 광 중 일부만이 DOE(632a)의 각각의 교차에 의해 뷰어의 눈을 향해 편향되는 반면에, 광의 나머지는 TIR을 통해 주 도파관(632b)을 통해 계속 전파된다.
[0072] 전파되는 광과 DOE(632a) 사이의 각각의 교차 지점에서, 광의 프랙션이 주 도파관(632b)의 인접한 면을 향해 회절되어, 광이 TIR을 벗어나 주 도파관(632b)의 면으로부터 나오게 한다. 일부 실시예들에서, DOE(632a)의 방사상 대칭 회절 패턴은 부가적으로 회절된 광에 포커스 레벨을 부여하여, 개별 빔의 광 파면을 성형(예컨대, 곡률을 부여함)하는 것은 물론, 설계된 포커스 레벨과 매칭하는 각도로 빔을 조종한다.
[0073] 따라서, 이들 상이한 경로들은 상이한 각도들, 포커스 레벨에서 다수의 DOE들(632a)에 의해 또는 출사동에서 상이한 필 패턴(fill pattern)들의 산출에 의해 광이 주 평면 도파관(632b) 밖으로 커플링되게 할 수 있다. 출사동에서의 상이한 필 패턴들은 다수의 깊이 평면들을 갖는 광 필드 디스플레이를 생성하는데 유리하게 사용될 수 있다. 도파관 어셈블리의 각각의 층 또는 스택의 층들의 세트(예컨대, 3개의 층들)는 각자의 컬러(예컨대, 적색, 청색, 녹색)를 생성하는 데 사용될 수 있다. 따라서, 예컨대, 3개의 인접한 층들의 제1 세트는 제1 초점 깊이의 적색, 청색 및 녹색 광을 각각 생성하도록 사용될 수 있다. 3개의 인접한 층들의 제2 세트는 제2 초점 깊이의 적색, 청색 및 녹색 광을 각각 생성하도록 사용될 수 있다. 다수의 세트들이 다양한 초점 깊이들을 갖는 풀(full) 3D 또는 4D 컬러 이미지 광 필드를 생성하도록 사용될 수 있다.
웨어러블 시스템의 다른 컴포넌트들
[0074] 다수의 구현들에서, 웨어러블 시스템은 위에서 설명된 웨어러블 시스템의 컴포넌트들에 부가적으로 또는 대안적으로 다른 컴포넌트들을 포함할 수 있다. 웨어러블 시스템은 예컨대, 하나 이상의 햅틱 디바이스들 또는 컴포넌트들을 포함할 수 있다. 햅틱 디바이스들 또는 컴포넌트들은 사용자에게 촉감을 제공하도록 동작 가능할 수 있다. 예컨대, 햅틱 디바이스들 또는 컴포넌트들은 가상 콘텐츠(예컨대, 가상 객체들, 가상 툴들, 다른 가상 구조들)를 터치할 때 압력 또는 텍스처의 촉감을 제공할 수 있다. 촉감은 가상 객체가 표현하는 물리적 객체의 느낌(feel)을 복제할 수 있거나, 또는 가상 객체가 표현하는 이미지화된 객체 또는 캐릭터(예컨대, 용)의 느낌을 복제할 수 있다. 일부 구현들에서, 햅틱 디바이스들 또는 컴포넌트들은 사용자에 의해 착용될 수 있다(예컨대, 사용자 착용 가능 글러브). 일부 구현들에서, 햅틱 디바이스들 또는 컴포넌트들은 사용자에 의해 보유될 수 있다.
[0075] 웨어러블 시스템은 예컨대, 웨어러블 시스템과의 상호작용 또는 입력을 허용하기 위해 사용자에 의해 조작 가능한 하나 이상의 물리적 객체들을 포함할 수 있다. 이러한 물리적 객체들은 본원에서 토템(totem)들로서 지칭될 수 있다. 일부 토템들은 예컨대, 금속 또는 플라스틱 조각, 벽, 테이블의 표면과 같은 무생물들(inanimate objects)의 형태를 취할 수 있다. 특정 구현들에서, 토템들은 실제로, 어떠한 물리적 입력 구조들(예컨대, 키들, 트리거들, 조이스틱, 트랙볼, 로커 스위치(rocker switch))도 갖지 않을 수 있다. 대신, 토템은 단순히 물리적 표면을 제공할 수 있고 웨어러블 시스템은 사용자 인터페이스가 토템의 하나 이상의 표면들 상에 있는 것으로 사용자에게 나타나게 할 수 있다. 예컨대, 웨어러블 시스템은 컴퓨터 키보드 및 트랙패드의 이미지가 토템의 하나 이상의 표면들에 상주하는 것으로 나타나게 할 수 있다. 예컨대, 웨어러블 시스템은 가상 컴퓨터 키보드 및 가상 트랙패드가 토템으로서 역할을 하는 얇은 직사각형 알루미늄 플레이트의 표면 상에 나타나게 할 수 있다. 직사각형 플레이트 그 자체는 어떠한 물리적인 키들 또는 트랙패드 또는 센서들도 갖지 않는다. 그러나, 웨어러블 시스템은 가상 키보드 또는 가상 트랙패드를 통해 이루어진 선택들 또는 입력들로서 직사각형 플레이트와의 사용자 조작 또는 상호작용 또는 터치들을 검출할 수 있다. 사용자 입력 디바이스(466)(도 4에 도시됨)는, 트랙패드, 터치 패드, 트리거, 조이스틱, 트랙볼, 로커 또는 가상 스위치, 마우스, 키보드, 다중-자유도 제어기 또는 다른 물리적 입력 디바이스를 포함할 수 있는 토템의 실시예일 수 있다. 사용자는 토템을 단독으로 또는 포즈들과 함께 사용하여 웨어러블 시스템 또는 다른 사용자들과 상호작용할 수 있다.
[0076] 본 개시내용의 웨어러블 디바이스들, HMD 및 디스플레이 시스템들과 함께 사용 가능한 햅틱 디바이스들 및 토템들의 예들은, 그 전체가 본원에 인용에 의해 포함되는 미국 특허 공보 제2015/0016777호에서 설명된다.
예시적인 웨어러블 시스템들, 환경들 및 인터페이스들
[0077] 웨어러블 시스템은 렌더링된 광 필드들에서 높은 피사계 심도를 달성하기 위해 다양한 맵핑(mapping) 관련 기술들을 사용할 수 있다. 가상 세계의 맵핑 시에, 실세계와 관련하여 가상 객체들을 정확하게 묘사하기 위해 현실 세계의 모든 피처들 및 지점들을 아는 것이 유리하다. 이를 위해, 웨어러블 시스템의 사용자들로부터 캡처된 FOV 이미지들이 실세계의 다양한 지점들 및 피처들에 관한 정보를 전달하는 새로운 사진들을 포함함으로써 세계 모델에 부가될 수 있다. 예컨대, 웨어러블 시스템은 맵 지점들의 세트(이를테면, 2D 지점들 또는 3D 지점들)를 수집하고 새로운 맵 지점들을 발견하여 세계 모델의 보다 정확한 버전을 렌더링할 수 있다. 제1 사용자의 세계 모델이 (예컨대, 클라우드 네트워크와 같은 네트워크를 통해) 제2 사용자에게 통신될 수 있어서, 제2 사용자는 제1 사용자 주위의 세계를 경험할 수 있다.
[0078] 도 7은 MR 환경(700)의 예의 블록도이다. MR 환경(700)은 하나 이상의 사용자 웨어러블 시스템들(예컨대, 웨어러블 시스템(200) 또는 디스플레이 시스템(220)) 또는 정적 룸(stationary room) 시스템들(예컨대, 룸 카메라들 등)로부터 입력(예컨대, 사용자의 웨어러블 시스템으로부터의 시각적 입력(702), 이를테면, 룸 카메라들로부터의 정적 입력(704), 다양한 센서들로부터의 감각 입력(706), 제스처들, 토템들, 눈 추적, 사용자 입력 디바이스(466)로부터의 사용자 입력 등)을 수신하도록 구성될 수 있다. 웨어러블 시스템들은 사용자의 환경의 위치 및 다양한 다른 속성들을 결정하기 위해 다양한 센서들(예컨대, 가속도계들, 자이로스코프들, 온도 센서들, 움직임 센서들, 깊이 센서들, GPS 센서들, 내향 이미징 시스템, 외향 이미징 시스템 등)을 사용할 수 있다. 이 정보는 추가로, 이미지들을 제공할 수 있는 룸의 정적 카메라들로부터의 정보 또는 상이한 관점으로부터의 다양한 단서들로 보완될 수 있다. 카메라들(이를테면, 룸 카메라들 및/또는 외향 이미징 시스템의 카메라들)에 의해 획득된 이미지 데이터는 맵핑 지점들의 세트로 감소될 수 있다.
[0079] 하나 이상의 객체 인식기들(708)은 맵 데이터베이스(710)의 도움으로 수신된 데이터(예컨대, 지점들의 모음)를 크롤링(crawl)하고, 지점들을 인식 또는 맵핑하고, 이미지들을 태깅하고, 의미 정보를 객체들에 첨부할 수 있다. 맵 데이터베이스(710)는 시간에 걸쳐 수집된 다양한 지점들 및 그들의 대응하는 객체들을 포함할 수 있다. 다양한 디바이스들 및 맵 데이터베이스는 클라우드에 액세스하기 위해 네트워크(예컨대, LAN, WAN 등)를 통해 서로 연결될 수 있다.
[0080] 맵 데이터베이스의 이러한 정보 및 지점들의 모음에 기반하여, 객체 인식기들(708a 내지 708n)은 환경의 객체들을 인식할 수 있다. 예컨대, 객체 인식기들은 얼굴들, 사람들, 창문들, 벽들, 사용자 입력 디바이스들, 텔레비전들, 문서들(예컨대, 본원에서의 보안 예들에서 설명된 바와 같은 여행 티켓들, 운전 면허증, 여권), 사용자의 환경의 다른 객체들 등을 인식할 수 있다. 하나 이상의 객체 인식기들이 소정의 특성들을 갖는 객체에 대해 특수화될 수 있다. 예컨대, 객체 인식기(708a)는 얼굴들을 인식하는 데 사용될 수 있는 반면에, 다른 객체 인식기는 문서들을 인식하는 데 사용될 수 있다.
[0081] 객체 인식들은 다양한 컴퓨터 비전 기술들을 사용하여 수행될 수 있다. 예컨대, 웨어러블 시스템은 장면 재구성, 이벤트 검출, 비디오 추적, 객체 인식(예컨대, 사람들 또는 문서들), 객체 포즈 추정, (예컨대, 환경 내의 사람 또는 문서 상의 이미지로부터) 얼굴 인식, 러닝(learning), 인덱싱, 모션 추정 또는 이미지 분석(예컨대, 사진들, 서명들, 식별 정보, 여행 정보 등과 같은 문서들 내의 표시들을 식별함) 등을 수행하도록 외향 이미징 시스템(464)(도 4에 도시됨)에 의해 획득된 이미지들을 분석할 수 있다. 이러한 작업들을 수행하기 위해 하나 이상의 컴퓨터 비전 알고리즘들이 사용될 수 있다. 컴퓨터 비전 알고리즘들의 비-제한적인 예들은, SIFT(Scale-invariant feature transform), SURF(speeded up robust features), ORB(oriented FAST and rotated BRIEF), BRISK(binary robust invariant scalable keypoints), FREAK(fast retina keypoint), Viola-Jones 알고리즘, Eigenfaces 접근법, Lucas-Kanade 알고리즘, Horn-Schunk 알고리즘, Mean-shift 알고리즘, vSLAM(visual simultaneous location and mapping) 기술들, 순차적 베이지안 추정기(예컨대, 칼만 필터, 확장된 칼만 필터 등), 번들 조정, 적응형 임계화(Adaptive thresholding)(및 다른 임계화 기술들), ICP(Iterative Closest Point), SGM(Semi Global Matching), SGBM(Semi Global Block Matching), 피처 포인트 히스토그램(Feature Point Histogram)들, (예컨대, 지원 벡터 머신, k-최근접 이웃 알고리즘, 나이브 베이즈(Naive Bayes), 신경 네트워크(콘볼루셔널 또는 딥 신경 네트워크들을 포함함) 또는 다른 감독/비-감독 모델들 등과 같은) 다양한 머신 러닝 알고리즘들 등을 포함한다.
[0082] 객체 인식들은 부가적으로 또는 대안적으로, 다양한 머신 러닝 알고리즘들에 의해 수행될 수 있다. 일단 트레이닝되면, 머신 러닝 알고리즘은 HMD에 의해 저장될 수 있다. 머신 러닝 알고리즘들의 일부 예들은, (예컨대, 정규 최소 제곱화 회귀 분석(Ordinary Least Squares Regression)과 같은) 회귀 알고리즘들, (예컨대, 러닝 벡터 양자화(Learning Vector Quantization)와 같은) 인스턴스-기반 알고리즘들, (예컨대, 분류 및 회귀 트리들과 같은) 결정 트리 알고리즘들, (예컨대, 나이브 베이즈(Naive Bayes)와 같은) 베이지안 알고리즘들, (예컨대, k-평균 클러스터링과 같은) 클러스터링 알고리즘들, (예컨대, 선험적 알고리즘들과 같은) 연관 규칙 러닝 알고리즘들, (예컨대, 퍼셉트론(Perceptron)과 같은) 인공 신경 네트워크 알고리즘들, (예컨대, 딥 볼츠만 머신, 또는 딥 신경 네트워크와 같은) 딥 러닝 알고리즘들, (예컨대, 주 성분 분석(Principal Component Analysis)과 같은) 차원성 감소 알고리즘, (예컨대, 누적된 일반화(Stacked Generalization)와 같은) 앙상블 알고리즘들 및/또는 다른 머신 러닝 알고리즘들을 포함하는 감독 또는 비-감독 머신 러닝 알고리즘들을 포함할 수 있다. 일부 실시예들에서, 개별 모델들은 개별 데이터 세트들에 대해 커스터마이징될 수 있다. 예컨대, 웨어러블 디바이스는 기본 모델을 생성하거나 저장할 수 있다. 기본 모델은 데이터 유형(예컨대, 텔레프레전스(telepresence) 세션의 특정 사용자), 데이터 세트(예컨대, 텔레프레전스 세션의 사용자의 획득된 부가적인 이미지들의 세트), 조건부 상황들 또는 다른 변형예들에 특정한 부가적인 모델들을 생성하기 위한 시작 지점으로서 사용될 수 있다. 일부 실시예들에서, 웨어러블 HMD는 어그리게이팅된 데이터의 분석을 위한 모델들을 생성하기 위해 복수의 기술들을 활용하도록 구성될 수 있다. 다른 기술들은 미리 정의된 임계치들 또는 데이터 값들을 사용하는 것을 포함할 수 있다.
[0083] 맵 데이터베이스의 이러한 정보 및 지점들의 모음에 기반하여, 객체 인식기들(708a 내지 708n)은 객체들을 인식하고 객체들에 생명을 부여하기 위해 의미 정보를 객체들에 보충할 수 있다. 예컨대, 객체 인식기가 지점들의 세트를 문이라고 인식하는 경우, 시스템은 일부 의미 정보를 첨부할 수 있다(예컨대, 문은 힌지(hinge)를 가지며 힌지를 중심으로 90도 움직임을 가짐). 객체 인식기가 지점들의 세트를 거울이라고 인식하는 경우, 시스템은, 거울은 룸 내의 객체들의 이미지들을 반사할 수 있는 반사 표면을 갖는다는 의미 정보를 첨부할 수 있다. 의미 정보는 본원에 설명된 바와 같은 객체들의 어포던스들을 포함할 수 있다. 예컨대, 의미 정보는 객체의 법선을 포함할 수 있다. 시스템은, 방향이 객체의 법선을 나타내는 벡터를 할당할 수 있다. 시간이 지남에 따라, 시스템(국부적으로 상주할 수 있거나, 또는 무선 네트워크를 통해 액세스 가능할 수 있음)이 세계로부터 더 많은 데이터를 누적함에 따라 맵 데이터베이스가 성장한다. 일단 객체들이 인식되면, 정보는 하나 이상의 웨어러블 시스템들에 전송될 수 있다. 예컨대, MR 환경(700)은 캘리포니아에서 일어나는 장면에 관한 정보를 포함할 수 있다. 환경(700)은 뉴욕의 하나 이상의 사용자들에 전송될 수 있다. FOV 카메라로부터 수신된 데이터 및 다른 입력들에 기반하여, 객체 인식기들 및 다른 소프트웨어 컴포넌트들은 다양한 이미지들로부터 수집된 지점들을 맵핑하고, 객체들을 인식하는 등을 수행할 수 있어서, 장면이 세계의 상이한 부분에 있을 수 있는 제2 사용자에게 정확히 "전달될" 수 있다. 환경(700)은 또한, 로컬화(localization) 목적들을 위해 토폴로지 맵(topological map)을 사용할 수 있다.
[0084] 도 8은 인지된 객체들과 관련하여 가상 콘텐츠를 렌더링하는 방법(800)의 예의 프로세스 흐름도이다. 방법(800)은 가상 장면이 웨어러블 시스템의 사용자에게 어떻게 제시될 수 있는지를 설명한다. 사용자는 장면으로부터 지리적으로 멀리 있을 수 있다. 예컨대, 사용자는 뉴욕에 있을 수 있지만, 현재 캘리포니아에서 진행되고 있는 장면을 보기를 원할 수 있거나, 또는 캘리포니아에 거주하는 친구와 함께 산책을 하러 가기를 원할 수 있다.
[0085] 블록(810)에서, 웨어러블 시스템은 사용자 및 다른 사용자들로부터, 사용자의 환경에 관한 입력을 수신할 수 있다. 이는 다양한 입력 디바이스들 및 맵 데이터베이스에 이미 보유된 지식을 통해 달성될 수 있다. 사용자의 FOV 카메라, 센서들, GPS, 눈 추적 등은 블록(810)에서 시스템에 정보를 전달한다. 시스템은 블록(820)에서 이 정보에 기반하여 희소 지점(sparse point)들을 결정할 수 있다. 희소 지점들은 사용자의 주변들의 다양한 객체들의 배향 및 포지션을 디스플레이 및 이해하는 데 사용될 수 있는 포즈 데이터(예컨대, 머리 포즈, 눈 포즈, 신체 포즈 또는 손 제스처들)를 결정하는 데 사용될 수 있다. 객체 인식기들(708a-708n)은 블록(830)에서 이러한 수집된 지점들을 크롤링하고 맵 데이터베이스를 사용하여 하나 이상의 객체들을 인식할 수 있다. 이어서, 이 정보는 블록(840)에서, 사용자의 개별 웨어러블 시스템에 전달될 수 있고, 따라서, 원하는 가상 장면이 블록(850)에서, 사용자에게 디스플레이될 수 있다. 예컨대, 원하는 가상 장면(예컨대, CA의 사용자)은 뉴욕의 사용자의 다양한 객체들 및 다른 주변들과 관련하여 적절한 배향, 포지션 등에서 디스플레이될 수 있다.
[0086] 도 9는 웨어러블 시스템의 다른 예의 블록도이다. 이 예에서, 웨어러블 시스템(900)은 세계에 대한 맵 데이터를 포함할 수 있는 맵을 포함한다. 맵은 부분적으로 웨어러블 시스템 상에 국부적으로 상주할 수 있고, (예컨대, 클라우드 시스템에서) 유선 또는 무선 네트워크에 의해 액세스 가능한 네트워킹된 저장 위치들에 부분적으로 상주할 수 있다. 포즈 프로세스(910)는 웨어러블 컴퓨팅 아키텍처(예컨대, 프로세싱 모듈(260) 또는 제어기(460)) 상에서 실행되고 웨어러블 컴퓨팅 하드웨어 또는 사용자의 포지션 및 배향을 결정하기 위해 맵으로부터의 데이터를 활용할 수 있다. 포즈 데이터는 사용자가 시스템을 경험하고 세계에서 동작할 때 즉석에서 수집된 데이터로부터 컴퓨팅될 수 있다. 데이터는 이미지들, 센서들(이를테면, 일반적으로 가속도계 및 자이로스코프 컴포넌트들을 포함하는 관성 측정 유닛들)로부터의 데이터 및 실제 또는 가상 환경의 객체들과 관련된 표면 정보를 포함할 수 있다.
[0087] 희소 지점 표현은 동시성 로컬화 및 맵핑(예컨대, 입력이 이미지들/시각 전용인 구성을 지칭하는 SLAM 또는 vSLAM) 프로세스의 출력일 수 있다. 시스템은 다양한 컴포넌트들이 세계 어디에 있는지 뿐만 아니라, 세상이 무엇으로 이루어져 있는지를 파악하도록 구성될 수 있다. 포즈는 맵을 채우고 맵으로부터의 데이터를 사용하는 것을 포함해서, 다수의 목표들을 달성하는 빌딩 블록일 수 있다.
[0088] 일 실시예에서, 희소 지점 포지션은 그 자체로 완전히 충분하지 않을 수 있고, 다중 초점 AR, VR 또는 MR 경험을 생성하기 위해 추가의 정보가 필요할 수 있다. 일반적으로 깊이 맵 정보를 지칭하는 밀집된 표현들이 이 갭을 적어도 부분적으로 채우기 위해 활용될 수 있다. 이러한 정보는 스테레오(940)로서 지칭되는 프로세스로부터 컴퓨팅될 수 있으며, 여기서 깊이 정보가 삼각측량 또는 비행-시간 감지와 같은 기술을 사용하여 결정된다. 이미지 정보 및 활성 패턴들(이를테면, 활성 프로젝터들을 사용하여 생성된 적외선 패턴들)은 스테레오 프로세스(940)에 대한 입력으로서 역할을 할 수 있다. 상당한 양의 깊이 맵 정보가 함께 융합될 수 있으며, 그 중 일부는 표면 표현(surface representation)으로 요약될 수 있다. 예컨대, 수학적으로 정의 가능한 표면들은 (예컨대, 대형 지점 클라우드에 비해) 효율적일 수 있고, 게임 엔진들과 같은 다른 프로세싱 디바이스들에 이해 가능한 입력들일 수 있다. 따라서, 스테레오 프로세스(940)의 출력(예컨대, 깊이 맵)은 융합 프로세스(930)에서 결합될 수 있다. 포즈(950)는 또한 이 융합 프로세스(930)에 대한 입력일 수 있고, 융합(930)의 출력은 맵 프로세스(920)를 채우기 위한 입력이 된다. 서브-표면들이 이를테면, 토포그래픽 맵핑에서 서로 연결되어 더 큰 표면들을 형성할 수 있고 맵은 지점들 및 표면들의 대형 혼합물이 된다.
[0089] 혼합 현실 프로세스(960)에서의 다양한 양상들을 해결하기 위해, 다양한 입력들이 활용될 수 있다. 예컨대, 도 9에 도시된 실시예에서, 게임 파라미터들은, 시스템의 사용자가 다양한 위치들의 하나 이상의 몬스터들, 다양한 조건들(이를테면, 사용자가 몬스터를 쏘는 경우) 하에서 죽거나 도망가는 몬스터들, 다양한 위치들의 벽들 또는 다른 객체들 등을 갖는 몬스터 전투 게임을 플레이하고 있다고 결정하기 위한 입력일 수 있다. 세계 맵은, 혼합 현실에 대한 다른 귀중한 입력이 되는, 이러한 객체들이 서로 상대적으로 있는 장소에 관한 정보를 포함할 수 있다. 세계에 대한 포즈가 또한 입력이 되며 거의 모든 상호작용 시스템에 대해 중요한 역할을 한다.
[0090] 사용자로부터의 제어들 또는 입력들은 웨어러블 시스템(900)에 대한 다른 입력이다. 본원에서 설명된 바와 같이, 사용자 입력들은 시각적 입력, 제스처들, 토템들, 오디오 입력, 감각 입력 등을 포함할 수 있다. 예컨대, 주위를 돌아다니거나 게임을 플레이하기 위해, 사용자는 웨어러블 시스템(900)에, 자신이 하기를 원하는 것에 관해 지시할 필요가 있을 수 있다. 단지 공간에서 자신을 움직이는 것 외에도, 활용될 수 있는 다양한 형태들의 사용자 제어들이 존재한다. 일 실시예에서, 토템(예컨대, 사용자 입력 디바이스) 또는 객체, 이를테면, 장난감 총은 사용자에 의해 보유되고 시스템에 의해 추적될 수 있다. 시스템은 바람직하게는, 사용자가 아이템을 보유하고 있다는 것을 인지하고 사용자가 아이템과 어떤 종류의 상호작용을 하고 있는지를 이해하도록 구성될 것이다(예컨대, 토템 또는 객체가 총인 경우, 시스템은 위치 및 배향은 물론, IMU와 같은 센서가 장착될 수 있는 트리거 또는 다른 감지 버튼 또는 엘리먼트를 사용자가 클릭하고 있는지 여부를 이해하도록 구성될 수 있으며, 이러한 센서는 그러한 활동이, 카메라들 중 임의의 것의 시야 내에 있지 않을 때조차도 무슨 일이 일어나고 있는지를 결정하는데 도움을 줄 수 있음).
[0091] 손 제스처 추적 또는 인식은 또한 입력 정보를 제공할 수 있다. 웨어러블 시스템(900)은 버튼 누름들에 대한 손 제스처들, 왼쪽 또는 오른쪽, 정지, 잡기, 홀드 등을 제스처링하는 손 제스처들을 추적 및 해석하도록 구성될 수 있다. 예컨대, 일 구성에서, 사용자는 비-게임 환경에서 이메일들 또는 캘린더를 넘기거나(flip through) 다른 사람이나 플레이어와 "주먹 인사(fist bump)"를 하기를 원할 수 있다. 웨어러블 시스템(900)은 동적일 수 있거나 동적이지 않을 수 있는 최소량의 손 제스처를 사용하도록 구성될 수 있다. 예컨대, 제스처들은 중지를 위한 펼쳐진 손, ok를 위한 엄지 올리기, not ok를 위한 엄지 내리기; 또는 방향성 커맨드들을 위한 우측 또는 좌측 또는 위/아래로의 손 뒤집기와 같은 단순한 정적 제스처일 수도 있다.
[0092] 눈 추적(예컨대, 특정 깊이 또는 범위에서 렌더링하도록 디스플레이 기술을 제어하기 위해 사용자가 바라보는 곳을 추적함)은 다른 입력이다. 일 실시예에서, 눈들의 이접운동은 삼각측량을 사용하여 결정될 수 있고, 이어서, 그 특정 사람에 대해 발현되는 이접운동/원근조절 모델을 사용하여, 원근조절이 결정될 수 있다. 시선(예컨대, 한쪽 또는 양쪽 눈들의 방향 또는 배향)을 결정하기 위해 눈 카메라(들)에 의해 눈 추적이 수행될 수 있다. 예컨대, 눈(들) 근처에 배치된 전극들에 의한 전위들의 측정(예컨대, 전기 안구도 기록(electrooculography))과 같은 눈 추적을 위한 다른 기술들이 사용될 수 있다.
[0093] 음성 인식은 단독으로 또는 다른 입력들(예컨대, 토템 추적, 눈 추적, 제스처 추적 등)과 함께 사용될 수 있는 다른 입력일 수 있다. 시스템(900)은 환경으로부터 오디오 스트림을 수신하는 오디오 센서(예컨대, 마이크로폰)를 포함할 수 있다. 수신된 오디오 스트림은 오디오 스트림으로부터 커맨드들, 파라미터들 등을 추출하기 위해 (다른 음성들 또는 배경 오디오로부터) 사용자의 음성을 인식하도록 (예컨대, 프로세싱 모듈들(260, 270) 또는 중앙 서버(1650)에 의해) 프로세싱될 수 있다. 예컨대, 시스템(900)은 오디오 스트림으로부터 "당신의 신분증(identification)을 보여주세요"라는 구문이 말해졌음을 식별하고, 이 구문이 시스템(900)의 착용자(예컨대, 검사관의 환경 내의 다른 사람이기보단, 보안 검사관)에 의해 말해졌음을 식별하고, 구문 및 상황(예컨대, 보안 검색대)의 맥락으로부터, 수행될 실행 가능한 커맨드(예컨대, 착용자의 FOV에 있는 무언가에 대한 컴퓨터 비전 분석) 및 커맨드가 수행될 객체("당신의 신분증")가 존재한다는 것을 추출할 수 있다. 시스템(900)은 누가 말하고 있는지(예컨대, 스피치(speech)가 ARD의 착용자 또는 다른 사람 또는 음성(예컨대, 환경 내의 라우드스피커에 의해 송신된 레코딩된 음성)로부터 왔는지)를 결정하기 위한 스피커 인식 기술뿐만 아니라, 무엇을 말하고 있는지를 결정하기 위한 스피치 인식 기술을 포함할 수 있다. 음성 인식 기술들은 주파수 추정, 숨겨진 마르코프 모델들, 가우스 혼합 모델, 패턴 매칭 알고리즘들, 신경 네트워크들, 매트릭스 표현, 벡터 양자화, 스피커 분리(speaker diarisation), 결정 트리들 및 DTW(dynamic time warping) 기술을 포함할 수 있다. 음성 인식 기술들은 또한, 코호트(cohort) 모델들 및 세계 모델들과 같은 반-스피커 기술들을 포함할 수 있다. 스펙트럼 피처들은 스피커 특성들을 나타내는 데 사용될 수 있다.
[0094] 카메라 시스템들과 관련하여, 도 9에 도시된 예시적인 웨어러블 시스템(900)은 3쌍의 카메라들, 즉 사용자의 얼굴의 측면들에 대해 배열되는 비교적 넓은 FOV 또는 수동 SLAM 쌍의 카메라들, 스테레오 이미징 프로세스(940)를 처리하기 위해 그리고 또한, 손 제스처들을 캡처하고 사용자의 얼굴 앞의 토템/객체 추적을 위해 사용자 앞에 배향된 상이한 쌍의 카메라들을 포함할 수 있다. 스테레오 프로세스(940)를 위한 FOV 카메라들 및 카메라들의 쌍은 외향 이미징 시스템(464)(도 4에 도시됨)의 부분일 수 있다. 웨어러블 시스템(900)은 눈 벡터들 및 다른 정보를 삼각 측량하기 위해 사용자의 눈들을 향해 배향되는 눈 추적 카메라들(도 4에 도시된 내향 이미징 시스템(462)의 부분일 수 있음)을 포함할 수 있다. 웨어러블 시스템(900)은 또한, 장면에 텍스처를 주입하기 위해 하나 이상의 텍스처링된 광 프로젝터들(이를테면, 적외선(IR) 프로젝터들)을 포함할 수 있다.
[0095] 도 10은 웨어러블 시스템에 대한 사용자 입력을 결정하는 방법(1000)의 예의 프로세스 흐름도이다. 이 예에서, 사용자는 토템과 상호작용할 수 있다. 사용자는 다수의 토템들을 가질 수 있다. 예컨대, 사용자는 소셜 미디어 애플리케이션에 대해 하나의 토템, 게임들을 플레이하기 위해 다른 토템 등을 지정할 수 있다. 블록(1010)에서, 웨어러블 시스템은 토템의 모션을 검출할 수 있다. 토템의 움직임은 외향 이미징 시스템을 통해 인식되거나 센서들(예컨대, 햅틱 글러브, 이미지 센서들, 손 추적 디바이스들, 눈-추적 카메라들, 머리 포즈 센서들 등)을 통해 검출될 수 있다.
[0096] 검출된 제스처, 눈 포즈, 머리 포즈 또는 토템을 통한 입력에 적어도 부분적으로 기반하여, 웨어러블 시스템은 블록(1020)에서, 기준 프레임에 대한 토템(또는 사용자의 눈들 또는 머리 또는 제스처들)의 포지션, 배향 또는 움직임을 검출한다. 기준 프레임은 맵 지점들의 세트일 수 있으며, 이에 기반하여, 웨어러블 시스템은 토템(또는 사용자)의 움직임을 액션 또는 커맨드로 변환한다. 블록(1030)에서, 토템과의 사용자의 상호작용이 맵핑된다. 기준 프레임(1020)에 대한 사용자 상호작용의 맵핑에 기반하여, 시스템은 블록(1040)에서 사용자 입력을 결정한다.
[0097] 예컨대, 사용자는 가상 페이지를 넘기고(turning) 다음 페이지로 이동하거나 하나의 UI(User Interface) 디스플레이 스크린으로부터 다른 UI 스크린으로 이동하는 것을 나타내도록 토템 또는 물리적 객체를 앞뒤로(back and forth) 이동시킬 수 있다. 다른 예로서, 사용자는 사용자의 FOR에서 상이한 실제 또는 가상 객체들을 보기 위해 자신의 머리 또는 눈을 이동시킬 수 있다. 특정 실제 또는 가상 객체에 대한 사용자의 시선이 임계 시간보다 긴 경우, 실제 또는 가상 객체가 사용자 입력으로서 선택될 수 있다. 일부 구현들에서, 사용자의 눈들의 이접운동이 추적될 수 있고, 사용자가 포커싱하는 깊이 평면에 관한 정보를 제공하는, 사용자의 눈들의 원근조절 상태를 결정하기 위해 원근조절/이접운동 모델이 사용될 수 있다. 일부 구현들에서, 웨어러블 시스템은 레이 캐스팅(ray casting) 기술들을 사용하여 어떤 실제 또는 가상 객체들이 사용자의 머리 포즈 또는 눈의 포즈의 방향을 따르는지를 결정할 수 있다. 다양한 구현들에서, 레이 캐스팅 기술들은 실질적으로 작은 횡단 폭을 갖는 얇은 펜슬 광선들(pencil rays)을 캐스팅하거나 상당한 횡단 폭을 갖는 광선들(예컨대, 원뿔들 또는 절두체들)을 캐스팅하는 것을 포함할 수 있다.
[0098] 사용자 인터페이스는 본원에서 설명된 바와 같이 디스플레이 시스템(이를테면, 도 2의 디스플레이(220))에 의해 투사될 수 있다. 사용자 인터페이스는 또한, 하나 이상의 프로젝터들과 같은 다양한 다른 기술들을 사용하여 디스플레이될 수 있다. 프로젝터들은 이미지들을 캔버스 또는 구체와 같은 물리적 객체 상에 투사할 수 있다. 사용자 인터페이스와의 상호작용들은 시스템의 부분 또는 시스템 외부의 하나 이상의 카메라들을 사용하여(이를테면, 예컨대, 내향 이미징 시스템(462) 또는 외향 이미징 시스템(464)을 사용하여) 추적될 수 있다.
[0099] 도 11은 가상 사용자 인터페이스와 상호작용하기 위한 방법(1100)의 예의 프로세스 흐름도이다. 방법(1100)은 본원에서 설명된 웨어러블 시스템에 의해 수행될 수 있다. 방법(1100)의 실시예들은 웨어러블 시스템의 FOV에서 사람들 또는 문서들을 검출하기 위해 웨어러블 시스템에 의해 사용될 수 있다.
[0100] 블록(1110)에서, 웨어러블 시스템은 특정 UI를 식별할 수 있다. UI의 유형은 사용자에 의해 미리 결정될 수 있다. 웨어러블 시스템은 사용자 입력(예컨대, 제스처, 시각 데이터, 오디오 데이터, 감각 데이터, 직접 커맨드 등)에 기반하여 특정 UI가 파퓰레이트(populate)될 필요가 있다고 식별할 수 있다. UI는 시스템의 착용자가 (예컨대, 여행 검색대에서) 문서들을 착용자에게 제시하는 사용자들을 관찰하는 보안 시나리오에 특정될 수 있다. 블록(1120)에서, 웨어러블 시스템은 가상 UI에 대한 데이터를 생성할 수 있다. 예컨대, 경계(confine)들, 일반적인 구조, UI의 형상 등과 연관된 데이터가 생성될 수 있다. 또한, 웨어러블 시스템은 사용자의 물리적 위치의 맵 좌표들을 결정할 수 있어서 웨어러블 시스템이 사용자의 물리적 위치와 관련하여 UI를 디스플레이할 수 있다. 예컨대, UI가 신체 중심인 경우, 웨어러블 시스템은, 링 UI가 사용자 주위에 디스플레이될 수 있거나 평면 UI가 벽 상에 또는 사용자 앞에 디스플레이될 수 있도록 사용자의 신체 스탠스, 머리 포즈 또는 눈 포즈의 좌표들을 결정할 수 있다. 본원에서 설명된 보안 맥락에서, UI가 시스템의 착용자에게 문서들을 제시하는 여행자를 둘러싼 것처럼 UI가 디스플레이될 수 있어서, 착용자는 여행자 및 여행자의 문서들을 보면서 UI를 쉽게 볼 수 있다. UI가 손 중심인 경우, 사용자의 손들의 맵 좌표들이 결정될 수 있다. 이러한 맵 지점들은 FOV 카메라들, 감각 입력 또는 임의의 다른 유형의 수집된 데이터를 통해 수신된 데이터를 통해 유도될 수 있다.
[0101] 블록(1130)에서, 웨어러블 시스템은 클라우드로부터 디스플레이에 데이터를 전송할 수 있거나 데이터가 로컬 데이터베이스로부터 디스플레이 컴포넌트들로 전송될 수 있다. 블록(1140)에서, UI는 전송된 데이터에 기반하여 사용자에게 디스플레이된다. 예컨대, 광 필드 디스플레이는 가상 UI를 사용자의 눈들 중 하나 또는 둘 모두에 투사할 수 있다. 일단 가상 UI가 생성되면, 웨어러블 시스템은 블록(1150)에서, 가상 UI 상에 보다 많은 가상 콘텐츠를 생성하라는 사용자로부터의 커맨드를 단순히 기다릴 수 있다. 예컨대, UI는 사용자의 신체 또는 사용자의 환경 내의 사람(예컨대, 여행자)의 신체 주위의 신체 중심 링일 수 있다. 이어서, 웨어러블 시스템은 커맨드(제스처, 머리 또는 눈 움직임, 음성 커맨드, 사용자 입력 디바이스로부터의 입력 등)를 대기할 수 있고, 커맨드가 인식되는 경우(블록 1160), 커맨드와 연관된 가상 콘텐츠가 사용자에게 디스플레이될 수 있다(블록 1170).
[0102] 웨어러블 시스템들, UI들 및 사용자 경험(UX)의 부가적인 예들은 그 전체가 인용에 의해 본원에 포함되는 미국 특허 공보 제2015/0016777호에서 설명된다.
사용자의 환경 내의 예시적인 객체들
[0103] 도 4를 참조하여 설명된 바와 같이, ARD(augmented reality device)의 사용자는, AR 시스템을 통해 사용자가 인식할 수 있는 사용자 주위 환경의 일부를 포함하는 FOR(field of regard)을 가질 수 있다. 머리-장착 ARD의 경우, 착용자가 자신의 신체, 머리 또는 눈들을 움직여 실질적으로 공간에서 임의의 방향을 인식할 수 있기 때문에, FOR은 착용자를 둘러싸는 4π 스테라디안 입체각의 실질적으로 모두를 포함할 수 있다. 다른 맥락들에서, 사용자의 움직임들은 더 제약될 수 있고, 따라서 사용자의 FOR은 더 작은 입체 각도를 마주할 수 있다.
[0104] FOR은 ARD를 통해 사용자가 인식할 수 있는 객체들의 그룹을 포함할 수 있다. 객체들은 가상 및/또는 물리적 객체들일 수 있다. 가상 객체들은 오퍼레이팅 시스템 객체들, 이를테면 예컨대, 삭제된 파일들에 대한 휴지통(recycle bin), 커맨드들을 입력하기 위한 터미널, 파일들 또는 디렉토리들에 액세스하기 위한 파일 관리자, 아이콘, 메뉴, 오디오 또는 비디오 스트리밍을 위한 애플리케이션, 오퍼레이팅 시스템으로부터의 통지 등을 포함할 수 있다. 가상 객체들은 또한 애플리케이션 내의 객체들, 이를테면 예컨대, 아바타들, 위젯들(예컨대, 클록의 가상 표현), 게임들 내의 가상 객체들, 그래픽들 또는 이미지들 등을 포함할 수 있다. 일부 가상 객체들은 오퍼레이팅 시스템 객체 및 애플리케이션 내의 객체 둘 모두일 수 있다.
[0105] 가상 객체는 3차원(3D), 2차원(2D) 또는 1차원(1D) 객체일 수 있다. 예컨대, 가상 객체는 3D 커피 잔(물리적 커피 메이커에 대한 가상 제어를 나타낼 수 있음)일 수 있다. 가상 객체는 또한 현재 시간을 사용자에게 디스플레이하는 시계의 2D 그래픽 표현일 수 있다. 일부 구현들에서, 하나 이상의 가상 객체들은 다른 가상 객체 내에 디스플레이(또는 다른 객체와 연관)될 수 있다. 예컨대, 가상 커피 잔은 사용자 인터페이스 평면의 내부에 도시될 수 있지만, 가상 커피 잔은 3D인 것처럼 보이는 반면에, 사용자 인터페이스 평면은 2D인 것처럼 보일 수 있다.
[0106] 일부 실시예들에서, 가상 객체들은 물리적 객체들과 연관될 수 있다. 예컨대, 도 12b에 도시된 바와 같이, 가상 책(1220)은 테이블(1242)의 최상부에 있는 것처럼 보일 수 있다. 사용자는, 마치 가상 책(1220)이 테이블(1242) 상의 물리적 책인 것처럼 가상 책(1220)과 상호작용할 수 있다(이를테면, 페이지들을 읽고 넘기는 것). 다른 예로서, 가상 옷장 애플리케이션은 사용자의 FOR 내의 거울과 연관될 수 있다. 사용자가 거울 근처에 있을 때, 사용자는 가상 옷장 애플리케이션과 상호작용하여, 사용자가 ARD를 사용하여 상이한 복장들의 겉보기(look)를 시뮬레이팅할 수 있게 할 수 있다.
[0107] 사용자의 FOR 내의 객체들은 도 9를 참조하여 설명된 바와 같이 세계 모델의 일부일 수 있다. 객체들과 관련된 데이터(예컨대, 위치, 의미(semantic) 정보, 속성들 등)는 다양한 데이터 구조들, 이를테면, 예컨대, 어레이들, 리스트들, 트리들, 해시들, 그래프들 등에 저장될 수 있다. 해당되는 경우, 각각의 저장된 객체의 인덱스는, 예컨대, 객체의 위치에 의해 결정될 수 있다. 예컨대, 데이터 구조는 단일 좌표, 이를테면, 기준 포지션(fiducial position)으로부터의 객체의 거리(예컨대, 기준 포지션의 좌측(또는 우측)까지 얼마나 먼가, 기준 포지션의 최상부(또는 최하부)로부터 얼마나 먼가, 또는 기준 포지션으로부터 얼마나 깊은가)에 의해 객체들을 인덱싱할 수 있다. ARD가 사용자에 대해 상이한 깊이 평면들에서 가상 객체들을 디스플레이할 수 있는 광 필드 디스플레이를 포함하는 상황들에서, 가상 객체는 상이한 고정 깊이 평면들에 위치된 다수의 어레이들로 조직될 수 있다. 일부 구현들에서, 환경 내의 객체들은, 가상 객체의 포지션 및 움직임들을 계산하는데 사용될 수 있는 벡터 형태로 표현될 수 있다. 예컨대, 객체는 원점, 중력 방향의 하향 벡터 및 객체의 표면 법선 방향의 전방향 벡터를 가질 수 있다. 예컨대, 디스플레이(예컨대, 가상 TV)의 표면 법선은, (디스플레이 후방을 볼 수 있는 방향보다는) 디스플레이의 이미지들을 볼 수 있는 방향을 나타낼 수 있다. AR 시스템은 2개의 벡터들의 컴포넌트들 사이의 차이를 계산하고, 이로써 2개의 벡터들과 연관된 객체들 간의 공간 관계를 결정할 수 있다. AR 시스템은 또한, 하나의 객체가 다른 객체의 최상부(또는 내부)에 있게 하기 위해 필요한 움직임의 양을 계산하기 위해 이러한 차이를 사용할 수 있다.
가상 객체를 이동시키는 예들
[0108] 사용자는 사용자의 FOR 내의 객체들의 서브세트와 상호작용할 수 있다. 이러한 객체들의 서브세트는 때때로 상호작용 가능한 객체들로 지칭될 수 있다. 사용자는 사용자 인터페이스 동작들, 이를테면, 예컨대, 상호작용 가능한 객체들을 선택 또는 이동시키거나, 상호작용 가능한 객체들과 연관된 메뉴들을 작동시키거나, 상호작용 가능한 객체를 사용하여 수행될 동작들을 선택하는 것 등을 수행함으로써 상호작용 가능한 객체들과 상호작용할 수 있다. AR/VR/MR 세계에서 명백한 바와 같이, 가상 객체들의 움직임들은 가상 객체의 실제 물리적 움직임들을 지칭하지 않는데, 왜냐하면 가상 객체들이 물리적 객체들이 아니라 컴퓨터-생성 이미지이기 때문이다.
[0109] 사용자는, 사용자 입력 디바이스 상의 머리 포즈, 눈 포즈, 신체 포즈, 음성 커맨드들, 또는 손 제스처들을, 단독으로 또는 조합하여, 사용하여 다양한 사용자 인터페이스 동작들을 수행할 수 있다. 예컨대, 사용자는, 사용자 입력 디바이스(예컨대, 도 4의 사용자 입력 디바이스(466) 참조)를 작동시키기 위해 손 제스처들을 사용함으로써, 이를테면, 예컨대, 마우스를 클릭함으로써, 터치 패드를 탭핑(tapping)함으로써, 터치 스크린을 스와이핑(swiping)함으로써, 용량성 버튼 위를 호버링(hovering) 또는 터칭함으로써, 키보드 또는 게임 제어기(예컨대, 5-웨이(way) d-패드) 상의 키를 누름으로써, 조이스틱, 원드(wand) 또는 토템을 객체를 향해 지향시킴으로써, 원격 제어부 상의 버튼을 누름으로써, 또는 사용자 입력 디바이스와의 다른 상호작용들 등에 의해, 단독으로 또는 조합하여, 상호작용 가능한 객체들과 상호작용할 수 있다. 사용자는 또한, 예컨대, 일정 시간 기간 동안 객체를 응시하거나 가리키거나, 머리를 기울이거나, 객체에서 웨이빙(waving)하는 것 등과 같이 머리, 눈 또는 신체 포즈를 사용하여 상호작용 가능한 객체들과 상호작용할 수 있다.
[0110] 일부 구현들에서, AR 시스템은 타겟 객체의 포지션을 나타내는 초점 표시자(이를테면, 도 14a-14d 및 도 15a-15h에 도시된 초점 표시자(1450))를 제공할 수 있다(예컨대, 도 14a의 초점 표시자 참조). 초점 표시자는 또한 사용자 입력 디바이스의 현재 포지션 또는 사용자의 포즈를 도시하는 데 사용될 수 있다(예컨대, 도 15d의 초점 표시자 참조). 포지션의 표시를 제공하는 것에 부가하여 또는 대안으로서, 초점 표시자는 또한 타겟 객체, 사용자 입력 디바이스 또는 사용자의 포즈의 배향의 표시를 제공할 수 있다. 예컨대, 초점 표시자는 후광(halo), 컬러, 인식된 크기 또는 깊이 변화(예컨대, 선택될 때 타겟 객체로 하여금 더 가깝게 및/또는 더 크게 보이게 함), 커서(이를테면, 레티클)의 그래픽 표현, 또는 사용자의 주의를 끄는 다른 가청, 촉각 또는 시각 효과들을 포함할 수 있다. 초점 표시자는, 정지 프레임 이미지들 또는 애니메이션들을 포함할 수 있는 1D, 2D 또는 3D 이미지들로 나타날 수 있다.
[0111] AR 시스템에 의해 초점 표시자를 제시하는 예로서, 사용자가 빈 벽을 응시하고 있을 때, AR 시스템은 사용자의 현재 응시 방향을 나타내는 가상 원뿔 또는 광선을 벽 상에 투사할 수 있다. 다른 예로서, 사용자는, 자신이 자신의 환경 내의 객체와 상호작용하기를 원한다는 것을 나타내기 위해 사용자 입력 디바이스를 작동시킬 수 있다. AR 시스템은, 사용자가 객체를 더 쉽게 인식할 수 있도록, 그 객체에 초점 표시자를 할당할 수 있다. 사용자가 자신의 포즈를 변경하거나 사용자 입력 디바이스를 작동시킬 때, AR 시스템은 초점 표시자를 한 위치에서 다른 위치로 이송할 수 있다.
가상 객체를 스내핑 및 배향시키는 예들
[0112] 본원에 설명한 바와 같이, 사용자가 가상 객체를 다수 방향들로 이동 및 회전시킬 수 있기 때문에, 사용자는 때때로 가상 객체들을 정확하게 포지셔닝 및 배향시키는 것이 어렵다는 것을 알 수 있다. 사용자 피로를 감소시키고 사용자가 상호작용하는 향상된 AR 디바이스(ARD)를 제공하기 위해, ARD는 환경의 목적지 객체에 관련하여 가상 객체를 자동적으로 재포지셔닝할 수 있다. 예컨대, ARD는, 가상 객체가 가상 또는 물리적 객체로부터 임계 거리 내에 있을 때, 가상 객체를 환경 내의 다른 가상 객체 또는 물리적 객체에 자동적으로 부착(또한 "스냅(snap)"으로 지칭됨)할 수 있다. 가상 객체를 목적지 객체에 스내핑하는 것 외에 또는 대안적으로, ARD는, 가상 객체가 목적지 객체의 근접할 때, 포지션을 자동적으로 변경하거나, 가상 객체를 배향시킬 수 있다. 예컨대, ARD는, 가상 객체의 법선이 사용자를 향하도록 가상 객체를 회전시킬 수 있다. 다른 예로서, ARD는, 가상 객체가 물리적 책의 부분인 것처럼 보일 수 있도록, 가상 이미지의 경계와 물리적 책의 경계를 정렬시킬 수 있다.
[0113] AR 시스템은 가상 객체 또는 타겟 객체의 어포던스들에 기반하여 가상 객체를 적절한 포지션 또는 방향으로 재포지셔닝할 수 있다. 어포던스는, 객체와 연관된 액션 또는 사용에 대한 기회를 제공하는, 객체와 객체의 환경 사이의 관계를 포함한다. 어포던스는, 예컨대, 가상 객체 또는 목적지 객체의 기능, 배향, 타입, 위치, 형상 또는 크기에 기반하여 결정될 수 있다. 어포던스들은 또한, 가상 객체 또는 목적지 객체가 위치하는 환경에 기반할 수 있다. 가상 객체의 어포던스는 가상 객체의 일부로서 프로그래밍되고, 원격 데이터 저장소(280)에 저장될 수 있다. 예컨대, 가상 객체는, 가상 객체의 법선을 나타내는 벡터를 포함하도록 프로그래밍될 수 있다.
[0114] 예컨대, 가상 디스플레이 스크린(예컨대, 가상 TV)의 어포던스는, 디스플레이에 스크린의 법선으로 표시된 방향으로부터 스크린을 볼 수 있다는 것이다. 수직 벽의 어포던스는, 객체들이 벽 상에 배치될(예컨대, 벽에 매달릴) 수 있다는 것이고, 객체들의 표면 법선은 벽의 법선에 평행한다. 사용자는 가상 디스플레이를 벽에 가깝게 이동시키기 위해 AR 시스템을 사용할 수 있고, 벽에 충분히 가까울 때, AR 시스템은, 추가의 사용자 입력 없이, 가상 디스플레이로 하여금 벽에 자동적으로 스내핑하게 할 수 있고, 디스플레이 법선은 벽 법선에 평행한다. 가상 디스플레이 및 벽의 부가적인 어포던스는, 이들 각각이 최상부 또는 최하부를 갖는다는 것일 수 있다. 가상 디스플레이를 벽에 스내핑할 때, AR 시스템은, 가상 디스플레이의 최하부가 벽의 최하부의 아래쪽이 벽의 아래를 향해 배향되도록(또는 디스플레이의 최상부가 벽의 최상부를 향해 배향되도록) 가상 디스플레이를 자동적으로 배향시킬 수 있고, 이로써 가상 디스플레이가 거꾸로 된 이미지들을 제공하지 않는다는 것을 보장한다.
[0115] 일부 상황들에서, 가상 객체를 재포지셔닝하기 위해, ARD는 또한 가상 객체의 다른 특징들을 변경할 수 있다. 예컨대, 가상 이미지의 크기 또는 형상은 물리적 책과 동일하지 않을 수 있다. 결과적으로, ARD는, 가상 이미지의 경계와 물리적 책의 경계를 정렬시키도록 물리적 책의 크기 또는 형상을 매칭시키기 위해 가상 이미지의 크기 또는 형상을 변경할 수 있다. ARD는 (추가적으로 또는 대안으로) 재포지셔닝된 가상 객체를 위한 충분한 공간을 제공하기 위해 다른 인접한 가상 객체들을 재포지셔닝할 수 있다.
[0116] 실제로, AR 시스템은 물리적 객체 및 가상 객체의 어포던스들을 준수하거나, 그들 개개의 어포던스들에 적어도 부분적으로 기반하여 다른 물리적 객체 또는 가상 객체에 대해 가상 객체를 포지셔닝 또는 배향시킨다. 이러한 특징들에 대한 더 세부적인 사항들이 아래에 설명된다.
가상 객체를 물리적 객체에 자동적으로 부착하는 예들
[0117] 도 12a 및 12b는 테이블에 가상 객체를 부착하는 예를 예시한다. 도 12a에 도시된 바와 같이, 가상 책(1220)은 초기에 룸(1200a) 내의 테이블(1242) 위에 부유하고 있다. 사용자는 (도 12a에 도시된 바와 같이) 책(1220)을 초기 포지션으로부터 테이블 위의 포지션으로 이전에 이동시켰을 수 있다. 사용자는 사용자 입력 디바이스를 작동시킴으로써 가상 책(1220)을 테이블(1242) 상에 배치하라는 표시를 제공할 수 있다. 예컨대, 사용자는, 자신의 토템을 클릭하고 자신의 토템이 테이블(1242)을 가리키게 함으로써 가상 책(1220)을 선택하여, 가상 책(1220)이 테이블(1242) 상에 배치될 필요가 있음을 나타낼 수 있다. AR 시스템은, 책을 테이블(1220)로 드래그하도록 사용자에게 요구하지 않고서, 가상 책(1220)을 테이블(1242)로 이동시킬 수 있다. 다른 예로서, 사용자는 책이 배치되어야 하는 테이블 상의 목적지 포지션을 바라볼 수 있고, AR 시스템은 머리 포즈 또는 눈 시선에 기반하여 목적지 포지션을 결정할 수 있으며, 여기서 AR 시스템은 머리 포즈에 대한 데이터를 획득하기 위해 IMU들을 사용하거나, 사용자의 시선 방향을 결정하기 위해 눈-추적 카메라들을 사용할 수 있다. AR 시스템은, 사용자가 토템을 작동시킬 때, 가상 책(1220)을 테이블(1242) 상의 목적지 포지션에 자동적으로 배치할 수 있다. 일부 구현들에서, 사용자는 타겟 객체가 이동되는 목적지 객체, 이를테면, 테이블(1242) 또는 벽(1210)을 표시할 필요가 없는데, 왜냐하면 AR 시스템이 가상 객체를 타겟 객체로 끌어당기기 위해 작용하는 인력을 시뮬레이팅할 수 있기 때문이다. 예컨대, 사용자가 가상 책(1220)을 선택할 때, AR 시스템은 가상 책(1220)에 대한 중력 효과를 시뮬레이팅할 수 있고, 여기서 가상 책(1220)은 하향 방향(1232)으로 이동한다. AR 시스템은 테이블(1242)을 목적지 객체로서 자동적으로 식별할 수 있는데, 왜냐하면 테이블(1242)이 (화살표(1232)로 표시된 바와 같이) 하향 움직임에서 가상 책(1220)의 경로 상에 있는 첫 번째 객체이기 때문이다. 따라서, 가상 책은, 마친 자신이 물리적 책인 것처럼, 테이블(1242) 상에 드롭되는 것처럼 보일 수 있다.
[0118] AR 시스템은 가상 책(1220)의 재포지셔닝을 위한 파라미터들을 결정하고, 가상 책, 환경(예컨대, 룸(1200a)) 또는 목적지 객체의 어포던스들에 기반하여 파라미터들의 값들을 계산할 수 있다. 움직임의 일부 예시적인 파라미터들은 움직임들의 양(예컨대, 이동된 거리 또는 궤적), 움직임의 속도, 움직임의 가속도 또는 다른 물리적 파라미터들을 포함할 수 있다.
[0119] AR 시스템은, 가상 책(1220)의 포지션 및 테이블(1242)의 포지션에 기반하여 가상 책(1220)에 대한 움직임들의 양을 계산할 수 있다. 예컨대, AR 시스템은 룸 내의 물리적 객체들 및 가상 객체들에 벡터들을 부착할 수 있다. 벡터들은 물리적 및 가상 객체들의 위치 및 방향 정보를 포함할 수 있다. 가상 책(1220)에 대한 벡터는 중력 방향(예컨대, 방향(1232))의 컴포넌트를 가질 수 있다. 유사하게, 테이블(1242)의 표면에 대한 벡터는 또한 중력 방향으로 자신의 현재 위치를 나타내는 컴포넌트를 가질 수 있다. AR 시스템은 중력 방향에서 가상 책(1220)의 포지션과 테이블(1242)의 표면의 포지션 사이의 차이를 획득할 수 있다. AR 시스템은, 가상 책(1220)이 얼마나 하향으로 이동되어야 하는지를 결정하기 위해 이러한 차이를 사용할 수 있다. 벡터는 또한 중력의 크기에 대한 정보를 포함할 수 있다. 중력(예컨대, 중력 가속도)의 크기는 사용자의 물리적 또는 가상 환경에 기반하여 변할 수 있다. 예컨대, 사용자가 집에 있을 때, 중력은 지구의 9.8m/s2(1 "g") 값으로 설정될 수 있다. 그러나, 사용자는, 게임에서 가상 환경을 제공할 수 있는 AR 시스템을 사용하여 게임을 플레이할 수 있다. 예로서, 가상 환경이 달(moon)인 경우, 중력 가속도의 크기는 1/6 "g"이고, 가상 환경이 목성(Jupiter)인 경우, 중력 가속도의 크기는 2.5 "g"일 수 있다.
[0120] AR 시스템에서 개선된 사용자 경험을 제공하기 위해, AR 시스템은, 마치 가상 책(1220)이 물리적 객체인 것처럼, 다양한 물리 법칙들을 사용하여, 도 12a 내지 12b로부터 가상 책(1220)의 움직임을 시뮬레이팅할 수 있다. 예컨대, 가상 책(1220)의 하향 움직임(화살표(1232)로 표시됨)은 자유 낙하 운동(freefall motion)에 기반할 수 있다. 자유 낙하 운동은, 현실적 사용자 경험을 제공하기 위해 사용자의 환경에서 다른 힘들(이를테면, 공기 저항)과 결합될 수 있다. 다른 예로서, 룸(1200a)은 개방된 창문을 가질 수 있다. 돌풍(gust of wind)이 룸(1200a)으로 불 때, AR 시스템은, 가상 책(1220)의 페이지들을 자동적으로 넘김으로써 바람의 효과를 시뮬레이팅할 수 있다.
[0121] 도 12a 및 12b의 이러한 예를 계속하면, 테이블의 어포던스는, 테이블이 자신의 표면 상의 객체들을 지지할 수 있다는 것이고, 그래서 가상 책(1220)은 테이블(1242)의 최상부로 떨어지게 된다. 따라서, 중력 효과를 시뮬레이팅할 때, AR 시스템은 바닥(1230) 상에 가상 책(1220)을 디스플레이하지 않는데, 왜냐하면 AR 시스템은, 객체들이 테이블을 통과하지 않는다는 테이블의 어포던스를 준수하기 때문이다. 테이블(1242)은, 마치 가상 책(1242)이 물리적 책인 것처럼, 가상 책(1220)이 중력 방향으로 계속 이동하는 것을 차단할 것이다.
[0122] 일부 상황들에서, 테이블(1242)의 일부만이 가상 책(1220) 하향 움직임의 경로 상에 있다. 결과적으로, 가상 책(1220)의 일부는 테이블(1242)의 표면을 넘어 연장될 수 있다. AR 시스템은 가상 책(1220)의 중심이 테이블(1242)의 표면 상에 있는지 여부를 결정할 수 있다. 가상 책(1220)의 중심이 테이블(1242)의 표면 상에 놓여 있다면, AR 시스템은 가상 책(1220)을 테이블(1242) 상에 디스플레이할 수 있다. 가상 책(1220)의 중심이 테이블(1242) 표면 외부에 있다면, AR 시스템은, 가상 책(1220)이 테이블(1242)에 계속 남아있지 않을 것이라고 결정할 수 있고, 대신에 가상 책(1220)을 바닥 상에서 디스플레이할 수 있다.
[0123] 다른 예로서, 가상 객체는, 어포던스가 딱딱한 표면에서 바운싱하는 것을 포함하는 가상 테니스 공일 수 있다. 따라서, 가상 테니스 공이 테이블(1242)에 부딪칠 때, AR 시스템은 가상 테니스 공이 테이블(1242)에서 바운싱하고 바닥(1230) 상에 내려앉는(land) 것을 보여줄 수 있다.
[0124] 가상 객체들(예컨대, 책들) 및 테이블들의 부가적인 어포던스들은, 객체의 법선이 테이블의 법선과 평행해야 한다는 것이다(예컨대, 가상 책이 테이블 상에 평평하게 놓여있음). AR 시스템은, 도 12b에 도시된 바와 같이, 가상 책이 테이블(1242) 상에 평평하게 놓이는 것처럼 사용자에게 보이도록, 자동적으로 가상 책(1220)을 적절하게 배향시킬 수 있다.
[0125] 가상 객체를 중력 방향으로 이동시키는 것 외에도, AR 시스템은 또한 가상 객체를 다른 방향들로 이동시킬 수 있다. 예컨대, 사용자는 노트를 벽으로 이동시키기를 원할 수 있다. 사용자는 (예컨대, 손 또는 토템으로) 벽(1210)의 방향을 가리킬 수 있다. 사용자에 의해 표시된 방향에 기반하여, AR 시스템은, 벽(1210)의 표면을 식별하고 벽에 대해 노트를 자동적으로 "비행"시키기 위한 외향 이미징 시스템 및/또는 세계 모델들을 사용할 수 있다(예컨대, 도 13a-13d에 도시된 예시적인 장면들(1300a, 1300b, 1300c 및 1300d) 참조). 다른 구현들에서, 벽 상의 객체들은, 그들이 노트를 끌어당길 수 있도록 하는 어포던스를 가질 수 있다. 예컨대, 벽 상의 객체는, 노트들이 통상적으로 부착되는 표면(예컨대, 자기 노트들이 부착할 수 있는 자기 노트 보드(magnetic note board) 또는 노트들이 고정될 수 있는 코르크 노트 보드(cork note board))을 나타낼 수 있다. AR 시스템은, 벽 객체가 "점착성(stickiness)" 어포던스(예컨대, 자기 또는 코르크 노트 보드)를 갖고, 가상 노트가 대응하는 점착성 어포던스를 갖는다(예컨대, 노트는 자기 또는 고정 가능함)는 것을 식별할 수 있다. AR 시스템은 가상 노트를 벽 객체에 자동적으로 부착할 수 있다.
[0126] 도 7을 참조하여 설명된 바와 같이, 의미 정보는 물리적 객체들, 가상 객체들, 물리적 환경들 및 가상 환경들에 부착될 수 있다. 의미 정보는 어포던스들을 포함할 수 있다. 예컨대, AR 시스템은 물리적 속성들, 이를테면, 예컨대, 다음의 비-배타적인 예시적인 속성들: 질량, 밀도, 직경, 경도(또는 연성), 탄성, 점착성, 전자기 속성들(예컨대, 전하, 전도성, 자기 속성들), 페이즈(예컨대, 고체, 액체 또는 기체) 등을 가상 객체에 할당할 수 있다. AR 시스템은 또한 물리적 속성들, 이를테면, 중력, 공기 저항 등을 가상 환경에 할당할 수 있다. 할당된 속성들의 값들은 다양한 물리적 법칙들을 사용하여 가상 객체와의 상호작용들을 시뮬레이팅하는 데 사용될 수 있다. 예컨대, 가상 객체의 움직임은 가상 객체에 가해지는 힘들에 기반할 수 있다. 도 12a 및 12b를 참조하면, 가상 책(1220)의 움직임은 룸(1200a)의 중력 및 공기 저항, 및 가상 책(1220)의 질량을 사용하여 계산된 힘들에 기반하여 결정될 수 있다.
가상 복사 및 붙여넣기(Pasting)의 예들
[0127] 일부 실시예들에서, 가상 객체를 목적지 객체에 재포지셔닝하는 것보다는, AR 시스템은 가상 객체를 복제하고, 복제된 가상 객체를 환경 내의 목적지 객체 또는 위치로 이동시킬 수 있다. 일 예로서, AR 시스템은, 사용자가 (예컨대, 토템 또는 머리 또는 눈 포즈를 사용하여) 가상 메뉴로부터 하나 이상의 아이템들을 선택할 수 있는 가상 메뉴들을 사용자에게 제공할 수 있다. AR 시스템은, 사용자의 환경 내의 객체들 및 선택된 아이템의 어포던스들에 기반하여 가상 메뉴로부터 선택된 아이템을 적절한 위치에 자동적으로 배치할 수 있다. 예컨대, 가상 메뉴는 가상 TV, 가상 오디오 플레이어, 가상 게임 등을 포함하는 사용자 아이템들에 제공될 수 있다. 사용자는 가상 TV를 선택할 수 있다. AR 시스템은 가상 TV를 메뉴로부터 클립보드로 복사할 수 있다. 사용자는, 사용자가 AR 시스템에 의해 가상 TV가 배치되기를 원하는 타겟 위치를 찾기 위해 환경을 둘러볼 수 있다. 사용자가 타겟 위치를 찾을 때, 사용자는 타겟 위치의 선택을 확인하기 위해 사용자 입력 디바이스(예컨대, 토템)를 작동시킬 수 있으며, AR 시스템은 원하는 위치에서 가상 TV를 자동적으로 디스플레이할 수 있다. AR 시스템은 TV의 어포던스들 및 타겟 위치에 기반하여 가상 TV를 디스플레이할 수 있다. 예컨대, 원하는 위치가 수직 벽 상에 있다면, AR 시스템은, 가상 TV가 벽에 평평하게 걸려 있는 것처럼 가상 TV를 디스플레이할 수 있다. 다른 예로서, 타겟 위치가 수평 테이블 상에 있다면, AR 시스템은, 마치 가상 TV가 테이블 상에 평평하게 놓여 있는 것처럼 가상 TV를 디스플레이할 수 있다. 이들 예들 둘 모두에서, AR 시스템은, 가상 TV의 법선이 타겟 위치의 법선, 즉, 벽 법선 또는 테이블 법선과 정렬되도록, 가상 TV(TV를 볼 수 있는 방향을 나타내는 법선을 가짐)를 배향시킨다.
[0128] 일부 상황들에서, 가상 객체가 사용자에 의해 선택된 타겟 위치에 배치될 수 없을 수 있다. 예컨대, 사용자는 가상 노트를 배치할 테이블 표면을 선택할 수 있다. 그러나, 테이블 표면은 다른 문헌들에 의해 이미 커버되었을 수 있고, 따라서 가상 노트는 테이블 표면 상에 배치될 수 없다. AR 시스템은 반발력, 이를테면, 예컨대, 반발 스프링 힘을 시뮬레이팅할 수 있는데, 이는 가상 노트가 테이블 표면에 배치되는 것을 방지할 것이다.
[0129] 따라서, AR 시스템이 사용자의 환경에서 가상 객체뿐만 아니라 다른 객체들의 어포던스들에 관하여 알고 있기 때문에, AR 시스템의 이러한 실시예들은, 최소의 사용자 상호작용으로 가상 객체를 복사하고, 이를 원하는 위치에 붙여 넣을 수 있다. AR 시스템은, 가상 객체들을 사용자의 환경에서 그들의 자연스러운 포지션 및/또는 배향으로 배치하기 위해 이러한 어포던스들을 활용할 수 있다.
가상 객체를 자동적으로 피벗하는 예들
[0130] 도 13a-13d는, 가상 객체(1320)가 벽(1210)에 가까울 때, 가상 객체(1320)의 포지션 및 배향을 자동적으로 조정하는 것을 도시한다. 가상 객체(1320)는 4개의 코너들(1326, 1328, 1322 및 1324)을 갖는다. 일단 가상 객체(1320)가 벽(1210)을 터치한다고(예컨대, 도 13b에 도시된 바와 같이, 코너(1322)가 벽을 터치함) AR 시스템이 결정하면, AR 시스템은, 가상 객체(1320)가 벽(1210)의 배향과 정렬되는 것처럼 보이도록, 예컨대, 도 13d에 도시된 바와 같이 객체 법선(1355)이 벽 법선(1350)에 평행하게 되고, 가상 객체(1320)를 재배향시킬 수 있다. 가상 객체(1320)를 재배향시키기 위한 움직임들은 3D 공간에서 다수의 축들을 따를 수 있다. 예컨대, 도 13b 및 13c에 도시된 바와 같이, AR 시스템은 가상 객체(1320)를 1330a의 방향으로 피벗할 수 있고, 결과적으로, 코너(1324)는 또한 도 13c에 도시된 바와 같이 벽(1210)을 터치한다. 가상 객체(1320)와 벽(1210)을 추가로 정렬시키기 위해, AR 시스템은 도 13c에 도시된 1330b의 방향으로 가상 객체(1320)를 피벗할 수 있다. 따라서, 가상 객체(1320)의 최상부 코너들(1326 및 1328)은 또한 도 13d에 도시된 바와 같이 벽을 터치한다. 일부 경우들에서, 가상 객체(1320)는 또한, 벽(1210) 상의 가상 객체의 자연적인 배향이 (예컨대, 가상 그림을) 수평적으로 매달고 있다는 어포던스를 가질 수 있다. AR 시스템은 벽(1210) 상에 가상 객체(1320)를 적절히 배향시키기 위해(예컨대, 가상 그림이 비스듬히보다는 벽으로부터 적절히 매달려 있는 것처럼 보이기 위해) 이러한 어포던스를 사용할 수 있다.
[0131] AR 시스템은, 가상 객체(1320) 표면 법선(1355)이 법선(1350)에 역평행하기보다는 벽(1210)의 표면 법선(1350)에 평행하게 함으로써 가상 객체(1320)를 배향시킬 수 있다. 예컨대, 가상 TV 스크린의 하나의 측만이 비디오들을 디스플레이하도록 구성될 수 있거나, 가상 그림의 하나의 측만이 그림을 디스플레이하도록 구성될 수 있다. 따라서, AR 시스템은, 콘텐츠를 갖는 측이 (벽을 향하는 대신에) 사용자를 향하도록 가상 객체를 넘길 필요가 있을 수 있다.
가상 객체가 다른 객체의 임계 거리 내에 있을 때 스내핑 및 재-배향의 예들
[0132] 사용자는, 예컨대, 사용자 입력 디바이스(466)를 이용하여 가상 객체를 드래그함으로써, 가상 객체를 다른 위치로 이동시킬 수 있다. 가상 객체가 목적지 객체에 가까울 때, AR 시스템은, 사용자가 가상 객체와 목적지 객체를 정렬시키기 위해 약간 조정할 필요가 없도록, 가상 객체를 자동적으로 스내핑하고 배향시킬 수 있다.
[0133] 도 14a-14d에서, ARD의 사용자는 가상 객체를 테이블로부터 벽으로 이동시키고 있다. 가상 객체(1430)는 가상 TV 스크린일 수 있다. 도 14a에서, 룸(1200B) 내의 가상 TV 스크린(1430)은 (테이블(1242) 상에 점선들로 도시된 바와 같이) 초기에 테이블(1242)의 최상부 상에 있었고, 벽(1210)으로 이동되고 있다. 사용자는 가상 스크린(1430)을 선택하고, 가상 스크린(1430)을 방향(1440a)으로(예컨대, 벽(1210) 상의 원하는 목적지 포지션을 향해) 이동시킬 수 있다. AR 시스템은, 가상 스크린(1430)의 현재 포지션을 나타내고 사용자가 스크린(1430)을 선택하였음을 나타내는 가시적인 초점 표시자(1450)를 가상 스크린(1430)에 보여줄 수 있다.
[0134] 사용자가 가상 스크린(1430)을 이동시킬 때, AR 시스템은 가상 스크린(1430)의 포지션들을 모니터할 수 있다. AR 시스템은, 가상 스크린(1430)과 벽(1210) 사이의 거리가 떨어진 임계 거리만큼 미만일 때, 가상 스크린(1430)을 자동적으로 스내핑하고 배향시키기 시작할 수 있다. AR 시스템은, 도 13a-13d를 참조하여 설명된 바와 같이, 가상 스크린의 적어도 일부가 벽(1210)을 터치할 때, AR 시스템이 가상 스크린(1430)을 자동적으로 부착 및 배향시키기 시작할 수 있도록, 임계 거리를 설정할 수 있다. 일부 구현들에서, 임계 거리는, 가상 스크린(1430)의 임의의 부분이 벽을 터치하기 전에, AR 시스템이 가상 스크린(1430)을 벽(1210)에 자동적으로 부착 및/또는 배향시키기 시작하도록 충분히 클 수 있다. 이러한 구현들에서, AR 시스템은 벽과 가상 객체 사이의 자기 효과를 시뮬레이팅할 수 있다. 예컨대, 가상 스크린(1430)이 충분히 가까울 때(이를테면, 임계 거리보다 더 작을 때), 객체는 사용자의 추가의 노력들 없이 벽으로 자동적으로 끌어 당겨진다.
[0135] 가상 스크린(1430)과 벽(1210) 사이의 거리는 다양한 방식들로 측정될 수 있다. 예컨대, 이는 가상 스크린(1430)의 중력의 중심과 벽(1210)의 표면 사이의 변위에 기반하여 계산될 수 있다. 일부 실시예들에서, 객체들이 객체들의 포지션들을 설명하는 벡터들과 연관될 때, AR 시스템은 가상 스크린(1430)에 대한 벡터 및 벽(1210)에 대한 벡터를 사용하여 유클리드 거리(Euclidean distance)를 계산할 수 있다. 거리는 또한 벡터의 컴포넌트에 기반하여 계산될 수 있다. 예컨대, ARD는 거리로서 수평 축에서 벡터와 가상 스크린(1430) 간의 포지션 차이를 계산할 수 있다.
[0136] 임계 거리는 가상 객체에 관련된 어포던스들에 의존할 수 있다. 예컨대, 가상 스크린(1430)은 크기(예컨대, 수평 크기, 수직 크기, 두께, 대각선 크기 등)와 연관되고, 임계 거리는 크기의 한 부분(fraction)일 수 있다. 예로서, 임계 거리가 스크린의 수직 크기와 대략 동일하면, AR 시스템은, 스크린이 벽으로부터 수직 크기 거리 내에 있을 때, 스크린을 자신의 목적지 포지션 및 배향을 향해 배향시키기 시작할 수 있다. 또 다른 예로서, 임계 거리가 스크린의 수직 크기보다 더 작은 경우, AR 시스템은, 가상 스크린(1430)이 벽에 훨씬 더 가까워질 때까지, 가상 스크린(1430)을 배향시키기 시작하지 않을 수 있다. 다양한 구현들에서, 임계 거리는 사용자에 의해 설정될 수 있거나, 디폴트 값들(예컨대, 이를테면, 객체의 크기)로 설정될 수 있다. 임계 거리는 AR 시스템에서의 사용자 경험에 기반하여 변경될 수 있다. 예컨대, 작은 임계 거리가 가상 객체들의 신속한 재배 향으로 이어지고, 주의 산만하다는 것을 사용자가 발견하면, 사용자는, 재배향이 더 큰 거리에 걸쳐 더 점차적으로 발생하도록, 임계 거리를 더 크게 재설정할 수 있다.
[0137] 가상 스크린(1430)이 벽과 평행하지 않을 때, AR 시스템은, 거리를 계산할 때 엔드포인트로서, 벽에 가장 가까운, 가상 스크린(1430)의 부분(이를테면, 도 14b에 도시된 가상 스크린(1430)의 최하부 부분)을 사용할 수 있다. 이 방법을 사용하여, 거리가 충분히 작거나 0이 될 때, AR 시스템은, 가상 스크린(1430)의 적어도 일부가 벽(1210)을 터치한 것을 검출할 수 있다. 그러나, 거리가 벽(1210)과 가상 스크린(1430)의 중력의 중심 사이의 변위에 기반하여 계산되면, AR 시스템이 충돌을 검출할 때, 거리는 0보다 더 클 수 있다(도 14b 참조). 이는, 가상 스크린(1430)이 벽(1210)에 평행하지 않을 때, 가상 스크린(1430)의 중력의 중심이 벽(1210)에 도달하기 전에, 가상 스크린(1430)의 일부가 벽(1210)에 도달할 수 있기 때문이다.
[0138] 다양한 구현들에서, 가상 객체는, 가상 객체의 하나의 표면만이 콘텐츠(예컨대, TV 스크린 또는 그림)를 디스플레이하거나 사용자에게 가시적이도록 설계된 텍스처를 갖는다는 어포던스를 가질 수 있다. 예컨대, 가상 TV 객체에 대해, 객체의 하나의 표면만이 스크린으로서 작동하고, 사용자에게 콘텐츠를 디스플레이할 수 있다. 결과적으로, AR 시스템은, 콘텐츠를 갖는 표면이 벽 대신 사용자를 향하도록 가상 객체를 배향시킬 수 있다. 예컨대, 도 14a, 14b 및 14c를 참조하면, 가상 스크린(1430)의 표면 법선은, 사용자가 테이블의 앞에 서있을 때, 사용자가 가상 스크린(1430)의 콘텐츠를 볼 수 있도록, 초기에 (대신 테이블) 천장을 향할 수 있다. 그러나, 사용자가 간단히 가상 스크린(1430)을 들어 이를 벽(1210)에 부착하면, 표면 법선은 사용자 대신에 벽을 향할 수 있다. 결과적으로, 사용자는, 콘텐츠를 보지 않고서, 가상 스크린(1430)의 후면을 볼 수 있다. 가상 스크린(1430)이 벽(1210)으로 이동될 때, 사용자가 콘텐츠를 여전히 볼 수 있도록 보장하기 위해, AR 시스템은, 콘텐츠를 갖는 표면이 (벽이 아니라) 사용자를 향할 수 있도록, 가상 스크린(1430)을 축 둘레에서 180도 회전시킬 수 있다. 이러한 회전으로, 도 14b의 가상 스크린(1430)의 최하부측인 측(1434)은 도 14c에서는 최상부측이 되는 반면에, 도 14b의 가상 스크린(1430)의 최상부측인 측(1432)은 도 14c에서 최하부측이 된다.
[0139] 도 14c를 참조하여 설명된 바와 같이 축을 따라 가상 객체를 넘기는 것 부가하여 또는 대안으로서, AR 시스템은 또한, 가상 객체가 목적지 위치로 이동되기 전과 같이 가상 객체가 동일한 배향을 유지하도록, 다른 축들 둘레에서 가상 객체를 회전시킬 수 있다. 도 14a 및 14d를 참조하면, 가상 TV 스크린(1430)(및 그의 콘텐츠)은 초기에 테이블(1242) 상에 세로 배향(portrait orientation)일 수 있다. 그러나, 도 14b 및 14c에 도시된 바와 같이 가상 TV 스크린(1430)이 벽(1210)으로 이동된 후, 가상 TV 스크린은 가로 배향(landscape orientation)으로 배향된다. 가상 스크린(1430)이 테이블(1242) 상에 있을 때와 동일한 사용자 경험을 유지하기 위해, AR 시스템은, (도 14d에 도시된 바와 같이) 가상 TV 스크린(1430)이 세로 배향인 것처럼 보이도록, 가상 TV 스크린(1430)을 90도 회전시킬 수 있다. 이러한 회전으로, 도 14c에서 스크린(1430)의 최상부로서 도시된 측(1434)은 도 14d에서 스크린(1430)의 좌측이 되는 반면에, 도 14c에서 스크린(1430)의 최하부측으로 도시된 측(1432)은 도 14d에서 스크린(1430)의 우측이 된다.
[0140] 도 15a, 15b 및 15c는 가상 객체를 부착 및 배향시키는 예의 측면도들을 예시한다. 이 예에서, 가상 객체는 예시 목적으로 평면 객체(예컨대, 가상 스크린)인 것으로 도시되지만, 가상 객체는 평면 형상으로 제한되지 않는다. 도 14a와 유사하게, 도 15a의 가상 스크린(1430)은 1440a의 방향으로 벽(1210)을 향해 이동하고 있다. AR 시스템은 사용자와 연관된 포지션(예컨대, 이를테면, 사용자의 시선 방향 또는 사용자의 사용자 입력 디바이스(466)의 포지션)을 표시하기 위한 초점 표시자(1450)를 디스플레이할 수 있다. 이 예에서, 가상 스크린(1430)의 선택을 나타낼 수 있는 초점 표시자(1450)는 가상 스크린(1430) 상에 있다. 가상 스크린(1430)은 (도 15b에 도시된) 벽(1210)과 각도(1552)로 갖는다. 도 15b에 도시된 바와 같이, 가상 스크린(1430)이 벽(1210)의 표면(1510a)을 터치할 때, AR 시스템은 가상 스크린(1430)을 각도 방향(1440b)으로 회전시킬 수 있다. 결과적으로, 도 15c에 도시된 바와 같이, 가상 스크린(1430)과 벽(1210)의 표면(1510a) 사이에 형성된 각도는 각도(1552)에서 각도(1554)로 감소되고, 도 15d에서 각도는 0으로 감소되었는데, 왜냐하면 스크린(1430)이 벽(1210)에 대해 평평하기 때문이다. 이 예에서, 사용자가 벽(1210)으로부터 약간 떨어져 이동한 후에도(초점 표시자(1450)가 가상 객체(1430) 상에 더 이상 존재하지 않는 경우에도), 스크린(1430)은 (벽의 "점착성"으로 인해) 벽에 남아있다.
[0141] 본원에 설명된 예시적인 도면들이 가상 객체가 벽을 터치한 후에 가상 객체의 재배향이 발생하는 것을 도시하지만, 본원의 예들이 예시를 위한 것이며 제한하는 것으로 의도되지 않는다는 것이 주목되어야 한다. 재배향은, 가상 객체가 물리적 객체를 터치하기 전에 발생할 수 있다. 예컨대, AR 시스템은 벽 및 가상 객체의 표면 법선을 계산할 수 있고, 가상 객체가 벽을 향해 이동하는 동안 가상 객체를 배향시킬 수 있다. 또한, 본원에 제공된 예들이 가상 객체의 최하부 부분이 먼저 벽을 터치하는 것을 도시하지만, 객체의 임의의 다른 부분들이 또한 벽을 먼저 터치할 수 있음이 주목되어야 한다. 예컨대, 가상 객체가 벽과 평행할 때, 전체 가상 객체는 동시에 벽과 충돌할 수 있다. 다른 예로서, 객체가 3D 컵일 때, 컵 홀더는 컵의 임의 다른 부분들보다 이전에 벽과 충돌할 수 있다.
가상 객체와 물리적 객체 사이의 시뮬레이팅된 인력 효과
[0142] 본원에 설명된 바와 같이, AR 시스템은 가상 객체와 물리적 또는 가상 객체, 이를테면, 벽 또는 테이블 사이의 인력(예컨대, 도 12a-12b의 중력 또는 13a-13d 또는 도 14a-14d에 도시된 자기 인력 또는 "점착성")의 효과를 시뮬레이팅할 수 있다. 가상 객체와 물리적 객체 사이의 거리가 임계치 미만이 될 때, AR 시스템은, 마치 2개의 객체들이 인력(예컨대, 자석들의 반대 극성의 인력 또는 중력의 하향 견인력(downward pull))으로 인해 함께 끌어당겨지는 것처럼 가상 객체를 물리적 객체에 자동적으로 부착할 수 있다.
[0143] 일부 경우들에서, AR 시스템은, 물리적 객체의 궤적들을 더 정확하게 나타낼 수 있는 다수의 인력들을 활용할 수 있다. 예컨대, 도 14a-14b를 참조하면, 가상 스크린(1430)을 테이블(1242)로부터 벽(1210)으로 이동시키기를 원하는 사용자는 가상 스크린(1430)을 벽(1210)으로 던지는 제스처를 할 수 있다. AR 시스템은, 위에 설명된 바와 같이, 스크린(1430)을 벽(1210)에 부착시키기 위해 자력(magnetic attractive force)을 활용할 수 있다. 부가적으로, AR 시스템은, 스크린(1430)이 벽(1210)을 향해 이동할 때, 스크린(1430)의 아크형 궤적을 나타내기 위해 하향 중력을 활용할 수 있다. AR 시스템에 의한 하나 이상의 인력들의 사용은 가상 객체들로 하여금, 더 자연스러운 방식으로, 사용자의 환경 내의 다른 객체들을 이동시키고 이들과 상호작용하는 것처럼 보이게 할 수 있는데, 왜냐하면 가상 객체들이 물리적 객체들의 움직임과 다소 유사하게 작동하기 때문이다. 이것은 유리하게도 더 자연스럽고 현실적인 사용자 경험으로 이어질 수 있다.
[0144] 다른 상황들에서, 사용자는, 가상 객체가 현재 부착된 객체로부터 떨어져 가상 객체를 이동시키기를 원할 수 있다. 그러나, 때때로 AR 시스템은, 가상 객체가 벽에 부착될 때, 사용자의 움직임이 가상 객체의 사용자 상호작용들로부터 가상 객체를 분리하려는 의도를 나타내는지 여부를 구별하지 못할 수 있다. 예로서, 사용자가 벽에 부착된 가상 스크린을 사용하여 게임을 플레이하는 동안, 사용자는 친구들 또는 적들을 찾거나 이들과 상호작용하기 위해 자신의 토템을 이동시킬 필요가 있을 수 있다. 이러한 타입의 게임 움직임은 가상 객체를 벽으로부터 분리하기 위한 타입의 움직임과 일치할 수 있다. 사용자의 움직임들이 적절한 임계치 충분히 초과하는 경우에만 가상 스크린을 분리함으로써 게임 스크린은 게임을 플레이하는 동안에 부주의로(inadvertently) 분리되지 않을 것이다. 부가적으로, 사용자는 일반적으로 자신의 포즈 또는 사용자 입력 디바이스를 오랜 시간 기간들 동안 정지된 상태로 유지할 수 없다. 결과적으로, 가상 객체는, 사용자가 가상 객체를 분리하려고 의도하지 않을 때, 사용자의 작은 움직임에 의해 잘못하여 분리될 수 있다. 따라서, 사용자의 움직임이 적절한 임계치를 충분히 초과하면, 가상 객체만을 분리함으로써, 사용자에 의한 작은 움직임들 또는 경련들(twitches)은 자신들의 의도된 위치 또는 배향으로부터 가상 객체를 부주의로 분리하지 않을 것이다.
[0145] 이러한 문제들을 해결하고, AR 시스템을 개선하기 위해, AR 시스템은, 사용자의 포지션의 변화가 임계값보다 더 크지 않다면, 사용자가 다른 객체로부터 가상 객체를 즉시 분리하지 않을 수 있도록, 가상 객체와 물리적 객체 사이의 인력을 시뮬레이팅할 수 있다. 예컨대, 도 15d에 도시된 바와 같이, 스크린(1430)은 벽(1210)에 부착된다. 사용자는, 초점 표시자(1450)가 벽으로부터 떨어져 이동되도록 자신의 사용자 입력 디바이스를 이동시킬 수 있다. 그러나, 가상 스크린(1430)은, 스크린과 벽 사이의 시뮬레이팅된 인력 효과로 인해 여전히 표면(1510a)에 부착될 수 있다. 초점 표시자가 떨어져 더 멀리 이동하고, 스크린(1430)과 초점 표시자(1450) 사이의 임계 거리를 초과할 때, AR 시스템은 도 15e에 도시된 바와 같이 가상 스크린(1430)을 벽(1210)으로부터 분리할 수 있다. AR 시스템에 의해 제공되는 이러한 상호작용은, 마치 초점 표시자(1450)와 스크린(1430) 사이에 보이지 않는 가상 스트링이 있는 것처럼 작동한다. 초점 표시자(1450)와 스크린(1430) 사이의 거리가 가상 스트링의 길이를 초과할 때, 가상 스트링은 긴장(taut)하게 되고, 벽(1210)으로부터 스크린을 분리한다. 가상 스트링의 길이는 임계 거리를 나타낸다.
[0146] 임계 거리 이외에 또는 대안적으로, AR 시스템은 또한, 가상 객체를 분리할지 여부를 결정하기 위해 다른 팩터들을 사용할 수 있다. 예컨대, AR 시스템은 사용자의 움직임들의 가속도 또는 속도를 측정할 수 있다. AR 시스템은, 도 2 및 4를 참조하여 설명된 IMU들을 사용하여 가속도 및 속도를 측정할 수 있다. 가속도 또는 속도가 임계치를 초과하면, AR 시스템은 가상 객체를 물리적 객체로부터 분리할 수 있다. 일부 경우들에서, 가속도 변화율("저크"로 알려짐)이 측정될 수 있고, 사용자에 의해 제공된 저크가 저크 임계치보다 더 크면, 가상 객체가 분리된다. 가속도 임계치 또는 저크 임계치를 활용하는 AR 시스템의 구현들은, 사용자들이 다른 객체들로부터 객체들을 어떻게 분리하는지를 더 자연스럽게 나타낼 수 있다. 예컨대, 벽에 달라붙은 물리적 객체를 제거하기 위해, 사용자가 물리적 객체의 일부를 잡고, 벽으로부터 이를 홱 잡아당길 수 있다. 가상 세계에서의 이러한 홱 잡아당김의 표현은 가속도 및/또는 저크 임계치들을 사용하여 모델링될 수 있다.
[0147] 다른 구현에서, AR 시스템은 마찰력 또는 탄성력과 같은 다른 물리력을 시뮬레이팅할 수 있다. 예컨대, AR 시스템은, 마치 초점 표시자(1450)와 스크린(1430)을 연결하는 가상 고무 밴드가 존재한 것처럼 그들 사이의 상호작용을 시뮬레이팅할 수 있다. 초점 표시자(1450)와 스크린(1430) 사이의 거리가 증가할 때, 가상 고무 밴드의 가상 견인력은 증가하고, 가상 견인력이 벽(1210)의 점착성을 나타내는 힘 임계치보다 더 클 때, 스크린(1430)은 벽(1210)으로부터 분리된다. 다른 예에서, 가상 객체가 물리적 객체의 수평 표면 상에 나타날 때, AR 시스템은, 마치 가상 객체와 수평 표면 사이에 가상 마찰력이 존재한 것처럼, 초점 표시자와 가상 객체 사이의 상호작용을 시뮬레이팅할 수 있다. 사용자는 수평 표면을 따라 초점 표시자를 드래그할 수 있고 한편, 사용자에 의해 가해지는 힘이 가상 마찰력을 극복하기에 충분할 때에만, AR 시스템은 가상 객체를 이동시키기 시작할 수 있다.
[0148] 따라서, 다양한 구현들에서, AR 시스템은, 다른 객체에서 가상 객체를 분리할지 여부를 결정하기 위해, 거리, 속도, 가속도 및/또는 대응하는 임계치들을 갖는 저크 측정치들을 활용할 수 있다. 마찬가지로, AR 시스템은, 가상 객체들이 다른 객체들에 얼마나 강하게 부착되었는지를 결정하기 위해, 객체들 사이의 인력(점착성, 중력 또는 자력을 나타냄)에 대한 임계치들을 활용할 수 있다. 예컨대, 다른 객체 상에 가동 불가하게 배치되도록 의도된 가상 객체는, 사용자가 가상 객체를 분리하기에 매우 어렵게, 매우 높은 인력 임계치와 연관될 수 있다. 물리적 객체의 속성들이 자신의 가중치 등에 의해 설정되는 물리적 세계와 달리, 가상 세계에서, 가상 객체의 속성들은 변경될 수 있다. 예컨대, 사용자가 의도적으로 "가동 불가한" 가상 객체를 이동시키기를 원할 경우, 사용자는, 가상 객체의 연관된 임계치들이 훨씬 더 낮도록, 가상 객체의 설정들을 일시적으로 변경하도록 AR 시스템에 지시할 수 있다. 가상 객체를 새로운 포지션으로 이동시킨 후, 사용자는, 가상 객체가 다시 가동 불가하도록, 가상 객체의 임계치들을 재설정하도록 AR 시스템에 지시할 수 있다.
[0149] 가상 객체가 물리적 객체로부터 분리될 때, 가상 객체의 배향은, 가상 객체는 물리적 객체에 부착될 때와 동일하게 계속 유지될 수 있다. 예컨대, 도 15d에서, 가상 스크린(1430)이 벽에 부착될 때, 가상 스크린(1430)은 벽의 표면(1510a)에 평행한다. 따라서, 가상 스크린(1430)이 도 15e에서 벽으로부터 떨어져 이동할 때, 가상 스크린(1430)은 벽(1430)에 평행하게 유지될 수 있다.
[0150] 일부 실시예들에서, 가상 객체가 벽으로부터 분리될 때, AR 시스템은 가상 객체의 배향을, 가상 객체가 벽에 부착되기 전 자신 원래의 배향으로 다시 변경할 수 있다. 예컨대, 도 15f에 도시된 바와 같이, 가상 스크린(1430)이 벽(1210)으로부터 분리될 때, AR 시스템은 가상 스크린(1430)의 배향을 도 15a 및 15b에 도시된 배향와 동일한 배향으로 다시 복귀할 수 있다.
[0151] 일단 가상 스크린(1430)이 벽(1210)으로부터 분리되면, 사용자는 주위의 객체(1430)를 이동시키고, 이를 벽(또는 다른 객체)에 재-부착할 수 있다. 도 15g 및 15h에 도시된 바와 같이, 사용자가 가상 스크린(1430)을 벽(1210)으로 다시 이동시킬 때, 가상 객체(1430)는 1440c의 방향으로 배향되고, 벽(1210)의 표면(1510b)에 부착될 수 있다. 따라서, 도 15d에 도시된 바와 같이, 사용자는 객체(1430)를 벽(1210)의 좌측에 재부착할 수 있다(예컨대, 도 15d의 가상 스크린(1430)의 포지션과 도 15h의 그의 포지션을 비교).
[0152] 도 14a-14d 및 15a-15h의 예들이 가상 객체를 벽에 자동적으로 부착하는 것을 참조하여 설명되었지만, 가상 객체를 테이블과 같은 다른 객체에 자동적으로 부착하는 것에 동일한 기술들이 또한 적용될 수 있다. 예컨대, AR 시스템은, 가상 책이 테이블에 가깝게 있을 때 하향 중력의 효과를 시뮬레이팅하고, 추가의 사용자 노력 없이 가상 책을 자동적으로 배향시키고, 테이블의 최상부에 가상 책을 보여줄 수 있다. 다른 예로서, 사용자는 손 제스처들을 사용하여 가상 그림을 바닥으로 이동시키고, (가상 중력을 통해) 이를 바닥에 드롭할 수 있다. 사용자의 현재 포지션은 초점 표시자에 의해 표시될 수 있다. 사용자가 그림을 바닥으로 이동시킬 때, 초점 표시자는 사용자의 포지션을 따를 수 있다. 그러나, 가상 그림이 사용자 환경의 테이블에 가까울 때, 테이블이 바닥의 최상부 상에 있을 수 있기 때문에, 가상 그림이 잘못하여 테이블에 부착될 수 있다. 사용자는 자신의 손, 머리 또는 눈 제스처들로 초점 표시자를 바닥 방향으로 계속 이동시킬 수 있다. 초점 표시자의 위치와 테이블 사이의 거리가 충분히 클 때, AR 시스템은 가상 그림을 테이블로부터 분리하고, 이를 초점 표시자의 위치로 이동시킬 수 있다. 이어서, 사용자는, 가상 그림이 바닥에 가까워질 때까지, 가상 그림을 계속 이동시킬 수 있고, 여기서 AR 시스템은 이를 가상 중력 하의 포지션에 드롭할 수 있다.
[0153] 부가적으로 또는 대안적으로, 본원에 설명된 기술들은 또한 다른 객체의 내부에 가상 객체를 놓는 데 사용될 수 있다. 예컨대, 사용자는 사용자의 사진들을 포함하는 가상 박스를 가질 수 있다. AR 시스템이 사진을 가상 박스에 배치하라는 표시를 수신하면, AR 시스템은 가상 박스 내부로 사진을 자동적으로 이동시키고, 사진과 가상 박스를 정렬시킬 수 있다.
가상 객체를 자동적으로 스내핑 및 배향시키기 위한 예시적인 방법들
[0154] 도 16은 가상 객체를 부착 및 배향시키기 위한 예시적인 방법이다. 도 16에 도시된 프로세스(1600)는 도 2를 참조하여 설명된 AR 시스템(200)에 의해 수행될 수 있다.
[0155] 블록(1610)에서, AR 시스템은, 사용자가 상호작용하기를 원하는 사용자의 환경에서 가상 객체를 식별할 수 있다. 이러한 가상 객체는 또한 타겟 가상 객체로 지칭될 수 있다. AR 시스템은 사용자의 포즈에 기반하여 타겟 가상 객체를 식별할 수 있다. 예컨대, AR 시스템은, 가상 객체가 사용자의 시선 방향과 교차할 때, 가상 객체를 타겟 가상 객체로서 선택할 수 있다. AR 시스템은 또한, 사용자가 사용자 입력 디바이스를 작동시킬 때, 타겟 가상 객체를 식별할 수 있다. 예컨대, 사용자가 사용자 입력 디바이스를 클릭할 때, AR 시스템은 사용자 입력 디바이스의 현재 위치에 기반하여 타겟 가상 객체를 자동적으로 지정할 수 있다.
[0156] 타겟 가상 객체는 제1 위치 및 제1 배향을 가질 수 있다. 일부 실시예들에서, 타겟 가상 객체의 위치 및 배향은 벡터 형태로 표현될 수 있다. 타겟 가상 객체가 주위에서 이동할 때, 그에 따라 벡터들의 값들은 업데이트될 수 있다.
[0157] 블록(1620)에서, AR 시스템은 타겟 가상 객체를 목적지 객체로 이동시키라는 표시를 수신할 수 있다. 예컨대, 사용자는 테이블을 가리키고, 사용자 입력 디바이스를 작동시켜서, 타겟 가상 객체를 테이블로 이동시키려는 의도를 나타낼 수 있다. 다른 예로서, 사용자는 가상 객체를 벽에 배치하기 위해 가상 객체를 벽의 방향으로 드래그할 수 있다. 목적지 객체는 위치 및 배향을 가질 수 있다. 일부 구현들에서, 타겟 가상 객체와 같이, 목적지 객체의 위치 및 배향은 또한 벡터 형태로 표현될 수 있다.
[0158] 블록(1630)에서, AR 시스템은, 타겟 가상 객체의 위치 및 목적지 객체의 위치에 기반하여 타겟 가상 객체와 목적지 객체 사이의 거리를 계산할 수 있다. AR 시스템은 계산된 거리와 임계 거리를 비교할 수 있다. 거리가 임계 거리 미만이면, 블록(1640)에 도시된 바와 같이, AR 시스템은 타겟 가상 객체를 목적지 객체에 자동적으로 배향 및 부착할 수 있다.
[0159] 일부 구현들에서, AR 시스템은 다수의 임계 거리들(또는 속도들, 가속도들 또는 저크들)을 포함할 수 있고, 여기서 각각의 임계 거리는 액션의 타입과 연관된다. 예컨대, AR 시스템은 제1 임계 거리를 설정할 수 있고, 여기서 타겟 가상 객체와 목적지 객체 사이의 거리가 임계 거리 미만이거나 동일하면, AR 시스템이 가상 객체를 자동적으로 회전시킬 수 있다. AR 시스템은 또한 제2 임계 거리를 설정할 수 있고, 여기서 거리가 제2 임계 거리 미만일 때, AR 시스템이 타겟 가상 객체를 목적지 객체에 자동적으로 부착할 수 있다. 이 예에서, 제1 임계 거리가 제2 임계 거리와 동일하면, AR 시스템은, 임계 거리가 만족될 때, 동시에 타겟 가상 객체를 동시에 부착 및 배향시키기 시작할 수 있다. 제1 임계 거리가 제2 임계 거리보다 더 크면, AR 시스템이 타겟 가상 객체를 목적지 객체에 자동적으로 부착하기 시작하기 전에, AR 시스템은 타겟 가상 객체를 배향시키기 시작할 수 있다. 반면에, 제1 임계 거리가 제2 임계 거리 미만이면, AR 시스템은 먼저 타겟 가상 객체를 목적지 객체에 부착하고, 이어서 (이를테면, 타겟 가상 객체의 일부가 목적지 객체에 이미 부착될 때) 타겟 가상 객체를 배향시킬 수 있다. 다른 예로서, AR 시스템은, 사용자 움직임이 대응하는 속도, 가속도 또는 저크 임계치를 초과하면, 가상 객체들을 분리할 수 있다.
[0160] AR 시스템은, 타겟 가상 객체 배향시킬 때, 다수의 축들을 따라 타겟 가상 객체를 배향시킬 수 있다. 예컨대, AR 시스템은, 가상 객체의 표면 법선이 (목적지 객체의 표면을 향하는 대신) 사용자를 향하도록, 가상 객체를 회전시킬 수 있다. AR 시스템은 또한, 가상 객체가 목적지 객체와 동일한 배향인 것처럼 보이도록 가상 객체를 배향시킬 수 있다. AR 시스템은 추가로, 사용자가 가상 객체의 콘텐츠를 불편한 각도로 보지 않도록 가상 객체의 배향을 조정할 수 있다. 일부 실시예들에서, AR 시스템은, 2개의 객체들을 함께 부착할 때, 자력 및/또는 중력의 효과를 시뮬레이팅할 수 있다. 예컨대, AR 시스템은, 가상 TV 스크린이 벽에 가까울 때 가상 TV 스크린을 벽에 끌어당기는 효과를 보여줄 수 있다. 다른 예로서, AR 시스템은, 사용자가 가상 책을 테이블 상에 놓을 의도를 나타낼 때, 자유 낙하 운동을 시뮬레이팅할 수 있다.
[0161] 자력, 점착성 및 중력 효과들 외에도, AR 시스템은 또한, 마치 가상 객체가 물리적 객체였던 것처럼 다른 물리적 효과들을 시뮬레이팅할 수 있다. 예컨대, AR 시스템은 가상 객체들에 질량을 할당할 수 있다. 2개의 가상 객체들이 충돌할 때, AR 시스템은, 2개의 가상 객체들이 충돌 후 일정 거리 동안 함께 움직일 수 있도록 모멘텀(momentum)의 효과를 시뮬레이팅할 수 있다.
가상 객체를 분리하기 위한 예시적인 방법들
[0162] 도 17은 사용자 환경에서 다른 객체로부터 가상 객체를 분리하기 위한 예시적인 방법이다. 도 17에 도시된 프로세스(1700)는 도 2를 참조하여 설명된 AR 시스템에 의해 수행될 수 있다.
[0163] 블록(1710)에서, AR 시스템은 사용자의 FOR(field of regard)에서 타겟 가상 객체를 식별할 수 있다. FOR는, AR 시스템을 통해 사용자에 의해 인지될 수 있는 사용자 주위 환경의 일부를 포함한다. 타겟 가상 객체는 FOR 내의 다른 객체에 부착될 수 있다. AR 시스템은, 타겟 객체가 다른 객체에 부착될 때, 타겟 객체에 제1 포지션을 할당할 수 있다.
[0164] 블록(1720)에서, AR 시스템은 타겟 가상 객체를 사용자 FOR 내의 제2 포지션으로 이동하라는 표시를 수신할 수 있다. 표시는 사용자의 포즈의 변화(이를테면, 자신의 손을 움직이는 것), 사용자 입력 디바이스의 움직임(이를테면, 토템을 움직이는 것) 또는 사용자 입력 디바이스 상의 손 제스처(이를테면, 터치 패드 상의 궤적를 따라 움직이는 것)일 수 있다.
[0165] 블록(1730)에서, AR 시스템은, 움직임들의 표시가 다른 객체로부터 타겟 가상 객체를 분리하기 위한 임계 조건을 만족하는지 여부를 결정할 수 있다. 임계 조건이 만족되면, 블록(1742)에 도시된 바와 같이, AR 시스템은 가상 객체를 분리하고, 이를 (예컨대, 초점 표시자에 의해 표시된 바와 같이) 사용자의 포지션으로 이동시킬 수 있다. 임계 조건은 움직임의 속도/가속도 및/또는 포지션 변화에 기반할 수 있다. 예컨대, 사용자가 벽으로부터 가상 객체를 분리하기를 원할 때, AR 시스템은 사용자가 자신의 토템을 벽으로부터 얼마나 멀리 이동시켰는지를 계산할 수 있다. AR 시스템이 토템과 벽 사이의 거리가 임계 거리를 만족시킨다고 결정하면, AR 시스템은 가상 객체를 분리할 수 있다. 예로서, 사용자가 토템을 충분히 빠르게 이동시킬 때 ― 이는 임계 속도 및/또는 임계 가속도를 만족시킴 ― , AR 시스템은 또한 벽으로부터 가상 객체를 분리할 수 있다.
[0166] AR 시스템이 임계 조건이 만족되지 않는다고 결정하면, AR 시스템은, 블록(1744)에 도시된 바와 같이, 가상 객체를 분리하지 않을 수 있다. 일부 실시예들에서, AR 시스템은 사용자의 현재 포지션을 나타내는 초점 표시자를 제공할 수 있다. 예컨대, 임계 조건이 만족되지 않으면, AR 시스템은, 가상 객체가 환경 내의 다른 객체에 여전히 부착된 것을 보여주면서, 사용자의 현재 포지션에 초점 표시자를 보여줄 수 있다.
[0167] 본원에 설명된 예들이 하나의 가상 객체를 이동시키는 것을 참조하지만, 이들 예들이 제한적이지 않다는 것이 주목되어야 한다. 예컨대, AR 시스템은 환경에서 가상 객체들의 그룹을 자동적으로 배향시키고, 다른 객체에 부착하고, 이로부터 분리하기 위해 본원에 설명된 기술들을 사용할 수 있다.
부가적인 실시예들
[0168] 제1 양상에서, 사용자의 3-차원(3D) 환경에서 타겟 가상 객체를 목적지 객체로 자동적으로 스내핑하기 위한 방법으로서, 방법은: 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 사용자의 3D 환경에서 객체들과의 사용자 상호작용을 허용하도록 구성되고, AR 시스템은 사용자 입력 디바이스를 포함함 ― , 사용자의 3D 환경에서 타겟 가상 객체 및 목적지 객체를 식별하는 단계 ― 타겟 가상 객체는 제1 배향 및 제1 위치와 연관되고, 목적지 객체는 제2 배향 및 제2 위치와 연관됨 ― ; 제1 위치 및 제2 위치에 적어도 부분적으로 기반하여 타겟 가상 객체와 목적지 객체 사이의 거리를 계산하는 단계; 거리와 임계 거리를 비교하는 단계; 거리가 임계 거리 미만이거나 동일하다는 비교에 대한 응답으로 타겟 가상 객체를 목적지 객체의 표면에 자동적으로 부착하는 단계; 및 제1 배향 및 제2 배향에 적어도 부분적으로 기반하여, 타겟 가상 객체와 목적지 객체를 정렬시키기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계를 포함한다.
[0169] 제2 양상에서, 제1 양상의 방법에 있어서, 타겟 가상 객체 및 목적지 객체를 식별하는 단계는 다음과 같이: 머리 포즈, 눈 포즈, 신체 포즈 또는 손 제스처 중 적어도 하나에 기반한다.
[0170] 제3 양상에서, 제1 양상 내지 제2 양상 중 어느 한 양상의 방법에 있어서, 목적지 객체는 물리적 객체 또는 가상 객체 중 적어도 하나를 포함한다.
[0171] 제4 양상에서, 제3 양상의 방법에 있어서, 목적지 객체는 벽 또는 테이블을 포함한다.
[0172] 제5 양상에서, 제1 양상 내지 제4 양상 중 어느 한 양상의 방법에 있어서, 제1 배향 또는 제2 배향은 수직 배향 또는 수평 배향 중 적어도 하나를 포함한다.
[0173] 제6 양상에서, 제1 양상 내지 제5 양상 중 어느 한 양상의 방법에 있어서, 거리를 계산하는 단계는 타겟 가상 객체와 목적지 객체 사이의 변위를 계산하는 단계를 포함한다.
[0174] 제7 양상에서, 제1 양상 내지 제6 양상 중 어느 한 양상의 방법에 있어서, 임계 거리가 제로이다.
[0175] 제8 양상에서, 제1 양상 내지 제7 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체와 목적지 객체를 정렬시키기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계는 다음과 같이: 타겟 가상 객체의 표면 법선이 AR 시스템을 향하게 하기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계; 타겟 가상 객체의 표면 법선이 목적지 객체의 표면에 수직이 되게 하기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계; 또는 타겟 가상 객체의 표면 법선이 목적지 객체의 법선과 평행하게 하기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계 중 적어도 하나를 포함한다.
[0176] 제9 양상에서, 제1 양상 내지 제8 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체 또는 목적지 객체 중 적어도 하나에 초점 표시자를 할당하는 단계를 더 포함한다.
[0177] 제10 양상에서, 컴퓨터 하드웨어 및 사용자 입력 디바이스를 포함하는 증강 현실 시스템으로서, 증강 현실 시스템이 제1 양상 내지 제9 양상의 방법들 중 어느 한 방법을 수행하도록 구성된다.
[0178] 제11 양상에서, 사용자의 3-차원(3D) 환경에서 타겟 가상 객체를 목적지 객체로 자동적으로 스내핑하기 위한 방법으로서, 방법은: 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 사용자의 3D 환경에서 객체들과의 사용자 상호작용을 허용하도록 구성되고, AR 시스템은 사용자 입력 디바이스 및 사용자의 포즈를 측정하도록 구성된 포즈 센서를 포함함 ― , 사용자의 3D 환경에서 타겟 가상 객체를 식별하는 단계 ― 타겟 가상 객체는 제1 위치 및 제1 배향과 연관됨 ― ; 포즈 센서를 사용하여, 타겟 가상 객체를 목적지 객체로 이동시키라는 표시를 사용자로부터 수신하는 단계 ― 목적지 객체는 제2 위치 및 제2 배향과 연관됨 ― ; 제1 위치 및 제2 위치에 적어도 부분적으로 기반하여 타겟 가상 객체와 목적지 객체 사이의 궤적을 계산하는 단계; 궤적을 따라 목적지 객체쪽으로 타겟 가상 객체를 이동시키는 단계; 타겟 가상 객체의 현재 위치 및 제2 위치에 적어도 부분적으로 기반하여 타겟 가상 객체와 목적지 객체 사이의 거리를 계산하는 단계; 거리와 임계 거리를 비교하는 단계; 거리가 임계 거리 미만이거나 동일하다는 비교에 대한 응답으로 타겟 가상 객체를 목적지 객체에 자동적으로 부착하는 단계; 및 제1 배향 및 제2 배향에 적어도 부분적으로 기반하여, 타겟 가상 객체와 목적지 객체를 정렬시키기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계를 포함한다.
[0179] 제12 양상에서, 제11 양상의 방법에 있어서, 포즈 센서는 외향 이미징 시스템, 관성 측정 유닛, 또는 내향 이미징 시스템 중 적어도 하나를 포함한다.
[0180] 제13 양상에서, 제12 양상의 방법에 있어서, 사용자의 현재 포지션에 초점 표시자를 할당하는 단계를 더 포함하고, 사용자의 현재 포지션은 사용자의 포즈 또는 사용자 입력 디바이스와 연관된 포지션에 적어도 부분적으로 기반하여 결정된다.
[0181] 제14 양상에서, 제13 양상의 방법에 있어서, 포즈는 머리 포즈, 눈 포즈 또는 신체 포즈 중 적어도 하나를 포함한다.
[0182] 제15 양상에서, 제14 양상의 방법에 있어서, 타겟 가상 객체를 목적지 객체로 이동시키라는 표시를 사용자로부터 수신하는 단계는; 포즈 센서를 사용하여, 사용자의 포즈의 변화를 식별하는 단계; 사용자의 포즈에 적어도 부분적으로 기반하여 목적지 객체를 식별하는 단계; 및 타겟 가상 객체를 목적지 객체로 이동시키기 위한 확인을 사용자로부터 수신하는 단계를 포함한다.
[0183] 제16 양상에서, 제13 양상의 방법에 있어서, 타겟 가상 객체를 목적지 객체로 이동시키라는 표시를 사용자로부터 수신하는 단계는: 사용자 입력 디바이스로부터 목적지 객체의 표시를 수신하는 단계; 또는 타겟 가상 객체를 목적지 객체로 이동시키기 위한 확인을 사용자로부터 수신하는 단계 중 적어도 하나를 포함한다.
[0184] 제17 양상에서, 제15 양상 내지 제16 양상 중 어느 한 양상의 방법에 있어서, 확인은 사용자의 포즈의 변화 또는 사용자 입력 디바이스 상의 손 제스처 중 적어도 하나를 포함한다.
[0185] 제18 양상에서, 컴퓨터 하드웨어, 사용자 입력 디바이스 및 포즈 센서를 포함하는 증강 현실 시스템으로서, 증강 현실 시스템이 제11 양상 내지 제17 양상의 방법들 중 어느 한 방법을 수행하도록 구성된다.
[0186] 제19 양상에서, 사용자의 3-차원(3D) 환경에서 타겟 가상 객체를 목적지 객체에 스내핑하기 위한 방법으로서, 방법은: 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 사용자의 3D 환경에서 객체와의 사용자 상호작용을 허용하도록 구성됨 ― , 사용자의 3D 환경에서 타겟 가상 객체 및 목적지 객체를 식별하는 단계; 타겟 가상 객체를 목적지 객체에 부착하라는 표시를 수신하는 단계; 타겟 가상 객체 또는 목적지 객체 중 적어도 하나와 연관된 어포던스를 결정하는 단계; 어포던스에 적어도 부분적으로 기반하여 타겟 가상 객체를 자동적으로 배향시키는 단계; 및 타겟 가상 객체를 목적지 객체에 자동적으로 부착하는 단계를 포함한다.
[0187] 제20 양상에서, 제19 양상의 방법에 있어서, 타겟 가상 객체 및 목적지 객체를 식별하는 단계는 다음과 같이: 머리 포즈, 눈 포즈, 신체 포즈, 손 제스처, 제스처 포즈, 또는 사용자 입력 디바이스로부터의 입력 중 적어도 하나에 기반한다.
[0188] 제21 양상에서, 제19 양상 내지 제20 양상 중 어느 한 양상의 방법에 있어서, 목적지 객체는 물리적 객체 또는 가상 객체 중 적어도 하나를 포함한다.
[0189] 제22 양상에서, 제21 양상의 방법에 있어서, 목적지 객체는 수직 표면 또는 수평 표면을 포함한다.
[0190] 제23 양상에서, 제19 양상 내지 제22 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 목적지 객체에 부착하라는 표시를 수신하는 단계는 다음과 같이: 사용자의 포즈의 변화를 검출하는 단계; 또는 사용자 입력 디바이스로부터 목적지 객체의 표시를 수신하는 단계 중 하나 이상을 포함한다.
[0191] 제24 양상에서, 제23 양상의 방법에 있어서, 포즈는 머리 포즈, 눈 포즈 또는 신체 포즈 중 적어도 하나를 포함한다.
[0192] 제25 양상에서, 제19 양상 내지 제24 양상 중 어느 한 양상의 방법에 있어서, 어포던스는 다음과 같이: 기능, 배향, 타입, 위치, 형상, 크기, 또는 타겟 가상 객체 또는 목적지 객체의 환경 중 하나 이상에 기반하여 결정된다.
[0193] 제26 양상에서, 제19 양상 내지 제25 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 자동적으로 배향시키는 단계는: 타겟 가상 객체의 표면 법선이 AR 시스템을 향하게 하기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계; 타겟 가상 객체의 표면 법선이 목적지 객체의 표면에 수직이 되게 하기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계; 또는 타겟 가상 객체의 표면 법선이 목적지 객체의 법선과 평행하게 하기 위해 타겟 가상 객체를 자동적으로 배향시키는 단계 중 하나 이상을 포함한다.
[0194] 제27 양상에서, 제19 양상 내지 제26 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 목적지 객체에 자동적으로 부착하는 단계는 타겟 가상 객체와 목적지 객체 사이의 인력을 시뮬레이팅함으로써 수행된다.
[0195] 제28 양상에서, 제27 양상의 방법에 있어서, 인력은 다음과 같이: 중력 또는 자력 중 하나 이상을 포함한다.
[0196] 제29 양상에서, 컴퓨터 하드웨어를 포함하는 증강 현실 시스템으로서, 증강 현실 시스템이 제19 양상 내지 제28 양상의 방법들 중 어느 한 방법을 수행하도록 구성된다.
[0197] 제30 양상에서, 3-차원(3D) 환경에서 타겟 가상 객체를 다른 객체로부터 분리하기 위한 방법으로서, 방법은: 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 사용자가 사용자의 FOR(field of regard)에서 객체들과의 사용자 상호작용을 허용하도록 구성되고, FOR은 AR 시스템을 통해 사용자에 의해 인지될 수 있는, 사용자 주변의 환경의 일부를 포함함 ― , 타겟 가상 객체의, 사용자에 의한, 선택을 수신하는 단계 ― 타겟 가상 객체는 사용자의 FOR 내의 제1 포지션과 연관됨 ― ; 타겟 가상 객체와 연관된 초점 표시자를 사용자에게 디스플레이하는 단계; 타겟 가상 객체를 이동시키라는 표시를 사용자로부터 수신하는 단계; 표시에 적어도 부분적으로 기반하여 사용자에게, 업데이트된 포지션에 초점 표시자를 디스플레이하는 단계; 타겟 가상 객체의 제1 포지션과 초점 표시자의 업데이트된 포지션 사이의 거리를 계산하는 단계; 거리와 임계 거리를 비교하는 단계; 거리가 임계 거리보다 더 크거나 동일하다는 비교에 대한 응답으로, 타겟 가상 객체를 제1 포지션으로부터 초점 표시자의 업데이트된 포지션과 연관된 제2 포지션으로 이동시키는 단계; 및 제2 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0198] 제31 양상에서, 제30 양상의 방법에 있어서, 타겟 가상 객체의, 사용자에 의한 선택을 수신하는 단계는 다음과 같이: 사용자의 포즈의 변화를 검출하는 단계; 또는 사용자 입력 디바이스로부터 입력을 수신하는 단계 중 적어도 하나를 포함한다.
[0199] 제32 양상에서, 제30 양상 내지 제31 양상 중 어느 한 양상의 방법에 있어서, 다른 객체는 물리적 객체 또는 가상 객체 중 적어도 하나를 포함한다.
[0200] 제33 양상에서, 제32 양상의 방법에 있어서, 다른 객체는 벽 또는 테이블을 포함한다.
[0201] 제34 양상에서, 제30 양상 내지 제33 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 이동시키라는 표시를 수신하는 단계는: 사용자 입력 디바이스의 움직임을 검출하는 단계; 사용자 입력 디바이스 상의 손 제스처를 검출하는 단계; 또는 사용자의 포즈의 변화를 검출하는 단계 중 적어도 하나를 포함한다.
[0202] 제35 양상에서, 제31 양상 내지 제34 양상 중 어느 한 양상의 방법에 있어서, 사용자의 포즈는 머리 포즈, 눈 포즈 또는 신체 포즈를 포함한다.
[0203] 제36 양상에서, 제30 양상 내지 제35 양상 중 어느 한 양상의 방법에 있어서, 거리를 계산하는 단계는 제1 포지션과 업데이트된 포지션 간의 변위를 계산하는 단계를 포함한다.
[0204] 제37 양상에서, 제30 양상 내지 제36 양상 중 어느 한 양상의 방법에 있어서, 임계 거리는 사용자에 의해 특정된다.
[0205] 제38 양상에서, 제30 양상 내지 제37 양상 중 어느 한 양상의 방법에 있어서, 제2 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계는: 타겟 가상 객체가 다른 객체를 터치하기 전에, 타겟 가상 객체와 연관된 배향을 결정하는 단계; 및 제2 포지션에서의 배향을 갖는 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0206] 제39 양상에서, 제30 양상 내지 제38 양상 중 어느 한 양상의 방법에 있어서, 제2 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계는: 제1 포지션에서 타겟 가상 객체와 연관된 배향을 결정하는 단계; 및 제2 포지션에서의 배향을 갖는 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0207] 제40 양상에서, 3-차원(3D) 환경에서 타겟 가상 객체를 다른 객체로부터 분리하기 위한 방법으로서, 방법은: 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 사용자가 사용자의 FOR(field of regard)에서 객체들과의 사용자 상호작용을 허용하도록 구성되고, FOR은 AR 시스템을 통해 사용자에 의해 인지될 수 있는, 사용자 주변의 환경의 일부를 포함함 ― , 타겟 가상 객체의 선택을 수신하는 단계 ― 타겟 가상 객체는 사용자의 FOR 내의 제1 포지션과 연관되고, 타겟 가상 객체 중 적어도 일부는 다른 객체를 터치함 ― ; 타겟 가상 객체와 연관된 초점 표시자를 사용자에게 디스플레이하는 단계; 타겟 가상 객체를 다른 객체로부터 분리하라는 표시를 사용자로부터 수신하는 단계; 표시에 적어도 부분적으로 기반하여 사용자에게, 업데이트된 포지션에 초점 표시자를 디스플레이하는 단계; 표시가 타겟 가상 객체를 다른 객체로부터 분리하기 위한 임계 조건을 만족시키는지 여부를 결정하는 단계; 임계 조건이 만족된다는 결정에 대한 응답으로, 초점 표시자의 업데이트된 포지션과 연관된 제2 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계; 및 임계 조건이 만족되지 않는다는 결정에 대한 응답으로, 제1 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0208] 제41 양상에서, 제40 양상의 방법에 있어서, 타겟 가상 객체의 선택을 수신하는 단계는 다음과 같이: 사용자의 포즈의 변화를 검출하는 단계; 또는 사용자 입력 디바이스로부터 입력을 수신하는 단계 중 적어도 하나를 포함한다.
[0209] 제42 양상에서, 제40 양상 내지 제41 양상 중 어느 한 양상의 방법에 있어서, 다른 객체는 물리적 객체 또는 가상 객체 중 적어도 하나를 포함한다.
[0210] 제43 양상에서, 제42 양상의 방법에 있어서, 다른 객체는 벽 또는 테이블을 포함한다.
[0211] 제44 양상에서, 제40 양상 내지 제43 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 분리하라는 표시를 수신하는 단계는: 사용자 입력 디바이스의 움직임을 검출하는 단계; 사용자 입력 디바이스 상의 손 제스처를 검출하는 단계; 또는 사용자의 포즈의 변화를 검출하는 단계 중 적어도 하나를 포함한다.
[0212] 제45 양상에서, 제41 양상 내지 제44 양상 중 어느 한 양상의 방법에 있어서, 사용자의 포즈는 머리 포즈, 눈 포즈 또는 신체 포즈를 포함한다.
[0213] 제46 양상에서, 제41 양상 내지 제45 양상 중 어느 한 양상의 방법에 있어서, 다른 객체로부터 타겟 가상 객체를 분리하기 위한 임계 조건은: 제1 포지션과 업데이트된 포지션 사이의 거리가 임계 거리보다 더 크거나 동일한 것; 제1 포지션으로부터 업데이트된 포지션으로 이동하는 속도가 임계 속도보다 더 크거나 동일한 것; 제1 포지션으로부터 떨어져 이동하는 가속도가 임계 가속도보다 더 크거나 동일한 것; 또는 제1 포지션으로부터 떨어져 이동하는 저크가 임계 저크보다 더 크거나 동일한 것 중 적어도 하나를 포함한다.
[0214] 제47 양상에서, 제41 양상 내지 제46 양상 중 어느 한 양상의 방법에 있어서, 제2 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계는: 타겟 가상 객체가 다른 객체를 터치하기 전에, 타겟 가상 객체와 연관된 배향을 결정하는 단계; 및 제2 포지션에서의 배향을 갖는 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0215] 제48 양상에서, 제41 양상 내지 제47 양상 중 어느 한 양상의 방법에 있어서, 제2 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계는: 제1 포지션에서 타겟 가상 객체와 연관된 배향을 결정하는 단계; 및 제2 포지션에서의 배향을 갖는 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0216] 제49 양상에서, 사용자의 3-차원(3D) 환경에서 타겟 가상 객체를 다른 객체로부터 분리하기 위한 방법으로서, 방법은: 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 사용자의 3D 환경에서 객체들과의 상호작용을 허용하도록 구성됨 ― , 타겟 가상 객체의 선택을 수신하는 단계 ― 타겟 가상 객체는 초기 포지션에서 3D 환경에서 다른 객체에 부착됨 ― ; 초기 포지션에서 타겟 가상 객체와 연관된 초점 표시자를 사용자에게 디스플레이하는 단계; 타겟 가상 객체를 다른 객체로부터 분리하라는 표시를 사용자로부터 수신하는 단계; 표시에 적어도 부분적으로 기반하여 사용자에게, 업데이트 된 포지션에 초점 표시자를 디스플레이하는 단계; 표시가 타겟 가상 객체를 다른 객체로부터 분리하기 위한 임계 조건을 만족시키는지 여부를 결정하는 단계; 임계 조건이 만족된다는 결정에 대한 응답으로, 표시에 적어도 부분적으로 기반하여 타겟 가상 객체를 분리하는 단계; 및 임계 조건이 만족되지 않는다는 결정에 대한 응답으로, 초기 포지션에서 타겟 가상 객체를 사용자에게 디스플레이하는 단계를 포함한다.
[0217] 제50 양상에서, 제49 양상의 방법에 있어서, 타겟 가상 객체의 선택을 수신하는 단계는 다음과 같이: 사용자의 포즈의 변화를 검출하는 단계; 또는 사용자 입력 디바이스로부터 입력을 수신하는 단계 중 적어도 하나를 포함한다.
[0218] 제51 양상에서, 제49 양상 내지 제50 양상 중 어느 한 양상의 방법에 있어서, 다른 객체는 물리적 객체 또는 가상 객체 중 적어도 하나를 포함한다.
[0219] 제52 양상에서, 제51 양상의 방법에 있어서, 다른 객체는 수직 표면 또는 수평 표면을 포함한다.
[0220] 제53 양상에서, 제49 양상 내지 제52 양상 중 어느 한 양상의 방법에 있어서, 다른 객체로부터 타겟 가상 객체를 분리하라는 표시를 수신하는 단계는: 사용자 입력 디바이스의 움직임을 검출하는 단계; 사용자 입력 디바이스 상의 손 제스처를 검출하는 단계; 또는 사용자의 포즈의 변화를 검출하는 단계 중 적어도 하나를 포함한다.
[0221] 제54 양상에서, 제49 양상 내지 제53 양상 중 어느 한 양상의 방법에 있어서, 다른 객체로부터 타겟 가상 객체를 분리하기 위한 임계 조건은: 초기 포지션과 업데이트된 포지션 사이의 거리가 임계 거리보다 더 크거나 동일한 것; 초기 포지션으로부터 업데이트된 포지션으로 이동하는 속도가 임계 속도보다 더 크거나 동일한 것; 초기 포지션으로부터 떨어져 이동하는 가속도가 임계 가속도보다 더 크거나 동일한 것; 또는 초기 포지션으로부터 떨어져 이동하는 저크가 임계 저크보다 더 크거나 동일한 것 중 적어도 하나를 포함한다.
[0222] 제55 양상에서, 제49 양상 내지 제54 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 분리하는 단계는 물리력을 시뮬레이팅함으로써 수행된다.
[0223] 제56 양상에서, 제55 양상의 방법에 있어서, 물리력은 다음과 같이: 중력, 자력, 마찰력 또는 탄성력 중 적어도 하나를 포함한다.
[0224] 제57 양상에서, 컴퓨터 하드웨어를 포함하는 증강 현실 시스템으로서, 증강 현실 시스템이 제30 양상 내지 제56 양상의 방법들 중 어느 한 방법을 수행하도록 구성된다.
[0225] 제58 양상에서, 3-차원(3D) 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 증강 현실(AR) 시스템으로서, AR 시스템은: 가상 콘텐츠를 3D 뷰로 제공하도록 구성된 AR 디스플레이; AR 디스플레이와 통신하는 하드웨어 프로세서를 포함하고, 하드웨어 프로세서는: 사용자의 3D 환경에서 타겟 가상 객체를 식별하고 ― 제1 위치 및 제1 배향을 나타내는 하나의 벡터가 타겟 가상 객체에 할당됨 ― ; 타겟 가상 객체를 목적지 객체에 부착하라는 표시를 수신하고 ― 제2 위치 및 제2 배향을 나타내는 적어도 하나의 벡터가 목적지 객체에 할당됨 ― ; 제1 위치 및 제2 위치에 적어도 부분적으로 기반하여 타겟 가상 객체와 목적지 객체 사이의 궤적을 계산하고; 궤적을 따라 목적지 객체쪽으로 타겟 가상 객체를 이동시키고; 타겟 가상 객체의 현재 위치를 추적하고; 타겟 가상 객체의 현재 위치 및 제2 위치에 적어도 부분적으로 기반하여, 타겟 가상 객체와 목적지 객체 사이의 거리를 계산하고; 타겟 가상 객체와 목적지 객체의 거리가 임계 거리 미만인지 여부를 결정하고; 거리가 임계 거리 미만이거나 동일하다는 비교에 대한 응답으로, 타겟 가상 객체를 목적지 객체에 자동적으로 부착하고, 타겟 가상 객체를 제2 배향으로 배향시키고; 그리고 타겟 가상 객체가 목적지 객체 상에 오버레이된 경우, AR 디스플레이에 의해, 타겟 가상 객체를 제2 위치에서 제2 배향으로 렌더링하도록 프로그래밍된다.
[0226] 제59 양상에서, 제58 양상의 AR 시스템에 있어서, 하드웨어 프로세서는 타겟 가상 객체, 목적지 객체 또는 환경 중 적어도 하나의 어포던스들을 분석하도록 추가로 프로그래밍되고, 그리고 타겟 가상 객체를 자동적으로 배향시키기 위해, 하드웨어 프로세서는 타겟 가상 객체의 제1 법선(normal)과 목적지 객체의 제2 법선을 정렬시키기 위해 타겟 가상 객체를 회전시키도록 프로그래밍된다.
[0227] 제60 양상에서, 제59 양상의 AR 시스템에 있어서, 어포던스들은 기능, 배향, 타입, 위치, 형상 또는 크기 중 적어도 하나를 포함한다.
[0228] 제61 양상에서, 제58 양상 내지 제60 양상 중 어느 한 양상의 AR 시스템에 있어서, 타겟 가상 객체를 자동적으로 부착하기 위해, 하드웨어 프로세서는, 타겟 가상 객체와 목적지 객체 사이의 인력을 시뮬레이팅하도록 프로그래밍되고, 인력은 중력, 탄성력, 접착력 또는 자력 중 적어도 하나를 포함한다.
[0229] 제62 양상에서, 제58 양상 내지 제61 양상 중 어느 한 양상의 AR 시스템에 있어서, 거리를 계산하기 위해, 하드웨어 프로세서는 타겟 가상 객체의 현재 위치와 목적지 객체와 연관된 제2 위치 사이의 변위를 계산하도록 프로그래밍된다.
[0230] 제63 양상에서, 제62 양상의 AR 시스템에 있어서, 임계 거리는 제로이다.
[0231] 제64 양상에서, 제58 양상 내지 제63 양상 중 어느 한 양상의 AR 시스템에 있어서, 타겟 가상 객체를 부착하라는 표시는 사용자 입력 디바이스의 작동(actuation) 또는 사용자의 포즈 중 적어도 하나로부터 결정된다.
[0232] 제65 양상에서, 제64 양상의 AR 시스템에 있어서, 하드웨어 프로세서는 초점 표시자를 사용자의 현재 포지션에 할당하도록 추가로 프로그래밍되고, 사용자의 현재 포지션은 사용자의 포즈 또는 사용자 입력 디바이스와 연관된 포지션에 적어도 부분적으로 기반하여 결정된다.
[0233] 제66 양상에서, 제58 양상 내지 제65 양상 중 어느 한 양상의 AR 시스템에 있어서, 하드웨어 프로세서는 추가로: 목적지 객체로부터 타겟 가상 객체를 분리하라는 표시를 수신하고 ― 표시는 사용자의 현재 포지션의 변화와 연관됨 ― ; 수신된 표시에 적어도 부분적으로 기반하여, 타겟 가상 객체를 분리하기 위한 임계 조건이 만족되는지 여부를 결정하고; 임계 조건이 만족된다는 결정에 대한 응답으로: 목적지 객체로부터 타겟 가상 객체를 분리하고; 타겟 가상 객체를 목적지 객체와 연관된 제2 위치로부터 제3 위치로 이동시키고; 그리고 제3 위치에서 타겟 가상 객체를 렌더링하도록 프로그래밍된다.
[0234] 제67 양상에서, 제66 양상의 AR 시스템에 있어서, 임계 조건이 만족된다는 결정에 대한 응답으로, 하드웨어 프로세서는, 타겟 가상 객체를 제3 위치로 이동시키면서, 타겟 가상 객체에 대한 제2 배향을 유지하도록 추가로 프로그래밍된다.
[0235] 제68 양상에서, 제67 양상의 AR 시스템에 있어서, 제3 위치는 사용자의 현재 포지션에 대응하는 초점 표시자의 포지션에 대응한다.
[0236] 제69 양상에서, 제68 양상의 AR 시스템에 있어서, 다른 객체로부터 타겟 가상 객체를 분리하기 위한 임계 조건은: 타겟 가상 객체가 목적지 객체에 부착되는 제2 위치와 초점 표시자의 포지션 사이의 제2 거리가 제2 임계 거리보다 더 크거나 동일한 것: 제2 위치로부터 초점 표시자의 포지션으로 이동시키는 속도가 임계 속도보다 더 크거나 동일한 것; 제2 위치로부터 떨어져 이동시키는 가속도가 임계 가속도보다 더 크거나 동일한 것; 또는 상기 제2 위치로부터 떨어져 이동하는 저크(jerk)가 임계 저크보다 더 크거나 동일한 것 중 적어도 하나를 포함한다.
[0237] 제70 양상에서, 제69 양상의 AR 시스템에 있어서, 하드웨어 프로세서는, 목적지 객체로부터 타겟 가상 객체를 분리할 때, 물리력을 시뮬레이팅하도록 프로그래밍되고, 물리력은 마찰력 또는 탄성력 중 적어도 하나를 포함한다.
[0238] 제71 양상에서, 3-차원(3D) 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법으로서, 방법은, 컴퓨터 하드웨어를 포함하는 증강 현실(AR) 시스템의 제어 하에서 ― AR 시스템은 3D 환경에서 객체들과의 사용자 상호작용을 허용하도록 구성됨 ―, 사용자의 3D 환경에서 타겟 가상 객체를 식별하는 단계 ― 타겟 가상 객체는 제1 포지션 및 제1 배향을 가짐 ― ; 목적지 객체에 대해 타겟 가상 객체를 재포지셔닝하라는 표시를 수신하는 단계; 타겟 가상 객체를 재포지셔닝하기 위한 파라미터들을 식별하는 단계; 3D 환경, 타겟 가상 객체, 및 목적지 객체 중 적어도 하나와 연관된 어포던스들을 분석하는 단계; 어포던스들에 기반하여 타겟 가상 객체를 재포지셔닝하기 위한 파라미터들의 값들을 계산하는 단계; 타겟 가상 객체를 재포지셔닝하기 위한 파라미터들의 값들에 기반하여, 타겟 가상 객체에 대한 제2 포지션 및 제2 배향 및 타겟 가상 객체의 움직임을 결정하는 단계; 및 제2 포지션 및 제2 배향에서 타겟 가상 객체, 및 제1 포지션 및 제1 배향으로부터 제2 포지션 및 제2 배향에 도달하기 위한 타겟 가상 객체의 움직임을 렌더링하는 단계를 포함한다.
[0239] 제72 양상에서, 제71 양상의 방법에 있어서, 타겟 가상 객체를 재포지셔닝하는 단계는 타겟 가상 객체를 목적지 객체에 부착하는 단계, 타겟 가상 객체를 재배향시키는 단계, 또는 목적지 객체로부터 타겟 가상 객체를 분리하는 단계 중 적어도 하나를 포함한다.
[0240] 제73 양상에서, 제71 양상 내지 제72 양상 중 어느 한 양상의 방법에 있어서, 목적지 객체는 물리적 객체이다.
[0241] 제74 양상에서, 제71 양상 내지 제73 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체를 재포지셔닝하라는 표시가 임계 조건을 만족시키는지 여부를 결정하는 단계; 및 표시가 임계 조건을 만족시킨다는 결정에 대한 응답으로, 계산하는 단계, 결정하는 단계, 및 렌더링하는 단계를 수행하는 단계를 더 포함한다.
[0242] 제75 양상에서, 제74 양상의 방법에 있어서, 임계 조건은 타겟 가상 객체와 목적지 객체 사이의 거리를 포함한다.
[0243] 제76 양상에서, 제71 양상 내지 제75 양상 중 어느 한 양상의 방법에 있어서, 타겟 가상 객체에는 하나 이상의 물리적 특성들이 할당되고, 타겟 가상 객체의 움직임은 타겟 가상 객체의 물리적 특성들에 기반하여 타겟 가상 객체, 목적지 객체 및 환경의 상호작용들을 시뮬레이팅함으로써 결정된다.
[0244] 제77 양상에서, 제76 양상의 방법에 있어서, 타겟 가상 객체에 할당된 하나 이상의 물리적 특성들은 질량, 크기, 밀도, 페이즈, 경도, 탄성, 또는 전자기 특성 중 적어도 하나를 포함한다.
다른 고려사항들
[0245] 본원에서 설명되고 그리고/또는 첨부 도면들에 도시되는 프로세스들, 방법들 및 알고리즘들 각각은 하나 이상의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 애플리케이션-특정 회로 및/또는 특유 및 특정 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고, 이 코드 모듈들에 의해 완전히 또는 부분적으로 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들) 또는 특수 목적 컴퓨터들, 특수 목적 회로 등을 포함할 수 있다. 코드 모듈은 실행 가능 프로그램으로 컴파일되어 링크되거나, 동적 링크 라이브러리에 설치될 수 있거나, 또는 인터프리팅된 프로그래밍 언어로 기록될 수 있다. 일부 구현들에서, 특정한 동작들 및 방법들은, 주어진 기능에 특정한 회로에 의해 수행될 수 있다.
[0246] 추가로, 본 개시내용의 기능성의 소정의 구현들은 충분히 수학적으로, 계산상으로 또는 기술적으로 복잡하여, (적절한 특수화된 실행 가능 명령들을 활용하는) 주문형 하드웨어 또는 하나 이상의 물리적 컴퓨팅 디바이스들은 예컨대, 수반되는 계산들의 양(volume) 또는 복잡성으로 인해 또는 실질적으로 실시간으로 결과들을 제공하기 위해 그 기능성들을 수행할 필요가 있을 수 있다. 예컨대, 비디오는 다수의 프레임들(각각의 프레임은 수백만 개의 픽셀들을 가짐)을 포함할 수 있고, 상업적으로 적절한 시간량 내에 원하는 이미지 프로세싱 태스크 또는 애플리케이션을 제공하기 위해, 특별히 프로그래밍된 컴퓨터 하드웨어가 비디오 데이터를 프로세싱할 필요가 있다.
[0247] 코드 모듈들 또는 임의의 유형의 데이터는, 임의의 유형의 비-일시적인 컴퓨터-판독 가능 매체, 이를테면, 하드 드라이브, 솔리드 스테이트 메모리, RAM(random access memory), ROM(read only memory), 광학 디스크, 휘발성 또는 비-휘발성 저장소, 이들의 조합들 등을 포함하는 물리적 컴퓨터 저장소 상에 저장될 수 있다. 방법들 및 모듈들(또는 데이터)은 또한, 생성된 데이터 신호들로서(예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 일부로서) 무선-기반 및 유선/케이블-기반 매체들을 포함하는 다양한 컴퓨터-판독 가능 송신 매체들 상에서 송신될 수 있고, (예컨대, 단일 또는 멀티플렉싱된 아날로그 신호의 일부로서, 또는 다수의 이산 디지털 패킷들 또는 프레임들로서) 다양한 형태들을 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 임의의 유형의 비-일시적인 유형의(tangible) 컴퓨터 저장소에 지속적으로 또는 다른 방식으로 저장될 수 있거나, 또는 컴퓨터-판독 가능 송신 매체를 통해 통신될 수 있다.
[0248] 본원에서 설명되고 그리고/또는 첨부된 도면들에 도시되는 흐름도들에서의 임의의 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 프로세스의 단계들 또는 (예컨대, 논리적 또는 산술적) 특정 기능들을 구현하기 위한 하나 이상의 실행 가능 명령들을 포함하는 코드 모듈들, 세그먼트들 또는 코드 부분들을 잠재적으로 나타내는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 본원에서 제공된 예시적인 예들에서 조합되거나, 재배열되거나, 이들에 부가되거나, 이들로부터 제거되거나, 수정되거나, 또는 다른 방식으로 변할 수 있다. 일부 실시예들에서, 부가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본원에서 설명된 기능성들 중 일부 또는 전부를 수행할 수 있다. 본원에 설명된 방법들 및 프로세스들은 또한, 임의의 특정 시퀀스로 제한되지 않고, 그에 관련된 블록들, 단계들 또는 상태들은 적절한 다른 시퀀스들로, 예컨대, 직렬로, 병렬로 또는 일부 다른 방식으로 수행될 수 있다. 태스크들 또는 이벤트들은 개시된 예시적인 실시예들에 부가되거나 그로부터 제거될 수 있다. 또한, 본원에서 설명된 구현들에서의 다양한 시스템 컴포넌트들의 분리는 예시 목적들을 위한 것이며, 모든 구현들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다. 설명된 프로그램 컴포넌트들, 방법들 및 시스템들은 일반적으로 단일 컴퓨터 제품에 함께 통합되거나 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 다수의 구현 변동들이 가능하다.
[0249] 프로세스들, 방법들 및 시스템들은 네트워크(또는 분산형) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은, 전사적(enterprise-wide) 컴퓨터 네트워크들, 인트라넷들, LAN(Local Area Network)들, WAN(Wide Area Network)들, PAN(Personal Area Network)들, 클라우드 컴퓨팅 네트워크들, 크라우드-소스드(crowd-sourced) 컴퓨팅 네트워크들, 인터넷 및 월드 와이드 웹(World Wide Web)을 포함한다. 네트워크는 유선 또는 무선 네트워크 또는 임의의 다른 유형의 통신 네트워크일 수 있다.
[0250] 본 개시내용의 시스템들 및 방법들 각각은 몇몇 혁신적인 양상들을 가지며, 그 양상들 중 어떠한 단일 양상도 본원에서 개시된 바람직한 속성들을 단독으로 담당하거나 이를 위해 요구되지 않는다. 위에서 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나, 또는 다양한 방식들로 조합될 수 있다. 모든 가능한 조합들 및 서브조합들은 본 개시내용의 범위 내에 속하는 것으로 의도된다. 본 개시내용에서 설명된 구현들에 대한 다양한 수정들은 당업자들에게 용이하게 자명할 수 있으며, 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않으면서 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 도시된 구현들로 제한되도록 의도되는 것이 아니라, 본 명세서에 개시된 본 개시내용, 원리들 및 신규한 특성들과 일치하는 가장 넓은 범위에 부합할 것이다.
[0251] 별개의 구현들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한, 단일 구현의 조합으로 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 별개로 다수의 구현들에서 또는 임의의 적절한 서브조합으로 구현될 수 있다. 더욱이, 특징들이 소정의 조합들로 작용하는 것으로 위에서 설명되고 심지어 초기에 이와 같이 청구될 수 있지만, 일부 경우들에서, 청구된 조합으로부터의 하나 이상의 특징들은 그 조합으로부터 제거될 수 있고, 청구된 조합은 서브조합 또는 서브조합의 변동에 관련될 수 있다. 단일 특징 또는 특징들의 그룹이 각각의 그리고 모든 각각의 실시예에 필요하거나 필수적인 것은 아니다.
[0252] 구체적으로 달리 언급되지 않거나 또는 사용된 맥락 내에서 달리 이해되지 않으면, 본원에서 사용된 조건어, 이를테면, 다른 것들 중에서도, "할 수 있다(can, could, might, may)", "예컨대" 등은 일반적으로, 소정의 실시예들이 소정의 특징들, 엘리먼트들, 및/또는 단계들을 포함하지만 다른 실시예들은 이들을 포함하지 않는다는 것을 전달하도록 의도된다. 따라서, 그러한 조건어는 일반적으로, 특징들, 엘리먼트들, 및/또는 단계들이 하나 이상의 실시예들을 위해 어떤 식으로든 요구된다는 것을, 또는 하나 이상의 실시예들이, 저자 입력 또는 프롬프팅(prompting)을 이용하거나 또는 그러한 것을 이용함이 없이, 이들 특징들, 엘리먼트들, 및/또는 단계들이 임의의 특정 실시예에 포함되는지 또는 임의의 특정 실시예들에서 수행되어야 하는지를 판단하기 위한 로직을 반드시 포함한다는 것을 암시하도록 의도되진 않는다. "포함하는(comprising, including), "갖는(having)" 등의 용어들은 동의어이며, 오픈-엔디드(open-ended) 방식으로 포괄적으로 사용되며, 부가적인 엘리먼트들, 특징들, 행동들, 동작들 등을 배제하지 않는다. 또한, "또는"이라는 용어는 (그의 배타적인 의미가 아니라) 그의 포괄적인 의미로 사용되어서, 예컨대, 리스트의 엘리먼트들을 연결하기 위해 사용될 때, "또는"이라는 용어는 리스트 내의 엘리먼트들 중 하나, 일부, 또는 전부를 의미한다. 또한, 본 명세서 및 첨부된 청구항들에서 사용된 바와 같은 단수 표현은 달리 특정되지 않는 한 "하나 이상" 또는 "적어도 하나"를 의미하는 것으로 해석될 것이다.
[0253] 본원에서 사용된 바와 같이, 리스트의 아이템들 “중 적어도 하나”를 지칭하는 어구는 단일 멤버들을 포함하여 그 아이템들의 임의의 조합을 지칭한다. 예로서, "A, B 또는 C 중 적어도 하나"는 A; B; C; A와 B; A와 C; B와 C; 그리고 A와 B와 C를 커버하는 것으로 의도된다. 특정하게 다르게 언급되지 않으면, 구문 "X, Y 또는 Z 중 적어도 하나"와 같은 접속어는, 아이템, 용어 등이 X, Y 또는 Z 중 적어도 하나일 수 있다는 것을 전달하기 위해 일반적으로 사용되는 맥락으로 달리 이해된다. 따라서, 이러한 접속어는 일반적으로, 소정의 실시예들이 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구하는 것을 암시하는 것으로 의도되지 않는다.
[0254] 유사하게, 동작들이 특정한 순서로 도면들에 도시될 수 있지만, 원하는 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정한 순서 또는 순차적인 순서로 수행될 필요가 없거나, 모든 예시된 동작들이 수행될 필요가 없다는 것이 인지될 것이다. 추가로, 도면들은 흐름도의 형태로 하나 이상의 예시적인 프로세스들을 개략적으로 도시할 수 있다. 그러나, 도시되지 않은 다른 동작들이, 개략적으로 예시된 예시적인 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 이상의 부가적인 동작들은, 예시된 동작들 중 임의의 동작 이전, 이후, 그들과 동시에, 또는 그들 사이에서 수행될 수 있다. 부가적으로, 동작들은 다른 구현들에서 재배열되거나 재순서화될 수 있다. 소정의 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 설명된 구현에서의 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로서 이해되지는 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 부가적으로, 다른 구현들은 다음의 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에서 열거된 액션들은, 상이한 순서로 수행될 수 있으며, 그럼에도 불구하고 원하는 결과들을 달성할 수 있다.

Claims (20)

  1. 3D(three-dimensional) 환경에서 가상 객체를 자동적으로 재포지셔닝(repositioning)하기 위한 AR(augmented reality) 시스템으로서,
    가상 콘텐츠를 제공하도록 구성된 AR 디스플레이;
    상기 AR 디스플레이와 통신하는 하드웨어 프로세서를 포함하고,
    상기 하드웨어 프로세서는:
    커서, 가상 원뿔 또는 광선의 그래픽 표현을 포함하는 초점 표시자의 표현을 결정하고;
    사용자의 현재 포즈(pose)와 연관된 사용자의 3D 환경에서의 위치에 상기 초점 표시자를 디스플레이하고;
    사용자의 3D 환경에서 타겟 가상 객체를 식별하고 ― 상기 타겟 가상 객체는 제1 위치 및 제1 배향을 나타내는 적어도 하나의 벡터와 연관됨 ―;
    상기 타겟 가상 객체를 복제하라는 표시를 수신하고;
    상기 타겟 가상 객체를 복제하라는 표시에 응답하여 상기 초점 표시자를 상기 타겟 가상 객체에 할당하고;
    상기 초점 표시자를 상기 타겟 가상 객체에 할당하는 것에 응답하여 상기 타겟 가상 객체의 위치에 상기 초점 표시자를 디스플레이하고;
    상기 타겟 가상 객체의 복제물(replica)을 목적지 객체에 부착하라는 표시를 수신하고 ― 상기 목적지 객체는 제2 위치 및 제2 배향을 나타내는 적어도 하나의 벡터와 연관됨 ―;
    상기 제1 위치, 상기 제2 위치, 그리고 상기 3D 환경, 상기 타겟 가상 객체, 또는 상기 목적지 객체 중 적어도 하나와 연관된 어포던스(affordance)에 적어도 부분적으로 기반하여 상기 타겟 가상 객체와 상기 목적지 객체 사이의 궤적을 계산하고 ― 상기 어포던스는 물리 법칙을 이용하여 상기 타겟 가상 객체, 상기 목적지 객체, 또는 상기 3D 환경의 상호작용들을 시뮬레이팅하는 데 사용되는 속성을 포함함 ―;
    상기 궤적을 따라 상기 목적지 객체쪽으로 상기 타겟 가상 객체의 복제물 및 상기 할당된 초점 표시자를 이동시키고;
    상기 타겟 가상 객체의 복제물의 현재 위치를 추적하고;
    상기 타겟 가상 객체의 복제물의 현재 위치 및 상기 제2 위치에 적어도 부분적으로 기반하여, 상기 타겟 가상 객체의 복제물과 상기 목적지 객체 사이의 거리를 계산하고;
    상기 타겟 가상 객체의 복제물과 상기 목적지 객체의 거리가 임계 거리 미만인지 여부를 결정하고;
    상기 거리가 상기 임계 거리 미만이거나 동일하다는 결정에 대한 응답으로, 상기 타겟 가상 객체의 복제물을 상기 목적지 객체에 자동적으로 부착하고, 상기 타겟 가상 객체의 복제물을 상기 제2 배향으로 배향시키고; 그리고
    상기 타겟 가상 객체의 복제물이 상기 목적지 객체 상에 오버레이된 경우, 상기 AR 디스플레이에 의해, 상기 타겟 가상 객체의 복제물을 상기 제2 위치에서 상기 제2 배향으로 렌더링하도록 프로그래밍되고,
    상기 하드웨어 프로세서는 추가로:
    상기 목적지 객체로부터 상기 타겟 가상 객체의 복제물을 분리하라는 표시를 수신하고 ― 상기 표시는 상기 사용자의 현재 포지션의 변화와 연관됨 ―;
    상기 수신된 표시에 적어도 부분적으로 기반하여, 상기 타겟 가상 객체의 복제물을 분리하기 위한 임계 조건이 만족되는지 여부를 결정하고;
    상기 임계 조건이 만족된다는 결정에 대한 응답으로:
    상기 목적지 객체로부터 상기 타겟 가상 객체의 복제물을 분리하고;
    상기 타겟 가상 객체의 복제물을 상기 목적지 객체와 연관된 제2 위치로부터 제3 위치로 이동시키고; 그리고
    상기 제3 위치에서 상기 타겟 가상 객체의 복제물을 렌더링하도록 프로그래밍되는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  2. 제1 항에 있어서,
    상기 하드웨어 프로세서는,
    상기 타겟 가상 객체, 상기 목적지 객체 또는 상기 3D 환경 중 적어도 하나의 어포던스들을 분석하도록 추가로 프로그래밍되고, 그리고
    상기 타겟 가상 객체의 복제물을 자동적으로 배향시키기 위해, 상기 하드웨어 프로세서는 상기 타겟 가상 객체의 제1 법선(normal)을 상기 목적지 객체의 제2 법선과 정렬하도록 상기 타겟 가상 객체의 복제물을 회전시키도록 프로그래밍되는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  3. 제2 항에 있어서,
    상기 어포던스들은 기능, 배향, 타입, 위치, 형상 또는 크기 중 적어도 하나를 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  4. 제1 항에 있어서,
    상기 타겟 가상 객체의 복제물을 자동적으로 부착하기 위해, 상기 하드웨어 프로세서는, 상기 타겟 가상 객체의 복제물과 상기 목적지 객체 사이의 인력(attractive force)을 시뮬레이팅하도록 프로그래밍되고, 상기 인력은 중력, 탄성력(elastic force), 접착력 또는 자력(magnetic attraction) 중 적어도 하나를 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  5. 제1 항에 있어서,
    상기 거리를 계산하기 위해, 상기 하드웨어 프로세서는 상기 타겟 가상 객체의 복제물의 현재 위치와 상기 목적지 객체와 연관된 제2 위치 사이의 변위(displacement)를 계산하도록 프로그래밍되는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  6. 제5 항에 있어서,
    상기 임계 거리는 제로인,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  7. 제1 항에 있어서,
    상기 타겟 가상 객체의 복제물을 부착하라는 표시는 사용자 입력 디바이스의 작동(actuation) 또는 사용자의 포즈 중 적어도 하나로부터 결정되는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  8. 삭제
  9. 삭제
  10. 제1 항에 있어서,
    상기 임계 조건이 만족된다는 결정에 대한 응답으로, 상기 하드웨어 프로세서는, 상기 타겟 가상 객체의 복제물을 상기 제3 위치로 이동시키면서, 상기 타겟 가상 객체의 복제물에 대한 상기 제2 배향을 유지하도록 추가로 프로그래밍되는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  11. 제1 항에 있어서,
    상기 제3 위치는 상기 사용자의 현재 포지션에 대응하는 상기 초점 표시자의 포지션에 대응하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  12. 제11 항에 있어서,
    다른 객체로부터 상기 타겟 가상 객체의 복제물을 분리하기 위한 임계 조건은:
    상기 타겟 가상 객체의 복제물이 상기 목적지 객체에 부착되는 상기 제2 위치와 상기 초점 표시자의 포지션 사이의 제2 거리가 제2 임계 거리보다 더 크거나 동일한 것;
    상기 제2 위치로부터 상기 초점 표시자의 포지션으로 이동시키는 속도가 임계 속도보다 더 크거나 동일한 것;
    상기 제2 위치로부터 떨어져 이동시키는 가속도가 임계 가속도보다 더 크거나 동일한 것; 또는
    상기 제2 위치로부터 떨어져 이동하는 저크(jerk)가 임계 저크보다 더 크거나 동일한 것 중 적어도 하나를 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  13. 제1 항에 있어서,
    상기 하드웨어 프로세서는, 상기 목적지 객체로부터 상기 타겟 가상 객체의 복제물을 분리할 때, 물리력을 시뮬레이팅하도록 프로그래밍되고, 상기 물리력은 마찰력 또는 탄성력 중 적어도 하나를 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 AR 시스템.
  14. 3D(three-dimensional) 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법으로서,
    컴퓨터 하드웨어를 포함하는 AR(augmented reality) 시스템의 제어 하에서 ― 상기 AR 시스템은 3D 환경에서 객체들과의 사용자 상호작용을 허용하도록 구성됨 ―,
    사용자의 3D 환경에서 타겟 가상 객체를 식별하는 단계 ― 상기 타겟 가상 객체는 제1 포지션 및 제1 배향을 가짐 ―;
    상기 타겟 가상 객체를 복제하라는 표시를 수신하는 단계;
    상기 타겟 가상 객체를 복제하라는 표시에 응답하여 초점 표시자를 상기 타겟 가상 객체에 할당하는 단계;
    상기 초점 표시자를 상기 타겟 가상 객체에 할당하는 것에 응답하여 상기 타겟 가상 객체의 위치에 상기 초점 표시자를 디스플레이하는 단계;
    상기 타겟 가상 객체의 복제물을 목적지 객체에 부착하라는 표시를 수신하는 단계;
    상기 타겟 가상 객체의 복제물을 포지셔닝하기 위한 파라미터들을 식별하는 단계 ― 상기 파라미터들은 움직임의 방향, 움직임의 속도, 또는 움직임의 가속도 중 적어도 하나를 포함함 ―;
    상기 3D 환경, 상기 타겟 가상 객체, 및 상기 목적지 객체 중 적어도 하나와 연관된 어포던스들을 분석하는 단계 ― 상기 어포던스들은 물리 법칙을 이용하여 상기 타겟 가상 객체, 상기 목적지 객체, 또는 상기 3D 환경의 상호작용들을 시뮬레이팅하는 데 사용되는 속성들을 포함함 ―;
    상기 어포던스들에 기반하여 상기 타겟 가상 객체의 복제물을 포지셔닝하기 위한 파라미터들의 값들을 계산하는 단계;
    상기 타겟 가상 객체의 복제물을 포지셔닝하기 위한 파라미터들의 값들에 기반하여, 상기 타겟 가상 객체의 복제물에 대한 제2 포지션 및 제2 배향 및 상기 타겟 가상 객체의 복제물의 움직임을 결정하는 단계; 및
    상기 제2 포지션 및 상기 제2 배향에서의 상기 타겟 가상 객체의 복제물과, 상기 제1 포지션 및 상기 제1 배향으로부터 상기 제2 포지션 및 상기 제2 배향에 도달하기 위한 상기 타겟 가상 객체의 복제물의 움직임을 렌더링하는 단계를 포함하고,
    상기 방법은,
    상기 목적지 객체로부터 상기 타겟 가상 객체의 복제물을 분리하라는 표시를 수신하는 단계 ― 상기 표시는 상기 사용자의 현재 포지션의 변화와 연관됨 ―;
    상기 수신된 표시에 적어도 부분적으로 기반하여, 상기 타겟 가상 객체의 복제물을 분리하기 위한 임계 조건이 만족되는지 여부를 결정하는 단계;
    상기 임계 조건이 만족된다는 결정에 대한 응답으로:
    상기 목적지 객체로부터 상기 타겟 가상 객체의 복제물을 분리하는 단계;
    상기 타겟 가상 객체의 복제물을 상기 제2 포지션으로부터 제3 포지션으로 이동시키는 단계; 및
    상기 제3 포지션에서 상기 타겟 가상 객체의 복제물을 렌더링하는 단계
    를 더 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법.
  15. 제14 항에 있어서,
    상기 타겟 가상 객체의 복제물을 포지셔닝하는 것은, 상기 타겟 가상 객체의 복제물을 상기 목적지 객체에 부착하는 것 또는 상기 타겟 가상 객체의 복제물을 배향시키는 것 중 적어도 하나를 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법.
  16. 제14 항에 있어서,
    상기 목적지 객체는 물리적 객체인,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법.
  17. 삭제
  18. 삭제
  19. 제14 항에 있어서,
    상기 타겟 가상 객체의 복제물에는 하나 이상의 물리적 속성들이 할당되고, 상기 타겟 가상 객체의 복제물의 움직임은 상기 타겟 가상 객체의 물리적 속성들에 기반하여 상기 타겟 가상 객체, 상기 목적지 객체 및 상기 3D 환경의 상호작용들을 시뮬레이팅함으로써 결정되는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법.
  20. 제19 항에 있어서,
    상기 타겟 가상 객체의 복제물에 할당된 상기 하나 이상의 물리적 속성들은 질량(mass), 크기, 밀도, 페이즈(phase), 경도(hardness), 탄성, 또는 전자기 특성 중 적어도 하나를 포함하는,
    3D 환경에서 가상 객체를 자동적으로 재포지셔닝하기 위한 방법.
KR1020197006686A 2016-08-11 2017-08-09 3-차원 공간에서의 가상 객체의 자동적인 배치 KR102195352B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662373693P 2016-08-11 2016-08-11
US201662373692P 2016-08-11 2016-08-11
US62/373,692 2016-08-11
US62/373,693 2016-08-11
PCT/US2017/046034 WO2018031621A1 (en) 2016-08-11 2017-08-09 Automatic placement of a virtual object in a three-dimensional space

Publications (2)

Publication Number Publication Date
KR20190038886A KR20190038886A (ko) 2019-04-09
KR102195352B1 true KR102195352B1 (ko) 2020-12-24

Family

ID=61160256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197006686A KR102195352B1 (ko) 2016-08-11 2017-08-09 3-차원 공간에서의 가상 객체의 자동적인 배치

Country Status (9)

Country Link
US (5) US10627625B2 (ko)
EP (1) EP3497676A4 (ko)
JP (4) JP6795683B2 (ko)
KR (1) KR102195352B1 (ko)
CN (2) CN109804334B (ko)
AU (2) AU2017311296B2 (ko)
CA (1) CA3033344A1 (ko)
IL (4) IL303843B2 (ko)
WO (1) WO2018031621A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230048821A (ko) * 2021-10-05 2023-04-12 가온미디어 주식회사 클론객체를 이용하는 ar 콘텐츠 렌더링 처리 방법

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US20180046352A1 (en) * 2016-08-09 2018-02-15 Matthew Johnson Virtual cursor movement
CN109804334B (zh) 2016-08-11 2022-07-15 奇跃公司 用于三维空间中虚拟对象的自动放置的系统和方法
US10678397B2 (en) * 2016-09-26 2020-06-09 Htc Corporation Method for providing demonstration information in simulation environment, and associated simulation system
US20180150204A1 (en) * 2016-11-30 2018-05-31 Google Inc. Switching of active objects in an augmented and/or virtual reality environment
US11841917B2 (en) * 2017-03-07 2023-12-12 Enemy Tree LLC Digital multimedia pinpoint bookmark device, method, and system
US10627895B2 (en) * 2017-03-21 2020-04-21 Lenovo (Singapore) Pte Ltd Providing a virtual control
KR20240046613A (ko) 2017-04-19 2024-04-09 매직 립, 인코포레이티드 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집
IL301087A (en) 2017-05-01 2023-05-01 Magic Leap Inc Adapting content to a three-dimensional spatial environment
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
GB2567172A (en) * 2017-10-04 2019-04-10 Nokia Technologies Oy Grouping and transport of audio objects
AU2018353008B2 (en) 2017-10-17 2023-04-20 Magic Leap, Inc. Mixed reality spatial audio
US10712899B2 (en) * 2017-10-17 2020-07-14 Microsoft Technology Licensing, Llc Human-machine interface tethered to a user position in a three-dimensional VR or AR environment
US10777006B2 (en) * 2017-10-23 2020-09-15 Sony Interactive Entertainment Inc. VR body tracking without external sensors
US11164088B2 (en) * 2017-10-27 2021-11-02 International Business Machines Corporation Interactive feedback and assessment experience
US10671238B2 (en) * 2017-11-17 2020-06-02 Adobe Inc. Position-dependent modification of descriptive content in a virtual reality environment
CN108022301B (zh) * 2017-11-23 2020-05-19 腾讯科技(上海)有限公司 一种图像处理方法、装置以及存储介质
KR20230108356A (ko) 2017-12-22 2023-07-18 매직 립, 인코포레이티드 혼합 현실 시스템에서 가상 콘텐츠를 관리하고 디스플레이하기위한 방법들 및 시스템
US10665023B2 (en) * 2017-12-26 2020-05-26 Disney Enterprises, Inc. System and method for providing improved augmented reality content
US11014242B2 (en) * 2018-01-26 2021-05-25 Microsoft Technology Licensing, Llc Puppeteering in augmented reality
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
US10540941B2 (en) * 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
CN116781827A (zh) * 2018-02-15 2023-09-19 奇跃公司 混合现实虚拟混响
CA3091026A1 (en) 2018-02-22 2019-08-29 Magic Leap, Inc. Object creation with physical manipulation
CA3089646A1 (en) 2018-02-22 2019-08-20 Magic Leap, Inc. Browser for mixed reality systems
EP3547704A1 (en) 2018-03-30 2019-10-02 Thomson Licensing Method, apparatus and stream for volumetric video format
US11182964B2 (en) * 2018-04-30 2021-11-23 Apple Inc. Tangibility visualization of virtual objects within a computer-generated reality environment
US20190340821A1 (en) * 2018-05-04 2019-11-07 Microsoft Technology Licensing, Llc Multi-surface object re-mapping in three-dimensional use modes
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
WO2019222255A1 (en) * 2018-05-14 2019-11-21 Sri International Computer aided inspection system and methods
JP7341166B2 (ja) 2018-05-22 2023-09-08 マジック リープ, インコーポレイテッド ウェアラブルシステムのためのトランスモード入力融合
US10984600B2 (en) 2018-05-25 2021-04-20 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US10818093B2 (en) 2018-05-25 2020-10-27 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
EP3803688A4 (en) 2018-06-05 2021-08-04 Magic Leap, Inc. MATCHING CONTENT WITH A 3D SPATIAL ENVIRONMENT
WO2019236344A1 (en) 2018-06-07 2019-12-12 Magic Leap, Inc. Augmented reality scrollbar
US10748346B2 (en) 2018-06-08 2020-08-18 Microsoft Technology Licensing, Llc Placing and solving constraints on a 3D environment
US10747302B2 (en) * 2018-06-08 2020-08-18 Facebook Technologies, Llc Artificial reality interaction plane
CN112513785A (zh) 2018-06-08 2021-03-16 奇跃公司 具有自动表面选择放置和内容取向放置的增强现实观看器
US10549186B2 (en) * 2018-06-26 2020-02-04 Sony Interactive Entertainment Inc. Multipoint SLAM capture
US10872474B2 (en) * 2018-06-29 2020-12-22 Dentsply Sirona Inc. Method and system for dynamic adjustment of a model
US10692299B2 (en) 2018-07-31 2020-06-23 Splunk Inc. Precise manipulation of virtual object position in an extended reality environment
US10909772B2 (en) 2018-07-31 2021-02-02 Splunk Inc. Precise scaling of virtual objects in an extended reality environment
JP7445642B2 (ja) 2018-08-13 2024-03-07 マジック リープ, インコーポレイテッド クロスリアリティシステム
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
WO2020037312A1 (en) * 2018-08-17 2020-02-20 Matrix Analytics Corporation System and method for fabricating decorative surfaces
US11094079B2 (en) 2018-08-28 2021-08-17 Facebook Technologies, Llc Determining a pose of an object from RGB-D images
US11348316B2 (en) * 2018-09-11 2022-05-31 Apple Inc. Location-based virtual element modality in three-dimensional content
WO2020059263A1 (ja) * 2018-09-21 2020-03-26 富士フイルム株式会社 画像提案装置、画像提案方法及び画像提案プログラム
US10573019B1 (en) * 2018-09-25 2020-02-25 Ebay Inc. Augmented reality digital content search and sizing techniques
US11308716B1 (en) * 2018-09-27 2022-04-19 Apple Inc. Tailoring a computer-generated reality experience based on a recognized object
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN113196209A (zh) 2018-10-05 2021-07-30 奇跃公司 在任何位置渲染位置特定的虚拟内容
KR20200052540A (ko) * 2018-11-07 2020-05-15 (주)리얼감 밀도를 이용한 포스 피드백 방법 및 시스템, 기계로 읽을 수 있는 저장 매체
US11032607B2 (en) * 2018-12-07 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for embedding visual advertisements in video content
US10778953B2 (en) * 2018-12-10 2020-09-15 Universal City Studios Llc Dynamic convergence adjustment in augmented reality headsets
US10902685B2 (en) * 2018-12-13 2021-01-26 John T. Daly Augmented reality remote authoring and social media platform and system
JP2020098381A (ja) * 2018-12-17 2020-06-25 未來市股▲ふん▼有限公司 測位方法及び現実感提示装置
WO2020163549A1 (en) * 2019-02-08 2020-08-13 Ocelot Laboratories Llc Object positioning and movement in three dimensional content
US10852906B2 (en) 2019-02-15 2020-12-01 Microsoft Technology Licensing, Llc System and method for identifying locations for virtual items within a physical environment
KR102653252B1 (ko) * 2019-02-21 2024-04-01 삼성전자 주식회사 외부 객체의 정보에 기반하여 시각화된 인공 지능 서비스를 제공하는 전자 장치 및 전자 장치의 동작 방법
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US10846898B2 (en) * 2019-03-28 2020-11-24 Nanning Fugui Precision Industrial Co., Ltd. Method and device for setting a multi-user virtual reality chat environment
US11263457B2 (en) * 2019-04-01 2022-03-01 Houzz, Inc. Virtual item display simulations
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
US11804014B1 (en) 2019-04-22 2023-10-31 Apple Inc. Context-based application placement
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
WO2020243056A1 (en) * 2019-05-29 2020-12-03 Raitonsa Dynamics Llc Generating content for physical elements
CN110118974B (zh) * 2019-05-31 2021-05-25 哈尔滨工业大学(深圳) 一种基于三维激光增稠机构的多帧融合方法
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN110264818B (zh) * 2019-06-18 2021-08-24 国家电网有限公司 一种基于增强现实的机组进水阀拆装训练方法
US11029805B2 (en) * 2019-07-10 2021-06-08 Magic Leap, Inc. Real-time preview of connectable objects in a physically-modeled virtual space
US11107291B2 (en) * 2019-07-11 2021-08-31 Google Llc Traversing photo-augmented information through depth using gesture and UI controlled occlusion planes
US11244516B2 (en) * 2019-09-16 2022-02-08 Magic Leap, Inc. Object interactivity in virtual space
WO2021076754A1 (en) 2019-10-15 2021-04-22 Magic Leap, Inc. Cross reality system with localization service
JP2022551734A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 複数のデバイスタイプをサポートするクロスリアリティシステム
JP2022551735A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 無線フィンガプリントを用いたクロスリアリティシステム
JP7446420B2 (ja) 2019-10-25 2024-03-08 マジック リープ, インコーポレイテッド 反響フィンガプリント推定
JP2023504775A (ja) 2019-11-12 2023-02-07 マジック リープ, インコーポレイテッド 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
US11830460B2 (en) * 2019-11-14 2023-11-28 Magic Leap, Inc. Systems and methods for virtual and augmented reality
EP3850468B1 (en) * 2019-12-04 2024-01-31 Google LLC Snapping range for augmented reality objects
US11562542B2 (en) 2019-12-09 2023-01-24 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
WO2021137348A1 (ko) * 2019-12-31 2021-07-08 엔센스코리아주식회사 복수의 단말에서 3차원 공간정보를 공유하기 위한 공간맵 생성과 명령실행점 독출방법
WO2021137349A1 (ko) * 2019-12-31 2021-07-08 엔센스코리아주식회사 환경 기반 실-가상 정합 사물 배치를 위한 3차원 공간인식과 2차원 인지적 영역분할의 결합 방법 및 시스템
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11340695B2 (en) * 2020-01-24 2022-05-24 Magic Leap, Inc. Converting a 2D positional input into a 3D point in space
US11055925B1 (en) * 2020-01-31 2021-07-06 Splunk Inc. Techniques for placement of extended reality objects relative to physical objects in an extended reality environment
EP4104034A4 (en) 2020-02-10 2024-02-21 Magic Leap Inc POSITIONING BODY-CENTRIC CONTENT RELATIVE TO A THREE-DIMENSIONAL CONTAINER IN A MIXED REALITY ENVIRONMENT
US11562525B2 (en) 2020-02-13 2023-01-24 Magic Leap, Inc. Cross reality system with map processing using multi-resolution frame descriptors
WO2021163306A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with accurate shared maps
JP2023514207A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 位置特定に関するジオロケーション情報の優先順位化を伴うクロスリアリティシステム
CN115461787A (zh) 2020-02-26 2022-12-09 奇跃公司 具有快速定位的交叉现实系统
US11354869B2 (en) * 2020-03-17 2022-06-07 Apple Inc. XR preferred movement along planes
JP7425641B2 (ja) 2020-03-25 2024-01-31 鹿島建設株式会社 測距装置およびプログラム
KR20210125656A (ko) * 2020-04-08 2021-10-19 삼성전자주식회사 오브젝트들을 배치하는 이미지를 생성하는 방법 및 장치
CN111273450B (zh) * 2020-04-14 2020-12-08 湖南翰坤实业有限公司 一种vr体验头盔及其平衡调节方法
EP4143794A4 (en) 2020-04-29 2024-04-17 Magic Leap Inc CROSS-REALITY SYSTEM FOR LARGE-SCALE ENVIRONMENTS
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11325043B2 (en) 2020-05-15 2022-05-10 Microsoft Technology Licensing, Llc Utilizing multiple input sources for generating gameplay locations
CN111627106B (zh) * 2020-05-29 2023-04-28 北京字节跳动网络技术有限公司 人脸模型重构方法、装置、介质和设备
GB2595860B (en) * 2020-06-08 2024-05-15 Advanced Risc Mach Ltd Augmented reality system
WO2021263018A1 (en) * 2020-06-25 2021-12-30 The Regents Of The University Of California Contextual augmentation using scene graphs
CN111984160B (zh) * 2020-06-28 2021-12-10 中国科学院软件研究所 一种基于人工势能场的目标选择方法及电子装置
CN111880652A (zh) * 2020-07-16 2020-11-03 北京悉见科技有限公司 用于移动ar对象位置的方法、装置及存储介质
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
EP4211542A1 (en) * 2020-09-11 2023-07-19 Apple Inc. Method of interacting with objects in an environment
CN116917850A (zh) * 2020-09-23 2023-10-20 苹果公司 布置虚拟对象
US11816759B1 (en) * 2020-09-24 2023-11-14 Apple Inc. Split applications in a multi-user communication session
CN116490250A (zh) * 2020-09-25 2023-07-25 苹果公司 环境的非对称呈现
KR102562285B1 (ko) 2020-09-25 2023-08-02 애플 인크. 사용자 인터페이스와 연관된 몰입을 조정 및/또는 제어하기 위한 방법
KR20220045799A (ko) 2020-10-06 2022-04-13 삼성전자주식회사 전자 장치 및 그 동작 방법
US11733861B2 (en) * 2020-11-20 2023-08-22 Trimble Inc. Interpreting inputs for three-dimensional virtual spaces from touchscreen interface gestures to improve user interface functionality
US12008152B1 (en) * 2020-12-31 2024-06-11 Snap Inc. Distance determination for mixed reality interaction
JP2024506630A (ja) 2021-02-08 2024-02-14 サイトフル コンピューターズ リミテッド 生産性のためのエクステンデッド・リアリティ
JP2024509722A (ja) 2021-02-08 2024-03-05 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるユーザ相互作用
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
CN112991551A (zh) * 2021-02-10 2021-06-18 深圳市慧鲤科技有限公司 图像处理方法、装置、电子设备和存储介质
US11995230B2 (en) 2021-02-11 2024-05-28 Apple Inc. Methods for presenting and sharing content in an environment
US11836871B2 (en) * 2021-03-22 2023-12-05 Apple Inc. Indicating a position of an occluded physical object
EP4323852A1 (en) * 2021-04-13 2024-02-21 Apple Inc. Methods for providing an immersive experience in an environment
US20220337709A1 (en) * 2021-04-15 2022-10-20 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US11670045B2 (en) * 2021-05-07 2023-06-06 Tencent America LLC Method and apparatus for constructing a 3D geometry
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
US20230040610A1 (en) * 2021-08-06 2023-02-09 Apple Inc. Object placement for electronic devices
EP4343516A4 (en) 2021-08-23 2024-04-24 Samsung Electronics Co Ltd PORTABLE ELECTRONIC DEVICE HAVING AUGMENTED REALITY OBJECT DISPLAYED THEREOF AND METHOD OF OPERATING THE SAME
JPWO2023037626A1 (ko) * 2021-09-10 2023-03-16
KR102570735B1 (ko) * 2021-11-01 2023-09-04 국민대학교산학협력단 주변 환경 구조와 사용자 선호도를 반영한 인공지능 기반의 증강현실 아바타 포즈 제안 장치 및 방법
US20230135974A1 (en) 2021-11-04 2023-05-04 Microsoft Technology Licensing, Llc Multi-factor intention determination for augmented reality (ar) environment control
WO2023085739A1 (en) * 2021-11-10 2023-05-19 Samsung Electronics Co., Ltd. Method and system for virtual object positioning in an augmented reality or virtual reality environment
US11682180B1 (en) * 2021-12-09 2023-06-20 Qualcomm Incorporated Anchoring virtual content to physical surfaces
US11928783B2 (en) * 2021-12-30 2024-03-12 Snap Inc. AR position and orientation along a plane
US11887260B2 (en) 2021-12-30 2024-01-30 Snap Inc. AR position indicator
US11954762B2 (en) 2022-01-19 2024-04-09 Snap Inc. Object replacement system
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
US20230334795A1 (en) 2022-01-25 2023-10-19 Multinarity Ltd Dual mode presentation of user interface elements
US20230245396A1 (en) * 2022-02-01 2023-08-03 Samsung Electronics Co., Ltd. System and method for three-dimensional scene reconstruction and understanding in extended reality (xr) applications
CN114363557B (zh) * 2022-03-04 2022-06-24 西安电子科技大学 一种面向语义保真的虚拟会议方法及三维虚拟会议系统
TW202336689A (zh) * 2022-03-11 2023-09-16 緯創資通股份有限公司 虛擬視窗配置裝置、虛擬視窗配置方法及虛擬視窗配置系統
US11868583B2 (en) * 2022-03-28 2024-01-09 Google Llc Tangible six-degree-of-freedom interfaces for augmented reality
US20230377279A1 (en) * 2022-05-19 2023-11-23 Disney Enterprises, Inc. Space and content matching for augmented and mixed reality
WO2024029784A1 (ko) * 2022-08-04 2024-02-08 삼성전자 주식회사 가상 오브젝트를 표시하는 웨어러블 전자 장치 및 이의 제어 방법
US20240046577A1 (en) * 2022-08-05 2024-02-08 Samsung Electronics Co., Ltd. Video See-Through Augmented Reality
CN115129163B (zh) * 2022-08-30 2022-11-11 环球数科集团有限公司 一种虚拟人行为交互系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140333666A1 (en) * 2013-05-13 2014-11-13 Adam G. Poulos Interactions of virtual objects with surfaces

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
FR2861858B1 (fr) * 2003-10-29 2014-09-05 Snecma Moteurs Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions entre l'objet articule et l'environnement
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
JP5305561B2 (ja) 2006-02-22 2013-10-02 任天堂株式会社 ゲームプログラムおよびゲーム装置
EP2333651B1 (en) * 2009-12-11 2016-07-20 Dassault Systèmes Method and system for duplicating an object using a touch-sensitive display
KR101114750B1 (ko) 2010-01-29 2012-03-05 주식회사 팬택 다차원 영상을 이용한 사용자 인터페이스 장치
JP2012058968A (ja) * 2010-09-08 2012-03-22 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
WO2012088478A1 (en) 2010-12-24 2012-06-28 Chunyu Gao An ergonomic head mounted display device and optical system
JP5799521B2 (ja) * 2011-02-15 2015-10-28 ソニー株式会社 情報処理装置、オーサリング方法及びプログラム
US8736583B2 (en) 2011-03-29 2014-05-27 Intel Corporation Virtual links between different displays to present a single virtual object
KR101591579B1 (ko) * 2011-03-29 2016-02-18 퀄컴 인코포레이티드 증강 현실 시스템들에서 실세계 표면들에의 가상 이미지들의 앵커링
EP2705435B8 (en) 2011-05-06 2017-08-23 Magic Leap, Inc. Massive simultaneous remote digital presence world
EP2760363A4 (en) 2011-09-29 2015-06-24 Magic Leap Inc TACTILE GLOVE FOR HUMAN COMPUTER INTERACTION
US20130104085A1 (en) 2011-10-21 2013-04-25 Digital Artforms, Inc. Systems and methods for human-computer interaction using a two handed interface
KR101944846B1 (ko) 2011-10-28 2019-02-01 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
KR102376368B1 (ko) 2011-11-23 2022-03-17 매직 립, 인코포레이티드 3차원 가상 및 증강 현실 디스플레이 시스템
US20130215109A1 (en) * 2012-02-22 2013-08-22 Silka Miesnieks Designating Real World Locations for Virtual World Control
KR102095330B1 (ko) 2012-04-05 2020-03-31 매직 립, 인코포레이티드 능동 포비에이션 능력을 갖는 와이드-fov(field of view) 이미지 디바이스들
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
CN107817555A (zh) 2012-06-11 2018-03-20 奇跃公司 使用波导反射器阵列投射器的多深度平面三维显示器
US9740006B2 (en) 2012-09-11 2017-08-22 Magic Leap, Inc. Ergonomic head mounted display device and optical system
US10503359B2 (en) * 2012-11-15 2019-12-10 Quantum Interface, Llc Selection attractive interfaces, systems and apparatuses including such interfaces, methods for making and using same
US20140152558A1 (en) 2012-11-30 2014-06-05 Tom Salter Direct hologram manipulation using imu
CN105122105B (zh) 2013-01-15 2018-06-15 奇跃公司 超高分辨率扫描光纤显示器
US20140258942A1 (en) 2013-03-05 2014-09-11 Intel Corporation Interaction of multiple perceptual sensing inputs
EP2967322A4 (en) 2013-03-11 2017-02-08 Magic Leap, Inc. System and method for augmented and virtual reality
US20140267228A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Mapping augmented reality experience to various environments
JP6326482B2 (ja) 2013-03-15 2018-05-16 マジック リープ, インコーポレイテッドMagic Leap,Inc. 表示システムおよび方法
US9367136B2 (en) 2013-04-12 2016-06-14 Microsoft Technology Licensing, Llc Holographic object feedback
US9245387B2 (en) * 2013-04-12 2016-01-26 Microsoft Technology Licensing, Llc Holographic snap grid
US9874749B2 (en) * 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
WO2015013404A1 (en) * 2013-07-23 2015-01-29 Intel Corporation Techniques for touch and non-touch user interaction input
AU2014329562A1 (en) 2013-10-01 2016-04-28 Quantum Interface, Llc. Selection attractive interfaces, systems and apparatuses including such interfaces, methods for making and using same
KR102462848B1 (ko) 2013-10-16 2022-11-03 매직 립, 인코포레이티드 조절가능한 동공간 거리를 가지는 가상 또는 증강 현실 헤드셋들
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
CN107272199B (zh) 2013-11-27 2023-04-07 奇跃公司 虚拟和增强现实系统与方法
US20150193982A1 (en) 2014-01-03 2015-07-09 Google Inc. Augmented reality overlays using position and orientation to facilitate interactions between electronic devices
JP6525436B2 (ja) 2014-01-31 2019-06-05 マジック リープ, インコーポレイテッドMagic Leap,Inc. 多焦点表示システムおよび方法
WO2015117043A1 (en) 2014-01-31 2015-08-06 Magic Leap, Inc. Multi-focal display system and method
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR102173699B1 (ko) 2014-05-09 2020-11-03 아이플루언스, 인크. 안구 신호들의 인식 및 지속적인 생체 인증을 위한 시스템과 방법들
WO2015184413A1 (en) 2014-05-30 2015-12-03 Magic Leap, Inc. Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
US9778814B2 (en) * 2014-12-19 2017-10-03 Microsoft Technology Licensing, Llc Assisted object placement in a three-dimensional visualization system
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
US9984510B1 (en) * 2016-03-02 2018-05-29 Meta Company System and method for modifying virtual elements in a virtual environment using hierarchical anchors incorporated into virtual elements
US10373381B2 (en) * 2016-03-30 2019-08-06 Microsoft Technology Licensing, Llc Virtual object manipulation within physical environment
CN109804334B (zh) 2016-08-11 2022-07-15 奇跃公司 用于三维空间中虚拟对象的自动放置的系统和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140333666A1 (en) * 2013-05-13 2014-11-13 Adam G. Poulos Interactions of virtual objects with surfaces

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230048821A (ko) * 2021-10-05 2023-04-12 가온미디어 주식회사 클론객체를 이용하는 ar 콘텐츠 렌더링 처리 방법
KR102625729B1 (ko) * 2021-10-05 2024-01-16 가온그룹 주식회사 클론객체를 이용하는 ar 콘텐츠 렌더링 처리 방법

Also Published As

Publication number Publication date
IL292911B2 (en) 2023-11-01
IL303843B2 (en) 2024-06-01
WO2018031621A1 (en) 2018-02-15
CN109804334B (zh) 2022-07-15
IL310337A (en) 2024-03-01
IL303843B1 (en) 2024-02-01
JP7049393B2 (ja) 2022-04-06
EP3497676A4 (en) 2020-03-25
AU2017311296B2 (en) 2021-12-16
AU2017311296A1 (en) 2019-03-07
US10921599B2 (en) 2021-02-16
US20210208404A1 (en) 2021-07-08
CN115202482A (zh) 2022-10-18
US10627625B2 (en) 2020-04-21
EP3497676A1 (en) 2019-06-19
US20200218074A1 (en) 2020-07-09
CN109804334A (zh) 2019-05-24
JP6795683B2 (ja) 2020-12-02
US20180045963A1 (en) 2018-02-15
US11808944B2 (en) 2023-11-07
KR20190038886A (ko) 2019-04-09
JP2019532382A (ja) 2019-11-07
IL264690B (en) 2022-06-01
AU2022201747A1 (en) 2022-04-07
JP2022082641A (ja) 2022-06-02
US20240012252A1 (en) 2024-01-11
CA3033344A1 (en) 2018-02-15
US11287659B2 (en) 2022-03-29
IL292911A (en) 2022-07-01
JP2024029008A (ja) 2024-03-05
JP2020161158A (ja) 2020-10-01
IL292911B1 (en) 2023-07-01
JP7407219B2 (ja) 2023-12-28
IL303843A (en) 2023-08-01
US20220179220A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
KR102195352B1 (ko) 3-차원 공간에서의 가상 객체의 자동적인 배치
JP7186913B2 (ja) 姿勢および複数のdofコントローラを用いた3d仮想オブジェクトとの相互作用
KR102668725B1 (ko) 증강 현실 시스템들에 대한 가상 레티클
KR102413561B1 (ko) 혼합 현실 환경의 가상 사용자 입력 콘트롤들
JP7118007B2 (ja) 視野周辺の視覚的背光
JP2023503257A (ja) パス可能世界のマッピングおよび位置特定
KR20240090488A (ko) 증강 현실 시스템들에 대한 가상 레티클

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant