KR20210018121A - 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법 - Google Patents

글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법 Download PDF

Info

Publication number
KR20210018121A
KR20210018121A KR1020200097535A KR20200097535A KR20210018121A KR 20210018121 A KR20210018121 A KR 20210018121A KR 1020200097535 A KR1020200097535 A KR 1020200097535A KR 20200097535 A KR20200097535 A KR 20200097535A KR 20210018121 A KR20210018121 A KR 20210018121A
Authority
KR
South Korea
Prior art keywords
image frame
map
value
histogram match
local histogram
Prior art date
Application number
KR1020200097535A
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
Priority claimed from US16/707,652 external-priority patent/US11200653B2/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2020/010298 priority Critical patent/WO2021025445A1/en
Priority to EP20850168.4A priority patent/EP3935601A4/en
Priority to CN202010786127.6A priority patent/CN112351212A/zh
Publication of KR20210018121A publication Critical patent/KR20210018121A/ko

Links

Images

Classifications

    • 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
    • G06K9/38
    • G06K9/4647
    • G06K9/6212
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • 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
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • G06V10/507Summing image-intensity values; Histogram projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Studio Devices (AREA)

Abstract

다중 노출 이미지의 융합을 위해 로컬 히스토그램 매칭을 수행하는 방법이 제공된다. 방법은, 장면의 복수의 이미지 프레임을 획득하고, 상기 복수의 이미지 프레임은 서로 다른 노출 설정을 사용하여 캡처된 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는, 단계를 포함할 수 있다. 방법은 움직임을 식별하는 모션 맵에 기초하여 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 일부 픽셀을 배제하는 단계를 포함할 수 있다. 방법은, 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 복수의 타일들에 기초하여 복수의 로컬 히스토그램 매치 맵을 생성하는 단계를 포함할 수 있다. 방법은, 상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 단계를 포함할 수 있다.

Description

글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법{DEVICE AND METHOD FOR PERFORMING LOCAL HISTOGRAM MATCHING WITH GLOBAL REGULARIZATION AND MOTION EXCLUSION}
본 개시는 이미지 캡처를 위한 전자 장치 및 방법에 대한 것으로서, 보다 상세하게는, 다중 노출 이미지의 융합을 위해 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법에 관한 것이다.
멀티-프레임 블렌딩 알고리즘(multi-frame blending algorithm)은 다양한 애플리케이션에서 사용될 수 있고, 장면(scene)의 최종 이미지를 생성하기 위해 장면의 복수의 이미지 프레임(frame)들을 "퓨즈(fuse)"하거나 결합(combine)할 수 있다. 예를 들어, HDR(High Dynamic Range) 이미징을 수행하거나 MBR(Motion Blur Reduction)을 수행하기 위해 복수의 이미지 프레임들을 융합할 수 있다. 일부 응용에서, 융합되는 이미지 프레임들은, 서로 다른 ISO 설정 및 서로 다른 노출 시간 등의 서로 다른 노출 설정을 이용하여 캡처(capture)될 수 있다. 이 때, 서로 다른 노출 설정을 이용하여 캡처된 이미지 프레임들은 서로 다른 밝기 레벨(brightness level)을 가질 수 있고, 장면 내에서 서로 다른 양의 움직임(motion)을 캡처할 수도 있다. 따라서, 서로 다른 노출 설정을 이용하여 캡처된 이미지 프레임들을 융합하는 것은 일반적으로 어려우며, 이에 따라, 서로 다른 노출 설정을 이용하여 캡처된 복수의 이미지 프레임들을 융합하는 기술이 요구된다.
본 개시의 일 실시예는, 다중 노출 이미지의 융합에 있어서, 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행함으로써, 현저한 색상 변형 또는 밝기 변형을 방지하면서도, 복수의 프레임들 사이에서 로컬 히스토그램 매칭을 달성할 수 있는 전자 장치 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 전자 장치가 로컬 히스토그램 매칭을 수행하는 방법은, 장면의 복수의 이미지 프레임을 획득하고, 상기 복수의 이미지 프레임은 서로 다른 노출 설정을 사용하여 캡처된 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는, 단계를 포함할 수 있다. 방법은 움직임을 식별하는 모션 맵에 기초하여 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 일부 픽셀을 배제하는 단계를 포함할 수 있다. 방법은, 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 서로 다른 부분들에 대응하는 복수의 타일들에 기초하여 복수의 로컬 히스토그램 매치 맵을 생성하는 단계를 포함할 수 있다. 방법은, 상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 단계를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 전자 장치는, 이미지 프레임을 획득하는 적어도 하나의 이미지 센서 및 상기 적어도 하나의 이미지 센서에 작동 가능하게 연결된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 이미지 센서로부터 장면의 복수의 이미지 프레임을 획득하고, 상기 복수의 이미지 프레임은 서로 다른 노출 설정을 사용하여 캡처된 제1 이미지 프레임 및 제2 이미지 프레임을 포함하고, 움직임을 식별하는 모션 맵(motion map)에 기초하여 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 일부 픽셀을 배제하고, 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 서로 다른 부분들에 대응하는 복수의 타일들에 기초하여 복수의 로컬 히스토그램 매치 맵을 생성하고, 및 상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하도록 구성될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 컴퓨터로 읽을 수 있는 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 컴퓨터에서 실행시키기 위한 프로그램이 저장된 것일 수 있다.
도 1은 본 개시의 일 실시예에 따른 전자 장치를 포함하는 네트워크 구성을 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따른 멀티-프레임 융합 방법의 흐름을 도시한 도면이다.
도 3은 본 개시의 일 실시예에 따른 도 2의 방법에서 이미지 히스토그램 매칭 동작을 설명하기 위한 도면이다.
도 4a 및 4b는 본 개시의 일 실시예에 따른 예시적인 참조 이미지 프레임, 예시적인 비참조 이미지 프레임 및 예시적인 모션 맵을 도시한 도면들이다.
도 5a 및 5b는 본 개시의 일 실시예에 따른 복수의 타일들로 분할된 예시적인 이미지 프레임 및 글로벌 히스토그램 매치 맵과 비교되는 타일에 대한 로컬 히스토그램 매치 맵을 도시한 도면들이다.
도 6a 및 6b는 본 개시의 일 실시예에 따른 과노출(over-exposed) 영역을 포함하는 이미지 프레임에 대한 로컬 히스토그램 매치 맵 및 히스토그램 매칭된 이미지 프레임을 도시한 도면들이다.
도 7은 본 개시의 일 실시예에 따른 저노출(under-exposed) 영역을 포함하는 이미지 프레임에 대한 로컬 히스토그램 매치 맵을 도시한 도면이다.
도 8a, 8b, 및 8c는 본 개시의 다양한 실시예들에 따른 로컬 히스토그램 매칭을 적용하는 예시를 도시한 도면들이다.
도 9는 본 개시의 일 실시예에 따른 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 통한 다중 노출 이미지의 융합 방법을 도시한 흐름도이다.
도 10a, 10b, 및 10c는 본 개시의 다양한 실시예들에 따른 복수의 불규칙한 타일들로 분할된 이미지 프레임을 도시한 도면들이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다.
본 개시 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 본 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에서, "송신(transmit)", "수신(receive)" 및 "통신(communicate)"이라는 용어 및 그 파생어들은 직접 및 간접 통신을 모두 포함할 수 있다. 본 개시에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
본 개시에서, "또는(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)", 또는 이와 유사한 의미를 가질 수 있다.
또한, 본 개시에서 설명되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있으며, 이들 각각은 컴퓨터 판독 가능 프로그램 코드로부터 형성되고 컴퓨터 판독 가능 매체에 구현될 수 있다.
본 개시에서, "애플리케이션(application)" 및 "프로그램(program)"은 적절한 컴퓨터 판독 가능 프로그램 코드에서의 구현에 적합한, 하나 이상의 컴퓨터 프로그램, 소프트웨어 구성요소, 명령어 세트, 절차(procedure), 기능(function), 객체(object), 클래스(class), 인스턴스(instance), 관련 데이터 또는 이들의 일부를 의미할 수 있다. 본 개시에서, "컴퓨터 판독 가능 프로그램 코드(computer readable program code)"는 소스 코드, 객체 코드 및 실행 가능 코드를 포함한 모든 유형의 컴퓨터 코드를 포함할 수 있다.
본 개시에서, "컴퓨터 판독 가능 매체(computer readable medium)"는 예를 들어, 롬(ROM, Read-Only Memory), 램(RAM, Random access memory), 하드 디스크 드라이브(hard disk drive), 콤팩트 디스크(CD, Compact Disc), DVD(Digital Video Disc) 등 컴퓨터에 의해 액세스 될 수있는 임의의 유형의 매체를 포함할 수 있다. 본 개시에서, "비일시적(non-transitory)" 컴퓨터 판독 가능 매체는 일시적으로 전기 또는 다른 신호를 전송하는 유선, 무선, 광학 또는 다른 통신 링크를 배제한다. 비일시적 컴퓨터 판독 가능 매체는 데이터가 영구적으로 저장될 수 있는 매체 및 재기록 가능한 광디스크 또는 삭제 가능한 메모리 장치와 같이 데이터가 저장되고 후에 덮어 쓰기될 수 있는 매체를 포함할 수 있다.
본 개시에서, 특정 부분이 어떤 특징(예를 들어, 개수, 기능, 동작 또는 부분적인 구성요소)을 "포함"한다고 할 때, 이는 다른 특징의 존재를 배제하는 것이 아니라 해당 특징의 존재를 의미한다. 또한, 본 개시에서, "A 또는 B", "A 및/또는 B 중 적어도 하나" 또는 "A 및/또는 B 중 하나 이상"은 A 및 B의 모든 가능한 조합을 포함할 수 있다. 예를 들어, "A 또는 B", "A 및 B 중 적어도 하나" 및 "A 또는 B 중 적어도 하나"는 (1) 적어도 하나의 A를 포함하는 경우, (2) 적어도 하나의 B를 포함하는 경우, 또는 (3) 하나 이상의 A 및 하나 이상의 B를 포함하는 경우를 모두 나타낼 수 있다.
나아가, 본 개시에서, "제1" 및 "제2"라는 용어는 중요도에 관계없이 다양한 구성요소를 나타낼 수 있으며 구성요소를 제한하지 않는다. 이러한 용어들은 하나의 구성요소를 다른 구성요소와 구별하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 디바이스 및 제2 사용자 디바이스는 디바이스의 순서 또는 중요도에 관계없이 서로 다른 사용자 디바이스를 나타낼 수 있다. 제1 구성요소는 본 개시의 범위를 벗어나지 않으면서 제2 구성요소로 표시될 수 있으며, 그 역도 가능하다.
어떠한 구성요소(예를 들어, 제1 구성요소)가 다른 구성요소(예를 들어, 제2 구성요소)와 "커플링" 되거나 "연결"될 때, 커플링 또는 연결은 구성요소 간에 직접 이루어지거나 다른 제3 구성요소를 통해 연결되는 것으로 이해될 수 있다. 이에 반해, 구성요소(예를 들어, 제1 구성요소)가 다른 구성요소(예를 들어, 제2 구성요소)와 "직접 커플링된다" 또는 "직접 연결된다"고 언급되는 경우, 또 다른 구성요소(예를 들어, 제3 구성요소)는 구성요소와 다른 구성요소 사이에 개입하지 않는다.
본 명세서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 시스템"이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시에서, "전자 장치"는 예를 들어, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 웨어러블 장치(wearable device)(예: 스마트 안경, HMD(head-mounted device)), 전자 옷, 전자 팔찌, 전자 목걸이, 전자 액세서리, 전자 문신(electronic tattoo), 스마트 미러(smart mirror) 및 스마트 워치(smart watch) 중 적어도 하나를 포함할 수 있다.
전자 장치는 예를 들어, 스마트 가전 제품(smart home appliance)을 포함할 수도 있다. 스마트 가전 제품은 예를 들어, 텔레비전(TV), DVD(digital video disc) 플레이어, 오디오 플레이어, 냉장고, 에어컨, 청소기, 오븐, 전자 레인지, 세탁기, 건조기 , 공기청정기, 셋톱 박스(set-top box), 홈 오토메이션 제어판(home automation control panel), 보안 제어판(security control panel), TV 박스(예: SAMSUNG HOMESYNC, APPLETV 또는 GOOGLE TV), 스마트 스피커(smart speaker), 통합형 디지털 어시스턴트(integrated digital assistant)(예: SAMSUNG GALAXY HOME, APPLE HOMEPOD 또는 AMAZON ECHO), 게임 콘솔(game console)(예: XBOX, PLAYSTATION 또는 NINTENDO), 전자 사전, 전자 키(electronic key), 캠코더(camcorder) 및 전자 액자(electronic picture frame) 중 적어도 하나를 포함할 수 있다.
또한, 전자 장치는 예를 들어, 다양한 의료 장치(예컨대, 다양한 휴대용 의료 측정 장치(혈당 측정 장치, 심장 박동 측정 장치 또는 체온 측정 장치 등), MRA(magnetic resource angiography) 장치, MRI(magnetic resource imaging) 장치, CT(computer tomography) 장치, 이미징(imaging) 장치 또는 초음파 장치), 내비게이션(navigation) 장치, GPS(global positioning system) 수신기, EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 항해 장치(예컨대, 항해 내비게이션 장치 또는 자이로(gyro) 나침반), 항공 장치(avionics), 보안 장치, 차량 헤드 유닛(vehicular head unit), 산업용 또는 가정용 로봇, ATM(automatic teller machine) 기기, POS(point of sales) 기기, 또는 IoT(internet of things) 장치(예컨대, 전구, 다양한 센서, 전기 또는 가스 계량기, 스프링클러(sprinkler), 화재 경보기, 온도 조절기, 가로등, 토스터, 피트니스 장비, 온수 탱크, 히터 또는 보일러) 중 적어도 하나를 포함할 수 있다.
전자 장치의 또 다른 예는, 가구 또는 건물/구조, 전자 보드(electronic board), 전자 서명 수신 장치(electronic signature receiving device), 프로젝터 또는 다양한 측정 장치(예컨대, 물, 전기, 가스, 또는 전자파를 측정하는 장치)의 적어도 일부를 포함할 수 있다. 본 개시에서, 전자 장치는 전술한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 일 실시예에서, 전자 장치는 플렉서블(flexible) 전자 장치일 수 있다. 본 개시의 전자 장치는 전술한 장치들에 한정되지 않으며, 기술 발전에 따라 새로운 전자 장치를 포함할 수 있다.
이하의 설명에서, 본 개시의 다양한 실시예에 따른 전자 장치를 첨부한 도면을 참조하여 설명한다. 본 개시에서, "사용자(user)"는 전자 장치를 사용하는 사람 또는 다른 장치(예를 들어, 인공지능 전자 장치)를 의미할 수 있다.
다른 특정 단어 또는 문구에 대한 정의는 본 명세서 전체에서 제공될 수 있다. 통상의 기술자는 그러한 정의는 대부분의 경우 정의된 단어 또는 문구의 이전 사용 및 미래의 사용에도 적용된다는 것을 이해할 수 있다.
본 개시의 설명들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. 본 개시의 범위는 특허청구범위에 의하여 정의될 수 있고, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
아래에서는 첨부한 도 1 내지 도 10c를 참조하여 본 개시의 실시예들을 상세히 설명한다. 그러나, 본 개시는 여기에서 설명하는 실시예에 한정되지 않으며, 그에 대한 모든 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태 또한 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
멀티-프레임 블렌딩 알고리즘(multi-frame blending algorithm)은, HDR(high dynamic range) 이미징 또는 MBR(motion blur reduction)과 같이, 장면의 최종 이미지를 생성하기 위해 장면의 여러 이미지 프레임을 "퓨즈 (fuse)" 또는 결합하기 위한 다양한 애플리케이션에서 사용될 수 있다. 일부 응용에서, 융합되는 이미지 프레임들은, 서로 다른 ISO 설정 및 서로 다른 노출 시간 등의 서로 다른 노출 설정을 이용하여 캡처될 수 있다. 다만, 서로 다른 노출 설정을 이용하여 캡처된 이미지 프레임들은 종종 서로 다른 밝기 레벨을 가지며 장면 내에서 서로 다른 양의 모션을 캡처하는 경우가 있다.
글로벌 이미지 히스토그램 매칭 알고리즘(global image histogram matching algorithm)은 이미지 프레임의 융합을 더욱 용이하게하기 위해, 하나 이상의 이미지 프레임의 밝기를 조절하는 동작에 사용될 수 있다. 그러나 글로벌 히스토그램 매칭 알고리즘은 밝기 불일치 및 색상 왜곡과 같은 다양한 이미지 아티팩트(artifact)를 초래할 수 있다. 글로벌 히스토그램 매칭 알고리즘의 한 가지 문제점은, 로컬 이미지 컨텐츠에 잘 적응하지 않기 때문에, 장면의 특정 유형의 이미지 영역(예를 들어, 이미지 프레임 내의 하늘, 나무 또는 사람의 머리카락 등)에 대해 신뢰할 수 있는 히스토그램 매칭을 찾지 못할 수 있다는 것이다. 따라서, 상이한 노출 설정을 이용하여 캡처된 복수의 이미지 프레임들을 융합하는 것은 일반적으로 어렵다.
본 개시는, 다중 노출을 갖는 이미지의 융합을 위해, 글로벌 정규화(global regularization) 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 적용하는 다양한 기술을 제공할 수 있다. 아래에서 상세히 설명되는 바와 같이, 장면의 복수의 이미지 프레임들은, 서로 다른 노출 길이를 이용한 복수의 이미지 프레임이 캡처되는 등, 서로 다른 노출 설정을 사용하여 캡처될 수 있다. 이후, 장면에서, 움직임(motion)과 관련된 이미지 프레임의 픽셀들이 배제되고, 이미지 프레임은 복수의 섹션(section) 또는 "타일(tile)"들로 나뉠 수 있다. 일 실시예에서, 하나의 이미지 프레임은 참조(reference) 이미지 프레임으로, 하나 이상의 다른 이미지 프레임들은 하나 이상의 비참조(non-reference) 이미지 프레임들로 결정되고, 각각의 이미지 프레임들은 타일들로 분할될 수 있다.
로컬 히스토그램 매치 맵은 비참조 이미지 프레임의 각각의 타일들에 대해 계산될 수 있다. 이 때, 로컬 히스토그램 매치 맵은 해당 히스토그램이 참조 이미지 프레임의 해당 타일의 이미지 데이터 히스토그램과 더욱 밀접하게 일치하도록 해당 타일의 이미지 데이터를 조정하는 방법을 포함할 수 있다. 하나 이상의 로컬 히스토그램 매치 맵은 해당 이미지 프레임에 대한 글로벌 히스토그램 매치 맵에 기초하여 정규화(regularize)될 수 있다. 예를 들어, 이미지 타일에 대한 로컬 히스토그램 매치 맵의 일부 또는 전부는, 해당 타일을 포함하는 이미지 프레임에 대한 글로벌 히스토그램 매치 맵의 일부 또는 전부로 대체될 수 있다. 이후, 로컬 히스토그램 매치 맵을 사용하여 장면(scene)의 최종 이미지를 생성할 수 있다.
캡처(capture)된 이미지 프레임에서 움직임과 관련된 픽셀이 배제됨으로써, 본 개시의 일 실시예는, 장면의 최종 이미지에서 모션 블러(motion blur)를 감소시킬 수 있다. 또한, 로컬 히스토그램 매치 맵을 사용함으로써, 본 개시의 일 실시예는, 캡처된 이미지 프레임에서 서로 다른 유형의 로컬 이미지 컨텐츠(contents)에 더욱 쉽게 적용될 수 있다. 나아가, 글로벌 히스토그램 매치 맵을 기반으로 로컬 히스토그램 매치 맵을 정규화함으로써, 하나 이상의 이미지 프레임에서 특정 유형의 로컬 이미지 컨텐츠(예를 들어, 과노출(over-exposed) 영역 및 저노출(under-exposed) 영역)를 더욱 효과적으로 처리할 수 있고, 해당 영역들에서 이미지 아티팩트(artifact)를 줄일 수 있다.
도 1은 본 개시의 일 실시예에 따른 전자 장치(101)를 포함하는 네트워크 구성(100)을 도시한 도면이다.
도 1의 네트워크 구성(100)은 하나의 예시를 나타낸다. 네트워크 구성(100)의 다른 실시예들은 본 개시를 벗어나지 않는 범위에서 사용될 수 있다.
본 개시의 일 실시예에서, 전자 장치(101)는 네트워크 구성(100)에 포함될 수 있다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입력/출력(I/O) 인터페이스(150), 디스플레이(160), 통신 인터페이스(170) 및 센서(180) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 전자 장치(101)는 이러한 구성요소들 중 적어도 하나를 배제하거나 다른 구성요소를 추가할 수도 있다.
버스(110)는, 구성요소(120 내지 180)들을 상호 연결하고 구성요소들 간의 통신(예를 들어, 제어 메시지 및/또는 데이터)을 전송하기위한 회로를 포함할 수 있다.
프로세서(120)는, 중앙 처리 장치(CPU), 애플리케이션 프로세서(AP) 또는 통신 프로세서(CP) 중 적어도 하나를 포함할 수 있다. 프로세서(120)는 전자 장치(101)의 다른 구성요소들 중 적어도 하나에 대한 제어 및/또는 통신과 관련된 동작 또는 데이터 처리를 수행할 수 있다. 일 실시예에서, 프로세서(120)는 GPU(graphucs processor unit)일 수도 있다. 예를 들어, 프로세서(120)는 글로벌 정규화 및 모션 배제를 이용한 로컬 히스토그램 매칭을 통한 다중 노출 이미지 융합을 지원하기 위해 이미지 데이터를 수신하고 이미지 데이터를 처리할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 예를 들어, 메모리(130)는 전자 장치(101)의 적어도 하나의 다른 구성요소와 관련된 명령어 또는 데이터를 저장할 수 있다. 본 개시의 일 실시예에서, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다.
프로그램(140)은, 예를 들어, 커널(kernel)(141), 미들웨어(middleware)(143), 애플리케이션 프로그래밍 인터페이스(API)(145) 및/또는 애플리케이션 프로그램(또는 "애플리케이션")(147)을 포함할 수 있다. 커널(141), 미들웨어(143) 또는 API(145)의 적어도 일부는 운영 체제(OS)로 표시될 수 있다.
커널(141)은, 다른 프로그램(예를 들어, 미들웨어(143), API(145) 또는 애플리케이션(147))에서 구현되는 동작 또는 기능을 수행하는데 사용되는 시스템 자원(예를 들어, 버스(110), 프로세서(120) 또는 메모리(130))을 제어 또는 관리할 수 있다. 커널(141)은 미들웨어(143), API(145) 또는 애플리케이션(147)이 전자 장치(101)의 개별 구성요소에 접근하여 시스템 자원을 제어 또는 관리하도록 하는 인터페이스를 제공할 수 있다.
애플리케이션(147)은 후술하는 바와 같이 이미지 캡처 및 이미지 처리를위한 하나 이상의 애플리케이션을 포함할 수 있다. 이러한 기능은 단일한 애플리케이션 또는 각각이 하나 이상의 기능을 수행하는 여러 애플리케이션에서 수행될 수 있다.
미들웨어(143)는 API(145) 또는 애플리케이션(147)이 커널(141)과 데이터를 통신할 수 있도록 하는 중계기로서 기능할 수 있다. 애플리케이션(147)은 복수일 수 있다. 미들웨어(143)는 전자 장치(101)의 시스템 자원(예를 들어, 버스(110), 프로세서(120) 또는 메모리(130))을 사용하는 것의 우선 순위를 복수의 애플리케이션(147) 중 적어도 하나에 할당함으로써, 애플리케이션(147)으로부터 수신된 작업 요청을 제어할 수 있다.
API(145)는, 커널(141) 또는 미들웨어(143)로부터 제공되는 기능을 애플리케이션(147)이 제어할 수 있도록하는 인터페이스이다. 예를 들어, API(145)는 파일링 제어, 윈도우 제어, 이미지 처리 또는 텍스트 제어를 위한 적어도 하나의 인터페이스 또는 기능(명령과 같은)을 포함할 수 있다.
I/O 인터페이스(150)는, 예를 들어, 전자 장치(101)의 다른 구성요소(들)에 사용자 또는 다른 외부 장치로부터의 명령 또는 데이터 입력을 전달하는 인터페이스로서 기능할 수 있다. I/O 인터페이스(150)는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 장치로 출력할 수도 있다.
디스플레이(160)는, 예를 들어, LCD(liquid crystal display), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 퀀텀닷 발광 다이오드(QLED) 디스플레이, MEMS(microelectromechanical systems) 디스플레이 또는 전자 종이 디스플레이를 포함할 수 있다. 또한, 디스플레이(160)는 다중 초점(multi-focal) 디스플레이와 같은 깊이 인식(depth-aware) 디스플레이를 포함할 수도 있다. 예를 들어, 디스플레이(160)는 다양한 컨텐츠(텍스트, 이미지, 비디오, 아이콘 또는 기호 등)를 사용자에게 표시할 수 있다. 디스플레이(160)는 터치스크린(touchscreen)을 포함할 수 있고, 예를 들어, 전자 펜 또는 사용자의 신체 일부로부터 터치(touch), 제스처(gesture), 근접(proximity) 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스(170)는, 전자 장치(101)와 외부 전자 장치(예를 들어, 제1 전자 장치(102), 제2 전자 장치(104) 또는 서버(106)) 사이의 통신을 설정할 수 있다. 예를 들어, 통신 인터페이스(170)는 무선 또는 유선 통신을 통해 네트워크(162, 164)와 연결되고 외부 전자 장치와 통신할 수 있다. 통신 인터페이스(170)는 유선 또는 무선 송수신기, 또는 이미지와 같은 신호를 송수신하기 위한 임의의 다른 구성요소로 구성될 수 있다.
무선 통신은, 셀룰러 통신 프로토콜(cellular communication protocol)로서, 예를 들어, LTE(long term evolution), LTE-A(long term evolution-advanced), 5세대 무선 시스템(5G), 밀리미터파(millimeter-wave) 또는 60GHz 무선 통신, 무선 USB, CDMA(code division multiple access), WCDMA(wideband code division multiple access), UMTS(universal mobile telecommunication system), WiBro(wireless broadband), 또는 GSM(global system for mobile communication) 중 적어도 하나를 사용할 수 있다. 유선 연결은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다. 네트워크(162, 164)는 컴퓨터 네트워크(예를 들어, LAN(local area network), WAN(wide area network)), 인터넷, 및 전화 네트워크 중 적어도 하나의 통신 네트워크를 포함할 수 있다.
전자 장치(101)는, 물리량을 측정하거나, 전자 장치(101)의 활성화 상태를 검출하거나, 측정 또는 검출된 정보를 전기적 신호로 변환할 수 있는 하나 이상의 센서(180)를 더 포함할 수 있다. 예를 들어, 하나 이상의 센서(180)는 장면의 이미지를 캡처하기 위한 하나 이상의 카메라(camera) 또는 다른 이미징 센서(imaging sensor)를 포함할 수 있다.
센서(들)(180)는, 예를 들어, 터치 입력을 위한 하나 이상의 버튼, 제스처(gesture) 센서, 자이로스코프(gyroscope) 또는 자이로(gyro) 센서, 기압 센서, 자기 센서 또는 지자기계(magnetometer), 가속도 센서 또는 가속도계(accelerometer), 그립(grip) 센서, 근접도 센서, 칼라(color) 센서(예를 들어, RGB 센서), 생체(bio-physical) 센서, 온도 센서, 습도 센서, 조명 센서, 자외선(UV) 센서, 근전도(EMG) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, 적외선(IR) 센서, 초음파 센서, 홍채 센서, 및 지문 센서 중 적어도 하나를 포함할 수 있다. 또한, 센서(180)는, 예를 들어, 하나 이상의 가속도계, 자이로스코프 및 다른 구성요소를 포함하는, 관성(inertial) 측정 유닛을 더 포함할 수 있다. 나아가, 센서(들)(180)는 여기에 포함된 센서들 중 적어도 하나를 제어하기위한 제어 회로를 포함할 수 있다. 센서(들)(180)는 전자 장치(101) 내에 배치될 수 있다.
제1 외부 전자 장치(102) 또는 제2 외부 전자 장치(104)는, 웨어러블(wearable) 장치 또는 전자 장치 장착형 웨어러블 장치(예를 들어, HMD)일 수 있다. 예를 들어, 전자 장치(101)가 HMD 등의 전자 장치(102)에 장착되는 경우, 전자 장치(101)는 통신 인터페이스(170)를 통해 전자 장치(102)와 통신할 수 있다. 전자 장치(101)는, 전자 장치(102)와 직접 연결되어, 별도의 네트워크에 관여되지 않고 전자 장치(102)와 통신할 수 있다. 또한, 전자 장치(101)는 하나 이상의 카메라를 포함하는, 안경과 같은, 증강 현실 웨어러블 장치일 수도 있다.
제1 외부 전자 장치(102), 제2 외부 전자 장치(104), 및 서버(106)는 각각 전자 장치(101)와 동일하거나 상이한 유형의 장치일 수 있다. 본 개시의 일 실시예에 따르면, 서버(106)는 하나 이상의 서버의 그룹을 포함할 수 있다. 또한, 본 개시의 일 실시예에 따르면, 전자 장치(101)에서 실행되는 모든 동작 또는 일부 동작은 다른 전자 장치(예를 들어, 전자 장치(102, 104) 또는 서버(106))에서 실행될 수 있다. 나아가, 본 개시의 일 실시예에 따르면, 전자 장치(101)가 자동으로 또는 요청에 따라 일부 기능 또는 서비스를 수행할 때, 전자 장치(101)는 해당 기능 또는 서비스를 자체적으로 또는 부가적으로 실행하는 대신에, 다른 장치(예를 들어, 전자 장치(102, 104) 또는 서버(106))에 적어도 일부 기능을 수행하도록 요청할 수 있다. 다른 전자 장치(예를 들어, 전자 장치(102, 104) 또는 서버(106))는 요청된 기능 또는 추가적인 기능을 실행하고, 실행 결과를 전자 장치(101)에 전달할 수 있다. 전자 장치(101)는, 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능 또는 서비스를 제공할 수 있다. 이를 위해, 예를 들어, 클라우드(cloud) 컴퓨팅, 분산(distributed) 컴퓨팅, 또는 클라이언트-서버(client-server) 컴퓨팅 기술이 사용될 수 있다. 도 1을 참조하면, 전자 장치(101)는, 네트워크(162, 164)를 통해 외부 전자 장치(104) 또는 서버(106)와 통신하기 위한 통신 인터페이스(170)를 포함할 수 있고, 전자 장치(101)는 본 개시의 일 실시예에서 별도의 통신 기능없이 독립적으로 동작될 수도 있다.
서버(106)는 전자 장치(101)(또는 이의 적절한 서브세트)와 동일하거나 유사한 구성요소(110 내지 180)를 포함할 수 있다. 서버(106)는 전자 장치(101)에 구현된 동작(또는 기능) 중 적어도 하나를 수행하여 전자 장치(101)의 구동을 지원할 수 있다. 예를 들어, 서버(106)는 전자 장치(101)에 구현된 프로세서(120)를 지원할 수 있는, 처리 모듈 또는 프로세서를 포함할 수 있다.
도 1은 전자 장치(101)를 포함하는 네트워크 구성(100)의 일 실시예를 도시하며, 다양한 변경이 도 1의 전자 장치에 이루어질 수 있다. 예를 들어, 네트워크 구성(100)은 임의의 적절한 배열로 임의의 개수의 구성요소를 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템은 다양한 구성으로 제공될 수 있고, 도 1의 특정 구성으로 본 개시의 범위가 제한되지 않는다. 또한, 도 1은 본 명세서에 개시된 다양한 특징이 사용될 수 있는 하나의 동작 환경을 도시하며, 이들 특징은 임의의 다른 적합한 시스템에서 사용될 수도 있다.
도 2는 본 개시의 일 실시예에 따른 멀티-프레임 융합 방법(200)의 흐름을 도시한 도면이다.
편의를 위해, 도 2에 도시된 방법(200)은 도 1에 도시된 전자 장치(101)를 통해 수행되는 것으로 설명된다. 그러나, 도 2에 도시된 방법(200)은 임의의 적절한 시스템 하에서, 및 임의의 다른 적합한 전자 장치와 함께 사용될 수도 있다.
일반적으로, 방법(200)은 융합된 출력 이미지(255)를 생성하기 위해 장면의 복수의 이미지 프레임(205)을 캡처하거나 획득하고, 이미지 프레임을 처리하는데 사용될 수 있다. 융합된 출력 이미지(255)는 이미지 프레임(205)에 포함된 이미지 데이터를 결합(combining)하거나 융합(fusing)함으로써 생성될 수 있다. 이미지 프레임(205)들 중 적어도 2개는 서로 다른 노출 길이 등, 서로 다른 노출 설정을 사용하여 캡처될 수 있다. 일 실시예에서, 방법(200)은 서로 다른 노출 설정을 사용하여 캡처된 2개의 이미지 프레임(205)들을 수신할 수 있다. 또한, 일 실시예에서, 방법(200)은 3개 이상의 이미지 프레임(205)들을 수신할 수도 있고, 이 때, 이미지 프레임(205)들 중 적어도 2개는 서로 다른 노출 설정을 사용하여 캡처될 수 있다.
이미지 프레임(205)을 캡처하기 위해 임의의 적절한 노출 설정이 사용될 수 있다. 일 실시예에서, 적어도 하나의 이미지 프레임(205)은, 자동 노출(automatic exposure) 또는 다른 장노출(longer exposure)을 사용하여 캡처될 수 있고, 적어도 하나의 다른 이미지 프레임(205)은 자동 노출 또는 장노출에 비해 짧은 노출을 사용하여 캡처될 수 있다. 자동 노출은, 일반적으로 사용자 입력이 거의 없거나 전혀 없을 때, 카메라 또는 다른 장치에 의해 자동으로 결정되는 노출을 의미한다. 예를 들어, 사용자는 노출 모드(인물, 배경, 스포츠 또는 기타 모드 등)를 지정할 수 있고, 지정된 노출 모드를 기반으로 자동 노출이 생성될 수 있다. 각각의 노출 설정은, 조리개, 셔터 속도, 및 카메라 센서 감도와 같은, 카메라의 여러 설정과 관련될 수 있다.
단노출(shorter exposure)의 이미지 프레임은, 일반적으로 더 어둡고, 이미지 세부 정보가 부족하며, 자동 노출 또는 장노출의 이미지 프레임에 비해 노이즈가 더 크다. 결과적으로, 단노출 이미지 프레임은 하나 이상의 저노출(under-exposed) 영역을 포함할 수 있고, 자동 노출 또는 다른 장노출 이미지 프레임은 하나 이상의 과노출(over-exposed) 영역을 포함할 수 있다. 이하에서는, 적어도 하나의 자동 노출 이미지 프레임 및 적어도 하나의 단노출 이미지 프레임의 사용을 포함하는 실시예가 설명되지만, 본 개시에 포함된 기술은 서로 다른 노출을 사용하여 캡처된 이미지 프레임들의 임의의 적절한 조합과 함께 사용될 수 있다.
일 실시예에서, 캡처 동작 동안, 프로세서(120)는 이미지 프레임(205)들이 버스트 모드(burst mode)에서와 같이 빠르게 캡처되도록 전자 장치(101)의 카메라 또는 다른 이미지 센서(180)를 제어할 수 있다. 또는, 전자 장치(101)가 복수의 카메라 또는 다른 이미지 센서(180)를 포함하는 경우, 이미지 프레임(205)은 동시에 또는 중첩적인(overlapping) 방식으로 캡처될 수 있다. 이미지 프레임(205)의 캡처를 트리거(trigger)하는 캡처 요청은, 전자 장치(101)를 사용하여 장면의 이미지를 캡처할 필요 또는 요구를 가리키는 임의의 적절한 명령 또는 입력을 나타낼 수 있다. 예를 들어, 캡처 요청은 사용자가 디스플레이(160) 상에 제시된 "소프트(soft)" 버튼을 누르거나, 사용자가 "하드(hard)" 버튼을 누르는 것에 응답하여 개시될 수 있다. 일 실시예에서, 2개를 초과하는 이미지 프레임이 캡처될 수 있으나, 이하에서는 편의를 위해 2개의 이미지 프레임(205)이 캡처 요청에 응답하여 캡처되는 경우를 가정하여 설명한다.
방법(200)에서의 처리 동작 동안, 하나의 이미지 프레임(205)은 참조 이미지 프레임(reference image frame)으로서 사용될 수 있고, 다른 이미지 프레임(205)은 비참조 이미지 프레임(non-reference image frame)으로서 사용될 수 있다. 상황에 따라서, 참조 이미지 프레임은 자동 노출 또는 다른 장노출 이미지 프레임을 나타내거나, 참조 이미지 프레임은 단노출 이미지 프레임을 나타낼 수 있다. 일 실시예에서, 자동 노출 또는 다른 장노출 이미지 프레임은 기본적인 참조 이미지 프레임으로서 사용될 수 있으며, 이는 일반적으로 이미지의 합성 또는 장면의 최종 이미지를 생성할 때, 더 큰 이미지 세부 정보(detail)를 갖는 이미지 프레임이 더 많이 사용될 수 있기 때문이다.
도 2를 참조하면, 전처리 동작(210)에서는, 이미지 프레임(205)을 수신하고, 이미지 프레임(205)의 전처리(pre-processing)를 수행할 수 있다. 임의의 적합한 전처리 기능이, 전처리 동작(210)의 일부로서 수행될 수 있다. 예를 들어, 전처리 동작(210)은 하나 이상의 이미지 프레임(205)에서 컬러 밸런스(color balance)를 변경 또는 정정하기 위해 화이트 밸런스(white balance) 기능을 수행할 수 있다. 일 실시예에서, 전처리 동작(210)은 마스크(예를 들어, CFA 마스크)를 사용하여, 미가공 이미지 프레임에 포함된 불완전한 컬러 샘플로부터 풀 컬러(full color) 이미지 프레임을 재구성하는 기능을 수행할 수 있다.
전처리된 이미지 프레임(205)은, 이미지 프레임(205)을 정렬하고 정렬된 이미지 프레임을 생성하는, 이미지 정렬 동작(image alignment operation)(220)에 제공될 수 있다. 예를 들어, 이미지 정렬 동작(220)에서는, 비참조 이미지 프레임의 특정한 특징이 참조 이미지 프레임의 대응하는 특징과 정렬되도록, 비참조 이미지 프레임을 수정할 수 있다. 전자 장치(101)가 이미지 캡쳐들 사이에서 이동하거나 회전함에 따라 야기되는 오정렬(misalignment)을 보상하기 위해 정렬 과정이 필요할 수 있고, 이는 (핸드헬드(handheld) 장치에서 일반적인 것과 같이) 이미지 프레임(205) 내의 물체(object)의 미세한 이동 또는 회전을 야기할 수 있다. 이미지 프레임(205)은 기하학적(geometrically)으로, 및 광도적(photometrically)으로 정렬될 수 있다. 일 실시예에서, 이미지 정렬 동작(220)은, 이미지 검색 동작의 다른 구현이 사용될 수도 있지만, 블록 검색(block search)으로부터의 글로벌 ORB(oriented FAST and rotated BRIEF) 특징 및 로컬 특징을 사용하여 이미지 프레임을 정렬할 수도 있다.
참조 이미지 프레임은 정렬 동안 수정되거나 수정되지 않을 수도 있지만, 비참조 이미지 프레임은 정렬 동안 수정된 이미지 프레임만을 나타낼 수 있다. 이미지 정렬 동작(220)의 일부로서, 모션 맵(motion map)이 생성될 수 있고, 모션 맵은 코어스(coarse) 모션 맵을 포함할 수 있다. 여기서 모션 맵(코어스 모션 맵)은 움직임(motion)이 존재하는 정렬된 이미지 프레임에서 하나 이상의 영역을 반영할 수 있다.
정렬된 이미지 프레임(205)은, 이미지 히스토그램 매칭 동작(230)에 제공되고, 이는 일반적으로 비참조 이미지 프레임의 히스토그램이 참조 이미지 프레임의 히스토그램과 더욱 밀접하게 일치하도록, 비참조 이미지 프레임을 수정하도록 동작할 수 있다. 이미지 히스토그램 매칭 동작(230)은 참조 이미지 프레임 및 비참조 이미지 프레임에 대한 밝기 레벨을 동일하게 하고, 참조 이미지 프레임 및 비참조 이미지 프레임의 색상 및 채도를 더욱 가깝게 일치 시키도록 동작할 수 있다. 이미지 히스토그램 매칭 동작(230)은 히스토그램 매칭된 이미지 프레임을 출력할 수 있다. 참조 이미지 프레임은 히스토그램 매칭 동안 수정되거나 수정되지 않을 수 있지만, 비참조 이미지 프레임은 히스토그램 매칭 동안 수정된 이미지 프레임만을 나타낼 수 있다. 본 개시의 일 실시예에서, 참조 이미지 프레임 및 비참조 이미지 프레임을 타일(tile)로 분할하고, 분할된 타일별로 히스토그램 매칭을 수행함으로써, 로컬 히스토그램 매칭을 수행할 수 있다. 이하 도 3을 참조하여, 히스토그램 매칭 동작(230)에 대해 더욱 자세히 설명한다.
히스토그램 매칭된 이미지 프레임은, 이미지 블렌딩(blending) 동작(240)에 제공될 수 있다. 이미지 블렌딩 동작(240)은, 장면의 적어도 하나의 블렌딩된 이미지를 생성하기 위해 이미지 프레임으로부터의 픽셀을 블렌딩 또는 결합(combine)할 수 있다. 각각의 블렌딩된 이미지는, 일반적으로 서로 다른 노출 설정을 갖는 이미지 프레임들의 융합을 나타낼 수 있다. 블렌딩된 이미지의 각각의 픽셀들은, 참조 이미지 프레임 또는 비참조 이미지 프레임에서 추출되거나, 참조 이미지 프레임 또는 비참조 이미지 프레임의 픽셀들의 조합일 수 있다. 블렌딩 동작 중, 히스토그램 매칭된 프레임들은, 정확한 모션 분석을 제공하고 블렌딩 모션 맵(blending motion map)을 생성하는데 사용될 수 있다. 이후, 블렌딩 모션 맵은 서로 다른 노출 설정을 갖는 이미지 프레임들의 블렌딩을 가이드(guide)하기 위해 사용될 수 있다. 일 실시예에서, 이미지 프레임들을 블렌딩하기 위한 다양한 기술들이 사용될 수 있다.
적어도 하나의 블렌딩된 이미지는 후처리(post-processing) 동작(250)에 제공될 수 있다. 후처리 동작(250)에서는, 융합된 출력 이미지(255)를 생성하기 위해, 블렌딩된 이미지에 임의의 적절한 후처리를 수행할 수 있다. 예를 들어, 후처리 동작(250)은 톤 매핑(tone mapping) 또는 샤프닝(sharpening)을 수행할 수 있다.
방법(200)의 다양한 동작들은 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 방법(200)의 각각의 동작들은, 전자 장치(101)의 적어도 하나의 프로세서(120)에 의해 실행되는 하나 이상의 소프트웨어 애플리케이션 또는 다른 소프트웨어 명령어들을 사용하여 구현되거나 지원될 수 있다. 일 실시예에서, 방법(200)의 동작들 중 적어도 일부는, 전용 하드웨어 구성요소를 사용하여 구현되거나 지원될 수도 있다. 일반적으로, 방법(200)의 동작들은, 임의의 적절한 하드웨어, 또는 하드웨어 및 소프트웨어/펌웨어 명령어의 임의의 적절한 조합을 통해 수행될 수 있다.
도 2는 멀티-프레임 융합 방법(200)의 하나의 예시를 도시하며, 도 2에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 전자 장치(101)는 방법(200)의 일부 또는 이미지 처리 알고리즘의 일부로서, 다른 기능을 수행할 수도 있다. 일 실시예에서, 이미지 프레임(205)은 또 다른 적절한 전처리 및 후처리 동작을 거칠 수도 있다.
도 3은 본 개시의 일 실시예에 따른 도 2의 방법(200)에서, 이미지 히스토그램 매칭 동작(230)을 설명하기 위한 도면이다.
도 3을 참조하면, 방법(300)은, 도 2의 방법(200)에서, 이미지 히스토그램 매칭 동작(230)의 일부 또는 전부로서 수행될 수 있다. 편의를 위해, 도 3에 도시된 방법(300)은 도 1의 전자 장치(101)를 통해 수행되는 것으로 설명된다. 그러나, 도 3에 도시된 방법(300)은 임의의 적절한 시스템 하에서, 및 임의의 다른 적합한 전자 장치와 함께 사용될 수도 있다.
도 3을 참조하면, 방법(300)은 이미지 정렬 동작(220)으로부터 코어스 모션 맵(또는, 모션 맵)(305) 및 이미지 프레임(310, 315)들을 포함하는 다양한 입력을 수신할 수 있다. 예를 들어, 일 실시예에서, 이미지 프레임(310)은 참조 이미지 프레임을 나타내고, 이미지 프레임(315)은 비참조 이미지 프레임을 나타낼 수 있다. 이미지 프레임(310, 315)들은 전술한 바와 같이 전처리되고 정렬될 수 있다. 일 실시예에서, 참조 이미지 프레임(310)은 자동 노출 또는 다른 장노출 이미지 프레임을 나타내고, 비참조 이미지 프레임(315)은 단노출 이미지 프레임을 나타낼 수 있으나, 이에 한정되는 것은 아니다. 또한, 도 3을 참조하면, 2개의 이미지 프레임(310, 315)들이 수신될 수 있으나, 일 실시예에서, 2개 이상의 이미지 프레임들이 획득될 수도 있다.
참조 이미지 프레임(310) 및 비참조 이미지 프레임(315)들은, 모션 배제(motion exclusion) 동작(320)에 제공될 수 있다. 모션 배제 동작(320)에서는, 코어스 모션 맵(305)에 기초하여, 모션을 포함하는 하나 이상의 이미지 프레임(310, 315)들의 영역들을 식별하고, 이들 영역을 후속 동작들로부터 배제하도록 동작할 수 있다. 예를 들어, 모션 배제 동작(320)은, 코어스 모션 맵(305)에 기초하여, 이미지 프레임(310, 315)들에서 움직임이 감지되는지 여부를 나타내는 값들을 포함하는 마스크(mask)를 생성할 수 있다. 이미지 프레임(310, 315)들 내의 움직임 영역들과 연관된 이미지 데이터는, 생성된 마스크에 기초하여, 후속 동작들의 처리에서 배제될 수 있다. 일 실시예에서, 이미지 프레임(310, 315)들은, 움직임과 관련된 이미지 데이터를 제거함으로써 수정될 수도 있다.
이미지 프레임(310, 315)(또는, 수정된 버전의 이미지 프레임(310, 315))들은 타일-기반(tile-based) 히스토그램 매칭 동작(330)에 제공될 수 있다. 본 개시의 일 실시예에서, 이미지 프레임(310, 315)(또는, 수정된 버전)들은 각각 복수의 타일(tile)들로 분할되고, 비참조 이미지 프레임(315)의 각각의 타일들에 대해 로컬 히스토그램 매치 맵이 생성될 수 있다. 각각의 로컬 히스토그램 매치 맵은, 이미지 데이터의 히스토그램이, 참조 이미지 프레임(310)에서 대응하는 타일의 히스토그램과 더욱 밀접하게 일치하도록, 비참조 이미지 프레임(315)의 타일의 이미지 데이터가 어떻게 수정될 수 있는지를 나타낼 수 있다.
타일-기반의 히스토그램 매칭 동작(330)은, 임의의 적절한 기술을 사용하여 각각의 이미지 프레임을 타일로 분할할 수 있다. 또한, 타일-기반의 히스토그램 매칭 동작(330)은 임의의 적절한 기술을 사용하여, 이미지 프레임의 각각의 타일의 이미지 데이터에 대한 로컬 히스토그램 매치 맵을 계산할 수 있다. 나아가, 타일-기반의 히스토그램 매칭 동작(330)은, 비참조 이미지 프레임(315)에 대한 글로벌 히스토그램 매치 맵을 계산할 수 있다. 타일-기반의 히스토그램 매칭 동작(330)은 이미지 프레임의 이미지 데이터에 대한 글로벌 히스토그램 매치 맵을 계산하기 위해 임의의 적절한 기술을 사용할 수 있다.
글로벌 정규화(global regularization) 동작(340)은, 로컬 히스토그램 매치 맵 및 글로벌 히스토그램 매치 맵을 수신할 수 있다. 글로벌 정규화 동작(340)은, 일반적으로 이미지 프레임에 대한 글로벌 히스토그램 매치 맵을 사용하여, 해당 이미지 프레임의 타일에 대한 하나 이상의 로컬 히스토그램 매치 맵을 선택적으로 정규화할 수 있다. 예를 들어, 로컬 히스토그램 매치 맵의 일부 또는 전부는, 과노출 및 저노출 영역을 설명하기 위해, 글로벌 히스토그램 매치 맵의 일부 또는 전부로 대체될 수 있고, 또는 글로벌 히스토그램 매치 맵에 적어도 부분적으로 기초한 보간된(interpolated) 값은 로컬 히스토그램 매치 맵에서 결정되어 사용될 수 있다. 이미지화되는 장면에 따라, 글로벌 정규화 동작(340)은, 이미지 프레임에 대한 하나 이상의 로컬 히스토그램 매치 맵을 수정할 수 있다(또는, 특정 이미지 프레임에 대한 로컬 히스토그램 매치 맵이 전혀 수정되지 않을 수도 있다). 이 경우, 장면의 최종 이미지를 생성하는데 사용되는 최종 로컬 히스토그램 매치 맵이 생성될 수 있다.
히스토그램 매칭 적용 동작(350)은 최종 로컬 히스토그램 매치 맵(또는, 글로벌 히스토그램 매치 맵)을 적용하여 하나 이상의 이미지 프레임(310, 315)을 수정할 수 있다. 일 실시예에서, 비참조 이미지 프레임(315)만이 수정될 수도 있고, 다른 실시예에서는 참조 이미지 프레임(310) 및 비참조 이미지 프레임(315)이 모두 수정될 수도 있다. 히스토그램 매칭 적용 동작(350)은, 적어도 하나의 이미지 프레임을 수정하기 위해, 임의의 적절한 기술을 사용할 수 있다. 히스토그램 매칭 적용 동작(350)에 의해 수행되는 동작의 일 실시예는, 이하의 도 8a, 8b, 및 8c를 참조하여 제공될 수 있다. 일 실시예에서, 히스토그램 매칭 동작(350)은 이미지 블렌딩 동작(240)에 제공될 수 있는, 히스토그램 매칭된 비참조 이미지 프레임(355)을 출력할 수 있다. 참조 이미지 프레임(310)이 수정되는 경우, 히스토그램 매칭 적용 동작(350)은 복수의 히스토그램 매칭된 이미지 프레임들을 출력할 수 있다.
방법(300)의 다양한 동작들은 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 방법(300)의 각각의 동작은, 전자 장치(101)의 적어도 하나의 프로세서(120)에 의해 실행되는 하나 이상의 소프트웨어 애플리케이션 또는 다른 소프트웨어 명령어들을 사용하여 구현되거나 지원될 수 있다. 일 실시예에서, 방법(300)의 동작들 중 적어도 일부는, 전용 하드웨어 구성요소를 사용하여 구현되거나 지원될 수도 있다. 일반적으로, 방법(300)의 동작들은, 임의의 적절한 하드웨어, 또는 하드웨어 및 소프트웨어/펌웨어 명령어의 임의의 적절한 조합을 통해 수행될 수 있다.
도 3은, 도 2의 방법(200)에서, 이미지 히스토그램 매칭 동작(230)의 예시(300)를 도시하며, 도 3에 있어서, 다양한 변경이 이루어질 수 있다. 예를 들어, 전자 장치(101)는 방법(300)의 일부 또는 이미지 처리 알고리즘의 일부로서, 다른 기능을 수행할 수도 있다.
도 4a 및 4b는 본 개시의 일 실시예에 따른 예시적인 참조 이미지 프레임(410), 예시적인 비참조 이미지 프레임(415) 및 예시적인 모션 맵(405)을 도시한 도면들이다.
이하 도면들에서는, 개인 정보 보호를 위해 사람의 얼굴을 가렸다. 도 4a를 참조하면, 참조 이미지 프레임(410)은 비참조 이미지 프레임(415)에 비해 더 긴 노출 시간을 사용하여 캡처된다. 예를 들어, 참조 이미지 프레임(410)은 EV+0 노출을 사용하여 캡처될 수 있고, 비참조 이미지 프레임(415)은 EV-1, EV-2, 또는 EV-3 노출을 사용하여 캡처될 수 있다. 결과적으로, 참조 이미지 프레임(410)은 더 밝고 더 많은 이미지 세부 정보(detail)를 포함하지만, 참조 이미지 프레임(410)은 모션 블러(motion blur) 또는 색상 과포화(saturation) 문제가 있다. 이 때, 과포화는, 과노출로 인해 빛이 과도하게 포함됨으로써 프레임의 채도가 무채색에 가까워지는 현상을 의미할 수 있다. 대조적으로, 비참조 이미지 프레임(415)은 더 어둡고 더 적은 이미지 세부 정보를 포함하지만, 비참조 이미지 프레임(415)은 모션 블러 또는 색상 포화가 없거나 거의 없다.
도 4b를 참조하면, 모션 맵(405)은 움직임(motion)이 발생하는 이미지 프레임(410, 415)과 관련된 픽셀을 식별할 수 있다. 일 실시예에서, 모션 맵(405)은 도 2의 이미지 정렬 동작(220) 동안 생성될 수 있다. 일 실시예에서, 모션 맵(405)의 값은, 참조 이미지 프레임(410)과 비참조 이미지 프레임(415) 간의 모션 벡터(motion vector)로부터 결정될 수 있다. 예를 들어, 모션 맵(405)은 범위(range)가 [0,255]이고, 차원이 2016x1512인 맵일 수 있다. 모션 맵(405)의 값이 작을수록 움직임이 존재할 가능성이 높음을 의미할 수 있다. 일 실시예에서, 특정 픽셀의 모션 맵(405)의 값이 기 설정된 임계값보다 작을 경우, 해당 픽셀을 모션 픽셀(motion pixel)로 결정할 수 있다. 예를 들어, 기 설정된 임계값은 일반적으로 예측된 모션 벡터로부터 결정될 수 있다. 결과적으로, 모션 맵(405)은, 이미지 정렬 동작 후에도 이미지 프레임(410, 415)들 사이에 상당한 차이가 계속 존재하는, 이미지 프레임(410, 415)들의 영역을 식별할 수 있다. 일 실시예에서, 모션 맵(405)은 이진(binary) 모션 맵으로 수정될 수 있다. 이진 모션 맵에서, 1의 값은 움직임을 포함하는 모션 픽셀을 나타내고, 0의 값은 움직임이 포함되지 않은 정적(static) 픽셀을 나타낼 수 있다. 이진 모션 맵의 값은, 수정 전 모션 맵(405)의 값과 기 설정된 임계값을 비교하여 결정될 수 있다. 예를 들어, 이진 모션 맵은, 결정된 모션 맵의 값이 기 설정된 임계값보다 작거나 동일한 값을 가질 경우, 그 값을 1로 대체하고, 결정된 모션 맵의 값이 기 설정된 임계값보다 큰 경우, 그 값을 0으로 대체함으로써 생성될 수 있다. 이진 모션 맵은 후속하는 히스토그램 매칭 동작에서 모션 픽셀들이 제외되도록 하는 마스크의 역할을 할 수 있다.
일 실시예에서, 이미지에 포함된 사람은 손을 흔들며 있고, 사람의 팔과 손을 포함하는 이미지의 영역(425)과 관련된 픽셀은 상당한 움직임(임계값 이상의 움직임을 의미한다)을 나타낼 수 있다. 영역(425)의 픽셀들은 후속 단계인 히스토그램 매칭 동작에서 제외될 수 있는데, 이는 상당한 움직임의 존재가 이미지 프레임들 사이에서 히스토그램 불일치를 쉽게 야기하기 때문이다.
도 4a 및 도 4b는 참조 이미지 프레임(410), 비참조 이미지 프레임(415) 및 모션 맵(405)의 예시를 도시하며, 도 4a 및 도 4b에 대해서 다양한 변경이 이루어질 수 있다. 예를 들어, 이미지 프레임들 및 모션 맵은 하나의 실시예에 불과하며, 장면의 이미지 및 그와 연관된 모션 맵은 광범위하게 변할 수 있다.
도 5a 및 5b는 본 개시의 일 실시예에 따른 복수의 타일(505a 내지 530a)들로 분할된 예시적인 이미지 프레임(500), 및 글로벌 히스토그램 매치 맵(535)과 비교되는 타일에 대한 로컬 히스토그램 매치 맵(505b 내지 530b)을 도시한 도면이다.
도 5a를 참조하면, 이미지 프레임(500)은 타일(505a 내지 530a)들의 2x3 배열(array)로 분할될 수 있다. 도 5a의 타일(505a 내지 530a)들의 개수 및 배열은 예시에 불과하며, 이미지 프레임은 임의의 다른 적합한 개수 및 배열의 타일들로 분할될 수도 있다. 또한, 일 실시예에서, 각각의 타일(505a 내지 530a)들은 이미지 프레임(500) 내에서 실질적으로 동일한 양의 공간을 포함할 수 있지만, 이에 제한되는 것은 아니다. 일 실시예에서, 타일-기반의 히스토그램 매칭 동작(330)은, 이미지 프레임의 크기, 이미지 프레임의 방향(orientation), 및 이미지 프레임의 컨텐츠(content) 등의 다양한 인자(factor)에 기초하여, 서로 다른 이미지 프레임들을 서로 다른 개수와 배열을 가지는 타일들로 분할할 수 있다.
타일-기반의 히스토그램 매칭 동작(330)은, 이미지 프레임(500)에 대한 로컬 히스토그램 매치 맵(505b 내지 530b) 및 글로벌 히스토그램 매치 맵(535)을 계산할 수 있다. 각각의 로컬 히스토그램 매치 맵(505b 내지 530b)들은, 대응하는 타일(505a 내지 530a)들(및 다른 이미지 프레임의 대응하는 타일)의 이미지 컨텐츠에 기초하고, 글로벌 히스토그램 매치 맵(535)은 모든 타일(505a 내지 530a)들(및 다른 이미지 프레임)의 이미지 컨텐츠에 기초할 수 있다.
도 5b를 참조하면, 그래프에서, 각각의 로컬 히스토그램 매치 맵(505b 내지 530b)들은 실선으로 정의되고, 글로벌 히스토그램 매치 맵(535)은 점선으로 정의될 수 있다. 각각의 그래프에서, 여러 개의 실선과 점선이 표시되어 서로 다른 색상 채널의 곡선을 정의할 수 있다 (예를 들어, 3개의 실선 및 3개의 점선은 RGB 채널의 곡선을 나타낼 수 있다). 이하에서 후술하는 바와 같이, 글로벌 히스토그램 매치 맵(535)은, 장면의 최종 이미지의 품질을 향상시키기 위해, 다양한 상황에서 하나 이상의 로컬 히스토그램 매치 맵(505b 내지 530b)의 적어도 일부를 수정하거나 대체하는데 사용될 수 있다 (정규화 프로세스에 해당한다).
히스토그램 매칭(histogram matching)은, 일반적으로 비참조 이미지 프레임의 밝기 및 색상을 참조 이미지 프레임의 밝기 및 색상과 일치시킨다. 이것은, 비참조 이미지 프레임에 대한 글로벌 및 로컬 히스토그램 매치 맵을 계산하고, (필요한 경우) 글로벌 히스토그램 매치 맵에 기초하여 로컬 히스토그램 매치 맵 중 적어도 하나를 정규화하고, 적어도 하나의 비참조 이미지 프레임의 이미지 데이터를 수정하여 수정된 이미지 데이터가 참조 이미지 프레임의 이미지 데이터의 히스토그램과 더욱 밀접하게 일치하는 히스토그램을 갖도록 함으로써 달성될 수 있다. 일 실시예에서, 비참조 이미지 프레임 내의 이미지 데이터만이 히스토그램 매칭된 비참조 이미지 프레임을 생성하기 위해 수정될 수도 있다.
이미지 프레임은 로컬 히스토그램 매치 맵(또는 정규화된 버전)에 기초하여 임의의 적절한 방식으로 수정될 수 있다. 예를 들어, 룩업 테이블(look-up table)은 비참조 이미지 프레임으로부터의 본래의 휘도(luminance) 및/또는 색차(chrominance) 픽셀 값을, 히스토그램 매칭된 비참조 이미지 프레임에 대한 새로운 휘도 및/또는 색차 픽셀 값으로 매핑할 수 있다. 결과적으로, 히스토그램 매칭된 비참조 이미지 프레임은, 참조 이미지 프레임의 히스토그램과 더욱 밀접하게 일치하는 히스토그램을 가질 수 있고, 참조 이미지 프레임의 밝기 및 색상과 더욱 밀접하게 일치하도록 보조할 수 있다.
타일-기반 로컬 히스토그램 매칭의 이용은, 히스토그램 매칭 동작(230)의 전체적인 품질을 향상시킬 수 있다. 즉, 히스토그램 매칭 동작(230)은, 이미지 프레임(500)의 서로 다른 영역들에서의 로컬 이미지 컨텐츠를 고려할 수 있고, 이들 서로 다른 영역들을 다른 이미지 프레임 내의 대응하는 영역들과 더욱 밀접하게 매칭시킬 수 있다.
도 5b를 다시 참조하면, 글로벌 히스토그램 매치 맵(535)에 대한 곡선은, 로컬 히스토그램 매치 맵(505b 내지 530b)에 대한 곡선으로부터 이격될 수 있다. 따라서, 모든 타일(505a 내지 530a)들에 걸쳐 글로벌 히스토그램 매칭을 수행하는 경우, 밝기 불일치 및 색상 왜곡과 같은 아티팩트(artifact)가 생성될 수 있다. 이미지 프레임을 복수의 타일들로 나누는 경우, 각각의 타일에 대응하는 이미지 컨텐츠를 더욱 잘 반영할 수 있고, 글로벌 매칭과 비교하였을 때, 보다 나은 매칭 결과를 얻을 수 있다.
도 5a 및 5b는 복수의 타일(505a 내지 530a)들로 분할된 예시적인 이미지 프레임(500), 및 글로벌 히스토그램 매치 맵(535)과 비교되는 타일들에 대한 로컬 히스토그램 매치 맵(505b 내지 530b)들을 도시하며, 도 5a 및 5b에 다양한 변경이 이루어질 수 있다. 예를 들어, 이미지 프레임을 분할하는데 사용되는 타일의 개수는 증가 또는 감소될 수 있고, 타일은 균일한 크기나 형상을 가지지 않을 수도 있다. 일 실시예에서, 이미지 프레임은 3x3 타일, 4x2 타일, 또는 2x4 타일로 분할될 수도 있고, 타일의 개수나 배열은 해상도에 따라 달라질 수 있다(예를 들어, 1440x1440 이미지를 위한 3x3 타일, 또는 2288x1080 이미지를 위한 2x4 또는 4x2 타일 등).
도 6a 및 6b는 본 개시의 일 실시예에 따른 과노출(over-exposed) 영역을 포함하는 이미지 프레임(601)에 대한 로컬 히스토그램 매치 맵 및 히스토그램 매칭된 이미지 프레임(602)을 도시한다.
도 6a를 참조하면, 이미지 프레임(601)은 타일(605a 내지 620a)들로 분할되고, 각각의 타일(605a 내지 620a)들에 대한 로컬 히스토그램 매치 맵(605b 내지 620b)이 생성될 수 있다. 또한, 이미지 프레임(601)에 대한 글로벌 히스토그램 매치 맵(635)이 생성될 수 있고, 글로벌 히스토그램 매치 맵(635)은 각각의 로컬 히스토그램 매치 맵(605b 내지 620b)에 대해 플롯팅(plotting)될 수 있다.
도 6a를 참조하면, 로컬 히스토그램 매치 맵 605b, 615b, 620b들은 글로벌 히스토그램 매치 맵(635)을 비교적 잘 따를 수 있다. 그러나, 타일 610a와 관련된 로컬 히스토그램 매치 맵 610b는 그렇지 않다. 이는, 타일 610a가 이미지 프레임(601)에서 빛의 포화(saturation) 정도가 높은 영역, 즉, (채도가 낮은) 무채색에 가까운 영역에 대응하기 때문이다. 결과적으로, 타원(650) 내에 도시된 바와 같이, 로컬 히스토그램 매치 맵 610b는, 커브가 최대 값으로 점프할 때까지, 커브의 많은 부분에 걸쳐 0의 채도 값을 나타내는 RGB 커브를 포함할 수 있다. 따라서, 로컬 히스토그램 매치 맵 610b를 사용하여 히스토그램 매칭을 적용하려고 할 때, 타일 610a 및 인접한 타일들에서의 밝기 또는 색상 불일치가 발생할 수 있다. 이를 보상하기 위해, 글로벌 정규화 동작(340)은, 타일 610a에서의 후속 히스토그램 매칭 동작 동안 사용하기 위해, 로컬 히스토그램 매치 맵 610b의 값을 글로벌 히스토그램 매치 맵(635)의 값(또는 글로벌 히스토그램 매치 맵(635)에 기초한 값)으로 대체할 수 있다. 이러한 방식으로 생성된 이미지 프레임(602)은, 도 6b에 도시되어 있으며, 원본 이미지 프레임(601)에 포함된 이미지 데이터를 보다 정확하게 반영할 수 있다.
일 실시예에서, 동작은 다음과 같이 표현될 수 있다. 비참조 이미지 프레임에서 과포화 영역에 의해 나타나는 문제를 완화하기 위해, 로컬 히스토그램 매치 맵 610b는, 로컬 히스토그램 매치 맵 610b의 0의 값을 대응하는 글로벌 히스토그램 매치 맵(635)의 값으로 대체하는, 글로벌 정규화 프로세스에 의해 변경될 수 있다. 또한, 글로벌 정규화 프로세스는, 로컬 히스토그램 매치 맵 610b에서 매칭 성능을 향상시키기 위해, 0이 아닌 값의 경우 로컬 히스토그램 매치 맵의 값을 로컬 커브와 글로벌 커브 사이에서 보간(interpolate)된 값으로 대체할 수 있다. 예를 들어, 로컬 히스토그램 매치 맵 610b의 곡선에 아래의 수학식 1을 적용할 수 있다. 여기서, w는 타일의 채도로부터 계산된 스케일링 가중치이다. 예를 들어, w는 대응하는 타일에서 로컬 히스토그램 매치 맵의 값이 기 설정된 임계값보다 큰 픽셀의 수를 타일에 포함된 전체 픽셀의 수로 나눈 값일 수 있다.
Figure pat00001
도 6a 및 6b는 넓은 과노출 영역을 포함하는 이미지 프레임(601)에 대한 로컬 히스토그램 매치 맵(605b 내지 620b)들의 예시 및 히스토그램 매칭된 이미지 프레임(602)의 예시를 도시하며, 도 6a 및 6b에는 다양한 변경이 이루어질 수 있다. 예를 들어, 이미지는, 이미지 프레임의 포화 영역에 대해, 로컬 히스토그램 매치 맵이 어떻게 처리될 수 있는지를 설명하기 위함이다. 다른 이미지 프레임에 다른 이미지 컨텐츠와 히스토그램이 존재하는 경우에도, 동일한 유형의 기술이 적용될 수 있다.
도 7은 본 개시의 일 실시예에 따른 저노출(under-exposed) 영역을 포함하는 이미지 프레임(701)에 대한 로컬 히스토그램 매치 맵을 도시한 도면이다.
과노출(over-exposed) 또는 빛의 과포화(over-saturated) 영역이 넓은 이미지 프레임에서 나타나는 문제와 유사하게, 어두운(저노출) 영역을 포함하는 이미지 또한 히스토그램 매칭 중에 사용 가능한 신뢰할 수 있는 로컬 히스토그램 매치 맵을 제공하지 않을 수 있다. 도 7은, 타일(705a, 710a)들로 분할된 이미지 프레임(701), 각각의 타일(705a, 710a)들과 관련된 로컬 히스토그램 매치 맵(705b, 710b), 및 모든 타일(705a, 710a)들과 관련된 글로벌 히스토그램 매치 맵(735)을 도시한다.
도 7을 참조하면, 일 실시예에서, 로컬 히스토그램 매치 맵 705b는 글로벌 히스토그램 매치 맵(735)을 비교적 잘 따를 수 있다. 그러나, 타일 710a와 관련된 로컬 히스토그램 매치 맵 710b는 그렇지 않다. 이는, 타일 710a가 이미지 프레임(701)의 어두운(dark) 영역에 대응하기 때문이다. 결과적으로, 타원(750) 내에 도시된 바와 같이, 로컬 히스토그램 매치 맵 710b는, 초기에는 증가하지만, 대부분에 걸쳐 일정한 값의 평평한 라인을 갖는 RGB 커브(curve)를 포함할 수 있다. 따라서, 로컬 히스토그램 매치 맵 710b를 사용하여 히스토그램 매칭을 적용하려고 할 때, 타일 710a 및 인접한 타일들에서의 밝기 또는 색상 불일치가 발생할 수 있다. 이를 보상하기 위해, 글로벌 정규화 동작(340)은 로컬 히스토그램 매치 맵 710b를 글로벌 히스토그램 매치 맵(735)으로 대체하고, 타일 710a를 포함하는 후속 히스토그램 매칭 동작 동안 글로벌 히스토그램 매치 맵(735)을 사용할 수 있다. 이러한 방식으로 생성된 결과 이미지 프레임은 원본 이미지 프레임(701)에 포함된 이미지 데이터를 보다 정확하게 반영할 수 있다.
일 실시예에서, 동작은 다음과 같이 표현될 수 있다. 비참조 이미지 프레임에서의 어두운 영역에 의해 제시된 문제를 완화시키기 위해, 로컬 히스토그램 매치 맵 710b는, 도 6a 및 도 6b를 참조하여 설명한 과포화 영역에 사용된 프로세스와 유사하게 글로벌 정규화 프로세스에 의해 변경될 수 있다. 그러나, 로컬 히스토그램 매치 맵 710b에서, 0의 값을 대체하고 채도 정도에 기초하여 0이 아닌 값을 보간하는 대신, 어두운 영역에 대한 글로벌 정규화에서는, 로컬 히스토그램 매치 맵에서의 값과 글로벌 히스토그램 매치 맵에서의 값 사이의 차이가 기 설정된 임계 값을 초과하는 경우에 한해, 로컬 히스토그램 매치 맵의 값을 대응하는 글로벌 히스토그램 매치 맵의 값으로 대체할 수 있다. 예를 들어, 로컬 히스토그램 매치 맵 710b의 곡선에 아래의 수학식 2를 적용할 수 있다. 여기서, T_th는 기 설정된 임계 값을 나타낼 수 있고, f1[k]는 전술한 수학식 1에 의해 결정될 수 있다.
Figure pat00002
도 7은 넓은 저노출 영역을 포함하는 이미지 프레임(701)에 대한 로컬 히스토그램 매치 맵의 예시를 도시하며, 도 7에 대해서는 다양한 변경이 이루어질 수 있다. 예를 들어, 이미지는, 이미지 프레임의 어두운 영역에 대해, 로컬 히스토그램 매치 맵이 어떻게 처리될 수 있는지를 설명하기 위함이다. 다른 이미지 프레임에서, 다른 이미지 컨텐츠와 히스토그램이 존재하는 경우에도, 동일한 유형의 기술이 적용될 수 있다.
도 8a, 8b, 및 8c는 본 개시의 다양한 실시예들에 따른 로컬 히스토그램 매칭을 적용하는 예시를 도시한 도면들이다.
도 8a, 8b, 및 8c는, 예를 들어, 전술한 히스토그램 매칭 동작(350)이 로컬 히스토그램 매칭을 수행하는 방식을 각각 나타낼 수 있다. 일 실시예에서, 히스토그램 매칭 동작(350)은 로컬 히스토그램 매칭을 제공하기 위해 임의의 다른 적절한 동작을 수행할 수도 있다.
도 8a를 참조하면, 이미지 프레임(800), 타일(805a 내지 830a)들, 및 로컬 히스토그램 매치 맵(805b 내지 830b)들이 처리될 수 있다. 이미지 프레임(800)을 처리하기 위해, 이미지 프레임(800)의 각각의 픽셀(801)은 픽셀 단위로 수정될 수 있다. 일 실시예에서, 각각의 로컬 히스토그램 매치 맵(805b 내지 830b)을 대응하는 타일(805a 내지 830a)의 픽셀 값에 적용할 수 있다.
일 실시예에서, 타일 내의 각각의 픽셀(801)의 값은, 가까운 이웃 타일(예를 들어, 4개의 가장 가까운 이웃 타일들)의 복수의 로컬 히스토그램 매치 맵에 기초하여 보간될 수 있다. 이 경우, 히스토그램 매칭 동작에서 매끄러움을 제공하고, 타일 경계 주위에서의 불연속을 방지할 수 있다. 일 실시예에서, 타일 내의 각각의 픽셀(801)의 값은, 가까운 이웃 타일(예를 들어, 4개의 가장 가까운 이웃 타일들)의 로컬 히스토그램 매치 맵에 의해 정의된 픽셀 값의 가중치 반영된 평균에 기초하여 보간될 수 있다. 일 실시예에서, 4개의 이웃 타일들의 로컬 히스토그램 매치 맵의 가중치 반영된 평균은, 다음의 수학식 3에 의해 계산될 수 있다.
Figure pat00003
Figure pat00004
여기서, (x,y)는 픽셀 좌표이고, weightX는 x/tileWidth이고, weightY는 y/tileHeight이고, f_tile1[k], f_tile2[k], f_tile3[k], 및 f_tile4[k]는 (x,y) 좌표 상에 존재하는 픽셀의 4개의 이웃 타일들의 로컬 히스토그램 매치 맵의 값을 의미한다.
도 8a를 참조하면, 타일 810a 내의 특정 픽셀(801)은 로컬 히스토그램 매치 맵 805b, 810b, 815b, 및 820b로부터의 값에 기초할 수 있다. 이웃 타일의 로컬 히스토그램 매치 맵으로부터의 각각의 값에 적용되는 가중치는, 픽셀(801)과 각각의 이웃 타일 사이의 거리에 기초할 수 있다.
도 8b를 참조하면, 타일 830a 내의 특정 픽셀 802는 로컬 히스토그램 매치 맵 815b, 820b, 825b, 및 830b로부터의 값에 기초할 수 있다. 이웃 타일의 로컬 히스토그램 매치 맵으로부터의 각각의 값에 적용되는 가중치는, 픽셀 802와 각각의 이웃하는 타일 사이의 거리에 기초할 수 있다. 예를 들어, 픽셀 802는, 가장 가까운 로컬 히스토그램 매치 맵인 830b의 값이 반영되는 가중치가 가장 높을 수 있다. 또한, 타일의 폭 대비 픽셀의 x축 상의 위치에 따라 결정된 가중치 weightX 및 타일의 높이 대비 픽셀의 y축 상의 위치에 따라 결정된 가중치 weightY에 따라, 각각의 로컬 히스토그램 매치 맵 815b, 820b, 825b, 및 830b의 값들이 픽셀 802의 히스토그램 매칭에 적용되는 정도가 달라질 수 있다.
도 8c를 참조하면, 타일 805a 내의 특정 픽셀 803 및 타일 830a 내의 특정 픽셀 804는 오직 2개의 이웃하는 타일을 가질 수 있다. 이 경우, 픽셀 803에는, 이웃하는 두 개의 로컬 히스토그램 매치 맵 805b 및 810b의 값이 각각 두번씩 반영된 최종 로컬 히스토그램 매치 값이 적용될 수 있다. 유사하게, 픽셀 804에는, 이웃하는 두 개의 로컬 히스토그램 매치 맵 825b 및 830b의 값이 각각 두번씩 반영된 최종 로컬 히스토그램 매치 값이 적용될 수 있다. 이웃 타일의 로컬 히스토그램 매치 맵으로부터의 각각의 값에 적용되는 가중치는, 픽셀 803 또는 804와 각각의 이웃하는 타일 사이의 거리에 기초할 수 있다.
도 8a, 8b, 및 8c는 로컬 히스토그램 매칭의 적용의 예시를 도시하며, 이에 대해서는 다양한 변경이 이루어질 수 있다. 예를 들어, 로컬 히스토그램 매치 맵은, 임의의 다른 적절한 방식으로, 하나 이상의 이미지 프레임에서 타일의 픽셀 값에 적용될 수 있다.
도 9는 본 개시의 일 실시예에 따른 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 통한 다중 노출 이미지 융합 방법(900)을 도시한 흐름도이다.
편의를 위해, 도 9에 도시된 방법(900)은 도 1의 전자 장치(101)를 통해 수행되는 것으로 설명된다. 그러나, 도 9에 도시된 방법(900)은 임의의 적절한 시스템 하에서, 및 임의의 다른 적합한 전자 장치와 함께 사용될 수도 있다.
단계 905에서, 전자 장치는, 적어도 하나의 센서를 이용하여, 장면의 복수의 이미지 프레임을 획득할 수 있다. 복수의 이미지 프레임은, 긴 노출 시간을 사용하여 캡처된 참조 이미지 프레임, 및 짧은 노출 시간을 사용하여 캡처된 비참조 이미지 프레임을 포함할 수 있다. 비참조 이미지 프레임은 참조 이미지 프레임과 비교할 때, 저노출(under-exposed)된 프레임일 수 있다.
단계 910에서, 움직임을 식별할 수 있는 모션 맵(motion map)에 기초하여, 복수의 이미지 프레임에서 픽셀들이 제외될 수 있다. 모션 맵은 멀티-프레임 융합 알고리즘의 전처리 과정 또는 정렬 동작 동안 생성될 수 있다. 제외되는 픽셀은, 많은 움직임(motion)을 포함하는 복수의 이미지 프레임에서의 적어도 하나의 영역에 대응할 수 있다.
단계 915에서, 복수의 로컬 히스토그램 매치 맵이 생성될 수 있다. 예를 들어, 각각의 이미지 프레임들은 복수의 타일들로 분할될 수 있다. 이후, 로컬 히스토그램 매치 맵은, (이미지 프레임의 모든 타일에 걸쳐) 참조 이미지 프레임의 타일과 대응하는 비참조 이미지 프레임의 타일의 비교에 기초하여 생성될 수 있다.
단계 920에서, 글로벌 히스토그램 매치 맵이 생성될 수 있다. 글로벌 히스토그램 매치 맵은, 전체 참조 이미지 프레임과 전체 비참조 이미지 프레임의 비교에 기초하여 생성될 수 있다.
단계 925에서, 글로벌 정규화는 하나 이상의 로컬 히스토그램 매치 맵에 적용될 수 있다. 예를 들어, 글로벌 정규화는, 비참조 이미지 프레임의 과노출된 영역 또는 어두운 영역과 관련된 로컬 히스토그램 매치 맵에 적용될 수 있다. 일 실시예에서, 로컬 히스토그램 매치 맵의 일부를 글로벌 히스토그램 매치 맵의 일부로 대체하기위한 예시적인 접근법이 제공될 수 있다.
단계 930에서, 히스토그램 매칭된 이미지 프레임이 생성되고 출력될 수 있다. 예를 들어, 히스토그램 매칭된 비참조 이미지 프레임은, 로컬 히스토그램 매치 맵(글로벌 히스토그램 매치 맵에 기초하여 정규화된 적어도 하나)에 기초하여 생성될 수 있다. 결과적으로, 히스토그램 매칭된 비참조 이미지 프레임은, 밝기 및 색상의 관점에서 참조 이미지 프레임과 밀접하게 일치할 수 있다.
단계 935에서, 장면의 최종 이미지가 생성될 수 있다. 예를 들어, 블렌딩(blending) 동작이 수행될 수 있다. 블렌딩 동작 중에, 히스토그램 매칭된 프레임은 정확한 모션 분석을 제공하고 블렌딩 모션 맵(blending motion map)을 생성하는데 사용될 수 있다. 블렌딩 모션 맵은 이미지 프레임의 블렌딩을 가이드(guide)하기 위해 사용될 수 있다. 이어서, 결과 이미지는 융합된 출력 이미지를 생성하기 위해 후처리 동작을 통할 수 있다. 융합된 출력 이미지는 저장, 출력 또는 임의의 적절한 방식으로 사용될 수 있다. 예를 들어, 융합된 출력 이미지는 전자 장치의 디스플레이 상에서 디스플레이되거나, 전자 장치의 메모리에 저장된 카메라 롤(camera roll)에 저장되거나, 또는 전자 장치로부터 전송되기 위해 문자 메시지, 이메일 또는 다른 통신수단에 첨부될 수 있다. 또한, 장면의 최종 이미지는 다른 방식 또는 추가적인 방식으로 사용될 수도 있다.
도 9는 글로벌 정규화 및 모션 배제를 이용한 로컬 히스토그램 매칭을 통한 다중 노출 이미지 융합 방법(900)의 예시를 도시하고, 도 9에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 일련의 단계들로 도시되어 있지만, 도 9의 다양한 단계는 중첩되거나, 병렬로 발생하거나, 이와 다른 순서로 발생하거나, 또는 각각의 단계가 반복적으로 발생할 수도 있다.
전술한 실시예들에서, 이미지 프레임(image frame) 내의 타일(tile)들이 일정한 형상 및 배열을 갖도록 도시되고 설명되었지만, 이미지 프레임에서 타일을 정의하기위한 다른 접근법이 사용될 수도 있다. 예를 들어, 타일-기반의 히스토그램 매칭 동작(330)은, 이미지 프레임의 크기, 이미지 프레임의 방향(orientation), 및 이미지 프레임의 실제 컨텐츠 등의 다양한 인자(factor)에 기초하여, 서로 다른 이미지 프레임들을 서로 다른 개수와 배열을 가지는 타일들로 분할할 수 있다.
도 10a, 10b, 및 10c는 본 개시의 일 실시예에 따른 복수의 불규칙한 타일들로 분할된 이미지 프레임(1001, 1002, 1003)을 도시한 도면들이다.
도 10a를 참조하면, 이미지 프레임(1001)은, 이미지 프레임(1001) 내에서 검출된 하늘의 존재, 및 장면 내의 하나 이상의 객체의 윤곽에 기초하여 정의된 타일을 포함할 수 있다. 무엇보다도, 건물과 하늘이 별개의 타일에 포함되도록 타일이 생성될 수 있다. 또한, 장면에서, 각각의 객체들이 서로에 대해, 및 하늘로부터 분리되도록 타일이 생성될 수 있다.
도 10b를 참조하면, 이미지 프레임(1002)은, 장면의 전경(foreground)에서 사람 주위에 정의된 타일 및 장면의 배경(background)을 정의하는 하나 이상의 타일을 포함할 수 있다. 장면의 전경에서, 하나 이상의 객체 주위에 하나 이상의 타일이 생성될 수 있다. 또한, 장면의 배경에 따라, 배경을 포함하는 하나 이상의 타일이 생성될 수도 있다.
도 10c를 참조하면, 이미지 프레임(1003)은, 이미지 프레임(1003)의 특징 또는 객체에 기초한, 불규칙적인 형상의 타일을 포함할 수 있다. 일 실시예에서, 타일은 장면의 스카이라인(skyline)에 의해 정의될 수 있고, 상하 타일을 자연스럽게 분할할 수 있다. 또한, 장면 내의 산(mountain)을 기준으로, 좌우 타일을 자연스럽게 분할할 수도 있다.
일 실시예에서, 이미지 프레임들에 대한 타일들은, 장면의 전경(foreground) 및 배경(background)의 서로 다른 영역들을 식별하는, 전경/배경 분할(segmentation) 동작을 우선적으로 수행함으로써 식별될 수 있다. 전경/배경 분할 동작에 대해서는, 다양한 접근법이 사용될 수 있다. 하나 이상의 배경 영역에 대해, 전술한 접근법은, 복수의 이미지 프레임에서 각각의 배경 영역에 대한 로컬 히스토그램 매칭을 수행하는데 사용될 수 있다. 일련의 동작 동안, 전경 영역(들)은 고려되지 않을 수 있다. 하나 이상의 전경 영역에 대해, 전술한 접근법은, 복수의 이미지 프레임에서 각각의 전경 영역에 대한 로컬 히스토그램 매칭을 수행하는데 사용될 수도 있다. 일련의 동작 동안, 배경 영역(들)은 고려되지 않을 수 있다.
이러한 접근법은, 전경 영역에서의 히스토그램 매칭 프로세스를 더욱 향상시킬 수 있다. 이는, 이미지 프레임의 전경 영역이 한 명 이상의 사람들의 피부와 머리카락을 포함하는 경우(이미지 처리 과정 중 색상 이동(color shift) 및 움직임(motion)에 영향을 받기 쉬운 경우)와 같은, 다양한 장면에 이용될 수 있다. 또한, 이는 장면의 배경 영역을 처리할 수 있으면서도, 로컬 히스토그램 매칭의 이점을 얻을 수 있다.
도 10a, 10b, 및 10c는 타일들로 분할된 이미지 프레임(1001, 1002, 1003)의 예시들을 도시하며, 이에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 첨부된 도면들은, 이미지 프레임이 이미지 프레임의 컨텐츠에 기초하여 타일들로 분할되는 예시적인 방법을 설명하기 위함이다. 이미지 프레임을 분할하는데 사용되는 타일의 개수는 증가 또는 감소될 수 있고, 타일의 배열은 달라질 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 본 개시의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치가 로컬 히스토그램 매칭을 수행하는 방법에 있어서,
    장면의 복수의 이미지 프레임을 획득하고, 상기 복수의 이미지 프레임은 서로 다른 노출 설정을 사용하여 캡처된 제1 이미지 프레임 및 제2 이미지 프레임을 포함하는, 단계;
    움직임을 식별하는 모션 맵(motion map)에 기초하여 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 일부 픽셀을 배제하는 단계;
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 복수의 타일들에 기초하여 복수의 로컬 히스토그램 매치 맵을 생성하는 단계; 및
    상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 단계;
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 모션 맵은 이진 모션 맵을 포함하고,
    상기 이진 모션 맵은,
    상기 제1 이미지 프레임 및 제2 이미지 프레임 간의 모션 벡터에 기초하여 상기 모션 맵의 값을 결정하는 단계;
    상기 결정된 모션 맵에서, 기 설정된 임계값보다 작거나 동일한 값을, 1의 값으로 대체하는 단계; 및
    상기 결정된 모션 맵에서, 기 설정된 임계값보다 큰 값을, 0의 값으로 대체하는 단계를 통해 생성되는, 방법.
  3. 제1항에 있어서,
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임에 기초하여 글로벌 히스토그램 매치 맵을 생성하는 단계; 및
    상기 생성된 글로벌 히스토그램 매치 맵에 기초하여 상기 적어도 하나의 로컬 히스토그램 매치 맵을 정규화(regularize)하는 단계를 더 포함하고,
    상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 단계는, 상기 정규화된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 적어도 하나의 로컬 히스토그램 매치 맵을 정규화(regularize)하는 단계는,
    상기 적어도 하나의 로컬 히스토그램 매치 맵에서, 0의 값을 상기 글로벌 히스토그램 매치 맵의 대응하는 값으로 대체하는 단계; 및
    상기 적어도 하나의 로컬 히스토그램 매치 맵에서, 0 이외의 값을, 상기 로컬 히스토그램 매치 맵 및 상기 글로벌 히스토그램 매치 맵을 통해 보간된 값으로 대체하는 단계를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 로컬 히스토그램 매치 맵 및 상기 글로벌 히스토그램 매치 맵을 통해 보간된 값은, 상기 로컬 히스토그램 매치 맵에 대응하는 상기 타일의 픽셀 값들에 기초하여 가중치 보간되는, 방법.
  6. 제4항에 있어서, 상기 적어도 하나의 로컬 히스토그램 매치 맵을 정규화(regularize)하는 단계는,
    상기 대체된 로컬 히스토그램 매치 맵의 값과 상기 글로벌 히스토그램 매치 맵의 대응되는 값 사이의 차이가 기 설정된 임계값을 초과하는 경우, 상기 대체된 로컬 히스토그램 매치 맵의 값을 상기 글로벌 히스토그램 매치 맵의 대응되는 값으로 더 대체하는, 방법.
  7. 제1항에 있어서,
    상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 단계는,
    상기 이미지 프레임의 각각의 픽셀 값들을, 특정 픽셀에 인접한 4개의 타일들에 대응하는 4개의 상기 로컬 히스토그램 매치 맵들에 기초하여 보간하는 단계를 포함하는, 방법.
  8. 로컬 히스토그램 매칭을 수행하는 전자 장치에 있어서,
    이미지 프레임을 획득하는 적어도 하나의 이미지 센서; 및
    상기 적어도 하나의 이미지 센서에 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 이미지 센서로부터 장면의 복수의 이미지 프레임을 획득하고, 상기 복수의 이미지 프레임은 서로 다른 노출 설정을 사용하여 캡처된 제1 이미지 프레임 및 제2 이미지 프레임을 포함하고;
    움직임을 식별하는 모션 맵(motion map)에 기초하여, 상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 일부 픽셀을 배제하고;
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임의 복수의 타일들에 기초하여 복수의 로컬 히스토그램 매치 맵을 생성하고; 및
    상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 것을 포함하는, 전자 장치.
  9. 제8항에 있어서, 상기 모션 맵은 이진 모션 맵을 포함하고,
    상기 이진 모션 맵은,
    상기 제1 이미지 프레임 및 제2 이미지 프레임 간의 모션 벡터에 기초하여 상기 모션 맵의 값을 결정하는 단계;
    상기 결정된 모션 맵에서, 기 설정된 임계값보다 작거나 동일한 값을, 1의 값으로 대체하는 단계; 및
    상기 결정된 모션 맵에서, 기 설정된 임계값보다 큰 값을, 0의 값으로 대체하는 단계를 통해 생성되는, 전자 장치.
  10. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임에 기초하여 글로벌 히스토그램 매치 맵을 생성하고,
    상기 생성된 글로벌 히스토그램 매치 맵에 기초하여 상기 적어도 하나의 로컬 히스토그램 매치 맵을 정규화(regularize)하는 것을 더 포함하고,
    상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 것은, 상기 정규화된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는 것을 포함하는, 전자 장치.
  11. 제10항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 로컬 히스토그램 매치 맵에서, 0의 값을 상기 글로벌 히스토그램 매치 맵의 대응하는 값으로 대체하고, 및
    상기 적어도 하나의 로컬 히스토그램 매치 맵에서, 0 이외의 값을, 상기 로컬 히스토그램 매치 맵 및 상기 글로벌 히스토그램 매치 맵을 통해 보간된 값으로 대체함으로써,
    상기 적어도 하나의 로컬 히스토그램 매치 맵을 정규화(regularize)하는, 전자 장치.
  12. 제11항에 있어서,
    상기 로컬 히스토그램 매치 맵 및 상기 글로벌 히스토그램 매치 맵을 통해 보간된 값은, 상기 로컬 히스토그램 매치 맵에 대응하는 상기 타일의 픽셀 값들에 기초하여 가중치 보간되는, 전자 장치.
  13. 제11항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 대체된 로컬 히스토그램 매치 맵의 값과 상기 글로벌 히스토그램 매치 맵의 대응되는 값 사이의 차이가 기 설정된 임계값을 초과하는 경우, 상기 대체된 로컬 히스토그램 매치 맵의 값을 상기 글로벌 히스토그램 매치 맵의 대응되는 값으로 더 대체함으로써,
    상기 적어도 하나의 로컬 히스토그램 매치 맵을 정규화(regularize)하는, 전자 장치.
  14. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 이미지 프레임의 각각의 픽셀 값들을, 특정 픽셀에 인접한 4개의 타일들에 대응하는 4개의 상기 로컬 히스토그램 매치 맵들에 기초하여 보간함으로써,
    상기 생성된 로컬 히스토그램 매치 맵을 이용하여 히스토그램 매칭된 이미지 프레임을 생성하는, 전자 장치.
  15. 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020200097535A 2019-08-06 2020-08-04 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법 KR20210018121A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2020/010298 WO2021025445A1 (en) 2019-08-06 2020-08-05 Local histogram matching with global regularization and motion exclusion for multi-exposure image fusion
EP20850168.4A EP3935601A4 (en) 2019-08-06 2020-08-05 LOCAL HISTOGRAM MATCHING WITH GLOBAL REGULARIZATION AND MOTION EXCLUSION FOR MULTI-EXPOSURE IMAGE BLENDING
CN202010786127.6A CN112351212A (zh) 2019-08-06 2020-08-06 用于多曝光图像融合的利用全局正则化和运动排除的局部直方图匹配

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962883417P 2019-08-06 2019-08-06
US62/883,417 2019-08-06
US16/707,652 US11200653B2 (en) 2019-08-06 2019-12-09 Local histogram matching with global regularization and motion exclusion for multi-exposure image fusion
US16/707,652 2019-12-09

Publications (1)

Publication Number Publication Date
KR20210018121A true KR20210018121A (ko) 2021-02-17

Family

ID=74501907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200097535A KR20210018121A (ko) 2019-08-06 2020-08-04 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20210018121A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095666A (zh) * 2021-08-12 2022-02-25 荣耀终端有限公司 拍照方法、电子设备和计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095666A (zh) * 2021-08-12 2022-02-25 荣耀终端有限公司 拍照方法、电子设备和计算机可读存储介质
CN114095666B (zh) * 2021-08-12 2023-09-22 荣耀终端有限公司 拍照方法、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11128809B2 (en) System and method for compositing high dynamic range images
US11082677B2 (en) White balance processing method and apparatus
US10911691B1 (en) System and method for dynamic selection of reference image frame
CN109565551B (zh) 对齐于参考帧合成图像
WO2018176925A1 (zh) Hdr图像的生成方法及装置
KR102263537B1 (ko) 전자 장치와, 그의 제어 방법
US11430094B2 (en) Guided multi-exposure image fusion
US11563889B2 (en) Electronic device and method for controlling camera using external electronic device
US20200396370A1 (en) Apparatus and method for high dynamic range (hdr) image creation of dynamic scenes using graph cut-based labeling
KR102207633B1 (ko) 촬영 장치 및 그 제어 방법
KR20210113100A (ko) 멀티-카메라 또는 기타 환경을 위한 슈퍼-해상도 뎁스 맵 생성
KR20210063223A (ko) 멀티태스크 융합 신경망 아키텍처
KR20210067864A (ko) 적응적 포커스 범위 및 계층화 스캐터링을 이용한 보케 이미지들의 생성
US11200653B2 (en) Local histogram matching with global regularization and motion exclusion for multi-exposure image fusion
US11727540B2 (en) Image sharpening
KR20210018121A (ko) 글로벌 정규화 및 모션 배제를 포함하는 로컬 히스토그램 매칭을 수행하는 전자 장치 및 방법
US11276154B2 (en) Multi-frame depth-based multi-camera relighting of images
US20230156349A1 (en) Method for generating image and electronic device therefor
EP3777124B1 (en) Methods and apparatus for capturing media using plurality of cameras in electronic device
CN112351212A (zh) 用于多曝光图像融合的利用全局正则化和运动排除的局部直方图匹配
KR20210059612A (ko) 심층 신경망 특징 매칭을 위한 비대칭 정규화 상관 계층
WO2021025445A1 (en) Local histogram matching with global regularization and motion exclusion for multi-exposure image fusion
US11889197B1 (en) Reference frame selection for multi-frame image processing pipelines and other applications
US20230252608A1 (en) Hand motion pattern modeling and motion blur synthesizing techniques
US11961206B2 (en) Image generation using non-linear scaling and tone-mapping based on cubic spline curves