노이즈, SNR, 다이내믹 레인지
센서가 내놓는 숫자에는 언제나 흔들림이 섞여 있다. 그 흔들림의 정체를 하나씩 분리하고, 신호 대 노이즈비(SNR)와 다이내믹 레인지(DR)로 센서의 실력을 수치화하는 법을 배운다. 마지막에는 엔지니어가 실제로 센서를 측정하는 방법인 광자 전달 곡선(PTC)을 직접 돌려 본다.
- 시간적 노이즈(샷, 암전류, 읽기, 양자화)와 고정 패턴 노이즈(DSNU, PRNU)를 구분하고 각각의 크기를 추정할 수 있다.
- \(\mathrm{SNR} = S/\sqrt{S + D t + \sigma_r^2}\)를 이용해 어떤 조건에서 어떤 노이즈가 지배하는지 판단할 수 있다.
- 풀웰 용량과 읽기 노이즈로 다이내믹 레인지를 계산하고, 픽셀 크기·비닝·게인이 SNR에 미치는 영향을 설명할 수 있다.
- 평균–분산 그래프(PTC)로부터 변환 계수 K, 읽기 노이즈, 풀웰을 추출하는 원리를 이해한다.
노이즈의 두 얼굴: 시간적 노이즈와 고정 패턴 노이즈
완전히 균일한 회색 벽을 같은 조건으로 여러 번 찍어도 픽셀 값은 똑같이 나오지 않는다. 이 차이를 두 종류로 나눌 수 있다. 같은 픽셀을 시간에 따라 반복 측정했을 때 값이 흔들리는 시간적 노이즈(temporal noise)와, 한 장의 영상 안에서 픽셀마다 값이 다르지만 그 차이가 매 프레임 똑같이 반복되는 고정 패턴 노이즈(FPN, Fixed Pattern Noise)다.
서로 독립인 노이즈는 표준편차가 아니라 분산이 더해진다. 이것이 노이즈 계산의 제1 원칙이다.
광자 샷 노이즈: 빛 자체의 알갱이
광자는 서로 독립적으로, 무작위 시각에 도착한다. 평균 도착률이 일정해도 정해진 노출 시간 동안 들어오는 광자 수는 매번 달라지며, 이 개수는 푸아송 분포(Poisson distribution)를 따른다. 광전 변환도 광자마다 독립인 확률 사건이므로, 생성된 전자 수 역시 푸아송이다.
샷 노이즈는 센서를 아무리 잘 만들어도 없앨 수 없는 근본 한계다. 신호가 100배 커지면 노이즈는 10배 커지므로 SNR은 10배(20 dB) 좋아진다. 예제. 한 픽셀이 10,000 e⁻을 모으면 \(\sigma = 100\ e^-\), SNR = 100(40 dB). 어두운 곳에서 100 e⁻밖에 모으지 못하면 SNR = 10(20 dB)로 눈에 띄게 거칠어진다. 그래서 "더 많은 광자를 모으는 것"(큰 픽셀, 밝은 렌즈, 높은 QE, 긴 노출)이 화질 개선의 가장 확실한 방법이다.
푸아송 분포와 √N
암전류와 온도
빛이 전혀 없어도 실리콘은 열에너지로 전자–정공 쌍을 만든다. 이 전자가 포토다이오드에 쌓인 것이 암전류(dark current)이며, 보통 픽셀당 초당 전자 수(e⁻/s)나 면적당 전류(pA/cm², nA/cm²)로 표시한다. 암전류는 두 가지 문제를 만든다. ① 평균값 \(D\cdot t\)만큼 오프셋이 더해져 검은색이 떠 보이고(블랙레벨 보정으로 뺄 수 있다), ② 그 전자들 역시 푸아송 사건이라 암전류 샷 노이즈 \(\sqrt{D t}\)가 생긴다 — 이것은 뺄 수 없다.
주된 생성 원인은 실리콘–산화막 계면과 공핍층 안의 결함(깊은 준위 트랩)을 통한 SRH 생성이다. 밴드갭 한가운데 준위를 거치므로 활성화 에너지가 대략 \(E_g/2 \approx 0.56\ \text{eV}\)이다. 반면 중성 영역에서 확산해 들어오는 성분은 \(n_i^2\)에 비례해 \(E_g \approx 1.12\ \text{eV}\)의 활성화 에너지를 갖는다.
예제. 60 °C에서 암전류가 20 e⁻/s인 픽셀. 7 °C마다 두 배라면 25 °C에서는 \(20 / 2^{35/7} = 20/32 \approx 0.6\ e^-/s\). 차량 카메라처럼 85 °C가 되면 \(20 \times 2^{25/7} \approx 240\ e^-/s\). 33 ms 노출에서 8 e⁻, 샷 노이즈 2.8 e⁻ — 읽기 노이즈(1~2 e⁻)보다 커진다. 1초 장노출 야경이라면 240 e⁻, 노이즈 15 e⁻가 되어 어두운 부분을 완전히 덮는다. 천체 카메라가 센서를 −20 °C 이하로 냉각하는 이유다.
아레니우스 그래프 — 온도에 따른 암전류
읽기 노이즈와 양자화 노이즈
읽기 노이즈(read noise, temporal noise floor)는 빛이 없고 노출이 0일 때 남는 시간적 노이즈로, 픽셀 → 컬럼 → ADC 체인의 전자 회로가 만든다. 6장에서 본 것처럼 CDS가 kTC와 오프셋을 지우고 나면 남는 주된 성분은 다음과 같다.
- 열잡음(thermal noise): SF 채널의 전압 노이즈 밀도 \(\overline{v_n^2} = 4kT\gamma/g_m\) (\(\gamma \approx 2/3\)). 컬럼 회로의 대역폭을 좁히면 줄어든다.
- 1/f 노이즈(flicker noise): 게이트 산화막 계면의 트랩이 전하를 붙잡았다 놓으며 생긴다. 스펙트럼이 \(\propto 1/(WLC_{ox}f)\)라 작은 SF일수록 크다. CDS가 저주파 부분은 억제하지만 완전히 지우지 못한다.
- RTS 노이즈(Random Telegraph Signal): 트랩 하나가 지배하면 출력이 두 값 사이를 무작위로 뛰어다닌다. 일부 픽셀만 노이즈가 유난히 큰 '깜빡이는 픽셀'의 원인이며 읽기 노이즈 분포에 긴 꼬리를 만든다.
회로에서 측정되는 전압 노이즈를 전자 수로 바꾼 것이 입력 환산 읽기 노이즈다: \(\sigma_r = v_n / CG\). 예제. 컬럼에서 본 CG가 85 µV/e⁻이고 CDS 후 전압 노이즈가 130 µV rms라면 \(\sigma_r \approx 1.5\ e^-\). 현대 스마트폰 센서는 0.8~2 e⁻, 과학용 sCMOS는 1 e⁻ 이하, 특수 구조(딥 서브전자 픽셀, Quanta 센서)는 0.2 e⁻ 수준까지 내려간다.
양자화 노이즈
ADC는 연속 전압을 정수 코드로 반올림하므로 최대 ±½ LSB의 오차가 생긴다. 신호가 여러 LSB에 걸쳐 흔들리면 이 오차는 폭 1 LSB의 균일 분포로 볼 수 있고, 표준편차는
예제. 풀웰 10,000 e⁻을 10비트(1023 DN)에 담으면 \(K \approx 9.8\ e^-/DN\), \(\sigma_q \approx 2.8\ e^-\) — 읽기 노이즈 1.5 e⁻보다 크다! 같은 센서를 12비트로 읽으면 \(K \approx 2.4\), \(\sigma_q \approx 0.7\ e^-\). 설계 원칙은 1 LSB가 읽기 노이즈보다 작게(대략 \(K \lesssim \sigma_r\)) 하는 것이다. 그래야 양자화가 노이즈 바닥을 올리지 않는다.
| 노이즈 | 크기(전자 환산) | 의존성 | 줄이는 법 |
|---|---|---|---|
| 광자 샷 | \(\sqrt{S}\) | 신호 | 없음(근본 한계). 광자를 더 모은다 |
| 암전류 샷 | \(\sqrt{Dt}\) | 온도, 노출 시간 | PPD, 냉각, 짧은 노출 |
| 읽기 | \(\sigma_r\) (0.5~3 e⁻) | SF 크기·CG·대역폭 | CDS, 높은 CG, 다중 샘플링 |
| 양자화 | \(K/\sqrt{12}\) | 비트 수, 게인 | 비트 수 ↑, 아날로그 게인 ↑ |
| DSNU | 암신호의 픽셀 간 편차 | 온도, 노출 | 다크 프레임 빼기 |
| PRNU | \(P\cdot S\) (P ≈ 0.5~1%) | 신호에 비례 | 플랫 필드 나누기 |
고정 패턴 노이즈: DSNU와 PRNU
FPN은 픽셀(또는 컬럼)마다 고정된 특성 차이에서 온다. 신호와 무관한 오프셋 성분과 신호에 비례하는 게인 성분으로 나눈다.
- DSNU(Dark Signal Non-Uniformity): 어둠 속 픽셀 값의 공간적 편차. 암전류가 픽셀마다 다르고(특히 결함이 있는 핫 픽셀), CDS로 지워지지 않은 잔여 오프셋이 더해진다. 노출 시간·온도에 따라 커진다.
- PRNU(Photo Response Non-Uniformity): 같은 빛에 대한 감도의 편차. 마이크로렌즈·컬러필터 두께, PD 면적, CG의 미세한 차이에서 온다. 신호에 비례하므로 \(\sigma_{PRNU} = P \cdot S\) (보통 \(P\) = 0.5~1%).
- 컬럼 FPN: 컬럼 증폭기·ADC 비교기의 오프셋 차이가 세로 줄무늬를 만든다. 사람 눈은 무작위 노이즈보다 줄무늬에 10배 이상 민감해서, 컬럼 FPN은 시간적 노이즈의 1/10 이하로 억제해야 한다.
PRNU는 신호에 비례하므로 밝은 곳에서 샷 노이즈를 이긴다. 두 노이즈가 같아지는 신호는 \(\sqrt{S} = PS \Rightarrow S = 1/P^2\). \(P = 1\%\)이면 \(S = 10,000\ e^-\). 즉 풀웰이 10k e⁻ 이상인 큰 픽셀에서는 보정하지 않은 PRNU가 밝은 영역의 SNR 상한(\(1/P\) = 40 dB)을 결정한다. 다행히 FPN은 매 프레임 같으므로 공장에서 측정한 보정 맵(다크 프레임 차감, 플랫 필드 게인 보정)으로 대부분 지울 수 있다.
보정된 값 \(= \dfrac{\text{raw} - \text{dark}}{\text{flat} - \text{dark}} \times \overline{(\text{flat} - \text{dark})}\). dark는 같은 노출·온도의 암흑 프레임 평균, flat은 균일광 프레임 평균이다. 보정 프레임 자체의 시간적 노이즈가 섞이지 않도록 수십 장을 평균해서 만든다.
SNR과 다이내믹 레인지
지금까지의 노이즈를 모두 합치면 신호 \(S\)(전자 수)에서의 SNR은
log–log 그래프로 그리면 세 개의 직선 구간이 보인다. ① 신호가 작으면 분모가 \(\sigma_r\)로 일정 → SNR ∝ S (기울기 1, 읽기 노이즈 제한). ② 중간에서는 \(\sqrt{S}\)가 지배 → SNR ∝ √S (기울기 ½, 샷 노이즈 제한). ③ 매우 밝으면 PRNU가 지배 → SNR → 1/P (기울기 0). 그리고 신호가 풀웰에 도달하면 곡선이 끝난다. ①과 ②의 경계는 \(S = \sigma_r^2\)이다: 읽기 노이즈 2 e⁻이면 4 e⁻만 넘어도 샷 노이즈 영역이다.
SNR 곡선 — 어떤 노이즈가 지배하는가
풀웰 용량과 다이내믹 레인지
픽셀이 담을 수 있는 최대 전자 수가 풀웰 용량(FWC, Full Well Capacity)이다. PPD의 도핑·면적과 FD 전압 범위 중 작은 쪽이 결정하며, 대략 픽셀 면적에 비례해 1 µm 픽셀은 4~6k e⁻, 2.4 µm는 15~30k e⁻, 5 µm 이상 산업용은 50k e⁻ 이상이다. 한 장면에서 동시에 담을 수 있는 가장 밝은 신호와 가장 어두운 신호의 비가 다이내믹 레인지(DR)다.
예제. FWC 6000 e⁻, 읽기 노이즈 1.5 e⁻ → DR = 20 log(4000) = 72 dB ≈ 12 stops. 최대 SNR = √6000 ≈ 77(37.8 dB). 풀웰을 두 배로 늘리면 DR은 6 dB, 최대 SNR은 3 dB만 늘지만, 읽기 노이즈를 반으로 줄여도 DR이 6 dB 는다. 자연 장면(역광, 터널 출구)은 100~120 dB를 요구하므로 단일 노출로는 부족하고 8장의 HDR 기법이 필요하다.
다이내믹 레인지 계산기
이미지로 보는 노이즈
수식을 영상으로 확인해 보자. 아래 시뮬레이터는 가상의 장면(계조 램프, 반사율 90%~3%의 회색 패치, 글자와 방사형 해상도 차트)을 센서 모델로 촬영한다. 픽셀마다 ① 광자 수 = 광량 × 노출 × 픽셀 면적 × QE(0.6)로 평균을 정하고 푸아송 샘플링, ② 암전류(온도 7 °C마다 2배) 푸아송, ③ 풀웰 클리핑, ④ 가우시안 읽기 노이즈, ⑤ 아날로그 게인과 ADC 양자화·클리핑을 거친다. 오른쪽 아래 18% 회색 패치(파란 사각형)에서 실제 SNR을 측정한다.
센서 노이즈 이미지 시뮬레이터
픽셀 크기와 비닝
같은 조명, 같은 렌즈(F-넘버)에서 픽셀 한 개가 받는 광자 수는 픽셀 면적에 비례한다. 픽셀 피치를 1.4 µm에서 0.7 µm로 줄이면 면적은 1/4, 신호도 1/4, 샷 노이즈 제한 SNR은 1/2(−6 dB)이 된다. 풀웰도 대략 면적에 비례하므로 DR도 줄어든다. 그러나 이는 픽셀 단위 비교다. 같은 크기로 출력한 영상 단위로 보면 작은 픽셀 4개를 합친 것은 큰 픽셀 1개와 광자 수가 같다. 차이는 읽기 노이즈를 몇 번 더하느냐에서 생긴다.
예제. 픽셀당 S = 10 e⁻, \(\sigma_r = 2\ e^-\). 단일: \(10/\sqrt{14} = 2.7\). 디지털 2×2: \(40/\sqrt{56} = 5.3\). 전하 2×2: \(40/\sqrt{44} = 6.0\). 극저조도일수록 전하 비닝의 이점이 크다. 대신 전하 비닝은 FD 하나가 네 픽셀의 전하를 담아야 하므로 FD 풀웰(전압 범위)이 한계가 된다.
비닝 방식별 SNR 비교
광자 전달 곡선(PTC): 센서를 측정하는 법
센서의 변환 계수 \(K\)(e⁻/DN), 읽기 노이즈, 풀웰은 데이터시트에 적혀 있지만, 엔지니어는 이것을 직접 측정한다. 핵심 도구가 제임스 제닉(J. Janesick)이 정리한 광자 전달 곡선(PTC, Photon Transfer Curve)이며, 머신비전 업계 표준인 EMVA 1288도 같은 원리를 쓴다.
아이디어는 샷 노이즈의 성질을 '자'로 쓰는 것이다. 전자 영역에서 분산 = 평균(푸아송)이다. 출력 DN이 \(\mu_{DN} = \mu_e / K\)이면 분산은 \(\sigma_{DN}^2 = \sigma_e^2 / K^2\)이므로
측정 절차: ① 렌즈 없이 균일광(플랫 필드)을 비춘다. ② 노출 시간(또는 광량)을 바꿔 가며 같은 조건의 프레임을 두 장씩 찍는다. ③ 두 장의 차 \(A-B\)의 분산을 2로 나눈 값을 시간적 분산으로 쓴다. 차이를 취하면 매 프레임 같은 FPN(PRNU·DSNU)이 상쇄된다. ④ 평균(다크 프레임 차감) vs 분산을 그리고, 선형 구간에서 직선을 맞춘다. ⑤ 풀웰 근처에서 전자가 더 쌓이지 못하면 분산이 급격히 떨어진다 — 이 무릎(knee)의 평균이 풀웰(또는 ADC 포화)이다.
PTC 측정 실험 — 미지의 센서 특성 추출
K를 알면 변환 이득도 얻는다. ADC의 1 LSB 전압 \(V_{LSB}\)와 아날로그 게인 \(G\)를 알면 \(CG = V_{LSB}/(G\cdot K\cdot A_{SF})\). 또 알려진 광자 수 \(\mu_p\)를 쬐어 \(\mu_e = K\mu_{DN}\)을 구하면 \(QE = \mu_e/\mu_p\)까지 계산된다. EMVA 1288은 이 값들(QE, K, 읽기 노이즈, 포화 용량, DSNU, PRNU, 암전류)을 표준 형식으로 보고하도록 규정한다.
ISO·아날로그 게인과 저조도 전략
카메라의 ISO를 올리면 센서 내부 컬럼 증폭기(PGA)나 램프 기울기를 바꿔 아날로그 게인이 커진다. 흔한 오해는 "게인이 신호를 키운다"는 것이다. 게인은 이미 모인 전자를 더 큰 숫자로 표현할 뿐, 광자와 전자 수는 늘리지 않는다. 샷 노이즈와 게인 앞단의 노이즈(SF 노이즈)도 같은 배율로 커지므로 이들의 비는 그대로다.
그런데도 저조도에서 아날로그 게인이 유리한 이유는 게인 뒷단의 노이즈(ADC 비교기·램프·양자화 노이즈) 때문이다. 입력(전자) 기준으로 환산하면
게인에 따른 입력 환산 노이즈와 DR
저조도에서의 전략
- 광자를 더 모은다. 밝은 렌즈(작은 F-넘버), 긴 노출(손떨림 보정과 함께), 큰 픽셀 또는 비닝, 높은 QE(BSI, 깊은 PD, 반사 방지). 샷 노이즈 제한 영역에서 유일한 해법이다.
- 노이즈 바닥을 낮춘다. 높은 CG(작은 C_FD, DCG의 고이득 모드), CDS, 전하 비닝, 필요한 만큼의 아날로그 게인으로 뒷단 노이즈를 묻는다.
- 암전류를 억제한다. 센서 온도 관리, 긴 노출에서는 다크 프레임 차감.
- 여러 프레임을 합친다. 스마트폰의 야간 모드처럼 N장을 정렬·평균하면 시간적 노이즈가 \(\sqrt{N}\)배 줄어든다. 단, 매 프레임마다 읽기 노이즈가 더해지므로 극저조도에서는 긴 노출 한 장보다 불리할 수 있다(디지털 비닝과 같은 논리).
- 영상처리로 다듬는다. 공간·시간 노이즈 제거(9장). 단, 제거는 디테일을 함께 지우므로 원천 SNR이 높을수록 좋다.
핵심 정리
- 노이즈는 시간적(샷, 암전류 샷, 읽기, 양자화)과 고정 패턴(DSNU, PRNU, 컬럼 FPN)으로 나뉜다. 독립 노이즈는 분산이 더해진다: \(\sigma_{tot} = \sqrt{\sum\sigma_i^2}\).
- 광자 샷 노이즈는 \(\sqrt{S}\)로, 샷 제한 SNR은 \(\sqrt{S}\)다. 없앨 수 없는 근본 한계이므로 광자를 더 모으는 것이 최선이다.
- 암전류는 대략 6~8 °C마다 두 배(활성화 에너지 ≈ E_g/2~0.7 eV)이며, 평균은 보정할 수 있지만 샷 노이즈 \(\sqrt{Dt}\)는 남는다.
- 읽기 노이즈는 주로 SF의 열잡음·1/f·RTS 노이즈이며 \(\sigma_r = v_n/CG\). 양자화 노이즈는 \(K/\sqrt{12}\)이므로 1 LSB를 읽기 노이즈 이하로 설계한다.
- \(\mathrm{SNR} = S/\sqrt{S + Dt + \sigma_r^2 + (PS)^2}\): log–log에서 기울기 1(읽기 제한) → ½(샷 제한) → 0(PRNU 제한) → 풀웰에서 끝.
- DR = 20 log(FWC/σ_floor). FWC 6000 e⁻, σ_r 1.5 e⁻ → 72 dB ≈ 12 stops. 최대 SNR ≈ √FWC.
- 2×2 비닝은 샷 제한에서 +6 dB, 읽기 제한에서 전하 비닝 +12 dB / 디지털 비닝 +6 dB.
- PTC(평균–분산)의 기울기는 1/K, 절편은 읽기 노이즈², 무릎은 풀웰. 두 프레임의 차이를 쓰면 FPN이 제거된다(EMVA 1288).
- 아날로그 게인은 신호를 늘리지 않는다. 뒷단 노이즈를 상대적으로 줄여 저조도 SNR을 조금 개선하지만 DR을 희생한다.
확인 퀴즈
1. 읽기 노이즈와 암전류를 무시할 때, 10,000 e⁻을 모은 픽셀의 SNR은?
2. 풀웰 10,000 e⁻, 노이즈 바닥 2 e⁻인 센서의 다이내믹 레인지는?
3. 암전류가 8 °C마다 두 배가 되는 센서의 온도가 16 °C 올라가면 암전류 샷 노이즈는?
4. PTC의 평균(DN)–분산(DN²) 그래프 선형 구간의 기울기는 무엇을 뜻하는가?
5. 어두운 장면에서 ISO(아날로그 게인)를 4배 올렸을 때 옳은 설명은?