KR20210113100A - 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성 - Google Patents

멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성 Download PDF

Info

Publication number
KR20210113100A
KR20210113100A KR1020210030357A KR20210030357A KR20210113100A KR 20210113100 A KR20210113100 A KR 20210113100A KR 1020210030357 A KR1020210030357 A KR 1020210030357A KR 20210030357 A KR20210030357 A KR 20210030357A KR 20210113100 A KR20210113100 A KR 20210113100A
Authority
KR
South Korea
Prior art keywords
depth map
input image
image frame
image plane
resolution
Prior art date
Application number
KR1020210030357A
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 KR20210113100A publication Critical patent/KR20210113100A/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/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

본 개시의 일 실시예에 의한 방법은, 적어도 하나의 프로세서를 이용하여, 각각 제 1 영상 평면 및 제 2 영상 평면과 관련된 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임을 획득하는 단계; 적어도 하나의 프로세서를 이용하여, 제 1 입력 영상 프레임과 연관된 제 1 뎁스 맵을 획득하는 단계; 및 하기의 단계 (a) 및 (b)를 한 번 이상 수행하여 제 2 뎁스 맵을 생성하는 단계를 포함한다: (a) (i) 뎁스 맵 및 (ii) 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보를 이용하여, 투영된 영상 프레임을 생성하기 위해, 적어도 하나의 프로세서를 이용하여, 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 단계; 및 (b) 적어도 하나의 프로세서를 이용하여, 뎁스 맵 및 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정하는 단계.

Description

멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성{SUPER-RESOLUTION DEPTH MAP GENERATION FOR MULTI-CAMERA OR OTHER ENVIRONMENTS}
본 개시는 일반적으로 이미징 시스템(imaging systems)에 관한 것이다. 보다 구체적으로, 본 개시는 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성에 관한 것이다.
스마트폰 및 태블릿과 같은, 많은 모바일 전자 장치는 정지 영상 및 비디오 영상을 캡처하는데 이용될 수 있는 카메라를 포함하고 있다. 이러한 많은 모바일 전자 장치에서, 장면(scene) 내의 상이한 추정 뎁스에 기초하여 장면의 캡처된 영상을 이용하여 다양한 영상 처리 동작이 수행될 수 있다. 예를 들어, "보케(bokeh)"는 초점이 맞는, 영상의 다른 부분들(예: 전경 또는 하나 이상의 피사체)을 유지하면서 이미지의 초점이 맞지 않은 부분 (예: 이미지의 배경)을 흐리게 하여 영상의 미적 품질(aesthetic quality)을 향상시키는데 도움이 되는 효과를 의미한다. DSLR(digital single-lens reflex) 카메라 또는 기타 고급 카메라에서는 카메라 및 관련 렌즈의 디자인 및 동작으로 인하여 캡처된 영상에서 광학적으로 보케가 생성된다. 그러나, 스마트폰 및 태블릿과 같은 모바일 전자 장치에서 보케는 일반적으로 광학적으로 생성되는 것이 아니라, 계산적으로(computationally) 생성된다. 예를 들어, 모바일 전자 장치는 영상 내의 장면에서 다양한 뎁스를 추정할 수 있고, 더 큰 뎁스와 관련된 픽셀을 더 흐리게 하고(blurring), 더 작은 뎁스와 관련된 픽셀을 덜 흐리게 하거나 전혀 흐리게 하지 않음으로써 보케가 생성될 수 있다.
본 개시는 멀티-카메라 또는 다른 환경을 위한 슈퍼-해상도 뎁스 맵 생성을 제공한다.
제 1 실시예에서, 방법은 적어도 하나의 프로세서를 이용하여 제 1 영상 프레임 및 제 2 입력 영상 프레임을 획득하는 단계를 포함하고, 여기서 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임은 각각 제 1 영상 평면(plane) 및 제 2 영상 평면과 관련된다. 상기 방법은, 또한, 적어도 하나의 프로세서를 이용하여, 제 1 입력 영상 프레임과 연관된 뎁스 맵을 획득하는 단계를 포함한다. 상기 방법은 하기 단계들을 한번 이상 수행하여 다른 버전의 뎁스 맵을 생성하는 단계를 포함할 수 있다:
(a) 적어도 하나의 프로세서를 이용하여, 투영된 영상 프레임을 생성하기 위해 (i) 상기 뎁스 맵 및 (ii) 상기 제1 영상 평면으로부터 상기 제2 영상 평면으로의 변환을 식별하는 정보를 이용하여 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 단계; 및
(b) 적어도 하나의 프로세서를 이용하여, 뎁스 맵 및 상기 제1 영상 평면으로부터 제2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정(adjust)하는 단계;
제 2 실시예에서, 장치는 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임을 저장하도록 구성된 적어도 하나의 메모리를 포함하고, 여기서, 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임은 각각 제 1 영상 평면 및 제 2 영상 평면과 관련된다. 상기 장치는 또한 제 1 입력 영상 프레임과 연관된 뎁스 맵을 획득하도록 구성된 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로세서는 또한 하기 동작을 한번 이상 수행하여 다른 버전의 뎁스 맵을 생성하도록 구성된다: (a) 투영된 영상 프레임을 생성하기 위해 (i) 상기 뎁스 맵 및 (ii) 상기 제1 영상 평면으로부터 상기 제2 영상 평면으로의 변환을 식별하는 정보를 이용하여 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 동작; 및
(b) 상기 뎁스 맵 및 상기 제1 영상 평면으로부터 제2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정(adjust)하는 동작;
제 3 실시예에서, 비 일시적 컴퓨터 판독 가능 매체(non-transitory computer readable medium)는 실행될 때(when excuted) 적어도 하나의 프로세서가 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임을 획득하게 하는 인스트럭션을 포함하고, 여기서 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임은 각각 제 1 영상 평면 및 제 2 영상 평면과 각각 관련될 수 있다. 또한, 상기 매체는 실행될 때 적어도 하나의 프로세서가 제 1 입력 영상 프레임과 연관된 뎁스 맵을 획득하게 하는 인스트럭션을 포함한다. 상기 매체는 실행될 때 적어도 하나의 프로세서가 하기 동작을 한번 이상 수행하여 다른 버전의 뎁스 맵을 생성하게 하는 인스트럭션을 더 포함한다:
(a) 투영된 영상 프레임을 생성하기 위해 (i) 상기 뎁스 맵 및 (ii) 상기 제1 영상 평면으로부터 상기 제2 영상 평면으로의 변환을 식별하는 정보를 이용하여 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 동작; 및
(b) 상기 뎁스 맵 및 상기 제1 영상 평면으로부터 제2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정(adjust)하는 동작;
본 개시 내용 및 그 장점에 대한, 보다 완전한 이해를 위해, 첨부 도면과 함께 다음의 설명을 참조한다. 여기서, 첨부된 도면에서 유사 참조 번호(like reference numerals)는 유사 부분(like parts)을 나타낸다.
도 1은 본 개시에 따른 전자 장치를 포함하는 예시적인 네트워크 구성을 도시한다.
도 2 및 도 3은 본 개시에 따른 멀티- 카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 제 1 예시적인 기법을 도시한다.
도 4, 5 및 6은 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 제 2 예시 기법을 도시한다.
도 7a, 7b 및 7c는 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 사용하여 얻을 수 있는 예시적인 결과를 도시한다.
도 8은 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 예시적인 방법을 도시한다.
도 9는 카메라 프로젝션 모델을 설명하기 위한 예시를 도시한다.
도 10은 3차원 점을 제 1 카메라
Figure pat00001
로부터 제2 카메라
Figure pat00002
로 투영하는 방법을 설명하기 위한 예시를 도시한다.
다른 기술적인 특징은 당업자가 다음의 도면, 설명 및 청구범위로부터 쉽게 알 수 있다.
아래의 상세한 설명을 설명하기 전에, 본 특허 문서 전반에 걸쳐 사용된 특정 단어 및 문구의 정의를 설명하는 것이 유리할 수 있다. "송신하다(전송; transmit)", "수신하다(receive)" 및 "통신하다(comunicate)"라는 용어 및 그 파생어는 직접(direct) 및 간접(indirect) 통신(communication)을 모두 포함한다. "포함하다(include)"및 "포함하다(comprise)"라는 용어 및 그 파생어는 제한없이(without limitation) 포함하는 것을 의미한다. "또는(or)"이라는 용어는 포괄적이고, 및/또는(and/or)을 의미한다. "관련된(associated with)" 및 그 파생어는, 포함하는(to include), 포함된(be included within), 상호 연결된(interconnect with), 포함하는(contain), 포함된(be contained within), 연결된(connect to or with), 커플링된(couple to or with), 통신가능한(be communicable with), 협력하는(cooperate with), 끼우는(interleave), 병치하는(juxtapose), 또는 가까운(be proximate to), 구속력이 있거나(be bound to or with), 갖거나(have), 속성이 있거나(have a property of), 관계가 있거나(have a relationship to or with), 이와 유사한 것(or the like)을 의미한다.
게다가, 이하에서 설명되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있으며, 이들 각각은 컴퓨터 판독가능한 프로그램 코드로부터 형성되고, 컴퓨터 판독 가능 매체에 구현될 수 있다. "어플리케이션" 및 "프로그램"이라는 용어는 적합한 컴퓨터 판독 가능 프로그램 코드에서의 구현에 반영된(adapted) 하나 이상의 컴퓨터 프로그램(computer programs), 소프트웨어 구성 요소(software components), 인스트럭션 세트(sets of instructions), 절차(procedures), 기능(functions), 객체(objects), 클래스(classes), 인스턴스(instances), 관련 데이터 또는 그 일부를 의미할 수 있다. "컴퓨터 판독 가능 프로그램 코드"(computer readable program code)라는 용어는 소스 코드(source code), 객체 코드(object code) 및 실행 가능한 코드(executable code)를 포함한 모든 유형의 컴퓨터 코드를 포함할 수 있다. "컴퓨터 판독가능 매체"(computer readable medium)라는 용어는 판독 전용 메모리(ROM; read only memory), 랜덤 액세스 메모리(RAM; random access memory), 하드 디스크 드라이브(hard disk drive), 콤팩트 디스크 (CD; compact disc), 디지털 비디오 디스크(DVD; digital audio disc), 또는 기타 유형의 메모리와 같은, 컴퓨터에 의해 액세스될 수 있는 임의의 유형의 매체를 포함할 수 있다. "비 일시적(non-transitory)" 컴퓨터 판독가능 매체는 일시적 전기 또는 다른 신호(transitory electrical or other signals)를 전송하는 유선, 무선, 광학 또는 다른 통신 링크를 배제할 수 있다. 비 일시적 컴퓨터 판독 가능 매체는 재기록 가능한 광 디스크(rewritable optical disc) 또는 소거 가능한 메모리 장치(erasable memory device)와 같이, 데이터가 영구적으로(permanently) 저장되는 매체(media) 및 데이터가 저장되고 나중에 덮어쓰기 될 수 있는(later overwritten) 매체(media)를 포함한다.
본 명세서에서 사용되는 바와 같이, "가진다(have)", "가질 수 있다(may have)", "포함하다(include)" 또는 "포함 할 수 있다(may include)"와 같은 용어 및 문구는 (부품(a part)과 같은 숫자(a number), 기능(a function), 동작(operation) 또는 구성 요소(component)와 같은) 특징(feature)의 존재를 나타내고, 다른 기능의 존재를 배제하지 않을 수 있다. 또한, 본원에 사용 된 어구 "A 또는 B"(A or B), "A 및 /또는 B 중 적어도 하나"(at least one of A and/or B) 또는 "A 및/또는 B 중 하나 이상"(one or more of A and/or B)은 A 및 B의 모든 가능한 조합을 포함할 수 있다. 예를 들어, "A 또는 B", "A 및 B 중 적어도 하나" 및 "A 또는 B 중 적어도 하나"는 (1) 적어도 하나의 A를 포함하고, (2) 적어도 하나의 B를 포함하거나, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B를 포함할 수 있다. 또한, 본 명세서에서 사용되는 바와 같이, "제 1"및 "제 2"라는 용어는 중요도에 관계없이 다양한 구성 요소를 수정할 수 있으며 구성 요소를 제한하지 않는다. 이러한 용어들은 하나의 구성 요소를 다른 구성 요소와 구별하기 위해서만 사용될 수 있다. 예를 들어, 제 1 사용자 장치 및 제 2 사용자 장치는 장치의 순서 또는 중요도에 관계없이 서로 다른 사용자 장치를 나타낼 수 있다. 제 1 구성 요소는 본 개시의 범위를 벗어나지 않으면서 제 2 구성 요소로 표시될 수 있으며, 그 역도 마찬가지이다.
어떤 구성 요소 (예를 들어, 제 1 구성 요소)가 다른 구성 요소 (예를 들어, 제 2 구성 요소)와 (작동상으로 또는 통신적으로) "커플링된"(coupled with/to) 또는 "연결된"(connected with/to) 것으로 언급 될 때, 어떤 구성 요소는 다른 구성 요소와 직접 또는 제 3 구성 요소를 통해 연결되거나 연결될 수 있다. 대조적으로, 어떤 요소 (예를 들어, 제 1 요소)가 다른 요소 (예를 들어, 제 2 요소)와 "직접 커플링되어 있다" (directly coupled with/to)" 또는 "직접 연결되어 있다"(directly connected with/to"라고 언급 될 때, 다른 요소(예: 제 3 요소)는 요소와 다른 요소 사이에 개입할 수 없다.
본 명세서에 사용되는 바와 같이, "구성된(configured to)(또는 설정된)(or set to)"이라는 문구는 상황에 따라 "적합한"(suitable for), "능력을 갖는 것"("having the capacity to"), "디자인된"("designed to"), "적용된"("adapted to"), "만들어진"("made to"), 또는 "할 수 있는"(capable of") 와 같은 구와 상호 교환적으로 사용될 수 있다. 구성된(configured to)(또는 설정된)(or set to)"이라는 문구는 본질적으로 "하드웨어에서 특별히 설계된 것"을 의미하지는 않을 수 있다. 대신에, "구성된"("configured to")이라는 문구는 장치가 다른 장치 또는 부품과 함께 작업을 수행 할 수 있음을 의미할 수 있다. 예를 들어, "A, B 및 C를 수행하도록 구성된(또는 설정된) 프로세서 "라는 문구는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써 동작을 수행 할 수 있는 범용 프로세서(예를 들어, CPU 또는 어플리케이션 프로세서) 또는 작업을 수행하기 위한 또는 전용 프로세서(예: 임베디드 프로세서)를 의미할 수 있다.
본 명세서에서 사용된 용어 및 문구는 단지 본 개시의 일부 실시예를 설명하기 위해 제공되며 본 개시의 다른 실시예의 범위를 제한하지는 않는다. 단수 형태 "a", "an"및 "the"는 문맥상 명백하게 다르게 지시되지 않는 한 복수의 언급을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용된 기술 용어 및 과학 용어 및 문구를 포함한 모든 용어 및 문구는 본 발명의 실시예가 속하는 기술 분야의 당업자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 것과 같은 용어 및 문구는 관련 기술의 맥락에서 그 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 여기서 명시적으로 정의되어 있지 않은 한 이상적으로 또는 지나치게 형식적인 의미로 해석되어서는 안 된다는 것이 이해될 것이다. 경우에 따라서, 본 문서에서 정의된 용어들과 문구들은 본 개시의 실시예들을 배제하도록 해석될 수 있다.
본 개시의 실시예들에 따른 "전자 장치"의 예는 스마트폰, 태블릿 개인용 컴퓨터 (tablet personal computer; tablet PC), 휴대 전화, 비디오 폰, 전자 책 리더, 데스크탑 PC, 랩탑 컴퓨터, 넷북 컴퓨터, 워크 스테이션, 개인 휴대 정보 단말기(PDA;portable digital assisatant), 휴대용 멀티미디어 플레이어(PMP;portable multimedia player), MP3 플레이어, 모바일 의료 기기, 카메라 또는 웨어러블 기기(예: 스마트 안경, 헤드-장착 장치(HMD; head-mounted device), 전자 의류, 전자 팔찌, 전자 목걸이, 전자 액세서리, 전자 문신, 스마트 거울 또는 스마트 시계) 중 적어도 하나를 포함할 수 있다. 전자 장치의 다른 예는 스마트 가전 제품을 포함한다. 스마트 가전 기기의 예는 텔레비전, DVD(Digital Video Disc) 플레이어, 오디오 플레이어, 냉장고, 에어컨, 청소기, 오븐, 전자 레인지 오븐, 세탁기, 건조기, 공기 청정기, 셋톱 박스, 홈 오토메이션 제어판(home automation control panel), 보안 제어판(security control panel), TV 박스 (예: SAMSUNG HOMESYNC, APPLETV 또는 GOOGLE TV), 통합형 디지털 어시스턴트(integrated digital assistant)가 있는 스마트 스피커 또는 스피커 (예: SAMSUNG GALAXY HOME, APPLE HOMEPOD 또는 AMAZON ECHO), 게임 콘솔 (예: XBOX, PLAYSTATION 또는 NINTENDO), 전자 사전, 전자 키, 캠코더 또는 전자 액자(electronic picture frame) 중 적어도 하나를 포함할 수 있다. 전자 장치의 또 다른 예는 다양한 의료 장치(예컨대, 다양한 휴대용 의료 측정 장치(혈당 측정 장치, 심장 박동 측정 장치 또는 체온 측정 장치 등), 자기 자원 혈관 조영술(MRA; magnetic resouce angiography) 장치, 자기 자원 이미징(MRI; magnetic resource imaging) 장치, 컴퓨터 단층 촬영(CT;computed tomography) 장치, 이미징 장치 또는 초음파 장치), 내비게이션 장치, GPS (Global Positioning System) 수신기, EDR (Event Data Recorder) FDR (비행 데이터 레코더), 자동차 인포테인먼트 장치(automotive infotainment device), 세일링 전자 장치(saing navigation device) (예: 항해 내비게이션 장치 또는 자이로 컴퍼스), 항공 전자 장치(avionics), 보안 장치(security devices), 차량 헤드 유닛(vehicular head units), 산업용 또는 가정용 로봇(industrial or home robots), 현금 자동 입출금기(ATM;automated teller machines), POS(Point of Sale) 장치 또는 사물 인터넷(IoT;Internet of Things) 장치(전구, 다양한 센서, 전기 또는 가스 계량기, 스프링쿨러, 화재 경보기, 온도 조절기, 가로등, 토스터, 피트니스 장비, 온수 탱크, 히터 또는 보일러) 중 적어도 하나를 포함한다. 전자 장치의 다른 예는 가구 또는 건물/구조의 적어도 일부, 전자 보드, 전자 서명 수신 장치, 프로젝터 또는 다양한 측정 장치(예를 들어, 물, 전기, 가스, 또는 전자파를 측정하는 장치)를 포함할 수 있다. 본 발명의 다양한 실시 예에 따르면, 전자 장치는 전술한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 본 개시의 일부 실시 예들에 따르면, 전자 장치는 플렉서블(flexible) 전자 장치일 수 있다. 여기에 개시된 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따라 새로운 전자 장치를 포함할 수 있다.
이하의 설명에서, 본 발명의 다양한 실시예에 따른 전자 장치가 첨부 도면을 참조하여 설명된다. 본 문서에서, "사용자"(user)라는 용어는 전자 장치를 사용하는 사람 또는 다른 장치(예: 인공 지능 전자 장치)를 나타낼 수 있다.
다른 특정 단어 및 문구에 대한 정의는 본 특허 문서 전체에 걸쳐 제공될 수 있다. 당업자는 대부분의 경우는 아니지만 많은 경우에, 그러한 정의는 이전 및 이후의 이러한 정의된 단어 및 문구의 사용에 적용된다는 것을 이해해야 한다.
본 출원의 어떤 설명도 특정 요소(element), 단계(step) 또는 기능(function)이 청구 범위에 포함되어야 하는 필수 요소임을 암시하는 것으로 해석되어서는 안된다. 특허 대상의 범위는 청구 범위에 의해서만 정의된다. 청구항 내 "메커니즘"(mechanism), "모듈"(module), "장치"(device), "유닛"(unit), "구성 요소"(component), "요소"(element), "멤버"(member), "장치"(apparatus), "기계"(machine), "시스템"(system), "프로세서"(processor) 또는 "컨트롤러"(controller)는 관련 기술 분야의 통상의 기술자에게 공지된 구조를 지칭하는 것으로 이해된다.
이하에서 논의되는, 도 1 내지 도 10 및 본 개시의 다양한 실시예가 첨부 도면을 참조하여 설명된다. 그러나, 본 개시는 이들 실시예에 제한되지 않으며, 그에 대한 모든 변경 및/또는 균등물 또는 대체물도 또한 본 개시의 범위에 속한다는 것을 이해해야 한다.
위에서 언급한 바와 같이, 스마트폰 및 태블릿과 같은 많은 모바일 전자 장치는 정지 영상 및 비디오 영상을 캡처하는데 사용될 수 있는 카메라를 포함할 수 있다. 이러한 많은 모바일 전자 장치에서, 장면(scene) 내의 상이한 추정 뎁스에 기초하여 장면의 캡처된 영상을 이용한 다양한 영상처리 동작이 수행될 수 있다. 장면의 뎁스는 종종 뎁스 맵을 이용하여 식별되고 표현될 수 있다. 뎁스 맵은 일반적으로 캡처된 영상에 기초하며, 여기서 뎁스 맵의 각 픽셀은 캡처된 영상의 적어도 하나의 픽셀과 관련된 뎁스에 대응하고, 그 뎁스를 식별할 수 있다. 뎁스 맵은 캡처된 영상을 포함하는 하나 이상의 영상 처리 동작을 수행하는데 사용될 수 있다. 그러나 전자 장치를 이용하여 캡처할 수 있는 영상의 해상도는 시간이 지남에 따라 증가할 수 있다. 현재, 영상은 전자 장치를 이용하여 3840 × 2160 또는 그 이상과 같은 "4K"해상도로 캡처될 수 있다. 고-해상도 영상에서 직접 뎁스 맵을 계산하는 것은 계산 비용이 많이 들고 시간이 많이 걸릴 수 있다. 경우에 따라, 전자 장치의 컴퓨팅 전력 또는 하드웨어의 제약 등으로 인해 고-해상도 이미지로부터 직접 뎁스 맵을 계산하는 것이 불가능할 수도 있다. 저-해상도 뎁스 맵을 간단히 생성한 다음 저해상도 뎁스 맵을 업샘플링하여 고-해상도 뎁스 맵을 생성하는 것이 가능하지만, 이 방법은 일반적으로 장면의 뎁스와 관련된 세부 사항을 상당히 잃을 수 있다.
본 개시는 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵을 생성하기 위한 다양한 기법들을 제공할 수 있다. 아래에 더 상세히 설명되는 바와 같이, 고-해상도 뎁스 맵은 전자 장치의 하나 이상의 이미징 센서에 의해 캡처된 다수의 고-해상도 입력 영상 프레임 또는 영상들을 저장하는 저장소(storage)로부터 획득된 입력 영상 프레임을 사용하여 생성될 수 있다. 여기에는 일반적으로 저-해상도 뎁스 맵을 사용하여 생성되는 초기 고-해상도 뎁스 맵을 생성하는 것이 포함될 수 있다. 초기 고-해상도 뎁스 맵은 아래에 설명 된 바와 같이 다양한 방식으로 구현될 수 있는 최적화 프로세스를 사용하여 반복적으로(repeatedly or iteratively) 정제(refine)될 수 있다. 최적화 프로세스는 손실된 디테일을 복구(recover)하고 잘못된 뎁스 값 (원래의 저-해상도 뎁스 맵과 비교)을 수정(correct)하는, 장면에 대한 최종 고-해상도 뎁스 맵을 생성하기 위해, 초기 고-해상도 뎁스 맵을 개선할 수 있다.
이러한 방식으로, 장면에 대한 뎁스 맵의 해상도를 크게 높일 수 있다. 결과적으로, 저-해상도 뎁스 맵을 단순히 상향 변환(upconverting; 예를 들어, 업샘플링)하는 것에 비해 개선된 정확도와 디테일을 갖는 뎁스 맵이 생성될 수 있다. 또한, 다양한 영상 처리 작업을 통해 미적으로 보다 만족스럽거나 정확한 결과를 얻을 수 있다. 고-해상도 뎁스 맵 생성은 보케 이미지 생성(bokeh image generation), 뎁스 인식 디블러링(depth-aware deblurring), 이미지 리라이팅(image relighting), AR (증강 현실;augmented reality), MR (혼합 현실;mixed reality), SLAM (시각적 동시 로컬라이제이션 및 매핑; visual simultaneous localization and mapping), odometry 및 animoji-관련 프로세스와 같은 다양한 영상 처리 어플리케이션에서 사용할 수 있다. 또한, 아래에 설명된 기술은 고-해상도 입력 영상에서 직접 고-해상도 뎁스 맵을 생성하는 것과 비교하여 훨씬 짧은 시간에 고-해상도 뎁스 맵을 생성 할 수 있으며 계산이 훨씬 적을 수 있다. 이로 인해, 아래에 설명된 기술들은 고전력 전자 장치들에서 훨씬 더 빠르게 수행될 수 있고, 더 적은 자원들 또는 더 낮은 전력 자원들을 갖는 전자 장치들 (예컨대, 느린 프로세서들)에서 구현될 수 있다.
도 1은 본 개시에 따른 전자 장치를 포함하는 예시적인 네트워크 구성(100)을 도시한다. 도 1에 도시된 네트워크 구성(100)의 실시예는 단지 예시를 위한 것이다. 네트워크 구성(100)의 다른 실시예는 본 개시의 범위를 벗어나지 않고 이용될 수 있다.
본 개시의 실시 예들에 따르면, 전자 장치(101)는 네트워크 구성(100)에 포함된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입력/출력(I/O) 인터페이스(150), 디스플레이(160), 통신 인터페이스(170), 센서(180) 및 플래시(190) 중 적어도 하나를 포함할 수 있다. 일부 실시예에서, 전자 장치(101)는 이러한 구성 요소 중 적어도 하나를 배제하거나 다른 구성 요소를 추가할 수 있다. 버스(110)는 컴포넌트(120-190)을 서로 연결하고 컴포넌트들 간의 (예를 들어, 제어 메시지 및/또는 데이터와 같은) 커뮤니케이션들을 전달하기 위한 회로를 포함한다.
프로세서(120)는 중앙 처리 장치(CPU;central processing unit), 그래픽 프로세서 장치(GPU;graphics processor unit), 응용 프로세서(AP;application processor) 또는 통신 프로세서(CP;communication processor) 중 하나 이상을 포함한다. 프로세서(120)는 전자 장치(101)의 다른 구성 요소 중 적어도 하나에 대한 제어를 수행하거나 및/또는 통신과 관련된 데이터 처리를 수행할 수 있다. 본 개시의 일부 실시예에서, 예를 들어, 프로세서(120)는 입력 영상 프레임을 획득하고, 하나 이상의 고-해상도 뎁스 맵의 생성 또는 이용을 포함하는 하나 이상의 영상 처리 동작을 수행할 수 있다.
입력 영상 프레임들은 전자 장치의 하나 이상의 이미징 센서(imaging sensor)에 의해 캡처되거나, 전자 장치(101)의 저장소로부터 획득될 수 있다. 예를 들어, 입력 영상 프레임들은 처리되지 않은(unprocessed) raw-RGB 영상 또는 sRGB 영상일 수 있다. 또는, 입력 영상 프레임들은 raw 베이어 패턴(Bayer pattern) 데이터와 같은 컬러 필터 어레이 데이터일 수 있다.
처리되지 않은 raw-RGB 영상은 CCD(Charged Coupled Device) 센서 또는 CMOS(Complementary Metal-Oxide Semiconductor) 센서와 같은 센서로부터 획득되고 ISP(Integrated Signal Processor)에 의해 처리되지 않은 영상 데이터이다. sRGB 영상은 ISP에 의해 처리된 영상 데이터이다.
그러나, sRGB 영상은 소정의 영상 포맷의 일 예이고, 다른 RGB 기반 포맷(예를 들어, Adobe RGB, Prophoto RGB), CYMK 기반 포맷(예를 들어, SWOP CMYK) 또는 YCbCr 기반 포맷을 기초로 처리된 영상은 입력 영상 프레임들 중 하나일 수 있다.
메모리(130)는 휘발성 및/또는 비-휘발성 메모리를 포함할 수 있다. 예를 들어, 메모리(130)는 전자 장치(101)의 적어도 하나의 다른 구성 요소와 관련된 명령 또는 데이터를 저장할 수 있다. 본 개시의 실시예들에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램 (140)을 저장할 수 있다. 프로그램 (140)은 예를 들어 커널(141), 미들웨어(143), API(application programming interface)(145) 및/또는 어플리케이션 프로그램 (또는 "application")(147)을 포함할 수 있다. 커널(141), 미들웨어(143) 또는 API(145)의 적어도 일부는 운영 체제(OS)로 나타낼 수 있다.
커널(141)은 (미들웨어(143), API(145) 또는 어플리케이션(147)과 같은) 다른 프로그램에서 구현된 동작 또는 기능을 수행하는데 이용되는 시스템 자원(버스 (110), 프로세서(120) 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 커널(141)은 미들웨어(143), API(145) 또는 어플리케이션(147)이 전자 장치(101)의 개별 구성 요소에 접근하여 시스템 자원을 제어 또는 관리할 수 있는 인터페이스를 제공한다. 어플리케이션(147)은 무엇보다도 입력 영상 프레임을 획득하고, 하나 이상의 고-해상도 뎁스 맵의 생성 또는 이용을 포함할 수 있는 하나 이상의 영상 처리 동작을 수행하는 하나 이상의 어플리케이션을 포함할 수 있다. 이러한 기능은 단일 어플리케이션 또는 각각 하나 이상의 이러한 기능을 수행하는 여러 어플리케이션에서 수행될 수 있다. 미들웨어(143)는 API(145) 또는 어플리케이션(147)이, 예를 들어, 커널(141)과 데이터를 통신할 수 있게 하는 중계기(relay)로서 기능할 수 있다. 이때, 복수의 어플리케이션(147)이 제공될 수 있다. 미들웨어(143)는 (버스(110), 프로세서(120) 또는 메모리(130)와 같은) 전자 장치(101)의 시스템 자원을 사용하는 우선 순위를 복수의 어플리케이션(147) 중 적어도 하나의 어플리케이션에 할당함으로써, 어플리케이션(147)으로부터 수신된 작업 요청을 제어할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)로부터 제공되는 기능을 제어 할 수 있게 하는 인터페이스일 수 있다. 예를 들어, API(145)는 파일링 제어, 윈도우 제어, 영상 처리 또는 텍스트 제어를 위한 적어도 하나의 인터페이스 또는 기능(예를 들어, 명령(command))을 포함할 수 있다.
입력/출력 인터페이스(150)는 예를 들어, 사용자 또는 다른 외부 장치로부터 전자 장치(101)의 다른 구성 요소(들)로 명령 또는 데이터 입력을 전달할 수 있는 인터페이스로서 기능할 수 있다. 입력/출력 인터페이스(150)는 전자 장치(101)의 다른 구성 요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 장치로 출력할 수 있다.
디스플레이(160)는, 예를 들어, 액정 디스플레이 (LCD;liquid crystal display), 발광 다이오드(LED;light emitting diode) 디스플레이(display), 유기 발광 다이오드(OLED;organic light emitting diode) 디스플레이(display), 양자점 발광 다이오드(QLED;quantum-dot light emitting diode) 디스플레이(display), 마이크로 전자 기계 시스템(MEMS;microeletromechanical systems) 디스플레이 또는 전자 종이 디스플레이를 포함한다. 디스플레이(160)는 또한 멀티 초점 디스플레이(multi focal display)와 같은 뎁스 인식 디스플레이(depth-aware display)일 수 있다. 디스플레이(160)는 예를 들어 다양한 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘 또는 기호)를 사용자에게 표시할 수 있다. 디스플레이(160)는 터치 스크린을 포함할 수 있고, 예를 들어 전자 펜 또는 사용자의 신체 부분을 사용하여 터치, 제스처, 근접 또는 호버링 입력을 수신할 수 있다.
통신 인터페이스(170)는, 예를 들어, 전자 장치(101)와 외부 전자 장치(예: 제 1 전자 장치(102), 제 2 전자 장치(104) 또는 서버(106)) 사이의 통신을 설정할 수 있다. 예를 들어, 통신 인터페이스(170)는 무선 또는 유선 통신을 통해 네트워크(162 또는 164)와 연결되어 외부 전자 장치와 통신할 수 있다. 통신 인터페이스(170)는 유선 또는 무선 송수신기(transceiver) 또는 영상과 같은 신호를 송수신하기 위한 임의의 다른 구성 요소일 수 있다.
무선 통신은 예를 들어 LTE(long term evolution), LTE-A(long term evolution-advanced), 5 세대 무선 시스템(5G), 밀리미터 파(milimeter-wave) 또는 60GHz 무선 통신, 무선 USB, 코드 분할 다중 액세스 (CDMA;code division multiple access), 광대역 코드 분할 다중 액세스 (WCDMA;wideband code division multiple access), 범용 이동 통신 시스템(UMTS;universal mobile telecommunication system), 무선 광대역 (WiBro;wireless broadband) 또는 이동 통신을 위한 글로벌 시스템(GSM;global system for mobile communication) 중 적어도 하나를 셀룰러 통신 프로토콜로 사용할 수 있다. 유선 연결은, 예를 들어, 범용 직렬 버스(USB; universal serial bus), 고화질 멀티미디어 인터페이스(HDMI;high definition multimedia interface), 권장 표준 232 (RS-232;recommended standard 232) 또는 일반 전화 서비스 (POTS;plane old telephone service) 중 하나 이상을 포함할 수 있다. 네트워크(162 또는 164)는 (LAN(Local Area Network) 또는 WAN(Wide Area Network)과 같은) 컴퓨터 네트워크, 인터넷 또는 전화 네트워크와 같은, 적어도 하나의 통신 네트워크를 포함할 수 있다.
전자 장치(101)는 물리량(physical quantity)을 측정하거나 전자 장치(101)의 활성화 상태(activation state)를 검출하고 계량된 또는 검출된 정보를 전기 신호로 변환할 수 있는 하나 이상의 센서(180)를 더 포함할 수 있다. 예를 들어, 하나 이상의 센서(180)는 장면의 영상을 캡처하는데 이용될 수 있는 하나 이상의 카메라 또는 다른 이미징 센서를 포함할 수 있다. 센서(들)(180)는 또한 터치 입력을 위한 하나 이상의 버튼, 하나 이상의 마이크로폰, 제스처 센서, 자이로 스코프 또는 자이로 센서, 기압 센서, 자기 센서 또는 자력계, 가속 센서 또는 가속도계, 그립 센서, 근접 센서, 컬러 센서(RGB (Red Green Blue) 센서 등), 생체 물리 센서, 온도 센서, 습도 센서, 조명 센서, 자외선(UV;ultraviolet) 센서, 근전도(EMG; electromyography) 센서, 뇌파(EEG;electroencephalogram) 센서, 심전도 (ECG;electrocardiogram) 센서, 적외선(IR;intrared) 센서, 초음파 센서, 홍채 센서 또는 지문 센서를 포함할 수 있다. 센서(180)는 하나 이상의 가속도계, 자이로 스코프 및 다른 구성 요소를 포함 할 수 있는 관성 측정 유닛(inertial measurement unit)을 더 포함할 수 있다. 또한, 센서(들)(180)는 여기에 포함된 센서들 중 적어도 하나를 제어하기 위한 제어 회로를 포함할 수 있다. 이러한 센서(들)(180) 중 임의의 것이 전자 장치(101) 내에 위치될 수 있다. 하나 이상의 카메라 또는 다른 이미징 센서(180)는 선택적으로 하나 이상의 플래시(190)와 함께 사용될 수 있다. 플래시(190)는 하나 이상의 LED와 같은, 전자 장치(101)에 의한 영상 캡처에 사용하기 위한, 조명을 생성하도록 구성된 장치를 나타낸다.
제 1 외부 전자 장치(102) 또는 제 2 외부 전자 장치(104)는 웨어러블 장치 또는 전자 장치-장착형 웨어러블 장치(예: HMD)일 수 있다. 전자 장치(101)가 전자 장치(102)(예: HMD)에 장착된 경우, 전자 장치(101)는 통신 인터페이스(170)를 통해 전자 장치(102)와 통신할 수 있다. 전자 장치(101)는 전자 장치(102)와 직접 연결되어 별도의 네트워크에 관여하지 않고 전자 장치(102)와 통신할 수 있다. 전자 장치(101)는 또한 하나 이상의 카메라를 포함하는 안경과 같은 증강 현실 웨어러블 장치일 수 있다.
제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104) 및 서버(106)는 각각 전자 장치(101)와 동일하거나 다른 유형의 장치일 수 있다. 본 개시의 특정 실시 예에 따르면, 서버(106)는 하나 이상의 서버 그룹을 포함할 수 있다. 또한, 본 개시의 특정 실시 예에 따르면, 전자 장치(101)에서 실행되는 모든 동작 또는 일부 동작은 다른 전자 장치(예: 전자 장치(102 및 104) 또는 서버(106))에서 실행될 수 있다. 또한, 본 개시의 특정 실시 예들에 따르면, 전자 장치(101)가 자동으로 또는 요청에 따라 일부 기능 또는 서비스를 수행해야 할 때, 전자 장치(101)는 그 기능 또는 서비스를 자체적으로 또는 부가적으로 실행하는 대신에 이와 관련된 적어도 일부 기능을 수행하기 위해 다른 장치((전자 장치(102 및 104) 또는 서버(106)를 요청할 수 있다. 예컨대, 전자 장치(102 및 104) 또는 서버(106)와 같은) 다른 전자 장치는 상기 요청된 기능 또는 추가 기능을 실행하고 실행 결과를 전자 장치(101)에 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능 또는 서비스를 제공할 수 있다. 이를 위해, 예를 들어, 클라우드 컴퓨팅(cloud computing), 분산 컴퓨팅(distributed computing) 또는 클라이언트-서버 컴퓨팅 기법(client-server computing technique)이 사용될 수 있다. 도 1은 전자 장치(101)가 네트워크(162 또는 164)를 통해 외부 전자 장치(104) 또는 서버(106)와 통신하기 위한 통신 인터페이스(170)를 포함하지만, 전자 장치(101)는 본 개시의 일부 실시 예에 따라 별도의 통신 기능 없이 독립적으로 동작될 수 있음을 도시한다.
서버(106)는 전자 장치(101)(또는 이의 적절한 서브 세트)와 동일하거나 유사한 구성 요소를 포함할 수 있다. 서버(106)는 전자 장치(101)에 구현된 동작(또는 기능) 중 적어도 하나를 수행하여, 전자 장치(101)를 구동(drive)하는 것을 지원할 수 있다. 예를 들어, 서버(106)는 전자 장치(101)에 구현된 프로세서(120)를 지원할 수 있는 처리 모듈 또는 프로세서를 포함할 수 있다. 일부 실시 예에서, 서버(106)는 무엇보다도 입력 영상 프레임을 획득하고, 하나 이상의 고-해상도 뎁스 맵의 생성 또는 이용을 포함할 수 있는 하나 이상의 영상 처리 동작을 수행하는 하나 이상의 어플리케이션을 실행할 수 있다.
도 1은 전자 장치(101)를 포함하는 네트워크 구성(100)의 일 예를 도시하지만, 도 1에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 네트워크 구성(100)은 임의의 적절한 배열로 임의의 수의 각 구성 요소를 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템은 다양한 구성으로 제공되며, 도 1은 본 개시의 범위를 임의의 특정 구성으로 제한하지 않는다. 또한, 도 1은 본 특허 문헌에 개시된 다양한 특징이 사용될 수 있는 하나의 동작 환경을 도시하지만, 이들 특징은 임의의 다른 적합한 시스템에서 사용될 수 있다.
다음은 멀티-카메라 또는 기타 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 몇 가지 예제 기법을 설명한다. 이들 기법은 다수의 카메라 또는 다른 이미징 센서(180) 또는 단일 카메라 또는 다른 이미징 센서(180)의 사용을 포함할 수 있다. 따라서, 일부 실시예들에서, 다수의 카메라들 또는 다른 이미징 센서들(180)이 다수의 입력 영상 프레임들을 (예를 들어, 동시에) 캡처하기 위해 사용될 수 있다. 다른 실시예에서, 단일 카메라 또는 다른 이미징 센서(180)는 다수의 이미지를 빠르게 연속적으로 캡처하는데 사용될 수 있으며, 여기서 이미징 센서(180)는 영상 캡처들 사이에서 이동할 수 있다. 결과적으로, 후술되는 제 1 및 제 2 영상 프레임은 다수의 카메라 또는 다른 이미징 센서(180) 또는 단일 카메라 또는 다른 이미징 센서(180)에 의해 캡처 될 수 있다. 어느 경우이든, 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임은 상이한 영상 평면과 관련되며, 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임은 입력 영상 프레임이 캡처될 때의 시간 또는 시간들에서의 이미징 센서 또는 센서들(180)의 평면을 참조할 수 있다.
도 2 및 도 3은 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 제 1 예시 기법(200)을 도시한다. 설명의 편의를 위해, 도 2 및 도 3에 도시된 기법(200)은 도 1의 네트워크 구성(100)에서 전자 장치(101)의 이용을 포함하는 것으로 설명된다. 그러나, 도 2 및 도 3에 도시된 기법(200)은 임의의 다른 적합한 장치 및 임의의 다른 적절한 시스템과 함께 이용될 수 있다. 도 2에 도시된 바와 같이, 제 1 영상 이미지 프레임 및 제 2 입력 영상 프레임(202 및 204)을 포함하는 다수의 입력 영상 프레임은 전자 장치(101)를 사용하여 캡처되거나 획득될 수 있다. 입력 영상 프레임(202 및 204)은 전자 장치(101)의 다른 카메라 또는 다른 이미징 센서(180)를 이용하여 동시에 캡처될 수 있다. 특정 예로서, 입력 이미지 프레임(202 및 204)은 전자 장치(101)의 한 쌍의 스테레오 카메라 또는 다른 스테레오 이미징 센서(180)에 의해 동시에 캡처 될 수 있다. 그러나, 전술한 바와 같이, 입력 영상 프레임(202 및 204)은 또한 단일 카메라 또는 영상 캡처 사이에서 이동하는 다른 이미징 센서(180)와 같이 순차적으로 캡처될 수 있다. 입력 영상 프레임들(202 및 204)은 프로세서(120)가 전자 장치(101)의 하드 또는 소프트 버튼을 눌러 사용자가 시작하는 영상 캡처를 검출할 때와 같은, 캡처 이벤트에 응답하여 캡처될 수 있다. 입력 영상 프레임들(202 및 204)은 3840 × 2160 이상의 4K 해상도와 같은 임의의 적절한 해상도를 가질 수 있다. 입력 영상 프레임(202 및 204)의 해상도는 전자 장치(101)에서의 이미징 센서(들)(180)의 케이퍼빌리티(capabilities) 및 가능하게는 해상도에 영향을 미치는 하나 이상의 사용자 설정에 의존할 수 있다. 일부 경우에, 입력 영상 프레임(202 및 204)은 RGB 영상 프레임을 나타낼 수 있다.
저-해상도 뎁스 맵(206)은 또한 전자 장치(101)에 의해 생성되거나, 그렇지 않으면, 획득될 수 있다. 저-해상도 뎁스 맵(206)은 입력 영상 프레임들(202 및 204) 중 적어도 하나에서 캡처된 장면의 초기 뎁스 맵을 나타낼 수 있다. 그러나, 저-해상도 뎁스 맵(206)은 입력 영상 프레임(202 및 204)에 비해 낮은 해상도를 갖는다. 특정 예로서, 입력 영상 프레임들(202 및 204)이 3840 × 2160의 해상도를 갖는 경우, 저-해상도 뎁스 맵(206)은 960 × 540의 해상도를 가질 수 있다. 저-해상도 뎁스 맵(206)은 임의의 적절한 방식으로 생성될 수 있다. 일부 실시예들에서, 저-해상도 뎁스 맵(206)은 입력 영상 프레임들(202 및 204) 중 하나를 이용하여 생성될 수 있다. 종종 아래에서, 저-해상도 뎁스 맵(206)은 입력 영상 프레임(202)을 이용하여 생성되는 것으로 가정되지만, 저-해상도 뎁스 맵(206)은 입력 영상 프레임(204)을 이용하여 생성될 수도 있다. 영상에 대한 뎁스 맵을 생성하기 위한 다양한 기법이 당 업계에 공지되어 있으며, 이들 기법 중 임의의 기법이 여기서 사용될 수 있다. 다른 실시예들에서, 저-해상도 뎁스 맵은 아래 설명된 바와 같이 생성될 수 있다. 여기에서 저-해상도 뎁스 맵(206)을 생성하기 위해, 임의의 적절한 기법이 사용될 수 있고, 본 개시는 저-해상도 뎁스 맵(206)을 생성하기 위한 임의의 특정 기술로 제한되지 않을 수 있다.
입력 영상 프레임들(202 및 204) 및 저-해상도 뎁스 맵(206)은 고-해상도 뎁스 맵(210)을 생성하기 위해, 이 정보를 처리하는 유도 뎁스 슈퍼-해상도(guided DSR;guided depth super-resolution) 알고리즘(208)에 제공된다. 고-해상도 뎁스 맵(210)은 입력 영상 프레임들(202 및 204) 중 적어도 하나와 연관된 뎁스 맵을 나타내고, 고-해상도 뎁스 맵(210)은 저-해상도 뎁스(206)에 비해 더 높은 해상도를 갖는다. 일부 실시예들에서, 예를 들어, 고-해상도 뎁스 맵(210)은 입력 영상 프레임들(202 및 204)의 해상도와 일치하는 해상도를 가질 수 있다. 특정 예로서, 입력 영상 프레임들(202 및 204)이 3840 × 2160의 해상도를 갖는 경우, 고-해상도 뎁스 맵(210)은 3840 × 2160의 매칭 해상도를 가질 수 있다. 이러한 유형(type)의 실시예들에서, 고-해상도 뎁스 맵(210)의 각 픽셀은 입력 영상 프레임(202 및 204) 중 적어도 하나의 픽셀에 대한 뎁스에 대응하고, 적어도 하나의 픽셀에 대한 뎁스를 식별할 수 있다.
유도 DSR 알고리즘(208)의 예시적인 구현이 도 3에 도시되어 있다. 도 3에 도시된 바와 같이, 유도 DSR 알고리즘(208)은 입력 영상 프레임(202 및 204)을 수신하고 포즈 추정 기능(302)을 수행한다. 포즈 추정 기능(302)은 입력 영상 프레임(202 및 204)을 캡처할 때 하나 이상의 카메라 또는 다른 이미징 센서(180)에 의해 이용되는 영상 평면 사이의 포즈 차이를 결정하도록 동작할 수 있다. 포즈 추정 기능(302)는 입력 영상 프레임(202)의 영상 평면으로부터 입력 영상 프레임(204)의 영상 평면으로의 변환(conversion)을 식별하는 정보를 생성할 수 있다. 여기서, 이 정보는 입력 영상 프레임(202 및 204)에 대한 영상 평면이 어떻게 다른지를 정의하는 회전(rotation) 및 병진(translation) 값들(304)을 포함할 수 있다. 예를 들어, 입력 영상 프레임(202 및 204)이 다른 카메라들 또는 다른 이미징 센서들(180)에 의해 동시에 캡처되면, 회전 및 병진 값들(304)은 이미지 캡처시 이미징 센서(180)의 다른 영상 평면들에 기초할 수 있다. 입력 영상 프레임(202 및 204)이 단일 카메라 또는 다른 이미징 센서(180)에 의해 순차적으로 캡처되면, 회전 및 병진 값들(304)은 이미지 캡처의 다른 시간에서 이미징 센서(180)의 다른 영상 평면들에 기초할 수 있다. 병진은 일반적으로 지정된 방향으로(예를 들어, 제 1 직교 축 및 제 2 직교 축을 따라) 영상 평면 사이의 차이를 지칭할 수 있다. 회전은 일반적으로 제 1 축 및 제 2 축에 직교 할 수 있는 제 3 축을 중심으로 회전하는 영상 평면 사이의 차이를 지칭할 수 있다.
모션 기법들로부터의 구조와 같은, 영상 평면 사이의 회전 및 병진 차이를 식별하기 위한 다양한 기술이 당 업계에 공지되어 있다. 특정 예로서, 전자 장치(101)의 프로세서(120)는 입력 영상 프레임(202 및 204)에서 n 쌍의 스파스 포인트(sparse points)를 식별할 수 있으며, 여기서 n은 적어도 8일 수 있다. 스파스 포인트는
Figure pat00003
로 표현될 수 있다. 이때, p1은 제 1 입력 이미지 프레임의 스파스 포인트를 나타내고, p2는 제 2 입력 이미지 프레임의 스파스 포인트를 나타낼 수 있다. 전자 장치(101)의 프로세서(120)는
Figure pat00004
를 풀어, 회전 R 및 병치 T 값을 계산할 수 있다. 포즈 추정을 수행하고 회전 및 병진 값들(304)을 생성하기 위해 임의의 적절한 기법이 사용될 수 있으며, 본 개시는 회전 및 병진 값들(304)을 생성하기 위한 임의의 특정 기법에 제한되지 않을 수 있다. 회전 및 병진 값들(304)은 다음과 같이
Figure pat00005
Figure pat00006
로 각각 표시 될 수 있다. 더 나은 이해를 위해 도 10을 참조하여 영상 평면들 간 회전 및 병진 차이를 식별하기 위한 모션 기법들로부터의 구조가 다시 설명될 것이다.
업샘플링 기능(306)는 저-해상도 뎁스 맵(206)을 수신하고, 고-해상도 또는 업샘플링된 뎁스 맵(308)을 생성하며, 생성된 뎁스 맵은 당초 거친 뎁스 맵(coarse depth map)이라고 지칭될 수 있다. 뎁스 맵(308)은 4K 해상도 또는 다른 해상도와 같은, 입력 영상 프레임(202 및 204)과 동일한 해상도를 가질 수 있다. 그러나, 뎁스 맵(308)은 저-해상도 뎁스 맵(206)을 업샘플링함으로써 생성되기 때문에, 뎁스 맵(308)은 입력 영상 프레임(202 및 204)에 비해 미세한 디테일이 부족하고, 그렇기 때문에, 뎁스 맵(308)은 당초 거친 뎁스 맵이라고 할 수 있다. 가장 근접한 이웃 업샘플링 기법(nearest-neighbor upsampling technique)과 같은, 영상 데이터를 업 샘플링하기 위한 다양한 기법이 공지되어 있다. 업샘플링을 수행하여 업샘플링된 뎁스 맵(308)을 생성하기 위해, 임의의 적절한 기법이 여기에서 사용될 수 있으며, 본 개시는 업 샘플링된 뎁스 맵(308)을 생성하기 위한 임의의 특정 기술로 제한되지 않는다. 뎁스 맵(308)은
Figure pat00007
과 같이 표시될 수 있다. 전술한 바와 같이, 일부 실시 예들에서, 저-해상도 뎁스 맵(206)은 입력 영상 프레임(202)을 이용하여 생성될 수 있고, 이 경우에, 업샘플링된 뎁스 맵(308)은 입력 영상 프레임(202)과 연관되거나, 입력 영상 프레임(202)을 기초로 할 수 있다. (따라서 입력 영상 프레임(202)을 캡처하는데 이용된 영상 평면과 연관된다)
뎁스 맵 좌표 변환 기능(310)은 뎁스 맵(308) 및 회전 및 병진 값들(304)을 수신할 수 있다. 뎁스 맵 좌표 변환 기능(310)는 일반적으로 뎁스 맵(308)을 입력 영상 프레임(202)의 좌표계(coordinate system 또는 coordinate frame)로부터 입력 영상 프레임(204)의 좌표계로 변환하여 변환된 뎁스 맵(312)을 생성하도록 동작할 수 있다. 다시 말해, 뎁스 맵 좌표 변환 기능(310)은 회전 및 병진 값들(304)에 기초하여 입력 영상 프레임(202)을 캡처하기 위해 이용된 영상 평면으로부터 입력 영상 프레임(204)을 캡처하기 위해 이용된 영상 평면으로 뎁스 맵(308)을 변환할 수 있다. 예를 들어, 뎁스 맵 좌표 변환 기능(310)은 뎁스 맵(308)으로부터 포인트 클라우드(point cloud)를 식별할 수 있고, 포인트 클라우드는 뎁스 맵(308)에서 다수의 특정된 포인트를 포함할 수 있다. 뎁스 맵 좌표 변환 기능(310)는 변환된 뎁스 맵(312)에서 대응하는 포인트를 식별하기 위해 회전 및 병진 값들(304)을 식별된 포인트 클라우드에 적용할 수 있다. 변환된 뎁스 맵(312)을 생성하기 위해 임의의 적절한 수의 포인트가 포인트 클라우드에서 식별되고, 회전 및 병진 값들(304)을 이용하여 처리될 수 있다. 변환된 뎁스 맵(312)은
Figure pat00008
Figure pat00009
와 같이 표시될 수 있다.
영상 투영 기능(image projection function)(314)은 변환된 뎁스 맵(312)을 이용하여 제 1 입력 영상 프레임(202)을 제 2 입력 영상 프레임(204)과 관련된 영상 평면에 투영할 수 있다. 예를 들어, 영상 투영 기능(314)은 변환된 뎁스 맵(312)을 사용하여 하나의 카메라 또는 다른 이미징 센서(180)에 의해 캡처된 제 1 입력 영상 프레임(202)을 다른 카메라 또는 다른 이미징 센서(180)와 관련된 영상 평면에 투영 할 수 있다. 다른 예로서, 영상 투영 기능(314)은 변환된 뎁스 맵(312)을 이용하여 하나의 카메라 또는 다른 이미징 센서(180)에 의해 임의의 시간에 캡처된 제 1 입력 영상 프레임(202)을 동일한 카메라 또는 다른 이미징 센서(180)와 연관된 다른 시간의 영상 평면에 투영할 수 있다. 영상 투영 기능(314)의 결과는 입력 영상 프레임(202)의 투영된 버전이며, 이것은 투영된 영상 프레임(316)으로 지칭될 수 있다. 투영된 영상 프레임(316)은 제 1 입력 영상 프레임(202)이 제 2 입력 영상 프레임(204)을 캡처하는데 이용된 영상 평면에서 제 1 입력 영상 프레임(202)이 캡처된 것처럼 보일 수 있는 것의 추정치를 나타내고, 뎁스 맵(308)의 현재 버전을 기초로 할 수 있다. 투영된 영상 프레임(316)은
Figure pat00010
와 같이 표시될 수 있다.
이 시점에서, 투영된 영상 프레임(316)은 제 2 입력 영상 프레임(204)과 유사하지만, 정확히 일치하지는 않을 수 있다. 무엇보다도, 이것은 투영된 영상 프레임(316)이 초기 뎁스 맵(308) 및 초기 회전 및 병진 값들(304)을 이용하여 생성되고, 이는 대략적인 값(coarse values)일 수 있기 때문이다. 도 3에서, 제 2 입력 영상 프레임(204)과 투영된 영상 프레임(316) 사이의 일치는 뎁스 맵(308) 및/또는 회전 및 병진 값들(304)을 반복적으로 조정함으로써 개선될 수 있다. 따라서, 도 3에서, 투영된 영상 프레임(316) 및 제 2 입력 영상 프레임(204)은 손실 최소화 기능(318)에 제공되는데, 이는 뎁스 맵(308) 및/또는 회전 및 병진 값들을 업데이트하기 위해 손실 함수를 최소화하도록 일반적으로 동작할 수 있다.
제 2 입력 영상 프레임(204)과 투영된 영상 프레임(316) 사이의 갭(gap)을 좁히는 것을 돕기 위해 임의의 적절한 손실 함수(loss function)가 이용될 수 있다. 일부 실시 예들에서, 손실 최소화 기능(318)은 3 가지 요소, 즉 (i) 제 2 입력 영상 프레임(204)과 투영된 영상 프레임(316) 사이의 광도 손실(photometric loss)의 측정치 (ii)뎁스 맵(308)에서의 총 분산(variance)의 측정치, 및 (iii) 제 1 입력 영상 프레임(202)에서 식별된 에지(edge)와 뎁스 맵(308)에서 식별된 에지 사이의 에러의 측정치에 기초한 손실 함수를 이용할 수 있다. 특정 실시예에서, 손실 최소화 함수(318)은 다음 손실 함수를 이용할 수 있다:
Figure pat00011
(1)
여기서, I2는 제 2 입력 영상 프레임(204)을 나타내고, 투영된 영상 프레임
Figure pat00012
는 뎁스 맵
Figure pat00013
, 회전 및 병진 값들
Figure pat00014
Figure pat00015
의 함수로 표시될 수 있다. 카메라 위치 1의 영상 평면에 대한
Figure pat00016
를 카메라 위치 2의 영상 평면으로
Figure pat00017
로 투영하는 것에 관한 구체적인 절차는 도 10을 참조하여 후술하기로 한다.
또한,
Figure pat00018
은 제 1 입력 영상 프레임(202)에 포함된 에지를 나타내고,
Figure pat00019
은 뎁스 맵에 포함된 에지를 나타낼 수 있다. 표현식
Figure pat00020
은 여기서, 여기서, 제 2 입력 영상 프레임(204)과 투영된 영상 프레임(316) 사이의 광도 손실을 정의할 수 있다. 표현식
Figure pat00021
은 여기서, 뎁스 맵
Figure pat00022
의 총 분산을 정의할 수 있다. 표현식
Figure pat00023
는 여기서, 제 1 입력 영상 프레임(202) 및 뎁스 맵(308)에서 식별된 에지들 사이의 에러(error)를 정의할 수 있다.
업데이트 기능(320)은 손실 최소화 기능(318)의 결과에 기초하여 뎁스 맵(308) 및/또는 회전 및 병진 값들(304)을 업데이트하여 업데이트된 뎁스 맵(308) 및/또는 업데이트된 회전 및 병진 값들(304)을 피드백하도록 이용될 수 있다. 업데이트된 뎁스 맵(308) 및/또는 업데이트된 회전 및 병진 값들(304)은 뎁스 맵 좌표 변환 기능(310)에 의해 사용되어 또 다른 변환된 뎁스 맵(312)을 생성할 수 있으며, 이는 영상 투영 기능(314)에 의해 업데이트된 투영 영상 프레임(316)을 생성하는데 이용될 수 있다. 업데이트된 투영 영상 프레임(316)은 손실 최소화 기능(318)에 의해 다시 처리될 수 있고, 뎁스 맵(308) 및/또는 회전 및 병진 값들(304)에 대한 추가 업데이트가 이루어질 수 있다. 이 반복 프로세스는 측정된 손실이 지정된 임계 값 이하이거나, 지정된 반복 횟수와 같이, 적어도 하나의 지정된 조건이 충족될 때까지 계속될 수 있다. 경우에 따라 측정된 손실이 지정된 임계 값 아래로 떨어지려면 일반적으로 이 프로세스의 3 ~ 5 회 반복이 필요할 수 있다. 또한 경우에 따라 지정된 반복 횟수는 일반적으로 사용 중에 발생할 수 있는 예상 최대 반복 횟수를 기초로 할 수 있다.
여기서, 반복은 다수의 반복에 걸쳐 뎁스 맵(308)에 추가적인 디테일(세부 사항)을 추가함으로써 뎁스 맵(308)의 원래 버전을 개선하는 것을 도울 수 있다. 뎁스 맵(308)의 원래 버전이 정밀한 디테일이 결여된 업샘플링된 저-해상도 뎁스 맵(206)에 기초하기 때문에, 반복은 손실된 디테일들을 복구(recover)하는데 본질적으로 도움이 될 수 있다. 또한, 반복은 원래 뎁스 맵(206 또는 308)에 포함되었을 수 있는 잘못된 뎁스 값을 정정하는 데 도움이 될 수 있다. 반복이 종료되면, 고-해상도 뎁스 맵(210)이 출력될 수 있고, 여기서 고-해상도 뎁스 맵(210)은 업데이트된 뎁스 맵(308)의 버전을 나타낼 수 있다. 이 예시에서, 고-해상도 뎁스 맵(210)은 업데이트 기능(320)으로부터 출력되는 것으로 도시되어 있지만, 고-해상도 뎁스 맵(210)은 (예컨대, 최종 업데이트된 버전의 뎁스 맵(308)을 저장하는데 사용되는 메모리와 같은) 임의의 다른 적합한 구성 요소에 의해 제공될 수 있다.
여기에 도시된 프로세스는 고-해상도 입력 영상 프레임(202 또는 204)으로부터 직접 고-해상도 뎁스 맵(210)을 계산하는 것과 비교하여 상당히 짧은 시간 내에 고-해상도 뎁스 맵(210)을 생성하고 상당히 적은 계산을 사용할 수 있다. 예를 들어, 4K 영상 프레임으로부터의 직접 접근을 사용하면, 4K 영상 프레임으로부터 4K 뎁스 맵을 생성하기 위해 약 12 초 동안 약 10 억 곱셈 누적 연산이 필요할 수 있다. 도 2 및 도 3과 관련하여, 위에서 설명된 접근법을 사용하여, 고-해상도 뎁스 맵(210)을 생성하기 위해, 2 초 미만에 걸쳐 대략 1 억 곱셈 누적 연산이 필요할 수 있다. 모바일 스마트폰 및 태블릿과 같은 전자 장치의 경우, 이러한 시간 단축은 특히, 사용자 만족도 측면에서 매우 중요할 수 있다.
여기에 제시된 접근법은 뎁스를 결정할 때 다중 평면 유도(multiplane guidance)를 위한 뎁스별 연속적(depth-wise continuous)이고, 공간적으로 불연속적(spatially discontinuous)인 기법을 기본적으로 지원할 수 있다. 여기서, 2 개의 원본 입력 영상 프레임(202 및 204)은 유도 이미지로서 사용되며 고-해상도 뎁스 맵(210)의 생성을 유도하는데 도움이 될 수 있다. 또한, 여기에 사용된 유도는 입력 영상 프레임(202 및 204)에서의 영상 강도(image intensity)와 무관 할 수 있으며, 이는 콘트라스트-기반(contrast-based) 뎁스 불연속과 같은, 문제를 피하는데 도움이 될 수 있다. 또한, 고-해상도 뎁스 맵(210)에서 에지를 보존하는 것을 돕기 위해 뎁스 변화에만 기초하여 다중 평면 고려 사항이 여기에서 고려될 수 있다.
비록 도 2 및 3은 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 기법(200)의 제 1 예를 도시하지만, 도 2 및 3에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 둘 이상의 입력 영상 프레임이 수신되어 처리될 수 있다. 또한, 여기에서 생성된 고-해상도 뎁스 맵(210)은 임의의 수의 영상 처리 어플리케이션에서 사용될 수 있다.
도 4, 5 및 6은 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 제 2 예시 기법(400)을 도시한다. 설명의 편의를 위해, 도 4, 5 및 6에 도시된 기법(400)은 도 1의 네트워크 구성(100)에서 전자 장치(101)의 사용을 포함하는 것으로 설명될 수 있다. 그러나, 도 4, 5 및 6에 도시된 기법(400)은 임의의 다른 적합한 장치 및 임의의 다른 적합한 시스템과 함께 사용될 수 있다.
도 4에 도시된 바와 같이, 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임(402 및 404)을 포함하는 다수의 입력 영상 프레임은 전자 장치(101)를 사용하여 캡처되거나 획득될 수 있다. 입력 영상 프레임들(402 및 404)은 전자 장치(101)의 한 쌍의 스테레오 카메라들 또는 다른 스테레오 이미징 센서들(180)에 의해, 전자 장치(101)의 다른 카메라들 또는 다른 이미징 센서들(180)을 사용하여 동시에 캡처될 수 있다. 그러나, 전술한 바와 같이, 입력 영상 프레임들(402 및 404)은 또한 영상 캡처들 사이에서 이동하는 단일 카메라 또는 다른 이미징 센서(180)와 같이 순차적으로 캡처될 수 있다. 입력 영상 프레임들(402 및 404)은 프로세서(120)가 전자 장치(101)의 하드 또는 소프트 버튼을 눌러 사용자가 시작하는 영상 캡처를 검출할 때와 같은, 캡처 이벤트에 응답하여 캡처될 수 있다. 입력 영상 프레임들(402 및 404)은 3840 × 2160 이상의 4K 해상도와 같은 임의의 적절한 해상도를 가질 수 있다. 입력 영상 프레임(402 및 404)의 해상도는 전자 장치(101)에서의 이미징 센서(들)(180)의 케이퍼빌리티(capabilities) 및 가능하게는 해상도에 영향을 미치는 하나 이상의 사용자 설정에 의존할 수 있다. 일부의 경우에, 입력 영상 프레임(402 및 404)은 RGB 영상 프레임을 나타낼 수 있다.
입력 이미지 프레임(402 및 404)은 기계 학습 또는 인공 지능(AI) 뎁스 및 유도 DSR 알고리즘(408)에 제공된다. AI 뎁스 및 유도 DSR 알고리즘(408)은 저-해상도 뎁스 맵을 생성하기 위해, 입력 영상 프레임들(402 및 404) 중 적어도 하나를 이용할 수 있다. AI 뎁스 및 유도 DSR 알고리즘(408)은, 또한, 저-해상도 뎁스 맵 및 입력 영상 프레임(402 및 404)을 이용하여 고-해상도 뎁스 맵(410)을 생성할 수 있다. 따라서, 저-해상도 뎁스 맵(206)이 특정되지 않은 방식으로 획득되는 도 2와 달리, 도 4의 저-해상도 뎁스 맵은 입력 영상 프레임(402 및 404)의 처리의 일부로서 생성될 수 있다. 따라서, 도 4의 접근법은 고-해상도 뎁스 맵(410)을 생성하도록 훈련되는 것과 함께, 기계 학습 알고리즘이 저-해상도 뎁스 맵을 생성하도록 훈련될 수 있게 허용할 수 있다. 여기서, 저-해상도 뎁스 맵은 입력 영상 프레임들(402 및 404)에서 캡처된 장면의 초기 뎁스 맵을 나타내지만, 저-해상도 뎁스 맵은 입력 영상 프레임들(402 및 404)에 비해 낮은 해상도를 가질 수 있다. 특정 예로서, 입력 영상 프레임들(402 및 404)이 3840 × 2160의 해상도를 갖는 경우, 저-해상도 뎁스 맵은 960 × 540의 해상도를 가질 수 있다. 저-해상도 뎁스 맵은 도 5와 관련하여 아래에 설명된 바와 같이 생성될 수 있다.
고-해상도 뎁스 맵(410)은 입력 영상 프레임들(402 및 404) 중 적어도 하나와 연관된 뎁스 맵을 나타내며, 고-해상도 뎁스 맵(410)은 저-해상도 뎁스 맵에 비해 더 높은 해상도를 가질 수 있다. 일부 실시 예들에서, 예를 들어, 고-해상도 뎁스 맵(410)은 입력 영상 프레임들(402 및 404)의 해상도와 일치하는 해상도를 가질 수 있다. 특정 예시로서, 입력 영상 프레임들(402 및 404)이 3840 × 2160의 해상도를 갖는 경우, 고-해상도 뎁스 맵(410)은 3840 × 2160의 매칭 해상도를 가질 수 있다. 이러한 유형의 실시예에서, 고-해상도 뎁스 맵(410)의 각각의 픽셀은 입력 영상 프레임(402 및 404) 중 적어도 하나의 픽셀에 대한 뎁스에 대응하고, 적어도 하나의 픽셀에 대한 뎁스를 식별한다.
AI 뎁스 및 유도 DSR 알고리즘(408)의 예시적인 구현이 도 5에 도시되어 있다. 도 5에 도시된 바와 같이, AI 뎁스 및 유도 DSR 알고리즘(408)은 입력 영상 프레임(402 및 404)을 수신하고 포즈 추정 기능(502)을 수행할 수 있다. 포즈 추정 기능(502)는 전술한 포즈 추정 기능(302)와 동일하거나 유사할 수 있다. 포즈 추정 기능(502)는 입력 영상 프레임(402 및 404)에 대한 영상 평면이 어떻게 다른지를 정의하는 회전 및 병진 값들(504)을 생성할 수 있다.
컨벌루션 레이어들(convolutional layers)(506a-506d)의 컬렉션은, 또한, 입력 영상 프레임(402 및 404)을 처리하기 위해 이용될 수 있다. 각 컨볼루션 레이어(506a-506d)는 그 출력을 생성하기 위해 컨볼루션 함수(convolution function)를 그 입력에 적용할 수 있다. 컨벌루션 레이어(506a-506d)는 일반적으로 컨벌루션 뉴런들의 레이어를 나타내며, 이는 시각적 자극에 대한 개별 뉴런의 응답을 에뮬레이트(emulate)하는 컨볼루션 함수를 적용할 수 있다. 각 뉴런은 일반적으로 출력 값을 생성하기 위해 일부 함수를 입력 값에 적용할 수 있다. (종종 다른 입력 값에 다르게 가중치를 부여함). 컨볼루션 레이어(506a-506d)는 컨벌루션 레이어의 최종 출력을 생성하기 위해, 뉴런으로부터의 출력 값에 특정 기능 또는 동작을 적용할 수 있는 활성화 함수와 관련될 수 있다. 이 예에서, 제 1 컨볼루션 레이어(506a)는 입력 영상 프레임(402 및 404)을 수신 및 처리하고, 나머지 컨볼루션 레이어(506b-506d) 각각은 이전 컨볼루션 레이어(506a-506c)로부터의 출력을 수신 및 처리할 수 있다. 각 컨볼루션 레이어(506a-506d)의 출력은 입력보다 해상도가 낮을 수 있다. 최종 컨볼루션 레이어(506d)의 출력은 저-해상도 뎁스 맵(508)을 나타낼 수 있다. 여기서 4 개의 컨볼루션 레이어(506a-506d)가 저-해상도 뎁스 맵(508)을 생성하는데 이용되는 것으로 도시되어 있지만, AI 뎁스 및 유도 DSR 알고리즘(408)은 임의의 적절한 수의 컨볼루션 레이어를 지원할 수 있다.
업샘플링 레이어(510)은 컨볼루션 레이어(506d)로부터 저-해상도 뎁스 맵(508)을 수신하고, 고-해상도 또는 업샘플링된 뎁스 맵(512)을 생성하는데, 이것을 당초 거친 뎁스 맵이라고 할 수 있다. 뎁스 맵(512)은 4K 해상도 또는 다른 해상도와 같은 입력 영상 프레임(402 및 404)과 동일한 해상도를 가질 수 있다. 그러나, 뎁스 맵(512)은 저-해상도 뎁스 맵(508)을 업샘플링함으로써 생성되기 때문에, 뎁스 맵(512)은 처음에 입력 영상 프레임들(402 및 404)에 비해 미세한 디테일이 부족하다. 그렇기 때문에, 뎁스 맵(512)은 당초 거친 뎁스 맵이라고 할 수 있다. 업샘플링을 수행하고 업샘플링된 뎁스 맵(512)을 생성하기 위해 임의의 적절한 기법(예를 들어, 가장 가까운 이웃 업샘플링 기법(nearest-neighbor upsampling technique))이 여기에서 이용될 수 있으며, 본 개시는 업샘플링된 뎁스 맵(512)을 생성하기 위한 임의의 특정 기술로 제한되지 않을 수 있다.
뎁스 맵(512)은 유도 뎁스 슈퍼-해상도 알고리즘의 나머지 기능을 구현하는 DSR 레이어들(514a-514e)의 컬렉션에 제공될 수 있다. 예를 들어, DSR 레이어들(514a-514e)은 고해상도 뎁스 맵(410)을 생성하기 위해, 업샘플링된 뎁스 맵(512)을 반복적으로 정제(refine)할 수 있다. 상기 AI 뎁스 및 유도 DSR 알고리즘(408)은 임의의 적절한 수의 DSR 레이어들을 지원할 수 있다. 일부 실시예에서, AI 뎁스 및 유도 DSR 알고리즘(408)은 3 내지 5 개의 DSR 레이어들을 포함할 수 있지만, 다른 수의 DSR 레이어가 이용될 수 있다. 여기서 피드-포워드 경로(516)는 컨볼루션 레이어(506a)로부터 DSR 레이어(514a-514e)로 입력 영상 프레임(402 및 404)과 같은 정보를 제공하기 위해 이용될 수 있다.
각각의 DSR 레이어(514a-514e)의 예시적인 구현이, 도 6에 도시되어 있다. 도 6에 도시된 바와 같이, 각각의 DSR 레이어(514a-514e)는 입력 뎁스 맵(601)을 수신할 수 있다. 제 1 DSR 레이어(514a)에서, 입력 뎁스 맵(601)은 업샘플링 레이어(510)에 의해 생성된 업샘플링된 뎁스 맵(512)을 나타낼 수 있다. 각각의 후속 DSR 레이어(514b-514e)에서, 입력 뎁스 맵(601)은 이전 DSR 레이어에 의해 생성된 업데이트된 뎁스 맵을 나타낼 수 있다. 각각의 DSR 레이어(514a-514e)는 또한 입력 회전 및 병진 값들(602)을 수신할 수 있다. 제 1 DSR 레이어(514a)에서, 입력 회전 및 병진 값들(602)은 포즈 기능(502)에 의해 생성된 회전 및 병진 값들(504)을 나타낼 수 있다. 각각의 후속 DSR 레이어(514b-514e)에서, 입력 회전 및 병진 값들(602)은 이전 DSR 레이어에 의해 생성된 업데이트된 회전 및 병진 값들을 나타낼 수 있다.
입력 뎁스 맵(601) 및 입력 회전 및 병진 값들(602)은 뎁스 맵 좌표 변환 기능(610)에 의해 뎁스 맵(601)을 입력 영상 프레임(402)의 좌표계로부터 입력 영상 프레임(404)의 좌표계로 변환하고, 이에 의해 변환된 뎁스 맵(612)을 생성할 수 있다. 영상 투영 기능(614)은 변환된 뎁스 맵(612)을 이용하여 제 1 입력 영상 프레임(402)을 제 2 입력 영상 프레임(404)과 관련된 이미지 평면에 투영할 수 있다. 영상 투영 기능(614)의 결과는 투영된 버전의 입력 영상 프레임(402)이며, 이 것은 투영된 영상 프레임(616)으로 지칭될 수 있다. 투영된 영상 프레임(616) 및 제 2 입력 영상 프레임(404)은 손실 최소화 기능(618)에 제공되며, 이는 뎁스 맵(601) 및/또는 회전 및 병진 값들(602)을 업데이트하기 위해 손실 함수를 최소화하도록 일반적으로 동작할 수 있다. 제 2 입력 영상 프레임(404)과 투영된 영상 프레임(616) 사이의 갭을 좁히는 것을 돕기 위해, 전술한 손실 함수와 같은(식 (1)의 손실 함수와 같은), 임의의 적절한 손실 함수가 여기서 사용될 수 있다. 업데이트 기능(620)은 손실 최소화 기능(618)의 결과에 기초하여 뎁스 맵(601) 및 /또는 회전 및 병진 값들(602)을 업데이트하기 위해 이용될 수 있고, 업데이트된 뎁스 맵(601) 및/또는 업데이트된 회전 및 병진 값들(602)은 하나 이상의 업데이트된 출력(622)으로서 제공될 수 있다. 마지막 DSR 레이어(514e)를 제외한 각 DSR 레이어에서, 업데이트된 출력(622)은 다음 DSR 레이어에 의해 이용될 업데이트된 뎁스 맵(601) 및/또는 업데이트된 회전 및 병진 값들(602)을 포함할 수 있다. 마지막 DSR 레이어(514e)에서, 업데이트된 출력(622)은 고-해상도 뎁스 맵(410)을 포함할 수 있다. 여기서 기능들(610, 614, 618, 및 620)은 위에서 설명된 기능들(310, 314, 318 및 320)과 동일하거나 유사할 수 있다.
도 5 및 도 6에서 알 수 있는 바와 같이, DSR 레이어(514a-514e)는 반복된 뎁스 맵 최적화를 달성하기 위해, 직렬로 동작하는 본질적으로 연결된 레이어들(concatenated layers)이다. 따라서, 여기서 DSR 레이어(514a-514e)는 도 3에 도시된 유도 DSR 알고리즘(208)과 관련하여, 위에서 설명된 반복 기능을 구현할 수 있다. 하지만, 최적화는 (도 3에서와 같은 반복 루프 대신) 연결된 DSR 레이어들을 이용하여 도 5 및 6에서 발생할 수 있다. 도 5 및 도 6의 접근법은 계속해서 원하는 최적화가 일어나도록 허용함으로써, 고-해상도 뎁스 맵 생성을 달성할 수 있다.
AI 뎁스 및 유도 DSR 알고리즘(408)의 다양한 레이어(506a-506d, 510, 514a-514e)는 머신 학습 또는 AI 레이어를 나타내므로, 임의의 적절한 머신 학습 기법을 이용하여 훈련될 수 있다. 예를 들어, 일부 실시예들에서, AI 뎁스 및 유도 DSR 알고리즘(408)은 영상화된 장면들에서의 실제 뎁스가 알려진 훈련 이미지들(예를 들어, 컴퓨터-생성 이미지)를 제공받을 수 있다. AI 뎁스 및 유도 DSR 알고리즘(408)은 훈련 영상에 대한 고-해상도 뎁스 맵(410)을 생성하고, 생성된 뎁스 맵(410)은 계산된 뎁스 맵(410)에서 에러를 식별하기 위해, 훈련 이미지와 연관된 알려진 뎁스와 비교될 수 있다. 상기 에러는 하나 이상의 레이어(506a-506d, 510, 514a-514e)에서 사용되는 가중치 또는 다른 파라미터를 조정하기 위해 AI 뎁스 및 유도 DSR 알고리즘(408)을 통해 역-전파될 수 있다 이 프로세스는 AI 뎁스 및 유도 DSR 알고리즘(408)의 레이어(506a-506d, 510, 514a-514e)가 훈련 영상에서 알려진 뎁스를 식별하도록 훈련될 때까지 (적어도 일부 임계치 또는 원하는 정도의 정확도 내까지) 계속될 수 있다. 그러나, 본 개시는 임의의 특정 기계 학습 훈련 기법에 제한되지 않을 수 있다.
도 4, 5 및 6은 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 기법(400)의 제 2 예를 도시하지만, 도 4, 5 및 6에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 둘 이상의 입력 영상 프레임이 수신되어 처리될 수 있다. 또한, 여기에서 생성된 고-해상도 뎁스 맵(410)은 임의의 수의 영상 처리 어플리케이션에 이용될 수 있다.
도 2 내지 도 6에 도시된 동작은 전자 장치(101, 102, 104), 서버(106) 또는 다른 장치에서 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 일부 실시 예에서, 도 2 내지 6 중 적어도 일부에 도시된 동작은 하나 이상의 소프트웨어 어플리케이션 또는 장치의 적어도 하나의 프로세서(120)에 의해 실행되는 다른 소프트웨어 인스트럭션을 사용하여 구현되거나 지원될 수 있다. 다른 실시 예들에서, 도 2 내지 6 중 적어도 일부에 도시된 동작들 중 적어도 일부는 전용 하드웨어 컴포넌트를 사용하여 구현되거나 지원될 수 있다. 일반적으로, 도 2 내지 도 6 중 적어도 일부에 도시된 동작은 임의의 적절한 하드웨어 또는 임의의 적절한 하드웨어 및 소프트웨어/펌웨어 인스트럭션들의 조합을 이용하여 수행될 수 있다.
또한, 도 2 내지 도 6에 도시된 동작은 전자 장치(101)의 특정 구현을 사용하여 수행되는 것으로 설명되었지만, 사용되는 장치에 기초하여 많은 수정이 이루어질 수 있다. 예를 들어, 전자 장치(101)는 RGB 영상 프레임을 사용하여 다양한 동작을 수행하는 것으로 위에서 설명될 수 있지만, 다른 도메인(예: 베이어(Bayer) 또는 YUV 데이터)의 이미지 데이터가 사용되거나, 처리될 수 있다. 다른 예로서, 이 특허 문헌에 기술된 기법은 정지(still) 영상 데이터, 비디오 영상 데이터 또는 다른 데이터의 원하는 처리를 수행하기 위해 임의의 다른 적합한 영상 처리 기능과 결합될 수 있다.
고-해상도 뎁스 맵을 생성하기 위한 기능은 임의의 적합한 어플리케이션에서 사용될 수 있다. 다음의 예들은 고-해상도 뎁스 맵들이 다른 기능들을 지원하기 위해 이용될 수 있는 다양한 방식들을 설명하지만, 고-해상도 뎁스 맵들은 임의의 다른 적절한 방식으로 이용될 수 있다. 일 예로서, 고-해상도 뎁스 맵이 생성되어 캡처된 영상 프레임에서 보케 효과를 생성하는데 사용될 수 있다. 여기서, 프로세서(120)는 캡처된 영상 프레임에서 상이한 픽셀에 상이한 양의 블러링을 적용할 수 있으며, 상이한 블러링의 양은 고-해상도 뎁스 맵에서 식별된 뎁스에 적어도 부분적으로 의존할 수 있다. (일반적으로 더 많은 블러링이 더 큰 뎁스에 적용되고, 더 작은 뎁스에 더 적은 블러링이 적용되거나, 블러링이 적용되지 않을 수 있다) 고-해상도 뎁스 맵을 얻는 어빌리티(ability)은 영상 프레임에 블러링 효과를 보다 정확하게 적용하여, 장면의 최종 영상에서 보다 정확한 보케를 가능하게 할 수 있다.
다른 예로서, 고-해상도 뎁스 맵이 뎁스-인식 디블러링(depth-aware deblurring)을 지원하기 위해 이용되고 생성될 수 있다. 여기서, (모션 블러가 거의 없거나 전혀없는) 다수의 짧은 노출 이미지 프레임들(multiple shorter-exposure image frames)과 (더 많은 모션 블러가 있는) 긴 노출 이미지 프레임(longer-exposure image frame)이 캡처될 수 있고, 상기 짧은 노출 이미지 프레임 중 적어도 하나를 사용하여 고-해상도 뎁스 맵이 생성될 수 있다. 뎁스 인식 모션 블러 제거(Depth-aware motion blur removal)는 고-해상도 뎁스 맵 및 긴 노출 이미지 프레임(longer-exposure image frame)을 이용하여, 예를 들어, 뎁스가 다른, 긴 노출 이미지 프레임의 서로 다른 부분들과 관련된, 공간적으로 변하는 포인트 스프레드 함수(spatailly-varing point spread functions)를 이용하여 수행될 수 있다. 고-해상도 뎁스 맵을 얻는 어빌리티는 뎁스 인식 디블러링을 보다 정확하게 적용하여 장면의 최종 영상에서 보다 정확한 디블러링을 가능하게 할 수 있다.
또 다른 예로서, 고-해상도 뎁스 맵이 생성되어 영상 리라이팅(image relighting)을 지원하는데 이용될 수 있다. 여기서, 영상 프레임에 대해 고-해상도 뎁스 맵이 생성될 수 있고, 고-해상도 뎁스 맵은 영상 프레임의 조명(lighting)이 전경 및 배경에서 어떻게 수정되는지를 제어하는데 이용될 수 있다. 고-해상도 뎁스 맵을 얻는 어빌리티는 리라이팅을 보다 정확하게 적용하는데 도움이 되므로, 장면의 최종 영상에서 전경과 배경을 보다 정확하게 리라이팅하는 것이 가능할 수 있다. 또 다른 예로서, AR / MR, 시각적(visual) SLAM, 오도 메트리(odometry) 또는 애니 모지(animoji) 관련 프로세스를 포함하는 다양한 기능은 장면에서의 뎁스에 기초할 수 있고, 정확한 고-해상도 뎁스 맵의 이용으로부터 혜택을 받을 수 있다.
도 7a, 7b 및 7c는 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼 -해상도 뎁스 맵 생성을 이용하여 얻을 수 있는 예시적인 결과를 도시한다. 도 7a에서, 장면의 고-해상도 입력 영상 프레임(700)이 캡처될 수 있다. 여기에는, 축구 그물 앞에 서있는 사람 (개인 정보 보호를 위해 얼굴이 가려진 사람)이 포함될 수 있다. 입력 영상 프레임(700)의 영역(702)이 도 7a에서 식별되고, 입력 영상 프레임(700)의 해당 영역(702)과 연관된 2 개의 뎁스 맵(704 및 706)이 도 7b 및 7c에 도시되어 있다.
도 7b에 도시된 뎁스 맵(704)은 저-해상도 뎁스 맵을 생성한 다음, 뎁스 맵을 업샘플링하는 것과 같은 표준 프로세스를 이용하여 생성될 수 있다. 도 7c에 도시된 뎁스 맵(706)은 전술된 기법들 중 하나를 이용하여 생성될 수 있다. 도 7b에서 알 수 있는 바와 같이, 사람의 머리카락과 관련된 입력 영상 프레임(700)의 영역은 미세한 디테일이 부족하고, 사람의 머리카락 뒤의 축구 그물은 다소 손실되거나 가려지는 경향이 있을 수 있다. 도 7c에서 알 수 있는 바와 같이, 사람의 머리카락과 관련된 입력 영상 프레임(700)의 영역은 훨씬 더 미세한 디테일을 포함하고, 사람의 머리카락 뒤의 축구 그물이 명확하게 정의될 수 있다. 이는 전술한 기법이 손실된 디테일을 복구하고 에러를 정정하여, 저-해상도 뎁스 맵을 단순히 업샘플링하는 것에 비하여, 보다 정확한 고-해상도 뎁스 맵을 생성하는데 이용될 수 있음을 나타낼 수 있다. 또한, 훨씬 적은 계산과 훨씬 짧은 시간을 사용하여 고-해상도 뎁스 맵을 얻을 수 있다.
도 7a, 7b 및 7c는 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 사용하여 얻을 수 있는 결과의 예를 도시하지만, 도 7a, 7b 및 7c에 대한 다양한 변경이 이루어질 수 있다. 예를 들어, 도 7a, 7b 및 7c는 단지 본 개시에서 설명된 접근법을 사용하여 얻을 수 있는 결과 유형의 일례를 예시하기 위한 것일 뿐이다. 분명히, 장면의 영상은 광범위하게 변할 수 있고, 이 특허 문헌에 기술 된 접근법을 사용하여 얻은 결과는 또한 상황에 따라 크게 변할 수 있다.
도 8은 본 개시에 따른 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 예시적인 방법(800)을 도시한다. 설명의 편의를 위해, 도 8에 도시된 방법(800)은 도 1의 네트워크 구성(100)에서 전자 장치(101)의 사용을 포함하는 것으로 설명되며, 여기서 전자 장치(101)는 상술한 기법(200, 400) 중 하나를 지원할 수 있다. 그러나, 도 8에 도시된 방법(800)은 임의의 다른 적합한 장치 및 임의의 다른 적합한 시스템과 함께 사용될 수 있다.
도 8에 도시된 바와 같이, 단계 802에서 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임이 획득될 수 있다. 이는, 예를 들어, 전자 장치(101)의 프로세서(120)가 하나 이상의 카메라 또는 다른 이미징 센서(180)로부터 입력 영상 프레임(202, 204 또는 402, 404)을 획득하는 것을 포함할 수 있다. 입력 영상 프레임(202, 204 또는 402, 404)은 다수의 카메라들 또는 다른 이미징 센서들(180)을 동시에 사용하거나 단일 카메라 또는 다른 이미징 센서(180)를 순차적으로 사용하는 것과 같은 다양한 방식으로 획득될 수 있다. 단계 804에서, 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임과 관련된 회전 및 병진 값들을 식별하기 위해, 포즈 추정이 수행될 수 있다. 이것은, 예를 들어, 회전 및 변환 값들(304, 504)을 생성하기 위해, 전자 장치(101)의 프로세서(120)가 포즈 추정 기능(302, 502)을 수행하는 것을 포함할 수 있으며, 이는 입력 영상 프레임(202, 204 또는 402, 404)에 대한 영상 평면이 어떻게 다른지를 정의할 수 있다. 단계 806에서, 제 1 입력 영상 프레임과 관련된 초기 뎁스 맵이 생성될 수 있다. 이 것은, 예를 들어, 전자 장치(101)의 프로세서(120)가 저-해상도 뎁스 맵(206, 508)을 생성하고 초기 고-해상도 해상도 맵(308, 601)을 생성하기 위해 업샘플링을 수행하는 것을 포함할 수 있다.
단계 808에서, 뎁스 맵은 제 1 입력 영상 프레임과 연관된 좌표 프레임(좌표계)로부터 제 2 입력 영상 프레임과 연관된 좌표 프레임(좌표계)로 변환될 수 있다. 이것은, 예를 들어, 전자 장치(101)의 프로세서(120)가 뎁스 맵(308, 601)으로부터 포인트 클라우드를 식별하는 것을 포함할 수 있으며, 포인트 클라우드는 뎁스 맵(308, 601)에서 다수의 포인트를 포함할 수 있다. 이것은 또한 전자 장치(101)의 프로세서(120)가 변환된 뎁스 맵(312, 612)에서 대응하는 포인트를 식별하기 위해 현재 회전 및 병진 값들(304, 504)을 식별된 포인트 클라우드에 적용하는 것을 포함 할 수 있다. 단계 810에서, 제 1 입력 영상 프레임은 제 1 입력 영상 프레임과 관련된 영상 평면으로부터 제 2 입력 영상 프레임과 관련된 영상 평면으로 투영될 수 있다. 이것은 예를 들어, 전자 장치(101)의 프로세서(120)가 변환된 뎁스 맵(312, 612)을 이용하여 제 1 입력 영상 프레임(202, 402)을 제 2 입력 영상 프레임(204, 404)과 연관된 영상 평면에 투영하여 투영된 영상 프레임(316,616)을 생성하는 것을 포함할 수 있다.
단계 812에서, 투영된 영상 프레임 및 제 2 입력 영상 프레임에 기초하여 손실 함수가 최소화되고, 단계 814에서 현재 뎁스 맵 및/또는 현재 회전 및 병진 값들에 대한 하나 이상의 업데이트가 이루어질 수 있다. 이것은, 예를 들어, 전자 장치(101)의 프로세서(120)가 (i) 제 2 입력 영상 프레임(204, 404)과 투영된 영상 프레임(316,616) 사이의 광도 손실의 측정치 (ii) 현재 뎁스 맵(308, 601)에서의 총 분산 측정치, 및 (iii) 제 1 입력 영상 프레임(202, 402)에서 식별된 에지와 현재 뎁스 맵(308, 601)에서 식별된 에지 사이의 에러 측정치의 조합에 기초한 손실 함수를 이용하는 것을 포함할 수 있다.
손실 함수의 하나의 특정 예가 상기 수학식 1에 도시되어 있지만, 다른 손실 함수가 여기서 사용될 수 있다. 이것은 또한 전자 장치(101)의 프로세서(120)가 손실 최소화의 결과에 기초하여 현재 뎁스 맵(308, 601) 및/또는 현재 회전 및 병진 값들(304, 504)을 업데이트하는 것을 포함할 수 있다.
단계 816에서, 추가 업데이트가 발생하면, 프로세스는 업데이트된 뎁스 맵 및 / 또는 업데이트된 회전 및 병진 값들에 기초하여 변환, 프로젝션, 손실 최소화 및 업데이트 단계를 반복하기 위해 단계 808로 복귀할 수 있다. 여기서 단계 816는 반복을 반복할지 여부의 능동적인 결정을 포함하거나 포함하지 않을 수 있다. 예를 들어, 능동적인 결정이 도 3에서 이루어질 수 있다. 측정된 손실이 지정된 임계 값 이하가 아니거나, 지정된 반복 횟수가 아직 완료되지 않은 경우, 다른 반복이 발생할 수 있다. 지정된 수의 DSR 레이어(514a-514e)가 이용되는 도 5와 같은, 다른 경우(in other case)에, 변환, 프로젝션, 손실 최소화 및 업데이트 단계는 하나의 DSR 레이어에서 다음으로 결과를 공급함으로써 마지막 DSR 레이어(514e)에 도달할때까지 자동으로 반복될 수 있다. 또한, 도 3에서, 생성된 뎁스 맵이 지정된 임계 값을 만족하는 경우 변환, 프로젝션, 손실 최소화 및 업데이트 단계가 한 번만 발생할 수 있다.
어느 시점에서, 변환, 투영, 손실 최소화 및 업데이트 단계가 종료되고, 단계 818에서 현재 뎁스 맵이 고-해상도 뎁스 맵으로서 출력될 수 있다. 이것은, 예를 들어, 전자 장치(101)의 프로세서(120)가 현재 뎁스 맵을 고-해상도 뎁스 맵(210, 410)으로 출력하는 것을 포함할 수 있다. 이상적으로, 고-해상도 뎁스 맵(210, 410)은 초기 뎁스 맵(308, 601)에 비해 더 정확하고, 더 디테일을 포함할 수 있다. 또한, 고-해상도 뎁스 맵(210, 410)은 상당히 적은 계산 및 상당히 짧은 시간을 사용하여 생성될 수 있다. 그러고나서, 단계 820에서, 고-해상도 뎁스 맵은 하나 이상의 영상 처리 동작을 수행하는 것과 같은, 임의의 적절한 방식으로 이용될 수 있다. 이것은 예를 들어, 전자 장치(101)의 프로세서(120)가 또는 임의의 다른 컴포넌트가 보케 이미지 생성, 뎁스 인식 디 블러링, 영상 리라이팅, AR / MR, 시각적 SLAM, odometry 또는 animoji 관련 프로세스와 같은, 하나 이상의 프로세스를 수행하기 위해 고-해상도 뎁스 맵(210, 410)을 이용하는 것을 포함할 수 있다.
도 8은 멀티-카메라 또는 다른 환경에서 슈퍼-해상도 뎁스 맵 생성을 위한 방법(800)의 일례를 도시하지만, 다양한 변경이 도 8에 이루어질 수 있다. 예를 들어, 일련의 단계로 도시되어 있지만, 도 8의 다양한 단계는 중첩되거나, 병렬로 발생하거나, 다른 순서로 발생하거나, 또는 여러 번 발생할 수 있다.
도 9는 카메라 프로젝션 모델(camera projection model)을 설명하기 위한 예시를 도시한다.
로컬 카메라 좌표계(local camera coordinates frame)(900)는 광축(optical axis)는 Z-축이고, 수평축은 X-축이고, 수직축은 Y-축이 되도록 형성될 수 있다.
카메라 좌표계(900)의 원점(origin)은 투영 중심(center of projection)(910)으로 명명될 수 있다. 투영 중심(910)은 카메라의 위치에 대응된다. 영상 평면(920)은 X-Y 평면에 평행한 표면이다. 영상 평면(920)의 중심은 요점(principal point)(925)이다.영상 평면 920과 X-Y 평면 간의 거리는 초점 거리 f(930)이다. 3차원 점(940)과 투영 중심(910) 사이의 광선을 영상 평면(920)과 교차시켜, 좌표
Figure pat00024
의 임의의 3차원 점(940)에 대하여 영상 평면(920)으로 3차원 점(940)이 투영될 수 있다.투영된 점(950)의 좌표는 요점(925)를 기준으로
Figure pat00025
이다. 수학적으로,
Figure pat00026
, 여기서
Figure pat00027
는 초점 길이와 요점 정보를 포함하는 카메라 고유 행렬(camera intrinsic matrix)이다.
도 10은 3차원 점을 제 1 카메라
Figure pat00028
로부터 제2 카메라
Figure pat00029
로 투영하는 방법을 설명하기 위한 예시를 도시한다.
카메라
Figure pat00030
(1000)의 좌표계의 3차원 점
Figure pat00031
(1010)이 주어지면, 다음 수학식에 의해
Figure pat00032
(1010)의 3차원 좌표는 카메라
Figure pat00033
(1020)의 좌표계로 이전(transfer)될 수 있다.
Figure pat00034
, (2)
여기서 R, T는 카메라
Figure pat00035
(1000)의 좌표계와 카메라
Figure pat00036
(1020)의 좌표계 간의 회전 및 병진이다.
Figure pat00037
(1010)은 다음 수학식에 의해 카메라
Figure pat00038
(1020)의 영상 평면(1030)으로 투영된다.
Figure pat00039
, (3)
여기서, K는 초점 길이와 요점 정보를 포함하는, 카메라
Figure pat00040
(1020)의 카메라 고유 행렬이다.
최종적으로, 상기 수학식은 다음 수학식으로 치환될 수 있다.
Figure pat00041
, (4)
전술한 바와 같이, 3차원 점
Figure pat00042
(1010)이 카메라
Figure pat00043
(1000)의 좌표계로부터 카메라
Figure pat00044
(1020)의 좌표계로 투영되도록 두 카메라
Figure pat00045
(1000) 및 카메라
Figure pat00046
(1020)의 상대적인 포즈(R,T)가 필요하다.
다양한 기법이 T와 R을 구하기 위해 이용될 수 있다. 예를 들어, 상대적인 포즈(R, T)가 임의의 n(n은 정수)이상의 추적되는 특징점(tracked feature point)들의 쌍들을 이용하여 복원될 수 있다. SfM(Structure from Motion)을 기초로 하는 8개의 점 알고리즘은 전술된 바 있다. 멀티-카메라(예를 들어, 2 카메라 시스템)로부터의 영상이 주어지면, n 쌍들((
Figure pat00047
)의 스파스 포인트
Figure pat00048
가 검출되고 추적될 수 있다. 그러고 나서, R 및 T가 다음 수학식을 풀어내어 계산될 수 있다.
Figure pat00049
(5)
다시 도 3을 참조하여 설명된 손실 함수(1)로 참조하면, 카메라 위치 1의 영상 평면에 대한
Figure pat00050
을 위치 2의 카메라의 영상 평면으로
Figure pat00051
로 투영하는 것에 관한 구체적인 절차가 설명된다.
Figure pat00052
은 위치 1로부터 위치 2로의 카메라 병진을 나타내고,
Figure pat00053
는 위치 1로부터 위치 2로의 카메라 회전을 나타낸다.
카메라 좌표계 내 위치 1에서 좌표
Figure pat00054
를 갖는 임의의 3차원 점 P가 주어지면, 카메라 좌표계 내 위치 2에서 좌표
Figure pat00055
가 다음 수학식에 의해 획득된다.
Figure pat00056
(6)
수학식 (6)은
Figure pat00057
Figure pat00058
에 추가(append)하여 다음 수학식으로 치환될 수 있다.
Figure pat00059
(7)
위치 1의 카메라에 의해 획득된 영상
Figure pat00060
상에 임의의 주어진 점
Figure pat00061
에 대하여, 뎁스 맵
Figure pat00062
을 참조(looked up)하고, 대응되는 3차원 좌표
Figure pat00063
이 획득되고, 그러고 나서 3차원 좌표
Figure pat00064
가 상기 수학식 (7)에 의해 획득될 수 있다. 3차원 좌표
Figure pat00065
는 다음 수학식에 의해 위치 2의 카메라의 영상 평면으로 투영된다.
Figure pat00066
(8)
즉, 요점에 대한 투영된 점
Figure pat00067
의 좌표
Figure pat00068
Figure pat00069
로 재표현된 상기 수학식(8)에 의해 획득된다. 여기서,
Figure pat00070
는 초점 길이 및 요점 정보를 포함하는 카메라 고유 행렬이다.
수학식 (7) 및 (8)을 결합하여, 다음 수학식이 획득될 수 있다.
Figure pat00071
(9)
영상
Figure pat00072
상의 모든 점들에 대하여, 전술된 동작을 적용하여, 위치 2의 카메라의 영상 평면 내 투영된 점들이 획득되고, 투영된 영상
Figure pat00073
가 투영된 점들에 의해 생성될 수 있다. 여기서, 변환된 뎁스 맵
Figure pat00074
은 투영된 점
Figure pat00075
의 3차원 좌표의 x축 좌표 값 및 y축 좌표 값인 위치 [x2, y2]에서
Figure pat00076
인(또는 에 대응하는) 뎁스 값을 가질 수 있음에 유의한다.
즉,
Figure pat00077
,
Figure pat00078
,
Figure pat00079
를 이용하여,
Figure pat00080
에 대응하는 뎁스 값을 갖는, 변환된 뎁스 맵
Figure pat00081
이 획득되고, K 및
Figure pat00082
,을 이용하여, 투영된 점
Figure pat00083
의 2차원 좌표인 위치[u2, v2]가 최종적으로 획득된다. 그리고,
Figure pat00084
상의
Figure pat00085
의 픽셀값을 이용하여
Figure pat00086
상의 픽셀 값
Figure pat00087
가 획득된다.
본 개시가 예시적인 실시예들로 설명 되었지만, 당업자에 의해, 다양한 변경 및 수정이 제안될 수 있다. 본 개시는 첨부된 청구 범위의 범주 내에 속하는 변경 및 수정을 포함하는 것으로 의도된다.

Claims (20)

  1. 적어도 하나의 프로세서를 이용하여, 각각 제 1 영상 평면 및 제 2 영상 평면과 관련된 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임을 획득하는 단계;
    상기 적어도 하나의 프로세서를 이용하여, 상기 제 1 입력 영상 프레임과 연관된 제 1 뎁스 맵을 획득하는 단계; 및
    하기의 단계 (a) 및 (b)를 한 번 이상 수행하여 제 2 뎁스 맵을 생성하는 단계를 포함하는 방법:
    (a) (i) 뎁스 맵 및 (ii) 상기 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보를 이용하여, 투영된 영상 프레임을 생성하기 위해, 상기 적어도 하나의 프로세서를 이용하여, 상기 제 1 입력 영상 프레임을 상기 제 2 영상 평면에 투영하는 단계; 및
    (b) 상기 적어도 하나의 프로세서를 이용하여, 상기 뎁스 맵 및 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정하는 단계.
  2. 제 1 항에 있어서, 상기 제 1 입력 영상 프레임을 상기 제 2 영상 평면으로 투영하는 단계는,
    변환된 뎁스 맵을 생성하기 위해 상기 정보를 이용하여 상기 뎁스 맵을 상기 제 1 영상 평면과 관련된 좌표계로부터 상기 제 2 영상 평면과 관련된 좌표계로 변환하는 단계; 및
    변환된 뎁스 맵을 이용하여 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 단계를 포함하는 방법.
  3. 제 1 항에 있어서, 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하는 단계는,
    상기 투영된 영상 프레임 및 상기 제 2 입력 영상 프레임과 관련된 손실 함수를 최소화하는 단계; 및
    손실 함수의 최소화에 기초하여 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하는 단계를 포함하는 방법.
  4. 제 3 항에 있어서,
    상기 제 1 영상 평면으로부터 상기 제 2 영상 평면으로의 변환을 식별하는 정보는 회전 및 병진 값들을 포함하고,
    상기 손실 함수는 (i) 제 2 입력 영상 프레임과 투영된 영상 프레임 사이의 광도 손실 측정치 (ii) 뎁스 맵에서의 총 분산 측정치 및 (iii) 제 1 입력 영상 프레임에서 식별된 에지와 뎁스 맵에서 식별된 에지 사이의 에러 측정치의 조합에 기초하는 방법.
  5. 제 1 항에 있어서,
    상기 제 1 입력 영상 프레임과 연관된 제 1 뎁스 맵을 생성하는 단계를 더 포함하고, 상기 제 1 뎁스 맵은 저-해상도 뎁스 맵을 업샘플링함으로써 생성된 고-해상도 뎁스 맵을 포함하는 방법.
  6. 제 5 항에 있어서, 상기 제 1 뎁스 맵을 생성하는 단계는,
    저-해상도 뎁스 맵을 생성하기 위해 복수의 제 1 컨벌루션 레이어들을 입력 영상 프레임들 중 적어도 하나에 적용하는 단계; 및
    상기 고-해상도 뎁스 맵을 생성하기 위해 업샘플링 레이어를 저-해상도 뎁스 맵에 적용하는 단계를 포함하는 방법.
  7. 제 6 항에 있어서, 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하는 단계는,
    복수의 제 2 컨볼루션 레이어를 고-해상도 뎁스 맵에 적용하는 단계를 포함하고,
    복수의 제 2 컨볼루션 레이어는 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하고, 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하고,
    상기 복수의 제 2 컨볼루션 레이어들의 마지막은 상기 제 2 뎁스 맵을 출력하는 방법.
  8. 각각 제 1 및 제 2 영상 평면과 연관된 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임을 저장하도록 구성된 적어도 하나의 메모리; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 제 1 입력 영상 프레임과 연관된 제 1 뎁스 맵을 획득하고; 및
    하기 (a) 및 (b) 동작을 한 번 이상 수행하여 제 2 뎁스 맵을 생성하도록 구성된 장치:
    (a) (i) 뎁스 맵 및 (ii) 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보를 이용하여 투영된 영상 프레임을 생성하기 위해, 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 동작; 및
    (b) 상기 뎁스 맵 및 상기 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정하는 동작.
  9. 제 8 항에 있어서, 상기 제 1 입력 영상 프레임을 상기 제 2 영상 평면으로 투영하기 위해, 상기 적어도 하나의 프로세서는:
    변환된 뎁스 맵을 생성하기 위해 상기 정보를 이용하여 상기 뎁스 맵을 상기 제 1 영상 평면과 관련된 좌표계로부터 상기 제 2 영상 평면과 관련된 좌표계로 변환하고; 및
    변환된 뎁스 맵을 이용하여 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하도록 구성되는 장치.
  10. 제 8 항에 있어서, 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하기 위해, 상기 적어도 하나의 프로세서는:
    투영된 영상 프레임 및 제 2 입력 영상 프레임과 관련된 손실 함수를 최소화하고; 및
    상기 손실 함수의 최소화에 기초하여 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하도록 구성된 장치.
  11. 제 10 항에 있어서,
    제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보는 회전 및 병진 값들을 포함하고,
    상기 손실 함수는 (i) 제 2 입력 영상 프레임과 투영된 영상 프레임 사이의 광도 손실 측정치 (ii) 뎁스 맵에서의 총 분산 측정치 및 (iii) 제 1 입력 영상 프레임에서 식별된 에지와 뎁스 맵에서 식별된 에지 사이의 에러 측정치의 조합에 기초하는 장치.
  12. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는 제 1 입력 영상 프레임과 연관된 제 1 뎁스 맵을 생성하고; 및
    상기 제 1 뎁스 맵을 생성하기 위해, 상기 적어도 하나의 프로세서는 저-해상도 뎁스 맵을 업샘플링하고 상기 제 1 뎁스 맵에 포함된 고-해상도 뎁스 맵을 생성하도록 더 구성된 장치.
  13. 제 12 항에 있어서, 상기 제 1 뎁스 맵을 생성하기 위해, 상기 적어도 하나의 프로세서는:
    저-해상도 뎁스 맵을 생성하기 위해, 복수의 제 1 컨볼루션 레이어들을 입력 영상 프레임들 중 적어도 하나에 적용하고; 및
    고-해상도 뎁스 맵을 생성하기 위해 업샘플링 레이어를 저-해상도 뎁스 맵에 적용하도록 구성된 장치.
  14. 제 13 항에 있어서,
    상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하기 위해, 적어도 하나의 프로세서는 복수의 제 2 컨볼루션 레이어들을 고-해상도 뎁스 맵에 적용하도록 구성되고;
    상기 복수의 제 2 컨볼루션 레이어는 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하고 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하도록 구성되고; 및
    상기 복수의 제 2 컨볼루션 레이어들의 마지막은 상기 제 2 뎁스 맵을 출력하도록 구성되는 장치.
  15. 실행될 때 적어도 하나의 프로세서로 다음 동작을 수행하게 하는 인스트럭션을 포함하는 비 일시적 컴퓨터 판독 가능 매체:
    각각 제 1 영상 평면 및 제 2 영상 평면과 관련된 제 1 입력 영상 프레임 및 제 2 입력 영상 프레임을 획득하는 동작;
    상기 제 1 입력 영상 프레임과 연관된 제 1 뎁스 맵을 획득하는 동작; 및
    하기의 동작 (a) 및 (b)를 한 번 이상 수행하여 다른 버전의 뎁스 맵을 생성하는 동작:
    (a) (i) 뎁스 맵 및 (ii) 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보를 이용하여 투영된 영상 프레임을 생성하기 위해, 제 1 입력 이미지 프레임을 제 2 이미지 평면에 투영하는 동작; 및
    상기 뎁스 맵 및 제 1 영상 평면으로부터 제 2 영상 평면으로의 변환을 식별하는 정보 중 적어도 하나를 조정하는 동작.
  16. 제 15 항에 있어서, 상기 인스트럭션이 실행될 때 상기 적어도 하나의 프로세서가 상기 제 1 입력 영상 프레임을 상기 제 2 영상 평면으로 투영하게 하는 인스트럭션은:
    실행될 때 적어도 하나의 프로세서가 다음 동작 (a) 및 (b)를 수행하도록 하는 인스트럭션을 포함하는 기록매체:
    (a) 변환된 뎁스 맵을 생성하기 위해 상기 정보를 이용하여 상기 뎁스 맵을 상기 제 1 영상 평면과 관련된 좌표계로부터 상기 제 2 영상 평면과 관련된 좌표계로 변환하는 동작; 및
    (b) 상기 변환된 뎁스 맵을 이용하여 제 1 입력 영상 프레임을 제 2 영상 평면에 투영하는 동작.
  17. 제 15 항에 있어서, 실행될 때 상기 적어도 하나의 프로세서로 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하게 하는 인스트럭션은:
    실행될 때 상기 적어도 하나의 프로세서가 다음 동작을 수행하도록 하는 인스트럭션:
    투영된 영상 프레임 및 제 2 입력 영상 프레임과 관련된 손실 함수를 최소화하는 동작; 및
    상기 손실 함수의 최소화에 기초하여 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하는 동작;을 포함하도록 구성된 기록매체.
  18. 제 15 항에 있어서, 실행될 때 상기 적어도 하나의 프로세서가 다음 동작을 수행하게 하는 인스트럭션을 더 포함하는 비 일시적 컴퓨터 판독 가능 매체:
    저-해상도 뎁스 맵을 업샘플링하여 고-해상도 뎁스 맵을 생성함으로써 제 1 입력 영상 프레임과 연관된 뎁스 맵을 생성하는 동작.
  19. 제 18 항에 있어서, 실행될 때 상기 적어도 하나의 프로세서로 뎁스 맵을 생성하게 하는 인스트럭션은:
    실행될 때 적어도 하나의 프로세서가 다음 동작을 수행하도록 하는 인스트럭션:
    저-해상도 뎁스 맵을 생성하기 위해, 복수의 제 1 컨볼루션 레이어들을 입력 영상 프레임들 중 적어도 하나에 적용하는 동작; 및
    고-해상도 뎁스 맵을 생성하기 위해 업샘플링 레이어를 저-해상도 뎁스 맵에 적용하는 동작; 을 포함하도록 구성된 기록매체.
  20. 제 19 항에 있어서,
    실행될 때, 적어도 하나의 프로세서로 상기 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하게 하는 인스트럭션은:
    실행될 때, 적어도 하나의 프로세서가 복수의 제 2 컨볼루션 레이어를 고해상도 뎁스 맵에 적용하게 하는 인스트럭션을 포함하고,
    상기 복수의 제 2 컨볼루션 레이어는 제 1 입력 이미지 프레임을 제 2 이미지 평면에 투영하고 뎁스 맵 및 상기 정보 중 적어도 하나를 조정하도록 구성되고,
    상기 복수의 제 2 컨볼루션 레이어들의 마지막은 뎁스 맵을 출력하도록 구성되는 기록매체.
KR1020210030357A 2020-03-06 2021-03-08 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성 KR20210113100A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/811,585 2020-03-06
US16/811,585 US11503266B2 (en) 2020-03-06 2020-03-06 Super-resolution depth map generation for multi-camera or other environments

Publications (1)

Publication Number Publication Date
KR20210113100A true KR20210113100A (ko) 2021-09-15

Family

ID=77554913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210030357A KR20210113100A (ko) 2020-03-06 2021-03-08 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성

Country Status (4)

Country Link
US (1) US11503266B2 (ko)
KR (1) KR20210113100A (ko)
CN (1) CN113436066A (ko)
WO (1) WO2021177784A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11727540B2 (en) * 2020-12-31 2023-08-15 Samsung Electronics Co., Ltd. Image sharpening
US11449968B2 (en) * 2020-12-31 2022-09-20 Samsung Electronics Co., Ltd. System and method for synthetic depth-of-field effect rendering for videos
US20230328216A1 (en) * 2022-04-06 2023-10-12 Samsung Electronics Co., Ltd. Encoding Depth Information for Images
CN117830392A (zh) * 2024-03-05 2024-04-05 季华实验室 一种环境物体识别方法和成像系统

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446635B1 (ko) * 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
US7221366B2 (en) * 2004-08-03 2007-05-22 Microsoft Corporation Real-time rendering system and process for interactive viewpoint video
DE102006055641B4 (de) * 2006-11-22 2013-01-31 Visumotion Gmbh Anordnung und Verfahren zur Aufnahme und Wiedergabe von Bildern einer Szene und/oder eines Objektes
US8330801B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Complexity-adaptive 2D-to-3D video sequence conversion
JP5425897B2 (ja) * 2008-05-28 2014-02-26 トムソン ライセンシング 前方及び後方の深度予測を伴う、画像の深度抽出のシステム及び方法
US8773427B2 (en) * 2010-12-22 2014-07-08 Sony Corporation Method and apparatus for multiview image generation using depth map information
KR101662918B1 (ko) * 2011-11-11 2016-10-05 지이 비디오 컴프레션, 엘엘씨 깊이-맵 추정 및 업데이트를 사용한 효율적인 멀티-뷰 코딩
EP2781091B1 (en) * 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
WO2014027229A1 (en) * 2012-08-15 2014-02-20 Ludovic Angot Method and apparatus for converting 2d images to 3d images
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
US20140204088A1 (en) * 2013-01-18 2014-07-24 Microsoft Corporation Surface codec using reprojection onto depth maps
WO2014145856A1 (en) 2013-03-15 2014-09-18 Pelican Imaging Corporation Systems and methods for stereo imaging with camera arrays
US20140307055A1 (en) * 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
CN103810685B (zh) 2014-02-25 2016-05-25 清华大学深圳研究生院 一种深度图的超分辨率处理方法
GB2532003A (en) 2014-10-31 2016-05-11 Nokia Technologies Oy Method for alignment of low-quality noisy depth map to the high-resolution colour image
CN106296721B (zh) * 2015-05-14 2019-01-25 株式会社理光 基于立体视觉的对象聚集检测方法和装置
US10341633B2 (en) 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US10469821B2 (en) * 2016-06-17 2019-11-05 Altek Semiconductor Corp. Stereo image generating method and electronic apparatus utilizing the method
US10466714B2 (en) * 2016-09-01 2019-11-05 Ford Global Technologies, Llc Depth map estimation with stereo images
US10178370B2 (en) 2016-12-19 2019-01-08 Sony Corporation Using multiple cameras to stitch a consolidated 3D depth map
US10325414B2 (en) * 2017-05-08 2019-06-18 Microsoft Technology Licensing, Llc Application of edge effects to 3D virtual objects
US10671082B2 (en) * 2017-07-03 2020-06-02 Baidu Usa Llc High resolution 3D point clouds generation based on CNN and CRF models
US10545215B2 (en) * 2017-09-13 2020-01-28 Google Llc 4D camera tracking and optical stabilization
EP3704508B1 (en) * 2017-11-03 2023-07-12 Google LLC Aperture supervision for single-view depth prediction
US10516876B2 (en) * 2017-12-19 2019-12-24 Intel Corporation Dynamic vision sensor and projector for depth imaging
CN111869205B (zh) * 2018-01-19 2022-06-10 Pcms控股公司 具有变化位置的多焦平面
KR102595787B1 (ko) 2018-02-27 2023-11-24 삼성전자주식회사 전자 장치 및 그 제어 방법
CN108632597B (zh) * 2018-05-06 2020-01-10 Oppo广东移动通信有限公司 三维视频通信方法及系统、电子装置和可读存储介质
CN111246197B (zh) * 2018-05-06 2022-03-22 Oppo广东移动通信有限公司 三维视频通信方法及系统、电子装置、服务器和可读存储介质
CN112534475B (zh) 2018-05-17 2023-01-10 奈安蒂克公司 深度估计系统的自我监督训练
US10970856B2 (en) * 2018-12-27 2021-04-06 Baidu Usa Llc Joint learning of geometry and motion with three-dimensional holistic understanding
US10769848B1 (en) * 2019-05-24 2020-09-08 Adobe, Inc. 3D object reconstruction using photometric mesh representation
US10991160B1 (en) * 2019-06-25 2021-04-27 A9.Com, Inc. Depth hull for rendering three-dimensional models

Also Published As

Publication number Publication date
CN113436066A (zh) 2021-09-24
US11503266B2 (en) 2022-11-15
US20210281813A1 (en) 2021-09-09
WO2021177784A1 (en) 2021-09-10

Similar Documents

Publication Publication Date Title
US11128809B2 (en) System and method for compositing high dynamic range images
US10944914B1 (en) System and method for generating multi-exposure frames from single input
KR20210113100A (ko) 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성
US20230022753A1 (en) System and method for motion warping using multi-exposure frames
US10911691B1 (en) System and method for dynamic selection of reference image frame
US11430094B2 (en) Guided multi-exposure image fusion
US11195259B2 (en) Apparatus and method for dynamic multi-camera rectification using depth camera
US11449968B2 (en) System and method for synthetic depth-of-field effect rendering for videos
US11532091B2 (en) Guided backpropagation-gradient updating for image processing task using redundant information from image
KR20210063223A (ko) 멀티태스크 융합 신경망 아키텍처
KR20210067864A (ko) 적응적 포커스 범위 및 계층화 스캐터링을 이용한 보케 이미지들의 생성
US11823353B2 (en) System and method for generating bokeh image for DSLR quality depth-of-field rendering and refinement and training method for the same
US11200653B2 (en) Local histogram matching with global regularization and motion exclusion for multi-exposure image fusion
US20240046583A1 (en) Real-time photorealistic view rendering on augmented reality (ar) device
US11816855B2 (en) Array-based depth estimation
KR20210059612A (ko) 심층 신경망 특징 매칭을 위한 비대칭 정규화 상관 계층
US20230252770A1 (en) Machine learning model training framework for multi-frame image processing
US20240185431A1 (en) System and method for ai segmentation-based registration for multi-frame processing
US20230252608A1 (en) Hand motion pattern modeling and motion blur synthesizing techniques
US11847771B2 (en) Systems and methods for quantitative evaluation of optical map quality and for data augmentation automation
US20220303495A1 (en) Pixel blending for synthesizing video frames with occlusion and watermark handling
US20240121370A1 (en) System and method for parallax correction for video see-through augmented reality
US20230021726A1 (en) System and method for multi-exposure, multi-frame blending of red-green-blue-white (rgbw) images
US20240062342A1 (en) Machine learning-based approaches for synthetic training data generation and image sharpening
CN114830176A (zh) 用于深度神经网络特征匹配的非对称归一化相关层

Legal Events

Date Code Title Description
A201 Request for examination