본 발명은 블라인드 신호 분리를 위한 다중 경로 분리회로 필터를 추정하기 위하여 주파수 영역에서 안정적인 정규화된 자연접선기울기를 이용하는 다채널 블라인드 신호분리 방법과 그 장치를 제공한다.
도 1은 본 발명의 온라인(On-Line)과 오프라인(Off-Line) 신호 분리 방법을 구현하기 위한 시스템(100)이다. 시스템은 다중경로 혼합신호를 제공하는 입력 장치(126)와 이를 분리하는 주파수 영역 다채널 블라인드 디콘볼루션 프로그램(124)이 내장된 컴퓨터 시스템(108)으로 구성되어 있다. 다중경로 혼합신호 입력 장치(126)은 센서 어레이(102)와 다중경로 혼합신호를 디지털 신호로 변환하는 신호처리 프로세서(104)으로 구성되어 있으며 센서 어레이(102)는 마이크로폰과 같은 하나 이상의 센서들(102A,102B,102C)로 구성되어 있다.
컴퓨터 시스템(108)은 중앙처리장치(114), 메모리(122), 입출력 인터페이스(120), 보조회로(116)으로 구성되어 있다. 컴퓨터 시스템(108)은 마우스(Mouse), 키보드(Keyboard)등과 같은 입력장치(110)와 모니터(Monitor)나 프린터(Printer)와 같은 출력장치(112)와 연결된다. 보조회로(116)는 전원공급장치, 캐쉬(Cache), 타이밍회로(Timing Circuit), 통신회로(Communication Circuit), 버스(Bus)등과 같은 장치들이다. 메모리는 RAM(Random Access Memory), ROM(Read Only Memory), 디스크 드라이브(Disk Drive), 테입 드라이브(Tape Drive), 플래쉬 메모리(Flash Memory), CD(Compact Disk) 혹은 이들의 조합과 같은 장치들이다. 본 발명은 주파수 영역 자중채널 블라인드 디콘볼루션 프로그램(124)로 구현되어 메모리(122)에 저장되어 있으며 중앙처리장치(114)에서 수행되어 다중경로 다채널 혼합신호 입력장치를 통하여 입력된 혼합신호(126)를 분리한다. 이러한 컴퓨터 시스템(108)은 본 발명을 실행할 수 있는 일반적인 컴퓨터 시스템이지만, 특별하게 고안된 ASIC(Application Specific Intergrated Circuits)전용이나 디지털 신호처리 프로세서(Digital Signal Processor: DSP)와 같은 컴퓨터 시스템을 포한한다. 이와 같이, 본 발명은 하드웨어(Hardware)나 소프트웨어(Software) 혹은 이들의 조합형태로 구현될 수 있다.
본 발명에서 컴퓨터 시스템(108)의 동작을 설명하기 위한 일실시 예로 음성인식기나 음성부호화기 등과 같은 신호처리 모듈(118)을 이용한다. 여러 사람이 함께 있는 회의실에서 사람들의 음성 혹은 음악과 배경 잡음들은 마이크로폰 어레이(102)를 통해 채집된다. 마이크로폰(102)에 의해 채집된 음성신호들은 다중경로를 통해 혼합된 다채널 신호들로서 만약 각 사람의 음성을 분리하여 각 음성을 음성부호화기에 인가할 수 있다. 혼합된 신호는 신호처리 프로세서(104)를 통해 필터링(Filtering)되고, 증폭된 다음 디지털로 변환되어 컴퓨터 시스템(108)로 보내진다. 중앙처리장치(114)는 주파수영역 다채널 블라인드 디콘볼루션 프로그램(124)를 수행함으로써 혼합신호를 각각의 독립적인 신호로 분리한다. 이 과정에서 혼합신호에 포함되었던 배경 잡음은 제거되고, 잡음이 제거된 신호는 음성인식기(혹은 음성부호화기)(118)에 보내진다. 음성인식기가 사용된 경우라면 음성은 음성인식기(118)에서 이를 해석하여 컴퓨터 명령이나 문자로 변환할 수 있으며, 음성부호화기가 사용된 경우라면 보다 깨끗한 음질의 통화를 제공한다. 이처럼, 컴퓨터 시스템(108)은 주파수 영역 다채널 블라인드 디콘볼루션 프로그램을 수행함으로써 음성인식기나 음성부호화기에 전 처리기로서 활용될 수 있다.
도 2a는 본 발명 주파수 영역 다채널 블라인드 디콘볼루션 프로그램(124)의 일실시예 구조도이다. 본 발명의 다중경로 다채널 분리 장치는 분리부(201), 비선형 변환부(202) 및 자연접선기울기를 이용한 분리필터계수 갱신 연산부(203)를 포함하고 있다. 상기 분리부(201)는 다중 채널 혼합신호
로부터 신호를 분리하는 기능을 담당한다. 상기 혼합신호
는
개의 독립적인 원 신호가 다중 경로를 통해
개의 센서에 인가된 것으로 다음과 같이 정의된다.
여기서,
는
번째 센서에서 인가된 혼합신호이다. 이를 분리하기 위한 분리필터는
행렬로
필터 원소를
변환의 형태로 표현하면 다음과 같다.
이로부터, 분리된 신호
는 다음과 같이 정의된다.
여기서,
는
번째 분리신호로서 다음과 같이 정의된다.
도 2b는
인 경우에 대한 분리필터 다이어그램이다. 상기 분리부 (201)에서 분리된 신호
는 비선형 변환부(202)로 입력된다.
비선형 변환부(202)는 분리신호를 버스강(Bussgang) 유형의 메모리가 없는 비선형함수를 통해 변환하는 부분으로 다음과 같이 정의된다.
비선형 함수
는 도 2c에서 볼 수 있는 바와 같이 원 신호의 확률밀도
를 균일한 확률밀도
로 변환한다. 비선형 함수는 원 신호의 확률밀도에 따라 다르게 선정된다. 음성이나 오디오 신호의 확률밀도는 감마(Gamma) 혹은 라플라시안(Laplacian)이며 이 경우
혹은
와 같은 비선형 함수가 적절하다.
자연접선기울기를 이용한 분리필터 계수 갱신 연산부(203)는 다음과 같이 최대기울기 방식을 이용하여 분리필터 계수를 계산한다.
여기서
는 자연접선기울기로서 다음과 같이 주어진다
주목할 것은 (7)의 합에서
의 범위가 기존의 자연접선가울기을 이용한 MBD 알고리즘의 경우와는 달리
이 아닌
로 제한된다는 점이다. 기존의 MBD 알고리즘은 양방향 분리필터를 가정하므로 미래의 분리신호 샘플 값들을 필요로 한다. 기존의 자연접선기울기를 이용한 MBD 알고리즘에서는 이러한 비인과적인 연산을 피하기 위해 분리신호를
샘플만큼 지연시킨 다음 사용하는 지연 갱신을 적용한다. 이 지연갱신은 수렴속도가 저하되며 수렴특성의 저하를 초래하는 원인이 되었다. 이에 비해, 본 발명에서는 인과성의 최소위상을 갖는 단일방향 분리필터를 가정하기 때문에 미래의 분리신호 값을 필요로 하지 않았으며 결과적으로 지연의 필요성이 제거됨으로 인해 수렴속도와 수렴특성을 개선할 수 있다. 비 인과성 특성을 갖는 양방향 분리필터를 사용하는 근본적인 이유는 이상적인 분리필터가 비 최소위상을 갖는다는 점 때문이다. 현실적으로 응용 가능한 많은 현실문제에서 인과성 분리필터만으로도 우수한 분리성과를 얻을 수 있다는 사실은 잘 알려져 있다.
본 발명에서는 이러한 과정을 효율적으로 수행하기 위하여 DFT(Discrete Fourier Transform)을 이용하여 주파수 영역에서 블록 단위로 수행하는 오버랩-세이브(Overlap-Save)방식을 취한다. 여기서, 블록 크기
, 프레임 크기
, 필터 길이
로 정의하며 프레임 크기는 오버랩-세이브 방식에서 사용하는 오버랩의 정도에 따라
에 의해 결정된다. 일반적으로
이며 50% 오버랩을 사용하는 경우
로 설정하지만 빠른 수렴을 위해 2보다 큰
값을 사용할 수 있다. 여기서는
로 가정된다. 또한 DFT와 IDFT의 크기는
로 가정된다. 도 3은 본 발명의 다채널 다중경로 혼합신호의 주파수 영역 분리방법에 대한 순서도이다.
단계 301의 다채널 혼합신호
는 식 (1)과 동일하다.
단계 302에서는 블록 시간
일 때 다채널 혼합신호를 각 채널별로
샘플의 블록으로 인가하여 과거 블록과 묶어서
샘플 단위의 프레임을 형성한다.
를 이용하여 입력된 다채널 혼합신호를 분리하는 과정이다. 분리필터 계수는 만약 분리필터 계수에 대한 유용한 정보가 있다면 그 정보를 이용하여 적절하게 초기화될 수 있으며 일반적으로는 다음과 같이 초기화된다.
이로부터 분리신호는 주파수 영역에서 다음과 같이 계산된다.
여기서
는 원소별 곱셈이며
와
는
벡터들로서 각각
와
의 푸리에 변환으로 다음과 같이 정의된다.
여기서
는
크기의
-point DFT 행렬을 의미하며 DFT는 일반적으로 FFT(Fast Fourier Transform)을 이용하여 계산된다. 만약 변환하고자 하는 벡터의 길이가
보다 작을 때 벡터의 후반부에 0을 채워서 길이
의 벡터로 만든다. 주파수 영역에서의 콘볼루션은 순환 콘볼루션(Circular Convolution)이며 선형 콘볼루션(Linear Convolution)을 계산하기 위해서는 시간 영역에서 에일리어싱이 일어난 처음
개의 샘플들을 버리고 후반부
샘플만을 취한다. 일반적인 50% 오버랩-세이브 방식에서는 처음
샘플의 한 블록을 다 버리고 후반부의
샘플만을 취하지만, 본 발명에서는 초반
개의 샘플만을 버림으로써 다음에 전력 스펙트럼을 계산하는 과정에서 정확한 값을 계산하는 동시에 알고리즘을 안정하게 만든다. 에일리어싱을 제거하는 과정은 다음과 같이 정의된다.
여기서,
은 처음
개의 샘플값을 0으로 만드는
크기의 프로젝션(projection) 행렬로 다음과 같이 정의된다.
여기서,
은
크기의 0행렬이고
은
크기의 단위행렬이다.
단계 304는 분리된 신호를 버스강 유형의 비선형함수를 통해 변환하는 과정으로 다음의 두 가지 방법 중 하나를 사용할 수 있다.
일반적으로 식 (15a)를 사용하면 비선형함수와 분리신호와 상호상관관계 계수 (Cross-correlation)인
에는 바이어스(bias)가 포함되며 식 (15b)를 사용하면 바이어스가 없는 계수를 얻게 된다.
단계 305는 에일리어싱이 제거된 정규화된 상호전력 스펙트럼을 계산하는 과정으로 본 발명에서 매우 중요한 과정으로 단계 306~309로 구성된다.
단계 306은 단계 303과 304에서 형성된 분리신호
와 비선형 변환된 신호
를 각각 DFT 변환하고 이를 이용하여 다음과 같이 블록
에서의 상호전력 스펙트럼을 계산한다.
여기서,
는 켤레복소수를 의미하며
와
는
벡터들로서 각각 다음과 같이 정의된다.
여기서 주목할 것은 상호전력 스펙트럼의 계산에 사용되는 분리신호
와 비선형 변환된 신호
가 수식 (13),(15a),(15b)에 나타난 것처럼 현재 프레임에서 분리된 신호만을 이용하여 구성되었다는 점과
의 처음
샘플들이 0이라는 점이다. 이것은 일반적으로
가
다음과 같이 모두 채워진 형태로 조성된다는 점과 크게 다르다.수학식 (18)에서 처음
샘플들은
블록 시간에서의 분리필터 값을 이용하여 계산된 분리신호이며 나머지
샘플들은
블록 시간의 분리필터 계수를 이용하여 계산된 값이다. 따라서 분리신호열의 일관성이 파괴되어 상호전력 스펙트럼이 부정확하게 산출되며 이로 인해 알고리즘 수렴과정이 불안정해지고 분리성능이 저하된다. 뿐만 아니라, 알고리즘의 구현에서 과거 프레임(혹은 불록)의 분리신호 값과 비선형함수 변환된 신호 값을 저장해야하는 부담이 발생한다.
단계 307은 상호전력 스펙트럼을 정규화하기 위해 분리신호와 비선형변환신호의 평균전력 스펙트럼들을 계산하는 과정이다. 일반적으로 신호들은 시간에 따라 많이 변화하므로 매 블록 마다 다음의 순환식을 이용하여 평균전력을 갱신한다.
여기서,
는 0과 1사이의 상수로서 신호의 유형과 환경변화에 따라 적절하게 선택될 수 있으며, 평균전력 스펙트럼은
로 초기화된다. 단계 308은 상호전력 스펙트럼을 정규화하는 과정이다. 이전 발명에서는 상호전력스펙트럼을 정규화하기 위해 각 주파수에서 상호전력 스펙트럼의 모든 원소들을 동시에 각자의 평균전력 스펙트럼으로 정규화하였다. 본 발명에서는 정규화된 상호전력 스펙트럼이 각 주파수에서 단위행렬로 수렴하도록 만들어주는 동시에 비대각 원소들은 효과적으로 0으로 수렴하도록 만들어준다. 이로 인해, 신호분리의 필연적 결과인 분리신호간의 독립성을 얻을 뿐 아니라, 대각원소들이 효과적으로 정규화 됨으로써 알고리즘의 수렴특성을 크게 개선하였고 우수한 분리 성능을 얻을 수 있게 되었다. 뿐만 아니라, 최종적으로 분리된 분리신호에서 나타나는 백색화 현상(Whitening Effect)가 현저하게 줄어들었다.
이제, 정규화는 다음과 같이 수행된다.
여기서,
는 원소별 나눗셈이다. 수학식 (20)의 정규화된 상호전력 스펙트럼을 시간 영역으로 IDFT 변환하면 상호상관관계 계수(Cross-Correlations)가 된다. 그러나 이 값들은 주파수 영역에서 순환 상관연산(Circular Correlation) (16)을 통해 계산된 것으로 에일리어싱 부분을 포함하고 있다. 따라서 에일리어싱 부분은 제거되어야만 한다. 뿐만 아니라, 단계 310의 자연접선기울기 계산에서 필요로 하는 부분은 분리회로의 길이와 동일한 처음
개의 상관관계 계수 값이므로 나머지 후반의
값들은 0으로 대체되어야만 한다. 이러한 제한조건을 만족시키는 것은 순수한 최소위상의 특성을 가진 분리회로를 사용하기 때문이다. 단계 309에서 적용되는 시간 영역의 제한조건은 다음과 같이 정의된다.
여기서
는
크기의
-point 역 DFT 행렬을 의미하며
은 처음
개의 샘플은 그대로 남겨놓고 나머지
개의 샘플 값을 0으로 만드는
크기의 프로젝션(projection) 행렬로 다음과 같이 정의된다.
여기서,
은
크기의 단위행렬이고
은
크기의 0 행렬이다.
단계 310는 논홀로노믹(nonholonomic) 조건을 적용하여 자연접선기울기를 계산하는 과정으로 다음과 같다.
단계 311은 분리필터 계수를 갱신하는 과정이다.
상기 식(21)의 시간영역의 제약조건은 식(24)의 분리필터 계수를 계산한 이후 분리필터 계수를 시간영역으로 변환하여 제약조건을 적용하는 것과 동일하다.
단계 312는 분리필터 계수의 크기를 주파수 영역에서 대각필터 계수의 전력(norm)으로 나누어줌으로써 정규화하는 과정이다. 분리필터 계수의 정규화는 갱신이 진행됨에 따라 분리신호의 전력이 무한히 작아지는 현상을 방지하는데 목적이 있다. 분리필터 계수의 정규화는 블록 시간마다 수행할 필요는 없으며 일정한 간격으로 수행함으로써 계산량의 증가를 줄일 수 있다.
단계 313은 분리필터 계수가 원하는 상태로 수렴했는지를 판단하는 과정이다. 이 과정은 가용한 다채널의 혼합신호 샘플들을 모두 처리했거나 혹은 반복해서 처리해야하는 회수만큼 모두 반복 수행한 경우 수렴으로 간주된다. 그 밖에 분리필터 계수나 그 밖의 변수들이 특정한 값으로 수렴하는 것을 조사하여 수렴을 판단할 수 도 있다.
단계 314는 수렴이 완료된 경우 가용한 다채널 혼합신호를 분리하여 최종 분리신호를 얻는 과정이다. 이 과정은 식 (11)을 이용하며 역시 오버랩-세이브 방식을 이용하여 주파수 영역에서 수행될 수 있다.
도 4a는 실제 사무실 환경에서 녹음된 음성과 음악을 두개의 마이크로 녹음한 다음 등을 이용하여 본 발명의 방법과 장치들을 이용하여 분리한 결과이다. 도 4의 파형은 위로부터 혼합신호
과
분리신호
과
를 보여준다. 여기서
를 사용하였다. 도 4b는 최종적으로 얻어진 분리필터이다.
혼합신호 본 발명은 음성 인식기나 음성 부호화기의 전 처리기 등으로 활용됨으로써, 여러 신호가 혼재된 상황에서 음질의 왜곡을 최소화하면서 효과적으로 분리할 수 있다. 도 5는 음악과 음성 원 신호(s1,s2), 가상의 혼합회로를 통해 혼합된 신호(x1,x2), 본 발명의 분리 방법을 분리한 신호(u1,u2)의 파형을 비교한 것이다. 도 5는 본 발명의 방법과 장치를 이용하여 분리한 신호의 파형은 원 신호의 파형과 거의 동일하며 우수한 음질을 갖는다는 것을 보여준다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.