KR102527529B1 - 공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술 - Google Patents

공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술 Download PDF

Info

Publication number
KR102527529B1
KR102527529B1 KR1020177012128A KR20177012128A KR102527529B1 KR 102527529 B1 KR102527529 B1 KR 102527529B1 KR 1020177012128 A KR1020177012128 A KR 1020177012128A KR 20177012128 A KR20177012128 A KR 20177012128A KR 102527529 B1 KR102527529 B1 KR 102527529B1
Authority
KR
South Korea
Prior art keywords
user
virtual object
view
room
projector
Prior art date
Application number
KR1020177012128A
Other languages
English (en)
Other versions
KR20170062533A (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 KR20170062533A publication Critical patent/KR20170062533A/ko
Application granted granted Critical
Publication of KR102527529B1 publication Critical patent/KR102527529B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3141Constructional details thereof
    • H04N9/3147Multi-projection systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Abstract

공유된 공간 증강 현실(SSAR)에 관한 다양한 기술이 설명된다. 룸 내의 센서 유닛들은 룸의 두 명 이상의 사용자의 위치 및 두 명 이상의 사용자의 시선 방향을 나타내는 센서 신호를 출력한다. 적어도 하나의 가상 객체의 뷰는 두 명 이상의 사용자 각각에 대해 개별적으로 계산되며 프로젝터들은 이러한 뷰를 룸 내에 투영한다. 투영된 뷰는 두 명 이상의 사용자가 공간에서 가상 객체를 동시에 인식하게 한다.

Description

공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술{DRIVING A PROJECTOR TO GENERATE A SHARED SPATIAL AUGMENTED REALITY EXPERIENCE}
공간 증강 현실(Spatial Augmented Reality, SAR) 기술은 투영된 빛으로 물리적 환경의 모습을 변경함으로써 증강 현실 경험을 창출한다. 많은 증강 현실 접근법이 핸드헬드(handheld) 또는 머리 착용(head worn) 장치들에서 실시간 비디오 피드(feed)를 통해 그래픽을 렌더링하는 것과는 달리 SAR은 물리적 객체 위에 직접 그래픽을 배치하므로, 사용자의 주의를 실세계로부터 다른 데로 돌리지 않는다. "씨스루(see through)" 머리 착용 디스플레이는 비슷한 효과를 얻을 수 있다; 그러나, 종래의 머리 착용 디스플레이는 제한된 시야를 지원하고 다소 부피가 크므로, 잠재적으로 사용자들 간의 대면 상호 작용을 방해할 수 있다.
올바른 상황에서 SAR 시스템은 객체의 표면이 특정 물질로 이루어진 것처럼 보이도록 표면의 외관을 변경할 수 있다. 예를 들어, SAR 시스템은 카펫이 깔린 바닥을 사용자에게 이끼 낀 것으로 보이도록 할 수 있다. 이 효과를 얻으려면 물리적 환경의 정확한 지오메트릭 모델(geometric model)이 필요하다. 지오메트릭 모델은 실세계 표면 지오메트리의 변화로 인해 투영된 이미지의 왜곡을 설명하기 위해 투영된 그래픽을 변경하는 데 사용된다. 그러나 종래의 SAR 시스템이 단일 뷰에 대한 증강 그래픽을 지원하기 때문에 SAR의 사용은 제한적이므로, 따라서, 종래의 SAR 시스템은 단일 사용자를 지원한다.
다음은 본 명세서에서 보다 상세하게 기술된 주제에 대한 간략한 요약이다. 이 요약은 청구 범위를 제한하려는 것이 아니다.
본 명세서에서 컴퓨팅 시스템이 설명되며, 컴퓨팅 시스템은 적어도 하나의 프로세서 및 적어도 하나의 프로세서에 의해 실행되는 복수의 컴포넌트를 포함하는 메모리를 포함하고, 복수의 컴포넌트는 룸에서 제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 계산하도록 구성된 추적 컴포넌트를 포함하며, 추적 컴포넌트는 적어도 하나의 센서 장치에 의해 생성된 적어도 하나의 신호에 기초하여 상기 제1 위치 및 상기 제2 위치를 계산한다. 컴포넌트들은, 1) 제1 사용자에게 제시될 가상 객체를 포함하는 제1 뷰를, 제1 사용자의 제1 위치에 기초하여 계산하고, 2) 제2 사용자에게 제시될 상기 가상 객체를 포함하는 제2 뷰를, 제2 사용자의 제2 위치에 기초하여 계산하고, 3) 적어도 하나의 프로젝터로 하여금 룸 내의 투영 표면 상에 이미지(imagery)를 투영하도록 하는 적어도 하나의 프레임을 상기 적어도 하나의 프로젝터로 전송하도록 구성되는 렌더링(render) 컴포넌트를 더 포함하고, 상기 이미지는 제1 뷰의 적어도 일부분; 또는 제2 뷰의 적어도 일부분 중 적어도 하나를 포함하여, 제1 사용자 및 제2 사용자 모두가 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 상기 가상 객체를 인지하게 할 수 있다.
도 1은 공유된 공간 증강 현실(shared spatial augmented reality, SSAR)을 수행하도록 구성된 장비를 포함하는 예시적인 룸을 도시한다.
도 2는 프로젝터가 SSAR을 수행하는 이미지를 투영하게 하도록 구성된 예시적인 시스템의 기능 블록도이다.
도 3은 룸 내의 서로 마주하는 두 명의 사용자가 그 사용자들 사이의 공간에서 가상 객체를 감지하도록, 프로젝터가 투영 표면 상에 이미지를 투영하는 룸을 도시한다.
도 4는 서로 마주하는 두 명의 사용자가 그 사용자들 사이의 공간에서 움직이는 가상 객체를 감지하도록, 프로젝터가 투영 표면 상에 이미지를 투영하는 룸을 도시한다.
도 5는 서로 마주하는 두 명의 사용자가 그 두 명의 사용자 사이의 공간에서 가상 객체를 인식하도록, 룸 내의 투영 표면 상에 이미지를 투영하는 오버 헤드(overhead) 프로젝터를 갖는 예시적인 룸을 도시한다.
도 6은 두 명의 사용자가 투영 표면을 동시에 보는 것에 기초하여, 프로젝터가 투영 표면 상에 이미지를 투영하는 예시적인 룸을 도시한다.
도 7은 사용자들이 투영 표면으로서 행동하도록, 서로 마주하고 있는 움직이는 사용자들 상에 프로젝터가 이미지를 투영하는 예시적인 룸을 도시한다.
도 8은 두 명의 사용자가 그 두 명의 사용자 사이의 공간에서 가상 객체를 인식하도록 룸 내의 투영 표면 상에 이미지를 투영하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 9는 검출된 제스처에 기초하여 룸 내의 투영 표면 상에 이미지를 투영하는 예시적인 방법을 도시하는 흐름도이며, 상기 이미지는 두 명의 사용자가 그 두 명의 사용자 사이의 공간에서 움직이는 가상 객체를 인식하게 한다.
도 10은 룸의 적어도 두 명의 사용자 중 한 명에 의해 설정된 인식된 음성 명령에 기초하여 룸 내의 투영 표면 상에 이미지를 투영하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 11은 2 개의 프로젝터에 의해 룸 내의 투영 표면 상에 투영된 이미지가 두 명의 사용자를 서로 마주하게 하여 그 두 명의 사용자 사이의 공간에서 가상의 객체를 인지하도록 룸의 적어도 2개의 프로젝터를 구동하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 12는 예시적인 컴퓨팅 시스템이다.
공유된 공간 증강 현실(SSAR)에 관한 다양한 기술이 도면을 참조하여 설명되며, 여기서 전체적으로 유사한 참조 번호는 유사한 요소를 지칭하기 위해 사용된다. 다음의 설명에서, 설명의 목적으로, 하나 이상의 양상들에 대한 완전한 이해를 제공하기 위해 다수의 구체적인 세부 사항들이 제시된다. 그러나 이러한 측면(들)이 이러한 구체적인 세부 사항 없이도 실행될 수 있음은 자명할 수 있다. 다른 예들에서, 잘 알려진 구조들 및 장치들은 하나 이상의 양상들에 대한 설명을 용이하게 하기 위해 블록도 형태로 도시된다. 또한, 특정 시스템 컴포넌트에 의해 수행되는 것으로 기술된 기능성은 다수의 컴포넌트에 의해 수행될 수 있다는 것을 이해해야 한다. 유사하게, 예를 들어, 하나의 컴포넌트는 다수의 컴포넌트에 의해 수행되는 것으로 기술된 기능을 수행하도록 구성될 수 있다.
또한, "또는(or)"이라는 용어는 독점적인 "또는"(exclusive "or")이 아닌 포괄적인 "또는"(inclusive "or")을 의미하는 것으로 의도된다. 즉, 다르게 지정되거나 문맥에서 명확한 경우를 제외하고 "X는 A 또는 B를 사용한다(X employs A or B)"라는 문구는 자연스럽게 포함된 모든 순열을 의미한다. 즉, "X는 A 또는 B를 사용한다"라는 문구는 다음과 같은 경우에 충족된다: X는 A를 사용한다(X employs A); X는 B를 사용한다(X employs B); 또는 X는 A와 B 모두를 사용한다(X employs A and B). 또한, 본원 및 첨부된 청구 범위에서 사용된 관사 "a" 및 "an"는 다르게 명시되거나 문맥에서 단수형에 관한 것임이 명백하지 않는 한, 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
또한, 본 명세서에 사용된 바와 같이, 용어 "컴포넌트(component)" 및 "시스템"은 프로세서에 의해 실행될 때 특정 기능이 수행되도록 하는 컴퓨터 실행 가능 명령어들로 구성된 컴퓨터 판독 가능 데이터 저장 장치를 포함하도록 의도된다. 컴퓨터 실행 가능 명령어들은 루틴, 함수 등을 포함할 수 있다. 또한, 컴포넌트 또는 시스템은 단일 장치 상에 국한되거나 여러 장치들에 걸쳐 분산될 수 있음을 이해해야 한다. 또한, 본원에 사용된 바와 같이, "예시적인"이라는 용어는 무언가의 예시 또는 예로서 작용하는 것을 의미하는 것이며, 선호도를 나타내기 위한 것이 아니다.
SSAR과 관련된 다양한 기술이 여기에 설명되어 있는데, 룸 내의 투영 표면에 투영된 이미지로 인해 룸의 두 명 이상의 사용자가 그 두 명의 사용자 사이의 공간에 있는 가상 객체를 동시에 인식하게 된다. 즉, 두 명의 사용자는 가상 객체를 그 두 명의 사용자 사이의 공간에 있는 것으로(마치 실제 객체가 두 명의 사용자 사이의 공간에 있는 것처럼) 인식한다. 또한, 여기에 기술된 기술들은 두 명의 사용자가 공간에서 가상 객체의 움직임을 동시에 인식하게 하여, 예를 들어 제1 사용자가 가상 객체가 더 가깝게 움직이고 있다는 것을 인식할 수 있는 반면, 제2 사용자는 가상 객체가 더 멀리 움직이고 있다는 것을 인식할 수 있다. 제1 사용자와 제2 사용자가 AR(augmented reality, 증강 현실) 헤드 기어를 착용할 필요가 없는 룸의 투영 표면에 적어도 하나의 프로젝터가 이미지를 투영하게 함으로써 SSAR을 실현할 수 있다.
이제 도 1을 참조하면, 도 1에서, 룸(100)이 도시되고, 룸에는 프로젝터들 및 센서들이 구비된다. 본 명세서에서 설명되는 바와 같이, 프로젝터들은 센서들에 의해 출력된 데이터에 기초하여 룸(100)의 투영 표면 상에 이미지를 투영하도록 구성되며, 투영된 이미지는 룸(100) 내의 적어도 두 명의 사용자에 대해 SSAR을 달성한다. 룸(100)은 제1 벽(102), 제1 벽(102)에 직각인 제2 벽(104), 제1 벽(102)과 평행 한 제3 벽(106) 및 바닥(108)에 의해 경계 지어진다. 제1 벽(102)이 제3 벽(106)과 평행하고 제2 벽(104)과 직교하는 것으로 도시되어 있지만, 룸(100)은 정사각형 또는 직사각형일 필요는 없다. 일 예에서, 벽(102-106) 및 바닥(108)은 투영 표면으로서 작용한다. 또한, 룸(100)은 천장 및 제4 벽(도시하지 않음)을 포함한다. 또한, 룸(100)은 투영 표면으로서 작용할 수 있는 가구, 전자 장치, 러그, 카펫 등을 포함할 수 있다.
제1 사용자(110) 및 제2 사용자(112)는 룸(100) 내에 있고 서로 마주하고 있다. 예를 들어, 제1 사용자(110)는 제1 벽(102)에 근접할 수 있는 반면, 제2 사용자(112)는 제3 벽(106)에 근접할 수 있다. 제1 사용자(110)는 제2 사용자(112)와 직면할 때, (제1 사용자(110)의 시야 주변 내에 있는) 제3 벽(106), 제2 벽(104)의 일부들, 및 바닥(108)을 본다. 마찬가지로 제2 사용자(112)는 제1 사용자(110)와 직면할 때, (제2 사용자(112)의 시야 주변 내에 있는) 제1 사용자(110), 제1 벽(102), 제2 벽(104)의 일부들 및 바닥(108)을 본다.
룸(100)은 내부에 제1 프로젝터(114), 제2 프로젝터(116) 및 제3 프로젝터(118)를 갖는다. 제1 프로젝터(114)는 제1 사용자(110)의 머리 위의 제1 벽(102) 상에 장착된다. 제1 프로젝터(114)는 제3 벽(106), 제2 사용자(112), 제2 벽(104)의 우측 부분, 바닥(108)의 우측 부분 등과 같은, 룸(100)의 오른쪽의 투영 표면 상에 이미지를 투영하도록 구성된다. 제3 프로젝터(118)는 제2 사용자(112)의 머리 위의 제3 벽(106)에 장착된다. 제3 프로젝터(118)는 제1 벽(102), 제2 벽(104)의 좌측 부분, 제1 사용자(110) 및 바닥(108)의 좌측 부분과 같은, 룸(100)의 왼쪽의 투영 표면 상에 이미지를 투영하도록 구성된다. 제2 프로젝터(116)는 제2 벽(104) 상에 장착되고, 제1 프로젝터(114) 및 제3 프로젝터(118)에 의해 투영된 이미지에서 "틈을 메우도록(fill gaps)" 룸(100)의 투영 표면 상에 이미지를 투영하도록 구성된다. 예를 들어, 양쪽 제1 프로젝터(114) 및 제3 프로젝터(118) 모두 이미지를 투영할 수 없는 바닥(108)의 부분들이 있을 수 있다. 제2 프로젝터(116)는 바닥(108)의 그러한 부분 상에 이미지를 투영할 뿐만 아니라 룸(100)의 다른 부분들에 중첩된 이미지를 제공하도록 구성될 수 있다.
3개의 프로젝터가 룸(100)에 있는 것으로 도시되어 있지만, 더 많거나 적은 프로젝터가 룸에 포함될 수 있다는 것을 이해해야 한다. 예를 들어, 이하의 실시 예에 도시된 바와 같이, 룸(100)은 제1 벽(102), 제2 벽(104), 제3 벽(106) 및 바닥(108) 상에 이미지를 동시에 투영하도록 구성된 단일 프로젝터(예를 들어, 천장에 위치되거나 부착됨)를 포함할 수 있다. 다른 예에서, 제1 프로젝터(114) 및 제3 프로젝터(118)만이 룸(100)에 있을 수 있다. 또 다른 예에서, 3개보다 많은 프로젝터가 룸(100)에 위치될 수 있다.
아래에서 더 상세히 설명되는 바와 같이, 프로젝터(114-118)는 SSAR이 수행되도록 (벽 및 사용자들(110 및 112)를 포함하는) 룸(100)의 투영 표면 상에 이미지를 투영한다. 보다 구체적으로, 프로젝터(114-118)에 의해 투영된 이미지는 제1 사용자(110)와 제2 사용자(112) 모두 제1 사용자(110)와 제2 사용자(112) 사이의 공간에서 적어도 하나의 가상 객체(120)를 동시에 인식하게 한다. 가상 객체(120)는 구, 지구, 건물 등과 같은 3차원 객체일 수 있다. 다른 예에서, 가상 객체(120)는 지도와 같은 평면 객체일 수 있다.
프로젝터(102-106)에 의해 투영된 이미지를 계산하기 위해, 룸(100)의 3차원 지오메트릭 모델이 실시간으로 생성되고 업데이트되어야 하며, 사용자들(110 및 112)의 뷰가 실시간으로 결정되고 갱신되어야 한다. 각 사용자의 뷰는 룸(100) 내의 각 사용자의 위치(예컨대, 각 사용자의 머리의 위치) 및 각 사용자의 시선 방향의 함수이다. 복수의 센서 유닛(122-126)은 룸에 포함될 수 있으며, 센서 유닛(122-126) 각각은 적어도 하나의 신호를 생성하도록 구성되며, 상기 적어도 하나의 신호는 센서로부터의 센서의 시야 내의 객체의 깊이를 나타내고 또한 객체의 유형을 나타낸다. 예를 들어, 센서 유닛(122-126) 각각은 서로 캘리브레이트(calibrate)되는 RGB(red-green-blue) 카메라 및 깊이 센서(카메라)를 포함할 수 있고, 각각의 센서에 의해 출력되는 상기 적어도 하나의 신호는 컬러 비디오 피드 및 깊이 피드(비디오 프레임 및 깊이 프레임)일 수 있다.
보다 구체적으로, 룸(100)은 제1 프로젝터(114)에 근접하게 위치된 제1 센서 유닛(122), 제2 프로젝터(116)에 근접하게 위치된 제2 센서 유닛(124), 및 제3 프로젝터(118)에 근접하게 배치된 제3 센서 유닛(126)을 포함하는 것으로 도시되어 있다. 전술한 바와 같이, 센서 유닛(122-126)에는 RGB 카메라 및/또는 깊이 카메라가 포함될 수 있다. 깊이 카메라는 구조화된 광 기술, 비행 시간 기술 등과 같은 임의의 적합한 깊이 감지 기술에 기초하여 깊이 프레임을 생성할 수 있다. 센서 유닛(122 내지 126)에 의해 생성되는 신호는 시간 경과에 따라 룸(100) 내의 사용자들(110 및 112)의 움직임을 나타낸다. 후술되는 바와 같이, 센서 유닛(122-126)에 의해 생성되는 신호에 기초하여, 실시간으로 프로젝터(114-18) 각각에 대해 이미지가 계산될 수 있고, 프로젝터(114-118)는 사용자들(110 및 112)에게 각각 가상 객체(120)의 공간적으로 정확한 뷰를 제공하도록 이미지를 출력할 수 있으며, 여기서 가상 객체(120)는 사용자들(110-112) 중 적어도 한 명의 검출된 움직임의 함수로서 공간에 위치된다. 예를 들어, 가상 객체(120)는 3차원 지구일 수 있고, 제1 사용자(110)는 지구를 향해 손을 뻗어서 제스처를 나타낼 수 있다. 제3 센서 유닛(126)은 제스처를 캡처하는 신호(예를 들어, 컬러 프레임 및 깊이 프레임)를 생성할 수 있고, 제스처는 신호에 기초하여 검출될 수 있다. 제스처가 검출되는 것에 응답하여, 프로젝터(114-118)에 의한 투영을 위한 이미지가 계산되고, 이미지가 투영될 때 제1 사용자(110) 및 제2 사용자(112)는 지구가 회전하고 있음을 인지하게 한다. 다른 예에서, 가상 객체(120)는 공일 수 있고, 제2 사용자(112)는 그녀가 제1 사용자(110)를 향해 공을 던지는 것처럼 몸짓을 할 수 있다. 제1 센서 유닛(122)은 이러한 제스처를 나타내는 센서 신호를 생성할 수 있고 프로젝터(114-118)는 룸(100)의 투영 표면 상에 이미지를 투영하도록 야기될 수 있으며, 투영된 이미지는 제1 사용자(110) 및 제2 사용자(112)가 공이 제2 사용자(112)로부터 제1 사용자(110) 방향으로 이동하고 있음을 감지하게 할 수 있다. 더 간단히 말하자면, 제1 사용자(110) 및 제2 사용자(112)에게 그들이 서로 캐치볼을 하고 있다는 인식이 제공될 수 있고, 공은 가상이고 경험은 투영된 이미지로 인한 것이긴 하지만, 둘 다 제1 사용자(110)와 제2 사용자(112) 사이에 공이 움직이고 있다는 것을 인지할 수 있다.
이제 도 2를 참조하면, 센서 유닛(122-126)에 의해 생성되는 센서 신호에 기초하여 프로젝터(114-118)에 의해 투영될 이미지를 계산하도록 구성된 예시적인 컴퓨팅 디바이스(200)가 도시되어 있다. 컴퓨팅 장치(200)가 단일 컴퓨팅 장치로서 도시되어 있지만, 컴퓨팅 장치(200)는 서로 통신하고 서로에 대해 동기하여 동작하는 다수의 컴퓨팅 장치일 수 있음을 이해해야 한다. 또한, 컴퓨팅 장치(200)는 룸(100) 내의 프로젝터(114-118) 및 센서 유닛(122-126)에 근접하여 위치될 수 있다. 다른 예에서, 컴퓨팅 장치(200)는 데이터 센터에 위치될 수 있고, 적당한 고속 네트워크 접속에 의해 프로젝터(114-118) 및 센서 유닛(122-126)과 통신할 수 있다. 또한, 컴퓨팅 장치(200)는 센서 유닛(122-126)에 의해 생성되는 센서 신호를 처리하고 프로젝터(114-118)에 의한 투영을 위해 이미지를 계산할 수 있는 임의의 적합한 컴퓨팅 장치일 수 있다. 따라서, 컴퓨팅 장치(200)는 서버 컴퓨팅 장치, 데스크탑 컴퓨팅 장치, 랩탑 컴퓨팅 장치, 태블릿(슬레이트) 컴퓨팅 장치, 이동 전화, 웨어러블 컴퓨팅 장치 등일 수 있다.
컴퓨팅 장치(200)는 프로세서(202) 및 프로세서(202)에 액세스 가능한 데이터 및 명령어들을 포함하는 메모리(204)를 포함한다. 보다 구체적으로, 메모리(204)는 프로세서(202)에 의해 실행되는 복수의 컴포넌트를 포함하며, 컴포넌트들은 프로세서(202)에 의해 실행될 때, 특정 기능을 수행한다. 복수의 컴포넌트는 룸 주위에 배치된 센서 유닛(122-126)에 의해 출력된 신호에 기초하여 룸(100)의 3 차원 지오메트릭 모델(207)을 생성하도록 구성된 캘리브레이터 컴포넌트(206)를 포함한다. 전술한 바와 같이, 센서 유닛(122-126)은 깊이 카메라뿐만 아니라 RGB 카메라를 포함할 수 있다. 캘리브레이터 컴포넌트(206)는 전체 좌표계(global coordinate system)를 결정하기 위해 센서 유닛(122-126)을 캘리브레이트할 수 있고 전체 좌표계에서 룸(100)의 3 차원 지오메트릭 모델(207)을 생성할 수 있다.
비 제한적인 예에서, 캘리브레이터 컴포넌트(206)는 각 프로젝터 및 센서 유닛의 자세(pose), 초점 길이 및 광학 중심을 결정하도록 구성될 수 있다. 예를 들어, 캘리브레이터 컴포넌트(206)는 각 프로젝터가 차례로 일련의 그레이 코드(Gray code) 패턴을 디스플레이하고 센서 유닛(122-126)의 RGB 카메라가 룸(100)의 투영 표면상의 그레이 코드 패턴의 이미지를 캡쳐하는 오프-라인 절차에서 이러한 정보를 복구할 수 있다. 캘리브레이터 컴포넌트(206)는 센서 유닛(122-126)에 의해 출력되는 이미지에서 그레이 코드 패턴의 위치를 식별할 수 있고, 하나 이상의 센서 유닛(122-126)의 컬러 카메라의 좌표 프레임에서의 3차원 포인트로부터 프로젝터의 이미지의 대응 포인트로의 매핑을 결정할 수 있다.
프로젝터 및 센서 유닛이 쌍으로 함께 위치되는 예에서, 캘리브레이터 컴포넌트(206)는 센서 유닛의 모든 RBG 카메라를 구동하여 다른 프로젝터들의 그레이 코드 패턴을 관찰하고, 다른 프로젝터들에 의해 출력되는 이미지가 RBG 카메라에 대한 프로젝터와 중첩되는 영역을 인식하며, 중첩 영역들의 대응 3D 포인트들을 정렬(align)하는 변환을 계산함으로써, 각 프로젝터-센서 유닛 쌍의 상대적인 자세를 결정할 수 있다. 이 프로세스는 모든 프로젝터 및 센서 유닛에 대한 전체 좌표계를 결정하는 결과를 가져온다. 동적 프로젝션 매핑은 또한 룸(100)의 정확한 표면 지오메트리를 필요로 한다. 전술한 바와 같이, 각 센서 유닛은 깊이 카메라에 의해 출력되는 깊이 데이터의 정확도가 깊이 카메라에 의해 보고되는 깊이 범위에 걸쳐 대략 일정할 수 있는 깊이 카메라를 포함할 수 있다. 전체 좌표계 및 센서 유닛(122-126)의 깊이 카메라에 의해 출력되는 깊이 데이터를 사용하여, 룸(100)의 3D 지오메트릭 모델(207)이 생성될 수 있다.
메모리(204)는 센서 유닛(122-126)에 의해 출력되는 센서 데이터(209) 및 룸(100)의 3차원 지오메트릭 모델(207)을 수신하도록 구성되는 추적 컴포넌트(208)를 더 포함하며, 센서 데이터(209) 및 룸(100)의 3D 기하학적 모형(207)에 기초하여 위치 데이터(210)를 계산하도록 또한 구성될 수 있다. 위치 데이터(210)는 룸(100)에서의 제1 사용자(110) 및 제2 사용자(112)의 위치, 제1 사용자(110) 및 제2 사용자(112)의 룸(100)에서의 추정된 시선 방향, 및 사용자들(110-112)의 추정된 시야(시야는 사용자들(110-112)의 시야 내의 룸의 투영 표면(들)의 부분(들)의 식별을 포함함)를 포함할 수 있다.
시선 방향과 관련하여, 추적 컴포넌트(tracker component, 208)는 예를 들어, 룸(100) 내의 각 사용자의 머리의 3D 위치 및 룸(100) 내의 각 사용자의 머리의 기울기에 기초하여 각 사용자에 대한 시선 방향을 추정할 수 있다. 또한, 추적 컴포넌트(208)는 센서 데이터(209)에 기초하여 각 사용자의 각 눈의 위치를 식별할 수 있고, 사용자의 각 눈의 위치에 기초하여 각 사용자의 시선 방향을 추정할 수 있다. 또한, 추적 컴포넌트(208)는 팔 움직임, 손 움직임, 머리 움직임, 손가락 움직임 등을 포함하는 사용자들(110-112)의 말단의 움직임을 계산하기 위해 골격 추적을 수행할 수 있다.
추적 컴포넌트(208)는 사용자들(110 및 112)의 추정된 시선 방향에 기초하여 사용자들(110 및 112) 각각의 시야를 추정할 수 있다. 보다 구체적으로, 룸(100)의 3D 지오메트릭 모델(207) 및 사용자들(110 및 112)의 시선 방향에 기초하여, 추적 컴포넌트(208)는 룸(100) 내에서의 사용자들(110 및 112)의 현재 위치 및 그들의 현재 시선 방향이 주어졌을 때 사용자들(110-112)가 보게 될 투영 표면(들)의 부분(들)을 식별할 수 있다.
메모리(204)는 또한 룸(100) 내의 프로젝터(114-118)에 대해 프로젝터(114-118)에 의해 투영될 프레임(214)을 생성하는 렌더링 컴포넌트(212)를 포함하며, 프레임(214)은 사용자들(110-112)에 의해 인식될 가상 객체(120), 사용자들(110-112)가 가상 객체(120)를 인식해야 하는 공간에서의 위치, 추적 컴포넌트(208)에 의해 계산된 위치 데이터(210) 및 프로젝터의 커버리지에 기초한다.
보다 구체적으로, 렌더링 컴포넌트(212)는 제1 사용자(110)에 대한 제1 뷰 및 제2 사용자(112)에 대한 제2 뷰를 계산하고, 제1 사용자(110)는 제1 뷰를 인식하고, 제2 사용자(112)는 제2 뷰를 인식한다. 전술한 바와 같이, 렌더링 컴포넌트(212)는 (룸(100) 내의 사용자들(110 및 112)의 위치를 반영하도록 실시간으로 업데이트되는) 추적 컴포넌트(208)에 의해 출력되는 위치 데이터(210) 및 룸(100)의 3D 지오메트릭 모델(207)에 기초하여 뷰를 계산한다. 이러한 계산된 뷰는 프로젝터 (114-118)를 통해 추상화될 수 있다. 제1 사용자(110)에 대한 제1 뷰는 제1 사용자(110)로 하여금 룸(100) 내의 공간의 특정 위치에 가상 객체(120)가 있다는 것을 인식하게 하기 위하여 이미지가 룸(100) 내에서 어디에 투영되는지 나타내는 반면, 제2 사용자(112)에 대한 제2 뷰는 제2 사용자(112)로 하여금 룸(100) 내의 공간의 특정 위치에 가상 객체(120)가 있다는 것을 인식하게 하기 위하여 이미지가 룸(100) 내에서 어디에 투영되는지 나타낸다. 캘리브레이션 동안에 결정되는 프로젝터(114-118)의 알려진 커버리지 및 계산된 뷰에 기초하여, 렌더링 컴포넌트(212)는 각각의 프로젝터(114-118)에 대한 프레임(214)을 생성할 수 있고 프레임(114-118)을 프로젝터(114-118)로 전송할 수 있다. 프로젝터(114-118)는 그것의 수신에 응답하여 각각의 프레임(214)을 투영하고, 투영된 이미지는 사용자들(110-112) 모두 룸(100) 내의 공간에서 가상 객체(120)를 인식하도록 한다.
또한, 제1 사용자 및 제2 사용자들(110 및 112)는 그 자체가 투영 표면일 수 있기 때문에, 렌더링 컴포넌트(212)는 룸(100) 내의 제2 사용자(112)의 위치에 기초하여 제1 사용자(110)에 대한 제1 뷰를 계산할 수 있다. 마찬가지로, 렌더링 컴포넌트(212)는 룸(100) 내의 제1 사용자(110)의 위치에 기초하여 제2 사용자(112)에 대한 제2 뷰를 계산할 수 있고, 룸(100) 내의 사용자들(110 및 112)의 위치는 추적 컴포넌트(208)에 의해 계산된다. 전술한 바와 같이, 추적 컴포넌트(208) 및 렌더링 컴포넌트(212)는 실시간으로 위치 데이터(210) 및 프레임(214)을 각각 계산하여, 사용자(110) 및/또는 사용자(112)가 룸(100) 내에서 위치 및/또는 시선 방향을 바꿀 때, 프로젝터(114-118)에 의해 투영되는 이미지가 업데이트되도록 한다.
이제 도 3을 참조하면, 룸(100)의 다른 예시적인 묘사가 도시되어 있다. 도 3에 도시된 바와 같은 룸(100)에서, 제1 프로젝터(114), 제1 센서 유닛(122), 제3 프로젝터(118) 및 제3 센서 유닛(126)이 포함되어 있다. 제1 프로젝터(114)는 룸의 제3 벽(106) 상에 이미지를 투영하도록 구성되는 반면, 제3 프로젝터(118)는 룸(100)의 제1 벽(102) 상에 이미지를 투영하도록 구성된다.
룸(100)의 3D 지오메트릭 모델(207) 및 제3 센서 유닛(126)에 의해 출력된 신호에 기초하여 추적 컴포넌트(208)는 참조 번호 302로 나타낸 바와 같이, 제1 사용자(110)에 대한 제1 시야를 계산할 수 있다. 마찬가지로, 룸(100)의 3D 지오메트릭 모델(207) 및 제1 센서 유닛(122)에 의해 출력된 센서 신호에 기초하여, 추적 컴포넌트(208)는 참조 번호 304로 나타낸 바와 같이, 제2 사용자(112)에 대한 제2 시야를 계산할 수 있다.
렌더링 컴포넌트(212)는 시야(302 및 304) 및 사용자들(110 및 112)이 가상 객체(120)를 인식해야 하는 공간상의 위치에 기초하여 제1 사용자(110)에 대한 제1 뷰 및 제2 사용자(112)에 대한 제2 뷰를 각각 수신 및 계산한다. 예를 들어, 렌더링 컴포넌트(212)는 가상 객체(120)가 제1 사용자(110)와 제2 사용자(112)에 의해 제1 사용자(110)와 제2 사용자(112) 사이의 공간의 특정 위치에 있는 것으로 인식될 것이라는 표시를 수신할 수 있다. 그 후 렌더링 컴포넌트(212)는 사용자들(110 및 112)로 하여금 가상 객체(120)를 공간의 그 위치에 있는 것으로 동시에 인식하게 하는, 사용자들(110 및 112) 각각에 대한 뷰를 계산한다. 따라서, 가상 객체(120)는 두 번, 즉, 제1 사용자(110)에 대해 한 번, 제2 사용자(112)에 대해 한 번 렌더링된다. 제1 사용자(110) 및 제2 사용자(112)는 반대 방향으로 보고 있기 때문에, 제1 사용자(110)는 제2 사용자(112)에 대하여 의도된 그래픽을 볼 가능성이 적고 그 역도 같은데, 그 이유는 예를 들어 제2 사용자(112)에 대하여 의도된 이미지가 제1 벽(102) 위에 제1 사용자(110) (또는 제1 사용자(110)의 몸 위에) 뒤에 나타날 것이기 때문이다. 렌더링 컴포넌트(212)는 제1 사용자(110)가 가상 객체(120)를 인식하게 될 룸(100) 내의 원하는 공간적 위치를 알고 있기 때문에, 렌더링 컴포넌트(212)는 제1 프로젝터(114)에 의해 투영될 프레임을 생성하는데, 프레임은 제1 프로젝터(114)에 의해 제3 벽(106)에 투영될 때 제1 사용자(110)가 가상 객체(120)가 룸(100) 내의 원하는 공간적 위치에 있다는 것을 인식하도록 하는 적절한 크기와 배향(orientation)을 가진 가상 객체(12)의 렌더링을 포함한다.
유사하게, 렌더링 컴포넌트(212)는 룸(100) 내의 가상 객체(120)의 의도된 공간적 위치를 알고 있기 때문에, 렌더링 컴포넌트(212)는 제3 프로젝터(118)에 의해 제1 벽(102) 상에 투영될 때 제2 사용자(112)가 가상 객체(120)가 룸(100)의 원하는 공간적 위치에 있다는 것을 인식하게 하는 적절한 크기 및 배향을 가진 가상 객체(120)의 렌더링을 포함하는 프레임을 생성할 수 있다. 도 3에 도시된 바와 같이, 제1 프로젝터(114)는 제3 벽(106) 상의 가상 객체(120)의 제1 렌더링(306)을 제3 벽(106) 상의 적절한 위치 및 배향으로 투영하여, 제1 사용자(110)가 가상 객체(120)를 원하는 공간적 위치에서 인식하게 할 수 있다. 유사하게 그리고 동시에, 제3 프로젝터(118)는 가상 객체(120)의 제2 렌더링(308)을 제1 벽(102) 상에 투영하여, 제2 사용자(112)가 의도된 공간적 위치에서(예를 들어, 제1 사용자 제2 사용자(112) 사이에서) 가상 객체(120)를 인식하도록 한다.
이제 도 4를 참조하면, 룸(100)의 다른 예시적인 묘사가 도시되어 있다. 도 3에서, 가상 객체(120)는 제1 사용자(110) 및 제2 사용자(112) 양쪽으로부터의 거리가 대략 동일한 공간 내의 위치에 있는 것으로 도시되어 있다. 도 4에서 가상 객체(120)는 제2 사용자(112)에 비하여 제1 사용자(110)에 공간상으로 더 가깝게 있는 것으로 도시되어 있다. 전술한 바와 같이, 제1 센서 유닛(122) 및 제3 센서 유닛(126)에 의해 출력되는 신호에 기초하여, 추적 컴포넌트(208)는 룸(100) 내의 제1 사용자(110) 및 제2 사용자(112)의 위치 및 사용자들(110 및 112)의 시야를 포함하는 위치 데이터(210)를 계산할 수 있다.
사용자들(110 및 112)의 시야에 기초하여, 그리고 가상 객체(120) 및 가상 객체(120)가 사용자들(110 및 112)에 의해 인식되어야 하는 룸(100)의 공간적 위치에 또한 기초하여, 렌더링 컴포넌트(212)는 제1 사용자(110)에 대한 제1 뷰 및 제2 사용자(112)에 대한 제2 뷰를 계산할 수 있다. 가상 객체(120)는 제1 사용자(110)에게 제1 사용자에 매우 근접하게 보이므로, 렌더링 컴포넌트(212)에 의해 계산되는 제1 뷰는 제3 벽(106) 상에 투영될 가상 객체(120)의 제1 렌더링(402)을 포함할 수 있다. 가상 객체(120)의 제1 렌더링(402)은 제3 벽(106)상에서 비교적 커서 제1 사용자(110)에게 가상 객체(120)가 제1 사용자(110)에게 비교적 가깝다는 인식을 제공한다. 대조적으로, 제2 사용자(112)에 대하여 렌더링 컴포넌트(212)에 의해 계산되는 제2 뷰는 제1 벽(102) 상에 투영되는 가상 객체(120)의 제2 렌더링(404)을 포함할 수 있는데, 가상 객체(120)의 제2 렌더링(404)이 상대적으로 작아서, 가상 객체(120)가 제2 사용자(112)로부터 상대적으로 멀리 떨어진 공간에 위치한다는 인식을 제2 사용자(112)에게 제공한다. 전술한 바와 같이, 추적 컴포넌트(208) 및 렌더링 컴포넌트(212)는 실시간으로 동작하여, 제1 사용자(110) 및 제2 사용자(112)에 대해 계산된 뷰가 실시간으로 계산되고, 가상 객체(120)의 위치가 변할 때, 제1 사용자(110)의 위치가 변화하고/하거나 제2 사용자(112)의 위치가 변할 때, 제1 사용자(110) 또는 제2 사용자(112) 중 어느 한 명의 시선 방향이 변할 때 가상 객체(120)의 렌더링이 업데이트된다.
도 5는 룸(100)의 다른 묘사이다. 이 예에서, 하나의 프로젝터(502)가 룸에 포함되고, 프로젝터(502)는 룸(100)의 천장에 부착되거나 룸(100)의 천정에 매립된다. 프로젝터(502)는 프로젝터(502)가 적어도 제1 벽(102)과 제3 벽(106)에 동시에 이미지를 투영할 수 있도록 광각(wide-angle) 프로젝터일 수 있다. 전술한 바와 같이, 렌더링 컴포넌트(212)는 제1 사용자(110)에 대한 제1 뷰 및 제2 사용자(112)에 대한 제2 뷰를 계산한다; 그러나, 프로젝터(502)는 두 개의 뷰를 투영한다. 즉, 렌더링 컴포넌트(212)에 의해 생성되는 프레임(214)은 제1 뷰 및 제2 뷰 모두를 나타낸다.
이제 도 6을 참조하면, 룸(100)의 다른 예시적인 묘사가 제공된다. 이 도면에서, 제1 사용자(110) 및 제2 사용자(112)에 대하여 각각 렌더링 컴포넌트에 의해 계산된 제1 뷰 및 제2 뷰는 투영 표면상에서 중첩된다. 다시 말해서, 제1 사용자(110)는 (제1 사용자(110)에 대해 의도된 가상 객체(120)의 렌더링뿐만 아니라) 제2 사용자(112)에 대해 의도된 가상 객체(120)의 렌더링을 인식할 것이고, 제2 사용자(112)는 (제2 사용자(112)에 대해 의도된 가상 객체의 렌더링뿐만 아니라) 제1 사용자(110)에 의도된 가상 객체(120)의 렌더링을 인식할 것이다.
렌더링 컴포넌트(212)가 이러한 상황을 검출할 때, 렌더링 컴포넌트(212)는 임의의 다양한 기술을 수행할 수 있다. 제1 예에서, 렌더링 컴포넌트(212)는 제1 사용자(110)에 대한 제1 뷰 및 제2 사용자(112)에 대한 제2 뷰가 룸(100)에서 동시에 투영되도록 사용자들(110 및 112)에 대한 뷰를 혼합(blend)할 수 있다. 다시 말해서 사용자들(110 및 112) 모두는 바닥(108) 상에서 가상 객체(120)의 두 개의 뷰를 인식할 수 있다. 가상 객체(120)가 지상에 있다고 인식될 때, 두 명의 사용자들(110 및 112)에 대한 2 개의 뷰는 중첩될 것이다. 다른 예에서, 렌더링 컴포넌트(212)는 사용자들(110 및 112) 모두에 의해 인식되어야 하는 단일 뷰를 렌더링할 수 있다(예를 들어, 그렇지 않으면 사용자들(110 및 112)에 제시될 가상 객체(120)의 렌더링이 가상 객체(120)의 두 개의 렌더링 사이에 놓이는 경우). 또 다른 예에서, 두 명의 사용자들(110 또는 112) 중 한 명은 지배적인 사용자(dominant user)일 수 있어서, 렌더링 컴포넌트가 뷰들이 중첩되는 것을 검출할 때, 렌더링 컴포넌트(212)는 지배적인 뷰에 기초하여 프레임들을 생성하고, 지배적인 사용자가 가상 객체(120)를 공간 내의 적절한 위치에 있는 것으로 인식하도록 가상 객체(120)의 렌더링이 도시된다.
이제 도 7을 참조하면, 룸(100)의 다른 예시적인 묘사가 제공된다. 이 예에서, 사용자들(110 및 112) 자체는 투영 표면으로서 작용한다. 즉, 렌더링 컴포넌트(212)는 룸 내의 사용자들(110 및 112)의 위치 및 사용자들(110 및 112)의 형태(shape)에 기초하여 사용자에 대한 뷰를 계산한다. 여기에 도시된 예에서, 렌더링 컴포넌트(212)는 가상 객체(120)의 제1 렌더링(702)이 제2 사용자(112) 상에 적어도 부분적으로 투영되도록 제1 사용자(110)에 대한 제1 뷰를 계산한다. 렌더링 컴포넌트(212)는 가상 객체(120)의 제2 렌더링(704)이 제1 사용자(110)에 적어도 부분적으로 투영되도록 제2 사용자(112)에 대한 제2 뷰를 동시에 계산한다.
뷰를 계산할 때 위치 데이터(210)를 고려하는 것에 더하여, 렌더링 컴포넌트(212)는 룸(100) 내의 투영 표면의 질감, 패턴, 및/또는 반사 성질을 고려할 수 있다. 예를 들어, 제1 사용자(110)는 덜 반사되고 짙은 색의 바지를 착용하면서 반사되고, 엷은 색의 셔츠를 착용하고 있을 수 있다. 렌더링 컴포넌트(212)는 룸(100) 내의 제3 센서 유닛(126)에 의해 출력되는 이미지에 기초하여 이러한 정보를 알아낸다. 그 후 렌더링 컴포넌트(212)는 뷰(view)를 계산하고 프레임(214)을 구성하여, 제3 프로젝터(118)가 제1 사용자(110) 상에 이미지를 투영하고, 이미지는 상이한 질감, 반사율, 패턴 등을 설명한다(account for). 또한, 렌더링 컴포넌트(212)는 뷰를 계산하고, 색조, 질감 등과 같은(이에 제한되는 것은 아님) 룸 내의 투영 표면의 색 성질에 기초하여 프레임(214)을 구성한다.
도 1 및 도 3 내지 도 7은 룸 내의 프로젝터들 및 센서들의 예시적인 배열을 도시하지만, 다른 배열들 및 확장들이 고려될 수 있음을 이해해야 한다. 예를 들어, 프로젝터들 및 센서 유닛들이 룸의 벽에 부착되는 대신에, 프로젝터들 및/또는 센서 유닛들은 사용자들(110-112)이 착용해야 하는 헤드기어(headgear)에 구현될 수 있다. 프로젝터들은 관련된 관성 센서를 가질 수 있어서, 룸(100) 내의 사용자들(110-112)의 시야가 헤드기어 내의 프로젝터들의 검출된 위치에 기초하여 결정될 수 있다. 렌더링 컴포넌트(212)는 프로젝터들의 검출된 위치에 기초하여 사용자들(110-112)에 대한 뷰를 생성할 수 있다. 다른 예에서, 렌더링 컴포넌트(212)는 각 사용자에 대한 두 개의 뷰, 즉 각 사용자의 각 눈에 대하여 하나의 뷰를 계산할 수 있다. 이 경우, 룸(100)은 입체적으로 배열된 프로젝터를 포함할 수 있으며, 제1 프로젝터는 한쪽 눈에 대한 뷰를 투영하고 제2 프로젝터는 다른 쪽 눈에 대한 뷰를 투영한다. 이 경우, 사용자들 각각은 셔터 안경(shutter glasses)을 착용할 수 있다.
또한, 전술한 바로부터, 사용자들(110 및 112)이 사용자들(110 및 112) 사이의 공간에서 하나 이상의 가상 객체와 상호 작용할 수 있는 SSAR 애플리케이션이 고려된다는 것을 알 수 있다. 예를 들어, 가상 객체를 만지는 것은 사용자에 대한 깊이 맵으로부터 취해진 추적된 손 위치 또는 포인트 중 하나를 가상 객체(120)의 지오메트리와 교차시킴으로써 구현될 수 있다.
다른 예에서, 렌더링 컴포넌트(212)는 사용자들(110 또는 112)이 사용자들 중 한 명이 손에 가상 객체(120)를 쥐고 있다는 것을 인식하도록 프로젝터(114-118)가 이미지를 투영하도록 할 수 있다. 또 다른 예에서, 가상 객체(120)는 손이 하나 이상의 센서(122-126)에 의해 3차원으로 추적될 때 손 위에 조정된 포인트를 따르도록 스크립팅될 수 있다. 전술한 바와 같이, 렌더링 컴포넌트(212)는 가상 객체(120)의 2개의 렌더링을, 즉, 각 사용자에 대해 하나씩 생성한다. 예를 들어, 제1 사용자(110)가 그녀의 손을 그녀의 몸 앞에서 들고 있을 때, 그녀의 뷰는 아마도 제2 사용자(112)의 몸에 걸쳐있을 수 있는 룸(100)의 먼 표면 상의 큰 투영을 포함할 것이다. 한편, 제2 사용자(112)의 뷰는 아마도 제1 사용자(110)의 몸통 상의 객체의 작은 투영을 포함할 것이다.
또 다른 예에서, 잡고 있는 객체는 방출(release) 조건을 충족시킴으로써 드롭되거나 던져질 수 있다. 예를 들어, 손의 속도 또는 가속도가 어느 정도 임계치를 초과하면 잡고 있는 공이 던져질 수 있다. 방출의 순간에, 공은 던지는 손의 속도를 취할 수 있다. 잡기(catch) 또는 줍기(pick up)는 객체가 추적된 손에 언제 충분히 근접하는지 간단히 테스트함으로써 구현될 수 있다.
다른 예들에서 가상 객체와 룸 내의 표면 또는 사용자의 충돌을 검출할 수 있으므로 현실적인 충돌 대응이 가능하다. 룸의 정적인(static) 부분들에 대한 미리 계산된 충돌 지오메트리를 사용하여 움직이는 객체의 형태를 근사할 수 있다. 렌더링 파이프 라인으로는 룸의 정적인 부분에 질감를 적용하는 것이 상대적으로 쉽지만, 사용자와 같이 움직이는 객체에 질감를 적용하려면 투영 표면을 실시간으로 추적해야 한다. 광학 흐름(optical flow)과 같은 로우 레벨(low-level) 모션 특징들이 이러한 실시간 추적에 사용할 수 있다. 실시간 광학 흐름은 적외선(infrared, IR) 센서로부터의 IR 비디오로부터 계산될 수 있다. 질감는, 질감의 초기 배치를 결정한 다음 광학 흐름에 의해 추정된 모션을 사용하여 여러 프레임에 걸쳐 표면을 따라감으로써, 움직이는 객체에 적용될 수 있다.
전술한 바와 같이, 가상 객체(120)는 3차원 모델, 공 등과 같은 임의의 적합한 가상 객체일 수 있다. 또한, 렌더링 컴포넌트(212)는 사용자들(110 및 112) 둘 다 사용자들(110 및 112) 사이의 공간에서 다수의 가상 객체를 인식할 수 있도록 다수의 가상 객체를 동시에 렌더링할 수 있다. 또 다른 예에서, 텍스트는 두명의 사용자들(110 및 112) 사이의 공간에서 렌더링될 수 있다. 예를 들어, 제1 사용자(110) 및 제2 사용자(112)는 상이한 언어를 말할 수 있다. 본 명세서에 설명된 양상들은 사용자들(110 및 112) 중 어느 한 명의 스피치의 검출, 및 제1 사용자(110)와 제2 사용자(112) 사이의 말풍선(speech bubble)의 디스플레이를 허용할 수 있고, 여기서 사용자들 각각은 그들이 각각 이해하는 언어로, 적절한 배향으로 스피치를 볼 것이다.
여기에 설명된 특징들이 특히 잘 맞을 수 있는 게임, 헬스케어 등에서 수많은 애플리케이션이 있다. 예를 들어, 본 명세서에 설명된 특징들은 의사가 실제로 객체를 사용하는 것을 요구하지 않으면서 들어오는 객체에 대한 환자의 반사 작용을 관찰하도록 허용할 수 있다. 따라서, 의사는 공을 사용자에게 실제로 던질 필요 없이 사용자가 공을 잡을 수 있는지 관찰할 수 있다. 여기에 설명된 특징들은 두 명의 환자가 물리적인 객체를 사용하지 않고도 SSAR 경험을 가질 수 있는 물리 치료 애플리케이션에 잘 맞을 수 있다. 예를 들어, 여기에 기술된 시스템이 두 명의 사용자 등으로부터 정확하게 인식되는 테니스 라켓 및 공을 렌더링 할 수 있기 때문에, 두 명의 환자는 공을 사용할 필요 없이 캐치볼 게임을 할 수 있고, 가상 테니스 게임을 할 수 있다. 다른 애플리케이션들은 쉽게 고려될 것이다.
도 8-11은 SSAR에 관한 예시적인 방법을 나타낸다. 방법론은 시퀀스로 수행되는 일련의 동작으로 도시되고 설명되었지만, 방법론은 시퀀스의 순서에 의해 제한되지 않는다는 것을 이해하고 인식해야 한다. 예를 들어, 일부 동작은 여기에 설명된 것과 다른 순서로 발생할 수 있다. 또한, 하나의 동작은 다른 동작과 동시에 발생할 수 있다. 또한, 일부 경우들에는 여기에 설명된 방법을 구현하기 위해 모든 동작이 요구되는 것은 아니다.
또한, 본 명세서에서 기술된 동작들은 하나 이상의 프로세서에 의해 구현될 수 있고/있거나 컴퓨터 판독 가능 매체 또는 미디어 상에 저장될 수 있는 컴퓨터 실행 가능 명령어들일 수 있다. 컴퓨터 실행 가능 명령어들은 루틴, 서브 루틴, 프로그램, 실행 스레드 및/또는 기타 등등을 포함할 수 있다. 또한, 방법론의 동작 결과는 컴퓨터 판독 가능 매체에 저장될 수 있고, 디스플레이 장치 상에 디스플레이될 수 있으며, 및/또는 기타 등등이 될 수 있다.
이제 도 8을 참조하면, SSAR을 수행하기 위한 예시적인 방법(800)이 설명된다. 방법(800)은 802에서 시작하고, 804에서, 환경(룸)에서 서로 마주하는 두 명의 사용자의 시야가 검출된다. 전술한 바와 같이, 시야는 환경 내의 두 명의 사용자의 위치, 환경 내의 사용자의 머리 기울기 등을 나타내는 센서 신호에 기초하여 검출될 수 있다. 806에서, 적어도 하나의 신호는 적어도 하나의 프로젝터로 전송되어, 적어도 하나의 프로젝터로 하여금 투영 표면 상으로 이미지를 투영하게 하고, 이미지는 투영 표면 상에 투영될 때, 두 명의 사용자가 그 두 명 사용자 사이의 공간에서 가상 객체를 인식하게 한다. 방법론(800)이 808에서 끝나는 것으로 도시되어 있지만, 가상 객체의 시야 및/또는 공간적 위치가 변함에 따라 이미지가 실시간으로 업데이트되도록, 방법론(800)이 반복될 수 있음을 이해해야 한다.
이제 도 9를 참조하면, 환경에서 이미지를 투영하기 위한 예시적인 방법(900)이 도시된다. 방법론(900)은 902에서 시작하고, 904에서, 제1 사용자에 의해 수행된 제스처가 검출되고, 제1 사용자는 룸 내의 제2 사용자를 대면하고 있다. 제스처는 깊이 카메라에 의해 출력된 깊이 이미지, RGB 카메라에 의해 출력된 컬러 이미지 등과 같은 센서 유닛에 의해 출력된 신호에 기초하여 검출될 수 있다. 906에서, 제스처에 기초하여, 적어도 하나의 신호가 적어도 하나의 프로젝터로 전송되어, 적어도 하나의 프로젝터가 투영 표면 상으로 이미지를 투영하게 하고, 여기서 이미지는 두 명의 사용자가 그 두 명의 사용자 사이의 공간에서 움직이는 가상 객체를 인식하게 한다. 예를 들어, 검출된 제스처는 던지는 모션일 수 있고, 이미지는 두 명의 사용자가 한 사용자에서 다른 사용자 쪽으로 움직이는 공을 인식하게 할 수 있다. 다른 예에서, 제스처는 스와이프(swipe)일 수 있으며, 프로젝터에 의해 투영되는 이미지는 두 명의 사용자가 두 명의 사용자 사이의 공간에서 회전하는 지구를 인지하게 할 수 있다. 방법론(900)은 908에서 완료된다.
이제 도 10을 참조하면, 두 명의 사용자가 두 명의 사용자 사이의 공간에서 가상 객체를 인식하게 하는, 룸에서 이미지를 투영하는 것을 용이하게 하는 또 다른 예시적인 방법(1000)이 도시되어 있다. 방법론(1000)은 1002에서 시작하고, 1004에서, 제1 사용자가 룸에서 제2 사용자를 향하고 있는 경우, 제1 사용자에 의해 구두로 발언된 단어 또는 구(phrase)가 검출된다. 예를 들어, 마이크로폰은 제1 사용자에 의해 설정된 발화된 발언을 캡쳐할 수 있고, 마이크로폰에 의해 출력된 신호에 기초하여 발언의 적어도 하나의 단어가 검출될 수 있다. 1006에서, 검출된 단어 또는 구에 기초하여, 적어도 하나의 신호가 적어도 하나의 프로젝터로 전송되어, 적어도 하나의 프로젝터가 룸에서 이미지를 투영하게 하고, 이미지는 두 명의 사용자가 그 두 명의 사용자 사이의 공간에서 가상 객체를 인식하게 한다. 다른 예에서, 검출된 단어 또는 구에 기초하여, 적어도 하나의 프로젝터로 전송되는 적어도 하나의 신호는 가상 객체가 외관 또는 위치를 변경하게 할 수 있다. 방법론(1000)은 1008에서 완료된다.
이제 도 11을 참조하면, 두 명의 개별 사용자를 위한 환경에서 두 개의 뷰를 동시에 투영하기 위한 예시적인 방법론(1100)이 도시되는데, 여기서 뷰는 두 명의 사용자가 SSAR 환경을 경험하게 한다. 방법론(1100)은 1102에서 시작되고, 1104에서, 제1 센서 장치에 의해 출력된 제1 신호가 수신된다. 제1 신호는 예를 들어, 깊이 이미지, 컬러 이미지 또는 룸의 제1 사용자의 위치를 나타내는 다른 신호일 수 있다. 1106에서, 제1 신호는 제1 사용자의 시선 방향을 계산하도록 처리된다. 예를 들어, 제1 신호는 룸의 제1 사용자의 컬러 이미지 및 깊이 이미지일 수 있거나 이를 포함할 수 있으며, 이들 이미지에 기초하여 제1 사용자의 머리 기울기 및 눈의 대략적인 위치가 결정될 수 있어서, 제1 사용자의 시선 방향이 추정될 수 있다. (또한, 제1 사용자의 시야가 추정될 수 있다.)
1108에서, 제2 센서 유닛에 의해 출력된 제2 신호가 수신된다. 예를 들어, 제2 센서 유닛은 제2 사용자를 향해 가리킬 수 있고, 제1 센서 신호와 마찬가지로, 제2 신호는 깊이 이미지, 컬러 이미지 등일 수 있거나 이를 포함할 수 있다. 1110에서, 제2 신호는 제1 사용자의 시선 방향에서 제1 사용자의 환경의 컴퓨터 구현 모델을 업데이트하도록 처리될 수 있다. 예를 들어, 제2 센서 신호는 룸 내의 제2 사용자의 위치, 형상 및 움직임을 나타낼 수 있으며, 여기서 제2 사용자는 이미지의 투영 표면으로서 작용할 수 있다.
1112에서, 제1 사용자에 대한 뷰는 제1 사용자의 시선 방향, 환경의 컴퓨터 구현 모델 및 가상 객체가 제1 사용자에 의해 인식되어야 하는 공간상의 위치에 기초하여 계산된다. 1114에서, 제1 명령은 제1 프로젝터로 전송되고, 여기서 제1 명령은 제1 프로젝터가 환경 내에서 제1 사용자에 대한 뷰를 투영하게 한다. 따라서, 제1 사용자는 가상 객체가 환경 내의 공간에서 적절한 위치에 있다고 인식할 것이다.
1116에서, 1108에서 수신된, 제2 센서 유닛에 의해 출력된 제2 신호는 제2 사용자의 시선 방향을 계산하도록 처리된다. 1118에서, 제1 신호는 제2 사용자의 시선 방향에서 환경의 컴퓨터 구현 모델을 업데이트하도록 처리된다. 1120에서, 환경에서 제2 사용자에 대한 뷰는, 1) 제2 사용자의 시선 방향; 2) 환경의 컴퓨터 구현 모델. 및 3) 가상 객체가 제2 사용자에 의해 인식될 공간에서의 원하는 위치에 기초하여 계산된다. 1122에서, 제2 명령이 제2 프로젝터로 전송되어, 제2 명령은 제2 프로젝터가 환경에서 제2 사용자에 대한 뷰를 투영하게 한다. 그 다음, 방법론(1100)은 1104로 복귀한다. 제1 사용자 및 제2 사용자가 공유된 경험을 갖도록 몇몇 동작이 동시에 수행되는 것을 알 수 있을 것이다.
본 명세서에 설명된 다양한 양상들에 관한 다양한 예가 이제 설명된다.
예 1: 컴퓨팅 시스템에 있어서, 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의해 실행되는 복수의 컴포넌트들을 포함하는 메모리를 포함하고,
상기 복수의 컴포넌트들은, 적어도 하나의 센서 장치에 의해 생성되는 적어도 하나의 신호에 기초하여 룸 내의 제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 계산하도록 구성된 추적 컴포넌트(tracker component); 및 렌더링 컴포넌트(render component)를 포함하고, 상기 렌더링 컴포넌트는, 상기 제1 사용자에게 제시되는 제1 뷰 - 상기 제1 뷰는 가상 객체를 포함함 - 를 상기 제1 사용자의 제1 위치에 기초하여 계산하고, 상기 제2 사용자에게 제시되는 제2 뷰 - 상기 제2 뷰는 상기 가상 객체를 포함함 - 를 상기 제2 사용자의 제2 위치에 기초하여 계산하고, 적어도 하나의 프로젝터로 하여금 상기 룸 내의 투영 표면들로 이미지를 투영하게 하는 적어도 하나의 프레임을, 상기 적어도 하나의 프로젝터로 전송하도록 구성되고, 상기 이미지는 상기 제1 뷰의 적어도 일부 또는 상기 제2 뷰의 적어도 일부 중 적어도 하나를 포함하여, 상기 제1 사용자 및 상기 제2 사용자 모두 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 상기 가상 객체를 인식하는 것인 컴퓨팅 시스템.
예 2: 예 1에 있어서, 상기 추적 컴포넌트는 또한, 상기 센서 장치에 의하여 생성되는 상기 적어도 하나의 신호에 기초하여, 상기 제1 사용자의 제1 시선 방향 및 상기 제2 사용자의 제2 시선 방향을 계산하도록 구성되고, 상기 렌더링 컴포넌트는 또한, 상기 제1 시선 방향에 기초하여 상기 제1 뷰를 계산하고, 상기 제2 시선 방향에 기초하여 상기 제2 뷰를 계산하도록 구성되는 것인 컴퓨팅 시스템.
예 3: 예 1 또는 예 2에 있어서, 상기 메모리는 또한, 컴퓨터 구현 상기 룸의 3차원 지오메트릭 모델을 포함하고, 상기 렌더링 컴포넌트는 또한, 룸의 상기 컴퓨터 구현 3차원 지오메트릭 모델에 기초하여 상기 제1 뷰 및 상기 제2 뷰를 계산하도록 구성되는 것인, 컴퓨팅 시스템.
예 4: 예 3에 있어서, 상기 렌더링 컴포넌트는 또한, 상기 적어도 하나의 센서 장치에 의해 생성되는 적어도 하나의 신호에 기초하여 실시간으로 상기 컴퓨터 구현 3차원 지오메트릭 모델을 업데이트하도록 구성되는 것인, 컴퓨팅 시스템.
예 5: 예 1 내지 예 5 중 한 예에 있어서, 상기 적어도 하나의 프레임은 제1 프레임 및 제2 프레임을 포함하고, 상기 적어도 하나의 프로젝터는 제1 프로젝터 및 제2 프로젝터를 포함하고, 상기 렌더링 컴포넌트는 상기 제1 프레임을 상기 제1 프로젝터로 전송하고, 상기 제2 프레임을 상기 제2 프로젝터로 전송하도록 구성되고, 상기 제1 프레임은 상기 제1 프로젝터로 하여금 상기 제1 뷰를 투영하도록 하고, 상기 제2 프레임은 상기 제2 프로젝터로 하여금 상기 제2 뷰를 투영하도록 하는 것인 컴퓨팅 시스템.
예 6: 예 5에 있어서, 상기 적어도 하나의 프레임은 제3 프레임을 더 포함하고, 상기 적어도 하나의 프로젝터는 제3 프로젝터를 더 포함하고, 상기 렌더링 컴포넌트는 상기 제3 프레임을 상기 제3 프로젝터로 전송하도록 구성되고, 상기 제3 프레임은 상기 제3 프로젝터로 하여금 상기 제1 뷰의 일부와 상기 제2 뷰의 일부를 투영하도록 하는 것인 컴퓨팅 시스템.
예 7: 예 1 내지 예 6 중 어느 한 예에 있어서, 상기 추적 컴포넌트는 상기 가상 객체에 대하여 상기 제1 사용자에 의해 수행되는 제스처를 검출하도록 구성되고, 상기 렌더링 컴포넌트는 또한 상기 추적 컴포넌트에 의해 검출되는 제스처에 기초하여 상기 제1 뷰 및 상기 제2 뷰를 계산하도록 구성되는 것인 컴퓨팅 시스템.
예 8: 예 1 내지 예 7 중 어느 한 예에 있어서, 상기 추적 컴포넌트는 상기 제1 사용자에 의해 말해진 단어를 수신하도록 구성되고, 상기 렌더링 컴포넌트는 또한 상기 추적 컴포넌트에 의해 수신된 단어에 기초하여 상기 제1 뷰 및 상기 제2 뷰를 계산하도록 구성되는 것인 컴퓨팅 시스템.
예 9: 예 1 내지 예 8 중 어느 한 예에 있어서, 상기 가상 객체는 3차원 객체인 것인 컴퓨팅 시스템.
예 10: 예 1 내지 예 9 중 어느 한 예에 있어서, 상기 적어도 하나의 신호는 RGB(red-green-blue) 이미지 또는 깊이 이미지 중 적어도 하나를 포함하는 것인 컴퓨팅 시스템.
예 11: 방법에 있어서, 적어도 하나의 센서 유닛에 의해 생성되는 적어도 하나의 신호에 기초하여 룸 내의 제1 사용자의 제1 시선 방향을 계산하는 단계; 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 신호에 기초하여 상기 룸 내의 제2 사용자의 제2 시선 방향을 계산하는 단계; 및 상기 제1 사용자의 제1 시선 방향 및 상기 제2 사용자의 제2 시선 방향에 기초하여 적어도 하나의 프레임을 상기 룸 내의 적어도 하나의 프로젝터로 전송하는 단계를 포함하고, 상기 적어도 하나의 프레임은 상기 적어도 하나의 프로젝터로 하여금, 상기 제1 사용자 및 상기 제2 사용자가 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 가상 객체를 인식하도록, 상기 룸 내의 표면들 상에 이미지를 투여하게 하는 것인 방법.
예 12: 예 11에 있어서, 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초한 상기 룸 내의 표면의 반사율; 또는 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초한 상기 룸 내의 상기 표면의 컬러 특성 중 적어도 하나를 추정하는 단계; 및 상기 표면의 반사율 또는 상기 표면의 컬러 특성 중 적어도 하나의 기초하여 상기 적어도 하나의 프레임을 생성하는 단계를 더 포함하는 것인 방법.
예 13: 예 12에 있어서, 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초하여 상기 지오메트릭 모델을 실시간으로 업데이트하는 단계를 더 포함하는 방법.
예 14: 예 13에 있어서, 상기 지오메트릭 모델을 실시간으로 업데이트하는 단계는 상기 룸의 상기 제1 사용자 및 상기 제2 사용자의 검출된 위치에 기초하여 상기 지오메트릭 모델을 업데이트하는 단계를 포함하는 것인 방법.
예 15: 예 11 내지 예 14 중 어느 한 예에 있어서, 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초한 상기 룸 내의 표면의 반사율; 또는 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초한 상기 룸 내의 상기 표면의 컬러 특성 중 적어도 하나를 추정하는 단계; 및 상기 표면의 반사율 또는 상기 표면의 컬러 특성 중 적어도 하나의 기초하여 상기 적어도 하나의 프레임을 생성하는 단계를 더 포함하는 것인 방법.
예 16: 예 11 내지 예 15 중 어느 한 예에 있어서, 상기 가상 객체에 대하여 상기 제1 사용자 또는 상기 제2 사용자 중 한 명에 의해 수행되는 제스처를 검출하는 단계; 및 상기 제스처에 기초하여 상기 프레임을 생성하는 단계를 더 포함하는 것인 방법.
예 17: 예 16에 있어서, 상기 이미지는 상기 제1 사용자 및 상기 제2 사용자로 하여금, 상기 가상 객체가 상기 제1 사용자와 제2 사용자 사이의 공간에서 움직이고 있다는 것을 인식하게 하는 것인 방법.
예 18: 예 11 내지 예 17 중 어느 한 예에 있어서, 상기 적어도 하나의 프레임은 제1 프레임 및 제2 프레임을 포함하고, 상기 적어도 하나의 프레임을 전송하는 단계는, 상기 제1 프레임을 제1 프로젝터로 전송하여, 상기 제1 프로젝터로 하여금 상기 제1 사용자의 제1 눈을 위해 이미지를 투영하게 하는 단계; 및 상기 제2 프레임을 제2 프로젝터로 전송하여, 상기 제2 프로젝터로 하여금 상기 제1 사용자의 제2 눈을 위해 이미지를 투영하게 하는 단계를 포함하는 것인 방법.
예 19: 예 11 내지 예 18 중 어느 한 예에 있어서, 상기 제1 시선 방향을 계산하는 동작, 상기 제2 시선 방향을 계산하는 동작, 및 상기 이미지가 상기 제1 시선 방향 또는 상기 제2 시선 방향 중 적어도 하나의 교대(alternation)의 함수로서 실시간으로 업데이트되도록 상기 적어도 하나의 프레임을 상기 룸 내의 상기 적어도 하나의 프로젝터로 전송하는 동작을 연속적으로 수행하는 단계를 더 포함하는 것인 방법.
예 20: 명령어들을 포함하는 컴퓨터 판독 가능 저장 매체에 있어서, 상기 명령어들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 룸 내의 제1 사용자 또는 제2 사용자 중 적어도 한 명의 모션을 검출하는 단계로서 상기 제1 사용자와 상기 제2 사용자는 상기 룸 내에서 서로 마주보고 있는 것인, 상기 검출 단계; 상기 룸의 컴퓨터 구현 지오메트릭 모델 및 상기 룸 내의 상기 제1 사용자 또는 상기 제2 사용자 중 상기 적어도 한 명의 모션에 기초하여 상기 제1 사용자에 대한 제1 뷰 - 상기 제1 뷰는 가상 객체를 포함함 - 를 계산하는 단계; 상기 룸의 상기 컴퓨터 구현 지오메트릭 모델 및 상기 룸 내의 상기 제1 사용자 또는 상기 제2 사용자 중 상기 적어도 한 명의 모션에 기초하여 상기 제2 사용자에 대한 제2 뷰 - 상기 제2 뷰는 상기 가상 객체를 포함함 - 를 계산하는 단계; 및 적어도 하나의 프레임을 적어도 하나의 프로젝터로 전송하는 단계를 수행하도록 하고, 상기 적어도 하나의 프레임은 상기 적어도 하나의 프로젝터로 하여금, 상기 제1 사용자 및 상기 제2 사용자가 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 상기 가상 객체가 움직이고 있다고 인식하도록, 상기 룸 내의 상기 제1 뷰의 적어도 일부; 또는 상기 룸 내의 상기 제2 뷰의 적어도 일부 중 적어도 하나를 투영하도록 하는 것인 컴퓨터 판독 가능 저장 매체.
예 21: 컴퓨팅 시스템에 있어서, 적어도 하나의 센서 유닛에 의해 생성되는 적어도 하나의 센서 신호에 기초하여 룸 내의 제1 사용자의 제1 시선 방향을 계산하는 수단; 상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초하여 상기 룸 내의 제2 사용자의 제2 시선 방향을 계산하는 수단; 및 상기 제1 사용자의 제1 시선 방향 및 상기 제2 사용자의 제2 시선 방향에 기초하여 적어도 하나의 프레임을 상기 룸 내의 적어도 하나의 프로젝터로 전송하는 수단을 포함하고, 상기 적어도 하나의 프레임은 상기 제1 사용자 및 상기 제2 사용자가 상기 제1 사용자 및 상기 제2 사용자 사이의 공간에서 가상 객체를 인식하도록 상기 적어도 하나의 프로젝터로 하여금 상기 룸 내의 표면에 이미지를 투영하도록 하는 것인 컴퓨팅 시스템.
이제 도 12를 참조하면, 본 명세서에 개시된 시스템들 및 방법론들에 따라 사용될 수 있는 예시적인 컴퓨팅 장치(1200)의 상위 레벨 도면이 도시된다. 예를 들어, 컴퓨팅 장치(1200)는 룸의 사용자들의 시야를 추정하도록 구성된 시스템에서 사용될 수 있다. 다른 예로서, 컴퓨팅 장치(1200)는 프로젝터에 의해 투영될 프로젝션 프레임을 생성하도록 구성된 시스템에서 사용될 수 있다. 컴퓨팅 장치(1200)는 메모리(1204)에 저장된 명령어들을 실행하는 적어도 하나의 프로세서(1202)를 포함한다. 명령어들은 예를 들어 위에서 논의된 하나 이상의 컴포넌트들에 의해 수행되는 것으로 기술된 기능을 구현하기 위한 명령어들 또는 전술한 방법들 중 하나 이상을 구현하기 위한 명령어들일 수 있다. 프로세서(1202)는 시스템 버스(1206)를 통해 메모리(1204)에 액세스할 수 있다. 실행 가능 명령어들을 저장하는 것 이외에, 메모리(1204)는 또한 이미지, 깊이 데이터 등을 저장할 수 있다.
컴퓨팅 장치(1200)는 시스템 버스(1206)에 의해 프로세서(1202)에 의해 액세스 가능한 데이터 저장소(data store, 1208)를 추가로 포함한다. 데이터 저장소(1208)는 실행 가능한 명령어들, 이미지 등을 포함할 수 있다. 컴퓨팅 장치(1200)는 또한, 외부 장치들이 컴퓨팅 장치(1200)와 통신하도록 하는 입력 인터페이스(1210)를 포함한다. 예를 들어, 입력 인터페이스(1210)는 외부 컴퓨터 장치, 사용자 등으로부터 명령어들을 수신하는데 사용될 수 있다. 컴퓨팅 장치(1200)는 또한 컴퓨팅 장치(1200)와 하나 이상의 외부 장치를 인터페이스시키는 출력 인터페이스(1212)를 포함한다. 예를 들어, 컴퓨팅 장치(1200)는 출력 인터페이스(1212)를 통해 텍스트, 이미지 등을 디스플레이할 수 있다.
입력 인터페이스(1210) 및 출력 인터페이스(1212)를 통해 컴퓨팅 장치(1200)와 통신하는 외부 장치는 사용자가 상호 작용할 수 있는 임의의 유형의 사용자 인터페이스를 실질적으로 제공하는 환경에 포함될 수 있다고 생각된다. 사용자 인터페이스 유형의 예에는 그래픽 사용자 인터페이스, 내추럴 사용자 인터페이스 등이 포함된다. 예를 들어, 그래픽 사용자 인터페이스는 키보드, 마우스, 리모콘 등과 같은 입력 장치(들)을 사용하는 사용자로부터의 입력을 수용할 수 있고, 디스플레이와 같은 출력 장치 상에 출력을 제공할 수 있다. 또한, 내추럴 사용자 인터페이스는 사용자가 키보드, 마우스, 리모콘 등과 같은 입력 장치에 의해 부과된 제약이 없는 방식으로 컴퓨팅 장치(1200)와 상호 작용할 수 있게 할 수 있다. 오히려 내추럴 사용자 인터페이스는 음성 인식, 터치 및 스타일러스 인식, 화면 및 화면 주변의 제스처 인식, 에어 제스처, 머리 및 눈 추적, 음성 및 스피치, 시각(vision), 터치, 제스처, 인공 지능(machine intelligence) 등에 의존할 수 있다.
또한, 단일 시스템으로 도시되었지만, 컴퓨팅 장치(1200)는 분산 시스템일 수 있음을 이해해야 한다. 따라서, 예를 들어, 몇몇 장치들은 네트워크 접속을 통해 통신할 수 있고, 컴퓨팅 장치(1200)에 의해 수행되는 것으로 기술된 작업들을 집합적으로 수행할 수 있다.
여기에 설명된 다양한 기능들은 하드웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 만일 소프트웨어로 구현되는 경우, 기능은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령어 또는 코드로서 저장되거나 전송될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 저장 매체를 포함한다. 컴퓨터 판독 가능 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 저장 매체일 수 있다. 예를 들어, 그러한 컴퓨터 판독 가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장 장치, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 명령어들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있으나, 이에 국한되는 것은 아니다. 본 명세서에서 사용되는 디스크(disk) 및 디스크(disc)는 CD(compact disc), 레이저 디스크(laser disc), 광학 디스크(optical disc), DVD(digital versatile disc), 플로피 디스크(floppy disk) 및 블루 레이 디스크(blu-ray disc, BD)를 포함하는데, 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하고, 디스크(disc)들은 일반적으로 레이저로 광학적으로 데이터를 재생한다. 또한, 전파된 신호는 컴퓨터 판독 가능 저장 매체의 범위 내에 포함되지 않는다. 컴퓨터 판독 가능 매체는 또한 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함한다. 예를 들어, 연결(connection)은 통신 매체가 될 수 있다. 예를 들어 동축 케이블, 광섬유 케이블, 트위스트 페어(twisted pair), 디지털 가입자 회선(digital subscriber line, DSL) 또는 적외선, 무선(radio) 및 마이크로파와 같은 무선 기술을 사용하여 웹 사이트, 서버 또는 기타 원격 소스로부터 소프트웨어가 전송된다면, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL 또는 적외선, 무선 및 마이크로파와 같은 무선 기술은 통신 매체의 정의에 포함된다. 상기의 조합 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
선택적으로 또는 부가적으로, 본 명세서에 설명된 기능은 적어도 부분적으로 하나 이상의 하드웨어 로직 컴포넌트들에 의해 수행될 수 있다. 예를 들어, 제한 없이, 사용될 수 있는 하드웨어 로직 컴포넌트들의 예시적인 유형은 FPGA(Field-Programmable Gate Array), ASIC(Program-Specific Integrated Circuit), ASSP(Program-specific Standard Products), SOC(System-on-a-chip systems), CPLD(Complex Programmable Logic Devices) 등을 포함한다.
예들(EXAMPLES)
예 1: 프로토타입 시스템 (Prototype System)
각각 RGB 카메라와 깊이 카메라를 포함하는 깊이 유닛과 페어된, 3개의 HD 비디오 프로젝터가 포함된 프로토타입 시스템이 구축되었다. 프로젝터들과 센서 유닛들은 큰 룸에서 대략 서로 마주 보는 두 명의 사용자를 디스플레이하고 주변을 감지할 수 있는 위치에 설치되었다. 두 대의 프로젝터와 카메라 쌍은 두 명의 사용자 각각의 머리 위로 약 2 피트 위쪽의 천장에 설치되었다. 이들은 대략 서로 마주 보아, 대향 벽들과 바닥 부분을 커버하도록 맞춰져 있었다. 일반적으로 각 사용자의 뷰는 그들 위의 프로젝터에 의해 렌더링된다. 사용자의 뷰에 대한 동적 투영 매핑을 위한 표면 지오메트리가 그들 위의 프로젝터를 구비한 센서 유닛에 의해 제공되었다. 한편, 해당 사용자의 신체 추적은 반대 대향(opposite facing) 센서 유닛에 의해 지원되었다. 이 프로젝터와 카메라의 대칭 배열은 다이애드(dyadic) 상호 작용의 대칭적 성격을 따른다. 세 번째 프로젝터와 카메라 쌍은 천장에 아래를 향하게 설치되어 처음 두 개의 프로젝터가 커버하는 영역들 사이의 영역을 커버한다.
하나의 컴퓨팅 장치가 시스템용 소프트웨어를 호스트(host)했으며, 이 컴퓨터 장치는 세 대의 프로젝터를 모두 구동한다. 모든 깊이 데이터는 사용 가능한 3 차원 게임 제작 프레임워크(framework)를 사용하여 단일 장면으로 병합되었으며, 이는 룸안에서 감지된 모든 지오메트리 및 가상 객체의 개요를 제공하고 새로운 인터랙티브 애플리케이션들을 스크립팅하는 데 사용 가능하다. 또한 프레임워크에는 조명, 그림자 및 절차적 질감링 방법과 같은 다양한 표면 쉐이더(surface shader)가 포함되어 있어, 가상 객체를 보다 사실적으로 보이게 하는데 도움이 된다.
예 2: 캘리브레이션 및 장면 모델링 (Calibration and Scene Modeling)
캘리브레이션은 동적 투영 매핑에 사용된 각 프로젝터 및 센서 유닛의 자세, 초점 거리 및 광학 중심을 결정하기 위해 수행되었다. 이 정보는 오프라인 자동 절차에서 복구되었으며 이에 의해 각 프로젝터는 결과적으로 일련의 그레이 코드 패턴을 디스플레이하였다. 이 패턴들은 쌍을 이룬 센서 유닛의 컬러 카메라에 의해 관찰되었다. 센서 유닛에 대응하는 이용 가능한 좌표 매핑 기능이 제공되면, 이러한 그레이 코드 패턴은 센서 유닛의 좌표 프레임에서 3차원 포인트로부터 프로젝터 이미지의 대응 포인트까지 정확한 매핑을 설정하는데 사용된다.
각 프로젝터-센서 유닛 쌍의 상대적인 자세는 센서 유닛의 컬러 카메라들이 모든 다른 프로젝터의 그레이 코드 패턴을 추가적으로 관찰하게 하고, 다른 프로젝터들이 카메라 자체의 쌍을 이룬 프로젝터와 중첩되는 영역을 인식하며, 중첩 영역들의 대응 3D 포인트들을 정렬(align)하는 변환을 계산함으로써, 설정될 수 있다. 이러한 프로세스는 모든 프로젝터 및 카메라에 대한 세계 좌표 시스템을 초래하였다.
물리적 환경의 표면 지오메트리는 센서 유닛에서 비행 시간(time-of-flight) 깊이 카메라의 사용을 통해 얻어졌다. 깊이 카메라의 깊이 데이터의 정밀도는 깊이 범위(0.5m-4.5m)에 걸쳐 거의 일정하였다. 물리적 환경의 표면 지오메트리는 동적 투영 매핑에 사용되었다.
사용자의 신체와 같이, 환경에서 움직이는 객체는 룸의 정적 지오메트리와는 별도로 처리되었다. 이것은 주로 두 가지 이유로 수행되었다. 1) 첫째, 시스템이 움직이는 객체에 의해 가려질 룸의 영역에 투영할 수 있다; 2) 정적 지오메트리는 동적 지오메트리에서 수행하기 어려운 다양한 오프라인 분석 및 최적화 절차를 지원한다.
예 3: 동적 투영 매핑 (Dynamic Projection Mapping)
룸의 지오메트리 뿐만 아니라, 모든 프로젝터 및 깊이 카메라의 파라미터들이 주어지면, 룸 내의 물리적 객체들의 표면 외관을 변화시키는 그래픽이 렌더링된다. 이는 캘리브레이션에서 계산되듯이, 3D 세계 좌표 포인트로부터 프로젝터 이미지에서의 2D 포인트로의 매핑을 사용하는 단일 버텍스 쉐이더(vertex shader)로서 구현될 수 있다.
주어진 사용자의 관점에서 정확히 보이도록 가상 3D 객체를 렌더링하는 것은, 더 복잡하고, 다중 패스 렌더링 프로세스로서 구현되었기 때문에, 가상 객체들 및 실제 물리적 지오메트리는 원하는 관점으로부터 오프스크린으로 렌더링되었다. 이러한 오프스크린 렌더링은 그 후 표준 투영 질감링 절차에서 표면 지오메트리 및 프로젝터 파라미터와 결합되고, 물리적 지오메트리만이 렌더링되었다. 사용자의 관점은 신체 추적에 의해 결정된 머리 위치를 따르도록 설정되었다.
예 4: 다중 뷰 지원(Supporting Multiple Views)
두 개의 마주 보는 프로젝터의 배치는 각 프로젝터가 그 밑에 서있는 사용자에 대응하는 뷰를 주로 디스플레이하도록 선택되었다. 예를 들어 지상에서 수 피트 위에 그리고 사용자들 사이에 배치된 가상 객체는 각 사용자에게 한 번씩 두 번 렌더링될 것이다. 사용자가 반대 방향으로 보고 있었기 때문에 한 사용자가 다른 사용자에 의도된 그래픽을 보지 못할 가능성이 있는데, 이는 그래픽이 그들 뒤의 벽이나 그들 자신의 몸에 나타나기 때문이다.
가상 객체가 사용자들 사이에서 지상에 더 가깝게 배치되었을 때, 한 사용자에 의도된 객체의 뷰가 다른 사용자에 의해 관측되었다. 프로토타입에서 각 사용자의 뷰는 표준 원근감(standard perspective) 그래픽 카메라로서 모델링되었다. 각 뷰에 의해 어드레싱된 물리적 표면이 중첩된 경우, 렌더링이 혼합되어 양쪽 모두 궁극적으로 볼 수 있게 된다. 예를 들어 동일한 객체에 대한 두 개의 뷰가 바닥에 나타났다. 객체를 땅에 두었을 때 객체의 두 렌더링은 겹쳐서 바닥에서 만났다.
예 5: 상호 작용(Interactions)
정확하게 렌더링된 가상 3D 객체를 보는 것 이외에, 사용자들은 다양한 방식으로 그들과 상호 작용했다. 신체 추적 기술과 깊이 및 적외선 이미지에서 파생된 낮은 수준(lower-level)의 기능에 의해 지원되는 많은 상호 작용이 개발되었다. 예를 들어, 가상 객체를 "만지는 것(touching)"은 추적된 손의 위치 또는 사용자의 깊이 맵에서 가져온 포인트를 가상 객체의 지오메트리와 교차시킴으로써 구현되었다.
사용자가 그녀의 손에 가상 객체를 보유할 수 있게 하는 인터랙티브 애플리케이션이 개발되었다. 가상 객체는 센서 유닛에 의해 3D로 추적될 때 손 바로 위의 포인트를 따르도록 스크립트되었다. 위에서 설명한 다중 뷰 렌더링은 각 사용자의 뷰에 대해 한 번 객체를 렌더링했다. 사용자가 몸 앞에서 손을 들었을 때, 그녀의 뷰는 다른 사람의 몸에 걸치며, 룸의 먼 표면에 커다란 투영을 포함하였다. 한편, 제2 사용자의 뷰에는 제1 사용자의 몸통에 대한 객체의 작은 투영이 포함되었다.
인터랙티브 애플리케이션에서, 쥐고 있는 객체는 방출(release) 조건을 만족시킴으로써 드롭되거나 던져질 수 있다. 예를 들어, 검출된 손의 속도 및/또는 가속도가 임계 값을 초과할 때 쥐고 있던 공이 던졌다. 방출의 순간에, 공은 던지는 손의 속도를 취하였다. 캐치 또는 "줍기(pick-up)"는 객체가 언제 추적된 손에 충분히 근접했는지 테스트함으로써, 구현되었다.
가상 객체들이 룸 또는 사용자와 충돌하는 것을 검출하여 현실적인 충돌 응답을 유도하는 또 다른 인터랙티브 애플리케이션이 개발되었다. 이 프로토타입은 룸의 정적인 부분에 대해 사전 계산된 충돌 지오메트리를 사용하고 사용자와 같은 움직이는 객체의 모양을 여러 개의 구형 충돌기(sphere collider)로 근사했다. 프로토타입 질감의 렌더링 파이프 라인이 룸의 정적인 부분에 적용되는 동안 사용자와 같은 움직이는 객체에 질감를 적용하려면 투영 표면을 실시간으로 추적해야 했다. 광학 흐름과 같은 로우 레벨 모션 특징은 움직이는 객체에 질감를 적용하는 데 사용되었다. 실시간 광학 흐름은 센서 유닛의 깊이 카메라에 의한 적외선 비디오 출력으로부터 계산되었다. 질감는 질감의 초기 배치를 결정한 다음 광학 흐름에 의해 추정된 모션을 사용하여 여러 프레임에 걸쳐서 표면을 따름으로써, 움직이는 객체에 적용되었다.
예 6: 가상 객체를 렌더링(Rendering Virtual Objects)
동적 투영 매핑의 초기 데모로서, 여러 정적 모델이 룸 중간의 커피 테이블 위에 배치되었다. 이 정적 모델에는 비행기, 경주용 자동차 및 지구본이 포함되었다. 두 명의 사용자가 모두 비행기의 좋은 감각을 얻었지만 각 사용자가 지구본의 다른면을 보았기 때문에 지구본이 더 어려웠다. 지구본을 "만지거나" 교차함으로써, 지구본을 스피닝(spin)하는 능력이 코딩되었다.
예 7: 파이어볼 게임(Fireball Game)
가상 객체를 잡고 정확하게 던지는 능력을 테스트하기 위해 전투 스타일의 게임이 만들어졌고 여기서, 플레이어들은 손을 들어 파이어볼을 요청한다. 파이어볼은 손 위에서 몇 인치 움직인 것처럼 보였다. 플레이어는 상대 플레이어에게 파이어볼을 신속하게 던질 수 있었다. 그것이 벽에 부딪치게 되면 충돌 지점에서 일시적으로 손상이 렌더링되었다. 사용자에게 부딪히면 사용자에게 부상(injury)을 나타내는 질감가 적용되었다. 이 시각 효과는 위에서 설명한 대로 광학 흐름을 사용하여 플레이어의 투영 표면을 추적하고, 공격하는 플레이어는 포인트를 얻었다. 파이어볼을 쥐는 손의 속도에 대한 임계 값을 초과함으로써 파이어볼의 방출이 트리거되었다. 방향은 추적된 머리 위치에서부터 손을 통과하는 광선을 계산함으로써 결정되었다. 약간의 연습으로 플레이어들은 정확하게 파이어볼을 겨냥할 수 있었다.
예 8: 캐치(Catch)
이 프로토타입은 두 명의 사용자가 가상 테니스 공을 가지고 캐치 놀이를 하는 것을 허용하도록 코딩되었다. 이 경험은 공을 잡을 수단을 추가함으로써 앞의 예를 확장했다. 공이 손에 충분히 가깝다면, "잡힌" 것으로 간주되어 손 안에 들어갔다. 그런 다음 플레이어는 다른 플레이어에게 다시 던질 수 있다. 플레이어가 공을 잡을 수 없었다면, 룸 내의 사용자 또는 다른 객체들과 충돌하였다. 이 경우 공은 바운스되어 물리적으로 그럴듯하게 굴러갔다. 플레이어들이 공을 잡을 수 있는 능력은 공간에서 가상 객체를 인지할 수 있는 능력에 직접적으로 달려 있었다.
실험 데이터(EXPERIMENTAL DATA)
다이애드 투영 SAR 시스템(dyadic projected SAR system)의 효과를 평가하기 위해 1) 사용자가 가상 객체를 정확하게 인지하는지 여부; 및 2) 사용자가 협력자(collaborator)의 가상 객체와의 상호 작용을 이해하는 경우에 촛점을 맞춘 두 가지 사용자 실험이 수행되었다. 이 실험은 사용자가 원하는 SSAR 효과를 인지하고 있음을 나타낸다.
첫 번째 실험은 가상 객체의 공간적 존재감을 전달하기 위해 단일 사용자 모노스코픽 투시도의 유효성을 조사하는 것에 중점을 두었다. 특히 첫 번째 실험에서는 참가자들이 투영된 가상 객체를 투영 표면에만 나타나는 것이 아니라 공간으로 인식할 수 있는지 분석했다. 또한, 완벽에 영향을 미치는 요인을 분석했다. 두 번째 실험은 두 명의 협력자가 대면(face-to-face) 시나리오에서 그들 사이의 가상 객체를 논의할 때 서로의 포인팅 참조(pointing references)를 얼마나 잘 이해했는지를 계량화했다.
실험 1 : 객체 존재(Object Presence)
가상 객체 존재의 측정으로서, 참가자들은 투영된 가상 객체까지의 거리 및 크기를 평가하도록 요청받았다. 투영된 테스트 객체는 세 가지 크기(작은 크기 = 10cm, 중간 크기 = 15cm, 큰 크기 = 20cm 가장자리)의 녹색 큐브였으며 참가자로부터 3 가지 다른 거리에 가상으로 위치했다(근처 거리 = 1.5m, 중간 거리 = 2.5m, 먼 거리 = 3.5m). 참가자의 관점에서 볼 때, 가상 객체의 이미지는 항상 룸의 뒷벽(사용자로부터 약 3.75m 떨어짐)에 투영되었다.
객체의 크기는 테스트된 거리에 걸쳐 (의도적으로) 매우 혼동될 수 있었음을 주목해야 한다. 실제로, 가장 가까운 위치에서 투영될 때 가장 작은 객체는 가장 먼 거리에서 가장 큰 객체와 거의 동일한 시야각을 마주 했다.
다양한 크기와 거리 외에도 이 작업을 수행하기 위한 두 가지 상이한 조건이 도입되었다: 물리적 마커가 있는 것과 없는 것이다. "마커가 있는" 조건에는 가상 객체가 보일 수 있는 위치에 정확하게 배치된 세 개의 검은 색 막대가 포함되었지만 "마커가 없는" 조건에는 막대가 제거된 상태였다. 올바르게 관찰되면 가상 객체가 물리적 마커 위에 있는 것처럼 보일 것이다. 목표는 참가자에게 객체가 어디에서 물리적인 마커와 함께 있는지를 알려주는 것이 아니라 가상 객체와 비교할 수 있는 실세계의 물리적 앵커를 제공하여 참가자를 돕는 것이었다. 참가자들은 가상 객체가 세 마커 중 어느 것에 부착되어 있는지 결정하도록 여전히 요구받았다. 참가자들이 투영된 가상 객체의 공간적 배치를 정확하게 이해할 수 있다는 가설(H1)에 덧붙여, 가상 객체의 가능한 위치를 마킹하는 물리적인 객체를 갖는다면 평가(rating) 작업이 더 간단해질 것이라는 가설(H2)을 세웠다. 이것은 협력자의 손에 투영된 가상 객체가 공중에서 순수하게 배치된 객체보다 항상 약간 더 공간적이며 실제처럼 보인다는 관측에 의해 동기 부여되었다. 실험에서 물리적 마커는 사용자의 손에 대한 제어된 프록시 역할을 했다.
마지막으로, 참가자들은 투영 표면에 더 가까운 객체, 예를 들어, 참가자로부터 멀리 떨어진 객체를 평가할 때 더 정확할 것이라는 가설(H3)이 세워졌는데, 그 이유는 실세계 및 가상 객체의 위치가 그러한 경우에 더 가깝게 일치하기 때문이다. 이는 실세계 행동과 반대되는데, 실세계에서는 더 멀리 있는 객체가 더 작은 시야각을 형성하고 따라서 더 보기 어렵기 때문에 사람들은 더 가까운 객체를 평가할 때 더 잘 한다.
각 참가자는 먼저 시스템에 대한 간단한 소개를 받은 다음, 투영된 투시도가 도시될 룸의 측면을 향하여 서 있도록 요청받았다. 그들 앞에서는 짧은 커피 테이블이 있었는데 그 위에 3개의 큐브의 3가지 물리적 모델이 놓여 있었다. 이러한 물리적 큐브는 투영된 가상 큐브의 크기(scale)와 정확히 일치했다. 가상 객체가 보일 수 있는 세 개의 가능한 위치에는 바닥에 숫자(1-near, 2-mid, 3-far)로 마킹되었다.
참가자들은 각 객체의 크기("작은", "중간" 또는 "큰"을 나타냄) 및 거리(마킹된 바닥 위치에 해당하는 "1", "2" 또는 "3"을 나타냄)를 구두로 평가하도록 요청받았다. 코디네이터는 평가를 기록하고 다음 실험으로 넘어갔다. 모든 참가자들에게 같은 양의 자극을 보장하기 위해, 객체는 정확히 5초 동안 투영된 다음 사라졌다. 참가자들은 자신감을 느끼자마자 평가를 하도록 지시받았고 그들의 응답 시간은 객체의 출현부터 코디네이터가 진입한 시점까지의 시간으로서 기록되었다. 평가 단순성을 위해 실험은 조건에 따라 그룹화되었는데, 물리적 마커의 설정이 시간을 필요로 하고, 큰 데이터 집합의 수집을 어렵게 할 것이기 때문이다. 크기 및 거리 실험의 프레젠테이션은 각 조건 블록 내에서 무작위로 결정되었으며 순서의 영향을 줄이기 위해 조건의 순서는 사용자들 간에 균형을 이뤘다. 각 조건이 시작되기 전에 참가자들은 그들에게 각 객체를 각 사이즈 및 거리 조합으로 보여주는 연습 세션이 주어졌고(5초 제한 없음), 학습 코디네이터는 그들에게 평가에 대한 피드백을 주었다.
참가자들은 처음에는 객체들이 뒷벽의 동일한 물리적 위치에 나타나도록 배치되었다. 그들은 그들이 결정을 내리는 데 도움이 된다면 주변을 돌아다닐 수 있다고 명시적으로 들었지만, 바닥에 마킹된 초기 위치에서 대략 한 걸음 떨어진 곳 내에 머물러있게 요청받았다. 투영이 모노스코픽(monoscopic)인 동안, 참가자들은 음영, 원근감, 그림자, 크기 및 모션 시차(motion parallax) 등을 포함하는 다른 깊이 단서(depth cues)를 사용할 수 있었다.
전반적으로, 참가자들은 가상 객체들의 크기(70.7%)보다 거리(88.8%)를 평가하는데 더 정확하였다. 거리와 크기를 모두 고려할 때, 그들은 66.5%의 실험에서 올바른 평가를 제공했는데, 이는 가능성(9가지 조합 중 1가지)보다 상당히 우수하다. 이러한 발견은 사용자가 원근법 SAR 시나리오에서 공간적 존재를 가지는 것으로 가상 객체들을 인식할 수 있고 인식하고 있다는 H1 가설을 지지한다.
792건의 총 실험 중 단지 9건의 평가만이 크기 또는 거리에 있어 실측 자료로부터 하나보다 큰 옵션이 떨어져 있었고(예를 들어, "큰(large)"를 "작은(small)" 크기로 착각함), 이들은 이상점(outlier)로 간주될 수 있었다. 각 카테고리마다 오직 세개의 가능한 옵션이 주어진 경우 이는 놀랄만한 일은 아니지만, 이는 참가자들이 목표를 맞추었거나("옳은(correct)") 아니면 목표에서 벗어난("틀린(incorrect)") 것을 사실상 의미한다.
참가자들의 응답은 크기 및 거리 조합의 평가뿐 아니라, 크기, 거리 각각에 대한 이진 변수로 코딩되었다("옳은(correct)" 또는 "틀린(incorrect)"). 이러한 이진 응답이 주어졌을 때, 표준 선형 회귀 모델(standard linear regression models) 또는 분산 분석(analysis of variance, ANOVA)은 정규 분포에서 가져온 스칼라 응답을 가정하기 때문에 적절하지 않다. 사용자 평가의 정확성에 대한 통계 분석의 적절한 방법은 "반복 측정 로지스틱 회귀 분석(repeated measures logistic regression)"이다. 이 경우 로지스틱 회귀 분석은 다양한 요인(예를 들어, 상이한 크기, 거리 또는 조건)과 이진 결과("옳은" 또는 "틀린") 간의 상관 관계를 계산했다. 로지스틱 회귀에 대한 중요도 메트릭은 Wald Chi-Square(χ2)이다.
분석은 다음 요소들, 즉, 조건(Condition), 크기(Size), 거리(Distance)를 포함하는 모델에서 실행되었다. 전체 정확성을 분석할 때(예를 들어, 크기와 거리 모두에 대한 정확성), 거리에 대한 유의한 효과(significant effect)가 발견되었지만(χ2 = 11.746, df = 2, p = 0.003, p-값 <0.05는 통계적으로 유의한 효과를 나타냄), 크기 또는 조건의 경우에는 그렇지 않았다. 거리는 "먼(far)" 거리(3.5m 거리)가 "가까운(near)"과 "중간(mid)"보다 훨씬 정확하여 평가에 강한 영향을 미쳤다. 이 결과는 더 가까운 객체가 더 쉽게 평가되는 경향이 있는 실세계 행동과는 반대로 실행되지만, 그것은 투영 표면에 더 가까운 것이 사용자가 투영된 3D 가상 객체의 공간적 특성을 정확하게 인식하는 것을 더 용이하게 한다는 H3 가설을 확인한다. 실험에서, "먼" 거리는 객체가 투영되고 있는 뒷벽으로부터 단지 25cm 떨어져 있었다.
참가자들은 마커가 없는(65.6 %) 것에 비하여, 물리적 마커(67.4 %)가 있는 조건에서 더 정확했지만, 조건은 통계적으로 유의한 효과를 갖는 것으로 밝혀지지 않았다. 이 결과는 가설 H2를 확인하지 못했다. 결과가 더 분석되어 왜 가설 H2가 실패한지를 이해하게 되었다. 마커의 존재는 객체가 ("근처" 및 "중간" 거리에 있는) 투영 표면에서 멀리 떨어져 있을 때 참가자들의 평가를 평균 6% 향상시켰지만 실제로는 "먼" 거리에서 효율이 저하되었다. 이것은 "먼" 위치에서 참가자들이 그들이 거리를 판단하는데 도움이 되는 이미 큰 물리적 참조, 투영 벽(projection wall) 그 자체를 가지고 있으므로, 투영된 객체 앞에 여러 개의 막대가 존재하는 것이 잠재적으로 참가자들의 주의를 떨어뜨린다는 사실에 의하여 설명될 수 있다. 따라서, 가상 객체가 투영 표면으로부터 더 멀리 떨어져 있을 때, 물리적 마커의 존재가 유익할 수 있다.
또한 크기 * 거리의 상호 작용은 매우 중요한 영향을 미쳤다(χ2 = 47.482, df = 4, p <.001). 이것은 놀랍지 않았는데, 그 이유는 일부 조합이 용이하게 식별 가능한 반면(예를 들어, 먼 거리의 작은 큐브는 가장 작은 투영된 객체임), 일부 조합은 매우 헷갈렸기 때문이다(예를 들어, 가까운 위치의 중간 큐브는 중간 위치의 큰 큐브와 혼동됨).
응답 시간은 코디네이터가 결과를 기록(log)하고 실험을 진행하는 시간(약 1 초)을 포함하였다. 평균 응답 시간은 6.47 초(표준 편차 = 2.27 초)였다. 반복 측정 ANOVA는 응답 시간에 수행되었으며 평가 분석과 밀접한 상관 관계가 있음을 발견했다: 참가자들은 그들이 더 정확한 것으로 밝혀지는 조건에 응답하는데 상당히 더 빨랐다. 이는 결과가, 많은 표적화 실험에 공통적인 속도-정확도 트레이드오프의 영향을 받지 않음을 나타낸다.
실험 2: 다이애드에서 협력자의 공간 참조를 이해(Understanding Collaborator's Spatial References in a Dyad)
참가자는 파트너가 그들의 눈높이로 짧은 막대를 들고 참가자와 코디네이터 사이에 나타난 16개의 구(sphere) 중 하나를 가리키는 것을 관찰하는 작업이 설계되었다. 참가자들은 그들이 믿기에 파트너가 어느 구를 가리키고 있는지 구두로 표시했다. 구들은 4x4 격자로 배열되었고 명확하게 번호가 매겨졌다. 이 구성에서 격자의 구들은 공간상에서 인체에 부분적으로 그리고 그들 뒤의 벽에 부분적으로 투영되었다.
격자의 각 구는 지름이 10cm이며, 구들은 11cm 떨어져 있었다(중심에서 중심). 격자는 바닥에서 1.5m 위에 떠있었다. 이러한 목표의 특정 배열은 많은 현실 세계의 대면 작업(예를 들어, 두 사람이 그들 사이의 건축 모델에 대하여 논의함)에서 요구 사항을 모방하기에 충분한 공간 해상도를 제공하는 한편, (위에서 언급된) 첫 번째 실험에서 잠재적으로 헷갈릴 정도로 밀도가 높은 것으로 나타났다. 라이플(rifle)과 같은 목표 제스처로 타겟팅하는 것은 자연스러운 포인팅 스타일이 아니지만, 이 자세는 개별 사람의 포인팅 스타일의 모호함을 피하기 위해 선택되었다.
이 실험은 다수의 조건들 간의 목표 수행을 비교하는 것이 아니라, 참가자가 상대 파트너의 참조를 이해하는 전체적인 정확도를 정량화하도록 설계되었다. 따라서, 추정치의 오차(미터 단위)는 그들이 지시한 구로부터 실제 목표인 구까지의 거리로서 측정되었다.
첫 번째 실험의 참가자들과 동일한 그룹이 이 실험에 참여했다. 각 참가자는 첫 번째 실험에서와 같은 위치에 서 있었다. 그들의 협력자는 룸의 다른 쪽(약 2.5m 거리)에 서 있었다. 실험이 시작될 때 협력자는 격자 내의 특정 번호의 공을 가리키도록 시스템에 의하여 조용히 프롬프트 되었다(prompted). 그 후, 참가자는 그들이 믿기에 그들의 협력자가 어느 구를 가리키고 있었는지 구두로 표시하였다. 실험은 시간 제한이 없었지만 참가자들은 자신의 평가에 확신을 갖자 마자 응답하도록 요청받았다. 연구 코디네이터 중 한 명이 시험을 끝내기 위한 그들의 응답을 입력했다. 협력자는 각 실험 사이에서 중립 자세(목표가 없음(non-targeting))로 돌아왔다. 실험을 실행하기 전에 각 참가자에게 15 회의 연습 실험 세트가 주어졌고, 이 동안에 그들에게 그들의 수행에 대한 피드백이 주어졌다. 목표 구의 제시 순서는 무작위로 결정되었고 각 참가자는 총 32 번의 평가 동안에 각 구 조건에 대해 2번의 평가를 부여했다.
참가자들은 총 352건의 실험 중 54.5%에서 정확한 표적을 식별하였다. 이는 확률(16분의 1)보다 상당히 높으며, 선택된 목표와 실제 목표 사이의 거리를 고려할 때 인상적이다. 모든 실험에 걸쳐 이 공간 에러를 평균한 결과는 0.056m(표준 편차 = 0.063m)이었다. 이 낮은 값은 참가자가 부정확한 대상을 선택했을 때 가장 가까운 이웃 목표들 중 하나를 압도적으로 표시했음을 의미한(목표 자체는 0.1lm 떨어져 있음). 에러들은 균일하게 분배되지 않았다. 예를 들어, 오른쪽 하단 목표는 오른쪽 상단 모서리의 목표에 비해 2배보다 큰 에러를 나타냈다.
인접한 두 개의 목표 구를 목표로 하는 데 있어서, 각도 차이는 약 4.5 °였다. 참가자들이 반경 12cm 이내의 목표 참조를 알 수 있는 것은 인상적이며, 프로토타입 시스템이 상호간의 공간 이해를 가능하게 하는 방식으로 방해받지 않는 두 명의 사용자간에 가상 정보를 제공할 수 있다는 증거를 제공한다.
전술한 것은 하나 이상의 실시 예의 예를 포함한다. 물론 전술한 양상들을 설명하기 위한 목적으로 위의 장치들 또는 방법론들의 모든 생각할 수 있는 수정 및 교체를 설명하는 것은 불가능하지만, 당업자는 다양한 양상들의 많은 추가 수정들 및 변경들이 가능하다는 것을 인식할 수 있다. 따라서, 설명된 양상들은 첨부된 청구 범위의 사상 및 범위 내에 있는 그러한 모든 교체, 수정 및 변형을 포함하고자 한다. 또한, 용어 "포함한다(includes)"가 상세한 설명 또는 청구 범위에서 사용되는 한, 그러한 용어는 용어 "포함하는(comprising)"이 청구범위에서 전이어(transitional word)로서 사용될 때 해석되는 것처럼, "포함하는(comprising)"과 유사한 방식으로 포괄적인 것으로 의도된다.

Claims (20)

  1. 컴퓨팅 시스템에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 동작들을 수행하게 하는 명령어들이 저장된 메모리
    를 포함하고,
    상기 동작들은,
    적어도 하나의 센서 장치에 의해 생성되는 적어도 하나의 신호에 기초하여, 룸 내의 제1 사용자의 제1 위치 및 제2 사용자의 제2 위치를 계산하는 동작;
    상기 제1 사용자의 상기 제1 위치에 기초하여 가상 객체의 제1 뷰를 계산하는 동작 - 상기 가상 객체의 상기 제1 뷰는 상기 제1 사용자에게 제시되고, 상기 가상 객체의 상기 제1 뷰는 상기 제1 사용자에 의한 뷰잉(viewing)을 위해 상기 제2 사용자에게 투영될 것임 - ;
    상기 제2 사용자의 상기 제2 위치에 기초하여 상기 가상 객체의 제2 뷰를 계산하는 동작 - 상기 가상 객체의 상기 제2 뷰는 상기 가상 객체의 상기 제1 뷰와는 상이하고, 상기 가상 객체의 상기 제2 뷰는 상기 제2 사용자에 의한 뷰잉을 위해 상기 제1 사용자에게 투영될 것임 - ; 및
    적어도 하나의 프로젝터로 하여금, 상기 룸 내의 상기 제2 사용자에 대한 상기 가상 객체의 상기 제1 뷰 및 상기 룸 내의 상기 제1 사용자에 대한 상기 가상 객체의 상기 제2 뷰를 동시에 투영하게 하는 적어도 하나의 프레임을 상기 적어도 하나의 프로젝터로 전송하는 동작 - 상기 가상 객체는, 상기 제2 사용자 및 상기 제1 사용자에게 각각 동시에 투영되고 있는 상기 가상 객체의 상기 제1 뷰 및 상기 가상 객체의 상기 제2 뷰로 인해, 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 상기 제1 사용자 및 상기 제2 사용자에게 나타남 -
    을 포함하는 것인, 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 동작들은, 상기 적어도 하나의 센서 장치에 의해 생성되는 적어도 하나의 신호에 기초하여 상기 제1 사용자의 제1 시선 방향 및 상기 제2 사용자의 제2 시선 방향을 계산하는 동작을 더 포함하고, 상기 가상 객체의 상기 제1 뷰는 상기 제1 시선 방향에 기초하여 계산되고, 상기 가상 객체의 상기 제2 뷰는 상기 제2 시선 방향에 기초하여 계산되는 것인, 컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 메모리는, 상기 룸의 컴퓨터 구현 3차원 지오메트릭 모델을 더 포함하고, 상기 가상 객체의 상기 제1 뷰 및 상기 가상 객체의 상기 제2 뷰는 상기 룸의 컴퓨터 구현 3차원 지오메트릭 모델을 기초하여 계산되는 것인, 컴퓨팅 시스템.
  4. 제3항에 있어서,
    상기 동작들은, 상기 적어도 하나의 센서 장치에 의해 생성되는 상기 적어도 하나의 신호에 기초하여 실시간으로 상기 컴퓨터 구현 3차원 지오메트릭 모델을 업데이트하는 동작을 더 포함하는 것인, 컴퓨팅 시스템.
  5. 제1항에 있어서,
    상기 적어도 하나의 프레임은 제1 프레임 및 제2 프레임을 포함하고, 상기 적어도 하나의 프로젝터는 제1 프로젝터 및 제2 프로젝터를 포함하고,
    상기 동작들은,
    상기 제1 프레임을 상기 제1 프로젝터로 전송하는 동작; 및
    상기 제2 프레임을 상기 제2 프로젝터로 전송하는 동작
    을 더 포함하고,
    상기 제1 프레임은 상기 제1 프로젝터로 하여금 상기 가상 객체의 상기 제1 뷰를 투영하게 하고, 상기 제2 프레임은 상기 제2 프로젝터로 하여금 상기 가상 객체의 상기 제2 뷰를 투영하게 하는 것인, 컴퓨팅 시스템.
  6. 제5항에 있어서,
    상기 적어도 하나의 프레임은 제3 프레임을 더 포함하고, 상기 적어도 하나의 프로젝터는 제3 프로젝터를 더 포함하고, 상기 동작들은 상기 제3 프레임을 상기 제3 프로젝터로 전송하는 동작을 더 포함하고, 상기 제3 프레임은 상기 제3 프로젝터로 하여금 상기 가상 객체의 상기 제1 뷰의 부분 및 상기 가상 객체의 상기 제2 뷰의 부분을 투영하게 하는 것인, 컴퓨팅 시스템.
  7. 제1항에 있어서,
    상기 동작들은,
    상기 가상 객체에 대하여 상기 제1 사용자에 의해 수행되는 제스처를 검출하는 동작; 및
    상기 검출된 제스처에 기초하여 상기 가상 객체의 상기 제1 뷰 및 상기 가상 객체의 상기 제2 뷰를 계산하는 동작
    을 더 포함하는 것인, 컴퓨팅 시스템.
  8. 제1항에 있어서,
    상기 동작들은,
    상기 제1 사용자가 말한 단어를 수신하는 동작; 및
    상기 수신된 단어에 기초하여 상기 가상 객체의 상기 제1 뷰 및 상기 가상 객체의 상기 제2 뷰를 계산하는 동작
    을 더 포함하는 것인, 컴퓨팅 시스템.
  9. 제1항에 있어서,
    상기 가상 객체는 3차원 객체인 것인, 컴퓨팅 시스템.
  10. 제1항에 있어서,
    상기 적어도 하나의 신호는 적색-녹색-청색 이미지 및 깊이 이미지 중 적어도 하나를 포함하는 것인, 컴퓨팅 시스템.
  11. 컴퓨팅 시스템에 의해 수행되는 방법에 있어서,
    적어도 하나의 센서 유닛에 의해 생성되는 적어도 하나의 센서 신호에 기초하여 룸 내의 제1 사용자의 제1 시선 방향을 계산하는 단계;
    상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초하여 상기 룸 내의 제2 사용자의 제2 시선 방향을 계산하는 단계;
    상기 제1 사용자의 상기 제1 시선 방향 및 상기 룸의 컴퓨터 구현 지오메트릭 모델에 기초하여 상기 제1 사용자에 의한 뷰잉을 위한 가상 객체의 제1 뷰를 계산하는 단계;
    상기 제2 사용자의 상기 제2 시선 방향 및 상기 룸의 상기 컴퓨터 구현 지오메트릭 모델에 기초하여 상기 제2 사용자에 대한 상기 가상 객체의 제2 뷰를 계산하는 단계 - 상기 가상 객체의 상기 제1 뷰와 상기 가상 객체의 상기 제2 뷰는 상이함 - ; 및
    상기 제1 사용자에 대한 상기 가상 객체의 상기 제1 뷰 및 상기 제2 사용자에 대한 상기 가상 객체의 상기 제2 뷰에 기초하여 상기 룸 내의 적어도 하나의 프로젝터로 적어도 하나의 프레임을 전송하는 단계 - 상기 적어도 하나의 프레임은, 상기 적어도 하나의 프로젝터로 하여금, 상기 가상 객체의 상기 제1 뷰가 상기 제1 사용자에게 제시되도록 상기 룸 내의 상기 제2 사용자에게 상기 가상 객체의 상기 제1 뷰를 투영하게 하고, 상기 가상 객체의 상기 제2 뷰가 상기 제2 사용자에게 제시되도록 상기 룸 내의 상기 제1 사용자에게 상기 가상 객체의 상기 제2 뷰를 투영하게 하는 것이며, 상기 제1 사용자에 대한 상기 가상 객체의 제1 뷰 및 상기 제2 사용자에 대한 상기 가상 객체의 상기 제2 뷰의 동시 제시는, 상기 가상 객체로 하여금, 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 상기 제1 사용자 및 상기 제2 사용자에게 나타나게 하는 것임 -
    를 포함하는, 컴퓨팅 시스템에 의해 수행되는 방법.
  12. 제11항에 있어서,
    상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초하여 실시간으로 상기 지오메트릭 모델을 업데이트하는 단계를 더 포함하는, 컴퓨팅 시스템에 의해 수행되는 방법.
  13. 제12항에 있어서,
    상기 실시간으로 상기 지오메트릭 모델을 업데이트하는 단계는 상기 룸 내의 상기 제1 사용자 및 상기 제2 사용자의 검출된 위치에 기초하여 상기 지오메트릭 모델을 업데이트하는 단계를 포함하는 것인, 컴퓨팅 시스템에 의해 수행되는 방법.
  14. 제11항에 있어서,
    상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초하여 상기 룸 내의 표면의 반사율; 및
    상기 적어도 하나의 센서 유닛에 의해 생성되는 상기 적어도 하나의 센서 신호에 기초하여 상기 룸 내의 상기 표면의 컬러 특성
    중 적어도 하나를 추정하는 단계; 및
    상기 표면의 상기 반사율 및 상기 표면의 상기 컬러 특성 중 적어도 하나에 기초하여 상기 적어도 하나의 프레임을 생성하는 단계
    를 더 포함하는, 컴퓨팅 시스템에 의해 수행되는 방법.
  15. 제11항에 있어서,
    상기 가상 객체에 대하여 상기 제1 사용자 및 상기 제2 사용자 중 하나의 사용자에 의해 수행되는 제스처를 검출하는 단계; 및
    상기 제스처에 기초하여 상기 적어도 하나의 프레임을 생성하는 단계
    를 더 포함하는, 컴퓨팅 시스템에 의해 수행되는 방법.
  16. 제15항에 있어서,
    상기 제1 사용자에 대한 상기 가상 객체의 상기 제1 뷰 및 상기 제2 사용자에 대한 상기 가상 객체의 상기 제2 뷰의 동시 제시는, 상기 제1 사용자 및 상기 제2 사용자로 하여금, 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 상기 가상 객체가 이동하고 있는 것을 인식하게 하는 것인, 컴퓨팅 시스템에 의해 수행되는 방법.
  17. 제11항에 있어서,
    상기 적어도 하나의 프레임은 제1 프레임 및 제2 프레임을 포함하고, 상기 적어도 하나의 프레임을 전송하는 단계는,
    상기 제1 프레임을 제1 프로젝터로 전송하여, 상기 제1 프로젝터로 하여금 상기 제1 사용자에 대한 상기 가상 객체의 상기 제1 뷰를 투영하게 하는 단계; 및
    상기 제2 프레임을 제2 프로젝터로 전송하여 상기 제2 프로젝터로 하여금 상기 제2 사용자에 대한 상기 가상 객체의 상기 제2 뷰를 투영하게 하는 단계
    를 포함하는 것인, 컴퓨팅 시스템에 의해 수행되는 방법.
  18. 제11항에 있어서,
    상기 가상 객체의 상기 제1 뷰 및 상기 가상 객체의 제2 뷰 중 적어도 하나가, 상기 제1 시선 방향 및 상기 제2 시선 방향 중 적어도 하나의 변경의 함수로서 실시간으로 업데이트되도록, 상기 제1 시선 방향을 계산하는 동작, 상기 제2 시선 방향을 계산하는 동작, 상기 가상 객체의 상기 제1 뷰를 계산하는 동작, 상기 가상 객체의 상기 제2 뷰를 계산하는 동작, 및 상기 룸 내의 상기 적어도 하나의 프로젝터에 상기 적어도 하나의 프레임을 전송하는 동작을 연속적으로 수행하는 단계를 더 포함하는, 컴퓨팅 시스템에 의해 수행되는 방법.
  19. 컴퓨팅 시스템에 있어서,
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 동작들을 수행하게 하는 명령어들이 저장된 메모리
    를 포함하고,
    상기 동작들은,
    룸 내의 제1 사용자 및 제2 사용자 중 적어도 하나의 사용자의 모션을 검출하는 동작 - 상기 제1 사용자와 상기 제2 사용자는 상기 룸 내에서 서로 마주보고 있음 - ;
    상기 룸 내의 상기 제1 사용자 및 상기 제2 사용자 중 적어도 하나의 사용자의 상기 검출된 모션에 기초하여 상기 룸의 컴퓨터 구현 지오메트릭 모델을 업데이트하는 동작;
    상기 룸의 상기 컴퓨터 구현 지오메트릭 모델의 업데이트에 응답하여, 상기 제1 사용자에 대한 제시를 위한 가상 객체의 제1 뷰를 계산하는 동작 - 상기 가상 객체의 상기 제1 뷰는 상기 룸의 상기 컴퓨터 구현 지오메트릭 모델에 기초하여 계산됨 - ;
    상기 룸의 상기 컴퓨터 구현 지오메트릭 모델의 업데이트에 응답하여, 상기 제2 사용자에 대한 제시를 위한 상기 가상 객체의 제2 뷰를 계산하는 동작 - 상기 가상 객체의 상기 제2 뷰는 상기 룸의 상기 컴퓨터 구현 지오메트릭 모델에 기초하여 계산됨 - ; 및
    적어도 하나의 프레임을 적어도 하나의 프로젝터로 전송하는 동작 - 상기 적어도 하나의 프레임은 상기 적어도 하나의 프로젝터로 하여금, 상기 룸 내의 상기 가상 객체의 상기 제1 뷰의 부분을 상기 제2 사용자에 대하여, 그리고 상기 룸 내의 상기 가상 객체의 상기 제2 뷰의 부분을 상기 제1 사용자에 대하여 동시에 투영하게 하는 것이며, 상기 가상 객체는 상기 제1 사용자와 상기 제2 사용자 사이의 공간에서 이동되도록 상기 제1 사용자 및 상기 제2 사용자에게 나타나는 것임 -
    을 포함하는 것인, 컴퓨팅 시스템.
  20. 제1항에 있어서,
    상기 가상 객체의 상기 제1 뷰 및 상기 가상 객체의 상기 제2 뷰는 상기 룸의 컴퓨터 구현 지오메트리(computer-implemented geometry)가 업데이트되는 것에 기초하여 실시간으로 계산되고, 또한, 상기 룸의 상기 컴퓨터 구현 지오메트리는 상기 룸에서 상기 제1 사용자 및 상기 제2 사용자가 이동함에 따라, 실시간으로 업데이트되는 것인, 컴퓨팅 시스템.
KR1020177012128A 2014-10-07 2015-10-06 공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술 KR102527529B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462060901P 2014-10-07 2014-10-07
US62/060,901 2014-10-07
US14/682,546 2015-04-09
US14/682,546 US10297082B2 (en) 2014-10-07 2015-04-09 Driving a projector to generate a shared spatial augmented reality experience
PCT/US2015/054100 WO2016057433A1 (en) 2014-10-07 2015-10-06 Driving a projector to generate a shared spatial augmented reality experience

Publications (2)

Publication Number Publication Date
KR20170062533A KR20170062533A (ko) 2017-06-07
KR102527529B1 true KR102527529B1 (ko) 2023-04-28

Family

ID=55633153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012128A KR102527529B1 (ko) 2014-10-07 2015-10-06 공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술

Country Status (6)

Country Link
US (1) US10297082B2 (ko)
EP (1) EP3204838A1 (ko)
JP (1) JP2017538990A (ko)
KR (1) KR102527529B1 (ko)
CN (1) CN106796453B (ko)
WO (1) WO2016057433A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043319B2 (en) 2014-11-16 2018-08-07 Eonite Perception Inc. Optimizing head mounted displays for augmented reality
JP6362631B2 (ja) * 2016-01-15 2018-07-25 株式会社meleap 画像表示システム、画像表示システムの制御方法、画像配信システムおよびヘッドマウントディスプレイ
JP6249248B2 (ja) * 2016-03-10 2017-12-20 パナソニックIpマネジメント株式会社 投影装置
JP6780315B2 (ja) * 2016-06-22 2020-11-04 カシオ計算機株式会社 投影装置、投影システム、投影方法及びプログラム
US20180007328A1 (en) * 2016-07-01 2018-01-04 Intel Corporation Viewpoint adaptive image projection system
JP6757004B2 (ja) * 2016-08-02 2020-09-16 大学共同利用機関法人情報・システム研究機構 画像処理装置及び方法、画像処理プログラム、並びに投影装置
US11017712B2 (en) 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US10262464B2 (en) 2016-12-30 2019-04-16 Intel Corporation Dynamic, local augmented reality landmarks
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
CN106933022A (zh) * 2017-04-01 2017-07-07 深圳优立全息科技有限公司 一种虚拟现实互动体验装置
CN110996097B (zh) 2017-05-08 2021-10-01 华为技术有限公司 Vr多媒体的体验质量确定方法及装置
CN107193372B (zh) * 2017-05-15 2020-06-19 杭州一隅千象科技有限公司 从多个任意位置矩形平面到可变投影中心的投影方法
WO2018234866A2 (en) * 2017-06-23 2018-12-27 Zyetric Virtual Reality Limited INCREASED INTERACTIVE REALITY OF ROLE PLAY IN SUBJECTIVE VIEW
JP6509955B2 (ja) * 2017-06-28 2019-05-08 株式会社コロプラ 情報処理方法、プログラム及び情報処理装置
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
JP6989366B2 (ja) * 2017-12-05 2022-01-05 司 志賀 冠婚葬祭用映像表示装置及び冠婚葬祭用建物
CN108255292A (zh) * 2017-12-06 2018-07-06 上海永微信息科技有限公司 空气成像互动系统、方法、控制设备及存储介质
FR3075426B1 (fr) * 2017-12-14 2021-10-08 SOCIéTé BIC Procede et systeme de projection d'un motif en realite mixte
KR101910516B1 (ko) * 2018-04-18 2018-10-22 (주)브로틴 Non hmd 기반의 3차원 vr 컨텐츠 제공 시스템
KR102049235B1 (ko) * 2018-05-18 2019-11-28 (주)씨소 공간 공유 서비스 장치
WO2020092271A1 (en) * 2018-10-29 2020-05-07 Holosports Corporation Racing helmet with visual and audible information exchange
CN109545003B (zh) * 2018-12-24 2022-05-03 北京卡路里信息技术有限公司 一种显示方法、装置、终端设备及存储介质
US10921878B2 (en) * 2018-12-27 2021-02-16 Facebook, Inc. Virtual spaces, mixed reality spaces, and combined mixed reality spaces for improved interaction and collaboration
KR102653252B1 (ko) * 2019-02-21 2024-04-01 삼성전자 주식회사 외부 객체의 정보에 기반하여 시각화된 인공 지능 서비스를 제공하는 전자 장치 및 전자 장치의 동작 방법
WO2020261292A1 (en) 2019-06-24 2020-12-30 Touchmagix Media Pvt. Ltd. Interactive reality activity augmentation
US11533468B2 (en) 2019-06-27 2022-12-20 Samsung Electronics Co., Ltd. System and method for generating a mixed reality experience
US20220244779A1 (en) * 2019-07-10 2022-08-04 Nec Corporation Gaze point detection device and gaze point detection method
CN110568931A (zh) * 2019-09-11 2019-12-13 百度在线网络技术(北京)有限公司 交互方法、设备、系统、电子设备及存储介质
JP7400531B2 (ja) * 2020-02-26 2023-12-19 株式会社リコー 情報処理システム、情報処理装置、プログラム、情報処理方法及び部屋
JP7424121B2 (ja) * 2020-03-10 2024-01-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN113313836B (zh) * 2021-04-26 2022-11-25 广景视睿科技(深圳)有限公司 一种控制虚拟宠物的方法及智能投影设备
CN113689756A (zh) * 2021-08-23 2021-11-23 天津津航计算技术研究所 基于增强现实的座舱重构系统及实现方法
WO2023023778A1 (en) * 2021-08-25 2023-03-02 Lifesize Plans Ip Pty Ltd A room or area visualisation system
US11586284B1 (en) * 2022-01-14 2023-02-21 Sony Interactive Entertainment Inc. Using gaze tracking to effect player choices in multi player interactive narratives

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014032089A1 (en) * 2012-08-28 2014-03-06 University Of South Australia Spatial augmented reality (sar) application development system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1373967A2 (en) 2000-06-06 2004-01-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. The extended virtual table: an optical extension for table-like projection systems
US7574070B2 (en) * 2003-09-30 2009-08-11 Canon Kabushiki Kaisha Correction of subject area detection information, and image combining apparatus and method using the correction
US8730309B2 (en) 2010-02-23 2014-05-20 Microsoft Corporation Projectors and depth cameras for deviceless augmented reality and interaction
US20120120103A1 (en) * 2010-02-28 2012-05-17 Osterhout Group, Inc. Alignment control in an augmented reality headpiece
US20110316845A1 (en) 2010-06-25 2011-12-29 Palo Alto Research Center Incorporated Spatial association between virtual and augmented reality
WO2012011044A1 (en) 2010-07-20 2012-01-26 Primesense Ltd. Interactive reality augmentation for natural interaction
JP5337915B2 (ja) * 2010-09-30 2013-11-06 富士フイルム株式会社 情報提示装置、デジタルカメラ、ヘッドマウントディスプレイ、プロジェクタ、情報提示方法、情報提示プログラム
US20120113223A1 (en) 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
US20120188148A1 (en) * 2011-01-24 2012-07-26 Microvision, Inc. Head Mounted Meta-Display System
US9255813B2 (en) * 2011-10-14 2016-02-09 Microsoft Technology Licensing, Llc User controlled real object disappearance in a mixed reality display
CN103106665A (zh) * 2011-11-11 2013-05-15 周建龙 一种空间增强现实系统中自动跟踪移动物体的方法
KR20130053466A (ko) 2011-11-14 2013-05-24 한국전자통신연구원 인터랙티브 증강공간 제공을 위한 콘텐츠 재생 장치 및 방법
WO2013126784A2 (en) * 2012-02-23 2013-08-29 Huston Charles D System and method for creating an environment and for sharing a location based experience in an environment
US20130326364A1 (en) * 2012-05-31 2013-12-05 Stephen G. Latta Position relative hologram interactions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014032089A1 (en) * 2012-08-28 2014-03-06 University Of South Australia Spatial augmented reality (sar) application development system

Also Published As

Publication number Publication date
KR20170062533A (ko) 2017-06-07
WO2016057433A1 (en) 2016-04-14
EP3204838A1 (en) 2017-08-16
JP2017538990A (ja) 2017-12-28
US10297082B2 (en) 2019-05-21
CN106796453A (zh) 2017-05-31
CN106796453B (zh) 2020-06-05
US20160098862A1 (en) 2016-04-07

Similar Documents

Publication Publication Date Title
KR102527529B1 (ko) 공유된 공간 증강 현실 경험을 생성하기 위한 프로젝터 구동 기술
Benko et al. Dyadic projected spatial augmented reality
JP7181316B2 (ja) Hmd環境での高速中心窩レンダリングのための予測及びgpuに対する最新の更新を伴う視線追跡
TWI442311B (zh) 在遊戲中使用三維環境模型
KR102460047B1 (ko) 유저 안경 특성을 결정하는 눈 추적용 디바이스를 갖는 헤드업 디스플레이
CN106575357B (zh) 瞳孔检测
TWI567659B (zh) 照片表示視圖的基於主題的增強
CN106462233B (zh) 用于显示设备观看者视线吸引的方法和设备
KR102118749B1 (ko) 가상 현실 디스플레이 시스템
WO2017115635A1 (ja) 情報処理方法及び情報処理プログラム
CN110536665A (zh) 使用虚拟回声定位来仿真空间感知
WO2018224847A2 (en) Mixed reality gaming system
US20130141419A1 (en) Augmented reality with realistic occlusion
CN109643014A (zh) 头戴式显示器追踪
KR20170081225A (ko) 가상 현실 환경에서 사용자를 안내하기 위한 감각 피드백 시스템 및 방법
US20100315414A1 (en) Display of 3-dimensional objects
WO2019152619A1 (en) Blink-based calibration of an optical see-through head-mounted display
JPWO2019123729A1 (ja) 画像処理装置、画像処理方法、およびプログラム
CN105247448A (zh) 眼睛位置的校准
US20200242335A1 (en) Information processing apparatus, information processing method, and recording medium
CN115335894A (zh) 用于虚拟和增强现实的系统和方法
JP2023517954A (ja) マルチユーザ仮想および拡張現実のためのシステムおよび方法
TWI423114B (zh) 互動式裝置及其運作方法
US20220075477A1 (en) Systems and/or methods for parallax correction in large area transparent touch interfaces
WO2013111119A1 (en) Simulating interaction with a three-dimensional environment

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