KR20240024821A - 개선된 장면 무결성을 위한 시간적 필터링 재시작 - Google Patents

개선된 장면 무결성을 위한 시간적 필터링 재시작 Download PDF

Info

Publication number
KR20240024821A
KR20240024821A KR1020237043366A KR20237043366A KR20240024821A KR 20240024821 A KR20240024821 A KR 20240024821A KR 1020237043366 A KR1020237043366 A KR 1020237043366A KR 20237043366 A KR20237043366 A KR 20237043366A KR 20240024821 A KR20240024821 A KR 20240024821A
Authority
KR
South Korea
Prior art keywords
image frame
pixels
determining
image
reset
Prior art date
Application number
KR1020237043366A
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 KR20240024821A publication Critical patent/KR20240024821A/ko

Links

Classifications

    • 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/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic 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/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)

Abstract

이전 입력 프레임들로부터의 기여를 감소시켜 고스팅 및 다른 아티팩트들을 감소시키기 위해, 이미지 프레임 내의 특정 픽셀들에 대해 시간적 필터링 동작들이 리셋될 수 있다. 리셋은 즉시 또는 미리 결정된 시간 기간(예를 들어, 특정 수의 프레임들) 내에 기여를 예를 들어, 0으로 감소시킨다. 이미지 프레임의 픽셀에 대한 시간적 필터링을 리셋할지 여부에 관한 결정은 그 픽셀에 할당된 확률에 기초할 수 있다. 확률은 하나 이상의 기준들을 갖는 규칙들에 기초할 수 있다. 확률을 조정하기 위한 하나의 예시적인 팩터는 픽셀에 대한 시간적 필터링 결정에 관한 신뢰도 레벨이며, 여기서 픽셀의 랜덤 리셋에 대한 확률은 그러한 픽셀들에 대한 시간적 필터링 결정에 관한 신뢰도 레벨에 기초한다.

Description

개선된 장면 무결성을 위한 시간적 필터링 재시작
관련 출원에 대한 상호 참조
본 출원은, 2021년 6월 21일자로 출원되고 발명의 명칭이 "TEMPORAL FILTERING RESTART FOR IMPROVED SCENE INTEGRITY"인 미국 특허 출원 제17/353,506호의 이익을 주장하며, 상기 출원은 그 전체가 참조로 본 명세서에 명백히 통합된다.
기술 분야
본 개시의 양태들은 일반적으로 이미지 프로세싱에 관한 것이다. 본 개시의 일부 특징들은 계산 촬영에서 이미지들의 프로세싱을 가능하게 하고 개선들을 제공할 수 있다.
스틸 이미지 사진들이든 또는 비디오들에 대한 이미지들의 시퀀스들이든 간에 하나 이상의 디지털 이미지들을 캡처할 수 있는 디바이스들인 이미지 캡처 디바이스들은 매우 다양한 디바이스들에 통합될 수 있다. 예로서, 이미지 캡처 디바이스들은 독립형 디지털 카메라들 또는 디지털 비디오 캠코더들, 모바일 전화기들, 셀룰러 또는 위성 라디오 전화기들과 같은 카메라 장착 무선 통신 디바이스 핸드셋들, 개인 휴대 정보 단말기들(PDA들), 패널들 또는 태블릿들, 게이밍 디바이스들, 웹캠들과 같은 컴퓨터 디바이스들, 비디오 감시 카메라들, 또는 디지털 이미징 또는 비디오 능력들을 갖는 다른 디바이스들을 포함할 수 있다.
이미지 캡처 디바이스는, 그 형태와 무관하게, 캡처된 이미지의 이미지 품질에 특정한 고유한 제한들을 갖는다. 특정 상황들에서, 특히 저조도 장면들에서 이미지 품질을 개선하기 위해, 이미지 캡처 디바이스에 의해 캡처된 이미지 프레임들에 시간적 필터가 적용될 수 있다. 시간적 필터는 이전 프레임 내의 픽셀에 대한 값에 적어도 부분적으로 기초하여 이미지 프레임 내의 적어도 하나의 픽셀 값을 수정한다. 시간적 필터는 단일 이미지 프레임보다 높은 품질일 수 있는 출력 이미지 프레임을 획득하기 위해 상이한 시간들에 캡처된 2개의 이미지 프레임들로부터의 정보를 사용한다. 그러나, 결과적인 이미지 품질을 감소시킬 수 있는 시간적 필터링과 연관된 문제들이 있다.
일부 예들의 간단한 요약
시간적 필터링은 특정 상황들 하에서 필터링된 이미지들에 아티팩트들을 생성할 수 있다. 예를 들어, 장면으로부터 이동하거나 사라지는 객체들은, 시간적으로 필터링된 이미지가 객체를 포함한 이전 이미지 프레임들에 기초하는 것으로 인해, 시간적으로 필터링된 이미지 출력에서 긴 시간 동안 유지될 수 있다. 이미지에서 이러한 느린 객체들은, 객체가 장면을 떠났음에도 불구하고 객체가 이미지에 나타나는 것으로 인해 "고스트들"로 지칭될 수 있다. 고스트들은 또한, 낮은 콘트라스트(예를 들어, 신호대 잡음비(SNR) < 1) 이미지들을 시간적으로 필터링할 때와 같은 다른 상황들 하에서 나타날 수 있다. 고스팅의 효과들은 더 공격적인 시간적 필터링이 적용될 때 더 두드러질 수 있다. 이러한 시간적 필터링 아티팩트들 중 임의의 것은 출력 이미지 프레임에서 장면 무결성 문제들을 초래한다. 더 공격적인 필터링은 더 긴 시간 기간으로부터의 이미지 프레임들을 사용하여, 고스트 객체가 더 길거나 더 두드러지게 나타나게 한다. 더 공격적인 시간적 필터링은 연관된 더 긴 시간 기간이 저조도 장면에서 잡음을 감소시킬 수 있는 저조도 상황들에서 유용할 수 있다.
본 개시의 특정 실시예들에 따른 시간적 필터링을 개선하기 위한 하나의 기법은 시간적 필터링 프로세스에 의해 생성된 이미지의 이미지 품질을 개선하기 위해 이미지 프레임 내의 특정 픽셀들에 대한 시간적 필터링을 리셋하는 것이다. 시간적 필터를 리셋하는 것은, 이전 입력 프레임들이 출력 이미지 프레임에 더 적은 영향을 미치도록 시간적 필터 내의 이전 이미지 프레임들로부터의 기여를 감소시킬 수 있다. 리셋은 즉시 또는 미리 결정된 시간 기간(예를 들어, 특정 수의 프레임들) 내에 기여를 예를 들어, 0으로 감소시킬 수 있다. 리셋은 사진에서 고스팅 아티팩트들의 외관을 감소시킬 수 있다. 이미지 프레임의 픽셀에 대한 시간적 필터링을 리셋할지 여부에 관한 결정은 그 픽셀에 할당된 확률에 기초할 수 있다. 확률은 하나 이상의 기준들을 갖는 규칙들에 기초할 수 있다. 확률을 조정하기 위한 하나의 예시적인 팩터는 픽셀에 대한 시간적 필터링 결정에 관한 신뢰도 레벨이며, 여기서 픽셀의 랜덤 리셋에 대한 확률은 그 픽셀에 대한 시간적 필터링 결정에 관한 신뢰도 레벨에 기초한다.
시간적 필터링은 이미지 프레임 내의 일부 픽셀들에 대해 적용될 수 있고 이미지 프레임 내의 다른 픽셀들에 대해 적용되지 않을 수 있으며, 특정 픽셀들에 적용된 시간적 필터링의 양은 또한 시간적 필터링 동안 변경될 수 있다. 특정 픽셀에 시간적 필터링을 적용할지에 관한 결정은, 하나 이상의 기준들을 각각 갖는 하나 이상의 규칙들에 기초할 수 있다. 시간적 필터링 결정은 픽셀이 이미지의 정적 영역에 대응하는지 또는 동적 영역에 대응하는지를 결정하는 것에 기초할 수 있다. 정적 영역은 이미지 프레임들 사이의 시간적 차이가 특정 임계치 미만인지 여부에 기초하여 결정될 수 있고, 여기서 임계치는 이미지 프레임 내의 예상된 시간적 잡음에 대응할 수 있다. 신뢰도 레벨은 시간적 필터링 결정에 관해 결정될 수 있고, 그 신뢰도 레벨은 시간적 필터링 프로세싱 동안 픽셀을 리셋할지 여부를 결정하기 위해 사용된다.
시간적 필터에서의 픽셀 리셋 레이트는 그 픽셀에 대한 시간적 필터링 결정의 신뢰도 레벨에 기초할 수 있다. 신뢰도 레벨이 높은 픽셀에 대해, 픽셀 리셋들의 레이트는 감소될 수 있거나, 또는 어떠한 리셋들도 수행되지 않을 수 있다. 픽셀 리셋들의 레이트는 또한 신뢰도 레벨에 비례하여 조정될 수 있다. 예를 들어, 영역 내의 픽셀들에 대한 신뢰도 레벨이 높은 임계치를 초과하는 영역에서 어떠한 픽셀 리셋들도 수행되지 않을 수 있는 반면, 영역 내의 픽셀들에 대한 신뢰도 레벨이 중간 임계치를 초과하는 영역에서 낮은 레이트의 리셋들(예를 들어, 20개의 픽셀들 중 1)이 수행될 수 있고, 신뢰도 레벨이 중간 임계치 미만인 영역에서 정상 레이트의 리셋들(예를 들어, 10개의 픽셀들 중 1)이 수행될 수 있다. 시간적 필터링 결정의 신뢰도 레벨은 하나 이상의 기준들에 기초할 수 있다. 예를 들어, 높은 신뢰도 레벨은 이미지의 영역에서 충분히 높은 신호대 잡음비(SNR)를 갖는 것과 연관될 수 있다. 다른 예에서, 높은 신뢰도 레벨은, 이미지의 영역에서 강한 텍스처의 존재, 및 동시에, 시간적 필터에 입력되는 이미지 프레임들 내의 픽셀 사이에서 낮은 시간적 차이를 검출하는 것과 연관될 수 있다. 픽셀 리셋 레이트는, 픽셀의 리셋의 확률을 나타내는 리셋 가중치 맵, 및 시간적 필터링이 수행될 것으로 달리 결정되는 개별 픽셀을 리셋할지 또는 리셋하지 않을지를 결정하기 위해 그 확률에 의해 수정되는 랜덤 함수를 사용하여 구현될 수 있다.
본 명세서에서 설명된 시간적 필터링은, 이미지 센서의 출력에 대해 직접적으로 또는 저장된 일련의 이미지 프레임들에 대해 2개 이상의 이미지 프레임들을 프로세싱함으로써 구현될 수 있다. 일부 실시예들에서, 하나의 이미지 프레임은 현재 프로세싱되고 있는 일련의 이미지 프레임들 내의 이미지 프레임을 지칭하는 현재 이미지 프레임이다. 실시간 이미지 캡처 디바이스에서, 현재 이미지 프레임은 이미지 센서에 의해 캡처된 가장 최근의 이미지 프레임일 수 있다. 시간적 필터링은, 이를테면, 이미지 센서에 의해 시간상 더 일찍 캡처된 이미지 프레임을 이용하여 일련의 이미지 프레임들에서 더 일찍 발생하는 하나 이상의 이전 이미지 프레임들에 기초하여 현재 이미지 프레임의 픽셀을 수정할 수 있다. 일부 실시예들에서, 시간적 필터는, 그 자체가 시간적으로 필터링되는 이전 이미지 프레임을 사용하여 현재 이미지 프레임을 프로세싱하는 무한 임펄스 응답(IIR) 필터일 수 있다. IIR 필터들은 더 낮은 대역폭, 더 낮은 계산 자원들 및 더 적은 전력을 사용하여 시간적 필터링을 제공한다. 따라서, IIR 필터들은, 배터리들과 같은 제한된 전력 공급부들로부터 동작하는 디바이스들에서 또는 디바이스 이동성 팩터들로 인해 감소된 프로세싱 능력들로 동작하는 디바이스들에서 유익할 수 있다.
일부 실시예들에서, 시간적 필터링은 블렌딩 전에 적용된 모션 보상 없이 이미지 프레임들에 적용될 수 있다. 일부 실시예들에서, 시간적 필터링은, 시간적 필터 내의 다른 프레임들과의 블렌딩 전에 적용된 모션 보상과 함께 이미지 프레임들에 적용될 수 있다. 시간적 필터링 전에 모션 보상이 적용된 실시예들에서, 이미지 프레임들의 블렌딩은 정적 영역들(예를 들어, 하나의 이미지 프레임으로부터 다른 이미지 프레임으로의 픽셀의 변화가 임계량 미만인 영역들)에서 수행될 수 있다.
이러한 요약은 논의된 기법의 기본적인 이해를 제공하기 위해 본 개시의 일부 양태들을 설명한다. 이러한 요약은 본 개시의 모든 고려된 특징들의 포괄적인 개요가 아니며, 본 개시의 모든 양태들의 핵심 또는 중요한 엘리먼트들을 식별하거나 본 개시의 임의의 또는 모든 양태들의 범위를 서술하도록 의도되지 않는다. 이러한 요약의 유일한 목적은, 이후에 제시되는 더 상세한 설명에 대한 서론으로서 요약 형태로 본 개시의 하나 이상의 양태들의 일부 개념들을 제시하려는 것이다.
일반적으로, 본 개시는 이미지 센서들 및 이미지 신호 프로세서(ISP)들을 갖는 디지털 카메라들을 수반하는 이미지 프로세싱 기법들을 설명한다. 이미지 신호 프로세서는, 하나 이상의 이미지 센서들로부터 이미지 프레임들의 캡처를 제어하고, 보정된 이미지 프레임에서 장면의 뷰를 생성하기 위해 하나 이상의 이미지 센서들로부터의 이미지 프레임들을 프로세싱하도록 구성될 수 있고, 여기서 보정된 이미지 프레임을 생성하기 위한 프로세스의 일부로서 하나 이상의 이미지 센서들로부터 캡처된 2개 이상의 이미지 프레임들을 블렌딩하기 위해 시간적 필터링이 적용될 수 있다. 일 예에서, 이미지 신호 프로세서는 CPU 상의 카메라 애플리케이션과 같은 소프트웨어의 로딩에 응답하여 이미지 프레임들의 시퀀스를 캡처하기 위한 명령을 수신할 수 있다. 이미지 신호 프로세서는 이미지 센서들로부터의 개개의 보정된 이미지들에 기초하여 출력 프레임들의 단일 흐름을 생성하도록 구성될 수 있다. 출력 프레임들의 단일 흐름은 이를테면, 시간적 필터링에 의해 보정된 이미지 센서로부터의 이미지 데이터를 포함하는 이미지 프레임들을 포함할 수 있다. 보정된 이미지 프레임은, 본 개시의 시간적 필터링의 양태들을 다른 계산 촬영 기법들, 이를테면, 높은 동적 범위(HDR) 촬영 또는 멀티-프레임 잡음 감소(MFNR)와 조합함으로써 생성될 수 있다.
장면을 표현하는 출력 프레임이 본 명세서의 다양한 실시예들에서 설명된 시간적 필터링을 사용하여 이미지 신호 프로세서에 의해 결정된 후에, 장면의 뷰는 디바이스 디스플레이 상에 디스플레이되고, 픽처로서 또는 비디오로서 픽처들의 시퀀스로서 저장 디바이스에 저장되고, 네트워크를 통해 송신되고, 그리고/또는 출력 매체에 인쇄될 수 있다. 예를 들어, 이미지 신호 프로세서는 상이한 이미지 센서들로부터의 이미지 데이터의 입력 프레임들(예를 들어, 픽셀 값들)을 획득하고, 차례로, 이미지 데이터의 대응하는 출력 프레임들(예를 들어, 미리보기 디스플레이 프레임들, 정지 이미지 캡처들, 비디오에 대한 프레임들 등)을 생성하도록 구성될 수 있다. 다른 예들에서, 이미지 신호 프로세서는 3A 파라미터 동기화(예를 들어, 자동 초점(AF), 자동 화이트 밸런스(AWB), 및 자동 노출 제어(AEC)), 출력 프레임들을 통해 비디오 파일을 생성하는 것, 디스플레이를 위한 프레임들을 구성하는 것, 저장을 위한 프레임들을 구성하는 것, 네트워크 접속을 통해 프레임들을 송신하는 것 등과 같은 추가 프로세싱을 위해 다양한 출력 디바이스들 및/또는 카메라 모듈들에 이미지 데이터의 프레임들을 출력할 수 있다. 즉, 이미지 신호 프로세서는, 하나 이상의 카메라 렌즈들에 각각 커플링된 하나 이상의 이미지 센서들로부터 착신 프레임들을 획득할 수 있고, 그 다음, 출력 프레임들의 흐름을 생성하여 다양한 출력 목적지들에 출력할 수 있다. 이러한 예들에서, 이미지 신호 프로세서는 픽셀 리셋들을 이용한 개선된 시간적 필터링으로 인해 감소된 고스팅 또는 다른 아티팩트들을 가질 수 있는 출력 프레임들의 흐름을 생성하도록 구성될 수 있다.
본 개시의 일 양태에서, 이미지 프로세싱을 위한 방법은 제1 이미지 프레임 및 제2 이미지 프레임을 수신하는 단계를 포함한다. 방법은 제1 이미지 프레임 및 제2 이미지 프레임을 조합하기 위해 시간적 필터링을 적용함으로써 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것으로 계속될 수 있다. 시간적 필터링은 일부 픽셀들(예를 들어, "제1 복수의 픽셀들")에 대해, 제3 이미지 프레임의 픽셀을 제1 이미지 프레임 및 제2 이미지 프레임의 대응하는 픽셀의 조합으로서 결정하는 것을 포함할 수 있다. 시간적 필터링은 다른 픽셀들(예를 들어, "제2 복수의 픽셀들")에 대해, 제2 이미지 프레임에 기초하지 않고 제1 이미지 프레임에 기초하여 제3 이미지 프레임의 픽셀을 결정함으로써 시간적 필터를 리셋하는 것을 포함할 수 있다. 리셋은 이전 이미지 프레임들로부터 제3 이미지 프레임에 대한 기여를 제거할 수 있고, 대신에 제3 이미지 프레임의 픽셀은 현재 이미지 프레임에만 기초할 수 있다. 제3 이미지 프레임의 특정 픽셀들의 이러한 리셋은 제3 이미지 프레임에서 고스트들 및 다른 아티팩트들의 존재를 감소시킴으로써, 장면 무결성을 개선하고, 장면의 더 정확한 표현을 생성하며, 사용자에 대한 더 높은 품질의 사진 또는 비디오를 생성할 수 있다.
일부 실시예들에서, 리셋되는 제3 이미지 프레임의 픽셀들은 각각의 프레임에 대해 랜덤하게 선택된다. 일부 실시예들에서, 랜덤 픽셀들은 픽셀에 대한 시간적 필터링(TF) 결정과 연관된 신뢰도 레벨에 기초하여 가중된다. 일부 실시예들에서, 시간적 필터링은 무한 임펄스 응답(IIR) 필터일 수 있고, 여기서 시간적 필터에서 조합하기 위해 사용되는 제2 이미지 프레임 입력은 그 자체가 제1 이미지 프레임 및 제2 이미지 프레임 이전의 적어도 하나의 이미지 프레임에 기초하여 시간적으로 필터링된 이미지 프레임이다. 일부 실시예들에서, 시간적 필터링은 제1 ("현재") 이미지 프레임을 제1 이전 이미지 프레임 및 제2 이전 이미지 프레임과 조합하는 시간적 필터와 같은 2개 초과의 이미지 프레임들에 대해 동작하는 시간적 필터일 수 있다. 2개 초과의 입력 이미지 프레임들을 조합하는 시간적 필터의 리셋은, 출력 이미지 프레임을 현재 이미지 프레임에 기초하는 것 및 출력 이미지 프레임을 이전 이미지 프레임들 중 적어도 하나 또는 이전 이미지 프레임들 모두에 기초하지 않는 것을 수반할 수 있다.
일부 양태들에서, 방법은, 제1 이미지 프레임 및 제2 이미지 프레임이 상이한 노출 시간들, 상이한 애퍼처들, 상이한 렌즈들, 또는 2개의 이미지 프레임들이 조합될 때 융합된 이미지의 개선된 동적 범위를 초래할 수 있는 다른 상이한 특성들을 사용하여 캡처되는 HDR 촬영을 위해 수행될 수 있다. 일부 양태들에서, 방법은, 제1 이미지 프레임 및 제2 이미지 프레임이 동일한 또는 상이한 노출 시간들을 사용하여 캡처되는 MFNR 촬영을 위해 수행될 수 있다.
본 개시의 추가의 양태에서, 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 커플링된 메모리를 포함하는 장치가 개시된다. 적어도 하나의 프로세서는 본 명세서에 설명된 방법들 또는 기법들 중 임의의 것을 수행하도록 구성된다. 예를 들어, 적어도 하나의 프로세서는 제1 이미지 프레임 및 제2 이미지 프레임을 수신하는 것을 포함하는 단계들을 수행하도록 구성될 수 있다. 적어도 하나의 프로세서는 또한 제1 이미지 프레임 및 제2 이미지 프레임을 조합하기 위해 시간적 필터링을 적용함으로써 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하도록 구성될 수 있다. 시간적 필터링은 일부 픽셀들(예를 들어, "제1 복수의 픽셀들")에 대해, 제3 이미지 프레임의 픽셀을 제1 이미지 프레임 및 제2 이미지 프레임의 대응하는 픽셀의 조합으로서 결정하는 것을 포함할 수 있다. 시간적 필터링은 다른 픽셀들(예를 들어, "제2 복수의 픽셀들")에 대해, 제2 이미지 프레임에 기초하지 않고 제1 이미지 프레임에 기초하여 제3 이미지 프레임의 픽셀을 결정함으로써 시간적 필터를 리셋하는 것을 포함할 수 있다. 리셋은 이전 이미지 프레임들로부터 제3 이미지 프레임에 대한 기여를 제거할 수 있고, 대신에 제3 이미지 프레임의 픽셀은 현재 이미지 프레임에만 기초할 수 있다. 제3 이미지 프레임의 특정 픽셀들의 이러한 리셋은 제3 이미지 프레임에서 고스트들 및 다른 아티팩트들의 존재를 감소시킴으로써, 장면 무결성을 개선하고, 장면의 더 정확한 표현을 생성하며, 사용자에 대한 더 높은 품질의 사진 또는 비디오를 생성할 수 있다.
적어도 하나의 프로세서는 이미지 신호 프로세서 또는 카메라 제어 및/또는 프로세싱을 위한 특정 기능, 이를테면 시간적 필터링 및/또는 모션 보상을 인에이블 또는 디스에이블하는 것을 포함하는 프로세서를 포함할 수 있다. 적어도 하나의 프로세서는 또한 또는 대안적으로 애플리케이션 프로세서를 포함할 수 있다. 본 명세서에 설명된 방법들 및 기법들은 이미지 신호 프로세서 또는 애플리케이션 프로세서에 의해 전체적으로 수행될 수 있거나, 또는 다양한 동작들은 이미지 신호 프로세서와 애플리케이션 프로세서, 그리고 일부 양태들에서 추가적인 프로세서들 사이에서 분할될 수 있다.
장치는 제1 이미지 센서를 포함하는 것과 같이 1개, 2개, 또는 그 초과의 이미지 센서들을 포함할 수 있다. 다수의 이미지 센서들이 존재할 때, 제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 이미지 프레임 및 제2 이미지 프레임을 수신하는 것을 포함할 수 있다. 동작들은 또한 제1 이미지 프레임 및 제2 이미지 프레임을 조합하기 위해 시간적 필터링을 적용함으로써 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것을 포함할 수 있다. 시간적 필터링은 일부 픽셀들(예를 들어, "제1 복수의 픽셀들")에 대해, 제3 이미지 프레임의 픽셀을 제1 이미지 프레임 및 제2 이미지 프레임의 대응하는 픽셀의 조합으로서 결정하는 것을 포함할 수 있다. 시간적 필터링은 다른 픽셀들(예를 들어, "제2 복수의 픽셀들")에 대해, 제2 이미지 프레임에 기초하지 않고 제1 이미지 프레임에 기초하여 제3 이미지 프레임의 픽셀을 결정함으로써 시간적 필터를 리셋하는 것을 포함할 수 있다. 리셋은 이전 이미지 프레임들로부터 제3 이미지 프레임에 대한 기여를 제거할 수 있고, 대신에 제3 이미지 프레임의 픽셀은 현재 이미지 프레임에만 기초할 수 있다. 제3 이미지 프레임의 특정 픽셀들의 이러한 리셋은 제3 이미지 프레임에서 고스트들 및 다른 아티팩트들의 존재를 감소시킴으로써, 장면 무결성을 개선하고, 장면의 더 정확한 표현을 생성하며, 사용자에 대한 더 높은 품질의 사진 또는 비디오를 생성할 수 있다.
다른 양태들, 특징들, 및 구현들이 첨부한 도면들과 함께 특정의 예시적인 양태들에 대한 아래의 설명을 검토할 시에 당업자들에게 자명해질 것이다. 특징들이 아래에서 특정 양태들 및 도면들에 대해 논의될 수 있지만, 다양한 양태들은 본원에서 논의된 유리한 특징들 중 하나 이상을 포함할 수 있다. 다시 말해서, 하나 이상의 양태들이 특정의 유리한 특징들을 갖는 것으로 논의될 수 있지만, 그러한 특징들 중 하나 이상은 또한 다양한 양태들에 따라 사용될 수 있다. 유사한 방식으로, 예시적인 양태들이 디바이스, 시스템, 또는 방법 양태들로서 아래에서 논의될 수 있지만, 예시적인 양태들은 다양한 디바이스들, 시스템들, 및 방법들로 구현될 수 있다.
방법은, 프로세서로 하여금 방법의 단계들을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램 코드로서 컴퓨터 판독가능 매체에 임베딩될 수 있다. 일부 실시예들에서, 프로세서는, 복수의 네트워크 접속들 중 제1 네트워크 접속을 통해 데이터, 이를테면 이미지들 또는 비디오들을 레코딩으로서 또는 스트리밍 데이터로서 송신하도록 구성된 제1 네트워크 어댑터; 및 제1 네트워크 어댑터 및 메모리에 커플링된 프로세서를 포함하는 모바일 디바이스의 일부일 수 있다. 프로세서는 5G NR 통신 네트워크와 같은 무선 통신 네트워크를 통해 본 명세서에 설명된 시간적으로 필터링된 이미지 프레임들의 송신을 야기할 수 있다.
전술한 것은 후속하는 상세한 설명이 더 잘 이해될 수 있도록 본 발명의 실시예들의 특정 특징들 및 기술적 이점들을 다소 폭넓게 개괄하였다. 본 발명의 청구항들의 주제를 형성하는 부가적인 특징들 및 이점들이 이하에서 설명될 것이다. 개시된 개념 및 특정 실시예가 동일한 또는 유사한 목적들을 수행하기 위한 다른 구조들을 수정 또는 설계하기 위한 기반으로서 용이하게 활용될 수 있음을 당업자는 인식하여야 한다. 또한 당업자는 그러한 균등 구성들이 첨부된 청구항들에 기재된 바와 같은 본 발명의 정신 및 범위로부터 벗어나지 않음을 이해하여야 한다. 추가적인 특징들은 첨부 도면과 관련하여 고려될 때 이하의 설명으로부터 더 잘 이해될 것이다. 그러나, 도면들 각각은 단지 예시 및 설명의 목적을 위해 제공되고, 본 발명을 제한하려는 것이 아님을 분명히 이해하여야 한다.
본 개시의 속성 및 장점들의 추가적인 이해는 아래의 도면들을 참조하여 실현될 수 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특징들은 동일한 참조 라벨을 가질 수 있다. 또한, 동일한 타입의 다양한 컴포넌트들은 참조 라벨 다음에 대시기호 및 유사한 컴포넌트들을 구별하는 제2 라벨에 의해 구별될 수 있다. 본 명세서에서 단지 제1 참조 라벨이 사용되면, 그 설명은, 제2 참조 라벨과는 무관하게 동일한 제1 참조 라벨을 갖는 유사한 컴포넌트들 중 임의의 컴포넌트에 적용가능하다.
도 1은 본 개시의 실시예들에서 설명된 예시적인 기법들 중 하나 이상을 수행하도록 구성된 컴퓨팅 디바이스의 블록도이다.
도 2는 본 개시의 일부 실시예들에 따른, 시간적 필터링의 리셋과 함께 이미지 프레임들을 시간적으로 필터링하는 방법을 예시하는 흐름도이다.
도 3은 본 개시의 일부 실시예들에 따른, 일부 픽셀들에서 필터의 리셋을 갖는 무한 임펄스 응답(IIR) 필터를 사용하는 시간적 필터링의 구현을 예시하는 블록도이다.
도 4는 본 개시의 일부 실시예들에 따른, 무한 임펄스 응답(IIR) 필터에 대한 리셋 로직의 구현을 예시하는 블록도이다.
도 5는 본 개시의 일부 실시예들에서 설명된 바와 같은 시간적 필터링의 랜덤 리셋과 함께 이미지 프레임들을 시간적으로 필터링하는 방법을 예시하는 흐름도이다.
도 6은 본 개시의 일부 실시예들에 따른, 픽셀들의 특성들에 기초하여 결정된 리셋으로 이미지 프레임들을 시간적으로 필터링하는 방법을 예시하는 흐름도이다.
도 7은 본 개시의 일부 실시예들에 따른, 시간적 필터의 랜덤 리셋을 위한 이미지 프레임의 픽셀들에 대한 가중치들을 예시하는 블록도이다.
도 8은 본 개시의 일부 실시예들에 따른, 신뢰도 레벨에 기초하여 이미지 프레임의 픽셀에 대한 시간적 필터링을 리셋하기 위한 확률을 결정하는 방법을 예시하는 흐름도이다.
도 9는 본 개시의 일부 실시예들에 따른, 시간적 차이 메트릭에 기초하여 이미지 프레임의 픽셀에 대한 시간적 필터링을 리셋하기 위한 확률을 결정하는 방법을 예시하는 그래프이다.
다양한 도면들에서 동일한 참조 번호들 및 지정들은 동일한 엘리먼트들을 표시한다.
첨부된 도면들과 관련하여 아래에 기재된 상세한 설명은 다양한 구성들의 설명으로서 의도되며, 본 개시의 범위를 제한하도록 의도되지 않는다. 오히려, 상세한 설명은 발명의 청구대상의 완전한 이해를 제공할 목적으로 특정 세부사항들을 포함한다. 이런 특정 세부사항들이 모든 각각의 경우에서 요구되지는 않는다는 것, 및 일부 경우들에서는, 제시의 명확함을 위해, 잘 알려진 구조들 및 컴포넌트들은 블록 다이어그램 형태로 도시된다는 것이 당업자들에게 자명할 것이다.
본 개시는, 촬영 및 비디오를 위한 캡처된 이미지 프레임들의 이미지 프로세싱, 및 특히, 고스팅을 감소시키고 이미지 프레임에서의 그 표현에서 장면의 무결성을 개선하기 위한 이미지 프레임들의 시간적 필터링을 지원하는 시스템들, 장치, 방법들 및 컴퓨터 판독가능 매체들을 제공한다. 본 개시에서 설명된 청구 대상의 특정 구현들은 예를 들어, 저조도 장면들에서 획득된 이미지 프레임들의 시퀀스들에서 아티팩트들을 감소시킴으로써 개선된 이미지 품질과 같은 잠재적인 장점들 또는 이점들을 실현하도록 구현될 수 있다. 시스템들, 장치, 방법들 및 컴퓨터 판독가능 매체들은 모바일 폰들, 태블릿 컴퓨팅 디바이스들, 랩톱 컴퓨팅 디바이스들, 다른 컴퓨팅 디바이스들 또는 디지털 카메라들과 같은 이미지 캡처 디바이스들에 임베딩될 수 있다.
스마트폰과 같은, 하나 이상의 이미지 센서들을 사용하여 이미지 프레임들을 캡처하기 위한 예시적인 디바이스는 디바이스의 후면(예를 들어, 사용자 디스플레이의 반대측) 또는 전면(예를 들어, 사용자 디스플레이와 동일한 측면) 상에 2개, 3개, 4개 또는 그 초과의 카메라들의 구성을 포함할 수 있다. 다수의 이미지 센서들을 갖는 디바이스들은 하나 이상의 이미지 신호 프로세서(ISP)들, 컴퓨터 비전 프로세서(CVP)들, 또는 이미지 센서들에 의해 캡처된 이미지들을 프로세싱하기 위한 다른 적합한 회로부를 포함한다. 하나 이상의 이미지 신호 프로세서는, 인코딩, 저장, 송신 또는 다른 조작과 같은, 추가 프로세싱을 위해, 프로세싱된 이미지 프레임들을 메모리 및/또는 프로세서(예컨대, 애플리케이션 프로세서, 이미지 프론트 엔드(IFE), 이미지 프로세싱 엔진(IPE), 또는 다른 적절한 프로세싱 회로부)에 제공할 수 있다.
본 명세서에서 사용되는 바와 같이, 이미지 센서는 이미지 센서 자체, 및 단기 버퍼이든 또는 장기 비휘발성 메모리이든 간에, 메모리에의 저장 또는 이미지 신호 프로세서 또는 다른 로직 회로부에 의한 프로세싱을 위해 이미지 프레임을 생성하는 데 사용되는 이미지 센서에 커플링된 임의의 특정한 다른 컴포넌트들을 지칭할 수 있다. 예를 들어, 이미지 센서는 셔터, 버퍼 또는 이미지 센서의 개별 픽셀들에 액세스하기 위한 다른 판독 회로부를 포함하는 카메라의 다른 컴포넌트들을 포함할 수 있다. 이미지 센서는 아날로그 신호들을, 이미지 센서에 커플링된 디지털 회로부에 제공되는 이미지 프레임에 대한 디지털 표현들로 변환하기 위한 아날로그 프론트 엔드 또는 다른 회로부를 추가로 지칭할 수 있다.
다음의 설명에 있어서, 본 개시의 철저한 이해를 제공하기 위해 특정 컴포넌트들, 회로들, 및 프로세서들의 예들과 같이 다수의 특정 상세들이 기술된다. 본 명세서에서 사용된 바와 같은 "커플링된(coupled)"이라는 용어는 하나 이상의 개재하는 컴포넌트들 또는 회로들을 통해 접속되거나 직접 접속되는 것을 의미한다. 또한, 이하의 설명에서 그리고 설명의 목적들을 위해, 본 개시의 완전한 이해를 제공하기 위해 특정 전문용어가 전개된다. 하지만, 본원에 개시된 교시들을 실시하기 위해 이들 특정 상세들은 요구되지 않을 수 있음은 당업자에게 명백할 것이다. 다른 경우들에서, 잘 알려진 회로들 및 디바이스들은 본 개시의 교시들을 모호하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 도시된다.
다음에 이어지는 상세한 설명들의 일부 부분들은 컴퓨터 메모리 내에서의 데이터 비트들에 대한 연산의 절차, 로직 블록, 프로세싱, 및 기타 상징적 표현들의 관점에서 제시된다. 본 개시에서, 절차, 로직 블록, 프로세스 등은 원하는 결과로 이끄는 단계들 또는 명령들의 자기-일관성있는 시퀀스인 것으로 인식된다. 단계들은 물리적 수량들의 물리적 조작들을 요구하는 것들이다. 필수적인 것은 아니지만 통상적으로, 이들 양들은 컴퓨터 시스템에서 저장되고, 전송되고, 조합되고, 비교되고 그 외에 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 취한다.
도면들에서, 단일 블록은 기능 또는 기능들을 수행하는 것으로 설명될 수 있다. 블록에 의해 수행된 기능 또는 기능들은 단일 컴포넌트에서 또는 다중 컴포넌트들에 걸쳐 수행될 수 있고, 그리고/또는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 수행될 수 있다. 하드웨어와 소프트웨어의 이러한 상호교환 가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능성의 면에서 이하에서 설명된다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시의 범위로부터 벗어나게 하는 것으로 해석되지는 않아야 한다. 또한, 예시의 디바이스들은 프로세서, 메모리 등과 같은 주지된 컴포넌트들을 포함하여, 나타낸 것들 외의 컴포넌트들을 포함할 수 있다.
본 개시의 양태들은 이미지 프레임들(또는 "프레임들")을 캡처할 수 있는 2 이상의 이미지 센서들을 포함하거나 이에 커플링되는 임의의 적절한 전자 디바이스에 적용가능하다. 또한, 본 개시의 양태들은 동일하거나 상이한 능력들 및 특성들(예컨대, 해상도, 셔터 속도, 센서 타입 등)의 이미지 센서들을 갖거나 이에 커플링된 디바이스들에서 구현될 수 있다. 또한, 본 개시의 양태들은, 디바이스가 이미지 센서들을 포함하거나 그에 커플링되는지 여부에 관계없이, 클라우드 컴퓨팅 시스템에 존재하는 프로세싱 디바이스들을 포함하여, 프로세싱을 위해 저장된 이미지들을 검색할 수 있는 프로세싱 디바이스들과 같이, 이미지 프레임들을 프로세싱하기 위한 디바이스들에서 구현될 수 있다.
다음의 논의로부터 명백한 바와 같이 달리 구체적으로 언급되지 않는 한, 본 출원 전체에 걸쳐, "액세스하는것", "수신하는 것", "전송하는 것", "사용하는 것", "선택하는 것", "결정하는 것", "정규화하는 것", "승산하는 것", "평균화하는 것", "모니터링하는 것", "비교하는 것", "적용하는 것", "업데이트하는 것", "측정하는 것", "도출하는 것", "정산하는 것(settling)", "생성하는 것" 등과 같은 용어들을 활용한 논의는, 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자적) 양으로서 표현된 데이터를 컴퓨터 시스템의 레지스터들, 메모리들, 또는 다른 그러한 정보 저장, 송신 또는 디스플레이 디바이스 내의 물리적 양으로서 유사하게 표현된 다른 데이터로 조작 또는 변환하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 지칭한다.
용어들 "디바이스" 및 "장치"는 하나 또는 특정 수의 물리적 오브젝트(예컨대, 하나의 스마트폰, 하나의 카메라 제어기, 하나의 프로세싱 시스템 등)로 제한되지 않는다. 본 명세서에서 사용된 바와 같이, 디바이스는 본 개시의 적어도 일부 부분들을 구현할 수 있는 하나 이상의 부분들을 갖는 임의의 전자 디바이스일 수 있다. 하기의 설명 및 예들이 본 개시의 다양한 양태들을 설명하기 위해 용어 "디바이스"를 사용하지만, 용어 "디바이스"는 특정 구성, 타입, 또는 수의 객체들로 제한되지 않는다. 본 명세서에서 사용된 바와 같이, 장치는 설명된 동작들을 수행하기 위한 디바이스 또는 디바이스의 일부를 포함할 수 있다.
도 1은 하나 이상의 이미지 센서들로부터의 이미지 캡처를 수행하기 위한 예시적인 디바이스(100)의 블록도를 도시한다. 디바이스(100)는 제1 이미지 센서(101), 제2 이미지 센서(102) 및 깊이 센서(140)와 같은 하나 이상의 이미지 센서들로부터의 이미지 프레임들을 프로세싱하기 위해 이미지 신호 프로세서(112)를 포함하거나 그렇지 않으면 그에 커플링될 수 있다. 일부 구현들에서, 디바이스(100)는 또한 프로세서(104) 및 명령들(108)을 저장하는 메모리(106)를 포함하거나 또는 이에 커플링된다. 디바이스(100)는 또한 디스플레이(114) 및 다수의 입력/출력(I/O) 컴포넌트들(116), 이를테면 터치 스크린 인터페이스 및/또는 물리적 버튼들을 포함하거나 그에 커플링될 수 있다. 디바이스(100)는 또한 디바이스(100)를 에너지원에 커플링시키기 위한 컴포넌트 또는 배터리와 같은 디바이스(100)를 위한 전력 공급부(118)를 포함하거나 이에 커플링될 수 있다. 디바이스(100)는 또한 도 1에 도시되지 않은 부가 특징부들 또는 컴포넌트들을 포함하거나 이에 커플링될 수 있다. 일 예에서, 다수의 트랜시버들 및 기저대역 프로세서를 포함할 수 있는 무선 인터페이스가 무선 통신 디바이스를 위해 포함될 수 있다. 추가 예에서, 아날로그 이미지 프레임 데이터를 디지털 이미지 프레임 데이터로 변환하기 위한 아날로그 프론트 엔드(AFE)가 이미지 센서들(101 및 102)과 이미지 신호 프로세서(112) 사이에 커플링될 수 있다.
디바이스는 디바이스(100)의 이동에 관한 데이터, 디바이스(100) 주위의 환경에 관한 데이터, 및/또는 다른 비-카메라 센서 데이터를 수신하기 위해 센서들과 인터페이싱하기 위한 센서 허브(150)를 포함하거나 그에 커플링될 수 있다. 일부 실시예들에서, 그러한 비-카메라 센서들은 디바이스(100)에 통합될 수 있다. 하나의 예시적인 비-카메라 센서는 모션 데이터를 생성하기 위해 회전, 배향 및/또는 각속도를 측정하도록 구성된 디바이스인 자이로스코프이다. 다른 예시적인 비-카메라 센서는 가속도를 측정하도록 구성된 디바이스인 가속도계이며, 이는 또한 측정된 가속도를 적절하게 적분함으로써 속도 및 이동 거리를 결정하는 데 사용될 수 있으며, 가속도, 속도 및/또는 거리 중 하나 이상은 생성된 모션 데이터에 포함될 수 있다. 일부 양태들에서, 전자 이미지 안정화 시스템(EIS)의 자이로스코프는 센서 허브에 커플링되거나 이미지 신호 프로세서(112)에 직접 커플링될 수 있다. 다른 예에서, 비-카메라 센서는 GPS(global positioning system) 수신기일 수 있다.
이미지 신호 프로세서(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)을 조정하는 연관된 오토포커스(AF) 시스템들(133 및 134)을 각각 가질 수 있다. AF 시스템들(133 및 134)은 깊이 센서(140)에 의해 보조될 수 있다. AF 시스템들(133 및 134)의 초점 깊이는, 이미지 센서들(101 및 102)에 의해 캡처된 이미지 프레임들과 연관된 메타데이터를 통해, ISP(112)와 같은 디바이스(100)의 다른 컴포넌트들에 이미지 장면에 관한 깊이 정보를 제공할 수 있다. 디바이스(100)는 디바이스(100) 내에 위치된 또는 디바이스(100)로부터 분리된 이미지 센서들의 조합으로부터 이미지 데이터에 대한 이미지 프로세싱을 수행할 수 있다.
제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)는 2개 이상의 이미지 프레임들을 시간적으로 필터링하도록 특정하게 구성된 회로부, 무한 임펄스 응답(IIR) 필터를 구현하도록 특정하게 구성된 회로부, 및/또는 이미지 프레임에 모션 보상을 적용하도록 특정하게 구성된 회로부를 포함할 수 있다.
일부 구현들에서, 메모리(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)을 단일 패키지로 통합하는 SoC(system on chip)이다.
일부 실시예들에서, 이미지 신호 프로세서(112) 또는 프로세서(104) 중 적어도 하나는 시간적 필터링의 조합 동작들을 포함하여, 본 명세서에 설명된 다양한 동작들을 수행하기 위한 명령들을 실행한다. 예를 들어, 명령들의 실행은 이미지 프레임 또는 이미지 프레임들의 시퀀스를 캡처하는 것을 시작 또는 종료하도록 이미지 신호 프로세서(112)에 명령할 수 있으며, 여기서 캡처는 본 명세서의 실시예들에서 설명된 바와 같은 시간적 필터링을 포함한다. 일부 실시예들에서, 프로세서(104)는 메모리(106) 내에 저장된 명령들(108)과 같은, 하나 이상의 소프트웨어 프로그램들의 스크립트들 또는 명령들을 실행할 수 있는 하나 이상의 범용 프로세서들을 포함할 수 있다. 예를 들어, 프로세서(104)는 메모리(106)에 저장된 카메라 애플리케이션(또는 이미지 또는 비디오를 생성하기 위한 다른 적절한 애플리케이션)을 실행하도록 구성된 하나 이상의 애플리케이션 프로세서를 포함할 수 있다. 카메라 애플리케이션을 실행할 때, 프로세서(104)는 이미지 센서들(101 또는 102)을 참조하여 하나 이상의 동작을 수행하도록 이미지 신호 프로세서(112)에 지시하도록 구성될 수 있다. 예를 들어, 카메라 애플리케이션은 이미지 프레임들의 시퀀스를 포함하는 비디오가 캡처 및 프로세싱되는 캡처 커맨드를 수신할 수 있다. 시간적 필터링은 시퀀스 내의 하나 이상의 이미지 프레임들에 적용될 수 있다. 카메라 애플리케이션은 시간적 필터링을 인에이블 및 디스에이블하는 것 및/또는 시간적 필터링에서 조합하기 위한 이미지 프레임들의 수, 시간적 필터링의 적용을 결정하기 위한 파라미터들 및/또는 이미지 프레임 당 수행할 랜덤 리셋들의 절대적 또는 상대적 수와 같은 시간적 필터링의 파라미터들을 구성하는 것을 허용할 수 있다. 프로세서(104)에 의한 카메라 애플리케이션 외부의 명령들(108)의 실행은 또한 디바이스(100)로 하여금 임의의 수의 기능 또는 동작을 수행하게 할 수 있다. 일부 구현들에서, 프로세서(104)는 디바이스(100)로 하여금 다수의 기능들 또는 동작들, 예컨대 본 명세서에 설명된 동작들을 수행하게 하도록 소프트웨어를 실행하는 능력에 부가하여 IC들 또는 다른 하드웨어를 포함할 수 있다. 일부 다른 실시예들에서, 디바이스(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)를 포함하는 특정 디바이스 또는 컴포넌트들의 구성에 제한되지 않는다.
시간적 필터링이 인에이블될 때, 출력 이미지 프레임에 아티팩트들을 생성하는 조건들이 존재할 수 있다. 예를 들어, 장면으로부터 이동하거나 사라지는 객체들은, 시간적으로 필터링된 이미지가 객체를 포함한 이전 이미지 프레임들에 기초하는 것으로 인해, 시간적으로 필터링된 출력에서 긴 시간 동안 유지될 수 있다. 디스플레이에서 이러한 느린 객체들은 때때로, 객체가 장면을 떠났음에도 불구하고 객체가 이미지에 나타나는 것으로 인해 "고스트들"로 지칭된다. 고스트들은 또한, 낮은 콘트라스트(예를 들어, SNR < 1) 이미지들을 시간적 필터링할 때와 같은 다른 상황들 하에서 나타날 수 있다. 고스팅의 효과들은 더 공격적인 시간적 필터링이 적용될 때 더 두드러질 수 있다. 이들 아티팩트들 중 임의의 것은, 장면 표현의 정확도를 감소시키고 사용자 경험을 감소시키는 출력 이미지 프레임에 대한 장면 무결성 문제들을 초래한다. 여기서 언급된 단점들은 단지 대표적이며, 본 발명자들이 기존 디바이스들에 관하여 식별하였고 개선하고자 했던 문제들을 강조하기 위해 포함된다. 아래에서 설명되는 디바이스들의 양태들은 단점들의 일부 또는 전부뿐만 아니라 당업계에 알려진 다른 것들을 다룰 수 있다. 본 명세서에서 설명되는 개선된 디바이스들의 양태들은 전술한 것들 이외의 다른 이점들을 제시하고, 다른 애플리케이션들에서 사용될 수 있다.
디바이스(100)의 일 양태에서, 이미지 센서들(101 및 102) 중 하나 이상으로부터 캡처된 이미지 프레임들은, 이를테면, 이미지 프레임의 특정 픽셀들에 대한 리셋을 이용한 시간적 필터링을 이용하여 수정될 수 있다. 예를 들어, 제1 이미지 센서로부터의 제1 이미지 프레임은 제1 이미지 프레임의 부분들을 제1 센서 또는 상이한 제2 센서로부터 수신된 제2 이미지 프레임의 부분들과 조합함으로써 시간적으로 필터링될 수 있다. 픽셀 리셋을 이용한 시간적 필터링은 도 2, 도 3, 도 4, 도 5, 도 6, 도 7, 및/또는 도 8의 양태들을 참조하여 상이한 실시예들에서 설명된다.
도 2는 본 개시의 일부 실시예들에서 설명된 바와 같은 시간적 필터링의 리셋과 함께 이미지 프레임들을 시간적으로 필터링하는 방법을 예시하는 흐름도이다. 이미지 프로세싱을 위한 방법(200)은, 블록(202)에서, 제1 이미지 프레임 및 제2 이미지 프레임을 수신하는 단계를 포함한다. 일부 실시예들에서, 제1 및 제2 이미지 프레임들은 메모리로부터 수신될 수 있다. 일부 실시예들에서, 제1 이미지 프레임은 이미지 센서로부터 수신될 수 있고, 제2 이미지 프레임은 메모리로부터 수신될 수 있다. 일부 실시예들에서, 제1 및 제2 이미지 프레임은 동일한 또는 상이한 이미지 센서들로부터 수신될 수 있다. 일부 실시예들에서, 제1 이미지 프레임은 메모리 또는 이미지 센서로부터 수신된 이미지 프레임이고, 제2 이미지 프레임은 블록(204)의 시간적 필터링의 출력이다. 제1 및 제2 이미지 프레임만이 블록(202)에서 수신된 것으로 설명되지만, 추가적인 이미지 프레임들이 블록(202)에서 수신되고 블록(204)의 시간적 필터링에서 사용될 수 있다.
블록(204)에서, 방법(200)은 제1 이미지 프레임 및 제2 이미지 프레임을 조합하기 위해 시간적 필터링을 적용함으로써 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임("시간적으로 필터링된" 이미지 프레임)을 결정하는 단계를 포함한다. 제3 이미지 프레임은 사진으로서 저장하기 위해 메모리에 출력될 수 있고, 비디오로서 저장하기 위해 이미지 프레임들의 시퀀스에서 사용하기 위해 메모리에 출력될 수 있고, 디스플레이 디바이스 상에 디스플레이될 수 있고, 원격 뷰어에 송신될 수 있고, 원격 저장 디바이스에 송신될 수 있고 그리고/또는 원격 디스플레이에 실시간으로 송신될 수 있다.
블록(204)의 시간적 필터링의 리셋은 제3 이미지 프레임의 픽셀들에 대해 상이한 프로세싱을 수행하는 것을 포함할 수 있다. 제3 이미지 프레임의 특정 픽셀들(예를 들어, "제3 복수의 픽셀들")은 블록(202)의 제1 이미지 프레임 및 제2 이미지 프레임을 사용한 시간적 필터링의 결과에 기초하여 결정될 수 있다. 이러한 픽셀들은 제3 이미지 프레임 내의 모든 픽셀들(예를 들어, "제4 복수의 픽셀들") 전부 또는 이들의 서브세트일 수 있다. 시간적 필터링을 사용하여 결정될 제3 복수의 픽셀들 중 일부는, 예를 들어 고스팅을 감소시킴으로써 이미지 품질을 개선하기 위해 리셋될 수 있다. 이는, 결정된 제3 복수의 픽셀들을, 제2 이미지 프레임과 제1 이미지 프레임의 대응하는 픽셀들을 조합함으로써 결정된 제1 복수의 픽셀들로, 그리고 제2 복수의 픽셀들이 리셋되는 것에 기초하여 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 결정된 제2 복수의 픽셀들로 분할한다. 제1 및 제2 이미지 프레임의 대응하는 픽셀들은 이미지 프레임에 대해 동일한 포지션에 있는 픽셀들 또는 장면에 대해 동일한 포지션에 있는 픽셀들을 지칭할 수 있다. 제2 복수의 픽셀들의 리셋은 제2 이미지 프레임과 같은 이전 이미지 프레임들로부터 제3 이미지 프레임에 대한 기여를 제거하거나 또는 감소시킬 수 있다. 대신에, 제2 복수의 픽셀들은 제1(또는 "현재") 이미지 프레임에만 기초할 수 있다. 제3 이미지 프레임의 특정 픽셀들의 이러한 리셋은 제3 이미지 프레임에서 고스트들 및 다른 아티팩트들의 존재를 감소시킬 수 있고, 이로써 장면 무결성을 개선할 수 있다. 제1 복수의 픽셀들로서 프로세싱될 픽셀들의 선택을 결정하고 제2 복수의 픽셀들로서 프로세싱될 픽셀들의 선택을 결정하기 위해 하나 이상의 기준들이 사용될 수 있다. 이러한 하나 이상의 기준들은, 제2 복수의 픽셀들이 확률적으로 선택되도록, 시간적 필터링이 리셋되는 제2 복수의 픽셀들에 포함하기 위해 특정 픽셀들이 선택되는 확률에 영향을 미칠 수 있다. 예를 들어, 픽셀들은, 적어도 특정 퍼센티지 또는 특정 수의 픽셀들이 각각의 시간적으로 필터링된 이미지 프레임에서 리셋되도록 랜덤하게 결정될 수 있다.
일부 실시예들에서 시간적 필터링 동안 일부 픽셀들의 리셋이 도 3에 예시된다. 도 3은 본 개시의 일부 실시예들에 따른, 일부 픽셀들에서 필터의 리셋을 갖는 무한 임펄스 응답(IIR) 필터를 사용하는 시간적 필터링의 구현을 예시하는 블록도이다. 이미지 센서(101)는 시간적 필터(310)에 입력되는 현재 이미지 프레임(302)을 생성할 수 있다. 시간적 필터(310)는 또한 이전 이미지 프레임(304)을 수신한다. 이전 이미지 프레임(304)은 무한 임펄스 응답(IIR) 필터에 대한 시간적 필터(310)의 출력으로부터의 피드백일 수 있다. 대안적으로, 이전 이미지 프레임(304)은 시간적 필터(310)의 다른 실시예들에서, 현재 이미지 프레임(302)의 캡처 전에 이미지 센서(101) 또는 다른 이미지 센서에 의해 캡처된 이미지 프레임일 수 있다. 시간적 필터(310)는, 현재 이미지 프레임(302)의 특정 픽셀들을 이전 이미지 프레임(304)의 대응하는 픽셀들과 조합함으로써 현재 이미지 프레임(302)의 픽셀들을 수정함으로써 출력 이미지 프레임(306)을 결정할 수 있다.
일부 픽셀들(312)은, 출력 이미지 프레임(306)에 대한 이미지 프레임(304)의 기여를 감소시키거나 또는 제거함으로써 시간적 필터(310)에서 이미지 프레임들(302 및 304)의 조합에서 리셋될 수 있다. 예를 들어, 픽셀들(312)은, 픽셀들(312)이 이전 이미지 프레임(304)의 대응하는 픽셀들에 기초하지 않고 이미지 프레임(302)의 대응하는 픽셀들에 기초하도록 랜덤하게 선택되고 리셋될 수 있다. 출력 이미지 프레임(306) 내의 픽셀들(312)의 위치는, 리셋 픽셀들이 하나의 출력 이미지 프레임으로부터 다른 출력 이미지 프레임으로 변화하도록 출력 이미지 프레임들 내에서 그리고 그 사이에서 랜덤화될 수 있다. 출력 이미지 프레임 내의 랜덤 픽셀들(312)의 위치는 픽셀들의 특성들, 픽셀들 주위의 영역들 및/또는 전체로서 이미지 프레임에 기초하여 가중될 수 있다. 마찬가지로, 출력 이미지 프레임 내의 랜덤 픽셀들(312)의 수는 픽셀들의 특성들, 픽셀들의 영역들, 전체로서 이미지 프레임, 또는 이미지 캡처 디바이스의 다른 센서들에 의해 측정된 다른 파라미터들에 기초하여 프레임마다 변할 수 있다. 일부 실시예들에서, (예를 들어, 이미지 프레임의 캡처 동안 수집된) 이미지 프레임에 대응하는 자이로스코프 및/또는 가속도계 데이터는 정적 카메라(예를 들어, 삼각대 상에 장착된 카메라)를 결정하기 위해 그리고 각각의 프레임에서 리셋들의 확률을 감소시키거나 또는 리셋된 픽셀들의 양을 감소시키는 결정에 기초하여 사용될 수 있다.
조합 및 리셋을 수반하는 시간적 필터 프로세싱은 도 4를 참조하여 더 상세히 설명된다. 도 4는 본 개시의 일부 실시예들에 따른, 무한 임펄스 응답(IIR) 필터에 대한 리셋 로직의 구현을 예시하는 블록도이다. 시간적 필터(310)는 현재 이미지 프레임(302) 및 이전 이미지 프레임(304)을 수신한다. 시간적 필터(310)는 픽셀 단위로 현재 이미지 프레임(302)을 수정할 수 있다. 조합기(406)는 현재 이미지 프레임(302)의 하나의 픽셀을 이전 이미지 프레임(304)의 대응하는 픽셀과 조합할 수 있다. 조합하는 것은 예를 들어, 현재 이미지 프레임(302) 및 이전 이미지 프레임(304)의 대응하는 픽셀들의 세기 값들을 평균화하는 것을 포함할 수 있다. 조합기(406)는 가중치 블록(404)에 의해 제공된 가중치 값을 사용하여 대응하는 픽셀들의 가중된 평균화를 수행할 수 있다. 가중치 블록(404)은 현재 이미지 프레임(302)으로부터 이전 이미지 프레임(304)으로의 장면의 공간적 이동으로부터 결정된 모션 팩터에 기초하여 이전 이미지 프레임(304)에서 대응하는 픽셀의 가중치를 결정할 수 있다. 리셋 로직(402)은 리셋하기 위한 특정 픽셀들을 결정하고, 가중치 블록(404)이 픽셀을 리셋하기 위해 조합기(406)에 0 가중치를 출력하게 할 수 있으며, 이는 그 픽셀에 대한 출력 이미지 프레임(306)에 대한 이전 이미지 프레임(304)의 기여를 취소한다. 픽셀 단위의 동작들이 설명되지만, 동작들은 대안적으로, 이미지 프레임의 픽셀들의 그룹들, 이미지 프레임의 영역들 또는 이미지 프레임의 객체들에 대해 수행될 수 있다.
일 실시예에서, 리셋 로직(402)은 시간적 필터(310)가 도 5에 도시된 방법에 따라 동작하도록 리셋하기 위한 픽셀들을 랜덤하게 선택할 수 있다. 도 5는 본 개시의 일부 실시예들에서 설명된 바와 같은 시간적 필터링의 랜덤 리셋과 함께 이미지 프레임들을 시간적으로 필터링하는 방법을 예시하는 흐름도이다. 방법(500)은, 블록(502)에서, 제1 이미지 프레임(예를 들어, 현재 이미지 프레임(302)) 및 제2 이미지 프레임(예를 들어, 이전 이미지 프레임(304))을 수신하는 단계로 시작한다. 블록(504)에서, 방법(500)은 제1 이미지 프레임 및 제2 이미지 프레임을 시간적으로 필터링함으로써 제3 이미지 프레임을 결정하는 단계를 포함하며, 여기서 제3 이미지 프레임의 일부 픽셀들에 대한 시간적 필터링은 랜덤하게 리셋된다. 블록(504)에서 결정된 제3 이미지 프레임은 사용자에게 디스플레이되고 그리고/또는 비디오 시퀀스에 사진 또는 프레임으로서 저장될 수 있다.
다른 실시예에서, 리셋 로직(402)은 특정 픽셀들이 다른 픽셀들보다 리셋될 가능성이 더 높도록 하는 리셋 가중치 값들에 기초하여 리셋할 특정 픽셀들을 결정할 수 있다. 리셋된 가중치 값들은 이미지 프레임 내의 픽셀의 특성들, 이미지 프레임 내의 픽셀 주위의 영역 또는 다른 특성들에 기초하여 결정될 수 있다. 특정 픽셀들은, 이들 특성들에 기초하여, 예를 들어, 이미지 프레임의 대응하는 부분이 정적인지, 즉, 시간 경과에 따라 비교적 변하지 않는지 또는 동적인지, 즉, 시간 경과에 따라 빠르게 변하는지에 기초하여, 다른 픽셀들보다 리셋하기에 더 유익한 것으로 결정될 수 있다. 일부 실시예들에서, 특정 픽셀에 대한 랜덤 확률은 픽셀이 리셋되는 것을 방지하기 위해 0으로 감소되거나 또는 픽셀 리셋을 강제하기 위해 1로 증가될 수 있다. 도 6은 본 개시의 일부 실시예들에 따른, 픽셀들의 특성들에 기초하여 결정된 리셋으로 이미지 프레임들을 시간적으로 필터링하는 방법을 예시하는 흐름도이다. 방법(600)은 블록(602)에서 제1 이미지 프레임 및 제2 이미지 프레임을 수신하는 단계로 시작한다. 블록(604)에서, 제3 이미지 프레임은 제1 이미지 프레임 및 제2 이미지 프레임을 시간적으로 필터링함으로써 결정되며, 여기서 제3 이미지 프레임의 일부 픽셀들에 대한 시간적 필터링은 픽셀들의 특성들에 기초하여 리셋된다.
리셋 가중치 값을 조정하기 위한 픽셀의 하나의 예시적인 특성은 그 픽셀이 객체와 연관되는지 여부이다. 이를테면, 컴퓨터 비전(CV) 프로세서에서 실행되는 객체 검출 알고리즘을 통한 객체 검출은 얼굴들, 나무들, 도로들, 동물들, 식물들, 표면들 등과 같은 객체들을 식별하기 위해 제1 또는 제2 이미지 프레임에 대해 수행될 수 있다. 픽셀들은 객체들 및 함께 조정된 객체에 대응하는 픽셀들에 대한 리셋된 가중치 값들과 연관될 수 있다. 예를 들어, 리셋 가중치 값들은 이미지 프레임의 그 영역에 대응하는 픽셀들에서 정적 객체(예를 들어, 나무)의 식별에 기초하여, 리셋을 방지하기 위해 0들일 수 있다. 대안적으로 또는 추가적으로, 픽셀들에 대한 모션 벡터들은 이미지 프레임에서 객체들을 식별하기 위해 상관될 수 있다. 유사한 모션 벡터들을 갖는 이웃 픽셀들은 유사한 모션 벡터들을 갖는 픽셀들에 대한 리셋 가중치 값들이 함께 조정되도록 연관될 수 있다.
리셋 가중치 값을 조정하기 위한 픽셀의 추가의 예시적인 특성은 픽셀과 연관된 모션 팩터이다. 모션 팩터는 공간적 차이 및/또는 시간적 차이를 표시할 수 있다. 예를 들어, 빠르게 움직이는 객체는, 객체가 제1 이미지 프레임과 제2 이미지 프레임 사이에서 상당히 상이한 위치들에 있기 때문에 높은 시간적 차이를 가질 수 있다. 빠르게 움직이는 객체들은 고스팅 또는 다른 아티팩트들을 생성할 가능성이 더 높을 수 있고, 높은 시간적 움직임과 연관된 픽셀들에 대한 리셋 가중치 값들은 리셋 가중치 값을 증가시킴으로써 더 자주 랜덤하게 리셋될 수 있다. 일부 실시예들에서, 픽셀에 대한 모션 팩터는 픽셀에 대한 모션 벡터에 기초하여 결정될 수 있다. 모션 벡터의 크기는 픽셀에 대한 모션 팩터로서 사용될 수 있고, 픽셀에 대응하는 리셋 가중치 값은 모션 벡터 크기에 기초하여 조정된다.
블록(604)의 결정에 대한 픽셀의 다른 예시적인 특성은 픽셀에 대한 시간적 필터링 결정과 연관된 신뢰도 레벨이다. 특정 픽셀에 시간적 필터링을 적용할지 여부에 관한 결정은 하나 이상의 기준들을 갖는 규칙에 기초할 수 있다. 시간적 필터링 결정은 픽셀이 이미지의 정적 영역에 대응하는지 또는 동적 영역에 대응하는지를 결정하는 것에 기초할 수 있다. 정적 영역은 이미지 프레임들 사이의 시간적 차이가 특정 임계치 미만인지 여부에 기초하여 결정될 수 있고, 이는 이미지 프레임 내의 예상된 시간적 잡음에 대응할 수 있다. 신뢰도 레벨은 픽셀에 대한 시간적 필터링 결정에 관해 결정될 수 있고, 그 신뢰도 레벨은 시간적 필터링 프로세싱 동안 픽셀을 리셋할지 여부를 부분적으로 결정하기 위해 사용된다. 신뢰도 레벨은, 픽셀이 정적이거나 또는 동적이라는 결정이 정확할 가능성, 또는 더 일반적으로는 시간적 필터를 적용하거나 적용하지 않을 결정이 정확할 가능성을 반영한다. 신뢰도 레벨은 픽셀의 영역에서의 신호대 잡음비(SNR) 및 로컬 콘트라스트에 기초하여 결정될 수 있다. 예를 들어, 이웃 픽셀들이 매우 상이함을 나타내는 높은 로컬 콘트라스트는 이미지 프레임에서 잡음이 있을 가능성이 낮은 강한 텍스처를 나타낸다. 높은 신뢰도 레벨은 높은 공간적 차이와 낮은 시간적 차이의 조합으로 픽셀들에 대해 설정될 수 있다. 낮은 신뢰도 레벨은 낮은 공간적 차이 및 높은 시간적 차이를 갖는 픽셀들에 대해 설정될 수 있다.
시간적 필터링 결정과 관련하여 신뢰도 레벨이 높은 픽셀의 경우, 픽셀 리셋들의 레이트가 감소될 수 있거나 또는 어떠한 리셋들도 수행되지 않을 수 있다. 일부 실시예들에서, 픽셀 리셋들의 레이트는 신뢰도 레벨에 비례하여 조정될 수 있다. 예를 들어, 영역 내의 픽셀들에 대한 신뢰도 레벨이 높은 임계치를 초과하는 영역에서 어떠한 픽셀 리셋들도 수행되지 않을 수 있는 반면, 영역 내의 픽셀들에 대한 신뢰도 레벨이 중간 임계치를 초과하는 영역에서 낮은 레이트의 리셋들(예를 들어, 20개의 픽셀들 중 1)이 수행될 수 있고, 신뢰도 레벨이 중간 임계치 미만인 영역에서 정상 레이트의 리셋들(예를 들어, 10개의 픽셀들 중 1)이 수행될 수 있다. 시간적 필터링 결정의 신뢰도 레벨은 하나 이상의 기준들에 기초할 수 있다. 예를 들어, 높은 신뢰도 레벨은 이미지의 영역에서 충분히 높은 신호대 잡음비(SNR)를 갖는 것과 연관될 수 있다. 다른 예에서, 높은 신뢰도 레벨은, 이미지의 영역에서 강한 텍스처의 존재, 및 동시에, 시간적 필터에 입력되는 이미지 프레임들 내의 픽셀 사이에서 낮은 시간적 차이를 검출하는 것과 연관될 수 있다. 신뢰도 레벨을 결정하기 위한 다른 팩터들은 밝기, 공간적 차이 및/또는 시간적 차이를 포함한다.
픽셀들의 리셋은 리셋 가중치 값들에 기초할 수 있으며, 여기서 임의의 특정 픽셀이 랜덤하게 리셋될 가능성은 특정 픽셀에 대한 가중치에 기초한다. 리셋 가중치 맵은 시간적 필터에 의해 수정된 각각의 이미지 프레임에 대해 결정될 수 있고, 가중치 맵은 리셋을 위한 랜덤 픽셀들의 결정 동안 적용된다. 이러한 리셋 가중치 맵은 각각의 픽셀에 대응하는 0 내지 1 범위의 값들의 어레이를 포함할 수 있으며, 여기서 0은 대응하는 픽셀에 대한 리셋의 기회 없음을 표현하고, 1은 대응하는 픽셀에 대한 보장된 리셋을 표현한다. 리셋 가중치 맵은 모든 픽셀들에 대해 동일한 값들, 이를테면 0.50의 값으로 초기화될 수 있어서, 각각의 픽셀은 시간적 필터에 의해 랜덤하게 리셋될 가능성이 동일하다. 리셋 가중치 맵은, 이미지 프레임의 각각의 픽셀에 대해 실행된 랜덤 함수가 이미지 프레임에서 원하는 평균 수의 픽셀들이 리셋되게 하도록 다른 파라미터들과 조합하여 사용될 수 있다. 예시적인 리셋 가중치 맵이 도 7에 도시된다.
도 7은 본 개시의 일부 실시예들에 따른, 시간적 필터의 랜덤 리셋을 위한 이미지 프레임의 픽셀들에 대한 가중치들을 예시하는 블록도이다. 테이블(700)은 입력 이미지 프레임 내의 특정 픽셀들이 시간적 필터링의 적용 동안 리셋될 확률을 수정하기 위한 리셋 가중치 값들을 포함한다. 일부 실시예들에서, 테이블(700)은, 테이블(700)이 입력 이미지의 해상도와 치수들에서 동일하도록, 이미지 프레임의 값들과 픽셀들 사이에 1:1 상관관계를 가질 수 있다. 픽셀이 리셋될 때, 픽셀에 대응하는 테이블(700)의 값은 픽셀이 너무 자주 리셋되는 것을 방지하기 위해 감소될 수 있다. 일부 실시예들에서, 테이블(700)은, 테이블(700)이 입력 이미지의 해상도보다 작도록, 이미지 프레임의 값들과 픽셀들 사이에 N:1 상관관계를 가질 수 있다. 0 값들을 갖는 영역(702)은 본질적으로 정적인 검출된 객체에 대응할 수 있어서, 검출된 객체와 연관된 픽셀들에 대해 시간적 필터링 리셋들이 수행되지 않는다.
도 8은 본 개시의 일부 실시예들에 따른, 신뢰도 레벨에 기초하여 이미지 프레임의 픽셀에 대한 리셋 가중치 값들을 결정하는 방법을 예시하는 흐름도이다. 방법(800)은 블록(802)에서, 시간적 필터링(TF)을 픽셀에 적용할지 여부를 결정하는 단계로 시작한다. 신뢰도 레벨은 TF 결정과 연관될 수 있다. 블록(804)에서 TF 결정에 대한 신뢰도 레벨이 임계치보다 크면, 방법(800)은 블록(808)에서 TF 결정에 대응하는 픽셀을 리셋할 낮은 확률을 계속 설정한다. 블록(804)에서 TF 결정에 대한 신뢰도 레벨이 임계치보다 작으면, 방법(800)은 블록(806)에서 TF 결정에 대응하는 픽셀을 리셋할 높은 확률을 계속 설정한다. 예를 들어, 블록(806)은 0.7의 리셋 확률(제1 확률 값)을 갖도록 특정 픽셀들을 설정할 수 있는 반면, 블록(808)은 0.3(제2 확률 값)의 리셋 확률을 갖도록 특정 픽셀들을 설정할 수 있다. 일부 실시예들에서, 픽셀에 대한 확률 값은 다른 팩터들, 이를테면 픽셀이 N개의 이전 프레임들 중 하나에서 리셋되었는지 또는 픽셀이 M개의 이전 프레임들에서 얼마나 많이 리셋되었는지에 기초하여 수정될 수 있다. 추가적으로 또는 대안적으로, 확률 값은, 현재 또는 이전 이미지 프레임에 대한 리셋 가중치 맵에 기초하여 미래(예를 들어, 다음) 이미지 프레임에 대한 리셋 가중치 맵을 기초로 함으로써 시간의 경과에 따라 증가 또는 감소될 수 있다. 방법(800)은, 도 7에 도시된 바와 같이, 리셋 가중치 맵을 생성하기 위해 이미지 프레임의 픽셀들에 적용되고, 도 6의 시간적 필터링 방법 동안 적용될 수 있다.
도 6의 시간적 필터링에서의 픽셀 리셋의 결정은 또한 다른 특성들에 기초할 수 있다. 도 9는 본 개시의 일부 실시예들에 따른, 시간적 차이 메트릭에 기초하여 이미지 프레임의 픽셀에 대한 시간적 필터링을 리셋하기 위한 확률을 결정하는 방법을 예시하는 그래프이다. 그래프(900)는 x-축 상의 밝기 값들에 대해 y-축 상의 시간적 차이 메트릭 값들을 예시한다. 시간적 차이 메트릭은 픽셀 및/또는 하나의 이미지 프레임으로부터 다음 이미지 프레임까지의 픽셀 주위의 영역에 대한 값의 차이, 또는 시간의 경과에 따른 픽셀의 값의 동적성 또는 변화 레이트를 반영하는 다른 값을 반영한다. 더 동적 픽셀들은 아티팩트들을 생성할 가능성이 더 높으며, 시간적 필터링의 품질을 개선하기 위해, 이를테면 더 높은 리셋 가중치 값들을 가짐으로써 더 자주 리셋될 수 있다. 픽셀에 대한 시간적 차이 메트릭 및 밝기 값들은 제1 임계치(902)를 초과하거나, 제1 임계치(902) 미만이지만 제2 임계치(904)를 초과하거나, 또는 제2 임계치(904) 미만에 속할 수 있다. 임계치들(902 및 904)에 대한 픽셀의 특성들의 관계는 도 7에 도시된 바와 같이 리셋 가중치 맵을 조정하기 위해 사용될 수 있다. 그래프(900)의 x-y 공간에서 제1 임계치(902)를 초과하는 특성 값들을 갖는 픽셀은, 이를테면, 리셋 가중치 값들을 아마도 1만큼 높게 증가시킴으로써 자주 리셋되도록 설정될 수 있다. 제2 임계치(904) 미만의 특성 값들을 갖는 픽셀은 이를테면, 리셋 가중치 값들을 0으로 설정함으로써 결코 리셋되지 않도록 설정될 수 있다. 임계치들(902 및 904) 사이의 특성 값들을 갖는 픽셀은, 임계치(902)에 더 가까운 픽셀들이 이전 이미지 프레임보다 현재 이미지 프레임으로부터 더 큰 기여들을 갖도록 시간적 필터에서 이미지 프레임들의 조합에 적용된 가중치를 가질 수 있다.
하나 이상의 양태들에서, 이미지 프로세싱, 이를테면 임의의 단일 양태 또는 양태들의 임의의 조합을 향상시키기 위한 기법들이 아래에서 또는 본 명세서의 다른 곳에서 설명된 하나 이상의 다른 프로세스들 또는 디바이스들과 관련하여 설명된다. 하나 이상의 양태들에서, 이미지 프로세싱은, 제1 이미지 프레임, 및 제1 이미지 프레임에 시간적으로 이전인 제2 이미지 프레임을 수신하는 단계를 포함하는 방법을 수행하는 것을 포함할 수 있다. 방법은 또한 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 단계를 포함할 수 있다. 방법은 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 단계를 더 포함할 수 있다. 방법은 또한 제1 이미지 프레임의 대응하는 픽셀들을 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 제1 복수의 픽셀들을 결정하는 단계를 포함할 수 있다. 방법은 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 제2 복수의 픽셀들을 결정하는 단계를 더 포함할 수 있다. 일부 구현예들에서, 제2 복수의 픽셀들은 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들이다. 추가적으로, 방법은 사용자 장비(UE)와 같은 무선 디바이스를 포함하는 장치에 의해 수행될 수 있다. 일부 구현들에서, 장치는 적어도 하나의 프로세서, 및 프로세서에 커플링된 메모리를 포함할 수 있다. 그 프로세서는 그 장치에 대해 본 명세서에서 설명된 동작들을 수행하도록 구성될 수 있다. 일부 다른 구현예들에서, 방법은 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 매체에 임베딩될 수 있고, 프로그램 코드는, 컴퓨터로 하여금 장치를 참조하여 본 명세서에 설명된 동작들을 수행하게 하기 위해 컴퓨터에 의해 실행가능할 수 있다. 일부 구현들에서, 방법은 본 명세서에 설명된 동작들을 수행하도록 구성된 하나 이상의 수단들에 의해 수행될 수 있다. 일부 구현들에서, 무선 통신의 방법은 그 장치를 참조하여 본 명세서에서 설명된 하나 이상의 동작들을 포함할 수 있다.
제2 양태에서, 제1 양태와 조합하여, 제3 이미지 프레임을 결정하기 위해 제3 이미지 프레임에 대응하는 리셋 가중치 맵을 결정하고, 제2 복수의 픽셀들은 리셋 가중치 맵에 기초하여 선택된 제3 이미지 프레임 내의 픽셀들이다.
제3 양태에서, 제1 양태 또는 제2 양태 중 하나 이상과 조합하여, 제3 이미지 프레임을 결정하는 단계는 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 단계; 및/또는 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 단계를 포함할 수 있고, 제2 복수의 픽셀들은 신뢰도 레벨들에 기초하여 시간적 필터링을 리셋하기 위해 랜덤하게 선택된다.
제4 양태에서, 제1 양태 내지 제3 양태 중 하나 이상과 조합하여, 방법은, 제2 이미지 프레임으로부터 제1 이미지 프레임으로의 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 단계를 포함할 수 있고, 리셋 가중치 맵은 모션 팩터들에 기초한다.
제5 양태에서, 제1 양태 내지 제4 양태 중 하나 이상과 조합하여, 모션 팩터들을 결정하는 단계는 제2 이미지 프레임과 제1 이미지 프레임 사이의 모션 벡터들을 결정하는 단계를 포함하고, 리셋 가중치 맵은 모션 벡터들의 크기들에 기초한다.
제6 양태에서, 제1 양태 내지 제5 양태 중 하나 이상과 조합하여, 리셋 가중치 맵을 결정하는 단계는 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 단계를 포함하고, 리셋 가중치 맵은 객체의 제1 위치에 기초한다.
제7 양태에서, 제1 양태 내지 제6 양태 중 하나 이상과 조합하여, 제2 복수의 픽셀들은 제3 이미지 프레임 내에서 랜덤하게 선택된 픽셀들이다.
제8 양태에서, 제1 양태 내지 제7 양태 중 하나 이상과 조합하여, 제2 이미지 프레임은, 이를테면 필터가 IIR 필터일 때, 제1 이미지 프레임보다 시간적으로 각각 앞선 제4 이미지 프레임 및 제5 이미지 프레임의 조합에 기초하여 시간적으로 필터링된 이미지 프레임을 포함한다.
제9 양태에서, 제1 양태 내지 제8 양태 중 하나 이상과 조합하여, 방법은 제3 이미지 프레임을 결정하기 전에 제2 이미지 프레임에 모션 보상을 적용하는 단계를 포함한다.
하나 이상의 양태들에서, 디바이스를 지원하기 위한 기법들은, 프로세서; 및 프로세서에 커플링되고 명령들을 저장하는 메모리를 포함하고, 명령들은, 프로세서에 의해 실행될 때, 디바이스로 하여금, 아래에서 또는 본 명세서의 다른 곳에서 설명된 하나 이상의 다른 프로세서들 또는 디바이스들과 관련하여 설명되는 임의의 단일 양태 또는 양태들의 임의의 조합과 같은 추가적인 양태들을 포함할 수 있는 동작들을 수행하게 한다. 제10 양태에서, 이미지 프로세싱을 지원하는 것은, 제1 이미지 프레임, 및 제1 이미지 프레임에 시간적으로 이전인 제2 이미지 프레임을 수신하도록 구성된 장치를 포함할 수 있다. 장치는 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하도록 추가로 구성될 수 있다. 장치는 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하고; 제1 이미지 프레임의 대응하는 픽셀들을 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 제1 복수의 픽셀들을 결정하고; 그리고/또는 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 제2 복수의 픽셀들을 결정하도록 추가로 구성될 수 있다. 일부 구현예들에서, 제2 복수의 픽셀들은 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들이다. 부가적으로, 그 장치는 하기에서 설명되는 바와 같은 하나 이상의 양태들에 따라 수행 또는 동작할 수 있다. 일부 구현들에서, 장치는 사용자 장비(UE) 또는 기지국(BS)과 같은 무선 디바이스, 또는 클라우드-기반 서버와 같은 인프라구조 컴포넌트를 포함한다. 일부 구현들에서, 장치는 적어도 하나의 프로세서, 및 프로세서에 커플링된 메모리를 포함할 수 있다. 그 프로세서는 그 장치에 대해 본 명세서에서 설명된 동작들을 수행하도록 구성될 수 있다. 일부 다른 구현들에서, 그 장치는 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 매체를 포함할 수 있고, 프로그램 코드는 컴퓨터로 하여금 그 장치를 참조하여 본 명세서에서 설명된 동작들을 수행하게 하기 위해 컴퓨터에 의해 실행가능할 수 있다. 일부 구현들에서, 장치는 본원에서 설명된 동작들을 수행하도록 구성된 하나 이상의 수단들을 포함할 수 있다.
제11 양태에서, 제10 양태와 조합하여, 장치는 이를테면 제3 이미지 프레임을 결정하기 위해 제3 이미지 프레임에 대응하는 리셋 가중치 맵을 결정하기 위한 명령들로 구성되고, 제2 복수의 픽셀들은 리셋 가중치 맵에 기초하여 선택된 제3 이미지 프레임 내의 픽셀들이다.
제12 양태에서, 제10 양태 및 제11 양태 중 하나 이상과 조합하여, 제3 이미지 프레임을 결정하는 것은 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것; 및/또는 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 것을 더 포함하고, 제2 복수의 픽셀들은 신뢰도 레벨들에 기초하여 시간적 필터링을 리셋하기 위해 랜덤하게 선택된다.
제13 양태에서, 제10 양태 내지 제12 양태 중 하나 이상과 조합하여, 장치는, 이를테면 제2 이미지 프레임으로부터 제1 이미지 프레임으로의 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 것을 위한 명령들로 구성되고, 리셋 가중치 맵은 모션 팩터들에 기초한다.
제14 양태에서, 제10 양태 내지 제13 양태 중 하나 이상과 조합하여, 모션 팩터들을 결정하는 단계는 제2 이미지 프레임과 제1 이미지 프레임 사이의 모션 벡터들을 결정하는 단계를 포함하고, 리셋 가중치 맵은 모션 벡터들의 크기들에 기초한다.
제15 양태에서, 제10 양태 내지 제14 양태 중 하나 이상과 조합하여, 리셋 가중치 맵을 결정하는 단계는 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 단계를 포함하고, 리셋 가중치 맵은 객체의 제1 위치에 기초한다.
제16 양태에서, 제10 양태 내지 제15 양태 중 하나 이상과 조합하여, 제2 복수의 픽셀들은 제3 이미지 프레임 내에서 랜덤하게 선택된 픽셀들이다.
하나 이상의 양태들에서, 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체를 지원하기 위한 기법들로서, 명령들은, 디바이스의 프로세서에 의해 실행될 때, 디바이스로 하여금, 아래에서 또는 본 명세서의 다른 곳에서 설명된 하나 이상의 다른 프로세서들 또는 디바이스들과 관련하여 설명되는 임의의 단일 양태 또는 양태들의 임의의 조합과 같은 추가적인 양태들을 포함할 수 있는 동작들을 수행하게 한다. 제17 양태에서, 이미지 프로세싱을 지원하는 것은 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있고, 명령들은, 디바이스의 프로세서에 의해 실행될 때, 디바이스로 하여금 동작들을 수행하게 하고, 동작들은, 제1 이미지 프레임 및 시간적으로 제1 이미지 프레임 이전에 있는 제2 이미지 프레임을 수신하는 것, 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것, 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것, 제1 이미지 프레임의 대응하는 픽셀들을 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 제1 복수의 픽셀들을 결정하는 것, 및/또는 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 제2 복수의 픽셀들을 결정하는 것을 포함한다. 일부 구현예들에서, 제2 복수의 픽셀들은 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들이다. 부가적으로, 명령들은 장치로 하여금 하기에서 설명되는 바와 같은 하나 이상의 양태들에 따라 수행 또는 동작하게 한다. 일부 구현들에서, 장치는 기지국(BS) 또는 사용자 장비(UE)와 같은 무선 디바이스를 포함하거나, 또는 클라우드-기반 서버와 같은 인프라구조 디바이스를 포함한다. 일부 구현들에서, 장치는 적어도 하나의 프로세서, 및 프로세서에 커플링된 메모리를 포함할 수 있다. 일부 양태들에서, 프로세서는 본 명세서에 설명된 다른 이미지 기능들을 수행하도록 구성된 회로부를 더 포함하는 이미지 신호 프로세서이다. 그 프로세서는 그 장치에 대해 본 명세서에서 설명된 동작들을 수행하도록 구성될 수 있다. 일부 다른 구현예들에서, 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 매체 및 프로그램 코드는 컴퓨터로 하여금 그 장치를 참조하여 본 명세서에서 설명된 동작들을 수행하게 하기 위해 컴퓨터에 의해 실행가능할 수 있다.
제18 양태에서, 제17 양태와 조합하여, 명령들은, 프로세서에 의해 실행될 때, 디바이스로 하여금, 제3 이미지 프레임을 결정하기 위해 제3 이미지 프레임에 대응하는 리셋 가중치 맵을 결정하는 것을 포함하는 추가 동작들 수행하게 하고, 제2 복수의 픽셀들은 리셋 가중치 맵에 기초하여 선택된 제3 이미지 프레임 내의 픽셀들이다.
제19 양태에서, 제17 양태 및 제18 양태 중 하나 이상과 조합하여, 제3 이미지 프레임을 결정하는 것은 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것; 및/또는 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 것을 더 포함하고, 제2 복수의 픽셀들은 신뢰도 레벨들에 기초하여 시간적 필터링을 리셋하기 위해 랜덤하게 선택된다.
제20 양태에서, 제17 양태 내지 제19 양태 중 하나 이상과 조합하여, 명령들은, 프로세서에 의해 실행될 때, 디바이스로 하여금, 제2 이미지 프레임으로부터 제1 이미지 프레임으로의 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 것을 포함하는 추가 동작들을 수행하게 하고, 리셋 가중치 맵은 모션 팩터들에 기초한다.
제21 양태에서, 제17 양태 내지 제20 양태 중 하나 이상과 조합하여, 모션 팩터들을 결정하는 것은 제2 이미지 프레임과 제1 이미지 프레임 사이의 모션 벡터들을 결정하는 것을 포함하고, 리셋 가중치 맵은 모션 벡터들의 크기들에 기초한다.
제22 양태에서, 제17 양태 내지 제21 양태 중 하나 이상과 조합하여, 리셋 가중치 맵을 결정하는 것은 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 것을 포함하고, 리셋 가중치 맵은 객체의 제1 위치에 기초한다.
제23 양태에서, 제17 양태 내지 제22 양태 중 하나 이상과 조합하여, 제2 복수의 픽셀들은 제3 이미지 프레임 내에서 랜덤하게 선택된 픽셀들이다.
제24 양태에서, 제17 양태 내지 제23 양태 중 하나 이상과 조합하여, 명령들은, 프로세서에 의해 실행될 때, 디바이스로 하여금 추가로, 제3 이미지 프레임을 결정하기 전에 제1 이미지 프레임에 모션 보상을 적용하는 것을 포함하는 동작들을 수행한다.
하나 이상의 양태들에서, 이미지 캡처 및 이미지 프로세싱을 지원하기 위한 기법들은, 제1 시야를 갖도록 구성된 제1 이미지 센서, 제1 이미지 센서에 커플링된 프로세서, 및 프로세서에 커플링된 메모리를 포함하는 디바이스에서 또는 디바이스에 의해 구현될 수 있다. 프로세서는, 아래에서 또는 본 명세서의 다른 곳에서 설명된 하나 이상의 다른 프로세스들 또는 디바이스들과 관련하여 설명되는 임의의 단일 양태 또는 양태들의 임의의 조합과 같은 추가적인 양태들을 포함하는 단계들을 수행하도록 구성된다. 제25 양태에서, 이미지 캡처를 지원하는 것은, 제1 시간에 캡처된 제1 이미지 프레임 및 제2 시간에 캡처된 제2 이미지 프레임을 수신하도록 구성된 디바이스를 포함할 수 있다. 디바이스는, 제1 이미지 프레임 및 시간적으로 제1 이미지 프레임 이전에 있는 제2 이미지 프레임을 수신하는 것, 제1 이미지 프레임 및 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것, 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것, 제1 이미지 프레임의 대응하는 픽셀들을 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 제1 복수의 픽셀들을 결정하는 것, 및/또는 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 제2 복수의 픽셀들을 결정하는 것을 포함하는 프로세싱을 수행하도록 추가로 구성된다. 일부 구현예들에서, 제2 복수의 픽셀들은 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들이다. 부가적으로, 디바이스는 하기에서 설명되는 바와 같은 하나 이상의 양태들에 따라 수행 또는 동작할 수 있다. 일부 구현들에서, 디바이스는 기지국(BS) 또는 사용자 장비(UE)와 같은 무선 디바이스, 또는 클라우드-기반 서버와 같은 인프라구조 디바이스를 포함한다. 일부 구현예들에서, 디바이스는 적어도 하나의 프로세서, 및 프로세서에 커플링된 메모리를 포함할 수 있고, 프로세서는 디바이스와 관련하여 본 명세서에 설명된 동작들을 수행하도록 구성될 수 있다. 일부 다른 구현예들에서, 디바이스는 프로그램 코드가 기록된 비일시적 컴퓨터 판독가능 매체를 포함할 수 있고, 프로그램 코드는 디바이스로 하여금 디바이스를 참조하여 본 명세서에서 설명된 동작들을 수행하게 하기 위해 디바이스에 의해 실행가능할 수 있다. 일부 구현들에서, 디바이스는 본 명세서에서 설명된 동작들을 수행하도록 구성된 하나 이상의 수단들을 포함할 수 있다.
제26 양태에서, 제25 양태와 조합하여, 프로세서는 제1 이미지 프레임에 대응하는 리셋 가중치 맵을 결정하는 것을 포함하는 단계들을 수행하도록 추가로 구성되고, 제3 이미지 프레임 내에서 랜덤하게 선택된 픽셀들은 리셋 가중치 맵에 기초한다.
제27 양태에서, 제25 양태 및 제26 양태 중 하나 이상과 조합하여, 제3 이미지 프레임을 결정하는 것은 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것; 및/또는 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 것을 더 포함하고, 제2 복수의 픽셀들은 신뢰도 레벨에 기초하여 시간적 필터링을 리셋하기 위해 랜덤하게 선택된다.
제28 양태에서, 제25 양태 내지 제27 양태 중 하나 이상과 조합하여, 프로세서는, 제2 이미지 프레임으로부터 제1 이미지 프레임으로의 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 것을 포함하는 단계들을 수행하도록 추가로 구성되고, 리셋 가중치 맵은 모션 팩터들에 기초한다.
제29 양태에서, 제25 양태 내지 제28 양태 중 하나 이상과 조합하여, 디바이스는 컴퓨터 비전(CV) 프로세서를 더 포함하고, 리셋 가중치 맵을 결정하는 것은, CV 프로세서에 의해, 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 것을 포함하고, 리셋 가중치 맵은 객체의 제1 위치에 기초한다.
제30 양태에서, 제25 양태 내지 제29 양태 중 하나 이상과 조합하여, 제2 이미지 프레임은, 제1 이미지 프레임보다 시간적으로 각각 앞선 제4 이미지 프레임 및 제5 이미지 프레임의 조합에 기초하여 시간적으로 필터링된 이미지 프레임을 포함한다.
당업자들은, 정보 및 신호들이 다양한 상이한 기법들 및 기술들 중 임의의 기법 및 기술을 사용하여 표현될 수 있다는 것을 이해할 것이다. 예컨대, 위의 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이것들의 임의의 조합에 의해 표현될 수 있다.
도 1, 도 3 및 도 4에 대해 본 명세서에서 설명된 컴포넌트들, 기능 블록들, 및 모듈들은 다른 예들 중에서도 프로세서들, 전자 디바이스들, 하드웨어 디바이스들, 전자 컴포넌트들, 논리 회로들, 메모리들, 소프트웨어 코드들, 펌웨어 코드들, 또는 이것들의 임의의 조합을 포함한다. 또한, 본원에서 논의된 특징들은 특수 프로세서 회로를 통해, 실행가능 명령들을 통해, 또는 이것들의 조합들을 통해 구현될 수 있다.
당업자들은, 본원에서 개시에 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 그 둘의 조합들로서 구현될 수 있다는 것을 또한 인지할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그것들의 기능 관점들에서 일반적으로 위에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시의 범위로부터 벗어나게 하는 것으로 해석되지는 않아야 한다. 당업자들은 또한, 본원에서 설명되는 컴포넌트들, 방법들 또는 상호작용들의 순서 또는 조합이 단지 예시들이고, 본 개시의 다양한 양태들의 컴포넌트들, 방법들 또는 상호작용들이 본원에서 예시되고 설명되는 것들 이외의 다른 방식들로 조합 또는 수행될 수 있다는 것을 쉽게 인지할 것이다.
본원에서 개시된 구현들과 관련하여 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들, 회로들 및 알고리즘 프로세스들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 그 둘의 조합들로서 구현될 수 있다. 하드웨어 및 소프트웨어의 상호교환가능성은 기능의 관점에서 일반적으로 설명되었고, 위에서 설명된 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 프로세스들로 예시된다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과된 설계 제약들에 의존한다.
본원에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 로직들, 논리 블록들, 모듈들 및 회로들을 구현하는 데 사용된 하드웨어 및 데이터 프로세싱 장치는 범용 단일- 또는 다중-칩 프로세서, DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(field-programmable gate array) 또는 다른 프로그래밍가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된 이것들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서, 또는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 일부 구현들에서, 프로세서는 컴퓨팅 디바이스들의 조합, 이를테면 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 조합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다. 일부 구현들에서, 특정 프로세스들 및 방법들은 주어진 기능에 특정한 회로에 의해 수행될 수 있다.
하나 이상의 양태들에서, 설명된 기능들은, 본 명세서에 개시된 구조들 및 그것들의 구조적 등가물들을 포함하는, 하드웨어, 디지털 전자 회로, 컴퓨터 소프트웨어, 펌웨어로, 또는 이것들의 임의의 조합으로 구현될 수 있다. 본 명세서에서 설명된 청구대상의 구현들은 또한, 데이터 프로세싱 장치에 의한 실행을 위해, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체들에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉, 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다.
소프트웨어로 구현되는 경우, 기능들은 컴퓨터-판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 이를 통해 송신될 수 있다. 본원에서 개시된 방법 또는 알고리즘의 프로세스들은, 컴퓨터-판독가능 매체에 상주할 수 있는 프로세서-실행가능 소프트웨어 모듈로 구현될 수 있다. 컴퓨터-판독가능 매체들은, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 가능하게 할 수 있는 임의의 매체를 포함한 통신 매체들 및 컴퓨터 저장 매체들 둘 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다. 제한이 아닌 예로서, 그러한 컴퓨터-판독가능 매체들은 RAM(random-access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는 데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭될 수 있다. 본원에서 사용된 디스크(disk) 및 디스크(disc)는 CD(compact disc), 레이저 디스크(disc), 광학 디스크(disc), DVD(digital versatile disc), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기의 것들의 조합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다. 추가적으로, 방법 또는 알고리즘의 동작들은, 컴퓨터 프로그램 제품에 통합될 수 있는 기계 판독가능 매체 및 컴퓨터-판독가능 매체에 코드들 및 명령들 중 하나 또는 이것들의 임의의 조합 또는 이것들의 세트로서 상주할 수 있다.
본 개시에서 설명된 구현들에 대한 다양한 수정들은 당업자들에게 자명할 수 있으며, 본원에서 정의된 일반적인 원리들은 본 개시의 사상 또는 범위를 벗어나지 않으면서 일부 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 나타낸 구현들로 한정되도록 의도되지 않으며, 본 명세서에 개시된 본 개시, 원리들 및 신규한 특징들과 부합하는 최광의 범위를 부여받아야 한다.
추가적으로, 당업자는, "상부" 및 "하부"라는 용어들이 때때로 도면들의 설명의 용이성을 위해 사용되며, 적절히 배향된 페이지 상에서 도면의 배향에 대응하는 상대적 위치들을 표시하며, 구현되는 바와 같은 임의의 디바이스의 적절한 배향을 반영하지 않을 수 있음을 용이하게 인식할 것이다.
별개의 구현들의 맥락으로 본 명세서에서 설명되는 특정 특징들은 또한 단일 구현에서 조합하여 구현될 수 있다. 반대로, 단일 구현의 맥락으로 설명된 다양한 특징들은 또한 다수의 구현들에서 별개로 또는 임의의 적합한 하위조합으로 구현될 수 있다. 게다가, 특징들이 특정한 조합들로 작용하는 것으로 앞서 설명되고 심지어 초기에 이와 같이 청구될지라도, 일부 경우들에서, 청구된 조합으로부터의 하나 이상의 특징들은 그 결합으로부터 제거될 수 있고, 청구된 조합은 하위조합 또는 하위조합의 변화에 관련될 수 있다.
유사하게, 동작들이 특정한 순서로 도면들에 묘사되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되어야 하거나 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로서 이해되지는 않아야 한다. 또한, 도면들은 하나 이상의 예시적인 프로세스들을 흐름도의 형태로 개략적으로 묘사할 수 있다. 그러나, 묘사되지 않은 다른 동작들이 개략적으로 예시된 예시적인 프로세스들에 통합될 수 있다. 예컨대, 하나 이상의 추가적인 동작들은, 예시된 동작들 중 임의의 동작 이전에, 그 이후에, 그와 동시에, 또는 그들 사이에서 수행될 수 있다. 특정 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 게다가, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로서 이해되지 않아야 하고, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다는 것이 이해되어야 한다. 추가적으로, 일부 다른 구현들은 다음의 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에 인용된 액션들은 상이한 순서로 수행되며 여전히 바람직한 결과들을 달성할 수 있다.
청구항들을 포함하여 본 명세서에서 사용된 바와 같이, 용어 "또는"은, 2 이상의 아이템들의 리스트에서 사용될 경우, 리스팅된 아이템들 중 임의의 아이템이 홀로 채용될 수 있거나 또는 리스팅된 아이템들 중 2 이상의 임의의 조합이 채용될 수 있음을 의미한다. 예를 들어, 컴포넌트들 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 (30)

  1. 방법으로서,
    제1 이미지 프레임 및 시간적으로 상기 제1 이미지 프레임 이전에 있는 제2 이미지 프레임을 수신하는 단계; 및
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 단계를 포함하고,
    상기 제3 이미지 프레임을 결정하는 단계는,
    상기 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 단계;
    상기 제1 이미지 프레임의 대응하는 픽셀들을 상기 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 상기 제1 복수의 픽셀들을 결정하는 단계; 및
    상기 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 상기 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 상기 제2 복수의 픽셀들을 결정하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    리셋 가중치 맵을 결정하는 단계를 더 포함하고, 상기 제2 복수의 픽셀들은 상기 리셋 가중치 맵에 기초하여 확률적으로 선택되는, 방법.
  3. 제2항에 있어서,
    상기 제3 이미지 프레임을 결정하는 단계는,
    상기 제1 복수의 픽셀들 및 상기 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 단계와 연관된 신뢰도 레벨들을 결정하는 단계를 더 포함하고,
    상기 리셋 가중치 맵을 결정하는 단계는 상기 신뢰도 레벨들에 기초하는, 방법.
  4. 제2항에 있어서,
    상기 제2 이미지 프레임으로부터 상기 제1 이미지 프레임으로의 상기 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 단계를 더 포함하고, 상기 리셋 가중치 맵은 상기 모션 팩터들에 기초하는, 방법.
  5. 제4항에 있어서,
    상기 모션 팩터들을 결정하는 단계는 상기 제2 이미지 프레임과 상기 제1 이미지 프레임 사이의 모션 벡터들을 결정하는 단계를 포함하고, 상기 리셋 가중치 맵은 상기 제2 이미지 프레임과 상기 제1 이미지 프레임 사이의 상기 모션 벡터들에 기초하는, 방법.
  6. 제2항에 있어서,
    상기 리셋 가중치 맵을 결정하는 단계는 상기 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 단계를 포함하고, 상기 리셋 가중치 맵은 상기 객체의 상기 제1 위치에 기초하는, 방법.
  7. 제1항에 있어서,
    상기 제2 복수의 픽셀들은 상기 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들인, 방법.
  8. 제1항에 있어서,
    상기 제2 이미지 프레임은, 상기 제1 이미지 프레임보다 시간적으로 각각 앞선 제4 이미지 프레임 및 제5 이미지 프레임의 조합에 기초하여 시간적으로 필터링된 이미지 프레임을 포함하는, 방법.
  9. 제1항에 있어서,
    상기 제3 이미지 프레임을 결정하기 전에 상기 제2 이미지 프레임에 모션 보상을 적용하는 단계를 더 포함하는, 방법.
  10. 디바이스로서,
    프로세서; 및
    상기 프로세서에 커플링되고 상기 프로세서에 의해 실행될 때, 상기 디바이스로 하여금 동작들을 수행하게 하는 명령들을 저장하는 메모리를 포함하고,
    상기 동작들은,
    제1 이미지 프레임 및 시간적으로 상기 제1 이미지 프레임 이전에 있는 제2 이미지 프레임을 수신하는 것; 및
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것을 포함하고,
    상기 제3 이미지 프레임을 결정하는 것은,
    상기 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것;
    상기 제1 이미지 프레임의 대응하는 픽셀들을 상기 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 상기 제1 복수의 픽셀들을 결정하는 것; 및
    상기 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 상기 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 상기 제2 복수의 픽셀들을 결정하는 것을 포함하는, 디바이스.
  11. 제10항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 디바이스로 하여금, 리셋 가중치 맵을 결정하는 것을 포함하는 추가 동작들을 수행하게 하고, 상기 제2 복수의 픽셀들은 상기 리셋 가중치 맵에 기초하여 확률적으로 선택되는, 디바이스.
  12. 제11항에 있어서,
    상기 제3 이미지 프레임을 결정하는 것은,
    상기 제1 복수의 픽셀들 및 상기 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 것을 더 포함하고,
    상기 리셋 가중치 맵을 결정하는 것은 상기 신뢰도 레벨들에 기초하는, 디바이스.
  13. 제11항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 디바이스로 하여금, 상기 제2 이미지 프레임으로부터 상기 제1 이미지 프레임으로의 상기 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 것을 포함하는 추가 동작들을 수행하게 하고, 상기 리셋 가중치 맵은 상기 모션 팩터들에 기초하는, 디바이스.
  14. 제13항에 있어서,
    상기 모션 팩터들을 결정하는 것은 상기 제2 이미지 프레임과 상기 제1 이미지 프레임 사이의 모션 벡터들을 결정하는 것을 포함하고, 상기 리셋 가중치 맵은 상기 제2 이미지 프레임과 상기 제1 이미지 프레임 사이의 상기 모션 벡터들에 기초하는, 디바이스.
  15. 제11항에 있어서,
    상기 리셋 가중치 맵을 결정하는 것은 상기 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 것을 포함하고, 상기 리셋 가중치 맵은 상기 객체의 상기 제1 위치에 기초하는, 디바이스.
  16. 제10항에 있어서,
    상기 제2 복수의 픽셀들은 상기 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들인, 디바이스.
  17. 명령들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 디바이스의 프로세서에 의해 실행될 때, 상기 디바이스로 하여금 동작들을 수행하게 하고,
    상기 동작들은,
    제1 이미지 프레임 및 시간적으로 상기 제1 이미지 프레임보다 이전에 있는 제2 이미지 프레임을 수신하는 것; 및
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것을 포함하고,
    상기 제3 이미지 프레임을 결정하는 것은,
    상기 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것;
    상기 제1 이미지 프레임의 대응하는 픽셀들을 상기 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 상기 제1 복수의 픽셀들을 결정하는 것; 및
    상기 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 상기 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 제2 복수의 픽셀들을 결정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제17항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 디바이스로 하여금, 리셋 가중치 맵을 결정하는 것을 포함하는 추가 동작들을 수행하게 하고, 상기 제2 복수의 픽셀들은 상기 리셋 가중치 맵에 기초하여 확률적으로 선택되는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제18항에 있어서,
    상기 제3 이미지 프레임을 결정하는 것은,
    상기 제1 복수의 픽셀들 및 상기 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 것을 더 포함하고,
    상기 리셋 가중치 맵을 결정하는 것은 상기 신뢰도 레벨들에 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제18항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 디바이스로 하여금, 상기 제2 이미지 프레임으로부터 상기 제1 이미지 프레임으로의 상기 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 것을 포함하는 추가 동작들을 수행하게 하고, 상기 리셋 가중치 맵은 상기 모션 팩터들에 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.
  21. 제20항에 있어서,
    상기 모션 팩터들을 결정하는 것은 상기 제2 이미지 프레임과 상기 제1 이미지 프레임 사이의 모션 벡터들을 결정하는 것을 포함하고, 상기 리셋 가중치 맵은 상기 제2 이미지 프레임과 상기 제1 이미지 프레임 사이의 상기 모션 벡터들에 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.
  22. 제18항에 있어서,
    상기 리셋 가중치 맵을 결정하는 것은 상기 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 것을 포함하고, 상기 리셋 가중치 맵은 상기 객체의 상기 제1 위치에 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.
  23. 제17항에 있어서,
    상기 제2 복수의 픽셀들은 상기 제3 복수의 픽셀들 중 랜덤하게 선택된 픽셀들인, 비일시적 컴퓨터 판독가능 저장 매체.
  24. 제17항에 있어서,
    상기 명령들은, 상기 프로세서에 의해 실행될 때, 상기 디바이스로 하여금 추가로, 상기 제3 이미지 프레임을 결정하기 전에 상기 제1 이미지 프레임에 모션 보상을 적용하는 것을 포함하는 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  25. 디바이스로서,
    제1 이미지 센서;
    상기 제1 이미지 센서에 커플링된 프로세서; 및
    상기 프로세서에 커플링된 메모리를 포함하고,
    상기 프로세서는,
    제1 이미지 프레임 및 시간적으로 상기 제1 이미지 프레임보다 이전에 있는 제2 이미지 프레임을 수신하는 것; 및
    상기 제1 이미지 프레임 및 상기 제2 이미지 프레임에 기초하여 제3 이미지 프레임을 결정하는 것을 포함하는 단계들을 수행하도록 구성되고,
    상기 제3 이미지 프레임을 결정하는 것은,
    상기 제3 이미지 프레임의 제3 복수의 픽셀들 내에서 제1 복수의 픽셀들 및 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것;
    상기 제1 이미지 프레임의 대응하는 픽셀들을 상기 제2 이미지 프레임과 조합함으로써 시간적 필터링을 사용하여 상기 제1 복수의 픽셀들을 결정하는 것; 및
    상기 제2 이미지 프레임의 대응하는 픽셀들에 대한 참조 없이 상기 제1 이미지 프레임의 대응하는 픽셀들에 기초하여 상기 제2 복수의 픽셀들을 결정하는 것을 포함하는, 디바이스.
  26. 제25항에 있어서,
    상기 프로세서는, 리셋 가중치 맵을 결정하는 것을 포함하는 단계들을 수행하도록 추가로 구성되고, 상기 제2 복수의 픽셀들은 상기 리셋 가중치 맵에 기초하여 확률적으로 선택되는, 디바이스.
  27. 제26항에 있어서,
    상기 제3 이미지 프레임을 결정하는 것은,
    상기 제1 복수의 픽셀들 및 상기 제2 복수의 픽셀들에 시간적 필터링을 적용하기로 결정하는 것과 연관된 신뢰도 레벨들을 결정하는 것을 더 포함하고,
    상기 리셋 가중치 맵을 결정하는 것은 상기 신뢰도 레벨들에 기초하는, 디바이스.
  28. 제26항에 있어서,
    상기 프로세서는, 상기 제2 이미지 프레임으로부터 상기 제1 이미지 프레임으로의 상기 제1 이미지 프레임 내의 픽셀들의 공간적 이동에 대응하는 모션 팩터들을 결정하는 것을 포함하는 단계들을 수행하도록 추가로 구성되고, 상기 리셋 가중치 맵은 상기 모션 팩터들에 기초하는, 디바이스.
  29. 제26항에 있어서,
    상기 디바이스는 컴퓨터 비전(CV) 프로세서를 더 포함하고, 상기 리셋 가중치 맵을 결정하는 것은, 상기 CV 프로세서에 의해, 상기 제1 이미지 프레임 내의 객체의 제1 위치를 결정하는 것을 포함하고, 상기 리셋 가중치 맵은 상기 객체의 상기 제1 위치에 기초하는, 디바이스.
  30. 제25항에 있어서,
    상기 제2 이미지 프레임은, 상기 제1 이미지 프레임보다 시간적으로 각각 앞선 제4 이미지 프레임 및 제5 이미지 프레임의 조합에 기초하여 시간적으로 필터링된 이미지 프레임을 포함하는, 디바이스.
KR1020237043366A 2021-06-21 2022-06-09 개선된 장면 무결성을 위한 시간적 필터링 재시작 KR20240024821A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/353,506 US11810275B2 (en) 2021-06-21 2021-06-21 Temporal filtering restart for improved scene integrity
US17/353,506 2021-06-21
PCT/US2022/072852 WO2022272212A1 (en) 2021-06-21 2022-06-09 Temporal filtering restart for improved scene integrity

Publications (1)

Publication Number Publication Date
KR20240024821A true KR20240024821A (ko) 2024-02-26

Family

ID=82655319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237043366A KR20240024821A (ko) 2021-06-21 2022-06-09 개선된 장면 무결성을 위한 시간적 필터링 재시작

Country Status (7)

Country Link
US (1) US11810275B2 (ko)
EP (1) EP4360040A1 (ko)
KR (1) KR20240024821A (ko)
CN (1) CN117501305A (ko)
BR (1) BR112023026190A2 (ko)
TW (1) TW202305739A (ko)
WO (1) WO2022272212A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11877050B2 (en) * 2022-01-20 2024-01-16 Qualcomm Incorporated User interface for image capture
US11676328B1 (en) * 2022-10-24 2023-06-13 Illuscio, Inc. Systems and methods for prioritized rendering and streaming based on risk maps that predict change in a three-dimensional environment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865030B2 (en) * 2006-09-13 2011-01-04 Broadcom Corporation Method and system for motion compensated temporal filtering using both FIR and IIR filtering
EP1919209A1 (en) * 2006-10-31 2008-05-07 Sony Deutschland Gmbh Method and device for fast and effective noise reduction
US8743287B2 (en) * 2009-07-24 2014-06-03 Broadcom Corporation Method and system for mitigating motion trail artifacts and improving low contrast contours in temporal filtering based noise reduction
JP5645699B2 (ja) * 2011-02-16 2014-12-24 三菱電機株式会社 動き検出装置及び方法、映像信号処理装置及び方法、並びに映像表示装置
US10911698B2 (en) * 2016-09-30 2021-02-02 Huddly As ISP bias-compensating noise reduction systems and methods
US10964000B2 (en) * 2018-07-17 2021-03-30 Nvidia Corporation Techniques for reducing noise in video
WO2022050949A1 (en) * 2020-09-04 2022-03-10 Google Llc Filter for temporal noise reduction
US11651547B2 (en) * 2020-12-10 2023-05-16 Nvidia Corporation Adaptive temporal image filtering for rendering realistic illumination

Also Published As

Publication number Publication date
WO2022272212A1 (en) 2022-12-29
CN117501305A (zh) 2024-02-02
EP4360040A1 (en) 2024-05-01
US20220405898A1 (en) 2022-12-22
US11810275B2 (en) 2023-11-07
BR112023026190A2 (pt) 2024-03-05
TW202305739A (zh) 2023-02-01

Similar Documents

Publication Publication Date Title
KR20190052031A (ko) 선명하고 정확한 주밍 메커니즘 구현을 위한 광각 이미지 캡쳐링 요소 및 장초점 이미지 캡쳐링 요소의 활용방법
KR20240024821A (ko) 개선된 장면 무결성을 위한 시간적 필터링 재시작
WO2023164422A1 (en) Multi-frame auto exposure control (aec)
US20240007757A1 (en) Image processing for aperture size transition in a variable aperture (va) camera
KR20240031246A (ko) 다수의 관심 영역들을 갖는 장면들에서 선택적으로 증가하는 피사계 심도
US11711613B2 (en) Image alignment for computational photography
US11843858B1 (en) Machine learning for phase detection autofocus
US20240193789A1 (en) Selective motion distortion correction within image frames
US20240185390A1 (en) Fusion of image frames for high dynamic range content
WO2023178656A1 (en) Multi-camera alignment using region of interest (roi) refinement
US20230412922A1 (en) Dynamic image capture device configuration for improved image stabilization
US11727537B1 (en) Bokeh effect in variable aperture (VA) camera systems
US11863881B2 (en) Selectively increasing depth-of-field in scenes with multiple regions of interest
US11908100B2 (en) Transform matrix learning for multi-sensor image capture devices
WO2023178464A1 (en) Lens shading correction (lsc) in variable aperture (va) camera systems
WO2023216089A1 (en) Camera transition for image capture devices with variable aperture capability
US20240046477A1 (en) Variable aperture (va) camera control for controlling a depth of focus
US20220201208A1 (en) Camera sensor changes in multi-sensor device
KR20240029001A (ko) 오토포커스(af) 및 자동 노출 제어(aec) 조정
WO2024123544A1 (en) Improved fusion of image frames for high dynamic range content
WO2023250261A1 (en) Dynamic image capture device configuration for improved image stabilization
KR20240011707A (ko) 이미지의 적외선 기반 화이트 밸런싱
KR20240031970A (ko) 노이즈 감소를 위한 캐스케이드 이미지 프로세싱
CN117616449A (zh) 选择性地增加具有多个感兴趣区域的场景中的景深