KR20170019374A - 컨텐츠 필터링에 기초한 구조화된 광 3차원 (3d) 깊이 맵 - Google Patents

컨텐츠 필터링에 기초한 구조화된 광 3차원 (3d) 깊이 맵 Download PDF

Info

Publication number
KR20170019374A
KR20170019374A KR1020167035561A KR20167035561A KR20170019374A KR 20170019374 A KR20170019374 A KR 20170019374A KR 1020167035561 A KR1020167035561 A KR 1020167035561A KR 20167035561 A KR20167035561 A KR 20167035561A KR 20170019374 A KR20170019374 A KR 20170019374A
Authority
KR
South Korea
Prior art keywords
depth
image data
depth information
image
filtered
Prior art date
Application number
KR1020167035561A
Other languages
English (en)
Other versions
KR101802106B1 (ko
Inventor
비카스 라마찬드라
칼린 미트코브 아타나소브
제임스 윌슨 내쉬
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20170019374A publication Critical patent/KR20170019374A/ko
Application granted granted Critical
Publication of KR101802106B1 publication Critical patent/KR101802106B1/ko

Links

Images

Classifications

    • H04N13/0271
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06K9/00375
    • G06K9/2036
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/514Depth or shape recovery from specularities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/145Illumination specially adapted for pattern recognition, e.g. using gratings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Measurement Of Optical Distance (AREA)

Abstract

컨텐츠 필터링에 기초한 구조화된 광 3차원 (3D) 깊이 맵이 개시된다. 특정의 실시형태에서, 방법은 수신기 디바이스에서 구조화된 광 이미지에 대응하는 이미지 데이터를 수신하는 단계를 포함한다. 방법은 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 이미지 데이터를 프로세싱하는 단계를 더 포함한다. 깊이 정보는 깊이 맵에 대응한다. 방법은 또한 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 단계를 포함한다. 하나 이상의 필터링 동작들의 출력은 필터링된 이미지 데이터를 포함한다. 방법은 깊이 정보와 필터링된 이미지 데이터의 비교를 수행하고 변경된 깊이 맵을 생성하기 위해 그 비교에 기초하여 깊이 정보를 변경하는 단계를 더 포함한다.

Description

컨텐츠 필터링에 기초한 구조화된 광 3차원 (3D) 깊이 맵{STRUCTURED LIGHT THREE-DIMENSIONAL (3D) DEPTH MAP BASED ON CONTENT FILTERING}
본 출원은 공동으로 소유된 2014년 6월 19일자로 출원된 미국 가특허 출원 제 62/014,652 호, 및 2015년 6월 18일자로 출원된 미국 정규 출원 제 14/743,980 호로부터의 우선권을 주장하며, 그것의 전체 내용이 참조에 의해 여기에 명백하게 포함된다.
본 개시는 일반적으로 컨텐츠 필터링에 기초한 구조화된 광 3차원 (3D) 깊이 맵에 관한 것이다.
기술에서의 진보들은 더 작은 장치들 및 더 강력한 컴퓨팅 디바이스들을 야기하였다. 예를 들어, 무선 컴퓨팅 디바이스들을 포함하는 다양한 휴대용 개인용 컴퓨팅 디바이스들, 이를테면 작고, 경량이며, 사용자들에 의해 쉽게 휴대되는 휴대용 무선 전화기들, 개인 정보 단말기 (personal digital assistant, PDA) 들, 및 페이징 디바이스들이 현재 존재하고 있다. 더욱 구체적으로는, 휴대용 무선 전화기들, 이를테면 셀룰러 전화기들 및 인터넷 프로토콜 (internet protocol, IP) 전화기들이 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 게다가, 많은 그러한 무선 전화기들은 그 속에 통합되는 다른 유형들의 디바이스들을 구비한다. 예를 들어, 무선 전화기가 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 또한 포함할 수 있다. 또한, 그러한 무선 전화기들은 인터넷을 액세스하기 위해 사용될 수 있는 웹 브라우저 애플리케이션과 같은 소프트웨어 애플리케이션들을 포함하는 실행가능한 명령들을 프로세싱할 수 있다. 이와 같이, 이들 무선 전화기들은 상당한 컴퓨팅 능력들을 포함할 수 있다.
무선 전화기들과 같은 무선 디바이스들은 3차원 (3D) 깊이 맵들을 생성하도록 구성될 수도 있다. 예를 들어, 무선 디바이스는 3차원 (3D) 오브젝트를 포함하는 장면에 조명 패턴 (예를 들어, 수직 스트라이프들을 갖는 마스크) 을 투영하도록 구성된 깊이 추정을 위한 구조화된 광 시스템을 포함할 수도 있거나 그것과 연관될 수도 있다. 장면 상의 또는 3D 오브젝트 상의 조명 패턴은 통상적으로 장면 또는 3D 오브젝트에 대한 깊이 정보를 인코딩한다. 구조화된 광 시스템은 또한 조명된 장면의 이미지를 캡쳐하도록 구성될 수도 있다. 장면의 이미지에서 캡쳐된 패턴들에 기초하여, 장면에서의 상이한 깊이들을 나타내는 깊이 맵이 생성될 수도 있다. 그러나, 깊이 맵은 위양성들 (예를 들어, 오브젝트가 존재하지 않는 경우의 유효한 깊이 데이터를 검출 및 디코딩), 위음성들 (예를 들어, 투영된 코딩된 광의 패턴이 이미지에서 검출되지 않는 경우의 이미지의 섀도우 영역들에 기초한 깊이 값들을 미싱 (missing)), 및/또는 디코딩 에러들 (예를 들어, 인체로부터 반사된 투영된 광의 패턴을 부정확하게 디코딩 및/또는 이미지의 프로세싱 동안 생성된 디코딩 에러들) 에 기초한 하나 이상의 에러성 깊이 값들을 포함할 수도 있다.
예시적인 예에서, 방법은 수신기 디바이스에서 구조화된 광 이미지에 대응하는 이미지 데이터를 수신하는 단계를 포함한다. 방법은 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 이미지 데이터를 프로세싱하는 단계를 더 포함한다. 깊이 정보는 깊이 맵에 대응한다. 방법은 또한 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 단계를 포함한다. 하나 이상의 필터링 동작들의 출력은 필터링된 이미지 데이터를 포함한다. 방법은 깊이 정보와 필터링된 이미지 데이터 사이의 비교를 수행하고 변경된 깊이 맵을 생성하기 위해 그 비교에 기초하여 깊이 정보를 변경하는 단계를 더 포함한다.
다른 예시적인 예에서, 디바이스는 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 구조화된 광 이미지에 대응하는 이미지 데이터를 프로세싱하도록 구성된 프로세서를 포함한다. 프로세서는 또한 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터에 대해 필터링 동작을 수행하도록 구성된다. 프로세서는 깊이 정보와 필터링된 이미지 데이터 사이의 비교에 기초하여 깊이 정보를 변경하도록 구성된다. 디바이스는 또한 변경된 깊이 정보를 저장하도록 구성된 메모리를 포함한다.
다른 예시적인 예에서, 장치는 구조화된 광 이미지에 대응하는 이미지 데이터에 기초하여 및 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하는 수단을 포함한다. 장치는 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 수단을 더 포함한다. 장치는 깊이 정보와 필터링된 이미지 데이터 사이의 비교에 기초하여 깊이 정보를 변경하는 수단을 더 포함한다.
다른 예시적인 예에서, 비일시적 컴퓨터 판독가능 매체는 명령들을 저장하며, 명령들은 프로세서로 하여금 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 구조화된 광 이미지에 대응하는 이미지 데이터를 프로세싱하는 것을 포함하는 동작들을 수행하게 하기 위해 프로세서에 의해 실행가능하다. 명령들은 또한 프로세서로 하여금 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 것을 포함하는 동작들을 수행하게 한다. 명령들은 또한 프로세서로 하여금 깊이 정보와 필터링된 이미지 데이터 사이의 비교에 기초하여 깊이 정보를 변경하는 것을 포함한 동작들을 수행하게 한다.
본 개시의 다른 양태들, 장점들, 및 특징들은 다음의 섹션들을 포함하는 전체 출원의 검토 후에 명확하게 될 것이다: 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용, 및 청구범위.
도 1 은 구조화된 광 시스템의 수신기 디바이스의 블록도이다,.
도 2 는 도 1 의 수신기 디바이스에 의해 수행되는 프로세싱 스테이지들을 도시하는 다이어그램이다.
도 3 은 예시적인 구조화된 광 시스템의 블록도이다.
도 4 는 오브젝트 또는 장면에 기초하여 깊이를 감지하는 설명의 다이어그램이다.
도 5 는 깊이 맵을 생성하도록 구성된 예시적인 구조화된 광 시스템의 블록도이다.
도 6 은 깊이 정보를 변경하는 방법의 제 1 예시적인 예의 흐름도이다.
도 7 은 깊이 정보를 변경하는 방법의 제 2 예시적인 예의 흐름도이다.
도 8 은 도 1 의 시스템을 사용하여 이미지에 포함된 라인 세그먼트를 검출 및/또는 추적하기 위해 이미지 데이터를 프로세싱하는 디바이스의 블록도이다.
본 개시의 특정의 양태들이 도면을 참조하여 이하에 기술된다. 상세한 설명에서, 공통의 특징들은 도면 전체에 걸쳐 공통의 참조 번호들에 의해 지정된다.
이동 디바이스와 같은 디바이스는 컨텐츠 필터링에 기초하여 구조화된 광 3차원 (3D) 깊이 맵을 생성하도록 구성될 수도 있다. 디바이스는 투영된 코딩된 광의 패턴에 기초하여 화소 강도 값들을 포함하는, 구조화된 광 이미지와 같은 이미지를 수신할 수도 있다. 디바이스는 그 패턴에 기초하여 깊이 정보를 디코딩하기 위해 그리고 깊이 맵 (예를 들어, 깊이 값들) 을 생성하기 위해 이미지를 프로세싱할 수도 있다. 디바이스는 또한 세그멘테이션 (segmentation) 맵과 같은 필터링된 이미지 데이터를 생성하기 위해 이미지를 프로세싱할 수도 있다. 예를 들어, 필터링된 이미지 데이터는 블러링 (blurring) 필터, 저역통과 필터, 대역통과 필터, 및/또는 총 변동 (total variation) 필터를 적용하는 것에 의하는 것과 같이 이미지를 필터링하는 것에 의해 생성될 수도 있다. 설명하자면, 하나 이상의 필터링 동작들이 이미지에 포함된 투영된 코딩된 광의 패턴의 존재를 감소시키거나 제거하기 위해 이미지에 적용될 수도 있다. 깊이 맵은 깊이 맵과 연관된 손실한 (missing) 및/또는 부정확한 깊이 값들을 식별하기 위해 필터링된 이미지 데이터와 비교될 수도 있다. 깊이 맵 (예를 들어, 깊이 값들) 은 손실한 깊이 값들에 대한 깊이 값들을 생성하기 위해 및/또는 부정확한 깊이 값들을 정정하기 위해 필터링된 이미지 데이터 및 깊이 맵 사이의 비교에 기초하여 변경될 수도 있다.
개시된 양태들 중 적어도 하나에 의해 제공되는 하나의 특정의 이점은, 필터링된 이미지 데이터를 생성하고 그 필터링된 이미지 데이터를 깊이 정보와 비교함으로써, 깊이 정보와 연관된 손실한 및/또는 부정확한 깊이 값들이 식별되고 정정될 수도 있다는 것이다. 예를 들어, 손실한 및/또는 부정확한 깊이 값들은 위양성들, 위음성들, 및/또는 디코딩 에러들에 기초할 수도 있다. 손실한 및/또는 부정확한 깊이 값들을 정정함으로써, 깊이 정보는 변경 (예를 들어, 정정) 될 수도 있다. 손실한 및/또는 부정확한 깊이 값을 정정하는 것은 오브젝트 검출 애플리케이션과 같은 다른 애플리케이션들에 의한 (예를 들어, 깊이 맵에 대응하는) 변경된 깊이 정보의 향상된 프로세싱을 가능하게 할 수도 있다.
도 1 을 참조하면, 구조화된 광 시스템 (100) 의 수신기 디바이스 (102) 의 예시적인 예가 도시된다. 구조화된 광 시스템 (100) 은 송신기 디바이스 (도시하지 않음) 및 수신기 디바이스 (102) 를 포함할 수도 있다. 구조화된 광 시스템 (100) 은 전자 디바이스와 같은 하나 이상의 디바이스들에 포함 및/또는 내장될 수도 있다. 특정의 구현에서, 전자 디바이스 (예를 들어, 수신기 디바이스 (102)) 는 이미지를 캡쳐하도록 구성된, 카메라와 같은 이미지 센서를 포함하는 이동 디바이스일 수도 있다. 예를 들어, 전자 디바이스는 이미지를 캡쳐할 수도 있고, 대응하는 이미지 데이터 (110) 를 생성할 수도 있다.
수신기 디바이스 (102) 는 이미지 데이터 (110) 를 생성하거나 수신하도록 구성될 수도 있다. 이미지 데이터 (110) 는 반사된 코드 마스크를 포함하는 이미지에 대응할 수도 있다. 예를 들어, 송신기 디바이스 (도시하지 않음) 는 오브젝트 또는 장면 상으로 하나 이상의 코드워드들을 포함하는 코드 마스크를 투영할 수도 있다. 각 코드워드는 구조화된 광의 대응하는 패턴을 가질 수도 있고, 코드 마스크 내의 기지의 로케이션에 위치될 수도 있다. 오브젝트 또는 장면으로부터의 코드 마스크의 반사는 카메라와 같은 수신기 센서에 의해 이미지로서 캡쳐될 수도 있다. 투영된 코드 마스크와 비교되는 바와 같은 반사된 코드 마스크에서의 코드 마스크의 (예를 들어, 하나 이상의 코드워드들의) 시프트는 여기서 더욱 기술되는 바와 같이 투영된 코드 마스크를 반사한 오브젝트 또는 장면과 연관된 깊이 정보 및/또는 형상 정보를 "인코딩할" (예를 들어, 결정하기 위해 사용될) 수도 있다. 이미지는 복수의 화소들을 포함하거나 그것들에 대응할 수도 있으며, 여기서 각 화소는 대응하는 화소 강도 값을 갖는다. 화소 강도 값은 이미지 데이터 (110) 에 포함되고 수신기 디바이스 (102) 로 제공될 수도 있다. 일부 구현들에서, 수신기 디바이스 (102) 는 이미지를 캡쳐하고 이미지에 기초하여 이미지 데이터 (110) 를 생성하는 수신기 센서를 포함할 수도 있다. 수신기 디바이스 (102) 및/또는 수신기 센서는 송신기 디바이스에 의해 투영된 코드 마스크, 및 따라서 투영된 코드 마스크에 포함된 하나 이상의 코드워드들의 로케이션을 인식하고 있을 (예를 들어, "알고 있을") 수도 있다.
수신기 디바이스 (102) 는 깊이 맵 생성기 (120), 필터 (130), 깊이 변경기 (140), 및 메모리 (160) 를 포함할 수도 있다. 수신기 디바이스 (102) 에 의해 수신된 이미지 데이터 (110) 는 깊이 맵 생성기 (120) 로 및 필터 (130) 로 제공될 수도 있다. 이미지 데이터 (110) 는 또한 메모리 (160) 로 제공될 수도 있고 메모리 (160) 에 저장될 수도 있다.
깊이 맵 생성기 (120) 는 이미지 데이터 (110) 에 기초하여 깊이 정보 (122a) 를 생성하도록 구성될 수도 있다. 예를 들어, 깊이 맵 생성기 (120) 는 이미지 데이터 (110) (예를 들어, 이미지) 에 포함된 하나 이상의 코드워드들을 식별하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다. 예를 들어, 특정의 코드워드는 화소 강도 값들의 특정의 그룹핑에 대응하는 구조화된 광의 특정의 패턴을 포함할 수도 있다. 깊이 맵 생성기 (120) 는 이미지 데이터 (110) 에 포함된 화소 강도 값들의 특정의 그룹핑을 식별하고 화소 강도 값들의 그룹핑에 대응하는 이미지의 로케이션 (예를 들어, 반사된 코드 마스크의 이미지에서의 코드워드의 로케이션) 을 결정할 수도 있다.
각각의 검출된 코드워드에 대해, 깊이 맵 생성기 (120) 는 코드워드의 결정된 로케이션을 투영된 코드 마스크에서의 코드워드의 오리지날 로케이션과 비교할 수도 있다. 예를 들어, 깊이 맵 생성기 (120) 는 투영된 코드 마스크의 수신된 반사에서의 코드워드와 비교되는 바와 같은 투영된 코드 마스크에서의 코드워드의 변위 (예를 들어, 거리) 를 결정할 수도 있다. 변위에 기초하여, 깊이 맵 생성기 (120) 는 코드워드에 대응하는 하나 이상의 깊이 값들을 결정하기 위해 삼각측량 기법드 및/또는 입체 이미지 프로세싱 기법들과 같은 하나 이상의 기법들을 사용할 수도 있다. 따라서, 수신된 코드워드 위치와 송신된 코드워드 위치 사이의 차이가 특정의 오브젝트 (또는 그것의 일부) 의 깊이 (예를 들어, 깊이 값) 를 결정하기 위해 사용될 수도 있다. 설명하자면, 코드워드에 대해 결정된 각 깊이 값은 화소 강도 값들의 특정의 그룹핑에 포함된 상이한 화소 강도 값과 연관되고 및/또는 그 상이한 화소 강도 값에 대응할 수도 있다. 이에 따라, 각 깊이 값은 이미지에 대응하는 복수의 화소들의 상이한 화소 로케이션에 대응할 수도 있다. 따라서, 깊이 맵 생성기 (120) 는 반사된 코드워드들에 기초하여 이미지의 하나 이상의 화소들에 대한 (예를 들어, 이미지 데이터 (110) 에 포함된 하나 이상의 화소 강도 값들에 대한) 깊이 값을 포함하는 깊이 정보 (122a) 를 생성할 수도 있다. 깊이 정보 (122a) 는 이미지 내의 오브젝트 또는 장면과 연관된 하나 이상의 깊이 값들을 나타내는 깊이 맵에 대응할 수도 있다.
깊이 정보 (122a) 는 하나 이상의 부정확한 깊이 값들과 같은 부정확한 깊이 데이터를 포함할 수도 있다. 부정확한 깊이 값들은 위양성들, 위음성들, 디코딩 에러들, 또는 이들의 조합에 기초할 수도 있다. 위양성은 어떠한 오브젝트도 이미지에 포함되지 않는 경우에 깊이 데이터를 검출 및 디코딩하는 것과 연관될 수도 있다. 위음성은 투영된 코딩된 광 (예를 들어, 코드워드) 의 패턴이 이미지에서 검출되지 않는 경우에 이미지의 섀도우 영역들에 기초한 깊이 값들을 손실하는 것 (missing) 과 연관될 수도 있다. 디코딩 에러는 인체와 같은 오브젝트로부터 반사된 투영된 광의 패턴을 부정확하게 디코딩하는 것, 및/또는 이미지 데이터 (110) 의 프로세싱 동안 깊이 맵 생성기 (120) 에 의해 생성된 디코딩 에러들과 같은, 이미지의 프로세싱 동안 생성된 디코딩 에러들과 연관될 수도 있다.
필터 (130) 는 이미지 데이터 (110) 를 수신하고 필터링된 이미지 데이터 (132) 를 생성하도록 구성될 수도 있다. 필터링된 이미지 데이터 (132) 는 이미지 데이터 (110) 에 포함된 각 화소 강도 값에 대한 필터링된 강도 데이터 (예를 들어, 이미지에 대응하는 각 화소에 대한 필터링된 강도 값) 를 포함할 수도 있다. 예를 들어, 필터 (130) 는 필터링된 이미지 데이터 (132) 를 생성하기 위해 이미지 데이터 (110) 에 대해 하나 이상의 필터링 동작들을 수행할 수도 있다. 하나 이상의 필터링 동작들은 예시적인, 비제한적 예들로서 블러링 필터링 동작, 저역통과 필터링 동작, 대역통과 필터링 동작, 및/또는 총 변동 (total variation) 필터링 동작을 포함할 수도 있다. 하나 이상의 필터링 동작들은 투영된 광의 패턴에 대응하는 이미지 데이터 (110) 의 컴포넌트들을 감소시키거나 제거하도록 구성될 수도 있다. 투영된 광의 패턴에 대응하는 이미지 데이터 (110) 의 컴포넌트들을 필터링함으로써, 필터 (130) 는 이미지 캡쳐 디바이스의 시야에 포함된 오브젝트 또는 장면을 나타내는 필터링된 이미지를 생성할 수도 있다. 일부 구현들에서, 하나 이상의 필터링 동작들은 이미지에 포함되는 유사한 반사율을 갖는 하나 이상의 오브젝트들과 같은, 유사한 반사율을 갖는 이미지의 부분들에 대응하는 화소 강도 값들의 그룹들을 식별하기 위해 사용될 수도 있다. 예를 들어, 필터 (130) 는 필터링된 이미지 데이터 (132) 를 생성하기 위해 이미지 데이터 (110) 에 대해 하나 이상의 필터링 동작들의 하나 이상의 반복들을 수행할 수도 있다.
필터링된 이미지 데이터 (132) 는 이미지 데이터 (110) 에서의 화소 강도 값들의 수 및 깊이 정보 (122a) 에서의 깊이 값들의 수와 동일한 수의 필터링된 이미지 데이터 값들을 포함할 수도 있다. 설명하자면, 이미지 데이터 (110) 에 포함된 화소 강도 값들 각각은 이미지와 연관된 화소에 대응할 수도 있다. 깊이 맵 생성기 (120) 는 각각의 깊이 값이 이미지의 상이한 화소에 대응하도록, 이미지 데이터 (110) 에 포함된 각 화소 강도 값에 대해 깊이 값을 생성하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다. 또, 필터 (130) 는 각각의 필터링된 이미지 데이터 값이 이미지의 상이한 화소에 대응하도록, 이미지 데이터 (110) 에 포함된 각 화소 강도 값에 대해 필터링된 이미지 데이터 값을 생성하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다.
깊이 변경기 (140) 는 깊이 정보 (122a) 및 필터링된 이미지 데이터 (132) 를 수신하도록 구성될 수도 있다. 깊이 변경기 (140) 는 비교 로직 (150) 을 포함할 수도 있다. 비교 로직 (150) 은 (이미지의 깊이 맵에 대응하는) 깊이 정보 (122a) 및 (이미지의 필터링된 버전에 대응하는) 필터링된 이미지 데이터 (132) 를 비교하도록 구성될 수도 있다. 예를 들어, 비교 로직 (150) 은 깊이 정보 (122a) 와 필터링된 이미지 데이터 (132) 사이의 화소 바이 화소 (pixel by pixel) 비교를 수행하도록 구성될 수도 있다.
깊이 정보 (122a) 와 필터링된 이미지 데이터 (132) 의 비교에 기초하여, 비교 로직 (150) 은 깊이 정보 (122a) 에 포함된 유효한 깊이 데이터 및/또는 무효의 깊이 데이터 (예를 들어, 부정확한 깊이 데이터) 를 식별할 수도 있다. 예를 들어, 비교 로직 (150) 은 (이미지의 화소 로케이션에 대응하는) 깊이 데이터 값 및 (이미지의 동일한 화소 로케이션에 대응하는) 필터링된 이미지 데이터 값 양자 모두가 오브젝트가 그 화소 로케이션에 존재한다고 나타내거나, 양자 모두가 오브젝트가 그 화소 로케이션에 존재하지 않는다고 나타내는 경우, 깊이 정보 (122a) 에 포함된 깊이 값을 유효한 것으로서 식별할 수도 있다. 다른 예로서, 비교 로직 (150) 은 (이미지의 화소 로케이션에 대응하는) 깊이 데이터 값 및 (이미지의 동일한 화소 로케이션에 대응하는) 필터링된 이미지 데이터 값이 오브젝트가 그 화소 로케이션에 존재하는지 여부에 대한 상이한 표시들을 제공하는 경우, 깊이 정보 (122a) 에 포함된 깊이 값을 무효인 것 (예를 들어, 부정확한 깊이 데이터) 으로서 식별할 수도 있다.
무효인 것 (예를 들어, 부정확한 깊이 데이터) 으로서 식별된 깊이 값들은 부정확한 깊이 값 및/또는 손실한 깊이 값을 포함하거나 그것들에 대응할 수도 있다. 무효의 깊이 값은 (이미지의 화소 로케이션에 대응하는) 깊이 데이터 값이 오브젝트가 그 화소 로케이션에 존재한다고 나타내고 (이미지의 그 화소 로케이션에 대응하는) 필터링된 이미지 데이터 값이 오브젝트가 그 화소 로케이션에 존재한다고 나타내지 않는 경우에 식별될 수도 있다. 손실한 깊이 값은 (이미지의 화소 로케이션에 대응하는) 깊이 데이터 값이 오브젝트가 그 화소 로케이션에 존재한다고 나타내지 않고 (이미지의 그 화소 로케이션에 대응하는) 필터링된 이미지 데이터 값이 오브젝트가 그 화소 로케이션에 존재한다고 나타내는 경우에 식별될 수도 있다.
깊이 변경기 (140) 는 비교 로직 (150) 에 의해 무효인 (부정확한) 깊이 데이터로서 식별되는, 깊이 정보 (122a) 에 포함된 깊이 데이터 값들의 하나 이상을 변경하도록 구성될 수도 있다. 예를 들어, 깊이 변경기 (140) 는 무효인 깊이 값을 식별하고 (오브젝트가 화소 로케이션에 존재한다는 것을 나타내는) 그 무효인 깊이 값을 변경 (예를 들어, 변화) 시켜 대신에 오브젝트가 그 화소 로케이션에 존재하지 않는다는 것을 나타낼 수도 있다.
다른 예로서, 깊이 변경기 (140) 는 손실한 깊이 값을 식별하고 (오브젝트가 화소 로케이션에 존재하지 않는다는 것을 나타내는) 그 손실한 깊이 값을 변경 (예를 들어, 변화) 시켜 대신에 오브젝트가 그 화소 로케이션에 존재한다는 것을 나타낼 수도 있다. 깊이 변경기 (140) 는 필터링된 이미지 데이터 (132) 에 기초하여 손실한 깊이 값을 변경할 수도 있다. 설명하자면, 깊이 변경기 (140) 는 손실한 깊이 값에 대응하는 이미지의 특정의 화소를 식별할 수도 있다. 깊이 변경기 (140) 는 특정의 화소에 대응하는 (필터링된 이미지 데이터 (132) 에 포함된) 특정의 필터링된 이미지 데이터 값을 식별할 수도 있다. 필터링된 이미지 데이터 값에 기초하여, 깊이 변경기 (140) 는 특정의 화소 근처에 있는 (예를 들어, 특정의 화소로부터의 임계 거리 내의), 이미지의 하나 이상의 화소들을 식별할 수도 있다. 하나 이상의 화소들 각각은 특정의 필터링된 이미지 데이터 값과 유사한 필터링된 이미지 데이터 값에 대응할 수도 있고 유효한 것으로서 식별된 깊이 데이터에 대응할 수도 있다. 깊이 변경기 (140) 는 하나 이상의 화소들에 기초하여 특정의 깊이 값을 결정할 수도 있고, 손실한 깊이 값을 특정의 깊이 값으로 변경 (예를 들어, 설정) 할 수도 있다. 예를 들어, 하나 이상의 화소들 각각에 대해, 깊이 변경기 (140) 는 깊이 정보 (122) 에 포함된 대응하는 깊이 값을 결정할 수도 있고, 특정의 깊이 값을 하나 이상의 화소들에 대응하는 깊이 값들의 중간 값으로서 생성할 수도 있다.
깊이 정보 (122a) 를 변경 (예를 들어, 정정) 한 후, 깊이 변경기 (140) 는 깊이 정보 (122a) 의 정정된 버전을 변경된 깊이 정보 (122b) 로서 출력할 수도 있다. 변경된 깊이 정보 (122b) 는 깊이 정보 (122a) 보다 더 정확할 수도 있다. 변경된 깊이 정보 (122b) 는 이미지에 포함된 하나 이상의 오브젝트들의 깊이 값들을 포함하는 (이미지의) 깊이 맵에 대응할 수도 있다. 깊이 변경기 (140) 는 메모리 (160) 로 변경된 깊이 정보 (122b) 를 전송할 수도 있다. 메모리 (160) 는 깊이 변경기 (140) 로부터 변경된 깊이 정보 (122b) 를 수신하고 변경된 깊이 정보 (122b) 를 저장하도록 구성될 수도 있다.
구조화된 광 시스템 (100) 의 동작 동안, 수신기 디바이스 (102) 는 이미지 데이터 (110) 를 생성하거나 수신하고 깊이 맵 생성기 (120) 로 및 필터 (130) 로 이미지 데이터 (110) 를 제공할 수도 있다. 이미지 데이터 (110) 는 수신기 디바이스 (102) 에 포함된 이미지 캡쳐 센서와 같은, 이미지를 캡쳐하도록 구성되는 이미지 캡쳐 센서로부터 수신될 수도 있다. 이미지 데이터 (110) 는 투영된 코드 마스크의 반사에 기초하여 깊이 정보를 "인코딩한" 이미지에 대응할 수도 있다. 예를 들어, 투영된 코드 마스크는 수신기 디바이스 (102) 가 하나 이상의 패턴들을 반사하는 오브젝트의 깊이를 결정하는 것을 가능하게 하는, 구조화된 광의 하나 이상의 패턴들 (예를 들어, 하나 이상의 코드워드들) 과 연관될 수도 있다.
수신기 디바이스 (102) (예를 들어, 깊이 맵 생성기 (120)) 는 깊이 정보 (122a) 를 생성하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다. 예를 들어, 깊이 맵 생성기 (120) 는 투영된 코딩된 광의 패턴 (예를 들어, 코드워드) 에 기초하여 이미지에 포함된 깊이 정보를 디코딩하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다. 깊이 정보 (122a) 는 이미지와 연관된 깊이 맵에 대응할 수도 있다. 또, 수신기 디바이스 (102) (예를 들어, 필터 (130)) 는 필터링된 이미지 데이터 (132) 를 생성하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다. 예를 들어, 블러링 필터, 총 변동 필터, 또는 이들의 조합이 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터 (110) 를 필터링하기 위해 적용될 수도 있다. 필터링된 이미지 데이터는 유사한 반사율을 갖는 이미지 내의 영역들 (예를 들어, 오브젝트들) 과 연관될 수도 있다. 일부 구현들에서, 필터링된 이미지 데이터 (132) 는 이미지의 세그멘테이션 맵과 연관될 수도 있다.
깊이 정보 (122a) 에 포함된 부정확한 깊이 데이터 (예를 들어, 부정확한 깊이 값 및/또는 손실한 깊이 값) 을 식별하기 위해 깊이 정보 (122a) 와 필터링된 이미지 데이터 (132) 사이에 비교가 수행될 수도 있다. 예를 들어, 그 비교는 깊이 정보 (122a) 와 필터링된 이미지 데이터 (132) 사이의 화소 바이 화소 비교에 대응할 수도 있다. 수신기 디바이스 (102) 는 변경된 깊이 정보 (122b) 를 생성하기 위해 부정확한 깊이 데이터를 변경 (예를 들어, 정정) 할 수도 있다.
깊이 맵 생성기 (120), 필터 (130), 및 깊이 변경기 (140) 가 별개의 컴포넌트들로서 도시되지만, 깊이 맵 생성기 (120), 필터 (130), 및 깊이 변경기 (140) 중 하나 이상은 단일의 컴포넌트에 포함될 수도 있다. 비교 로직 (150) 이 깊이 변경기 (140) 에 포함되는 것으로서 묘사되지만, 다른 구현들에서, 비교 로직 (150) 은 깊이 변경기 (140) 와는 별개일 수도 있다. 깊이 맵 생성기 (120), 필터 (130), 깊이 변경기 (140), 및/또는 비교 로직 (150) 각각은 하나 이상의 하드웨어 컴포넌트들, 소프트웨어, 또는 이드의 조합에서 구현될 수도 있다.
특정의 구현에서, 깊이 변경기 (140) 는 부정확한 깊이 데이터에 대응하는 깊이 맵의 특정의 화소 로케이션을 식별한다. 깊이 변경기 (140) 는 필터링된 이미지 데이터 (132) 에 기초하여 특정의 화소 로케이션에 대응하는 특정의 필터링된 이미지 데이터 값을 결정할 수도 있고, 특정의 화소 로케이션에 기초하여 이미지 (예를 들어, 깊이 맵) 와 연관된 영역을 선택할 수도 있다. 그 영역은 특정의 화소 로케이션을 포함하는 복수의 화소 로케이션들과 연관될 수도 있다. 수신기 디바이스 (102) 는 복수의 화소 로케이션들의 하나 이상의 화소 로케이션들의 세트를 식별하고, 하나 이상의 화소 로케이션들의 세트에 대응하는 깊이 데이터에 기초하여 특정의 깊이 값을 결정할 수도 있다. 수신기 디바이스 (102) 는 변경된 깊이 정보 (122b) 를 생성하기 위해 특정의 깊이 값에 기초하여 특정의 화소 로케이션에 대응하는 부정확한 깊이 데이터를 업데이트할 수도 있다.
2 개의 상이한 컴포넌트들 (예를 들어, 깊이 맵 생성기 (120) 및 필터 (130)) 을 사용하여 이미지 데이터 (110) 를 프로세싱함으로써, 수신기 디바이스 (102) 는 수신기 디바이스 (102) 의 단일의 이미지 캡쳐 디바이스에 의해 캡쳐된 데이터의 단일의 세트 (즉, 이미지 데이터 (110)) 에 기초하여, 깊이 정보 (122a) 및 필터링된 이미지 데이터 (132) 와 같은 데이터의 2 개의 세트들을 생성할 수도 있다. 또, 필터링된 이미지 데이터 (132) 를 생성하고 필터링된 이미지 데이터 (132) 를 깊이 정보 (122a) 와 비교함으로써, 깊이 정보 (122a) 와 연관된 손실한 및/또는 부정확한 깊이 값들이 식별되고 정정될 수도 있다. 예를 들어, 손실한 및/또는 부정확한 깊이 값들은 위양성들, 위음성들, 및/또는 디코딩 에러들에 기초할 수도 있다. 손실한 및/또는 부정확한 깊이 값들을 정정함으로써, 깊이 정보 (122a) 는 변경 (예를 들어, 정정) 될 수도 있다. 손실한 및/또는 부정확한 깊이 값을 정정하는 것은 오브젝트 검출 애플리케이션과 같은 다른 애플리케이션들에 의한 (예를 들어, 깊이 맵에 대응하는) 변경된 깊이 정보 (122b) 의 향상된 프로세싱을 가능하게 할 수도 있다.
도 2 를 참조하면, 도 1 의 수신기 디바이스 (102) 에 의해 수행되는 프로세싱 스테이지들을 도시하는 예시적인 예들이 묘사된다. 구조화된 광 이미지의 예가 묘사되고 일반적으로 200 으로 지정된다. 구조화된 광 이미지는 수신기 디바이스 (102) 에 의해 수신되고 도 1 의 깊이 맵 생성기 (120) 및 필터 (130) 로 제공되는 이미지 데이터 (110) 를 포함하거나 그 이미지 데이터 (110) 에 대응할 수도 있다. 구조화된 광 이미지 (200) 는 3D 오브젝트로 투영되고 그 3D 오브젝트로부터 반사된 구조화된 광 (예를 들어, 수직 스트라이프들에 대응하는 코딩된 광) 을 검출하는 카메라에 의해 생성될 수도 있다.
대표적인 깊이 맵 이미지의 예가 묘사되고 일반적으로 210 으로 지정된다. 깊이 맵 이미지 (210) 에서, 상이한 컬러들은 상이한 깊이들을 나타낸다. 깊이 맵 이미지 (210) 는 도 1 의 깊이 정보 (122a) 에 대응할 수도 있다. 깊이 맵 이미지 (210) 는 구조화된 광 이미지 (200) 와 동일한 수의 화소들을 포함할 수도 있고, 각 화소는 대응하는 깊이 데이터 값을 가질 수도 있다. 깊이 맵 이미지 (210) 는 구조화된 광 이미지 (200) 에 기초할 수도 있다. 예를 들어, 구조화된 광 이미지 (200) 의 광 패턴들 (예를 들어, 코드 마스크의 반사들) 은 깊이 맵 이미지 (210) 를 생성하기 위해 디코딩될 수도 있다. 예를 들어, 구조화된 광 이미지 (200) 는 이미지 데이터 (110) 를 프로세싱한 후 깊이 맵 생성기 (120) 에 의해 생성된 깊이 정보 (122a) 를 나타낼 수도 있다.
깊이 맵 이미지 (210) 는 제 1 부정확한 값들 (212), 제 2 부정확한 값들 (214), 및 제 3 부정확한 값들 (216) 과 같은 하나 이상의 부정확한 깊이 값들을 포함한다. 제 1 부정확한 값들 (212) 은 구조화된 광 이미지 (200) 에서의 하나 이상의 오브젝트들의 섀도우 영역들에 의해 발생된 위양성들 (예를 들어, 아무것도 존재하지 않아야 하는 경우의 깊이 데이터) 에 대응할 수도 있다. 제 2 부정확한 값들 (214) 은 부적절하게 디코딩된 데이터 (예를 들어, 디코딩 에러들) 에 기초하는 손실한 깊이 값들에 대응할 수도 있다. 제 3 부정확한 값들 (216) 은 위음성들 (예를 들어, 깊이 데이터가 존재해야 하는 경우의 무 깊이 데이터) 에 기초한 손실한 깊이 값들에 대응할 수도 있다.
대표적인 필터링된 이미지의 예가 묘사되고 일반적으로 220 으로 지정된다. 필터링된 이미지 (220) 는 도 1 의 필터링된 이미지 데이터 (132) 에 대응할 수도 있다. 필터링된 이미지 (220) 는 구조화된 광 이미지 (200) 와 동일한 수의 화소들을 포함할 수도 있고, 각 화소는 대응하는 필터링된 이미지 데이터 값을 가질 수도 있다. 필터링된 이미지 (220) 는 구조화된 광 이미지 (200) 에 기초할 수도 있다. 예를 들어, 구조화된 광 이미지 (200) 는 필터링된 이미지 (220) 를 생성하기 위해 유사한 반사율을 갖는 이미지의 부분들을 식별하기 위해 프로세싱 (예를 들어, 블러링 필터 및/또는 총 변동 필터를 사용함으로써, 예를 들어 필터링) 될 수도 있다. 그 프로세싱은 에지 영역들을 가로지르는 이미지의 영역들을 블러링하지 않을 수도 있다. 이에 따라, 필터링된 이미지 (220) 는 유사한 반사율을 갖는 구조화된 광 이미지 (200) 의 통합된 부분들을 식별할 수도 있다.
대표적인 중간 깊이 맵 이미지의 예가 묘사되고 일반적으로 230 으로 지정된다. 중간 깊이 맵 이미지 (230) 는 구조화된 광 이미지 (200) 와 동일한 수의 화소들을 포함할 수도 있다. 중간 깊이 맵 이미지 (230) 에서, 상이한 컬러들은 상이한 깊이들을 나타내지만 깊이 맵 이미지 (210) 에 포함된 컬러들에 직접 대응하지 않는다. 중간 깊이 맵 이미지 (230) 에서, 적색 컬러는 이하에 더 기술되는 바와 같이 깊이 맵 이미지 (210) 에서 식별된 부정확한 깊이 데이터를 나타낸다.
중간 깊이 맵 이미지 (230) 는 부정확한 깊이 데이터를 식별하기 위해 깊이 맵 이미지 (210) 와 필터링된 이미지 (220) 사이의 비교에 대응할 수도 있다. 예를 들어, 그 비교는 깊이 정보 (122a) 와 필터링된 이미지 데이터 (132) 를 비교하기 위해 비교 로직 (150) 에 의해 수행된 비교를 포함하거나 그 비교에 대응할 수도 있다. 예를 들어, 깊이 맵 이미지 (210) 와 필터링된 이미지 (220) 사이의 화소 바이 화소 비교가 무효인 깊이 데이터 값들 (예를 들어, 섀도우들에 기초한 에러성 값들) 을 식별하기 위해 수행될 수도 있다. 설명하자면, 깊이 맵 이미지 (210) 는 (제 1 부정확한 값들 (212) 에 대응하는) 제 1 화소가 제 1 깊이 값을 갖는다고 나타낼 수도 있다. 그러나, 제 1 화소는 제 1 화소의 로케이션에 오브젝트가 존재하지 않는다는 것을 나타내는 필터링된 이미지 (220) 내의 매우 낮은 반사율 값을 가질 수도 있다. 이에 따라, 제 1 깊이 값은 무효인 것으로서 식별될 수도 있다. 제 1 깊이 값은 중간 깊이 맵 이미지 (230) 에서 도시된 바와 같이 오브젝트가 존재하지 않는다는 것을 나타내기 위해 정정될 수도 있다.
추가적으로 또는 대안적으로, 화소 바이 화소 비교는 손실한 깊이 데이터 값들을 식별할 수도 있다. 설명하자면, 깊이 맵 이미지 (210) 는 (제 3 부정확한 값들 (216) 에 대응하는) 제 2 화소가 깊이 값을 갖지 않는다는 것을 나타낼 수도 있지만, 필터링된 이미지 (220) 는 반사성 오브젝트가 제 2 화소의 로케이션에 존재한다는 것을 나타낼 수도 있다. 이에 따라, 깊이 맵 이미지 (210) 의 일부가 (중간 깊이 맵 이미지 (230) 에서 적색 컬러에 의해 표시된 바와 같이) 손실한 깊이 데이터를 갖는 것으로서 식별될 수도 있다. 따라서, 화소 바이 화소 비교에 기초하여, 무효인 깊이 값들은 정정될 수도 있고, 손실한 깊이 값들은 식별될 수도 있다. 이에 따라, 중간 깊이 맵 이미지 (230) 는 무효인 깊이 데이터의 정정 후 및 (고동색 영역들로서 도시된) 손실한 깊이 데이터의 식별 후의 깊이 맵 이미지 (210) 의 버전을 묘사한다.
변경된 깊이 맵 이미지의 예가 묘사되고 일반적으로 240 으로 지정된다. 변경된 깊이 맵 이미지 (240) 는 도 1 의 변경된 깊이 정보 (122b) 에 대응할 수도 있다. 변경된 깊이 맵 이미지 (240) 는 구조화된 광 이미지 (200) 와 동일한 수의 화소들을 포함할 수도 있다. 변경된 깊이 맵 이미지 (240) 에서, 상이한 컬러들은 상이한 깊이들을 나타내지만 깊이 맵 이미지 (210) 또는 중간 깊이 맵 이미지 (230) 에 포함된 컬러들에 직접 대응하지 않는다.
변경된 깊이 맵 이미지 (240) 에서, 화소 바이 화소 비교에 기초하여 식별된 손실한 깊이 값들이 팝퓰레이팅되고 깊이 맵에 포함될 수도 있다. 예를 들어, 깊이 맵 이미지 (210) 및/또는 중간 깊이 맵 이미지 (230) 에 대응하는 깊이 정보는 손실한 깊이 값들을 포함하도록 변경될 수도 있다. 깊이 맵 이미지 (210) (또는 중간 깊이 맵 이미지 (230)) 의 특정의 화소에 대응하는 특정의 손실한 깊이 값을 팝퓰레이팅하기 위해, 윈도우가 특정의 화소 주위에서 깊이 맵 이미지 (210) 에 설정될 수도 있고, 유효한 깊이 데이터 (예를 들어, 손실한 깊이 데이터가 아닌 하나 이상의 화소들) 를 갖는 윈도우 내의 하나 이상의 화소들이 식별될 수도 있다. 유효한 깊이 데이터를 갖는 윈도우 내의 하나 이상의 화소들 각각에 대해, (필터링된 이미지 (220) 에 기초한) 대응하는 반사 값이 결정될 수도 있다. (손실한 깊이 값을 갖는) 특정의 화소에 대응하는 반사 값과 유사한 반사 값들을 갖는 하나 이상의 화소들의 세트가 식별될 수도 있다. 중간 깊이 값이 화소들의 세트의 유효한 깊이 값들에 기초하여 결정될 수도 있고, 특정의 화소의 손실한 깊이 값이 중간 깊이 값으로서 설정될 수도 있다. 이에 따라, 변경된 깊이 맵 이미지 (240) 에서 도시된 바와 같이, 손실한 깊이 값들이 팝퓰레이팅되었다. 예를 들어, 손실한 손가락에 대한 손실한 깊이 값들이 팝퓰레이팅될 (예를 들어, 채워질) 수도 있다. 또, 상술된 에러 식별 및 깊이 값 변경 기법들에 기초하여, 깊이 맵 이미지 (210) 에 비해 코, 입, 및 귀들과 같은 얼굴의 더 미세한 상세들이 변경된 깊이 맵 이미지 (240) 에서 달성되었다.
도 3 을 참조하면, 구조화된 광 시스템 (300) 이 묘사된다. 구조화된 광 시스템 (300) 은 장면 또는 오브젝트를 조명하기 위해 그리고 2차원 (2D) 이미지들 및/또는 2D 정보로부터 3차원 (3D) 정보를 생성하기 위한 깊이 정보를 획득하기 위해 기지의 패턴을 사용할 수도 있다. 구조화된 광 시스템 (300) 은 송신기 디바이스 (301) 및 수신기 디바이스 (102) 를 포함할 수도 있다.
송신기 디바이스 (301) 는 오브젝트 (306) (및/또는 장면) 상에 하나 이상의 코드워드들을 투영하기 위해 코드 마스크 (304) (예를 들어, 코드들을 갖는 이미지) 를 통해 광 필드 (light field) 를 투영하도록 구성될 수도 있다. 예를 들어, 송신기에 포함된 인코더/형상 변조기는 (예를 들어, 송신 채널이 복합 코드 마스가 투영되어야 하는 경로 및/또는 궤적을 포함하는 경우) 송신 채널을 통해 송신기 디바이스 (301) 에 의해 그 후에 투영되는 코드 마스크 (304) 를 생성하도록 구성될 수도 있다. 코드 마스크 (304) 는 오브젝트 (306) (예를 들어, 타겟) 상으로 투영될 수도 있다.
수신기 디바이스 (102) 는 투영된 코드 마스크 (310) 및 그 안의 하나 이상의 코드워드들을 캡쳐하도록 구성될 수도 있다. 예를 들어, 수신기 디바이스 (102) 에 커플링되거나 포함된 수신기 센서는 오브젝트 (306) 의 이미지를 캡쳐링하는 것과 같은, 오브젝트 (306) 로부터 반사된 광을 캡쳐하도록 구성될 수도 있다. 오브젝트 (306) (예를 들어, 타겟) 의 형상 및/또는 깊이는 이미지에 "인코딩될" 수도 있다. 예를 들어, 투영된 코드 마스크로부터 그 투영된 코드 마스크의 캡쳐된 반사로의 특정의 코드워드의 시프트 (예를 들어, 변위) 는 투영된 코드 마스크를 반사한 오브젝트의 깊이 값을 나타낼 (예를 들어, 인코딩할) 수도 있다. 설명하자면, 이미지에 캡쳐된 투영된 코드 마스크 (310) (예를 들어, 오브젝트 (306) 로부터의 코드 마스크 (304) 의 반사) 는 오브젝트 (306) 의 형상 및/또는 깊이를 결정하기 위해 수신기 디바이스 (102) 에 의해 사용될 수도 있다. 수신기 디바이스 (102) 는 도 4 를 참조하여 더 기술되는 바와 같이, 깊이 맵 (307) (예를 들어, 도 1 의 깊이 정보 (122a) 와 같은 깊이 데이터) 을 획득하기 위해 캡쳐된 이미지 (예를 들어, 도 1 의 이미지 데이터 (110) 와 같은 이미지 데이터) 를 "디코딩할" 수도 있다. 깊이 맵 (307) 은 오브젝트 (306) (예를 들어, 타겟) 의 3D 버전 (예를 들어, 3D 이미지) 을 생성, 제시, 및/또는 제공하기 위해, 예를 들어 수신기 디바이스 (102) 에 포함된 애플리케이션에 의해서 사용될 수도 있다. 수신기 디바이스 (102) 는 위양성들, 위음성들, 및/또는 디코딩 에러들로부터 야기되는 에러들과 같은 깊이 맵 데이터 에러들을 정정하기 위해 깊이 변경기 (140) 를 포함할 수도 있다. 예를 들어, 깊이 변경기 (140) 는 변경된 깊이 맵을 생성하기 위해 깊이 맵 (307) 을 변경할 수도 있다.
도 3 에 도시된 바와 같이, 코드 마스크 (304) 의 섹션/부분/윈도우 (312) 는 오브젝트 (306) 의 표면 (예를 들어, 투영된 섹션/부분/윈도우 (316)) 상으로 (섹션/부분/윈도우 (314) 로서) 투영된다. 투영된 섹션/부분/윈도우 (316) 는 그 후 캡쳐된 세그먼트 (318) 로서 수신기 디바이스 (102) 에 의해 캡쳐될 수도 있다. 섹션/부분/윈도우 (312) 는 고유하게 식별될 수 있는 코드워드로서 사용될 수도 있다. 따라서, 이러한 방식으로 하나 이상의 고유 코드워드들로 오브젝트 (306) (및/또는 장면) 를 커버함으로써, 오브젝트 (306) (및/또는 장면) 의 섹션들/부분들은 식별/태깅될 수도 있고, 하나 이상의 고유 코드워드들은 수신기 디바이스 (102) 에 의한 깊이 감지를 위해 사용될 수도 있다.
수신기 디바이스 (102) 에 의해 캡쳐된 이미지로부터, 다수의 세그먼트들 (예를 들어, 다수의 코드워드들) 이 오브젝트 (306) (또는 장면) 에 대해 식별될 수도 있다. 각 세그먼트 (318) 는 수신기 디바이스 (102) 에서 고유하게 식별가능할 수도 있고, 다른 세그먼트들에 대한 특정의 세그먼트의 로케이션이 코드 마스크 (304) 의 기지의 패턴으로부터 확인될 수도 있다. 각 세그먼트/부분/윈도우로부터의 코드 (예를 들어, 코드워드) 의 식별은 (예를 들어, 왜곡을 어드레싱하기 위해) 패턴 세그먼트 및 대응하는 코드(들) 로 지각된 세그먼트/부분/윈도우의 디코딩을 수반할 수도 있다. 또, 삼각측량이 배향 및/또는 깊이을 확인하기 위해 각 캡쳐된 세그먼트/부분/윈도우에 대해 적용될 수도 있다. 다수의 그러한 세그먼트/부분/윈도우들은 캡쳐된 이미지 패턴을 함께 스티치하도록 결합될 수도 있다. 이러한 방식으로, 깊이의 맵 (예를 들어, 도 1 의 깊이 정보 (122a) 와 같은 깊이 맵) 이 오브젝트 (306) (또는 장면) 에 대해 생성될 수도 있다.
도 4 를 참조하면, 깊이 (예를 들어, 깊이 데이터) 가 오브젝트 또는 장면에 대해 감지될 수도 있는 방법의 예가 묘사되고 일반적으로 400 으로 지정된다. 송신기 디바이스 (301) 는 수신기 디바이스 (102) 와 동일한 베이스라인 참조 평면 (예를 들어, 렌즈 평면 (405)) 상에 위치될 수도 있다. 송신기 디바이스 (301) 및/또는 수신기 디바이스 (102)는 도 1 의 구조화된 광 시스템 (100) 및/또는 도 3 의 구조화된 광 시스템 (300) 에 포함되거나 대응할 수도 있다.
송신기 디바이스 (301) 는 애퍼쳐 또는 렌즈를 통해 장면 또는 오브젝트상으로 코드 마스크 (410) 를 투영할 수도 있다. 예를 들어, 송신기 디바이스 (301) 는 여러 타입들의 변조를 사용할 수도 있고 코딩 스킴들이 코드 마스크 (410) 를 생성하기 위해 사용될 수도 있다. 이들 변조 및 코딩 스킴들은 예시적인 비제한적 예들로서 시간적 코딩, 공간적 코딩, 및 직접 코드화 (direct codification) 를 포함할 수도 있다. 코드 마스크 (410) 는 도 3 의 코드 마스크 (304) 를 포함하거나 그 코드 마스크 (304) 에 대응할 수도 있다. 설명의 목적으로, (코드워드를 나타내는) 투영된 세그먼트/부분/윈도우 (412) 는 송신된 코드 마스크 (410) 의 부분으로서 도시된다. 이러한 코드 세그먼트/부분/윈도우 (412) 는 송신기 디바이스 (301) 로부터 제 1 거리에서 제 1 장면 (예를 들어, 제 1 오브젝트 (406)) 상에 투영될 수도 있고 및/또는 송신기 디바이스 (301) 로부터 제 2 거리에서 제 2 장면 (예를 들어, 제 2 오브젝트 (408)) 상에 투영될 수도 있다. 제 1 오브젝트 (406) 및 제 2 오브젝트 (408) 는 도 3 의 오브젝트 (306) 를 포함하거나 그것에 대응할 수도 있다.
수신기 디바이스 (102) 에 포함되거나 커플링된 센서 (예를 들어, 카메라) 는 하나 이상의 오브젝트들로부터의 투영된 코드 마스크 (410) 의 반사와 같은, 수신기 애퍼쳐를 통한 투영된 코드 마스크 (410) (예를 들어, 수신된 코드 마스크 (411)) 의 이미지를 캡쳐할 수도 있다. 설명의 목적으로, 송신된 코드 마스크 (310) 는 수신된 코드 마스크 (411) 와 동일한 센서 평면 (407) 상에 도시된다. 센서에 의해 캡쳐된 이미지는 도 1 의 이미지 데이터 (110) 와 같은, 이미지 데이터로 변환 (이미지 데이터로서 표현) 되고, 수신기 디바이스 (102) 로 제공될 수도 있다. 이미지 데이터는 이미지와 연관된 화소 강도 값들을 포함하거나 그 화소 강도 값들에 대응할 수도 있다. 수신기 디바이스 (102) 는 위양성들, 위음성들, 및/또는 디코딩 에러들로부터 야기되는 에러들과 같은, 수신기 디바이스 (102) 에 의해 생성된 깊이 맵에 포함된 깊이 맵 데이터 에러들을 정정하기 위해 깊이 변경기 (140) 를 포함할 수도 있다.
제 1 오브젝트 (406) 가 송신기 디바이스 (301) 에 (제 2 오브젝트 (408) 에 비해) 더 가깝게 (예를 들어, 송신기 디바이스 (301) 로부터 제 1 거리에) 위치되는 경우, 투영된 세그먼트 (412) 의 반사는 송신기 디바이스 (301) 에 의해 송신된 바와 같은 그의 초기 로케이션으로부터 거리 (d1) 에 나타난다. 제 2 오브젝트 (408) 가 송신기 디바이스 (301) 로부터 (제 1 오브젝트 (406) 에 비해) 더 떨어져 (예를 들어, 송신기 디바이스 (301) 로부터 제 1 거리에) 위치되는 경우, 투영된 세그먼트/부분/윈도우 (412) 의 반사는 송신기 디바이스에 의해 송신된 바와 같은 그의 초기 로케이션으로부터 거리 (d2) 에 나타난다 (여기서 d2 < d1). 이에 따라, 오브젝트가 송신기/수신기로부터 더 떨어질 수록, 수신된 투영된 세그먼트/부분/윈도우는 수신기 디바이스 (102) 에서 그의 오리지날 위치로부더 더 가깝다 (예를 들어, 아웃고잉 투영 및 인커밍 투영이 더 평행하다). 역으로, 오브젝트가 송신기/수신기로부터 더 가까울 수록, 수신된 투영된 세그먼트/부분/윈도우는 수신기 디바이스 (102) 에서 그의 오리지날 위치로부더 더 멀다. 따라서, 수신된 코드워드 위치와 송신된 코드워드 위치 사이의 차이는 특정의 오브젝트의 깊이 (예를 들어, 깊이 값) 를 결정하기 위해 사용될 수도 있다. 예를 들어, 깊이 (예를 들어, 상대적인 깊이) 는 이미지와 연관된 각각의 화소 또는 그룹핑된 화소들의 서브세트 (예를 들어, 2이상의 화소들의 영역들) 에 대해 깊이 값을 제공할 수도 있다. 이에 따라, 반사된 코드워드를 수신하는 이미지의 화소에 대응하는 깊이 정보 (예를 들어, 깊이 값) 는 투영된 코드 마스크에서의 코드워드의 위치에 대한 반사된 코드워드의 변위에 기초하여 결정될 수도 있다.
도 5 를 참조하면, 구조화된 광 시스템의 다른 예가 묘사되고 일반적으로 500 으로 지정된다. 구조화된 광 시스템 (500) 은 송신기 디바이스 (301) 및 수신기 디바이스 (102) 를 포함한다. 구조화된 광 시스템 (500) 은 도 1 의 구조화된 광 시스템 (100) 및/또는 도 3 의 구조화된 광 시스템 (300) 을 포함하거나 그것들에 대응할 수도 있다.
송신기 디바이스 (301) 는 코드 마스크 (예를 들어, 구조화된 광의 패턴) 를 생성하고 및/또는 그 코드 마스크를 투영하도록 구성될 수도 있다. 코드 마스크는 하나 이상의 코드워드들을 포함하거나 그 하나 이상의 코드워드들에 대응할 수도 있다. 예를 들어, 코드 마스크는 도 3 의 코드 마스크 (304) 또는 도 4 의 코드 마스크 (410) 를 포함할 수도 있다. 송신기 디바이스 (301) 는 메모리/저장 디바이스 (510), 이미지 투영 디바이스 (518), 및/또는 저장 매체 (526) 에 커플링된 프로세싱 회로 (520) 를 포함할 수도 있다.
프로세싱 회로 (520) 는 코드 마스크 생성기/선택기 (522) 및/또는 사전-성형 (pre-shaping) 회로 (524) 를 포함할 수도 있다. 코드 마스크 생성기/선택기 (522) 는 메모리/저장 디바이스 (510) 에 저장된 하나 이상의 사전-저장된 코드 마스크들 (512) 을 선택하도록 구성될 수도 있다. 예를 들어, 코드 마스크 생성기/선택기 (522) 는 하나 이상의 사전-저장된 코드 마스크들 (512) 로부터, 코드 마스크 (528) 와 같은 특정의 코드 마스크를 선택할 수도 있다. 프로세싱 회로 (520) 는 저장 매체 (526) 에 저장될 선택된 코드 마스크 (예를 들어, 코드 마스크 (528)) 를 전송할 수도 있다. 사전-성형 회로 (524) 는 (예를 들어, 채널이 복합 코드 마스크가 투영되어야 하는 경로 및/또는 궤적을 포함하는 경우) 코드 마스크 (528) 가 투영되어야 하는 채널에서 예상되는 왜곡을 보상하기 위해 선택된 특정의 코드를 사전-성형하도록 구성될 수도 있다. 사전-성형 회로 (524) 는 저장 매체 (526) 에서 코드 마스크 (528) 의 저장 이전에 또는 저장 매체 (526) 에서의 저장 후에 그러나 코드 마스크 (528) 가 이미지 투영 디바이스 (518) 로 제공되기 전에 코드 마스크 (528) 를 사전-성형할 수도 있다.
저장 매체 (526) 는 코드 마스크 (528) 를 저장할 수도 있다. 코드 마스크 (528) 는 하나 이상의 고유하게 식별가능한 공간적으로-코딩된 코드워드들 (예를 들어, 구조화된 광의 고유하게 식별가능한 패턴들) 과 같은, 복수의 심볼들에 의해 정의된 하나 이상의 코드워드들을 포함할 수도 있다. 코드 마스크 (528) 는 투영 전에 합성 포인트 확산 함수에 의해 (예를 들어, 사전-성형 회로 (524) 에 의해) 사전-성형될 수도 있다. 저장 매체 (526) 가 단일의 코드 마스크를 포함하는 것으로서 도시되지만, 저장 매체 (526) 는 다수의 코드 마스크들을 포함할 수도 있다. 메모리/저장 디바이스 (510) 및 저장 매체 (526) 는 별개의 컴포넌트들로서 도시되지만, 다른 구현들에서, 메모리/저장 디바이스 (510) 및 저장 매체 (526) 는 단일의 메모리 컴포넌트를 포함할 수도 있다.
이미지 투영 디바이스 (518) 는 오브젝트 (530) 와 같은, 관심의 오브젝트상으로 선택된 특정의 코드 마스크 (예를 들어, 코드 마스크 (528)) 를 투영하도록 구성될 수도 있다. 예를 들어, 이미지 투영 디바이스 (518) 는 구조화된 광의 패턴 (531) 으로서 오브젝트 (530) 상으로 코드 마스크 (528) 를 투영할 수도 있다. 이미지 투영 디바이스 (518) 는 (예를 들어, 투영 채널을 통해) 관심의 오브젝트상으로 선택된 특정의 코드 마스크를 투영하기 위해 레이저 또는 다른 광원을 포함할 수도 있다. 예를 들어, 코드 마스크 (528) 는 코드 마스크 (528) 가 나안에 대해 비가시적이도록 적외선 스펙트럼에서 투영될 수도 있다.
수신기 디바이스 (102) 는 수신된 "반사된" 코드 마스크로부터 도 1 의 깊이 정보 (122a) 와 같은 깊이 정보를 획득하도록 그리고 변경된 깊이 정보 (122b) 를 생성하도록 구성되도록 구성될 수도 있다. 수신기 디바이스 (102) 는 메모리/저장 디바이스 (160) 에 및 수신기 센서 (570) (예를 들어, 이미지 캡쳐링 디바이스) 에 커플링된 프로세싱 회로 (560) 를 포함할 수도 있다. 수신기 디바이스 (102) 는 또한 오브젝트 검출 애플리케이션과 같은 애플리케이션을 포함하거나 그 애플리케이션에 커플링될 수도 있다.
수신기 센서 (570) (예를 들어, 카메라 등) 는 오브젝트 (530) 의 표면상에 투영된 코드 마스크의 적어도 일부를 획득 (예를 들어, 검출) 하도록 구성될 수도 있다. 예를 들어, 수신기 센서 (570) 는 오브젝트 (530) 상으로 투영 (예를 들어, 오브젝트 (530) 로부터 반사) 된 구조화된 광의 패턴 (531) 을 포함하는 이미지를 캡쳐할 수도 있다. 캡쳐된 이미지에 기초하여, 수신기 센서 (570) 는 이미지에 대응하는 이미지 데이터 (110) (예를 들어, 화소 강도 값들) 를 생성하고 출력할 수도 있다. 일부 구현들에서, 수신기 센서 (570) 는 적외선 스펙트럼에서 이미지 (예를 들어, 반사된 코드 마스크) 를 캡쳐하도록 구성될 수도 있다.
프로세싱 회로 (560) 는 왜곡 조정 회로/모듈 (562), 코드워드 식별기 회로/모듈 (563), 필터 (130), 깊이 맵 생성기 (120), 및/또는 깊이 변경기 (140) 를 포함할 수도 있다. 왜곡 조정 회로/모듈 (562) 은 수신기 센서 (570) 에 의해 검출된 코드 마스크의 일부의 왜곡 (예를 들어, 스큐 (skew)) 을 정정하기 위해 이미지 데이터 (110) 를 조정하도록 구성될 수도 있다. 코드워드 식별기 회로/모듈 (563) 은 이미지 데이터에 포함된 데이터 값들의 그룹 (예를 들어, 수신기 센서 (570) 에 의해 검출된 코드 마스크의 일부 내에서 정의된 윈도우에 대응하는 데이터 값들의 그룹) 으로부터 코드워드를 검출하도록 구성될 수도 있다.
깊이 맵 생성기 (120) 는 왜곡 조정 회로/모듈 (562) 로부터의 조정된 이미지 데이터 (110) 및 코드워드 식별기 회로/모듈 (563) 에 의해 검출된 코드워드를 수신하도록 구성될 수도 있다. 깊이 맵 생성기 (120) 는 데이터 값들의 그룹 (예를 들어, 윈도우) 에 대응하는 오브젝트 (530) 의 표면 부분에 대한 깊이 정보를 결정하도록 구성된 깊이 검출 회로/모듈 (565) 을 포함할 수도 있다. 예를 들어, 깊이 검출 회로/모듈 (565) 은 송신기 디바이스 (301) 에 의해 사용되고 투영되는 코드 마스크와 같은 기지의 참조 코드 마스크 (552) 에 기초하여 코드워드의 예상된 위치에 대한 캡쳐된 이미지에서의 검출된 코드워드의 위치의 변위를 결정할 수도 있다. 참조 코드 마스크 (552) 는 수신기 디바이스 (102) 의 메모리/저장 디바이스 (160) 에 저장될 수도 있다. 깊이 맵 생성기 (120) 는 캡쳐된 이미지에 대한 깊이 정보를 포함하는 깊이 맵을 생성하도록 구성될 수도 있다. 예를 들어, 깊이 정보는 오브젝트 (530) 에 대한 특정의 깊이 정보를 포함할 수도 있다. 도 1 의 깊이 정보 (122a) 와 같은 깊이 정보는 깊이 맵 생성기 (120) 로부터 깊이 변경기 (140) 로 제공될 수도 있다.
필터 (130) 는 도 1 의 필터링된 이미지 데이터 (132) 와 같은 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터 (110) 를 프로세싱할 수도 있다. 예를 들어, 필터 (130) 는 블러링 필터, 총 변동 필터, 또는 이들의 조합을 포함하거나 이들에 대응할 수도 있다. 필터링된 이미지 데이터는 유사한 반사율을 갖는 이미지 내의 영역들 (또는 오브젝트들) 과 연관될 수도 있다.
깊이 변경기 (140) 는 깊이 맵 생성기 (120) 로부터 깊이 정보를 수신하도록 그리고 필터 (130) 로부터 필터링된 이미지 데이터를 수신하도록 구성될 수도 있다. 깊이 변경기 (140) 는 깊이 정보에 포함된 부정확한 깊이 데이터를 식별하도록 그리고 변경된 깊이 정보 (122b) 를 생성하기 위해 부정확한 깊이 데이터를 정정하도록 구성될 수도 있다. 깊이 변경기 (140) 는 메모리/저장 디바이스 (160) 로 변경된 깊이 정보 (122b) 를 제공할 수도 있다.
메모리/저장 디바이스 (160) 는 대표적인 코드 마스크 (552) 와 같은 하나 이상의 코드 마스크들, 및 깊이 변경기 (140) 에 의해 생성된 변경된 깊이 정보 (122b) 를 저장할 수도 있다. 코드 마스크 (552) 는 송신기 디바이스 (301) 의 메모리/저장 디바이스 (510) 에 저장된 코드 마스크들 (512) 중 하나에 대응 (예를 들어, 하나와 동일) 할 수도 있다.
오브젝트 검출 애플리케이션과 같은 애플리케이션 (556) 은 수신기 디바이스 (102) 의 메모리/저장 디바이스 (160) 에 저장된 변경된 깊이 정보 (122b) 를 액세스하도록 구성될 수도 있다. 예를 들어, 애플리케이션 (556) 은 수신기 센서 (570) 에 의해 캡쳐된 이미지에 포함된 하나 이상의 오브젝트들을 검출하도록 구성될 수도 있다. 예를 들어 설명하면, 애플리케이션 (556) 은 이미지에 포함된 손에서 뻗어진 손가락들의 수를 식별하는 손가락 검출 애플리케이션을 포함할 수도 있다. 대안적으로, 또는 추가적으로, 애플리케이션 (556) 은 수신기 디바이스에 의해 프로세싱된 이미지들의 시퀀스에 대응하는 변경된 깊이 정보에 기초하여 하나 이상의 제스쳐들을 식별하는 제스쳐 검출 애플리케이션을 포함할 수도 있다.
도 6 을 참조하면, 깊이 정보를 변경하는 방법 (600) 의 제 1 예시적인 예의 흐름도가 도시된다. 방법 (600) 은 도 1, 도 3, 도 4, 또는 도 5 의 수신기 디바이스 (102) 및/또는 도 3 의 프로세싱 회로 (360) 에 의해 수행될 수도 있다.
방법 (600) 은 602 에서, 이미지 데이터가 구조화된 광 이미지에 대응하는 경우, 수신기 디바이스에서 이미지 데이터를 수신하는 단계를 포함한다. 예를 들어, 이미지 데이터 (110) 는 도 1 의 수신기 디바이스 (102) 에 의해 수신될 수도 있다. 방법 (600) 은 604 에서 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 이미지 데이터를 프로세싱하는 단계를 더 포함한다. 깊이 정보는 깊이 맵에 대응할 수도 있다. 예로서, 이미지 데이터 (110) 는 깊이 정보 (122a) 를 생성하기 위해 깊이 맵 생성기 (120) 에 의해 프로세싱될 수도 있다. 방법 (600) 은 606 에서, 하나 이상의 필터링 동작들의 출력이 필터링된 이미지 데이터를 포함하는 경우, 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 단계를 더 포함한다. 예를 들어, 이미지 데이터 (110) 는 도 1 에 대해 기술된 바와 같이, 필터링된 이미지 데이터 (132) 와 같은 필터링된 이미지 데이터를 생성하기 위해 필터 (130) 에 의해 프로세싱될 수도 있다. 방법 (600) 은 608 에서, 깊이 정보와 필터링된 이미지 데이터 사이의 비교를 수행하는 단계를 포함할 수도 있다. 방법 (600) 은 610 에서, 변경된 깊이 맵을 생성하기 위해 그 비교에 기초하여 깊이 정보를 변경하는 단계를 더 포함한다. 예를 들어, 깊이 정보 (122a) 는 변경된 깊이 정보 (122b) 를 생성하기 위해 깊이 변경기 (140) 에 의해 필터링된 이미지 데이터 (132) 에 기초하여 변경될 수도 있다.
특정의 예시적인 구현에서, 이미지 데이터는 이미지를 캡쳐하도록 구성되는 이미지 캡쳐 센서로부터 수신된다. 예를 들어, 이미지 데이터 (110) 는 카메라 내의 센서와 같은 이미지 캡쳐 센서로부터 수신기 디바이스 (102) 에 의해 수신될 수도 있다. 이미지 데이터는 화소 강도 값들을 포함할 수도 있고, 이미지 데이터는 코드 마스크와 연관되는 필터를 통해 투영된 코딩된 광을 송신함으로써 생성되는 반사된 이미지와 연관될 수도 있다. 예를 들어, 송신기 디바이스 (301) 는 도 4 에서와 같이, 수신기 디바이스 (102) 로 반사되는 이미지로, 필터를 통해, 예를 들어 코드워드 투영 (412) 을 통해 투영된 코딩된 광을 송신할 수도 있다.
이미지 데이터는 이미지 데이터에 기초하여 코드워드를 식별하는 것 및 투영된 코드 마스크에서의 코드워드의 로케이션으로부터 이미지에서의 코드워드의 로케이션으로의 코드워드의 변위를 결정하는 것을 포함하는 깊이 정보를 디코딩하는 것에 의해 프로세싱될 수도 있으며, 여기서 이미지는 투영된 코드 마스크의 반사에 대응한다. 깊이 데이터는 그 변위에 기초하여 생성될 수도 있다.
특정의 구현에서, 필터링된 이미지 데이터를 생성하기 위해 상기 이미지 데이터를 프로세싱하는 것은 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터를 필터링하기 위해, 블러링 필터, 총 변동 필터, 저역 통과 필터, 대역 통과 필터, 또는 이들의 조합을 적용하는 것을 포함한다. 예를 들어, 필터 (130) 는 블러링 필터, 총 변동 필터, 또는 이들의 조합일 수도 있다. 필터 (130) 는 필터링된 이미지 데이터 (132) 를 생성하기 위해 이미지 데이터 (110) 를 필터링할 수도 있다. 이미지 데이터를 프로세싱하는 방법은 깊이 정보와 필터링된 이미지 데이터 사이의 비교를 수행하는 것을 더 포함할 수도 있다. 예를 들어, 그 비교는 깊이 정보와 필터링된 이미지 데이터 사이의 화소 바이 화소 비교를 수행하는 것에 대응할 수도 있다.
도 7 을 참조하면, 깊이 정보를 변경하는 방법 (700) 의 제 2 예시적인 예의 흐름도가 묘사된다. 방법 (700) 은 도 1, 도 3, 도 4, 또는 도 5 의 수신기 디바이스 (102) 및/또는 도 3 의 프로세싱 회로 (360) 에 의해 수행될 수도 있다. 일부 구현들에서, 방법 (700) 은 도 6 의 방법 (600) 의 608 에서, 필터링된 이미지 데이터에 기초하여 깊이 정보를 변경하는 것을 포함하거나 그것에 대응할 수도 있다.
방법 (700) 은 702 에서, 구조화된 광 이미지와 연관된 깊이 정보에 포함된 부정확한 깊이 값을 식별하는 것을 포함할 수도 있다. 깊이 정보를 변경하는 것은 깊이 정보에 포함된 부정확한 깊이 값을 정정하는 것을 포함할 수도 있다. 대안적으로, 깊이 정보를 프로세싱하는 것은 비교에 기초하여 깊이 정보와 연관된 손실한 깊이 값을 식별하는 것을 포함할 수도 있다. 따라서, 손실한 깊이 정보 또는 부정확한 깊이 정보는 향상된 정확성으로 변경된 깊이 정보를 생성하기 위해 정정될 수도 있다. 깊이 정보에 포함된 부정확한 깊이 데이터는 깊이 맵과 연관된 하나 이상의 화소들에 대응할 수도 있고, 깊이 정보를 변경하는 것은 깊이 맵에서의 부정확한 깊이 데이터를 정정하는 것을 포함할 수도 있다.
방법 (700) 은 깊이 맵의 특정의 화소 로케이션을 식별하는 것을 포함할 수도 있으며, 여기서 특정의 화소 로케이션은 704 에서 부정확한 깊이 데이터에 대응하고, 706 에서 특정의 화소 로케이션에 대응하는 특정의 필터링된 이미지 데이터를, 필터링된 이미지 데이터에 기초하여 결정하는 것에 대응한다. 예를 들어, 깊이 변경기 (140) 내의 비교 로직 (150) 은 도 1 에 대해 기술된 바와 같이 깊이 정보 (122a) 와 필터링된 이미지 데이터 (132) 를 비교할 수도 있다.
방법 (700) 은 특정의 화소 로케이션에 기초하여 깊이 맵과 연관된 영역을 선택하는 것을 더 포함할 수도 있고, 여기서 그 영역은 708 에서 특정의 화소 로케이션을 포함하는 복수의 화소 로케이션들과 연관되고, 710 에서 복수의 화소 로케이션들 중 하나 이상의 화소 로케이션들의 세트를 식별하는 것과 연관된다. 또, 방법 (700) 은 712 에서 하나 이상의 화소 로케이션들의 세트에 대응하는 깊이 데이터에 기초하여 특정의 깊이 값을 결정하는 것, 및 714 에서 특정의 화소 로케이션에 대응하는 부정확한 깊이 데이터를 업데이트하는 것을 포함할 수도 있다. 부정확한 깊이 데이터는 업데이트된 깊이 데이터를 생성하기 위해 특정의 깊이 값에 기초하여 업데이트될 수도 있다.
도 6 및 도 7 의 방법들은 필드 프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 반도체 (ASIC), 그래픽 프로세싱 유닛 (GPU) 과 같은 프로세싱 유닛, 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 예로서, 도 6 및 도 7 의 방법들은 깊이 정보를 변경하기 위해 명령드을 실행하는 하나 이상의 프로세서들에 의해 수행될 수 있다.
도 8 을 참조하면, 무선 통신 디바이스 (800) 의 특정의 예시적인 예의 블록도가 도시된다. 디바이스 (800) 는 도 1 의 구조화된 광 시스템 (100), 도 3 의 구조화된 광 시스템 (300), 도 4 의 구조화된 광 시스템 (400), 도 5 의 구조화된 광 시스템 (500), 또는 이들의 조합을 포함할 수도 있다.
디바이스 (800) 는 디지털 신호 프로세서 (DSP), 그래픽 프로세싱 유닛 (GPU), 및/또는 중앙 프로세싱 유닛 (CPU) 과 같은 하나 이상의 프로세서들 (810) (예를 들어, 하나 이상의 프로세싱 코어들) 을 포함한다. 하나 이상의 프로세서들 (810) 은 메모리 (832) 에 커플링될 수도 있다. 메모리 (832) 는 컴퓨터 판독가능 명령들 또는 프로세서 판독가능 명령들과 같은 명령들 (868) (예를 들어, 실행가능 명령들) 을 포함한다. 명령들 (868) 은 하나 이상의 프로세서들 (810) 각각에 의해서와 같이, 컴퓨터에 의해 실행가능한 하나 이상의 명령들을 포함할 수도 있다.
예를 들어, 하나 이상의 명령들은 하나 이상의 프로세서들 (810) 로 하여금 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 이미지에 대응하는 이미지 데이터를 프로세싱하는 것을 포함하는 동작들을 수행하게 하기 위해 하나 이상의 프로세서들 (810) 에 의해 실행가능할 수도 있다. 예를 들어 설명하자면, 디바이스 (800) 는 투영된 코딩된 광의 패턴들의 이미지(들) 을 캡쳐하는 센서 (884) 에 커플링된 구조화된 광 수신기 (886) 를 포함할 수도 있다. 구조화된 광 수신기 (886) 는 센서 (884) 의 출력에 기초하여 이미지 데이터 (110) 를 생성할 수도 있다. 하나 이상의 프로세서들 (810) 은 이미지 데이터 (110) 에 기초하여 깊이 정보 (122a) 를 디코딩/생성하는 깊이 맵 생성기 (120) 를 포함할 수도 있다. 일부 구현들에서, 투영된 코딩된 광의 패턴은 구조화된 광 송신기 (882) 에 커플링되는 프로젝터 (880) 에 의해 투영된다. 따라서, 일부 구현들에서, 디바이스 (800) 는 구조화된 광 시스템의 송신기 디바이스 및 수신기 디바이스 양자 모두로서 행동하도록 구성될 수도 있다.
동작들은 또한 필터링된 이미지 데이터를 생성하기 위해 이미지 데이터를 프로세싱하는 것을 포함할 수도 있고, 여기서 필터링된 이미지 데이터는 유사한 반사율을 갖는 이미지의 영역들과 연관된다. 예를 들어, 하나 이상의 프로세서들 (810) 은 필터링된 이미지 데이터 (132) 를 생성하기 위해 이미지 데이터 (110) 를 프로세싱하는 필터 (130) 를 포함할 수도 있다. 동작들은 필터링된 이미지 데이터에 기초하여 깊이 정보를 변경하는 것을 더 포함할 수도 있다. 예를 들어, 하나 이상의 프로세서들 (810) 은 변경된 깊이 정보 (122b) 를 생성하기 위해 깊이 정보 (122a) 를 변경할 수도 있는 깊이 변경기 (140) 를 포함할 수도 있다.
도 8 은 또한 하나 이상의 프로세서들 (810) 에 및 디스플레이 (828) 에 커플링되는 디스플레이 제어기 (826) 을 보여준다. 코더/디코더 (코덱) (834) 는 또한 하나 이상의 프로세서들 (810) 에 커플링될 수 있다. 스피커 (836) 및 마이크로폰 (838) 은 코덱 (834) 에 커플링될 수 있다. 하나 이상의 프로세서들 (810) 은 또한 카메라 (862) 에 커플링되는 카메라 제어기(860) 에 커플링될 수도 있다. 일부 구현들에서, 디바이스 (800) 는 단일의 이미지 캡쳐 디바이스를 포함한다 (예를 들어, 카메라 (862) 는 센서 (884) 를 포함한다).
도 8 은 또한 무선 제어기와 같은 무선 인터페이스 (840) 가 하나 이상의 프로세서들 (810)에 및 안테나 (842) 에 커플링될 수 있다는 것을 나타낸다. 일부 구현들에서, 하나 이상의 프로세서들 (810), 디스플레이 제어기 (826), 카메라 제어기 (860), 메모리 (832), 코덱 (834), 프로젝터 (880), 센서 (884), 및 무선 인터페이스 (840) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (822) 에 포함된다. 다른 구현들에서, 입력 디바이스 (830) 및 전력공급장치 (844) 는 시스템-온-칩 디바이스 (822) 에 커플링된다. 게다가, 도 8 에 도시된 바와 같이, 디스플레이 (828), 입력 디바이스 (830), 스피커 (836), 마이크로폰 (838), 안테나 (842), 카메라 (862), 프로젝터 (880), 센서 (884), 및 전력공급장치 (844) 는 시스템-온-칩 디바이스 (822) 의 외부에 있다. 그러나, 디스플레이 (828), 카메라 (862), 프로젝터 (880), 센서 (884), 입력 디바이스 (830), 스피커 (836), 마이크로폰 (838), 안테나 (842), 및 전력공급장치 (844) 각각은 인터페이스, 제어기, 송신기 (예를 들어, 송신기 회로), 또는 수신기 (예를 들어, 수신기 회로) 와 같은 시스템-온-칩 디바이스 (822) 의 컴포넌트에 커플링될 수 있다.
개시된 양태들의 하나 이상은 통신 디바이스, 고정 로케이션 데이터 유닛, 이동 로케이션 데이터 유닛, 이동 전화, 셀룰러 전화, 위성 전화, 컴퓨터, 태블릿, 휴대용 컴퓨터, 또는 데스크톱 컴퓨터를 포함할 수도 있는, 디바이스 (800) 와 같은 장치 또는 시스템에서 구현될 수도 있다. 대안적으로, 또는 추가적으로, 디바이스 (800) 는 셋 톱 박스, 엔터테인먼트 유닛, 네비게이션 디바이스, 개인용 휴대정보단말 (PDA), 모니터, 컴퓨터 모니터, 텔레비젼, 튜너, 라디오, 위성 라디오, 음악 플레이어, 디지털 음악 플레이서, 휴대용 음악 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 휴대용 디지털 비디오 플레이어, 데이터 또는 컴퓨터 명령들, 또는 이들의 조합을 저장 또는 취출하는 다른 디바이스를 포함할 수도 있다. 다른 예시적인 비제한적인 예로서, 시스템 또는 장치는 이동 전화들, 핸드-헬드 개인 통신 시스템들 (PCS) 유닛들, 개인용 데이터 보조기들과 같은 휴대용 데이터 유닛들, 글로벌 포지셔닝 시스템 (GPS) 가능 디바이스들, 네비게이션 디바이스들, 미터 판독 장비와 같은 고정 로케이션 데이터 유닛들, 또는 데이터 또는 컴퓨터 명령들, 또는 이들의 임의의 조합을 저장 또는 취출하는 임의의 다른 디바이스와 같은 원격 유닛들을 포함할 수도 있다.
본 개시의 양태들은 메모리, 프로세서, 및 온-칩 회로를 포함하는 집적회로를 포함하는 임의의 디바이스에 적절하게 채용될 수도 있다. 도 1 내지 도 8 중 하나 이상은 본 개시의 교시들에 따른 시스템들, 장치들, 및/또는 방법들을 도시할 수도 있지만, 본 개시는 이들 도시된 시스템들, 장치들, 및/또는 방법들에 제한되지 않는다. 여기에 도시 또는 기술된 바와 같은 도 1 내지 도 8 중 임의의 것의 하나 이상의 기능들 또는 컴포넌트들은 도 1 내지 도 8 의 다른 것의 하나 이상의 다른 부분들과 결합될 수도 있다. 이에 따라, 여기에 기술된 어떠한 단일의 예도 제한하는 것으로서 이해되지 않아야 하고, 본 개시의 양태들은 본 개시의 교시들로부터 일탈하지 않고 적절하게 결합될 수도 있다.
당업자들은 본원에서 개시된 양태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로서 구현될 수도 있다는 것을 추가로 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 그것들의 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 프로세서 실행가능 명령들 중 어느 것으로서 구현되는지는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 달려있다. 당업자들은 설명된 기능성을 각 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정들은 본 개시물의 범위를 벗어나도록 야기하는 것으로서 해석되지 않아야 한다.
본원에 개시된 양태들에 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 두 가지의 조합으로 직접 실시될 수도 있다. 소프트웨어 모듈은 RAM (random-access memory), 플래시 메모리, ROM (read-only memory), 프로그래밍가능 ROM (PROM), 소거가능 프로그래밍가능 ROM (EPROM), 전기적 소거가능 프로그래밍가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈실 디스크, CD-ROM (compact disc read-only memory), 또는 이 기술분야에서 알려진 임의의 다른 형태의 비일시적 저장 매체에 존재할 수도 있다. 예시적인 저장 매체가 프로세서에 커플링되어서 그 프로세서는 저장 매체로부터 정보를 읽을 수 있고 그 저장 매체에 정보를 쓸 수 있다. 대체예에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 주문형 반도체 (ASIC) 에 존재할 수도 있다. ASIC 는 컴퓨팅 디바이스 또는 사용자 단말 내에 존재할 수도 있다. 대체예에서, 프로세서와 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에 개별 컴포넌트들로서 존재할 수도 있다.
이전의 설명은 당업자가 개시된 양태들을 실시하고 사용하는 것을 가능하게 하기 위해 제공된다. 이들 양태들에 대한 다양한 변형예들은 당업자들에게 쉽사리 명확하게 될 것이고, 본원에서 정의된 원리들은 본 개시물의 범위로부터 벗어남 없이 다른 양태들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 보인 양태들로 한정될 의도는 없으며 다음의 청구항들에 의해 정의된 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위에 일치하는 것이다.

Claims (30)

  1. 수신기 디바이스에서 이미지 데이터를 수신하는 단계로서, 상기 이미지 데이터는 구조화된 광 이미지에 대응하는, 상기 이미지 데이터를 수신하는 단계;
    투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 상기 이미지 데이터를 프로세싱하는 단계로서, 상기 깊이 정보는 깊이 맵에 대응하는, 상기 이미지 데이터를 프로세싱하는 단계;
    상기 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 단계로서, 상기 하나 이상의 필터링 동작들의 출력은 필터링된 이미지 데이터를 포함하는, 상기 하나 이상의 필터링 동작들을 수행하는 단계;
    상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 비교를 수행하는 단계; 및
    변경된 깊이 맵을 생성하기 위해 상기 비교에 기초하여 상기 깊이 정보를 변경하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 필터링 동작들은 유사한 반사율을 갖는 상기 구조화된 광 이미지 내의 영역들을 식별하기 위해 상기 이미지 데이터를 변경하는, 방법.
  3. 제 1 항에 있어서,
    상기 필터링된 이미지 데이터는 상이한 반사율을 갖는 2 개의 인접한 영역들 사이의 에지를 결정하지 않고 생성되는, 방법.
  4. 제 1 항에 있어서,
    상기 필터링된 이미지 데이터는 필터링된 구조화된 광 이미지에 대응하는, 방법.
  5. 제 4 항에 있어서,
    상기 필터링된 구조화된 광 이미지는 세그멘테이션 맵 이미지인, 방법.
  6. 제 1 항에 있어서,
    상기 비교에 기초하여, 상기 깊이 정보에서의 부정확한 깊이 값을 식별하는 단계를 더 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 깊이 정보를 디코딩하기 위해 상기 이미지 데이터를 프로세싱하는 단계는:
    상기 이미지 데이터에 기초하여 코드워드를 식별하는 단계;
    투영된 코드 마스크에서의 상기 코드워드의 로케이션으로부터 상기 구조화된 광 이미지에서의 상기 코드워드의 로케이션으로의 상기 코드워드의 변위를 결정하는 단계로서, 상기 구조화된 광 이미지는 상기 투영된 코드 마스크의 반사에 대응하는, 상기 코드워드의 변위를 결정하는 단계; 및
    상기 변위에 기초하여 깊이 데이터를 생성하는 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 하나 이상의 필터링 동작들을 수행하는 단계는 상기 필터링된 이미지 데이터를 생성하기 위해 상기 이미지 데이터를 필터링하기 위해, 블러링 필터, 총 변동 필터, 저역통과 필터, 또는 이들의 조합을 적용하는 단계를 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 비교는 상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 화소 바이 화소 비교에 대응하는, 방법.
  10. 제 9 항에 있어서,
    상기 비교에 기초하여, 상기 깊이 정보에 포함된 부정확한 깊이 값을 식별하는 단계를 더 포함하고,
    상기 변경하는 단계는 상기 깊이 정보에 포함된 상기 부정확한 깊이 값을 정정하는 단계를 포함하는, 방법.
  11. 제 9 항에 있어서,
    상기 비교에 기초하여, 상기 깊이 정보와 연관된 손실한 깊이 값을 식별하는 단계를 더 포함하고,
    상기 변경하는 단계는 상기 깊이 정보에 포함되도록 상기 손실한 깊이 값을 팝퓰레이팅하는 단계를 포함하는, 방법.
  12. 제 1 항에 있어서,
    상기 깊이 맵의 특정의 화소 로케이션을 식별하는 단계로서, 상기 특정의 화소 로케이션은 상기 깊이 정보에 포함된 부정확한 깊이 데이터에 대응하는, 상기 특정의 화소 로케이션을 식별하는 단계; 및
    상기 필터링된 이미지 데이터에 기초하여, 상기 특정의 화소 로케이션에 대응하는 상기 필터링된 이미지 데이터의 특정의 필터링된 데이터 값을 결정하는 단계를 더 포함하는, 방법.
  13. 제 12 항에 있어서,
    상기 특정의 화소 로케이션에 기초하여 상기 깊이 맵과 연관된 영역을 선택하는 단계로서, 상기 영역은 상기 특정의 화소 로케이션을 포함하는 복수의 화소 로케이션들과 연관되는, 상기 깊이 맵과 연관된 영역을 선택하는 단계; 및
    상기 복수의 화소 로케이션들의 하나 이상의 화소 로케이션들의 세트를 식별하는 단계로서, 상기 하나 이상의 화소 로케이션들의 세트와 연관된 각 화소는 상기 특정의 필터링된 데이터 값과 유사한 상기 필터링된 이미지 데이터의 필터링된 데이터 값에 대응하는, 상기 하나 이상의 화소 로케이션들의 세트를 식별하는 단계를 더 포함하는, 방법.
  14. 제 13 항에 있어서,
    상기 하나 이상의 화소 로케이션들의 세트에 대응하는 깊이 데이터에 기초하여 특정의 깊이 값을 결정하는 단계; 및
    상기 특정의 화소 로케이션에 대응하는 상기 부정확한 깊이 데이터를 업데이트하는 단계로서, 상기 부정확한 깊이 데이터는 상기 특정의 깊이 값에 기초하여 업데이트되는, 상기 부정확한 깊이 데이터를 업데이트하는 단계를 더 포함하는, 방법.
  15. 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 구조화된 광 이미지에 대응하는 이미지 데이터를 프로세싱하고, 필터링된 이미지 데이터를 생성하기 위해 상기 이미지 데이터에 대해 필터링 동작을 수행하도록 구성된 프로세서로서, 상기 프로세서는 또한 상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 비교에 기초하여 상기 깊이 정보를 변경하도록 구성된, 상기 프로세서; 및
    변경된 상기 깊이 정보를 저장하도록 구성된 메모리를 포함하는, 디바이스.
  16. 제 15 항에 있어서,
    상기 디바이스는 상기 구조화된 광 이미지를 캡쳐하고 상기 이미지 데이터를 생성하도록 구성된 카메라를 포함하는 디바이스.
  17. 제 15 항에 있어서,
    상기 깊이 정보는 상기 구조화된 광 이미지와 연관된 깊이 맵에 대응하고,
    투영된 코딩된 광의 상기 패턴은 코드 마스크와 연관되는, 디바이스.
  18. 제 15 항에 있어서,
    상기 이미지 데이터는 복수의 화소들에 대응하고,
    상기 복수의 화소들의 각 화소에 대해, 상기 이미지 데이터는 대응하는 화소 강도 값을 포함하는, 디바이스.
  19. 제 18 항에 있어서,
    상기 복수의 화소들의 각 화소에 대해, 상기 깊이 정보는 대응하는 깊이 값을 포함하고 상기 필터링된 이미지 데이터는 대응하는 강도 값을 포함하는, 디바이스.
  20. 제 15 항에 있어서,
    상기 프로세서는 또한 상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 상기 비교를 수행하도록 구성되고,
    상기 비교는 상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 화소 바이 화소 비교를 포함하는, 디바이스.
  21. 제 20 항에 있어서,
    상기 프로세서는 또한, 상기 비교에 기초하여, 부정확한 깊이 값, 손실한 깊이 값, 또는 이들의 조합을 식별하도록 구성되는, 디바이스.
  22. 구조화된 광 이미지에 대응하는 이미지 데이터에 기초하여 및 투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하는 수단;
    필터링된 이미지 데이터를 생성하기 위해 상기 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 수단; 및
    상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 비교에 기초하여 상기 깊이 정보를 변경하는 수단을 포함하는, 장치.
  23. 제 22 항에 있어서,
    상기 구조화된 광 이미지를 캡쳐하는 수단을 더 포함하는, 장치.
  24. 제 22 항에 있어서,
    상기 깊이 정보는 상기 깊이 정보의 부정확한 깊이 데이터를 정정하기 위해 변경되고,
    상기 부정확한 깊이 데이터는 부정확한 깊이 값 또는 손실한 깊이 값을 포함하는, 장치.
  25. 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은 프로세서로 하여금 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고,
    상기 동작들은:
    투영된 코딩된 광의 패턴에 기초하여 깊이 정보를 디코딩하기 위해 구조화된 광 이미지에 대응하는 이미지 데이터를 프로세싱하는 것으로서, 상기 깊이 정보는 깊이 맵에 대응하는, 상기 이미지 데이터를 프로세싱하는 것;
    필터링된 이미지 데이터를 생성하기 위해 상기 이미지 데이터에 대해 하나 이상의 필터링 동작들을 수행하는 것; 및
    상기 깊이 정보와 상기 필터링된 이미지 데이터 사이의 비교에 기초하여 상기 깊이 정보를 변경하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  26. 제 25 항에 있어서,
    상기 이미지 데이터는 상기 구조화된 광 이미지를 캡쳐하도록 구성되는 이미지 캡쳐 센서로부터 수신되는, 비일시적 컴퓨터 판독가능 매체.
  27. 제 25 항에 있어서,
    상기 하나 이상의 필터링 동작들을 수행하는 것은 블러링 필터링 동작, 총 변동 필터링 동작, 또는 이들의 조합을 수행하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  28. 제 25 항에 있어서,
    상기 명령들은 또한 상기 프로세서로 하여금, 상기 비교에 기초하여, 상기 깊이 정보에 포함된 부정확한 깊이 값을 식별하는 것을 포함하는 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고,
    상기 변경하는 것은 상기 깊이 정보에 포함된 상기 부정확한 깊이 값을 정정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  29. 제 25 항에 있어서,
    상기 명령들은 또한 상기 프로세서로 하여금, 상기 비교에 기초하여, 상기 깊이 정보와 연관된 손실한 깊이 값을 식별하는 것을 포함하는 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고,
    상기 변경하는 것은 상기 깊이 정보에 포함되도록 상기 손실한 깊이 값을 팝퓰레이팅하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  30. 제 25 항에 있어서,
    상기 하나 이상의 필터링 동작들을 수행하는 것은 저역통과 필터링 동작, 대역통과 필터링 동작, 또는 이들의 조합을 수행하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020167035561A 2014-06-19 2015-06-19 컨텐츠 필터링에 기초한 구조화된 광 3차원 (3d) 깊이 맵 KR101802106B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462014652P 2014-06-19 2014-06-19
US62/014,652 2014-06-19
US14/743,980 2015-06-18
US14/743,980 US9582888B2 (en) 2014-06-19 2015-06-18 Structured light three-dimensional (3D) depth map based on content filtering
PCT/US2015/036681 WO2015196067A1 (en) 2014-06-19 2015-06-19 Structured light three-dimensional (3d) depth map based on content filtering

Publications (2)

Publication Number Publication Date
KR20170019374A true KR20170019374A (ko) 2017-02-21
KR101802106B1 KR101802106B1 (ko) 2017-11-27

Family

ID=54870112

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035561A KR101802106B1 (ko) 2014-06-19 2015-06-19 컨텐츠 필터링에 기초한 구조화된 광 3차원 (3d) 깊이 맵

Country Status (8)

Country Link
US (1) US9582888B2 (ko)
EP (1) EP3158732B1 (ko)
JP (2) JP6449341B2 (ko)
KR (1) KR101802106B1 (ko)
CN (2) CN116437062A (ko)
BR (1) BR112016029514A2 (ko)
MX (1) MX355938B (ko)
WO (1) WO2015196067A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200002028A (ko) * 2017-04-26 2020-01-07 코닌클리케 필립스 엔.브이. 깊이 맵을 처리하기 위한 장치 및 방법

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020189B2 (en) * 2012-12-07 2015-04-28 The Nielsen Company (Us), Llc Methods and apparatus to monitor environments
US9467680B2 (en) 2013-12-12 2016-10-11 Intel Corporation Calibration of a three-dimensional acquisition system
US10169909B2 (en) * 2014-08-07 2019-01-01 Pixar Generating a volumetric projection for an object
US9638801B2 (en) * 2014-11-24 2017-05-02 Mitsubishi Electric Research Laboratories, Inc Depth sensing using optical pulses and fixed coded aperature
EP3243188A4 (en) * 2015-01-06 2018-08-22 Facebook Inc. Method and system for providing depth mapping using patterned light
US20160366395A1 (en) * 2015-06-12 2016-12-15 Microsoft Technology Licensing, Llc Led surface emitting structured light
CN107771392B (zh) * 2015-06-30 2021-08-31 杜比实验室特许公司 用于高动态范围图像的实时内容自适应感知量化器
EP3185208A1 (en) * 2015-12-22 2017-06-28 Thomson Licensing Method for determining missing values in a depth map, corresponding device, computer program product and non-transitory computer-readable carrier medium
JP6752059B2 (ja) * 2016-06-01 2020-09-09 キヤノン株式会社 画像処理装置及び画像処理方法、プログラム並びに記憶媒体
US10659764B2 (en) 2016-06-20 2020-05-19 Intel Corporation Depth image provision apparatus and method
US10609359B2 (en) 2016-06-22 2020-03-31 Intel Corporation Depth image provision apparatus and method
US10574947B2 (en) 2016-07-15 2020-02-25 Qualcomm Incorporated Object reconstruction in disparity maps using displaced shadow outlines
US10616566B2 (en) * 2016-07-22 2020-04-07 Korea Institute Of Science And Technology 3D image display system and method
US10192311B2 (en) 2016-08-05 2019-01-29 Qualcomm Incorporated Methods and apparatus for codeword boundary detection for generating depth maps
US10451714B2 (en) 2016-12-06 2019-10-22 Sony Corporation Optical micromesh for computerized devices
US10536684B2 (en) * 2016-12-07 2020-01-14 Sony Corporation Color noise reduction in 3D depth map
US10178370B2 (en) 2016-12-19 2019-01-08 Sony Corporation Using multiple cameras to stitch a consolidated 3D depth map
US10181089B2 (en) 2016-12-19 2019-01-15 Sony Corporation Using pattern recognition to reduce noise in a 3D map
US10495735B2 (en) 2017-02-14 2019-12-03 Sony Corporation Using micro mirrors to improve the field of view of a 3D depth map
US10360693B2 (en) 2017-03-01 2019-07-23 Cognex Corporation High speed structured light system
US10795022B2 (en) 2017-03-02 2020-10-06 Sony Corporation 3D depth map
JP6658625B2 (ja) * 2017-03-08 2020-03-04 オムロン株式会社 3次元形状計測装置及び3次元形状計測方法
US10979687B2 (en) 2017-04-03 2021-04-13 Sony Corporation Using super imposition to render a 3D depth map
US10885714B2 (en) 2017-07-07 2021-01-05 Niantic, Inc. Cloud enabled augmented reality
CN107392874B (zh) * 2017-07-31 2021-04-09 Oppo广东移动通信有限公司 美颜处理方法、装置及移动设备
US10521920B2 (en) * 2017-09-21 2019-12-31 Intel Corporation Reducing textured IR patterns in stereoscopic depth sensor imaging
US10484667B2 (en) 2017-10-31 2019-11-19 Sony Corporation Generating 3D depth map using parallax
US10755426B2 (en) 2018-05-23 2020-08-25 Apple Inc. Efficient scene depth map enhancement for low power devices
CN108563084B (zh) * 2018-05-25 2020-10-23 深圳新亮智能技术有限公司 多结构光图案三维传感系统
US10549186B2 (en) 2018-06-26 2020-02-04 Sony Interactive Entertainment Inc. Multipoint SLAM capture
CN110930547A (zh) * 2019-02-28 2020-03-27 上海商汤临港智能科技有限公司 车门解锁方法及装置、系统、车、电子设备和存储介质
US11574433B2 (en) * 2019-03-19 2023-02-07 Hewlett-Packard Development Company, L.P. Emulating 3D textual patterns
JP7007324B2 (ja) * 2019-04-25 2022-01-24 ファナック株式会社 画像処理装置、画像処理方法、及びロボットシステム
JP2021056164A (ja) * 2019-10-01 2021-04-08 富士ゼロックス株式会社 情報処理装置、発光装置、情報処理システム、及びプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2372656A (en) 2001-02-23 2002-08-28 Ind Control Systems Ltd Optical position determination
JP2005521208A (ja) * 2002-03-19 2005-07-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ エレクトロルミネセントランプのための駆動回路
US7440590B1 (en) * 2002-05-21 2008-10-21 University Of Kentucky Research Foundation System and technique for retrieving depth information about a surface by projecting a composite image of modulated light patterns
US20060104535A1 (en) * 2002-12-05 2006-05-18 Christiaan Varekamp Method and apparatus for removing false edges from a segmented image
KR100546383B1 (ko) * 2003-09-29 2006-01-26 삼성전자주식회사 눈에 보이지 않는 프래그먼트를 처리하기 위한 3차원그래픽스 렌더링 엔진 및 그 방법
JP2009500042A (ja) * 2005-07-07 2009-01-08 インジーニアス・ターゲティング・ラボラトリー・インコーポレーテッド ターゲットの運動行動の3dのモニタリング及び分析のためのシステム
US20070167837A1 (en) * 2005-12-07 2007-07-19 Seaboard Engineering Corp. (A New Jersey Corporation) Method and apparatus for three dimensional scanning in a visibly lit environment using structured light
EP2084491A2 (en) 2006-11-21 2009-08-05 Mantisvision Ltd. 3d geometric modeling and 3d video content creation
JP5615552B2 (ja) * 2006-11-21 2014-10-29 コーニンクレッカ フィリップス エヌ ヴェ 画像の深度マップの生成
US8213711B2 (en) * 2007-04-03 2012-07-03 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Method and graphical user interface for modifying depth maps
US8285025B2 (en) * 2008-03-25 2012-10-09 Electro Scientific Industries, Inc. Method and apparatus for detecting defects using structured light
US20100157079A1 (en) * 2008-12-19 2010-06-24 Qualcomm Incorporated System and method to selectively combine images
US8262229B2 (en) * 2010-03-22 2012-09-11 Seiko Epson Corporation Multi-projector display system calibration
US8406548B2 (en) * 2011-02-28 2013-03-26 Sony Corporation Method and apparatus for performing a blur rendering process on an image
CN102737370B (zh) * 2011-04-02 2015-07-01 株式会社理光 检测图像前景的方法及设备
US9182221B2 (en) 2011-06-13 2015-11-10 Canon Kabushiki Kaisha Information processing apparatus and information processing method
KR101974651B1 (ko) 2011-06-22 2019-05-02 성균관대학교산학협력단 경계선 상속을 통하여 계층적으로 직교화된 구조광을 디코딩하는 방법 및 이를 이용하는 3차원 거리 영상 측정 시스템
US8817073B2 (en) * 2011-08-12 2014-08-26 Himax Technologies Limited System and method of processing 3D stereoscopic image
KR101332638B1 (ko) * 2012-02-10 2013-11-25 시모스 미디어텍(주) 깊이 맵 보정 장치 및 방법과 이를 이용한 입체 영상 변환 장치 및 방법
JP6016061B2 (ja) * 2012-04-20 2016-10-26 Nltテクノロジー株式会社 画像生成装置、画像表示装置及び画像生成方法並びに画像生成プログラム
KR101913321B1 (ko) 2012-05-10 2018-10-30 삼성전자주식회사 깊이 센서 기반 반사 객체의 형상 취득 방법 및 장치
US9448064B2 (en) 2012-05-24 2016-09-20 Qualcomm Incorporated Reception of affine-invariant spatial mask for active depth sensing
CN102831582B (zh) * 2012-07-27 2015-08-12 湖南大学 一种微软体感装置深度图像增强方法
US9214013B2 (en) * 2012-09-14 2015-12-15 Pelican Imaging Corporation Systems and methods for correcting user identified artifacts in light field images
CN103383776B (zh) * 2013-07-14 2016-06-15 浙江大学 一种基于分段匹配和贝叶斯估计的递进式立体匹配算法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200002028A (ko) * 2017-04-26 2020-01-07 코닌클리케 필립스 엔.브이. 깊이 맵을 처리하기 위한 장치 및 방법

Also Published As

Publication number Publication date
CN116437062A (zh) 2023-07-14
JP2018185862A (ja) 2018-11-22
EP3158732B1 (en) 2023-08-09
WO2015196067A1 (en) 2015-12-23
MX2016016841A (es) 2017-07-28
US20150371393A1 (en) 2015-12-24
CN106462745A (zh) 2017-02-22
JP6766102B2 (ja) 2020-10-07
JP2017524909A (ja) 2017-08-31
EP3158732A1 (en) 2017-04-26
JP6449341B2 (ja) 2019-01-09
MX355938B (es) 2018-05-07
KR101802106B1 (ko) 2017-11-27
BR112016029514A2 (pt) 2017-08-22
US9582888B2 (en) 2017-02-28
EP3158732C0 (en) 2023-08-09

Similar Documents

Publication Publication Date Title
KR101802106B1 (ko) 컨텐츠 필터링에 기초한 구조화된 광 3차원 (3d) 깊이 맵
JP6370777B2 (ja) 能動奥行き検知のためのアフィン不変空間マスクの受信
US9530215B2 (en) Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
CN107408306B (zh) 一种产生对象的深度图信息的方法、设备及可读介质
JP2016505133A (ja) 構造化された光のアクティブ深度検知システムにおける光源電力の動的調整
KR101781775B1 (ko) 에르미트 대칭성을 갖는 코딩된 광 패턴
BR112018002739B1 (pt) Correção de erro de luz codificada eficiente em termos de memória

Legal Events

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