KR102208376B1 - Hmd 상의 하이브리드 월드/바디 락 hud - Google Patents

Hmd 상의 하이브리드 월드/바디 락 hud Download PDF

Info

Publication number
KR102208376B1
KR102208376B1 KR1020167001438A KR20167001438A KR102208376B1 KR 102208376 B1 KR102208376 B1 KR 102208376B1 KR 1020167001438 A KR1020167001438 A KR 1020167001438A KR 20167001438 A KR20167001438 A KR 20167001438A KR 102208376 B1 KR102208376 B1 KR 102208376B1
Authority
KR
South Korea
Prior art keywords
virtual object
user
display device
hud
view
Prior art date
Application number
KR1020167001438A
Other languages
English (en)
Other versions
KR20160019964A (ko
Inventor
톰 지. 살터
벤 지. 수그덴
다니엘 데프트포드
로버트 엘. 주니어. 크로코
브라이언 이. 킨
라우라 케이. 매시
알렉스 아벤-아서 킵맨
피터 토비아스 킨네브루
니콜라스 페라안 카무다
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160019964A publication Critical patent/KR20160019964A/ko
Application granted granted Critical
Publication of KR102208376B1 publication Critical patent/KR102208376B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

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)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

사용자가 가상 객체와 상호작용하기에 최적이며 가장 편안한 방식으로 가상 객체를 합성 현실 환경에 디스플레이하는 시스템 및 방법이 개시된다. 사용자가 가상 객체(헤드 업 디스플레이 또는 HUD일 수 있음)에 초점을 맞추지 않는 경우에, HUD는 상기 사용자에 대해 바디 락된 상태를 유지할 수 있다. 이와 같이, 사용자는 HUD에 방해를 받지 않고 헤드 마운트 디스플레이 장치에 의해 제시된 합성 현실 환경을 탐험하고 이와 상호작용할 수 있다. 사용자가 HUD를 보거나 상호작용 하기를 원하는 경우에, 사용자는 HUD를 응시할 수 있다. 이 시점에, HUD는 바디 락 가상 객체에서 월드 락 가상 객체로 변경될 수 있다. 이어서 사용자는 HUD의 다른 위치 및 시각에서 HUD를 보고 이와 상호작용할 수 있다.

Description

HMD 상의 하이브리드 월드/바디 락 HUD{HYBRID WORLD/BODY LOCKED HUD ON AN HMD}
합성 현실(mixed reality)은 가상 이미지가 현실의 물리적 공간과 합성되는 것을 가능하게 하는 기술이다. 시스루, 헤드 마운트 디스플레이(HMD: head mounted display) 장치가 사용자에 의해 착용되어 사용자의 시야(field of view)에 디스플레이되는 실제 객체 및 가상 객체의 합성 이미지를 볼 수 있다. 사용자는 추가로 예를 들면, 손, 머리 또는 음성 제스처를 수행하여 객체를 이동시키거나, 이들의 외관을 변경하거나 또는 단지 이들을 봄으로써 가상 객체와 상호작용할 수 있다.
HMD 상의 가상 헤드 업 디스플레이(virtual heads-up display)에 공통적으로 사용되는 정보(예를 들면, 시간, 날짜, 무선 신호 강도, 사용자 선택 아이콘 등)를 디스플레이하는 것이 바람직할 수 있다. 헤드 업 디스플레이(HUD)가 헤드 락되는(head locked) 경우에(즉, HUD가 머리와 동일한 속도로 움직임), 사용자는 디스플레이된 가상 객체의 동일한 측면을 보고, 이들은 이차원으로 나타날 수 있다. 또한, 시야 내의 공간을 사용하여 HUD 요소를 렌더링하는 것은 다른 가상 콘텐트를 렌더링하기 위한 귀한 공간을 낭비하게 된다. 반대로, HUD가 월드 락 요소(world locked element)이면, 사용자는 HUD를 남겨둔 곳을 기억해야 한다.
본 기술의 실시예는 헤드 마운트 디스플레이 장치 상의 하이브리드 월드/바디 락 가상 HUD를 제시하는 시스템 및 방법에 관한 것이다. HUD와 같은 가상 객체를 디스플레이하는 것에 추가하여, 헤드 마운트 디스플레이 장치는 헤드 마운트 디스플레이 장치가 삼차원 공간에서 자신의 위치 및 시야와 함께 가상 객체의 위치를 결정하는 것을 가능하게 하는 프로세싱 유닛 및 센서를 포함한다. 실시예에서, 사용자가 삼차원 공간 내를 돌아다니는 동안, HUD는 사용자에 대해 바디 락 상태로 유지될 수 있다. 예를 들어, HUD는 사용자의 머리 전방의 사전 지정된 위치에 그리고 수평 방향에서 위쪽으로 올라가 있을 수 있고, 이에 따라 사용자가 전방을 바라보거나 아래쪽을 보고 있는 경우에 HUD가 사용자의 시야 밖으로 나가 보이지 않을 수 있다. 이와 같이, 사용자는 HUD의 방해 없이 헤드 마운트 디스플레이 장치에 의해 제시되는 합성 현실 환경을 탐험하고 이와 상호작용할 수 있다. 이하에 설명하는 바와 같이, HUD는 추가 예에서 다른 사전 지정된 위치에 배치될 수 있다.
사용자가 HUD를 보거나 이와 상호작용 하기를 원하는 경우에, 사용자가 위쪽을 바라볼 수 있고, 이에 따라 HUD는 사전 지정된 시간 동안 사용자의 시야 내에 나타난다. 그 시점에, HUD는 바디 락 가상 객체로부터 월드 락 가상 객체로 변경될 수 있다. 그리고 나서 사용자는 HUD의 다른 위치 및 시각(perspective)에서 HUD를 보고 상호작용할 수 있다. HUD가 사전 지정된 시간 동안 사용자의 시야에 더 이상 존재하지 않도록 사용자가 아래쪽을 보거나 먼 쪽을 보는 경우에, HUD는 바디 락이 되도록 다시 전환될 수 있다.
일 예에서, 본 기술은 하나 이상의 사용자에게 합성 현실 경험을 제시하는 시스템에 관한 것이며, 이 시스템은 가상 객체를 디스플레이하는 디스플레이 유닛을 포함하는 디스플레이 장치와, 디스플레이 장치에 동작 가능하게 연결된 컴퓨팅 시스템을 포함하고, 컴퓨팅 시스템은 디스플레이 장치 상에 디스플레이하기 위한 가상 객체를 생성하고, 컴퓨팅 시스템은 가상 객체가 디스플레이 장치의 시야 내에 존재하지 않는다고 판정되는 경우에 디스플레이 장치에 대해 바디 락되도록 가상 객체를 배치하고, 컴퓨팅 시스템은 가상 객체가 디스플레이 장치의 시야 내에 존재하는 것으로 판정되는 경우에 가상 객체를 월드 락되도록 배치한다.
다른 예에서, 본 기술은 합성 현실 경험을 제시하는 시스템에 관한 것으로서, 이 시스템은 디스플레이 장치의 위치에 관한 데이터를 감지하는 제 1 세트의 센서와, 디스플레이 장치의 사용자에게 가상 객체를 디스플레이하는 디스플레이 유닛을 포함하는 디스플레이 장치와, 디스플레이 장치에 동작 가능하게 연결된 컴퓨팅 시스템을 포함하고, 컴퓨팅 시스템은 사용자의 위치에 관한 데이터를 감지하는 제 2 세트의 센서를 포함하고, 컴퓨팅 시스템은 디스플레이 장치 상에 디스플레이하기 위한 가상 객체를 생성하며, 컴퓨팅 장치는 사용자가 가상 객체에 초점을 맞추지 않는 경우에 상기 디스플레이 장치의 시야 밖의 바디 락 위치에 가상 객체를 유지시키고, 상기 컴퓨팅 시스템은 사용자가 가상 객체에 초점을 맞추는 경우에 디스플레이 장치의 시야 내의 월드 락 위치에 가상 객체를 유지시킨다.
다른 예에서, 본 기술은 하나 이상의 사용자에게 합성 현실을 제시하는 방법에 관한 것으로서, 이 방법은 (a) 사용자가 가상 객체에 초점을 맞추지 않는 경우에 사용자의 바디의 일부에 대해 고정된(fixed) 위치에 가상 객체의 위치를 잠금(locking)하는 단계와, (b) 사용자가 가상 객체에 초점을 맞추는 경우에 삼차원 공간 내의 고정된 위치에 가상 객체의 위치를 잠금하는 단계를 포함한다.
본 요약은 상세한 설명에서 이하에 추가 설명되는 개념의 선택사항을 간략한 형태로 소개하기 위해 제공된다. 본 요약은 청구 대상의 주요 특징이나 핵심 특징을 식별시키기 위한 것이 아니며 청구 대상의 범주를 결정하는 것을 보조하는 데 사용하려는 것도 아니다.
도 1은 합성 현실 환경을 하나 이상의 사용자에게 제시하기 위한 시스템의 일 실시예의 예시적인 컴포넌트를 나타내는 도면이다.
도 2는 헤드 마운트 디스플레이 유닛의 일 실시예를 나타내내는 투시도이다.
도 3은 헤드 마운트 디스플레이 유닛의 일 실시예의 일부를 나타내는 측면도이다.
도 4는 헤드 마운트 디스플레이 유닛의 컴포넌트의 일 실시예를 나타내는 블록도이다.
도 5는 헤드 마운트 디스플레이 유닛과 연관된 프로세싱 유닛의 컴포넌트의 일 실시예를 나타내는 블록도이다.
도 6은 헤드 마운트 디스플레이 유닛과 함께 사용되는 허브 컴퓨팅 시스템의 컴포넌트의 일 실시예를 나타내는 블록도이다.
도 7은 본 명세서에 기술되는 허브 컴퓨팅 시스템을 구현하는 데 사용될 수 있는 컴퓨팅 시스템의 일 실시예를 나타내는 블록도이다.
도 8은 사용자가 가상 객체에 초점을 맞추지 않는 경우에 사용자에 대해 바디 락된 가상 객체를 나타내는 투시도이다.
도 9는 사용자가 가상 객체에 초점을 맞추지 않는 경우에 사용자에 대해 바디 락되고 사용자와 함께 움직이는 가상 객체를 나타내는 상면도이다.
도 10은 사용자가 가상 객체에 초점을 맞추는 경우에 삼차원 공간에서 월드 락된 가상 객체를 나타내는 투시도이다.
도 11은 사용자가 가상 객체에 초점을 맞추는 경우에 삼차원 공간에서 월드 락된 가상 객체 주위를 이동하는 사용자를 나타내는 투시도이다.
도 12은 허브 컴퓨팅 시스템, 하나 이상의 프로세싱 유닛 및 본 시스템의 하나 이상의 헤드 마운트 디스플레이 유닛의 동작 및 협업을 나타내는 흐름도이다.
도 13 및 14는 도 12의 흐름도에 도시된 다양한 단계의 예에 대한 보다 상세한 흐름도이다.
본 기술의 실시예는 도 1 내지 14를 참조하여 지금부터 설명될 것이며, 도 1 내지 14는 포괄적으로 혼합 현실 환경에 관한 것이며, 여기서 HUD는 보기되지 않는 경우에 바디 락되고 시야에서 벗어나며, 보기 및/또는 상호작용되는 경우에 월드 락된다. 혼합 현실 환경을 구현하는 시스템은 허브 컴퓨팅 시스템과 통신하는 모바일 디스플레이 장치를 포함할 수 있다. 모바일 디스플레이 장치는 헤드 마운트 디스플레이 장치(또는 다른 적합한 장비)에 연결된 모바일 프로세싱 유닛을 포함할 수 있다.
헤드 마운트 디스플레이 장치는 디스플레이 요소를 포함할 수 있다. 디스플레이 요소는 사용자의 시야(FOV:field of view) 내의 현실 객체를 디스플레이 요소를 통해 볼 수 있도록 어느 정도 투명하다. 또한, 디스플레이 요소는 가상 이미지를 사용자의 FOV에 투영하는 기능을 제공하여 가상 이미지가 또한 현실 객체와 함께 나타날 수 있다. 시스템은 사용자가 보고 있는 곳을 자동으로 추적하여 시스템이 사용자의 FOV 내에 가상 이미지를 삽입할 곳을 판정할 수 있다. 시스템이 가상 이미지를 투영할 곳을 인지하게 되면, 이미지가 디스플레이 요소를 사용하여 투영된다.
실시예에서, 허브 컴퓨팅 시스템 및 프로세싱 유닛 중 하나 이상이 협업하여 방안이나 다른 환경의 모든 사용자, 현실 객체 및 가상의 삼차원 객체의 x, y, z 데카르트 위치를 포함하는 환경 모델을 구축할 수 있다. 환경 내의 사용자에 의해 착용된 각각 헤드 마운트 디스플레이 장치의 위치는 그 환경의 모델에 대해 그리고 서로에 대해 계측될 수 있다. 이는 시스템으로 하여금 그 환경 내의 사용자의 시선(line of sight) 및 FOV 각각을 판정하도록 한다. 따라서, 가상 이미지가 각각의 사용자에게 디스플레이될 수 있으나, 시스템은 각각의 사용자의 시각에서 가상 이미지의 디스플레이를 판정하고, 환경 내의 다른 객체로부터의 또는 이에 의한 시차 및 어떠한 가림 현상(occlusions)에 관해 가상 이미지를 조절한다. 환경의 모델(본 명세서에서는 장면 지도(scene map)라 함) 및 사용자의 FOV 및 환경 내 객체의 모든 추적동작(tracking)은 함께 개별적으로 동작하는 허브 및 모바일 프로세싱 유닛에 의해 생성될 수 있다.
사용자는 사용자의 FOV 내에 나타나는 HUD 또는 다른 가상 객체와 상호작용하도록 선택할 수 있다. 본 명세서에 사용된 것과 같이, "상호작용(interact)"이라는 용어는 사용자와 가상 객체의 물리적 상호작용 및 언어적 상호작용 모두를 포괄한다. 물리적 상호작용은 합성 현실 시스템에 의해 시스템이 사전 지정된 액션을 수행하라는 사용자 요청으로서 인식되며 자신의 손가락, 손, 머리 및/또는 다른 신체 부위(들)를 사용하여 사용자가 수행하는 사전 지정된 제스처를 포함한다. 그러한 사전 지정된 제스처는 가상 객체를 가리키는 것, 쥐는 것 및 누르는 것을 포함할 수 있으나 이에 한정되지는 않는다.
또한, 사용자는 자신의 눈을 이용하여 가상 객체와 물리적으로 상호작용할 수 있다. 일부의 경우에, 눈 응시 데이터(eye gaze data)는 사용자가 FOV에서 초점을 맞추는 곳을 식별하고, 이에 따라 사용자가 특정한 가상 객체를 보고 있는 것을 식별한다. 따라서, 지속적인 눈 응시 또는 깜박임이나 연속적인 깜박임(blink sequence)은 물리적 상호작용일 수 있고 이에 의해 사용자는 하나 이상의 가상 객체를 선택한다.
본 명세서에 사용된 것과 같이, 사용자가 단지 가상 객체를 응시하고 있는 것(예, HUD내의 콘텐트를 보는 것)은 사용자와 가상 객체의 물리적인 상호작용의 추가 예이다.
사용자는 선택적으로 또는 추가로, 언어 제스처(예를 들면, 시스템이 사전 지정된 액션을 수행하라는 사용자 요청으로 합성 현실 시스템에 의해 인식되는 구어(spoked word) 또는 구문)를 사용하여 가상 객체와 상호작용할 수 있다. 언어 제스처는 물리적 제스처와 함께 합성 현실 환경에서 하나 이상의 가상 객체와 상호작용하는 데 사용될 수 있다.
사용자가 합성 현실 환경에서 돌아다니는 동안, 가상 객체는 월드 락 상태를 유지할 수 있다. 일 예는 사용자의 시야 내의 HUD이다. 월드 락 가상 객체는 합성 현실 환경에서 고정(anchored)되고 정지된 상태를 유지하여 사용자가 월드 락 가상 객체 주위를 이동할 수 있고 다른 시각 및 거리에서 이들을 볼 수 있다.
본 기술에 따르면, 사용자가 HUD를 포함하는 위치를 보는 경우에, HUD는 월드 락될 수 있다. 반면에, 사용자가 HUD를 보지 않는 경우에, HUD는 사용자에 대해 바디 락되도록 스위칭될 수 있다. 즉, 사용자의 신체에 대해 사전 지정된 위치에 유지되도록 HUD(또는 다른 바디 락된 가상 객체)의 위치가 변경될 수 있다.
실시예에서, 하이브리드 월드/바디 락 HUD(또한, 본 명세서에서 "하이브리드 HUD"라고 함)는 다양한 유용한 정보(예를 들면, 헤드 마운트 디스플레이 장치의 시간, 날짜 및/또는 신호 강도를 포함함)를 포함할 수 있다. 그러나, 하이브리드 HUD는 임의의 다양한 다른 콘텐트(예를 들면, 텍스트, 픽쳐 및 사진과 같은 정적 콘텐트 또는 비디오와 같은 동적 콘텐트를 포함함)를 포함할 수 있다.
도 1은 사용자의 FOV 내의 실제 콘텐트와 가상 이미지(21)를 융합함으로써 합성 현실 경험을 제공하는 시스템(10)을 나타낸다. 도 1은 헤드 마운트 디스플레이 장치(2)를 착용하고 있는 단일한 사용자를 나타내나, 하나 이상의 사용자가 합성 현실 환경에 존재할 수 있고 자신의 시각에서 동일한 가상 객체를 볼 수 있다는 것을 이해할 것이다. 도 2 및 3에서 알 수 있는 것과 같이, 헤드 마운트 디스플레이 장치(2)는 집적(integrated) 프로세싱 유닛(4)을 포함할 수 있다. 다른 실시예에서, 프로세싱 유닛(4)은 헤드 마운트 디스플레이 장치(2)와 구분될 수 있고, 유선 또는 무선 통신을 통해 헤드 마운트 디스플레이 장치(2)와 통신할 수 있다.
사용자가 디스플레이를 통해 볼 수 있고 이로써 사용자의 전방의 공간에 대한 실제적인 직접 보기(actual direct view)를 가지도록 헤드 마운트 디스플레이 장치(2)(일 실시예에서 이는 안경 모양임)가 사용자의 머리에 착용된다. "실제적인 직접 보기"라는 용어의 용법은 객체의 생성된 이미지 표현을 보는 것이 라기 보다는 사람의 눈을 통해 직접적으로 현실 객체를 보는 기능을 나타낸다. 예를 들어, 방안에서 안경을 통해 보는 것은 사용자로 하여금 방의 실제적인 직접 보기를 갖게 하나, 텔레비전 상에서의 방의 비디오를 보는 것은 방의 실제적인 직접 보기가 아니다. 헤드 마운트 디스플레이 장치(2)에 대한 세부 사항은 이하에 제공된다.
프로세싱 유닛(4)은 헤드 마운트 디스플레이 장치(2)를 동작시키는 데 사용되는 컴퓨팅 파워의 많은 부분을 포함할 수 있다. 실시예에서, 프로세싱 유닛(4)은 무선으로(예를 들면, 와이파이, 블루투스, 적외선 또는 다른 무선 통신 수단) 하나 이상의 허브 컴퓨팅 시스템(12)과 통신한다. 이하에 설명하는 것과 같이, 허브 컴퓨팅 시스템(12)은 프로세싱 유닛(4)으로부터 원격으로 제공될 수 있고, 프로세싱 유닛(4)은 LAN이나 WAN과 같은 무선 네트워크를 통해 통신한다. 추가 실시예에서는, 헤드 마운트 디스플레이 장치(2) 및 프로세싱 유닛(4)을 사용하여 모바일 합성 현실 경험을 제공하도록 허브 컴퓨팅 시스템(12)이 생략될 수 있다.
허브 컴퓨팅 시스템(12)은 컴퓨터, 게이밍 시스템 또는 콘솔 등일 수 있다. 일 실시예에 따르면, 허브 컴퓨팅 시스템(12)은 하드웨어 컴포넌트 및/또는 소프트웨어 컴포넌트를 포함할 수 있고 이에 따라 허브 컴퓨팅 시스템(12)은 게이밍 애플리케이션, 비-게이밍 애플리케이션 등과 같은 애플리케이션을 실행하는 데 사용될 수 있다. 일 실시예에서, 허브 컴퓨팅 시스템(12)은 표준화된 프로세서, 특화된 프로세서(specialized processor), 마이크로 프로세서 등과 같은 프로세서를 포함할 수 있고, 이러한 프로세서는 본 명세서에 기술된 프로세스를 수행하기 위해 프로세서 판독 가능한 저장 장치에 저장된 명령어를 실행할 수 있다.
허브 컴퓨팅 시스템(12)은 자신의 FOV 내의 장면(scene)의 일부로부터 이미지 데이터를 캡처하는 캡처 장치(20)를 더 포함한다. 본 명세서에 사용된 바와 같이, 장면은 사용자가 돌아다니는 환경이고, 이러한 환경은 캡처 장치(20)의 FOV 및/또는 각각의 헤드 마운트 디스플레이 장치(2)의 FOV 내에서 캡처된다. 도 1은 단일 캡처 장치(20)를 나타내나, 추가 실시예에서는 복수의 캡처 장치가 존재할 수 있고, 이들은 협업하여 복수의 캡처 장치(20)의 복합 FOV 내의 장면에서 이미지 데이터를 일괄적으로 캡처한다. 캡처 장치(20)는 하나 이상의 카메라를 포함할 수 있으며, 하나 이상의 카메라는 사용자(18) 및 주위 공간(surrounding space)을 시각적으로 모니터하고 이에 따라 사용자에 의해 수행되는 제스처 및/또는 움직임과 함께 주위 공간의 구조가 캡처되고, 분석되며, 추적되어 애플리케이션 내에서 하나 이상의 컨트롤 또는 액션을 수행하거나, 아바타 또는 온 스크린 캐릭터를 애니메이팅할 수 있다.
허브 컴퓨팅 시스템(12)은 텔레비전, 모니터, 고 해상도 텔레비전(HDTV) 등과 같은 시청각 장치(16)(게임 또는 애플리케이션 시각자료(visuals)를 제공할 수 있음)에 연결될 수 있다. 일 예에서, 시청각 장치(16)는 내부 스피커를 포함한다. 다른 실시예에서, 시청각 장치(16) 및 허브 컴퓨팅 시스템(12)은 외부 스피커(22)에 연결될 수 있다.
허브 컴퓨팅 시스템(12)은 헤드 마운트 디스플레이 장치(2) 및 프로세싱 유닛(4)과 함께 합성 현실 경험을 제공할 수 있고, 여기서 하나 이상의 가상 이미지(예, 도 1의 가상 이미지(21))가 장면에서 현실 객체와 합성될 수 있다. 도 1은 사용자의 FOV 내에 보여지는 현실 객체로서 식물(23) 또는 사용자의 손(23)의 예를 나타낸다.
도 2 및 3은 헤드 마운트 디스플레이 장치(2)의 투시도 및 측면도를 나타낸다. 도 3은 안경 다리(102) 및 코걸이(104)를 가진 장치의 일부를 포함하는 헤드 마운트 디스플레이 장치(2)의 우측면을 나타낸다. 코걸이(104)는 이하에 설명된 것과 같이, 음향을 레코딩하고 오디오 데이터를 프로세싱 유닛(4)에 송신하는 마이크로폰(110)이다. 디스플레이 장치(2)의 전방에는 비디오 및 정지 이미지를 캡처할 수 있는 룸 대면(room-facing) 비디오 카메라(112)가 존재한다. 이하에 설명하는 것과 같이 이러한 이미지는 프로세싱 유닛(4)에 송신된다.
헤드 마운트 디스플레이 장치(2)의 일부가 디스플레이(하나 이상의 렌즈를 포함함)를 둘러쌀 것이다. 헤드 마운트 디스플레이 장치(2)의 컴포넌트를 나타내기 위해, 디스플레이를 둘러싸는 프레임이 일부가 도시되지 않을 것이다. 디스플레이는 광 가이드(light-guide) 광학 요소(115), 불투명 필터(114), 시스루 렌즈(116) 및 시스루 렌즈(118)를 포함한다. 일 실시예에서, 불투명 필터(114)는 뒤에서 시스루 렌즈(116)와 함께 정렬되고, 광 가이드 광학 요소(115)는 뒤에서 불투명 필터(114)와 함께 정렬되고, 시스루 렌즈(118)는 뒤에서 광 가이드 광학 요소(115)와 함께 정렬된다. 시스루 렌즈(116 및 118)는 안경에서 사용되는 표준 렌즈이고 어떠한 처방(처방이 없는 것을 포함함)에 따른 것도 가능하다. 광 가이드 광학 요소(115)는 인공 광을 눈으로 보낸다. 불투명 필터(114) 및 광 가이드 광학 요소(115)에 대한 보다 상세한 내용은 미국 특허 출원 공보 제2012/0127284호(제목 "서라운드 비디오를 제공하는 헤드 마운트 디스플레이 장치(Head-Mounted Display Device Which Provides Surround Video)", 2012년 5월 24일 공개)에 제공된다.
제어 회로(136)는 헤드 마운트 디스플레이 장치(2)의 다른 컴포넌트를 지원하는 다양한 전자기술(electronics)을 제공한다. 제어 회로(136)에 대한 보다 상세한 내용은 도 4에 관하여 이하에서 제공된다. 이어폰(130), 관성 측정 유닛(132) 및 온도 센서(138)가 안경 다리(102) 내에 또는 안경 다리에 장착된다. 도 4에 도시된 일 실시예에서, 관성 측정 유닛(132, IMU)은 3축 자기계(132A), 3축 자이로(gyro, 132B) 및 3축 가속도계(132C)와 같은 관성 센서를 포함한다. 관성 측정 유닛(132)은 헤드 마운트 디스플레이 장치(2)의 방향 및 급격한 가속(상하이동(pitch), 회전(roll) 및 편향(yaw))을 감지한다. IMU(132)는 자기계(132A), 자이로(132B) 및 가속도계(132C)에 추가하여 또는 이를 대신하여 다른 관성 센서를 포함할 수 있다.
마이크로디스플레이(120)는 이미지를 렌즈(122)를 통해 투영한다. 마이크로디스플레이(120)를 구현하는 데 사용될 수 있는 여러 다른 이미지 생성 기법들이 존재한다. 예를 들어, 마이크로디스플레이(120)는 투과형 투영 기법(transmissive projection technology)을 사용하여 구현될 수 있고, 이 기법에서 광원은 (백색 광에 의해 후방 조명되는) 광학적으로 활성인 물질에 의해 변조된다(modulated). 이러한 기법은 보통 강력한 백라이트 및 높은 광학 에너지 밀도를 가진 LCD 타입 디스플레이를 사용하여 구현된다. 마이크로디스플레이(120)는 또한 외부 광이 광학적으로 활성인 물질에 의해 반사되고 변조되는 반사 기법(reflective technology)을 사용하여 구현될 수 있다. 조명은 기법에 따라 백색 광원(white source) 또는 RGB 광원에 의해 전방 조명된다. DLP(Digital light processing), LCOS(liquid crystal on silicon) 및 Mirasol® display technology (퀄컴 사(Qualcomm, Inc.)에서 입수할 수 있음)는 반사 기법의 모든 예이며, 반사 기법은 대부분의 에너지가 변조된 구조체(modulated structure)에서 멀리 반사되기 때문에 효율적이며, 현 시스템에 사용될 수 있다. 또한, 마이크로디스플레이(120)는 광이 디스플레이에 의해 생성되는 방사 기법(emissive technology)을 사용하여 구현될 수 있다. 예를 들어, PicoPTM 디스플레이 엔진(마이크로비전 사(Microvision, Inc)에서 입수할 수 있음)은 마이크로 미러 스티어링(micro mirror steering)을 이용하여 레이저 신호를 투과 요소(transmissive element)로서의 기능을 하는 매우 작은 스크린으로 방출하거나 눈에 직접 비춘다(예, 레이저).
광 가이드 광학 요소(115)는 광을 마이크로디스플레이(120)로부터 헤드 마운트 디스플레이 장치(2)를 착용하고 있는 사용자의 눈(140)으로 전달한다. 광 가이드 광학 요소(115)는 또한 광이 헤드 마운트 디스플레이 장치(2)의 전방에서 광 가이드 광학 요소(115)를 통해 눈(140)으로 전달되도록 하여(화살표 142로 나타냄), 사용자가 마이크로디스플레이(120)로부터 가상 이미지를 수신하는 것에 더하여 헤드 마운트 디스플레이 장치(2)의 전방에 있는 공간에 대한 실제적인 직접 보기(direct view)를 할 수 있게 한다. 따라서, 광 가이드 광학 요소(115)의 측벽(walls)은 시스루이다. 광 가이드 광학 요소(115)는 제 1 반사면(124)(예, 미러 또는 다른 표면)을 포함한다. 마이크로디스플레이(120)로부터의 광이 렌즈(122)를 통과하여 반사면(124)에 입사하게 된다. 반사면(124)은 마이크로디스플레이(120)로부터의 입사 광을 반사하고 이에 따라 광이 내부 반사에 의해 광 가이드 광학 요소(115)를 포함하는 평평한 기판 내부에 포획된다. 기판의 표면에서의 수 차례의 반사 후에, 포획된 광파가 선택적 반사면(126)의 어레이에 도달한다. 도면이 복잡해지는 것(over-crowinding)을 방지하기 위해 5개의 표면 중 하나가 126으로 라벨링된다는 점에 주의 한다. 반사면(126)은 기판에서 나와 그러한 반사면으로 입사한 광파를 사용자의 눈(140)에 연결한다. 광 가이드 광학 요소에 대한 보다 상세한 내용은 미국 특허 공보 제2008/0285140호(제목 "기판-가이드 광학 장치(Substrate-Guided Optical Devices)", 2008년 11월 20일 공개)에서 찾아볼 수 있다.
또한, 헤드 마운트 디스플레이 장치(2)는 사용자의 눈의 위치를 추적하는 시스템을 포함한다. 이하에 설명될 것과 같이, 시스템은 사용자의 위치 및 방향을 추적하여 시스템이 사용자의 FOV를 결정할 수 있게 할 것이다. 그러나, 사람은 자신의 전방에 있는 모든 것을 인지하지는 않을 것이다. 대신에, 사용자의 눈은 환경의 서브세트를 향할 것이다. 따라서, 일 실시예에서, 시스템은 사용자의 FOV의 측정을 정밀하게 하기 위해 사용자의 눈의 위치를 추적하는 기법을 포함할 것이다. 예를 들어, 헤드 마운트 디스플레이 장치(2)는 눈 추적 어셈블리(134, 도 3)(이는 눈 추적 조명 장치(134A) 및 눈 추적 카메라(134B, 도 4)를 가짐)를 포함한다. 일 실시예에서, 눈 추적 조명 장치(134A)는 하나 이상의 적외선(IR) 방출기(눈을 향해 IR 광을 방출함)를 포함한다. 눈 추적 카메라(134B)는 반사된 IR 광을 감지하는 하나 이상의 카메라를 포함한다. 눈동자의 위치가 알려진 이미징 기법(각막의 반사를 검출함)에 의해 식별될 수 있다. 예를 들어, 미국 특허 제7,401,920호(제목 "헤드 마운트 눈 추적 및 디스플레이 시스템(Head Mounted Eye Tracking and Display System)", 2008년 7월 22일 공개)를 참조한다. 그러한 기법은 추적 카메라에 대한 눈의 중심의 위치를 찾아낼 수 있다. 일반적으로, 눈 추적은 눈의 이미지를 획득하는 것 및 컴퓨터 시각 기법(computer vision techniques)을 사용하여 안와 내의 눈동자의 위치를 판정하는 것을 포함한다. 일 실시예에서, 눈은 보통 일제히 움직이기 때문에 한 눈의 위치를 추적하는 것으로 충분하다. 그러나, 각각의 눈을 별개로 추적하는 것도 가능하다.
일 실시예에서, 시스템은 사각형 배열 내에 네 개의 IR LED 및 네 개의 IR 광 검출기를 사용하며 이에 따라 헤드 마운트 디스플레이 장치(2)의 렌즈의 각각의 코너에 하나의 IR LED 및 IR 광 검출기가 존재한다. LED로부터의 광이 눈에서 반사된다. 네 개의 IR 광 검출기 각각에서 검출된 적외선 광의 양은 눈동자 방향을 결정한다. 즉, 눈의 흰자위 대 검은자위의 양이 특정한 광 검출기에 대해 눈에서 반사된 광의 양을 결정할 것이다. 따라서, 광 검출기는 눈의 흰자위 또는 검은자위의 양의 측정치를 가질 것이다. 네 개의 샘플로부터, 시스템은 눈의 방향을 판정할 수 있다.
또 다른 선택 예는 전술한 네 개의 적외선 LED를 사용하는 것이나, 헤드 마운트 디스플레이 장치(2)의 렌즈의 측면에 하나의 적외선 CCD를 가진다. CCD는 소형 미러 및/또는 렌즈(어안)를 사용하며 이에 따라 CCD는 안경 프레임으로부터 보이는 눈(visible eye)의 75%까지 이미징할 수 있다. CCD는 이어서 전술한 바와 같이 이미지를 감지하고 컴퓨터 시각(computer vision)을 사용하여 그 이미지를 찾아낸다. 따라서, 도 3은 하나의 IR 송신기를 가진 하나의 어셈블리를 나타내고 있으나, 도 3의 구조는 네 개의 IR 송신기 및/또는 네 개의 IR 센서를 가지도록 조정될 수 있다. 또한, 4 개보다 많거나 적은 IR 송신기 및/또는 IR 센서가 사용될 수 있다.
눈의 방향을 추적하는 다른 실시예는 전하 추적(charge tracking)에 기반한다. 이러한 개념은 망막이 측정 가능한 양의 전하를 가지고 있고 각막은 음의 전하를 가지고 있다는 관찰에 기반한 것이다. 센서는 사용자의 귀(이어폰(130)에 가까움)에 장착되어 전위(electrical potential)를 검출하고 눈은 계속 움직이면서 실시간으로 눈이 하고 있는 것을 효과적으로 판독한다. 또한, 눈 추적에 관한 다른 실시예가 사용될 수 있다.
도 3은 헤드 마운트 디스플레이 장치(2)의 절반을 도시한다. 완전한 헤드 마운트 디스플레이 장치는 또 다른 세트의 시스루 렌즈, 또 다른 불투명 필터, 또 다른 광 가이드 광학 요소, 또 다른 마이크로디스플레이(120), 또 다른 렌즈(122), 룸 대면 카메라, 눈 추적 어셈블리, 마이크로 디스플레이, 이어폰 및 온도 센서를 포함할 것이다.
도 4는 헤드 마운트 디스플레이 장치(2)의 다양한 컴포넌트를 나타내는 블록도이다. 도 5는 프로세싱 유닛(4)의 다양한 컴포넌트를 설명하는 블록도이다. 헤드 마운트 디스플레이 장치(2)(이 장치의 컴포넌트는 도 4에 나타냄)는 하나 이상의 가상 이미지 어셈블리를 현실의 사용자 보기와 융합함으로써 사용자에게 합성 현실 경험을 제공하는 데 사용된다. 또한, 도 4의 헤드 마운트 디스플레이 장치 컴포넌트는 다양한 상태를 추적하는 많은 센서를 포함한다. 헤드 마운트 디스플레이 장치(2)는 프로세싱 유닛(4)으로부터 가상 이미지에 관한 지시(instructions)를 수신할 수 있고, 센서 정보를 프로세싱 유닛(4)에 다시 제공할 것이다. 프로세싱 유닛(4)(이 유닛의 컴포넌트는 도 4에 나타냄)은 헤드 마운트 디스플레이 장치(2)로부터의 센서 정보를 수신할 것이고 정보 및 데이터를 허브 컴퓨팅 시스템(12, 도 1)과 교환할 것이다. 정보 및 데이터의 교환에 기초하여, 프로세싱 유닛(4)은 어디서 언제 가상 이미지를 사용자에게 제공할지를 판정하고 이에 따라 지시를 도 4의 헤드 마운트 디스플레이 장치로 송신한다.
도 4의 컴포넌트 중 일부(룸 대면 카메라(112), 눈 추적 카메라(134B), 마이크로디스플레이(120), 불투명 필터(114), 눈 추적 조명(134A), 이어폰(130) 및 온도 센서(138))가 음영으로 도시되어 이러한 장치들 각각에 대해 두 개(헤드 마운트 디스플레이 장치(2)의 좌측에 하나 그리고 우측에 하나씩)가 존재한다는 것을 나타낸다. 도 4는 전원 관리 회로(202)와 통신하는 제어 회로(200)를 나타낸다. 제어 회로(200)는 프로세서(210), 메모리(214)(예, D-RAM)와 통신 연결된 메모리 컨트롤러(212), 카메라 인터페이스(216), 카메라 버퍼(218), 디스플레이 드라이버(220), 디스플레이 포매터(222), 타이밍 생성기(226), 디스플레이 출력 인터페이스(228) 및 디스플레이 입력 인터페이스(230)를 포함한다.
일 실시예에서, 제어 회로(200)의 컴포넌트 모두는 전용 라인이나 하나 이상의 버스를 통해 서로 통신 연결된다. 다른 실시예에서, 제어 회로(200)의 컴포넌트 각각은 프로세서(210)와 통신 연결된다. 카메라 인터페이스(216)는 두 개의 룸 대면 카메라(112)에 대한 인터페이스를 제공하고 룸 대면 카메라로부터 수신된 이미지를 카메라 버퍼(218)에 저장한다. 디스플레이 드라이버(220)는 마이크로디스플레이(120)를 구동할 것이다. 디스플레이 포매터(222)는 정보(마이크로디스플레이(120) 상에 디스플레이되는 가상 이미지에 관한 것)를 불투명 필터(114)를 제어하는 불투명도 제어 회로(224)에 제공한다. 타이밍 생성기(226)는 타이밍 데이터를 시스템에 제공하는 데 사용된다. 디스플레이 출력 인터페이스(228)는 룸 대면 카메라(112)로부터의 이미지를 프로세싱 유닛(4)에 제공하는 버퍼이다. 디스플레이 입력 인터페이스(230)는 마이크로디스플레이(120)에 디스플레이될 가상 이미지와 같은 이미지를 수신하는 버퍼이다. 디스플레이 출력 인터페이스(228) 및 디스플레이 입력 인터페이스(230)는 프로세싱 유닛(4)에 대한 인터페이스인 밴드 인터페이스(232, band interface)와 통신한다.
전원 관리 회로(202)는 전압 조정기(234), 눈 추적 조명 드라이버(236), 오디오 DAC 및 증폭기(238), 마이크로폰 전치증폭기 및 오디오 ADC(240), 온도 센서 인터페이스(242) 및 클록 생성기(244)를 포함한다. 전압 조정기(234)는 밴드 인터페이스(232)를 통해 프로세싱 유닛(4)으로부터 전력을 수신하고 그 전력을 헤드 마운트 디스플레이 장치(2)의 다른 컴포넌트에 제공한다. 전술한 바와 같이, 눈 추적 조명 드라이버(236)는 눈 추적 조명(134A)에 IR 광원을 제공한다. 오디오 DAC 및 증폭기(238)는 오디오 정보를 이어폰(130)에 출력한다. 마이크로폰 전치증폭기 및 오디오 ADC(240)는 마이크로폰(110)를 위한 인터페이스를 제공한다. 온도 센서 인터페이스(242)는 온도 센서(138)를 위한 인터페이스이다. 전원 관리 회로(202)는 또한 전력을 제공하고 3축 자기계(132A), 3축 자이로(132B) 및 3축 가속도계(132C)로부터 다시 데이터를 수신한다.
도 5는 프로세싱 유닛(4)의 다양한 컴포넌트를 나타내는 블록도이다. 도 5는 전원 관리 회로(306)와 통신 연결된 제어 회로(304)를 도시한다. 제어 회로(304)는 중앙 처리 장치(CPU)(320), 그래픽 처리 장치(GPU)(322), 캐시(324), RAM(326), 메모리(330)(예, D-RAM)와 통신 연결된 메모리 컨트롤러(328), 플래시 메모리(334)(또는 다른 유형의 비 휘발성 저장장치)와 통신 연결된 플래시 메모리 컨트롤러(328), 밴드 인터페이스(302) 및 밴드 인터페이스(232)를 통해 헤드 마운트 디스플레이 장치(2)와 통신 연결된 디스플레이 출력 버퍼(336), 밴드 인터페이스(302) 및 밴드 인터페이스(232)를 통해 헤드 마운트 디스플레이 장치(2)와 통신 연결된 디스플레이 인 버퍼(338), 마이크로폰을 연결하기 위해 외부 마이크로폰 커넥터(342)와 통신 연결된 마이크로폰 인터페이스(340), 무선 통신 장치(346)에 연결하기 위한 PCI 익스프레스 인터페이스 및 USB 포트(들)(348)를 포함한다. 일 실시예에서, 무선 통신 장치(346)는 와이 파이 가용 통신 장치, 블루투스 통신 장치, 적외선 통신 장치 등을 포함할 수 있다. USB 포트는 데이터나 소프트웨어를 프로세싱 유닛(4)에 로딩하고 또한 프로세싱 유닛(4)을 충전하기 위해 프로세싱 유닛(4)을 허브 컴퓨팅 시스템(12)에 도킹하는 데 사용될 수 있다. 일 실시예에서, CPU(320) 및 GPU(322)는 가상 삼차원 객체가 사용자의 보기 내에 삽입되는 위치(where), 시점(when) 및 방법(how)을 결정하기 위한 주 작업장치(workhorses)이다. 더 자세한 사항은 이하에 설명된다.
전력 관리 회로(306)는 클록 생성기(360), 아날로그-디지털 컨버터(362), 배터리 충전기(364), 전압 조정기(366), 헤드 마운트 디스플레이 전원(376) 및 온도 센서(374)와 통신 연결된 온도 센서 인터페이스(372)(프로세싱 유닛(4)의 손목 밴드(wrist band) 상에 배치되는 것이 가능함)를 포함한다. 아날로그-디지털 컨버터(362)는 배터리 전압 및 온도 센서를 모니터하고 배터리 충전 기능을 제어하는 데 사용된다. 전압 조정기(366)는 전력을 시스템에 공급하기 위한 배터리(368)와 통신 연결된다. 배터리 충전기(364)는 충전 잭(370)으로부터 전력을 수신할 시에 배터리(368)를 (전압 조정기(366)를 통해) 충전하는 데 사용된다. HMD 전원(376)은 전력을 헤드 마운트 디스플레이 장치(2)에 공급한다.
도 6은 캡처 장치(20)를 가진 허브 컴퓨팅 시스템(12)의 일 실시예를 나타낸다. 일 실시예에 따르면, 캡처 장치(20)는 예를 들면, TOF(time-of-flight), 구조 광, 스테레오 이미지 등을 포함하는 임의의 적합한 기법을 통해 깊이 정보(깊이 값(detpth values)을 포함할 수 있는 깊이 이미지를 포함함)를 이용하여 비디오를 캡처하도록 구성될 수 있다. 일 실시예에 따르면, 캡처 장치(20)는 깊이 정보를 "Z 레이어" 또는 자신의 시선을 따라 깊이 카메라로부터 연장되는 Z 축에 수직일 수 있는 레이어에 구조화(organize)할 수 있다.
도 6에 도시된 것과 같이, 캡처 장치(20)는 카메라 컴포넌트(423)를 포함할 수 있다. 일 실시예에 따르면, 카메라 컴포넌트(423)는 장면의 깊이 이미지를 캡처할 수 있는 깊이 카메라일 수 있고 또는 이를 포함할 수 있다. 깊이 이미지는 캡처된 장면의 이차원(2-D) 픽셀 영역을 포함할 수 있으며, 이차원 픽셀 영역 내의 각각의 픽셀은 깊이 값(가령, 캡처된 장면 내 객체의 카메라로부터의 거리(예를 들면, 센티미터, 밀리미터 등의 단위))을 나타낼 수 있다.
카메라 컴포넌트(423)는 적외선(IR) 광 컴포넌트(425), 삼차원(3-D) 카메라(426) 및 RGB(시각 이미지) 카메라(428)(장면의 깊이 이미지를 캡처하는 데 사용될 수 있음)를 포함할 수 있다. 예를 들어, TOF 분석에서, 캡처 장치(20)의 적외선 광 컴포넌트(425)는 적외선 광을 장면으로 방출할 수 있고, 이후에 센서(일부 실시예에서, 도시되지 않은 센서를 포함함)를 사용하여 (예를 들면, 삼차원 카메라(426) 및/또는 RGB 카메라9428)을 사용하여) 장면 내의 하나 이상의 타깃 및 객체의 표면으로부터 후방 산란된 광을 검출할 수 있다.
일 실시예에서, 캡처 장치(20)는 이미지 카메라 컴포넌트(423)와 통신 연결될 수 있는 프로세서(432)를 추가로 포함한다. 프로세서(432)는 명령어를 실행할 수 있는 표준화된 프로세서, 특화된 프로세서, 마이크로프로세서 등을 포함할 수 있고, 명령어는 예를 들면, 깊이 이미지를 수신하고, 적합한 데이터 포맷(예, 프레임)을 생성하며, 데이터를 허브 컴퓨팅 시스템(12)에 송신하기 위한 명령어를 포함한다.
캡처 장치(20)는 프로세서(432)에 의해 실행되는 명령어, 삼차원 카메라 및/또는 RGB 카메라에 의해 캡처되는 이미지나 이미지 프레임 또는 임의의 다른 적합한 정보, 이미지 등을 저장할 수 있는 메모리(434)를 더 포함할 수 있다. 일 실시예에 따르면, 메모리(434)는 RAM(random access memory), ROM (read only memory), 캐시, 플래시 메모리, 하드 디스크 및 임의의 다른 적합한 저장 컴포넌트를 포함할 수 있다. 도 6에 도시된 것과 같이, 일 실시예에서, 메모리(434)는 이미지 카메라 컴포넌트(423) 및 프로세서(432)와 통신 연결된 별개의 컴포넌트일 수 있다. 다른 실시예에 따르면, 메모리(434)는 프로세서(432) 및/또는 이미지 카메라 컴포넌트(423)에 통합될 수 있다.
캡처 장치(20)는 통신 링크(436)를 통해 허브 컴퓨팅 시스템(12)과 통신 연결된다. 통신 링크(436)는 예를 들면, USB 연결부, 파이어와이어 연결부, 이더넷 케이블 연결부 등을 포함하는 유선 연결부 및/또는 무선 802.11b, g, a, 또는n 연결부와 같은 무선 연결부일 수 있다. 일 실시예에 따르면, 허브 컴퓨팅 시스템(12)은 예를 들어 통신 링크(436)를 통해 언제 장면을 캡처할 지를 판정하는 데 사용될 수 있는 캡처 장치(20)에 클록을 제공할 수 있다. 또한, 캡처 장치(20)는 예를 들면, 삼차원 카메라(426) 및/또는 RGB 카메라(428)에 의해 캡처된 깊이 정보 및 시각(예, RGB) 이미지를 통신 링크(436)를 통해 허브 컴퓨팅 시스템(12)에 제공한다. 일 실시예에서, 깊이 이미지 및 시각 이미지는 초당 30 프레임의 레이트로 송신되나, 다른 프레임 레이트가 사용될 수 있다. 허브 컴퓨팅 시스템(12)은 이어서 모델, 깊이 정보 및 캡처된 이미지를 생성 및 사용하여 예를 들면, 게임이나 워드 프로세서와 같은 애플리케이션을 제어하고 및/또는 아바타나 온 스크린 캐릭터를 애니메이팅할 수 있다.
헤드 마운트 디스플레이 장치(2) 및 프로세싱 유닛(4)과 함께 전술한 허브 컴퓨팅 시스템(12)이 가상의 삼차원 객체를 하나 이상의 사용자의 FOV에 삽입할 수 있고 이에 따라 가상의 삼차원 객체가 현실의 보기를 증강 및/또는 대체한다. 일 실시예에서, 헤드 마운트 디스플레이 장치(2), 프로세싱 유닛(4) 및 허브 컴퓨팅 시스템(12)은 함께 동작하는 데 이는 각각의 장치가 가상의 삼차원 객체를 어디에, 언제 그리고 어떻게 삽입할 지를 판정할 데이터를 획득하는 데 사용되는 센서의 서브 세트를 포함하기 때문이다. 일 실시예에서, 가상의 삼차원 객체를 어디에, 언제 그리고 어떻게 삽입할 지를 판정하기 위한 연산은 서로 협력하여 동작하는 허브 컴퓨팅 시스템(12) 및 프로세싱 유닛(4)에 의해 수행될 수 있다. 그러나 추가 실시예에서, 모든 연산이 단독으로 동작하는 허브 컴퓨팅 시스템(12) 또는 단독으로 동작하는 프로세싱 유닛(들)(4)에 의해 수행될 수 있다. 다른 실시예에서, 이러한 연산의 적어도 일부가 헤드 마운트 디스플레이 장치(2)에 의해 수행될 수 있다.
일 실시예에서, 허브 컴퓨팅 시스템(12) 및 프로세싱 유닛(4)이 함께 동작하여 하나 이상의 사용자가 있는 환경의 장면 지도 또는 모델을 생성하고 그 환경 내의 다양한 이동 객체를 추적한다. 또한, 허브 컴퓨팅 시스템(12) 및/또는 프로세싱 유닛(4)은 헤드 마운트 디스플레이 장치(2)의 위치 및 방향을 추적함으로써 사용자에 의해 착용된 헤드 마운트 디스플레이 장치(2)의 FOV를 추적한다. 헤드 마운트 디스플레이 장치(2)에 의해 획득된 센서 정보가 프로세싱 유닛(4)에 송신된다. 일 예에서, 그 정보는 장면 모델을 업데이트하는 허브 컴퓨팅 시스템(12)에 송신되고 다시 프로세싱 유닛에 송신된다. 프로세싱 유닛(4)은 이어서 헤드 마운트 디스플레이 장치(2)로부터 수신한 추가적인 센서 정보를 사용하여 사용자의 FOV를 개선하고 가상의 삼차원 객체를 어디에, 언제 그리고 어떻게 삽입할 지에 대한 지시를 헤드 마운트 디스플레이 장치(2)에 제공한다. 이하에 설명된 폐쇄 루프 피드백 시스템(closed loop feedback system) 에서, 캡처 장치(20) 및 헤드 마운트 디스플레이 장치(들)(2) 내의 카메라로부터의 센서 정보에 기초하여, 장면 모델 및 추적 정보가 허브 컴퓨팅 시스템(12) 및 프로세싱 유닛(4) 사이에 주기적으로 업데이트될 수 있다.
도 7은 허브 컴퓨팅 시스템(12)을 구현하는 데 사용될 수 있는 컴퓨팅 시스템의 실시예를 나타낸다. 도 7에 도시된 것과 같이, 멀티미디어 콘솔(500)은 레벨 1 캐시(502), 레벨 2 캐시(504) 및 플래시 ROM(Read Only Memory) (506)을 가진 CPU(501)를 포함한다. 레벨 1 캐시(502) 및 레벨 2 캐시(504)는 데이터를 일시적으로 저장하여 메모리 액세스 사이클의 수를 줄이고, 프로세싱 속도 및 처리량을 향상시킨다. 하나 이상의 코어를 가지는 CPU(501)가 제공될 수 있고, 따라서 추가적인 레벨 1 및 레벨 2 캐시(502 및 504)가 제공될 수 있다. 플래시 ROM(506)은 멀티미디어 콘솔(500)의 전원이 켜지는(power on) 경우에 부트 프로세스의 초기 단계 중에 로딩되는 실행가능한 코드를 저장할 수 있다.
GPU(graphics processing unit, 508) 및 비디오 인코더/비디오 코텍(coder/decoder)(514)은 고속 및 고해상도 그래픽 프로세싱을 위한 비디오 프로세싱 파이프라인을 형성한다. 데이터가 그래픽 프로세싱 유닛(508)으로부터 비디오 인코더/비디오 코덱(514)으로 버스를 거쳐 운반된다. 비디오 프로세싱 파이프라인은 데이터를 텔레비전이나 다른 디스플레이로 송신하기 위한 A/V(audio/video) 포트(540)에 출력한다. 메모리 컨트롤러(510)는 다양한 유형의 메모리(512)(제한이 아닌 예를 들면, RAM(Random Access Memory))로의 프로세서 액세스를 용이하게 하기 위해 GPU(508)에 연결된다.
멀티미디어 콘솔(500)은 I/O 컨트롤러(520), 시스템 관리 컨트롤러(522), 오디오 프로세싱 유닛(523), 네트워크 인터페이스(524), 제 1 USB 호스트 컨트롤러(526), 제 2 USB 컨트롤러(528) 및 전방 패널 I/O 서브 어셈블리(530)(이는 바람직하게는 모듈(518) 상에 구현됨)를 포함한다. USB 컨트롤러(526 및 528)는 병렬 컨트롤러(542(1)-542(2)), 무선 어댑터(548) 및 외부 메모리 장치(546)(예, 플래시 메모리, 외부 CD/DVD ROM 드라이브, 착탈식 미디어 등)를 위한 호스트의 역할을 한다. 네트워크 인터페이스(524) 및/또는 무선 어댑터(548)는 네트워크(예, 인터넷, 홈 네트워크 등)로의 액세스를 제공하며 매우 다양한 유선 또는 무선 어댑터(이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀 등) 중 어느 하나일 수 있다.
시스템 메모리(543)는 부트 프로세스 중에 로딩된 애플리케이션 데이터를 저장하기 위해 제공된다. 미디어 드라이브(544)가 제공되고 미디어 드라이브는 DVD/CD 드라이브, 블루레이(Blu-Ray) 드라이브, 하드 디스크 드라이브 및 다른 착탈식 미디어 드라이브 등을 포함할 수 있다. 미디어 드라이브(544)는 멀티미디어 콘솔(500)의 내부 또는 외부에 있을 수 있다. 애플리케이션 데이터는 멀티미디어 콘솔(500)에 의한 실행, 재생 등을 위해 미디어 드라이브(544)를 통해 액세스될 수 있다. 미디어 드라이브(544)는 직렬 ATA 버스와 같은 버스 또는 다른 고속 연결부(예, IEEE 1394)를 거쳐 I/O 컨트롤러(520)에 연결된다.
시스템 관리 컨트롤러(522)는 멀티미디어 콘솔(500)의 이용가능성을 보증하는 것(assuring availability)에 관한 다양한 서비스 기능을 제공한다. 오디오 프로세싱 유닛(523) 및 오디오 코덱(532)은 하이 파이 및 스테레오 프로세싱과 함께 대응하는 오디오 프로세싱 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 거쳐 오디오 프로세싱 유닛(523) 및 오디오 코덱(532) 간에 운반된다. 오디오 프로세싱 파이프라인은 데이터를 오디오 성능을 가진 외부 오디오 사용자 또는 장치에 의한 재생을 위해 A/V 포트(540)에 출력한다.
전방 패널 I/O 서브어셈블리(530)는 전원 버튼(550) 및 인출 버튼(552)의 기능을 지원하고, 이와 함께 멀티미디어 콘솔(500)의 외부 표면에 노출된 임의의 LED(light emitting diodes) 또는 다른 표시기를 지원한다. 시스템 전원 공급 모듈(536)은 전원을 멀티미디어 콘솔(500)의 컴포넌트에 제공한다. 팬(538)은 멀티미디어 콘솔(500) 내의 회로를 냉각한다.
CPU(501), GPU(508), 메모리 컨트롤러(510) 및 멀티미디어 콘솔(500) 내의 다양한 다른 컴포넌트가 하나 이상의 버스(직렬 및 병렬 버스, 메모리 버스, 주변회로 버스 및 다양한 버스 아키텍처 중 임의의 것을 이용하는 프로세서 또는 로컬 버스를 포함함)를 통해 상호 연결된다. 예로서, 그러한 아키텍처는 PCI (Peripheral Component Interconnects) 버스, PCI-익스프레스 버스 등을 포함할 수 있다.
멀티미디어 콘솔(500)의 전원이 켜지는 경우에, 애플리케이션 데이터가 시스템 메모리(543)에서 메모리(512) 및/또는 캐시(502, 504)로 로딩될 수 있고, CPU(501)에서 실행될 수 있다. 애플리케이션은 멀티미디어 콘솔(500)에서 이용가능한 상이한 미디어 유형에 대해 네비게이팅하는 경우에 일관된 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제시할 수 있다. 동작 시에, 미디어 드라이브(544) 내에 포함된 애플리케이션 및/또는 다른 미디어가 미디어 드라이브(544)로부터 론칭되거나 플레이되어 멀티미디어 콘솔(500)에 추가 기능을 제공할 수 있다.
멀티미디어 콘솔(500)은 시스템을 단지 텔레비전이나 다른 디스플레이에 연결함으로써 단독 시스템으로서 동작할 수 있다. 이러한 단독 모드에서, 멀티미디어 콘솔(500)은 하나 이상의 사용자로 하여금 시스템과 상호작용하거나, 영화를 시청하거나, 음악을 듣는 것을 가능하게 한다. 그러나, 네트워크 인터페이스(524) 또는 무선 어댑터(548)을 통해 광대역 연결이 이용가능해지면, 멀티미디어 콘솔(500)은 더 넓은 네트워크 커뮤니티의 참가자로서 추가로 동작될 수 있다. 또한, 멀티미디어 콘솔(500)은 무선 어댑터(548)를 거쳐 프로세싱 유닛(4)과 통신할 수 있다.
선택적인 입력 장치(예, 컨트롤러(542(1) 및 542(2))가 게이밍 애플리케이션 및 시스템 애플리케이션에 의해 공유된다. 입력 장치는 예비 자원(reserved resource)이 아니며, 시스템 애플리케이션과 게이밍 애플리케이션 사이에 전환되어 각각이 장치의 포커스(focus)를 가질 것이다. 애플리케이션 관리자는 게이밍 애플리케이션의 지식을 알지 못하여도 입력 스트림의 스위칭을 제어하는 것이 바람직하며, 드라이버는 포커스 스위치에 관한 상태 정보를 보관하는 것이 바람직하다. 캡처 장치(20)는 USB 컨트롤러(526) 또는 다른 인터페이스를 통해 콘솔(500)에 대한 추가 입력 장치를 정의할 수 있다. 다른 실시예에서, 허브 컴퓨팅 시스템(12)은 다른 하드웨어 아키텍처를 사용하여 구현될 수 있다. 하나의 하드웨어 아키텍처가 요구되는 것은 아니다.
도 1에 도시된 헤드 마운트 디스플레이 장치(2) 및 프로세싱 유닛(4)(때로는 집합적으로 모바일 디스플레이 장치라 함)이 하나의 허브 컴퓨팅 시스템(12)(또한 허브(12)라고도 함)과 통신 연결된다. 추가 실시예에서, 허브(12)와 통신 연결된 하나나 둘 이상의 모바일 디스플레이 장치가 존재할 수 있다. 전술한 바와 같이 모바일 디스플레이 장치 각각은 무선 통신을 사용하여 허브와 통신할 수 있다. 그러한 실시예에서, 모바일 디스플레이 장치에 유용한 정보의 상당수가 허브에서 연산되고 저장되며 각각의 모바일 디스플레이 장치로 송신될 것임을 이해할 수 있다. 예를 들어, 허브는 환경 모델을 생성할 것이고 그 모델을 허브와 통신 연결된 모든 모바일 디스플레이 장치에 제공할 것이다. 또한, 허브는 모바일 디스플레이 장치의 위치 및 방향 및 방안에서 이동하는 객체의 위치 및 방향을 추적할 수 있고 그 정보를 모바일 디스플레이 장치 각각에 전달할 수 있다.
다른 실시예에서, 시스템은 복수의 허브(12)를 포함할 있고, 각각의 허브는 하나 이상의 모바일 디스플레이 장치를 포함한다. 허브는 직접 또는 인터넷(또는 다른 네트워크)을 통해 서로 통신할 수 있다. 그러한 실시예가 플레이크(Flaks) 등의 미국 특허 출원 제12/905,952호(제목 "가상 콘텐트의 실제 콘텐트에의 합성(Fusing Virtual Content Into Real Content), 2010년 10월 15일 출원)에 개시되어 있다.
또한, 추가 실시예에서, 허브(12)가 전적으로 생략될 수 있다. 그러한 실시예의 이점은 본 시스템의 합성 현실 경험이 완전히 이동식이 될 수 있고, 실내 또는 실외 세팅에서 사용될 수 있다는 것이다. 그와 같은 실시예에서, 다음의 설명에서 허브(12)에 의해 수행되는 모든 기능은 교대로 프로세싱 유닛(4) 중 하나에 의해, 함께 동작하는 프로세싱 유닛(4)의 일부에 의해, 또는 함께 동작하는 프로세싱 유닛(4) 모두에 의해 실행될 수 있다. 그러한 실시예에서, 각각의 모바일 디스플레이 장치(2)가 시스템(10)의 모든 기능을 수행하고, 시스템의 기능은 상태 데이터, 장면 지도, 장면 지도의 각각의 사용자 보기, 모든 텍스처 및 렌더링 정보, 비디오 및 오디오 데이터 및 본 명세서에 기술된 동작을 수행하는 다른 정보를 생성하고 업데이트하는 것을 포함한다. 도 9의 흐름도에 관하여 이하에 기술된 실시예는 허브(12)를 포함한다. 그러나, 그러한 각각의 실시예에서, 프로세싱 유닛(4) 중 하나 이상이 허브(12)의 모든 설명된 기능을 교대로 수행할 수 있다.
헤드 마운트 디스플레이 장치(2)를 통해 사용자에게 디스플레이될 수 있는 가상 객체의 일 예는 전술한 하이브리드 HUD이다. 도 10에 도시된 HUD(460)와 같은 하이브리드 HUD는 임의의 다양한 콘텐트(가령 예를 들면, 날짜, 시간 및/또는 헤드 마운트 디스플레이 장치(2)에 의해 수신된 신호의 신호 강도)를 포함하는 가상 디스플레이 슬레이트(slate)일 수 있다. 하이브리드 HUD(460)는 콘텐트를 사용자에게 제시할 수 있는 사용자에게 디스플레이되는 가상 스크린일 수 있다. (전술한) 불투명 필터(114)가 (사용자의 관점(view point)에서) 하이브리드 HUD(460) 뒤의 광 및 현실 객체를 가리는 데 사용되고, 이에 따라 하이브리드 HUD(460)는 콘텐트를 보기 위한 가상 스크린으로 나타난다.
HUD(460) 상에 디스플레이되는 콘텐트는 텍스트 및 그래픽과 같은 정적 콘텐트 또는 비디오와 같은 동적 콘텐트를 포함하는 광범위한 콘텐트일 수 있다. HUD(460)은 추가로 컴퓨터 모니터의 기능을 할 수 있고, 따라서 콘텐트는 이메일, 웹 페이지, 게임 또는 모니터 상에 제시되는 임의의 다른 콘텐트일 수 있다. 허브(12)에서 동작하는 소프트웨어 애플리케이션은 HUD(460)를 생성할 수 있고, 또한 HUD(460)에 디스플레이될 콘텐트를 결정할 수 있다. 이하에 설명되는 것과 같이, HUD(460)는 HUD(460)와 연관된 사용자에 대해 사전 지정된 위치에 배치될 수 있다. 실시예에서, HUD(460)의 위치 및 사이즈와 함께 HUD(460)에 디스플레이되는 콘텐트의 유형을 사용자가 제스처 등을 통해 구성할 수 있다. HUD(460)가 가상 디스플레이 슬레이트에 나타나는 콘텐트로서 위에 설명되었으나, HUD(460)는 배경 가상 슬레이트 없이 단순히 사용자에 대해 사전 지정된 위치에 디스플레이될 수도 있다.
배경기술 부분에 언급한 것과 같이, 전적인 바디 락 HUD 또는 전적인 월드 락 HUD와 연관된 문제점이 존재한다. 본 기법의 여러 측면에 따르면, 하이브리드 HUD(460)는 사용자가 보고 있지 않은 경우에는 바디 락되고 사용자와 함께 움직일 수 있으나, 사용자가 보고 있는 경우에는 월드 락 상태로 전환될 수 있다. 이제 도 8 내지 11을 참조하면, 사용자가 보고 있지 않는 경우에, 하이브리드 HUD(460)는 사용자의 머리에 대해 사전 지정된 위치에 배치될 수 있다. 도 8 및 9에 도시된 바와 같이, 실시예에서 이러한 사전 지정된 위치는 사용자의 앞에 수평면에서 위로 올라간 위치에 있을 수 있다. 예를 들어, HUD(460)는 사용자의 머리가 놓인 수평면에서 20도 내지 40도 위에 사용자의 전방으로 2 내지 5 피트 거리에 있을 수 있다. 이러한 값은 예시이며, 추가적인 실시예에서 사용자 전방의 거리 및/또는 수평면 위로의 각도는 이러한 범위를 벗어날 수 있다.
전술한 바와 같이, HUD(460)를 보고 있지 않은 경우에, HUD(460)는 바디 락 상태로 유지될 수 있고 사용자에게 보이지 않을 수 있다(도 8 및 9에서 파선으로 나타냄). 따라서, 사용자가 x, y 및/또는 z 축을 따라 병진(translating) 하는 합성 현실 환경에서 움직이는 동안, HUD(460)가 유사한 병진을 경험할 수 있다. 이 예에서, y축은 사용자를 머리에서 아래로 향하는 축이고, z축은 사용자의 얼굴로부터 뻗어나오며 y축에 수직이고, x축은 사용자의 얼굴에 평행하며 y 및 z 축 모두에 수직일 수 있다.
실시예에서, HUD(460)는 사용자의 머리에 바디 락될 수 있고 이에 따라 사용자가 자신의 머리를 돌리는 경우에 HUD(460)가 유사한 수평 회전을 하여 사용자의 전방에 수평면에서 위쪽에 유지된다. 따라서, 도 9의 예에서, 사용자는 y축 주위로 화살표 A의 방향을 따라 똑바로 앞을 보다가 오른쪽을 보면서 갔다. 이러한 경우에, HUD(460)는 사용자부터 동일한 거리를 유지하면서, 화살표 B의 방향을 따라 유사한 회전을 할 수 있다.
실시예에서, 사용자가 자신의 머리를 도 8 및 9의 y축에 대해 회전하는 경우에, HUD(460)는 사용자의 머리와 함께 움직임으로써 바디 락 상태를 유지할 수 있다. 실시예에서, HUD(460)가 x축에 대한 사용자 머리의 움직임에 둔감할 수 있으나, HUD(460)는 말 그대로, 바디 락 상태를 유지할 수 있다. 따라서, 실시예에서, 사용자가 자신의 머리를 위아래로 끄덕이는 경우에 HUD(460)는 수평면 위쪽의 자신의 위치에서 정지상태로 있을 수 있다. 이는 사용자로 하여금 얼굴을 들어HUD(460)를 보게 한다.
HUD(460)가 z축에 대한 사용자 머리 움직임에 둔감할 수 있으나, HUD(460)는 또한 말 그대로, 바디 락 상태를 유지할 수 있다. 따라서, 실시예에서 사용자가 자신의 머리를 좌우로 기울이는 경우에 HUD(460)는 수평면 위쪽의 자신의 위치에서 정지 상태를 유지할 수 있다. 이는 사용자로 하여금 사용자의 머리가 기울어지는 경우에도 수평면에서 회전하지 않고 HUD(460)를 보게 한다.
따라서, 사용자가 합성 현실 환경에서 움직이는 동안, HUD(460)가 사용자에 대해 바디 락 상태를 유지할 수 있어, 사용자가 자신의 머리를 좌우로 돌리면 사용자와 함께 병진(translating)하고 사용자와 함께 회전할 수 있다. 전술한 것과 같이, HUD(460)는 사용자가 자신의 머리를 위아래로 끄덕이는 것 또는 자신의 머리를 좌우로 기울이는 것에 둔감할 수 있다. 그러나, 추가 실시예에서, HUD(460)는 임의의 2개의 축에 대한 회전에 대해 바디 락 상태를 유지할 수 있으나, 제 3의 축에 대한 회전에 대해서는 둔감할 수 있다.
따라서, 예를 들면 도 8에서, HUD(460)는 사용자가 자신의 머리를 좌측 또는 우측으로 회전하는 경우에 y축에 대해 회전할 수 있고, 사용자가 자신의 머리를 좌측 또는 우측으로 기울이는 경우에 z축에 대해 회전할 수 있다. HUD(460)는 x축에 대한 머리 회전에 대해서는 정지 상태로 유지될 수 있어 사용자가 얼굴을 들어 HUD(460)를 볼 수 있다.
전술한 바와 같이, HUD(460)는 수평면에서 위쪽이 아닌 위치에 배치될 수 있다. 하나의 추가 예에서, HUD(460)는 수평면에 배치될 수 있으나 똑바로 앞을 보는 경우에 사용자의 FOV의 좌측 또는 우측으로 치우칠 수 있다. 그러한 실시예에서, 사용자가 자신의 머리를 위아래로 끄덕이면 HUD(460)는 x 축에 대해 회전할 수 있고, 사용자가 자신의 머리를 좌우로 기울이면 HUD(460)는 z 축에 대해 회전할 수 있다(또는 정지 상태로 유지). HUD(460)는 y축에 대한 머리 회전에 대해서는 정지 상태를 유지할 수 있어 사용자가 얼굴을 들어 HUD(460)를 볼 수 있게 한다. HUD(460)는 사용자가 똑바로 앞을 바라보는 경우에 보이지 않도록 다른 위치에 배치될 수 있다.
추가 실시예에서, 사용자가 x, y 및 z의 세 개의 축 모두에 대해 자신의 머리를 회전하는 경우에, HUD(460)는 사용자와 함께 움직이도록 바디 락될 수 있다는 점이 고려된다. 그러한 실시예에서, 사용자가 어느 곳을 보는가에 상관 없이, HUD(460)가 사용자에게 바디 락되는 경우에 헤드 마운트 디스플레이 장치(2)의 FOV의 밖에 남아있을 수 있다. 그러나, 그러한 실시예에서, 위치는 HUD(460)에 대한 액세스 위치로서 사전 정의될 수 있다. 예를 들어, 사전 정의된 위치는 사용자의 전방에 수평면 위에 존재할 수 있으나, 추가 실시예에서는 다른 사전 정의된 위치에 있을 수 있다. 사용자가 사전 정의된 액세스 위치를 보는 경우에, HUD(460)는 그 사전 정의된 액세스 위치(또는 일부 다른 사전 정의된 위치)로 이동할 수 있고 바디 락에서 월드 락으로 변경될 수 있다.
이제 도 10 및 11을 참조하면, 예를 들면 사전 지정된 시간 동안 HUD(460)가 배치된 위치를 바라봄으로써 사용자가 HUD(460)에 초점을 맞출 때까지 HUD(460)는 전술한 바와 같이 바디 락을 유지할 수 있다. 사용자가 HUD(460)에 액세스하려는 의도 없이 HUD(460)의 방향을 보는 경우에 사전 지정된 시간(이는 예를 들면 1 내지 3 초일 수 있음)은 시스템이 HUD(460)를 디스플레이하지 않게 한다. 그러나, 추가 실시예에서는 사전 지정된 시간이 생략될 수 있어 사용자가 HUD(460)의 방향을 보면 언제라도 HUD(460)가 디스플레이된다는 점을 이해할 것이다. 추가 실시예에서, 사전 지정된 시간이 설정되는 경우에, 그 사전 지정된 시간은 1초 보다 짧거나 3초 보다 길 수 있다.
사용자가 사전 지정된 비율의 시간(rate of time)(사전 지정된 시간을 갖는 실시예에서) 동안 HUD(460)의 방향을 바라보면, HUD(460)는 바디 락에서 월드 락으로 전환될 수 있다. 월드 락이 되면, 도 10에 도시된 HUD(460)의 콘텐트를 볼 수 있는 것에 더하여, 사용자가 예를 들면 도 11에 도시된 HUD(460) 주위를 돌아다닐 수 있다. 사용자가 HUD(460)에서 멀리 또는 가까이로 움직일 수 있고 또는 사용자가 다른 시각에서 HUD(460)를 바라보기 위해 HUD(460) 주위를 돌아다닐 수 있다. 이러한 방식으로, HUD(460)의 삼차원 속성(nature) 및 현실의 일루전(illusion)이 용이해진다.
또한, 사용자의FOV 내에 HUD(460)가 있는 경우에 사용자는 HUD(460)와 상호작용할 수 있다. 사용자는 예를 들면, 새로운 콘텐트를 추가하거나 현재 콘텐트를 변경하거나 현재 콘텐트를 제거함으로써 HUD(460)의 콘텐트와 상호작용할 수 있다. 또한, 사용자는 HUD(460)를 크기 조정함으로써 상호작용할 수 있다. 추가로 사용자는 HUD(460)의 월드 락 위치를 변경하거나, HUD(460)가 자신의 바디 락 위치로 복귀하는 경우에 HUD(460)의 바디 락 위치를 변경함으로써 상호작용할 수 있다.
사용자가 사전 지정된 시간 동안 HUD(460)에서 먼 곳을 보는 경우에, HUD(460)는 사용자에 관한 바디 락 위치로 다시 돌아갈 수 있다. 사전 지정된 시간(예를 들면 1 내지 3초일 수 있음)은 사용자가 HUD(460)를 제거하려는 의도 없이 HUD(460)로부터 먼 곳을 보는 경우에 시스템이 HUD(460)를 제거하는 것을 방지한다. 그러나, 추가 실시예에서는 사전 지정된 시간이 삭제될 수 있어 사용자가HUD(460)로부터 먼 곳을 보면 언제나 HUD(460)가 제거된다. 추가 실시예에서, 사전 지정된 시간이 설정되는 경우에 그 사전 지정된 시간은 1초보다 짧거나 3초보다 길 수 있다.
이하에 설명한 것과 같이, 헤드 마운트 디스플레이 장치(2)는 헤드 마운트 디스플레이 장치(2)의 FOV 내에 나타나는 모든 가상 객체를 디스플레이할 수 있다. 따라서, 실시예에서, HUD(460)는 월드 락 상태를 유지할 수 있고 HUD(460)가 FOV 내에 있으면 언제나 디스플레이될 수 있다. HUD(460)가 사전 지정된 시간(사전 지정된 시간을 가지는 실시예에서) 보다 짧은 시간 동안 FOV의 밖에 있도록 사용자가 자신의 머리를 움직이면, HUD(460)는 월드 락 상태를 유지할 수 있고, HUD(460)가 다시 FOV로 들어가면 다시 디스플레이될 수 있다.
HUD(460)가 헤드 마운트 디스플레이 장치(2)의 FOV 내에 있으나, 장치(2)는 사용자가 HUD(460)에 초점을 맞추지 않는다고 판정할 수 있다. 장치(2)는 HUD(460)가 FOV의 가장자리에 있다고 판정할 수 있고, 또는 눈 추적 어셈블리(134)는 사용자가 HUD(460)와 다른 방향을 보고 있다고 나타낼 수 있다. 따라서, 추가 실시예에서, HUD(460)가 FOV 내에 있는 경우에도, 사용자가 사전 지정된 시간(사전 지정된 시간을 가지는 실시예에서) 보다 더 많은 시간 동안 HUD(460)에 초점을 맞추지 않으면, HUD(460)는 테이크 다운(take down)되고 자신의 월드 락 위치에서 자신의 바디 락 위치로 스위칭될 수 있다.
본 기술의 실시예를 사용하면, 사용자가 HUD(460)에 관심이 없는 경우에 사용자는 HUD(460)의 간섭 없이 합성 현실 환경과 자유롭게 상호작용한다. 그러나, HUD(460)는 사용자에게 액세스 가능한 상태로 남아 있고, 사용자가 사용자의 신체 위치에 대해 동일성을 유지하는 사전 지정된 위치를 봄으로써 액세스될 수 있다.
도 12는 개별 기간(a discrete time period)(예를 들면, 각각의 사용자에게 이미지 데이터의 단일 프레임을 생성, 렌더링 및 디스플레이하는 데 걸리는 시간) 동안 허브 컴퓨팅 시스템(12), 프로세싱 유닛(4) 및 헤드 마운트 디스플레이 장치(2)의 동작 및 상호작용을 나타내는 하이 레벨 흐름도이다. 실시예에서, 데이터는 60Hz의 레이트로 리프레시될 수 있으나, 추가 실시예에서 데이터는 보다 빈번하게 또는 덜 빈번하게 리프레시될 수 있다.
일반적으로, 시스템은 환경 및 환경 내의 객체(예, 사용자, 현실 객체 및 가상 객체)의 x, y, z 좌표를 갖는 장면 지도를 생성한다. 전술한 바와 같이, HUD(460)와 같은 가상 객체는 예를 들면, 허브 컴퓨팅 시스템(12)에서 또는 사용자(18)에 의해 동작하는 애플리케이션에 의해 환경 내에 가상으로 배치될 수 있다. 또한, 시스템은 각각의 사용자의 FOV를 추적할 수 있다. 모든 사용자가 장면의 동일한 측면(aspect)을 보고 있을 수 있으나, 이들은 그 측면을 상이한 시각에서 보고 있다. 따라서, 시스템은 가상 또는 현실 객체의 시차(parallax) 및 가림 현상(occlusion)을 조정하기 위해 장면에 대한 각각의 개인의 FOV를 생성하고, 이는 다시 각각의 사용자에 대해 달라질 수 있다. 제 1 사용자의 HUD는 (제 1 사용자의 프라이버시 설정에 기초하여) 다른 사용자에게 보이거나 보지 않을 수 있다.
이미지 데이터의 지정된 프레임에 대해, 사용자의 보기는 하나 이상의 현실 및/또는 가상 객체를 포함할 수 있다. 사용자가 예를 들어, 좌측에서 우측으로 또는 위아래로 자신의 머리를 돌리면, 사용자의 FOV의 현실 객체의 상대적인 위치가 사용자의 FOV 내에서 고유하게 움직인다. 예를 들어, 도 1의 식물(23)이 먼저 사용자의 FOV의 우측에 나타날 것이다. 사용자가 자신의 머리를 우측으로 돌리면, 식물(23)은 결국 사용자의 FOV의 좌측에서 없어질 수 있다.
그러나, 사용자가 자신의 머리를 움직이는 동안 사용자에게 가상 객체를 디스플레이하는 것은 보다 어려운 문제이다. 사용자가 자신의 FOV 내의 월드 락 가상 객체를 보고 있는 예에서, 사용자가 자신의 머리를 좌측으로 움직여서 FOV를 좌측으로 이동시키는 경우에, 가상 객체의 디스플레이는 사용자의 FOV 이동(shift)의 양 만큼 우측으로 이동되어야 하고, 이에 따라 순수 효과(net effect)는 가상 객체가 FOV 내에서 정지 상태를 유지하는 것이다. 월드 및 바디 락 가상 객체를 적절하게 디스플레이하는 시스템은 도 12 - ?의 흐름도에 관하여 이하에 설명된다.
하나 이상의 사용자(18)에게 합성 현실을 제시하는 시스템이 단계(600)에서 구성될 수 있다. 예를 들어, 사용자(18) 또는 시스템의 오퍼레이터가 제시될 가상 객체(예를 들어, HUD(460)를 포함함)를 특정할 수 있다. 또한, 사용자는 HUD(460)의 콘텐트를 구성하고, HUD(460)의 콘텐트가 어떻게, 언제, 어디에 제시될 것인지를 구성할 수 있다. 단일 HUD(460)를 포함하는 실시예가 설명되었으나, 상이한 콘텐트를 가진 둘 이상의 HUD(460)가 장면 내에 생성되고 배치될 수 있다는 점을 이해할 것이다. 각각의 그러한 HUD(460)는 본 명세서에 기술된 하이브리드 HUD(460)일 수 있다.
단계(604) 및 단계(630)에서, 허브(12) 및 프로세싱 유닛(14)은 장면으로부터 데이터를 수집한다. 허브(12)에 대해, 이러한 데이터는 캡처 장치(20)의 깊이 카메라(426) 및 RGB 카메라(428)에 의해 감지되는 이미지 및 오디오 데이터일 수 있다. 프로세싱 유닛(4)에 대해, 이는 단계(656)에서 헤드 마운트 디스플레이 장치(2)(구체적으로, 카메라(112), 눈 추적 어셈블리(134) 및 IMU(132))에 의해 감지된 이미지 데이터일 수 있다. 헤드 마운트 디스플레이 장치(2)에 의해 수집된 데이터는 단계(656)에서 프로세싱 유닛(4)으로 송신된다. 단계(630)에서 프로세싱 유닛(4)은 이러한 데이터를 처리하고 또한 이를 허브(12)에 송신한다.
단계(608)에서, 허브(12)는 허브(12)로 하여금 자신의 캡처 장치(20) 및 하나 이상의 프로세싱 유닛(4)의 이미지 데이터를 조정하게 하는 다양한 셋업 동작을 수행한다. 구체적으로, 캡처 장치(20)의 위치가 장면(장면이 아닐 수도 있음)에 관해 알려진 경우에도, 헤드 마운트 디스플레이 장치(2) 상의 카메라가 그 장면 에서 계속 움직이고 있다. 따라서, 실시예에서 이미징 카메라 각각의 위치 및 시간 캡처는 그 장면 및 서로 간에 그리고 허브(12)에 대해 수정되어야 한다. 단계(608)에 대한 추가적인 세부사항은 미국 특허 공보 제2012/0105473호(제목, "가상 및 현실 콘텐트의 저 레이턴시 융합(Low-Latency Fusing of Virtual And Real Content)", 2012년 5월 3일 공개)에 기술되어 있다.
단계(608)에서 시스템이 보정되면, 단계(610)에서 장면의 기하학적 구조와 함께 장면 내의 객체의 기하학적 구조 및 위치를 식별하는 장면 지도가 구축될 수 있다. 실시예에서, 지정된 프레임에서 생성된 장면 지도는 장면 내의 모든 사용자, 현실 객체 및 가상 객체의 x, y 및 z 위치를 포함할 수 있다. 이러한 정보는 이미지 데이터 수집 단계(604, 630 및 656) 중에 획득될 수 있고 단계(608)에서 함께 보정된다.
적어도 캡처 장치(20)는 장면의 깊이(측벽에 의해 경계가 지어질 수 있는 정도까지) 및 장면 내의 객체의 깊이 위치를 판정하기 위한 깊이 카메라를 포함한다. 이하에 설명한 바와 같이, 장면 지도는 장면 내의 가상 객체의 위치 지정 및 적합한 가림 현상(가상의 삼차원 객체가 가려질 수 있거나, 또는 가상의 삼차원 객체가 현실 객체 또는 다른 가상의 삼차원 객체를 가릴 수 있음)이 있는 가상의 삼차원 객체를 디스플레이하는 데 사용된다.
시스템(10)은 장면으로부터의 모든 깊이 이미지를 획득하기 위한 복수의 깊이 이미지 카메라를 포함할 수 있고 또는 단일 깊이 이미지 카메라(예를 들면, 캡처 장치(20)의 깊이 이미지 카메라(426))가 장면으로부터의 모든 깊이 이미지를 캡처하기에 충분할 수 있다. 알려지지 않은 환경 내의 장면 지도를 판정하기 위한 아날로그 방법이 SLAM(simultaneous localization and mapping)으로 알려져 있다. SLAM의 일 예는 미국 특허 제7,774,158호(제목, "시각적 SLAM을 위한 랜드마크 생성 시스템 및 방법(Systems and Methods for Landmark Generation for Visual Simultaneous Localization and Mapping)", 2010년 8월 10일 공고)에 설명되어 있다.
단계(612)에서, 시스템은 방안에서 움직이는 사람과 같은 객체를 검출하고 추적할 수 있으며, 움직이는 객체의 위치에 기초하여 장면 지도를 업데이트할 수 있다. 이는 전술한 바와 같이 장면 내에서 사용자의 골격 모델(skeletal model)을 사용하는 것을 포함한다.
단계(614)에서, 허브는 헤드 마운트 디스플레이 장치(2)의 x, y 및 z 위치, 방향 및 FOV를 판정한다. 단계(614)에 대한 추가적인 세부사항이 지금부터 도 13의 흐름도에 관하여 설명된다. 도 13의 단계는 이하에서 단일 사용자에 관하여 설명된다. 그러나, 도 13의 단계는 장면 내의 각각의 사용자에 대해 수행될 수 있다.
단계(700)에서, 장면에 대해 보정된 이미지 데이터가 허브에서 분석되어 사용자 머리 위치 및 사용자의 얼굴에서 똑바로 앞을 향하는 얼굴 유닛 벡터(face unit vector) 모두를 판정한다. 머리 위치는 골격 모델에서 식별된다. 얼굴 유닛 벡터는 골격 모델로부터 사용자의 얼굴의 평면을 정의하고 그 평면에 수직인 벡터를 구함으로써 결정될 수 있다. 평면은 사용자의 눈, 코, 입, 귀 또는 다른 얼굴 특징의 위치를 결정함으로써 식별될 수 있다. 얼굴 유닛 벡터는 사용자의 머리 방향을 정의하는 데 사용될 수 있고, 실시예에서 사용자에 대한 FOV의 중심으로 간주될 수 있다. 또한, 얼굴 유닛 벡터는 추가로 또는 선택적으로 헤드 마운트 디스플레이 장치(2) 상의 카메라(112)로부터 반환된 카메라 이미지 데이터에서 식별될 수 있다. 구체적으로, 헤드 마운트 디스플레이 장치(2) 상의 카메라(112)가 보는 것에 기초하여, 연관된 프로세싱 유닛(4) 및/또는 허브(12)가 사용자의 머리 방향을 나타내는 얼굴 단위 벡터를 결정할 수 있다.
또한, 단계(704)에서 사용자의 머리의 위치 및 방향은 추가로 또는 선택적으로 이전 시간(또는 프레임에서 앞서거나 이전 프레임으로부터)의 사용자의 머리의 위치 및 방향을 분석한 것으로부터 판정될 수 있고, 이어서 IMU(132)로부터의 관성 정보를 사용하여 사용자의 머리의 위치 및 방향을 업데이트한다. IMU(132)로부터의 정보는 사용자의 머리에 대한 정확한 운동학적 데이터를 제공할 수 있으나, IMU는 일반적으로 사용자의 머리에 관한 절대적인 위치 정보를 제공하지 않는다. 이러한 절대적인 위치 정보("그라운드 트루스(ground truth)"라고도 함)는 캡처 장치(20)(주 사용자(subject user)에 대한 헤드 마운트 디스플레이 장치(2) 상의 카메라 및/또는 다른 사용자의 헤드 마운트 디스플레이 장치(들)(2)의 카메라)로부터 획득된 이미지 데이터로부터 제공될 수 있다.
실시예에서, 사용자의 머리의 위치 및 방향은 함께 동작하는 단계(700) 및 단계(704)에 의해 판정될 수 있다. 추가 실시예에서, 단계(700) 및 단계(704) 중 하나 또는 다른 하나가 사용자의 머리의 머리 위치 및 방향을 판정하는 데 사용될 수 있다.
사용자가 똑바로 앞을 보고 있지 않을 수도 있다. 따라서, 사용자의 머리 위치 및 방향을 식별하는 것에 더하여, 허브는 사용자의 머리 내의 사용자의 눈의 위치를 추가로 고려할 수 있다. 이러한 정보는 전술한 눈 추적 어셈블리(134)에 의해 제공될 수 있다. 눈 추적 어셈블리는 사용자의 눈의 위치를 식별할 수 있고, 이는 사용자의 눈이 중심에 있고 똑바로 앞을 보고 있는 위치로부터 좌, 우, 위 및/또는 아래로의 편향(deviation)을 나타내는 눈 단위 벡터(즉, 얼굴 단위 벡터)로서 나타낼 수 있다. 얼굴 단위 벡터는 사용자가 보고 있는 곳을 정의하기 위해 눈 단위 백터로 조정될 수 있다.
단계(710)에서, 다음으로 사용자의 FOV가 결정될 수 있다. 헤드 마운트 디스플레이 장치(2)의 사용자의 보기 범위는 가상(hypothetical) 사용자의 상, 하, 좌, 우 주변 시야에 기초하여 사전 결정될 수 있다. 지정된 사용자에 대해 계산된 FOV는 특정한 사용자가 FOV의 범위에서 볼 수 있는 객체를 포함하는 것을 보증하기 위해, 이러한 가상 사용자는 최대의 가능 주변 시야를 가진 사람으로 취급될 수 있다. 실시예에서 지정 사용자에 대해 충분한 데이터가 캡처되는 것을 보장하도록 일부 사전 지정된 추가(extra) FOV가 더해질 수 있다.
지정된 순간에서(at a given instant)의 사용자에 대한 FOV가 보기 범위를 획득하고 이를 얼굴 단위 벡터에 집중시킴으로써 계산될 수 있고, 눈 단위 벡터의 임의의 편향에 의해 조정될 수 있다. 사용자가 지정된 순간에 보고 있는 것을 판정하는 것에 추가하여, 사용자의 FOV에 대한 이러한 판정은 또한 사용자가 볼 수 없는 것을 판정하는 데에도 유용한다. 이하에 설명한 것과 같이, 가상 객체의 프로세싱을 특정한 사용자가 볼 수 있는 그러한 영역으로 제한하는 것은 프로세싱 속도를 향상시키고 레이턴시를 감소시킬 수 있다.
전술한 실시예에서, 허브(12)는 그 장면 내의 하나 이상의 사용자의 FOV를 계산한다. 추가적인 실시예에서, 사용자를 위한 프로세싱 유닛(4)은 이러한 작업을 공유할 수 있다. 예를 들어, 사용자의 머리 위치 및 눈 방향이 예측되면, 이러한 정보는 프로세싱 유닛에 송신될 수 있고, 프로세싱 유닛은 머리 위치(IMU(132)로부터의) 및 눈 위치(눈 추적 어셈블리(134)로부터의)에 관한 보다 최근의 데이터에 기초하여, 위치, 방향 등을 업데이트할 수 있다.
이제 도 12로 돌아가면, 단계(618)에서, 허브(12)는 사용자 움직임 및 HUD(460)를 포함하는 가상 객체의 위치를 판정할 수 있다. 예를 들어, 허브(12)는 사용자가 HUD(460)를 향하거나 이로부터 멀어지는 것을 포함하여 특정한 방향을 얼마나 오래 바라보는지를 판정할 수 있으며, 이에 따라 허브는 HUD(460)의 위치를 지정할 수 있다. 단계(618)에 대한 추가적인 세부사항은 도 14의 흐름도에서 설명된다.
단계(714)에서, 허브는 사전 지정된 시간 동안(실시예에서 이는 1초 내지 5초이고, 예를 들어 3초이나, 추가 실시예에서 이는 더 길거나 짧을 수 있다) HUD가 배치된 사전 지정된 위치를 사용자가 보고 있는지 여부를 판정할 수 있다. 사용자가 사전 지정된 시간 동안 HUD(460)의 방향을 보고 있지 않은 경우에, 전술한 것과 같이 단계(716)에서 HUD(460)는 바디 락 상태를 유지할 수 있다.
한편, 사용자가 사전 지정된 시간 동안 HUD(460)의 방향을 보고 있는 경우에, 단계(720)에서 HUD(460)는 삼차원 공간에서 자신의 현재 위치에 있는 월드 락 가상 객체로 전환될 수 있다. 전술한 것과 같이, 사용자는 그 후에도 돌아다닐 수 있고 다른 시각에서 HUD(460)를 볼 수 있다.
단계(724)에서, 허브(12)는 사전 지정된 시간에 사용자가 HUD(460)에서 먼 곳을 보는지 여부를 판정한다. 실시예에서, 이러한 사전 지정된 시간은 1초에서 5초 사이일 수 있으며, 예를 들면 3초이나, 추가 실시예에서는 이보다 짧거나 길 수 있다. 사용자가 사전 지정된 시간 동안 HUD(460)에서 먼 곳을 보지 않는 경우에, HUD(460)는 전술한 바와 같이 단계(720)에서 월드 락 상태를 유지할 수 있다.
한편, 사용자가 사전 지정된 시간 동안 HUD(460)에서 먼 곳을 보는 경우에, 또한 HUD(460)는 단계(730)에서 HUD(460)에 대한 디폴트 바디 락 위치(예를 들면, 수평면에서 위쪽이며 사용자의 전방에 있음)로 돌아갈 수 있다. 따라서, 단계(716)에서 시스템이 단계(714)의 사전 지정된 시간 동안 사용자가 HUD(460)의 방향을 보고 있다고 다시 판정할 때까지 HUD(460)는 바디 락 상태를 유지할 수 있다.
전술한 것과 같이, 사용자는 상호작용을 위한 하나 이상의 가상 객체(예를 들어 HUD(460))를 선택할 수 있다. HUD(460) 또는 다른 가상 객체의 선택은 복수의 제스처 중 임의의 것(예를 들면, 사용자가 하나 이상의 가상 객체를 가리키는 것)에 의해 표시될 수 있다. 사용자가 HUD(460)를 선택하면, 사용자는 HUD(460)의 콘텐트와 상호작용(예를 들면, 콘텐트의 아이템에 대한 보다 상세한 정보를 얻는 것 또는 콘텐트의 아이템을 변경하는 것)을 할 수 있다. 선택되면, 사용자가 하나 이상의 가상 객체의 선택 해제(de-selection)를 나타내는 다른 제스처를 수행할 때까지 하나 이상의 가상 객체가 선택 상태로 유지될 수 있다. 선택 해제 제스처는 예를 들면, 물리적인 핸드 제스처 또는 사용자가 사전 지정된 시간 동안 하나 이상의 가상 객체에서 먼 곳을 보는 것일 수 있다.
또한, 사용자는 HUD(460)와 같은 가상 객체를 잡거나 FOV 내에서 이들의 디폴트 위치에서 새로운 위치로 이동시킬 수 있다. 이러한 새로운 위치는 새로운 디폴트 위치로서 설정될 수 있고, 위치는 사용자가 가상 객체를 선택 해제한 후에 이전의 디폴트 위치로 복귀할 수 있다.
HUD(460)를 포함하는 가상 객체의 위치가 도 14에 기술된 것과 같이 설정되면, 허브(12)는 단계(626, 도 12)에서 판정된 정보를 하나 이상의 프로세싱 유닛(4)에 송신할 수 있다. 단계(626)에서 송신되는 정보는 모든 사용자의 프로세싱 유닛(4)에 장면 지도를 송신하는 것을 포함한다. 송신된 정보는 각각의 헤드 마운트 디스플레이 장치(2)의 사전 지정된 FOV를 각각의 헤드 마운트 디스플레이 장치(2)의 프로세싱 유닛(4)에 송신하는 것을 더 포함할 수 있다. 송신된 정보는 가상의 객체 특성(사전 지정된 위치, 방향, 모양 및 외관을 포함함)을 더 포함할 수 있다.
프로세싱 단계(600 내지 626)는 예시로써 위에 설명되었다. 이러한 단계 중 하나 이상이 추가 실시예에서 생략될 수 있으며, 이러한 단계는 다른 순서로 수행될 수 있고, 또는 추가 단계가 더해질 수 있다는 점을 이해할 것이다. 프로세싱 단계(604 내지 618)는 계산하는 비용이 비쌀 수 있으나 강력한 허브(12)가 60헤르츠 프레임으로 이러한 단계를 여러 번 수행할 수 있다. 추가 실시예에서, 이러한 단계(604 내지 618) 중 하나 이상이 하나 이상의 프로세싱 유닛(4)에 의해 선택적으로 또는 추가적으로 수행될 수 있다. 또한, 도 12는 단계(626)에서 다양한 파라미터를 판정하고, 이러한 파라미터를 한번에 송신하는 것을 도시하고 있으나, 판정된 파라미터는 이들이 판정되자 마자 비동기식으로(asynchronously) 프로세싱 유닛(들)(4)에 송신될 수 있다.
프로세싱 유닛(4) 및 헤드 마운트 디스플레이 장치(2)의 동작이 단계(630 내지 658)에 관하여 지금부터 설명될 것이다. 다음의 설명은 단일 프로세싱 유닛(4) 및 헤드 마운트 디스플레이 장치(2)에 관한 것이다. 그러나, 다음의 설명은 시스템 내의 각각의 프로세싱 유닛(4) 및 디스플레이 장치(2)에 적용될 수 있다.
전술한 것과 같이, 초기 단계(656)에서, 헤드 마운트 디스플레이 장치(2)는 이미지 및 IMU 데이터를 생성하고, 이러한 단계(630)에서 프로세싱 유닛(4)을 통해 허브(12)에 송신된다. 허브(12)가 이미지 데이터를 처리하고 있는 동안, 프로세싱 유닛(4)도 또한 이미지 데이터를 처리하고 이미지 렌더링을 준비하는 단계를 수행하고 있다.
단계(634)에서, 프로세싱 유닛(4)은 헤드 마운트 디스플레이 장치(2)의 최종 FOV 내에 나타날 가능성이 있는 가상 객체만이 렌더링되도록 렌더링 동작(opereations)을 추려낼 수 있다(cull). 바디 락 HUD(460)와 같은 다른 가상 객체의 위치가 계속 추적될 수 있으나, 이들은 렌더링되지 않는다. 또한, 추가 실시예에서는, 단계(634)가 모두 생략될 수 있으며 전체 이미지가 렌더링된다.
다음으로, 프로세싱 유닛(4)은 단계(626)에서 수신된 장면 지도 및 FOV를 사용하여 렌더링 셋업 동작이 수행되는 렌더링 셋업 단계(638)를 수행할 수 있다. 가상 객체 데이터가 수신되면, 프로세싱 유닛은 FOV에 렌더링될 가상 객체에 대해 단계(638)의 렌더링 셋업 동작을 수행할 수 있다. 단계(638)의 렌더링 셋업 동작은 최종 FOV에 디스플레이될 가상 객체(들)와 연관된 공통 렌더링 작업(tasks)을 포함할 수 있다. 이러한 렌더링 작업은 예를 들면, 그림자 지도 생성, 라이팅 및 애니메이션을 포함할 수 있다. 실시예에서, 렌더링 셋업 단계(638)는 추가로, 예상되는 최종 FOV에 디스플레이될 가상 객체에 대한 정점 버퍼(vertex buffers), 텍스처 및 상태와 같은 개연성 있는 제도 정보(likely draw information)의 컴파일(compilation)을 포함할 수 있다.
다시 도 12를 참조하면, 단계(626)에서 허브(12)로부터 수신된 정보를 사용하여, 프로세싱 유닛(4)은 다음으로 단계(644)의 사용자 FOV 내의 가림 및 음영 현상을 판정할 수 있다. 구체적으로, 스크린 지도는 그 장면 내의 모든 객체의 x, y, z 위치를 가지고, 모든 객체는 움직이는 객체 및 움직이지 않는 객체 및 가상 객체를 포함한다. FOV 내의 객체에 대한 사용자의 위치 및 이들의 시선을 인지함으로써, 프로세싱 유닛(4)은 가상 객체가 현실 객체의 사용자 보기를 부분적으로 또는 완전히 가리는지 여부를 판정할 수 있다. 또한, 프로세싱 유닛(4)은 현실 객체가 가상 객체의 사용자 보기를 부분적으로 또는 완전히 가리는지 여부를 판정할 수 있다. 가림 현상은 사용자-특정된다. 가상 객체가 제 1 사용자의 보기에서는 차단하거나 차단될 수 있으나, 제2 사용자에게는 그러하지 않을 수 있다. 따라서, 가림 현상 판정은 각각의 사용자의 프로세싱 유닛(4)에서 수행될 수 있다. 그러나, 가림 현상 판정은 허브(12)에 의해 추가로 또는 선택적으로 수행될 수 있다는 것을 이해할 것이다.
단계(646)에서, 다음으로 프로세싱 유닛(4)의 GPU(322)는 사용자에게 디스플레이될 이미지를 렌더링한다. 렌더링 동작의 일부가 렌더링 셋업 단계(638)에서 이미 수행되었을 수 있고, 주기적으로 업데이트될 수 있다. 또한, 단계(646)에 대한 보다 상세한 내용이 미국 특허 공보 제2012/0105473호(제목, "가상 및 현실 콘텐트의 저 레이턴시 융합(Low-Latency Fusing of Virtual And Real Content)")에 설명된다.
단계(650)에서, 프로세싱 유닛(4)은 헤드 마운트 디스플레이 장치(2)로 렌더링된 이미지를 송신할 시간인지 여부를 확인하거나 또는 허브(12) 및/또는 헤드 마운트 디스플레이 장치(2)로부터의 보다 최신의 위치 피드백 데이터를 사용하여 이미지의 추가적인 개선을 할 시간이 아직 있는지 여부를 확인한다. 60헤르츠 프레임의 리프레시 레이트를 사용하는 시스템에서, 단일 프레임은 약 16ms일 수 있다.
단계(650)에서 프레임을 디스플레이할 시간인 경우에, 복합 이미지가 마이크로디스플레이(120)로 보내진다. 이 시점에, 불투명 필터를 위한 컨트롤 데이터가 또한 프로세싱 유닛(4)으로부터 헤드 마운트 디스플레이 장치(2)에 송신되어 불투명 필터(114)를 제어한다. 단계(658)에서 헤드 마운트 디스플레이는 이후에 사용자에게 이미지를 디스플레이할 수 있다.
한편, 단계(650)에서 이미지 데이터의 프레임을 디스플레이할 시간이 아직 아닌 경우에, 프로세싱 유닛은 더 많은 업데이트 데이터가 최종 FOV의 예측 및 FOV 내의 객체의 최종 위치를 추가 개선하게 하도록 루프 백(loop back)할 수 있다. 구체적으로, 단계(650)에서 아직 시간이 남아있다면, 프로세싱 유닛(4)은 단계(608)로 복귀하여 허브(12)로부터 보다 최신의 센서 데이터를 획득할 수 있고, 단계(656)로 복귀하여 헤드 마운트 디스플레이 장치(2)로부터 보다 최신의 센서 데이터를 획득할 수 있다.
프로세싱 단계(630 내지 652)는 예시로서 위에 설명되었다. 이러한 단계 중 하나 이상의 단계가 추가 실시예에서 생략될 수 있고, 단계가 다른 순서로 수행될 수 있으며, 또는 추가 단계가 더해질 수 있다는 점을 이해할 것이다.
또한, 도 12의 프로세싱 유닛 단계에 대한 흐름도는 허브(12) 및 헤드 마운트 디스플레이 장치(2)로부터의 모든 데이터(단일 단계(634)에서 프로세싱 유닛(4)에 주기적으로 제공되고 있음)를 나타낸다. 그러나, 프로세싱 유닛(4)은 허브(12) 및 헤드 마운트 디스플레이 장치(2)의 서로 다른 센서로부터 비동기식으로 서로 다른 시점에 데이터 업데이트를 수신할 수 있다. 헤드 마운트 디스플레이 장치(2)는 카메라(112)로부터의 이미지 데이터 및 IMU(132)로부터의 관성 데이터를 제공한다. 이러한 센서로부터의 데이터의 샘플링은 상이한 레이트로 생성될 수 있고, 상이한 시점에 프로세싱 유닛(4)에 송신될 수 있다. 마찬가지로 허브(12)로부터 프로세싱된 데이터가 카메라(112) 및 IMU(132) 양자로부터의 데이터와 다른 주기로, 따로따로 프로세싱 유닛(4)에 송신될 수 있다. 일반적으로, 프로세싱 유닛(4)은 프레임동안에 허브(12) 및 헤드 마운트 디스플레이 장치(2)로부터의 업데이트된 데이터를 여러 번 비동기식으로 수신할 수 있다. 프로세싱 유닛은 자신 단계를 순환하기 때문에, FOV 및 객체 위치의 최종 예측을 추정(extrapolating)하는 경우에 수신된 가장 최신의 데이터를 사용한다.
본 발명의 대상이 구조적 특징 및/또는 방법론적 단계에 특정된 언어로 설명되었으나, 첨부된 청구범위에 정의된 발명의 대상은 전술한 구체적인 특징이나 단계에 한정될 필요는 없다는 것을 이해할 것이다. 오히려, 전술한 구체적인 특징 및 단계는 청구범위 및 실시예를 구현하는 예시적인 형태로서 기술된다. 본 발명의 범주는 본 명세서에 첨부된 청구범위에 의해 정의된다.

Claims (25)

  1. 합성 현실 경험(mixed reality experience)을 하나 이상의 사용자에게 제시하는 시스템에 있어서,
    가상 객체(virtual object)를 디스플레이하는 디스플레이 유닛을 포함하는 디스플레이 장치와,
    상기 디스플레이 장치에 동작 가능하게 연결된 컴퓨팅 시스템
    을 포함하며,
    상기 컴퓨팅 시스템은,
    상기 디스플레이 장치 상에 디스플레이하기 위한 가상 객체를 생성하고,
    상기 디스플레이 장치의 시야(field of view)가 적어도 결정된 기간(period of time) 동안에 상기 가상 객체를 포함하는지 여부를 결정하고,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 것에 기초하여, 상기 가상 객체를 상기 디스플레이 장치에 대해 바디 락(body lock) 상태가 되게 배치하고,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함한다고 결정하는 것에 기초하여, 상기 가상 객체를 월드 락(world lock) 상태가 되게 배치하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  2. 제1항에 있어서, 상기 컴퓨팅 시스템은 허브 컴퓨팅 시스템 또는 하나 이상의 프로세싱 유닛 중 적어도 하나를 포함하는 것인 합성 현실 경험을 제시하는 시스템.
  3. 제1항에 있어서, 상기 컴퓨팅 시스템은, 상기 가상 객체가 상기 결정된 기간 동안에 상기 디스플레이 장치의 시야 내에 남아있다고 결정하는 것에 응답하여, 상기 가상 객체의 위치를 바디 락 상태에서 월드 락 상태로 전환(switch)하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  4. 제1항에 있어서, 상기 컴퓨팅 시스템은, 상기 가상 객체가 상기 결정된 기간 동안에 상기 디스플레이 장치의 시야 밖에 남아있다고 결정하는 것에 응답하여, 상기 가상 객체의 위치를 월드 락 상태에서 바디 락 상태로 전환하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  5. 제1항에 있어서, 상기 컴퓨팅 시스템은 상기 사용자가 상기 가상 객체의 방향을 바라보지 않는다고 결정하는 것에 응답하여, 상기 가상 객체의 위치를 월드 락 상태에서 바디 락 상태로 전환하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  6. 제1항에 있어서, 상기 가상 객체는 콘텐트(content)를 포함하는 헤드 업 디스플레이(HUD)인 것인 합성 현실 경험을 제시하는 시스템.
  7. 제1항에 있어서, 상기 컴퓨팅 시스템은 사용자로 하여금, 상기 가상 객체가 월드 락될 때 상기 가상 객체를 선택하게 하고, 제스처를 이용하여 상기 가상 객체를 삼차원 공간 내의 새로운 위치로 이동시키게 하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  8. 제7항에 있어서, 상기 가상 객체는 사용자의 손, 바디 또는 눈으로 제스처를 수행하는 사용자에 의해 선택되는 것인 합성 현실 경험을 제시하는 시스템.
  9. 합성 현실 경험을 제시하는 시스템에 있어서,
    디스플레이 장치의 위치에 관한 데이터를 감지하는 제 1 세트의 센서들과, 상기 디스플레이 장치의 사용자에게 가상 객체를 디스플레이하는 디스플레이 유닛을 포함하는 상기 디스플레이 장치와,
    상기 디스플레이 장치에 동작 가능하게 연결되는 컴퓨팅 시스템
    을 포함하며,
    상기 컴퓨팅 시스템은 상기 사용자의 위치에 관한 데이터를 감지하는 제 2 세트의 센서들을 포함하고,
    상기 컴퓨팅 시스템은,
    상기 디스플레이 장치에 디스플레이하기 위한 가상 객체를 생성하며,
    상기 디스플레이 장치의 시야가 적어도 결정된 기간 동안에 상기 가상 객체를 포함하는지 여부를 결정하고,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 것에 응답하여, 상기 가상 객체를 상기 디스플레이 장치의 시야 밖의 바디 락 위치에 유지하고,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함한다고 결정하는 것에 응답하여, 상기 가상 객체를 상기 디스플레이 장치의 시야 내의 월드 락 위치에 유지하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  10. 제9항에 있어서, 상기 사용자는 상기 가상 객체가 월드 락될 때 상기 가상 객체를 상이한 시각(perspective)들 및 위치들에서 볼 수 있는 것인 합성 현실 경험을 제시하는 시스템.
  11. 제9항에 있어서, 상기 가상 객체는 상기 사용자가 주위를 이동할 때 상기 사용자의 머리로부터 일정한 거리를 유지함으로써 바디 락되는 것인 합성 현실 경험을 제시하는 시스템.
  12. 제9항에 있어서, 상기 가상 객체는 사용자의 머리의 전방에 그리고 상기 사용자의 머리가 놓인 수평면 위에 남아 있음으로써 바디 락되는 것인 합성 현실 경험을 제시하는 시스템.
  13. 제9항에 있어서, 상기 가상 객체는 사용자의 머리가 좌우로 돌아감에 따라 상기 사용자의 머리로 피벗팅(pivoting)함으로써 바디 락되는 것인 합성 현실 경험을 제시하는 시스템.
  14. 제9항에 있어서, 상기 가상 객체는 사용자의 머리가 위아래로 끄덕일 때 상기 사용자의 머리로 피벗팅함으로써 바디 락되는 것인 합성 현실 경험을 제시하는 시스템.
  15. 제9항에 있어서, 상기 가상 객체는 사용자의 머리가 좌우로 기울어질 때 상기 사용자의 머리로 피벗팅함으로써 바디 락되는 것인 합성 현실 경험을 제시하는 시스템.
  16. 제9항에 있어서, 상기 가상 객체는 제 1 가상 객체이고, 상기 합성 현실 경험을 제시하는 시스템은 제 2 가상 객체를 더 포함하고, 상기 컴퓨팅 시스템은 또한,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 것에 응답하여, 상기 디스플레이 장치의 시야 밖의 바디 락 위치에 상기 제 2 가상 객체를 유지하고,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함한다고 결정하는 것에 응답하여, 상기 디스플레이 장치의 시야 내의 월드 락 위치에 상기 제 2 가상 객체를 유지하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  17. 합성 현실 경험을 하나 이상의 사용자에게 제시하는 방법에 있어서,
    디스플레이 장치의 시야가 적어도 결정된 기간 동안에 가상 객체를 포함하는지 여부를 결정하는 단계와,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 것에 응답하여, 사용자의 바디의 일부에 대해 고정된 위치에 상기 가상 객체의 위치를 로킹(locking)하는 단계와,
    상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함한다고 결정하는 것에 응답하여, 삼차원 공간 내의 고정된 위치에 상기 가상 객체의 위치를 로킹하는 단계를 포함하는 합성 현실 경험을 제시하는 방법.
  18. 제17항에 있어서, 사용자의 바디의 일부에 대해 고정된 위치에 상기 가상 객체의 위치를 로킹하는 단계는, 상기 사용자의 머리에 대해 상기 가상 객체의 위치를 로킹하는 단계를 포함하는 합성 현실 경험을 제시하는 방법.
  19. 제17항에 있어서, 상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함한다고 결정하는 경우에 상기 가상 객체를 바디 락 위치에서 월드 락 위치로 전환하는 단계를 더 포함하는 합성 현실 경험을 제시하는 방법.
  20. 제17항에 있어서, 상기 시야가 적어도 상기 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 경우에 상기 가상 객체를 월드 락 위치에서 바디 락 위치로 전환하는 단계를 더 포함하는 합성 현실 경험을 제시하는 방법.
  21. 합성 현실 경험을 사용자에게 제시하는 시스템에 있어서,
    가상 객체를 디스플레이하는 디스플레이 유닛을 포함하는 디스플레이 장치와,
    상기 디스플레이 장치에 동작 가능하게 연결된 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 디스플레이 장치에 디스플레이하기 위한 가상 객체를 생성하고,
    상기 디스플레이 장치의 시야가 적어도 결정된 기간 동안에 상기 가상 객체를 포함하는지 여부를 결정하고,
    상기 시야가 적어도 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 것에 응답하여, 동작의 제 1 모드 - 동작의 상기 제 1 모드에서는, 상기 가상 객체가 상기 디스플레이 장치의 시야의 중앙 부분 밖에 배치되고, 사용자가 이동할 때 사용자에 액세스 가능한 상태로 남아 있도록 상기 가상 객체가 사용자의 머리 이외의 사용자의 바디 부분과 함께 이동하여, 동작의 상기 제 1 모드에서 상기 사용자가 상기 가상 객체를 바라보고 상기 가상 객체로부터 멀리 볼 수 있도록 함 - 를 동작시키고,
    상기 시야가 적어도 결정된 기간 동안에 상기 가상 객체를 포함한다고 결정하는 것에 응답하여, 동작의 제 2 모드 - 동작의 상기 제 2 모드에서는, 상기 가상 객체가 월드 락되고 상기 사용자가 상기 가상 객체의 고정된 위치 주위를 이동할 수 있음 - 로 동작시키고,
    미리 결정된 기간 동안에 상기 제 1 모드에서 상기 가상 객체에 초점을 맞춤으로써, 상기 제 1 모드에서 상기 제 2 모드로 전환하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  22. 제21항에 있어서, 상기 프로세서는 또한, 상기 시야가 적어도 결정된 기간 동안에 상기 가상 객체를 포함하지 않는다고 결정하는 것에 응답하여, 상기 가상 객체의 위치를 월드 락 상태에서 바디 락 상태로 전환하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  23. 제21항에 있어서, 상기 프로세서는 또한, 상기 사용자가 상기 가상 객체의 방향을 바라보지 않는다고 결정하는 것에 응답하여, 상기 가상 객체의 위치를 월드 락 상태에서 바디 락 상태로 전환하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
  24. 제21항에 있어서, 상기 가상 객체는 콘텐트를 포함하는 헤드업 디스플레이(HUD)인 것인 합성 현실 경험을 제시하는 시스템.
  25. 제21항에 있어서, 상기 프로세서는 또한, 사용자로 하여금 월드 락된 가상 객체에 응답하여 상기 가상 객체를 선택하게 하고, 상기 가상 객체를 제스처를 이용하여 삼차원 공간 내의 새로운 위치로 이동시키게 하도록 구성되는 것인 합성 현실 경험을 제시하는 시스템.
KR1020167001438A 2013-06-18 2014-06-11 Hmd 상의 하이브리드 월드/바디 락 hud KR102208376B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/921,116 2013-06-18
US13/921,116 US10175483B2 (en) 2013-06-18 2013-06-18 Hybrid world/body locked HUD on an HMD
PCT/US2014/041978 WO2014204759A1 (en) 2013-06-18 2014-06-11 Hybrid world/body locked hud on an hmd

Publications (2)

Publication Number Publication Date
KR20160019964A KR20160019964A (ko) 2016-02-22
KR102208376B1 true KR102208376B1 (ko) 2021-01-26

Family

ID=51168388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001438A KR102208376B1 (ko) 2013-06-18 2014-06-11 Hmd 상의 하이브리드 월드/바디 락 hud

Country Status (5)

Country Link
US (1) US10175483B2 (ko)
EP (2) EP3011411B1 (ko)
KR (1) KR102208376B1 (ko)
CN (1) CN105408837B (ko)
WO (1) WO2014204759A1 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9766696B1 (en) * 2016-03-18 2017-09-19 Blue Goji Llc Apparatus for natural torso tracking and feedback for electronic interaction
US10533850B2 (en) 2013-07-12 2020-01-14 Magic Leap, Inc. Method and system for inserting recognized object data into a virtual world
US9440660B2 (en) * 2014-07-22 2016-09-13 Toyota Motor Engineering & Manufacturing North America, Inc. Method for remote communication with and through a vehicle
CN104615241B (zh) * 2015-01-04 2017-08-25 谭希韬 基于头转动的穿戴式眼镜控制方法和系统
US9659411B2 (en) * 2015-01-14 2017-05-23 Oculus Vr, Llc Passive locators for a virtual reality headset
US9846968B2 (en) 2015-01-20 2017-12-19 Microsoft Technology Licensing, Llc Holographic bird's eye view camera
US10156721B2 (en) * 2015-03-09 2018-12-18 Microsoft Technology Licensing, Llc User-based context sensitive hologram reaction
US9779554B2 (en) 2015-04-10 2017-10-03 Sony Interactive Entertainment Inc. Filtering and parental control methods for restricting visual activity on a head mounted display
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
US10127725B2 (en) 2015-09-02 2018-11-13 Microsoft Technology Licensing, Llc Augmented-reality imaging
JP6479199B2 (ja) 2015-09-25 2019-03-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10229541B2 (en) * 2016-01-28 2019-03-12 Sony Interactive Entertainment America Llc Methods and systems for navigation within virtual reality space using head mounted display
JP6630607B2 (ja) * 2016-03-28 2020-01-15 株式会社バンダイナムコエンターテインメント シミュレーション制御装置及びシミュレーション制御プログラム
JP6200023B1 (ja) * 2016-03-28 2017-09-20 株式会社バンダイナムコエンターテインメント シミュレーション制御装置及びシミュレーション制御プログラム
US10311622B2 (en) * 2016-03-29 2019-06-04 Htc Corporation Virtual reality device and method for virtual reality
KR20170126295A (ko) * 2016-05-09 2017-11-17 엘지전자 주식회사 헤드 마운티드 디스플레이 장치 및 그것의 제어방법
US10338392B2 (en) 2016-06-13 2019-07-02 Microsoft Technology Licensing, Llc Identification of augmented reality image display position
US10134192B2 (en) * 2016-10-17 2018-11-20 Microsoft Technology Licensing, Llc Generating and displaying a computer generated image on a future pose of a real world object
KR20180041890A (ko) * 2016-10-17 2018-04-25 삼성전자주식회사 가상 객체를 표시하는 방법 및 장치
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US20180210628A1 (en) * 2017-01-23 2018-07-26 Snap Inc. Three-dimensional interaction system
US10747386B2 (en) * 2017-06-01 2020-08-18 Samsung Electronics Co., Ltd. Systems and methods for window control in virtual reality environment
EP3422146A1 (en) 2017-06-28 2019-01-02 Nokia Technologies Oy An apparatus and associated methods for presenting sensory scenes
CN107506029B (zh) * 2017-08-09 2019-06-28 山东大学 提高移动端体验的虚拟场景交互设计系统及其方法
DK180470B1 (en) 2017-08-31 2021-05-06 Apple Inc Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments
US10712899B2 (en) * 2017-10-17 2020-07-14 Microsoft Technology Licensing, Llc Human-machine interface tethered to a user position in a three-dimensional VR or AR environment
CN108037863B (zh) * 2017-12-12 2021-03-30 北京小米移动软件有限公司 一种显示图像的方法和装置
JP7039714B2 (ja) * 2018-01-24 2022-03-22 アップル インコーポレイテッド 3dモデルのシステム全体の挙動のためのデバイス、方法、及びグラフィカルユーザーインターフェース
US20200394845A1 (en) * 2018-02-26 2020-12-17 Mitsubishi Electric Corporation Virtual object display control device, virtual object display system, virtual object display control method, and storage medium storing virtual object display control program
US20200402310A1 (en) * 2018-02-26 2020-12-24 Mitsubishi Electric Corporation Virtual object display control device, virtual object display system, virtual object display control method, and storage medium storing virtual object display control program
US10878620B2 (en) * 2018-03-14 2020-12-29 Magic Leap, Inc. Display systems and methods for clipping content to increase viewing comfort
TWI669682B (zh) * 2018-05-25 2019-08-21 光寶電子(廣州)有限公司 影像處理系統及影像處理方法
JP7136931B2 (ja) * 2018-06-05 2022-09-13 マジック リープ, インコーポレイテッド 空間3d環境へのコンテンツのマッチング
US10747302B2 (en) * 2018-06-08 2020-08-18 Facebook Technologies, Llc Artificial reality interaction plane
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
EP3599538B1 (en) 2018-07-24 2023-07-19 Nokia Technologies Oy Method and apparatus for adding interactive objects to a virtual reality environment
US10909772B2 (en) 2018-07-31 2021-02-02 Splunk Inc. Precise scaling of virtual objects in an extended reality environment
US10692299B2 (en) 2018-07-31 2020-06-23 Splunk Inc. Precise manipulation of virtual object position in an extended reality environment
US20220244788A1 (en) * 2019-05-22 2022-08-04 Maxell, Ltd. Head-mounted display
US11265487B2 (en) 2019-06-05 2022-03-01 Mediatek Inc. Camera view synthesis on head-mounted display for virtual reality and augmented reality
EP3980880A4 (en) * 2019-06-06 2022-11-23 Magic Leap, Inc. PHOTOREAL CHARACTER CONFIGURATIONS FOR SPACE COMPUTING
US11475652B2 (en) 2020-06-30 2022-10-18 Samsung Electronics Co., Ltd. Automatic representation toggling based on depth camera field of view
EP3936978B1 (en) 2020-07-08 2023-03-29 Nokia Technologies Oy Object display
US11391945B2 (en) * 2020-08-31 2022-07-19 Sony Interactive Entertainment LLC Automatic positioning of head-up display based on gaze tracking
US11538214B2 (en) * 2020-11-09 2022-12-27 Meta Platforms Technologies, Llc Systems and methods for displaying stereoscopic rendered image data captured from multiple perspectives
WO2022192040A1 (en) * 2021-03-08 2022-09-15 Dathomir Laboratories Llc Three-dimensional programming environment
US11829529B2 (en) * 2021-07-13 2023-11-28 Meta Platforms Technologies, Llc Look to pin on an artificial reality device
WO2023244247A1 (en) * 2022-06-17 2023-12-21 Hewlett-Packard Development Company, L.P. Image portion combination signals
US11893166B1 (en) * 2022-11-08 2024-02-06 Snap Inc. User avatar movement control using an augmented reality eyewear device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100596199B1 (ko) 2004-11-08 2006-07-03 건국대학교 산학협력단 움직임 센서를 이용한 컴퓨터 인터페이스 장치 및 방법
US20120249416A1 (en) 2011-03-29 2012-10-04 Giuliano Maciocci Modular mobile connected pico projectors for a local multi-user collaboration
US20130128364A1 (en) 2011-11-22 2013-05-23 Google Inc. Method of Using Eye-Tracking to Center Image Content in a Display

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061064A (en) 1993-08-31 2000-05-09 Sun Microsystems, Inc. System and method for providing and using a computer user interface with a view space having discrete portions
US5767820A (en) 1995-05-09 1998-06-16 Virtual Research Systems Head-mounted visual display apparatus
JP2004151085A (ja) 2002-09-27 2004-05-27 Canon Inc 情報処理方法及び情報処理装置
US7272467B2 (en) 2002-12-17 2007-09-18 Evolution Robotics, Inc. Systems and methods for filtering potentially unreliable visual data for visual simultaneous localization and mapping
EP1604266B1 (en) * 2003-03-10 2008-02-20 Koninklijke Philips Electronics N.V. Multi-view display
US7401920B1 (en) 2003-05-20 2008-07-22 Elbit Systems Ltd. Head mounted eye tracking and display system
IL157837A (en) 2003-09-10 2012-12-31 Yaakov Amitai Substrate-guided optical device particularly for three-dimensional displays
US8212859B2 (en) 2006-10-13 2012-07-03 Apple Inc. Peripheral treatment for head-mounted displays
US11068149B2 (en) 2010-06-09 2021-07-20 Microsoft Technology Licensing, Llc Indirect user interaction with desktop using touch-sensitive control surface
US9348141B2 (en) 2010-10-27 2016-05-24 Microsoft Technology Licensing, Llc Low-latency fusing of virtual and real content
US8576276B2 (en) 2010-11-18 2013-11-05 Microsoft Corporation Head-mounted display device which provides surround video
US8223088B1 (en) 2011-06-09 2012-07-17 Google Inc. Multimode input field for a head-mounted display
US8217856B1 (en) 2011-07-27 2012-07-10 Google Inc. Head-mounted display that displays a visual representation of physical interaction with an input interface located outside of the field of view
CA3048647C (en) * 2011-10-28 2022-08-16 Magic Leap, Inc. System and method for augmented and virtual reality
US8970452B2 (en) * 2011-11-02 2015-03-03 Google Inc. Imaging method
US9424767B2 (en) * 2012-06-18 2016-08-23 Microsoft Technology Licensing, Llc Local rendering of text in image
US9767720B2 (en) * 2012-06-25 2017-09-19 Microsoft Technology Licensing, Llc Object-centric mixed reality space
US9317971B2 (en) * 2012-06-29 2016-04-19 Microsoft Technology Licensing, Llc Mechanism to give holographic objects saliency in multiple spaces
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
US9041741B2 (en) * 2013-03-14 2015-05-26 Qualcomm Incorporated User interface for a head mounted display
US9779517B2 (en) * 2013-03-15 2017-10-03 Upskill, Inc. Method and system for representing and interacting with augmented reality content
US9230368B2 (en) * 2013-05-23 2016-01-05 Microsoft Technology Licensing, Llc Hologram anchoring and dynamic positioning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100596199B1 (ko) 2004-11-08 2006-07-03 건국대학교 산학협력단 움직임 센서를 이용한 컴퓨터 인터페이스 장치 및 방법
US20120249416A1 (en) 2011-03-29 2012-10-04 Giuliano Maciocci Modular mobile connected pico projectors for a local multi-user collaboration
US20130128364A1 (en) 2011-11-22 2013-05-23 Google Inc. Method of Using Eye-Tracking to Center Image Content in a Display

Also Published As

Publication number Publication date
WO2014204759A1 (en) 2014-12-24
EP3528097B1 (en) 2021-08-04
EP3011411A1 (en) 2016-04-27
US20140368535A1 (en) 2014-12-18
CN105408837A (zh) 2016-03-16
EP3528097A1 (en) 2019-08-21
KR20160019964A (ko) 2016-02-22
CN105408837B (zh) 2019-07-12
US10175483B2 (en) 2019-01-08
EP3011411B1 (en) 2020-11-11

Similar Documents

Publication Publication Date Title
KR102208376B1 (ko) Hmd 상의 하이브리드 월드/바디 락 hud
KR102281026B1 (ko) 홀로그램 앵커링 및 동적 포지셔닝 기법
US9329682B2 (en) Multi-step virtual object selection
KR102219246B1 (ko) 헤드 마운티드 디바이스를 사용한 사용자 초점 제어 그래픽 사용자 인터페이스
JP5965410B2 (ja) 拡張現実ディスプレイ用最適焦点エリア
TWI539185B (zh) 用於提供可變虛擬焦點的擴展實境顯示的系統及其方法,以及具有編碼相關指令的電腦可讀取儲存媒體
US9727132B2 (en) Multi-visor: managing applications in augmented reality environments
TWI549505B (zh) 用於擴展現實顯示的基於理解力和意圖的內容
US20130326364A1 (en) Position relative hologram interactions
WO2016077508A1 (en) System for automatic eye tracking calibration of head mounted display device
KR20160021126A (ko) 공유된 홀로그램 객체 및 사적 홀로그램 객체

Legal Events

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