Chapter 08

셔터와 HDR

CMOS 센서에는 기계식 셔터가 없어도 된다. 픽셀을 비우고(리셋) 빛을 모은 뒤(적분) 읽어 내는 타이밍이 곧 셔터다. 이 장에서는 그 타이밍이 만드는 롤링 셔터 왜곡과 플리커, 이를 없애는 글로벌 셔터, 그리고 한 장면의 밝기 차가 센서 능력을 넘어설 때 쓰는 여러 HDR 기술을 다룬다.

노출이란: 리셋 → 적분 → 읽기

필름 카메라에서 노출은 셔터 막이 열려 있는 시간이다. CMOS 이미지 센서에서는 셔터 막 대신 픽셀 트랜지스터의 타이밍이 노출을 정의하는데, 이를 전자 셔터(Electronic Shutter)라 한다. 4T 픽셀 하나의 노출은 세 단계다.

  1. 리셋(Reset): 전송 게이트(TX)와 리셋 트랜지스터(RST)를 함께 켜서 포토다이오드(PD)에 남은 전하를 모두 비운다. 이 순간이 노출의 시작이다.
  2. 적분(Integration): TX를 끈 채로 PD가 광전자를 모은다. 모인 전자 수 \(N_e = \Phi\cdot\eta\cdot A\cdot t_{\text{int}}\) (광자 선속 밀도 × 양자효율 × 면적 × 시간).
  3. 읽기(Readout): 플로팅 디퓨전(FD)을 리셋하고 그 레벨을 먼저 샘플링한 뒤, TX를 켜 전하를 FD로 옮기고 신호 레벨을 샘플링한다(CDS). TX가 꺼지는 순간이 노출의 끝이다.
RST TX PD 전하 SHR SHS 노출(적분) 시간 t_int ① PD 리셋 ② 광전자 적분 ③ 전송·읽기
그림 8-1. 4T 픽셀의 노출. 첫 TX 펄스(PD 리셋)가 끝나는 순간부터 읽기 때의 TX 펄스가 끝나는 순간까지가 노출 시간이다. SHR/SHS는 CDS의 리셋·신호 샘플링 시점.

전자 셔터는 기계 셔터와 달리 마모가 없고 1/100,000초 같은 초단 노출도 쉽다. 하지만 모든 픽셀이 같은 시각에 리셋·읽기될 수는 없다. 컬럼 ADC가 한 번에 한 행(또는 몇 행)만 변환하기 때문이다. 이 제약에서 롤링 셔터가 나온다.

롤링 셔터: 행마다 다른 순간

롤링 셔터(Rolling Shutter) 센서는 맨 윗행부터 한 행씩 차례로 리셋하고, 정확히 노출 시간 \(t_{\text{exp}}\) 뒤에 같은 순서로 읽는다. 모든 행의 노출 길이는 같지만 노출 시점은 한 행마다 행 시간(Line Time, 1H) \(t_{\text{line}}\)씩 밀린다. 행 수가 \(N_{\text{row}}\)이면 첫 행과 마지막 행 사이의 시간 차가 프레임 판독 시간이다.

$$T_{\text{readout}} = N_{\text{row}}\cdot t_{\text{line}}, \qquad t_{\text{start}}(r) = t_0 + r\,t_{\text{line}}$$
예: 12 MP(4000 × 3000), \(t_{\text{line}} = 10\) µs → \(T_{\text{readout}} = 30\) ms. 적층형 고속 센서는 수 µs 이하로 줄여 5 ms 안팎까지 단축한다.
행 0 행 N 시간 → t_exp T_readout 리셋(셔터) 읽기 프레임 1 프레임 2 행 r의 노출 구간
그림 8-2. 롤링 셔터 타이밍 차트. 초록선(리셋)과 빨간선(읽기)이 같은 기울기로 내려가며, 두 선 사이의 평행사변형이 각 행의 노출 구간이다. 기울기 = 행 시간.

장면이 정지해 있으면 아무 문제가 없다. 그러나 판독 시간 동안 물체나 카메라가 움직이면 윗행과 아랫행이 서로 다른 순간의 장면을 담아 왜곡이 생긴다.

계산 예: 차창 밖 전봇대

시속 100 km 차 안에서 10 m 떨어진 전봇대를 f = 4.3 mm, 1 µm 픽셀 카메라로 찍는다. 각속도 ≈ 27.8/10 = 2.78 rad/s, 상면 이동 속도 = 2.78 × 4.3 mm = 11.9 mm/s = 11,900 픽셀/s. 판독 30 ms 동안 약 360 픽셀 밀리므로, 3000행 높이의 전봇대가 약 \(\arctan(360/3000) \approx 7°\) 기울어진다.

SIMULATOR

롤링 셔터 vs 글로벌 셔터: 행 단위로 쌓이는 영상

장면
셔터 방식
판독 시간 (3000행)—
판독 중 이동—
노출 중 블러—
재생 배속—
왼쪽: 실제 장면(슬로 모션)과 셔터 위치 — 초록선은 리셋, 빨간선은 읽기, 그 사이 음영이 지금 노출 중인 행들. 오른쪽: 센서가 읽어 낸 영상이 한 행씩 쌓인다. 아래: 행–시간 타이밍 차트. 해볼 것: 롤링에서 행 시간을 40 µs로 늘려 프로펠러가 어떻게 휘는지 보고, 글로벌로 바꿔 같은 조건에서 비교하자. 노출 시간을 늘리면 두 방식 모두 모션 블러가 생긴다.

글로벌 셔터: 모든 픽셀을 같은 순간에

글로벌 셔터(Global Shutter, GS)는 모든 픽셀의 노출을 동시에 시작하고 동시에 끝낸다. 판독은 여전히 한 행씩 진행되므로, 노출이 끝난 전하를 읽힐 차례가 올 때까지 픽셀 안에 잠시 보관할 장소가 필요하다. 전하 영역 GS는 PD 옆에 빛을 가린 메모리 노드(Storage Diode / Memory Node, MN)를 두고, 모든 픽셀이 동시에 PD → MN 전송(TX1)을 한 뒤 행 순서대로 MN → FD(TX2)로 읽는다.

전하 영역 GS 픽셀 (개략) PD TX1 MN 차광막 TX2 FD → SF · SEL 누설광 → PLS ① 전 화소 동시 리셋 ② 노출 후 전 화소 동시 TX1 (PD→MN) ③ 행마다 TX2 (MN→FD) 후 읽기 글로벌 셔터 타이밍 0N 노출 순차 읽기 MN 대기 시간 시간 →
그림 8-3. 전하 영역 글로벌 셔터. 노출 구간이 수직 직사각형이라 행 사이 시간 차가 없다. 대신 아래쪽 행일수록 전하가 메모리 노드에서 오래 기다리며, 그동안 스며드는 빛(PLS)과 암전류가 오차가 된다.

동시 노출의 대가는 여럿이다.

항목롤링 셔터글로벌 셔터
행 간 시간 차\(t_{\text{line}}\)씩 누적 (수~수십 ms)없음
픽셀 트랜지스터4T (공유 시 1.5~2T/픽셀)5T~8T + 메모리
최소 피치(상용)~0.56 µm~2.2 µm (적층 DPS는 더 작게)
읽기 노이즈~1~2 e⁻~2~5 e⁻ (구조에 따라)
주 용도스마트폰, 카메라머신 비전, 차량 DMS, AR/VR 트래킹, 바코드
적층 픽셀 병렬 ADC

픽셀 층과 로직 층을 Cu–Cu 하이브리드 본딩으로 픽셀 단위 연결하면, 픽셀(또는 작은 픽셀 블록)마다 ADC를 두어 모든 픽셀을 동시에 디지털화할 수 있다. 메모리 노드에서 오래 기다릴 필요가 없어 PLS 문제가 줄고, 매우 빠른 GS가 가능하다.

플리커: 조명의 깜박임과 롤링 셔터 띠

교류 전원(50 Hz 또는 60 Hz)으로 켜는 조명은 전류의 절댓값을 따라 밝기가 변한다. 전압이 \(\sin(2\pi f t)\)이면 광출력은 대략 \(\sin^2\)에 비례하므로 밝기 변화는 2배 주파수, 즉 100 Hz(50 Hz 지역) 또는 120 Hz(60 Hz 지역)다. 형광등과 저가 LED 드라이버는 변조 깊이가 크고, 백열등은 필라멘트의 열관성 때문에 작다.

$$L(t) = \bar L\,\bigl[1 + m\cos(2\pi\cdot 2f\cdot t)\bigr],\qquad S(r) = \frac{1}{t_{\text{exp}}}\int_{t_r}^{t_r+t_{\text{exp}}} L(t)\,dt$$
\(m\): 변조 깊이, \(t_r = t_0 + r\,t_{\text{line}}\). 롤링 셔터에서 행마다 적분 구간의 위상이 달라 \(S(r)\)이 행에 따라 사인 모양으로 변한다 → 가로 띠(Banding).

적분하면 띠의 진폭은 \(m\,|\mathrm{sinc}(2f\,t_{\text{exp}})|\) (\(\mathrm{sinc}\,x = \sin\pi x/\pi x\))로 줄어든다. 따라서 노출 시간을 밝기 주기 \(1/(2f)\)의 정수배로 맞추면 모든 행이 정확히 같은 양의 빛을 받아 띠가 사라진다.

$$t_{\text{exp}} = \frac{n}{2f}\quad (n = 1,2,3,\dots)\qquad\Rightarrow\qquad 50\ \text{Hz}: 10, 20, 30\ \text{ms},\quad 60\ \text{Hz}: 8.33, 16.7, 25\ \text{ms}$$
띠의 주기(행 수)는 \(1/(2f\,t_{\text{line}})\): 100 Hz, \(t_{\text{line}}\)=10 µs면 1000행마다 한 줄. 밝은 야외처럼 10 ms보다 짧은 노출이 필요하면 이 해법을 쓸 수 없어, 센서는 플리커 검출 후 노출을 제한하거나 ISP에서 보정한다.
SIMULATOR

조명 플리커와 롤링 셔터 띠

조명
밝기 변화 주파수—
띠 주기—
띠 대비—
가까운 무플리커 노출—
위 왼쪽: 흰 벽을 찍은 영상(3000행). 위 오른쪽: 행별 평균 밝기. 아래: 조명 밝기 파형과 세 행(맨 위·가운데·맨 아래)의 노출 구간. 해볼 것: 50 Hz에서 노출을 10 ms로 맞추면 띠가 사라진다. 그 상태에서 60 Hz로 바꾸면? 30 fps 영상에서는 프레임 주기와 조명 주기가 맞지 않아 띠가 위아래로 흐른다.
LED 플리커와 자동차

신호등·차량 LED는 수백 Hz PWM으로 켜진다. 노출이 짧은 HDR 프레임이 LED의 꺼진 구간에 걸리면 신호등이 꺼진 것처럼 찍힌다. 자동차 센서는 이 LFM(LED Flicker Mitigation)을 위해 PWM 주기(예: 90 Hz → 11 ms)보다 긴 노출을 유지하면서도 포화되지 않도록 분할 픽셀이나 LOFIC을 쓴다.

다이내믹 레인지와 HDR의 필요성

센서가 한 장에 담을 수 있는 밝기 범위, 즉 다이내믹 레인지(Dynamic Range, DR)는 가장 큰 신호(풀웰 용량)와 가장 작은 구분 가능한 신호(읽기 노이즈 바닥)의 비다.

$$\mathrm{DR} = 20\log_{10}\frac{N_{\text{FWC}}}{\sigma_{\text{read}}}\ \text{[dB]},\qquad 1\ \text{stop} = 20\log_{10}2 = 6.02\ \text{dB}$$
예: 풀웰 6000 e⁻, 읽기 노이즈 2 e⁻ → 69.5 dB ≈ 11.5 stop. 1 µm급 모바일 픽셀은 60~72 dB가 일반적이다.

그런데 실제 장면은 훨씬 넓다. 햇빛 드는 창밖 하늘은 수천~수만 cd/m², 같은 방 안 그늘진 구석은 1 cd/m² 안팎이어서 한 프레임 안의 휘도 차가 10⁵(100 dB)를 쉽게 넘는다. 터널 출구, 역광 인물, 야간 헤드라이트는 120 dB(10⁶ : 1, 20 stop)에 이른다. 센서 DR보다 넓은 부분은 밝은 쪽이 포화(Clipping)되거나 어두운 쪽이 노이즈에 묻힌다. 이를 해결하는 기술이 HDR(High Dynamic Range)이다.

10⁻²110²10⁴10⁶ 휘도 (cd/m², 로그 눈금) 그늘진 구석 실내 벽 창밖 하늘 태양 반사 역광 실내 장면 ≈ 100~120 dB 센서 단일 노출 ≈ 70 dB 노이즈에 묻힘 포화
그림 8-4. 장면 휘도 범위(보라)와 센서 한 번 노출이 담는 범위(파랑). 노출을 조절하면 파란 창을 좌우로 옮길 수 있을 뿐 넓힐 수는 없다.

HDR 방식들

DR을 넓히는 길은 둘이다. 밝은 쪽의 포화를 늦추거나(더 많은 전하를 담거나 감도를 낮춘 채널), 어두운 쪽 노이즈를 낮추는 것. 실제 HDR 센서는 서로 다른 감도의 신호를 두 개 이상 얻어 합친다. 감도 비가 \(R\)이면 확장된 DR은 대략

$$\mathrm{DR}_{\text{HDR}} \approx \mathrm{DR}_{\text{single}} + 20\log_{10}R$$
예: 70 dB 센서에 노출비 16을 쓰면 +24 dB → 약 94 dB. 대신 전환점에서 SNR이 \(\sqrt{R}\)배(=12 dB) 떨어지는 'SNR 딥'이 생긴다.

시간 분할: 다중 노출 합성

순차 프레임 방식은 긴 노출 프레임과 짧은 노출 프레임을 번갈아 찍어 합친다. 가장 간단하지만 두 프레임 사이 시간 차(한 프레임 주기, 수십 ms)가 커서 움직이는 물체에 고스트가 심하다. 스태거드 HDR(Staggered HDR, Sony 명칭 DOL: Digital Overlap)은 한 프레임 안에서 긴 노출 행과 짧은 노출 행을 교대로(Line-Interleaved) 읽어, 두 노출 사이 간격을 수 ms 이하로 줄인다.

순차 프레임 HDR Long Short 시간 차 ≈ 1프레임 스태거드(DOL) HDR Long Short 간격 ≈ 수 행 ~ 수 ms
그림 8-5. 순차 프레임 HDR(왼쪽)은 Long·Short 사이 시간 차가 한 프레임이지만, DOL(오른쪽)은 Long 읽기 선 바로 뒤를 Short 읽기 선이 따라가며 한 행 단위로 번갈아 출력한다.

공간·회로 분할: 한 번의 노출로 두 감도

DCG PD FD DCG C_DCG off: HCG (저노이즈) on: LCG (큰 용량) 분할 픽셀 LPD SPD 큰 PD: 고감도 작은 PD: 저감도 (1/10~1/100) 동시 노출 → LFM 유리 LOFIC PD overflow C_LOFIC 넘친 전하를 대용량 커패시터에 적분 → 120 dB+
그림 8-6. 단일 노출 HDR 픽셀. DCG는 FD 용량을, 분할 픽셀은 감도를, LOFIC은 전하 저장 용량을 두 갈래로 나눈다.
방식원리DR 확장모션 아티팩트단점
순차 다중 노출프레임마다 노출 바꿈큼 (노출비로 조절)심함프레임률 저하, 고스트
스태거드 / DOL한 프레임 안에서 행 교대큼 (노출비 ~16~64)작음 (ms 간격)라인 메모리, 짧은 노출 SNR·LED 플리커
DCGFD 용량 전환, 두 번 읽기중간 (+12~18 dB)없음PD 풀웰 한계, 읽기 시간 증가
분할 픽셀큰/작은 PD큼 (+20~40 dB)거의 없음작은 PD 노이즈·감도 비 보정, 픽셀 복잡
LOFIC오버플로 커패시터매우 큼 (120 dB+)없음커패시터 면적, 암전류·kTC

HDR 합성과 톤 매핑

긴 노출 신호 \(S_L\)(시간 \(t_L\))과 짧은 노출 신호 \(S_S\)(시간 \(t_S = t_L/R\))를 얻었다고 하자. 각 신호를 노출 시간으로 나누면 같은 물리량, 즉 장면 조도(Radiance)의 추정치가 된다. 포화된 값은 버리고, 남은 추정치를 신뢰도로 가중 평균하면 HDR 방사 휘도 맵(Radiance Map)을 얻는다.

$$\hat E(x) = \frac{\sum_i w_i(x)\,S_i(x)/t_i}{\sum_i w_i(x)},\qquad w_i \propto t_i\cdot h\!\left(\frac{S_i}{N_{\text{FWC}}}\right)$$
\(h\)는 포화 근처에서 0으로 떨어지는 모자(Hat) 함수. 샷 노이즈 한계에서 추정치의 분산은 \(E/t_i\)이므로 역분산 가중은 \(t_i\)에 비례한다 — 긴 노출을 쓸 수 있는 곳에서는 긴 노출을 믿는다.

합성된 방사 휘도 맵은 10⁵ : 1의 범위를 가지지만 모니터는 약 1000 : 1, 8비트 sRGB는 그보다 좁다. 넓은 범위를 좁은 표시 범위로 압축하는 과정이 톤 매핑(Tone Mapping)이다. 가장 유명한 전역 연산자인 Reinhard 톤 매핑은

$$L_m = \frac{a}{\bar L_w}\,L_w,\qquad \bar L_w = \exp\!\Big(\frac1N\sum\ln(\delta + L_w)\Big),\qquad L_d = \frac{L_m\,(1+L_m/L_{\text{white}}^2)}{1+L_m}$$
\(a\)(키, 보통 0.18)는 장면의 평균 밝기를 중간 회색에 맞추고, \(L/(1+L)\) 형태가 어두운 곳은 거의 선형으로, 밝은 곳은 부드럽게 압축한다. 실제 ISP는 영역별로 다른 곡선을 쓰는 로컬 톤 매핑을 함께 쓴다.
SIMULATOR

HDR 합성: 긴 노출 + 짧은 노출 → 방사 휘도 → 톤 매핑

합성 방식
톤 매핑
장면 DR—
단일 노출 DR—
합성 DR—
긴 노출 포화 화소—
전환점 SNR 딥—
센서 가정: 풀웰 10,000 e⁻, 읽기 노이즈 3 e⁻(단일 노출 DR 70.5 dB). 위 네 패널: 긴 노출(창밖 포화), 짧은 노출(그늘 노이즈), 합성 방사 휘도(로그 의사색), 톤 매핑 결과. 가운데 그래프: 장면 휘도에 대한 두 노출의 전자 수(전달 곡선). 아래 그래프: 톤 곡선. 해볼 것: R=1이면 합성해도 창밖이 살아나지 않는다. R을 키울수록 창밖이 살아나지만 전환점의 SNR 딥이 깊어진다. '임계값 전환'은 전환 경계에 노이즈 차이로 된 윤곽이 생긴다.

모션 아티팩트: 고스트

다중 노출 HDR의 가장 큰 약점은 두 노출이 다른 시각에 찍힌다는 점이다. 그 사이 물체가 움직이면, 합성기는 어떤 영역에서는 긴 노출을, 인접 영역에서는 짧은 노출을 가져오므로 물체가 두 곳에 반투명하게 겹치거나 윤곽이 끊긴다. 이것이 고스트(Ghost Artifact)다. 위 시뮬레이터에서 '두 노출 사이 공이 움직임'을 켜면, 밝은 창을 배경으로 한 곳에서 공이 짧은 노출 위치에 나타나고 실내 쪽에서는 긴 노출 위치에 나타나는 것을 볼 수 있다.

Long (t₀) — 창 포화 포화 Short (t₀+Δt) 합성 — 공이 둘 + → 창(포화) 영역에서는 Short를, 실내에서는 Long을 쓰므로 물체가 두 위치에 나타난다
그림 8-7. 고스트의 원리. 포화 여부로 노출을 고르는 합성은 움직이는 물체에서 두 시각의 영상을 이어 붙인다.

대책은 센서 단과 알고리즘 단 양쪽에 있다.

노출 사이 간격과 고스트 크기

상면에서 1000 픽셀/s로 움직이는 물체라면, 순차 프레임(33 ms 간격)은 33픽셀, DOL(예: 2 ms 간격)은 2픽셀의 어긋남을 만든다. DOL이 스마트폰 영상 HDR의 주력이 된 이유다.

핵심 정리

  1. 전자 셔터의 노출은 PD 리셋이 끝날 때부터 읽기 전송이 끝날 때까지다. 셔터 막이 아니라 픽셀 타이밍이 노출을 정한다.
  2. 롤링 셔터는 행마다 \(t_{\text{line}}\)씩 늦게 노출한다. 판독 시간 \(T = N_{\text{row}} t_{\text{line}}\) 동안의 움직임이 스큐·젤로·프로펠러 왜곡을 만든다.
  3. 글로벌 셔터는 모든 픽셀을 동시에 노출하고 차광된 메모리 노드에 보관한 뒤 순차로 읽는다. 대가는 PLS, 노이즈, 큰 픽셀 피치다.
  4. AC 조명은 2f(100/120 Hz)로 깜박이며, 롤링 셔터에서는 가로 띠가 된다. 노출을 \(n/(2f)\)로 맞추면 사라진다.
  5. DR = 20 log(FWC/읽기 노이즈). 단일 노출 ~70 dB로는 100~120 dB 장면을 담지 못한다.
  6. HDR: 순차·DOL 다중 노출(노출비 R로 +20 log R dB), DCG, 분할 픽셀, LOFIC(단일 노출, 모션 아티팩트 없음).
  7. 합성은 노출 시간으로 정규화한 추정치를 포화 제외·역분산 가중으로 평균하고, 톤 매핑(예: Reinhard)으로 표시 범위에 압축한다. 전환점에는 \(\sqrt R\)배 SNR 딥이 생긴다.
  8. 다중 노출의 시간 차는 고스트를 만든다. 간격 단축(DOL), 단일 노출 HDR 픽셀, 디고스팅 알고리즘으로 대응한다.

확인 퀴즈

Q1. 행 수 2000, 행 시간 15 µs인 롤링 셔터 센서의 판독 시간은?

\(T = 2000 \times 15\ \mu s = 30\) ms. 판독 시간은 노출 시간과 무관하며, 첫 행과 마지막 행의 노출 시작 시각 차이다.

Q2. 50 Hz 전원 지역의 형광등 아래에서 롤링 셔터 띠를 없애는 노출 시간은?

밝기는 전원 주파수의 두 배인 100 Hz로 변하므로 주기 10 ms의 정수배로 노출하면 모든 행의 적분량이 같아진다. 8.33 ms는 60 Hz 지역의 값이다. 짧은 노출은 오히려 띠 대비를 최대로 만든다.

Q3. 글로벌 셔터 픽셀의 '기생 광감도(PLS)'가 문제가 되는 이유는?

GS는 노출이 끝난 전하를 차광된 메모리 노드에 보관하는데, 아래 행일수록 오래 기다린다. 그동안 스며드는 빛·확산 전하가 오차가 되며, 밝은 물체가 움직이면 번짐으로 나타난다.

Q4. 풀웰 8000 e⁻, 읽기 노이즈 2 e⁻ 센서로 노출비 R = 32의 2중 노출 HDR을 만들면 확장 DR은 대략?

단일 DR = 20 log(8000/2) = 72 dB, 확장 = 20 log 32 = 30 dB → 약 102 dB. 전환점에서 SNR은 \(\sqrt{32}\approx5.7\)배(15 dB) 떨어진다.

Q5. 움직이는 장면에서 고스트가 원리적으로 가장 적은 HDR 방식은?

DCG와 LOFIC은 같은 노출 시간에 모인 같은 전하를 두 가지 이득(또는 용량)으로 읽으므로 두 신호 사이 시간 차가 없다. DOL은 간격이 짧을 뿐 0은 아니다.