KR20210053980A - 그리드 광 패턴들을 사용한 깊이 감지 - Google Patents

그리드 광 패턴들을 사용한 깊이 감지 Download PDF

Info

Publication number
KR20210053980A
KR20210053980A KR1020217010129A KR20217010129A KR20210053980A KR 20210053980 A KR20210053980 A KR 20210053980A KR 1020217010129 A KR1020217010129 A KR 1020217010129A KR 20217010129 A KR20217010129 A KR 20217010129A KR 20210053980 A KR20210053980 A KR 20210053980A
Authority
KR
South Korea
Prior art keywords
projected
reflected
junction
pattern
detected
Prior art date
Application number
KR1020217010129A
Other languages
English (en)
Inventor
나다브 그로싱거
리카도 가르시아
로버트 하스분
니브 캔터
니타이 로마노
Original Assignee
페이스북 테크놀로지스, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 페이스북 테크놀로지스, 엘엘씨 filed Critical 페이스북 테크놀로지스, 엘엘씨
Publication of KR20210053980A publication Critical patent/KR20210053980A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/557Depth or shape recovery from multiple images from light fields, e.g. from plenoptic cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/168Segmentation; Edge detection involving transform domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Analysis (AREA)

Abstract

하나의 실시예에서, 시스템은 하나 이상의 제 1 투영된 조명 특성들을 가지는 제 1 투영된 패턴을 투영하도록 구성된 제 1 프로젝터, 하나 이상의 제 2 투영된 조명 특성들을 가지는 제 2 투영된 패턴을 투영하도록 구성된 제 2 프로젝터, 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는 제 1 및 제 2 검출된 패턴들을 포함하는 이미지를 캡쳐하도록 구성된 카메라, 및 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은: 제 1 및 제 2 검출된 패턴들의 검출된 조명 특성들을 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 및 제 2 투영된 패턴들 중 적어도 하나의 투영된 지점에 대응하는 이미지에서 검출된 지점을 식별하고, 투영된 지점, 검출된 지점, 및 카메라와 프로젝터들 중 적어도 하나 사이의 상대 위치에 기초하여 검출된 지점과 연관된 깊이를 계산하도록 구성된다.

Description

그리드 광 패턴들을 사용한 깊이 감지
본 발명은 일반적으로 구조화된 광에 관한 것이고, 특히 구조화된 광 패턴들을 사용하여 깊이를 결정하기 위한 시스템들 및 방법들에 관한 것이다.
증강 현실(AR) 시스템들은 사용자들에게 향상된 경험을 제공하기 위해 감각 효과들로 실세계 환경을 증강할 수 있다. AR 시스템들은 카메라들 및 헤드 마운티드 디스플레이들과 같은 디바이스들을 사용하여 가상 물체들을 실세계 환경과 통합할 수 있다. AR 시스템의 구성요소들(예컨대, 헤드 마운티드 디스플레이)은 호스트 컴퓨터 시스템, 모바일 디바이스 또는 컴퓨팅 시스템, 또는 AR 콘텐트를 한 명 이상의 사용자들에게 제공할 수 있는 임의의 다른 하드웨어 플랫폼과 연결하고/거나 그것으로 네트워크화될 수 있다.
AR 시스템들의 하나의 도전은 실세계 환경에서 물리적 물체들의 위치들을 정확하게 결정하여 가상 물체들이 디스플레이될 수 있고 물리적 및 가상 물체들의 위치들에 기초하여 사용자들에게 촉각 피드백이 제공될 수 있게 하는 것이다. 깊이 감지는 물리적 물체들의 위치들을 결정하고 그에 의해, 실세계 환경의 매핑을 제공하기 위해 AR 시스템들에서 구현될 수 있다. 카메라와 같은 센서로부터 장면의 물체들까지의 거리들은 장면에 광 패턴들을 투영하는 것을 수반하는 구조화된 광 스캐닝을 사용하여 결정될 수 있다. 센서는 패턴들의 반사들을 캡쳐하기 위해 사용될 수 있으며, 반사들을 분석함으로써 물체들까지의 거리들이 결정될 수 있다. 반사들은 장면의 물체들의 형상들에 의해 왜곡될 수 있으며, 센서에 의해 검출된 패턴들의 왜곡들에 기초하여 장면의 물체들의 표면들에 있는 지점들까지의 거리들이 산출될 수 있다. 산출된 거리들은 장면에서 물체들의 3차원 표면들을 표현하기 위해 장면의 이미지의 각각의 픽셀과 거리를 연관시킬 수 있는 깊이 맵을 구성하기 위해 사용될 수 있다. 깊이 맵들은 AR 애플리케이션들에서 사용될 수 있으며 휴대폰들, AR 안경들, AR 헤드셋들, 등과 같은, 광 프로젝터들 및 카메라들을 가지는 디바이스들에 의해 생성될 수 있다.
본 발명은 일반적으로 구조화된 광에 관한 것으로, 특히 구조화된 광 패턴들을 사용하여 깊이를 결정하기 위한 시스템들 및 방법들에 관한 향상된 구성을 제공하고자 하는 것이다.
본 명세서에서 설명된 특정한 실시예들은 구조화된 광을 사용한 깊이 감지에 관한 것이다. 다양한 실시예들에서, 깊이 감지 시스템은 하나 이상의 프로젝터들 및 검출기를 포함할 수 있다. 프로젝터들은 알려진 패턴들의 구조화된 광을 환경으로 방출할 수 있으며 검출기는 환경의 물체들로부터의 방출된 광의 반사들을 검출할 수 있다. 반사들은 환경 내의 물체들에 대한 깊이 정보를 계산하기 위해 사용될 수 있다. 예를 들면, 방출된 광 및 검출된 반사된 광을 삼각 측량함으로써 환경에 있는 물체들의 3차원 피쳐(feature)들을 표현하는 깊이 맵이 생성될 수 있다.
하나의 실시예에서, 2개의 프로젝터들 및 하나의 카메라를 가지는 깊이 감지 시스템은 그리드 광 패턴들을 환경에 투영하고 그리드 광 패턴들의 반사들에 기초하여 환경에서 물체들의 위치들을 산출할 수 있다. 그리드 광 패턴들은 특정한 조명 강도 또는 라인 피치와 같은, 하나 이상의 투영된 조명 특성들을 가질 수 있고, 카메라는 검출된 패턴들을 포함하는 이미지를 캡쳐할 수 있다. 시스템은 검출된 패턴들의 검출된 조명 특성들과 투영된 조명 특성들을 비교함으로써 투영된 패턴들 중 적어도 하나의 투영된 지점에 대응하는 이미지에서 검출된 지점을 식별하고, 투영된 지점, 검출된 지점, 및 카메라와 프로젝터들 중 적어도 하나 사이의 상대 위치에 기초하여 검출된 지점과 연관된 깊이를 계산할 수 있다.
본 발명의 실시예들은 인공 현실 시스템을 포함하거나 그와 결부하여 구현될 수 있다. 인공 현실은 예컨대, 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR), 하이브리드 현실, 또는 그들의 일부 조합 및/또는 파생물들을 포함할 수 있는, 사용자에게 제공되기 전에 일부 방식으로 조정된 현실의 일 형태이다. 인공 현실 콘텐트는 캡쳐된 콘텐트(예컨대, 실세계 사진들)와 조합된 생성된 콘텐트 또는 완전히 생성된 콘텐트를 포함할 수 있다. 인공 현실 콘텐트는 비디오, 오디오, 햅틱 피드백, 또는 그들의 일부 조합을 포함할 수 있으며, 그들 중 임의의 것은 단일 채널로 또는 다수의 채널들(예컨대, 뷰어에게 3차원 효과를 생성하는 스테레오 비디오와 같음)로 제공될 수 있다. 부가적으로, 일부 실시예들에서, 인공 현실은 예컨대, 인공 현실에서 콘텐트를 생성하기 위해 사용되고/거나 인공 현실에서 사용되는(예컨대, 인공 현실에서 활동들을 수행하는) 애플리케이션들, 제품들, 액세서리들, 서비스들, 또는 그들의 일부 조합과 연관될 수 있다. 인공 현실 콘텐트를 제공하는 인공 현실 시스템은 호스트 컴퓨터 시스템에 연결된 헤드 마운티드 디스플레이(HMD), 독립형 HMD, 모바일 디바이스 또는 컴퓨팅 시스템, 또는 인공 현실 콘텐트를 한명 이상의 뷰어들에게 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함하는 다양한 플랫폼들에서 구현될 수 있다.
본 명세서에 개시된 실시예들은 단지 예들이고, 본 발명의 범위는 그들로 제한되지 않는다. 특정한 실시예들은 상기 개시된 실시예들의 구성요소들, 요소들, 피쳐들, 기능들, 동작들, 또는 단계들의 전부, 일부를 포함할 수 있거나, 그들 중 어느 것도 포함할 수 없다. 본 발명에 따른 실시예들은 특히, 시스템, 저장 매체, 및 방법에 관한 첨부된 청구항들에 개시되고, 하나의 청구항 범주 예컨대, 시스템에 언급된 임의의 피쳐는 또 다른 청구항 범주 예컨대, 저장 매체, 방법, 및 컴퓨터 프로그램 제품에서 또한 청구될 수 있다. 첨부된 청구항들의 종속성들 또는 역 참조들은 단지 공식적인 이유들로 인해 선택된다. 그러나, 임의의 이전 청구항들(특히 다중 종속성들)에 대한 고의적인 역 참조로부터 발생하는 임의의 주제가 또한 청구될 수 있어서, 청구항들과 그들의 피쳐들의 임의의 조합이 개시되게 하고 첨부된 청구항들에서 선택된 종속성들에 관계없이 청구될 수 있게 한다. 청구될 수 있는 주제는 첨부된 청구항들에 제시된 바와 같이 피쳐들의 조합들 뿐만 아니라 청구항들의 피쳐들의 임의의 다른 조합을 포함하고, 청구항들에 언급된 각각의 피쳐는 청구항들의 임의의 다른 피쳐 또는 다른 피쳐들의 조합과 조합될 수 있다. 또한, 본 명세서에서 설명되거나 묘사된 실시예들 및 피쳐들 중 임의의 것은 별개의 청구항에서 및/또는 본 명세서에서 설명되거나 묘사된 임의의 실시예 또는 피쳐와 또는 첨부된 청구항들의 피쳐들 중 임의의 것과의 임의의 조합으로 청구될 수 있다.
일 실시예에서, 시스템은:
하나 이상의 제 1 투영된 조명 특성들을 가지는 제 1 투영된 패턴을 투영하도록 구성된 제 1 프로젝터;
하나 이상의 제 2 투영된 조명 특성들을 가지는 제 2 투영된 패턴을 투영하도록 구성된 제 2 프로젝터로서, 제 1 투영된 패턴은 제 2 투영된 패턴과 교차하는, 상기 제 2 프로젝터;
제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는 제 1 및 제 2 검출된 패턴들을 포함하는 이미지를 캡쳐하도록 구성된 카메라로서, 제 1 프로젝터로부터의 제 1 베이스라인 거리 및 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치되는, 상기 카메라; 및
하나 이상의 프로세서들을 포함할 수 있고, 하나 이상의 프로세서들은:
제 1 및 제 2 검출된 패턴들의 검출된 조명 특성들을 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 및 제 2 투영된 패턴들 중 적어도 하나의 투영된 지점에 대응하는 이미지에서 검출된 지점을 식별하고;
투영된 지점, 검출된 지점, 및 카메라와 제 1 및 제 2 프로젝터들 중 적어도 하나 사이의 상대 위치에 기초하여 검출된 지점과 연관된 깊이를 계산하도록, 구성된다.
제 1 투영된 패턴은 복수의 제 1 투영된 라인들을 포함할 수 있고, 제 2 투영된 패턴은 복수의 제 2 투영된 라인들을 포함할 수 있으며,
검출된 조명 특성들은 복수의 제 1 반사된 라인들 및 제 1 반사된 라인들과 교차하는 복수의 제 2 반사된 라인들을 포함할 수 있고, 제 1 및 제 2 반사된 라인들은 물체의 표면으로부터의 제 1 및 제 2 투영된 라인들의 반사들에 기초할 수 있다.
제 1 및 제 2 투영된 패턴들 중 하나 이상의 투영된 지점에 대응하는 이미지에서 검출된 지점을 식별하기 위해, 프로세서들은:
제 1 반사된 라인들 중 하나가 제 2 반사된 라인들 중 하나와 교차하는 반사된 접합점(reflected junction)을 식별하는 것으로서, 반사된 접합점은 하나 이상의 반사된 접합점 특성들과 연관되는, 상기 반사된 접합점을 식별하고;
반사된 접합점에 대응하는 투영된 접합점(projected junction)을 식별하도록 구성될 수 있고, 투영된 접합점은 제 1 투영된 라인들 중 하나와 제 2 투영된 라인들 중 하나의 교차 지점에 있고, 투영된 접합점은 (1) 제 1 투영된 패턴과 연관된 하나 이상의 제 1 투영된 조명 특성들 및 (2) 제 2 투영된 패턴과 연관된 하나 이상의 제 2 투영된 조명 특성들에 기초하여 결정된 하나 이상의 투영된 접합점 특성들과 연관되고, 투영된 접합점 특성들 중 하나 이상은 반사된 접합점 특성들 중 하나 이상과 매칭한다.
검출된 지점에 대한 깊이를 계산하기 위해, 프로세서들은 삼각 측량을 사용하여, 카메라, 프로젝터들 중 적어도 하나, 반사된 접합점, 및 반사된 접합점에 대응하는 투영된 접합점에 기초하여 반사된 접합점과 연관된 깊이를 결정하도록 구성될 수 있다.
투영된 접합점의 투영된 접합점 특성들 중 적어도 하나는 반사된 접합점 특성의 값이:
투영된 접합점 특성의 값과 같거나,
투영된 접합점 특성의 값이 임계 특성 값 미만만큼 상이할 때, 반사된 접합점 특성들 중 적어도 하나와 매칭할 수 있다.
임계 특성 값은 미리 결정된 값 또는 투영된 접합점 특성의 값의 퍼센티지를 포함할 수 있다.
투영된 접합점 특성들 및 반사된 접합점 특성들 각각은 광 강도를 포함할 수 있다.
투영된 접합점의 투영된 접합점 특성들 중 적어도 하나는:
(1) 제 1 반사된 라인들 중 적어도 하나의 광 강도가 제 1 투영된 라인들 중 적어도 하나의 광 강도에 대응하거나,
(2) 제 2 반사된 라인들 중 적어도 하나의 광 강도가 제 2 투영된 라인들 중 적어도 하나의 광 강도에 대응할 때, 반사된 접합점 특성들 중 적어도 하나와 매칭할 수 있다.
투영된 접합점 특성들 및 반사된 접합점 특성들 각각은 라인들 사이의 거리를 포함할 수 있다.
투영된 접합점 특성들 중 적어도 하나는:
(1) 제 1 반사된 라인과 제 1 반사된 라인들 중 또 다른 하나 사이의 거리가 제 1 투영된 라인과 다른 제 1 반사된 라인에 대응하는 제 1 투영된 라인들 중 또 다른 하나 사이의 거리에 대응하거나,
(2) 제 2 반사된 라인과 제 2 반사된 라인들 중 또 다른 하나 사이의 거리가 제 2 투영된 라인과 다른 제 2 반사된 라인에 대응하는 제 2 투영된 라인들 중 또 다른 하나 사이의 거리에 대응할 때, 반사된 접합점 특성들 중 적어도 하나와 매칭할 수 있다.
반사된 접합점 특성들은 제 1 반사된 라인들 중 하나와 연관된 하나 이상의 제 1 반사된 라인 특성들을 포함할 수 있고,
제 1 투영된 조명 특성들 중 하나 이상은 제 1 투영된 라인들 중 하나와 연관될 수 있고,
투영된 접합점 특성들 중 적어도 하나는 제 1 투영된 라인들 중 하나와 연관된 제 1 투영된 조명 특성들 중 하나 이상이 제 1 반사된 라인 특성들 중 하나 이상과 매칭할 때 반사된 접합점 특성들 중 적어도 하나와 매칭할 수 있다.
반사된 접합점 특성들은 제 2 반사된 라인들 중 하나와 연관된 하나 이상의 제 2 반사된 라인 특성들을 포함할 수 있고,
제 2 투영된 조명 특성들 중 하나 이상은 제 2 투영된 라인과 연관될 수 있고,
투영된 접합점 특성들 중 적어도 하나는 제 2 투영된 라인과 연관된 제 2 투영된 조명 특성들 중 하나 이상이 제 2 반사된 라인 특성들 중 하나 이상과 매칭할 때 반사된 접합점 특성들 중 적어도 하나와 매칭할 수 있다.
프로세서들은:
디바이스 또는 물체의 이동을 검출하고;
이동을 검출하는 것에 응답하여, 반사된 접합점의 새로운 위치를 식별하는 것으로서, 반사된 접합점의 새로운 위치는 반사된 접합점의 이전 위치와 교차하는 공액 라인(epipolar line)에 또는 그 근처에 있는, 상기 반사된 접합점의 새로운 위치를 식별하고;
삼각 측량을 사용하여, 카메라, 프로젝터들 중 적어도 하나, 투영된 접합점의 위치, 및 반사된 접합점의 새로운 위치에 기초하여 반사된 접합점의 새로운 위치와 연관된 깊이를 결정하도록, 구성될 수 있다.
반사된 접합점은 반사된 접합점이 공액 라인의 임계 거리 내에 위치될 때 공액 라인에 또는 그 근처에 있을 수 있다.
프로세서들은:
반사된 접합점 특성들을 반사된 접합점에 인접하는 하나 이상의 반사된 접합점들로 전파하도록 구성될 수 있다.
신뢰 값은 투영된 접합점과 반사된 접합점 사이의 식별된 대응과 연관될 수 있고, 신뢰 값은 투영된 접합점 특성들 중 얼마나 많은 것이 반사된 접합점 특성들 중 하나 이상과 매칭하는지에 기초할 수 있다.
프로세서들은:
특정한 방향으로 투영된 접합점에 인접하는 인접한 투영된 접합점을 식별하고;
인접한 투영된 접합점의 아이덴티티(identity)를 특정한 방향으로 반사된 접합점에 인접하는 인접한 반사된 접합점으로 전파하도록, 구성될 수 있다.
인접한 투영된 접합점의 아이덴티티 및 신뢰 값은 신뢰 값이 임계 신뢰 조건을 만족할 때 인접한 반사된 접합점으로 전파될 수 있다.
일 실시예에서, 하나 이상의 컴퓨터 판독가능한 비 일시적 저장 매체들은 실행될 때:
이미지에서 검출된 지점을 식별하는 것으로서, 검출된 지점은 제 1 및 제 2 검출된 패턴들의 하나 이상의 검출된 조명 특성들을 하나 이상의 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 투영된 패턴 및 제 2 투영된 패턴 중 적어도 하나의 투영된 지점에 대응하고,
카메라는 이미지를 캡쳐하도록 구성되고, 이미지는 제 1 및 제 2 검출된 패턴들을 포함하고, 제 1 및 제 2 검출된 패턴들은 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는, 상기 검출된 지점을 식별하고;
투영된 지점, 검출된 지점, 및 카메라와 제 1 프로젝터 및 제 2 프로젝터 중 적어도 하나 사이의 상대 위치에 기초하여 검출된 지점과 연관된 깊이를 계산하도록; 동작가능한 소프트웨어를 구현할 수 있고,
제 1 프로젝터는 제 1 투영된 패턴을 투영하도록 구성되고, 제 1 투영된 패턴은 제 1 투영된 조명 특성들을 갖고,
제 2 프로젝터는 제 2 투영된 패턴을 투영하도록 구성되고, 제 2 투영된 패턴은 제 2 투영된 조명 특성들을 갖고, 제 1 투영된 패턴은 제 2 투영된 패턴과 교차하고,
카메라는 제 1 프로젝터로부터의 제 1 베이스라인 거리 및 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치된다.
일 실시예에서, 방법은:
컴퓨팅 디바이스에 의해, 이미지에서 검출된 지점을 식별하는 단계로서, 검출된 지점은 제 1 및 제 2 검출된 패턴들의 하나 이상의 검출된 조명 특성들을 하나 이상의 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 투영된 패턴 및 제 2 투영된 패턴 중 적어도 하나의 투영된 지점에 대응하고,
카메라는 이미지를 캡쳐하도록 구성되고, 이미지는 제 1 및 제 2 검출된 패턴들을 포함하고, 제 1 및 제 2 검출된 패턴들은 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는, 상기 검출된 지점을 식별하는 단계; 및
컴퓨팅 디바이스에 의해, 투영된 지점, 검출된 지점, 및 카메라와 제 1 프로젝터 및 제 2 프로젝터 중 적어도 하나 사이의 상대 위치에 기초하여 검출된 지점과 연관된 깊이를 계산하는 단계를 포함할 수 있고,
제 1 프로젝터는 제 1 투영된 패턴을 투영하도록 구성되고, 제 1 투영된 패턴은 제 1 투영된 조명 특성들을 갖고,
제 2 프로젝터는 제 2 투영된 패턴을 투영하도록 구성되고, 제 2 투영된 패턴은 제 2 투영된 조명 특성들을 갖고, 제 1 투영된 패턴은 제 2 투영된 패턴과 교차하고,
카메라는 제 1 프로젝터로부터의 제 1 베이스라인 거리 및 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치된다.
본 발명의 또 다른 실시예에서, 하나 이상의 컴퓨터 판독가능한 비 일시적 저장 매체들은 실행될 때 본 발명 또는 상기 언급된 실시예들 중 임의의 실시예에 따른 시스템에서 수행하도록 동작가능한 소프트웨어를 구현한다.
본 발명의 또 다른 실시예에서, 컴퓨터 구현 방법은 본 발명 또는 상기 언급된 실시예들 중 임의의 실시예에 따른 시스템을 사용한다.
본 발명의 또 다른 실시예에서, 컴퓨터 판독가능한 비 일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품은 바람직하게, 본 발명 또는 상기 언급된 실시예들 중 임의의 실시예에 따른 시스템에서 사용된다.
도 1은 컴퓨팅 시스템과 연관된 일 예시적인 네트워크 환경을 도시한 도면.
도 2a는 삼각 측량 계산의 일례를 도시한 도면.
도 2b는 2개의 프로젝터들을 사용하는 삼각 측량 계산의 예를 도시한 도면.
도 3은 프로젝터의 일례를 도시한 도면.
도 4a는 일 예시적인 검출 이벤트를 도시한 도면.
도 4b는 표면 이상의 일 예시적인 검출 이벤트를 도시한 도면.
도 5는 일 예시적인 헤드 마운티드 디스플레이를 도시한 도면.
도 6은 다양한 라인 피치를 가지는 예시적인 그리드 광 패턴들을 도시한 도면.
도 7은 다양한 라인 강도들을 가지는 예시적인 그리드 광 패턴들을 도시한 도면.
도 8은 다양한 라인 패턴들을 가지는 예시적인 그리드 광 패턴들을 도시한 도면.
도 9는 대응하는 공액 라인 및 그리드 광 패턴의 이동을 도시한 도면.
도 10은 그리드 광 패턴들을 사용하여 깊이를 결정하기 위한 일 예시적인 방법을 도시한 도면.
도 11은 예시적인 시간적 조명 패턴들을 도시한 도면.
도 12는 시간적 패턴들을 사용하여 깊이를 결정하기 위한 일 예시적인 방법을 도시한 도면.
도 13a는 상이한 거리들로부터 깊이를 결정하기 위한 조명기의 예시적인 조명 패턴들을 도시한 도면.
도 13b는 상이한 거리들로부터 뷰잉된 예시적인 가우시안 광 패턴들을 도시한 도면.
도 13c는 상이한 거리들로부터 뷰잉된 예시적인 투영된 패턴들을 도시한 도면.
도 13d 및 도 13e는 상이한 거리들로부터 깊이를 결정하기 위한 2차원 조명기의 예시적인 조명 패턴들을 도시한 도면들.
도 14는 상이한 거리들로부터 깊이를 결정하기 위한 조명기의 하나 이상의 발광기들을 활성화하거나 비활성화하기 위한 일 예시적인 방법을 도시한 도면.
도 15는 전력 소비를 감소시키기 위해 그리드 광 패턴 밀도를 감소시키는 일례를 도시한 도면.
도 16은 그리드 광 패턴 밀도를 감소시키기 위한 일 예시적인 방법을 도시한 도면.
도 17은 전력 소비를 감소시키기 위해 그리드 광 패턴을 부분들로 분할하는 일례를 도시한 도면.
도 18은 그리드 광 패턴을 상이한 시간들에서 투영될 부분들로 분할하기 위한 일 예시적인 방법을 도시한 도면.
도 19는 일 예시적인 컴퓨터 시스템을 도시한 도면.
도 1은 컴퓨팅 시스템(160)과 연관된 일 예시적인 네트워크 환경(100)을 도시한다. 네트워크 환경(100)은 사용자(101), 클라이언트 시스템(130)(예컨대, 헤드 마운티드 디스플레이), 컴퓨팅 시스템(160), 및 네트워크(110)에 의해 서로 연결된 제 3 자 시스템(170)을 포함한다. 도 1이 사용자(101), 클라이언트 시스템(130), 컴퓨팅 시스템(160), 제 3 자 시스템(170), 및 네트워크(110)의 특정한 배열을 도시할지라도, 본 발명은 사용자(101), 클라이언트 시스템(130), 컴퓨팅 시스템(160), 제 3 자 시스템(170), 및 네트워크(110)의 임의의 적합한 배열을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(130), 컴퓨팅 시스템(160), 및 제 3 자 시스템(170) 중 2개 이상은 네트워크(110)를 우회하여 서로 직접적으로 연결될 수 있다. 또 다른 예로서, 클라이언트 시스템(130), 컴퓨팅 시스템(160), 및 제 3 자 시스템(170) 중 2개 이상은 물리적으로 또는 논리적으로, 전체적으로 또는 부분적으로 서로 같은 장소에 위치될 수 있다. 게다가, 도 1이 특정한 수의 사용자들(101), 클라이언트 시스템들(130), 컴퓨팅 시스템들(160), 제 3 자 시스템들(170), 및 네트워크들(110)을 도시할지라도, 본 발명은 임의의 적합한 수의 사용자들(101), 클라이언트 시스템들(130), 컴퓨팅 시스템들(160), 제 3 자 시스템들(170), 및 네트워크들(110)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 네트워크 환경(100)은 다수의 사용자들(101), 클라이언트 시스템(130), 컴퓨팅 시스템들(160), 제 3 자 시스템들(170), 및 네트워크들(110)을 포함할 수 있다.
특정한 실시예들에서, 사용자(101)는 컴퓨팅 시스템(160)과 또는 그를 통해 상호작용하거나 통신하는 개인(예컨대, 인간 사용자)일 수 있다. 특정한 실시예들에서, 컴퓨팅 시스템(160)은 예를 들면, 그리고 제한 없이 시각 데이터, 오디오 데이터, 촉각 데이터, 등을 포함하는 인공 현실 환경을 생성하는 것과 관련된 데이터를 생성, 저장, 수신, 및 전송할 수 있다. 컴퓨팅 시스템(160)은 직접적으로 또는 네트워크(110)를 통해 네트워크 환경(100)의 다른 구성요소들에 의해 액세스될 수 있다. 특정한 실시예들에서, 제 3 자 시스템(170)은 구조화된 광 프로젝터들 및/또는 검출기들, 벽에 고정된 스피커 시스템, 모바일 센서 시스템, 햅틱 액추에이터, 등일 수 있다. 제 3 자 시스템(170)은 직접적으로 또는 네트워크(110)를 통해 네트워크 환경(100)의 다른 구성요소들에 의해 액세스될 수 있다. 특정한 실시예들에서, 헤드 마운티드 디스플레이와 같은 하나 이상의 클라이언트 시스템들(130)은 데이터에 액세스하고, 컴퓨팅 시스템(160) 및/또는 제 3 자 시스템(170)으로 데이터를 전송하며, 그들로부터 데이터를 수신할 수 있다. 클라이언트 시스템(130)은 컴퓨팅 시스템(160) 또는 제 3 자 시스템(170)에 직접적으로, 네트워크(110)를 통해, 또는 제 3 자 시스템을 통해 액세스할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 클라이언트 시스템(130)은 컴퓨팅 시스템(160)을 통해 제 3 자 시스템(170)에 액세스할 수 있다. 클라이언트 시스템(130)은 예를 들면, 헤드 마운티드 디스플레이, 증강/가상 현실 디바이스, 등과 같은 임의의 적합한 컴퓨팅 디바이스일 수 있다.
본 발명은 임의의 적합한 네트워크(110)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 네트워크(110)의 하나 이상의 부분들은 애드 혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 통신망(WAN), 무선 WAN(WWAN), 대도시 지역 네트워크(MAN), 인터넷의 일부, 공중 전화 교환 네트워크(PSTN)의 일부, 셀룰러 전화 네트워크, 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 네트워크(110)는 하나 이상의 네트워크들(110)을 포함할 수 있다.
링크들(150)은 클라이언트 시스템(130), 컴퓨팅 시스템(160), 및 제 3 자 시스템(170)을 통신 네트워크(110)에 또는 서로 연결할 수 있다. 본 발명은 임의의 적합한 링크들(150)을 고려한다. 특정한 실시예들에서, 하나 이상의 링크들(150)은 하나 이상의 와이어라인(예를 들면, 디지털 가입자 회선(DSL) 또는 DOCSIS(Data Over Cable Service Interface Specification)와 같음), 무선(예를 들면, 와이파이, 블루투스, 또는 WiMAX(Worldwide Interoperability for Microwave Access)와 같음), 또는 광학(예를 들면, 동기식 광학 네트워크(SONET) 또는 동기식 디지털 계층(SDH)과 같음) 링크들을 포함한다. 특정한 실시예들에서, 하나 이상의 링크들(150)은 각각 애드 혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷의 일부, PSTN의 일부, 셀룰러 기술 기반 네트워크, 위성 통신 기술 기반 네트워크, 또 다른 링크(150), 또는 2개 이상의 이러한 링크들(150)의 조합을 포함한다. 링크들(150)은 네트워크 환경(100) 전체에 걸쳐 반드시 동일할 필요는 없다. 하나 이상의 제 1 링크들(150)은 하나 이상의 제 2 링크들(150)과 하나 이상의 측면들에서 상이할 수 있다.
도 2a는 삼각 측량 계산의 일례를 도시한다. 단순성을 위해, 도면은 2차원 설정으로서 삼각 측량을 보여주지만, 당업자는 동일한 개념이 3차원들에 적용될 수 있음을 인식할 것이다. 시스템 환경(200)은 삼각 측량 목적들을 위해, 프로젝터 위치(215)(예컨대, 프로젝터의 렌즈의 지점 표현)에 의해 표현될 수 있는 프로젝터(210)를 포함한다. 개념적으로, 발광(240)은 프로젝터 위치(215)(단순성을 위해 단일 빔으로서 도시되지만, 방출은 다수의 빔들 또는 평면들일 수 있음)로부터 투영되고 반사 지점(230)에서 물체(260)와 교차한다. 시스템 환경(200)은 특정한 실시예들에서, 실질적으로 중첩하는 시야들을 갖도록 구성된 2개의 검출기들(220-1 및 220-2)(집합적으로 검출기들(220)로서 언급됨)을 더 포함한다. 삼각 측량 계산의 목적들을 위해, 검출기들(220-1 및 220-2)은 검출기 위치(250-1) 및 검출기 위치(250-2)(집합적으로 검출기 위치들(250)로서 언급됨) 각각에 의해 표현될 수 있다. 특정한 실시예들에서, 검출기 위치들(250)은 검출기들(220)에 대해 개념적으로서 정의되는 핀홀 렌즈들일 수 있다.
프로젝터(210)는 광을 방출할 수 있는 임의의 유형의 디바이스를 포함할 수 있다. 예를 들면, 프로젝터(210)는 수직 공동 표면 방출 레이저(VCSEL)와 같은 레이저 방출기를 포함할 수 있다. 기능적으로, 프로젝터(210)는 발광(240)을 시스템 환경(200)으로 방출한다. 발광(240)은 빔 크기, 빔 형상, 빔 강도, 빔 파장, 등과 같은 다양한 특성들을 가질 수 있다. 특정한 실시예들에서, 발광(240)은 광(예컨대, 레이저)의 일관되고 시준된 방출일 수 있다. 발광(240)은 라인(line), 그리드(grid), 토러스(torus), 등의 형태로 시스템 환경(200)을 통해 이동할 수 있다. 게다가, 발광(240)은 하나 이상의 형태들(예컨대, 2개 이상의 라인들, 2개 이상의 토러스 형상들, 2개 이상의 그리드들, 등)의 다수의 인스턴스들을 포함할 수 있다. 다양한 실시예들에서, 발광(240)은 발광(240)의 경로에 있는 물체들(예컨대, 물체(260))와 상호작용한다. 물체는 예를 들면 그리고 제한에 의한 것이 아닌 것으로서, 벽, 의자, 인간, 동물, 나무, 식물, 만곡된 표면, 메쉬, 등일 수 있다. 예를 들면, 물체(260)는 발광(240)의 일부 또는 전부를 반사하고/거나 흡수할 수 있다. 특히, 라인(c1)은 검출기(220-1)에 입사되는 물체(260)에 의해 반사된 발광(240)의 일부를 표현할 수 있다. 유사하게, 라인(c2)은 검출기(220-2)에 입사되는 물체(260)에 의해 반사된 발광(240)의 일부를 표현할 수 있다.
검출기(220-1) 및 검출기(220-2)는 광을 검출할 수 있는 임의의 유형의 디바이스일 수 있다. 예를 들면, 검출기(220-1) 및 검출기(220-2) 중 하나 또는 둘 모두는 모바일 플랫폼, 어레이 센서(예컨대, 선형 어레이 센서, 평면 어레이 센서, 원형 어레이 센서, 등), 등에 장착된 내부 외부의 광 검출기 또는 카메라일 수 있다. 다양한 실시예들에서, 검출기(220-1) 및 검출기(220-2)는 필터링되지 않을 수 있다. 그에 따라, 검출기(220-1) 및 검출기(220-2)는 발광(240)의 파장과 같은, 광의 파장 대역들을 선택하기 위한 우선적인 검출 감도를 나타내지 않고, 다양한 파장들의 광에 대해 유사한 검출 감도를 나타낼 수 있다. 동작가능하게, 검출기(220-1)는 검출기 개구부(도시되지 않음)로 이동하는 광을 검출한다. 일부 실시예들에서, 검출기(220-1) 및 검출기(220-2)는 각각 광을 집속시키는 하나 이상의 렌즈들을 포함할 수 있다. 예를 들면, 그리고 제한에 의한 것이 아닌 것으로서, 렌즈는 라인(c1)을 따라 이동하는 광을 검출기(220-1)의 이미지 센서에 집속시킬 수 있다. 다양한 실시예들에서, 검출기(220-1)는 시스템 환경(200)에서 물체들의 위치를 결정하기 위해 검출된 광의 위치를 클라이언트 시스템(130)(예컨대, 헤드 마운티드 디스플레이)으로 송신한다.
다양한 실시예들에서, 헤드 마운티드 디스플레이의 프로세서는 검출기들(220)로부터 수신된 데이터를 프로세싱하기 위해 AR 애플리케이션(클라이언트 시스템(130), 컴퓨팅 시스템(160), 또는 제 3 자 시스템(170) 중 임의의 것 또는 전부에 저장됨)을 실행한다. 예를 들면, AR 애플리케이션은 발광(240)의 반사 지점(230)에 대응하는 신호들을 식별하기 위해 검출기(220-1)로부터 수신된 입력들을 분석할 수 있다. 예를 들면, AR 애플리케이션은 미리 설정된 임계 강도 미만의 광에 대응하는 신호들을 필터링 아웃할 수 있다. 일단 AR 애플리케이션이 반사 지점(230)에 대응할 수 있는 후보 검출기 신호를 식별하면, AR 애플리케이션은 그것이 실제로, 반사 지점(230)에 대응함을 확인하고 삼각 측량 기술들을 사용하여 물체(260)에서의 반사 지점(230)의 깊이를 산출할 수 있다.
프로젝터(210), 검출기들(220)의 각각, 및 물체(260)의 반사 지점(230) 사이의 기하학적 관계는 삼각 측량 계산을 위한 기초를 형성하기 위해 사용될 수 있다. 라인(a1)은 프로젝터 위치(215)와 검출기(220-1)의 검출기 위치(250-1) 사이의 알려진 베이스라인 거리를 표현한다. 유사하게, 라인(a2)은 프로젝터 위치(215)와 검출기(220-2)의 검출기 위치(250-2) 사이의 알려진 베이스라인 거리를 표현한다. 게다가, 라인(b)은 프로젝터 위치(215)로부터 방출된 발광(240)의 경로를 표현한다. 발광(240)은 반사 지점(230)에서 물체(260)로부터 반사될 수 있다. 라인(c1)은 반사 지점(230)으로부터 검출기 위치(250-1)를 향해 이동하는 반사된 광의 경로를 표현할 수 있고, 라인(c2)은 반사 지점(230)으로부터 검출기 위치(250-2)를 향해 이동하는 반사된 광의 경로를 표현할 수 있다.
그에 따라, 제 1 삼각형(본 명세서에서 "삼각형 1"로서 언급됨)은 라인(a1), 라인(c1), 및 라인(b)에 의해 설명될 수 있어서, 라인(a1)과 라인(c1) 사이의 각도(α1), 라인(c1)과 라인(b) 사이의 각도(β1), 및 라인(b)과 라인(a1) 사이의 각도(θ1)를 형성한다. 상기 설명된 바와 같이, 라인(a1)의 길이는 그것이 고정된 검출기 위치(250-1) 및 고정된 프로젝터 위치(215)에 기초하여 미리 계산될 수 있기 때문에 알려진다. 특정한 실시예들에서, 각도(θ1)는 검출기 위치(250-1)와 프로젝터 위치(215)(베이스라인(a1)에 의해 표현됨) 사이의 고정된 상대 위치들에 대한 발광(240)의 궤적이 알려지기 때문에 또한 알려질 수 있다. 도 2a에 도시된 각도(θ1)가 직각(즉, 90도 각도)인 것으로 보일지라도, 당업자는 θ1이 이와 같이 제한되지 않고 임의의 다른 각도일 수 있음을 이해할 것이다. 마지막으로, 각도(α1)는 검출기(250-1)의 시야에서 반사 지점(230)의 위치에 기초하여 계산될 수 있다. 반사 지점(230)이 검출기(220-1)의 센서에 의해 캡쳐되는 지점은 검출기(220-1)의 시야에 의해 정의된 이미지 평면의 지점에 대응한다. 개념적으로, 이미지 평면에서 그 지점이 나타나는 곳은 라인(c1)이 이미지 평면과 교차하는 곳이다. 이미지 평면의 중심과 검출기 위치(250-1) 사이의 알려진 관계들(예컨대, 이미지 평면의 중심과 검출기 위치(250-1) 사이의 거리 및 이미지 평면과 검출기 위치(250-1) 및 중심을 연결하는 라인 사이의 각도)과 함께, 이미지 평면의 알려진 중심 및 이미지 평면의 그 교차 지점은 각도(α1)를 계산하기 위해 사용될 수 있다(예컨대, 삼각 측량을 통해). 일단 각도(α1), 측면(a1), 및 각도(θ1)가 확인되면, 삼각형 1의 나머지 치수들은 삼각형들의 알려진 기하학적 속성들에 기초하여 계산될 수 있다. 예를 들면, 라인(b)의 길이는 프로젝터 위치(215)로부터의 반사 지점(230)의 제 1 깊이를 표현하도록 계산될 수 있다.
이전에 설명된 바와 같이, 방출된 광을 사용하여 깊이 계산들을 수행하는데 있어서 하나의 도전은 검출기에 의해 캡쳐된 바와 같이 대응하는 반사된 광이 정확하게 식별될 필요가 있다는 것이다. 캡쳐된 이미지의 한 지점이 방출된 광의 반사로서 잘못 식별되는 경우, 다양한 삼각 측량 가정들이 유지되지 않을 것이기 때문에 삼각 측량 계산이 잘못될 것이다(예컨대, 이미지에서 잘못 식별된 지점이 반사 지점(230)에 대응하지 않는 경우, 그것은 라인(c1)과 이미지 평면의 교차 지점을 표현하기 위해 사용될 수 없고 따라서, 각도(α1)의 계산이 잘못될 것이다). 방출된 광의 검출을 돕는 한 가지 방식은 특정한 파장의 광(예컨대, 적외선)을 방출하고 그 파장을 위해 맞춰지는 필터들을 갖는 검출기들을 사용하는 것이다. 그러나, 이전에 설명된 바와 같이, 이렇게 하는 것은 다양한 애플리케이션들에서 실용적이지 않을 수 있다. 예를 들면, 깊이 감지 시스템이 제한된 리소스들(예컨대, 전력, 부동산, 및 무게)을 갖는 헤드 마운티드 디스플레이와 통합되어야 하는 경우, 구조화된 광을 검출하기 위한 특수화된 필터링된 검출기를 부가하는 것은 실행불가능하거나 바람직하지 않을 수 있는데, 특히 이는 헤드 마운티드 디스플레이가 물체 검출 및 다른 감각 목적들을 위해 사용되는 필터링되지 않은 카메라들을 이미 가질 수 있기 때문이다.
방출된 광의 정확한 식별을 돕기 위해, 특정한 실시예들은 제 2 필터링되지 않은 카메라에 의해 캡쳐된 정보를 사용하여 그 지점에 대해 제 2 깊이 계산을 수행함으로써 후보 반사 지점이 실제로 방출된 광의 반사인지를 확인한다. 다시 도 2a를 참조하면, 제 2 삼각형(본 명세서에서 "삼각형 2"로서 언급됨)은 라인(a2), 라인(c2), 및 라인(b)에 의해 설명될 수 있어서, 라인(a2)과 라인(c2) 사이의 각도(α2), 라인(c2)과 라인(b) 사이의 각도(β2), 및 라인(b)과 라인(a2) 사이의 각도(θ2)를 형성한다. 라인(a1) 및 각도(θ1)와 유사하게, 라인(a2) 및 각도(θ2)는 프로젝터 위치(215) 및 검출기 위치(250-2)의 알려진 상대적 고정 위치들 및 방출된 광(240)의 궤적으로 인해 알려질 수 있다. 각도(α2)의 계산은 상기 더 상세하게 설명된, α1이 계산되는 방법과 유사할 수 있다. 특정한 실시예들에서, 검출기(220-2)에 의해 캡쳐된 이미지의 지점은 검출기(220-1)의 이미지에서 캡쳐된 반사 지점(230)에 대응하는 것으로서 식별될 수 있다. 특정한 실시예들에서, 2개의 캡쳐된 이미지들에서 지점들 사이의 대응은 임의의 적합한 스테레오 대응 또는 매칭 알고리즘들을 사용하여 결정될 수 있다. 검출기(220-2)의 시야에 의해 정의된 이미지 평면에서 이러한 지점의 위치에 기초하여, 그 이미지 평면의 알려진 중심 및 이미지 평면의 중심과 검출기 위치(250-2) 사이의 알려진 관계들(예컨대, 이미지 평면의 중심과 검출기 위치(250-2) 사이의 거리 및 이미지 평면과 검출기 위치(250-2) 및 중심을 연결하는 라인 사이의 각도)과 함께, 각도(α2)를 계산하기 위해 사용될 수 있다(예컨대, 삼각 측량을 통해). 일단 각도(α2), 측면(a2), 및 각도(θ2)가 확인되면, 삼각형 2의 나머지 치수들은 삼각형들의 알려진 기하학적 속성들에 기초하여 계산될 수 있다. 예를 들면, 라인(b)의 길이는 프로젝터 위치로부터 반사 지점(230)의 제 2 깊이를 표현하도록 계산될 수 있다. 검출기(220-2)를 사용하여 계산된 반사 지점(230)의 제 2 깊이가 검출기(220-1)를 사용하여 계산된 제 1 깊이와 상이한 경우(예컨대, 미리 결정된 임계치를 초과하는 경우), 반사 지점(230)은 방출된 광(240)에 대응하지 않는 것으로 간주되고 거부될 수 있다.
도 2b는 2개의 프로젝터들(210-1 및 210-2)을 사용하는 삼각 측량 계산의 일례를 도시한다. 단순성을 위해, 도면은 2차원 설정으로서 삼각 측량을 보여주지만, 당업자는 동일한 개념이 3차원들에서 적용될 수 있음을 인식할 것이다. 시스템 환경(201)은 2개의 프로젝터들(210-1 및 210-2)을 포함하며, 이는 삼각 측량 목적들을 위해, 프로젝터 위치들(215-1 및 215-2)(예컨대, 프로젝터 렌즈들의 지점 표현들)에 의해 표현될 수 있다. 개념적으로, 발광들(240-1 및 240-2)은 각각의 프로젝터 위치들(215-1 및 215-2)(단순성을 위해 단일 빔들로서 도시되지만, 방출들은 다수의 빔들 또는 평면들일 수 있음)로부터 투영되고 각각의 반사 지점들(230-1 및 230-2)에서 물체(260)와 교차한다. 시스템 환경(201)은 특정한 실시예들에서, 시야를 가지는 검출기(220)를 더 포함한다. 삼각 측량 계산의 목적들을 위해, 검출기(220)는 검출기 위치(250)에 의해 표현될 수 있다. 특정한 실시예들에서, 검출기 위치(250)는 검출기(220)에 대해 개념적으로서 정의되는 핀홀 렌즈일 수 있다. 프로젝터들(210-1 및 210-2)은 도 2a를 참조하여 상기 설명된 바와 같이, 광을 방출할 수 있는 디바이스들일 수 있다. 검출기(220)는 도 2a를 참조하여 상기 설명된 바와 같이, 광을 검출할 수 있는 임의의 유형의 디바이스일 수 있다.
프로젝터들(210), 검출기(220), 및 물체(260)의 반사 지점들(230) 사이의 기하학적 관계는 삼각 측량 계산을 위한 기초를 형성하기 위해 사용될 수 있다. 라인(a1)은 프로젝터 위치(215-1)와 검출기 위치(250) 사이의 알려진 베이스라인 거리를 표현한다. 유사하게, 라인(a2)은 프로젝터 위치(215-2)와 검출기 위치(250) 사이의 알려진 베이스라인 거리를 표현한다. 게다가, 라인(b1)은 프로젝터 위치(215-1)로부터 방출된 발광(240-1)의 경로를 표현하고, 라인(b2)은 프로젝터 위치(215-2)로부터 방출된 발광(240-2)의 경로를 표현한다. 발광들(240-1 및 240-2)은 반사 지점들(230-1 및 230-2) 각각에서 물체(260)로부터 반사될 수 있다. 라인(c3)은 반사 지점(230-1)으로부터 검출기 위치(250)를 향해 이동하는 반사된 광의 경로를 표현할 수 있고, 라인(c4)은 반사 지점(230-2)으로부터 검출기 위치(250)를 향해 이동하는 반사된 광의 경로를 표현할 수 있다.
그에 따라, 제 1 삼각형(본 명세서에서 "삼각형 1"로서 언급됨)은 라인(a1), 라인(c3), 및 라인(b1)에 의해 설명될 수 있어서, 라인(a1)과 라인(c3) 사이의 각도(α1), 라인(c1)과 라인(b) 사이의 각도(β1), 및 라인(b)와 라인(a1) 사이의 각도(θ1)를 형성한다. 상기 설명된 바와 같이, 라인(a1)의 길이는 그것이 고정된 검출기 위치(250) 및 고정된 프로젝터 위치(215-1)에 기초하여 미리 계산될 수 있기 때문에 알려진다. 특정한 실시예들에서, 각도(θ1)는 검출기 위치(250)와 프로젝터 위치(215-1)(베이스라인(a1)에 의해 표현됨) 사이의 고정된 상대 위치들에 대해 발광(240-1)의 궤적이 알려지기 때문에 또한 알려질 수 있다. 마지막으로, 각도(α1)는 검출기(250)의 시야에서 반사 지점(230-1)의 위치에 기초하여 계산될 수 있다. 검출기(220)의 센서에 의해 반사 지점(230-1)이 캡쳐되는 지점은 검출기(220)의 시점에 의해 정의된 이미지 평면의 지점에 대응한다. 개념적으로, 그 지점이 이미지 평면에 나타나는 곳은 라인(c3)이 이미지 평면과 교차하는 곳이다. 이미지 평면의 중심과 검출기 위치(250-1) 사이의 알려진 관계들(예컨대, 이미지 평면의 중심과 검출기 위치(250-1) 사이의 거리 및 이미지 평면과 검출기 위치(250-1) 및 중심을 연결하는 라인 사이의 각도)과 함께, 이미지 평면의 알려진 중심 및 이미지 평면의 그 교차 지점은 각도(α1)를 계산하기 위해 사용될 수 있다(예컨대, 삼각 측량을 통해). 일단 각도(α1), 측면(a1), 및 각도(θ1)가 확인되면, 삼각형 1의 나머지 치수들은 삼각형들의 알려진 기하학적 속성들에 기초하여 계산될 수 있다. 예를 들면, 라인(b1)의 길이는 프로젝터 위치(215-1)로부터의 반사 지점(230-1)의 제 1 깊이를 표현하기 위해 계산될 수 있다.
도 3은 프로젝터(210)의 일례를 도시한다. 시스템 환경(300)은 프로젝터(210), 레이저 방출(340), 광학 요소(350), 방출 패턴(360), 및 물체(330)의 광 투영(370)을 포함한다. 프로젝터(210)는 광을 방출할 수 있는 임의의 유형의 디바이스를 포함할 수 있다. 예를 들면, 프로젝터(210)는 수직 공동 표면 방출 레이저(VCSEL)와 같은 레이저 방출기를 포함할 수 있다. 발광(340)은 빔 크기, 빔 형상, 빔 강도, 빔 파장, 등과 같은 다양한 특성들을 가질 수 있다. 특정한 실시예들에서, 발광(340)은 광(예컨대, 레이저)의 일관되고 시준된 방출일 수 있다. 발광(340)은 라인, 그리드, 토러스, 등의 형태로 시스템 환경(300)을 통해 이동할 수 있다. 또한, 발광(340)은 하나 이상의 형태들(예컨대, 2개 이상의 라인들, 2개 이상의 토러스 형상들, 2개 이상의 그리드들, 등)의 다수의 인스턴스들을 포함할 수 있다.
다양한 실시예들에서, 발광(340)은 하나 이상의 광학 요소들(350)을 통해 깊이 감지를 위해 사용된 생성된 구조화된 광으로 이동할 수 있다. 광학 요소(350)는 회절 요소들, 굴절 요소들, 및/또는 반사 요소들을 포함할 수 있다. 광학 요소(350)는 발광(340)을 시준할 수 있고, 발광(340)을 집속할 수 있고, 발광(340)을 다수의 빔들로 분할할 수 있고, 하나 이상의 축들을 따라 우선적으로 발광을 확산시켜 라인 및/또는 그리드 패턴을 생성할 수 있고, 발광(340)을 집속하고/거나 확산시킬 수 있다. 특히, 광학 요소(350)는 광을 시준하기 위한 시준기, 발광(340)을 2개 이상의 빔들로 분할하기 위한 빔 스플리터를 포함할 수 있다. 게다가, 광학 요소(350)는 하나의 축을 따라 비 주기적 단면을 가지는 균질화기와 같은 라인 생성기, 스팟 각도 폭 미만인 격자 각도 분리를 갖는 회절 광학 요소, 하나의 치수를 따라 만곡된 반사 또는 굴절 표면, 등을 포함할 수 있다.
일부 실시예들에서, 광학 요소(350)는 환경(300)을 통해 전파되는 방출 패턴(360)(예컨대, 하나 이상의 라인들)을 갖는 구조화된 광을 생성하도록 발광(340)을 수정할 수 있다. 다양한 실시예들에서, 방출 패턴(360)은 그것의 경로에서 물리적 물체들(예컨대, 330)과 상호작용한다. 물체는 예를 들면 그리고 제한에 의한 것이 아닌 것으로서, 벽, 의자, 인간, 동물, 나무, 식물, 만곡된 표면, 메쉬, 등일 수 있다. 예를 들면, 물체(330)는 발광의 일부 또는 전부를 반사하고/거나 흡수할 수 있다. 방출 패턴(360)이 환경에서 물체(예컨대, 물체(330))와 접할 때, 라인은 물체(330)에 중첩되어, 광 투영들(370)을 생성한다. 광 투영들(370)은 물체(330)의 윤곽들을 나타낼 수 있어서, 곡선들, 교두들, 불연속성들, 등을 감싸고, 그에 의해 물체(330)의 질감이 있거나, 그렇지 않으면 고르지 않은 표면들 및/또는 에지들에 시각적 단서들을 제공한다. 그에 따라, AR 애플리케이션은 물체(330)의 특성들을 결정하기 위해 예상된 방출 패턴(360)과 비교하여, 광 투영들(370)에서 왜곡 또는 불연속성을 식별할 수 있다.
도 4a는 일 예시적인 검출 이벤트를 도시한다. 시스템 환경(400)은 프로젝터(210), 발광(340), 광학 요소(350), 방출 패턴(360), 물체(330), 반사된 광(410), 및 이미지 센서(430)(예컨대, 도 2a에 도시된 검출기(220-1) 또는 검출기(220-2)의)를 포함한다. 이미지 센서(430)는 픽셀들의 그리드(포토사이트들로서 또한 언급될 수 있음)를 포함할 수 있으며, 그 중 하나는 픽셀(420-1)로서 식별된다. 특정 픽셀들은 반사된 광(410)을 검출할 수 있다. 참조의 용이를 위해, 이러한 픽셀들은 본 명세서에서 광 반사 픽셀들(예컨대, 그 중 하나는 광 반사 픽셀(422-1)로서 식별됨)로서 언급된다.
다양한 실시예들에서, 방출 패턴(360)은 이미지 센서(430)에 의해 검출될 수 있는 물체(330)에 광 투영을 형성한다. 특히, 물체(330)는 발광 패턴(360)의 일부를 이미지 센서(430)를 향해 반사한다. 다양한 실시예들에서, 물체(330)는 정반사 표면들 및/또는 확산 표면들을 포함할 수 있다. 정반사 표면들은 특정한 각도(예컨대, 입사각을 광 패턴(360)의 법선에 대해 미러링하는 물체 표면 법선에 비스듬히)에서 우선적으로 광을 편향시킬 수 있다. 확산 표면들은 특정 각도들에서 우선적인 반사 없이, 다수의 방향들로 광을 반사한다.
다양한 실시예들에서, 이미지 센서(430)는 픽셀들(420-1)과 같은 포토사이트들로서 또한 언급된, 광에 민감한 픽셀들의 어레이를 포함할 수 있다. 환경(400)으로부터의 광이 픽셀과 접할 때, 픽셀은 신호를 생성할 수 있다. 예를 들면, 픽셀(420-1)에 걸친 전압 강하는 픽셀(420-1)에 의해 수신된 광의 강도에 비례하여 증가하거나 감소할 수 있다. 유사하게, 물체(330)로부터의 반사된 광(410)이 픽셀(422-1)과 접할 때, 픽셀은 신호를 생성할 수 있다. 도 4a에 도시된 바와 같이, 반사된 광(410)은 픽셀들(422-1)에 의해 검출된다. 일부 실시예들에서, 반사된 광(410)의 강도는 시스템 환경(400)에서 주변 광의 평균 강도를 초과할 수 있다. 그에 따라, AR 애플리케이션은 방출 패턴(360)에 대응하는 반사된 광(410)과 다른 광원들(본 명세서에서 스퓨리어스 광 또는 스퓨리어스 신호들로서 언급됨) 사이를 명확하게 하기 위해 강도 판별기를 적용할 수 있다. 이 프로세스는 예를 들면, 반사된 광(410)에 대응할 가능성이 더 높은 후보 픽셀들을 선택하는데 도움이 될 수 있다. 다양한 실시예들에서, 각각의 후보 픽셀은 픽셀이 실제로 반사된 광(410)에 대응하고 그것의 깊이가 삼각 측량에 기초하여 계산될 수 있음을 확인하기 위해 도 2a를 참조하여 상기 설명된 프로세스를 거칠 수 있다. 그에 따라, AR 애플리케이션은 시스템 환경(400)에서 물체들의 3차원 측정치를 얻을 수 있다. 게다가, 광 패턴(360)에 의해 생성된 광 투영의 위치가 물체(330)의 표면을 따라 이동하고/거나 시스템 환경(400)의 주위를 이동함에 따라, AR 애플리케이션은 반사된 광(410)으로부터 깊이 및/또는 좌표 데이터를 계속 생성할 수 있다. AR 애플리케이션은 물체(330) 및/또는 시스템 환경(400)의 3차원 깊이 맵을 형성하기 위해 생성된 깊이 및/또는 좌표 데이터를 더 컴파일링할 수 있다. 또 다른 실시예들에서, AR 애플리케이션은 반사된 광(410)에 대응하는 검출 좌표들을 서브 픽셀 정확도로 확인할 수 있고, 그에 의해 검출 해상도를 증가시킬 수 있다.
도 4b는 표면 이상의 일 예시적인 검출 이벤트를 도시한다. 시스템 환경(405)은 프로젝터(210), 발광(340), 광학 요소(350), 방출 패턴(360), 물체(330), 반사된 광(410), 및 이미지 센서(430)(예컨대, 도 2a에 도시된 검출기(220-1) 또는 검출기(220-2)의)를 포함한다. 이미지 센서(430)는 픽셀들의 그리드(포토사이트들로서 또한 언급될 수 있음)를 포함할 수 있으며, 그 중 하나는 픽셀(420-1)로서 식별된다.
게다가, 시스템 환경(405)은 물체(330)를 부분적으로 가리고 물체(490)의 에지들과 표면(330) 사이에 표면 불연속성들을 도입하는 물체(490)를 포함한다. 물체(490)로부터의 반사된 광(본 명세서에서 반사된 광(415)으로서 언급됨)은 물체(330)로부터의 반사된 광(410)이 픽셀들(예컨대, 픽셀(422-1)과 같음)에 부딪히는 위치와 상이한 위치들에서, 픽셀(424-1)과 같은 이미지 센서(430)의 특정 픽셀들에 부딪혀서, 불연속적인 패턴을 형성한다. 다양한 실시예들에서, 반사된 광(415)의 특성들은 물체(490)의 표면 속성들을 나타낸다. 특히, AR 애플리케이션은 물체(490)의 표면 속성들 및/또는 물체(490)와 물체(330) 사이의 관계를 결정하기 위해 반사된 광(415)을 수신하는 픽셀들(예컨대, 픽셀(424-1))의 위치, 방위, 수, 강도, 및/또는 분포를 활용할 수 있다. 예를 들면, 도시된 바와 같이, 반사된 광(410)과 연관된 픽셀들(예컨대, 픽셀(422-1))과 반사된 광(415)과 연관된 픽셀들(예컨대, 픽셀(424-1)) 사이에 불연속성이 존재한다. AR 애플리케이션은 물체(330), 물체(490), 또는 물체(330)와 물체(490) 사이의 표면 불연속성을 특징짓고 이미징하기 위해 도 2a의 삼각 측량 기술에 더하여, 반사된 광(415)과 연관된 픽셀들의 변위, 방위, 수, 강도, 및/또는 분포에 비해 반사된 광(410)과 연관된 픽셀들의 그것들의 일부 또는 전부를 분석할 수 있다. 예를 들면, 일부 실시예들에서, 반사된 광(415)과 연관된 픽셀들(예컨대, 424-1)은 반사된 광(410)과 연관된 픽셀들(예컨대, 422-1)에 비해 아래에, 위에, 좌측에, 우측에 위치될 수 있고, 좌측으로 회전하고, 우측으로 회전될 수 있고, 등이다. 부가적으로 또는 대안적으로, 반사된 광(410)과 연관된 픽셀들은 반사된 광(415)과 연관된 픽셀들에 비해 상이한 강도, 상이한 공간 분포, 및/또는 상이한 수의 픽셀들을 가질 수 있다.
또한, 일부 실시예들에서, 프로젝터(210)는 깊이 매핑(예컨대, 환경의 다수의 영역들의 깊이가 동시에 결정될 수 있음)의 효율성을 개선하기 위해 물체(330) 및 물체(490)(예컨대, 레이저 광의 2개 이상의 라인들)를 향해 광 패턴(360)의 다수의 인스턴스들을 방출할 수 있다. 그에 따라, 이미지 센서(430)는 환경(405)에서 물체들로부터 반사되는 광 패턴(360)의 각각의 인스턴스로부터 반사된 광을 수신할 수 있다. 애플리케이션은 각각의 신호를 방출된 광 패턴(360)의 특정한 인스턴스와 연관시키기 위해 이미지 센서(430)로부터의 신호들을 분석할 수 있다. 애플리케이션은 검출기(예컨대, 검출기(220-1) 및/또는 검출기(220-2))에 의해 검출된 각각의 광 반사 픽셀(예컨대, 도 4b에 도시된 픽셀(422-1 또는 424-1))을 물체(330) 및/또는 물체(490)로부터 반사된 방출 패턴(360)의 특정한 인스턴스와 매칭하고 연관시킬 수 있다. 특정한 실시예들에서, 매칭 프로세스를 용이하게 하기 위해, 방출 패턴(360)의 각각의 인스턴스는 고유한 서명을 가질 수 있다(예컨대, 각각의 라인은 상이한 강도, 파장, 시간적 또는 공간적 인코딩, 등을 가질 수 있음).
다른 실시예들에서, 방출 패턴(360)의 인스턴스들은 그들의 상대적인 순서화를 제외하고, 동일한 조명 특성들(예컨대, 동일한 강도, 컬러, 피치, 등)을 가질 수 있다. 순서화는 특정한 실시예들에서, 방출 패턴의 각각의 인스턴스를 검출된 조명 패턴들과 매칭하기 위해 사용될 수 있다. 예를 들면, 방출 패턴(360)은 일정한 또는 가변 이격 거리 및/또는 회전 각도로 서로 수직(및/또는 수평) 이격, 지향, 및/또는 회전되는 5개의 라인들을 포함할 수 있다. 애플리케이션은 반사된 조명 패턴들의 상대적 순서화를 식별하고 결정하기 위해 검출기(220-1) 및/또는 검출기(220-2)에 의해 생성된 검출기 신호들을 분석할 수 있다. 일례로서, 프로젝터는 검출기들의 예상된 시야를 커버하기 위해 서로 평행하고 이격되는 5개의 순서화된 라인들을 투영할 수 있다. 검출기에 의해 검출될 때, 5개의 순서화된 라인들로부터의 반사된 광은 그들의 상대적인 순서화를 유지할 것이다. 다양한 실시예들에서, 검출기에 의해 검출된 반사된 조명 패턴들은 논리적으로 그룹화될 수 있어서 동일한 그룹에 속하는 반사된 조명 패턴들이 동일한 투영된 라인에 대응하는 것으로 간주되게 한다. 다양한 실시예들에서, 반사된 조명 패턴들의 세그먼트들 또는 픽셀들은 반사된 조명 패턴들의 다른 세그먼트들 또는 픽셀들에 대한 그들의 상대 위치들 또는 다른 특성들(공간 분리 거리, 공간 분리 방향, 공간 방위, 등)에 기초하여 그룹화될 수 있다. 예를 들면, 반사된 광 패턴의 세그먼트가 임의의 다른 그룹보다 반사된 조명 패턴들의 하나의 그룹에 더 가까운 경우, 그것은 그 그룹에 속하는 것으로서 분류될 수 있다. 반사된 조명 패턴들의 그룹들 및 그들의 상대적 순서화를 식별함으로써, 반사된 조명 패턴들의 그룹들은 각각의 투영된 라인들과 매칭될 수 있다. 예를 들면, 최상단 투영된 라인은 검출된 조명 패턴들의 최상단 그룹과 연관될 수 있고, 상단으로부터의 제 2 투영된 라인은 검출된 조명 패턴들의 상단으로부터의 제 2 그룹과 연관될 수 있고, 등이다. 다양한 실시예들에서, 그룹에 속하는 픽셀은 실제로, 그 그룹과 연관된 투영된 라인에 대응하거나 대응하지 않을 수 있다. 도 2a을 참조하여 상기 설명된 실시예들은 그 픽셀이 실제로 투영된 라인에 대응하는지의 여부를 확인하기 위해 사용될 수 있다. 픽셀이 투영된 라인에 대응한다면, 연관된 깊이 값이 결정되고 깊이 맵을 생성하기 위해 사용될 수 있으며; 그렇지 않으면, 그것은 폐기될 수 있으며 깊이 맵에 기여하지 않을 것이다.
도 5는 본 명세서에서 설명된 실시예들을 구현하기 위해 사용될 수 있는 일 예시적인 헤드 마운티드 디스플레이(510)를 도시한다. 시스템 환경(500)은 검출기(220-1), 검출기(220-2), 프로젝터(210), 베이스라인(a1) 및 베이스라인(a2)을 포함하는 헤드 마운티드 디스플레이(510)를 포함한다. 다양한 실시예들에서, 베이스라인(a1)은 프로젝터(210)와 검출기(220-1) 사이의 거리이고, 베이스라인(a2)은 프로젝터(210)와 검출기(220-2) 사이의 거리이다. 게다가, 프로젝터(210)는 방출기들(예컨대, 520-1), 및 전압 공급장치들(예컨대, 530-1)을 포함한다.
다양한 실시예들에서, 검출기(220-1) 및 검출기(220-2)(본 명세서에서 일반적으로 검출기들(220)로서 언급됨)는 헤드 마운티드 디스플레이(510)의 모서리들에 배치된 전면을 향하는 필터링되지 않은 카메라들일 수 있다. 이들 검출기들(220)은 위치 추적을 위한 내부 외부 카메라로서 기능할 수 있다. 도시된 바와 같이, 검출기들(220)은 시스템 환경(500)의 스테레오 이미징을 가능하게 하기 위해 헤드 마운티드 디스플레이(510)에 위치되고 지향될 수 있다. 특히, 검출기(220-1)는 헤드 마운티드 디스플레이(510)의 우측에 위치되고(디스플레이(510)를 착용하는 사용자의 관점으로부터) 시스템 환경(500)의 우측 이미지를 생성할 수 있다. 게다가, 검출기(220-2)는 헤드 마운티드 디스플레이(510)의 좌측에 위치되고 시스템 환경(500)의 좌측 이미지를 생성할 수 있다.
그에 따라, 검출기들(220)은 시스템 환경(500)에서 물체들로부터 반사된 광을 검출할 수 있다. AR 애플리케이션은 시스템 환경(500)에서 헤드 마운티드 디스플레이(510)의 위치를 결정할 때 검출기(220-1) 및 검출기(220-2)에 의해 생성된 검출기 데이터를 분석할 수 있다. 특히, 검출기(220-1) 및 검출기(220-2)의 각각이 필터링되지 않기 때문에, 각각의 검출기는 광의 각각의 파장에 대해 유사한 검출 감도들을 보여준다. 프로젝터(210)에 의해 방출된 반사된 광에 대응하는 검출기 신호들을 분리하기 위해, 헤드 마운티드 디스플레이(510)와 연관된 컴퓨팅 시스템은 본 명세서에서 설명된 실시예들(예컨대, 도 2a를 참조하여 설명된 삼각 측량 및 검증 프로세스)을 수행할 수 있다.
기능적으로, 일부 실시예들에서, 검출기들(220)의 각각은 프레임 버퍼를 포함할 수 있다. 프레임 버퍼는 시간 간격 동안 검출기에 의해 생성된 검출 신호들을 저장한다. 프레임은 시간 간격 동안 얻어진 검출기 신호들의 세트이다. 시간 간격이 완료될 때, 프레임은 프레임 버퍼에 저장되고 인입하는 검출기 신호들은 다음 시간 간격이 경과할 때까지 새로운 프레임에 저장된다. 새로운 프레임들이 생성되는 빈도는 프레임 레이트로서 정의될 수 있다. 다양한 실시예들에서, 더 높은 프레임 레이트들은 더 높은 에너지 부하를 동시에 생성하면서, 시스템 환경(500)에서 시간적 변화들의 더 높은 해상도 검출을 가능하게 한다. 다른 한편으로, 더 낮은 프레임 레이트들은 시스템 환경(500)에서 시간적 변화들의 더 낮은 해상도 검출을 제공하지만, 더 낮은 에너지 부하를 생성한다. 다양한 실시예들에서, AR 애플리케이션은 동일한 프레임 레이트 또는 상이한 프레임 레이트들로 동작하도록 각각의 검출기(220)를 구성할 수 있다. 부가적으로 또는 대안적으로, AR 애플리케이션은 검출기들(220)의 각각이 동작하는 프레임 레이트를 동적으로 선택할 수 있다. AR 애플리케이션은 시스템 환경(500)의 하나 이상의 특성들에 기초하여 프레임 레이트를 더 증가시키고/거나 감소시킬 수 있다.
일부 실시예에서, AR 애플리케이션은 낮은 프레임 레이트로 동작하도록 검출기들(220)을 구성할 수 있다. 예를 들면, AR 애플리케이션은 예컨대, 초 당 30 프레임들(fps)과 같은 초 당 10 프레임과 50 프레임 사이에서 동작하도록 검출기들(220)을 구성할 수 있다. 이러한 실시예들에서, 에너지 부하는 낮을 수 있다. 예를 들면, 에너지 부하는 예를 들면, 30 밀리와트와 같은 10 밀리와트와 50 밀리와트 사이일 수 있다. 그에 따라, 검출기들(220)의 동작을 가능하게 하기 위해 더 작은 전원이 충분할 수 있다. 부가적으로, 또는 대안적으로, 전원(예컨대, 온 보드 또는 헤드 마운티드 디스플레이(510)의 외부의)의 유효 수명이 증가될 수 있다. 또한, 각각의 검출기(220)의 재료들의 비용은 저렴할 수 있다. 예를 들면, 재료들의 비용은 예컨대, $6와 같은 $2와 $10 사이일 수 있다.
다양한 실시예들에서, 프로젝터(210)는 하나 이상의 파장들에서 광을 방출하는 하나 이상의 방출기들(520)을 포함할 수 있다. 일부 실시예들에서, 각각의 방출기 또는 방출기들의 그룹들은 전원(예컨대, 전압 공급장치)에 개별적으로 연결될 수 있다. 부가적으로, 또는 대안적으로, 방출기들(520)의 하나 이상의 행들 및/또는 하나 이상의 열들이 전원에 연결될 수 있다. 그에 따라, AR 애플리케이션은 하나 이상의 개별적인 방출기들에 의해, 방출기들의 하나 이상의 쌍들, 방출기들의 하나 이상의 행들에 의해, 방출기들의 하나 이상의 열들에 의해, 방출기들의 하나 이상의 그룹들, 등에 의해 방출된 광의 강도를 제어할 수 있다. 이렇게 행하는 것에서, AR 애플리케이션은 프로젝터(210)에 의해 생성된 광의 강도를 증가시키거나 감소시키고 상이한 방출된 패턴들을 생성할 수 있다. AR 애플리케이션은 하나 이상의 방출기들(520)을 선택적으로 턴 온 및/또는 오프함으로써 프로젝터(210)에 의해 생성된 발광의 방향을 더 제어할 수 있다. 예를 들면, AR 애플리케이션은 프로젝터(210)의 좌측으로 위치된 방출기들(520)을 턴 온하고 광 빔을 좌측으로 향하게 할 때 프로젝터(210)의 우측으로 위치된 방출기들(520)을 턴 오프할 수 있다. 유사하게, AR 애플리케이션은 방출된 광의 빔을 위로, 좌측에 대해 아래로, 좌측으로, 및 우측, 좌측, 위, 아래 사이의 경사각들로 검출하기 위해 방출기들(520)을 턴 온하고/거나 오프할 수 있다.
또 다른 실시예들에서, AR 애플리케이션은 특정한 형태(예컨대, 라인, 그리드, 등)의 발광을 생성하기 위해 방출기들(520)을 순차적으로 턴 온하고/거나 오프할 수 있다. 발광은 시스템 환경(500)의 영역에서 광 투영을 생성한다. 방출기들(520)을 턴 온하고/거나 오프함으로써, AR 애플리케이션은 광 투영과 상호작용하는 시스템 환경(500)의 영역의 부분을 제어할 수 있다. 특정한 실시예들에서, AR 애플리케이션은 시스템 환경(500)의 선택된 영역을 순차적으로 스캐닝하는 광 투영을 생성하도록 프로젝터(210)를 구성할 수 있다. AR 애플리케이션은 검출기 프레임 레이트, 선택된 영역의 다수의 물체들, 선택된 영역의 하나 이상의 물체들까지의 거리, 물체의 유형, 하나 이상의 물체들의 표면 특징, 시스템 환경(500)의 광 잡음 레벨, 프로젝터(210)에 의해 방출된 광 패턴의 유형, 등과 같은 다양한 파라미터들에 기초하여 스캐닝 주파수를 선택할 수 있다.
다양한 실시예들에서, AR 애플리케이션은 투영된 광 패턴의 희박성 및/또는 밀도를 증가시키고/거나 감소시키기 위해 방출기들(520)을 턴 온하고/거나 오프할 수 있다. 예를 들면, AR 애플리케이션이 이미징되는 물체가 헤드 마운티드 디스플레이(510)에 가깝다고 결정하면, AR 애플리케이션은 프로젝터(210)에 의해 방출된 광 패턴의 희박성을 증가시키기 위해 각각의 방출기(520)에 의해 방출된 광의 강도를 감소시키고/거나 하나 이상의 방출기들(520)을 턴 오프할 수 있다. 대안적으로, AR 애플리케이션이 물체가 시스템 환경(510)에서 더 멀리 떨어져 있고/거나 시스템 환경이 시끄러운 환경이라고 결정하는 경우, AR 애플리케이션은 방출기들(520)에 의해 방출된 광의 강도를 증가시키고/거나(예컨대, 방출기들(520) 중 하나 이상에 대한 전압 공급을 증가시킴으로써) 프로젝터(510)에 의해 방출된 광 패턴의 밀도를 증가시키도록(예컨대, 광을 생성하는 방출기들(520)의 수를 증가시킴으로써) 구성할 수 있다.
헤드 마운티드 디스플레이(510)는 사용자에 의해 착용될 수 있다. 사용자가 시스템 환경(500)을 통해 이동함에 따라, 헤드 마운티드 디스플레이(510)의 위치가 변경될 수 있다. 그에 따라, 헤드 마운티드 디스플레이(510)의 위치가 시스템 환경(500)을 통해 이동함에 따라, AR 애플리케이션은 시스템 환경(500)으로 지속적으로, 주기적으로, 및/또는 산발적으로 광을 방출하도록 프로젝터(210)를 구성할 수 있다. 게다가, AR 애플리케이션은 시스템 환경(500)에서 지속적으로 주변 광을 검출하도록 검출기(220-1) 및 검출기(220-2)를 구성할 수 있다. AR 애플리케이션은 시스템 환경(500)에서 물체들로부터 반사된 프로젝터(210)에 의해 생성된 광에 대응하는 검출기 신호들을 분리하기 위해 검출기(220-1) 및 검출기(220-2)로부터의 데이터를 더 계속해서 분석할 수 있다. AR 애플리케이션은 또한, 분리된 검출기 신호들에 기초하여 깊이 및/또는 좌표 정보를 계산하고 계산된 정보를 시스템 환경 맵에 부가할 수 있다.
다양한 실시예들에서, 프로젝터(210)는 사용자가 그의 머리를 수직 또는 수평으로 움직일 때, 검출기에 의해 방출된 광 패턴이 환경(500)을 수직 및 수평으로 동시에 스위핑하도록, 머리 장착 디바이스(510)의 방위에 대해 비스듬히(예컨대, 45도) 배치될 수 있다. 그에 따라, AR 애플리케이션은 사용자의 머리의 수직 또는 수평 이동에 기초하여 표면에 관한 수직 및/또는 수평 정보를 얻을 수 있다.
또한, AR 애플리케이션은 시스템 환경(500)의 특성들에 기초하여 프로젝터(210)에 의해 생성된 광 패턴의 다양한 특성들을 동적으로 조정할 수 있다. 예를 들면, 헤드 마운티드 디스플레이(510)가 하나 이상의 물체들에 가까운 위치에 위치되는 경우, AR 애플리케이션은 프로젝터(210)의 출력 강도를 감소시킬 수 있다. 그러나, 헤드 마운티드 디스플레이(510)가 시스템 환경(500)에서 물체들로부터 멀리 떨어진 위치로 이동하는 경우, AR 애플리케이션은 출력 강도를 증가시키도록 프로젝터(210)를 구성할 수 있다. 또한, AR 애플리케이션이 프로젝터(210) 및 검출기들(220)을 수정하는 방법을 결정할 때 현재 시스템 환경 맵을 검토할 수 있는 경우. AR 애플리케이션이 시스템 환경(500)의 영역이 잘 매핑된다고 결정하면, AR 애플리케이션은 검출기들(220)의 프레임 레이트를 감소시킬 수 있다. 그러나, AR 애플리케이션이 매핑되지 않은 물체가 시스템 환경(500)에 존재하고/거나 시스템 환경(500)에서 매핑된 물체의 위치가 변경되었다고 결정하면, AR 애플리케이션은 검출기(220-2) 및 검출기들(220-1) 중 하나 이상의 프레임 레이트를 증가시킬 수 있다.
다양한 실시예들에서, AR 애플리케이션은 시스템 환경(500)에 위치된 살아 있는 물체(예컨대, 인간, 동물, 등)에 의해 검출될 수 있는 광의 양에 기초하여 프로젝터(210)에 의해 생성된 방출 강도를 동적으로 조정할 수 있다. 특히, AR 애플리케이션은 잠재적인 광 검출 강도를 임계 강도 레벨 미만으로 유지하기 위해 방출 강도를 감소시키고/거나 방출 패턴의 희박성을 증가시킬 수 있다. 예를 들면, AR 애플리케이션이 조밀한 레이저 패턴을 구현하는 경우, AR 애플리케이션은 잠재적인 광 검출 강도를 임계 강도 레벨 미만으로 유지하기 위해 출력 방출 강도를 감소시킬 수 있다. 대안적으로, 다양한 실시예들에서, AR 애플리케이션이 희박한 광 패턴을 구현하는 경우, AR 애플리케이션은 잠재적인 광 검출 강도가 임계 강도 레벨 미만으로 유지되는 한, 멀리 있는 물체를 이미징하기 위해 더 높은 출력 강도를 구현할 수 있다. 상기 설명이 2개의 검출기들을 참조할지라도, 이 참조는 하나의 검출기 및/또는 3개 이상의 검출기들이 본 발명의 범위 내에 있기 때문에 비 제한적이다.
특정한 실시예들에서, 그리드 광 패턴은 물체에 투영될 수 있고, 패턴의 반사들은 카메라를 사용하여 캡쳐될 수 있다. 물체까지의 거리들은 삼각 측량 기술들을 사용하여 패턴의 캡쳐된 반사들에 기초하여 결정될 수 있으며, 여기서 패턴의 검출된 지점들은 패턴의 특성들을 사용하여 패턴의 대응하는 투영된 지점들과 매칭된다.
도 6은 다양한 라인 피치를 가지는 예시적인 그리드 광 패턴들(604, 606)을 도시한다. 투영된 패턴(604)은 하나 이상의 프로젝터들(210-1, 210-2)에 의해 장면(600)으로 투영될 수 있으며, 하나 이상의 프로젝터들은 헤드셋 또는 헤드 마운티드 디스플레이와 같은 구조 또는 디바이스에 장착될 수 있다. 프로젝터들(210-1, 210-2)은 각각 카메라로부터 고정된 베이스라인 거리들에 장착될 수 있다. 프로젝터(210-1 1)는 투영된 라인들(620a 내지 624a)의 형태로 광을 투영할 수 있고, 프로젝터(210-2)는 투영된 라인들(610a 내지 616a)의 형태로 광을 투영할 수 있다. 이 예에서 특정한 수의 투영된 라인들이 도시될지라도, 각각의 프로젝터가 임의의 수의 라인들을 투영할 수 있음에 유의한다. 투영된 라인들(610a 내지 616a)은 투영된 라인들(620a 내지 624a)과 교차할 수 있고 투영된 그리드 패턴(604)을 형성할 수 있다. 투영된 라인들(620a 내지 624a)은 본 명세서에서 "수평" 라인들로서 언급되고 투영된 라인들(610a 내지 616a)은 본 명세서에서 "수직" 라인들로서 언급된다. 용어들 "수평" 및 "수직"은 설명 목적들을 위해 사용되며 라인들이 수평 또는 수직임을 반드시 의미하지 않는다. 투영된 그리드 패턴(604)의 적어도 일부는 하나 이상의 물체들(602)에 입사하고, 물체들(602)에 의해 반사되며, 물체(602)에 반사된 그리드 패턴(606)을 형성할 수 있다. 반사된 그리드 패턴(606)은 투영된 그리드 패턴(604)의 왜곡된 변형일 수 있다. 반사된 그리드 패턴(606)은 투영된 그리드 패턴(604)의 형상 및 투영된 라인들이 반사된 물체들의 지점들과 프로젝터(들) 사이의 거리들에 기초한 형상을 가질 수 있다. 예를 들면, 반사된 라인들에 곡선들 또는 끊김들이 존재할 수 있다.
특정한 실시예들에서, 투영된 접합점들(630a 내지 636a)은 수직 투영된 라인들(610a 내지 616a)과 수평 투영된 라인들(620a 내지 624a)의 교차 지점들에 형성될 수 있다. 접합점들(630a 내지 636a, 640a, 650a)은 물체들(602)에 의해 반사되고 각각의 검출된 접합점들(630b 내지 638b, 640b, 650b)로서 카메라(220)에 의해 검출될 수 있다. 검출된 라인(620b)을 따르는 각각의 지점은 대응하는 투영된 라인(620a)을 따르는 지점에 대응할 수 있고, 검출된 교차 라인들 사이의 각각의 검출된 접합점(630b)은 검출된 교차 라인들에 대응하는 투영된 라인들 사이의 투영된 접합점(630a)에 대응할 수 있다. 검출된 접합점(630b)이 2개의 상이한 검출된 라인들(610b, 610b)의 한 지점일 수 있기 때문에, 투영된 접합점(630a)에서의 대응하는 지점은 단일 라인의 지점보다 신뢰가능하게 식별될 수 있다.
특정한 실시예들에서, 카메라(220)는 반사된 그리드 패턴(606)의 하나 이상의 이미지들을 캡쳐할 수 있다. 카메라(220)는 라인들(620a 내지 624a)의 반사들일 수 있는 제 1 세트의 검출된 라인들(620b 내지 624b), 및 라인들(610a 내지 616-a)의 반사들일 수 있는 제 2 세트의 검출된 라인들(610b 내지 616b)을 검출할 수 있다. 카메라에 의해 캡쳐된 이미지에서 검출된 라인들(610b 내지 616b, 620b 내지 624b)은 캡쳐된 이미지들에서 픽셀들로서 표현될 수 있다. 각각의 픽셀은 물체들(602) 중 하나의 표면의 지점에 대응할 수 있다.
도 2a 및 도 2b를 참조하여 상기 도입된 바와 같이, 물체의 한 지점까지의 거리는 검출된 패턴들(610b 내지 616b, 620b 내지 624b), 및 알려진 카메라와 프로젝터 위치들을 형성하는 물체(602)의 표면의 식별된 광 지점들에 기초한 삼각 측량 산출들을 사용하여 결정될 수 있다. 삼각 측량 산출들은 라인(620a) 또는 접합점(630a)과 같은 투영된 그리드 패턴(604)의 하나 이상의 피쳐들, 및 라인(620b) 또는 접합점(630b)과 같은 반사된 그리드 패턴(606)의 하나 이상의 피쳐들 사이의 대응을 식별하는 것을 수반하고, 물체(602), 또는 물체(602)의 표면의 지점들까지의 거리를 산출하기 위해 투영되고 반사된 패턴들의 식별된 피쳐들의 위치들을 사용할 수 있다. 투영된 라인들(610a 내지 616a, 620a 내지 624a)은 대응하는 검출된 라인들(610b 내지 616b, 620b 내지 624b)로부터 특정한 투영된 라인들을 식별하기 위해 사용될 수 있는 특성들로 인코딩될 수 있다. 특성들은 예를 들면, 라인 강도, 라인 피치, 라인 패턴, 등일 수 있다.
각각의 라인(620a)의 강도, 및/또는 각각의 쌍의 인접한 투영된 라인들(620a, 622a) 사이의 피치(간격)와 같은 투영된 그리드 라인들(620a 내지 624a, 610a 내지 616a)의 하나 이상의 특성들은 고유할 수 있어서(적어도 특정한 투영된 그리드 패턴(604) 내에서), 각각의 투영된 라인이 이들 특성들의 고유한 값들과 연관될 수 있게 한다. 이들 특성들은 물체(602)에 의해 반사되고 검출된 특성들로서 검출될 수 있다. 검출된 특성들은 카메라(220)를 사용하여 검출된 라인들(620b 내지 624b, 610b 내지 616b)에서 식별될 수 있다. 검출된 특성들은 검출된 라인(620b)의 검출된 특성들과 매칭하는 투영된 특성을 가지는 투영된 라인(620a)을 발견함으로써 특정한 검출된 라인(620b)에 대응하는 투영된 라인(620a)을 식별하기 위해 사용될 수 있다.
특정한 실시예들에서, 상기 설명된 바와 같이, 각각의 투영된 라인의 특성(들) 예컨대, 강도는 투영된 그리드 패턴(604)의 다른 투영된 라인들의 특성과 상이할 수 있거나, 적어도 다른 인접하거나 근처의 라인들의 특성과 상이할 수 있다. 투영된 라인들과 검출된 라인들 사이의 대응은 그들의 연관된 특성들에 기초하여 특정한 투영된 라인들을 특정한 검출된 라인들에 매칭함으로써 결정될 수 있다. 예를 들면, 투영된 그리드 패턴(604)은 투영된 그리드 패턴(604)의 우측 하부를 향하는 라인들 사이의 증가하는 거리들에서 보여지는 바와 같이, 달라지는 라인 피치 특성을 갖는다. 즉, 인접한 라인들의 쌍들 사이의 거리들은 인접한 투영된 라인들의 상이한 쌍들에 대해 상이할 수 있다. 일례로서, d1로서 언급될 수 있는, 투영된 라인들(612a 및 614a) 사이의 거리는 d2로서 언급될 수 있는, 투영된 라인들(614a 및 616a) 사이의 거리와 상이하다. 이들 2개의 거리들은 투영된 라인(622a)에 대응하는 검출된 라인(622b)을 식별하기 위해 사용될 수 있다. 예를 들면, d1 대 d2의 비은 d1/d2로서 산출되고 d3 대 d4의 비과 같은, 검출된 그리드 패턴(606)에서 라인들 사이의 거리들의 비들과 비교될 수 있으며, 여기서 d3은 검출된 라인들(612b 및 614b) 사이의 거리이고, d4는 검출된 라인들(614b 및 616b) 사이의 거리이다. 투영된 라인들(620a 내지 624a)의 간격이 그리드 패턴(604)의 라인들의 다른 인접한 쌍들에 대해 산출된 비들과 비교할 때 투영된 그리드 패턴(604)에서 비(d1/d2)가 고유하도록 구성되는 경우, 대응하는 검출된 라인(622b)은 검출된 그리드 패턴(606)에서 대응하는 비들을 계산하고 비(d1/d2)와 매칭하는(예컨대, 그의 임계 공차와 같거나 그 내에 있음) 검출된 비(d3/d4)를 발견함으로써 식별될 수 있다. 비(d3/d4)는 검출된 라인들(612b 및 614b(d3)와 614b 및 616b(d4)) 사이의 거리들의 비일 수 있다.
특정한 실시예들에서, 각각의 투영된 라인(610a)은 연속적일 수 있다. 각각의 투영된 라인(610a)은 종단 지점들을 가질 수 있으며, 이 경우에 라인은 그것의 종단 지점들 사이에서 연속적일 수 있다. 투영된 패턴들(604)이 연속적이기 때문에(특정한 크기의 패턴들에 대해 적어도 그들의 외부 경계들까지), 실세계 환경에서 깊이의 갑작스러운 변화는 검출된 그리드 패턴(606)에서 불연속성을 생성할 수 있다. 실세계 환경에서 깊이의 변화들은 반사된 패턴의 불연속성들을 식별함으로써 검출될 수 있다. 반사된 라인들을 따르는 특성들의 변경들은 접합점들이 분리됨을 또한 나타낼 수 있다. 투영된 라인(610a)이 물체(602)의 에지를 가로지를 때, 대응하는 검출된 라인(610b)은 물체(602)의 에지의 위치에 대응하는 불연속성을 가질 수 있다. 이 불연속성은 물체 경계들을 검출하기 위해 사용될 수 있다. 예를 들면, 물체(602)의 좌측 상단은 검출된 패턴(606)을 가로지르는 대각선 경계를 갖는다. 투영된 패턴(604)의 최상단 및 최좌측 라인들은 검출된 패턴(606)에서 잘리고, 투영된 패턴(604)의 상단 좌측 모서리에 있는 최좌측 및 최상단 라인들 사이의 접합점은 검출된 패턴(606)에서 대응하는 검출된 접합점을 갖지 않는다. 검출된 패턴(606)으로부터의 이 접합점의 부재 및 검출된 라인들(620b)과 검출된 패턴(606)의 최좌측 라인 사이의 접합점과 같은, 검출된 패턴(606)에서의 근처의 접합점들의 존재는 후자의 접합점 근처에 물체(602)의 에지가 존재함을 나타낸다.
특정한 실시예들에서, 접합점(630)는 주어진 한 쌍의 교차 라인들(610, 620)을 고유하게 식별하기 위해 사용될 수 있다. 검출된 접합점(630b)과 투영된 접합점(630a) 사이의 대응은 접합점(630)에서 교차하는 라인들(610, 620)의 상대적 강도들 및 접합점에서 교차하는 라인들(610, 620)과 다른 라인들 예컨대, 라인들(612, 622) 사이의 수평 및 수직 상대적 간격과 같은, 접합점의 특성들에 기초하여 결정될 수 있다. 특성들은 라인들(610a, 620a) 및 선택적으로, 다른 라인들 예컨대, 라인들(612a, 622a)을 사용하여 투영된 접합점(630a)에 대해 결정될 수 있다. 투영된 접합점(630a)에 대해 결정된 투영된 특성들은 검출된 라인들(610b, 620b) 및 선택적으로, 다른 라인들 예컨대, 검출된 라인들(612b, 622b)을 사용하여 검출된 접합점(630b)의 검출된 특성들과 비교되거나 상관될 수 있다.
특정한 실시예들에서, 검출된 강도 또는 검출된 라인들 사이의 거리와 같은, 검출된 라인들의 검출된 특성들은 대응하는 투영된 특성들과 반드시 동일하지는 않지만, 충분히 유사할 수 있어서 대응하는 투영된 라인 또는 접합점이, 동일하지는 않지만 서로의 미리 결정된 공차 예컨대, 1%, 3%, 5%, 또는 다른 적합한 공차 내에 있는 특성들이 동일한 것으로 결정되도록 공차들을 사용하거나 다수의 투영되고 검출된 특성들을 비교함으로써 결정될 수 있다. 예를 들면, 각각의 투영된 라인의 강도가 인접한 투영된 라인들과 10%만큼 상이하면, 강도 값이 20인 특정한 투영된 라인에 대응(예컨대, 매칭)하는 반사된 라인은 5%와 같은 공차 플러스 또는 마이너스 20의 강도를 가지는 라인에 대해 반사된 라인들을 검색함으로써 식별될 수 있다.
특정한 실시예들에서, 투영되고 검출된 패턴들의 라인 구조들은 비 매칭 특성을 갖지만 특성들이 매칭하는 다른 라인들의 쌍들 사이에 있는 라인들을 식별하기 위해 사용될 수 있다. 예를 들면, 10개의 수평 라인들이 그리드에서 투영되고, 제 1 라인이 1의 강도를 갖고, 제 2 라인이 10의 강도를 갖고, 등, 최대 10번째 라인이 100의 강도를 가지면, 검출된 강도 값이 23인 특정한 검출된 라인에 대응하는 투영된 라인은 23 미만인 하나의 측면에 인접한 투영된 라인 및 23보다 큰 다른 측면에 인접한 투영된 라인을 가지는 투영된 라인에 대해 투영된 라인들을 검색함으로써 식별될 수 있다.
특정한 실시예들에서, 투영된 접합점(630a)이 특정한 검출된 접합점(630b)에 대응한다는 결정에 모호성이 있을 수 있다. 예를 들면, 2개의 인접한 라인들의 반사된 강도들은 특정 상황들에서 구별하기 어려울 수 있다. 특정한 접합점에서의 모호성은 주위의 접합점들에 대해 행해진 결정들을 사용하여 또한 확인되거나 감소될 수 있다. 검출된 속성들(예컨대, 강도, 피치, 등) 또는 검출된 접합점의 결정된 위치는 이웃하는 접합점들로 전파될 수 있다. 각각의 접합점의 검출된 속성들 또는 결정된 위치는 연관된 신뢰 값들을 가질 수 있고, 신뢰 값들은 검출된 속성들 또는 결정된 위치들과 함께 이웃 접합점들로 전파될 수 있다.
특정한 실시예들에서, 이미지에서의 물체(602)의 깊이는 검출된 수직 및 수평 라인들(610b 및 620b)이 이미지에서 물체(602)와 교차하는 검출된 접합점(630b)을 식별함으로써 결정될 수 있다. 검출된 접합점(630b)의 조명 특성들은 그 다음, 대응하는 투영된 접합점(630a)을 식별하기 위해 사용될 수 있으며, 이는 검출된 접합점(630b)에 대응하는 물체(602)의 지점의 깊이(예컨대, 지점까지의 거리)를 삼각 측량하기 위해 사용될 수 있다. 조명 특성들은 투영된 접합점에서 인코딩된 정보로서 이해될 수 있으며, 접합점(630b)에서 교차하는 검출된 라인들의 강도들 및 그들의 대응하는 강도들, 이웃하는 라인들까지의 거리들, 및 도 11 참조하여 설명되는 시간적으로 인코딩된 정보를 포함할 수 있다. 조명 특성들은 접합점들 사이의 라인들에 따라 다른 접합점들로 전파될 수 있다. 전파는 단계들에서 예컨대, 접합점에서 결정되거나 수신된(또 다른 접합점으로부터) 조명 특성들을 적합한 시간에 예컨대, 각각의 프레임 다음에, 또는 각각의 N개의 프레임들 다음에 각각의 인접한 접합점(예컨대, 1도 이웃)으로 전파함으로써 수행될 수 있다. 이러한 방식으로, 정보는 로컬화된 방식으로 접합점들 사이에 전파될 수 있다. 접합점들의 그래프에 걸친 정보의 전파는 빠르게 수렴될 수 있다. 결정들에 관한 신뢰성 정보(예컨대, 신뢰 값들)가 또한 전파될 수 있다. 신뢰성 임계치들은 정보를 다른 접합점들로 전파할지의 여부를 결정하기 위해 사용될 수 있다. 신뢰성 정보는 예를 들면, 가중된 그래프를 형성하기 위해 사용될 수 있고, 여기서 노드들은 접합점들에 대응하고 에지들은 접합점들 사이의 라인들에 대응한다. 검출된 접합점(630b)의 깊이는 접합점(630b)에서 이용 가능한 정보에 기초하여 삼각 측량을 사용하여 계산될 수 있고, 이용 가능한 정보는 속성들 및 근처의 접합점들의 위치들 또는 깊이들과 같은 다른 접합점들로부터 전파된 정보를 포함할 수 있다.
도 7은 다양한 라인 강도들을 가지는 예시적인 그리드 광 패턴들(704, 706)을 도시한다. 도 7에서 볼 수 있는 바와 같이, 투영된 패턴(704)의 각각의 라인의 강도는 그 위의(수평 라인들에 대해) 또는 그의 좌측(수직 라인들에 대해)의 라인의 강도보다 클 수 있다. 일례로서, 투영된 라인들(710, 720)의 각각이 고유한 강도를 가지는 경우, 검출된 접합점(730b)이 카메라(220)에 의해 검출될 때, 접합점(730b)을 형성하는 교차하는 검출된 라인들(710b, 720b)의 강도들은 카메라에 의해 검출되고 대응하는 강도들을 가지는 교차하는 투영된 라인들을 식별함으로써 검출된 접합점(730b)에 대응하는 특정 투영된 접합점(730a)을 식별하기 위해 사용될 수 있다. 예를 들면, 투영된 라인(710a)의 강도가 20이고 투영된 라인(720a)의 강도가 30이면, 강도가 20인 검출된 라인(710b)은 투영된 라인(710a)에 대응할 수 있고 강도가 30인 검출된 라인(720b)은 투영된 라인(710b)에 대응할 수 있다. 또 다른 예로서, 강도는 다른 방식들로 달라질 수 있고 예컨대, 각각의 라인의 강도는 그 위에 있는(수평 라인들에 대해) 라인의 강도 미만이고 그의 좌측의(수직 라인들에 대해) 라인의 강도 미만일 수 있다. 투영된 라인들의 강도는 투영된 그리드 패턴(704)을 가로질러 증가할 수 있으므로, 투영된 라인(712a)의 강도는 또 다른 라인(710a)의 강도에 예컨대, 1.25, 1.5, 2.0, 0.5, 등과 같은 인자를 곱함으로써 결정된 값에 기초하여 설정될 수 있다. 또 다른 예로서, 투영된 라인(712a)의 강도는 각각의 투영된 라인에 대해 증가되는 카운터 값에 기초하여, 또는 투영된 그리드(704)에서 고유한 무작위로 선택된 값과 같은, 투영된 그리드(704)의 각각의 투영된 라인(710, 720)에 대해 고유한 또 다른 값에 기초하여 설정될 수 있다.
도 8은 다양한 라인 패턴들을 가지는 예시적인 그리드 광 패턴들(804, 806)을 도시한다. 도 8에서 볼 수 있는 바와 같이, 각각의 투영된 라인(810a, 812a, 814a)은 상이한 라인 패턴을 가질 수 있다. 라인 패턴들의 각각은 예컨대, 점들의 라인(예컨대, 작은 원들)을 형성하도록 배열된 점들, 점선, 또는 라인으로 배열된 다른 형상들일 수 있다. 라인 패턴은 균일할 수 있으며 예컨대, 형상들 사이에 일정한 거리를 가질 수 있고, 형상들은 동일한 크기일 수 있다. 대안적으로, 형상들 사이의 거리, 또는 형상들의 크기가 다를 수 있다. 일례로서, 각각의 투영된 라인(810a)의 형상들 사이의 거리는 인접한 투영된 라인(810b)의 형상들 사이의 거리보다 클 수 있거나, 각각의 라인에서 형상들의 크기는 인접한 라인의 형상들의 크기보다 클 수 있다.
일례로서, 투영된 라인들(810a, 820a)의 각각이 고유한 라인 패턴(예컨대, 대시들 또는 점들과 같은 요소들의 크기 및/또는 형상)을 가지는 경우, 검출된 접합점(830b)이 카메라(220)에 의해 검출될 때 접합점(830b)을 형성하는 교차 검출된 라인들(810b, 820b)의 패턴들은 카메라(220)에 의해 검출되고 대응하는 패턴들을 갖는 교차 투영된 라인들을 식별함으로써 검출된 접합점(830b)에 대응하는 특정 투영된 접합점(830a)을 식별하기 위해 사용될 수 있다. 예를 들면, 투영된 라인(810a)이 각각의 대시의 길이가 각각의 쌍의 대시들 사이의 공간의 길이의 2배인 점선 패턴을 가지는 경우, 동일한 점선 패턴을 가지는 검출된 라인(810b)은 투영된 라인(810a)에 대응한다.
도 9는 그리드 광 패턴 및 대응하는 공액 라인의 이동을 도시한다. 특정한 실시예들에서, 특정한 접합점 지점에서, 수평 및 수직 라인들은 깊이에 일치한다. 예컨대, 디바이스의 이동(예를 들면, GPS 좌표들의 변경에 의해 검출될 수 있음) 또는 장면에서 물체의 이동(예를 들면, 카메라에 의해 캡쳐된 이미지의 변경에 의해 검출될 수 있음)의 결과로서 깊이의 이동이 존재할 때, 반사된 라인들의 교차 지점이 이동할 수 있다. 라인들이 이동 이전에 교차한 초기 지점과 그들이 이동 후에 교차하는 후속 지점 사이의 라인은 본 명세서에서 공액 라인(906)으로서 언급된다. 공액(906)은 경로에 대응할 수 있고, 2개의 접합점들은 그 경로에만 위치될 수 있다. 하나의 방향에 N개의 라인들이 있고 수직 방향에 M개의 라인들이 있는 경우, 그들이 이동할 수 있는 특정 경로들을 갖는 NxM개의 접합점들이 존재한다. 이들 경로들은 가능한 한 서로 공통점이 적어야 한다. 그 다음, 한 지점이 특정한 경로에 위치되면, 대응하는 2개의 접합점들이 결정될 수 있다.
특정한 실시예들에서, 베이스라인 거리들(예컨대, 제 1 및 제 2 프로젝터들 사이의 거리)이 주어지면, 접합점은 상대적으로 적은 수의 가능한 선택들 중 하나일 수 있는데, 이는 단지 상대적으로 적은 수의 수평 및 수직 라인 쌍들이 그 지점에서 교차할 수 있기 때문이다. 어떤 라인들이 접합점에 대응하는지를 확인하기 위해, 그리드의 모든 접합점들을 확인할 필요가 없다(M개의 수평 라인들과 N개의 수직 라인들로 구성된 그리드는 MxN개의 접합점들을 포함할 수 있음). 이미지에서 검출된 지점에 잠재적으로 대응할 수 있는 접합점들의 서브세트만 검색될 필요가 있다. 서브세트는 접합점의 초기 위치와 교차하는 공액 라인의 또는 그 근처의 접합점들을 포함할 수 있다. 예를 들면, 지점에 도달할 수 있는 5개의 수직/수평 라인 쌍들이 존재하는 경우, 단지 그들 쌍들은 지점에 대응하는 쌍을 식별하기 위해 검색될 필요가 있다. 게다가, 수직 프로젝터 및 카메라 쌍에 대한 라인은 깊이 변화에 기초하여 특정 거리만큼 또는 최대 특정 거리까지 단지 이동할 수 있다. 유사하게, 수평 프로젝터 및 카메라 쌍에 대한 라인은 동일한 깊이 변화에 기초하여 특정 거리만큼 또는 최대 특정 거리까지 단지 이동할 수 있다. 두 가지의 조합 예컨대, 라인들의 교차 지점은 공액에 대응하는 제한된 방식으로 이동할 수 있다. 교정(수평 및 수직 베이스라인들)은 2개의 공액 제약들을 생성할 수 있으며, 이들은 접합점이 이동할 수 있는 라인 예컨대, 공액을 결정할 수 있다. 이 제약은 반사된 접합점에 대응하는 가능한 투영된 접합점들의 세트를 좁힐 수 있다. 상기 설명된 강도 및 피치 코딩은 또한, 투영된 접합점을 식별하는데 모호성이 있는 경우 반사된 접합점에 대응하는 가능한 투영된 접합점들을 좁히기 위해 사용될 수 있다. 인코딩 및 공액 제약들은 반사된 수직 수평 라인 쌍이 대응할 수 있는 단일 투영된 수직 수평 라인 쌍(예컨대, 접합점)으로 가능성들을 좁히기 위해 조합될 수 있다.
일례로서, 카메라로 캡쳐한 장면에서 디바이스 또는 물체의 이동이 검출될 때, 초기 지점(이동 이전에)에서 검출된 반사된 접합점은 (이동에 후속하여) 이미지의 후속 지점(예컨대, 픽셀)에서 검출될 수 있다. 후속 지점에서 검출된 반사된 접합점이 초기 지점(예컨대, 초기 지점에서 검출된 동일한 반사된 접합점이고, 따라서 초기 지점에서 검출된 접합점과 동일한 투영된 접합점에 대응함)에서 검출된 접합점에 대응하는지의 여부를 결정하기 위해, 후속 지점의 위치는 초기 지점을 교차하는 공액 라인과 비교될 수 있다. 후속 지점이 공액 라인에 있는 경우(또는 충분히 가까운 경우), 후속 지점에서 검출된 반사된 접합점은 초기 지점에서 검출된 동일한 반사된 접합점에 대응할 수 있고, 따라서 초기 지점에서 검출된 반사된 접합점과 동일한 투영된 접합점에 대응할 수 있다.
도 9를 참조하면, 접합점(942a)을 포함하는 투영된 그리드 광 패턴(904a)이 물체(902)에 투영된다. 그리드 광 패턴(904)은 제 1 프로젝터에 의해 투영된 수평 라인들을 포함한다. 패턴(904a)의 수평 그리드 라인들은 제 1 프로젝터에 의해 투영되고 수직 그리드 라인들은 제 2 프로젝터에 의해 투영된다. 투영된 패턴(904a)의 반사는 카메라에 의해 검출되고 투영된 접합점(942a)에 대응하는 검출된 접합점 위치(942b)를 가지는 검출된 패턴(904b)을 생성하기 위해 사용될 수 있다. 후속적으로, 물체(902)가 카메라에 대해 우측 및 위쪽으로 이동하는 움직임이 발생하고, 따라서 접합점 위치가 제 2 검출된 접합점 위치(942c)로 이동한다. 위치(942b)로부터 위치(942c)까지의 접합점의 움직임은 공액 라인(906)을 따를 수 있다. 게다가, 물체에 대한 깊이가 변경됨에 따라, 수평 라인들을 투영하는 프로젝터로부터의 검출된 라인들은 이미지에서 위 또는 아래로 이동할 수 있고, 수직 라인들을 투영하는 프로젝터로부터 검출된 라인들은 이미지에서 좌측 또는 우측으로 이동할 수 있다.
도 10은 그리드 광 패턴들을 사용하여 깊이를 결정하기 위한 일 예시적인 방법(1000)을 도시한다. 방법은 단계(1010)에서 시작할 수 있으며, 여기서 방법은 제 1 프로젝터를 사용하여, 하나 이상의 제 1 투영된 조명 특성들을 가지는 제 1 투영된 패턴을 투영할 수 있다. 단계(1020)에서, 방법(1000)은 제 2 프로젝터를 사용하여, 하나 이상의 제 2 투영된 조명 특성들을 가지는 제 2 투영된 패턴을 투영할 수 있으며, 제 1 투영된 패턴은 제 2 투영된 패턴과 교차한다. 단계(1030)에서, 방법(1000)은 카메라를 사용하여, 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는 제 1 및 제 2 검출된 패턴들을 포함하는 이미지를 캡쳐할 수 있으며, 카메라는 제 1 프로젝터로부터의 제 1 베이스라인 거리에 및 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치된다.
단계(1040)에서, 방법(1000)은 제 1 및 제 2 검출된 패턴들의 검출된 조명 특성들을 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 및 제 2 투영된 패턴들 중 적어도 하나의 투영된 지점에 대응하는 이미지에서 검출된 지점을 식별할 수 있다. 단계(1050)에서, 방법(1000)은 투영된 지점, 검출된 지점, 및 카메라와 제 1 및 제 2 프로젝터들 중 적어도 하나 사이의 상대 위치에 기초하여 검출된 지점과 연관된 깊이를 계산할 수 있다.
특정한 실시예들에서, 제 1 투영된 패턴은 복수의 제 1 투영된 라인들을 포함하고, 제 2 투영된 패턴은 복수의 제 2 투영된 라인들을 포함할 수 있다. 검출된 조명 특성들은 복수의 제 1 반사된 라인들 및 제 1 반사된 라인들과 교차하는 복수의 제 2 반사된 라인들을 포함할 수 있고, 제 1 및 제 2 반사된 라인들은 물체의 표면으로부터의 제 1 및 제 2 투영된 라인들의 반사들에 기초할 수 있다. 제 1 및 제 2 투영된 패턴들 중 하나 이상의 투영된 지점에 대응하는 이미지에서 검출된 지점은 제 1 반사된 라인들 중 하나가 제 2 반사된 라인들 중 하나와 교차하는 반사된 접합점을 식별함으로써 식별될 수 있다.
특정한 실시예들에서, 반사된 접합점은 하나 이상의 반사된 접합점 특성들과 연관될 수 있다. 투영된 접합점은 투영된 접합점이 제 1 투영된 라인들 중 하나와 제 2 투영된 라인들 중 하나와의 교차 지점에 있도록, 반사된 접합점에 대응할 수 있고, 투영된 접합점은 (1) 제 1 투영된 패턴과 연관된 하나 이상의 제 1 투영된 조명 특성들 및 (2) 제 2 투영된 패턴과 연관된 하나 이상의 제 2 투영된 조명 특성들에 기초하여 결정된 하나 이상의 투영된 접합점 특성들과 연관되며, 투영된 접합점 특성들 중 하나 이상은 반사된 접합점 특성들 중 하나 이상과 매칭한다. 검출된 지점에 대한 깊이는 반사된 접합점과 연관된 깊이에 기초하여 결정될 수 있으며, 이는 카메라, 프로젝터들 중 적어도 하나, 반사된 접합점, 및 반사된 접합점에 대응하는 투영된 접합점에 기초하여 결정될 수 있다.
특정한 실시예들은 적절한 경우, 도 10의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정 순서로 발생하는 것으로서 도 10의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 10의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 10의 방법의 특정한 단계들을 포함하는 그리드 광 패턴들을 사용하여 깊이를 결정하기 위한 일 예시적인 방법을 설명하고 도시할지라도, 본 발명은 임의의 적합한 단계들을 포함하는 그리드 광 패턴들을 사용하여 깊이를 결정하기 위한 임의의 적합한 방법을 고려하며, 이는 적절한 경우, 도 10의 방법의 단계들의 전부, 일부를 포함하거나, 그들 중 어느 것도 포함하지 않을 수 있다. 또한, 본 발명이 도 10의 방법의 특정한 단계들을 수행하는 특정한 구성요소들, 디바이스들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 10의 방법의 임의의 적합한 단계들을 수행하는 임의의 적합한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
특정한 실시예들에서, 깊이 감지는 라인과 같은 패턴을 투영하고, 투영된 패턴과 연관될 수 있는 시간적 조명 특성 패턴에 따라 시간 기간에 걸쳐 조명 강도와 같은, 패턴의 투영된 조명 특성을 다르게 함으로써 수행될 수 있다. 시간적 조명 특성 패턴은 예를 들면, 조명 강도들의 패턴일 수 있다. 카메라는 검출된 패턴을 형성하기 위해 시간 주기에 걸쳐 복수의 이미지들에서 투영된 패턴 예컨대, 라인을 캡쳐하고, 검출된 패턴에 기초하여 검출된 시간적 조명 특성 패턴 예컨대, 3, 5, 7, 및 9와 같은 조명 강도들의 패턴을 결정할 수 있다. 깊이 감지 시스템은 검출된 시간적 조명 특성 패턴을 투영된 패턴들을 위해 사용된 투영된 시간적 조명 특성 패턴들과 비교함으로써 주어진 검출된 패턴에 대응하는 특정한 투영된 패턴을 식별할 수 있다. 동일한 시간적 조명 특성 패턴 예컨대, 3, 5, 7, 및 9를 갖는 투영된 패턴은 주어진 검출된 패턴에 대응하는 특정한 투영된 패턴일 수 있다.
도 11은 예시적인 시간적 조명 패턴들(1102 내지 1130)을 도시한다. 예컨대, 시간적 조명 특성 패턴에 따라 시간에 걸쳐 하나 이상의 특성들이 달라지는 조명 패턴은 적합한 유형의 프로젝터를 사용하여 투영될 수 있다. 투영된 조명 특성 패턴은 하나 이상의 형상들의 조명 특성들로서 투영될 수 있다. 조명 특성들은 예컨대, 형상들의 강도들, 라인들 사이의 거리들과 같은 형상들의 기하학적 특성들, 또는 하나 이상의 투영된 형상들의 다른 적합한 특성들일 수 있다. 형상들은 예컨대, 라인들의 그리드일 수 있으며, 형상들은 패턴에 의해 명시된 조명 특성들을 가질 수 있다. 하나 이상의 형상들은 상이한 조명 특성들을 사용하여 상이한 시간들에서 투영될 수 있다. 카메라는 이미지들의 시퀀스에서 반사된 광 빔들을 캡쳐하고 이미지들에 기초하여 시간적 조명 특성들의 검출된 패턴을 식별할 수 있다. 투영된 조명 특성들의 이전에 투영된 형상 패턴들의 특성들은 투영된 빔들에 대응하는 이미지 픽셀들을 발견하기 위해 캡쳐된 이미지들의 시퀀스에서 검출된 패턴들의 특성들과 비교될 수 있으며, 그 대응은 대응하는 이미지 픽셀들의 위치들에 기초하여 삼각 측량에 의해 각각의 픽셀의 깊이를 결정하기 위해 사용될 수 있다. 물체까지의 거리들은 삼각 측량 기술들을 사용하여 카메라에 의해 검출된 반사들에 기초하여 결정될 수 있으며, 여기서 카메라에 의해 검출된 라인들 또는 다른 패턴들과 투영된 라인들 사이의 대응은 검출된 라인들 또는 다른 패턴들에 대응하는 투영된 빔을 식별하기 위해 투영된 빔들의 시간적 조명 특성들의 알려진 패턴들과 시간에 걸쳐 수신된 빔들의 시간적 조명 특성들의 패턴을 매칭함으로써 식별될 수 있다.
특정한 실시예들에서, 시간적 조명 특성들은 광 강도 값들일 수 있다. 프로젝터에 의해 사용된 강도들은 시간적 조명 특성 패턴을 사용하여 결정될 수 있으며, 이는 일 예시적인 시퀀스(1102)와 같은 값들의 시퀀스일 수 있다. 예시적인 시퀀스(1102)는 값들(3, 5, 7, 9)을 갖는다. 시퀀스의 각각의 값은 시간의 지속기간 예컨대, 5 밀리초, 100 밀리초, 또는 다른 적절한 지속기간 동안 투영될 수 있다. 시간 값들은 시퀀스의 각각의 수가 상이한 시간에서 투영된 라인의 강도로서 사용될 수 있음을 도시하기 위해 도 11의 시퀀스(1102)와 연관된다. 따라서, 예를 들면, T 밀리초의 지속기간 동안 3의 강도를 가지는 라인 또는 다른 형상이 투영될 수 있으며, 그 후에 강도는 또 다른 T 밀리초 동안 5로, 그 다음 또 다른 T 밀리초 동안 3으로, 그리고 또 다른 T 밀리초 동안 9로 변경될 수 있다. 패턴은 그 다음, 반복될 수 있다. 각각의 강도가 투영되는 시간의 지속기간은 프레임들이 캡쳐되는 레이트에 대응할 수 있으며, 이 경우에 각각의 라인의 강도는 프레임들의 시퀀스의 과정을 통해 달라질 수 있다. 패턴을 투영하는 시간은 패턴의 시간 기간으로서 언급될 수 있다. 이 예에서, 패턴(1102)의 시간 주기는 4T 밀리초이다. 프레임은 매 T 밀리초마다 캡쳐될 수 있어서 각각의 강도가 별개의 프레임에서 캡쳐되게 한다. 패턴은 그 다음, 캡쳐된 프레임들에 기초하여 결정될 수 있다. 예를 들면, 연관된 강도를 가지는 검출된 패턴은 각각의 프레임에서 검출된 라인 또는 다른 피쳐의 강도에 기초하여 결정될 수 있다. 이 예에서 검출된 시간적 패턴은 3, 5, 7, 9이다. 검출된 시간적 패턴은 그 다음, 각각의 투영된 라인을 식별하기 위해 사용될 수 있다. 이 예에서, 검출된 패턴(3, 5, 7, 9)은 이전에 투영된 패턴(3, 5, 7, 9)과 비교될 수 있으며, 패턴(3, 5, 7, 9)이 투영되었을 때 투영된 라인은 검출된 라인에 대응하는 투영된 라인일 수 있다. 상이한 투영된 라인들에 대해 상이한 시퀀스들이 사용될 수 있다. 시퀀스는 시간 기간에 걸쳐 예컨대, 특정한 시간 또는 일 동안 깊이 감지 시스템에 의해 투영된 다른 시퀀스들에 비해 고유한 시퀀스일 수 있다. 시퀀스가 시간 기간 동안 검출될 수 있는 다른 시퀀스들과 상이하기 때문에, 시퀀스에 대응하는 투영된 형상 패턴(604)은 검출된 패턴(606)과 동일한 시퀀스를 가지는 투영된 패턴을 발견함으로써 식별될 수 있다. 시퀀스 길이에 대응하는 다수의 프레임들을 캡쳐한 후에, 특정한 검출된 라인에 대응하는 투영된 라인은 검출된 시퀀스를 투영된 시퀀스와 비교함으로써 식별될 수 있다.
카메라 프레임들로부터 결정된 강도 값들이 정확하지 않을 수 있기 때문에, 다수의 연속 라인들의 강도들은 프로젝터에 의해 인코딩된 알려진 투영된 강도들의 시퀀스의 서브시퀀스와 매칭될 수 있다. 매칭될 연속 라인들의 이 수는 대응이 올바르게 식별되었다는 신뢰를 증가시키기 위해 증가될 수 있다. 즉, 각각의 투영된 빔의 강도 값은 특정한 길이(N)(예컨대, 3개의 연속된 수들)의 서브시퀀스들이 고유한 미리 결정된 시퀀스의 수에 대응할 수 있다. N개의 연속적으로 검출된 라인들에 대해, 미리 결정된 시퀀스에서 동일한 N개의 연속된 수들의 서브시퀀스를 발견함으로써 대응하는 투영된 라인들이 식별될 수 있다.
도 11은 시간적 조명 특성 패턴(3, 5, 7, 9)을 인코딩하는 3개의 상이한 투영된 패턴들을 도시한다. 상이한 강도들의 4개의 라인들(11104 내지 1110)은 패턴(3, 5, 7, 9)을 라인 강도들로 인코딩한다. 라인(1104)은 3의 강도를 가지며, 시간(T1)에서 시작하여 시간의 지속기간 동안 투영된다. 라인(1106)은 5의 강도를 가지며 시간(T2)에서 시작하여 시간의 지속기간 동안 투영된다. 라인(1108)은 7의 강도를 가지며 시간(T3)에서 시간의 지속기간 동안 투영된다. 라인(1110)은 9의 강도를 가지며 시간(T4)에서 시간의 지속기간 동안 투영된다.
또 다른 예로서, 폭들이 상이한 4개의 라인들(1114 내지 1120)은 패턴(3, 5, 7, 9)을 라인 폭들로 인코딩한다. 라인(1114)은 3의 폭(예컨대, 3개의 픽셀들)을 갖고, 라인(1116)은 5의 폭을 갖고, 라인(1118)은 7의 폭을 갖고, 라인(1120)은 9의 폭을 갖는다. 각각의 라인 폭은 시간의 지속기간 동안 투영될 수 있다. 각각의 라인은 시간의 동일한 지속기간 동안 투영될 수 있다. 대안적으로, 라인들(1114 내지 1120)은 상이한 시간의 지속기간들 동안 투영될 수 있고, 패턴의 상이한 특성들 사이의 변화들의 검출은 시간적 조명 특성들의 변화들에 기초하여 행해질 수 있다. 예를 들면, 투영된 패턴의 강도가 변경될 때, 카메라는 다음 프레임으로 진행할 수 있다.
일 예시적인 투영된 패턴(1124 내지 1130)은 시퀀스(1102)에 기초하여 밀도들이 상이한 평행 라인들을 포함한다. 제 1 투영된 패턴(1124)은 3개의 라인들을 갖고, 제 2 투영된 패턴(1126)은 5개의 라인들을 갖고, 제 3 투영된 패턴(1128)은 7개의 라인들을 가지며, 제 4 투영된 패턴(1130)은 9개의 라인들을 갖는다. 제 1 패턴(1124)은 시간의 지속기간 동안 투영될 수 있고, 이어서 제 2 패턴(1126)이 시간의 지속기간 동안, 제 3 패턴(1128)이 시간의 지속기간 동안, 및 제 4 패턴(1130)이 시간의 지속기간 동안 투영될 수 있다. 각각의 시간의 지속기간이 길이 T 시간 단위들인 경우 총 시간 기간은 4T이다. 투영된 패턴들(1124 내지 1130) 각각은 카메라에 의해 캡쳐될 수 있고, 각각의 투영된 패턴으로 인코딩된 수치 값은 시간적 조명 특성 값들의 검출된 패턴을 생성하기 위해 추출될 수 있다. 깊이 감지 시스템은 각각의 투영된 패턴(1124 내지 1130)에서 교차하지 않는 라인들의 수를 카운트할 수 있고, 따라서 제 1 패턴(1124)으로부터 수 3, 제 2 패턴(1126)으로부터 5, 제 3 패턴(1128)으로부터 7, 및 제 4 패턴(1130)으로부터 9를 결정할 수 있다.
검출된 시간적 조명 특성 패턴(1130)을 반복하는 일례는 시간(1)에서 수(0)를 포함하고, 이어서 패턴(3579)의 3회 연속 발생들, 및 시간(14)에서 수(1)을 포함한다. 제 1 발생은 시간(2 내지 5)에서 있고, 제 2 발생은 시간(6 내지 9)에서 있으며, 제 3 발생은 시간(10 내지 13)에서 있다. 투영된 조명 특성 패턴은 이 방식으로 반복될 수 있어서 그것이 더 넓은 범위의 시간들에서 검출될 수 있게 한다. 패턴은 상이한 패턴이 선택될 때까지 계속 반복될 수 있다. 깊이 감지 시스템은 패턴(1130)에 기초하여 패턴을 반복 시퀀스(3, 5, 7, 9)로서 식별할 수 있다.
특정한 실시예들에서, 프로젝터는 카메라로부터 고정된 거리들에서 헤드셋과 같은 구조 또는 디바이스에 장착될 수 있다. 상이한 강도들의 광을 투영하기 위해, 프로젝터는 방출기들의 라인들을 사용할 수 있으며, 각각의 라인에 상이한 수의 방출기들이 존재할 수 있어서, 각각의 라인이 상이한 강도를 투영할 수 있게 한다. 대안적으로, 주소지정가능한 조명기들이 사용될 수 있으며, 여기서 상이한 전류들이 상이한 강도들을 생성하기 위해 방출기들에 인가될 수 있다.
시간적 강도 인코딩은 상이한 동시에 투영된 라인들(상이한 위치들에 투영됨)에 대해 상이한 강도들을 사용하거나, 투영된 라인들 사이의 거리를 다르게 하는 것과 같은 다른 인코딩 기술들과 조합될 수 있다. 이들 인코딩들은 카메라 이미지에서 검출된 특정한 지점이 패턴에 있는 위치에 관한 모호성을 확인하고 그에 의해, 삼각 측량들을 사용하여 그 지점의 깊이를 결정하기 위해 사용될 수 있다.
특정한 실시예들에서, 프로젝터는 라인들 또는 다른 형상들과 같은 하나 이상의 형상들을 포함할 수 있는 투영된 패턴으로서 본 명세서에서 언급된 패턴을 투영할 수 있다. 각각의 투영된 패턴은 투영된 패턴의 조명 특성이 시간에 따라 어떻게 변하는지를 명시할 수 있는 투영된 시간적 조명 특성 패턴과 연관될 수 있다. 일례로서, 2개의 상이한 투영된 패턴들, Pat1 및 Pat2가 투영될 수 있다. Pat1은 라인일 수 있으며, 연관된 시간적 조명 특성 패턴(1, 3, 5, 7)을 가질 수 있다. Pat2는 점(예컨대, 광의 지점)일 수 있고 연관된 시간적 조명 특성 패턴(2, 4, 6)을 가질 수 있다.
카메라는 투영된 패턴들을 포함하는 이미지들을 캡쳐할 수 있다. 예를 들면, 카메라는 Pat1의 라인 및 Pat2의 점 둘 모두의 이미지를 캡쳐할 수 있다. 카메라는 특정한 프레임 레이트 예컨대, 초 당 30 프레임들 또는 다른 적합한 레이트로 이미지들을 캡쳐할 수 있다. 프로젝터는 동일한 레이트로 패턴 값들을 투영할 수 있다. 따라서, 프로젝터는 초 당 30 프레임들에 대응하는 시간의 지속기간 동안 시간(T1)에서 1의 강도를 가지는 라인 및 2의 강도를 가지는 점을 투영할 수 있다. 카메라는 강도(1)를 가지는 라인 및 강도(2)를 가지는 원을 포함하는 이미지를 캡쳐할 수 있고, 이어서 강도(3)를 가지는 라인 및 강도(4)를 가지는 점을 포함하는 또 다른 프레임을 캡쳐할 수 있다. 깊이 감지 시스템은 이들 2개의 시퀀스들을 이전에 투영된 시퀀스들과 매칭하려고 시도할 수 있다. 이전에 투영된 시퀀스들은 1, 3, 5, 7 및 2, 4, 6이고, 따라서 검출된 시퀀스들(1, 3 및 2, 4) 중 어느 것도 매칭하지 않는다. 프로젝터는 5의 강도를 갖는 라인 및 6의 강도를 갖는 점을 투영함으로써 계속될 수 있다. 깊이 감지 시스템은 검출된 시퀀스들을 이전에 투영된 시퀀스들과 비교할 수 있으며, 점을 투영하기 위해 사용된 패턴(2, 4, 6)에 대한 매치를 발견할 수 있다. 시퀀스(2, 4, 5)는 투영된 점 패턴과 연관되고, 따라서 투영된 점 패턴은 검출된 점 패턴에 대응하는 투영된 패턴으로서 식별된다.
깊이가 결정될 때, 신뢰 레벨은 각각의 패턴과 연관될 수 있다. 신뢰 레벨이 낮으면, 라인은 예컨대, 검출될 수 있는 상이한 주파수에서 종료되거나 다음 프레임에서 상이하게 투영될 수 있다. 이 기술은 어두운 물체들을 위해 또는 많은 잡음이 존재할 때, 결정된 깊이를 입증하고 원하는 레벨의 정확도를 성취하기 위해 사용할 수 있다.
각각의 투영된 라인은 시간에 걸쳐 라인을 검출하기 위해 사용할 수 있는 고유한 패턴을 특정 시퀀스로 투영할 수 있다. 따라서, (1) 각각의 라인이 시간에 걸쳐 변하는 고유한 패턴 예컨대, 강도의 패턴을 갖고, (2) 프로젝터가 패턴을 충분히 빠르게 반복하고, (3) 카메라의 프레임 레이트가 프로젝터의 반복 레이트와 매칭할 만큼 충분히 높으며, (4) 장면의 물체들이 정지되어 있거나 충분히 느리게 이동하고 있는 경우, 라인은 고유한 패턴에 기초하여 고유하게 식별될 수 있다. 고유한 패턴, 및 더 느리거나 존재하지 않는 이동으로 인해, 라인의 깊이는 로컬 정보(즉, 라인의 검출된 패턴)에 기초하여 확인될 수 있다. 고유한 패턴을 식별하기 위해 필요한 프레임 레이트는 장면에서의 이동 속도에 기초할 수 있고, 따라서 이동과 시간 사이에 트레이드 오프(trade-off)가 존재한다. 장면이 정지되어 있거나 느린 이동만 있는 경우, 상대적으로 낮은 프레임 레이트 예컨대, 50FPS가 충분할 수 있다. 더 빠른 이동을 가질 수 있는 장면들에 대해, 1 내지 2 밀리초 간격 동안 사실상 일반적으로 이동이 존재하지 않기 때문에, 더 높은 프레임 레이트들 예컨대, 500 내지 1000FPS가 필요하다. 검출될 필요가 있는 패턴의 기간들의 수는 패턴의 밀도에 대응할 수 있다. 라인의 깊이는 패턴이 충분히 높은 레이트로 변경되고 카메라의 프레임 레이트에 의존하여 패턴이 변경되는 레이트를 늦출 때 라인의 검출된 패턴에 기초하여 확인될 수 있다.
도 12는 시간적 패턴들을 사용하여 깊이를 결정하기 위한 일 예시적인 방법(1200)을 도시한다. 방법은 단계(1210)에서 시작할 수 있으며, 여기서 방법(1200)은 적어도 하나의 프로젝터를 사용하여, 복수의 투영된 패턴들을 투영할 수 있으며, 투영된 패턴들의 각각의 투영된 조명 특성은 그 투영된 패턴과 연관된 미리 결정된 시간적 조명 특성 패턴에 따라 시간 주기에 걸쳐 달라진다. 단계(1220)에서, 방법(1200)은 카메라를 사용하여, 시간 기간 동안 상이한 시간들에서 복수의 이미지들을 캡쳐할 수 있으며, 이미지들은 시간 기간 동안 투영되는 복수의 투영된 패턴들 중 적어도 일부의 반사들에 대응하는 검출된 패턴들을 포함한다. 단계(1230)에서, 방법(1200)은 검출된 패턴들의 각각에 대해, 시간 기간 동안 검출된 패턴의 검출된 조명 특성의 변동들에 기초하여 검출된 시간적 조명 특성 패턴을 결정할 수 있다. 단계(1240)에서, 방법(1200)은 검출된 시간적 조명 특성 패턴들 중 적어도 하나를 시간 기간과 연관된 미리 결정된 시간적 조명 특성 패턴들 중 적어도 하나와 비교함으로써 투영된 패턴들 중 하나 이상에 대응하는 검출된 패턴들 중 하나 이상을 식별할 수 있다. 단계(1250)에서, 방법(1200)은 대응하는 투영된 패턴(들), 검출된 패턴(들), 및 카메라와 프로젝터 사이의 상대 위치에 기초하여 식별된 검출된 패턴(들)과 연관된 하나 이상의 깊이들을 계산할 수 있다.
특정한 실시예들은 적절한 경우, 도 12의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정 순서로 발생하는 것으로서 도 12의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 12의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 12의 방법의 특정한 단계들을 포함하는 시간적 패턴들을 사용하여 깊이를 결정하기 위한 일 예시적인 방법을 설명하고 도시할지라도, 본 발명은 임의의 적합한 단계들을 포함하는 시간적 패턴들을 사용하여 깊이를 결정하기 위한 임의의 적합한 방법을 고려하며, 이는 적절한 경우, 도 12의 방법의 단계들의 전부, 일부를 포함하거나, 그들 중 어느 것도 포함하지 않을 수 있다. 또한, 본 발명이 도 12의 방법의 특정한 단계들을 수행하는 특정한 구성요소들, 디바이스들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 12의 방법의 임의의 적합한 단계들을 수행하는 임의의 적합한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
특정한 실시예들에서, 프로젝터와 같은 발광 디바이스는 다수의 개별적으로 주소지정가능한 방출기들을 가질 수 있다. 다수의 방출기들은 조명 패턴을 생성하기 위해 활성화될 수 있으며, 조명 패턴은 카메라에 의해 검출되고 예컨대, 반사된 패턴들을 특정한 투영된 패턴들과 매칭하고 삼각 측량들을 수행함으로써 물체들의 위치들을 결정하기 위해 사용될 수 있는 개별적인 광원들의 세트로서 나타날 수 있다. 프로젝터와 같은 발광 디바이스에서 방출기들의 배열의 밀도는 위치들이 결정되는 정확도에 영향을 미칠 수 있다. 예를 들면, 서로 더 가까운 방출기들은 영역의 단위로 더 많은 검출가능한 지점들을 제공할 수 있다. 그러나, 방출기들이 서로 너무 가까우면, 빔의 중심 근처의 광이 매우 밝은, 각각의 방출기에 의해 투영된 빔의 광 강도의 가우시안 분포로 인해, 인접한 방출기들로부터의 광이 병합(예컨대, 중첩)될 수 있으며, 개별적인 방출기들로부터의 광 빔들은 임계 거리보다 가까운 카메라에 의해 뷰잉될 때 확인가능하지 않게 될 수 있다. 따라서, 카메라가 프로젝터에 상대적으로 가까울 때, 인접한 방출기들은 그들의 광 빔들의 병합을 방지하기 위해 충분히 큰 분리 거리만큼 서로 분리되어야 한다. 그러나, 더 먼 거리들로부터 뷰잉될 때, 그 분리 거리에 의해 분리되는 방출기들은 더 멀리 떨어져 나타나고, 깊이 해상도 정확도가 따라서, 감소될 수 있다.
특정한 실시예들에서, 이 문제를 해결하기 위해, 카메라가 프로젝터에 더 가깝게 이동함에 따라, 다수의 방출기들로부터의 가우시안 광 빔들이 함께 병합될 때, 활성 방출기들 사이에 부가적인 공간을 제공하기 위해 활성 방출기들 중 하나 이상이 비활성화될 수 있다. 카메라가 방출기에서 멀어질 때 감소된 정확도를 회피하기 위해, 카메라가 프로젝터로부터 더 멀어지고, 검출된 광원들 사이의 거리가 증가함에 따라, 부가적인 방출기들이 활성화될 수 있다. 카메라가 방출기로부터 특정 광의 지점들을 식별할 수 있는 거리들의 범위는 따라서, 방출된 광 패턴을 수정함으로써 연장될 수 있고, 따라서 각각의 인접한 쌍의 조명된 방출기들 사이의 거리는 카메라가 더 멀리 있을 때보다 카메라가 방출기들에 더 가까울 때 더 크다. 이 방식으로 방출기들 사이의 거리를 증가시키는 것은 카메라가 더 가까울 때 상이한 방출기들에 의해 생성된 광이 함께 병합되는 것을 방지한다. 방출된 광 패턴은 카메라가 방출기로부터 멀어질 때 인접한 쌍들의 방출기들 사이의 거리가 더 작아지도록 수정될 수 있는데, 이는 방출기 사이의 거리가 그렇지 않으면, 필요한 것보다 커질 것이고, 이는 지점 위치들의 덜 정확한 식별을 야기할 수 있기 때문이다.
특정한 실시예들에서, 주소지정가능한 방출기들을 포함하는 투영 디바이스에 의해 투영된 광 패턴의 밀도는 개별적인 방출기들을 활성화하거나 비활성화함으로써 달라질 수 있다. 함께 더 가깝게 이격되는 방출기들을 활성화함으로써 고 밀도 패턴들이 투영될 수 있으며, 더 멀리 이격되는 방출기들을 활성화함으로써 저 밀도 패턴들이 투영될 수 있다. 고 밀도 패턴들은 더 많은 방출기들을 사용할 수 있고 따라서, 저 밀도 패턴들보다 많은 전력을 사용할 수 있다. 게다가, 고 밀도 패턴들은 가까운 거리들로부터 확인가능하지 않을 수 있다. 저 밀도 패턴들은 가까운 거리들로부터 확인가능할 수 있지만 고 밀도 패턴들보다 덜 정확한 위치 결정을 제공할 수 있다. 손의 움직임과 같은, 상대적으로 가까운 거리들에 있는 물체들에 대한 깊이를 결정하는 것을 수반하는 애플리케이션들에 대해, 더 낮은 밀도 패턴들이 사용될 수 있다. 방이나 더 큰 공간의 깊이 맵을 구성하는 것과 같은, 더 먼 거리들에서 깊이를 결정하는 것을 수반하는 애플리케이션들에 대해, 고 밀도 패턴들이 사용될 수 있다. 주소지정가능한 방출기는 가까운 거리들에 대해 방출기들의 상대적으로 희박한 패턴들을 활성화하고(예컨대, 프로젝터의 방출기들의 절반을 활성화하고) 더 먼 거리들에 대해 방출기들의 상대적으로 조밀한 패턴들을 활성화함으로써(예컨대, 프로젝터의 방출기들의 전부를 활성화함으로써) 2가지 유형들의 애플리케이션들을 위해 사용될 수 있다.
특정한 실시예들에서, 활성화할 방출기들의 적절한 밀도는 패턴을 투영하고, 패턴의 이미지를 캡쳐하기 위해 카메라를 사용하며, 이미지에 기초하여 패턴의 밀도를 증가 또는 감소시킬 것인지의 여부를 결정함으로써 결정될 수 있다. 예를 들면, 디바이스의 9개의 방출기들을 사용하여 조밀한 패턴이 투영되고, 개별적인 방출기들로부터의 광이 확인될 수 없는 경우(예컨대, 광이 함께 병합되고 9개의 개별적인 광원들로 나타나지 않음), 카메라는 방출기들에 너무 가까워서 조밀한 패턴을 확인할 수 없으며, 패턴의 밀도가 감소될 수 있다. 밀도는 예컨대, 활성 방출기들의 절반 예컨대, 매 2번째 활성 방출기를 비활성화하고, 나머지 활성 방출기들의 이미지를 캡쳐함으로써 감소될 수 있다. 개별적인 방출기들이 여전히 확인될 수 없는 경우, 활성 방출기들이 확인될 수 있을 때까지(예컨대, 카메라 이미지에서 검출된 별개의 광원의 수는 활성 방출기들의 수와 매칭함) 예컨대, 활성 방출기들의 절반을 다시 비활성화하고 나머지 방출기들이 확인될 수 있는지의 여부를 결정하고, 등에 의해 프로세스는 반복될 수 있다. 광원들은 개별적으로 확인가능한 것이 되도록 완전히 분리될 필요는 없고; 예를 들면, 부분적으로 중첩하고 있는 광원들을 확인하기 위해 중첩 임계치가 사용될 수 있다. 또 다른 예로서, 개별적인 광원들이 확인될 수 있다면, 예컨대, 활성 방출기들의 수를 두 배로 늘림으로써 부가적인 방출기들이 활성화될 수 있다. 카메라는 그 다음, 증가된 수의 방출기들의 이미지를 캡쳐할 수 있다. 활성 방출기들이 확인될 수 있는 경우, 그들은 후속 프레임들을 위해 사용될 수 있거나, 대안적으로, 활성 방출기들이 확인될 수 없을 때까지 활성 방출기들의 수가 다시 증가될 수 있고, 이 지점에서 활성 방출기들의 이전(확인가능한) 패턴은 후속 프레임들을 위해 사용될 수 있다.
특정한 실시예들에서, 조밀한 패턴에 대해 서로 더 가까운 방출기들을 활성화하고 희박한 패턴들에 대해 더 멀리 떨어져 있는 방출기들을 활성화함으로써 조밀하고 희박한 패턴들이 교번적인 프레임들에서 투영될 수 있다. 카메라는 교번적인 희박하고 조밀한 패턴들을 검출하고 각각의 패턴에서 방출기들이 확인될 수 있는지의 여부를 결정할 수 있다. 방출기들이 조밀한 패턴으로 확인될 수 있는 경우, 패턴이 필요 이상으로 더 조밀하지 않는 한, 조밀한 패턴이 후속적으로 사용될 수 있고(예컨대, 투영이 카메라에 의해 캡쳐된 후속 프레임들에서 검출되도록 하기 위해), 이 경우에 더 희박한 패턴이 사용될 수 있다. 예를 들면, 패턴의 밀도가 필요한 것보다 또는 정확도에 대한 다른 제한들 예컨대, 카메라 프레임 레이트와 같은 다른 디바이스들로부터의 제한들로 인해 사용할 수 있는 것보다 높은 정확도를 제공하는 경우 패턴은 필요한 것보다 조밀할 수 있다.
조밀한 패턴의 개별적인 방출기들이 확인될 수 없는 경우, 방출기들로부터의 가우시안 광이 중첩할 수 있으며, 후속적으로 더 희박한 패턴이 투영될 수 있다(예컨대, 후속적으로 카메라에 의해 캡쳐된 프레임들에서 사용하기 위해). 예를 들면, 희박한 패턴의 개별적인 방출기들이 확인될 수 있다면, 후속적으로 희박한 패턴이 사용될 수 있거나, 희박한 패턴과 확인가능하지 않은 조밀한 패턴 사이의 밀도를 가지는 새로운 희박한 패턴이 생성되어 투영될 수 있다. 새로운 희박한 패턴은 그것이 확인가능하고 후속 프레임들에서 사용하기 위해 투영되어야 하는지를 결정하기 위해 상기 설명된 바와 같이 분석될 수 있다. 예를 들면, 라인의 폭 또는 광의 강도는 가우시안 빔들이 함께 병합되었다고 결정하기 위해 사용될 수 있다.
도 13a는 상이한 거리들로부터 깊이를 결정하기 위한 조명기(1302)의 예시적인 조명 패턴들을 도시한다. 조명기(1302)는 예컨대, 주소지정가능한 조명기일 수 있으며 프로젝터에 포함될 수 있다. 이 예에서 조명기는 9개의 방출기들(1311 내지 1319)을 갖는다. 9개의 방출기들 모두는 활성 예컨대, 제 1 패턴(1304)으로 광을 방출하고 있다. 방출기들은 예를 들면, 깊이 감지에 사용하기 위한 패턴들을 방출할 수 있다. 그러나, 카메라가 프로젝터(1302)에 더 가까이 이동함에 따라, 활성 방출기들로부터의 가우시안 광 분포들은 가우시안 광의 강도 속성들로 인해 함께 병합되는 것으로 보일 수 있다. 따라서, 충분히 가까운 거리들에서, 다수의 방출기들로부터의 광은 함께 병합될 수 있고, 광 패턴의 개별적인 피쳐들 예컨대, 방출기들(1310 내지 1318)에 의해 생성된 점들 또는 라인들은 더 이상 확인가능하지 않을 수 있다. 구조화된 깊이 감지 기술들의 정확도는 가우스 광 패턴들의 이 병합으로 인해 짧은 거리들에서 감소될 수 있다. 특정한 실시예들에서, 활성 방출기들 중 하나 이상이 비활성화될 수 있고, 그에 의해 활성 방출기들 사이의 거리를 증가시키고, 따라서 활성 방출기들로부터의 광은 카메라가 특정 거리보다 가까울 때 병합되지 않는다. 많은 수의 활성 방출기들이 더 정확한 깊이 감지를 제공할 수 있기 때문에, 가능하면 방출기들이 활성 상태를 유지하는 것이 바람직할 수 있다. 따라서, 비활성화할 특정한 방출기들은 반복 프로세스를 사용하여 식별될 수 있다.
도 13a에 도시된 바와 같이, 방출기들로부터의 광이 함께 병합되기 시작할 때 예컨대, 카메라가 방출기로들부터의 임계 거리 미만이기 때문에, 매 2번째 활성 방출기가 비활성화될 수 있다. 초기 패턴(1304)에서, 9개의 방출기들 모두가 활성이고, 따라서 매 2번째 활성 방출기를 비활성화하는 것은 제 2 패턴(1310)으로 도시된 바와 같이 제 2, 제 4, 제 6, 및 제 8 방출기들이 비활성화됨을 야기한다. 방출기들(1312, 1314, 1316, 및 1318)이 비활성화되었고, 방출기들(1311, 1313, 1315, 1317, 및 1319)이 패턴(1310)에서 활성 상태로 유지된다. 방출기들로부터의 광은 여전히 카메라의 병합으로 보일 수 있으며 프로젝터(1302)에 충분히 가깝거나, 카메라가 프로젝터(1302)에 더 가깝게 이동함에 따라 병합되기 시작할 수 있다. 광이 여전히 병합되거나 다시 병합되는 경우 예컨대, 개별적인 방출기들이 확인가능하지 않은 경우, 부가적인 방출기들은 매 2번째 활성 방출기를 다시 비활성화함으로써 비활성화될 수 있다. 제 3 및 제 7 방출기들이 따라서 비활성화되어, 패턴(1320)을 생성하고, 여기서 방출기들(1311, 1315, 및 1319)은 활성 상태로 유지된다.
일정한 시간 후에 광이 여전히 병합되거나 병합되었으면, 매 2번째 활성 방출기를 다시 비활성화함으로써 부가적인 방출기들이 비활성화될 수 있다. 제 5 방출기는 따라서 비활성화되어, 방출기들(1311 및 1319)이 활성인 패턴(1330)을 생성한다. 그 다음, 일정한 시간 후에 광이 여전히 병합되거나 병합되었으면, 매 2번째 활성 방출기를 다시 비활성화함으로써 부가적인 방출기들이 비활성화될 수 있다. 제 9 방출기는 따라서 비활성화되어, 방출기(1311)만 활성인 패턴(1340)을 생성한다. 이 예에서 단지 하나의 방출기만 활성이기 때문에, 2개의 방출기들로부터의 광의 병합은 발생하지 않는다. 카메라와 프로젝터(1302) 사이의 거리가 증가하면 방출기들을 다시 활성화하는 것이 바람직할 수 있다.
일례로서, 방출기들은 예컨대, 패턴(1330)을 활성화하고, 광의 병합이 없는 경우 패턴(1320)을 활성화하고, 광의 병합이 여전히 없는 경우, 패턴(1310)을 활성화하며, 마지막으로 광의 병합이 여전히 없는 경우, 프로젝터(1302)의 모든 방출기들을 활성화함으로써 그들이 비활성화된 순서의 역순으로 다시 활성화될 수 있다. 방출기들이 패턴들(1310 내지 1340)에 따라 비활성화되거나 활성화되는 것으로서 설명될지라도, 이들 패턴들은 단지 예들이고, 조명들은 예컨대, 매 2번째 방출기 대신에 홀수 방출기들 또는 짝수 방출기들을 비활성화함으로써, 또는 각각의 단계에서 더 많은 방출기들을 비활성화함으로써, 예컨대 패턴(1310) 대신에 패턴(1320)으로 비활성화들을 시작하고, 패턴(1320) 다음의 패턴(1340)으로 직접적으로 계속함으로써 다른 패턴들에 따라 비활성화되거나 활성화될 수 있다.
도 13b는 상이한 거리들로부터 뷰잉된 본 예시적인 조명 패턴들을 도시한다. 상기 도입된 바와 같이, 뷰어(예컨대, 카메라)가 광원에 더 가까워질수록 광의 강도가 증가하기 때문에, 주소지정가능한 조명기(1302)의 인접한 방출기들(1312 내지 1316)로부터의 가우시안 광 빔들은 광 패턴(1342)에 의해 도시된 바와 같이 함께 병합하는 것으로 보이고, 개별적인 방출기들(1312 내지 1316)로부터의 광 빔들은 병합된 광 패턴(1342)의 카메라 이미지에서 구별가능하지 않게 된다. 이 광의 병합은 조명기(1302)와 카메라 사이의 거리(D1)가 임계 거리(D) 미만일 때 발생할 수 있다. 병합된 광 패턴(1342)에서, 인접한 방출기들(1312, 1313)로부터의 광 빔들은 거리(d1)만큼 분리된다. 병합된 광 패턴인 확인가능한 피쳐의 폭은 w1로 라벨링된다.
조명기(1302)와 카메라 사이의 거리가 증가함에 따라, 광 패턴(1344)으로 도시된 바와 같이, 광 빔들은 더 커지고 개별적으로 확인가능해진다. 거리(D2>D)로부터 조명기(1302)로부터의 광의 모습을 도시하는 광 패턴(1344)에서, 인접한 방출기들(1312, 1313)로부터의 광 빔들은 거리(d2)만큼 분리된다. 광 빔인 확인가능한 피쳐의 폭은 w2로 라벨링된다. 조명기(1302)와 카메라 사이의 거리가 더 증가함에 따라, 광 패턴(1346)으로 도시된 바와 같이, 광 빔들이 더 커진다. 거리(D3>D2)로부터 조명기(1302)로부터의 광의 모습을 도시하는 광 패턴(1346)에서, 인접한 방출기들(1312, 1313)로부터의 광 빔들은 거리(d3)만큼 분리된다. 광 빔인 확인가능한 피쳐의 폭은 w3으로 라벨링된다.
도 13c는 상이한 거리들로부터 뷰잉된 예시적인 투영된 패턴들을 도시한다. 이 도면에서, 조명기(1302)의 방출기들은 광의 라인들을 투영한다. 짧은 거리로부터 뷰잉될 때, 방출기들의 인접한 방출기들(1312 내지 1316)로부터의 가우시안 광 빔들은 병합된 광 패턴(1347)에 의해 도시된 바와 같이 함께 병합되는 것으로 보일 수 있으며, 개별적인 방출기들(1312 내지 1316)로부터의 광 빔들은 병합된 광 패턴(1347)의 카메라 이미지에서 구별가능하지 않게 된다. 조명기(1302)와 카메라 사이의 거리(D1)는 임계 거리(D) 미만이다. 병합된 광 패턴인 확인가능한 피쳐의 폭은 w4로 라벨링된다.
조명기(1302)와 카메라 사이의 거리가 증가함에 따라, 광 패턴(1348)으로 도시된 바와 같이, 광 빔들은 더 커지고 개별적으로 확인가능해진다. 거리(D2>D)로부터 조명기(1302)로부터의 광의 모습을 도시하는 광 패턴(1348)에서, 인접한 방출기들(1312, 1313)로부터의 광 빔들은 거리(d4)만큼 분리된다. 방출기에 의해 생성된 라인인(및 하나 이상의 광 빔들을 포함할 수 있음) 확인가능한 피쳐의 폭은 w5로 라벨링된다. 조명기(1302)와 카메라 사이의 거리가 더 증가함에 따라, 광 패턴(1349)으로 도시된 바와 같이, 광 빔들이 더 커진다. 거리(D3>D2)로부터 조명기(1302)로부터의 광의 모습을 도시하는 광 패턴(1349)에서, 인접한 방출기들(1312, 1313)로부터의 광 빔들은 거리(d5)만큼 분리된다. 방출기에 의해 생성된 라인인 확인가능한 피쳐의 폭은 w6으로 라벨링된다.
도 13d 및 도 13e는 상이한 거리들로부터 깊이를 결정하기 위한 2차원 조명기의 예시적인 조명 패턴들을 도시한다. 특정한 실시예들에서, 예컨대, 카메라가 방출기들로부터 임계 거리 미만이기 때문에, 방출기들로부터의 광이 함께 병합되기 시작할 때, 방출기들의 세트가 비활성화될 수 있다. 비활성화할 방출기들은 어떠한 수평 또는 수직으로 인접한 쌍들의 활성 방출기들도 존재하지 않도록 선택될 수 있다. 즉, 따라서, 1의 수평 또는 수직 거리만큼 분리된 어떠한 활성 방출기들도 존재하지 않는다. 대안적으로, 활성 방출기들의 절반은 비활성화될 수 있는 매 2번째 활성 방출기를 선택함으로써 비활성화될 수 있다. 도 13d에 도시된 바와 같이, 초기 패턴(1350)에서, 25개의 방출기들이 활성이다. 매 2번째 활성 방출기는 방출기 패턴(1350)의 상단 좌측에서 시작하고 매 2번째 방출기를 선택함으로써 식별될 수 있다. 행의 끝에 도달될 때, 선택이 다음 행으로 계속될 수 있다. 패턴(1350)의 매 2번째 활성 방출기를 비활성화하는 것은 제 2 패턴(1352)으로 도시된 바와 같이 짝수 방출기들이 비활성화됨을 야기한다. 제 2 패턴(1352)에서, 방출기들(1354, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 및 1376)이 비활성화되었다. 방출기들로부터의 광은 여전히 카메라의 병합이 프로젝터에 충분히 가까운 것으로 보일 수 있거나, 카메라가 프로젝터에 충분히 가깝게 이동함에 따라 병합하기 시작할 수 있다. 광이 여전히 병합되거나 다시 병합된 경우 예컨대, 개별적인 방출기들이 확인가능하지 않은 경우, 부가적인 방출기들이 비활성화될 수 있다. 비활성화할 방출기들은 2의 수평 또는 수직 거리만큼 분리된 어떠한 활성 방출기들도 존재하지 않도록 선택될 수 있다. 이들 방출기들을 비활성화한 결과는 패턴(1380)으로서 도 13e에 도시되고, 여기서 방출기들(1381, 1382, 1383, 1384, 1385, 1386, 1387, 및 1388)이 비활성화되었다. 후속적으로, 일정 시간 후에 광이 여전히 병합되거나 병합되었으면, 부가적인 방출기들이 비활성화될 수 있다. 방출기들(1391, 1392, 1393, 및 1394)은 따라서 비활성화될 수 있어서, 중앙 방출기 만 활성인 패턴(1390)을 생성한다. 이 예에서 하나의 방출기만 활성이기 때문에, 2개의 방출기들로부터의 광이 병합은 발생하지 않는다. 카메라와 프로젝터(1302) 사이의 거리가 후속적으로 증가하는 경우 방출기들을 재활성화 활성화하는 것이 바람직할 수 있다.
특정한 실시예들에서, 방출기와 카메라 사이의 거리는 방출기들 사이의 거리를 제어하기 위해 결정되고 사용될 수 있다. 대안적으로, 카메라 이미지는 검출된 광의 폭에 기초하여 인접한 광들이 병합(예컨대, 라인을 형성하기 위해)했는지를 결정하기 위해 분석될 수 있고, 광들이 병합하는 것으로 보일 때 각각의 쌍의 방출기들 사이의 거리가 증가될 수 있다. 또 다른 예로서, 카메라에 의해 검출된 밝은 광은 구조화된 광 패턴으로부터 나올 수도 있고 아닐 수도 있다. 방출기 밀도, 예컨대, 특정한 영역에 있는 활성 방출기들의 수는 다음 프레임에서 변경될 수 있으며 프레임의 이미지는 예컨대, 특정 방출기들을 활성화하거나 비활성화하고, 그 다음 카메라가 그들 방출기들이 활성화하거나 비활성화되었음을 검출하는지의 여부를 결정함으로써 광이 패턴으로부터 나온 것인지를 결정하기 위해 평가된다. 이 프로세스는 루프의 각각의 반복에서 상이한 방출기들을 활성화하거나 비활성화하고 방출된 패턴들이 임계 횟수의 반복들 이후에 검출되거나 검출되지 않았다고 결정함으로써 반복될 수 있다.
도 14는 상이한 거리들로부터 깊이를 결정하기 위해 조명기의 하나 이상의 발광기들을 활성화하거나 비활성화하기 위한 일 예시적인 방법(1400)을 도시한다. 방법은 단계(1410)에서 시작할 수 있으며, 여기서 방법(1400)은 적어도 하나의 프로젝터를 사용하여, 상이한 위치들을 가지는 복수의 투영된 피쳐들을 포함하는 투영된 패턴을 투영할 수 있다. 단계(1420)에서, 방법(1400)은 카메라를 사용하여, 투영된 패턴의 반사에 대응하는 검출된 패턴을 포함하는 이미지를 캡쳐할 수 있다. 단계(1430)에서, 방법(1400)은 검출된 패턴의 적어도 하나의 검출된 피쳐를 식별할 수 있으며, 검출된 피쳐는 투영된 피쳐들의 적어도 하나의 반사에 대응한다. 단계(1440)에서, 방법(1400)은 검출된 피쳐에 기초하여 발광기들 중 하나 이상을 활성화하거나 비활성화할 수 있다.
특정한 실시예들은 적절한 경우, 도 14의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정 순서로 발생하는 것으로서 도 14의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 14의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 14의 방법의 특정한 단계들을 포함하는 상이한 거리들로부터 깊이를 결정하기 위해 조명기의 하나 이상의 발광기들을 활성화하거나 비활성화하기 위한 일 예시적인 방법을 설명하고 도시할지라도, 본 발명은 임의의 적합한 단계들을 포함하는 상이한 거리들로부터 깊이를 결정하기 위해 조명기의 하나 이상의 발광기들을 활성화하거나 비활성화하기 위한 임의의 적합한 방법을 고려하며, 이는 적절한 경우, 도 14의 방법의 단계들의 전부, 일부를 포함하거나, 그들 중 어느 것도 포함하지 않을 수 있다. 또한, 본 발명이 도 14의 방법의 특정한 단계들을 수행하는 특정한 구성요소들, 디바이스들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 14의 방법의 임의의 적합한 단계들을 수행하는 임의의 적합한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
특정한 실시예들에서, 구조화된 광을 사용하여 깊이 감지를 수행하는 시스템에서, 저 전력 모드로 희박한 패턴을 투영함으로써 장면에서의 이동을 스캐닝하고 이동의 식별 시에, 움직임에 기초하여 깊이 맵을 업데이트하기 위해 더 조밀한 패턴을 투영함으로써와 같은, 필요하지 않거나 사용되지 않는 조명기의 방출기들을 비활성화함으로써 전력 소비가 감소될 수 있다. 개시된 기술들은 개별적으로 제어가능한 방출기들을 가질 수 있는 주소지정가능한 조명기들을 사용할 수 있다. 주소지정가능한 방출기들에 의해 투영된 구조화된 광의 강도는 입력 전류에 기초하여 달라질 수 있다. 구조화된 광은 지점들의 세트, 라인들, 또는 라인들의 그리드와 같은 패턴으로 투영될 수 있다.
특정한 실시예들에서, 전력을 절약하기 위한 기술은 장면의 조밀한 모델을 생성하기 위해 조밀한 패턴을 투영한 다음, 후속적으로 변화들을 위해 장면의 부분들을 샘플링하기 위해 희박한 패턴을 투영함으로써 저 전력 스캐닝 모드로 동작시키는 것을 수반한다. 희박한 패턴의 하나 이상의 라인들과 교차하는 움직임과 같은 임의의 변경들이 검출되면, 조밀한 패턴은 장면의 조밀한 모델을 생성하거나 업데이트하기 위해 다시 투영될 수 있다. 게다가, 장면의 부분들은 라인과 같은 희박한 패턴을 부분들에 투영하고 카메라를 사용하여 이동을 나타내는 희박한 패턴의 반사들을 검출함으로써 변화들을 위해 샘플링될 수 있다. 주기적으로, 예컨대, 매 초마다 조밀한 패턴의 단일 프레임 버스트는 장면의 조밀한 모델을 생성하거나 업데이트하기 위해 투영될 수 있다.
도 15는 전력 소비를 감소시키기 위해 그리드 광 패턴 밀도를 감소시키는 일례를 도시한다. 조밀한 패턴(1502)은 시간(T1)에서 장면에 투영된다. 시간(T2)에서, 예를 들면, 시간들(T1 및 T2) 사이의 장면에서 움직임이 검출되지 않았기 때문에 더 희박한 패턴이 장면에 투영된다. 어떠한 움직임도 존재하지 않기 때문에, 적어도 시간(T2)에 걸쳐 기존의 깊이 맵이 사용될 수 있다. 깊이 맵이 시간(T1)과 적어도 T2 사이에 업데이트될 필요가 없기 때문에, 움직임을 검출하기 위해 시간(T2)에서 더 희박한 패턴(1504)이 투영될 수 있다. 시간(T2)에서의 더 희박한 패턴(1504)의 사용은 더 적은 라인들이 조밀한 패턴들에서보다 희박한 패턴으로 투영되기 때문에, 전력 소비를 감소시킬 수 있다. 시간(T3)에서, 희박한 패턴(1504)이 여전히 투영되고 있지만, 움직임은 예컨대, 패턴(1504)의 그리드 라인들 중 하나 이상의 왜곡을 검출하거나 장면의 이미지에서 움직임 검출 알고리즘을 사용함으로써 장면에서 검출된다. 움직임이 검출되기 때문에, 장면이 변경되었을 가능성이 있으며, 조밀한 패턴(1502)을 사용하여 새로운 깊이 맵이 생성되어야 한다. 조밀한 패턴(1502)은 따라서, 시간(T4)에서 다시 투영된다. 시간(T5)에서, 더 이상의 움직임이 검출되지 않았고, 따라서 초기 희박한 패턴(1504)보다 희박한, 희박한 패턴(1506)이 장면에 투영될 수 있다. 희박한 패턴(1506)의 밀도 예컨대, 그것의 라인들 사이의 거리는 장면에서 가장 작은 검출된 물체의 크기에 기초하여 결정될 수 있다. 예를 들면, T5에서 장면의 가장 작은 검출된 물체는 매드 해터(Mad Hatter)이고, 따라서 매드 해터의 움직임이 희박한 패턴에 의해 검출되도록 희박한 패턴(1506)의 라인들 사이의 거리가 선택된다. 물체의 크기는 물체의 경계 박스를 생성함으로써 결정될 수 있다. 수평 그리드 라인들 사이의 거리는 그 다음, 경계 박스의 높이에 기초하여 설정될 수 있고, 수직 그리드 라인들 사이의 거리는 경계 박스의 폭에 기초하여 설정될 수 있다. 시간(T5)에서, 또 다른 사람이 장면에 나타날 때 움직임이 검출된다. 이전 패턴(1506)보다 조밀하지만, 조밀한 패턴(1502)만큼 조밀하지 않은 더 조밀한 패턴(1504)은 그 다음, 또 다른 움직임을 검출하거나 장면의 깊이 맵을 생성하거나 업데이트하기 위해 장면에 투영될 수 있다.
특정한 실시예들에서, 장면의 부분들은 라인과 같은 희박한 패턴을 부분들에 투영하고 카메라를 사용하여 이동을 나타내는 희박한 패턴의 반사들을 검출함으로써 변화들을 위해 샘플링될 수 있다. 샘플링될 장면의 부분들은 전체 장면이 다수의 프레임들 다음에 커버되거나, 적어도 임계 최소 크기의 물체들이 다수의 프레임들 다음에 검출되도록 선택될 수 있다. 스캐닝된 부분의 크기들은 희박한 패턴의 투영된 라인들 사이의 거리들에 대응할 수 있으며, 물체의 예상된 크기에 기초할 수 있다. 상대적으로 큰 물체가 이동할 것으로 예상되면, 상대적으로 멀리 떨어져 이격된 상대적으로 적은 수의 라인들이 투영될 수 있다. 예를 들면, 최소 크기가 장면 영역의 1/4이고, 스캐닝된 부분들의 크기들이 최소 크기에 대응하는 경우, 최소 크기의 물체의 이동은 4개의 연속 프레임들 내에서 검출될 수 있다.
특정한 실시예들에서, 저 전력 스캐닝 모드는 전체 장면(또는 특정한 크기의 영역)이 스캐닝될 때까지 각각의 후속 프레임에서 장면의 상이한 부분(예컨대, 영역)에 패턴을 투영할 수 있으며, 이 지점에서 프로세스가 반복될 수 있다. 다른 예들에서, 장면의 샘플링된 부분들은 무작위로, 또는 팔에 연결되는 것으로 알려지는 손을 검색하는 것과 같은 특정 적용에 따라 선택될 수 있다. 샘플링 프로세스는 검색 동안 생성된 피드백 예컨대, 반사된 라인들의 위치들에 기초하여 검색을 수정할 수 있다. 특정한 실시예들에서, 장면의 부분의 영역은 장면의 영역보다 작을 수 있다. 부분들은 제 1 투영된 패턴을 둘러싸는 직사각형을 식별하고 제 1 투영된 패턴을 둘러싸는 직사각형을 동일한 크기의 직사각형들로 분할함으로써 식별될 수 있으며, 상이한 부분들의 각각은 직사각형들 중 하나에 대응한다. 특정한 실시예들에서, 샘플링 프로세스가 변화를 검출할 때, 조밀한 패턴은 예컨대, 다음 프레임에서 다시 투영될 수 있다. 특정한 실시예들에서, 물체의 이동은 제 2 이미지들 중 하나 이상에 기초하여 검출될 수 있고, 프로젝터는 물체의 이동을 검출하는 것에 응답하여 제 1 투영된 패턴을 투영하도록 구성된다. 특정한 실시예들에서, 방출기들 중 하나 이상은 제 1 투영된 패턴의 부분들의 각각을 투영할 수 있고, 각각의 부분을 투영하기 위해, 프로젝터는 그 부분을 투영하는 방출기들을 활성화하도록 구성된다.
도 16은 그리드 광 패턴 밀도를 감소시키기 위한 일 예시적인 방법(1600)을 도시한다. 방법은 단계(1610)에서 시작할 수 있으며, 여기서 방법(1600)은 적어도 하나의 프로젝터를 사용하여, 복수의 제 1 투영된 피쳐들을 포함하는 제 1 투영된 패턴을 포함하는 복수의 투영된 패턴들을 장면에 투영할 수 있다. 단계(1620)에서, 방법(1600)은 카메라를 사용하여, 제 1 투영된 패턴의 반사에 대응하는 제 1 검출된 패턴을 포함하는 복수의 이미지들을 캡쳐할 수 있다. 단계(1630)에서, 방법(1600)은 제 1 투영된 패턴, 제 1 검출된 패턴, 및 카메라와 프로젝터(들) 사이의 상대 위치에 기초하여 장면의 깊이 맵을 계산할 수 있다. 단계(1640)에서, 방법(1600)은 프로젝터(들)를 사용하여, 복수의 제 2 투영된 피쳐들을 포함하는 제 2 투영된 패턴을 장면의 일부에 투영할 수 있으며, 제 2 투영된 패턴은 제 1 투영된 패턴보다 희박하다. 단계(1650)에서, 방법(1600)은 카메라를 사용하여, 제 2 투영된 패턴의 반사에 대응하는 제 2 검출된 패턴을 캡쳐할 수 있다. 단계(1660)에서, 방법(1600)은 제 2 투영된 패턴, 제 2 검출된 패턴, 및 카메라와 프로젝터(들)의 상대 위치들에 기초하여 장면의 부분의 깊이 맵을 계산할 수 있다. 단계(1670)에서, 방법(1600)은 장면의 부분의 깊이 맵에 기초하여 장면의 깊이 맵을 업데이트할 수 있다.
특정한 실시예들은 적절한 경우, 도 16의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정 순서로 발생하는 것으로서 도 16의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 16의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 16의 방법의 특정한 단계들을 포함하는 그리드 광 패턴 밀도를 감소시키기 위한 일 예시적인 방법을 설명하고 도시할지라도, 본 발명은 임의의 적합한 단계들을 포함하는 그리드 광 패턴 밀도를 감소시키기 위한 임의의 적합한 방법을 고려하며, 이는 적절한 경우, 도 16의 방법의 단계들의 전부, 일부를 포함하거나, 그들 중 어느 것도 포함하지 않을 수 있다. 또한, 본 발명이 도 16의 방법의 특정한 단계들을 수행하는 특정한 구성요소들, 디바이스들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 16의 방법의 임의의 적합한 단계들을 수행하는 임의의 적합한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
특정한 실시예들에서, 전력 소비를 감소시키기 위해 특정한 시간에 프레임에서 투영된 지점들 또는 라인들의 패턴은 2개 이상의 부분 패턴들로 분할될 수 있고, 부분 패턴들은 연속적인 시간 간격들로 투영될 수 있다. 카메라는 "부분" 프레임들에서 시간 간격들로 부분 패턴을 캡쳐할 수 있다. 전체 패턴 대신에 각각의 프레임에서 부분 패턴을 투영하는 것은 전력 소비를 감소시킬 수 있다. 예를 들면, 하나의 프레임에서 패턴의 라인들의 절반 및 다음 프레임에서 다른 절반을 투영하는 것은 전력 소비를 50%만큼 감소시킬 수 있다. 카메라는 연속적인 부분 프레임들을 수신하고 완전한 패턴을 재구성하기 위해 그들을 조합할 수 있다.
특정한 실시예들에서, 투영된 패턴을 N개의 부분 패턴들로 분할하는 결과로서, 각각의 프레임은 N개의 "부분" 프레임들로 분할될 수 있고, 각각의 부분 프레임은 완전한 패턴의 1/N을 가질 수 있다. 값(N)은 "인터레이싱 인자(interlacing factor)"로서 이해될 수 있고 패턴들이 수신되는 속도와 원하는 배터리 전력 절감량 사이의 트레이드오프에 따라 특정한 애플리케이션에 대해 선택될 수 있다. 인터레이스 인자는 장면에 적응하기 위해 프레임들 사이에 변경될 수 있다. 예를 들면, 피아노를 연주하는 사람의 장면에 대해 빠른 검출이 사용될 수 있으며, 이 경우에, 패턴을 분할하지 않고(N=1) 각각의 프레임에서 패턴의 모든 라인들이 사용될 수 있다. 사람이 피아노 연주를 중단할 때, 인터레이스 인자는 N=5로 증가될 수 있다. 카메라가 60FPS로 이미지들을 캡쳐하고 그것이 방을 돌아다닐 때 깊이 맵을 구성하기 위해, 각각의 프레임은 60FPS 프레임 레이트를 유지하면서 5개의 프레임들로 분할될 수 있다. 또 다른 예에서, 하나의 "라인"(패턴 단위)은 각각의 프레임에서 투영될 수 있다. 카메라 프레임 레이트는 프로젝터 프레임 레이트에 대응하도록 변경될 수 있다.
도 17은 전력 소비를 감소시키기 위해 그리드 광 패턴을 부분들로 분할하는 일례를 도시한다. 패턴(1700)은 점선들(1702)에 의해 도시된 바와 같이 4개의 부분 패턴들로 분할될 수 있으며, 점선들은 패턴(1700)을 4개의 쿼터들로 분할한다. 패턴(1700)의 각각의 쿼터는 부분 패턴에 대응한다. 각각의 부분 패턴은 시간의 지속기간 동안 장면의 대응하는 부분에 투영될 수 있으며, 그 동안 카메라는 장면으로부터 부분 패턴의 반사들을 캡쳐하고 투영된 부분 패턴(1706)에 의해 커버된 장면(1704)의 영역의 깊이 맵을 생성할 수 있다. 부분 패턴들은 상이한 시간들에서 투영될 수 있다. 시간(T1)에서, 제 1 부분 패턴(1706)은 장면(1704)의 상부 좌측 모서리에 투영된다. 시간(T2)에서, 제 2 부분 패턴(1710)은 장면(1704)의 상부 우측 쿼터에 투영된다. 카메라는 제 2 부분 패턴(1710)이 투영되는 시간 동안 장면(1704)으로부터의 제 2 부분 패턴(1710)의 반사들을 캡쳐할 수 있다. 깊이 감지 시스템은 부분 패턴의 반사들에 기초하여 스크린의 쿼터의 검출된 패턴들을 식별할 수 있다. 시간(T3)에서, 제 3 부분 패턴(1714)은 장면(1704)의 하부 좌측 쿼터에 투영된다. 카메라는 제 3 부분 패턴(1714)이 투영되는 시간 동안 장면(1704)으로부터의 제 3 부분 패턴(1714)의 반사들을 캡쳐할 수 있다. 시간(T4)에서, 제 4 부분 패턴(1718)은 장면(1704)의 하부 좌측 쿼터에 투영된다. 카메라는 제 3 부분 패턴(1718)이 투영되는 시간 동안 장면(1704)으로부터 제 3 부분 패턴(1718)의 반사들을 캡쳐할 수 있다.
특정한 실시예들에서, 깊이 감지 시스템은 부분 패턴들이 투영되고 있는 동안 4개의 부분 패턴들의 반사들에 기초하여 부분 검출된 패턴들을 식별할 수 있다. 대안적으로 또는 부가적으로, 깊이 감지 시스템은 4개의 부분 패턴들이 투영된 후에 4개의 부분 패턴들의 반사들의 조합에 기초하여 검출된 패턴들을 식별할 수 있다.
도 18은 그리드 광 패턴을 상이한 시간들에서 투영될 부분들로 분할하기 위한 일 예시적인 방법(1800)을 도시한다. 방법은 단계(1810)에서 시작할 수 있으며, 여기서 방법(1800)은 제 1 투영된 패턴의 명시된 수의 상이한 부분들을 결정할 수 있다. 단계(1820)에서, 방법(1800)은 적어도 하나의 프로젝터를 사용하여, 시간 간격 동안 상이한 시간들에서 제 1 투영된 패턴의 상이한 결정된 부분들을 투영할 수 있다. 단계(1830)에서, 방법(1800)은 카메라를 사용하여, 제 1 투영된 패턴의 반사에 대응하는 제 1 검출된 패턴을 포함하는 복수의 이미지들을 캡쳐할 수 있으며, 제 1 검출된 패턴은 시간 간격 동안 상이한 시간들에 기초하는 시간들에서 카메라에 의해 캡쳐된 이미지들의 세트에 기초한다. 단계(1840)에서, 방법(1800)은 복수의 이미지들에 기초하여 제 1 검출된 패턴의 이미지를 생성할 수 있으며, 이미지들의 각각은 (a) 제 1 검출된 패턴의 검출된 부분을 포함하고 (b) 제 1 투영된 패턴의 대응하는 결정된 부분의 반사들에 대응한다. 단계(1840)에서, 방법(1800)은 제 1 투영된 패턴, 제 1 검출된 패턴의 이미지, 및 카메라와 적어도 하나의 프로젝터 사이의 상대 위치에 기초하여 깊이 맵을 계산할 수 있다.
특정한 실시예들은 적절한 경우, 도 18의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 발명이 특정 순서로 발생하는 것으로서 도 18의 방법의 특정한 단계들을 설명하고 도시할지라도, 본 발명은 임의의 적합한 순서로 발생하는 도 18의 방법의 임의의 적합한 단계들을 고려한다. 게다가, 본 발명이 도 18의 방법의 특정한 단계들을 포함하는 그리드 광 패턴을 상이한 시간들에서 투영될 부분들로 분할하기 위한 일 예시적인 방법을 설명하고 도시할지라도, 본 발명은 임의의 적합한 단계들을 포함하는 그리드 광 패턴을 상이한 시간들에서 투영될 부분들로 분할하기 위한 임의의 적합한 방법을 고려하며, 이는 적절한 경우, 도 18의 방법의 단계들의 전부, 일부를 포함하거나, 그들 중 어느 것도 포함하지 않을 수 있다. 또한, 본 발명이 도 18의 방법의 특정한 단계들을 수행하는 특정한 구성요소들, 디바이스들, 또는 시스템들을 설명하고 도시할지라도, 본 발명은 도 18의 방법의 임의의 적합한 단계들을 수행하는 임의의 적합한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적합한 조합을 고려한다.
도 19는 일 예시적인 컴퓨터 시스템(1900)을 도시한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(1900)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(1900)은 본 명세서에서 설명되거나 도시된 기능을 제공한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(1900)에서 실행되는 소프트웨어는 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나 본 명세서에서 설명되거나 도시된 기능을 제공한다. 특정한 실시예들은 하나 이상의 컴퓨터 시스템들(1900)의 하나 이상의 부분들을 포함한다. 본 명세서에서, 컴퓨터 시스템에 대한 참조는 적절한 경우, 컴퓨팅 디바이스를 포함할 수 있으며, 그 반대도 마찬가지이다. 게다가, 컴퓨터 시스템에 대한 참조는 적절한 경우, 하나 이상의 컴퓨터 시스템들을 포함할 수 있다.
본 발명은 임의의 적합한 수의 컴퓨터 시스템들(1900)을 고려한다. 본 발명은 임의의 적합한 물리적 형태를 취하는 컴퓨터 시스템(1900)을 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(1900)은 내장된 컴퓨터 시스템, 시스템 온 칩(SOC), 단일 보드 컴퓨터 시스템(SBC)(예를 들면, 컴퓨터 온 모듈(COM) 또는 시스템 온 모듈(SOM)과 같음), 데스크탑 컴퓨터 시스템, 랩탑 또는 노트북 컴퓨터 시스템, 대화형 키오스크, 메인프레임, 컴퓨터 시스템들의 메쉬, 모바일 전화, 개인 휴대용 정보 단말기(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 그들 중 2개 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(1900)은 하나 이상의 컴퓨터 시스템들(1900)을 포함할 수 있거나; 단일 또는 분산될 수 있거나; 다수의 위치들에 걸쳐 있을 수 있거나; 다수의 기계들에 걸쳐 있을 수 있거나; 다수의 데이터 센터들에 걸쳐 있을 수 있거나; 하나 이상의 네트워크들에 하나 이상의 클라우드 구성요소들을 포함시킬 수 있는 클라우드에 상주할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템들(1900)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 하나 이상의 컴퓨터 시스템들(1900)은 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 실시간 또는 배치 모드로 수행할 수 있다. 하나 이상의 컴퓨터 시스템들(1900)은 적절한 경우, 본 명세서에서 설명되거나 도시된 하나 이상의 방법들의 하나 이상의 단계들을 상이한 시간들에서 또는 상이한 위치들에서 수행할 수 있다.
특정한 실시예들에서, 컴퓨터 시스템(1900)은 프로세서(1902), 메모리(1904), 저장장치(1906), 입력/출력(I/O) 인터페이스(1908), 통신 인터페이스(1910), 및 버스(1912)를 포함한다. 본 발명이 특정한 배열로 특정한 수의 특정한 구성요소들을 가지는 특정한 컴퓨터 시스템을 설명하고 도시할지라도, 본 발명은 임의의 적합한 배열로 임의의 적합한 수의 임의의 적합한 구성요소들을 가지는 임의의 적합한 컴퓨터 시스템을 고려한다.
특정한 실시예들에서, 프로세서(1902)는 컴퓨터 프로그램을 구성하기 위한 지시들과 같은, 지시들을 실행하기 위한 하드웨어를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 지시들을 실행하기 위해, 프로세서(1902)는 내부 레지스터, 내부 캐시, 메모리(1904), 또는 저장장치(1906)로부터 지시들을 검색(또는 인출)하고; 그들을 디코딩하고 실행하며; 그 다음, 하나 이상의 결과들을 내부 레지스터, 내부 캐시, 메모리(1904), 또는 저장장치(1906)에 기록할 수 있다. 특정한 실시예들에서, 프로세서(1902)는 데이터, 지시들, 또는 주소들을 위한 하나 이상의 내부 캐시들을 포함할 수 있다. 본 발명은 적절한 경우, 임의의 적합한 수의 임의의 적합한 내부 캐시들을 포함하는 프로세서(1902)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 프로세서(1902)는 하나 이상의 지시 캐시들, 하나 이상의 데이터 캐시들, 및 하나 이상의 변환 색인 버퍼(translation lookaside buffer; TLB)들을 포함할 수 있다. 지시 캐시들에서의 지시들은 메모리(1904) 또는 저장장치(1906)에서의 지시들의 카피들일 수 있고, 지시 캐시들은 프로세서(1902)에 의한 그들 지시들의 검색의 속도를 높일 수 있다. 데이터 캐시들에서의 데이터는 동작할 프로세서(1902)에서 실행되는 지시들을 위한 메모리(1904) 또는 저장장치(1906)에서의 데이터; 프로세서(1902)에서 실행되는 후속 지시들에 의해 액세스하기 위해 또는 메모리(1904) 또는 저장장치(1906)에 기록하기 위해 프로세서(1902)에서 실행된 이전 지시들의 결과들; 또는 다른 적합한 데이터의 카피들일 수 있다. 데이터 캐시들은 프로세서(1902)에 의한 판독 또는 기록 동작들의 속도를 높일 수 있다. TLB들은 프로세서(1902)를 위한 가상 주소 변환의 속도를 높일 수 있다. 특정한 실시예들에서, 프로세서(1902)는 데이터, 지시들, 또는 주소들을 위한 하나 이상의 내부 레지스터들을 포함할 수 있다. 본 발명은 적절한 경우, 임의의 적합한 수의 임의의 적합한 내부 레지스터들을 포함하는 프로세서(1902)를 고려한다. 적절한 경우, 프로세서(1902)는 하나 이상의 산술 논리 유닛(ALU)들을 포함하거나; 멀티 코어 프로세서일 수 있거나; 하나 이상의 프로세서들(1902)을 포함할 수 있다. 본 발명이 특정한 프로세서를 설명하고 도시할지라도, 본 발명은 임의의 적합한 프로세서를 고려한다.
특정한 실시예들에서, 메모리(1904)는 프로세서(1902)가 실행할 지시들 또는 프로세서(1902)가 동작할 데이터를 저장하기 위한 메인 메모리를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(1900)은 저장장치(1906) 또는 또 다른 소스(예를 들면, 또 다른 컴퓨터 시스템(1900)과 같음)로부터 메모리(1904)로 지시들을 로드할 수 있다. 프로세서(1902)는 그 다음, 메모리(1904)로부터 내부 레지스터 또는 내부 캐시로 지시들을 로드할 수 있다. 지시들을 실행하기 위해, 프로세서(1902)는 내부 레지스터 또는 내부 캐시로부터 지시들을 검색하고 그들을 디코딩할 수 있다. 지시들의 실행 동안 또는 이후에, 프로세서(1902)는 하나 이상의 결과들(중간 또는 최종 결과들일 수 있음)을 내부 레지스터 또는 내부 캐시에 기록할 수 있다. 프로세서(1902)는 그 다음, 그들 결과들 중 하나 이상을 메모리(1904)에 기록할 수 있다. 특정한 실시예들에서, 프로세서(1902)는 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 (저장장치(1906)와는 대조적으로 또는 어딘가의) 메모리(1904)에서 단지 지시들을 실행하고 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 (저장장치(1906)와는 대조적으로 또는 어딘가의) 메모리(1904)에서 단지 데이터에 따라 동작한다. 하나 이상의 메모리 버스들(주소 버스 및 데이터 버스를 각각 포함할 수 있음)은 프로세서(1902)를 메모리(1904)에 결합할 수 있다. 버스(1912)는 하기에 설명된 바와 같이, 하나 이상의 메모리 버스들을 포함할 수 있다. 특정한 실시예들에서, 하나 이상의 메모리 관리 유닛들(MMUs)은 프로세서(1902)와 메모리(1904) 사이에 상주하고 프로세서(1902)에 의해 요청된 메모리(1904)에 대한 액세스들을 용이하게 한다. 특정한 실시예들에서, 메모리(1904)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우, 휘발성 메모리일 수 있다. 적절한 경우, 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 게다가, 적절한 경우, 이 RAM은 단일 포트되거나 다중 포트된 RAM일 수 있다. 본 발명은 임의의 적합한 RAM을 고려한다. 메모리(1904)는 적절한 경우, 하나 이상의 메모리들(1904)을 포함할 수 있다. 본 발명이 특정한 메모리를 설명하고 도시할지라도, 본 발명은 임의의 적합한 메모리를 고려한다.
특정한 실시예들에서, 저장장치(1906)는 데이터 또는 지시들을 위한 대용량 저장장치를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 저장장치(1906)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광 디스크, 광 자기 디스크, 자기 테이프, 또는 범용 직렬 버스(Universal Serial Bus; USB) 드라이브 또는 그들 중 2개 이상의 조합을 포함할 수 있다. 저장장치(1906)는 적절한 경우, 탈착가능하거나 탈착가능하지 않은(또는 고정된) 매체들을 포함할 수 있다. 저장장치(1906)는 적절한 경우, 컴퓨터 시스템(1900)의 내부 또는 외부에 있을 수 있다. 특정한 실시예들에서, 저장장치(1906)는 비 휘발성, 고체 상태 메모리이다. 특정한 실시예들에서, 저장장치(1906)는 판독 전용 메모리(ROM)를 포함한다. 적절한 경우, 이 ROM은 마스크 프로그래밍된 ROM, 프로그래밍가능한 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 전기적으로 개조가능한 ROM(EAROM), 또는 플래시 메모리 또는 그들 중 2개 이상의 조합을 포함한다. 본 발명은 임의의 적합한 물리적 형태를 취하는 대용량 저장장치(1906)를 고려한다. 저장장치(1906)는 적절한 경우, 프로세서(1902)와 저장장치(1906) 사이의 통신을 용이하게 하는 하나 이상의 저장 제어 유닛들을 포함할 수 있다. 적절한 경우, 저장장치(1906)는 하나 이상의 저장장치들(1906)을 포함할 수 있다. 본 발명이 특정한 저장장치를 설명하고 도시할지라도, 본 발명은 임의의 적합한 저장장치를 고려한다.
특정한 실시예들에서, I/O 인터페이스(1908)는 컴퓨터 시스템(1900)과 하나 이상의 I/O 디바이스들 사이의 통신을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 컴퓨터 시스템(1900)은 적절한 경우, 이들 I/O 디바이스들 중 하나 이상을 포함할 수 있다. 이들 I/O 디바이스들 중 하나 이상은 사람과 컴퓨터 시스템(1900) 사이의 통신을 가능하게 할 수 있다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, I/O 디바이스는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 고정형 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 또 다른 적합한 I/O 디바이스 또는 이들 중 2개 이상의 조합을 포함할 수 있다. I/O 디바이스는 하나 이상의 센서들을 포함할 수 있다. 본 발명은 임의의 적합한 I/O 디바이스들 및 그들을 위한 임의의 적합한 I/O 인터페이스들(1908)을 고려한다. 적절한 경우, I/O 인터페이스(1908)는 프로세서(1902)가 이들 I/O 디바이스들 중 하나 이상을 구동하는 것을 가능하게 하는 하나 이상의 디바이스 또는 소프트웨어 구동기들을 포함할 수 있다. I/O 인터페이스(1908)는 적절한 경우, 하나 이상의 I/O 인터페이스들(1908)을 포함할 수 있다. 본 발명이 특정한 I/O 인터페이스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 I/O 인터페이스를 고려한다.
특정한 실시예들에서, 통신 인터페이스(1910)는 컴퓨터 시스템(1900)과 하나 이상의 다른 컴퓨터 시스템들(1900) 또는 하나 이상의 네트워크들 사이의 통신(예를 들면, 패킷 기반 통신과 같음)을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 통신 인터페이스(1910)는 이더넷 또는 다른 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터 또는 와이파이 네트워크와 같은, 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 발명은 임의의 적합한 네트워크 및 그것을 위한 임의의 적합한 통신 인터페이스(1910)를 고려한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 컴퓨터 시스템(1900)은 애드 혹 네트워크, 근거리 개인 통신망(PAN), 근거리 통신망(LAN), 광역 통신망(WAN), 도시권 통신망(MAN), 또는 인터넷의 하나 이상의 부분들 또는 그들 중 2개 이상의 조합과 통신할 수 있다. 이들 네트워크들 중 하나 이상의 하나 이상의 부분들은 유선 또는 무선일 수 있다. 일례로서, 컴퓨터 시스템(1900)은 무선 PAN(WPAN)(예를 들면, 블루투스 WPAN과 같음), 와이파이 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(예를 들면, 모바일 통신을 위한 글로벌 시스템(Global System for Mobile Communications; GSM) 네트워크와 같음), 또는 다른 적합한 무선 네트워크 또는 이들 중 2개 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(1900)은 적절한 경우, 이들 네트워크 중 임의의 것을 위한 임의의 적합한 통신 인터페이스(1910)를 포함할 수 있다. 통신 인터페이스(1910)는 적절한 경우, 하나 이상의 통신 인터페이스들(1910)을 포함할 수 있다. 본 발명이 특정한 통신 인터페이스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 통신 인터페이스를 고려한다.
특정한 실시예들에서, 버스(1912)는 컴퓨터 시스템(1900)의 구성요소들을 서로 결합하는 하드웨어, 소프트웨어, 또는 둘 모두를 포함한다. 일례로서 그리고 제한에 의한 것이 아닌 것으로서, 버스(1912)는 가속화된 그래픽 포트(Accelerated Graphics Port; AGP) 또는 다른 그래픽 버스, 증진된 산업 표준 아키텍처(Enhanced Industry Standard Architecture; EISA) 버스, FSB(front-side bus), 하이퍼트랜스포트(HYPERTRANSPORT)(HT) 상호연결, 산업 표준 아키텍처(ISA) 버스, 인피니밴드 상호연결, LPC(low-pin-count) 버스, 메모리 버스, 마이크로 채널 아키텍처(Micro Channel Architecture; MCA) 버스, 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스, PCI-Express(PCIe) 버스, SATA(serial advanced technology attachment) 버스, VLB(Video Electronics Standards Association local) 버스, 또는 또 다른 적합한 버스 또는 이들 중 2개 이상의 조합을 포함할 수 있다. 버스(1912)는 적절한 경우, 하나 이상의 버스들(1912)을 포함할 수 있다. 본 발명이 특정한 버스를 설명하고 도시할지라도, 본 발명은 임의의 적합한 버스 또는 상호연결부를 고려한다.
본 명세서에서, 컴퓨터 판독가능한 비 일시적 저장 매체 또는 매체들은 하나 이상의 반도체 기반 또는 다른 집적 회로들(ICs)(예를 들면, 필드 프로그래밍가능한 게이트 어레이들(FPGAs) 또는 주문형 반도체들(ASICs)과 같음), 하드 디스크 드라이브들(HDDs), 하이브리드 하드 드라이브들(HHDs), 광 디스크들, 광 디스크 드라이브들(ODDs), 광 자기 디스크들, 광 자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(FDDs), 자기 테이프들, 고체 상태 드라이브들(SSDs), RAM 드라이브들, 보안 디지털 카드들 또는 드라이브들, 임의의 다른 적합한 컴퓨터 판독가능한 비 일시적 저장 매체들, 또는 적절한 경우, 이들 중 2개 이상의 임의의 적합한 조합을 포함할 수 있다. 컴퓨터 판독가능한 비 일시적 저장 매체는 적절한 경우, 휘발성, 비 휘발성, 또는 휘발성 및 비 휘발성의 조합일 수 있다.
본 명세서에서, "또는"은 명확하게 다르게 나타내거나 맥락에 의해 다르게 나타내지 않는 한, 포괄적이고 배타적이지 않다. 따라서, 본 명세서에서, "A 또는 B"는 명확하게 다르게 나타내거나 맥락에 의해 다르게 나타내지 않는 한, "A, B, 또는 둘 모두"를 의미한다. 게다가, "및"은 명확하게 다르게 나타내거나 맥락에 의해 다르게 나타내지 않는 한, 공동 및 몇몇 둘 모두이다. 따라서, 본 명세서에서, "A 및 B"는 명확하게 다르게 나타내거나 맥락에 의해 다르게 나타내지 않는 한, "A 및 B, 공동으로 또는 개별적으로"를 의미한다.
본 발명의 범위는 당업자가 이해할 본 명세서에서 설명되고 도시된 예시적인 실시예들에 대한 모든 변경들, 대체들, 변형들, 개조들, 및 수정들을 포함한다. 본 발명의 범위는 본 명세서에서 설명되고 도시된 예시적인 실시예들로 제한되지 않는다. 게다가, 본 발명이 본 명세서에서의 각각의 실시예들을 특정한 구성요소들, 요소들, 피쳐, 기능들, 동작들, 또는 단계들을 포함하는 것으로서 설명하고 도시할지라도, 이들 실시예들 중 임의의 것은 당업자가 이해할 본 명세서의 어딘가에서 설명되고 도시된 구성요소들, 요소들, 피쳐들, 기능들, 동작들, 또는 단계들 중 임의의 것의 임의의 조합 또는 순열을 포함할 수 있다. 또한, 첨부된 청구항들에서 특정한 기능을 수행하도록 적응되거나, 배열되거나, 수행할 수 있거나, 구성되거나, 가능하게 되거나, 동작가능하거나, 동작하는 장치 또는 시스템 또는 장치 또는 시스템의 구성요소에 대한 참조는, 그 장치, 시스템, 또는 구성요소가 그렇게 적응되거나, 배열되거나, 할 수 있거나, 구성되거나, 가능하게 되거나, 동작가능하거나, 동작하는 한, 그것 또는 그 특정한 기능이 활성화되든, 턴 온되든, 또는 잠금해제되든 아니든 그 장치, 시스템, 구성요소를 포함한다. 부가적으로, 본 발명이 특정한 실시예들을 특정한 장점들을 제공하는 것으로서 설명하거나 도시할지라도, 특정한 실시예들은 이들 장점들을 전혀 제공하지 않거나, 그들의 일부 또는 전부를 제공할 수 있다.

Claims (14)

  1. 시스템으로서:
    하나 이상의 제 1 투영된 조명 특성들을 가지는 제 1 투영된 패턴을 투영하도록 구성된 제 1 프로젝터;
    하나 이상의 제 2 투영된 조명 특성들을 가지는 제 2 투영된 패턴을 투영하도록 구성된 제 2 프로젝터로서, 상기 제 1 투영된 패턴은 상기 제 2 투영된 패턴과 교차하는, 상기 제 2 프로젝터;
    상기 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는 제 1 및 제 2 검출된 패턴들을 포함하는 이미지를 캡쳐하도록 구성된 카메라로서, 상기 제 1 프로젝터로부터의 제 1 베이스라인 거리 및 상기 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치되는, 상기 카메라; 및
    하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은:
    상기 제 1 및 제 2 검출된 패턴들의 검출된 조명 특성들을 상기 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 상기 제 1 및 제 2 투영된 패턴들 중 적어도 하나의 투영된 지점에 대응하는 상기 이미지에서 검출된 지점을 식별하고;
    상기 투영된 지점, 상기 검출된 지점, 및 상기 카메라와 상기 제 1 및 제 2 프로젝터들 중 적어도 하나 사이의 상대 위치에 기초하여 상기 검출된 지점과 연관된 깊이를 계산하도록 구성되는, 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 투영된 패턴은 복수의 제 1 투영된 라인들을 포함하고, 상기 제 2 투영된 패턴은 복수의 제 2 투영된 라인들을 포함하며,
    상기 검출된 조명 특성들은 복수의 제 1 반사된 라인들 및 상기 제 1 반사된 라인들과 교차하는 복수의 제 2 반사된 라인들을 포함하고, 상기 제 1 및 제 2 반사된 라인들은 물체의 표면으로부터의 상기 제 1 및 제 2 투영된 라인들의 반사들에 기초하는, 시스템.
  3. 제 2 항에 있어서,
    상기 제 1 및 제 2 투영된 패턴들 중 하나 이상의 투영된 지점에 대응하는 상기 이미지에서 검출된 지점을 식별하기 위해, 상기 프로세서들은 또한:
    상기 제 1 반사된 라인들 중 하나가 상기 제 2 반사된 라인들 중 하나와 교차하는 반사된 접합점(reflected junction)으로서, 하나 이상의 반사된 접합점 특성들과 연관되는 상기 반사된 접합점을 식별하고;
    상기 반사된 접합점에 대응하는 투영된 접합점을 식별하도록 구성되며,
    상기 투영된 접합점은 상기 제 1 투영된 라인들 중 하나와 상기 제 2 투영된 라인들 중 하나의 교차 지점에 있고, 상기 투영된 접합점은 (1) 상기 제 1 투영된 패턴과 연관된 상기 하나 이상의 제 1 투영된 조명 특성들 및 (2) 상기 제 2 투영된 패턴과 연관된 상기 하나 이상의 제 2 투영된 조명 특성들에 기초하여 결정된 하나 이상의 투영된 접합점 특성들과 연관되고, 상기 투영된 접합점 특성들 중 하나 이상은 상기 반사된 접합점 특성들 중 하나 이상과 매칭하는, 시스템.
  4. 제 3 항에 있어서,
    상기 검출된 지점에 대한 깊이를 계산하기 위해, 상기 프로세서들은 또한, 삼각 측량을 사용하여, 상기 카메라, 상기 프로젝터들 중 적어도 하나, 상기 반사된 접합점, 및 상기 반사된 접합점에 대응하는 상기 투영된 접합점에 기초하여 상기 반사된 접합점과 연관된 깊이를 결정하도록 구성되는, 시스템.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 투영된 접합점의 투영된 접합점 특성들 중 적어도 하나는, 상기 반사된 접합점 특성의 값이:
    상기 투영된 접합점 특성의 값과 같거나,
    임계 특성 값 미만만큼 상기 투영된 접합점 특성의 값과 상이할 때, 상기 반사된 접합점 특성들 중 적어도 하나와 매칭하고;
    선택적으로, 상기 임계 특성 값은 미리 결정된 값 또는 상기 투영된 접합점 특성의 값의 퍼센티지를 포함하는, 시스템.
  6. 제 3 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 투영된 접합점 특성들 및 상기 반사된 접합점 특성들 각각은 광 강도를 포함하고;
    선택적으로, 상기 투영된 접합점의 투영된 접합점 특성들 중 적어도 하나는:
    (1) 상기 제 1 반사된 라인들 중 적어도 하나의 광 강도가 상기 제 1 투영된 라인들 중 적어도 하나의 광 강도에 대응하거나,
    (2) 상기 제 2 반사된 라인들 중 적어도 하나의 광 강도가 상기 제 2 투영된 라인들 중 적어도 하나의 광 강도에 대응할 때, 상기 반사된 접합점 특성들 중 적어도 하나와 매칭하는, 시스템.
  7. 제 3 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 투영된 접합점 특성들 및 상기 반사된 접합점 특성들 각각은 라인들 사이의 거리를 포함하고;
    선택적으로, 상기 투영된 접합점 특성들 중 적어도 하나는:
    (1) 상기 제 1 반사된 라인과 상기 제 1 반사된 라인들 중 또 다른 하나 사이의 거리가 상기 제 1 투영된 라인과 다른 제 1 반사된 라인에 대응하는 상기 제 1 투영된 라인들 중 또 다른 하나 사이의 거리에 대응하거나,
    (2) 상기 제 2 반사된 라인과 상기 제 2 반사된 라인들 중 또 다른 하나 사이의 거리가 상기 제 2 투영된 라인과 다른 제 2 반사된 라인에 대응하는 상기 제 2 투영된 라인들 중 또 다른 하나 사이의 거리에 대응할 때, 상기 반사된 접합점 특성들 중 적어도 하나와 매칭하는, 시스템.
  8. 제 3 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 반사된 접합점 특성들은 상기 제 1 반사된 라인들 중 상기 하나와 연관된 하나 이상의 제 1 반사된 라인 특성들을 포함하고,
    상기 제 1 투영된 조명 특성들 중 하나 이상은 상기 제 1 투영된 라인들 중 상기 하나와 연관되고,
    상기 투영된 접합점 특성들 중 적어도 하나는, 상기 제 1 투영된 라인들 중 상기 하나와 연관된 상기 제 1 투영된 조명 특성들 중 하나 이상이 상기 제 1 반사된 라인 특성들 중 하나 이상과 매칭할 때, 상기 반사된 접합점 특성들 중 적어도 하나와 매칭하는, 시스템.
  9. 제 3 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 반사된 접합점 특성들은 상기 제 2 반사된 라인들 중 하나와 연관된 하나 이상의 제 2 반사된 라인 특성들을 포함하고,
    상기 제 2 투영된 조명 특성들 중 하나 이상은 상기 제 2 투영된 라인과 연관되며,
    상기 투영된 접합점 특성들 중 적어도 하나는, 상기 제 2 투영된 라인과 연관된 상기 제 2 투영된 조명 특성들 중 하나 이상이 상기 제 2 반사된 라인 특성들 중 하나 이상과 매칭할 때, 상기 반사된 접합점 특성들 중 적어도 하나와 매칭하는, 시스템.
  10. 제 3 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 프로세서들은 또한:
    디바이스 또는 상기 물체의 이동을 검출하고;
    상기 이동을 검출하는 것에 응답하여, 상기 반사된 접합점의 새로운 위치로서, 상기 반사된 접합점의 이전 위치와 교차하는 공액 라인(epipolar line)에 또는 그 근처에 있는, 상기 반사된 접합점의 새로운 위치를 식별하고;
    삼각 측량을 사용하여, 상기 카메라, 상기 프로젝터들 중 적어도 하나, 상기 투영된 접합점의 위치, 및 상기 반사된 접합점의 새로운 위치에 기초하여 상기 반사된 접합점의 새로운 위치와 연관된 깊이를 결정하도록 구성되고,
    선택적으로, 상기 반사된 접합점은 상기 반사된 접합점이 상기 공액 라인의 임계 거리 내에 위치될 때 상기 공액 라인에 또는 그 근처에 있는, 시스템.
  11. 제 3 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 프로세서들은 또한:
    상기 반사된 접합점 특성들을 상기 반사된 접합점에 인접하는 하나 이상의 반사된 접합점들로 전파하도록 구성되는, 시스템.
  12. 제 3 항 내지 제 11 항 중 어느 한 항에 있어서,
    신뢰 값이 상기 투영된 접합점과 상기 반사된 접합점 사이의 상기 식별된 대응과 연관되고, 상기 신뢰 값은 상기 투영된 접합점 특성들 중 얼마나 많은 것이 상기 반사된 접합점 특성들 중 하나 이상과 매칭하는지에 기초하며;
    선택적으로, 상기 프로세서들은 또한:
    특정한 방향으로 상기 투영된 접합점에 인접하는 인접한 투영된 접합점을 식별하고;
    상기 인접한 투영된 접합점의 아이덴티티(identity)를 상기 특정한 방향으로 상기 반사된 접합점에 인접하는 인접한 반사된 접합점으로 전파하도록 구성되며,
    선택적으로, 상기 인접한 투영된 접합점의 아이덴티티 및 상기 신뢰 값은 상기 신뢰 값이 임계 신뢰 조건을 만족할 때 상기 인접한 반사된 접합점으로 전파되는, 시스템.
  13. 소프트웨어를 구현하는 하나 이상의 컴퓨터 판독가능한 비 일시적 저장 매체에 있어서,
    상기 소프트웨어는 실행될 때:
    이미지에서 검출된 지점을 식별하는 것으로서, 상기 검출된 지점은 제 1 및 제 2 검출된 패턴들의 하나 이상의 검출된 조명 특성들을 하나 이상의 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 투영된 패턴 및 제 2 투영된 패턴 중 적어도 하나의 투영된 지점에 대응하고,
    카메라가 상기 이미지를 캡쳐하도록 구성되고, 상기 이미지는 상기 제 1 및 제 2 검출된 패턴들을 포함하고, 상기 제 1 및 제 2 검출된 패턴들은 상기 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는, 상기 검출된 지점을 식별하는 것; 및
    상기 투영된 지점, 상기 검출된 지점, 및 상기 카메라와 제 1 프로젝터 및 제 2 프로젝터 중 적어도 하나 사이의 상대 위치에 기초하여 상기 검출된 지점과 연관된 깊이를 계산하는 것을, 행도록 동작가능하며,
    제 1 프로젝터는 상기 제 1 투영된 패턴을 투영하도록 구성되고, 상기 제 1 투영된 패턴은 상기 제 1 투영된 조명 특성들을 갖고,
    제 2 프로젝터는 상기 제 2 투영된 패턴을 투영하도록 구성되고, 상기 제 2 투영된 패턴은 상기 제 2 투영된 조명 특성들을 갖고, 상기 제 1 투영된 패턴은 상기 제 2 투영된 패턴과 교차하고,
    상기 카메라는 상기 제 1 프로젝터로부터의 제 1 베이스라인 거리 및 상기 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치되는, 하나 이상의 컴퓨터 판독가능한 비 일시적 저장 매체.
  14. 방법으로서:
    컴퓨팅 디바이스에 의해, 이미지에서 검출된 지점을 식별하는 단계로서, 상기 검출된 지점은 제 1 및 제 2 검출된 패턴들의 하나 이상의 검출된 조명 특성들을 하나 이상의 제 1 및 제 2 투영된 조명 특성들과 비교함으로써 제 1 투영된 패턴 및 제 2 투영된 패턴 중 적어도 하나의 투영된 지점에 대응하고,
    카메라가 상기 이미지를 캡쳐하도록 구성되고, 상기 이미지는 상기 제 1 및 제 2 검출된 패턴들을 포함하고, 상기 제 1 및 제 2 검출된 패턴들은 상기 제 1 및 제 2 투영된 패턴들의 반사들에 각각 대응하는, 상기 검출된 지점을 식별하는 단계; 및
    상기 컴퓨팅 디바이스에 의해, 상기 투영된 지점, 상기 검출된 지점, 및 상기 카메라와 제 1 프로젝터 및 제 2 프로젝터 중 적어도 하나 사이의 상대 위치에 기초하여 상기 검출된 지점과 연관된 깊이를 계산하는 단계를 포함하며,
    제 1 프로젝터는 상기 제 1 투영된 패턴을 투영하도록 구성되고, 상기 제 1 투영된 패턴은 상기 제 1 투영된 조명 특성들을 갖고,
    제 2 프로젝터는 상기 제 2 투영된 패턴을 투영하도록 구성되고, 상기 제 2 투영된 패턴은 상기 제 2 투영된 조명 특성들을 갖고, 상기 제 1 투영된 패턴은 상기 제 2 투영된 패턴과 교차하고,
    상기 카메라는 상기 제 1 프로젝터로부터의 제 1 베이스라인 거리 및 상기 제 2 프로젝터로부터의 제 2 베이스라인 거리에 위치되는, 방법.
KR1020217010129A 2018-10-02 2018-11-20 그리드 광 패턴들을 사용한 깊이 감지 KR20210053980A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/150,210 2018-10-02
US16/150,210 US10839536B2 (en) 2018-10-02 2018-10-02 Depth sensing using grid light patterns
PCT/US2018/062029 WO2020072084A1 (en) 2018-10-02 2018-11-20 Depth sensing using grid light patterns

Publications (1)

Publication Number Publication Date
KR20210053980A true KR20210053980A (ko) 2021-05-12

Family

ID=69945124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217010129A KR20210053980A (ko) 2018-10-02 2018-11-20 그리드 광 패턴들을 사용한 깊이 감지

Country Status (6)

Country Link
US (1) US10839536B2 (ko)
EP (1) EP3861529A4 (ko)
JP (1) JP2022511257A (ko)
KR (1) KR20210053980A (ko)
CN (1) CN112789653A (ko)
WO (1) WO2020072084A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10957025B2 (en) * 2018-12-03 2021-03-23 International Business Machines Corporation Photograph with variable light source distribution
JP2020153718A (ja) * 2019-03-18 2020-09-24 株式会社リコー 測定装置及び造形装置
US11107271B2 (en) * 2019-11-05 2021-08-31 The Boeing Company Three-dimensional point data based on stereo reconstruction using structured light
US11398085B2 (en) * 2020-07-31 2022-07-26 Wisconsin Alumni Research Foundation Systems, methods, and media for directly recovering planar surfaces in a scene using structured light
US20220230335A1 (en) * 2021-01-20 2022-07-21 Nicolae Paul Teodorescu One-shot high-accuracy geometric modeling of three-dimensional scenes
JP2024005485A (ja) * 2022-06-30 2024-01-17 キヤノン株式会社 頭部装着型表示装置、状態判断装置、頭部装着型表示装置の制御方法、状態判断装置の制御方法、およびプログラム
WO2024075476A1 (ja) * 2022-10-05 2024-04-11 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH061164B2 (ja) * 1985-01-31 1994-01-05 伍良 松本 立体形状測定装置
JP5317169B2 (ja) * 2008-06-13 2013-10-16 洋 川崎 画像処理装置、画像処理方法およびプログラム
JP2011242183A (ja) * 2010-05-17 2011-12-01 Hiroshima City Univ 画像処理装置、画像処理方法およびプログラム
WO2011163359A2 (en) * 2010-06-23 2011-12-29 The Trustees Of Dartmouth College 3d scanning laser systems and methods for determining surface geometry of an immersed object in a transparent cylindrical glass tank
US20150253428A1 (en) 2013-03-15 2015-09-10 Leap Motion, Inc. Determining positional information for an object in space
US9297889B2 (en) 2012-08-14 2016-03-29 Microsoft Technology Licensing, Llc Illumination light projection for a depth camera
US9407837B2 (en) 2013-02-28 2016-08-02 Google Inc. Depth sensor using modulated light projector and image sensor with color and IR sensing
KR102237828B1 (ko) 2014-08-22 2021-04-08 삼성전자주식회사 동작 인식 장치 및 이를 이용한 동작 인식 방법
US9817159B2 (en) * 2015-01-31 2017-11-14 Microsoft Technology Licensing, Llc Structured light pattern generation
JP6484072B2 (ja) * 2015-03-10 2019-03-13 アルプスアルパイン株式会社 物体検出装置
JP6570321B2 (ja) * 2015-06-02 2019-09-04 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US10706572B2 (en) 2015-08-26 2020-07-07 Olympus Corporation System and method for depth estimation using multiple illumination sources

Also Published As

Publication number Publication date
EP3861529A4 (en) 2022-07-13
US10839536B2 (en) 2020-11-17
CN112789653A (zh) 2021-05-11
WO2020072084A1 (en) 2020-04-09
JP2022511257A (ja) 2022-01-31
EP3861529A1 (en) 2021-08-11
US20200105005A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
US11941830B2 (en) Depth sensing using temporal coding
KR20210053980A (ko) 그리드 광 패턴들을 사용한 깊이 감지
US11592572B2 (en) Depth sensing using dynamic illumination with range extension
US20190361258A1 (en) Structured light projection and imaging
US10877622B2 (en) Detection of structured light for depth sensing
US11308711B2 (en) Enhanced contrast for object detection and characterization by optical imaging based on differences between images
US9635231B2 (en) Time-of-flight camera system and method to improve measurement quality of weak field-of-view signal regions
US20150253428A1 (en) Determining positional information for an object in space
JP4485365B2 (ja) 測距装置
KR101605224B1 (ko) 패턴 광을 이용한 깊이 정보 획득 장치 및 방법
KR102164541B1 (ko) 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법
JP2013513179A (ja) 距離に基づく検知
KR20170120655A (ko) 볼륨 내 물체의 심도 맵핑을 위한 광 패턴의 강도 변화의 사용
US20160189387A1 (en) Methods and Apparatus for Depth Sensing
US20110109565A1 (en) Cordinate locating method, coordinate locating device, and display apparatus comprising the coordinate locating device
US10896516B1 (en) Low-power depth sensing using dynamic illumination
WO2020057365A1 (en) Method, system, and computer-readable medium for generating spoofed structured light illuminated face
US8988393B2 (en) Optical touch system using overlapping object and reflection images and calculation method thereof
KR20230146658A (ko) 외부 시선 검출을 통한 광샘 감소
TW202115363A (zh) 從具有機發光二極體顯示螢幕的設備投射結構光圖案
TW201829979A (zh) 物體偵測系統以及方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application