KR20210154171A - 상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들로 결합하는 방법 및 장치 - Google Patents

상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들로 결합하는 방법 및 장치 Download PDF

Info

Publication number
KR20210154171A
KR20210154171A KR1020217035306A KR20217035306A KR20210154171A KR 20210154171 A KR20210154171 A KR 20210154171A KR 1020217035306 A KR1020217035306 A KR 1020217035306A KR 20217035306 A KR20217035306 A KR 20217035306A KR 20210154171 A KR20210154171 A KR 20210154171A
Authority
KR
South Korea
Prior art keywords
image frames
image
motion
reference image
image frame
Prior art date
Application number
KR1020217035306A
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 KR20210154171A publication Critical patent/KR20210154171A/ko

Links

Images

Classifications

    • H04N5/2353
    • 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
    • G06T5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • 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/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • 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/62Control of parameters via user interfaces
    • 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/684Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time
    • H04N23/6845Vibration or motion blur correction performed by controlling the image sensor readout, e.g. by controlling the integration time by combination of a plurality of images sequentially taken
    • 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/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
    • 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/57Control of the dynamic range
    • H04N25/58Control of the dynamic range involving two or more exposures
    • H04N25/587Control of the dynamic range involving two or more exposures acquired sequentially, e.g. using the combination of odd and even image fields
    • H04N5/23216
    • 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/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • 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/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • 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/20192Edge enhancement; Edge preservation
    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)

Abstract

다중-프레임 블렌딩(multi-frame blending) 방법은: 장면의 복수의 이미지 프레임들을 획득하되, 상기 복수의 이미지 프레임들은 단노출 시간(shorter exposure time)으로 캡처된 참조(reference) 이미지 프레임 및 장노출 시간(longer exposure time)으로 캡처된 복수의 비참조(non-reference) 이미지 프레임들을 포함하는 단계; 상기 비참조 이미지 프레임들과 매칭되도록 상기 참조 이미지 프레임의 밝기(brightness) 및 색상을 조정하는(adjusting) 단계; 상기 이미지 프레임들에 각각 상응하는 복수의 모션 맵들(motion maps)을 획득하는 단계; 상기 복수의 모션 맵들에 기초하여, 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지(blended image)로 블렌딩하는 단계; 및 상기 블렌딩된 이미지에 대해 컨투어 감축(contour reduction)을 수행하여 상기 블렌딩된 이미지에서 컨투어 아티팩트들(contour artifacts)을 감축하는 단계를 포함한다.

Description

상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들로 결합하는 방법 및 장치
본 개시는 이미지 캡처 시스템(image capturing systems)에 관한 것이다. 보다 구체적으로, 본 개시는 상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들(blended images)로 결합하는 방법 및 장치에 관한 것이다.
스마트폰 및 태블릿 컴퓨터와 같은 많은 모바일 전자 디바이스들은 정지(still) 및 비디오 이미지들을 캡처하는 데 이용될 수 있는 카메라들을 포함한다. 편리하긴 하지만, 모바일 전자 디바이스들 상의 카메라들에는 전형적으로 여러 단점들이 있다. 예를 들면, 액션 장면들(action scenes)의 캡처된 이미지들에는 전형적으로, 장면에서 하나 이상의 움직이는 객체들(moving objects)의 블러링(blurring) 또는 스미어링(smearing)을 의미하는, 모션 블러(motion blur)가 발생하기 쉽다. 이미지들에서 모션 블러의 양은 상기 이미지들을 캡처하는 데 이용되는 노출 시간들(exposure times)을 감소시켜 줄일 수 있으나, 불행하게도 이는 또한 상기 캡처된 이미지들에서 노이즈 레벨을 증가시킨다. 다른 예로, 특정 장면들의 이미지들에는, 보다 적은 이미지 디테일을 갖는 이미지의 영역들에서 거짓 컨투어들(false contours)의 생성을 의미하는, 컨투어 아티팩트들(contour artifacts)이 발생하기 쉬울 수 있다. 컨투어 아티팩트들은, 이들이 사람들의 얼굴 또는 피부에 걸쳐 발생하는 경우 또는 이들이 일반적으로 일관된 배경(generally-consistent background)에 대해 설정된 객체들 주위에서 발생하는 경우, 특히 뚜렷하게 나타날 수 있다.
많은 모바일 전자 디바이스들 내의 카메라들에는 여러 단점들이 있을 수 있다. 예를 들면, 액션 장면들의 캡처된 이미지들에는 전형적으로 모션 블러(motion blur)가 발생하기 쉬우며, 하나의 가능한 해결책(이미지를 캡처하는 데 이용되는 노출 시간을 감소시킴)은 모션 블러를 감소시키지만 노이즈를 증가시킬 수 있다. 저조도(low-light) 환경들에서 이미지들을 캡처하는 데 이용되는 노출 시간들은 적당한 양의 빛이 감지되도록 하기 위해 증가되어야 하기 때문에, 모션 블러는 특히 저조도 환경들에서 문제될 수 있다. 다른 예로, 특정 장면들의 이미지들에는 컨투어 아티팩트들이 발생하기 쉬울 수 있는데, 이러한 컨투어 아티팩트들은, 이들이 사람들의 얼굴이나 피부에 걸쳐 발생하는 경우 또는 이들이 일반적으로 일관된 배경에 대해 설정된 객체들 주위에서 발생하는 경우, 특히 뚜렷하게 나타날 수 있다. 컨투어 아티팩트들의 감소 또는 최소화는 중요한 작업(non-trivial task)이다.
본 개시는 상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들로 결합하는 방법 및 장치를 제공한다.
본 개시의 일 양태에 따르면, 다중-프레임 블렌딩(multi-frame blending) 방법이 제공된다. 상기 방법은: 장면의 복수의 이미지 프레임들을 획득하되, 상기 복수의 이미지 프레임들은 단노출 시간으로 캡처된 참조(reference) 이미지 프레임 및 장노출 시간으로 캡처된 복수의 비참조(non-reference) 이미지 프레임들을 포함하는 단계; 상기 비참조 이미지 프레임들과 매칭되도록 상기 참조 이미지 프레임의 밝기(brightness) 및 색상(color)을 조정하는(adjusting) 단계; 상기 복수의 이미지 프레임들에 각각 상응하는 복수의 모션 맵들(motion maps)을 획득하는 단계; 상기 복수의 모션 맵들에 기초하여, 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지(blended image)로 블렌딩하는 단계; 및 상기 블렌딩된 이미지에 대해 컨투어 감축(contour reduction)을 수행하여 상기 블렌딩된 이미지에서 컨투어 아티팩트들(contour artifacts)을 감소시키는 단계를 포함한다.
일 실시예에서, 상기 참조 이미지 프레임은 상기 비참조 이미지 프레임들보다 더 높은 감도(sensitivity)로 캡처된다.
일 실시예에서, 상기 비참조 이미지 프레임들은 상기 참조 이미지 프레임 전에 캡처된 적어도 하나의 이미지 프레임 및 상기 참조 이미지 프레임 후에 캡처된 적어도 하나의 이미지 프레임을 포함한다.
일 실시예에서, 상기 복수의 이미지 프레임들을 획득하는 단계는: 상기 단노출 시간으로 캡처된 다수의 이미지 프레임들을 획득하는 단계; 및 상기 단노출 시간으로 캡처된 상기 다수의 이미지 프레임들 중 하나를 상기 참조 이미지 프레임으로 선택하는 단계를 포함한다.
일 실시예에서, 상기 복수의 이미지 프레임들을 획득하는 단계는 상기 참조 이미지 프레임과 정렬되도록(align) 상기 비참조 이미지 프레임들을 수정하는(modifying) 단계를 포함한다.
일 실시예에서, 상기 참조 이미지 프레임의 밝기 및 색상을 조정하는 단계는, 적어도 하나의 비참조 이미지 프레임과 연관된 적어도 하나의 히스토그램(histogram)에 기초하여, 상기 참조 이미지 프레임의 비선형 변환(nonlinear transformation)을 수행하는 단계를 포함한다.
일 실시예에서, 상기 참조 이미지 프레임의 밝기 및 색상을 조정하는 단계는: 상기 참조 이미지 프레임과 상기 비참조 이미지 프레임들 간의 차이에 기초하여 히스토그램 맵(histogram map)을 획득하는 단계; 및 상기 적어도 하나의 히스토그램 맵에 기초하여 상기 참조 이미지 프레임의 픽셀 값들(pixel values)을 매핑함으로써 상기 참조 이미지 프레임을 수정하는 단계를 포함한다.
일 실시예에서, 상기 히스토그램 맵을 획득하는 단계는: 상기 비참조 이미지 프레임들에 각각 상응하는 복수의 히스토그램 맵들을 획득하는 단계; 및 상기 복수의 히스토그램 맵들을 결합하여(combining) 상기 히스토그램 맵을 획득하는 단계를 포함한다.
일 실시예에서, 상기 히스토그램 맵을 획득하는 단계는: 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들로부터 모션과 연관된 모션 픽셀들(motion pixels)을 식별하는 단계; 및 상기 모션 픽셀들을 제외한 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들의 픽셀들에 기초하여, 상기 히스토그램 맵을 획득하는 단계를 포함한다.
일 실시예에서, 상기 모션 픽셀들을 식별하는 단계는: 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들로부터 픽셀 값들 간의 절대 차이들(absolute differences)을 식별하는 단계; 상기 절대 차이들에 기초하여 적어도 하나의 히스토그램을 생성하는 단계; 상기 적어도 하나의 히스토그램에 기초하여 하나 이상의 모션 임계값들(motion threshold values)을 식별하는 단계; 및 상기 하나 이상의 모션 임계치(motion threshold) 중 적어도 하나를 초과하는 적어도 하나의 절대 차이를 갖는 픽셀을 상기 모션 픽셀로 결정하는 단계를 포함한다.
일 실시예에서, 상기 복수의 모션 맵들을 획득하는 단계는: 상기 참조 이미지 프레임과 상기 복수의 비참조 이미지 프레임들 각각 간의 차이에 기초하여 복수의 비참조 모션 맵들을 획득하는 단계; 상기 복수의 비참조 모션 맵들을 결합하여 결합된(combined) 비참조 모션 맵을 획득하는 단계; 및 상기 결합된 비참조 모션 맵에 기초하여 상기 참조 이미지 프레임에 상응하는 참조 모션 맵을 획득하는 단계를 포함하며, 상기 참조 모션 맵 및 상기 결합된 비참조 모션 맵은 서로 보완적이다.
일 실시예에서, 상기 참조 모션 맵의 값들은 미리 결정된 범위 내에 있다.
일 실시예에서, 상기 복수의 모션 맵들에 기초하여 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지로 블렌딩하는 단계는 상기 복수의 모션 맵들을 가중치들(weights)로 이용하여 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들에 대해 가중 평균화(weighted averaging)를 수행하는 단계를 포함한다.
일 실시예에서, 상기 블렌딩된 이미지에 대해 컨투어 감축을 수행하는 단계는: 상기 복수의 모션 맵들에 기초하여 상기 블렌딩된 이미지의 픽셀들에 대한 컨투어 우도(contour likelihood)를 획득하되, 상기 컨투어 우도는 상기 비참조 이미지 프레임들이 얼마나 일관되게 상기 블렌딩된 이미지에 기여하고 있는지를 지시하는 단계; 및 상기 컨투어 우도를 이용하여 상기 블렌딩된 이미지를 수정하는 단계를 포함한다.
일 실시예에서, 상기 블렌딩된 이미지를 수정하는 단계는: 상기 블렌딩된 이미지와 상기 참조 이미지 프레임 간의 차이 신호(difference signal)를 획득하는 단계; 상기 차이 신호에 대해 에지 강도 필터링(edge strength filtering) 및 저역통과 필터링(low pass filtering)을 수행함으로써 필터링된 차이 신호를 획득하는 단계; 상기 필터링된 차이 신호 및 상기 컨투어 우도에 기초하여 컨투어 신호(contour signal)를 획득하는 단계; 및 상기 블렌딩된 이미지로부터 상기 컨투어 신호를 차감하는(subtracting) 단계를 포함한다.
일 실시예에서, 상기 차이 신호를 획득하는 단계는, 상기 참조 이미지 프레임과 상기 블렌딩된 이미지 간의 색차(chrominance) 데이터의 차이들을 식별하지 않고, 상기 참조 이미지 프레임과 상기 블렌딩된 이미지 간의 휘도(luminance) 데이터의 차이들을 식별하는 단계를 포함한다.
일 실시예에서, 상기 필터링된 차이 신호를 획득하는 단계는: 이동식 3x3 윈도우(moving 3x3 window) 내 픽셀들을 이용한 상기 에지 강도 필터링을 수행함으로써 상기 차이 신호를 정규화하는(normalizing) 단계; 및 7x7 균일 필터(uniform filter)를 이용하여 상기 정규화된 차이 신호에 대해 상기 저역통과 필터링을 수행하여 상기 필터링된 차이 신호를 획득하는 단계를 포함한다.
일 실시예에서, 상기 방법은 상기 컨투어-감축된 블렌딩된 이미지에 대해 노이즈 필터링(noise filtering) 및 에지 샤프닝(edge sharpening) 중 적어도 하나를 수행하는 단계를 더 포함한다.
본 개시의 다른 양태에 따르면, 전자 디바이스가 제공된다. 상기 전자 디바이스는 적어도 하나의 이미지 센서, 적어도 하나의 메모리, 및 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 메모리는 명령어들(instructions)을 저장한다. 상기 적어도 하나의 프로세서는 상기 저장된 명령어들을 실행하여: 장면의 복수의 이미지 프레임들을 획득하도록 상기 적어도 하나의 이미지 센서를 제어하되, 상기 복수의 이미지 프레임들은 단노출 시간으로 캡처된 참조 이미지 프레임 및 장노출 시간으로 캡처된 복수의 비참조 이미지 프레임들을 포함하고; 상기 비참조 이미지 프레임들과 매칭되도록 상기 참조 이미지 프레임의 밝기 및 색상을 조정하며; 상기 복수의 이미지 프레임들에 각각 상응하는 복수의 모션 맵들을 획득하고; 상기 복수의 모션 맵들에 기초하여, 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지로 블렌딩하며; 상기 블렌딩된 이미지에 대해 컨투어 감축을 수행하여 상기 블렌딩된 이미지에서 컨투어 아티팩트들을 감소시키도록 구성된다.
본 개시의 다른 양태에 따르면, 컨투어 감축 방법이 제공된다. 상기 방법은: 참조 이미지 프레임 및 복수의 비참조 이미지 프레임들을 포함하는 복수의 이미지 프레임들을 결합함으로써 블렌딩된 이미지를 획득하는 단계; 상기 복수의 이미지 프레임들에 각각 상응하는 복수의 모션 맵들을 획득하는 단계; 상기 복수의 모션 맵들에 기초하여 상기 블렌딩된 이미지의 픽셀들에 대한 컨투어 우도를 획득하되, 상기 컨투어 우도는 상기 비참조 이미지 프레임들이 얼마나 균형 있게 상기 블렌딩된 이미지에 기여하고 있는지 지시하는 단계; 및 상기 컨투어 우도를 이용하여 상기 블렌딩된 이미지를 수정하는 단계를 포함한다.
본 개시의 다른 양태에 따르면, 다중-프레임 블렌딩 방법은 장면의 적어도 2개의 이미지 프레임들을 획득하는 단계를 포함한다. 상기 이미지 프레임들 중 하나는 단노출 시간 및 고감도와 연관되며 참조 이미지 프레임을 나타낸다. 상기 이미지 프레임들 중 적어도 다른 하나는 장노출 시간 및 저감도와 연관되며 적어도 하나의 비참조 이미지 프레임을 나타낸다. 상기 방법은 또한, (i) 블렌딩된 이미지의 하나 이상의 모션 영역들(motion regions)은 상기 참조 이미지 프레임에 더 기초하고 (ii) 상기 블렌딩된 이미지의 하나 이상의 고정 영역들(stationary regions)은 상기 적어도 하나의 비참조 이미지 프레임에 더 기초하도록, 상기 참조 및 비참조 이미지 프레임들을 상기 블렌딩된 이미지로 블렌딩하는 단계를 포함한다.
본 개시의 다른 양태에 따르면, 전자 디바이스는 적어도 하나의 이미지 센서 및 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는 상기 적어도 하나의 이미지 센서를 이용하여 장면의 적어도 2개의 이미지 프레임들을 획득하도록 구성된다. 상기 이미지 프레임들 중 하나는 단노출 시간 및 고감도와 연관되며 참조 이미지 프레임을 나타낸다. 상기 이미지 프레임들 중 적어도 다른 하나는 장노출 시간 및 저감도와 연관되며 적어도 하나의 비참조 이미지 프레임을 나타낸다. 상기 적어도 하나의 프로세서는 또한, (i) 블렌딩된 이미지의 하나 이상의 모션 영역들은 상기 참조 이미지 프레임에 더 기초하고 (ii) 상기 블렌딩된 이미지의 하나 이사의 고정 영역들은 상기 적어도 하나의 비참조 이미지 프레임에 더 기초하도록, 상기 참조 및 비참조 이미지 프레임들을 상기 블렌딩된 이미지로 블렌딩하도록 구성된다.
본 개시의 다른 양태에 따르면, 컨투어 감소 방법은 참조 이미지 프레임 및 다수의 비참조 이미지 프레임들을 결합함으로써 생성되는 블렌딩된 이미지를 획득하는 단계를 포함한다. 상기 방법은 또한 상기 비참조 이미지 프레임들과 연관된 모션 맵들이 상기 참조 프레임을 기준으로 모션을 일관되게 식별하거나 또는 식별하지 않는 위치를 식별하는 단계를 포함한다. 상기 방법은, 상기 모션 맵들이 일관되게 모션을 식별하지 않는 위치에 기초하여 컨투어 감축을 적용할, 상기 블렌딩된 이미지의 픽셀들 또는 영역들을 식별하는 단계를 더 포함한다. 또한, 상기 방법은 컨투어 감축을 상기 식별된 픽셀들 또는 영역들에 적용하여 처리된 블렌딩된 이미지(processed blended image)를 생성하는 단계를 포함한다.
본 개시 및 그 이점의 보다 완전한 이해를 위해, 첨부된 도면과 함께 이하의 설명이 이루어지며, 여기서 동일한 참조 번호는 동일한 부분을 나타낸다.
도 1은, 본 개시의 실시예에 따른, 전자 디바이스를 포함하는 예시적 네트워크 구성(network configuration)을 도시한다.
도 2는, 본 개시의 실시예에 따른, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하는 예시적 프로세스를 도시한다.
도 3은, 본 개시의 실시예에 따른, 다중-프레임 블렌딩 동작을 수행하는 예시적 프로세스를 도시한다.
도 4는, 본 개시의 실시예에 따른, 히스토그램 매칭 동작을 수행하는 예시적 프로세스를 도시한다.
도 5는, 본 개시의 실시예에 따른, 히스토그램 매칭 맵 생성 동작을 수행하는 예시적 프로세스를 도시한다.
도 6은, 본 개시의 실시예에 따른, 모션 맵 후처리 동작을 수행하는 예시적 프로세스를 도시한다.
도 7은, 본 개시의 실시예에 따른, 컨투어 감축 동작을 수행하는 예시적 프로세스를 도시한다.
도 8은 본 개시의 실시예에 따른 예시적인 에지 강도 필터(edge strength filter)를 도시한다.
도 9는, 본 개시의 실시예에 따른, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하는 예시적 방법을 도시하는 흐름도(flow diagram)이다.
도 10은, 본 개시의 실시예에 따른, 블렌딩된 이미지에서의 예시적인 컨투어 감축 방법을 도시하는 흐름도이다.
도 11a 및 도 11b는, 본 개시의 실시예에 따른, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하여 획득되는 예시적 결과를 도시한다.
도 12a 및 도 12b는, 본 개시의 실시예에 따른, 블렌딩된 이미지에 대한 컨투어 감축을 수행하여 획득되는 예시적 결과를 도시한다.
본 개시의 실시예들은 첨부 도면을 참조하여 이하에서 설명될 것이다. 그러나, 본 개시의 실시예들은 특정 실시예들에 제한되지 않으며 본 개시의 모든 변형들, 변경들, 균등(equivalent) 디바이스들 및 방법들, 및/또는 대체(alternative) 실시예들을 포함하는 것으로 해석되어야 한다. 도면의 설명에서, 유사한 참조 번호는 유사한 요소에 사용된다.
"전송하다(transmit)", "수신하다(receive)", 및 "통신하다(communicate)"라는 용어들뿐 아니라 그 파생어들은 직접 및 간접 통신 모두를 포괄한다. "포함하다(include)" 및 "구비하다(comprise)"라는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다. "또는(or)"이라는 용어는 "및/또는(and/or)"을 의미하는 포괄적인 용어이다. "~와 연관된(associated with)"이라는 문구 및 그 파생문구들은 포함하다(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) 등을 의미한다.
또한, 하기 설명되는 다양한 기능들(functions)은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 또는 지원될 수 있으며, 상기 하나 이상의 컴퓨터 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 구현된다. "애플리케이션(application)" 및 "프로그램(program)"이라는 용어들은 하나 이상의 컴퓨터 프로그램들, 소프트웨어 구성요소들, 명령어들(instructions)의 세트들, 프로시저들(procedures), 기능들(functions), 객체들(objects), 클래스들(classes), 인스턴스들(instances), 관련 데이터, 또는 적절한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 이들의 일부를 의미한다. "컴퓨터 판독가능 프로그램 코드"라는 문구는, 소스 코드(source code), 객체 코드(object code), 및 실행가능 코드(executable code)를 포함하는 모든 유형의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 문구는, 읽기 전용 메모리(read only memory: ROM), 랜덤 액세스 메모리(random access memory: RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc: CD), 디지털 비디오 디스크(digital video disc: DVD), 또는 다른 어떤 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 어떠한 유형의 매체라도 포함한다. "비일시적(non-transitory)" 컴퓨터 판독가능 매체는 일시적인 전기적 또는 기타 신호들을 전송하는 유선, 무선, 광학적, 또는 기타 통신 링크들을 제외한다. 비일시적 컴퓨터 판독가능 매체는 데이터가 영구적으로 저장될 수 있는 매체들 및, 다시쓰기가능(rewritable) 광디스크 또는 소거가능(erasable) 메모리 디바이스와 같이, 데이터가 저장되고 추후에 덮어 쓰일(overwritten) 수 있는 매체들을 포함한다.
본 개시에서, 특징(feature)(예를 들면, 수(number), 기능(function), 동작(operation), 또는 부품(part)과 같은 구성요소(component))을 "가지다(have)", "가질 수 있다(may have)", "포함하다(include)", 또는 "포함할 수 있다"와 같은, 용어들 및 문구들은 상기 특징의 존재를 나타내며 다른 특징들의 존재를 배제하지 않는다. 또한, 본 개시에서, "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(at least one A)를 포함하는 것, (2) 적어도 하나의 B(at least one B)를 포함하는 것, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B를 포함하는 것을 모두 나타낼 수 있다. 또한, 본 개시에서, "제1(first)" 및 "제2(second)"라는 용어들은 중요도와 상관 없이 다양한 구성요소들을 수식할 수 있으며 상기 구성요소들을 제한하지 않는다. 이러한 용어들은 단지 하나의 구성요소를 다른 것과 구별하기 위해 사용된다. 예를 들면, 제1 사용자 디바이스 및 제2 사용자 디바이스는, 상기 디바이스들의 순서 또는 중요도와 상관 없이, 서로 다른 사용자 디바이스들을 나타낼 수 있다. 본 개시의 범위를 벗어나지 않고, 제1 구성요소가 제2 구성요소로 표기될 수 있고 그 반대의 경우도 마찬가지이다.
어떤 구성요소(예를 들면, 제1 구성요소)가 다른 구성요소(예를 들면, 제2 구성요소)와 (작동 가능하게(operatively) 또는 통신 가능하게(communicatively)) "결합(coupled with/to)" 또는 "연결(connected with/to)"된다고 언급될 때, 상기 구성요소는 상기 다른 구성요소와 직접 또는 제3 구성요소를 통해 결합 또는 연결될 수 있음을 이해할 수 있을 것이다. 반면에, 어떤 구성요소(예를 들면, 제1 구성요소)가 다른 구성요소(예를 들면, 제2 구성요소)와 "직접 결합(directly coupled with/to)" 또는 "직접 연결(directly connected with/to)"된다고 언급될 때, 상기 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예를 들면, 제3 구성요소)가 개재되지 않음을 이해할 수 있을 것이다.
본 개시에서, "~하도록 구성된(또는 설정된)(configured(or set) to)"이라는 문구는, 상황에 따라, "~에 적합한(suitable for)", "~할 능력이 있는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 적응된(adapted to)", "~하도록 만들어진(made to)", 또는 "~할 수 있는(capable of)"이라는 문구들과 상호교환적으로 사용될 수 있다. "~하도록 구성된(또는 설정된)"이라는 문구가 본질적으로 "~하도록 하드웨어적으로 특별히 설계된(specifically designed in hardware to)"이라는 의미를 나타내는 것은 아니다. 오히려, "~하도록 구성된"이라는 문구는 디바이스가 다른 디바이스 또는 부품들과 함께 동작을 수행할 수 있음을 의미할 수 있다. 예를 들면, "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"라는 문구는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써 상기 동작들을 수행할 수 있는 하드웨어 디바이스(예를 들면, CPU 또는 애플리케이션 프로세서)인 범용(generic-purpose) 프로세서, 또는 상기 동작들을 수행하기 위한 하드웨어 디바이스(예를 들면, 내장형(embedded) 프로세서)인 전용(dedicated) 프로세서를 의미할 수 있다.
본 개시에서 사용된 용어들 및 문구들은 단지 본 개시의 일부 실시예들을 설명하기 위해 제공되는 것이지 본 개시의 다른 실시예들의 범위를 제한하고자 제공되는 것이 아니다. 문맥상 명확히 달리 언급되지 않는 한 "a", "an", 및 "the"라는 단수 형태들은 복수 형태의 언급을 포함한다는 것을 이해해야 할 것이다. 본 개시에서 사용되는, 기술적 및 과학적 용어들 및 문구들을 포함하는, 모든 용어들 및 문구들은 본 개시의 실시예들이 속하는 기술분야의 통상의 지식을 가진 자에 의해 통상적으로 이해되는 바와 동일한 의미들을 가진다. 통상적으로 사용되는 사전들에서 정의된 바와 같은, 용어들 및 문구들은 관련 기술분야의 맥락에서 그 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 개시에서 명시적으로 정의되지 않는 한 이상적이거나 지나치게 형식적인 의미로 해석되어서는 안 된다는 것을 또한 이해할 것이다. 경우에 따라서, 본 개시에서 정의된 용어들 및 문구들은 본 개시의 실시예들을 배제하는 것으로 해석될 수 있다.
본 개시의 실시예들에 따른 "전자 디바이스"의 예들은 스마트폰, 태블릿 개인용 컴퓨터(personal computer: PC), 휴대 전화(mobile phone), 비디오폰, 전자책 단말기(e-book reader), 데스크탑(desktop) PC, 랩탑(laptop) 컴퓨터, 노트북 컴퓨터, 워크스테이션, 개인 휴대 정보 단말기(personal digital assistant: PDA), 휴대용 멀티미디어 플레이어(portable multimedia player: PMP), MP3 플레이어, 모바일 의료 디바이스, 카메라, 또는 웨어러블 디바이스(예를 들면, 스마트 안경, 머리 착용형 디바이스(head-mounted device: HMD), 전자 의류(electronic clothes), 전자 팔찌, 전자 목걸이, 전자 앱세서리, 전자 문신, 스마트 거울, 또는 스마트 워치(smart watch)) 중 적어도 하나를 포함할 수 있다. 기타 특정 단어들 및 문구들에 대한 정의들은 본 특허 문서 전체에 걸쳐 제공될 수 있다. 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는, 대부분은 아닐지라도 많은 경우, 그러한 정의들이 그와 같이 정의된 단어들 및 문구들의 선행(prior) 사용뿐만 아니라 향후(future) 사용에도 적용됨을 이해해야 할 것이다.
본 출원에서의 어떤 설명도 어떤 특정 구성요소, 단계, 또는 기능이 청구 범위(claim scope)에 포함되어야 하는 필수 구성요소임을 암시하는 것으로 해석되어서는 안 된다. 특허 대상(patented subject matter)의 범위는 오직 청구항들에 의해서만 정의된다. 청구항 내에서, 제한 없이 "메커니즘(mechanism)", "모듈(module)", "디바이스(device)", "구성요소(component)", "요소(element)", "부재(member)", "장치(apparatus)", "기계(machine)", "시스템(system)", "프로세서(processor)", 또는 "컨트롤러(controller)"를 포함하는, 다른 어떤 용어의 사용은 관련 기술분야의 통상의 지식을 가진 자에게 알려진 구조들을 지칭하는 것으로 본 출원인에 의해 이해된다.
이하에서 논의되는 도 1 내지 도 12b, 및 본 개시의 다양한 실시예들은 첨부 도면을 참조하여 설명된다. 그러나, 본 개시는 이러한 실시예들에 제한되지 않으며, 이들에 대한 모든 변경들 및/또는 균등물들(equivalents) 또는 대체물들(replacements)도 또한 본 개시의 범위에 속함을 이해해야 할 것이다. 동일 또는 유사한 참조 표시들(reference denotations) 은 상세한 설명 및 도면 전체에 걸쳐서 동일 또는 유사한 요소들(elements)을 지칭하는 데 이용될 수 있다.
본 개시는 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하는 기법들을 제공한다. 하기에서 보다 상세히 설명되는 바와 같이, 이미지 프레임은 단노출 시간 및 고감도를 이용하여 캡처될 수 있고 참조 프레임(reference frame)으로 이용될 수 있으며, 하나 이상의 추가적 이미지 프레임들은 장노출 시간 및 저감도로 캡처될 수 있다(예를 들면, 단노출 이미지 프레임의 캡처 이전, 이후, 또는 이전 및 이후). 상기 단노출의 이미지 프레임은 상기 장노출 이미지 프레임(들)과 비교하여 모션이 거의 또는 전혀 발생하지 않는 영역들에서는 보다 적은 이미지 디테일을 가질 수 있지만, 상기 단노출 이미지 프레임은 모션이 발생하는 영역들에서는 모션 블러(motion blur)가 거의 또는 전혀 없을 수 있다. 반면에, 상기 장노출 이미지 프레임(들)은 상기 단노출 이미지 프레임과 비교하여 모션이 거의 또는 전혀 발생하지 않는 영역들에서는 보다 많은 이미지 디테일을 가질 수 있지만, 상기 장노출 이미지 프레임(들)은 모션이 발생하는 영역들에서는 모션 블러가 더 많을 수 있다. 따라서, 본 개시에서 설명되는 기법들은, 감소된/최소의 모션 블러 및 감소된/최소의 노이즈를 갖는 블렌딩된 이미지(blended image)를 생성하기 위해, 적어도 일부가 상이한 노출 설정들을 이용하여 캡처되는, 다수의 이미지 프레임들이 결합될 수 있도록 한다. 다양한 실시예들에서, 이는 상기 이미지 프레임들 간의 측광 차이들(photometric differences)을 감축 또는 최소화하도록 효과적인 모션 픽셀 배제(rejection)와 함께 히스토그램 매칭(histogram matching)을 이용하여 달성될 수 있으며, 상기 히스토그램 매칭은 상기 단노출 이미지 프레임과 함께 장노출 이미지 프레임들(이용 가능한 경우) 중 상이한 것들을 이용하여 여러 번 발생할 수 있다.
본 개시에서 설명되는 다양한 실시예들에 따르면, 상이한 이미지 프레임들은, 예를 들면, (i) 단노출 시간을 이용하여 모션 블러가 감소되거나 최소인 하나 이상의 객체들을 캡처하고 (ii) 장노출 시간을 이용하여 노이즈를 감축 또는 최소화하여 이미지 디테일을 증가 또는 최대화함으로써, 상이한 바람직한 특성들에 대해 최적화될 수 있다. 상기 상이한 이미지 프레임들로부터의 보다 고품질의 영역들이 결합될 수 있는 것과 함께 상기 결합 시 상기 이미지 프레임들의 저품질의 영역들이 주로 억제될 수 있다. 모션 블러를 감축하는 맥락에서, 이는 모션이 발생하는 상기 단노출 이미지 프레임의 영역들(이미지 프레임의 "모션 영역들(motion regions)"로 지칭됨) 및 모션이 거의 또는 전혀 발생하지 않는 상기 장노출 이미지 프레임(들)의 영역들(이미지 프레임의 "고정 영역들(stationary regions)"로 지칭됨)을 주로 이용하는 것을 포함할 수 있다. 상기 상이한 이미지 프레임들로부터의 상기 영역들 간의 트랜지션들(transitions)은 상기 블렌딩된 이미지 내 영역들 간의 트랜지션들을 개선하도록 우아하게 핸들링될 수 있다. 본 개시에서, 모션 블러 감축이 상기 다중-노출 이미지 프레임 블렌딩 기법들의 한 가지 가능한 용도이지만, 상기 다중-노출 이미지 프레임 블렌딩 기법들의 다른 응용들도 또한 가능함을 유의해야 할 것이다.
본 개시는 또한 블렌딩된 이미지들에서의 컨투어 감축 기법들을 제공하며, 이는 본 개시에서 설명되는 상기 다중-노출 이미지 프레임 블렌딩 기법들과 함께 이용되거나 또는 이용되지 않을 수도 있다. 상기 컨투어 감축 기법들은, 다수의 이미지 프레임들이 공통된 아니면 상이한 노출 설정들을 이용하여 캡처되는지 여부와 상관 없이, 다수의 이미지 프레임들이 결합되어 블렌딩된 이미지를 생성하는, 다양한 접근법들과 함께 이용될 수 있다. 이하에서 보다 상세히 설명되는 바와 같이, 어떤 방식으로든, 다수의 이미지 프레임들을 결합하여 생성되는 블렌딩된 이미지는 컨투어 아티팩트들이 발생하기 쉬운 특정 영역들에서만 상기 컨투어 아티팩트들을 분리(isolate) 및 배제하기(reject) 위해 분석된다. 이는, 이미지 품질을 불필요하게 저하시킬 수 있는 컨투어 아티팩트들이 발생할 것 같지 않은 영역들에 대한 컨투어 감축의 적용을 방지하면서, 모션 영역들과 연관된 상기 블렌딩된 이미지 내의 영역들에서 컨투어 아티팩트들이 감소 또는 최소화되도록 수행된다. 이런 식으로, 이러한 컨투어 감축 기법들은 산만하게 하는(distracting) 아티팩트들을 더 적어지도록 하면서 장면들의 보다 보기 좋은 이미지들을 생성할 수 있다.
이러한 기법들은 이하에서 모바일 전자 디바이스를 이용하여 수행되는 것으로 종종 설명되지만, 다른 전자 디바이스들도 또한 이러한 기법들을 수행 또는 지원하는 데 이용될 수 있음을 유의하라. 따라서, 이러한 기법들은 다양한 유형의 전자 디바이스들에서 이용될 수 있다. 또한, 이하에서 설명되는 기법들은 장면의 정지(still) 이미지들을 캡처할 때 이미지 프레임들을 처리하는 것으로 종종 설명되지만, 동일 또는 유사한 접근법들이 비디오 이미지들의 캡처를 지원하는 데 이용될 수 있다.
도 1은, 본 개시의 실시예에 따른, 전자 디바이스를 포함하는 예시적 네트워크 구성(100)을 도시한다. 도 1에 도시된 네트워크 구성(100)의 실시예는 단지 예시를 위한 것이다. 본 개시의 범위를 벗어나지 않고 네트워크 구성(100)의 다른 실시예들이 이용될 수 있다.
본 개시의 실시예들에 따르면, 전자 디바이스(101)는 네트워크 구성(100)에 포함될 수 있다. 전자 디바이스(101)는 이미지들을 캡처하고 처리하는 디바이스일 수 있다. 전자 디바이스(101)는 버스(110), 프로세서(120), 메모리(130), 입출력(input/output: I/O) 인터페이스(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)는, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하기 위해, 이하에서 보다 상세히 논의되는 바와 같이, 상기 이미지 데이터를 처리할 수 있다. 프로세서(120)는 또한 또는 대안적으로, 컨투어 감축을 제공하기 위해, 이하에서 보다 상세히 논의되는 바와 같이, 상기 이미지 데이터를 처리할 수 있다.
메모리(130)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 예를 들면, 메모리(130)는 전자 디바이스(101)의 적어도 하나의 다른 구성요소와 관련된 명령들(commands) 또는 데이터를 저장할 수 있다. 본 개시의 실시예들에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(kernal)(141), 미들웨어(middleware)(143), 애플리케이션 프로그래밍 인터페이스(application programming interface: API)(145), 및/또는 애플리케이션 프로그램(또는 "애플리케이션")(147)을 포함한다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는 운영 체제(operating system: OS)로 표시될 수 있다.
커널(141)은 다른 프로그램들(예를 들면, 미들웨어(143), API(145), 또는 애플리케이션 프로그램(147))에서 구현되는 동작들(operations) 또는 기능들(functions)을 수행하는 데 이용되는 시스템 자원들(예를 들면, 버스(110), 프로세서(120), 또는 메모리(130))을 제어 또는 관리할 수 있다. 커널(141)은, 미들웨어(143), API(145), 또는 애플리케이션(147)이 상기 시스템 자원들을 제어 또는 관리하기 위해 전자 디바이스(101)의 개별 구성요소들을 액세스할 수 있도록 하는, 인터페이스를 제공한다. 애플리케이션(147)은 이하에서 논의되는 바와 같이 이미지 캡처 및 이미지 처리를 위한 하나 이상의 애플리케이션들을 포함할 수 있다. 이러한 기능들은 단일 애플리케이션에 의해 또는, 각각이 이러한 기능들 중 하나 이상을 수행하는, 다수의 애플리케이션들에 의해 수행될 수 있다. 미들웨어(143)는, 예를 들면, API(145) 또는 애플리케이션(147)이 커널(141)과 데이터를 통신할 수 있도록 하는, 릴레이(relay)로 기능할 수 있다. 복수의 애플리케이션들(147)이 제공될 수 있다. 미들웨어(143)는, 예를 들면, 전자 디바이스(101)의 상기 시스템 자원들(버스(110), 프로세서(120), 또는 메모리(130)와 같은 것들)을 이용하는 우선순위를 상기 복수의 애플리케이션들(147) 중 적어도 하나에 할당함으로써, 애플리케이션들(147)로부터 수신되는 작업 요청들(work requests)을 제어할 수 있다. API(145)는, 애플리케이션(147)이 커널(141) 또는 미들웨어(143)로부터 제공되는 기능들을 제어할 수 있도록 하는, 인터페이스일 수 있다. 예를 들면, API(145)는 파일링 제어(filing control), 윈도우 제어, 이미지 처리, 또는 텍스트 제어를 위한 적어도 하나의 인터페이스 또는 기능(예를 들면, 명령(command))을 포함할 수 있다.
I/O 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 디바이스들로부터 입력된 명령들 또는 데이터를 전자 디바이스(101)의 다른 구성요소(들)로 전달할 수 있는, 인터페이스로서의 역할을 할 수 있다. I/O 인터페이스(150)는 또한 전자 디바이스(101)의 다른 구성요소(들)로부터 입력된 명령들 또는 데이터를 상기 사용자 또는 상기 다른 외부 디바이스에 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(liquid crystal display: LCD), 발광 다이오드(light emitting diode: LED) 디스플레이, 유기 발광 다이오드(organic light emitting diode: OLED) 디스플레이, 퀀텀닷 발광 다이오드(quantum-dot light emitting diode: QLED) 디스플레이, 미세전자기계 시스템(microelectromechanical systems: MEMS) 디스플레이, 또는 전자 종이 디스플레이. 디스플레이(160)는 또한, 다중-초점 디스플레이와 같은, 깊이-인식(depth-aware) 디스플레이일 수 있다. 디스플레이(160)는 또한 다양한 콘텐츠(예를 들면, 텍스트, 이미지들, 비디오들, 아이콘들(icons), 또는 기호들(symbols))를 상기 사용자에게 표시할 수 있다. 디스플레이(160)는 터치스크린을 포함할 수 있고, 예를 들면, 전자 펜 또는 상기 사용자의 신체 일부를 이용한 터치, 제스처(gesture), 근접(proximity), 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스(170)는, 예를 들면, 전자 디바이스(101)와 외부 전자 디바이스(예를 들면, 제1 전자 디바이스(102), 제2 전자 디바이스(104), 또는 서버(106)) 간에 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는, 상기 외부 전자 디바이스와 통신하기 위해, 무선 또는 유선 통신을 통해 네트워크(162 또는 164)와 연결될 수 있다. 통신 인터페이스(170)는 유선 또는 무선 송수신기(transceiver)일 수 있거나 또는, 이미지들과 같은, 신호들을 전송 및 수신하는 다른 어떤 구성요소일 수 있다.
전자 디바이스(101)는, 물리량을 계측하거나 전자 디바이스(101)의 활성화 상태를 검출할 수 있는, 하나 이상의 센서들(180)을 더 포함할 수 있고, 게측된 또는 검출된 정보를 전기 신호로 변환할 수 있다. 예를 들면, 하나 이상의 센서들(180)은 하나 이상의 터치 입력용 버튼들, 하나 이상의 카메라들, 제스처 센서, 자이로스코프(gyroscope) 또는 자이로 센서(gyro sensor), 기압(air pressure) 센서, 자기 센서 또는 자력계(magnetometer), 가속도 센서 또는 가속도계(accelerometer), 그립(grip) 센서, 근접(proximity) 센서, 컬러(color) 센서(예를 들면, 적녹청(red green blue: RGB) 센서), 생체물리(bio-physical) 센서, 온도 센서, 습도 센서, 조도(illumination) 센서, 자외선(ultraviolet: UV) 센서, 근전도(electromyography: EMG) 센서, 뇌파(electroencephalogram: EEG) 센서, 심전도(electrocardiogram: ECG) 센서, 적외선(infrared: IR) 센서, 초음파 센서, 홍채(iris) 센서, 및 지문 센서를 포함할 수 있다. 센서(들)(180)는 또한, 하나 이상의 가속도계들, 자이로스코프들, 및 기타 구성요소들을 포함할 수 있는, 관성 측정 장치(inertial measurement unit)를 포함할 수 있다. 센서(들)(180)는 본 개시에 포함된 센서들 중 적어도 하나를 제어하기 위한 제어 회로를 더 포함할 수 있다. 이러한 센서(들)(180) 중 어떤 것이라도 전자 디바이스(101) 내에 위치할 수 있다. 상기 하나 이상의 카메라들은 선택적으로(optionally) 적어도 하나의 플래시(flash)(190)와 함께 이용될 수 있다. 플래시(190)는, 하나 이상의 LED들과 같이, 전자 디바이스(101)에 의한 이미지 캡처에 이용하기 위한 조명(illumination)을 생성하도록 구성된 디바이스를 나타낸다.
제1 외부 전자 디바이스(102) 또는 제2 외부 전자 디바이스(104)는 웨어러블 디바이스이거나 또는 전자 디바이스-장착가능(electronic device-mountable) 웨어러블 디바이스(예를 들면, HMD)일 수 있다. 전자 디바이스(101)가 전자 디바이스(102)(예를 들면, HMD)에 장착되는 경우, 전자 디바이스(101)는 통신 인터페이스(170)를 통해 전자 디바이스(102)와 통신할 수 있다. 전자 디바이스(101)는 별도의 네트워크와의 관련 없이 전자 디바이스(102)와 통신하기 위해 전자 디바이스(102)와 직접 연결될 수 있다. 전자 디바이스(101)는 또한, 하나 이상의 카메라들을 포함하는, 안경과 같은, 증강 현실(augmented reality) 웨어러블 디바이스일 수 있다.
상기 무선 통신은, 셀룰러 통신 프로토콜(cellular communication protocol)로서, 예를 들면, 롱텀 에벌루션(long term evolution: LTE), 롱텀 에벌루션-어드밴스드(long term evolution-advanced: LTE-A), 5세대 무선 시스템(5th generation wireless system: 5G), 밀리미터파 또는 60 GHz 무선 통신, 무선 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)는, 컴퓨터 네트워크(예를 들면, 로컬 영역 네트워크(local area network: LAN) 또는 광역 네트워크(wide area network: 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 com), 또는 클라이언트-서버 컴퓨팅(client-server computing) 기법이 이용될 수 있다. 도 1은 전자 장치(101)가 네트워크(162)를 통해 외부 전자 디바이스(104) 또는 서버(106)와 통신하기 위해 통신 인터페이스(170)를 포함하는 것을 도시하고 있지만, 본 개시의 실시예들에 따르면, 전자 디바이스(101)는 별도의 통신 기능 없이 독립적으로 동작될 수 있다.
서버(106)는, 선택적으로(optionally), 전자 디바이스(101) 상에서 구현되는 동작들(또는 기능들) 중 적어도 하나를 수행 또는 지원함으로써 전자 디바이스(101)를 지원할 수 있다. 예를 들면, 서버(106)는, 전자 디바이스(101) 내에 구현되는 프로세서(120)를 지원할 수 있는, 처리 모듈(processing module) 또는 프로세서를 포함할 수 있다.
도 1은 전자 디바이스(101)를 포함하는 네트워크 구성(100)의 일 예를 도시하고 있지만, 도 1에 대해 다양한 변경이 이루어질 수 있다. 예를 들면, 네트워크 구성(100)은 각 구성요소를 어떤 개수로 어떤 적절한 배치로도 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템들은 매우 다양한 구성으로 구현되며, 도 1은 본 개시의 범위를 어떤 특정한 구성으로 제한하지 않는다. 또한, 도 1은 본 특허 문서에 개시된 다양한 특징들이 이용될 수 있는 하나의 동작 환경(operational environment)을 도시하고 있지만, 이러한 특징들은 다른 어떤 적절한 시스템에서도 이용될 수 있다.
도 2는, 본 개시의 실시예에 따른, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하는 예시적 프로세스(200)를 도시한다. 설명의 편의를 위해, 도 2에 도시된 프로세스(200)는 도 1의 전자 디바이스(101)의 사용을 포함하는 것으로 설명된다. 그러나, 도 2에 도시된 프로세스(200)는 다른 어떤 적절한 전자 디바이스와 함께 어떤 적절한 시스템에서도 이용될 수 있다.
동작(operation)(202)은, 도 1에 도시된 바와 같은 전자 디바이스(101)의 적어도 하나의 카메라 내의 하나 이상의 센서들(180)을 나타낼 수 있는, 적어도 하나의 이미지 센서를 이용하여 수행될 수 있다. 동작들(204, 206, 및 208)은, 도 1에 도시된 바와 같은 전자 디바이스(101)의 하나 이상의 프로세서들(120)을 나타낼 수 있는, 적어도 하나의 프로세서에 의해 수행될 수 있다.
도 2를 참조하면, 동작(202)에서, 이미지 센서(180)는, 장면과 연관된, 프리뷰 이미지 프레임들 및 이미지 프레임들의 버스트들(bursts)을 캡처하는 데 이용될 수 있다. 여기서 어떤 적절한 센서(180)라도 이용될 수 있다. 상기 프리뷰 이미지 프레임들은 실시간으로 검출되는 이미지를 의미할 수 있다. 상기 이미지 프레임들의 버스트들은, 짧은 시간 인터벌(interval) 내에서 연속적으로 캡처된, 상기 장면의 복수의 이미지 프레임들일 수 있다. 상기 프리뷰 이미지 프레임들은, 사용자가 상기 프리뷰 이미지 프레임들을 보고 이미지 프레임들의 버스트의 캡처를 개시할 것인지 여부 및 언제 개시할 것인지를 결정하도록, 전자 디바이스(101)의 디스플레이(160)와 같은, 디스플레이로 출력된다.
동작(204)에서, 상기 프리뷰 이미지 프레임들은 또한 장면 분석(scene analysis)을 위해 제공될 수도 있다. 프로세서(120)는 상기 장면의 이미지 프레임들을 캡처하는 데 이용될 베이스라인(baseline) 노출 시간(종종 EV+0으로 표시됨)을 식별할 수 있다. 예를 들면, 일부 실시예들에서, 프로세서(120)는, 자동 노출(auto-exposure: AE) 알고리즘에 의한 상기 장면의 광 레벨(light level)에 기초하여, 상기 장면에 적절한 노출 시간을 결정할 수 있다. 상기 AE 알고리즘에 기초하여, 프로세서(120)는 밝기(brightness) 측면에서 캡처된 이미지 프레임의 균형을 맞추기 위해 노출 시간을 선택할 수 있다(이는 캡처된 이미지 프레임에서 과소-노출(under-exposed) 및 과다-노출된(over-exposed) 픽셀들이 최소화된 것을 의미함). 따라서, 프로세서(120)는, 실제 프레임 캡처 동작이 발생하기 직전에 상기 이미지 센서가 검출하는 상기 광 레벨에 기초하여, 상기 베이스라인 노출 시간을 식별하도록 동작할 수 있다.
동작(206)에서, 상기 결정된 베이스라인 노출 시간은 노출 제어(exposure control)를 위해 제공될 수 있다. 프로세서(120)는 캡처될 이미지 프레임의 수 및 그러한 이미지 프레임들의 캡처 시 이용될 노출 설정들(exposure settings)을 식별할 수 있다. 캡처에 이용될 상기 노출 설정들은 각각의 이미지 프레임에 대해 상이하게 설정될 수 있다. 일 실시예에서, 이하에서 설명되는 바와 같은 다중-노출 이미지 프레임 블렌딩 기법을 지원하기 위해, 프로세서(120)는 이미지 센서(180)가 상기 베이스라인 노출 시간(EV+0)으로 하나 이상의 이미지 프레임들을 캡처하고 단노출 시간, 예를 들면, 1/2 노출 시간(EV-1), 1/4 노출 시간(EV-2), 또는 1/8 노출 시간(EV-3)으로, 적어도 하나의 이미지 프레임을 캡처해야 한다고 결정할 수 있다.
본 개시의 다양한 실시예들에서, 프로세서(120)는 이미지 센서(180)가 장노출 및 단노출 이미지 프레임들을 캡처하는 데 이용되는 순서를 결정할 수 있다. 일부 실시예들에서, 프로세서(120)는 이미지 센서(180)가 하나 이상의 장노출 이미지 프레임들이 캡처되기 전에 적어도 하나의 단노출 이미지 프레임을 캡처해야 한다고 결정할 수 있다. 다른 실시예들에서, 프로세서(120)는 이미지 센서(180)가 하나 이상의 장노출 이미지 프레임들이 캡처된 후에 적어도 하나의 단노출 이미지 프레임을 캡처해야 한다고 결정할 수 있다. 또 다른 실시예들에서, 프로세서(120)는 이미지 센서(180)가 장노출 이미지 프레임들 중 적어도 2개의 캡처 사이에 적어도 하나의 단노출 이미지 프레임을 캡처해야 한다고 결정할 수 있는데, 이는 상기 단노출 이미지 프레임이 상기 장노출 이미지 프레임들의 캡처 시간들(capture times) 사이에 위치하는 캡처 시간을 가짐을 의미한다.
본 개시의 다양한 실시예들에서, 이미지 캡처 시, 이미지 센서(180)의 감도도 또한 프로세서(120)에 의해, 즉, 단노출 이미지 캡처에 대해 보다 높은 ISO 레벨 또는 기타 보다 높은 감도를 이용하고(보다 높은 이득(gain)을 제공하기 위해) 장노출 이미지 캡처에 대해 보다 낮은 ISO 레벨 또는 기타 보다 낮은 감도를 이용하여(보다 낮은 이득을 제공하기 위해), 제어될 수 있다. 일부 실시예들에서, 캡처된 이미지 프레임들이 보다 유사하거나 또는 실질적으로 동일한 밝기 레벨들을 가지도록, 상이한 ISO 레벨들 또는 기타 감도들이 이용될 수 있다. 특정 실시예들에서, 장노출 시간과 단노출 시간 간의 비(ratio)가 고감도와 저감도 간의 비와 실질적으로 매칭되도록, 노출 시간들 및 감도들이 선택될 수 있다.
프로세서(120)는, 이미지 프레임들의 버스트(burst) 캡처 시, 결정된 노출 시간들에서 그리고 결정된 순서로 복수의 이미지 프레임들을 캡처하도록 이미지 센서(180)를 제어할 수 있다. 다른 유형의 이미지 캡처 동작들을 지원하기 위해, 프로세서(120)는 다른 노출 시간들 및 캡처할 이미지 프레임 수들을 결정할 수 있다. 예를 들면, 프로세서(120)는 또한 공통된 노출 설정들을 이용한 상기 복수의 이미지 프레임들의 캡처를 지원할 수 있는데, 이후에 그러한 이미지 프레임들은 결합된다.
동작(208)에서, 이미지 센서(180)에 의해 버스트로 캡처된 상기 복수의 이미지 프레임들은 다중-프레임 블렌딩(multi-frame blending)을 위해 제공된다. 프로세서(120)는, 모션 블러가 최소화되거나 없는, 장면의 적어도 하나의 최종 이미지를 생성하기 위해 상기 캡처된 이미지 프레임들을 처리한다. 상기 복수의 이미지 프레임들은 단노출 시간으로 캡처된 참조 이미지 프레임 및 장노출 시간으로 캡처된 복수의 비참조 이미지 프레임들을 포함한다.
이하에서 보다 상세히 설명되는 바와 같이, 상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들의 블렌딩 시, 프로세서(120)는 참조 이미지 프레임에서 모션 영역들을 식별할 수 있다. 상기 모션 영역들은 모션으로 인해 블러링이 발생하기 쉬운 영역들을 의미한다. 광 레벨이 감소할수록 노출 시간은 증가하기 때문에, 상기 모션 영역들은 특히 저조도(low light) 하에서 블러링이 발생하기 쉽다. 프로세서(120)는 상기 모션 영역들을 식별하기 위해 상기 참조 이미지 프레임과 하나 이상의 비참조 이미지 프레임들을 비교할 수 있다. 일 실시예에서, 프로세서(120)는, 다수의 이용 가능한 비참조 이미지 프레임들이 있는 경우, 다수의 히스토그램 매칭 동작들을 수행할 수 있다.
본 개시의 다양한 실시예들에서, 프로세서(120)는 또한 상기 참조 및 비참조 이미지 프레임들에 기초하여 하나 이상의 모션 맵들을 생성하고, 상기 히스토그램 매칭 및 상기 모션 맵(들)에 기초하여 상기 참조 및 비참조 이미지 프레임들을 블렌딩할 수 있다. 프로세서(120)는 또한 또는 대안적으로 블렌딩된 이미지 프레임에서의 컨투어 감축을 수행할 수 있다. 블렌딩 동작(208) 및 상기 컨투어 감축 동작의 예시적 실시예들이 이하에서 설명되지만, 블렌딩 동작(208) 및 상기 컨투어 감축 동작의 다른 구현들도 또한 이용될 수 있다.
도 3은, 본 개시의 실시예에 따른, 다중-프레임 블렌딩 동작을 수행하는 예시적 프로세스를 도시한다. 상기 프로세스는 도 2의 프로세스에서 다중-프레임 블렌딩 동작(208)에 상응할 수 있다. 상기 프로세스는, 도 1에 도시된 바와 같은 전자 디바이스(101)의 하나 이상의 프로세서들(120)을 나타낼 수 있는, 적어도 하나의 프로세서에 의해 수행될 수 있다.
도 3을 참조하면, 이미지 프레임들의 컬렉션(302)이, 예를 들면, 전자 디바이스(101)의 상기 카메라(들) 내의 적어도 하나의 이미지 센서(180)를 이용하여 캡처될 수 있다. 여기서, 컬렉션(302)은 적어도 3개의 이미지 프레임들(304, 306, 및 308)을 포함하지만, 2개의 이미지 프레임들 또는 3개 초과의 이미지 프레임들이 컬렉션(302)에 포함될 수 있다.
컬렉션(302)은 상이한 노출 설정들을 이용하여 캡처된 복수의 이미지 프레임들을 포함할 수 있다. 상기 복수의 이미지 프레임들은 단노출 시간으로 캡처된 참조 이미지 프레임 및 장노출 시간으로 캡처된 복수의 비참조 이미지 프레임들을 포함할 수 있다. 예를 들면, 이미지 프레임들(304 및 308)은, EV+0 노출 시간과 같은, 장노출 시간을 이용하여 캡처된 비참조 이미지 프레임들일 수 있다. 이미지 프레임들(304 및 308)은 저감도를 이용하여 캡처될 수 있다. 이미지 프레임(306)은, EV-1, EV-2, 또는 EV-3 노출 시간과 같이, 이미지 프레임들(304 및 308)에 비해 상대적으로 단노출 시간을 이용하여 캡처된 참조 이미지 프레임일 수 있다. 이미지 프레임(306)은 이미지 프레임들(304 및 308)에 비해 상대적으로 고감도를 이용하여 캡처될 수 있다. 여기서, 단노출 시간을 갖는 이미지 프레임(306)은 장노출 이미지 프레임들(304 및 308) 사이에서 캡처될 수 있다.
일 실시예에서, 다른 수의 이미지 프레임들이 캡처될 수 있고, 다른 수의 노출 설정들이 이용될 수 있다. 일 예로, 장노출 시간 및 저감도를 갖는 하나 이상의 이미지 프레임들(304)은 이미지 프레임(306)이 캡처되기 전에 캡처될 수 있거나(이미지 프레임(306) 후에 캡처된 어떠한 이미지 프레임(308)도 없음), 또는 장노출 시간 및 저감도를 갖는 하나 이상의 이미지 프레임들(308)은 이미지 프레임(306)이 캡처된 후에 캡처될 수 있다(이미지 프레임(306) 전에 캡처된 어떠한 이미지 프레임(304)도 없음). 다른 예로, 장노출 시간 및 저감도를 갖는 다수의 이미지 프레임들(304)은 이미지 프레임(306)이 캡처되기 전에 캡처될 수 있고, 장노출 시간 및 저감도를 갖는 다수의 이미지 프레임들(308)은 이미지 프레임(306)이 캡처된 후에 캡처될 수 있다. 특정한 예로, 2개 이상의 장노출 이미지 프레임들(304)은 단노출 이미지 프레임(306) 전에 캡처될 수 있고, 2개 이상의 장노출 이미지 프레임들(308)은 단노출 이미지 프레임(306) 후에 캡처될 수 있다.
또 다른 예로, 다수의 단노출 이미지 프레임들이 캡처될 수 있고, 상기 단노출 이미지 프레임들 중 하나가 후속 처리 시 참조 이미지 프레임으로 사용하기 위해 선택될 수 있다. 예를 들면, 상기 다수의 단노출 이미지 프레임들 중에서 모션 블러의 양이 가장 적은 단노출 이미지 프레임이 참조 프레임으로 선택될 수 있다. 이하의 논의 시, 종종 다수의 비참조 이미지 프레임들(304 및 308)이 처리되는(processed) 것으로 가정될 수 있지만, 상이한 수의 비참조 이미지 프레임들(단일 비참조 이미지 프레임 포함)이 이용되는 경우 본 개시가 속하는 기술분야의 통상의 지식을 가진 자에 의해 적절한 변경들이 쉽게 이루어질 수 있다.
또한, 경우에 따라, 장노출 이미지 프레임(304 또는 308)은 실제로 단노출 이미지 프레임(306)보다 더 선명하거나(clearer) 또는 더 양호한 전반적 품질(overall quality)을 가질 수 있음을 유의해야 할 것이다. 이는, 예를 들면, 단노출 이미지 프레임(306)의 캡처 시 갑작스런 흔들림(shake) 또는 기타 움직임(movement)으로 인해 발생할 수 있다. 단노출 이미지 프레임(306)이 품질이 불충분한 경우(예를 들면, 어떤 임계치(threshold) 또는 다른 이미지 프레임들(304, 308)과 비교하여), 장노출 이미지 프레임(304 또는 308)이 상기 참조 프레임으로 선택될 수도 있다.
동작(310)에서, 이미지 프레임 컬렉션(302)이 이미지 정합(image registration)을 위해 제공될 수 있다. 프로세서(120)는 이미지 프레임들(304, 306, 및 308)을 정렬하고 정렬된 이미지 프레임들을 생성할 수 있다. 전자 디바이스(101)가 이미지 캡처들 사이에 이동 또는 회전하여 이미지 프레임들(304, 306, 및 308) 내의 객체들이 약간 이동 또는 회전하도록 한 경우 정렬이 필요할 수 있는데, 이는 휴대용 디바이스들(handheld devices)에서 통상적인 것이다. 여기서 이미지 프레임들(304, 306, 및 308)은 기하학적으로 및 측광적으로(photometrically) 정렬될 수 있다.
프로세서(120)는 참조 이미지 프레임(306)과 정렬되도록 하나 이상의 비참조 이미지 프레임들(304 및 308)을 수정할(modify) 수 있다. 상기 이미지 프레임들의 정렬된 버전들은 참조 이미지 프레임(312a)(이는 참조 이미지 프레임(306)의 정렬된 버전을 나타냄) 및 하나 이상의 비참조 이미지 프레임들(312b)(이는 하나 이상의 비참조 이미지 프레임들(304 및 308)의 정렬된 버전들을 나타냄)을 포함한다. 여기서 참조 이미지 프레임(306)은 상기 정렬 시 수정되거나 또는 수정되지 않을 수 있고(이미지 프레임(312a)이 이미지 프레임(306)과 매칭될 수 있음을 의미), 하나 이상의 비참조 이미지 프레임들(304 및 308)은 오직 상기 정렬 시 수정되는 이미지 프레임들만을 나타낼 수 있음을 유의하라. 이미지 프레임들을 정렬하기 위해 어떤 적절한 기법이라도 이용될 수 있으며, 다양한 정렬 기법들이 본 개시가 속하는 기술분야에 알려져 있다. 일부 실시예들에서, 프로세서(120)는 블록 탐색(block search)으로부터 글로벌(global) 지향된 FAST 및 회전된 BRIEF(Oriented FAST and Rotated BRIEF: ORB) 특징들 및 로컬(local) 특징들을 이용하여 상기 이미지 프레임들을 정렬할 수 있지만, 이미지 정합 동작(310)의 다른 구현들도 또한 이용될 수 있다.
동작(314)에서, 정렬된 이미지 프레임들(312a-312b)은 히스토그램 매칭(histogram matching)을 위해 제공될 수 있다. 프로세서(120)는, 밝기 및 색상을 이미지 프레임들(312a-312b) 모두에 대해 일반적으로 동일하도록 만들기 위해, 참조 이미지 프레임(312a)의 밝기 및 색상을 조정할 수 있다.
본 개시의 다양한 실시예들에서, 프로세서(120)는, 상기 복수의 비참조 이미지 프레임들과 연관된 복수의 히스토그램에 기초하여, 상기 참조 이미지 프레임의 비선형 변환(nonlinear transformation)을 수행할 수 있다. 프로세서(120)는, 예를 들면, 참조 이미지 프레임(312a)에 적절한 전달 함수(transfer function)를 적용함으로써, 참조 이미지 프레임(312a)의 히스토그램과 하나 이상의 비참조 이미지 프레임들(312b)의 하나 이상의 히스토그램들을 매칭할 수 있다.
이하에서 보다 상세히 설명되는 바와 같이, 본 개시의 다양한 실시예들에서, 프로세서(120)는 상기 참조 이미지 프레임과 상기 비참조 이미지 프레임들 간의 차이에 기초하여 히스토그램 맵을 획득하고, 상기 히스토그램 맵에 기초하여 상기 참조 이미지 프레임의 픽셀 값들을 매핑함으로써 상기 참조 이미지 프레임을 수정할 수 있다. 본 개시의 일부 실시예들에서, 프로세서(120)는 이미지 프레임들(312a-312b) 간의 측광적 차이들을 식별하기 위해 참조 이미지 프레임(312a)과 함께 비참조 이미지 프레임들(312b) 중 상이한 것들을 이용하여(다수의 비참조 이미지 프레임들(312b)이 있다고 가정) 다수의 히스토그램 매칭 맵들을 획득할 수 있다. 프로세서(120)는 상기 다수의 히스토그램 맵들을 결합하고 결합된 히스토그램 맵에 기초하여 상기 참조 프레임을 수정할 수 있다. 본 개시의 일부 실시예들에서, 프로세서(120)는 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들로부터 모션과 연관된 모션 픽셀들을 식별하고, 상기 모션 픽셀들을 제외한 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들의 픽셀들에 기초하여 상기 히스토그램 맵을 획득할 수 있다.
상기 히스토그램 매칭은 전처리된(pre-processed) 정렬된 참조 이미지 프레임(316)을 생성하는 결과를 초래할 수 있다. 이미지 정합 및 히스토그램 매칭 후, 비참조 이미지 프레임들(312b) 및 전처리된 참조 이미지 프레임(316) 내의 장면 콘텐트(scene content)는, 상기 장면에서 움직이는 객체들을 제외하고, 밀접하게 매칭될 수 있다.
이하에서 히스토그램 매칭 동작(314)의 하나의 예시적 실시예가 설명되지만, 히스토그램 매칭 동작(314)의 다른 구현들도 또한 이용될 수 있다. 동작(318)에서, 하나 이상의 정렬된 비참조 이미지 프레임들(312b) 및 전처리된 정렬된 참조 이미지 프레임(316)은 프레임 융합(frame fusion)을 위해 제공될 수 있다. 프로세서(120)는 각각의 비참조 이미지 프레임(312b)과 참조 이미지 프레임(316)을 비교할 수 있다. 하나의 비참조 이미지 프레임과 상기 참조 이미지 프레임 간의 각각의 비교에 대하여, 프로세서(120)는, 비교되는 상기 2개의 이미지 프레임들 간의 로컬(local) 차이들을 식별하는, 모션 맵(320)을 생성할 수 있다. 여기서 비교되는 상기 이미지 프레임들은 이전에 정렬되었기 때문에, 비교되는 2개의 이미지 프레임들 간의 로컬 차이들은 상기 2개의 이미지 프레임들 사이에 발생하는 모션을 지시한다.
일부 실시예들에서, 모션 맵(320)의 값은 각 픽셀과 연관된 모션의 크기(magnitude)를 지시할 수 있다. 일 실시예에서, 상기 모션 맵은 모션과 연관된 것으로 결정된 픽셀들에 대해 더 큰 값을 가질 수 있다. 다른 실시예에서, 상기 모션 맵은 모션과 연관된 것으로 결정된 픽셀들에 대해 더 작은 값을 가질 수 있다. 모션 맵들 또는 이미지 프레임들 간의 차이들을 식별하는 기타 데이터를 생성하는 데 어떤 적절한 기법이라도 이용될 수 있으며, 다양한 기법들이 본 개시가 속하는 기술분야에 알려져 있다. 특정한 예로, 프레임 융합 동작(318)은, 모션 맵들(320) 각각을 생성하기 위해, 미국 특허 출원 공개 제 2018/0192098호(전체 내용이 참조로서 본 개시에 포함됨)에 개시된 기법들을 이용할 수 있다.
일부 실시예들에서, 프로세서(120)는 n개의 이미지 프레임들(312b, 316)에 대해 n개의 모션 맵들(320)을 생성할 수 있다. 모션 맵들(320)은 하나 이상의 비참조 모션 맵, 및 참조 모션 맵을 포함할 수 있다. 해당 비참조 이미지 프레임(312b)과 참조 이미지 프레임(316)을 비교함으로써 각각의 비참조 이미지 프레임(312)에 대해 하나의 비참조 모션 맵이 생성될 수 있다. 예를 들면, 3개의 원본 이미지 프레임들(하나의 장노출, 하나의 단노출, 및 다른 하나의 장노출)이 있는 경우, 프로세서(120)는 2개의 비참조 모션 맵들을 생성할 수 있으며, 여기서 각각의 비참조 모션 맵은 상기 단노출 이미지 프레임과 상기 2개의 장노출 이미지 프레임들 중 하나의 비교에 기초한다. 5개의 원본 이미지 프레임들(2개의 장노출, 하나의 단노출, 및 다른 2개의 장노출)이 있는 경우, 프로세서(120)는 4개의 비참조 모션 맵들을 생성할 수 있으며, 여기서 각각의 비참조 모션 맵은 상기 단노출 이미지 프레임과 상기 4개의 장노출 이미지 프레임들 중 하나의 비교에 기초한다. 추가적인 모션 맵, 즉, 참조 모션 맵은 참조 이미지 프레임(316) 자체와 연관될 수 있다. 일 실시예에서, 그 자신과 비교되는 이미지 프레임(316)은 차이가 없을 것이기 때문에, 상기 참조 모션 맵은 모션이 검출되지 않음을 지시하는 값들로 채워질 수 있다. 예를 들면, 상기 참조 모션 맵은 참조 이미지 프레임(316)의 모든 픽셀들에 대해 동일한 값, 예를 들면, 최소값 또는 최대값을 가질 수 있다.
동작(322)에서, 상기 프레임 융합에 의해 생성되는 모션 맵들(320)은 모션 맵 후처리(motion map post-processing)를 위해 제공될 수 있다. 프로세서(120)는, 참조 및 비참조 이미지 프레임들(312b, 316)의 개선된 블렌딩을 지원하기 위해, 참조 이미지 프레임(316)과 연관된 상기 참조 모션 맵을 수정할 수 있다. 예를 들면, 프로세서(120)는 모션 맵들(320)을 분석하고, 이미지 프레임들의 블렌딩 시 참조 이미지 프레임(316)의 기여(contribution)가 감소 또는 최소화되도록, 참조 이미지 프레임(316)과 연관된 상기 참조 모션 맵을 어떻게 수정할지 결정할 수 있다. 다시 말하면, 프로세서(120)는 최종 이미지에 사용되는 단노출 이미지 프레임(306)으로부터의 이미지 데이터를 감소시키거나 또는 최소화할 수 있는데, 이는 상기 최종 이미지에서의 노이즈 감소를 개선 또는 최대화하는 데 도움이 된다(왜냐하면 이미지 프레임(306)은 단노출 시간을 가지므로 다른 이미지 프레임들(304 및 308)보다 더 많은 노이즈를 갖기 때문임).
상기 모션 맵 후처리는, 참조 이미지 프레임(316)과 연관된 수정된(modified) 참조 모션 맵을 나타내는, 후처리된(post-processed) 모션 맵(324)을 생성하는 결과를 초래할 수 있다. 이하에서 모션 맵 후처리 동작(322)의 하나의 예시적 구현이 설명되지만, 모션 맵 후처리 동작(322)의 다른 구현들도 또한 이용될 수 있다.
동작(326)에서, 참조 이미지 프레임(316), 하나 이상의 비참조 이미지 프레임들(312b), 및 모션 맵들(320 및 324)은 다중-프레임 블렌딩을 위해 제공될 수 있다. 프로세서(120)는, 모션 맵들(320 및 324)에 기초하여, 참조 이미지 프레임(316) 및 하나 이상의 비참조 이미지 프레임들(312b)을 결합할 수 있다. 예를 들면, 모션 맵들(320 및 324) 내의 값들은 가중치들(weights)로 취급될 수 있으며, 여기서 보다 높은 값들은 이미지 데이터가 블렌딩된 이미지에 대해 더 많이 기여함을 지시하고, 보다 낮은 값들은 이미지 데이터가 상기 블렌딩된 이미지에 대해 더 적게 기여함을 나타낸다(또는 그 반대의 경우임). 상기 다중-프레임 블렌딩에 의해 생성된 블렌딩된 이미지(328)에는 어떤 모션 영역들에 대해서도 참조 이미지 프레임(316)에 의해 정의되는 바와 같은 모션 블러가 거의 또는 전혀 없을 수 있고 어떤 고정 영역들에 대해서도 하나 이상의 비참조 이미지 프레임들(312b)에 의해 정의되는 바와 같은 이미지 디테일이 더 많고 노이즈가 더 적을 수 있다.
예를 들면, 이미지 프레임들(312b 및 316)로부터의 픽셀 값들의 가중 결합(weighted combination)(여기서 가중치들은 모션 맵들에 의해 정의됨)을 이용함으로써, 모션 맵들에 기초하여 2개 이상의 이미지 프레임들을 결합하는 어떤 적절한 기법이라도 상기 다중-프레임 블렌딩에 이용될 수 있다. 일부 실시예들에서, 프로세서(120)는 다음과 같이 이미지 데이터를 블렌딩할 수 있다:
Yblend = (Y1 * W1 + ... + Yn * Wn) / (W1 + ... + Wn) (1)
Ublend = (U1 * W1 + ... + Un * Wn) / (W1 + ... + Wn) (2)
Vblend = (V1 * W1 + ... + Vn * Wn) / (W1 + ... + Wn) (3)
여기서, Y1-Yn는 결합되는 n개의 이미지 프레임들(312b 및 316)로부터의 휘도(luminance) 픽셀 값들을 나타내고, U1-Un 및 V1-Vn는 결합되는 n개의 이미지 프레임들(312b 및 316)로부터의 색차(chrominance) 픽셀 값들을 나타낸다. 또한, W1-Wn는 결합되는 n 개의 이미지 프레임들(312b 및 316)과 연관된 모션 맵들(320 및 324)로부터의 가중치들을 나타낸다. 5개의 입력 이미지 프레임들에 대하여, 예를 들면, 제3 이미지 프레임은 단노출 시간을 가진다고 가정한다. 이 예에서, W1, W2, W4, 및 W5는 비참조 이미지 프레임들(312b)과 연관된 비참조 모션 맵들(320)을 나타낼 수 있고, W3는 참조 이미지 프레임(316)과 연관된 참조 모션 맵(324)을 나타낼 수 있다. 또한, Yblend, Ublend, 및 Vblend는 블렌딩된 이미지(328)에 포함된 휘도 및 색차 픽셀 값들을 나타낸다. 그러나, 여기서 다른 블렌딩 동작들이 발생할 수 있음을 유의하라.
동작(330)에서, 블렌딩된 이미지(3228)는 컨투어 감축(contour reduction)을 위해 제공된다. 프로세서(120)는 컨투어 아티팩트들이 형성되는 우도(likelihood)를 추정하고, 컨투어 아티팩트들이 발생할 가능성이 있는, 블렌딩된 이미지(328)의 그러한 영역들에서만 컨투어 감축을 적용할 수 있다. 상기 컨투어 감축은 컨투어 감축이 필요 없는 블렌딩된 이미지(328)의 영역들에서 컨투어 감축(이는 이미지 품질을 저하시킬 수 있음)이 적용되는 우도를 낮추는 데 도움이 될 수 있다. 상기 컨투어 감축은 처리된 블렌딩된 이미지(332)를 생성하는 결과를 초래할 수 있다.
컨투어 아티팩트들은 블렌딩된 이미지(328)에 대한 비참조 이미지 프레임들(321b)의 기여가 균형을 이루지 않는 경우 영역에서 나타날 가능성이 있을 수 있다. 이에 기초하여, 프로세서(120)는 컨투어 아티팩트들의 우도를 추정할 수 있다. 일부 실시예들에서, 프로세서(120)는, 하나의 비참조 이미지 프레임(312b)이 블렌딩된 이미지(328)에 대해 많은 정보를 기여하는 반면 다른 비참조 이미지 프레임(312b)은 그렇지 않은, 블렌딩된 이미지(328)의 모든 영역들을 식별함으로써 컨투어 아티팩트들이 형성되는 우도를 추정할 수 있다. 이하에서 컨투어 감축 동작(330)의 하나의 예시적 구현이 설명되지만, 컨투어 감축 동작(330)의 다른 구현들도 또한 이용될 수 있다.
블렌딩된 이미지(332)의 품질을 더 개선하기 위해, 처리된 블렌딩된 이미지(332)에 대해 하나 이상의 후처리 동작들이 수행될 수 있다. 예를 들면, 동작(334)에서, 처리된 블렌딩된 이미지(332)에 대해 노이즈 필터링(noise filtering) 및 에지 강조(edge enhancement)가 수행될 수 있다. 프로세서(120)는 처리된 블렌딩된 이미지(332)에서 공간 노이즈(spatial noise)를 제거하고 에지들의 선명도(sharpness)를 향상시킬 수 있다. 에지 강조 및 노이즈 필터링을 위한 다양한 기법들이 본 개시가 속하는 기술분야에 알려져 있다. 일부 실시예들에서, 상기 노이즈 필터링은 모션 맵들(320, 324)에 의해 안내되는 다중-스케일 노이즈 제거(multi-scale de-noising) 프로세스를 나타낼 수 있다.
도 3에 도시된 프로세스의 출력은 장면의 적어도 하나의 최종 이미지(336)이다. 최종 이미지(336)는 처리 후의 원본 이미지 프레임들(304, 306, 및 308)의 블렌드(blend)를 나타낼 수 있다. 최종 이미지(336)는 모션 영역들에서 모션 블러가 거의 또는 전혀 없을 수 있으며, 최종 이미지(336)에서 모션 블러의 양은 주로 원본 참조 이미지 프레임(306)에 포함된 모션 블러의 양에 의존할 수 있다. 또한, 최종 이미지(336)는 고정 영역들에서 개선된 이미지 디테일을 가질 수 있는데, 이는 주로 원본 비참조 이미지 프레임들(304 및 308)에서의 이미지 디테일의 양에 의존할 수 있다. 도 4는, 본 개시의 실시예에 따른, 히스토그램 매칭을 수행하는 예시적 프로세스를 도시한다. 상기 프로세스는 도 3의 프로세스의 히스토그램 매칭 동작(314)에 상응할 수 있다. 상기 프로세스는, 도 1에 도시된 전자 디바이스(101)의 하나 이상의 프로세서들(120)을 나타낼 수 있는, 적어도 하나의 프로세서에 의해 수행될 수 있다.
도 4를 참조하면, 동작들(402 및 404)에서, 다수의 히스토그램 매칭 맵들이 생성될 수 있다. 프로세서(120)는 소스 이미지 프레임에서 타겟 이미지 프레임으로의 매핑을 생성할 수 있다. 이 경우, 2개의 맵 생성 동작들(402 및 404)에 대한 소스 프레임은 참조 이미지 프레임(312a)이고, 각각의 맵 생성 동작(402 및 404)에서 상기 타겟 이미지 프레임은, 상이한 비참조 이미지 프레임들(312b)을 구별하기 위해 이미지 프레임들(312b1 및 312b2)로 표시되는, 2개의 비참조 이미지 프레임들(312b) 중 하나이다. 이는, 참조 이미지 프레임(312a)과 비참조 이미지 프레임들(312b) 간의 측광 관계들(photometric relationships)의 다수의 샘플들을 나타내는, 다수의 히스토그램 맵들(406a-406b)이 생성되는 결과를 초래한다. 일부 실시예들에서, 각각의 맵 생성 동작(402 및 404)은 상기 이미지 프레임들의 각 채널(Y, U, 및 V)에 대한 히스토그램 맵들을 각각 생성할 수 있다.
여기서 2개의 히스토그램 매칭 맵 생성 동작들(402 및 404)은 2개의 히스토그램 맵들(406a-406b)을 생성하는 것으로 도시되어 있지만, 이는 처리되는 3개의 이미지 프레임들(2개의 비참조 이미지 프레임들 포함)이 있다는 가정에 기초한 것이다. 2개 초과의 비참조 이미지 프레임들이 있는 경우, 프로세서(120)는 2개 초과의 히스토그램 매칭 맵들을 생성할 수 있다. 또한, 오직 하나의 비참조 이미지 프레임만 있는 경우, 프로세서(120)는 하나의 히스토그램 매칭 맵을 생성할 수 있다. 이하에서 히스토그램 매칭 맵 생성 동작(402 또는 404)의 하나의 예시적 구현이 설명되지만, 히스토그램 매칭 맵 생성 동작들(402 및 404)의 다른 구현들도 또한 이용될 수 있다.
일부 실시예들에서, 프로세서(120)는 모든 비참조 프레임들 중에서 미리 결정된 수의 비참조 프레임을 선택하고, 각각의 비참조 프레임에 대한 히스토그램 맵을 생성하는 것이 아니라, 상기 선택된 비참조 이미지 프레임들에 대한 히스토그램 맵들을 생성할 수 있다. 예를 들면, 3개 초과의 비참조 이미지 프레임들이 있는 경우라도, 프로세서(120)는 상기 비참조 이미지 프레임들 중에서 2개의 비참조 이미지 프레임들을 선택하고 상기 선택된 비참조 이미지 프레임들에 대한 히스토그램 맵들을 생성할 수 있다. 일부 실시예들에서, 상기 참조 이미지 프레임 전에 캡처된 하나의 비참조 이미지 프레임 및 상기 비참조 이미지 프레임 후에 캡처된 다른 하나의 비참조 이미지 프레임이, 상응하는 히스토그램 맵들을 생성하기 위해, 선택된다. 동작(408)에서, 프로세서(120)는 히스토그램 맵들(406a-406b)을 단일한 결합된 히스토그램 맵(410)으로 결합할 수 있다. 다수의 히스토그램 맵들(406a-406b)을 결합하고 결합된 히스토그램 맵(410)을 생성하기 위한 어떤 적절한 기법이라도 이용될 수 있다. 일부 실시예들에서, 프로세서(120)는 결합된 히스토그램 맵(410)을 생성하기 위해 히스토그램 맵들(406a-406b)의 평균(average)을 결정할 수 있다. 히스토그램 맵들(406a-406b)은 일반적으로 단조 증가(monotonically-increasing) 함수들을 나타내기 때문에, 이들의 평균도 또한 단조 증가 함수일 수 있다. 그러나, 다수의 히스토그램 맵들을 결합하는 데 다른 기법들이 이용될 수 있음을 유의하라.
일부 실시예들에서, 히스토그램 맵들(406a-406b) 및 결합된 히스토그램 맵(410)은 순방향 및 역방향 맵들 두 가지 모두를 포함할 수 있으며, 여기서 하나의 맵은 제1 이미지 프레임에서 제2 이미지 프레임으로의 매핑에 관한 것고 나머지 맵은 상기 제2 이미지 프레임에서 상기 제1 이미지 프레임으로의 매핑에 관한 것이다. 오직 하나의 히스토그램 매칭 맵이 생성되는 경우(예를 들면, 처리되는 비참조 이미지 프레임이 오직 하나만 있는 경우), 맵 결합 동작(408)은 생략 또는 스킵될(skipped) 수 있고, 히스토그램 매칭 맵 생성 동작(402 또는 404)의 출력은 결합된 히스토그램 맵(410)으로서 또는 그 대신에 사용될 수 있다.
동작(412)에서, 참조 이미지 프레임(312a) 및 결합된 히스토그램 맵(410)은 순방향 맵 적용(forward map application)을 위해 제공될 수 있다. 프로세서(120)는, 참조 이미지 프레임(312a)을 수정하고 전처리된 참조 이미지 프레임(316)을 생성하기 위해, 결합된 히스토그램 맵(410)(또는 결합된 히스토그램 맵(410)의 순방향 맵)을 참조 이미지 프레임(312a)에 적용할 수 있다. 프로세서(120)는 결합된 히스토그램 맵(410)에 기초하여 참조 이미지 프레임(312a)을 수정하기 위해 어떤 적절한 기법이라도 이용할 수 있다.
일부 실시예들에서, 프로세서(120)는, 참조 이미지 프레임(312a)으로부터의 원본 휘도 및/또는 색차 픽셀 값들을 전처리된 참조 이미지 프레임(316)에 대한 새로운 휘도 및/또는 색차 픽셀 값들로 매핑하는, 룩업 테이블(look-up table)을 이용할 수 있으며, 여기서 상기 룩업 테이블은 결합된 히스토그램 맵(410)에 의해 정의된다. 결과적인 전처리된 참조 이미지 프레임(316)은 하나 이상의 비참조 이미지 프레임들(312b)의 히스토그램들과 보다 밀접하게 매칭되는 히스토그램을 가질 수 있으며, 이는 이미지 프레임들(312b 및 316)의 밝기 및 색상을 보다 밀접하게 매칭하는 데 도움이 된다.
도 5는, 본 개시의 실시예에 따른, 히스토그램 매칭 맵 생성을 수행하는 예시적 프로세스를 도시한다. 상기 프로세스는 도 4의 프로세스에서 히스토그램 매칭 맵 생성 동작(402 또는 404)에 상응할 수 있다. 상기 프로세스는, 도 1에 도시된 바와 같은 전자 디바이스(101)의 하나 이상의 프로세서들(120)을 나타낼 수 있는, 적어도 하나의 프로세서에 의해 수행될 수 있다.
도 5를 참조하면, 동작들(502 및 504)에서, 입력 이미지 프레임들, 즉, 참조 이미지 프레임(312a) 및 하나의 비참조 이미지 프레임(312b)은 다운샘플링(downsampling)을 위해 제공될 수 있다. 프로세서(120)는 다운샘플링된 이미지 프레임들(506a-506b)을 생성하기 위해 상기 이미지 프레임들의 이미지 데이터를 다운샘플링할 수 있다. 여기서, 원본 이미지 데이터의 1/2, 1/4, 또는 1/8로의 다운샘플링과 같이, 어떤 적절한 양의 다운샘플링이라도 이용될 수 있다. 다운샘플링을 통해 후속 동작들에서 더 적은 이미지 데이터가 처리될 수 있으며, 이는 상기 후속 동작들의 속도를 높이는 데 도움일 될 수 있다. 히스토그램 맵 생성은 통계적 동작(statistical operation)이기 때문에, 다운샘플링은 생성되는 결과적인 히스토그램 맵에 거의 영향을 주지 않고 수행될 수 있다. 그러나, 여기서 다운샘플링이 반드시 필요한 것은 아니며 생략 또는 스킵될 수 있다.
동작(508)에서, 다운샘플링된 이미지 프레임들(506a-506b)은 히스토그램 생성을 위해 제공될 수 있다. 프로세서(120)는 다운샘플링된 이미지 프레임들(506a-506b) 간의 절대 차이들(absolute differences)을 결정할 수 있고(예를 들면, 픽셀 단위로(on a pixel-by-pixel basis)), 그러한 절대 차이들에 기초하여 적어도 하나의 히스토그램(510)을 생성한다. 히스토그램(510)은 다운샘플링된 이미지 프레임들(506a-506b) 간에 각각의 절대 차이값이 나타나는 횟수를 식별한다. 일 실시예에서, 상기 히스토그램들은 상기 이미지 프레임들의 각 채널에 대해 생성될 수 있다. 예를 들면, 프로세서(120)는 휘도 픽셀 값들의 절대 차이들에 기초하여 Y 채널 히스토그램을 생성할 수 있고, 색차 픽셀 값들의 절대 차이들에 기초하여 U 채널 히스토그램 및 V 채널 히스토그램을 생성할 수 있다.
동작(512)에서, 히스토그램(510)은 모션 임계치 생성을 위해 제공될 수 있다. 프로세서(120)는 히스토그램(510)에 기초하여, Y 임계치, U 임계치, 및 V 임계치와 같은, 하나 이상의 임계값들(514)을 식별할 수 있다. 각각의 임계값(514)은, 픽셀 값들이 모션 픽셀들에 상응하는 것으로 간주될, 포인트를 정의한다. 다시 말하면, 임계값(514)은 이미지 프레임들에서 어느 픽셀들이 장면 내의 하나 이상의 움직이는 객체들과 연관되는지 식별하는 데 이용될 수 있다. 프로세서(120)는 임계값들(514)을 식별하기 위한 어떤 적절한 기법이라도 이용할 수 있다.
일부 실시예들에서, 프로세서(120)는 다음과 같이 휘도 및 색차 픽셀 값들에 대한 임계치들 YMotTh, UMotTh, 및 VMotTh를 생성할 수 있다:
YMotTh = C * median(imhist(abs(Yref - Ynon-ref))) (4)
UMotTh = C * median(imhist(abs(Uref - Unon-ref))) (5)
VMotTh = C * median(imhist(abs(Vref - Vnon-ref))) (6)
여기서, Yref, Uref, 및 Vref는 참조 이미지 프레임(506a)의 휘도 및 색차 픽셀 값들을 나타내고, Ynon-ref, Unon-ref, 및 Vnon-ref는 비참조 이미지 프레임(506b)의 휘도 및 색차 픽셀 값들을 나타내며, abs(x)는 x의 절대값을 나타낸다. 따라서, imhist(abs(Yref - Ynon-ref))는, 상기 이미지 프레임들의 휘도 값들에 기초하여 히스토그램 생성 동작(508)에서 생성되는, 히스토그램(510)에서의 값들을 나타내고, imhist(abs(Uref - Unon-ref)) 및 imhist(abs(Vref - Vnon-ref))는, 상기 이미지 프레임들의 색차 값들에 기초하여 히스토그램 생성 동작(508)에서 생성되는, 히스토그램(510)에서의 값들을 나타낸다. 또한, median(*)은, 히스토그램 생성 동작(508)에서 생성되는, 히스토그램(510)에서의 휘도 또는 색차 히스토그램 값들의 중앙값(median value)을 결정하는 함수를 나타낸다. 또한, C는 그 위치에서 모션(motion)이 발생하는 것으로 가정되는 중앙값(median)의 배수(multiple)를 정의하는 데 이용되는 승수(multiplier)를 나타낸다. 경우에 따라, C의 값은 3일 수 있지만, 다른 양의 실수들이 이용될 수 있다. 그러나, 임계값들(514)은, 예를 들면, 중앙값들의 어떤 배수에 의존하지 않는 기법들을 이용하여, 다른 방식들로 결정될 수 있다.
동작(516)에서, 다운샘플링된 이미지 프레임들(506a-506b) 및 임계값들(514)은 모션 픽셀 제거를 위해 제공될 수 있다. 프로세서(120)는, 특정 픽셀들이 이들의 연관된 임계값들(514)을 초과하는 값들을 가지는 경우, 다운샘플링된 이미지 프레임들(506a-506b)로부터 상기 픽셀들을 제거할 수 있다. 다시 말하면, 프로세서(120)는, 특정 픽셀들이 모션과 연관되는 것으로 결정되는 경우, 상기 픽셀들을 고려 대상(consideration)에서 제거 또는 제외할 수 있다.
일부 실시예들에서, 이는, 모션과 연관되지 않은 이미지 프레임들(506a-506b)의 제외되지 않은 픽셀들과만 연관된 이미지 데이터를 포함하는, 처리된(processed) 다운샘플링된 이미지 프레임들(518)이 생성되는 결과를 초래한다. 모션과 연관된 이미지 프레임들(506a-506b)의 픽셀들은 0의 값을 할당 받을 수 있으며, 이는 이러한 픽셀들을 추후 이용에서 제외한다. 다른 실시예들에서, 이미지 프레임들(506a-506b)의 픽셀들은 수정되지 않을 수 있다. 대신에, 각 픽셀이 모션 픽셀들로 결정되는지 여부를 지시하는, 모션 픽셀 플래그 맵(motion pixel flag map)이 생성되어, 히스토그램 맵을 생성하는 데 이용될 다운샘플링된 이미지 프레임들(506a-506b)과 함께 제공될 수 있다.
식 (4) 내지 식 (6)을 이용하여 생성된 3개의 임계값들(514)을 이용하는 일부 실시예들에서, 프로세서(120)는 이미지 프레임들(506a-506b)의 각 픽셀이 다음의 조건들 중 어떤 것이라도 충족하는지 여부를 결정할 수 있다:
abs(Yref - Ynon-ref) > YMotTh (7)
abs(Uref - Unon-ref) > YMotTh (8)
abs(Vref - Vnon-ref) > YMotTh (9)
이러한 조건들 중 적어도 하나가 충족되는 경우, 연관된 픽셀은 히스토그램 맵을 생성하기 위한 고려 대상에서 제외될 수 있다. 일 실시예에서, 이미지 프레임 내의 픽셀은, 식 (7) 내지 식 (9)의 조건들 중 하나, 둘, 또는 모두가 충족되는 경우, 제거될 수 있다.
동작(520)에서, 처리된 다운샘플링된 이미지 프레임들(518) 또는 상기 다운샘플링된 이미지 프레임들 및 상기 모션 픽셀 플래그 맵은 히스토그램 생성을 위해 제공될 수 있다. 프로세서(120)는 이미지 프레임들(518)과 연관된 하나 이상의 히스토그램 맵들(406a 또는 406b)을 생성할 수 있다. 프로세서(120)는 각각의 처리된 다운샘플링된 이미지 프레임(518)으로부터 픽셀 값들의 하나 이상의 히스토그램들을 생성하고, 상기 2개의 이미지 프레임들, 즉, 하나의 비참조 이미지 프레임 및 상기 참조 이미지 프레임 간의 관계를 설정하기 위해 상기 히스토그램들의 카운트(count)를 매칭할 수 있다.
하나 이상의 히스토그램 맵들(406a 또는 406b)의 생성 시, 프로세서(120)는 모션과 연관된 어떤 픽셀도 고려하지 않을 수 있는데, 왜냐하면 그러한 픽셀들은 이전에 제거되었기 때문이다. 일부 실시예들에서, 처리된 다운샘플링된 이미지 프레임들(518)이 생성되는 경우, 프로세서(120)는 0의 값을 갖는 픽셀들은 하나 이상의 히스토그램들을 생성하는 데 이용하지 않을 수 있다. 다른 실시예들에서, 상기 모션 픽셀 플래그 맵이 생성되는 경우, 프로세서(120)는 상기 모션 픽셀 플래그 맵에 의해 모션 픽셀들로서 지시되는 픽셀들은 하나 이상의 히스토그램들을 생성하는 데 이용하지 않을 수 있다. 일부 실시예들에서, 프로세서(120)는 다운샘플링된 이미지 프레임들(518)의 각 채널(Y, U, 및 V)에 대해 순방향 및 역방향 맵들을 생성할 수 있다.
모션 픽셀들의 제거는 히스토그램 맵(406a 또는 406b)의 견고성(robustness)을 크게 증가시킬 수 있다. 도 4에 도시된 바와 같이, 견고성을 더 증가시키기 위해, 상이한 비참조 이미지 프레임들(312b)을 이용하여(이용 가능한 경우) 다수의 히스토그램 매칭 맵 생성 동작들(402 및 404)이 발생할 수 있다. 일부 실시예들에서, 상기 비참조 이미지 프레임들은 참조 이미지 프레임(316) 전에 캡처된 하나 이상의 비참조 이미지 프레임들(312b1) 및 참조 이미지 프레임(316) 후에 캡처된 하나 이상의 비참조 이미지 프레임들(312b2)을 포함할 수 있다. 이상적으로는, 이러한 이미지 프레임들로부터 생성된 히스토그램 맵들(406a-406b)은 동일할 수 있지만, 현실적으로는 종종 많은 장면들에서 히스토그램 맵들(406a-406b) 간에 사소한 차이들(minor divergences)이 있을 수 있다. 이들 중 오직 하나만 이용하는 대신, 히스토그램 맵들(406a-406b)이 결합될 수 있는데, 이에 따라 다수의 비참조 이미지 프레임들(312b)과 참조 이미지 프레임(316) 간의 보다 신뢰성 있는 매핑을 제공할 수 있다.
도 6은, 본 개시의 실시예에 따른, 모션 맵 후처리를 수행하는 예시적 프로세스를 도시한다. 상기 프로세스는 도 3의 프로세스에서 모션 맵 후처리(322)에 상응할 수 있다. 상기 프로세스는, 도 1에 도시된 바와 같은 전자 디바이스(101)의 하나 이상의 프로세서들(120)을 나타낼 수 있는, 적어도 하나의 프로세서에 의해 수행될 수 있다.
상술된 바와 같이, 프레임 융합 동작(318)에서 생성된 모션 맵들(320)은 결합되는 n개의 이미지 프레임들에 대한 n개의 모션 맵들을 포함할 수 있다. 모션 맵들(320)은, 모션이 없는 것을 지시하는 값들로 채워질 수 있는(왜냐하면 참조 이미지 프레임(316)은 자신과 비교하면 모션이 없기 때문임), 참조 이미지 프레임(316) 자체에 대한 하나의 참조 모션 맵을 포함할 수 있다. 이 참조 모션 맵은 도 6에서 참조 모션 맵(320a)으로 표시되어 있다. 모션 맵들(320)은 또한 n-1개의 비참조 이미지 프레임들(312b)에 대한 n-1개의 비참조 모션 맵들을 포함할 수 있으며, 여기서 이러한 비참조 모션 맵들 각각은 하나의 비참조 이미지 프레임(312b)과 참조 이미지 프레임(316)을 비교함으로써 생성된다. 이러한 비참조 모션 맵들은 도 6에서 모션 맵들(320b)로 표시되어 있다.
도 3의 프로세스의 모션 맵 후처리 동작(322)에서, 상기 프로세서는 참조 프레임(316)의 기여를 최대한 감소시켜 노이즈 감소를 최대화하기 위해 모션 맵들(320)을 평가할 수 있다. 모션 영역들에서, 비참조 이미지 프레임들(312b)에 대한 비참조 모션 맵들(320b)은 로컬 모션의 존재(이는 블렌딩된 이미지(328)에 대한 이들의 기여를 제한하거나 또는 심지어 제거할 것임)를 지시할 것이므로, 참조 이미지 프레임(316)은 여전히 가장 많이 기여할 것이다.
도 6을 참조하면, 동작(606)에서, 비참조 이미지 프레임들(312b)에 대한 비참조 모션 맵들(320b)은 모션 맵 평균화(motion map averaging)를 위해 제공될 수 있다. 프로세서(120)는 비참조 모션 맵들(320b)에 포함된 가중치들 또는 기타 값들을 평균 내거나 또는 달리 결합할 수 있다. 이는, 비참조 이미지 프레임들(312b)에서 매 픽셀에 대한 전반적 모션 레벨의 보다 양호한 척도(measure)를 제공할 수 있는, 결합된 모션 맵(608)을 생성하는 결과를 초래한다. 예를 들면, 처리되는 5개의 이미지 프레임들(하나의 참조 이미지 프레임(216) 및 4개의 비참조 이미지 프레임들(312b))이 있는 경우, 프로세서(120)는 비참조 모션 맵들(320b)에서의 각 픽셀에 대해 상기 가중치들의 평균값을 다음과 같이 결정할 수 있다:
NRMMavg = (W1 + W2 + W4 + W5) / 4 (10)
상기 식에서, W1, W2, W4, 및 W5는 비참조 이미지 프레임들(312b)의 주어진 픽셀에 대한 비참조 모션 맵들(320b)의 값들을 나타내고, NRMMavg은 비참조 모션 맵들(320b)로부터의 W1, W2, W4, 및 W5의 평균값들을 나타낸다. 그러나, 상기 평균값들을 계산하는 대신에, 다른 기법들이 모션 맵들을 결합하는 데 이용될 수 있다.
여기서 도 6은 결합되는 다수의 모션 맵들(320b)을 생성하는 데 다수의 비참조 이미지 프레임들(312b)이 이용되는 것을 가정하고 있음을 유의해야 할 것이다. 단일한 비참조 이미지 프레임(312b)이 처리되는 경우, 모션 맵 비교 동작(606)은 생략 또는 스킵될 수 있다.
동작(610)에서, 참조 이미지 프레임(316)에 대한 참조 모션 맵(320a) 및 비참조 이미지 프레임들(312b)에 대한 결합된 모션 맵(608)은 모션 맵 비교를 위해 제공될 수 있다. 프로세서(120)는, 전처리된 모션 맵(324)을 생성하기 위해, 비참조 이미지 프레임들(312b)에 대한 결합된 모션 맵(608)에 기초하여 참조 이미지 프레임(316)에 대한 참조 모션 맵(320a)에서의 값들을 조정할 수 있다. 예를 들면, 결합된 모션 맵(608)에서 모션이 거의 또는 전혀 없는 것으로 식별되는 임의의(any) 픽셀에 대하여, 프로세서(120)는 블렌딩된 이미지(328)에 대한 참조 이미지 프레임(316)의 기여를 최소화할 수 있다. 반대로, 결합된 모션 맵(608)에서 모션이 있는 것으로 식별되는 임의의 픽셀에 대하여, 프로세서(120)는 블렌딩된 이미지(328)에 대한 참조 이미지 프레임(316)의 기여를 최대화할 수 있다. 참조 이미지 프레임(316)의 최소화는 최소 임계값(612)에 의해 제한될 수 있고, 참조 이미지 프레임(316)의 최대화는 최대 임계값(614)에 의해 제한될 수 있다. 여기서 이용되는 특정 임계값들(612 및 614)은, 예를 들면, 이미지 품질 평가에 기초하여, 어떤 적절한 방식으로도 조정될 수 있다.
일부 실시예들에서, 프로세서(120)는 전처리된 모션 맵(324)에서의 값들을 다음과 같이 생성할 수 있다:
RMMupd = max[Thmax - min(NRMMavg, Thmax), Thmin] (11)
여기서, RMMupd은 전처리된 모션 맵(324)에 포함된 업데이트된 값들을 나타내고, Thmin는 최소 임계값(612)을 나타내며, Thmax는 최대 임계값(614)을 나타낸다.
특정 실시예들에서, 비참조 이미지 프레임들(312b)에 대한 비참조 모션 맵들(320b)은 0 내지 255 범위의 픽셀 값들을 포함하는 것으로 가정하고, 참조 이미지 프레임(316)에 대한 참조 모션 맵(320a)은 모두 255인 픽셀 값들을 포함하는 것으로 가정한다. 최소 임계값(612)은 32로 설정될 수 있고, 최대 임계값(614)은 128로 설정될 수 있다. 따라서, 전처리된 모션 맵(324) 내의 픽셀 값들은 32 내지 128의 범위를 가질 것이다.
일부 실시예들에서, 결합된 모션 맵(608) 및 전처리된 모션 맵(324)의 값들은 서로 보완적일 수 있다. 주어진 픽셀에 대하여, 결합된 모션 맵(608)의 값이 작은 경우, 상기 값은 상기 픽셀이 모션과 연관되어 있음을 지시할 수 있다. 따라서, 전처리된 모션 맵(324)의 값은, 참조 이미지 프레임(316)의 기여를 최대화하기 위해, 큰 값으로 결정될 수 있다. 반면에, 결합된 모션 맵(608)의 값이 큰 경우, 상기 값은 상기 픽셀에 모션이 거의 또는 전혀 없음을 지시할 수 있다. 따라서, 전처리된 모션 맵(324)의 값은, 참조 이미지 프레임(316)의 기여를 최소화하기 위해, 작은 값으로 결정될 수 있다.
일부 구현들에서, 전처리된 모션 맵(324)에 포함된 값들은 모션 맵(320a)에 포함된 원본 값들에 전혀 의존하지 않을 수 있음을 유의해야 할 것이다. 예를 들면, 상기 식 (11)은, 모션 맵(320a)에 포함된 원본 값들을 참조하지 않고, 결합된 모션 맵(604)에 포함된 평균값들 및 2개의 임계값들(612 및 614)에 기초하여 전처리된 모션 맵(324) 내의 RMMupd 값들을 정의한다. 그러므로, 일부 실시예들에서, 프레임 융합 동작(318)은 모션 맵(320a)을 생성하지 않을 수 있고, 전처리된 모션 맵(324)은 프레임 융합 동작(318)에서 생성되는 모션 맵들(320b)에 기초하여 모션 맵 후처리 동작(322)에 의해 생성될 수 있다. 그러나, 전처리된 모션 맵(324) 생성 시 모션 맵(320a)의 값들이 수정되거나 또는 달리 고려되는, 다른 실시예들이 이용될 수 있다. 또한, 여기서 모션 맵들(320b)은 수정되지 않지만, 모션 맵들(320b)이 모션 맵 후처리 동작(322)에서 수정되는 다른 실시예들이 이용될 수 있음을 유의하라.
도 7은, 본 개시의 예에 따른, 컨투어 감축을 수행하는 예시적 프로세스를 도시한다. 상기 프로세스는 도 3의 프로세스에서의 컨투어 감축 동작(330)에 상응할 수 있다. 상기 프로세스는, 도 1에 도시된 바와 같은 전자 디바이스(101)의 하나 이상의 프로세서들(120)을 나타낼 수 있는, 적어도 하나의 프로세서에 의해 수행될 수 있다.
상술된 바와 같이, 컨투어 감축 동작(330)에서, 프로세서(120)는 컨투어 아티팩트들이 나타나는 우도(likelihood)를 추정할 수 있고, 블렌딩된 이미지(328)의 다른 영역들에서는 이미지 품질이 영향 받지 않도록, 컨투어 아티팩트들이 나타날 가능성이 있는 그러한 영역들에서만 컨투어 감축을 적용할 수 있다. 컨투어 아티팩트들은, 블렌딩된 이미지(328)에 대한 비참조 이미지 프레임들(312b)의 기여가 균형을 이루지 않는 경우 영역에서 나타날 가능성이 있을 수 있다. 이에 기초하여, 프로세서(120)는 컨투어 아티팩트들의 우도를 추정할 수 있다.
도 7을 참조하면, 동작(702)에서, 다수의 비참조 이미지 프레임들(312b)과 연관된 다수의 모션 맵들(320b)은 블렌드 레벨 비교(blend level comparison)를 위해 제공될 수 있다. 프로세서(120)는, 비참조 이미지 프레임들(312b)에 대한 비참조 모션 맵들(320b)에 의해 또는 이에 기초하여 정의되는, 블렌딩된 이미지(328)에 대한 상이한 비참조 이미지 프레임들(312b)의 기여들을 비교할 수 있다. 그러므로, 프로세서(120)는 비참조 모션 맵들(320b)을 비교하고, 로컬 영역 또는 픽셀에 대해, 비참조 모션 맵들(320b) 중 하나 이상이 모션 없음을 지시하는 한편 하나 이상의 다른 비참조 모션 맵들(320b)은 모션을 지시하고 있는지 여부를 결정할 수 있다. 이는, 비참조 모션 맵들(320b)이 일관되게 모션을 식별하는지 여부를 식별하는(아마도 영역 단위로 또는 픽셀 단위로), 비교 레벨들(704)을 생성하는 결과를 초래한다.
일부 실시예들에서, 프로세서(120)는 비참조 모션 맵들(320b)을 처리하고, 다음과 같이 각 픽셀에 대한 비참조 이미지 프레임들(312b) 간의 기여들의 비(ratio)를 식별함으로써 비교 레벨들(704)을 생성할 수 있다:
ContEq = max(MotMap) / [mean(MotMap) * NumMM] (12)
여기서, ContEq는, 특정 영역 또는 픽셀에 대한 비참조 이미지 프레임들(312b) 간의 기여들의 비인, 비교 레벨을 나타낸다. 이 비는, 비참조 이미지 프레임들(312b)이 블렌딩된 이미지(328)에 동일하게 기여하는 경우, 상대적으로 낮은 값을 가지고, 비참조 이미지 프레임들(312b)이 블렌딩된 이미지(328)에 동일하게 기여하지 않는 경우, 상대적으로 높은 값을 가진다. 비참조 이미지 프레임들(312b)에 대한 비참조 모션 맵들(320b)이 해당 영역 또는 픽셀에 대해 일관되게 0인 경우, 상기 ContEq 비의 값도 또한 0일 수 있다. 또한, max(MotMap)는 비참조 모션 맵들(320b)의 컬렉션 중에서 상기 영역 또는 상기 픽셀에 대한 최대값을 나타내고, mean(MotMap)은 비참조 모션 맵들(320b)의 컬렉션 중에서 상기 영역 또는 상기 픽셀에 대한 평균값(average value)을 나타낸다. 또한, NumMM은 처리되는 비참조 모션 맵들(320b)의 수를 나타낸다.
동작(706)에서, 비교 레벨들(704)은 컨투어 우도 추정(contour likelihood estimation)을 위해 제공될 수 있다. 프로세서(120)는 블렌딩된 이미지(328)의 어떤 주어진 픽셀 또는 영역에서 컨투어 아티팩트드가 형성될 가능성이 있는지 여부를 결정하기 위해 비교 레벨들(704)을 분석할 수 있다. 상술된 바와 같이, 비교 레벨들(704)은 비참조 모션 맵들(320b)이 일관되게 모션을 식별하는지 여부를 식별할 수 있다. 비참조 모션 맵들이 일관되게 모션을 식별하지 않는 경우, 연관된 픽셀 또는 영역의 블렌딩에 대한 신뢰도(confidence)는 낮고, 컨투어 아티팩트들이 출현할 가능성이 있는 것으로 간주될 수 있다. 여기서, 컨투어 아티팩트들이 형성될 가능성이 있다고 하더라도, 블렌딩이 비활성화될(disabled) 필요는 없을 수 있음을 유의하라. 컨투어 신호들은 대체로 저주파(low-frequency) 휘도(Y) 채널에 포함되는 것으로 밝혀졌으므로, 이에 따라 블렌딩은 활성화될(enabled) 수 있고, 컨투어 아티팩트들은 하기하는 바와 같이 상기 휘도 채널을 필터링함으로써 감소 또는 최소화될 수 있다. 따라서, 프로세서(120)는 모션 맵들(320b)이 블렌딩된 이미지(328)의 픽셀들 또는 영역들에 대해 일관되게 모션을 식별하지 않는 상황들(situations)을 식별하기 위해 비교 레벨들(704)을 이용할 수 있다. 이는 컨투어 아티팩트들이 발생할 가능성 있는지 여부를 지시하는(예를 들면, 픽셀 단위 또는 영역 단위로) 컨투어 플래그들(708)이 생성되는 결과를 초래한다.
일부 실시예들에서, 프로세서(120)는 다음과 같이 컨투어 우도(contour likelihood)를 식별하기 위해 비교 레벨들(704)을 처리할 수 있다:
CRen = min[max((ContEq - CRoffset), 0), CRthr] (13)
여기서, CRen은, 컨투어 아티팩트들의 우도이며 컨투어 감축에 대한 활성화 신호(enable signal)로서의 역할을 할 수 있는, 컨투어 플래그(708)를 나타낸다. 또한, CRoffset은 비참조 이미지 프레임들(312b) 간의 기여들의 비에 적용되는 오프셋(offset)과 관련된 튜닝 파라미터(tuning parameter)이다. 또한, CRthr은 컨투어 아티팩트들이 발생할 가능성이 있다는 결정이 이루어지기 전에 필요한 최소 우도(minimum likelihood)와 관련된 튜닝 파라미터인데, 이는 0.25의 값 또는 다른 어떤 양의 실수값을 가질 수 있다.
동작(710)에서, 참조 이미지 프레임(316) 및 블렌딩된 이미지(328)(또는 아마도 단지 참조 이미지 프레임(316) 및 블렌딩된 이미지(328)로부터의 휘도 데이터)는 차이 결정을 위해 제공될 수 있다. 프로세서(120)는 참조 이미지 프레임(316)과 블렌딩된 이미지(328) 내의 휘도 데이터 간의 차이들을 식별할 수 있다. 이는, 참조 이미지 프레임(316)과 비교하여 블렌딩된 이미지(328)를 생성하는 데 이용되었던 Y 채널 업데이트를 효과적으로 식별하는, 이미지 차이들(712)이 생성되는 결과를 초래한다.
동작(714)에서, 참조 이미지 프레임(316)은 또한 에지 강도 필터링(edge strength filtering)을 위해 제공될 수 있다. 프로세서(120)는 참조 이미지 프레임(316)에서 하나 이상의 객체들의 에지들의 위치들을 식별할 수 있다. 이는, 이미지 프레임의 각 픽셀 또는 영역이 객체 에지와 연관되는지 여부를 지시할 수 있는, 에지 지시자들(edge indicators)(716)이 생성되는 결과를 초래한다. 프로세서(120)는, 예를 들면, 미국 특허 출원 공개 제 2018/0192098호(상기에 참조로서 포함되어 있음)에 개시된 기법을 이용하여, 에지들의 위치들을 식별하기 위해 어떤 적절한 기법이라도 이용할 수 있다. 이하에서 에지 강도 필터링 동작(714)의 하나의 예시적 실시예가 설명되지만, 에지 강도 필터링 동작(714)의 다른 구현들도 또한 이용될 수 있다.
일부 실시예들에서, 프로세서(120)는 다음과 같이 에지 지시자들(716)을 생성할 수 있다:
ESFYref = max[ESF(Yref), Cesf] (14)
여기서, ESFYref는 에지 지시자들(716)을 나타낸다. 또한, ESF(Yref)는 참조 이미지 프레임(Yref)의 휘도 데이터에서 에지가 발생하는 우도를 나타낸다. 또한, Cesf는, 일부 실시예들에서 10의 값 또는 다른 어떤 양의 실수값을 가질 수 있는, 튜닝 파라미터를 나타낸다.
동작(718)에서, 이미지 차이들(712) 및 에지 지시자들(716)은 정규화(normalization)를 위해 제공될 수 있다. 프로세서(120)는 에지 지시자들(716)에 기초하여 이미지 차이들(712)을 정규화할 수 있다. 이는 정규화된 이미지 차이들(720)이 생성되는 결과를 초래한다. 정규화 동작(718)에 의해, 컨투어 감축 동작(330)은 전반적으로 장면 내의 하나 이상의 객체들의 에지들이 위치할 가능성이 있는 영역들에서 컨투어 감축을 적용하는 것을 방지할 수 있다.
일부 실시예들에서, 프로세서(120)는 이미지 차이들(712) 및 에지 지시자들(716)을 다음과 같이 처리할 수 있다.
Normdiff = Cesf * Ydiff / ESFYref (15)
여기서, Ydiff는 이미지 차이들(712)을 나타내고, Normdiff은 정규화된 이미지 차이들(720)을 나타낸다.
동작(722)에서, 정규화된 이미지 차이들(720)은 필터링을 위해 제공될 수 있다. 프로세서(120)는 정규화된 이미지 차이들(720)을 필터링하여 필터링된 정규화된 이미지 차이들(724)을 생성할 수 있다. 필터링 동작(722)은, 상술된 바와 같이, 컨투어 아티팩트들이 대체로 상기 휘도 채널에서 저주파수들에 존재할 수 있으므로, 정규화된 이미지 차이들(720)로부터 고주파 성분들(high-frequency component)을 제거하는 데 도움이 될 수 있다. 따라서, 프로세서(120)는 정규화된 이미지 차이들(720)로부터 고주파 성분들을 제거하기 위해 저역통과 필터링(low-pass filtering) 동작 또는 기타 필터링 동작을 수행할 수 있다. 프로세서(120)는, 예를 들면, 7x7 균일 필터(uniform filter)의 이용과 같이, 어떤 적절한 필터링 기법이라도 이용할 수 있다.
일부 실시예들에서, 프로세서(120)는 정규화된 이미지 차이들(720)을 다음과 같이 처리할 수 있다:
YdiffLPF = Normdiff ** LPF7x7 (16)
여기서, YdiffLPF는 저역통과 필터링 후의 필터링된 정규화된 이미지 차이들(724)을 나타내고, LPF7x7는 7x7 균일 필터의 함수를 나타낸다. 물론, 여기서 다른 균일, 비균일, 또는 기타의 필터들이 이용될 수 있다.
동작(726)에서, 블렌딩된 이미지(328), 컨투어 플래그들(708), 및 필터링된 정규화된 이미지 차이들(724)은 컨투어 감축 적용(contour reduction application)에 제공될 수 있다. 프로세서(120)는 블렌딩된 이미지(328)에서 컨투어 아티팩트들을 감축 또는 최소화하기 위해 컨투어 플래그들(708) 및 필터링된 정규화된 이미지 차이들(724)을 이용할 수 있다. 예를 들면, 프로세서(120)는, 컨투어 플래그들(708)에 의해 컨투어 아티팩트들이 발생할 가능성이 있는 것으로 식별되는 픽셀들 또는 영역들에 대해서만, 블렌딩된 이미지(328)로부터 필터링된 정규화된 이미지 차이들(724)(또는 필터링된 정규화된 이미지 차이들(724)의 스케일링된 버전들)을 차감할(subtract) 수 있다. 다른 예로, 프로세서(120)는, 필터링된 정규화된 이미지 차이들(724) 및 컨투어 플래그(708)에 기초하여, 컨투어 신호를 획득하고, 블렌딩된 이미지(328)로부터 컨투어 신호를 차감할 수 있다. 이는 처리된 블렌딩된 이미지(332) 또는 적어도 처리된 블렌딩된 이미지(332)에 대한 휘도 데이터를 생성하는 결과를 초래한다.
일부 실시예들에서, 프로세서(120)는 처리된 블렌딩된 이미지(332)에 대한 휘도 데이터를 다음과 같이 생성할 수 있다:
Yupd = Yblend - (YdiffLPF * CRen / CRthr) (17)
여기서, Yblend는 블렌딩된 이미지(328)의 휘도 데이터를 나타내고, Yupd는 처리된 블렌딩된 이미지(332)의 휘도 데이터를 나타낸다. YdiffLPF * CRen / CRthr는 블렌딩된 이미지(328)로부터 제거될 컨투어 신호로 결정된다. 식 (17)에 따르면, 특정 영역 또는 픽셀에 대해 CRen 값이 0인 경우, 블렌딩된 이미지(328)의 픽셀 또는 영역이 처리된 블렌딩된 이미지(332)의 상응하는 픽셀 또는 영역과 매칭되도록, 픽셀 업데이트는 없을 것이다. 또한, 특정 영역 또는 픽셀에 대해 CRen 값이 0이 아닌 경우, 처리된 블렌딩된 이미지(332)의 저주파 콘텐트가 블렌딩된 이미지(328)의 저주파 콘텐트에 비해 더 낮아지도록, 상기 영역 또는 상기 픽셀에 대해 컨투어 감축이 적용될 것이다.
도 8은 본 개시의 실시예에 따른 예시적인 에지 강도 필터를 도시한다. 특히, 도 8에서의 에지 강도 필터는 도 7의 프로세스에서 에지 강도 필터링 단계(714)에 의해 이용될 수 있다.
상기 에지 강도 필터를 이용하여, 프로세서(120)는 인접한 쌍의 픽셀들(802)의 휘도 값들의 변화들을 검출할 수 있다. 휘도의 이러한 변화들은 이미지 프레임에서의 에지 또는 텍스처(texture)를 지시할 수 있다. 여기서, 프로세서(120)는 픽셀들의 이동식 3x3 윈도우 내에서 다양한 쌍의 픽셀들(802)에 대한 휘도 값들의 변화들을 검출할 수 있다. 보다 구체적으로, 프로세서(120)는 윈도우(804) 내의 중심 픽셀(802)을 중심으로 서로 반대되는(opposite) 2개 픽셀들의 각 세트 내의 픽셀들(802)을 비교할 수 있다. 이는 윈도우(804)에서 수평, 수직, 및 2개의 대각선 축들을 따라 픽셀들(802)이 비교되는 결과를 초래한다. 또한, 픽셀들의 윈도우(804)는, 이미지 프레임 전체 또는 실질적으로 전체에 걸쳐 휘도 비교를 수행하기 위해, 상기 이미지 프레임 전체 또는 실질적으로 전체를 커버하도록 이동될 수 있다.
이런 식으로, 프로세서(120)는 윈도우(804) 내에서 수평으로, 수직으로, 또는 대각선으로 배치된 에지(비교되는 픽셀들(802) 간의 휘도 값들의 큰 변화에 의해 정의됨)를 검출할 수 있다. 이는 "무방향성(orientation free)" 에지 검출로 지칭될 수 있다. 일부 실시예들에서, 픽셀들(802)의 비교는 픽셀들(802)의 Y 값들의 차이들의 절대값들을 합산함으로써 수행될 수 있으며, 결과적인 값은 에지가 얼마나 강하게 검출되는지를 지시할 수 있다. 그러나, 여기서 다른 어떤 적절한 에지 검출 메커니즘이라도 이용될 수 있다.
도 2는 다수의 이미지 프레임들을 블렌딩하는 프로세스(200)의 일 예를 도시하고 도 3 내지 도 8은 도 2의 프로세스(200) 내 동작들의 예들을 도시하고 있지만, 도 2 내지 도 8에 대해 다양한 변경이 이루어질 수 있다. 예를 들면, 일련의 단계들(steps)로 도시되어 있지만, 도 2 내지 도 8에 도시된 다양한 동작들(operations)은 중첩되거나, 병렬적으로 발생하거나, 상이한 순서로 발생하거나, 몇 번이라도 발생하거나, 또는 생략될 수 있다. 또한, 도 3 내지 도 8에 도시된 특정한 동작들은 단지 예들일 뿐이며, 도 3 내지 도 8에 도시된 동작들 각각을 수행하기 위해 다른 기법들이 이용될 수 있다.
도 2 내지 도 8에 도시된 동작들은 전자 디바이스(101)에서 어떤 적절한 방식으로도 구현될 수 있다. 예를 들면, 일부 실시예들에서, 도 2 내지 도 8에 도시된 동작들은, 전자 디바이스(101)의 프로세서(120)에 의해 실행되는, 하나 이상의 소프트웨어 애플리케이션들 또는 기타 소프트웨어 명령어들(instructions)을 이용하여 구현 또는 지원될 수 있다. 다른 실시예들에서, 도 2 내지 도 8에 도시된 동작들 중 적어도 일부는 전용 하드웨어 구성요소들을 이용하여 구현 또는 지원될 수 있다. 일반적으로, 도 2 내지 도 8에 도시된 동작들은 어떤 적절한 하드웨어 또는 하드웨어 및 소프트웨어/펌웨어 명령어들의 어떤 적절한 조합을 이용하여 수행될 수 있다.
도 2 내지 도 8에 도시된 동작들은 상기에서 전자 디바이스(101)의 특정 구현을 이용하여 수행되는 것으로 설명되고 있지만, 사용되고 있는 실제 전자 디바이스(101)에 기초하여 여러 가지 변경이 이루어질 수 있다. 예를 들면, 전자 디바이스(101)는 단일 카메라 또는 다수의 카메라들을 포함 또는 이용할 수 있다. 단일 카메라가 이용되는 경우, 장면의 다수의 이미지 프레임들은, 예를 들면, 하나 이상의 고속 버스트들(fast bursts)로, 순차적으로 캡처될 수 있다. 다수의 카메라들이 이용되는 경우, 예를 들면, 상이한 카메라들을 이용하여 동시이지만 상이한 카메라 노출 시간들로 장면의 다수의 이미지 프레임들을 캡처함으로써, 동시에 또는 중첩되는 방식으로 다수의 이미지 프레임들을 캡처하는 것이 가능할 수 있다. 다중-카메라 설정들의 일부 특정 예들은 광각(wide) 및 망원(telephoto) 카메라들, 광각 및 단초점(mono-focal) 카메라들, 또는 광각, 망원, 및 단초점 카메라들의 사용을 포함할 수 있다. 상기 카메라들 간의 베이스라인 차이들(baseline differences)을 다루기(deal with) 위해, 추가적인 처리(processing)가 발생할 수 있다. 필요에 따라, 상기 장면의 다수의 이미지 프레임들은 여전히 상기 다수의 카메라들 중 적어도 하나를 이용하여 순차적으로 캡처될 수 있다. 상기 다수의 카메라들의 기하구조(geometry)를 미리 알고 있다고 가정하면, 이 기하구조는 상기 카메라들에 의해 캡처된 이미지 프레임들을 정렬하거나(align) 또는 기타 기능들(functions)을 수행하는 데 도움이 되도록 이용될 수 있다.
다른 예로, 전자 디바이스(101)는 상기에서 YUV 이미지 데이터를 이용하여 다양한 동작들을 수행하는 것으로 설명된다. 그러나, 다른 도메인들에서의 데이터(예를 들면, RGB 또는 베이어(Bayer) 데이터)도 또한 이용 또는 처리될 수 있다. 세 번째 예로, 본 문서에서 설명되는 기법들은, 예를 들면, 전자 디바이스(101)에 의해 이용되는 소프트웨어 라이브러리(software library) 내의, 다른 이미지 처리 알고리즘들과 조합될 수 있다. 전자 디바이스(101)의 사용자는, 예를 들면, 특정 상황(specific situation)에 기초하여 또는 사용자 선호(user preference)에 기초하여, 상이한 이미지 처리 알고리즘들 중에서 선택할 수 있다. 네 번째 예로, 전자 디바이스(101)는 장면들의 정지 이미지들(still images) 또는 비디오 시퀀스들(video sequences)의 캡처를 지원하기 위해 상술된 기법들을 이용할 수 있다. 비디오 시퀀스를 위한 캡처 설정들은 노출 시간들이 상이한 이미지 프레임들을 제공하기 위해 변경될 수 있고, 높은 프레임 레이트(high-frame rate) 캡처 능력은 프레임 선택으로 인한 프레임 레이트 감소(frame rate reductions)를 마스킹하는 데 도움이 될 수 있다. 다섯 번째 예로, 전자 디바이스(101)는 상술된 바와 같은 관성 측정 유닛(inertial measurement unit)을 포함할 수 있고, 상기 관성 측정 유닛은 블렌딩 동작(208)에 대한 입력을 제공할 수 있다.
또한, 본 개시는 (i) 다중-프레임 블렌딩 기법들 및 (ii) 컨투어 감축 기법들 두 가지 모두를 설명하고 있음을 유의해야 할 것이다. 그러나, 이러한 기법들이 동일한 전자 디바이스(101)에서 함께 이용되어야 할 필요는 없다. 전자 디바이스(101)는 다중-프레임 블렌딩 기법 또는 컨투어 감축 기법을 구현하기 위해(그러나 반드시 둘 다일 필요는 없음) 이용될 수 있다 물론, 두 가지 기법들 모두 동일한 전자 디바이스(101)에서 구현될 수도 있다.
도 9는, 본 개시의 실시예에 따른, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하는 예시적 방법(900)을 도시하는 흐름도이다. 설명의 편의를 위해, 도 9에 도시된 방법(900)은 도 1의 전자 디바이스(101)의 사용을 포함하는 것으로 설명된다. 그러나, 도 9에 도시된 방법(900)은 다른 어떤 적절한 전자 디바이스와 함께 어떤 적절한 시스템에서도 이용될 수 있다.
도 9를 참조하면, 단계(step)(902)에서, 장면의 복수의 이미지 프레임들이 전자 디바이스를 이용하여 캡처될 수 있다. 전자 디바이스(101)의 프로세서(120)는 캡처 요청을 수신하고, 상이한 노출 설정들로 상기 장면의 2개 이상의 이미지 프레임들(304, 306, 308)을 캡처하도록 이미지 센서(202)를 제어할 수 있다. 여기서 캡처되는 상기 이미지 프레임들은 장노출 시간 및 저감도를 이용하여 생성되는 적어도 하나의 이미지 프레임(304, 308) 및 단노출 시간 및 고감도를 이용하여 생성되는 적어도 하나의 이미지 프레임(306)을 포함할 수 있다. 단노출 이미지 프레임(306)은 참조 이미지 프레임으로 이용될 수 있고, 장노출 이미지 프레임(들)(304, 308)은 하나 이상의 비참조 이미지 프레임들로 이용될 수 있다. 일부 실시예들에서, 상이한 이미지 프레임들(304, 306, 308)이 실질적으로 동일한 전체 밝기(overall brightness)를 가지도록, 장노출 시간과 단노출 시간 간의 비는 고감도와 저감도 간의 비와 실질적으로 매칭될 수 있다. 상술된 바와 같이, 예를 들면, 상기 단노출 이미지 프레임 전에 및/또는 후에 상기 장노출 이미지 프레임(들)을 캡처하는 것과 같이, 상기 이미지 프레임들이 캡처될 수 있는 다양한 순서들이 있을 수 있다. 또한, 상술된 바와 같이, 여기서 다수의 단노출 이미지 프레임들이 캡처될 수 있으며, 상기 단노출 이미지 프레임들 중 하나가 상기 참조 프레임으로 선택될 수 있다.
단계(904)에서, 상기 이미지 프레임들은 정렬될(aligned) 수 있다. 전자 디바이스(101)의 프로세서(120)는, 정렬된(aligned) 이미지 프레임들(312a-312b)을 생성하기 위해, 비참조 이미지 프레임들(304, 308)과 참조 이미지 프레임(306)을 정렬하기 위해 하나 이상의 비참조 이미지 프레임들9304, 308)을 수정할(modify) 수 있다.
단계(906)에서, 히스토그램 매칭을 이용하여 상기 참조 이미지 프레임의 비선형 변환(nonlinear transformation)이 수행될 수 있다. 전자 디바이스(101)의 프로세서(120)는 비참조 이미지 프레임들(304, 308)과 매칭되도록 참조 이미지 프레임(306)의 밝기 및 색상을 조정할 수 있다. 예를 들면, 프로세서(120)는, 적어도 하나의 비참조 이미지 프레임과 연관된 적어도 하나의 히스토그램에 기초하여, 참조 이미지 프레임(306)의 비선형 변환을 수행할 수 있다.
일부 실시예들에서, 전자 디바이스(101)의 프로세서(120)는 하나 이상의 히스토그램 맵들(406a-406b)을 생성할 수 있는데, 여기서 각각의 히스토그램 맵(406a-406b)은 정렬된 참조 이미지 프레임(312a)과 하나의 정렬된 비참조 이미지 프레임(312b) 간의 차이에 기초하여 생성될 수 있다. 다수의 비참조 이미지 프레임들(312b)이 이용 가능한 경우, 전자 디바이스(101)의 프로세서(120)는 다수의 히스토그램 맵들(406a-406b)을 생성하고 다수의 히스토그램 맵들(406a-406b)을 결합할 수 있다.
일 실시예에서, 전자 디바이스(101)의 프로세서(120)는 모션과 연관된 모션 픽셀들을 식별하고 상기 모션 픽셀들을 제외한 픽셀들에 기초하여 히스토그램 맵을 획득할 수 있다. 예를 들면, 프로세서(120)는 정렬된 참조 이미지 프레임(312a)과 하나의 정렬된 비참조 이미지 프레임(312b)으로부터의 픽셀 값들 간의 절대 차이들을 식별하고, 상기 절대 차이들에 기초하여 적어도 하나의 히스토그램(510)을 생성할 수 있다. 프로세서(120)는 적어도 하나의 히스토그램(510)에 기초하여 하나 이상의 모션 임계값들(514)을 식별하고, 상기 하나 이상의 모션 임계치 중 적어도 하나를 초과하는 적어도 하나의 절대 차이를 갖는 픽셀을 움직이는 픽셀로 결정할 수 있다.
전자 디바이스(101)의 프로세서(120)는, 전처리된 정렬된 참조 이미지 프레임(316)을 생성하도록, 예를 들면, 밝기 및 색상에 있어서, 비참조 이미지 프레임(들)(312b)을 보다 근접하게 매칭하기 위해, 히스토그램 맵(들)(406a-406b)에 기초하여 참조 이미지 프레임(312a)을 수정할 수 있다. 예를 들면, 프로세서(120)는 히스토그램 맵(들)(406a-406b)에 기초하여 참조 이미지 프레임(312a)의 픽셀 값들을 매핑할 수 있다.
단계(908)에서, 모션 블러가 발생하기 쉬운, 상기 이미지 프레임들의 부분들을 식별하는 모션 맵들이 생성되고 전처리될 수 있다. 전자 디바이스(101)의 프로세서(120)는 상기 다수의 이미지 프레임들에 각각 상응하는 다수의 모션 맵들을 획득할 수 있다. 예를 들면, 프로세서(120)는 하나 이상의 비참조 이미지 프레임들(312b) 각각과 참조 프레임(316) 간의 차이들(모션)을 식별하는 하나 이상의 비참조 모션 맵들(320b)을 생성할 수 있다. 전자 디바이스(101)의 프로세서(120)는 전치리된 모션 맵(324)을 생성하기 위해 참조 모션 맵(320a)을 수정할 수 있거나, 또는 전자 디바이스(101)의 프로세서(120)는 모션 맵(324)을 생성할 수 있는데, 어느 경우든 비참조 모션 맵들(320b)의 평균(average) 또는 다른 조합에 기초할(또는 오직 하나만 이용가능한 경우 단일 비참조 모션 맵(320b)에 기초할) 수 있다.
단계(910)에서, 상기 이미지 프레임들은, 블렌딩된 이미지를 생성하도록, 상기 모션 맵들을 이용하여 블렌딩될 수 있다. 전자 디바이스(101)의 프로세서(120)는, 블렌딩된 이미지(328)를 생성하기 위해, 모션 맵들(324)에 기초하여 참조 이미지 프레임(316)과 하나 이상의 비참조 이미지 프레임들(312b)을 블렌딩할 수 있다. 프로세서(120)는 모션이 거의 또는 전혀 없는 하나 이상의 비참조 이미지 프레임들(312b)의 영역들과 모션이 있는 참조 이미지 프레임(316)의 영역들을 결합할 수 있다. 예를 들면, 프로세서(120)는, 모션 맵들(324)을 가중치들로 이용하여, 참조 이미지 프레임(316) 및 비참조 이미지 프레임들(312b)의 가중 평균화(weighted averaging)를 수행할 수 있다. 이는, 블렌딩된 이미지(328)에서 이미지 디테일을 증가시키고 노이즈를 감소시키면서, 블렌딩된 이미지(328)에서 모션 블러를 감축 또는 최소화할 수 있다.
단계(912)에서, 컨투어 감축이 상기 블렌딩된 이미지에 적용된다. 전자 디바이스(101)의 프로세서(120)는 모션 맵들(320b)이 일관되게 모션을 식별하지 않는 영역들을 식별할 수 있다. 일부 실시예들에서, 전자 디바이스(101)의 프로세서(120)는 참조 이미지 프레임(316)에 기초하여 에지들이 예상되지 않는 위치들에서 참조 이미지 프레임(316)과 블렌딩된 이미지(328) 간의 필터링된 정규화된 차이들(filtered normalized differences)을 식별할 수 있다. 전자 디바이스(101)의 프로세서(120)는, 처리된 블렌딩된 이미지(332)를 생성하기 위해, 모션 맵들(320b)이 일관되게 모션을 식별하지 않는 위치들에서 블렌딩된 이미지(328)로부터 상기 필터링된 정규화된 차이들 또는 상기 필터링된 정규화된 차이들의 스케일링된 버전들을 차감할 수 있다.
이러한 형태의 컨투어 감축은 다수의 비참조 이미지 프레임들(320b)에 대한 다수의 모션 맵들(320b)의 존재에 의존하므로, 이러한 형태의 컨투어 감축은 오직 단일 비참조 이미지 프레임(320b)만 있는 경우에는 이용되지 않을 수 있음을 유의하라. 이 경우, 컨투어 감축은 생략될 수 있고, 다른 어떤 형태의 컨투어 감축이 이용될 수 있다.
단계(914)에서, 상기 블렌딩된 이미지의 어떤 원하는 후처리가 발생한다. 전자 디바이스(101)의 프로세서(120)는 공간 노이즈 필터링(spatial noise filtering) 및 에지 강조(edge enhancement)를 수행할 수 있다.
단계(916)에서, 상기 후처리의 출력은, 어떤 방식으로든 저장, 출력, 또는 이용될 수 있는, 상기 장면의 최종 이미지이다. 예를 들면, 전자 디바이스(101)의 프로세서(120)는 상기 장면의 상기 최종 이미지를 전자 디바이스(101)의 디스플레이(160) 상에 표시할 수 있다. 전자 디바이스(101)의 프로세서(120)는 상기 장면의 상기 최종 이미지를, 전자 디바이스의 메모리(130)에 저장된, 카메라 롤(camera roll)에 저장할(save) 수 있다. 전자 디바이스(101)의 프로세서(120)는 상기 장면의 상기 최종 이미지를, 전자 디바이스(101)로부터 전송될, 텍스트 메시지, 이메일, 또는 기타 통신에 첨부할 수 있다. 물론, 상기 장면의 상기 최종 이미지는 다른 또는 추가적인 어떤 방식으로도 이용될 수 있다.
도 9는 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩하는 방법(900)의 일 예를 도시하고 있지만, 도 9에 대해 다양한 변경이 이루어질 수 있다. 예를 들면, 일련의 단계들(steps)로 도시되어 있지만, 도 9의 다양한 단계들은 중첩되거나, 병렬적으로 발생하거나, 상이한 순서로 발생하거나. 몇 번이든 발생하거나, 또는 생략될 수 있다.
도 10은, 본 개시의 실시예에 따른, 블렌딩된 이미지에서의 예시적인 컨투어 감축 방법(1000)을 도시하는 흐름도이다. 설명의 편의를 위해, 도 10에 도시된 방법(1000)은 도 1의 전자 디바이스(101)의 사용을 포함하는 것으로 설명된다. 그러나, 도 10에 도시된 방법(1000)은 다른 어떤 적절한 전자 디바이스와 함께 어떤 적절한 시스템에서도 이용될 수 있다. 방법(1000)은 도 9의 방법에서 단계(912)에 상응할 수 있다.
도 10을 참조하면, 단계(1002)에서, 다수의 이미지 프레임들에 대한 블렌드 레벨들이 그러한 이미지 프레임들의 모션 맵들에 기초하여 비교된다. 전자 디바이스(101)의 프로세서(120)는, 비참조 모션 맵들(320b)이 일관되게 모션을 식별하지 않는 픽셀들 또는 영역들을 식별하기 위해, 비참조 이미지 프레임들(312b)에 대한 비참조 모션 맵들(320b)을 서로 비교할 수 있다. 특정한 예로, 전자 디바이스(101)의 프로세서(120)는, 예를 들면, 각 픽셀 또는 영역에 대해, 비참조 모션 맵들(320b)의 최대 및 평균 값들에 기초하여 비들(ratios)을 생성할 수 있다.
단계(1004)에서, 상기 비교의 결과들을 이용하여 컨투어 아티팩트들의 우도가 결정될 수 있다. 전자 디바이스(101)의 프로세서(120)는, 컨투어 아티팩트들이 발생할 가능성이 있는 픽셀들 또는 영역들을 식별하기 위해, 상기 이전 비교의 비들 또는 기타 결과들을 비교할 수 있다.
단계(1006)에서, 참조 이미지 프레임과 블렌딩된 이미지 간의 차이들이 식별될 수 있다. 전자 디바이스(101)의 프로세서(120)는 블렌딩된 이미지(328)와 참조 이미지 프레임(316) 간에 적어도 휘도 데이터의 차이들을 식별할 수 있다.
단계(1008)에서, 상기 참조 이미지 프레임을 이용하여 에지 강도 필터링이 수행된다. 전자 디바이스(101)의 프로세서(120)는 참조 이미지 프레임(316)에서 이동식 3x3 윈도우 내에서 중심 픽셀의 반대편에 위치한 픽셀들의 쌍들을 비교할 수 있다.
단계(1010)에서, 상기 에지 강도 필터링의 결과들에 기초하여, 상기 참조 이미지 프레임과 상기 블렌딩된 이미지 간의 차이들이 정규화될 수 있다. 전자 디바이스(101)의 프로세서(120)는 블렌딩된 이미지(328)와 참조 이미지 프레임(316) 간에 적어도 휘도 데이터의 상기 차이들을 상기 차이들이 객체 에지들에 위치할 우도로 나눌 수 있다.
단계(1012)에서, 결과적인 정규화된 이미지 차이들이 필터링될 수 있다. 전자 디바이스(101)의 프로세서(120)는 7x7 균일 필터 또는 기타 필터를 상기 정규화된 이미지 차이들에 적용할 수 있다. 상기 필터를 적용하여, 프로세서(120)는 상기 정규화된 이미지 차이들로부터 고주파 성분들을 필터링할 수 있다.
단계(1014)에서, 업데이트된 블렌딩된 이미지를 생성하기 위해, 컨투어 감축이 상기 블렌딩된 이미지에 적용된다. 예를 들면, 전자 디바이스(101)의 프로세서(120)는, 컨투어 아티팩트들이 발생할 가능성이 있는 위치들에서만, 블렌딩된 이미지(328)로부터 상기 필터링된 정규화된 이미지 차이들 또는 상기 필터링된 정규화된 이미지 차이들의 스케일링된 버전들을 차감한다(이는 비참조 이미지 프레임들(312b)과 연관된 모션 맵들(320b)의 비교에 기초함). 다른 예로, 프로세서(120)는 필터링된 정규화된 이미지 차이들(724) 및 컨투어 플래그(708)에 기초하여 컨투어 신호를 획득하고, 블렌딩된 이미지(328)로부터 상기 컨투어 신호를 차감할 수 있다.
단계(1016)에서, 상기 업데이트된 블렌딩된 이미지는 어떤 방식으로든 저장, 출력, 또는 이용될 수 있다. 전자 디바이스(101)의 프로세서(120)는 상기 업데이트된 블렌딩된 이미지를 표시, 저장, 또는 전송할 수 있다. 전자 디바이스(101)의 프로세서(120)는, 공간 노이즈 필터링 및 에지 강조와 같은, 상기 업데이트된 블렌딩된 이미지의 어떤 원하는 후처리라도 수행할 수 있다.
도 10은 블렌딩된 이미지에서의 컨투어 감축 방법(1000)의 일 예를 도시하고 있지만, 도 10에 대해 다양한 변경이 이루어질 수 있다. 예를 들면, 일련의 단계들로 도시되어 있지만, 도 10의 다양한 단계들은 중첩되거나, 병렬적으로 발생하거나, 상이한 순서로 발생하거나. 몇 번이든 발생하거나, 또는 생략될 수 있다.
도 11a 및 도 11b는, 본 개시의 실시예에 따른, 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩함으로써 획득된 예시적 결과를 도시한다.
도 11a에 도시된 바와 같이, 표준 이미지 캡처 기법을 이용하여 캡처된 장면의 이미지(1100)는 2대의 차량들 및 자전거를 탄 한 사람을 포함한다. 상기 차량들은 움직이고 있고, 이미지(1100)는 상기 차량들의 움직임으로 인한 상당한 양의 모션 블러를 포함한다. 상기 모션 블러는, 상기 차량들의 번호판들의 판독을 불가능하거나 그렇지 않다면 어렵게 만들 정도로 좋지 않다. 도 11b에 도시된 바와 같이, 동일한 장면의 이미지(1102)는, 단노출 이미지 프레임이 장노출 이미지 프레임들 사이에 캡처되는 한 가지 기법과 같이, 상술된 다중-노출 다중-프레임 블렌딩 기법들을 이용하여 캡처된 것이다. 여기서 볼 수 있는 바와 같이, 단노출로 인한 노이즈를 최소화하면서도, 이미지(1102)는 더 적은 모션 블러를 포함하고, 상기 차량들의 번호판들의 판독은 이제 훨씬 더 간단하다. 따라서, 상술된 프로세스들은, 결과적인 블렌딩된 이미지에서 효과적으로 모션 블러를 줄이고 이미지 디테일을 개선하기 위해, 상이한 노출 설정들로 캡처된 이미지 프레임들을 결합하는 데 이용될 수 있다.
도 11a 및 도 11b는 상이한 노출 설정들을 이용하여 캡처된 다수의 이미지 프레임들을 블렌딩함으로써 획득될 수 있는 결과들의 예를 도시하고 있지만, 이들 도면들에 대해 다양한 변경이 이루어질 수 있다. 예를 들면, 이들 도면들은 단지 본 개시에서 설명되는 접근법들을 이용하여 획득될 수 있는 결과 유형들의 예들을 예시하고자 한 것일 뿐이다. 명백히, 장면들의 이미지들은 광범위하게 달라질 수 있고, 본 특허 문서에서 설명되는 접근법들을 이용하여 획득되는 결과들도 또한 상황에 따라 광범위하게 달라질 수 있다.
도 12a 및 도 12b는, 본 개시의 실시예에 따른, 블렌딩된 이미지에 대한 컨투어 감축을 수행하여 획득되는 예시적 결과를 도시한다.
도 12a에 도시된 바와 같이, 표준 이미지 블렌딩 기법을 이용하여 생성된 장면의 이미지(1200)는 회전하고 있는 천장팬(ceiling fan)을 포함한다. 여기서 상기 천장팬은 회전하고 있고 일반적으로-일관된 배경이 있으므로, 이미지(1200)에 컨투어 아티팩트들(1202)이 생성되어 있다. 이러한 컨투어 아티팩트들(1202)은 상기 천장팬의 블레이드들(blades)의 그림자들이 마치 다수의 구별되는 섹션들(distinct sections)을 포함하는 것처럼 보이게 만든다. 도 12b에 도시된 바와 같이, 동일 장면의 이미지(1204)는 상술된 컨투어 감축 기법들을 이용하여 생성되었다. 여기서 볼 수 있는 바와 같이, 이미지(1204)는, 천장팬의 블레이드들의 그림자들에, 컨투어 아티팩트들을 포함한다 하더라도 거의 포함하지 않으며, 이에 따라 상기 그림자들이 상기 일반적으로-일관된 배경에 대해 더 자연스럽게 보일 수 있도록 한다. 따라서, 상술된 프로세스들은, 다수의 이미지 프레임들을 이용하여 생성되는, 블렌딩된 이미지들에서 컨투어 아티팩트들을 효과적으로 감소시키는데 이용될 수 있다.
도 12a 및 도 12b는 블렌딩된 이미지에 대한 컨투어 감축을 수행하여 획득되는 결과들의 일 예를 도시하고 있지만, 이들 도면들에 대해 다양한 변경이 이루어질 수 있다. 예를 들면, 이들 도면들은 단지 본 개시에서 설명되는 접근법들을 이용하여 획득될 수 있는 결과 유형들의 예들을 예시하고자 한 것일 뿐이다. 명백히, 장면들의 이미지들은 광범위하게 달라질 수 있고, 본 특허 문서에서 설명되는 접근법들을 이용하여 획득되는 결과들도 또한 상황에 따라 광범위하게 달라질 수 있다.
본 개시가 다양한 예시적 실시예들을 참조하여 설명되었지만, 다양한 변경들 및 변형들이 본 개시가 속하는 기술분야의 통상의 지식을 가진 자에게 시사될 수 있다. 본 개시는 그러한 변경들 및 변형들이 첨부된 청구항들의 범위에 속하는 것으로 포괄하고자 한 것이다.

Claims (17)

  1. 장면의 복수의 이미지 프레임들을 획득하되, 상기 복수의 이미지 프레임들은 단노출 시간으로 캡처된 참조 이미지 프레임 및 장노출 시간으로 캡처된 복수의 비참조 이미지 프레임들을 포함하는 단계;
    상기 비참조 이미지 프레임들과 매칭되도록 상기 참조 이미지 프레임의 밝기 및 색상을 조정하는 단계;
    상기 복수의 이미지 프레임들에 각각 상응하는 복수의 모션 맵들을 획득하는 단계;
    상기 복수의 모션 맵들에 기초하여, 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지로 블렌딩하는 단계; 및
    상기 블렌딩된 이미지에 대해 컨투어 감축을 수행하여 상기 블렌딩된 이미지에서 컨투어 아티팩트들을 감축하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  2. 제1 항에 있어서, 상기 참조 이미지 프레임은 상기 비참조 이미지 프레임들보다 더 높은 감도로 캡처되는, 다중-프레임 블렌딩 방법.
  3. 제1 항에 있어서, 상기 비참조 이미지 프레임들은 상기 참조 이미지 프레임 전에 캡처된 적어도 하나의 이미지 프레임 및 상기 참조 이미지 프레임 후에 캡처된 적어도 하나의 이미지 프레임을 포함하는, 다중-프레임 블렌딩 방법.
  4. 제1 항에 있어서, 상기 복수의 이미지 프레임들을 획득하는 단계는:
    상기 단노출 시간으로 캡처된 다수의 이미지 프레임들을 획득하는 단계; 및
    상기 단노출 시간으로 캡처된 상기 다수의 이미지 프레임들 중 하나를 상기 참조 이미지 프레임으로 선택하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  5. 제1 항에 있어서, 상기 복수의 이미지 프레임들을 획득하는 단계는 상기 참조 프레임과 정렬되도록 상기 비참조 이미지 프레임들을 수정하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  6. 제1 항에 있어서, 상기 참조 이미지 프레임의 밝기 및 색상을 조정하는 단계는:
    상기 참조 이미지 프레임과 상기 비참조 이미지 프레임들 간의 차이에 기초하여 히스토그램 맵을 획득하는 단계; 및
    상기 히스토그램 맵에 기초하여 상기 참조 이미지 프레임의 픽셀 값들을 매핑함으로써 상기 참조 이미지 프레임을 수정하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  7. 제6 항에 있어서, 상기 히스토그램 맵을 획득하는 단계는:
    상기 복수의 비참조 이미지 프레임들에 각각 상응하는 복수의 히스토그램 맵들을 획득하는 단계; 및
    상기 복수의 히스토그램 맵들을 결합하여 상기 히스토그램 맵을 획득하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  8. 제6 항에 있어서, 상기 히스토그램 맵을 획득하는 단계는:
    상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들로부터 모션과 연관된 모션 픽셀들을 식별하는 단계; 및
    상기 모션 픽셀들을 제외한 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들의 픽셀에 기초하여 상기 히스토그램 맵을 획득하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  9. 제8 항에 있어서, 상기 모션 픽셀들을 식별하는 단계는:
    상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들로부터 픽셀 값들 간의 절대 차이들을 식별하는 단계;
    상기 절대 차이들에 기초하여 적어도 하나의 히스토그램을 생성하는 단계;
    상기 적어도 하나의 히스토그램에 기초하여 하나 이상의 모션 임계값들을 식별하는 단계; 및
    상기 하나 이상의 모션 임계값 중 적어도 하나를 초과하는 적어도 하나의 절대 차이를 갖는 픽셀을 상기 모션 픽셀로 결정하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  10. 제1 항에 있어서, 상기 복수의 모션 맵들을 획득하는 단계는:
    상기 참조 이미지 프레임과 상기 복수의 비참조 이미지 프레임들 각각 간의 차이에 기초하여, 복수의 비참조 모션 맵들을 획득하는 단계;
    상기 복수의 비참조 모션 맵들을 결합하여 결합된 비참조 모션 맵을 획득하는 단계; 및
    상기 결합된 비참조 모션 맵에 기초하여, 상기 참조 이미지 프레임에 상응하는 참조 모션 맵을 획득하는 단계를 포함하고,
    상기 참조 모션 맵 및 상기 결합된 비참조 모션 맵은 서로 보완적인, 다중-프레임 블렌딩 방법.
  11. 제1 항에 있어서, 상기 복수의 모션 맵들에 기초하여 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지로 블렌딩하는 단계는, 상기 복수의 모션 맵들을 가중치들로 이용하여, 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들의 가중 평균화를 수행하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  12. 제1 항에 있어서, 상기 블렌딩된 이미지에 대해 상기 컨투어 감축을 수행하는 단계는:
    상기 복수의 모션 맵들에 기초하여 상기 블렌딩된 이미지의 픽셀들에 대한 컨투어 우도를 획득하되, 상기 컨투어 우도는 상기 비참조 이미지 프레임들이 얼마나 일관되게 상기 블렌딩된 이미지에 기여하는지를 지시하는 단계; 및
    상기 컨투어 우도를 이용하여 상기 블렌딩된 이미지를 수정하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  13. 제12 항에 있어서, 상기 블렌딩된 이미지를 수정하는 단계는:
    상기 블렌딩된 이미지와 상기 참조 이미지 프레임 간의 차이 신호를 획득하는 단계;
    상기 차이 신호에 대해 에지 강도 필터링 및 저역통과 필터링 중 적어도 하나를 수행함으로써 필터링된 차이 신호를 획득하는 단계;
    상기 필터링된 차이 신호 및 상기 컨투어 우도에 기초하여 컨투어 신호를 획득하는 단계; 및
    상기 블렌딩된 이미지로부터 상기 컨투어 신호를 차감하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  14. 제13 항에 있어서, 상기 필터링된 차이 신호를 획득하는 단계는:
    이동식 3x3 윈도우 내 픽셀들을 이용하여 상기 에지 강도 필터링을 수행함으로써 상기 차이 신호를 정규화하는 단계; 및
    7x7 균일 필터를 이용하여 상기 정규화된 차이 신호에 대해 상기 저역통과 필터링을 수행하여 상기 필터링된 차이 신호를 획득하는 단계를 포함하는, 다중-프레임 블렌딩 방법.
  15. 제1 항에 있어서,
    상기 컨투어-감축된 블렌딩된 이미지에 대해 노이즈 필터링 및 에지 샤프닝 중 적어도 하나를 수행하는 단계를 더 포함하는, 다중-프레임 블렌딩 방법.
  16. 적어도 하나의 이미지 센서;
    명령어들을 저장하는 적어도 하나의 메모리; 및
    상기 저장된 명령어들을 실행하여:
    장면의 복수의 이미지 프레임들을 획득하도록 상기 적어도 하나의 이미지 센서를 제어하되, 상기 복수의 이미지 프레임들은 단노출 시간으로 캡처된 참조 이미지 프레임 및 장노출 시간으로 캡처된 복수의 비참조 이미지 프레임들을 포함하고;
    상기 비참조 이미지 프레임들과 매칭되도록 상기 참조 이미지 프레임의 밝기 및 색상을 조정하며;
    상기 복수의 이미지 프레임들에 각각 상응하는 복수의 모션 맵들을 획득하고;
    상기 복수의 모션 맵들에 기초하여, 상기 참조 이미지 프레임 및 상기 비참조 이미지 프레임들을 블렌딩된 이미지로 블렌딩하며;
    상기 블렌딩된 이미지에 대해 컨투어 감축을 수행하여 상기 블렌딩된 이미지에서 컨투어 아티팩트들을 감축하도록 구성된 적어도 하나의 프로세서를 포함하는, 전자 디바이스.
  17. 참조 이미지 프레임 및 복수의 비참조 이미지 프레임들을 포함하는 복수의 이미지 프레임들을 결합함으로써 블렌딩된 이미지를 획득하는 단계;
    상기 복수의 이미지 프레임들에 각각 상응하는 복수의 모션 맵들을 획득하는 단계;
    상기 복수의 모션 맵들에 기초하여 상기 블렌딩된 이미지의 픽셀들에 대한 컨투어 우도를 획득하되, 상기 컨투어 우도는 상기 비참조 이미지 프레임들이 상기 블렌딩된 이미지에 얼마나 균형 있게 기여하는지를 지시하는 단계; 및
    상기 컨투어 우도를 이용하여 상기 블렌딩된 이미지를 수정하는 단계를 포함하는, 컨투어 감축 방법.


KR1020217035306A 2019-05-10 2020-05-07 상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들로 결합하는 방법 및 장치 KR20210154171A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962845997P 2019-05-10 2019-05-10
US62/845,997 2019-05-10
US201962883228P 2019-08-06 2019-08-06
US62/883,228 2019-08-06
US16/572,227 2019-09-16
US16/572,227 US11062436B2 (en) 2019-05-10 2019-09-16 Techniques for combining image frames captured using different exposure settings into blended images
PCT/KR2020/005970 WO2020231065A1 (en) 2019-05-10 2020-05-07 Method and apparatus for combining image frames captured using different exposure settings into blended images

Publications (1)

Publication Number Publication Date
KR20210154171A true KR20210154171A (ko) 2021-12-20

Family

ID=73045812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217035306A KR20210154171A (ko) 2019-05-10 2020-05-07 상이한 노출 설정들을 이용하여 캡처된 이미지 프레임들을 블렌딩된 이미지들로 결합하는 방법 및 장치

Country Status (5)

Country Link
US (1) US11062436B2 (ko)
EP (1) EP3967025A4 (ko)
KR (1) KR20210154171A (ko)
CN (1) CN111917994A (ko)
WO (1) WO2020231065A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6806264B2 (ja) * 2017-09-22 2021-01-06 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
US11172139B2 (en) * 2020-03-12 2021-11-09 Gopro, Inc. Auto exposure metering for spherical panoramic content
US11367254B2 (en) * 2020-04-21 2022-06-21 Electronic Arts Inc. Systems and methods for generating a model of a character from one or more images
US11223780B1 (en) * 2020-10-23 2022-01-11 Black Sesame Technologies Inc. Two-stage method to merge burst image frames
US11727540B2 (en) 2020-12-31 2023-08-15 Samsung Electronics Co., Ltd. Image sharpening
US11373281B1 (en) * 2021-02-23 2022-06-28 Qualcomm Incorporated Techniques for anchor frame switching
US11812165B2 (en) 2021-06-16 2023-11-07 Mediatek Inc. Method and apparatus for dynamically changing frame rate of sensor output frames according to whether motion blur condition is met
EP4322104A1 (en) * 2022-08-10 2024-02-14 Leica Instruments (Singapore) Pte Ltd Data processing device and computer-implemented method for motion-dependent image processing in a medical observation device and medical observation device

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100316717B1 (ko) * 1999-10-05 2001-12-20 윤종용 영상처리 시스템의 다이나믹 레인지 확대 장치 및 방법
JP2002300373A (ja) 2001-03-30 2002-10-11 Minolta Co Ltd 画像処理方法、画像処理装置、記録媒体及びプログラム
US20040100565A1 (en) 2002-11-22 2004-05-27 Eastman Kodak Company Method and system for generating images used in extended range panorama composition
JP4321287B2 (ja) 2004-02-10 2009-08-26 ソニー株式会社 撮影装置および撮影方法、並びに、プログラム
US7457477B2 (en) 2004-07-06 2008-11-25 Microsoft Corporation Digital photography with flash/no flash extension
US7551797B2 (en) 2004-08-05 2009-06-23 Canon Kabushiki Kaisha White balance adjustment
JP4559844B2 (ja) * 2004-12-27 2010-10-13 株式会社東芝 画像処理装置及び画像処理方法
US7538794B2 (en) * 2005-01-31 2009-05-26 Hewlett-Packard Development Company, L.P. Method and apparatus for motion estimation in a digital imaging device
US7454136B2 (en) 2005-07-28 2008-11-18 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for acquiring HDR flash images
US7403707B2 (en) 2005-07-28 2008-07-22 Mitsubishi Electric Research Laboratories, Inc. Method for estimating camera settings adaptively
US7443443B2 (en) 2005-07-28 2008-10-28 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for enhancing flash and ambient images
JP4987355B2 (ja) * 2005-10-14 2012-07-25 京セラ株式会社 撮像装置および撮像方法
JP4730121B2 (ja) * 2006-02-07 2011-07-20 ソニー株式会社 画像処理装置および方法、記録媒体、並びに、プログラム
JP2007228099A (ja) 2006-02-21 2007-09-06 Canon Inc 撮像装置
US7724952B2 (en) 2006-05-15 2010-05-25 Microsoft Corporation Object matting using flash and no-flash images
KR20080076004A (ko) 2007-02-14 2008-08-20 삼성전자주식회사 촬상장치 및 그 다이나믹 레인지 확장방법
JP5202546B2 (ja) 2007-02-25 2013-06-05 ヒューマンアイズ テクノロジーズ リミテッド マルチ画像表示を較正および/または視覚化しかつゴーストアーチファクトを低減するためのするための方法およびシステム
JP2008277896A (ja) 2007-04-25 2008-11-13 Kyocera Corp 撮像装置および撮像方法
JP2008294785A (ja) 2007-05-25 2008-12-04 Sanyo Electric Co Ltd 画像処理装置、撮像装置、画像ファイル及び画像処理方法
US7808532B2 (en) 2007-05-29 2010-10-05 Microsoft Corporation Strategies for extracting foreground information using flash and no-flash image pairs
US8922672B2 (en) 2008-01-03 2014-12-30 Apple Inc. Illumination systems and methods for imagers
KR101378333B1 (ko) 2008-01-11 2014-03-27 삼성전자주식회사 디지털 영상 처리 장치에서 영상의 배경흐림 효과 처리장치 및 방법
JP2009296179A (ja) * 2008-06-03 2009-12-17 Sony Corp 画像処理装置及び画像処理方法、並びに、撮像装置及び撮像方法
JP4990240B2 (ja) 2008-08-06 2012-08-01 三菱電機株式会社 画像処理装置および画像処理プログラム
US7962030B2 (en) 2008-09-22 2011-06-14 Nokia Corporation Flash thermal feedback for camera auto-exposure
US20100091119A1 (en) * 2008-10-10 2010-04-15 Lee Kang-Eui Method and apparatus for creating high dynamic range image
WO2010081010A2 (en) 2009-01-09 2010-07-15 New York University Methods, computer-accessible medium and systems for facilitating dark flash photography
JP2011130169A (ja) 2009-12-17 2011-06-30 Sanyo Electric Co Ltd 画像処理装置及び撮影装置
KR101653272B1 (ko) 2009-12-28 2016-09-01 삼성전자주식회사 디지털 촬영 장치, 그 제어 방법, 및 컴퓨터 판독가능 매체
KR101633893B1 (ko) 2010-01-15 2016-06-28 삼성전자주식회사 다중노출 영상을 합성하는 영상합성장치 및 방법
KR101662846B1 (ko) 2010-05-12 2016-10-06 삼성전자주식회사 아웃 포커싱 촬영에서 빛망울 효과를 생성하기 위한 장치 및 방법
KR101633377B1 (ko) 2010-06-18 2016-07-08 삼성전자주식회사 다중 노출에 의한 프레임 처리 방법 및 장치
US8760537B2 (en) 2010-07-05 2014-06-24 Apple Inc. Capturing and rendering high dynamic range images
JP2012119840A (ja) 2010-11-30 2012-06-21 Sanyo Electric Co Ltd 撮像装置
US9024951B2 (en) 2011-02-16 2015-05-05 Apple Inc. Devices and methods for obtaining high-local-contrast image data
JP5791336B2 (ja) 2011-04-01 2015-10-07 キヤノン株式会社 画像処理装置及びその制御方法
JP2012234393A (ja) 2011-05-02 2012-11-29 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
KR101699919B1 (ko) 2011-07-28 2017-01-26 삼성전자주식회사 다중 노출 퓨전 기반에서 고스트 흐림을 제거한 hdr 영상 생성 장치 및 방법
JP2013066142A (ja) * 2011-08-31 2013-04-11 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
KR20130031574A (ko) 2011-09-21 2013-03-29 삼성전자주식회사 영상 처리 방법 및 영상 처리 장치
US20130107066A1 (en) * 2011-10-27 2013-05-02 Qualcomm Incorporated Sensor aided video stabilization
US8953094B2 (en) 2011-11-10 2015-02-10 Apple Inc. Illumination system
CN102665034A (zh) 2012-03-16 2012-09-12 江苏华枫物联网科技有限公司 一种针对摄像机采集视频的夜间效果去除方法
CN103390262B (zh) 2012-05-11 2016-06-29 华为技术有限公司 数字滤波器权重系数的获取方法和装置
US9571818B2 (en) 2012-06-07 2017-02-14 Nvidia Corporation Techniques for generating robust stereo images from a pair of corresponding stereo images captured with and without the use of a flash device
US9083935B2 (en) 2012-06-15 2015-07-14 Microsoft Technology Licensing, Llc Combining multiple images in bracketed photography
KR101886246B1 (ko) 2012-07-12 2018-08-07 삼성전자주식회사 이미지 데이터에 포함된 모션 블러 영역을 찾고 그 모션 블러 영역을 처리하는 이미지 프로세싱 장치 및 그 장치를 이용한 이미지 프로세싱 방법
US9531961B2 (en) 2015-05-01 2016-12-27 Duelight Llc Systems and methods for generating a digital image using separate color and intensity data
US9154708B1 (en) 2014-11-06 2015-10-06 Duelight Llc Image sensor apparatus and method for simultaneously capturing flash and ambient illuminated images
JP6025470B2 (ja) 2012-09-13 2016-11-16 キヤノン株式会社 撮像装置、制御方法、プログラム及び記憶媒体
JP6200151B2 (ja) 2012-12-26 2017-09-20 キヤノン株式会社 撮像装置および調光制御方法
KR101871945B1 (ko) * 2013-01-17 2018-08-02 한화에어로스페이스 주식회사 영상 처리 장치 및 방법
KR20140107044A (ko) 2013-02-27 2014-09-04 삼성전자주식회사 이미지 서브 시스템
KR101926490B1 (ko) 2013-03-12 2018-12-07 한화테크윈 주식회사 이미지 처리 장치 및 방법
CN108107571B (zh) 2013-10-30 2021-06-01 株式会社摩如富 图像处理装置及方法及非暂时性计算机可读记录介质
AU2013273830A1 (en) 2013-12-23 2015-07-09 Canon Kabushiki Kaisha Post-processed bokeh rendering using asymmetric recursive Gaussian filters
CN103793885B (zh) 2014-01-14 2016-07-06 河海大学 强散射光学成像环境中非均匀光照下区域化图像恢复方法
US9495762B2 (en) 2014-05-14 2016-11-15 Qualcomm Incorporated Detecting and compensating for motion between a flash and a no-flash image
CN103986874A (zh) 2014-05-29 2014-08-13 宇龙计算机通信科技(深圳)有限公司 一种图像获取装置、图像获取方法及终端
US20150350504A1 (en) 2014-06-03 2015-12-03 2P & M Holdings, LLC RAW Camera Peripheral for Handheld Mobile Unit
JP6333095B2 (ja) 2014-07-09 2018-05-30 キヤノン株式会社 撮像装置およびその制御方法ならびにプログラム
US9438809B2 (en) 2014-07-25 2016-09-06 Samsung Electronics Co., Ltd. Methodology for generating high fidelity digital zoom for mobile phone cameras
US9524450B2 (en) 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
JP2016163327A (ja) 2015-03-05 2016-09-05 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
KR20160127606A (ko) 2015-04-27 2016-11-04 엘지전자 주식회사 이동 단말기 및 그 제어 방법
WO2016199209A1 (ja) * 2015-06-08 2016-12-15 オリンパス株式会社 ぼけ強調画像処理装置、ぼけ強調画像処理プログラム、ぼけ強調画像処理方法
KR102436954B1 (ko) 2015-11-24 2022-08-29 삼성전자주식회사 영상 촬영 장치 및 영상 촬영 장치의 제어 방법
JP6425833B2 (ja) 2015-12-08 2018-11-21 三菱電機株式会社 画像処理装置及び方法並びにプログラム及び記録媒体
US10402700B2 (en) 2016-01-25 2019-09-03 Deepmind Technologies Limited Generating images using neural networks
US10097765B2 (en) 2016-04-20 2018-10-09 Samsung Electronics Co., Ltd. Methodology and apparatus for generating high fidelity zoom for mobile video
US10200632B2 (en) 2016-08-01 2019-02-05 Microsoft Technology Licensing, Llc Low-illumination photo capture with reduced noise and blur
CN107786814B (zh) * 2016-08-24 2023-08-04 杭州海康威视数字技术股份有限公司 一种基于宽动态的图像处理方法、装置及曝光电路
US10726573B2 (en) 2016-08-26 2020-07-28 Pixart Imaging Inc. Object detection method and system based on machine learning
CN106791382A (zh) 2016-12-08 2017-05-31 深圳市金立通信设备有限公司 一种拍照控制方法及终端
US10805649B2 (en) 2017-01-04 2020-10-13 Samsung Electronics Co., Ltd. System and method for blending multiple frames into a single frame
CN106934769A (zh) 2017-01-23 2017-07-07 武汉理工大学 基于近景遥感的去运动模糊方法
US10158797B2 (en) 2017-03-31 2018-12-18 Motorola Mobility Llc Combining images when a face is present
KR20190017303A (ko) 2017-08-10 2019-02-20 엘지전자 주식회사 이동 단말기

Also Published As

Publication number Publication date
CN111917994A (zh) 2020-11-10
EP3967025A1 (en) 2022-03-16
US11062436B2 (en) 2021-07-13
US20200357102A1 (en) 2020-11-12
EP3967025A4 (en) 2022-07-06
WO2020231065A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
US11062436B2 (en) Techniques for combining image frames captured using different exposure settings into blended images
US11107205B2 (en) Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames
US10742892B1 (en) Apparatus and method for capturing and blending multiple images for high-quality flash photography using mobile electronic device
JP5389903B2 (ja) 最適映像選択
US9344636B2 (en) Scene motion correction in fused image systems
US10554890B1 (en) Apparatus and method for generating low-light images with improved bokeh using mobile electronic device
US10911691B1 (en) System and method for dynamic selection of reference image frame
US11095829B2 (en) Apparatus and method for high dynamic range (HDR) image creation of dynamic scenes using graph cut-based labeling
US8340417B2 (en) Image processing method and apparatus for correcting skin color
US20200126193A1 (en) Method and device for video processing, electronic device, and storage medium
US20220020126A1 (en) Guided multi-exposure image fusion
TWI632894B (zh) 動態影像之心率活動偵測系統與其方法
US11615510B2 (en) Kernel-aware super resolution
US9374478B1 (en) Adaptive image sharpening
US20210185287A1 (en) Apparatus and method for chroma processing for multi-frame fusion
US11727540B2 (en) Image sharpening
US11200653B2 (en) Local histogram matching with global regularization and motion exclusion for multi-exposure image fusion
US11354781B2 (en) Single-image detail and contrast enhancement
JP2023511226A (ja) コンテンツに基づく画像処理
KR20210018121A (ko) 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법
US20230034109A1 (en) Apparatus and method for interband denoising and sharpening of images
US20230035482A1 (en) Apparatus and method for combined intraband and interband multi-frame demosaicing
US11889197B1 (en) Reference frame selection for multi-frame image processing pipelines and other applications
US20230052082A1 (en) Global tone mapping with contrast enhancement and chroma boost
US11961206B2 (en) Image generation using non-linear scaling and tone-mapping based on cubic spline curves