KR101526031B1 - 이미지에서 콘트라스트를 보존하면서 노이즈를 저감시키기 위한 기술 - Google Patents

이미지에서 콘트라스트를 보존하면서 노이즈를 저감시키기 위한 기술 Download PDF

Info

Publication number
KR101526031B1
KR101526031B1 KR1020107029412A KR20107029412A KR101526031B1 KR 101526031 B1 KR101526031 B1 KR 101526031B1 KR 1020107029412 A KR1020107029412 A KR 1020107029412A KR 20107029412 A KR20107029412 A KR 20107029412A KR 101526031 B1 KR101526031 B1 KR 101526031B1
Authority
KR
South Korea
Prior art keywords
pixels
pixel
image
noise
delete delete
Prior art date
Application number
KR1020107029412A
Other languages
English (en)
Other versions
KR20110031433A (ko
Inventor
노이 코헨
Original Assignee
포토내이션 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포토내이션 리미티드 filed Critical 포토내이션 리미티드
Publication of KR20110031433A publication Critical patent/KR20110031433A/ko
Application granted granted Critical
Publication of KR101526031B1 publication Critical patent/KR101526031B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Picture Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

이미지에서 노이즈를 저감시키기 위한 시스템 및 방법이 개시된다. 본 발명은, (1) 제1 픽셀의 값을 다른 픽셀들의 세트의 값들과 비교하고; (2) 상기 제1 픽셀에 이웃하는 픽셀들의 값들을 상기 다른 픽셀들의 세트에 이웃하는 추가 픽셀들의 값들과 비교하며; (3) 상기 다른 픽셀들의 세트 내의 각각의 픽셀에 대해, 단계 (1)와 (2)의 결과에 기초하여 가중치를 결정하고; (4) 상기 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치들에 기초하여 노이즈-저감된 픽셀값을 계산하며; (5) 상기 제1 픽셀의 값을 상기 노이즈-저감된 픽셀값으로 대체함으로써, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존한다.

Description

이미지에서 콘트라스트를 보존하면서 노이즈를 저감시키기 위한 기술{TECHNIQUES FOR REDUCING NOISE WHILE PRESERVING CONTRAST IN AN IMAGE}
본 발명은 디지털 신호 처리에 관한 것이다.
노이즈는 디지털 이미지에서 공통적인 문제이며, 디지털 이미지에서 노이즈를 감소시키기 위해 디지털 신호 처리(DSP) 알고리즘이 이용될 수 있다. 예를 들어, 노이즈는 이미지를 선명하지 못하게 만드는, 픽셀값들에서의 무작위적이고 원치않는 변동일 수 있다. 디지털 이미지 노이즈를 감소시키는 것을 목적으로 하는 몇가지 노이즈-저감 알고리즘이 현재 이용가능하다. 그러나 이들 알고리즘들은 노이즈와 데이터를 분리시키는 문제를 갖는 경향이 있다. 이것은, 디지털 이미지가 낮은 콘트라스트 영역에서 정교한 디테일을 가질 때 특히 문제가 된다.
대부분의 노이즈-저감 알고리즘은 디지털 이미지 내의 균일한 영역에서는 잘 수행되는 경향이 있지만, 전형적으로는 디지털 이미지의 디테일이 풍부한 영역에서 디지털 이미지를 블러링(blur)하지 않고 디지털 이미지의 엣지 및 윤곽선 상의 노이즈를 제거하는 중요한 문제점을 가진다. 여기서, 디테일이 풍부한 영역은 변동하는 콘트라스트 레벨을 보이는 조밀하게 배치된 픽셀들을 포함할 수 있다. 노이즈를 제거하는 문제는 정보 손실로 이어질 수 있다.
따라서, 이미지의 다른 특성에 악영향을 미치지 않고 전술된 문제를 해결하는 기술이 필요하다.
본 발명은 디지털 신호 처리에 관한 것이다. 본 발명의 실시예에 따른 시스템은 픽셀들을 포함하는 이미지 내의 노이즈를 저감시킨다. 이 시스템은 거리 계산기, 가중치 계산기, 및 노이즈-저감된 픽셀 계산기를 포함한다. 거리 계산기는 제1 픽셀의 값을 다른 픽셀들의 세트―제1 픽셀과 다른 픽셀들의 세트는 각각 제1 색상임―의 값과 비교하고, 제1 픽셀에 인접한 픽셀들의 값을 상기 다른 픽셀들의 세트에 인접한 추가 픽셀들의 값―제1 픽셀에 인접한 픽셀들과 다른 픽셀들의 세트에 인접한 추가 픽셀들은 제1 색상, 제2 색상, 및 제3 색상 중 하나임―과 비교한다. 가중치 계산기는, 다른 픽셀들의 세트 내의 각각의 픽셀에 대하여, 거리 비교기의 결과에 기초하여 가중치를 결정한다. 그리고 마지막으로, 노이즈-저감된 픽셀 계산기는, 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치에 기초하여 노이즈-저감된 픽셀값을 계산하고, 제1 픽셀의 값을 노이즈-저감된 픽셀값으로 대체한다.
본 발명의 한 실시예에 따른 방법은 픽셀들을 포함하는 이미지 내의 노이즈를 저감시킨다. 이 방법은 제1 픽셀의 값을 다른 픽셀들의 세트―제1 픽셀과 다른 픽셀들의 세트는 각각 제1 색상임―의 값과 비교하는 것을 포함함다. 이 방법은 또한, 제1 픽셀에 인접한 픽셀들의 값을 상기 다른 픽셀들의 세트에 인접한 추가 픽셀들의 값―제1 픽셀에 인접한 픽셀들과 다른 픽셀들의 세트에 인접한 추가 픽셀들은 제1 색상, 제2 색상, 및 제3 색상 중 하나임―과 비교하는 것을 포함한다. 이 방법은 또한, 다른 픽셀들의 세트 내의 각각의 픽셀에 대하여, 거리 비교기의 결과에 기초하여 가중치를 결정하는 것과, 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치에 기초하여 노이즈-저감된 픽셀값을 계산하는 것과, 제1 픽셀의 값을 노이즈-저감된 픽셀값으로 대체하는 것을 포함한다.
본 발명의 시스템 및 방법에 따르면, 이미지의 균일 영역 내의 픽셀들, 이미지의 엣지와 윤곽선을 따른 픽셀들, 및 디테일이 풍부한 영역에 놓인 픽셀들에서, 이들의 콘트라스트를 보존하면서 노이즈가 저감된다.
본 발명의 다양한 실시예들의 구조와 동작 외에, 본 발명의 추가 실시예들, 특징들, 및 잇점들이 첨부된 도면을 참조하여 기술된다.
이미지의 균일 영역 내의 픽셀들, 이미지의 엣지와 윤곽선을 따른 픽셀들, 및 디테일이 풍부한 영역에 놓인 픽셀들에서, 이들의 콘트라스트를 보존하면서 노이즈가 저감된다.
본 발명의 실시예들이 첨부된 도면을 참조하여 기술된다. 도면에서, 유사한 참조번호는 동일하거나 기능적으로 유사한 요소들을 가리킨다. 처음 나타나는 요소는 일반적으로 대응하는 참조번호의 최좌측 자릿수에 의해 표시된다.
도 1은 본 발명의 실시예를 구현하기에 적합한 예시적인 시스템을 도시하는 도면이다.
도 2는 본 발명의 실시예에 따른 예시적인 시스템의 모듈의 도면이다.
도 3은 본 발명의 실시예에 따른 예시적인 시스템의 모듈의 더 상세한 도면이다.
도 4는 본 발명의 실시예에 따른 예시적인 시스템의 모듈의 컴포넌트의 상세한 도면이다.
도 5a 및 5b는 본 발명의 실시예에 따른 예시적인 이미지 윈도우들이다.
도 6은 본 발명의 실시예에 따른 예시적인 거리 계산기의 도면이다.
도 7a-7b는 본 발명의 실시예에 따른 예시적인 파라미터 선택기의 도면이다.
도 8은 본 발명의 실시예에 따른 예시적인 가중치 계산기의 도면이다.
도 9는 본 발명의 실시예에 따른 예시적인 가중치 가산기의 도면이다.
도 10은 본 발명의 실시예에 따른 예시적인 최대 가중치 식별자의 도면이다.
도 11은 본 발명의 실시예에 따른 예시저인 최소 2의 자승(minimum power-of-2) 계산기의 도면이다.
도 12a 및 12b는 본 발명의 실시예에 따른 예시적인 중간 가중치 계산기의 도면이다.
도 13은 본 발명의 실시예에 따른 예시적인 가중 평균 계산기의 도면이다.
도 14는 본 발명의 실시예에 따른 예시적인 모바일 장치의 도면이다.
도 15는 본 발명의 실시예에 따른 예시적인 컴퓨터 시스템의 도면이다.
도 16은 본 발명의 실시예에 따른 이미지 내의 노이즈 저감을 위한 방법의 플로차트이다.
이하의 설명에서, 설명의 목적을 위해, 본 발명의 철저한 이해를 제공하도록 다양한 구체적인 세부사항이 제공된다. 그러나, 본 발명은 이들 특정한 세부사항없이도 실시될 수 있다는 것은 명백하다. 다른 예들에서, 본 발명을 불필요하게 흐리지 않기 위해 공지된 구조와 장치들은 블럭도 형태로 도시된다.
신호 데이터를 처리하기 위한 기술들이 본 명세서에서 개시된다. 신호 데이터는 다수의 상이한 신호 매트릭스로 표시될 수 있다. 각각의 매트릭스는 신호의 상이한 부분을 나타낸다. 예를 들어, 각각의 신호 매트릭스는 이미지 센서 내의 한세트의 픽셀들에 대응하는 엔트리를 포함하도록 구성된다. 신호 데이터는 오디오 데이터 또는 이미지 데이터가 아닌 다른 신호 데이터를 포함할 수 있다.
도 1은 본 발명의 실시예를 구현하기에 적합한 시스템(100)을 예시하는 도면이다. 비제한적인 예로서, 시스템(100)은 이미지 신호 프로세서(ISP; Image Signal Processor) 체인일 수 있다. 한 실시예에서, ISP 체인은 RAW 이미지를 처리하는 알고리즘을 실행하는 모듈을 포함하며, 비휘발성 메모리에 저장되는 (예를 들어, JPEG 이미지, TIFF 이미지 등) 최종 이미지를 출력한다. 도 1에 도시된 바와 같이, 시스템(100)은 아날로그 이득 모듈(102), 블랙 레벨 보정 모듈(104), 불량 픽셀 보정 모듈(106), 그린-레드/그린-블루(GRGB) 보상 모듈(108), 화이트 밸런스 및 디지털 이득 모듈(110), 렌즈 쉐이딩 보상 모듈(112), 고정 패턴 노이즈(FPN) 및 랜덤 노이즈 제거 모듈(114), 노이즈-저감 모듈(116), 디지털 자동 포커스 모듈(118), 모자이크 감소 모듈(120), 샤프닝 모듈(122), 컬러 보정 매트릭스 모듈(124), 감마 보정 모듈(126), 및 JPEG 압축 모듈(128)을 포함한다. 주목할 점은, 이들 ISP 모듈들은 본 출원에 제시된 노이즈-저감 알고리즘을 구현하는데 요구되는 것은 아니다.
한 실시예에서, 아날로그 이득 모듈(102)은, 이미지(180)를 검출하는 도시되지 않은 이미지 센서로부터 이미지(180)를 수신한다. 대안적 실시예에서, 아날로그 이득 모듈(102)은 이미지(180)를 검출하는 이미지 센서에 결합된 메모리로부터 이미지(180)를 수신한다. 메모리는 플래시 메모리, 자기 디스크, 광 디스크, 또는 기타의 스토리지 매체일 수 있다. 이미지 센서는 광 이미지를 전기 신호로 변환하여 이미지(180)를 생성한다. 이미지 센서는, 예를 들어, BAYER 센서, Foveon X3 센서, 3CCD 센서 등과 같은 수개의 상이한 종류의 컬러 이미지 센서들 중 하나일 수 있다. 예를 들어, BAYER 센서는 픽셀들에 레드, 그린, 및 블루 광을 통과시켜 3 색상에 민감한 인터레이싱된 그리드를 형성한다. BAYER 센서는, 각각의 픽셀을 커버하는 그린, 레드, 및 블루 컬러 필터의 특정한 배열인 BAYER 필터를 이용할 수 있다. BAYER 필터는 도 5를 참조하여 이하에서 더 상세히 기술된다. 제한적 의미가 아니라 명료성을 위해, 시스템(100)은 이미지 센서가 BAYER 센서인 것처럼 기술된다.
아날로그 이득 모듈(102)은 낮은 노출 시간을 이용하는 동안 초래될 수 있는 이미지(180)의 암부(dark portion)를 보상하기 위해 이미지(180)에 이득을 적용할 수 있다. 아날로그 이득 모듈(102)은 아날로그-대-디지털(A/D) 변환이 발생하기 전에 이득을 적용한다. 아날로그 이득 모듈(102)은 수정된 버전의 이미지(180)를 블랙 레벨 보정 모듈(104)에 넘겨준다.
한 실시예에서, 블랙 레벨 보정 모듈(104)은 이미지(180)로부터 플로어 값(floor value)을 제거한다. 예로서, 블랙 레벨 보정 모듈(140)은 이미지 센서로부터 출력되는 "암전류(darl current)"를 이미지(180)로부터 제거한다. 블랙 레벨 보정 모듈(104)은 추가 수정된 버전의 이미지(180)를 불량 픽셀 보정 모듈(106)에 전달한다.
불량 픽셀 보정 모듈(106)은, 매우 낮거나 매우 높은 값을 생성하는 이미지(180) 내의 "버닝(burned)" 픽셀을 찾아낸다. 한 실시예에서, 그 다음, 불량 픽셀 보정 모듈(106)은 "버닝" 픽셀들을 이미지(180)의 환경의 "스마트" 평균값으로 대체한다. 불량 픽셀 보정 모듈(106)은 추가 수정된 버전의 이미지(180)를 GRGB 보상 모듈(108)에 전달한다.
한 실시예에서, GRGB 보상 모듈(180)은 그린 및 레드 픽셀들을 포함하는 픽셀 라인들 내의 픽셀값들과, 그린 및 블루 픽셀들을 포함하는 픽셀 라인 내의 그린 픽셀값들 사이에서 발생할 수 있는 차이를 보상한다. 예로서, 픽셀값들은 12비트이고 선택된 색상의 강도를 나타낸다. GRGB 보상 모듈(108)은 추가 수정된 버전의 이미지(180)를 화이트 밸런스 및 디지털 이득 모듈(110)에 전달한다.
화이트 및 디지털 이득 모듈(110)은 각각의 그린, 레드, 및 블루 픽셀에 이득을 적용하여, 각 픽셀의 동적 범위를 유지하면서 색상을 밸런싱하고 조명 상태와 조도를 보상한다. 한 실시예에서, 화이트 밸런스 및 디지털 이득 모듈(110)은 추가 수정된 버전의 이미지(180)를 렌즈 쉐이딩 보정 모듈(112)에 전달한다.
한 실시예에서, 렌즈 쉐이딩 보정 모듈(112)은 중간 픽셀로부터 멀리 떨어진 픽셀들의 휘도를 증가시킴으로써 렌즈 쉐이딩 프로파일을 보상한다. 렌즈 쉐이딩 보정 모듈(112)은 추가 수정된 버전의 이미지(180)를 고정 패턴 노이즈(FPN) 및 랜덤 노이즈 제거 모듈(114)에 전달한다.
FPN 및 랜덤 노이즈 제거 모듈(114)은 랜덤 노이즈와 고정 패턴 노이즈를 이미지(180)로부터 제거한다. 한 실시예에서, FPN 및 랜덤 노이즈 제거 모듈(114)은 추가 수정된 버전의 이미지(180)를 노이즈-저감 모듈(116)에 전달한다.
한 실시예에서, 노이즈-저감 모듈(116)은, 가능한한 콘트라스트에 최소한 영향을 주면서, 엣지와 윤곽선 상 및 그 부근, 디테일이 풍부한 영역의 픽셀값들을 보정하면서, 이미지(180)의 적어도 일부로부터 노이즈를 제거한다. 본 명세서에서 사용될 때, 엣지와 윤곽선이란, 픽셀의 공간적 위치에 상관없이 픽셀값들에서의 갑작스런 변화가 발생하는 이미지(180) 내의 영역을 일컫는다. 본 명세서에서 사용될 때, 디테일이 풍부한 영역이란, 근접하게 놓여있고 변동하는 콘트라스트 레벨을 보이는 이미지(180)의 픽셀들을 일컫는다. 노이즈-저감 모듈(116)은, 처리되고 있는 이미지(180)의 부분의 중심 또는 중간 픽셀을 그 부근의 다른 픽셀들의 평균으로 대체한다. 이들 인접한 픽셀들은 그 값이 중간 픽셀과 유사하며 유사한 환경을 가진다. 노이즈-저감 모듈(116)은 도 2-13에 관하여 이하에서 상세히 기술된다. 노이즈-저감 모듈(116)은 추가 수정된 버전의 이미지(180)를 디지털 자동 포커스 모듈(118)에 전달한다.
디지털 자동 포커스 모듈(118)은 이미지(180)의 콘트라스트를 증가시킨다. 디지털 자동 포커스 모듈(118)은, 참조용으로 본 명세서에서 인용하는, 발명의 명칭이 "Techniques for Adjusting the Effect of Applying Kernels to Signals to Achieve Desired Effect on Signal"이며 2008년 1월 7일 출원된 공동 소유 미국특허출원 제11/970,427호에 더 상세히 기술되어 있다. 한 실시예에서, 디지털 자동 포커스 모듈(118)은 추가 수정된 버전의 이미지(180)를 모자이크-감소 모듈(120)에 전달한다.
대안적 실시예에서, 디지털 자동 포커스 모듈(118)에는 노이즈-저감 모듈(116)이 포함된다. 이 경우, FPN과 랜덤 노이즈 제거 모듈(114)은 추가 수정된 버전의 이미지(180)를 디지털 자동 포커스 모듈(118)에 전달한다.
모자이크-감소 모듈(120)은, 이미지(180)가, 각각의 픽셀이 3개의 컬러 채널값을 갖는 완전한 RGB 이미지가 되도록 보간(interpolation)을 수행한다. 한 실시예에서, 모자이크-감소 모듈(120)은 추가 수정된 버전의 이미지(180)를 샤프닝 모듈(122)에 전달한다.
샤프닝 모듈(122)은 이미지(180) 내의 픽셀들의 콘트라스트를 향상시킨다. 한 실시예에서, 디지털 자동 포커스 모듈(118)은 디지털 자동 포커스 모듈(118)이 포인트 스프레드 기능(point spread function)을 보상한다는 점에서 샤프닝 모듈(122)과 상이하다. 샤프닝 모듈(122)은 추가 수정된 버전의 이미지(180)를 컬러 보정 매트릭스 모듈(124)에 전달한다.
컬러 보정 매트릭스 모듈(124)은 이미지(180)의 컬러 정확도와 컬러 포화를 제어한다. 한 실시예에서, 컬러 보정 매트릭스 모듈(124)은 추가 수정된 버전의 이미지(180)를 감마 보정 모듈(126)에 전달한다.
감마 보정 모듈(126)은 이미지(180)에 감마 곡선을 적용한다. 한 실시예에서, 감마 보정 모듈(126)은 추가 수정된 버전의 이미지(180)를 JPEG 압축 모듈(128)에 전달한다.
JPEG 압축 모듈(128)은 전체 BMP 이미지로부터의 이미지(180)를, 예를 들어, 플래시 메모리와 같은 비휘발성 메모리에 저장될 수 있는 JPEG 이미지로 압축한다. GIF와 같은, 이미지(180)를 압축하기 위해 JPEG이 아닌 임의의 압축도 역시 사용될 수 있다.
아날로그 이득 모듈(102), 블랙 레벨 보정 모듈(104), 불량 픽셀 보정 모듈(106), GRGB 보상 모듈(108), 화이트 밸런스 및 디지털 이득 모듈(110), 렌즈 쉐이딩 보정 모듈(112), FPN 및 랜덤 노이즈 제거 모듈(114), 잠음-감소 모듈(116), 디지털 자동 포커스 모듈(118), 모자이크-감소 모듈(120), 샤프닝 모듈(122), 컬러 보정 매트릭스 모듈(124), 감마 보정 모듈(126), 및 JPEG 압축 모듈(126) 각각은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다.
도 2는 본 발명의 실시예에 따른 노이즈-저감 모듈(116)의 도면이다. 도 2에 도시된 바와 같이, 노이즈-저감 모듈(116)은 거리 계산기(210), 가중치 계산기(220), 및 노이즈-저감된 픽셀 계산기(230)를 포함한다. 한 실시예에서, 잠음-감소 모듈(116)은, 한번에, 이미지 윈도우(202)로서 식별된 이미지(180)의 한 부분을 평가한다. 예를 들어, 이미지 윈도우(202)는 7×7 픽셀 매트릭스일 수 있다. 만일 노이즈-저감 모듈(116)이 스탠드얼론 모듈로서 구현된다면, 파이프라인된 구현을 허용하도록 이미지 윈도우(202)로부터 7개 라인의 픽셀들을 저장하기 위해 7개의 라인 버퍼가 이용된다. 만일 노이즈-저감 모듈(116)이 디지털 자동 포커스 모듈(118)에 대한 추가물로서 구현된다면, 어떠한 추가적인 라인 버퍼도 요구되지 않는데, 이것은 디지털 자동 포커스 모듈(118)도 역시 이미지(180)의 픽셀들을 저장하기위해 라인 버퍼들을 이용하기 때문이다. 예로서, 디지털 자동 포커스 모듈(118)은 9개의 재사용가능한 라인 버퍼들을 가질 수 있다. 이미지 윈도우(202)의 더 상세한 설명이 도 5a-b를 참조하여 이하에서 주어진다.
한 실시예에서, 거리 계산기(210)는 이미지 윈도우(202)의 중심 또는 중간에 있는 픽셀과 그 중간 픽셀에 인접한 픽셀간의 값의 차이를 계산한다. 이들 픽셀들의 더 상세한 설명이 도 5a-b를 참조하여 이하에 제공된다. 차이 계산의 더 상세한 설명은 도 6을 참조하여 이하에서 계산된다.
한 실시예에서, 가중치 계산기(220)는 중간 픽셀에 인접한 각각의 픽셀에 대한 가중치를 계산한다. 가중치들은 거리 계산기(210)에서 계산된 차이에 의존한다. 가중치 계산은 도 8을 참조하여 이하에서 더 상세히 기술된다.
한 실시예에서, 노이즈-저감된 픽셀 계산기(230)는 중간 픽셀을 노이즈-저감시키기 위해 가중치 계산기(220)에 의해 발생된 가중치를 이용한다. 노이즈-저감된 픽셀 계산기(230)는, 원래의 중간 픽셀값을 대체하기 위해 새로운 픽셀값을 출력한다. 노이즈-저감된 픽셀 계산기(230)는 도 4와 9-13을 참조하여 이하에서 더 상세히 기술된다.
주목할 점은, 노이즈-저감 모듈(116)은 매번 상이한 이미지 윈도우(202)를 수신하면서 수차례 처리할 수 있다는 것이다. 한 실시예에서, 노이즈-저감 모듈(116)은, 이미지(180) 내의 각각의 픽셀이 이미지 윈도우(202) 내의 중간 픽셀로서 나타나서 노이즈-저감된 값으로 대체될 때까지 처리한다. 일단 이미지(180) 내의 모든 픽셀들이 노이즈-저감되고 그들의 값이 대체되고 나면, 이미지(180)는 ISP 체인의 나머지 모듈들에 의해 처리된다. 또 다른 실시예에서, 노이즈-저감 모듈(116)은 이미지(180) 내의 설정된 갯수의 픽셀들이 노이즈-저감될때까지 처리한다.
주목할 점은, 만일 노이즈-저감 모듈(116)이 디지털 자동 포커스 모듈(118) 내에 병합된다면, 노이즈-저감 모듈(116)은, 또 다른 이미지 윈도우(202)가 처리되기 이전에 이미지(180)를 추가 처리하기 위해, 노이즈-저감된 중간 픽셀 값을 디지털 자동 포커스 모듈(118)의 나머지에 전달한다.
도 3은 본 발명의 실시예에 따른 노이즈-저감 모듈(116)의 더 상세한 도면이다. 구체적으로, 도 3은 각각의 중간 픽셀에 대한 노이즈-저감된 픽셀값을 생성하기 위해 상호작용하는 노이즈-저감 모듈(116)의 컴포넌트들을 도시한다. 도 3에 도시된 바와 같이, 거리 계산기(210), 가중치 계산기(220), 및 노이즈-저감된 픽셀 계산기(230) 외에도, 노이즈-저감 모듈(116)은 또한 파라미터 선택기(340)와 임계치 조절기(350)를 포함한다. 한 실시예에서, 노이즈-저감 모듈(116)은 입력 이미지 윈도우(202)와 노이즈-저감 인에이블 신호(308)를 수신한다. 노이즈-저감 신호(308)는 노이즈-저감 모듈(116)의 인에이블 또는 디스에이블을 제어한다. 노이즈-저감 인에이블 신호(308)는 시스템(100) 내의 또 다른 모듈로부터, 또는 ISP 체인의 외부 소스로부터 수신된다. ISP 체인 외부의 컴포넌트를 포함하는 예시적 시스템이 도 14 및 15를 참조하여 이하에서 기술된다.
예를 들어, 이미지 노이즈 레벨(304) 및 중간 픽셀값(306)을 포함한 몇개의 신호가 이미지(180) 및 이미지 윈도우(202)로부터 유도될 수 있다. 이미지 노이즈 레벨(304)은 이미지(180) 내의 노이즈 레벨에 상관되는 메트릭이다. 한 실시예에서, 이 메트릭은 시스템(100)의 선행 모듈에서 계산되고 노이즈-저감 모듈(116)에 입력된다. 또 다른 실시예에서, 이미지 노이즈 레벨(304)은 프리뷰 모드 동안에 계산된다. 여기서, 프리뷰 모드로 인해 이미지(180)가 비휘발성 메모리에 저장되지는 않는다. 대안으로서, 이미지(180)에 가해진 노출 시간과 디지털 및/또는 아날로그 이득에 관한 지식을 이용하여 이미지 노이즈 레벨(304)이 추정된다. 한 실시예에서, 중간 픽셀 값(306)은 이미지 윈도우(202) 내의 중간 픽셀의 값이다.
파라미터 선택기(340)는 수개의 노이즈-저감 파라미터 프로파일들을 저장한다. 한 실시예에서, 파라미터 선택기(340)는 이미지 윈도우(202)에 어떤 파라미터 프로파일을 적용시킬 것인지를 결정하기 위해 이미지 노이즈 레벨(304)을 이용한다. 비제한적 예로서, 5개의 파라미터 프로파일이 정의되고, 여기서, 매우 낮은 노이즈 레벨에 대해 제1 파라미터 프로파일이 선택되고, 낮은 노이즈 레벨에 대해 제2 파라미터 프로파일이 선택되며, 중간 노이즈 레벨에 대하여 제3 파라미터 프로파일이 선택되고, 높은 노이즈 레벨에 대하여 제4 파라미터 프로파일이 선택되며, 매우 높은 노이즈 레벨에 대하여 제5 파라미터 선택 프로파일이 선택된다.
각각의 파라미터 프로파일은 거리 계산기(210), 가중치 계산기(220), 및 노이즈-저감된 픽셀 계산기(230)에 의해 사용되는 다수의 임계치값과 상수값을 정의한다. 한 실시예에서, 파라미터 선택기(340)는 9개의 상수, Spatial_w 값(360a-i)을 거리 계산기(201)에 전달하고, 임계치(362a-d), 신호 임계치(378a-d), 및 신호 결과값(380a-e)을 임계치 조절기(350)에 전달하고, 결과값(364a-e)을 가중치 계산기(220)에 전달하고, 합계 임계치(366)와 낮은 가중치 임계치(368)를 노이즈-저감된 픽셀 계산기(230)에 전달한다. 이들 임계치들 및 상수들은 도 6-8과 12a-b를 참조하여 이하에서 기술된다.
한 실시예에서, 임계치 조절기(350)는 임계치(362a-d)를 조절하기 위해 신호 임계치(378a-d), 신호 결과값(380a-e), 및 중간 픽셀값(306)을 이용하고, 조절된 임계치(376a-d)를 출력한다. 대안적 실시예에서, 조절 계산에서, 중간 픽셀의 이웃 픽셀들의 값 외에도 중간 픽셀값(306)이 사용된다. 임계치 조절기(350)의 더 상세한 설명은 도 7a-b를 참조하여 이하에서 기술된다. 임계치 조절기(350)는 조절된 임계치(376a-d)를 가중치 계산기(220)에 전달한다.
한 실시예에서, 거리 계산기(210)는 환경거리(370a-h)를 계산하기 위해 이미지 윈도우(202)와 Spatial_w 값(360a-i)을 이용한다. 거리 계산기(210)는 환경 거리(370a-h)를 가중치 계산기(220)에 전달한다.
가중치 계산기(220)는, 환경 가중치(372a-h)를 결정하기 위해 결과값(364a-e), 환경 거리(370a-h), 및 조절된 임계치(376a-d)를 이용한다. 한 실시예에서, 가중치 계산기(220)는 환경 가중치(372a-h)를 노이즈-저감된 픽셀 계산기(230)에 전달한다.
한 실시예에서, 노이즈-저감된 픽셀 계산기(230)는, 이미지 윈도우(202)의 중간 픽셀에 대한 노이즈 저감된 픽셀값(374)을 결정하기 위해, 합계 임계치(366), 낮은 가중치 임계치(368), 환경 가중치(372a-h), 및 이미지 윈도우(202)를 이용한다. 노이즈 저감된 픽셀 계산기(230)는 노이즈 저감된 픽셀 값(374)을 멀티플렉서(382)에 전송하고, 이 멀티플렉서(382)는 노이즈-저감 인에이블 신호(308)에 의해 제어된다. 만일 노이즈-저감 모듈(116)이 스탠드얼론 모듈이고 인에이블된다면, 멀티플렉서(382)는 노이즈 저감된 픽셀값(374)을 전달한다. 그렇지 않고, 만일 노이즈 저감 모듈(116)이 스탠드얼론이고 디스에이블된다면, 원래의 픽셀값, 중간 픽셀값(306)이 전달된다. 만일 노이즈 저감 모듈(116)이 스탠드얼론 모듈이라면, 멀티플렉서(382)는, 단일 픽셀 대신에 전체 노이즈-저감된 픽셀 이미지 또는 이미지(180)를 전달하지의 여부를 제어한다.
도 4는 본 발명의 실시예에 따른 노이즈-저감된 픽셀 계산기(230)의 세부도이다. 도 4에 도시된 바와 같이, 노이즈-저감된 픽셀 계산기(230)는 가중치 가산기(402), 최대 가중치 식별기(404), 최소 2의 자승 계산기(406), 중간 가중치 계산기(408), 및 가중 평균 계산기(410)를 포함한다. 한 실시예에서, 가중치 가산기(402)는 환경 가중치(372a-h)를 취하고 그들의 값을 구한다. 가중치 가산기(402)는 이 합을 환경 가중치 합계(412)의 형태로 최소 2의 자승 계산기(406)가 중간 가중치 계산기(408)에 전송한다. 가중치 가산기(402)는 도 9를 참조하여 이하에서 더 상세히 기술된다.
최대 가중치 식별기(404)는 환경 가중치(372a-h)를 수신하고 가장 큰 환경 가중치를 식별한다. 한 실시예에서, 최대 가중치 식별기(404)는 그 결과를 중간 가중치 계산기(408)에 전달한다. 최대 가중치 식별기(404)는 도 10을 참조하여 이하에서 더 상세히 기술된다.
한 실시예에서, 최소 2의 자승 계산기(406)는 환경 가중치 합계(412)보다 큰 가장 작은 2의 자승을 계산한다. 그 결과적인 최소 2의 자승, 414가 중간 가중치 계산기(408)에 포워딩된다. 최소 2의 자승 계산기(406)는 도 11을 참조하여 이하에서 더 상세히 기술된다.
중간 가중치 계산기(408)는, 중간 픽셀의 가중치가 너무 작지 않다는 것을 보장하기 위해 몇가지 조건에 따라 최소 2의 자승(414)을 조절한다. 중간 가중치 계산기(408)는 또한 중간 픽셀의 가중치를 계산한다. 한 실시예에서, 양쪽 계산은 합산 임계치(366), 낮은 가중치 임계치(368), 환경 가중치 합계(412), 최소 2의 자승(414), 및 최대 환경 가중치(416)에 의존한다. 중간 가중치(418) 및 업데이트된 최소 2의 자승은 가중치 평균 계산기(410)에 전송된다. 중간 가중치 계산기(408)의 더 상세한 설명은 가중치 평균 계산기(410)에 전송된다. 중간 가중치 계산기(408)의 더 상세한 설명은 도 12a-b를 참조하여 이하에서 제공된다.
한 실시예에서, 가중 평균 계산기(410)는 원래의 중간 픽셀값을 대체하는 노이즈-저감된 픽셀값(374)을 계산하기 위해, 환경 가중치(372a-h), 이미지 윈도우(202), 중간 가중치(418), 및 업데이트된 최소 2의 자승(420)을 이용한다. 가중 평균 계산기(410)는 도 13을 참조하여 이하에서 더 상세히 기술된다.
도 5a-b는 본 발명의 실시예에 따라 예시적인 이미지 윈도우(202)를 디스플레이한다. 도 5a에 도시된 바와 같이, 이미지 윈도우(202)는 7개 라인들, 라인(503, 604, 506, 508, 510, 512, 및 514), 총 49개 픽셀들로 구성된다. 한 실시예에서, 이미지 윈도우(202)에 대한 최소 크기는 7×7 매트릭스이다. X9에 의해 식별되는 픽셀은 또한 이미지 윈도우(202)의 중간 또는 중심 픽셀로서 알려져 있다. 픽셀들, X1, X2, X3, X4, X5, X6, X7, 및 X8은 중간 픽셀에 인접하는 픽셀들이며 궁극적인 노이즈-저감된 중간 픽셀값을 결정하는데 이용된다.
한 실시예에서, 노이즈-저감된 픽셀값을 결정하는데 이용되는 각각의 픽셀 주변의 환경이 정의되고 중간 픽셀 주변의 환경이 정의된다. 각각의 환경은 3×3 픽셀 매트릭스이다. 예를 들어, X1의 환경은 픽셀들 E1_11, E1_21, E1_31, E1_12, E1_13, E1_23, E1_33, 및 X1을 포함한다. 이미지 윈도우(202)는 9개 환경을 포함할 수 있다. 주목할 점은, 2개 이상의 환경에 공통되는 수개의 픽셀들이 있기 때문에, 이들 환경들은 중첩한다는 것이다. 예로서, 좌측에서 우측으로 라인(506) 내의 세번째 픽셀은 X1, X2, X4, 및 X9의 환경들에 공통이다.
도 5b에 도시된 바와 같이, 이미지 윈도우(202) 내의 각각의 픽셀은 단일 색상을 나타낸다. 이 경우, 각각의 픽셀은 레드 I, 그린(G), 또는 블루(B)이다. BAYER 패턴에 따르면, 각각의 라인은 교대하는 레드 및 그린 픽셀들을 포함하거나, 교대하는 블루 및 그린 픽셀들을 포함한다. X1 내지 X9는 모두 동일한 색상으로서, 이 경우 블루이다. 이 속성은 어떤 색상이 X1 내지 X9로 표시되는지에 관계없이 적용된다. 또한, 한 환경 내의 주어진 위치에서의 색상은 또 다른 환경 내의 동일한 상대적 위치에서의 동일한 색상에 대응한다. 예를 들어, 좌측에서 우측으로, 라인(506) 내의 세번째 픽셀은 레드이며, X1의 환경의 우하단 구석에 대응한다. 마찬가지로, 좌측에서 우측으로, 라인(510) 내의 다섯번째 픽셀은 또한 레드이며, 환경, 이 경우 X9의 환경의 우하단 구석에 대응한다. 이하에서 기술되는 바와 같이, 이 속성은 거리 계산기(210)의 차이 계산에 대해 중요하다.
도 6-13은 노이즈-저감 모듈(116)의 하드웨어 도면이며 도 a-b에 디스플레이된 이미지 윈도우(202)의 픽셀들을 참조한다. 한 실시예에서, 요구되는 게이트 수를 최소화하는 방식으로 다음과 같은 하드웨어 구현이 설계된다. 그러나, 이것은, 본 발명의 실시하기 위해 다른 하드웨어 구현도 사용될 수 있기 때문에, 제한을 의미하는 것이 아니다.
도 6은 본 발명의 실시예에 따른 거리 계산기(210)의 세부도면이다. 도 6에 도시된 바와 같이, 거리 계산기(210)는 적어도 감산기 블럭(602a-i), 절대값 블럭(604a-i), 배럴 쉬프터(606a-i), 및 가산기 블럭(608a-d, 610a-b, 612 및 614)을 포함한다. 한 실시예에서, 도 6에 도시된 컴포넌트들은 환경 거리(370a-h)들 중 하나를 계산하는데 사용될 수 있다. 환경 거리(370a-h)를 병렬로 계산하기 위해 추가적인 7개의 동일한 블럭들이 거리 계산기(210)에 제시될 수 있다. 대안적 실시예에서, 각각의 환경 거리(370a-h)는, 도 6에 도시된 컴포넌트들이 각각의 환경 거리(370a-h)를 한번에 하나씩 계산하는 식으로, 직렬로 계산된다. 본 명세서에서 기술될 때, 도 6에 도시된 컴포넌트들이 환경 거리(370a)를 계산하는 것으로 가정된다.
환경 거리(370a-h)는 중간 픽셀에 인접한 픽셀의 환경들 중 하나의 픽셀값으로부터 중간 픽셀의 환경의 픽셀값을 감산함으로써 계산된다. 한 실시예에서, 도 6에 도시된 컴포넌트들은 환경 거리(370a-h)를 결정하기 위해 사용되는 이하의 공식을 물리적으로 나타낸다.
Figure 112010086767953-pct00001
(1)
여기서, D k 는 8개의 환경 거리(370a-h) 중 하나를 나타내고, Spatial_W[I, j]는 9개의 Spatial_w 값(360a-i) 중 하나를 나타내며, Ey는 Xy의 환경에서 픽셀값을 가리키고, k는 1 내지 8이며, i 및 j는 3×3 픽셀 매트릭스 내에서의 위치를 결정한다. 주목할 점은, 어떠한 환경 거리(370a-h)도 네거티브가 아니라는 것을 보장하기 위해 차이의 절대값이 취해진다는 것이다.
한 실시예에서, Spatial_w 값들(360a-i)은, 환경 내에서의 그들의 위치에 기초하여 픽셀들에 다양한 중요도를 적용하는데 이용되는 가중치로서 작용한다. Spatial_w 값들(360a-i)은 3개 픽셀 매트릭스로서 조직된다. 한 실시예에서, 각각의 Spatial_w 값(360a-i)은 2의 자승이며, 각각의 Spatial_w 값(360a-i)의 베이스 2 알고리즘은 각각의 배럴 쉬프터(606a-i)에 결합된 레지스터(미도시)에 저장된다. 이것은 배럴 쉬프터가 곱셈기 또는 나눗셈기로서 기능하는 것을 허용한다. 여기서, E9_xy 및 E1_xy간의 차이의 절대값은, 대응하는 Spatial_w 값(360a-i)가 1보다 작은 경우 우측으로 비트 쉬프트되고, 대응하는 Spatial_w 값(360a-i)이 1보다 큰 경우 좌측으로 비트 쉬프트된다.
Spatial_w 값들(360a-i)의 합계는 환경 거리(370a-h)의 동적 범위에 대응한다. 예를 들어, 만일 Spatial_w 값들(360a-i)의 합계가 1이면, 환경 거리(370a-h)는 1의 동적 범위를 가지며, 이것은 이미지 윈도우(202)의 픽셀값들과 동일한 비트 해상도임을 의미한다. 만일 Spatial_w 값들(360a-i)의 합이 16이면, 환경 거리(370a-h)는 그 합이 1일때보다 16배 큰 동적 범위를 가진다. 더 작은 동적 범위가 선호되지만, 이것은 환경 거리(370a-h)를 나타내는데 더 적은 비트수를 요구하고 게이트 수를 감축시키기 때문에, 합계 또는 동적 범위에 관한 제약이 없다. 주목할 점은, Spatial_w 값들(360a-i)을 1/2, 1/4 등으로 곱함으로써 2의 자승인 가중치들을 유지하면서 동적 범위를 감소시키는 것이 가능하다는 것이다. 표 1은 가능한 Spatial_w 값들(360a-i)의 4개 값들을 보여주고 있다.
표 1
Figure 112010086767953-pct00002
대안적 실시예에서, 표 1의 최우측 예에 도시된 바와 같이, Spatial_w 값들(360a-i)은 2의 자승이 아니다. 이것은, 보다 복잡한 방식으로 등식(1)에 도시된 바와 같이, 절대값들의 곱을 구현하는 것을 요구한다. 예를 들어, 곱셈을 실행하기 위해 배럴 쉬프터(606a-i)와 함께 곱셈기 및/또는 가산기들이 사용될 수 있다. 전반적으로, Spatial_w 값들(360a-i)은 노이즈-저감의 원하는 레벨을 달성하기 위해 필요한대로 조절된다.
주목할 점은, 등식(1)이 픽셀값들에서의 차이를 발견하는 것을 기술하고 있지만, 환경 거리(370a-h)는 중간 픽셀 X1 내지 X8에 인접한 픽셀들의 각각의 환경이 중간 픽셀의 환경에 얼마나 가까운지를 나타내기 때문에 더빙된 거리(dubbed distance)이다. 만일, 예를 들어, X3 및 X9의 환경이 픽셀값들의 관점에서 거의 동일하다면, 거리 370c의 환경, 또는 D3는 매우 낮은 값을 수신한다. 그러나, 만일 그 반대가 참이라면, 환경 거리(370c)는 매우 높은 값을 수신한다.
비제한적 예로서, 픽셀값들 Ek_xy는 12비트까지 연장되고, 그 결과, 최대 12비트 값이 배럴 쉬프터(606a-i)에 도달한다. 배럴 쉬프터(606a-i)에 결합된 레지스터에 저장된 이들 값들은 3비트에 이르고, 이것은 절대값들이 우측 또는 좌측으로 7비트까지 쉬프트된다는 것을 의미한다. 쉬프트값들(624a-i)의 비트 해상도는 배럴 쉬프터(606a-i)에 의해 수신된 절대값들의 비트 해상도, 이 경우, 12 비트에 의존한다. 가산기, 제1 합계(626a-d), 제2 합계(628a-b), 제3 합계(630), 및 환경 거리(370a)를 따르는 각각의 합계 값은, 함께 가산된 2개 값의 최대 비트 해상도보다 큰 1비트의 최대 비트 해상도를 가진다. 따라서, 이 경우, 제1 합계(626d)의 최대 비트 해상도는 13비트이고, 제2 합계(628a-b)의 최대 비트 해상도는 14비트이고, 제3 합계(630)의 최대 비트 해상도는 15비트이고, 환경 거리(370a)의 최대 비트 해상도는 16비트이다.
일단 환경 거리(370a-h)가 계산되고 나면, 가중치 계산기(220)에 의해 환경 가중치(372a-h)가 계산된다. 한 실시예에서, 환경 가중치(372a-h)는 환경 거리(370a-h)를 임계치와 비교함으로써 계산된다. 그러나, 이들 비교 이전에, 임계치들은 조절될 수 있다.
도 7a-b는 본 발명의 실시예에 따른 임계치 조절기(350)의 더 상세한 도면이다. 도 7a-b에 도시된 바와 같이, 임계치 조절기(350)는 비교기(702a-d), 멀티플렉서 로직(704), 및 우측 배럴 쉬프터(750a-d)를 포함한다. 도 7a에 도시된 바와 같이, 이미지 윈도우(202)의 신호 레벨은 적절한 조절을 결정하기 위해 사용된다. 이 신호 레벨은 비교기(702a-d)의 입력이다. 제1 실시예에서, 이 신호 레벨은 중간 픽셀값(306)이다. 제2 실시예에서, 이 신호 레벨은 X1 내지 X9의 가중 평균값이다. 예로서, 이 실시예에서 신호 레벨을 계산하기 위해 이하의 등식이 이용된다.
Figure 112010086767953-pct00003
(2)
여기서 Wi는 2의 자승이다. Wi의 합계는, 나눗셈을 피하기 위해 원래 2의 자승이 아니라면 가장 가까운 2의 자승으로 정규화된다. 제3 실시예에서, 이 신호 레벨은 다음의 등식에 따라 구할 수 있다.
Figure 112010086767953-pct00004
(3)
제4 실시예에서, 이 신호 레벨은 다음의 등식에 따라 구할 수 있다.
Figure 112010086767953-pct00005
(4)
일단 신호 레벨이 결정되고 나면, 각각의 신호 임계치(378a-d)와 비교된다. 다시한번, 전술된 바와 같이, 이들 신호 임계치(378a-d)는 이미지 노이즈 레벨(304)에 기초하여 발생된다. 예로서, 신호 임계치(378a-d)는 10비트 픽셀값에 대해 각각 150, 300, 500, 및 800이다. 비교기들(702a-d)은 신호 레벨이 각각의 신호레벨 임계치(378a-d)보다 큰지의 여부를 결정하고 그들 각각의 비교기 결과(708a-d)를 멀티플렉서 로직(704)에 전송한다. 한 실시예에서, 비교기 결과(708a-d)는 비트 값이고 신호 레벨 팩터(710)를 결정하는데 이용되는 주소로서 역할한다. 예를 들어, 만일 신호 레벨이 신호 임계치(378a-b)보다 크지만, 신호 임계치(378c-d)보다 작다면, 주소는 1100이다. 이 경우, 신호 결과값(380c)이 신호 레벨 팩터(710)로서 이용된다. 예를 들어, 신호 결과값(380a-e)은 10비트 픽셀값에 대해 각각 16, 8, 4, 2, 및 1이다. 주목할 점은, 신호결과값(380a-e)은 신호 레벨에 반비례한다는 것이다. 한 실시예에서, 신호 결과 값(380a-e)은 최대 비트 해상도 8을 가진다. 이하의 등식은 신호 레벨 팩터(710)를 계산하기 위해 사용된다:
Figure 112010086767953-pct00006
(5)
여기서, SRVa-b는 각각 신호 결과값(380a-e)을 가리키고, STVa-b는 신호 임계치(378a-d)를 가리키며, MAX는 신호 레벨의 최대 비트 해상도에 의해 결정된 값보다 1 작다.
도 7b에 도시된 바와 같이, 신호 레벨 팩터(710)는 임계치(362a-d)를 스케일링하는데 이용된다. 한 실시예에서, 만일 임계치(362a-d) 및 신호 레벨 팩터(710)가 2의 자승이라면, 우측 배럴 쉬프터(750a-d)는 신호 레벨 팩터(710)로 임계치(362a-d)를 적절히 나누기에 충분하다. 이 경우, 임계치(362a-d)는 신호 레벨 팩터(710)의 베이스 2 알고리즘에 의해 우측으로 비트 쉬프트되어 조절된 임계치(376a-d)를 생성한다. 대안적인 실시예에서, 만일 임계치(362a-d) 및/또는 신호 레벨 팩터(710)가 2의 자승이 아니라면, 예를 들어, 나눗셈을 실행하기 위해 가산기 및 곱셈기와 같은 추가적인 하드웨어가 필요하다. 이하의 방정식은 도 7b의 컴포넌트들에 의해 표현된다.
Figure 112010086767953-pct00007
(6)
계산된 이후에, 조절된 임계치(376a-d)는 가중치 계산기(220)에 전송된다.
도 8은 본 발명의 실시예에 따른 가중치 계산기(220)의 더 상세한 도면이다. 도 8에 도시된 바와 같이, 가중치 계산기(220)는 비교기(802a-d)와 멀티플렉서 로직(804)을 포함한다. 한 실시예에서, 도 8에 도시된 컴포넌트들은 환경 가중치들 (372a-h) 중 하나를 계산하는데 사용된다. 모든 환경 가중치들(372a-h)을 병렬로 계산하기 위해 추가적인 7개의 동일한 블럭들이 가중치 계산기(220)에 제공된다. 대안적인 실시예에서, 각각의 환경 가중치(372a-h)는, 도 8에 도시된 컴포넌트들이 각각의 환경 가중치(372a-h)를 한번에 하나씩 계산하는 식으로, 직렬로 계산된다. 본 명세서에서 기술될 때, 도 8에 도시된 컴포넌트들은 환경 가중치(372a)를 계산하는 것으로 가정된다.
한 실시예에서, 비교기(802a-d)는 조절된 임계치(376a-d)가 환경 거리(370a)보다 큰지의 여부를 결정하고 그들의 비교 결과(808a-d)를 멀티플렉서 로직(804)에 전달한다. 주목할 점은, 환경 거리(370a)는 환경 가중치(372a)에 대응하고, 환경 거리(370b)는 환경 가중치(372b)에 대응하는 등등의 식이라는 것이다. 비교기 결과(808a-d)는 1비트 값이며 환경 가중치(372a)를 결정하는데 사용되는 주소로서 역할한다. 예를 들어, 만일 환경 거리(370a)가 조절된 임계치(376a)보다 크지만, 조절된 임계치(376b-d)보다는 크지 않다면, 주소는 1000이다. 이 경우, 결과값(364b)은 환경 가중치(372a)로서 사용된다. 따라서 결과값들(364a-e) 중 하나는 환경 가중치(372a)가 된다. 예로서, 결과값들(364a-e)은 각각 32, 16, 8, 2, 및 1이다. 주목할 점은 2의 자승 결과값들(364a-e)이 추가 하드웨어로서의 게이트수를 낮추도록 하는 것은 향후의 곱셈을 위해 필요하지 않다는 것이다. 또한 주목할 점은, 작은 환경 거리들(370a-h)은 거리-메트릭 의미에서 더 가까운 환경을 나타내기 때문에 결과값들(364a-e)은 내림차순이라는 점이다. 따라서, 거리-메트릭 의미에서 중간 픽셀의 환경이 노이즈-저감된 픽셀값(374)에 더 작은 영향을 미치도록 환경 가중치(372a-h)는 환경 거리들(370a-h)에 반비례해야 한다. 한 실시예에서, 결과값들(364a-h)은 최대 비트 해상도 8을 가지며 레지스터들에 저장된다. 이하의 방정식은 환경 가중치(372a)를 계산하는데 사용된다:
Figure 112010086767953-pct00008
(7)
여기서, RV a-b 는 각각 결과값들(364a-e)을 가리키고, ATV a-b 는 조절된 임계치들(376a-d)을 가리키며, MAX는 환경 거리(370a-h)의 최대 비트 해상도에 의해 결정된 값보다 1작다. 예로서, 비트 해상도 12와 그 합이 1인 Spatial_w 값들(360a-i)에 대해 MAX는 4095이다. 주목할 점은, 방정식(7)은 임의의 환경 가중치(372a-h)에 대한 계산에 적용된다는 것이다.
주목할 점은, 도 8에 도시된 구조는 도 7a에 도시된 구조와 유사하다는 것이다. 한 실시예에서, 가중치 계산기(220) 및 임계치 조저기(350)는 그들 각각의 태스크를 완료하기 위해 동일한 구조를 공유한다.
대안적 실시예에서, 환경 가중치(372a-h)는 더 복잡한 방정식을 이용하여 계산된다. 예로서, 환경 거리(370a-h)와 환경 가중치(372a-h) 사이에 역 관계를 생성하기 위해 이하의 5개의 방정식이 사용될 수 있다.
Figure 112010086767953-pct00009
여기서, σ와 α는 어떤 상수이고, k는 각각의 환경 가중치(372a-h)와 환경 거리(370a-h) 쌍을 커버하기 위해 1 내지 8의 값을 가진다. 주목할 점은, 방정식 (8)-(12)는 구현에 있어서 도8의 설계보다 더 많은 게이트수를 요구한다는 것이다.
일단 환경 가중치들(372a-h)이 결정되고 나면, 노이즈-제거된 픽셀값(374)을 구하기 위한 프로세스가 개시된다. 도 9-13은 노이즈-저감된 픽셀 계산기(230)의 더 상세한 도면을 나타내며 노이즈-저감된 픽셀값(374)을 어떻게 구하는 방법이 어떻게 달성되는지를 예시한다. 그러나, 중간 픽셀값(306)의 가중치, 즉 중간 가중치(418)는 노이즈-저감된 픽셀값(374)을 구하기 전에 요구된다. 제1 실시예에서, 중간 가중치(418)는 환경 가중치(372a-h)의 합계에 기초한 값, 즉 환경 가중치 합계(412)이다. 이 실시예에서, 환경 가중치 합계(412)는 가중치 가산기(402)에 의해 계산된다.
도 9는 본 발명의 실시예에 따른 가중치 가산기(402)의 더 상세한 도면이다. 도 9에 도시된 바와 같이, 가중치 가산기(402)는 가산기(902a-d, 904a-d, 및 904)를 포함한다. 가산기(902a-d)는 환경 가중치(372a-h)를 수신하여, 2개의 환경 가중치(372a-h)를 한번에 합산하여 제1 합계(910a-d)를 생성한다. 예로서, 환경 가중치(372a-h)는 8비트의 최대 비트 해상도를 가지며, 이것은 제1 합계(910a-d)가 9비트의 최대 비트 해상도를 가진다는 것을 의미한다. 가산기(904a-b)는 한번에 두개씩 제1 합계(910a-d)를 합산하여 제2 합계(912a-b)를 생성한다. 한 실시예에서, 제2 합계(912a-b)는 10비트의 최대 비트 해상도를 가진다. 마지막으로, 가산기(906)는 제2 합계(912a-b)를 합산하여 환경 가중치 합계(412)를 생성한다. 이 환경 가중치 합계(412)는 11비트의 최대 비트 해상도를 가진다. 한 구현예에서, 환경 가중치 합계(412)는 2의 자승 계산기(406)와 중간 가중치 계산기(408) 양자 모두에 전송된다. 이 계산은 다음의 방정식으로 표현된 환경 가중치 합계(412)를 구하는데 이용된다.
Figure 112010086767953-pct00010
(13)
여기서, Wk는 환경 가중치들(372a-h)중 하나를 나타낸다.
동일하거나 상이한 시간에, 최대 가중치 식별기(404)는 최대 환경 가중치(416)를 계산한다. 도 10은 본 발명의 한 실시예에 따른 최대 가중치 식별기(404)의 더 상세한 도면이다. 도 10에 도시된 바와 같이, 최대 가중치 식별기(404)는 비교기(1002a-d, 1004a-b, 및 1006)를 포함한다. 비교기들(1002a-d) 각각은 한쌍의 환경 가중치(372a-h)를 수신하고 그 쌍에서 어떤 환경 가중치(372a-h)가 더 큰지를 결정한다. 비교기들(1002a-d)은 더 큰 환경 가중치(372a-h)를 제1 최대치로서 비교기들(1004a-b)에 전달한다. 그 다음, 비교기들(1004a-b)은 제1 최대치(1010a-d) 중 어느 것이 더 큰지를 결정하고, 그들의 결과를 제1 최대치(1012a0v)로서 비교기(1006)에 전달한다. 그러면, 비교기(1006)는 제2 최대치(1012a-b) 중 어느 것이 더 큰지를 결정함으로써, 최대 환경 가중치(416)가 결정된다. 주목할 점은 제1 최대치(1010a-d), 제2 최대치(1012a-b), 및 최대 환경 가중치(416)는 환경 가중치(372a-h)와 동일한 최대 비트 해상도를 가진다는 것이다. 한 실시예에서, 최대 환경 가중치(416)는 중간 가중치 계산기(408)에 전송된다. 최대 환경 가중치(416)를 구하는데 이용되는 계산은 다음과 같은 방정식으로 표현된다.
Figure 112010086767953-pct00011
(15)
여기서, Wk는 환경 가중치들(372a-h) 중 하나를 나타낸다.
게이트수를 최소화하기 위해, 중간 가중치(418)가 결정되기 이전에 최소 2의 자승 계산기(406)에 의해 최소 2의 자승(414)이 계산된다. 도 11은 본 발명의 실시예에 따른 최소 2의 자승 계산기(406)의 더 상세한 도면이다. 도 11에 도시된 바와 같이, 최소 2의 자승 계산기(406)는 우측 배럴 쉬프터(1102a-k), 비교기(1104a-k), 인버터(1106a-k), 및 가산기(1108)를 포함한다. 한 실시예에서, 환경 가중치 합계(412)는 각각의 배럴 쉬프터(1102a-k)에 의해 수신되어 표시된 수만큼 우측으로 비트 쉬프트되어 쉬프트 값(1110a-k)을 생성한다. 예를 들어, 쉬프트 값(1110c)은 우측으로 2비트만큼 쉬프트된 환경 가중치 합계(412)와 같다. 만일 환경 가중치 합계(412)의 최대 비트 해상도가 11비트라면, 쉬프트 값(1110a)의 최대 비트 해상도는 11비트이고, 쉬프트 값(1110b)의 최대 비트 해상도는 10비트리며, 쉬프트 값(1110c)의 최대 비트 해상도는 9비트이고, 등등의 식이다.
각각의 쉬프트 값(1110a-k)은 0인지의 여부를 알기 위해 비교기들(1104a-k)에 의해 검사되고, 그 결과 1비트 결과(1112a-k)가 나온다. 한 실시예에서, 결과(1112a-k)는 각각의 쉬프트 값(1110a-k)이 0이면 하이(high)이고, 그렇지 않으면 로우(low)이다. 이들 값(1112a-k)은 인버터(1106a-k)에 의해 반전되고 함께 총계되어 반전된 결과(1114)를 형성한다. 예로서, 반전된 결과(1114)는 11비트이며, 반전된 결과(1112a)는 최하위 비트로서 역할하고 반전된 결과(1112k)는 최상위 비트로서 역할한다.
마지막으로, 가산기(1108)는 반전된 결과(1114)에 1을 가산하며, 그 결과, 11비트 최소 2의 자승(414)이 된다. 주목할 점은, 최소 2의 자승(414)을 구하기 위해 임의의 가능한 설계가 이용될 수 있기 때문에 도 11은 제한적 의미가 아니다. 예로서, 더 복잡한 설계는 최소 2의 자승(414)을 결정하기 위해 환경 가중치 합계(412)의 베이스 2 알고리즘을 이용한다. 이 경우, 최소의 2의 자승(414)의 계산은 다음의 방정식으로 계산된다.
Figure 112010086767953-pct00012
(16)
ceil은 베이스 2 알고리즘의 결과를 가장 가까운 정수로 라운딩한다. 한 실시예에서, 최소 2의 자승(414)은 중간 가중치 계산기(408)에 전송된다. 최소의 2의 자승(414)과 더불어, 중간 가중치 계산기(408)는 중간 가중치(418)를 계산한다.
도 12a-b는 본 발명의 실시예에 따른 중간 가중치 계산기(408)의 더 상세한 도면이다. 도 12a-b에 도시된 바와 같이, 중간 가중치 계산기(408)는 비교기(1202 및 1214), 멀티플렉서 로직(1204 및 1218), 좌측 배럴 쉬프터(1210), 감산기(1212 및 1220), 및 좌측 배럴 쉬프터(1222)를 포함한다. 중간 가중치(418) 및 가능한 업데이트된 최소 2의 자승(420)을 출력하기 이전에, 중간 가중치 계산기(408)는 노이즈-저감된 픽셀값(374)이 결국 올바르게 계산되는 것을 보장하기 위해 수차례 엔드 케이스(end cases)를 검사한다.
도 12a는 엔드 케이스를 검사하는데 이용되는 제1 조건이다. 비교기(1202)는 최소 2의 자승을 합계 임계치(366)와 비교하여 어느 것이 더 큰지를 결정하고, 비교기 결과(1206)를 멀티플렉서 로직(1204)에 출력한다. 한 실시예에서, 비교기 결과(1206)는 어느 데이터 입력이 중간 최소 2의 자승이 되는지를 식별하기위해 이용되는 주소로서 역할하는 1비트 값이다. 이 경우, 최소 2의 자승(414)과 합계 임계치(366)는 멀티플렉서 로직(1204)에 대한 데이터 입력으로서 역할한다. 예로서, 만일 최소 2의 자승(414)이 합계 임계치(366)보다 큰다면, 비교기 결과(1206)는 로우이고, 그 결과, 최소 2의 자승(414)은 중간 최소 2의 자승(1208)이 된다. 본질적으로, 중간 최소 2의 자승(1208)은 2개의 멀티플렉서 로직(1204) 데이터 입력 중 더 큰 것이 된다. 한 실시예에서, 최소 2의 자승(414)와 합계 임계치(366) 양자 모두는 11비트의 최대 비트 해상도를 가지며, 이것은 중간 최소 2의 자승(1208)이 또한 11비트의 최대 비트 해상도를 가진다는 것을 의미한다.
제1 조건의 목적은, 각각의 환경 가중치(372a-h)가 예를 들어 1 또는 2와 같은 매우 낮은 값을 수신하여 낮은 환경 가중치 합계(412)를 초래하는 엔드 케이스를 다루는 것이다. 낮은 환경 가중치 합계(412)는 이하에서 기술되는 바와 같이 궁극적으로 낮은 중간 가중치(418)로 이어져, 환경 가중치(372a-h)와 중간 가중치(418)의 가중 평균에 대한 환경 가중치(372a-h)의 상대적 비율이 높게 된다. 한 실시예에서, 환경 가중치(372a-h)와 중간 가중치(418)의 가중 평균에 대한 환경 가중치(372a-h)의 낮은 상대적 비율이 실제로 요구된다. 예를 들어, 만일 환경 가중치들(372a-h)이 각각 0, 0, 0, 0, 0, 1, 1, 및 1이고, 환경 가중치 합계(412)가 3이며, 최소 2의 자승(414)이 4라면, 방정식(18)에 따라 중간 가중치(418)는 1이고, 따라서 총 가중 평균의 단 1/4이다. 반면, 다른 픽셀들 X1 내지 X8은, 낮은 환경 가중치(372a-h)는 그들의 환경이 중간 픽셀의 환경에 가깝지 않다는 것을 가리킨다는 것을 고려하면 이들 픽셀들에 이와 같은 가중치를 부여하는 것이 바람직하지 않더라도, 3/4 몫을 수신한다. 예로서, 합계 임계치(366)는 16이다. 이하에 도시된 바와 같이, 이것은 중간 가중치(418)가 총 가중 평균의 13/16이 되게 한다.
도 12b는 엔드 케이스를 검사하는데 이용되는 제2 조건이다. 감산기(1212)는 중간 최소 2의 자승(1208)으로부터 환경 가중치 합계(412)를 감산하여, 그 결과를 비교기(1214)의 입력에 전송한다. 좌측 배럴 쉬프터(1210)는 최대 환경 가중치(416)를 낮은 가중치 임계치(368)만큼 좌측으로 비트 쉬프트한다. 한 실시예에서, 낮은 가중치 임계치(368)는 3비트의 최대 비트 해상도를 가지며 레지스터에 저장된다. 최대 환경 가중치(416)는 7비트 정도 좌측으로 쉬프트된다. 비트 쉬프트된 최대 환경 가중치(416)는 비교기(1214)의 입력 b에 전송된다.
한 실시예에서, 비교기(214)는 어느 입력이 더 큰지를 결정하여, 비교기 결과(1216)를 멀티플렉서 로직(1218)에 전송한다. 비교기 결과(1216)는 멀티플렉서 로직(1218)에 대한 데이터 입력을 식별케하는 주소로서 역할하는 1비트 값이다. 입력 1은 1비트 좌측으로 비트 쉬프트된 중간 최소 2의 자승이고, 입력 0은 단순히 중간 최소 2의 자승(1208)이다. 한 실시예에서, 입력 0은 11비트의 최대 비트 해상도를 가지며, 중간 2의 자승(1208)과 정합하지만, 입력 1은 좌측 비트 쉬프트로 인해 12비트의 최대 비트 해상도를 가진다. 비교기 결과(1216)에 의해 선택된 입력은 업데이트된 최소 2의 자승(420)이 되며, 여기서, 업데이트된 최소 2의 자승(420)은 12비트의 최대 비트 해상도를 가진다. 본질적으로, 업데이트된 최소 2의 자승(420)은, 만일 중간 최소 2의 자승(1208)과 환경 가중치 합계(412) 간의 차이가 낮은 가중치 임계치(368)와 최대 환경 가중치(416)의 곱보다 크다면, 중간 최소 2의 자승(1208)과 동일하게 유지된다. 그렇지 않다면, 업데이트된 최소 2의 자승(420)은 중간 최소 2의 자승(1208)의 2배가 된다.
이 조건의 목적은, 중간 2의 자승(1208)과 환경 가중치 합계(412) 간의 차이가 양의 낮은 값인 엔드 케이스를 다루는 것이다. 방정식(18)에 관하여 이하에서 기술되는 바와 같이, 양의 낮은 값은, 중간 가중치(418)가 너무 작게 되는 결과를 초래한다. 예를 들어, 만일 환경 가중 합계(412)가 30이고 중간 2의 자승(1208)이 32라면, 중간 가중치(418)는 3이다. 이것은 제1 조건에 관하여 전술된 문제와 유사한 문제를 야기한다. 중간 가중치(418)가 더 높은 값을 수신하는 것을 보장하기 위해, 중간 2의 자승(1208)은 베이스라인 값, 이 경우, 최대 환경 가중치(416)와 곱해진 낮은 가중치 임계치(368)와 비교되고, 너무 낮다면 조절된다. 이하의 방정식은 도 12a-b에서 실행되는 동작들을 나타낸다.
Figure 112010086767953-pct00013
(17)
여기서, 제1 조건에서의 MP2는 최소 2의 자승(414)이고, 제2 조건에서의 MP2는 중간 최소 2의 자승(1208)이며, STV는 합계 임계치(366)이고, LWTV는 낮은 가중치 임계치(368)이다.
일단 업데이트된 최소 2의 자승(420)이 구해지고 나면, 중간 가중치(418)가 계산될 수 있다. 한 실시예에서, 감산기(1220)는 업데이트된 최소 2의 자승(420)으로부터 환경 가중치 합계(412)를 감산하여, 그 결과 중간 가중치(418)를 형성한다. 이하의 방정식은 중간 가중치(418)의 계산을 나타내기 위해 사용된다.
Figure 112010086767953-pct00014
(18)
여기서, MP2는 업데이트된 최소 2의 자승(420)이다. 업데이트된 최소 2의 자승(420)은 12 비트의 최대 비트 해상도를 가지고, 환경 가중치 합계(412)는 11비트의 최대 비트 해상도를 가지기 때문에, 중간 가중치(418)는 11비트의 최대 비트 해상도를 가진다. 한 실시예에서, 중간 가중치(418)와 업데이트된 최소 2의 자승(420)은 가중 평균 계산기(410)에 전송된다.
제2 실시예에서, 중간 가중치(418)는 최대 환경 가중치(416)의 배수인 값으로 설정된다. 예를 들어, 이하의 방정식은 중간 가중치(418)를 구하기 위한 알고리즘을 제공한다
Figure 112010086767953-pct00015
(19)
여기서, b는 임의의 정수 1, 2, 3, 4 등이며, 파라미터 선택기(340)에 의해 레지스터에 저장된다. 한 실시예에서, b는 게이트수를 줄이기 위해 2의 자승인 것이 바람직하다.
방정식(19)은 중간 가중치(418)가 그 주변 픽셀들 X1 내지 X8의 가장 높은 가중치를 적어도 b회 수신하는 것을 보장한다. b의 값은 원하는 노이즈 저감 레벨에 따라 조절된다. 그러나, 가중치의 궁극적 합계가 반드시, 가중 평균 계산기(410)에 의해 나눗셈이 수행될 것을 요구하는 2의 자승인 것은 아니다.
주목할 점은, 환경 가중치 합계(412)가 0이라면, 중간 가중치(418)는 1의 값을 수신한다는 것이다. 예를 들어, 이것은 만일 결과 값들(364a-e) 중 적어도 하나가 0인 경우에 발생한다. 주목할 점은, 업데이트된 최소 2의 자승(420)은 2의 제곱인데, 이것은 나눗셈 연산을 수행할 필요없이 이하에서 기술되는 바와 같이 최종 가중 평균을 정규화하기 더 용이하기 때문이다.
도 13은 본 발명의 실시예에 따른 가중 평균 계산기(410)의 더 상세한 도면이다. 도 13에 도시된 바와 같이, 가중 평균 계산기(410)는 곱셈기(1304), 좌측 배럴 쉬프터(1306a-h), 가산기(1308a-d, 1310a-b, 1312, 및 1314), 및 우측 배럴 쉬프터(1316)를 포함한다. 도 13의 컴포넌트들은 X1 내지 X9의 픽셀값들의 가중 평균을 계산하기 위해 사용되는 설계를 예시한다.
각각의 좌측 배럴 쉬프터(1306a-h)는 중간 픽셀 이웃들 중 하나의 픽셀값을 입력으로서 취하고, 그 픽셀의 각각의 환경 가중치(372a-h)의 베이스 2 알고리즘에 의해 각각을 좌측으로 비트 쉬프트하여, 그 결과 좌측 쉬프트 값(1324a-h)이 된다. 예를 들어, X1의 픽셀값은 환경 가중치(372a)의 베이스 2 알고리즘에 의해 좌측으로 비트 쉬프트되어 좌측 쉬프트값(1324a)을 생성한다. 12비트 픽셀값을 가정하면, 베이스 2 알고리즘은 3비트에까지 이르며, 이것은 각각의 픽셀값이 7비트까지만큼 좌측으로 쉬프트되는 것을 의미한다. 그 다음 좌측 쉬프트 값(1324a-h)는 19비트의 최대 비트 해상도를 가진다.
중간 가중치(418)는 반드시 2의 자승인 것은 아니므로, 곱셈기(1304)는 좌측 배럴 쉬프터(1306a-h)와 동일한 기능을 수행할 것이 요구된다. 한 실시예에서, 곱셈기(1304)는 중간 픽셀값(306) X9를 중간 가중치(418)로 곱하여, 그 결과 곱셈된 값(1322)를 형성한다. 중간 픽셀값(306)은 12 비트이고 중간 가중치(418)는 11비트의 최대 비트 해상도를 가지기 때문에, 곱셈된 값(1322)은 23비트의 최대 비트 해상도를 가진다.
가산기(1308a-d)는, 20비트의 최대 비트 해상도를 갖는 제1 합계(1326a-d)를 구하기 위해 좌측 쉬프트값(1324a-h)의 쌍들을 가산한다. 가산기(1310a-b)는 제1 합계(1326a-d)를 수신하고, 그 결과 21비트의 최대 비트 해상도를 갖는 제2 합계(1328a-b)가 형성된다. 가산기(1312)는, 22비트의 최대 비트 해상도를 갖는 제3 합계(1330)를 계산하기 위해 제2 합계(1328a-b)를 합산한다. 그 다음, 가산기(1314)는 제3 합계(1330)를 곱셈된 값(1322)에 가산하고, 그 합계를 우측 배럴 쉬프터(1316)에 전송한다. 주목할 점은, 이 합계는 23비트의 최대 비트 해상도를 가진다는 것인데, 이것은 이 경우에는 가중치의 합계가 2048보다 클 수 없기 때문이다.
마지막으로, 우측 배럴 쉬프터(1316)는, 업데이트된 최소 2의 자승(420)의 베이스 2 알고리즘에 의해 이 합계를 우측으로 비트 쉬프트한다. 이 실시예에서, 베이스 2 알고리즘은 4비트의 최대 비트 해상도를 가지는데, 이것은 이 합계가 16비트만큼 우측을 쉬프트된다는 것을 의미한다. 우측 배럴 쉬프터(1316)의 출력은 노이즈-저감된 픽셀값(374)이다. 만일, 비트 쉬프팅 후에, 노이즈-저감된 픽셀값(374)의 비트 해상도가 다른 모든 픽셀값들의 비트 해상도, 이 경우 12비트보다 크다면, 노이즈-저감된 픽셀값(374)은 다른 픽셀값들에 의해 공유된 비트 해상도로 스케일 다운된다. 가중 평균 계산은 이하의 방정식에 의해 표현된다.
Figure 112010086767953-pct00016
(20)
여기서, 환경 가중치(372a-h) 및 중간 가중치(418)의 합계는 2의 자승이 되어, 복잡한 나눗셈 계산을 피한다.
전술된 바와 같이, 파라미터 선택기(340)에 의해 결정된 임계치와 상수를 구성함으로써 노이즈-저감 레벨을 제어하는 것이 가능하다. 예로서, 12비트 픽셀 해상도를 가정하면, 제1, 제2, 및 제3 파라미터 프로파일에 대해 이하의 파라미터들이 사용된다.
표 2
Figure 112010086767953-pct00017
도 14는 본 발명의 실시예가 구현되는 예시적 모바일 장치(1400)에 대한 블럭도를 예시한다. 모바일 장치(1400)는 카메라 어셈블리(1402), 카메라 및 그래픽 인터페이스(1480), 및 통신 회로(1490)를 포함한다. 카메라 어셈블리(1470)는 카메라 렌즈(1436), 이미지 센서(1472), 및 이미지 프로세서(1474)를 포함한다. 하나의 렌즈 또는 복수의 렌즈를 포함하는 카메라 렌즈(1436)는 집광하여 이미지 센서(1436) 상에 광을 포커싱한다. 이미지 센서(1472)는 카메라 렌즈(1472)에 의해 모이고 포커싱된 광에 의해 형성된 이미지를 포착한다. 이미지 센서(1472)는 CCD 또는 CMOS 이미지 센서와 같은 종래의 임의의 이미지 센서(1472)일 수 있다. 이미지 프로세서(1474)는 메모리(1495)에의 후속 저장을 위해 이미지 센서(1472)에 의해 포착된 미가공 이미지 데이터를 처리하고, 통신 회로(1490)에 의해 전송을 위해 디스플레이(1426)에 출력한다. 이미지 프로세서(1474)는 당업계에 공지된, 이미지 데이터를 처리하도록 프로그램된 종래의 디지털 신호 프로세서일 수 있다.
이미지 프로세서(1474)는 카메라 및 그래픽 인터페이스(1480)를 통해 통신 회로(1490)와 인터페이싱한다. 통신 회로(1490)는 안테나(1492), 트랜시버(1494), 메모리(1496), 마이크로프로세서(1492), 입력/출력 회로(1494), 오디오 처리 회로(1496), 및 사용자 인터페이스(1497)를 포함한다. 트랜시버(1494)는 신호를 송수신하기 위해 안테나(1492)에 결합된다. 트랜시버(1492)는, GSM, TIA/EIA-136, cdmaOne, cdma2000, UMTS, 및 Wideband CDMA와 같은 공지된 표준을 포함한 임의의 공지된 표준에 따라 동작할 수 있는 완전 기능 셀룰러 무선 트랜시버이다.
이미지 프로세서(1474)는 본 명세서에서 기술된 하나 이상의 실시예를 이용하여 센서(1472)에 의해 획득된 이미지를 처리한다. 이미지 프로세서(1474)는 하드웨어, 소프트웨어, 또는 이들의 임의 조합으로 구현될 수 있다. 예를 들어, 이미지 프로세서(1474)는 ASIC의 일부로서 구현될 수 있다. 또다른 예로서, 이미지 프로세서(1474)는, 본 발명의 하나 이상의 실시예들을 구현하기 위해, 컴퓨터 판독가능한 매체 상에 저장된 명령어에 액세스하여 이들을 프로세서 상에서 실행할 수 있다.
마이크로프로세서(1492)는 메모리(1496)에 저장된 프로그램에 따라 트랜시버(1494)를 포함한, 모바일 장치(1400)의 동작을 제어한다. 마이크로프로세서(1492)는 본 명세서에서 기술된 이미지 처리 실시예의 일부 또는 전체를 더 실행할 수 있다. 처리 기능은 단일의 마이크로프로세서, 또는 복수의 마이크로프로세서들에서 구현될 수 있다. 적절한 프로세서들로는, 예를 들어, 범용 및 특별 목적 마이크로프로세서, 및 디지털 신호 프로세서들이 포함된다. 메모리(1496)는 모바일 통신 장치 내의 메모리의 전체 계층구조를 나타내며, 랜덤 액세스 메모리(RAM) 및 판독 전용 메모리(ROM)를 포함할 수 있다. EPROM, EEPRO, 및/또는 플래시 메모리와 같은 비휘발성 메모리에 저장된 동작들에 요구되는 데이터 및 컴퓨터 프로그램 명령어는 개별 장치로서, 스택된 장치로서, 또는 마이크로프로세서(1492)에 통합되어 구현될 수 도 있다.
입력/출력 회로(1494)는, 마이크로프로세서(1492)를, 카메라 및 그래픽 인터페이스(1480)를 통해 카메라 어셈블리(1470)의 이미지 프로세서(1474)와 인터페이싱시킨다. 카메라 및 그래픽 인터페이스(1480)는 또한 당업계에 공지된 임의의 방법에 따라 이미지 프로세서(1474)를 사용자 인터페이스(1497)와 인터페이싱시킨다. 또한, 입력/출력 회로(1494)는 마이크로프로세서(1492), 트랜시버(1494), 오디오 처리 회로(1496), 및 통신 회로(1490)의 사용자 인터페이스(1497)를 인터페이싱시킨다. 사용자 인터페이스(1497)는 디스플레이(1426), 스피커(1428), 마이크로폰(1438), 및 키패드(1440)를 포함한다. 디스플레이 섹션의 후면 상에 배치된 디스플레이(1426)는 오퍼레이터가 다이얼링된 숫자, 이미지, 콜링된 상태, 메뉴 옵션, 및 다른 서비스 정보를 보는 것을 허용한다. 키패드(1440)는 알파뉴메릭 키패드를 포함하며, 당업계에 공지된 조이스틱 제어(미도시)와 같은 네비게이션 제어를 포함할 수 있다. 나아가, 키패드(1440)는, 팜탑 컴퓨터 또는 스마트 폰등에 사용되는 풀 QWERTY 키보드를 포함할 수 있다. 키패드(1440)는 오퍼레이터가 숫자를 다이얼링하거나, 명령어를 입력하거나, 옵션을 선택하는 것을 허용한다.
마이크로폰(1438)은 사용자의 음성을 전기 오디오 신호를 변환한다. 오디오 처리 회로(1496)는 마이크로폰(1438)으로부터 아날로그 오디오 신호를 수락하여, 이들 신호를 처리하고, 처리된 신호를 입력/출력(1494)을 통해 트랜시버(1494)에 제공한다. 트랜시버(1494)에 의해 수신된 오디오 신호는 오디오 처리 회로(1496)에 의해 처리된다. 오디오 처리 회로(1496)에 의해 처리된 기본적인 아날로그 출력 신호는 스피커(1428)에 제공된다. 그러면, 스피커(1428)는 아날로그 오디오 신호를 사용자가 들을 수 있는 가청 신호로 변환한다.
당업자라면 도 14에 도시된 하나 이상의 요소들이 결합될 수도 있다는 것을 이해할 것이다. 예를 들어, 카메라 및 그래픽 인터페이스(1480)는 도 14에서 별개의 컴포넌트로서 도시되어 있지만, 카메라 및 그래픽 인터페이스(1480)는 입력/출력 회로(1494)에 병합될 수도 있다는 것을 이해할 것이다. 나아가, 마이크로프로세서(1492), 입력/출력 회로(1494), 오디오 처리 회로(1496), 이미지 프로세서(1474), 및/또는 메모리(1496)은 특별히 설계된 주문형 집적 회로(ASIC)(1491) 내에 병합될 수 있다.
도 15는 본 발명의 하나 이상의 실시예가 구현될 수 있는 컴퓨터 시스템(1500)을 예시하는 블럭도이다. 컴퓨터 시스템(1500)은, 버스(1502) 또는 정보 전달을 위한 다른 통신 메커니즘과, 정보 처리를 위해 버스(1502)에 결합된 프로세서(1502)를 포함한다. 컴퓨터 시스템(1500)은 또한, 프로세서(1504)에 의해 실행될 명령어와 정보를 저장하기 위해 버스(1502)에 결합된, 랜덤 액세스 메모리(RAM) 또는 기타의 동적 저장 장치와 같은 메인 메모리(1506)를 포함한다. 메인 메모리(1506)는 또한, 프로세서(1504)에 의해 실행되는 명령어의 실행 동안에 임시 변수 또는 기타의 중간 정보를 저장하기 위해 사용될 수도 있다. 컴퓨터 시스템(1500)은 또한, 프로세서(1504)에 대한 명령어 및 정적 정보를 저장하기 위해 버스(1502)에 결합된 기타의 정적 저장 장치 또는 판독 전용 메모리(ROM)(1508)를 포함한다. 정보와 명령어를 저장하기 위해 자기 디스크 또는 광학 디스크와 같은 저장 장치(1510)가 제공되어 버스(1502)에 결합된다.
컴퓨터 시스템(1500)은 컴퓨터 사용자에게 정보를 디스플레이하기 위해 버스(1502)를 통해 CRT와 같은 디스플레이(512)에 결합될 수 있다. 영숫자 및 기타의 키들을 포함하는 입력 장치(1514)는 프로세서(1504)에 정보를 전달하고 선택을 명령하기 위해 버스(1502)에 결합된다. 또 다른 타입의 사용자 입력 장치는, 방향 정보와 명령 선택을 프로세서(1504)에 전달하고 디스플레이(1512) 상에서의 커서 이동을 제어하기 위한 마우스, 트랙볼, 또는 커서 방향키와 같은 커서 제어 장치(1516)이다. 이 입력 장치는 전형적으로 2개 축, 즉, 장치가 평면에서의 위치를 명시하는 것을 허용하는 제1 축(예를 들어, x) 및 제2 축(예를 들어, y)에서의 자유도를 가진다. 컴퓨터 시스템(1500)은, 전술된 실시예들을 이용하여 처리될 수 있는 가청 사운드, 정지 영상, 동영상을 공급하기 위해 마이크로폰 또는 카메라와 같은 오디오/비디오 입력 장치(1515)를 더 포함할 수 있다.
본 명세서에서 공개되는 다양한 기술들은 컴퓨터 시스템(1500) 상에서 데이터를 처리하도록 구현될 수 있다. 본 발명의 한 실시예에 따르면, 이들 기술들은 메인 메모리(1506)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 프로세서(1504)가 실행하는 것에 응답하여 컴퓨터 시스템(1500)에 의해 수행된다. 이와 같은 명령어들은 저장 장치(1506)와 같은 또 다른 머신 판독가능한 매체로부터 메인 메모리(1506)에 읽혀들여질 수 있다. 메인 메모리(1506)에 포함된 명령어 시퀀스들의 실행은 프로세서(1504)로 하여금 전술된 프로세스 단계들을 수행하게끔 한다. 대안적 실시예에서, 본 발명을 구현하기 위해 소프트웨어 명령어 대신에 또는 이와 조합하여 하드-와이어드 회로가 사용될 수 있다. 따라서, 본 발명의 실시예들은 하드웨어 회로 또는 소프트웨어의 임의의 특정한 조합으로 제한되는 것은 아니다.
본 명세서에서 사용될 때 용어 "머신 판독가능한 매체"란, 머신으로 하여금 특정한 방식으로 동작하게끔 하는 데이터를 제공하는데 참여하는 임의의 매체를 말한다. 컴퓨터 시스템(1500)을 이용하여 구현된 실시예에서, 예를 들어 실행을 위해 프로세서(1504)에 명령어를 제공하는데 있어서 다양한 머신-판독가능한 매체가 연루된다. 이와 같은 매체는, 저장 매체 및 전송 매체를 포함하지만 이것으로만 한정되지 않는 많은 형태를 취할 수 있다. 저장 매체는 비휘발성 매체 및 휘발성 매체를 포함한다. 비휘발성 매체는 예를 들어 저장 장치(1510)와 같은 광학 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(1506)와 같은 동적 메모리를 포함한다. 전송 매체는 동축 케이블, 버스(1502)를 포함하는 와이어를 포함한 구리선 및 광섬유를 포함한다. 전송 매체는 라디오파 및 적외선 데이터 통신 동안에 발생된 것과 같은 음향 또는 광파의 형태를 취할 수도 있다. 이와 같은 모든 매체는, 매체에 의해 운반되는 명령어들이 명령어를 머신 내에 읽어들이는 물리적 메커니즘에 의해 검출되게끔 인에이블하도록 유형적(tangible)인 것이어야 한다.
머신 판독가능한 매체의 흔한 형태는, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 기타 임의의 자기 매체, CD-ROM, 기타 임의의 광학 매체, 펀치카드, 종이테이프, 홀 패턴을 갖는 기타 임의의 물리적 매체, RAM, ROM, PROM, EPROM, FLASH-EPROM, 기타 임의의 메모리 칩 또는 카트리지, 이하에서 기술되는 반송파, 또는 컴퓨터가 판독할 수 있는 기타 임의의 매체를 포함한다.
다양한 형태의 컴퓨터 판독가능한 매체가, 실행을 위해 프로세서(1504)에 대한 하나 이상의 명령어의 하나 이상의 시퀀스를 운반하는데 연루될 수 있다. 예를 들어, 명령어는 초기에 원격 컴퓨터의 자기 디스크 상에 적재될 수 있다. 원격 컴퓨터는 그 명령어들을 자신의 동적 메모리에 로딩한 다음 모뎀을 이용하여 전화선을 통해 전송할 수 있다. 컴퓨터 시스템(1500)에 국부적인 모뎀은 전화선 상에서 그 데이터를 수신하고 그 데이터를 적외선 신호로 변환하기 위해 적외선 전송기를 이용할 수 있다. 적외선 검출기는 적외선 신호에 운반된 데이터를 수신하고 적절한 회로가 그 데이터를 버스(1502) 상에 둘 수 있다. 버스(1502)는 그 데이터를 메인 메모리(1506)에 운반하고, 이 메인 메모리(1506)로부터 프로세서(1504)가 데이터를 회수하여 명령어를 실행한다. 메인 메모리(1506)에 의해 수신된 명령어는, 선택사항으로서, 프로세서(1504)에 의한 실행 이전 또는 이후에 저장 장치(1510) 상에 저장된다.
컴퓨터 시스템(1500)은 또한, 버스(1502)에 결합된 통신 인터페이스(1518)를 포함한다. 통신 인터페이스(1518)는 로컬 네트워크(1522)에 접속된 네트워크 링크(1520)에 결합하는 양방향 데이터 통신을 제공한다. 예를 들어, 통신 인터페이스(1518)는 대응하는 전화선 타입으로의 데이터 통신 접속을 제공하는 모뎀 또는 ISDN 카드일 수 있다. 또 다른 예로서, 통신 인터페이스(1518)는 호환 LAN으로의 데이터 통신 접속을 제공하는 근거리 통신망(LAN) 카드일 수 있다. 무선 링크가 또한 구현될 수 있다. 임의의 이와 같은 구현에서, 통신 인터페이스(1518)는 다양한 타입의 정보를 나타내는 디지털 데이터 스트림을 운반하는 전기, 전자기 또는 광 신호를 송수신한다.
네트워크 링크(1520)는 다른 데이터 장치들로의 하나 이상의 네트워크를 통해 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(1520)는 로컬 네트워크(1522)를 통해 호스트 컴퓨터(1524) 또는 ISP(1526)에 의해 운영되는 데이터 장비로의 접속을 제공할 수 있다. ISP(1526)는 차례로, 통상 "인터넷"(1528)이라 불리는 월드 와이드 패킷 통신망을 통해 데이터 통신 서비스를 제공한다. 로컬 네트워크(1522) 및 인터넷(1528) 양자 모두는 디지털 데이터 스트림을 운반하는 전기, 전자기, 또는 광학 신호를 이용한다. 다양한 네트워크를 통한 신호 및 네트워크 링크(1520) 상의 신호 및 컴퓨터 시스템(1500)과 디지털 데이터를 주고 받는 통신 인터페이스(1518)를 통한 신호는 정보를 운반하는 반송파의 예시적 형태이다.
컴퓨터 시스템(1500)은 네트워크(들), 네트워크 링크(1520) 및 통신 인터페이스(1518)를 통해 메시지를 전송하고 프로그램 코드를 포함한 데이터를 수신할 수 있다. 인터넷 예에서, 서버(1530)는 인터넷(1528), ISP(1526), 로컬 네트워크(1522), 및 통신 인터페이스(1518)를 통해 애플리케이션 프로그램에 대한 요청된 코드를 전송할 수 있다.
수신된 코드는 프로세서(1504)에 의해 실행되거나, 및/또는 나중의 실행을 위해 저장 장치(1510), 또는 기타의 비휘발성 저장 장치에 저장된다. 이런 식으로, 컴퓨터 시스템(1500)은 반송파의 형태로 애플리케이션 코드를 얻을 수 있다.
본 명세서에서 기술되는 프로그램 코드의 실시예들에 의해 처리되는 데이터는, A/V 입력 장치(1515), 저장 장치(1510), 및 통신 인터페이스(1518)를 포함하지만 이들만으로 한정되지 않는 다양한 소스로부터 얻어질 수 있다.
도 16은 본 발명의 실시예에 따른 이미지 윈도우의 중간 픽셀에 대한 노이즈-저감된 픽셀값을 계산하기 위한 방법(1600)의 플로차트이다. 방법(1600)이 본 발명의 실시예에 관하여 기술되어 있지만, 방법(1600)은 본 발명으로만 제한되는 것은 아니며 다른 응용에서도 사용될 수 있다. 한 예에서, 방법(1600)은 도 3의 노이즈-저감된 픽셀값(374)을 계산하는데 이용된다. 그러나, 방법(1600)은 노이즈-저감된 픽셀값(374)으로만 제한되는 것은 아니다. 도 16에 도시된 바와 같이, 방법(1600)은 이미지 윈도우가 수신되는 스테이지(1602)에서 시작한다. 한 실시예에서, 이미지 윈도우는 ISP 체인에 의해 처리되고 노이즈 저감 모듈에 의해 수신되고 있는 이미지의 적어도 일부이다. 이미지 윈도우는 행과 열로 정렬된 픽셀값으로 구성된다. 일단 스테이지(1602)가 완료되면, 방법(1600)은 스테이지(1604)로 진행한다.
스테이지(1604)에서, 중간 픽셀 및 중간 픽셀에 인접한 픽셀이 식별된다. 이웃 픽셀들은 중간 픽셀의 한 픽셀 내의 픽셀들이다. 한 실시예에서, 중간 픽셀은 8개의 이웃 픽셀을 가진다. 중간 픽셀과 이웃 픽셀들간의 픽셀값 차이가 계산된다. 한 실시예에서, 이들 차이는 주어진 이웃 픽셀이 중간 픽셀의 환경에 대해 얼마나 가깝거나 먼지를 수치적으로 설명하며, 환경 거리가 불린다. 일단 스테이지(1604)가 완료되면, 방법(1600)은 스테이지(1606)로 진행한다.
스테이지(1606)에서, 나중에 환경 가중치를 결정하는데 사용될 수 있는 임계치가 조절될 수 있다. 한 실시예에서, 임계치들은 이미지 윈도우의 신호 레벨에 기초하여 조절된다. 일단 스테이지(1606)가 완료되면, 방법(1600)은 스테이지(1608)로 진행한다.
제1 대안적 실시예에서, 스테이지(1606)는 스테이지(1604) 이전에 발생할 수 있다. 제2 대안적 실시예에서, 스테이지(1604) 및 스테이지(1606)는 동시에 발생할 수 있다.
스테이지(1608)에서, 스테이지(1604)에서 계산된 환경 거리와 스테이지(1606)에서 조절된 임계치들은 각각의 이웃 픽셀에 대한 환경 가중치를 계산하기 위해 아용된다. 한 실시예에서, 환경 가중치는 환경 거리에 반비례하는데, 이것은 더 작은 환경 거리가 보다 바람직하기 때문이다. 일단 스테이지(1608)이 완료되면, 방법(1600)은 스테이지(1610)로 진행한다.
스테이지(1610)에서, 중간 픽셀에 대한 가중치가 결정된다. 한 실시예에서, 이 가중치는 이웃 픽셀들의 가중치에 의존한다. 예를 들어, 중간 픽셀 가중치는 이웃 픽셀 가중치들의 합계와, 가장 큰 이웃 픽셀 가중치와, 이웃 픽셀 가중치의 합계보다 큰 최소 2의 자승에 의존한다. 일단 스테이지(1610)가 완료되면, 방법(1600)은 스테이지(1612)로 진행한다.
스테이지(1612)에서, 노이즈-저감된 픽셀값이 계산된다. 한 실시예에서, 노이즈-저감된 픽셀값은 모든 가중치들의 가중 평균에 기초한다. 예를 들어, 이웃 픽셀들과 중간 픽셀의 각각의 가중치는 그들 각각의 픽셀값들에 의해 곱해지고 합산된다. 그 다음, 이 합계는 가중치들의 총 합계에 의해 나누어진다. 실시예에서, 이 계산된 노이즈-저감된 픽셀값은 이미지 윈도우 내의 중간 픽셀의 원래 픽셀값을 대체한다. 일단 스테이지(1612)가 완료되면, 방법(1600)은 스테이지(1614)로 진행한다.
스테이지(1614)에서, 이미지 윈도우가 발생된 이미지 내의 추가 픽셀들이 노이즈-저감될 필요가 있는지의 여부를 결정하기 위해 조건이 검사된다. 만일 더 많은 픽셀들이 노이즈-저감될 필요가 있다면, 이 방법(1600)은 스테이지(1602)로 역 점프하고, 그 곳에서 새로운 이미지 윈도우가 수신된다. 만일 더 이상의 픽셀들이 노이즈-저감될 필요가 없다면, 방법(1600)은 종료한다.
전술된 설명에서, 본 발명의 실시예들이 구현마다 달라질 수 있는 다양한 특정 세부사항을 참조하여 기술되었다. 따라서, 출원인이 의도한 본 발명이 무엇인지를 나타내는 유일하고 배타적인 표시는 첨부된 청구범위이다. 청구범위에 포함된 용어에 대해 명시적으로 개시된 정의는 청구범위에서 사용된 이와 같은 용어의 의미를 전적으로 지배한다. 따라서, 청구범위에 명시적으로 인용되지 않은 어떠한 제한, 요소, 속성, 특징, 잇점, 특성은 어떠한 식으로든 청구범위를 제한하지 않는다. 상세한 설명과 도면은 예시를 위한 것이지 제한을 위한 것이 아니다.
202: 이미지 윈도우
210: 거리 계산기
220: 가중치 계산기
230: 노이즈-저감된 픽셀 계산기
304: 이미지 노이즈 레벨
340: 파라미터 선택기
350: 임계치 조절기
366: 합계 임계치 값

Claims (39)

  1. 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법에 있어서,
    (a) 제1 픽셀의 값을 다른 픽셀들의 세트의 값들과 비교하는 단계로서, 상기 제1 픽셀 및 상기 다른 픽셀들의 세트는 각각 제1 색상인 것인, 상기 제1 픽셀의 값을 다른 픽셀들의 세트의 값들과 비교하는 단계와;
    (b) 상기 제1 픽셀에 이웃하는 픽셀들의 값들을 상기 다른 픽셀들의 세트에 이웃하는 추가 픽셀들의 값들과 비교하는 단계로서, 상기 제1 픽셀에 이웃하는 픽셀들과 상기 다른 픽셀들의 세트에 이웃하는 추가 픽셀들은 제1 색상, 제2 색상, 및 제3 색상 중 하나인 것인, 상기 제1 픽셀에 이웃하는 픽셀들의 값들을 상기 다른 픽셀들의 세트에 이웃하는 추가 픽셀들의 값들과 비교하는 단계와;
    (c) 상기 다른 픽셀들의 세트 내의 각각의 픽셀에 대해, 단계(a)와 (b)의 결과에 기초하여 가중치를 결정하는 단계와;
    (d) 상기 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치들에 기초하여 노이즈-저감된 픽셀 값을 계산하는 단계와;
    (e) 상기 제1 픽셀의 값을 상기 노이즈-저감된 픽셀 값으로 대체하는 단계
    를 포함하는, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  2. 제1항에 있어서, 상기 단계(d)는,
    상기 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치들을 합산하는 단계와;
    상기 가중치들의 합계보다 큰 가장 낮은 2의 자승을 계산하는 단계와;
    상기 가장 낮은 2의 자승과 상기 가중치들의 합계의 함수로서 상기 노이즈-저감된 픽셀 값을 계산하는 단계
    를 포함하는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  3. 제2항에 있어서, 상기 가장 낮은 2의 자승과 상기 가중치의 합계 사이의 차이가 미리 결정된 값보다 작다면, 상기 가장 낮은 2의 자승은 상기 노이즈-저감된 픽셀 값을 계산하기 이전에 조절되는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  4. 제2항에 있어서, 만일 상기 가장 낮은 2의 자승이 미리 결정된 값보다 작다면, 상기 가장 낮은 2의 자승은 상기 노이즈-저감된 픽셀 값을 계산하기 이전에 조절되는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  5. 제2항에 있어서, 상기 노이즈-저감된 픽셀 값을 계산하는 단계는,
    상기 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치들과 상기 제1 픽셀의 가중치의 가중 평균을 계산하는 단계로서, 상기 제1 픽셀의 가중치는 상기 가장 낮은 2의 자승과 상기 가중치의 합계에 기초하는 것인, 상기 가중 평균을 계산하는 단계와;
    상기 노이즈-저감된 픽셀 값을 상기 가중 평균과 같게 설정하는 단계
    를 포함하는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  6. 제5항에 있어서, 상기 가중 평균은 레지스터에서 비트들을 쉬프팅시킴으로써 계산되는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  7. 제1항에 있어서, 상기 단계(a)는,
    상기 다른 픽셀들의 세트 내의 각각의 픽셀에 대하여, 상기 제1 픽셀의 값과, 상기 다른 픽셀들의 세트 내의 각각의 픽셀의 값 사이의 차이를 계산하는 단계를 포함하는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  8. 제7항에 있어서, 상기 단계(b)는,
    상기 제1 픽셀에 이웃하는 각각의 픽셀에 대하여, 상기 제1 픽셀에 이웃하는 각각의 픽셀의 값과, 상기 다른 픽셀들의 세트에 이웃하는 대응하는 추가 픽셀들의 값들 사이의 차이를 계산하는 단계를 포함하고, 상기 제1 픽셀에 이웃하는 픽셀들의 상기 제1 픽셀에 대한 상대적인 위치와, 상기 다른 픽셀들의 세트에 이웃하는 추가 픽셀들의 상기 다른 픽셀들의 세트에 대한 상대적인 위치는, 상기 제1 픽셀에 이웃하는 픽셀 중 어느 픽셀이 상기 다른 픽셀들의 세트에 이웃하는 추가 픽셀들 중 어느 픽셀에 대응하는지를 결정하는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  9. 제8항에 있어서, 상기 단계(a) 및 상기 단계(b)의 계산된 차이는 공간 가중치 매트릭스에 기초하는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  10. 제8항에 있어서, 상기 단계(c)는,
    임계치를 조절하는 단계로서, 상기 조절은 신호 레벨에 기초하고, 상기 신호 레벨은 상기 제1 픽셀의 값과 상기 다른 픽셀들의 세트의 값들 중 적어도 하나에 의존하는 것인, 상기 임계치를 조절하는 단계와;
    상기 조절된 임계치와 상기 단계(a) 및 (b)의 계산된 차이를 비교하는 단계와;
    상기 비교에 기초하여 상기 다른 픽셀들의 세트 내의 각각의 픽셀의 가중치를 결정하는 단계
    를 포함하는, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  11. 제1항에 있어서, 상기 이미지는 디테일이 풍부한 영역을 포함하며, 상기 디테일이 풍부한 영역은 상기 제1 픽셀과 상기 다른 픽셀들의 세트를 포함하는 것인, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  12. 제11항에 있어서,
    (f) 상기 이미지의 디테일이 풍부한 영역 내의 모든 픽셀들과, 상기 이미지 내의 엣지와 윤곽선 상의 및 그 부근의 모든 픽셀들에 대해, 상기 단계(a) 내지 (e)를 반복하는 단계를 더 포함하는, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  13. 제12항에 있어서,
    (g) 상기 이미지 프로세서 장치에 의한 추가 처리를 위해 상기 이미지를 출력하는 단계를 더 포함하는, 노이즈를 저감시키며 픽셀들을 갖는 이미지의 콘트라스트를 보존하기 위해 이미지 프로세서 장치에서 구현되는 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 따른 방법의 각 단계가 구현되는 이미지 프로세서 장치를 포함하는 시스템.
  15. 제1항 내지 제13항 중 어느 한 항에 따른 방법의 각 단계를 수행하기 위한 컴퓨터 프로그램 명령어를 포함하는 컴퓨터 판독가능한 기록 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
KR1020107029412A 2008-06-06 2009-06-05 이미지에서 콘트라스트를 보존하면서 노이즈를 저감시키기 위한 기술 KR101526031B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5945008P 2008-06-06 2008-06-06
US61/059,450 2008-06-06
PCT/IB2009/006257 WO2009147535A1 (en) 2008-06-06 2009-06-05 Techniques for reducing noise while preserving contrast in an image

Publications (2)

Publication Number Publication Date
KR20110031433A KR20110031433A (ko) 2011-03-28
KR101526031B1 true KR101526031B1 (ko) 2015-06-04

Family

ID=41103553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107029412A KR101526031B1 (ko) 2008-06-06 2009-06-05 이미지에서 콘트라스트를 보존하면서 노이즈를 저감시키기 위한 기술

Country Status (5)

Country Link
US (1) US8723879B2 (ko)
EP (1) EP2297695B1 (ko)
JP (1) JP5653913B2 (ko)
KR (1) KR101526031B1 (ko)
WO (1) WO2009147535A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5653913B2 (ja) 2008-06-06 2015-01-14 フォトネーション リミテッド 画像のコントラストを維持しながらノイズを低減するための技術
US8345130B2 (en) * 2010-01-29 2013-01-01 Eastman Kodak Company Denoising CFA images using weighted pixel differences
US8295631B2 (en) * 2010-01-29 2012-10-23 Eastman Kodak Company Iteratively denoising color filter array images
US8879841B2 (en) * 2011-03-01 2014-11-04 Fotonation Limited Anisotropic denoising method
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators
US8891866B2 (en) * 2011-08-31 2014-11-18 Sony Corporation Image processing apparatus, image processing method, and program
TWI516133B (zh) * 2012-01-18 2016-01-01 聯詠科技股份有限公司 影像處理裝置及方法
TW201336303A (zh) * 2012-02-24 2013-09-01 Htc Corp 影像擷取系統及應用於影像擷取系統的影像處理方法
US9070195B2 (en) * 2012-06-10 2015-06-30 Apple Inc. Method and system for auto-enhancing photographs with saturation adjustments
US9854138B2 (en) * 2012-09-20 2017-12-26 Gyrus Acmi, Inc. Fixed pattern noise reduction
US9712178B2 (en) * 2013-05-03 2017-07-18 Texas Instruments Incorporated Dynamic resolution adjustment for digital converters
KR102145209B1 (ko) * 2014-02-12 2020-08-18 삼성전자주식회사 플래시 장치, 영상 촬영 장치, 및 방법
US10262399B2 (en) * 2017-01-09 2019-04-16 Samsung Electronics Co., Ltd. Image denoising with color-edge contrast preserving
CN109300077B (zh) * 2017-07-24 2023-03-28 厦门雅迅网络股份有限公司 动态信息隐写方法及计算机可读存储介质
KR102614088B1 (ko) 2018-08-06 2023-12-18 삼성전자주식회사 이미지 신호 프로세서 및 이미지 신호 프로세서를 포함하는 전자 장치
ES2938687T3 (es) * 2019-04-03 2023-04-13 Mecwins S A Procedimiento de detección óptica de biomarcadores

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030048368A1 (en) * 2001-08-31 2003-03-13 Angelo Bosco Noise filter for bayer pattern image data
EP1315367A2 (en) * 2001-11-13 2003-05-28 Nokia Corporation Method and system for improving color images
US20050025379A1 (en) * 2003-07-31 2005-02-03 Renato Keshet Digital imaging systems, articles of manufacture, and digital image processing methods

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633683B1 (en) * 2000-06-26 2003-10-14 Miranda Technologies Inc. Apparatus and method for adaptively reducing noise in a noisy input image signal
US20030026495A1 (en) * 2001-03-07 2003-02-06 Gondek Jay Stephen Parameterized sharpening and smoothing method and apparatus
US6983079B2 (en) * 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
US7616829B1 (en) * 2003-10-29 2009-11-10 Apple Inc. Reducing undesirable block based image processing artifacts by DC image filtering
US7822286B2 (en) * 2003-11-07 2010-10-26 Mitsubishi Electric Research Laboratories, Inc. Filtering artifacts in images with 3D spatio-temporal fuzzy filters
US20050100235A1 (en) * 2003-11-07 2005-05-12 Hao-Song Kong System and method for classifying and filtering pixels
JP4321391B2 (ja) * 2004-07-16 2009-08-26 株式会社ニコン 画像処理装置、および画像処理プログラム
CA2616875A1 (en) * 2004-07-30 2006-02-02 Algolith Inc. Apparatus and method for adaptive 3d artifact reducing for encoded image signal
US7657098B2 (en) * 2005-05-02 2010-02-02 Samsung Electronics Co., Ltd. Method and apparatus for reducing mosquito noise in decoded video sequence
BRPI0621549A2 (pt) * 2006-04-11 2011-12-13 Thomson Licensing técnica de filtro de conteúdo adaptativo
US7889207B2 (en) * 2007-02-08 2011-02-15 Nikon Corporation Image apparatus with image noise compensation
US7983503B2 (en) * 2007-05-25 2011-07-19 Zoran Corporation Advanced noise reduction in digital cameras
US8254716B2 (en) * 2007-12-12 2012-08-28 Intel Corporation Method for adaptive image enhancement
JP5653913B2 (ja) 2008-06-06 2015-01-14 フォトネーション リミテッド 画像のコントラストを維持しながらノイズを低減するための技術
US8391628B2 (en) * 2010-12-16 2013-03-05 Stmicroelectronics Asia Pacific Pte Ltd. Directional anti-aliasing filter
US8879841B2 (en) * 2011-03-01 2014-11-04 Fotonation Limited Anisotropic denoising method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030048368A1 (en) * 2001-08-31 2003-03-13 Angelo Bosco Noise filter for bayer pattern image data
EP1315367A2 (en) * 2001-11-13 2003-05-28 Nokia Corporation Method and system for improving color images
US20050025379A1 (en) * 2003-07-31 2005-02-03 Renato Keshet Digital imaging systems, articles of manufacture, and digital image processing methods

Also Published As

Publication number Publication date
US20110090240A1 (en) 2011-04-21
KR20110031433A (ko) 2011-03-28
JP5653913B2 (ja) 2015-01-14
JP2011527463A (ja) 2011-10-27
US8723879B2 (en) 2014-05-13
WO2009147535A1 (en) 2009-12-10
EP2297695B1 (en) 2018-08-08
EP2297695A1 (en) 2011-03-23

Similar Documents

Publication Publication Date Title
KR101526031B1 (ko) 이미지에서 콘트라스트를 보존하면서 노이즈를 저감시키기 위한 기술
KR101313911B1 (ko) 이미지 처리 방법 및 장치
JP4288623B2 (ja) 撮像装置、ノイズ除去装置、ノイズ除去方法、ノイズ除去方法のプログラム及びノイズ除去方法のプログラムを記録した記録媒体
US8537234B2 (en) Image restoration with enhanced filtering
JP4859632B2 (ja) 画像処理装置及び画像処理方法
US20080123950A1 (en) Image processing apparatus, image capturing apparatus, image processing method in these apparatuses, and program allowing computer to execute the method
JP5060447B2 (ja) ノイズキャンセル処理回路および固体撮像装置
US7889942B2 (en) Dynamic range compensation-dependent noise reduction
JP5983373B2 (ja) 画像処理装置、情報処理方法及びプログラム
US20070201759A1 (en) Digital image processing apparatus and method for the same
JP2010252231A (ja) 画像処理装置、その制御方法、及びプログラム
JP5041886B2 (ja) 画像処理装置、画像処理プログラム、画像処理方法
JP2013218487A (ja) 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
JP5398667B2 (ja) 画像処理装置
US7995856B2 (en) Dynamic range compensation-dependent noise reduction
Adams Jr et al. Digital camera image processing chain design
KR101337667B1 (ko) 휘도 정보에 기초하여 보정된 값들을 이용한 렌즈 롤 오프 보정 동작
US8705883B2 (en) Noise reduction device and noise reduction method
JP5103580B2 (ja) 画像処理装置およびデジタルカメラ
JP2003230025A (ja) 画像処理装置及び固体撮像装置並びに画像処理方法

Legal Events

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