KR102222974B1 - 홀로그램 스냅 그리드 - Google Patents

홀로그램 스냅 그리드 Download PDF

Info

Publication number
KR102222974B1
KR102222974B1 KR1020157032309A KR20157032309A KR102222974B1 KR 102222974 B1 KR102222974 B1 KR 102222974B1 KR 1020157032309 A KR1020157032309 A KR 1020157032309A KR 20157032309 A KR20157032309 A KR 20157032309A KR 102222974 B1 KR102222974 B1 KR 102222974B1
Authority
KR
South Korea
Prior art keywords
virtual
augmented reality
snap
reality environment
grid space
Prior art date
Application number
KR1020157032309A
Other languages
English (en)
Other versions
KR20150143659A (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
Priority to US13/862,347 priority Critical patent/US9245387B2/en
Priority to US13/862,347 priority
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority to PCT/US2014/033406 priority patent/WO2014168995A1/en
Publication of KR20150143659A publication Critical patent/KR20150143659A/ko
Application granted granted Critical
Publication of KR102222974B1 publication Critical patent/KR102222974B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Abstract

현실 세계 환경, 현실 세계 객체, 및/또는 증강 현실 환경 내의 가상 객체와 관련된 스냅 그리드 공간을 이용하여 증강 현실 환경 내에서 가상 객체를 배치하는 방법이 개시된다. 스냅 그리드 공간은 하나 이상의 가상 객체가 배치될 수 있는 증강 현실 환경 내의 2차원 또는 3차원 가상 공간을 포함할 수 있다. 일부 실시예에 있어서, 머리 장착형 디스플레이 장치(HMD)는 증강 현실 환경 내의 하나 이상의 그리드 공간을 식별하고, 증강 현실 환경 내에서 가상 객체의 배치를 검출하고, 가상 객체를 배치하기 위한 하나 이상의 그리드 공간 중의 목표 그리드 공간을 결정하고, 목표 그리드 공간에서 가상 객체의 위치를 결정하고, 상기 목표 그리드 공간 내 가상 객체의 위치에 기초하여 상기 증강 현실 환경 내의 가상 객체를 디스플레이할 수 있다.

Description

홀로그램 스냅 그리드{HOLOGRAPHIC SNAP GRID}
증강 현실(augmented reality, AR)은 현실 세계 환경(또는 현실 세계 환경을 나타내는 데이터)의 인지가 컴퓨터에 의해 생성된 가상 데이터로 증강되거나 수정되는 증강된 현실 세계 환경을 제공하는 것과 관련된다. 예를 들면, 현실 세계 환경을 나타내는 데이터는 카메라 또는 마이크로폰과 같은 지각(sensory) 입력 장치를 이용하여 실시간으로 캡쳐되고, 가상 이미지 및 가상 음향을 포함한 컴퓨터 생성 가상 데이터로 증강될 수 있다. 가상 데이터는 현실 세계 환경의 현실 세계 객체와 관련된 텍스트 설명과 같은 현실 세계 환경에 관한 정보를 또한 포함할 수 있다. AR 환경 내의 객체들은 실제 객체 현실 세계 환경 내에 존재하는 객체) 및 가상 객체(즉, 특정 현실 세계 환경 내에 존재하지 않는 객체)를 포함할 수 있다.
AR 환경에 가상 객체를 현실적으로 융합하기 위해, AR 시스템은 전형적으로 맵핑 및 국지화(localization)를 포함한 몇 가지 태스크를 수행한다. 맵핑은 현실 세계 환경의 지도를 생성하는 처리와 관련된다. 국지화는 특정 관점을 찾는 처리 또는 현실 세계 환경의 지도에 관한 포즈(pose)와 관련된다. 일부 경우에, AR 시스템은 모바일 장치가 현실 세계 환경 내에서 이동할 때 증강될 필요가 있는 모바일 장치와 연관된 특정 뷰를 결정하기 위해, 현실 세계 환경 내에서 움직이는 모바일 장치의 포즈를 실시간으로 국지화할 수 있다.
본 발명은 현실 세계 환경, 현실 세계 객체, 및/또는 증강 현실 환경 내의 가상 객체와 관련된 스냅 그리드 공간(snap grid space)을 이용하여 증강 현실 환경 내에서 가상 객체를 배치(positioning)하는 것에 관련된다. 스냅 그리드 공간은 하나 이상의 가상 객체가 배치될 수 있는 증강 현실 환경 내의 2차원 또는 3차원 가상 공간을 포함할 수 있다. 일부 실시예에 있어서, 머리 장착형 디스플레이 장치(HMD, head-mounted display device)는 증강 현실 환경 내의 하나 이상의 그리드 공간을 식별하고, 증강 현실 환경 내에서 가상 객체의 배치를 검출하고, 가상 객체를 배치하기 위한 하나 이상의 그리드 공간 중의 목표 그리드 공간을 결정하고, 목표 그리드 공간에서 가상 객체의 위치를 결정하고, 상기 목표 그리드 공간 내 가상 객체의 위치에 기초하여 상기 증강 현실 환경 내의 가상 객체를 디스플레이할 수 있다.
이 요약은 뒤의 상세한 설명 부분에서 더 구체적으로 설명하는 개념들의 선택을 간단한 형태로 소개하기 위해 제공된다. 이 요약은 청구된 주제의 핵심적인 피쳐 또는 본질적인 피쳐를 식별하기 위한 것으로 의도되지 않고, 또한 청구된 주제의 범위를 결정함에 있어서의 보조물로서 사용되는 것으로 의도되지 않는다.
도 1은 본 발명의 기술을 실시할 수 있는 네트워크 컴퓨팅 환경의 일 실시예의 블록도이다.
도 2a는 제2 모바일 장치와 통신하는 모바일 장치의 일 실시예를 보인 도이다.
도 2b는 HMD의 일부의 일 실시예를 보인 도이다.
도 3은 캡쳐 장치 및 컴퓨팅 환경을 포함한 컴퓨팅 시스템의 일 실시예를 보인 도이다.
도 4b는 하나 이상의 가상 객체가 배치될 수 있는 환경의 일 실시예를 보인 도이다.
도 4b는 스냅 그리드 공간을 포함한 도 4b의 환경의 일 실시예를 보인 도이다.
도 4c는 도 4b의 스냅 그리드 공간에 배치된 가상 객체를 포함한 도 4b의 환경의 일 실시예를 보인 도이다.
도 4d는 제1 인간 및 상기 제1 인간과 관련하여 배치된 방사상 스냅 그리드 공간을 포함한 증강 현실 환경의 일 실시예를 보인 도이다.
도 5a는 스냅 그리드 공간을 이용하여 증강 현실 환경 내에서 가상 객체를 배치하는 방법의 일 실시예를 보인 흐름도이다.
도 5b는 증강 현실 환경 내의 스냅 그리드 공간을 식별하는 처리의 일 실시예를 보인 흐름도이다.
도 5c는 가상 객체가 스냅 그리드 공간 내에 배치되어 있는 것을 결정하는 처리의 일 실시예를 보인 흐름도이다.
도 6은 모바일 장치의 일 실시예의 블록도이다.
본 발명은 현실 세계 환경, 현실 세계 객체, 및/또는 증강 현실 환경 내의 가상 객체와 관련된 스냅 그리드 공간을 이용하여 증강 현실 환경 내에서 가상 객체를 배치하는 것에 관련된다. 스냅 그리드 공간은 하나 이상의 가상 객체가 배치될 수 있는 증강 현실 환경 내의 2차원 또는 3차원 가상 공간을 포함할 수 있다. 스냅 그리드 공간은 특정 룸 또는 환경(예를 들면, 거실 또는 사무실)과 관련될 수 있다. 스냅 그리드 공간은 현실 세계 객체(예를 들면, 룸 내의 벽의 일부 또는 테이블탑 표면) 또는 가상 객체(예를 들면, 이동 가능한 가상 게시판 또는 가상 테이블탑)와 관련될 수 있다. 일부 실시예에 있어서, 머리 장착형 디스플레이 장치(HMD)와 같은 모바일 장치는 증강 현실 환경 내의 하나 이상의 그리드 공간을 식별하고, 증강 현실 환경 내에서 가상 객체의 배치(또는 재배치)를 검출하고, 가상 객체를 배치하기 위한 하나 이상의 그리드 공간 중의 목표 그리드 공간을 결정하고, 목표 그리드 공간과 연관된 그리드 스페이싱(grid spacing)을 결정하고, 상기 그리드 스페이싱에 기초하여 상기 목표 그리드 공간 내의 가상 객체의 위치 및 배향을 결정하고, 상기 목표 그리드 공간 내 가상 객체의 위치 및 배향에 기초하여 상기 증강 현실 환경 내의 가상 객체를 디스플레이할 수 있다.
일부 실시예에 있어서, 가상 객체(예를 들면, 홀로그램 TV, 홀로그램 웹브라우저, 또는 홀로그램 페인팅)는 증강 현실 환경 내에 배치되고, 그 다음에 증강 현실 환경 내의 스냅 그리드 공간에 대응하는 그리드 위치에 자동으로 스냅될 수 있다. 일부 경우에, 상기 스냅 그리드 공간은 현실 세계 환경(예를 들면, 사무실 또는 침실)과 관련되고, 가상 객체는 현실 세계 환경과 관련된 최상위 레벨 우주 공간 내에 배치될 수 있다. 일부 경우에, 스냅 그리드 공간은 증강 현실 환경 내의 현실 세계 객체(예를 들면, 책상 또는 벽)와 관련되고, 가상 객체는 현실 세계 객체 또는 현실 세계 객체의 3D 모델과 관련하여 배치될 수 있다. 이 경우에, 현실 세계 객체가 증강 현실 환경 내에서 이동할 때, 가상 객체는 현실 세계 객체와 함께 이동할 것이다. 일 예로서, 현실 세계 객체는 인간을 포함하고, 가상 객체는 상기 인간과 관련하여 배치될 수 있다(예를 들면, 가상 객체는 인간과 관련하여 움직이는 방사상 스냅 그리드 공간 내에 배치될 수 있다). 인간은 HMD의 최종 사용자 또는 증강 현실 환경 내의 특정인을 포함할 수 있다. 일부 경우에, 스냅 그리드 공간은 증강 현실 환경 내의 제2 가상 객체(예를 들면, 가상 책상 또는 가상 벽)와 관련되고, 가상 객체는 상기 제2 가상 객체와 관련하여 배치될 수 있다. 이 경우에, 상기 제2 가상 객체가 증강 현실 환경 내에서 이동할 때 가상 객체는 상기 제2 가상 객체와 함께(또는 관련해서) 이동할 것이다.
일부 실시예에 있어서, 스냅 그리드 공간 내의 가상 객체는 배치 이벤트의 검출시에(예를 들면, HMD의 최종 사용자에 의해 배치 및 해제(release)된 후에) 스냅 그리드 공간 내의 가장 가까운(즉, 가장 근접한) 그리드점에 자동으로 스냅될 수 있다. 배치 이벤트는 예를 들면 HMD의 최종 사용자가 가상 객체 복사 및 붙이기(copy-and-paste) 기능, 가상 객체 자르기 및 붙이기 기능 또는 가상 객체 이동 기능을 수행하는 경우에 트리거될 수 있다. 일부 경우에, 가상 객체는 스냅 그리드 공간 내의 그리드점(또는 고정점)들의 세트과 관련하여 그 위치 및 배향을 스냅할 수 있다. 스냅 그리드 공간과 연관된 그리드 스페이싱(또는 그리드점의 밀도)은 HMD에서 동작하는 애플리케이션(예를 들면, 가상 TV 시청 애플리케이션 또는 가상 웹브라우저 애플리케이션)에 기초해서 및/또는 스냅 그리드 공간의 크기에 비례하는 가상 객체의 크기에 기초해서 결정될 수 있다(예를 들면, 더 작은 가상 객체는 더 큰 가상 객체에 비하여 더 높은 그리드 스페이싱 밀도를 요구할 수 있다). 그리드 스페이싱은 스냅 그리드 공간 내에(또는 스냅 그리드 공간과 관련해서) 이미 배치된 다른 가상 객체의 크기에 기초하여 또한 설정될 수 있다. 일부 경우에, 그리드 스페이싱은 스냅 그리드 공간의 각 영역 내에서 불균일할 수 있다(예를 들면, 더 조밀한 그리드점이 그리드 공간의 코너 또는 가장자리 부근에, 또는 가상 객체의 배치가 발생하기 더 쉬운 그리드 공간의 영역 내에 제공될 수 있다).
일부 실시예에 있어서, 스냅 그리드 공간은 조정 가능한 및/또는 이동 가능한 가상 공간을 포함할 수 있다. 예를 들면, 작업 환경 내 작업 책상에 부착된 스냅 그리드 공간은 작업 환경 내의 다른 책상으로 또는 작업 환경 내의 벽으로 이전 또는 이동될 수 있다(예를 들면, 최종 사용자가 붙잡아서 드래그할 수 있다). 다른 예로서, 스냅 그리드 공간은 제1 구획 내의 벽의 일부로부터 잘라내어 제2 구획 내의 벽의 일부에 붙여질 수 있다(예를 들면, 제1 구획으로부터 제2 구획으로 이동한 후에). 일부 경우에, 스냅 그리드 공간 및 그 그리드 스페이싱은 고정하는 현실 세계 객체 및/또는 가상 객체의 치수 내에 맞추기 위해 크기 조절 또는 조정될 수 있다(예를 들면, 증강 현실 환경을 보는 HMD의 최종 사용자에 의해 확대 또는 수축될 수 있다).
HMD를 이용하여 3차원 증강 현실 환경 내에 가상 객체를 배치 및/또는 배열하는 것과 관련된 하나의 문제점은 HMD에 의해 제공된 단일의 기준 관점 때문에 정확한 배치가 어려울 수 있다는 점이다. 더욱이, 증강 현실 환경 내에서 시간에 따른 가상 객체 위치의 표류(drifting)는 증강 현실 환경 내에서 가상 객체의 환영을 파괴함으로써 증강 현실 경험을 손상시킬 수 있다. 따라서, 증강 현실 환경 내에서 가상 객체의 배치를 개선할 필요가 있다.
도 1은 본 발명의 기술을 실시할 수 있는 네트워크 컴퓨팅 환경(100)의 일 실시예의 블록도이다. 네트워크 컴퓨팅 환경(100)은 하나 이상의 네트워크(180)를 통해 상호접속된 복수의 컴퓨팅 장치를 포함한다. 하나 이상의 네트워크(180)는 특정 컴퓨팅 장치가 다른 컴퓨팅 장치와 접속하여 통신할 수 있게 한다. 도시된 컴퓨팅 장치는 모바일 장치(11, 12, 19)와 서버(15)를 포함한다. 일부 실시예에 있어서, 복수의 컴퓨팅 장치는 도시를 생략한 다른 컴퓨팅 장치를 포함할 수 있다. 일부 실시예에 있어서, 복수의 컴퓨팅 장치는 도 1에 도시된 컴퓨팅 장치의 수보다 더 많은 또는 더 적은 수의 컴퓨팅 장치를 포함할 수 있다. 하나 이상의 네트워크(180)는 기업 사설 네트워크와 같은 보안 네트워크, 무선 개방 네트워크, 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷과 같은 비보안 네트워크를 포함할 수 있다. 하나 이상 네트워크(180)의 각 네트워크는 허브, 브리지, 라우터, 스위치, 및 유선 네트워크 또는 직접 유선 접속과 같은 유선 전송 매체를 포함할 수 있다.
보조 정보 서버 또는 응용 서버를 포함할 수 있는 서버(15)는 클라이언트가 서버로부터 정보(예를 들면, 텍스트, 오디오, 이미지 및 비디오 파일)를 다운로드하거나, 서버에 저장된 특정 정보에 관한 조사 질의를 수행할 수 있게 한다. 일반적으로, "서버"는 클라이언트-서버 관계에서 호스트로서 작용하는 하드웨어 장치, 또는 하나 이상의 클라이언트와 자원을 공유하거나 상기 하나 이상의 클라이언트에 대한 작업을 수행하는 소프트웨어 프로세스를 포함할 수 있다. 클라이언트-서버 관계에서 컴퓨팅 장치들 간의 통신은 클라이언트가 특정 자원에 대한 접근 또는 수행 대상의 특정 작업을 요구하는 요청(request)을 서버에 전송함으로써 개시될 수 있다. 서버는 그 다음에 상기 요청된 동작들을 수행하고 클라이언트에게 응답을 보낼 수 있다.
서버(15)의 일 실시예는 네트워크 인터페이스(155), 프로세서(156), 메모리(157) 및 번역기(158)를 포함하고, 이 컴포넌트들은 모두 서로 통신한다. 네트워크 인터페이스(155)는 서버(15)가 하나 이상의 네트워크(180)에 접속하게 한다. 네트워크 인터페이스(155)는 무선 네트워크 인터페이스, 모뎀 및/또는 유선 네트워크 인터페이스를 포함할 수 있다. 프로세서(156)는 서버(15)가 메모리(157)에 저장된 컴퓨터 판독가능 명령어를 실행하여 여기에서 설명하는 처리들을 수행하게 한다. 번역기(158)는 제1 파일 형식의 제1 파일을 제2 파일 형식의 대응하는 제2 파일로 번역하는 맵핑 로직을 포함할 수 있다(즉, 제2 파일은 제1 파일의 번역된 버전일 수 있다). 번역기(158)는 제1 파일 형식의 제1 파일(또는 그 일부)을 제2 파일 형식의 대응하는 제2 파일로 맵핑하기 위한 명령어를 제공하는 파일 맵핑 명령어를 이용하여 구성될 수 있다.
모바일 장치(19)의 일 실시예는 네트워크 인터페이스(145), 프로세서(146), 메모리(147), 카메라(148), 센서(149) 및 디스플레이(150)를 포함하고, 이 컴포넌트들은 모두 서로 통신한다. 네트워크 인터페이스(145)는 모바일 장치(19)가 하나 이상의 네트워크(180)에 접속하게 한다. 네트워크 인터페이스(145)는 무선 네트워크 인터페이스, 모뎀 및/또는 유선 네트워크 인터페이스를 포함할 수 있다. 프로세서(146)는 모바일 장치(19)가 메모리(157)에 저장된 컴퓨터 판독가능 명령어를 실행하여 여기에서 설명하는 처리들을 수행하게 한다. 카메라(148)는 색 이미지 및/또는 깊이 이미지(depth image)를 캡쳐할 수 있다. 센서(149)는 모바일 장치(19)와 관련된 움직임 및/또는 배향 정보를 생성할 수 있다. 일부 경우에, 센서(149)는 관성 측정 장치(inertial measurement unit, IMU)를 포함할 수 있다. 디스플레이(150)는 디지털 이미지 및/또는 비디오를 디스플레이할 수 있다. 디스플레이(150)는 시스루(see-through) 디스플레이를 포함할 수 있다.
일부 실시예에 있어서, 네트워크 인터페이스(145), 프로세서(146), 메모리(147), 카메라(148) 및 센서(149)를 포함한 모바일 장치(19)의 각종 컴포넌트는 단일 칩 기판에 통합될 수 있다. 일 예로서, 네트워크 인터페이스(145), 프로세서(146), 메모리(147), 카메라(148) 및 센서(149)는 시스템 온 칩(SOC)으로서 통합될 수 있다. 다른 실시예에 있어서, 네트워크 인터페이스(145), 프로세서(146), 메모리(147), 카메라(148) 및 센서(149)는 단일 패키지 내에 통합될 수 있다.
일부 실시예에 있어서, 모바일 장치(19)는 카메라(148), 센서(149), 및 프로세서(146)에서 동작하는 제스처 인식 소프트웨어를 이용하여 NUI(natural user interface)를 제공할 수 있다. NUI에 의해, 인간의 신체 부분 및 움직임이 검출, 해석 및 사용되어 컴퓨팅 응용의 각종 양태를 제어할 수 있다. 일 예로서, NUI를 이용하는 컴퓨팅 장치는 컴퓨팅 장치와 상호작용하는 사람의 의도(예를 들면, 컴퓨팅 장치를 제어하기 위해 최종 사용자가 특정 제스처를 수행한 것)를 추론할 수 있다.
네트워크 컴퓨팅 환경(100)은 하나 이상의 컴퓨팅 장치에 대한 클라우드 컴퓨팅 환경을 제공할 수 있다. 클라우드 컴퓨팅은 인터넷 기반 컴퓨팅을 말하고, 공유 자원, 소프트웨어 및/또는 정보는 인터넷(또는 다른 글로벌 네트워크)을 통해 온디맨드로 하나 이상의 컴퓨팅 장치에 제공된다. 용어 "클라우드"는 인터넷이 나타내는 하부 기반구조의 추상 개념으로서 인터넷을 묘사하기 위해 컴퓨터 네트워트도에서 사용되는 구름 그림에 기초한 인터넷의 은유로서 사용된다.
일 예로서, 모바일 장치(19)는 머리 장착형 디스플레이 장치(HMD)의 최종 사용자에게 (예를 들면, HMD에서 동작하는 애플리케이션을 제어하기 위해) 증강 현실 환경 또는 혼합 현실 환경을 제공하는 HMD를 포함한다. HMD는 비디오 시스루 시스템 및/또는 광학 시스루 시스템을 포함할 수 있다. 최종 사용자가 착용한 광학 시스루 HMD는 (예를 들면, 투명 렌즈를 통하여) 현실 세계 환경의 실제 직접 보기를 가능하게 하고, 이와 동시에 최종 사용자의 시야에 가상 객체의 이미지를 투영하여 가상 객체와 함께 최종 사용자에게 인지되는 현실 세계 환경을 증강시킬 수 있다.
HMD를 이용해서, 최종 사용자는 HMD를 착용하고 현실 세계 환경(예를 들면, 거실) 주위에서 이동하고 가상 객체의 이미지가 중첩된 현실 세계의 모습을 인지할 수 있다. 가상 객체는 현실 세계 환경과 가간섭성 공간 관계를 유지하도록 나타날 수 있다(즉, 최종 사용자가 현실 세계 환경 내에서 그의 머리를 돌리거나 움직일 때, 최종 사용자에게 디스플레이되는 이미지는 가상 객체가 최종 사용자에 의해 인지되는 현실 세계 환경 내에 존재하는 것처럼 나타나도록 변경될 것이다). 가상 객체는 또한 최종 사용자의 관점과 관련하여 고정되게 나타날 수 있다(예를 들면, 최종 사용자가 현실 세계 환경 내에서 그의 머리를 돌리거나 움직이는 법과 관계없이 최종 사용자 관점의 상부 우측 코너에 항상 나타나는 가상 메뉴). 일 실시예에 있어서, 현실 세계 환경의 환경 맵핑은 서버(15)에 의해(즉, 서버 측에서) 수행되고, 카메라 국지화는 모바일 장치(19)에서(즉, 클라이언트 측에서) 수행될 수 있다. 가상 객체는 현실 세계 객체와 연관된 텍스트 설명을 포함할 수 있다.
일부 실시예에 있어서, 모바일 장치(19)와 같은 모바일 장치는 서버(15)와 같은 클라우드 내의 서버와 통신할 수 있고, 모바일 장치와 연관된 위치 정보(예를 들면, GPS 좌표를 통한 모바일 장치의 위치) 및/또는 이미지 정보(예를 들면, 모바일 장치의 시야 내에서 검출된 객체에 관한 정보)를 서버에게 제공할 수 있다. 그 응답으로, 서버는 서버에 제공된 상기 위치 정보 및/또는 이미지 정보에 기초하여 하나 이상의 가상 객체를 모바일 장치에 전송할 수 있다. 일 실시예에 있어서, 하나 이상의 가상 객체는 손 및/또는 손가락 제스처를 이용하여 모바일 장치의 최종 사용자에 의해 조작 또는 제어될 수 있다.
일부 실시예에 있어서, 모바일 장치의 최종 사용자는 가상 객체를 선택하고 그 가상 객체를 스냅 그리드 공간과 연관된 증강 현실 환경의 영역 내로 이동시킴으로써 증강 현실 환경 내에 가상 객체를 배치(또는 재배치)할 수 있다. 스냅 그리드 공간은 대응하는 현실 세계 환경(예를 들면, 스냅 그리드 공간은 침실의 일부에 위치된 3차원 스냅 그리드 공간을 포함할 수 있다), 현실 세계 객체(예를 들면, 스냅 그리드 공간은 테이블 위에 위치된 3차원 공간을 포함할 수 있다), 및/또는 증강 현실 환경 내의 가상 객체(예를 들면, 스냅 그리드 공간은 가상 테이블 위에 위치된 2차원 공간을 포함할 수 있다)와 연관될 수 있다. 스냅 그리드 공간은 증강 현실 환경 내에서 가상 객체를 배치하는 동안 최종 사용자에게 스냅 그리드 공간을 식별시키는데 도움을 주기 위해 하이라이트 처리될 수 있다(예를 들면, 스냅 지점의 가상 와이어프레임 메쉬 또는 가상 포인트 그리드를 이용하여 그리드 공간을 하이라이트 처리할 수 있다). 가상 객체가 스냅 그리드 공간과 관련하여 (예를 들면, 최종 사용자에 의해 이동 및 해제됨으로써) 배치되었으면, 그 가상 객체는 스냅 그리드 공간 내의 가장 가까운 그리드점에 자동으로 스냅될 수 있다.
일부 실시예에 있어서, 스냅 그리드 공간 자체는 조정 가능한 및/또는 이동 가능한 가상 공간을 포함할 수 있다. 예를 들면, 제1의 홈 환경 내의 벽에 위치된 가상 게시판과 연관된 2차원 스냅 그리드 공간은 홈 환경 또는 다른 홈 환경 내의 다른 벽으로 이동(또는 이전)될 수 있다. 이 경우에, 비록 스냅 그리드 공간이 이전되었지만, 스냅 그리드 공간 내의 각종 그리드점에 스냅된 가상 객체는 스냅 그리드 공간과 관련하여 그들의 위치를 유지할 것이다.
도 2a는 제2 모바일 장치(5)와 통신하는 모바일 장치(19)의 일 실시예를 보인 도이다. 모바일 장치(19)는 시스루 HMD를 포함할 수 있다. 도시된 바와 같이, 모바일 장치(19)는 유선 접속(6)을 통하여 모바일 장치(5)와 통신한다. 그러나, 모바일 장치(19)는 무선 접속을 통해 모바일 장치(5)와 또한 통신할 수 있다. 일 예로서, HMD의 최종 사용자에 의해 착용된 HMD는 최종 사용자의 부근에 있는 제2 모바일 장치(예를 들면, 최종 사용자가 사용하는 이동 전화기)와 무선으로 통신할 수 있다(예를 들면, 제2 모바일 장치는 코트 주머니 내에 있을 수 있다). 모바일 장치(5)는 연산 집약적 처리 태스크(예를 들면, 가상 객체의 렌더링 및/또는 제스처의 인식)를 오프로드하기 위해서 및 (예를 들면, 모바일 장치에서 동작하는 애플리케이션을 제어하기 위해 최종 사용자가 사용하는) 모바일 장치(19)에서 증강 현실 환경을 제공하기 위해 사용될 수 있는 정보(예를 들면, 가상 객체의 모델)를 저장하기 위해 모바일 장치(19)에 의해 사용될 수 있다. 모바일 장치(19)는 모바일 장치(19)와 연관된 움직임 및/또는 배향 정보를 모바일 장치(5)에게 제공할 수 있다. 일 예로서, 움직임 정보는 모바일 장치(19)와 연관된 속도 또는 가속도를 포함하고, 배향 정보는 특정 좌표계 또는 기준 프레임(frame of reference) 주위의 회전 정보를 제공하는 오일러 각(Euler angle)을 포함할 수 있다. 일부 경우에, 모바일 장치(19)는 모바일 장치(19)와 연관된 움직임 및/또는 배향 정보를 획득하기 위해 관성 측정 장치(IMU)와 같은 움직임 및 배향 센서를 포함할 수 있다.
도 2b는 도 1의 모바일 장치(19)와 같은 HMD의 일부의 일 실시예를 보인 도이다. HMD(200)의 우측만이 도시되어 있다. HMD(200)는 우측 안경다리(202), 코 브리지(204), 안경알(216) 및 안경알 테(214)를 포함한다. 우측 안경다리(202)는 처리 장치(236)와 통신하는 캡쳐 장치(213)(예를 들면, 전면 카메라 및/또는 마이크로폰)를 포함한다. 캡쳐 장치(213)는 디지털 이미지 및/또는 비디오를 녹화하기 위한 하나 이상의 카메라를 포함하고, 시각적 기록을 처리 장치(236)에 전송할 수 있다. 상기 하나 이상의 카메라는 색 정보, IR 정보 및/또는 깊이 정보를 캡쳐할 수 있다. 상기 하나 이상의 카메라는 하나 이상의 이미지 센서(예를 들면, CCD 이미지 센서 또는 CMOS 이미지 센서)를 포함할 수 있다. 캡쳐 장치(213)는 또한 녹음용의 하나 이상의 마이크로폰을 포함할 수 있고, 청각적 기록을 처리 장치(236)에 전송할 수 있다.
우측 안경다리(202)는 또한 생물 측정 센서(220), 눈 추적 시스템(221), 이어폰(230), 움직임 및 배향 센서(238), GPS 수신기(232), 전원장치(239) 및 무선 인터페이스(237)를 포함하고, 상기 컴포넌트들은 모두 처리 장치(236)와 통신한다. 생물 측정 센서(220)는 HMD(200)의 최종 사용자와 관련된 맥박 또는 심박수를 결정하는 하나 이상의 전극 및 HMD(200)의 최종 사용자와 관련된 체온을 결정하는 온도 센서를 포함할 수 있다. 일 실시예에 있어서, 생물 측정 센서(220)는 최종 사용자의 안경다리에 대하여 눌러지는 맥박수 측정 센서를 포함한다. 움직임 및 배향 센서(238)는 3축 자력계, 3축 자이로, 및/또는 3축 가속도계를 포함할 수 있다. 일 실시예에 있어서, 움직임 및 배향 센서(238)는 관성 측정 장치(IMU)를 포함할 수 있다. GPS 수신기는 HMD(200)와 연관된 GPS 위치를 결정할 수 있다. 처리 장치(236)는 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서에서 실행되는 컴퓨터 판독가능 명령어를 저장하는 메모리를 포함할 수 있다. 메모리는 상기 하나 이상의 프로세서에서 실행되는 다른 유형의 데이터를 또한 저장할 수 있다.
일 실시예에 있어서, 눈 추적 시스템(221)은 내향 카메라를 포함할 수 있다. 다른 실시예에 있어서, 눈 추적 시스템(221)은 눈 추적 조명원 및 관련된 눈 추적 IR 센서를 포함할 수 있다. 일 실시예에 있어서, 눈 추적 조명원은 대략 미리 정해진 IR 파장 또는 소정 범위의 파장을 방사하는 적외선 발광 다이오드(LED) 또는 레이저(예를 들면, VCSEL)와 같은 하나 이상의 적외선(IR) 방사체를 포함할 수 있다. 일부 실시예에 있어서, 눈 추적 센서는 반짝이는 위치를 추적하는 IR 카메라 또는 IR 위치 감응 검출기(PSD)를 포함할 수 있다. 눈 추적 시스템에 대한 더 많은 정보는 "머리 장착형 눈 추적 및 디스플레이 시스템"(Head Mounted Eye Tracking and Display System)의 명칭으로 2008년 7월 22일자 허여된 미국 특허 제7,401,920호, 및 "통합형 눈 추적 및 디스플레이 시스템"(Integrated Eye Tracking and Display System)의 명칭으로 2011년 9월 26일자 출원된 미국 특허 출원 제13/245,700호에서 찾아볼 수 있다.
일 실시예에 있어서, 안경알(216)은 시스루 디스플레이를 포함할 수 있고, 이것에 의해, 처리 장치(236)에 의해 생성된 이미지가 시스루 디스플레이에 투영 및/또는 디스플레이될 수 있다. 캡쳐 장치(213)는 캡쳐 장치(213)에 의해 캡쳐된 시야가 HMD(200)의 최종 사용자에 의해 보여지는 시야에 대응하도록 조정될 수 있다. 이어폰(230)은 가상 객체의 투영 이미지와 연관된 음향을 출력하기 위해 사용될 수 있다. 일부 실시예에 있어서, HMD(200)는 전면 카메라에 의해 캡쳐된 시야와 연관된 스테레오 정보로부터 깊이를 획득하기 위해 2개 이상의 전면 카메라(예를 들면, 각 안경다리에 하나씩)를 포함할 수 있다. 상기 2개 이상의 전면 카메라는 3D, IR 및/또는 RGB 카메라를 또한 포함할 수 있다. 깊이 정보는 움직임 기술로부터의 깊이를 이용하여 단일 카메라로부터 또한 획득될 수 있다. 예를 들면, 상이한 시점에서 2개의 상이한 공간 지점과 연관된 단일 카메라로부터 2개의 이미지가 획득될 수 있다. 그 다음에, 상기 2개의 상이한 공간 지점에 관한 주어진 위치 정보에 대하여 시차 계산이 수행될 수 있다.
일부 실시예에 있어서, HMD(200)는 각막 중심, 안구 회전 중심 또는 동공 중심과 같은 하나 이상의 인간 눈 요소에 관한 3차원 좌표계 및 시선 검출 요소를 이용한 최종 사용자의 각 눈의 시선 검출을 수행할 수 있다. 시선 검출은 최종 사용자가 시야 내에서 초점을 맞추는 곳을 식별하기 위해 사용될 수 있다. 시선 검출 요소의 예로는 반짝임 생성 조명기, 및 생성된 반짝임을 나타내는 데이터를 캡쳐하기 위한 센서가 있다. 일부 경우에, 각막 중심은 평면 지오메트리를 이용한 2개의 반짝임에 기초하여 결정될 수 있다. 각막 중심은 동공 중심과 안구 회전 중심을 연결하고, 이것은 소정 시선 또는 시각(viewing angle)에서 최종 사용자 눈의 광축을 결정하기 위한 고정된 위치로서 취급될 수 있다.
도 3은 캡쳐 장치(20) 및 컴퓨팅 환경(12)을 포함한 컴퓨팅 시스템(10)의 일 실시예를 보인 도이다. 일부 실시예에 있어서, 캡쳐 장치(20)와 컴퓨팅 환경(12)은 단일 모바일 컴퓨팅 장치 내에 통합될 수 있다. 단일의 통합형 모바일 컴퓨팅 장치는 도 1의 모바일 장치(19)와 같은 모바일 장치를 포함할 수 있다. 일 예로서, 캡쳐 장치(20)와 컴퓨팅 환경(12)은 HMD 내에 통합될 수 있다. 다른 실시예에 있어서, 캡쳐 장치(20)는 도 2a의 모바일 장치(19)와 같은 제1 모바일 장치에 통합되고, 컴퓨팅 환경(12)은 도 2a의 모바일 장치(5)와 같은, 상기 제1 모바일 장치와 통신하는 제2 모바일 장치에 통합될 수 있다.
일 실시예에 있어서, 캡쳐 장치(20)는 이미지 및 비디오를 캡쳐하기 위한 하나 이상의 이미지 센서를 포함할 수 있다. 이미지 센서는 CCD 이미지 센서 또는 CMOS 이미지 센서를 포함할 수 있다. 일부 실시예에 있어서, 캡쳐 장치(20)는 이미지 센서 및/또는 IR CMOS 이미지 센서를 포함할 수 있다. 캡쳐 장치(20)는 이미지 카메라 컴포넌트(32)를 포함할 수 있다. 이미지 카메라 컴포넌트(32)는 캡쳐 영역의 깊이 이미지를 캡쳐하기 위해 사용할 수 있는 IR 조명 컴포넌트(34), 깊이 카메라(36) 및 RGB 카메라(38)를 포함할 수 있다. 일 예로서, 캡쳐 장치(20)의 IR 조명 컴포넌트(34)는 캡쳐 영역에 적외선 광을 방출하고, 그 다음에 이미지 카메라 컴포넌트(32) 내의 색 및/또는 IR 광 감지 컴포넌트를 이용하여 캡쳐 영역 내의 하나 이상의 객체의 표면으로부터의 후방 산란광을 검출하기 위해 센서들을 이용할 수 있다. 일부 실시예에 있어서, 펄스형 적외선 광은 유출되는 광 펄스와 대응하는 유입 광 펄스 간의 시간이 측정되고 캡쳐 장치(20)로부터 캡쳐 영역 내 하나 이상의 객체에서의 특정 위치까지의 물리적 거리를 결정하기 위해 사용될 수 있도록 사용될 수 있다. 캡쳐 장치(20)는 또한 시준 광을 생성하기 위한 및/또는 환경을 조명하는 광을 확산하기 위한 광학기기(예를 들면, 좁은 광 빔을 생성하는 IR 광원으로부터의 광을 분산시키는 광 확산기)를 포함할 수 있다.
도 3에 도시된 바와 같이, 캡쳐 장치(20)는 하나 이상의 마이크로폰(40)을 포함할 수 있다. 상기 하나 이상의 마이크로폰(40) 각각은 음향을 수신하여 전기 신호로 변환하는 변환기 또는 센서를 포함할 수 있다. 상기 하나 이상의 마이크로폰은 상기 하나 이상의 마이크로폰이 소정의 배치로 배열된 마이크로폰 어레이를 포함할 수 있다.
캡쳐 장치(20)는 이미지 카메라 컴포넌트(32)와 작용적으로 통신하는 프로세서(42)를 포함할 수 있다. 프로세서(42)는 표준형 프로세서, 특수형 프로세서, 마이크로프로세서 등을 포함할 수 있다. 프로세서(42)는 이미지를 수신 및 분석하고 및/또는 특정 제스처(예를 들면, 가상 객체를 제어 또는 조작하기 위한 최종 사용자 행동)이 발생하였는지를 결정하기 위한 명령어를 포함한 명령어들을 실행할 수 있다. 적어도 일부 이미지 분석 및/또는 제스처 인식 동작이 캡쳐 장치(20)와 같은 하나 이상의 캡쳐 장치 내에 포함된 프로세서에 의해 실행될 수 있다는 것을 이해할 것이다.
캡쳐 장치(20)는 프로세서(42)에 의해 실행되는 명령어 및 이미지 카메라 컴포넌트(32)의 감광 컴포넌트에 의해 캡쳐된 이미지(또는 이미지의 프레임)를 저장하는 메모리(44)를 포함할 수 있다. 일 예로서, 메모리(44)는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 캐시, 플래시 메모리, 비휘발성 메모리 또는 임의의 다른 적당한 저장 컴포넌트를 포함할 수 있다. 도시된 바와 같이, 메모리(44)는 이미지 캡쳐 컴포넌트(32) 및 프로세서(42)와 통신하는 별도의 컴포넌트일 수 있다. 다른 실시예에 있어서, 메모리(44)는 프로세서(42) 및/또는 이미지 캡쳐 컴포넌트(32)에 통합될 수 있다. 또 다른 실시예에 있어서, 캡쳐 장치(20)의 컴포넌트(32, 34, 36, 38, 40, 42, 44)들 중의 일부 또는 전부는 단일 하우징 내에 배치될 수 있다.
캡쳐 장치(20)는 통신 링크(46)를 통해 컴퓨팅 환경(12)과 통신할 수 있다. 통신 링크(46)는 유선 접속, 또는 무선 802.11b, g, a 또는 n 접속과 같은 무선 접속일 수 있다. 일 실시예에 있어서, 캡쳐 장치(20)는 예를 들면 깊이 카메라(36) 및/또는 RGB 카메라(38)에 의해 캡쳐된 이미지를 통신 링크(46)를 통해 컴퓨팅 환경(12)에 제공할 수 있다.
도 3에 도시된 바와 같이, 컴퓨팅 환경(12)은 애플리케이션(196)과 통신하는 이미지 및 오디오 처리 엔진(194)을 포함한다. 애플리케이션(196)은 운영체제 애플리케이션 또는 다른 컴퓨팅 애플리케이션, 예를 들면, 게이밍 애플리케이션, 메시징 애플리케이션, 또는 증강 현실 환경을 생성하기 위한 애플리케이션을 포함할 수 있다. 이미지 및 오디오 처리 엔진(194)은 가상 데이터 엔진(197), 객체 및 제스처 인식 엔진(190), 구조 데이터(198), 처리 장치(191) 및 기억 장치(192)를 포함하고, 이들은 모두 서로 통신한다. 이미지 및 오디오 처리 엔진(194)은 캡쳐 장치(20)로부터 수신된 비디오, 이미지 및 오디오 데이터를 처리한다. 객체의 검출 및/또는 추적을 돕기 위해, 이미지 및 오디오 처리 엔진(194)은 구조 데이터(198)와 객체 및 제스처 인식 엔진(190)을 이용할 수 있다.
가상 데이터 엔진(197)은 가상 객체를 처리하고 기억 장치(192)에 저장된 현실 세계 환경의 각종 맵과 관련하여 가상 객체의 위치 및 배향을 등록한다. 가상 데이터 엔진은 컴퓨팅 시스템(10)의 최종 사용자에게 디스플레이하기 위해 가상 객체와 연관된 이미지들을 또한 렌더링할 수 있다. 일부 실시예에 있어서, 컴퓨팅 시스템(10)은 캡쳐 장치(20)로부터 획득된 이미지를 이용하여 환경의 3D 맵에 관한 이미지에 대응하는 6 자유도(six degree of freedom, 6DOF) 포즈를 결정할 수 있다. 일 예로서, 6DOF 포즈는 환경 내 모바일 장치(예를 들면, HMD)의 위치 및 배향와 관련된 정보를 포함할 수 있다. 상기 6DOF 포즈는 모바일 장치를 국지화하고, 가상 객체가 증강 현실 환경 내의 적당한 위치에 존재하는 것처럼 나타나도록 가상 객체의 이미지를 생성하기 위해 사용된다. 6DOF 포즈를 결정하는 것과 관련된 더 많은 정보는 "증강 현실을 위한 분산형 비동기 국지화 및 맵핑"(Distributed Asynchronous Localization and Mapping for Augmented Reality)의 명칭으로 출원된 미국 특허 출원 제13/152,220호에서 찾아볼 수 있다. 모바일 장치의 포즈 추정 및/또는 국지화를 수행하는 것과 관련된 더 많은 정보는 "뎁스맵을 이용한 모바일 카메라 국지화"(Mobile Camera Localization Using Depth Maps)의 명칭으로 출원된 미국 특허 출원 제13/017,474호에서 찾아볼 수 있다.
처리 장치(191)는 객체, 얼굴 및 음성 인식 알고리즘을 실행하는 하나 이상의 프로세서를 포함할 수 있다. 일 실시예에 있어서, 이미지 및 오디오 처리 엔진(194)은 객체 인식 및 얼굴 인식 기술을 이미지 또는 비디오 데이터에 적용할 수 있다. 예를 들면, 객체 인식은 특정 객체(예를 들면, HMD의 최종 사용자가 쥐고 있는 연필)를 검출하기 위해 사용되고 얼굴 인식은 환경 내의 특정인의 얼굴을 검출하기 위해 사용될 수 있다. 이미지 및 오디오 처리 엔진(194)은 오디오 및 음성 인식 기술을 오디오 데이터에 적용할 수 있다. 예를 들면, 오디오 인식은 특정 음향을 검출하기 위해 사용될 수 있다. 검출 대상의 특정 얼굴, 음성, 음향 및 객체는 기억 장치(192)에 내포된 하나 이상의 메모리에 저장될 수 있다. 처리 장치(191)는 여기에서 설명하는 처리를 수행하기 위해 상기 기억 장치(192)에 저장되어 있는 컴퓨터 판독가능 명령어를 실행할 수 있다.
이미지 및 오디오 처리 엔진(194)은 객체 인식을 수행하는 동안 구조 데이터(198)를 이용할 수 있다. 구조 데이터(198)는 추적 대상의 타겟 및/또는 객체에 대한 구조 정보를 포함할 수 있다. 예를 들면, 신체 부분(예를 들면, 팔, 손 및/또는 손가락)의 인식을 돕기 위해 인간의 골격 모델이 저장될 수 있다. 다른 예에 있어서, 구조 데이터(198)는 하나 이상의 무생물(예를 들면, 연필 또는 스타일러스)의 인식을 돕기 위해 하나 이상의 무생물에 관한 구조 정보를 포함할 수 있다.
이미지 및 오디오 처리 엔진(194)은 제스처 인식을 수행하는 동안 객체 및 제스처 인식 엔진(190)을 이용할 수 있다. 일 예로서, 객체 및 제스처 인식 엔진(190)은 수행될 제스처에 관한 정보를 각각 포함하는 제스처 필터들의 세트를 포함할 수 있다. 객체 및 제스처 인식 엔진(190)은 캡쳐 장치(20)에 의해 캡쳐된 데이터를 제스처 라이브러리 내의 제스처 필터와 비교하여 사용자가 하나 이상의 제스처를 수행한 때를 식별할 수 있다. 일 예로서, 이미지 및 오디오 처리 엔진(194)은 객체 및 제스처 인식 엔진(190)을 이용하여 컴퓨팅 시스템(10)의 최종 사용자에 의해 수행된 특정 제스처의 수행을 검출할 수 있다. 일 실시예에 있어서, 객체 및 제스처 인식 엔진(190)은 기계 학습 분류 기술을 이용할 수 있다.
도 4b 내지 도 4d는 하나 이상의 가상 객체(예를 들면, 홀로그램 포스터 또는 가상 알람 시계)가 생성되어 HMD의 최종 사용자에게 디스플레이될 수 있는 각종 환경의 예들을 제공한다. 하나 이상의 가상 객체는 2차원 또는 3차원 가상 객체를 포함할 수 있다. 일부 경우에, 가상 객체는 HMD의 최종 사용자에 의해 수행된 배치 제스처에 기초하여 증강 현실 환경 내의 제1 2차원 공간(예를 들면, 책상의 표면에 대응하는 공간)으로부터 제2 2차원 공간(예를 들면, 홈의 특정 룸 내의 벽에 대응하는 공간)으로 천이할 수 있다.
도 4b는 하나 이상의 가상 객체가 배치될 수 있는 환경(400)의 일 실시예를 보인 도이다. 도시된 바와 같이, 환경(400)은 책상(403), 의자(404) 및 벽(405) 내의 창(402)을 포함한 3차원 현실 세계 공간을 포함한다. 일 실시예에 있어서, 환경(400)은 작업 환경 내의 사무실을 포함한다.
도 4b는 스냅 그리드 공간을 포함한 도 4b의 환경(400)의 일 실시예를 보인 도이다. 도시된 바와 같이, 제1 스냅 그리드 공간(414)은 3차원 현실 세계 공간의 일부 내에 위치된 3차원 그리드 공간을 포함하고 제2 스냅 그리드 공간(412)은 현실 세계 객체의 표면(즉, 책상(403)의 상부 표면)에 위치된 2차원 그리드 공간을 포함한다. 스냅 그리드 공간은 환경 내의 2차원 및 3차원 개방 공간에 기초하여 환경 내에서 식별될 수 있다. 일 예로서, 제1 스냅 그리드 공간(414)은 가상 객체의 배치를 위한 체적 필요조건 및/또는 공간 크기 필요조건(예를 들면, 8피트×8피트×8피트 입방체보다 더 큰 3차원 공간)을 만족시키는 환경(400) 내의 3차원 개방 공간으로서 식별될 수 있다. 다른 예로서, 제2 스냅 그리드 공간(412)은 (예를 들면, 작업 환경 내의 특정 개인 책상의 객체 인식을 통해) 특정 책상의 상부면의 인식에 기초하여 식별될 수 있다. 하나 이상의 스냅 그리드 공간(예를 들면, 제1 스냅 그리드 공간(414))이 증강 현실 환경에서 식별된 때, 상기 하나 이상의 스냅 그리드 공간과 연관된 위치, 배향 및 그리드 스페이싱은 증강 현실 환경의 3차원 지도의 일부로서 저장될 수 있다.
도 4c는 도 4b의 스냅 그리드 공간에 배치된 가상 객체를 포함한 도 4b의 환경(400)의 일 실시예를 보인 도이다. 도시된 바와 같이, 제1 가상 객체(424)는 제1 스냅 그리드 공간(414) 내에 배치되어 있다. 제1 가상 객체(424)는 3차원 가상 객체(예를 들면, 가상 볼)를 포함할 수 있다. 제2 가상 객체(422)는 제2 스냅 그리드 공간(412) 내에 배치되어 있다. 제2 가상 객체(422)는 2차원 가상 객체(예를 들면, 가상 시계)를 포함할 수 있다. 일부 경우에, 상기 제2 가상 객체(422)는 깊이가 있는 3차원 객체를 포함할 수 있다.
일부 실시예에 있어서, 제1 가상 객체(424)는 제1 스냅 그리드 공간(414) 내의 가장 가까운 그리드점에 스냅(예를 들면, 가상적으로 자기적으로 스냅)되고(예를 들면, 제1 가상 객체의 중앙이 가장 가까운 그리드점에 배치될 수 있다), 제2 가상 객체(422)는 제2 스냅 그리드 공간(412) 내의 가장 가까운 그리드점에 스냅될 수 있다. 상기 제1 스냅 그리드 공간(414) 및 상기 제2 스냅 그리드 공간(412)과 연관된 그리드 스페이싱은 HMD에서 동작하는 가상 객체 애플리케이션(예를 들면, 가상 인터넷 브라우징 애플리케이션 또는 가상 농구 게임 애플리케이션) 및/또는 스냅 그리드 공간의 크기에 비례하는 스냅 그리드 공간 내에 위치된 가상 객체의 크기에 기초하여 결정될 수 있다. 일부 경우에, 스냅 그리드 공간과 연관된 그리드 스페이싱은 스냅 그리드 공간의 각 영역에서 불균일할 수 있다(예를 들면, 그리드 공간의 경계 부근에서 더 조밀한 그리드점이 제공될 수 있다). 일 실시예에 있어서, 스냅 그리드 공간은 가상 객체가 전형적으로 또는 일상적으로 스냅 그리드 공간 내에 위치하고 있는 더 조밀한 그리드점의 영역을 포함할 수 있다.
일부 실시예에 있어서, 스냅 그리드 공간은 조정 가능한 및/또는 이동 가능한 가상 공간을 포함할 수 있다. 예를 들면, 작업 환경 내의 작업 책상에 부착된 스냅 그리드 공간은 작업 환경 내의 다른 책상 또는 표면으로 이동될 수 있다. 일부 경우에, 스냅 그리드 공간 및 그 그리드 스페이싱은 고정하는 현실 세계 객체(예를 들면, 책상) 및/또는 가상 객체(예를 들면, 가상 책상)의 치수에 맞추기 위해 조정(예를 들면, 증강 현실 환경을 보고 있는 HMD의 최종 사용자에 의해 확대 또는 수축)될 수 있다.
도 4d는 제1 인간(29) 및 상기 제1 인간(29)과 관련하여 배치된 방사상 스냅 그리드 공간(426)을 포함한 증강 현실 환경(401)의 일 실시예를 보인 도이다. 도시된 바와 같이, 방사상 스냅 그리드 공간(426)은 상기 제1 인간(29)의 머리와 관련하여 배치되고 가상 객체(425)(예를 들면, 가상 구를 포함함)는 방사상 스냅 그리드 공간(426)과 관련하여 배치된다. 이 경우에, 상기 제1 인간(29)이 증강 현실 환경 내에서 이동할 때, 방사상 스냅 그리드(426)는 상기 제1 인간(29)과 함께 이동하고 가상 객체(425)는 상기 방사상 스냅 그리드 공간(426)과 관련하여 이동할 것이다. 상기 제1 인간(29)은 상기 방사상 스냅 그리드 공간(426)에 대한 이동하는 고정점을 포함할 수 있다. 일 실시예에 있어서, 상기 제1 인간(29)은 HMD의 최종 사용자가 보고 있는 증강 현실 환경(401) 내의 인간을 포함할 수 있다. 다른 실시예에 있어서, 상기 제1 인간(29)은 HMD의 최종 사용자를 포함하고 상기 방사상 스냅 그리드(426)는 HMD의 위치(예를 들면, 도 2b의 코 브리지(204)와 같은 HMD의 코 브리지)에 대응할 수 있다. 일부 경우에, 방사상 스냅 그리드(426)는 인체의 신체 부분(예를 들면, 인간 머리의 최상부 또는 인간 가슴의 중앙)에 관련하여 배치될 수 있다. 비록 방사상 스냅 그리드 공간이 도시되어 있지만, 다른 스냅 그리드 영역을 또한 사용할 수 있다. 예를 들면, 입방체 스냅 그리드 공간이 상기 제1 인간(29)의 머리(또는 다른 신체 부분)에 관련하여 배치되고, 가상 객체가 상기 입방체 스냅 그리드 공간에 관련하여 배치될 수 있다.
도 5a는 스냅 그리드 공간을 이용하여 증강 현실 환경 내에 가상 객체를 배치하는 방법의 일 실시예를 보인 흐름도이다. 일 실시예에 있어서, 도 5a의 처리는 도 1의 모바일 장치(19)와 같은 모바일 장치에 의해 수행될 수 있다.
단계 502에서, 증강 현실 환경이 모바일 장치를 이용하여 식별된다. 모바일 장치는 HMD를 포함할 수 있다. 증강 현실 환경은 GPS 좌표를 통해 또는 현실 세계 환경 내의 특정 피쳐 또는 랜드마크의 이미지 인식을 통해 식별될 수 있다. 증강 현실 환경과 연관된 현실 세계 환경의 이미지는 도 3의 캡쳐 장치(20)와 같은 캡쳐 장치를 이용하여 캡쳐될 수 있다. 일 예로서, 현실 세계 환경은 홈 또는 홈의 침실 또는 거실을 포함할 수 있다.
단계 504에서, 증강 현실 환경과 연관된 3D 지도가 획득된다. 3D 지도는 증강 현실 환경과 연관된 현실 세계 좌표계에 대응할 수 있다. 3D 지도는 환경과 연관된 각종 랜드마크 또는 다른 환경 피쳐의 모델들을 포함할 수 있다. 3D 지도는 최상위 레벨 우주 공간 및 최상위 레벨 우주 공간 내에 위치된 객체 공간을 포함할 수 있다. 일 실시예에 있어서, 3D 지도는 도 4b의 환경(400)과 같은 룸에 대응할 수 있다.
단계 506에서, 증강 현실 환경 내의 하나 이상의 현실 세계 객체와 연관된 3D 모델들의 제1 세트가 획득된다. 제1 세트의 3D 모델들은 각각 증강 현실 환경 내에서 식별된 현실 세계 객체에 대응할 수 있다. 증강 현실 환경 내의 현실 세계 객체는 객체 및/또는 이미지 인식 기술을 통해 식별될 수 있다. 일 실시예에 있어서, 제1 3D 모델 세트는 도 4b의 책상(403)과 같은 작업 테이블 또는 책상과 연관된 제1 모델을 포함할 수 있다.
단계 508에서, 하나 이상의 가상 객체가 획득된다. 하나 이상의 가상 객체는 도 1의 서버(15)와 같은 가상 객체 서버로부터 획득될 수 있다. 하나 이상의 가상 객체는 증강 현실 환경 내에 이미 배치된 가상 객체 및/또는 미래의 시간에 증강 현실 환경에 배치될 가상 객체를 포함할 수 있다. 하나 이상의 가상 객체는 제1 가상 객체를 포함할 수 있다. 일 실시예에 있어서, 제1 가상 객체는 도 4c의 제1 가상 객체(424)와 같은 3차원 가상 볼을 포함한다.
단계 510에서, 하나 이상의 스냅 그리드 공간이 증강 현실 환경 내에서 식별된다. 하나 이상의 스냅 그리드 공간은 제1 스냅 그리드 공간을 포함할 수 있다. 제1 스냅 그리드 공간은 도 4b의 제2 스냅 그리드 공간(412)과 같은 2차원 그리드 공간, 또는 도 4b의 제1 스냅 그리드 공간(414)과 같은 3차원 그리드 공간을 포함할 수 있다. 일부 실시예에 있어서, 하나 이상의 스냅 그리드 공간은 적당한 개방 공간을 검출하기 위해 객체 및/또는 이미지 인식 기술을 통해 증강 현실 환경 내에서 식별될 수 있다. 하나 이상의 스냅 그리드 공간은 증강 현실 환경과 연관된 3D 지도의 일부로서 또한 식별될 수 있다. 증강 현실 환경에서 스냅 그리드 공간을 식별하는 처리의 일 실시예는 도 5b를 참조하면서 뒤에서 설명한다.
단계 512에서, 증강 현실 환경 내에서 제1 가상 객체의 배치가 검출된다. 일 실시예에 있어서, 제1 가상 객체의 배치는 모바일 장치의 최종 사용자에 의해 수행되는 가상 객체 배치 제스처를 인식함으로써 검출될 수 있다. 단계 514에서, 제1 가상 객체가 제1 스냅 그리드 공간 내에 배치된 것이 결정된다. 일 실시예에 있어서, 제1 가상 객체는 제1 스냅 그리드 공간과 상기 제1 가상 객체의 중첩이 모바일 장치의 시야 내에서 발생한 경우에 상기 제1 스냅 그리드 공간 내에 있는 것으로 간주될 수 있다. 다른 실시예에 있어서, 제1 가상 객체는 제1 가상 객체와 연관된 3차원 위치가 제1 스냅 그리드 공간 내에 있는 경우에 상기 제1 스냅 그리드 공간 내에 있는 것으로 간주될 수 있다. 가상 객체가 스냅 그리드 공간 내에 배치된 것으로 결정하는 처리의 일 실시예는 도 5c를 참조하면서 뒤에서 설명한다.
단계 516에서, 상기 제1 스냅 그리드 공간과 연관된 그리드 스페이싱이 결정된다. 일 실시예에 있어서, 스냅 그리드 공간과 연관된 그리드 스페이싱(또는 그리드점의 밀도)은 모바일 장치에서 동작하는 애플리케이션(예를 들면, 증강 현실 환경 내의 가상 객체를 이용하는 가상 TV 시청 애플리케이션 또는 가상 웹브라우징 애플리케이션) 및/또는 스냅 그리드 공간의 크기에 비례하는 가상 객체의 크기에 기초하여 결정될 수 있다(예를 들면, 더 작은 가상 객체는 더 큰 가상 객체와 비교할 때 더 높은 그리드 스페이싱 밀도를 요구할 수 있다). 일 예로서, 가상 TV 애플리케이션을 동작시키는 애플리케이션은 HMD의 최종 사용자가 증강 현실 환경 내에 위치한 가상 TV에서 채널 및/또는 방송(즉, 실제 TV에서 이용할 수 있는 것과 동일한 채널 및/또는 방송)을 볼 수 있게 한다. 다른 예로서, 증강 현실 애플리케이션은 하나 이상의 가상 타일(예를 들면, 컴퓨팅 애플리케이션 아이콘, 전자 파일 아이콘 또는 파일 디렉토리 아이콘)을 관리할 수 있고, 그리드 스페이싱은 상기 하나 이상의 가상 타일과 연관된 타일 크기에 기초하여 설정될 수 있다. 그리드 스페이싱은 타일 크기가 그리드 스페이싱의 정수배로 되도록 설정될 수 있다.
일부 경우에, 그리드 스페이싱은 스냅 그리드 공간 내에(또는 스냅 그리드 공간과 관련하여) 이미 배치된 다른 가상 객체의 크기에 기초하여 설정될 수 있다. 일 예로서, 그리드 스페이싱은 스냅 그리드 공간 내에 배치된 가장 작은 가상 객체에 기초하여 설정될 수 있다. 일부 경우에, 그리드 스페이싱은 스냅 그리드 공간의 각 영역 내에서 불균일할 수 있다(예를 들면, 가상 객체의 배치가 반복적으로 발생하는 것으로 나타난 그리드 공간의 각 영역 내 또는 그리드 공간의 코너 또는 가장자리 부근에 더 조밀한 그리드점이 제공될 수 있다).
일 실시예에 있어서, 제1 스냅 그리드 공간과 연관된 그리드 스페이싱은 제1 가상 객체의 크기 및 제1 스냅 그리드 공간의 크기에 기초하여 결정될 수 있다. 일 예로서, 만일 홀로그램 벽시계가 벽에 걸려 있으면 1미터 스냅 그리드를 이용할 수 있다. 다른 예로서, 만일 벽시계보다 더 작은 탁상 시계가 책상 위에 놓여 있으면, 1cm 스냅 그리드(또는 더 큰 벽시계에 대하여 사용한 그리드 스페이싱보다 더 작은 다른 그리드 스페이싱)를 이용할 수 있다. 비록 초기 그리드 스페이싱(또는 스냅 그리드 단위 스케일)이 제1 가상 객체의 크기, 제1 스냅 그리드 공간의 크기, 제1 스냅 그리드 공간의 크기에 비례하는 제1 가상 객체의 크기, 제1 스냅 그리드 공간 내에(또는 제1 스냅 그리드 공간과 관련하여) 이미 배치된 다른 가상 객체의 크기, 제1 가상 객체가 배치되는 룸의 특성(예를 들면, 룸의 치수 및/또는 룸 내의 개방 공간의 총계(amount)), 사용자 선호도, 및/또는 제1 가상 객체를 생성하는 증강 현실 애플리케이션의 필요조건과 같은 각종 입력에 기초하여 결정될 수 있지만, 모바일 장치의 최종 사용자는 시간에 따라 그들의 필요에 적합시키도록 그리드 스페이싱을 조정할 수 있다. 예를 들면, 제1 스냅 그리드의 그리드 스페이싱은 고정하는 현실 세계 객체 및/또는 고정하는 가상 객체의 치수 내에 맞추기 위해 크기 조절 또는 조정(예를 들면, 증강 현실 환경을 보는 HMD의 최종 사용자에 의해 확대 또는 수축)될 수 있다.
일부 경우에, 그리드 스페이싱은 증강 현실 환경을 제공하는 모바일 장치(예를 들면, HMD)의 추적 각도 분해능의 정밀도에 기초하여 결절될 수 있다. 예를 들어서, 만일 모바일 장치가 최종 사용자의 머리(또는 눈)의 1도 이동보다 더 큰 이동만을 검출할 수 있으면, 그리드 스페이싱은 상기 추적 각도 분해능과 연관된 분해 가능한 최소 스페이싱으로 설정될 수 있다.
단계 518에서, 제1 가상 객체가 그리드 스페이싱에 기초하여 제1 스냅 그리드 공간 내의 위치에 지정된다. 일 실시예에 있어서, 제1 가상 객체는 상기 제1 스냅 그리드 공간 내의 가장 가까운 그리드점에 스냅될 수 있다. 일 예로서, 제1 가상 객체의 제1 지점(예를 들면, 중심점)이 상기 제1 스냅 그리드 공간 내의 가장 가까운 그리드점에 스냅될 수 있다. 일부 경우에, 제1 가상 객체는 상기 제1 스냅 그리드 공간 내의 그리드점(또는 고정점)의 세트과 관련하여 그 위치 및 배향을 스냅할 수 있다. 단계 520에서, 제1 가상 객체에 대응하는 하나 이상의 이미지가 모바일 장치에서 렌더링 및 디스플레이된다. 제1 가상 객체에 대응하는 하나 이상의 이미지는 제1 가상 객체가 제1 스냅 그리드 공간 내의 위치와 대응하는 공간 내의 지점에서 환경 내에 존재하는 것으로 인지되도록 렌더링 및 디스플레이될 수 있다.
도 5b는 증강 현실 환경 내의 스냅 그리드 공간을 식별하는 처리의 일 실시예를 보인 흐름도이다. 도 5b에서 설명하는 처리는 도 5a의 단계 510을 구현하는 처리의 일 예이다. 일 실시예에 있어서, 도 5b의 처리는 도 1의 모바일 장치(19)와 같은 모바일 장치에 의해 수행될 수 있다.
단계 542에서, 하나 이상의 가상 객체와 연관된 하나 이상의 객체 특성이 결정된다. 상기 하나 이상의 객체 특성은 가상 객체의 크기, 가상 객체의 차원수(예를 들면, 가상 객체가 2차원 객체인지 또는 3차원 객체인지), 및 가상 객체와 연관된 위치 스냅 지점(예를 들면, 가상 객체의 중심점 또는 증강 현실 환경 내에 가상 객체를 배치하기 위한 상기 가상 객체와 연관된 다른 기준점)에 관한 특성들을 포함할 수 있다.
단계 544에서, 2차원 그리드 공간과 연관된 제1 공간 파라미터 세트가 하나 이상의 객체 특성에 기초하여 결정된다. 제1 공간 파라미터 세트는 최소 면적, 최대 면적 및 차원 필요조건(예를 들면, 2차원 그리드 공간이 치수들 중의 하나에서 2미터보다 더 넓게 되는 것)을 특정할 수 있다. 단계 546에서, 3차원 그리드 공간과 연관된 제2 공간 파라미터 세트가 하나 이상의 객체 특성에 기초하여 결정된다. 제2 공간 파라미터 세트는 최소 면적, 최대 면적 및 차원 필요조건(예를 들면, 3차원 그리드 공간이 치수들 중의 하나에서 3미터보다 더 크게 되는 것)을 특정할 수 있다.
단계 548에서, 하나 이상의 2차원 그리드 공간이 제1 파라미터 세트에 기초하여 식별된다. 단계 550에서, 하나 이상의 3차원 그리드 공간이 제2 파라미터 세트에 기초하여 식별된다. 상기 하나 이상의 2차원 그리드 공간 및 상기 하나 이상의 3차원 그리드 공간은 증강 현실 환경과 연관된 3D 지도 및/또는 증강 현실 환경에서 검출된 현실 세계 객체와 연관된 3D 모델을 이용하여 식별될 수 있다.
단계 552에서, 하나 이상의 2차원 그리드 공간과 연관된 제1 공간 특성 세트가 결정된다. 상기 제1 공간 특성 세트는 식별된 그리드 공간의 크기를 포함할 수 있다. 단계 554에서, 하나 이상의 3차원 그리드 공간과 연관된 제2 공간 특성 세트가 결정된다. 상기 제2 공간 특성 세트는 식별된 그리드 공간의 크기를 포함할 수 있다. 단계 556에서, 하나 이상의 2차원 그리드 공간이 상기 제1 공간 특성 세트에 기초하여 우선순위화된다. 상기 하나 이상의 2차원 그리드 공간은 그들의 면적 및/또는 치수 크기에 기초하여 순서화될 수 있다. 단계 558에서, 하나 이상의 3차원 그리드 공간이 상기 제2 공간 특성 세트에 기초하여 우선순위화된다. 상기 하나 이상의 3차원 그리드 공간은 그들의 면적 및/또는 치수 크기에 기초하여 순서화될 수 있다.
단계 560에서, 상기 하나 이상의 2차원 공간의 제1 세트과 상기 하나 이상의 3차원 공간의 제2 세트가 출력된다. 일 실시예에 있어서, 상기 하나 이상의 2차원 공간의 제1 세트는 증강 현실 환경 내에서 최대 면적보다 더 작고 최소 면적보다 더 큰 면적을 가진 그리드 공간을 포함할 수 있다. 상기 하나 이상의 3차원 공간의 제2 세트는 증강 현실 환경 내에서 최대 체적보다 더 작고 최소 체적보다 더 큰 체적을 가진 그리드 공간을 포함할 수 있다.
도 5c는 가상 객체가 스냅 그리드 공간 내에 배치되는 것을 결정하는 처리의 일 실시예를 보인 흐름도이다. 도 5c에서 설명하는 처리는 도 5a의 단계 514를 구현하는 처리의 일 예이다. 일 실시예에 있어서, 도 5c의 처리는 도 1의 모바일 장치(19)와 같은 모바일 장치에 의해 수행될 수 있다.
단계 572에서, 제1 가상 객체가 증강 현실 환경에 배치하기 위해 선택된 것이 식별된다. 가상 객체는 만일 HMD의 최종 사용자가 가상 객체 이동 기능 또는 가상 객체 자르기 및 붙이기 기능과 같은 배치 이벤트를 트리거하는 제스처를 수행하면 배치를 위해 선택될 수 있다. 단계 573에서, 제1 가상 객체가 2차원 객체인지 3차원 객체인지가 결정된다. 만일 가상 객체가 2차원 객체가면 단계 574가 수행된다. 그렇지 않고 만일 제1 가상 객체가 3차원 객체가면 단계 577이 수행된다.
일 실시예에 있어서, 만일 제1 가상 객체가 2차원 가상 객체가면 2차원 스냅 그리드 공간만이 HMD의 최종 사용자에 식별 및/또는 하이라이트 처리될 수 있다. 만일 제1 가상 객체가 3차원 가상 객체가면 3차원 스냅 그리드 공간만이 HMD의 최종 사용자에 식별 및/또는 하이라이트 처리될 수 있다.
단계 574에서, 하나 이상의 2차원 스냅 그리드 공간이 증강 현실 환경 내에서 하이라이트 처리된다. 일부 경우에, 내부에 제1 가상 객체를 포함하거나 다른 방식으로 배치할 수 있는 2차원 스냅 그리드 공간만이 하이라이트 처리될 수 있다. 일 실시예에 있어서, 하나 이상의 2차원 스냅 그리드 공간 각각은 하나 이상의 2차원 스냅 그리드 공간 각각의 위에 하이라이팅 상자 및/또는 하이라이팅 색을 위치시킴으로써 하이라이트 처리될 수 있다. 일부 실시예에 있어서, 하나 이상의 2차원 스냅 그리드 공간의 서브세트는 제1 가상 객체가 상기 서브세트의 부근에 있거나 상기 서브세트과 중첩되는 경우에 하이라이트 처리될 수 있다. 상기 하이라이트 처리는 상기 하나 이상의 2차원 스냅 그리드 공간의 서브세트 위에 스냅 지점의 가상 와이어프레임 메쉬 또는 가상 포인트 그리드를 투사하는 것을 포함할 수 있다. 단계 575에서, 하나 이상의 2차원 스냅 그리드 공간의 제1 스냅 그리드 공간과 제1 가상 객체의 중첩이 검출된다. 단계 576에서, 제1 스냅 그리드 공간이 출력된다. 제1 스냅 그리드는 HMD의 최종 사용자가 가상 객체 해제 제스처를 수행한 때 출력될 수 있다.
단계 577에서, 하나 이상의 3차원 스냅 그리드 공간이 증강 현실 환경 내에서 하이라이트 처리된다. 일부 경우에, 내부에 제1 가상 객체를 포함하거나 다른 방식으로 배치할 수 있는 3차원 스냅 그리드 공간만이 하이라이트 처리될 수 있다. 일 실시예에 있어서, 하나 이상의 3차원 스냅 그리드 공간 각각은 하나 이상의 3차원 스냅 그리드 공간 각각의 위에 하이라이팅 입방체 및/또는 하이라이팅 색을 위치시킴으로써 하이라이트 처리될 수 있다. 일부 실시예에 있어서, 하나 이상의 3차원 스냅 그리드 공간의 서브세트는 제1 가상 객체가 상기 서브세트의 부근에 있거나 상기 서브세트과 중첩되는 경우에 하이라이트 처리될 수 있다. 상기 하이라이트 처리는 상기 하나 이상의 3차원 스냅 그리드 공간의 서브세트 위에 스냅 지점의 가상 와이어프레임 메쉬 또는 가상 포인트 그리드를 투사하는 것을 포함할 수 있다. 단계 578에서, 하나 이상의 3차원 스냅 그리드 공간의 제1 스냅 그리드 공간과 제1 가상 객체의 중첩이 검출된다. 단계 579에서, 제1 스냅 그리드 공간이 출력된다. 제1 스냅 그리드는 HMD의 최종 사용자가 가상 객체 해제 제스처를 수행한 때 출력될 수 있다.
여기에서 설명하는 기술의 일 실시예는 하나 이상의 프로세서와 통신하는 시스루 디스플레이를 포함한다. 상기 하나 이상의 프로세서는 증강 현실 환경과 연관된 하나 이상의 가상 객체를 획득한다. 상기 하나 이상의 가상 객체는 제1 가상 객체를 포함한다. 상기 하나 이상의 프로세서는 증강 현실 환경 내의 하나 이상의 스냅 그리드 공간을 식별한다. 상기 하나 이상의 스냅 그리드 공간은 제1 스냅 그리드 공간을 포함한다. 상기 하나 이상의 프로세서는 상기 제1 가상 객체의 하나 이상의 특성에 기초하여 상기 제1 스냅 그리드 공간과 연관된 그리드 스페이싱을 결정하고, 상기 제1 가상 객체를 상기 그리드 스페이싱에 기초하여 상기 제1 스냅 그리드 공간 내의 위치에 지정한다. 시스루 디스플레이는 제1 가상 객체가 상기 제1 스냅 그리드 공간 내의 상기 위치에서 상기 증강 현실 환경 내에 존재하는 것으로 인지되도록 하나 이상의 이미지를 디스플레이한다.
여기에서 설명하는 기술의 일 실시예는 증강 현실 환경과 연관된 하나 이상의 가상 객체를 획득하는 단계를 포함한다. 상기 하나 이상의 가상 객체는 제1 가상 객체를 포함한다. 방법은 또한 증강 현실 환경 내의 하나 이상의 스냅 그리드 공간을 식별하는 단계를 포함한다. 상기 하나 이상의 스냅 그리드 공간은 제1 스냅 그리드 공간을 포함한다. 방법은 또한 상기 제1 가상 객체의 하나 이상의 특성에 기초하여 상기 제1 스냅 그리드 공간과 연관된 그리드 스페이싱을 결정하는 단계와, 상기 제1 가상 객체를 상기 그리드 스페이싱에 기초하여 상기 제1 스냅 그리드 공간 내의 위치에 지정하는 단계와, 상기 제1 스냅 그리드 공간 내의 상기 위치에서 상기 제1 가상 객체와 대응하는 하나 이상의 이미지를 렌더링하는 단계와, 상기 하나 이상의 이미지를 모바일 장치에서 디스플레이하는 단계를 포함한다.
여기에서 설명하는 기술의 일 실시예는 증강 현실 환경과 연관된 하나 이상의 가상 객체를 획득하는 단계를 포함한다. 상기 하나 이상의 가상 객체는 제1 가상 객체를 포함한다. 방법은 또한 상기 제1 가상 객체의 차원수를 결정하는 단계 및 상기 제1 가상 객체의 차원수에 기초하여 증강 현실 환경 내의 하나 이상의 스냅 그리드 공간을 식별하는 단계를 포함한다. 상기 하나 이상의 스냅 그리드 공간은 제1 스냅 그리드 공간을 포함한다. 방법은 또한 상기 제1 가상 객체의 하나 이상의 특성에 기초하여 상기 제1 스냅 그리드 공간과 연관된 그리드 스페이싱을 결정하는 단계와, 상기 제1 가상 객체를 상기 그리드 스페이싱에 기초하여 상기 제1 스냅 그리드 공간 내의 위치에 스냅하는 단계와, 상기 제1 스냅 그리드 공간 내의 상기 위치에서 상기 제1 가상 객체와 대응하는 하나 이상의 이미지를 렌더링하는 단계와, 상기 하나 이상의 이미지를 모바일 장치에서 디스플레이하는 단계를 포함한다.
도 6은 도 1의 모바일 장치(19)와 같은 모바일 장치(8300)의 일 실시예의 블록도이다. 모바일 장치는 랩톱 컴퓨터, 포켓 컴퓨터, 이동 전화기, HMD, 개인용 정보 단말기, 및 무선 수신기/송신기 기술에 의해 통합된 핸드헬드 미디어 장치를 포함할 수 있다.
모바일 장치(8300)는 하나 이상의 프로세서(8312) 및 메모리(8310)를 포함한다. 메모리(8310)는 애플리케이션(8330) 및 비휘발성 스토리지(8340)를 포함한다. 메모리(8310)는 비휘발성 및 휘발성 메모리를 포함한 임의의 다양한 메모리 스토리지 미디어 유형일 수 있다. 모바일 장치 운영체제는 모바일 장치(8300)의 상이한 동작을 취급하고 전화 호출, 텍스트 메시징, 음성메일 체크 등을 배치 및 수신하는 것과 같은 동작을 위한 사용자 인터페이스를 내포할 수 있다. 애플리케이션(8330)은 사진 및/또는 비디오용의 카메라 애플리케이션, 주소록, 캘린더 애플리케이션, 미디어 플레이어, 인터넷 브라우저, 게임, 알람 애플리케이션, 및 기타 애플리케이션과 같은 임의의 프로그램 분류일 수 있다. 메모리(8310)의 비휘발성 스토리지 컴포넌트(8340)는 음악, 사진, 접촉 데이터, 스케줄링 데이터 및 기타 파일과 같은 데이터를 저장할 수 있다.
하나 이상의 프로세서(8312)는 시스루 디스플레이(8309)와 통신한다. 시스루 디스플레이(8309)는 현실 세계 환경과 연관된 하나 이상의 가상 객체를 디스플레이할 수 있다. 하나 이상의 프로세서(8312)는 안테나(8302)에 연결된 RF 송신기/수신기(8306), 적외선 송신기/수신기(8308), 글로벌 위치확인 서비스(GPS) 수신기(8365), 및 가속도계 및/또는 자력계를 포함하는 움직임/배향 센서(8314)와 또한 통신한다. RF 송신기/수신기(8306)는 블루투스 또는 IEEE 802.11 표준과 같은 각종 무선 기술 표준을 통해 무선 통신을 가능하게 한다. 가속도계는 사용자가 제스처를 통해 명령을 입력하게 하는 인텔리전트 사용자 인터페이스 애플리케이션, 및 모바일 장치가 회전된 때 초상으로부터 풍경까지 디스플레이를 자동으로 변경할 수 있는 배향 애플리케이션과 같은 애플리케이션이 가능하도록 모바일 장치에 통합되었다. 가속도계는 예를 들면 반도체 칩에 구축된 작은 기계 장치(마이크로미터 치수의 것)인 마이크로 전기기계 시스템(MEMS)에 의해 제공될 수 있다. 가속도 방향뿐만 아니라 배향, 진동 및 충격이 감지될 수 있다. 하나 이상의 프로세서(8312)는 또한 신호기/진동기(8316), 사용자 인터페이스 키패드/스크린(8318), 스피커(8320), 마이크로폰(8322), 카메라(8324), 광센서(8326) 및 온도 센서(8328)와 통신한다. 사용자 인터페이스 키패드/스크린은 터치 감응 스크린 디스플레이를 포함할 수 있다.
하나 이상의 프로세서(8312)는 무선 신호의 송신 및 수신을 제어한다. 송신 모드 중에, 하나 이상의 프로세서(8312)는 마이크로폰(8322)으로부터의 음성 신호 또는 다른 데이터 신호를 RF 송신기/수신기(8306)에 제공한다. 송신기/수신기(8306)는 안테나(8302)를 통해 신호를 송신한다. 신호기/진동기(8316)는 유입 호출, 텍스트 메시지, 캘린더 리마인더, 알람 시계 리마인더 또는 다른 통지를 사용자에게 신호하기 위해 사용된다. 수신 모드 중에, RF 송신기/수신기(8306)는 안테나(8302)를 통해 원격 스테이션으로부터 음성 신호 또는 데이터 신호를 수신한다. 수신된 음성 신호는 스피커(8320)에 제공되는 한편, 다른 수신된 데이터 신호들이 적절히 처리된다.
추가로, 물리적 커넥터(8388)가 모바일 장치(8300)를 배터리(8304) 충전을 위해 AC 어댑터 또는 전력 도킹 스테이션과 같은 외부 전원에 접속하기 위해 사용될 수 있다. 물리적 커넥터(8388)는 외부 컴퓨팅 장치에 대한 데이터 접속으로서 또한 사용될 수 있다. 상기 데이터 접속에 의해 다른 장치의 컴퓨팅 데이터와 모바일 장치 데이터와의 동기화 등의 동작이 가능하다.
개시된 기술은 각종의 다른 범용 또는 특수 용도 컴퓨팅 시스템 환경 또는 구성과 함께 동작할 수 있다. 본 발명의 기술과 함께 사용하기에 적합한 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 비제한적인 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전술한 임의의 시스템 또는 장치를 포함한 분산형 컴퓨팅 환경 등이 있다.
개시된 기술은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 관계로 설명될 수 있다. 일반적으로, 여기에서 설명한 소프트웨어 및 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상적 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조, 및 다른 유형의 구조를 포함한다. 하드웨어 또는 하드웨어와 소프트웨어의 조합이 여기에서 설명한 소프트웨어 모듈을 대체할 수 있다.
개시된 기술은 태스크가 통신 네트워크를 통해 연결된 원격 처리 장치에 의해 수행되는 분산형 컴퓨팅 환경에서 또한 실시될 수 있다. 분산형 컴퓨팅 환경에 있어서, 프로그램 모듈은 메모리 스토리지 장치를 포함한 국지적 및 원격 컴퓨터 스토리지 매체 둘 다에 위치될 수 있다.
이 문서의 목적상, 개시된 기술과 관련된 각각의 처리는 연속적으로 및 하나 이상의 컴퓨팅 장치에 의해 수행될 수 있다. 처리에 있어서의 각 단계는 다른 단계에서 사용된 것과 동일한 컴퓨팅 장치 또는 다른 컴퓨팅 장치에 의해 수행될 수 있고, 각 단계는 반드시 단일 컴퓨팅 장치에 의해 수행될 필요가 없다.
이 문서의 목적상, 명세서에서 "실시예", "일 실시예", 일부 실시예", 또는 "다른 실시예"의 인용은 상이한 실시예를 설명하기 위해 사용될 수 있고, 반드시 동일 실시예를 인용하는 것이 아니다.
이 문서의 목적상, 접속은 직접 접속 또는 (예컨대 다른 부품을 경유하는) 간접 접속일 수 있다.
이 문서의 목적상, 용어 객체의 "설정"(set)은 하나 이상 객체의 "설정"을 의미할 수 있다.
비록 주제가 구조적 피쳐 및/또는 방법적 동작에 특유한 언어로 설명되어 있지만, 첨부된 특허 청구범위에서 규정되는 주제는 반드시 전술한 특유의 피쳐 또는 동작으로 제한되지 않는다는 것을 이해하여야 한다. 오히려, 전술한 특정 피쳐 및 동작들은 특허 청구범위를 구현하는 예시적인 형태로서 개시된다.

Claims (17)

  1. 증강 현실 환경을 생성시키기 위한 전자 장치로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 통신하는 시스루(see-through) 디스플레이
    를 포함하고,
    상기 하나 이상의 프로세서는 상기 증강 현실 환경 내에 배치되는(positioned) 복수의 가상 객체(virtual object)들을 결정하고, 상기 복수의 가상 객체들은 제1 가상 객체를 포함하며,
    상기 하나 이상의 프로세서는 상기 증강 현실 환경 내의 제1 스냅 그리드 공간(snap grid space)을 식별하고,
    상기 하나 이상의 프로세서는 상기 제1 가상 객체가 상기 복수의 가상 객체들 중 가장 작은 가상 객체라고 결정하고,
    상기 하나 이상의 프로세서는, 상기 제1 가상 객체가 상기 증강 현실 환경 내에 배치되는 상기 복수의 가상 객체들 중 가장 작은 가상 객체라고 결정하는 것에 응답하여, 상기 제1 가상 객체의 크기에 기초하여 상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱(grid spacing)을 자동으로 결정하고,
    상기 하나 이상의 프로세서는 상기 전자 장치의 최종 사용자(end user)에 의한 개입(intervention)없이 상기 그리드 스페이싱을 자동으로 결정하고, 상기 복수의 가상 객체들은 적어도 2개의 상이한 크기의 가상 객체들을 포함하고,
    상기 시스루 디스플레이는 상기 제1 가상 객체가 상기 제1 스냅 그리드 공간 내의 위치에서 상기 증강 현실 환경 내에 존재하는 것으로 인지(perceive)되도록, 하나 이상의 이미지를 디스플레이하는 것인 증강 현실 환경을 생성시키기 위한 전자 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서는 상기 제1 스냅 그리드 공간의 크기에 대한 제1 가상 객체의 크기에 기초하여 상기 그리드 스페이싱을 자동으로 결정하는 것인 증강 현실 환경을 생성시키기 위한 전자 장치.
  3. 제1항에 있어서,
    상기 하나 이상의 프로세서는 상기 제1 가상 객체의 차원수(dimensionality)를 결정하고, 상기 하나 이상의 프로세서는 상기 제1 가상 객체의 차원수에 기초하여 상기 증강 현실 환경 내의 상기 제1 스냅 그리드 공간을 식별하는 것인 증강 현실 환경을 생성시키기 위한 전자 장치.
  4. 제1항에 있어서,
    상기 제1 스냅 그리드 공간은 상기 증강 현실 환경 내의 3차원 공간을 포함하고, 상기 제1 가상 객체는 3차원 가상 객체를 포함하며, 상기 전자 장치는 머리 장착형 디스플레이 장치를 포함하는 것인 증강 현실 환경을 생성시키기 위한 전자 장치.
  5. 제1항에 있어서,
    상기 제1 스냅 그리드 공간은 상기 증강 현실 환경 내의 인간에 대해 배치된 방사상(radial) 스냅 그리드 공간을 포함하는 것인 증강 현실 환경을 생성시키기 위한 전자 장치.
  6. 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법에 있어서,
    상기 증강 현실 환경 내에 배치되는 복수의 가상 객체들 - 상기 복수의 가상 객체들은 제1 가상 객체를 포함함 - 을 결정하는 단계와,
    상기 증강 현실 환경 내의 제1 스냅 그리드 공간을 식별하는 단계와,
    상기 제1 가상 객체가 상기 복수의 가상 객체들 중 가장 작은 가상 객체라고 결정하는 단계와,
    상기 제1 가상 객체가 상기 복수의 가상 객체들 중 가장 작은 가상 객체라고 결정하는 것에 응답하여, 상기 제1 가상 객체의 크기에 기초하여 상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱을 자동으로 결정하는 단계 - 상기 복수의 가상 객체들은 적어도 2개의 상이한 크기의 가상 객체들을 포함함 - 와,
    상기 제1 가상 객체와 대응하는 하나 이상의 이미지를 상기 제1 스냅 그리드 공간 내의 위치에 렌더링하는 단계와,
    모바일 장치 상에 상기 하나 이상의 이미지를 디스플레이하는 단계
    를 포함하며,
    상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱을 자동으로 결정하는 단계는, 상기 모바일 장치의 최종 사용자에 의한 개입없이 상기 그리드 스페이싱을 자동으로 결정하는 단계를 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  7. 제6항에 있어서,
    상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱을 자동으로 결정하는 단계는, 상기 제1 스냅 그리드 공간의 크기에 대한 상기 제1 가상 객체의 크기에 기초하여 상기 그리드 스페이싱을 자동으로 결정하는 단계를 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  8. 제6항에 있어서,
    상기 제1 가상 객체의 차원수를 결정하는 단계를 더 포함하며,
    상기 증강 현실 환경 내의 제1 스냅 그리드 공간을 식별하는 단계는, 상기 제1 가상 객체의 차원수에 기초하여 상기 제1 스냅 그리드 공간을 식별하는 단계를 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  9. 제6항에 있어서,
    상기 제1 스냅 그리드 공간은 상기 증강 현실 환경 내의 2차원 공간을 포함하고, 상기 제1 가상 객체는 2차원 가상 객체를 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  10. 제6항에 있어서,
    상기 제1 스냅 그리드 공간은 상기 증강 현실 환경 내의 3차원 공간을 포함하고, 상기 제1 가상 객체는 3차원 가상 객체를 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  11. 제6항에 있어서,
    상기 하나 이상의 이미지를 렌더링하기 전에 상기 증강 현실 환경 내에 상기 제1 스냅 그리드 공간을 재배치하는(relocating) 단계를 더 포함하는 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  12. 제6항에 있어서,
    상기 하나 이상의 이미지를 렌더링하기 전에 상기 증강 현실 환경 내에 상기 제1 스냅 그리드 공간을 크기 조절하는(resizing) 단계를 더 포함하는 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  13. 제6항에 있어서,
    상기 제1 스냅 그리드 공간은 불균일한 분포의 스냅 그리드 점들을 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  14. 제6항에 있어서,
    상기 모바일 장치는 머리 장착형 디스플레이 장치를 포함하는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  15. 제6항에 있어서,
    상기 하나 이상의 이미지를 렌더링하는 단계는 상기 모바일 장치에 의해 수행되는 것인 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법.
  16. 증강 현실 환경 내에 가상 객체들을 배치하기 위한 방법을 수행하도록 하나 이상의 프로세서를 프로그래밍하기 위한 프로세서 판독 가능한 코드를 포함하는 하나 이상의 저장 장치(storage device)에 있어서, 상기 방법은,
    상기 증강 현실 환경 내에 배치되는 복수의 가상 객체들을 결정하는 단계 - 상기 복수의 가상 객체들은 제1 가상 객체를 포함함 - 와,
    상기 제1 가상 객체의 차원수를 결정하는 단계와,
    상기 제1 가상 객체의 차원수에 기초하여 상기 증강 현실 환경 내의 제1 스냅 그리드 공간을 식별하는 단계와,
    상기 제1 가상 객체가 상기 복수의 가상 객체들 중 가장 작은 가상 객체라고 결정하는 단계와,
    상기 제1 가상 객체가 상기 복수의 가상 객체들 중 가장 작은 가상 객체라고 결정하는 것에 응답하여, 상기 제1 가상 객체의 크기에 기초하여 상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱을 자동으로 결정하는 단계 - 상기 복수의 가상 객체들은 적어도 2개의 상이한 크기의 가상 객체들을 포함함 - 와,
    상기 제1 가상 객체와 대응하는 하나 이상의 이미지를 상기 제1 스냅 그리드 공간 내의 위치에 렌더링하는 단계와,
    모바일 장치 상에 상기 하나 이상의 이미지를 디스플레이하는 단계
    를 포함하며,
    상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱을 자동으로 결정하는 단계는, 상기 모바일 장치의 최종 사용자에 의한 개입없이 상기 그리드 스페이싱을 자동으로 결정하는 단계를 포함하는 것인 하나 이상의 저장 장치.
  17. 제16항에 있어서,
    상기 제1 스냅 그리드 공간과 연관되는 그리드 스페이싱을 자동으로 결정하는 단계는, 상기 제1 스냅 그리드 공간의 크기에 대한 상기 제1 가상 객체의 크기에 기초하여 상기 그리드 스페이싱을 자동으로 결정하는 단계를 포함하는 것인 하나 이상의 저장 장치.
KR1020157032309A 2013-04-12 2014-04-09 홀로그램 스냅 그리드 KR102222974B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/862,347 US9245387B2 (en) 2013-04-12 2013-04-12 Holographic snap grid
US13/862,347 2013-04-12
PCT/US2014/033406 WO2014168995A1 (en) 2013-04-12 2014-04-09 Holographic snap grid

Publications (2)

Publication Number Publication Date
KR20150143659A KR20150143659A (ko) 2015-12-23
KR102222974B1 true KR102222974B1 (ko) 2021-03-03

Family

ID=50729837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157032309A KR102222974B1 (ko) 2013-04-12 2014-04-09 홀로그램 스냅 그리드

Country Status (5)

Country Link
US (1) US9245387B2 (ko)
EP (1) EP2984634B1 (ko)
KR (1) KR102222974B1 (ko)
CN (1) CN105378801B (ko)
WO (1) WO2014168995A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9952042B2 (en) 2013-07-12 2018-04-24 Magic Leap, Inc. Method and system for identifying a user location
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
JP6138566B2 (ja) * 2013-04-24 2017-05-31 川崎重工業株式会社 部品取付作業支援システムおよび部品取付方法
KR102249577B1 (ko) * 2013-05-30 2021-05-07 찰스 안소니 스미스 Hud 객체 설계 및 방법
GB201310360D0 (en) * 2013-06-11 2013-07-24 Sony Comp Entertainment Europe Head-Mountable apparatus and systems
WO2014204330A1 (en) * 2013-06-17 2014-12-24 3Divi Company Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
WO2015006784A2 (en) 2013-07-12 2015-01-15 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US20150145887A1 (en) * 2013-11-25 2015-05-28 Qualcomm Incorporated Persistent head-mounted content display
US10007329B1 (en) * 2014-02-11 2018-06-26 Leap Motion, Inc. Drift cancelation for portable object detection and tracking
US10007350B1 (en) 2014-06-26 2018-06-26 Leap Motion, Inc. Integrated gestural interaction and multi-user collaboration in immersive virtual reality environments
US9728010B2 (en) * 2014-12-30 2017-08-08 Microsoft Technology Licensing, Llc Virtual representations of real-world objects
US9520002B1 (en) 2015-06-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual place-located anchor
US10318225B2 (en) 2015-09-01 2019-06-11 Microsoft Technology Licensing, Llc Holographic augmented authoring
US20170084084A1 (en) * 2015-09-22 2017-03-23 Thrillbox, Inc Mapping of user interaction within a virtual reality environment
US10089681B2 (en) 2015-12-04 2018-10-02 Nimbus Visulization, Inc. Augmented reality commercial platform and method
US10304247B2 (en) 2015-12-09 2019-05-28 Microsoft Technology Licensing, Llc Third party holographic portal
US10083539B2 (en) * 2016-02-08 2018-09-25 Google Llc Control system for navigation in virtual reality environment
US10176641B2 (en) * 2016-03-21 2019-01-08 Microsoft Technology Licensing, Llc Displaying three-dimensional virtual objects based on field of view
US10373381B2 (en) * 2016-03-30 2019-08-06 Microsoft Technology Licensing, Llc Virtual object manipulation within physical environment
US10089071B2 (en) 2016-06-02 2018-10-02 Microsoft Technology Licensing, Llc Automatic audio attenuation on immersive display devices
AU2017311296A1 (en) 2016-08-11 2019-03-07 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
US10044925B2 (en) 2016-08-18 2018-08-07 Microsoft Technology Licensing, Llc Techniques for setting focus in mixed reality applications
US10311543B2 (en) 2016-10-27 2019-06-04 Microsoft Technology Licensing, Llc Virtual object movement
US10895950B2 (en) * 2016-12-09 2021-01-19 International Business Machines Corporation Method and system for generating a holographic image having simulated physical properties
US10244204B2 (en) 2017-03-22 2019-03-26 International Business Machines Corporation Dynamic projection of communication data
CN106980379B (zh) * 2017-03-30 2020-05-19 联想(北京)有限公司 一种显示方法及终端
US10692287B2 (en) * 2017-04-17 2020-06-23 Microsoft Technology Licensing, Llc Multi-step placement of virtual objects
US10817724B2 (en) 2017-05-01 2020-10-27 Microsoft Technology Licensing, Llc Real time object surface identification for augmented reality environments
US10325414B2 (en) 2017-05-08 2019-06-18 Microsoft Technology Licensing, Llc Application of edge effects to 3D virtual objects
US10311637B2 (en) * 2017-05-15 2019-06-04 International Business Machines Corporation Collaborative three-dimensional digital model construction
US10325409B2 (en) 2017-06-16 2019-06-18 Microsoft Technology Licensing, Llc Object holographic augmentation
EP3422145B1 (en) * 2017-06-28 2020-01-29 Nokia Technologies Oy Provision of virtual reality content
US10553031B2 (en) 2017-12-06 2020-02-04 Microsoft Technology Licensing, Llc Digital project file presentation
EP3502836A1 (en) * 2017-12-21 2019-06-26 Atos Information Technology GmbH Method for operating an augmented interactive reality system
WO2019147699A2 (en) * 2018-01-24 2019-08-01 Apple, Inc. Devices, methods, and graphical user interfaces for system-wide behavior for 3d models
DK201870347A1 (en) 2018-01-24 2019-10-08 Apple Inc. Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US11023093B2 (en) 2018-05-30 2021-06-01 Microsoft Technology Licensing, Llc Human-computer interface for computationally efficient placement and sizing of virtual objects in a three-dimensional representation of a real-world environment
US20190377487A1 (en) * 2018-06-07 2019-12-12 Magic Leap, Inc. Augmented reality scrollbar
US11030811B2 (en) 2018-10-15 2021-06-08 Orbit Technology Corporation Augmented reality enabled layout system and method
US10885715B2 (en) * 2019-01-14 2021-01-05 Microsoft Technology Licensing, Llc Interactive carry
US10767997B1 (en) 2019-02-25 2020-09-08 Qualcomm Incorporated Systems and methods for providing immersive extended reality experiences on moving platforms
US10929992B2 (en) 2019-03-29 2021-02-23 Wipro Limited Method and system for rendering augmented reality (AR) content for textureless objects
WO2020217326A1 (ja) * 2019-04-23 2020-10-29 マクセル株式会社 ヘッドマウントディスプレイ装置
US11055925B1 (en) * 2020-01-31 2021-07-06 Splunk Inc. Techniques for placement of extended reality objects relative to physical objects in an extended reality environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912700A (en) 1996-01-10 1999-06-15 Fox Sports Productions, Inc. System for enhancing the television presentation of an object at a sporting event
US6900779B1 (en) 2000-01-28 2005-05-31 Zheng Jason Geng Method and apparatus for an interactive volumetric three dimensional display
US7324085B2 (en) 2002-01-25 2008-01-29 Autodesk, Inc. Techniques for pointing to locations within a volumetric display
US7401920B1 (en) 2003-05-20 2008-07-22 Elbit Systems Ltd. Head mounted eye tracking and display system
WO2005010623A2 (en) 2003-07-24 2005-02-03 Zebra Imaging, Inc. Enhanced environment visualization using holographic stereograms
US20050068290A1 (en) * 2003-09-28 2005-03-31 Denny Jaeger Method for creating and using user-friendly grids
TWI278772B (en) * 2005-02-23 2007-04-11 Nat Applied Res Lab Nat Ce Augmented reality system and method with mobile and interactive function for multiple users
US7188322B2 (en) * 2005-02-25 2007-03-06 International Business Machines Corporation Circuit layout methodology using a shape processing application
DE102007023738A1 (de) 2007-05-16 2009-01-08 Seereal Technologies S.A. Verfahren und Einrichtung zum Rekonstruieren einer dreidimensionalen Szene in einem holographischen Display
US20080288220A1 (en) 2007-05-17 2008-11-20 Dillenberger Donna N Use of a three-dimensional (3d) data center to share service operations
US8500284B2 (en) * 2008-07-10 2013-08-06 Real View Imaging Ltd. Broad viewing angle displays and user interfaces
US9400597B2 (en) * 2008-07-23 2016-07-26 Microsoft Technology Licensing, Llc Presenting dynamic grids
GB2463104A (en) * 2008-09-05 2010-03-10 Skype Ltd Thumbnail selection of telephone contact using zooming
US8411107B2 (en) 2009-08-18 2013-04-02 Autodesk, Inc. Adaptive snapping
DE102009049073A1 (de) * 2009-10-12 2011-04-21 Metaio Gmbh Verfahren zur Darstellung von virtueller Information in einer Ansicht einer realen Umgebung
JP5525401B2 (ja) * 2010-09-29 2014-06-18 新日鉄住金ソリューションズ株式会社 拡張現実感提示装置、情報処理システム、拡張現実感提示方法及びプログラム
KR101266198B1 (ko) * 2010-10-19 2013-05-21 주식회사 팬택 증강현실 객체정보의 가시성을 높이는 디스플레이 장치 및 디스플레이 방법
US10972680B2 (en) * 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
JP5724543B2 (ja) * 2011-03-31 2015-05-27 ソニー株式会社 端末装置、オブジェクト制御方法及びプログラム
KR20120125938A (ko) * 2011-05-09 2012-11-19 에릭슨 엘지 주식회사 가상현실 구현 방법 및 그를 위한 이동통신 시스템
US20130005443A1 (en) * 2011-07-01 2013-01-03 3G Studios, Inc. Automated facial detection and eye tracking techniques implemented in commercial and consumer environments
US9342610B2 (en) * 2011-08-25 2016-05-17 Microsoft Technology Licensing, Llc Portals: registered objects as virtualized, personalized displays

Also Published As

Publication number Publication date
EP2984634B1 (en) 2017-10-25
US20140306993A1 (en) 2014-10-16
CN105378801B (zh) 2018-09-11
US9245387B2 (en) 2016-01-26
EP2984634A1 (en) 2016-02-17
KR20150143659A (ko) 2015-12-23
CN105378801A (zh) 2016-03-02
WO2014168995A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
KR102222974B1 (ko) 홀로그램 스냅 그리드
KR102194164B1 (ko) 홀로그램 객체 피드백
US9728010B2 (en) Virtual representations of real-world objects
CN107209386B (zh) 增强现实视野对象跟随器
EP3531274B1 (en) Management of content in a 3d holographic environment
EP2984541B1 (en) Near-plane segmentation using pulsed light source
US9390561B2 (en) Personal holographic billboard
US20170103582A1 (en) Touch and social cues as inputs into a computer
KR20160148557A (ko) 월드 락 디스플레이의 품질 피드백 기법
US10163049B2 (en) Inconspicuous tag for generating augmented reality experiences
US20130174213A1 (en) Implicit sharing and privacy control through physical behaviors using sensor-rich devices
US10685485B2 (en) Navigation in augmented reality environment
US10315371B2 (en) Multiphase optical grating

Legal Events

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