KR20190141696A - 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집 - Google Patents

웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집 Download PDF

Info

Publication number
KR20190141696A
KR20190141696A KR1020197033626A KR20197033626A KR20190141696A KR 20190141696 A KR20190141696 A KR 20190141696A KR 1020197033626 A KR1020197033626 A KR 1020197033626A KR 20197033626 A KR20197033626 A KR 20197033626A KR 20190141696 A KR20190141696 A KR 20190141696A
Authority
KR
South Korea
Prior art keywords
user
input
virtual object
text
wearable system
Prior art date
Application number
KR1020197033626A
Other languages
English (en)
Other versions
KR102652922B1 (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 매직 립, 인코포레이티드
Priority to KR1020247010121A priority Critical patent/KR20240046613A/ko
Publication of KR20190141696A publication Critical patent/KR20190141696A/ko
Application granted granted Critical
Publication of KR102652922B1 publication Critical patent/KR102652922B1/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
    • 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/0179Display position adjusting means not related to the information to be displayed
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B6/00Light guides; Structural details of arrangements comprising light guides and other optical elements, e.g. couplings
    • G02B6/0001Light guides; Structural details of arrangements comprising light guides and other optical elements, e.g. couplings specially adapted for lighting devices or systems
    • G02B6/0011Light guides; Structural details of arrangements comprising light guides and other optical elements, e.g. couplings specially adapted for lighting devices or systems the light guides being planar or of plate-like form
    • G02B6/0075Arrangements of multiple light guides
    • G02B6/0076Stacked arrangements of multiple light guides of the same or different cross-sectional area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0127Head-up displays characterised by optical features comprising devices increasing the depth of field
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
  • Macromonomer-Based Addition Polymer (AREA)

Abstract

웨어러블 시스템들 및 방법들의 예들은 실행되어야 하는 커맨드 및 동작되어야 하는 3D(three-dimensional) 환경 내의 오브젝트들을 결정하기 위해서 다수의 입력들(예컨대, 제스처, 머리 포즈, 시선, 음성, 및/또는 환경 팩터들(예컨대, 위치))을 사용할 수 있다. 사용자가 텍스트와 상호작용(이를테면, 예컨대 텍스트를 구성하는 것, 선택하는 것, 또는 편집하는 것)하도록 허가하기 위해서, 다수의 입력들이 웨어러블 시스템에 의해 또한 사용될 수 있다.

Description

웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집
[0001] 본 출원은, 2017년 4월 19일자로 출원되고 발명의 명칭이 "MULTI-MODAL CONTEXTUAL TASK EXECUTION FOR AUGMENTED REALITY"인 미국 가출원 제62/487,364호, 및 2017년 12월 22일자로 출원되고 발명의 명칭이 "MULTI-MODAL TEXT COMPOSITION AND EDITING FOR AUGMENTED REALITY"인 미국 가출원 제62/609,647호를 35 U.S.C. §119(e) 하에서 우선권으로 주장하며, 이로써 이 출원들의 개시내용들은 그 전체가 인용에 의해 본원에 포함된다.
[0002] 본 개시내용은 가상 현실 및 증강 현실 이미징 및 시각화 시스템들에 관한 것으로, 보다 구체적으로 사용자 입력들의 조합을 사용하여 3D(three-dimensional) 환경에서 가상 오브젝트들 또는 텍스트와 상호작용하는 것에 관한 것이다.
[0003] 현대 컴퓨팅 및 디스플레이 기술들은 소위 "가상 현실", "증강 현실", 또는 "혼합 현실" 경험들을 위한 시스템들의 개발을 가능하게 했으며, 여기서 디지털적으로 재생된 이미지들 또는 이미지들의 일부들은, 그들이 실제인 것으로 보이거나, 실제로서 지각될 수 있는 방식으로 사용자에게 제시된다. 가상 현실, 또는 "VR" 시나리오는 전형적으로 다른 실제 실세계 시각 입력에 대한 투명도 없이 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반하고; 증강 현실, 또는 "AR" 시나리오는 전형적으로 사용자 주변의 실제 세계의 시각화에 대한 증강으로서 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반하고; 혼합 현실, 또는 "MR"은, 실제 및 가상 세계들을 병합하여 물리적 및 가상 오브젝트들이 공존하고 실시간으로 상호작용하는 새로운 환경을 생성하는 것과 관련된다. 밝혀진 바와 같이, 인간 시각 지각 시스템은 매우 복잡하고, 다른 가상 또는 실세계 이미저리 엘리먼트들 사이에서 가상 이미지 엘리먼트들의 편안하고, 자연스런 느낌이고, 풍부한 프리젠테이션을 가능하게 하는 VR, AR 또는 MR 기술을 생성하는 것은 난제이다. 본원에 개시된 시스템들 및 방법들은 VR, AR 및 MR 기술에 관련된 다양한 난제들을 처리한다.
[0004] 본원에서 설명된 웨어러블 시스템들 및 방법들의 예들은 다수의 입력들(예컨대, 제스처, 머리 포즈, 시선, 음성 또는 환경 팩터들(예컨대, 위치))을 사용하여 실행되어야 하는 커맨드 및 실행되어야 하는 3D(three dimensional) 환경 내의 오브젝트들을 결정할 수 있다. 다수의 입력들은 또한 웨어러블 디바이스에 의해 사용되어 사용자가 예컨대, 텍스트를 구성하고, 선택하거나 편집하는 것과 같이 텍스트와 상호작용하도록 허가할 수 있다.
[0005] 예컨대, 웨어러블 디스플레이 디바이스는 임무의 실행을 위해 멀티모달 입력들을 해석하도록 구성될 수 있다. 웨어러블 디바이스는 다수의 입력들 이를테면, 머리 포즈, 시선, 손 제스처, 음성 커맨드들, 환경 팩터들(예컨대, 사용자의 위치 또는 사용자들 주변의 오브젝트들)의 조합을 사용하여, 웨어러블 디바이스가 사용자의 환경 내의 어느 가상 객체에 대해 동작할지, 가상 객체에 대해 웨어러블 디바이스가 어떤 타입의 동작들을 실행할지 그리고 웨어러블 디바이스가 동작들을 어떻게 실행할지를 결정할 수 있다.
[0006] 다른 예로서, 웨어러블 디바이스는 텍스트와 상호작용하기 위해 멀티모달 입력들을 해석하도록 구성될 수 있다. 웨어러블 디바이스는 다수의 입력들 이를테면, 음성 입력들, 시선, 손 제스처들 및 토템 입력들의 조합을 사용하여, 텍스트를 구성(예컨대, 입력)하고 편집할 수 있다. 웨어러블 디바이스는 사용자가, 텍스트를 시스템에 지시하기 위해 제1 입력 모드(예컨대, 음성 입력들)를 활용하고, 편집할 텍스트의 부분들을 선택하기 위해 제2 및 상이한 입력 모드(예컨대, 시선 입력 또는 신체 제스처들)을 이용하고 선택된 텍스트를 편집하기 위해 제1 모드, 제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는 FOR(field of regard), 세계 카메라의 FOV(field of view), 사용자의 시야 및 사용자의 응시 필드의 예를 개략적으로 예시한다.
[0020] 도 12b는 사용자의 시야에서의 가상 오브젝트들 및 관심 필드에서의 가상 오브젝트들의 예를 개략적으로 예시한다.
[0021] 도 13은 하나의 사용자 입력 모드를 사용하여 가상 오브젝트와 상호작용하는 예들을 예시한다.
[0022] 도 14는 사용자 입력 모드들의 조합을 사용하여 가상 오브젝트를 선택하는 예들을 예시한다.
[0023] 도 15는 직접적 사용자 입력들의 조합을 사용하여 가상 오브젝트와 상호작용하는 예를 예시한다.
[0024] 도 16은 입력 모드들을 집계하기 위한 예시적인 컴퓨팅 환경을 예시한다.
[0025] 도 17a는 래티스 트리 분석을 이용하여 타겟 가상 오브젝트를 식별하는 예를 예시한다.
[0026] 도 17b는 멀티모달 입력들에 기반하여 타겟 사용자 인터페이스 동작을 결정하는 예를 예시한다.
[0027] 도 17c는 가상 오브젝트에 대한 입력 모드들과 연관된 신뢰도 스코어들을 집계하는 예를 예시한다.
[0028] 도 18a 및 18b는 사용자의 FOV 내의 오브젝트들에 대한 신뢰도 스코어들을 계산하는 예들을 예시한다.
[0029] 도 19a 및 19b는 멀티모달 입력들을 사용하여 물리적 환경과 상호작용하는 예들을 예시한다.
[0030] 도 20은 멀티모달 입력들에 기반하여 가상 오브젝트의 자동으로 리사이징하는 예를 예시한다.
[0031] 도 21은 오브젝트들의 위치들에 기반하여 타겟 가상 오브젝트를 식별하는 예를 예시한다.
[0032] 도 22a 및 22b는 직접적 및 간접적 입력들의 조합에 기반하여 사용자의 환경과 상호작용하는 다른 예를 예시한다.
[0033] 도 23은 멀티모달 입력들을 사용하여 가상 오브젝트와 상호작용하는 예시적인 프로세스를 예시한다.
[0034] 도 24는 사용자 상호작용과 연관된 직접적 입력 모드들을 세팅하는 예를 예시한다.
[0035] 도 25는 멀티모달 입력에 대한 사용자 경험의 예를 예시한다.
[0036] 도 26은 다양한 북마크된 애플리케이션들을 갖는 예시적인 사용자 인터페이스를 예시한다.
[0037] 도 27은 서치 커맨드가 발행될 때의 예시적인 사용자 인터페이스를 예시한다.
[0038] 도 28a-28f는 음성 및 시선 입력들의 조합에 기반하여 텍스트를 구성하고 편집하는 예시적인 사용자 경험을 예시한다.
[0039] 도 29는 사용자 입력 디바이스로부터의 입력 및 시선에 기반하여 단어를 선택하는 예를 예시한다.
[0040] 도 30은 음성 및 시선 입력들의 조합에 기반하여 편집하기 위한 단어를 선택하는 예를 예시한다.
[0041] 도 31은 시선 및 제스처 입력들의 조합에 기반하여 편집하기 위한 단어를 선택하는 예를 예시한다.
[0042] 도 32는 시선 및 음성 입력들의 조합에 기반하여 단어를 대체하는 예를 예시한다.
[0043] 도 33은 음성 및 시선 입력들의 조합에 기반하여 단어를 변하게 하는 예를 예시한다.
[0044] 도 34는 가상 키보드를 이용하여 선택된 단어를 편집하는 예를 예시한다.
[0045] 도 35는 선택된 단어에 적용할 가능한 액션들을 디스플레이하는 예시적인 사용자 인터페이스를 예시한다.
[0046] 도 36은 멀티모달 입력들을 사용하여 어구와 상호작용하는 예를 예시한다.
[0047] 도 37a 및 37b는 텍스트와 상호작용하기 위해 멀티모달 입력들을 사용하는 추가적인 예들을 예시한다.
[0048] 도 38은 텍스트와 상호작용하기 위해 다수의 사용자 입력 모드들을 사용하는 예시적인 방법의 프로세스 흐름도이다.
[0049] 도면들 전체에 걸쳐, 참조 번호들은 참조된 엘리먼트들 사이의 대응성(correspondence)을 표시하는 데 재사용될 수 있다. 도면들은 본원에서 설명된 예시적인 실시예들을 예시하기 위해 제공되며 본 개시내용의 범위를 제한하려는 의도는 아니다.
개요
[0050] 현대의 컴퓨팅 시스템들은 다양한 사용자 상호작용들을 소유할 수 있다. 웨어러블 디바이스는 다양한 입력들을 통해 사용자에 의해 상호작용될 수 있는 데이터 엘리먼트들을 포함할 수 있는 상호작용하는 VR/AR/MR 환경을 제공할 수 있다. 현대의 컴퓨팅 시스템은 전형적으로 단일 직접적 입력에 기반하여 정해진 출력을 생성하도록 제작되었다. 예컨대, 키보드는 사용자의 손가락 스트로크들로부터 수신된 바와 같은 텍스트 입력을 중계한다. 음성 인식 애플리케이션은 직접적 입력으로서 사용자의 음성에 기반하여 실행가능한 데이터 스트링을 생성할 수 있다. 컴퓨터 마우스는 사용자의 직접적 조작(예컨대, 사용자의 손 움직임 또는 제스처)에 대한 응답으로 커서를 안내할 수 있다. 사용자가 시스템과 상호작용할 수 있는 다양한 방식들은 때때로 본원에서 사용자 입력 모드들로서 지칭된다. 예컨대, 마우스 또는 키보드를 통한 사용자 입력은 손-제스처-기반 상호작용 모드이다(그 이유는, 손 또는 키보드 상의 손 프레스 키들의 손가락들이 마우스를 이동시키기 때문임).
[0051] 그러나, 데이터가 풍부하고 동적인 상호작용 환경(예컨대, AR/VR/MR 환경)에서 키보드, 사용자 입력 디바이스, 제스처들 등과 같은 종래의 입력 기법들은 원하는 임무를 달성하기 위해 높은 정도의 특성을 요구할 수 있다. 그렇지 않고, 정밀한 입력들이 없으면, 컴퓨팅 시스템들은 높은 에러 레이트를 경험할 수 있으며 부정확한 컴퓨터 동작들이 수행되게 할 수 있다. 예컨대, 사용자가 터치패드를 사용하여 3D 공간에서 오브젝트를 이동시키려고 할 때, 사용자가 터치패드를 사용하여 목적지를 특정하지 않거나 오브젝트를 특정하지 않는 경우, 컴퓨팅 시스템들은 이동 커맨드를 정확하게 해석하지 못할 수 있다. 다른 예로서, 유일한 입력 모드로서 (예컨대, 사용자 입력 디바이스로 또는 제스처에 의해 조작되는 바와 같은) 가상 키보드를 사용하여 텍스트의 스트링을 입력하는 것은 느리고 신체적으로 피로할 수 있는데, 그 이유는 이것이 가상 키보드가 렌더링되는 공중에 또는 물리적 표면(예컨대, 책상) 상에 설명된 키들을 타이핑하기 위해 장시간의 미세한 모터 제어를 요구하기 때문이다.
[0052] 입력 커맨드에서 요구되는 특성의 정도를 감소시키고 부정밀한 커맨드와 연관된 에러 레이트를 감소시키기 위해, 본원에서 설명된 웨어러블 시스템은 예컨대, 가상 오브젝트 선택하고, 이동시키고, 리사이징거나 타겟팅하기 위한 임무와 같은 상호작용 이벤트의 실행을 위해 멀티모달 입력들을 적용하도록 프로그래밍될 수 있다. 상호작용 이벤트는 가상 오브젝트와 연관된 애플리케이션으로 하여금 실행되게 하는 것을 포함할 수 있다(예컨대, 만약 타겟 오브젝트가 미디어 플레이어라면, 상호작용 이벤트는 미디어 플레이어로 하여금 노래 또는 비디오를 플레이하게 하는 것을 포함할 수 있음). 타겟 가상 오브젝트를 선택하는 것은 타겟 가상 오브젝트와 연관된 애플리케이션을 실행하는 것을 포함할 수 있다. 멀티모달 입력들은 둘 이상의 타입들의 입력(또는 다수의 입력 채널들로부터의 입력들)을 활용하여 임무의 실행을 위한 커맨드를 생성한다. 본원에서 추가로 설명되는 바와 같이, 입력 모드들은 손 제스처들, 머리 포즈, 시선, 음성 커맨드들, 환경 입력들(예컨대, 사용자의 환경에서의 사용자 또는 오브젝트들의 포지션) 등을 포함(그러나 이에 제한되지 않음)할 수 있다. 예컨대, 사용자가 "move that there"이라고 말할 때, 웨어러블 시스템은, 이러한 멀티모달 입력들에 대한 응답으로, 어느 오브젝트가 이동되어야 하는지(예컨대, 어느 오브젝트가 "that "인지) 그리고 어느 목적지가 의도되는지(예컨대, "there")를 결정하기 위해 음성 커맨드와 함께, 다른 환경 팩터들(예컨대, 사용자의 위치 또는 사용자 주변의 오브젝트들의 위치)과 조합하여, 머리 포즈, 시선, 손 제스처들을 사용할 수 있다.
[0053] 본원에서 추가로 설명될 바와 같이, 멀티모달 입력들을 위한 기법들은 단순히 다수의 사용자 입력 모드들의 집계가 아니다. 오히려, 이러한 기법들을 사용하는 웨어러블 시스템은 웨어러블 시스템에 제공되는 (통상의 2D 상호작용들과 비교하여) 3D의 추가된 깊이 차원을 유리하게 지원할 수 있다. 추가된 차원은 추가적인 타입들의 사용자 상호작용들(예컨대, 데카르트 좌표계에서 추가적인 축을 따른 회전들 또는 움직임들)을 가능하게 할 뿐만 아니라, 정확한 결과를 제공하기 위해 사용자 입력의 높은 정도의 정밀성을 요구한다. 그러나 가상 오브젝트들과 상호작용하기 위한 사용자 입력들은 모터 제어들에 대한 사용자의 제한들로 인해 항상 정확한 것은 아니다. 통상의 입력 기법들이 2D 공간에서 사용자의 모터 제어들의 부정확성들을 교정 및 조정할 수 있지만, 이러한 부정확성들은 추가된 차원으로 인해 3D 공간에서 확대된다. 그러나 키보드 입력과 같은 통상의 입력 방법들은 3D 공간에서 이러한 부정확성들을 조정하는 데 매우 적합하진 않다. 그에 따라서, 멀티모달 입력 기법들에 의해 제공되는 하나의 이익(다른 이익들 중에서도)은 통상의 입력 방법들을, 3D 공간에서 오브젝트들과의 유동적이고 보다 정확한 상호작용들로 적응시키는 것이다.
[0054] 게다가, 유리하게는, 일부 실시예들에서, 본원에서 설명된 기법들은 웨어러블 시스템의 하드웨어 요건들 및 비용을 감소시킬 수 있다. 예컨대, 웨어러블 디바이스는, 사용자의 시선 방향 및 음성 커맨드의 멀티모달 조합에 기반하여 임무를 결정하기 위해 고해상도 눈-추적 카메라(이는 값비싸고 활용하기가 복잡할 수 있음) 그 자체를 사용하기 보다는, 임무를 실행하기 위해 음성 커맨드와 관련하여 저해상도 눈-추적 카메라들을 사용할 수 있다. 이 예에서, 사용자의 음성 커맨드의 사용은 눈-추적이 수행되는 낮은 해상도를 보상할 수 있다. 그에 따라서, 복수의 사용자 입력 모드들의 멀티모달 조합들은 단일 입력 모드의 사용보다 더 저렴하고, 덜 복잡하고, AR/VR/MR 디바이스들과 보다 강력한 사용자 상호작용들을 제공할 수 있다. 가상 오브젝트들과 상호작용하기 위한 멀티모달 입력들과 관련된 기법들의 추가적인 이익들 및 예들은 도 13-27을 참조하여 추가로 설명된다.
[0055] 웨어러블 시스템은 또한 멀티모달 입력 제어들을 사용한 텍스트와의 상호작용들을 유리하게 지원할 수 있다. 이전에 언급된 바와 같이, 개별적으로 사용되는 종래의 입력 기법들은 AR/VR/MR 환경에서 문제가 된다. 예컨대, (예컨대, 가상 키보드와의 상호작용을 통해) 사용자 입력 디바이스, 제스처 또는 시선을 통한 입력은 미세 모터 제어를 필요로 하고, 이에 따라 느리고 피로할 수 있다. 시선에 의해 조작되는 캐릭터 삽입을 하는 가상 키보드는 텍스트 입력의 스피드(예컨대, 분당 약 10-35 단어로 추정)와 관련하여 비교적 낮은 천장을 갖는다. 발화된 입력은 매우 빠르지만(예컨대, 분당 약 100-150 단어로 추정됨), (예컨대, 어눌한 말투, 환경 잡음, 동음이의어 사용, 특유한 또는 단순히 친숙하지 않은 어휘의 사용 등과 같은 다양한 이유들로) 오인 또는 말더듬의 아티팩트들로 인해 에러적이기 쉬울 수 있다. 단일 모드 입력을 사용한 텍스트 편집(예컨대, 다른 이유들로 에러를 수정하는 보정)은 매우 정확한 커맨드들의 세트 없이는 선택들 및 대체들을 행하는데 있어서의 난관으로 인해 특히 난제시될 수 있다.
[0056] 유리하게, 일부 실시예들에서, 본원에서 설명된 웨어러블 시스템은 이용가능한 입력 방법들을 조합하고, 텍스트들과의 효율적인 상호작용들(이를테면, 예컨대, 텍스트의 구성, 선택 및 편집)을 달성하기 위해 사용자들이 사용자 입력들의 조합을 활용하는 것을 가능하게 함으로써 혼합 현실 시스템을 포함하는 다양한 시스템들에서 텍스트 입력 및 편집을 가능하게 할 수 있다. 예로서, 스피치는 텍스트를 시스템에 입력하는 1차 방법으로서 사용될 수 있다. 일반적으로 그래픽 사용자 인터페이스 엘리먼트들을 편집하고 수정 및 조작을 위해 텍스트를 선택하는 방법으로서 스피치가 시선과 조합할 수 있다. 웨어러블 시스템은 또한 상호작용 모달리티들(예컨대, 시선을 이용한 선택 및 스피치를 이용한 대체)의 조합을 사용하여 임의의 정해진 임무(예컨대, 특정 텍스트 스트링을 상이한 스트링으로 대체)의 실행을 가능하게 할 수 있다.
[0057] 그에 따라서, 도 28a-38을 참조하여 추가로 설명되는 바와 같이, 웨어러블 시스템은 스피치를 사용하여 텍스츄얼 메시지를 구성하고, 시선 또는 스피치와 상이한 다른 타입의 입력(예컨대, 신체 제스처)을 사용하여 이러한 메시지들을 편집할 수 있는 능력을 사용자들에게 제공한다. 웨어러블 시스템은, 예컨대, 사용자로부터의 스피치 입력(예컨대, 발언들) 또는 환경으로부터의 사운드와 같은 오디오 입력들을 수신하고, (예컨대, ASR(automated speech recognition)을 사용하여) 스피치 입력의 전환을 생성하고, 생성된 전환의 텍스츄얼 표현(예컨대, 혼합 현실에서 디스플레이되는 텍스츄얼 캐릭터)을 사용자에게 제공하고, 사용자로부터 다른 타입의 입력(예컨대, 시선 입력, 제스처 입력 등)을 수신하고, 사용자로부터 수신된 다른 타입의 입력에 기반하여 변환의 일부를 선택 및 편집하도록 구성될 수 있다.
[0058] 이러한 방식으로 사용자 입력 모달리티들을 조합함으로써, 스피치 입력은 합성에 대해 시선 입력보다 더 유효할 수 있고(예컨대, 시선 타이핑은 피로할 수 있음), 시선 입력(또는 제스처 입력)은 편집에 대해 스피치 입력보다 더 유효할 수 있기 때문에(예컨대, 스피치를 사용하여 변환된 메시지들을 선택 또는 변하게 하는 것은 에러적이기 쉬울 수 있기 때문에, 텍스트 구성 및 편집 프로세스가 더 빠르고 더 직관적일 수 있다.
웨어러블 시스템의 3D 디스플레이의 예들
[0059] 웨어러블 시스템(본원에서 AR(augmented reality) 시스템으로 또한 지칭됨)은 2D 또는 3D 가상 이미지들을 사용자에게 제공하도록 구성될 수 있다. 이미지들은 정지 이미지들, 비디오의 프레임들 또는 비디오, 이들의 조합 등일 수 있다. 웨어러블 시스템은 사용자 상호작용을 위해 환경에서 VR, AR 또는 MR 콘텐츠를 단독으로 또는 조합하여 제공할 수 있는 웨어러블 디바이스를 포함할 수 있다. 웨어러블 디바이스는 머리-장착 디스플레이를 포함할 수 있는 HDM(head-mounted device)일 수 있다. 일부 상황들에서, 웨어러블 디바이스는 ARD(AR device)로서 상호교환가능하게 지칭된다.
[0060] 도 1은 사람이 보는 특정 물리적 오브젝트들 및 특정 가상 현실 오브젝트들을 갖는 혼합 현실 시나리오의 예시를 묘사한다. 도 1에서, MR 장면(100)이 묘사되며, 여기서 MR 기술의 사용자는 배경에 있는 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼(120)을 특징으로 하는 실세계 공원형 장소(110)를 본다. 이들 아이템들 외에도, MR 기술의 사용자는 또한, 그가 실세계 플랫폼(120) 상에 서 있는 로봇 동상(130), 및 호박벌의 의인화인 것으로 보여지는 날고 있는 만화형 아바타 캐릭터(140)를 보는 것을 지각하더라도, 이들 엘리먼트들은 실세계에 존재하지 않는다.
[0061] 3D 디스플레이가 실제 깊이감 및 보다 구체적으로, 시뮬레이팅된 표면 깊이감을 생성하기 위해, 디스플레이의 시계(visual field)의 각각의 포인트가 그의 가상 깊이에 대응하는 원근조절 응답을 생성하는 것이 바람직할 수 있다. 만약 디스플레이 포인트에 대한 원근조절 응답이 수렴 및 입체시(stereopsis)의 양안 깊이 큐들에 의해 결정된 바와 같은 그 포인트의 가상 깊이에 대응하지 않는다면, 인간의 눈은 원근조절 충돌을 경험할 수 있어, 불안정한 이미징, 유해한 눈의 피로, 두통들, 그리고 원근조절 정보의 부재 시에, 표면 깊이의 거의 완벽한 결여를 야기할 수 있다.
[0062] VR, AR 및 MR 경험들은 복수의 렌더링 평면들에 대응하는 이미지들이 뷰어에게 제공되는 디스플레이들을 갖는 디스플레이 시스템들에 의해 제공될 수 있다. 렌더링 평면은 깊이 평면 또는 다수의 깊이 평면들에 대응할 수 있다. 이미지들은 각각의 렌더링 평면마다 상이할 수 있고(예컨대, 장면 또는 오브젝트의 약간 상이한 프리젠테이션들을 제공함) 뷰어의 눈들에 의해 별개로 초점이 맞춰질 수 있어서, 상이한 렌더링 평면들 상에 위치되는 장면에 대한 상이한 이미지 특징들에 초점을 맞추도록 요구되는 눈의 원근조절에 기반하여 또는 상이한 렌더링 평면들 상의 상이한 이미지 특징들이 초점에서 벗어나는 것을 관찰하는 것에 기반하여 깊이 큐들을 사용자에게 제공하는 것을 돕는다. 본원의 다른 곳에서 논의된 바와 같이, 이러한 깊이 큐들(depth cues)은 깊이의 신뢰할 수 있는 지각들을 제공한다.
[0063] 도 2는 웨어러블 시스템(200)의 예를 예시한다. 웨어러블 시스템(200)은 디스플레이(220), 및 디스플레이(220)의 기능을 지원하기 위한 다양한 머신 및 전자 모듈들 및 시스템들을 포함한다. 디스플레이(220)는 사용자, 착용자 또는 뷰어(210)에 의해 착용가능한 프레임(230)에 커플링될 수 있다. 디스플레이(220)는 사용자(210)의 눈들 앞에 포지셔닝될 수 있다. 디스플레이(220)는 AR/VR/MR 콘텐츠를 사용자에게 제공할 수 있다. 디스플레이(220)는 사용자의 머리에 착용되는 HMD(head mounted display)를 포함할 수 있다. 일부 실시예들에서, 스피커(240)는 프레임(230)에 커플링되고 사용자의 외이도에 인접하게 포지셔닝된다(일부 실시예들에서, 도시되지 않은 다른 스피커가 사용자의 다른 외이도에 인접하게 포지셔닝되어 입체/성형가능(shapeable) 사운드 제어를 제공함). 디스플레이(220)는 음성 인식을 수행할 환경으로부터 오디오 스트림을 검출하기 위한 오디오 센서(232)(예컨대, 마이크로폰)을 포함할 수 있다.
[0064] 웨어러블 시스템(200)은 사용자 주위의 환경의 세계를 관찰하는 외향 이미징 시스템(464)(도 4에 도시됨)을 포함할 수 있다. 웨어러블 시스템(200)은 또한 사용자의 눈 움직임들을 추적할 수 있는 내향 이미징 시스템(462)(도 4에 도시됨)을 포함할 수 있다. 내향 이미징 시스템은 어느 한쪽 눈의 움직임들 또는 양쪽 눈들의 움직임들을 추적할 수 있다. 내향 이미징 시스템(462)은 프레임(230)에 부착될 수 있고, 프로세싱 모듈(260 또는 270)과 전기 통신할 수 있으며, 이 프로세싱 모듈은 예컨대, 사용자(210)의 동공 직경들 또는 눈들의 배향들, 눈 움직임들 또는 눈 포즈(pose)를 결정하도록 내향 이미징 시스템에 의해 획득된 이미지 정보를 프로세싱할 수 있다.
[0065] 예로서, 웨어러블 시스템(200)은 외향 이미징 시스템(464) 또는 내향 이미징 시스템(462)을 사용하여 사용자의 포즈의 이미지들을 획득할 수 있다. 이미지들은 정지 이미지들, 비디오의 프레임들 또는 비디오, 이들의 조합 등일 수 있다.
[0066] 디스플레이(220)는 이를테면, 유선 리드 또는 무선 연결성에 의해, 다양한 구성들로 장착될 수 있는, 이를테면, 프레임(230)에 고정적으로 부착되거나, 사용자에 의해 착용된 헬멧 또는 모자에 고정적으로 부착되거나, 헤드폰들에 임베딩되거나, 그렇지 않으면 사용자(210)에게 제거가능하게 부착되는 (예컨대, 백팩-스타일 구성으로, 벨트-커플링 스타일 구성으로) 로컬 데이터 프로세싱 모듈(260)에 동작가능하게 커플링(250)될 수 있다.
[0067] 로컬 프로세싱 및 데이터 모듈(260)은 하드웨어 프로세서는 물론, 디지털 메모리 이를테면, 비-휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있고, 이 둘 모두는 데이터의 프로세싱, 캐싱(caching) 및 스토리지를 보조하기 위해 활용될 수 있다. 데이터는 a) 환경 센서들(예컨대, 프레임(230)에 동작가능하게 커플링되거나 그렇지 않으면 사용자(210)에게 부착될 수 있음), 오디오 센서(232)(예컨대, 마이크로폰들); 또는 b) 원격 프로세싱 모듈(270) 또는 원격 데이터 저장소(280)를 사용하여 획득 또는 프로세싱되는 (가능하게는, 이러한 프로세싱 또는 리트리벌(retrieval) 후 디스플레이(220)에 전달하기 위한) 데이터를 포함할 수 있다. 로컬 프로세싱 및 데이터 모듈(260)은 통신 링크들(262 또는 264)에 의해, 이를테면, 유선 또는 무선 통신 링크들을 통하여, 원격 프로세싱 모듈(270) 또는 원격 데이터 저장소(280)에 동작가능하게 커플링될 수 있어서, 이들 원격 모듈들은 로컬 프로세싱 및 데이터 모듈(260)에 대한 자원들로서 이용가능하다. 게다가, 원격 프로세싱 모듈(280) 및 원격 데이터 저장소(280)는 서로 동작가능하게 커플링될 수 있다.
[0068] 일부 실시예들에서, 원격 프로세싱 모듈(270)은 데이터 및/또는 이미지 정보를 분석 및 프로세싱하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 일부 실시예들에서, 원격 데이터 저장소(280)는 "클라우드" 자원 구성에서 인터넷 또는 다른 네트워킹 구성을 통하여 이용가능할 수 있는 디지털 데이터 스토리지 설비를 포함할 수 있다. 일부 실시예들에서, 모든 데이터는 저장되고 모든 컴퓨테이션들은 로컬 프로세싱 및 데이터 모듈에서 수행되어, 원격 모듈로부터 완전히 자율적인 사용을 허용한다.
[0069] 도 2에 설명된 컴포넌트들에 대해 부가적으로 또는 대안적으로, 웨어러블 시스템(200)은 오브젝트들, 자극들, 사람들, 동물들, 위치들, 또는 사용자 주위의 세계의 다른 양상들을 검출하기 위한 환경 센서들을 포함할 수 있다. 환경 센서들은 이미지 캡처 디바이스들(예컨대, 카메라들, 내향 이미징 시스템, 외향 이미징 시스템 등), 마이크로폰들, IMU(inertial measurement unit)들, 가속도계들, 자력계들(컴퍼스들), GPS(global positioning system) 유닛들, 라디오 디바이스들, 자이로스코프들, 고도계들, 기압계들, 화학 센서들, 습도 센서들, 온도 센서들, 외부 마이크로폰들, 광 센서들(예컨대, 광 계측기들), 타이밍 디바이스들(예컨대, 시계들 또는 캘린더들), 또는 이들의 임의의 조합 또는 서브조합을 포함할 수 있다. 특정 실시예들에서, IMU는, 3-축 자이로스코프, 3-축 가속도계, 및 3-축 자력계를 포함할 수 있는 9-축 IMU일 수 있다.
[0070] 환경 센서들은 또한 다양한 생리적 센서들을 포함할 수 있다. 이들 센서들은 사용자의 생리적 파라미터들, 이를테면, 심박수, 호흡수, 전기 피부 반응, 혈압, 뇌전도(encephalographic) 상태 등을 측정 또는 추정할 수 있다. 환경 센서들은 신호들, 이를테면, 레이저, 가시광, 비가시광 파장들, 또는 사운드(예컨대, 가청 사운드, 초음파 또는 다른 주파수들)를 수신하도록 구성된 방출 디바이스들을 더 포함할 수 있다. 일부 실시예들에서, 하나 이상의 환경 센서들(예컨대, 카메라들 또는 광 센서들)은 환경의 주변 광(예컨대, 휘도)을 측정하도록(예컨대, 환경의 조명 상태들을 캡처하도록) 구성될 수 있다. 물리적 접촉 센서들, 이를테면, 스트레인 게이지들, 연석 감지기들(curb feelers) 등이 또한 환경 센서들로서 포함될 수 있다.
[0071] 인간 시각 시스템은 복잡하고, 깊이의 현실적 지각을 제공하는 것은 난제시된다. 이론에 의해 제한되지 않고서, 오브젝트의 뷰어들이 이접운동과 원근조절의 조합으로 인해 오브젝트를 3-차원인 것으로 지각할 수 있다고 여겨진다. 서로에 대해 2개의 눈들의 이접운동 움직임들(예컨대, 오브젝트를 응시하기 위해 눈들의 시선들을 수렴시키기 위해 서로를 향한 또는 서로부터 떨어진 동공들의 롤링 움직임들)은 눈들의 렌즈들의 초점 맞춤(또는 "원근조절")과 근접하게 연관된다. 정상 상태들 하에서, 하나의 오브젝트로부터 상이한 거리에서의 다른 오브젝트로 초점을 변경하기 위해, 눈들의 렌즈들의 초점을 변경하거나, 눈들을 원근조절하는 것은, "원근조절-이접운동 반사작용"으로 알려진 관계 하에서, 동일한 거리에 대한 이접운동에서 매칭 변화를 자동으로 유발할 것이다. 마찬가지로, 이접운동의 변화는, 정상 상태들 하에서, 원근조절의 매칭 변화를 트리거링할 것이다. 원근조절과 이접운동 간의 더 나은 매치를 제공하는 디스플레이 시스템들은 3-차원 이미저리의 더 현실적이고 편안한 시뮬레이션들을 형성할 수 있다.
[0072] 도 3은 다수의 렌더링 평면들을 사용하여 3-차원 이미저리를 시뮬레이팅하기 위한 접근법의 양상들을 예시한다. 도 3을 참조하면, z-축 상에서 눈들(302 및 304)로부터 다양한 거리들에 있는 오브젝트들은, 이들 오브젝트들이 초점을 맞추도록 눈들(302 및 304)에 의해 원근조절된다. 눈들(302 및 304)은 z-축을 따라 상이한 거리들에 있는 오브젝트들에 초점을 맞추게 하는 특정 원근조절된 상태들을 취한다. 결과적으로, 특정 원근조절된 상태는 연관된 초점 거리를 갖는, 렌더링 평면들(306) 중 특정한 하나의 렌더링 평면과 연관되는 것으로 말해질 수 있어서, 특정 렌더링 평면의 오브젝트들 또는 오브젝트들의 부분들은, 눈이 해당 렌더링 평면에 대해 원근조절된 상태에 있을 때 초점을 맞추게 된다. 일부 실시예들에서, 3-차원 이미저리는 눈들(302 및 304) 각각에 대해 이미지의 상이한 프리젠테이션들을 제공함으로써, 그리고 또한 렌더링 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 시뮬레이팅될 수 있다. 예시의 명확성을 위해 별개인 것으로 도시되지만, 눈들(302 및 304)의 시야들은 예컨대, z-축을 따른 거리가 증가함에 따라 겹칠 수 있다는 것이 인지될 것이다. 게다가, 예시의 용이함을 위해 평탄한 것으로 도시되지만, 렌더링 평면의 윤곽들은 물리적 공간에서 만곡될 수 있어서, 렌더링 평면의 모든 특징들은 특정 원근조절된 상태에서 눈과 초점을 맞춘다는 것이 인지될 것이다. 이론에 의해 제한됨이 없이, 인간 눈이 전형적으로 깊이 지각을 제공하기 위하여 유한 수의 렌더링 평면들을 해석할 수 있다고 여겨진다. 결과적으로, 지각된 깊이의 매우 믿을 수 있는 시뮬레이션은, 눈에, 이들 제한된 수의 렌더링 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 달성될 수 있다.
도파관 스택 어셈블리
[0073] 도 4는 사용자에게 이미지 정보를 출력하기 위한 도파관 스택의 예를 예시한다. 웨어러블 시스템(400)은 복수의 도파관들(432b, 434b, 436b, 438b, 4400b)을 사용하여 3-차원 지각을 눈/뇌에 제공하기 위하여 활용될 수 있는 도파관들의 스택, 또는 스택된 도파관 어셈블리(480)를 포함한다. 일부 실시예들에서, 웨어러블 시스템(400)은 도 2a의 웨어러블 시스템(200)에 대응할 수 있고, 도 4는 그 웨어러블 시스템(200)의 일부 부분들을 더 상세히 개략적으로 도시한다. 예컨대, 일부 실시예들에서, 도파관 어셈블리(480)는 도 2a의 디스플레이(220)에 통합될 수 있다.
[0074] 도 4를 계속 참조하면, 도파관 어셈블리(480)는 또한 도파관들 사이에 복수의 특징들(458, 456, 454, 452)을 포함할 수 있다. 일부 실시예들에서, 특징들(458, 456, 454, 452)은 렌즈들일 수 있다. 다른 실시예들에서, 특징들(458, 456, 454, 452)은 렌즈들이 아닐 수 있다. 오히려, 이들은 단순히 스페이서들(예컨대, 공기 갭들을 형성하기 위한 클래딩 층들 또는 구조들)일 수 있다.
[0075] 도파관들(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)들의 전체 필드를 출력하기 위하여 각각의 도파관으로 주입될 수 있다.
[0076] 일부 실시예들에서, 이미지 주입 디바이스들(420, 422, 424, 426, 428)은 각각, 대응하는 도파관(440b, 438b, 436b, 434b, 432b)으로의 주입을 위한 이미지 정보를 각각 생성하는 이산 디스플레이들이다. 일부 다른 실시예들에서, 이미지 주입 디바이스들(420, 422, 424, 426, 428)은 예컨대, 이미지 정보를 하나 이상의 광학 도관들(예컨대, 광섬유 케이블들)을 통하여 이미지 주입 디바이스들(420, 422, 424, 426, 428) 각각에 파이핑할 수 있는 단일 멀티플렉싱된 디스플레이의 출력 단부들이다.
[0077] 제어기(460)는 스택된 도파관 어셈블리(480) 및 이미지 주입 디바이스들(420, 422, 424, 426, 428)의 동작을 제어한다. 제어기(460)는 도파관들(440b, 438b, 436b, 434b, 432b)에 대한 이미지 정보의 타이밍 및 프로비전(provision)을 조절하는 프로그래밍(예컨대, 비-일시적 컴퓨터-판독가능한 매체의 명령들)을 포함한다. 일부 실시예들에서, 제어기(460)는 단일 통합 디바이스, 또는 유선 또는 무선 통신 채널들에 의해 연결되는 분산형 시스템일 수 있다. 제어기(460)는 일부 실시예들에서, 프로세싱 모듈들(260 또는 270)(도 2a에 예시됨)의 부분일 수 있다.
[0078] 도파관들(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)은 재료의 해당 피스의 표면 상에 또는 그 내부에 형성될 수 있다.
[0079] 도 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 초점 평면에서 나오는 것으로 해석한다.
[0080] 다른 도파관 층들(예컨대, 도파관들(438b, 440b)) 및 렌즈들(예컨대, 렌즈들(456, 458))은 유사하게 구성되는데, 스택에서 가장 높은 도파관(440b)은 자신의 출력을, 사람과 가장 가까운 초점 평면을 나타내는 총체적인 초점 전력에 대해 자신과 눈 간의 렌즈들 모두를 통하여 전송한다. 스택된 도파관 어셈블리(480)의 다른 측 상에서 세계(470)에서 나오는 광을 보거나/해석할 때 렌즈들(458, 456, 454, 452)의 스택을 보상하기 위하여, 보상 렌즈 층(430)은 아래의 렌즈 스택(458, 456, 454, 452)의 총체적인 전력을 보상하기 위하여 스택의 최상부에 배치될 수 있다. 이러한 구성은 이용가능한 도파관/렌즈 쌍들이 존재하는 만큼 많은 지각된 초점 평면들을 제공한다. 도파관들의 광 추출 광학 엘리먼트들 및 렌즈들의 초점을 맞추는 양상들 둘 모두는 정적(예컨대, 동적이 아니거나 전자-활성이 아님)일 수 있다. 일부 대안적인 실시예들에서, 어느 하나 또는 둘 모두는 전자-활성 특징들을 사용하여 동적일 수 있다.
[0081] 도 4를 계속 참조하면, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 자신의 개개의 도파관들로부터 광을 재지향시키는 것은 물론, 도파관과 연관된 특정 렌더링 평면에 대해 적합한 발산량 또는 시준으로 이 광을 출력하도록 구성될 수 있다. 결과적으로, 상이한 연관된 렌더링 평면들을 가진 도파관들은 상이한 구성들의 광 추출 광학 엘리먼트들을 가질 수 있고, 이러한 광 추출 광학 엘리먼트들은 연관된 렌더링 평면에 따라 상이한 발산량으로 광을 출력한다. 일부 실시예들에서, 본원에 논의된 바와 같이, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 특정한 각도들로 광을 출력하도록 구성될 수 있는 볼류메트릭(volumetric) 또는 표면 특징들일 수 있다. 예컨대, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 볼륨 홀로그램들, 표면 홀로그램들, 또는 회절 격자들일 수 있다. 광 추출 광학 엘리먼트들, 이를테면, 회절 격자들은 2015년 6월 25일에 공개된 미국 특허 공보 제2015/0178939호에 설명되며, 이는 그 전체가 본원에 인용에 의해 포함된다.
[0082] 일부 실시예들에서, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 회절 패턴을 형성하는 회절 특징들 또는 "회절 광학 엘리먼트"(또한 본원에서 "DOE"로서 지칭됨)이다. 바람직하게는, DOE는 비교적 낮은 회절 효율성을 가져서, 빔의 광의 일부만이 DOE의 각각의 교차의 경우 눈(410)을 향하여 편향되지만, 나머지는 내부 전반사를 통하여 도파관을 통해 계속 이동한다. 따라서, 이미지 정보를 전달하는 광은 다수의 위치들에서 도파관을 나가는 다수의 관련된 출사 빔들로 분할될 수 있고, 그 결과는 이런 특정 시준된 빔이 도파관 내에서 이리저리 바운싱되기 때문에 눈(304)을 향하는 상당히 균일한 출사 방출 패턴이다.
[0083] 일부 실시예들에서, 하나 이상의 DOE들은, 그것들이 활성적으로 회절시키는 "온" 상태와 그것들이 상당히 회절시키지 않는 "오프" 상태 사이에서 스위칭 가능할 수 있다. 예컨대, 스위칭 가능 DOE는, 마이크로액적들이 호스트 매질에서 회절 패턴을 포함하는 중합체 분산형 액정 층을 포함할 수 있고, 마이크로액적들의 굴절률은 호스트 재료의 굴절률에 실질적으로 매칭하도록 스위칭될 수 있거나(이 경우에 패턴은 입사 광을 현저하게 회절시키지 않음) 또는 마이크로액적은 호스트 매질의 인덱스에 매칭하지 않는 인덱스로 스위칭될 수 있다(이 경우 패턴은 입사 광을 활성적으로 회절시킴).
[0084] 일부 실시예들에서, 피사계 심도 및/또는 렌더링 평면들의 수 및 분배는 뷰어의 눈들의 동공 사이즈들 및/또는 배향들에 기반하여 동적으로 변동될 수 있다. 피사계 심도는 뷰어의 동공 사이즈와 반대로 변할 수 있다. 결과적으로, 뷰어의 눈들의 동공들의 사이즈들이 감소함에 따라, 피사계 심도가 증가하여서, 인식가능하지 않은 하나의 평면의 위치가 눈의 초점의 깊이를 넘어서기 때문에 그 평면이 인식가능하게 되고 동공 사이즈의 감소를 통해 보다 초점이 맞게 나타나고 피사계 심도의 증가와 상응할 수 있다. 마찬가지로, 뷰어에게 상이한 이미지들을 제공하기 위해 사용되는 이격된 렌더링 평면들의 수는 감소된 동공 사이즈에 따라 감소될 수 있다. 예컨대, 뷰어는 하나의 렌더링 평면으로부터 멀리 그리고 다른 렌더링 평면으로 눈의 원근조절을 조정하지 않고서는, 하나의 동공 사이즈에서 제1 렌더링 평면 및 제2 렌더링 평면 둘 모두의 세부사항들을 명확하게 지각할 수 없을 수 있다. 그러나, 이러한 2개의 렌더링 평면들은 원근조절을 변하지 않고도 다른 동공 사이즈에서 사용자에게 동시에 충분히 초점을 맞출 수 있다.
[0085] 일부 실시예들에서, 디스플레이 시스템은 동공 사이즈 또는 배향의 결정들에 또는 특정 동공 사이즈 또는 배향을 나타내는 전기 신호들의 수신에 기반하여 이미지 정보를 수신하는 도파관들의 수를 변하게 할 수 있다. 예컨대, 만약 사용자의 눈들이 2개의 도파관들과 연관된 2개의 렌더링 평면들을 구별할 수 없다면, 제어기(460)는 이들 도파관들 중 하나에 이미지 정보를 제공하는 것을 중단하도록 구성되거나 프로그래밍될 수 있다. 유리하게는, 이는 시스템 상의 프로세싱 부담을 감소시킬 수 있고, 그리하여 시스템의 응답성을 증가시킨다. 도파관에 대한 DOE들이 온 및 오프 상태들 사이에서 스위칭 가능한 실시예들에서, 도파관이 이미지 정보를 수신할 때 DOE들은 오프 상태로 스위칭될 수 있다.
[0086] 일부 실시예들에서, 출사 빔이 뷰어의 눈의 직경 미만인 직경을 갖는 조건을 충족시키는 것이 바람직할 수 있다. 그러나 이 조건을 충족시키는 것은 뷰어의 동공들의 사이즈의 변동성을 고려하면 난제시될 수 있다. 일부 실시예들에서, 이 조건은 뷰어의 동공의 사이즈의 결정에 대한 응답으로 출사 빔의 사이즈를 변하게 함으로써 넓은 범위의 동공 사이즈들에 걸쳐 충족된다. 예컨대, 동공 사이즈가 감소함에 따라, 출사 빔의 사이즈가 또한 감소할 수 있다. 일부 실시예들에서, 출사 빔 사이즈는 가변 어퍼처를 사용하여 변동될 수 있다.
[0087] 웨어러블 시스템(400)은 세계(470)의 일부를 이미징하는 외향 이미징 시스템(464)(예컨대, 디지털 카메라)을 포함할 수 있다. 이러한 세계(470)의 일부는 세계 카메라의 FOV(field of view)로서 지칭될 수 있고, 이미징 시스템(464)은 때로는 FOV 카메라로서 지칭된다. 뷰어에 의한 이미징 또는 보기를 위해 이용가능한 전체 구역은 FOR(field of regard)로서 지칭될 수 있다. FOR은 웨어러블 시스템(400)을 둘러싸는 4π 스테라디안(steradian)들의 입체각을 포함할 수 있는데, 왜냐하면 착용자가 공간에서 실질적으로 임의의 방향을 지각하기 위해 자신의 신체, 머리 또는 눈들을 움직일 수 있기 때문이다. 다른 맥락들에서, 착용자의 움직임들은 더 많이 제약될 수 있고, 이에 따라서 착용자의 FOR은 더 작은 입체각의 범위를 정할 수 있다. 외향 이미징 시스템(464)으로부터 획득된 이미지들은 사용자에 의해 행해진 제스처들(예컨대, 손 또는 손가락 제스처들)을 추적하고, 사용자 앞의 세계(470)의 오브젝트들을 검출하는 등을 행하기 위해 사용될 수 있다.
[0088] 웨어러블 시스템(400)은 또한 눈 움직임들 및 얼굴 움직임들과 같은 사용자의 움직임들을 관찰하는 내향 이미징 시스템(462)(예컨대, 디지털 카메라)을 포함할 수 있다. 내향 이미징 시스템(462)은 눈(304)의 동공의 사이즈 및/또는 배향을 결정하기 위해 눈(410)의 이미지들을 캡처하는데 사용될 수 있다. 내향 이미징 시스템(462)은, (예컨대, 홍채 식별을 통한) 사용자의 생체인식 식별(biometric identification)을 위한 이미지들 또는 사용자가 바라보는 방향(예컨대, 눈 포즈)을 결정하는데 사용하기 위한 이미지들을 획득하기 위해 사용될 수 있다. 일부 실시예들에서, 독립적으로, 각각의 눈의 동공 사이즈 또는 눈 포즈를 별개로 결정하고, 그리하여 각각의 눈에 대한 이미지 정보의 프리젠테이션이 그 눈에 동적으로 맞춰지도록 허용하기 위해, 각각의 눈마다 적어도 하나의 카메라가 활용될 수 있다. 일부 다른 실시예들에서, (예컨대, 한 쌍의 눈들마다 단지 단일 카메라만을 사용하여) 단지 한쪽 눈(410)의 동공 직경 또는 배향이 결정되고 사용자의 양 눈들에 대해 유사한 것으로 가정된다. 내향 이미징 시스템(462)에 의해 획득진 이미지들은 사용자의 눈 포즈 또는 분위기(mood)를 결정하도록 분석될 수 있으며, 이는 어떤 청각적 또는 시각적 콘텐츠가 사용자에게 제공되어야 하는지를 판단하기 위해 웨어러블 시스템(400)에 의해 사용될 수 있다. 웨어러블 시스템(400)은 또한 IMU들, 가속도계들, 자이로스코프들 등과 같은 센서들을 사용하여 머리 포즈(예컨대, 머리 포지션 또는 머리 배향)를 결정할 수 있다.
[0089] 웨어러블 시스템(400)은, 사용자가 웨어러블 시스템(400)과 상호작용하도록 제어기(460)에 커맨드들을 입력할 수 있게 하는 사용자 입력 디바이스(466)를 포함할 수 있다. 예컨대, 사용자 입력 디바이스(466)는 트랙패드, 터치스크린, 조이스틱, 다중 DOF(degree-of-freedom) 제어기, 용량성 감지 디바이스, 게임 제어기, 키보드, 마우스, 방향 패드(D-패드), 완드(wand), 햅틱 디바이스, 토템(예컨대, 가상 사용자 입력 디바이스로서 기능함) 등을 포함할 수 있다. 다중-DOF 제어기는 제어기의 일부 또는 모든 가능한 병진운동들(예컨대, 왼쪽/오른쪽, 전방향/후방향, 또는 위/아래) 또는 회전들(예컨대, 요, 피치, 또는 롤)에서 사용자 입력을 감지할 수 있다. 병진운동 움직임들을 지원하는 다중-DOF 제어기는 3DOF로서 지칭될 수 있는 반면에, 병진운동 및 회전들을 지원하는 다중-DOF 제어기는 6DOF로서 지칭될 수 있다. 일부 경우들에서, 사용자는 손가락(예컨대, 엄지손가락)을 사용하여, 웨어러블 시스템(400)에 입력을 제공하도록(예컨대, 웨어러블 시스템(400)에 의해 제공되는 사용자 인터페이스에 사용자 입력을 제공하도록) 터치-감지 입력 디바이스를 누르거나 스와이프(swipe)할 수 있다. 사용자 입력 디바이스(466)는 웨어러블 시스템(400)의 사용 동안 사용자의 손에 휴대될 수 있다. 사용자 입력 디바이스(466)는 웨어러블 시스템(400)과 유선 또는 무선 통신할 수 있다.
[0090] 도 5는 도파관에 의해 출력된 출사 빔들의 예를 도시한다. 하나의 도파관이 예시되지만, 도파관 어셈블리(480) 내의 다른 도파관들이 유사하게 기능할 수 있다는 것이 인지될 것이며, 여기서 도파관 어셈블리(480)는 다수의 도파관들을 포함한다. 광(520)은 도파관(432b)의 입력 에지(432c)에서 도파관(432b)에 주입되고 TIR에 의해 도파관(432b) 내에서 전파된다. 광(520)이 DOE(432a)에 충돌하는 포인트들에서, 광의 일부는 출사 빔들(510)로서 도파관을 나간다. 출사 빔들(510)은 실질적으로 평행한 것으로 예시되지만, 이들 출사 빔들(510)은 또한 도파관(432b)과 연관된 렌더링 평면에 의존하여, 일정 각도로 눈(410)으로 전파되도록 재지향될 수 있다(예컨대, 발산 출사 빔들을 형성함). 실질적으로 평행한 출사 빔들은, 눈(410)으로부터 먼 거리(예컨대, 광학적 무한대)에 있는 렌더링 평면 상에 세팅된 것으로 나타나는 이미지들을 형성하도록 광을 아웃커플링하는 광 추출 광학 엘리먼트들을 갖는 도파관을 표시할 수 있다는 것이 인지될 것이다. 다른 도파관들 또는 광 추출 광학 엘리먼트들의 다른 세트들은 더 발산하는 출사 빔 패턴을 출력할 수 있으며, 이는, 눈(410)이 망막 상에 초점을 맞추게 하기 위해 더 근접한 거리로 원근조절하는 것을 요구할 것이고 광학적 무한대보다 눈(410)에 더 근접한 거리로부터의 광으로서 뇌에 의해 해석될 것이다.
[0091] 도 6은, 다-초점 볼류메트릭 디스플레이, 이미지 또는 광 필드의 생성에 사용되는, 도파관 장치, 도파관 장치로 또는 도파관 장치로부터의 광을 광학적으로 커플링하는 광학 커플러 서브시스템, 및 제어 서브시스템을 포함하는 광학 시스템을 도시하는 개략적 다이어그램이다. 광학 시스템은 도파관 장치, 도파관 장치로 또는 상기 도파관 장치로부터의 광을 광학적으로 커플링하는 광학 커플러 서브시스템, 및 제어 서브시스템을 포함할 수 있다. 광학 시스템은 다-초점 볼류메트릭, 이미지 또는 광 필드를 생성하기 위해 사용할 수 있다. 광학 시스템은 하나 이상의 일차 평면형 도파관들(632a)(도 6에서 단지 하나만 도시됨) 및 일차 도파관들(632a) 중 적어도 일부의 일차 도파관들 각각과 연관된 하나 이상의 DOE들(632b)을 포함할 수 있다. 평면형 도파관들(632b)은 도 4를 참조하여 논의된 도파관들(432b, 434b, 436b, 438b, 440b)과 유사할 수 있다. 광학 시스템은 제1 축(도 6의 도면에서 수직 또는 Y-축)을 따라 광을 중계하고 제1 축(예컨대, Y-축)을 따라 광의 유효 출사 동공을 확장시키기 위해 분배 도파관 장치를 이용할 수 있다. 분배 도파관 장치는, 예컨대, 분배 평면형 도파관(622b) 및 분배 평면형 도파관(622b)과 연관된 적어도 하나의 DOE(622a)(이중 일점 쇄선으로 예시됨)를 포함할 수 있다. 분배 평면형 도파관(622b)은 그와 상이한 배향을 갖는 일차 평면형 도파관(632b)과 적어도 일부 면들에서 유사하거나 동일할 수 있다. 마찬가지로, 적어도 하나의 DOE(622a)는 DOE(632a)와 적어도 일부 면들에서 유사하거나 동일할 수 있다. 예컨대, 분배 평면형 도파관(622b) 또는 DOE(622a)는 각각, 일차 평면형 도파관(632b) 또는 DOE(632a)와 동일한 재료들로 구성될 수 있다. 도 6에 도시된 광학 디스플레이 시스템(600)의 실시예들은 도 2에 도시된 웨어러블 시스템(200)에 통합될 수 있다.
[0092] 중계된 그리고 출사-동공 확장된 광은 분배 도파관 장치로부터 하나 이상의 일차 평면형 도파관들(632b)에 광학적으로 커플링될 수 있다. 주 평면형 도파관(632b)은 바람직하게는, 제1 축에 직교하는 제2 축(예컨대, 도 6의 뷰에서 수평 또는 X-축)을 따라 광을 중계할 수 있다. 특히, 제2 축은 제1 축에 대해 비-직교 축일 수 있다. 주 평면형 도파관(632b)은 그 제2 축(예컨대, X-축)을 따라 광의 유효 출사 동공을 확장시킨다. 예컨대, 분배 평면형 도파관(622b)은 수직 또는 Y- 축을 따라 광을 중계 및 확장시킬 수 있으며, 수평 또는 X-축을 따라 광을 중계 및 확장시킬 수 있는 일차 평면형 도파관(632b)으로 그 광을 전달할 수 있다.
[0093] 광학 시스템은 단일 모드 광섬유(640)의 근단부에 광학적으로 커플링될 수 있는 컬러 광(예컨대, 적색, 녹색 및 청색 레이저 광)의 하나 이상의 소스들(610)을 포함할 수 있다. 광 섬유(640)의 원단부는 압전 재료의 중공 튜브(642)를 통해 스레딩(thread)되거나 수용될 수 있다. 원단부는 고정되지 않은 가요성 캔틸레버(644)로서 튜브(642)로부터 돌출한다. 압전 튜브(642)는 4개의 쿼드런트(quadrant) 전극들(예시되지 않음)과 연관될 수 있다. 전극들은 예컨대, 튜브(642)의 밖, 외측 표면 또는 외측 주변부 또는 직경 상에 도금될 수 있다. 코어 전극(예시되지 않음)은 또한 튜브(642)의 코어, 중심, 내부 주변부 또는 내부 직경에 위치될 수 있다.
[0094] 예컨대, 와이어들(660)을 통해 전기적으로 커플링된 구동 전자 장치(650)는 2개의 축들에서 압전 튜브(642)를 독립적으로 구부리기 위해 전극들의 대향하는 쌍들을 구동한다. 광섬유(644)의 돌출 원단 끝 부분은 기계 공진 모드들을 갖는다. 공진 주파수들은 광섬유(644)의 직경, 길이 및 재료 특성들에 의존할 수 있다. 섬유 캔틸레버(644)의 제1 기계 공진 모드 인근에서 압전 튜브(642)를 진동시킴으로써, 섬유 캔틸레버(644)는 진동하게 될 수 있고, 큰 편향들을 통해 스윕(sweep)할 수 있다.
[0095] 2개의 축들에서 공진 진동을 자극함으로써, 섬유 캔틸레버(644)의 끝 부분은 영역 충전 2차원(2D) 스캔으로 2축 방향으로(biaxially) 스캔된다. 섬유 캔틸레버(644)의 스캔과 동기하여 광원(들)(610)의 세기를 변조함으로써, 섬유 캔틸레버(644)로부터 나오는 광은 이미지를 형성할 수 있다. 그러한 셋업에 대한 설명들은 미국 특허 공보 제2014/0003762호에서 제공되며, 그 공보는 그 전체가 본원에 인용에 의해 통합된다.
[0096] 광학 커플러 서브시스템의 컴포넌트는 스캐닝 섬유 캔틸레버(644)로부터 나오는 광을 시준할 수 있다. 시준된 광은 미러 표면(648)에 의해 적어도 하나의 DOE(diffractive optical element)(622a)를 포함하는 좁은 분배 평면형 도파관(622b)으로 반사될 수 있다. 시준된 광은 TIR에 의해 분배 평면형 도파관(622b)을 따라(도 6의 도면에 대해) 수직으로 전파될 수 있고, 이렇게 하여, DOE(622a)와 반복적으로 교차한다. DOE(622a)는 바람직하게는, 낮은 회절 효율성을 갖는다. 이는, 광의 일부(예컨대, 10%)로 하여금 DOE(622a)와의 각각의 교차점에서 더 큰 일차 평면형 도파관(632b)의 에지를 향해 회절되게 하고, 광의 일부로 하여금 TIR을 통해 분배 평면형 도파관(622b)의 길이 아래에서 그의 오리지널 궤적 상에서 계속되게 할 수 있다.
[0097] DOE(622a)와의 각각의 교차점에서, 추가적인 광이 일차 도파관(632b)의 입구를 향해 회절될 수 있다. 인입 광을 다수의 아웃커플링된 세트들로 분할함으로써, 광의 출사 동공은 분배 평면형 도파관(622b)에서 DOE(4)에 의해 수직으로 확장될 수 있다. 분배 평면형 도파관(622b) 밖으로 커플링되는 이러한 수직으로 확장된 광은 일차 평면형 도파관(632b)의 에지에 들어갈 수 있다.
[0098] 일차 도파관(632b)에 들어가는 광은 TIR을 통해 일차 도파관(632b)을 따라(도 6의 뷰에 대해) 수평으로 전파될 수 있다. 광이 TIR을 통해 일차 도파관(632b)의 길이의 적어도 일부를 따라 수평으로 전파됨에 따라 광은 다수의 포인트들에서 DOE(632a)와 교차한다. DOE(632a)는 유리하게는, 광의 편향 및 초점 맞추기 둘 모두를 생성하도록, 선형 회절 패턴 및 방사상 대칭 회절 패턴의 합인 위상 프로파일을 갖도록 설계 또는 구성될 수 있다. DOE(632a)는 유리하게는, 낮은 회절 효율성(예컨대, 10%)을 가질 수 있어서, 빔의 광 중 일부만이 DOE(632a)의 각각의 교차에 의해 뷰의 눈을 향해 편향되는 반면, 광의 나머지는 TIR을 통해 일차 도파관(632b)을 통하여 계속 전파된다.
[0099] 전파되는 광과 DOE(632a) 간의 각각의 교차점에서, 광의 일부가 일차 도파관(632b)의 인접한 면을 향해 회절되어, 광이 TIR을 벗어나 일차 도파관(632b)의 면으로부터 나오게 허용한다. 일부 실시예들에서, DOE(632a)의 방사상 대칭 회절 패턴은 추가적으로, 회절된 광에 초점 레벨을 부여하여, 개별 빔의 광 파면을 성형(예컨대, 곡률을 부여함)하는 것뿐만 아니라, 설계된 초점 레벨과 매칭하는 각도로 빔을 조종한다.
[0100] 그에 따라서, 이들 상이한 경로들은 상이한 각도들의 다수의 DOE들(632a), 초점 레벨들, 및/또는 출사 동공에서 상이한 충전 패턴들을 산출하는 것에 의해 광으로 하여금 일차 평면형 도파관(632b) 밖으로 커플링되게 할 수 있다. 출사 동공에서의 상이한 충전 패턴들은 다수의 렌더링 평면들을 갖는 광 필드 디스플레이를 생성하기 위해 유익하게 사용될 수 있다. 도파관 어셈블리 내의 각각의 층 또는 스택 내의 한 세트의 층들(예컨대, 3개의 층들)은 개개의 컬러(예컨대, 적색, 청색, 녹색)를 생성하기 위해 이용될 수 있다. 따라서, 예컨대, 제1 세트의 3개의 인접한 층들은 제1 초점 깊이로 적색, 청색 및 녹색 광을 각각 생성하기 위해 이용될 수 있다. 제2 세트의 3개의 인접한 층들은 제2 초점 깊이로 적색, 청색 및 녹색 광을 각각 생성하기 위해 이용될 수 있다. 다수의 세트들은 다양한 초점 깊이들을 갖는 완전한 3D 또는 4D 컬러 이미지 광 필드를 생성하기 위해 이용될 수 있다.
웨어러블 시스템의 다른 컴포넌트들
[0101] 다수의 구현들에서, 웨어러블 시스템은 위에서 설명된 웨어러블 시스템의 컴포넌트들에 부가적으로 또는 이에 대한 대안으로 다른 컴포넌트들을 포함할 수 있다. 웨어러블 시스템은 예컨대, 하나 이상의 햅틱 디바이스들 또는 컴포넌트들을 포함할 수 있다. 햅틱 디바이스들 또는 컴포넌트들은 사용자에게 촉감을 제공하도록 동작가능할 수 있다. 예컨대, 햅틱 디바이스들 또는 컴포넌트들은 가상 콘텐츠(예컨대, 가상 오브젝트들, 가상 도구들, 다른 가상 구조들)를 터치할 때 압력 또는 텍스처의 촉감을 제공할 수 있다. 촉감은 가상 오브젝트가 표현하는 물리적 오브젝트의 느낌을 복제할 수 있거나, 또는 가상 콘텐츠가 표현하는 상상의 오브젝트 또는 캐릭터(예컨대, 용)의 느낌을 복제할 수 있다. 일부 구현들에서, 햅틱 디바이스들 또는 컴포넌트들은 사용자에 의해 착용될 수 있다(예컨대, 사용자 웨어러블 글러브). 일부 구현들에서, 햅틱 디바이스들 또는 컴포넌트들은 사용자에 의해 홀딩될 수 있다.
[0102] 웨어러블 시스템은 예컨대, 웨어러블 시스템과의 입력 또는 상호작용을 허용하도록 사용자에 의해 조작가능한 하나 이상의 물리적 오브젝트들을 포함할 수 있다. 이러한 물리적 오브젝트들은 본원에서 토템들로서 지칭될 수 있다. 일부 토템들은 무생물 오브젝트들, 예컨대, 이를테면 금속 또는 플라스틱의 조각, 벽, 테이블의 표면의 형태를 취할 수 있다. 특정 구현들에서, 토템들은 실제로, 어떠한 물리적 입력 구조들(예컨대, 키들, 트리거들, 조이스틱, 트랙볼, 로커 스위치(rocker switch))도 갖지 않을 수 있다. 대신, 토템은 단순히 물리적 표면을 제공할 수 있고, 웨어러블 시스템은 토템의 하나 이상의 표면들 상에 있는 것으로 사용자에게 나타나도록 사용자 인터페이스를 렌더링할 수 있다. 예컨대, 웨어러블 시스템은 토템의 하나 이상의 표면들에 상주하는 것으로 나타나도록 컴퓨터 키보드 및 트랙패드의 이미지를 렌더링할 수 있다. 예컨대, 웨어러블 시스템은 토템으로서 역할을 하는 알루미늄의 얇은 직사각형 플레이트의 표면 상에 나타나도록 가상 컴퓨터 키보드 및 가상 트랙패드를 렌더링할 수 있다. 직사각형 플레이트 그 자체는 어떠한 물리적인 키들 또는 트랙패드 또는 센서들도 갖지 않는다. 그러나, 웨어러블 시스템은 가상 키보드 또는 가상 트랙패드를 통해 이루어진 선택들 또는 입력들로서 직사각형 플레이트와의 사용자 조작 또는 상호작용 또는 터치들을 검출할 수 있다. 사용자 입력 디바이스(466)(도 4에 도시됨)는, 트랙패드, 터치패드, 트리거, 조이스틱, 트랙볼, 로커 또는 가상 스위치, 마우스, 키보드, 다중-자유도 제어기 또는 다른 물리적 입력 디바이스를 포함할 수 있는 토템의 실시예일 수 있다. 사용자는 웨어러블 시스템 또는 다른 사용자들과 상호작용하기 위해 토템을 단독으로 또는 포즈들과 조합하여 사용할 수 있다.
[0103] 본 개시내용의 웨어러블 디바이스들, HMD, 및 디스플레이 시스템들과 함께 사용가능한 햅틱 디바이스들 및 토템들의 예들은 미국 특허 공보 제2015/0016777호에서 설명되며, 그 공보는 그 전체가 본원에 인용에 의해 통합된다.
예시적인 웨어러블 시스템들, 환경들, 및 인터페이스들
[0104] 웨어러블 시스템은 렌더링된 광 필드들에서 높은 심도를 달성하기 위해 다양한 맵핑 관련 기법들을 이용할 수 있다. 가상 세계의 맵핑 시에, 실세계에 관하여 가상 오브젝트들을 정확히 묘사하기 위해 실세계의 모든 피처들 및 포인트들을 아는 것이 유리하다. 이를 위해, 웨어러블 시스템의 사용자들로부터 캡처된 FOV 이미지들은, 실세계의 다양한 포인트들 및 피처들에 관한 정보를 운반하는 새로운 사진들을 포함함으로써 세계 모델에 추가될 수 있다. 예컨대, 웨어러블 시스템은, 한 세트의 맵 포인트들(이를테면, 2D 포인트들 또는 3D 포인트들)을 수집하고 새로운 맵 포인트들을 발견하여 세계 모델의 보다 정확한 버전을 렌더링할 수 있다. 제1 사용자의 세계 모델은 (예컨대, 네트워크, 이를테면 클라우드 네트워크를 통해) 제2 사용자에게 통신될 수 있어서, 제2 사용자는 제1 사용자 주변의 세계를 경험할 수 있다.
[0105] 도 7은 MR 환경(700)의 예의 블록 다이어그램이다. MR 환경(700)은 하나 이상의 사용자 웨어러블 시스템들(예컨대, 웨어러블 시스템(200) 또는 디스플레이 시스템(220)) 또는 고정 룸 시스템들(예컨대, 룸 카메라들 등)로부터 입력(예컨대, 사용자의 웨어러블 시스템으로부터의 시각 입력(702), 이를테면, 룸 카메라들로부터의 고정 입력(704), 다양한 센서들로부터의 감각 입력(706), 제스처들, 토템들, 눈 추적, 사용자 입력 디바이스(466)로부터의 사용자 입력 등)을 수신하도록 구성될 수 있다. 웨어러블 시스템들은 사용자의 환경의 위치 및 다양한 다른 속성들을 결정하기 위해 다양한 센서들(예컨대, 가속도계들, 자이로스코프들, 온도 센서들, 움직임 센서들, 깊이 센서들, GPS 센서들, 내향 이미징 시스템, 외향 이미징 시스템 등)을 사용할 수 있다. 이 정보는 추가로, 이미지들을 제공할 수 있는 룸의 고정 카메라들로부터의 정보 또는 상이한 관점으로부터의 다양한 큐들로 보충될 수 있다. 카메라들(이를테면, 룸 카메라들 및/또는 외향 이미징 시스템의 카메라들)에 의해 획득된 이미지 데이터는 한 세트의 맵핑 포인트들로 감소될 수 있다.
[0106] 하나 이상의 오브젝트 인식기들(708)은 맵 데이터베이스(710)의 도움으로, 수신된 데이터(예컨대, 포인트들의 모음)를 크롤링(crawl)하고, 포인트들을 인식 또는 맵핑하고, 이미지들을 태깅하고, 시맨틱 정보를 오브젝트들에 부착할 수 있다. 맵 데이터베이스(710)는 시간이 지남에 따라 수집된 다양한 포인트들 및 그들의 대응하는 오브젝트들을 포함할 수 있다. 다양한 디바이스들 및 맵 데이터베이스는 클라우드에 액세스하기 위해 네트워크(예컨대, LAN, WAN 등)를 통해 서로 연결될 수 있다.
[0107] 맵 데이터베이스의 이러한 정보 및 포인트들의 모음에 기반하여, 오브젝트 인식기들(708a 내지 708n)은 환경 내의 오브젝트들을 인식할 수 있다. 예컨대, 오브젝트 인식기들은 얼굴들, 사람들, 창문들, 벽들, 사용자 입력 디바이스들, 텔레비전들, 사용자 환경의 다른 오브젝트들 등을 인식할 수 있다. 하나 이상의 오브젝트 인식기들은 특정 특징들을 갖는 오브젝트에 대해 전문화될 수 있다. 예컨대, 오브젝트 인식기(708a)는 얼굴들을 인식하는 데 사용될 수 있는 반면, 다른 오브젝트 인식기는 토템들을 인식하기 위해 사용될 수 있다.
[0108] 오브젝트 인식들은 다양한 컴퓨터 비전 기법들을 사용하여 수행될 수 있다. 예컨대, 웨어러블 시스템은 장면 재구성, 이벤트 검출, 비디오 추적, 오브젝트 인식, 오브젝트 포즈 추정, 학습, 인덱싱, 모션 추정, 또는 이미지 복원 등을 수행하기 위해 (도 4에 도시된) 외향 이미징 시스템(464)에 의해 획득된 이미지들을 분석할 수 있다. 하나 이상의 컴퓨터 비전 알고리즘들이 이러한 임무들을 수행하기 위해 사용될 수 있다. 컴퓨터 비전 알고리즘들의 비-제한적인 예들은, 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), 뉴럴 네트워크(콘볼루셔널 또는 딥 뉴럴 네트워크들을 포함함) 또는 다른 감독된/비-감독된 모델들 등) 등을 포함한다.
[0109] 오브젝트 인식들은 추가적으로 또는 대안적으로, 다양한 머신 학습 알고리즘들에 의해 수행될 수 있다. 일단 트레이닝되면, 머신 학습 알고리즘은 HMD에 의해 저장될 수 있다. 머신 학습 알고리즘들의 일부 예들은, 회귀 알고리즘들(이를테면, 예컨대, 정규 최소 제곱 회귀(Ordinary Least Squares Regression)), 인스턴스-기반 알고리즘들(이를테면, 예컨대, 학습 벡터 양자화(Learning Vector Quantization)), 결정 트리 알고리즘들(이를테면, 예컨대, 분류 및 회귀 트리들), 베이지안 알고리즘들(이를테면, 예컨대, 나이브 베이즈), 클러스터링 알고리즘들(이를테면, 예컨대, k-평균 클러스터링), 연관 규칙 학습 알고리즘들(이를테면, 예컨대, 선험적 알고리즘들), 인공 뉴럴 네트워크 알고리즘들(이를테면, 예컨대, 퍼셉트론(Perceptron)), 딥 학습 알고리즘들(이를테면, 예컨대, 딥 볼츠만 머신, 또는 딥 뉴럴 네트워크), 차원 감소 알고리즘(이를테면, 예컨대, 주요한 컴포넌트 분석(Principal Component Analysis)), 앙상블 알고리즘들(이를테면, 예컨대, 스택된 일반화(Stacked Generalization)), 및/또는 다른 머신 학습 알고리즘들을 포함하는 감독된 또는 비-감독된 머신 학습 알고리즘들을 포함할 수 있다. 일부 실시예들에서, 개별 모델들은 개별 데이터 세트들에 대해 맞춤화될 수 있다. 예컨대, 웨어러블 디바이스는 기본 모델을 생성하거나 저장할 수 있다. 기본 모델은 데이터 타입(예컨대, 텔레프레전스 세션의 특정 사용자), 데이터 세트(예컨대, 텔레프레전스 세션의 사용자의 획득된 한 세트의 추가적인 이미지들), 조건부 상황들, 또는 다른 변동들에 특정적인 추가적인 모델들을 생성하기 위한 시작 포인트로서 사용될 수 있다. 일부 실시예들에서, 웨어러블 HMD는 총체적인 데이터의 분석을 위한 모델들을 생성하기 위해 복수의 기법들을 활용하도록 구성될 수 있다. 다른 기법들은 미리 정의된 임계치들 또는 데이터 값들을 사용하는 것을 포함할 수 있다.
[0110] 이러한 정보 및 맵 데이터베이스의 포인트들의 집합에 기반하여, 오브젝트 인식기들(708a 내지 708n)은 오브젝트들을 인식하고, 오브젝트들에 생명을 부여하기 위해 시맨틱 정보를 이용하여, 인식된 오브젝트들을 보충할 수 있다. 예컨대, 만약 오브젝트 인식기가 한 세트의 포인트들을 문이라고 인식하면, 시스템은 일부 시맨틱 정보를 부착할 수 있다(예컨대, 문은 힌지(hinge)를 갖고, 힌지를 중심으로 90도 움직임을 가짐). 만약 오브젝트 인식기가 한 세트의 포인트들을 미러라고 인식하면, 시스템은 미러는 룸 내의 오브젝트들의 이미지들을 반사할 수 있는 반사 표면을 갖는다는 시맨틱 정보를 부착할 수 있다. 시간이 지남에 따라, 시스템(로컬로 상주할 수 있거나, 또는 무선 네트워크를 통해 액세스가능할 수 있음)이 세계로부터 더 많은 데이터를 누적함에 따라 맵 데이터베이스가 성장한다. 일단 오브젝트들이 인식되면, 정보는 하나 이상의 웨어러블 시스템들에 송신될 수 있다. 예컨대, MR 환경(700)은 캘리포니아에서 일어나는 장면에 관한 정보를 포함할 수 있다. 환경(700)은 뉴욕의 하나 이상의 사용자들에게 송신될 수 있다. FOV 카메라로부터 수신된 데이터 및 다른 입력들에 기반하여, 오브젝트 인식기들 및 다른 소프트웨어 컴포넌트들은 다양한 이미지들로부터 수집된 포인트들을 맵핑하고, 오브젝트들을 인식하는 등을 수행할 수 있어서, 장면이 세계의 상이한 부분에 있을 수 있는 제2 사용자에게 정확히 "전달될" 수 있다. 환경(700)은 또한 로컬화 목적들을 위해 토폴로지컬 맵을 사용할 수 있다.
[0111] 도 8은 인식된 오브젝트들에 관하여 가상 콘텐츠를 렌더링하는 방법(800)의 예의 프로세스 흐름도이다. 방법(800)은 가상 장면이 웨어러블 시스템의 사용자에게 어떻게 표현될 수 있는지를 설명한다. 사용자는 장면으로부터 지리적으로 원격일 수 있다. 예컨대, 사용자는 뉴욕에 있을 수 있지만, 현재 캘리포니아에서 진행되고 있는 장면을 보기를 원할 수 있거나, 또는 캘리포니아에 거주하는 친구와 함께 산책을 하러 가기를 원할 수 있다.
[0112] 블록(810)에서, 웨어러블 시스템은 사용자 및 다른 사용자들로부터, 사용자의 환경에 관한 입력을 수신할 수 있다. 이는 다양한 입력 디바이스들 및 맵 데이터베이스에 이미 보유된 지식을 통해 달성될 수 있다. 블록(810)에서, 사용자의 FOV 카메라, 센서들, GPS, 눈 추적 등은 시스템에 정보를 운반한다. 블록(820)에서, 시스템은 이러한 정보에 기반하여 희소 포인트들을 결정할 수 있다. 희소 포인트들은 사용자의 주변들의 다양한 오브젝트들의 배향 및 포지션을 디스플레이 및 이해하기 위해 사용될 수 있는 포즈 데이터(예컨대, 머리 포즈, 눈 포즈, 신체 포즈 또는 손 제스처들)를 결정하는데 사용될 수 있다. 블록(830)에서, 오브젝트 인식기들(708a, 708n)은 이러한 수집된 포인트들을 크롤링하고, 맵 데이터베이스를 사용하여 하나 이상의 오브젝트들을 인식할 수 있다. 그런다음, 블록(840)에서, 이러한 정보는 사용자의 개별 웨어러블 시스템으로 운반될 수 있으며, 그에 따라서, 블록(850)에서, 원하는 가상 장면이 사용자에게 디스플레이될 수 있다. 예컨대, 원하는 가상 장면(예컨대, CA의 사용자)은 뉴욕의 사용자의 다양한 오브젝트들 및 다른 주변들에 관하여 적절한 배향, 포지션 등에서 디스플레이될 수 있다.
[0113] 도 9는 웨어러블 시스템의 다른 예의 블록 다이어그램이다. 이러한 예에서, 웨어러블 시스템(900)은, 세계에 대한 맵 데이터를 포함할 수 있는 맵을 포함한다. 맵은 부분적으로 웨어러블 시스템 상에 로컬로 상주할 수 있고, (예컨대, 클라우드 시스템에서) 유선 또는 무선 네트워크에 의해 액세스가능한 네트워킹된 저장 위치들에 부분적으로 상주할 수 있다. 포즈 프로세스(910)(예컨대, 머리 또는 눈 포즈)는 웨어러블 컴퓨팅 아키텍처(예컨대, 프로세싱 모듈(260) 또는 제어기(460)) 상에서 실행되고 맵으로부터 데이터를 활용하여, 웨어러블 컴퓨팅 하드웨어 또는 사용자의 포지션 및 배향을 결정할 수 있다. 포즈 데이터는 사용자가 시스템을 경험하고 세계에서 동작할 때 즉석에서(on the fly) 수집된 데이터로부터 컴퓨팅될 수 있다. 데이터는 이미지들, 센서들(이를테면, 일반적으로 가속도계 및 자이로스코프 컴포넌트들을 포함하는 관성 측정 유닛들)로부터의 데이터 및 실제 또는 가상 환경의 오브젝트들에 관련된 표면 정보를 포함할 수 있다.
[0114] 희소 포인트 표현은 동시적인 로컬화 및 맵핑(입력이 이미지들/시각 전용인 구성을 지칭하는 SLAM 또는 V-SLAM) 프로세스의 출력일 수 있다. 시스템은 다양한 컴포넌트들이 세계 어디에 있는지 뿐만 아니라, 세상이 무엇으로 이루어져 있는지를 파악하도록 구성될 수 있다. 포즈는 맵을 파퓰레이팅(populate)하고 맵으로부터의 데이터를 사용하는 것을 포함해서, 다수의 목표들을 달성하는 빌딩 블록일 수 있다.
[0115] 일 실시예에서, 희소 포인트 포지션은 그 자체로 완전히 충분하지 않을 수 있고, 다초점 AR, VR 또는 MR 경험을 생성하기 위해 추가적인 정보가 필요할 수 있다. 일반적으로 깊이 맵 정보를 지칭하는 밀집된 표현들이 이러한 갭을 적어도 부분적으로 충전하기 위해 활용될 수 있다. 그러한 정보는 입체(940)로서 지칭되는 프로세스로부터 컴퓨팅될 수 있으며, 여기서 깊이 정보는 기법, 이를테면 삼각측량 또는 비행-시간 감지를 사용하여 결정된다. 이미지 정보 및 활성 패턴들(이를테면, 활성 투사기들을 사용하여 생성된 적외선 패턴들)은 입체 프로세스(940)에 대한 입력으로서 역할을 할 수 있다. 상당한 양의 깊이 맵 정보가 함께 융합될 수 있으며, 그 중 일부는 표면 표현으로 요약될 수 있다. 예컨대, 수학적으로 정의가능한 표면들은 (예컨대, 큰 포인트 클라우드에 비해) 효율적이고, 게임 엔진들과 같은 다른 프로세싱 디바이스들에 이해가능한 입력들일 수 있다. 따라서, 입체 프로세스(940)의 출력(예컨대, 깊이 맵)은 융합 프로세스(930)에서 조합될 수 있다. 포즈는 또한 이 융합 프로세스(930)에 대한 입력일 수 있고, 융합(930)의 출력은 맵 프로세스(920)를 파퓰레이팅하기 위한 입력이 된다. 서브-표면들이 이를테면, 토폴리지 맵핑에서 서로 연결되어 더 큰 표면들을 형성할 수 있고, 맵은 포인트들 및 표면들의 큰 하이브리드가 된다.
[0116] 혼합 현실 프로세스(960)에서의 다양한 양상들을 해결하기 위해, 다양한 입력들이 활용될 수 있다. 예컨대, 도 9에 묘사된 실시예에서, 게임 파라미터들은, 시스템의 사용자가 다양한 위치들에서의 하나 이상의 괴물들, 다양한 조건들 하에서 죽거나 도망치는 괴물들(이를테면, 사용자가 괴물을 사냥하는 경우), 다양한 위치들에서의 벽들 또는 다른 오브젝트들 등을 갖는 괴물 전투 게임을 하고 있다고 결정하기 위한 입력들일 수 있다. 세계 맵은 혼합 현실로의 다른 가치있는 입력이 되도록 그러한 오브젝트들이 서로에 대해 존재하는 곳에 관한 정보를 포함할 수 있다. 세계에 대한 포즈가 또한 입력이 되며, 거의 모든 상호작용 시스템에 대해 중요한 역할을 한다.
[0117] 사용자로부터의 제어들 또는 입력들은 웨어러블 시스템(900)에 대한 다른 입력이다. 본원에서 설명된 바와 같이, 사용자 입력들은 시각 입력, 제스처들, 토템들, 오디오 입력, 감각 입력 등을 포함할 수 있다. 예컨대, 주위를 돌아다니거나 게임을 하기 위해, 사용자는 자신이 하기를 원하는 것에 관해 웨어러블 시스템(900)에게 명령할 필요가 있을 수 있다. 단지 공간에서 자신을 움직이는 것 외에도, 활용될 수 있는 다양한 형태들의 사용자 제어들이 존재한다. 일 실시예에서, 토템(예컨대, 사용자 입력 디바이스), 또는 오브젝트, 이를테면, 장난감 총은 사용자에 의해 홀딩되고 시스템에 의해 추적될 수 있다. 시스템은 바람직하게는, 사용자가 아이템을 홀딩하고 있다는 것을 알고 사용자가 아이템과 어떤 종류의 상호작용을 하고 있는지를 이해하도록 구성될 것이다(예컨대, 만약 토템 또는 오브젝트가 총이면, 시스템은 위치 및 배향뿐만 아니라, 센서, 이를테면 IMU가 장착될 수 있는 트리거 또는 다른 감지 버튼 또는 엘리먼트를 사용자가 클릭하고 있는지 여부를 이해하도록 구성될 수 있으며, 이러한 센서는 그러한 활동이, 카메라들 중 임의의 것의 시야 내에 있지 않을 때라도 무슨 일이 일어나고 있는지를 결정하는데 도움을 줄 수 있음).
[0118] 손 제스처 추적 또는 인식은 또한 입력 정보를 제공할 수 있다. 웨어러블 시스템(900)은 버튼 누름들에 대해, 왼쪽 또는 오른쪽, 정지, 잡기 및 홀드의 제스처에 대해, 기타 등등에 대해 손 제스처들을 추적 및 해석하도록 구성될 수 있다. 예컨대, 일 구성에서, 사용자는 비-게이밍 환경에서 이메일들 또는 캘린더를 훑어보거나 또는 다른 사람 또는 플레이어와 "주먹 인사"를 하길 원할 수 있다. 웨어러블 시스템(900)은, 동적일 수 있거나 동적이지 않을 수 있는 최소 크기의 손 제스처를 레버리지(leverage)하도록 구성될 수 있다. 예컨대, 제스처들은 중지를 위한 펼쳐진 손, ok를 위한 엄지손가락 올리기, not ok를 위한 엄지손가락 내리기; 또는 방향성 커맨드들을 위한 오른쪽 또는 왼쪽 또는 위/아래로의 손 뒤집기와 같은 단순한 정적 제스처일 수 있다.
[0119] 눈 추적(예컨대, 특정한 깊이 또는 범위로 렌더링하도록 디스플레이 기술을 제어하기 위해 사용자가 바라보는 곳을 추적함)은 다른 입력이다. 일 실시예에서, 눈들의 이접운동은 삼각측량을 사용하여 결정될 수 있으며, 그런다음, 그 특정 사람을 위해 개발된 이접운동/원근조절 모델을 사용하여, 원근조절이 결정될 수 있다.
[0120] 음성 인식은 단독으로 또는 다른 입력들(예컨대, 토템 추적, 눈 추적, 제스처 추적 등)과 함께 사용될 수 있는 다른 입력이다. 시스템(900)은 환경으로부터 오디오 스트림을 수신하는 오디오 센서(232)(예컨대, 마이크로폰)를 포함할 수 있다. 수신된 오디오 스트림은 오디오 스트림으로부터 커맨드들, 서브젝트들, 파라미터들 등을 추출하기 위해 (다른 음성들 또는 배경 오디오로부터) 사용자의 음성을 인식하도록 (예컨대, 프로세싱 모듈들(260, 270) 또는 중앙 서버(1650)에 의해) 프로세싱될 수 있다. 예컨대, 시스템(900)은, "move that there"라는 어구가 말해졌다는 것을 오디오 스트림으로부터 식별하고, 이러한 어구가 (사용자의 환경 내의 다른 사람이기 보다는) 시스템(900)의 착용자에 의해 말해졌다는 것을 식별하고, 실행가능한 명령("move") 및 위치("there")로 이동될 오브젝트("that")가 존재하는 것을 그 어구로부터 추출할 수 있다. 커맨드에 의해 동작될 오브젝트는 커맨드의 서브젝트로서 지칭될 수 있고, 다른 정보가 파라미터로서 커맨드에 제공된다. 이러한 예에서, 오브젝트가 이동되어야 하는 곳의 위치는 이동 커맨드에 대한 파라미터이다. 파라미터들은, 예컨대, 위치, 시간, 상호작용될 다른 오브젝트들(예컨대, "move that next to the red chair" 또는 "give the magic wand to Linda"), 커맨드가 어떻게 실행되는지(예컨대, "play my music using the upstairs speakers") 등을 포함할 수 있다.
[0121] 다른 예로서, 시스템(900)은, 텍스트의 스트링을 입력하고 텍스트의 콘텐츠를 수정하기 위한 스피치 인식 기법들로 오디오 스트림을 프로세싱할 수 있다. 시스템(900)은 누가 말하고 있는지를 결정하기 위한 스피커 인식 기술뿐만 아니라, 무엇을 말하고 있는지를 결정하기 위한 스피치 인식 기술을 통합할 수 있다. 음성 인식 기법들은 은닉 마르코프 모델들, 가우스 혼합 모델, 패턴 매칭 알고리즘들, 뉴럴 네트워크들, 매트릭스 표현, 벡터 양자화, 스피커 분리(speaker diarisation), 판정 트리들 및 DTW(dynamic time warping) 기법들을 단독으로 또는 조합하여 포함할 수 있다. 음성 인식 기법들은 또한, 코호트(cohort) 모델들 및 세계 모델들과 같은 안티-스피커 기법들을 포함할 수 있다. 스펙트럼 피처들은 스피커 특징들을 나타내는 데 사용될 수 있다.
[0122] 카메라 시스템들과 관련하여, 도 9에 도시된 예시적인 웨어러블 시스템(900)은 3개의 쌍들의 카메라들, 즉 사용자의 얼굴의 측면들에 대해 배열되는 비교적 넓은 FOV 또는 수동 SLAM 쌍의 카메라들, 입체 이미징 프로세스(940)를 다루기 위해 그리고 또한, 사용자의 얼굴의 앞에서 손 제스처들 및 토템/오브젝트 추적을 캡처하기 위해 사용자의 앞에 배향된 상이한 쌍의 카메라들을 포함할 수 있다. FOV 카메라들 및 입체 프로세스(940)를 위한 한 쌍의 카메라들은 (도 4에 도시된) 외향 이미징 시스템(464)의 일부일 수 있다. 웨어러블 시스템(900)은 눈 벡터들 및 다른 정보를 삼각측량하기 위해 사용자의 눈들을 향해 배향되는 눈 추적 카메라들(도 4에 도시된 내향 이미징 시스템(462)의 일부일 수 있음)을 포함할 수 있다. 웨어러블 시스템(900)은 또한 장면에 텍스처를 주입하기 위해 하나 이상의 텍스처링된 광 투사기들(이를테면, IR(infrared) 투사기들)을 포함할 수 있다.
[0123] 도 10은 웨어러블 시스템에 대한 사용자 입력을 결정하기 위한 방법(1000)의 예의 프로세스 흐름도이다. 이러한 예에서, 사용자는 토템과 상호작용할 수 있다. 사용자는 다수의 토템들을 가질 수 있다. 예컨대, 사용자는 소셜 미디어 애플리케이션에 대해 하나의 토템, 게임들을 하기 위해 다른 토템 등을 지정하였을 수 있다. 블록(1010)에서, 웨어러블 시스템은 토템의 모션을 검출할 수 있다. 토템의 움직임은 외향 시스템을 통해 인식될 수 있거나, 또는 센서들(예컨대, 햅틱 글러브, 이미지 센서들, 손 추적 디바이스들, 눈-추적 카메라들, 머리 포즈 센서들 등)을 통해 검출될 수 있다.
[0124] 블록(1020)에서, 토템을 통한 검출된 제스처, 눈 포즈, 머리 포즈, 또는 입력에 적어도 부분적으로 기반하여, 웨어러블 시스템은 기준 프레임에 대하여 토템(또는 사용자의 눈들 또는 머리 또는 제스처들)의 포지션, 배향, 및/또는 움직임을 검출한다. 기준 프레임은 한 세트의 맵 포인트들일 수 있으며, 그 한 세트의 맵 포인트들에 기반하여, 웨어러블 시스템은 토템(또는 사용자)의 움직임을 액션 또는 커맨드로 변환한다. 블록(1030)에서, 토템과의 사용자의 상호작용이 맵핑된다. 기준 프레임(1020)에 대한 사용자 상호작용의 맵핑에 기반하여, 블록(1040)에서 시스템은 사용자 입력을 결정한다.
[0125] 예컨대, 사용자는 가상 페이지를 넘기고(turning) 다음 페이지로 이동하거나 또는 하나의 UI(user interface) 디스플레이 스크린으로부터 다른 UI 스크린으로 이동하는 것을 나타내기 위해 토템 또는 물리적 오브젝트를 앞뒤로 이동시킬 수 있다. 다른 예로서, 사용자는 사용자의 FOR에 있는 상이한 실제 또는 가상 오브젝트들을 보기 위해 그들의 머리 또는 눈들을 움직일 수 있다. 만약 특정 실제 또는 가상 오브젝트에서의 사용자의 시선이 임계 시간보다 길면, 실제 또는 가상 오브젝트는 사용자 입력으로서 선택될 수 있다. 일부 구현들에서, 사용자의 눈들의 이접운동이 추적될 수 있으며, 원근조절/이접운동 모델은, 사용자가 초점을 맞추고 있는 렌더링 평면에 대한 정보를 제공하는 사용자의 눈들의 원근조절 상태를 결정하기 위해 사용될 수 있다. 일부 구현들에서, 웨어러블 시스템은 어떤 실제 또는 가상 오브젝트들이 사용자의 머리 포즈 또는 눈 포즈의 방향을 따라 존재하는지를 결정하기 위해 콘 캐스팅(cone casting) 기법들을 사용할 수 있다. 일반적으로 설명된 콘 캐스팅 기법들은 사용자가 보고 있는 방향으로 비가적인 콘을 투사하고, 콘과 교차하는 임의의 오브젝트들을 식별할 수 있다. 콘 캐스팅들은, 실질적으로 가로 폭이 거의 없는 얇은 광속 광선들을 캐스팅하는 것 또는 (웨어러블 시스템의) AR 디스플레이로부터 물리 또는 가상 오브젝트들을 향해 실질적인 가로 폭을 갖는 광선들(예컨대, 콘들 또는 절두체들)을 캐스팅하는 것을 수반할 수 있다. 단일 광선을 갖는 콘 캐스팅은 또한 광선 캐스팅으로서 지칭될 수 있다. 콘 캐스팅 기법들의 상세한 예들은 2017년 3월 29일자로 출원되고 발명의 명칭이 "Interactions with 3D Virtual Objects Using Poses and Multiple-DOF Controllers"인 미국 출원 제15/473,444호에 설명되고, 이로써 이 출원의 전체 개시내용은 인용에 의해 본원에 포함된다.
[0126] 사용자 인터페이스는 본원에서 설명된 바와 같이 디스플레이 시스템(이를테면, 도 2a의 디스플레이(220))에 의해 투사될 수 있다. 그것은 또한, 다양한 다른 기법들, 이를테면 하나 이상의 투사기들을 사용하여 디스플레이될 수 있다. 투사기들은 물리적 오브젝트, 이를테면 캔버스 또는 구체 상으로 이미지들을 투사할 수 있다. 사용자 인터페이스와의 상호작용들은 시스템 또는 시스템의 일부 외부의 하나 이상의 카메라들을 사용하여 (이를테면, 예컨대 내향 이미징 시스템(462) 또는 외향 이미징 시스템(464)을 사용하여) 추적될 수 있다.
[0127] 도 11은 가상 사용자 인터페이스와 상호작용하기 위한 방법(1100)의 예의 프로세스 흐름도이다. 방법(1100)은 본원에서 설명된 웨어러블 시스템에 의해 수행될 수 있다.
[0128] 블록(1110)에서, 웨어러블 시스템은 특정 UI를 식별할 수 있다. UI의 타입은 사용자에 의해 미리 결정될 수 있다. 웨어러블 시스템은, 특정 UI가 사용자 입력(예컨대, 제스처, 시각 데이터, 오디오 데이터, 감각 데이터, 지향 커맨드 등)에 기반하여 파퓰레이팅될 필요가 있다는 것을 식별할 수 있다. 블록(1120)에서, 웨어러블 시스템은 가상 UI에 대한 데이터를 생성할 수 있다. 예컨대, UI의 한계들, 일반적인 구조, 형상 등과 연관된 데이터가 생성될 수 있다. 게다가, 웨어러블 시스템은 사용자의 물리적 위치에 관하여 UI를 디스플레이할 수 있기 위해서 그 사용자의 물리적 위치의 맵 좌표들을 결정할 수 있다. 예컨대, 만약 UI가 신체 중심이라면, 웨어러블 시스템은, 링 UI가 사용자 주위에서 디스플레이될 수 있거나 또는 평면 UI가 벽 상에 또는 사용자의 앞에 디스플레이될 수 있도록, 사용자의 물리적 자세, 머리 포즈, 또는 눈 포즈의 좌표들을 결정할 수 있다. 만약 UI가 손 중심이라면, 사용자의 손들의 맵 좌표들이 결정될 수 있다. 이들 맵 포인트들은 FOV 카메라들을 통해 수신된 데이터, 감각 입력, 또는 임의의 다른 타입의 수집된 데이터를 통해 도출될 수 있다.
[0129] 블록(1130)에서, 웨어러블 시스템은 클라우드로부터 디스플레이로 데이터를 전송할 수 있거나 또는 데이터가 로컬 데이터베이스로부터 디스플레이 컴포넌트들로 전송될 수 있다. 블록(1140)에서, UI는 전송된 데이터에 기반하여 사용자에게 디스플레이된다. 예컨대, 광 필드 디스플레이는 가상 UI를 사용자의 눈들 중 하나 또는 둘 다로 투사할 수 있다. 일단 가상 UI가 생성되면, 블록(1150)에서 웨어러블 시스템은 단순히 가상 UI 상에 더 많은 가상 콘텐츠를 생성하기 위해 사용자로부터의 커맨드를 기다릴 수 있다. 예컨대, UI는 사용자의 신체 주위의 신체 중심 링일 수 있다. 그런다음, 웨어러블 시스템은 커맨드(제스처, 머리 또는 눈 움직임, 사용자 입력 디바이스로부터의 입력 등)를 기다릴 수 있으며, 만약 그것이 인지되면(블록(1160)), 커맨드와 연관된 가상 콘텐츠가 사용자에게 디스플레이될 수 있다(블록(1170)). 예로서, 웨어러블 시스템은 다수의 스트림 트랙들을 혼합하기 전에 사용자의 손 제스처들을 대기할 수 있다.
[0130] 웨어러블 시스템들, UI들 및 사용자 경험들(UX)의 추가적인 예들은 미국 특허 공보 번호 제2015/0016777호에 설명되어 있으며, 이는 그 전체가 인용에 의해 본원에 통합된다.
FOR(Field of Regard) 및 FOV(Field of View)의 오브젝트들의 예들
[0131] 도 12a는 FOR(field of regard)(1200), 세계 카메라의 FOV(field of view)(1270), 사용자의 시야(1250) 및 사용자의 응시 필드(1290)의 예를 개략적으로 예시한다. 도 4를 참조하여 설명된 바와 같이, FOR(1200)은 웨어러블 시스템을 통해 사용자에 의해 지각될 수 있는 사용자 주변의 환경의 일부를 포함한다. FOR은 착용자가 자신의 신체, 머리 또는 눈들을 움직여 공간에서 실질적으로 임의의 방향을 지각할 수 있기 때문에 웨어러블 시스템 주변의 4π 스테라디안의 입체각을 포함할 수 있다. 다른 맥락들에서, 착용자의 움직임들은 더 제약될 수 있고, 그에 따라서 착용자의 FOR는 더 작은 입체각의 범위를 정할 수 있다.
[0132] 세계 카메라의 시야(1270)는 외향 이미징 시스템(464)에 의해 현재 관찰되는 사용자의 FOR의 일부를 포함할 수 있다. 도 4를 참조하면, 세계 카메라의 시야(1270)는 정해진 시간에 웨어러블 시스템(400)에 의해 관찰되는 세계(470)를 포함할 수 있다. 세계 카메라의 FOV(1270)의 사이즈는 외향 이미징 시스템(464)의 광학 특징들에 의존할 수 있다. 예컨대, 외향 이미징 시스템(464)은 사용자 주변의 190도 공간을 이미징할 수 있는 넓은 각도 카메라를 포함할 수 있다. 특정 구현들에서, 세계 카메라의 FOV(1270)는 사용자의 눈들의 자연스러운 FOV보다 크거나 동일할 수 있다.
[0133] 사용자의 FOV(1250)는 사용자가 정해진 시간에 지각하는 FOR(1200)의 일부를 포함할 수 있다. FOV는 웨어러블 디바이스의 디스플레이의 사이즈 또는 광학 특징들에 의존할 수 있다. 예컨대, AR/MR 디스플레이는 사용자가 디스플레이의 특정 부분을 볼 때 AR/MR 기능성을 제공하는 광학기를 포함할 수 있다. FOV(1250)는 예컨대 스택된 도파관 어셈블리(480)(도 4) 또는 평면형 도파관(600)(도 6)과 같은 AR/MR 디스플레이를 통해 볼 때 사용자에 의해 지각 가능한 입체각에 대응할 수 있다. 특정 실시예들에서, 사용자의 FOV(1250)는 사용자의 눈들의 자연스러운 FOV보다 작을 수 있다.
[0134] 웨어러블 시스템은 또한 사용자의 응시 필드(1290)를 결정할 수 있다. 응시 필드(1290)는 FOV(1250)의 일부를 포함할 수 있으며, 사용자의 눈들은 FOV(1250)의 일부를 응시할 수 있다(예컨대, FOV(1250)의 일부에 시각 시선을 유지할 수 있다). 응시 필드(1290)는 광이 들어가는 눈들의 중심와 구역에 대응할 수 있다. 응시 필드(1290)는 사용자의 FOV(1250) 보다 작을 수 있으며, 예컨대 응시 필드는 몇 도 내지 약 5 도일 수 있다. 결과적으로, 사용자는 응시 필드(1290)에 있지 않지만 사용자의 주변 시야에 있는 일부 가상 오브젝트들을 FOV(1250)에서 지각할 수 있다.
[0135] 도 12b는 사용자의 FOV(field of view)에서의 가상 오브젝트들 및 FOR(field of regard)에서의 가상 오브젝트들의 예를 개략적으로 예시한다. 도 12b에서, FOR(1200)은 웨어러블 시스템을 통해 사용자에 의해 지각될 수 있는 오브젝트들(예컨대, 1210, 1220, 1230, 1242 및 1244)의 그룹을 포함할 수 있다. 사용자의 FOR(1200)내의 오브젝트들은 가상 및/또는 물리적 오브젝트들일 수 있다. 예컨대, 사용자의 FOR(1200)은 의자, 소파, 벽 등과 같은 물리적 오브젝트를 포함할 수 있다. 가상 오브젝트들은 오퍼레이팅 시스템 오브젝트들, 이를테면 예컨대 삭제된 파일들을 위한 휴지통, 커맨드들을 입력하기 위한 터미널, 파일들 또는 디렉토리들에 액세스하기 위한 파일 관리자, 아이콘, 메뉴, 오디오 또는 비디오 스트리밍을 위한 애플리케이션, 오퍼레이팅 시스템으로부터의 통지, 텍스트, 텍스트 편집 애플리케이션, 메시징 애플리케이션 등을 포함할 수 있다. 가상 오브젝트들은 또한 예컨대 아바타들, 게임들에서의 가상 오브젝트들, 그래픽들 또는 이미지들 등과 같은 애플리케이션의 오브젝트들을 포함할 수 있다. 일부 가상 오브젝트들은 오퍼레이팅 시스템 오브젝트 및 애플리케이션의 오브젝트 둘 모두일 수 있다. 일부 실시예들에서, 웨어러블 시스템은 기존 물리적 오브젝트들에 가상 엘리먼트들을 추가할 수 있다. 예컨대, 웨어러블 시스템은 룸의 텔레비전과 연관된 가상 메뉴를 추가할 수 있고, 여기서 가상 메뉴는 웨어러블 시스템을 사용하여 텔레비전의 채널들을 켜거나 변경하는 옵션을 사용자에게 제공할 수 있다.
[0136] 가상 오브젝트는 3D(three-dimensional), 2D(two-dimensional) 또는 1D(one-dimensional) 오브젝트일 수 있다. 예컨대, 가상 오브젝트는 (물리적 커피 메이커에 대한 가상 제어를 표현할 수 있는) 3D 커피잔일 수 있다. 가상 오브젝트는 또한 (현재 시간을 사용자에게 디스플레이하는) 시계의 2D 그래픽 표현일 수 있다. 일부 구현들에서, 하나 이상의 가상 오브젝트들은 다른 가상 오브젝트 내에 디스플레이될 수 있다(또는 다른 가상 오브젝트와 연관되어 디스플레이될 수 있다). 가상 커피잔은 사용자 인터페이스 평면의 내측에 있는 것으로 도시될 수 있지만, 가상 커피잔은 2D 평면 가상 공간 내에서 3D 인것처럼 보인다.
[0137] 사용자의 FOR 내의 오브젝트들은 도 9를 참조하여 설명된 바와 같이 세계 맵의 일부일 수 있다. 오브젝트들과 연관된 데이터(예컨대, 위치, 시맨틱 정보, 특성들 등)는 다양한 데이터 구조들, 이를테면 예컨대 어레이들, 리스트들, 트리들, 해시들, 그래프들 등으로 저장될 수 있다. 적용 가능한 경우, 각각의 저장된 오브젝트의 인덱스는 예컨대 오브젝트의 위치에 의해 결정될 수 있다. 예컨대, 데이터 구조는 기점 포지션으로부터의 오브젝트의 거리(예컨대, 기점 포지션의 왼쪽 또는 오른쪽까지의 거리, 기점 포지션의 최상부 또는 최하부로부터의 거리, 또는 기점 포지션으로부터 깊이-단위의 거리)와 같은 단일 좌표에 의해 오브젝트들을 인덱싱할 수 있다. 기점 포지션은 또한 사용자의 포지션(이를테면, 사용자의 머리의 포지션)에 기초하여 결정될 수 있다. 기점 포지션은 또한 사용자 환경에서 가상 또는 물리적 오브젝트 (이를테면, 타겟 오브젝트)의 포지션에 기초하여 결정될 수 있다. 그에 따라서, 사용자 환경에서의 3D 공간은 가상 오브젝트들이 기점 포지션으로부터의 오브젝트의 거리에 따라 배열되는 2D 사용자 인터페이스로 표현될 수 있다.
[0138] 도 12b에서, FOV(1250)는 파선(1252)으로 개략적으로 예시되어 있다. 웨어러블 시스템의 사용자는 오브젝트(1242), 오브젝트(1244), 및 오브젝트(1230)의 일부와 같은 FOV(1250)의 다수의 오브젝트들을 지각할 수 있다. 사용자의 포즈(예컨대, 머리 포즈 또는 눈 포즈)가 변함에 따라, FOV(1250)는 이에 대응하여 변경될 것이며, FOV(1250) 내의 오브젝트들은 또한 변할 수 있다. 예컨대, 도 12b에서, 맵(1210)은 초기에 사용자의 FOV 밖에 있다. 만일 사용자가 맵(1210) 쪽을 향하면, 맵(1210)은 사용자의 FOV(1250)로 이동할 수 있고, (예컨대) 오브젝트(1230)는 사용자의 FOV(1250) 밖으로 이동할 수 있다.
[0139] 웨어러블 시스템은 FOR(1200)의 오브젝트들 뿐만아니라 FOV(1250)의 오브젝트들을 계속 추적할 수 있다. 예컨대, 로컬 프로세싱 & 데이터 모듈(260)은 사용자의 FOR에서 가상 오브젝트들을 리트리브하기 위해 원격 프로세싱 모듈(270) 및 원격 데이터 저장소(280)와 통신할 수 있다. 로컬 프로세싱 & 데이터 모듈(260)은 가상 오브젝트들을, 예컨대 버퍼 또는 임시 스토리지에 저장할 수 있다. 로컬 프로세싱 & 데이터 모듈(260)은 본원에서 설명된 기술들을 사용하여 사용자의 FOV를 결정하고 사용자의 FOV 내에 있는 가상 오브젝트들의 서브세트를 렌더링할 수 있다. 사용자의 포즈가 변경될 때, 로컬 프로세싱 & 데이터 모듈(260)은 사용자의 FOV를 업데이트하고 그에 따라서 사용자의 현재 FOV에 대응하는 가상 오브젝트들의 다른 세트를 렌더링할 수 있다.
다양한 사용자 입력 모드들의 개요
[0140] 웨어러블 시스템은 동작을 수행하기 위한 다양한 입력 모드들을 수락하도록 프로그래밍될 수 있다. 예컨대, 웨어러블 시스템은 다음 타입들의 입력 모드들, 즉 음성 커맨드들, 머리 포즈들, 신체 포즈들(예컨대, 벨트 팩의 IMU 또는 HMD 외부의 센서에 의해 측정될 수 있음), 시선들 (본원에서는 눈 포즈로서 또한 지칭됨), 손 제스처들(또는 다른 신체 부위들에 의한 제스처들), 사용자 입력 디바이스(예컨대, 토템), 환경 센서들 등으로부터의 신호들 중 둘 이상을 수락할 수 있다. 컴퓨팅 디바이스들은 전형적으로 사용자로부터의 단일 입력에 기반하여 정해진 출력을 생성하도록 제작된다. 예컨대, 사용자는 키보드를 타이핑하여 텍스트 메시지를 입력하거나 또는 마우스를 사용하여 가상 오브젝트의 움직임을 안내할 수 있으며, 이는 손 제스처 입력 모드들의 예들이다. 다른 예로서, 컴퓨팅 디바이스는 사용자의 음성으로부터 오디오 데이터의 스트림을 수신하고, 음성 인식 기법들을 사용하여 오디오 데이터를 실행 가능한 커맨드로 변환할 수 있다.
[0141] 사용자 입력 모드는 일부 경우들에서 직접적 사용자 입력 또는 간접적 사용자 입력으로 비-배타적으로 분류될 수 있다. 직접적 사용자 입력은 예컨대 사용자 신체의 수의적 움직임 (예컨대, 머리 또는 눈들을 돌리고, 오브젝트 또는 위치를 응시하며, 어구를 말하며, 손가락 또는 손을 이동시키는 움직임)을 통해 사용자에 의해 직접 공급되는 사용자 상호작용일 수 있다. 직접적 사용자 입력의 예로서, 사용자는 예컨대 머리 포즈, 눈 포즈 (시선으로서 또한 지칭됨), 손 제스처 또는 다른 신체 포즈와 같은 포즈를 사용하여 가상 오브젝트와 상호작용할 수 있다. 예컨대, 사용자는 가상 오브젝트를 (머리 및/또는 눈들을 이용하여) 볼 수 있다. 직접적 사용자 입력의 다른 예는 사용자의 음성이다. 예컨대, 사용자는 “launch a browser”이라고 말하여, HMD로 하여금 브라우저 애플리케이션을 열게 할 수 있다. 직접적 사용자 입력의 또 다른 예로서, 사용자는 예컨대 터치 제스처 (이를테면, 토템의 터치-감응 부분을 터치하는 것) 또는 신체 움직임 (이를테면, 멀티 자유도 제어기로서 기능을 하는 토템을 회전시키는 것)을 통해 사용자 입력 디바이스를 작동시킬 수 있다.
[0142] 직접적 사용자 입력에 부가하여 또는 이에 대한 대안으로, 사용자는 또한 간접적 사용자 입력에 기반하여 가상 오브젝트와 상호작용할 수 있다. 간접적 사용자 입력은 예컨대 사용자 또는 가상 오브젝트의 지오로케이션, 사용자의 환경 등과 같은 다양한 콘텍스추얼 팩터들로부터 결정될 수 있다. 예컨대, 사용자의 지오로케이션은 (사용자의 집이라기 보다는) 사용자의 오피스에 있을 수 있으며, 상이한 임무들(예컨대, 업무 관련 임무들)은 (예컨대, GPS 센서로부터 도출되는) 지오로케이션에 기반하여 실행될 수 있다.
[0143] 콘텍스추얼 팩터는 또한 가상 오브젝트의 어포던스를 포함할 수 있다. 가상 오브젝트의 어포던스는 가상 오브젝트와 오브젝트의 환경 간의 관계를 포함할 수 있으며, 이는 오브젝트와 연관된 액션 또는 사용에 대한 기회를 부여한다. 어포던스들은 예컨대 오브젝트의 기능, 배향, 타입, 위치, 형상 및/또는 사이즈에 기초하여 결정될 수 있다. 어포던스들은 또한 가상 오브젝트가 위치되는 환경에 기반할 수 있다. 예로서, 수평 테이블의 어포던스는 오브젝트들이 테이블상에 세팅될 수 있다는 것이며, 수직 벽의 어포던스는 오브젝트들이 벽에 매달리거나 또는 벽에 투사될 수 있는 것이다. 예로서, 사람은 "place that there"라고 말하고, 가상 오피스 캘린더는 사용자의 오피스의 사용자의 책상에서 수평으로 나타나도록 배치된다.
[0144] 단일 직접적 사용자 입력 모드는 다양한 제한들을 생성할 수 있으며, 여기서 이용가능한 사용자 인터페이스 동작들의 수 또는 타입은 사용자 입력들의 타입으로 인해 제약될 수 있다. 예컨대, 머리 포즈가 정확한 사용자 상호작용들을 제공하는 것이 가능하지 않을 수 있기 때문에, 사용자는 머리 포즈로 줌 인 또는 줌 아웃가능하지 않을 수 있다. 다른 예로서, 사용자는 가상 오브젝트를 바닥으로부터 벽으로 이동시키기 위해 터치 패드상에서 엄지손가락을 앞뒤로 움직일 필요가 있을 수 있으며(또는 엄지손가락을 상당한 거리에 걸쳐 움직일 필요가 있을 수 있으며), 이는 시간이 지남에 따라 사용자 피로를 생성할 수 있다.
[0145] 그러나, 일부 직접적 입력 모드들은 사용자가 제공하기에 더 편리하고 더 직관적일 수 있다. 예컨대, 사용자는 제스처-기반 키보드 입력을 사용하여 문장을 타이핑할 필요성 없이 음성 커맨드를 발행하기 위해 웨어러블 시스템과 대화할 수 있다. 다른 예로서, 사용자는 타겟 가상 오브젝트를 식별하기 위해 커서를 이동시키기 보다는 손 제스처를 사용하여 타겟 가상 오브젝트를 가르킬 수 있다. 이들이 편리하거나 직관적이지 않을 수 있지만, 다른 직접적 입력 모드들은 사용자 상호작용의 정확도를 증가시킬 수 있다. 예컨대, 사용자는 커서를 가상 오브젝트로 이동시켜서 가상 오브젝트가 타겟 오브젝트임을 표시할 수 있다. 그러나, 앞서 설명된 바와같이, 만일 사용자가 직접적 사용자 입력 (예컨대, 머리 포즈, 또는 사용자의 동작의 직접적인 결과들인 다른 입력들)을 사용하여 동일한 가상 오브젝트를 선택하기를 원하면, 사용자는 정확한 머리 움직임을 제어할 필요가 있을 수 있으며, 이는 근육 피로를 유발할 수 있다. 3D 환경(예컨대, VR/AR/MR 환경)은 (평면 표면과 대조적으로) 사용자 입력이 또한 깊이와 관련하여 특정될 필요가 있을 수 있기 때문에 사용자 상호작용들에 대한 추가적인 난제들을 추가할 수 있다. 이러한 추가적인 깊이 차원은 2D 환경보다 더 많은 에러 기회들을 생성할 수 있다. 예컨대, 2D 환경에서, 사용자 입력은 좌표계에서 수평 축 및 수직 축에 대해 변환될 수 있는 반면, 사용자 입력은 3D 환경에서 3개의 축들(수평, 수직 및 깊이)에 대해 변환될 필요가 있을 수 있다. 그에 따라서, 사용자 입력의 부정확한 거래는 (2D 환경에서 2개의 축들 보다는) 3개의 축들에서 에러들을 유발할 수 있다.
[0146] 3D 공간에서 오브젝트들과 상호작용하는 정확도를 개선시키고 사용자 피로를 줄이면서 직접적 사용자 입력들의 기존 이익들을 활용하기 위해, 다수의 직접적 입력 모드들이 사용자 인터페이스 동작을 실행하기 위해 사용될 수 있다. 멀티모달 입력들은 데이터가 풍부하고 동적인 환경에서, 이를테면 예컨대 AR, VR 또는 MR 환경에서 가상 오브젝트들과의 상호작용들을 위한 기존 컴퓨팅 디바이스들(특히, 웨어러블 디바이스)을 추가로 개선할 수 있다.
[0147] 멀티모달 사용자 입력 기법들에서, 직접적 입력들 중 하나 이상은 사용자가 상호작용할 타겟 가상 오브젝트 (또한 서브젝트로서 지칭됨)를 식별하고 타겟 가상 오브젝트에서 수행될 사용자 인터페이스 동작을 결정하는데 사용될 수 있다. 예컨대, 사용자 인터페이스 동작은 커맨드 동작, 이를테면 선택 동작, 이동 동작, 줌 동작, 일시정지 동작, 플레이 동작, 및 커맨드 동작의 파라미터(이를테면, 예컨대 동작을 수행하는 방법, 동작이 이루어질 위치 또는 시간, 어느 타겟이 타겟 오브젝트와 상호작용할 것인지 등)을 포함할 수 있다. 타겟 가상 오브젝트를 식별하고 타겟 가상 오브젝트에 대해 수행될 상호작용을 결정하는 예로서, 사용자는 가상 스티커 메모를 보고(머리 또는 눈 포즈 입력 모드), 테이블을 가리키며 (제스처 입력 모드) 그리고 "move that there"를 말할 수 있다(음성 입력 모드). 웨어러블 시스템은 "move that there"라는 어구에서 타겟 가상 오브젝트가 가상 스티커 메모 ( "that")임을 식별할 수 있으며, 사용자 인터페이스 동작이 가상 스티커 메모를 테이블("there")로 이동시키는 것(실행가능한 커맨드)을 수반함을 결정할 수 있다. 이러한 예에서, 커맨드 동작은 가상 오브젝트를 "이동시키는 것"일 수 있는 반면에, 커맨드 동작의 파라미터는 사용자가 가르키고 있는 테이블인 목적지 오브젝트를 포함할 수 있다. 유리하게, 특정 실시예들에서, 웨어러블 시스템은 사용자 인터페이스 동작의 전체 정확도를 증가시킬 수 있거나, 또는 다수의 직접적 사용자 입력 모드들 (예컨대, 앞의 예에서 3개의 모드들, 즉 머리/눈 포즈, 제스처 및 음성)에 기반하여 사용자 인터페이스 동작을 수행함으로써 사용자의 상호작용의 편의를 증가시킬 수 있다. 예컨대, "move the leftmost browser 2.5 feet to the right"라고 말하는 대신에, 사용자는 오브젝트가 가장 왼쪽 브라우저라는 것을 표시하는 머리 또는 손 제스처들을 사용하면서 (스피치 입력에서 이동되고 있는 오브젝트를 가르키지 않고) "move that there"를 말하고, 움직임의 거리를 표시하기 위해 머리 또는 손 움직임들을 사용할 수 있다.
다양한 입력 모드들을 사용하는 가상 환경에서의 상호작용들의 예들
[0148] 도 13은 하나의 사용자 입력 모드를 사용하여 가상 오브젝트와 상호작용하는 예들을 예시한다. 도 13에서, 사용자(1310)는 HMD를 착용하고, 3개의 장면들(1300a, 1300b, 1300c)로 가상 콘텐츠와 상호작용하고 있다. 사용자의 머리 포지션(및 대응하는 시선 방향)은 기하학적 콘(1312a)으로 표현된다. 이러한 예에서, 사용자는 HMD의 디스플레이(220)를 통해 가상 콘텐츠를 지각할 수 있다. HMD와 상호작용하는 동안, 사용자는 사용자 입력 디바이스(466)를 통해 텍스트 메시지를 입력할 수 있다. 장면(1300a)에서, 사용자의 머리는 자연 휴식 포지션(1312a)에 있고, 사용자의 손들은 또한 자연 휴식 포지션(1316a)에 있다. 그러나, 비록 사용자가 사용자 입력 디바이스(466)상에 텍스트를 더 편안하게 타이핑할 수 있지만, 사용자는 캐릭터가 정확하게 타이핑되도록 보장하기 위해 사용자 입력 디바이스(466)상의 인터페이스를 볼 수 없다.
[0149] 사용자 입력 디바이스에 입력된 텍스트를 보기 위해, 사용자는 장면(1300b)에 도시된 바와 같이 손들을 포지션(1316b)까지 위로 움직일 수 있다. 그에 따라서, 머리가 자연 휴식 포지션(1312a)에 있을 때, 손들은 사용자 머리의 FOV에 있을 것이다. 그러나, 포지션(1316b)은 손들의 자연 휴식 위치가 아니며, 결과적으로 사용자 피로를 유발할 수 있다. 대안적으로, 장면(1300c)에 예시된 바와 같이, 사용자는 자연 휴식 위치(1316a)에서 손들을 유지하기 위해 자신의 머리를 포지션(1312c)으로 움직일 수 있다. 그러나, 머리의 부자연스러운 포지션으로 인해 사용자의 목 주위의 근육들이 피로해질 수 있으며, 사용자의 FOV는 외부 세계를 향하기 보다는 지상 또는 바닥 쪽으로 향해진다(이는 만일 사용자가 사람들이 붐비는 영역에서 걷는다면 안전하지 않을 수 있음). 장면(1300b) 또는 장면(1300c)에서, 사용자가 단일 입력 모드를 사용하여 사용자 인터페이스 동작을 수행하고 있을 때 원하는 사용자 인터페이스 동작을 충족시키기 위해, 사용자의 자연 인체공학이 희생된다.
[0150] 본원에서 설명된 웨어러블 시스템은 장면들(1300b 및 1300c)에 묘사된 인체공학적 제한(ergonomic limitation)들을 적어도 부분적으로 완화시킬 수 있다. 예컨대, 가상 인터페이스는 장면(1300a)에서 사용자의 시야 내에 투사될 수 있다. 가상 인터페이스는 사용자가 자연스러운 포지션에서 타이핑된 입력을 관찰하는 것을 허용할 수 있다.
[0151] 웨어러블 시스템은 또한, 디바이스 제약들 없이 가상 콘텐츠와의 상호작용들을 디스플레이하고 지원할 수 있다. 예컨대, 웨어러블 시스템은 다수의 타입들의 가상 콘텐츠를 사용자에게 제공할 수 있고, 사용자는 터치 패드를 사용하여 하나의 타입의 콘텐츠와 상호작용하면서, 키보드를 사용하여 다른 타입의 콘텐츠와 상호작용할 수 있다. 유리하게, 일부 실시예들에서, 웨어러블 시스템은, 신뢰도 스코어(더 높은 신뢰도 스코어는, 시스템이 정확한 타겟 가상 오브젝트를 식별했다는 더 높은 신뢰도(또는 가능성)를 나타냄)를 계산함으로써 어떤 가상 콘텐츠가 (사용자가 행동하려고 의도한) 타겟 가상 오브젝트인지를 결정할 수 있다. 타겟 가상 오브젝트를 식별하는 것에 대한 상세한 예들은 도 15-18b를 참조로 설명된다.
[0152] 도 14는 사용자 입력 모드들의 조합을 사용하여 가상 오브젝트를 선택하는 예들을 예시한다. 장면(1400a)에서, 웨어러블 시스템은 정사각형(1422), 원형(1424) 및 삼각형(1426)으로 표현된 복수의 가상 오브젝트들을 사용자(1410)에게 제공할 수 있다.
[0153] 사용자(1410)는 장면(1400b)에 예시된 바와 같이 머리 포즈를 사용하여 가상 오브젝트들과 상호작용할 수 있다. 이는 머리 포즈 입력 모드의 예이다. 머리 포즈 입력 모드는 가상 오브젝트들을 타겟팅하거나 선택하기 위해 콘 캐스트를 수반할 수 있다. 예컨대, 웨어러블 시스템은 사용자의 머리로부터 가상 오브젝트들을 향해 콘(1430)을 캐스팅할 수 있다. 웨어러블 시스템은, 가상 오브젝트들 중 하나 이상이 콘의 볼륨 내에 있는지 여부를 검출하여, 사용자가 어떤 오브젝트를 선택하려고 의도했는지를 식별할 수 있다. 이 예에서, 콘(1430)은 원형(1424) 및 삼각형(1426)과 교차한다. 따라서, 웨어러블 시스템은 사용자가 원형(1424) 또는 삼각형(1426)을 선택하려고 의도한다는 것을 결정할 수 있다. 그러나, 콘(1430)은 원형(1424) 및 삼각형(1426) 둘 모두와 교차하기 때문에, 웨어러블 시스템은 오직 머리 포즈 입력에만 기반하여서는 타겟 가상 오브젝트가 원형(1424)인지 또는 삼각형(1426)인지를 확인하지 못할 수 있다.
[0154] 장면(1400c)에서, 사용자(1410)는, 사용자 입력 디바이스(466), 이를테면 토템(예컨대, 핸드헬드 원격 제어 디바이스)을 수동으로 배향시킴으로써, 가상 오브젝트들과 상호작용할 수 있다. 이는 제스처 포즈 입력 모드의 예이다. 이 장면에서, 웨어러블 시스템은 원형(1424) 또는 정사각형(1422)이 의도된 타겟임을 결정할 수 있는데, 이는 이들 2개의 오브젝트들이 사용자 입력 디바이스(466)가 향하는 방향에 있기 때문이다. 이 예에서, 웨어러블 시스템은, (예컨대, 사용자 입력 디바이스(466)의 IMU를 통해) 사용자 입력 디바이스(466)의 포지션 또는 배향을 검출함으로써 또는 사용자 입력 디바이스(466)로부터 발생하는 콘 캐스트를 수행함으로써, 사용자 입력 디바이스(466)의 방향을 결정할 수 있다. 원형(1424) 및 정사각형(1422) 둘 모두가 타겟 가상 오브제트의 후보들이기 때문에, 웨어러블 시스템은, 오로지 제스처 입력 모드에만 기반해서는 이들 중 어느 것이 사용자가 실제로 선택하고자 하는 오브젝트인지 확인하지 못할 수 있다.
[0155] 장면(1400d)에서, 웨어러블 시스템은 멀티모달 사용자 입력을 사용하여 타겟 가상 오브젝트를 결정할 수 있다. 예컨대, 웨어러블 시스템은, 콘 캐스트(머리 포즈 입력 모드)로부터 그리고 사용자 입력 디바이스의 배향(제스처 입력 모드)으로부터 획득된 둘 모두의 결과들을 사용하여 타겟 가상 오브젝트를 식별할 수 있다. 이 예에서, 원형(1424)은 콘 캐스트로부터의 결과 및 사용자 입력 디바이스로부터 획득된 결과 둘 모두에서 식별되는 후보이다. 따라서, 웨어러블 시스템은 이들 2개의 입력 모드들을 사용하여, 타겟 가상 오브젝트가 원형(1424)임을 높은 신뢰도로 결정할 수 있다. 장면(1400d)에 추가로 예시된 바와 같이, 사용자는, 타겟 가상 오브젝트와 상호작용하기 위해, 제3 입력 모드(즉, 음성)의 예인 음성 커맨드(1442)("Move that"으로 예시됨)를 제공할 수 있다. 웨어러블 시스템은, 단어 "that"을 타겟 가상 오브젝트와 연관시킬 수 있는 데, 단어 "Move"를 실행될 커맨드와 연관시킬 수 있고, 그에 따라서, 원형(1424)을 이동시킬 수 있다. 그러나, 음성 커맨드(1442)는 스스로 (사용자 입력 디바이스(466) 또는 콘 캐스트(143)로부터의 표시들없이) 웨어러블 시스템에 혼란을 유발할 수 있는데, 이는 웨어러블 시스템이 어떤 오브젝트가 단어 "that"과 연관되어 있는지 알 수 없을 수 있기 때문일 수 있다.
[0156] 유리하게, 일부 실시예들에서, 가상 오브젝트를 식별하여 상호작용하기 위해 다수의 입력 모드들을 수락함으로써, 각각의 입력 모드에 요구되는 정밀도의 양이 감소될 수 있다. 예컨대, 콘이 사용자로부터 더 멀어질수록 콘의 직경이 증가하기 때문에, 콘 캐스트는 멀리 떨어진 오브젝트를 렌더링 평면에서 정확히 가르키지 못할 수 있다. 다른 예로서, 사용자는, 타겟 오브젝트 쪽을 향하도록 특정 배향에 입력 디바이스를 홀딩하고, 그리고 정확한 음성 입력을 보장하기 위해 특정 어구 또는 페이스(pace)로 말하는 것이 필요할 수 있다. 그러나, 음성 입력과 콘 캐스트로부터의(입력 디바이스를 사용하는 제스처 또는 머리 포즈로부터의) 결과들을 조합함으로써, 웨어러블 시스템은, 어느 한 입력(예컨대, 콘 캐스트 또는 음성 입력)이 정확할 것을 요구하지 않고도, 타겟 가상 오브젝트를 계속해서 식별할 수 있다. 예컨대, 콘 캐스트가 (예컨대, 장면들(1400b, 1400c)을 참조하여 설명되는 바와 같이) 다수의 오브젝트들을 선택하더라도, 음성 입력은 선택을 좁히는 데(예컨대, 선택을 위한 신뢰도 스코어를 증가시키는 데) 도움이 될 수 있다. 예컨대, 콘 캐스트는 3개의 오브젝트들을 캡처할 수 있는데, 이들 중 제1 오브젝트는 사용자의 오른쪽에 있고, 제2 오브젝트는 사용자의 왼쪽에 있고, 그리고 제3 오브젝트는 사용자의 FOV의 중심에 있다. 사용자는 "select the rightmost object"라고 말함으로써 선택을 좁힐 수 있다. 다른 예로서, 사용자의 FOV에 2개의 동일하게 형상화된 오브젝트들이 있을 수 있다. 사용자가 정확한 오브젝트를 선택하도록, 사용자는 음성 커맨드를 통해 오브젝트에 대한 보다 많은 설명들을 제공할 필요가 있을 수 있다. 예컨대, "select the square object"라고 말하기보다, 사용자는, "select the square object that is red"라고 말해야 할 필요가 있을 수 있다. 그러나, 콘 캐스트를 사용하면, 음성 커맨드가 정확하지 않아도 될 수 있다. 예컨대, 사용자는 정사각형 오브젝트 중 하나를 보고, "select the square object" 또는 심지어 "select the object"라고 말할 수 있다. 웨어러블 시스템은 사용자의 시선 방향과 일치하는 정사각형 오브젝트를 자동으로 선택할 수 있으며, 사용자의 시선 방향에 있지 않은 정사각형 오브젝트는 선택하지 않을 것이다.
[0157] 일부 실시예들에서, 시스템은 입력 모드들의 조합들에 대한 선호도들의 계층을 가질 수 있다. 예컨대, 사용자는 자신의 머리가 향하는 방향을 보는 경향이 있다; 따라서, 시선 및 머리 포즈는 서로 유사한 정보를 제공할 수 있다. 머리 포즈와 시선의 조합은 덜 바람직할 수 있는데, 이는 이 조합이 시선 단독 또는 머리 포즈 단독의 사용에 비교해서 많은 가외 정보를 제공하지 않기 때문이다. 그에 따라서, 시스템은 모달 입력 선호도들의 계층을 사용하여, 일반적으로 중복하는 정보(duplicative information)보다는 대조되는 정보를 제공하는 모달 입력들을 선택할 수 있다. 일부 실시예들에서, 계층은 1차 모달 입력들로서 머리 포즈 및 음성을 사용하고, 이어서 시선 및 제스처를 사용하는 것이다.
[0158] 그에 따라서, 본원에서 추가로 설명되는 바와 같이, 멀티모달 입력들에 기반하여, 시스템은, 사용자의 환경에서 다양한 오브젝트들(각각의 이러한 오브젝트가 타겟 오브젝트임)에 대한 신뢰도 스코어를 계산할 수 있다. 시스템은, 타겟 오브젝트로서, 가장 높은 신뢰도 스코어를 갖는 환경에서의 특정 오브젝트를 선택할 수 있다.
[0159] 도 15는 직접적 사용자 입력들의 조합을 사용하여 가상 오브젝트와 상호작용하는 예를 예시한다. 도 15에 묘사된 바와 같이, 사용자(1510)는 가상 콘텐츠를 디스플레이하도록 구성된 HMD(1502)를 착용한다. HMD(1502)는 본원에서 설명되는 웨어러블 시스템(200)의 일부일 수 있고, 벨트-착용식 전력공급 & 프로세싱 팩(belt-worn power & processing pack)(1503)을 포함할 수 있다. HMD(1502)는 토템(1516)으로부터의 사용자 입력을 수락하도록 구성될 수 있다. HMD(1502)의 사용자(1510)는 제1 FOV(1514)를 가질 수 있다. 사용자는 제1 FOV(1514)에서 가상 오브젝트(1512)를 관찰할 수 있다.
[0160] 사용자(1510)는 직접적 입력들의 조합에 기반하여 가상 오브젝트(1512)와 상호작용할 수 있다. 예컨대, 사용자(1510)는, 사용자의 머리 또는 눈 포즈에 기반하는 콘 캐스팅 기법을 통해, 또는 토템(1516)에 의해, 또는 음성 커맨드에 의해, 또는 이들 (또는 다른) 입력 모드들의 조합(예컨대, 도 14를 참조로 설명됨)에 의해, 가상 오브젝트(1512)를 선택할 수 있다.
[0161] 사용자(1510)는 선택된 가상 오브젝트(1512)를 이동시키기 위해 머리 포즈를 시프팅할 수 있다. 예컨대, 사용자는, 자신의 머리를 좌향으로 돌려, FOV로 하여금 제1 FOV(1514)에서 제2 FOV(1524)로(장면(1500a)에서 장면(1500b)으로 도시됨) 업데이트되게 할 수 있다. 사용자의 머리의 움직임은 다른 직접적 입력들과 조합되어, 가상 오브젝트로 하여금 제1 FOV(1514)에서 제2 FOV(1524)로 이동되게 할 수 있다. 예컨대, 머리 포즈의 변화는 다른 입력들, 이를테면, 예컨대, 음성 커맨드("move that, to there"), 토템(1516)으로부터의 가이던스, 또는 시선 방향(예컨대, 도 4에 도시된 내향 이미징 시스템(462)에 의해 기록됨)을 사용하여 집계될 수 있다. 이 예에서, HMD(1502)는 업데이트된 FOV(1524)를 가상 오브젝트(1512)가 이동되어야 하는 일반 영역으로서 사용할 수 있다. HMD(1502)는 사용자의 시선 방향에 기반하여 가상 오브젝트(1512)의 움직임의 목적지를 추가로 결정할 수 있다. 다른 예로서, HMD는 "move that there"라는 음성 커맨드를 캡처할 수 있다. HMD는 (사용자가 이전에 가상 오브젝트(1512)를 선택했기 때문에) 가상 오브젝트(1512)를 사용자가 상호작용할 오브젝트로서 식별할 수 있다. HMD는, 사용자의 머리 포즈의 변화를 검출함으로써 사용자가 FOV(1514)로부터 FOV(1524)로 오브젝트를 이동시킬 의도가 있다는 것을 추가로 결정할 수 있다. 이 예에서, 가상 오브젝트(1512)는 초기에 사용자의 제1 FOV(1514)의 중앙 부분에 있을 수 있다. 음성 커맨드 및 사용자의 머리 포즈에 기반하여, HMD는 가상 오브젝트를 사용자의 제2 FOV(1524)의 중심으로 이동시킬 수 있다.
멀티모달 사용자 입력들을 사용하여 타겟 가상 오브젝트 또는 사용자 인터페이스 동작을 식별하는 예들
[0162] 도 14를 참조로 설명된 바와 같이, 일부 상황들에서, 웨어러블 시스템은, 사용자가 단일 입력 모드를 사용하여 상호작용할 의도가 있는 타겟 가상 오브젝트를 (충분한 신뢰도로) 식별하지 못할 수 있다. 추가로, 다수의 사용자 입력 모드들이 사용되더라도, 하나의 사용자 입력 모드는 하나의 가상 오브젝트를 나타낼 수 있고 다른 사용자 입력 모드는 상이한 가상 오브젝트를 나타낼 수 있다.
[0163] 모호성들을 해결하기 위해 그리고 멀티모달 사용자 입력들을 지원하는 개선된 웨어러블 시스템을 제공하기 위해, 웨어러블 시스템은 사용자 입력 모드들을 집계하고 신뢰도 스코어를 계산하여 원하는 가상 오브젝트 또는 사용자 인터페이스 동작을 식별할 수 있다. 앞서 설명된 바와 같이, 더 높은 신뢰도 스코어는, 시스템이 원하는 타겟 오브젝트를 식별했을 확률 또는 가능성이 더 높다는 것을 표시한다.
[0164] 도 16은 입력 모드들을 집계하기 위한 예시적 컴퓨팅 환경을 예시한다. 예시적 환경(1600)은, 예컨대 애플리케이션들 A(1672), B(1674) 및 C(1676)과 연관된 3개의 가상 오브젝트들을 포함한다. 도 9를 참조로 설명된 바와 같이, 웨어러블 시스템은 다양한 센서들을 포함할 수 있고, 이들 센서들로부터의 다양한 사용자 입력들을 수신하고 사용자 입력들을 분석하여 혼합 현실(960)과 상호작용할 수 있다. 예시적인 환경(1600)에서, 중앙 런타임 서버(1650)는 애플리케이션에 대한 멀티모달 상호작용을 생성하기 위해 직접적 입력들(1610) 및 간접적 사용자 입력들(1630)을 집계할 수 있다. 직접적 입력들(1610)의 예들은, 제스처(1612), 머리 포즈(1614), 음성 입력(1618), 토템(1622), 시선 방향(예컨대, 시선 추적(1624)), 다른 타입들의 직접적 입력들(1626) 등을 포함할 수 있다. 간접적 입력(1630)의 예들은, 환경 정보(예컨대, 환경 추적(1632)) 및 지오로케이션(1634)을 포함할 수 있다. 중앙 런타임 서버(1650)는 원격 프로세싱 모듈(270)을 포함할 수 있다. 특정 구현들에서, 로컬 프로세싱 및 데이터 모듈(260)은 중앙 런타임 서버(1650)의 하나 이상의 기능들을 수행할 수 있다. 로컬 프로세싱 및 데이터 모듈(260)은 또한, 입력 모드들을 집계하기 위해 원격 프로세싱 모듈(270)과 통신할 수 있다.
[0165] 웨어러블 시스템은 외향 이미징 시스템(464)을 사용하여 제스처(1612)를 추적할 수 있다. 웨어러블 시스템은 손 제스처들을 추적하기 위해 도 9에 설명된 다양한 기법들을 사용할 수 있다. 예컨대, 외향 이미징 시스템(464)은 사용자의 손들의 이미지들을 획득하고 이미지들을 대응하는 손 제스처들에 맵핑할 수 있다. 외향 이미징 시스템(464)은 사용자의 손 제스처를 이미징하기 위해 FOV 카메라 또는 (깊이 검출을 위해 구성된) 깊이 카메라를 사용할 수 있다. 중앙 런타임 서버(1650)는 오브젝트 인식기(708)를 사용하여 사용자의 머리 제스처를 식별할 수 있다. 제스처(1612)는 또한, 사용자 입력 디바이스(466)에 의해 추적될 수 있다. 예컨대, 사용자 입력 디바이스(466)는, 사용자의 손 움직임들, 이를테면, 예컨대, 스와이프 제스처 또는 탭 제스처를 추적할 수 있는 터치 감지 표면을 포함할 수 있다.
[0166] HMD는 IMU를 사용하여 머리 포즈들(1614)을 인식할 수 있다. 머리(1410)는 3개 타입들의 회전들(예컨대, 요, 피치, 및 롤) 및 3개 타입들의 변환들(예컨대, 급증, 흔들림 및 무거움)을 포함하는 다수의 자유도들을 가질 수 있다. 예컨대, IMU는 머리의 3-DOF 움직임들 또는 6-DOF 움직임들을 측정하도록 구성될 수 있다. IMU로부터 획득된 측정들은 (예컨대, 머리 포즈를 식별하기 위해) 프로세싱을 위해 중앙 런타임 서버(1650)에 통신될 수 있다.
[0167] 웨어러블 시스템은 시선 추적(1624)을 수행하기 위해 내향 이미징 시스템(462)을 사용할 수 있다. 예컨대, 내향 이미징 시스템(462)은 사용자의 눈 구역의 이미지들을 획득하도록 구성된 눈 카메라들을 포함할 수 있다. 중앙 런타임 서버(1650)는 (예컨대, 오브젝트 인식기들(708)을 통해) 이미지들을 분석하여 사용자의 눈 움직임들을 추적하거나 사용자의 시선 방향을 추론할 수 있다.
[0168] 웨어러블 시스템은 또한, 토템(1622)으로부터 입력들을 수신할 수 있다. 본원에 설명된 바와 같이, 토템(1622)은 사용자 입력 디바이스(466)의 실시예일 수 있다. 추가적으로 또는 대안적으로, 웨어러블 시스템은 사용자로부터 음성 입력(1618)을 수신할 수 있다. 음성 입력(1618) 및 토템(1622)으로부터의 입력들은 중앙 런타임 서버(1650)에 통신될 수 있다. 중앙 런타임 서버(1650)는 (예컨대, 마이크로폰(232)으로부터 획득된) 사용자의 오디오 데이터를 해석하기 위해 실시간으로 또는 거의 실시간으로 자연어 프로세싱을 사용할 수 있다. 중앙 런타임 서버(1650)는 다양한 스피치 인식 알고리즘들, 이를테면, 예컨대, 은닉 마르코프 모델들, DTW(Dynamic Time Warping)-기반 스피치 인식들, 뉴럴 네트워크들, 심층 학습 알고리즘들, 이를테면 심층 피드포워드(deep feedforward) 및 순환 뉴럴 네트워크들, 단-대-단 자동 음성 인식(end-to-end automatic speech recognition)들, 머신 학습 알고리즘들(도 7 및 도 9를 참조로 설명됨), 시맨틱 분석, 및 음향 모델링 또는 언어 모델링을 사용하는 다른 알고리즘들 등을 적용함으로써, 스피치의 콘텐츠를 식별할 수 있다. 중앙 런타임 서버(1650)는 또한, 화자의 아이덴티티, 이를테면 화자가 웨어러블 디바이스의 사용자인지 또는 사용자의 배경에 있는 사람인지를 식별할 수 있는 음성 인식 알고리즘들을 적용할 수 있다.
[0169] 중앙 런타임 서버(1650)는 또한, 사용자가 HMD와 상호작용할 때 간접적 입력들을 수신할 수 있다. HMD는 도 2를 참조로 설명된 다양한 환경 센서들을 포함할 수 있다. 중앙 런타임 서버(1650)는, 환경 센서들에 의해 획득된 데이터를 사용하여(직접적 입력(1610)과 관련된 데이터의 조합으로 또는 이 조합에 따라), 사용자의 환경(이를테면, 예컨대, 맵(920))을 재구성하거나 업데이트할 수 있다. 예컨대, 중앙 런타임 서버(1650)는 사용자의 환경에 기반하여 사용자의 주변 광 조건을 결정할 수 있다. 이 주변 광 조건은 사용자가 상호작용할 수 있는 가상 오브젝트를 결정하는 데 사용될 수 있다. 예컨대, 사용자가 밝은 환경에 있는 경우, 중앙 런타임 서버(1650)는, 카메라들이 사용자의 제스처들(1612)을 관찰할 수 있기 때문에, 타겟 가상 오브젝트가 제스처들(1612)을 지원하는 가상 오브젝트임을 입력 모드로서 식별할 수 있다. 그러나, 만약 환경이 어둡다면, 중앙 런타임 서버(1650)는, 가상 오브젝트가 제스처들(1612)보다는 음성 입력(1618)을 지원하는 오브젝트일 수 있다는 것을 결정할 수 있다.
[0170] 중앙 런타임 서버(1650)는 환경 추적(1632)을 수행하고 직접적 입력 모드들을 집계하여 복수의 애플리케이션들에 대한 멀티모달 상호작용을 생성할 수 있다. 예로서, 사용자가 조용한 환경으로부터 잡음성 환경으로 들어갈 때, 중앙 런타임 서버(1650)는 음성 입력(1618)을 디스에이블링할 수 있다. 환경들에 기반하여 입력 모드들을 선택하는 것에 대한 추가 예들은 도 24를 참조로 추가로 설명된다.
[0171] 중앙 런타임 서버(1650)는 또한, 사용자의 지오로케이션 정보에 기반하여 타겟 가상 오브젝트를 식별할 수 있다. 지오로케이션 정보(1634)는 또한, 환경 센서(이를테면, 예컨대, GPS 센서)로부터 획득될 수 있다. 중앙 런타임 서버(1650)는, 가상 오브젝트와 사용자 간의 거리가 임계 거리 이내인, 잠재적인 사용자 상호작용들을 위한 가상 오브젝트를 식별할 수 있다. 유리하게, 일부 실시예들에서, 콘 캐스트에서의 콘은 시스템에 의해 (예컨대, 환경에 있는 오브젝트들의 수 또는 밀도에 기반하여) 조정가능한 길이를 가질 수 있다. 사용자의 특정 반경 내에서 오브젝트를 선택함으로써, 타겟 오브젝트들일 수 있는 잠재적 오브젝트들의 수가 상당히 감소될 수 있다. 입력 모드로서 간접적 입력을 사용하는 추가 예들이 도 21을 참조로 설명된다.
타겟 오브젝트를 확인하는 예들
[0172] 중앙 런타임 서버(1650)는 다양한 기법들을 사용하여 타겟 오브젝트를 결정할 수 있다. 도 17a는 래티스 트리 분석을 사용하여 타겟 오브젝트를 식별하는 예를 예시한다. 중앙 런타임 서버(1650)는 입력 소스로부터 정해진 값을 도출하고 사용자가 잠재적으로 상호작용할 수 있는 후보 가상 오브젝트들에 대한 가능한 값의 래티스를 생성할 수 있다. 일부 실시예들에서, 값은 신뢰도 스코어일 수 있다. 신뢰도 스코어는 순위, 등급, 평가, 정량적 또는 정성적 값(예컨대, 1 내지 10 범위의 숫자 값, 백분율 또는 백분위수 또는 정성적 값 "A", "B", "C" 등) 등을 포함할 수 있다. 각 후보 오브젝트는 신뢰도 스코어와 연관될 수 있으며, 일부 경우에서, 가장 높은 신뢰도 스코어를 갖는(예컨대, 다른 오브젝트의 신뢰도 스코어들보다 높거나 임계 스코어보다 높은) 후보 오브젝트가 타겟 오브젝트로서 시스템에 의해 선택된다. 다른 경우에, 임계 신뢰도 스코어 미만의 신뢰도 스코어들을 갖는 오브젝트들은 시스템에 의해 타겟 오브젝트로서의 고려사항에서 제거되며, 이는 컴퓨테이셔널 효율성을 개선할 수 있다.
[0173] 본 명세서의 많은 예들에서, 타겟 가상 오브젝트의 선택 또는 가상 오브젝트들의 그룹으로부터의 선택이 참조된다. 이것은 예시적인 구현들을 예시하기 위한 것이지 제한하려고 의도되지 않는다. 설명된 기법들은 사용자의 환경에서 가상 오브젝트들 또는 물리적 오브젝트들에 적용될 수 있다. 예컨대, 음성 커맨드 "move that there"는 가상 오브젝트(예컨대, 가상 캘린더)를 물리적 오브젝트(예컨대, 사용자 책상의 수평면) 위로 움직이는 것과 관련될 수 있다. 또는 "move that there"라는 음성 커맨드는 가상 오브젝트(예컨대, 가상 워드 프로세싱 애플리케이션)를 다른 가상 오브젝트 내의 다른 위치(예컨대, 사용자의 가상 데스크톱의 다른 위치)로 움직이는 것과 관련될 수 있다.
[0174] 커맨드의 문맥은 또한 시스템이 가상 오브젝트들, 물리적 오브젝트들 또는 둘 모두를 식별하려고 시도하는 지에 관한 정보를 제공할 수 있다. 예컨대, "move that there" 명령에서, AR/VR/MR 시스템은 실제 물리적 오브젝트를 움직일 수 없으므로, 시스템은 "that"이 가상 오브젝트임을 인식할 수 있다. 그에 따라서, 시스템은 "that"의 후보들로서의 물리적 오브젝트들을 제거할 수 있다. 위의 예들에서 설명된 바와 같이, 타겟 위치 "there"는 가상 오브젝트(예컨대, 사용자의 가상 데스크톱) 또는 물리적 오브젝트(예컨대, 사용자의 책상)일 수 있다.
[0175] 또한 시스템은 해당 시점의 시스템 상황과 목표에 의존하여, FOR, FOV 또는 응시 필드(예컨대, 도 12a 참조)일 수 있는 사용자 환경의 오브젝트들에 신뢰도 스코어들을 할당할 수 있다. 예컨대, 사용자는 가상 캘린더를 사용자의 책상 위의 포지션으로 이동시키길 원할 수 있는데, 이 두 위치 모두는 사용자의 FOV에 있다. 상황의 맥락은 가상 캘린더를 이동하는 명령이 사용자의 FOV의 타겟 목적지에 대한 것일 수 있다는 것을 시사하기 때문에, 시스템은 사용자의 FOR에 있는 모든 오브젝트들이 아니라 사용자의 FOV 내의 오브젝트들을 분석할 수 있으며, 이는 프로세싱 스피드 또는 효율성을 개선할 수 있다. 다른 경우에, 사용자는 가상 영화 애플리케이션에서 영화 셀렉션들의 메뉴를 검토할 수 있고 영화들의 작은 셀렉션을 응시할 수 있다. 시스템은 전체 FOV(또는 FOR)가 아닌 사용자의 응시 필드(예컨대, 사용자의 시선을 기준으로)에서 영화 셀렉션들에 대해서만 분석(그리고 예컨대: 신뢰 코어들을 제공)할 수 있으며, 이는 또한 프로세싱 효율성 또는 스피드를 높일 수 있다.
[0176] 도 17a에 도시된 예를 참조하면, 사용자는 2개의 입력 모드, 즉 머리 포즈(1614) 및 시선(1624)을 사용하여 가상 환경과 상호작용할 수 있다. 머리 포즈(1614)에 기반하여, 중앙 런타임 서버(1650)는 애플리케이션 A(1672) 및 애플리케이션 B(1674)와 관련된 두 개의 후보 가상 오브젝트들을 식별할 수 있다. 중앙 런타임 서버(1650)는 애플리케이션 A(1672)와 애플리케이션 B(1674) 사이에 100%의 신뢰도 스코어를 균등하게 분배할 수 있다. 결과적으로, 애플리케이션 A(1672) 및 애플리케이션 B(1674)에는 각각 신뢰도 스코어 50%가 할당될 수 있다. 중앙 런타임 서버(1650)는 또한 시선(1624)의 방향에 기반하여 2개의 후보 가상 오브젝트들(애플리케이션 A(1672) 및 애플리케이션 C(1676))을 식별할 수 있다. 중앙 런타임 서버(1650)는 또한 애플리케이션 A(1672)와 애플리케이션 C(1676) 사이에 100% 신뢰를 나눌 수 있다.
[0177] 중앙 런타임 서버(1650)는 다수의 입력 모드 중에서 일반적이지 않은 이상치 신뢰도 값, 또는 사용자가 상호작용하려는 가능성이 가장 높은 애플리케이션을 결정하기 위해 특정 임계치 미만인 그러한 신뢰도 값들을 감소 또는 제거하기 위해 래티스 압축 로직 기능(1712)을 수행할 수 있다. 예컨대, 도 17a에서, 중앙 런타임 서버(1650)는, 이들 2개의 가상 오브젝트들이 머리 포즈(1614) 및 시선(1624) 분석 둘 모두에 의해 식별되지 않기 때문에 애플리케이션 B(1674) 및 애플리케이션 C(1676)를 제거할 수 있다. 다른 예로서, 중앙 런타임 서버(1650)는 각 애플리케이션에 할당된 값들을 집계할 수 있다. 중앙 런타임 서버(1650)는 임계 신뢰도 값을 80% 이상으로 세팅할 수 있다. 이 예에서, 애플리케이션 A(1672)의 집계된 값은 100%(50% + 50%)인데; 애플리케이션 B(1674)의 집계된 값이 50%이고, 애플리케이션 C(1676)의 값이 50%이다. 애플리케이션 B 및 C에 대한 개별 신뢰도 값들이 임계치 신뢰 값 미만이므로, 중앙 런타임 서버(1650)는 애플리케이션 B 및 C를 선택하지 않고 애플리케이션 A(1672)를 선택하도록 프로그래밍될 수 있는데, 그 이유는 애플리케이션 A의 집계 신뢰도 값(100%)이 임계 신뢰도 값보다 크기 때문이다.
[0178] 도 17a의 예는 입력 디바이스와 연관된 값(예컨대, 신뢰도 스코어)을 후보 가상 오브젝트들 간에 동일하게 나누지만, 특정 실시예들에서, 값 분배는 후보 가상 오브젝트들 사이에서 동일하지 않을 수 있다. 예컨대, 머리 포즈(1614)가 10의 값을 갖는 경우, (머리 포즈가 A(1672) 쪽으로 더 많이 가리키기 때문에) 애플리케이션 A(1672)는 7의 값을 받을 수 있고, 애플리케이션 B(1674)는 3의 값을 받을 수 있다. 다른 예로서, 머리 포즈(1614)가 질적 등급 "A"를 갖는 경우, 애플리케이션 A(1672)는 등급 "A"로 할당될 수 있지만, 애플리케이션 B(1674) 및 C(1676)는 머리 포즈(1614)로부터 아무것도 받지 못한다.
[0179] 웨어러블 시스템(예컨대, 중앙 런타임 서버(1650))은, 사용자가 타겟 가상 오브젝트를 더욱 쉽게 지각할 수 있도록 초점 표시자를 타겟 가상 오브젝트에 할당할 수 있다. 초점 표시자는 시각 초점 표시자일 수 있다. 예컨대, 초점 표시자는(실제로 오브젝트 주변 또는 그 인근의) 후광, 컬러, 지각된 사이즈 또는 깊이 변화(예컨대, 선택된 경우 타겟 오브젝트가 더 근접하고 그리고/또는 더 크게 나타나게 함), 또는 사용자의 관심을 끌 수 있는 다른 시각 효과들을 포함할 수 있다. 초점 표시자는 또한 진동, 벨소리, 비프들 등과 같은 청각 또는 촉각 효과들을 포함할 수 있다. 초점 표시자는, 시스템이 커맨드와 관련된 오브젝트를 정확하게 결정(예컨대, "move that there" 커맨드에서 "that" 및 "there"를 정확하게 결정)했음을 (초점 표시자를 통해) 사용자에게 확인함으로써, 시스템이 "올바르게 작동하고 하고 있다"는 유용한 피드백을 사용자에게 제공할 수 있다. 예컨대, 식별된 타겟 가상 오브젝트에는 제1 초점 표시자가 할당될 수 있고, 목적지 위치(예컨대, 커맨드의 "there")에는 제2 초점 표시기가 할당될 수 있다. 어떤 경우에, 시스템이 타겟 오브젝트(들)를 부정확하게 결정한 경우, 사용자는 예컨대, 정확한 오브젝트를 주시(응시)하고 "no, this not that"과 같은 음성 커맨드를 제공함으로써 시스템의 결정을 무시할 수 있다.
타겟 사용자 인터페이스 동작을 식별하는 예들
[0180] 타겟 가상 오브젝트를 식별하는 것 외에도 또는 그에 대안적으로, 중앙 런타임 서버(1650)는 또한 수신된 다수의 입력들에 기반하여 타겟 사용자 인터페이스 동작을 결정할 수 있다. 도 17b는 멀티모달 입력들에 기반하여 타겟 사용자 인터페이스 동작을 결정하는 예를 예시한다. 묘사된 바와 같이, 중앙 런타임 서버(1650)는 머리 포즈(1614) 및 제스처(1612) 형태의 다수의 입력들을 수신할 수 있다. 중앙 런타임 서버(1650)는 예컨대, 애플리케이션 A(1672) 및 애플리케이션 B(1674)와 연관된 다수의 가상 오브젝트들을 사용자에게 디스플레이할 수 있다. 그러나, 머리 포즈가 애플리케이션 A(1672)와 연관된 사용자 인터페이스 동작(수정 옵션들(1772)로 표시됨)에 적용된다는 50% 신뢰도가 있고, 머리 포즈가 애플리케이션 B(1674)와 연관된 다른 사용자 인터페이스 동작(수정 옵션들(1774)로 표시됨)에 적용된다는 또 다른 50% 신뢰도가 존재하기 때문에, 머리 포즈 입력 모드 자체는 원하는 사용자 인터페이스 동작들을 결정하기에 충분하지 않을 수 있다.
[0181] 다양한 실시예들에서, 특정 애플리케이션 또는 일 타입의 사용자 인터페이스 동작들은 특정 입력 모드에 더욱 반응적이도록 프로그래밍될 수 있다. 예컨대, 애플리케이션 B(1674)의 HTML 태그들 또는 JavaScript 프로그래밍은 애플리케이션 A(1672)의 것보다 제스처 입력에 더욱 반응적이도록 세팅될 수 있다. 예컨대, 애플리케이션 A(1672)는 제스처(1612)보다 머리 포즈(1672)에 더욱 반응적일 수 있는 반면, "선택" 동작은 머리 포즈(1614)보다 제스처(1612)(예컨대, 탭 제스처)에 더욱 반응적일 수 있는데, 그 이유는 일부 경우들에서, 사용자는 제스처를 사용하여 머리 포즈보다 오브젝트를 선택할 가능성이 더 높을 수 있기 때문이다.
[0182] 도 17b를 참조하면, 제스처(1612)는 애플리케이션 B(1674)에서의 특정 타입의 사용자 인터페이스 동작에 더욱 반응적일 수 있다. 예시된 바와 같이, 제스처(1612)는 애플리케이션 B에 대한 사용자 인터페이스 동작들과 관련된 더 높은 신뢰를 가질 수 있는 반면, 제스처(1612)는 애플리케이션 A(1672)에서의 인터페이스 동작들에 적용되지 않을 수 있다. 그에 따라서, 만약 타겟 가상 오브젝트가 애플리케이션 A(1672)라면, 머리 포즈(1614)로부터 수신된 입력은 타겟 사용자 인터페이스 동작일 수 있다. 그러나, 만약 타겟 가상 오브젝트가 애플리케이션 B(1674)라면, 제스처(1612)로부터 수신된 입력은 (단독으로 또는 머리 포즈(1614)에 기반한 입력과 조합하여) 타겟 사용자 인터페이스 동작일 수 있다.
[0183] 다른 예로서, 사용자가 애플리케이션 B와 상호작용할 때 제스처(1612)가 머리 포즈(1614)보다 높은 신뢰도 레벨을 가지기 때문에, 제스처(1612)는 애플리케이션 B(1674)에 대한 1차 입력 모드가 될 수 있는 반면, 머리 포즈(1614)는 2차 입력 모드일 수 있다. 그에 따라서, 제스처(1612)로부터 수신된 입력은 머리 포즈(1614)보다 더 높은 가중치와 연관될 수 있다. 예컨대, 만약 애플리케이션 B(1674)와 연관된 가상 오브젝트가 정지 상태를 유지한다고 머리 포즈가 표시하는 한편, 가상 오브젝트가 좌향으로 움직여야 한다고 제스처(1612)가 표시하면, 중앙 런타임 서버(1650)는 가상 오브젝트가 좌향으로 움직이는 것을 렌더링할 수 있다. 특정 구현들에서, 웨어러블 시스템은 사용자가 1차 입력 모드를 사용하여 가상 오브젝트와 상호 작용하게 허용할 수 있고, 만약 1차 입력 모드가 사용자의 동작을 결정하기에 충분하지 않다면 2차 입력 모드를 고려할 수 있다. 예컨대, 사용자는 대부분 제스처들(1612)로 애플리케이션 B(1674)와 상호작용할 수 있다. 그러나, HMD가 타겟 사용자 인터페이스 동작을 결정할 수 없는 경우(예컨대, 애플리케이션 B(1674)에 다수의 후보 가상 오브젝트들이 있을 수 있기 때문에 또는 만약 제스처(1612)가 불분명한 경우), HMD는 머리 포즈를 입력으로서 사용하여 애플리케이션 B(1674)에서 수행될 타겟 가상 오브젝트 또는 타겟 사용자 인터페이스 동작을 확인할 수 있다.
[0184] 각각의 입력 모드와 연관된 스코어는 원하는 사용자 인터페이스 동작을 결정하기 위해 집계될 수 있다. 도 17c는 가상 오브젝트에 대한 입력 모드와 연관된 신뢰도 스코어들을 집계하는 예를 예시한다. 이 예에 도시된 바와 같이, 머리 포즈 입력(1614)은 애플리케이션 B(30% 신뢰도)보다 애플리케이션 A(80% 신뢰도)에 대해 더 높은 신뢰도 스코어를 생성하는 반면, 제스처 입력(1612)은 애플리케이션 A(30% 신뢰도)보다 애플리케이션 B(60% 신뢰도)에 대해 더 높은 신뢰도 스코어를 생성한다. 중앙 런타임 서버(1650)는 각 사용자 입력 모드로부터 도출된 신뢰도 스코어들에 기반하여 각 오브젝트들에 대한 신뢰도 스코어들을 집계할 수 있다. 예컨대, 중앙 런타임 서버(1650)는 애플리케이션 A(1672)에 대해 집계 스코어 110을 생성하고, 애플리케이션 B 1674에 대해 집계 스코어 90을 생성할 수 있다. 집계된 스코어들은 가중 또는 비가중 평균 또는 다른 수학적 조합들일 수 있다. 애플리케이션 A(1672)는 애플리케이션 B(1674)보다 높은 집계 스코어를 가지므로, 중앙 런타임 서버(1650)는 상호작용할 애플리케이션으로서 애플리케이션 A를 선택할 수 있다. 추가적으로 또는 대안적으로, 애플리케이션 A(1672)의 더 높은 집계 스코어로 인해, 애플리케이션 B가 애플리케이션 A보다 제스처(1612)에 더욱 "반응적"이더라도, 중앙 런타임 서버(1650)는 머리 포즈(1614) 및 제스처(1612)가 애플리케이션 A(1672)에 대한 사용자 인터페이스 동작을 수행하도록 의도된 것으로 결정할 수 있다.
[0185] 이 예에서, 중앙 런타임 서버(1650)는 정해진 오브젝트에 대한 다양한 입력들의 신뢰도 스코어를 추가함으로써 발생된 신뢰도 스코어들을 집계한다. 다양한 다른 실시예들에서, 중앙 런타임 서버(1650)는 단순한 추가 이외의 기법들을 사용하여 신뢰도 스코어들을 집계할 수 있다. 예컨대, 입력 모드 또는 스코어는 가중치와 연관될 수 있다. 결과적으로, 신뢰도 스코어들의 집계는 입력 모드 또는 스코어에 할당된 가중치를 고려할 것이다. 가중치들은 사용자가 HMD와의 멀티모달 상호작용의 "반응성"을 선택적으로 조정하는 것을 허용하도록 사용자 조정 가능할 수 있다. 가중치들은 또한 콘텍스추얼적일 수 있다. 예컨대, 공공 장소에서 사용되는 가중치들은 HMD를 작동하는 동안 사용자가 자주 제스처를 하는 것의 있을 수 있는 사회적 어색함을 회피하기 위해 손 제스처보다 머리 또는 눈 포즈를 강조할 수 있다. 다른 예로서, 지하철, 비행기 또는 기차에서, 사용자는 그러한 환경에서 HMD에게 큰 소리로 말하기를 원하지 않을 수 있기 때문에, 음성 커맨드에 머리 또는 눈 포즈들보다 더 작은 가중치가 주어질 수 있다. 환경 센서들(예컨대, GPS)은 사용자가 HMD를 작동하고 있는 곳에 대한 적절한 상황을 결정하는 것을 보조할 수 있다.
[0186] 비록 도 17a-17c의 예들이 2개의 오브젝트들을 참조하여 예시되었지만, 본원에서 설명된 기법들은 더 많거나 더 적은 오브젝트들이 있는 경우에도 적용될 수 있다. 게다가, 이들 도면들을 참조하여 설명된 기법들은 웨어러블 시스템의 애플리케이션들 또는 하나 이상의 애플리케이션들과 연관된 가상 오브젝트들에 적용될 수 있다. 또한, 본원에서 설명된 기법들은 또한 머리 포즈, 시선 또는 제스처들 이외의 직접적 또는 간접적 입력 모드들에 적용될 수 있다. 예컨대, 음성 커맨드가 또한 사용될 수 있다. 게다가, 중앙 입력 서버(1650)가 다양한 입력 모드들의 프로세싱을 설명하기 위해 전반에 걸쳐 예로서 사용되었지만, HMD의 로컬 프로세싱 및 데이터 모듈(260)은 또한 중앙 런타임 서버(1650)에 부가하여 또는 대안으로 동작들의 일부 또는 전부를 수행할 수 있다.
신뢰도 스코어를 계산하기 위한 예시적인 기법들
[0187] 웨어러블 시스템은 오브젝트의 신뢰도 스코어를 계산하기 위해 다양한 기법들 중 하나 또는 그 조합을 사용할 수 있다. 도 18a 및 18b는 사용자의 FOV 내의 오브젝트들에 대한 신뢰도 스코어들을 계산하는 예들을 예시한다. 사용자의 FOV는 예컨대, 콘 캐스트 동안, 사용자의 머리 포즈 또는 시선에 기반하여 계산될 수 있다. 도 18a 및 18b에서의 신뢰도 스코어들은 단일 입력 모드(이를테면, 예컨대, 사용자의 머리 포즈)에 기반할 수 있다. 다수의 신뢰도 스코어들이(다양한 멀티모달 입력들의 일부 또는 전부에 대해) 계산되고, 그런 다음 집계되어 멀티모달 사용자 입력들에 기반하여 사용자 인터페이스 동작 또는 타겟 가상 오브젝트를 결정할 수 있다.
[0188] 도 18a는 가상 오브젝트의 신뢰도 스코어가 사용자의 FOV(1810) 내에 있는 가상 오브젝트의 일부에 기초하여 계산되는 예를 예시한다. 도 18a에서, 사용자의 FOV는 2개의 가상 오브젝트들(원형(1802) 및 삼각형(1804)으로 표시됨)의 일부를 갖는다. 웨어러블 시스템은 FOV(1810) 내에 있는 오브젝트의 투사된 영역의 비율에 기반하여 신뢰도 스코어들을 원형 및 삼각형에 할당할 수 있다. 예시된 바와 같이, 원형(1802)의 대략 절반은 FOV(1810) 내에 있고, 결과적으로, 웨어러블 시스템은 원형(1802)에 50%의 신뢰도 스코어를 할당할 수 있다. 다른 예로서, 삼각형의 약 75%가 FOV(1810) 내에 있다. 따라서, 웨어러블 시스템은 삼각형(1804)에 75%의 신뢰도 스코어를 할당할 수 있다.
[0189] 웨어러블 시스템은 FOV 및 FOR의 콘텐츠에 대한 회귀 분석을 사용하여 FOV 내의 가상 오브젝트의 비율을 계산할 수 있다. 도 12b를 참조하여 설명된 바와 같이, 웨어러블 시스템이 FOR 내의 오브젝트들을 추적하지만, 웨어러블 시스템은 FOV 내에 있는 오브젝트들(또는 오브젝트들의 일부)을 FOV 내에 표시하기 위해 렌더링 투사기(예컨대, 디스플레이(220))에 전달할 수 있다. 웨어러블 시스템은 어느 일부들이 렌더링 투사기에 제공되는지를 결정하고 전체적으로 가상 오브젝트에 대해 렌더링 투사기에 전달되는 비율을 분석하여 FOV 내에 있는 가상 오브젝트의 백분율을 결정할 수 있다.
[0190] FOV 내에 있는 비례 영역에 기반하여 신뢰도 스코어를 계산하는 것 외에도 또는 이에 대한 대안으로서, 웨어러블 시스템은 또한, FOV 내의 오브젝트 근처의 공간을 분석하여 오브젝트의 신뢰도 스코어를 결정할 수 있다. 도 18b는 FOV(1820) 내의 가상 오브젝트를 둘러싸는 공간의 균등도에 기반하여 신뢰도 스코어를 계산하는 예를 예시한다. FOV(1820)는 삼각형(1814) 및 원형(1812)으로 묘사된 바와 같이 2개의 가상 오브젝트들을 포함한다. 각각의 가상 오브젝트 주변의 공간은 벡터들에 의해 표현될 수 있다. 예컨대, 가상 오브젝트(1812) 주변의 공간은 벡터들(1822a, 1822b, 1822c 및 1822d)에 의해 표현될 수 있는 한편, 가상 오브젝트(1814) 주변의 공간은 벡터들(1824a, 1824b, 1824c, 1824d)에 의해 표현될 수 있다. 벡터들은 가상 오브젝트(또는 가상 오브젝트에 대한 경계)로부터 발생하여 FOV(1820)의 에지에서 종료될 수 있다. 시스템은 오브젝트들로부터 FOV의 에지까지의 벡터들의 길이들의 분배를 분석하여, 오브젝트들 중 어느 것이 FOV의 중심을 향하여 더 포지셔닝되는 지를 결정할 수 있다. 예컨대, 원형 FOV의 가장 중심에 있는 오브젝트는 벡터 길이들의 비교적 균일한 분배를 가질 것인 한편, 에지에 매우 가까운 오브젝트는 벡터 길이들의 비-균일한 분배를 가질 것이다(이는 인근 에지를 가리키는 일부 벡터들은 더 짧지만, 가장 먼 에지를 가리키는 벡터들은 더 길기 때문이다). 도 18b에 묘사된 바와 같이, 가상 삼각형(1814)으로부터 시야(1820)의 에지들까지의 벡터들의 길이들의 분배는 원형(1812)으로부터 시야(1820)의 에지들까지의 벡터들의 길이들의 분배보다 더 많이 변하는데, 이는 가상 원형(1812)이 가상 삼각형(1814)보다 더 많이 FOV(1820)의 중심을 향한다는 것을 표시한다. 벡터 길이들의 분배의 변동성은 길이들의 표준 편차 또는 분산(또는 다른 통계적 측정치)에 의해 표현될 수 있다. 그에 따라서, 웨어러블 시스템은 가상 삼각형(1814)보다 가상 원형(1812)에 더 높은 신뢰도 스코어를 할당할 수 있다.
[0191] 도 18a 및 18b를 참조하여 설명된 기법들 이외에, 웨어러블 시스템은 사용자의 상호작용들의 이력 분석에 기반하여 가상 오브젝트에 신뢰도 스코어를 할당할 수 있다. 예로서, 웨어러블 시스템은 사용자가 빈번하게 상호작용하는 가상 오브젝트에 더 높은 신뢰도 스코어를 할당할 수 있다. 다른 예로서, 한 사용자는 음성 커맨드들(예컨대, "move that there")을 사용하여 가상 오브젝트들을 이동시키는 경향이 있을 수 있는 한편, 다른 사용자는 (예컨대, 가상 오브젝트에 손을 뻗어 "움켜잡고(grabbing)" 다른 포지션으로 이동시킴으로써) 손 제스처들을 사용하는 것을 선호할 수 있다. 시스템은 이력 분석으로부터 그러한 사용자 경향들을 결정할 수 있다. 또 다른 예로서, 입력 모드는 종종 특정 사용자 인터페이스 동작 또는 특정 가상 오브젝트와 연관될 수 있으며, 결과적으로, 웨어러블 시스템은 그러한 특정 사용자 인터페이스 동작 또는 특정 가상 오브젝트에 대한 신뢰도 스코어를 증가시킬 수 있지만, 동일한 입력에 기반하여 대안적인 사용자 인터페이스 동작 또는 가상 오브젝트가 있을 수 있다.
[0192] 도 18a 또는 18b에 묘사된 바와 같은 시야(1810 또는 1820) 중 어느 하나가 주어지면, 제2 입력 모드는 적합한 가상 오브젝트 또는 그러한 가상 오브젝트에서의 적합한 사용자 인터페이스 동작의 선택을 가능하게 할 수 있다. 예컨대, 사용자는 시야(1810) 내에서 삼각형의 사이즈를 증가시키기 위해 "enlarge the triangle"이라고 말할 수 있다. 다른 예로서, 도 18a에서, 사용자는 "make that twice as big"과 같은 음성 커맨드를 제공할 수 있다. 가상 오브젝트(1804)가 머리 포즈에 기반하여 더 높은 신뢰도 스코어를 갖기 때문에, 웨어러블 시스템은 음성 커맨드의 서브젝트(예컨대, 타겟 오브젝트)가 가상 오브젝트(1804)인 것으로 결정할 수 있다. 유리하게, 일부 실시예들에서, 이는 원하는 결과를 생성하는데 필요한 상호작용의 특성(specificity)을 감소시킨다. 예컨대, 웨어러블 시스템이 동일한 상호작용을 달성하기 위해 사용자가 "make the triangle twice as big"을 말할 필요가 없다.
[0193] 도 18a 및 18b에서의 삼각형들 및 원형들은 단지 예시의 목적들을 위한 것이다. 본원에서 설명된 다양한 기법들은 또한, 보다 복잡한 사용자 상호작용들을 지원하는 가상 콘텐츠에 적용될 수 있다.
물리적 환경에서의 예시적인 멀티모달 상호작용들
[0194] 가상 오브젝트들과 상호작용하는 것 외에도 또는 이에 대한 대안으로, 웨어러블 시스템은 또한, 실세계 환경 내에서 광범위한 상호작용들을 제공할 수 있다. 도 19a 및 19b는 멀티모달 입력들을 사용하여 물리적 환경과 상호작용하는 예들을 예시한다. 도 19a에는, 3개의 입력 모드들: 손 제스처들(1960), 머리 포즈(1920), 및 사용자 입력 디바이스(1940)로부터의 입력들이 예시된다. 머리 포즈(1920)는 포즈 센서들을 사용하여 결정될 수 있다. 포즈 센서들은 IMU, 자이로스코프들, 자력계들, 가속도계들, 또는 도 2에서 설명된 다른 타입들의 센서들일 수 있다. 손 제스처(1960)는 외향 이미징 시스템(464)을 사용하여 측정될 수 있는 한편, 사용자 입력 디바이스(1940)는 도 4에 도시된 사용자 입력 디바이스(466)의 실시예일 수 있다.
[0195] 일부 실시예들에서, 웨어러블 시스템은 또한 사용자의 시선을 측정할 수 있다. 시선은, 사용자의 눈들 각각으로부터 두 눈들의 시선이 수렴하는 포지션까지 연장되는 벡터를 포함할 수 있다. 벡터는 사용자가 보고 있는 방향을 결정하는 데 사용될 수 있고, 수렴 포인트에서 또는 벡터를 따라 가상 콘텐츠를 선택하거나 식별하는 데 사용될 수 있다. 이러한 시선은, 이를테면, 예컨대 글린트 검출, 홍채 또는 동공 형상 맵핑, 적외선 조명, 또는 개개의 동공 배향으로부터 발생하는 교차점의 회귀를 갖는 양안 눈 이미징과 같은 눈-추적 기법들에 의해 결정될 수 있다. 그런다음, 시선 또는 머리 포즈는 가상 오브젝트 선택을 위한 콘 캐스트 또는 광선 캐스트의 소스 포인트로 고려될 수 있다.
[0196] 본원에서 설명된 바와 같이, 사용자의 환경 내에서 선택된 가상 콘텐츠를 이동시키기 위한 상호작용 이벤트(예컨대, "put that there")는, 커맨드 동작(예컨대, "put"), 서브젝트(예컨대, 상기 멀티모달 선택 기법들로부터 "that"이 결정될 수 있음), 및 파라미터(예컨대, "there")의 결정을 요구할 수 있다. 커맨드 동작(또는 간단히 '커맨드') 및 서브젝트(타겟 오브젝트 또는 타겟 가상 오브젝트라고도 또한 지칭됨)가 입력 모드들의 조합을 사용하여 결정될 수 있다. 예컨대, 서브젝트(1912)를 이동시키기 위한 커맨드는, 머리 포즈(1920) 변화(예컨대, 머리 회전 또는 끄덕임) 또는 손 제스처(1960)(예컨대, 스와이프 제스처)에 단독으로 또는 조합하여 기반할 수 있다. 다른 예로서, 서브젝트(1912)는 머리 포즈와 시선의 조합에 기반하여 결정될 수 있다. 그에 따라서, 멀티모달 사용자 입력들에 기반하는 커맨드들은 또한, 때때로 멀티모달 입력 커맨드로서 지칭될 수 있다.
[0197] 파라미터는 또한, 단일 입력 또는 멀티모달 입력을 사용하여 결정될 수 있다. 파라미터는 사용자의 물리적 환경 내의 오브젝트들(예컨대, 테이블 또는 벽) 또는 사용자의 가상 환경 내의 오브젝트들(예컨대, 영화 애플리케이션, 게임에서의 아바타 또는 가상 빌딩)과 연관될 수 있다. 일부 실시예들에서, 실세계 파라미터를 식별하는 것은 보다 빠르고 보다 정확한 콘텐츠 배치 응답을 허용할 수 있다. 예컨대, 특정 가상 오브젝트(또는 가상 오브젝트의 일부)는 수평 배향과 실질적으로 평면일 수 있다(예컨대, 가상 오브젝트의 법선(normal)은 룸의 바닥에 수직이다). 사용자가 가상 오브젝트를 이동시키는 상호작용을 개시할 때, 웨어러블 시스템은 유사한 배향을 갖는 실세계 표면(예컨대, 테이블 상단(tabletop))을 식별하고, 가상 오브젝트를 실세계 표면으로 이동시킬 수 있다. 특정 실시예들에서, 이러한 움직임들은 자동적일 수 있다. 예컨대, 사용자는, 가상 책이 바닥에 놓여져있는 곳으로부터 그 가상 책을 이동시키기를 원할 수 있다. 룸에서 이용가능한 유일한 수평 표면은 사용자의 책상일 수 있다. 그에 따라서, 웨어러블 시스템은, 사용자가 추가적인 커맨드들 또는 파라미터들을 입력하지 않으면서 "move that"이라는 음성 커맨드에 대한 응답으로 가상 책을 책상의 표면으로 자동으로 이동시킬 수 있는데, 왜냐하면 책상의 표면은 사용자가 책을 이동시키기를 원하게 될 가능성이 가장 높은 위치이기 때문이다. 다른 예로서, 웨어러블 시스템은 정해진 콘텐츠에 대해 적절한 사이즈의 실세계 표면들을 식별할 수 있고, 그에 의해, 사용자에게 더 나은 파라미터 매칭을 제공할 수 있다. 예컨대, 만약 사용자가 정해진 디스플레이 사이즈를 갖는 가상 비디오 스크린을 보고 있으며 그리고 이러한 가상 비디오 스크린을 간단한 음성 커맨드로 특정 화면으로 이동시키고자 한다면, 시스템은 어느 실세계 표면들이 가상 비디오의 디스플레이 사이즈를 가장 잘 지원하기 위한 필요한 표면 영역을 제공하는지를 결정할 수 있다.
[0198] 웨어러블 시스템은 타겟 가상 오브젝트를 식별하는 것과 관련하여 설명된 기법들을 사용하여 타겟 파라미터(예컨대, 타겟 표면)를 식별할 수 있다. 예컨대, 웨어러블 시스템은, 간접적 사용자 입력들 또는 직접적 사용자 입력들에 기반하여, 복수의 타겟 파라미터들과 연관된 신뢰도 스코어를 계산할 수 있다. 예로서, 웨어러블 시스템은, 직접적 입력(이를테면, 사용자의 머리 포즈) 및 간접적 입력(예컨대, 벽(예컨대, 수직 표면)의 특징들)에 기반하여, 벽과 연관된 신뢰도 스코어를 계산할 수 있다.
실세계 파라미터들을 식별하는 예시적인 기법들
[0199] 웨어러블 시스템은 다양한 기법들을 사용하여 멀티모달 입력 커맨드의 파라미터(이를테면, 타겟 위치)를 결정할 수 있다. 예컨대, 웨어러블 시스템은, 이를테면, 예컨대, 환경 깊이 정보(예컨대, 도 9를 참조하여 설명됨)에 SLAM 프로토콜을 적용하는 것, 또는 환경의 메시 모델의 구성 또는 액세스와 같은 다양한 깊이 감지 기법들을 사용할 수 있다. 일부 실시예들에서, 깊이 감지는 3D 공간 내의 알려진 포인트들 간의 거리(예컨대, HMD 상의 센서들 간의 거리) 및 실세계 내의 오브젝트(예컨대, 가상 콘텐츠를 위치시키기 위한 벽)의 표면 상의 "POI(point of interest)"를 결정한다. 이러한 깊이 정보는 세계 맵(920) 내에 저장될 수 있다. 상호작용을 위한 파라미터는 POI들의 집합에 기반하여 결정될 수 있다.
[0200] 웨어러블 시스템은 깊이 센서들로부터 획득된 데이터에 이러한 깊이 감지 기법들을 적용하여, 물리적 환경의 계측들(metes) 및 경계들을 결정할 수 있다. 깊이 센서들은 외향 이미징 시스템(464)의 일부일 수 있다. 일부 실시예들에서, 깊이 센서들은 IMU들에 커플링된다. 깊이 센서들로부터 획득된 데이터는 복수의 POI들의 서로에 대한 배향을 결정하는 데 사용될 수 있다. 예컨대, 웨어러블 시스템은 POI들에 대한 "TSDF(truncated signed distance function)"를 컴퓨팅할 수 있다. TSDF는 각각의 POI에 대한 수치 값을 포함할 수 있다. 수치 값은, 포인트가 특정 평면의 정해진 공차 내에 있을 때에는 제로이고, 포인트가 특정 평면으로부터 제1 방향으로(예컨대, 위로 또는 외부로) 이격되어 있을 때에는 포지티브이며, 그리고 포인트가 특정 평면으로부터 제2(예컨대, 반대) 방향으로(예컨대, 아래로 또는 내부로) 이격되어 있을 때에는 네거티브일 수 있다. 컴퓨팅된 TSDF는 IMU에 의해 결정되는 배향들을 따라 브릭들 또는 박스들의 3-D 볼류메트릭 그리드를 정의하는 데 사용될 수 있으며, 이들은 특정 표면을 구성 또는 표현하기 위해 특정 평면 내에, 특정 평면 위에, 그리고 특정 평면 아래에 정렬된다.
[0201] 정해진 평면 공차 외부의 POI들(예컨대, 공차보다 큰 TSDF의 절대 값을 가짐)이 제거되어, 정해진 공차 내에서 서로 인접한 복수의 POI들 만을 남김으로써, 실세계 환경 내에서 표면들의 가상 표현들을 생성할 수 있다. 예컨대, 실세계 환경은 컨퍼런스 테이블을 포함할 수 있다. 컨퍼런스 테이블의 최상부에는 다양한 다른 오브젝트들(예컨대, 전화들, 랩톱 컴퓨터들, 커피 잔들 등)이 있을 수 있다. 컨퍼런스 테이블의 표면들의 경우, 웨어러블 시스템은 컨퍼런스 테이블과 연관된 POI들을 유지하고 다른 오브젝트들에 대한 POI들을 제거할 수 있다. 결과적으로, (컨퍼런스 테이블의 표면들을 묘사하는) 평면 맵은 컨퍼런스 테이블에 속하는 포인트들만으로 컨퍼런스 테이블을 표현할 수 있다. 맵은 컨퍼런스 테이블의 최상부의 오브젝트들과 연관된 포인트들을 제외할 수 있다. 특정 실시예들에서, 평면 맵 내의 나머지 POI들의 집합은 환경의 "작업가능 표면들"로서 지칭될 수 있는데, 이는 평면 맵의 이들 구역들이 가상 오브젝트들이 배치될 수 있는 공간(들)을 표현하기 때문이다. 예컨대, 사용자가 가상 스크린을 테이블로 이동시키기를 원할 때, 웨어러블 시스템은, 스크린을 배치하기에 적합하지 않은 표면들(예컨대, 책꽂이의 표면) 또는 오브젝트들(예컨대, 커피 잔 또는 연필 또는 벽화)을 제거하면서, 사용자의 환경에서 적절한 표면들(이를테면, 테이블 상단들, 벽들 등)을 식별할 수 있다. 이 예에서, 식별된 적절한 표면들은 환경의 작업가능 표면들일 수 있다.
[0202] 도 19a에 도시된 예를 다시 참조하면, 환경(1900)은 물리적 벽(1950)을 포함할 수 있다. HMD 또는 사용자 입력 디바이스(1940)는 깊이 센서 시스템(이를테면, 예컨대, TOF(time of flight) 센서 또는 VCSEL(vertical cavity surface emitting laser)) 및 포즈 센서들(이를테면, 예컨대, IMU들)을 하우징할 수 있다. 깊이 센서 시스템에 의해 획득된 데이터는 사용자의 환경 내의 다양한 POI들을 식별하는 데 사용될 수 있다. 웨어러블 시스템은 POI들을 그룹핑할 수 있으며, 이러한 POI들은 실질적으로 평면이어서 경계 다각형(1910)을 함께 형성할 수 있다. 경계 다각형(1910)은 작업가능 표면의 예시적인 실시예일 수 있다.
[0203] 일부 실시예들에서, 외향 이미징 시스템(464)은 실세계 환경(1900) 내의 구역을 가리키는 손가락을 포함할 수 있는 사용자 제스처(1960)를 식별할 수 있다. 외향 이미징 시스템(464)은, 경계 다각형(1910)을 향해 가리키는 손가락의 희소 포인트 벡터 구성을 결정함으로써, 사전-측정된 경계 다각형(1910)을 식별할 수 있다.
[0204] 도 19a에 예시된 바와 같이, 경계 다각형(1910) 내부에 가상 비디오 스크린(1930)이 있을 수 있다. 사용자는 멀티모달 입력을 사용하여 가상 비디오 스크린(1930) 내부의 가상 오브젝트(1912) 내에서 상호작용할 수 있다. 도 19b는 실세계 환경에서 가상 콘텐츠의 멀티모달 입력을 사용하는 상호작용을 묘사한다. 도 19b에서의 환경은, (벽의 일부일 수 있는) 수직 표면(1915), 및 테이블 상단 상의 표면(1917)을 포함한다. 제1 상태(1970a)에서, 가상 콘텐츠(1926)는 초기에 벽 표면(1915) 상의 경계 다각형(1972a) 내에 디스플레이된다. 사용자는, 예컨대, 콘 캐스트 또는 멀티모달 입력(제스처(1960), 머리 포즈(1920), 시선, 또는 사용자 입력 디바이스(1940)로부터의 입력 중 둘 이상을 포함함)을 통해, 가상 오브젝트(1926)를 선택할 수 있다.
[0205] 사용자는 멀티모달 입력의 일부로서 다른 입력을 사용하여, 표면(1917)을 목적지로서 선택할 수 있다. 예컨대, 사용자는 손 제스처와 조합된 머리 포즈를 사용하여, 표면(1917)이 목적지임을 표시할 수 있다. 웨어러블 시스템은, 동일한 평면 상에 있는 것으로 나타나는 POI들을 그룹핑함으로써 표면(1917)(및 다각형(1972b))을 인식할 수 있다. 웨어러블 시스템은 또한, 다른 표면 인식 기법들을 사용하여 표면(1917)을 식별할 수 있다.
[0206] 사용자는 또한, 제2 상태(1970b)로 예시된 바와 같이 가상 콘텐츠(1126)를 표면(1917) 상의 경계 다각형(1972b)으로 전달하기 위해 멀티모달 입력을 사용할 수 있다. 예컨대, 사용자는 사용자 입력 디바이스(1940)의 움직임 및 머리 포즈의 변경들의 조합을 통해 가상 콘텐츠(1926)를 이동시킬 수 있다.
[0207] 다른 예로서, 사용자는, 오디오 스트림을 수신하고 그리고 (본원에서 설명된 바와 같이) 이로부터 이러한 커맨드를 해석할 수 있는 웨어러블 시스템의 마이크로폰(232)을 통해 "move that there"이라고 말할 수 있다. 사용자는 이러한 음성 커맨드를 머리 포즈, 시선, 제스처, 또는 토템의 작동과 조합할 수 있다. 웨어러블 시스템은 가상 오브젝트(1926)를 이러한 커맨드의 서브젝트로서 검출할 수 있는데, 왜냐하면 가상 오브젝트(1926)는 가장 높은 신뢰도의 오브젝트이기 때문이다(예컨대, 사용자의 손가락(1960), HMD(1920) 및 토템(1940)이 오브젝트(1926) 쪽으로 향하고 있음을 표시하는, 장면(1970a) 내의 파선들 참조). 웨어러블 시스템은 또한, 커맨드 동작을 "move"로 식별하고 커맨드의 파라미터를 "there"로 결정할 수 있다. 웨어러블 시스템은 추가로, 음성 이외의 입력 모드들(예컨대, 시선, 머리 포즈, 제스처, 토템)에 기반하여 "there"이 경계 다각형(1972b)을 지칭한다고 결정할 수 있다.
[0208] 상호작용 이벤트의 커맨드는 다수의 파라미터들의 조정들 및 계산들을 수반할 수 있다. 예컨대, 파라미터들은 가상 오브젝트의 목적지, 배치, 배향, 외관(예컨대, 사이즈 또는 형상), 또는 애니메이션을 포함할 수 있다. 파라미터를 변경할 때 직접적 입력이 명시적이지 않더라도, 웨어러블 시스템은 자동으로 파라미터를 계산할 수 있다. 예로서, 웨어러블 시스템은, 가상 오브젝트(1926)가 수직 표면(1915)으로부터 수평 표면(1917)으로 이동될 때 가상 오브젝트(1926)의 배향을 자동으로 변경할 수 있다. 제1 상태(1970a)에서, 가상 콘텐츠(1926)는 표면(1915) 상에서 실질적으로 수직 배향이다. 가상 콘텐츠(1926)가 제2 상태(1970b)에서 표면(1917)으로 이동될 때, 가상 콘텐츠(1926)의 배향은 가상 오브젝트(1924)에 의해 도시된 바와 같이 일관되게 유지(예컨대, 수직 배향을 유지)될 수 있다. 웨어러블 시스템은 또한, 가상 콘텐츠(1926)가 가상 오브젝트(1922)에 의해 예시된 바와 같이 수평 포지션에 있는 것으로 나타나도록 표면(1917)의 배향과 정렬시키기 위해, 가상 콘텐츠(1926)의 배향을 자동으로 조정할 수 있다. 이 예에서, 배향은 간접적 입력으로서 환경 추적(1632)에 기반하여 자동으로 조정될 수 있다. 오브젝트가 타겟 목적지 오브젝트인 것으로 웨어러블 시스템이 결정할 때, 웨어러블 시스템은 오브젝트(예컨대, 표면(1917)) 특징들을 자동으로 고려할 수 있다. 웨어러블 시스템은 타겟 목적지 오브젝트의 특징들에 기반하여 가상 오브젝트의 파라미터들을 조정할 수 있다. 이 예에서, 웨어러블 시스템은 표면(1917)의 배향에 기반하여 가상 오브젝트(1926)의 배향을 자동으로 회전시켰다.
[0209] 가상 오브젝트들을 자동으로 배치 또는 이동시키는 추가적인 예들은 2017년 8월 9일자로 출원되고 발명의 명칭이 "AUTOMATIC PLACEMENT OF A VIRTUAL OBJECT IN A THREE-DIMENSIONAL SPACE"인 미국 출원 제15/673,135호에서 설명되며, 이로써 이 출원의 개시내용은 그 전체가 인용에 의해 본원에 통합된다.
[0210] 특정 구현들에서, 입력은 다수의 파라미터들을 명시적으로 수정할 수 있다. "place that there flat"의 음성 커맨드는 표면(1917)을 목적지로서 식별하는 것 외에도 가상 오브젝트(1926)의 배향을 변경할 수 있다. 이 예에서, "flat"이라는 단어와 "there"라는 단어 둘 모두는 파라미터 값들일 수 있으며, 여기서 "there"는 웨어러블 시스템으로 하여금 타겟 가상 오브젝트의 위치를 업데이트하게 하는 반면, "flat"이라는 단어는 목적지 위치에서 타겟 가상 오브젝트의 배향과 연관된다. 파라미터 "flat"을 실행하기 위해, 웨어러블 시스템은 표면(1917)의 배향과 매칭하도록 가상 오브젝트(1926)의 배향을 매칭시킬 수 있다.
[0211] 가상 오브젝트를 선택하고 이동시키는 것 외에도 또는 대안으로서, 멀티모달 입력은 가상 콘텐츠와 다른 방식들로 상호작용할 수 있다. 도 20은 멀티모달 입력들에 기반하여 가상 오브젝트를 자동으로 리사이징하는 예를 예시한다. 도 20에서는, 사용자(1510)가 HMD(1502)를 착용할 수 있고 손 제스처들 및 음성 커맨드들(2024)을 사용하여 가상 오브젝트들과 상호작용할 수 있다. 도 20은 4개의 장면들(2000a, 2000b, 2000c, 2000d)을 예시한다. 각각의 장면은 디스플레이 스크린 및 (웃는 얼굴로 예시된) 가상 오브젝트를 포함한다.
[0212] 장면(2000a)에서, 디스플레이 스크린은 사이즈(2010)를 갖고 가상 오브젝트는 사이즈(2030)를 갖는다. 사용자는 손 제스처를 제스처(2020)에서 제스처(2022)로 변경하여 사용자가 가상 오브젝트 또는 디스플레이 스크린의 사이즈를 조정하길 원한다는 것을 표시할 수 있다. 사용자는 음성 입력(2024)을 사용하여 가상 오브젝트 또는 디스플레이 스크린이 조작의 서브젝트인지 여부를 표시할 수 있다.
[0213] 예로서, 사용자는 디스플레이 스크린 및 가상 오브젝트 둘 모두를 확대시키길 원할 수 있다. 그에 따라서, 사용자는 입력 제스처(2022)를 확대시키기 위한 커맨드로서 사용할 수 있다. 확장도에 대한 파라미터는 펼친 도면들의 범위로 표현될 수 있다. 그 사이에, 사용자는 음성 입력(2024)을 사용하여 상호작용의 서브젝트를 지시할 수 있다. 장면(2000b)에 도시된 바와 같이, 사용자는 확대된 디스플레이(2012) 및 확대된 가상 오브젝트(2032)를 생성하기 위해 "all"이라고 말할 수 있다. 다른 예로서, 장면(2000c)에서, 사용자는 확대된 가상 오브젝트(2034)를 생성하기 위해 "content"라고 말할 수 있는 한편, 디스플레이 스크린의 사이즈는 장면(2000a)의 사이즈와 동일하게 유지된다. 또 다른 예로서, 장면(2000d)에서, 사용자는 확대된 디스플레이 스크린(2016)을 생성하기 위해 "display"라고 말할 수 있는 한편, 가상 오브젝트는 장면(2000a)의 사이즈와 동일한 사이즈를 유지한다.
입력 모드로서의 간접적 입력의 예들
[0214] 본원에서 설명된 바와 같이, 웨어러블 시스템은 멀티모달 입력들의 일부로서 직접적 사용자 입력들 및 간접적 사용자 입력들과의 사용자 상호작용들을 허용하도록 프로그래밍될 수 있다. 직접적 사용자 입력들은 머리 포즈, 시선, 음성 입력, 제스처, 사용자 입력 디바이스로부터의 입력들, 또는 사용자로부터 직접적으로 오는 다른 입력들을 포함할 수 있다. 간접적 입력들은 다양한 환경 팩터들, 이를테면 예컨대, 사용자의 포지션, 사용자의 특징들/선호도들, 오브젝트의 특징들, 사용자의 환경의 특징들 등을 포함할 수 있다.
[0215] 도 2를 참조하여 설명된 바와 같이, 웨어러블 시스템은 위치 센서, 이를테면 예컨대, GPS 또는 레이더 또는 라이더를 포함할 수 있다. 웨어러블 시스템은 사용자에 대한 오브젝트의 근접도의 함수로써 사용자의 상호작용들의 서브젝트를 결정할 수 있다. 도 21은 오브젝트들의 위치들에 기반하여 타겟 가상 오브젝트를 식별하는 예를 예시한다. 도 21은 사용자의 FOR의 조감도(2100)를 개략적으로 예시한다. FOR는 복수의 가상 오브젝트들(2110a-2110q)을 포함할 수 있다. 사용자는 위치 센서를 포함할 수 있는 HMD를 착용할 수 있다. 웨어러블 시스템은 사용자에 대한 오브젝트들의 근접도에 기반하여 후보 타겟 오브젝트들을 결정할 수 있다. 예컨대, 웨어러블 시스템은 사용자로부터 임계 반경(예컨대, 1m, 2m, 3m, 5m, 10m 이상) 내의 가상 오브젝트들을 후보 타겟 가상 오브젝트들로서 선택할 수 있다. 도 21에서, 가상 오브젝트들(예컨대, 가상 오브젝트들(2110o, 2110p, 2110q))은 사용자의 포지션(2120)으로부터 (파선 원형(2122)으로 예시된) 임계 반경 내에 있다. 결과적으로, 웨어러블 시스템은 가상 오브젝트들(2110o-2110q)을 후보 타겟 가상 오브젝트들로서 세팅할 수 있다. 웨어러블 시스템은 다른 입력들(이를테면, 예컨대 사용자의 머리 포즈)에 기반하여 선택들을 추가로 개선할 수 있다. 임계 반경은 사용자의 위치와 같은 콘텍스추얼 팩터들, 이를테면 사용자의 위치에 의존할 수 있다. 예컨대, 임계 반경은 사용자가 공원 외부에 있는 경우보다 사용자가 자신의 오피스에 있는 경우에 더 짧을 수 있다. 후보 오브젝트들은 사용자로부터의 임계 반경 내의 구역(2122)의 일부로부터 선택될 수 있다. 예컨대, 원형(2122) 내 그리고 사용자의 FOV 내 둘 모두에 있는(예컨대, 일반적으로 사용자의 앞에 있는) 그러한 오브젝트들만이 후보들일 수 있는 한편, 원형(2122) 내에 있지만 사용자의 FOV 외부(예컨대, 사용자 뒤)에 있는 오브젝트들은 후보들이 아닐 수 있다. 다른 예로서, 다수의 가상 오브젝트들이 공통 시선을 따라 있을 수 있다. 예컨대, 콘 캐스트가 다수의 가상 오브젝트들을 선택할 수 있다. 웨어러블 시스템은 사용자 상호작용을 위한 파라미터 또는 타겟 가상 오브젝트를 결정하기 위한 다른 입력으로서 사용자의 포지션을 사용할 수 있다. 예컨대, 콘 캐스트는 상이한 깊이 평면들에 대응하는 오브젝트들을 선택할 수 있지만, 웨어러블 시스템은 타겟 가상 오브젝트를 사용자의 손 거리 내의 오브젝트로서 식별하도록 구성될 수 있다.
[0216] 직접적 입력과 유사하게, 간접적 입력은 또한 가상 오브젝트의 신뢰도 스코어들을 계산하기 위해 사용될 수 있는 값에 할당될 수 있다. 예컨대, 다수의 서브젝트들 또는 파라미터들이 선택의 일반적인 신뢰도 내에 있었던 동안, 간접적 입력이 신뢰도 팩터로서 추가로 사용될 수 있었다. 도 21을 참조하면, 사용자의 포지션(2120)에 더 근접한 오브젝트들이 사용자가 상호작용에 관심이 있는 오브젝트들이 될 가능성이 더 있기 때문에 원형(2122) 내의 가상 오브젝트들은 원형(2122)과 원형(2124) 간의 가상 오브젝트들보다 더 높은 신뢰도 스코어를 가질 수 있다.
[0217] 도 21에 도시된 예에서, 도 21에 도시된 평면 상으로의 대응하는 반경의 구의 투사를 표현하는 파선 원형들(2122, 2124)이 편의상 예시된다. 이는 예시를 위한 것이며 제한이 아니고; 다른 구현들에서는, 다른 형상 구역들(예컨대, 다면체)이 선택될 수 있다.
[0218] 도 22a 및 22b는 직접적 및 간접적 입력들의 조합에 기반하여 사용자의 환경과 상호작용하는 다른 예를 예시한다. 이러한 2개의 도면들은 사용자의 FOV(1250)보다 더 클 수 있는 세계 카메라의 FOV(1270)에서 2개의 가상 오브젝트들인 가상 오브젝트 A(2212) 및 가상 오브젝트 B(2214)를 도시한다. 가상 오브젝트 A(2212)는 또한 사용자의 FOV(1250) 내에 있다. 예컨대, 가상 오브젝트 A(2212)는 사용자가 현재 보고 있는 가상 문서일 수 있는 한편, 가상 오브젝트 B(2214)는 벽 상의 가상 스티커 메모일 수 있다. 그러나 사용자가 가상 오브젝트 A(2212)와 상호작용하고 있는 동안, 사용자는 가상 오브젝트 B(2214)로부터 추가 정보를 얻기 위해 가상 오브젝트 B(2214)를 보길 원할 수 있다. 결과적으로, 사용자는 가상 오브젝트 B(2214)를 보기 위해 (FOV(1250)를 변경하도록) 머리를 우향으로 돌릴 수 있다. 유리하게, 일부 실시예들에서, 머리를 돌리기보다는, 웨어러블 시스템은 (가상 오브젝트 B(2214)의 방향을 향한) 사용자의 시선 방향의 변화를 검출할 수 있고, 결과적으로 웨어러블 시스템은 사용자가 자신의 머리 포즈를 변경할 필요 없이 사용자의 FOV 내에서 가상 오브젝트 B(2214)를 자동으로 이동시킬 수 있다. 가상 오브젝트 B는 가상 오브젝트 A를 오버레이할 수 있거나(또는 오브젝트 A 내에 포함될 수 있거나) 오브젝트 B가 사용자 FOV(1250) 내에 배치될 수 있지만 (오브젝트 A가 또한 적어도 부분적으로 사용자에게 보이도록) 오브젝트 A로부터 적어도 부분적으로 이격될 수 있다.
[0219] 다른 예로서, 가상 오브젝트 B(2214)는 다른 사용자 인터페이스 스크린 상에 있을 수 있다. 사용자는 가상 오브젝트 A(2212)를 갖는 사용자 인터페이스 스크린과 가상 오브젝트 B(2214)를 갖는 사용자 인터페이스 스크린 간에 스위칭하기를 원할 수 있다. 웨어러블 시스템은 사용자의 FOV(1250)를 변경하지 않고 스위칭을 할 수 있다. 예컨대, 사용자 입력 디바이스의 작동 또는 시선의 변화의 검출 시에, 웨어러블 시스템은 가상 오브젝트 B(2214)를 갖는 사용자 인터페이스 스크린을 사용자의 FOV(1250)의 내부에 있도록 이동시키면서 가상 오브젝트 A(2212)를 갖는 사용자 인터페이스 스크린을 사용자의 FOV(1250)의 외부에 있도록 자동으로 이동시킬 수 있다. 다른 예로서, 웨어러블 시스템은 가상 오브젝트 A(2212)를 갖는 사용자 인터페이스 스크린의 최상부 상에 가상 오브젝트 B(2214)를 갖는 사용자 인터페이스 스크린을 자동으로 오버레이할 수 있다. 사용자가 자신이 가상 사용자 인터페이스 스크린으로 완료했다는 표시를 제공하면, 웨어러블 시스템은 가상 사용자 인터페이스 스크린을 FOV(1250)의 외부로 자동으로 이동시킬 수 있다.
[0220] 유리하게, 일부 실시예들에서, 웨어러블 시스템은 멀티모달 입력들에 기반하여 가상 오브젝트 B(2214)를 FOV 내부로 이동될 타겟 가상 오브젝트로서 식별할 수 있다. 예컨대, 웨어러블 시스템은 사용자의 시선 및 가상 오브젝트들의 포지션들에 기반하여 결정을 할 수 있다. 웨어러블 시스템은 타겟 가상 오브젝트를 사용자의 시선 방향에 있고 사용자에게 가장 가까운 오브젝트인 오브젝트로서 세팅할 수 있다.
멀티모달 사용자 입력들을 사용하여 가상 오브젝트와 상호작용하는 예시적인 프로세스들
[0221] 도 23은 멀티모달 입력들을 사용하여 가상 오브젝트와 상호작용하는 예시적인 프로세스를 예시한다. 프로세스(2300)는 본원에서 설명된 웨어러블 시스템에 의해 실행될 수 있다. 예컨대, 프로세스(2300)는 로컬 프로세싱 & 데이터 모듈(260), 원격 프로세싱 모듈(270) 및 중앙 런타임 서버(1650)에 의해 단독으로 또는 조합하여 실행될 수 있다.
[0222] 블록(2310)에서, 웨어러블 시스템은 선택적으로 개시 조건을 검출할 수 있다. 개시는 사용자가 웨어러블 시스템에 커맨드를 발행하도록 의도한다는 표시를 제공할 수 있는 사용자-개시 입력일 수 있다. 개시 조건은 웨어러블 시스템에 의해 미리 정의될 수 있다. 개시 조건은 단일 입력 또는 조합 입력일 수 있다. 예컨대, 개시 조건은 이를테면, 예컨대 "Hey, Magic Leap"이라는 어구를 말함으로써 음성 입력일 수 있다. 개시 조건은 또한 제스처 기반일 수 있다. 예컨대, 웨어러블 시스템은 세계 카메라의 FOV(또는 사용자의 FOV) 내에서 사용자의 손이 검출될 때 개시 조건의 존재를 검출할 수 있다. 다른 예로서, 개시 조건은 특정한 손 모션, 이를테면 예컨대, 손가락들의 스냅일 수 있다. 개시 조건은 또한 사용자가 사용자 입력 디바이스를 작동시킬 때 검출될 수 있다. 예컨대, 사용자는 사용자 입력 디바이스 상의 버튼을 클릭하여, 사용자가 커맨드를 발행할 것임을 표시할 수 있다. 특정 구현들에서, 개시 조건은 멀티모달 입력들에 기반할 수 있다. 예컨대, 웨어러블 시스템이 개시 조건의 존재를 검출하기 위해서는 음성 커맨드와 손 제스처 둘 모두가 요구될 수 있다.
[0223] 블록(2310)은 선택적이다. 일부 실시예들에서, 웨어러블 시스템은 개시 조건의 검출 없이 멀티모달 입력들을 수신하여 해석을 시작할 수 있다. 예컨대, 사용자가 비디오를 보고 있을 때, 웨어러블 시스템은 사용자가 먼저 개시 조건을 제공할 것을 요구하지 않고 볼륨, 빨리 감기, 되감기, 다음 에피소드로 건너뛰기 등을 조정하도록 사용자의 멀티모달 입력들을 취할 수 있다. 유리하게, 일부 실시예들에서, 사용자가 멀티모달 입력들을 사용하여 비디오 스크린과 상호작용하기 전에 사용자가 (예컨대, 비디오 스크린이 시간 조정 또는 볼륨 조정 도구들을 제공할 수 있도록) 비디오 스크린을 웨이크 업할 필요가 없을 수 있다.
[0224] 블록(2320)에서, 웨어러블 시스템은 사용자 상호작용을 위한 멀티모달 입력들을 수신할 수 있다. 멀티모달 입력들은 직접적 또는 간접적 입력들일 수 있다. 예시적인 입력 모드들은 음성, 머리 포즈, 시선, (사용자 입력 디바이스 상의 또는 공중에서의) 제스처, 사용자 입력 디바이스 상의 입력들(이를테면, 예컨대 토템), 사용자의 환경, 또는 3D 공간에서의 오브젝트들(물리적 또는 가상 오브젝트들)의 특징들을 포함할 수 있다.
[0225] 블록(2330)에서, 웨어러블 시스템은 멀티모달 입력들을 해석하여 서브젝트, 커맨드 및 사용자 상호작용의 파라미터를 식별할 수 있다. 예컨대, 웨어러블 시스템은 후보 타겟 가상 오브젝트들, 타겟 커맨드들 및 타겟 파라미터들에 신뢰도 스코어들을 할당하고 가장 높은 신뢰도 스코어들에 기반하여 서브젝트, 커맨드 및 파라미터들을 선택할 수 있다. 일부 실시예들에서, 하나의 입력 모드는 1차 입력 모드일 수 있는 한편, 다른 입력 모드는 2차 입력 모드일 수 있다. 2차 입력 모드로부터의 입력들은 타겟 서브젝트, 커맨드 또는 파라미터를 확인하기 위해 1차 입력 모드로부터의 입력을 보충할 수 있다. 예컨대, 웨어러블 시스템은 머리 포즈를 1차 입력 모드로서 세팅하고 음성 커맨드를 2차 입력 모드로서 세팅할 수 있다. 웨어러블 시스템은 먼저 1차 입력 모드로부터의 입력들을 가능한 한 많이 해석하고, 그런다음 2차 입력 모드로부터의 추가적인 입력들을 해석할 수 있다. 만약 추가적인 입력이 1차 입력의 입력들과는 상이한 상호작용을 제안하는 것으로 해석된다면, 웨어러블 시스템은 사용자에게 명확성 촉구를 자동으로 제공할 수 있다. 명확성 촉구는 사용자에게 2차 입력의 해석에 기반한 대안적 옵션들 또는 1차 입력의 해석으로부터 원하는 임무를 선택하도록 요청할 수 있다. 이 예는 1차 입력 모드 및 제2 입력 모드를 참조하여 설명되지만, 다양한 상황들에서는 2개보다 많은 입력 모드들이 있을 수 있다. 동일한 기법이 또한 제3 입력 모드, 제4 입력 모드 등에 적용 가능할 수 있다.
[0226] 블록(2340)에서, 웨어러블 시스템은 서브젝트, 커맨드 및 파라미터에 기반하여 사용자 상호작용을 실행할 수 있다. 예컨대, 멀티모달 입력들은 시선 및 음성 커맨드 "put that there"를 포함할 수 있다. 웨어러블 시스템은 상호작용의 서브젝트가 사용자가 현재 상호작용하고 있는 오브젝트이고, 커맨드가 "put"이며, 파라미터가 (사용자의 시선 방향에 기반하여 결정된) 사용자의 응시 필드의 중심임을 결정할 수 있다. 그에 따라서, 사용자는 사용자가 현재 상호작용하고 있는 가상 오브젝트를 사용자의 응시 필드의 중심으로 이동시킬 수 있다.
사용자 상호작용과 연관된 직접적 입력 모드들을 세팅하는 예들
[0227] 일부 상황들에서, 이를테면 사용자가 포즈들, 제스처들 또는 음성들을 사용하여 웨어러블 시스템과 상호작용하고 있을 때, 사용자 인근의 다른 사람들이 이러한 직접적 입력들을 사용하여 커맨드를 발행함으로써 사용자의 상호작용을 "hijack"할 수 있는 위험이 있다. 예컨대, 사용자 A는 공원에서 사용자 B 인근에 서있을 수 있다. 사용자 A는 음성 커맨드들을 사용하여 HMD와 상호작용할 수 있다. 사용자 B는 "take a picture"라고 말함으로써 사용자 A의 경험을 가로챌 수 있다. 사용자 B에 의해 발행된 이 음성 커맨드는 사용자 A가 사진을 찍으려고 결코 의도하지 않았더라도 사용자 A의 HMD로 하여금 사진을 찍게 할 수 있다. 다른 예로서, 사용자 B는 사용자 A의 HMD의 세계 카메라의 FOV 내에서 제스처를 수행할 수 있다. 이 제스처는 예컨대, 사용자 A가 비디오 게임을 하고 있는 동안 사용자 A의 HMD로 하여금 홈페이지로 이동하게 할 수 있다.
[0228] 일부 구현들에서, 입력이 사용자로부터 발생되었는지 여부를 결정하기 위해 입력이 분석될 수 있다. 예컨대, 시스템은 화자 인식 기법들을 적용하여 커맨드 "take a picture"가 사용자 A에 의해 언급되었는지 또는 하이재커 B에 의해 언급되었는지를 결정할 수 있다. 시스템은 컴퓨터 비전 기법들을 적용하여 제스처가 사용자 A의 손에 의해 이루어졌는지 또는 하이재커 B의 손에 의해 이루어졌는지를 결정할 수 있다.
[0229] 추가적으로 또는 대안적으로, 웨어러블 시스템과 사용자의 상호작용의 보안 위반들 및 중단들을 방지하기 위해, 웨어러블 시스템은 간접적 입력들에 기반하여 이용가능한 직접적 입력 모드들을 자동으로 세팅할 수 있거나 커맨드가 발행되기 전에 다수의 직접적 입력 모드들을 요구할 수 있다. 도 24는 사용자 상호작용과 연관된 직접적 입력 모드들을 세팅하는 예를 예시한다. 3개의 직접적 입력들: 음성(2412), 머리 포즈(2414) 및 손 제스처들(2416)이 도 24에 예시된다. 아래에서 추가로 설명되는 바와 같이, 슬라이더 바들(2422, 2424, 2426)은 커맨드를 결정할 때 각각의 입력이 가중되는 양을 표현한다. 만약 슬라이더가 내내 오른쪽을 향해 있다면, 입력에 충분한 가중치(예컨대, 100%)가 정해지고, 만약 슬라이더가 내내 왼쪽에 있다면, 입력에 제로 가중치(예컨대, 0%)가 정해지며, 만약 슬라이더가 이러한 극한 세팅들 사이에 있다면, 입력에 부분 가중치(예컨대, 20% 또는 80% 또는 일부 다른 값인 중간 값들, 이를테면 0과 1 간의 값)가 정해진다. 이 예에서, 웨어러블 시스템은 커맨드가 실행되기 전에 (머리 포즈(2414)를 사용하지 않는 동안) 음성 커맨드들(2422) 및 손 제스처들(2426) 둘 모두를 요구하도록 세팅될 수 있다. 그에 따라서, 웨어러블 시스템은 만약 음성 커맨드들(2442) 및 제스처(2426)가 상이한 사용자 상호작용들(또는 가상 오브젝트들)을 표시한다면 커맨드를 실행하지 않을 수 있다. 둘 모두의 타입들의 입력들을 요구함으로써, 웨어러블 시스템은 다른 누군가가 사용자의 상호작용을 가로챌 가능성을 감소시킬 수 있다.
[0230] 다른 예로서, 하나 이상의 입력 모드들이 디스에이블링될 수 있다. 예컨대, 사용자가 문서 프로세싱 애플리케이션과 상호작용하고 있을 때, 머리 포즈 슬라이더(2424)가 0으로 세팅되는 도 24에 도시된 바와 같이, 머리 포즈(2414)는 입력 모드로서 디스에이블링될 수 있다.
[0231] 각각의 입력은 인증 레벨과 연관될 수 있다. 도 24에서, 음성(2412)은 인증 레벨(2422)과 연관되고; 머리 포즈(2414)는 인증 레벨(2424)과 연관되고; 손 제스처(2416)는 인증 레벨(2426)과 연관된다. 인증 레벨은 실행될 커맨드에 대해 입력이 요구되는지 여부 또는 입력이 디스에이블링되는지 여부 또는 입력에 부분적 가중치(완전히 인에이블링되는 것 또는 완전히 디스에이블링되는 것 사이)가 주어지는지 여부를 결정하기 위해 사용될 수 있다. 도 24에 예시된 바와 같이, 음성(2412) 및 손 제스처들(2416)의 인증 레벨들은 항상 오른쪽으로 세팅되어(이는 최대 인증 레벨과 연관됨), 발행할 커맨드에 대해 이러한 2개의 입력들이 요구되는 것을 제안한다. 다른 예로서, 머리 포즈의 인증 레벨은 항상 왼쪽으로 세팅된다(이는 최소 인증 레벨과 연관된다). 이는, 머리 포즈(2414)가 타겟 가상 오브젝트 또는 타겟 사용자 인터페이스 동작을 결정하기 위해 여전히 사용될 수 있더라도 발행할 커맨드에 대해 머리 포즈(2414)가 요구되지 않는 것을 제안한다. 일부 상황들에서, 인증 레벨을 최소로 세팅함으로써, 웨어러블 시스템은 머리 포즈(2414)를 입력 모드로서 디스에이블링할 수 있다.
[0232] 특정 구현들에서, 인증 레벨은 또한 가상 오브젝트와 연관된 신뢰도 레벨들을 계산하기 위해 사용될 수 있다. 예컨대, 웨어러블 시스템은 더 높은 인증 레벨을 갖는 입력 모드에 더 높은 값을 할당하는 반면, 더 낮은 인증 레벨을 갖는 입력 모드에 더 낮은 값을 할당할 수 있다. 결과적으로, 가상 오브젝트에 대해 집계된 신뢰도 스코어를 계산하기 위해 다수의 입력 모드들로부터 신뢰도 스코어들을 집계할 때, 더 높은 인증 레벨을 갖는 입력 모드는 더 낮은 인증 레벨을 갖는 입력 모드보다 집계된 신뢰도 스코어에서 더 많은 가중치를 가질 수 있다.
[0233] 인증 레벨들은 사용자에 의해 (입력들을 통해 또는 셋업 패널을 통해) 세팅될 수 있거나 또는 예컨대 간접적 입력들에 기반하여 웨어러블 시스템에 의해 자동으로 세팅될 수 있다. 웨어러블 시스템은 사용자가 공공 장소에 있을 때 더 많은 입력 모드들을 요구하는 반면 사용자가 사설 장소에 있을 때 더 적은 입력 모드들을 요구할 수 있다. 예컨대, 웨어러블 시스템은 사용자가 지하철을 타고 있을 때 음성(2412) 및 손 제스처들(2416) 둘 모두를 요구할 수 있다. 그러나, 사용자가 집에 있을 때, 웨어러블 시스템은 커맨드를 발행하기 위해 오직 음성(2412)만을 요구할 수 있다. 다른 예로서, 웨어러블 시스템은 사용자가 공원에 있을 때 음성 커맨드를 디스에이블링하여 사용자의 상호작용에 프라이버시를 제공할 수 있다. 그러나, 음성 커맨드는 사용자가 집에 있을 때 여전히 이용가능할 수 있다.
[0234] 이러한 예들은 직접적 입력 모드들을 세팅하는 것을 참조하여 설명되었지만, 유사한 기법들이 멀티모달 입력의 일부로서 간접적 입력 모드들을 세팅하는 것에 또한 적용될 수 있다. 예컨대, 사용자가 대중 교통(이를테면, 예컨대, 버스)을 사용하고 있을 때, 웨어러블 시스템은 입력 모드로서의 지오로케이션을 디스에이블링하도록 구성될 수 있는데, 이는, 사용자가 대중 교통에서 구체적으로 어디에 앉아 있거나 서 있는지를 웨어러블 시스템이 정확히 알지 못할 수 있기 때문이다.
추가적인 예시적 사용자 경험들
[0235] 본원에서 설명된 예들 외에도, 본 섹션은 멀티모달 입력들을 갖는 추가적인 사용자 경험들을 설명한다. 제1 예로서, 멀티모달 입력들은 음성 입력을 포함할 수 있다. 예컨대, 사용자는 "Hey Magic Leap, call her"와 같은 음성 커맨드를 말할 수 있고, 이는 HMD 상의 오디오 센서(232)에 의해 수신되고 HMD 시스템에 의해 해석된다. 이러한 커맨드에서, 사용자는 "Hey Magic Leap"을 말함으로써 임무를 개시(또는 개시 조건을 제공)할 수 있다. "Call"은 웨어러블 시스템이 (비디오 통화를 개시하기 보다는) 전화 통화를 수행해야 하는 것을 알도록 미리 프로그래밍된 단어일 수 있다. 특정 구현들에서, 이러한 미리 프로그래밍된 단어들은 또한 "핫워드들" 또는 "운반 어구들"로서 지칭될 수 있고, 이는, 사용자가 특정 동작(예컨대, "Call")을 취하기를 원하는 것을 표시하는 것으로 시스템이 인식하고, 원하는 동작을 완료(예컨대, 단어 "Call" 이후 사람("her") 또는 전화 번호를 식별)하기 위해 추가적인 입력을 수락하도록 시스템에 경고할 수 있다 웨어러블 시스템은 "her"가 누구인지를 식별하기 위해 추가적인 입력들을 사용할 수 있다. 예컨대, 웨어러블 시스템은 사용자가 가상 연락처 리스트 또는 사용자의 폰 상의 어느 연락처를 보고 있는지를 알기 위해 눈 추적을 사용할 수 있다. 웨어러블 시스템은 또한, 만약 사용자가 통화하기를 원하는 사람을 사용자가 직접 보고 있는지 여부를 결정하기 위해 머리 포즈 또는 눈 추적을 사용할 수 있다. 특정 실시예들에서, 웨어러블 시스템은 사용자가 보고 있는 사람의 아이덴티티를 결정하기 위해 (예컨대, 오브젝트 인식기들(708)을 사용하여) 얼굴 인식 기법들을 활용할 수 있다.
[0236] 제2 예로서, 사용자는 벽 상에 직접 배치된 가상 브라우저를 가질 수 있다(예컨대, 웨어러블 시스템의 디스플레이(220)는 벽 상에 오버레이된 것처럼 가상 브라우저를 투사할 수 있다). 사용자는 자신의 손을 뻗어서 브라우저 내의 링크 상에 탭 제스처를 제공할 수 있다. 브라우저가 벽 상에 있는 것으로 나타나기 때문에, 사용자는 표시를 제공하기 위해 벽을 탭하거나 공간을 탭하여 사용자의 손가락의 투사가 벽을 탭하는 것으로 나타나게 할 수 있다. 웨어러블 시스템은 사용자가 클릭하려 의도하는 링크를 식별하기 위해 멀티모달 입력들을 사용할 수 있다. 예컨대, 웨어러블 시스템은 (예컨대, 외향 이미징 시스템(464)에 의해 획득된 데이터를 통한) 제스처 검출, 머리 포즈 기반 콘-캐스트 및 시선을 사용할 수 있다. 이러한 예에서, 제스처 검출은 100% 미만으로 정확할 수 있다. 웨어러블 시스템은 제스처 추적 정확도를 증가시키기 위해 머리 포즈 및 시선으로부터 획득된 데이터로 제스처 검출을 개선할 수 있다. 예컨대, 웨어러블 시스템은 내향 이미징 시스템(462)에 의해 획득된 데이터에 기반하여 눈들이 초점을 맞출 가능성이 가장 높은 반경을 식별할 수 있다. 특정 실시예들에서, 웨어러블 시스템은 시선에 기반하여 사용자의 응시 필드를 식별할 수 있다. 웨어러블 시스템은 또한 제스처 추적을 개선하기 위해 간접적 입력, 이를테면 환경 특징들(예컨대, 벽의 위치, 브라우저 또는 웹페이지의 특징들 등)을 사용할 수 있다. 이러한 예에서, 벽은 평면 메시(환경의 맵(920)에 이전에 저장될 수 있음)에 의해 표현될 수 있고, 웨어러블 시스템은 사용자가 타겟팅 및 선택하고 있는 링크를 결정하기 위해 평면 메시의 뷰에서 사용자의 손 포지션을 결정할 수 있다. 유리하게, 다양한 실시예들에서, 다수의 입력 모드들을 조합함으로써, 사용자 상호작용을 위한 하나의 입력 모드에 대해 요구되는 정확도는 단일 입력 모드에 비해 감소될 수 있다. 예컨대, FOV 카메라는 손 제스처 인식을 위해 매우 높은 해상도를 가질 필요가 없을 수 있는데, 이는 웨어러블 시스템이 의도된 사용자 상호작용을 결정하기 위해 머리 포즈 또는 시선으로 손 제스처들을 보충할 수 있기 때문이다.
[0237] 상기 예들에서 멀티모달 입력들이 오디오 입력을 포함하지만, 오디오 입력은 위에서 설명된 멀티모달 입력 상호작용들에 대해 요구되지 않는다. 예컨대, 사용자는 브라우저 윈도우를 하나의 벽으로부터 상이한 벽으로 이동시키기 위해 (예컨대, 토템 상에서) 2D-터치 스와이프 제스처를 사용할 수 있다. 브라우저는 초기에 왼쪽 벽 상에 있을 수 있다. 사용자는 토템을 작동시킴으로써 브라우저를 선택할 수 있다. 그런다음 사용자는 오른쪽 벽을 보고 토템의 터치패드 상에서 오른쪽-스와이프 제스처를 행할 수 있다. 터치패드 상의 스와이프는 느슨하고 부정확한데, 이는 2D 스와이프 자체가 3D 움직임으로 쉽게/잘 전환되지 않기 때문이다. 그러나, 웨어러블 시스템은 (예컨대, 외향 이미징 시스템에 의해 획득된 환경 데이터에 기반하여) 벽을 검출하고 (예컨대, 시선에 기반하여) 사용자가 벽 상에서 구체적으로 보고 있는 포인트를 검출할 수 있다. 이러한 3개의 입력들(터치-스와이프, 시선, 환경 특징들)로, 웨어러블 시스템은, 사용자가 브라우저 윈도우를 이동시키기를 원한 위치에 높은 신뢰도로 브라우저를 우아하게 배치할 수 있다.
멀티모달 입력으로서 머리 포즈의 추가적인 예들
[0238] 다양한 실시예들에서, 멀티모달 입력들은 토템 없는 경험(또는 토템이 드물게 사용되는 경험)을 지원할 수 있다. 예컨대, 멀티모달 입력들은 가상 오브젝트를 공유하거나 서치하기 위해 사용될 수 있는 머리 포즈 및 음성 제어의 조합을 포함할 수 있다. 멀티모달 입력들은 또한 다양한 사용자 인터페이스 평면들 및 사용자 인터페이스 평면 내의 가상 오브젝트들을 내비게이팅하기 위해 머리 포즈 및 제스처들의 조합을 사용할 수 있다. 머리 포즈, 음성 및 제스처의 조합은 오브젝트들을 이동시키거나, 소셜 네트워킹 활동들을 수행하거나(예컨대, 텔레프레즌스 세션, 포스트들의 공유를 개시 및 수행하거나), 웹페이지 상의 정보를 브라우징하거나 또는 미디어 플레이어를 제어하기 위해 사용될 수 있다.
[0239] 도 25는 멀티모달 입력을 사용한 사용자 경험의 예를 예시한다. 예시적인 장면(2500a)에서, 사용자(2510)는 머리 포즈로 애플리케이션들(2512 및 2514)을 타겟팅 및 선택할 수 있다. 웨어러블 시스템은 사용자가 현재 머리 포즈로 가상 오브젝트와 상호작용하고 있음을 표시하는 초점 표시자(2524a)를 디스플레이할 수 있다. 일단 사용자가 애플리케이션(2514)을 선택하면, 웨어러블 시스템은 애플리케이션(2514)에 대한 초점 표시자(2524a)(이를테면, 예컨대 도 25에 도시된 타겟 그래픽, 애플리케이션(2514) 주위의 또는 가상 오브젝트(2514)를 사용자에게 더 가까이 나타나게 하는 할로)를 도시할 수 있다. 웨어러블 시스템은 또한 초점 표시자의 외관을 초점 표시자(2524a)로부터 초점 표시자(2524b)(예컨대, 장면(2500b)에 도시된 화살표 그래픽)로 변경하여, 사용자가 가상 오브젝트(2514)로 선택한 후 사용자 입력 디바이스(466)에 의한 상호작용들이 또한 이용가능하게 되는 것을 표시할 수 있다. 음성 및 제스처 상호작용들은 머리 포즈 플러스 손 제스처들의 이러한 상호작용 패턴을 확장시킨다. 예컨대, 사용자가 음성 커맨드를 발행할 때, 머리 포즈로 타겟팅된 애플리케이션은 음성 커맨드에 응답하거나 그에 의해 조작될 수 있다. 예컨대, 머리 포즈, 손 제스처들 및 음성 인식의 조합으로 가상 오브젝트들과 상호작용하는 추가적인 예들은, 2016년 10월 18일자로 출원되고 미국 특허 공개 공보 제2017/0109936호로서 공개되었으며 발명의 명칭이 "SELECTING VIRTUAL OBJECTS IN A THREE-DIMENSIONAL SPACE"인 미국 출원 제15/296,869호에서 설명되어 있고, 이로써 그 개시내용은 그 전체가 인용에 의해 본원에 통합된다.
[0240] 머리 포즈는, 핸즈-프리 브라우징을 제공하기 위해 음성 제어, 제스처 인식 및 환경 정보(예컨대, 메시 정보)와 통합될 수 있다. 예컨대, "Search for Fort Lauderdale"의 음성 커맨드는, 만약 사용자가 브라우저를 타겟팅하기 위해 머리 포즈를 사용하고 있으면 브라우저에 의해 다루어질 것이다. 만약 사용자가 특정 브라우저를 타겟팅하고 있지 않으면, 웨어러블 시스템은 또한 브라우저를 통하지 않고 이러한 음성 커맨드를 다룰 수 있다. 다른 예로서, 사용자가 "Share this with Karen"를 말할 때, 웨어러블 시스템은 (예컨대, 머리 포즈, 시선, 또는 제스처들을 사용하여) 사용자가 타겟팅하고 있는 애플리케이션 상의 공유 동작을 실행할 것이다. 다른 예로서, 음성 제어는 브라우저 윈도우 기능들, 이를테면, 예컨대 "Go to Bookmarks"를 실행할 수 있는 반면, 제스처들은 웹페이지의 기본 내비게이션, 이를테면, 예컨대 클릭들 및 스크롤들을 수행하기 위해 사용될 수 있다.
[0241] 멀티모달 입력들은 또한 사용자 입력 디바이스를 요구함이 없이 가상 오브젝트를 개시 및 이동시키기 위해 사용될 수 있다. 웨어러블 시스템은 사용자 및 환경 근처에 콘텐츠를 자연스럽게 배치하기 위해 멀티모달 입력들, 이를테면, 예컨대, 제스처, 음성 및 시선을 사용할 수 있다. 예컨대, 사용자가 HMD와 상호작용하고 있을 때 사용자는 개시되지 않은 애플리케이션을 열기 위해 음성을 사용할 수 있다. 사용자는 "Hey Magic Leap, launch the Browser"를 말함으로써 음성 커맨드를 발행할 수 있다. 이러한 커맨드에서, 개시 조건은 호출 어구들 "Hey Magic Leap"의 존재를 포함한다. 커맨드는 "launch" 또는 "open"(이는 상호교환가능한 커맨드들임)을 포함하는 것으로 해석될 수 있다. 이러한 커맨드의 서브젝트는 애플리케이션 이름, 예컨대, "브라우저"이다. 그러나, 이러한 커맨드는 파라미터를 요구하지 않는다. 일부 실시예들에서, 웨어러블 시스템은 디폴트 파라미터를 자동으로 적용할 수 있는데, 이를테면, 예컨대, 브라우저를 사용자의 환경(또는 사용자의 FOV)에 배치할 수 있다.
[0242] 멀티모달 입력들은 또한 기본 브라우저 제어들, 이를테면, 예컨대, 북마크들을 여는 것, 새로운 탭을 여는 것, 이력을 내비게이팅하는 것 등을 수행하기 위해 사용될 수 있다. 핸즈-프리 또는 핸즈-풀 멀티-태스킹 시나리오들에서 웹 콘텐츠를 참조하는 능력은 더 많은 정보를 얻고 생산적이도록 사용자들에게 권한을 부여할 수 있다. 예컨대, 사용자 Ada는 자신의 오피스에서 필름들을 판독하는 방사선 전문의이다. Ada는 필름들을 판독하는 동안 참조 자료를 가져오기 위해 음성 및 제스처로 웹을 내비게이팅할 수 있고, 이는 스크린 상에서 필름들과 참조 자료들 간을 스위칭하기 위해 자신이 마우스를 앞뒤로 이동시킬 필요를 감소시킨다. 다른 예로서, 사용자 Chris는 가상 브라우저 윈도우로부터 새로운 레시피를 요리하고 있다. 가상 브라우저 윈도우는 그의 캐비닛 상에 배치될 수 있다. Chris는 음식을 자르기 시작하는 동안 북마크된 레시피를 풀 업하기 위해 음성 커맨드를 사용할 수 있다.
[0243] 도 26은 예시적인 사용자가 다양한 북마크된 애플리케이션들과 인터페이싱하는 것을 예시한다. 사용자는 애플리케이션의 이름을 말함으로써 사용자 인터페이스(2600) 상에서 애플리케이션을 선택할 수 있다. 예컨대, 사용자는 음식 애플리케이션을 개시하기 위해 "open food"를 말할 수 있다. 다른 예로서, 사용자는 "open this"를 말할 수 있다. 웨어러블 시스템은 사용자의 시선 방향을 결정하고 사용자의 시선 방향과 교차하는 사용자 인터페이스(2600) 상의 애플리케이션을 식별할 수 있다. 웨어러블 시스템은 그에 따라서 식별된 애플리케이션을 열 수 있다.
[0244] 사용자는 또한 서치 커맨드를 발행하기 위해 음성을 사용할 수 있다. 서치 커맨드는 사용자가 현재 타겟팅하고 있는 애플리케이션에 의해 수행될 수 있다. 만약 오브젝트가 현재 서치 커맨드를 지원하지 않는다면, 웨어러블 시스템은 디폴트 애플리케이션을 통해(이를테면, 예컨대, 브라우저를 통해) 웨어러블 시스템의 데이터 저장소 내에서의 서치 또는 정보에 대한 서치를 수행할 수 있다. 도 27은 서치 커맨드가 발행될 때의 예시적인 사용자 인터페이스(2700)를 예시한다. 사용자 인터페이스(2700)는 이메일 애플리케이션 및 미디어 시청 애플리케이션 둘 모두를 도시한다. 웨어러블 시스템은 (사용자의 머리 포즈에 기반하여) 사용자가 이메일 애플리케이션과 현재 상호작용하고 있다고 결정할 수 있다. 결과적으로, 웨어러블 시스템은 사용자의 음성 커맨드를 이메일 애플리케이션 내의 서치 커맨드로 자동으로 변환할 수 있다.
[0245] 멀티모달 입력들은 또한 미디어 제어들을 위해 사용될 수 있다. 예컨대, 웨어러블 시스템은 애플리케이션(예컨대, 스크린들) 내의 미디어 플레이어를 제어하기 위한 커맨드들, 이를테면, 플레이, 일시정지, 무음, 빨리감기 및 되감기를 발행하기 위해 음성 및 제스처 제어들을 사용할 수 있다. 사용자들은 미디어 애플리케이션과 함께 음성 및 제스처 제어들을 사용하고 토템을 치워 놓을 수 있다.
[0246] 멀티모달 입력들은 소셜 네트워킹 콘텍스트에서 추가로 사용될 수 있다. 예컨대, 사용자는 사용자 입력 디바이스 없이 대화들을 시작하고 경험들(예컨대, 가상 이미지들, 문헌들 등)을 공유할 수 있다. 다른 예로서, 사용자들이 사용자 인터페이스를 내비게이팅하기 위해 음성들을 사용하는 것을 편안하게 느낄 수 있도록 사용자들은 텔레프레즌스 세션에 참여하고 사설 콘텍스트를 세팅할 수 있다.
[0247] 그에 따라서, 다양한 구현들에서, 시스템은 멀티모달 입력들, 이를테면: (예컨대, 정보 공유 및 일반적 애플리케이션 서치를 위해) 머리 포즈 플러스 음성, (예컨대, 애플리케이션들에서 내비게이션을 위해) 머리 포즈 플러스 제스처 또는 (예컨대, "put that there" 기능성, 미디어 플레이어 제어들, 소셜 상호작용들 또는 브라우저 애플리케이션들을 위해) 머리 포즈 플러스 음성 플러스 제스처를 활용할 수 있다.
멀티모달 입력들의 일부로서 제스처 제어의 추가적인 예들
[0248] 제스처 상호작용들의 2개의 비제한적이고 비배타적인 부류들, 즉, 이벤트 제스처들 및 동적 손 추적이 존재할 수 있다. 이벤트 제스처들은 사용자가 HMD와 상호작용하고 있는 동안의 이벤트, 이를테면, 예컨대, 야구 경기에서 포수가 투수에게 사인을 보내는 것 또는 웨어러블 시스템이 공유 대화를 열게 하기 위해 브라우저 윈도우에서의 엄지손가락 올리기 사인에 대한 응답일 수 있다. 웨어러블 시스템은 사용자가 수행하는 하나 이상의 제스처 패턴들을 따르고 그에 따라서 이벤트에 응답할 수 있다. 동적 손 추적은 낮은 레이턴시로 사용자의 손을 추적하는 것을 수반할 수 있다. 예컨대, 사용자는 사용자의 FOV 위로 손을 이동시킬 수 있고, 가상 캐릭터가 사용자의 손가락의 움직임을 따를 수 있다.
[0249] 제스처 추적의 품질은 사용자 상호작용의 타입에 의존할 수 있다. 품질은 다수의 팩터들, 예컨대, 견고성, 반응성 및 인체공학을 수반할 수 있다. 일부 실시예들에서, 이벤트 제스처들은 거의 완벽한 견고성일 수 있다. 최소 수용가능한 제스처 성능에 대한 임계치는 소셜 경험들, 출혈-에지 상호작용들 및 제3 자 애플리케이션들에서 조금 더 낮을 수 있는데, 이는 이러한 경험들의 미학이 결함들, 인터럽션들, 낮은 레이턴시 등을 견딜 수 있지만, 제스처 인식은 반응성을 유지하기 위해 이러한 경험들에서 여전히 매우 잘 수행할 수 있기 때문이다.
[0250] 웨어러블 시스템이 사용자의 제스처에 반응적인 가능성을 증가시키기 위해, 시스템은 제스처 검출에 대한 레이턴시를 (이벤트 제스처들 및 동적 손 추적 둘 모두에 대해) 감소 또는 최소화할 수 있다. 예컨대, 웨어러블 시스템은 사용자의 손이 깊이 센서의 뷰 내에 있을 때를 검출함으로써 레이턴시를 감소 또는 최소화하여, 깊이 센서를 적합한 제스처 모드로 자동으로 스위칭하고, 그런다음 사용자가 제스처를 수행할 수 있을 때 사용자에게 피드백을 제공할 수 있다.
[0251] 본원에서 설명된 바와 같이, 제스처들은 애플리케이션을 개시, 선택 및 이동시키기 위해 다른 입력 모드들과 조합되어 사용될 수 있다. 제스처들은 또한 이를테면 공기 중에서 또는 표면 상에서(예컨대, 테이블 또는 벽 상에서) 탭핑, 스크롤링함으로써 애플리케이션 내의 가상 오브젝트들과 상호작용하도록 사용될 수 있다.
[0252] 특정 실시예들에서, 웨어러블 시스템은 제스처 상호작용들을 지원할 수 있는 소셜 네트워킹 툴을 구현할 수 있다. 사용자는 통신을 풍부하게 하기 위해 시맨틱 이벤트 제스처들을 수행할 수 있다. 예컨대, 사용자는 FOV 카메라의 앞에서 손을 흔들 수 있고, 그에 따라서 사용자가 챗팅하고 있는 사람에게 흔들기 애니메이션이 전송될 수 있다. 웨어러블 시스템은 또한 동적 손 추적으로 사용자의 손들의 가상화를 제공할 수 있다. 예컨대, 사용자는 자신의 FOV의 앞에 자신의 손들을 유지할 수 있고, 자신의 아바타의 손들을 애니메이팅하기 위해 자신의 손들이 추적되고 있는 시각적 피드백을 얻을 수 있다.
[0253] 손 제스처들은 또한 미디어 플레이어 제어들을 위한 멀티모달 입력들의 일부로서 사용될 수 있다. 예컨대, 사용자는 비디오 스트림을 플레이하거나 또는 일시정지하기 위해 손 제스처를 사용할 수 있다. 사용자는 비디오를 플레이하는 디바이스(예컨대, 텔레비전)로부터 떨어져 제스처 조작을 수행할 수 있다. 사용자의 제스처를 검출할 시에, 웨어러블 시스템은 사용자의 제스처에 기반하여 디바이스를 원격으로 제어할 수 있다. 사용자는 또한 미디어 패널을 볼 수 있고, 웨어러블 시스템은 미디어 패널의 파라미터들을 업데이트하기 위해 사용자의 시선의 방향과 조합하여 사용자의 손 제스처를 사용할 수 있다. 예컨대, 핀치(ok) 제스처는 "재생" 커맨드를 제안할 수 있고, 주먹 제스처는 "일시정지" 커맨드를 제안할 수 있다. 사용자는 또한 FOV 카메라의 앞에서 팔들 중 하나를 흔듬으로써 메뉴를 닫을 수 있다. 손 제스처들(2080)의 예들은 도 20에 도시된다.
가상 오브젝트들과 상호작용하는 추가적인 예들
[0254] 본원에서 설명된 바와 같이, 웨어러블 시스템은 사용자의 환경에서 오브젝트들(물리적 또는 가상)과의 다양한 멀티모달 상호작용들을 지원할 수 있다. 예컨대, 웨어러블 시스템은 발견된 오브젝트들과의 상호작용들, 이를테면 발견된 오브젝트들을 타겟팅, 선택, (예컨대, 움직임 또는 특성들을) 제어하는 것을 위한 직접적 입력들을 지원할 수 있다. 발견된 오브젝트들과의 상호작용들은 또한 발견된 오브젝트 기하학적 구조들 또는 발견된 오브젝트 연결된 표면들과의 상호작용들을 포함할 수 있다.
[0255] 직접적 입력들은 또한 평탄 표면들과의 상호작용들, 이를테면 벽 또는 테이블 최상부를 타겟팅 및 선택하는 것을 위해 지원된다. 사용자는 또한 다양한 사용자 인터페이스 이벤트들, 이를테면 예컨대 터치 이벤트들, 탭 이벤트들, 스와이프 이벤트들, 또는 스크롤 이벤트들을 포함할 수 있다. 사용자는 직접적 상호작용들, 이를테면 예컨대, 패널 스크롤링, 스와이핑, 및 패널 내에서 엘리먼트들(예컨대, 가상 오브젝트들 또는 사용자 인터페이스 엘리먼트들, 이를테면 버튼들)을 선택하는 것을 사용하여 2D 사용자 인터페이스 엘리먼트들(예컨대, 패널들)을 조작할 수 있다. 사용자는 또한 하나 이상의 직접적 입력들을 사용하여 패널을 움직이거나 또는 리사이징할 수 있다.
[0256] 직접적 입력들은 추가로, 상이한 깊이들에 있는 오브젝트들을 조작하기 위해 사용될 수 있다. 웨어러블 시스템은 가상 오브젝트들의 구역을 결정하기 위해 (사용자로부터의) 다양한 임계 거리들을 세팅할 수 있다. 도 21을 참조하면, 파선 원형(2122) 내에 있는 오브젝트들은 니어-필드의 오브젝트들로서 고려될 수 있고, 파선 원형(2124)에 있는(그러나 파선 원형(2122) 외부에 있는) 오브젝트들은 미드 필드의 오브젝트들로서 고려될 수 있으며, 파선 원형(2124) 외부에 있는 오브젝트들은 파 필드의 오브젝트들로서 고려될 수 있다. 니어 필드와 파 필드 간의 임계 거리는, 예컨대 1 m, 2 m, 3 m, 4 m, 5 m 또는 그 초과일 수 있으며, 환경에 의존할 수 있다(예컨대, 실내 오피스 칸막이 칸보다 실외 공원에서 더 큼).
[0257] 웨어러블 시스템은 니어 필드의 가상 오브젝트들의 다양한 2D 또는 3D 조작들을 지원할 수 있다. 예시적인 2D 조작들은 움직이는 것 또는 리사이징하는 것을 포함할 수 있다. 예시적인 3D 조작들은, 이를테면 가상 오브젝트들을 핀칭, 인출, 이동, 또는 회전시킴으로써 가상 오브젝트들을 3D 공간에 배치하는 것을 포함할 수 있다. 웨어러블 시스템은 또한 미드 필드의 가상 오브젝트들과의 상호작용들, 이를테면 예컨대 사용자의 환경에서 오브젝트를 패닝(pan) 및 리포지셔닝시키는 것, 오브젝트의 반경방향 모션을 수행하는 것, 또는 오브젝트를 니어 필드 또는 파 필드로 이동시키는 것을 지원할 수 있다.
[0258] 웨어러블 시스템은 또한 연속적인 손가락끝 상호작용들을 지원할 수 있다. 예컨대, 웨어러블 시스템은 사용자의 손가락이 어트랙터(attractor)처럼 포인팅하거나, 또는 오브젝트를 핀포인팅하고 오브젝트에 대한 푸시 상호작용을 수행하게 허용한다. 웨어러블 시스템은 추가로 빠른 포즈 상호작용들, 이를테면 예컨대 손 표면 상호작용들 또는 손 윤곽 상호작용들을 지원할 수 있다.
소셜 네트워크 및 공유의 맥락에서의 음성 커맨드의 추가적인 예들
[0259] 웨어러블 시스템은 소셜 네트워킹(또는 메시징) 애플리케이션에 대한 입력으로서 음성 커맨드들을 지원할 수 있다. 예컨대, 웨어러블 시스템은 연락처들과 정보를 공유하거나 또는 연락처들과 통화를 하기 위한 음성 커맨드들을 지원할 수 있다.
[0260] 연락처과의 통화를 시작하는 예로서, 사용자는 음성 커맨드, 이를테면 "Hey Magic Leap, call Karen"을 사용할 수 있다. 이러한 커맨드에서, "Hey Magic Leap"은 호출 어구이고, 커맨드는 "call"이며, 커맨드의 파라미터는 연락처의 이름이다. 웨어러블 시스템은 통화를 개시하기 위해 (서브젝트로서) 메신저 애플리케이션을 자동으로 사용할 수 있다. 커맨드 "call"은 임무들, 이를테면 예컨대, "start a call with", start a chat with" 등과 연관될 수 있다.
[0261] 만약 사용자가 "Start a call"을 말하고 그런다음 이름을 말한다면, 웨어러블 시스템은 이름을 인식하려고 시도할 수 있다. 만약 웨어러블 시스템이 이름을 인식하지 못한다면, 웨어러블 시스템은 사용자가 이름 또는 연락처 정보를 확인하기 위한 메시지를 사용자에게 통신할 수 있다. 만약 웨어러블 시스템이 이름을 인식한다면, 웨어러블 시스템은, 사용자가 통화를 확인/거부(또는 취소)할 수 있는 대화 촉구를 제공하거나 또는 대안적 연락처를 제공한다.
[0262] 사용자는 또한 친구들의 리스트를 갖는 몇몇의 연락처들과 통화를 시작할 수 있다. 예컨대, 사용자는 "Hey Magic Leap, start a group chat with Karen, Cole, and Kojo"를 말할 수 있다. 그룹 챗팅 커맨드는 어구 "start a group chat"로부터 추출될 수 있거나 또는 사용자에 의해 제공된 친구들의 리스트로부터의 것일 수 있다. 사용자가 통화 중인 동안, 사용자는 다른 사용자를 대화에 추가할 수 있다. 예컨대, 사용자는 "Hey Magic Leap, invite Karen"을 말할 수 있으며, 여기서 어구 "invite"는 초대 커맨드와 연관될 수 있다.
[0263] 웨어러블 시스템은 음성 커맨드들을 사용하여 연락처와 가상 오브젝트들을 공유할 수 있다. 예컨대, 사용자는 "Hey Magic Leap, share Screens with Karen" 또는 "Hey Magic Leap, share that with David and Tony"를 말할 수 있다. 이들 예들에서, 단어 "share"는 공유 커맨드이다. 단어 "screens" 또는 "that"은 웨어러블 시스템이 멀티모달 입력들에 기반하여 결정할 수 있는 서브젝트에 대한 참조일 수 있다. 이름들, 이를테면 "Karen", "David and Tony"는 커맨드의 파라미터들이다. 일부 실시예들에서, 사용자에 의해 제공된 음성 커맨드가 애플리케이션 참조 및 연락처를 갖는 단어 "share"를 포함할 때, 웨어러블 시스템은 사용자가 애플리케이션 그 자체를 공유하기를 원하는지 또는 참조된 애플리케이션을 통해 서브젝트를 공유하기를 원하는지 여부를 확인하도록 사용자에게 요청하기 위한 확인 대화를 제공할 수 있다. 사용자가 단어 "share", 애플리케이션 참조, 및 연락처를 포함하는 음성 커맨드를 발행할 때, 웨어러블 시스템은 애플리케이션 이름이 웨어러블 시스템에 의해 인식되는지 여부 또는 애플리케이션이 사용자의 시스템 상에 존재하는지 여부를 결정할 수 있다. 만약 시스템이 이름을 인식하지 못하거나 또는 애플리케이션이 사용자의 시스템에 존재하지 않는다면, 웨어러블 시스템은 메시지를 사용자에게 제공할 수 있다. 메시지는 음성 커맨드를 다시 시도하도록 사용자에게 제안할 수 있다.
[0264] 만약 사용자가 음성 커맨드에서 지시적 또는 대용적 참조들(예컨대, "this" 또는 "that")을 제공한다면, 웨어러블 시스템은 사용자가 공유될 수 있는 오브젝트와 상호작용하고 있는지 여부를 결정하기 위해 멀티모달 입력들(예컨대, 사용자의 머리 포즈)을 사용할 수 있다. 만약 오브젝트가 공유될 수 없다면, 웨어러블 시스템은 어느 오브젝트가 공유되어야 하는지를 결정하기 위해, 사용자에게 에러 메시지를 촉구하거나 또는 제2 입력 모드로 이동할 수 있다.
[0265] 웨어러블 시스템은 또한, 오브젝트가 공유되는 연락처가 (예컨대, 사용자의 연락처 리스트의 일부로서) 인식될 수 있는지 여부를 결정할 수 있다. 만약 웨어러블 시스템이 연락처의 이름을 인식한다면, 웨어러블 시스템은 사용자가 공유를 진행하기를 원한다는 것을 확인하기 위한 확인 대화를 제공할 수 있다. 만약 사용자가 확인한다면, 가상 오브젝트가 공유될 수 있다. 일부 실시예들에서, 웨어러블 시스템은 애플리케이션과 연관된 다수의 가상 오브젝트들을 공유할 수 있다. 예컨대, 웨어러블 시스템은 사용자의 음성 커맨드에 대한 응답으로 사진들의 전체 앨범을 공유하거나 또는 가장 최근에 본 사진을 공유할 수 있다. 만약 사용자가 공유를 거부한다면, 공유 커맨드는 취소된다. 만약 연락처가 잘못되었다는 것을 사용자가 표시한다면, 웨어러블 시스템은 연락처의 이름을 다시 말하거나 또는 이용가능한 연락처들의 리스트로부터 연락처를 선택하도록 사용자에게 촉구할 수 있다.
[0266] 특정한 구현들에서, 만약 사용자가 "Share"를 말하고 애플리케이션 참조를 말하지만 연락처를 특정하지 않는다면, 웨어러블 시스템은 사용자의 파일에 대한 액세스를 갖는 사용자의 환경 내의 사람들과 로컬로 애플리케이션을 공유할 수 있다. 웨어러블 시스템은 또한 회답하고, 본원에서 설명된 입력 모드들 중 하나 이상을 사용하여 이름을 입력하도록 사용자에게 요청할 수 있다. 소셜 네트워킹 예와 유사하게, 사용자는 가상 오브젝트를 하나의 연락처 또는 연락처들의 그룹과 공유하기 위한 음성 커맨드를 발행할 수 있다.
[0267] 음성을 통해 통화하는 데에 있어 난제는 음성 사용자 인터페이스가 연락처의 이름을 부정확하게 인식하거나 인식하는 데 실패할 때이다. 이것은 특히, 예컨대 lsi, Ileana 등과 같은 덜 일반적인 또는 비-영어 이름들에 문제가 될 수 있다. 예컨대, 사용자가 연락처의 이름을 포함하는 음성 커맨드(이를테면, "Share Screens with lly")를 말할 때, 웨어러블 시스템은 이름 "lly" 또는 그것의 발음을 식별할 수 없을 수 있다. 웨어러블 시스템은 촉구, 이를테면 예컨대 "Who?"를 통해 연락처 대화를 열 수 있다. 사용자는 "Ily"를 특정하기 위해 음성으로 다시 시도하거나, 음성 또는 사용자 디바이스를 사용하여 이름을 "I-L-Y"로 스펠링 아웃하거나, 또는 이용가능한 이름들의 패널로부터 이름들을 신속하게 선택하도록 사용자 입력 디바이스를 사용할 수 있다. 이름 "Ily"는 사용자의 연락처들에 엔트리를 갖는 Ileana에 대한 별명일 수 있다. 일단 "Ily"가 별명이라고 사용자가 시스템에게 명령하면, 시스템은 친구의 이름과 별명(또는 별명과 연관된 발음 또는 오디오 패턴)을 자동으로 연관시킴으로써 별명을 "기억"하도록 구성될 수 있다.
음성 커맨드를 사용하여 가상 오브젝트를 선택 및 이동시키는 추가적인 예들
[0268] 사용자는 멀티모달 입력들, 이를테면 예컨대 시선, 제스처들, 및 음성의 조합을 사용하는 사용자의 환경으로의 가상 오브젝트의 배치를 자연스럽게 그리고 신속하게 관리할 수 있다. 예컨대, Lindsay로 명명된 사용자는 테이블에 앉고 일부 작업을 행할 준비를 한다. 그녀는 자신의 랩톱을 열고 그녀의 컴퓨터 상에서 데스크톱-모니터 앱을 시작한다. 컴퓨터가 로딩되고 있을 때, 그녀는 랩톱 스크린 위로 그녀의 손을 뻗어 "Hey Magic Leap, put Monitors here"를 말한다. 이러한 음성 커맨드에 대한 응답으로, 웨어러블 시스템은 모니터 스크린들을 자동으로 개시하고, 그들을 그녀의 랩톱 위에 배치할 수 있다. 그러나, Lindsay가 룸의 다른 측면 상의 벽을 살펴보면서 "Put screens there"를 말할 때, 웨어러블 시스템은 그녀로부터 가로질러 벽 상에 스크린들을 자동으로 배치할 수 있다. Lindsay는 또한, 그녀의 데스크를 보면서 "Put halcyon here"을 말할 수 있다. 할시온은 초기에 그녀의 주방 테이블 상에 있었지만, 음성 커맨드에 대한 응답으로, 웨어러블 시스템은 자동으로 그것을 그녀의 테이블 표면으로 이동시킬 수 있다. 그녀가 작업할 때, 그녀는 이들 오브젝트들과 상호작용하기 위해 토템을 사용하고, 그들의 스케일들을 그녀의 선호도로 조정할 수 있다.
[0269] 사용자는 사용자의 환경에서 임의의 포인트에 개시되지 않은 애플리케이션을 열도록 음성을 사용할 수 있다. 예컨대, 사용자는 "Hey Magic Leap, launch the Browser"를 말할 수 있다. 이러한 커맨드에서, "Hey Magic Leap"은 호출 단어이고, 단어 "launch"는 개시 커맨드이며, 단어 "Browser"는 서브젝트의 애플리케이션이다. "launch" 커맨드들은 단어들 "launch", "open", "play"과 연관될 수 있다. 예컨대, 웨어러블 시스템은 사용자가 "open the browser"를 말할 때 개시 커맨드를 여전히 식별할 수 있다. 특정 실시예들에서, 애플리케이션은 사용자가 3D 가상 환경의 일부인 것처럼 3D 환경을 사용자에게 제공할 수 있는 몰입적인 애플리케이션일 수 있다. 결과적으로, 몰입적인 애플리케이션이 개시될 때, 사용자는 그가 3D 가상 환경에 있는 것처럼 포지셔닝될 수 있다. 특정 구현들에서, 몰입적인 애플리케이션은 또한 저장 애플리케이션을 포함한다. 저장 애플리케이션이 개시될 때, 웨어러블 시스템은, 사용자가 실제 상점에서 쇼핑하고 있는 것처럼 사용자가 느낄 수 있도록 사용자에 대한 3D 쇼핑 경험을 제공할 수 있다. 몰입적인 애플리케이션과 대조적으로, 애플리케이션은 풍경 애플리케이션일 수 있다. 풍경 애플리케이션이 개시될 때, 풍경 애플리케이션은 개시기에서 토템을 통해 개시될 때 그것이 배치될 곳에 배치될 수 있다. 결과적으로, 사용자는 풍경 애플리케이션과 상호작용할 수 있지만, 사용자는 그가 풍경 애플리케이션의 일부인 것을 느끼지 못할 수 있다.
[0270] 사용자는 또한, 사용자의 FOV 내의 특정된 위치에서 가상 애플리케이션을 개시하도록 음성 커맨드를 사용할 수 있거나 또는 사용자는 이미-배치된 가상 애플리케이션(예컨대, 풍경 애플리케이션)을 사용자의 FOV 내의 특정 위치로 이동시킬 수 있다. 예컨대, 사용자는 "Hey Magic Leap, Put the browser here," "Hey Magic Leap, Put the browser there," "Hey Magic Leap, Put this here," 또는 "Hey Magic Leap, Put that there"를 말할 수 있다. 이들 음성 커맨드들은 호출 단어, 배치 커맨드, (서브젝트인) 애플리케이션 이름, 및 (파라미터인) 위치 큐를 포함한다. 서브젝트는 오디오 데이터에 기반하여, 예컨대 사용자에 의해 발화된 애플리케이션의 이름에 기반하여 참조될 수 있다. 서브젝트는 또한, 사용자가 단어 "this" 또는 "that"을 대신 말할 때 머리 포즈 또는 시선에 기반하여 식별될 수 있다. 이러한 음성 상호작용을 가능하게 하기 위해, 웨어러블 시스템은, 예컨대 2개의 추론들을 행할 수 있다: (1) 어느 애플리케이션이 개시될지 그리고 (2) 애플리케이션을 어디에 배치할지.
[0271] 웨어러블 시스템은 어느 애플리케이션이 개시될지를 추론하기 위해 배치 커맨드 및 애플리케이션 이름을 사용할 수 있다. 예컨대, 만약 사용자가 웨어러블 시스템이 인식하지 못하는 애플리케이션 이름을 말한다면, 웨어러블 시스템은 에러 메시지를 제공할 수 있다. 만약 사용자가 웨어러블 시스템이 인식하는 애플리케이션 이름을 말한다면, 웨어러블 시스템은 애플리케이션이 사용자의 환경 내에 이미 배치되었는지 여부를 결정할 수 있다. 만약 애플리케이션이 사용자의 환경에(이를테면 예컨대, 사용자의 FOV에) 이미 나타나 있다면, 웨어러블 시스템은 애플리케이션들의 얼마나 많은 인스턴스들이 사용자의 환경에 존재하는지(예컨대, 얼마나 많은 브라우저 윈도우들이 열려있는지)를 결정할 수 있다. 만약 타겟 애플리케이션의 단지 하나의 인스턴스만이 존재한다면, 웨어러블 시스템은 애플리케이션을 사용자에 의해 특정된 위치로 이동시킬 수 있다. 만약 발화된 애플리케이션의 1개 초과의 인스턴스가 환경에 존재한다면, 웨어러블 시스템은 애플리케이션의 모든 인스턴스들을 특정된 위치로 이동시키거나 또는 가장 최근에 사용된 인스턴스를 특정된 위치로 이동시킬 수 있다. 만약 가상 애플리케이션이 사용자의 환경에 아직 배치되어 있지 않았다면, 시스템은 애플리케이션이 풍경 애플리케이션인지, 몰입적인 애플리케이션인지, 또는 상점 애플리케이션(예컨대, 여기서 사용자는 다른 애플리케이션을 다운로드하거나 또는 구매할 수 있음)인지 여부를 결정할 수 있다. 만약 애플리케이션이 풍경 애플리케이션이라면, 웨어러블 시스템은 특정된 위치에서 가상 애플리케이션을 개시할 수 있다. 만약 애플리케이션이 몰입적인 애플리케이션이라면, 몰입적인 애플리케이션이 사용자의 FOV 내의 특정된 위치에서 개시하는 기능들을 지원하지 않기 때문에, 웨어러블 시스템은 특정된 포지션에 애플리케이션의 숏컷(shortcut)을 배치할 수 있다. 만약 애플리케이션이 상점 애플리케이션이라면, 상점 애플리케이션이 가상 세계로의 사용자의 전체 3D 몰입을 요구하고 따라서 사용자의 환경 내의 특정 위치에서 개시하는 것을 지원하지 않을 수 있으므로, 시스템은 특정된 포지션에 미니 상점을 배치할 수 있다. 미니 상점은 상점 내의 가상 오브젝트들의 간단한 요약들 또는 아이콘들을 포함할 수 있다.
[0272] 웨어러블 시스템은 애플리케이션을 배치할 곳을 결정하기 위해 다양한 입력들을 사용할 수 있다. 웨어러블 시스템은 사용자의 커맨드에서 신택스(예컨대, "here" 또는 "there")를 해석하고, 머리 포즈 기반 레이캐스트(raycast)(또는 콘 캐스트)를 이용하여 사용자의 환경 내의 가상 오브젝트들의 교차들을 결정하고, 사용자의 손 포지션을 결정하고, 평면 표면 메시 또는 환경 평면 메시(예컨대, 벽 또는 테이블과 연관된 메시)를 결정하는 식일 수 있다. 예로서, 만약 사용자가 "here"를 말한다면, 웨어러블 시스템은 사용자의 손 제스처, 이를테면 사용자의 FOV에 평탄한 열린 손이 존재하는지 여부를 결정할 수 있다. 웨어러블 시스템은 사용자의 평탄한 손의 포지션에 그리고 사용자의 손 거리 인근에 있는 렌더링 평면에 오브젝트를 배치할 수 있다. 만약 FOV에 어떠한 평탄한 펴진 손들이 존재하지 않는다면, 웨어러블 시스템은 머리 포즈(예컨대, 머리 포즈 기반 콘 캐스트의 방향)가 사용자의 팔들-거리 내에 있는 표면-평면 메시와 교차하고 있는지 여부를 결정할 수 있다. 만약 표면-평면 메시가 존재한다면, 웨어러블 시스템은 머리 포즈의 방향의 교차에 가상 오브젝트를 배치하고, 사용자의 팔들-거리 내에 있는 렌더링 평면에 표면-평면 메시를 배치할 수 있다. 사용자는 표면 상에 평탄하게 오브젝트를 배치할 수 있다. 만약 어떠한 표면 평면 메시도 존재하지 않는다면, 웨어러블 시스템은 팔들-거리-내와 최적의 판독 거리 간의 임의의 곳에서 거리를 갖는 렌더링 평면에 가상 오브젝트를 배치할 수 있다. 만약 사용자가 "there"를 말한다면, 웨어러블 시스템은, 만약 사용자의 팔들-거리 내에 있는 어떠한 표면-평면 메시도 존재하지 않는다면 웨어러블 시스템이 미드 필드 내의 렌더링 평면에 가상 오브젝트를 배치할 수 있다는 점을 제외하고, 사용자가 "here"를 말할 때와 유사한 동작들을 수행할 수 있다.
[0273] 일단 사용자가 "Put the Application ..."을 말한다면, 웨어러블 시스템은, 만약 사용자가 "here" 또는 "there" 중 어느 하나를 말한다면, 이용가능한 입력들에 기반하여 가상 오브젝트가 배치될 곳을 도시하기 위한 예측 피드백을 사용자에게 즉시 제공할 수 있다. 이러한 피드백은 초점 표시자의 형태일 수 있다. 예컨대, 피드백은, 사용자의 팔 거리 내의 렌더링 평면에서 사용자의 머리 포즈 방향과 교차하는 손, 메시, 또는 평면 표면에서 here"를 말하는 작은 떠있는 텍스트 버블을 포함할 수 있다. 평면 표면은, 만약 사용자의 커맨드가 "here"이라면 니어 필드에 위치될 수 있는 반면, 만약 사용자의 커맨드가 "there"이라면 미드 또는 파 필드에 위치될 수 있다. 이러한 피드백은 시각 오브젝트의 쉐도우 또는 윤곽과 같이 시각화될 수 있다.
[0274] 사용자는 또한 상호작용을 취소할 수 있다. 상호작용은 다양한 경우들에서 2개의 방식들로 취소될 수 있다: (1) 제2 타임아웃에 의해 완료되는 데 실패한 커맨드 또는 (2) 취소 커맨드, 이를테면 예컨대 "no", "never mind’, 또는 "cancel"을 입력하는 것.
사용자 입력들의 조합을 사용하여 텍스트와 상호작용하는 예들
[0275] 종래의 상호작용 모달리티들을 사용하는 혼합 현실 환경에서의 자유로운 형태의 텍스트 입력, 특히 긴 스트링 시퀀스들의 입력이 문제가 될 수 있다. 예로서, 특히 입력 또는 인터페이스 디바이스들, 이를테면 키보드, 핸드헬드 제어기(예컨대, 토템) 또는 마우스가 없는 "핸즈-프리" 환경에서 ASR(automated speech recognition)에 전적으로 의존하는 시스템들은 텍스트 편집을 위해 사용하기에(예컨대, 스피치 인식 기술 그 자체에 고유한 ASR 에러들, 이를테면 사용자의 스피치의 부정확한 변환을 정정하기에) 어려울 수 있다. 다른 예로서, "핸즈-프리" 환경 내의 가상 키보드는 개선된 사용자 제어를 요구할 수 있으며, 만약 사용자 입력의 1차 형태로서 사용된다면 피로를 유발할 수 있다.
[0276] 본원에서 설명된 웨어러블 시스템(200)은 사용자가 멀티모달 입력들, 이를테면 예컨대, 음성, 시선, 제스처들, 머리 포즈들, 토템 입력들 등 중 둘 이상의 조합을 사용하여 가상 텍스트와 자연스럽게 그리고 신속하게 상호작용하게 허용하도록 프로그래밍될 수 있다. 본원에서 사용되는 바와 같이 어구 "텍스트"는 글자, 캐릭터, 단어, 어구, 문장, 단락, 또는 자유-형태 텍스트의 다른 타입들을 포함할 수 있다. 텍스트는 또한 그래픽들 또는 애니메이션들, 예컨대 이모지, 표의문자들, 이모티콘들, 스마일리들, 심볼들 등을 포함할 수 있다. 가상 텍스트와의 상호작용들은 텍스트를 구성하는 것, 텍스트를 선택하는 것(예컨대, 텍스트의 일부 또는 텍스트 전부를 선택하는 것), 또는 텍스트를 편집하는 것(예컨대, 변경, 복사, 잘라내기, 붙여넣기, 삭제, 지우기, 실행취소, 재실행, 삽입, 대체 등)을 단독으로 또는 조합하여 포함할 수 있다. 사용자 입력들의 조합을 활용함으로써, 본원에서 설명된 시스템들은 단일-입력 시스템들에 비해 속도 및 편의에 있어 상당한 개선들을 제공한다.
[0277] 본원에서 설명된 멀티모달 텍스트 상호작용 기법들은 임의의 구술 시나리오 또는 애플리케이션에 적용될 수 있으며(예컨대, 여기서, 시스템은, 변환이 시맨틱 평가에 의존하는 다른 임무의 일부이더라도, 임의의 시맨틱 평가를 적용하기 보다는 사용자 스피치를 간단히 변환함), 일부 예시적인 애플리케이션들은 메시징 애플리케이션, 워드 프로세싱 애플리케이션, 게이밍 애플리케이션, 시스템 구성 애플리케이션 등을 포함할 수 있다. 사용 경우들의 예들은, 사용자가 사용자의 연락처 리스트에 있을 수 있거나 또는 있지 않을 수 있는 연락처에 전송될 텍스트 메시지를 기입하는 것; 사용자가 글자, 기사, 또는 다른 텍스츄얼 콘텐츠를 기입하는 것; 사용자가 소셜 미디어 플랫폼 상에 콘텐츠를 게시 및 공유하는 것; 및 사용자가 웨어러블 시스템(200)을 사용하여 양식을 완료하거나 또는 그렇지 않으면 작성하는 것을 포함할 수 있다.
[0278] 사용자 입력들의 조합을 활용하는 시스템이 웨어러블 시스템일 필요는 없다. 만약 원한다면, 그러한 시스템은 임의의 적절한 컴퓨팅 시스템, 이를테면 데스크톱 컴퓨터, 랩톱, 태블릿, 스마트 폰, 또는 다수의 사용자 입력 채널들, 이를테면 키보드들, 트랙패드들, 마이크로폰들, 눈 또는 시선 추적 시스템들, 제스처 인식 시스템들 등을 갖는 다른 컴퓨팅 디바이스일 수 있다.
멀티모달 사용자 입력들을 이용하여 텍스트를 구성하는 예들
[0279] 도 28a-28f는 입력들, 이를테면, 예컨대 음성 커맨드들 또는 눈의 시선의 조합에 기반하여 텍스트를 구성하고 편집하는 예시적인 사용자 경험을 예시한다. 본원에서 설명된 바와 같이, 웨어러블 시스템은 도 4에 도시된 내향 이미징 시스템(462)에 의해 획득된 이미지들에 기반하여 사용자의 시선 방향을 결정할 수 있다. 내향 이미징 시스템(462)은 사용자의 동공들 중 하나 또는 둘 다의 배향을 결정할 수 있고, 사용자의 눈 또는 눈들의 시선 또는 시선들을 외삽할 수 있다. 사용자의 양쪽 눈들의 시선들을 결정함으로써, 웨어러블 시스템(200)은 사용자가 보고 있는 공간에서의 3-차원 포지션을 결정할 수 있다.
[0280] 웨어러블 시스템은 또한, 도 2에 도시된 오디오 센서(232)(예컨대, 마이크로폰)로부터 획득된 데이터에 기반하여 음성 커맨드를 결정할 수 있다. 시스템은 발화된 입력(2800)을 텍스트로 변환하는 자동 스피치 인식(ASR; automated speech recognition) 엔진을 가질 수 있다. 스피치 인식 엔진은, 더 긴 발언으로부터 메시지 텍스트를 분리 및 추출하는 것을 포함하여, 발화된 입력(2800)을 텍스트로 변환하는 데 자연어 이해를 사용할 수 있다.
[0281] 도 28a에 도시된 바와 같이, 오디오 센서(232)는 사용자에 의해 발화된 어구(2800)를 수신할 수 있다. 도 28a에 예시된 바와 같이, 어구(2800)는 커맨드, 이를테면 "Send a message to John Smith saying that" 뿐만 아니라, 예컨대 메시지를 구성 및 전송하는 것과 같은 커맨드의 파라미터들, 그리고 John Smith와 같은 메시지의 목적지를 포함할 수 있다. 어구(2800)는 또한, 구성될 메시지의 콘텐츠를 포함할 수 있다. 이 예에서, 메시지의 콘텐츠는 "I'm flying in from Boston and will be there around seven o'clock; Period; Let's meet at the corner near the office"를 포함할 수 있다. 이러한 콘텐츠는, ASR 엔진을 사용하여 오디오 데이터를 해석함으로써 획득될 수 있다(이 ASR 엔진은, 사용자의 발언으로부터 메시지 콘텐츠 및 구두점(예컨대, "기간(Period)")을 분리 및 추출하기 위해 자연어 이해를 구현할 수 있음). 일부 예들에서, 구두점은 변환된 스트링의 맥락에서 프리젠테이션을 위해 프로세싱될 수 있다(예컨대, "2시"는 "2:00"로서 제공될 수 있거나 또는 "물음표"는 "?"로서 제공될 수 있음). 웨어러블 시스템은 또한, 이를테면 텍스트 스트링에서의 이산 단어들을 분리함으로써 텍스트 스트링을 토큰화할 수 있으며, 혼합 현실 환경에서 이를테면 이산 단어들을 디스플레이함으로써 결과를 디스플레이할 수 있다.
[0282] 그러나, 자동 스피치 인식은 일부 상황들에서 에러들에 취약할 수 있다. 도 28b에 예시된 바와 같이, ASR 엔진을 사용하는 시스템은, 불량한 또는 특유한 발음, 환경 잡음, 동음이의어들 및 다른 유사한 사운딩 단어들, 어물어물함 또는 말더듬, 및 ASR의 사전에는 없는 어휘(예컨대, 외국 어구들, 기술 용어들, 전문용어, 속어 등)를 포함하는 다양한 이유들로, 사용자의 발화된 입력과 정확하게 매칭하지 않는 결과들을 생성할 수 있다. 도 28b의 예에서, 시스템은 어구(2800)의 커맨드 양상을 적절히 해석했고, 헤더(2802) 및 바디(2804)를 갖는 메시지를 생성했다. 그러나, 메시지의 바디(2804)에서, 시스템은 "corner"의 사용자의 발언을 "quarter"로서 부정확하게 해석했으며, 이들은 다소 유사한 사운딩이다. 전적으로 음성 입력들에 의존하는 시스템들에서, 사용자가 오인된 단어(또는 어구)를 의도된 단어(또는 어구)로 신속하게 대체하는 것은 어려울 것이다. 그러나, 본원에서 설명된 웨어러블 시스템(200)은 유리하게, 사용자가 도 28c-28f에 예시된 바와 같이 에러를 신속하게 보정하게 허용할 수 있다.
[0283] 웨어러블 시스템에서의 ASR 엔진은 사용자의 발언과 연관된, 적어도 하나의 단어를 포함하는 텍스트 결과들을 생성할 수 있고, 또한, 텍스트 결과들에서의 각각의 단어(또는 어구)와 연관된 ASR 스코어를 생성할 수 있다. 높은 ASR 스코어가 ASR 엔진이 사용자의 발언을 텍스트로 정확하게 변환했을 높은 신뢰도 또는 높은 가능성을 표시할 수 있는 반면, 낮은 ASR 스코어는 ASR 엔진이 사용자의 발언을 텍스트로 정확하게 변환했을 낮은 신뢰도 또는 낮은 가능성을 표시할 수 있다. 일부 실시예들에서, 시스템은 강조된 방식으로(예컨대, 배경 강조 표시, 이탤릭체 또는 굵은 폰트, 다른 컬러 폰트 등을 이용하여) 낮은 ASR 스코어들(예컨대, ASR 임계치 미만의 ASR 스코어들)을 갖는 단어들을 디스플레이할 수 있으며, 이는 사용자가 부정확하게 인식된 단어들을 식별하거나 또는 선택하는 것을 더 쉽게 만들 수 있다. 단어에 대한 낮은 ASR 스코어는, 사용자가 편집하기 위해 또는 대체를 위해 그 단어를 선택할 가능성이 높음을 표시할 수 있는데, 그 이유는 ASR 엔진이 단어를 오인했을 합리적인 가능성이 있기 때문이다.
[0284] 도 28c 및 28d에 도시된 바와 같이, 웨어러블 시스템은 사용자가 눈 추적 시스템, 이를테면 도 4의 내향 이미징 시스템(462)을 사용하여 오인된 단어(또는 어구)를 선택하는 것을 가능하게 할 수 있다. 이 예에서, 선택된 단어는, 이전의 도면들을 이용하여 위에서 설명된 타겟 가상 오브젝트의 예일 수 있다.
[0285] 웨어러블 시스템(200)은 내향 이미징 시스템(462)에 기반하여 시선 방향을 결정할 수 있고, 시선 방향으로 콘(2806) 또는 광선을 캐스팅할 수 있다. 웨어러블 시스템은 사용자의 시선 방향을 가로채는 하나 이상의 단어들을 선택할 수 있다. 특정 구현들에서, 사용자의 시선이 적어도 임계 시간 동안 잘못된 단어에 머무를 때 단어가 선택될 수 있다. 앞서 설명된 바와 같이, 잘못된 단어는 낮은 ASR 스코어와 연관됨으로써 적어도 부분적으로 결정될 수 있다. 임계 시간은, 사용자가 특정 단어를 선택하기를 원함을 표시하기에는 충분하지만 선택을 불필요하게 지연시키지 않는 임의의 양의 시간일 수 있다. 임계 시간은 또한, 사용자가 특정 가상 단어를 선택하기를 원함을 표시하는 신뢰도 스코어를 결정하기 위해 사용될 수 있다. 예컨대, 웨어러블 시스템은 사용자가 방향/오브젝트를 얼마나 오랫동안 응시했는지에 기반하여 신뢰도 스코어를 계산할 수 있으며, 여기서, 특정 방향/오브젝트를 보는 시간 지속기간이 증가함에 따라 신뢰도 스코어가 증가할 수 있다. 신뢰도 스코어는 또한, 본원에서 설명된 바와 같은 몰티모달 입력들에 기반하여 계산될 수 있다. 예컨대, 만약 사용자의 손 제스처 및 눈의 시선 둘 모두가 단어가 선택되어야 함을 표시하면, 웨어러블 시스템은 (단독으로 눈의 시선으로부터 도출되는 신뢰도 스코어보다) 더 높은 신뢰도 스코어로 결정할 수 있다.
[0286] 다른 예로서, 웨어러블 시스템은 본원에서 더욱 상세히 논의되는 바와 같이 특정 단어의 번역의 ASR 엔진의 상대적 신뢰도를 표시할 수 있는 ASR 스코어에 부분적으로 기반하여 신뢰도 스코어를 계산할 수 있다. 예컨대, 낮은 ASR 엔진 스코어는 ASR 엔진이 발화된 단어를 정확하게 변환했다는 비교적 낮은 신뢰도를 갖는다는 것을 표시할 수 있다. 따라서, 사용자가 편집하기 위해 또는 대체를 위해 그 단어를 선택할 가능성이 있을 더 높은 확률이 있다. 만약 낮은 ASR 스코어를 갖는 단어에 사용자의 시선이 임계 시간보다 더 길게 머무르면, 시스템은 적어도 2 개의 이유들: 첫째, 단어에 대한 눈의 시선의 길이, 그리고 둘째, 단어가 ASR 엔진에 의해 잘못 변환되었을 가능성이 있다는 사실로 ― 2 개의 이유들 둘 모두는 사용자가 그 단어를 편집하거나 또는 대체하기를 원할 것임을 표시하는 경향이 있음 ―, 사용자가 그 단어를 선택했음을 반영하기 위해 더 높은 신뢰도 스코어를 할당할 수 있다.
[0287] 만약 신뢰도 스코어가 임계치 기준을 통과하면, 단어가 선택될 수 있다. 예로서, 임계 시간은 1/2 초, 1 초, 1과 1/2 초, 2 초, 2와 1/2 초, 1 초 내지 2 초, 1 초 내지 3 초 등일 수 있다. 따라서, 사용자는 잘못된 단어인 "quarter"를 충분한 시간 동안 단지 봄으로써 이 잘못된 단어를 쉽게 그리고 신속하게 선택할 수 있다. 단어는 ASR 임계치를 초과하는 ASR 스코어와 함께 눈의 시선(또는 제스처) 시간의 조합에 기반하여 선택될 수 있으며, 이 표준들 둘 모두는 사용자가 그 특정 단어를 선택할 것이라는 표시들을 제공한다.
[0288] 예로서, 만약 ASR 엔진의 결과들이 높은 ASR 스코어를 갖는 제1 단어(예컨대, ASR 엔진이 비교적 신뢰하는 단어가 정확하게 인식되었음) 및 낮은 ASR 스코어를 갖는 제2 단어(예컨대, ASR 엔진이 비교적 신뢰하는 단어가 부정확하게 인식되었음)를 포함하고 이들 2 개의 단어들이 웨어러블 시스템에 의해 서로 인접하게 디스플레이되면, 웨어러블 시스템은, 제2 단어의 비교적 낮은 ASR 스코어에 기반하여, 제1 단어 및 제2 단어 둘 모두를 포함하는 사용자의 시선 입력이 실제로, 제2 단어를 선택하려는 사용자에 의한 시도인 것으로 가정할 수 있는데, 그 이유는 사용자가 정확하게 인식된 제1 단어보다 부정확하게 인식된 제2 단어를 편집하기를 원할 가능성이 높기 때문이다. 이러한 방식으로, 부정확하며 그리고 편집을 필요로 할 가능성이 높은, 낮은 ASR 스코어를 갖게 ASR 엔진에 의해 생성된 단어들은, 사용자가 편집하기 위해 선택하기가 상당히 더 쉽게 하여서, 사용자에 의한 편집을 가능하게 할 수 있다.
[0289] 이 예가 눈의 시선을 사용하여 오인된 단어를 선택하는 것을 설명하지만, 다른 멀티모달 입력이 또한, 단어를 선택하기 위해 사용될 수 있다. 예컨대, 콘 캐스팅은 다수의 단어들, 이를테면 "주위", "7:00", "그" 및 "quarter"를 식별할 수 있는데, 그 이유는 이 단어들이 또한, 가상 콘(2806)의 일부와 교차하기 때문이다. 도 29-31을 참조하여 추가로 설명될 바와 같이, 웨어러블 시스템은 추가적인 편집을 위한 단어로서 "quarter"라는 단어를 선택하기 위해 눈의 시선 입력을 다른 입력(이를테면, 예컨대, 제스처, 음성 커맨드 또는 사용자 입력 디바이스(466)로부터의 입력)과 조합할 수 있다.
[0290] 단어(2808)를 선택할 시에, 시스템은 선택된 단어의 편집을 가능하게 할 수 있다. 웨어러블 시스템은 사용자가 예컨대 변경, 잘라내기, 복사, 붙여넣기, 삭제, 지우기, 실행취소, 재실행, 삽입, 대체 등과 같은 다양한 기법들을 사용하여 단어를 편집하게 허용할 수 있다. 도 28d에 도시된 바와 같이, 웨어러블 시스템은 사용자가 단어(2808)를 다른 단어로 변경하게 허용할 수 있다. 웨어러블 시스템은, 이를테면, 예컨대, 선택된 단어를 대체 또는 삭제하기 위해 마이크로폰을 통해 추가적인 발화된 입력을 수신하는 것, 사용자가 대체물을 타이핑하는 것을 가능하게 하기 위해 가상 키보드를 디스플레이하는 것, 또는 사용자 입력 디바이스를 통해 사용자 입력을 수신하는 등에 의해, 단어(2808)를 편집하기 위한 다양한 사용자 입력들을 지원할 수 있다. 특정 구현들에서, 입력은 특정한 타입의 텍스트 편집과 연관될 수 있다. 예컨대, 흔드는 제스처는 선택된 텍스트를 삭제하는 것과 연관될 수 있는 한편, 손가락이 텍스트 내의 포지션을 가리키는 제스처는 웨어러블 시스템으로 하여금 이 포지션에 추가적인 텍스트를 삽입하게 할 수 있다. 웨어러블 시스템은 또한, 단어들을 편집하기 위해 사용자 입력들의 조합을 지원할 수 있다. 도 32-35를 참조하여 추가로 설명될 바와 같이, 시스템은 단어를 편집하기 위해 다른 입력 모드와 조합하여 눈의 시선을 지원할 수 있다.
[0291] 도 28d 및 28e의 예들에서, 시스템은 단어(2808)를 선택할 시에 제안된 대안들, 이를테면 대안들(2810a 및 2810b)의 어레이를 사용자에게 자동으로 제공할 수 있다. 제안된 대안들은 시스템에서의 ASR 엔진 또는 다른 언어 프로세싱 엔진들에 의해 생성될 수 있으며, 오리지널 스피치 입력(일부 실시예들에서, 이 오리지널 스피치 입력은 음성 입력으로서 또한 지칭될 수 있음), 자연어 이해들, 콘텍스트, 사용자 거동으로부터 학습된 것, 또는 다른 적절한 소스들에 기반할 수 있다. 적어도 일부 실시예들에서, 제안된 대안들은 ASR 엔진에 의해 생성된 대안 가설들일 수 있거나, 예측 텍스트 엔진에 의해 생성된 가설들일 수 있거나(이 예측 텍스트 엔진은 인접 단어들의 콘텍스트 및 사용자의 텍스트 이력 패턴들을 사용하여 "공백들을 채우려고" 노력할 수 있음), 오리지널 번역의 동음이의어들일 수 있거나, 동의어 사전을 사용하여 생성될 수 있거나, 또는 다른 적절한 기법들을 사용하여 생성될 수 있다. 예시된 예들에서, "quarter"에 대한 제안된 대안들은 "corner" 및 "courter"를 포함하며, 이는 언어 엔진에 의해 "quarter"와 유사한 사운드의 단어들인 것으로서 제공될 수 있다.
[0292] 도 28e는 시스템이 사용자가 눈의 시선을 이용하여 원하는 대안적 단어, 이를테면 "corner"를 선택하는 것을 가능하게 할 수 있는 방법을 예시한다. 웨어러블 시스템은 대안적 단어를 선택하기 위해 도 28c를 참조하여 설명된 것들과 유사한 기법들을 사용할 수 있다. 예컨대, 시스템은 사용자의 시선(2812)이 적어도 임계 시간 동안 특정 대안, 이를테면 대안(2810A) 또는 "corner"에 집중되었다는 것을 결정하기 위해 내향 이미징 시스템(462)을 사용하여 사용자의 눈들을 추적할 수 있다. 사용자의 시선(2812)이 임계 시간 동안 대안에 집중되었다고 결정한 후에, 시스템은 도 28f에 도시된 바와 같이 본래 선택된 단어를 선택된 대안적 단어(2814)로 대체함으로써 텍스트(메시지)를 수정할 수 있다. 웨어러블 시스템이 단어를 선택하기 위해 콘 캐스팅을 사용하는 특정 구현들에서, 웨어러블 시스템은 텍스트의 밀도에 기반하여 콘의 사이즈를 동적으로 조정할 수 있다. 예컨대, 웨어러블 시스템은, 몇몇 이용가능한 옵션들이 있기 때문에 도 28e에 도시된 바와 같이 편집을 위한 대안적 단어를 선택하기 위해 더 큰 개구를 갖는(및 이에 따라 사용자로부터 떨어진 곳에서 더 큰 표면적을 갖는) 콘을 제공할 수 있다. 그러나, 웨어러블 시스템은 도 28c에서 단어(2808)를 선택하기 위해 더 작은 개구를 갖는 콘을 제공할 수 있는데, 그 이유는 단어(2808)는 다른 단어들로 둘러싸여 있고, 더 작은 콘은 실수로 다른 단어를 선택할 에러 레이트를 감소시킬 수 있기 때문이다.
[0293] 웨어러블 시스템은 동작의 과정 전반에 걸쳐 사용자에 대한 피드백(예컨대, 시각, 오디오, 햅틱 등)을 제공할 수 있다. 예컨대, 웨어러블 시스템은 타겟 가상 오브젝트에 대한 사용자의 인식을 가능하게 하기 위해 초점 표시자를 제공할 수 있다. 예컨대, 도 28e에 도시된 바와 같이, 웨어러블 시스템은, "quarter"라는 단어가 선택되고 사용자가 현재 "quarter"라는 단어를 편집하고 있음을 도시하기 위해 "quarter"라는 단어 주위에 대조적 배경(2830)을 제공할 수 있다. 다른 예로서, 도 28f에 도시된 바와 같이, 웨어러블 시스템은, 웨어러블 시스템이 "corner"(2814)라는 이 대안적 단어로의 "quarter"라는 단어의 대체를 확인했음을 도시하기 위해 "corner"(2814)라는 단어의 폰트를 (예컨대, 굵은 폰트로) 변경할 수 있다. 다른 구현들에서, 초점 표시자는 십자선, 선택된 텍스트를 둘러싸는 원형 또는 타원, 또는 선택된 텍스트를 강조 표시 또는 강조하기 위한 다른 그래픽 기법들을 포함할 수 있다.
멀티모달 사용자 입력들을 이용하여 단어를 선택하는 예들
[0294] 웨어러블 시스템은, 단어를 선택하기 위해 사용자 입력들의 다수의 모드들을 지원 및 활용하도록 구성될 수 있다. 도 29-31은 눈의 시선과 다른 입력 모드의 조합에 기반하여 단어를 선택하는 예들을 예시한다. 다른 예들에서, 눈의 시선 이외의 입력들이 또한, 텍스트들과의 상호작용들을 위해 입력들의 다른 모드와 조합하여 사용될 수 있다.
[0295] 도 29는 사용자 입력 디바이스로부터의 입력 및 시선에 기반하여 단어를 선택하는 예를 예시한다. 도 29에 도시된 바와 같이, 시스템은 사용자 입력 디바이스(466)를 통해 수신된 사용자 입력과 함께 (내향 이미징 시스템(462)으로부터의 데이터에 기반하여 결정될 수 있는) 사용자의 시선(2900)을 조합할 수 있다. 이 예에서, 웨어러블 시스템은 사용자의 시선 방향에 기반하여 콘 캐스트를 수행할 수 있다. 웨어러블 시스템은 사용자 입력 디바이스로부터의 입력에 기반하여 "quarter"라는 단어의 선택을 확인할 수 있다. 예컨대, 웨어러블 시스템은 "quarter"라는 단어가 사용자의 시선 방향에 가장 가까운 단어임을 식별할 수 있고, 웨어러블 시스템은 사용자 입력 디바이스(466)의 사용자의 작동에 기반하여 쿼터라는 단어가 선택됨을 확인할 수 있다. 다른 예로서, 콘 캐스트는 복수의 단어들, 이를테면, 예컨대 "주위", "7:00", "그" 및 "quarter"를 캡처할 수 있다. 사용자는 추가적인 편집을 위해 복수의 단어들 중에서 사용자 입력 디바이스(466)를 통해 단어를 선택할 수 있다. 사용자의 시선에 독립적인 입력을 수신함으로써, 시스템은 특정 단어를 사용자가 편집하기를 원하는 단어로서 확실하게 식별하기 전에 오래 기다릴 필요가 없을 수 있다. 이러한 방식으로 편집할 단어를 선택한 후에, 시스템은 (도 28e와 관련하여 논의된 바와 같이) 대안들을 제공하거나 또는 그렇지 않으면 사용자가 선택된 단어를 편집하도록 허용할 수 있다. 토템을 통해 수신된 사용자 입력과 사용자의 시선을 조합하는 동일한 프로세스가, 원하는 대체 단어를 선택하는 것(예컨대, "quarter"라는 단어를 대체하기 위해 대안들 중에서 "코너"라는 단어를 선택하는 것)에 적용될 수 있다. 일부 구현들은 사용자에 의해 선택되고 있는 텍스트를 결정하기 위해 신뢰도 스코어를 활용할 수 있다. 신뢰도 스코어는 선택된 텍스트의 더 나은 결정을 제공하기 위해 다수의 입력 모달리티들을 집계할 수 있다. 예컨대, 신뢰도 스코어는 사용자가 텍스트를 응시하는 시간, 텍스트를 응시할 때 사용자가 사용자 입력 디바이스(466)를 작동시키는지 여부, 사용자가 선택된 텍스트를 향해 가리키는지 여부 등에 기반할 수 있다. 만약 신뢰도 스코어가 임계치를 넘으면, 웨어러블 시스템은, 높은 신뢰도로, 시스템이 사용자가 원하는 텍스트를 정확하게 선택했다고 결정할 수 있다. 예컨대, 단지 눈의 시선을 이용하여 텍스트를 선택하기 위해, 시스템은 만약 시선 시간이 1.5 초를 초과하면 텍스트를 선택하도록 구성될 수 있다. 그러나, 만약 사용자가 단 0.5 초 동안만 텍스트를 응시하지만 동시에 사용자 입력 디바이스를 작동시키면, 시스템은 선택된 텍스트를 더욱 신속하게 그리고 확실하게 결정할 수 있으며, 이는 사용자 경험을 개선시킬 수 있다.
[0296] 도 30은 음성 및 시선 입력들의 조합에 기반하여 편집하기 위한 단어를 선택하는 예를 예시한다. 웨어러블 시스템은 사용자의 시선에 기반하여 타겟 가상 오브젝트를 결정할 수 있다. 도 30에 도시된 바와 같이, 시스템은 사용자의 시선(3000)이 특정 단어(이 경우 "quarter")로 지향됨을 결정할 수 있다. 웨어러블 시스템은 또한, 사용자의 음성 커맨드에 기반하여 타겟 가상 오브젝트에 대해 수행될 동작을 결정할 수 있다. 예컨대, 웨어러블 시스템은 오디오 센서(232)를 통해 사용자의 발화된 입력(3010)을 수신할 수 있고, 발화된 입력(3010)을 커맨드로서 인식할 수 있으며, 그리고 커맨드 동작("편집")을 타겟 가상 오브젝트(예컨대, 사용자가 자신의 시선을 집중하고 있는 단어("quarter"))에 적용하기 위해 2 개의 사용자 입력들을 커맨드로 조합할 수 있다. 이전에 논의된 바와 같이, 시스템은 사용자가 편집하기 위한 단어를 선택한 후에 대안적 단어들을 제공할 수 있다. 발화된 입력과 사용자의 시선을 조합하는 동일한 프로세스가, "quarter"라는 단어를 대체하기 위해 대안적 단어들 중에서 원하는 대체 단어를 선택하는 것에 적용될 수 있다. 본원에서 설명된 바와 같이, "편집"과 같은 용어는, 하나 이상의 상이한 사용자 입력 모달리티들 각각에 대한 편집과 연관된 제약된 시스템 커맨드 라이브러리를 호출하는 역할을 하는 콘텍스트-특정한 웨이크업 단어를 표현한다. 즉, 이러한 용어는, 발화된 입력으로서 시스템에 의해 수신될 때, 시스템으로 하여금, 사용자에 의해 제공되는 편집-관련된 커맨드들을 향상된 정확도로 인식하기 위해, 표준들의 제한된 세트에 대해 후속적으로-수신된 사용자 입력을 평가하게 할 수 있다. 예컨대, 스피치 입력의 맥락에서, 시스템은 후속적으로-수신된 스피치 입력에 대해 스피치 인식을 수행하기 위해 용어들의 제한된 커맨드-특정한 어휘를 컨설팅할 수 있다. 다른 예에서, 시선 또는 제스처 입력의 맥락에서, 시스템은 후속적으로-수신된 시선 또는 제스처 입력에 대해 이미지 인식을 수행하기 위해 템플레이트 이미지들의 제한된 커맨드-특정한 라이브러리를 컨설팅할 수 있다. "편집"과 같은 용어는 때때로 "핫 단어" 또는 "운반 어구"로서 지칭되며, 시스템은 (편집 콘텍스트에서) 편집, 잘라내기, 복사, 붙여넣기, 굵게 하기, 이탤릭체, 삭제, 이동 등과 같은 다수의 미리-프로그래밍된(그리고 선택적으로, 사용자-세팅가능한) 핫 단어들을 포함할 수 있다.
[0297] 도 31은 시선 및 제스처 입력들의 조합에 기반하여 편집하기 위한 단어를 선택하는 예를 예시한다. 도 31의 예에 예시된 바와 같이, 시스템은 편집하기 위한 단어를 선택하기 위해 제스처 입력(3110)과 함께 눈의 시선 입력(3100)을 사용할 수 있다. 특히, 시스템은 (예컨대, 내향 이미징 시스템(462)에 의해 획득된 데이터에 기반하여) 눈의 시선 입력(3100)을 결정할 수 있고, (예컨대, 외향 이미징 시스템(464)에 의해 획득된 이미지들에 기반하여) 제스처 입력(3110)을 식별할 수 있다. 오브젝트 인식기들, 이를테면 인식기들(708)은 사용자의 신체의 일부, 이를테면 사용자의 손을 검출하여서, 편집을 위한 단어의 식별과 연관된 제스처를 만드는 데 사용될 수 있다.
[0298] 제스처는 단어를 선택하기 위해 단독으로 또는 시선과 조합하여 사용될 수있다. 예컨대, 콘 캐스트가 다수의 단어들을 캡처할 수 있지만, 그럼에도 불구하고, 웨어러블 시스템은 타겟 가상 오브젝트로서 단어 "quarter"를 식별할 수 있는데, 이는 그 단어가 콘 캐스트와 사용자의 손 제스처 둘 모두로부터 식별되기 때문이다(예컨대, 손 제스처 외에도 시선 콘 캐스트에 기반한 신뢰도 스코어는 신뢰도 임계치를 통과하여 사용자가 단어 "quarter"를 선택한 것을 표시함). 다른 예로서, 콘 캐스트가 다수의 단어들을 캡처할 수 있지만, 그럼에도 불구하고, 웨어러블 시스템은 타겟 가상 오브젝트로서 단어 "quarter"를 식별할 수 있는데, 이는 그 단어가 콘 캐스트로부터 식별될 뿐만 아니라, 콘 캐스트 내에(또는 인근에) 놓인 ASR 엔진으로부터의 최저 ASR 스코어를 갖는 단어이기 때문이다. 특정 구현들에서, 제스처가 커맨드, 이를테면 "편집" 또는 본원에서 설명된 다른 중요 단어들과 연관될 수 있기 때문에, 제스처는 커맨드 동작과 연관될 수 있다. 예로서, 시스템은 사용자가 이들이 응시하고 있는 단어와 동일한 단어를 포인팅할 때를 인식할 수 있고, 이들 사용자 입력들을 동일한 단어를 편집하기 위한 요청으로서 해석할 수 있다. 만약 원한다면, 시스템은 또한, 사용자가 특정 단어를 편집하기를 원한다고 결정할 때 동시에 "편집"하기 위해, 추가적인 사용자 입력, 이를테면 음성 커맨드를 활용할 수 있다.
멀티모달 사용자 입력들로 단어를 편집하는 예들
[0299] 사용자가 편집할 단어를 선택하였으면, 시스템은 선택된 단어를 편집하기 위해 임의의 원하는 사용자 입력 모드를 활용할 수 있다. 웨어러블 시스템은, 잠재적인 대안들의 리스트를 디스플레이하고, 오리지널 단어를 대체하기 위한 대안적 단어를 선택하기 위한 사용자 시선 입력(2812)을 수신함으로써, 사용자가 선택된 단어를 변경 또는 대체하게 허용할 수 있다(도 28e에 예시된 예 참조). 도 32-34는 선택된 단어를 편집하는 추가적인 예들을 예시하며, 여기서, 선택된 단어는 멀티모달 입력들을 사용하여 편집될 수 있다.
[0300] 도 32는 시선 및 스피치 입력들의 조합에 기반하여 단어를 대체하는 예를 예시한다. 도 32에서, 시스템은 (오디오 센서(232) 또는 다른 적절한 센서를 통해) 사용자로부터 스피치 입력(3210)을 수신한다. 스피치 입력(3210)은 (제안된 대안들(3200)의 리스트로부터의 대체 단어일 수 있거나 또는 아닐 수 있는) 원하는 대체 단어를 포함할 수 있다. 스피치 입력(3210)을 수신할 시에, 웨어러블 시스템은 사용자에 의해 발화된 단어를 식별하기 위해(예컨대, "change this to…"와 같은 운반 어구들을 제거하기 위해) 입력을 해석할 수 있고, 선택된 단어 "quarter"를 사용자에 의해 발언된 단어 "corner"로 대체할 수 있다. 이 예에서, 대체가 단어지만, 특정 구현들에서, 웨어러블 시스템은 단어 "quarter"를 어구 또는 문장 또는 일부 다른 엘리먼트(예컨대, 이모지)로 대체하도록 구성될 수 있다. 시선 콘 캐스트 내에 다수의 단어들이 포함되는 예들에서, 웨어러블 시스템은 대체 단어에 가장 근접한, 시선 콘 내의 단어를 자동으로 선택할 수 있다(예컨대, "quarter"는 "the" 또는 "7:00"보다 "corner"에 더 근접함).
[0301] 도 33은 음성 및 시선 입력들의 조합에 기반하여 단어를 변경하는 예를 예시한다. 이 예에서, 웨어러블 시스템은 스피치 입력(3310)을 수신할 수 있고, 사용자의 시선 방향(3300)을 결정할 수 있다. 도 33에 도시된 바와 같이, 스피치 입력(3310)은 어구 "change it to 'corner'"를 포함한다. 웨어러블 시스템은 스피치 입력(3310)을 해석할 수 있고, 그리고 스피치 입력(3310)이 커맨드 동작 "change"(이는 운반 어구의 예임), 서브젝트 "it", 및 커맨드의 파라미터(예컨대, 결과적인 단어 "corner")를 포함한다고 결정할 수 있다. 이 스피치 입력(3310)은 동작의 서브젝트를 결정하기 위해 시선(3300)과 조합될 수 있다. 도 28a 및 28b를 참조하여 설명된 바와 같이, 웨어러블 시스템은 동작의 서브젝트로서 단어 "quarter"를 식별할 수 있다. 따라서, 웨어러블 시스템은 서브젝트("quarter")를 결과적인 단어 "corner"로 변경할 수 있다.
[0302] 도 34는 가상 키보드(3410)를 이용하여 선택된 단어(3400)를 편집하는 예를 예시한다. 가상 키보드(3410)는 사용자 시선 입력들, 제스처 입력들, 사용자 입력 디바이스로부터 수신된 입력들 등에 의해 제어될 수 있다. 예컨대, 사용자는, 웨어러블 시스템(200)의 디스플레이에 의해 사용자에게 디스플레이되는 가상 키보드(3410)에 걸쳐 시선 방향(3420)을 움직임으로써, 대체 단어를 타이핑할 수 있다. 사용자는 임계 시간 기간 동안 개개의 키 위에 이들의 시선을 멈춤으로써 대체 단어 내의 각각의 글자를 타이핑할 수 있거나, 또는 웨어러블 시스템은 특정 키 위로의 사용자의 시선(3420)의 방향의 변경들을 사용자가 키를 선택하기를 원하는 표시로서 인식할 수 있다(이에 의해, 사용자가 단어를 타이핑할 때 각각의 개별 키 상에 이들의 초점을 맞춘 상태로 지속적으로 유지할 필요성을 제거함). 도 28d를 참조하여 설명된 바와 같이, 특정 구현들에서, 웨어러블 시스템은 키들의 사이즈에 기반하여 콘의 사이즈를 변경할 수 있다. 예컨대, 각각의 키의 사이즈가 비교적 작은 가상 키보드(3410)에서, 웨어러블 시스템은, (콘 캐스트가 다수의 가능한 키들을 뜻하지 않게 캡처하지 않도록) 사용자가 대체 단어 내의 글자들을 더 정확히 식별하게 허용하기 위해, 콘의 사이즈를 감소시킬 수 있다. 만약 사이즈가 비교적 크다면, 웨어러블 시스템은, 사용자가 시선 방향을 핀포인팅할 필요가 없게 되도록, 키들의 사이즈를 그에 따라서 증가시킬 수 있다(이는 피로를 감소시킬 수 있음).
[0303] 특정 구현들에서, 단어가 선택된 후에, 웨어러블 시스템은 선택된 단어를 대체하기 위한 제안되는 대안적 단어들의 리스트를 디스플레이하는 것 외에도 또는 이에 대안적으로, 한 세트의 가능한 액션들을 제공할 수 있다. 사용자(210)는 본원에서 설명된 기법들을 사용하여, 액션을 선택하고, 선택된 단어를 편집할 수 있다. 도 35는 선택된 단어에 적용할 가능한 액션들을 디스플레이하는 예시적인 사용자 인터페이스를 예시한다. 도 35에서, 편집할 단어(3500)의 선택 시에, 웨어러블 시스템은 편집을 위한 옵션들의 리스트(3510)를 제공할 수 있으며, 그 옵션들은 (이 예에서), (1) (편집을 위한 본원에서 설명된 기법들 중 임의의 기법을 사용하여) 단어를 변경하거나, (2) 단어를 잘라내어 선택적으로 이를 클립보드에 저장하거나 또는 단어를 복사하여 이를 클립보드에 저장하거나, 또는 (3) 클립보드로부터 단어 또는 어구를 붙여 넣기 위한 옵션을 포함한다. 제공될 수 있는 추가적인 또는 대안적인 옵션들은 선택 삭제 옵션, 실행 취소 옵션, 재실행 옵션, 모두 선택 옵션, 여기에 삽입 옵션, 및 대체 옵션을 포함한다. 다양한 옵션들은, 본원에서 설명된 바와 같이, 시선 입력, 토템 입력, 제스처 입력 등을 사용하여 선택될 수 있다.
멀티모달 사용자 입력들로 어구와 상호작용하는 예들
[0304] 단어를 선택 및 편집하기 위해 멀티모달 입력들을 사용하여 이전의 예들이 설명되었지만, 이는 예시를 위해 의도된 것이며, 다수의 단어들 또는 캐릭터들을 포함하는 어구 또는 문장 또는 단락을 선택 및 편집하는 데 있어서, 동일한 또는 유사한 프로세스들 및 입력들이 일반적으로 사용될 수 있다.
[0305] 도 36(i)-36(iii)은 멀티모달 입력들을 사용하여 어구와 상호작용하는 예를 예시한다. 도 36(i)에서, 웨어러블 시스템은 사용자의 시선(3600) 방향을 결정할 수 있고, 사용자의 시선 방향에 기반하여 콘 캐스트를 수행할 수 있다. 도 36(ii)에서, 시스템은 사용자(210)의 시선(3600)이 제1 단어(3610)(예컨대, "I'm")에 집중되는 것을 인식할 수 있다. 시스템은 본원에서 논의되는 기법들 중 임의의 기법을 사용하여 제1 단어(3610)의 그러한 결정들을 행할 수 있으며, 그 기법들은, 사용자의 시선(3600)이 임계 시간 기간 동안 특정 단어 상에 계속된 것(예컨대, 머무른 것), 사용자의 시선(3600)이 사용자가 음성, 제스처 또는 토템 입력을 제공하는 동시에 특정 단어에 있는 것 등을 인식하는 것을 포함한다(그러나 이에 제한되지는 않음). 웨어러블 시스템은 또한, 시선 콘 캐스트로부터 단어가 결정된 것을 표시하기 위해, 선택된 단어 "I'm"(3610) 상에 초점 표시자(예컨대, 도시된 바와 같은 콘트라스팅 배경)를 디스플레이할 수 있다. 사용자는 제1 단어(3610)를 보면서 토템(3620)(이는 사용자 입력 디바이스(466)의 예임)을 작동시킬 수 있다. 이런 작동은 사용자가 제1 단어(3610)로 시작하는 어구 또는 문장을 선택하려고 의도하는 것을 표시할 수 있다.
[0306] 도 36(iii)에서, 사용자 입력 디바이스(466)의 작동 후에, 사용자는, 사용자가 단어 "I'm"으로부터 시작하여 단어 "there"로 끝나는 어구를 선택하기를 원하는 것을 표시하기 위해, 최종 의도된 단어(예컨대, 단어 "there")를 볼 수 있다. 웨어러블 시스템은 또한, 사용자가 (예컨대, 사용자가 이전에 프레스한 버튼을 릴리즈하여) 토템(3620)의 작동을 중단한 것을 검출할 수 있고, 그에 따라서, 어구의 전체 범위(3630) "I'm flying in from Boston and will be there"를 선택할 수 있다. 시스템은 초점 표시자를 사용하여 (예컨대, 어구 내의 모든 단어들에 대해 콘트라스팅 배경을 확장시킴으로써) 선택된 어구를 디스플레이할 수 있다.
[0307] 시스템은 사용자가 다양한 기법들을 사용하여 편집하기 위해 다른 단어가 아니라 어구를 선택하기를 원한다고 결정할 수 있다. 예로서, 시스템은, 사용자가 제1 단어를 선택한 직후에, 사용자가 제2 단어를 선택할 때, 사용자가 제1 단어의 이들의 선택을 취소하는 것이 아니라 어구를 선택하기를 원한다고 결정할 수 있다. 다른 예로서, 시스템은, 사용자가 제1 단어 이후에 나타나는 제2 단어를 선택하고 사용자가 제1 선택된 단어를 아직 편집하지 않았을 때, 사용자가 어구를 선택하기를 원한다고 결정할 수 있다. 또 다른 예로서, 사용자는, 이들이 제1 단어(3610)에 집중될 때 토템(3620) 상의 버튼을 프레스한 다음 이들의 시선이 최종 단어 상에 정착될 때까지 버튼을 홀딩할 수 있다. 시선(3610)이 제1 단어에 초점을 맞추고 있는 동안 버튼이 프레스되었지만, 사용자의 시선(3610)이 제2 단어로 시프팅된 후에만 릴리즈된 것을 시스템이 인식할 때, 시스템은 멀티모달 사용자 입력을 어구의 선택으로서 인식할 수 있다. 그런다음, 시스템은, 제1 단어, 최종 단어, 및 이들 사이의 모든 단어들을 포함하는 어구 내의 모든 단어들을 식별할 수 있고, 어구 전체의 편집을 인에이블링할 수 있다. 시스템은, 선택된 어구가 선택되지 않은 텍스트와 차별화되도록, 선택된 어구를 강조 표시(예컨대, 강조 표시, 강조된 텍스트(예컨대, 볼드 또는 이탤릭 또는 상이한 컬러) 등)하기 위해 초점 표시자를 사용할 수 있다. 그런다음, 시스템은 선택된 어구를 편집하기 위한 콘텍스추얼적으로 적합한 옵션들, 이를테면 옵션들(3510), 가상 키보드, 이를테면 키보드(3410), 대안적 어구들 등을 디스플레이할 수 있다. 시스템은, 선택된 어구(3630)를 어떻게 편집할지를 결정하기 위해, 추가적인 사용자 입력들, 이를테면, 발화된 입력, 토템 입력, 제스처 입력 등을 수신할 수 있다.
[0308] 도 36은 사용자가 어구의 시작에 있는 제1 단어(3610)를 선택하는 것을 예시하지만, 시스템은 또한, 사용자가 제1 단어(3610) 뒤에서 선택하게 허용할 수 있다. 다른 말로, 사용자는 어구의 최종 단어(예컨대, "there")를 선택한 다음 원하는 어구의 제1 단어(예컨대, "I'm")를 선택함으로써 어구를 선택할 수 있다.
[0309] 도 37a-37b는 멀티모달 입력들을 사용하여 텍스트와 상호작용하는 다른 예를 예시한다. 도 37a에서, 사용자(210)는 문장("I want to sleep")을 발언한다. 웨어러블 시스템은 사용자의 발언을 스피치 입력(3700)으로서 캡처할 수 있다. 이 스피치 입력에 대해, 웨어러블 시스템은, 도 37b에 도시된 바와 같이, 각각의 단어에 대한 ASR(automated speech recognition) 엔진으로부터의 1차 및 2차 결과들 둘 모두를 디스플레이할 수 있다. 각각의 단어에 대한 1차 결과는 스피치 입력(3700)에서 사용자에 의해 발화된 단어에 대한 ASR 엔진의 최상의 추측(예컨대, 사용자가 실제로 어떤 단어를 발화했는지를 표시하기 위한 최고 ASR 스코어를 갖는 단어)을 표현할 수 있으며, 반면에, 2차 결과들은 ASR 엔진의 최상의 추측보다 더 낮은 ASR 스코어들을 갖는 유사하게 들리는 대안들 또는 단어들을 표현할 수 있다. 이 도 37b에서, 1차 결과들은 시퀀스(3752)로서 디스플레이된다. 일부 실시예들에서, 웨어러블 시스템은, 대안적 단어들과 대조적으로, 대안적 어구들 및/또는 전체 문장들로서 대안적 결과들 또는 가정들을 제공할 수 있다. 예로서, 웨어러블 시스템은 "force caring seven years to go"의 2차 결과와 함께, "four score and seven years ago"의 1차 결과를 제공할 수 있으며, 여기서, 1차 및 2차 결과들 내의 이산 단어들 사이에 일-대-일 대응성이 존재하지 않는다. 그러한 실시예들에서, 웨어러블 시스템은 대안적 또는 2차 어구(들) 및/또는 문장(들)을 선택하는 사용자로부터의 입력들을 (본원에서 설명된 방식들 중 임의의 방식으로) 지원할 수 있다.
[0310] 도 37b에 도시된 바와 같이, 사용자의 스피치 입력(3700)으로부터의 각각의 단어는 1차 및 2차 결과들의 집합(3710, 3720, 3730, 3740)으로서 디스플레이될 수 있다. 이 타입의 어레인지먼트들은 사용자가 신속하게 부정확한 1차 결과들을 교체하고 ASR 엔진에 의해 도입된 임의의 에러들을 보정할 수 있게 할 수 있다. 1차 결과들(3752)은, 2차 결과들과 이들을 구별하기 위해, 초점 표시자로 강조될 수 있다(예컨대, 도 37b의 예에서, 각각의 단어는 경계 박스에 의해 둘러싸인 볼드 텍스트로 이루어짐).
[0311] 사용자(210)는, 만약 1차 단어들이 사용자에 의해 의도된 것들이 아니라면, 2차 결과들, 예컨대 2차 단어들, 어구들, 또는 문장들 등을 심사숙고할 수 있다. 예로서, 집합(3740) 내의 ASR 엔진의 1차 결과가 "slip"인 반면에, 정확한 변환은 실제로 첫번째 2차 결과 "sleep"이다. 이 에러를 보정하기 위해, 사용자는 이들의 시선을 정확한 2차 결과 "sleep"에 집중시킬 수 있고, 시스템은 사용자의 시선이 임계 시간 기간 동안 2차 결과 상에 머무는 것을 인식할 수 있다. 시스템은 1차 결과 "slip"을 선택된 2차 결과 "sleep"으로 대체하기 위한 요청으로서 사용자 시선 입력을 번역할 수 있다. 사용자 스피치 입력과 같은 원하는 2차 결과를 선택하는 것과 연동하여 추가적인 사용자 입력들이 수신될 수 있다(예컨대, 사용자는 원하는 이차 결과를 보면서 시스템으로 하여금 "편집", "이의 사용", 또는 "대체"를 행하도록 요청할 수 있음).
[0312] 사용자가 어구 "I want to sleep"의 편집을 완료하거나, 또는 변환이 정확한 것을 확인하면, 어구는 본원에서 설명된 임의의 사용자 입력 모드들을 사용하여 텍스트 본문에 추가될 수 있다. 예컨대, 사용자는, 편집된 어구가 다시 텍스트 본문에 추가되게 하기 위해, "완료"와 같은 중요 단어를 말할 수 있다.
사용자 입력들의 조합을 사용하여 텍스트와 상호작용하는 예시적인 프로세스들
[0313] 도 38은 텍스트와 상호작용하기 위해 다수의 사용자 입력 모드들을 사용하는 예시적인 방법(3800)의 프로세스 흐름도이다. 프로세스(3800)는 본원에서 설명된 웨어러블 시스템(200)에 의해 수행될 수 있다.
[0314] 블록(3810)에서, 웨어러블 시스템은 사용자로부터의 발화된 입력을 수신할 수 있다. 스피치 입력은 하나 이상의 단어들을 포함하는 사용자의 스피치를 포함할 수 있다. 일 예에서, 사용자는 메시지를 지시할 수 있고, 웨어러블 시스템은 이 지시된 메시지를 수신할 수 있다. 이는 임의의 적절한 입력 디바이스, 이를테면 오디오 센서(232)를 통해 달성될 수 있다.
[0315] 블록(3820)에서, 웨어러블 시스템은 스피치 입력을 텍스트로 변환할 수 있다. 웨어러블 시스템은 사용자의 발화된 입력을 텍스트로 변환(예컨대, 글자 변환)하기 위해 ASR(automatic speech recognition) 엔진을 활용할 수 있고, 추가로, 그러한 텍스트를 의도들 및 개념들을 표시하는 시맨틱 표현으로 변환하기 위해 자연어 프로세싱 기법들을 레버리징할 수 있다. ASR 엔진은 자유-형식 텍스트 입력에 대해 최적화될 수 있다.
[0316] 블록(3830)에서, 웨어러블 시스템은 텍스트를 이산 실행가능 엘리먼트들, 이를테면 단어들, 어구들, 또는 문장들로 토큰화할 수 있다. 웨어러블 시스템은 또한, 디스플레이 시스템, 이를테면 디스플레이(220)를 사용하여, 사용자에 대해 텍스트를 디스플레이할 수 있다. 일부 실시예들에서, 웨어러블 시스템은 토큰화 시스템 동안 텍스트의 의미를 이해할 필요가 없다. 다른 실시예들에서, 웨어러블 시스템에는, 텍스트의 의미를 이해하기 위한 능력들(예컨대, 하나 이상의 자연어 프로세싱 모델들 또는 다른 확률 통계 모델들)이 장비되거나, 또는 단순히, (i) 사용자-구성 메시지 또는 이의 일부를 표현하는 단어들, 어구들 및 문장들, 및 (ii) 사용자-구성 메시지 또는 이의 일부를 표현하지 않지만 대신에 웨어러블 시스템에 의해 실행될 커맨드들에 대응하는 단어들, 어구들 및 문장들 사이에 구별하기 위한 능력들이 장비된다. 예컨대, 웨어러블 시스템은, 커맨드 동작 또는 사용자에 의해 발화된 커맨드의 파라미터를 인식하기 위해 텍스트의 의미를 알 필요가 있을 수 있다. 그러한 텍스트의 예들은, 하나 이상의 상이한 사용자 입력 모달리티들 각각에 대한 편집과 연관된 하나 이상의 제약된 시스템 커맨드 라이브러리들을 인보크하는 역할을 하는 콘텍스트-특정 웨이크업 단어들(이는 또한 중요 단어들로서 본원에서 지칭됨)을 포함할 수 있다.
[0317] 사용자는, 멀티모달 사용자 입력들을 사용하여, 실행가능 엘리먼트들 중 하나 이상과 상호작용할 수 있다. 블록(3840)에서, 웨어러블 시스템은 제1 표시에 대한 응답으로 하나 이상의 엘리먼트들을 선택할 수 있다. 본원에서 설명된 바와 같이, 제1 표시는 하나의 사용자 입력, 또는 사용자 입력들의 조합일 수 있다. 웨어러블 시스템은 편집을 위한 텍스트 스트링의 엘리먼트들 중 하나 이상을 선택하는 사용자로부터 입력을 수신할 수 있다. 사용자는 단일 단어 또는 다수의 단어들(예컨대, 어구 또는 문장)을 선택할 수 있다. 웨어러블 시스템은, 스피치 입력, (예컨대, 내향 이미징 시스템(462)을 통한) 시선 입력, (예컨대, 외향 이미징 시스템(464)에 의해 캡처된 바와 같은) 제스처 입력, (예컨대 사용자 입력 디바이스(466)의 작동을 통한) 토템 입력, 또는 이들의 임의의 조합들을 포함하는(그러나 이에 제한되지는 않음) 임의의 원하는 형태로 편집을 위한 사용자 입력 선택 엘리먼트(들)를 수신할 수 있다. 예들로서, 웨어러블 시스템은, 임계 시간 기간 동안 특정 단어 상에 머무는 사용자의 시선의 형태로 사용자 입력을 수신할 수 있거나, 또는 편집을 위한 특정 단어의 선택을 표시하는 마이크로폰 또는 토템을 통한 사용자 입력과 동시에 그 특정 단어 상의 사용자의 시선을 수신할 수 있다.
[0318] 블록(3850)에서, 웨어러블 시스템은 제2 표시에 대한 응답으로 선택된 엘리먼트(들)를 편집할 수 있다. 제2 표시는, 사용자 시선 입력, 발화된 입력, 제스처 입력, 및 토템 입력을 포함하는(그러나 이에 제한되지는 않음) 이전의 도면들과 함께 설명된 바와 같은, 단일 입력 모드 또는 입력 모드들의 조합을 통해 수신될 수 있다. 웨어러블 시스템은 선택된 엘리먼트(들)가 어떻게 편집되어야 하는지를 표시하는 사용자 입력을 수신할 수 있다. 웨어러블 시스템은 블록(3850)에서 수신된 사용자 입력에 따라, 선택된 엘리먼트(들)를 편집할 수 있다. 예컨대, 웨어러블 시스템은 스피치 입력에 기반하여, 선택된 엘리먼트를 대체할 수 있다. 웨어러블 시스템은 또한, 제안되는 대안들의 리스트를 제공할 수 있고, 사용자의 시선에 기반하여, 선택된 대안들 중에서 선택할 수 있다. 웨어러블 시스템은 또한, 가상 키보드를 이용한 사용자 상호작용들을 통해, 또는 사용자 입력 디바이스(466)(이를테면 예컨대, 물리적 키보드 또는 핸드헬드 디바이스)를 통해 입력을 수신할 수 있다.
[0319] 블록(3860)에서, 웨어러블 시스템은 선택된 엘리먼트(들)를 편집한 결과를 디스플레이할 수 있다. 특정 구현들에서, 웨어러블 시스템은 편집된 엘리먼트(들) 상에 초점 표시자를 제공할 수 있다.
[0320] 화살표(3870)에 의해 표시된 바와 같이, 웨어러블 시스템은, 만약 사용자가 텍스트의 추가적인 엘리먼트(들)를 편집하기 위해 추가적인 사용자 입력을 제공한다면, 블록들(3840, 3850, 및 3860)을 반복할 수 있다.
추가적인 양상들
[0321] 제1 양상에서, 가상 콘텐츠와 상호작용하기 위한 방법은: 제1 직접적 사용자 입력을 수신하는 단계, 제1 직접적 사용자 입력과 상관된 제1 신뢰도 스코어를 결정하는 단계, 제2 직접적 사용자 입력을 수신하는 단계, 제2 직접적 사용자 입력과 상관된 제2 신뢰도 스코어를 결정하는 단계, 적어도 제1 신뢰도 스코어 및 제2 신뢰도 스코어로부터 집계 신뢰도 스코어를 계산하는 단계, 파라미터 조건을 충족하도록 서브젝트 가상 오브젝트를 조작하는 단계를 포함한다.
[0322] 제2 양상에서, 양상1의 방법에 있어서, 제1 직접적 사용자 입력은, 스피치 입력, 손 제스처, 머리 포즈, 및 시선으로 이루어진 그룹으로부터 선택된다.
[0323] 제3 양상에서, 양상1 또는 양상2의 방법에 있어서, 제2 직접적 사용자 입력은, 스피치 입력, 손 제스처, 머리 포즈, 및 시선으로 이루어진 그룹으로부터 선택된다.
[0324] 제4 양상에서, 양상1 내지 양상3 중 어느 한 양상의 방법에 있어서, 파라미터는 서브젝트 가상 오브젝트의 포지션이다.
[0325] 제5 양상에서, 양상1 내지 양상4 중 어느 한 양상의 방법에 있어서, 파라미터는 서브젝트 가상 오브젝트의 사이즈이다.
[0326] 제6 양상에서, 양상1 내지 양상5 중 어느 한 양상의 방법에 있어서, 파라미터는 서브젝트 가상 오브젝트의 기능성이다.
[0327] 제7 양상에서, 가상 콘텐츠와 상호작용하기 위한 방법은: 직접적 사용자 입력을 수신하는 단계, 직접적 사용자 입력과 상관된 제1 신뢰도 스코어를 결정하는 단계, 간접적 사용자 입력을 수신하는 단계, 간접적 사용자 입력과 상관된 제2 신뢰도 스코어를 결정하는 단계, 적어도 제1 신뢰도 스코어 및 제2 신뢰도 스코어로부터 집계 신뢰도 스코어를 계산하는 단계, 파라미터 조건을 충족하도록 서브젝트 가상 오브젝트를 조작하는 단계를 포함한다.
[0328] 제8 양상에서, 양상7의 방법에 있어서, 직접적 사용자 입력은, 스피치 입력, 손 제스처, 머리 포즈, 및 시선으로 이루어진 그룹으로부터 선택된다.
[0329] 제9 양상에서, 양상8의 방법에 있어서, 간접적 사용자 입력은 지오로케이션이다.
[0330] 제10 양상에서, 양상7 또는 양상8의 방법에 있어서, 파라미터는 서브젝트 가상 오브젝트의 포지션이다.
[0331] 제11 양상에서, 양상7 내지 양상10 중 어느 한 양상의 방법에 있어서, 파라미터는 서브젝트 가상 오브젝트의 사이즈이다.
[0332] 제12 양상에서, 양상7 내지 양상11 중 어느 한 양상의 방법에 있어서, 파라미터는 서브젝트 가상 오브젝트의 기능성이다.
[0333] 위의 양상1 내지 양상12 중 어느 한 양상의 방법은 본원에서 설명된 웨어러블 시스템(200)의 제어 하에 수행될 수 있다.
[0334] 제13 양상에서, 시스템은 웨어러블 디바이스에 대한 오브젝트들과 상호작용하기 위한 것이고, 시스템은: 사용자에게 3D(three-dimensional) 뷰를 제공하고 그리고 사용자의 FOR(field of regard) 내의 오브젝트들과의 사용자 상호작용을 허가하도록 구성된 웨어러블 디바이스의 디스플레이 시스템 ― FOR은 디스플레이 시스템을 통해 사용자에 의해 지각될 수 있는, 사용자 주변의 환경의 일부를 포함함 ―; 센서 및 디스플레이 시스템과 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는: 사용자 상호작용을 위한 멀티모달 입력들을 수신하고; 사용자 상호작용의 서브젝트, 커맨드, 및 파라미터를 식별하기 위해 멀티모달 입력들을 해석하며; 그리고 서브젝트, 커맨드, 및 파라미터에 기반하여 사용자 상호작용을 실행하도록 프로그래밍된다.
[0335] 제14 양상에서, 양상13의 시스템에 있어서, 시스템은: 마이크로폰, 관성 측정 유닛, 외향 이미징 시스템, 또는 내향 이미징 시스템 중 적어도 하나를 포함한다.
[0336] 제15 양상에서, 양상14의 시스템에 있어서, 멀티모달 입력들은: 머리 포즈, 시선, 손 제스처, 또는 스피치 입력 중 적어도 하나를 포함하는 직접적 입력들을 포함한다.
[0337] 제16 양상에서, 양상13 또는 양상14의 시스템에 있어서, 멀티모달 입력들은: 사용자 입력 디바이스로부터의 입력 또는 간접적 입력 중 적어도 하나를 포함하고, 간접적 입력은 사용자의 환경 내에서의 사용자의 위치 또는 오브젝트의 위치를 포함한다.
[0338] 제17 양상에서, 양상13 내지 양상16 중 어느 한 양상의 시스템에 있어서, 서브젝트는 사용자가 상호작용하려고 의도하는 타겟 가상 오브젝트를 포함하고, 커맨드는 웨어러블 시스템이 타겟 가상 오브젝트에 대해 수행하는 동작을 포함하며, 그리고 파라미터는 동작의 특징들을 포함한다.
[0339] 제18 양상에서, 양상17의 시스템에 있어서, 파라미터는 타겟 가상 오브젝트의 배치, 배향, 목적지 포지션을 포함한다.
[0340] 제19 양상에서, 양상13 내지 양상18 중 어느 한 양상의 시스템에 있어서, 사용자 상호작용의 서브젝트를 식별하기 위해, 웨어러블 디바이스는: 멀티모달 입력들 중 제1 입력에 제1 값을 액세스하고; 멀티모달 입력들 중 제2 입력에 제2 값을 액세스하고; 제1 또는 제2 값에 기반하여 제1 후보 가상 오브젝트에 대한 제1 신뢰도 스코어를 계산하고; 제1 또는 제2 값에 기반하여 제2 후보 가상 오브젝트에 대한 제2 신뢰도 스코어를 계산하며; 그리고 제1 신뢰도 스코어의 비교에 기반하여 서브젝트를 제1 후보 가상 오브젝트 또는 제2 후보 가상 오브젝트로 세팅하도록 프로그래밍된다.
[0341] 제20 양상에서, 양상19의 시스템에 있어서, 제1 입력은 제1 가중치와 연관되고 그리고 제2 입력은 제2 가중치와 연관되며, 제1 값 및 제2 값은 제1 가중치 및 제2 가중치에 기반하여 각각 할당된다.
[0342] 제21 양상에서, 양상13 내지 양상20 중 어느 한 양상의 시스템에 있어서, 컴퓨터 프로세서는: 사용자 상호작용과 연관된 개시 조건을 검출하도록 추가로 구성되며, 개시 조건은 호출 어구 또는 손 제스처를 포함한다.
[0343] 제22 양상에서, 양상21의 시스템에 있어서, 개시 조건은 2개의 입력 모드들의 조합을 포함하며, 2개의 입력 모드들은 일관되게 사용자 상호작용을 표시한다.
[0344] 제23 양상에서, 양상13 내지 양상22 중 어느 한 양상의 시스템에 있어서, 프로세서는: 웨어러블 디바이스의 환경 센서로부터 환경 데이터를 수신하고; 그리고 환경 데이터에 기반하여 입력 모드와 연관된 인증 레벨을 자동으로 세팅하도록 추가로 프로그래밍된다.
[0345] 제24 양상에서, 양상13 내지 양상23 중 어느 한 양상의 시스템에 있어서, 사용자 상호작용은: 가상 오브젝트를 선택하거나 또는 이동시키는 것, 텔레프레전스 세션을 수행하는 것, 가상 오브젝트를 수정하는 것, 또는 가상 오브젝트를 다른 웨어러블 디바이스와 공유하는 것 중 적어도 하나를 포함한다.
[0346] 제25 양상에서, 양상13 내지 양상24 중 어느 한 양상의 시스템에 있어서, 멀티모달 입력들은 머리 포즈 및 스피치 입력을 포함한다.
[0347] 제26 양상에서, 양상25의 시스템에 있어서, 멀티모달 입력들은 제스처 또는 시선을 더 포함한다.
[0348] 제27 양상에서, 시스템은: 제1 입력 모드에서 제1 사용자 입력 데이터를 획득하도록 구성된 제1 센서; 제2 입력 모드에서 제2 사용자 입력 데이터를 획득하도록 구성된 제2 센서 ― 제2 입력 모드는 제1 입력 모드와 상이함 ―; 및 제1 및 제2 센서들과 통신하는 하드웨어 프로세서를 포함한다. 시스템은 오브젝트들과 상호작용하기 위한 웨어러블 시스템일 수 있고, 제1 센서 및 제2 센서는 웨어러블 시스템의 부분일 수 있다. 시스템의 하드웨어 프로세서는: 제1 입력 모드에서의 제1 사용자 입력 데이터 및 제2 입력 모드에서의 제2 사용자 입력 데이터를 포함하는 멀티모달 입력들을 수신하고; 제1 사용자 입력 데이터에 기반하여 상호작용들을 위한 제1 세트의 후보 오브젝트들을 식별하고; 제2 사용자 입력 데이터에 기반하여 상호작용들을 위한 제2 세트의 후보 오브젝트들을 식별하고; 제1 사용자 입력 데이터와 제2 사용자 입력 데이터의 조합에 기반하여 제1 세트의 후보 오브젝트들 및 제2 세트의 후보 오브젝트들부터 타겟 가상 오브젝트를 결정하고; 제1 사용자 입력 데이터 또는 제2 사용자 입력 데이터 중 적어도 하나에 기반하여 타겟 가상 오브젝트에 대한 사용자 인터페이스 동작을 결정하며; 그리고 사용자 인터페이스 동작으로 하여금 타겟 가상 오브젝트에 대해 수행되게 하는 멀티모달 입력 커맨드를 생성하도록 프로그래밍될 수 있다.
[0349] 제28 양상에서, 양상27의 시스템에 있어서, 멀티모달 입력들은 다음의 입력 모드들: 머리 포즈, 시선, 사용자 입력 디바이스, 손 제스처, 또는 음성 중 적어도 2개를 포함한다.
[0350] 제29 양상에서, 양상27 또는 양상28의 시스템에 있어서, 사용자 인터페이스 동작은 타겟 가상 오브젝트를 선택하는 것, 이동시키는 것, 또는 리사이징하는 것 중 적어도 하나를 포함한다.
[0351] 제30 양상에서, 양상27 내지 양상29 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는 사용자 인터페이스 동작에서 타겟 가상 오브젝트에 대한 타겟 위치, 배향, 또는 이동 중 적어도 하나를 결정하도록 추가로 구성된다.
[0352] 제31 양상에서, 양상30의 시스템에 있어서, 타겟 가상 오브젝트에 대한 타겟 위치를 결정하기 위해, 하드웨어 프로세서는 타겟 가상 오브젝트를 배치하기 위한 물리적 환경 내의 작업가능 표면을 식별하도록 프로그래밍된다.
[0353] 제32 양상에서, 양상31의 시스템에 있어서, 작업가능 표면은: 물리적 환경 내에서 물리적 오브젝트에 대해 POI들(points of interest)에 대한 거리 함수를 계산하고; POI들 중 평면 공차(planar tolerance)를 벗어난 하나 이상의 POI를 제거하며; 그리고 나머지 POI들에 기반하여 작업가능 표면을 묘사함으로써 식별된다.
[0354] 제33 양상에서, 양상31 또는 양상32의 시스템에 있어서, 하드웨어 프로세서는 타겟 위치의 배향에 매칭하게 타겟 가상 오브젝트를 자동으로 배향시키도록 프로그래밍된다.
[0355] 제34 양상에서, 양상27 내지 양상33 중 어느 한 양상의 시스템에 있어서, 동작은 제1 입력 모드에서 제1 사용자 입력 데이터에 기반하여 결정되고, 그리고 서브젝트 또는 파라미터 중 적어도 하나가 제1 입력 모드와 제2 입력 모드의 조합에 기반하여 결정된다.
[0356] 제35 양상에서, 양상27 내지 양상34 중 어느 한 양상의 시스템에 있어서, 제1 입력 모드는 웨어러블 시스템의 사용자의 위치 정보에 기반하여 간접적 입력 모드를 포함한다.
[0357] 제36 양상에서, 양상35의 시스템에 있어서, 하드웨어 프로세서는, 가상 오브젝트가 사용자의 임계 범위 내에 있다는 결정에 대한 응답으로, 가상 오브젝트를 제1 세트의 오브젝트들 및 제2 세트의 오브젝트들로부터의 타겟 가상 오브젝트로서 식별하도록 프로그래밍된다.
[0358] 제37 양상에서, 양상27 내지 양상36 중 어느 한 양상의 시스템에 있어서, 사용자 인터페이스 동작은 가상 애플리케이션과 연관되고, 그리고 가상 애플리케이션은 제1 센서 또는 제2 센서 중 하나에 더욱 반응적이도록 프로그래밍된다.
[0359] 제38 양상에서, 양상27 내지 양상37 중 어느 한 양상의 시스템에 있어서, 제1 세트의 후보 오브젝트들 및 제2 세트의 후보 오브젝트들로부터 타겟 가상 오브젝트를 결정하기 위해, 하드웨어 프로세서는 제1 사용자 입력 데이터 및 제2 사용자 입력 데이터에 기반하여 제1 세트의 후보 오브젝트들 및 제2 세트의 후보 오브젝트들에 대해 트리-기반 분석을 수행하도록 프로그래밍된다.
[0360] 제39 양상에서, 양상38의 시스템에 있어서, 제1 세트의 후보 오브젝트들 및 제2 세트의 후보 오브젝트들부터 타겟 가상 오브젝트를 결정하기 위해, 하드웨어 프로세서는: 제1 사용자 입력 데이터에 기반하여 제1 세트의 후보 오브젝트들 중 한 후보 오브젝트에 대한 제1 신뢰도 스코어를 계산하고; 제2 사용자 입력 데이터에 기반하여 후보 오브젝트에 대한 제2 신뢰도 스코어를 계산하고; 적어도 제1 신뢰도 스코어 및 제2 신뢰도 스코어로부터 후보 오브젝트에 대한 집계된 스코어를 계산하며; 그리고 집계된 스코어가 임계 조건을 충족한다는 결정에 대한 응답으로 후보 오브젝트를 타겟 가상 오브젝트로서 세팅하도록 프로그래밍된다.
[0361] 제40 양상에서, 양상27 내지 양상39 중 어느 한 양상의 시스템에 있어서, 타겟 가상 오브젝트를 결정하기 위해, 하드웨어 프로세서는: 시야 내의 가상 오브젝트 주변의 공간의 균등도; 사용자의 시야 밖에 있는 가상 오브젝트의 제2 일부에 대하여 사용자의 시야 내에 있는 가상 오브젝트의 제1 일부의 비례 영역; 또는 가상 오브젝트와의 사용자의 상호작용들의 이력 분석 중 적어도 하나를 계산함으로써 가상 오브젝트에 대한 신뢰도 스코어를 계산하도록 프로그래밍된다.
[0362] 제41 양상에서, 양상27 내지 양상40 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는: 멀티모달 입력들에 기반하여 타겟 가상 오브젝트 및 사용자 인터페이스 동작을 결정하도록 하드웨어 프로세서를 트리거시키는 상호작용 이벤트를 위한 개시 조건을 검출하도록 추가로 프로그래밍된다.
[0363] 제42 양상에서, 양상41의 시스템에 있어서, 개시 조건은 트리거링 어구를 포함한다.
[0364] 제43 양상에서, 양상27 내지 양상42 중 어느 한 양상의 시스템에 있어서, 제1 입력 모드는 1차 입력 모드이고, 제2 입력 모드는 2차 입력 모드이며, 그리고 하드웨어 프로세서는: 제2 사용자 입력 데이터에 기반하여 타겟 가상 오브젝트 및 사용자 인터페이스 동작 중 적어도 하나의 모호성들을 해결하도록 프로그래밍된다.
[0365] 제44 양상에서, 양상27 내지 양상43 중 어느 한 양상의 시스템에 있어서, 제1 사용자 입력 데이터는 가상 오브젝트에 대한 지시적 또는 대용적 참조를 포함하고, 그리고 하드웨어 프로세서는 제2 사용자 입력 데이터에 기반하여 가상 오브젝트를 타겟 가상 오브젝트로서 또는 서브젝트로서 식별하도록 프로그래밍된다.
[0366] 제45 양상에서, 양상27 내지 양상44 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는 사용자 세팅 또는 사용자의 환경에 적어도 부분적으로 기반하여 제1 입력 모드, 제2 입력 모드, 또는 둘 모두의 민감도를 자동으로 인에이블링하거나, 디스에이블링하거나, 또는 조정하도록 추가로 프로그래밍된다.
[0367] 제46 양상에서, 양상27 내지 양상45 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는 멀티모달 입력들에 적어도 부분적으로 기반하여 사용자의 시야 밖에 있는 해당 타겟 가상 오브젝트를 식별하고; 그리고 사용자 상호작용을 위해 가상 오브젝트를 시야 내로 자동으로 이동시키도록 프로그래밍된다.
[0368] 제47 양상에서, 방법이 설명된다. 방법은 오브젝트들과 상호작용하기 위한 것일 수 있고, 그리고 사용자 입력 데이터를 획득하도록 구성된 복수의 센서들과 통신하는 웨어러블 시스템의 하드웨어 프로세서의 제어 하에서 수행될 수 있다. 방법은: 환경과의 사용자의 상호작용 이벤트에 대해 복수의 센서들로부터 사용자 입력 데이터를 수신하는 단계; 환경과 상호작용하기 위한 멀티모달 입력들을 식별하기 위해서 사용자 입력 데이터를 분석하는 단계 ― 멀티모달 입력들은 제1 입력 채널의 제1 입력 및 제2 입력 채널의 제2 입력을 포함함 ―; 제1 입력 및 제2 입력에 기반하여, 서브젝트, 파라미터, 또는 환경과의 상호작용 이벤트를 설명하기 위한 동작 중 하나 이상을 포함하는 멀티모달 입력 커맨드를 결정하는 단계 ― 서브젝트, 파라미터, 또는 동작 중 적어도 하나는 제1 입력과 제2 입력의 조합에 기반하여 식별됨 ―; 및 웨어러블 디바이스로 하여금 상호작용 이벤트를 위해 멀티모달 입력 커맨드를 실행하게 하는 단계를 포함할 수 있다.
[0369] 제48 양상에서, 양상47의 방법에 있어서, 동작은 서브젝트를 선택하는 것, 이동시키는 것, 또는 리사이징하는 것 중 적어도 하나를 포함하거나; 서브젝트는 사용자가 막 상호작용하려 하는 타겟 가상 오브젝트를 포함하거나; 또는 파라미터는 적어도 서브젝트의 타겟 위치, 배향, 또는 이동을 포함한다.
[0370] 제49 양상에서, 양상48의 방법에 있어서, 타겟 위치는: 물리적 오브젝트에 대해 POI들(points of interest)에 대한 거리 함수를 계산하고; POI들 중 정해진 평면 공차를 벗어난 하나 이상의 POI를 제거하며; 그리고 나머지 POI들에 기반하여 물리적 오브젝트 상에 작업가능 표면을 묘사함으로써 결정된다.
[0371] 제50 양상에서, 양상48 또는 양상49의 방법에 있어서, 방법은 타겟 위치의 배향에 매칭하게 가상 오브젝트를 자동으로 배향시키는 단계를 포함한다.
[0372] 제51 양상에서, 양상47 내지 양상50 중 어느 한 양상의 방법에 있어서, 멀티모달 입력들은 다음의 입력 모드들: 머리 포즈, 시선, 사용자 입력 디바이스, 손 제스처, 또는 음성 중 적어도 2개를 포함한다.
[0373] 제52 양상에서, 양상51의 방법에 있어서, 제1 입력 채널은 음성이고, 그리고 제2 입력 채널은 머리 포즈 또는 손 제스처이다.
[0374] 제53 양상에서, 양상47 내지 양상52 중 어느 한 양상의 방법에 있어서, 동작, 서브젝트, 또는 파라미터 중 적어도 하나는 사용자의 환경 또는 위치 정보에 기반하여 추가로 식별된다.
[0375] 제54 양상에서, 양상53의 방법에 있어서, 서브젝트는 사용자의 임계 범위 내에 있는 오브젝트들의 그룹으로부터 선택된다.
[0376] 제55 양상에서, 양상47 내지 양상54 중 어느 한 양상의 방법에 있어서, 상호작용 이벤트는 가상 애플리케이션 내에 있고, 그리고 가상 애플리케이션은 제1 입력 채널 또는 제2 입력 채널 중 하나에 더욱 반응적이도록 프로그래밍된다.
[0377] 제56 양상에서, 양상47 내지 양상55 중 어느 한 양상의 방법에 있어서, 서브젝트는 서브젝트로서 세팅하기 위한 가상 오브젝트를 식별하기 위해서 래티스 트리 분석을 사용하여 제1 입력 및 제2 입력을 분석함으로써 식별된다.
[0378] 제57 양상에서, 양상47 내지 양상56 중 어느 한 양상의 방법에 있어서, 멀티모달 입력 커맨드 내의 서브젝트 또는 파라미터는: 후보 오브젝트 또는 파라미터에 대해, 제1 입력에 상관시키는 제1 신뢰도 스코어 및 제2 입력에 상관시키는 제2 신뢰도 스코어를 계산하고; 적어도 제1 신뢰도 스코어 및 제2 신뢰도 스코어로부터 후보 오브젝트 또는 파라미터에 대한 집계된 스코어를 계산하며; 그리고 집계된 스코어에 적어도 부분적으로 기반하여, 후보 오브젝트 또는 파라미터를 상호작용 이벤트를 위한 서브젝트 또는 파라미터로서 각각 세팅함으로써 결정된다.
[0379] 제58 양상에서, 양상47 내지 양상57 중 어느 한 양상의 방법에 있어서, 사용자의 시야 내에 있는 가상 오브젝트들의 신뢰도 스코어들에 기반하여, 후보 가상 오브젝트가 서브젝트로서 식별되고; 그리고 신뢰도 스코어는: 시야 내의 후보 가상 오브젝트 주변의 공간의 균등도; 사용자의 시야 밖에 있는 후보 가상 오브젝트의 제2 일부에 대하여 사용자의 시야 내에 있는 후보 가상 오브젝트의 제1 일부의 비례 영역; 또는 후보 가상 오브젝트와의 사용자의 상호작용들의 이력 분석 중 적어도 하나에 기반하여 계산된다.
[0380] 제59 양상에서, 양상47 내지 양상58 중 어느 한 양상의 방법에 있어서, 방법은 복수의 센서들 중 하나 이상의 센서들로부터 수신되는 데이터에 기반하여 상호작용 이벤트를 위한 개시 조건을 검출하는 단계를 더 포함하고, 그리고 개시 조건은 수신하는 단계, 분석하는 단계, 결정하는 단계, 및 실행하게 하는 단계를 트리거시킨다.
[0381] 제60 양상에서, 양상47 내지 양상59 중 어느 한 양상의 방법에 있어서, 제1 입력 채널로부터의 제1 입력은 1차 입력이고, 제2 입력 채널로부터의 제2 입력은 2차 입력이며, 그리고 방법은: 서브젝트, 파라미터, 및 동작을 식별하기 위해 제1 입력을 해석하는 단계, 및 멀티모달 입력 커맨드를 생성하기 위해서 제2 입력에 기반하여 서브젝트, 파라미터, 또는 동작 중 적어도 하나의 모호성들을 해결하는 단계를 포함한다.
[0382] 제61 양상에서, 양상47 내지 양상60 중 어느 한 양상의 방법에 있어서, 방법은 사용자 세팅 또는 사용자의 환경에 적어도 부분적으로 기반하여 입력 채널의 민감도를 자동으로 인에이블링하거나, 디스에이블링하거나, 또는 조정하는 단계를 더 포함한다.
[0383] 제62 양상에서, 양상47 내지 양상61 중 어느 한 양상의 방법에 있어서, 방법은 사용자 상호작용에 적어도 부분적으로 기반하여 사용자의 시야 밖에 있는 가상 오브젝트를 서브젝트로서 식별하는 단계; 및 사용자 상호작용을 위해 가상 오브젝트를 시야 내로 자동으로 이동시키는 단계를 더 포함한다.
[0384] 제63 양상에서, 양상47 내지 양상62 중 어느 한 양상의 방법에 있어서, 제1 입력은 지시적 또는 대용적 참조를 서브젝트로서 포함하고, 그리고 방법은 제2 입력에 기반하여 타겟 오브젝트를 서브젝트로서 선택하는 단계를 더 포함한다.
[0385] 제64 양상에서, 시스템은: 3D(three dimensional) 가상 콘텐츠를 사용자에게 제공하도록 구성된 머리-장착 디스플레이(HMD); 개개의 모달리티의 사용자 입력을 수신하도록 구성된 둘 이상의 사용자 입력 컴포넌트들 ― 사용자 입력 컴포넌트들 중 하나의 사용자 입력 컴포넌트는 사운드를 캡처하도록 구성된 오디오 감지 디바이스를 포함함 ―; 및 디스플레이 및 둘 이상의 사용자 입력 컴포넌트들에 통신가능하게 커플링된 하드웨어 프로세서를 포함한다. HMD는 웨어러블 시스템의 부분일 수 있다. 하드웨어 프로세서는: 오디오 감지 디바이스로부터, 사용자에 의해 발화된 하나 이상의 단어들의 발언을 인코딩하는 스피치 데이터를 수신하고; 수신된 스피치 데이터에 적어도 기반하여 사용자에 의해 발화된 하나 이상의 단어들에 대한 전환(transcription)을 획득하고; 획득된 변환을 나타내는 텍스츄얼 캐릭터들의 스트링을 사용자에게 제공하도록 디스플레이를 제어하고; 둘 이상의 사용자 입력 컴포넌트들 중 다른 사용자 입력 컴포넌트로부터, 다른 상이한 모달리티의 사용자 입력을 표시하는 사용자 입력 데이터를 수신하고; 다른 사용자 입력 컴포넌트로부터 수신된 사용자 입력 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하고; 그리고 다른 사용자 입력 컴포넌트로부터 수신된 사용자 입력 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다는 결정에 대한 응답으로: 둘 이상의 사용자 입력 컴포넌트들 중 임의의 사용자 입력 컴포넌트로부터 후속적으로 수신된 데이터가 특정 서브세트의 텍스츄얼 캐릭터들을 특정 방식으로 수정하기 위한 커맨드를 표현하는지 여부를 결정하도록 프로그래밍될 수 있다.
[0386] 제65 양상에서, 양상64의 시스템에 있어서, 다른 사용자 입력 컴포넌트는 사용자의 시선 방향을 표시하는 데이터를 획득하도록 구성된 시선 추적 디바이스를 포함한다.
[0387] 제66 양상에서, 양상65의 시스템에 있어서, 하드웨어 프로세서는: 시선 추적 디바이스로부터 수신된 데이터에 적어도 기반하여, 사용자가 임계 시간 기간보다 더 오랫 동안 특정 서브세트의 텍스츄얼 캐릭터들을 응시하였다고 결정하고; 그리고 사용자가 임계 시간 기간보다 더 오랫 동안 특정 서브세트의 텍스츄얼 캐릭터들을 응시하였다는 결정에 대한 응답으로, 다른 사용자 입력 컴포넌트로부터 수신된 사용자 입력 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록 추가로 프로그래밍된다.
[0388] 제67 양상에서, 양상65 또는 양상66의 시스템에 있어서, 하드웨어 프로세서는: 오디오 감지 디바이스로부터, 사용자에 의해 발화된 어구의 발언을 인코딩하는 추가적인 스피치 데이터를 수신하고; 시선 추적 디바이스로부터 수신된 데이터 및 오디오 감지 디바이스로부터 수신된 추가적인 스피치 데이터에 적어도 기반하여, 사용자가 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 중요 단어들을 발언했다고 결정하며; 그리고 사용자가 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 중요 단어들을 발언했다는 결정에 대한 응답으로, 시선 추적 디바이스로부터 수신된 데이터 및 오디오 감지 디바이스로부터 수신된 추가적인 스피치 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록 추가로 프로그래밍된다.
[0389] 제68 양상에서, 양상65 내지 양상67 중 어느 한 양상의 시스템에 있어서, 둘 이상의 사용자 입력 컴포넌트들은 사용자의 손 제스처들을 표시하는 데이터를 획득하도록 구성된 제스처 추적 디바이스를 더 포함하고, 그리고 하드웨어 프로세서는: 시선 추적 디바이스로부터, 사용자의 시선 방향을 표시하는 데이터를 수신하고; 제스처 추적 디바이스로부터, 사용자의 손 제스처들을 표시하는 데이터를 수신하고; 시선 추적 디바이스로부터 수신된 데이터 및 제스처 추적 디바이스로부터 수신된 데이터에 적어도 기반하여, 사용자가 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 손 제스처들을 행하였다고 결정하며; 그리고 사용자가 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 손 제스처들을 행하였다는 결정에 대한 응답으로, 시선 추적 디바이스 및 제스처 추적 디바이스로부터 수신된 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록 추가로 프로그래밍된다.
[0390] 제69 양상에서, 양상65 내지 양상68 중 어느 한 양상의 시스템에 있어서, 둘 이상의 사용자 입력 컴포넌트들은 둘 이상의 사용자 입력 컴포넌트들과의 사용자의 물리적 상호작용을 표시하는 데이터를 획득하도록 구성된 터치-감응 디바이스를 더 포함하고, 그리고 하드웨어 프로세서는: 시선 추적 디바이스로부터, 사용자의 시선 방향을 표시하는 데이터를 수신하고; 터치-감응 디바이스로부터, 사용자의 물리적 상호작용을 표시하는 데이터를 수신하고; 시선 추적 디바이스로부터 수신된 데이터 및 터치-감응 디바이스로부터 수신된 데이터에 적어도 기반하여, 사용자가 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 터치 입력들을 제공하였는지 여부를 결정하며; 그리고 사용자가 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 터치 입력들을 제공하였다는 결정에 대한 응답으로, 시선 추적 디바이스 및 터치-감응 디바이스로부터 수신된 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록 추가로 프로그래밍된다.
[0391] 제70 양상에서, 양상64 내지 양상69 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는 변환을 획득하기 위해서 ASR(automated speech recognition) 엔진을 구현하도록 프로그래밍된다.
[0392] 제71 양상에서, 양상70의 시스템에 있어서, ASR 엔진은 텍스트 스트링의 하나 이상의 단어들과 연관된 스코어를 생성하도록 구성되고, 스코어는 ASR 엔진이 하나 이상의 단어들을 정확하게 변환한 가능성을 표시한다.
[0393] 제72 양상에서, 양상71의 웨어러블 시스템에 있어서, 하드웨어 프로세서는, 정확한 변환의 가능성이 임계 레벨 미만인 경우, HMD로 하여금 하나 이상의 단어들을 강조하게 하도록 추가로 프로그래밍된다.
[0394] 제73 양상에서, 시스템은: 가상 콘텐츠를 사용자에게 제공하도록 구성된 디스플레이; 사용자에 의해 발화된 단어들을 캡처하고 그리고 스피치 데이터를 생성하도록 구성된 오디오 감지 디바이스; 사용자의 시선을 추적하도록 구성된 시선 추적 디바이스; 및 디스플레이, 오디오 감지 디바이스, 및 시선 추적 디바이스에 통신가능하게 커플링된 하드웨어 프로세서를 포함한다. 시스템은 웨어러블 시스템일 수 있고, 하드웨어 프로세서는: 오디오 감지 디바이스로부터의 스피치 데이터에 적어도 부분적으로 기반하여, 사용자에 의해 발화된 하나 이상의 단어들의 텍스트로의 변환을 획득하고; 텍스트를 사용자에게 제공하도록 디스플레이를 제어하고; 시선 추적 디바이스로부터 수신된 데이터에 적어도 기반하여, 사용자가 편집할 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하고; 그리고 제공된 텍스트의 일부에 대해 편집 동작을 수행하도록 프로그래밍될 수 있다.
[0395] 제74 양상에서, 양상73의 시스템에 있어서, 하드웨어 프로세서는, 사용자의 시선이 적어도 임계 시간 기간 동안 디스플레이에 의해서 제공되는 제공된 텍스트의 일부에 머물렀음을 표시하는 시선 추적 디바이스로부터의 데이터에 기반하여, 사용자가 편집할 정해진 단어를 선택하기 위한 커맨드를 제공하였다고 결정하도록 추가로 프로그래밍된다.
[0396] 제75 양상에서, 양상73 또는 양상74의 시스템에 있어서, 시스템은 사용자 입력 디바이스를 더 포함하고, 그리고 하드웨어 프로세서는, 사용자의 시선이 디스플레이에 의해서 제공되는 제공된 텍스트의 일부에 집중된 동안에 사용자 입력 디바이스가 사용자 입력을 수신하였음을 표시하는 시선 추적 디바이스로부터의 데이터 및 사용자 입력 디바이스로부터의 데이터에 기반하여, 사용자가 편집할 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하도록 추가로 프로그래밍된다.
[0397] 제76 양상에서, 양상73 내지 양상75 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는, 사용자의 시선이 디스플레이에 의해서 제공되는 제공된 텍스트의 일부에 집중된 동안에 오디오 감지 디바이스가 음성 커맨드를 수신하였음을 표시하는 시선 추적 디바이스로부터의 데이터 및 오디오 감지 디바이스로부터의 데이터에 기반하여, 사용자가 편집할 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하도록 프로그래밍된다.
[0398] 제77 양상에서, 양상73 내지 양상76 중 어느 한 양상의 시스템에 있어서, 시스템은 사용자의 적어도 한 손을 이미징하는 이미징 시스템을 더 포함하고, 그리고 하드웨어 프로세서는, 사용자의 시선이 디스플레이에 의해서 제공되는 제공된 텍스트의 일부에 집중된 동안에 사용자가 자신의 손으로 커맨드 제스처를 행하였음을 표시하는 시선 추적 디바이스로부터의 데이터 및 이미징 시스템으로부터의 데이터에 기반하여, 사용자가 편집할 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하도록 구성된다.
[0399] 제78 양상에서, 양상73 내지 양상77 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는: 편집할 정해진 단어를 선택하기 위한 커맨드에 대한 응답으로, 제공된 텍스트의 일부의 대안적 변환들을 제공하게 디스플레이를 제어하도록 추가로 프로그래밍된다.
[0400] 제79 양상에서, 양상73 내지 양상78 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는: 시선 추적 디바이스로부터 수신된 추가적인 데이터에 기반하여, 사용자가 제공된 텍스트의 일부를 선택된 대안적 변환으로 대체하기 위한 커맨드를 제공하였다고 결정하고; 제공된 텍스트의 일부를 선택된 대안적 변환으로 대체하기 위해 텍스트를 수정하며; 그리고 수정된 텍스트를 사용자에게 제공하게 디스플레이를 제어하도록 추가로 프로그래밍된다.
[0401] 제80 양상에서, 양상73 내지 양상79 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는 텍스트의 하나 이상의 단어들과 연관된 스코어를 생성하도록 추가로 프로그래밍되고, 스코어는 하나 이상의 단어들이 정확하게 변환되는 가능성을 표시한다.
[0402] 제81 양상에서, 양상80의 웨어러블 시스템에 있어서, 하드웨어 프로세서는, 정확한 변환의 가능성이 임계 레벨 미만인 경우, 디스플레이로 하여금 하나 이상의 단어들을 강조하게 하도록 추가로 프로그래밍된다.
[0403] 제82 양상에서, 방법은: 사용자로부터의 발화된 입력을 마이크로폰으로부터 수신하는 단계; 발화된 입력을 복수의 단어들을 포함하는 텍스트로 변환하는 단계; 웨어러블 디스플레이로 하여금 텍스트를 사용자에게 제공하게 하는 단계; 시선 추적 시스템으로부터의 데이터에 적어도 기반하여, 디스플레이되는 텍스트에서 제공된 텍스트의 일부의 선택을 수신하는 단계; 및 제공된 텍스트의 일부를 편집할 기회를 사용자에게 제공하는 단계를 포함한다. 방법은 멀티모달 입력들에 기반하여 가상 콘텐츠와 상호작용하기 위한 것일 수 있고, 방법은 하드웨어 프로세서의 제어 하에서 수행될 수 있다.
[0404] 제83양상에서, 양상82의 방법에 있어서, 제공된 텍스트의 일부의 선택을 수신하는 단계는: 사용자의 시선이 적어도 미리 결정된 임계 시간 기간 동안에 정해진 단어에 집중되었다고 결정하는 단계; 편집을 요청하는 사용자로부터의 발화되어진 미리 결정된 커맨드를 마이크로폰을 통해 수신하는 동안에 실질적으로 사용자의 시선이 제공된 텍스트의 일부에 집중된다고 결정하는 단계; 사용자 입력 디바이스의 작동을 위한 데이터를 수신하는 동안에 사용자의 시선이 제공된 텍스트의 일부에 집중된다고 결정하는 단계; 또는 사용자가 편집을 요청하는 미리 결정된 커맨드 제스처를 행하였음을 표시하는 제스처 추적 시스템으로부터의 데이터를 수신하는 동안에 사용자의 시선이 제공된 텍스트의 일부에 집중된다고 결정하는 단계 중 하나 이상을 포함한다.
[0405] 제84 양상에서, 양상82 또는 양상83의 방법에 있어서, 시선 추적 시스템으로부터의 적어도 하나의 데이터에 기반하여, 디스플레이되는 텍스트에서 추가적인 단어의 선택을 수신하는 단계; 및 제공된 텍스트의 일부 또는 텍스트의 추가적인 일부로 형성된 어구를 편집할 기회를 사용자에게 제공하는 단계를 더 포함한다.
[0406] 제85 양상에서, 양상82 내지 양상84 중 어느 한 양상의 방법에 있어서, 텍스트의 적어도 일부는, 일부가 발화된 입력으로부터 텍스트의 대응하는 일부로의 변환이 정확하다는 낮은 신뢰도와 연관된 경우, 디스플레이 상에서 강조된다.
[0407] 제86 양상에서, 방법은: 멀티모달 입력을 수신하는 단계 ― 멀티모달 입력은: 웨어러블 디바이스의 하드웨어 컴포넌트로부터의 제1 사용자 입력, 및 제2 사용자 입력을 포함하고, 제1 사용자 입력은 제1 사용자 입력 모드와 연관되고, 제2 사용자 입력은 제2 사용자 입력 모드와 연관됨 ―; 제1 사용자 입력 및 제2 사용자 입력에 기반하여 멀티모달 입력 커맨드를 식별하는 단계; 및 멀티모달 입력 커맨드를 실행하고, 사용자 멀티모달 입력의 결과로 하여금 사용자에게 디스플레이되게 하는 단계를 포함하고, 멀티모달 입력 커맨드는 적어도: 텍스트의 적어도 일부를 포함하는 서브젝트, 및 텍스트와의 상호작용을 포함하는 커맨드 동작을 포함한다. 방법은 하드웨어 프로세서의 제어 하에 수행될 수 있고, 멀티모달 입력들에 기반하여 가상 콘텐츠와 상호작용하기 위한 것일 수 있다.
[0408] 제87 양상에서, 양상86의 방법에 있어서, 제1 사용자 입력 모드는 웨어러블 디바이스의 오디오 센서로부터 수신되는 스피치 입력을 포함하고, 그리고 방법은 텍스트, 서브젝트, 또는 커맨드 동작 중 적어도 하나를 식별하기 위해 스피치 입력을 변환하는 단계를 더 포함한다.
[0409] 제88 양상에서, 양상86 또는 양상87의 방법에 있어서, 제2 사용자 입력 모드는: 사용자 입력 디바이스, 제스처, 또는 시선 중 적어도 하나로부터의 입력을 포함한다.
[0410] 제89 양상에서, 양상86 내지 양상88 중 어느 한 양상의 방법에 있어서, 텍스트와의 상호작용은: 텍스트를 선택하는 것, 편집하는 것, 또는 구성하는 것 중 적어도 하나를 포함한다.
[0411] 제90 양상에서, 양상86 내지 양상89 중 어느 한 양상의 방법에 있어서, 서브젝트는: 단어, 어구, 또는 문장 중 하나 이상을 포함한다.
[0412] 제91 양상에서, 양상86 내지 양상90 중 어느 한 양상의 방법에 있어서, 서브젝트는 문장을 포함하고, 커맨드 동작은 편집할 문장을 선택하는 것을 포함하며, 그리고 방법은: 문장을 텍스트 본문 밖에 있게 야기하는 제1 사용자 인터페이스 동작을 수행하는 단계; 1차 결과들로서 문장을 토큰들의 시퀀스로 디스플레이하는 단계 ― 1차 결과들은 사용자의 스피치로부터 변환된 문장을 포함함 ―; 2차 결과들을 추가로 디스플레이하는 단계 ― 2차 결과들은 시퀀스의 토큰들에 대한 대안적 단어들을 포함함 ―; 시퀀스를 단어마다 편집하기 위해 제3 입력 모드 및 제4 입력 모드를 포함하는 다른 멀티모달 입력을 수신하는 단계; 및 시퀀스의 편집이 완료되었다는 표시에 대한 응답으로, 편집된 시퀀스를 텍스트의 본문에 다시 삽입하는 단계를 더 포함한다.
추가적인 고려사항들
[0413] 본원에서 설명되고 그리고/또는 첨부 도면들에 묘사된 프로세스들, 방법들, 및 알고리즘들 각각은 하나 이상의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 주문형 회로, 및/또는 특정한 그리고 특별한 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고 그리고 그 코드 모듈들에 의해 완전히 또는 부분적으로 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들 또는 특수 목적 컴퓨터들, 특수 목적 회로 등으로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들)을 포함할 수 있다. 코드 모듈은 실행가능 프로그램으로 컴파일링되고 링크되거나, 동적 링크 라이브러리에 설치되거나, 또는 해석형 프로그래밍 언어로 쓰여질 수 있다. 일부 구현들에서, 특정 동작들 및 방법들은 정해진 기능에 특정적인 회로에 의해 수행될 수 있다.
[0414] 추가로, 본 개시내용의 기능성의 특정 구현들은 충분히 수학적으로, 계산상으로, 또는 기술적으로 복잡하여, (적합한 전문화된 실행가능한 명령들을 활용하는) 주문형 하드웨어 또는 하나 이상의 물리적 컴퓨팅 디바이스들은, 예컨대 수반되는 계산들의 볼륨 또는 복잡성으로 인해 또는 실질적으로 실시간으로 결과들을 제공하기 위해 기능성을 수행할 필요가 있을 수 있다. 예컨대, 비디오는 많은 프레임들(각각의 프레임은 수백만 개의 픽셀들을 가짐)을 포함할 수 있고, 그리고 상업적으로 합리적인 시간량에서 원하는 이미지 프로세싱 임무 또는 애플리케이션을 제공하기 위해, 특별하게 프로그래밍된 컴퓨터 하드웨어가 비디오 데이터를 프로세싱할 필요가 있다.
[0415] 코드 모듈들 또는 임의의 타입의 데이터는 임의의 타입의 비-일시적 컴퓨터-판독가능한 매체, 이를테면, 하드 드라이브들, 고체 상태 메모리, RAM(random access memory), ROM(read only memory), 광학 디스크, 휘발성 또는 비-휘발성 스토리지, 이들의 조합들 등을 포함하는 물리적 컴퓨터 스토리지 상에 저장될 수 있다. 방법들 및 모듈들(또는 데이터)은 또한, 생성된 데이터 신호들로서(예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 부분으로서) 무선-기반 및 유선/케이블-기반 매체들을 포함하는 다양한 컴퓨터-판독가능한 송신 매체들 상에서 송신될 수 있고, 그리고 (예컨대, 단일 또는 멀티플렉싱된 아날로그 신호의 부분으로서, 또는 다수의 이산 디지털 패킷들 또는 프레임들로서) 다양한 형태들을 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 임의의 타입의 비-일시적, 유형적인 컴퓨터 스토리지에 영구적으로 또는 다른 방식으로 저장될 수 있거나 또는 컴퓨터-판독가능한 송신 매체를 통해 통신될 수 있다.
[0416] 본원에서 설명되고 그리고/또는 첨부 도면들에 묘사된 흐름도들에서 임의의 프로세스들, 블록들, 상태들, 단계들, 또는 기능성들은 (예컨대, 논리적 또는 산술적) 특정한 기능들 또는 프로세스의 단계들을 구현하기 위한 하나 이상의 실행가능한 명령들을 포함하는 코드 모듈들, 세그먼트들 또는 코드의 일부들을 잠재적으로 표현하는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 본원에서 제공된 예시적인 예들로부터 조합되거나, 재배열되거나, 추가되거나, 삭제되거나, 수정되거나, 또는 다른 방식으로 변경될 수 있다. 일부 실시예들에서, 추가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본원에서 설명된 기능성들 중 일부 또는 모두를 수행할 수 있다. 본원에서 설명된 방법들 및 프로세스들은 또한, 임의의 특정 시퀀스로 제한되지 않고, 이에 관련된 블록들, 단계들 또는 상태들은 적합한 다른 시퀀스들로, 예컨대 직렬로, 병렬로, 또는 일부 다른 방식으로 수행될 수 있다. 임무들 또는 이벤트들은 개시된 예시적인 실시예들에 추가되거나 또는 이들로부터 제거될 수 있다. 게다가, 본원에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 예시 목적들을 위한 것이고 모든 구현들에서 그러한 분리를 요구하는 것으로 이해되지 않아야 한다. 설명된 프로그램 컴포넌트들, 방법들 및 시스템들이 일반적으로 단일 컴퓨터 제품으로 함께 통합되거나 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 많은 구현 변동들이 가능하다.
[0417] 프로세스들, 방법들, 및 시스템들은 네트워크(또는 분산형) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은 전사적 컴퓨터 네트워크들, 인트라넷들, LAN(local area network)들, WAN(wide area network)들, PAN(personal area network)들, 클라우드 컴퓨팅 네트워크들, 크라우드-소스드(crowd-sourced) 컴퓨팅 네트워크들, 인터넷, 및 월드 와이드 웹(World Wide Web)을 포함한다. 네트워크는 유선 또는 무선 네트워크 또는 임의의 다른 타입의 통신 네트워크일 수 있다.
[0418] 본 개시내용의 시스템들 및 방법들 각각은 몇몇의 혁신적인 양상들을 가지며, 이 양상들 중 어떤 단일의 양상도 본원에서 개시된 바람직한 속성들에 대해 단독으로 담당하거나 요구되지 않는다. 위에서 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나, 또는 다양한 방식들로 조합될 수 있다. 모든 가능한 조합들 및 서브조합들은 본 개시내용의 범위 내에 있도록 의도된다. 본 개시내용에 설명된 구현들에 대한 다양한 수정들은 당업자들에게 쉽게 자명할 수 있고, 그리고 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않으면서 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본원에 도시된 구현들로 제한되는 것으로 의도되는 것이 아니라, 본 개시내용, 본원에서 개시된 원리들 및 신규 특징들과 일치하는 가장 넓은 범위에 부합될 것이다.
[0419] 별개의 구현들의 맥락에서 본 명세서에 설명된 특정 특징들은 또한, 단일 구현으로 조합하여 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 별도로 다수의 구현들로 또는 임의의 적절한 서브조합으로 구현될 수 있다. 게다가, 비록 특징들이 특정 조합들로 작용하는 것으로서 위에서 설명될 수 있고, 심지어 그와 같이 초기에 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 제거될 수 있고, 그리고 청구된 조합은 서브조합 또는 서브조합의 변형으로 지향될 수 있다. 어떤 단일 특징 또는 특징들의 그룹도 각각의 모든 실시예에 필요하거나 필수적인 것은 아니다.
[0420] 구체적으로 다르게 언급되지 않거나, 사용된 맥락 내에서 다르게 이해되지 않는 한, 본원에서 사용된 조건어, 이를테면, 특히, "할 수 있다" 및 "예컨대" 등은 일반적으로, 특정 실시예들이 특정 특징들, 엘리먼트들 및/또는 단계들을 포함하지만, 다른 실시예들은 이들을 포함하지 않는다는 것을 전달하도록 의도된다. 따라서, 그러한 조건어는 일반적으로, 특징들, 엘리먼트들 및/또는 단계들이 어쨌든 하나 이상의 실시예들을 위해 요구된다는 것, 또는 하나 이상의 실시예들이, 저자 입력 또는 촉구를 사용하여 또는 이들을 사용하지 않고, 이들 특징들, 엘리먼트들 및/또는 단계들이 임의의 특정 실시예에 포함되는지 아니면 이 임의의 특정 실시예에서 수행되는지를 판단하기 위한 로직을 반드시 포함하는 것을 암시하도록 의도되지 않는다. "포함하는", "구비하는", "갖는" 등의 용어들은 동의어이고, 오픈-엔디드(open-ended) 방식으로 포괄적으로 사용되고, 그리고 추가적인 엘리먼트들, 특징들, 행위들, 동작들 등을 배제하지 않는다. 또한, "또는"이라는 용어는 포괄적인 의미(및 이의 배타적 의미가 아님)로 사용되어서, 예컨대 엘리먼트들의 리스트를 연결하기 위해 사용될 때, "또는"이라는 용어는 리스트 내 엘리먼트들 중 하나, 일부 또는 모두를 의미한다. 게다가, 본 출원 및 첨부된 청구항들에 사용된 단수 표현들은 다르게 특정되지 않는 한 "하나 이상" 또는 "적어도 하나"를 의미하는 것으로 해석될 것이다.
[0421] 본원에서 사용된 바와 같이, 아이템들의 리스트 중 "적어도 하나"를 지칭하는 어구는, 단일 멤버들을 포함하여, 이들 아이템들의 임의의 조합을 지칭한다. 예로서, "A, B 또는 C 중 적어도 하나"는: A, B, C, A 및 B, A 및 C, B 및 C, 및 A, B 및 C를 커버하도록 의도된다. 구체적으로 다르게 언급되지 않는 한, "X, Y 및 Z 중 적어도 하나"라는 어구와 같은 연결어는, 일반적으로 아이템, 용어 등이 X, Y 또는 Z 중 적어도 하나일 수 있다는 것을 전달하기 위해 사용되는 맥락으로 달리 이해된다. 따라서, 그러한 연결어는 일반적으로, 특정 실시예들이 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구하는 것을 암시하도록 의도되지 않는다.
[0422] 유사하게, 동작들이 특정 순서로 도면들에 묘사될 수 있지만, 원하는 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행될 필요가 없거나, 또는 모든 예시된 동작들이 수행될 필요가 없다는 것이 인식되어야 한다. 추가로, 도면들은 흐름도 형태로 하나 이상의 예시적인 프로세스들을 개략적으로 묘사할 수 있다. 그러나, 묘사되지 않은 다른 동작들은 개략적으로 예시된 예시적인 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 이상의 추가적인 동작들은 예시된 동작들 중 임의의 동작 전에, 후에, 동시적으로, 또는 사이에 수행될 수 있다. 추가적으로, 동작들은 다른 구현들에서 재배열되거나 재정렬될 수 있다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 게다가, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로 이해되지 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합될 수 있거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 추가적으로, 다른 구현들은 다음의 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에서 언급된 액션들은 상이한 순서로 수행될 수 있고 여전히 원하는 결과들을 달성할 수 있다.

Claims (65)

  1. 제1 입력 모드에서 제1 사용자 입력 데이터를 획득하도록 구성된 웨어러블 시스템의 제1 센서;
    제2 입력 모드에서 제2 사용자 입력 데이터를 획득하도록 구성된 상기 웨어러블 시스템의 제2 센서 ― 상기 제2 입력 모드는 상기 제1 입력 모드와 상이함 ―; 및
    상기 제1 및 제2 센서들과 통신하는 하드웨어 프로세서를 포함하고,
    상기 하드웨어 프로세서는:
    상기 제1 입력 모드에서의 상기 제1 사용자 입력 데이터 및 상기 제2 입력 모드에서의 상기 제2 사용자 입력 데이터를 포함하는 멀티모달(multimodal) 입력들을 수신하고,
    상기 제1 사용자 입력 데이터에 기반하여 상호작용들을 위한 제1 세트의 후보 오브젝트들을 식별하고,
    상기 제2 사용자 입력 데이터에 기반하여 상호작용들을 위한 제2 세트의 후보 오브젝트들을 식별하고,
    상기 제1 사용자 입력 데이터와 상기 제2 사용자 입력 데이터의 조합에 기반하여 상기 제1 세트의 후보 오브젝트들 및 상기 제2 세트의 후보 오브젝트들부터 타겟 가상 오브젝트를 결정하고,
    상기 제1 사용자 입력 데이터 또는 상기 제2 사용자 입력 데이터 중 적어도 하나에 기반하여 상기 타겟 가상 오브젝트에 대한 사용자 인터페이스 동작을 결정하며, 그리고
    상기 사용자 인터페이스 동작으로 하여금 상기 타겟 가상 오브젝트에 대해 수행되게 하는 멀티모달 입력 커맨드를 생성하도록 구성되는, 시스템.
  2. 제1 항에 있어서,
    상기 멀티모달 입력들은 다음의 입력 모드들: 머리 포즈, 시선, 사용자 입력 디바이스, 손 제스처, 또는 음성 중 적어도 2개를 포함하는, 시스템.
  3. 제1 항에 있어서,
    상기 사용자 인터페이스 동작은 상기 타겟 가상 오브젝트를 선택하는 것, 이동시키는 것, 또는 리사이징(resizing)하는 것 중 적어도 하나를 포함하는, 시스템.
  4. 제1 항에 있어서,
    상기 하드웨어 프로세서는 상기 사용자 인터페이스 동작에서 상기 타겟 가상 오브젝트에 대한 타겟 위치, 배향, 또는 이동 중 적어도 하나를 결정하도록 추가로 구성되는, 시스템.
  5. 제4 항에 있어서,
    상기 타겟 가상 오브젝트에 대한 타겟 위치를 결정하기 위해, 상기 하드웨어 프로세서는 상기 타겟 가상 오브젝트를 배치하기 위한 물리적 환경 내의 작업가능 표면을 식별하도록 프로그래밍되는, 시스템.
  6. 제5 항에 있어서,
    상기 작업가능 표면은:
    상기 물리적 환경 내에서 물리적 오브젝트에 대해 POI들(points of interest)에 대한 거리 함수를 계산하고,
    상기 POI들 중 평면 공차(planar tolerance)를 벗어난 하나 이상의 POI를 제거하며, 그리고
    나머지 POI들에 기반하여 상기 작업가능 표면을 묘사함으로써
    식별되는, 시스템.
  7. 제5 항에 있어서,
    상기 하드웨어 프로세서는 상기 타겟 위치의 배향에 매칭하게 상기 타겟 가상 오브젝트를 자동으로 배향시키도록 프로그래밍되는, 시스템.
  8. 제1 항에 있어서,
    상기 동작은 상기 제1 입력 모드에서 상기 제1 사용자 입력 데이터에 기반하여 결정되고, 그리고 서브젝트 또는 파라미터 중 적어도 하나가 상기 제1 입력 모드와 상기 제2 입력 모드의 조합에 기반하여 결정되는, 시스템.
  9. 제1 항에 있어서,
    상기 제1 입력 모드는 상기 웨어러블 시스템의 사용자의 위치 정보에 기반하여 간접적 입력 모드를 포함하는, 시스템.
  10. 제9 항에 있어서,
    상기 하드웨어 프로세서는, 가상 오브젝트가 상기 사용자의 임계 범위 내에 있다는 결정에 대한 응답으로, 상기 가상 오브젝트를 상기 제1 세트의 오브젝트들 및 상기 제2 세트의 오브젝트들로부터의 타겟 가상 오브젝트로서 식별하도록 프로그래밍되는, 시스템.
  11. 제1 항에 있어서,
    상기 사용자 인터페이스 동작은 가상 애플리케이션과 연관되고, 그리고 상기 가상 애플리케이션은 상기 제1 센서 또는 상기 제2 센서 중 하나에 더욱 반응적이도록 프로그래밍되는, 시스템.
  12. 제1 항에 있어서,
    상기 제1 세트의 후보 오브젝트들 및 상기 제2 세트의 후보 오브젝트들로부터 상기 타겟 가상 오브젝트를 결정하기 위해, 상기 하드웨어 프로세서는 상기 제1 사용자 입력 데이터 및 상기 제2 사용자 입력 데이터에 기반하여 상기 제1 세트의 후보 오브젝트들 및 상기 제2 세트의 후보 오브젝트들에 대해 트리(tree)-기반 분석을 수행하도록 프로그래밍되는, 시스템.
  13. 제12 항에 있어서,
    상기 제1 세트의 후보 오브젝트들 및 상기 제2 세트의 후보 오브젝트들부터 상기 타겟 가상 오브젝트를 결정하기 위해, 상기 하드웨어 프로세서는:
    상기 제1 사용자 입력 데이터에 기반하여 상기 제1 세트의 후보 오브젝트들 중 한 후보 오브젝트에 대한 제1 신뢰도 스코어를 계산하고,
    상기 제2 사용자 입력 데이터에 기반하여 상기 후보 오브젝트에 대한 제2 신뢰도 스코어를 계산하고,
    적어도 상기 제1 신뢰도 스코어 및 상기 제2 신뢰도 스코어로부터 상기 후보 오브젝트에 대한 집계된 스코어를 계산하며, 그리고
    상기 집계된 스코어가 임계 조건을 충족한다는 결정에 대한 응답으로 상기 후보 오브젝트를 상기 타겟 가상 오브젝트로서 세팅하도록
    프로그래밍되는, 시스템.
  14. 제1 항에 있어서,
    상기 타겟 가상 오브젝트를 결정하기 위해, 상기 하드웨어 프로세서는:
    시야 내의 가상 오브젝트 주변의 공간의 균등도,
    사용자의 시야 밖에 있는 가상 오브젝트의 제2 일부에 대하여 상기 사용자의 시야 내에 있는 상기 가상 오브젝트의 제1 일부의 비례 영역, 또는
    상기 가상 오브젝트와의 사용자의 상호작용들의 이력 분석
    중 적어도 하나를 계산함으로써 상기 가상 오브젝트에 대한 신뢰도 스코어를 계산하도록 프로그래밍되는, 시스템.
  15. 제1 항에 있어서,
    상기 하드웨어 프로세서는 상기 멀티모달 입력들에 기반하여 상기 타겟 가상 오브젝트 및 상기 사용자 인터페이스 동작을 결정하도록 상기 하드웨어 프로세서를 트리거시키는 상호작용 이벤트를 위한 개시 조건을 검출하도록 추가로 프로그래밍되는, 시스템.
  16. 제15 항에 있어서,
    상기 개시 조건은 트리거링 어구(phrase)를 포함하는, 시스템.
  17. 제1 항에 있어서,
    상기 제1 입력 모드는 1차 입력 모드이고, 상기 제2 입력 모드는 2차 입력 모드이며, 그리고
    상기 하드웨어 프로세서는 상기 제2 사용자 입력 데이터에 기반하여 상기 타겟 가상 오브젝트 및 상기 사용자 인터페이스 동작 중 적어도 하나의 모호성들을 해결하도록 프로그래밍되는, 시스템.
  18. 제1 항에 있어서,
    상기 제1 사용자 입력 데이터는 가상 오브젝트에 대한 지시적 또는 대용적 참조를 포함하고, 그리고
    상기 하드웨어 프로세서는 상기 제2 사용자 입력 데이터에 기반하여 상기 가상 오브젝트를 상기 타겟 가상 오브젝트로서 또는 서브젝트로서 식별하도록 프로그래밍되는, 시스템.
  19. 제1 항에 있어서,
    상기 하드웨어 프로세서는 사용자 세팅 또는 사용자의 환경에 적어도 부분적으로 기반하여 상기 제1 입력 모드, 상기 제2 입력 모드, 또는 둘 모두의 민감도를 자동으로 인에이블링하거나, 디스에이블링하거나, 또는 조정하도록 추가로 프로그래밍되는, 시스템.
  20. 제1 항에 있어서,
    상기 하드웨어 프로세서는 상기 멀티모달 입력들에 적어도 부분적으로 기반하여 사용자의 시야 밖에 있는 해당 타겟 가상 오브젝트를 식별하고, 그리고 사용자 상호작용을 위해 상기 가상 오브젝트를 시야 내로 자동으로 이동시키도록 프로그래밍되는, 시스템.
  21. 사용자 입력 데이터를 획득하도록 구성된 복수의 센서들과 통신하는 웨어러블 시스템의 하드웨어 프로세서의 제어 하에서:
    환경과의 사용자의 상호작용 이벤트에 대해 상기 복수의 센서들로부터 상기 사용자 입력 데이터를 수신하는 단계;
    상기 환경과 상호작용하기 위한 멀티모달 입력들을 식별하기 위해서 상기 사용자 입력 데이터를 분석하는 단계 ― 상기 멀티모달 입력들은 제1 입력 채널의 제1 입력 및 제2 입력 채널의 제2 입력을 포함함 ―;
    상기 제1 입력 및 상기 제2 입력에 기반하여, 서브젝트, 파라미터, 또는 상기 환경과의 상호작용 이벤트를 설명하기 위한 동작 중 하나 이상을 포함하는 멀티모달 입력 커맨드를 결정하는 단계 ― 상기 서브젝트, 상기 파라미터, 또는 상기 동작 중 적어도 하나는 상기 제1 입력과 상기 제2 입력의 조합에 기반하여 식별됨 ―; 및
    상기 웨어러블 디바이스로 하여금 상기 상호작용 이벤트를 위해 상기 멀티모달 입력 커맨드를 실행하게 하는 단계를 포함하는, 방법.
  22. 제21 항에 있어서,
    상기 동작은 상기 서브젝트를 선택하는 것, 이동시키는 것, 또는 리사이징하는 것 중 적어도 하나를 포함하거나,
    상기 서브젝트는 상기 사용자가 막 상호작용하려 하는 타겟 가상 오브젝트를 포함하거나, 또는
    상기 파라미터는 적어도 상기 서브젝트의 타겟 위치, 배향, 또는 이동을 포함하는, 방법.
  23. 제22 항에 있어서,
    상기 타겟 위치는:
    물리적 오브젝트에 대해 POI들(points of interest)에 대한 거리 함수를 계산하고,
    상기 POI들 중 정해진 평면 공차를 벗어난 하나 이상의 POI를 제거하며, 그리고
    나머지 POI들에 기반하여 상기 물리적 오브젝트 상에 작업가능 표면을 묘사함으로써
    결정되는, 방법.
  24. 제22 항에 있어서,
    상기 방법은 상기 타겟 위치의 배향에 매칭하게 가상 오브젝트를 자동으로 배향시키는 단계를 포함하는, 방법.
  25. 제21 항에 있어서,
    상기 멀티모달 입력들은 다음의 입력 모드들: 머리 포즈, 시선, 사용자 입력 디바이스, 손 제스처, 또는 음성 중 적어도 2개를 포함하는, 방법.
  26. 제25 항에 있어서,
    상기 제1 입력 채널은 음성이고, 그리고 상기 제2 입력 채널은 머리 포즈 또는 손 제스처인, 방법.
  27. 제21 항에 있어서,
    상기 동작, 상기 서브젝트, 또는 상기 파라미터 중 적어도 하나는 사용자의 환경 또는 위치 정보에 기반하여 추가로 식별되는, 방법.
  28. 제27 항에 있어서,
    상기 서브젝트는 상기 사용자의 임계 범위 내에 있는 오브젝트들의 그룹으로부터 선택되는, 방법.
  29. 제21 항에 있어서,
    상기 상호작용 이벤트는 가상 애플리케이션 내에 있고, 그리고 상기 가상 애플리케이션은 상기 제1 입력 채널 또는 상기 제2 입력 채널 중 하나에 더욱 반응적이도록 프로그래밍되는, 방법.
  30. 제21 항에 있어서,
    상기 서브젝트는 상기 서브젝트로서 세팅하기 위한 가상 오브젝트를 식별하기 위해서 래티스 트리 분석(lattice tree analysis)을 사용하여 상기 제1 입력 및 상기 제2 입력을 분석함으로써 식별되는, 방법.
  31. 제21 항에 있어서,
    상기 멀티모달 입력 커맨드 내의 상기 서브젝트 또는 상기 파라미터는:
    후보 오브젝트 또는 파라미터에 대해, 상기 제1 입력에 상관시키는 제1 신뢰도 스코어 및 상기 제2 입력에 상관시키는 제2 신뢰도 스코어를 계산하고,
    적어도 상기 제1 신뢰도 스코어 및 상기 제2 신뢰도 스코어로부터 상기 후보 오브젝트 또는 파라미터에 대한 집계된 스코어를 계산하며, 그리고
    상기 집계된 스코어에 적어도 부분적으로 기반하여, 상기 후보 오브젝트 또는 파라미터를 상기 상호작용 이벤트를 위한 상기 서브젝트 또는 파라미터로서 각각 세팅함으로써
    결정되는, 방법.
  32. 제21 항에 있어서,
    상기 사용자의 시야 내에 있는 가상 오브젝트들의 신뢰도 스코어들에 기반하여, 후보 가상 오브젝트가 상기 서브젝트로서 식별되고, 그리고
    상기 신뢰도 스코어는:
    상기 시야 내의 상기 후보 가상 오브젝트 주변의 공간의 균등도,
    상기 사용자의 시야 밖에 있는 상기 후보 가상 오브젝트의 제2 일부에 대하여 상기 사용자의 시야 내에 있는 상기 후보 가상 오브젝트의 제1 일부의 비례 영역, 또는
    상기 후보 가상 오브젝트와의 사용자의 상호작용들의 이력 분석
    중 적어도 하나에 기반하여 계산되는, 방법.
  33. 제21 항에 있어서,
    상기 방법은 상기 복수의 센서들 중 하나 이상의 센서들로부터 수신되는 데이터에 기반하여 상기 상호작용 이벤트를 위한 개시 조건을 검출하는 단계를 더 포함하고, 그리고
    상기 개시 조건은 상기 수신하는 단계, 상기 분석하는 단계, 상기 결정하는 단계, 및 상기 실행하게 하는 단계를 트리거시키는, 방법.
  34. 제21 항에 있어서,
    상기 제1 입력 채널로부터의 상기 제1 입력은 1차 입력이고, 상기 제2 입력 채널로부터의 상기 제2 입력은 2차 입력이며, 그리고
    상기 방법은:
    상기 서브젝트, 상기 파라미터, 및 상기 동작을 식별하기 위해 상기 제1 입력을 해석하는 단계; 및
    상기 멀티모달 입력 커맨드를 생성하기 위해서 상기 제2 입력에 기반하여 상기 서브젝트, 상기 파라미터, 또는 상기 동작 중 적어도 하나의 모호성들을 해결하는 단계를 포함하는, 방법.
  35. 제21 항에 있어서,
    상기 방법은 사용자 세팅 또는 상기 사용자의 환경에 적어도 부분적으로 기반하여 입력 채널의 민감도를 자동으로 인에이블링하거나, 디스에이블링하거나, 또는 조정하는 단계를 더 포함하는, 방법.
  36. 제21 항에 있어서,
    상기 방법은:
    사용자 상호작용에 적어도 부분적으로 기반하여 사용자의 시야 밖에 있는 가상 오브젝트를 상기 서브젝트로서 식별하는 단계; 및
    상기 사용자 상호작용을 위해 상기 가상 오브젝트를 상기 시야 내로 자동으로 이동시키는 단계를 더 포함하는, 방법.
  37. 제21 항에 있어서,
    상기 제1 입력은 지시적 또는 대용적 참조를 상기 서브젝트로서 포함하고, 그리고
    상기 방법은 상기 제2 입력에 기반하여 타겟 오브젝트를 상기 서브젝트로서 선택하는 단계를 더 포함하는, 방법.
  38. 3D(three dimensional) 가상 콘텐츠를 사용자에게 제공하도록 구성된 웨어러블 시스템의 머리-장착 디스플레이(HMD);
    개개의 모달리티(modality)의 사용자 입력을 수신하도록 구성된 둘 이상의 사용자 입력 컴포넌트들 ― 상기 사용자 입력 컴포넌트들 중 하나의 사용자 입력 컴포넌트는 사운드를 캡처하도록 구성된 오디오 감지 디바이스를 포함함 ―; 및
    상기 디스플레이 및 상기 둘 이상의 사용자 입력 컴포넌트들에 통신가능하게 커플링된 하드웨어 프로세서를 포함하고,
    상기 하드웨어 프로세서는:
    상기 오디오 감지 디바이스로부터, 상기 사용자에 의해 발화된 하나 이상의 단어들의 발언을 인코딩하는 스피치 데이터를 수신하고,
    상기 수신된 스피치 데이터에 적어도 기반하여 상기 사용자에 의해 발화된 상기 하나 이상의 단어들에 대한 변환(transcription)을 획득하고,
    상기 획득된 변환을 나타내는 텍스츄얼 캐릭터들의 스트링을 상기 사용자에게 제공하도록 상기 디스플레이를 제어하고,
    상기 둘 이상의 사용자 입력 컴포넌트들 중 다른 사용자 입력 컴포넌트로부터, 다른 상이한 모달리티의 사용자 입력을 표시하는 사용자 입력 데이터를 수신하고,
    상기 다른 사용자 입력 컴포넌트로부터 수신된 상기 사용자 입력 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하고, 그리고
    상기 다른 사용자 입력 컴포넌트로부터 수신된 상기 사용자 입력 데이터가 편집할 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다는 결정에 대한 응답으로:
    상기 둘 이상의 사용자 입력 컴포넌트들 중 임의의 사용자 입력 컴포넌트로부터 후속적으로 수신된 데이터가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 특정 방식으로 수정하기 위한 커맨드를 표현하는지 여부를 결정하도록
    프로그래밍되는, 시스템.
  39. 제38 항에 있어서,
    상기 다른 사용자 입력 컴포넌트는 사용자의 시선 방향을 표시하는 데이터를 획득하도록 구성된 시선 추적 디바이스를 포함하는, 시스템.
  40. 제39 항에 있어서,
    상기 하드웨어 프로세서는:
    상기 시선 추적 디바이스로부터 수신된 데이터에 적어도 기반하여, 상기 사용자가 임계 시간 기간보다 더 오랫 동안 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하였다고 결정하고, 그리고
    상기 사용자가 임계 시간 기간보다 더 오랫 동안 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하였다는 결정에 대한 응답으로, 상기 다른 사용자 입력 컴포넌트로부터 수신된 상기 사용자 입력 데이터가 편집할 상기 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록
    추가로 프로그래밍되는, 시스템.
  41. 제39 항에 있어서,
    상기 하드웨어 프로세서는:
    상기 오디오 감지 디바이스로부터, 상기 사용자에 의해 발화된 어구의 발언을 인코딩하는 추가적인 스피치 데이터를 수신하고,
    상기 시선 추적 디바이스로부터 수신된 데이터 및 상기 오디오 감지 디바이스로부터 수신된 상기 추가적인 스피치 데이터에 적어도 기반하여, 상기 사용자가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 중요 단어들을 발언했다고 결정하며, 그리고
    상기 사용자가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 중요 단어들을 발언했다는 결정에 대한 응답으로, 상기 시선 추적 디바이스로부터 수신된 데이터 및 상기 오디오 감지 디바이스로부터 수신된 추가적인 스피치 데이터가 편집할 상기 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록
    추가로 프로그래밍되는, 시스템.
  42. 제39 항에 있어서,
    상기 둘 이상의 사용자 입력 컴포넌트들은 사용자의 손 제스처들을 표시하는 데이터를 획득하도록 구성된 제스처 추적 디바이스를 더 포함하고, 그리고
    상기 하드웨어 프로세서는:
    상기 시선 추적 디바이스로부터, 상기 사용자의 시선 방향을 표시하는 데이터를 수신하고,
    상기 제스처 추적 디바이스로부터, 상기 사용자의 손 제스처들을 표시하는 데이터를 수신하고,
    상기 시선 추적 디바이스로부터 수신된 데이터 및 상기 제스처 추적 디바이스로부터 수신된 데이터에 적어도 기반하여, 상기 사용자가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 손 제스처들을 행하였다고 결정하며, 그리고
    상기 사용자가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 손 제스처들을 행하였다는 결정에 대한 응답으로, 상기 시선 추적 디바이스 및 상기 제스처 추적 디바이스로부터 수신된 데이터가 편집할 상기 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록
    추가로 프로그래밍되는, 시스템.
  43. 제39 항에 있어서,
    상기 둘 이상의 사용자 입력 컴포넌트들은 상기 둘 이상의 사용자 입력 컴포넌트들과의 사용자의 물리적 상호작용을 표시하는 데이터를 획득하도록 구성된 터치-감응 디바이스를 더 포함하고, 그리고
    상기 하드웨어 프로세서는:
    상기 시선 추적 디바이스로부터, 상기 사용자의 시선 방향을 표시하는 데이터를 수신하고,
    상기 터치-감응 디바이스로부터, 상기 사용자의 물리적 상호작용을 표시하는 데이터를 수신하고,
    상기 시선 추적 디바이스로부터 수신된 데이터 및 상기 터치-감응 디바이스로부터 수신된 데이터에 적어도 기반하여, 상기 사용자가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 터치 입력들을 제공하였는지 여부를 결정하며, 그리고
    상기 사용자가 상기 특정 서브세트의 텍스츄얼 캐릭터들을 응시하면서 하나 이상의 미리 결정된 터치 입력들을 제공하였다는 결정에 대한 응답으로, 상기 시선 추적 디바이스 및 상기 터치-감응 디바이스로부터 수신된 데이터가 편집할 상기 특정 서브세트의 텍스츄얼 캐릭터들을 선택하기 위한 커맨드를 표현한다고 결정하도록
    추가로 프로그래밍되는, 시스템.
  44. 제38 항에 있어서,
    상기 하드웨어 프로세서는 상기 변환을 획득하기 위해서 ASR(automated speech recognition) 엔진을 구현하도록 프로그래밍되는, 시스템.
  45. 제44 항에 있어서,
    상기 ASR 엔진은 텍스트 스트링의 하나 이상의 단어들과 연관된 스코어를 생성하도록 구성되고, 상기 스코어는 상기 ASR 엔진이 상기 하나 이상의 단어들을 정확하게 변환한 가능성을 표시하는, 시스템.
  46. 제45 항에 있어서,
    상기 하드웨어 프로세서는, 정확한 변환의 가능성이 임계 레벨 미만인 경우, 상기 HMD로 하여금 상기 하나 이상의 단어들을 강조하게 하도록 추가로 프로그래밍되는, 시스템.
  47. 가상 콘텐츠를 사용자에게 제공하도록 구성된 웨어러블 시스템의 디스플레이;
    상기 사용자에 의해 발화된 단어들을 캡처하고 그리고 스피치 데이터를 생성하도록 구성된 오디오 감지 디바이스;
    상기 사용자의 시선을 추적하도록 구성된 상기 웨어러블 시스템의 시선 추적 디바이스; 및
    상기 디스플레이, 상기 오디오 감지 디바이스, 및 상기 시선 추적 디바이스에 통신가능하게 커플링된 하드웨어 프로세서를 포함하고,
    상기 하드웨어 프로세서는:
    상기 오디오 감지 디바이스로부터의 상기 스피치 데이터에 적어도 부분적으로 기반하여, 상기 사용자에 의해 발화된 하나 이상의 단어들의 텍스트로의 변환을 획득하고,
    상기 텍스트를 상기 사용자에게 제공하도록 상기 디스플레이를 제어하고,
    상기 시선 추적 디바이스로부터 수신된 데이터에 적어도 기반하여, 상기 사용자가 편집할 상기 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하고, 그리고
    상기 제공된 텍스트의 일부에 대해 편집 동작을 수행하도록
    프로그래밍되는, 시스템.
  48. 제47 항에 있어서,
    상기 하드웨어 프로세서는, 사용자의 시선이 적어도 임계 시간 기간 동안 상기 디스플레이에 의해서 제공되는 상기 제공된 텍스트의 일부에 머물렀음을 표시하는 상기 시선 추적 디바이스로부터의 데이터에 기반하여, 상기 사용자가 편집할 정해진 단어를 선택하기 위한 커맨드를 제공하였다고 결정하도록 추가로 프로그래밍되는, 시스템.
  49. 제47 항에 있어서,
    상기 시스템은 사용자 입력 디바이스를 더 포함하고, 그리고
    상기 하드웨어 프로세서는, 사용자의 시선이 상기 디스플레이에 의해서 제공되는 상기 제공된 텍스트의 일부에 집중된 동안에 상기 사용자 입력 디바이스가 사용자 입력을 수신하였음을 표시하는 상기 시선 추적 디바이스로부터의 데이터 및 상기 사용자 입력 디바이스로부터의 데이터에 기반하여, 상기 사용자가 편집할 상기 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하도록 추가로 프로그래밍되는, 시스템.
  50. 제47 항에 있어서,
    상기 하드웨어 프로세서는, 사용자의 시선이 상기 디스플레이에 의해서 제공되는 상기 제공된 텍스트의 일부에 집중된 동안에 상기 오디오 감지 디바이스가 음성 커맨드를 수신하였음을 표시하는 상기 시선 추적 디바이스로부터의 데이터 및 상기 오디오 감지 디바이스로부터의 데이터에 기반하여, 상기 사용자가 편집할 상기 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하도록 프로그래밍되는, 시스템.
  51. 제47 항에 있어서,
    상기 시스템은 상기 사용자의 적어도 한 손을 이미징하는 이미징 시스템을 더 포함하고, 그리고
    상기 하드웨어 프로세서는, 사용자의 시선이 상기 디스플레이에 의해서 제공되는 상기 제공된 텍스트의 일부에 집중된 동안에 상기 사용자가 자신의 손으로 커맨드 제스처를 행하였음을 표시하는 상기 시선 추적 디바이스로부터의 데이터 및 상기 이미징 시스템으로부터의 데이터에 기반하여, 상기 사용자가 편집할 상기 제공된 텍스트의 일부를 선택하기 위한 커맨드를 제공하였다고 결정하도록 구성되는, 시스템.
  52. 제47 항에 있어서,
    상기 하드웨어 프로세서는, 편집할 정해진 단어를 선택하기 위한 커맨드에 대한 응답으로, 상기 제공된 텍스트의 일부의 대안적 변환들을 제공하게 상기 디스플레이를 제어하도록 추가로 프로그래밍되는, 시스템.
  53. 제47 항에 있어서,
    상기 하드웨어 프로세서는:
    상기 시선 추적 디바이스로부터 수신된 추가적인 데이터에 기반하여, 상기 사용자가 상기 제공된 텍스트의 일부를 선택된 대안적 변환으로 대체하기 위한 커맨드를 제공하였다고 결정하고,
    상기 제공된 텍스트의 일부를 상기 선택된 대안적 변환으로 대체하기 위해 상기 텍스트를 수정하며, 그리고
    상기 수정된 텍스트를 상기 사용자에게 제공하게 상기 디스플레이를 제어하도록 추가로 프로그래밍되는, 시스템.
  54. 제47 항에 있어서,
    상기 하드웨어 프로세서는 상기 텍스트의 하나 이상의 단어들과 연관된 스코어를 생성하도록 추가로 프로그래밍되고, 상기 스코어는 상기 하나 이상의 단어들이 정확하게 변환되는 가능성을 표시하는, 시스템.
  55. 제54 항에 있어서,
    상기 하드웨어 프로세서는, 정확한 변환의 가능성이 임계 레벨 미만인 경우, 상기 디스플레이로 하여금 상기 하나 이상의 단어들을 강조하게 하도록 추가로 프로그래밍되는, 시스템.
  56. 하드웨어 프로세서의 제어 하에서:
    사용자로부터의 발화된 입력을 마이크로폰으로부터 수신하는 단계;
    상기 발화된 입력을 복수의 단어들을 포함하는 텍스트로 전환하는 단계;
    웨어러블 디스플레이로 하여금 상기 텍스트를 상기 사용자에게 제공하게 하는 단계;
    시선 추적 시스템으로부터의 데이터에 적어도 기반하여, 디스플레이되는 텍스트에서 상기 제공된 텍스트의 일부의 선택을 수신하는 단계; 및
    상기 제공된 텍스트의 일부를 편집할 기회를 상기 사용자에게 제공하는 단계를 포함하는, 방법.
  57. 제56 항에 있어서,
    상기 제공된 텍스트의 일부의 선택을 수신하는 단계는:
    사용자의 시선이 적어도 미리 결정된 임계 시간 기간 동안에 정해진 단어에 집중되었다고 결정하는 단계,
    편집을 요청하는 상기 사용자로부터의 발화되어진 미리 결정된 커맨드를 상기 마이크로폰을 통해 수신하는 동안에 상기 사용자의 시선이 상기 제공된 텍스트의 일부에 집중된다고 결정하는 단계,
    사용자 입력 디바이스의 작동을 위한 데이터를 수신하는 동안에 상기 사용자의 시선이 상기 제공된 텍스트의 일부에 집중된다고 결정하는 단계, 또는
    실질적으로 상기 사용자가 편집을 요청하는 미리 결정된 커맨드 제스처를 행하였음을 표시하는 제스처 추적 시스템으로부터의 데이터를 수신하는 동안에 상기 사용자의 시선이 상기 제공된 텍스트의 일부에 집중된다고 결정하는 단계
    중 하나 이상을 포함하는, 방법.
  58. 제56 항에 있어서,
    상기 시선 추적 시스템으로부터의 적어도 하나의 데이터에 기반하여, 상기 디스플레이되는 텍스트에서 추가적인 단어의 선택을 수신하는 단계; 및
    상기 제공된 텍스트의 일부 또는 상기 텍스트의 추가적인 일부로 형성된 어구를 편집할 기회를 상기 사용자에게 제공하는 단계를 더 포함하는, 방법.
  59. 제56 항에 있어서,
    상기 텍스트의 적어도 일부는, 상기 일부가 상기 발화된 입력으로부터 상기 텍스트의 대응하는 일부로의 전환이 정확하다는 낮은 신뢰도와 연관된 경우, 상기 디스플레이 상에서 강조되는, 방법.
  60. 멀티모달 입력을 수신하는 단계 ― 상기 멀티모달 입력은 웨어러블 디바이스의 하드웨어 컴포넌트로부터의 제1 사용자 입력, 및 제2 사용자 입력을 포함하고, 상기 제1 사용자 입력은 제1 사용자 입력 모드와 연관되고, 상기 제2 사용자 입력은 제2 사용자 입력 모드와 연관됨 ―;
    상기 제1 사용자 입력 및 상기 제2 사용자 입력에 기반하여 멀티모달 입력 커맨드를 식별하는 단계; 및
    상기 멀티모달 입력 커맨드를 실행하고, 사용자 멀티모달 입력의 결과로 하여금 사용자에게 디스플레이되게 하는 단계를 포함하고,
    상기 멀티모달 입력 커맨드는 적어도:
    텍스트의 적어도 일부를 포함하는 서브젝트, 및
    상기 텍스트와의 상호작용을 포함하는 커맨드 동작을 포함하는, 방법.
  61. 제60 항에 있어서,
    상기 제1 사용자 입력 모드는 상기 웨어러블 디바이스의 오디오 센서로부터 수신되는 스피치 입력을 포함하고, 그리고
    상기 방법은 상기 텍스트, 상기 서브젝트, 또는 상기 커맨드 동작 중 적어도 하나를 식별하기 위해 상기 스피치 입력을 변환하는 단계를 더 포함하는, 방법.
  62. 제60 항에 있어서,
    상기 제2 사용자 입력 모드는 사용자 입력 디바이스, 제스처, 또는 시선 중 적어도 하나로부터의 입력을 포함하는, 방법.
  63. 제60 항에 있어서,
    상기 텍스트와의 상호작용은 상기 텍스트를 선택하는 것, 편집하는 것, 또는 구성하는 것 중 적어도 하나를 포함하는, 방법.
  64. 제60 항에 있어서,
    상기 서브젝트는 단어, 어구, 또는 문장 중 하나 이상을 포함하는, 방법.
  65. 제60 항에 있어서,
    상기 서브젝트는 문장을 포함하고, 상기 커맨드 동작은 편집할 문장을 선택하는 것을 포함하며, 그리고
    상기 방법은:
    상기 문장을 텍스트 본문 밖에 있게 야기하는 제1 사용자 인터페이스 동작을 수행하는 단계;
    1차 결과들로서 상기 문장을 토큰들의 시퀀스로 디스플레이하는 단계 ― 상기 1차 결과들은 사용자의 스피치로부터 변환된 문장을 포함함 ―;
    2차 결과들을 추가로 디스플레이하는 단계 ― 상기 2차 결과들은 상기 시퀀스의 토큰들에 대한 대안적 단어들을 포함함 ―;
    상기 시퀀스를 단어마다 편집하기 위해 제3 입력 모드 및 제4 입력 모드를 포함하는 다른 멀티모달 입력을 수신하는 단계; 및
    상기 시퀀스의 편집이 완료되었다는 표시에 대한 응답으로, 편집된 시퀀스를 상기 텍스트의 본문에 다시 삽입하는 단계를 더 포함하는, 방법.
KR1020197033626A 2017-04-19 2018-04-17 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집 KR102652922B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247010121A KR20240046613A (ko) 2017-04-19 2018-04-17 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762487364P 2017-04-19 2017-04-19
US62/487,364 2017-04-19
US201762609647P 2017-12-22 2017-12-22
US62/609,647 2017-12-22
PCT/US2018/028002 WO2018195099A1 (en) 2017-04-19 2018-04-17 Multimodal task execution and text editing for a wearable system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247010121A Division KR20240046613A (ko) 2017-04-19 2018-04-17 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집

Publications (2)

Publication Number Publication Date
KR20190141696A true KR20190141696A (ko) 2019-12-24
KR102652922B1 KR102652922B1 (ko) 2024-03-29

Family

ID=63854461

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197033626A KR102652922B1 (ko) 2017-04-19 2018-04-17 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집
KR1020247010121A KR20240046613A (ko) 2017-04-19 2018-04-17 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020247010121A KR20240046613A (ko) 2017-04-19 2018-04-17 웨어러블 시스템을 위한 멀티모달 임무 실행 및 텍스트 편집

Country Status (9)

Country Link
US (3) US10768693B2 (ko)
EP (2) EP4220258A1 (ko)
JP (3) JP7149289B2 (ko)
KR (2) KR102652922B1 (ko)
CN (2) CN113608617A (ko)
AU (1) AU2018256365A1 (ko)
CA (1) CA3059234A1 (ko)
IL (1) IL270002B2 (ko)
WO (1) WO2018195099A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102258531B1 (ko) * 2020-11-23 2021-06-01 (주)펜타유니버스 복합 입력 인지 시스템용 통합 인지 분석부
WO2022124659A1 (ko) * 2020-12-07 2022-06-16 삼성전자 주식회사 사용자 입력을 처리하는 전자 장치 및 방법
WO2022158854A1 (ko) * 2021-01-21 2022-07-28 삼성전자 주식회사 외부 웨어러블 전자 장치로부터 정보를 수신하는 웨어러블 전자 장치 및 그 작동 방법
US11928263B2 (en) 2020-12-07 2024-03-12 Samsung Electronics Co., Ltd. Electronic device for processing user input and method thereof

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10768704B2 (en) 2015-03-17 2020-09-08 Whirlwind VR, Inc. System and method for modulating a peripheral device based on an unscripted feed using computer vision
WO2017068926A1 (ja) * 2015-10-21 2017-04-27 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム
US11416714B2 (en) 2017-03-24 2022-08-16 Revealit Corporation Method, system, and apparatus for identifying and revealing selected objects from video
CA3059234A1 (en) 2017-04-19 2018-10-25 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
US10782793B2 (en) * 2017-08-10 2020-09-22 Google Llc Context-sensitive hand interaction
US10373332B2 (en) * 2017-12-08 2019-08-06 Nvidia Corporation Systems and methods for dynamic facial analysis using a recurrent neural network
EP3729421A1 (en) * 2017-12-22 2020-10-28 Telefonaktiebolaget LM Ericsson (publ) Gaze-initiated voice control
CN107977586B (zh) * 2017-12-22 2021-04-13 联想(北京)有限公司 显示内容处理方法、第一电子设备以及第二电子设备
US11314326B2 (en) * 2018-01-04 2022-04-26 Sony Corporation Information processing device, information processing method, and program for determining a user gaze
WO2019143117A1 (en) * 2018-01-18 2019-07-25 Samsung Electronics Co., Ltd. Method and apparatus for adjusting augmented reality content
US10789783B2 (en) * 2018-02-06 2020-09-29 Walmart Apollo, Llc Customized augmented reality item filtering system
JP7222392B2 (ja) * 2018-03-20 2023-02-15 ソニーグループ株式会社 情報処理装置、情報処理方法および記録媒体
US10540015B2 (en) * 2018-03-26 2020-01-21 Chian Chiu Li Presenting location related information and implementing a task based on gaze and voice detection
US11157075B2 (en) * 2018-05-01 2021-10-26 Dell Products, L.P. Gaze-activated voice services for interactive workspaces
WO2019212569A1 (en) * 2018-05-04 2019-11-07 Google Llc Adapting automated assistant based on detected mouth movement and/or gaze
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
KR102661487B1 (ko) 2018-05-04 2024-04-26 구글 엘엘씨 검출된 제스처 및 시선에 기초하여 자동화된 어시스턴트 기능 호출
US20190339837A1 (en) * 2018-05-04 2019-11-07 Oculus Vr, Llc Copy and Paste in a Virtual Reality Environment
US10504290B2 (en) * 2018-05-04 2019-12-10 Facebook Technologies, Llc User interface security in a virtual reality environment
JP7263505B2 (ja) 2018-05-04 2023-04-24 グーグル エルエルシー ホットワードを用いない自動アシスタント機能の適応
US11169668B2 (en) * 2018-05-16 2021-11-09 Google Llc Selecting an input mode for a virtual assistant
EP3797345A4 (en) 2018-05-22 2022-03-09 Magic Leap, Inc. TRANSMODAL INPUT FUSION FOR A BODY WEARABLE SYSTEM
US11733824B2 (en) * 2018-06-22 2023-08-22 Apple Inc. User interaction interpreter
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
US10937243B2 (en) * 2018-08-29 2021-03-02 Dell Products, L.P. Real-world object interface for virtual, augmented, and mixed reality (xR) applications
US11348316B2 (en) * 2018-09-11 2022-05-31 Apple Inc. Location-based virtual element modality in three-dimensional content
JP2022512600A (ja) 2018-10-05 2022-02-07 マジック リープ, インコーポレイテッド 任意の場所における場所特有の仮想コンテンツのレンダリング
US11288733B2 (en) * 2018-11-14 2022-03-29 Mastercard International Incorporated Interactive 3D image projection systems and methods
EP3887925A4 (en) * 2018-11-30 2022-08-17 Magic Leap, Inc. MULTIMODAL HANDHELD LOCATION AND ORIENTATION TO AVATAR MOVEMENT
US11513768B2 (en) * 2018-12-03 2022-11-29 Sony Group Corporation Information processing device and information processing method
US11159510B2 (en) 2018-12-05 2021-10-26 Bank Of America Corporation Utilizing federated user identifiers to enable secure information sharing
US11120109B2 (en) 2018-12-05 2021-09-14 Bank Of America Corporation Processing authentication requests to secured information systems based on machine-learned event profiles
US11048793B2 (en) 2018-12-05 2021-06-29 Bank Of America Corporation Dynamically generating activity prompts to build and refine machine learning authentication models
US11036838B2 (en) 2018-12-05 2021-06-15 Bank Of America Corporation Processing authentication requests to secured information systems using machine-learned user-account behavior profiles
US11176230B2 (en) 2018-12-05 2021-11-16 Bank Of America Corporation Processing authentication requests to secured information systems based on user behavior profiles
US11113370B2 (en) 2018-12-05 2021-09-07 Bank Of America Corporation Processing authentication requests to secured information systems using machine-learned user-account behavior profiles
US10930275B2 (en) * 2018-12-18 2021-02-23 Microsoft Technology Licensing, Llc Natural language input disambiguation for spatialized regions
KR20200076325A (ko) * 2018-12-19 2020-06-29 삼성전자주식회사 외부 객체를 컨트롤러로 이용하기 위한 웨어러블 장치 및 방법
US10789952B2 (en) * 2018-12-20 2020-09-29 Microsoft Technology Licensing, Llc Voice command execution from auxiliary input
US11024074B2 (en) * 2018-12-27 2021-06-01 Facebook Technologies, Llc Virtual spaces, mixed reality spaces, and combined mixed reality spaces for improved interaction and collaboration
KR20200092464A (ko) * 2019-01-07 2020-08-04 삼성전자주식회사 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법
WO2020184317A1 (ja) * 2019-03-13 2020-09-17 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
CN113597594A (zh) * 2019-03-28 2021-11-02 索尼集团公司 信息处理装置、信息处理方法和程序
WO2020218634A1 (ko) * 2019-04-23 2020-10-29 엘지전자 주식회사 응답 기기 결정 방법 및 장치
US11321436B2 (en) 2019-05-01 2022-05-03 Samsung Electronics Co., Ltd. Human ID for mobile authentication
WO2020226832A1 (en) 2019-05-06 2020-11-12 Apple Inc. Device, method, and computer-readable medium for presenting computer-generated reality files
CN113544634A (zh) 2019-05-06 2021-10-22 苹果公司 用于构成cgr文件的设备、方法和图形用户界面
US10969863B2 (en) * 2019-05-08 2021-04-06 International Business Machines Corporation Configurable sensor array for a multi-target environment
US11297366B2 (en) * 2019-05-22 2022-04-05 Google Llc Methods, systems, and media for object grouping and manipulation in immersive environments
CN110334330A (zh) * 2019-05-27 2019-10-15 努比亚技术有限公司 一种信息编辑方法、可穿戴设备及计算机可读存储介质
US10937192B2 (en) * 2019-05-29 2021-03-02 Dell Products, L.P. Resolving incorrect distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures
JP7336266B2 (ja) * 2019-06-04 2023-08-31 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、記憶媒体
JP2021005157A (ja) * 2019-06-25 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置および画像処理方法
US11422638B2 (en) 2019-07-08 2022-08-23 Apple Inc. Input devices that use self-mixing interferometry to determine movement within an enclosure
US11017231B2 (en) 2019-07-10 2021-05-25 Microsoft Technology Licensing, Llc Semantically tagged virtual and physical objects
JP7451110B2 (ja) * 2019-08-27 2024-03-18 ソニーグループ株式会社 測距システム及び電子機器
KR20220054619A (ko) * 2019-09-03 2022-05-03 라이트 필드 랩 인코포레이티드 모바일 장치를 위한 라이트필드 디스플레이
US10943388B1 (en) * 2019-09-06 2021-03-09 Zspace, Inc. Intelligent stylus beam and assisted probabilistic input to element mapping in 2D and 3D graphical user interfaces
US11848000B2 (en) * 2019-09-06 2023-12-19 Microsoft Technology Licensing, Llc Transcription revision interface for speech recognition system
US11409365B2 (en) * 2019-09-06 2022-08-09 Apple Inc. Self-mixing interferometry-based gesture input system including a wearable or handheld device
US11170576B2 (en) 2019-09-20 2021-11-09 Facebook Technologies, Llc Progressive display of virtual objects
US10991163B2 (en) 2019-09-20 2021-04-27 Facebook Technologies, Llc Projection casting in virtual environments
US11176745B2 (en) 2019-09-20 2021-11-16 Facebook Technologies, Llc Projection casting in virtual environments
US11189099B2 (en) 2019-09-20 2021-11-30 Facebook Technologies, Llc Global and local mode virtual object interactions
US11086406B1 (en) 2019-09-20 2021-08-10 Facebook Technologies, Llc Three-state gesture virtual controls
US11580869B2 (en) * 2019-09-23 2023-02-14 Revealit Corporation Computer-implemented interfaces for identifying and revealing selected objects from video
US11419546B2 (en) 2019-09-24 2022-08-23 Apple Inc. Wearable self-mixing interferometry device used to sense physiological conditions
KR20210136116A (ko) * 2019-09-27 2021-11-16 애플 인크. 가상 객체들 제어
CN114616534A (zh) 2019-10-15 2022-06-10 奇跃公司 具有无线指纹的交叉现实系统
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US11086476B2 (en) * 2019-10-23 2021-08-10 Facebook Technologies, Llc 3D interactions with web content
US11289086B2 (en) * 2019-11-01 2022-03-29 Microsoft Technology Licensing, Llc Selective response rendering for virtual assistants
US11493989B2 (en) * 2019-11-08 2022-11-08 Magic Leap, Inc. Modes of user interaction
US11175730B2 (en) 2019-12-06 2021-11-16 Facebook Technologies, Llc Posture-based virtual space configurations
EP4073763A4 (en) 2019-12-09 2023-12-27 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH SIMPLIFIED PROGRAMMING OF VIRTUAL CONTENT
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
US11093046B2 (en) 2019-12-16 2021-08-17 Microsoft Technology Licensing, Llc Sub-display designation for remote content source device
US11487423B2 (en) 2019-12-16 2022-11-01 Microsoft Technology Licensing, Llc Sub-display input areas and hidden inputs
US11042222B1 (en) 2019-12-16 2021-06-22 Microsoft Technology Licensing, Llc Sub-display designation and sharing
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US11475639B2 (en) 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
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
EP3851939A1 (en) * 2020-01-14 2021-07-21 Apple Inc. Positioning a user-controlled spatial selector based on extremity tracking information and eye tracking information
WO2021150623A1 (en) * 2020-01-24 2021-07-29 Magic Leap, Inc. Content movement and interaction using a single controller
US11562525B2 (en) 2020-02-13 2023-01-24 Magic Leap, Inc. Cross reality system with map processing using multi-resolution frame descriptors
WO2021163289A1 (en) * 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system for large scale environments
WO2021163295A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with prioritization of geolocation information for localization
US11410395B2 (en) 2020-02-13 2022-08-09 Magic Leap, Inc. Cross reality system with accurate shared maps
JP2021157277A (ja) * 2020-03-25 2021-10-07 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム
US11789688B1 (en) 2020-03-26 2023-10-17 Apple Inc. Content presentation based on environmental data
CN111526083B (zh) * 2020-04-15 2022-04-15 上海幂方电子科技有限公司 通过头部动作即时通信的方法、装置、系统及存储介质
CN111459288B (zh) * 2020-04-23 2021-08-03 捷开通讯(深圳)有限公司 一种运用头控实现语音输入的方法和装置
WO2021230048A1 (ja) * 2020-05-15 2021-11-18 株式会社Nttドコモ 情報処理システム
CN111831112A (zh) * 2020-05-26 2020-10-27 北京理工大学 一种基于眼动以及手指微手势的文本输入系统及方法
CN111782031A (zh) * 2020-05-26 2020-10-16 北京理工大学 一种基于头动以及手指微手势的文本输入系统及方法
US11257280B1 (en) 2020-05-28 2022-02-22 Facebook Technologies, Llc Element-based switching of ray casting rules
US11340707B2 (en) * 2020-05-29 2022-05-24 Microsoft Technology Licensing, Llc Hand gesture-based emojis
WO2021245886A1 (ja) * 2020-06-04 2021-12-09 三菱電機株式会社 建物の交通管理システム
US11256336B2 (en) 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes
US20210407203A1 (en) * 2020-06-29 2021-12-30 Ilteris Canberk Augmented reality experiences using speech and text captions
GB202009874D0 (en) * 2020-06-29 2020-08-12 Microsoft Technology Licensing Llc Visual interface for a computer system
CN111782053B (zh) * 2020-08-10 2023-04-28 Oppo广东移动通信有限公司 模型编辑方法、装置、设备及存储介质
WO2022046367A1 (en) * 2020-08-25 2022-03-03 Sterling Labs Llc Displaying an environment from a selected point-of-view
US11227445B1 (en) 2020-08-31 2022-01-18 Facebook Technologies, Llc Artificial reality augments and surfaces
US11176755B1 (en) 2020-08-31 2021-11-16 Facebook Technologies, Llc Artificial reality augments and surfaces
US11178376B1 (en) 2020-09-04 2021-11-16 Facebook Technologies, Llc Metering for display modes in artificial reality
US11302085B2 (en) 2020-09-15 2022-04-12 Facebook Technologies, Llc Artificial reality collaborative working environments
CN117555417A (zh) * 2020-09-25 2024-02-13 苹果公司 用于调节和/或控制与用户界面相关联的沉浸度的方法
CN112379799B (zh) * 2020-10-16 2022-04-01 杭州易现先进科技有限公司 在三维渲染中输入框的控制方法、装置和电子装置
US11113893B1 (en) 2020-11-17 2021-09-07 Facebook Technologies, Llc Artificial reality environment with glints displayed by an extra reality device
US11854230B2 (en) 2020-12-01 2023-12-26 Meta Platforms Technologies, Llc Physical keyboard tracking
US20220180888A1 (en) * 2020-12-08 2022-06-09 International Business Machines Corporation Directional voice command identification
US11461973B2 (en) 2020-12-22 2022-10-04 Meta Platforms Technologies, Llc Virtual reality locomotion via hand gesture
US11409405B1 (en) 2020-12-22 2022-08-09 Facebook Technologies, Llc Augment orchestration in an artificial reality environment
US11610363B2 (en) * 2020-12-31 2023-03-21 Oberon Technologies, Inc. Systems and methods for virtual reality environments
US11294475B1 (en) 2021-02-08 2022-04-05 Facebook Technologies, Llc Artificial reality multi-modal input switching model
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
WO2022212916A1 (en) * 2021-04-01 2022-10-06 Giant.Ai, Inc. Hybrid computing architectures with specialized processors to encode/decode latent representations for controlling dynamic mechanical systems
WO2022215347A1 (ja) * 2021-04-08 2022-10-13 株式会社Nttドコモ コンテンツ表示制御システム
CN117321547A (zh) * 2021-05-19 2023-12-29 斯纳普公司 来自电子眼睛佩戴设备的情境视觉和语音搜索
CN113286163B (zh) * 2021-05-21 2022-07-08 成都威爱新经济技术研究院有限公司 一种用于虚拟拍摄直播的时间戳误差标定方法及系统
US11762952B2 (en) 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle
US11295503B1 (en) 2021-06-28 2022-04-05 Facebook Technologies, Llc Interactive avatars in artificial reality
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
CN113627312A (zh) * 2021-08-04 2021-11-09 东南大学 一种通过眼动追踪来协助瘫痪失语者语言输出的系统
US20230055819A1 (en) * 2021-08-18 2023-02-23 Target Brands, Inc. Virtual reality system for retail store design
US20230267933A1 (en) * 2021-09-27 2023-08-24 International Business Machines Corporation Selective inclusion of speech content in documents
US11810242B2 (en) * 2021-10-12 2023-11-07 Htc Corporation Method for stabilizing raycast and electronic device using the same
US11798247B2 (en) 2021-10-27 2023-10-24 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US11748944B2 (en) 2021-10-27 2023-09-05 Meta Platforms Technologies, Llc Virtual object structures and interrelationships
US11726587B2 (en) * 2021-11-03 2023-08-15 Htc Corporation Virtual image display system and pointing direction control method of control device thereof
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
US20230266817A1 (en) * 2022-02-23 2023-08-24 International Business Machines Corporation Gaze based text manipulation
US11579747B1 (en) 2022-03-14 2023-02-14 Snap Inc. 3D user interface depth forgiveness
US20230315193A1 (en) * 2022-03-31 2023-10-05 Lenovo (Singapore) Pte. Ltd. Direction of user input to virtual objects based on command metadata
US20230326144A1 (en) * 2022-04-08 2023-10-12 Meta Platforms Technologies, Llc Triggering Field Transitions for Artificial Reality Objects
US11610376B1 (en) 2022-04-08 2023-03-21 Meta Platforms Technologies, Llc Wrist-stabilized projection casting
US20230367611A1 (en) * 2022-05-10 2023-11-16 Meta Platforms Technologies, Llc World-Controlled and Application-Controlled Augments in an Artificial-Reality Environment
US20240036578A1 (en) * 2022-07-26 2024-02-01 Zebra Technologies Corporation Generation of Navigational Paths Using Recursive Partitioning of Unoccupied Space
CN115237255B (zh) * 2022-07-29 2023-10-31 天津大学 一种基于眼动和语音的自然图像共指目标定位系统及方法
CN115344121A (zh) * 2022-08-10 2022-11-15 北京字跳网络技术有限公司 用于处理手势事件的方法、装置、设备和存储介质
US11947862B1 (en) 2022-12-30 2024-04-02 Meta Platforms Technologies, Llc Streaming native application content to artificial reality devices
US11880936B1 (en) * 2023-01-26 2024-01-23 Intuit Inc. Generating and displaying text in a virtual reality environment
CN116301388B (zh) * 2023-05-11 2023-08-01 环球数科集团有限公司 一种智能多模态组合应用的人机交互场景系统
CN117348737A (zh) * 2023-12-06 2024-01-05 之江实验室 一种基于多通道交互的数据处理系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04372012A (ja) * 1991-06-20 1992-12-25 Fuji Xerox Co Ltd 入力装置
JPH11288342A (ja) * 1998-02-09 1999-10-19 Toshiba Corp マルチモーダル入出力装置のインタフェース装置及びその方法
WO2016203792A1 (ja) * 2015-06-15 2016-12-22 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (74)

* 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
JP3461980B2 (ja) 1995-08-25 2003-10-27 株式会社東芝 高速描画方法および装置
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
US7257575B1 (en) * 2002-10-24 2007-08-14 At&T Corp. Systems and methods for generating markup-language based expressions from multi-modal and unimodal inputs
USD514570S1 (en) 2004-06-24 2006-02-07 Microsoft Corporation Region of a fingerprint scanning device with an illuminated ring
US7561717B2 (en) 2004-07-09 2009-07-14 United Parcel Service Of America, Inc. System and method for displaying item information
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
JP5145569B2 (ja) 2007-12-19 2013-02-20 株式会社国際電気通信基礎技術研究所 対象物特定方法および装置
KR101477530B1 (ko) * 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US8645136B2 (en) * 2010-07-20 2014-02-04 Intellisist, Inc. System and method for efficiently reducing transcription error using hybrid voice transcription
US9292973B2 (en) * 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
JP5472056B2 (ja) 2010-11-19 2014-04-16 コニカミノルタ株式会社 表示システム、表示処理装置、表示方法、および表示プログラム
AU2011348122A1 (en) 2010-12-24 2013-07-11 Magic Leap Inc. An ergonomic head mounted display device and optical system
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
EP2691935A1 (en) * 2011-03-29 2014-02-05 Qualcomm Incorporated System for the rendering of shared digital interfaces relative to each user's point of view
RU2621644C2 (ru) 2011-05-06 2017-06-06 Мэджик Лип, Инк. Мир массового одновременного удаленного цифрового присутствия
USD658094S1 (en) 2011-06-18 2012-04-24 Dunn Scott E Rounded square display device for a cord
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
JP5762892B2 (ja) 2011-09-06 2015-08-12 ビッグローブ株式会社 情報表示システム、情報表示方法、及び情報表示用プログラム
US10795448B2 (en) 2011-09-29 2020-10-06 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
WO2013085639A1 (en) 2011-10-28 2013-06-13 Magic Leap, Inc. System and method for augmented and virtual reality
CA2858208C (en) 2011-11-23 2019-01-15 Magic Leap, Inc. Three dimensional virtual and augmented reality display system
KR102028732B1 (ko) 2012-04-05 2019-10-04 매직 립, 인코포레이티드 능동 포비에이션 능력을 갖는 와이드-fov(field of view) 이미지 디바이스들
WO2013188464A1 (en) * 2012-06-11 2013-12-19 Magic Leap, Inc. Multiple depth plane three-dimensional display using a wave guide reflector array projector
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US8754829B2 (en) 2012-08-04 2014-06-17 Paul Lapstun Scanning light field camera and display
WO2014043196A1 (en) 2012-09-11 2014-03-20 Magic Leap, Inc Ergonomic head mounted display device and optical system
JP2014085954A (ja) 2012-10-25 2014-05-12 Kyocera Corp 携帯端末装置、プログラムおよび入力操作受け付け方法
KR102507206B1 (ko) 2013-01-15 2023-03-06 매직 립, 인코포레이티드 초고해상도 스캐닝 섬유 디스플레이
KR102516124B1 (ko) 2013-03-11 2023-03-29 매직 립, 인코포레이티드 증강 및 가상 현실을 위한 시스템 및 방법
NZ751593A (en) 2013-03-15 2020-01-31 Magic Leap Inc Display system and method
JP5900393B2 (ja) 2013-03-21 2016-04-06 ソニー株式会社 情報処理装置、操作制御方法及びプログラム
US9367960B2 (en) 2013-05-22 2016-06-14 Microsoft Technology Licensing, Llc Body-locked placement of augmented reality objects
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US9129430B2 (en) 2013-06-25 2015-09-08 Microsoft Technology Licensing, Llc Indicating out-of-view augmented reality images
KR20150037254A (ko) 2013-09-30 2015-04-08 엘지전자 주식회사 착용형 디스플레이 디바이스 및 레이어 제어 방법
KR102547756B1 (ko) 2013-10-16 2023-06-23 매직 립, 인코포레이티드 조절가능한 동공간 거리를 가지는 가상 또는 증강 현실 헤드셋들
JPWO2015059976A1 (ja) 2013-10-24 2017-03-09 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
KR102493498B1 (ko) 2013-11-27 2023-01-27 매직 립, 인코포레이티드 가상 및 증강 현실 시스템들 및 방법들
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
JP2015114757A (ja) 2013-12-10 2015-06-22 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
KR102177133B1 (ko) 2014-01-31 2020-11-10 매직 립, 인코포레이티드 멀티-포컬 디스플레이 시스템 및 방법
EP4099274B1 (en) 2014-01-31 2024-03-06 Magic Leap, Inc. Multi-focal display system and method
JP2015145934A (ja) 2014-02-03 2015-08-13 セイコーエプソン株式会社 プロジェクター
EP3108287A4 (en) 2014-02-18 2017-11-08 Merge Labs, Inc. Head mounted display goggles for use with mobile computing devices
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
KR20150110257A (ko) * 2014-03-21 2015-10-02 삼성전자주식회사 웨어러블 디바이스에서 가상의 입력 인터페이스를 제공하는 방법 및 이를 위한 웨어러블 디바이스
AU2015297035B2 (en) * 2014-05-09 2018-06-28 Google Llc Systems and methods for biomechanically-based eye signals for interacting with real and virtual objects
USD759657S1 (en) 2014-05-19 2016-06-21 Microsoft Corporation Connector with illumination region
AU2015266586B2 (en) 2014-05-30 2020-07-23 Magic Leap, Inc. Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
WO2015188011A1 (en) * 2014-06-04 2015-12-10 Quantum Interface, Llc. Dynamic environment for object and attribute display and interaction
USD752529S1 (en) 2014-06-09 2016-03-29 Comcast Cable Communications, Llc Electronic housing with illuminated region
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
EP3118722B1 (en) 2015-07-14 2020-07-01 Nokia Technologies Oy Mediated reality
US10101803B2 (en) 2015-08-26 2018-10-16 Google Llc Dynamic switching and merging of head, gesture and touch input in virtual reality
AU2016324039B2 (en) * 2015-09-16 2021-09-30 Magic Leap, Inc. Head pose mixing of audio files
KR102641655B1 (ko) 2015-10-20 2024-02-27 매직 립, 인코포레이티드 3차원 공간에서 가상 객체들 선택
WO2017096509A1 (zh) * 2015-12-07 2017-06-15 华为技术有限公司 一种显示、处理的方法及相关装置
CN106997235B (zh) * 2016-01-25 2018-07-13 亮风台(上海)信息科技有限公司 用于实现增强现实交互和展示的方法、设备
US10229541B2 (en) 2016-01-28 2019-03-12 Sony Interactive Entertainment America Llc Methods and systems for navigation within virtual reality space using head mounted display
USD805734S1 (en) 2016-03-04 2017-12-26 Nike, Inc. Shirt
USD794288S1 (en) 2016-03-11 2017-08-15 Nike, Inc. Shoe with illuminable sole light sequence
CA3018758A1 (en) 2016-03-31 2017-10-05 Magic Leap, Inc. Interactions with 3d virtual objects using poses and multiple-dof controllers
US10068134B2 (en) * 2016-05-03 2018-09-04 Microsoft Technology Licensing, Llc Identification of objects in a scene using gaze tracking techniques
WO2018031621A1 (en) 2016-08-11 2018-02-15 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
US10602133B2 (en) * 2016-10-04 2020-03-24 Facebook, Inc. Controls and interfaces for user interactions in virtual spaces
CN108664201B (zh) * 2017-03-29 2021-12-28 北京搜狗科技发展有限公司 一种文本编辑方法、装置及电子设备
CA3059234A1 (en) 2017-04-19 2018-10-25 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
CN111052042B (zh) 2017-09-29 2022-06-07 苹果公司 基于注视的用户交互

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04372012A (ja) * 1991-06-20 1992-12-25 Fuji Xerox Co Ltd 入力装置
JPH11288342A (ja) * 1998-02-09 1999-10-19 Toshiba Corp マルチモーダル入出力装置のインタフェース装置及びその方法
WO2016203792A1 (ja) * 2015-06-15 2016-12-22 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102258531B1 (ko) * 2020-11-23 2021-06-01 (주)펜타유니버스 복합 입력 인지 시스템용 통합 인지 분석부
WO2022124659A1 (ko) * 2020-12-07 2022-06-16 삼성전자 주식회사 사용자 입력을 처리하는 전자 장치 및 방법
US11928263B2 (en) 2020-12-07 2024-03-12 Samsung Electronics Co., Ltd. Electronic device for processing user input and method thereof
WO2022158854A1 (ko) * 2021-01-21 2022-07-28 삼성전자 주식회사 외부 웨어러블 전자 장치로부터 정보를 수신하는 웨어러블 전자 장치 및 그 작동 방법

Also Published As

Publication number Publication date
JP7336005B2 (ja) 2023-08-30
US20180307303A1 (en) 2018-10-25
IL270002B1 (en) 2023-07-01
US20200363865A1 (en) 2020-11-19
KR102652922B1 (ko) 2024-03-29
WO2018195099A1 (en) 2018-10-25
IL270002B2 (en) 2023-11-01
KR20240046613A (ko) 2024-04-09
JP2023144096A (ja) 2023-10-06
EP4220258A1 (en) 2023-08-02
CA3059234A1 (en) 2018-10-25
JP7149289B2 (ja) 2022-10-06
EP3612878A4 (en) 2020-09-23
EP3612878B1 (en) 2023-06-28
US10768693B2 (en) 2020-09-08
IL270002A (ko) 2019-12-31
EP3612878A1 (en) 2020-02-26
JP2022121592A (ja) 2022-08-19
CN110785688A (zh) 2020-02-11
CN113608617A (zh) 2021-11-05
CN110785688B (zh) 2021-08-27
US11237623B2 (en) 2022-02-01
JP2020519986A (ja) 2020-07-02
AU2018256365A1 (en) 2019-10-31
US11960636B2 (en) 2024-04-16
US20220171453A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
JP7336005B2 (ja) ウェアラブルシステムのためのマルチモード実行およびテキスト編集
JP7341166B2 (ja) ウェアラブルシステムのためのトランスモード入力融合
US11747618B2 (en) Systems and methods for sign language recognition
KR102552551B1 (ko) 가상, 증강 및 혼합 현실 디스플레이 시스템들을 위한 키보드들
US11983823B2 (en) Transmodal input fusion for a wearable system

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