화소와 센서
저녁 무렵 실내에서 찍은 사진을 휴대폰 화면에서 크게 벌려 보면, 어두운 구석에 모래알 같은 얼룩이 끓고 있다. 밝게 보정하면 얼룩은 더 커지고, 어느 순간 매끈하던 벽에 계단 같은 띠가 생긴다. 이 얼룩과 띠는 고장이 아니라 빛이 숫자가 되는 과정이 남긴 흔적이다. 이 장은 센서가 광자를 세는 방식에서 출발해, 색을 얻는 방법, 숫자의 눈금을 나누는 방법, 그리고 카메라가 그 숫자를 JPEG으로 굽기 전과 후에 무엇이 남고 사라지는지 따라간다.
- 센서의 화소가 광자를 세는 양동이라는 것과, 광자 산탄 잡음이 왜 피할 수 없는지 설명한다.
- 화소 크기, 센서 크기, 감도(ISO)가 노이즈와 어떻게 관계하는지 구별한다.
- 베이어 필터와 디모자이크가 색을 "추측"하는 방식과, 가는 무늬에서 생기는 가짜 색을 안다.
- 비트 깊이와 감마 인코딩이 어두운 쪽의 계조를 어떻게 나누는지 계산한다.
- RAW와 JPEG의 차이를 알고, 장면과 용도에 맞게 저장 형식을 고른다.
같은 구석, 다른 얼룩
같은 장면을 휴대폰과 카메라로 찍으면 밝은 곳은 둘 다 그럴듯한데, 어두운 곳에서 차이가 크게 난다. 아래 그림은 이 책이 직접 그린 가상의 서가 구석이다. 천장에 매단 전등이 가운데 위를 비추고, 아래쪽 양 구석은 어둡다. 같은 조리개 값과 같은 셔터 속도로 휴대폰과 APS-C 미러리스가 찍었다고 놓고, 둘 다 어두운 부분을 2스톱 끌어올렸다. 경계선을 끌어 구석의 책등을 비교해 보자.
차이를 만든 것은 크게 두 가지다. 하나는 화소 하나가 받은 빛의 양, 다른 하나는 그 빛을 숫자로 적어 둔 방식이다. 이 장은 이 두 가지를 차례로 연다. 먼저 빛이 숫자가 되는 길을 한 장의 그림으로 보자.
화소: 광자를 세는 양동이
디지털 센서는 수백만 개의 작은 칸이 격자로 놓인 실리콘 판이다. 칸 하나가 화소(Pixel, 센서에서는 Photosite)다. 각 칸의 포토다이오드는 빛 알갱이인 광자(Photon)가 부딪히면 일정한 확률로 전자를 하나 내놓고, 노출하는 동안 이 전자를 모아 둔다. 비 오는 날 마당에 양동이를 줄지어 세워 두고 빗물을 받는 모습을 떠올리면 된다. 밝은 곳의 양동이에는 물이 많이, 어두운 곳에는 조금 고인다. 양동이에 담을 수 있는 최대량을 포화 용량(Full well capacity)이라고 하고, 그보다 많은 빛은 모두 같은 "꽉 참"으로 적힌다. 하이라이트가 날아가는 이유다(3장).

광자는 고르게 내리지 않는다. 같은 밝기의 벽을 비추더라도 어떤 칸에는 광자가 조금 많이, 옆 칸에는 조금 적게 떨어진다. 빗방울이 양동이마다 똑같이 떨어지지 않는 것과 같다. 이렇게 빛 자체가 알갱이라서 생기는 들쭉날쭉함을 광자 산탄 잡음(Photon shot noise)이라고 한다. 센서를 아무리 잘 만들어도 없앨 수 없는, 빛에 원래 들어 있는 잡음이다. 평균 \(N\)개의 광자가 오는 칸에서 그 수는 대략 \(\sqrt{N}\)만큼 흔들린다.
아래 시뮬레이터의 각 칸은 화소 하나다. 칸마다 평균만큼 광자를 무작위로 떨어뜨려 센 결과를 밝기로 칠했다. 빛의 양을 바꾸고, 네모난 탐침을 끌어 그 안의 칸들이 얼마나 들쭉날쭉한지 본다.
광자를 세는 격자
빛을 열 배 받아야 잡음이 세 배 남짓 줄어드는 셈이니, 깨끗한 사진은 결국 빛을 많이 모으는 데서 나온다. 셔터를 오래 열거나, 조리개를 열거나, 장면을 밝히는 것 말고는 광자 수를 늘릴 방법이 없다(2장).
화소 크기, 센서 크기, 그리고 감도
같은 조리개 값과 같은 셔터 속도라면 센서의 같은 넓이에는 같은 양의 빛이 떨어진다. 그러면 화소 하나가 받는 광자는 화소의 넓이에 비례한다. 이 책의 케이스에 나오는 두 카메라를 숫자로 비교해 보자. 휴대폰은 5장과 7장에서 쓴 이 책의 모형(센서 8×6 mm, 실제 초점거리 6 mm, 1200만 화소)이다.
| 미러리스(APS-C) | 휴대폰(예) | |
|---|---|---|
| 센서 크기 | 23.5×15.6 mm | 8×6 mm |
| 센서 넓이 | 367 mm² | 48 mm² |
| 화소 수 | 1600만 | 1200만 |
| 화소 간격 | 4.8 µm | 2.0 µm |
| 화소당 빛(같은 노출) | 5.8 | 1 |
| 사진 전체의 빛(같은 노출) | 7.6 | 1 |
| RAW 비트 깊이 | 12비트 | 기종마다 다름 |
같은 노출이라면 미러리스의 화소 하나가 휴대폰보다 약 5.8배 많은 광자를 받으므로, 화소 하나의 SNR은 \(\sqrt{5.8}\) ≈ 2.4배 좋다. 두 사진을 같은 크기로 볼 때는 사진 전체가 모은 빛이 중요하니 센서 넓이의 비(7.6배)가 더 정확한 비교이고, SNR로는 약 2.8배다. 화소를 잘게 쪼갠다고 사진 전체의 잡음이 늘지는 않는다. 작은 화소 넷을 평균하면 큰 화소 하나와 비슷해진다. 결국 사진의 잡음을 정하는 것은 화소 크기보다 센서 전체가 모은 빛이다.
그러면 감도(ISO)는 무엇일까. 이름과 달리 ISO를 올린다고 센서가 빛에 더 민감해지지는 않는다. 센서가 모은 전하의 양은 그대로이고, ISO는 그것을 숫자로 바꾸기 전에 얼마나 크게 증폭할지 정한다. 어두운 장면에서 ISO를 올리면 사진이 밝아지지만, 늘어난 것은 숫자일 뿐 광자는 그대로다. 잡음이 늘어 보이는 것은 ISO 탓이라기보다, ISO를 올려야 할 만큼 빛이 적었기 때문이다. 증폭에는 장점도 있다. 회로가 읽어 낼 때 더해지는 읽기 잡음(Read noise)보다 신호를 먼저 키워 두면, 아주 어두운 부분이 읽기 잡음에 묻히는 것을 조금 막는다. 대신 증폭한 만큼 포화가 빨리 와서 하이라이트의 여유가 준다.
색은 추측한다: 베이어 필터와 디모자이크
포토다이오드는 광자의 수만 셀 뿐 색은 모른다. 색을 얻기 위해 대부분의 센서는 화소마다 빨강, 초록, 파랑 중 하나의 색 필터를 씌운다. 가장 흔한 배열이 1976년 코닥의 브라이스 베이어가 특허를 낸 베이어 필터(Bayer filter)다. 2×2 칸 안에 초록 둘, 빨강 하나, 파랑 하나를 놓는다. 초록이 두 배인 것은 사람의 눈이 밝기와 세부를 주로 초록 부근의 빛으로 느끼기 때문이다(ColorBook 6장).
센서가 실제로 적는 것은 그림 4 왼쪽 같은 모자이크다. 화소마다 빠진 두 색을 이웃에서 빌려 채우는 과정이 디모자이크(Demosaicing)다. 평평한 벽이나 하늘처럼 이웃이 서로 비슷하면 추측이 잘 맞는다. 하지만 무늬가 화소 두세 칸보다 가늘면 이웃의 값이 엉뚱한 무늬에서 오고, 흑백 줄무늬에 무지개 같은 가짜 색(False color)이나 물결무늬(모아레)가 생긴다. 아래에서 줄무늬의 간격을 좁혀 본다.
모자이크에서 색을 복원하기
점 하나에 색 하나라는 점에서 베이어 모자이크는 쇠라의 점묘화(ColorBook 1장)를 닮았다. 다른 점은 점묘화의 점은 감상자의 눈이 멀리서 섞지만, 센서의 모자이크는 디모자이크가 이웃을 보고 빠진 색을 "채워 넣는다"는 것이다. 채우는 순간 새 정보가 생기는 것이 아니라 추측이 들어간다.
비트 깊이: 숫자의 눈금
전하를 숫자로 바꿀 때는 정해진 개수의 눈금 중 하나를 고른다. 눈금의 개수를 정하는 것이 비트 깊이(Bit depth)다. 8비트는 2⁸ = 256단계, 12비트는 4,096단계, 14비트는 16,384단계다. 대부분의 JPEG과 화면은 색마다 8비트, 많은 카메라의 RAW는 12~14비트를 쓴다. 그림 3의 자수 견본은 말하자면 1비트(두 단계) 그림이다.
눈금이 거칠면 부드럽게 이어져야 할 밝기가 계단이 된다. 이 계단을 밴딩(Banding) 또는 포스터화라고 한다. 8비트는 그대로 볼 때는 대개 충분하다. 문제는 보정이다. 어두운 부분을 밝게 끌어올리면 원래 몇 개 안 되던 눈금 사이의 간격도 함께 벌어진다. 아래는 창빛이 비치는 벽의 밝기 변화다. 비트 수를 줄여 보고, 보정으로 그림자를 3스톱 끌어올려 본다.
비트 깊이와 밴딩
보정하지 않을 사진이라면 8비트로 충분하고, 많이 보정할 사진일수록 비트가 넉넉해야 한다. 이것이 RAW와 JPEG의 첫 번째 차이다. 그런데 같은 8비트라도 눈금을 어떻게 나누느냐에 따라 어두운 쪽의 운명이 크게 달라진다.
감마 인코딩: 눈금을 어두운 쪽에 몰아 주기
센서가 세는 광자 수는 빛의 양에 정비례한다. 이 숫자를 그대로 눈금에 담는 것을 선형 인코딩(Linear encoding)이라고 한다. 그런데 빛은 1스톱 어두워질 때마다 절반이 되므로, 선형 눈금에서는 가장 밝은 1스톱이 전체 눈금의 절반을 차지한다. 8비트라면 가장 밝은 스톱에 128단계, 그 아래 스톱에 64단계, 다시 32, 16, 8, 4, 2, 1단계다. 7스톱 아래는 눈금이 하나뿐이다. 반면 사람의 눈은 밝기를 비율로 느껴서, 어두운 쪽의 작은 차이를 밝은 쪽보다 훨씬 잘 알아본다(ColorBook 6장의 L*).
그래서 JPEG이나 화면용 이미지는 숫자로 바꾸기 전에 밝기를 휘어 어두운 쪽에 눈금을 더 나눠 준다. 이것이 감마 인코딩(Gamma encoding)이다. sRGB 표준(IEC 61966-2-1)은 대략 1/2.2제곱에 가까운 곡선을 쓴다.
아래 시뮬레이터는 10스톱의 밝기를 선형과 감마로 각각 저장할 때 스톱마다 눈금이 몇 개 돌아가는지 세고, 가장 어두운 다섯 스톱을 크게 밝혀 비교한다.
선형 눈금과 감마 눈금
정리하면 RAW는 "선형이지만 눈금이 많은" 기록이고, JPEG은 "눈금은 적지만 감마로 어두운 쪽에 몰아 준" 기록이다. 그대로 볼 때는 JPEG도 충분하다. 하지만 JPEG은 카메라가 이미 톤 커브를 걸어 그림자를 눌러 두었기 때문에, 그림자 쪽에 남은 눈금이 감마만으로 기대하는 것보다 더 적다. 많이 고쳐야 할 사진일수록 이 차이가 커진다.
RAW와 JPEG: 날것의 숫자와 구운 사진
RAW(Raw image file)는 센서가 적은 숫자를 거의 그대로 담은 파일이다. 모자이크 상태이고, 선형이며, 12~14비트다. 화이트 밸런스와 밝기는 "이렇게 보여 주면 좋겠다"는 메모로만 붙어 있어서, 나중에 컴퓨터에서 얼마든지 다시 정할 수 있다. 그 대신 파일이 크다. 1600만 화소 12비트라면 압축 전 숫자만 약 24 MB다. JPEG(Joint Photographic Experts Group)은 카메라가 그림 2의 처리를 모두 마친 결과다. 색이 채워지고, 화이트 밸런스와 톤 커브가 정해지고, 노이즈가 지워지고, 8비트로 줄고, 압축되었다(압축은 10장). 바로 보고 보낼 수 있고 파일이 작다. 대신 카메라가 내린 결정을 되돌리기 어렵다.
휴대폰은 특히 많은 결정을 미리 내린다. 여러 장을 빠르게 찍어 합치고, 어두운 곳의 노이즈를 강하게 지우고, 그림자와 하이라이트를 눌러 화면에서 보기 좋은 사진을 만든다. 그대로 볼 때는 훌륭하다. 하지만 지워진 노이즈와 함께 사라진 세부, 눌린 그림자 속 몇 안 남은 눈금은 다시 살아나지 않는다. 아래에서 같은 장면을 JPEG에서 밝힌 것과 RAW에서 밝힌 것을 비교한다.
그림자 끌어올리기: JPEG과 RAW
센서에서 파일까지
마지막으로 이 장의 요소를 하나의 흐름 위에 놓는다. 카메라와 저장 형식을 고르고, 장면의 밝기와 보정의 양을 바꿔 가며 결과를 본다. 그림 위의 탐침을 끌어 어느 부분의 SNR이 얼마인지 확인한다. 밝은 창가에서는 무엇을 써도 비슷하고, 어두운 실내에서 그림자를 끌어올릴 때 비로소 카메라와 형식의 차이가 드러난다는 것을 확인하는 것이 목표다.
종합: 장면에 맞는 카메라와 저장 형식
서윤의 겨울 촬영 노트
밝힐 사진은 RAW로, 볼 사진은 그대로
그림 읽기 모임 사진을 고르던 밤, 서윤은 같은 날 휴대폰으로 찍어 둔 서가 구석 사진을 다시 열었다. 화면에서는 멀쩡했는데 편집 앱에서 그림자를 올리자 책등의 글자 띠와 경계가 사라지고 갈색 얼룩만 남았다. 같은 구석을 미러리스로 찍은 RAW는 입자는 거칠어도 책 제목의 윤곽이 살아 있었다. 서윤은 무엇이 달랐는지 알고 싶어 다음 날 저녁 시험을 했다. 서가 구석을 휴대폰과 미러리스(50 mm 단렌즈)로 같은 f/1.8, 같은 셔터 속도로 한 장씩 찍고, 미러리스는 RAW와 JPEG을 함께 저장했다.
이 책의 모델로 계산하면 같은 노출에서 미러리스 화소(4.8 µm)는 휴대폰 화소(2.0 µm)보다 빛을 5.8배 받는다. 구석의 책등에서 미러리스 화소가 광자 약 510개를 모을 때 휴대폰은 약 87개를 모으고, 읽기 잡음까지 넣은 SNR은 약 22 대 9.1이다. 그보다 2스톱 어두운 책등 그늘에서는 약 127개 대 22개, SNR 10.6 대 4.3이다. 휴대폰 JPEG이 얼룩진 것은 이 적은 빛을 카메라가 노이즈 감소로 지우면서 책등의 세부까지 함께 지웠기 때문이었다. 형식의 차이는 생각과 조금 달랐다. 구석 밝기의 한 스톱에 든 눈금은 미러리스 JPEG이 20개, 12비트 RAW가 30개로 아주 크게 다르지는 않았다. 그래서 2스톱까지는 미러리스 JPEG도 그럭저럭 버텼다. 하지만 4스톱을 올리자 JPEG의 어두운 벽은 얼룩진 색면으로 무너졌고, RAW는 거친 입자 속에 계조가 남았다. 카메라가 미리 지운 노이즈와 세부, 눌러 담은 그림자는 되돌릴 수 없었다.
서윤은 그림 읽기 모임 사진도 다시 계산했다. 모임은 7장에서 정한 대로 24 mm, f/5.6으로 찍는다. 같은 셔터라면 이때 미러리스 센서 전체가 받는 빛은 f/1.8의 휴대폰과 거의 같다(휴대폰 쪽이 약 1.3배). 심도를 맞춘 만큼 큰 센서의 빛 이점이 사라진 것이다. 그래도 저녁 실내라 그림자를 올릴 일이 많으니 RAW의 여유는 그대로 남는다. 도경은 시험 사진을 보더니 필름 시절 이야기를 했다. "우리는 현상소에 맡기면 끝이었어. 너는 원판을 집에 들고 있는 거야. 대신 원판은 원판답게 받아 적어야지. 나중에 고친다고 대충 찍으면 안 돼."
핵심 정리
- 센서의 화소는 광자를 전자로 바꿔 모으는 양동이다. 포화 용량을 넘는 빛은 모두 같은 값이 되어 하이라이트가 날아간다.
- 광자는 무작위로 도착해 √N만큼 흔들린다(광자 산탄 잡음). SNR은 √N이라 빛을 4배 모아야 잡음 대비가 2배 좋아진다. 노이즈를 줄이는 근본 방법은 빛을 더 받는 것이다.
- 같은 노출이면 화소당 빛은 화소 넓이에, 사진 전체의 빛은 센서 넓이에 비례한다. 같은 심도로 맞추면 센서 크기의 빛 이점은 사라진다(등가성).
- ISO는 빛을 더 받는 것이 아니라 전하를 증폭하는 것이다. 노이즈는 높은 ISO가 아니라 적은 빛의 흔적이다.
- 베이어 센서는 화소마다 한 색만 재고 나머지 두 색은 이웃에서 추측한다(디모자이크). 화소보다 가는 무늬에서는 가짜 색과 모아레가 생긴다.
- 비트 깊이는 눈금의 개수, 감마는 눈금의 배분이다. 선형 8비트는 어두운 쪽 눈금이 거의 없어서, 화면용 이미지는 감마로 어두운 쪽에 눈금을 몰아 준다.
- RAW는 선형 12~14비트의 날것의 숫자라 많이 고칠 수 있고, JPEG은 카메라가 처리를 마친 8비트 결과라 작고 바로 쓸 수 있지만 되돌리기 어렵다. 그대로 볼 사진은 JPEG, 크게 고칠 사진은 RAW.
확인 퀴즈
1. 어두운 방에서 화소 하나가 평균 광자 25개를 받는다. 셔터를 4배 길게 열어 100개를 받게 하면 신호 대 잡음비(SNR)는 어떻게 되는가? (광자 산탄 잡음만 생각한다)
2. 같은 장면, 같은 조리개, 같은 셔터 속도로 ISO 400으로 어둡게 찍은 뒤 나중에 3스톱 밝힌 사진과, ISO 3200으로 찍은 사진을 비교한다. 가장 알맞은 설명은?
3. 가는 흑백 줄무늬 셔츠를 찍었더니 사진에 빨강·파랑 무지개 얼룩이 생겼다. 가장 알맞은 설명은?
4. 8비트로 저장할 때 선형 인코딩 대신 감마 인코딩을 쓰는 가장 큰 이유는?