KR102239855B1 - 가상 현실 사용자 인터페이스를 위한 사용자 모션 범위의 검출 - Google Patents

가상 현실 사용자 인터페이스를 위한 사용자 모션 범위의 검출 Download PDF

Info

Publication number
KR102239855B1
KR102239855B1 KR1020197002560A KR20197002560A KR102239855B1 KR 102239855 B1 KR102239855 B1 KR 102239855B1 KR 1020197002560 A KR1020197002560 A KR 1020197002560A KR 20197002560 A KR20197002560 A KR 20197002560A KR 102239855 B1 KR102239855 B1 KR 102239855B1
Authority
KR
South Korea
Prior art keywords
virtual
electronic device
user
environment
motion
Prior art date
Application number
KR1020197002560A
Other languages
English (en)
Other versions
KR20190025934A (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 KR20190025934A publication Critical patent/KR20190025934A/ko
Application granted granted Critical
Publication of KR102239855B1 publication Critical patent/KR102239855B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors

Abstract

하나의 일반적인 양상에서, 사용자에 대한 가상 환경을 생성하기위한 시스템 및 방법이 설명된다. 가상 환경은 제 2 전자 디바이스에 통신가능하게 연결된 제 1 전자 디바이스로 생성될 수 있다. 상기 방법은 주변 환경에서 상기 제 2 전자 디바이스의 움직임을 추적하는 단계; 하나 이상의 센서들을 사용하여, 상기 주변 환경에서 제 2 전자 디바이스의 움직임과 관련된 모션 범위를 결정하는 단계; 상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 단계; 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계; 및 상기 제 1 전자 디바이스의 가상 환경에서, 상기 가상 구성에 따라 상기 복수의 가상 객체들의 렌더링을 트리거링하는 단계를 포함할 수 있다.

Description

가상 현실 사용자 인터페이스를 위한 사용자 모션 범위의 검출
관련 출원들에 대한 상호 참조
본 출원은 2016년 7월 22일자로 미국에 출원된 "DETECTING USER RANGE OF MOTION FOR VIRTUAL REALITY USER INTERFACES" 라는 명칭의 미국 가출원(62/365,526)의 계속출원이며 이의 우선권을 주장한다. 상기 출원은 본 발명에 대한 참조로서 그 전체 내용이 본 명세서에 통합된다.
일반적으로, 본 발명은 가상 현실(VR) 콘텐츠에 액세스하는 사용자들의 모션 능력들의 범위를 검출하기 위한 방법 및 디바이스에 관한 것이다.
많은 가상 현실 환경들은 다양한 디바이스들로부터 사용자 입력들을 받아 들인다. 예를 들어, 가상 현실(VR) 공간에 입력을 제공하기 위해 모바일 디바이스, 키보드, 콘트롤러 및 추적된 손 움직임의 모든 조합을 사용할 수 있다. 또한, VR 공간에 입력을 제공하는 것은, 모션들과 디바이스 조작들의 조합을 수반할 수 있다. 각각의 모션 및 디바이스 조작은 VR 공간에 액세스하는 사용자에 의해 수행될 수 있다.
하나 이상의 컴퓨팅 디바이스들의 시스템은, 동작 시에 상기 시스템이 동작들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 상기 시스템 상에 설치함으로써 특정 연산들 혹은 동작들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은, 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 동작들을 수행하게 하는 명령들을 포함함으로써, 특정 연산들 또는 동작들을 수행하도록 구성될 수 있다.
일반적인 일 양상에서, 컴퓨터로 구현되는 방법은 제 2 전자 디바이스에 통신가능하게 연결된 제 1 전자 디바이스로 가상 환경을 생성하는 단계, 주변 환경에서 상기 제 2 전자 디바이스의 움직임을 추적하는 단계, 및 하나 이상의 센서들을 사용하여, 상기 주변 환경에서 제 2 전자 디바이스의 움직임과 관련된 모션 범위를 결정하는 단계를 포함할 수 있다. 상기 방법은 또한, 주변 환경과 관련된 모션 범위를 가상 환경과 관련된 모션 범위와 상관시키는 단계, 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계, 및 상기 제 1 전자 디바이스의 가상 환경에서, 상기 가상 구성에 따라 상기 복수의 가상 객체들의 렌더링을 트리거링하는 단계를 포함할 수 있다.
구현예들은 다음과 같은 피처들 중 하나 이상을 포함할 수 있다. 상기 방법에서, 복수의 가상 객체들 중 적어도 하나는, 가상 환경 및 가상 환경과 관련된 옵션들을 보여주는 사용자 인터페이스의 일부분이고, 그리고 상기 가상 구성을 결정하는 단계는, 상기 가상 환경과 관련된 모션 범위와 매칭되도록 상기 사용자 인터페이스를 조정하는 단계를 포함한다. 상기 방법에서 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 단계는, 상기 제 1 전자 디바이스 또는 상기 제 2 전자 디바이스 중 적어도 하나에 액세스하는 사용자의 물리적 양상(physical aspect)을 결정하는 단계, 상기 물리적 양상과 관련된 적어도 하나의 능력(capability)을 상기 주변 환경으로부터 상기 가상 환경으로 변환하는 단계, 및 변환된 적어도 하나의 능력에 따라 상기 가상 환경에서 가상 콘텐츠를 제공하는 단계를 포함한다. 일부 구현예에서, 상기 제 1 전자 디바이스에 액세스하는 사용자의 물리적 양상은, 가상 환경에서 검출된 위치(position), 자세(posture), 물리적 공간에서 검출된 위치, 검출된 높이, 상기 사용자의 암 스팬(arm span)과 관련된 도달 거리(reach distance) 중 적어도 하나를 포함한다. 일부 구현예에서, 상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 단계는 또한, 상기 제 1 전자 디바이스에 액세스하는 사용자가 상기 제 1 전자 디바이스에 액세스하는 동안 착석된 위치(seated postion)에 있다라고 판별함에 응답하여, 상기 사용자의 착석된 위치를 고려하도록 상기 가상 환경에서 상기 적어도 하나의 능력을 활성화(enable)시키는 단계를 더 포함한다.
일부 구현예에서, 상기 방법의 상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계는, 상기 제 1 전자 디바이스와 관련된 사용자의 물리적 양상을 결정하고, 그리고 상기 사용자의 물리적 양상 및 상기 주변 환경과 관련된 모션 범위를 이용하여 도달 구역(reach zone)을 추정하는 단계를 포함한다. 상기 도달 거리 구역은 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내의 영역으로서 이용될 수 있고 그리고 가상 환경 내에 복수의 가상 객체들이 배치된다. 일부 구현예에서, 가상 환경과 관련된 모션 범위는 제 2 전자 디바이스 상에서 실행되는 가속도계를 이용하여 결정된다. 일부 구현예에서, 주변 환경에서 제 2 전자 디바이스의 움직임을 추적하는 단계는, 주변 환경에서 상기 제 1 전자 디바이스와 상기 제 2 전자 디바이스에 액세스하는 사용자의 이미지들을 캡춰함으로써, 상기 제 2 전자 디바이스의 측면 이동(lateral movement)을 추적하는 단계를 포함한다. 일부 구현예에서, 제 1 전자 디바이스는 HMD 디바이스이며, 제 2 전자 디바이스는 휴대용 전자 디바이스이다.
일부 구현예에서, 상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계는, 상기 제 1 전자 디바이스에 액세스하는 사용자의 높이를 결정하고, 그리고 상기 사용자의 높이 및 상기 주변 환경과 관련된 모션 범위를 이용하여 도달 구역을 추정하는 단계를 포함한다. 상기 도달 거리 구역은 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내의 영역으로서 이용될 수 있고 그리고 가상 환경 내에 복수의 가상 객체들이 배치될 수 있다.
일부 구현예에서, 상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계는, 상기 제 1 전자 디바이스의 수직 오프셋을 검출하고, 그리고 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내에 복수의 가상 객체들을 배치하도록 상기 수직 오프셋을 이용하는 단계를 포함한다.
전술한 시스템들의 구현예들은 하드웨어, 방법 또는 프로세스, 또는 컴퓨터 액세스가능 매체 상의 컴퓨터 소프트웨어를 포함할 수 있다.
하나 이상의 구현예들의 세부 내용들은 첨부된 도면들과 함께 아래에 설명된다. 다른 특징들은 상세한 설명 및 도면들 및 청구항들로부터 명백할 것이다.
도 1a 및 도 1b는 가상 현실(virtual reality: VR) 공간과 상호작용하는 사용자의 예를 도시하는 도면이다.
도 2a 및 2b는 VR 공간과 상호작용하는 사용자의 예를 도시하는 블록도이다.
도 3은 VR 공간에서 HMD 디바이스에 통신가능하게 결합된 VR 디바이스를 나타내는 블록도이다.
도 4는 본 명세서에 설명된 구현 및 기술에 따라, 헤드 장착 디스플레이 및 콘트롤러를 포함하는 가상 현실 시스템의 예시적인 구현이다.
도 5는 모션 범위를 검출하고 모션 범위에 따라 가상 콘텐츠를 제공하는 프로세스의 일 구현예를 나타내는 흐름도이다.
도 6은 본 명세서에 기술된 기술을 구현하는데 사용될 수 있는 컴퓨터 디바이스 및 모바일 컴퓨터 디바이스의 예를 도시한다.
여러 도면에서 동일한 참조 기호는 동일한 요소를 나타낸다.
가상 현실(VR) 어플리케이션에서, 사용자는 사용자의 모션의 물리적 사이즈 및/또는 이용가능한 범위에 물리적으로 또는 인체공학적으로(ergonomically) 적합하지 않은 환경에 위치할 수도 있다. 이로 인해 사용자는 VR 공간에서 가상 객체 및 어플리케이션과 편안하게 상호작용할 수 없게 될 수 있다. 이러한 환경에 대한 환경 평가 및 자동 조정을 제공함으로써 사용자는 VR 공간의 가상 객체 및 어플리케이션과 편안하게 상호작용할 수 있다. 앞서 언급한 자동 조정이 없다면, 사용자는 어플리케이션과 상호작용할 수 있도록 위치(position)를 변경해야만 할 수도 있다(예컨대, 앉아있다가 일어나거나 또는 그 반대의 경우 및/또는 몸을 구부리거나 돌려야함). 본 명세서에 서술된 시스템들 및 방법들은 특정 어플리케이션이 사용자의 현재 물리적 위치에 기초하여 특정 사용자에게 사용가능한지 여부에 대한 결정을 제공할 수 있다. 상기 시스템 및 방법은 사용자 편의를 위해 도움이 되는 간단한(minor) 위치 조정을 수행할 수 있는 능력을 제공할 수 있으며, 또한 사용자의 현재 물리적 위치(예컨대, 서있기, 앉기, 기타 등등)로부터 상기 사용자를 위해 어플리케이션이 사용가능하게 만드는데 도움이 되는 주요한(major) 위치 조정을 제공할 수 있다.
착석 위치, 수평 위치 또는 서있는 위치에서 사용자가 이용가능한 모션의 범위를 평가함으로써, 본 명세서에 설명된 시스템 및 방법은, 사용자와 관련된 이용가능한 모션 범위와 매칭되도록, VR 공간 및 VR 공간과 관련된 옵션들을 보여주는 사용자 인터페이스를 조절할 수 있다. 예를 들어, 본 명세서에 기술된 시스템 및 방법이 사용자가 360도의 회전 모션 및/또는 사용자 몸체로부터의 특정 반경의 도달 거리(reach)를 갖는 의자에 앉아있음을 검출하면, 착석한 사용자 및 검출된 사용자의 범위 및 도달 거리에 기초하여 특정 사용자 인터페이스가 HMD 디바이스에서 VR 공간의 사용자에게 렌더링 및 제공될 수 있다. 대안적으로, 만일 사용자가 서있다라고 결정되면, 상이한 사용자 인터페이스가 렌더링을 위해 트리거링되고 그리고 HMD 디바이스에서의 디스플레이를 위해 제공될 수 있다. 유사하게, 사용자가 누워 있다라고 결정되면, 또 다른 사용자 인터페이스가 렌더링을 위해 트리거되고 HMD 디바이스에서의 디스플레이를 위해 제공될 수 있다.
일부 구현예에서는, VR 공간을 생성하는 요소들에 통신가능하게 결합된 하나 이상의 디바이스들과 관련된 가속도계에 의해서 사용자의 모션 범위가 검출될 수 있다. 이러한 가속도계는 VR 공간을 디스플레이하는 HMD 디바이스에 통신가능하게 연결된 모바일 디바이스의 일부일 수 있다. 일부 구현예에서, 카메라, 추적 시스템, 추적 센서 등을 사용하여 사용자와 관련된 모션 범위에 대한 근사화가 이루어질 수 있다.
본 명세서에 기술된 시스템 및 방법은 사용자들과 VR 장비를 자동으로 평가할 수 있으며 그리고 VR 공간에 액세스하는 사용자와 관련된 특정한 물리적 속성들 혹은 피처들에 대하여 VR 공간, VR 장비, VR 객체 및/또 관련된 VR 어플리케이션 콘텐츠를 조정할 수 있다. VR 어플리케이션 및 VR 어플리케이션에서 상호작용하는데 이용되는 관련 하드웨어 구성을 자동으로 평가 및/또는 조절함으로써, 시스템이 사용자를 위해 이와 같이 구성되지 않는 경우에 비하여, 하루 동안 더 적은 인체공학적, 구성 및 물류 방해(logistics interruption)를 이용하여 사용자가 일상적인 컴퓨팅 활동을 수행할 수 있다. 가상 현실 환경(예: VR 공간) 및 관련 장비에 이러한 자동화를 부가하면, VR 공간에서 사용되는 가상 콘텐츠 및 인터페이스, 콘트롤들 및 장비를 상대적으로 신속하게 구성하고 디스플레이할 수 있다. 예를 들어, 콘트롤들, 사용자 인터페이스, 모니터, 의자, 가상 콘텐츠 등의 자동화된 분석 및 배치는, 컴퓨팅 환경에 액세스하는 사용자에게 개별적으로 맞춤화된 컴퓨팅 환경(물리적 및 가상)을 제공할 수 있다.
일부 구현예에서, VR 공간 및 관련 장비의 조정은, 사용자의 움직임 및/또는 시간에 따라 사용자에 의해 사용되는 모션 범위를 검출하는 것에 응답하여 수행될 수 있다. 예를 들어, 사용자 움직임을 검출하는 것(예를 들어, 움직임 및 위치 추적, 눈-시선 추적, 디바이스 추적 및/또는 센서 측정 등을 통해)에 응답하여, 본 명세서에 설명된 시스템 및 방법은, VR 어플리케이션에 액세스하는 사용자의 물리적 양태들에 따라 VR 어플리케이션에서 콘텐츠를 렌더링(혹은 콘텐츠의 렌더링을 트리거링)할 수 있다. 사용자의 물리적 양태들은 VR 공간 내의 검출된 위치, 물리적 공간 내의 검출된 위치(예컨대, 서있는 것, 앉아있는 것, 움직이는 것 등), 검출된 혹은 사용자가 입력한 높이, 사용자의 높이의 암 스팬(arm span), 머리 회전 각도, 시선, 이동 가능성(mobility capability) 등의 일부 또는 전체에 관련된 감지된 또는 계산된 도달 거리를 포함하지만, 이에 한정되는 것은 아니다.
또한, 본 명세서에 기재된 시스템 및 방법은 시스템 및 부가 VR 공간, 관련 장비, 및 VR 어플리케이션과 상호작용하는 사용자의 특정 자세(posture)를 검출할 수 있으며 그리고 검출된 자세에 기초하여 특정 상호작용, VR 콘텐츠, 및 옵션을 제공할 수 있다. 예를 들어, 상기 시스템 및 방법은 사용자가 앉았는지 또는 서있는지의 여부를 검출할 수 있다. 이러한 검출은 특정 이동 옵션을 제공하거나 금지하는데 사용될 수 있다. 예를 들어, 가상 게임에서의 상호작용 동안 사용자가 앉아있는 경우, VR 어플리케이션(관련 콘트롤러 또는 다른 하드웨어 또는 소프트웨어 기반 센서를 사용하여)은 사용자가 착석한 것으로 판단할 수 있고, 부가적인 움직임 옵션을 제공하거나 착석 포지션에 대한 움직임 옵션을 수정할 수 있다. 만일, VR 어플리케이션(관련 콘트롤러 또는 다른 하드웨어 또는 소프트웨어 기반 센서를 사용하여)이 사용자가 동일한 가상 게임 중에 서있다라고 판단하면, 상기 VR 어플리케이션은 다른 움직임 옵션을 제공할 수 있다. 따라서, VR 공간에서 제공되는 어플리케이션 콘텐츠와 상호작용하도록, 사용자가 물리적으로 걸어가거나 돌아서는 것을 가상 게임이 허용한다면, VR 어플리케이션은 이러한 피처들을 이용하고 그리고 추가적인 오직 입석 유형(additional standing only type)의 상호작용 옵션들을 허용할 수 있다. 대신, 사용자가 착석한 것으로 검출되면(예컨대, 비행기에서, 책상에서, 기타 등등), VR 어플리케이션은 걷거나 또는 돌아서는 것과 관련된 피처들을 해제(disengage)할 수 있으며 그리고 착석한 사용자에게 편리할 수 있는 다른, 보다 적절한 옵션들을 제공할 수 있다.
일부 구현예에서, 본 명세서에 기재된 시스템 및 방법은 시간의 경과에 따른 사용자의 움직임 패턴을 검출하고 그리고 검출된 패턴을 이용하여 사용자 모션의 이용가능한 범위 및/또는 사용자 모션의 제한된 범위를 결정할 수 있다. 예를 들어, 패턴을 검출하는 것은, 사용자가 앉아있고, 서있고, 이동하고, 도달하고(reaching), 회전하고 및/또는 주변을 응시하는 것을 검출하는 것을 포함할 수 있다. 일부 구현예에서, 상기 패턴은 좌우로 이동가능한(side-to-side movement capabilities) 의자에 사용자가 앉아있음을 확인하는데 이용될 수 있다. 예를 들어, 상기 패턴은 사용자가 원(또는 원의 일부)에서 좌우로 선회하는 기능을 가진 회전 의자에 있음을 나타낼 수 있다.
일부 구현예에서, 검출된 패턴은 사용자가 걷고 있거나 서있는지의 여부를 결정하는데 사용될 수 있다. 다른 구현예에서, 상기 패턴은 사용자가 앉아있거나 서있는지의 여부를 결정하는데 사용될 수 있다. 패턴 검출 및 상이한 패턴들의 판별은, 하나 이상의 머신 학습 알고리즘을 사용하여 구현될 수 있다. 일부 구현예에서, 패턴 검출 및 패턴 차별화는 룩업 테이블을 사용하여 수행될 수 있는바, 예를 들어, 사용자 모션의 범위들을 측정하고 그리고 알려진 움직임 및 상기 알려진 움직임의 관련 범위(예를 들어, 한계)와 이러한 모션들을 비교함으로써 수행될 수 있다.
몇몇 구현예에서, 본 명세서에 기재된 시스템 및 방법은, 특정 VR 하드웨어와 관련된 센서들을 액세스하여, VR 공간에 액세스하는 사용자에 대한 물리적 양상들을 검출할 수 있다. 예를 들어, VR 공간에 통신가능하게 결합된 사용자의 모바일 디바이스 상의 가속도계를 분석하여, 사용자가 고정형 의자 또는 회전 의자에 앉았는지의 여부를 검출할 수 있다. 특히, 안정된 좌우 모션(stable side-to-side motion)을 나타내는 측정값들을 모바일 디바이스의 가속도계가 캡처하고 있음을 본 명세서에 기재된 시스템이 검출한다면, 상기 시스템은 사용자가 회전 의자에 있다고 결정할 수 있다. 이러한 탐지는 사용자의 움켜잡음(grasp) 범위(예: 도달 범위) 또는 시청 범위 내에 있도록 VR 공간의 가상 콘텐츠 및 오브젝트를 물리적으로 배치하는데 사용될 수 있다. 일부 구현예에서, 본 명세서에 기술된 시스템 및 방법은 사용자가 착석했는지 또는 서있는지 여부를 결정할 수 있다. 사용자가 착석한 것으로 판단되면, VR 소프트웨어는 VR 공간 내의 객체를 특정 높이(예컨대, 3 피트) 이하로 배치하도록 구성될 수 있는바, 이는 착석한 사용자에 대한 VR 공간과의 편리한 도달(reaching) 및/또는 상호작용을 수용하기 위한 것이다. 일부 구현예에서, 특정 콘텐츠(예를 들어, 가상 객체)는 수축, 스태킹 및/또는 착석한 사용자의 도달 거리 내에 있도록 가상 객체를 다른 방법으로 구성함으로써, 사용자가 액세스가능한 영역 내로 스냅(snapped)될 수 있다.
도 1a 및 도 1b는 VR 공간(100A-B)과 상호작용하는 사용자의 일례를 도시한다. 도 1a 및 도 1b에 도시된 예시적인 구현예는, 주변 환경을 차단하는(예를 들어, 실질적으로 차단하는) HMD 디바이스를 착용한 하나 이상의 사용자에 관하여 설명될 것인바, 따라서 HMD 디바이스는 HMD 디바이스에 의해 생성된 VR 공간으로 한정되는 사용자의 시야로 가상 환경/VR 공간을 생성한다. 그러나, 여기서 설명된 개념 및 특징은 다른 유형의 HMD 디바이스 및 다른 유형의 가상 현실 환경 및 증강 현실 환경에도 적용될 수 있다. 또한, 본 명세서에 설명된 도면에 도시된 일례들은 사용자 착용 HMD 디바이스 및 콘트롤러, 컴퓨팅 디바이스 등을 보유하는 제 3 자 관점으로 도시된 사용자를 포함할 수 있다.
도시된 예에서, 상호작용형(interactive: 이하, '대화형' 이라고도 함) 콘텐츠를 갖는 다수의 어플리케이션 윈도우들이 도시된다. 각각의 VR 공간(100A-B)은 정적인 콘텐츠 및/또는 대화형 콘텐츠를 갖는 어플리케이션을 포함한다. 도 1a 및 도 1b에 도시된 VR 공간(100A-B)는 사용자(예를 들어, 사용자(102A 또는 102B))가 임의 개수의 가상 어플리케이션 윈도우들 및/또는 다른 VR 콘텐츠의 가상 시각화(virtual visualization) 주위에서 이동하는 것을 허용하는 환경을 나타낸다. 가상 어플리케이션 윈도우 및 VR 콘텐츠의 적절한 물리적 배치는 이러한 콘텐츠와의 사용자 상호작용을 용이하게 할 수 있으며 그리고 VR 공간에서의 사용자 경험을 향상시킬 수 있다.
일반적으로, VR 공간(100A-B)은 도 1a-1b에 도시된 바와 같이, 예컨대, 사용자가 착용하는 HMD 디바이스(104)를 포함하는 시스템에 의해 생성될 수 있다. HMD 디바이스(104)는 다양한 서로 다른 유형들의 사용자 입력들에 의해 제어될 수 있고, 사용자는 다양한 유형의 사용자 입력들을 통해 HMD 디바이스(104)에 의해 생성된 VR 공간과 상호작용할 수 있다. 이러한 사용자 입력들은 예를 들어, 손/팔 제스처, 머리 제스처(head gestures), HMD 디바이스(104)의 조작, HMD 디바이스(104)에 작동가능하게 결합된 휴대용 콘트롤러의 조작 등을 포함할 수 있다. 사용자는 HMD 디바이스(104)에 통신가능하게 결합될 수 있는 휴대용 전자 디바이스(105)를 휴대하거나 혹은 그 근처에 있을 수 있다.
도 1a 및 도 1b에 도시된 예시적인 구현예는, 주변 환경을 실질적으로 차단하는 HMD 디바이스(따라서, HMD 디바이스는 HMD 디바이스에 의해 생성된 VR 공간으로 한정되는 사용자의 시야로 가상 환경/VR 공간을 생성한다)를 착용한 하나 이상의 사용자에 관하여 설명될 것이다. 하지만, 도 1a 및 도 1b와 관련하여 아래에 설명되는 개념 및 특징은 다른 유형의 HMD 디바이스 및 다른 유형의 가상 현실 환경 및 증강 현실 환경에도 적용될 수 있다.
도 1a에 도시된 바와 같이, HMD 디바이스(104)를 착용한 사용자(102A)는 VR 공간(106A)을 정의하는 룸(room)을 향하고 있다. HMD 디바이스(104)는 VR 공간(106A)에서 가상 콘텐츠를 묘사하기 위해, 사용자의 주변 환경에서 피처들을 정의하는 정보를 수집하고 및/또는 이미지들을 캡처할 수 있다. HMD 디바이스(104)에 의해 수집된 이미지 및 정보는 VR 공간(106A)에서 HMD 디바이스(105)에 의해 프로세싱될 수 있다. 또한, VR 공간(106A)에서의 사용자 상호작용에 기초하여 가상 콘텐츠를 업데이트하기 위해 센서(도시되지 않음)로부터 정보가 획득될 수 있다. 센서는 사용자에 속하는 손, 발 또는 기타 신체 부위 위치뿐만 아니라 6 도의 회전 자유도를 갖는 이러한 요소의 회전을 추적할 수 있다.
센서는 VR 공간(106A)에서의 사용자 위치, 이동, 및 상호작용을 감지 및 추적할 수 있다. 일부 구현예에서, 센서는 디바이스(105) 또는 다른 디바이스의 일부일 수 있다. 이러한 추적은 예를 들어 사용자(102A)의 특정한 물리적 속성들에 적합하도록 VR 어플리케이션을 인체공학적으로 동적으로 조절하는데 사용될 수 있다. 도시된 바와 같이, 사용자(102A)는 다수의 어플리케이션 개방 및 이용가능한 사용자 선택 및 상호작용으로 VR 공간(106A)에서 상호작용할 수 있다. 본 명세서에 설명된 시스템은 사용자(102A)가 서있다라고 판별할 수 있으며, 이에 따라 사용자가 자신의 서있는 자세에 기초하여 도달할 수 있는 콘텐츠, 메뉴, 콘트롤들 기타 등등의 특정 배치를 제공할 수 있다. 예를 들어, 어플리케이션(108, 110, 112 및 114)은 사용자로부터 도달가능한 거리 내에 제공될 수 있다. 도달가능한 거리는 서있는 사용자(102A)의 물리적 속성들에 관련될 수 있는바, 높이, 암 스팬, 머리 회전, 눈 시선, 이동 가능성 등을 포함하지만 이에 한정되는 것은 아니다.
사용자(102A)는 VR 공간(106A) 내에서 어플리케이션들(108, 110 및 112)에 액세스하는 가상 경험을 즐길 수도 있고 또한 어플리케이션(114)에서 보여주는 영화를 즐길 수도 있다. 본 발명의 시스템은 VR 공간 내의 사용자(102A)와 가상 객체들(예를 들어, 도시된 일례에서는 어플리케이션들 108-114) 사이의 거리를 결정할 수 있다. 상기 거리는 객체, 콘트롤, 메뉴 및 다른 VR 객체를 VR 공간(106A)내에 배치하는데 사용될 수 있다. 이러한 배치는 각각의 특정 사용자에게 맞춤화될 수 있다.
일부 구현예에서, 본 명세서에 기술된 시스템은 사용자에 대한 도달 구역(reach zone)을 결정할 수 있다. 도달 구역은 사용자의 최대 암 스팬 또는 물리적 공간 내의 도달가능한 영역과 관련될 수 있다. 이러한 도달 구역은 물리적 공간과 가상 공간을 상호연관시킬 수 있으며, 물리적 공간으로부터 가상 공간으로 변환될 수 있다. 예를 들어, 상기 시스템은 사용자의 신장(height)을 계산할 수 있으며 그리고 예상 도달 구역을 획득하기 위해 사용자의 신장을 대략 절반으로 나눌 수 있다. 이러한 것은 각각의 사용자에 대해 설정될 수 있으며 그리고 VR 공간에서 사용자에게 제공되는 어플리케이션 및 객체에 대한 거리 배치 규칙들을 위한 트리거를 제공할 수 있다. 이와 유사하게, 시스템은 물리적 공간 또는 VR 공간에서 사용자가 상호작용할 수 있는 특정 3 차원(3D) 표면의 높이를 사용하여, 다른 물리적 객체 또는 VR 객체의 편안하고 인체공학적인 배치를 결정할 수 있다. 예를 들어, 사용자가 드럼이나 피아노와 같은 악기를 연주하는 경우. 손의 배치 및 악기와의 상호작용을 사용하여, 다른 상호작용 또는 사용자 인터페이스 구성요소들을 제공할 수 있다. 예를 들어, 상기 시스템은, 키보드 배치 및 상호작용, 메뉴 배치, 헤드 배치, 아이 라인(eye line), 버튼 또는 콘트롤러 배치, 목록 배치 등을 결정하는 방법으로서, 악기 상호작용 및 배치를 사용할 수 있다.
몇몇 구현예에서, 본 명세서에 설명된 시스템들에 의해서 사용자의 물리적 양상이 확인될 수 있다. 예를 들어, 시스템(300)은 전자 디바이스(예를 들어, HMD 104)에 액세스하는 사용자의 하나 이상의 물리적 양상을 검출하거나 결정하는데 사용될 수 있는바, 이는 사용자를 위한 가상 환경 내에서의 검출된 위치, 사용자의 자세(posture), 사용자를 위한 물리적 공간 내에서의 검출된 위치, 사용자의 검출된 높이 및/또는 사용자와 관련된 암 스팬(arm span)에 관한 도달 거리(reach distance)를 포함하지만, 이에 한정되는 것은 아니다. 가상 환경에 액세스하는 사용자의 다른 물리적 양상들은, 본 명세서에 설명된 시스템, 센서 및 디바이스에 의해 감지될 수 있다.
사용자의 하나 이상의 물리적 양상들을 검출하면, 시스템(300)은 주변 환경과 관련된 모션 범위를 가상 환경과 관련된 모션 범위와 상관시킬 수 있다. 상관시키는 것은, 사용자가 주변 환경(예컨대, 물리적 환경)에서 서있거나 앉아있는지 결정하고 그리고 이러한 정보를 이용하여 가상 환경에서 사용자에 대한 유용한 모션 범위를 확인하는 것을 포함할 수 있다. 예를 들어, 제 1 전자 디바이스(예컨대, HMD 디바이스)에 액세스하는 사용자가 HMD 디바이스에 액세스하는 동안 앉아있는 것으로 결정함에 응답하여, 시스템(300)은 사용자의 앉아있는 위치를 고려할 수 있는 가상 환경에서의 적어도 하나의 능력들을 가능케할 수 있다. 예시적인 능력은, 사용자의 팔에 대한 도달 공간(또는 한계)를 포함할 수 있다. 시스템(300)은 사용자가 이용할 수 있는 물리적 도달 거리(reach)의 한계 또는 능력을 고려할 수 있으며, 그리고 사용자가 이용할 수 있는 도달 거리의 한계 내에 콘텐츠 및/또는 콘트롤들을 배치할 수 있다.
도 1a에 도시된 예에서, 시스템은 사용자(102A)가 서있음을 판별할 수 있고(예를 들어, 센서를 사용하여 검출함), 예를 들어, 어플리케이션(108,110,112,114)으로부터 사용자의 손까지의 거리를 계산할 수 있다. 이러한 계산은 인체공학적이며 사용자에게 유용한 VR 공간을 제공하는데 이용될 수 있으며, 따라서 사용자는 어플리케이션들(108-114) 중 하나에 도달하기 위해 지나치게 뻗지 않고서도(without overextending), 편안한 방식으로 어플리케이션(108-114)을 향해 걸을 수 있고 그리고 상호작용할 수 있다. 일부 구현예에서, VR 공간(106A)에 도시된 상호작용 동안, 어플리케이션(112)은 어플리케이션(110)의 전면에 제공되어 사용자에게 이메일을 통지할 수 있다. 어플리케이션(112)에 의해 생성된 'A.Faaborg' 로부터의 이메일 통지에 대한 편리한 배치를 결정하기 위하여, 사용자(102A)에 기초한 거리 결정이 수행될 수 있다. 이러한 결정은, 사용자가 서있는 위치에 있는 동안 사용자(102A)에게 편안할 뿐만 아니라 사용자가 도달가능한 영역 내에 상기 어플리케이션(112)을 제공할 수 있다.
도 1b에 도시된 바와 같이, 사용자(102B)는 의자(116)에 착석하여, 도 1a에서와 유사하게, VR 공간(106B)에서 어플리케이션들(108-114)에 액세스한다. 이러한 일례에서, 어플리케이션들(108-114)은 착석한 사용자(예컨대, 사용자 102B)의 편안한 도달 구역(reach zone)을 위해 배치된다. 예를 들어, 어플리케이션들(108-114)은 마치 사용자가 책상에 앉아있는 것처럼 좌측에서 우측으로 배치된다. 사용자가 어플리케이션(118-122)에 액세스하기를 원하는 경우, 착석한 사용자(102B)의 용이한 도달을 위해 추가적인 어플리케이션들(118, 120 및 122)은 어플리케이션(110) 및 어플리케이션(112) 뒤에 적층된다. VR 공간(106B)은 또한, 키보드(124) 및 가상 메뉴(126)를 포함한다. 키보드(124)는 가상일 수 있으며 그리고 키보드를 조정할 필요없이 사용자가 도달 및 타이핑할 수 있는 위치에 보여질 수 있다. 가상 메뉴(126)는 가상 데스크 상에 제공되어, 사용자는 VR 공간(106B)에서 상호작용하기 위한 다수의 메뉴 항목을 선택할 수 있다. 어플리케이션(108-122), 키보드(124) 및 가상 메뉴(126)의 배치는 움직임(movement) 및/또는 제한(confinement)과 관련된 사용자 능력들에 기초하여 결정될 수 있다. 예를 들어, 본 명세서에 설명된 시스템은 사용자가 착석하고 있으며 착석 위치에서 좌우로 움직일 수 있는지를 결정할 수 있다. 이러한 결정에 응답하여, 착석한 사용자에게 편안한 방식으로 VR 공간(106B)이 제공될 수 있다. 일부 구현예에서, 시스템은 특정 사용자 거리들, 길이들 및 능력들을 검출할 수 있고, 이러한 정보를 사용하여 특정 사용자에 대해 적응되고 설정된 VR 공간을 제공할 수 있다. 일부 구현예에서, 상기 정보는 사용자와 관련된 측정치들을 포함할 수 있다. 이 정보는 VR 공간(106B) 내의 특정 요소들의 길이 및/또는 폭을 추정하는데 사용될 수 있다. 예를 들어, 착석한 사용자는 최대 도달 구역을 가질 수 있으며, 이는 사용자의 앞에 배치된 가상 데스크 및 어플리케이션 레이아웃의 길이(128) 및 폭(130)을 지정할 수 있다.
비제한적인 일례에서, 영화 어플리케이션(114)은 도 1a에 도시된 바와 같이, 서 있는 사용자에게 디스플레이될 수 있다. 영화 어플리케이션(114)은 VR 공간(106A)의 먼 벽 상에서 사용자로부터 일정 거리 이격되어 있다. 사용자는 서 있는 것으로 그리고 VR 공간(106)에서 주변을 걸어다닐 수 있는 것으로 판별되기 때문에, 사용자는 어플리케이션(114)쪽으로 돌아서거나 걸어가서 영화 어플리케이션(114)의 콘텐츠에 쉽게 액세스할 수 있다. 이와 반대로, 착석한 사용자(102B)는 도 1a의 어플리케이션(114)에 도시된 콘텐츠를 시청하는데 어려움이 있을 수 있다. 착석한 사용자(102B)는 어플리케이션(114)에 액세스하고 어플리케이션(114)과 상호작용하기에는 낮게 앉아있거나 너무 멀리 앉아있을 수 있다. 따라서, 본 명세서에 서술된 시스템은 사용자(102B)가 앉아 있음을 검출할 수 있고 그리고 VR 공간의 레이아웃을 VR 공간(106A)에 도시된 콘텐츠로부터 VR 공간(106B)으로 수정할 수 있다. 이것은 착석한 사용자(102B)에게 편리할 수 있으며, 사용자가 눈의 피로 및/또는 목의 피로를 방지하게 할 수 있는바, 왜냐하면 도 1b에 도시된 어플리케이션은 착석한 사용자(102B)의 작업 공간(예를 들어, 개인 환경)에 들어맞도록 보다 가깝고 적응되기 때문이다. 모바일 및 비-모바일 사용자 시나리오들에 대한 VR 공간을 수정하기 위하여 유사한 적응들이 수행될 수 있다.
일부 실시예에서, VR 공간(106B)은 이동 사용자(moving user) 또는 고정 사용자(stationary user)를 위한 가상 콘텐츠에 액세스를 제공하는 기능을 하는 이동가능한(movable) 가상 콘텐츠를 제공하도록 구성될 수 있다. 예를 들어, 상기 이동가능한 가상 콘텐츠는 가상 객체, 어플리케이션, 콘트롤들 및/또는 VR 공간에 디스플레이 가능한 다른 그래픽 요소를 포함할 수 있다. 일부 구현예에서, 이동가능한 가상 콘텐츠는 좌우 회전 이동이 가능한 회전 의자에 착석한 사용자와 상호작용하도록 구성될 수 있다. 일부 구현예에서, 이동가능한 가상 콘텐츠는 착석한 사용자와 관련된 도달 범위(reach span)에 도움이 되는(conducive to) 방향들로 이동하도록 구성될 수 있다. 일부 구현예에서, 이동 가능한 가상 콘텐츠는 서있는 및/또는 모바일 사용자와의 상호작용을 위해 구성될 수 있다.
일부 구현예에서, 상기 이동가능한 가상 콘텐츠는 이동 사용자에게 도움이 되는 적절한 거리들 및 시간 임계값들에서 제공되도록 구성될 수 있다. 일부 구현예에서, 본 명세서 전반에 걸쳐 기술된 시스템은 사용자의 위치 변화(예를 들어, 앉기, 서있는 것, 움직이는 것)를 검출할 수 있고, 검출된 변화를 이용하여 VR 공간(106B) 내에서 가상 콘텐츠가 어떻게 이동되고 구성되는지와 관련된 업데이트된 규칙들 및 설정들을 제공할 수 있다.
도 2a에 도시된 바와 같이, 사용자(202A)는 HMD 디바이스(204)를 착용하고 VR 공간(206A)을 한정하는 실내로 향하고 있다. 사용자(202A)는 의자(208)에 착석하며, 추적 시스템(210)은 사용자(202A)가 착석한 것을 검출할 수 있다. 비제한적인 일례에서, 추적 시스템은 디스플레이 정보, 안전 정보, 사용자 데이터 또는 다른 획득가능한 데이터와 같은 데이터를 상관시키기 위한 기초로서, VR 디바이스들(예를 들어, 콘트롤러, HMD 디바이스, 모바일 디바이스 등)와 관련된 위치 데이터를 사용할 수 있다. 이러한 데이터는 VR 공간(206A)에 액세스하는 사용자(202A)를위해 인체공학적으로 배치된 가상 콘텐츠를 제공하는데 사용될 수 있다.
몇몇 구현예에서, 추적 시스템(210)은 VR 공간(206A)에 액세스하는데 사용되는 하나 이상의 디바이스를 추적할 수 있다. 상기 디바이스들은 VR 공간에서 표현된 특정 컴퓨팅 디바이스, 콘트롤러 및/또는 베이스 스테이션 디바이스로부터 얻을 수 있는 위치, 속도 및/또는 가속 데이터에 기초하여 추적될 수 있다. 예를 들어, 데이터는 하나 이상의 디바이스와 관련된 관성 측정 유닛(IMU)으로부터 획득될 수 있는 반면, 위치 데이터는 하나 이상의 추적된 객체들(예를 들어, 콘트롤러, HMD 디바이스) 및/또는 VR 공간(206A)과 관련된 베이스 스테이션들로부터 획득될 수 있다.
또한, 추가적인 데이터가 VR 공간(206A)에 액세스하는 디바이스들과 관련된 다수의 온보드(onboard) 센서들로부터 획득될 수 있다. 이러한 데이터는 가속도계 및 자이로스코프 데이터, 방향 데이터, 보정 데이터 및/또는 일반적인 또는 특정한 위치 정보를 나타내는 다른 센서 데이터에 관련될 수 있다. 본 명세서에 설명된 시스템은, 기정의된 범위 내의 추적된 객체에 대한 위치 정보의 6 자유도(six degrees of freedom)를 상기 기정의된 범위 내의 하나 이상의 다른 디바이스들과 상관시키기 위해 그러한 데이터를 사용할 수 있다. 기정의된 범위는 전체 VR 공간, VR 공간의 서브 세트 또는 VR 공간에 액세스하는 사용자에 대한 다른 측정 가능한 범위일 수 있다.
몇몇 구현예에서, 본 명세서에 설명된 시스템 및 방법은 VR 특정 하드웨어와 관련된 센서들에 액세스하여, VR 공간(206A)에 액세스하는 사용자에 대한 특정 물리적 양상들을 검출할 수 있다. 예를 들어, VR 공간에 통신가능하게 결합된 사용자의 모바일 디바이스 상의 가속도계를 분석하여, 사용자가 고정 의자 또는 회전 의자에 앉았는지의 여부를 검출할 수 있다. 만일, 시스템이 사용자(202A)가 의자(208)에 착석하고 있다라고 결정한다면, 시스템은 착석한 사용자(202A)의 시청을 수용하기 위해 기울어진 포지션에서 가상 콘텐츠(212A)를 묘사할 수 있다. 특히, 사용자(202A)에 속하는 모바일 디바이스의 가속도계가 수직 방향으로는 변하지 않는 좌우측 움직임을 나타내는 측정값들을 캡춰하고 있음을, 본 명세서에 서술된 시스템이 검출한다면, 상기 시스템은 사용자(202A)가 회전 의자에 앉아있다라고 결정할 수 있다. 이러한 검출은, 사용자(202A)와 관련된 파악(grasp) 및/또는 가시 영역(viewable area)의 범위 내에 VR 공간(206A)의 가상 콘텐츠(212A)를 물리적으로 배치하는데 사용될 수 있다.
또한, 시스템은 도 2b에 도시된 바와 같이, 사용자(예컨대, 도 2b의 사용자 202B)가 서있다라고 결정할 수 있다. 상기 일례에서, VR 공간(206B)은 도달 범위를 벗어난 VR 공간(206B)의 영역 내의 콘트롤들 및 가상 컨텐츠(212B)와 함께 HMD 디바이스(204)의 사용자에게 제공될 수 있는데, 이는 사용자가 사용자(202B)가 콘텐츠(212B) 쪽으로 걸어 가서 콘텐츠(212B)와 상호작용하거나 콘텐츠(212B)를 수정할 수 있기 때문이다. 또한, 가상 콘텐츠(212B)는 착석한 사용자쪽으로 기울어지도록 구성되지 않을 수 있는데, 왜냐하면 사용자(202B)는 서있는 것으로 결정되기 때문이다.
몇몇 구현예에서, 어플리케이션 개발자들은 VR 어플리케이션 내의 가상 콘텐츠(예컨대, 3D 가상 객체 또는 어플리케이션)의 속성들에 대한 변수들 및 규칙들을 구현할 수 있다. 예를 들어, 어플리케이션 개발자는 검출된 사용자 속성들에 기초하여, 임의 개수의 가상 객체들에 대한 하나 이상의 설정가능한 양상들을 구성할 수 있다. 이러한 사용자 속성들은 신장, 체중, 자세, 팔 길이, 신체 능력 또는 장애, 걷기 속도 또는 이동 속도, 사용자 위치(예: 앉기, 서기, 눕기) 등을 포함할 수 있다. 모든 또는 임의의 사용자 속성들을 사용하여 VR 공간의 가상 객체들에 대한 특정 모드들 또는 옵션들을 트리거링할 수 있다.
비제한적인 일례에서, 사용자(202B)는 그녀의 주머니 속에 휴대폰(mobile phone)을 가질 수 있다(도시되지 않음). 휴대폰은 사용자가 서있으며 주변 환경 주위에서 걷고 있음을 검출하는 가속도계 또는 다른 센서를 포함할 수 있다. 도 2b에 도시된 바와 같이, 시스템은 주변 환경 주위의 검출된 보행 움직임에 기초하여 사용자(202B)가 서있는 것을 검출하기 위해 하나 이상의 센서들(예를 들면, 위치 시스템 210)을 유사하게 사용할 수 있다. 사용자(102B)의 환경에서 가상 상호작용 및 가상 객체 배치를 구성하는데 사용하기 위해 이동 능력이 추정되거나 또는 직접 측정될수 있다.
일부 구현예에서, 여기서 설명한 시스템 및 방법은 특정 비디오(예를 들어, 구형(spherical) 비디오)가 VR 공간의 사용자에게 어떻게 도시되는지를 적응시키는데 이용될 수 있다. 예를 들어, 감독은 구형(spherical) 비디오를 생성할 수 있으며 그리고 사용자 동작 범위(또는 동작 범위의 부재)에 기초하여 HMD 디바이스에 디스플레이되는 장면의 수직 및 수평 배치를 결정할 수 있다. 특히, 본 명세서에 설명된 시스템이 사용자가 고정된 의자에 착석하고 있음을 검출하면, 상기 시스템은 구형 비디오에 대한 특정한 다음 장면 뷰들을 리셋하도록 구성될 수 있다. 따라서 비디오는 새로운 장면마다 사용자 앞에서 직접 시점을 제공할 수 있다. 즉, 비디오는 검출된 사용자 품질 및 동작 범위에 기초하여 각각의 사용자에 대해 다르게 재생될 수 있다.
일부 구현예에서, VR 콘텐츠는 사용자의 신장에 따라 배치될 수 있다. HMD 디바이스, 추적 시스템 및/또는 카메라는 HMD 디바이스의 수직 위치를 검출하는데 사용될 수 있고 그리고 검출된 수직 위치에 따라 VR 콘텐츠를 제공할 수 있다. 예를 들어, 빈 백 의자(bean bag)에 앉아있는 사용자는 지면으로부터 대략 2 피트 떨어진 곳에서 HMD 디바이스를 사용하고 있을 수 있는 반면에, 서 있는 사용자는 대략 3 피트에서 대략 6 피트 사이의 임의의 높이에서 HMD 디바이스를 사용할 것인바, 본 명세서에 설명된 시스템은 자동으로 이러한 거리를 감지하여, 특정한, 사용자-기반 높이에서 HMD 디바이스에 VR 콘텐츠를 디스플레이한다.
도 3은 VR 공간에서 HMD 디바이스(예를 들어, HMD 디바이스 303)에 통신가능하게 결합된 콘트롤러를 도시하는 블록도이다. 동작시, 시스템(300)은 임의의 개수의 가상 객체들을 수용하는 VR 공간을 제공하도록 구성될 수 있으며, 상기 가상 객체들은 VR 공간과 상호작용하도록 구성된 VR 어플리케이션 소프트웨어, 컴퓨터 및 콘트롤러 디바이스로 조작될 수 있다. 예를 들어, 콘트롤러(301 및 302)는 HMD 디바이스(303)와 인터페이스하여 몰입형(immersive) 가상 환경을 생성할 수 있다. 콘트롤러(301)와 콘트롤러(302)는 예를 들어 디바이스들 사이의 통신을 설정하고 VR 공간과의 사용자 상호작용을 용이하게 하기 위해 HMD 디바이스(303)와 쌍을 이룰 수 있다. 일부 구현예에서, 콘트롤러들(301 및 302) 모두는 HMD 디바이스(303)와 쌍을 이루지 않지만, 대신에 이들 각각은 VR 어플리케이션 또는 다른 외부 추적 디바이스의 추적 시스템(예를 들어, 추적 시스템(110))에 의해 추적된다.
도 3에 도시된 바와 같이, 콘트롤러(301)는 감지 시스템(360) 및 제어 시스템(370)을 포함한다. 감지 시스템(360)은 하나 이상의 서로 다른 유형들의 센서들을 포함할 수 있는바, 예를 들어 광 센서, 오디오 센서, 이미지 센서, 거리/근접 센서, 위치 센서(예컨대, 자이로스코프와 가속도계를 포함하는 관성 측정 유닛(IMU)) 및/또는 다른 센서 및/또는 센서들의 상이한 조합(들)(예를 들어, 사용자와 관련된 시선을 검출 및 추적하도록 배치된 이미지 센서)을 포함할 수 있다. 감지 시스템(301) 및/또는 제어 시스템(370)은 특정 구현예에 따라 더 많거나 더 적은 디바이스들을 포함할 수 있다.
콘트롤러(301)는 또한, 적어도 하나의 상기 감지 시스템(360) 및 제어 시스템(370)과 통신하는 적어도 하나의 프로세서(390), 메모리(380) 및 통신 모듈(350)을 포함할 수 있는데, 통신 모듈(350)은 상기 콘트롤러(301)와 다른 외부 디바이스, 가령, 콘트롤러(302) 및/또는 HMD 디바이스(303) 간의 통신을 제공한다.
콘트롤러(302)는 예를 들어, 콘트롤러(301)와 다른 외부 디바이스 가령, HMD 디바이스(303) 사이의 통신을 제공하는 통신 모듈(306)을 포함할 수 있다. 콘트롤러(301), 콘트롤러(302), HMD 디바이스(303) 사이에서 데이터 교환을 제공할 뿐만 아니라, 통신 모듈(306)은 또한 VR 공간 및 시스템(300)에 액세스 가능한 다수의 다른 전자 디바이스, 컴퓨터 및/또는 콘트롤러들과 연결 및/또는 통신하도록 구성될 수 있다.
콘트롤러(302)는 감지 시스템(304)을 포함하며, 감지 시스템(304)은 예를 들어, 카메라 및 마이크로폰에 포함된 것과 같은 이미지 센서 및 오디오 센서, IMU, 콘트롤러의 터치 민감 표면 혹은 스마트폰에 포함된 것과 같은 터치 센서, 다른 센서들, 및/또는 센서들의 다른 조합(들)을 포함한다. 적어도 하나의 프로세서(309)가 상기 감지 시스템(304) 및 제어 시스템(305)과 통신할 수 있다. 제어 시스템(305)은 메모리(308)에 대한 액세스를 가질 수 있고 콘트롤러(302)의 전체 동작을 제어할 수 있다.
콘트롤러(301)와 유사하게, 콘트롤러(302)의 제어 시스템(305)은, 예를 들어 전원/정지(power/pause) 제어 디바이스, 오디오 및 비디오 제어 디바이스, 광학 제어 디바이스, 트랜지션 제어 디바이스, 및/또는 다른 디바이스들, 및/또는 디바이스들의 다른 조합(들)을 포함할 수 있다. 일반적으로, 본 명세서에서 설명된 시스템 및 방법은 사용자 손 또는 콘트롤러(301 및 302)를 추적할 수 있고 그리고 VR 공간에서 이러한 손 및/또는 콘트롤러(301 및 302)와 관련된 사용자 상호작용 패턴 및 제스처를 분석하여, 이러한 상호작용 패턴 및 제스처의 의도를 결정할 수 있다.
몇몇 구현예에서, 본 명세서에 기재된 시스템 및 방법은 움직임에 있어서의 사용자 제한들을 검출할 수 있다. 이러한 제한들은 특정 방식으로 사용자에게 가상 콘텐츠를 제공하는 규칙들 또는 트리거들로 구성될 수 있다. 일부 구현예에서, 시스템이 사용자가 주변 환경에서 사용자의 정면 중앙 위치의 좌우로 약 10도 이동하는 것을 검출하는 경우, 상기 시스템은 그 범위가 제한이라고 추론할 수 있으며 그리고 콘트롤들, 객체들 및 기타 가상 콘텐츠를 20 도의 가용 이동 공간에서 사용할 수 있는 보기 및 주변 보기(view and peripheral view) 내에 배치할 수 있다.
도 4는 본 명세서에 설명된 구현예 및 기술에 따라, 헤드 마운트 디스플레이 및 콘트롤러를 포함하는 가상 현실 시스템의 예시적인 구현예이다. 도 4에 도시된 구현예예에서, HMD 디바이스(402)를 착용한 사용자는 휴대용 전자 디바이스(404)를 보유하고 있다. 휴대용 전자 디바이스(404)는 예를 들어, HMD 디바이스(402)(및/또는 다른 가상 현실 하드웨어 및 소프트웨어)에 의해 생성된 VR 공간에서의 상호작용을 위해 HMD 디바이스(402)와 쌍을 이룰 수 있으며 그리고 통신할 수 있는 콘트롤러, 스마트폰, 조이스틱 또는 다른 휴대용 콘트롤러(들)이 될 수 있다. 휴대용 전자 디바이스(404)는 예를 들어 유선 연결 또는 예를 들어 Wi-Fi 또는 블루투스 접속과 같은 무선 연결을 통해 HMD(402)와 동작가능하게 결합되거나 HMD(402)와 쌍을 이룰 수 있다. 휴대용 전자 디바이스(404)와 HMD 디바이스(402) 사이의 이러한 페어링(pairing) 혹은 동작가능한 결합은, 콘트롤러(404)와 HMD 디바이스(402) 사이의 통신을 제공할 수 있으며, 휴대용 전자 디바이스(404)와 HMD 디바이스(402) 간의 데이터 교환을 제공할 수 있다. 이에 의해서, 휴대용 전자 디바이스(404)는 HMD 디바이스(402)에 의해 생성된 VR 공간에서 상호작용하기 위해 HMD 디바이스(402)와 통신하는 콘트롤러로서 기능할 수 있다. 즉, 휴대용 전자 디바이스(404)는 복수의 상이한 방식으로 조작될 수 있다. 휴대용 전자 디바이스(404)에 대한 조작은 HMD 디바이스(402)에 의해 생성된 몰입형 가상 환경에서, 상응하는 선택, 이동 또는 다른 유형의 상호작용으로 변환될 수 있다. 이러한 것은 예를 들어, 가상 객체와의 상호작용, 가상 객체의 조작, 가상 객체의 조절, 가상 환경에 대한 스케일 또는 원근감의 변화, 가상 환경의 현재 위치로부터 가상 환경 내의 선택된 목적지 혹은 피처로의 사용자 이동(예를 들어, 네비게이션, 텔레포테이션, 전송) 및 이러한 다른 상호작용들을 포함할 수 있다.
도 5는 모션 범위를 검출하고 모션 범위에 따라 가상 콘텐츠를 제공하는 프로세스(500)의 일실시예를 나타내는 흐름도이다. 블록(502)에서, 프로세스(500)는 제 2 전자 디바이스와 통신가능하게 결합된 제 1 전자 디바이스로 가상 환경을 생성하는 단계를 포함할 수 있다. 예를 들어, HMD 디바이스(402)는 그러한 가상 환경을 생성할 수 있으며, 휴대용 전자 디바이스(402)에 통신가능하게 및/또는 동작가능하게 결합될 수 있다. 휴대용 전자 디바이스(402)는 사용자에 속할 수 있으며 그리고 사용자 움직임에 기초하여 움직임을 추적할 수 있다. 예를 들어, 블록(504)에서, 프로세스(500)는 주변 환경에서 제 2 전자 디바이스(예를 들어, 휴대용 전자 디바이스 404)의 움직임을 추적하는 단계를 포함할 수 있다. 일부 구현예에서, 이러한 움직임은 사용자가 회전 의자에 착석하였음을 나타내는 방식의 측면(예를 들어, 좌우로) 이동일 수 있다.
일부 구현예에서, 주변 환경에서 제 2 전자 디바이스의 움직임을 추적하는 단계는, 사용자가 주변 환경에 있는 동안 제 1 전자 디바이스(예를 들어, HMD 디바이스 402) 및 제 2 전자 디바이스(예를 들어, 휴대용 전자 디바이스404)에 액세스하는 사용자의 화상을 캡춰함으로써, 측면 이동을 추적하는 것을 포함할 수 있다.
일부 구현예에서, 주변 환경에서 제 2 전자 디바이스의 움직임을 추적하는 단계는, 제 2 전자 디바이스에 저장된 가속도계 데이터를 분석하는 것을 포함할 수 있다. 예를 들어, 디바이스(402 및 404)에 액세스하는 사용자가 회전 의자에 앉아있는지의 여부를 결정하기 위해 가속도계 데이터가 검출 및 이용될 수 있다.
블록(506)에서, 프로세스(500)는 하나 이상의 센서들을 이용하여, 주변 환경에서의 움직임과 관련된 모션 범위를 결정하는 단계를 포함할 수 있다. 예를 들어, 디바이스(402) 또는 디바이스(404)와 통신가능하게 연결된 임의 개수의 센서들이 움직임을 추적할 수 있으며, 이러한 움직임은 시간에 따른 특정 모션 범위를 포함할 수 있다. 일부 구현예에서, 센서는 제 1 전자 디바이스와 관련될 수 있다. 일부 구현예에서, 센서는 제 2 전자 디바이스와 관련될 수 있다. 본 명세서에 설명된 시스템은 모션 범위를 확인하기 위해 시간에 따른 움직임을 추적할 수 있다. 모션 범위는 사용자 도달 거리 범위들 및 가상 객체 배치를 결정하는데 사용될 수 있다. 일부 구현예에서, 모션 범위는 제 2 전자 디바이스(예를 들어, 휴대용 전자 디바이스404)에서 실행되는 가속도계를 사용하여 결정될 수 있다.
블록(508)에서, 프로세스(500)는 주변 환경과 관련된 모션 범위를 가상 환경과 관련된 모션 범위와 상관 및/또는 변환(translate)시키는 단계를 포함한다. 예를 들어, 본 명세서에 설명된 시스템은 제 1 전자 디바이스에 액세스하는 동안 제 1 전자 디바이스 및 제 2 전자 디바이스와 관련된 사용자가 착석했는지 또는 서있는지 여부를 결정할 수 있다. 사용자가 착석한 경우, 프로세스(500)는 물리적 세계(즉, 주변 환경)에서 사용자가 갖는 이용가능한 모션 범위를 가상 환경에서의 모션 범위와 상관시킬 수 있으며, 따라서 사용자는 착석한 위치로부터 가상 콘텐츠에 도달할 수 있다. 이러한 상관은 주변 환경으로부터 가상 환경으로의 모션 범위를 변환하는 것을 포함할 수 있다. 이러한 변환은 주변 환경에서 사용자가 이동할 수 있는(또는, 도달할 수 있는) 거리들을 계산하는 것과 그러한 거리들을 가상 환경으로 변환하는 것을 포함할 수 있다. 본 명세서에 설명된 시스템은 환경들 사이에서 모션 범위들을 상관시키고 그리고 이러한 범위들 내에 콘텐츠 및/또는 콘트롤들을 생성 및 제공함으로써, 가상 환경 내의 검출된(또는 결정된) 위치들 내에 가상 콘텐츠 및/또는 콘트롤들을 제공할 수 있다. 일부 구현예에서, 상기 시스템은 디바이스들(402 및 404)에 액세스하는 사용자가 회전 의자(예를 들어, 또는 다른 비-고정식 의자 또는 장치)에 앉아있는지의 여부를 결정할 수 있고, 그리고 회전 의자(또는 다른 비-고정식 의자 또는 장치)의 착석 위치에서 활용될 수 있는 콘텐츠 및/또는 콘트롤을 제공할 수 있다.
블록(510)에서, 상기 프로세스(500)는 복수의 가상 객체들에 대하여, 가상 환경과 관련된 모션 범위에 맞게 조절된 가상 구성을 결정하는 단계를 포함할 수 있다. 예를 들어, 만일 상기 시스템이 사용자가 회전 의자에 앉아 있다라고 판단하면, 특정한 가상 콘텐츠 배치가 제공될 수 있다. 구체적으로, 사용자가 회전 의자에 앉아있다고 결정되면, 이용가능한 모션의 결정된 범위 내의 모든 가상 콘텐츠(및/또는 사용자 인터페이스 선택들)에 사용자가 도달할 수 있도록, 가상 객체들이 가상 구성에 배치될 수 있다.
일부 구현예에서, 모션 범위에 맞게 조절된 가상 구성을 결정하는 단계는, 제 1 전자 디바이스 및 제 2 전자 디바이스와 관련된 사용자의 신장을 결정하고, 사용자의 신장 및 모션 범위에 기초하여 도달 거리 구역(reach zone)을 추정하는 것을 포함할 수 있다. 도달 거리 구역(reach zone)은 가상 환경에서 가상 객체들을 배치하는 영역으로 사용될 수 있다.
이러한 도달 거리 구역은 사용자가 복수의 가상 객체들과 충돌, 도달, 선택, 혹은 다른 방식으로 액세스할 수 있는 가상 환경 내에서의 위치에 의해서 정의될 수 있다. 일부 구현예에서, 다수의 가상 객체들에 대하여 모션 범위에 맞게 조절된 가상 구성을 결정하는 단계는, 제 1 전자 디바이스의 수직 오프셋을 검출하고 그리고 수직 오프셋을 이용하여 복수의 객체들을 제 1 전자 디바이스에 액세스하는 사용자 인근에 배치하는 것을 포함한다. 예를 들어, 사용자의 높이, HMD 디바이스 높이, 콘트롤러 높이, 손 위치 또는 사용자와 관련된 다른 수직 거리 및/또는 가상 환경이 이용되어, 가상 환경(예: VR 공간)에 가상 객체들을 배치할 수 있다.
몇몇 구현에서, VR 공간에 액세스하는 사용자와 관련된 모바일 디바이스(예컨대, 디바이스 404)는, 사용자 및 모바일 디바이스와 관련된 가속도 운동의 검출에 기초하여 상기 사용자의 모션 범위를 결정할 수 있다. 사용자에 대한 사용자 인터페이스를 조정하기 위하여 모바일 디바이스(404)에 의해서 검출 및 분석이 수행될 수 있다. 일부 구현예에서, VR 공간과 관련된 또 다른 추적 디바이스는 사용자 모션 범위의 제한 또는 제한없음을 검출할 수 있으며 그리고 사용자에 대한 특정 사용자 인터페이스 콘텐츠를 수정하도록 통신할 수 있다.
HMD 디바이스에서 사용자에게 디스플레이하기 위해 수정되는 사용자 인터페이스에 대한 예시적인 일 조절예는, 결정된 사용자 모션 범위에 기초하는 특정 시청 각도에서 제공되는 가상 콘텐츠 및/또는 객체를 조절하는 것을 포함할 수 있다. 일부 구현예에서는, 장면 내에서 이용가능한 모든 콘텐츠를 시청하기 위해 사용자가 이동할 필요가 없음을 보장하는 방식으로, 사용자 인터페이스가 제공될 수 있다. 예를 들어, VR 공간의 모바일 디바이스, 추적 디바이스 또는 기타 디바이스가 사용자가 회전 의자에 앉아있음을 자동으로 검출하거나 또는 회전 의자가 사용자의 범위 내에 있음을 자동으로 검출하는 경우, 본 명세서에 설명된 시스템은, 회전 의자에 착석했을 때 상기 사용자의 시청을 위해 조절된 사용자 인터페이스를 제공하도록, 자동으로 구성될 수 있다.
블록(512)에서, 프로세스(500)는 가상 구성(virtual configuration)에 따라 임의 개수의 가상 객체들을 제 1 전자 디바이스의 가상 환경에서 렌더링(예컨대, 디스플레이를 트리거링)하는 단계를 포함한다. 예를 들어, HMD 디바이스(402)는 가상 구성에 따라 임의의 가상 객체들을 렌더링하고 사용자에게 디스플레이할 수 있다.
몇몇 구현예에서, 본 명세서에 기술된 시스템은 사용자로부터 정확한 거리에 가상 객체들 또는 콘텐츠를 제공하도록 걷고있는 사용자의 보폭(step size) 및/또는 속도를 결정할 수 있는바, 따라서 사용자는 걷거나 혹은 특정 가상 객체에 접근하는 동안 편안한 거리에서 가상 객체들 또는 콘텐츠에 도달할 수 있거나 혹은 디스플레이할 수 있다. 일부 구현예에서, 본 명세서에 기술된 시스템은 사용자에 의해 액세스되는 HMD 디바이스의 수직 위치를 결정할 수 있고, HMD 디바이스의 수직 위치를 사용하여 대략적인 높이를 결정할 수 있으며, 결정된 대략적인 높이에 기초하여 가상 객체 또는 콘텐츠를 제공 및/또는 트리거링할 수 있다. 특히, HMD 디바이스의 수직 위치가 약 4 피트인 경우, 상기 시스템은 사용자가 아동이거나 또는 매우 작은 사람일 가능성이 있다고 결정할 수 있고, 이러한 수직 위치에 따라 콘텐츠, 객체들 및 콘트롤들을 조정할 수 있다.
몇몇 구현예에서, 본 명세서에 기술된 시스템은 특정 가상 콘텐츠 또는 객체들이 사용자에 맞게 조정되어야함을 결정할 수 있다. 예를 들어, 사용자가 동일한 동작들을 반복하고 있지만, 콘트롤, 메뉴 또는 객체와의 상호작용에 실패하고 있음을 시스템이 판별하는 경우, 상기 시스템은 도달하거나 상호작용하기 위한 반복적인 시도들이 실패한 것처럼 보이는 것으로 판단할 수 있다. 이에 응답하여, 예를 들어, 콘트롤, 메뉴 또는 객체가, 사용자의 도달 거리(reach)에 더 잘 들어맞도록 조정될 수 있다.
일부 구현예에서, 데이터는 사용자 상호작용에 기초하여 전술한 상기 임의의 모든 변형들에 기초하여 기록될 수 있다. 이러한 데이터는 다른 어플리케이션들에 제공되어 인체공학적이고, 편리하고, 그리고 용이한 VR 공간의 사용을 상기 데이터와 관련된 사용자에게 제공할 수 있다. 이러한 데이터는, 사용자가 각각의 어플리케이션에서의 설정들을 수정하지 않고서도, 여러 어플리케이션들에서 사용자를 위한 경험을 생성하는데 이용될 수 있다.
또 다른 일례에서, 사용자가 다칠 수도 있는 방식으로 상기 사용자가 반복적인 동작들을 수행하는 것이 검출된다면, 본 명세서에 서술된 시스템은 추적(tracking) 및 저장된 데이터를 사용하여 콘트롤들, 메뉴들, 및 객체들을 새로운 위치로 의도적으로 이동시킬 수 있다. 이와 유사하게, 상기 시스템은 사용자 자세를 평가하도록 조정될 수 있으며 그리고 적절한 자세를 장려하도록, 자동으로 배치된 콘트롤들, 메뉴들, 및 객체들을 모니터링할 수 있다.
일부 구현예에서, 가상 객체들 중 적어도 하나는 가상 환경 및 가상 환경과 관련된 옵션을 보여주는 사용자 인터페이스의 일부이다. 또한, 가상 구성을 결정하는 단계는 가상 환경과 관련된 모션 범위와 매칭되도록 사용자 인터페이스를 조절하는 단계를 포함할 수 있다.
일부 구현예에서, 주변 환경과 관련된 모션 범위를 가상 환경과 관련된 모션 범위와 상관시키는 단계는 적어도 하나의 제 1 전자 디바이스에 액세스하는(또는 제 2 전자 디바이스에 액세스하는) 사용자의 물리적 양상을 판별하는 것을 포함할 수 있다.
일부 구현예에서, 상기 제 1 전자 디바이스에 액세스하는 사용자의 물리적 양상은 형태는 가상 환경 내에서 검출된 위치, 자세, 물리적 공간 내에서 검출된 위치, 검출 높이 및/또는 상기 사용자의 암 스팬(arm span)과 관련된 도달 거리 중 적어도 하나를 포함할 수 있다.
일부 구현예에서, 주변 환경과 관련된 모션 범위를 가상 환경과 관련된 모션 범위와 상관시키는 단계는, 제 1 전자 디바이스에 액세스하는 사용자가 제 1 전자 디바이스에 액세스하는 동안 앉아있는지의 여부를 결정하는 것 또는 제 1 전자 디바이스에 액세스하는 사용자가 제 1 전자 디바이스에 액세스하는 동안 서있는지의 여부를 결정하는 것을 포함할 수 있다. 예를 들어, 상기 상관시키는 단계는, 주변 환경에서 착석한 사용자의 모션 범위를, 앉아있을 때 사용자가 물리적으로 액세스가능한(3 차원) 공간과 상관되는 가상 환경에서의 모션 범위로 변환하는 것을 포함할 수 있다. 이러한 변환은 주변 환경에서 사용자가 이동하거나 도달할 수 있는 거리를 계산하고 그리고 물리적으로 액세스가능한 공간이 되도록 이러한 거리를 가상 환경으로 변환하는 것을 포함할 수 있다. 본 명세서에 설명된 시스템은 가상 환경의 공간 내의 검출된(또는 결정된) 위치들 내에 가상 콘텐츠 및/또는 콘트롤들을 제공할 수 있는바, 환경들 사이에서 모션 범위들을 상관시키고 그리고 상기 위치들 내에서 콘텐츠 및/또는 제어를 생성 및 제공함으로써, 가상 환경의 공간 내의 검출된(또는 결정된) 위치들 내에 가상 콘텐츠 및/또는 콘트롤들을 제공할 수 있다.
일부 구현예들에서, 복수의 가상 객체들에 대하여, 가상 환경과 관련된 모션 범위에 맞게 조절된 가상 구성을 결정하는 단계는, 제 1 전자 디바이스와 관련된 사용자의 물리적 양상을 결정하는 단계, 그리고 사용자의 물리적 양상 및 주변 환경과 관련된 모션 범위를 이용하여 도달 거리 구역(reach zone)을 추정하는 단계를 포함한다. 상기 도달 거리 구역은 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내의 영역으로서 이용될 수 있고 그리고 가상 환경 내에 복수의 가상 객체들이 배치될 수 있다.
일부 구현예들에서, 복수의 가상 객체들에 대하여, 가상 환경과 관련된 모션 범위에 맞게 조절된 가상 구성을 결정하는 단계는, 제 1 전자 디바이스의 수직 오프셋을 검출하는 단계 및 수직 오프셋을 이용하여 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내에 복수의 객체들을 배치하는 단계를 포함할 수 있다.
도 6은 일반적인 컴퓨터 디바이스(600) 및 일반적인 모바일 컴퓨터 디바이스(650)의 예를 도시하며, 본 명세서에 기술된 기술들과 함께 사용될 수 있다. 컴퓨팅 디바이스(600)는 프로세서(602), 메모리(604), 저장 디바이스(606), 메모리(604) 및 고속 확장 포트(610)에 연결되는 고속 인터페이스(608), 그리고 저속 버스(614) 및 저장 디바이스(606)에 연결되는 저속 인터페이스(612)를 포함한다. 구성 요소들(602, 604, 606, 608, 610, 및 612) 각각은 다양한 버스들을 사용하여 상호접속되고, 공통 마더보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다. 프로세서(602)는 메모리(604) 또는 저장 디바이스(606)에 저장된 명령을 포함하여, 컴퓨팅 디바이스(600) 내에서의 실행을 위해 명령들을 프로세싱하여, 고속 인터페이스(608)에 접속된 디스플레이(1116)와 같은 외부 입/출력 디바이스 상에 GUI를 위한 그래픽 정보를 디스플레이한다. 다른 구현예에서는, 다수의 메모리들 및 메모리 유형들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(600)이 연결될 수도 있는바, 여기서 각각의 디바이스는 필요한 동작들의 일부분을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹 또는 멀티 프로세서 시스템으로서).
메모리(604)는 컴퓨팅 디바이스(600) 내에 정보를 저장한다. 일 실시예에서, 메모리(604)는 휘발성 메모리 유닛(들)이다. 또 다른 구현예에서, 메모리(604)는 비휘발성 메모리 유닛(들)이다. 또한, 메모리(604)는 자기 또는 광학 디스크와 같은 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(606)는 대용량 저장소를 컴퓨팅 디바이스(600)에 제공할 수 있다. 일 구현예에서, 저장 디바이스(606)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스들을 포함하는 디바이스들의 어레이 등과 같은 컴퓨터 판독가능 매체이거나 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현될 수 있다.또한, 컴퓨터 프로그램 제품은 실행될 때, 전술한 바와 같은 하나 이상의 방법들을 수행하는 명령들을 포함할 수 있다. 정보 캐리어는 메모리(604), 저장 디바이스(606) 또는 프로세서(602) 상의 메모리와 같은, 컴퓨터-판독가능 또는 머신-판독가능한 매체이다
고속 제어기(608)는 컴퓨팅 디바이스(600)를 위해, 대역폭-집중형 연산들을 관리하고, 저속 제어기(612)는 낮은 대역폭-집중형 연산들을 관리한다. 기능들의 이러한 할당은 단지 예시일 뿐이다. 일 구현예에서, 고속 제어기(608)는 메모리(604), 디스플레이(1116)(예를 들어 그래픽 프로세서 또는 가속기를 통해)에 접속되며, 그리고 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(610)에 접속된다. 일 구현예에서, 저속 제어기(612)는 저장 디바이스(606) 및 저속 확장 포트(614)에 접속된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함하는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스에 접속되거나 또는 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 접속될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(620)로서 구현되거나, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수도 있다. 또한, 랙 서버(rack server) 시스템(624)의 일부로서 구현될 수도 있다. 또한, 랩탑 컴퓨터(622)와 같은 개인용 컴퓨터로 구현될 수도 있다. 대안적으로, 컴퓨팅 디바이스(600)의 구성 요소들은 가령, 디바이스(650)와 같은 모바일 디바이스(미도시)의 다른 구성요소들과 결합될 수 있다. 이러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스(600, 650)를 포함할 수 있으며, 그리고 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스(600, 650)로 구성될 수 있다.
컴퓨팅 디바이스(650)는 다른 구성요소들 중에서 프로세서(652), 메모리(664), 디스플레이(654)와 같은 입/출력 디바이스, 통신 인터페이스(666) 및 송수신기(668)를 포함한다. 디바이스(650)에는 추가 저장소를 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 구성요소들(650, 652, 664, 654, 656 및 668) 각각은 다양한 버스를 사용하여 상호접속되고, 구성요소들 중 몇몇은 공통 마더 보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다.
프로세서(652)는 메모리(664)에 저장된 명령들을 포함하여, 컴퓨팅 디바이스(650) 내의 명령들을 실행할 수 있다. 프로세서는 개별적인 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서는 예를 들어 사용자 인터페이스들의 제어, 디바이스(650)에 의해 실행되는 어플리케이션들 및 디바이스(650)에 의한 무선 통신과 같은 디바이스(650)의 다른 구성요소들 간의 조정을 제공할 수 있다.
프로세서(652)는 제어 인터페이스(658) 및 디스플레이(654)에 연결된 디스플레이 인터페이스(1156)를 통해 사용자와 통신할 수 있다. 디스플레이(654)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(Organic Light Emitting Diode: 유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술을 이용할 수 있다. 디스플레이 인터페이스(656)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(654)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(658)는 사용자로부터 커맨드들을 수신하고 그리고 프로세서(652)에 제출하기 위해 이들을 변환할 수 있다. 또한, 프로세서(652)와 통신하기 위해 외부 인터페이스(662)가 제공되는바, 다른 디바이스들과 디바이스(650)의 근거리 통신이 가능해진다. 예를 들어, 외부 인터페이스(662)는 일부 구현에서는 유선 통신을 제공하고, 다른 구현예에서는 무선 통신을 제공할 수 있으며, 다중 인터페이스들이 또한 사용될 수 있다.
메모리(664)는 컴퓨팅 디바이스(650) 내에 정보를 저장한다. 메모리(664)는 컴퓨터 판독가능 매체(들), 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들) 중 하나 이상으로서 구현될 수 있다. 또한, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(672)를 통해 확장 메모리(674)가 디바이스(650)에 제공되고 접속될 수 있다. 이러한 확장 메모리(674)는 여분의 저장 공간을 디바이스(650)에 제공할 수 있으며, 또는 디바이스(650)를 위한 어플리케이션들 혹은 다른 정보를 저장할 수도 있다. 특히, 확장 메모리(674)는 전술한 프로세스들을 수행하거나 보충하기 위한 명령들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(674)는 디바이스(650)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(650)의 보안 사용을 허용하는 명령들로 프로그램될 수 있다. 또한, 보안 어플리케이션은 SIMM 카드를 통해 제공될 수 있는데 가령, 식별 정보를 해킹불가능한 방식으로 SIMM 카드에 배치하는 것과 같이 추가 정보와 함께 제공될 수 있다.
메모리는, 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 전술한 방법들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 예를 들어 정보 캐리어는 가령, 메모리(664), 확장 메모리(674) 또는 프로세서(652) 상의 메모리와 같은 컴퓨터 판독가능 또는 머신 판독가능한 매체이며 이는 송수신기(668) 또는 외부 인터페이스(662)를 통해 수신될 수 있다.
디바이스(650)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(656)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(656)는 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(668)를 통해 수행될 수 있다. 또한, 블루투스, Wi-Fi 또는 다른 트랜시버(미도시)를 사용하여 단거리 통신이 수행될 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(670)은 추가적인 네비게이션-관련 및 위치-관련 무선 데이터를 디바이스(650)에 제공할 수 있는바, 이는 디바이스(650) 상에서 구동되는 어플리케이션들에 의해 적절히 사용될 수 있다.
또한, 디바이스(650)는 오디오 코덱(660)을 사용하여 청각적으로 통신할 수 있는바, 이는 사용자로부터 음성 정보를 수신하고 이것을 이용가능한 디지털 정보로 변환할 수 있다. 이와 유사하게, 오디오 코덱(660)은, 예를 들어 디바이스(650)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지들, 음악 파일들 기타 등등)를 포함할 수 있으며 그리고 디바이스(650)상에서 동작하는 어플리케이션에 의해 생성된 사운드를 또한, 포함할 수 있다.
컴퓨팅 디바이스(650)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 디바이스는 셀룰러 전화(680)로서 구현될 수 있다. 또한, 스마트 폰(682), 개인 휴대 정보 단말기(personal digital assistant), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수도 있다.
본 명세서에 서술된 시스템들 및 기술들의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(주문형 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이러한 다양한 구현들은 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램가능한 시스템 상에서 실행 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함하며, 프로세서는 특수용 혹은 범용일 수 있으며, 데이터와 명령들을 송수신하도록 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 접속될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로도 알려짐)은 프로그램가능 프로세서에 대한 머신 명령어들을 포함하고, 그리고 고레벨 절차적 프로그래밍 언어 및/또는 객체-지향 프로그래밍 언어 및/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "머신 판독가능 매체", "컴퓨터 판독가능 매체"라는 용어는 프로그램가능 프로세서에 머신 명령들 및/또는 데이터를 제공하는데 이용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램가능 논리 디바이스(PLD))를 지칭하며, 머신-판독가능 신호로서 머신 명령들을 수신하는 머신-판독가능 매체를 포함한다. "머신 판독가능 신호"라는 용어는 머신 명령들 및/또는 데이터를 프로그램가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 서술된 시스템들 및 기술들은 컴퓨터 상에서 구현될 수 있는바, 이러한 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT 또는 LCD 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는다. 사용자와의 상호작용을 제공하는데 다른 종류의 디바이스들이 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각적 피드백, 청각 피드백 또는 촉각 피드백)일 수 있다. 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 서술된 시스템들 및 기술들은 컴퓨팅 시스템에서 구현될 수 있으며, 이러한 컴퓨팅 시스템은 백 엔드 구성 요소(예컨대, 데이터 서버)를 포함하거나, 또는 미들웨어 구성 요소(예컨대, 응용 프로그램 서버)를 포함하거나, 또는 프론트 엔드 구성 요소(예컨대, 사용자가 여기에 설명된 시스템 및 기술의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 구성요소들의 임의의 조합을 포함할 수 있다. 시스템의 구성요소들은 디지털 데이터 통신의 임의의 형태 또는 매체(예컨대, 통신 네트워크)에 의하여 상호연결될 수 있다. 통신 네트워크의 일례는, 근거리 통신망(LAN), 광대역 통신망(WAN), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통신 네트워크를 통해 상호작용하는 것이 통상적이다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램의 덕택으로 발생한다.
일부 구현예에서, 도 6에 도시된 컴퓨팅 디바이스는 가상 현실(VR 헤드셋 690)과 인터페이스하는 센서를 포함할 수 있다. 예를 들어, 도 6에 도시된 컴퓨팅 디바이스(650) 또는 다른 컴퓨팅 디바이스에 포함된 하나 이상의 센서는, VR 헤드셋(690)에 입력을 제공하거나 또는, 일반적으로 VR 공간에 입력을 제공할 수 있다. 센서는 터치 스크린, 가속도계, 자이로스코프, 압력 센서, 생체 센서, 온도 센서, 습도 센서 및 주변 광 센서를 포함할 수 있지만 이에 국한되지 않는다. 컴퓨팅 디바이스(650)는 VR 공간으로의 입력으로서 사용될 수 있는, VR 공간 내의 컴퓨팅 디바이스의 절대 위치 및/또는 검출된 회전을 결정하기 위해 센서를 이용할 수 있다. 예를 들어, 컴퓨팅 디바이스(650)는 콘트롤러, 레이저 포인터, 키보드, 무기 등과 같은 가상 객체로서 VR 공간에 통합될 수 있다. VR 공간 내로 통합될 때 사용자에 의해 컴퓨팅 디바이스/가상 객체를 포지셔닝하는 것은, 사용자가 VR 공간 내에서 특정 방식으로 가상 객체를 시청하도록 컴퓨팅 디바이스를 위치시키는 것을 허용할 수 있다. 예를 들어, 가상 객체가 레이저 포인터를 나타내는 경우, 사용자는 실제 레이저 포인터인 것처럼 컴퓨팅 디바이스를 조작할 수 있다. 사용자는 컴퓨팅 디바이스를 좌우, 상하, 원형 기타 등등으로 이동시킬 수 있으며, 레이저 포인터를 사용하는 것과 유사한 방식으로 디바이스를 사용할 수 있다.
일부 구현예에서, 컴퓨팅 디바이스(650)에 포함되거나 연결된 하나 이상의 입력 디바이스들은 VR 공간에 대한 입력으로 사용될 수 있다. 상기 입력 디바이스는 터치 스크린, 키보드, 하나 이상의 버튼, 트랙 패드, 터치 패드, 포인팅 디바이스, 마우스, 트랙볼, 조이스틱, 카메라, 마이크로폰, 이어폰 또는 입력 기능이 있는 버드들(buds), 게임 콘트롤러 또는 기타 연결가능한 입력 디바이스를 포함하지만, 이에 한정되는 것은 아니다. 컴퓨팅 디바이스가 VR 공간에 통합될 때 컴퓨팅 디바이스(650)에 포함된 입력 디바이스와의 사용자 상호작용은, 특정 동작을 VR 공간에서 발생시킬 수 있다.
일부 구현예에서, 상기 컴퓨팅 디바이스(650)의 터치 스크린은 VR 공간에서 터치패드로 렌더링될 수 있다. 사용자는 컴퓨팅 디바이스(650)의 터치 스크린과 상호작용할 수 있다. 이러한 상호작용들은 예를 들어, VR 헤드셋(690)에서 VR 공간에서 렌더링된 터치 패드상의 움직임으로서 렌더링된다. 렌더링된 움직임들은 VR 공간에서 객체들을 제어할 수 있다.
일부 구현예에서, 컴퓨팅 디바이스(650)에 포함된 하나 이상의 출력 디바이스는 VR 공간에서 VR 헤드셋(690)의 사용자에게 출력 및/또는 피드백을 제공할 수 있다. 출력 및 피드백은 시각적, 촉각적 또는 청각적일 수 있다. 출력 및/또는 피드백은 진동, 하나 이상의 조명 또는 스트로브의 켜고 끄기 또는 깜박임(blinking) 및/또는 플래싱(flashing), 알람 울리기, 차임벨 재생(playing a chime), 노래 연주, 및 오디오 파일 재생을 포함할 수 있지만 이에 국한되지는 않는다. 출력 디바이스는 진동 모터, 진동 코일, 압전 디바이스, 정전기 디바이스, 발광 다이오드(LED), 스트로브 및 스피커를 포함할 수 있지만 이에 국한되지는 않는다.
일부 구현예에서, 컴퓨팅 디바이스(650)는 컴퓨터로 생성된 3 차원 환경에서 또 다른 객체로 등장할 수 있다. 사용자에 의한 컴퓨팅 디바이스(650)와의 상호작용(예를 들어, 회전, 흔들기, 터치 스크린 터치, 터치 스크린을 손가락으로 가로지르기)은 VR 공간에서 객체와의 상호작용으로서 해석될 수 있다. VR 공간의 레이저 포인터 일례에서, 컴퓨팅 디바이스(650)는 컴퓨터로 생성된 3D 환경에서 가상 레이저 포인터로 나타난다. 사용자가 컴퓨팅 디바이스(650)를 조작함에 따라, VR 공간 내의 사용자는 레이저 포인터의 움직임을 보게된다. 사용자는 컴퓨팅 디바이스(650) 또는 VR 헤드셋(690) 상의 VR 공간에서 컴퓨팅 디바이스(650)와의 상호작용으로부터 피드백을 수신한다.
일부 실시예에서, 컴퓨팅 디바이스에 부가하여 하나 이상의 입력 디바이스들(예를 들어, 마우스, 키보드)이 컴퓨터로 생성된 3D 환경에서 렌더링될 수 있다. 렌더링된 입력 디바이스(예컨대, 렌더링된 마우스, 렌더링된 키보드)는 VR 공간의 객체를 제어하기 위해 VR 공간에서 렌더링된 것으로 이용될 수 있다.
컴퓨팅 디바이스(600)는 랩탑, 데스크탑, 워크스테이션, 개인 휴대 정보 단말기(PDA), 서버, 블레이드 서버, 메인 프레임, 및 다른 적절한 컴퓨터 등과 같은 디지털 컴퓨터의 다양한 형태를 나타내도록 의도된다. 컴퓨팅 디바이스(650)는 개인 휴대 정보 단말기(PDA), 셀룰러 전화, 스마트 폰 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타 내기 위한 것이다. 본 명세서에 도시된 구성 요소들, 이들의 접속 및 관계들, 및 그 기능들은 단지 예시적인 것을 의미하며, 본 명세서에 기재된 및/또는 청구된 발명의 구현예를 한정하는 것을 의미하지는 않는다.
다양한 실시예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 본 명세서의 범위를 벗어남이 없이도 다양한 변형들이 이루어질 수 있음을 이해할 것이다.
또한, 도면들에 도시된 논리 흐름들은 바람직한 결과들을 획득하기 위하여, 도시된 특정 순서 또는 순차적인 순서를 요구하지 않는다. 또한, 설명된 흐름들로부터 다른 단계들이 제공되거나 단계들이 제거될 수도 있으며, 설명된 시스템들에 다른 컴포넌트들이 추가되거나 제거될 수 있다. 따라서, 다른 실시예들은 다음의 청구항들의 범위 내에 속한다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    제 2 전자 디바이스에 통신가능하게 연결된 제 1 전자 디바이스로 가상 환경을 생성하는 단계;
    주변 환경에서 상기 제 2 전자 디바이스의 움직임을 추적하는 단계;
    하나 이상의 센서들을 사용하여, 상기 주변 환경에서 제 2 전자 디바이스의 움직임과 관련된 모션 범위를 결정하는 단계;
    상기 제 2 전자 디바이스의 반복된 움직임이 상기 가상 환경과의 상호작용이 실패하고 있다고 판별됨에 응답하여, 상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키고 그리고 복수의 가상 객체들에 대하여, 상기 주변 환경과 관련된 모션 범위에 적응된 가상 구성을 생성하는 단계, 상기 가상 구성은 상기 복수의 가상 객체들 중 적어도 하나를 렌더링하기 위한 위치를 정의하며; 그리고
    상기 제 1 전자 디바이스의 가상 환경에서, 상기 가상 구성에 따라 상기 복수의 가상 객체들의 렌더링을 트리거링하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 복수의 가상 객체들 중 적어도 하나는, 가상 환경 및 상기 가상 환경과 관련된 옵션들을 보여주는 사용자 인터페이스의 일부분이고,
    상기 가상 구성을 결정하는 단계는, 상기 가상 환경과 관련된 모션 범위와 매칭되도록 상기 사용자 인터페이스를 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 단계는,
    상기 제 1 전자 디바이스 또는 상기 제 2 전자 디바이스 중 적어도 하나에 액세스하는 사용자의 물리적 양상(physical aspect)을 결정하는 단계;
    상기 물리적 양상과 관련된 적어도 하나의 능력(capability)을 상기 주변 환경으로부터 상기 가상 환경으로 변환하는 단계; 및
    변환된 적어도 하나의 능력에 따라 상기 가상 환경에서 가상 콘텐츠를 제공하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제3항에 있어서,
    상기 제 1 전자 디바이스에 액세스하는 사용자의 물리적 양상은,
    가상 환경에서 검출된 위치(position), 자세(posture), 물리적 공간에서 검출된 위치, 검출된 높이, 상기 사용자의 암 스팬(arm span)과 관련된 도달 거리(reach distance) 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제3항에 있어서,
    상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 단계는 또한,
    상기 제 1 전자 디바이스에 액세스하는 사용자가 상기 제 1 전자 디바이스에 액세스하는 동안 착석된 위치(seated postion)에 있다라고 판별함에 응답하여,
    상기 사용자의 착석된 위치를 고려하도록 상기 가상 환경에서 상기 적어도 하나의 능력을 활성화(enable)시키는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제3항에 있어서,
    상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계는,
    상기 제 1 전자 디바이스와 관련된 사용자의 물리적 양상을 결정하고, 그리고 상기 사용자의 물리적 양상 및 상기 주변 환경과 관련된 모션 범위를 이용하여 도달 구역(reach zone)을 추정하는 단계를 포함하며,
    상기 도달 거리 구역은 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내의 영역으로서 이용될 수 있고 그리고 가상 환경 내에 복수의 가상 객체들이 배치되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 가상 환경과 관련된 모션 범위는 상기 제 2 전자 디바이스 상에서 실행되는 가속도계를 이용하여 결정되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 주변 환경에서 제 2 전자 디바이스의 움직임을 추적하는 단계는,
    상기 주변 환경에서 상기 제 1 전자 디바이스와 상기 제 2 전자 디바이스에 액세스하는 사용자의 이미지들을 캡춰함으로써, 상기 제 2 전자 디바이스의 측면 이동(lateral movement)을 추적하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제1항에 있어서,
    상기 제 1 전자 디바이스는 HMD 디바이스이며, 상기 제 2 전자 디바이스는 휴대용 전자 디바이스인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제9항에 있어서,
    상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계는,
    상기 제 1 전자 디바이스에 액세스하는 사용자의 높이를 결정하고, 그리고 상기 사용자의 높이 및 상기 주변 환경과 관련된 모션 범위를 이용하여 도달 구역을 추정하는 단계를 포함하며,
    상기 도달 거리 구역은 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내의 영역으로서 이용될 수 있고 그리고 가상 환경 내에 복수의 가상 객체들이 배치되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제1항에 있어서,
    상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 단계는,
    상기 제 1 전자 디바이스의 수직 오프셋을 검출하고, 그리고 상기 제 1 전자 디바이스에 액세스하는 사용자의 도달 거리 내에 복수의 가상 객체들을 배치하도록 상기 수직 오프셋을 이용하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 명령들이 저장되어 있는 비일시적인 머신 판독가능한 매체로서, 상기 명령들은 프로세서에 의해서 실행될 때 컴퓨팅 디바이스로 하여금,
    제 2 전자 디바이스에 통신가능하게 연결된 제 1 전자 디바이스로 가상 환경을 생성하고;
    주변 환경에서 상기 제 2 전자 디바이스의 움직임을 추적하고;
    하나 이상의 센서들을 사용하여, 상기 주변 환경에서 제 2 전자 디바이스의 움직임과 관련된 모션 범위를 결정하고;
    상기 제 2 전자 디바이스의 반복된 움직임이 상기 가상 환경과의 상호작용이 실패하고 있다고 판별됨에 응답하여, 상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키고 그리고 복수의 가상 객체들에 대하여, 상기 주변 환경과 관련된 모션 범위에 적응된 가상 구성을 생성하며, 상기 가상 구성은 상기 복수의 가상 객체들 중 적어도 하나를 렌더링하기 위한 위치를 정의하며; 그리고
    상기 제 1 전자 디바이스의 가상 환경에서, 상기 가상 구성에 따라 상기 복수의 가상 객체들의 렌더링을 트리거링하게 하는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  13. 제12항에 있어서,
    상기 복수의 가상 객체들 중 적어도 하나는, 가상 환경 및 상기 가상 환경과 관련된 옵션들을 보여주는 사용자 인터페이스의 일부분이고,
    상기 가상 구성을 결정하는 것은, 상기 가상 환경과 관련된 모션 범위와 매칭되도록 상기 사용자 인터페이스를 조정하는 것을 포함하는 비일시적인 머신 판독가능한 매체.
  14. 제12항에 있어서,
    상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 것은,
    상기 제 1 전자 디바이스에 액세스하는 사용자의 물리적 양상(physical aspect)을 결정하는 것을 포함하는 비일시적인 머신 판독가능한 매체.
  15. 제12항에 있어서,
    상기 제 1 전자 디바이스는 HMD 디바이스이며, 상기 제 2 전자 디바이스는 휴대용 전자 디바이스인 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  16. 제12항에 있어서,
    상기 복수의 가상 객체들에 대하여, 상기 가상 환경과 관련된 모션 범위에 적응된 가상 구성을 결정하는 것은,
    상기 제 1 전자 디바이스와 관련된 사용자의 물리적 양상을 결정하고, 그리고 상기 사용자의 물리적 양상 및 상기 주변 환경과 관련된 모션 범위를 이용하여 도달 구역(reach zone)을 추정하는 것을 포함하며,
    상기 도달 거리 구역은 상기 제 1 전자 디바이스와 관련된 및/또는 액세스하는 사용자의 도달 거리 내의 영역으로서 이용될 수 있고 그리고 가상 환경 내에 복수의 가상 객체들이 배치되는 것을 특징으로 하는 비일시적인 머신 판독가능한 매체.
  17. 시스템으로서,
    메모리; 및
    상기 메모리에 결합된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제 2 전자 디바이스에 통신가능하게 연결된 제 1 전자 디바이스로 가상 환경을 생성하고;
    주변 환경에서 상기 제 2 전자 디바이스의 움직임을 추적하고;
    하나 이상의 센서들을 사용하여, 상기 주변 환경에서의 움직임과 관련된 모션 범위를 결정하고;
    상기 제 2 전자 디바이스의 반복된 움직임이 상기 가상 환경과의 상호작용이 실패하고 있다고 판별됨에 응답하여, 상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키고 그리고 복수의 가상 객체들에 대하여, 상기 주변 환경과 관련된 모션 범위에 적응된 가상 구성을 생성하며, 상기 가상 구성은 상기 복수의 가상 객체들 중 적어도 하나를 렌더링하기 위한 위치를 정의하며; 그리고
    상기 제 1 전자 디바이스의 가상 환경에서, 상기 가상 구성에 따라 상기 복수의 가상 객체들의 렌더링을 트리거링하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 주변 환경과 관련된 모션 범위를 상기 가상 환경과 관련된 모션 범위와 상관시키는 것은 또한,
    상기 제 1 전자 디바이스에 액세스하는 동안 사용자가 착석된 위치에 있다라고 판별함에 응답하여, 상기 제 1 전자 디바이스에 액세스하는 상기 사용자의 착석된 위치를 고려하도록 상기 가상 환경에서 적어도 하나의 능력을 활성화시키는 것을 포함하는 시스템.
  19. 제17항에 있어서,
    상기 주변 환경에서 상기 제 2 전자 디바이스의 움직임을 추적하는 것은,
    상기 제 2 전자 디바이스에 저장된 가속도계 데이터를 분석하는 것을 포함하는 시스템.
  20. 제17항에 있어서,
    상기 제 1 전자 디바이스는 HMD 디바이스이며, 상기 제 2 전자 디바이스는 휴대용 전자 디바이스인 것을 특징으로 하는 시스템.
KR1020197002560A 2016-07-22 2017-07-21 가상 현실 사용자 인터페이스를 위한 사용자 모션 범위의 검출 KR102239855B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662365526P 2016-07-22 2016-07-22
US62/365,526 2016-07-22
PCT/US2017/043351 WO2018017993A1 (en) 2016-07-22 2017-07-21 Detecting user range of motion for virtual reality user interfaces

Publications (2)

Publication Number Publication Date
KR20190025934A KR20190025934A (ko) 2019-03-12
KR102239855B1 true KR102239855B1 (ko) 2021-04-13

Family

ID=59501623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002560A KR102239855B1 (ko) 2016-07-22 2017-07-21 가상 현실 사용자 인터페이스를 위한 사용자 모션 범위의 검출

Country Status (7)

Country Link
US (1) US20180024623A1 (ko)
EP (1) EP3488321B1 (ko)
JP (1) JP6676213B2 (ko)
KR (1) KR102239855B1 (ko)
CN (1) CN109478101B (ko)
DE (1) DE202017104403U1 (ko)
WO (1) WO2018017993A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198874B2 (en) 2016-05-13 2019-02-05 Google Llc Methods and apparatus to align components in virtual reality environments
US10345925B2 (en) * 2016-08-03 2019-07-09 Google Llc Methods and systems for determining positional data for three-dimensional interactions inside virtual reality environments
US10429949B2 (en) * 2017-06-30 2019-10-01 Htc Corporation User interaction apparatus and method
JP7020490B2 (ja) * 2017-09-20 2022-02-16 日本電気株式会社 情報処理装置、制御方法、及びプログラム
US11303814B2 (en) * 2017-11-09 2022-04-12 Qualcomm Incorporated Systems and methods for controlling a field of view
KR102572675B1 (ko) * 2017-11-22 2023-08-30 삼성전자주식회사 사용자 인터페이스를 적응적으로 구성하기 위한 장치 및 방법
US11019389B2 (en) * 2017-12-04 2021-05-25 Comcast Cable Communications, Llc Determination of enhanced viewing experiences based on viewer engagement
JP7252398B2 (ja) * 2018-07-04 2023-04-04 マクセル株式会社 仮想オブジェクト操作方法およびヘッドマウントディスプレイ
ES2896704T3 (es) * 2018-08-01 2022-02-25 Rakuten Inc Dispositivo de visualización, método de visualización, programa y medio de almacenamiento de información legible por ordenador no temporal
US11644940B1 (en) * 2019-01-31 2023-05-09 Splunk Inc. Data visualization in an extended reality environment
US11853533B1 (en) 2019-01-31 2023-12-26 Splunk Inc. Data visualization workspace in an extended reality environment
US10937218B2 (en) * 2019-07-01 2021-03-02 Microsoft Technology Licensing, Llc Live cube preview animation
US11544282B1 (en) * 2019-10-17 2023-01-03 Splunk Inc. Three-dimensional drill-down data visualization in extended reality environment
US11157132B2 (en) * 2019-11-08 2021-10-26 Sap Se Immersive experience password authentication in extended reality environments
US11175730B2 (en) * 2019-12-06 2021-11-16 Facebook Technologies, Llc Posture-based virtual space configurations
WO2021169881A1 (zh) * 2020-02-24 2021-09-02 Oppo广东移动通信有限公司 头戴式设备的显示控制方法、设备及计算机存储介质
US11257280B1 (en) 2020-05-28 2022-02-22 Facebook Technologies, Llc Element-based switching of ray casting rules
US11256336B2 (en) 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes
US11567563B2 (en) 2020-07-30 2023-01-31 International Business Machines Corporation Adapting extended reality applications to user capability and preference
US11178376B1 (en) 2020-09-04 2021-11-16 Facebook Technologies, Llc Metering for display modes in artificial reality
US11294475B1 (en) 2021-02-08 2022-04-05 Facebook Technologies, Llc Artificial reality multi-modal input switching model
US11556169B2 (en) * 2021-02-11 2023-01-17 Meta Platforms Technologies, Llc Adaptable personal user interfaces in cross-application virtual reality settings

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012100810A (ja) * 2010-11-09 2012-05-31 Nintendo Co Ltd ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
JP2014056462A (ja) * 2012-09-13 2014-03-27 Toshiba Alpine Automotive Technology Corp 操作装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH075978A (ja) * 1993-06-18 1995-01-10 Sony Corp 入力装置
JP2004258766A (ja) * 2003-02-24 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 自己画像表示を用いたインタフェースにおけるメニュー表示方法、装置、プログラム
JP4533087B2 (ja) * 2004-10-28 2010-08-25 キヤノン株式会社 画像処理方法、画像処理装置
US7840031B2 (en) * 2007-01-12 2010-11-23 International Business Machines Corporation Tracking a range of body movement based on 3D captured image streams of a user
JP4701424B2 (ja) * 2009-08-12 2011-06-15 島根県 画像認識装置および操作判定方法並びにプログラム
JP5114795B2 (ja) * 2010-01-29 2013-01-09 島根県 画像認識装置および操作判定方法並びにプログラム
JP6310255B2 (ja) * 2010-06-10 2018-04-11 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. オプションを提示するための方法及び装置
US9067136B2 (en) * 2011-03-10 2015-06-30 Microsoft Technology Licensing, Llc Push personalization of interface controls
AU2011205223C1 (en) * 2011-08-09 2013-03-28 Microsoft Technology Licensing, Llc Physical interaction with virtual objects for DRM
US9292085B2 (en) * 2012-06-29 2016-03-22 Microsoft Technology Licensing, Llc Configuring an interaction zone within an augmented reality environment
US9323057B2 (en) * 2012-12-07 2016-04-26 Blackberry Limited Mobile device, system and method for controlling a heads-up display
US9700240B2 (en) * 2012-12-14 2017-07-11 Microsoft Technology Licensing, Llc Physical activity inference from environmental metrics
EP3001407A4 (en) * 2013-05-21 2017-01-25 Sony Corporation Display control device, display control method, and recording medium
US9063578B2 (en) * 2013-07-31 2015-06-23 Microsoft Technology Licensing, Llc Ergonomic physical interaction zone cursor mapping
US9448689B2 (en) * 2013-08-30 2016-09-20 Paypal, Inc. Wearable user device enhanced display system
JP2016048541A (ja) * 2014-06-19 2016-04-07 株式会社リコー 情報処理システム、情報処理装置及びプログラム
US9904055B2 (en) * 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US10055892B2 (en) * 2014-11-16 2018-08-21 Eonite Perception Inc. Active region determination for head mounted displays
US10423234B2 (en) * 2015-03-27 2019-09-24 Lucasfilm Entertainment Company Ltd. Facilitate user manipulation of a virtual reality environment
CN105159954B (zh) * 2015-08-17 2018-09-11 武汉理工大学 基于gis与虚拟现实技术的三维电子海图生成方法
CN105141867B (zh) * 2015-09-28 2018-06-26 于卫华 智能穿戴WiFi播放便携投映器
US9870064B2 (en) * 2016-06-13 2018-01-16 Rouslan Lyubomirov DIMITROV System and method for blended reality user interface and gesture control system
US10037626B2 (en) * 2016-06-30 2018-07-31 Microsoft Technology Licensing, Llc Interaction with virtual objects based on determined restrictions
US10198855B2 (en) * 2016-07-20 2019-02-05 Colopl, Inc. Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012100810A (ja) * 2010-11-09 2012-05-31 Nintendo Co Ltd ゲームシステム、ゲーム装置、ゲームプログラム、および、ゲーム処理方法
JP2014056462A (ja) * 2012-09-13 2014-03-27 Toshiba Alpine Automotive Technology Corp 操作装置

Also Published As

Publication number Publication date
EP3488321A1 (en) 2019-05-29
DE202017104403U1 (de) 2017-10-26
WO2018017993A1 (en) 2018-01-25
JP6676213B2 (ja) 2020-04-08
KR20190025934A (ko) 2019-03-12
CN109478101A (zh) 2019-03-15
US20180024623A1 (en) 2018-01-25
JP2019521452A (ja) 2019-07-25
EP3488321B1 (en) 2021-05-05
CN109478101B (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
KR102239855B1 (ko) 가상 현실 사용자 인터페이스를 위한 사용자 모션 범위의 검출
CN109643159B (zh) 在增强和/或虚拟现实环境中利用六自由度控制器操纵虚拟对象
US10545584B2 (en) Virtual/augmented reality input device
JP6676071B2 (ja) 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力
CN108073276B (zh) 增强和/或虚拟现实环境的拖拽虚拟元件
EP3400499B1 (en) Two-handed object manipulations in virtual reality
CN109074154B (zh) 增强和/或虚拟现实中的悬停触摸输入补偿
CN108139805B (zh) 用于在虚拟现实环境中的导航的控制系统
KR102233807B1 (ko) 가상 현실 시스템을 위한 입력 제어기 안정화 기법
CN111373349B (zh) 用于在增强现实环境中导航的方法、设备及存储介质
KR101242982B1 (ko) 개인 미디어 장치의 움직임 기반 인터페이스
US11835727B2 (en) Information processing apparatus and information processing method for controlling gesture operations based on postures of user
CN113243000A (zh) 用于增强现实对象的捕捉范围

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