KR20240031970A - 노이즈 감소를 위한 캐스케이드 이미지 프로세싱 - Google Patents

노이즈 감소를 위한 캐스케이드 이미지 프로세싱 Download PDF

Info

Publication number
KR20240031970A
KR20240031970A KR1020237045363A KR20237045363A KR20240031970A KR 20240031970 A KR20240031970 A KR 20240031970A KR 1020237045363 A KR1020237045363 A KR 1020237045363A KR 20237045363 A KR20237045363 A KR 20237045363A KR 20240031970 A KR20240031970 A KR 20240031970A
Authority
KR
South Korea
Prior art keywords
image
applying
image frame
processing
ipe
Prior art date
Application number
KR1020237045363A
Other languages
English (en)
Inventor
취안민 선
종산 왕
원-춘 펑
치 장
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20240031970A publication Critical patent/KR20240031970A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/21Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/643Hue control means, e.g. flesh tone control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/68Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
    • H04N9/69Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits for modifying the colour signals by gamma correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

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

Abstract

본 개시는 저조도 비디오 시퀀스들에서의 노이즈 감소를 지원하는 이미지 프로세싱을 위한 시스템들, 방법들, 및 디바이스들을 제공한다. 노이즈 감소는 캐스케이드된 파이프라인 내의 동작 위치의 각각의 세트에 기초하여 구성되는 동작들의 캐스케이드된 세트를 통해 달성된다. 캐스케이드는 이미지 신호 프로세서 (ISP) 내의 일련의 캐스케이드된 이미지 포스트-프로세싱 엔진 (IPE) 들로서 구현될 수 있다.

Description

노이즈 감소를 위한 캐스케이드 이미지 프로세싱
본 개시의 양태들은 일반적으로 이미지 프로세싱에 관한 것이고, 보다 구체적으로, 이미지들에서의 노이즈 감소에 관한 것이다. 일부 특징부들은 저조도 환경들에서 실시간 고해상도 비디오 시퀀스들을 지원하는 것을 포함한, 개선된 이미지 품질을 가능하게 하고 이를 제공할 수 있다.
이미지 캡처 디바이스는 고유의 한계들을 갖는다. 이미지 품질은 이미지를 캡처하는 이미지 센서의 감도 및 캡처되는 장면의 밝기와 관련된다. 이미지 센서 성능 및 사용가능한 광 모두에 대한 제한은 고품질 이미지들의 캡처링을 제한할 수 있다.
아래에서는 논의된 기법의 기본적인 이해를 제공하기 위해 본 개시의 일부 양태들이 요약된다. 이러한 요약은 본 개시의 모든 고려된 특징들의 포괄적인 개요가 아니며, 본 개시의 모든 양태들의 핵심 또는 중요한 엘리먼트들을 식별하거나 본 개시의 임의의 또는 모든 양태들의 범위를 서술하도록 의도되지 않는다. 이러한 요약의 유일한 목적은, 이후에 제시되는 더 상세한 설명에 대한 서론으로서 요약 형태로 본 개시의 하나 이상의 양태들의 일부 개념들을 제시하려는 것이다.
이미지 캡처 디바이스들, 즉 스틸 이미지 사진들이든 또는 비디오들에 대한 이미지들의 시퀀스들이든 간에, 하나 이상의 디지털 이미지들을 캡처할 수 있는 디바이스들이 매우 다양한 디바이스들 내로 통합될 수 있다. 예로서, 이미지 캡처 디바이스들은 독립형 디지털 카메라들 또는 디지털 비디오 캠코더들, 모바일 전화기들, 셀룰러 또는 위성 라디오 전화기들과 같은 카메라 장착 무선 통신 디바이스 핸드셋들, 개인 휴대 정보 단말기들(PDA들), 패널들 또는 태블릿들, 게이밍 디바이스들, 웹캠들과 같은 컴퓨터 디바이스들, 비디오 감시 카메라들, 또는 디지털 이미징 또는 비디오 능력들을 갖는 다른 디바이스들을 포함할 수 있다.
일반적으로, 본 개시는 이미지 센서들 및 이미지 신호 프로세서(image signal processor, ISP)들을 갖는 디지털 카메라들을 수반하는 이미지 프로세싱 기법들을 설명한다. 이미지 신호 프로세서는 하나 이상의 이미지 센서들로부터 이미지 프레임들의 캡처를 제어하고 하나 이상의 이미지 센서들로부터의 하나 이상의 이미지 프레임들을 프로세싱하여 수정된 이미지 프레임에 장면의 뷰를 생성하도록 구성될 수 있다. 수정된 이미지 프레임은 비디오 시퀀스를 형성하는 이미지 프레임들의 시퀀스의 일부일 수 있다. 비디오 시퀀스는 이미지 센서 또는 다른 이미지 센서들로부터 수신된 다른 이미지 프레임들 및/또는 이미지 센서 또는 다른 이미지 센서로부터의 입력에 기초한 다른 수정된 이미지 프레임들을 포함할 수 있다.
일 예에서, 이미지 신호 프로세서는 CPU 상의 카메라 애플리케이션과 같은 소프트웨어의 로딩에 응답하여 이미지 프레임들의 시퀀스를 캡처하라는 명령을 수신할 수 있다. 이미지 신호 프로세서는 이미지 센서들로부터의 각각의 수정된 이미지들에 기초하여, 출력 프레임들의 단일 플로우를 생성하도록 구성될 수 있다. 출력 프레임들의 단일 플로우는, 이를 테면, 이미지 포스트-프로세싱 엔진 (IPE), 캐스케이드된 일련의 IPE들, 및/또는 노이즈 감소, 감마 수정, 및 톤 맵핑 중 하나 이상을 수행하기 위한 다른 이미지 프로세싱 회로부를 통한 프로세싱에 의해, 수정된 이미지 센서로부터의 이미지 데이터를 포함하는 이미지 프레임들을 포함할 수 있다. 수정된 이미지 프레임은 본 개시의 이미지 수정의 양태들을 HDR (high dynamic range) 사진촬영 또는 MFNR (multi-frame noise reduction) 과 같은 다른 계산적 사진촬영 기법들과 조합하는 것에 의해 생성될 수 있다.
장면을 나타내는 출력 프레임이 본 명세서의 다양한 실시형태에서 설명된 이미지 수정을 사용하여 이미지 신호 프로세서에 의해 결정된 후, 출력 프레임은 단일 정지 이미지로서 및/또는 비디오 시퀀스의 일부로서 디바이스 디스플레이 상에 디스플레이되고, 픽처로서 또는 비디오 시퀀스로서 저장 디바이스에 저장되고, 네트워크를 통해 송신되고, 및/또는 출력 매체에 프린팅될 수 있다. 예를 들어, 이미지 신호 프로세서는, 상이한 이미지 센서들로부터 이미지 데이터의 입력 프레임들 (예를 들어, 픽셀 값들) 을 획득하고, 차례로, 이미지 데이터의 대응하는 출력 프레임들 (예를 들어, 미리보기 디스플레이 프레임들, 정지 이미지 캡처들, 비디오에 대한 프레임들 등) 을 생성하도록 구성될 수도 있다. 다른 예들에서, 이미지 신호 프로세서는 이미지 데이터의 프레임들을, 추가 프로세싱을 위해, 예컨대, 3A 파라미터 동기화 (예를 들어, 오토 포커스(AF), 자동 화이트 밸런스 (AWB), 및 자동 노출 제어 (AEC)), 출력 프레임들을 통해 비디오 파일을 생성하고, 디스플레이를 위한 프레임들을 구성하고, 저장을 위한 프레임들을 구성하고, 네트워크 연결을 통해 프레임들을 송신하는 것 등을 위해, 다양한 출력 디바이스들 및/또는 카메라 모듈들에 출력할 수 있다. 즉, 이미지 신호 프로세서는 하나 이상의 카메라 렌즈들에 각각 커플링된 하나 이상의 이미지 센서들로부터의 입력하는 프레임들을 획득할 수 있고, 이어서, 출력 프레임들의 플로우를 생성하여 이를 다양한 출력 목적지들로 출력할 수 있다. 이러한 예들에서, 이미지 신호 프로세서는 저조도 사진촬영법에서 개선된 외관을 가질 수도 있는 출력 프레임들의 플로우를 생성하도록 구성될 수 있다.
일부 양태들에서, 방법은 HDR 사진촬영을 위해 수행될 수도 있으며, 여기서 제 1 이미지 프레임 및 제 2 이미지 프레임은 상이한 노출 시간들, 상이한 애퍼처들, 상이한 렌즈들, 또는 2 개의 이미지 프레임들이 조합될 때 융합된 이미지의 개선된 동적 범위를 초래할 수도 있는 다른 상이한 특성들을 사용하여 캡처된다. 일부 양태들에서, 방법은 제 1 이미지 프레임 및 제 2 이미지 프레임이 동일하거나 상이한 노출 시간들을 사용하여 캡처되는 MFNR 사진촬영을 위해 수행될 수도 있다.
일부 양태들에서, 디바이스는 카메라 제어 및/또는 프로세싱, 이를 테면, 이미지 수정을 인에이블 또는 디스에이블하거나 또는 이를 테면, 톤 맵핑, 감마 수정의 양, 또는 컬러 수정에 대한 매트릭스를 특정하는 것에 의해 이미지 수정의 양태들을 달리 제어하기 위한 특정 기능을 포함하는 프로세서 또는 이미지 신호 프로세서를 포함할 수도 있다. 적어도 하나의 프로세서는 또한 또는 대안적으로 애플리케이션 프로세서를 포함할 수도 있다. 본 명세서에 설명된 방법들 및 기법들은 이미지 신호 프로세서 또는 프로세서에 의해 전체적으로 수행될 수 있거나, 또는 다양한 동작들은 이미지 신호 프로세서와 프로세서 사이에서 분할될 수 있고, 일부 양태들에서는 추가 프로세서들에 나뉘어 있을 수 있다.
장치는 제 1 이미지 센서를 포함하는 것과 같은 하나, 둘 또는 그 초과의 이미지 센서들을 포함할 수 있다. 다수의 이미지 센서들이 존재할 때, 제 1 이미지 센서가 제 2 이미지 센서보다 큰 시야 (field of view, FOV) 를 가질 수 있거나, 제 1 이미지 센서가 제 2 이미지 센서와는 상이한 감도 또는 상이한 동적 범위를 가질 수 있다. 일 예에서, 제 1 이미지 센서는 광각 이미지 센서일 수 있고, 제 2 이미지 센서는 망원 이미지 센서일 수 있다. 다른 예에서, 제 1 센서는 제 1 광학 축을 갖는 제 1 렌즈를 통해 이미지를 획득하도록 구성되고, 제 2 센서는 제 1 광학 축과는 상이한 제 2 광축을 갖는 제 2 렌즈를 통해 이미지를 획득하도록 구성된다. 추가적으로 또는 대안적으로, 제 1 렌즈는 제 1 배율을 가질 수 있고, 제 2 렌즈는 제 1 배율과는 상이한 제 2 배율을 가질 수 있다. 이러한 구성은, 이를 테면, 다수의 이미지 센서들 및 연관된 렌즈들이 모바일 디바이스의 전면 또는 후면 상의 오프셋 위치들에 위치되는 경우, 모바일 디바이스 상의 렌즈 클러스터로 나타날 수 있다. 더 크거나, 더 작거나, 동일한 시야들을 갖는 추가적인 이미지 센서들이 포함될 수 있다. 본 명세서에 설명된 이미지 수정 기법들은 다중-센서 디바이스 내의 이미지 센서들 중 임의의 센서로부터 캡처된 이미지 프레임들에 적용될 수 있다.
본 개시의 추가적인 양태에서, 이미지 프로세싱 및/또는 이미지 캡처를 위해 구성된 디바이스가 개시된다. 장치는 이미지 프레임들을 캡처하기 위한 수단을 포함한다. 장치는 이미지 센서들 (전하 결합 소자들 (CCD들), Bayer-필터 센서들, 적외선 (IR) 검출기들, 자외선 (UV) 검출기들, 상보형 금속 산화물 반도체 (CMOS) 센서들을 포함함), 비행 시간 검출기들과 같은, 장면을 나타내는 데이터를 캡처하기 위한 하나 이상의 수단을 더 포함한다. 장치는 광선을 하나 이상의 이미지 센서에 축적 및/또는 포커싱하기 위한 하나 이상의 수단 (단순 렌즈, 복합 렌즈, 구면 렌즈 및 비구면 렌즈를 포함함) 을 더 포함할 수도 있다. 이들 컴포넌트들은 본 명세서에 설명된 이미지 프로세싱 기법들에 입력되는 제 1 이미지 프레임 및/또는 제 2 이미지 프레임을 캡처하도록 제어될 수 있다.
다른 양태들, 특징들, 및 구현들은, 첨부 도면들과 함께 특정한, 예시적인 양태들의 하기 설명을 검토 시 당업자에게 자명하게 될 것이다. 특징들이 하기 특정 양태들 및 도면들에 대하여 논의될 수도 있지만, 다양한 양태들이 본 명세서에서 논의된 유리한 특징들 중 하나 이상을 포함할 수도 있다. 다시 말해서, 하나 이상의 양태들이 특정한 유리한 특징들을 갖는 것으로서 논의될 수도 있지만, 그러한 특징들 중 하나 이상은 또한, 다양한 양태들에 따라 사용될 수도 있다. 유사한 방식으로, 예시적인 양태들이 디바이스, 시스템, 또는 방법 양태들로서 하기에 논의될 수도 있지만, 예시적인 양태들은 다양한 디바이스들, 시스템들, 및 방법들에서 구현될 수도 있다.
본 방법은 프로세서로 하여금 방법의 단계들을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램 코드로서 컴퓨터 판독가능 매체에서 구현될 수 있다. 일부 실시형태들에서, 프로세서는, 복수의 네트워크 접속부들 중 제 1 네트워크 접속부를 통해 기록 또는 스트리밍 데이터로서 이미지들 또는 비디오들과 같은 데이터를 송신하도록 구성된 제 1 네트워크 어댑터; 및 제 1 네트워크 어댑터 및 메모리에 커플링된 프로세서를 포함하는 모바일 디바이스의 일부일 수 있다. 프로세서는 5G NR 통신 네트워크와 같은 무선 통신 네트워크를 통해 본 명세서에 설명된 수정된 이미지 프레임들의 송신을 야기할 수 있다.
전술한 것은, 뒤이어지는 상세한 설명이 더 잘 이해될 수도 있도록 본 개시에 따른 예들의 특징들 및 기술적 이점들을 다소 넓게 서술하였다. 추가적인 특징들 및 이점들은 이하에 설명될 것이다. 개시된 개념 및 특정 예들은 본 개시의 동일한 목적들을 수행하기 위한 다른 구조들을 수정 및 설계하기 위한 기초로서 용이하게 활용될 수도 있다. 그러한 등가의 구성들은 첨부된 청구항들의 범위에서 벗어나지 않는다. 본 명세서에서 개시된 개념들의 특성들, 그들의 조직 및 동작 방법 양자 모두는, 연관된 이점들과 함께, 첨부 도면들과 관련하여 고려될 경우에 다음의 설명으로부터 더 잘 이해될 것이다. 도면들 각각은, 청구항들의 제한들에 대한 정의로서가 아니라, 예시 및 설명의 목적으로 제공된다.
양태들 및 구현들이 일부 예들에 대한 예시에 의해 본 출원에서 설명되지만, 당업자는 추가적인 구현들 및 이용 케이스들이 다수의 상이한 배열들 및 시나리오들에서 발생할 수도 있음을 이해할 것이다. 본 명세서에서 설명된 혁신들은 많은 상이한 플랫폼 유형, 디바이스, 시스템, 형상, 크기, 패키징 배열에 걸쳐서 구현될 수도 있다. 예를 들어, 양태들 및/또는 사용들은 집적화된 칩 구현예들 및 다른 비-모듈-컴포넌트 기반 디바이스들 (예를 들어, 최종 사용자 디바이스들, 차량들, 통신 디바이스들, 컴퓨팅 디바이스들, 산업용 장비, 소매/구매 디바이스들, 의료용 디바이스들, 인공 지능 (AI) 가능식 디바이스들 등) 을 통해 발생할 수도 있다. 일부 예들은 사용 사례들 또는 애플리케이션들에 특별히 관련될 수도 있거나 또는 그렇지 않을 수도 있지만, 설명된 혁신들의 광범위한 적용가능성이 발생할 수도 있다. 구현들은 칩레벨 또는 모듈형 컴포넌트들에서 비-모듈형, 비-칩레벨 구현들, 그리고 또한 설명된 혁신의 하나 이상의 양태들을 통합하는 집성, 분산, 또는 OEM (original equipment manufacturer) 디바이스들 또는 시스템들의 범위까지 다양할 수도 있다. 일부 실제 설정들에 있어서, 설명된 양태들 및 특징들을 통합한 디바이스들은 또한, 청구되고 설명된 양태들의 구현 및 실시를 위한 추가적인 컴포넌트들 및 특징들을 반드시 포함할 수도 있다. 예를 들어, 무선 신호들의 송신 및 수신은 아날로그 및 디지털 목적들을 위한 다수의 컴포넌트들 (예를 들어, 안테나, 무선 주파수 (RF)-체인들, 전력 증폭기들, 변조기들, 버퍼, 프로세서(들), 인터리버, 가산기들/합산기들 등을 포함하는 하드웨어 컴포넌트들) 을 반드시 포함한다. 본 명세서에서 설명된 혁신들이 다양한 크기들, 형상들, 및 구성의 광범위한 디바이스들, 칩-레벨 컴포넌트들, 시스템들, 분산형 장치들, 최종-사용자 디바이스들 등에서 실시될 수 있도록 의도된다.
본 개시의 본질 및 이점들의 추가적인 이해가 다음의 도면들을 참조하여 실현될 수도 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수도 있다. 또한, 동일한 타입의 다양한 컴포넌트들은 참조 라벨에 대시 (dash) 가 뒤따르고 유사한 컴포넌트들을 구별하는 제 2 라벨이 뒤따름으로써 구별될 수도 있다. 제 1 참조 라벨 만이 명세서에서 사용되는 경우, 설명은 제 2 참조 라벨과 관계없이 동일한 제 1 참조 라벨을 갖는 유사한 컴포넌트들 중 임의의 하나에 적용가능하다.
도 1 은 하나 이상의 이미지 센서들로부터의 이미지 캡처를 수행하기 위한 일 예의 디바이스 (100) 의 블록 다이어그램을 도시한다.
도 2 는 하나 이상의 양태들에 따른 캐스케이드된 이미지 포스트-프로세싱 엔진들 (IPE들) 을 예시하는 블록 다이어그램이다.
도 3 은 하나 이상의 양태들에 따른 다수의 노이즈 감소 동작들을 갖는 이미지 프레임을 프로세싱하기 위한 방법을 예시하는 플로우차트이다.
도 4 는 하나 이상의 양태들에 따른 캐스케이드된 이미지 포스트-프로세싱 엔진들 (IPE들) 을 통한 이미지 프레임에 대한 프로세싱 플로우를 예시하는 블록 다이어그램이다.
다양한 도면들에서 같은 참조 번호들 및 지정들은 동일한 엘리먼트들을 나타낸다.
첨부된 도면들과 관련하여, 아래에 제시된 상세한 설명은, 다양한 구성들의 설명으로서 의도된 것이고, 본 개시의 범위를 한정하도록 의도된 것이 아니다. 오히려, 상세한 설명은 발명의 주제의 철저한 이해를 제공할 목적으로 특정 상세들을 포함한다. 이들 특정 상세들이 모든 경우에서 요구되지는 않으며 일부 인스턴스들에서, 잘 알려진 구조들 및 컴포넌트들은 제시의 명료화를 위해 블록 다이어그램 형태로 도시됨이 당업자들에게 명백할 것이다.
본 개시는 비디오 내의 노이즈를 감소시키고, 밝기를 증가시키고, 디테일 및 텍스처를 개선하기 위해 실시간 프로세싱을 사용하여 고품질, 고해상도 (예를 들어, 4K, 8K, 16K, 또는 그 이상), 비디오 캡처를 지원하는 시스템들, 장치들, 방법들, 및 컴퓨터 판독가능 매체들을 제공한다. 본 개시의 양태들은, 감소된 광 수집 능력을 갖고 저조도 환경들에서 겪을 가능성이 더 큰, 작은 픽셀 크기들을 갖는 이미지 캡처 디바이스들에서 특히 유리할 수 있다.
본 개시에서 설명된 청구대상의 특정 구현들은 다음의 잠재적인 이점들 또는 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 일부 양태들에서, 본 개시는 노이즈를 감소시키고, 밝기를 증가시키고, 이미지 품질을 향상시키고, 디테일 및 텍스처를 개선하고, 고해상도 비디오 시퀀스들의 실시간 프로세싱을 제공하기 위한 기법들을 제공한다.
스마트폰과 같은, 하나 이상의 이미지 센서들을 사용하여 이미지 프레임들을 캡처하기 위한 예시적인 디바이스는 디바이스의 후면 (예를 들어, 사용자 디스플레이의 반대 면) 또는 전면 (예를 들어, 사용자 디스플레이와 동일한 면) 상에 하나, 둘, 셋, 넷 이상의 카메라들의 구성을 포함할 수 있다. 다수의 이미지 센서들을 갖는 디바이스들은 하나 이상의 이미지 신호 프로세서(ISP)들, 컴퓨터 비전 프로세서(Computer Vision Processor, CVP)들 (예를 들어, AI 엔진들), 또는 이미지 센서들에 의해 캡처된 이미지들을 프로세싱하기 위한 다른 적합한 회로부를 포함한다. 하나 이상의 이미지 신호 프로세서는, 인코딩, 저장, 송신, 또는 다른 조작과 같은, 추가 프로세싱을 위해, 프로세싱된 이미지 프레임들을 메모리 및/또는 프로세서(예컨대, 애플리케이션 프로세서, 이미지 프론트 엔드 (image front end, IFE), 이미지 프로세싱 엔진 (image processing engine, IPE), 또는 다른 적절한 프로세싱 회로부)에 제공할 수 있다.
본 명세서에 사용되는 바와 같이, 이미지 센서는 이미지 센서 자체, 및 단기 버퍼이든 장기 비휘발성 메모리이든 간에, 메모리 내 저장소 또는 이미지 신호 프로세서 또는 다른 로직 회로부에 의한 프로세싱을 위해 이미지 프레임을 생성하는 데 사용되는 이미지 센서에 커플링된 임의의 소정 다른 컴포넌트들을 지칭할 수 있다. 예를 들어, 이미지 센서는 셔터, 버퍼, 또는 이미지 센서의 개별 픽셀들에 액세스하기 위한 다른 판독 회로부를 포함하는 카메라의 다른 컴포넌트들을 포함할 수 있다. 이미지 센서는 또한, 아날로그 프론트 엔드, 또는 이미지 센서에 커플링된 디지털 회로부에 제공되는 이미지 프레임에 대한 디지털 표현들로 아날로그 신호들을 변환하기 위한 다른 회로부를 지칭할 수 있다.
다음의 설명에 있어서, 본 개시의 철저한 이해를 제공하기 위해 특정 컴포넌트들, 회로들, 및 프로세서들의 예들과 같이 다수의 특정 상세들이 기술된다. 본 명세서에 사용된 바와 같은 용어 "커플링된" 은 하나 이상의 개재 컴포넌트들 또는 회로들에 직접 접속되거나 또는 이를 통해 접속된 것을 의미한다. 또한, 다음의 기재에서 그리고 설명의 목적으로, 본 개시의 철저한 이해를 제공하기 위해 특정 명명법이 제시된다. 그러나, 이 특정 상세들은 본 명세서에 개시된 기법들을 실시하는데 필요하지 않을 수도 있음이 당업자에게 명백할 것이다. 다른 경우들에서, 잘 알려진 회로들 및 디바이스들은 본 개시의 교시들을 모호하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 나타낸다.
다음에 이어지는 상세한 설명들의 일부 부분들은 절차들, 로직 블록들, 프로세싱, 및 컴퓨터 메모리 내에서의 데이터 비트들에 대한 동작들의 다른 심볼 표현들의 관점에서 제시된다. 본 개시에 있어서, 절차, 로직 블록, 프로세스 등은 원하는 결과로 이끄는 단계들 또는 명령들의 자기-일관성있는 시퀀스인 것으로 인식된다. 단계들은 물리량들의 물리적 조작들을 요구하는 것들이다. 필수적인 것은 아니지만 통상적으로, 이들 양들은 컴퓨터 시스템에서 저장되고, 전송되고, 조합되고, 비교되고 그 외에 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 취한다.
도면들에서, 단일 블록은 기능 또는 기능들을 수행하는 것으로 설명될 수 있다. 그러한 블록에 의해 수행되는 기능 또는 기능들은 단일 컴포넌트에서 또는 다수의 컴포넌트들에 걸쳐 수행될 수 있고/있거나 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 수행될 수 있다. 하드웨어와 소프트웨어의 이러한 상호교환 가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능의 면에서 이하에서 설명된다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시의 범위로부터 벗어나게 하는 것으로 해석되지는 않아야 한다. 또한, 예시적인 디바이스들은, 프로세서, 메모리 등과 같은 널리 공지된 컴포넌트들을 포함하여, 도시된 것들 이외의 컴포넌트들을 포함할 수도 있다.
본 개시의 양태들은 이미지 프레임들(또는 "프레임들")을 캡처할 수 있는 2 이상의 이미지 센서들을 포함하거나 이에 커플링되는 임의의 적절한 전자 디바이스에 적용가능하다. 또한, 본 개시의 양태들은 동일하거나 상이한 능력들 및 특성들 (예컨대, 해상도, 셔터 속도, 센서 타입 등) 의 이미지 센서들을 갖거나 이에 커플링된 디바이스들에서 구현될 수도 있다. 또한, 본 개시의 양태들은, 클라우드 컴퓨팅 시스템에 존재하는 프로세싱 디바이스들을 포함하는, 프로세싱을 위해 저장된 이미지들을 검색할 수 있는 프로세싱 디바이스들과 같은, 디바이스가 이미지 센서들을 포함하는지 또는 이미지 센서들에 커플링되는지 여부에 관계없이, 이미지 프레임들을 프로세싱하기 위한 디바이스들에서 구현될 수 있다.
다음의 논의로부터 명백한 바와 같이 달리 구체적으로 언급되지 않는 한, 본 출원 전체에 걸쳐, "액세스하는것", "수신하는 것", "전송하는 것", "사용하는 것", "선택하는 것", "결정하는 것", "정규화하는 것", "승산하는 것", "평균화하는 것", "모니터링하는 것", "비교하는 것", "적용하는 것", "업데이트하는 것", "측정하는 것", "도출하는 것", "정산하는 것(settling)", "생성하는 것" 등과 같은 용어들을 활용한 논의는, 컴퓨터 시스템의 레지스터, 메모리 내의 물리적 (전자적) 양으로서 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 저장, 송신 또는 디스플레이 디바이스 내의 물리적 양으로서 유사하게 표현된 다른 데이터로 조작 또는 변환하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 지칭한다.
용어들 "디바이스" 및 "장치" 는 하나 또는 특정 수의 물리적 오브젝트들 (예컨대, 하나의 스마트폰, 하나의 카메라 제어기, 하나의 프로세싱 시스템 등) 로 제한되지 않는다. 본 명세서에서 사용된 바와 같이, 디바이스는 본 개시의 적어도 일부 부분들을 구현할 수도 있는 하나 이상의 부분을 갖는 임의의 전자 디바이스일 수도 있다. 하기 설명 및 예들은 본 개시의 다양한 양태들을 설명하기 위해 용어 "디바이스"를 사용하지만, 용어 "디바이스"는 특정 구성, 타입 또는 오브젝트들의 수로 제한되지 않는다. 본 명세서에서 사용된 바와 같이, 장치는 설명된 동작들을 수행하기 위한 디바이스 또는 디바이스의 일부를 포함할 수도 있다.
도 1 은 하나 이상의 이미지 센서들로부터의 이미지 캡처를 수행하기 위한 예시적인 디바이스 (100) 의 블록 다이어그램을 도시한다. 디바이스 (100) 는 제 1 이미지 센서 (101), 제 2 이미지 센서 (102) 및 심도 센서 (140) 와 같은 하나 이상의 이미지 센서들로부터의 이미지 프레임들을 프로세싱하기 위한 이미지 신호 프로세서 (112) 를 포함하거나, 그렇지 않으면 그에 커플링될 수도 있다. 일부 구현들에서, 디바이스 (100) 는 또한 프로세서 (104) 및 명령들 (108) 을 저장하는 메모리 (106) 를 포함하거나 또는 이에 커플링된다. 디바이스 (100) 는 또한 디스플레이 (114) 및 입력/출력 (I/O) 컴포넌트들 (116) 을 포함하거나 이에 커플링될 수도 있다. I/O 컴포넌트들 (116) 은 터치 스크린 인터페이스 및/또는 물리적 버튼들과 같은 사용자와 상호작용하기 위해 사용될 수 있다. I/O 컴포넌트들 (116) 은 또한, 광역 네트워크 (wide area network, WAN) 어댑터 (152), 근거리 네트워크 (local area network, LAN) 어댑터 (153), 및/또는 개인 영역 네트워크 (personal area network, PAN) 어댑터 (154) 를 포함하는, 다른 디바이스들과 통신하기 위한 네트워크 인터페이스들을 포함할 수 있다. 일 예의 WAN 어댑터는 4G LTE 또는 5G NR 무선 네트워크 어댑터이다. 예시적인 LAN 어댑터 (153) 는 IEEE 802.11 WiFi 무선 네트워크 어댑터이다. 예시적인 PAN 어댑터 (154) 는 블루투스 무선 네트워크 어댑터이다. 어댑터들 (152, 153, 및/또는 154) 각각은 안테나에 커플링될 수 있고, 일차 및 다이버시티 수신을 위해 구성된 그리고/또는 특정 주파수 대역들을 수신하기 위해 구성된 다수의 안테나들에 커플링될 수 있다. 디바이스 (100) 는 또한 디바이스 (100) 를 에너지원에 커플링하기 위한 컴포넌트 또는 배터리와 같은 디바이스 (100) 를 위한 전원 공급부 (118) 를 포함하거나 이에 커플링될 수도 있다. 디바이스 (100) 는 또한 도 1 에 도시되지 않은 부가 특징부들 또는 컴포넌트들을 포함하거나 이에 커플링될 수도 있다. 일 예에서, 다수의 트랜시버들 및 기저대역 프로세서를 포함할 수도 있는 무선 인터페이스는 무선 통신 디바이스에 대해 WAN 어댑터 (152) 에 커플링될 수 있거나 그에 포함될 수 있다. 추가 예에서, 아날로그 이미지 프레임 데이터를 디지털 이미지 프레임 데이터로 변환하기 위한 아날로그 프론트 엔드(analog front end, AFE)가 이미지 센서들 (101, 102) 과 이미지 신호 프로세서 (112) 사이에 커플링될 수 있다.
디바이스는 디바이스 (100) 의 이동에 관한 데이터, 디바이스 (100) 주위의 환경에 관한 데이터, 및/또는 다른 카메라 이외의 센서의 데이터를 수신하기 위해 센서들과 인터페이스하기 위한 센서 허브 (150) 를 포함할 수 있거나 그에 커플링될 수 있다. 하나의 예시적인 비-카메라 센서는 모션 데이터를 생성하도록 자이로스코프, 회전, 배향, 및/또는 각속도를 측정하도록 구성된 디바이스이다. 다른 예시적인 비-카메라 센서는 가속도계, 가속도를 측정하도록 구성된 디바이스이며, 이는 또한 측정된 가속도를 적절하게 통합함으로써 이동되는 속도 및 거리를 결정하는데 사용될 수 있고, 가속도, 속도, 및/또는 거리 중 하나 이상은 생성된 모션 데이터에 포함될 수 있다. 일부 양태들에서, 전자식 이미지 안정화 시스템 (electronic image stabilization system, EIS) 에서 자이로스코프는 센서 허브에 커플링될 수 있거나 이미지 신호 프로세서 (112) 에 직접 커플링될 수 있다. 다른 예에서, 카메라 이외의 센서는 글로벌 포지셔닝 시스템(global positioning system, GPS) 수신기일 수 있다.
이미지 신호 프로세서 (112) 는 이미지 프레임들을 형성하는 데 사용되는 것과 같은 이미지 데이터를 수신할 수 있다. 일 실시형태에서, 로컬 버스 접속부는 이미지 신호 프로세서 (112) 를 제 1 및 제 2 카메라의 각각의 이미지 센서들 (101, 102) 에 커플링시킨다. 다른 실시형태에서, 유선 인터페이스가 이미지 신호 프로세서 (112) 를 외부 이미지 센서에 커플링시킨다. 추가 실시형태에서, 무선 인터페이스는 이미지 신호 프로세서 (112) 를 이미지 센서(101, 102)에 커플링시킨다.
제 1 카메라는 제 1 이미지 센서(101) 및 대응하는 제 1 렌즈(131)를 포함할 수 있다. 제 2 카메라는 제 2 이미지 센서(102) 및 대응하는 제 2 렌즈(132)를 포함할 수 있다. 렌즈들 (131 및 132) 각각은 이미지 센서 (101 및 102) 로부터 특정 장면 심도에서 특정 초점 평면 상에 포커싱하도록 렌즈들 (131 및 132) 을 조정하는 ISP (112) 에서 실행되는 연관된 오토포커스 (AF) 알고리즘 (133) 에 의해 제어될 수 있다. AF 알고리즘 (133) 은 심도 센서 (140) 에 의해 보조될 수 있다.
제 1 이미지 센서 (101) 및 제 2 이미지 센서 (102) 는 하나 이상의 이미지 프레임을 캡처하도록 구성된다. 렌즈들 (131 및 132) 은 광을 수신하기 위한 하나 이상의 애퍼처들, 노출 윈도우 외부에 있을 때 광을 차단하기 위한 하나 이상의 셔터, 특정 주파수 범위들 외부의 광을 필터링하기 위한 하나 이상의 컬러 필터 어레이 (CFA), 아날로그 측정들을 디지털 정보로 변환하기 위한 하나 이상의 아날로그 프론트 엔드, 또는 이미징을 위한 다른 적절한 컴포넌트들을 통하여 각각 이미지 센서들 (101 및 102) 에 광을 포커싱한다. 제 1 렌즈(131) 및 제 2 렌즈(132)는 장면의 상이한 표현들을 캡처하기 위해 상이한 시야들을 가질 수 있다. 예를 들어, 제 1 렌즈(131)는 초광각(UW) 렌즈일 수 있고, 제 2 렌즈(132)는 광각(W) 렌즈일 수 있다. 복수의 이미지 센서들은 초광각(넓은 시야(FOV)), 광각, 망원, 및 초망원(좁은 FOV) 센서들의 조합을 포함할 수 있다. 즉, 각각의 이미지 센서는 상이한, 그러나 중첩된, 시야들을 획득하기 위해 하드웨어 구성 및/또는 소프트웨어 설정들을 통해 구성될 수 있다. 하나의 구성에서, 이미지 센서들은 상이한 시야들을 초래하는 상이한 확대 비율들을 갖는 상이한 렌즈들로 구성된다. 센서들은 UW 센서가 W 센서보다 큰 FOV를 갖고, W 센서가 T 센서보다 큰 FOV를 갖고, T 센서가 UT 센서보다 큰 FOV를 갖도록 구성될 수 있다. 예를 들어, 넓은 FOV를 위해 구성된 센서는 64-84 도 범위의 시야들을 캡처할 수 있고, 울트라-사이드 FOV를 위해 구성된 센서는 100-140 도 범위의 시야들을 캡처할 수 있고, 텔레 FOV를 위해 구성된 센서는 10-30 도 범위의 시야들을 캡처할 수 있고, 울트라-텔레 FOV를 위해 구성된 센서는 1-8 도 범위의 시야들을 캡처할 수 있다.
이미지 신호 프로세서 (112) 는 이미지 센서들 (101, 102) 에 의해 캡처된 이미지 프레임들을 프로세싱한다. 도 1 이 이미지 신호 프로세서 (112) 에 커플링된 2개의 이미지 센서들(101 및 102)을 포함하는 것으로 디바이스(100)를 예시하지만, 임의의 수의 (예를 들어, 1개, 2개, 3개, 4개, 5개, 6개 등의) 이미지 센서들이 이미지 신호 프로세서 (112) 에 커플링될 수 있다. 일부 양태들에서, 심도 센서 (140) 와 같은 심도 센서들은 이미지 신호 프로세서 (112) 에 커플링될 수 있고, 이미지 센서들 (101 및 102) 의 방식과 유사한 방식으로 프로세싱되는 심도 센서들로부터 출력할 수 있다. 또한, 디바이스 (100) 에 대해 임의의 수의 추가적인 이미지 센서들 또는 이미지 신호 프로세서들이 존재할 수도 있다.
일부 실시형태들에서, 이미지 신호 프로세서 (112) 는 메모리로부터의 명령들, 예컨대 메모리 (106) 로부터의 명령들 (108), 이미지 신호 프로세서 (112) 에 커플링되거나 포함된 별도의 메모리에 저장된 명령들, 또는 프로세서 (104) 에 의해 제공된 명령들을 실행할 수도 있다. 추가적으로, 또는 대안적으로, 이미지 신호 프로세서 (112) 는 본 개시에서 설명된 하나 이상의 동작들을 수행하도록 구성된 특정 하드웨어 (예를 들어, 하나 이상의 집적 회로(IC)) 를 포함할 수 있다. 예를 들어, 이미지 신호 프로세서 (112) 는 하나 이상의 이미지 프론트 엔드들(IFEs)(135), 하나 이상의 이미지 포스트-프로세싱 엔진들(136)(IPEs), 및/또는 하나 이상의 자동 노출 보상 (AEC)(134) 엔진들을 포함할 수 있다. AF (133), AEC (134), IFE (135), IPE (136) 는 각각 애플리케이션 특정 회로부를 포함할 수 있고, ISP (112)에 의해 실행되는 소프트웨어 코드, 및/또는 ISP (112) 내의 하드웨어와 ISP (112) 상에서 실행되는 소프트웨어 코드의 조합으로서 구현될 수 있다.
일부 구현들에서, 메모리 (106) 는 본 개시에서 설명된 하나 이상의 동작들의 전부 또는 일부분을 수행하기 위한 컴퓨터 실행가능 명령들 (108) 을 저장하는 비순간적 또는 비일시적인 컴퓨터 판독가능 매체를 포함할 수도 있다. 일부 구현들에서, 명령들 (108) 은 이미지들 또는 비디오들을 생성하기 위해 디바이스 (100) 에 의해 실행될 카메라 애플리케이션 (또는 다른 적절한 애플리케이션) 을 포함한다. 명령들 (108) 은 또한 이미지 또는 비디오 생성을 위한 것 이외의 운영 체제 및 특정 애플리케이션들과 같은, 디바이스 (100) 에 의해 실행되는 다른 애플리케이션들 또는 프로그램들을 포함할 수도 있다. 프로세서 (104) 에 의한 것과 같은 카메라 애플리케이션의 실행은 디바이스 (100) 로 하여금 이미지 센서들 (101 및 102) 및 이미지 신호 프로세서 (112) 를 사용하여 이미지들을 생성하게 할 수도 있다. 메모리 (106) 는 또한 프로세싱된 프레임들을 저장하기 위해 이미지 신호 프로세서 (112) 에 의해 액세스될 수도 있거나, 프로세싱된 프레임들을 획득하기 위해 프로세서 (104) 에 의해 액세스될 수도 있다. 일부 실시형태들에서, 디바이스 (100) 는 메모리 (106) 를 포함하지 않는다. 예를 들어, 디바이스 (100) 는 이미지 신호 프로세서 (112) 를 포함하는 회로일 수도 있고, 메모리는 디바이스 (100) 의 외부에 있을 수도 있다. 디바이스 (100) 는 외부 메모리에 커플링될 수도 있고, 디스플레이 또는 장기 저장을 위해 출력 프레임들을 기록하기 위해 메모리에 액세스하도록 구성될 수도 있다. 일부 실시 형태들에서, 디바이스(100)는 이미지 신호 프로세서 (112), 프로세서(104), 센서 허브 (150), 메모리(106), 및 입력/출력 컴포넌트들(116)을 단일 패키지 내로 통합시키는 시스템 온 칩(system on chip, SoC)이다.
일부 실시형태들에서, 이미지 신호 프로세서 (112) 또는 프로세서 (104) 중 적어도 하나는 노이즈 감소 동작들을 포함한 본 명세서에 설명된 다양한 동작들을 수행하기 위한 명령들을 실행한다. 예를 들어, 명령들의 실행은 이미지 프레임 또는 이미지 프레임들의 시퀀스를 캡처하는 것을 시작하거나 종료할 것을 이미지 신호 프로세서 (112) 에게 지시할 수 있으며, 여기서 캡처는 본 명세서의 실시형태들에서 설명된 바와 같이 노이즈 감소를 포함한다. 일부 실시형태들에서, 프로세서 (104) 는 메모리 (106) 내에 저장된 명령들 (108) 과 같은, 하나 이상의 소프트웨어 프로그램들의 스크립트들 또는 명령들을 실행할 수 있는 하나 이상의 범용 프로세서 코어들 (104A)을 포함할 수 있다. 예를 들어, 프로세서 (104) 는 메모리 (106) 에 저장된 카메라 애플리케이션 (또는 이미지 또는 비디오를 생성하기 위한 다른 적절한 애플리케이션) 을 실행하도록 구성된 하나 이상의 애플리케이션 프로세서를 포함할 수도 있다.
카메라 애플리케이션을 실행할 때, 프로세서 (104) 는 이미지 센서들 (101 또는 102) 을 참조하여 하나 이상의 동작을 수행하도록 이미지 신호 프로세서 (112) 에 지시하도록 구성될 수도 있다. 예를 들어, 카메라 애플리케이션은 이미지 프레임들의 시퀀스를 포함하는 비디오가 하나 이상의 이미지 센서들(101 또는 102)로부터 캡처되고 프로세싱되는 비디오 프리뷰 디스플레이를 시작하기 위한 커맨드를 수신할 수 있다. 캐스케이드된 IPE들에 의해서와 같은 이미지 수정은 시퀀스 내의 하나 이상의 이미지 프레임들에 적용될 수 있다. 프로세서 (104) 에 의한 카메라 애플리케이션 외부의 명령들 (108) 의 실행은 또한 디바이스 (100) 로 하여금 임의의 수의 기능들 또는 동작들을 수행하게 할 수도 있다. 일부 구현예들에서, 프로세서(104)는 디바이스(100)로 하여금 다수의 기능들 또는 동작들, 이를 테면, 본 명세서에 설명된 동작들을 수행하게 하도록 소프트웨어를 실행하는 능력에 부가하여 IC들 또는 다른 하드웨어(예를 들어, 인공 지능(AI) 엔진(124))를 포함할 수 있다. 일부 다른 실시형태들에서, 디바이스 (100) 는, 예컨대 설명된 기능 모두가 이미지 신호 프로세서 (112) 에서 구성될 때, 프로세서 (104) 를 포함하지 않는다.
일부 실시형태들에서, 디스플레이 (114) 는 사용자 상호작용을 허용하고 및/또는 이미지 센서들 (101 및 102) 에 의해 캡처되는 이미지 프레임들의 프리뷰와 같은 아이템들을 사용자에게 제시하기 위한 하나 이상의 적절한 디스플레이들 또는 스크린들을 포함할 수도 있다. 일부 실시형태들에서, 디스플레이 (114) 는 터치 감응형 디스플레이이다. I/O 컴포넌트들(116)은 사용자로부터 (커맨드들과 같은) 입력을 수신하고 디스플레이(114)를 통해 사용자에 출력을 제공하기 위한 임의의 적합한 메커니즘, 인터페이스, 또는 디바이스일 수 있거나 이들을 포함할 수 있다. 예를 들어, I/O 컴포넌트들 (116) 은 그래픽 사용자 인터페이스 (GUI), 키보드, 마우스, 마이크로폰, 스피커들, 압착가능한 베젤, 하나 이상의 버튼 (예컨대, 전력 버튼), 슬라이더, 스위치 등을 포함할 수도 있다 (그러나 이에 제한되지 않음).
프로세서 (104) 를 통해 서로 커플링되는 것으로 도시되지만, 컴포넌트들 (이를 테면, 프로세서(104), 메모리(106), 이미지 신호 프로세서 (112), 디스플레이(114), 및 I/O 컴포넌트들(116)) 은, 단순화를 위해 도시되지 않은 하나 이상의 로컬 버스들을 통하는 것과 같이, 다른 다양한 배열들로 서로 커플링될 수 있다. 이미지 신호 프로세서 (112) 가 프로세서 (104) 와 별개인 것으로 도시되어 있지만, 이미지 신호 프로세서 (112) 는 APU (application processor unit) 이거나, SoC (system on chip) 에 포함되거나, 또는 그렇지 않으면 프로세서 (104) 와 함께 포함되는 프로세서 (104) 의 코어일 수도 있다. 본 개시의 양태들을 수행하기 위해 본 명세서의 예들에서 디바이스 (100) 가 참조되지만, 본 개시의 양태들을 모호하게 하는 것을 방지하기 위해 일부 디바이스 컴포넌트들이 도 1 에 도시되지 않을 수도 있다. 추가적으로, 다른 컴포넌트들, 컴포넌트들의 수들, 또는 컴포넌트들의 조합들은 본 개시의 양태들을 수행하기 위한 적절한 디바이스에 포함될 수도 있다. 이와 같이, 본 개시는 디바이스 (100) 를 포함하는 특정 디바이스 또는 컴포넌트들의 구성에 제한되지 않는다.
일부 양태들에서, ISP (112) 는 IPE들 (136) 중 하나 이상이 캐스케이드된 또는 일련의 구성이도록 구성될 수 있어, IPE들 중 적어도 하나의 입력이 다른 IPE 의 출력이도록 한다. ISP 에 대한 캐스케이드된 IPE 구성의 하나의 예는 도 2 에 도시된다. 도 2 는 하나 이상의 양태들에 따른 캐스케이드된 이미지 포스트-프로세싱 엔진들 (IPE들) 을 예시하는 블록 다이어그램이다. 캐스케이드된 IPE (200) 는 제 1 IPE (210) 및 제 2 IPE (230) 를 포함한다. 제 1 IPE (210)의 출력은 제 2 IPE (230) 에 입력된다. 제 2 IPE (230) 의 출력은 캐스케이드된 일련의 IPE들이 2개의 IPE들보다 길 때 추가적인 IPE들에 대한 입력으로서 적용될 수 있다. IPE들의 캐스케이드에서 최종 IPE는 수정된 제 1 이미지 프레임을 출력할 수 있다. 그 수정된 제 1 이미지 프레임은, 예를 들어, 카메라 애플리케이션의 프리뷰 비디오 디스플레이에 또는 메모리에 비디오 시퀀스를 기록하기 위해 사용될 수 있다.
IPE들 (210 및 230) 각각은 일반 IPE들일 수 있다. 즉, IPE들 (210 및 230) 각각은 공간적 노이즈 감소 (NR) 를 위한 회로부 (212, 232), 시간적 NR을 위한 회로부 (214, 234), 컬러 수정 매트릭스 (CCM) 프로세싱 (216, 236), 톤 맵핑을 위한 회로부 (218, 238), 감마 수정을 위한 회로부 (220, 240), 및 에지 강화를 위한 회로부 (222, 242) 를 포함할 수 있다. IPE들 (210 및 230) 각각이 일반 처리 유닛들이지만, IPE들 (210 및 230) 각각은 캐스케이드된 일련의 IPE들에서 IPE의 위치에 특정한 동작들을 수행하도록 구성될 수 있다. 예를 들어, IPE (210) 는 IPE (210) 가 캐스케이드된 IPE들의 제 1 스테이지일 때 감마 수정 (220) 을 수행하도록 구성될 수 있고, IPE (230) 는 IPE (230) 가 캐스케이드된 IPE들의 제 2 또는 그 이후의 스테이지일 때 감마 수정 (240) 을 디스에이블하도록 구성될 수 있다. 다른 예로서, 캐스케이드된 IPE들 중 오직 하나의 IPE만이 인에이블된 컬러 수정 매트릭스 (CCM) 프로세싱으로 구성될 수 있다. 추가 예로서, IPE들 (210 및 230) 각각이 톤 맵핑을 위한 회로부 (218, 238) 를 포함하지만, 각각은 상이한 맵핑으로 구성될 수 있다. 예를 들어, 톤 맵핑을 위한 IPE (210) 의 회로부 (218) 는 전체 이미지 프레임의 톤을 변경하기 위한 제 1 톤 맵핑을 적용할 수 있고, 톤 맵핑을 위한 IPE (230) 의 회로부 (238) 는 콘트라스트 향상 및/또는 휘도 향상을 위한 제 2 톤 맵핑을 적용할 수 있다.
캐스케이드된 IPE들은 노이즈 감소를 수행하고 밝기를 부스팅하기 위해 사용될 수 있다. 밝기를 부스팅하기 위한 둘 이상의 IPE들의 캐스케이딩은 다수의 노이즈 감소들을 구현함으로써 밝기 부스팅에 의해 추가되는 노이즈를 겪지 않을 수 있다. 캐스케이드된 IPE들의 캐스케이드된 노이즈 감소는 더 적은 노이즈, 선명한 컬러들, 더 밝은 프레임, 및/또는 콘트라스트-강화된 에지들을 갖는 수정된 이미지 프레임들을 생성할 수 있다. 이와 같이 밝기를 높이는 것은 저조도의 사진촬영에서 흔히 발생하는 노이즈를 크게 증가시키지 않으면서도, 저조도의 사진촬영에서 흔히 발생하는 노이즈를 감소시키면서 이미지 디테일을 향상시키는 저조도 사진촬영에 유용하다. 캐스케이드된 IPE들을 통한 이미지 프레임들의 프로세싱은 소형 광학 포맷 (예를 들어, 소형 픽셀) 센서로부터 캡처된 이미지 프레임들에 유리하게 적용될 수 있는데, 이는 소형 포맷 센서들이 소형 포맷 센서들이 더 큰 포맷 센서들보다 주어진 노출 시간 동안 더 적은 광을 캡처하는 것으로부터 기인하는 감소된 저조도 사진촬영을 가질 수 있기 때문이다.
이미지 센서에 의해 캡처되고 하나의 IPE 및 2개의 캐스케이드된 IPE들로 프로세싱된 테스트 장면으로부터의 예시적인 결과들이 표 1에 도시되며, 이는 2개의 IPE들의 캐스케이드가 이미지 프레임을 프로세싱하기 위해 사용될 때 증가된 텍스처, 감소된 노이즈, 및 증가된 루마 값들을 입증하며, 이는 단일 IPE가 이미지 프레임을 프로세싱하기 위해 사용될 때 획득된 값들에 비해 모든 개선점들이다.
이미지 프레임의 외관을 개선하기 위해 2개 이상의 노이즈 감소 및 톤 맵핑을 갖는 이미지 프레임을 프로세싱하는 방법은 도 3 의 플로우차트에 도시된다. 도 3 은 하나 이상의 양태들에 따른 다수의 노이즈 감소 동작들을 갖는 이미지 프레임을 프로세싱하기 위한 방법을 예시하는 플로우차트이다. 일부 실시형태들에서, 도 3 의 방법은 도 2 에 도시된 바와 같은 다수의 하드웨어 IPE 블록들에서 구현될 수 있다. 그러나, 도 3 의 방법은 또한 단일 하드웨어 IPE 블록, 다른 애플리케이션-특정 회로부를 사용하여 및/또는 일반 프로세서 상에서 구현될 수 있다. 방법 (300) 은 블록 (302) 에서 제 1 이미지 프레임을 수신하는 것으로 시작한다. 제 1 이미지 프레임은 블록 (302) 에서 제 1 이미지 프레임을 수신하기 전에 제 1 이미지 센서에 의해 캡처되고 이미지 프론트 엔드 (IFE) 를 통해 프로세싱될 수 있다. 일부 실시형태들에서, 제 1 이미지 프레임은, 이를 테면, 제 1 이미지 프레임이 하나 이상의 이미지 센서들의 다수의 노출들로부터 생성된 HDR (high dynamic range) 이미지 프레임일 때, 하나 이상의 이미지 센서들로부터 캡처된 다수의 이미지 프레임들의 결합된 출력일 수 있다.
이미지 프로세싱 동작들의 제 1 시퀀스는 블록들 (304, 306, 308, 및 310) 을 포함한다. 블록 (304) 에서, 제 1 노이즈 감소가 제 1 이미지 프레임에 대해 수행된다. 제 1 노이즈 감소는 공간적 및/또는 시간적 노이즈 감소를 포함할 수 있다. 블록 (306) 에서, 이를 테면, 이미지 프레임에서 더 선명한 컬러들을 생성하기 위해, 컬러 수정 매트릭스 (CCM) 가 적용된다. 블록 (308) 에서, 제 1 톤 맵핑이 적용된다. 톤 맵핑은 이미지에서 특정 예술적 효과를 생성하기 위해 컬러들의 하나의 세트를 컬러들의 다른 세트에 맵핑하는 데 사용될 수 있다. 일부 실시형태들에서, 블록 (308) 의 제 1 톤 맵핑은 더 제한된 동적 범위를 갖는 매체에서 높은 동적 범위 이미지들의 외관을 근사화하기 위해 제 1 이미지 프레임에 적용될 수 있다. 블록 (310) 에서, 제 1 이미지 프레임에서의 조명을 부스팅하기 위해 감마 수정이 적용된다. 블록들 (304, 306, 308, 및 310) 의 프로세싱 각각은 제 1 이미지 프레임에 대응하는 메모리 내의 값들에 액세스하고 이를 수정할 수 있다. 따라서, 프로세싱 블록들 (304, 306, 308, 및 310) 중 하나의 블록의 입력은 프로세싱 블록들 (304, 306, 308, 및 310) 중 다른 하나의 블록의 출력이다. 블록 (312) 에서 제 2 노이즈 감소 전에 수행되는 프로세싱은, 이를 테면, 블록 (310) 의 감마 수정 후에 블록 (308) 의 톤 맵핑을 적용하는 것에 의해 도 3 에 도시된 것과는 상이한 순서로 수행될 수 있다. 일부 실시형태들에서, 블록들 (304, 306, 308, 및 310) 에서의 동작들의 제 1 시퀀스는 제 1 IPE 와 같은 제 1 하드웨어 회로에 의해 수행될 수 있다.
이미지 프로세싱 동작들의 제 2 시퀀스는 블록들 (312, 314, 및 316) 을 포함한다. 블록 (312) 에서, 블록들 (304, 306, 308, 및 310) 의 제 1 프로세싱 동작 시퀀스에 의해 수정되는 바와 같이 제 1 이미지 프레임에 대해 제 2 노이즈 감소가 수행된다. 블록 (314) 에서, 제 2 톤 맵핑이 적용된다. 제 2 톤 맵핑은 블록 (308) 의 톤 맵핑과는 상이한 톤 맵핑일 수 있다. 예를 들어, 블록들 (308 및 314) 에 대한 이미지 프레임 입력을 수정할 때 상이한 맵들이 사용될 수 있다. 제 2 톤 맵핑은 블록 (308) 의 제 1 톤 맵핑에서와 같이 일반적인 예술적 컬러 맵핑이 아니라 콘트라스트 향상 및 휘도 향상을 제공하도록 구성될 수 있다. 블록 (316) 에서, 블록들 (304, 306, 308, 및 310) 의 이미지 프로세싱 동작들의 제 1 시퀀스에 의해 수정되고 블록들 (312, 314, 및 316) 의 이미지 프로세싱 동작들의 제 2 시퀀스에 의해 추가로 수정되는 제 1 이미지 프레임이 수정된 제 1 이미지 프레임으로서 출력된다. 수정된 제 1 이미지 프레임은, 예를 들어, 비디오 시퀀스를 생성하기 위해 유사하게 프로세싱될 수 있거나 또는 프로세싱되지 않을 수 있는 다른 이미지 프레임들과 함께 사용될 수 있으며, 카메라 애플리케이션에서 프리뷰 스트림으로서 이미지 캡처 디바이스의 사용자에게 디스플레이될 수 있다.
이미지 캡처 디바이스에서 비디오 시퀀스의 일부로서 이미지 프레임들에 대한 프로세싱 플로우의 일 예가 도 4 에 도시되어 있다. 도 4 는 하나 이상의 양태들에 따른 캐스케이드된 이미지 포스트-프로세싱 엔진들 (IPE들) 을 통한 이미지 프레임에 대한 프로세싱 플로우를 예시하는 블록 다이어그램이다. 이미지 센서 (402) 는 장면 (404) 을 나타내는 제 1 이미지 프레임을 포함하는 이미지 프레임들의 시퀀스를 생성한다. 이미지 신호 프로세서 (410) 는 이미지 프레임들의 시퀀스를 수신하고, 출력 비디오 시퀀스가 생성되고 사용자에게 디스플레이되어 장면 (404) 을 실시간으로 모니터링할 수 있도록 이미지 프레임들에 대한 실시간 프로세싱을 수행할 수 있어서, 장면의 변화들은 대략적으로 변화들이 발생하는 시간에 (예를 들어, 500 밀리초 미만, 400 밀리초 미만, 300 밀리초 미만, 200 밀리초 미만, 또는 100 밀리초 미만 내에) 사용자에 의해 인식될 수 있다. ISP (410) 는 ISP (410) 에 의해 수신되는 이미지 프레임들을 유연하게 프로세싱하기 위한 IPE (412A 및 412B) 와 같은 복수의 IPE들을 가질 수 있다. 예를 들어, ISP (410) 는 상이한 이미지 센서들로부터 병렬로 수신된 이미지 프레임들을 프로세싱하기 위해 상이한 IPE들을 병렬로 사용할 수 있다. 다른 예에서, ISP (410) 는 하나의 이미지 센서로부터 수신된 이미지 프레임을 프로세싱하기 위해 상이한 IPE들을 직렬로 사용할 수 있다.
ISP (410) 는, 이를 테면, 이미지 캡처 디바이스 상에서 실행되는 카메라 애플리케이션으로부터 구성을 수신함으로써 카메라 구성을 결정하고, 이용가능한 IPE들을 ISP (410) 내의 특정 프로세싱에 적절히 할당할 수 있다. 일 예에서, 카메라 애플리케이션은 "저조도" 또는 "야간 식별" 모드를 활성화하기 위한 사용자 설정에 기초하여 또는 캐스케이드된 IPE들을 활성화할지 여부를 결정하기 위해 이미지 프레임에 하나 이상의 규칙들을 적용함으로써 캐스케이드된 IPE 구성을 적용할지 여부를 특정할 수 있다. 캐스케이드된 IPE들을 트리거링하기 위해 저조도 조건 또는 다른 조건이 존재할 때, 센서로부터 수신된 제 1 이미지 프레임은 캐스케이드된 IPE들을 활성화하기 위해 저조도 또는 다른 조건의 결정에 응답하여 중간 제 1 이미지 프레임을 생성하도록 프로세싱될 수 있다. 대안적으로 또는 추가적으로, ISP는 동일하거나 상이한 조건들에 기초하여 캐스케이드된 IPE 구성을 활성화할 때를 결정할 수 있다. 캐스케이드된 IPE 구성의 애플리케이션 또는 ISP 결정을 위한 조건들은 노출 이득, 노출 시간, 룩스 (lux) 인덱스, 및 초당 비디오 프레임들 (FPS) 을 포함하는 하나 이상의 팩터들의 조합일 수도 있다. 예를 들어, 캐스케이드된 IPE들은 노출 이득, 노출 시간, 및 룩스 인덱스가 각각 특정 임계치를 초과하거나 이들의 조합된 값들이 특정 임계치를 초과할 때 구성될 수 있다. 더 작은 비디오 FPS는 비디오 시퀀스의 이미지 프레임들에 대해 더 긴 노출 시간을 제공한다. 따라서, 비디오 FPS는 캐스케이드된 IPE를 트리거하는데 사용되는 임계 값들을 조정하는데 사용되거나 임계치와 비교하여 값에 팩토링될 수 있다. IPE 구성 (예를 들어, 단일 IPE 또는 캐스케이드된 IPE) 결정은 (예를 들어, 카메라 애플리케이션에서의 구성으로서 그리고/또는 ISP 에 의해 프로세싱된 이전 이미지 프레임에 기초한 구성으로서) 프로세싱을 위한 제 1 이미징 프레임을 수신하기 전에, (예를 들어, 제 1 이미지 프레임으로부터 통계치들을 결정하는 것에 의해) 제 1 이미지 프레임을 수신한 후에, 및/또는 (예를 들어, 제 1 IPE 를 통한 프로세싱 후에 제 1 이미지 프레임으로부터 통계치들을 결정하는 것에 의해) 중간 제 1 이미지 프레임에 대해 수행될 수도 있다. 단일 IPE 구성이 결정될 때, 단일 IPE의 출력을 다른 이미지 프레임과 융합함으로써 다중 프레임 노이즈 감소와 같은 다른 노이즈 감소 프로세싱이 적용될 수 있다.
일부 실시형태들에서, ISP (410) 는 도 2 및 도 3 을 참조하여 설명된 것들과 유사한 캐스케이드된 동작들을 수행하도록 하나 이상의 IPE들을 구성할 수 있다. 예를 들어, ISP (410) 는 제 1 노이즈 감소 동작 및 제 2 노이즈 감소 동작과 관련된 동작들을 수행하기 위해, 별개의 두 개의 IPE들 (412A 및 412B) 을 캐스케이드할 수 있다. 예를 들어, IPE (412A) 는 도 2의 IPE (210) 와 유사하게 구성될 수 있고, IPE (412B) 는 도 2의 IPE (230) 와 유사하게 구성될 수 있다. IPE (412A) 는 도 3 의 블록들 (304, 306, 308, 310 및 312) 과 관련된 동작들을 수행할 수 있고, IPE (412B) 는 블록들 (310, 312 및 314) 과 관련된 동작들을 수행할 수 있다. IPE들 (412A 및 412B) 은, IPE (412A) 의 출력이 IPE (412B) 에 입력되고, IPE (412B) 의 출력이 적어도 수정된 제 1 이미지 프레임을 포함하는 출력 비디오 시퀀스이도록 직렬로 커플링될 수 있다. IPE (412B) 에서의 프로세싱은 (노출 이득, 노출 시간, 룩스 인덱스, 화이트 밸런스 WB 이득, 수정된 컬러 온도 CCT 중 하나 이상을 포함하는) 3A 메타데이터에 의해 결정될 수도 있다. 일부 실시형태들에서, ISP (410)는 IPE의 출력으로부터 다시 그 IPE의 입력으로 루프백을 사용하고 제 2 세트의 노이즈 감소 동작들을 수행하도록 IPE를 재구성함으로써 단일 IPE를 사용하여 IPE들을 캐스케이드할 수 있다.
하나 이상의 양태들에서, 캐스케이드된 IPE들을 사용한 이미지 수정을 지원하기 위한 기법들은 추가적인 양태들, 이를 테면, 본 명세서의 다른 곳에서 설명된 하나 이상의 다른 프로세스들 또는 디바이스들과 관련하여 또는 하기에서 설명된 임의의 단일 양태 또는 양태들의 임의의 조합을 포함할 수도 있다. 일부 구현들에서, 그 장치는 UE 와 같은 무선 디바이스를 포함한다. 일부 구현들에서, 그 장치는 적어도 하나의 프로세서, 및 그 프로세서에 커플링된 메모리를 포함할 수도 있다. 프로세서는 본 명세서에서 설명된 동작들을 수행하도록 구성될 수 있다. 일부 다른 구현들에서, 그 장치는 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 매체를 포함할 수도 있고, 프로그램 코드는 프로세서로 하여금 그 장치를 참조하여 본 명세서에서 설명된 동작들을 수행하게 하기 위해 프로세서에 의해 실행가능할 수도 있다. 일부 구현들에서, 장치는 본 명세서에서 설명된 동작들을 수행하도록 구성된 하나 이상의 수단들을 포함할 수도 있다. 일부 구현들에서, 무선 통신의 방법은 캐스케이드된 IPE들을 사용하여 이미지 프레임들을 프로세싱하기 위하여 본 명세서에 설명된 하나 이상의 동작들을 포함할 수도 있다.
당업자들은 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수도 있다는 것을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드(command)들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압, 전류, 전자기파, 자기장 또는 자성 입자, 광학장 또는 광학 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
도 1 내지 도 4에 대해 본 명세서에서 설명된 컴포넌트들, 기능 블록들, 및 모듈들은 다른 예들 중에서도 프로세서들, 전자 디바이스들, 하드웨어 디바이스들, 전자 컴포넌트들, 논리 회로들, 메모리들, 소프트웨어 코드들, 펌웨어 코드들, 또는 이것들의 임의의 조합을 포함한다. 소프트웨어는, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 다른 용어로서 지칭되는지에 관계없이, 다른 예들 중에서도 명령들, 명령 세트들, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 객체들, 실행파일들, 실행 스레드들, 절차들, 및/또는 기능들을 의미하도록 광범위하게 해석되어야 한다. 또한, 본 명세서에서 논의된 특징들은 특수 프로세서 회로를 통해, 실행가능 명령들을 통해, 또는 이것들의 조합들을 통해 구현될 수 있다.
당업자는, 본 명세서의 개시와 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있음을 추가로 이해할 것이다. 하드웨어와 소프트웨어의 이러한 상호대체 가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능의 관점에서 상기 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대하여 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 개시의 범위로부터의 일탈을 야기하는 것으로서 해석되지는 않아야 한다. 당업자들은 또한, 본 명세서에서 설명된 컴포넌트들, 방법들, 또는 상호작용들의 순서 또는 조합이 단지 예들일 뿐이며, 본 개시의 다양한 양태들의 컴포넌트들, 방법들, 또는 상호작용들이 본 명세서에서 예시 및 설명된 것들 이외의 방식들로 결합 또는 수행될 수도 있음을 용이하게 인식할 것이다.
본 명세서에 개시된 구현들과 관련하여 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들, 회로들 및 알고리즘 프로세스들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 상호교환가능성은 일반적으로 기능성의 관점에서 설명되었으며, 상기 설명된 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 프로세스들에 예시되었다. 그러한 기능성이 하드웨어에서 구현되는지 또는 소프트웨어에서 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 의존한다.
본 명세서에 개시된 양태들과 관련하여 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들 및 회로들을 구현하는데 사용되는 하드웨어 및 데이터 프로세싱 장치는 범용 단일- 또는 멀티-칩 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서, 또는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 일부 구현들에서, 프로세서는 컴퓨팅 디바이스들의 조합, 예컨대 DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다. 일부 구현들에서, 특정 프로세스들 및 방법들은 주어진 기능에 특정되는 회로부에 의해 수행될 수도 있다.
하나 이상의 양태에서, 설명된 기능들은, 본 명세서에 개시된 구조들 및 이들의 그 구조적 균등물들을 포함하여, 하드웨어, 디지털 전자 회로부, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 본 명세서에서 설명된 주제의 구현들은 또한, 하나 이상의 컴퓨터 프로그램들, 즉, 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체들 상에서 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수도 있다.
소프트웨어에서 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장 또는 이를 통해 송신될 수도 있다. 본 명세서에 개시된 방법 또는 알고리즘의 프로세스는 컴퓨터 판독가능 매체 상에 상주할 수도 있는 프로세서 실행가능 소프트웨어 모듈에서 구현될 수도 있다. 컴퓨터 판독가능 매체들은 일 장소로부터 다른 장소로 컴퓨터 프로그램을 전송하도록 인에이블될 수도 있는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양자 모두를 포함한다. 저장 매체들은, 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능 매체들은 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리 (EEPROM), CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 임의의 연결이 컴퓨터 판독가능 매체로 적절히 명명될 수 있다. 디스크(disk) 및 디스크(disc)는, 본 명세서에서 사용된 바와 같이, 컴팩트 디스크(CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크(DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크(disk) 들은 보통 데이터를 자기적으로 재생(reproduce) 하는 한편, 디스크(disc) 들은 레이저들로 데이터를 광학적으로 재생한다. 상기의 조합들은 또한, 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다. 추가적으로, 방법 또는 알고리즘의 동작들은 코드들 및 명령들 중 하나 또는 임의의 조합 또는 세트로서 머신 판독가능 매체 및 컴퓨터 판독가능 매체 상에 상주할 수도 있으며, 이들은 컴퓨터 프로그램 제품에 통합될 수도 있다.
본 개시에서 설명된 구현들에 대한 다양한 수정들은 당업자에게 용이하게 자명할 수도 있으며, 본 명세서에서 정의된 일반적인 원리들은 본 개시의 사상 또는 범위로부터 일탈함없이 일부 다른 구현들에 적용될 수도 있다. 따라서, 청구항들은 본 명세서에 나타낸 구현들에 제한되도록 의도되지 않으며, 본 명세서에 개시된 본 개시, 원리들 및 신규한 특징들과 부합하는 최광의 범위를 부여받아야 한다.
추가적으로, 당업자는, 용어들 "상부" 및 "하부"가 도면들을 쉽게 설명하기 위해 때때로 사용되고 적절히 배향된 페이지 상에서 도면의 배향에 대응하는 상대적 포지션들을 표시하며, 구현된 바와 같이 임의의 디바이스의 적절한 배향을 반영하지 않을 수도 있음을 용이하게 이해할 것이다.
별도의 구현들의 컨텍스트에서 본 명세서에서 설명된 소정의 특징들은 또한 단일 구현의 조합으로 구현될 수도 있다. 대조적으로, 단일 구현의 컨텍스트에서 설명되는 다양한 특징들은 또한 다중의 구현들에서 별도로 또는 임의의 적합한 하위조합으로 구현될 수도 있다. 더욱이, 비록 특징들이 소정의 조합들로 작용하는 것으로서 위에 설명되고 심지어 그와 같이 초기에 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위조합 또는 하위조합의 변형으로 지향될 수도 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되지만, 이는 바람직한 결과들을 달성하기 위해, 도시된 특정 순서로 또는 순차적인 순서로 그러한 동작들이 수행되어야 하거나, 예시된 모든 동작들이 수행되어야 할 것을 요구하는 것으로서 이해되지 않아야 한다. 또한, 도면들은 하나 이상의 예시적인 프로세스들을 플로우 다이어그램의 형태로 개략적으로 도시할 수도 있다. 그러나, 도시되지 않은 다른 동작들은 개략적으로 예시되는 예시적인 프로세스들에 통합될 수도 있다. 예를 들어, 하나 이상의 추가적인 동작들이 예시된 동작들 중 임의의 동작들 이전에, 그 이후에, 그와 동시에, 또는 그들 사이에서 수행될 수도 있다. 특정 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수도 있다. 더욱이, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 구분이 모든 구현들에서 그러한 구분을 요구하는 것으로 이해되지 않아야 하며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수도 있음이 이해되어야 한다. 추가적으로, 일부 다른 구현들은 다음의 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에 언급된 액션들은 상이한 순서로 수행되며 여전히 바람직한 결과들을 달성할 수도 있다.
청구항들을 포함하여 본 명세서에서 사용된 바와 같이, 용어 "또는"은, 둘 이상의 아이템들의 리스트에서 사용되는 경우, 리스팅된 아이템들 중 임의의 아이템이 홀로 채용될 수도 있거나 또는 리스팅된 아이템들 중 둘 이상의 임의의 조합이 채용될 수도 있음을 의미한다. 예를 들어, 구성이 컴포넌트들 A, B, 또는 C를 포함하는 것으로서 설명되면, 그 구성은 A 만을; B 만을; C 만을; A 및 B를 조합하여; A 및 C를 조합하여; B 및 C를 조합하여; 또는 A, B, 및 C를 조합하여 포함할 수도 있다. 또한, 청구항들을 포함하여 본 명세서에서 사용된 바와 같이, "중 적어도 하나"에 의해 시작된 아이템들의 리스트에서 사용되는 바와 같은 "또는"은, 예를 들어 "A, B, 또는 C 중 적어도 하나"의 리스트가 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C) 또는 이들의 임의의 조합에서의 이들 중 임의의 것을 의미하도록 하는 이접적 리스트를 나타낸다. 용어 "실질적으로"는, 당업자에 의해 이해되는 바와 같이, 특정되는 것을 대체적으로 그러나 반드시 전적으로는 아닌 것으로서 정의된다 (그리고 특정되는 것을 포함한다; 예를 들어, 실질적으로 90 도는 90 도를 포함하고 실질적으로 평행은 평행을 포함함). 임의의 개시된 구현들에서, 용어 "실질적으로"는 특정된 것의 "[백분율] 이내"로 대체될 수도 있으며, 여기서 백분율은 .1, 1, 5 또는 10%를 포함한다.
본 개시의 전술된 설명은 임의의 당업자로 하여금 본 개시를 제조 또는 사용하게 할 수 있도록 제공된다. 본 개시에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 개시의 사상 또는 범위로부터 일탈함없이 다른 변경들에 적용될 수도 있다. 따라서, 본 개시는 본 명세서에서 설명된 예들 및 설계들로 한정되도록 의도되지 않으며, 본 명세서에서 개시된 원리들 및 신규한 피처들과 부합하는 최광의 범위를 부여받아야 한다.

Claims (24)

  1. 방법으로서,
    제 1 이미지 프레임을 수신하는 단계;
    중간 제 1 이미지 프레임을 생성하기 위해 제 1 구성을 갖는 이미지 수정 알고리즘에서의 제 1 패스를 통하여 상기 제 1 이미지 프레임을 프로세싱하는 단계로서, 상기 제 1 구성은 제 1 노이즈 감소 동작에 관련된 동작들의 제 1 세트를 포함하는 프로세싱을 초래하는, 상기 제 1 이미지 프레임을 프로세싱하는 단계; 및
    수정된 제 1 이미지 프레임을 생성하기 위해 제 2 구성을 갖는 상기 이미지 수정 알고리즘에서의 제 2 패스를 통하여 상기 중간 제 1 이미지 프레임을 프로세싱하는 단계로서, 상기 제 2 구성은 제 2 노이즈 감소 동작에 관련된 동작들의 제 2 세트를 포함하는 프로세싱을 초래하는, 상기 중간 제 1 이미지 프레임을 프로세싱하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 수정된 제 1 이미지 프레임 및 적어도 수정된 제 2 이미지 프레임을 포함하는 비디오 시퀀스를 형성하는 단계를 더 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 비디오 시퀀스를 메모리에 저장하는 단계;
    무선 네트워크를 통하여 상기 비디오 시퀀스를 송신하는 단계; 또는
    디스플레이 상에 상기 비디오 시퀀스를 디스플레이하는 단계
    중 적어도 하나를 더 포함하는, 방법.
  4. 제 1 항, 제 2 항 또는 제 3 항 중 어느 한 항에 있어서,
    이미지 수정 알고리즘에서의 제 1 패스를 통하여 상기 제 1 이미지 프레임을 프로세싱하는 단계는 제 1 이미지 포스트-프로세싱 엔진 (post-processing engine; IPE) 을 통하여 상기 제 1 이미지 프레임을 프로세싱하는 단계를 포함하고; 그리고
    상기 이미지 수정 알고리즘에서의 제 2 패스를 통하여 상기 중간 제 1 이미지 프레임을 프로세싱하는 단계는 제 2 이미지 포스트-프로세싱 엔진 (IPE) 을 통하여 상기 제 1 이미지 프레임을 프로세싱하는 단계를 포함하는, 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    제 1 IPE 는 제 2 IPE 와 동일한 IPE 인, 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    제 1 이미지 수정 알고리즘에 대한 상기 제 1 구성은 제 1 톤 맵핑을 적용하는 것을 포함하고; 그리고
    제 2 이미지 수정 알고리즘에 대한 상기 제 2 구성은 콘트라스트 향상 및 휘도 향상을 위해 상이한 제 2 톤 맵핑을 적용하는 것을 포함하는, 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    제 1 이미지 수정 알고리즘에 대한 상기 제 1 구성은 감마 수정을 적용하는 것을 포함하고; 그리고
    상기 이미지 수정 알고리즘에 대한 상기 제 2 구성은 감마 수정을 적용하는 것을 포함하지 않는, 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    제 1 이미지 수정 알고리즘 및 제 2 이미지 수정 알고리즘 중 하나만이 컬러 수정 매트릭스를 적용하는 것을 포함하는, 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    저조도 조건 (low-light condition) 이 상기 제 1 이미지 프레임에 존재한다고 결정하는 단계; 및
    상기 저조도 조건의 결정에 응답하여, 상기 제 1 이미지 프레임을 프로세싱하고 상기 중간 제 1 이미지 프레임을 프로세싱하는 단계를 더 포함하는, 방법.
  10. 제 9 항에 있어서,
    저조도 조건이 상기 제 1 이미지 프레임에 존재하지 않는다고 결정하는 단계; 및
    상기 저조도 조건이 존재하지 않는다고 결정하는 것에 응답하여 제 2 이미지 프레임을 수신하는 단계; 및
    다중-프레임 노이즈 감소 (multi-frame noise reduction, MFNR) 알고리즘을 사용하여 감소된 노이즈를 갖는 수정된 제 1 이미지 프레임을 결정하기 위해 중간 이미지 프레임 및 상기 제 2 이미지 프레임을 프로세싱하는 단계를 더 포함하는, 방법.
  11. 방법으로서,
    제 1 이미지 프레임을 수신하는 단계;
    상기 제 1 이미지 프레임에 제 1 노이즈 감소를 적용하는 단계;
    상기 제 1 노이즈 감소를 적용한 후에 상기 제 1 이미지 프레임에 제 1 톤 맵핑을 적용하는 단계;
    상기 제 1 톤 맵핑을 적용한 후에 상기 제 1 이미지 프레임에 감마 수정을 적용하는 단계;
    상기 감마 수정을 적용한 후에 상기 제 1 이미지 프레임에 제 2 노이즈 감소를 적용하는 단계;
    상기 제 2 노이즈 감소를 적용한 후에 상기 제 1 이미지 프레임에 제 2 톤 맵핑을 적용하는 단계;
    상기 제 1 노이즈 감소를 적용한 후에 상기 제 1 이미지 프레임에 컬러 수정 매트릭스를 적용하는 단계; 및
    상기 제 1 노이즈 감소를 적용하고, 상기 제 1 톤 맵핑을 적용하고, 상기 감마 수정을 적용하고, 상기 제 2 노이즈 감소를 적용하고, 상기 제 2 톤 맵핑을 적용하고, 그리고 상기 컬러 수정 매트릭스를 적용한 후에 수정된 제 1 이미지 프레임을 출력하는 단계를 포함하는, 방법.
  12. 제 11 항에 있어서,
    제 1 이미지 포스트-프로세싱 엔진 (IPE) 은 상기 제 1 노이즈 감소를 적용하는 단계, 상기 제 1 톤 맵핑을 적용하는 단계, 및 상기 감마 수정을 적용하는 단계를 수행하고; 그리고
    제 2 이미지 포스트-프로세싱 엔진 (IPE) 은 상기 제 2 노이즈 감소를 적용하는 단계, 및 상기 제 2 톤 맵핑을 적용하는 단계를 수행하는, 방법.
  13. 제 11 항 또는 제 12 항에 있어서,
    저조도 조건 (low-light condition) 이 상기 제 1 이미지 프레임에 존재한다고 결정하는 단계; 및
    상기 저조도 조건이 존재한다고 결정하는 것에 응답하여, 상기 제 1 노이즈 감소를 적용하는 단계, 상기 제 1 톤 맵핑을 적용하는 단계, 상기 감마 수정을 적용하는 단계, 상기 제 2 노이즈 감소를 적용하는 단계, 및 상기 제 2 톤 맵핑을 적용하는 단계를 수행하는 단계를 더 포함하는, 방법.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 수정된 제 1 이미지 프레임 및 적어도 수정된 제 2 이미지 프레임을 포함하는 비디오 시퀀스를 형성하는 단계; 및
    상기 비디오 시퀀스를 메모리에 저장하는 단계;
    무선 네트워크를 통하여 상기 비디오 시퀀스를 송신하는 단계; 또는
    디스플레이 상에 상기 비디오 시퀀스를 디스플레이하는 단계
    중 적어도 하나를 더 포함하는, 방법.
  15. 장치로서,
    적어도 제 1 이미지 포스트-프로세싱 엔진 (IPE) 및 제 2 IPE 를 포함하는 복수의 IPE들을 포함하는 이미지 신호 프로세서를 포함하고,
    상기 이미지 신호 프로세서는:
    제 1 이미지 프레임을 수신하고;
    중간 제 1 이미지 프레임을 생성하기 위해 상기 제 1 IPE를 사용하여 상기 제 1 이미지 프레임을 프로세싱하고; 그리고
    수정된 제 1 이미지 프레임을 생성하기 위해 제 2 IPE 를 사용하여 상기 중간 제 1 이미지 프레임을 프로세싱하도록 구성되는, 장치.
  16. 제 15 항에 있어서,
    상기 이미지 신호 프로세서는:
    제 1 노이즈 감소를 적용하는 것;
    제 1 톤 맵핑을 적용하는 것; 및
    감마 수정을 적용하는 것
    을 포함하는 단계들을 수행하도록 상기 제 1 IPE 를 구성하도록 구성되고,
    상기 이미지 신호 프로세서는:
    제 2 노이즈 감소를 적용하는 것; 및
    제 2 톤 맵핑을 적용하는 것
    을 포함하는 단계들을 수행하도록 상기 제 2 IPE 를 구성하도록 구성되는, 장치.
  17. 제 15 항 또는 제 16 항에 있어서,
    상기 이미지 신호 프로세서는 컬러 수정 매트릭스를 적용하기 위해 상기 제 1 IPE 또는 상기 제 2 IPE 중 하나를 구성하도록 구성되는, 장치.
  18. 제 15 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 이미지 신호 프로세서는 감마 수정을 적용하지 않도록 상기 제 2 IPE 를 구성하도록 구성되는, 장치.
  19. 제 15 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 이미지 신호 프로세서는 하나 이상의 이미지 센서들로부터의 이미지 프레임들을 프로세싱하기 위해 상기 복수의 IPE들을 할당하도록 구성되는, 장치.
  20. 장치로서,
    메모리, 및
    제 1 항 내지 제 14 항 중 어느 한 항에 따른 방법의 동작들을 수행하도록 구성된 적어도 하나의 프로세서를 포함하는, 장치.
  21. 제 20 항에 있어서,
    상기 적어도 하나의 프로세서는 이미지 신호 프로세서를 포함하는, 장치.
  22. 제 20 항 또는 제 21 항에 있어서,
    상기 적어도 하나의 프로세서는 그래픽 프로세싱 유닛 (graphics processing unit; GPU) 을 포함하는, 장치.
  23. 제 20 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 적어도 하나의 프로세서는 중앙 프로세싱 유닛 (central processing unit; CPU) 을 포함하는, 장치.
  24. 제 15 항 내지 제 23 항 중 어느 한 항에 있어서,
    상기 장치는 이미지 캡처 디바이스를 포함하는, 장치.
KR1020237045363A 2021-07-07 2021-07-07 노이즈 감소를 위한 캐스케이드 이미지 프로세싱 KR20240031970A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/104883 WO2023279270A1 (en) 2021-07-07 2021-07-07 Cascade image processing for noise reduction

Publications (1)

Publication Number Publication Date
KR20240031970A true KR20240031970A (ko) 2024-03-08

Family

ID=84801120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237045363A KR20240031970A (ko) 2021-07-07 2021-07-07 노이즈 감소를 위한 캐스케이드 이미지 프로세싱

Country Status (6)

Country Link
EP (1) EP4367894A1 (ko)
KR (1) KR20240031970A (ko)
CN (1) CN117581556A (ko)
BR (1) BR112023026857A2 (ko)
TW (1) TW202325010A (ko)
WO (1) WO2023279270A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8711249B2 (en) * 2007-03-29 2014-04-29 Sony Corporation Method of and apparatus for image denoising
CN105894478B (zh) * 2016-06-17 2018-08-31 重庆大学 基于统计局部秩特征的图像去噪方法
CN106504207B (zh) * 2016-10-24 2019-08-02 西南科技大学 一种图像数据处理方法
CN112261391B (zh) * 2020-10-26 2022-01-04 Oppo广东移动通信有限公司 图像处理方法、摄像头组件及移动终端

Also Published As

Publication number Publication date
WO2023279270A1 (en) 2023-01-12
EP4367894A1 (en) 2024-05-15
BR112023026857A2 (pt) 2024-03-05
CN117581556A (zh) 2024-02-20
TW202325010A (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
WO2023164422A1 (en) Multi-frame auto exposure control (aec)
US12015856B2 (en) Image processing for aperture size transition in a variable aperture (VA) camera
US11924563B2 (en) High dynamic range (HDR) photography with in-sensor zoom
KR20240031246A (ko) 다수의 관심 영역들을 갖는 장면들에서 선택적으로 증가하는 피사계 심도
KR20240031970A (ko) 노이즈 감소를 위한 캐스케이드 이미지 프로세싱
US11727537B1 (en) Bokeh effect in variable aperture (VA) camera systems
US20230412922A1 (en) Dynamic image capture device configuration for improved image stabilization
US20230164433A1 (en) Reduced latency mode switching in image capture device
WO2023216089A1 (en) Camera transition for image capture devices with variable aperture capability
US20240193789A1 (en) Selective motion distortion correction within image frames
US12008763B2 (en) Variable aperture (VA) camera control for controlling a depth of focus
US20240185390A1 (en) Fusion of image frames for high dynamic range content
WO2024021057A1 (en) Dynamic image sensor configuration for improved image stabilization in an image capture device
WO2023178656A1 (en) Multi-camera alignment using region of interest (roi) refinement
US20240022827A1 (en) High dynamic range (hdr) photography using multiple frame rates
US11582405B1 (en) Image data processing using non-integer ratio transforming for color arrays
US20240177274A1 (en) Image effect rendering
WO2023178464A1 (en) Lens shading correction (lsc) in variable aperture (va) camera systems
US20240121516A1 (en) Separate exposure control for pixel sensors of an image sensor
US20240095962A1 (en) Image data re-arrangement for improving data compression effectiveness
WO2024124395A1 (en) Temporal filtering for motion distortion correction
WO2024119428A1 (en) Hdr fusion for variable aperture devices to maintain spotlight visual artifacts
WO2023123371A1 (en) Image correction based on activity detection
US20230012219A1 (en) Selectively increasing depth-of-field in scenes with multiple regions of interest
WO2023250261A1 (en) Dynamic image capture device configuration for improved image stabilization

Legal Events

Date Code Title Description
A201 Request for examination