상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 노이즈 저감 방법은 입력 영상의 노이즈 레벨을 산출하는 단계, 및 상기 입력 영상에서 소정의 크기의 윈도우 내의 중심 픽셀과 복수의 인접 픽셀들 간의 신호 강도의 차이와 상기 노이즈 레벨에 따라서 결정되는 가중치를 이용하여 상기 중심 픽셀의 노이즈를 제거하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 노이즈 저감 장치는 입력 영상의 노이즈 레벨을 산출하는 노이즈 레벨 산출부, 및 상기 입력 영상에서 소정의 크기의 윈도우 내의 중심 픽셀과 복수의 인접 픽셀들 간의 신호 강도의 차이와 상기 노이즈 레벨에 따라서 결정되는 가중치를 이용하여 상기 중심 픽셀의 노이즈를 제거하는 필터링부를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 촬영 장치는 소정의 피사체를 촬상하여 입력 영상을 제공하는 촬영부, 및 상기 입력 영상의 노이즈 레벨을 산출하고, 상기 입력 영상에서 소정의 크기의 윈도우 내의 중심 픽셀과 복수의 인접 픽셀들 간의 신호 강도의 차이와 상기 노이즈 레벨에 따라서 결정되는 가중치를 이용하여 상기 중심 픽셀의 노이즈를 제거하는 노이즈 저감부를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 노이즈 저감 장치(100)를 나타낸 블록도 이다. 도시된 노이즈 저감 장치(100)는 노이즈 레벨 산출부(110), 가중치 결정부(120), 엣지 판별부(130), 가중치 보상부(140), 및 필터링부(160)를 포함한다. 이러한 노이즈 저감 장치(100)는 디지털 스틸 카메라나 디지털 캠코더와 같은 촬영 장치에 적용될 수 있다.
참고로, 본 실시예에서는 입력 영상이 RGB로 구성되는 베이어 도메인(Bayer domain)으로 처리되는 경우를 위주로 설명할 것이지만 본 발명이 이에 한정되는 것은 아니다. 예를 들어 입력 영상이 YUV나 YCrCb 도메인으로 처리되는 경우를 위한 노이즈 저감 방식도 본 실시예를 통하여 이해될 수 있을 것이며, 이들 또한 본 발명의 범주에 포함되는 것으로 해석되어야 한다.
노이즈 레벨 산출부(110)는 입력 영상의 노이즈 레벨을 산출한다. 노이즈 레벨은 입력 영상에 존재하는 노이즈의 크기를 나타내는 수치이다. 노이즈 레벨에 주된 영향을 미치는 요인(이하 '노이즈 요인'이라 한다)으로서 입력 영상의 신호 강도(signal intensity), 영상 촬영시의 자동 노출(Auto Exposure; AE)에 따른 자동이득조절(Auto Gain Control; AGC) 값, 및 입력 영상의 조도 등을 들 수 있다. 여기서 신호 강도는 입력 영상의 촬영 시 빛의 수집량을 가늠하는 수치를 나타낸다.
입력 영상의 노이즈 요인에 따른 노이즈 레벨은 노이즈 저감 장치(100)가 적용될 촬영 장치에 대한 실험을 통하여 사전에 설정되어 있을 수 있으며, 노이즈 레벨 산출부(110)는 이를 이용함으로써 입력 영상의 노이즈 레벨을 산출할 수 있다. 이하 도 2a 내지 도 3을 참조하여 이에 대하여 설명하도록 한다.
도 2a는 입력 영상의 신호 강도와 노이즈 레벨 간의 관계에 대한 실험 결과를 나타낸 도면이다. 도시된 바와 같이 노이즈 저감 장치(100)가 적용될 촬영 장치에 대하여 R, G, B 각 채널 별로 신호 강도에 따른 노이즈 레벨을 측정하고, 측정 결과의 추세선(212, 214, 216)을 구해둘 수 있다. 이러한 추세선(212, 214, 216)을 이용하여 신호 강도와 노이즈 레벨 간의 관계를 나타내는 룩업테이블이 생성될 수 있으며, 노이즈 레벨 산출부(110)는 룩업테이블을 사용하여 입력 영상의 신호 강도에 따른 노이즈 레벨을 산출할 수 있다.
한편, 인간은 낮은 신호 강도의 영상을 관찰할 경우보다 높은 신호 강도의 영상을 관찰할 경우 노이즈에 대하여 낮은 인지도를 갖는데, 이러한 인간의 시각적 특성이 노이즈 레벨 산출 작업에 반영되도록 할 수도 있다. 이를 위하여, 사전에 여러 피실험자들이 다양한 신호 강도의 입력 영상들과 원 영상을 시각적으로 비교하여 입력 영상의 노이즈 레벨을 결정하도록 하면, 도 2b에 도시된 바와 같이 입력 영상의 신호 강도에 따라서 피실험자들이 결정한 노이즈 레벨에 대한 추세선(220)을 구할 수 있다. 물론 이 경우에도 R, G, B 각 채널 별로 실험함으로써 R, G, B 채널 별로 추세선을 구할 수 있다.
이렇게 구해진 추세선을 도 2a의 추세선에 반영시킨 결과를 도 2c에 도시하였다. 최종적으로 얻어진, 신호 강도에 따른 노이즈 레벨 함수(232, 234, 236)는 도 2a에서 구한 추세선에 도 2b에서 구한 추세선을 곱한 결과를 나타낸다. 노이즈 레벨 산출부(110)는 최종적으로 얻어진 노이즈 레벨 함수(232, 234, 236)를 이용하여 R, G, B 채널 별로 입력 영상의 신호 강도에 따른 노이즈 레벨을 산출할 수 있 다.
도 3은 입력 영상의 자동이득조절 값과 노이즈 레벨 간의 관계에 대한 실험 결과를 나타낸 도면이다. 도시된 바와 같이 노이즈 저감 장치(100)가 적용될 촬영 장치에 대하여 R, G, B 각 채널 별로 자동이득조절 값에 따른 노이즈 레벨을 측정하고, 측정 결과의 추세선(312, 314, 316)을 구해둘 수 있다. 이러한 추세선(312, 314, 316)을 이용하여 자동이득조절 값과 노이즈 레벨 간의 관계를 나타내는 룩업테이블이 생성될 수 있으며, 노이즈 레벨 산출부(110)는 룩업테이블을 사용하여 입력 영상의 자동이득조절 값에 따른 노이즈 레벨을 산출할 수 있다.
한편, 노이즈 요인 중에서 조도는 임펄스 노이즈(impulse noise)에 주된 영향을 미치는데, 일반적으로 저조도의 영상일수록 임펄스 노이즈의 발생 가능성이 높아진다. 따라서 입력 영상의 조도가 일정 수치보다 낮은 경우 입력 영상에서 임펄스 노이즈를 제거하기 위한 추가적인 연산이 수행될 수 있으며, 이에 대해서는 임펄스 노이즈 판별부(150)를 통해서 후술하도록 한다.
가중치 결정부(120)는 입력 영상의 노이즈 레벨과 입력 영상에 대한 소정 크기의 윈도우 내의 중심 픽셀과 인접 픽셀 간의 신호 강도의 차이에 기반하여 윈도우 내의 각 인접 픽셀에 적용될 가중치를 계산한다. 여기서 중심 픽셀은 노이즈 저감 작업의 대상이 되는 픽셀로서 윈도우의 중심에 위치하는 픽셀이고, 인접 픽셀은 윈도우 내에서 중심 픽셀과 동일한 종류의 광학 채널이 적용된 픽셀이다. 예를 들어 중심 픽셀이 R 채널의 픽셀이라면, 인접 픽셀은 윈도우 내의 픽셀들 중에서 중심 픽셀을 제외한 R 채널의 픽셀이 된다.
후술할 필터링부(160)가 중심 픽셀의 노이즈를 제거하기 위해서는 인접 픽셀에 대한 정보를 참조하게 되는데, 각 인접 픽셀에 할당되는 가중치는 노이즈가 제거된 중심 픽셀의 최종적인 신호 강도를 결정할 경우 인접 픽셀의 정보를 얼마나 반영시킬 것인가를 나타내는 척도가 된다.
윈도우의 크기는 실시예에 따라서 다양하게 설정될 수 있다. 도 4에 본 발명의 일 실시예에 따른 윈도우를 도시하였다. 도 4는 RGB 베이어 패턴의 입력 영상(400)과 입력 영상(400)에서 G1, R, B, G2의 각 광학 채널에 대한 4가지 종류의 윈도우(410, 420, 430, 440)를 나타낸다. 도시된 바와 같이 윈도우의 크기가 5*5로 설정되어 있다면 중심 픽셀 주변으로 8개의 인접 픽셀이 존재하게 된다.
가중치 결정부(120)가 각 인접 픽셀에 할당하는 가중치는 0에서 1 사이의 실수 값을 갖으며, 중심 픽셀과 인접 픽셀 간의 신호 강도의 차이에 따라서 결과 값이 가우시안 분포를 갖는 퍼지 소속 함수(fuzzy membership function)를 통해서 결정될 수 있다. 본 발명의 일 실시예에 따른 퍼지 소속 함수를 수학식1에 나타내었다.
[수학식1]
수학식1에서
는 중심 픽셀의 신호 강도이고,
는 인접 픽셀의 신호 강도이다. 또한 c는 입력 영상의 자동이득조절 값에 따라서 산출된 노이즈 레벨이고, n은 입력 영상의 신호 강도에 따라서 산출된 노이즈 레벨이며 이들은 노이즈 레벨 산출부(110)로부터 얻을 수 있다. 여기서 n은 도 2a를 참조하여 설명한 바와 같이 기계적으로 측정된 실험 결과를 이용하여 산출된 값일 수도 있지만 도 2b 및 도 2c를 참조하여 설명한 바와 같이 인간의 시각적 특성이 반영된 실험 결과를 이용하여 산출된 값인 것이 더 바람직하다. 또한 수학식1에서는 가중치를 얻기 위하여 c와 n이 모두 사용되었으나 실시예에 따라서는 c와 n 중에서 어느 하나만 사용될 수도 있다.
엣지 판별부(130)는 윈도우에서 중심 픽셀의 엣지(edge)의 종류를 판단한다. 엣지의 종류는 엣지 방향에 따라서, 수평 엣지, 수직 엣지, 우상-좌하 엣지, 좌상-우하 엣지, 및 비엣지로 나뉠 수 있다. 이하, 도 5 및 도 6을 참조하여 엣지의 종류를 결정하는 과정에 대한 일 실시예를 설명하도록 한다. 그러나 엣지의 종류를 결정하는 기술은 다양하게 공지되어 있으므로, 본 발명이 이하의 설명에 의하여 한정되는 것은 아니며, 엣지의 종류를 결정하기 위한 다른 방식의 기술이 적용되는 것도 가능하다.
도 5는 본 발명의 일 실시예에 다른 엣지의 종류를 결정하는 과정을 나타낸 흐름도이다.
입력 영상이 RGB 베이어 패턴으로 구성되고 도 6에 도시된 바와 같이 5*5의 윈도우(610)가 사용되는 경우, 엣지 판별부(130)는 중심 픽셀
과 인접 픽셀
내지
간의 신호 강도 차이를 계산한다(S510). 인접 픽셀의 개수가 8개이므로 하나의 윈도우에서 8개의 신호 강도 차이가 계산되며, 이를 수학식2에 나타내었다.
[수학식2]
수학식2에서
내지
은 각각 인접 픽셀
내지
의 신호 강도이고,
은 중심 픽셀
의 신호 강도이다. 윈도우 내에서 중심 픽셀
을 기준으로 하여 인접 픽셀들이 존재 하는 방향은 수평 방향, 수직 방향, 우상-좌하 방향, 및 좌상-우하 방향의 4 방향이며, 중심 픽셀이 엣지 픽셀이라면 이들 4 방향 중 어느 한 방향이 엣지 방향이 된다.
만약 가중치를 구하기 위하여 사용된 윈도우와 엣지 종류를 결정하기 위해 사용되는 윈도우의 크기가 동일하다면, 가중치 결정부(120)가 가중치를 구하기 위하여 계산하였던 중심 픽셀과 인접 픽셀 간의 신호 강도 차이를 그대로 사용하는 것도 가능하다.
중심 픽셀과 인접 픽셀간의 신호 강도 차이가 구해지면, 엣지 판별부(130)는 인접 픽셀이 존재하는 방향 별로 구해진 신호 강도 차이의 합을 계산한다(S520). 이를 수학식3에 나타내었다.
[수학식3]
수학식3에서
,
,
, 및
는 각각 윈도우에서 수평 방향의 신호 강도 차이의 합, 수직 방향의 신호 강도 차이의 합, 우상-좌하 방향의 신호 강도 차이의 합, 및 좌상-우하 방향의 신호 강도 차이의 합이다.
그 후 엣지 판별부(130)는
,
,
, 및
중에서 최소값을 선별하고(S530), 선별된 신호 강도 차이의 합이 구해진 방향에 수직한(orthogonal) 방향의 두 신호 강도 차이 중 적어도 하나가 임계값 보다 큰지 비교한다(S540). 예를 들어 최소값이 수평 방향의 신호 강도 차이의 합
라면, 엣지 판별부(130)는 수평 방향에 수직한(orthogonal) 방향인 수직 방향의 신호 강도 차이
와
를 임계값과 비교한다. 다른 예로써 우상-좌하 방향의 신호 강도 차이의 합
가 최소값이라면, 엣지 판별부(130)는 우상-좌하 방향에 수직한 방향인 좌상-우하 방향의 신호 강도 차이
와
를 임계값과 비교한다.
여기서 임계값은 입력 영상의 신호 강도에 따른 노이즈 레벨에 소정의 비례 상수를 곱한 값으로 설정될 수 있는데, 여기서 비례 상수는 입력 영상의 자동이득조절 값에 따라서 동적으로 결정된다. 자동이득조절 값과 비례 상수 간의 관계는 사전 실험을 통하여 노이즈 저감 장치(100)가 적용될 촬영 장치의 특성에 적합하게 설정되어 있을 수 있으며, 그 일 예를 도 7에 도시하였다.
다시 도 5를 참조하면, 과정 S540의 비교 결과 신호 강도 차이 중 적어도 하나가 임계값보다 크다면 엣지 판별부(130)는 과정 S530에서 선별된 최소값에 해당하는 신호 강도 차이의 합의 방향을 엣지 방향으로 결정한다(S550). 그러나 과정 S540의 비교 결과 두 신호 강도 차이 중 어느 것도 임계값보다 크지 않다면 엣지 판별부(130)는 중심 픽셀을 비엣지 픽셀(non-edge pixel)로 결정한다(S560).
다시 도 1을 참조하면, 가중치 보상부(140)는 가중치 결정부(120)에 의하여 결정된 가중치를 엣지 판별부(130)에 의하여 결정된 중심 픽셀의 엣지 방향에 따라서 보상한다. 이 때, 가중치 보상부(140)는 윈도우에서 중심 픽셀을 기준으로 하여 중심 픽셀의 엣지 방향에 대응하는 인접 픽셀이 나머지 인접 픽셀보다 중심 픽셀의 신호 강도를 결정하는데 높은 영향을 미칠 수 있도록, 각 인접 픽셀의 가중치 를 차등적으로 보상한다.
예를 들어 가중치 보상부(140)는 윈도우에서 중심 픽셀의 엣지 유형에 따라서 도 8에 도시된 바와 같은 마스크 값을 할당할 수 있다. 도시된 마스크 값은 중심 픽셀이 엣지 픽셀인 경우 중심 픽셀에 1, 엣지 방향의 인접 픽셀에 0.5, 나머지 인접 픽셀에 0.125로 할당되어 있다. 만약 중심 픽셀이 비엣지 픽셀이라면 중심 픽셀과 모든 인접 픽셀에 마스크 값으로서 1이 할당된다. 가중치 보상부(140)는 이러한 마스크 값과 가중치 결정부(120)가 제공하는 가중치간을 연산하여 보상된 가중치를 제공할 수 있다. 여기서 가중치와 마스크 값 간의 연산의 일 실시예로서 비트 쉬프트 연산(bit shift operation)이 사용될 수 있는데, 이 경우 마스크값 0.5를 위해서는 가중치에 대하여 1비트 쉬프트 연산이 수행되고, 마스크 값 0.125를 위해서는 가중치에 대하여 3비트 쉬프트 연산이 수행될 수 있다.
임펄스 노이즈 판별부(150)는 입력 영상에 임펄스 노이즈가 포함되어 있는지 판별한다. 임펄스 노이즈 판별부(150)는 공지된 다양한 임펄스 노이즈 판별 기술을 사용할 수 있으나, 구체적인 실시예로서 ROAD를 사용하는 경우를 도 9를 참조하여 설명하도록 한다.
임펄스 노이즈를 판별하기 위하여 임펄스 노이즈 판별부(150)는 윈도우에 대하여 ROAD 통계치(Rank-Ordered Absolute Differences statistic)를 계산한다(S910). ROAD는 「Roman Garntt, Timothy Huegerich, Charles Chui, Wenjie He, "A universal Noise Removal Algorithm with an Impulse Detector", IEEE Transactions on Image Processing, Vol. 14, No. 11, November 2005」에 공개되어 있으나, 이하에서 간략히 설명하도록 한다.
입력 영상이 임펄스 노이즈에 의하여 왜곡될 경우, 입력 영상의 픽셀들 중에서 일부가 입력 영상과 무관한 신호 강도를 갖게 된다. 따라서 임펄스 노이즈를 포함하는 픽셀의 신호 강도는 주변 픽셀들의 신호 강도와 높은 차이를 나타내게 되며, 이를 이용하면 임펄스 노이즈를 갖는 픽셀을 구별해낼 수 있다.
우선
를 (2N+1)*(2N+1) 크기의 윈도우에 포함되는 픽셀들의 좌표 집합이라 한다면,
는 수학식4와 같이 나타낼 수 있다.
[수학식4]
수학식4에서 s와 t는 중심 픽셀의 좌표를 (0,0)으로 하는 윈도우 내의 픽셀들의 좌표값을 나타낸다. 만약 입력 영상이 RGB 베이어 패턴으로 처리된 경우라면 도 10에 도시된 바와 같은 실제 윈도우(1010)에서 중심 픽셀과 인접 픽셀 만으로 이루어진 가상의 윈도우(1020)를 가정하고,
를 가상의 윈도우(1020) 내에서의 픽셀들의 좌표로 이해할 수도 있다.
윈도우 내의 중심 픽셀의 신호 강도를
라 하고 인접 픽셀들의 신호 강도를
라 하고,
를
에서 (0,0)을 제외한 좌표 집합이라 한다면, 중심 픽셀과 인접 픽셀 간의 신호 강도 차이의 절대값
은 수학식5와 같이 나타낼 수 있다.
[수학식5]
수학식5를 통해 계산된
값들을 오름차순으로 소팅(sorting)하고,
를 소팅된
값들 중에서 k번째로 작은 값이라고 한다면, ROAD는 수학식6과 같이 정의될 수 있다.
[수학식6]
수학식6에서 m은
의 범위를 갖는다. m을 4로 설정한다면 ROAD는 중심 픽셀이 자신과 가장 근접한 신호 강도를 갖는 4개의 인접 픽셀과 얼마나 근접한 신호 강도를 갖고 있는가에 대한 정보를 제공한다. 만약 중심 픽셀이 입력 영상 중에서 균일한 색상의 영역에 속해 있다면 중심 픽셀은 인접 픽셀들과 유사한 크기의 신호 강도를 갖을 것이므로 ROAD는 낮은 수치를 나타낼 것이다. 또한, 중심 픽셀이 엣지 상에 존재하더라도 적어도 절반의 인접 픽셀들은 중심 픽셀과 유사한 크기의 신호 강도를 갖을 것이므로 중심 픽셀의 ROAD는 낮은 수치를 나타낼 가능성이 높다. 그러나 중심 픽셀에 임펄스 노이즈가 부가되어 있다면, 중심 픽셀과 인접 픽셀 간의 신호 강도의 차이는 매우 클 것이므로 ROAD는 높은 수치를 나타내게 된다.
다시 도 9를 참조하면, ROAD가 계산된 후 임펄스 노이즈 판별부(150)는 ROAD가 제1 임계치보다 큰지 비교한다(S915). 만약 ROAD가 제1 임계치보다 크다면 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 가해진 것으로 판단한다(S920).
그러나 ROAD가 제1 임계치보다 크지 않다면 임펄스 노이즈 판별부(150)는 ROAD가 제2 임계치보다 작은지 비교한다(S925). 만약 ROAD가 제2 임계치보다 작으면 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 가해지지 않은 것으로 판단한다(S930).
제1 임계치는 제2 임계치보다 큰 값을 갖으며, 제1 임계치와 제2 임계치는 입력 영상의 자동이득조절 값에 따라서 동적으로 결정될 수 있다. 자동이득조절 값에 따른 제1 임계치와 제2 임계치는 사전 실험을 통하여 노이즈 저감 장치(100)가 적용될 촬영 장치의 특성에 적합한 값으로 설정되어 있을 수 있다.
만약 ROAD가 제1 임계치 이하지만 제2 임계치 이상의 값을 갖는다면, 임펄스 노이즈 판별부(150)는 중심 픽셀과 인접 픽셀들의 신호 강도의 분산 값을 계산하고(S935), 분산 값이 제3 임계치보다 큰지 비교한다(S940). 만약 분산 값이 제3 임계치보다 크다면 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 존재하지 않는 것으로 판단할 수 있다(S945). 분산 값이 일정 수준을 벗어난다는 것은 윈도우 내에서 중심 픽셀과 인접 픽셀들의 신호 강도의 편차가 심하다는 것을 의미하며, 이는 중심 픽셀에 영상 정보가 포함되어 있다는 것을 의미할 수 있기 때 문이다.
그러나 분산 값이 제3 임계치보다 크지 않다면, 임펄스 노이즈 판별부(150)는 중심 픽셀과 인접 픽셀들 간의 신호 강도의 차이가 모두 제4 임계치보다 큰지 비교한다(S950). 만약 모든 신호 강도 차이가 제4 임계치보다 크다면 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 가해진 것으로 판단할 수 있다(S955). 중심 픽셀이 인접 픽셀들 모두와 비교적 높은 신호 강도 차이를 나타낸다는 것은 중심 픽셀이 비정상적인 값들을 많이 포함하고 있는 것으로 해석할 수 있기 때문이다.
그러나 중심 픽셀과 인접 픽셀들 간의 신호 강도 차이 중에서 어느 하나라도 제4 임계치보다 크지 않다면, 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 가해지지 않은 것으로 판단한다(S960). 중심 픽셀이 대부분의 인접 픽셀들과 비교적 높은 신호 강도 차이를 나타내더라도 일부 인접 픽셀과 높지 않은 신호 강도 차이를 나타낸다면 중심 픽셀이 엣지 상에 존재하는 것으로 해석할 수 있기 때문이다.
도 9에서는 입력 영상의 조도 값에 관계없이 모든 과정이 수행되는 것처럼 도시되어 있으나 본 발명은 이에 한정되지 않는다. 임펄스 노이즈는 낮은 조도의 입력 영상에서 발생할 가능성이 높다. 따라서 본 발명의 일 실시예에 따르면, 입력 영상의 조도 값이 임계 조도 값보다 작다면 도 9의 과정 S950부터 그 이후의 과정들을 통해서 보다 정교한 임펄스 노이즈 존재 여부에 대한 판별 작업을 수행하도록 하고, 그렇지 않다면 과정 S950부터 그 이후의 과정을 생략함으로써 연산량을 감소시킬 수도 있다. 이 경우 도 9의 과정 S940의 비교 결과 분산 값이 제3 임계치보다 크지 않다면 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 가해지지 않은 것으로 판단할 수 있다.
필터링부(160)는 가중치 보상부(140)에 의하여 보상된 가중치를 사용하여 입력 영상을 필터링한다. 필터링 결과 중심 픽셀과 인접 픽셀들 간의 가중치 합의 평균을 중심 픽셀의 신호 강도로 설정될 수 있다. 보다 구체적으로, 필터링부(160)는 퍼지 스파셜 필터(fuzzy spatial filter)를 사용하여 중심 픽셀의 신호 강도를 결정할 수 있다. 퍼지 스파셜 필터는 수학식7을 통해 나타내었으며, 이에 대한 구체적인 설명은 「Tinku Acharya, Ajoy K. Ray, "Image Processing", Wiley-Interscience, 2005」에 공개되어 있다.
[수학식7]
수학식7에서
는 필터링 결과에 따른 중심 픽셀의 최종 신호 강도이고, N은 인접 픽셀의 개수이다. 또한,
과
는 각각 인접 픽셀과 중심 픽셀의 신호 강도이고,
는 수학식1을 참조하여 설명한 가중치가 가중치 보상부(140)에 의하여 보상된 결과이다.
만약 임펄스 노이즈 판별부(150)에 의해서 중심 픽셀에 임펄스 노이즈가 포 함된 것으로 판단되었다면, 필터링부(160)는 인접 픽셀들의 신호 강도의 평균값으로 중심 픽셀의 최종 신호 강도를 결정한다. 중심 픽셀의 최종 신호 강도를 계산하기 위하여 수학식 7이 사용된다면, 중심 픽셀에 임펄스 노이즈가 포함된 경우
는 1의 값을 갖게 된다. 이 경우, 임펄스 노이즈가 포함된 중심 픽셀의 신호 강도
는 필터링되어 최종 신호 강도에 영향을 미치지 않게 된다.
이상의 설명에 따른 노이즈 저감 장치(100)의 동작 과정에 대해서 도 11을 참조하여 설명하도록 한다.
도 11은 본 발명의 일 실시예에 따른 노이즈 저감 방법을 나타낸 흐름도이다.
먼저 노이즈 레벨 산출부(110)는 입력 영상에 대한 노이즈 레벨을 산출한다(S1110). 여기서 노이즈 레벨은 입력 영상 촬영 시의 자동이득조절 값에 따른 제1 노이즈 레벨과, 입력 영상의 신호 강도에 따른 제2 노이즈 레벨 중에서 적어도 하나를 포함한다.
그 후, 가중치 결정부(120)는 입력 영상에서 노이즈 저감 대상이 되는 픽셀을 중심 픽셀로 하는 소정 크기의 윈도우 내의 인접 픽셀들에 할당할 가중치를 계산한다(S1120). 또한, 엣지 판별부(130)는 윈도우의 중심 픽셀의 엣지 방향을 판별한다(S1130).
그 후, 가중치 보상부(140) 중심 픽셀의 엣지 방향에 따라서 가중치 결정부(120)가 제공하는 가중치를 보상하고(S1140), 임펄스 노이즈 판별부(150)는 중심 픽셀에 임펄스 노이즈가 포함되어 있는지 판단한다(S1150).
만약 중심 픽셀에 임펄스 노이즈가 포함되지 않았다면, 필터링부(160)는 보상된 가중치를 사용하여 중심 픽셀의 노이즈를 제거한다(S1160). 이 때 중심 픽셀의 최종 신호 강도는 중심 픽셀의 원래의 신호 강도와 인접 픽셀들 각각의 신호 강도 간의 가중치 합의 평균값을 가질 수 있다.
그러나 중심 픽셀에 임펄스 노이즈가 포함되어 있다면, 필터링부(160)는 보상된 가중치와 무관하게 중심 픽셀에 포함된 임펄스 노이즈를 제거한다(S1170). 이 때 중심 픽셀의 최종 신호 강도는 인접 픽셀들의 신호 강도의 평균값을 가질 수 있다.
만약 입력 영상의 모든 픽셀에 대하여 노이즈 제거 작업이 수행되었다면(S1180) 노이즈 저감 과정이 종료된다. 그러나 노이즈 제거 작업이 수행되지 않은 픽셀이 존재한다면 입력 영상에서 윈도우의 위치가 이동되고(S1190), 과정 S1120 및 이후의 과정이 반복된다.
도 11의 과정은 입력 영상의 각 광학 채널 별로 수행될 수 있다. 예를 들어 입력 영상이 RGB 도메인을 갖는다면 도 11의 과정은 R 채널, G 채널, 및 B 채널 별로 수행되고, 입력 영상이 YCrCb 도메인을 갖는다면 도 11의 과정은 Y 채널, Cr 채널, 및 Cb 채널 별로 수행될 수 있다.
도 12는 본 발명의 일 실시예에 따른 노이즈 저감 장치(100)가 구비된 촬영 장치(1200)를 나타낸 블록도이다. 도시된 촬영 장치(1200)는 촬영부(1210), 제1 노이즈 저감부(1220), 영상 보정부(1230), 색 변환부(1240), 제2 노이즈 저감 부(1250)를 포함한다. 앞서 설명한 노이즈 저감 장치(100)는 도시된 촬영 장치(1200)에서 제1 노이즈 저감부(1220)와 제2 노이즈 저감부(1250)로 모듈화 되어 있다.
촬영부(1210)는 영상을 캡쳐하여 입력 영상을 제공하는데, 렌즈(1212), 렌즈(1212)의 초점을 조절하는 자동 초점 제어부(1214), 렌즈(1212)의 수광량을 조절하는 자동 노출 제어부(1216), 및 렌즈(1212)를 통하여 수집된 광을 촬상시키는 이미지 센서(1218)를 포함한다. 여기서 이미지 센서(1218)는 RGB 베이어 패턴의 입력 영상을 제공한다.
제1 노이즈 저감부(1220)는 R, G, B 각 채널에 대하여 입력 영상의 노이즈를 저감시킨다. 제1 노이즈 저감부(1220)의 기능은 도 1 내지 도 11을 참조하여 설명한 노이즈 저감 장치(100)에 대한 설명을 통해서 이해될 수 있을 것이다. 노이즈 저감 작업이 필요한 입력 영상의 신호 강도, 자동이득조절 값, 및 조도 값에 대한 정보는 자동 노출 제어부(1216)로부터 획득할 수 있다.
영상 보정부(1230)는 제1 노이즈 저감부(1220)에 의하여 노이즈가 제거된 입력 영상이 원 영상과 달리 갖고 있는 왜곡 정보를 보정한다. 영상 보정부(1230)는 입력 영상의 색 온도를 원 영상에 가깝게 조절하는 자동 백색 조절부(1232), 입력 영상의 픽셀들 간의 RGB 값을 보간(interpolation)하여 베이어 패턴의 각 픽셀에 RGB 값을 모두 분포시키는 보간부(1234), 및 색 보정(color calibration) 작업을 수행하는 색 처리부(1236)를 포함한다.
색 변환부(1240)는 영상 보정부(1230)에 의하여 보정된 입력 영상의 색 도메 인을 RGB에서 YCrCb 또는 YUV로 변환한다.
제1 노이즈 저감부(1220)에 의하여 노이즈가 제거된 입력 영상일지라도, 영상 보정부(1230)에 의한 각종 처리 작업과 색 변환부(1240)의 색 도메인 변환 작업에 따라서 입력 영상의 노이즈 특성이 변화하거나 입력 영상의 픽셀 간에 노이즈의 상관(correlation)으로 인하여 특정 노이즈 성분이 증가할 수 있다. 따라서 2차적으로 입력 영상의 노이즈를 제거하는 작업이 필요하며, 제2 노이즈 저감부(1250)가 이를 수행한다. 제2 노이즈 저감부(1250)의 기능 또한 도 1 내지 도 11을 참조하여 설명한 노이즈 저감 장치(100)를 통하여 이해될 수 있을 것이다. 다만, 제1 노이즈 저감부(1220)가 R, G, B 채널에 대하여 노이즈 제거 작업을 수행한 반면, 제2 노이즈 저감부(1250)는 광학 채널을 달리하여 Y, Cr, Cb 채널 또는 Y, U, V 채널에 대하여 노이즈 제거 작업을 수행하게 된다. 또한 입력 영상의 임펄스 노이즈는 제1 노이즈 저감부(1220)에 의하여 이미 제거된 상태이므로, 제2 노이즈 저감부(1250)의 경우에는 도 1의 노이즈 저감 장치(100)에서 임펄스 노이즈 판별부(150)의 기능은 생략되는 것이 바람직하다.
제2 노이즈 저감부(1250)에 의하여 노이즈가 제거된 입력 영상은 소정의 저장 매체에 저장되거나, 디스플레이 패널을 통하여 디스플레이될 수 있다.
이상의 설명에서 노이즈 저감 장치(100)를 구성하는 구성요소들과 촬영 장치(1200)를 구성하는 구성 요소들을 지칭하는 '~부'는 일종의 모듈로 구현될 수 있다. 여기서 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.