이산 웨이블릿 변환

이산 웨이블릿 변환(Discrete Wavelet Transform, DWT)은 신호·영상·데이터 등을 다중 해상도(multi‑resolution) 형태로 분석하기 위해 사용되는 수학적 변환이다. 연속적인 시간·주파수 특성을 가진 연속 웨이블릿 변환(Continuous Wavelet Transform, CWT)을 이산적인 표본화 과정을 통해 구현한 것으로, 입력 신호를 저주파 성분(approximation coefficients)과 고주파 성분(detail coefficients)으로 분해한다.

정의 및 수학적 표현

이산 웨이블릿 변환은 일반적으로 스케일링 함수 ϕ(t)와 웨이블릿 함수 ψ(t) 를 사용하여 다음과 같이 정의된다.

  • 스케일링 계수
    $$ a_{j,k}= \sum_{n} x[n]; \phi_{j,k}[n] \quad (\phi_{j,k}[n]=2^{-j/2}, \phi(2^{-j}n-k)) $$

  • 디테일 계수
    $$ d_{j,k}= \sum_{n} x[n]; \psi_{j,k}[n] \quad (\psi_{j,k}[n]=2^{-j/2}, \psi(2^{-j}n-k)) $$

여기서 $x[n]$은 이산 신호(또는 영상)의 샘플값, $j$는 스케일(레벨), $k$는 위치 인덱스를 나타낸다. 변환 과정에서는 일반적으로 필터 뱅크(filter bank) 구조가 사용되며, 저역통과 필터 $h[n]$와 고역통과 필터 $g[n]$를 통해 연속적인 다운샘플링(줄바꿈) 단계가 반복된다.

알고리즘

대표적인 구현 방법은 말라(Mallat) 알고리즘으로, 다음과 같은 단계로 구성된다.

  1. 입력 신호에 저역통과 필터 $h[n]$와 고역통과 필터 $g[n]$를 각각 컨볼루션한다.
  2. 각 컨볼루션 결과를 2씩 다운샘플링한다(즉, 짝수 인덱스만 선택).
  3. 다운샘플링된 저역통과 결과를 다음 레벨의 입력으로 사용하고, 고역통과 결과는 디테일 계수로 저장한다.
  4. 원하는 레벨까지 반복한다.

이 과정은 역변환(Inverse DWT)에서도 동일한 필터와 업샘플링을 이용해 원본 신호를 복원한다.

주요 특성

특성 설명
다중 해상도 분석 높은 레벨에서는 저주파(큰 스케일) 정보를, 낮은 레벨에서는 고주파(작은 스케일) 정보를 제공
에너지 보존 정상 직교(orthogonal) 혹은 비직교(biorthogonal) 웨이블릿을 사용하면 변환 전후 에너지(ℓ₂ 노름)가 동일
희소성(sparsity) 많은 자연 신호·영상에서 대부분의 디테일 계수가 0에 가깝게 나타나 압축에 유리
시간·주파수 국소성 웨이블릿은 제한된 시간 구간에 국한된 주파수 대역을 표현, 급격한 변화를 효과적으로 포착

대표적인 웨이블릿 계열

  • 하르(haar) 웨이블릿: 가장 간단한 직교 웨이블릿, 계단형 스케일링·웨이블릿 함수.
  • 다베시(Daubechies) 웨이블릿: $N$개의 소수점 없는 계수를 갖는 직교 웨이블릿 군, 일반적으로 D4, D6 등으로 표기.
  • 시그마(Symlet) 웨이블릿: 다베시 웨이블릿을 대칭화한 형태.
  • 코이프레트(Coiflet) 웨이블릿: 높은 차수의 순간(moment) 소거 특성을 가짐.
  • 바이오쏘레트(biorthogonal) 웨이블릿: 분석·합성 필터가 서로 다른 정규성을 갖으며, 선형 위상(linear phase) 특성이 요구되는 영상 처리에 활용.

적용 분야

  • 신호·영상 압축: JPEG 2000 이미지 표준, MPEG‑4 비디오 코덱 등에서 기본 코덱으로 사용.
  • 노이즈 제거(디노이징): 소프트·하드 임계값(thresholding) 기법과 결합하여 고주파 노이즈를 억제.
  • 특징 추출: 패턴 인식, 음성 인식, 의료 영상(예: EEG, MRI)에서 시간·주파수 특징을 추출.
  • 데이터 분석: 금융 시계열, 지진파형 등 비정상적 변동을 감지하는데 활용.
  • 수치 해석: 다중 해상도 방법(Multiresolution analysis) 기반의 편미분 방정식(PDE) 해석 등.

구현 및 표준

다양한 프로그래밍 라이브러리와 툴킷에서 이산 웨이블릿 변환을 지원한다.

  • MATLAB: wavedec, waverec 함수 등 Wavelet Toolbox 제공.
  • Python: PyWavelets(pywt) 패키지에서 dwt, idwt, wavedec 등 제공.
  • C/C++: OpenCV, FFTW와 연계된 웨이블릿 모듈, 웨이블릿 툴킷(Wavelet Toolbox) 등.

참고 문헌

  1. Mallat, S. (1999). A Wavelet Tour of Signal Processing. Academic Press.
  2. Daubechies, I. (1992). Ten Lectures on Wavelets. SIAM.
  3. Strang, G., & Nguyen, T. (1996). Wavelets and Filter Banks. Wellesley‑Cambridge Press.

본 항목은 2026년 현재까지 확인된 학술·기술 자료를 기반으로 작성되었으며, 추가적인 최신 연구 결과에 따라 세부 내용이 변동될 수 있다.

둘러보기

더 찾아볼 만한 주제