KR-20260061435-A - 단일 마이크로폰 음향 에코 및 노이즈 억제
Abstract
본 개시는 오디오 신호 프로세싱을 위한 방법들, 디바이스들, 및 시스템들을 제공한다. 본 구현들은 보다 구체적으로는, 마이크로폰 신호들을 음성, 에코, 및 노이즈 신호들로 분리하기 위한 음성 향상 기법들에 관한 것이다. 일부 양태들에서, 음성 향상 시스템은 지연 추정기와 음향 에코 및 노이즈(AEN) 디커플링 필터를 포함할 수도 있다. 지연 추정기는 마이크로폰을 통해 마이크로폰 신호 및 스피커를 통한 출력을 위한 원단 오디오 신호를 수신하고, 마이크로폰 신호와 원단 오디오 신호 사이의 지연에 기초하여 참조 오디오 신호를 추정한다. 일부 양태들에서, AEN 디커플링 필터는 마이크로폰 신호 및 참조 오디오 신호에 기초하여 음성 마스크, 에코 마스크, 및 노이즈 마스크를 결정할 수도 있고, 결정된 마스크들의 세트에 기초하여 마이크로폰 신호의 에코 성분 및 노이즈 성분을 억제할 수도 있다.
Inventors
- 모사예브푸르 카스카리 사예드
- 푸야 아타바크
- 치우 홍
Assignees
- 시냅틱스 인코포레이티드
Dates
- Publication Date
- 20260506
- Application Date
- 20240828
- Priority Date
- 20230901
Claims (20)
- 음성 향상의 방법으로서, 마이크로폰을 통해 제1 오디오 신호를 수신하는 단계; 스피커를 통한 출력을 위한 제2 오디오 신호를 수신하는 단계; 상기 제1 오디오 신호와 상기 제2 오디오 신호 사이의 지연에 기초하여 참조 오디오 신호를 추정하는 단계; 상기 제1 오디오 신호 및 상기 참조 오디오 신호에 기초하여 복수의 마스크들을 결정하는 단계로서, 상기 복수의 마스크들은 상기 제1 오디오 신호의 음성 성분과 연관된 음성 마스크( ), 상기 제1 오디오 신호의 에코 성분과 연관된 에코 마스크( ), 및 상기 제1 오디오 신호의 노이즈 성분과 연관된 노이즈 마스크( )를 포함하는, 상기 복수의 마스크들을 결정하는 단계; 및 상기 복수의 마스크들에 적어도 부분적으로 기초하여 상기 제1 오디오 신호의 상기 에코 성분 및 상기 노이즈 성분을 억제하는 단계를 포함하는, 음성 향상의 방법.
- 제 1 항에 있어서, 상기 음성 성분은 상기 마이크로폰과 연관된 근단 사용자로부터 발생한 오디오를 포함하고, 상기 에코 성분은 상기 제2 오디오 신호에 기초하여 상기 스피커에 의해 출력된 오디오를 포함하고, 상기 노이즈 성분은, 상기 근단 사용자로부터 발생하지 않고 상기 스피커에 의해 출력되지 않은 오디오를 포함하는, 음성 향상의 방법.
- 제 1 항에 있어서 상기 복수의 마스크들을 결정하는 단계 이전에 상기 참조 오디오 신호에 기초하여 상기 제1 오디오 신호에 대해 음향 에코 제거(AEC) 동작을 수행하는 단계를 더 포함하는, 음성 향상의 방법.
- 제 3 항에 있어서, 상기 AEC 동작은 선형 필터와 연관되는, 음성 향상의 방법.
- 제 1 항에 있어서, 상기 복수의 마스크들을 결정하는 단계는: 신경망 모델에 기초하여 상기 제1 오디오 신호 및 상기 참조 오디오 신호로부터 복수의 출력들을 추론하는 단계를 포함하는, 음성 향상의 방법.
- 제 5 항에 있어서, 상기 복수의 마스크들을 결정하는 단계는: 상기 복수의 출력들의 제1 서브세트 및 상보 음성 마스크( )에 기초하여 상기 음성 마스크 를 추정하는 단계로서, 인, 상기 음성 마스크 를 추정하는 단계; 상기 복수의 출력들의 제2 서브세트 및 상보 에코 마스크( )에 기초하여 상기 에코 마스크 를 추정하는 단계로서, 인, 상기 에코 마스크 를 추정하는 단계; 및 상기 음성 마스크 및 상기 에코 마스크 에 기초하여 상기 노이즈 마스크 를 결정하는 단계 를 더 포함하는, 음성 향상의 방법.
- 제 6 항에 있어서, 상기 음성 마스크 를 추정하는 단계는: 상기 복수의 출력들의 상기 제1 서브세트의 하나 이상의 제1 출력들에 기초하여 상기 음성 마스크 의 크기를 결정하는 단계; 상기 하나 이상의 제1 출력들에 기초하여 상기 상보 음성 마스크 의 크기를 결정하는 단계; 및 상기 음성 마스크 의 크기, 상기 상보 음성 마스크 의 크기, 및 상기 복수의 출력들의 상기 제1 서브세트의 하나 이상의 제2 출력들에 기초하여 상기 음성 마스크 의 위상을 결정하는 단계 를 포함하는, 음성 향상의 방법.
- 제 6 항에 있어서, 상기 에코 마스크 를 추정하는 단계는: 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제1 출력들에 기초하여 상기 에코 마스크 의 크기를 결정하는 단계; 상기 하나 이상의 제1 출력들에 기초하여 상기 상보 에코 마스크 의 크기를 결정하는 단계; 및 상기 에코 마스크 의 크기, 상기 상보 에코 마스크 의 크기, 및 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제2 출력들에 기초하여 상기 에코 마스크 의 위상을 결정하는 단계 를 포함하는, 음성 향상의 방법.
- 제 6 항에 있어서, 상기 에코 마스크 를 추정하는 단계는: 상기 복수의 출력들의 상기 제2 서브세트 및 상보 참조 마스크( )에 기초하여 상기 참조 오디오 신호와 연관된 참조 마스크( )를 추정하는 단계를 포함하며, 인, 음성 향상의 방법.
- 제 9 항에 있어서, 상기 에코 마스크 를 추정하는 단계는: 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제1 출력들에 기초하여 상기 참조 마스크 의 크기를 결정하는 단계; 상기 하나 이상의 제1 출력들에 기초하여 상기 상보 참조 마스크 의 크기를 결정하는 단계; 상기 참조 마스크 의 크기에 기초하여 상기 에코 마스크 의 크기를 결정하는 단계; 상기 상보 참조 마스크 의 크기에 기초하여 상기 상보 에코 마스크 의 크기를 결정하는 단계; 및 상기 에코 마스크 의 크기, 상기 상보 에코 마스크 의 크기, 및 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제2 출력들에 기초하여 상기 에코 마스크 의 위상을 결정하는 단계 를 더 포함하는, 음성 향상의 방법.
- 음성 향상 시스템으로서, 프로세싱 시스템; 및 명령들을 저장한 메모리를 포함하며, 상기 명령들은 상기 프로세싱 시스템에 의해 실행될 때, 상기 음성 향상 시스템으로 하여금: 마이크로폰을 통해 제1 오디오 신호를 수신하게 하고; 스피커를 통한 출력을 위한 제2 오디오 신호를 수신하게 하고; 상기 제1 오디오 신호와 상기 제2 오디오 신호 사이의 지연에 기초하여 참조 오디오 신호를 추정하게 하고; 상기 제1 오디오 신호 및 상기 참조 오디오 신호에 기초하여 복수의 마스크들을 결정하게 하는 것으로서, 상기 복수의 마스크들은 상기 제1 오디오 신호의 음성 성분과 연관된 음성 마스크( ), 상기 제1 오디오 신호의 에코 성분과 연관된 에코 마스크( ), 및 상기 제1 오디오 신호의 노이즈 성분과 연관된 노이즈 마스크( )를 포함하는, 상기 복수의 마스크들을 결정하게 하고; 그리고 상기 복수의 마스크들에 적어도 부분적으로 기초하여 상기 제1 오디오 신호의 상기 에코 성분 및 상기 노이즈 성분을 억제하게 하는, 음성 향상 시스템.
- 제 11 항에 있어서, 상기 음성 성분은 상기 마이크로폰과 연관된 근단 사용자로부터 발생한 오디오를 포함하고, 상기 에코 성분은 상기 제2 오디오 신호에 기초하여 상기 스피커에 의해 출력된 오디오를 포함하고, 상기 노이즈 성분은, 상기 근단 사용자로부터 발생하지 않고 상기 스피커에 의해 출력되지 않은 오디오를 포함하는, 음성 향상 시스템.
- 제 11 항에 있어서, 상기 명령들의 실행은 추가로, 상기 음성 향상 시스템으로 하여금: 상기 복수의 마스크들을 결정하기 이전에 상기 참조 오디오 신호에 기초하여 상기 제1 오디오 신호에 대해 음향 에코 제거(AEC) 동작을 수행하게 하는, 음성 향상 시스템.
- 제 13 항에 있어서, 상기 AEC 동작은 선형 필터와 연관되는, 음성 향상 시스템.
- 제 11 항에 있어서, 상기 복수의 마스크들을 결정하는 것은: 신경망 모델에 기초하여 상기 제1 오디오 신호 및 상기 참조 오디오 신호로부터 복수의 출력들을 추론하는 것을 포함하는, 음성 향상 시스템.
- 제 15 항에 있어서, 상기 복수의 마스크들을 결정하는 것은: 상기 복수의 출력들의 제1 서브세트 및 상보 음성 마스크( )에 기초하여 상기 음성 마스크 를 추정하는 것으로서, 인, 상기 음성 마스크 를 추정하는 것; 상기 복수의 출력들의 제2 서브세트 및 상보 에코 마스크( )에 기초하여 상기 에코 마스크 를 추정하는 것으로서, 인, 상기 에코 마스크 를 추정하는 것; 및 상기 음성 마스크 및 상기 에코 마스크 에 기초하여 상기 노이즈 마스크 를 결정하는 것 을 더 포함하는, 음성 향상 시스템.
- 제 16 항에 있어서, 상기 음성 마스크 를 추정하는 것은: 상기 복수의 출력들의 상기 제1 서브세트의 하나 이상의 제1 출력들에 기초하여 상기 음성 마스크 의 크기를 결정하는 것; 상기 하나 이상의 제1 출력들에 기초하여 상기 상보 음성 마스크 의 크기를 결정하는 것; 및 상기 음성 마스크 의 크기, 상기 상보 음성 마스크 의 크기, 및 상기 복수의 출력들의 상기 제1 서브세트의 하나 이상의 제2 출력들에 기초하여 상기 음성 마스크 의 위상을 결정하는 것 을 포함하는, 음성 향상 시스템.
- 제 16 항에 있어서, 상기 에코 마스크 를 추정하는 것은: 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제1 출력들에 기초하여 상기 에코 마스크 의 크기를 결정하는 것; 상기 하나 이상의 제1 출력들에 기초하여 상기 상보 에코 마스크 의 크기를 결정하는 것; 및 상기 에코 마스크 의 크기, 상기 상보 에코 마스크 의 크기, 및 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제2 출력들에 기초하여 상기 에코 마스크 의 위상을 결정하는 것 을 포함하는, 음성 향상 시스템.
- 제 16 항에 있어서, 상기 에코 마스크 를 추정하는 것은: 상기 복수의 출력들의 상기 제2 서브세트 및 상보 참조 마스크( )에 기초하여 상기 참조 오디오 신호와 연관된 참조 마스크( )를 추정하는 것을 더 포함하며, 인, 음성 향상 시스템.
- 제 19 항에 있어서, 상기 에코 마스크 를 추정하는 것은: 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제1 출력들에 기초하여 상기 참조 마스크 의 크기를 결정하는 것; 상기 하나 이상의 제1 출력들에 기초하여 상기 상보 참조 마스크 의 크기를 결정하는 것; 상기 참조 마스크 의 크기에 기초하여 상기 에코 마스크 의 크기를 결정하는 것; 상기 상보 참조 마스크 의 크기에 기초하여 상기 상보 에코 마스크 의 크기를 결정하는 것; 및 상기 에코 마스크 의 크기, 상기 상보 에코 마스크 의 크기, 및 상기 복수의 출력들의 상기 제2 서브세트의 하나 이상의 제2 출력들에 기초하여 상기 에코 마스크 의 위상을 결정하는 것 을 더 포함하는, 음성 향상 시스템.
Description
단일 마이크로폰 음향 에코 및 노이즈 억제 관련 출원에 대한 상호 참조 본 특허 출원은, “SINGLE-MICROPHONE ACOUSTIC ECHO AND NOISE SUPPRESSION”의 제목으로 2023년 9월 1일자 출원된 미국 정규 특허 출원 번호 제18/460,442호에 대한 우선권을 주장하며, 이는 본원의 양수인에게 양도되고 그 전체가 참조에 의해 본원에 통합된다. 기술 분야 본 구현들은 일반적으로 오디오 신호 프로세싱에 관한 것이며, 구체적으로는 단일 마이크로폰 음향 에코(echo) 및 노이즈(noise) 억제 기법들에 관한 것이다. 많은 핸즈프리(hands-free) 통신 디바이스들(이를테면, VoIP(voice over Internet protocol) 전화기들, 스피커폰들, 및 핸즈프리 모드로 동작하도록 구성된 모바일 전화기들)은 서로에 대해 비교적 근접하게 위치되는 마이크로폰들 및 스피커들을 포함한다. 마이크로폰들은 주변 환경으로부터의 음파들을 오디오 신호들(또한 "마이크로폰 신호들"로 지칭됨)로 컨버팅(converting)하도록 구성되며, 상기 오디오 신호들은 통신 채널을 통해, 원단(far-end) 디바이스로 송신될 수 있다. 스피커들은 원단 디바이스로부터 수신된 오디오 신호들을 근단(near-end) 사용자가 들을 수 있는 음파들로 컨버팅하도록 구성된다. 스피커들과 마이크로폰들의 근접성으로 인해, 마이크로폰 신호들은 음성(speech) 성분(근단 사용자로부터 발생(originate)한 오디오를 나타냄), 에코 성분(스피커들에 의해 방출된 오디오를 나타냄), 및 노이즈 성분(배경 환경으로부터의 주변 오디오를 나타냄)을 포함할 수도 있다. 음향 에코 제거(Acoustic echo cancellation, AEC)는 마이크로폰 신호의 에코 성분을 제거 또는 억제하려고 시도하는 다양한 기법들을 지칭한다. 많은 기존의 AEC 기법들은, 스피커와 마이크로폰 사이의 임펄스 응답(impulse response)을 근사화하는 선형 전달 함수에 의존한다. 예를 들어, 선형 전달 함수는 스피커와 마이크로폰 사이의 음향 커플링(또는 채널)을 모델링하는 적응 필터(adaptive filter)(이를테면, 정규화된 최소 평균 제곱(NLMS) 알고리즘)를 사용하여 결정될 수도 있다. 그러나, NLMS 알고리즘의 수렴 속도(converge rate)는 더블 토크(double-talk) 조건들(이를테면, 근단 사용자와 원단 사용자가 동시에 말하는 경우) 및 에코 경로의 변화들에 의존할 수도 있다. 또한, 그러한 선형 전달 함수들은 스피커의 다양한 기계적 컴포넌트들과 증폭기들에 의해 에코 경로를 따라 도입된 비선형성들을 고려(account for)하지 못한다. 따라서, 마이크로폰 신호들에서의 음성의 품질을 더욱 개선시킬 필요가 있다. 이 개요는, 아래에 상세한 설명에서 추가로 설명되는 개념들의 선택을 간략화된 형태로 도입하기 위해 제공된다. 이 개요는 청구된 주제의 핵심적인 특징들 또는 본질적인 특징들을 식별하도록 의도된 것도 아니고, 청구된 주제의 범위를 제한하도록 의도되는 것도 아니다. 이 개시의 주제의 일 혁신적인 양태는 음성 향상의 방법에서 구현될 수 있다. 방법은, 마이크로폰을 통해 제1 오디오 신호를 수신하는 단계; 스피커를 통한 출력을 위한 제2 오디오 신호를 수신하는 단계; 제1 오디오 신호와 제2 오디오 신호 사이의 지연(delay)에 기초하여 참조(reference) 오디오 신호를 추정하는 단계; 제1 오디오 신호 및 참조 오디오 신호에 기초하여 복수의 마스크들을 결정하는 단계로서, 복수의 마스크들은 제1 오디오 신호의 음성 성분과 연관된 음성 마스크, 제1 오디오 신호의 에코 성분과 연관된 에코 마스크, 및 제1 오디오 신호의 노이즈 성분과 연관된 노이즈 마스크를 포함하는, 상기 복수의 마스크들을 결정하는 단계; 및 복수의 마스크들에 적어도 부분적으로 기초하여 제1 오디오 신호의 에코 성분 및 노이즈 성분을 억제하는 단계를 포함한다. 본 개시의 주제의 다른 혁신적 양태는, 프로세싱 시스템 및 메모리를 포함하는, 음성 향상 시스템에서 구현될 수 있다. 메모리는 명령들을 저장하며, 그 명령들은 프로세싱 시스템에 의해 실행될 때, 음성 향상 시스템으로 하여금, 마이크로폰을 통해 제1 오디오 신호를 수신하게 하고; 스피커를 통한 출력을 위한 제2 오디오 신호를 수신하게 하고; 제1 오디오 신호와 제2 오디오 신호 사이의 지연에 기초하여 참조 오디오 신호를 추정하게 하고; 제1 오디오 신호와 참조 오디오 신호에 기초하여 복수의 마스크들을 결정하게 하는 것으로서, 복수의 마스크들은 제1 오디오 신호의 음성 성분과 연관된 음성 마스크, 제1 오디오 신호의 에코 성분과 연관된 에코 마스크, 및 제1 오디오 신호의 노이즈 성분과 연관된 노이즈 마스크를 포함하는, 상기 복수의 마스크들을 결정하게 하고; 그리고 복수의 마스크들에 적어도 부분적으로 기초하여 제1 오디오 신호의 에코 성분 및 노이즈 성분을 억제하게 한다. 본 구현들은 예로서 예시되고 첨부 도면들의 도면들에 의해 제한되도록 의도된 것이 아니다. 도 1은 예시적인 핸즈프리 통신 시스템을 도시한다. 도 2는 일부 구현들에 따른, 예시적인 음성 향상 시스템의 블록도를 도시한다. 도 3은 일부 구현들에 따른, 예시적인 음향 에코 및 노이즈(acoustic echo and noise, AEN) 디커플링(decoupling) 시스템의 블록도를 도시한다. 도 4a는 일부 구현들에 따른, 예시적인 오디오 마스크 생성 시스템의 블록도를 도시한다. 도 4b는 일부 구현들에 따른, 예시적인 오디오 마스크 생성 시스템의 블록도를 도시한다. 도 5는 일부 구현들에 따른, 예시적인 음성 향상 시스템의 다른 블록도를 도시한다. 도 6은 일부 구현들에 따른, 음성 향상을 위한 예시적인 동작을 묘사하는 예시적인 플로우차트를 도시한다. 하기 설명에서, 본 개시의 철저한 이해를 제공하기 위해 특정 컴포넌트들, 회로들, 및 프로세스들의 예들과 같은 많은 특정 세부 사항들이 제시된다. 본 명세서에 사용된 바와 같은 용어 "커플링된"은 하나 이상의 개재하는 컴포넌트들 또는 회로들에 직접 연결되거나 또는 이들을 통해 연결된 것을 의미한다. 용어들 "전자 시스템" 및 "전자 디바이스"는 정보를 전자적으로 프로세싱할 수 있는 임의의 시스템을 지칭하도록 상호교환가능하게 사용될 수도 있다. 또한, 하기 설명에서 그리고 설명의 목적으로, 본 개시의 양태들의 철저한 이해를 제공하기 위해 특정 명명법이 제시된다. 그러나, 예시적인 실시예들을 실시하는데 이들 특정 세부 사항들이 필요하지 않을 수도 있음이 당업자에게 명백할 것이다. 다른 경우들에서, 잘 알려진 회로들 및 디바이스들은 본 개시를 모호하게 하는 것을 회피하기 위해 블록도 형태로 나타낸다. 뒤따르는 상세한 설명들의 일부 부분들은 절차들, 논리 블록들, 프로세싱, 및 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 다른 심볼 표현들에 관하여 제시된다. 이들 설명들 및 표현들은 데이터 프로세싱 기술분야의 당업자들에 의해 그들의 작업의 실체를 다른 당업자들에게 가장 효과적으로 전달하기 위해 사용되는 수단들이다. 본 개시에서, 절차, 논리 블록, 프로세스 등은 원하는 결과에 이르게 하는 단계들 또는 명령들의 자기 부합적 시퀀스인 것으로 인식된다. 단계들은 물리량들의 물리적 조작들을 요구하는 것들이다. 통상적으로, 필수적인 것은 아닐지라도, 이들 양들은 컴퓨터 시스템에서 저장, 전송, 결합, 비교, 및 달리 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 취한다. 하지만, 이들 및 유사한 용어들 모두는 적절한 물리량들과 연관될 것이고, 이들 양들에 적용된 단지 편리한 라벨들임을 명심해야 한다. 하기 논의들로부터 명백한 바와 같이 달리 명시적으로 언급되지 않는 한, 본원 전체에 걸쳐, "액세스하는 것", "수신하는 것", "전송하는 것", "사용하는 것", "선택하는 것", "결정하는 것", "정규화하는 것", "승산하는 것", "평균화하는 것", "모니터링하는 것", "비교하는 것", "적용하는 것", "업데이트하는 것", "측정하는 것", "도출하는 것" 등과 같은 용어들을 활용하는 논의들은 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 지칭한다는 것이 이해되며, 상기 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스는 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리(전자)량들로서 표현된 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 스토리지, 송신 또는 디스플레이 디바이스들 내의 물리량들로서 유사하게 표현된 다른 데이터로 조작 및 변환한다. 도면들에서, 단일 블록이 기능 또는 기능들을 수행하는 것으로서 설명될 수도 있지만, 실제 실시에 있어서, 그 블록에 의해 수행되는 기능 또는 기능들은 단일 컴포넌트에서 또는 다수의 컴포넌트들에 걸쳐 수행될 수도 있고/있거나 하드웨어를 사용하여, 소프트웨어를 사용하여, 또는 하드웨어와 소프트웨어의 조합을 사용하여 수행될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호교환가능성을 분명히 예시하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그들의 기능성의 관점에서 아래에 설명되었다. 이러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 특정 응용 및 전반적인 시스템에 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능성을 각각의 특정 응용을 위해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 개시의 범위로부터의 일탈을 야기하는 것으로서 해석되지 않아야 한다. 또한, 예시의 입력 디바이스들은 프로세서, 메모리 등과 같은 잘 알려진 컴포넌트들을 포함한, 나타낸 것들 이외의 컴포넌트들을 포함할 수도 있다. 본 명세서에 설명된 기법들은 특정 방식으로 구현되는 것으로 구체적으로 설명되지 않는 한, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다.