카메라로 입력된 영상의 화질 평가


카메라 화질평가 연구의 필요성


카메라의 화질 평가 기술 개발은 카메라 화질의 개선 정도를 정량적으로 평가할 수 있는 프로세서이다. 현재 출시되고 있는 카메라는 다양한 구동 방식, 전력 구동 전압, 각 채널별 데이터 비트 수에 따라 화질과 성능이 달라진다. 이런 다양한 카메라를 주관적인 방법으로 화질을 평가하는 것은 상당한 시간과 반복되는 측정, 사용자에 의존적이기 때문에 정량적인 방법에 기초하여 화질을 평가하는 방법이 제시될 필요가 있다. 이러한 카메라의 화질을 평가하기 위해, ISO표준 테스트 규약 및 화질 평가 항목에 따라 카메라 다이나믹 레인지, 해상도, 노이즈 평가, 화이트 밸런스, 디스플레이의 균일도 등을 수행하였다[1]-[4].


■ 카메라 노이즈 평가


  디지털 카메라에서의 노이즈는 렌즈와 CCD 크기의 제한 때문에 카메라의 성능을 좌우하는 중요한 평가 항목이다. ISO 15749 표준에서는 카메라의 노이즈를 고정된 패턴 노이즈와 시간에 따라 변하는 노이즈로 정의하고 있다. 즉, 획득된 이미지로부터 언제나 발생하는 CCD 자체의 노이즈와 같은 패치를 여러 번 찍었을 때 얻어지는 센서의 암 전류나 포톤의 영향으로 생기는 노이즈이다. 이러한 노이즈를 정량적으로 평가하기 위해서 ISO 15749에서는 ‘0.18%의 반사율(0.9의 density)을 가지는 패치를 카메라로 찍었을 때 발생하는 신호 대 잡음비’로 정의하고 있다. 정량적 평가를 위한 패치는 그림 2.14의 ISO 표준 카메라 노이즈 차트를 사용한다. 차트의 여러 패치들 중 둘레의 12개 그레이를 나타내는 패치는 OECFs(Opto-Electronic Conversion Functions)를  측정 시 사용되며 가운데 3개의 패치가 노이즈를 평가하는데 사용된다. 아래 위의 패치는 각 각 노이즈 레벨을 체크 하거나 고주파 노이즈를 평가하는데 쓰이나 정량적인 데이터는 내지 못하고 육안으로 평가를 한다. 신호 대 잡음비의 계산은 신호 성분인 0.18의 반사율을 가지는 노이즈 차트의 가운데 패치에 대한 카메라 특성 곡선의 출력 값과 노이즈 성분인 패치에서 얻어지는 RGB값의 표준편차의 비로 다음 식과 같이 나타낸다.


                                                                             (2.15)


그림 2.14. ISO 표준 카메라 노이즈 차트


Lsat는 포화된 백색 패치의 휘도를 나타내며, incremental gain은 카메라 특성곡선인 OECF를 나타낸다. 즉, 분자의 곱은 신호 성분을 나타내며, 분모의 σtotal은 표준편차로서 노이즈를 나타낸다. 그러나 카메라의 특성곡선의 추정이 어려우며 포화된 백색 패치의 휘도 또한 측정을 해야 하기에 신호 성분 부분을 촬영된 패치의 RGB값으로 치환하여 사용한다. 즉 0.18 반사율보다 큰 패치와 작은 패치를 이용하여 그 기울기 값을 이용한다. 변환된 계산식은 다음과 같다.


                                          (2.16)


R은 패치의 반사율을 나타내며 Rj는 반사율이 0.18, Ri는 반사율이 0.18보다 작은 패치, Rk는 반사율이 0.18보다 큰 패치를 나타낸다. 또한 Y(R)은 반사율이 R인 패치에 대한 디지털 휘도 출력으로 패치의 RGB값을 이용하여 아래 수식으로 계산한다.


     Y=0.2125R+0.7154G+0.0721B(ITU R BT. 709)                                               (2.17)


결과적으로 포화된 백색 패치의 휘도를 나타내는 Lsat성분이 제거되고  incremental gain이 패치의 휘도 값으로 치환되어 패치 3개의 촬영만으로 신호 대 잡음비 계산이 가능하다.

    실제 노이즈 차트의 패치 RGB값의 획득을 자동화하기 위해서는 그림 2.15와 같은 과정이 필요하다. 먼저, 표준 차트의 RGB값 추출 때와 유사하게 밝기 정보를 담고 있는 G채널을 이용하여 메디안 필터링을 한 후, 표준 차트의 위치정보를 이용하여 배경부분은 지운다. 이는 광원에 의해 배경 부분이 포화되는 것을 방지한다. 이 후 문턱치 값을 통한 이진화로 화이트 패치를 추출하고 라벨링 기법을 통해 표적 패치를 추출하여 구하고자 하는 타겟 패치의 위치 정보를 얻는다. 이를 원 영상에 대한 마스크 처리를 통해 원하는 RGB값을 얻는다. 최종적으로 획득된 RGB 값과 각 패치의 반사율 값, 반사율 0.18패치의 표준편차 값을 수식 (2.16)에 대입해서 디지털 카메라의 노이즈를 평가한다.


그림 2.15. ISO 표준 카메라 노이즈 차트


■ 카메라 화이트 밸런스 평가


    회색 계열의 차트를 카메라로 촬영하여 나온 카메라 출력 영상이 얼마나 회색에 가까운가를 테스트한다. 즉 R=G=B 이면 완벽한 자동 화이트 밸런스 조정이 되었다고 간주할 수 있다. 조명 환경이 바뀌더라도 자동 화이트 밸런스 조정은 지속되어야 하므로 여러 조명 환경 하에서 자동 화이트 밸런스 조정 테스트를 하여 조명 환경의 변화에 따른 화이트 밸런스 조정 성능도 평가하였다. 본 테스트를 위하여 그림 2/16에서 보는 것과 같은 KODAK Gray Scale 차트를 테스트 차트로 사용하였다. 이 차트는 백색에서부터 검은색까지 모두 20개의 무채색 패치로 구성되어 있다. 이 모든 패치들이 자동 화이트 밸런스 테스트에 사용된다.


그림 2.16. KODAK Gray Scale 차트


   우선 실험 chart의 영상 획득한다. 출력 영상 중 백색에서 검은색까지의 총 20개의 패치의 영역을 샘플링 하여 패치의 대표 출력값을 구하기 위하여 각 영역의 평균 RGB값을 계산한다. 그리고 각 패치마다 세 채널의 출력값 R, G, B 간의 편차를 구하기 위하여 R, G, B 값 간의 표준편차를 계산한다. 여기서 표준편차가 적을수록 RGB 값 사이의 차이가 적은 것이므로 화이트 (그레이) 밸런스 조절이 잘 되어 출력값이 무채색에 가까움을 의미한다. 그리고 마지막으로 20개 패치에 대한 RGB 값간의 표준편차를 평균하여 전체 실험의 결과값을 산출한다. 이러한 과정을 다양한 조명환경 하에서 반복적으로 실험한다. 이 과정을 그림 2.17에서 도식적으로 설명하고 있다.


그림 2.17. 자동 화이트 밸런스 조정 성능 평가를 위한 절차


  그림 2.18에서 2.21은 여러 조명 환경 하에서의 자동 화이트 밸런스 테스트를 반복적으로 수행한 결과를 보여 주고 있다. 여기서 사용된 차트는 KODAK Gray Scale이 아니라 Macbeth Color Checker의 마지막 줄 무채색 패치 부분을 이용한 결과이다. 어떤 무채색 차트라도 자동 화이트 밸런스 조정 테스트의 실험 차트로 사용이 가능하다.


그림 2.18. D65 (6500K) 조명 하에서의 자동 화이트 밸런스 조정 테스트 결과



그림 2.19. CWF (4100K) 조명 하에서의 자동 화이트 밸런스 조정 테스트 결과


그림 2.20. TL84 (3000K) 조명 하에서의 자동 화이트 밸런스 조정 테스트 결과



그림 2.21. A (2856K) 조명 하에서의 자동 화이트 밸런스 조정 테스트 결과


  이 테스트에서 가장 이상적인 결과값은 0이다. 이는 R=G=B 이므로 완벽한 자동 화이트 (그레이) 밸런스 조정이 되어 입력 그레이 패치에 대한 출력 영상이 완벽한 그레이 값으로 나타남을 의미한다.


■ 카메라의 공간 균일도 평가


   카메라의 출력 영상에서 균일한 입력 대상에 대해 출력 신호의 공간적인 균일도를 평가하는 실험이다. 즉, 입력 차트 내부에서 각기 다른 위치하면서 동일 밝기의 패치에 대한 RGB 디지털 값의 유사성을 판단하는 것을 말한다. 이를 위해서는 무채색 차트에 균일하게 조사되는 조명 환경이 요구된다. 하지만 이러한 조건은 극히 까다로운 조건이므로 실제 실험 환경에서는 이러한 환경을 완벽하게 조성할 수 없다. 따라서 균일하지 않은 환경에 대해 보정 과정이 필요하다. 이를 위해서는 선형화된 RGB 값을 휘도로 나누는 과정이 필요하다. 그림 2.22는 본 실험에서 사용된 임의로 제작한 카메라의 공간적 균일도 실험용 차트를 보여주고 있다. 여기에는 가로 7 세로 5의 영역을 구분지어 각각의 RGB 값을 정의하도록 하였다.


그림 2.22. 카메라의 공간적 균일도 실험을 위한 차트


  우선 실험 차트의 출력 영상을 그림 2.23과 같이 획득한다. 각 정사각형 영역을 무채색 패치라고 볼 수 있다. 이 무채색 패치마다 평균 RGB 값을 계산하여 패치의 대표 출력값을 구한다. 또한, 비 균일 조명 환경 보정을 위하여 각 무채색 패치의 휘도를 그림 2.24와 같이 측정하고 정규화를 위하여 각 패치의 휘도 값의 평균을 구한다. 이 평균값으로 휘도를 그림 2.25와 같이 정규화한 후 아래와 같이 각 패치의 RGB 출력값에 red, green, blue 채널별로 나누어 줌으로써 비 균일한 조명 환경을 보정한다.


                                                                                                (2.18)

                                                                                                (2.19)

                                                                                                 (2.20)


여기서 RcGcBc는 비균일 조명환경이 보정된 출력 RGB 값을 나타내고, Yn은 평균으로 정규화된 휘도값을 나타낸다. 보정된 RGB 값을 red, green, blue 채널별로 패치간의 표준편차를 계산하여 공간적으로 출력 RGB 값이 얼마나 균일하지 않은지를 판단한다. 마지막으로 채널별 표준편차를 평균하여 단일 결과값을 산출한다.


                                    

                     그림 2.23. 공간적 균일도 평가를 위한 실험 차트의 출력 영상



그림 2.24. 각 영역에서 측정된 휘도 값


그림 2.25. 각 영역에서 측정된 휘도 값의 정규화


그림 2.26. RGB 값과 휘도 사이의 지수적 관계


  비 균일 조명환경을 보정하기 위해 RGB 값을 휘도로 나눌 때 RGB 값은 휘도와 선형적이어야 한다. 이를 위해 휘도와의 관계가 지수적인 RGB 값을 지수적으로 보정을 하여야 하지만 그림 2.26에서 보는 것과 같이 균일한 무채색 패치들의 RGB와 휘도의 편차가 크지 않아서 휘도와 RGB 간의 관계가 거의 선형적이라고 가정할 수 있다. 따라서 본 테스트에서는 RGB 값의 선형화 과정이 생략하여 과정을 좀더 단순화하였다. 이 테스트에서 가장 이상적인 결과값은 0이다. 이는 각 패치의 보정된 RGB 값이 동일하다는 것을 의미하므로 균일한 입력 대상에 대해 카메라 출력 영상의 RGB 값이 위치에 관계없이 균일한 값을 가진다고 할 수 있으며, 따라서 카메라의 출력이 공간적으로 완벽히 균일한 결과를 나타냄을 의미한다.


■ 카메라의 해상도 평가


   카메라의 해상도란 촬영하는 대상의 세부를 카메라가 얼마나 잘 분리하여 표현할 수 있는지를 나타내는 것이다. 본 실험에서는 그림 2.27에서 보는 것과 같이 ISO 표준 해상도 차트를 사용하였다. 해당 차트를 촬영하여 명암의 문드러짐 없이 표현 가능한 선의 굵기 및 간격, 즉, 공간주파수를 찾아낸다. 공간 주파수의 단위는 [LW/PH] (Line Width per Picture Height) 이다. 이는 픽처의 높이만큼의 영역에 일정 굵기의 선을 놓았을 때 얼마나 많이 나열할 수 있는가를 정의한 단위이다. 이 단위의 값이 크면 클수록 선이 가늘다는 것을 의미하므로 공간 주파수가 높음을 의미한다. ISO 표준 해상도 차트에는 그림 2.27에서 보는 것과 같이 100[LW/PH]부터 1000[LW/PH] 까지의 공간주파수를 가지는 선들이 그어진 영역이 있다. 출력 영상 내에서 이 패턴이 촬영된 부분을 분석하여 카메라의 분해능을 [LW/PH] 단위로 결정하게 된다. 결정 기준은 래퍼런스 흑백 영상의 밝고 어두운 차이 값을 기준으로 그 차이 값에 5% 이상이 출력으로 나오는 직선의 공간주파수이다. 수직 방향과 수평 방향의 분해능을 각각 따로 평가한다.


그림 2.27. 해상도 평가를 위한 ISO 해상도 차트


  우선 실험 차트의 출력 영상을 그림 2.28과 같이 획득한다. 영상 획득 시 출력 영상의 아래위로 차트가 꽉 차도록 촬영하여야 하며 동시에 좌우 영역은 차트에서 4:3이라고 표시된 부분과 정확히 일치하도록 하여야 한다. 수직 방향의 해상도를 테스트하기 위하여 획득된 출력 영상에서 수직 해상도를 위한 레퍼런스 영상을 샘플링 한다. 레퍼런스 영상은 검은색의 패치와 흰 배경으로 구성되어 있다 (그림 2.28에서 1 부분). 수직 방향으로 주파수 100[LW/PH]에서 주파수 1000[LW/PH] 까지의 직선이 나열된 부분의 영역을 조사하여 (그림 2.28에서 2부분) 레퍼런스 흑백 영상의 밝고 어두운 차이 값을 기준으로 그 차이 값에 5% 이상이 출력으로 나오는 지점의 주파수를 읽어내서 그것을 카메라의 수직 한계 주파수로 정의한다. 수평 방향의 해상도를 테스트하기 위한 방법도 이와 유사하다. 획득된 출력 영상에서 수평 해상도를 위한 레퍼런스 영상을 샘플링 한다 (그림 2.28에서 3부분). 수평 방향으로 주파수 100[LW/PH]에서 주파수 1000[LW/PH] 까지의 직선이 나열된 부분의 영역을 조사하여 (그림 2.29에서 4부분) 레퍼런스 흑백 영상의 밝고 어두운 차이 값을 기준으로 그 차이 값에 5% 이상이 출력으로 나오는 지점의 주파수를 읽어내서 그것을 카메라의 수평 한계 주파수로 정의한다. 패턴 옆에 보이는 1에서 10까지의 숫자는 100[LW/PH]에서 1000[LW/PH]까지의 주파수를 나타낸다. [LW/PH]의 계산은 다음과 같다.


                                                                                                 (2.21)


  결과 값은 위의 기준을 만족하는 가장 큰 공간주파수를 나타낸다. 만일 결과 값이 400[LW/PH]이 나왔다면 이는 패턴 옆 숫자 4가 찍힌 곳까지가 앞에서 정의된 카메라 분해능의 한계라고 말할 수 있다.


그림 2.28. 카메라 해상도 테스트를 위한 출력 영상



■ 카메라의 다이나믹 레인지 평가


  ISO 15739 표준에 다이나믹 레인지는 출력 디지털 RGB 값에 클리핑이 일어나지 않는 범위에서의 최대 입력 휘도값과 신호대 잡음비가 적어도 1이 넘는 한도에서의 최소 휘도값 간의 비율이라고 정의되어 있다. RGB 값은 세 채널의 출력값이므로 단일 출력값으로 나타내기 위해서는 RGB 값을 하나의 Y 값으로 통합하여 표현하여야 한다. ISO 표준에는 카메라의 다이나믹 레인지를 구할 때 사용하여야 하는 차트와 패치가 명시되어있다. 카메라의 다이나믹 레인지를 평가하는 차트는 2.29에 있는 노이즈 차트를 사용한다. 다이나믹 레인지를 구하기 위해서는 density가 2.0인 패치가 필요하다. 노이즈 차트에서는 맨 아래에서 가운데부분에 있는 패치가 여기에 해당한다. 카메라로 노이즈 차트를 촬영하고 출력 결과 영상에서 이 패치 영역을 추출하여 다이나믹 레인지를 계산하게 된다. 카메라의 다이나믹 레인지를 계산하는 식은 다음과 같다.


                                                                            (2.22)


여기서 Lsat는 포화된 백색 패치의 휘도이고 0.014는 density가 2.0인 패치의 140%의 최대값을 기준으로 한 반사율이 된다. 반사율과 density의 관계는 음의 지수 관계이므로 10-2.0×1.4=0.014 라는 계산이 나온다. Lsat에 0.014를 곱하면 휘도에 반사율을 곱하는 것이 되므로 결과값은 반사율이 0.014인 패치의 휘도가 된다. 역시 incremental gain을 곱하여 density가 2.0인 패치의 출력 디지털 값을 계산하고 기준을 100으로 두기 때문에 100을 곱한다. 분모항의 Black noise는 density가 2.0인 패치의 픽셀 간 출력 디지털 값의 표준편차를 말한다. 따라서 출력 결과물에 black noise가 적으면 다이나믹 레인지는 증가하게 된다.


  우선 실험 차트의 출력 영상을 그림 2.29과 같이 획득한다. 영상 획득시 출력 영상의 아래위로 차트가 꽉 차도록 촬영하여야 하며 동시에 좌우 영역은 차트에서 4:3이라고 표시된 부분과 정확히 일치하도록 하여야 한다. 본 실험에서 사용된 차트는 ISO 표준 노이즈 차트를 구할 수 없었기 때문에 ISO 표준 OECF 차트를 대신해서 사용하였다. OECF 차트는 노이즈 차트와 구성이 비슷하다. 하지만 다이나믹 레인지를 테스트하는 패치인 density 2.0을 가지는 패치는 가지고 있지 않다. 따라서 다이나믹 레인지를 테스트할 대상인 노이즈 차트의 맨 아래 부분의 가운데 패치를 대신하여 OECF 차트의 2번 차트를 사용하였다. OECF 차트의 2번 패치의 density는 1.86 이므로 2.0에 가깝다. 출력 영상 중 이 영역을 추출하여 각 픽셀마다 단일 출력값 Y를 계산한다. 해당 영역의 평균 Y 값과 픽셀 간 Y의 표준편차를 구한다. 또한 이 패치의 휘도에서 OECF의 기울기 (incremental gain)을 구하기 위하여 인접한 density를 가지는 패치의 평균 Y 값도 구한다. 여기에는 그림 2.29에서 보는 바와 같이 패치 1과 3이 사용된다. 패치 1은 density가 2.3이고 패치 3은 density가 1.53이므로 패치 2의 density 1.86과 인접해 있는 density 값을 가지는 패치이다. 이렇게 구한 값을 가지고 다음과 같은 식을 이용하여 신호대 잡음비를 구한다.


                                                                    (2.23)


여기서 Lsat는 포화된 백색 패치의 휘도이고 반사율과 density의 관계는 음의 지수 관계이므로 1.4×10-1.86 이라는 계산을 하여 density가 1.86인 패치2의 140%의 최대값을 기준으로 한 반사율을 구한다. Lsat에 1.4×10-1.86 을 곱하면 휘도에 반사율을 곱하는 것이 되므로 결과값은 density가 1.84인 배경의 휘도가 되며 기준을 100으로 두기 때문에 100을 곱한다. incremental gain이라는 것은 OECF의 기울기를 말하므로 카메라 출력 디지털 값의 증가분을 입력 휘도의 증가분으로 나누면 구할 수 있다. 식 2.23에서는 패치 2의 밝기를 기준으로 조금 어두운 밝기를 가지는 패치 1과 조금 밝은 밝기를 가지는 패치 3 사이의 OECF 기울기를 구하여 평균값을 incremental gain으로 사용하였다. 분모항의 σblack은 density가 2.0인 패치의 픽셀 간 출력 디지털 값 Y의 표준편차를 말한다. 따라서 출력 결과물에 σblack가 적으면 다이나믹 레인지는 증가하게 된다.


그림 2.29. 카메라의 다이나믹 레인지 테스트를 위한 OECF 차트 영상


  이 테스트에서 가장 이상적인 결과값은 무한대이다. 무한대의 결과값이 나오려면 분모항의 σblack이 0이 되어야 한다. 이는 블랙 패치에서 노이즈가 검출되지 않음을 의미하므로 다이나믹 레인지의 정의에 의해 최소 휘도 값이 0이 되어 분모가 0이 되므로 무한대가 된다.



[1] ISO 12232, Photography-Electronic still-picture camera-Determination of ISO speed, 1998.

[2] ISO 12233, Photography-Electronic still-picture camera-Resolution measurements, 2000.

[3] ISO 14524, Photography-Electronic still-picture camera-Methods for measuring opto-electronic conversion functions (OECFs), 1999.

[4] ISO15739, Photography-Electronic still-picture cameras-Noise measurements, 2003.