KR20200115531A - 혼합 현실 디스플레이들에서의 가상 콘텐츠를 위한 이클립스 커서 - Google Patents

혼합 현실 디스플레이들에서의 가상 콘텐츠를 위한 이클립스 커서 Download PDF

Info

Publication number
KR20200115531A
KR20200115531A KR1020207023220A KR20207023220A KR20200115531A KR 20200115531 A KR20200115531 A KR 20200115531A KR 1020207023220 A KR1020207023220 A KR 1020207023220A KR 20207023220 A KR20207023220 A KR 20207023220A KR 20200115531 A KR20200115531 A KR 20200115531A
Authority
KR
South Korea
Prior art keywords
cursor
virtual
user
display
render
Prior art date
Application number
KR1020207023220A
Other languages
English (en)
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
Priority claimed from US15/884,117 external-priority patent/US10540941B2/en
Application filed by 매직 립, 인코포레이티드 filed Critical 매직 립, 인코포레이티드
Publication of KR20200115531A publication Critical patent/KR20200115531A/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/08Cursor circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Digital Computer Display Output (AREA)

Abstract

웨어러블 디스플레이 디바이스에 의해 가상, 증강, 또는 혼합 현실 환경에서 실제 또는 가상 오브젝트들과 연관된 초점 표시자 및 커서를 디스플레이하기 위한 시스템들 및 방법들이 개시된다. 시스템은 환경 내의 타겟 오브젝트와 사용자-이동가능 커서 사이의 공간 관계를 결정할 수 있다. 시스템은 커서 근처에 있는 오브젝트들 주위에 또는 오브젝트들에 인접하게 초점 표시자(예컨대, 할로, 음영, 또는 강조표시)를 렌더링할 수 있다. 커서가 타겟 오브젝트와 오버랩될 때, 시스템은 커서의 앞에 오브젝트를 렌더링할(또는 커서를 전혀 렌더링하지 않을) 수 있으므로, 오브젝트는 커서로 가리지 않는다. 오브젝트는 커서보다 사용자에 더 가깝게 렌더링될 수 있다. 가상 오브젝트들의 그룹이 스크롤링될 수 있고, 스크롤링에서 도래하는(upcoming) 오브젝트들을 표시하는 가상 제어 패널이 디스플레이될 수 있다.

Description

혼합 현실 디스플레이들에서의 가상 콘텐츠를 위한 이클립스 커서
[0001] 본 특허 문서의 개시내용의 일부분은 저작권 보호를 받는 자료를 포함한다. 저작권자는 특허청의 특허 파일 또는 기록들에 나와 있는 것처럼 누군가에 의한 본 특허 문서 또는 특허 개시내용의 복제(facsimile reproduction)에 대한 이의를 갖지 않지만, 그 밖의 모든 것은 저작권으로 보호된다.
[0002] 본 출원은 "ECLIPSE CURSOR FOR VIRTUAL CONTENT IN MIXED REALITY DISPLAYS"라는 명칭으로 2018년 3월 14일자로 출원된 미국 특허 출원 번호 제15/920830호의 계속출원이고, "ECLIPSE CURSOR FOR MIXED REALITY DISPLAYS"라는 명칭으로 2018년 1월 30일자로 출원된 미국 특허 출원 번호 제15/884,117호의 일부 계속출원이고, 이 미국 특허 출원들 각각은 이로써 인용에 의해 그 전체가 본원에 포함된다.
[0003] 본 개시내용은 가상, 증강, 또는 혼합 현실 이미징 및 시각화 시스템들에 관한 것으로, 더 구체적으로는 사용자의 시야 내의 하나 이상의 실제 또는 가상 오브젝트들에 초점 표시자를 할당하는 것에 관한 것이다.
[0004] 현대 컴퓨팅 및 디스플레이 기술들은 이른바 "가상 현실", "증강 현실", 또는 "혼합 현실" 경험들을 위한 시스템들의 개발을 가능하게 했으며, 여기서 디지털적으로 재생된 이미지들 또는 이미지들의 부분들은, 그들이 실제인 것으로 보이거나, 실제로서 지각될 수 있는 방식으로 사용자에게 제시된다. 가상 현실, 또는 "VR" 시나리오는 전형적으로 다른 실제 실세계 시각적 입력에 대한 투명도(transparency) 없는 디지털 또는 가상 이미지 정보의 프리젠테이션(presentation)을 수반하고; 증강 현실, 또는 "AR" 시나리오는 전형적으로 사용자 주위 실제 세계의 시각화에 대한 증강으로서 디지털 또는 가상 이미지 정보의 프리젠테이션을 수반하고; 혼합 현실, 또는 "MR"은, 실제 및 가상 세계들을 병합하여 물리적 및 가상 오브젝트들이 공존하고 실시간으로 상호작용하는 새로운 환경들을 생성하는 것과 관련된다. 밝혀진 바와 같이, 인간 시각 지각 시스템은 매우 복잡하고, 다른 가상 또는 실세계 이미저리 엘리먼트들 사이에서 가상 이미지 엘리먼트들의 편안하고, 자연스러운 느낌이고, 풍부한 프리젠테이션을 가능하게 하는 VR, AR, 또는 MR 기술을 생성하는 것은 난제시된다. 본원에 개시된 시스템들 및 방법들은 VR, AR 및 MR 기술과 관련된 다양한 난제들을 처리한다.
[0005] 웨어러블 디스플레이 디바이스에 의해 가상, 증강, 또는 혼합 현실 환경에서 실제 또는 가상 오브젝트들과 연관된 초점 표시자 및 커서(cursor)를 디스플레이하기 위한 기법들이 설명된다. 예컨대, 환경 내의 오브젝트들 앞에 커서를 렌더링하면 오브젝트가 가려지며, 상호작용하고 있는 타겟 오브젝트가 아닌 커서 자체가 시각적 계층에서 더 강조되는 경향이 있다. 따라서, 웨어러블 시스템의 실시예들은 타겟 오브젝트 뒤로 이동하는 이클립스 커서(eclipse cursor)를 활용할 수 있으며(예컨대, 그에 따라, 커서는 타겟 오브젝트에 의해 "이클립스됨(eclipsed)"), 이는 사용자의 시각적 계층에서 커서가 아닌 타겟 오브젝트에 대한 강조를 유지하는 경향이 있다. 사용자가 환경 내의 오브젝트들 사이에서 커서를 내비게이팅하는 것을 돕기 위해, 시스템은 커서 근처의 오브젝트들 주위에 초점 표시자를 렌더링할 수 있다. 초점 표시자는 커서 근처의 오브젝트들의 적어도 부분들 주위의 할로(halo), 음영(shading), 또는 강조표시(highlighting)를 포함할 수 있다. 초점 표시자는 커서에 더 가까울수록 강조될(예컨대, 더 밝거나, 상이한 컬러 또는 음영, 또는 더 큰 사이즈) 수 있으며(그리고, 커서로부터 더 멀수록 강조되지 않을(deemphasized) 수 있음), 이는 환경 내의 오브젝트들 사이에서 커서를 내비게이팅하고 타겟 오브젝트를 선택하는 데 있어서 사용자에게 시각적 큐(visual cue)들을 제공한다. 이클립스 커서 및 초점 표시자는 사용자에게 더 자연스럽고 몰입적인 사용자 경험을 제공할 수 있다.
[0006] 다양한 실시예들에서, 웨어러블 디스플레이 시스템은 환경 내의 하나 이상의 타겟 오브젝트들과 사용자-이동가능 커서 사이의 공간 관계를 결정할 수 있다. 예컨대, 사용자는 핸드-헬드 사용자 입력 디바이스(예컨대, 토템)를 작동시킴으로써 커서를 이동시킬 수 있다. 웨어러블 시스템은 커서 근처에 있는 오브젝트들 주위에 또는 그 오브젝트들에 인접하게 초점 표시자(예컨대, 할로, 음영, 또는 강조표시)를 렌더링할 수 있다. 초점 표시자는 커서에 더 가까운 방향들로 강조될 수 있고, 커서로부터 더 먼 방향들로 강조되지 않을 수 있다. 커서가 타겟 오브젝트와 오버랩될 때, 시스템은 오브젝트 뒤에 커서를 렌더링할(또는 커서를 전혀 렌더링하지 않을) 수 있으므로, 오브젝트는 커서로 가려지지 않는다(예컨대, 오브젝트는 커서를 이클립스함). 커서 및 초점 표시자는 사용자에게 포지션 피드백을 제공하고 사용자가 환경 내의 오브젝트들 사이에서 내비게이팅하는 것을 도울 수 있다.
[0007] 다양한 양상들에서, 웨어러블 디스플레이 시스템은 하나 이상의 깊이들에 배치된 썸네일(thumbnail)들의 그리드(규칙적 또는 불규칙적)로 배열된 복수의 상호작용가능한 가상 아이템들을 사용자에게 제시하는 사용자 인터페이스를 포함할 수 있다. 썸네일은 가상 아이템(예컨대, 문서 페이지 또는 이미지)의 콘텐츠로 가상 아이템을 식별하는 데 사용될 수 있는 가상 아이템의 미니어처 표현(miniature representation)을 포함할 수 있다. 일부 구현들에서, 썸네일을 선택(예컨대, 클릭 또는 더블-클릭)하면 (예컨대, 가상 콘텐츠를 실행, 재생, 뷰잉, 또는 편집하도록 구성된 애플리케이션을 실행시킴으로써) 가상 아이템의 콘텐츠를 오픈한다. 썸네일은, 썸네일이 하나의 깊이로(예컨대, 2D 썸네일로) 나타나도록 또는 다수의 깊이들로 나타나도록(예컨대, 그에 따라, 썸네일이 3D로 나타남) 렌더링될 수 있다. 그리드에서 썸네일들 중 하나 뒤로 커서가 이동하는 것에 대한 응답으로, 그 아이템에 대한 썸네일은 다음의 효과들 중 하나 이상으로 렌더링될 수 있다: 초점 표시자(예컨대, 썸네일의 적어도 일부를 둘러싸는 할로)를 포함하여 사이즈가 확대되는 것, 상이한 깊이(예컨대, 사용자에게 더 가깝게 나타나는 깊이)로 이동하는 것, 또는 상이한 가상 콘텐츠(예컨대, 더 고해상도의 이미지, 캡션, 사운드, 비디오의 재생 또는 그래픽의 애니메이션 등)를 갖는 것. 썸네일들은 하나 이상의 그룹화 기준들에 따라(예컨대, 아이템 이름으로 알파벳순으로, 콘텐츠 타입, 날짜 등으로) 순서화될 수 있다. 썸네일들의 그리드는 사용자에 의해(예컨대, 머리, 눈, 또는 신체 제스처들, 또는 토템으로부터의 사용자 입력을 사용하여) 스크롤링가능할 수 있다. 스크롤링 동안, (예컨대, 스크롤링의 방향들로의) 그리드의 에지들은, 스크롤링 동안 다음에 디스플레이될 가상 콘텐츠(예컨대, 도래하는(upcoming) 콘텐츠)의 표시들을 동적으로(예컨대, 반투명 썸네일들로서, 선택적으로는 그리드의 에지와는 상이한 깊이로) 디스플레이할 수 있다.
[0008] 다양한 양상들에서, 본 개시내용은 아이콘 또는 과도기적인(transitional)(예컨대, 애니메이션화된) 그래픽 사용자 인터페이스를 갖는 디스플레이 스크린 또는 그 일부에 대한 장식적인 설계를 제공한다. 증강, 혼합, 또는 가상 현실 디스플레이 디바이스는 디스플레이 스크린 또는 그 일부를 포함할 수 있다.
[0009] 본 명세서에서 설명되는 청구 대상의 하나 이상의 구현들의 세부사항들은 아래 첨부 도면들 및 설명에서 제시된다. 다른 특징들, 양상들, 및 장점들은, 설명, 도면들, 및 청구항들로부터 자명해질 것이다. 이 발명의 내용도 다음의 상세한 설명도 본 발명의 청구 대상의 범위를 한정하거나 제한하는 것으로 의도되지 않는다.
[0010] 도 1은 사람이 뷰잉하는 특정 물리적 오브젝트들 및 특정 가상 현실 오브젝트들을 갖는 혼합 현실 시나리오의 예시를 묘사한다.
[0011] 도 2는 웨어러블 시스템의 예를 개략적으로 예시한다.
[0012] 도 3은 다수의 깊이 평면들을 사용하여 3차원 이미저리를 시뮬레이팅하기 위한 접근법의 양상들을 개략적으로 예시한다.
[0013] 도 4는 사용자에게 이미지 정보를 출력하기 위한 도파관 스택의 예를 개략적으로 예시한다.
[0014] 도 5는 도파관에 의해 출력될 수 있는 예시적인 출사 빔들을 도시한다.
[0015] 도 6은, 다초점 볼류메트릭 디스플레이, 이미지, 또는 광 필드의 생성에 사용되는, 도파관 장치, 도파관 장치로 또는 도파관 장치로부터의 광을 광학적으로 커플링하기 위한 광학 커플러 서브시스템, 및 제어 서브시스템을 포함하는 광학 시스템을 도시하는 개략도이다.
[0016] 도 7은 웨어러블 시스템의 예의 블록도이다.
[0017] 도 8은 인식된 오브젝트들에 관하여 가상 콘텐츠를 렌더링하는 방법의 예의 프로세스 흐름도이다.
[0018] 도 9는 웨어러블 시스템의 다른 예의 블록도이다.
[0019] 도 10은 웨어러블 시스템에 대한 사용자 입력을 결정하기 위한 방법의 예의 프로세스 흐름도이다.
[0020] 도 11은 가상 사용자 인터페이스와 상호작용하기 위한 방법의 예의 프로세스 흐름도이다.
[0021] 도 12a-도 12c는 웨어러블 시스템을 통해 사용자가 지각할 수 있는 오브젝트 및 커서의 다양한 예들을 예시한다.
[0022] 도 13a 및 도 13b는 초점 표시자 및 커서의 비-제한적인 실시예들을 예시한다.
[0023] 도 14a-도 14c는 웨어러블 디스플레이 시스템을 통해 사용자가 지각가능한 3D 환경의 오브젝트 및 커서의 예를 예시한다.
[0024] 도 15a 및 도 15b는 환경 내의 오브젝트의 위치에 대한 커서의 근접도(proximity)에 기반하여 다양한 강도들, 포지션들, 또는 공간 범위들을 갖는 다수의 초점 표시자들의 구현들의 예들을 예시한다.
[0025] 도 16a-도 16d는 초점 표시자를 렌더링하는 프로세스의 예를 예시한다.
[0026] 도 17은 (터치 감지 표면을 갖는) 토템 상의 그리드 및 사용자 입력의 예를 도시한다.
[0027] 도 18a-도 18c는 초점 표시자를 갖는 오브젝트를 향해 이동하는 커서의 예를 예시한다.
[0028] 도 19-도 22는 시스템에 의해 렌더링될 수 있는 초점 표시자들의 다양한 예들을 예시한다.
[0029] 도 23은 3D 장면에서 초점 표시자를 렌더링하기 위한 예시적인 방법을 예시하는 흐름도이다.
[0030] 도 24-도 28은 아이콘을 갖는 디스플레이 스크린 또는 그 일부의 실시예들의 정면도들이다.
[0031] 도 29a-도 29f는 디스플레이 스크린 또는 그 일부 상의 GUI(graphical user interface)에 대한 전이 시퀀스(transitional sequence)의 실시예의 정면도들이다.
[0032] 도 30a-도 30f는 디스플레이 스크린 또는 그 일부 상의 GUI에 대한 전이 시퀀스의 실시예를 예시한다.
[0033] 도 31a-도 31c는 디스플레이 스크린 또는 그 일부 상의 GUI에 대한 전이 시퀀스의 실시예를 예시한다.
[0034] 도면들 전체에 걸쳐, 참조 번호들은 참조된 엘리먼트들 사이의 대응성(correspondence)을 표시하기 위해 재사용될 수 있다. 도면들은 본원에서 설명된 예시적인 실시예들을 예시하기 위해 제공되며 본 개시내용의 범위를 제한하는 것으로 의도되지 않는다. 추가적으로, 본 개시내용의 도면들은 예시 목적들을 위한 것이며, 실척에 맞지 않다.
개요
[0035] 웨어러블 디바이스는 대화형 VR/AR/MR 환경을 제시하기 위한 디스플레이를 포함할 수 있다. VR/AR/MR 환경은, 사용자 입력 디바이스를 통한 사용자 입력, 또는 예컨대 머리 포즈(pose), 눈 시선, 또는 신체 포즈와 같은 다양한 포즈들을 통해 사용자에 의해 상호작용될 수 있는 데이터 엘리먼트들을 포함할 수 있다. VR/AR/MR 환경에서 사용자와 실제 또는 가상 오브젝트들의 상호작용의 정확한 감지를 사용자에게 제공하기 위해, 시스템은 사용자가 환경 내의 오브젝트들 사이에서 내비게이팅하고 오브젝트들을 선택하거나 또는 오브젝트들과 상호작용하는 것을 돕기 위해 온-스크린 시각 보조(on-screen visual aid)를 렌더링할 수 있다.
[0036] 일부 경우들에서, 온-스크린 시각 보조들은 가상 커서(본원에서 때때로 레티클(reticle)로 또한 지칭됨)를 포함할 수 있으며, 가상 커서는 사용자 상호작용(예컨대, 핸드-헬드 토템을 통한 사용자 입력)에 응답하고 (사용자에 대한) 이동가능 표시자의 포지션을 식별하며, 이동가능 표시자는 VR/AR/MR 환경에서 오브젝트들을 선택하거나 오브젝트들과 상호작용하는 데 사용될 수 있다. 예컨대, 사용자는 3D VR/AR/MR 환경에서 커서를 주위로 이동시키기 위해 토템의 터치-감지 부분 상에서 자신의 엄지손가락을 움직일 수 있다. 커서가 오브젝트에 충분히 가까이 있거나 오브젝트 위에서 호버링(hover)하는 경우, 사용자는 (예컨대, 토템의 터치-감지 부분을 누름으로써) 오브젝트를 선택하거나 오브젝트와 상호작용할 수 있으며, 이는 웨어러블 디바이스에 의한 추가의 상황-종속적 기능성(context-dependent functionality)을 개시할 수 있다. 예컨대, 사용자는 영화를 보여주는 가상 비디오 디스플레이 근처에서 커서를 이동시키고, 다른 영화 선택들, 볼륨 조절 등의 메뉴를 불러오기 위해 디스플레이를 선택할 수 있다. 일부 경우들에서, 사용자가 환경에서 커서를 용이하게 로케이팅할 수 있도록, 커서가 사용자에게 디스플레이된다. 이는 비교적 적은 수의 오브젝트들이 있는 비교적 희소(sparse) 환경들에서 발생할 수 있다. 다른 경우들에서, 커서는 사용자에게 디스플레이되지 않으며, 커서의 위치에 관한 시각적 큐들을 사용자에게 제공하기 위해 본원에서 설명된 초점 표시자들(예컨대, 오브젝트들 주위의 글로(glow)들)이 사용된다(예컨대, 커서는 가장 밝은 글로가 있는 오브젝트 근처에 포지셔닝됨). 이는, 비교적 많은 오브젝트들이 있고 커서 자체의 디스플레이가 필요하지 않을 수 있거나 또는 산만하게(distracting) 할 수 있는, 비교적 조밀한 환경들에서 발생할 수 있다.
[0037] 그러나, 종래의 커서는 장면 콘텐츠의 고려 없이 렌더링된다. 다시 말해서, 커서가 VR/AR/MR 환경 주위로 이동함에 따라, 커서는 환경 내의 오브젝트들 위로 이동한다(예컨대, 오브젝트들 앞에 렌더링됨). 위의 예를 계속하면, 종래의 커서는 가상 비디오 디스플레이의 앞에 나타날 수 있으며, 이는 가상 디스플레이를 가릴 뿐만 아니라 보여지고 있는 콘텐츠로부터 사용자를 산만하게 한다(예컨대, 사용자는 영화보다 커서 자체에 더 초점을 맞추는 경향이 있을 것이며, 이는 산만해질 수 있음).
[0038] 결과적으로, 커서가 오브젝트 위에서 호버링하거나 오브젝트를 선택하는 데 사용될 때, 커서는 실제로 오브젝트의 적어도 일부를 가리거나 커버한다. 오브젝트의 이러한 방해된 뷰는 환경 내에서의 사용자의 경험에 크게 영향을 미칠 수 있다. 예컨대, 오브젝트는 콘텐츠, 이를테면, 텍스트, 이미지 등을 포함할 수 있으며, 사용자는 오브젝트의 콘텐츠를 또한 뷰잉하면서 오브젝트를 선택하는 데 어려움을 느낄 수 있다.
[0039] 이러한 문제점들은 2D 환경에서 존재하지만 이러한 문제점들은 3D 환경에서 악화될 수 있다. 예컨대, 2D 환경에서, 오브젝트들과 커서는 깊이를 갖지 않는다. 따라서, 오브젝트 앞에 커서를 렌더링하면 커서와 오브젝트가 동일한 평면 상에 렌더링된다. 그에 반해, 3D 환경에서, 커서와 오브젝트들은 사용자에 대해 깊이를 갖는다. 따라서, 주어진 시간에, 3D 환경 내의 커서가 반드시 그 환경 내의 오브젝트와 동일한 깊이에 있는 것은 아니다. 예컨대, 커서는 오브젝트에 비해 사용자에 더 가깝거나 사용자로부터 더 멀리 떨어져 있을 수 있다. 이러한 깊이 차이로 인해, 사용자가 오브젝트 또는 커서 중 하나에 초점을 맞추면, 상대적 깊이들 사이의 원근조절 불일치(accommodation disparity)로 인해 다른 하나가 사용자에게 흐릿하게(blurry) 나타날 수 있다. 또한, 커서와 오브젝트가 사용자에 대해 3D 환경 내에서 동일하거나 유사한 깊이를 갖는 경우들에서도, 커서가 3D 공간에서 오브젝트를 "롤 오버(roll over)"하는 경우, 커서가 오브젝트를 관통해 움직이는 외관을 회피하기 위해 시스템은 커서의 깊이를 변경해야 한다. 예컨대, 도 12a 및 도 12b에 예시된 바와 같이, 시스템은, 커서가 마치 오브젝트와 사용자 사이에 로케이팅된 것처럼 커서가 디스플레이되도록 커서를 사용자에게 더 가깝게 이동시킬 수 있다. 커서를 사용자에게 더 가깝게 렌더링함으로써, 시스템은 오브젝트에 비해 커서를 효과적으로(그리고 가능하게는 바람직하지 않게) 강조하는데, 왜냐하면, 사람의 눈들은 전형적으로 뷰어에게 더 가까운 오브젝트들에 끌리기 때문이며, 오브젝트보다 커서가 사용자에게 더 가깝게 나타나기 때문에, 사용자가 커서에 초점을 맞출 가능성이 더 높다.
[0040] 이들 및 다른 문제점들을 해결하기 위해, 시스템의 실시예들은 콘텐츠를 인식하는 온-스크린 시각적 보조를 렌더링할 수 있다. 예컨대, 커서와 오브젝트가 오버랩될 때, 시스템은 커서를 (오브젝트 앞보다는) 오브젝트 뒤에 렌더링하거나 또는 커서를 전혀 렌더링하지 않을 수 있다(왜냐하면, 커서가 오브젝트 뒤에 있고, 사용자에게 가시적이지 않기 때문임). 따라서, 커서는 사용자의 비전으로부터 오브젝트를 차단하지 않으며, 시스템은 커서를 사용자에게 더 가깝게 렌더링하는 것에 의해 커서를 비의도적으로(inadvertently) 강조하지 않는다. 그러한 커서(또는 레티클)의 실시예들은 때때로 이클립스 커서 또는 이클립스 레티클로 지칭되는데, 왜냐하면, 타겟 오브젝트가 커서를 "이클립스"하기 때문이다.
[0041] 커서가 오브젝트에 의해 이클립스될 때, 사용자가 장면 내에서 어디를 향해 포인팅하고 있는지의 정확한 감지 또는 커서가 현재 어디에 로케이팅되어 있는지의 정확한 감지를 사용자가 획득하기 어려울 수 있다. 왜냐하면, 커서가 오브젝트에 의해 적어도 부분적으로 차단되기 때문이다. 따라서, 환경 내의 커서의 포지션의 정확한 감지를 사용자에게 계속 제공하기 위해, 시스템은, 커서가 오브젝트 뒤에서(또는 그 오브젝트의 거리 임계치 내에서) 이동할 때 그 오브젝트를 강조하기 위해 다른(또는 대안적인) 온-스크린 시각적 보조(예컨대, 초점 표시자)를 렌더링할 수 있다.
[0042] 초점 표시자는 할로, 컬러, 지각되는 사이즈 또는 깊이 변화(예컨대, 선택될 때 오브젝트가 더 가깝게 또는 더 크게 나타나게 야기함), 음영, 가상 광선들, 또는 사용자의 주의를 끄는 경향이 있는, 오브젝트로부터 발산되는(emanating) 또는 오브젝트와 연관된 다른 그래픽 강조표시를 포함할 수 있다. 예컨대, 초점 표시자는, 마치 글로잉(glowing) 광원이 오브젝트 뒤에 놓인 것처럼(그에 따라, 오브젝트가 그 광원을 "이클립스"하는 것처럼) 오브젝트로부터 바깥쪽으로 방사되는 것으로 나타나는 글로를 포함할 수 있다. 글로의 강도는 오브젝트의 외측 에지들에 가까울수록 더 강하고, 오브젝트의 외측 에지들로부터 더 먼 거리들에서 덜 강할 수 있다. 초점 표시자가 오브젝트를 가리지 않기 때문에(초점 표시자는 전형적으로 오브젝트를 적어도 부분적으로 둘러싸는 것으로 렌더링되기 때문에), 초점 표시자는 대신에 오브젝트를 강조하고, 유리하게는 커서에 대한 사용자 친화적이고 산만하지 않은 대안을 사용자에게 제공하여, 어느 오브젝트가 현재 상호작용하고 있는지를 표시한다.
[0043] 일부 경우들에서, 커서는, 오브젝트에 대한 커서의 근접도가 초점 표시자 또는 커서의 강도 또는 포지셔닝에 영향을 미치도록, 오브젝트에 대해 인력 효과(attractive effect)를 갖는 것으로 나타날 수 있다. 인력 효과는, 커서와 오브젝트(또는 초점 표시자)가 서로 자기적으로 또는 중력적으로 끌어당기는 것처럼 작용하는 경향이 있을 수 있다. 예컨대, 일부 경우들에서, 각각의 오브젝트는 초점 표시자(예컨대, 외측 글로)를 가질 수 있고, 초점 표시자의 강도, 사이즈, 또는 위치는 오브젝트(또는 초점 표시자)에 대한 커서의 위치에 기반하여 변화할 수 있다. 예컨대, 커서가 오브젝트에 더 가깝게 이동함에 따라, 그 오브젝트의 초점 표시자는 더 밝아지거나, 더 강해지거나, 또는 커서의 방향으로 (예컨대, 커서를 향해 당겨지는 것처럼) 이동할 수 있다. 커서가 오브젝트에 더 가깝게 이동함에 따라, 시스템은, 커서가 오브젝트 뒤로 당겨지는 것처럼 커서를 렌더링하는 동시에 초점 표시자의 강도를 증가시킬 수 있다. 커서가 원하는 타겟 오브젝트에 가까워짐에 따라, 사용자가 커서를 타겟 오브젝트 상에 포지셔닝하기 위해 미세 조정들을 하지 않고도 커서가 가장 가까운 오브젝트를 향해 당겨지기 때문에(또는 가장 가까운 오브젝트 상으로 스냅핑(snap)되기 때문에), 이 거동은 사용자가 더 자연스럽고 용이하게 오브젝트들을 선택하도록 허용할 수 있다. 따라서, 커서는 질량 또는 관성을 가진 것처럼 거동할 수 있고(그에 따라, 커서는 초기에 적용된 방향으로 계속 이동하는 경향이 있음), 인력 효과에 의해 인근의 오브젝트들을 향해 당겨진다. 환경 내의 커서의 위치가 변함에 따라, 커서 인근의 오브젝트(들)와 연관된 초점 표시자(들)의 강도가 변할 수 있다.
[0044] 일부 경우들에서, 시스템은 하나보다 많은 오브젝트에 초점 표시자를 할당할 수 있거나, 초점 표시자는, 예컨대 환경 내의 커서의 위치에 대한 오브젝트의 근접도에 기반하여 페이드 인(fade in) 또는 페이드 아웃(fade out)될 수 있는 다양한 강도 또는 글로를 가질 수 있다. 따라서, 하나 이상의 초점 표시자들은, 예컨대 다양한 강도들로 하나 이상의 오브젝트들을 강조함으로써 사용자에게 포지션 피드백을 제공할 수 있다. 지속적인 입력 피드백 및 정확한 커서 포지션 감지를 제공하기 위해, 사용자 입력이 시프트됨에 따라 다양한 강도 또는 글로가 제 위치로 시프트될 수 있다.
[0045] 다양한 양상들에서, 시스템은 하나 이상의 깊이들에 배치된 썸네일들의 그리드(규칙적 또는 불규칙적)로 배열된 복수의 상호작용가능한 가상 아이템들을 사용자에게 제시하는 사용자 인터페이스를 포함할 수 있다. 그리드에서 썸네일들 중 하나 뒤로 커서가 이동하는 것에 대한 응답으로, 그 아이템에 대한 썸네일은 다음의 효과들 중 하나 이상으로 렌더링될 수 있다: 초점 표시자(예컨대, 썸네일의 적어도 일부를 둘러싸는 할로)를 포함하여 사이즈가 확대되는 것, 상이한 깊이(예컨대, 사용자에게 더 가깝게 나타나는 깊이)로 이동하는 것, 또는 상이한 가상 콘텐츠(예컨대, 더 고해상도의 이미지, 캡션, 사운드, 비디오의 재생 또는 그래픽의 애니메이션 등)를 갖는 것. 썸네일들은 하나 이상의 그룹화 기준들에 따라(예컨대, 아이템 이름으로 알파벳순으로, 콘텐츠 타입, 날짜 등으로) 순서화될 수 있다. 썸네일들의 그리드는 사용자에 의해(예컨대, 머리, 눈, 또는 신체 제스처들, 또는 토템으로부터의 사용자 입력을 사용하여) 스크롤링가능할 수 있다. 스크롤링 동안, (예컨대, 스크롤링의 방향들로의) 그리드의 에지들은, 스크롤링 동안 다음에 디스플레이될 가상 콘텐츠의 표시들을 동적으로(예컨대, 반투명 썸네일들로서, 선택적으로는 그리드의 에지와는 상이한 깊이로) 디스플레이할 수 있다.
웨어러블 시스템의 3D 디스플레이의 예들
[0046] 웨어러블 시스템(본원에서 AR(augmented reality) 시스템으로 또한 지칭됨)은 2D(two-dimensional) 또는 3D(three-dimensional) 가상 이미지들을 사용자에게 제시하도록 구성될 수 있다. 이미지들은 정지 이미지들, 비디오의 프레임들, 또는 비디오, 이들의 조합 등일 수 있다. 웨어러블 시스템은 사용자 상호작용을 위해 VR, AR, 또는 MR 환경을 단독으로 또는 조합하여 제시할 수 있는 웨어러블 디바이스를 포함할 수 있다. 웨어러블 디바이스는 ARD(AR device)로서 상호교환가능하게 사용되는 HMD(head-mounted device)일 수 있다.
[0047] 도 1은 사람이 뷰잉하는 특정 물리적 오브젝트들 및 특정 가상 현실 오브젝트들을 갖는 혼합 현실 시나리오의 예시를 묘사한다. 도 1에서, MR 장면(100)이 묘사되며, 여기서 MR 기술의 사용자는 배경에 있는 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼(120)을 특징으로 하는 실세계 공원형 세팅(110)을 본다. 이러한 아이템들 외에도, MR 기술의 사용자는 또한, 자신이 실세계 플랫폼(120) 상에 서 있는 로봇 동상(130), 및 호박벌의 의인화인 것으로 보이는 날고 있는 만화형 아바타 캐릭터(140)를 "보는" 것으로 지각하지만, 이러한 엘리먼트들은 실세계에서 존재하지 않는다.
[0048] 3D 디스플레이가 올바른 깊이감(sensation of depth) 및 보다 구체적으로, 시뮬레이팅된 표면 깊이감을 생성하기 위해, 디스플레이의 시계(visual field)의 각각의 포인트가 그의 가상 깊이에 대응하는 원근조절 응답을 생성하는 것이 바람직할 수 있다. 만약 디스플레이 포인트에 대한 원근조절 응답이, 수렴 및 입체시(stereopsis)의 양안 깊이 큐들에 의해 결정된 바와 같은 그 포인트의 가상 깊이에 대응하지 않는다면, 인간의 눈은 원근조절 충돌을 경험할 수 있어, 불안정한 이미징, 유해한 눈의 피로, 두통들, 그리고 원근조절 정보의 부재 시에, 표면 깊이의 거의 완벽한 결여를 야기할 수 있다.
[0049] VR, AR, 및 MR 경험들은 복수의 깊이 평면들에 대응하는 이미지들이 뷰어에게 제공되는 디스플레이들을 갖는 디스플레이 시스템들에 의해 제공될 수 있다. 이미지들은 각각의 깊이 평면마다 상이할 수 있고(예컨대, 장면 또는 오브젝트의 약간 상이한 프리젠테이션들을 제공함) 뷰어의 눈들에 의해 별개로 초점이 맞춰질 수 있어서, 상이한 깊이 평면 상에 로케이팅된 장면에 대한 상이한 이미지 특징들에 초점을 맞추도록 요구되는 눈의 원근조절에 기반하여 또는 상이한 깊이 평면들 상의 상이한 이미지 특징들이 초점에서 벗어나는 것을 관찰하는 것에 기반하여 깊이 큐들을 사용자에게 제공하는 것을 돕는다. 본원의 다른 곳에서 논의된 바와 같이, 그러한 깊이 큐들은 깊이의 신뢰할 수 있는 지각들을 제공한다.
[0050] 도 2는 웨어러블 시스템(200)의 예를 예시한다. 웨어러블 시스템(200)은 디스플레이(220), 및 디스플레이(220)의 기능을 지원하기 위한 다양한 기계 및 전자 모듈들 및 시스템들을 포함한다. 디스플레이(220)는 사용자, 착용자 또는 뷰어(210)에 의해 착용가능한 프레임(230)에 커플링될 수 있다. 디스플레이(220)는 사용자(210)의 눈들 앞에 포지셔닝될 수 있다. 디스플레이(220)는 AR/VR/MR 콘텐츠를 사용자에게 제시할 수 있다. 예컨대, 디스플레이(220)는 아래에서 설명되는 이클립스 커서 아이콘들 및 초점 표시자들을 구현(예컨대, 사용자에게 렌더링 및 제시)할 수 있다. 이클립스 커서 아이콘들 및 초점 표시자들을 위한 장식적인 설계들의 예들이 도 24-도 29f에 도시된다. 디스플레이(220)는 사용자의 머리에 착용되는 HMD(head mounted display)를 포함할 수 있다. 일부 실시예들에서, 스피커(240)는 프레임(230)에 커플링되고 사용자의 외이도에 인접하게 포지셔닝된다(일부 실시예들에서, 도시되지 않은 다른 스피커가 사용자의 다른 외이도에 인접하게 포지셔닝되어 입체/형상화가능 사운드 제어를 제공함).
[0051] 웨어러블 시스템(200)은 사용자 주위의 환경의 세계를 관찰하는 외향 이미징 시스템(464)(도 4에 도시됨)을 포함할 수 있다. 웨어러블 시스템(200)은 또한 사용자의 눈 움직임들을 추적할 수 있는 내향 이미징 시스템(462)(도 4에 도시됨)을 포함할 수 있다. 내향 이미징 시스템은 어느 한쪽 눈의 움직임들 또는 양쪽 눈들의 움직임들을 추적할 수 있다. 내향 이미징 시스템(462)은 프레임(230)에 부착될 수 있고, 프로세싱 모듈들(260 또는 270)과 전기 통신할 수 있으며, 이 프로세싱 모듈들(260 또는 270)은, 예컨대 사용자(210)의 동공 직경들 또는 눈들의 배향들, 눈 움직임들 또는 눈 포즈를 결정하기 위해 내향 이미징 시스템에 의해 포착된(acquired) 이미지 정보를 프로세싱할 수 있다.
[0052] 예로서, 웨어러블 시스템(200)은 외향 이미징 시스템(464) 또는 내향 이미징 시스템(462)을 사용하여 사용자의 포즈의 이미지들을 포착할 수 있다. 이미지들은 정지 이미지들, 비디오의 프레임들, 또는 비디오, 이들의 조합 등일 수 있다.
[0053] 디스플레이(220)는, 이를테면, 유선 리드 또는 무선 연결성에 의해, 다양한 구성들로 장착될 수 있는, 이를테면, 프레임(230)에 고정적으로 부착되거나, 사용자가 착용하는 헬멧 또는 모자에 고정적으로 부착되거나, 헤드폰들에 내장되거나, 그렇지 않으면 사용자(210)에게 제거가능하게 부착되는 (예컨대, 백팩(backpack)-스타일 구성으로, 벨트-커플링 스타일 구성으로) 로컬 데이터 프로세싱 모듈(260)에 동작가능하게 커플링(250)될 수 있다.
[0054] 로컬 프로세싱 및 데이터 모듈(260)은 하드웨어 프로세서뿐만 아니라, 디지털 메모리, 이를테면, 비-휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있는데, 이 둘 모두는 데이터의 프로세싱, 캐싱(caching), 및 저장을 돕는 데 활용될 수 있다. 데이터는, a) 센서들(센서들은, 예컨대 프레임(230)에 동작가능하게 커플링되거나 그렇지 않으면 사용자(210)에게 부착될 수 있음), 이를테면, 이미지 캡처 디바이스들(예컨대, 내향 이미징 시스템 또는 외향 이미징 시스템의 카메라들), 마이크로폰들, IMU(inertial measurement unit)들(예컨대, 가속도계들, 중력계(gravitometer)들, 자력계들 등), 컴퍼스(compass)들, GPS(global positioning system) 유닛들, 라디오 디바이스들, 또는 자이로스코프들로부터 캡처되거나; 또는 b) 원격 프로세싱 모듈(270) 또는 원격 데이터 저장소(repository)(280)를 사용하여 포착 또는 프로세싱되는(가능하게는, 그러한 프로세싱 또는 리트리벌(retrieval) 이후 디스플레이(220)로의 전달(passage)을 위해) 데이터를 포함할 수 있다. 로컬 프로세싱 및 데이터 모듈(260)은 통신 링크들(262 또는 264)에 의해, 이를테면, 유선 또는 무선 통신 링크들을 통해, 원격 프로세싱 모듈(270) 또는 원격 데이터 저장소(280)에 동작가능하게 커플링될 수 있어서, 이러한 원격 모듈들은 로컬 프로세싱 및 데이터 모듈(260)에 대한 자원들로서 이용가능하다. 게다가, 원격 프로세싱 모듈(280) 및 원격 데이터 저장소(280)는 서로 동작가능하게 커플링될 수 있다.
[0055] 일부 실시예들에서, 원격 프로세싱 모듈(270)은 데이터 또는 이미지 정보를 분석 및 프로세싱하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 일부 실시예들에서, 원격 데이터 저장소(280)는 "클라우드" 자원 구성으로 인터넷 또는 다른 네트워킹 구성을 통해 이용가능할 수 있는 디지털 데이터 저장 설비를 포함할 수 있다. 일부 실시예들에서, 로컬 프로세싱 및 데이터 모듈에서 모든 데이터가 저장되고 모든 계산들이 수행되어, 원격 모듈로부터 완전히 자율적인 사용을 가능하게 한다.
[0056] 인간 시각 시스템은 복잡하고, 깊이의 현실적 지각을 제공하는 것은 난제이다. 이론에 의해 제한됨이 없이, 오브젝트의 뷰어들은 이접운동(vergence) 및 원근조절의 조합으로 인해 오브젝트를 "3차원"인 것으로 지각할 수 있다고 여겨진다. 서로에 대한 두 눈들의 이접운동 움직임들(즉, 오브젝트를 응시하기 위해 눈들의 시선들을 수렴하도록 서로를 향하는 또는 서로 멀어지는 동공들의 롤링(rolling) 움직임들)은 눈들의 렌즈들의 초점맞춤(또는 "원근조절")과 밀접하게 연관된다. 정상 조건들 하에서, 하나의 오브젝트로부터 상이한 거리에서의 다른 오브젝트로 초점을 변경하기 위해, 눈들의 렌즈들의 초점을 변경하거나, 눈들을 원근조절하는 것은, "원근조절-이접운동 반사작용"으로 알려진 관계 하에서, 동일한 거리에 대한 이접운동에서 매칭 변화를 자동적으로 유발할 것이다. 마찬가지로, 이접운동의 변화는, 정상 조건들 하에서, 원근조절의 매칭 변화를 트리거할 것이다. 원근조절과 이접운동 사이의 더 양호한 매칭을 제공하는 디스플레이 시스템들은 3차원 이미저리의 더 현실적이고 편안한 시뮬레이션들을 형성할 수 있다.
[0057] 도 3은 다수의 깊이 평면들을 사용하여 3차원 이미저리를 시뮬레이팅하기 위한 접근법의 양상들을 예시한다. 도 3을 참조하면, z-축 상에서 눈들(302 및 304)로부터 다양한 거리들에 있는 오브젝트들은, 그러한 오브젝트들에 초점이 맞춰지도록 눈들(302 및 304)에 의해 원근조절된다. 눈들(302 및 304)은 z-축을 따라 상이한 거리들에 있는 오브젝트들에 초점을 맞추게 하는 특정 원근조절된 상태들을 취한다. 결과적으로, 특정 원근조절된 상태는, 연관된 초점 거리를 갖는, 깊이 평면들(306) 중 특정한 하나의 깊이 평면과 연관되는 것으로 말해질 수 있어서, 특정 깊이 평면의 오브젝트들 또는 오브젝트들의 부분들은, 눈이 그 깊이 평면에 대해 원근조절된 상태에 있을 때 초점이 맞춰지게 된다. 일부 실시예들에서, 3차원 이미저리는 눈들(302 및 304) 각각에 대해 이미지의 상이한 프리젠테이션들을 제공함으로써, 그리고 또한 깊이 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 시뮬레이팅될 수 있다. 예시의 명확성을 위해 별개인 것으로 도시되지만, 눈들(302 및 304)의 시야들은, 예컨대 z-축을 따른 거리가 증가함에 따라 오버랩될 수 있다는 것이 인지될 것이다. 게다가, 예시의 용이함을 위해 평탄한 것으로 도시되지만, 깊이 평면의 윤곽들은 물리적 공간에서 만곡될 수 있어서, 깊이 평면의 모든 특징들은 특정 원근조절된 상태에서 눈과 초점이 맞춰진다는 것이 인지될 것이다. 깊이 평면들(306)은 디스플레이(또는 사용자의 눈들(302, 304))로부터 고정된 거리들로 세팅될 필요는 없지만 동적으로 업데이트될 수 있다. 예컨대, 사용자에 대한 근거리-필드(near-field)(예컨대, 대략 1 - 2 m 이내)의 가상 콘텐츠를 사용자가 보고 있는 경우, 도 3에 도시된 깊이 평면들의 어레이는 사용자에 더 가깝게 조정될 수 있으며, 이는 근거리-필드에서 깊이 해상도를 증가시킨다. 마찬가지로, 사용자가 중간거리-필드(예컨대, 2 m 내지 5 m) 또는 원거리-필드(예컨대, 5 m 내지 무한대)의 가상 콘텐츠를 보고 있는 경우, 깊이 평면들은 주로 그러한 거리들 내에 들어가도록 조정될 수 있다. 깊이 평면들은, 예컨대 도 4-도 6을 참조하여 설명된 도파관 스택을 조정함으로써 조정될 수 있다. 이론에 의해 제한됨이 없이, 인간 눈이 통상적으로 깊이 지각을 제공하기 위해 유한한 수의 깊이 평면들을 해석할 수 있다고 여겨진다. 결과적으로, 지각된 깊이의 매우 그럴듯한 시뮬레이션은, 눈에, 이러한 제한된 수의 깊이 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 달성될 수 있다.
도파관 스택 어셈블리
[0058] 도 4는 이미지 정보를 사용자에게 출력하기 위한 도파관 스택의 예를 예시한다. 웨어러블 시스템(400)은 복수의 도파관들(432b, 434b, 436b, 438b, 4400b)을 사용하여 3차원 지각을 눈/뇌에 제공하기 위해 활용될 수 있는 도파관들의 스택, 또는 스택된 도파관 어셈블리(480)를 포함한다. 일부 실시예들에서, 웨어러블 시스템(400)은 도 2의 웨어러블 시스템(200)에 대응할 수 있고, 도 4는 그 웨어러블 시스템(200)의 일부 부분들을 더 상세히 개략적으로 도시한다. 예컨대, 일부 실시예들에서, 도파관 어셈블리(480)는 도 2의 디스플레이(220)에 통합될 수 있다.
[0059] 도 4를 계속 참조하면, 도파관 어셈블리(480)는 또한 도파관들 사이에 복수의 특징들(458, 456, 454, 452)을 포함할 수 있다. 일부 실시예들에서, 특징들(458, 456, 454, 452)은 렌즈들일 수 있다. 다른 실시예들에서, 특징들(458, 456, 454, 452)은 렌즈들이 아닐 수 있다. 오히려, 이들은 단순히 스페이서들(예컨대, 공기 갭들을 형성하기 위한 클래딩 층들 또는 구조들)일 수 있다.
[0060] 도파관들(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)들의 전체 필드를 출력하기 위해 각각의 도파관으로 주입될 수 있다.
[0061] 일부 실시예들에서, 이미지 주입 디바이스들(420, 422, 424, 426, 428)은 각각, 대응하는 도파관(440b, 438b, 436b, 434b, 432b)으로의 주입을 위한 이미지 정보를 각각 생성하는 이산 디스플레이들이다. 일부 다른 실시예들에서, 이미지 주입 디바이스들(420, 422, 424, 426, 428)은, 예컨대 이미지 정보를 하나 이상의 광학 도관들(예컨대, 광섬유 케이블들)을 통해 이미지 주입 디바이스들(420, 422, 424, 426, 428) 각각에 파이핑할 수 있는 단일 멀티플렉싱된 디스플레이의 출력 단부들이다.
[0062] 제어기(460)는 스택된 도파관 어셈블리(480) 및 이미지 주입 디바이스들(420, 422, 424, 426, 428)의 동작을 제어한다. 제어기(460)는 도파관들(440b, 438b, 436b, 434b, 432b)에 대한 이미지 정보의 타이밍 및 프로비전(provision)을 조절하는 프로그래밍(예컨대, 비-일시적 컴퓨터-판독가능 매체의 명령들)을 포함한다. 일부 실시예들에서, 제어기(460)는 단일 통합 디바이스, 또는 유선 또는 무선 통신 채널들에 의해 연결되는 분산형 시스템일 수 있다. 일부 실시예들에서, 제어기(460)는 프로세싱 모듈들(260 또는 270)(도 2에 예시됨)의 부분일 수 있다.
[0063] 도파관들(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)은 재료의 모놀리식 피스(monolithic piece)일 수 있고, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 그 재료 피스의 표면 상에 또는 그 내부에 형성될 수 있다.
[0064] 도 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)의 조합된 옵티컬 파워(optical power)는 다른 증분 양의 파면 곡률을 생성하도록 구성될 수 있어서, 눈/뇌는 제3 도파관(436b)에서 나오는 광을, 상기 다음 위의 도파관(434b)으로부터의 광보다는 광학 무한대로부터 사람을 향해 안쪽으로 훨씬 더 가까운 제2 초점 평면에서 나오는 것으로 해석한다.
[0065] 다른 도파관 층들(예컨대, 도파관들(438b, 440b)) 및 렌즈들(예컨대, 렌즈들(456, 458))은 유사하게 구성되는데, 스택에서 가장 높은 도파관(440b)은 자신의 출력을, 사람과 가장 가까운 초점 평면을 나타내는 어그리게이트 초점 파워(aggregate focal power)에 대해 자신과 눈 사이의 렌즈들 모두를 통해 전송한다. 스택된 도파관 어셈블리(480)의 다른 측 상에서 세계(470)에서 나오는 광을 뷰잉하거나/해석할 때 렌즈들(458, 456, 454, 452)의 스택을 보상하기 위해, 보상 렌즈 층(430)은 아래의 렌즈 스택(458, 456, 454, 452)의 어그리게이트 파워를 보상하기 위해 스택의 최상부에 배치될 수 있다. 그러한 구성은 이용가능한 도파관/렌즈 쌍들이 존재하는 만큼 많은 지각된 초점 평면들을 제공한다. 도파관들의 광 추출 광학 엘리먼트들 및 렌즈들의 초점맞춤 양상들 둘 모두는 정적(예컨대, 동적이 아니거나 전기-활성이 아님)일 수 있다. 일부 대안적인 실시예들에서, 어느 하나 또는 둘 모두는 전기-활성 특징들을 사용하여 동적일 수 있다.
[0066] 도 4를 계속 참조하면, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은, 그들의 개개의 도파관들로부터 광을 재지향시킬 뿐만 아니라 도파관과 연관된 특정 깊이 평면에 대해 적합한 양의 발산 또는 시준으로 이 광을 출력하도록 구성될 수 있다. 결과적으로, 상이한 연관된 깊이 평면들을 가진 도파관들은 상이한 구성들의 광 추출 광학 엘리먼트들을 가질 수 있고, 그 광 추출 광학 엘리먼트들은 연관된 깊이 평면에 따라 상이한 양의 발산으로 광을 출력한다. 일부 실시예들에서, 본원에서 논의된 바와 같이, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은, 특정 각도들로 광을 출력하도록 구성될 수 있는 볼류메트릭(volumetric) 또는 표면 특징들일 수 있다. 예컨대, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 볼륨 홀로그램들, 표면 홀로그램들, 또는 회절 격자들일 수 있다. 광 추출 광학 엘리먼트들, 이를테면, 회절 격자들은 2015년 6월 25일자로 공개된 미국 특허 공보 번호 제2015/0178939호에서 설명되며, 이 미국 특허 공보는 인용에 의해 그 전체가 본원에 포함된다.
[0067] 일부 실시예들에서, 광 추출 광학 엘리먼트들(440a, 438a, 436a, 434a, 432a)은 회절 패턴을 형성하는 회절 특징들 또는 "회절 광학 엘리먼트"(본원에서 "DOE"로 또한 지칭됨)이다. 바람직하게, DOE는 비교적 낮은 회절 효율성을 가져서, 빔의 광의 일부만이 DOE의 각각의 교차의 경우 눈(410)을 향하여 편향되지만, 나머지는 내부 전반사를 통하여 도파관을 통해 계속 이동한다. 따라서, 이미지 정보를 전달하는 광은 다수의 위치들에서 도파관을 나가는 다수의 관련된 출사 빔들로 분할될 수 있고, 그 결과는 이런 특정 시준된 빔이 도파관 내에서 이리저리 바운싱되기 때문에 눈(304)을 향하는 상당히 균일한 출사 방출 패턴이다.
[0068] 일부 실시예들에서, 하나 이상의 DOE들은, 그들이 활성적으로 회절시키는 "온" 상태들과 그들이 상당히 회절시키지 않는 "오프" 상태들 사이에서 스위칭가능할 수 있다. 예컨대, 스위칭가능 DOE는, 마이크로액적들이 호스트 매질에서 회절 패턴을 포함하는 중합체 분산형 액정 층을 포함할 수 있고, 마이크로액적들의 굴절률은 호스트 재료의 굴절률에 실질적으로 매칭되게 스위칭될 수 있거나(이 경우에 패턴은 입사 광을 현저하게 회절시키지 않음) 또는 마이크로액적은 호스트 매질의 인덱스에 매칭되지 않는 인덱스로 스위칭될 수 있다(이 경우 패턴은 입사 광을 활성적으로 회절시킴).
[0069] 일부 실시예들에서, 피사계 심도(depth of field) 또는 깊이 평면들의 수 및 분포는 뷰어의 눈들의 동공 사이즈들 또는 배향들에 기반하여 동적으로 변화될 수 있다. 피사계 심도는 뷰어의 동공 사이즈와 반대로 변할 수 있다. 결과적으로, 뷰어의 눈들의 동공들의 사이즈들이 감소함에 따라, 피사계 심도가 증가하여서, 식별가능하지 않은 하나의 평면의 위치가 눈의 초점의 깊이를 넘어서기 때문에 그 평면이 식별가능하게 되고 동공 사이즈의 감소를 통해 보다 초점이 맞게 나타나고 피사계 심도의 증가와 상응할 수 있다. 마찬가지로, 뷰어에게 상이한 이미지들을 제시하는 데 사용되는 이격된 깊이 평면들의 수는 감소된 동공 사이즈에 따라 감소될 수 있다. 예컨대, 뷰어는 하나의 깊이 평면으로부터 벗어나서 다른 깊이 평면으로 눈의 원근조절을 조정하지 않고서는, 하나의 동공 사이즈에서 제1 깊이 평면 및 제2 깊이 평면 둘 모두의 세부사항들을 명확하게 지각할 수 없을 수 있다. 그러나, 이러한 2개의 깊이 평면들은, 원근조절을 변화시키지 않고도 다른 동공 사이즈에서 사용자에게 동시에 충분히 초점을 맞춰질 수 있다.
[0070] 일부 실시예들에서, 디스플레이 시스템은 동공 사이즈 또는 배향의 결정들에 기반하여 또는 특정 동공 사이즈 또는 배향을 나타내는 전기 신호들의 수신에 기반하여, 이미지 정보를 수신하는 도파관들의 수를 변화시킬 수 있다. 예컨대, 만약 사용자의 눈들이 2개의 도파관들과 연관된 2개의 깊이 평면들 사이를 구별할 수 없다면, 제어기(460)는 이러한 도파관들 중 하나에 이미지 정보를 제공하는 것을 중단(cease)하도록 구성되거나 프로그래밍될 수 있다. 유리하게는, 이는 시스템 상의 프로세싱 부담을 감소시킬 수 있고, 이로써 시스템의 응답성을 증가시킨다. 도파관에 대한 DOE들이 온 및 오프 상태들 사이에서 스위칭가능한 실시예들에서, 도파관이 이미지 정보를 수신할 때 DOE들은 오프 상태로 스위칭될 수 있다.
[0071] 일부 실시예들에서, 출사 빔이 뷰어의 눈의 직경 미만인 직경을 갖는 조건을 충족시키는 것이 바람직할 수 있다. 그러나, 이 조건을 충족시키는 것은 뷰어의 동공들의 사이즈의 변동성을 고려하면 난제시될 수 있다. 일부 실시예들에서, 이 조건은 뷰어의 동공의 사이즈의 결정에 대한 응답으로 출사 빔의 사이즈를 변화시킴으로써 넓은 범위의 동공 사이즈들에 걸쳐 충족된다. 예컨대, 동공 사이즈가 감소함에 따라, 출사 빔의 사이즈가 또한 감소할 수 있다. 일부 실시예들에서, 출사 빔 사이즈는 가변 애퍼처를 사용하여 변화될 수 있다.
[0072] 웨어러블 시스템(400)은 세계(470)의 일부를 이미징하는 외향 이미징 시스템(464)(예컨대, 디지털 카메라)을 포함할 수 있다. 이러한 세계(470)의 일부는 세계 카메라의 FOV(field of view)로 지칭될 수 있고, 이미징 시스템(464)은 때로는 FOV 카메라로 지칭된다. 뷰어에 의한 이미징 또는 뷰잉을 위해 이용가능한 전체 구역은 FOR(field of regard)로 지칭될 수 있다. 착용자가 자신의 신체, 머리, 또는 눈들을 움직여 실질적으로 공간의 임의의 방향을 지각할 수 있기 때문에, FOR은 웨어러블 시스템(400)을 둘러싸는 4π 스테라디안(steradian)들의 입체각을 포함할 수 있다. 다른 맥락들에서 착용자의 움직임들은 보다 억제될 수 있고, 그에 따라서 착용자의 FOR은 더 작은 입체각을 마주할 수 있다(subtend). 외향 이미징 시스템(464)으로부터 획득된 이미지들은, 사용자에 의해 행해진 제스처들(예컨대, 손 또는 손가락 제스처들)을 추적하고, 사용자 앞의 세계(470)의 오브젝트들을 검출하는 등을 행하는 데 사용될 수 있다.
[0073] 웨어러블 시스템(400)은 또한 눈 움직임들 및 얼굴 움직임들과 같은 사용자의 움직임들을 관찰하는 내향 이미징 시스템(466)(예컨대, 디지털 카메라)을 포함할 수 있다. 내향 이미징 시스템(466)은 눈(304)의 동공의 사이즈 또는 배향을 결정하기 위해 눈(410)의 이미지들을 캡처하는 데 사용될 수 있다. 내향 이미징 시스템(466)은, (예컨대, 홍채 식별을 통해) 사용자의 생체인식 식별(biometric identification)을 위한 이미지들 또는 사용자가 바라보는 방향(예컨대, 눈 포즈)을 결정하는 데 사용하기 위한 이미지들을 획득하는 데 사용될 수 있다. 일부 실시예들에서, 독립적으로, 각각의 눈의 동공 사이즈 또는 눈 포즈를 별개로 결정하고, 그렇게 함으로써 각각의 눈에 대한 이미지 정보의 프리젠테이션이 그 눈에 동적으로 맞춰지는 것을 가능하게 하기 위해, 각각의 눈마다 적어도 하나의 카메라가 활용될 수 있다. 일부 다른 실시예들에서, (예컨대, 한 쌍의 눈들마다 단지 단일 카메라만을 사용하여) 단지 한쪽 눈(410)의 동공 직경 또는 배향이 결정되고 사용자의 양쪽 눈들에 대해 유사한 것으로 가정된다. 내향 이미징 시스템(466)에 의해 획득된 이미지들은 사용자의 눈 포즈 또는 분위기(mood)를 결정하도록 분석될 수 있으며, 이는 어떤 청각적 또는 시각적 콘텐츠가 사용자에게 제시되어야 하는지를 판단하기 위해 웨어러블 시스템(400)에 의해 사용될 수 있다. 웨어러블 시스템(400)은 또한 IMU들, 가속도계들, 자이로스코프들 등과 같은 센서들을 사용하여 머리 포즈(예컨대, 머리 포지션 또는 머리 배향)를 결정할 수 있다.
[0074] 웨어러블 시스템(400)은, 사용자가 웨어러블 시스템(400)과 상호작용하도록 제어기(460)에 커맨드들을 입력할 수 있게 하는 사용자 입력 디바이스(466)를 포함할 수 있다. 예컨대, 사용자 입력 디바이스(466)는 트랙패드, 터치스크린, 조이스틱, 다중 DOF(degree-of-freedom) 제어기, 용량성 감지 디바이스, 게임 제어기, 키보드, 마우스, 방향 패드(D-패드), 완드(wand), 햅틱 디바이스, 토템(예컨대, 가상 사용자 입력 디바이스로서 기능함) 등을 포함할 수 있다. 다중-DOF 제어기는 그 제어기의 일부 또는 모든 가능한 병진운동(translation)들(예컨대, 좌/우, 전방향/후방향 또는 위/아래) 또는 회전들(예컨대, 요(yaw), 피치(pitch), 또는 롤(roll))로 사용자 입력을 감지할 수 있다. 병진운동 움직임들을 지원하는 다중-DOF 제어기는 3DOF로 지칭될 수 있는 반면, 병진운동들 및 회전들을 지원하는 다중-DOF 제어기는 6DOF로 지칭될 수 있다. 일부 경우들에서, 사용자는 손가락(예컨대, 엄지손가락)을 사용하여, 웨어러블 시스템(400)에 입력을 제공하도록(예컨대, 웨어러블 시스템(400)에 의해 제공되는 사용자 인터페이스에 사용자 입력을 제공하도록) 터치-감지 입력 디바이스를 누르거나 스와이핑(swipe)할 수 있다. 사용자 입력 디바이스(466)는 웨어러블 시스템(400)의 사용 동안 사용자의 손에 홀딩될 수 있다. 사용자 입력 디바이스(466)는 웨어러블 시스템(400)과 유선 또는 무선 통신할 수 있다.
[0075] 도 5는 도파관에 의해 출력된 출사 빔들의 예를 도시한다. 하나의 도파관이 예시되지만, 도파관 어셈블리(480) 내의 다른 도파관들이 유사하게 기능할 수 있다는 것이 인지될 것이며, 여기서 도파관 어셈블리(480)는 다수의 도파관들을 포함한다. 광(520)은 도파관(432b)의 입력 에지(432c)에서 도파관(432b)에 주입되고 TIR에 의해 도파관(432b) 내에서 전파된다. 광(520)이 DOE(432a)에 충돌하는 포인트들에서, 광의 일부는 출사 빔들(510)로서 도파관을 나간다. 출사 빔들(510)은 실질적으로 평행한 것으로 예시되지만, 그 출사 빔들(510)은 또한 도파관(432b)과 연관된 깊이 평면에 의존하여, 일정 각도로 눈(410)으로 전파되도록 재지향될 수 있다(예컨대, 발산 출사 빔들을 형성함). 실질적으로 평행한 출사 빔들은, 눈(410)으로부터 먼 거리(예컨대, 광학적 무한대)에 있는 깊이 평면 상에 세팅된 것으로 나타나는 이미지들을 형성하도록 광을 아웃커플링하는 광 추출 광학 엘리먼트들을 갖는 도파관을 표시할 수 있다는 것이 인지될 것이다. 다른 도파관들 또는 다른 세트들의 광 추출 광학 엘리먼트들은 더 발산하는 출사 빔 패턴을 출력할 수 있으며, 이는, 눈(410)이 망막 상에 초점을 맞추게 하기 위해 더 가까운 거리로 원근조절하는 것을 요구할 것이고 광학적 무한대보다 눈(410)에 더 가까운 거리로부터의 광으로서 뇌에 의해 해석될 것이다.
[0076] 도 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)에 통합될 수 있다.
[0077] 중계된 그리고 출사-동공 확장된 광은 분배 도파관 장치로부터 하나 이상의 주 평면형 도파관들(632b)에 광학적으로 커플링될 수 있다. 주 평면형 도파관(632b)은 바람직하게는, 제1 축에 직교하는 제2 축(예컨대, 도 6의 도면에서 수평 또는 X-축)을 따라 광을 중계할 수 있다. 특히, 제2 축은 제1 축에 대해 비-직교 축일 수 있다. 주 평면형 도파관(632b)은 그 제2 축(예컨대, X-축)을 따라 광의 유효 출사 동공을 확장시킨다. 예컨대, 분배 평면형 도파관(622b)은 수직 또는 Y-축을 따라 광을 중계 및 확장시키고, 수평 또는 X-축을 따라 광을 중계 및 확장시킬 수 있는 주 평면형 도파관(632b)으로 그 광을 전달할 수 있다.
[0078] 광학 시스템은 단일 모드 광섬유(640)의 근단부에 광학적으로 커플링될 수 있는 컬러 광(예컨대, 적색, 녹색, 및 청색 레이저 광)의 하나 이상의 소스들(610)을 포함할 수 있다. 광 섬유(640)의 원단부는 압전 재료의 중공 튜브(642)를 통해 스레딩(thread)되거나 수용될 수 있다. 원단부는 고정되지 않은 가요성 캔틸레버(644)로서 튜브(642)로부터 돌출한다. 압전 튜브(642)는 4개의 쿼드런트(quadrant) 전극들(예시되지 않음)과 연관될 수 있다. 전극들은, 예컨대 튜브(642)의 외부, 외측 표면 또는 외측 주변부 또는 직경 상에 도금될 수 있다. 코어 전극(예시되지 않음)은 또한 튜브(642)의 코어, 중심, 내측 주변부 또는 내측 직경에 로케이팅될 수 있다.
[0079] 예컨대, 와이어들(660)을 통해 전기적으로 커플링된 구동 전자장치(650)는 2개의 축들에서 압전 튜브(642)를 독립적으로 구부리기 위해 전극들의 대향하는 쌍들을 구동한다. 광섬유(644)의 돌출 원단 끝 부분은 기계 공진 모드들을 갖는다. 공진 주파수들은 광섬유(644)의 직경, 길이, 및 재료 특성들에 의존할 수 있다. 섬유 캔틸레버(644)의 제1 기계 공진 모드 인근에서 압전 튜브(642)를 진동시킴으로써, 섬유 캔틸레버(644)는 진동하게 될 수 있고, 큰 편향들을 통해 스위핑(sweep)할 수 있다.
[0080] 2개의 축들에서 공진 진동을 자극함으로써, 섬유 캔틸레버(644)의 끝 부분은 영역 채움 2D(two-dimensional) 스캔으로 2축 방향으로(biaxially) 스캔된다. 섬유 캔틸레버(644)의 스캔과 동기하여 광원(들)(610)의 강도를 변조함으로써, 섬유 캔틸레버(644)로부터 나오는 광은 이미지를 형성할 수 있다. 그러한 셋업에 대한 설명들은 미국 특허 공보 제2014/0003762호에서 제공되며, 이 미국 특허 공보는 인용에 의해 그 전체가 본원에 포함된다.
[0081] 광학 커플러 서브시스템의 컴포넌트는 스캐닝 섬유 캔틸레버(644)로부터 나오는 광을 시준할 수 있다. 시준된 광은 미러 표면(648)에 의해, 적어도 하나의 DOE(diffractive optical element)(622a)를 포함하는 좁은 분배 평면형 도파관(622b)으로 반사될 수 있다. 시준된 광은 TIR에 의해 분배 평면형 도파관(622b)을 따라(도 6의 도면에 대해) 수직으로 전파될 수 있고, 이렇게 하여, DOE(622a)와 반복적으로 교차한다. DOE(622a)는 바람직하게는, 낮은 회절 효율성을 갖는다. 이는, 광의 일부(fraction)(예컨대, 10%)로 하여금 DOE(622a)와의 각각의 교차점에서 더 큰 주 평면형 도파관(632b)의 에지를 향해 회절되게 하고, 광의 일부로 하여금 TIR을 통해 분배 평면형 도파관(622b)의 길이 아래에서 그의 오리지널 궤적 상에서 계속되게 할 수 있다.
[0082] DOE(622a)와의 각각의 교차점에서, 추가적인 광이 주 도파관(632b)의 입구를 향해 회절될 수 있다. 인입 광을 다수의 아웃커플링된 세트들로 분할함으로써, 광의 출사 동공은 분배 평면형 도파관(622b)에서 DOE(4)에 의해 수직으로 확장될 수 있다. 분배 평면형 도파관(622b) 밖으로 커플링되는 이러한 수직으로 확장된 광은 주 평면형 도파관(632b)의 에지에 들어갈 수 있다.
[0083] 주 도파관(632b)에 들어가는 광은 TIR을 통해 주 도파관(632b)을 따라(도 6의 도면에 대해) 수평으로 전파될 수 있다. 광이 TIR을 통해 주 도파관(632b)의 길이의 적어도 일부를 따라 수평으로 전파됨에 따라 광은 다수의 포인트들에서 DOE(632a)와 교차한다. DOE(632a)는 유리하게는, 광의 편향 및 초점맞춤 둘 모두를 생성하도록, 선형 회절 패턴과 방사상 대칭 회절 패턴의 합인 위상 프로파일을 갖도록 설계 또는 구성될 수 있다. DOE(632a)는 유리하게는, 낮은 회절 효율성(예컨대, 10%)을 가질 수 있어서, 빔의 광 중 일부만이 DOE(632a)의 각각의 교차에 의해 뷰의 눈을 향해 편향되는 반면, 광의 나머지는 TIR을 통해 주 도파관(632b)을 통해 계속 전파된다.
[0084] 전파되는 광과 DOE(632a) 사이의 각각의 교차점에서, 광의 일부가 주 도파관(632b)의 인접한 면을 향해 회절되어, 광이 TIR을 벗어나 주 도파관(632b)의 면으로부터 나오게 허용한다. 일부 실시예들에서, DOE(632a)의 방사상 대칭 회절 패턴은 추가적으로, 회절된 광에 초점 레벨을 부여하여, 개별 빔의 광 파면을 성형(예컨대, 곡률을 부여함)할뿐만 아니라, 설계된 초점 레벨과 매칭되는 각도로 빔을 조종한다.
[0085] 따라서, 이러한 상이한 경로들은, 상이한 각도들의 다수의 DOE들(632a), 초점 레벨들, 또는 출사 동공에서 상이한 채움 패턴들을 산출하는 것에 의해 광으로 하여금 주 평면형 도파관(632b) 밖으로 커플링되게 할 수 있다. 출사 동공에서의 상이한 채움 패턴들은 다수의 깊이 평면들을 갖는 광 필드 디스플레이를 생성하는 데 유익하게 사용될 수 있다. 도파관 어셈블리 내의 각각의 층 또는 스택 내의 한 세트의 층들(예컨대, 3개의 층들)은 개개의 컬러(예컨대, 적색, 청색, 녹색)를 생성하는 데 이용될 수 있다. 따라서, 예컨대 제1 세트의 3개의 인접한 층들은 제1 초점 깊이로 적색, 청색 및 녹색 광을 각각 생성하는 데 이용될 수 있다. 제2 세트의 3개의 인접한 층들은 제2 초점 깊이로 적색, 청색 및 녹색 광을 각각 생성하는 데 이용될 수 있다. 다수의 세트들은 다양한 초점 깊이들을 갖는 풀 3D 또는 4D 컬러 이미지 광 필드를 생성하는 데 이용될 수 있다.
[0086] 웨어러블 시스템의 특정 실시예들이 (예컨대, 도 3을 참조하여 설명된 바와 같이) 상이한 깊이 평면들 상에 가상 오브젝트들을 렌더링할 수 있지만, 이는 제한적인 것이 아니라 예시적인 것으로 의도된다. 가상 오브젝트들이 사용자로부터 상이한 깊이들에 있는 것으로 나타나도록 가상 오브젝트들을 렌더링하기 위해, 다른 광학 기법들이 사용될 수 있다. 예컨대, 미국 특허 공보 제2015/0346495호에서 설명된 바와 같이, 예컨대 VFE(variable focus element)가 사용될 수 있으며, 이 미국 특허 공보는 이로써 인용에 의해 그 전체가 본원에 포함된다. 웨어러블 시스템의 다른 실시예들에서, 상이한 가상 오브젝트들은 동일한 깊이 평면 상에서 렌더링될 수 있지만, 그럼에도 불구하고 다른 깊이들에 있는 것처럼 사용자에게 나타난다. 예컨대, 깊이 평면 상에 렌더링되는 가상 콘텐츠의 겉보기 깊이(apparent depth)는, 가상 콘텐츠가 상이한 이접운동 위치(및 상이한 지각 깊이(perceived depth))를 갖도록 가상 콘텐츠와 연관된 픽셀들의 렌더링 위치들을 변경함으로써 변경될 수 있다. 따라서, 2개의 가상 오브젝트들은 동일한 깊이 평면 상에 렌더링될 수 있지만, 픽셀 렌더링 포지션들을 수정하여 (제1 가상 오브젝트에 대해) 제2 가상 오브젝트에 대한 상이한 이접운동 위치를 생성함으로써, (제1 가상 오브젝트에 대해) 제2 가상 오브젝트는 사용자에 더 가까운 것으로 지각되거나, 사용자로부터 동일한 깊이에 있는 것으로 지각되거나, 또는 사용자로부터 더 멀리 있는 것으로 지각될 수 있다. 따라서, 상이한 가상 콘텐츠의 지각된 깊이들은, 동일한 깊이 평면 상에 상이한 가상 콘텐츠를 렌더링하지만 이접운동을 조정함으로써, 달성될 수 있다.
웨어러블 시스템의 다른 컴포넌트들
[0087] 다수의 구현들에서, 웨어러블 시스템은 위에서 설명된 웨어러블 시스템의 컴포넌트들에 추가하여 또는 대안적으로 다른 컴포넌트들을 포함할 수 있다. 웨어러블 시스템은, 예컨대 하나 이상의 햅틱 디바이스들 또는 컴포넌트들을 포함할 수 있다. 햅틱 디바이스들 또는 컴포넌트들은 사용자에게 촉감(tactile sensation)을 제공하도록 동작가능할 수 있다. 예컨대, 햅틱 디바이스들 또는 컴포넌트들은 가상 콘텐츠(예컨대, 가상 오브젝트들, 가상 도구들, 다른 가상 구성들)를 터치할 때 압력 또는 텍스처의 촉감을 제공할 수 있다. 촉감은 가상 오브젝트가 표현하는 물리적 오브젝트의 느낌을 복제할 수 있거나, 또는 가상 콘텐츠가 표현하는 상상의 오브젝트 또는 캐릭터(예컨대, 용)의 느낌을 복제할 수 있다. 일부 구현들에서, 햅틱 디바이스들 또는 컴포넌트들은 사용자에 의해 착용될 수 있다(예컨대, 사용자 웨어러블 글러브). 일부 구현들에서, 햅틱 디바이스들 또는 컴포넌트들은 사용자에 의해 홀딩될 수 있다.
[0088] 웨어러블 시스템은, 예컨대 웨어러블 시스템과의 입력 또는 상호작용을 허용하도록 사용자에 의해 조작가능한 하나 이상의 물리적 오브젝트들을 포함할 수 있다. 이러한 물리적 오브젝트들은 본원에서 토템들로 지칭될 수 있다. 일부 토템들은 무생물 오브젝트들, 이를테면, 예컨대, 금속 또는 플라스틱의 피스, 벽, 테이블의 표면의 형태를 취할 수 있다. 특정 구현들에서, 토템들은 실제로는 어떤 물리적 입력 구조들(예컨대, 키들, 트리거들, 조이스틱, 트랙볼, 로커 스위치(rocker switch))도 갖지 않을 수 있다. 대신, 토템은 단순히 물리적 표면을 제공할 수 있고, 웨어러블 시스템은 토템의 하나 이상의 표면들 상에 있는 것으로 사용자에게 나타나도록 사용자 인터페이스를 렌더링할 수 있다. 예컨대, 웨어러블 시스템은 토템의 하나 이상의 표면들에 상주하는 것으로 나타나도록 컴퓨터 키보드 및 트랙패드의 이미지를 렌더링할 수 있다. 예컨대, 웨어러블 시스템은 토템으로서 역할을 하는 얇은 직사각형 알루미늄 플레이트의 표면 상에 나타나도록 가상 컴퓨터 키보드 및 가상 트랙패드를 렌더링할 수 있다. 직사각형 플레이트 그 자체는 어떤 물리적인 키들 또는 트랙패드 또는 센서들도 갖지 않는다. 그러나, 웨어러블 시스템은 가상 키보드 또는 가상 트랙패드를 통해 이루어진 선택들 또는 입력들로서 직사각형 플레이트와의 사용자 조작 또는 상호작용 또는 터치들을 검출할 수 있다. 사용자 입력 디바이스(466)(도 4에 도시됨)는, 트랙패드, 터치패드, 트리거, 조이스틱, 트랙볼, 로커 또는 가상 스위치, 마우스, 키보드, 다중-자유도 제어기, 또는 다른 물리적 입력 디바이스를 포함할 수 있는 토템의 실시예일 수 있다. 사용자는 웨어러블 시스템 또는 다른 사용자들과 상호작용하기 위해 토템을 단독으로 또는 포즈들과 조합하여 사용할 수 있다.
[0089] 본 개시내용의 웨어러블 디바이스들, HMD, 및 디스플레이 시스템들과 함께 사용가능한 햅틱 디바이스들 및 토템들의 예들은 미국 특허 공보 제2015/0016777호에서 설명되며, 이 미국 특허 공보는 인용에 의해 그 전체가 본원에 포함된다.
예시적인 웨어러블 시스템들, 환경들, 및 인터페이스들
[0090] 웨어러블 시스템은 렌더링된 광 필드들에서 높은 피사계 심도를 달성하기 위해 다양한 맵핑 관련 기법들을 이용할 수 있다. 가상 세계의 맵핑 시에, 실세계에 관하여 가상 오브젝트들을 정확히 묘사하기 위해 실세계의 모든 특징들 및 포인트들을 아는 것이 유리하다. 이를 위해, 웨어러블 시스템의 사용자들로부터 캡처된 FOV 이미지들은, 실세계의 다양한 포인트들 및 특징들에 관한 정보를 운반하는 새로운 사진들을 포함함으로써 세계 모델에 추가될 수 있다. 예컨대, 웨어러블 시스템은, 한 세트의 맵 포인트들(이를테면, 2D 포인트들 또는 3D 포인트들)을 수집하고 새로운 맵 포인트들을 발견하여 세계 모델의 더 정확한 버전을 렌더링할 수 있다. 제1 사용자의 세계 모델은 (예컨대, 네트워크, 이를테면, 클라우드 네트워크를 통해) 제2 사용자에게 통신될 수 있어서, 제2 사용자는 제1 사용자 주변의 세계를 경험할 수 있다.
[0091] 도 7은 MR 환경(700)의 예의 블록도이다. MR 환경(700)은 하나 이상의 사용자 웨어러블 시스템들(예컨대, 웨어러블 시스템(200) 또는 디스플레이 시스템(220)) 또는 고정 룸(stationary room) 시스템들(예컨대, 룸 카메라들 등)로부터 입력(예컨대, 사용자의 웨어러블 시스템으로부터의 시각 입력(702), 이를테면, 룸 카메라들로부터의 고정 입력(704), 다양한 센서들로부터의 감각 입력(706), 제스처들, 토템들, 눈 추적, 사용자 입력 디바이스(466)로부터의 사용자 입력 등)을 수신하도록 구성될 수 있다. 웨어러블 시스템들은 사용자의 환경의 위치 및 다양한 다른 속성들을 결정하기 위해 다양한 센서들(예컨대, 가속도계들, 자이로스코프들, 온도 센서들, 움직임 센서들, 깊이 센서들, GPS 센서들, 내향 이미징 시스템, 외향 이미징 시스템 등)을 사용할 수 있다. 이 정보는 추가로, 이미지들을 제공할 수 있는 룸의 고정 카메라들로부터의 정보 또는 상이한 관점으로부터의 다양한 큐들로 보충될 수 있다. 카메라들(이를테면, 룸 카메라들 또는 외향 이미징 시스템의 카메라들)에 의해 포착된 이미지 데이터는 한 세트의 맵핑 포인트들로 감소될 수 있다.
[0092] 하나 이상의 오브젝트 인식기들(708)은 맵 데이터베이스(710)의 도움으로, 수신된 데이터(예컨대, 포인트들의 모음)를 크롤링(crawl)하고, 포인트들을 인식 또는 맵핑하고, 이미지들을 태깅(tag)하고, 시맨틱 정보(semantic information)를 오브젝트들에 부착할 수 있다. 맵 데이터베이스(710)는 시간이 경과함에 따라 수집된 다양한 포인트들 및 그들의 대응하는 오브젝트들을 포함할 수 있다. 다양한 디바이스들 및 맵 데이터베이스는 클라우드에 액세스하기 위해 네트워크(예컨대, LAN, WAN 등)를 통해 서로 연결될 수 있다.
[0093] 맵 데이터베이스의 이러한 정보 및 포인트들의 모음에 기반하여, 오브젝트 인식기들(708a 내지 708n)은 환경 내의 오브젝트들을 인식할 수 있다. 예컨대, 오브젝트 인식기들은, 얼굴들, 사람들, 창문들, 벽들, 사용자 입력 디바이스들, 텔레비전들, 사용자 환경의 다른 오브젝트들 등을 인식할 수 있다. 하나 이상의 오브젝트 인식기들은 특정 특징들을 갖는 오브젝트에 대해 전문화될 수 있다. 예컨대, 오브젝트 인식기(708a)는 얼굴들을 인식하는 데 사용될 수 있는 반면, 다른 오브젝트 인식기는 토템들을 인식하는 데 사용될 수 있다.
[0094] 오브젝트 인식들은 다양한 컴퓨터 비전 기법들을 사용하여 수행될 수 있다. 예컨대, 웨어러블 시스템은 장면 재구성, 이벤트 검출, 비디오 추적, 오브젝트 인식, 오브젝트 포즈 추정, 학습(learning), 인덱싱, 모션 추정, 또는 이미지 복원 등을 수행하기 위해 외향 이미징 시스템(464)(도 4에 도시됨)에 의해 포착된 이미지들을 분석할 수 있다. 이러한 작업들을 수행하기 위해 하나 이상의 컴퓨터 비전 알고리즘들이 사용될 수 있다. 컴퓨터 비전 알고리즘들의 비-제한적인 예들은: SIFT(Scale-invariant feature transform), SURF(speeded up robust features), ORB(oriented FAST and rotated BRIEF), BRISK(binary robust invariant scalable keypoints), FREAK(fast retina keypoint), Viola-Jones 알고리즘, Eigenfaces 접근법, Lucas-Kanade 알고리즘, Horn-Schunk 알고리즘, Mean-shift 알고리즘, vSLAM(visual simultaneous location and mapping) 기법들, 순차적 베이지안 추정기(예컨대, 칼만 필터, 확장된 칼만 필터 등), 번들 조정, 적응형 임계화(Adaptive thresholding)(및 다른 임계화 기법들), ICP(Iterative Closest Point), SGM(Semi Global Matching), SGBM(Semi Global Block Matching), 특징 포인트 히스토그램(Feature Point Histogram)들, 다양한 기계 학습 알고리즘들(이를테면, 예컨대, 지원 벡터 기계, k-최근접 이웃 알고리즘, 나이브 베이즈(Naive Bayes), 뉴럴 네트워크(콘볼루셔널 또는 딥 뉴럴 네트워크들을 포함함) 또는 다른 지도(supervised)/비-지도(unsupervised) 모델들 등) 등을 포함한다.
[0095] 오브젝트 인식들은 추가적으로 또는 대안적으로, 다양한 기계 학습 알고리즘들에 의해 수행될 수 있다. 일단 트레이닝되면, 기계 학습 알고리즘은 HMD에 의해 저장될 수 있다. 기계 학습 알고리즘들의 일부 예들은, 회귀 알고리즘들(이를테면, 예컨대, 정규 최소 제곱 회귀(Ordinary Least Squares Regression)), 인스턴스-기반 알고리즘들(이를테면, 예컨대, 학습 벡터 양자화(Learning Vector Quantization)), 결정 트리 알고리즘들(이를테면, 예컨대, 분류 및 회귀 트리들), 베이지안 알고리즘들(이를테면, 예컨대, 나이브 베이즈), 클러스터링 알고리즘들(이를테면, 예컨대, k-평균 클러스터링), 연관 규칙 학습 알고리즘들(이를테면, 예컨대, 선험적 알고리즘들), 인공 뉴럴 네트워크 알고리즘들(이를테면, 예컨대, 퍼셉트론(Perceptron)), 심층 학습 알고리즘들(이를테면, 예컨대, 딥 볼츠만 기계, 또는 딥 뉴럴 네트워크), 차원 감소 알고리즘(이를테면, 예컨대, 주성분 분석(Principal Component Analysis)), 앙상블 알고리즘들(이를테면, 예컨대, 스택된 일반화(Stacked Generalization)), 또는 다른 기계 학습 알고리즘들을 포함하는 지도 또는 비-지도 기계 학습 알고리즘들을 포함할 수 있다. 일부 실시예들에서, 개별 모델들은 개별 데이터 세트들에 대해 맞춤화될 수 있다. 예컨대, 웨어러블 디바이스는 기본 모델을 생성하거나 저장할 수 있다. 기본 모델은 데이터 타입(예컨대, 텔레프레전스 세션의 특정 사용자), 데이터 세트(예컨대, 텔레프레전스 세션의 사용자의 획득된 한 세트의 추가적인 이미지들), 조건부 상황들, 또는 다른 변동들에 특정적인 추가적인 모델들을 생성하기 위한 시작 포인트로서 사용될 수 있다. 일부 실시예들에서, 웨어러블 HMD는 어그리게이팅된 데이터의 분석을 위한 모델들을 생성하기 위해 복수의 기법들을 활용하도록 구성될 수 있다. 다른 기법들은 미리 정의된 임계치들 또는 데이터 값들을 사용하는 것을 포함할 수 있다.
[0096] 맵 데이터베이스의 이러한 정보 및 포인트들의 모음에 기반하여, 오브젝트 인식기들(708a 내지 708n)은 오브젝트들을 인식하고, 오브젝트들에 생기(life)를 제공하기 위해 시맨틱 정보로 오브젝트들을 보충할 수 있다. 예컨대, 만약 오브젝트 인식기가 한 세트의 포인트들을 문이라고 인식하면, 시스템은 일부 시맨틱 정보를 부착할 수 있다(예컨대, 문은 힌지(hinge)를 갖고, 힌지를 중심으로 90도 움직임을 가짐). 만약 오브젝트 인식기가 한 세트의 포인트들을 미러라고 인식하면, 시스템은 미러는 룸 내의 오브젝트들의 이미지들을 반사할 수 있는 반사 표면을 갖는다는 시맨틱 정보를 부착할 수 있다. 시간이 경과함에 따라, 시스템(로컬로 상주할 수 있거나, 또는 무선 네트워크를 통해 액세스가능할 수 있음)이 세계로부터 더 많은 데이터를 누적함에 따라 맵 데이터베이스가 성장한다. 일단 오브젝트들이 인식되면, 정보는 하나 이상의 웨어러블 시스템들에 송신될 수 있다. 예컨대, MR 환경(700)은 캘리포니아에서 일어나는 장면에 관한 정보를 포함할 수 있다. 환경(700)은 뉴욕의 하나 이상의 사용자들에게 송신될 수 있다. FOV 카메라로부터 수신된 데이터 및 다른 입력들에 기반하여, 오브젝트 인식기들 및 다른 소프트웨어 컴포넌트들은 다양한 이미지들로부터 수집된 포인트들을 맵핑하고, 오브젝트들을 인식하는 등을 수행할 수 있어서, 장면이 세계의 상이한 부분에 있을 수 있는 제2 사용자에게 정확히 "전달"될 수 있다. 환경(700)은 또한 로컬화 목적들을 위해 토폴로지컬 맵을 사용할 수 있다.
[0097] 오브젝트 인식기들은 3D 환경에서 오브젝트들을 식별할 수 있으며, 오브젝트들을 선택하거나 오브젝트들과 상호작용하는 데 사용되는 커서의 현재 포지션에 대한 시스템의 지식으로부터, 이 정보는 본원에서 설명된 이클립스 커서 기법들을 구현하는 데 사용될 수 있다. 예컨대, 커서 위치가 오브젝트 인식기들에 의해 식별된 타겟 오브젝트 근처에 있다면, 초점 표시자가 타겟 오브젝트 주위에 제공되거나 강조될 수 있다. 오브젝트 인식기들은 오브젝트의 위치(예컨대, 중심) 또는 오브젝트의 에지들 또는 경계들을 결정할 수 있고, 오브젝트의 중심 또는 에지들 또는 경계들에 대한 커서의 위치(예컨대, 사용자로부터 커서 포지션을 향하는 광선)는 초점 표시자를 렌더링할지 여부 또는 렌더링할 방법, 커서를 오브젝트를 향해 가속할지 여부(예컨대, 본원에서 설명된 인력 효과) 등을 결정하는 데 사용될 수 있다.
[0098] 도 8은 인식된 오브젝트들에 관하여 가상 콘텐츠를 렌더링하는 방법(800)의 예의 프로세스 흐름도이다. 방법(800)은 가상 장면이 웨어러블 시스템의 사용자에게 어떻게 표현될 수 있는지를 설명한다. 사용자는 장면으로부터 지리적으로 원격일 수 있다. 예컨대, 사용자는 뉴욕에 있을 수 있지만, 현재 캘리포니아에서 진행되고 있는 장면을 뷰잉하기를 원할 수 있거나, 또는 캘리포니아에 거주하는 친구와 함께 산책을 하러 가기를 원할 수 있다.
[0099] 블록(810)에서, 웨어러블 시스템은 사용자 및 다른 사용자들로부터, 사용자의 환경에 관한 입력을 수신할 수 있다. 이는 다양한 입력 디바이스들, 및 맵 데이터베이스에 이미 보유된 지식을 통해 달성될 수 있다. 블록(810)에서, 사용자의 FOV 카메라, 센서들, GPS, 눈 추적 등은 시스템에 정보를 운반한다. 블록(820)에서, 시스템은 이러한 정보에 기반하여 희소 포인트(sparse point)들을 결정할 수 있다. 희소 포인트들은 사용자의 주변들의 다양한 오브젝트들의 배향 및 포지션을 디스플레이 및 이해하는 데 사용될 수 있는 포즈 데이터(예컨대, 머리 포즈, 눈 포즈, 신체 포즈, 또는 손 제스처들)를 결정하는 데 사용될 수 있다. 블록(830)에서, 오브젝트 인식기들(708a-708n)은 이러한 수집된 포인트들을 크롤링하고, 맵 데이터베이스를 사용하여 하나 이상의 오브젝트들을 인식할 수 있다. 그런 다음, 블록(840)에서, 이러한 정보는 사용자의 개별 웨어러블 시스템으로 운반될 수 있으며, 그에 따라서, 블록(850)에서, 원하는 가상 장면이 사용자에게 디스플레이될 수 있다. 예컨대, 원하는 가상 장면(예컨대, CA의 사용자)은 뉴욕의 사용자의 다양한 오브젝트들 및 다른 주변들에 관하여 적절한 배향, 포지션 등에서 디스플레이될 수 있다.
[0100] 도 9는 웨어러블 시스템의 다른 예의 블록도이다. 이 예에서, 웨어러블 시스템(900)은 세계에 대한 맵 데이터를 포함할 수 있는 맵을 포함한다. 맵은 부분적으로 웨어러블 시스템 상에 로컬로 상주할 수 있고, (예컨대, 클라우드 시스템에서) 유선 또는 무선 네트워크에 의해 액세스가능한 네트워킹된 저장 위치들에 부분적으로 상주할 수 있다. 포즈 프로세스(910)는 웨어러블 컴퓨팅 아키텍처(예컨대, 프로세싱 모듈(260) 또는 제어기(460)) 상에서 실행되고 웨어러블 컴퓨팅 하드웨어 또는 사용자의 포지션 및 배향을 결정하기 위해 맵으로부터의 데이터를 활용할 수 있다. 포즈 데이터는 사용자가 시스템을 경험하고 세계에서 동작할 때 실시간으로 수집된 데이터로부터 컴퓨팅될 수 있다. 데이터는 이미지들, 센서들(이를테면, 가속도계, 자이로스코프, 자력계, 또는 그러한 컴포넌트들의 조합들을 포함하는 IMU(inertial measurement unit)들)로부터의 데이터, 및 실제 또는 가상 환경의 오브젝트들과 관련된 표면 정보를 포함할 수 있다.
[0101] 희소 포인트 표현(sparse point representation)은 동시적인 로컬화 및 맵핑(입력이 이미지들/시각 전용인 구성을 지칭하는 SLAM 또는 V-SLAM) 프로세스의 출력일 수 있다. 시스템은 다양한 컴포넌트들이 세계 어디에 있는지 뿐만 아니라, 세상이 무엇으로 이루어져 있는지를 파악하도록 구성될 수 있다. 포즈는, 맵을 파퓰레이팅(populate)하고 맵으로부터의 데이터를 사용하는 것을 포함해서, 다수의 목표들을 달성하는 빌딩 블록일 수 있다.
[0102] 일 실시예에서, 희소 포인트 포지션은 그 자체로 완전히 충분하지 않을 수 있고, 다초점 AR, VR, 또는 MR 경험을 생성하기 위해 추가적인 정보가 필요할 수 있다. 일반적으로 깊이 맵 정보를 지칭하는 조밀한 표현들이 이러한 갭을 적어도 부분적으로 채우기 위해 활용될 수 있다. 그러한 정보는 입체(940)로 지칭되는 프로세스로부터 컴퓨팅될 수 있으며, 여기서 깊이 정보는 삼각측량 또는 비행-시간 감지와 같은 기법을 사용하여 결정된다. 이미지 정보 및 활성 패턴들(이를테면, 활성 투사기들을 사용하여 생성된 적외선 패턴들)은 입체 프로세스(940)에 대한 입력으로서의 역할을 할 수 있다. 상당한 양의 깊이 맵 정보가 함께 융합될 수 있으며, 그 중 일부는 표면 표현으로 요약될 수 있다. 예컨대, 수학적으로 정의가능한 표면들은 (예컨대, 큰 포인트 클라우드에 비해) 효율적일 수 있고, 게임 엔진들과 같은 다른 프로세싱 디바이스들에 이해가능한 입력들일 수 있다. 따라서, 입체 프로세스(940)의 출력(예컨대, 깊이 맵)은 융합 프로세스(930)에서 조합될 수 있다. 포즈는 또한 이 융합 프로세스(930)에 대한 입력일 수 있고, 융합(930)의 출력은 맵 프로세스(920)를 파퓰레이팅하기 위한 입력이 된다. 서브-표면들이 이를테면, 토폴리지 맵핑에서 서로 연결되어 더 큰 표면들을 형성할 수 있고, 맵은 포인트들 및 표면들의 큰 하이브리드가 된다.
[0103] 혼합 현실 프로세스(960)에서의 다양한 양상들을 해결하기 위해, 다양한 입력들이 활용될 수 있다. 예컨대, 도 9에 묘사된 실시예에서, 게임 파라미터들은, 시스템의 사용자가 다양한 위치들의 하나 이상의 몬스터들, 다양한 조건들(이를테면, 사용자가 몬스터를 쏘는 경우) 하에서 죽거나 도망가는 몬스터들, 다양한 위치들의 벽들 또는 다른 오브젝트들 등을 갖는 몬스터 전투 게임을 플레이하고 있다고 결정하기 위한 입력들일 수 있다. 세계 맵은, 혼합 현실에 대한 다른 귀중한 입력이 되는, 그러한 오브젝트들이 서로 상대적으로 있는 장소에 관한 정보를 포함할 수 있다. 세계에 대한 포즈가 또한 입력이 되며, 거의 모든 대화형 시스템에 대해 중요한 역할을 한다. 이들과 같은 파라미터들 및 입력들은 혼합 현실 프로세스(960)에서 이클립스 커서 기능성을 제공하는 데 사용될 수 있다.
[0104] 사용자로부터의 제어들 또는 입력들은 웨어러블 시스템(900)에 대한 다른 입력이다. 본원에서 설명된 바와 같이, 사용자 입력들은 시각적 입력, 제스처들, 토템들, 오디오 입력, 감각 입력 등을 포함할 수 있다. 예컨대, 주위를 돌아다니거나 게임을 플레이하기 위해, 사용자는 웨어러블 시스템(900)에, 자신이 하기를 원하는 것에 관해 지시할 필요가 있을 수 있다. 단지 공간에서 자신을 움직이는 것 외에도, 활용될 수 있는 다양한 형태들의 사용자 제어들이 존재한다. 일 실시예에서, 토템(예컨대, 사용자 입력 디바이스) 또는 오브젝트, 이를테면, 장난감 총은 사용자에 의해 홀딩되고 시스템에 의해 추적될 수 있다. 시스템은 바람직하게는, 사용자가 아이템을 홀딩하고 있다는 것을 알고 사용자가 아이템과 어떤 종류의 상호작용을 하고 있는지를 이해하도록 구성될 것이다(예컨대, 만약 토템 또는 오브젝트가 총이면, 시스템은 위치 및 배향뿐만 아니라, 센서, 이를테면, IMU가 장착될 수 있는 트리거 또는 다른 감지 버튼 또는 엘리먼트를 사용자가 클릭하고 있는지 여부를 이해하도록 구성될 수 있으며, 그 센서는, 그러한 활동이 카메라들 중 임의의 카메라의 시야 내에 있지 않을 때라도 무슨 일이 일어나고 있는지를 결정하는 데 도움을 줄 수 있음).
[0105] 손 제스처 추적 또는 인식은 또한 입력 정보를 제공할 수 있다. 웨어러블 시스템(900)은 버튼 누름들에 대한 손 제스처들, 왼쪽 또는 오른쪽, 중지, 잡기, 홀드 등을 제스처하기 위한 손 제스처들을 추적 및 해석하도록 구성될 수 있다. 예컨대, 일 구성에서, 사용자는 비-게임 환경에서 이메일들 또는 캘린더를 훑어보거나(flip through) 다른 사람 또는 플레이어와 "주먹 인사(fist bump)"를 하기를 원할 수 있다. 웨어러블 시스템(900)은, 동적일 수 있거나 동적이지 않을 수 있는 최소량의 손 제스처를 레버리지(leverage)하도록 구성될 수 있다. 예컨대, 제스처들은 중지를 위한 펼쳐진 손, ok를 위한 엄지손가락 올리기, not ok를 위한 엄지손가락 내리기; 또는 방향성 커맨드들을 위한 우측 또는 좌측 또는 위/아래로의 손 뒤집기와 같은 단순한 정적 제스처일 수 있다.
[0106] 눈 추적(예컨대, 특정 깊이 또는 범위로 렌더링하도록 디스플레이 기술을 제어하기 위해 사용자가 바라보는 곳을 추적함)은 다른 입력이다. 일 실시예에서, 눈들의 이접운동은 삼각측량을 사용하여 결정될 수 있으며, 그런 다음, 그 특정 사람을 위해 개발된 이접운동/원근조절 모델을 사용하여, 원근조절이 결정될 수 있다.
[0107] 카메라 시스템들과 관련하여, 도 9에 도시된 예시적인 웨어러블 시스템(900)은 3개의 쌍들의 카메라들, 즉, 사용자의 얼굴의 측면들에 대해 배열되는 비교적 넓은 FOV 또는 수동 SLAM 쌍의 카메라들, 입체 이미징 프로세스(940)를 다루기 위해, 그리고 또한, 사용자의 얼굴의 앞에서 추적되는 손 제스처들 및 토템/오브젝트를 캡처하기 위해 사용자의 앞에 배향된 상이한 쌍의 카메라들을 포함할 수 있다. 입체 프로세스(940)를 위한 FOV 카메라들 및 카메라들의 쌍은 외향 이미징 시스템(464)(도 4에 도시됨)의 부분일 수 있다. 웨어러블 시스템(900)은 눈 벡터들 및 다른 정보를 삼각측량하기 위해 사용자의 눈들을 향해 배향되는 눈 추적 카메라들(눈 추적 카메라들은 도 4에 도시된 내향 이미징 시스템(462)의 부분일 수 있음)을 포함할 수 있다. 웨어러블 시스템(900)은 또한, 장면에 텍스처를 주입하기 위해 하나 이상의 텍스처링된 광 투사기들(이를테면, IR(infrared) 투사기들)을 포함할 수 있다.
[0108] 도 10은 웨어러블 시스템에 대한 사용자 입력을 결정하기 위한 방법(1000)의 예의 프로세스 흐름도이다. 이러한 예에서, 사용자는 토템과 상호작용할 수 있다. 사용자는 다수의 토템들을 가질 수 있다. 예컨대, 사용자는 소셜 미디어 애플리케이션에 대해 하나의 토템, 게임들을 플레이하기 위해 다른 토템 등을 지정할 수 있다. 블록(1010)에서, 웨어러블 시스템은 토템의 모션을 검출할 수 있다. 토템의 움직임은 외향 시스템을 통해 인식될 수 있거나, 또는 센서들(예컨대, 햅틱 글러브, 이미지 센서들, 손 추적 디바이스들, 눈-추적 카메라들, 머리 포즈 센서들 등)을 통해 검출될 수 있다.
[0109] 블록(1020)에서, 검출된 제스처, 눈 포즈, 머리 포즈, 또는 토템을 통한 입력에 적어도 부분적으로 기반하여, 웨어러블 시스템은 기준 프레임에 대한 토템(또는 사용자의 눈들 또는 머리 또는 제스처들)의 포지션, 배향, 또는 움직임을 검출한다. 기준 프레임은 한 세트의 맵 포인트들일 수 있으며, 그 세트에 기반하여, 웨어러블 시스템은 토템(또는 사용자)의 움직임을 액션 또는 커맨드로 변환한다. 블록(1030)에서, 토템과의 사용자의 상호작용이 맵핑된다. 기준 프레임에 대한 사용자 상호작용(1020)의 맵핑에 기반하여, 블록(1040)에서 시스템은 사용자 입력을 결정한다.
[0110] 예컨대, 사용자는 가상 페이지를 넘기고(turning) 다음 페이지로 이동하거나 또는 하나의 UI(user interface) 디스플레이 스크린으로부터 다른 UI 스크린으로 이동하는 것을 나타내기 위해 토템 또는 물리적 오브젝트를 앞뒤로 이동시킬 수 있다. 다른 예로서, 사용자는 사용자의 FOR에서 상이한 실제 또는 가상 오브젝트들을 보기 위해 그들의 머리 또는 눈들을 이동시킬 수 있다. 만약 특정 실제 또는 가상 오브젝트에서의 사용자의 시선이 임계 시간보다 더 길면, 실제 또는 가상 오브젝트는 사용자 입력으로서 선택될 수 있다. 일부 구현들에서, 사용자의 눈들의 이접운동이 추적될 수 있으며, 원근조절/이접운동 모델은, 사용자가 초점을 맞추고 있는 깊이 평면에 대한 정보를 제공하는, 사용자의 눈들의 원근조절 상태를 결정하는 데 사용될 수 있다. 일부 구현들에서, 웨어러블 시스템은 어떤 실제 또는 가상 오브젝트들이 사용자의 머리 포즈 또는 눈 포즈의 방향을 따라 존재하는지를 결정하기 위해 광선 캐스팅 기법들을 사용할 수 있다. 다양한 구현들에서, 광선 캐스팅 기법들은, 실질적으로 가로 폭이 거의 없는 얇은 광속 광선(pencil ray)들을 캐스팅하는 것 또는 실질적인 가로 폭을 갖는 광선들(예컨대, 원뿔들 또는 절두체들)을 캐스팅하는 것을 포함할 수 있다.
[0111] 사용자 인터페이스는 본원에서 설명된 바와 같이 디스플레이 시스템(이를테면, 도 2의 디스플레이(220))에 의해 투사될 수 있다. 이는 또한, 다양한 다른 기법들, 이를테면, 하나 이상의 투사기들을 사용하여 디스플레이될 수 있다. 투사기들은 물리적 오브젝트, 이를테면, 캔버스 또는 구체(globe) 상으로 이미지들을 투사할 수 있다. 사용자 인터페이스와의 상호작용들은 시스템 또는 시스템의 부분 외부의 하나 이상의 카메라들을 사용하여(이를테면, 예컨대 내향 이미징 시스템(462) 또는 외향 이미징 시스템(464)을 사용하여) 추적될 수 있다.
[0112] 도 11은 가상 사용자 인터페이스와 상호작용하기 위한 방법(1100)의 예의 프로세스 흐름도이다. 방법(1100)은 본원에서 설명된 웨어러블 시스템에 의해 수행될 수 있다.
[0113] 블록(1110)에서, 웨어러블 시스템은 특정 UI를 식별할 수 있다. UI의 타입은 사용자에 의해 미리 결정될 수 있다. 웨어러블 시스템은, 특정 UI가 사용자 입력(예컨대, 제스처, 시각 데이터, 오디오 데이터, 감각 데이터, 방향 커맨드 등)에 기반하여 파퓰레이팅될 필요가 있다는 것을 식별할 수 있다. 블록(1120)에서, 웨어러블 시스템은 가상 UI에 대한 데이터를 생성할 수 있다. 예컨대, UI의 한계들, 일반적인 구조, 형상 등과 연관된 데이터가 생성될 수 있다. 게다가, 웨어러블 시스템이 사용자의 물리적 위치에 관하여 UI를 디스플레이할 수 있도록, 웨어러블 시스템은 사용자의 물리적 위치의 맵 좌표들을 결정할 수 있다. 예컨대, 만약 UI가 신체 중심이라면, 웨어러블 시스템은, 링 UI가 사용자 주위에서 디스플레이될 수 있거나 또는 평면형 UI가 벽 상에 또는 사용자의 앞에 디스플레이될 수 있도록 사용자의 물리적 스탠스(stance), 머리 포즈, 또는 눈 포즈의 좌표들을 결정할 수 있다. 만약 UI가 손 중심이라면, 사용자의 손들의 맵 좌표들이 결정될 수 있다. 이러한 맵 포인트들은 FOV 카메라들을 통해 수신된 데이터, 감각 입력, 또는 임의의 다른 타입의 수집된 데이터를 통해 도출될 수 있다.
[0114] 블록(1130)에서, 웨어러블 시스템은 클라우드로부터 디스플레이로 데이터를 전송할 수 있거나, 또는 데이터는 로컬 데이터베이스로부터 디스플레이 컴포넌트들로 전송될 수 있다. 블록(1140)에서, UI는 전송된 데이터에 기반하여 사용자에게 디스플레이된다. 예컨대, 광 필드 디스플레이는 가상 UI를 사용자의 눈들 중 하나 또는 둘 다로 투사될 수 있다. 일단 가상 UI가 생성되면, 블록(1150)에서 웨어러블 시스템은 단순히 가상 UI 상에 더 많은 가상 콘텐츠를 생성하기 위해 사용자로부터의 커맨드를 대기할 수 있다. 예컨대, UI는 사용자의 신체 주위의 신체 중심 링일 수 있다. 그런 다음, 웨어러블 시스템은 커맨드(제스처, 머리 또는 눈 움직임, 사용자 입력 디바이스로부터의 입력 등)를 대기할 수 있으며, 커맨드가 인식되면(블록(1160)), 커맨드와 연관된 가상 콘텐츠가 사용자에게 디스플레이될 수 있다(블록(1170)). 예로서, 가상 콘텐츠는 가상 커서(또는 레티클) 및 환경 내의 오브젝트와 연관된 초점 표시자를 포함할 수 있다. 가상 커서 및 초점 표시자는 도 12a-도 24를 참조하여 설명된 이클립스 커서 기술의 양상들을 포함할 수 있다.
[0115] 웨어러블 시스템들, UI들, 및 UX(user experiences)의 추가적인 예들은 미국 특허 공보 제2015/0016777호에서 설명되며, 이 미국 특허 공보는 인용에 의해 그 전체가 본원에 포함된다.
FOV(Field of View) 내의 예시적인 오브젝트들
[0116] 도 12a-도 12c는 웨어러블 시스템을 통해 사용자가 지각할 수 있는 오브젝트(1204) 및 커서(1202)의 다양한 예들을 예시한다. 도 12a는 2D 환경의 예를 도시하고, 도 12b-도 12c는 3D 환경의 예들을 도시한다. 다양한 실시예들에서, 사용자의 FOV(field of view) 내의 오브젝트들은 가상 또는 물리적 오브젝트들일 수 있다. 예컨대, 하나 이상의 오브젝트들은 물리적 오브젝트들, 이를테면, 의자, 나무, 소파, 벽 등을 포함할 수 있는 반면, 가상 오브젝트들은, 예컨대 삭제되는 파일들을 위한 휴지통, 커맨드들을 입력하기 위한 터미널, 파일들 또는 디렉토리들에 액세스하기 위한 파일 관리자, 아이콘, 메뉴, 오디오 또는 비디오 스트리밍을 위한 애플리케이션, 운영 시스템으로부터의 통지 등과 같은 운영 시스템 오브젝트들을 포함할 수 있다. 가상 오브젝트들은 또한, 애플리케이션 내의 오브젝트들, 이를테면, 예컨대 아바타들, 게임들 내의 가상 오브젝트들, 그래픽들 또는 이미지들 등을 포함할 수 있다. 일부 가상 오브젝트들은 운영 시스템 오브젝트 및 애플리케이션 내의 오브젝트 둘 모두일 수 있다. 일부 실시예들에서, 웨어러블 시스템은 기존 물리적 오브젝트들에 가상 엘리먼트들을 추가할 수 있다. 예컨대, 웨어러블 시스템은 룸에 있는 텔레비전과 연관된 가상 메뉴를 추가할 수 있으며, 여기서 가상 메뉴는 웨어러블 시스템을 사용하여 텔레비전을 턴 온하거나 텔레비전의 채널들을 변경하는 옵션을 사용자에게 제공할 수 있다.
[0117] 가상 오브젝트는 3D(three-dimensional), 2D(two-dimensional) 또는 1D(one-dimensional) 오브젝트일 수 있다. 예컨대, 가상 오브젝트는 (물리적 커피 메이커에 대한 가상 제어를 표현할 수 있는) 3D 커피 머그잔일 수 있다. 가상 오브젝트는 또한, (현재 시간을 사용자에게 디스플레이하는) 시계의 2D 그래픽 표현일 수 있다. 일부 구현들에서, 하나 이상의 가상 오브젝트들이 다른 가상 오브젝트 내에(또는 이와 관련하여) 디스플레이될 수 있다. 가상 커피 머그잔이 사용자 인터페이스 평면의 내부에 보일 수 있지만, 가상 커피 머그잔은 이 2D 평면형 가상 공간 내에서 3D인 것처럼 나타날 수 있다.
커서의 활용
[0118] 도 12a-도 12c를 계속 참조하면, 웨어러블 시스템은, 사용자가 환경 내의 오브젝트들을 선택하거나 또는 그 오브젝트들과 상호작용하기 위해 활용할 수 있는 이동가능한 표시자일 수 있는 커서(1202)를 디스플레이한다. 커서는 환경의 경계 구역 내에 디스플레이될 수 있다(예컨대, FOV 내의 위치). 일부 경우들에서, 커서는 실제 또는 가상 오브젝트들과의 사용자 상호작용이 발생할 수 있는 위치를 나타낸다. 예컨대, 사용자는, 오브젝트, 이를테면, 오브젝트(1204)를 선택, 뷰잉, 또는 포인팅하기 위해 커서(1202)를 활용할 수 있다. 커서(1202)의 위치를 변경함으로써, 사용자는 선택들 또는 뷰들을 변경하거나, 또는 커서(1202)가 포인팅하는 위치를 변경할 수 있다. 다양한 구현들에서, 사용자는, 예컨대 핸드헬드 토템을 병진시키거나 회전시킴으로써, 토템 또는 다른 사용자 입력 디바이스의 터치 감지 부분을 가로질러 손가락(예컨대, 엄지손가락)을 이동시킴으로써, 신체 부위(예컨대, 손가락, 손, 또는 팔)를 병진시키거나 회전시킴으로써, 또는 자신의 머리 또는 눈들을 움직임으로써, 커서의 위치를 변경할 수 있다.
[0119] 커서(1202)의 외관은 다양한 상이한 컬러들, 아웃라인들, 형상들, 심볼들, 사이즈들, 이미지들, 그래픽들, 이들의 조합 등 중에서 임의의 것을 취할 수 있다. 예컨대, 커서(1202)는 다양한 형상들, 이를테면, 커서, 기하학적 원뿔, 광 빔, 화살표, 계란형, 원형, 다각형, 또는 다른 1D, 2D 또는 3D 형상들을 취할 수 있다.
[0120] 커서(1202)는, 커서(1202)가 타겟 오브젝트(1204) 위를 호버링하거나, 타겟 오브젝트(1204) 뒤를 호버링하거나, 또는 다른 방식으로 타겟 오브젝트(1204)를 포인팅하도록 커서(1202)를 이동시킴으로써, 오브젝트(1204)와 같은 오브젝트를 선택, 뷰잉, 또는 포인팅하는 데 사용될 수 있다. 일단 커서(1202)와 타겟 오브젝트(1204)가 충분히 정렬되면, 사용자는, 예컨대 손 제스처를 하거나, 토템의 터치-감지 부분을 작동시키는 것 등을 함으로써, 커서(1204)가 호버링 또는 포인팅하는 타겟 오브젝트(1204)를 선택하거나 또는 그 타겟 오브젝트(1204)와 상호작용할 수 있다.
[0121] 사용자는 커서(1202)를 이동시키기 위해 자신의 신체, 머리, 또는 눈들을 이동시킬 수 있다. 예컨대, 사용자의 포즈(예컨대, 머리 포즈, 신체 포즈, 또는 눈 시선)에서의 변화는 FOV 내의 커서(1202)의 위치를 변경할 수 있다. 유사하게, 커서(1202)는 도 4의 사용자 입력 디바이스(466)와 같은 사용자 입력 디바이스를 통해 제어될 수 있다. 예컨대, 사용자 입력 디바이스는 트랙패드, 터치스크린, 조이스틱, 다중 DOF(degree-of-freedom) 제어기, 용량성 감지 디바이스, 게임 제어기, 키보드, 마우스, 방향 패드(D-패드), 완드, 햅틱 디바이스, 토템(예컨대, 가상 사용자 입력 디바이스로서 기능함) 등을 포함할 수 있다. 예컨대, 사용자가 자신의 손을 사용자 입력 디바이스 상에서 이동시킴에 따라, 커서(1202)는 제1 포지션으로부터 제2 포지션으로 이동할 수 있다.
콘텐츠의 불명확화(obscuring)
[0122] 일부 시스템들은 장면 콘텐츠를 전혀 고려하지 않고서 커서를 렌더링한다. 다시 말해서, 사용자가 장면 주위로 커서를 이동시킴에 따라, 커서는 장면의 오브젝트들 앞에 렌더링된다. 결과적으로, 오브젝트를 타겟팅 또는 선택하기 위해 커서가 사용될 때, 커서가 오브젝트 위를 호버링함에 따라, 커서가 오브젝트를 가리거나 불명확하게(obscure) 할 수 있다. 이는 환경 내에서의 사용자 경험에 영향을 미칠 수 있다. 예컨대, 사용자가 오브젝트를 보고 싶어하지만 커서가 오브젝트 앞에 렌더링되어, 오브젝트에 대한 사용자의 뷰가 차단될 수 있다. 오브젝트가 텍스트, 이미지들, 또는 사용자가 뷰잉하기를 희망하는 다른 콘텐츠를 포함할 때, 이러한 문제점들을 더욱 악화될 수 있다. 또한, 커서가 타겟 오브젝트 앞에 렌더링될 때, 사용자의 시각적 계층에서 커서가 타겟 오브젝트보다 더 높으며, 타겟 오브젝트가 산만해질 수 있는데, 왜냐하면, 사용자가 커서가 아닌 환경 내의 실제 또는 가상 오브젝트들과 상호작용하려고 시도하기 때문이며, 커서는 바람직하게는, 시각적 계층에서 가장 높기보다는 또는 오브젝트보다 더 높기보다는 툴로서 기능해야 한다.
[0123] 도 12a는 2D 환경에서의 커서와 연관된 문제점들 중 일부의 예를 예시한다. 도시된 바와 같이, 도 12a는, 커서(1202)가 2D 환경 주위에서 이동함에 따른, 구체적으로는 커서(1202)가 포지션(1212)(예컨대, 여기서 커서(1202)는 오브젝트(1204) 위에 있음)으로부터 포지션(1214)(예컨대, 여기서 커서(1202)는 오브젝트(1204) 앞에 있음)으로 이동하여 포지션(1216)(예컨대, 여기서 커서(1202)는 오브젝트(1204) 아래에 있음)로 이동함에 따른, 커서(1202)의 다양한 위치들을 예시한다.
[0124] 도 12a의 2D 환경에서, 커서(1202) 및 오브젝트(1204)는 어떤 깊이도 갖지 않는다. 다시 말해서, 커서(1202)는 오브젝트(1204)와 동일한 깊이에 렌더링되며, 커서(1202)와 오브젝트(1204)가 오버랩될 때, 오브젝트(1204) 대신에 커서(1202)가 보인다. 예컨대, 커서(1202)가 포지션(1212)으로부터 포지션(1214)으로 이동함에 따라, 커서(1202)는 오브젝트(1204)를 "롤 오버"하는 것으로 나타나고, 그에 따라, 커서(1202)가 보이고, 커서(1202) 뒤의 오브젝트(1204)의 부분은 사용자의 뷰로부터 차단된다.
[0125] 도 12b는 커서에 의한 가려짐(occlusion)이 3D 환경에서 어떻게 악화될 수 있는지의 예를 예시한다. 도시된 바와 같이, 도 12b는, 커서(1202)가 3D 환경 주위에서 이동함에 따른, 구체적으로는 커서(1202)가 포지션(1222)(예컨대, 여기서 커서(1202)는 오브젝트(1204) 위에 있고 오브젝트(1204) 위에 센터링됨)으로부터 경로(1250a)를 따라 포지션(1224)(예컨대, 여기서 커서(1202)는 오브젝트(1204) 앞에 있음)으로 이동하여 포지션(1226)(예컨대, 여기서 커서(1202)는 센터링되고 오브젝트(1204) 아래에 있음)로 이동함에 따른, 커서(1202)의 다양한 위치들을 예시한다.
[0126] 도 12b의 3D 환경에서, 커서(1202) 및 오브젝트(1204)는 깊이를 갖는다. 다시 말해서, 커서(1202)가 3D 공간에서 오브젝트를 "롤 오버" 또는 "롤 어라운드"하는 경우, 커서(1202)와 오브젝트(1204)가 오버랩되지 않도록, 커서(1202)는 사용자에게 더 가까워지게 또는 사용자로부터 더 멀어지게 이동해야 한다. 예컨대, 커서(1202) 및 오브젝트가 "롤 오버" 동안 동일한 깊이로 유지된 경우, 커서(1202)는 오브젝트(1204)를 관통하는 것처럼 나타날 수 있는데, 이는 현실성을 깨고 커서(1202)의 부분들 또는 오브젝트(1204)의 부분들을 불명확하게 할 수 있기 때문에 바람직하지 않을 수 있다. 도 12b에서, 경로(1250a)를 따라 이동되는 경우, 커서는, 커서가 오브젝트(1204) 앞에 그리고 오브젝트(1204)와 사용자 사이에 있도록, 사용자에 더 가깝게 이동된다(예컨대, 포지션(1224) 참조). 예컨대, 도 12b의 오브젝트(1204)는 자신의 신체 앞으로 팔을 뻗은 캐릭터이다. 초기에, 포지션(1222)에서, 커서(1202)는 사용자로부터, 캐릭터(1204)와 거의 동일한 거리에 있다. 그러나, 커서(1202)가 경로(1250a)를 따라 포지션(1222)으로부터 포지션(1224)으로 이동함에 따라, 커서(1202)가 캐릭터(1204)의 뻗은 팔 앞에 있도록 하기 위해, 시스템은 커서(1202)를 사용자에게 더 가깝게 가져가야 한다. 커서(1202)를 사용자에게 더 가깝게 가져감으로써, 시스템은 캐릭터(1204)에 비해 커서(1202)를 효과적으로 강조하는데, 왜냐하면 사용자가 자신에게 더 가깝게 나타나는 오브젝트들에 초점을 맞출 가능성이 더 높기 때문이다. 커서에 대한 강조를 줄이기 위하여, 시스템은 커서의 일관된 외관을 유지하기 위해 커서의 사이즈를 동적으로 조정할 수 있다. 그러나, 커서의 지각되는 치수들이 사용자로부터의 거리에 기반하여 변화할 것이기 때문에, 이러한 타입의 관점 변경은 사용자를 혼란시키거나, 최소한, 오해의 소지가 있는(misleading) 정보를 사용자에게 제공할 수 있다. 따라서, 사용자가 상호작용하려고 시도하는 캐릭터(1204)를 강조하는 것이 바람직할 것이지만, 캐릭터의 앞을 지나가는 커서(1202)를 활용함으로써, 시스템은 바람직하지 않게 캐릭터보다 커서(1202)를 강조한다.
[0127] 커서(1202)와 오브젝트(1204)가 오버랩될 때 커서(1202)를 강조할 가능성을 감소시키기 위해, 커서는 사실상, 오브젝트(1204) 뒤로 가는 경로(1250b)를 따라 이동할 수 있다(그에 따라, 오브젝트(1204)는 커서를 "이클립스"시킴). 이에 의해, 커서(1202)는 전경(foreground) 오브젝트(1204)에 비해 강조되지 않는다. 커서(1202)가 오브젝트(1204)(이를테면, 도 12b의 캐릭터) 뒤에 있을 때, 웨어러블 시스템은 커서를 렌더링하는 것을 중지할 수 있는데, 왜냐하면 커서는 사용자에게 보이지 않기 때문이다(예컨대, 오브젝트는 불투명하고 커서를 "이클립스"시킴). 일부 실시예들에서, 오브젝트(1204) 뒤에 있을 때, 커서(1202)는 웨어러블 시스템에 의해 계속 렌더링되지만, 감소된 밝기 레벨로 렌더링되며, 그에 따라, 커서(1202)가 오브젝트에 비해 강조되지 않는 것이 유지되거나 또는 오브젝트(1204)가 커서(1202)의 앞에 있도록 렌더링되며(예컨대, 오브젝트가 커서를 이클립스함), 이는 사실상 오브젝트에 비해 커서의 지각력(perceptibility)을 감소시킬 수 있다. 아래에서 추가로 설명되는 바와 같이, 추가적으로 또는 대안적으로, 커서가 오브젝트 뒤에 있을 때, 시스템은 오브젝트(1204) 주위에 초점 표시자(예컨대, 글로 또는 할로)를 렌더링하여 커서의 위치에 관한 시각적 표시를 사용자에게 제공할 수 있다.
[0128] 도 12c는 3D 환경에서 커서가 오브젝트 뒤로 이동함에 따라 오브젝트가 어떻게 사이즈 또는 형상 또는 지각되는 깊이가 변화할 수 있는지의 예를 예시한다. 도시된 바와 같이, 도 12c는, 커서(1202)가 3D 환경 주위를 이동함에 따른, 구체적으로는 커서(1202)가 포지션(1222)(예컨대, 여기서 커서(1202)는 오브젝트(1204) 위에 있고 오브젝트(1204) 위에 센터링됨)으로부터 포지션(1226)(예컨대, 여기서 커서(1202)는 센터링되고 오브젝트(1204) 아래에 있음)로 이동함에 따른, 커서(1202)의 다양한 위치들을 예시한다.
[0129] 도 12c에서, 커서(1202)를 사용자에게 더 가깝게 이동시키거나(예컨대, 도 12b의 경로(1250a)) 커서(1202)를 사용자로부터 더 멀리 이동시키기(예컨대, 도 12b의 경로(1250b))보다는, 시스템은 경로(1250c)를 따라 커서(1202)를 이동시킬 수 있다. 이에 대한 응답으로, 오브젝트(1204)가 더 커질 수 있거나, 오브젝트(1204)가 사용자에게 더 가깝게 이동할 수 있거나, 또는 오브젝트 전경이 확장될 수 있으며(또는 이들의 임의의 조합), 그에 따라, 아이콘(1204)이 사용자에게 더 가깝게 시프트되거나 사용자에게 더 크게 또는 더 가깝게 나타난다. 다시 말해서, 사용자 또는 오브젝트(1204)에 비해 커서(1202)의 깊이를 변경하는 대신에, 시스템은 커서를 동일한 깊이로 유지하고 오브젝트(1204)의 상대 깊이를 조정하며, 그에 따라, 오브젝트(1204)가 커서보다 사용자에게 더 가깝게 나타날 수 있다. 일부 실시예들에서, 오브젝트(1204)는 새로운 깊이(예컨대, 사용자에게 더 가까운 깊이)로 시프트될 수 있고; 일부 실시예들에서, 오브젝트(1204)는 커서와 동일한 깊이로 유지될 수 있지만, 사용자에게 더 가깝게 나타나도록 더 가까운 이접운동 디스플레이 입력으로 렌더링될 수 있다. 오브젝트(1204)를 사용자에게 더 가깝게 가져감으로써, 시스템은 유리하게 오브젝트(1204)를 강조하는데, 왜냐하면, 사용자가 자신에게 더 가깝게 나타나는 오브젝트들에 초점을 맞출 가능성이 더 높기 때문이다. 게다가, 도 12b의 경로(1250b)와 유사하게, 오브젝트가 사용자 쪽으로 시프트되기 때문에 커서(1202)는 사실상, 오브젝트(1204) 뒤로 가는 경로(1250c)를 따라 이동할 수 있다(그에 따라, 오브젝트(1204)는 커서를 "이클립스"함). 커서(1202)는 오브젝트(1204) 뒤에 있는 동안 렌더링되지 않을 수 있거나, 또는 감소된 밝기 또는 증가된 투명도로 렌더링될 수 있다. 이에 의해, 커서(1202)는 전경 오브젝트(1204)에 비해 강조되지 않는다. 커서(1202)가 더 이상 오브젝트(1204) 뒤에 있지 않을 때, 웨어러블 시스템은 오브젝트(1204)를 오브젝트(1204)의 원래 포지션으로 다시 시프트하고 오브젝트를 오브젝트의 원래 사이즈로 조정함으로써, 오브젝트(1204)를 강조하지 않고 커서(1202)를 다시 렌더링할 수 있으며(커서(1202)는 더 이상 이클립스되지 않음), 그에 따라, 사용자는 커서 및 오브젝트를 뷰잉할 수 있다. 위에서 설명된 바와 같이, 커서(1202)가 오브젝트(1204)에 의해 이클립스되는 동안, 시스템은 오브젝트(1204)의 적어도 일부 주위 또는 근처에 초점 표시자를 렌더링할 수 있으며, 이는 커서에 비해 전경 오브젝트를 더 강조한다.
[0130] 아래에서 도 18a-도 18c 및 도 30a-도 30f를 참조하여, 이클립스 커서의 거동의 추가적인 예들이 설명된다.
초점 표시자의 활용
[0131] 일부 경우들에서, 커서(1202)가 오브젝트(1204) 뒤에 포지셔닝될 때, 사용자가 장면 내에서 커서의 위치의 정확한 감지를 획득하기 어려울 수 있다. 예컨대, 커서(1202)는 오브젝트(1204)에 의해 (적어도 부분적으로) 차단되며, 사용자가 미래에 커서를 시각적으로 재-포착하기가 어렵거나 또는 어느 오브젝트가 선택되었는지를 기억하기가 어려울 수 있다. 따라서, 사용자에게 환경 내의 커서의 위치의 정확한 감지를 제공하기 위해, 일부 경우들에서, 커서(1202)가 그 오브젝트(1204) 뒤로 이동할 때 시스템은 오브젝트(1204)를 강조할 수 있다. 예컨대, 시스템은 초점 표시자(예컨대, 일부 형태의 시각적 강조표시)를 오브젝트(1204)에 할당할 수 있다. 따라서, 커서(1202)가 오브젝트(1204) 근처 또는 뒤로 이동할 때, 초점 표시자가 활성화되고 오브젝트(1204)가 강조되는 한편, 사용자는 여전히 장면 내의 커서의 위치 및 어느 오브젝트가 선택되었는지의 정확한 감지를 얻는다.
[0132] 도 13a 및 도 13b는 초점 표시자(1302) 및 커서(1202)의 비-제한적인 실시예들을 예시한다. 초점 표시자(1302)의 외관은 다양한 상이한 컬러들, 아웃라인들, 형상들, 심볼들, 사이즈들, 이미지들, 그래픽들, 이들의 조합 등 중에서 임의의 것을 취할 수 있다. 예컨대, 커서(1202)는 다양한 형상들, 이를테면, 커서, 기하학적 원뿔, 광 빔, 화살표, 십자선(cross-hairs), 계란형, 원형, 다각형, 또는 다른 1D, 2D, 또는 3D 형상들을 취할 수 있다. 초점 표시자(1302)는 할로, 컬러, 지각되는 사이즈 또는 깊이 변화(예컨대, 선택될 때 오브젝트가 더 가깝게 또는 더 크게 나타나게 함), 가상 광선들, 라인들, 또는 아크들, 또는 오브젝트에 대한 사용자의 주의를 끌기 위해 오브젝트의 적어도 일부 또는 오브젝트의 주변부로부터 발산되는, 이를 둘러싸는, 또는 이와 연관된 다른 그래픽 강조표시를 포함할 수 있다(그러나 이에 제한되지 않음). 초점 표시자(1302)는 오브젝트 뒤로부터 방사되는 글로를 포함할 수 있고, 글로의 강도는 커서의 위치와 오브젝트의 위치 사이의 공간 관계에 대응할 수 있다. 예컨대, 글로의 강도는 오브젝트의 에지 근처에서 가장 크고 그리고 오브젝트로부터 거리가 멀어질수록 감소할 수 있다. 글로의 강도는 (예컨대, 오브젝트와 커서 사이의 라인을 따라) 커서에 가장 가까운 오브젝트의 측면에서 가장 클 수 있으며, 강도는 커서로부터 멀리 있는 오브젝트 측면에서 낮아질(또는 제로일) 수 있다. 도 13b에 예시된 바와 같이, 커서 또는 초점 표시자는 무지개 빛깔의 외관을 가질 수 있다. 초점 표시자(1302)(또는 커서(1202))는 또한, 진동들, 링 톤들, 비프(beep)들 등과 같은 가청 또는 촉각 효과들을 포함할 수 있다.
[0133] 커서(1202)가 오브젝트 뒤에 포지셔닝될 때, 커서의 외측 부분들이 오브젝트를 둘러싸는 초점 표시자의 외관을 제공할 정도로, 커서(1202)가 충분히 클 수 있거나 또는 오브젝트가 충분히 작을 수 있다. 일부 경우들에서, 도 13a 및 도 13b에 예시된 바와 같이, 초점 표시자(1302)는 커서(1202)의 더 큰 버전으로서 나타날 수 있다. 예컨대, 시스템은 커서(1202)를 렌더링할 수 있고, 커서가 커서와 오브젝트 사이의 임계 거리 미만으로 지나가는 것에 대한 응답으로, 커서(1202)는 오브젝트 주위에 나타나는 초점 표시자(1302)를 위해 이클립스될(예컨대, 렌더링되지 않을) 수 있다. 커서가 커서와 오브젝트 사이의 임계 거리를 초과하여 지나가는 것에 대한 추가의 응답으로, 커서는 시스템에 의해 다시 렌더링되고 초점 표시자는 강조되지 않을 수 있다.
커서들 및 초점 표시자들의 예들
[0134] 도 14a 및 도 14b는 커서(1202) 및 오브젝트(1204)를 포함하는 환경의 예를 예시한다. 이 예에서, 오브젝트(1204)는 테이블 상에 놓여 있는 큐브이다. 커서(1202)가 도 14a의 포지션(1412)으로부터 도 14b의 포지션(1414)으로 전이함에 따라, 커서(1202)는 오브젝트(1204) 위로(또는 오브젝트(1204) 앞으로) 이동한다. 따라서, 커서(1202)가 포지션(1414)에 있을 때, 커서(1202)는 오브젝트(1204)의 일부를 사용자 뷰로부터 차단하며, 이는 위에서 논의된 바와 같이 사용자를 산만하게 할 수 있다.
[0135] 도 14c는 이클립스 커서 기능성의 특징들을 개략적으로 예시하는 환경의 예를 예시한다. 도 14b와 대조적으로, 커서(1414)는 오브젝트(1204) 뒤로 이동하고 사용자에게 렌더링되지 않는다(그리고 도 14c에서 점선으로 표시됨). 커서(1414)가 오브젝트(1204)에 가까워지고 오브젝트(1204) 뒤를 지나감에 따라, 초점 표시자(1302)가 사용자에게 렌더링된다. 이 예에서, 초점 표시자(1302)는 큐브를 둘러싸는 원형 글로이며, 글로의 강도는 큐브의 에지들 근처에서 가장 높고 큐브로부터의 거리가 멀어짐에 따라 크기(magnitude)가 감소한다.
초점 표시자 임계치들
[0136] 본원에서 설명되는 바와 같이, 초점 표시자(1302)는 유리하게, 커서가 오브젝트에 의해 이클립스될 때 환경 내의 커서의 위치의 정확한 감지를 사용자에게 제공할 수 있다. 예컨대, 도 14c에서 확인될 수 있는 바와 같이, 커서(1414)가 사용자에게 보이지 않지만, 오브젝트(1204)를 둘러싸는 초점 표시자(1302)는 사용자에게 오브젝트가 선택되었음(또는 오브젝트와 상호작용됨)을 식별하게 하고 커서가 오브젝트(1204) 뒤에 있음을 추가로 표시한다.
[0137] 시스템은, 환경 내의 커서의 위치가 오브젝트에 대한 거리 임계치를 지나간다는 결정에 적어도 부분적으로 기반하여 초점 표시자(1302)를 오브젝트에 할당할 수 있다. 다시 말해서, 초점 표시자(1302)는, 환경 내의 커서의 위치와 오브젝트의 위치, 사이즈, 형상, 배향 등 사이의 결정된 공간 관계에 기반하여 오브젝트에 할당될 수 있다. 커서의 위치는 광선 캐스팅 또는 원뿔 캐스팅을 통해 결정될 수 있으며, 오브젝트까지의 거리는 광선(또는 원뿔)과 오브젝트 사이의 수직 거리로서 결정될 수 있다.
[0138] 초점 표시자(1302)는 환경 내의 커서의 위치의 정확한 감지를 사용자에게 제공할 수 있다. 예컨대, 사용자가 환경 내의 커서의 위치를 변경함에 따라, 시스템은 환경 내의 하나 이상의 오브젝트들과 연관된 초점 표시자를 할당, 할당-해제, 또는 수정할 수 있다. 시스템은 커서와 오브젝트 사이의 상대 거리를 표시하기 위해 초점 표시자(1302)의 강도, 사이즈, 형상, 컬러, 또는 다른 특징을 조정할 수 있다. 예컨대, 환경 내의 커서의 위치가 오브젝트에 더 가깝게 이동함에 따라, 그 오브젝트에 할당된 초점 표시자는 (적어도 커서를 향하는 방향으로) 더 강하게 또는 더 크게 보여질 수 있다. 환경 내의 커서의 위치가 오브젝트로부터 멀어지게 이동함에 따라, 오브젝트에 할당된 초점 표시자는 덜 강해지거나 더 작아질 수 있거나, 또는 시스템이 초점 표시자를 렌더링하는 것을 중지할 수 있다.
[0139] 도 14a는 초점 표시자를 어떻게 렌더링할지를(또는 렌더링할지 여부를) 결정할 때의 시스템의 다양한 거리 임계치 고려사항들의 예들을 예시한다. 시스템은 커서(1202)의 위치(1412)를 모니터링하고, 그 위치에 적어도 부분적으로 기반하여, 시스템은 초점 표시자(1302)를 할당할지 여부 및 초점 표시자의 속성들이 무엇인지를 결정할 수 있다. 예컨대, 커서(1202)의 위치(1412)가 오브젝트(1204)에 대응하는 거리 임계치 미만으로 지나가는 경우, 시스템은 초점 표시자(1302)를 오브젝트(1204)에 할당하거나 수정할 수 있다. 시스템은, 커서(1202)의 위치(1412)가 오브젝트(1204)에 대응하는 거리 임계치를 초과하여 지나간다는 결정에 적어도 부분적으로 기반하여, 초점 표시자(1302)를 할당해제하거나 수정할 수 있다.
[0140] 거리 임계치는 실시예들에 걸쳐 변화할 수 있으며, 오브젝트의 사이즈, 환경에서의 오브젝트들의 수 또는 밀도, 다른 오브젝트에 대한 오브젝트의 근접도 등을 포함하는(그러나 이에 제한되지 않음) 다양한 팩터들에 기반할 수 있다. 예컨대, 밀집된(crowded) 환경에서, 초점 표시자들이 오버랩됨으로써 또는 커서 근처의 거의 모든 오브젝트들에 대해 초점 표시자들을 가짐으로써 야기되는 시각적 혼란을 피하기 위해, 초점 표시자가 활성화되는(또는 비-활성화되는) 거리 임계치는 밀집되지 않은 환경에서보다 더 작을 수 있다. 다양한 실시예들에서, 거리 임계치는 사용자의 시야 내의 오브젝트들 사이의 평균 거리의 일부 또는 오브젝트의 사이즈의 일부일 수 있다(예컨대, 10%, 20%, 50%, 100% 등). 거리 임계치는 동적일 수 있다. 예컨대, 오브젝트(제1 거리 임계치와 연관됨)가 환경의 더 밀집된 구역으로 이동하는 경우, 더 많은 인근의 오브젝트들의 존재로 인해, 그 오브젝트의 거리 임계치가 감소할 수 있다. 반대로, 오브젝트가 덜 밀집된 환경으로 이동하는 경우, 오브젝트의 거리 임계치가 증가할 수 있다.
[0141] 도 14a를 참조하면, 일부 경우들에서, 거리 임계치는 환경 내의 커서의 위치(예컨대, 위치(1412))와 오브젝트(1204)의 일부 사이의 거리에 대응할 수 있다. 예컨대, 거리 임계치는 커서의 위치(1412)와 오브젝트의 중심(1420) 사이의 거리(1424)에 대응할 수 있다. 유사하게, 거리 임계치는 커서의 위치(1412)와 오브젝트(1204)의 가장 가까운 부분(1422)(예컨대, 오브젝트의 에지 또는 경계) 사이의 거리(1426)에 대응할 수 있다.
[0142] 비-제한적 예로서, 도 14a는 커서(1202)를 예시한다. 그러나, 커서(1202)와 오브젝트(1204) 사이의 거리가 거리 임계치 미만으로 지나가지 않았기 때문에, 초점 표시자는 오브젝트에 대해 렌더링되지 않는다. 예컨대, 시스템은 커서의 위치(1412)가 오브젝트(1204)의 중심(1420)에 충분히 근접하지 않거나 커서의 위치(1412)가 오브젝트(1204)의 가장 가까운 부분(1422)에 충분히 근접하지 않은 것으로 결정하였다. 따라서, 시스템은 커서(1202)를 렌더링하지만 초점 표시자(1302)를 렌더링하지 않는다.
[0143] 그에 반해, 비-제한적 예로서, 도 14c는 커서 위치가 거리 임계치 미만으로 지나가는 (그리고 이 예시에서 오브젝트 뒤에 있는) 상황의 예를 예시한다. 커서(1414)는 더 이상 렌더링되지 않으며 초점 표시자(1302)가 렌더링된다. 오브젝트에 대한 커서의 거리가 또 다시 거리 임계치를 초과하도록 사용자가 커서를 이동시킨 경우, 사용자의 뷰는, 커서(1202)가 디스플레이되지만 초점 표시자는 디스플레이되지 않는 도 14a의 예시로 되돌아갈 수 있다.
커서들과 오브젝트들 사이의 인력 효과
[0144] 일부 경우들에서, (예컨대, 일단 커서가 오브젝트에 충분히 가까워지면) 커서가 오브젝트 상으로 "스냅핑"되는 것처럼 나타나도록, 오브젝트들이 커서에 대해 끈적임(sticky), 중력(gravitational), 또는 자화(magnetized) 효과가 있는 것처럼 오브젝트들이 작용할 수 있다. 예컨대, 시스템은 사용자의 시야 내의 커서의 위치를 결정할 수 있고, 유사하게, 사용자의 관심 필드(field of regard) 내의 하나 이상의 오브젝트들의 위치를 결정할 수 있다. 커서의 위치와 하나 이상의 오브젝트들 사이의 공간 관계에 기반하여, 시스템은 초점 표시자를 어느 오브젝트 또는 오브젝트들에 할당할지를 결정할 수 있다(예컨대, 초점 표시자는 커서에 더 가까운 오브젝트들 상에 디스플레이될(또는 더 두드러지게 디스플레이될) 수 있음). 시스템은 계속해서, 사용자의 관심 필드 내의 적어도 하나의 오브젝트에 적어도 하나의 초점 표시자를 할당할 수 있다. 예컨대, 시스템은 커서의 위치에 가장 가까운 것으로 결정된 오브젝트에 초점 표시자를 할당할 수 있다. 커서의 위치가 변경됨에 따라, 초점 표시자가 할당되는 오브젝트도 변경될 수 있다.
[0145] 사용자가 원하는 오브젝트 상으로 커서를 이동시키는 것(예컨대, 추가적인 상호작용을 위해 그 오브젝트를 선택하기 위하여)을 돕기 위해, 시스템은 오브젝트와 커서 사이의 인력의 효과를 시뮬레이팅할 수 있다. 인력은 오브젝트들 사이의 중력, 자기력, 스프링 같은 힘, 또는 다른 인력을 모방할 수 있다. 예컨대, 오브젝트와 커서 사이의 거리가 증가될수록 인력이 감소될 수 있다. 따라서, 사용자가 커서를 원하는 오브젝트에 더 가깝게 이동시킴에 따라, 인력이 증가하여 커서를 그 원하는 오브젝트를 향해 당기는 경향이 있을 수 있다. 인력 효과는 사용자가 오브젝트들을 선택하는 것을 더 용이하게 할 수 있는데, 왜냐하면, 사용자는 커서를 원하는 오브젝트에 충분히 가깝게 이동시키기만 하면 되고, 시스템이 커서를 그 원하는 오브젝트 상으로 당기거나 스냅핑할 것이기 때문이다.
[0146] 시스템(또는 사용자)이 실수로 커서를 오브젝트 상으로 이동시킨 경우(또는 사용자가 자신의 마음을 바꾼 경우), 사용자는, 커서를 오브젝트에서 떼어내기에 충분한 사용자 입력을 적용함으로써 커서를 오브젝트로부터 분리시킬 수 있다.
[0147] 인력의 양 또는 인력의 범위는 상이한 오브젝트들에 대해 또는 오브젝트들의 타입들에 대해 상이할 수 있다. 예컨대, 사용자가 상호작용하기를(예컨대, 가상 게임의 가상 디스플레이, 오브젝트들, 또는 캐릭터들에 대한 제어들) 원할 수 있는 오브젝트들은 사용자의 환경에서 더 수동적인 역할을 하는 오브젝트들(예컨대, 책상, 벽의 그래픽)보다 더 인력적일 수 있다. 인력은 커서와 오브젝트 사이의 거리의 역함수(예컨대, 중력과 유사한 역제곱 법칙 또는 자기 쌍극자들과 유사한 역세제곱 법칙)로서 모델링될 수 있는 세기를 가질 수 있다. 세기 또는 범위는 사용자가 선택가능할 수 있는데, 왜냐하면, 일부 사용자들은, 시스템이 커서를 오브젝트들 상으로 더 적극적으로 당기는 매우 강한 인력 효과를 선호할 수 있는 반면 다른 사용자들은 작은 인력 효과(또는 인력 효과 없음)를 선호할 수 있기 때문이다.
[0148] 따라서, 웨어러블 시스템의 실시예들은 커서와 오브젝트 사이의 인력의 효과를 시뮬레이팅할 수 있는데, 왜냐하면, 커서는 가장 가까운 오브젝트로 끌어당겨질(그리고 "스냅핑"될) 것이기 때문이다. 이 "인력"은, 일부 경우들에서, 시스템이 커서를 디스플레이하도록 요구함이 없이, 사용자에게 지속적인 입력 피드백을 제공하고 정확한 포지션 감지를 제공할 수 있다(왜냐하면, 초점 표시자들이 커서가 어디로 당겨졌는지를 사용자에게 알려주기 때문임). 이는, 관심 필드가 많은 오브젝트들(예컨대, 조밀한 격자 레이아웃의 오브젝트들)을 포함할 때 또는 오브젝트들이 서로 비교적 근접한 경우에 특히 유리할 수 있다.
[0149] 인력의 예로서, 사용자가 사용자 입력 디바이스의 터치 패드를 릴리즈하는 경우, 커서는 (예컨대, 중력에 의해 당겨진 것처럼) 가장 가까운 오브젝트(예컨대, 버튼, 아이콘 등)의 포지션 또는 그 오브젝트 내의 포지션으로 슬라이딩할 수 있다. 다양한 실시예들에서, 커서의 이러한 슬라이딩은 항상 발생하거나, 절대 발생하지 않거나, 또는 가장 가까운 오브젝트가 커서에 대해 특정 거리 허용오차 내에 있는 경우에 발생할 수 있다. 시스템은, 커서가 가장 가까운 오브젝트 상의 가장 가까운 포지션으로 이동할지, 또는 오브젝트의 X 축 및 Y 축 중 하나/둘 모두와 정렬되는 포지션으로 이동할지를 포함하는 세팅들을 제공할 수 있다(예컨대, 긴 인접한 오브젝트들의 행(row)이 있는 경우, 오브젝트들의 수직 스택에 대해 중앙 Y 또는 중앙 X에 스냅핑하는 것이 바람직할 수 있음). 세팅들은 또한, 전체 사용자 환경 내에 있는 인력의 사용이 요구되는지, 또는 선택가능한 버튼들, 아이콘들 등의 리스트 또는 그리드를 포함하는 디스플레이 패널들에서 인력이 적용되는지를 포함할 수 있다.
[0150] 일부 경우들에서, 사용자가 이전에 선택된 오브젝트로부터 커서를 분리하도록 시스템에 표시하기 위해 입력 디바이스를 충분히 이동시키지 않는 한, 오브젝트에 "부착된" 커서는 즉각적으로 오브젝트에 "부착되지 않은" 상태가 되지 않을 수 있다. 이는 또한, 사용자가 커서를 오브젝트에서 충분히 떼어낼 때까지, 선택된 오브젝트가 커서를 잡고 있는 것처럼 시스템이 작용하도록, 커서와 오브젝트 사이의 끈적임, 중력, 또는 자기의 효과를 모방한다.
[0151] 이클립스 오브젝트들을 타겟팅할 때 사용자의 정밀도를 추가로 돕기 위해, 시스템은 활성 사용자 입력이 중단된 후에 인력 효과를 구현할 수 있는데, 이는 가장 가까운 오브젝트를 향해 커서를 끌어당기는 경향이 있을 것이다. 따라서, 커서는 관성이 있는 것처럼 작용할 수 있으며, 사용자가 토템 또는 다른 입력 디바이스를 작동시키는 것을 중지하더라도 오브젝트를 향해 계속 이동할 수 있다. 인력의 당김은, 비교적 최소의 사용자 액션으로, 커서를 자연스러운 방식으로 원하는 오브젝트 상으로 이동시킨다. 이는 유리하게, 사용자가 오브젝트들을 선택하는 것을 더 용이하게 하고 사용자 피로를 줄이거나 최소화할 수 있다.
[0152] 커서 관성의 예로서, 사용자가 터치패드 입력을 제공하고 있고 커서 모션이 결정되거나 렌더링되는 경우, 시스템은 또한 커서의 움직임을 연관시킬 수 있으며, 이는 관성의 정도를 모방할 수 있다. 예컨대, 이 움직임은, 터치패드에 대한 활성 사용자 입력이 중단되는(예컨대, 사용자가 자신의 손가락을 들어올리거나 또는 자신의 손가락을 움직이는 것을 중지함) 순간부터 적용될 수 있다. 이는, 감쇠력(dampening force)으로 인해 관성이 다시 제로로 감소될 때까지 커서가 자신의 모션 경로를 따라 계속되게 할 수 있다. 사용자가 (예컨대, 구성가능한 임계치에 대응하는) 빠른 스와이프 액션의 끝에서 터치패드를 릴리즈하는 경우, 제어들은 얼마나 많은 관성이 축적될 수 있는지를 제한할 뿐만 아니라 관성 부스트(inertia boost)들이 적용되는 것을 가능하게 할 수 있다. 관성 부스트는, (예컨대, 사용자가 선택한 경우, 한 번의 큰 스와이프가 커서를 최상부로부터 최하부로(from top-to-bottom) 이동시키는 것을 가능하게 하기 위해) 긴 아이템화된 리스트들에 걸친 빠른 스와이프(fast swipe)들을 지원할 수 있다.
[0153] 커서의 근접도가 초점 표시자의 강도 또는 포지셔닝에 영향을 미치도록, 커서는 오브젝트와 연관된 초점 표시자에 대한 자화 효과를 갖는다. 예컨대, 일부 경우들에서, 각각의 오브젝트는 초점 표시자(예컨대, 외측 글로)를 가질 수 있고, 초점 표시자의 강도, 사이즈, 및 위치는 커서의 위치에 기반하여 변화할 수 있다. 예컨대, 커서가 오브젝트에 더 가깝게 이동함에 따라, 그 오브젝트의 초점 표시자가 더 밝아지거나, 더 강해지거나, 또는 커서 방향으로 이동할 수 있다(예컨대, 커서를 향해 끌어당겨질 수 있음). 커서가 오브젝트를 선택하면, 시스템은 커서를 오브젝트 뒤로 이동시키는 동시에 초점 표시자의 강도를 높인다. 예컨대, 오브젝트가 선택되는 경우, 초점 표시자는 오브젝트 주위에 할로 또는 코로나의 외관을 제공할 수 있다.
다양한 강도의 초점 표시자
[0154] 일부 경우들에서, 시스템은, 예컨대 환경 내의 커서의 위치에 대한 다수의 오브젝트들의 근접도에 기반하여, 하나보다 많은 오브젝트에 초점 표시자를 할당할 수 있다. 각각의 오브젝트는, 환경 팩터들(예컨대, 사용자의 FOV(field of view) 내의 오브젝트들의 밀도)에 적어도 부분적으로 기반하여, 하나 이상의 대응하는 거리 임계치들(예컨대, 근접 거리 임계치, 중간 거리 임계치 등) 또는 동적 거리 임계치를 가질 수 있다. 환경 내의 커서의 위치가 거리 임계치를 지나가는 경우, 시스템은 대응하는 오브젝트에 대한 초점 표시자를 렌더링할 수 있다. 커서가 환경 내에서 어디에 로케이팅되어 있는지에 관한 추가적인 포지션 피드백을 사용자에게 제공하기 위해, 다양한 오브젝트들에 할당된 초점 표시자들은 상이한 속성들(예컨대, 강도, 색상, 사이즈 등)을 가질 수 있다. 예컨대, 커서 인근의 오브젝트들에 대한 초점 표시자들은 커서로부터 더 멀리 떨어진 오브젝트들에 대한 초점 표시자들보다 더 밝게 렌더링될 수 있다. 커서에 더 가까운 오브젝트의 측면에 있는 초점 표시자는 커서로부터 더 멀리 있는 오브젝트의 측면에 있는 초점 표시자보다 더 강조될 수 있다. 따라서, 커서가 상부 오브젝트와 하부 오브젝트 사이에 포지셔닝된 경우, 상부 오브젝트의 최하부 부분 및 하부 오브젝트의 최상부 부분에 대한 초점 표시자들은, 더 먼, 상부 오브젝트의 최상부 부분 및 하부 오브젝트의 최하부에 대한 초점 표시자들(초점 표시자들이 이러한 부분들에 대해 조금이라도 사용되는 경우)보다 더 두드러지게 렌더링될 수 있다. 따라서, 이러한 초점 표시자들은, 커서가 상부 오브젝트와 하부 오브젝트 사이에 로케이팅되어 있다는 강한 시각적 큐를 사용자에게 제공한다. 사용자는 FOV를 시각적으로 스위핑(sweeping)함으로써, FOV 내의 오브젝트들과 연관된 초점 표시자들의 패턴을 관찰하여 커서가 로케이팅된 위치를 용이하게 식별할 수 있다.
[0155] 따라서, 초점 표시자의 강도 또는 글로(또는 사이즈 또는 형상)는 환경 내의 커서의 위치와 인근의 오브젝트들의 위치, 사이즈, 또는 형상 사이의 공간 관계(예컨대, 거리)에 따라 페이드 인 또는 페이드 아웃될 수 있다.
[0156] 도 15a 및 도 15b는 시야 내의 커서의 위치(1516)에 대한 오브젝트의 근접도에 기반하여 다양한 강도들을 갖는 다수의 초점 표시자들의 구현들의 예들을 예시한다. 예시된 바와 같이, 사용자의 시야(1520)는 복수의 오브젝트들, 즉, 컵(1502), 시계(1504), 전화(1506), 농구공(1508), 및 카메라(1510)를 포함한다. 또한, 도 15a 및 도 15b는 시계(1504)에 대한 2개의 거리 임계치들(임계치들(1526, 1528)) 및 농구공에 대한 2개의 거리 임계치들(임계치들(1522, 1524))을 도시한다. 시스템은, 상이한 거리 임계치들을 지나갈 때, 상이한 기능성을 제공할 수 있다. 예컨대, 커서가 큰 거리 임계치들(1524, 1528) 이내를 지나갈 때, 연관된 오브젝트에 대한 초점 표시자가 사용자에게 디스플레이될 수 있다. 커서가 더 작은 거리 임계치들(1522, 1526) 이내를 지나갈 때, 시스템은 상이한 기능성을 수행할 수 있는데, 예컨대 초점 표시자의 외관을 더 강조하거나, 또는 커서가 연관된 오브젝트를 향해 당겨지고 그 연관된 오브젝트에 의해 이클립스되는 인력 효과(아래에서 설명됨)를 활성화한다. 거리 임계치들(1522, 1524, 1526, 1528)은 도 15a 및 도 15b에서 예시적인 목적들로만 도시되며, 시스템에 의해 렌더링될 필요는 없다. 게다가, 도 15a 및 도 15b가 오브젝트들에 대해 단지 2개의 임계치들만을 예시하지만, 임의의 수의 임계치들이 고려된다(예컨대, 1개, 2개, 3개, 4개, 또는 그 초과).
[0157] 본원에서 설명된 바와 같이, 웨어러블 시스템(400)은 시야(1520) 내의 커서(1516)의 위치를 추적하거나, 모니터링하거나, 또는 다른 방식으로 결정할 수 있다. 여기서, 시스템은 환경 내의 커서의 위치가 시계(1504)와 농구공(1508) 사이에 있다고 (그리고 농구공(1508)보다는 시계(1504)에 더 가깝다고) 결정했다. 또한, 시스템은, 환경 내의 커서의 위치는 시계(1504)에 대응하는 더 작은 거리 임계치(1526)를 지나갔고, 환경 내의 커서의 위치는 농구공(1508)에 대응하는 더 큰 거리 임계치(1524)를 지나갔다고(그러나 농구공의 더 작은 임계치(1522)는 지나가지 않았다고) 결정했다. 따라서, 환경 내의 커서의 위치가 시계(1504) 및 농구공(1508) 둘 모두의 임계치를 지나가기 때문에, 시스템은 시계(1504) 및 농구공(1508) 각각에 대해 초점 표시자를 렌더링한다. 그러나, 환경 내의 커서의 위치가 농구공(1508)보다 시계(1504)에 더 가깝다는 이해를 사용자에게 제공하기 위해, 시스템은 시계(1504)에 할당된 초점 표시자(1512)를, 시스템이 농구공(1508)에 할당된 초점 표시자(1514)를 렌더링하는 것과 상이하게 렌더링할 수 있다. 예컨대, 시스템은 더 큰 또는 더 밝은 초점 표시자(1512)를 시계(1504)에 (또는 커서(1516)에 가장 가까운 시계 부분에) 할당할 수 있고, 더 작은 또는 덜 강한 초점 표시자(1514)를 농구공(1508)에 할당할 수 있다.
[0158] 커서(1516)는 컵(1502), 전화기(1506), 및 카메라(1510)로부터 그들 개개의 거리 임계치들보다 더 멀리 떨어져 있으므로, 이 예에서, 시스템은 이러한 오브젝트들 주위에 초점 표시자를 렌더링하지 않는다(또는 다른 예들에서는, 시계 및 농구공의 초점 표시자들보다 덜 두드러지는 초점 표시자를 렌더링할 수 있음).
[0159] 일부 경우들에서, 하나 이상의 거리 임계치들이 미리 결정되는 반면, 다른 경우들에서, 하나 이상의 거리 임계치들은 동적이며 환경 팩터들에 따라 시스템에 의해 조정된다. 예컨대, 시스템은 사용자의 시야(1520) 내의 오브젝트들이 서로 비교적 멀리 떨어져 있다는 결정에 적어도 부분적으로 기반하여 비교적 큰 거리 임계치들을 결정할 수 있다. 그에 반해, 시스템은 사용자의 시야(1520) 내의 오브젝트들이 서로 비교적 가깝다는 결정, 또는 시야(1520) 내에 비교적 많은 양의 오브젝트들이 있다는 결정에 적어도 부분적으로 기반하여, 비교적 작은 거리 임계치를 결정할 수 있다. 이는 유리하게, 많은 오브젝트들이 그룹화되거나 서로 가까이 포지셔닝되어 있음에도 불구하고, 사용자가 오브젝트를 자신있게 선택하는 것을 가능하게 할 수 있다.
[0160] 초점 표시자의 강도(또는 밝기)는 또한, 오브젝트 주변의 또는 오브젝트에 인접한 특정 구역에서의 글로의 존재를 포함할 수 있다. 예컨대, 커서가 오브젝트에 더 가깝게 이동함에 따라, 그 오브젝트의 초점 표시자는 오브젝트 주변의 더 큰 구역을 채우기 시작할 수(또는 오브젝트 주변의 더 큰 구역에 존재하게 될 수) 있다. 예컨대, 도 15a와 관련하여, 커서(1516)가 거리 임계치(1526) 내에 있는 경우, 초점 표시자(1512)는 오브젝트(1504)를 둘러쌀 수 있고, 초점 표시자(1512)는 다른 오브젝트들(1504)에 대응하는 초점 표시자보다 더 크거나, 더 밝거나, 또는 더 강할 수 있다.
[0161] 또한, 도 16a-도 16d, 도 18a-도 18c, 및 도 29a-도 29f를 참조하여 추가로 설명된 바와 같이, 초점 표시자는 커서에 더 가깝거나 가장 가까운 오브젝트의 측면에서 시각적으로 더 잘 지각가능할 수 있고 오브젝트의 반대쪽 측면에서 덜 지각가능할 수 있으며, 이는 커서가 오브젝트의 특정 측면에 더 가깝다는(그리고 오브젝트의 반대쪽 측면으로부터 더 멀다는) 명확한 지각을 사용자에게 제공한다. 예컨대, 도 15b에 예시된 바와 같이, 커서(1516)가 오브젝트(1504)에 접근함에 따라, 초점 표시자(1512)는 오브젝트(1504) 뒤로부터 밖으로 이동하기 시작하여 커서(1516)를 만날 수 있다(또한 도 29a-도 29f 참조). 이는, 초점 표시자(1512)가 커서(1516)를 향해 끌어당겨지거나 또는 커서에 의해 오브젝트로부터 당겨지는 외관을 제공한다. 오브젝트(1508)는 (예컨대, 임계치들(1522, 1524)에 대해) 오브젝트(1504)보다 커서(1516)로부터 더 멀고, 도 15b에서, 농구공 주위의 초점 표시자(1514)는 시계 주위의 초점 표시자(1512)보다 커서(1516)를 향해 더 적게 이동하였다. 따라서, 초점 표시자들의 상대적인 밝기들, 포지션들, 공간 범위들(예컨대, 오브젝트 주변의 원주 범위), 컬러들, 그래픽 장식들 등 중 일부 또는 전부는, 커서가 로케이팅된 위치, 커서 인근에 어떤 오브젝트들이 있는지(그리고 얼마나 가까이 있는지 또는 멀리 있는지), 사용자에 의해 어떤 오브젝트들이 선택되었는지 등에 관한 강한 시각적 표시를 사용자에게 제공할 수 있다.
이클립스 커서 및 초점 표시자의 구현
[0162] 초점 표시자는 본원에서 설명된 웨어러블 시스템과 연관된 AR, MR, 또는 VR 환경 내에서 사용자 선택들을 강조표시하거나 강조하는 방식을 나타낸다. 상호작용가능한 콘텐츠 위로 이동하고 적어도 부분적으로 가리는 커서를 보여주는 종래의 접근법 대신에, 시스템은 실제 또는 가상 오브젝트들 뒤로 이동하고 그 실제 또는 가상 오브젝트들에 의해 이클립스되는 커서를 렌더링할 수 있다. 초점 표시자들의 사용은, 예컨대 환경 내의 오브젝트들 뒤로부터 방사되는 글로들 또는 할로들의 상대적 외관을 통해 사용자에게 포지션 피드백을 제공한다. 또한, 오브젝트에 초점 표시자를 할당한 후에도 사용자 입력(예컨대, 머리 포즈, 눈 포즈, 신체 포즈, 사용자 입력 디바이스로부터의 입력 등)을 계속 추적하거나 결정함으로써, 시스템은 환경 오브젝트들의 초점 표시자들을 수정하여, 지속적인 입력 피드백, 몰입적인 사용자 경험, 및 정확한 커서 포지션 감지를 사용자에게 제공한다.
[0163] 도 16a-도 16d는 초점 표시자를 렌더링하는 프로세스의 예를 예시한다. 초점 표시자 및 이클립스 커서의 구현은 다양한 방식들로 수행될 수 있다. 예컨대, 초점 표시자의 구현은 적어도 적당한 CPU 전력을 갖는 컴퓨팅 디바이스 또는 그래픽스 프로세서(GPU)의 활용을 포함할 수 있다. 일부 경우들에서, GPU는, (i) 프래그먼트 셰이더 프로그램(fragment shader program)들을 실행하거나, (ii) 오프-스크린 렌더 버퍼들을 렌더링하거나, 또는 (iii) 풀-스크린 프로세싱 작업의 몇몇 과정(pass)들을 수행하도록 구성된다.
[0164] 사용자의 FOV 내의 오브젝트들의 근접도를 결정하기 위해, 시스템은 환경 내의 커서의 위치에 대한 오브젝트들 각각의 위치를 결정할 수 있다. 예컨대, 환경 내의 많은 오브젝트들은 3D 세계 선택 평면 상에 놓여 있는 2D 형상으로 표현될 수 있다. 시스템은 그 3D 세계 선택 평면에 대해 광선을 캐스팅하여 임의의 주어진 오브젝트에 대한 환경 내의 커서의 위치의 근접도를 결정할 수 있다. 시스템은 또한, 오브젝트들의 형상 또는 배향과 같은, 오브젝트들의 하나 이상의 특징들을 결정할 수 있다. 일부 경우들에서, 오브젝트 형상, 실루엣, 배향, 또는 환경 내의 커서의 위치에 대한 근접도에 적어도 부분적으로 기반하여, 시스템은 환경 내의 커서의 위치와 오브젝트의 일부 사이의 공간 관계를 결정할 수 있다. 예컨대, 시스템은, 환경 내의 커서의 위치가 오브젝트와 오버랩되는 시점 또는 오브젝트의 일부(예컨대, 오브젝트의 가장 가까운 부분, 오브젝트의 중심 등)에 대한 임계 거리를 지나가는 시점을 결정할 수 있다. 일부 경우들에서, 예컨대 환경이 다수의 오브젝트들을 포함하는 경우, 시스템은 어느 오브젝트가 환경 내의 커서의 위치에 가장 가까운지를 결정할 수 있다. 일부 경우들에서, 초점 표시자의 디스플레이되는 특성들은 환경 내의 커서의 위치에 대한 오브젝트의 근접도에 적어도 부분적으로 기반할 수 있다.
[0165] 도 16a-도 16d는 웨어러블 시스템이 이클립스 커서 및 초점 표시자를 렌더링할 수 있게 하는 프로세스의 예를 개략적으로 예시한다. 이 프로세스는 도 2를 참조하여 설명된 웨어러블 디스플레이 시스템(200)의 로컬 프로세싱 및 데이터 모듈(260)에 의해 수행될 수 있다. 도 16a-도 16d를 참조하여 설명된 예시적인 렌더링 프로세스는 입체적으로 렌더링된 AR/MR/VR 환경에서 각각의 눈을 나타내기 위해 두 번 수행될 수 있다.
[0166] 도 16a는 초점 표시자를 렌더링하기 위한 제1 오프-스크린 렌더 패스(off-screen render pass)를 예시한다. 환경 내의 결정된 커서 위치에 적어도 부분적으로 기반하여, 시스템은 커서 글로(1610)를 오프-스크린 버퍼(1600A)(때때로 "커서소스 버퍼(CursorSource buffer)"로 지칭됨)에 렌더링한다. 커서 글로(1610)는 마치 종래의 커서인 것처럼 환경에 로케이팅될 수 있다. 예컨대, 커서 글로(1610)의 중심(1630)은 환경 내의 커서의 위치에 대응할 수 있다. 커서 글로(1610)는 궁극적으로, 초점 표시자가 나타날 가장 큰 디스플레이-공간 영역을 정의하는 마스크로서 작용할 것이다. 커서 글로(1610)의 사이즈 또는 형상은, 원하는 초점 표시자 사이즈, 다른 오브젝트들에 대한 오브젝트의 근접도, 오브젝트들의 사이즈 또는 형상, 오브젝트의 수 또는 밀도 등과 같은 다양한 기준들에 기반할 수 있다.
[0167] 도 16b는 초점 표시자를 렌더링하기 위한 제2 오프-스크린 렌더 패스를 예시한다. 제2 오프-스크린 렌더 패스는 다른 오프-스크린 버퍼(1600B)(때때로 "형상마스크 버퍼(ShapeMask buffer)"로 지칭됨)에 렌더링될 수 있고, 오브젝트들(1204) 중 하나 이상의 오브젝트들(1204)의 마스크 표현을 포함할 수 있다. 마스크 표현은 3D 공간에서의 오브젝트들의 위치, 배향, 또는 사이즈에 적어도 부분적으로 기반할 수 있다. 예컨대, 도 16b에 예시된 바와 같이, 시스템은 도 16a로부터의 커서 글로(1610)의 외측 경계 또는 실루엣(1620) 내에 있는 오브젝트들에 대한 마스크들만을 생성할 수 있다. 일부 경우들에서, 시스템은 초점 표시자들이 할당될 오브젝트들에 대한 마스크들만을 생성할 수 있다. 따라서, 이 예에서, 시스템은 마스크들(1602, 1604, 및 1606)을 렌더링하지만, 커서 글로의 외측 경계(1620)를 넘어서는 오브젝트(1608)에 대한 마스크를 렌더링하지는 않는다.
[0168] 시스템은 다양한 방식들로 오브젝트들(1204)의 형상 표현(예컨대, 마스크)을 결정할 수 있다. 예컨대, 시스템은 마스크들의 형상의 3D 카메라 변형을 반영하는 마스크들을 렌더링할 수 있다. 일부 경우들에서, 오브젝트들(1204)은 오브젝트의 실제 형상에 대응하는 2D 구들, 직사각형들, 또는 캡슐 형상들로 표현될 수 있다. 유사하게, 오브젝트들(이를테면, 실세계 오브젝트들)은 오브젝트의 실루엣으로 표현될 수 있다. 일부 경우들에서, 각각의 형상 마스크를 그리기 위해, 시스템은 수학 공식으로부터 주어진 형상을 알고리즘적으로 렌더링하는 셰이더 프로그램을 활용한다. 일부 경우들에서, 이를테면, 3D 오브젝트의 경우, 시스템은 오브젝트의 플랫-컬러 투사(flat-color projection)를 렌더링할 수 있다. 일부 경우들에서, 시스템은 오브젝트의 형상의 카메라 공간 근사를 사용한다.
[0169] 도 16c는 초점 표시자를 렌더링하기 위한 제3 오프-스크린 렌더 패스를 예시한다. 제3 오프-스크린 렌더 패스는, 다른 오프-스크린 버퍼(1600C)(때때로 "글로마스크 버퍼(GlowMask buffer)"로 지칭됨)에 렌더링될 수 있고, 형상마스크 버퍼(1600B)로부터의 오브젝트들의 마스크들(예컨대, 마스크들(1602, 1604, 1606))을 포함할 수 있지만, 오브젝트들 중 하나 이상에 대한 글로-마스크들(예컨대, 아래에서 설명되는 글로 마스크들(1622, 1624, 1626))을 또한 포함할 수 있다. 예컨대, 도 16b의 마스크들과 같이, 시스템은 도 16a로부터의 커서 글로(1630)의 외측 경계 또는 실루엣(1620) 내에 있는 오브젝트들에 대한 글로 마스크들을 렌더링할 수 있다.
[0170] 시스템은 마스크들(1602, 1604, 1606) 주위에 적어도 부분적으로 방사하는 글로 마스크(예컨대, 에지 글로, 할로, 음영, 또는 다른 시각적 표시자)를 렌더링할 수 있다. 예컨대, 도 16b의 마스크들과 유사하게, 시스템은 튜닝가능한 에지 두께 양만큼 오브젝트 형상들의 에지들을 페더링(feather)하는 방식으로 오브젝트의 형상을 그릴 수 있는 셰이더 프로그램(또는 오브젝트-마스크의 멀티-탭 블러(multi-tap blur))을 활용할 수 있다. 셰이더 프로그램은 커서의 위치(1630)를 사용할 수 있으며, 커서의 위치에 대한 근접도를 반영하는 방식으로 글로 마스크의 에지 두께, 글로 밝기, 컬러, 또는 강도를 변화시킬 수 있다. 예컨대, 더 강하거나 더 밝은 글로 마스크는 더 가까운 오브젝트와 연관될 수 있는 반면, 덜 강하거나 더 어두운 글로 마스크는 더 멀리 떨어져 있는 오브젝트와 연관될 수 있다. 예컨대, 도 16c에 도시된 예에서, 글로 마스크(1622)는 글로 마스크들(1624 또는 1626)보다 더 밝은데, 왜냐하면, 글로 마스크(1622)와 연관된 오브젝트(1632)가 오브젝트들(1636, 1624)보다 커서의 위치(1630)에 더 가깝기 때문이다. 이 예에서, 오브젝트(1608)에 대해 글로 마스크가 생성되지 않는데, 왜냐하면, 커서 글로(1610)의 중심(1630)으로부터의 오브젝트(1608)의 거리가 커서 글로의 사이즈를 초과하기 때문이다. 글로 마스크들의 다양한 강도는 유리하게, 시스템이 커서의 포지션을 표시하기 위해 온-스크린 시각적 보조(예컨대, 커서)를 렌더링하지 않는 경우에도 정확한 포지션 피드백을 제공할 수 있다.
[0171] 글로 마스크의 에지 두께, 글로 밝기, 컬러, 강도, 또는 다른 특성들을 수정하기 위해, 셰이더 프로그램은 각각의 렌더링된 픽셀로부터 커서까지의 x 및 y 디스플레이-공간 거리들을 고려할 수 있고, 그에 따라 페더링 파라미터들(이를테면, 글로 마스크의 에지 두께 또는 글로 강도)을 확장하거나 축소할 수 있다.
[0172] 도 16d는 초점 표시자를 렌더링하기 위한 제4 렌더 패스를 예시한다. 제4 렌더 패스는 온-스크린 렌더링될 수 있고, 전체 장면에 대한 렌더링 작업의 나중(또는 최종) 스테이지(1600D)를 나타낼 수 있다. 이 렌더 패스의 경우, 시스템은 커서소스 버퍼(1600A), 형상마스크 버퍼(1600B), 및 글로마스크(1600C) 버퍼뿐만 아니라 (선택적으로는) 렌더링 애플리케이션에 의해 렌더링되는 3D 장면 콘텐츠를 포함하는 하나 이상의 온-스크린 또는 오프-스크린 버퍼들(때때로 "스크린버퍼(SceneBuffer)"로 지칭됨)에 액세스할 수 있다.
[0173] 시스템은 다양한 기법들을 사용하여 커서소스 버퍼(1600A), 형상마스크 버퍼(1600B), 및 글로마스크(1600C) 버퍼, 및 스크린버퍼를 조합할 수 있다. 예컨대, 셰이더 프로그램은 다양한 버퍼들을 함께 조합하여 장면(1600D)을 생성할 수 있다. 예컨대, 셰이더 프로그램은 스크린버퍼 컬러로부터 각각의 비-제로 형상마스크(1600B) 픽셀을 감산할 수 있다. 게다가, 셰이더 프로그램은 "(글로마스크(1600C) 버퍼 - 형상마스크 버퍼(1600B)) × 커서소스 버퍼"의 조합을 스크린버퍼 컬러들에 추가할 수 있다.
[0174] 도 16d의 장면(1600D)에 예시된 바와 같이, 오브젝트들(1632, 1634, 및 1636)에는 초점 표시자(1202a, 1202b, 1202c)가 각각 할당되어 있다. 초점 표시자들(1202a-1202c)은 개개의 오브젝트들(1632, 1634, 1636) 각각 주위에 적어도 부분적으로 방사한다. 이 예에서, 초점 표시자들(1202)이 방사하는 부분은 커서 글로의 외측 경계 또는 실루엣(1620) 내에 있는 오브젝트들의 부분들에 대응한다. 경계(1620) 외측에 있는 오브젝트들의 부분들은 이 예에서 초점 표시자로 렌더링되지 않는다. 그러나, 일부 경우들에서, 오브젝트의 적어도 일부가 커서 글로의 실루엣(1620) 내에 있는 경우, 오브젝트의 단지 일부만이 아니라 전체 오브젝트에 초점 표시자가 할당된다. 도시된 바와 같이, 오브젝트(1638)의 어떤 부분도 (커서의 예시된 위치(1630)에 대해) 커서 글로(1610)의 실루엣(1620) 내에 있지 않기 때문에, 오브젝트(1638)에는 초점 표시자가 할당되지 않는다.
[0175] 따라서, 도 16d에 렌더링된 장면을 뷰잉하는 사용자는, (표시자들(1202b 및 1202c)과 비교하여) 더 강한 초점 표시자(1202a)로 인해 그리고 초점 표시자들(1202b, 1202c)은 그들의 연관된 오브젝트들(1636, 1634) 주위로 부분적으로만 연장되는 반면 초점 표시자(1202a)는 거의 전체적으로 오브젝트(1632) 주위로 연장된다는 사실로 인해, 커서가 오브젝트(1632) 뒤에 있다는 강한 시각적 큐들을 제공받을 것이다.
[0176] 충분한 오브젝트들이 있거나 오브젝트들이 비교적 조밀하게 팩킹된 구역들에서, 이클립스 커서 및 초점 표시자들은 커서의 위치를 표시하는 데 효과적일 수 있다. 그러나, 오브젝트들이 많지 않은 또는 전혀 없는 구역들에서, 시스템은 커서 포지션을 사용자에게 표시하기 위해 그래픽 엘리먼트(예컨대, 작은 글로 스프라이트)를 렌더링할 수 있다.
[0177] 시스템은, 선택되거나 상호작용될 때 오브젝트의 에지들이 얼마나 강하게 글로잉(glow)할 수 있는지를 제어하거나, 또는 커서가 오브젝트에 접근함에 따라 오브젝트가 글로잉할 수 있는 정도를 증가시키거나 감소시키는 것을 가능하게 하는, 각각의 선택가능한 오브젝트에 대한 튜닝가능한 파라미터들을 제공할 수 있다. 일부 경우들에서, 형상 마스크들 또는 글로 마스크들을 렌더링할 때, 시스템은 수학적 형상 표현을 사용하여 안티-에일리어싱(anti-aliasing)을 소스 렌더 프로세스에 통합할 수 있다.
실세계 오브젝트들
[0178] 도 16a-도 16d에 예시된 초점 표시자들(1202)의 구현이 가상 콘텐츠와 연관된 초점 표시자들을 도시하지만, 증강 또는 혼합-현실 환경에서 실세계 오브젝트들을 강조표시하는 초점 표시자들을 할당하는 데 유사한 기법들이 적용가능하다. 예컨대, 시스템은 초점 표시자를 생성하는 데 사용되는 멀티-탭 블러와 함께 오브젝트의 형상의 카메라 공간 근사를 사용할 수 있다.
평면형 레이아웃들의 이클립스 커서
[0179] 많은 선택가능한 오브젝트들, 예컨대, 조직화된 그리드들 또는 리스트들이 있는 환경들의 경우, 시스템은 커서가 더 초점-표시자처럼 거동하도록 디스플레이할 수 있다. 도 17은 (터치 감지 표면(1704)을 갖는) 토템(1702) 상의 사용자 입력 및 그리드(1700)의 예를 도시한다. 터치 감지 표면(1704) 상의 궤적(1706)에 대한 사용자의 터치는 선택가능한 오브젝트들의 그리드 레이아웃(1700)에 걸쳐 실질적으로 동일한 궤적(1710)을 따라 커서를 이동시킨다. 오브젝트들은 본원에서 설명된 인력 효과를 가질 수 있으므로, 커서가 가장 가까운 오브젝트로 끌어당겨짐에 따라 커서는 오브젝트들 사이에서 디스플레이될 필요가 없다. 예컨대, 그리드(1700) 내의 오브젝트들 중 하나는 항상 초점을 가질 수 있다(예컨대, 그리고 초점 표시자에 의해 강조될 수 있음). 토템(1702) 상의 시각적 초점 표시자들 및 (선택적으로) 햅틱 이벤트들은 오브젝트들 위에서의 호버링(또는 오브젝트들의 선택)을 동반할 수 있다.
[0180] 많은 선택가능한 텍스트를 갖는 문서 또는 브라우저와 같이, 세분화된 선택(granular selection)을 갖는 구역들을 포함하는, 더 복잡한 레이아웃들의 더 유연한 내비게이션을 위해, 커서는 항상 시각화될 수 있는데, 왜냐하면, 레이아웃은 커서를 가리는 이클립스 오브젝트들로 가득하지 않기 때문이다. 시각적 초점 표시자들 및 선택적 햅틱 이벤트들은 여전히, 선택가능한 오브젝트들 위에서의 호버링을 동반할 수 있다.
이클립스 커서들 및 초점 표시자들의 추가적인 예들
[0181] 도 18a-도 18c는 초점 표시자(1302)를 갖는 오브젝트(1204)를 향해 이동하는 커서(1202)의 예를 예시한다. 오브젝트(1204)는 애플리케이션의 실행을 개시하기 위해 선택될 수 있는 선택가능한 오브젝트, 이를테면, 아이콘일 수 있다. 이 예에서, 예시적 목적들을 위해, 아이콘은 별이 빛나는 배경에서 지구와 달로 예시되며, 실행가능한 애플리케이션은 스페이스 익스플로러(Space Explorer)로 라벨링된다. 아이콘(1202), 초점 표시자(1302), 및 오브젝트(1204) 주위의 점선들은, 이러한 그래픽 엘리먼트들 각각이 디스플레이 시스템에 의해 상이한 버퍼들에 렌더링될 수 있음을 표시하며, 그 상이한 버퍼들은 도 16a-도 16d를 참조하여 설명된 바와 같이 조합될 수 있다.
[0182] 도 18a는 커서가 오브젝트(1204)로부터 원격에 있는 경우의 예를 예시한다. 이 경우, 커서(1202)는 사용자에 대한 가시성을 돕기 위해 비교적 밝고, 초점 표시자(1302)는 비교적 작으며 매우 강하지는 않다. 시스템은 (도 18a에서 점선들로 도시된 바와 같이) 오브젝트(1202)와 대략 동일한 사이즈로 초점 표시자(1302)를 렌더링할 수 있고, 초점 표시자(1302)의 최상부에 오브젝트(1202)를 렌더링하거나 또는 초점 표시자(1302) 이후에 오브젝트(1202)를 렌더링할 수 있다. 따라서, 커서(1202)가 오브젝트(1204)로부터 원격에 있을 때, 초점 표시자(1302)는 오브젝트(1204) 뒤에 "숨겨져 있다"고 말할 수 있고, 사용자에게 시각적으로 지각불가능하거나 또는 거의 지각불가능할 수 있다.
[0183] 도 18b는 커서가 오브젝트에 접근함에 따른, 커서, 오브젝트, 그리고 초점 표시자 사이의 상호작용들의 예를 예시한다. 예시된 바와 같이, 도 18b의 초점 표시자(1302)는 도 18a의 초점 표시자보다 더 크거나, 더 밝거나, 또는 더 강하다. 또한, 커서(1202)가 오브젝트(1204)에 접근함에 따라, 초점 표시자(1302)는 오브젝트 뒤로부터 밖으로 이동하기 시작하여 커서(1202)를 만난다. 이는, 초점 표시자가 커서(1202)를 향해 끌어당겨지는 외관을 제공한다. 게다가, 도 18a 및 도 18b는 커서에 대한 오브젝트의 근접도 및 커서에 대한 포지션에 따라 초점 표시자의 강도가 어떻게 페이드 인 또는 페이드 아웃될 수 있는지를 예시한다. 예컨대, 도 18b에서, 초점 표시자(1302)는 커서(1202)에 가장 가까운 오브젝트(1204)의 측면에서 더 시각적으로 지각가능하고, 오브젝트의 반대쪽 측면에서 덜 지각가능하며, 이는 커서(1202)가 오브젝트(1204)의 특정 측면에 가깝다는 명확한 지각을 사용자에게 제공한다.
[0184] 도 18c는 커서가 오브젝트 뒤로 이동(또는 호버링)함에 따른, 커서, 오브젝트, 그리고 초점 표시자 사이의 상호작용들의 예를 예시한다. 커서(1202)가 오브젝트(1204) 뒤로 이동할 때, 오브젝트(1204)는 (이 예에서) 더 커지고 오브젝트 전경이 확장되며, 그에 따라, 오브젝트(1204)가 사용자에게 더 가깝게 또는 더 크게 나타난다. 게다가, 초점 표시자(1302)는 더 밝아지고 오브젝트를 실질적으로 둘러싸서, 오브젝트(1204)가 선택되었음을 표시할 수 있다. 이 예에서, 아이콘(아이콘은 도 18a 및 도 18b에서 2D로 표현됨)이 확장되며, 그에 따라, 별이 빛나는 배경 앞에 지구(및 달)가 (예컨대, 별이 빛나는 배경의 깊이보다 사용자에게 더 가까운 깊이들로) 디스플레이된다.
예시적인 초점 표시자들
[0185] 도 19-도 22는 시스템에 의해 렌더링될 수 있는 초점 표시자들의 다양한 예들을 예시한다. 초점 표시자들(1302)은 원형(예컨대, 도 18, 도 19, 및 도 21에 도시된 바와 같음), 직사각형(예컨대, 도 20에 도시된 바와 같음), 또는 다른 형상들일 수 있다. 일부 경우들에서, 초점 표시자는 오브젝트(1302)에 인접하게(예컨대, 오브젝트(1302)의 위, 아래, 또는 측면에) 배치된 라벨을 포함할 수 있다. 예컨대, 도 19는 오브젝트(1302)의 측면에 "검색(search)" 라벨을 도시하고, 도 20은 오브젝트(1302) 위에 "페이지들을 수집(Gather pages)" 라벨을 도시한다. 사용자에게 오브젝트에 관한 시각적 큐를 제공하기 위해, 오브젝트가 선택될 때 라벨이 강조될 수 있다(예컨대, 더 밝아질 수 있음). 이 예들이 텍스트 라벨들을 도시하지만, 라벨은 임의의 그래픽 엘리먼트일 수 있다. 도 22는 사용자에 의해 애플리케이션 선택 아이콘이 선택된 예를 도시하며, 애플리케이션 선택 아이콘은 사용자가 브라우저, 소셜 네트워크 등과 같은 애플리케이션들 중에서 선택하도록 허용한다. 도 22에서, 사용자는 브라우저 애플리케이션을 선택하였고 시스템은 브라우저 아이콘 주위에 할로로서 초점 표시자(1302)를 렌더링한다.
이클립스 커서의 구현의 예시적인 프로세스들
[0186] 도 23은 3D 장면에서 초점 표시자를 렌더링하기 위한 예시적인 방법에 대한 흐름도를 예시한다. 프로세스(2300)는 웨어러블 시스템(200)의 하나 이상의 컴포넌트들, 이를테면, 예컨대 단독으로 또는 조합하여, 원격 프로세싱 모듈(270), 로컬 프로세싱 및 데이터 모듈(260), 그래픽스 프로세서(GPU), 또는 다른 프로세서에 의해 수행될 수 있다. 웨어러블 시스템(200)의 디스플레이(220)는 사용자에게 장면을 제시할 수 있고, 시스템은 사용자 입력 데이터, 이를테면, 내향 이미징 시스템(462)으로부터 눈 포즈 데이터, 또는 IMU들, 가속도계들, 또는 자이로스코프들로부터의 머리 포즈 데이터, 또는 커서/커서를 이동시키기 위한 또는 핸드-헬드 토템(1702)과 같은 사용자 입력 디바이스(466)로부터의, 오브젝트들을 선택하기 위한 사용자 입력 데이터를 획득할 수 있다.
[0187] 블록(2302)에서, 웨어러블 시스템은 사용자의 환경 내의 커서의 위치를 결정할 수 있다. 시스템은 사용자 입력 데이터, 이를테면, 내향 이미징 시스템(462)으로부터의 눈 포즈 데이터, IMU들, 가속도계들, 또는 자이로스코프들로부터의 머리 포즈 데이터, 또는 사용자 입력 디바이스, 이를테면, 도 4의 사용자 입력 디바이스(466) 또는 도 17의 토템(1702)으로부터의 데이터를 획득할 수 있다. 사용자 입력 데이터에 적어도 부분적으로 기반하여, 시스템은 환경 내의 커서의 위치를 결정할 수 있다. 일부 경우들에서, 환경 내의 커서의 위치를 결정하는 것 외에도, 시스템은 또한, 커서(1202), 또는 환경 내의 커서의 위치에 대응하는 다른 온-스크린 시각적 보조를 렌더링할 수 있다.
[0188] 블록(2304)에서, 시스템은 환경 내의 커서의 위치와 사용자의 시야(또는 관심 필드) 내의 하나 이상의 오브젝트들 사이의 공간 관계를 결정할 수 있다. 일부 경우들에서, 시스템은 오브젝트들의 하나 이상의 특징들, 이를테면, 하나 이상의 오브젝트들의 위치, 형상, 배향, 또는 사이즈를 결정할 수 있다. 블록(2302)에서 결정된 환경 내의 커서의 위치 및 하나 이상의 오브젝트 특징들에 적어도 부분적으로 기반하여, 시스템은 환경 내의 커서 위치와 오브젝트의 임의의 부분 사이의 공간 관계를 결정할 수 있다. 공간 관계는 상대적 위치 정보, 예컨대 오브젝트의 일부가 환경 내의 커서의 위치로부터 얼마나 떨어져 있는지, 또는 커서와 오브젝트의 부분 사이의 상대적인 배향(예컨대, 커서가 오브젝트 위에 있는지, 아래에 있는지, 왼쪽에 있는지, 오른쪽에 있는지)을 포함할 수 있다. 시스템은, 환경 내의 커서의 위치가 오브젝트와 오버랩되는지 또는 오브젝트 뒤에 있는지를 결정할 수 있거나, 또는 환경 내의 커서의 위치와 오브젝트의 일부(예컨대, 오브젝트의 가장 가까운 부분, 오브젝트의 중심 등) 사이의 거리를 결정할 수 있다. 일부 경우들에서, 시스템은 환경 내에서 어느 오브젝트(들)가 커서의 위치에 가장 가까운지를 결정할 수 있다.
[0189] 일부 구현들에서, 환경 내의 가상 오브젝트들은 3D 세계 선택 평면 상에 놓여 있는 2D 형상으로 표현될 수 있다. 시스템은 그 3D 세계 선택 평면에 대해 광선을 캐스팅하여 임의의 주어진 오브젝트에 대한 환경 내의 커서의 위치의 근접도를 결정할 수 있다. 공간 관계는 커서와 오브젝트(또는 오브젝트의 일부) 사이의 거리, 및 커서와 오브젝트의 상대적인 배향을 포함할 수 있다.
[0190] 블록(2306)에서, 시스템은 결정된 공간 관계(들)에 적어도 부분적으로 기반하여 하나 이상의 오브젝트들의 적어도 일부에 초점 표시자를 할당할 수 있다. 예컨대, 시스템은 도 16a-도 16d를 참조하여 설명된 기법들을 사용하여 초점 표시자를 렌더링할 수 있다. 또한, 도 12b 및 도 18a-도 18c를 참조하여 설명된 바와 같이, 결정된 공간 관계가, 커서가 오브젝트와 오버랩되거나 또는 커서가 오브젝트 뒤에 있음을 제공하는 경우, 시스템은 커서가 오브젝트를 가리지 않도록 커서 앞에 오브젝트를 렌더링할 수 있다.
[0191] 프로세스(2300)는 제한적인 것이 아니라 예시적인 것으로 의도된다. 본원에서 설명된 다양한 블록들은 다양한 순서들로 구현될 수 있고, 웨어러블 시스템은 블록들 중 하나 이상을 동시에 구현하거나 또는 원하는 대로 순서를 변경할 수 있다. 프로세스(2300)의 부분으로서 더 적은, 더 많은, 또는 상이한 블록들이 사용될 수 있다. 예컨대, 프로세스(2300)는 커서를 디스플레이하기 위한 또는 다른 사용자 인터페이스 액션들을 수행하기 위한 블록들을 포함할 수 있다.
그래픽 사용자 인터페이스 또는 아이콘을 갖는 디스플레이의 부분의 예들
[0192] 도 24-도 28은 아이콘을 갖는 디스플레이 스크린의 부분의 예들의 정면도들이다. 이러한 예들에서, 아이콘은 대부분이 원 내에 있는 머리의 양식화된 표현(stylized representation)을 포함한다. 도 24-도 28은 아이콘을 적어도 부분적으로 둘러싸는 초점 표시자의 예들을 도시한다. 초점 표시자는 아이콘으로부터 바깥쪽으로 방사되는 것으로 나타나는 짧은 선들로 표현된다. 이러한 예들에서, 아이콘에 비해, 초점 표시자는 일반적으로, 아래에 있고(도 24), 실질적으로 둘러싸고(도 25에서는 아이콘 아래에서 더 큰 정도로), 우측에 있고(도 26), 좌측에 있고(도 27), 그리고 위 및 아래에 있다(도 28).
[0193] 도 29a-도 29f는 디스플레이 스크린 또는 그 일부에 대한 그래픽 사용자 인터페이스의 실시예의 정면도들이다. 그래픽 사용자 인터페이스의 외관은 도 29a-도 29f에 도시된 이미지들 사이에서 순차적으로 전이된다. 하나의 이미지가 다른 이미지로 전이되는 프로세스 또는 기간과 연관된 어떤 장식적인 양상들도 없다. 이러한 예시적인 도면들에서, 가상 오브젝트(예컨대, 아이콘)는 점선 원으로 표현되고, 다른 실시예들에서는 직사각형, 다각형, 또는 다른 형상일 수 있다. 도 29a에서, 초점 표시자는 아이콘을 둘러싼 원형 고리로서 그레이스케일로 도시된다. 커서는 점선들로 도시된다. 도 29b-도 29f에서 계속되는 전이 이미지 시퀀스에서, 커서가 아이콘으로부터 멀어지게 이동함에 따라, 도 29e에서 초점 표시자가 아이콘으로부터 분리되고, 그런 다음, 도 29f의 원형 형상으로 전이될 때까지, 초점 표시자는 아이콘으로부터 커서를 향해 바깥쪽으로 당겨져서 멀어질 수 있다. 도 29f에서, 초점 표시자는 그레이스케일 원으로 표현되며, 커서는 디스플레이에 의해 렌더링되지 않는다.
[0194] 도 24-도 29f에 도시된 설계들은 증강 현실 또는 혼합 현실 디스플레이, 이를테면, 머리-장착 디스플레이에 의해 구현될 수 있다. 예컨대, 디스플레이는 도 2를 참조하여 설명된 웨어러블 시스템(200)의 디스플레이(220), 또는 도 4를 참조하여 설명된 웨어러블 시스템(400)의 디스플레이, 또는 도 6을 참조하여 설명된 광학 디스플레이 시스템(600)의 디스플레이를 포함할 수 있다. 디스플레이 또는 디스플레이의 일부는 도 24-도 29f에서 외측 직사각형 점선들로 표현된다. 디스플레이도 아이콘(또는 애니메이션화된 그래픽 사용자 인터페이스의 다른 그래픽 엘리먼트들)도, 도 24-도29F에 도시된 스케일로 제한되지 않는다. 디스플레이를 도시하는 파선들은 설계의 어떤 부분도 형성하지 않는다.
[0195] 따라서, 다양한 양상들에서, 본 개시내용은, 도시되고 설명되는 바와 같이, 아이콘 또는 과도기적인(transitional)(또는, 애니메이션화된) 그래픽 사용자 인터페이스를 갖는 디스플레이 스크린 또는 그 일부에 대한 장식적인 설계를 제공한다.
그래픽 사용자 인터페이스 또는 아이콘을 갖는 디스플레이의 부분의 예들
[0196] 도 30a-도 30f는 디스플레이 스크린 또는 그 일부 상의 GUI에 대한 전이 시퀀스의 실시예를 예시한다. GUI는 예컨대, 도 2, 도 4, 및 도 6을 참조하여 설명된 웨어러블 디스플레이 시스템들(200, 400, 600)과 같은, 본원에서 설명된 웨어러블 디스플레이들 중 임의의 것에 의해 렌더링될 수 있다. 도 30a-도 30f는 점선으로 표시된 예시적인 경로(3001)를 따라 포인트 A로부터 포인트 F로 순차적으로 전이하는 커서(1202)를 갖는 GUI를 도시한다. 예시된 바와 같이, GUI는 그리드 레이아웃으로 제시된 복수의 아이콘들(3002)을 포함한다. GUI는, 커서가 아이콘 뒤로 이동(또는 호버링)함에 따른, 커서, 아이콘, 또는 초점 표시자 사이의 상호작용들을 도시하기 위해, 본원에서 설명된 바와 같이, 커서(1202) 또는 초점 표시자(1302)를 사용한다. 그리드 레이아웃, 아이콘 형상(예컨대, 이러한 도면들에서 직사각형), 및 커서 경로는 제한적인 것이 아니라 예시적인 것으로 의도된다. 그리드 레이아웃의 아이콘들은 단일 깊이(예컨대, 2D로 나타남) 또는 다수의 깊이들(예컨대, 3D로 나타남)로 렌더링될 수 있다. 아이콘들(3002)은 썸네일들일 수 있다. 그리드 레이아웃은 평면형일 필요는 없고, 만곡되게 렌더링될 수 있다(예컨대, 레이아웃의 일부 부분들은 다른 부분들보다 더 가까운 깊이들에 있음).
[0197] 도 30a는 커서(1202)가 포인트 A에 포지셔닝됨에 따른 아이콘들(3002)과 커서(1202) 사이의 상호작용들의 예를 예시한다. 아이콘들(3002)은 웨어러블 시스템의 사용자의 가상 환경 내의 임의의 타입의 상호작용가능한 오브젝트들에 대응할 수 있다. 상호작용가능한 오브젝트들은, 애플리케이션들(예컨대, 앱들), 콘텐츠 폴더들, 디지털 미디어, 이를테면, 스틸 이미지들, 비디오들, 오디오, 음악, 앨범들, 문서들 등(그러나 이에 제한되지 않음)을 포함한다(그러나 이에 제한되지 않음). 예시된 바와 같이, 포인트 A에서, 커서(1202)는 그리드 레이아웃 내의 아이콘들(3010, 3012)(B3 및 D3) 사이에 있다. 다시 말해서, 포인트 A에서, 커서(1202)는 아이콘들(3002) 중 어떤 아이콘도 선택하고 있지 않다.
[0198] 도 30b는 커서(1202)가 포인트 B에서 아이콘(3010) 뒤로 이동(또는 호버링)함에 따른, 아이콘(3010)(B3)과 초점 표시자(1302) 사이의 상호작용들의 예를 예시한다. 이 예에서 도시된 바와 같이, 커서(1202)가 아이콘(3010) 뒤로 이동할 때, GUI는, 아이콘(3010)이 아래에서 커서에 의해 호버링되었음을 표시하기 위해 아이콘(3010)을 둘러싸는 초점 표시자(1302)를 할당한다. 초점 표시자(1302)는 만곡된 형상으로서 그레이스케일로 도시되며, 그 만곡된 형상은 이 예에서 아이콘을 실질적으로 둘러싼다. 도 30b에서, 커서(1202)는 아이콘(3010)에 의해 이클립스된다. 커서(1202)가 점선들로 도시되지만, 점선들은 단지, 렌더링되는 경우, 커서(1202)가 있을 포지션을 표시한다.
[0199] 일부 경우들에서, 선택된 아이콘(3010)의 시각적 외관은 아이콘이 사용자에 의해 선택되었음을 표시하도록 변경될 수 있다. 예컨대, 사용자는 시간 기간(예컨대, 몇 초 이상) 동안 아이콘(3010) 아래에서 커서(1202)를 호버링하는 것, 토템으로부터의 사용자 입력(예컨대, 클릭 또는 더블-클릭과 같이, 터치 감지 표면을 작동시키는 것), 눈, 머리, 또는 신체 제스처 등에 의해 아이콘(3010)을 선택할 수 있다. 예컨대, 웨어러블 시스템은 눈 시선에 적어도 부분적으로 기반하여 아이콘의 사용자 선택을 검출할 수 있으며, 예컨대, 눈 추적 카메라는 임계 시간(예컨대, 1초 이상)보다 더 오랫동안의 아이콘(3010)에 대한 사용자 응시를 검출한다.
[0200] 레이아웃의 다른 아이콘들(예컨대, 커서를 이클립스하지 않는 아이콘들)의 시각적 외관은, 아이콘(3010)이 선택되었거나 또는 아래에 호버링되었음을 표시하기 위해, 변경될 수 있다. 아이콘(3010) 또는 다른 아이콘들은 커서(1202)가 아이콘(3010) 뒤로 이동함에 따라 사이즈 또는 형상이 변경될 수 있다. 예컨대, 아이콘(3010)은, 아이콘(3010)이 사용자에게 더 가깝게 또는 더 크게 나타나도록(예컨대, 배경의 깊이보다 사용자에게 더 가까운 깊이들로), 더 커질 수 있거나 또는 아이콘 전경이 확장될 수 있다. 유사하게, 선택되지 않은 아이콘들은 더 작아질 수 있거나, 선택되지 않은 아이콘들의 전경은, 아이콘들이 사용자로부터 더 멀어지는 것으로 또는 사용자에게 더 작아지는 것으로 나타나도록, 감소될 수 있다. 아이콘들의 사이즈, 형상, 또는 시각적 외관에 대한 추가적인 또는 대안적인 변경들이 사용될 수 있다. 예컨대, 아이콘(3010)이 아래에 호버링되거나 선택될 때, 선택된 아이콘(3010)은 더 작아질 수 있거나, 또는 다른 아이콘들(3002)이 더 커질 수 있다.
[0201] 선택된 아이콘(3010) 또는 다른 아이콘들은, 커서(1202)가 아이콘(3010) 뒤로 이동함에 따라 선명도(투명도를 포함함), 해상도 등이 변경될 수 있다. 예컨대, (예컨대, 도 30a에 예시된 바와 같이) 어떤 아이콘도 선택되지 않은 경우, 아이콘들(3002) 각각은 제1 선명도 또는 제1 해상도로 제시될 수 있다. 커서(1202)가 아이콘(3010) 뒤로 이동함에 따라, 아래에 호버링되는 또는 선택된 아이콘의 선명도 또는 해상도가, 예컨대 제2 선명도 또는 제2 해상도로 변경될 수 있다. 일부 경우들에서, 제2 선명도는 제1 선명도보다 더 명확하고, 일부 경우들에서 제2 해상도는 제1 해상도보다 더 높은 해상도이다. 따라서, 아이콘(3010)이 선택됨에 따라, 아이콘(3010)은 아이콘이 사전-선택된 것보다 초점이 더 맞춰지거나, 해상도가 더 높아지거나, 또는 품질이 더 높아질 수 있다.
[0202] 추가하여 또는 대안적으로, 커서(1202)가 아이콘(3010) 뒤로 이동함에 따라, 다른 아이콘들(예컨대, 선택되지 않은 아이콘들)의 선명도 또는 해상도는 예컨대 제3 선명도 또는 제3 해상도로 변경될 수 있다. 일부 경우들에서, 제3 선명도는 제1 선명도보다 덜 명확하거나, 제3 해상도는 제1 해상도보다 더 낮은 해상도일 수 있다. 따라서, 아이콘(3010)이 선택될 때, 다른 아이콘들은 흐릿해지거나, 초점이 맞지 않거나, 저해상도, 또는 저품질로 나타날 수 있다.
[0203] 그러나, 일부 경우들에서, 선택될 때, 선택된 아이콘의 선명도 또는 해상도가 감소될 수 있다. 유사하게, 아이콘이 선택될 때, 선택되지 않은 아이콘들의 선명도 또는 해상도가 증가될 수 있다. 선명도, 해상도 등에 대한 추가적인 또는 대안적인 변경들이 구현될 수 있다.
[0204] 일부 경우들에서, 커서(1202)가 아이콘(3010) 뒤로 이동함에 따라, 선택된 아이콘(3010)에 대한 추가적인 세부사항이 도시될 수 있다. 예컨대, 추가적인 세부사항은 앱 또는 미디어의 타이틀을 포함할 수 있는 캡션(3014)을 포함할 수 있다. 유사하게, 추가적인 세부사항은 사이즈(예컨대, 바이트 단위), 생성된 날짜, 수정된 날짜, 위치, 파일 타입, 해상도, 비디오 세부사항(예컨대, 비디오 길이, 제작자, 배우들 등), 또는 선택된 아이콘(3010)에 대응하는 다른 특징들을 포함할 수 있다.
[0205] 일부 경우들에서, 커서(1202)가 아이콘(3010) 뒤로 이동함에 따라, 선택된 아이콘(3010)의 하나 이상의 특징들이 활성화될 수 있다. 예컨대, 아이콘(3010)이 비디오에 대응하는 경우, 아이콘(3010)의 선택은 비디오가 재생되기 시작하게 할 수 있다. 유사하게, 아이콘(3010)의 선택은, GUI가 이미지들을 통해 순환하거나, 앨범을 재생하거나, GIF를 재생하는 것 등을 야기할 수 있다.
[0206] 도 30c는 커서(1202)가 아이콘(3010) 뒤에서 아이콘(3010)의 중심 근처의 포인트 C로 전이함에 따른, 아이콘(3010)과 초점 표시자(1302) 사이의 상호작용들의 예를 예시한다. 예시된 실시예에서, 커서(1202)가 아이콘(3010)의 중심을 향해 이동함에 따라, 아이콘(3010)은, 아이콘(3010)이 사용자에게 훨씬 더 가깝게 또는 더 크게 나타나도록(예컨대, 더 가까운 깊이로) (예컨대, 도 30b와 비교하여) 계속 더 커진다. 예컨대, 아이콘(3010)은 아이콘(3010)의 적어도 일부가 하나 이상의 다른 아이콘들과 오버랩되도록 사이즈가 커질 수 있다. 이들과 같은 예들에서, 오버랩된 아이콘들은 더 투명해지거나 더 흐릿해질 수 있거나, 또는 이들은 선택된 아이콘(3010)에 의해 부분적으로 커버될 수 있다.
[0207] 추가하여 또는 대안적으로, 커서(1202)가 아이콘(3010) 뒤의 더 중앙의 위치로 전이함에 따라, 초점 표시자(1302)의 강도가 변경될 수 있다. 예컨대, 초점 표시자(1302)는 더 밝아지거나 더 커질 수 있다. 또한, 선택된 아이콘(3010) 또는 다른 아이콘들의 선명도, 해상도 등이 계속 증가되거나 감소될 수 있다. 커서를 계속 추적하고(심지어 초점 표시자를 할당한 후에도) 초점 표시자의 강도 또는 아이콘들의 특징들을 수정함으로써, 시스템은 지속적인 입력 피드백 및 정확한 커서 포지션 감지를 사용자에게 제공할 수 있다.
[0208] 도 30d는 커서(1202)가 경로를 따라 포인트 C(아이콘(3010) 아래)로부터 포인트 D(아이콘(3010)과 아이콘(3012) 사이)로 이동함에 따른, 아이콘들(3010 및 3012)과 커서(1202) 사이의 상호작용들의 예를 예시한다. 예시된 바와 같이, 아이콘(3010)이 더 이상 선택되지 않는(또는 아래에 호버링되지 않는) 경우, 아이콘은 도 30a에 예시된 바와 같은 아이콘의 원래의 사이즈, 형상, 해상도, 초점, 선명도 등으로 되돌아갈 수 있다.
[0209] 도 30e는 커서(1202)가 아이콘(3012) 뒤의 포인트 E로 이동함(또는 호버링함)에 따른, 아이콘(3012)과 초점 표시자(1302) 사이의 상호작용들의 예를 예시한다. 도 30b와 관련하여 본원에서 설명된 바와 같이, 커서(1202)가 아이콘(3012) 뒤로 이동할 때, GUI는 아이콘(3010)이 선택되었음을 표시하기 위해, 아이콘(3012)을 둘러싸는 초점 표시자(1302)를 할당할 수 있다. 초점 표시자는 캡션(3016)을 포함할 수 있다.
[0210] 도 30f는 커서(1202)가 아이콘(3012) 뒤의 포인트 F로 전이함에 따른, 아이콘(3010)과 초점 표시자(1302) 사이의 상호작용들의 예를 예시한다. 도 30c와 관련하여 본원에서 설명된 바와 같이, 커서(1202)가 아이콘(3012)의 중심을 향해 이동함에 따라, 아이콘(3012)은, 아이콘(3012)이 사용자에게 훨씬 더 가깝게 또는 더 크게 나타나도록 (예컨대, 도 30e와 비교하여) 계속 더 커진다. 예컨대, 아이콘(3010)은 아이콘(3012)의 적어도 일부가 하나 이상의 다른 아이콘들과 오버랩되도록 사이즈가 커질 수 있다.
[0211] 도 30a-도 30f를 참조하여 설명된 것과 유사하게, 커서가 경로(3001)의 연장선을 따라 또는 그리드 레이아웃의 아이콘들 사이의 상이한 경로를 따라 계속 이동함에 따라, GUI는 아이콘들, 커서, 또는 초점 표시자를 동적으로 계속 업데이트할 수 있다.
그래픽 사용자 인터페이스에서의 데이터의 스크롤링의 예들
[0212] 도 31a-도 31c는 디스플레이 스크린 또는 그 일부 상의 GUI의 스크롤링 시퀀스의 실시예를 예시한다. GUI는 예컨대, 도 2, 도 4, 및 도 6을 참조하여 설명된 웨어러블 디스플레이 시스템들(200, 400, 600)과 같은, 본원에서 설명된 웨어러블 디스플레이들 중 임의의 것에 의해 렌더링될 수 있다. GUI에서 텍스트, 그래픽들, 또는 다른 콘텐츠의 스크롤링은 유리하게, 사용자들이 콘텐츠를 내비게이팅하기 위해 먼 거리들을 이동하는 것을 가능하게 한다. 예시된 예들에서, GUI는 그리드 레이아웃으로 배열된 복수의 아이콘들(3102)을 포함하고, 그리드의 아이콘들(3102)의 스크롤링을 추가로 예시한다. 그리드 레이아웃 및 아이콘 형상(예컨대, 이러한 도면들에서, 일반적으로 직사각형 또는 삼각형)은 제한적인 것이 아니라 예시적인 것으로 의도된다. 그리드 레이아웃의 아이콘들은 단일 깊이 또는 다수의 깊이들로 렌더링될 수 있다. 도 31a-도 31c에 묘사된 스크롤링 시퀀스 및 도 30a-도 30f에 묘사된 이클립스 커서 특징들은 개별적으로 또는 함께 사용될 수 있다. 예컨대, 스크롤링이 중지될 때, 사용자는 그리드 레이아웃의 아이콘들 중 하나로 커서를 이동시킬 수 있고, GUI는 이 커서 움직임, 및 도 30a-도 30f를 참조하여 설명된 바와 같이 아이콘을 선택 또는 호버링하는 것을 예시할 수 있다.
[0213] 도 31a는 GUI에서의 복수의 배열된 아이콘들(3012)을 예시한다. 도 30a-도 30f와 관련하여 설명된 바와 같이, 아이콘들(3102)은 예컨대 앱들 또는 디지털 미디어와 같은 가상 콘텐츠에 대응할 수 있다. 아이콘들(3102)이 그리드로 배열되어 있지만, 아이콘들(3012)은 다양한 방식들로 GUI 상에 제시될 수 있다. 예컨대, 아이콘들(3012)의 포지셔닝은 사용자에 의해 선택 또는 제어될 수 있거나, 아이콘들(3012)은 하나 이상의 그룹화 기준들에 따라(예컨대, 아이템 이름으로 알파벳순으로, 콘텐츠 타입, 날짜, 사용 빈도 등으로) 자동으로 배열될 수 있다. 그리드 레이아웃의 아이콘들은 단일 깊이(예컨대, 2D로 나타남) 또는 다수의 깊이들(예컨대, 3D로 나타남)로 렌더링될 수 있다. 아이콘들(3002)은 썸네일들일 수 있다. 그리드 레이아웃은 평면형일 필요는 없고, 만곡되게 렌더링될 수 있다(예컨대, 레이아웃의 일부 부분들은 다른 부분들보다 더 가까운 깊이들에 있음).
[0214] 도 31b는 (예컨대, 토템을 작동시키는 것, 레이아웃에 걸쳐 스와이핑하는 것, 커서를 그리드 또는 디스플레이의 에지 근처에서 호버링하는 것 등에 의해) 스크롤링 시퀀스가 사용자에 의해 개시된 후의 GUI의 예를 예시한다. 사용자 개시는 스크롤링 방향 또는 스크롤링 속도를 제공할 수 있다. 스크롤링 시퀀스는, 스크롤링하는 동안 스크롤링 콘텐츠가 흐릿해지거나, 읽을 수 없게 되는 것 등과 같이, 스크롤링 속도가 (휴식으로부터) 증가되도록 야기하는 스크롤링 콘텐츠의 모멘텀(momentum)을 모방할 수 있다. 스크롤링 시퀀스는, 스크롤링 속도가 느려지고 중지되도록, 드래그(drag)를 시뮬레이팅할 수 있다. 웨어러블 시스템은 스크롤링을 정지(halt)시키기 위한 추가적인 사용자 입력(예컨대, 토템의 추가의 작동 또는 사용자의 손에 의한 중지 제스처)을 수용할 수 있다.
[0215] 스크롤링 동안, 아이콘들(3102)은 더 먼 깊이로 이동하거나, 아이콘들(3102)의 사이즈들이 변경되거나(예컨대, 더 작아짐), 덜 선명하게(예컨대, 더 큰 투명도로) 또는 더 낮은 해상도로 디스플레이될 수 있다. 예컨대, 도 31b는 (도 31a 또는 도 31c와 비교하여) 아이콘들(3102)을 덜 뚜렷한 것으로 개략적으로 묘사한다. 아이콘들(3102)이 스크롤링됨에 따라, 사용자가 다음에 어떤 아이콘들이 올 것인지를 보는 것을 돕기 위해, GUI는 스크롤링 아이콘들에 대응하는 콘텐츠 패널(3104)을 디스플레이할 수 있다. 이 예에서, 아이콘들(3102)은, 새로운 아이콘들이 왼쪽에서 나타나도록(그리고 오른쪽으로 사라지도록), (사용자에게 디스플레이될 필요는 없지만 사용자에게 디스플레이될 수 있는 점선 화살표(3200)로 도시된 바와 같이) 오른쪽으로 수평으로 스크롤링된다. 따라서, 콘텐츠 패널(3104)은 새로운 아이콘들이 나타나는 일반적인 위치에 (예컨대, 이 예에서 디스플레이의 좌측에) 디스플레이된다. 다른 예들에서, 아이콘들(3102)은 임의의 방향으로 스크롤링될 수 있다(예컨대, 좌측에서 우측으로, 우측에서 좌측으로, 아래에서 위로, 위에서 아래로, 대각선으로 등). 웨어러블 시스템이 콘텐츠를 다수의 깊이들로 디스플레이할 수 있기 때문에, 콘텐츠는 전경(예컨대, 더 가까운 깊이들)으로부터 배경(예컨대, 더 먼 깊이들)으로 또는 배경으로부터 전경으로 스크롤링될 수 있다. 이러한 스크롤링 기법들의 임의의 조합이 사용될 수 있다.
[0216] 콘텐츠 패널(3104)은 스크롤링 콘텐츠에 관한 정보를 포함할 수 있다. 예컨대, 아이콘들(3102)은 라이브러리의 부분일 수 있고, 콘텐츠 패널(3104)은 라이브러리에서 즐겨찾기들, 최근에 사용된 아이콘들, 또는 가장 많이 사용된 아이콘들을 포함할 수 있다. 일부 경우들에서, 라이브러리는, 생성된 날짜, 수정된 날짜, 이름, 아이콘 타입(예컨대, 이미지, 비디오, GIF, 앨범, 앱, 문서 등), 사이즈 등과 같은 그룹화 기준에 의해 그룹화되거나 소팅될(sorted) 수 있다. 콘텐츠가 스크롤링됨에 따라, 콘텐츠 패널(3104)은 콘텐츠 패널(3104) 뒤에서의 콘텐츠 스크롤링에 대응하는 특정 그룹 또는 클래스에 대응할 수 있다. 아이콘들(3102)이 계속 스크롤링됨에 따라, 콘텐츠 패널(3104)은 지나가는 콘텐츠를 나타내는 새로운 정보로 주기적으로 업데이트될 수 있다. 도 31b는 콘텐츠 패널(3104)이 아이콘들(B1-B4)을 포함하는 순간을 도시한다.
[0217] 비-제한적인 예로서, 아이콘들(3102)은 날짜별로 소팅될 수 있다. 콘텐츠가 스크롤링됨에 따라, 콘텐츠 패널(3104)은 지나가는 날짜들을 나타내는 새로운 정보로 주기적으로 업데이트된다. 예컨대, 스크롤링 아이콘들(3102)이 10월 날짜를 포함하는 경우, 콘텐츠 패널은 10월에 관한 정보를 포함할 수 있다. 예컨대, 메시지(3114)는 약어 "OCT"를 포함할 수 있고, 콘텐츠 패널(3104)은 10월부터의 즐겨찾기 아이콘들, 10월부터 최근 사용된 아이콘들, 10월부터 가장 많이 사용된 아이콘들 등을 포함할 수 있다. 콘텐츠가 다음 달(예컨대, 11월)로 계속 스크롤링됨에 따라, 콘텐츠 패널(3104)은 11월을 나타내는 정보를 포함하도록 업데이트될 수 있다(예컨대, 약어는 "NOV"로 변경될 수 있고, 패널은 11월부터의 즐겨찾기 아이콘들, 11월부터 최근에 사용된 아이콘들, 11월부터 가장 많이 사용된 아이콘들 등을 보여줄 수 있음). 콘텐츠 패널(3104)은 추가적인 날짜가 지나감에 따라 계속 업데이트될 수 있다.
[0218] 콘텐츠 패널(3104)은 GUI상의 위치에 앵커링될 수 있는 반면, 콘텐츠는 오프-스크린으로 스크롤링된다(그리고 사용자가 역방향 스크롤링할 때 동일한 콘텐츠가 리턴될 수 있음). 예시된 실시예들에서, 콘텐츠 패널(3104)은 GUI의 좌측에 앵커링된다. 그러나, 콘텐츠 패널(3104)은 GUI 내의 어디든, 이를테면, 중앙, 최하부, 최상부, 또는 우측에 로케이팅될 수 있다. 일부 경우들에서, 콘텐츠 패널(3104)의 위치는 사용자에 의해 구성가능하다.
[0219] 콘텐츠 패널(3104)은 다양한 방식들로 제시될 수 있다. 예컨대, 콘텐츠 바의 사이즈는 예컨대, 스크롤링 속도에 적어도 부분적으로 기반하여 변화할 수 있다. 더 빠른 스크롤링 속도는 콘텐츠 바가 제1 사이즈로 디스플레이되게 할 수 있는 반면, 더 느린 스크롤링은 콘텐츠 바가 (예컨대, 제1 사이즈보다 더 작은) 제2 사이즈로 디스플레이되게 할 수 있다. 또한, 콘텐츠 패널(3104)의 형상은 변화할 수 있다. 예시된 실시예에서, 콘텐츠 패널(3104)은 수직 리스트를 포함한다. 그러나, 리스트는 수직, 수평, 대각선, 정사각형 등일 수 있다. 추가하여 또는 대안적으로, 콘텐츠 패널(3104)은 리스트를 포함하지 않을 수 있고, 대신 단일 오브젝트, 아이콘, 이미지, 텍스트 등을 포함할 수 있다. 콘텐츠 패널(3104)은 그리드 레이아웃과는 상이한 다른 깊이 또는 깊이들로 디스플레이될 수 있다. 예컨대, 이는 그리드 레이아웃의 앞(예컨대, 도 31b에 도시된 바와 같음), 레이아웃 뒤 등에 디스플레이될 수 있다. 일부 경우들에서, 콘텐츠 패널(3104)의 특징들은 사용자에 의해 구성가능하다.
[0220] 콘텐츠 패널(3104)은 콘텐츠 패널에 제시된 콘텐츠에 대응할 수 있는 세부사항(예컨대, 메시지(3114))을 포함할 수 있다. 예컨대, 세부사항은 캡션, 타이틀, 또는 스크롤링 콘텐츠에 대응하는 다른 특징들을 포함할 수 있다. 예컨대, 아이콘들이 날짜별로 소팅되는 예를 다시 참조하면, 메시지(3114)는 날짜 약어(예컨대, "OCT")를 포함할 수 있다.
[0221] 스크롤링 시퀀스가 종료됨에 따라, 아이콘들(3102)은 중지될 수 있고 콘텐츠 패널(3104)은 사라질 수 있다. 예컨대, 도 31c는 스크롤링 시퀀스가 종료된 후의 아이콘들(3102)의 예를 예시한다. 도 31b와 대조적으로, 아이콘들(3102)은 초점이 맞춰져 있고, 도 31a와 비교하여 약간 시프트된 것으로 예시되어 있다. 수직 또는 대각선 스크롤링과 같은 다른 타입들의 스크롤링에도 유사한 기법들이 사용될 수 있다.
[0222] 일부 구현들에서, GUI는, 사용자가 그리드(또는 디스플레이)의 에지 근처에서 커서를 호버링할 때 스크롤링이 시작되는, 에지 스크롤링을 활용할 수 있다. GUI는, 다음번에 사용자가 그리드 레이아웃을 열거나 액세스할 때 사용자 거동 이력 데이터를 유지할 수 있고, GUI는 레이아웃에 추가된 가장 최근의 아이콘(예컨대, 사용자가 추가한 가장 최근의 음악 앨범 또는 비디오) 또는 가장 최근에 액세스된 아이콘 상에 커서를 디스플레이한다.
예시적인 소프트웨어 코드
[0223] 부록 A는 본원에서 설명되는 이클립스 커서 기술의 실시예를 수행하는 데 사용될 수 있는 C# 프로그래밍 언어에서의 코드의 예를 포함한다. 프로세스(2300)의 실시예는 부록 A의 예시적인 코드에 의해 적어도 부분적으로 구현될 수 있다. 부록 A는 또한, 소프트웨어 코드의 설명을 포함한다. 부록 A의 개시내용은 이클립스 커서 기술의 다양한 특징들의 예시적인 구현을 예시하도록 의도되며, 그 기술의 범위를 제한하는 것으로 의도되지 않는다. 이로써 부록 A는 본 명세서의 일부를 형성하도록 그 전체가 인용에 의해 본원에 포함된다.
추가적인 양상들
[0224] 제1 양상에서, 웨어러블 디스플레이 시스템은, 사용자의 눈의 앞에 포지셔닝되도록 구성된 디스플레이 ― 디스플레이는 사용자의 눈을 향해 가상 콘텐츠를 투사하도록 구성됨 ―; 가상 커서의 움직임과 연관된 사용자 입력 데이터를 수신하도록 구성된 사용자 입력 디바이스; 및 디스플레이 및 사용자 입력 디바이스와 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는: 사용자의 환경 내의 가상 커서의 위치를 식별하고; 사용자의 환경 내의 오브젝트와 가상 커서 사이의 공간 관계를 결정하고; 그리고 공간 관계에 적어도 부분적으로 기반하여 오브젝트와 연관된 초점 표시자를 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0225] 제2 양상에서, 양상1의 웨어러블 디스플레이 시스템에 있어서, 사용자 입력 디바이스는: 터치 감지 표면을 포함하는 핸드헬드 토템, 사용자 제스처를 검출하도록 구성된 외향 이미징 시스템, 사용자의 눈 포즈를 검출하도록 구성된 내향 이미징 시스템, 또는 사용자의 머리 포즈를 검출하도록 구성된 관성 측정 유닛 중 하나 이상을 포함한다.
[0226] 제3 양상에서, 양상1 또는 양상2의 웨어러블 디스플레이 시스템에 있어서, 가상 커서와 오브젝트 사이의 공간 관계를 결정하기 위해, 하드웨어 프로세서는: 가상 커서의 위치와 오브젝트의 부분 사이의 거리를 결정하거나; 또는 가상 커서와 오브젝트 사이의 상대적 배향을 결정하고; 그리고 결정된 거리 또는 결정된 배향에 적어도 부분적으로 기반하여 초점 표시자를 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0227] 제4 양상에서, 양상1 내지 양상3 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 초점 표시자는: 오브젝트를 적어도 부분적으로 둘러싸는 글로 또는 할로, 오브젝트의 사이즈 또는 깊이 변화, 또는 그래픽 강조표시 중 하나 이상을 포함한다.
[0228] 제5 양상에서, 양상1 내지 양상4 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 초점 표시자를 렌더링하게 디스플레이에 지시하기 위해, 하드웨어 프로세서는: 커서 글로를 제1 버퍼에 렌더링하기 위해 제1 렌더 패스를 수행하고 ― 커서 글로의 위치는 가상 커서의 위치에 적어도 부분적으로 기반함 ―; 오브젝트의 형상 마스크 표현을 제2 버퍼에 렌더링하기 위해 제2 렌더 패스를 수행하고; 오브젝트와 연관된 글로 마스크를 제3 버퍼에 렌더링하기 위해 제3 렌더 패스를 수행하고; 그리고 사용자에게의 프리젠테이션을 위해 적어도 제1 버퍼, 제2 버퍼, 및 제3 버퍼를 조합하도록 구성된 제4 렌더 패스를 수행하도록 프로그래밍된다.
[0229] 제6 양상에서, 양상5의 웨어러블 디스플레이 시스템에 있어서, 제4 렌더 패스를 수행하기 위해, 하드웨어 프로세서는, 적어도 제1 버퍼, 제2 버퍼, 및 제3 버퍼를, 가상 장면 콘텐츠를 포함하는 제4 버퍼와 조합하도록 프로그래밍된다.
[0230] 제7 양상에서, 양상1 내지 양상6 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어의 프로세서는 추가로: 가상 커서의 위치와 오브젝트 사이의 거리를 결정하고; 그리고 거리가 임계 거리 미만인 경우, 가상 커서의 위치를 오브젝트를 나타내는 위치로 업데이트하도록 프로그래밍된다.
[0231] 제8 양상에서, 양상1 내지 양상7 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어의 프로세서는: 가상 커서의 위치와 오브젝트 사이의 배향을 결정하고; 그리고 초점 표시자를 가상 커서의 배향을 향해 우선적으로 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0232] 제9 양상에서, 양상1 내지 양상8 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어의 프로세서는: 가상 커서의 이전(earlier) 모션 경로에 적어도 부분적으로 기반하여 가상 커서의 위치를 업데이트하도록 프로그래밍된다.
[0233] 제10 양상에서, 양상9의 웨어러블 디스플레이 시스템에 있어서, 하드웨어 프로세서는, 사용자 입력 디바이스로부터의 사용자 입력의 중단(cessation)에 대한 응답으로 이전 모션 경로에 적어도 부분적으로 기반하여 가상 커서의 위치를 업데이트하도록 프로그래밍된다.
[0234] 제11 양상에서, 양상1 내지 양상10 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어의 프로세서는: 가상 커서의 위치와 오브젝트의 부분 사이의 거리를 결정하고; 그리고 거리가 임계치 미만이라는 결정에 대한 응답으로, 가상 커서의 앞에 오브젝트를 렌더링하거나; 또는 가상 커서를 렌더링하는 것을 중단하도록 프로그래밍된다.
[0235] 제12 양상에서, 혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법으로서, 방법은: 디스플레이 및 하드웨어 프로세서를 포함하는 혼합 현실 디스플레이 디바이스의 제어 하에: 혼합 현실 환경 내의 커서의 위치를 결정하는 단계; 오브젝트와 연관된 위치를 결정하는 단계; 오브젝트와 커서 사이에 오버랩이 발생하는지 여부를 결정하는 단계; 오버랩이 발생하지 않는다는 결정에 대한 응답으로, 커서를 렌더링하는 단계; 및 오버랩이 발생한다는 결정에 대한 응답으로, 커서의 앞에 오브젝트를 렌더링하거나, 또는 커서를 렌더링하는 것을 중단하는 단계를 포함한다.
[0236] 제13 양상에서, 양상12의 방법에 있어서, 오브젝트와 커서 사이에 오버랩이 발생하는지 여부를 결정하는 단계는, 커서의 위치와 오브젝트의 위치 사이의 거리가 거리 임계치 미만인지 여부를 결정하는 단계를 포함한다.
[0237] 제14 양상에서, 양상12 또는 양상13의 방법에 있어서, 오버랩이 발생한다는 결정에 대한 응답으로, 방법은, 오브젝트와 연관된 초점 표시자를 렌더링하는 단계를 더 포함한다.
[0238] 제15 양상에서, 양상14의 방법에 있어서, 초점 표시자는: 오브젝트를 적어도 부분적으로 둘러싸는 글로 또는 할로, 오브젝트의 사이즈 또는 깊이 변화, 또는 그래픽 강조표시 중 하나 이상을 포함한다.
[0239] 제16 양상에서, 양상12 내지 양상15 중 어느 한 양상의 방법은: 커서와 오브젝트 사이의 공간 관계를 결정하는 단계; 및 공간 관계에 적어도 부분적으로 기반하여 오브젝트와 연관된 초점 표시자를 렌더링하는 단계를 더 포함한다.
[0240] 제17 양상에서, 증강 현실 디스플레이 시스템은: 사용자의 환경 내의 커서의 포지션과 관련된 사용자 입력을 수신하도록 구성된 사용자 입력 디바이스; 사용자가 사용자의 환경 내의 가상 오브젝트들을 지각할 수 있게 하는 디스플레이; 사용자 입력 디바이스 및 디스플레이와 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는: 디스플레이를 통해 가상 오브젝트가 렌더링되게 하고; 사용자 입력에 적어도 부분적으로 기반하여, 환경 내의 커서의 포지션을 추적하고, 가상 오브젝트의 포지션을 식별하고; 가상 오브젝트와 커서의 포지션 사이의 제1 거리가 거리 임계치를 충족시키는지 여부를 결정하고; 제1 거리가 거리 임계치를 충족시킨다는 결정에 대한 응답으로, 오브젝트에 근접한 초점 표시자가 디스플레이를 통해 렌더링되게 하도록 프로그래밍된다.
[0241] 제18 양상에서, 양상17의 시스템에 있어서, 제1 거리가 거리 임계치를 충족시키지 않는다는 결정에 대한 응답으로, 하드웨어 프로세서는 추가로, 커서의 포지션을 표시하는 레티클이 디스플레이를 통해 렌더링되게 하도록 프로그래밍된다.
[0242] 제19 양상에서, 양상17 또는 양상18의 시스템에 있어서, 가상 오브젝트는, 오브젝트를 선택하는 사용자 입력에 대한 응답으로 하드웨어 프로세서가 선택가능 오브젝트와 연관된 액션을 수행하도록, 선택가능 오브젝트를 포함한다.
[0243] 제20 양상에서, 양상17 내지 양상19 중 어느 한 양상의 시스템에 있어서, 커서의 포지션이 가상 오브젝트의 포지션의 적어도 일부와 오버랩되는 경우, 제1 거리는 거리 임계치를 충족시킨다.
[0244] 제21 양상에서, 양상17 내지 양상20 중 어느 한 양상의 시스템에 있어서, 커서의 포지션과 가상 오브젝트의 적어도 일부가 디스플레이 상의 동일한 픽셀에 맵핑되는 경우, 제1 거리는 거리 임계치를 충족시킨다.
[0245] 제22 양상에서, 양상17 내지 양상21 중 어느 한 양상의 시스템에 있어서, 커서의 포지션과 가상 오브젝트의 적어도 일부가 디스플레이 상에 렌더링될 때 코로케이팅되는 경우, 제1 거리는 거리 임계치를 충족시킨다.
[0246] 제23 양상에서, 양상17 내지 양상22 중 어느 한 양상의 시스템에 있어서, 가상 오브젝트는 제1 오브젝트이고, 초점 표시자는 제1 초점 표시자이고, 그리고 하드웨어 프로세서는 추가로: 제2 가상 오브젝트가 디스플레이를 통해 렌더링되게 하고; 제2 오브젝트의 포지션을 식별하고; 제2 오브젝트와 커서의 포지션 사이의 거리가 제2 거리 임계치를 충족시키는지 여부를 결정하고, 제2 오브젝트와 커서의 포지션 사이의 거리가 제2 거리 임계치를 충족시킨다는 결정에 대한 응답으로, 제2 가상 오브젝트에 근접한 제2 초점 표시자가 디스플레이를 통해 렌더링되게 하도록 프로그래밍된다.
[0247] 제24 양상에서, 양상23의 시스템에 있어서, 하드웨어 프로세서는: 제1 가상 오브젝트와 커서 사이의 거리가 제2 가상 오브젝트와 커서 사이의 거리 미만이라는 결정에 대한 응답으로: 제1 초점 표시자가 제2 초점 표시자보다 더 두드러지게 렌더링되게 하도록 프로그래밍된다.
[0248] 제25 양상에서, 양상24의 시스템에 있어서, 제1 초점 표시자가 제2 초점 표시자보다 더 두드러지게 렌더링되게 하기 위해, 하드웨어 프로세서는: 제1 초점 표시자가 제2 초점 표시자보다 더 밝게 렌더링되게 하거나; 제1 초점 표시자가 제2 초점 표시자보다 더 크게 렌더링되게 하거나; 또는 제1 초점 표시자가 커서로부터 멀어지는 방향보다 커서를 향하는 방향으로 더 두드러지게 렌더링되게 하는 것 중 하나 이상을 수행하도록 프로그래밍된다.
[0249] 제26 양상에서, 양상17 내지 양상25 중 어느 한 양상의 시스템에 있어서, 하드웨어의 프로세서는: 가상 오브젝트의 형상을 식별하고; 가상 오브젝트에 대한 커서의 배향을 결정하고; 그리고 가상 오브젝트의 형상 및 가상 오브젝트에 대한 커서의 배향에 적어도 부분적으로 기반하여 초점 표시자가 렌더링되게 하도록 프로그래밍된다.
[0250] 제27 양상에서, 양상26의 시스템에 있어서, 하드웨어 프로세서는 초점 표시자가 커서와 가상 오브젝트 사이의 라인을 따라 더 두드러지게 렌더링되게 하도록 프로그래밍된다.
[0251] 제28 양상에서, 증강 현실 디스플레이 시스템은: 사용자의 환경 내의 커서의 포지션과 관련된 사용자 입력을 수신하도록 구성된 사용자 입력 디바이스; 사용자가 사용자의 환경 내의 가상 오브젝트들을 지각할 수 있게 하는 디스플레이; 사용자 입력 디바이스 및 디스플레이와 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는: 복수의 가상 오브젝트들이 디스플레이를 통해 렌더링되게 하고; 디스플레이의 시야 내의 커서의 포지션을 추적하고; 복수의 가상 오브젝트들의 포지션들을 식별하고; 커서의 포지션과 복수의 가상 오브젝트들의 포지션들을 비교하여 커서의 포지션에 가장 가까운 오브젝트를 결정하고; 디스플레이를 통해, 가장 가까운 오브젝트에 근접하게 초점 표시자가 렌더링되게 하도록 프로그래밍된다.
[0252] 제29 양상에서, 양상28의 시스템에 있어서, 하드웨어 프로세서는: 가장 가까운 오브젝트가 아닌 적어도 하나의 다른 가상 오브젝트에 근접하게 제2 초점 표시자가 렌더링되게 하도록 프로그래밍되며, 제1 초점 표시자는 제2 초점 표시자보다 더 두드러지게 렌더링된다.
[0253] 제30 양상에서, 양상28 또는 양상29의 시스템에 있어서, 하드웨어 프로세서는: 커서의 포지션이 가장 가까운 오브젝트와 오버랩되는지 여부를 결정하고; 그리고 오버랩이 발생하지 않는다는 결정에 대한 응답으로, 커서를 렌더링하고; 그리고 오버랩이 발생한다는 결정에 대한 응답으로, 커서의 앞에 가장 가까운 오브젝트를 렌더링하거나, 또는 커서의 렌더링을 중단하도록 프로그래밍된다.
[0254] 제31 양상에서, 양상28 내지 양상30 중 어느 한 양상의 시스템에 있어서, 하드웨어 프로세서는: 커서의 포지션을 가장 가까운 오브젝트의 포지션으로 가속하도록 프로그래밍된다.
[0255] 제32 양상에서, 혼합 현실 디스플레이 디바이스를 위한 그래픽 사용자 인터페이스를 렌더링하는 방법으로서, 방법은: 디스플레이 및 하드웨어 프로세서를 포함하는 혼합 현실 디스플레이 디바이스의 제어 하에, 디스플레이의 시야 내의 커서의 위치를 결정하는 단계; 디스플레이의 시야 내의 오브젝트와 연관된 초점 표시자를 렌더링하는 단계; 오브젝트에 대한 커서의 움직임을 추적하는 단계; 및 오브젝트에 대한 커서의 움직임에 적어도 부분적으로 기반하여 초점 표시자의 렌더링을 조정하는 단계를 포함한다.
[0256] 제33 양상에서, 양상32의 방법에 있어서, 초점 표시자는: 오브젝트를 적어도 부분적으로 둘러싸는 글로 또는 할로, 오브젝트의 사이즈 또는 깊이 변화, 또는 그래픽 강조표시 중 하나 이상을 포함한다.
[0257] 제34 양상에서, 양상32 또는 양상33의 방법은, 커서를 렌더링하는 단계를 더 포함한다.
[0258] 제35 양상에서, 양상34의 방법은, 커서가 오브젝트 뒤에 로케이팅되는 경우, 커서를 덜 두드러지게 렌더링하거나 또는 커서를 전혀 렌더링하지 않는 단계를 더 포함한다.
[0259] 제36 양상에서, 양상32 내지 양상35 중 어느 한 양상의 방법에 있어서, 초점 표시자를 렌더링하는 단계는 커서로부터 멀어지는 방향보다 커서를 향하는 방향으로 초점 표시자의 적어도 일부를 더 두드러지게 렌더링하는 단계를 포함한다.
[0260] 제37 양상에서, 양상36의 방법에 있어서, 초점 표시자의 적어도 일부가 더 두드러지게 렌더링하는 단계는: 그 일부를 더 밝게 렌더링하거나, 그 일부를 더 크게 렌더링하거나, 그 일부를 상이한 컬러로 렌더링하거나, 또는 그 일부를 상이한 그래픽 스타일로 렌더링하는 것 중 하나 이상을 포함한다.
[0261] 제38 양상에서, 양상32 내지 양상37 중 어느 한 양상의 방법에 있어서, 초점 표시자의 렌더링을 조정하는 단계는 초점 표시자와 커서 사이의 인력의 시각적 외관을 시뮬레이팅하는 단계를 포함한다.
[0262] 제39 양상에서, 양상32 내지 양상38 중 어느 한 양상의 방법에 있어서, 초점 표시자의 렌더링을 조정하는 단계는 커서로부터 더 먼 초점 표시자의 제2 부분의 시각적 외관에 비해 커서에 더 가까운 초점 표시자의 제1 부분의 시각적 외관을 강조하는 단계를 포함한다.
[0263] 제40 양상에서, 양상32 내지 양상39 중 어느 한 양상의 방법에 있어서, 초점 표시자의 렌더링을 조정하는 단계는 초점 표시자의 일부를 오브젝트로부터 커서를 향해 당기는(pulling) 커서의 시각적 외관을 시뮬레이팅하는 단계를 포함한다.
[0264] 제41 양상에서, 웨어러블 디스플레이 시스템은: 사용자의 눈의 앞에 포지셔닝되도록 구성된 디스플레이 ― 디스플레이는 사용자의 눈을 향해 가상 콘텐츠를 투사하도록 구성됨 ―; 가상 환경 내의 가상 커서의 움직임과 연관된 사용자 입력 데이터를 수신하도록 구성된 사용자 입력 디바이스; 및 디스플레이 및 사용자 입력 디바이스와 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는: 가상 환경에서 제1 깊이에 가상 아이콘을 렌더링하게 디스플레이에 지시하고; 가상 환경에서 제2 깊이에 가상 커서를 렌더링하게 디스플레이에 지시하고; 가상 환경 내의 가상 커서의 움직임을 추적하고; 가상 커서와 가상 아이콘 사이에 오버랩이 발생하는지 여부를 결정하고; 그리고 오버랩의 결정에 대한 응답으로, 제1 깊이 또는 제2 깊이보다 사용자에게 더 가까운 제3 깊이에 가상 아이콘을 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0265] 제42 양상에서, 양상41의 웨어러블 디스플레이 시스템에 있어서, 사용자 입력 디바이스는: 터치 감지 표면을 포함하는 핸드헬드 토템, 사용자 제스처를 검출하도록 구성된 외향 이미징 시스템, 사용자의 눈 포즈를 검출하도록 구성된 내향 이미징 시스템, 또는 사용자의 머리 포즈를 검출하도록 구성된 관성 측정 유닛 중 하나 이상을 포함한다.
[0266] 제43 양상에서, 양상41 또는 양상42의 웨어러블 디스플레이 시스템에 있어서, 제1 깊이는 제2 깊이와 동일하다.
[0267] 제44 양상에서, 양상41 내지 양상43 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 오버랩의 결정에 대한 추가의 응답으로, 하드웨어 프로세서는 가상 커서의 시각적 외관에 비해 가상 아이콘의 시각적 외관을 강조하도록 프로그래밍된다.
[0268] 제45 양상에서, 양상44의 웨어러블 디스플레이 시스템에 있어서, 가상 아이콘의 시각적 외관을 강조하기 위해, 하드웨어 프로세서는: 제1 깊이에서 렌더링될 때보다 가상 아이콘을 더 크게 렌더링하거나; 가상 아이콘의 적어도 일부 주위에 초점 표시자를 렌더링하거나; 가상 아이콘과 연관된 캡션을 렌더링하거나; 제1 깊이에서 렌더링될 때보다 추가적인 가상 콘텐츠로 가상 아이콘을 렌더링하거나; 제1 깊이에서 렌더링될 때보다 더 높은 해상도 또는 더 높은 밝기로 가상 아이콘을 렌더링하거나; 가상 커서의 렌더링을 중단하거나; 또는 감소된 밝기 또는 증가된 투명도로 가상 커서를 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0269] 제46 양상에서, 양상41 내지 양상45 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어 프로세서는 추가로, 가상 아이콘을 선택하기 위한 사용자 입력을 수용하도록 프로그래밍된다.
[0270] 제47 양상에서, 양상41 내지 양상46 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어 프로세서는 추가로: 가상 환경 내의 가상 커서의 추가의 움직임을 추적하고; 가상 커서와 가상 아이콘 사이의 오버랩이 발생되는 것이 중단되었는지 여부를 결정하고; 그리고 오버랩이 발생되는 것이 중단되었다는 결정에 대한 응답으로, 가상 아이콘을 제1 깊이에서 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0271] 제48 양상에서, 양상47의 웨어러블 디스플레이 시스템에 있어서, 하드웨어 프로세서는: 오버랩 전의 가상 아이콘의 시각적 외관과 동일한 시각적 외관으로 가상 아이콘을 렌더링하거나; 또는 오버랩 전의 가상 커서의 시각적 외관과 동일한 시각적 외관으로 가상 커서를 렌더링하도록 프로그래밍된다.
[0272] 제49 양상에서, 양상41 내지 양상48 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어의 프로세서는: 복수의 가상 아이콘들을 포함하는 가상 레이아웃을 렌더링하도록 프로그래밍되며, 복수의 가상 아이콘들은 가상 아이콘을 포함한다.
[0273] 제50 양상에서, 양상49의 웨어러블 디스플레이 시스템에 있어서, 하드웨어 프로세서는 가상 레이아웃을 스크롤링하기 위한 사용자 표시를 수신하도록 프로그래밍된다.
[0274] 제51 양상에서, 양상50의 웨어러블 디스플레이 시스템에 있어서, 사용자 표시는 스크롤링 방향 또는 스크롤링 속도를 포함한다.
[0275] 제52 양상에서, 양상50 또는 양상51의 웨어러블 디스플레이 시스템에 있어서, 사용자 표시는 가상 레이아웃의 에지에서의 가상 커서의 호버(hover)를 포함한다.
[0276] 제53 양상에서, 양상50 내지 양상52 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어 프로세서는: 가상 레이아웃을 스크롤링하게; 그리고 스크롤링 전에 렌더링되지 않은 가상 아이콘들의 표현을 포함하는 가상 콘텐츠 패널을 렌더링하게 디스플레이에 지시하도록 프로그래밍된다.
[0277] 제54 양상에서, 양상53의 웨어러블 디스플레이 시스템에 있어서, 가상 콘텐츠 패널은 가상 레이아웃의 적어도 일부가 렌더링되는 깊이와 상이한 깊이로 렌더링된다.
[0278] 제55 양상에서, 양상49 내지 양상54 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 레이아웃은 규칙적 그리드 또는 불규칙적 그리드를 포함한다.
[0279] 제56 양상에서, 양상41 내지 양상55 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 아이콘은 미디어 파일 또는 애플리케이션의 썸네일을 포함한다.
[0280] 제57 양상에서, 양상56의 웨어러블 디스플레이 시스템에 있어서, 미디어 파일은 비디오 파일, 오디오 파일, 또는 문서 파일을 포함한다.
[0281] 제58 양상에서, 웨어러블 디스플레이 시스템은: 사용자의 눈의 앞에 포지셔닝되도록 구성된 디스플레이 ― 디스플레이는 사용자의 눈을 향해 가상 콘텐츠를 투사하도록 구성됨 ―; 가상 환경 내의 가상 커서의 움직임과 연관된 사용자 입력 데이터를 수신하도록 구성된 사용자 입력 디바이스; 및 디스플레이 및 사용자 입력 디바이스와 통신하는 하드웨어 프로세서를 포함하며, 하드웨어 프로세서는: 복수의 가상 아이콘들의 가상 레이아웃을 렌더링하게 디스플레이에 지시하고 ― 가상 레이아웃의 복수의 가상 아이콘들 중 적어도 일부는 가상 환경에서 제1 깊이에 렌더링됨 ―; 가상 레이아웃을 스크롤링하기 위한 사용자 표시를 수신하고; 그리고 가상 레이아웃을 스크롤링하기 위한 사용자 표시의 수신에 대한 응답으로, 스크롤링 이전에 렌더링되지 않은 가상 아이콘들의 표현을 포함하는 가상 콘텐츠 패널을 렌더링하게 디스플레이에 지시하도록 프로그래밍되며, 가상 콘텐츠 패널은 가상 환경에서 제2 깊이에 렌더링된다.
[0282] 제59 양상에서, 양상58의 웨어러블 디스플레이 시스템에 있어서, 제1 깊이는 제2 깊이와 상이하다.
[0283] 제60 양상에서, 양상58 또는 양상59의 웨어러블 디스플레이 시스템에 있어서, 사용자 표시는 스크롤링 방향 또는 스크롤링 속도를 포함한다.
[0284] 제61 양상에서, 양상58 내지 양상60 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 사용자 표시는 가상 레이아웃의 에지에서의 가상 커서의 호버를 포함한다.
[0285] 제62 양상에서, 양상58 내지 양상61 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 콘텐츠 패널은 스크롤링되는 복수의 아이콘들의 콘텐츠를 표시하는 메시지를 포함한다.
[0286] 제63 양상에서, 양상58 내지 양상62 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 아이콘들의 표현은 썸네일들을 포함한다.
[0287] 제64 양상에서, 양상58 내지 양상63 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 가상 레이아웃의 스크롤링은 모멘텀 또는 드래그로 수행된다.
[0288] 제65 양상에서, 양상58 내지 양상64 중 어느 한 양상의 웨어러블 디스플레이 시스템에 있어서, 하드웨어의 프로세서는 추가로: 가상 레이아웃의 스크롤링을 정지시키기 위한 사용자 표시를 수신하고; 그리고 가상 레이아웃의 스크롤링을 정지시키기 위한 사용자 표시의 수신에 대한 응답으로, 가상 레이아웃의 스크롤링을 중단하게 디스플레이에 지시하고; 그리고 가상 콘텐츠 패널의 렌더링을 중단하도록 프로그래밍된다.
추가적인 고려사항들
[0289] 본원에서 설명되거나 또는 첨부 도면들에 묘사된 프로세스들, 방법들, 및 알고리즘들 각각은 하나 이상의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 주문형 회로, 또는 특정 그리고 특별 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고, 그리고 이 코드 모듈들에 의해 완전히 또는 부분적으로 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들), 또는 특수 목적 컴퓨터들, 특수 목적 회로 등을 포함할 수 있다. 코드 모듈은 컴파일되어 실행가능 프로그램으로 링크될 수 있거나, 동적 링크 라이브러리에 설치될 수 있거나, 해석된 프로그래밍 언어로 작성될 수 있다. 일부 구현들에서, 특정 동작들 및 방법들은 주어진 기능에 특정적인 회로에 의해 수행될 수 있다.
[0290] 또한, 본 개시내용의 기능성의 특정 구현들은 충분히 수학적으로, 계산상으로, 또는 기술적으로 복잡하여, (적합한 전문화된 실행가능한 명령들을 활용하는) 주문형 하드웨어 또는 하나 이상의 물리적 컴퓨팅 디바이스들은, 예컨대 수반된 계산들의 볼륨 또는 복잡성으로 인해 또는 실질적으로 실시간으로 결과들을 제공하기 위해 기능성을 수행할 필요가 있을 수 있다. 예컨대, 비디오는 많은 프레임들을 포함할 수 있으며, 각각의 프레임은 수백만 개의 픽셀들을 갖고, 비디오 데이터를 프로세싱하여 상업적으로 적정한 양의 시간 내에 원하는 이미지 프로세싱 작업 또는 애플리케이션을 제공하기 위해 특별히 프로그래밍된 컴퓨터 하드웨어가 필요하다.
[0291] 코드 모듈들 또는 임의의 타입의 데이터는 임의의 타입의 비-일시적 컴퓨터-판독가능 매체, 이를테면, 하드 드라이브들, 고체 상태 메모리, RAM(random access memory), ROM(read only memory), 광학 디스크, 휘발성 또는 비-휘발성 스토리지, 이들의 조합들 등을 포함하는 물리적 컴퓨터 스토리지 상에 저장될 수 있다. 방법들 및 모듈들(또는 데이터)은 또한, 생성된 데이터 신호들로서(예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 부분으로서) 무선-기반 및 유선/케이블-기반 매체들을 포함하는 다양한 컴퓨터-판독가능 송신 매체들 상에서 송신될 수 있고, (예컨대, 단일 또는 멀티플렉싱된 아날로그 신호의 부분으로서 또는 다수의 개별 디지털 패킷들 또는 프레임들로서) 다양한 형태들을 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 임의의 타입의 비-일시적인 유형의(tangible) 컴퓨터 스토리지에 지속적으로 또는 다른 방식으로 저장될 수 있거나, 또는 컴퓨터-판독가능 송신 매체를 통해 통신될 수 있다.
[0292] 본원에서 설명되거나 또는 첨부 도면들에 묘사된 흐름도들에서 임의의 프로세스들, 블록들, 상태들, 단계들, 또는 기능성들은 (예컨대, 논리적 또는 산술적) 특정한 기능들 또는 프로세스의 단계들을 구현하기 위한 하나 이상의 실행가능한 명령들을 포함하는 코드 모듈들, 세그먼트들, 또는 코드의 부분들을 잠재적으로 표현하는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들, 또는 기능성들은 본원에서 제공된 예시적인 예들로부터 조합되거나, 재배열되거나, 추가되거나, 삭제되거나, 수정되거나, 또는 다른 방식으로 변경될 수 있다. 일부 실시예들에서, 추가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본원에서 설명된 기능성들 중 일부 또는 전부를 수행할 수 있다. 본원에서 설명된 방법들 및 프로세스들은 또한, 임의의 특정 시퀀스로 제한되지 않고, 이와 관련된 블록들, 단계들, 또는 상태들은 적합한 다른 시퀀스들로, 예컨대 직렬로, 병렬로, 또는 일부 다른 방식으로 수행될 수 있다. 작업들 또는 이벤트들이 개시된 예시적인 실시예들에 추가되거나 그로부터 제거될 수 있다. 더욱이, 본원에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 예시 목적들을 위한 것이고 모든 구현들에서 그러한 분리를 요구하는 것으로 이해되지 않아야 한다. 설명된 프로그램 컴포넌트들, 방법들, 및 시스템들은 일반적으로 단일 컴퓨터 제품으로 함께 통합되거나 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 많은 구현 변동들이 가능하다.
[0293] 프로세스들, 방법들, 및 시스템들은 네트워크(또는 분산형) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은 전사적 컴퓨터 네트워크들, 인트라넷들, LAN(local area network)들, WAN(wide area network)들, PAN(personal area network)들, 클라우드 컴퓨팅 네트워크들, 크라우드-소스드(crowd-sourced) 컴퓨팅 네트워크들, 인터넷, 및 월드 와이드 웹(World Wide Web)을 포함한다. 네트워크는 유선 또는 무선 네트워크 또는 임의의 다른 타입의 통신 네트워크일 수 있다.
[0294] 본 개시내용의 시스템들 및 방법들 각각은 몇몇 혁신적인 양상들을 가지며, 이 양상들 중 어떤 단일의 양상이 본원에서 개시된 바람직한 속성들을 위해 전적으로 책임지거나 요구되지 않는다. 위에서 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나, 다양한 방식들로 조합될 수 있다. 모든 가능한 조합들 및 하위조합들은 본 개시내용의 범위 내에 속하는 것으로 의도된다. 본 개시내용에서 설명된 구현들에 대한 다양한 수정들은 당업자들에게 쉽게 자명할 수 있고, 그리고 본원에서 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않고 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본원에서 제시된 구현들로 제한되도록 의도되는 것이 아니라, 본원에 개시된 이러한 개시내용, 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위에 부합할 것이다.
[0295] 개별적인 구현들의 맥락에서 본 명세서에서 설명된 특정 특징들은 또한, 단일 구현으로 조합하여 구현될 수 있다. 역으로, 단일 구현의 맥락에서 설명되는 다양한 특징들은 또한, 다수의 구현들에서 개별적으로 구현되거나 또는 임의의 적절한 하위조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 작용하는 것으로서 위에서 설명될 수 있고, 심지어 그와 같이 처음에 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 제거될 수 있고, 그리고 청구된 조합은 하위조합 또는 하위조합의 변형으로 지향될 수 있다. 어떤 단일 특징 또는 특징들의 그룹도 각각의 그리고 모든 각각의 실시예에 필요하거나 필수적인 것은 아니다.
[0296] 구체적으로 달리 언급되지 않거나, 사용된 맥락 내에서 달리 이해되지 않는 한, 본원에서 사용된 조건어, 이를테면, 특히, 할 수 있다("can", "could", "might", "may")" 및 "예컨대" 등은 일반적으로, 특정 실시예들이 특정 특징들, 엘리먼트들 또는 단계들을 포함하지만, 다른 실시예들은 이들을 포함하지 않는다는 것을 전달하도록 의도된다. 따라서, 그러한 조건어는 일반적으로, 특징들, 엘리먼트들 또는 단계들이 어쨌든 하나 이상의 실시예들을 위해 요구된다는 것, 또는 하나 이상의 실시예들이, 저자 입력 또는 프롬프팅을 사용하여 또는 이들을 사용하지 않고, 이러한 특징들, 엘리먼트들 또는 단계들이 임의의 특정 실시예에 포함되는지 아니면 그 임의의 특정 실시예에서 수행되는지를 판단하기 위한 로직을 반드시 포함하는 것을 암시하도록 의도되지 않는다. "포함하는", "구비하는", "갖는" 등의 용어들은 동의어이며, 오픈-엔디드(open-ended) 방식으로 포괄적으로 사용되며, 추가적인 엘리먼트들, 특징들, 행동들, 동작들 등을 배제하지 않는다. 또한, "또는"이라는 용어는, 예컨대 엘리먼트들의 리스트를 연결하기 위해 사용될 때, 리스트 내의 엘리먼트들 중 하나, 일부, 또는 전부를 의미하도록 "또는"이라는 용어는 (그 용어의 배타적인 의미가 아니라) 그 용어의 포괄적인 의미로 사용된다. 게다가, 본 출원 및 첨부된 청구항들에서 사용되는 단수 표현들은 달리 명시되지 않는 한 "하나 이상" 또는 "적어도 하나"를 의미하는 것으로 해석되어야 한다.
[0297] 본원에서 사용된 바와 같이, 리스트의 아이템들 중 "적어도 하나"를 지칭하는 문구는, 단일 멤버들을 포함하여, 그러한 아이템들의 임의의 조합을 지칭한다. 예로서, "A, B 또는 C 중 적어도 하나"는 A; B; C; A와 B; A와 C; B와 C; 그리고 A와 B와 C를 커버하는 것으로 의도된다. 구체적으로 달리 언급되지 않는 한, "X, Y 및 Z 중 적어도 하나"라는 문구와 같은 접속어는, 아이템, 용어 등이 X, Y 또는 Z 중 적어도 하나일 수 있다는 것을 전달하기 위해 일반적으로 사용되는 맥락으로 달리 이해된다. 따라서, 그러한 접속어는 일반적으로, 특정 실시예들이 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구하는 것을 암시하도록 의도되지 않는다.
[0298] 유사하게, 동작들이 특정 순서로 도면들에 묘사되지만, 바람직한 결과들을 달성하기 위해 그러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행될 필요는 없다는 것, 또는 예시된 모든 동작들이 수행될 필요는 없다는 것이 인식되어야 한다. 또한, 도면들은 흐름도의 형태로 하나 이상의 예시적인 프로세스들을 개략적으로 묘사할 수 있다. 그러나, 묘사되지 않은 다른 동작들이 개략적으로 예시된 예시적인 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 이상의 추가적인 동작들은 예시된 동작들 중 임의의 동작 이전에, 이후에, 동시에, 또는 그 사이에 수행될 수 있다. 추가적으로, 동작들은 다른 구현들에서 재배열되거나 재순서화될 수 있다. 특정 상황들에서는, 다중 작업 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 추가적으로, 다른 구현들은 다음의 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에서 언급되는 액션들은 상이한 순서로 수행되며 여전히 바람직한 결과들을 달성할 수 있다.
부록 A
본 부록 개시내용의 일부분은 저작권 보호를 받는 자료를 포함한다. 저작권자는 특허청의 특허 파일 또는 기록들에 나와 있는 것처럼 누군가에 의한 (본 부록을 포함하는) 본 특허 문서 또는 특허 개시내용의 복제에 대한 이의를 갖지 않지만, 그 밖의 모든 것은 저작권으로 보호된다.
다음의 컴퓨터 코드 및 설명은 이클립스 커서 기술의 범위를 제한하도록 의도되는 것이 아니라 이클립스 커서 기술의 다양한 실시예들을 예시하도록 의도된다.
I. 이클립스 커서 개요
이클립스 커서는 포인팅 디바이스를 사용할 때 사용자 선택들을 강조표시하는 방식을 나타낸다. 선택가능한 콘텐츠 위로 또는 앞으로 이동하는 작은 포인터 '스프라이트(sprite)'를 보여주는 종래의 접근법이 아니라, 이클립스 커서는 그 콘텐츠 뒤로 이동하여, 그 선택된 아이템 뒤로부터 방사되는 글로의 모션을 통해 사용자에게 포지션 피드백을 제공한다. 선택된 아이템을 강조표시하는 동안에도 사용자 입력을 계속해서 정확하게 추적함으로써, 이클립스 글로는 포지션이 시프트되어, 지속적인 입력 피드백 및 정확한 커서 포지션 감지를 사용자에게 제공할 것이다. 본 부록에서 설명된 예에서, 사용자들은 터치-제어 커서 또는 초점 표시자를 이동시킴으로써, 이클립스 커서를 사용하여 평면형 UI(user interface) 엘리먼트들을 타겟팅한다. 그리고, 상대적 커서(relative cursor)의 로직 및 데이터는 GripTotem 스크립트에 의해 제공되는 터치패드 정보에 기반한다. 본 문서는 상대적 이클립스 커서 입력 알고리즘들의 예들을 보여준다.
II. 이클립스 커서 특징들
커서는 관성을 가질 수 있다. 커서 포지션은 패널에 클립핑될 수 있다. 패널은 라운딩 세팅들을 가질 수 있어서, 입력 영역은 라운딩되거나, 캡슐이거나, 또는 어느 정도의 코너 라운딩을 갖는 직사각형일 수 있다. 커서는, 사용자의 손가락이 터치패드로부터 릴리즈될 때 엘리먼트들 상으로 스냅핑하기 위한 기능성을 가질 수 있다.
III. 상대성 역학(Relative Mechanics)
CursorRelativeInput이라는 클래스는 상대적 커서를 구현할 수 있다. 사용자 입력에 대한 응답으로(예컨대, 토템 터치-패드 피드백) 3D 평면의 경계 구역 내에 놓여 있는 커서의 포지션을 업데이트할 수 있다. 상대적(relative)이라는 용어는 커서의 핵심적인 입력-투-모션 응답을 설명하는 데 사용될 수 있으며: 사용자가 토템의 터치-패드를 누름에 따라, 시스템은, 커서가 제어 평면 내에서 동등한 모션 헤딩을 따라 진행하는 것으로 나타나도록 커서를 업데이트할 것이며; 각각의 모션 단계는 이전 포지션에 대해 상대적일 수 있다.
A. 커서와 패널 상호작용
EclipsePanel에 의해 CursorRelativeInput의 인스턴스가 (몇몇 커서 제어 선택들 중 하나로서) 생성된다. 패널은 커서에 활동 범위의 개념을 제공할 수 있으며, 패널이 초점을 가질 때, 커서 인스턴스가 업데이트될 수 있다. 또한, 커서 모션의 경계들뿐만 아니라 커서가 상호작용할 수 있는 1차 세트의 엘리먼트들(예컨대, 동일한 패널 인스턴스의 칠드런(children)인 버튼들)을 정의할 수 있다.
EclipsePanel의 예들이 도 22에 도시된다. "소셜(Social)", "애플리케이션(Application)" 및 "스토어(Store)"아래의 구역들은 EclipsePanel들이다.
커서 경계들은 EclipsePanel에 대해 특정된 치수들에 정확하게 맵핑되는 직사각형 구역으로서 정의될 수 있거나, 또는 패널에 의해 제공되는 2차 세트의 커스텀 경계들일 수 있다(예컨대, 제어 구역이 패널에 의해 점유되는 공간의 서브세트만을 나타내는 경우).
패널은 다른 이클립스 엘리먼트들과 일치하는 '라운딩' 속성을 가질 수 있다. 이는, 패널(및 그에 따른 커서 경계들)이 완벽한 원 또는 캡슐, 코너가 예리한 정사각형 또는 직사각형, 또는 그 사이의 임의의 라운딩된 코너 형상일 수 있다는 것을 의미할 수 있다. 경계들이 적용될 수 있기 때문에, 상대적 커서는 패널의 라운딩 상태를 따른다(respect).
일부 경우들에서, 임의적인 수의 패널들이 활성화되어 있을 수 있다. 따라서, 다수의 상대적 커서 인스턴스들이 존재할 수 있다. 일부 경우들에서, 단지 하나의 패널만이 입력 초점을 가질 수 있다. 이는 자신의 커서를 활성적으로 업데이트하게 될 유일한 패널일 수 있다. 이는 중앙 EclipseUI 클래스로부터의 호(call)를 통해 달성될 수 있으며, 이 업데이트의 결과는, 사용자 중심 포지션(예컨대, 머리-포즈 또는 토템 포지션)으로부터 패널의 제어 평면 상의 포지션을 통해 투사될 커서 광선일 수 있다.
그것의 호스트 패널에 속하는 버튼들을 검출하는 것에 추가하여 또는 대안적으로, 커서는 활성 입력 패널과 초점을 공유하도록 허용된 다른 패널들에 속하는 버튼들을 검출할 수 있다.
B. 커서 충돌
입력 패널의 커서 업데이트에 의해 제공된 커서 광선을 사용하여, EclipseUI는 활성 상호작용가능 엘리먼트들(예컨대, 현재 초점을 갖는 패널들에 속하는 버튼들)에 대해 광선-캐스팅을 수행할 수 있다. 여기서 수행된 테스트는 수학-기반의 광선-캐스팅을 사용할 수 있으며, 이는 충돌자(collider)들을 사용하는 것보다 몇몇 장점들을 제공한다. 예컨대, 장점들은 다음을 포함할 수 있다(그러나 이에 제한되지 않음):
● 테스트는 (예컨대, 최적의 일관성을 위해 버튼들을 렌더링하는 데 사용되는 것과 동일한 수학을 사용하여) 버튼의 라운딩 형상을 반영할 수 있다.
● 시스템은 버튼이 호버링되는지 여부 및 버튼이 커서에 얼마나 가까울 수 있는지 둘 모두를 결정할 수 있다. 이는 적어도 2가지 중요한 기능들을 서빙할 수 있다. 첫 번째로, 시스템은 어느 버튼들이 커서에 근접하는지를 결정할 수 있으며, 이 결정에 기반하여, 시스템은 커서가 그러한 버튼들에 접근할 때 이클립스 글로를 보여주기 시작할 수 있다. 두 번째로, 일부 경우들에서, 현재 커서 포지션에 가장 가까운 버튼을 찾는 것이 바람직하다(예컨대, 중력 우물(Gravity Well) 지원을 위해).
● 충돌자들에 대한 필요성을 회피함으로써, 장면들은 더 깨끗하게 나타날 수 있으며, 시스템은, 다른 버튼들 또는 다른 장면 기반 충돌자들에 의한 버튼들의 우발적인 가려짐(occlusion)을 회피하는 것, 또는 충돌들의 정확한 필터링에 내재된 복잡성을 피할 수 있다.
광선-캐스팅에 적어도 부분적으로 기반하여, 시스템은 특정 버튼이 '히트(hit)'되었다고 결정할 수 있다. 일부 경우들에서, 이 결정에 대한 응답으로, 시스템은 2차 충돌자 기반 테스트를 이용할 수 있다. 이 테스트는 버튼 포지션에서 동일한 커서 광선을 발사할 수 있다. 그러나, 이번에 시스템은 'UI' 충돌 레이어를 가진 충돌자들에 대해 테스트한다. 일부 경우들에서, 이는 주어진 EclipsePanel이 솔리드 '백-플레인(back-plane)'으로 구성되는 것을 가능하게 하는 메커니즘을 제공한다. 다시 말해서, 커서-광선 캐스팅들이 패널의 갭들을 통과하여 그 뒤에 있을 수 있는 상호작용가능부(interactable)들을 히트하는 것을 방지할 수 있다. 일 예는 활성 검색 결과들 앞에 놓여 있는 키보드이다. 그러한 결과들이 키보드를 통해 대화식으로 되는 것은 바람직하지 않을 수 있다. 대신에, 키보드에 인접한 경우에만 결과들이 대화식으로 되는 것이 바람직할 수 있다.
충돌 구현:
프레임(예컨대, 히트될 제1 프레임) 당 하나의 상호작용가능부에 대해 충돌이 등록될 수 있다. 그러나, 시스템은 그들의 근접도 글로 상태들을 업데이트하기 위해 다른 것들에 대해 계속 테스트할 수 있다.
일부 상호작용가능부들에는 우선순위 테스트가 제공될 수 있다. 예컨대, 이전 업데이트로부터 호버링된 상호작용가능부를 포함하는 각각의 프레임에는, 동일한 상호작용가능부에 대해 그 프레임을 테스트하는 데 있어서 우선순위가 주어질 수 있다. 이는 안정적인 충돌 응답을 보장하는 것을 도울 수 있다.
일부 경우들에서, 프레임이 히트하지 않는 경우, 시스템은 호버링되지 않은 경우에 점유되었을 포지션에서 다시 테스트할 것이다. 이는, 다르게는 호버링되는 것에 대한 응답으로 버튼이 앞으로 스텝핑하는 경우에 발생할 수 있는 이력현상의 경우를 해결하기 위한 조치이다. 그 경우, 커서 포지션은 변경되지 않고 유지되어, 다음 커서 광선이 버튼을 놓치는(missing) 것을 초래하여, 그것이 다시 물러서서 루핑(loop)하는 것을 야기할 수 있다.
사용자는 활성적으로 호버링된 버튼에 대한 충돌 사이즈 스칼라를 수정할 수 있다. 이는, 작은 버튼들에 대해, 예컨대, 버튼을 클릭하기 위해 트랙패드 누름을 사용하려고 시도하는 동안 우발적으로 그러한 버튼들을 오버슈트하거나 그러한 버튼들로부터 멀어지게 이동하는 것을 더 어렵게 하는 데 유용할 수 있다. 예컨대, 호버링하는 동안 버튼의 사이즈가 약간 커질 수 있으며, 디-호버링될(de-hovered) 때 1 대 1 스케일로 돌아갈 수 있다. 일단 대화형 엘리먼트가 커서에 의해 호버링되면, 특정 클래스들에 의해 추가의 상호작용들(예컨대, 버튼 누름)이 핸들링될 수 있다. 이는 OnHover/DeHover, OnClick, OnClickStart/End 스타일 이벤트들을 통한 표준 이클립스 이벤트 메커니즘을 통해 발생할 수 있다.
C. 커서 렌더링
커서 핸들링의 또 다른 양상은 커서 렌더링일 수 있다. 대부분의 경우들에서, 하나의 커서(예컨대, 입력 초점 패널로부터의 커서)만이 가시적이다. 이 커서는 이클립스 렌더 패스를 통해 보여질 수 있다.
커서의 포지션이 이클립스 '백-글로', 더 종래의 포지션 도트 등의 형태로 보여지는지 여부는 다양한 팩터들에 적어도 부분적으로 기반한다. 예컨대, 그 팩터들은: 이클립스 엘리먼트가 현재 호버링되고 있는지 여부; 그렇지 않다면 '도트' 커서가 활성 패널에 대해 가시적이도록 허용되는지 여부를 포함할 수 있다. 일부 경우들에서, 커서는 완전히 숨겨질 수 있다.
IV. 상대적 커서 업데이트 구현
임의의 커서 모드의 경우, 시스템은, 사용자 또는 시스템이 거동을 맞춤화하는 것을 가능하게 하는 세팅 구조(일부 경우들에서, 이는 패널별로 구성가능함)를 갖는다. 예컨대, 상대적 커서의 경우, 세팅 구조는 다음을 포함할 수 있다(그러나 이에 제한되지 않음):
MotionScalar
○ 이는 커서의 속도의 제어를 가능하게 한다. 예컨대, 터치-패드 입력에 기반하는 움직임 단계들의 사이즈의 제어를 가능하게 할 수 있다.
X 또는 Y 입력 선택/스와이프 직교화
○ 이러한 옵션들은, 입력 핸들링을 바이어싱하여 하나의 축을 다른 축보다 선호하거나, 또는 주요한 모션 방향들을 선호하는 것을 가능하게 할 수 있다. 예컨대, 옵션은, 현재 터치-입력의 X 또는 Y 컴포넌트들 중 더 큰 컴포넌트 중에서의 선택을 가능하게 할 수 있다. 바이어스 팩터는 추가적인 제어를 추가할 수 있다.
스와이프들을 직교화하는 것은, 특정 축의 입력이 임계치를 초과할 때, 다른 축에서 모션이 제로일 수 있음을 의미할 수 있다. 이는 예컨대, 그리드에 포지셔닝된 많은 버튼들이 있는 키보드에 대해 유용할 수 있고, 시스템은, 사용자의 의도가 종종, 인접한 문자들의 행을 따라 커서를 깨끗하게 이동시킬려는 것임을 알고 있다.
중력 우물 지원
○ 사용자가 터치-패드를 릴리즈할 때, 이러한 옵션들은 커서가 가장 가까운 버튼 내의 포지션으로 (예컨대, 중력으로 당겨지는 것처럼) 슬라이딩하는 것을 가능하게 한다. 일부 경우들에서, 커서의 이러한 슬라이딩은 항상 발생하거나, 절대로 발생하지 않거나, 또는 가장 가까운 버튼이 특정 거리 허용오차 내에 있는 경우에만 발생할 수 있다. 세팅들은, 커서가 가장 가까운 버튼 상의 가장 가까운 포지션으로 이동할지, 아니면 버튼의 X 축 및 Y 축 중 하나/둘 모두와 정렬되는 포지션으로 이동할지를 포함할 수 있다(예컨대, 긴 인접한 버튼들의 행이 있는 경우, 더 작은 원형 버튼들의 수직 스택을 위해 중앙 Y 또는 아마도 중앙 X에 스냅핑하는 것이 바람직할 수 있음). 세팅들은 또한, 호스트 패널 내에만 있는 중력 우물들의 사용이 필요한지 여부, 또는 다른 '초점이 맞춰진(in focus)' 패널들 상에 존재하는 엘리먼트들이 또한 고려될 수 있는지 여부를 포함할 수 있다.
에지 푸시들
○ 터치패드 제어들을 사용하여, 사용자는 하나의 패널로부터 다른 패널로 입력 초점을 스위칭할 수 있다. 커서가 패널의 에지 경계들을 히트하면, 시스템은 사용자에게 이벤트를 전송할 수 있으며, 사용자는 이를, 푸시 방향에 따른 패널 전이를 개시하는 데 사용할 수 있다. 일부 경우들에서, 시스템은 스프링 로딩 에지(Spring Loaded edge)들을 선택할 수 있으며, 이는 에지 푸시가 발생하고 있음을 전달하는 것을 돕기 위해 시각적 피드백(예컨대, 호스트 패널의 모션)을 야기할 수 있다. 이 경우, 특정 푸시 범위가 초과되지 않으면, 어떤 에지-푸시 이벤트도 전송되지 않은 채 패널이 자신의 원래 포지션으로 스프링 백(spring back)할 수 있다. 일부 경우들에서, 세팅들은 타이밍된 옵션(예컨대, 특정 시간 동안 에지에 대한 푸시), 및 더블-탭 옵션(예컨대, 에지에 대한 범프, 입력 릴리즈, 및 그런 다음, 동일한 에지에 대해 다시 스와이핑)을 포함한다.
관성 제어들
○ 사용자가 터치-패드 입력을 제공하고 커서 모션이 결정되거나 렌더링될 때마다, 시스템은 또한 커서의 움직임을 연관시킬 수 있으며, 이는 '관성'의 정도를 모방할 수 있다. 예컨대, 이 움직임은 활성 입력이 중단된 순간부터 적용될 수 있다. 이는, 감쇠력이 "관성"을 다시 제로로 감소시킬 때까지, 커서가 그 모션 경로를 따라 계속 이어지도록 야기할 수 있다. 제어들은, 사용자가 (예컨대, 구성가능한 임계치에 대응하는) 빠른 '스와이프' 액션의 종료 시에 터치패드를 릴리즈하는 이벤트에서, 관성 부스트들이 적용되는 것을 가능하게 하는 것뿐만 아니라 얼마나 많은 관성이 축적될 수 있는지를 제한할 수 있다. 관성 부스트는 긴 아이템화된 리스트들을 통해 빠른 스와이프들을 지원하도록 의도된다(예컨대, 사용자가 선택한 경우, 한 번의 메가-스와이프가 커서를 최상부로부터 최하부로 이동시키는 것을 가능하게 하기 위해).
스크롤링 지원
○ 패널이 그의 이용가능한 스크린 리얼-에스테이트(screen real-estate)를 초과하는 콘텐츠를 갖는 경우, 이는 스크롤링될 수 있다. 상대적 커서는 빌트-인 푸시-스크롤링 지원을 가질 수 있다. 구성가능한 파라미터들은, 푸시-스크롤링 모션 단계들이 적용될 패널 에지로부터의 거리를 제어할 수 있다.
(예컨대, 구성가능한 세팅들을 통해) 상대적 커서가 어떻게 구성되는지에 기반하여, 상대적 커서 업데이트는 다음 단계들 중 하나 이상을 포함할 수 있다:
터치패드 스와이프에 대한 체크
○ 예컨대, 방금 종료된 터치-패드에 걸쳐 빠른 손가락 모션이 있는지를 체크함.
○ 관성 부스트를 잠재적으로 적용함.
규칙적인 터치 입력에 대한 체크
○ 커서 포지션에 모션을 적용함
○ 방향성 관성을 축적함
터치-패드 입력이 없는 경우
○ 관성 기반 모션을 커서 포지션에 적용함
○ 터치-패드 입력이 방금 종료되었다면, 가장 가까운 중력 우물을 룩업함
○ 커서 모션을 적용하기 위해 잠재적 중력 우물 프로세싱을 수행함.
■ 주목: 이는 관성 외에 레이어링되어, 2개가 함께 동작할 수 있다. 예컨대, 일단 관성이 충분히 진정되면, 중력 스냅핑이 시작될 수 있다.
스크롤링 패널 타입들에 대한 푸시-스크롤링 핸들링
○ 푸시-스크롤링 경계들에 대해 커서 포지션을 클립핑하고, '오버플로'를 스크롤링 오프셋에 적용함
커서 포지션을 우리의 패널의 경계들에 클립핑.
○ 이는, 커서가 임의의 만곡된 코너들 주위를 깨끗하게 슬라이딩할 수 있음을 보장하는 방식으로 구현될 수 있다.
에지 푸시들에 대한 체크
○ 시간-기반/더블-탭/스프링-로딩 에지 푸시들을 추적하거나 이벤트를 사용자에게 전송함.
관성 쇠퇴
V. 입력 언어
EclipseUI
EclipseUI는 버튼들 및 커서들의 렌더링을 지원하기 위한 한 세트의 유니티 클래스들이다.
EclipsePanel
EclipsePanel은 EclipseUI 내의 클래스이다. 패널은 패널 당 커서 렌더 및 세팅들을 지원한다. CursorRelativeInput(및 다른 선택적 커서 타입 클래스들)은 EclipsePanel 인스턴스에 의해 할당 및 업데이트된다. 패널은 '초점'(그들의 버튼들이 클릭될 수 있음) 및 '입력 초점'(그들의 커서가 리프레시되고, 활성 시스템 커서로서 렌더링될 것임)의 개념을 갖는다. 패널은, 머리포즈가 그것을 타겟팅할 때, '초점'을 세팅할 수 있다. 다수의 '초점' 패널들이 있을 수 있지만, 단지 하나만이 '입력 초점'을 갖는다.
CursorRelativeInput
CursorRelativeInput 클래스는 ICursor 인터페이스에 의해 구현된다. 이 커서는 관성, 버튼 스냅핑 및 에지 푸시 특징들을 갖는다.
토템
터치패드
터치 패드는 토템 상에서 포인팅(입력 포지셔닝 제어)하기 위한 원형 표면(디바이스)이다.
A. GripTotem
GripTotem은 시리얼 포트로부터 미가공 데이터(raw data)를 판독하는 클래스이다.
VI. ECLIPSEPANEL
Figure pct00001
VII. ICURSOR
Figure pct00002
VIII. 상대적 커서
Figure pct00003
Figure pct00004
Figure pct00005
Figure pct00006
IX. 커서 포지션을 패널에 클립핑
Figure pct00007

Claims (21)

  1. 사용자의 눈의 앞에 포지셔닝되도록 구성된 디스플레이 ― 상기 디스플레이는 상기 사용자의 눈을 향해 가상 콘텐츠를 투사하도록 구성됨 ―;
    가상 커서(virtual cursor)의 움직임과 연관된 사용자 입력 데이터를 수신하도록 구성된 사용자 입력 디바이스; 및
    상기 디스플레이 및 상기 사용자 입력 디바이스와 통신하는 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는,
    상기 사용자의 환경 내의 상기 가상 커서의 위치를 식별하고,
    상기 사용자의 환경 내의 오브젝트와 상기 가상 커서 사이의 공간 관계를 결정하고, 그리고
    상기 공간 관계에 적어도 부분적으로 기반하여 상기 오브젝트와 연관된 초점 표시자를 렌더링하게 상기 디스플레이에 지시하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  2. 제1 항에 있어서,
    상기 사용자 입력 디바이스는, 터치 감지 표면을 포함하는 핸드헬드 토템, 사용자 제스처를 검출하도록 구성된 외향 이미징 시스템, 상기 사용자의 눈 포즈를 검출하도록 구성된 내향 이미징 시스템, 또는 상기 사용자의 머리 포즈를 검출하도록 구성된 관성 측정 유닛 중 하나 이상을 포함하는,
    웨어러블 디스플레이 시스템.
  3. 제1 항에 있어서,
    상기 오브젝트와 상기 가상 커서 사이의 공간 관계를 결정하기 위해, 상기 하드웨어 프로세서는,
    상기 가상 커서의 위치와 상기 오브젝트의 부분 사이의 거리를 결정하거나, 또는
    상기 가상 커서와 상기 오브젝트 사이의 상대적 배향을 결정하고, 그리고
    상기 결정된 거리 또는 상기 결정된 배향에 적어도 부분적으로 기반하여 상기 초점 표시자를 렌더링하게 상기 디스플레이에 지시하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  4. 제1 항에 있어서,
    상기 초점 표시자는, 상기 오브젝트를 적어도 부분적으로 둘러싸는 글로(glow) 또는 할로(halo), 상기 오브젝트의 사이즈 또는 깊이 변화, 또는 그래픽 강조표시(graphical highlighting) 중 하나 이상을 포함하는,
    웨어러블 디스플레이 시스템.
  5. 제1 항에 있어서,
    초점 표시자를 렌더링하게 상기 디스플레이에 지시하기 위해, 상기 하드웨어 프로세서는,
    커서 글로를 제1 버퍼에 렌더링하기 위해 제1 렌더 패스(render pass)를 수행하고 ― 상기 커서 글로의 위치는 상기 가상 커서의 위치에 적어도 부분적으로 기반함 ―,
    상기 오브젝트의 형상 마스크 표현을 제2 버퍼에 렌더링하기 위해 제2 렌더 패스를 수행하고,
    상기 오브젝트와 연관된 글로 마스크를 제3 버퍼에 렌더링하기 위해 제3 렌더 패스를 수행하고, 그리고
    상기 사용자에게의 프리젠테이션을 위해 적어도 상기 제1 버퍼, 상기 제2 버퍼, 및 상기 제3 버퍼를 조합하도록 구성된 제4 렌더 패스를 수행하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  6. 제5 항에 있어서,
    상기 제4 렌더 패스를 수행하기 위해, 상기 하드웨어 프로세서는, 적어도 상기 제1 버퍼, 상기 제2 버퍼, 및 상기 제3 버퍼를, 가상 장면 콘텐츠를 포함하는 제4 버퍼와 조합하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  7. 제1 항에 있어서,
    상기 하드웨어의 프로세서는 추가로,
    상기 가상 커서의 위치와 상기 오브젝트 사이의 거리를 결정하고, 그리고
    상기 거리가 임계 거리 미만인 경우, 상기 가상 커서의 위치를 상기 오브젝트를 나타내는 위치로 업데이트하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  8. 제1 항에 있어서,
    상기 하드웨어의 프로세서는,
    상기 가상 커서의 위치와 상기 오브젝트 사이의 배향을 결정하고, 그리고
    상기 초점 표시자를 상기 가상 커서의 배향을 향해 우선적으로 렌더링하게 상기 디스플레이에 지시하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  9. 제1 항에 있어서,
    상기 하드웨어의 프로세서는,
    상기 가상 커서의 이전(earlier) 모션 경로에 적어도 부분적으로 기반하여 상기 가상 커서의 위치를 업데이트하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  10. 제9 항에 있어서,
    상기 하드웨어 프로세서는, 상기 사용자 입력 디바이스로부터의 사용자 입력의 중단(cessation)에 대한 응답으로 상기 이전 모션 경로에 적어도 부분적으로 기반하여 상기 가상 커서의 위치를 업데이트하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  11. 제1 항에 있어서,
    상기 하드웨어의 프로세서는,
    상기 가상 커서의 위치와 상기 오브젝트의 부분 사이의 거리를 결정하고, 그리고
    상기 거리가 임계치 미만이라는 결정에 대한 응답으로,
    상기 가상 커서의 앞에 상기 오브젝트를 렌더링하거나, 또는
    상기 가상 커서를 렌더링하는 것을 중단하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  12. 혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법으로서,
    디스플레이 및 하드웨어 프로세서를 포함하는 혼합 현실 디스플레이 디바이스의 제어 하에,
    상기 혼합 현실 환경 내의 상기 커서의 위치를 결정하는 단계;
    상기 오브젝트와 연관된 위치를 결정하는 단계;
    상기 오브젝트와 상기 커서 사이에 오버랩이 발생하는지 여부를 결정하는 단계;
    상기 오버랩이 발생하지 않는다는 결정에 대한 응답으로,
    상기 커서를 렌더링하는 단계; 및
    상기 오버랩이 발생한다는 결정에 대한 응답으로,
    상기 커서의 앞에 상기 오브젝트를 렌더링하거나, 또는
    상기 커서를 렌더링하는 것을 중단하는 단계를 포함하는,
    혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법.
  13. 제12 항에 있어서,
    상기 오브젝트와 상기 커서 사이에 오버랩이 발생하는지 여부를 결정하는 단계는, 상기 커서의 위치와 상기 오브젝트의 위치 사이의 거리가 거리 임계치 미만인지 여부를 결정하는 단계를 포함하는,
    혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법.
  14. 제12 항에 있어서,
    상기 오버랩이 발생한다는 결정에 대한 응답으로, 상기 방법은, 상기 오브젝트와 연관된 초점 표시자를 렌더링하는 단계를 더 포함하는,
    혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법.
  15. 제14 항에 있어서,
    상기 초점 표시자는, 상기 오브젝트를 적어도 부분적으로 둘러싸는 글로 또는 할로, 상기 오브젝트의 사이즈 또는 깊이 변화, 또는 그래픽 강조표시 중 하나 이상을 포함하는,
    혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법.
  16. 제12 항에 있어서,
    상기 커서와 상기 오브젝트 사이의 공간 관계를 결정하는 단계; 및
    상기 공간 관계에 적어도 부분적으로 기반하여 상기 오브젝트와 연관된 초점 표시자를 렌더링하는 단계를 더 포함하는,
    혼합 현실 환경에서 오브젝트에 대해 커서를 렌더링하는 방법.
  17. 사용자의 환경 내의 커서의 포지션과 관련된 사용자 입력을 수신하도록 구성된 사용자 입력 디바이스;
    상기 사용자가 상기 사용자의 환경 내의 가상 오브젝트들을 지각할 수 있게 하는 디스플레이;
    상기 사용자 입력 디바이스 및 상기 디스플레이와 통신하는 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는,
    상기 디스플레이를 통해 가상 오브젝트가 렌더링되게 하고,
    상기 사용자 입력에 적어도 부분적으로 기반하여, 상기 환경 내의 상기 커서의 포지션을 추적하고,
    상기 가상 오브젝트의 포지션을 식별하고,
    상기 가상 오브젝트와 상기 커서의 포지션 사이의 제1 거리가 거리 임계치를 충족시키는지 여부를 결정하고,
    상기 제1 거리가 상기 거리 임계치를 충족시킨다는 결정에 대한 응답으로, 상기 오브젝트에 근접한 초점 표시자가 상기 디스플레이를 통해 렌더링되게 하도록 프로그래밍되는,
    증강 현실 디스플레이 시스템.
  18. 사용자의 환경 내의 커서의 포지션과 관련된 사용자 입력을 수신하도록 구성된 사용자 입력 디바이스;
    상기 사용자가 상기 사용자의 환경 내의 가상 오브젝트들을 지각할 수 있게 하는 디스플레이;
    상기 사용자 입력 디바이스 및 상기 디스플레이와 통신하는 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는,
    복수의 가상 오브젝트들이 상기 디스플레이를 통해 렌더링되게 하고,
    상기 디스플레이의 시야 내의 상기 커서의 포지션을 추적하고,
    상기 복수의 가상 오브젝트들의 포지션들을 식별하고,
    상기 커서의 포지션과 상기 복수의 가상 오브젝트들의 포지션들을 비교하여 상기 커서의 포지션에 가장 가까운 오브젝트를 결정하고,
    상기 디스플레이를 통해, 상기 가장 가까운 오브젝트에 근접하게 초점 표시자가 렌더링되게 하도록 프로그래밍되는,
    증강 현실 디스플레이 시스템.
  19. 혼합 현실 디스플레이 디바이스를 위한 그래픽 사용자 인터페이스를 렌더링하는 방법으로서,
    디스플레이 및 하드웨어 프로세서를 포함하는 혼합 현실 디스플레이 디바이스의 제어 하에,
    상기 디스플레이의 시야 내의 커서의 위치를 결정하는 단계;
    상기 디스플레이의 시야 내의 오브젝트와 연관된 초점 표시자를 렌더링하는 단계;
    상기 오브젝트에 대한 상기 커서의 움직임을 추적하는 단계; 및
    상기 오브젝트에 대한 상기 커서의 움직임에 적어도 부분적으로 기반하여 상기 초점 표시자의 렌더링을 조정하는 단계를 포함하는,
    혼합 현실 디스플레이 디바이스를 위한 그래픽 사용자 인터페이스를 렌더링하는 방법.
  20. 사용자의 눈의 앞에 포지셔닝되도록 구성된 디스플레이 ― 상기 디스플레이는 상기 사용자의 눈을 향해 가상 콘텐츠를 투사하도록 구성됨 ―;
    가상 환경 내의 가상 커서의 움직임과 연관된 사용자 입력 데이터를 수신하도록 구성된 사용자 입력 디바이스; 및
    상기 디스플레이 및 상기 사용자 입력 디바이스와 통신하는 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는,
    상기 가상 환경에서 제1 깊이에 가상 아이콘을 렌더링하게 상기 디스플레이에 지시하고,
    상기 가상 환경에서 제2 깊이에 가상 커서를 렌더링하게 상기 디스플레이에 지시하고,
    상기 가상 환경 내의 상기 가상 커서의 움직임을 추적하고,
    상기 가상 커서와 상기 가상 아이콘 사이에 오버랩이 발생하는지 여부를 결정하고, 그리고
    상기 오버랩의 결정에 대한 응답으로, 상기 제1 깊이 또는 상기 제2 깊이보다 상기 사용자에게 더 가까운 제3 깊이에 상기 가상 아이콘을 렌더링하게 상기 디스플레이에 지시하도록 프로그래밍되는,
    웨어러블 디스플레이 시스템.
  21. 사용자의 눈의 앞에 포지셔닝되도록 구성된 디스플레이 ― 상기 디스플레이는 상기 사용자의 눈을 향해 가상 콘텐츠를 투사하도록 구성됨 ―;
    가상 환경 내의 가상 커서의 움직임과 연관된 사용자 입력 데이터를 수신하도록 구성된 사용자 입력 디바이스; 및
    상기 디스플레이 및 상기 사용자 입력 디바이스와 통신하는 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는,
    복수의 가상 아이콘들의 가상 레이아웃을 렌더링하게 상기 디스플레이에 지시하고 ― 상기 가상 레이아웃의 복수의 가상 아이콘들 중 적어도 일부는 상기 가상 환경에서 제1 깊이에 렌더링됨 ―,
    상기 가상 레이아웃을 스크롤링하기 위한 사용자 표시를 수신하고, 그리고
    상기 가상 레이아웃을 스크롤링하기 위한 상기 사용자 표시의 수신에 대한 응답으로,
    상기 스크롤링 이전에 렌더링되지 않은 가상 아이콘들의 표현을 포함하는 가상 콘텐츠 패널을 렌더링하게 상기 디스플레이에 지시하도록 프로그래밍되며,
    상기 가상 콘텐츠 패널은 상기 가상 환경에서 제2 깊이에 렌더링되는,
    웨어러블 디스플레이 시스템.
KR1020207023220A 2018-01-30 2019-01-25 혼합 현실 디스플레이들에서의 가상 콘텐츠를 위한 이클립스 커서 KR20200115531A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/884,117 2018-01-30
US15/884,117 US10540941B2 (en) 2018-01-30 2018-01-30 Eclipse cursor for mixed reality displays
US15/920,830 2018-03-14
US15/920,830 US11567627B2 (en) 2018-01-30 2018-03-14 Eclipse cursor for virtual content in mixed reality displays
PCT/US2019/015274 WO2019152286A2 (en) 2018-01-30 2019-01-25 Eclipse cursor for virtual content in mixed reality displays

Publications (1)

Publication Number Publication Date
KR20200115531A true KR20200115531A (ko) 2020-10-07

Family

ID=67393385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023220A KR20200115531A (ko) 2018-01-30 2019-01-25 혼합 현실 디스플레이들에서의 가상 콘텐츠를 위한 이클립스 커서

Country Status (9)

Country Link
US (2) US11567627B2 (ko)
EP (2) EP3746870B1 (ko)
JP (3) JP7123148B2 (ko)
KR (1) KR20200115531A (ko)
CN (1) CN111819522A (ko)
AU (1) AU2019215346A1 (ko)
CA (1) CA3087775A1 (ko)
IL (3) IL305114B2 (ko)
WO (1) WO2019152286A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464232B1 (ko) * 2022-03-22 2022-11-09 주식회사 위피엠 온라인 기반의 가상 전시회를 제공하는 가상현실 콘텐츠 관리시스템의 전시회 설계 및 관리 방법
WO2024025126A1 (ko) * 2022-07-26 2024-02-01 삼성전자 주식회사 웨어러블 전자 장치 및 그 동작 방법
WO2024172607A1 (ko) * 2023-02-17 2024-08-22 삼성전자 주식회사 아이콘을 표시하기 위한 전자 장치, 그 동작 방법과, 비 일시적 컴퓨터 판독 가능 저장 매체

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD762693S1 (en) 2014-09-03 2016-08-02 Apple Inc. Display screen or portion thereof with graphical user interface
US10222932B2 (en) 2015-07-15 2019-03-05 Fyusion, Inc. Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations
US10242474B2 (en) 2015-07-15 2019-03-26 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US10147211B2 (en) 2015-07-15 2018-12-04 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11095869B2 (en) 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US11006095B2 (en) 2015-07-15 2021-05-11 Fyusion, Inc. Drone based capture of a multi-view interactive digital media
US11783864B2 (en) 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US10437879B2 (en) 2017-01-18 2019-10-08 Fyusion, Inc. Visual search using multi-view interactive digital media representations
US10313651B2 (en) 2017-05-22 2019-06-04 Fyusion, Inc. Snapshots at predefined intervals or angles
US11069147B2 (en) 2017-06-26 2021-07-20 Fyusion, Inc. Modification of multi-view interactive digital media representation
USD847841S1 (en) * 2017-11-01 2019-05-07 Apple Inc. Display screen or portion thereof with graphical user interface
USD865778S1 (en) * 2018-01-08 2019-11-05 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
USD877160S1 (en) 2018-01-30 2020-03-03 Magic Leap, Inc. Display panel or portion thereof with a transitional mixed reality graphical user interface
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
KR20200141438A (ko) * 2018-04-11 2020-12-18 돌비 인터네셔널 에이비 6DoF 오디오 렌더링을 위한 방법, 장치 및 시스템, 및 6DoF 오디오 렌더링을 위한 데이터 표현 및 비트스트림 구조
US10592747B2 (en) 2018-04-26 2020-03-17 Fyusion, Inc. Method and apparatus for 3-D auto tagging
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
US11301050B2 (en) * 2018-06-03 2022-04-12 Apple Inc. Method and device for presenting a synthesized reality user interface
WO2019236344A1 (en) 2018-06-07 2019-12-12 Magic Leap, Inc. Augmented reality scrollbar
WO2020028116A1 (en) * 2018-07-30 2020-02-06 Optimum Semiconductor Technologies Inc. Object detection using multiple neural networks trained for different image fields
GB2576213A (en) * 2018-08-10 2020-02-12 Sony Corp A method for mapping an object to a location in virtual space
USD904422S1 (en) * 2018-08-28 2020-12-08 Intuit, Inc. Display screen or portion thereof with transitional graphical user interface
US20210315453A1 (en) * 2018-09-04 2021-10-14 M2S Co., Ltd Visual field examination method and system based on virtual reality
US11004270B2 (en) * 2018-09-11 2021-05-11 Houzz, Inc. Virtual item placement system
US10911732B2 (en) 2019-01-14 2021-02-02 Fyusion, Inc. Free-viewpoint photorealistic view synthesis from casually captured video
US11009698B2 (en) * 2019-03-13 2021-05-18 Nick Cherukuri Gaze-based user interface for augmented and mixed reality device
USD914722S1 (en) * 2019-04-25 2021-03-30 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD962981S1 (en) 2019-05-29 2022-09-06 Magic Leap, Inc. Display screen or portion thereof with animated scrollbar graphical user interface
US20210097776A1 (en) * 2019-09-28 2021-04-01 Apple Inc. Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
JP2021068000A (ja) * 2019-10-18 2021-04-30 株式会社東海理化電機製作所 制御装置、プログラム、及びシステム
CN114846434A (zh) 2019-10-25 2022-08-02 奇跃公司 非均匀立体渲染
US11308698B2 (en) * 2019-12-05 2022-04-19 Facebook Technologies, Llc. Using deep learning to determine gaze
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
USD956065S1 (en) * 2020-03-31 2022-06-28 Google Llc Display screen with animated graphical user interface
USD956064S1 (en) * 2020-03-31 2022-06-28 Google Llc Display screen with animated graphical user interface
GB202009876D0 (en) * 2020-06-29 2020-08-12 Microsoft Technology Licensing Llc Visual interface for a computer system
GB202009874D0 (en) * 2020-06-29 2020-08-12 Microsoft Technology Licensing Llc Visual interface for a computer system
US11176755B1 (en) 2020-08-31 2021-11-16 Facebook Technologies, Llc Artificial reality augments and surfaces
US11227445B1 (en) 2020-08-31 2022-01-18 Facebook Technologies, Llc Artificial reality augments and surfaces
CN114327028A (zh) * 2020-09-30 2022-04-12 伊姆西Ip控股有限责任公司 管理虚拟视觉内容的方法、设备和计算机程序产品
US11113893B1 (en) * 2020-11-17 2021-09-07 Facebook Technologies, Llc Artificial reality environment with glints displayed by an extra reality device
US11409405B1 (en) 2020-12-22 2022-08-09 Facebook Technologies, Llc Augment orchestration in an artificial reality environment
USD1036475S1 (en) 2021-02-01 2024-07-23 Huawei Technologies Co., Ltd. Display screen or portion thereof with graphical user interface
USD1035674S1 (en) * 2021-05-11 2024-07-16 Spotify Ab Display screen with graphical user interface
US11762952B2 (en) 2021-06-28 2023-09-19 Meta Platforms Technologies, Llc Artificial reality application lifecycle
US12056268B2 (en) 2021-08-17 2024-08-06 Meta Platforms Technologies, Llc Platformization of mixed reality objects in virtual reality environments
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
US12093447B2 (en) 2022-01-13 2024-09-17 Meta Platforms Technologies, Llc Ephemeral artificial reality experiences
US12026527B2 (en) 2022-05-10 2024-07-02 Meta Platforms Technologies, Llc World-controlled and application-controlled augments in an artificial-reality environment
US20240094862A1 (en) * 2022-09-21 2024-03-21 Apple Inc. Devices, Methods, and Graphical User Interfaces for Displaying Shadow and Light Effects in Three-Dimensional Environments
CN118244934A (zh) * 2022-12-23 2024-06-25 北京小米移动软件有限公司 信息交互方法及装置、电子设备、存储介质
CN117891352B (zh) * 2024-03-14 2024-05-31 南京市文化投资控股集团有限责任公司 一种基于元宇宙的文旅内容推荐系统及方法

Family Cites Families (147)

* 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
US5745713A (en) * 1995-08-03 1998-04-28 Silicon Graphics, Inc. Movie-based facility for launching application programs or services
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
JP3148133B2 (ja) * 1996-10-30 2001-03-19 三菱電機株式会社 情報検索装置
US6091415A (en) 1997-05-02 2000-07-18 Inventec Corporation System and method for displaying multiple dialog boxes in a window display
US6882354B1 (en) 1997-09-17 2005-04-19 Sun Microsystems, Inc. Scroll bars with user feedback
US6918087B1 (en) 1999-12-16 2005-07-12 Autodesk, Inc. Visual clues to navigate three-dimensional space in a computer-implemented graphics system
US6636239B1 (en) 2000-02-24 2003-10-21 Sanavigator, Inc. Method of operating a graphical user interface to selectively enable and disable a datapath in a network
US6981229B1 (en) 2000-04-28 2005-12-27 Alias Systems Corp. System for dynamically mapping input device movement as a user's viewpoint changes
USD462076S1 (en) 2001-01-08 2002-08-27 Apple Computer, Inc. User interface for computer display
US7439975B2 (en) 2001-09-27 2008-10-21 International Business Machines Corporation Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
US20030079224A1 (en) 2001-10-22 2003-04-24 Anton Komar System and method to provide additional information associated with selectable display areas
US7202867B1 (en) 2003-01-31 2007-04-10 Microsoft Corporation Generation of glow effect
US20070182730A1 (en) * 2003-05-28 2007-08-09 Ken Mashitani Stereoscopic image display apparatus and program
US20070186191A1 (en) 2003-11-27 2007-08-09 Koninklijke Philips Electronics N.V. Method of visualizing a pointer during interaction
US7365738B2 (en) 2003-12-02 2008-04-29 International Business Machines Corporation Guides and indicators for eye movement monitoring systems
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US7489306B2 (en) 2004-12-22 2009-02-10 Microsoft Corporation Touch screen accuracy
US20060248447A1 (en) * 2005-05-02 2006-11-02 Nokia Corporation Indicating loading status of information from a computer network
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US7765491B1 (en) 2005-11-16 2010-07-27 Apple Inc. User interface widget for selecting a point or range
US7644373B2 (en) * 2006-01-23 2010-01-05 Microsoft Corporation User interface for viewing clusters of images
US8014760B2 (en) 2006-09-06 2011-09-06 Apple Inc. Missed telephone call management for a portable multifunction device
JP2009080345A (ja) 2007-09-26 2009-04-16 Seiko Epson Corp 画像表示装置およびその制御方法並びにプログラム
US20110202869A1 (en) 2008-02-28 2011-08-18 Valups Corporation Method for searching items
US8612888B2 (en) * 2008-04-01 2013-12-17 Litl, Llc Method and apparatus for managing digital media content
AU2009260486B2 (en) 2008-05-28 2014-08-21 Google Llc Motion-controlled views on mobile computing devices
US20100180186A1 (en) * 2008-09-16 2010-07-15 James Skinner System and Method for Storage and Distribution of Electronic Publications by Content Creators and Online Publishers with Referral-Based Commissions
US8490026B2 (en) 2008-10-27 2013-07-16 Microsoft Corporation Painting user controls
US20100131886A1 (en) 2008-11-26 2010-05-27 Honeywell International Inc. Display system and method for generating enhanced scrollbar
TWI397840B (zh) 2009-07-23 2013-06-01 Ind Tech Res Inst 基於軌跡之控制方法及裝置
US8970669B2 (en) 2009-09-30 2015-03-03 Rovi Guides, Inc. Systems and methods for generating a three-dimensional media guidance application
USD660313S1 (en) 2009-10-26 2012-05-22 Amazon Technologies, Inc. Display screen portion with user interface
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
JP2011210138A (ja) * 2010-03-30 2011-10-20 Sony Corp 電子機器、画像出力方法及びプログラム
JP5574849B2 (ja) 2010-06-28 2014-08-20 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
GB201015720D0 (en) 2010-09-20 2010-10-27 Gammons Richard Findability of data elements
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
US8823732B2 (en) 2010-12-17 2014-09-02 Pictometry International Corp. Systems and methods for processing images with edge detection and snap-to feature
EP4036630A1 (en) 2010-12-24 2022-08-03 Magic Leap, Inc. Image display 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
US8497838B2 (en) * 2011-02-16 2013-07-30 Microsoft Corporation Push actuation of interface controls
US20120218395A1 (en) 2011-02-25 2012-08-30 Microsoft Corporation User interface presentation and interactions
JP6316186B2 (ja) 2011-05-06 2018-04-25 マジック リープ, インコーポレイテッドMagic Leap,Inc. 広範囲同時遠隔ディジタル提示世界
US8676937B2 (en) 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
JP2015504616A (ja) 2011-09-26 2015-02-12 マイクロソフト コーポレーション 透過近眼式ディスプレイのセンサ入力に基づく映像表示修正
US10795448B2 (en) 2011-09-29 2020-10-06 Magic Leap, Inc. Tactile glove for human-computer interaction
US9047688B2 (en) * 2011-10-21 2015-06-02 Here Global B.V. Depth cursor and depth measurement in images
CN106484115B (zh) 2011-10-28 2019-04-19 奇跃公司 用于增强和虚拟现实的系统和方法
EP4036862A1 (en) 2011-11-23 2022-08-03 Magic Leap, Inc. Three dimensional virtual and augmented reality display system
US9324183B2 (en) 2011-11-29 2016-04-26 Apple Inc. Dynamic graphical interface shadows
CN102662569B (zh) 2012-03-26 2015-11-25 华为技术有限公司 选择光标操作方法、对象显示方法及终端设备
US20130263044A1 (en) * 2012-03-30 2013-10-03 Ebay Inc. Method and system to provide a scroll map
US9851563B2 (en) 2012-04-05 2017-12-26 Magic Leap, Inc. Wide-field of view (FOV) imaging devices with active foveation capability
US9477303B2 (en) 2012-04-09 2016-10-25 Intel Corporation System and method for combining three-dimensional tracking with a three-dimensional display for a user interface
KR20130134195A (ko) 2012-05-30 2013-12-10 삼성전자주식회사 오디오 스트림을 고속 시각화시키는 전자 장치 및 방법
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
CN104737061B (zh) 2012-06-11 2018-01-16 奇跃公司 使用波导反射器阵列投射器的多深度平面三维显示器
US9285973B1 (en) 2012-08-08 2016-03-15 John S Gable Systems and methods for detecting and displaying bias
KR20140020568A (ko) 2012-08-09 2014-02-19 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
EP2895910A4 (en) 2012-09-11 2016-04-20 Magic Leap Inc ERGONOMIC HEAD-MOUNTED DISPLAY DEVICE AND OPTICAL SYSTEM
USD712920S1 (en) 2012-09-28 2014-09-09 Nest Labs, Inc. Display screen or portion thereof with an animated graphical user interface
KR101755625B1 (ko) 2013-01-07 2017-07-07 삼성전자주식회사 디스플레이 장치, 그의 ui 표시 방법 및 컴퓨터 판독가능 기록매체
IL301489B2 (en) 2013-01-15 2024-08-01 Magic Leap Inc A system for scanning electromagnetic imaging radiation
CL2013001374S1 (es) 2013-02-22 2013-12-06 Samsung Electronics Co Ltd Dibujo industrial de configuracion de imagen ornamental aplicada a un visualizador de pantalla
CA2905427C (en) 2013-03-11 2022-07-12 Magic Leap, Inc. System and method for augmented and virtual reality
AU350005S (en) 2013-03-13 2013-07-31 Samsung Electronics Co Ltd Display screen for an electronic device
US10220303B1 (en) * 2013-03-15 2019-03-05 Harmonix Music Systems, Inc. Gesture-based music game
KR102458124B1 (ko) 2013-03-15 2022-10-21 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
JP6076795B2 (ja) 2013-03-27 2017-02-08 シャープ株式会社 画像提供装置、セットトップボックス、表示装置、表示システム、テレビジョン受像機および制御方法
US9245387B2 (en) 2013-04-12 2016-01-26 Microsoft Technology Licensing, Llc Holographic snap grid
US9874749B2 (en) 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9360672B2 (en) 2013-07-11 2016-06-07 Seiko Epson Corporation Head mounted display device and control method for head mounted display device
US10295338B2 (en) * 2013-07-12 2019-05-21 Magic Leap, Inc. Method and system for generating map data from an image
US9529513B2 (en) 2013-08-05 2016-12-27 Microsoft Technology Licensing, Llc Two-hand interaction with natural user interface
USD750661S1 (en) 2013-08-27 2016-03-01 Bsh Home Appliances Corporation Kitchen appliance with computer-generated graphical user interface
JP6492419B2 (ja) 2014-05-23 2019-04-03 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置を制御する方法、コンピュータープログラム、画像表示システム、および、情報処理装置
US20150062164A1 (en) 2013-09-05 2015-03-05 Seiko Epson Corporation Head mounted display, method of controlling head mounted display, computer program, image display system, and information processing apparatus
WO2015057994A1 (en) 2013-10-16 2015-04-23 Kaji Masamune Virtual or augmented reality headsets having adjustable interpupillary distance
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
KR102651578B1 (ko) 2013-11-27 2024-03-25 매직 립, 인코포레이티드 가상 및 증강 현실 시스템들 및 방법들
JP6393986B2 (ja) 2013-12-26 2018-09-26 セイコーエプソン株式会社 頭部装着型表示装置、画像表示システム、および、頭部装着型表示装置の制御方法
US20150205358A1 (en) 2014-01-20 2015-07-23 Philip Scott Lyren Electronic Device with Touchless User Interface
US9311718B2 (en) 2014-01-23 2016-04-12 Microsoft Technology Licensing, Llc Automated content scrolling
US9588343B2 (en) 2014-01-25 2017-03-07 Sony Interactive Entertainment America Llc Menu navigation in a head-mounted display
US9619105B1 (en) 2014-01-30 2017-04-11 Aquifi, Inc. Systems and methods for gesture based interaction with viewpoint dependent user interfaces
JP6525436B2 (ja) 2014-01-31 2019-06-05 マジック リープ, インコーポレイテッドMagic Leap,Inc. 多焦点表示システムおよび方法
JP6509883B2 (ja) 2014-01-31 2019-05-08 マジック リープ, インコーポレイテッドMagic Leap,Inc. 多焦点表示システムおよび方法
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9940006B2 (en) 2014-03-26 2018-04-10 Unanimous A. I., Inc. Intuitive interfaces for real-time collaborative intelligence
CN106537290B (zh) 2014-05-09 2019-08-27 谷歌有限责任公司 与真实和虚拟对象交互的基于生物力学的眼球信号的系统和方法
KR102193052B1 (ko) 2014-05-30 2020-12-18 매직 립, 인코포레이티드 가상 또는 증강 현실 장치로 가상 콘텐츠 디스플레이를 생성하기 위한 방법들 및 시스템들
TWD175825S (zh) 2014-06-13 2016-05-21 樂視致新電子科技(天津)有限公司; 顯示螢幕之圖形化使用者介面
KR102217561B1 (ko) 2014-06-23 2021-02-19 엘지전자 주식회사 헤드 마운티드 디스플레이 및 그것의 제어방법
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US9880631B2 (en) 2014-09-02 2018-01-30 Stmicroelectronics International N.V. Instrument interface for reducing effects of erratic motion
US20160132139A1 (en) 2014-11-11 2016-05-12 Qualcomm Incorporated System and Methods for Controlling a Cursor Based on Finger Pressure and Direction
KR102329124B1 (ko) * 2015-01-05 2021-11-19 삼성전자주식회사 영상 표시 장치 및 영상 표시 방법
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
US9658736B2 (en) 2015-06-04 2017-05-23 Microsoft Technology Licensing, Llc Contrast-oriented cursor presentation
JP5876607B1 (ja) 2015-06-12 2016-03-02 株式会社コロプラ フローティング・グラフィカルユーザインターフェース
US10102579B2 (en) * 2015-07-16 2018-10-16 Chicago Mercantile Exchange Inc. Facilitation of deterministic interaction with a dynamically changing transaction processing environment
USD771653S1 (en) 2015-07-29 2016-11-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
US9928029B2 (en) * 2015-09-08 2018-03-27 Apple Inc. Device, method, and graphical user interface for providing audiovisual feedback
US10521025B2 (en) 2015-10-20 2019-12-31 Magic Leap, Inc. Selecting virtual objects in a three-dimensional space
KR102450416B1 (ko) * 2015-11-04 2022-10-05 삼성전자주식회사 전자 장치, 웨어러블 장치 및 전자 장치에서 디스플레이되는 객체를 제어하는 방법
JP6518582B2 (ja) * 2015-12-21 2019-05-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および操作受付方法
AU2017244109B2 (en) 2016-03-31 2022-06-23 Magic Leap, Inc. Interactions with 3D virtual objects using poses and multiple-DOF controllers
USD797138S1 (en) 2016-04-28 2017-09-12 Wells Fargo Bank, N.A. Electronic display with animated graphical user interface
US10146334B2 (en) 2016-06-09 2018-12-04 Microsoft Technology Licensing, Llc Passive optical and inertial tracking in slim form-factor
US20180046352A1 (en) * 2016-08-09 2018-02-15 Matthew Johnson Virtual cursor movement
WO2018031621A1 (en) 2016-08-11 2018-02-15 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
USD797735S1 (en) 2016-08-22 2017-09-19 Magic Leap, Inc. Mixed reality head mounted display
USD806107S1 (en) 2016-09-16 2017-12-26 Salesforce.Com, Inc. Display screen or portion thereof with animated graphical user interface
USD862464S1 (en) 2016-11-16 2019-10-08 Magic Leap, Inc. Head mounted audio-visual display system
USD820307S1 (en) 2016-11-16 2018-06-12 Airbnb, Inc. Display screen with graphical user interface for a video pagination indicator
JP2018124651A (ja) * 2017-01-30 2018-08-09 セイコーエプソン株式会社 表示システム
US11269580B2 (en) * 2017-02-13 2022-03-08 Comcast Cable Communications, Llc Guided collaborative viewing of navigable image content
JP2018160735A (ja) 2017-03-22 2018-10-11 セイコーエプソン株式会社 透過型表示装置、表示制御方法、およびコンピュータープログラム
USD797767S1 (en) 2017-03-31 2017-09-19 Microsoft Corporation Display system with a virtual three-dimensional graphical user interface
US10768775B2 (en) 2017-04-06 2020-09-08 Microsoft Technology Licensing, Llc Text direction indicator
KR102432283B1 (ko) 2017-05-01 2022-08-11 매직 립, 인코포레이티드 콘텐츠를 공간 3d 환경에 매칭
US20180350145A1 (en) 2017-05-30 2018-12-06 Reston Restoration Augmented Reality Devices and Methods Thereof for Rendering Virtual Objects
USD908728S1 (en) 2017-08-22 2021-01-26 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD850464S1 (en) 2017-08-31 2019-06-04 Aristocrat Technologies Australia Pty Limited Display screen or portion thereof with transitional graphical user interface
US10930075B2 (en) 2017-10-16 2021-02-23 Microsoft Technology Licensing, Llc User interface discovery and interaction for three-dimensional virtual environments
USD858550S1 (en) 2017-10-27 2019-09-03 Waymo Llc Display screen portion with graphical user interface
USD897353S1 (en) 2017-10-27 2020-09-29 Waymo Llc Display screen portion with graphical user interface
USD858549S1 (en) 2017-10-27 2019-09-03 Waymo Llc Display screen portion with graphical user interface
USD829239S1 (en) 2017-12-08 2018-09-25 Technonet Co., Ltd. Video player display screen or portion thereof with graphical user interface
USD851113S1 (en) 2017-12-19 2019-06-11 HumanCode, Inc. Display screen with graphical user interface
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
WO2019236344A1 (en) 2018-06-07 2019-12-12 Magic Leap, Inc. Augmented reality scrollbar
USD879821S1 (en) 2018-08-02 2020-03-31 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD934873S1 (en) 2018-09-18 2021-11-02 Magic Leap, Inc. Mobile computing support system having an illumination region
USD934872S1 (en) 2018-09-18 2021-11-02 Magic Leap, Inc. Mobile computing support system having an illumination region
USD923028S1 (en) 2018-09-28 2021-06-22 Exfo, Inc. Display screen or portion thereof with graphical user interface
USD905730S1 (en) 2018-10-03 2020-12-22 Allstate Insurance Company Display screen with graphical user interface
USD934885S1 (en) 2019-07-31 2021-11-02 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD915424S1 (en) 2019-08-16 2021-04-06 Butterfly Network, Inc. Display panel or portion thereof with graphical user interface
USD936093S1 (en) 2019-10-10 2021-11-16 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD938978S1 (en) 2019-11-12 2021-12-21 X Development Llc Display panel portion with an animated icon

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464232B1 (ko) * 2022-03-22 2022-11-09 주식회사 위피엠 온라인 기반의 가상 전시회를 제공하는 가상현실 콘텐츠 관리시스템의 전시회 설계 및 관리 방법
WO2024025126A1 (ko) * 2022-07-26 2024-02-01 삼성전자 주식회사 웨어러블 전자 장치 및 그 동작 방법
WO2024172607A1 (ko) * 2023-02-17 2024-08-22 삼성전자 주식회사 아이콘을 표시하기 위한 전자 장치, 그 동작 방법과, 비 일시적 컴퓨터 판독 가능 저장 매체

Also Published As

Publication number Publication date
IL276047A (en) 2020-08-31
CA3087775A1 (en) 2019-08-08
EP4333427A3 (en) 2024-05-15
IL305114B1 (en) 2024-05-01
IL276047B1 (en) 2023-09-01
WO2019152286A3 (en) 2019-09-19
IL276047B2 (en) 2024-01-01
US20230266859A1 (en) 2023-08-24
EP3746870B1 (en) 2023-11-22
CN111819522A (zh) 2020-10-23
IL305114B2 (en) 2024-09-01
US11567627B2 (en) 2023-01-31
JP7526226B2 (ja) 2024-07-31
US20190235729A1 (en) 2019-08-01
WO2019152286A2 (en) 2019-08-08
EP3746870A4 (en) 2022-02-09
AU2019215346A1 (en) 2020-07-23
IL305114A (en) 2023-10-01
JP7123148B2 (ja) 2022-08-22
EP3746870A2 (en) 2020-12-09
JP2021512353A (ja) 2021-05-13
JP2024105363A (ja) 2024-08-06
EP4333427A2 (en) 2024-03-06
IL312455A (en) 2024-06-01
JP2022119960A (ja) 2022-08-17

Similar Documents

Publication Publication Date Title
JP7526226B2 (ja) 複合現実ディスプレイにおける仮想コンテンツのための掩蔽カーソル
US11520477B2 (en) Augmented reality scrollbar
US11741917B2 (en) Eclipse cursor for mixed reality displays
US11808944B2 (en) Automatic placement of a virtual object in a three-dimensional space
JP7186913B2 (ja) 姿勢および複数のdofコントローラを用いた3d仮想オブジェクトとの相互作用

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal