본문 바로가기
카메라와 망원경

카메라의 원리2 - CCD와 CMOS의 색 구현방법

by 0대갈장군0 2020. 3. 2.
반응형
 

카메라의 원리 1 - 디지털 카메라의 센서 CCD와 CMOS

과거에는 필름카메라, SLR이라는 것으로 사진을 찍었다. 카메라 안에 필름을 넣고, 셔터를 누르면 필름이 있는 곳으로 빛이 들어와, 필름의 감광물질과 빛이 화학반응을 일으켜 사진을 만들어 낸다. 그리고 사진관..

kalchi09.tistory.com

앞서 포스팅에서 CCD와 CMOS의 원리에 대해서 최대한 간단하게 알아보았다. (최대한 간단하게 한건, 저거 모른다고 사진을 못찍는것도 아니기 때문에;;;) 

여기서는 색을 구현하는 방법을 알아 볼 것이다. 

 

앞서 이야기하였듯 포토다이오드는 들어오는 빛의 양에 비례하게 전압을 걸고 전류를 흘려보낸다. 전압이 높으면 밝게 보이고, 낮으면 어둡게 보이게만 할 뿐이다. 때문에 이미지는 흑백이 되어버린다. 그래서 CCD나 CMOS에게 색을 가르쳐 주어야 한다. 이 때 사용하는 것이 filter이다. 

 

  1. 천문학자들이 사용하는 CCD와 filter

앞서 이야기하였듯 천문학자들을 CCD와 filter를 이용해 원하는 색만 받아들인다. 천문학자들이 많이 쓰는 filter는 UBVRI filter이다. 

 

<CCD와 CCD 내부 모습(촬영 : 강원과학고)>

 

위 사진은 전에 근무하던 곳에서 운영한 CCD와 CCD 내부 모습이다. 왼쪽 그림의 CCD는 천체망원경에 부착하여 사진 촬영을 준비하고 있는 상태이다. 오른쪽 그림이 내부 사진인데, CCD 내부를 보면, CCD sensor, filter, filter wheel, shutter가 있다. shutter가 회전하며 CCD sensor를 가리거나 열면서 사진을 촬영하게 된다. shutter가 가려지면 촬영을 안하는 상태, shutter가 열리면 sensor가 빛에 노출되어 촬영을 하게 된다. 예를들어 셔터 속도를 10초로 하면, 10초동안 셔터가 열리고 빛이 들어오는 것이다. 그리고 그 앞에 filter가 있다. 이해가 다소 쉬운 RGB filter로 예를들어 보고자 한다. R필터로 찍어라 하면 센서 앞에 R 필터가 놓이고 빨간색 빛만 센서에 들어온다. 그리고 G필터로 찍어라 하면 센서 앞에 G필터가 놓이고 초록색 빛만 센서에 들어오며, B필터로 찍어라 하면 파란색 빛만 들어오게 되는 것이다. 여기서 필터를 회전시켜 센서앞에 해당 필터가 놓이도록 하는것이 필터 휠(filter wheel)이다.

  filter의 역할은 원하는 파장의 빛만 수신하는 것이다. LRGBHa의 경우, L filter는 모든 파장, R 필터는 빨간색, G 필터는 초록색, B 필터는 파란색, Ha(H alpha) 필터는 656.3nm의 빛 만을 들어오게 한다.

 

UBVRI도 마찬가지이다. U는 자외선, B는 청색, V는 녹색, R은 적색, I는 적외선. LRGBHa에서 RGB 필터와 UBVRI 필터의 BVR 필터가 유사한 대역폭을 보이지만 차이점은 UBVRI 필터의 대역폭이 훨씬 좁다.

 

천문학자들은 주로 UBVRI 필터를 사용한다. 각 필터의 대역폭은 아래 그림과 같다.

 

<UBVRI filter( 출처 : https://www.researchgate.net/figure/3-UBVRcIc-Johnson-Cousins-Filters-Johnson-Cousins-UBVRI-filter-curves_fig3_326412740)>

 

아마추어 천문학자들(주로 천체사진가)이 주로 사용하는 필터는 LRGBHa필터이다. 대역폭이 UBVRI보다 넓다.

 

<LRGBHa의 대역폭(출처 : https://www.swagastro.com/narrowband-information.html)>

 

위와 같은 플레이아데스 사진 하나를 찍으려면 L, R, G, B 필터(이 대상은 Ha로 찍을 필요는 없다.)를 이용하여 사진을 찍는다. 4개 필터를 썼으니 최소한 4장의 사진이 나온다. 그리고 이걸 합성하게 되는 과정을 거치게 된다.  

자 그럼, filter와 filter wheel의 크기를 생각하면, 우리가 생각하는 DSLR의 크기는 엄청나게 커져야 한다. 그리고 사진 한 장을 찍으려면 최소한 4장의 사진을 찍고 합성하는 과정을 거쳐야 한다... 이거 실제로 이렇게 하려면 쓸 수나 있을까? 못쓴다. 절대로. 차라리 film을 쓰는것이 낫다.

 

천문학자들이야 연구라는 목적 때문에 저런 다소 복잡한 과정을 거치나, 일반적인 사진촬영의 목적과는 전혀 부합하지 않는다. 때문에 DSLR이나 미러리스, 핸드폰 카메라 같은 것들은 다른 방법을 이용해야 한다.

 

반응형

  2. DSLR과 미러리스, 폰카등에 사용되는 color CMOS

  천문학자들이 쓰는 CCD를 mono CCD라고 한다. 색을 모르는 CCD, 흑백으로만 나와 색을 구현하려면 앞서 이야기 한 filter를 반드시 써야하는 CCD이다. 하지만, mono CCD를 쓰면 앞에서 본 것 처럼 색 구현에 여간 애를먹는것이 아니다. 그리고 일반카메라는 앞서 이야기하였듯 CCD를 쓰지않고 CMOS를 쓴다. 

  이런 불편함을 해결하고자 개발된것이 color CMOS이다. mono CCD가 별도의 필터와 필터휠을 가져야함과는 달리 color CMOS는 아예 필터를 하나하나의 개별 픽셀에다 박아 놓았다. 헐. 픽셀 하나에 여러개의 필터를 박을 수는 없다.(여기서 모두 설명할 순 없지만 그렇게 해 버리면 아무 빛도 투과하지 못한다) R, G, B를 규칙적 배열로 픽셀 앞에 박아 둔 것이다.

 

<CMOS의 Bayer pattern(좌)과 CMOS(우)>
<Bayer pattern>

 

  위 그림에서 회색이 픽셀, 즉 CMOS 센서이고, 그 위에 R, G, B 필터가 규칙적으로 붙어있다. 픽셀 앞에 필터를 배열하는 방법은 여러가지가 있는데, 그 중 가장 기본적인 방법은 Bayer pattern이다. Bayer pattern의 기본 단위를 보면, 위 그림과 같이 1개의 R, 2개의 G, 1개의 B 필터로 구성 되어있다. 위 그림에 필자가 1, 2, 3, 4번 필터에 각각 RGGB라고 표시해 두었다. 그런데 자세히 보면 G 필터만 2개가 붙어있고, R과 B 필터는 1개이다. 왜 하필 G를 2개로 박아두었을까? 이는 우리눈이 초록색에 더 민감하여, 초록색빛을 잘받아들이기 때문에 촬영된 사진도 우리눈과 최대한 비슷하게 보이도록 하도록 초록색 빛이 더 많이 들어오게 하기 위함이다. 하지만 앞서 이야기 하였듯, 이렇게 해도 각 픽셀은 1번에 빨간색 빛이 얼마만큼인지 4번에 파란색 빛이 얼마만큼 들어왔는 지만 알 뿐 저게 파란색인지 빨간색인지는 모른다. 그건 이제 이미지 프로세서가 색깔을 입혀주어 시각화 하는 것이다. 

 

여기서 한 가지 문제가 생긴다. 저렇게 필터를 배열해 놓으면, 픽셀 하나하나는 오직 1가지 색만 받아들이게 된다. 그림을 예로 들면 1번 픽셀에는 빨간색 빛만, 2번, 3번 픽셀에는 초록색 빛만, 4번 픽셀에는 파란색 빛만.... 이게 무슨상황을 연출하는지는 아래 그림을 보면 된다.

 

 

1번과 같은 실제 장면을 bayer pattern의 color CMOS로 촬영하면 2번과 같이 된다. 앞서 이야기하였듯 CMOS는 색을 모른다. 이제 이미지 프로세서가 각 픽셀에 해당하는 색을 입혀준다.

 

 

3번과 같이 필터별로 색이 입혀진다. 이해를 돕기 위해 일부러 화소가 낮은 경우를 예로 들었다. 갈색 동그라미 안을 확대해 보면 저렇게 빛이 많이 들어온 곳은 밝게, 적개 들어온 곳은 어둡게 표현이 된다. 실제 사진 찍으면 저렇게 3번처럼 되었을까? 아니다. 모든 픽셀은 RGB의 해당 빛만 가지고 저렇게 부자연스러운 형태로 표현되지 않고 완벽하게 자연색으로 구현되어있다.

 

여기서 color CMOS의 이미지 프로세싱의 기술이 발현된다. 다시 위 그림과 아래 그림을 참고해서 보자.

 

 

위 그림의 7번 픽셀에 초록색 빛이 100개가 들어왔다고 가정하자. 그리고 7번 주변의 G 필터를 제외한 인접픽셀 3,6,8,11에는 모두 70개의 빛이 들어왔다고 가정하자. 자 그럼 이미지 프로세서는 7번의 인접 R, B 픽셀에 들어온 빛의 양을 통해, 아~주변 R과 B에 각각 70개의 빛이 들어왔으니 7번에는 R과 B가 65만큼 있겠구나 하고 추정을 해서 7번에는 없는 R과 B의 양을 결정하여 최종 색으로 구현해 낸다. 일종의 외삽 과정을 거치는 셈이다. 다른 픽셀들도 마찬가지이다. 

 

 

 그래서 최종적으로 4번과 같은 사진이 탄생하게 된다. 앞서 이야기 하였듯, 일부로 화소수가 적은 사진을 예로 들었다. 이리하여 1번의 자연상태와 유사한 4번의 사진이 탄생한 것이다.(1, 2, 3, 4 그림 출처 : 위키피디아)

 

여기서 잠시 색의 기본을 살펴보면, 자연색은 기본적으로 적색, 녹색, 청색의 3가지 만으로 구현된다. 나머지 색은 이 3가지 색을 적절히 조합하여 구현된다. 가장 적은상태가 0, 가장 많은 상태가 255이다. 예를들어 적색은 R : 255, G : 0, B : 0이다. 흰색은 R : 255, G : 255, B : 255이다. 아래 컬러차트를 보면 알 수 있는데, #000111과 같이 쓰인 수 밑에 x.y.z 숫자가 각각 R, G, B 수이다.

 

<RGB 색상표(출처 : https://www.pinterest.co.kr/pin/84512930491052632/)>

 

7번 픽셀은 자신에게는 없는 R이나 B 필터에서 빛의 양을 옆의 픽셀의 양을 통해 추론하여 결정하였다. 이런 이유로 각 픽셀당 정확하게 빛이 얼마나 들어왔는지를 알아야 하는 천문학은 color CMOS를 쓰지 못하는 것이다. 하지만 일반사진에서는 얼마든지 쓸 수 있다.

 

같은 장면을 찍어도 캐논과 니콘, 라이카 등에서 색감이 다르다고 한다. 그게 바로 이 이미지 프로세싱과정에 차이가 있기 때문이다.

**내용에 오류가 있거나 궁금한 부분은 댓글로 남겨주세요
**좋아요와 댓글은 작성자에게 큰 힘이 됩니다~~^^

 

반응형

댓글