왜 벽돌담이 물결무늬로 찍히는가 — 샘플링과 리컨스트럭션
지난 시간까지 푸리에 변환과 DFT를 배웠습니다. 이번 시간은 그 지식을 바탕으로 샘플링과 리컨스트럭션을 주파수 도메인에서 이론적으로 이해하는 시간이었습니다. 핵심 질문은 하나입니다 — 디지털로 바꿨다가 다시 되돌릴 때, 원래 신호를 완벽하게 복원할 수 있는가? 답은 “조건이 있다”이고, 그 조건이 Nyquist-Shannon 샘플링 정리입니다.
01샘플링과 리컨스트럭션 — 전체 그림
카메라에서 벌어지는 일
여기서 디지타이제이션 = 샘플링 + 양자화(Quantization)로 요약됩니다.
| 과정 | 방향 | 의미 |
|---|---|---|
| 샘플링 (Sampling) | Continuous → Discrete | 연속적인 입력을 이산 데이터로 바꾸는 과정 |
| 리컨스트럭션 (Reconstruction) | Discrete → Continuous | 이산 데이터를 다시 연속 신호로 되돌리는 과정 |
1차원으로 보면 — 샘플링 주기
샘플링은 연속 데이터를 일정한 간격으로 찍어내는 것이고, 그 간격을 샘플링 주기(Sampling Period)라고 부릅니다.
→ 총 100개의 샘플이 나온다
음성으로 이해하면 더 쉽다
즉 디지털 처리 시스템은 맨 앞에 샘플링, 맨 뒤에 리컨스트럭션이 놓인 구조입니다. 오늘 배울 것은 이 두 과정이 주파수 도메인에서 어떤 일을 벌이는가, 그리고 어떻게 해야 바람직한가입니다.
02Aliasing — 샘플이 모자라면 벌어지는 일
사인파를 듬성듬성 찍으면
샘플링을 충분히 하지 못해서 발생하는, 우리가 원하지 않는 다른 주파수의 신호가 나오는 현상 — 그것을 Aliasing이라고 부릅니다.
2차원에서는 — 모아레 패턴
그런데 이것을 고화질이 아닌 저화질 카메라로 찍으면 — 즉 샘플링 주파수가 부족하면 — 사진에 원래 없던 물결무늬 패턴이 나타납니다. 이것이 2차원 영상에서의 Aliasing이고, 다른 이름으로 모아레(Moiré) 패턴이라고 부릅니다.
03주파수 도메인에서 본 샘플링 — 무한히 반복되는 스펙트럼
샘플링을 수식으로 모델링하면
연속 영상을 fi(x,y)라고 합시다 (아래첨자 i는 ideal — 처음부터 존재하는 이론적인 연속 장면). 샘플링은 여기에 샘플링 함수를 곱하는 것으로 모델링됩니다.
→ x 방향으로 Δx, y 방향으로 Δy 만큼 규칙적으로 떨어진
무한히 많은 델타 함수들의 모임
fs(x,y) = fi(x,y) × s(x,y)
곱셈이 컨볼루션으로 — Multiplication Property
공간 영역에서의 곱은 주파수 영역에서 컨볼루션입니다. 그런데 여기서 재미있는 점은 — 샘플링 함수의 푸리에 변환도 역시 델타 함수들의 모임이라는 것입니다. 다만 도메인이 주파수로 바뀌었을 뿐이죠.
| 공간 영역 | 주파수 영역 | |
|---|---|---|
| 샘플링 함수 | Δx, Δy 간격의 델타 함수 모임 (샘플링 주기) | ωxs, ωys 간격의 델타 함수 모임 (샘플링 주파수) |
| 연산 | 곱셈 (×) | 컨볼루션 (∗) |
Band-limited 신호와 그 결과
자연적인 신호들은 대부분 Band-limited되어 있습니다 — 어떤 Cut-off Frequency 이상에서는 에너지가 없다는 뜻입니다.
04리컨스트럭션 = 저역통과 필터링
샘플링으로 스펙트럼이 무한 반복된 상태입니다. 여기서 원래 신호를 되찾으려면 어떻게 할까요? 답은 간단합니다.
리컨스트럭션이 뭡니까? 그냥 Low-pass Filtering이다 — 이렇게 얘기하면 되겠어요. 베이스밴드에 있는 것만 패스시켜 주고 나머지는 다 0으로 만들어 주는 거니까요.
05Nyquist-Shannon 샘플링 정리 — 조건이 있다
샘플링 주파수(ωs)가 Cut-off 주파수(ωc)의 2배 이상이어야
Aliasing이 발생하지 않는다
왜 2배인가 — 그림으로
이 정리를 주장한 나이퀴스트(Nyquist)와 섀넌(Shannon)의 이름을 따 Nyquist-Shannon 샘플링 정리라고 부릅니다.
06Anti-aliasing — 미리 고주파를 날린다
두 가지 해결책
| 방법 | 내용 | 현실성 |
|---|---|---|
| ① 샘플링 주파수를 키운다 | 더 높은 해상도로 샘플링 | 비현실적 — 아래 참고 |
| ② Low-pass Filtering | 샘플링 이전에 고주파를 미리 제거 | 실용적 — 실제로 쓰는 방법 |
카메라로 찍는데 Aliasing이 자꾸 생겨서 어떻게 해야 하냐고 물어봤더니 '더 좋은 카메라 사'라고 말하는 것 같습니다. 천만 원짜리 가지고 있으면 2천만 원짜리 사, 5천만 원짜리 사 — 그건 쉽지가 않잖아요.
Anti-aliasing Filter의 원리
07Low-pass Filter를 실제로 어떻게 구현하나
Ideal Filter는 구현이 불가능하다
⇓ 공간 영역으로 역변환
Sinc 함수 — 진폭이 줄어들며 무한히 반복되는 함수
Moving Average — 가장 단순한 대체
아이러니하게도, Sinc 함수를 단순화한 결과는 다시 Rectangle 함수입니다. 주파수 도메인의 Rectangle을 공간 영역의 Rectangle로 바꿔 쓰는 셈이죠.
| 필터 | 가중치 | 특징 |
|---|---|---|
| Box Filter | 모두 동일 (1,1,1 / 1,1,1 / 1,1,1) | 단순 평균 — 구현이 가장 쉬움, 결과가 다소 둔탁 |
| Gaussian Filter | 중심이 가장 크고, 멀수록 작게 | Sinc 함수를 더 잘 모사 → 더 자연스러운 스무딩 |
2D 컨볼루션 — 직접 계산해보기
0 → 10 → 20 → 30 → 40 → … → 90
급격한 경계가 서서히 변하는 완만한 경사로 바뀜 = 스무딩
실제 영상으로 확인
고주파를 날렸으니 블러는 어쩔 수 없는 대가입니다. 하지만 Aliasing은 발생하지 않습니다.
08리샘플링(Resampling) — 해상도 변환
지금까지는 연속 신호를 처음 샘플링하는 이야기였습니다. 이제 이미 샘플링된 디지털 신호를 다시 샘플링하는 경우를 봅니다. 이것을 리샘플링 또는 Resolution Conversion이라고 합니다.
리샘플링의 두 단계
예) 원래 5개의 샘플만 있었는데, 연속 신호로 복원한 뒤 7개 위치에서 다시 샘플링 → 더 촘촘한, 더 큰 영상을 얻음.
09보간법(Interpolation) — Sinc 함수를 흉내 내는 진화 과정
① Sample and Hold — Rectangle
둔탁하지만 적어도 점과 점 사이를 이어주는 역할은 합니다. 이것을 Sample and Hold 또는 Zeroth Order 보간이라고 부릅니다.
② Bilinear Interpolation — Triangle
1차원에서는 Linear Interpolation, 2차원 영상에서 x · y 양방향으로 적용하면 Bilinear Interpolation입니다. 계단 형태보다 훨씬 부드럽습니다.
값 = (1-t) · f(xk) + t · f(xk+1)
→ 아주 심플한 내분(내적) 계산
③ 더 진화시키면 — B-spline의 차수
그러면 보간한 곡선이 원래 샘플 위치를 정확히 지나가지 못합니다. 원래 값이 보존되지 않는 것이죠. 그래서 별도의 스케일링 전처리가 필요하다는 단점이 있습니다.
④ Cubic Convolution — 그 단점을 극복하다
실제 보간 시에는 주변 4개 정도의 샘플을 사용해 계산합니다. 인터폴레이션에서 가장 자주 쓰이는 필터 중 하나입니다.
보간법 정리
| 방법 | 기저 함수 | 결과 | 원본 보존 |
|---|---|---|---|
| Sample & Hold | Rectangle (0차) | 계단 형태, 둔탁 | ✓ |
| Bilinear | Triangle (1차) | 직선 연결, 부드러움 | ✓ |
| Second / Third Order | Rect 3~4개 컨볼루션 | 더 부드러운 곡선 | ✗ (스케일링 필요) |
| Cubic Convolution | 3차 함수 (α=-0.5 등) | 부드럽고 자연스러움 | ✓ (가장 실용적) |
| Ideal | Sinc | 완벽한 복원 | 구현 불가 |
10마무리 정리
이번 강의에서 가장 인상 깊었던 것은 Aliasing이 ‘스펙트럼이 겹치는 현상’이라는 설명이었습니다. 사진에 물결무늬가 생기는 것을 그동안 막연히 ‘해상도가 부족해서’라고만 알고 있었는데, 샘플링이 스펙트럼을 주기적으로 복제하고 그 복제본들이 서로 침범하는 그림을 보니 왜 한 번 생기면 되돌릴 수 없는지가 명확해졌습니다. 겹친 뒤에는 어떤 필터로도 분리할 수 없으니까요.
또 하나는 Anti-aliasing의 역설이었습니다. 깨끗한 결과를 얻기 위해 일부러 정보를 먼저 버린다는 것 — 블러를 감수하고 고주파를 날려야 지저분함이 생기지 않습니다. 영상을 축소할 때 눈으로는 멀쩡해 보이던 것이 확대하니 완전히 다르게 보이던 비교 샷이 특히 설득력 있었습니다.
마지막으로 보간법의 진화 과정이 하나의 이야기로 읽혔습니다. 이상적인 답(Sinc)은 무한해서 구현할 수 없고, 그래서 사각형 하나에서 출발해 겹치고 또 겹치며 점점 그 모양에 다가갑니다. 그러다 2차 이상에서 원본 값이 보존되지 않는 문제를 만나고, 그것을 해결한 것이 Cubic Convolution이죠. 완벽한 해법에 도달할 수 없을 때 공학이 어떻게 타협점을 찾아 나가는가를 보여주는 좋은 사례였습니다.
※ 이번 회차는 동영상 강의로 진행되어 별도 배포 자료가 없었기에, 강의 내용을 기준으로 정리했습니다.
'인하대학교 공학대학원(인공지능융합전공) > 영상처리' 카테고리의 다른 글
| 미분으로 디테일을 살리고, 주파수에서 걸러 낸다 — 샤프닝과 주파수 영역 필터링 (0) | 2026.10.15 |
|---|---|
| Image Enhancementin the Spatial Domain (0) | 2026.10.08 |
| 이산 푸리에 변환(DFT) (0) | 2026.09.23 |
| Frequencydomainanalysisand FourierTransform (0) | 2026.09.15 |
| Lecture 1 Basics & Image Acquisition (1) | 2026.09.11 |