KR20210069006A - 단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법 - Google Patents

단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210069006A
KR20210069006A KR1020200166299A KR20200166299A KR20210069006A KR 20210069006 A KR20210069006 A KR 20210069006A KR 1020200166299 A KR1020200166299 A KR 1020200166299A KR 20200166299 A KR20200166299 A KR 20200166299A KR 20210069006 A KR20210069006 A KR 20210069006A
Authority
KR
South Korea
Prior art keywords
image
image frame
image frames
scene
frames
Prior art date
Application number
KR1020200166299A
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 삼성전자주식회사
Priority to PCT/KR2020/017445 priority Critical patent/WO2021112550A1/en
Publication of KR20210069006A publication Critical patent/KR20210069006A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/743Bracketing, i.e. taking a series of images with varying exposure conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06T5/007
    • 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/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/741Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • H04N25/53Control of the integration time
    • H04N25/533Control of the integration time by using differing integration times for different sensor regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • H04N25/57Control of the dynamic range
    • H04N25/58Control of the dynamic range involving two or more exposures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/62Detection or reduction of noise due to excess charges produced by the exposure, e.g. smear, blooming, ghost image, crosstalk or leakage between pixels
    • H04N5/23229
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10144Varying exposure
    • 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/20084Artificial neural networks [ANN]
    • 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/20172Image enhancement details
    • G06T2207/20201Motion blur correction
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • H04N25/57Control of the dynamic range

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

방법은 적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득하는 과정을 포함한다. 방법은 상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용하는 과정을 포함한다. 상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬된다. 방법은 상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성하는 과정을 포함한다.

Description

단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법 {SYSTEM AND METHOD FOR GENERATING MULTI-EXPOSURE FRAMES FROM SINGLE INPUT}
본 개시는 이미지 캡처 시스템에 관한 것으로, 특히 단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법에 관한 것이다.
스마트폰 및 태블릿 컴퓨터와 같은 많은 모바일 전자 장치는 스틸 및 비디오 이미지를 캡처하는 데 이용될 수 있는 카메라들을 포함한다. 편리하지만, 모바일 전자 장치의 카메라들은 일반적으로 많은 단점이 있다. 예를 들어, 모바일 전자 장치의 카메라들은 자연 장면(scene)의 이미지들을 캡처할 때와 같이 노출 부족(under-exposed) 또는 노출 과다(over-exposed) 영역들이 있는 이미지들을 캡처하는 경우가 많다. 이는 일반적으로 카메라들의 이미지 센서들이 다이나믹 레인지(dynamic range)를 제한하기 때문이다. 한 장면의 다중 이미지 프레임(multiple image frames)들을 캡처한 다음 이미지 프레임들의 "가장 좋은(best)"부분들을 결합하여 블렌딩된 이미지(blended image)를 생성할 수 있다. 그러나 다른 노출들(different exposures)이 이미지 프레임들의 세트로부터 블렌딩된 이미지를 생성하는 것은 특히 다이나믹 장면들의 경우 어려운 프로세스다. 또 다른 예로, 모바일 전자 장치의 카메라들은 일반적으로 저조도(low-light) 상황에서 성능이 저하된다. 노출 시간을 늘려 이미지 센서에서 수집되는 빛의 양을 늘릴 수 있지만, 이는 물체 및 카메라 모션으로 인해 블러 이미지들(blurred images)이 생성될 위험도 증가시킨다.
본 개시는 단일 입력으로부터 다중 노출 프레임들을 생성하고, 이를 이용하여 MBR(motion blur reduction) 디고스팅(deghosting)을 통해 시각적으로 더 나은 이미지 프레임을 생성하기 위한 시스템 및 방법을 제공하기 위한 것이다.
본 개시는 단일 입력으로부터 다중 노출 프레임들을 생성하고, 이를 이용하여 MBR 블렌딩(blending)을 통해 시각적으로 더 나은 이미지 프레임을 생성하기 위한 시스템 및 방법을 제공하기 위한 것이다.
본 개시는 단일 입력으로부터 다중 노출 프레임들을 생성하고, 이를 이용하여 HDR(high dynamic range) 블렌딩을 통해 시각적으로 더 나은 이미지 프레임을 생성하기 위한 시스템 및 방법을 제공하기 위한 것이다.
본 개시의 제1 실시 예에 따르면, 방법은 적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득하는 과정을 포함한다. 방법은 상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용하는 과정을 포함한다. 상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬된다. 방법은 상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성하는 과정을 포함한다.
본 개시의 제2 실시 예에 따르면, 전자 장치는 적어도 하나의 이미지 센서 및 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는 상기 적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득한다. 상기 적어도 하나의 프로세서는 상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용한다. 상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬된다. 상기 적어도 하나의 프로세서는 상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성한다.
본 개시의 제3 실시 예에 따르면, 실행될 때 전자 장치의 적어도 하나의 프로세서가 다음을 수행하도록 하는 명령을 포함하는 비일시적 저장매체는 적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득하는 과정을 포함한다. 실행될 때 전자 장치의 적어도 하나의 프로세서가 다음을 수행하도록 하는 명령을 포함하는 비일시적 저장매체는 상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용한다. 상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬된다. 실행될 때 전자 장치의 적어도 하나의 프로세서가 다음을 수행하도록 하는 명령을 포함하는 비일시적 저장매체는 상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성한다.
다른 기술적 특징은 다음의 도면, 설명 및 청구 범위로부터 당업자에게 쉽게 명백할 수 있다.
단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법에 의해, 시각적으로 더 나은 이미지 프레임을 제공할 수 있다.
본 개시 내용 및 그 이점에 대한 보다 완전한 이해를 위해, 첨부된 도면과 관련된 다음 설명이 참조되며, 여기서 유사한 참조 번호는 유사한 부분을 나타낸다.
도 1은 본 개시에 따른 전자 장치를 포함하는 예시적인 네트워크 구성(network configuration)을 도시한다.
도 2는 본 개시에 따른 단일-입력 다중-노출(single-input multi-exposure, SIME) 네트워크를 이용하여 다중 이미지 프레임들(multiple image frames)을 생성하기 위한 예시적인 프로세스를 도시한다.
도 3은 본 개시에 따른 도 2의 SIME 네트워크의 추가적인 세부 사항을 도시한다.
도 4a 및 4b는 본 개시에 따른 도 3의 SIME 네트워크의 실행을 위한 예시적인 옵션들을 도시한다.
도 5는 본 개시에 따른 SIME 네트워크를 트레이닝하기 위한 예시적인 프로세스를 도시한다.
도 6은 본 개시에 따른 고스트-프리(ghost-free) HDR(high dynamic range) 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임을 이용하기 위한 예시적인 프로세스를 도시한다.
도 7a 내지 7d는 본 개시에 따른 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임들을 이용하기 위한 다른 예시적인 프로세스를 도시한다.
도 8은 본 개시에 따른 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임들을 이용하기 위한 또 다른 예시적인 프로세스를 도시한다.
도 9는 본 개시에 따른 SIME 네트워크를 이용하여 이미지 도메인을 변경하기 위한 예시적인 프로세스를 도시한다.
도 10은 본 개시에 따른 SIME 네트워크를 이용하여 이미지 도메인을 변경하기 위한 다른 예시적인 프로세스를 도시한다.
도 11a, 11b, 12a 및 12b는 본 개시의 실시 예들 중 하나 이상을 이용하여 실현될 수 있는 이점의 예를 도시한다.
도 13은 본 개시에 따른 SIME 네트워크를 이용하여 다중 노출 프레임들을 생성하기 위한 예시적인 방법을 도시한다.
이하 첨부된 도 1 내지 도 13들을 참조하여 본 개시의 다양한 실시 예들을 설명한다. 그러나, 본 개시는 이러한 실시 예들에 제한되지 않고, 모든 변경 및/또는 그에 대한 등가물 또는 대체물도 본 개시의 범위에 속할 수 있다. 명세서 및 도면 전체에 걸쳐 동일하거나 유사한 요소들을 지칭하기 위해 동일하거나 유사한 참조 표시들이 이용될 수 있다.
위에서 언급된 바와 같이, 스마트폰 및 태블릿 컴퓨터와 같은 많은 모바일 전자 장치에는 스틸 및 비디오 이미지를 캡처하는 데 이용할 수 있는 카메라들이 포함되어 있지만 이러한 카메라들에는 여러 가지 단점이 있다. 예를 들어, 이러한 카메라들은 자연 장면(scene)의 이미지들을 캡처할 때와 같이 노출 부족(under-exposed) 또는 노출 과다(over-exposed) 영역들이 있는 이미지들을 캡처하는 경우가 많다. 또 다른 예로, 이러한 카메라들은 일반적으로 저조도(low-light) 상황에서 성능이 좋지 않으며 노출 시간을 늘리면 모션 블러(motion blur)의 위험도 증가한다.
많은 이미징 애플리케이션에서는 서로 다른 노출 레벨에서 캡처된 다중 이미지 프레임들을 이용해야 한다. 여기에서 이미징 애플리케이션 유형의 예에는 HDR(High Dynamic Range), 재조명(relightning) 등을 지원하는 애플리케이션이 포함될 수 있다. 전통적으로 서로 다른 노출 레벨에서 캡처된 다중 이미지 프레임들은 순차적으로 캡처되므로 서로 다른 시간에 캡처된다. 결과적으로 장면에서 하나 이상의 객체들은 객체의 모션이나 카메라의 모션으로 인해 이미지 프레임들 간에 이동할 수 있다. 이는 특히 이미지 프레임들 간의 완벽한(또는 거의 완벽한) 정렬이 선호되거나 요구되는 경우 이미징 애플리케이션에서 어려움을 초래할 수 있다.
많은 이미징 응용 프로그램에서는 다양한 노출 레벨에서 캡처된 여러 이미지 프레임을 이용해야 한다.
많은 다중 프레임 애플리케이션에서, 이미지 프레임들 간의 정렬이 잘못되면 다중 프레임 처리에 심각한 문제가 발생하고 블렌딩 고스트(blending ghosts), 감소된 블렌딩(reduced blending), 패치 노이즈(patchy noises) 등과 같은 다양한 유형의 이미지 아티팩트(image artifacts)가 생성될 수 있다. 특정 예로서, 블렌딩된 이미지는 모션이 발생하는 영역에서 하나 이상의 블러된 부분을 포함할 수 있다. 고스팅(ghosting)과 같은 일부 아티팩트는 주변 영역을 과도하게 밝게하여, 다소 숨길 수 있지만, 과도한 밝기로 인해 배경 물체의 세부 사항을 숨기고 이미지의 전체적인 선명도를 떨어뜨리는 경우와 같이 바람직하지 않을 수 있다.
본 개시는 단일 입력으로부터 다중 노출 이미지 프레임을 생성하기 위한 다양한 기술을 제공한다. 아래에서 더 상세히 설명되는 바와 같이, 본 개시의 실시 예는 단일 캡처된 이미지 프레임에 기반하여 상이한 노출 레벨에서 다중 이미지 프레임을 생성하는 뉴럴 네트워크-기반(neural network-based)의 구조를 제공한다. 개시된 뉴럴 네트워크-기반 구조(이하 단일 입력 다중 노출(single-input multi-exposure) 또는 "SIME"네트워크라고도 함)는 단일 입력 이미지 프레임을 기반으로 다중 노출 이미지 프레임들을 효율적으로 생성할 수 있다. 생성된 다중 노출 이미지 프레임들은 Bayer("로우 포맷, raw format") 도메인 및 YUV("비주얼 포맷, visual format") 도메인과 같은 다중 이미지 도메인들에 정렬된다. 다중 노출 이미지 프레임들은 블렌딩되거나 그렇지 않으면 처리되어 노출 부족/노출 과다 영역이 적거나 전혀 없고 모션 블러가 거의 또는 전혀 없는 것과 같은 개선된 이미지 품질을 가진 장면의 하나 이상의 이미지를 생성할 수 있다. 이러한 기술은 캡처된 이미지 프레임에 이득 및 노이즈 필터링을 적용하는 것과 같은 기존 이미지 신호 프로세서 기반(image signal processor-based) 접근 방식에 비해 시각적으로 더 나은 이미지 프레임을 제공한다.
본 개시는 단일 입력으로부터 다중 노출 이미지 프레임을 생성하기 위한 다양한 기술을 제공한다. 아래에서 더 상세히 설명되는 바와 같이, 본 개시의 실시 예는 단일의 캡처된 이미지 프레임에 기초하여 상이한 노출 레벨에서 복수의 이미지 프레임을 생성하는 뉴럴 네트워크 기반 아키텍처를 제공한다. 개시된 뉴럴 네트워크 기반 아키텍처(이하, 단일 입력 다중 노출 또는 "SIME"네트워크라고도 함)는 단일 입력 이미지 프레임에 기초하여 다중 노출 이미지 프레임을 효율적으로 생성할 수 있다. 생성된 다중 노출 이미지 프레임은 Bayer("raw format") 도메인 및 YUV("visual format") 도메인과 같은 여러 이미지 도메인에 정렬된다. 다중 노출 이미지 프레임은 블렌딩되거나 달리 처리되어 노출 부족/과다 노출 영역이 적거나 혹은 없거나, 모션 블러가 거의 또는 전혀없는 것과 같은 개선된 이미지 품질을 갖는 장면의 하나 이상의 이미지를 생성할 수 있다. 이들 기술은 캡처된 이미지 프레임에 이득 및 노이즈 필터링을 적용하는 것과 같은 종래의 이미지 신호 프로세서 기반 접근법에 비해 시각적으로 더 나은 이미지 프레임을 제공한다.
아래에 설명된 기술은 종종 모바일 전자 장치를 이용하여 수행되는 것으로 설명되지만, 다른 전자 장치도 이러한 기술을 수행하거나 지원하는 데 이용될 수 있다. 따라서 이러한 기술은 다양한 유형의 전자 장치에 이용될 수 있다. 또한 아래에 설명된 기술은 장면의 정지 이미지를 캡처할 때 이미지 프레임을 처리하는 것으로 종종 설명되지만, 동일하거나 유사한 접근 방식을 이용하여 비디오 이미지 캡처를 지원할 수 있다.
도 1은 본 개시에 따른 전자 장치를 포함하는 예시적인 네트워크 구성(network configuration)을 도시한다. 도 1에 도시된 네트워크 구성(100)의 실시 예는 단지 설명을 위한 것이다. 네트워크 구성(100)의 다른 실시 예는 본 개시의 범위를 벗어나지 않고 이용될 수 있다.
본 개시의 실시 예들에 따르면, 전자 장치(101)는 네트워크 구성(100)에 포함된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입력/출력 인터페이스(150), 디스플레이(160), 통신 인터페이스(170) 또는 센서(180) 중 적어도 하나를 포함할 수 있다. 일부 실시 예에서, 전자 장치(101)는 이들 구성 요소 중 적어도 하나를 제외하거나 적어도 하나의 다른 구성 요소를 추가할 수 있다. 버스(110)는 컴포넌트들(120-180)을 서로 연결하고 컴포넌트들 사이의 통신(제어 메시지 및/또는 데이터와 같은)을 전송하기 위한 회로를 포함한다.
프로세서(120)는 중앙 처리 장치(central processing unit, CPU), 애플리케이션 프로세서(application processor, AP) 또는 통신 프로세서(communication processor, CP) 중 하나 이상을 포함한다. 프로세서(120)는 전자 장치(101)의 다른 구성 요소 중 적어도 하나에 대한 제어 및/또는 통신과 관련된 동작 또는 데이터 처리를 수행할 수 있다. 일부 실시 예에서, 프로세서(120)는 그래픽 프로세서 유닛(graphics processor unit, GPU)일 수 있다. 예를 들어, 프로세서(120)는 캡처 이벤트 동안 적어도 하나의 카메라에 의해 캡처된 이미지 데이터를 수신할 수 있다. 무엇보다도, 프로세서(120)는 다중 정렬된 이미지 프레임을 생성하기 위해 컨볼루션 뉴럴 네트워크(convolution neural network)를 이용하여 이미지 데이터를 처리(아래에서 더 상세히 논의되는 바와 같이)할 수 있다.
메모리(130)는 휘발성(volatile) 및/또는 비휘발성(non-volatile) 메모리를 포함할 수 있다. 예를 들어, 메모리(130)는 전자 장치(101)의 적어도 하나의 다른 구성 요소와 관련된 명령 또는 데이터를 저장할 수 있다. 본 개시의 실시 예들에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들어, 커널(kernel, 141), 미들웨어(middleware, 143), API(application programming interface, 145) 및/또는 애플리케이션 프로그램(또는 "애플리케이션", 147)을 포함한다. 커널(141), 미들웨어(143) 또는 API(145)의 적어도 일부는 OS(operating system)로 표시될 수 있다.
커널(141)은 다른 프로그램(예: 미들웨어(143), API(145) 또는 애플리케이션 프로그램(147))에서 구현되는 동작 또는 기능을 수행하는 데 이용되는 시스템 리소스(예: 버스(110), 프로세서(120) 또는 메모리(130))를 제어하거나 관리할 수 있다. 커널(141)은 미들웨어(143), API(145) 또는 애플리케이션(147)이 전자 장치(101)의 개별 구성 요소에 접근하여 시스템 자원을 제어 또는 관리할 수 있는 인터페이스를 제공한다. 애플리케이션(147)은 아래에서 논의되는 바와 같이 이미지 캡처 및 이미지 처리를 위한 하나 이상의 애플리케이션을 포함한다. 이러한 기능은 단일 응용 프로그램 또는 각각 이러한 기능 중 하나 이상을 수행하는 여러 응용 프로그램에서 수행할 수 있다. 미들웨어(143)는 예를 들어 API(145) 또는 애플리케이션(147)이 커널(141)과 데이터를 통신할 수 있도록 릴레이 역할을 할 수 있다. 복수의 애플리케이션(147)이 제공될 수 있다. 미들웨어(143)는 전자 장치(101, 예: 버스(110), 프로세서(120) 또는 메모리(130))의 시스템 자원 이용 우선 순위를 복수의 애플리케이션(147) 중 적어도 하나에 할당하는 등, 애플리케이션(147)으로부터 수신된 작업 요청을 제어할 수 있다. API(145)는 애플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어할 수 있는 인터페이스이다. 예를 들어, API(145)는 파일링 제어, 윈도우 제어, 이미지 처리 또는 텍스트 제어를 위한 적어도 하나의 인터페이스 또는 기능(예: 명령)을 포함한다.
입력/출력 인터페이스(150)는 이용이자 또는 다른 외부 장치로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성 요소(들)로 전달할 수 있는 인터페이스 역할을 한다. 입력/출력 인터페이스(150)는 또한 전자 장치(101)의 다른 구성 요소(들)로부터 수신된 명령 또는 데이터를 이용이자 또는 다른 외부 장치로 출력할 수 있다.
디스플레이(160)는, 예를 들어, 액정 디스플레이(liquid crystal display, LCD), 유기 발광 다이오드 디스플레이(organic light emitting diode, OLED), 양자-점 발광 다이오드(quantum-dot light emitting diode, QLED) 디스플레이, 미세전자기계시스템(microelectromechanical systems, MEMS) 디스플레이 또는 전자 종이(electronic paper) 디스플레이를 포함한다. 디스플레이(160)는 또한 다중-초점(multi-focal) 디스플레이와 같은 깊이-인식(depth-aware) 디스플레이일 수 있다. 디스플레이(160)는, 예를 들어, 이용자에게 다양한 콘텐츠(예: 텍스트, 이미지, 동영상, 아이콘 또는 기호)를 표시할 수 있다. 디스플레이(160)는 터치 스크린을 포함할 수 있으며, 예를 들어, 전자 펜 또는 이용자의 신체 부위를 이용한 터치, 제스처, 근접 또는 호버링(hovering) 입력을 수신할 수 있다.
예를 들어, 통신 인터페이스(170)는 전자 장치(101)와 외부 전자 장치(예를 들어, 제1 전자 장치(102), 제2 전자 장치(104) 또는 서버(106))간의 통신을 설정할 수 있다. 예를 들어, 통신 인터페이스(170)는 무선 또는 유선 통신을 통해 네트워크(162 또는 164)와 연결되어 외부 전자 장치와 통신할 수 있다. 통신 인터페이스(170)는 유선 또는 무선 트랜시버 또는 이미지와 같은 신호를 송수신하기위한 임의의 다른 구성 요소일 수 있다.
커널(141)은 다른 프로그램(미들웨어(143), API(145) 또는 응용 프로그램(147)과 같은)에서 구현된 동작 또는 기능을 수행하는 데 이용되는 시스템 자원(버스(110), 프로세서(120) 또는 메모리(130) 등)을 제어 또는 관리할 수 있다.). 커널(141)은 미들웨어(143), API(145) 또는 어플리케이션(147)이 전자 장치(101)의 개별 구성 요소에 접근하여 시스템 자원을 제어 또는 관리할 수 있는 인터페이스를 제공한다. 애플리케이션(147)은 후술하는 바와 같이 이미지 캡처 및 이미지 처리를위한 하나 이상의 애플리케이션을 포함한다. 이러한 기능은 단일 응용 프로그램 또는 각각 하나 이상의 이러한 기능을 수행하는 여러 응용 프로그램에서 수행할 수 있다. 미들웨어(143)는 API(145) 또는 애플리케이션(147)이 예를 들어 커널(141)과 데이터를 통신할 수있게하는 중계기로서 기능할 수 있다. 복수의 애플리케이션(147)이 제공될 수 있다. 미들웨어(143)는(버스(110), 프로세서(120) 또는 메모리(130)와 같은) 전자 장치(101)의 시스템 자원을 이용하는 우선 순위를 적어도 하나에 할당함으로써, 애플리케이션(147)으로부터 수신된 작업 요청을 제어할 수 있다. API(145)는 애플리케이션(147)이 커널(141) 또는 미들웨어(143)로부터 제공되는 기능을 제어할 수있게하는 인터페이스이다. 예를 들어, API(145)는 적어도 하나의 인터페이스 또는 파일링 제어, 윈도우 제어, 이미지 처리 또는 텍스트 제어 기능(예: 명령)을 포함한다.
입력/출력 인터페이스(150)는 예를 들어, 이용이자 또는 다른 외부 장치로부터 전자 장치(101)의 다른 구성 요소(들)로 명령 또는 데이터 입력을 전달할 수 있는 인터페이스로서 기능한다. 입력/출력 인터페이스(150)는 또한 전자 장치(101)의 다른 구성 요소(들)로부터 수신된 명령 또는 데이터를 이용이자 또는 다른 외부 장치로 출력한다.
디스플레이(160)는, 예를 들어, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 양자점 발광 다이오드(QLED) 디스플레이, MEMS(microelectromechanical systems) 디스플레이 또는 전자 종이 디스플레이일 수 있다. 디스플레이(160)는 또한 다중 초점 디스플레이와 같은 깊이 인식 디스플레이일 수 있다. 디스플레이(160)는 예를 들어 다양한 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘 또는 기호)를 이용자에게 표시할 수 있다. 디스플레이(160)는 터치 스크린을 포함할 수 있고, 예를 들어 전자 펜 또는 이용자의 신체 부분을 이용하여 터치, 제스처, 근접 또는 호버링 입력을 수신할 수 있다.
통신 인터페이스(170)는, 예를 들어, 전자 장치(101)와 외부 전자 장치(예컨대, 제1 전자 장치(102), 제2 전자 장치(104) 또는 서버(106)) 사이의 통신을 설정할 수 있다. 예를 들어, 통신 인터페이스(170)는 무선 또는 유선 통신을 통해 네트워크(162 또는 164)와 연결되어 외부 전자 장치와 통신할 수 있다. 통신 인터페이스(170)는 유선 또는 무선 송수신기 또는 이미지와 같은 신호를 송수신하기 위한 임의의 다른 구성 요소일 수 있다.
전자 장치(101)는 물리량을 측정하거나 전자 장치(101)의 활성화 상태를 감지하고 측정 또는 감지된 정보를 전기 신호로 변환할 수 있는 하나 이상의 센서(180)를 더 포함한다. 예를 들어, 하나 이상의 센서(180)는 장면의 이미지를 캡처하기 위한 하나 이상의 카메라 또는 다른 이미지 센서를 포함한다. 센서(들, 180)는 또한 터치 입력을 위한 하나 이상의 버튼, 제스처 센서, 자이로스코프 또는 자이로 센서, 기압 센서, 자기 센서 또는 자력계, 가속도 센서 또는 가속도계, 그립 센서, 근접 센서, 컬러 센서(예: 빨강 녹색 파랑(red green blue, RGB) 센서), 생물-물리 센서, 온도 센서, 습도 센서, 조도 센서, 자외선(ultraviolet, UV) 센서, 근전도(electromyography, EMG) 센서, 뇌파(electroencephalogram, EEG) 센서, 심전도(electrocardiogram, ECG) 센서, 적외선(infrared, IR) 센서, 초음파 센서, 홍채 센서 또는 지문 센서를 포함할 수 있다. 센서(들, 180)는 하나 이상의 가속도계, 자이로스코프 및 기타 구성 요소를 포함할 수 있는 관성 측정 유닛을 더 포함할 수 있다. 또한, 센서(들, 180)는 여기에 포함된 센서들 중 적어도 하나를 제어하기 위한 제어 회로를 포함할 수 있다. 이들 센서(들, 180) 중 임의의 것은 전자 장치(101) 내에 위치할 수 있다. 하나 이상의 카메라 또는 다른 이미지 센서는 적어도 하나의 플래시(190)와 함께 선택적으로 이용될 수 있다. 플래시(190)는 하나 이상의 LED와 같은 전자 장치(101)에 의한 이미지 캡처에 이용하기 위한 조명을 생성하도록 구성된 장치를 나타낸다.
제1 외부 전자 장치(102) 또는 제2 외부 전자 장치(104)는 웨어러블 장치 또는 전자 장치 장착형 웨어러블 장치(예: a head-mounted device, HMD)일 수 있다. 전자 장치(101)가 전자 장치(102, 예: HMD)에 장착된 경우, 전자 장치(101)는 통신 인터페이스(170)를 통해 전자 장치(102)와 통신할 수 있다. 전자 장치(101)는 전자 장치(102)와 직접 연결되어 별도의 네트워크 없이 전자 장치(102)와 통신할 수 있다. 전자 디바이스(101)는 또한 하나 이상의 카메라를 포함하는 안경과 같은 증강 현실(augmented reality) 웨어러블 디바이스일 수 있다.
무선 통신은, 예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G(5 세대 무선 시스템), 초고주파(mmWave) 또는 60GHz 무선 통신, 무선 USB, 코드 분할 다중 액세스(code division multiple access, CDMA), 광대역 코드 분할 다중 액세스(wideband code division multiple access, WCDMA), 범용 이동 통신 시스템(universal mobile telecommunication system, UMTS), 무선 광대역(wireless broadband, WiBro) 또는 이동 통신을 위한 글로벌 시스템(global system for mobile communication, GSM)을 중 적어도 하나를 셀룰러 통신 프로토콜로 이용할 수 있다. 유선 연결에는, 예를 들어, 범용 직렬 버스(universal serial bus, USB), 고화질 멀티미디어 인터페이스(high definition multimedia interface, HDMI), 권장 표준 232(recommended standard 232, RS-232) 또는 일반 이전 전화 서비스(plain old telephone service, POTS) 중 하나 이상이 포함될 수 있다. 네트워크(162 또는 164)는 컴퓨터 네트워크(예: 근거리 통신망(LAN) 또는 광역 네트워크(WAN)), 인터넷 또는 전화 네트워크와 같은 적어도 하나의 통신 네트워크를 포함한다.
제1 및 제2 외부 전자 장치(102, 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) 기술이 이용될 수 있다. 도 1은 전자 장치(101)가 네트워크(162 또는 164)를 통해 외부 전자 장치(104) 또는 서버(106)와 통신하기 위한 통신 인터페이스(170)를 포함하는 것을 도시하지만, 전자 장치(101)는 본 발명의 일부 실시 예에 따라 별도의 통신 기능 없이 독립적으로 동작할 수 있다.
서버(106)는 전자 장치(101)에서 구현되는 동작(또는 기능) 중 적어도 하나를 수행하거나 지원함으로써 전자 장치(101)를 선택적으로 지원할 수 있다. 예를 들어, 서버(106)는 전자 장치(101)에 구현된 프로세서(120)를 지원할 수 있는 프로세싱 모듈 또는 프로세서를 포함할 수 있다.
도 1은 전자 장치(101)를 포함하는 네트워크 구성(100)의 일 예를 도시하고 있지만, 도 1에 대해 다양한 변경이 가능하다. 예를 들어, 네트워크 구성(100)은 임의의 적절한 배열로 임의의 수의 각 구성 요소를 포함할 수 있다. 일반적으로 컴퓨팅 및 통신 시스템은 다양한 구성으로 제공된다. 도 1은 본 개시의 범위를 특정 구성으로 제한하지 않는다. 또한, 도 1은 본 특허 문헌에 개시된 다양한 특징이 이용될 수 있는 하나의 작동 환경을 예시하지만, 이러한 특징은 임의의 다른 적절한 시스템에서 이용될 수 있다.
도 2는 본 개시에 따른 단일-입력 다중-노출(single-input multi-exposure, SIME) 네트워크를 이용하여 다중 이미지 프레임들(multiple image frames)을 생성하기 위한 예시적인 프로세스를 도시한다. 설명의 편의를 위해, 도 2에 도시된 프로세스(200)는 도 1의 전자 장치(101)의 이용을 포함하는 것으로 설명된다. 그러나, 도 2에 도시된 프로세스(200)는 임의의 다른 적절한 전자 장치 및 임의의 적절한 시스템에서 이용될 수 있다.
도 2에 도시된 바와 같이, 전자 장치(101)는 전자 장치(101)의 적어도 하나의 카메라 또는 다른 이미지 센서를 이용하여 촬영된 장면의 단일 입력 이미지 프레임(input image frame, 201)을 수신하거나 획득한다. 일부 실시 예에서, 장면의 입력 이미지 프레임(input image frame, 201)은 적어도 자동 결정된 노출 시간(종종 EV-0 노출 시간으로 지칭 됨)에 상대적인 짧은 노출 시간을 이용하여 캡처된다. 노출 시간이 짧기 때문에, 입력 이미지 프레임(input image frame, 201)은 어두워지는 경향이 있을 것이고, 입력 이미지 프레임(input image frame, 201)에서 많은 디테일이 명확하게 보이지 않을 것이다.
입력 이미지 프레임(input image frame, 201, "짧은 프레임(short frame)"이라고도 함)은 컨볼루션 뉴럴 네트워크를 나타내는 SIME 네트워크(205)에 대한 입력으로서 제공된다. 전자 장치(101)는 단일 입력 이미지 프레임(input image frame, 201)을 이용하여 다중 출력 이미지 프레임(output image frame, 211-213)을 생성하기 위해 SIME 네트워크(205)를 실행하거나 달리 이용한다. SIME 네트워크(205)의 동작에 대한 추가 세부 사항은 아래에 제공된다. 이 예에서, SIME 네트워크(205)는 3 개의 출력 이미지 프레임(output image frame, 211-213)을 생성하는 데 이용된다. 그러나, SIME 네트워크(205)는 다른 실시 예에서 둘 이상의 출력 이미지 프레임을 생성하는 데 이용될 수 있다.
출력 이미지 프레임(output image frame, 211-213)은 서로 다른 노출 레벨에서 캡처된 동일한 장면의 이미지를 시뮬레이션하기 위해 생성된다. 일부 실시 예에서, 제1 출력 이미지 프레임(output image frame, 211)은 짧은-노출 클린 이미지 프레임(short-exposure clean image frame, "짧은 클린 프레임(short clean frame)"이라고도 함)을 나타낼 수 있다. 출력 이미지 프레임(output image frame, 211)은 입력 이미지 프레임(input image frame, 201)과 실질적으로 유사할 수 있지만, 입력 이미지 프레임(input image frame, 201)에 포함된 노이즈의 대부분 또는 전부는 "디-노이즈(de-noise)"프로세스를 이용하여 SIME 네트워크(205)에 의해 제거될 수 있다. 제2 출력 이미지 프레임(output image frame, 212)은 일반-노출 이미지 프레임(normal-exposure image frame, "일반 프레임(normal frame)"이라고도 함)을 나타낼 수 있다. 출력 이미지 프레임(output image frame, 212)은 자동으로 결정된 노출 시간을 이용하여 캡처된 것으로 시뮬레이션 될 수 있으며, 입력 이미지 프레임(input image frame, 201)에 디-노이즈 프로세스와 브라이트닝(brightening) 프로세스를 모두 적용하는 SIME 네트워크(205)에 의해 생성될 수 있다. 제 3 출력 이미지 프레임(output image frame, 212)은 긴-노출 이미지 프레임(long-exposure image frame, "긴 프레임(long frame)"이라고도 함)을 나타낼 수 있다. 출력 이미지 프레임(output image frame, 213)은 자동으로 결정된 노출 시간보다 더 긴 노출 시간을 이용하여 캡처된 것으로 시뮬레이션 될 수 있으며, 디-노이즈 프로세스 및 입력 이미지 프레임(input image frame, 201)에 대한 브라이트닝 처리를 모두 적용하는 SIME 네트워크(205)에 의해 생성될 수 있다. 여기에 이용된 용어 "짧은(short)", "일반(normal)" 및 "긴(long)"은 서로 상대적이고, "일반"이 "짧은"보다 길고 "긴"이 "일반"보다 긴 적절한 노출 시간을 나타낼 수 있다. 대부분의 경우 "일반"은 노출 부족 또는 노출 과다 영역이 최소인 이미지를 생성하는 자동-결정 노출 시간(automatically-determined exposure time)을 의미한다.
다중 출력 이미지 프레임(output image frame, 211-213)은 단일 입력 이미지 프레임(input image frame, 201)으로부터 생성되기 때문에, 출력 이미지 프레임(output image frame, 211-213)은 종래의 다중 프레임 접근법보다 훨씬 더 나은 프레임 간 정렬을 나타낼 수 있다. 관측자(viewer)에게 출력 프레임(output image frame, 211-213)은 흐릿함이나 움직임 없이 완벽하게(또는 거의 완벽하게) 정렬된 것처럼 보인다. 또한, SIME 네트워크(205)의 이용은 동작하는 데 더 느리거나 더 큰 처리 능력을 요구할 수 있는 다중 단일 입력 단일 노출(single-input single-exposure, SISE) 네트워크를 실행하는 것보다 계산적으로 더 효율적이다.
도 2는 SIME 네트워크를 이용하여 다중 이미지 프레임을 생성하기 위한 프로세스(200)의 일례를 도시하고 있지만, 도 2에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 프로세스(200)가 3 개의 출력 이미지 프레임을 생성하는 것으로 도시되어 있지만, 다른 실시 예는 3 개보다 크거나 적은 출력 이미지 프레임을 생성할 수 있다. 또한, SIME 네트워크(205)의 동작은 전자 장치(101)의 프로세서(120) 또는 전자 장치(101)의 이미지 센서(180)를 포함하는 전자 장치(101) 또는 다른 장치의 임의의 적절한 구성 요소(들)에 의해 수행될 수 있다. 일부 경우에, SIME 네트워크(205)는 이미지 센서 자체에 내장될 수 있다.
도 3은 본 개시에 따른 도 2의 SIME 네트워크의 추가적인 세부 사항을 도시한다. 도 3에 도시 된 바와 같이, SIME 네트워크(205)는 다시 일반적으로 입력 이미지 프레임(input image frame, 201)을 수신하고 다중 출력 이미지 프레임(output image frame, 211-213)을 생성하도록 동작한다. 이 결과를 달성하기 위해, SIME 네트워크(205)는 컨볼루션 뉴럴 네트워크 구조를 기반으로 한다. 컨볼루션 뉴럴 네트워크 구조는 일반적으로 이미지 분석에 종종 적용되는 심층 인공 뉴럴 네트워크의 유형을 나타낸다. 이 예에서, SIME 네트워크(205)는 인코더 경로(302) 및 다중 디코더 경로(304)를 포함한다.
이 예에서, 도 3의 일부 컴포넌트(예: 2, 4, 32, 64, 128 등)에 포함된 숫자는 입력 이미지 프레임(input image frame, 201)을 나타내는 채널, 특징 또는 컴포넌트의 수를 나타낸다. 인코딩 프로세스는 일반적으로 입력 이미지 프레임(input image frame, 201)을 나타내는 구성 요소의 수를 증가시키며, 이는 입력 이미지 프레임(input image frame, 201)이 다운 샘플링되고 입력 이미지 프레임(input image frame, 201)을 나타내는 구성 요소가 더 많아진다는 것을 의미한다(그러나 각 구성 요소는 공간적으로 더 작아진다). 디코딩 프로세스는 일반적으로 출력 이미지 프레임(output image frame, 211-213)을 나타내는 구성 요소의 수를 감소시킨다. 즉, 인코딩 프로세스의 출력이 업 샘플링되고 출력 이미지 프레임(output image frame, 211-213)을 나타내는 구성 요소의 수가 줄어든다는 것을 의미한다(그러나 각 구성 요소는 공간적으로 더 커진다).
인코더 경로(302)는 다중 인코딩 스테이지(306a-306d)로 구성된다. 각각의 인코딩 스테이지(306a-306c)는 2개의 컨볼루션 레이어(convolution layer, 311) 및 다운 샘플링 레이어(downsample layer, 312)를 포함하고, 인코딩 스테이지(306d)는 2개의 컨볼루션 레이어(convolution layer, 311)를 포함하지만 다운 샘플링 레이어는 포함하지 않는다. 일부 실시 예에서, 2개의 컨볼루션 레이어(convolution layer, 311)는 잔여 서브넷으로 일반화될 수 있으며, 이는 2개의 컨볼루션 레이어(convolution layer, 311)를 통한 스킵 연결에 이어 추가 연산을 포함할 수 있다. 각각의 컨볼루션 레이어(convolution layer, 311)는 시각적 자극에 대한 개별 뉴런의 반응을 에뮬레이트하는 컨볼루션 연산을 적용하도록 작동하는 컨볼루션 뉴런의 레이어를 나타낸다. 각 뉴런은 일반적으로 출력 값을 생성하기 위해 입력 값에 일부 기능을 적용한다(종종 다른 입력 값에 가중치를 다르게 적용). 다운 샘플링 레이어(downsample layer, 312) 각각은 하나의 레이어로부터의 뉴런 클러스터의 출력 값을 다음 레이어에 대한 입력 값으로 결합하는 레이어를 나타낸다. 여기에서 인코더 경로(302)는 총 8 개의 컨볼루션 레이어(convolution layer, 311) 및 3개의 다운 샘플링 레이어(downsample layer, 312)를 갖는 4개의 인코딩 단계(306a-306d)를 포함하는 것으로 도시되어 있다. 그러나, 인코더 경로(302)는 상이한 수의 인코딩 스테이지, 컨볼루션 레이어 및 다운 샘플링 레이어를 포함할 수 있다.
일부 실시 예에서, 컨볼루션 레이어(convolution layer, 311) 각각은 필터 뱅크(필터 또는 커널 포함)와 컨볼루션을 수행하여 한 세트의 피처 맵(feature map)을 생성할 수 있다. 이러한 피처 맵은 일괄 정규화할 수 있으며, 정규화된 피처 맵 값에 요소 별 ReLU(rectified linear unit) 함수를 적용할 수 있다. ReLU 함수는 일반적으로 해당 값 중 큰 값 또는 0을 선택하는 것과 같이(각 정규화된 피처 맵 값에 대해) 음수가 아닌 레이어의 출력 값이 없도록 하기 위해 작동한다. 그 후, 일부 실시 예에서, 각각의 다운 샘플링 레이어(downsample layer, 312)는 윈도우 및 스트라이드가 2인 것과 같이(비 중첩 윈도우)와 같은 최대-풀링(max-pooling)을 수행할 수 있고, 결과적인 출력은 예컨대 2배만큼 서브 샘플링 될 수 있다. 최대-풀링은 입력 이미지 프레임(input image frame, 201)의 작은 공간 이동에 대한 변환 불변(translation invariance)을 달성하는 데 이용될 수 있으며, 서브 샘플링은 피처 맵의 각 픽셀에 대해 큰 입력 이미지 컨텍스트(공간 창, spatial window)를 생성할 수 있다.
공통 인코더 경로(302) 다음에는 다중 출력 이미지 프레임(output image frame, 211-213)에 대한 다중 개별 디코더 경로(304)가 이어진다. 각각의 디코더 경로(304)는 하나 이상의 디코더 스테이지(308a-308c)를 이용하여 형성되며 각 디코더 경로(304)의 디코더 스테이지(308a-308c)의 수는 디코더 경로(304)에 의해 생성되는 출력 이미지 프레임(output image frame, 211-213)의 유형에 의존한다. 예를 들어, 짧은 클린 출력 이미지 프레임 출력 이미지 프레임(output image frame, 211)은 하나의 디코더 스테이지(308c)를 이용하여 생성 될 수 있고, 일반 출력 이미지 프레임(output image frame, 212)은 2개의 디코더 스테이지(308b-308c)를 이용하여 생성될 수 있고, 긴 출력 이미지 프레임(output image frame, 213)은 3개의 디코더 스테이지(308a-308c)를 이용하여 생성될 수 있다.
각각의 디코더 스테이지(308a-308c)는 업 샘플링 레이어(upsample layer, 313)를 포함하는데, 이는 그 입력을 리사이즈 하는 레이어를 나타낸다. 이는 이전 단계에서 받은 피처 맵을 업 스케일링하고 해당 인코더 단계의 피처 맵과 연결하여 수행할 수 있다. 연결은 업 샘플링 레이어(upsample layer, 313)를 이전 스테이지 및 대응하는 인코더 스테이지와 연결하는 화살표로 도 3에 도시되어 있다. 각각의 디코더 스테이지(308a-308c)는 또한 SIME 네트워크(205)에서 가장 계산적으로 요구되는 부분에서 복잡성을 효율적으로 감소시키기 위해(훨씬 더 높은 깊이로부터 압축됨에 따라) 일반적인 컨볼루션 레이어 대신 이용되는 분리 가능한 컨볼루션 레이어(convolution layer, 314)를 포함한다. 각각의 디코더 스테이지(308a-308c)는 이전 계층이 동일한 깊이를 갖기 때문에 적당한 복잡성을 갖는 일반 컨볼루션 레이어(convolution layer, 311)를 더 포함한다. 인코딩 경로를 따라 높은 레벨의 특징을 위해 미세 세부 사항이 제거되기 때문에, 동일한 스케일의 인코딩에서 디코딩 레이어로의 스킵 연결이 도 3에서 이용되어 세부 사항을 다양한 디코더 경로(304)로 되돌릴 수 있다.
이 예에서, 각각의 디코더 스테이지(308a-308c)는 종래의 전치된 컨볼루션 레이어에서 흔히 관찰되는 체커보드 아티팩트를 피하기 위해 수행된다. 즉, 변환된 컨볼 루션을 이용하는 대신, 이미지 리사이징에 이어 컨볼루션 레이어가 여기에서 각 디코더 스테이지(308a-308c)에서 수행된다.
구현에 따라, SIME 네트워크(205)를 이용하여 다음과 같은 원리와 관찰을 기반으로 다양한 이점을 얻을 수 있다. 일반적으로 디코딩 경로는 이전 레이어의 연결에서 작동하므로 컨볼루션 레이어 디코딩은 일반적으로 계산 비용이 많이 든다. 표준 컨볼루션 레이어를 분리 가능한 컨볼루션 레이어(convolution layer, 314)로 대체함으로써 계산과 품질 사이의 더 나은 트레이드 오프가 달성될 수 있다. 또한, SIME 네트워크(205)는 인코더 경로(302)가 각각의 출력 이미지 프레임(output image frame, 211-213)에 대해 별도의 인코더 경로(302)를 요구하는 것보다 3개의 출력 이미지 프레임(211-213)에 대해 공유되기 때문에 더 효율적이다. 더욱이, 짧은 클린 출력 이미지 프레임(input image frame, 211)에 대한 디코더 경로(304)는 더 작은 노출 갭(밝기의 변화)이 덜 집중적인 계산을 필요로 하기 때문에 긴 출력 이미지 프레임(output image frame, 213)에 대한 디코더 경로(304)보다 작다.
또한, 짧은 입력 이미지 프레임(input image frame, 201)과 긴 출력 이미지 프레임(output image frame, 213) 사이의 노출 갭이 크기 때문에, 더 큰 수용 필드 또는 더 깊은 레이어가 높은 레벨의 노이즈 억제와 신호 유지 사이의 균형을 최적화하기 위해 이용된다. 입력과 출력 사이의 노출 간격이 줄어들기 때문에 노출 간격이 짧을수록 세부 사항과 노이즈 억제 사이에서 동일한 레벨의 균형을 유지하기 위해 더 작은 수용 필드 또는 높은 레벨의 구조가 필요하다. 즉, 더 작은 수용 필드와 더 얕은 레이어는 이미지 품질 최적화에 충분하다. 이러한 관찰을 이용함으로써, SIME 네트워크(205)는 SISE 네트워크를 여러 번 실행하는 것에 비해 더 계산적으로 효율적인 방식으로 다중 노출 이미지 프레임을 생성할 수 있다.
도 3은 SIME 네트워크(205)의 특정 추가 세부 사항을 도시하지만, 도 3에 대해 다양한 변경이 이루어질 수 있다. 예를 들어 스테이지, 컨볼루션 레이어, 업 샘플링 및 다운 샘플링 레이어 및 기타 구성 요소의 수는 다양할 수 있으며 그 수가 적거나 많을 수 있다.
도 4a 및 4b는 본 개시에 따른 도 3의 SIME 네트워크의 실행을 위한 예시적인 옵션들을 도시한다. 도 4a 및 4b에 도시된 바와 같이, SIME 네트워크(205)는 다른 포맷으로 출력 이미지 프레임을 생성하기 위해 실행을 위해 다른 옵션(401 내지 402)에 따라 동작할 수 있다. 다르게 말하면, SIME 네트워크(205)에 의해 수행되는 동작에 따라, 출력 이미지 프레임(output image frame, 211-213)에 대해 상이한 포맷이 있을 수 있다.
두 옵션(401 내지 402)에서, SIME 네트워크(205)는 이미지 센서로부터 최소한으로 처리된 데이터를 포함하는 로우 포맷(raw format)으로 입력 이미지 프레임(input image frame, 201)을 수신한다. 로우 포맷은 Bayer 이미지 도메인과 연관될 수도 있다. 옵션(401)에 표시된 바와 같이, SIME 네트워크(205)는 입력 이미지 프레임(input image frame, 201)과 동일한 로우 포맷으로 출력 이미지 프레임(output image frame, 211-213)을 생성하도록 동작한다. 대조적으로, 옵션(402)에 표시된 바와 같이, SIME 네트워크(205)가 출력 이미지 프레임(output image frame, 211-213)을 생성함에 따라, YUV 출력 이미지 프레임(output image frame, 211-213)을 생성하기 위한 변환 동작을 수행하며, 이는 이미지 저장에 자주 이용되는 포맷이다. 트레이닝은 SIME 네트워크(205)에서 수행되어 SIME 네트워크(205)가 로우 포맷 또는 YUV 포맷으로 출력 이미지를 생성하도록 할 수 있다.
도 4a 및 4b는 도 3의 SIME 네트워크(205)의 실행을 위한 옵션의 예를 도시하지만, 도 4a 및 4b에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, SIME 네트워크(205)는 RGB와 같은 다른 이미지 포맷과 호환될 수 있다.
컨볼루션 뉴럴 네트워크의 트레이닝에는 일반적으로 많은 트레이닝 예제를 이용해야 한다. SIME 네트워크(205)의 경우, 트레이닝의 목표는 SIME 네트워크(205)를 조정하여 단일 입력 이미지 프레임이 주어졌을 때 SIME 네트워크(205)가 상이한 노출 레벨에서 다중 출력 이미지 프레임을 생성하도록 하는 것이다.
도 5는 본 개시에 따른 SIME 네트워크를 트레이닝하기 위한 예시적인 프로세스를 도시한다. 프로세스(500)를 이용하여, SIME 네트워크(205)는 단일 입력 프레임에만 기초하여 미리 결정된 타겟 프레임과 일치하는 다중 노출 프레임을 생성하도록 트레이닝 될 수 있다. 정적 장면 및 단일 입력 프레임으로부터의 제약은 SIME 네트워크(205)에 의해 생성된 출력 프레임이 상이한 노출 레벨에 있음에도 불구하고 완벽하게 정렬되도록 보장한다. 설명의 편의를 위해, 프로세스(500)는 도 1의 서버(106) 및 도 2 및 3에 도시 된 SIME 네트워크(205)의 이용을 포함하는 것으로 설명된다. 그러나, 프로세스(500)는 임의의 다른 적절한 장치 및 임의의 다른 적절한 컨볼루션 뉴럴 네트워크 아키텍처와 함께 이용될 수 있다.
트레이닝 프로세스(500) 동안, 서버(106)는 짧은 노이즈 프레임(short noisy image frame, 501) 및 다중 타겟 프레임(target frame, 511-513)을 포함하는 장면의 다중 초기 이미지 프레임을 수신한다. 짧은 노이즈 프레임(short noisy image frame, 501)은 또한 짧은 노이즈 프레임인 도 2의 입력 이미지 프레임(input image frame, 201)과 유사한 입력 프레임을 나타낸다. 타겟 프레임(target frame, 511-513)은 클린 짧은 프레임(target frame, 511), 일반 프레임(target frame, 512) 및 긴 프레임(target frame, 513)을 포함한다. 타겟 프레임(target frame, 511-513)은 도 2의 출력 이미지 프레임(output image frame, 211-213)에 대응하고 트레이닝 프로세스(500)를 이용하여 트레이닝 할 때 SIME 네트워크(205)에 대한 "목표(goals)"를 나타낸다.
일부 실시 예에서, 초기 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513)은 삼각대에서 카메라를 이용하여 캡처되고 카메라를 터치하는 것을 방지하기 위해 음성 명령 또는 다른 무선 명령으로 트리거된다(따라서 캡처하는 동안 카메라를 약간 이동). 이것은 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513)이 가능한 한 많이 정렬되는 것을 보장한다. 일부 실시 예에서, 클린 짧은 프레임(target frame, 511)은 일반 프레임(target frame, 512)을 짧은 노이즈 프레임(short noisy image frame, 501)과 동일한 노출 레벨로 어둡게 함으로써 획득된다.
트레이닝을 향상시키기 위해, 서버(106)는 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513)에 대해 데이터 증강 기능(data augmentation, 502)을 수행할 수 있다. 데이터 증강 기능(data augmentation, 502)은 원본 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513) 이외의 장면의 추가 이미지를 생성함으로써 트레이닝 데이터 수집의 크기를 증가시켜 전체적으로 더 나은 트레이닝 결과로 이어질 수 있다. 예를 들어, 데이터 증강 기능(data augmentation, 502)은 x 및/또는 y축을 따라 초기 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513)을 뒤집기, 초기 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513)을 하나 이상의 각도(예: 90º, 180º 또는 270º)로 회전하는 등과 같이 원본 이미지 프레임을 다른 방식으로 변환하는 것을 포함할 수 있다. 변환된 이미지는 더 많은 양의 데이터의 외양을 생성하기 위해 초기 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513)과 함께 네트워크 훈련 프로세스(500)에서 이용될 수 있다.
초기 이미지 프레임(short noisy image frame, 501 및 target frame, 511-513) 및 데이터 증강 기능(data augmentation, 502)에 의해 획득된 임의의 추가 이미지 훈련 데이터)이 획득되면, 서버(106)는 타겟 이미지 프레임(target frame, 511-513)과 유사한 출력 이미지를 생성하기 위해 반복적인 방식으로 동작함으로써 SIME 네트워크(205)를 트레이닝시킨다. 트레이닝 프로세스(500)를 통한 각 반복 동안, SIME 네트워크(205)는 이미지 프레임(508)을 생성한다. 이상적으로는, 트레이닝 프로세스(500)를 통한 다중 반복 동안, SIME 네트워크(205)는 일반적으로 이미지 프레임(508)의 생성을 개선하고 타겟 이미지 프레임(target frame, 511-513)을 생성하는 쪽으로 이동한다.
트레이닝 프로세스(500)를 통한 각 반복에 대해, 서버(106)는 SIME 네트워크(205)에 대한 총 손실 함수를 계산하는 손실 계산 함수(504)를 수행할 수 있다. 손실은, 예를 들어 경사 하강법 기술(gradient descent technique)을 통해 SIME 네트워크(205)의 가중치 업데이트를 안내하는 데 도움이 된다. 예를 들어, 서버(106)는 2 개의 구성 요소 손실 함수, 즉 L1 손실 및 다중 스케일 구조적 유사성 측정(multi-scale structural similarity measure, MSSIM) 손실의 가중 합으로서 총 손실 함수를 계산할 수 있다. L1 손실은 목표 프레임(target frame, 511-513)과 각 트레이닝 반복에서 생성된 이미지 프레임(508) 사이의 색상 불일치를 페널티징 함으로써 색상 보정을 보장하는 데 이용될 수 있다. 특히, L1 손실은 타겟 프레임(target frame, 511-513)과 각 트레이닝 반복에서 생성된 이미지 프레임(508) 사이의 L1 표준(또는 맨해튼 거리)이다. MSSIM 손실은 각각의 훈련 반복에서 생성된 타겟 프레임(target frame, 511-513)과 이미지 프레임(508) 사이의 세부 불일치를 페널티징 함으로써 출력의 세부 보존을 보장하는 데 이용된다. 총 손실 함수는 이미지 프레임(508)과 타겟 프레임(target frame, 511-513)이 컬러와 디테일 모두에서 매칭되도록 보장하기 위해 두 개의 컴포넌트 손실 함수의 선형 조합을 나타낼 수 있다.
계산된 손실에 기초하여, 전자 장치(101)는 SIME 네트워크(205)에 의해 이용되는 가중치를 업데이트하기 위해 가중치 업데이트 기능(Update Weights, 506)을 수행함으로써 SIME 네트워크(205)를 조정한다. 예를 들어, 서버(106)는 컨볼루션 레이어(convolution layer, 311 및 314)에서 이용되는 가중치 또는 SIME 네트워크(205)의 다른 파라미터를 변경할 수 있다. 업데이트된 가중치가 결정되면, 서버(106)는 SIME 네트워크(205)에 대한 트레이닝의 또 다른 반복을 수행한다. 트레이닝 프로세스(500)의 전체적인 목표는 손실 함수의 값을 줄이거나 최소화하는 것이다.
도 5는 SIME 네트워크(205)를 트레이닝 하기위한 프로세스(500)의 일 예를 예시하지만, 도 5에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, SIME 네트워크(205)는 임의의 다른 적절한 방식으로 트레이닝 될 수 있으며, 이는 데이터 증가 및 조합 손실 함수와 같은 다양한 특징의 이용을 포함하거나 포함하지 않을 수 있다.
도 6은 본 개시에 따른 고스트-프리(ghost-free) HDR(high dynamic range) 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임을 이용하기 위한 예시적인 프로세스를 도시한다. 설명의 편의를 위해, 프로세스(600)는 도 1의 전자 장치(101) 및 도 2 및 3에 도시 된 SIME 네트워크(205)의 이용을 포함하는 것으로 설명된다. 그러나, 프로세스(600)는 임의의 다른 적절한 장치 및 임의의 다른 적절한 컨볼루션 뉴럴 네트워크 아키텍처와 함께 이용될 수 있다.
도 6에 도시된 바와 같이, 전자 장치(101)는 단일 입력 이미지 프레임(input image frame, 201)을 수신하고 SIME 네트워크(205)를 이용하여 전술한 프로세스를 이용하여 다중 출력 이미지 프레임(output image frame, 211-213)을 생성한다. 전자 장치(101)는 출력 이미지 프레임(output image frame, 211-213)을 처리하여 HDR 이미지(604)를 생성하는 HDR 블렌딩 동작(602)에 출력 이미지 프레임(output image frame, 211-213)을 입력한다. HDR 블렌딩 동작(602)은 출력 이미지 프레임(output image frame, 211-213)에 HDR 블렌딩 알고리즘을 적용하여 출력 이미지 프레임(output image frame, 211-213)이 완벽하게 정렬되기 때문에 감소되거나 최소한의 아티팩트를 갖는 HDR 이미지(604)를 생성한다.
HDR 블렌딩 동작(602)은 입력 이미지 프레임(input image frame, 201)을 블렌딩하는 것과 같이 다수의 이미지 프레임(output image frame, 211-213)에 기초하여 HDR 이미지(604)를 생성하기 위해 임의의 적절한 기술을 이용할 수 있다. 예를 들어, 이미지 블렌딩을 위한 하나의 기술은 서로 다른 이미지 프레임의 동일한 위치에 있는 개별 픽셀을 비교하고 비교된 픽셀을 결합한다. 출력 이미지 프레임(output image frame, 211-213)의 모든 픽셀에 대해 이것을 반복하면 HDR 이미지(604)가 생성된다.
단일 입력 HDR 네트워크를 이용하여 프로세스(600, SIME 네트워크(205) 및 HDR 블렌딩 작업(602)을 결합한)과 유사한 효과를 달성하는 시스템을 가정하는 것이 가능하지만, 이러한 시스템은 본질적으로 몇 가지 근본적인 단점을 가지고 있다. 예를 들어, 단일 입력 HDR 네트워크가 닫혀 있으므로 추가 캡처 프레임으로 HDR 품질(특정 이미지 세부 정보 기반)을 더 개선할 수 없다. 결과적으로 이러한 네트워크에서 얻을 수 있는 HDR 품질은 HDR Ground Truth 또는 대상의 품질에 의해 제한된다. 단일 입력 HDR 네트워크를 트레이닝하기 위해 사실적인 HDR 목표를 얻는 것은 비용이 많이 들고 제품화에 적합하지 않다. 예를 들어 HDR 타겟은 HDR 센서로 획득해야 하는데, 이는 핸드헬드 장치에서는 불가능할 수 있다. 또한 HDR 타겟은 제한 요소가 되는 기존 HDR 블렌딩 알고리즘에 의해 획득된다. 또한 HDR 이미지에서 LDR(low dynamic range) 입력을 합성하는 과정은 합성 모델에 의해 제한된다. 대조적으로, 위에서 논의된 바와 같이 SIME 네트워크(205)에 대한 현실적인 고품질 훈련 데이터를 얻는 것은 간단하다. 또한, 프로세스(600)의 다중 노출 접근 방식은 품질을 개선하기 위해 HDR 백엔드를 재이용(또는 이용을 확장)할 수 있는 잠재력을 가진 개방형 시스템을 제공한다.
도 6은 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크(205)에 의해 생성된 다중 출력 이미지 프레임을 이용하기 위한 프로세스(600)의 일 예를 예시하지만, 도 6에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, SIME 네트워크(205)는 2개 또는 3개 이상의 이미지 프레임을 생성할 수 있다.
위에서 논의된 바와 같이, 프로세스(200 및 600)는 하나의 입력 이미지 프레임(input image frame, 201)을 이용한다. 그러나, 일부 시나리오에서, 입력 이미지 프레임(input image frame, 201)은 많은 세부 사항을 포함하지 않을 수 있다. 이러한 가능성을 해결하기 위해, 본 개시의 일부 실시 예는 추가 이미지 프레임(들)이 이미지 프레임(input image frame, 201)을 보충할 수 있도록 하나 이상의 입력 이미지 프레임을 이용할 수 있는 프로세스를 제공한다. 아래에서 설명하는 이러한 프로세스는 모션이 거의 또는 전혀 없는 짧은 이미지 영역에 초점을 맞춰 블러 가능성을 최소화할 수 있다.
도 7a 내지 7d는 본 개시에 따른 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임들을 이용하기 위한 다른 예시적인 프로세스를 도시한다. 프로세스(700)는 HDR 이미지의 품질 및 세부 사항을 개선하기 위해 하나 이상의 일반(중간 노출) 프레임(input image frame, 702)으로 SIME 네트워크(205)를 증가시킨다. 도 7a는 프로세스(700)의 개요를 도시하는 반면,도 7b 내지 7d는 프로세스(700)의 특정 동작을 보다 상세히 도시한다. 설명의 편의를 위해, 프로세스(700)는 도 1의 전자 장치(101) 및 도 2 및 3에 도시된 SIME 네트워크(205)의 이용을 포함하는 것으로 설명된다. 그러나, 프로세스(700)는 임의의 다른 적절한 장치 및 임의의 다른 적절한 컨볼루션 뉴럴 네트워크 아키텍처와 함께 이용될 수 있다.
도 7a에 도시된 바와 같이, 전자 장치(101)는 적어도 하나의 이미지 센서로 캡처된 다중 입력 이미지 프레임(input image frame, 201, 702)을 수신한다. 입력 이미지 프레임(input image frame, 201)은 짧은 이미지 프레임(도면에서 "S"로 표시됨)일 수 있고, 입력 이미지 프레임(input image frame, 702)은 이미지 프레임(input image frame, 201)과 동일한 이미지 센서 또는 다른 이미지 센서로 캡처된 중간 노출 이미지 프레임("M"으로 표시됨)일 수 있다. 입력 이미지 프레임(input image frame, 702)이 짧은 프레임(input image frame, 201)보다 더 밝기 때문에, 입력 이미지 프레임(input image frame, 702)은 최종 HDR 프레임을 향상시키는 데 이용될 수 있는 추가 세부 사항을 포함한다. 도 7a는 하나의 중간 노출 이미지 프레임(input image frame, 702)의 이용을 도시하고 있지만, 이것은 단지 하나의 예일 뿐이며, 하나 이상의 중간 노출 이미지 프레임을 이용하는 다른 실시 예가 가능하며 본 개시의 범위 내에 있다.
전자 장치(101)는 짧은 입력 이미지 프레임(input image frame, 201)을 취하고 SIME 네트워크(205)를 실행하여 전술한 바와 같이 다중 출력 이미지 프레임(output image frame, 211-213)을 생성한다. 생성된 출력 이미지 프레임(output image frame, 211-213)은 짧고 깨끗한 이미지 프레임(output image frame, 211, "S"로 표시), 일반 이미지 프레임(output image frame, 212, "M"로 표시되는 중간 노출의 모양을 가질 수 있음) 및 긴 이미지 프레임(output image frame, 213, "L"로 표시)을 포함한다. 전자 장치(101)는 SIME 네트워크(205) 및 중간 노출 입력 이미지 프레임(input image frame, 702)으로부터 일반 이미지 프레임(output image frame, 212)을 가져와 모션 블러 감소(motion blur reduce, MBR) 디고스팅 동작(MBR deghosting, 715)을 수행한다. MBR 디고스팅 동작(MBR deghosting, 715)은 일반 이미지 프레임(output image frame, 212)과 입력 이미지 프레임(input image frame, 702) 사이의 움직임 통계를 결정하고 분석하며, 일반 이미지 프레임(output image frame, 212)이 기준 프레임으로 취급된다. 모션 통계에 기초하여, MBR 디고스팅 동작(MBR deghosting, 715)은 하나 이상의 모션 맵(718)을 생성한다. 모션 맵(디고스팅 맵이라고도 함)은 일반적으로 모션이 발생하고 제거되어야 하는 이미지 프레임의 영역을 식별하여 이미지 프레임에서 예상되는 모션 및 노이즈 레벨을 식별한다. 이미지 디고스팅을 위한 많은 가능한 기술이 있고, MBR 디고스팅 동작(MBR deghosting, 715)은 이미지 디고스팅을 위한 임의의 적절한 기술 또는 기술을 지원할 수 있다는 점에 유의한다. 일반적으로, 일반 이미지 프레임(output image frame, 212)과 입력 이미지 프레임(input image frame, 702)은 동일한 노출 레벨에 있거나 그 근처에 있을 수 있기 때문에, 동일한 노출 레벨에서 디고스팅이 매우 신뢰할 수 있는 경향이 있기 때문에 고스트 아티팩트의 위험이 최소화된다.
MBR 디고스팅 동작(MBR deghosting, 715) 이후, 전자 장치(101)는 MBR 블렌딩 동작(MBR blend, 720) 및 HDR 블렌딩 동작(HDR blend, 725)을 포함하는 다중 블렌딩 동작을 수행한다. 도 7b는 MBR 블렌딩 동작(MBR blend, 720)의 예시적인 세부 사항을 도시하고, 도 7c는 HDR 블렌딩 동작(HDR blend, 725)의 예시적인 세부 사항을 도시한다.
도 7b에 도시 된 바와 같이, MBR 블렌딩 동작(720)은 MBR 디고스팅 동작(MBR deghosting, 715)으로부터의 모션 맵(들, 718)을 이용하여 SIME 네트워크(205)에 의해 생성된 일반 이미지 프레임(212, 참조 이미지) 및 입력 이미지 프레임(들, 702, 비 참조 이미지)의 가중 조합을 수행한다. MBR 블렌딩 동작(720)은 캡처된 입력 이미지 프레임(들, 702)의 잘 노출된 정적 영역으로부터 최종 HDR 이미지 프레임으로 세부 사항을 가져오기 위해 수행된다. 일부 실시 예에서, 각각의 모션 맵(718)은 스칼라 값을 포함할 수 있으며, 각각은 연관된 이미지 프레임에서 대응하는 픽셀 값에 적용될 가중치를 식별한다. 예를 들어, 입력 이미지 프레임(들, 702)의 픽셀은 곱셈 함수(721)를 이용하여 모션 맵(들, 718)의 가중치에 의해 스케일링 될 수 있다. MBR 블렌딩 동작(720)은 블렌딩 맵에 기초하여 상이한 이미지 프레임의 동일한 위치에 있는 개별 픽셀에 가중치를 부여하고 가중치가 적용된 픽셀을 결합할 수 있다. 이미지 프레임의 모든 픽셀에 대해 이것을 반복하면 중간 노출 MBR 혼합 이미지(722)가 생성된다. 일반 이미지 프레임(212)과 입력 이미지 프레임(들, 702)의 조합은 합산 연산(723)과 같은 임의의 적절한 조합 기술을 이용할 수 있다. MBR 블렌딩 이미지 프레임에 대한 많은 가능한 기술이 있고, MBR 블렌딩 동작(720)은 MBR 이미지 블렌딩을 위한 임의의 적절한 기술 또는 기술을 지원할 수 있다는 점에 유의한다. 또한, 도 7b는 N개의 비 참조 이미지의 이용을 나타내지만, N은 1과 같을 수 있으며, 이는 단지 하나의 비 참조 이미지(702) 및 하나의 모션 맵(718)이 있다는 것을 의미한다.
도 7c에 도시된 바와 같이, HDR 블렌딩 동작(725)은 중간 노출 MBR 블렌딩 된 이미지(722, MBR 블렌딩 작업(720)의 출력), 짧고 깨끗한 이미지 프레임(211) 및 긴 이미지 프레임(213, SIME 네트워크로(205)부터의 출력)에 대한 픽셀 단위 노출 분석을 수행하기 위해 픽셀 단위 추가(727)를 이용한다. MBR 블렌딩 된 이미지(722)는 HDR 블렌딩 동작(725)에서 기준으로서 역할을 한다. HDR 블렌딩 동작(725)은 더 어두운 영역을 밝게하고 강조된 영역을 복구하는 것과 같은 HDR 효과를 달성하기 위해 수행된다. HDR 블렌딩 동작(725)은 HDR 블렌딩 이미지(728)의 생성을 초래한다.
일부 실시 예에서, HDR 블렌딩 동작(725)은 프레임(211 및 213)의 가중 조합을 수행하기 위해 노출 과다 맵(731) 및 노출 부족 맵(732)을 이용한다. 가중치 연산은 픽셀 단위 곱셈 함수(726) 또는 임의의 다른 적절한 가중치 함수를 이용하여 수행될 수 있다. 도 7d는 루마 추출 함수(736)를 이용하여 노출 부족 맵(732) 및 노출 과다 맵(731)을 생성하기 위한 예시적인 프로세스를 도시한다. 도 7d에 도시 된 바와 같이, 노출 부족 맵(732)은 충분히 어두운 픽셀에서 MBR 블렌딩 된 이미지(722)를 임계 화함으로써 생성된다. 여기서, 루마 추출 함수(736)는 노출 부족 임계 값 μ를 고려하는 공식(737)을 이용한다. 유사하게, 노출 과다 맵(731)은 충분히 밝은 픽셀에서 MBR 블렌딩 된 이미지(722)를 임계화함으로써 생성된다. 여기서, 루마 추출 함수(736)는 과다 노출된 임계 값 μO를 고려하는 공식(738)을 이용한다. HDR 블렌딩 이미지 프레임에 대한 많은 가능한 기술이 있고, HDR 블렌딩 동작(725)은 HDR 이미지 블렌딩을 위한 임의의 적절한 기술 또는 기술을 지원할 수 있다는 점에 유의한다.
HDR 블렌딩 동작(725) 이후, 전자 장치(101)는 HDR 블렌딩 이미지(728)를 이용하여 다수의 후 처리 동작을 수행할 수 있다. 이 예에서, HDR 블렌딩 된 이미지(728)는 톤 매핑 동작(730) 및 선명화 동작(735)을 겪는다. 톤 매핑 동작(730)은 일반적으로 HDR 블렌딩 된 이미지(728)에서 더 어두운 영역을 밝게하고 이미지 콘트라스트를 증가시키기 위해 HDR 블렌딩 된 이미지(728)에 글로벌 톤 매핑 곡선을 적용하도록 동작한다. 선명화 동작(735)은 일반적으로 2D 고역 통과 필터 또는 임의의 다른 적절한 필터를 이용하여 HDR 블렌딩 된 이미지(728)의 에지를 향상시키도록 동작한다. 톤 매핑 및 선명화를 위한 다양한 기술이 당 업계에 알려져있다. 프로세스(700)의 출력은 적어도 하나의 최종 이미지(738)이다. 최종 이미지(738)는 일반적으로 처리 후 캡처된 이미지 프레임(201, 702)의 블렌드를 나타낸다. 최종 이미지(738)는 이미지 신호 프로세서(ISP, 740)로 전송되고 Bayer 도메인을 떠난다.
전술한 바와 같이, 프로세스(700)는 SIME 네트워크(205)를 HDR 파이프 라인과 결합하여 세부 사항 및 아티팩트 모두에서 더 나은 품질을 달성한다. SIME 네트워크(205)로부터의 일반 이미지 프레임(212)의 세부 사항은 하나 이상의 입력 이미지 프레임(702)과 블렌딩함으로써 개선된다. 프로세스(700)에서 이용되는 블렌딩 방법론은 MBR 디고스팅 동작(MBR deghosting, 715) 및 MBR 블렌딩 동작(720)을 포함한다. 위에서 설명한 것처럼 동일한 노출 수준에서 디고스팅이 제대로 작동하므로 고스팅 아티팩트의 위험이 최소화된다. HDR 블렌딩 동작(725, 일부 종래의 시스템에서 노출 및 모션 차이 모두를 처리하기 위해 복잡한 디고스팅을 포함함)은 SIME 네트워크(205)의 이용으로 인해 간단하다.
도 7a 내지 7d는 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크(205)에 의해 생성된 다중 출력 이미지 프레임을 이용하기 위한 프로세스(700)의 일 예를 예시하지만, 도 7a 내지 7d에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, SIME 네트워크(205)는 2개 또는 3개 이상의 이미지 프레임을 생성할 수 있다.
도 8은 본 개시에 따른 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임들을 이용하기 위한 또 다른 예시적인 프로세스를 도시한다. 설명의 편의를 위해, 프로세스(800)는 도 1의 전자 장치(101) 및 도 2 및 도 3에 도시된 SIME 네트워크(205)의 이용을 포함하는 것으로 설명된다. 그러나, 프로세스(800)는 임의의 다른 적절한 장치 및 임의의 다른 적절한 컨볼루션 뉴럴 네트워크 아키텍처와 함께 이용될 수 있다.
도 8에 도시된 바와 같이, 전자 장치(101)는 카메라로 촬영된 복수의 이미지 프레임(201, 702)을 수신한다. 입력 이미지 프레임(201)은 짧은 이미지 프레임이고, 입력 이미지 프레임(702)은 중간 이미지 프레임이다. 전자 장치(101)는 짧은 입력 이미지 프레임(201)을 취하고 SIME 네트워크(205)를 이용하여 다중 출력 이미지 프레임(211-213)을 생성한다. 프로세스(800)에서, SIME 네트워크(205)에 의한 이미지 캡처 및 프로세싱은 도 7a 내지 7d의 프로세스(700)의 대응하는 동작과 유사하게 Bayer 도메인에서 수행된다. 따라서, 출력 이미지 프레임(211-213) 및 캡처된 프레임(201 및 702)은 Bayer 프레임이다.
전술한 바와 같이, 프로세스(700)는 또한 Bayer 도메인에서 수행되는 HDR 프로세싱을 특징으로 한다. 대조적으로, 도 8의 프로세스(800)는 YUV 도메인에서 수행되는 HDR 프로세싱을 특징으로 한다. 도 8에 도시된 바와 같이, 출력 이미지 프레임(211-213) 및 캡처 된 프레임(201, 702)은 ISP(808)로 전달되고 YUV 도메인의 이미지 프레임으로 변환된다. 전자 장치(101)는 YUV 도메인에서 이미지 프레임(201, 702, 211-213)을 이용하여 HDR 처리 동작을 수행한다. 구체적으로, HDR 프로세싱은 MBR 디고스팅 동작(815), MBR 블렌딩 동작(820), HDR 블렌딩 동작(825), 및 톤 매핑 동작(830) 및 선명화 동작(835)을 포함할 수 있는 후 처리 동작을 포함한다. 이들 동작(815-835)은 전술한 프로세스(700)의 대응 동작(715-735)과 유사하지만, 동작(815-835)은 Bayer 도메인 대신 YUV 도메인에서 수행된다.
도 8은 고스트-프리 HDR 프레임을 생성하기 위해 SIME 네트워크에 의해 생성된 다중 출력 이미지 프레임을 이용하기 위한 프로세스(800)의 한 예를 도시하지만, 도 8에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, SIME 네트워크(205)는 2개 또는 3개 이상의 이미지 프레임을 생성할 수 있다. 또한, ISP(808)는 Bayer 도메인 데이터를 RGB 데이터와 같은 다른 유형의 이미지 데이터로 변환할 수 있다.
도 9는 본 개시에 따른 SIME 네트워크를 이용하여 이미지 도메인을 변경하기 위한 예시적인 프로세스를 도시한다. 설명의 편의를 위해, 프로세스(900)는 도 1의 전자 장치(101)의 이용을 포함하는 것으로 설명된다. 그러나, 프로세스(900)는 임의의 다른 적절한 전자 장치 및 임의의 적절한 시스템에서 이용될 수 있다.
도 9에 도시 된 바와 같이, 전자 장치(101)는 다수의 이미지 프레임(201, 702)을 수신한다. 입력 이미지 프레임(201)은 짧은 이미지 프레임이고, 입력 이미지 프레임(702)은 하나 이상의 중간 이미지 프레임(i가 1 이상인 경우 Mi로 표시됨)을 포함한다. 프레임(201, 702)은 로우 포맷이고, 전자 장치(101)는 입력 이미지 프레임(201, 702)을 가져와 ISP(904)에 프레임을 제공한다. ISP(904)는 입력 이미지 프레임(201, 702)을 처리하고 로우 도메인의 이미지 프레임을 YUV 도메인의 대응하는 이미지 프레임(911-912)으로 변환한다.
전자 장치(101)는 또한 짧은 입력 이미지 프레임(201)을 취하고 SIME 네트워크(205)를 이용하여 중간 노출 출력 이미지 프레임을 포함하는 YUV 도메인에서 하나 이상의 출력 이미지 프레임을 생성한다. SIME 네트워크(205)가 처리된 이미지의 도메인을 변경하지 않는 위에서 설명된 일부 실시 예와 대조적으로, 도 9의 SIME 네트워크(205)는 짧은 입력 이미지 프레임(201)의 도메인을 로우(Bayer) 도메인에서 YUV 도메인으로 변환한다. 또한, SIME 네트워크(205)는 디-모자이싱(de-mosaicing), 노이즈 제거 및 색상 및 톤 보정을 포함하는 다른 이미지 처리 동작을 수행할 수도 있다. SIME 네트워크(205)에서 처리한 후, 전자 장치(101)는 디더링(dithering), 합성 노이즈(synthetic noise) 추가, 히스토그램 매칭, 로컬 톤 매핑, 기타 이미지 처리 동작과 같은 중간 노출 출력 이미지 프레임에 대해 하나 이상의 후 처리 동작(907)을 수행할 수 있다. 후 처리 동작(907)의 출력은 밝기, 색상 및 톤에서 중간 입력 이미지 프레임(912)과 실질적으로 일치하는 중간 YUV 프레임(915)을 포함한다.
전자 장치(101)는 MBR 블렌딩 동작(920) 및 HDR 블렌딩 동작(925)을 포함하는 다중 블렌딩 동작에서 기준 프레임으로서 중간 YUV 프레임(915)을 이용한다. MBR 블렌딩 동작(920)은 도 7b의 MBR 블렌딩 동작(920)과 유사하게, 중간 YUV 프레임(915)으로부터 모션 영역 및 중간 입력 이미지 프레임(912)으로부터 잘 노출된 정적 영역을 취하고, 이미지를 블렌딩하여 정적 영역으로부터 세부 사항을 가져온다. HDR 블렌딩 동작(925)은 ISP(904)로부터 오는 짧은 입력 이미지 프레임(911)으로부터 포화 영역을 복구한다. 프로세스(900)의 출력은 적어도 하나의 최종 이미지(930)를 포함한다.
도 9는 SIME 네트워크를 이용하여 이미지 도메인을 변경하는 프로세스(900)의 일 예를 도시하고 있지만, 도 9에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, SIME 네트워크(205)는 2개 또는 3개 이상의 이미지 프레임을 생성할 수 있다. 또한 RGB 데이터를 이용하는 경우와 같이 YUV 도메인 이외의 도메인에서도 데이터를 이용할 수 있다.
도 10은 본 개시에 따른 SIME 네트워크를 이용하여 이미지 도메인을 변경하기 위한 다른 예시적인 프로세스를 도시한다. 설명의 편의를 위해, 프로세스(1000)는 도 1의 전자 장치(101)의 이용을 포함하는 것으로 설명된다. 그러나, 프로세스(1000)는 임의의 다른 적절한 전자 장치 및 임의의 적절한 시스템에서 이용될 수 있다.
프로세스(1000)는 도 9의 프로세스(900)의 대응하는 구성 요소 및 동작과 동일하거나 유사한 많은 구성 요소 및 동작을 포함한다. 도 10에 도시된 바와 같이, 전자 장치(101)는 다중 이미지 프레임(201, 702)을 수신하는데, 여기서 입력 이미지 프레임(201)은 짧은 이미지 프레임이고 입력 이미지 프레임(702)은 하나 이상의 중간 이미지 프레임을 포함한다. 프레임(201, 702)은 로우 포맷이다.
전자 장치(101)는 짧은 입력 이미지 프레임(201)을 취하고 제1 SIME 네트워크(205a)를 이용하여 중간 노출 출력 이미지 프레임을 포함하는 YUV 도메인에서 하나 이상의 출력 이미지 프레임을 생성한다. 이것은 도 9의 SIME 네트워크(205)에 의해 수행되는 동작과 유사하다. 전자 디바이스(101)는 또한 매체 입력 이미지 프레임(702)을 취하고 제2 SIME 네트워크(205b)를 실행하여 매체 노출 출력 이미지 프레임을 포함하는 YUV 도메인에서 하나 이상의 출력 프레임을 생성한다. SIME 네트워크(205a-205b)는 또한 디 모자이싱, 노이즈 제거 및 색상 및 톤 보정을 포함하는 다른 이미지 처리 동작을 수행할 수 있다.
SIME 네트워크(205a-205b)에서 처리한 후, 전자 장치(101)는 디더링, 합성 노이즈 추가, 히스토그램 매칭, 로컬 톤 매핑 또는 기타 이미지 처리 작업을 포함할 수 있는 중간 노출 출력 이미지 프레임에 대해 대응하는 후 처리 작업(1007-1008)을 수행한다. 후 처리 동작(1008)의 출력은 제1 매체 YUV 프레임(1010)을 포함한다. 후 처리 동작(1007)의 출력은 밝기, 색상 및 톤에서 제1 중간 YUV 프레임(1010)과 실질적으로 일치하는 짧은 프레임(1011) 및 제2 중간 YUV 프레임(1015)을 포함한다.
그 다음, 전자 장치(101)는 MBR 블렌딩 동작(1020) 및 HDR 블렌딩 동작(1025)을 포함하는 다중 블렌딩 동작에서 제2 매체 YUV 프레임(1015)을 기준 프레임으로 이용한다. 이러한 동작은 도 9의 대응 동작과 동일하거나 유사하다. 프로세스(1000)의 출력은 적어도 하나의 최종 이미지(1030)를 포함한다.
도 10은 SIME 네트워크를 이용하여 이미지 도메인을 변경하는 프로세스(1000)의 일 예를 도시하고 있지만, 도 10에 대해 다양한 변경이 가능하다. 예를 들어, 각각의 SIME 네트워크(205a-205b)는 2개 또는 3개 이상의 이미지 프레임을 생성할 수 있다. 또한 RGB 데이터를 이용하는 경우와 같이 YUV 도메인 이외의 도메인에서도 데이터를 이용할 수 있다. 또한, 프로세스(1000)가 다수의 SIME 네트워크(205a-205b)의 이용을 묘사하는 동안, 다른 실시 예는 상이한 데이터를 순차적으로 처리하는 하나의 SIME 네트워크를 이용할 수 있다(예를 들어, 짧은 입력 이미지 프레임(201)에 대해 한 번 및 중간 입력 이미지 프레임(702)에 대해 한 번)
도 11a, 11b, 12a 및 12b는 본 개시의 실시 예들 중 하나 이상을 이용하여 실현될 수 있는 이점의 예를 도시한다. 도 11a 및 11b는 종래의 이미지 센서를 이용하여 캡처된 주간 장면의 이미지(1101)와 위에서 개시된 실시 예들 중 하나를 이용하여 캡처된 동일한 주간 장면의 이미지(1102) 사이의 비교를 도시한다. 도 11a에서, 이미지(1101)는 종래의 HDR 동작을 이용하여 캡처 및 처리되었다. 도 11a에 의해 명백한 바와 같이, 이미지(1101)는 너무 어두운 피사체를 포함하여 불량한 HDR 결과를 갖는다. 대조적으로, 도 11b의 이미지(1102)는 전술한 바와 같이 SIME 네트워크와 MBR 및 HDR 블렌딩 및 디고스팅 동작을 이용하여 캡처 및 처리되었다. 결과 이미지(1102)는 이미지(1101)에 비해 우수한 HDR 결과를 제공하고 또한 우수한 MBR 효과를 나타낸다.
유사하게, 도 12a 및 12b는 종래의 이미지 센서를 이용하여 캡처된 저녁 장면의 이미지(1201)와 위에서 개시된 실시 예들 중 하나를 이용하여 캡처된 동일한 저녁 장면의 이미지(1202) 사이의 비교를 도시한다. 도 12a에서, 이미지(1201)는 장시간 노출을 이용하여 캡처 및 처리되었다. 도 12a에 의해 명백한 바와 같이, 이미지(1201)는 이미지(1201)의 입자 품질에 의해 명백한 바와 같이 이미지 전체에 걸쳐 많은 양의 노이즈를 포함하는 불량한 결과를 갖는다. 대조적으로, 도 12b의 이미지(1202)는 짧은 노출 프레임을 처리하는 SIME 네트워크를 이용하여 캡처 및 처리되었다. 도 12b에서 명백한 바와 같이, 이미지(1202)는 훨씬 더 선명하고 매우 적은 노이즈를 나타낸다.
도 11a, 11b, 12a 및 12b는 실현될 수 있는 이점의 예를 예시하지만, 이러한 도면에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 상이한 조명 조건 하에서 수많은 장면의 이미지가 캡처 될 수 있으며, 이러한 도면은 본 개시의 범위를 제한하지 않는다. 이러한 수치는 위에서 설명한 기술을 이용하여 얻을 수 있는 이점의 예시 유형을 설명하기 위한 것일 뿐이다.
도 13은 본 개시에 따른 SIME 네트워크를 이용하여 다중 노출 프레임들을 생성하기 위한 예시적인 방법을 도시한다. 설명의 편의를 위해, 도 13에 도시된 방법(1300)은 도 1의 전자 장치(101)의 이용을 포함하는 것으로 설명된다. 그러나, 도 13에 도시된 방법(1300)은 임의의 다른 적절한 전자 장치 및 임의의 적절한 시스템에서 이용될 수 있다.
도 13에 도시된 바와 같이, 동작(1302)에서 전자 장치의 적어도 하나의 이미지 센서를 이용하여 장면의 첫 번째 이미지 프레임이 획득된다. 이것은 예를 들어, 전자 장치(101)의 프로세서(120)가 캡처 요청을 수신하고 카메라(센서, 180)가 입력 이미지 프레임(201)을 캡처하게 하는 것을 포함할 수 있다. 일부 실시 예에서, 제1 이미지 프레임은 짧은 노출 이미지 프레임이다.
상이한 노출을 갖도록 시뮬레이션 된 다중 제2 이미지 프레임은 동작(1304)에서 컨볼루션 뉴럴 네트워크를 이용하여 제1 이미지 프레임으로부터 생성된다. 이것은 예를 들어, 다중 출력 이미지 프레임(211-213)을 생성하기 위해 SIME 네트워크(205)를 실행하는 전자 장치(101)의 프로세서(120)를 포함할 수 있다. SIME 네트워크(205)에 의해 수행된 처리의 결과로, 출력 이미지 프레임(211-213)은 입력 이미지 프레임(201)과 실질적으로 또는 완벽하게 정렬될 수 있다. 따라서, 각각의 두 번째 이미지 프레임의 장면에 있는 하나 이상의 객체는 적어도 하나의 다른 두 번째 이미지 프레임의 장면에 있는 하나 이상의 대응 객체와 정렬되고 또한 첫 번째 이미지 프레임의 장면에 있는 하나 이상의 대응 객체와 정렬된다.
일부 실시 예에서, 제2 이미지 프레임은 일반 노출을 갖는 제1 생성 이미지 프레임, 일반 노출보다 긴 제2 노출을 갖는 제2 생성 이미지 프레임, 및 일반 노출보다 짧은 제3 노출을 갖는 제3 생성 이미지 프레임을 포함한다. 또한, 일부 실시 예에서, SIME 네트워크(205)의 컨볼루션 뉴럴 네트워크은 다중 제2 이미지 프레임 모두에 대해 공통 인코더 경로에서 동작을 수행하고 다중 제2 이미지 프레임 각각에 대해 개별 디코더 경로에서 별개의 동작을 수행한다. 전술한 바와 같이, 각각의 디코더 경로는 리사이즈 또는 업 샘플링 스테이지, 컨볼루션 스테이지 및 분리 가능한 컨볼루션 스테이지를 포함하는 적어도 하나의 디코더 스테이지를 포함할 수 있다. 두 번째 생성된 이미지 프레임에 대한 디코더 경로는 첫 번째 생성된 이미지 프레임에 대한 디코더 경로보다 더 많은 디코더 단계를 포함할 수 있으며, 세 번째 생성된 이미지 프레임에 대한 디코더 경로는 첫 번째 생성된 이미지 프레임에 대한 디코더 경로보다 더 적은 디코더 단계를 포함할 수 있다. 또한, 일부 실시 예에서, 제1 이미지 프레임은 로우 포맷이고, 컨볼루션 뉴럴 네트워크는 복수의 제2 이미지 프레임이 YUV 포맷이 되도록 raw-to-YUV 변환을 위한 연산을 수행한다.
장면의 최종 이미지는 동작(1306)에서 다중 제2 이미지 프레임을 혼합함으로써 생성된다. 이것은 예를 들어, 단일 프레임 HDR 이미지를 생성하기 위해 HDR 블렌딩 동작을 수행하는 전자 장치(101)의 프로세서(120)를 포함할 수 있다. 이것은 예를 들어, 단일 프레임 HDR 이미지를 생성하기 위해 HDR 블렌딩 동작을 수행하는 전자 장치(101)의 프로세서(120)를 포함할 수 있다. 이것은 또한 또는 대안적으로 단일 프레임 HDR 이미지를 생성하기 위해 MBR 디고스팅 동작, MBR 블렌딩 동작, 및 HDR 블렌딩 동작을 수행하는 프로세서(120)를 포함할 수 있다.
장면의 최종 이미지는 동작(1308)에서 어떤 식으로든 저장, 출력 또는 이용된다. 이는 예를 들어, 전자 장치의 디스플레이(160)에 장면의 최종 이미지를 표시하는 전자 장치(101)의 프로세서(120)를 포함할 수 있다. 이것은 또한 전자 장치(101)의 메모리(130)에 저장된 카메라 롤에 장면의 최종 이미지를 저장하는 전자 장치(101)의 프로세서(120)를 포함할 수 있다. 이것은 전자 장치(101)로부터 전송될 텍스트 메시지, 이메일 또는 기타 통신에 장면의 최종 이미지를 첨부하는 전자 장치(101)의 프로세서(120)를 더 포함할 수 있다. 물론 장면의 최종 이미지는 다른 방식이나 추가 방식으로 이용될 수 있다.
도 13은 SIME 네트워크를 이용하여 다중 노출 프레임을 생성하는 방법(1300)의 일 예를 예시하지만, 도 13에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 일련의 동작으로 도시되었지만, 도 13의 다양한 단계는 겹치거나, 병렬로 발생하거나, 다른 순서로 발생하거나, 임의의 횟수로 발생할 수 있다.
다양한 동작이 하나 이상의 장치를 이용하여 수행되는 것으로 위에서 설명되었지만, 이러한 동작은 임의의 적절한 방식으로 구현될 수 있다는 점에 유의해야 한다. 예를 들어, 전자 장치(101) 또는 서버(106)의 각각의 기능은 전자 장치(101) 또는 서버(106)의 적어도 하나의 프로세서(120)에 의해 실행되는 하나 이상의 소프트웨어 애플리케이션 또는 다른 소프트웨어 명령을 이용하여 구현되거나 지원될 수 있다. 다른 실시 예에서, 전자 장치(101) 또는 서버(106)의 기능 중 적어도 일부는 전용 하드웨어 구성 요소를 이용하여 구현되거나 지원될 수 있다. 일반적으로 각 장치의 작동은 적절한 하드웨어 또는 하드웨어와 소프트웨어/펌웨어 명령의 적절한 조합을 이용하여 수행될 수 있다.
본 개시는 다양한 실시 예를 참조하여 설명되었지만, 당업자에게는 다양한 변경 및 수정이 제안될 수 있다. 본 개시는 첨부된 청구항의 범위 내에 있는 그러한 변경 및 수정을 포함하는 것으로 의도된다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(#01)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(#36) 또는 외장 메모리(#38))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(#40))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(#01))의 프로세서(예: 프로세서(#20))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득하는 과정과,
    상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용하는 과정과,
    상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬되고,
    상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성하는 방법.
  2. 청구항 1에 있어서, 상기 다수의 제2 이미지 프레임들은,
    특정 노출(specified exposure)을 갖도록 시뮬레이션 된 제1 생성 이미지 프레임;
    상기 특정 노출보다 긴 제2 노출을 갖도록 시뮬레이션 된 제2 생성 이미지 프레임; 및
    상기 특정 노출보다 짧은 제3 노출을 갖도록 시뮬레이션 된 제3 생성 이미지 프레임을 포함하는 방법.
  3. 청구항 2에 있어서, 상기 컨벌루션 뉴럴 네트워크는,
    상기 다수의 제2 이미지 프레임들 모두에 대한 공통 인코더 경로에서 과정을 수행 및 상기 다수의 제2 이미지 프레임들 중 서로 다른 디코더 경로들에 대해 별개의 과정을 수행하는 방법.
  4. 청구항 3에 있어서, 상기 디코더 경로들 각각은,
    업 샘플링(upsampling) 레이어, 컨볼루션(convolution) 레이어 및 분리 가능한(separable) 컨볼루션 레이어를 포함하는 적어도 하나의 디코더 스테이지를 포함하는 방법.
  5. 청구항 3에 있어서,
    상기 제2 생성 이미지 프레임에 대한 상기 디코더 경로들은,
    상기 제1 생성 이미지 프레임에 대한 상기 디코더 경로들보다 더 많은 디코더 스테이지들을 포함하고,
    상기 제3 생성 이미지 프레임에 대한 상기 디코더 경로들은,
    상기 제1 생성 이미지 프레임에 대한 상기 디코더 경로들보다 더 적은 디코더 스테이지들을 포함하는 방법.
  6. 청구항 1에 있어서,
    상기 장면의 상기 제1 이미지 프레임은 로우 포맷이고(raw format),
    상기 다수의 제2 이미지 프레임들은 YUV 포맷이고,
    상기 컨벌루션 뉴럴 네트워크는 raw-to-YUV 변환을 수행하는 방법.
  7. 청구항 1에 있어서, 상기 최종 이미지를 생성하기 위해 상기 다수의 제2 이미지 프레임들을 블렌딩하는 과정은,
    상기 다수의 제2 이미지 프레임들 중 적어도 일부를 이용하여, MBR(motion blur reduction) 디고스팅(deghosting) 과정, MBR 블렌딩 과정, 또는 HDR(high dynamic range) 블렌딩 과정 중 적어도 하나를 수행하는 방법.
  8. 청구항 1에 있어서, 상기 컨벌루션 뉴럴 네트워크는,
    다수의 타겟 이미지 프레임들을 포함하는 장면의 다수의 초기 이미지 프레임들을 획득하는 과정과,
    출력 이미지를 생성하는 과정과,
    상기 타겟 이미지 프레임과 상기 생성된 출력 이미지 간의 차이를 나타내는 손실 함수를 계산하는 과정과,
    상기 손실 함수를 기반으로 상기 컨벌루션 뉴럴 네트워크의 매개 변수와 관련된 가중치를 업데이트하는 과정과,
    상기 생성, 상기 계산 및 상기 업데이트하는 과정을 되풀이하는 방식(iterative manner)으로 한 번 이상 반복하는 과정을 통해 트레이닝 되는 방법.
  9. 전자 장치에 있어서,
    적어도 하나의 이미지 센서; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득하고,
    상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용하고,
    상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬되고,
    상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성하는 장치.

  10. 청구항 9에 있어서, 상기 다수의 제2 이미지 프레임들은,
    특정 노출(specified exposure)을 갖도록 시뮬레이션 된 제1 생성 이미지 프레임;
    상기 특정 노출보다 긴 제2 노출을 갖도록 시뮬레이션 된 제2 생성 이미지 프레임; 및
    상기 특정 노출보다 짧은 제3 노출을 갖도록 시뮬레이션 된 제3 생성 이미지 프레임을 포함하는 장치.
  11. 청구항 10에 있어서, 상기 컨벌루션 뉴럴 네트워크는,
    상기 다수의 제2 이미지 프레임들 모두에 대한 공통 인코더 경로에서 과정을 수행 및 상기 다수의 제2 이미지 프레임들 중 서로 다른 디코더 경로들에 대해 별개의 과정을 수행하는 장치.
  12. 청구항 11에 있어서, 상기 디코더 경로들 각각은,
    업 샘플링(upsampling) 레이어, 컨볼루션(convolution) 레이어 및 분리 가능한(separable) 컨볼루션 레이어를 포함하는 적어도 하나의 디코더 스테이지를 포함하는 장치.
  13. 청구항 11에 있어서,
    상기 제2 생성 이미지 프레임에 대한 상기 디코더 경로들은,
    상기 제1 생성 이미지 프레임에 대한 상기 디코더 경로들보다 더 많은 디코더 스테이지들을 포함하고,
    상기 제3 생성 이미지 프레임에 대한 상기 디코더 경로들은,
    상기 제1 생성 이미지 프레임에 대한 상기 디코더 경로들보다 더 적은 디코더 스테이지들을 포함하는 장치.
  14. 청구항 9에 있어서,
    상기 장면의 상기 제1 이미지 프레임은 로우 포맷이고(raw format),
    상기 다수의 제2 이미지 프레임들은 YUV 포맷이고,
    상기 컨벌루션 뉴럴 네트워크는 raw-to-YUV 변환을 수행하는 장치.
  15. 청구항 9에 있어서, 상기 최종 이미지를 생성하기 위해 상기 다수의 제2 이미지 프레임들을 블렌딩하기 위하여, 상기 적어도 하나의 프로세서는,
    상기 다수의 제2 이미지 프레임들 중 적어도 일부를 이용하여, MBR(motion blur reduction) 디고스팅(deghosting) 과정, MBR 블렌딩 과정, 또는 HDR(High Dynamic Range) 블렌딩 과정 중 적어도 하나를 수행하는 장치.
  16. 청구항 9에 있어서, 상기 컨벌루션 뉴럴 네트워크는,
    다수의 타겟 이미지 프레임들을 포함하는 장면의 다수의 초기 이미지 프레임들을 획득하는 과정과,
    출력 이미지를 생성하는 과정과,
    상기 타겟 이미지 프레임과 상기 생성된 출력 이미지 간의 차이를 나타내는 손실 함수를 계산하는 과정과,
    상기 손실 함수를 기반으로 상기 컨벌루션 뉴럴 네트워크의 매개 변수와 관련된 가중치를 업데이트하는 과정과,
    상기 생성, 상기 계산 및 상기 업데이트하는 과정을 되풀이하는 방식(iterative manner)으로 한 번 이상 반복하는 과정을 통해 트레이닝 되는 장치.
  17. 실행될 때 전자 장치의 적어도 하나의 프로세서가 다음을 수행하도록 하는 명령을 포함하는 비일시적 저장매체에 있어서,
    적어도 하나의 이미지 센서를 이용하여 장면의 제1 이미지 프레임을 획득하고,
    상기 제1 이미지 프레임으로부터 서로 다른 노출들(exposures)을 갖도록 시뮬레이션 된 다수의 제2 이미지 프레임들을 생성하기 위하여, 컨벌루션 뉴럴 네트워크(convolution neural network)를 이용하고,
    상기 다수의 제2 이미지 프레임들 각각의 상기 장면의 하나 이상의 객체는 적어도 하나의 다른 제2 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬 및 상기 제1 이미지 프레임의 상기 장면의 하나 이상의 대응되는 객체와 정렬되고,
    상기 다수의 제2 이미지 프레임들을 블렌딩(blending)하여 상기 장면의 최종 이미지를 생성하는 비일시적 저장매체.
  18. 청구항 17에 있어서, 상기 다수의 제2 이미지 프레임들은,
    특정 노출(specified exposure)을 갖도록 시뮬레이션 된 제1 생성 이미지 프레임;
    상기 특정 노출보다 긴 제2 노출을 갖도록 시뮬레이션 된 제2 생성 이미지 프레임; 및
    상기 특정 노출보다 짧은 제3 노출을 갖도록 시뮬레이션 된 제3 생성 이미지 프레임을 포함하는 비일시적 저장매체.
  19. 청구항 18에 있어서, 상기 컨벌루션 뉴럴 네트워크는,
    상기 다수의 제2 이미지 프레임들 모두에 대한 공통 인코더 경로에서 과정을 수행 및 상기 다수의 제2 이미지 프레임들 중 서로 다른 디코더 경로들에 대해 별개의 과정을 수행하는 비일시적 저장매체.
  20. 청구항 19에 있어서, 상기 디코더 경로들 각각은,
    업 샘플링(upsampling) 레이어, 컨볼루션(convolution) 레이어 및 분리 가능한(separable) 컨볼루션 레이어를 포함하는 적어도 하나의 디코더 스테이지를 포함하는 비일시적 저장매체.

KR1020200166299A 2019-12-02 2020-12-02 단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법 KR20210069006A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/017445 WO2021112550A1 (en) 2019-12-02 2020-12-02 System and method for generating multi-exposure frames from single input

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/700,763 2019-12-02
US16/700,763 US10944914B1 (en) 2019-12-02 2019-12-02 System and method for generating multi-exposure frames from single input

Publications (1)

Publication Number Publication Date
KR20210069006A true KR20210069006A (ko) 2021-06-10

Family

ID=74851837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200166299A KR20210069006A (ko) 2019-12-02 2020-12-02 단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법

Country Status (4)

Country Link
US (1) US10944914B1 (ko)
EP (1) EP4066216A4 (ko)
KR (1) KR20210069006A (ko)
CN (1) CN112995544A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024096308A1 (ko) * 2022-11-02 2024-05-10 삼성전자 주식회사 광원 객체 이미지 처리 방법 및 장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496862B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet light
US10534948B1 (en) 2019-03-18 2020-01-14 Capital One Services, Llc Optimizing detection of images in relation to targets based on colorspace transformation techniques
US10509991B1 (en) 2019-03-18 2019-12-17 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing infrared light
US10496911B1 (en) 2019-03-18 2019-12-03 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet and infrared light
US10614635B1 (en) 2019-07-25 2020-04-07 Capital One Services, Llc Augmented reality system with color-based fiducial marker
US10833852B1 (en) 2019-10-03 2020-11-10 Capital One Services, Llc Encoded data along tape based on colorspace schemes
US10715183B1 (en) 2019-10-25 2020-07-14 Capital One Services, Llc Data encoding with error-correcting code pursuant to colorspace schemes
US10867226B1 (en) 2019-11-04 2020-12-15 Capital One Services, Llc Programmable logic array and colorspace conversions
US10762371B1 (en) 2019-11-14 2020-09-01 Capital One Services, Llc Object detection techniques using colorspace conversions
US11302036B2 (en) * 2020-08-19 2022-04-12 Capital One Services, Llc Color conversion between color spaces using reduced dimension embeddings
CN113852765A (zh) * 2021-05-31 2021-12-28 天翼智慧家庭科技有限公司 一种基于自编码机的hdr单帧合成方法
CN114092364B (zh) * 2021-08-12 2023-10-03 荣耀终端有限公司 图像处理方法及其相关设备
US11961206B2 (en) * 2021-09-09 2024-04-16 Samsung Electronics Co., Ltd. Image generation using non-linear scaling and tone-mapping based on cubic spline curves
CN115100043B (zh) * 2022-08-25 2022-11-15 天津大学 一种基于深度学习的hdr图像重建方法
DE102022133484A1 (de) 2022-12-15 2024-06-20 Basler Aktiengesellschaft Einzelbild-HDR-Fusion auf Basis der Multi-Binning-Methode

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8013919B2 (en) * 2006-06-27 2011-09-06 Samsung Electronics Co., Ltd. CMOS image sensor with increased dynamic range based on multiple exposure periods of varying lengths
US7548689B2 (en) * 2007-04-13 2009-06-16 Hewlett-Packard Development Company, L.P. Image processing method
US9040892B2 (en) * 2012-07-27 2015-05-26 Apple Inc. High dynamic range image sensor having symmetric interleaved long and short exposure pixels
US9131172B2 (en) * 2012-11-30 2015-09-08 Hanwha Techwin Co., Ltd. Image processing apparatus and method for detecting motion using long exposures images and then performing infinite impulse response filtering on short exposure image
CN109791688B (zh) * 2016-06-17 2021-06-01 华为技术有限公司 曝光相关的亮度变换
US10664722B1 (en) * 2016-10-05 2020-05-26 Digimarc Corporation Image processing arrangements
JP6697684B2 (ja) * 2016-10-13 2020-05-27 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法、及び画像処理回路
US10530991B2 (en) * 2017-01-28 2020-01-07 Microsoft Technology Licensing, Llc Real-time semantic-aware camera exposure control
US10311552B2 (en) * 2017-04-06 2019-06-04 Pixar De-noising images using machine learning
US10643306B2 (en) * 2017-10-11 2020-05-05 Qualcomm Incoporated Image signal processor for processing images
US10708525B2 (en) * 2018-08-27 2020-07-07 Qualcomm Incorporated Systems and methods for processing low light images
US10742892B1 (en) * 2019-02-18 2020-08-11 Samsung Electronics Co., Ltd. Apparatus and method for capturing and blending multiple images for high-quality flash photography using mobile electronic device
US11107205B2 (en) * 2019-02-18 2021-08-31 Samsung Electronics Co., Ltd. Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024096308A1 (ko) * 2022-11-02 2024-05-10 삼성전자 주식회사 광원 객체 이미지 처리 방법 및 장치

Also Published As

Publication number Publication date
EP4066216A4 (en) 2023-05-31
US10944914B1 (en) 2021-03-09
CN112995544A (zh) 2021-06-18
EP4066216A1 (en) 2022-10-05

Similar Documents

Publication Publication Date Title
KR20210069006A (ko) 단일 입력으로부터 다중 노출 프레임들을 생성하기 위한 시스템 및 방법
US11107205B2 (en) Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames
US11128809B2 (en) System and method for compositing high dynamic range images
US11503221B2 (en) System and method for motion warping using multi-exposure frames
US10410327B2 (en) Shallow depth of field rendering
JP6081726B2 (ja) 多重露出フュージョン基盤でゴーストブラーを除去したhdr映像生成装置及び方法
US10742892B1 (en) Apparatus and method for capturing and blending multiple images for high-quality flash photography using mobile electronic device
US10911691B1 (en) System and method for dynamic selection of reference image frame
US11430094B2 (en) Guided multi-exposure image fusion
WO2015184208A1 (en) Constant bracketing for high dynamic range operations (chdr)
CN104954698B (zh) 能够生成合成视频图像的图像处理设备及其控制方法
CN108885785A (zh) 用于时间噪声减少的运动自适应流处理
KR20210018084A (ko) 다중 프레임 융합을 위한 효율적인 정칙화된 이미지 정렬 기기 및 방법
KR20210113100A (ko) 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성
WO2020171300A1 (en) Processing image data in a composite image
US11418766B2 (en) Apparatus and method for chroma processing for multi-frame fusion
WO2021112550A1 (en) System and method for generating multi-exposure frames from single input
US20220398704A1 (en) Intelligent Portrait Photography Enhancement System
US11727540B2 (en) Image sharpening
US11388348B2 (en) Systems and methods for dynamic range compression in multi-frame processing
CN114503541A (zh) 用于多帧融合的有效率的正则化图像对准的装置和方法
JP2016167258A (ja) デコンボリューション画像において色収差を減じる方法、装置及びコンピュータプログラム製品
KR20210101941A (ko) 전자 장치 및 그의 hdr 영상 생성 방법
US20240062342A1 (en) Machine learning-based approaches for synthetic training data generation and image sharpening
CN116563190B (zh) 图像处理方法、装置、计算机设备及计算机可读存储介质