KR20210110679A - 이미지 융합 프로세싱 모듈 - Google Patents

이미지 융합 프로세싱 모듈 Download PDF

Info

Publication number
KR20210110679A
KR20210110679A KR1020217024404A KR20217024404A KR20210110679A KR 20210110679 A KR20210110679 A KR 20210110679A KR 1020217024404 A KR1020217024404 A KR 1020217024404A KR 20217024404 A KR20217024404 A KR 20217024404A KR 20210110679 A KR20210110679 A KR 20210110679A
Authority
KR
South Korea
Prior art keywords
image
downscaled
version
patch
color version
Prior art date
Application number
KR1020217024404A
Other languages
English (en)
Other versions
KR102512889B1 (ko
Inventor
막심 스미르노프
엘레나 램번
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20210110679A publication Critical patent/KR20210110679A/ko
Application granted granted Critical
Publication of KR102512889B1 publication Critical patent/KR102512889B1/ko

Links

Images

Classifications

    • 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
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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/72Combination of two or more compensation controls
    • 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/70Circuitry for compensating brightness variation in the scene
    • H04N23/743Bracketing, i.e. taking a series of images with varying exposure conditions
    • H04N5/2173
    • H04N5/2352
    • H04N5/2355
    • H04N5/2356
    • 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/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

실시예들은, 더 높은 동적 범위를 갖는 융합된 이미지를 생성하기 위한, 2개의 상이한 노출 시간들로 캡처된 2개의 이미지들 사이의 융합 프로세싱에 관한 것이다. 제1 이미지의 실링되지 않은 단일-컬러 버전을 제2 이미지의 다른 실링되지 않은 단일 컬러 버전과 블렌딩하여 융합된 이미지의 실링되지 않은 단일 컬러 버전을 생성한다. 융합된 이미지의 복수의 다운스케일링된 버전들의 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성하기 위해 제1 이미지의 다운스케일링된 다중-컬러 버전이 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩된다. 융합된 이미지의 제1 다운스케일링된 다중-컬러 버전은 융합된 이미지의 복수의 다운스케일링된 버전들을 업스케일링 및 누산함으로써 생성된다. 융합된 이미지의 제1 다운스케일링된 다중-컬러 버전은 융합된 이미지의 실링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는다.

Description

이미지 융합 프로세싱 모듈
기술분야
본 발명은 이미지들을 프로세싱하기 위한 회로, 보다 구체적으로는 상이한 노출 시간들의 2개의 이미지들을 융합하기 위한 회로에 관한 것이다.
배경기술
이미지 센서에 의해 캡처되거나 다른 데이터 소스들로부터 수신된 이미지 데이터는, 종종, 추가 프로세싱 또는 소비 전에 이미지 프로세싱 파이프라인에서 프로세싱된다. 예를 들어, 미처리 이미지 데이터는 비디오 인코더와 같은 후속 컴포넌트들에 제공되기 전에 보정, 필터링, 또는 달리 수정될 수 있다. 캡처된 이미지 데이터에 대한 보정 또는 향상을 수행하기 위해, 다양한 컴포넌트들, 단위 스테이지들 또는 모듈들이 채용될 수 있다.
그러한 이미지 프로세싱 파이프라인은 캡처된 이미지 데이터에 대한 보정 또는 향상이 다른 시스템 리소스들을 소비함이 없는 편리한 방식으로 수행될 수 있도록 구조화될 수 있다. 중앙 프로세싱 유닛(CPU) 상에서 소프트웨어 프로그램들을 실행시킴으로써 많은 이미지 프로세싱 알고리즘들이 수행될 수 있지만, CPU 상에서의 그러한 프로그램들의 실행은 CPU 및 다른 주변기기 리소스들의 상당한 대역폭을 소비할 뿐만 아니라 전력 소비를 증가시킬 것이다. 따라서, 이미지 프로세싱 파이프라인들은, 종종, CPU와는 별개인 하드웨어 컴포넌트로서 구현되고, 하나 이상의 이미지 프로세싱 알고리즘들을 수행하는 데 전용된다.
실시예들은 이미지 융합 프로세싱 회로부에 관한 것이다. 이미지 융합 프로세싱 회로부는 이미지 융합 회로 및 다중-스케일 이미지 융합 회로를 포함한다. 이미지 융합 회로는, 융합된 이미지의 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 제1 이미지의 스케일링되지 않은 단일 컬러 버전을 제2 이미지의 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하며, 제1 이미지 및 제2 이미지는 상이한 노출 시간들로 동일한 장면을 캡처한다. 다중-스케일 이미지 융합 회로는, 융합된 이미지의 복수의 다운스케일링된 버전들의 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성하기 위해 제1 이미지의 다운스케일링된 다중-컬러 버전을 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩한다. 다중-스케일 이미지 융합 회로는 융합된 이미지의 복수의 다운스케일링된 버전들을 누산함으로써 융합된 이미지의 제1 다운스케일링된 버전을 추가로 생성하며, 제1 다운스케일링된 버전은 복수의 컬러 컴포넌트들을 포함하고 융합된 이미지의 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는다.
도 1은 일 실시예에 따른 전자 디바이스의 고레벨 도면이다.
도 2는 일 실시예에 따른 전자 디바이스 내의 컴포넌트들을 도시한 블록도이다.
도 3은 일 실시예에 따른, 이미지 신호 프로세서를 사용하여 구현된 이미지 프로세싱 파이프라인들을 도시한 블록도이다.
도 4는 일 실시예에 따른, 이미지 융합을 위한 회로부를 포함하는 이미지 프로세싱 파이프라인의 일부분을 도시한 블록도이다.
도 5a는 일 실시예에 따른, 이미지 융합 프로세서의 다중-스케일 이미지 융합 회로의 상세한 블록도이다.
도 5b는 일 실시예에 따른, 이미지 융합 프로세서의 이미지 융합 회로의 상세한 블록도이다.
도 6a는 일 실시예에 따른, 이미지 융합 프로세싱의 일부로서 다운스케일링된 이미지들을 업스케일링하는 것을 도시한 개념도이다.
도 6b는 일 실시예에 따른, 이미지 융합 프로세싱의 일부로서 다운스케일링된 이미지들을 재귀적으로 업스케일링 및 누산하는 것을 도시한 개념도이다.
도 7은 일 실시예에 따른, 이미지 융합 프로세싱의 방법을 도시하는 흐름도이다.
도면들은 오로지 예시의 목적을 위해 다양한 비제한적 실시예들을 도시하고 발명을 실시하기 위한 구체적인 내용은 오로지 예시의 목적을 위해 다양한 비제한적 실시예들을 설명한다.
이제, 실시예들이 상세하게 참조될 것이며, 그 실시예들의 예들이 첨부 도면들에 예시된다. 하기의 상세한 설명에서, 많은 구체적인 상세사항들이 다양하게 설명된 실시예들의 완전한 이해를 제공하기 위해 기재된다. 그러나, 기술되는 실시예들은 이러한 특정 세부사항들 없이 실시될 수 있다. 다른 예들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 실시예들의 태양들을 불필요하게 모호하게 하지 않기 위해 상세히 설명되지 않았다.
본 개시내용의 실시예들은, 캡처된 이미지들의 동적 범위보다 높은 동적 범위를 갖는 융합된 이미지를 생성하기 위해 2개의 상이한 노출 시간들로 캡처된 2개의 이미지들(예컨대, 긴 노출 이미지 및 짧은 노출 이미지) 사이에 융합 프로세싱을 수행하기 위한 회로부에 관한 것이다. 제1 이미지의 스케일링되지 않은 단일 컬러 버전이 제2 이미지의 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩되어 융합된 이미지의 스케일링되지 않은 단일 컬러 버전을 생성한다. 제1 이미지의 다운스케일링된 다중-컬러 버전이 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩되어, 융합된 이미지의 다수의 다운스케일링된 버전들의 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성한다. 융합된 이미지의 제1 다운스케일링된 다중-컬러 버전은 융합된 이미지의 다수의 다운스케일링된 버전들을 업스케일링 및 합산함으로써 생성된다. 융합된 이미지의 제1 다운스케일링된 다중-컬러 버전은 융합된 이미지의 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는다.
예시적인 전자 디바이스
전자 디바이스들, 그러한 디바이스들에 대한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하기 위한 연관된 프로세스들의 실시예들이 기술된다. 일부 실시예들에서, 디바이스는 PDA(personal digital assistant) 및/또는 음악 재생기 기능들과 같은 다른 기능들을 또한 포함하는 휴대용 통신 디바이스, 예컨대 모바일 전화기이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 Apple Inc.로부터의 iPhone®, iPod Touch®, Apple Watch®, 및 iPad® 디바이스들을 제한 없이 포함한다. 웨어러블, 랩톱 또는 태블릿 컴퓨터와 같은 다른 휴대용 전자 디바이스들이 선택적으로 사용된다. 일부 실시예들에서, 디바이스는 휴대용 통신 디바이스가 아니라, 휴대용 용도를 위해 설계되지 않은 데스크톱 컴퓨터 또는 다른 컴퓨팅 디바이스이다. 일부 실시예들에서, 개시되는 전자 디바이스는 터치 감응형 표면(예컨대, 터치 스크린 디스플레이 및/또는 터치패드)을 포함할 수 있다. 도 1과 관련하여 아래에서 기술되는 예시적인 전자 디바이스(예컨대, 디바이스(100))는 사용자 입력을 수신하기 위한 터치 감응형 표면을 포함할 수 있다. 전자 디바이스는 또한 물리적 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함할 수 있다.
도 1은 일 실시예에 따른 전자 디바이스(100)의 고레벨 도면이다. 디바이스(100)는 "홈" 또는 메뉴 버튼(104)과 같은 하나 이상의 물리적 버튼들을 포함할 수 있다. 메뉴 버튼(104)은, 예를 들어, 디바이스(100) 상에서 실행되는 애플리케이션들의 세트 내의 임의의 애플리케이션으로 내비게이팅하는 데 사용된다. 일부 실시예들에서, 메뉴 버튼(104)은 메뉴 버튼(104) 상의 지문을 식별하는 지문 센서를 포함한다. 지문 센서는 메뉴 버튼(104) 상의 손가락이 디바이스(100)를 잠금해제하기 위해 저장된 지문과 매칭하는 지문을 갖는지의 여부를 결정하는 데 사용될 수 있다. 대안으로, 일부 실시예들에서, 메뉴 버튼(104)은 터치 스크린 상에 디스플레이된 그래픽 사용자 인터페이스(GUI)에서 소프트 키로서 구현된다.
일부 실시예들에서, 디바이스(100)는 터치 스크린(150), 메뉴 버튼(104), 디바이스로의 전력을 공급/차단하고 디바이스를 잠그기 위한 푸시 버튼(106), 볼륨 조절 버튼들(108), 가입자 식별 모듈(Subscriber Identity Module, SIM) 카드 슬롯(110), 헤드셋 잭(112), 및 도킹/충전 외부 포트(124)를 포함한다. 푸시 버튼(106)은, 버튼을 누르고 미리 정의된 시간 간격 동안 버튼을 누른 상태로 유지함으로써 디바이스 상에서 전원을 턴온/턴오프하고; 버튼을 누르고 미리정의된 시간 간격이 경과하기 전에 버튼을 누름해제함으로써 디바이스를 잠그고/잠그거나; 디바이스를 잠금해제하거나 잠금해제 프로세스를 개시하는 데 사용된다. 대안적인 실시예에서, 디바이스(100)는 또한 마이크로폰(113)을 통해 일부 기능들의 활성화 또는 비활성화를 위한 구두 입력을 수용한다. 디바이스(100)는, 메모리(이는 하나 이상의 컴퓨터 판독가능 저장 매체들을 포함할 수 있음), 메모리 제어기, 하나 이상의 중앙 프로세싱 유닛(CPU)들, 주변기기 인터페이스, RF 회로부, 오디오 회로부, 스피커(111), 마이크로폰(113), 입출력(I/O) 서브시스템, 및 다른 입력 또는 제어 디바이스들을 포함하지만 이들로 제한되지 않는 다양한 컴포넌트들을 포함한다. 디바이스(100)는 하나 이상의 이미지 센서들(164), 하나 이상의 근접 센서들(166), 및 하나 이상의 가속도계들(168)을 포함할 수 있다. 디바이스(100)는 하나 초과의 유형의 이미지 센서들(164)을 포함할 수 있다. 각각의 유형은 하나 초과의 이미지 센서(164)를 포함할 수 있다. 예를 들어, 하나의 유형의 이미지 센서들(164)은 카메라들일 수 있고, 다른 유형의 이미지 센서들(164)은 얼굴 인식을 위해 사용될 수 있는 적외선 센서들일 수 있다. 추가적으로 또는 대안적으로, 이미지 센서들(164)은 상이한 렌즈 구성과 연관될 수 있다. 예를 들어, 디바이스(100)는 후방 이미지 센서들-하나는 광각 렌즈를 갖고 다른 하나는 망원 렌즈를 가짐-을 포함할 수 있다. 디바이스(100)는 주변 광 센서, 도트 프로젝터 및 플러드 조명기와 같은 도 1에 도시되지 않은 컴포넌트들을 포함할 수 있다.
디바이스(100)는 전자 디바이스의 일례일 뿐이고, 디바이스(100)는 위에 열거된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수 있으며, 이들 중 일부는 컴포넌트로 조합되거나 상이한 구성 또는 배열을 가질 수 있다. 위에 열거된 디바이스(100)의 다양한 컴포넌트들은, 하나 이상의 신호 프로세싱 및/또는 ASIC(application specific integrated circuit)들을 비롯한, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구체화된다. 도 1의 컴포넌트들이 일반적으로 터치 스크린(150)과 동일한 측에 위치된 것으로 도시되어 있지만, 하나 이상의 컴포넌트들이 또한 디바이스(100)의 대향 측 상에 위치될 수 있다. 예를 들어, 디바이스(100)의 전면은 얼굴 인식을 위한 적외선 이미지 센서(164) 및 디바이스(100)의 전방 카메라로서 다른 이미지 센서(164)를 포함할 수 있다. 디바이스(100)의 배면은 또한 디바이스(100)의 후방 카메라들로서 추가의 2개의 이미지 센서들(164)을 포함할 수 있다.
도 2는 일 실시예에 따른 디바이스(100) 내의 컴포넌트들을 도시한 블록도이다. 디바이스(100)는 이미지 프로세싱을 포함하는 다양한 동작들을 수행할 수 있다. 이러한 목적 및 다른 목적들을 위해, 디바이스(100)는, 다른 컴포넌트들 중에서도, 이미지 센서(202), SOC(system-on-a chip) 컴포넌트(204), 시스템 메모리(230), 영구적 저장소(예컨대, 플래시 메모리)(228), 방향 센서(234), 및 디스플레이(216)를 포함할 수 있다. 도 2에 도시된 바와 같은 컴포넌트들은 단지 예시적인 것이다. 예를 들어, 디바이스(100)는 도 2에 도시되지 않은 다른 컴포넌트들(예컨대, 스피커 또는 마이크로폰)을 포함할 수 있다. 또한, 일부 컴포넌트들(예컨대, 방향 센서(234))은 디바이스(100)로부터 생략될 수 있다.
이미지 센서들(202)은 이미지 데이터를 캡처하기 위한 컴포넌트들이다. 이미지 센서들(202) 각각은 예를 들어, CMOS(complementary metal-oxide-semiconductor) 능동 픽셀 센서, 카메라, 비디오 카메라, 또는 다른 디바이스들로서 구체화될 수 있다. 이미지 센서들(202)은 추가 프로세싱을 위해 SOC 컴포넌트(204)로 전송되는 미처리 이미지 데이터를 생성한다. 일부 실시예들에서, SOC 컴포넌트(204)에 의해 프로세싱된 이미지 데이터는 디스플레이(216) 상에 디스플레이되거나, 시스템 메모리(230) 및 영구적 저장소(228)에 저장되거나, 네트워크 접속을 통해 원격 컴퓨팅 디바이스로 전송된다. 이미지 센서들(202)에 의해 생성된 미처리 이미지 데이터는 베이어(Bayer) CFA(color filter array) 패턴(이하, "베이어 패턴"으로도 지칭됨)으로 있을 수 있다. 이미지 센서(202)는 또한 이미지들을 캡처하기 위해 이미지 센싱 컴포넌트들(예컨대, 픽셀들)을 돕는 광학 및 기계적 컴포넌트들을 포함할 수 있다. 광학 및 기계적 컴포넌트들은 개구, 렌즈 시스템, 및 이미지 센서(202)의 렌즈 위치를 제어하는 액추에이터를 포함할 수 있다.
모션 센서(234)는 디바이스(100)의 모션을 센싱하기 위한 컴포넌트 또는 컴포넌트들의 세트이다. 모션 센서(234)는 디바이스(100)의 배향 및/또는 가속도를 나타내는 센서 신호들을 생성할 수 있다. 센서 신호들은 디바이스(100)를 턴온시키는 것 또는 디스플레이(216) 상에 디스플레이된 이미지들을 회전시키는 것과 같은 다양한 동작들을 위해 SOC 컴포넌트(204)로 전송된다.
디스플레이(216)는 SOC 컴포넌트(204)에 의해 생성된 바와 같은 이미지들을 디스플레이하기 위한 컴포넌트이다. 디스플레이(216)는, 예를 들어, 액정 디스플레이(LCD) 디바이스 또는 유기 발광 다이오드(OLED) 디바이스를 포함할 수 있다. SOC 컴포넌트(204)로부터 수신된 데이터에 기초하여, 디스플레이(116)는 메뉴들, 선택된 동작 파라미터들, 이미지 센서(202)에 의해 캡처되고 SOC 컴포넌트(204)에 의해 프로세싱된 이미지들, 및/또는 디바이스(100)의 사용자 인터페이스로부터 수신된 다른 정보(도시되지 않음)와 같은 다양한 이미지들을 디스플레이할 수 있다.
시스템 메모리(230)는 SOC 컴포넌트(204)에 의한 실행을 위한 명령어들을 저장하기 위한 그리고 SOC 컴포넌트(204)에 의해 프로세싱되는 데이터를 저장하기 위한 컴포넌트이다. 시스템 메모리(230)는, 예를 들어, 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 이중 데이터 레이트(double data rate)(DDR, DDR2, DDR3 등), 램버스 DRAM(RAMBUS DRAM, RDRAM), 정적 RAM(static RAM, SRAM), 또는 이들의 조합을 포함하는 임의의 타입의 메모리로서 구체화될 수 있다. 일부 실시예들에서, 시스템 메모리(230)는 픽셀 데이터 또는 다른 이미지 데이터 또는 통계치를 다양한 포맷들로 저장할 수 있다.
영구적 저장소(228)는 데이터를 비휘발성 방식으로 저장하기 위한 컴포넌트이다. 영구적 저장소(228)는 전력이 이용가능하지 않을 때에도 데이터를 유지한다. 영구적 저장소(228)는 판독 전용 메모리(ROM), 플래시 메모리 또는 다른 비휘발성 랜덤 액세스 메모리 디바이스들로서 구체화될 수 있다.
SOC 컴포넌트(204)는 하나 이상의 집적 회로(IC) 칩으로서 구체화되고, 다양한 데이터 프로세싱 프로세스들을 수행한다. SOC 컴포넌트(204)는, 다른 서브컴포넌트들 중에서도, 이미지 신호 프로세서(image signal processor, ISP)(206), 중앙 프로세서 유닛(CPU)(208), 네트워크 인터페이스(210), 모션 센서 인터페이스(212), 디스플레이 제어기(214), 그래픽 프로세서(graphics processor, GPU)(220), 메모리 제어기(222), 비디오 인코더(224), 저장소 제어기(226), 및 다양한 다른 입출력(I/O) 인터페이스(218), 및 이러한 서브컴포넌트들을 접속시키는 버스(232)를 포함할 수 있다. SOC 컴포넌트(204)는 도 2에 도시된 것들보다 더 많거나 더 적은 서브컴포넌트들을 포함할 수 있다.
ISP(206)는 이미지 프로세싱 파이프라인의 다양한 스테이지들을 수행하는 하드웨어이다. 일부 실시예들에서, ISP(206)는 이미지 센서(202)로부터 미처리 이미지 데이터를 수신할 수 있고, 미처리 이미지 데이터를, 디바이스(100)의 컴포넌트들 또는 SOC 컴포넌트(204)의 다른 서브컴포넌트들에 의해 사용가능한 형태로 프로세싱할 수 있다. ISP(206)는 이미지 변환 동작들, 수평 및 수직 스케일링, 컬러 공간 변환 및/또는 이미지 안정화 변환들과 같은 다양한 이미지 조작 동작들을 수행할 수 있는데, 이는 도 3을 참조하여 아래에서 상세히 기술되는 바와 같다.
CPU(208)는 임의의 적합한 명령어 세트 아키텍처(instruction set architecture, ISA)를 사용하여 구체화될 수 있고, 그 명령어 세트 아키텍처 내에 정의된 명령어들을 실행시키도록 구성될 수 있다. CPU(208)는 다양한 명령어 세트 아키텍처(ISA)들 중 임의의 것, 예컨대 x86, PowerPC, SPARC, RISC, ARM 또는 MIPS ISA들, 또는 임의의 다른 적합한 ISA를 사용하는 범용 또는 임베디드 프로세서들일 수 있다. 도 2에 단일 CPU가 도시되어 있지만, SOC 컴포넌트(204)는 다수의 CPU들을 포함할 수 있다. 다중프로세서 시스템들에서, CPU들 각각은 보편적으로는 동일한 ISA를 구현할 수 있지만 반드시 그러한 것은 아니다.
그래픽 프로세싱 유닛(GPU)(220)은 그래픽 데이터를 수행하기 위한 그래픽 프로세싱 회로부이다. 예를 들어, GPU(220)는 프레임 버퍼(예컨대, 전체 프레임에 대한 픽셀 데이터를 포함하는 것) 내에 디스플레이될 객체들을 렌더링할 수 있다. GPU(220)는 그래픽 동작의 일부 또는 전부, 또는 소정 그래픽 동작들의 하드웨어 가속을 수행하도록 그래픽 소프트웨어를 실행시킬 수 있는 하나 이상의 그래픽 프로세서들을 포함할 수 있다.
I/O 인터페이스들(218)은 디바이스(100) 내의 다양한 입출력 컴포넌트들과 인터페이싱하기 위한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합들이다. I/O 컴포넌트들은 디바이스들, 예컨대 키패드, 버튼, 오디오 디바이스, 및 글로벌 포지셔닝 시스템과 같은 센서를 포함할 수 있다. I/O 인터페이스들(218)은, 그러한 I/O 컴포넌트들에 데이터를 전송하기 위한 데이터를 프로세싱하거나, 그러한 I/O 컴포넌트들로부터 수신된 데이터를 프로세싱한다.
네트워크 인터페이스(210)는 하나 이상의 네트워크들(예컨대, 캐리어 또는 에이전트 디바이스들)을 통해 데이터가 디바이스들(100)과 다른 디바이스들 사이에서 교환될 수 있게 하는 서브컴포넌트이다. 예를 들어, 비디오 또는 다른 이미지 데이터는 네트워크 인터페이스(210)를 통해 다른 디바이스들로부터 수신될 수 있고, (예컨대, 도 3에서 아래에서 논의되는 바와 같은, 이미지 신호 프로세서(206)에 대한 백엔드 인터페이스를 통한) 후속 프로세싱 및 디스플레이를 위해 시스템 메모리(230)에 저장될 수 있다. 네트워크들은 근거리 통신망(Local Area Network, LAN)들(예컨대, 이더넷(Ethernet) 또는 기업 네트워크(corporate network)) 및 광역 통신망(WAN)들을 포함할 수 있지만, 이들로 제한되지 않는다. 네트워크 인터페이스(210)를 통해 수신된 이미지 데이터는 ISP(206)에 의해 이미지 프로세싱 프로세스들을 겪을 수 있다.
모션 센서 인터페이스(212)는 모션 센서(234)와 인터페이싱하기 위한 회로부이다. 모션 센서 인터페이스(212)는 모션 센서(234)로부터 센서 정보를 수신하고, 센서 정보를 프로세싱하여 디바이스(100)의 배향 또는 이동을 결정한다.
디스플레이 제어기(214)는 디스플레이(216) 상에 디스플레이될 이미지 데이터를 전송하기 위한 회로부이다. 디스플레이 제어기(214)는 ISP(206), CPU(208), 그래픽 프로세서 또는 시스템 메모리(230)로부터 이미지 데이터를 수신하고, 이미지 데이터를 디스플레이(216) 상에 디스플레이하기에 적합한 포맷으로 프로세싱한다.
메모리 제어기(222)는 시스템 메모리(230)와 통신하기 위한 회로부이다. 메모리 제어기(222)는 ISP(206), CPU(208), GPU(220) 또는 SOC 컴포넌트(204)의 다른 서브컴포넌트들에 의한 프로세싱을 위해 시스템 메모리(230)로부터 데이터를 판독할 수 있다. 메모리 제어기(222)는, 또한, SOC 컴포넌트(204)의 다양한 서브컴포넌트들로부터 수신된 데이터를 시스템 메모리(230)에 기록할 수 있다.
비디오 인코더(224)는, 영구적 저장소(128)에 저장하기에 적합한 포맷으로 비디오 데이터를 인코딩하기 위한, 또는 네트워크를 통한 다른 디바이스로의 송신을 위해 데이터를 네트워크 인터페이스(W10)에 전달하기 위한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합이다.
일부 실시예들에서, SOC 컴포넌트(204)의 하나 이상의 서브컴포넌트들 또는 이러한 서브컴포넌트들의 일부 기능은 ISP(206), CPU(208) 또는 GPU(220) 상에서 실행되는 소프트웨어 컴포넌트들에 의해 수행될 수 있다. 그러한 소프트웨어 컴포넌트들은 시스템 메모리(230), 영구적 저장소(228), 또는 네트워크 인터페이스(210)를 통해 디바이스(100)와 통신하는 다른 디바이스에 저장될 수 있다.
이미지 데이터 또는 비디오 데이터는 SOC 컴포넌트(204) 내의 다양한 데이터 경로들을 통해 흐를 수 있다. 일례에서, 미처리 이미지 데이터는 이미지 센서들(202)로부터 생성되어 ISP(206)에 의해 프로세싱될 수 있고, 이어서, 버스(232) 및 메모리 제어기(222)를 통해 시스템 메모리(230)로 전송될 수 있다. 이미지 데이터가 시스템 메모리(230)에 저장된 후에, 그것은 인코딩을 위해서는 비디오 인코더(224)에 의해 또는 디스플레이를 위해서는 디스플레이(116)에 의해, 버스(232)를 통해 액세스될 수 있다.
다른 예에서, 이미지 데이터는 이미지 센서들(202) 이외의 소스들로부터 수신된다. 예를 들어, 비디오 데이터는 유선 또는 무선 네트워크를 통해 SOC 컴포넌트(204)에 스트리밍, 다운로드, 또는 달리 통신될 수 있다. 이미지 데이터는 네트워크 인터페이스(210)를 통해 수신되어 메모리 제어기(222)를 통해 시스템 메모리(230)에 기록될 수 있다. 이미지 데이터는, 이어서, 도 3을 참조하여 아래에서 상세히 기술되는 바와 같이, ISP(206)에 의해 시스템 메모리(230)로부터 획득될 수 있고, 하나 이상의 이미지 프로세싱 파이프라인 스테이지들을 통해 프로세싱될 수 있다. 이미지 데이터는, 이어서, 시스템 메모리(230)로 반환될 수 있거나, 또는 비디오 인코더(224)로, (디스플레이(216) 상에서의 디스플레이를 위해) 디스플레이 제어기(214)로, 또는 영구적 저장소(228)에서의 저장을 위해 저장소 제어기(226)로 전송될 수 있다.
예시적인 이미지 신호 프로세싱 파이프라인들
도 3은 일 실시예에 따른, ISP(206)를 사용하여 구현된 이미지 프로세싱 파이프라인들을 도시한 블록도이다. 도 3의 실시예에서, ISP(206)는 미처리 이미지 데이터를 수신하기 위해 하나 이상의 이미지 센서들(202A 내지 202N)(이하에서 집합적으로 "이미지 센서들(202)"로 지칭되거나 또한 "이미지 센서(202)"로 개별적으로 지칭됨)을 포함하는 이미지 센서 시스템(201)에 결합된다. 이미지 센서 시스템(201)은 이미지 센서들(202)을 개별적으로 제어하는 하나 이상의 서브시스템들을 포함할 수 있다. 일부 경우들에, 각각의 이미지 센서(202)는 독립적으로 동작할 수 있는 반면, 다른 경우들에, 이미지 센서들(202)은 일부 컴포넌트들을 공유할 수 있다. 예를 들어, 일 실시예에서, 2개 이상의 이미지 센서들(202)이 이미지 센서들의 기계적 컴포넌트들(예컨대, 각각의 이미지 센서의 렌즈 위치들을 변화시키는 액추에이터들)을 제어하는 동일한 회로 보드를 공유할 수 있다. 이미지 센서(202)의 이미지 센싱 컴포넌트들은 상이한 형태들로 ISP(206)에 미처리 이미지 데이터를 제공할 수 있는 상이한 유형들의 이미지 센싱 컴포넌트들을 포함할 수 있다. 예를 들어, 일 실시예에서, 이미지 센싱 컴포넌트들은 오토포커싱을 위해 사용되는 복수의 포커스 픽셀들 및 이미지들을 캡처하는 데 사용되는 복수의 이미지 픽셀들을 포함할 수 있다. 다른 실시예에서, 이미지 센싱 픽셀들은 오토포커싱 및 이미지 캡쳐 목적들 둘 모두에 사용될 수 있다.
ISP(206)는 생성, 캡처, 또는 수신으로부터 출력까지 이미지 정보를 프로세싱하는 스테이지들의 세트를 포함할 수 있는 이미지 프로세싱 파이프라인을 구현한다. ISP(206)는, 다른 컴포넌트들 중에서도, 센서 인터페이스(302), 중앙 제어부(320), 프론트엔드 파이프라인 스테이지들(330), 백엔드 파이프라인 스테이지들(340), 이미지 통계 모듈(304), 비전 모듈(322), 백엔드 인터페이스(342), 출력 인터페이스(316), 및 오토포커스 회로들(350A 내지 350N)(이하에서 집합적으로 "오토포커스 회로들(350)"로 지칭되거나 개별적으로 "오토포커스 회로들(350)"로 지칭됨)을 포함할 수 있다. ISP(206)는 도 3에 도시되지 않은 다른 컴포넌트들을 포함할 수 있거나, 또는 도 3에 도시된 하나 이상의 컴포넌트들을 생략할 수 있다.
하나 이상의 실시예들에서, ISP(206)의 상이한 컴포넌트들은 상이한 레이트들로 이미지 데이터를 프로세싱한다. 도 3의 실시예에서, 프론트엔드 파이프라인 스테이지들(330)(예컨대, 미처리 프로세싱 스테이지(306) 및 리샘플(resample) 프로세싱 스테이지(308))은 초기 레이트로 이미지 데이터를 프로세싱할 수 있다. 따라서, 다양한 상이한 기법들, 조정들, 수정들, 또는 다른 프로세싱 동작들이 이러한 프론트엔드 파이프라인 스테이지들(330)에 의해 초기 레이트로 수행된다. 예를 들어, 프론트엔드 파이프라인 스테이지들(330)이 2 픽셀/클록 사이클로 프로세싱하는 경우, 미처리 프로세싱 스테이지(306)의 동작들(예컨대, 블랙 레벨 보상(black level compensation), 하이라이트 복원, 및 결함 픽셀 보정)은 한번에 2 픽셀의 이미지 데이터를 프로세싱할 수 있다. 대조적으로, 하나 이상의 백엔드 파이프라인 스테이지들(340)은 초기 데이터 레이트보다 작은 상이한 레이트로 이미지 데이터를 프로세싱할 수 있다. 예를 들어, 도 3의 실시예에서, 백엔드 파이프라인 스테이지들(340)(예컨대, 노이즈 프로세싱 스테이지(310), 컬러 프로세싱 스테이지(312), 및 출력 리스케일(output rescale)(314))은 감소된 레이트(예컨대, 1 픽셀/클록 사이클)로 프로세싱될 수 있다.
이미지 센서들(202)에 의해 캡처된 미처리 이미지 데이터는 상이한 방식들로 ISP(206)의 상이한 컴포넌트들로 전송될 수 있다. 일 실시예에서, 포커스 픽셀들에 대응하는 미처리 이미지 데이터가 오토포커스 회로들(350)로 전송될 수 있는 반면, 이미지 픽셀들에 대응하는 미처리 이미지 데이터는 센서 인터페이스(302)로 전송될 수 있다. 다른 실시예에서, 두 유형의 픽셀들에 대응하는 미처리 이미지 데이터는 오토포커스 회로들(350) 및 센서 인터페이스(302) 둘 모두로 동시에 전송될 수 있다.
오토포커스 회로들(350)은 각각의 이미지 센서(202)의 적절한 렌즈 위치를 결정하기 위해 미처리 이미지 데이터를 분석하는 하드웨어 회로를 포함할 수 있다. 일 실시예에서, 미처리 이미지 데이터는 이미지 포커싱에 특화되는 이미지 센싱 픽셀들로부터 송신되는 데이터를 포함할 수 있다, 다른 실시예에서, 이미지 캡처 픽셀들로부터의 미처리 이미지 데이터가 또한 오토포커싱 목적을 위해 사용될 수 있다. 오토포커스 회로(350)는 적절한 렌즈 위치를 결정하는 데이터를 생성하기 위해 다양한 이미지 프로세싱 동작들을 수행할 수 있다. 이미지 프로세싱 동작들은 오토포커싱 목적으로 사용되는 데이터를 생성하기 위해 크로핑(cropping), 비닝(binning), 이미지 보상, 스케일링(scaling)을 포함할 수 있다. 오토포커스 회로들(350)에 의해 생성된 오토포커싱 데이터는 이미지 센서 시스템(201)에 피드백되어 이미지 센서들(202)의 렌즈 위치들을 제어할 수 있다. 예를 들어, 이미지 센서(202)는 오토포커싱 데이터를 분석하여 이미지 센서의 렌즈 시스템과 연관된 액추에이터로 전송되는 커맨드 신호를 결정하여 이미지 센서의 렌즈 위치를 변화시키는 제어 회로를 포함할 수 있다. 오토포커스 회로들(350)에 의해 생성된 데이터는 또한 다른 이미지 프로세싱 목적들을 위해 ISP(206)의 다른 컴포넌트들로 전송될 수 있다. 예를 들어, 데이터의 일부는 이미지 통계(304)로 전송되어 오토익스포져에 관한 정보를 결정할 수 있다.
오토포커스 회로들(350)은 이미지 통계(304), 센서 인터페이스(302), 프론트엔드(330) 및 백엔드(340)와 같은 다른 컴포넌트들과는 별개인 개별 회로들일 수 있다. 이것은 ISP(206)가 다른 이미지 프로세싱 파이프라인들과는 독립적인 오토포커싱 분석을 수행할 수 있게 한다. 예를 들어, ISP(206)는 이미지 센서(202A)로부터의 미처리 이미지 데이터를 분석하여, 오토포커스 회로(350A)를 사용하여 이미지 센서(202A)의 렌즈 위치를 조정하면서, 동시에 이미지 센서(202B)로부터의 이미지 데이터의 다운스트림 이미지 프로세싱을 수행할 수 있다. 일 실시예에서, 오토포커스 회로들(350)의 수는 이미지 센서들(202)의 수에 대응할 수 있다. 다시 말하면, 각각의 이미지 센서(202)는 이미지 센서(202)의 오토포커싱에 전용되는 대응하는 오토포커스 회로를 가질 수 있다. 디바이스(100)는 하나 이상의 이미지 센서들(202)이 활성 사용 중이 아니더라도 상이한 이미지 센서들(202)에 대한 오토포커싱을 수행할 수 있다. 이는 디바이스(100)가 하나의 이미지 센서(202)로부터 다른 것으로 스위칭할 때 2 개의 이미지 센서들(202)사이의 이음매 없는 전환을 허용한다. 예를 들어, 일 실시예에서, 디바이스(100)는 광각 카메라 및 망원 카메라를 사진 및 이미지 프로세싱을 위한 듀얼 백 카메라 시스템으로서 포함할 수 있다. 디바이스(100)는 듀얼 카메라들 중 하나에 의해 캡처된 이미지들을 디스플레이할 수 있고, 때때로 2개의 카메라들 사이에서 스위칭할 수 있다. 2개 이상의 오토포커스 회로들(350)이 오토포커스 데이터를 이미지 센서 시스템(201)에 연속적으로 제공할 수 있기 때문에, 제2 이미지 센서(202)가 그의 렌즈 위치를 조정하기를 기다리지 않고, 디스플레이된 이미지들이 하나의 이미지 센서(202)에 의해 캡처된 이미지 데이터로부터 다른 이미지 센서에 의해 캡처된 이미지 데이터로 이음매 없는 전환을 할 수 있다.
상이한 이미지 센서들(202)에 의해 캡처된 미처리 이미지 데이터는 또한 센서 인터페이스(302)로 전송될 수 있다. 센서 인터페이스(302)는 이미지 센서(202)로부터 미처리 이미지 데이터를 수신하고, 그 미처리 이미지 데이터를 파이프라인 내의 다른 스테이지들에 의해 프로세싱가능한 이미지 데이터로 프로세싱한다. 센서 인터페이스(302)는 이미지 데이터 크기를 감소시키기 위해 이미지 크로핑, 비닝 또는 스케일링과 같은 다양한 사전프로세싱 동작들을 수행할 수 있다. 일부 실시예들에서, 픽셀들은 래스터 순서(raster order)로(즉, 수평으로, 라인별로) 이미지 센서(202)로부터 센서 인터페이스(302)로 전송된다. 파이프라인에서의 후속 프로세스들은 또한 래스터 순서로 수행될 수 있고, 그 결과도 또한 래스터 순서로 출력될 수 있다. 단일 이미지 센서 및 단일 센서 인터페이스(302)만이 도 3에 도시되어 있지만, 하나 초과의 이미지 센서가 디바이스(100)에 제공될 때, 대응하는 수의 센서 인터페이스들이 ISP(206)에 제공되어 각각의 이미지 센서로부터의 미처리 이미지 데이터를 프로세싱하게 할 수 있다.
프론트엔드 파이프라인 스테이지들(330)은 이미지 데이터를 미처리 또는 풀-컬러 도메인들에서 프로세싱한다. 프론트엔드 파이프라인 스테이지들(330)은 미처리 프로세싱 스테이지(306) 및 리샘플 프로세싱 스테이지(308)를 포함할 수 있지만, 이들로 제한되지 않는다. 미처리 이미지 데이터는, 예를 들어, 베이어 미처리 포맷으로 있을 수 있다. 베이어 미처리 이미지 포맷에서, (모든 컬러들 대신에) 특정 컬러에 특정적인 값들을 갖는 픽셀 데이터가 각각의 픽셀에 제공된다. 이미지 캡처 센서에서, 이미지 데이터는 전형적으로 베이어 패턴으로 제공된다. 미처리 프로세싱 스테이지(306)는 이미지 데이터를 베이어 미처리 포맷으로 프로세싱할 수 있다.
미처리 프로세싱 스테이지(306)에 의해 수행되는 동작들은 센서 선형화, 블랙 레벨 보상, 고정 패턴 노이즈 감소, 결함 픽셀 보정, 미처리 노이즈 필터링, 렌즈 셰이딩 보정(lens shading correction), 화이트 밸런스 이득, 및 하이라이트 복원을 포함하지만, 이들로 제한되지 않는다. 센서 선형화는 다른 프로세싱을 위해 비선형 이미지 데이터를 선형 공간에 맵핑하는 것을 지칭한다. 블랙 레벨 보상은 이미지 데이터의 각각의 컬러 컴포넌트(예컨대, Gr, R, B, Gb)에 대해 독립적으로 디지털 이득, 오프셋 및 클립을 제공하는 것을 지칭한다. 고정 패턴 노이즈 감소는, 입력 이미지로부터 다크 프레임을 감산하고 상이한 이득들을 픽셀들에 승산함(multiplying)으로써 오프셋 고정 패턴 노이즈 및 이득 고정 패턴 노이즈를 제거하는 것을 지칭한다. 결함 픽셀 보정은 결함 픽셀들을 검출하는 것, 및 이어서 결함 픽셀 값들을 대체시키는 것을 지칭한다. 미처리 노이즈 필터링은 밝기(brightness)가 유사한 이웃 픽셀들을 평균화함으로써 이미지 데이터의 노이즈를 감소시키는 것을 지칭한다. 하이라이트 복원은 다른 채널로부터 클리핑된(또는 거의 클리핑된) 그러한 픽셀들에 대한 픽셀 값들을 추정하는 것을 지칭한다. 렌즈 셰이딩 보정은 렌즈 광학 중심으로부터의 거리에 대략적으로 비례하는 세기의 드롭오프(dropoff)를 보상하도록 픽셀별 이득을 적용하는 것을 지칭한다. 화이트 밸런스 이득은 모든 컬러 컴포넌트들(예컨대, 베이어 포맷의 Gr, R, B, Gb)에 대하여 독립적으로 화이트 밸런스, 오프셋 및 클립에 대한 디지털 이득들을 제공하는 것을 지칭한다. ISP(206)의 컴포넌트들은 미처리 이미지 데이터를 풀-컬러 도메인 내의 이미지 데이터로 변환할 수 있고, 따라서, 미처리 프로세싱 스테이지(306)는, 미처리 이미지 데이터에 더하여 또는 그 대신에, 풀-컬러 도메인 내의 이미지 데이터를 프로세싱할 수 있다.
리샘플 프로세싱 스테이지(308)는 미처리 프로세싱 스테이지(306)로부터 수신된 이미지 데이터를 변환, 리샘플링, 또는 스케일링하기 위한 다양한 동작들을 수행한다. 리샘플 프로세싱 스테이지(308)에 의해 수행되는 동작들은, 디모자이크(demosaic) 동작, 픽셀별 컬러 보정 동작, 감마 맵핑 동작, 컬러 공간 변환 및 다운스케일링 또는 서브-대역 분할을 포함할 수 있지만, 이들로 제한되지 않는다. 디모자이크 동작은 누락된 컬러 샘플들을 (예를 들어, 베이어 패턴의) 미처리 이미지 데이터로부터 풀-컬러 도메인 내로의 출력 이미지 데이터로 변환 또는 보간하는 것을 지칭한다. 디모자이크 동작은 풀-컬러 픽셀들을 획득하기 위한, 보간된 샘플들에 대한 저역 통과 지향성 필터링을 포함할 수 있다. 픽셀별 컬러 보정 동작은, 각각의 컬러 채널의 상대적 노이즈 표준 편차들에 관한 정보를 이용하여 픽셀 단위로 컬러 보정을 수행하여 이미지 데이터 내의 노이즈를 증폭시킴이 없이 컬러를 보정하는 프로세스를 지칭한다. 감마 맵핑은 감마 보정들을 수행하기 위해 입력 이미지 데이터 값들로부터의 이미지 데이터를 출력 데이터 값들로 변환하는 것을 지칭한다. 감마 맵핑의 목적을 위해, 각각의 픽셀의 채널들 또는 상이한 컬러 컴포넌트들에 대한 룩업 테이블들(또는 픽셀 값들을 다른 값으로 인덱싱하는 다른 구조물들)(예컨대, R, G, 및 B 컬러 컴포넌트들에 대한 개별적인 룩업 테이블)이 사용될 수 있다. 컬러 공간 변환은 입력 이미지 데이터의 컬러 공간을 상이한 포맷으로 변환하는 것을 지칭한다. 일 실시예에서, 리샘플 프로세싱 스테이지(308)는 추가 프로세싱을 위해 RGB 포맷을 YCbCr 포맷으로 변환한다.
중앙 제어 모듈(320)은 ISP(206) 내의 다른 컴포넌트들의 전체 동작을 제어 및 조정할 수 있다. 중앙 제어 모듈(320)은, 다양한 동작 파라미터들(예컨대, 로깅 클록 사이클들, 메모리 레이턴시, 서비스 품질, 및 상태 정보)을 모니터링하는 것, ISP(206)의 다른 컴포넌트들에 대한 제어 파라미터들을 업데이트 또는 관리하는 것, 및 센서 인터페이스(302)와 인터페이싱하여 ISP(206)의 다른 컴포넌트들의 시작 및 중지를 제어하는 것을 포함하지만 이들로 제한되지 않는 동작들을 수행한다. 예를 들어, 중앙 제어 모듈(320)은 ISP(206) 내의 다른 컴포넌트들에 대한 프로그래밍가능 파라미터들을 업데이트할 수 있는 반면, 다른 컴포넌트들은 유휴 상태에 있다. 프로그래밍가능 파라미터들을 업데이트한 후, 중앙 제어 모듈(320)은 ISP(206)의 이러한 컴포넌트들을 실행 상태에 놓아서 하나 이상의 동작들 또는 태스크들을 수행할 수 있다. 중앙 제어 모듈(320)은, 또한, 리샘플 프로세싱 스테이지(308) 이전에, 그 동안에, 또는 그 이후에 (예컨대, 도 2에서의 시스템 메모리(230)에 기록함으로써) 이미지 데이터를 저장할 것을 ISP(206)의 다른 컴포넌트들에게 명령할 수 있다. 이러한 방식으로, 백-엔드 파이프라인 스테이지들(340)을 통해 리샘플 프로세싱 스테이지(308)로부터 출력된 이미지 데이터를 프로세싱하는 것에 더하여 또는 그 대신에, 미처리 또는 풀-컬러 도메인 포맷의 풀-해상도 이미지 데이터가 저장될 수 있다.
이미지 통계 모듈(304)은 이미지 데이터와 연관된 통계 정보를 수집하기 위해 다양한 동작들을 수행한다. 통계 정보를 수집하기 위한 동작들은 센서 선형화, 패턴화된 결함 픽셀들의 교체, 미처리 이미지 데이터의 서브샘플링, 패턴화되지 않은 결함 픽셀들의 검출 및 대체, 블랙 레벨 보상, 렌즈 셰이딩 보정, 및 블랙 레벨 역보상을 포함할 수 있지만, 이들로 제한되지 않는다. 그러한 동작들 중 하나 이상을 수행한 후, 3A 통계치(AWB(Auto white balance), AE(auto exposure), 히스토그램들(예컨대, 2D 컬러 또는 컴포넌트) 및 임의의 다른 이미지 데이터 정보와 같은 통계 정보가 수집 또는 추적될 수 있다. 일부 실시예들에서, 특정 픽셀들의 값들, 또는 픽셀 값들의 영역들은 선행 동작들이 클리핑된 픽셀들을 식별할 때 특정 통계 데이터의 수집으로부터 배제될 수 있다. 단일 통계 모듈(304)만이 도 3에 도시되어 있지만, 다수의 이미지 통계 모듈들이 ISP(206)에 포함될 수 있다. 예를 들어, 각각의 이미지 센서(202)는 개별 이미지 통계 유닛(304)에 대응할 수 있다. 그러한 실시예들에서, 각각의 통계 모듈은 동일한 또는 상이한 이미지 데이터에 대한 상이한 정보를 수집하도록 중앙 제어 모듈(320)에 의해 프로그래밍될 수 있다.
비전 모듈(322)은 이미지 데이터에서의 얼굴 검출과 같은, CPU(208)에서의 컴퓨터 비전 동작들을 용이하게 하기 위해 다양한 동작들을 수행한다. 비전 모듈(322)은 사전프로세싱, 글로벌 톤-맵핑 및 감마 보정, 비전 노이즈 필터링, 크기조정, 키포인트 검출, 및 HOG(histogram-of-orientation gradient)들 및 정규화된 교차-상관(NCC; normalized cross correlation)의 생성을 포함하는 다양한 동작들을 수행할 수 있다. 사전프로세싱은, 입력 이미지 데이터가 YCrCb 포맷에 있지 않은 경우, 휘도의 서브샘플링 또는 비닝 동작 및 계산을 포함할 수 있다. 글로벌 맵핑 및 감마 보정은 휘도 이미지 상의 사전프로세싱된 데이터에 대해 수행될 수 있다. 비전 노이즈 필터링은, 픽셀 결함들을 제거하고 이미지 데이터에 존재하는 노이즈를 감소시키기 위해, 그리고 이에 의해, 후속 컴퓨터 비전 알고리즘들의 품질 및 성능을 개선하기 위해 수행된다. 그러한 비전 노이즈 필터링은 도트들 또는 결함 픽셀들을 검출 및 고정하는 것, 및 유사한 밝기의 이웃 픽셀들을 평균함으로써 노이즈를 감소시키도록 쌍방 필터링(bilateral filtering)을 수행하는 것을 포함할 수 있다. 다양한 비전 알고리즘들은 상이한 크기들 및 스케일들의 이미지들을 사용한다. 이미지의 크기조정은, 예를 들어, 비닝 또는 선형 보간 동작에 의해 수행된다. 키포인트들은 동일한 장면 또는 객체의 다른 이미지들에서의 매칭에 매우 적합한 이미지 패치들에 의해 둘러싸이는, 이미지 내의 위치들이다. 그러한 키포인트들은 이미지 정렬, 카메라 포즈 계산, 및 객체 추적에 유용하다. 키포인트 검출은 이미지에서 그러한 키포인트들을 식별하는 프로세스를 지칭한다. HOG는 이미지 분석 및 컴퓨터 비전에서의 태스크들을 위한 이미지 패치들의 설명을 제공한다. HOG는, 예를 들어, (i) 간단한 차이 필터를 사용하여 수평 및 수직 그레디언트(gradient)들을 계산하는 것, (ii) 수평 및 수직 그레디언트들로부터 그레디언트 배향들 및 크기들을 계산하는 것, 및 (iii) 그레디언트 배향들을 비닝하는 것에 의해 생성될 수 있다. NCC는 이미지의 패치와 커널 사이의 공간적 교차-상관을 계산하는 프로세스이다.
백엔드 인터페이스(342)는 이미지 센서(102) 이외의 다른 이미지 소스들로부터 이미지 데이터를 수신하고, 이를, 프로세싱을 위해 ISP(206)의 다른 컴포넌트들로 전달한다. 예를 들어, 이미지 데이터는 네트워크 접속을 통해 수신될 수 있고 시스템 메모리(230)에 저장될 수 있다. 백엔드 인터페이스(342)는 시스템 메모리(230)에 저장된 이미지 데이터를 검색하고, 이를, 프로세싱을 위해, 백엔드 파이프라인 스테이지들(340)에 제공한다. 백엔드 인터페이스(342)에 의해 수행되는 많은 동작들 중 하나는 검색된 이미지 데이터를 백엔드 프로세싱 스테이지들(340)에 의해 활용될 수 있는 포맷으로 변환하는 것이다. 예컨대, 백엔드 인터페이스(342)는 RGB, YCbCr 4:2:0, 또는 YCbCr 4:2:2 포맷화된 이미지 데이터를 YCbCr 4:4:4 컬러 포맷으로 변환할 수 있다.
백엔드 파이프라인 스테이지들(340)은 특정 풀-컬러 포맷(예컨대, YCbCr 4:4:4 또는 RGB)에 따라 이미지 데이터를 프로세싱한다. 일부 실시예들에서, 백엔드 파이프라인 스테이지들(340)의 컴포넌트들은 추가 프로세싱 전에 이미지 데이터를 특정 풀-컬러 포맷으로 변환할 수 있다. 백엔드 파이프라인 스테이지들(340)은, 다른 스테이지들 중에서도, 노이즈 프로세싱 스테이지(310) 및 컬러 프로세싱 스테이지(312)를 포함할 수 있다. 백엔드 파이프라인 스테이지들(340)은 도 3에 도시되지 않은 다른 스테이지들을 포함할 수 있다.
노이즈 프로세싱 스테이지(310)는 이미지 데이터에서의 노이즈를 감소시키기 위해 다양한 동작들을 수행한다. 노이즈 프로세싱 스테이지(310)에 의해 수행되는 동작들은 컬러 공간 변환, 감마/디-감마 맵핑, 시간적 필터링, 노이즈 필터링, 루마 샤프닝, 및 크로마 노이즈 감소를 포함하지만, 이들로 제한되지 않는다. 컬러 공간 변환은 이미지 데이터를 하나의 컬러 공간 포맷으로부터 다른 컬러 공간 포맷으로 변환할 수 있다(예컨대, RGB 포맷이 YCbCr 포맷으로 변환됨). 감마/디-감마 동작은 이미지 데이터를 입력 이미지 데이터 값들로부터 출력 데이터 값들로 변환하여 감마 보정 또는 역 감마 보정을 수행한다. 시간적 필터링은 이전에 필터링된 이미지 프레임을 사용하여 노이즈를 필터링하여, 노이즈를 감소시킨다. 예를 들어, 이전 이미지 프레임의 픽셀 값들은 현재 이미지 프레임의 픽셀 값들과 조합된다. 노이즈 필터링은, 예를 들어, 공간 노이즈 필터링을 포함할 수 있다. 루마 샤프닝은 픽셀 데이터의 루마 값들을 샤프닝할 수 있는 반면, 크로마 억제는 크로마를 회색으로(예컨대 컬러 없이) 감쇠시킬 수 있다. 일부 실시예에서, 루마 샤프닝 및 크로마 억제는 공간 노이즈 필터링과 동시에 수행될 수 있다. 노이즈 필터링의 공격성(aggressiveness)은 이미지의 상이한 영역들에 대해 상이하게 결정될 수 있다. 공간적 노이즈 필터링은 시간적 필터링을 구현하는 시간적 루프의 일부로서 포함될 수 있다. 예를 들어, 이전 이미지 프레임은 다음 이미지 프레임이 프로세싱되도록 기준 프레임으로서 저장되기 전에 시간적 필터 및 공간적 노이즈 필터에 의해 프로세싱될 수 있다. 다른 실시예들에서, 공간적 노이즈 필터링은 시간적 필터링을 위한 시간적 루프의 일부로서 포함되지 않을 수 있다(예컨대, 공간적 노이즈 필터는 이미지 프레임이 기준 이미지 프레임으로서 저장된 이후에 그 이미지 프레임에 적용될 수 있고, 따라서, 기준 프레임은 공간적으로 필터링되지 않음).
컬러 프로세싱 스테이지(312)는 이미지 데이터에서 컬러 정보를 조정하는 것과 연관된 다양한 동작들을 수행할 수 있다. 컬러 프로세싱 스테이지(312)에서 수행되는 동작들은 로컬 톤 맵핑, 이득/오프셋/클립, 컬러 보정, 3차원 컬러 룩업, 감마 변환, 및 컬러 공간 변환을 포함하지만, 이들로 제한되지 않는다. 로컬 톤 맵핑은, 이미지를 렌더링할 때 더 많은 제어를 제공하기 위해 공간적으로 변하는 로컬 톤 곡선들을 지칭한다. 예컨대, 2차원 그리드의 톤 곡선(중앙 제어 모듈(320)에 의해 프로그래밍될 수 있음)은 이중선형 보간되어(bi-linearly interpolated) 매끄럽게 변하는 톤 곡선이 이미지에 걸쳐 생성되도록 할 수 있다. 일부 실시예들에서, 로컬 톤 맵핑은, 또한, 공간적으로 변화하고 세기가 변화하는 컬러 보정 매트릭스들을 적용할 수 있는데, 이는, 예를 들어, 이미지에서 하늘은 더 파랗게 만드는 반면 그림자 내의 청색은 더 낮추는 데 사용될 수 있다. 디지털 이득/오프셋/클립은 이미지 데이터의 각각의 컬러 채널 또는 컴포넌트에 대해 제공될 수 있다. 컬러 보정은 컬러 보정 변환 매트릭스를 이미지 데이터에 적용할 수 있다. 3D 컬러 룩업은 컬러 컴포넌트 출력 값들(예컨대, R, G, B)의 3차원 어레이를 활용하여, 향상된 톤 맵핑, 컬러 공간 변환, 및 기타 컬러 변환을 수행할 수 있다. 예를 들어 감마 보정, 톤 맵핑, 또는 히스토그램 매칭을 수행하기 위해 입력 이미지 데이터 값들을 출력 데이터 값들에 맵핑시킴으로써, 감마 변환이 수행될 수 있다. 컬러 공간 변환은 이미지 데이터를 하나의 컬러 공간으로부터 다른 컬러 공간으로(예컨대, RGB로부터 YCbCr로) 변환하도록 구현될 수 있다. 다른 프로세싱 기법들이, 또한, 흑백 변환, 세피아 톤 변환, 네거티브 변환, 또는 솔라리제이션 변환을 비롯한 다른 특수 이미지 효과들을 수행하기 위해 컬러 프로세싱 스테이지(312)의 일부로서 수행될 수 있다.
출력 리스케일 모듈(314)은 ISP(206)가 이미지 데이터를 프로세싱함에 따라 즉각적으로 왜곡을 보정하고, 변환하고, 리샘플할 수 있다. 출력 리스케일 모듈(314)은 각각의 픽셀에 대해 프랙셔널 입력 좌표(fractional input coordinate)를 계산할 수 있고, 이 프랙셔널 좌표를 사용하여, 다상(polyphase) 리샘플링 필터를 통해 출력 픽셀을 보간할 수 있다. 프랙셔널 입력 좌표는, (예컨대, 간단한 수평 및 수직 스케일링 변환을 통해) 이미지를 크기재조정 또는 크로핑하는 것, (예컨대, 비가분성(non-separable) 매트릭스 변환들을 통해) 이미지를 회전시키거나 전단(shearing)하는 것, (예컨대, 추가적인 깊이 변환을 통한) 원근 와핑(perspective warping) 및 (예컨대, 롤링 셔터로 인한) 이미지 데이터 캡처 동안 이미지 센서에서의 변화들을 고려하기 위해 스트립 구분 단위(piecewise in strips)로 적용되는 픽셀별 원근 분리(per-pixel perspective divide), 및 (예컨대, 보간된 반경 방향 이득 테이블을 인덱싱하기 위해 광학 중심으로부터의 반경 방향 거리를 계산하는 것, 및 반경 방향 렌즈 왜곡을 고려하기 위해 좌표에 반경 방향 섭동(radial perturbance)을 적용하는 것을 통한) 기하학적 왜곡 보정과 같은, 출력 좌표의 다양한 가능한 변환들로부터 생성될 수 있다.
출력 리스케일 모듈(314)은 이미지 데이터가 출력 리스케일 모듈(314)에서 프로세싱됨에 따라 그 이미지 데이터에 변환을 적용할 수 있다. 출력 리스케일 모듈(314)은 수평 및 수직 스케일링 컴포넌트들을 포함할 수 있다. 설계의 수직 부분은 수직 필터에 필요한 "지원"을 유지하기 위하여 일련의 이미지 데이터 라인 버퍼들을 구현할 수 있다. ISP(206)가 스트리밍 디바이스일 수 있기 때문에, 유한 길이 슬라이딩 윈도우의 라인들 중 이미지 데이터의 라인들만이 사용할 필터에 사용가능할 수 있다. 새로 유입되는 라인을 위한 공간을 만들기 위해 하나의 라인이 폐기되면, 라인은 이용불가능할 수 있다. 출력 리스케일 모듈(314)은 이전 라인들에 대하여 연산된 입력 Y 좌표를 통계적으로 모니터링하여, 그것을 이용하여 수직 지원 윈도우에 유지하기 위한 최적의 라인들의 세트를 계산할 수 있다. 각각의 후속 라인에 대하여, 출력 리스케일 모듈은 수직 지원 윈도우의 중심에 대한 추측을 자동으로 생성할 수 있다. 일부 실시예들에서, 출력 리스케일 모듈(314)은 이미지 프레임의 캡처 시 센서 모션에 의해 야기되는 아티팩트 및 모션을 보정하기 위하여 입력 이미지 데이터와 출력 이미지 데이터 사이의 픽셀별 원근 변환을 수행하는 디지털 차이 분석기(DDA) 스텝퍼로서 인코딩된 조각별 원근 변환의 표를 구현할 수 있다. 도 1 및 도 2에 대하여 위에서 논의된 바와 같이, 출력 리스케일은 출력 인터페이스(316)를 통해 디바이스(100)의 다양한 다른 컴포넌트들에 이미지 데이터를 제공할 수 있다.
다양한 실시예들에서, 컴포넌트들(302 내지 350)의 기능은 도 3에 도시된 이미지 프로세싱 파이프라인 내의 그 기능 유닛들의 순서에 의해 암시되는 순서와는 상이한 순서로 수행될 수 있거나, 또는 도 3에 도시된 것들과 상이한 기능 컴포넌트들에 의해 수행될 수 있다. 또한, 도 3에서 기술된 바와 같은 다양한 컴포넌트들은 하드웨어, 펌웨어 또는 소프트웨어의 다양한 조합들로 구체화될 수 있다.
이미지 융합을 위한 예시적인 파이프라인들
도 4는 일 실시예에 따른, 이미지 융합을 위한 회로부를 포함하는 이미지 프로세싱 파이프라인의 일부분을 도시한 블록도이다. 이미지들(402, 404)은 이미지 센서 시스템(201)에 의해 캡처되고, 비전 모듈(322)상으로 전달된다. 일 실시예에서, 이미지(402)는 이미지(404)를 캡처하기 바로 전에 또는 후에 캡처된다. 대안적으로, 이미지들(402, 404)은 상이한 노출 시간들로 2개의 상이한 이미지 센서들(202)을 사용하여 동시에 캡처된다. 이미지(402)는 제1 노출 시간으로 장면을 캡처하고, 이미지(404)는 제1 노출 시간과 상이할 수 있는 제2 노출 시간으로 동일한 장면을 캡처한다. 제2 노출 시간이 제1 노출 시간보다 짧은 경우, 이미지(402)는 "긴 노출 이미지" 로 지칭될 수 있고, 이미지(404)는 "짧은 노출 이미지"로 지칭될 수 있다. 각각의 이미지(402, 404)는 다수의 컬러 컴포넌트들, 예컨대 루마 및 크로마 컬러 컴포넌트들을 포함한다. 이미지(402)는 프로세싱 및 특징 추출을 위해 비전 모듈(322)의 특징 추출기 회로(406) 상으로 전달된다. 이미지(404)는 프로세싱 및 특징 추출을 위해 비전 모듈(322)의 특징 추출기 회로(410) 상으로 전달될 수 있다. 대안적으로, 특징 추출기 회로(410)는 턴오프될 수 있다.
특징 추출기 회로(406)는 이미지(402) 내의 픽셀들의 픽셀 값들을 프로세싱함으로써 이미지(402) 내의 제1 키포인트들(예컨대, 핵심 포인트들)에 대한 제1 키포인트 정보(408)를 추출한다. 제1 키포인트들은 이미지(402) 내의 소정의 구별가능한 특징들("핵심 포인트들"로도 지칭됨)과 관련된다. 추출된 제1 키포인트 정보(408)는 이미지(402)의 제 1 키포인트들과 연관된 이미지(402) 내의 픽셀들의 적어도 서브세트의 공간 위치들(예컨대, 좌표들)에 관한 정보를 포함할 수 있다. 이미지(402) 내의 제1 키포인트들 각각에 대해, 특징 추출기 회로(406)는 또한 키포인트 스케일 및 배향 정보를 포함하는 키포인트 기술자(descriptor)를 추출 및 인코딩할 수 있다. 따라서, 특징 추출기 회로(406)에 의해 추출된 제1 키포인트 정보(408)는 이미지(402)의 제1 키포인트들 각각의 공간 위치 및 이미지(402)의 제1 키포인트들 각각의 키포인트 기술자에 관한 정보를 포함할 수 있다. 이미지(402)의 픽셀들의 적어도 서브세트와 연관된 제1 키포인트 정보(408)는 프로세싱을 위해 CPU(208) 상으로 전달된다.
특징 추출기 회로(410)는 이미지(404) 내의 픽셀들의 픽셀 값들을 프로세싱함으로써 이미지(404) 내의 제2 키포인트들에 대한 제2 키포인트 정보(412)를 추출한다. 제2 키포인트들은 이미지(404) 내의 소정의 구별가능한 특징들(예컨대, 핵심 포인트들)에 관련된다. 추출된 제2 키포인트 정보(412)는 이미지(404)의 제2 키포인트들과 연관된 이미지(404) 내의 픽셀들의 적어도 서브세트의 공간 위치들(예컨대, 좌표들)에 관한 정보를 포함할 수 있다. 이미지(404) 내의 제2 키포인트들 각각에 대해, 특징 추출기 회로(410)는 또한 키포인트 스케일 및 배향 정보를 포함하는 키포인트 기술자를 추출 및 인코딩할 수 있다. 따라서, 특징 추출기 회로(410)에 의해 추출된 제2 키포인트 정보(412)는 이미지(404)의 제2 키포인트들 각각의 공간 위치 및 이미지(404)의 제2 키포인트들 각각의 키포인트 기술자에 대한 정보를 포함할 수 있다. 이미지(404)의 픽셀들의 적어도 서브세트와 연관된 제2 키포인트 정보(412)는 프로세싱을 위해 CPU(208) 상으로 전달된다. 대안적으로(도 4에 도시되지 않음), 특징 추출기 회로(410)는 턴오프된다. 그러한 경우에, 이미지(404)의 제2 키포인트들이 추출되지 않고, 프로세싱을 위해 제1 키포인트 정보(408)만이 CPU(208) 상으로 전달된다.
CPU(208)는 이미지(402)와 이미지(404) 사이의 대응성을 기술하는 모델을 구축한다. CPU(208)는 이미지(402)의 제1 키포인트 정보(408)와 이미지(404)의 제2 키포인트 정보(412) 사이의 대응성을 검색하여, 이미지(402)와 이미지(404) 내의 상대적 움직임을 나타내는 적어도 하나의 모션 벡터를 생성한다. 일 실시예에서, CPU(208)는, 예컨대, 이미지들(402, 404)로부터 추출된 키포인트 기술자들의 쌍들과 같은 키포인트 정보 매치들의 세트를 결정하기 위해 이미지들(402, 404)로부터 추출된 키포인트 기술자들을 비교하고 페어링함으로써, 제1 키포인트 정보(408)를 제2 키포인트 정보(412)와 상관(매치)시킨다. 이어서, CPU(208)는 모델을 구축하기 위해 키포인트 정보 매치들의 결정된 세트를 프로세싱함으로써 모델 피팅 알고리즘을 수행한다. 모델 피팅 알고리즘은 모델 구축 프로세스 동안 잘못된 매치들을 폐기하도록 설계될 수 있다. 모델 피팅 알고리즘은 예컨대, 반복적 랜덤 샘플 컨센서스(RANSAC; random sample consensus) 알고리즘에 기초할 수 있다. CPU(208)에 의해 구축된 모델은 이미지들(402, 404) 내의 픽셀들 사이의 맵핑에 대한 정보를 포함한다. 모델은 선형, 아핀(affine) 및 원근(perspective) 변환을 나타낼 수 있다. 대안적으로, 모델은 비선형 변환일 수 있다. 모델에 기초하여, 와핑(warping) 파라미터들(맵핑 정보)(418)이 CPU(208)에 의해 생성되고 이미지(402) 및/또는 이미지(404)의 공간 변환을 위해 와핑 회로(428)로 전송될 수 있다. 와핑 파라미터들(418)은 이미지(402) 및/또는 이미지(404)의 공간 변환(예컨대, 와핑)을 위한 행렬의 형태로 사용될 수 있다. 공간 변환을 위한 행렬은 모든 그리드 포인트에 대해 정의된 모션 벡터들을 갖는 기하학적 변환 매트릭스 또는 메시 그리드를 나타낸다. 대안적으로, CPU(208) 대신에 전용 회로가 제공되어 RANSAC 알고리즘을 수행하고 와핑 파라미터들(418)을 생성할 수 있다.
실시예에서, 특징 추출기 회로(410)가 턴오프되고 제1 키포인트 정보(408)만이 CPU(208) 상으로 전달될 때, CPU(208)는 이미지(402)의 제1 키포인트들 각각에 대한 모션 벡터를 생성한다. 이는, 예컨대, 이미지(402)의 각각의 제1 키포인트의 정의된 공간적 근처(패치) 내의 최상의 특징 매치를 결정하기 위해 예상된 그리고 구성가능한 변위 범위 내에서 NCC 검색을 수행함으로써 행해진다. 이러한 경우에, CPU(208)는 제1 키포인트 정보(408)(예컨대, 제1 키포인트들의 좌표들) 및 특징 매치들에 기초하여 결정된 대응하는 모션 벡터들을 사용하는 모델 피팅 알고리즘(예컨대, RANSAC 알고리즘)을 수행하여 모델을 구축하는 반면, 이미지들(402, 404) 사이의 키포인트들의 매칭은 수행되지 않는다. 모델 피팅 알고리즘은 잘못된 특징 매치들을 폐기하도록 설계될 수 있다. 구축된 모델에 기초하여, CPU(208)는 이미지(402)의 공간 변환을 위해 와핑 회로(428)로 전송되는 와핑 파라미터들(맵핑 정보)(418)을 생성한다. 대안적으로, CPU(208) 대신에 전용 회로가 제공되어 NCC 검색을 수행하고 이미지(402)의 제1 키포인트들 각각에 대한 모션 벡터를 생성할 수 있다. 이러한 경우에, CPU(208)는 전용 회로에 의해 생성된 제1 키포인트들 각각에 대한 모션 벡터를 사용하여 모델을 구축한다.
이미지(402)의 프로세싱된 버전(422)을 얻기 위해, 긴 노출 이미지일 수 있는 이미지(402)가 또한 이미지(402)의 소정 프로세싱, 예컨대 노이즈 제거, 향상 등을 수행하는 이미지 향상 프로세서(420) 상으로 전달된다. 프로세싱된 버전(422)은 클리핑 마커 회로(424) 상으로 전달된다. 클리핑 마커 회로(424)는 클리핑 마커들로서 임계 값들을 초과하는 하나 이상의 컬러 컴포넌트 값들을 갖는 이미지(402)의 프로세싱된 버전(422) 내의 클리핑된(예컨대, 과포화된) 픽셀들을 식별한다. 클리핑 마커 회로(424)는 픽셀 값들을 미리 결정된 픽셀 값들으로 대체하여, 이들 픽셀들 또는 클리핑 마커 회로(424)로부터의 이들 픽셀들 다운스트림으로부터 유도된 임의의 다른 픽셀이 식별되고 클리핑 마커들의 대응하는 모폴로지 동작(morphological operation)들(예컨대, 침식(erosion) 또는 팽창(dilation))과 같은 후속 프로세싱에서 적절하게 어드레싱될 수 있도록 한다. 예를 들어, 모폴로지 동작들은, 와핑 회로(428)에 의해 수행되는 와핑 동작 동안, 피라미드 생성기 회로(432)에 의해 수행되는 피라미드 생성 동안, 및/또는 이미지 융합 프로세싱 모듈(444)에 의해 수행되는 융합 동작 동안, 예컨대 도 5a의 다중-스케일 이미지 융합 회로(502) 내의 그리고 도 5b의 이미지 융합 회로(503) 내의 고주파수 컴포넌트들의 업스케일링 및 추출 동안, 행해질 수 있다.
와핑 회로(428)는 CPU(208)에 의해 생성된 모델에 의해 정의되는 선형 및 비선형 변환들을 수용한다. 와핑 회로(428)는 이미지(402)보다 이미지(404)에 공간적으로 더 정렬된 이미지(402)(와핑된 이미지(430))의 와핑된 버전(430)을 생성하기 위해 와핑 파라미터들(418)에 따른 맵핑 정보를 사용하여 프로세싱된 이미지(426)를 와핑한다. 대안적으로(도 4에 도시되지 않음), 와핑 회로(428)는 이미지(404)보다 이미지(402)에 공간적으로 더 정렬된 이미지(404)의 와핑된 버전(430)을 생성하기 위해 모델(418)내의 맵핑 정보를 사용하여 이미지(404)를 와핑한다. 이어서, 와핑 회로(428)에 의해 생성된 와핑된 이미지(430)가 피라미드 생성기 회로(432) 상으로 전달된다.
피라미드 생성기 회로(432)는 와핑된 이미지(430)를 순차적으로 다운스케일링함으로써 각각 상이한 해상도를 갖는 다수의 다운스케일링된 와핑된 이미지들을 생성한다. 각각의 다운스케일링된 와핑된 이미지는 다수의 컬러 컴포넌트들을 포함한다. 와핑된 이미지(430)로부터 획득된 다운스케일링된 와핑된 이미지들은, 예컨대 시스템 메모리(230)(도 4에 도시되지 않음)에 저장될 수 있다. 다운스케일링된 와핑된 이미지들의 저주파수 컴포넌트들 및 와핑된 이미지(430)의 스케일링되지 않은 단일 컬러 버전의 저주파수 컴포넌트(예컨대, 루마 컴포넌트)가 이미지(404)로부터 획득된 대응하는 이미지 데이터(442)와의 융합을 위해 이미지 융합 프로세싱 회로(444) 상으로 와핑된 이미지 데이터(434)로서 전달된다. 일부 실시예들에서, 이미지 향상 프로세서(420), 클리핑 로케이터 회로(424), 와핑 회로(428), 및 피라미드 생성기 회로(432)가 노이즈 프로세싱 스테이지(310)의 일부임에 유의한다. 일부 실시예들에서, 이미지 향상 프로세서(420), 클리핑 로케이터 회로(424), 와핑 회로(428), 및 피라미드 생성기 회로(432) 중 하나 이상은 노이즈 프로세싱 스테이지(310)의 외측, 예컨대 백엔드 파이프라인 스테이지들(340)의 다른 스테이지 내에 있다.
이미지 향상 프로세서(436)는 피라미드 생성기 회로(440) 상으로 전달하기 위한 프로세싱된 이미지(438)를 획득하기 위해 이미지(404)의 소정 프로세싱(예컨대, 노이즈 제거, 향상 등)을 수행한다. 이미지 향상 프로세서(436)는 이미지 향상 프로세서(420)와 실질적으로 동일한 동작들을 수행할 수 있다. 피라미드 생성기 회로(440)는 프로세싱된 이미지(438)를 순차적으로 다운스케일링함으로써 각각 상이한 해상도를 갖는 다수의 다운스케일링된 이미지들을 생성한다. 피라미드 생성기 회로(440)에 의해 생성된 각각의 다운스케일링된 이미지는 다수의 컬러 컴포넌트들(예컨대, 루마 및 크로마 컴포넌트들)을 포함한다. 프로세싱된 이미지(438)로부터 획득된 다운스케일링된 이미지들은, 예컨대 시스템 메모리(230)에 저장될 수 있다. 다운스케일링된 이미지들의 저주파수 컴포넌트들 및 프로세싱된 이미지(438)의 스케일링되지 않은 단일 컬러 버전의 저주파수 컴포넌트(예컨대, 루마 컴포넌트)는 이미지 데이터(442)로서 이미지 융합 프로세싱 회로(444) 상으로 전달된다. 일부 실시예들에서, 이미지 향상 프로세서(436) 및 피라미드 생성기 회로(440)는 노이즈 프로세싱 스테이지(310)의 일부임에 유의한다. 일부 실시예들에서, 이미지 향상 프로세서(436) 및 피라미드 생성기 회로(440) 중 적어도 하나는 노이즈 프로세싱 스테이지(310)의 외측, 예컨대 백엔드 파이프라인 스테이지들(340)의 다른 스테이지 내에 있다.
이미지 융합 프로세싱 회로(444)는 와핑된 이미지(430)의 스케일링되지 않은 단일 컬러 버전에 관련된 와핑된 이미지 데이터(434)의 일부분과 프로세싱된 이미지(438)의 스케일링되지 않은 단일 컬러 버전에 관련된 이미지 데이터(442)의 일부분 사이의 픽셀 단위 블렌딩을 수행하여 융합된 이미지(446)의 스케일링되지 않은 단일 컬러 버전을 생성한다. 이미지 융합 프로세싱 회로(444)는 또한 (와핑된 이미지(430)를 다운스케일링함으로써 획득된) 다운스케일링된 와핑된 이미지와 관련된 와핑된 이미지 데이터(434)의 일부분과, (프로세싱된 이미지(438)를 다운스케일링함으로써 획득된) 대응하는 다운스케일링된 이미지에 관련된 이미지 데이터(442)의 일부분 사이의 픽셀 단위 블렌딩을 수행하여, 다수의 컬러 컴포넌트들을 포함하는 융합된 이미지의 제1 다운스케일링된 버전(448)을 생성한다. 제1 다운스케일링된 버전(448)은 스케일링되지 않은 단일 컬러 버전(446)의 픽셀 해상도의 1/4과 동일한 픽셀 해상도를 갖는다. 스케일링되지 않은 단일 컬러 버전(446) 및 제1 다운스케일링된 버전(448)은 추가 프로세싱 및 향상을 위해 포스트-프로세싱 회로(450) 상으로 전달된다. 이미지 융합 프로세싱 회로(444)는 도 5a에 도시된 다중-스케일 이미지 융합 회로(502) 및 도 5b에 도시된 이미지 융합 회로(503)를 포함한다. 이미지 융합 프로세싱 회로(444)의 구조 및 동작에 대한 더 상세한 사항들이 도 5a 및 도 5b, 그리고 도 6a 및 도 6b와 함께 아래에 상세히 제공된다.
포스트-프로세싱 회로(450)는 스케일링되지 않은 단일 컬러 버전(446) 및 제1 다운스케일링된 버전(448)의 포스트-프로세싱을 수행하여 포스트-프로세싱된 융합된 이미지(472)를 획득한다. 포스트-프로세싱 회로(450)는 컬러 프로세싱 스테이지(312)의 일부일 수 있다. 포스트-프로세싱 회로(450)는 서브-대역 분할기(SBS) 회로(452), 로컬 톤 맵핑(LTM) 회로(458), 로컬 콘트라스트 향상(LCE) 회로(462), 서브-대역 병합기(SBM) 회로(466) 및 샤프닝 회로(470)를 포함한다. SBS 회로(452)는 스케일링되지 않은 단일 컬러 버전(446)의 서브-대역 분할을 수행하여, SBM 회로(466) 상으로 전달되는 스케일링되지 않은 단일 컬러 버전(454)의 고주파수 컴포넌트를 생성한다. SBS 회로(452)는 또한 제1 다운스케일링된 버전(448)의 서브-대역 분할을 수행하여, LTM 회로(458) 상으로 전달되는 제1 다운스케일링된 버전(456)의 저주파수 컴포넌트를 생성한다. LTM 회로(458)는 제1 다운스케일링된 버전(456)의 저주파수 컴포넌트에 대해 LTM 동작을 수행하여, LCE 회로(462) 상으로 전달되는 제1 다운스케일링된 버전(460)의 저주파수 컴포넌트의 프로세싱된 버전을 생성한다. LCE 회로(462)는 제1 다운스케일링된 버전(460)의 저주파수 컴포넌트의 프로세싱된 버전의 단일 컬러 컴포넌트(예컨대, 루마 컴포넌트)의 로컬 광도 콘트라스트 향상을 수행하여 융합된 이미지(464)의 제1 다운스케일링된 버전의 향상된 버전을 생성한다. SBM 회로(466)는 스케일링되지 않은 단일 컬러 버전(454)의 고주파수 컴포넌트 및 융합된 이미지(464)의 제1 다운스케일링된 버전의 향상된 버전을 병합하여, 샤프닝 회로(470) 상으로 전달되는 병합된 융합된 이미지 데이터(468)를 생성한다. 샤프닝 회로(470)는 병합된 융합된 이미지 데이터(468)의 단일 컬러 컴포넌트(예컨대, 루마 컴포넌트)에 대해 샤프닝(예컨대, 광도 콘트라스트 향상)을 수행하여 포스트-프로세싱된 융합된 이미지(472)를 생성한다. 포스트-프로세싱된 융합된 이미지(472)는 출력 리스케일(314)로, 그리고 이어서 출력 인터페이스(316)로 전달될 수 있다. 포스트-프로세싱 회로(450)에서 수행되는 프로세싱은 단지 일례이며, 다양한 다른 포스트-프로세싱이 포스트 프로세싱 회로(450)에서의 프로세싱에 대한 대안으로서 또는 추가로서 수행될 수 있다.
이미지 융합 프로세싱을 위한 예시적인 아키텍처
도 5a는 일 실시예에 따른, 이미지 융합 프로세싱 회로(444)의 일부로서 다중-스케일 이미지 융합 회로(502)의 상세한 블록도이다. 다중-스케일 이미지 융합 회로(520)는 와핑된 이미지(430)의 각각의 다운스케일링된 다중-컬러 버전과 프로세싱된 이미지(438)의 대응하는 다운스케일링된 다중-컬러 버전 사이의 픽셀 단위 블렌딩을 수행하여 융합된 이미지의 다수의 다운스케일링된 버전들의 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성한다. 다중-스케일 이미지 융합 회로(502)는 융합된 이미지의 다수의 다운스케일링된 버전들을 업스케일링 및 누산함으로써 융합된 이미지(448)의 제1 다운스케일링된 버전을 생성한다. 융합된 이미지(448)의 제1 다운스케일링된 버전은 다수의 컬러 컴포넌트들을 포함하고, 융합된 이미지(446)의 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는다.
다중-스케일 이미지 융합 회로(502)는 와핑된 이미지 데이터(434)(피라미드 생성기(432)에 의해, 와핑된 이미지(430)를 다운스케일링함으로써 획득됨)의 일부로서 다운스케일링된 다중-컬러 와핑된 이미지들의 저주파수 컴포넌트들(LF(1)1, LF(2)1, …, LF(N)1)을 수신하며, 여기서 N은 와핑된 이미지(430)에 대해 수행되는 다운샘플링의 레벨들을 나타낸다(예컨대, N=6). 다중-스케일 이미지 융합 회로(502)는 이미지 데이터(442)(피라미드 생성기(440)에 의해, 프로세싱된 이미지(438)를 다운스케일링함으로써 획득됨)의 일부로서 다운스케일링된 다중-컬러 이미지들의 저주파수 컴포넌트들(LF(1)2, LF(2)2, …, LF(N)2)을 추가로 수신한다. 최저 레벨의 해상도를 갖는 다운스케일링된 와핑된 이미지 (LF(N)1)가 다운스케일링된 와핑된 이미지 데이터(508)로서 멀티플렉서(504)를 통해 계산기 회로(512) 상으로 먼저 전달된다. 최저 레벨의 해상도를 갖는 다운스케일링된 이미지(LF(N)2)가 또한 다운스케일링된 이미지 데이터(510)로서 멀티플렉서(506)를 통해 계산기 회로(512) 상으로 전달된다.
계산기 회로(512)는 다운스케일링된 와핑된 이미지 데이터(508)의 패치 내의 픽셀들과 다운스케일링된 이미지 데이터(510)의 패치 내의 대응하는 픽셀들 사이의 광도 거리(photometric distance)들을 프로세싱함으로써 픽셀에 대한 패치 거리를 결정한다. 다운스케일링된 와핑된 이미지 데이터(508)의 패치는 중심 픽셀로서의 픽셀 및 그 픽셀로부터 정의된 공간 거리 내의 다른 픽셀들을 포함한다. 패치 거리는 2개의 패치들 사이의 유사성의 척도를 나타낸다. 계산기 회로(512)는 패치 거리를 두 패치들 내의 대응하는 픽셀들 사이의 유클리드 거리들의 합으로서 계산한다. 5x5 패치들의 경우, 계산기 회로(512)는 다음과 같이 패치 거리를 계산한다:
[수식 1]
Figure pct00001
(여기서,
Figure pct00002
는 제1 및 제2 패치의 픽셀들(
Figure pct00003
Figure pct00004
)사이의 유클리드 거리이고; ij 는 5x5 패치 윈도우 내의 인덱스들이다. 선택적으로, 패치 크기는 각각의 스케일에 대해 독립적으로 3x3 또는 1x1(단일 픽셀 모드)로 감소될 수 있으며, 이 경우에 수식 1의 합산 인덱스들 ij 는 그에 따라 조정된다.
대안적으로, 계산기 회로(512)는 재귀적 방식으로 패치 거리를 계산한다. 픽셀 n에 대한 PD(n)이 알려져 있는 경우, 계산기 회로(512)는 다음과 같이 픽셀 n의 다음 우측 수평 이웃에 대한 PD(n+1)을 계산한다:
[수식 2]
Figure pct00005
계산기 회로(512)는 또한 다운스케일링된 와핑된 이미지 데이터(508)의 패치의 픽셀 값들과 다운스케일링된 이미지 데이터(510)의 패치의 픽셀 값들 사이의 교차 분산을 결정함으로써 픽셀에 대한 교차-상관 값(예컨대, 정규화된 교차-상관)을 결정한다. 정규화된 교차-상관은 패치 유사성의 이차 척도로서 사용된다. 계산기 회로(512)는 다음과 같이 정규화된 교차-상관(예컨대, -1과 1 사이의 계수)을 계산한다:
[수식 3]
Figure pct00006
여기서, VAR1VAR2는 패치들의 분산들이고, VARC 는 그들의 교차 분산이다.
계산기 회로(512)는 2개의 유사성 측정치들의 함수로서 픽셀에 대한 블렌드 파라미터(514), 패치 거리(예컨대, 수식 1 또는 수식 2에 의해 결정된 PD), 및 교차-상관 값(예컨대, 수식 3에 의해 결정된 정규화된 교차-상관 NCC)을 결정한다. 패치들이 더 유사한 경우, 고스팅(ghosting)을 피하기 위해 더 높은 레벨의 블렌딩이 수행되고, 그 반대도 마찬가지이다. 패치 거리 유사성 스코어(SPD)는 다음과 같이 주어진다:
[수식 4]
SPD = F1(PD/예상되는 노이즈 표준 분산).
수식 4에 따르면, SPD는 예상되는 노이즈보다 덜 상이한 패치들이 유사함("가까움")을 나타낸다. NCC 유사성 스코어(SNCC)는 다음과 같이 주어진다:
[수식 5]
SNCC = F2(1 - max (0, NCC)),
여기서 함수들(F1 및 F2)은 비-선형 함수들, 예컨대 정의된 슬로프(slope) 및 니(knee) 파라미터들을 사용하여 에뮬레이션될 수 있는 가우스 형상의 함수들이다. 최종 유사성 스코어(S)는 SPD와 SNCC의 합으로서 결정될 수 있다. 예를 들어, 최종 유사성 스코어는 다음과 같이 결정될 수 있다:
[수식 6]
S = min(1, SPD+ SNCC)
대안적으로, 최종 유사성 스코어(S)는 SPD 및 SNCC의 일부 다른 조합에 기초하여 결정될 수 있다.
계산기 회로(512)는 기준(제1) 이미지의 픽셀에 대한 가중치(W1) 및 제2 이미지의 픽셀에 대한 가중치(W2*S)의 정규화된 조합으로서 픽셀에 대한 블렌드 파라미터(514)(w)를 결정한다. W1 및 W2는 프로그래밍가능 융합 가중치들이다. 패치들이 완전히 다른 경우, W2=0이고 기준 이미지로부터의 픽셀만이 사용된다. 패치들이 완전히 유사한 경우, 가중치들(W1, W2)을 사용한 융합이 수행된다. 고스트 억제는 다른 제2 이미지 영역들로부터 유래하는 픽셀들의 가중치들을 (일부 경우에 0으로) 감소시킴으로써 달성된다. 블렌드 파라미터(514)(w)는 하기에 의해 주어진다:
[수식 7]
w = W1/(W1 + W2*S)
과다노출된 픽셀들 및 그들의 파생물들이 블렌딩에 사용되지 않으므로 블렌드 파라미터(514)는 클리핑 마커 회로(424)에 의해 마킹된 픽셀들(예컨대, 클리핑 마커들)에 대해 0으로 설정되고, 따라서 높은 동적 범위 경우에 하이라이트의 적절한 처리를 달성한다.
픽셀에 대한 블렌드 파라미터(514)는 블렌딩 회로(516) 상으로 전달된다. 블렌딩 회로(516)는, 업스케일링/누산기 회로(544) 상으로 전달되는 최저 레벨의 해상도를 갖는 다운스케일링된 융합된 이미지(LF(N)f)의 픽셀에 대한 블렌딩된 픽셀 값을 생성하기 위해, 픽셀에 대한 블렌드 파라미터(514)를 사용하여, 다운스케일링된 와핑된 이미지(LF(N)1)의 픽셀의 픽셀 값(518)(멀티플렉서(520)를 통해 블렌딩 회로(516) 상으로 전달됨)을 다운스케일링된 이미지(LF(N)2)의 대응하는 픽셀의 픽셀 값(522)(멀티플렉서(524)를 통해 블렌딩 회로(516) 상으로 전달됨)과 블렌딩한다. 블렌딩 회로(516)는 블렌드 파라미터(514)(가중치)(w(i,j))를 사용하여 이미지들 둘 모두에서 동일한 공간 좌표(i,j)에 대응하는 2개의 상이한 이미지들(예컨대, 이미지들(LF(N)1, LF(N)2)) 내의 한 쌍의 픽셀 값들(x 1 (i,j) x 2 (i,j))을 블렌딩하여, 하기에 의해 주어지는 바와 같은 블렌딩된 픽셀 값(b(i,j))을 획득한다.
[수식 8]
b(i,j)= w(i,j)* x1(i,j)+(1- w(i,j))* x2(i,j)
다운스케일링된 와핑된 이미지(LF(N)1) 및 다운스케일링된 이미지(LF(N)2)는 또한 다운스케일링된 와핑된 이미지 데이터(508) 및 다운스케일링된 이미지 데이터(510)로서 (멀티플렉서들(504, 506)을 통해) 업스케일링 회로(526) 상으로 전달된다. 업스케일링 회로(526)는 수평 및 수직 치수들 둘 모두에서 다운스케일링된 와핑된 이미지 데이터(508)를 2회 업스케일링하여 업스케일링된 와핑된 이미지 데이터(528)를 생성한다(스케일 N-1). 멀티플렉서(530)는 다운스케일링된 와핑된 이미지 데이터(532)로서 다운스케일링된 와핑된 이미지(LF(N-1)1)를 전달한다. 업스케일링된 와핑된 이미지 데이터(528)의 픽셀 값들이 다운스케일링된 와핑된 이미지 데이터(532)(스케일 N-1)의 대응하는 픽셀 값들로부터 감산되어, 픽셀 값들(518)로서 (멀티플렉서(520)를 통해) 계산기 회로(512) 상으로 그리고 블렌딩 회로(516) 상으로 전달되는 다운스케일링된 와핑된 이미지의 고주파수 컴포넌트(HF(N-1)1)를 나타내는 와핑된 이미지 데이터(534)를 생성한다. 업스케일링 회로(526)는 또한 수평 및 수직 치수들 둘 모두에서 다운스케일링된 이미지 데이터(510)를 2회 업스케일링하여 업스케일링된 이미지 데이터(536)를 생성한다(스케일 N-1). 멀티플렉서(538)는 다운스케일링된 이미지(LF(N-1)2)를 다운스케일링된 이미지 데이터(540)로서 전달한다. 업스케일링된 이미지 데이터(536)의 픽셀 값들이 다운스케일링된 이미지 데이터(540)(스케일 N-1)로부터 감산되어, 픽셀 값들(522)로서 (멀티플렉서(524)를 통해) 계산기 회로(512) 상으로 그리고 블렌딩 회로(516) 상으로 전달되는 다운스케일링된 이미지의 고주파수 컴포넌트(HF(N-1)2)를 나타내는 이미지 데이터(542)를 생성한다.
계산기 회로(512)는, 수식 1 또는 수식 2에 의해 정의된 바와 같이, 와핑된 이미지 데이터(534)(예컨대, 다운스케일링된 와핑된 이미지의 고주파수 컴포넌트(HF(N-1)1))의 패치 내의 픽셀들과 이미지 데이터(542)(예컨대, 다운스케일링된 이미지의 고주파수 컴포넌트(HF(N-1)2))의 패치 내의 대응하는 픽셀들 사이의 광도 거리들을 프로세싱함으로써 와핑된 이미지 데이터(534)의 픽셀에 대한 패치 거리를 결정한다. 다운스케일링된 와핑된 이미지(LF(N-1)1)는 다운스케일링된 와핑된 이미지 데이터(508)로서 멀티플렉서(504)를 통해 계산기 회로(512) 상으로 추가로 전달된다. 다운스케일링된 이미지(LF(N-1)2)가 또한 다운스케일링된 이미지 데이터(510)로서 멀티플렉서(506)를 통해 계산기 회로(512) 상으로 전달된다. 수식 3에 정의된 바와 같이, 계산기 회로(512)는 다운스케일링된 와핑된 이미지 데이터(508)(예컨대, 다운스케일링된 와핑된 이미지의 저주파수 컴포넌트(LF(N-1)1))의 패치의 픽셀 값들과 다운스케일링된 이미지 데이터(510)(예컨대, 다운스케일링된 이미지의 저주파수 컴포넌트(LF(N-1)2))의 패치의 픽셀 값들 사이의 교차 분산을 결정함으로써 픽셀에 대한 교차-상관 값(예컨대, 정규화된 교차-상관)을 결정한다.
계산기 회로(512)는, 예컨대 위에서 수식 4 내지 수식 7에 따라 정의된 바와 같은, 그러나 다운스케일링된 와핑된 이미지의 고주파수 컴포넌트(HF(N-1)1) 및 다운스케일링된 이미지의 고주파수 컴포넌트(HF(N-1)2)에 대한, 패치 거리 및 교차-상관 값의 함수로서 픽셀들에 대한 블렌드 파라미터(514)를 결정한다. 픽셀에 대한 블렌드 파라미터(514)는 블렌딩 회로(516) 상으로 전달된다. 블렌딩 회로(516)는, (수식 8에 의해 정의된 바와 같은) 픽셀에 대한 블렌드 파라미터(514)를 사용하여, 다운스케일링된 와핑된 이미지의 고주파수 컴포넌트(HF(N-1)1)의 픽셀의 픽셀 값(518)을 다운스케일링된 이미지의 고주파수 컴포넌트(HF(N-1)2)의 대응하는 픽셀의 픽셀 값(522)과 블렌딩하여, 업스케일링/누산기 회로(544) 상으로 전달되는 다운스케일링된 융합된 이미지의 고주파수 컴포넌트(HF(N-1)f)의 픽셀에 대한 블렌딩된 픽셀 값을 생성한다. 블렌딩 파라미터(514)를 결정하고 업스케일링 회로(526)에 의해 업스케일링하고 블렌딩 회로(516)에 의해 픽셀 단위 블렌딩하는 이 프로세스는, 융합된 이미지의 제1 다운스케일링된 버전의 고주파수 컴포넌트(HF(1)f)가 블렌딩 회로(516)의 출력에서 생성되어 업스케일링/누산기 회로(544) 상으로 전달될 때까지 재귀적으로 반복된다.
도 6a는 일 실시예에 따른, 도 5a에 도시된 재귀적 이미지 융합 프로세싱의 일부로서 다운스케일링된 이미지들을 업스케일링하는 것을 도시하는 개념도이다. 도 6a의 예에서, 입력 이미지(예컨대, 와핑된 이미지(430) 또는 프로세싱된 이미지(438))는, 다중-스케일 이미지 융합 회로(502) 내로 입력되는 다운스케일링된 이미지들의 저주파수 컴포넌트들(LF(6), LF(5), …, LF(1))을 생성하기 위해 (예컨대, 피라미드 생성기(432) 또는 피라미드 생성기(440)에 의해) 6회 다운스케일링되는 것으로 가정된다. 업스케일링 회로(526)는 다운스케일링된 이미지의 저주파수 컴포넌트(LF(6))를 수평 및 수직 치수들 둘 모두에서 2회 업스케일링하고, 그의 업스케일링된 버전을 다운스케일링된 이미지의 저주파수 컴포넌트(LF(5))로부터 감산하여, 계산기 회로(512) 및 블렌딩 회로(516) 상으로 전달되는 다운스케일링된 이미지의 고주파수 컴포넌트(HF(5))(예컨대, 와핑된, 그리고 와핑되지 않은 이미지 데이터(534, 542))를 생성한다. 이어서, 업스케일링 회로(526)는 다운스케일링된 이미지의 저주파수 컴포넌트(LF(5))를 수평 및 수직 치수들 둘 모두에서 2회 업스케일링하고, 그의 업스케일링된 버전을 다운스케일링된 이미지의 저주파수 컴포넌트(LF(4))로부터 감산하여, 계산기 회로(512) 및 블렌딩 회로(516) 상으로 전달되는 다운스케일링된 이미지의 고주파수 컴포넌트(HF(4))(예컨대, 와핑 및 비-와핑 이미지 데이터(534, 542))를 생성한다. 이 프로세스는, 제1 다운스케일링된 버전의 고주파수 컴포넌트(HF(1))(예컨대, 와핑된 그리고 와핑되지 않은 이미지 데이터(534, 542))가 생성되고 계산기 회로(512) 및 블렌딩 회로(516) 상으로 전달될 때까지 업스케일링 회로(526)에 의해 반복된다.
다시 도 5a를 참조하면, 업스케일링/누산기 회로(544)는 융합된 다운스케일링된 버전들(LF(N)f, HF(N-1)f, HF(N-2)f, …, HF(1)f)을 사용하여 융합된 이미지의 제1 다운스케일링된 버전(448)을 생성하기 위해 이미지 복원의 프로세스를 수행한다. 이 프로세스에 대한 더 상세한 내용은 도 6b를 참조하여 본 명세서에 기술된다.
도 6b는 일 실시예에 따른, 이미지 융합 프로세싱의 일부로서 다운스케일링된 이미지들을 재귀적으로 업스케일링 및 누산하는 것을 도시한 개념도이다. 도 6b의 예에서, 블렌딩 회로(516)는 업스케일링/누산기 회로(544) 상으로 전달되는 융합된 다운스케일링된 버전들(LF(6)f, HF(5)f, HF(4)f, …, HF(1)f)을 생성한다. 업스케일링/누산기 회로(544)는 융합된 다운스케일링된 버전 (LF(6)f)을 수평 및 수직 치수들 둘 모두에서 2회 업스케일링하고 그의 업스케일링된 버전을 융합된 다운스케일링된 버전(HF(5)f)과 합산하여, 다운스케일링된 융합된 이미지(546), 예컨대 F(5)를 생성한다. 업스케일링/누산기 회로(544)는 다운스케일링된 융합된 이미지(546)(예컨대, F(5))를 수평 및 수직 치수들 둘 모두에서 2회 업스케일링하고 그의 업스케일링된 버전을 융합된 다운스케일링된 버전(HF(4)f)과 합산하여, 다운스케일링된 융합된 이미지(546), 예컨대 F(4)를 생성한다. 이 프로세스는 업스케일링/누산기 회로(544)가 융합된 이미지(448)의 제1 다운스케일링된 버전, 예컨대, 다수의 컬러 컴포넌트들을 포함하는 융합된 이미지(F(1))를 생성할 때까지 반복된다.
도 5b는 일 실시예에 따른, 이미지 융합 프로세싱 회로(444)의 일부로서 이미지 융합 회로(503)의 상세한 블록도이다. 이미지 융합 회로(503)는 와핑된 이미지(430)의 스케일링되지 않은 단일 컬러 버전(예컨대, 루나 컴포넌트)(LFY(0)1)과 프로세싱된 이미지(438)의 스케일링되지 않은 단일 컬러 버전(예컨대, 루나 컴포넌트)(LFY(0)2) 사이의 픽셀 단위 블렌딩을 수행하여, 융합된 이미지(446)의 스케일링되지 않은 단일 컬러 버전을 생성한다. 이미지 융합 회로(503)는, 와핑된 이미지 데이터(434) 및 이미지 데이터(442)의 일부로서, 스케일링되지 않은 단일 컬러 버전(LFY(0)1) 및 스케일링되지 않은 단일 컬러 버전(LFY(0)2)을 각자 수신한다. 이미지 융합 회로(503)는 와핑된 이미지 데이터(434) 내에서, 피라미드 생성기(432)에 의해 와핑된 이미지(430)를 다운스케일링함으로써 획득된 다운스케일링된 와핑된 이미지(LF(1)1)를 추가로 수신한다. 이미지 융합 회로(503)는 또한 이미지 데이터(442) 내에서, 피라미드 생성기(440)에 의해 프로세싱된 이미지(438)를 다운스케일링함으로써 획득된 다운스케일링된 이미지(LF(1)2)를 수신한다.
루마 추출기 회로(548)는 다운스케일링된 와핑된 이미지(LF(1)1)로부터 단일 컬러 컴포넌트(루마 컴포넌트)를 추출하여 업스케일링 회로(552) 상으로 전달되는 다운스케일링된 와핑된 이미지(550)의 단일 컬러 버전을 생성한다. 업스케일링 회로(552)는 다운스케일링된 와핑된 이미지(550)의 단일 컬러 버전을 공간 치수들 둘 모두에서 2회 업스케일링하여, 업스케일링된 와핑된 이미지(554)의 단일 컬러 버전을 생성한다. 업스케일링된 와핑된 이미지(554)의 단일 컬러 버전의 픽셀 값들이 스케일링되지 않은 단일 컬러 버전(LFY(0)1)의 대응하는 픽셀 값들로부터 감산되어 계산기 회로(564) 및 블렌딩 회로(568) 상으로 전달되는 와핑된 이미지의 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)1)를 생성한다. 스케일링되지 않은 단일 컬러 버전(LFY(0)1)이 또한 계산기 회로(564) 상으로 전달된다.
루마 추출기 회로(556)는 다운스케일링된 이미지(LF(1)2)로부터 단일 컬러 컴포넌트(루마 컴포넌트)를 추출하여 업스케일링 회로(560) 상으로 전달되는 다운스케일링된 이미지(558)의 단일 컬러 버전을 생성한다. 업스케일링 회로(560)는 다운스케일링된 이미지(558)의 단일 컬러 버전을 공간 치수들 둘 모두에서 2회 업스케일링하여 업스케일링된 이미지(562)의 단일 컬러 버전을 생성한다. 업스케일링된 이미지(562)의 단일 컬러 버전의 픽셀 값들은 스케일링되지 않은 단일 컬러 버전(LFY(0)2)의 대응하는 픽셀 값들로부터 감산되어 계산기 회로(564) 및 블렌딩 회로(568) 상으로 전달되는 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)2)를 생성한다. 스케일링되지 않은 단일 컬러 버전(LFY(0)2)이 또한 계산기 회로(564) 상으로 전달된다.
수식 1 또는 수식 2에 의해 정의된 바와 같이, 계산기 회로(564)는 와핑된 이미지의 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)1)의 패치 내의 픽셀들과 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)2)의 패치 내의 대응하는 픽셀들 사이의 광도 거리들을 프로세싱함으로써 픽셀에 대한 패치 거리를 결정한다. 계산기 회로(564)는, 계산기 회로(512)가 다중-컬러 이미지들을 프로세싱하는 반면 계산기 회로(564)가 단일 컬러 이미지들을 프로세싱하는 것을 제외하고는 다중-스케일 이미지 융합 회로(502)의 계산기 회로(512)와 동일한 방식으로 동작한다. 계산기 회로(564)는 또한 수식 3에 의해 정의된 바와 같이 스케일링되지 않은 단일 컬러 버전(LFY(0)1)의 패치의 픽셀 값들과 스케일링되지 않은 단일 컬러 버전(LFY(0)2)의 패치의 대응하는 픽셀 값들 사이의 교차 분산을 결정함으로써 픽셀에 대한 교차-상관 값을 결정한다. 계산기 회로(564)는 패치 거리 및 교차-상관 값의 함수로서 픽셀에 대한 블렌드 파라미터(566)를 결정한다. 픽셀에 대한 블렌드 파라미터(566)는 블렌딩 회로(568) 상으로 전달된다. 블렌딩 회로(568)는, (수식 8에 의해 정의된 바와 같은) 픽셀에 대한 블렌드 파라미터(566)를 사용하여, 와핑된 이미지의 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)1)의 픽셀의 픽셀 값을 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)2)의 대응하는 픽셀의 픽셀 값과 블렌딩하여, 융합된 이미지의 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)f)의 픽셀에 대한 블렌딩된 픽셀 값을 생성한다. 블렌딩 회로(568)는, 블렌딩 회로(516)가 다중-컬러 이미지들의 픽셀 단위 블렌딩을 수행하는 반면 블렌딩 회로(568)가 단일 컬러 이미지들의 픽셀 단위 블렌딩을 수행하는 것을 제외하고는 다중-스케일 이미지 융합 회로(502)의 블렌딩 회로(516)와 동일한 방식으로 동작한다.
이미지 융합 회로(503)는 또한 다중-스케일 이미지 융합 회로(502)에 의해 생성된 융합된 이미지(448)의 제1 다운스케일링된 버전을 수신한다. 루마 추출기 회로(570)는 융합된 이미지(448)의 제1 다운스케일링된 버전으로부터 단일 컬러 컴포넌트(루마 컴포넌트)를 추출하여, 업스케일링 회로(574) 상으로 전달되는 융합된 이미지(572)의 제1 다운스케일링된 버전의 단일 컬러 버전을 생성한다. 업스케일링 회로(574)는 융합된 이미지(572)의 제1 다운스케일링된 버전의 단일 컬러 버전을 공간 치수들(수평 및 수직 치수들) 둘 모두에서 2회 업스케일링하여, 업스케일링된 융합된 이미지(576)의 단일 컬러 버전을 생성한다. 업스케일링된 융합된 이미지(576)의 단일 컬러 버전의 픽셀 값들은 융합된 이미지의 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)f)의 대응하는 픽셀 값들과 합산되어 융합된 이미지(446)의 스케일링되지 않은 단일 컬러 버전을 생성한다.
도 6b에 추가로 도시된 바와 같이, 단일 컬러 컴포넌트(예컨대, 루마 컴포넌트)가 융합된 이미지(F(1))의 제1 다운스케일링된 다중-컬러 버전으로부터 (루마 추출기(570)를 통해) 추출되어 융합된 이미지(FY(1))의 제1 다운스케일링된 단일 컬러 버전을 생성한다. 융합된 이미지의 제1 다운스케일링된 단일 컬러 버전이 (업스케일링 회로(574)를 통해) 업스케일링되고, 융합된 이미지의 스케일링되지 않은 단일 컬러 버전의 고주파수 컴포넌트(HFY(0)f)에 합산되어, 융합된 이미지의 스케일링되지 않은 단일 컬러 버전(FY(0)), 예컨대 스케일링되지 않은 단일 컬러 버전(446)을 생성한다.
이미지 융합 프로세싱을 수행하기 위한 예시적인 프로세스
도 7은 일 실시예에 따른, 이미지 융합 프로세싱의 방법을 도시하는 흐름도이다. 방법은 추가적인 또는 더 적은 단계들을 포함할 수 있고, 단계들은 상이한 순서들로 수행될 수 있다. 도 5b를 참조로 기술된 바와 같은 이미지 융합 프로세싱 회로(444)의 이미지 융합 프로세싱 회로(503)는, 융합된 이미지의 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 제1 이미지의 스케일링되지 않은 단일 컬러 버전을 제2 이미지의 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하며(710), 제1 이미지 및 제2 이미지는 상이한 노출 시간들로 동일한 장면을 캡처한다.
도 5a를 참조로 기술된 바와 같은 이미지 융합 프로세싱 회로(444)의 다중-스케일 이미지 융합 프로세싱 회로(502)는, 융합된 이미지의 다수의 다운스케일링된 버전들의 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성하기 위해 제1 이미지의 다운스케일링된 다중-컬러 버전을 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩한다(720). 다중-스케일 이미지 융합 프로세싱 회로(502)는 융합된 이미지의 다수의 다운스케일링된 버전들을 업스케일링 및 누산함으로써 융합된 이미지의 제1 다운스케일링된 버전을 생성한다(730). 제1 다운스케일링된 버전은 다수의 컬러 컴포넌트들을 포함하고 융합된 이미지의 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는다.
특정 실시예들 및 애플리케이션들이 예시 및 설명되었지만, 본 발명은 본원에서 개시되는 정확한 구성 및 컴포넌트로 제한되지 않으며, 당업자에게 자명하게 될 다양한 수정들, 변경들, 및 변화들이, 본 개시내용의 사상 및 범주로부터 벗어나지 않으면서, 본원에서 개시되는 방법 및 장치의 배열, 동작, 및 세부사항들에서 이루어질 수 있다는 것이 이해되어야 한다.

Claims (20)

  1. 이미지 융합 프로세싱을 위한 장치로서,
    융합된 이미지의 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 제1 이미지의 스케일링되지 않은 단일 컬러 버전을 제2 이미지의 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하도록 구성된 이미지 융합 회로 - 상기 제1 이미지 및 상기 제2 이미지는 상이한 노출 시간들로 동일한 장면을 캡처함 -; 및
    다중-스케일 이미지 융합 회로를 포함하고, 상기 다중-스케일 이미지 융합 회로는,
    상기 융합된 이미지의 복수의 다운스케일링된 버전들의 상기 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성하기 위해 상기 제1 이미지의 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩하고,
    상기 융합된 이미지의 상기 복수의 다운스케일링된 버전들을 업스케일링 및 누산함으로써 상기 융합된 이미지의 제1 다운스케일링된 버전을 생성하도록 구성되며, 상기 제1 다운스케일링된 버전은 복수의 컬러 컴포넌트들을 포함하고 상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는, 장치.
  2. 제1항에 있어서, 상기 이미지 융합 회로는,
    상기 스케일링되지 않은 단일 컬러 버전의 제1 패치 및 상기 다른 스케일링되지 않은 단일 컬러 버전의 제2 패치를 프로세싱함으로써 상기 스케일링되지 않은 단일 컬러 버전을 상기 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하도록 추가로 구성되는, 장치.
  3. 제2항에 있어서, 상기 이미지 융합 회로는,
    계산기 회로 - 상기 계산기 회로는,
    상기 제1 패치 내의 픽셀들과 상기 제2 패치 내의 대응하는 픽셀들 사이의 광도 거리(photometric distance)들을 프로세싱함으로써 패치 거리를 결정하고,
    상기 제1 패치의 픽셀 값들과 상기 제2 패치의 픽셀 값들 사이의 교차 분산(cross variance)을 결정함으로써 교차-상관(cross-correlation) 값을 결정하고,
    상기 패치 거리 및 상기 교차-상관 값의 함수로서 블렌드 파라미터를 결정하도록 구성됨 -; 및
    상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 상기 블렌드 파라미터를 사용하여 상기 스케일링되지 않은 단일 컬러 버전을 상기 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하도록 구성된 블렌딩 회로를 추가로 포함하는, 장치.
  4. 제1항에 있어서, 상기 다중-스케일 이미지 융합 회로는,
    상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전의 제1 패치와 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전의 제2 패치를 프로세싱함으로써 상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전과 블렌딩하도록 추가로 구성되는, 장치.
  5. 제4항에 있어서, 상기 다중-스케일 이미지 융합 회로는,
    상기 제1 및 제2 이미지들의 대응하는 다운스케일링된 다중-컬러 버전들을 순차적으로 업스케일링하여 상기 제1 이미지의 복수의 다운스케일링된 다중-컬러 버전들 및 상기 제2 이미지의 복수의 다운스케일링된 다중-컬러 버전들을 생성하도록 구성된 업스케일링 회로;
    계산기 회로 - 상기 계산기 회로는,
    상기 제1 패치 내의 픽셀들과 상기 제2 패치 내의 대응하는 픽셀들 사이의 광도 거리들을 프로세싱함으로써 패치 거리를 결정하고,
    상기 제1 패치의 픽셀 값들과 상기 제2 패치의 픽셀 값들 사이의 교차 분산을 결정함으로써 교차-상관 값을 결정하고,
    상기 패치 거리 및 상기 교차-상관 값의 함수로서 블렌드 파라미터를 결정하도록 구성됨 -; 및
    상기 융합된 이미지의 상기 다운스케일링된 다중-컬러 버전을 생성하기 위해 상기 블렌드 파라미터를 사용하여 상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전과 블렌딩하도록 구성된 블렌딩 회로를 추가로 포함하는, 장치.
  6. 제5항에 있어서, 상기 계산기 회로는,
    상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전의 고주파수 컴포넌트의 상기 제1 패치 내의 상기 픽셀들과 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전의 고주파수 컴포넌트의 상기 제2 패치 내의 상기 픽셀들 사이의 상기 광도 거리들을 프로세싱함으로써 상기 패치 거리를 결정하고;
    상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전의 저주파수 컴포넌트의 상기 제1 패치와 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전의 저주파수 컴포넌트의 상기 제2 패치 사이의 상기 교차 분산을 결정함으로써 상기 교차-상관 값을 결정하도록 추가로 구성되는, 장치.
  7. 제5항에 있어서, 상기 계산기 회로는,
    상기 제1 패치의 상기 픽셀 값들의 분산과 상기 제2 패치의 상기 픽셀 값들의 분산을 이용하여 상기 교차 분산을 정규화함으로써 상기 교차-상관 값의 정규화된 버전을 결정하고,
    상기 패치 거리 및 상기 교차-상관 값의 상기 정규화된 버전의 함수로서 상기 블렌드 파라미터를 결정하도록 추가로 구성되는, 장치.
  8. 제1항에 있어서, 상기 융합된 이미지의 상기 제1 다운스케일링된 버전은 상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전의 상기 픽셀 해상도의 1/4과 동일한 픽셀 해상도를 갖는, 장치.
  9. 제1항에 있어서, 상기 장치는,
    상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전 및 상기 융합된 이미지의 상기 제1 다운스케일링된 버전에 대해 서브-대역 분할 동작들을 수행하도록 구성된 서브-대역 분할기(SBS; sub-band splitter) 회로를 추가로 포함하는, 장치.
  10. 이미지 융합 프로세싱 방법으로서,
    융합된 이미지의 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 제1 이미지의 스케일링되지 않은 단일 컬러 버전을 제2 이미지의 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하는 단계 - 상기 제1 이미지 및 상기 제2 이미지는 상이한 노출 시간들로 동일한 장면을 캡처함 -;
    상기 융합된 이미지의 복수의 다운스케일링된 버전들의 상기 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성하기 위해 상기 제1 이미지의 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩하는 단계; 및
    상기 융합된 이미지의 상기 복수의 다운스케일링된 버전들을 업스케일링 및 누산함으로써 상기 융합된 이미지의 제1 다운스케일링된 버전을 생성하는 단계를 포함하며, 상기 제1 다운스케일링된 버전은 복수의 컬러 컴포넌트들을 포함하고 상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는, 방법.
  11. 제10항에 있어서,
    상기 스케일링되지 않은 단일 컬러 버전의 제1 패치 및 상기 다른 스케일링되지 않은 단일 컬러 버전의 제2 패치를 프로세싱함으로써 상기 스케일링되지 않은 단일 컬러 버전을 상기 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하는 단계를 추가로 포함하는, 방법.
  12. 제11항에 있어서,
    상기 제1 패치 내의 픽셀들과 상기 제2 패치 내의 대응하는 픽셀들 사이의 광도 거리들을 프로세싱함으로써 패치 거리를 결정하는 단계;
    상기 제1 패치의 픽셀 값들과 상기 제2 패치의 픽셀 값들 사이의 교차 분산을 결정함으로써 교차-상관 값을 결정하는 단계;
    상기 패치 거리 및 상기 교차-상관 값의 함수로서 블렌드 파라미터를 결정하는 단계; 및
    상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 상기 블렌드 파라미터를 사용하여 상기 스케일링되지 않은 단일 컬러 버전을 상기 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하는 단계를 추가로 포함하는, 방법.
  13. 제10항에 있어서,
    상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전의 제1 패치와 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전의 제2 패치를 프로세싱함으로써 상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전과 블렌딩하는 단계를 추가로 포함하는, 방법.
  14. 제13항에 있어서,
    상기 제1 및 제2 이미지들의 대응하는 다운스케일링된 다중-컬러 버전들을 순차적으로 업스케일링하여 상기 제1 이미지의 복수의 다운스케일링된 다중-컬러 버전들 및 상기 제2 이미지의 복수의 다운스케일링된 다중-컬러 버전들을 생성하는 단계;
    상기 제1 패치 내의 픽셀들과 상기 제2 패치 내의 대응하는 픽셀들 사이의 광도 거리들을 프로세싱함으로써 패치 거리를 결정하는 단계;
    상기 제1 패치의 픽셀 값들과 상기 제2 패치의 픽셀 값들 사이의 교차 분산을 결정함으로써 교차-상관 값을 결정하는 단계;
    상기 패치 거리 및 상기 교차-상관 값의 함수로서 블렌드 파라미터를 결정하는 단계; 및
    상기 융합된 이미지의 상기 다운스케일링된 다중-컬러 버전을 생성하기 위해 상기 블렌드 파라미터를 사용하여 상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전과 블렌딩하는 단계를 추가로 포함하는, 방법.
  15. 제14항에 있어서,
    상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전의 고주파수 컴포넌트의 상기 제1 패치 내의 상기 픽셀들과 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전의 고주파수 컴포넌트의 상기 제2 패치 내의 상기 픽셀들 사이의 상기 광도 거리들을 프로세싱함으로써 상기 패치 거리를 결정하는 단계;
    상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전의 저주파수 컴포넌트의 상기 제1 패치와 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전의 저주파수 컴포넌트의 상기 제2 패치 사이의 상기 교차 분산을 결정함으로써 상기 교차-상관 값을 결정하는 단계를 추가로 포함하는, 방법.
  16. 제14항에 있어서,
    상기 제1 패치의 상기 픽셀 값들의 분산과 상기 제2 패치의 상기 픽셀 값들의 분산을 이용하여 상기 교차 분산을 정규화함으로써 상기 교차-상관 값의 정규화된 버전을 결정하는 단계; 및
    상기 패치 거리 및 상기 교차-상관 값의 상기 정규화된 버전의 함수로서 상기 블렌드 파라미터를 결정하는 단계를 추가로 포함하는, 방법.
  17. 제10항에 있어서, 상기 융합된 이미지의 상기 제1 다운스케일링된 버전은 상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전의 상기 픽셀 해상도의 1/4과 동일한 픽셀 해상도를 갖는, 방법.
  18. 제10항에 있어서,
    상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전 및 상기 융합된 이미지의 상기 제1 다운스케일링된 버전에 대해 서브-대역 분할 동작들을 수행하는 단계를 추가로 포함하는, 방법.
  19. 시스템으로서,
    각각 복수의 컬러 컴포넌트들을 갖는 제1 이미지 및 제2 이미지를 획득하도록 구성된 이미지 센서 - 상기 제1 이미지 및 상기 제2 이미지는 상이한 노출 시간들로 동일한 장면을 캡처함 -; 및
    상기 이미지 센서에 결합된 이미지 신호 프로세서를 포함하고, 상기 이미지 신호 프로세서는 상기 복수의 컬러 컴포넌트들을 갖는 융합된 이미지를 획득하기 위해 상기 제1 이미지 및 상기 제2 이미지의 프로세싱을 수행하도록 구성되고, 상기 이미지 신호 프로세서는,
    상기 융합된 이미지의 스케일링되지 않은 단일 컬러 버전을 생성하기 위해 상기 제1 이미지의 스케일링되지 않은 단일 컬러 버전을 상기 제2 이미지의 다른 스케일링되지 않은 단일 컬러 버전과 블렌딩하도록 구성된 이미지 융합 회로; 및
    다중-스케일 이미지 융합 회로를 포함하고, 상기 다중-스케일 이미지 융합 회로는,
    상기 융합된 이미지의 복수의 다운스케일링된 버전들의 상기 융합된 이미지의 다운스케일링된 다중-컬러 버전을 생성하기 위해 상기 제1 이미지의 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 다운스케일링된 다중-컬러 버전과 블렌딩하고,
    상기 융합된 이미지의 상기 복수의 다운스케일링된 버전들을 업스케일링 및 누산함으로써 상기 융합된 이미지의 제1 다운스케일링된 버전을 생성하도록 구성되고, 상기 제1 다운스케일링된 버전은 상기 복수의 컬러 컴포넌트들을 포함하고 상기 융합된 이미지의 상기 스케일링되지 않은 단일 컬러 버전의 픽셀 해상도보다 낮은 픽셀 해상도를 갖는, 시스템.
  20. 제19항에 있어서, 상기 다중-스케일 이미지 융합 회로는,
    상기 제1 및 제2 이미지들의 대응하는 다운스케일링된 다중-컬러 버전들을 순차적으로 업스케일링하여 상기 제1 이미지의 복수의 다운스케일링된 다중-컬러 버전들 및 상기 제2 이미지의 복수의 다운스케일링된 다중-컬러 버전들을 생성하도록 구성된 업스케일링 회로;
    계산기 회로 - 상기 계산기 회로는,
    상기 제1 패치 내의 픽셀들과 상기 제2 패치 내의 대응하는 픽셀들 사이의 광도 거리들을 프로세싱함으로써 패치 거리를 결정하고,
    상기 제1 패치의 픽셀 값들과 상기 제2 패치의 픽셀 값들 사이의 교차 분산을 결정함으로써 교차-상관 값을 결정하고,
    상기 패치 거리 및 상기 교차-상관 값의 함수로서 블렌드 파라미터를 결정하도록 구성됨 -; 및
    상기 융합된 이미지의 상기 다운스케일링된 다중-컬러 버전을 생성하기 위해 상기 블렌드 파라미터를 사용하여 상기 제1 이미지의 상기 다운스케일링된 다중-컬러 버전을 상기 제2 이미지의 상기 다운스케일링된 다중-컬러 버전과 블렌딩하도록 구성된 블렌딩 회로를 추가로 포함하는, 시스템.
KR1020217024404A 2019-03-29 2019-11-25 이미지 융합 프로세싱 모듈 KR102512889B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/370,662 2019-03-29
US16/370,662 US10853928B2 (en) 2019-03-29 2019-03-29 Image fusion processing module
PCT/US2019/063059 WO2020205008A1 (en) 2019-03-29 2019-11-25 Image fusion processing module

Publications (2)

Publication Number Publication Date
KR20210110679A true KR20210110679A (ko) 2021-09-08
KR102512889B1 KR102512889B1 (ko) 2023-03-21

Family

ID=69005828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217024404A KR102512889B1 (ko) 2019-03-29 2019-11-25 이미지 융합 프로세싱 모듈

Country Status (4)

Country Link
US (2) US10853928B2 (ko)
KR (1) KR102512889B1 (ko)
CN (1) CN113508416B (ko)
WO (1) WO2020205008A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11470343B2 (en) * 2018-08-29 2022-10-11 Intel Corporation Apparatus and method for feature point tracking using inter-frame prediction
CN109335538B (zh) * 2018-10-25 2023-12-26 苏州金峰物联网技术有限公司 双环线交叉带分拣机、交叉带分拣系统及其分拣方法
US10997690B2 (en) * 2019-01-18 2021-05-04 Ramot At Tel-Aviv University Ltd. Method and system for end-to-end image processing
KR20200142883A (ko) * 2019-06-13 2020-12-23 엘지이노텍 주식회사 카메라 장치 및 카메라 장치의 이미지 생성 방법
CN112819748B (zh) * 2020-12-16 2023-09-19 机科发展科技股份有限公司 一种带钢表面缺陷识别模型的训练方法及装置
US11841926B2 (en) 2021-02-10 2023-12-12 Apple Inc. Image fusion processor circuit for dual-mode image fusion architecture
US20230206399A1 (en) * 2021-12-24 2023-06-29 Advanced Micro Devices, Inc. Low-latency architecture for full frequency noise reduction in image processing
US20230298212A1 (en) * 2022-03-17 2023-09-21 Advanced Micro Devices, Inc. Locking mechanism for image classification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120050474A1 (en) * 2009-01-19 2012-03-01 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
WO2018136373A1 (en) * 2017-01-20 2018-07-26 Microsoft Technology Licensing, Llc Image fusion and hdr imaging

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6879731B2 (en) 2003-04-29 2005-04-12 Microsoft Corporation System and process for generating high dynamic range video
US7680342B2 (en) * 2004-08-16 2010-03-16 Fotonation Vision Limited Indoor/outdoor classification in digital images
US7623683B2 (en) 2006-04-13 2009-11-24 Hewlett-Packard Development Company, L.P. Combining multiple exposure images to increase dynamic range
US8411938B2 (en) 2007-11-29 2013-04-02 Sri International Multi-scale multi-camera adaptive fusion with contrast normalization
US8525900B2 (en) 2009-04-23 2013-09-03 Csr Technology Inc. Multiple exposure high dynamic range image capture
US8128639B2 (en) 2010-05-20 2012-03-06 Restoration Robotics, Inc. Tools and methods for harvesting follicular units
CN102063712B (zh) 2010-11-04 2013-01-30 北京理工大学 基于子带结构的多曝光图像融合方法
US9342871B2 (en) 2014-05-30 2016-05-17 Apple Inc. Scene motion correction in fused image systems
WO2017205492A1 (en) 2016-05-25 2017-11-30 Gopro, Inc. Three-dimensional noise reduction
IL301071B2 (en) 2016-08-26 2024-04-01 Magic Leap Inc Continuous time warping and binocular time warping for virtual and augmented reality display systems and methods
CN109005392B (zh) * 2017-06-07 2021-01-12 联发科技股份有限公司 一种去马赛克方法及其电路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120050474A1 (en) * 2009-01-19 2012-03-01 Sharp Laboratories Of America, Inc. Stereoscopic dynamic range image sequence
WO2018136373A1 (en) * 2017-01-20 2018-07-26 Microsoft Technology Licensing, Llc Image fusion and hdr imaging

Also Published As

Publication number Publication date
CN113508416B (zh) 2022-07-01
US11138709B2 (en) 2021-10-05
US10853928B2 (en) 2020-12-01
US20200311890A1 (en) 2020-10-01
CN113508416A (zh) 2021-10-15
US20210042899A1 (en) 2021-02-11
KR102512889B1 (ko) 2023-03-21
WO2020205008A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
KR102512889B1 (ko) 이미지 융합 프로세싱 모듈
US10853927B2 (en) Image fusion architecture
US10880455B2 (en) High dynamic range color conversion using selective interpolation
US10692191B2 (en) Per-pixel photometric contrast enhancement with noise control
US11024006B2 (en) Tagging clipped pixels for pyramid processing in image signal processor
US11334961B2 (en) Multi-scale warping circuit for image fusion architecture
US11863889B2 (en) Circuit for correcting lateral chromatic abberation
US10991083B2 (en) Directional bilateral filtering with improved noise reduction along edges
US11074678B2 (en) Biasing a noise filter to preserve image texture
US11816858B2 (en) Noise reduction circuit for dual-mode image fusion architecture
US11763421B2 (en) Circuit for combined down sampling and correction of image data
US20240104691A1 (en) Dual-mode image fusion architecture
US11176643B1 (en) Circuit for correcting chromatic aberration through sharpening
US11798146B2 (en) Image fusion architecture
US11968471B2 (en) Sliding window for image keypoint detection and descriptor generation
US11810266B2 (en) Pattern radius adjustment for keypoint descriptor generation
US11252299B1 (en) High dynamic range color conversion using selective interpolation for different curves
US11803949B2 (en) Image fusion architecture with multimode operations
US20230138779A1 (en) Linear transform of undistorted image for fusion
US20230316706A1 (en) Filtering of keypoint descriptors based on orientation angle
US11494880B2 (en) Image pyramid generation for image keypoint detection and descriptor generation
US20230298302A1 (en) Single read of keypoint descriptors of image from system memory for efficient header matching
US20230289923A1 (en) Machine learning based noise reduction circuit

Legal Events

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