Wavelet Packet 개요
Wavelet Packet의 정의 및 동기
Wavelet Packet은 이산 웨이블릿 변환에서 저주파 대역만 재귀적으로 세분화하던 기존 방식에서 더 나아가 고주파 대역까지 세분화하여 더욱 세밀한 주파수 해석을 가능하게 하는 기법이다. 기존의 이산 웨이블릿 변환은 저주파 대역에서만 반복 분해를 수행하지만, Wavelet Packet은 저주파와 고주파 대역을 모두 대상으로 동일한 수준의 세분화를 수행할 수 있다. 이를 통해 원하는 주파수 대역을 보다 정밀하게 분석하거나, 특정 응용에 적합한 트리 구조를 선택할 수 있게 된다.
시간-주파수 분석에서 Wavelet Packet은 다양한 스케일과 세분화 단계를 조합해 더욱 풍부한 정보 표현이 가능하다. 예를 들어, 신호에 다중 대역 관심 영역이 있거나, 특정 고주파 대역의 변화를 정교하게 관찰하고 싶을 때 Wavelet Packet이 매우 효율적이다. 연산량이 증가할 수 있다는 단점이 있지만, 분석 목적이나 신호 특성에 맞추어 적절히 트리 구조를 설계하면 원하는 해상도를 확보할 수 있다.
Wavelet Packet과 이산 웨이블릿 변환의 비교
Wavelet Packet은 이산 웨이블릿 변환과 같은 필터뱅크 구조를 기반으로 한다. 다만 분해 과정에서 고주파 성분 역시 다시 저주파와 고주파로 재귀 분해될 수 있다는 점이 크게 다르다. 이산 웨이블릿 변환에서는 분해 레벨이 올라갈수록 저주파 대역은 계속해서 더 낮은 주파수 대역으로 나뉘고, 고주파 대역은 고정된 채 남아 있게 된다. 반면 Wavelet Packet에서는 고주파 대역도 다시 저주파와 고주파로 세분화하므로, 특정 응용에서 고주파 영역을 정교하게 분석하고 싶을 때도 적절한 트리 구조를 제공한다.
Wavelet Packet과 이산 웨이블릿 변환의 공통점은 스케일과 시프트를 기반으로 시간-주파수 해상도를 조절한다는 것이다. 차이점은 이산 웨이블릿 변환이 제공하는 단일 경로(tree structure)만을 사용하는 것이 아니라, Wavelet Packet에서는 다양한 대역 조합(tree path)을 구성할 수 있다는 점이다. 이를 위해서는 각 레벨에서 분해할지 말지를 스스로 결정할 수 있어야 하며, 이 결정은 주로 분석하고자 하는 신호의 특성이나 목적에 따라 달라질 수 있다.
Wavelet Packet 트리 구조
Wavelet Packet 분해 과정은 대개 완전이진트리 형태의 계층적 분해를 구성한다. 맨 위 노드에는 원 신호가 위치하고, 그다음 레벨에선 해당 신호를 저주파 필터와 고주파 필터로 각각 분해한다. 그 결과 얻어지는 두 개의 하위 대역(저주파, 고주파)이 다시 각각 저주파·고주파 필터에 의해 재분해될 수 있다. 이 과정을 모든 레벨, 모든 대역에서 동일하게 수행함으로써, 각 레벨에서 가능한 모든 세분화 결과가 트리 형태로 표현된다.
원하는 주파수 대역별 분석이나 특정 패턴 검출을 위해, 트리 구조의 특정 경로만을 선택하거나 트리 가지치기를 수행할 수 있다. 이때 트리 구성 방법은 다양한 최적화 기준(예: 엔트로피 최소화, 에너지 집중도 등)에 따라 달라질 수 있으며, 분석 대상 신호의 특성에 맞춰 적절한 트리 구조를 찾는 것이 중요하다.
Wavelet Packet 계수와 필터뱅크 해석
Wavelet Packet은 이산 웨이블릿 변환에서 활용하는 필터뱅크 구조를 일반화하여, 모든 대역에 대해 동일한 재귀 분해를 수행한다. 각 분해 단계에서 저주파 필터를 거친 성분과 고주파 필터를 거친 성분이 생성되며, 이는 다음 레벨에서 다시 두 개의 자식 노드를 갖는다. 이를 트리로 표현하면, 모든 노드가 같은 방식으로 분해될 수 있으므로 완전이진트리 형태가 된다.
각 분해 레벨에서 얻는 계수를 Wavelet Packet 계수라고 하며, 다음과 같은 형태로 표현할 수 있다:
여기서
$W_{p}^{(n)}(k)$는 $n$번째 분해 레벨에서 트리 노드 인덱스가 $p$인 계수를 나타낸다
$h(\cdot)$는 저주파 필터(스케일 필터) 계수
$g(\cdot)$는 고주파 필터(웨이블릿 필터) 계수
$k$는 시간축(또는 공간축)에서의 이산 샘플 인덱스
$p$는 노드의 인덱스를 나타내며, $2p$와 $2p+1$은 $p$ 노드의 자식 노드를 의미한다
이 계수들이 완전이진트리 구조로 분포되면서, 결과적으로는 다양한 주파수 대역들을 세밀하게 분해할 수 있다. Wavelet Packet에서의 필터뱅크 해석은 이산 웨이블릿 변환에서의 필터뱅크와 동일하게 합성 단계(Synthesis Stage)도 정의된다. 합성 단계에서는 다음을 이용하여 원 신호 또는 특정 트리 경로의 부분 대역 신호를 복원할 수 있다:
이처럼 분해와 합성에 대해 간단히 살펴보면, Wavelet Packet이 기존 이산 웨이블릿 변환과 유사한 계층 구조를 유지하면서도 훨씬 유연하게 여러 주파수 대역을 다룰 수 있다는 점을 알 수 있다.
Wavelet Packet 기저(기반 함수) 선택
Wavelet Packet 분해를 수행할 경우, 각 레벨에서 생성된 다양한 대역 중 어떤 조합을 선택하느냐에 따라 서로 다른 기저(기반 함수)가 구성된다. 이때 트리 구조에서 자식 노드를 선택하지 않고 가지치기를 수행하면, 선택된 노드들에 대응하는 계수만을 이용하여 신호를 표현할 수 있다. 이는 $L^2(\mathbb{R})$ 공간에서의 정규 직교 기저(orthonormal basis) 중 하나를 선택하는 것과 동일한 의미를 갖는다.
이 기저 선택은 신호 분석 목표나 최적화 기준(예: 엔트로피 최소화, 특정 주파수 성분 강조 등)에 의해 달라진다. 예를 들어, 엔트로피를 기준으로 하는 방법을 적용하면, 신호의 에너지가 특정 대역에 집중되어 있을 때 그 대역을 더 세분화하는 트리를 얻을 수 있다. 반면, 진동 특성이나 잡음 특성을 파악하기 위한 기준을 채택하면 다른 형태의 트리가 선택될 수도 있다.
일단 트리가 결정되고 나면, 특정 트리 구조에서 얻은 Wavelet Packet 계수만을 사용하여 신호를 재구성할 수 있다. 이를 통해 필요 없는 대역은 완전히 제거하거나, 중요한 대역을 강조함으로써 다양한 응용(잡음 제거, 이상 신호 검출, 시계열 분석 등)에 활용할 수 있다.
Best Basis 알고리즘
Wavelet Packet에서는 모든 대역을 재귀적으로 분해하므로, 가능한 트리의 형태가 매우 다양해진다. 이 중 신호 특성에 부합하면서, 동시에 특정 기준(예: 엔트로피 최소화)을 만족하는 최적 기저를 찾는 문제를 Best Basis 선정 문제라고 한다. 보통은 엔트로피와 같은 기준 함수를 이용하여 각 노드 혹은 부분 트리의 비용을 계산하고, 그 합이 최소가 되는 트리를 선택한다.
일반적인 Best Basis 알고리즘은 상향식 접근을 취한다. 우선 리프 노드까지 최대 레벨로 Wavelet Packet 분해를 수행한 뒤, 각 노드 단위로 비용 함수를 산정하고, 상위 노드에서 두 자식 노드의 비용 합과 상위 노드 자체의 비용을 비교함으로써 트리를 가지치기한다. 최종적으로, 최소 비용을 제공하는 구조만을 남기고 가지치기된 트리는 해당 신호에 대해 최적화된 기저로 간주된다.
엔트로피 기반 최적화
Best Basis 알고리즘에서 자주 사용되는 지표는 엔트로피다. 예를 들어, 각 노드(주파수 대역)의 계수 분포가 특정 패턴을 띄고 있을 때, 그 노드의 엔트로피가 낮으면 신호가 해당 대역에 집중되어 있다고 해석할 수 있다. 또한 노드가 서로 다른 분해 레벨을 가지더라도, 엔트로피 같은 일관된 기준을 적용하면 비용 비교가 가능하므로, 트리를 전체적으로 통합 관리하기에 용이하다.
엔트로피를 한 예시로 들면,
여기서 $p_k$는 계수의 분포를 정규화한 값이다. 노드 $p$에서 얻은 Wavelet Packet 계수에 대한 확률 밀도 함수(혹은 분포 함수)를 구하여, 이를 대입해 엔트로피를 계산한다. 이 값을 노드의 비용으로 설정하고, 자식 노드 두 개의 비용 합과 부모 노드의 비용을 비교한다. 만약 자식 노드들을 합친 비용이 더 작다면(즉 엔트로피가 낮다면) 자식 노드 쪽으로 분해하는 것이 유리하므로 트리를 확장하고, 그렇지 않다면 그 노드는 더 이상 분해하지 않는 방향으로 트리를 결정한다.
탐색 알고리즘의 효율성
가능한 모든 트리를 전수 조사하면 매우 큰 연산량이 필요하다. 따라서 Best Basis 알고리즘에서는 리프 노드부터 상위 노드로의 단계를 하나씩 거슬러 올라가며, 각 노드에서의 비용과 자식 노드의 비용 합을 비교해 즉시 최적의 선택을 결정함으로써 전체 트리에 대한 최적해를 효율적으로 구할 수 있다. 이 과정에서 동적 계획법(Dynamic Programming)이 암묵적으로 사용되며, 노드마다 계산된 비용은 중복 연산 없이 재사용된다.
엔트로피 이외에도 최소 제곱오차, 에너지 집중도, 분산, 혹은 문제 특성에 맞는 다른 비용 함수를 사용할 수 있다. Best Basis 알고리즘의 핵심은, 서로 다른 트리 구조에 대해 비용 함수를 비교하여 최적값을 갖는 트리를 선택한다는 점이며, 이를 통해 얻어진 Wavelet Packet 기저는 분석 대상 신호의 특성을 더욱 잘 반영하도록 설계된다.
Best Basis 알고리즘
Wavelet Packet에서는 모든 대역을 재귀적으로 분해하므로, 가능한 트리의 형태가 매우 다양해진다. 이 중 신호 특성에 부합하면서, 동시에 특정 기준(예: 엔트로피 최소화)을 만족하는 최적 기저를 찾는 문제를 Best Basis 선정 문제라고 한다. 보통은 엔트로피와 같은 기준 함수를 이용하여 각 노드 혹은 부분 트리의 비용을 계산하고, 그 합이 최소가 되는 트리를 선택한다.
일반적인 Best Basis 알고리즘은 상향식 접근을 취한다. 우선 리프 노드까지 최대 레벨로 Wavelet Packet 분해를 수행한 뒤, 각 노드 단위로 비용 함수를 산정하고, 상위 노드에서 두 자식 노드의 비용 합과 상위 노드 자체의 비용을 비교함으로써 트리를 가지치기한다. 최종적으로, 최소 비용을 제공하는 구조만을 남기고 가지치기된 트리는 해당 신호에 대해 최적화된 기저로 간주된다.
엔트로피 기반 최적화
Best Basis 알고리즘에서 자주 사용되는 지표는 엔트로피다. 예를 들어, 각 노드(주파수 대역)의 계수 분포가 특정 패턴을 띄고 있을 때, 그 노드의 엔트로피가 낮으면 신호가 해당 대역에 집중되어 있다고 해석할 수 있다. 또한 노드가 서로 다른 분해 레벨을 가지더라도, 엔트로피 같은 일관된 기준을 적용하면 비용 비교가 가능하므로, 트리를 전체적으로 통합 관리하기에 용이하다.
엔트로피를 한 예시로 들면,
여기서 $p_k$는 계수의 분포를 정규화한 값이다. 노드 $p$에서 얻은 Wavelet Packet 계수에 대한 확률 밀도 함수(혹은 분포 함수)를 구하여, 이를 대입해 엔트로피를 계산한다. 이 값을 노드의 비용으로 설정하고, 자식 노드 두 개의 비용 합과 부모 노드의 비용을 비교한다. 만약 자식 노드들을 합친 비용이 더 작다면(즉 엔트로피가 낮다면) 자식 노드 쪽으로 분해하는 것이 유리하므로 트리를 확장하고, 그렇지 않다면 그 노드는 더 이상 분해하지 않는 방향으로 트리를 결정한다.
탐색 알고리즘의 효율성
가능한 모든 트리를 전수 조사하면 매우 큰 연산량이 필요하다. 따라서 Best Basis 알고리즘에서는 리프 노드부터 상위 노드로의 단계를 하나씩 거슬러 올라가며, 각 노드에서의 비용과 자식 노드의 비용 합을 비교해 즉시 최적의 선택을 결정함으로써 전체 트리에 대한 최적해를 효율적으로 구할 수 있다. 이 과정에서 동적 계획법(Dynamic Programming)이 암묵적으로 사용되며, 노드마다 계산된 비용은 중복 연산 없이 재사용된다.
엔트로피 이외에도 최소 제곱오차, 에너지 집중도, 분산, 혹은 문제 특성에 맞는 다른 비용 함수를 사용할 수 있다. Best Basis 알고리즘의 핵심은, 서로 다른 트리 구조에 대해 비용 함수를 비교하여 최적값을 갖는 트리를 선택한다는 점이며, 이를 통해 얻어진 Wavelet Packet 기저는 분석 대상 신호의 특성을 더욱 잘 반영하도록 설계된다.
Wavelet Packet의 일반적 활용
Wavelet Packet은 다중 해상도 신호 분석에 있어서 유연한 주파수 대역 분해를 제공하므로, 여러 신호 처리 응용 분야에서 폭넓게 사용된다. 예를 들어, 원 신호에 포함된 특정 주파수 대역을 강조하거나 잡음을 제거하기 위한 분석 과정에서, Wavelet Packet은 불필요한 대역을 가지치기해 버리거나, 중요한 대역만 세분화하여 집중적으로 처리할 수 있다. 이 과정에서 Best Basis 알고리즘이 적용되어, 최소 엔트로피나 최소 에너지 손실 등 원하는 목적 함수를 기준으로 가지치기를 결정한다.
Wavelet Packet 분해를 통한 잡음 제거는 특히 비정상 신호나 비선형 특성을 지닌 데이터에서 유용하다. 기본 아이디어는 계층적으로 분해된 노드별 계수 분포를 관찰하여, 잡음 특성이 뚜렷한 대역에 적절한 임계값(Threshold)을 적용함으로써 불필요한 성분을 억제하는 것이다. 주파수 대역마다 잡음 수준이 다를 수 있으므로, Wavelet Packet은 다양한 대역을 동시에 분해하고 관리할 수 있어, 각 대역별로 서로 다른 임계값을 적용하기에도 적합하다.
데이터 압축 분야에서도 Wavelet Packet은 유망한 도구로 활용된다. 신호를 분해한 뒤, 에너지가 많이 분포된 대역에 대해서만 세분화 레벨을 높이고, 그렇지 않은 대역은 더 이상 분해하지 않아 계수를 간소화한다. 그리고 중요하지 않은 계수를 양자화(quantization)하거나 제거하여 데이터량을 크게 줄일 수 있다. 이때도 엔트로피나 에너지 비율 같은 지표를 활용하여 최적의 분해 트리를 찾는 Best Basis 알고리즘이 사용된다.
Wavelet Packet을 이용한 특징 추출 역시 시계열 분석이나 패턴 인식 측면에서 중요한 활용 사례다. 세분화된 주파수 대역에서 추출된 계수들은 시계열의 특정 스펙트럼 구조나 이벤트를 반영하기에 유용하다. 이를 통해 특정 구간 또는 특정 주파수 성분에 특화된 지표를 정의하면, 분류나 이상 감지와 같은 후처리 알고리즘을 개선할 수 있다. 분석 대상이 음악 신호든, 생체 신호든, 진동 신호든, Wavelet Packet을 활용하면 여러 계층의 주파수 대역을 골고루 탐색하거나 특정 구간만 골라 집중적으로 살펴볼 수 있다.
Last updated