Ⅰ. 서 론
음향 녹음 및 재생 기기의 등장으로 청취자가 가정에서 오디오를 향유하게 된 이래, 음질뿐만 아니라 공간감에 대해서도 보다 충실하고 현장감이 있는 소리를 들을 수 있기를 바라는 요구가 항상 존재해 왔다. 이에 따라 과거 모노채널 오디오 시스템에서부터 시작하여, 스테레오 시스템, 그리고 5.1채널 서라운드 시스템까지 다채널 오디오 시스템이 발전하면서, 청취자에게 보다 실감나는 음향 재생 성능을 제공할 수 있게 되었다[1].
보다 향상된 다채널 스피커 시스템의 성능을 즐기기 위해서는, 재생해야 할 음향 신호 또한 스피커 시스템에 맞도록 구성되어야 한다. 특히 최근에는 5.1채널 서라운드 이상의 스피커 시스템에 대한 연구 개발이 지속되면서, 다양한 다채널 오디오 시스템이 소개되고 있다. 이러한 상황 속에서 보다 적은 채널 개수의 음향 신호를 다채널 시스템에 맞도록 재구성하거나, 혹은 최근에 개발되는 다양한 오디오 시스템에 적합한 컨텐츠를 확보하기 위하여 오디오 업믹싱 기법이 개발되고 있다.
특히, 5.1채널 서라운드의 좌/우 서라운드 채널이나, 상방향 스피커가 있는 시스템에서 상방향 레이어 (top layer) 채널의 신호들은 주로 뚜렷한 음상을 맺도록 하기 보다는 넓은 음장감을 제공하는 데에 초점을 두고 있다. 이에 따라 다채널 업믹싱 기법에 있어서 주요한 역할을 하는 부분 중 하나가 배경음 분리 기법이다.
기존의 멀티채널 오디오 업믹싱 기법은 주로 채널간의 정보, 즉 믹싱 과정에 있어 음상이 맺히는 공간에 대한 정보를 이용하여 업믹싱 대상 신호를 추출하는 방법을 취하고 있다[2,3]. 그러나 이러한 기법들은 입력 신호가 단일채널인 경우, 그리고 수평 방향이 아닌 수직 방향의 업믹싱을 수행할 경우에는 적용될 수 없다.
최근 독일 Fraunhofer 연구소의 한 연구결과에 따르면, 비음수 행렬 분해 (Nonnegative Matrix Factorization: NMF) 기법을 이용하여 단일채널에서 배경음에 가까운 소리들을 분리하였으며, 해당 기법으로 분리한 배경음을 이용하여 업믹스 시스템에 적용하였을 경우 기존 기법 대비 향상된 청취평가 결과를 얻을 수 있었다[4].
위의 연구 결과가 좋은 성능을 보여주기는 했으나, 기존 비음수 행렬 분해 기법의 경우 전체 음원을 한꺼번에 처리해야 한다는 단점을 가지고 있다. 즉, 시간 지연에 민감한 스트리밍 데이터 시스템이나, 홈시어터 플레이어와 같이 디지털 시그널 프로세서(DSP)를 사용한 시스템에서는 사용할 수 없는 알고리즘이다.
본 논문에서는 위와 같은 비음수 행렬 분해에 기반한 실시간 배경음 추출 기법에 대해 논의하며, 특히 실시간 비음수 행렬 분해에 기반한 기법을 도출한다. 이를 토대로 기존의 일괄적 비음수 행렬 분해 기법에 의해 추출된 결과와 비교 분석한 후, 실제 음악 신호를 통하여 추출된 음원을 분석하여 성능을 검증한다.
Ⅱ. 비음수 행렬 분해 기법에 기반한 배경음 추출 알고리즘
1. 비음수 행렬 분해 기법
비음수 행렬 분해 기법이란 다음과 같이 K×N 크기의 비음수 행렬 V 를 K×R 크기의 비음수 행렬 W 와 R×N 크기의 행렬 H 의 곱으로 나타낸 후, 각 행렬을 추정하여 분해하는 기법이다[5,6].
일반적으로 오디오 신호처리 시스템에서 행렬 V 는 음향 신호의 크기 스펙트럼(magnitude spectrogram)을 사용하며, 이 경우 행렬 W 는 주파수 영역 기저를, 행렬 H 는 시간 영역 기저를 나타낸다.
위와 같은 비음수 행렬 분해 모델에서 각 기저 행렬, 즉 W 와 H 를 추정하는 기법에는 여러 방법이 있으나, 주로 많이 사용되는 기법은 다음과 같이 곱셈에 의한 갱신(multiplicative update) 방법에 의해 순차적으로 추정하는 기법이다[7].
여기서 ⊗ 는 Hadamard product로 행렬 원소 간의 곱셈을 의미하고, ⊘ 는 원소 간의 나눗셈을 의미한다.
2. 비음수 행렬 분해에 기반한 배경음 추출 기법
비음수 행렬 분해는 오디오 신호의 희박 표현 (Sparse Representation)에 의거하여, 해당 음악 신호를 의미를 가진 여러 개의 음표 성분으로 분리하는 방법으로 주로 사용된다. 이 과정에서 희박 성분으로 잘 표현되지 않는, 전 주파수 영역에 걸쳐 퍼져 있는 소리의 성분들은 기저 행렬로 잘 표현되지 않는 결과를 보인다. 이를 이용하여, 비음수 행렬 분해로 분석하고 남은 나머지 신호들을 따로 추출하면 배경음 성분을 추출해 낼 수 있다[4]. 단, 여기서 추출되는 배경음 성분은 기존의 공간적인 배경음과 조금 다른 성질을 가진다. 추출된 배경음 성분은 단일 채널의 주파수 구조를 통해서 얻어낸 배경음 성분이며, 따라서 공간적인 분포와는 관계없이 주파수 영역에 걸쳐 고르게 분포되는 성분들을 배경음으로 간주하여 추출해내기 때문이다.
배경음 성분을 추출해내기 위하여, 먼저 위의 비음수 행렬 분해 결과를 이용하여 배경음 성분의 크기 성분을 먼저 다음과 같이 계산한다[4].
여기서 |Akn| 는 추출할 배경음 성분의 k 번째 주파수 빈 및 n 번째 시간 윈도우의 스펙트럼 크기 성분을 나타낸다. 여기서 크기 성분은 항상 양의 값을 가져야 하지만, V–WH 의 성분은 항상 양의 값을 가지지 않는다. 따라서, 양의 값을 가지도록 가중치 βkn 을 다음과 같이 설정한다[4].
여기서 γ 는 –1과 0사이의 상수 값으로 설정한다. 위와 같이 얻은 배경음 성분의 크기 성분에 더하여, 다음과 같이 입력 신호의 위상 정보를 함께 이용하여 역 푸리에 변환을 사용함으로써 추출할 배경음 성분 신호를 얻어낸다[4].
여기서 ∡Xkn는 k 번째 주파수 빈 및 n 번째 시간 윈도우의 입력 신호의 위상을 나타낸다.
Ⅲ. 실시간 배경음 추출 기법
1. 실시간 비음수 행렬 분해 기법
앞서 언급된 바와 같이, 기존의 비음수 행렬 분해 기법은 모든 데이터를 축적한 뒤 일괄적으로 계산해야 한다는 단점이 있으며, 이를 극복하기 위하여 실시간으로 기저 행렬을 추정하는 알고리즘들이 개발되고있다. 그 중하나가 재귀적최소 자승법 (Recursive Least Squares: RLS)의 원리를 이용하여 개발된 실시간 비음수 행렬 기법 알고리즘이다[8,9].
실시간 비음수 행렬 분해 기법은 매 n 번째 시간 윈도우마다 다음의 연산을 통해 주파수 기저 행렬 및 시간영역 기저 벡터를 추정한다. 먼저 n 번째 시간 윈도우의 시간영역 기저벡터는 다음과 같이 계산된다[8,9].
여기서 h(n) 은 R × 1 크기의 시간영역 기저 벡터이며, v(n) 은 K × 1 크기를 가지는 n 번째 시간 윈도우의 크기 스펙트럼 데이터를 나타낸다. 또한 [ ]+ 는 0보다 작은 값을 0이 되도록 연산하는 반파 정류 연산을 의미하며, † 는 다음과 같은 무어-펜로즈 의사역행렬 (Moore-Penrose pseudo inverse matrix)를 나타낸다.
위와 같이 추정된 시간영역 기저 벡터의 값을 이용하여, 주파수 기저 벡터는 다음과 같이 추정된다[8,9]. 먼저 주파수 빈에 관계없이 공통으로 계산되는 이득 벡터 k(n) 과 시간 기저 벡터 h(n)의 자기-상관 행렬 (auto-correlation matrix)의 역행렬인 P(n) 은 다음과 같이 계산된다.
여기서 (9), (10)의 연산 결과를 이용하여 매 k 번째 주파수 빈 마다 다음의 연산을 통해 주파수 기저를 추정한다.
여기서 vk(n) 은 v(n) 의 k 번째 주파수 성분 값을 나타내고, wk(n) 은 W(n) 행렬의 k 번째 행 벡터를 나타낸다. 그리고 망각 인자 λ 는 일반적으로 1에 가까운 값을 가지며, 과거 값에 대한 가중치를 나타낸다.
2. 실시간 배경음 분리 기법
위와 같이 추정된 기저 행렬 및 벡터 값을 이용하여, 배경음 신호의 크기 성분 ak(n) 은 다음과 같이 계산된다.
매 시간 윈도우 결과 사이의 변화가 너무 큰 경우 시간적 불연속에 의한 잡음이 들리는 경우가 있으므로, 이를 방지하기 위하여 다음과 같이 시간 영역 평활화(smoothing) 작업을 추가로 진행한다.
기존의 배경음 추출 기법과 마찬가지로, 추출되는 배경음 신호의 위상 성분 값은 입력 신호의 위상 성분 값과 동일한 값을 사용한다.
Ⅳ. 실험 결과 및 분석
1. 실험 환경 및 평가 방법
본 논문에서 소개 및 도출된 배경음 추출 기법의 동작을 분석하기 위하여, 음악 신호에 대한 배경음 추출 실험을 진행하였다. 실험 신호로는 RWC (Real World Computing) music database[10]의 “popular music” 데이터베이스 신호를 사용하였다. 해당 데이터베이스에는 총 16 트랙의 음원이 있으며, 본 실험에서는 각 음원 트랙들을 20초 간격의 세그먼트로 나누어 알고리즘을 수행하고, 성능 지표를 계산하여 이에 대한 평균을 구하였다. 스펙트럼 분석은 2048 길이의 Hamming 윈도우를 이용하여 50% 겹침(overlap)을 통하여 수행하였다. 기존의 일괄 비음수 행렬 분해 기법과 제안하는 실시간 비음수 행렬 분해 기법의 기저 개수는 32개로 설정하였으며, 실시간 비음수 행렬 분해 기법의 망각 인자 λ 는 1로, 그리고 실시간 배경음 추출 기법의 평활화 인자 η 는 0.8로 설정하였다.
앞서 언급한 바와 같이, 비음수 행렬 분해 기법 기반의 배경음 추출 기법은 스펙트럼 상에서 에너지가 균일하게 분포되어 있는 부분을 추출하는 기법이다. 따라서, 분리된 배경음 성분의 에너지가 고르게 분포되어 있는 정도를 측정함으로써 각 알고리즘이 설계된 목적대로 잘 동작하고 있는지를 평가할 수 있다.
에너지가 스펙트럼 상에서 고르게 분포되어 있는 정도를 측정하는 인자로, 음악 정보 분석 분야에서 사용되는 spectral flatness 인자(SFM)와 spectral crest 인자(SCM)가 있다. Spectral flatness 인자는 다음과 같이 계산된다[11].
위와 같은 spectral flatness 인자는 스펙트럼 크기의 산술평균과 기하평균의 비율을 의미한다. 해당 값은 백색잡음일 때 가장 큰 값으로 1의 값을 가지며, 단일 톤(tone)의 신호일 때 가장 작은 값인 0의 값을 가진다.
한편, 두 번째 평가지표인 spectral crest 인자는 다음과 같이 정의된다[11].
위의 비음수 행렬 분해 기법 기반의 배경음 추출 기법들은 평활한 주파수 성분들을 추출해 내는 알고리즘이므로, 제안하는 실시간 배경음 추출 기법을 통해 얻은 신호들의 SFM과 SCM이 일괄 배경음 추출 기법의 값과 유사하다면, 실시간 배경음 추출 기법이 과거 데이터를 사용하지 않고도 일괄 배경음 추출 기법과 유사한 결과를 얻을 수 있다는 결론을 얻을 수 있다.
위와 같은 SFM 및 SCM에 의한 객관평가 외에, MUSHRA(MUltiple Stimuli with Hidden Referfence and Anchor) 기법을 이용한 주관청취평가도 시행되었다. 청취평가는 특별한 음악적 훈련을 받지 않은 일반인 10명을 대상으로 진행되었으며, 기존 기법인 일괄 배경음 추출 기법의 처리 음원과 제안된 실시간 배경음 추출 기법의 처리 음원의 유사도를 측정하는 형태로 진행되었다. 비교 대상은 일괄 배경음 추출 기법의 처리 결과 음원, 실시간 배경음 추출 기법의 처리 결과 음원, 1 kHz를 기준으로 하는 고역통과필터의 처리 결과 음원, 그리고 처리를 하지 않은 원본 결과 음원의 4가지 음원을 선정하였다. 일반적인 음악 음원의 경우, 배경음 성분이 주로 고역에 많아 배경음 추출 기법의 처리 결과는 주로 고주파 성분에 에너지가 더 많은 결과를 가진다. 따라서, 이에 대한 비교 음원으로 위와 같이 1 kHz를 기준으로 하는 고역통과필터의 처리 음원을 사용하였다. 또한, 여기서 원본 결과 음원은 최저 기준(anchor)로써 제시되었다. 위와 같이 1개의 음원 트랙 당 20초 길이의 음원 4개를 비교하여 점수를 부여하도록 하였으며, 위와 같은 실험을 총 16개 트랙에 걸쳐 진행하였다.
2. 실험 결과 및 분석
표 1에 위의 실험 결과가 도시되어 있다. 표 1에 도시되어 있는 실험 결과는 각 트랙에 포함되어 있는 세그먼트 결과의 평균을 나타낸다. 첫째 열은 입력 신호의 SFM과 SCM 값을 나타내고 있으며, 이는 성능 비교를 위한 최저기준값(anchor)으로 사용되기 위해 도시되었다. 둘째 열은 기존 일괄 추출 알고리즘의 분석 결과를, 그리고 셋째 열은 제안하는 실시간 추출 알고리즘의 결과를 보이고 있다.
표 1.실험 결과 Table 1. Results of the experiment
기존 일괄 추출 알고리즘 결과와 제안하는 실시간 추출 알고리즘 결과를 비교하여 보면, 일괄 추출 알고리즘의 SFM은 0.32~0.45, SCM은 0.16~0.21의 분포를 보임을 확인할 수 있으며, 실시간 추출 알고리즘 결과의 SFM은 0.32~0.44, SCM은 0.14~0.21의 분포를 보인다. 이는 입력 신호의 SFM이 0.18~0.31, SCM이 0.04~0.07의 분포를 가지는 것과 비교하여 볼 때, 두 결과가 상대적으로 유사한 수치를 보임을 확인할 수 있다. 평균 값 또한 일괄 추출 알고리즘과 실시간 추출 알고리즘이 SFM, SCM 모두 0.01가량의 작은 차이를 보이는 것을 확인할 수 있다. 그림 1에 도시된 알고리즘 별 평균 및 표준편차의 그래프를 보면 위의 사실을 보다 쉽게 확인할 수 있다.
그림 1.실험 결과의 평균 및 표준편차 Fig. 1. Averages and standard deviations of the experimental results
특히, 트랙 별 성능을 비교하여 보면 성능 평가 지표가 최대 0.03 정도 차이가 보이는 것을 확인할 수 있으며, 입력신호의 값과 추출된 배경음 결과가 일반적으로 0.11에서 0.14정도의 차이를 보인다는 사실에서 볼 때, 해당 차이는 상대적으로 매우 적은 차이라고 판단할 수 있다.
그림 2는 청취평가 결과를 도시하고 있다. 막대그래프는 각 실험군의 평균 점수를 의미하며, 평균 점수를 기준으로 위아래로 표시된 구간은 각 실험군의 표준편차를 나타낸다. 각 트랙별 막대그래프는 왼쪽부터 순서대로 원본 음원, 1-kHz 고역 통과 필터 처리 음원, 실시간 배경음 추출 결과 음원, 그리고 기준이 되는 일괄 배경음 추출 결과 음원을 나타낸다. 그림 2의 그래프를 살펴보면 모든 트랙에서 제안하는 실시간 배경음 추출 알고리즘이 기존의 일괄 배경음 추출 알고리즘과 유사한 결과를 보이는 것을 확인할 수 있으며, 특히 1, 3, 15번 트랙을 제외한 다른 모든 결과에서는 결과 데이터의 분포가 겹칠 정도로 유사함을 확인할 수 있다. 1, 3, 그리고 15번 트랙의 결과 또한 다른 비교 음원의 결과를 볼 때 충분히 기존 알고리즘과 유사한 특성을 보인다고 판단할 수 있다.
그림 2.청취 평가 결과 Fig. 2. Results of subjective listening tests
Ⅴ. 결 론
본 논문에서는 단일 채널의 음향 신호에서 비음수 행렬 분해 기법을 통하여 배경음 성분을 추출하는 알고리즘에 대해 살펴보았다. 또한, 이를 보완하여 일괄 처리가 아닌 실시간 처리를 통하여 배경음 성분을 추출할 수 있는 알고리즘을 제안하였다. 제안된 알고리즘은 실시간 비음수 행렬 분해 기법을 통하여 음향 신호를 분석하고, 분석되지 않는 나머지 신호를 배경음 성분으로 추출함으로써, 주파수 영역에 걸쳐 넓게 분포되어 있는 에너지를 가지는 성분을 추출해 낸다.
RWC 데이터베이스의 음악 신호를 이용하여 제안하는 알고리즘의 성능을 분석하였다. 본 알고리즘의 성능을 검증하기 위하여, 기존의 일괄처리기법을 통하여 처리된 신호의 성능 지표를 목표하는 결과로, 그리고 처리되지 않은 입력 신호의 성능 지표를 최저 기준값으로 하여 제안하는 알고리즘의 성능을 검증하였다. 이를 통하여 제안하는 알고리즘이 실시간 처리라는 제약 조건을 가지고 있음에도 불구하고, 기존의 일괄 처리 알고리즘의 결과와 유사한 결과를 보임을 확인할 수 있었다.
References
- H. Chung, H. Shim, N. Hahn, and S. B. Chon, "Sound reproduction method by front loudspeaker array for home theater applications," IEEE Transactions on Consumer Electronics, vol. 50, no. 2, pp. 528-534, May 2012.
- R. Irwan and R. M. Aarts, "Two-to-Five Channel Sound Processing," Journal of Audio Engineering Society, vol. 50, no. 11, pp. 914-926, 2002.
- C. Avendano and J. M. Jot, "Ambience Extraction and Synthesis from Stereo Signals for Multichannel Audio Up-mix," Proc. of IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Orlando, USA, 2002.
- C. Uhle, A. Walther, O. Hellmuth, and J. Herre, "Ambience separation from mono recordings using non-negative matrix factorization," Proc. AES 30th International Conference on Intelligent Audio Environments, Mar. 2007.
- D. D. Lee and H. S. Seung, "Learning the Parts of Objects by Non-negative Matrix Factorization," Nature, vol. 401, pp.788-791, Aug. 1999. https://doi.org/10.1038/44565
- D. D. Lee and H. S. Seung, "Algorithms for non-negative matrix factorization," Proc. Advances in Neural Information Processing 13 (NIPS' 2000), pp. 556-562, 2001.
- A. Cichocki, R. Zdunek, A. H. Pahn, S. Amari, Nonnegative matrix and tensor factorizations: applications to exploratory multiway daya analysis and blind source separation, John Wiley & Sons, Chichester, 2009.
- S. Lee, S. H. Park, K.-M. Sung, "On-line nonnegative matrix factorization method using recursive least squares for acoustic signal processing systems," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Science, vol. E94-A, no. 10, pp. 2022-2026, Oct. 2011. https://doi.org/10.1587/transfun.E94.A.2022
- S. Lee, "RLS-based on-line sparse nonnegative matrix factorization method for acoustic signal processing systems," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Science, vol. E96-A, no. 5, pp. 980-985, May 2013. https://doi.org/10.1587/transfun.E96.A.980
- M. Goto, H. Hashiguchi, T. Nishimura, and R. Oka, "RWC music database: popular, classical, and jazz music database," Proceedings of the 3rd International Conference on Music Information Retrieval (ISMIR 2002), pp. 287-288, Oct. 2002.
- G. Peeters, "A large set of audio features for sound description (similarity and description) in the CUIDADO project," IRCAM, 2004.