상기의 목적을 달성하기 위하여, 본 발명은, 오디오 신호를 소정의 주파수로 리샘플링하는 단계; 상기 리샘플링된 오디오 신호의 스펙트럼을 구하는 단계; 상기 스펙트럼을 복수의 부밴드로 나누는 단계; 및 핑거프린트로서 상기 복수의 부밴드의 각각으로부터 정규화된 스펙트럼 부밴드 중심점을 추출하는 단계를 포함하는 핑거프린트 생성 방법을 제공한다.
또한, 본 발명은 입력되는 오디오 신호를 소정의 주파수로 리샘플링하는 전처리부; 상기 전처리부에서 처리된 입력 오디오 신호의 스펙트럼을 복수의 부밴드로 나누고, 각 부밴드에서 정규화된 스펙트럼 부밴드 중심점을 핑거프린트로서 추출하는 핑거프린트 추출부; 및 상기 핑거프린트 추출부에서 두 개의 오디오 신호에 대해 추출한 핑거프린트의 유사도를 판단하는 핑거프린트 매칭부를 포함하는, 정규화된 스펙트럼 부밴드 중심점에 기반한 오디오 핑거프린팅 시스템을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 관하여 상세히 설명한다.
도 1은 본 발명의 오디오 핑거프린팅 시스템을 개념적으로 도시한 블록도이다. 상기 오디오 핑거프린팅 시스템은 전처리부(pre-processing unit)(110), 핑거프린트 추출부(120), 데이터베이스 검색 전처리부(130), 데이터베이스 검색부(140), 및 핑거프린트 매칭부(150)를 포함한다.
상기 전처리부(110)는 입력된 오디오 신호를 모노(mono)로 변환하고 미리 정해진 주파수로 리샘플링(re-sampling)한다. 리샘플링할 주파수는 시스템이 사용될 용도에 적합하게 결정된다. 일례로, 보통 44.1KHz의 샘플링 주파수를 사용하는 MP3 압축 오디오를 입력으로 할 경우 그 1/4인 11025Hz로 리샘플링한 후 핑거프린트를 추출하면 압축 과정에서 손상되기 쉬운 고주파 영역의 정보가 핑거프린트의 성능을 떨어뜨리는 현상을 방지할 수 있다. 본 실시예에서는 리샘플링 주파수를 11025Hz로 하는 것으로 한다.
다음으로, 핑거프린트 추출부(120)는 전처리된 오디오 신호로부터 핑거프린트를 추출한다. 이를 위해 핑거프린트 추출부(120)는, 전처리된 오디오 신호를 여러 개의 부밴드로 나누고 각 부밴드에서 정규화된 스펙트럼 중심점을 추출한다.
도 2는 오디오 신호로부터 핑거프린트를 추출하는 과정을 도시한 도면이다. 먼저 오디오 신호는, 일정한 길이(예컨대, 371.5ms)를 갖고 서로 중첩(예컨대, 50%)되는 프레임들로 분할된 뒤, 윈도우(window)가 씌워진다. 본 실시예에서는 해밍 윈도우(hamming window)를 사용한다. 그 후 각 오디오 프레임의 스펙트럼(spectrum)이 계산된다. 오디오 신호의 스펙트럼을 구하는 방법에는 여러 가지가 있으나 본 실시예에서는 각 프레임을 고속 푸리에 변환(Fast Fourier Transformation; FFT)을 사용하여 변환한 후 크기(magnitude)의 절대값의 제곱을 취하는 방법으로 오디오 신호의 스펙트럼을 구한다. 그 결과 얻어진 오디오의 스펙트럼은 전처리부(110)에서 사용된 리샘플링 주파수에 의해 정의되는 주파수 범위 내에서 (예컨대, 11025Hz가 사용된 경우 300Hz에서 5300Hz의 범위) 복수개(예컨대, 16개)의 부밴드(subband)들로 나뉜다. 부밴드를 나누는 방법에는 여러가지가 있을 수 있으나, 본 실시예에서는 인간의 청각 특성을 모델링하는 임계 밴드(critical band)들로 부밴드를 나누는 것으로 한다. 나뉘어진 각 부밴드에 대해서, 정규화된 주파수 중심점(normalized frequency centorid)이 구해진다. 복수의 부밴드들에서 구한 주파수 중심점들이 오디오 프레임의 핑거프린트로서 사용된다.
정규화된 스펙트럼 부밴드 중심점을 구하는 과정을 보다 구체적으로 살펴보면 다음과 같다. 오디오 스펙트럼 P[k,m]이 주어졌을 때, i번째 부밴드의 υ차 부밴드 모멘트는 다음과 같이 정의된다.
여기서 k,m, 그리고 CBi 는 각각 주파수와 프레임 인덱스, 그리고 i번째 부밴드의 주파수 경계를 의미한다. 정규화되지 않은 스펙트럼 부밴드 중심점은 다음과 같이 주어진다.
위 식의 분모항에 의해 스펙트럼 부밴드 중심점은 스펙트럼의 이퀄라이제이 션에 강인해지게 된다. Ci[m]의 범위는 각 부밴드마다 다르므로 다음과 같은 정규화 과정이 추가로 필요하다.
최종적으로 구해진 정규화된 스펙트럼 부밴드 중심점인 NCi[m]는 어느 부밴드에 속하느냐에 관계없이 -0.5에서 0.5 사이의 값을 갖게 된다.
부밴드들로부터 구해진 정규화된 스펙트럼 부밴드 중심점은 해당 오디오 프레임의 핑거프린트로서 사용된다. 한편, 더욱 정확한 인식을 위해 서로 인접한 여러 개의 프레임을 오디오 블록으로 정의하고 이 오디오 블록 내의 핑거프린트들을 모아 핑거프린트 블록으로 정의해 핑거프린트 매칭에 사용한다. 일례로, 9.845초 길이의 오디오 블록으로부터 구한 53개의 핑거프린트(848개의 중심점에 해당)를 핑거프린트 블록으로 사용한다.
데이터베이스 검색 전처리부(130)는 핑거프린트 추출부(120)가 추출한 핑거프린트를 데이터베이스 검색에 용이한 형태로 처리한다. 예컨대, 데이터베이스 검색의 속도 및 효율 향상을 위해 주요소 해석법(Principal Component Analysis; PCA)을 핑거프린트에 적용하여 핑거프린트의 길이를 줄이는 처리를 할 수도 있다. 본 예에서는 핑거프린트 추출부(120)에서 구한 핑거프린트를 아무런 처리 없이 데이터베이스 검색에 이용하는 것으로 한다.
데이터베이스 검색부(140)는 핑거프린트 추출부(120)에서 추출되고 데이터베이스 검색 전처리부(130)에서 데이터베이스 검색에 용이한 형태로 변환된 핑거프린트를 이용하여 데이터베이스를 검색한다. 도 3은 데이터베이스 검색을 통해 핑거프린트 매칭을 위한 후보 핑거프린트 블록을 구하는 과정을 도시한 도면이다. 일정한 길이(예컨대, 9.845초)의 오디오 블록이 입력으로 들어오면 이 입력에서 M개의 프레임들(예컨대, M=53개)을 추출할 수 있다. 이렇게 추출된 프레임 각각에 대해 이미 구축되어 있는 데이터베이스로부터 입력 프레임과 유사한 후보 프레임들을 검색한다. 이때 추출된 모든 프레임들에 대하여 검색을 수행할 수도 있고 몇 개의 선택된 프레임들에 대해서만 후보 프레임 검색을 수행할 수도 있다. 검색된 후보 프레임들을 이용하여 이 후보 프레임과 인접한 전후의 M개의 프레임들을 붙여서 후보 핑거프린트 블록을 구성한다. 이 중 서로 중복되는 후보 핑거프린트 블록들은 자동으로 제거 된다. 후보 프레임들을 찾기 위한 프레임 기반의 데이터베이스 검색은 최근접 이웃(nearest neighborhood) 알고리듬에 기반한 k-d-pot tree로 데이터베이스 상의 모든 프레임들을 배열한 후 이 트리 구조 상에서 검색을 수행하여 이루어진다.
핑거프린트 매칭부(150)는 데이터베이스 검색부(140)의 검색 결과인 후보 핑거프린트 블록 중에서 입력 오디오 블록에서 구한 핑거프린트 블록과의 거리(distance)가 가장 가까운 것을 선택하고, 그 후보 핑거프린트 블록에 해당되는 오디오 블록과 연결된 오디오 정보를 인식 결과로 출력한다.
더 구체적으로 살펴보면, 핑거프린트 매칭에서, 두 오디오의 핑거프린트들 간의 거리가 특정한 문턱값(threshold) T 이하이면 두 오디오가 서로 같다고 판정한다. T를 정하기 위해서는 서로 다른 오디오를 같다고 잘못 판정내릴 확률인 PFA(Probability of False Alarm)와 같은 오디오를 서로 다르다고 잘못 판정내릴 확률인 PFR(Probability of False Rejection)을 함께 고려해야 하지만, PFR은 많은 오디오 처리 과정의 정확한 특성이 알려져 있지 않기 때문에 분석하기가 매우 어려워 실제로는 PFA만을 고려해서 T를 구하는 것이 일반적이다.
먼저, 스펙트럼 부밴드 중심점을 정상 과정(stationary process)이라고 가정하고, 오디오 블록에서 구한 핑거프린트 x를 그 평균 mx와 분산 σx 2으로 다음과 같이 추가로 정규화한다.
여기서, n은 1에서 N 사이의 값을 가지며 N은 하나의 오디오 블록 내의 정규화된 스펙트럼 부밴드 중심점의 개수를 의미한다. 본 실시예에서는, 9.845초 길이의 오디오 블록에서 N=16×53=849가 된다. 이렇게 해서, p는 평균이 0이고 분산이 1인 확률적 분포를 갖는다. 스펙트럼 부밴드 중심점의 통계학적 모델을 1차 자기상관(autocorrelation)으로 단순화하면, 다음과 같이 표현된다.
여기서, μk=E[pk[n]]을 뜻하며, a와 b는 정규화된 스펙트럼 부밴드 중심점의 자기상관의 척도가 된다.
도 4는 지연값 k에 대한 자기상관값인 (a)R[k]와 (b)Q[k]의 변화를 나타내는 시험 데이터와 함께 적합화된 1차 모델링 결과를 도시한다. 도 3에 도시된 바와 같이, 오디오 데이터로부터 얻어진 자기상관은 1차 모델을 잘 따른다. 또한, 실험 데이터에 기초하여 구해진 a,b, 및 μ4의 값은 각각 0.59, 0.44, 및 3.0이다.
핑거프린트 간의 거리를 표시하는 방법에는 해밍(hamming) 거리, 맨하탄(manhattan) 거리, 유클리드(Euclid) 거리, 및 마할라노비스(mahalanobis) 거리 등 여러가지가 있다. 본 발명의 핑거프린트 매칭에서는 유클리드 거리의 제곱이 핑거프린트들 간의 거리, 즉 유사도를 구하는 척도로 사용된다. 즉, 핑거프린트 매칭을 위해 사용되는 오디오 핑거프린트들 간의 유클리드 거리의 제곱 D는 다음과 같이 정의된다.
여기서, p와 q는 서로 다른 오디오 블록으로부터의 정규화된 스펙트럼 부밴드 중심점들이다. 중심극한정리(Central Limit Theorem)에 의하면, N이 충분히 크고 합들의 분포가 충분히 상호 독립적이라면 거리 D는 정규 분포를 나타낸다. 거리 D의 평균 E[D]는 다음과 같이 주어진다.
D의 분산은 다음과 같이 표현된다.
그리고, D2의 평균은 다음과 같이 표현된다.
앞에서 정의한 통계학적 모델을 사용하면, D는 N(2, σD 2)의 정규분포를 따르며 D의 표준편차는 σD=0.1479로 주어짐을 알 수 있다. 이를 기초로 PFA를 구하면 다음과 같다.
일례로, T=0.8의 값을 사용하는 경우 PFA는 erfc(5.7387)/2=2.414×10-16의 매우 작은 값을 갖는다는 것을 확인할 수 있다.
<실험 결과>
본 실험에서는, 본 발명의 핑거프린팅 기법을 검증하기 위해 클래식, 재즈, 팝, 락, 힙합과 같은 다양한 장르로 구성된 8,000곡 규모의 데이터베이스를 이용하였다. 먼저 정규화된 스펙트럼 부밴드 중심점에 기반한 핑거프린트가 서로 다른 오디오 신호에 대하여 충분히 서로 다른지를 파악하기 위해 100,000개의 오디오 블록을 임의로 선택하였다.
도 5는 선택된 짝(pair)들 간의 거리를 구해 히스토그램으로 정리한 결과와 핑거프린트 매칭을 위해 선택한 핑거프린트 모델링 결과를 함께 비교하여 도시한 도면이다. 측정된 거리는 모두 1.1에서 2.9사이의 값을 나타냈으며, 앞서 구한 핑거프린트의 통계학적 모델과 잘 일치하며 동시에 서로 다른 오디오 신호에 대하여 충분히 다른 핑거프린트 값을 가져, 오디오 핑거프린팅에 사용하기에 적합한 핑거프린트라는 것을 확인할 수 있다.
정규화된 스펙트럼 부밴드 중심점에 기반한 핑거프린트의 강인성을 평가하기 위하여 8,000곡의 오디오 데이터베이스에서 임의로 5,000개의 오디오 블록을 선택해 MP3 압축(32 kbps), 이퀄라이제이션(equalization), 임의 시작(random start), 시간 척도 조정(time-scale modification)(±4%), 선형 속도 변환(linear speed change, ±1%)의 왜곡을 가했다. 그 후, 왜곡된 신호를 원본 신호와 비교한 결과 단 한 번의 오류 없이 왜곡된 오디오에서 원본 오디오 신호를 찾아낼 수 있었다 (즉, PFR=0). 이 결과는 정규화된 스펙트럼 부밴드 중심점에 기반한 핑거프린트가 여러 가지 오디오 신호 처리 왜곡에 매우 강인함을 보여준다.
도 6은 본 발명에 의한 정규화된 스펙트럼 부밴드 중심점(Normalized Spetral Subband Centroid; NSSC)에 기반한 오디오 핑거프린트와 다른 오디오 핑거프린트들의 강인성의 차이를 세 가지 왜곡에 대하여 구하고 이를 비교한 결과를 도시한 도면이다. 비교 대상으로 삼은 핑거프린트들은 각각 멜 주파수 켑스트럼 계수(Mel Frequency Cepstral Coefficients; MFCC)와 부밴드의 평면도(tonality 혹은 flatness)이다. 100개의 오디오로 성능을 평가했으며, 이번 실험에서는 오디오 블록 대신 오디오 프레임 단위로 인식해서 올바른 인식 결과가 나올 확률을 확인하였다.
도 6의 결과를 살펴보면, 다음과 같은 결론을 얻을 수 있다.
1) MP3 압축에 있어서, 본 발명에 의한 정규화된 스펙트럼 부밴드 중심점에 기반한 핑거프린트가 다른 핑거프린트들에 비하여 인식 확률이 높다.
2) 이퀄라이제이션에 있어서, 본 발명에 의한 정규화된 스펙트럼 부밴드 중 심점에 기반한 핑거프린트는 MFCC에 비해 월등히 높은 인식 확률을 나타내고, 부밴드의 평면도를 이용한 핑거프린트와는 유사한 인식 확률을 나타낸다.
3) 임의 시작에 있어서, 본 발명에 의한 정규화된 스펙트럼 부밴드 중심점에 기반한 핑거프린트는 부밴드의 평면도를 이용한 핑거프린트에 비해 월등히 높은 인식 확률을 나타내고, MFCC와는 유사한 인식 확률을 나타낸다.
즉, 본 발명에 의한 정규화된 스펙트럼 부밴드 중심점에 기반한 핑거프린트는 다양한 왜곡에 대하여 다른 핑거프린트에 비해 강인한 특성을 나타냄을 확인할 수 있다.
이상, 본 발명의 바람직한 실시예에 관하여 구체적으로 설명하였으나, 본 발명의 기술적 범위가 이에 국한되는 것은 아니다. 본 발명의 기술적 범위는 후술하는 특허청구범위에 의하여 결정되며, 본 발명의 기술적 범위 이내에서 상기한 실시예들의 다양한 변형 및 수정이 가능할 것이기 때문이다.