KR102194165B1 - 에코 제거기 - Google Patents

에코 제거기 Download PDF

Info

Publication number
KR102194165B1
KR102194165B1 KR1020157036587A KR20157036587A KR102194165B1 KR 102194165 B1 KR102194165 B1 KR 102194165B1 KR 1020157036587 A KR1020157036587 A KR 1020157036587A KR 20157036587 A KR20157036587 A KR 20157036587A KR 102194165 B1 KR102194165 B1 KR 102194165B1
Authority
KR
South Korea
Prior art keywords
echo
model
audio signal
estimate
received audio
Prior art date
Application number
KR1020157036587A
Other languages
English (en)
Other versions
KR20160014679A (ko
Inventor
퍼 아그렌
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160014679A publication Critical patent/KR20160014679A/ko
Application granted granted Critical
Publication of KR102194165B1 publication Critical patent/KR102194165B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)

Abstract

에코 제거 기술이 설명된다. 에코 제거의 일부로서, 수신된 오디오 신호에서의 에코의 제1 모델 추정치는 제1 모델을 사용하여 결정되고 수신된 오디오 신호에서의 에코의 제2 모델 추정치는 제2 모델을 사용하여 결정된다. 제1 모델의 제1 정확도 값은 모델 정확도 척도(model accuracy measure)에 따라 결정되고 제2 모델의 제2 정확도 값은 모델 정확도 척도에 따라 결정된다. 그 다음, 제1 정확도 값과 제2 정확도 값의 비교에 기초하여 제1 모델이 제2 모델보다 더 정확한지가 결정되고 상기 비교에 기초하여 제2 모델이 선택적으로 업데이트된다. 에코 제거는 에코의 제2 모델 추정치만을 사용하여 수신된 오디오 신호에 적용된다.

Description

에코 제거기{ECHO REMOVAL}
디바이스는 주변 환경으로부터 오디오 신호를 수신하기 위해 사용될 수 있는 오디오 입력 장치를 구비할 수도 있다. 디바이스는 주변 환경으로 오디오 신호를 출력하기 위해 사용될 수 있는 오디오 출력 장치를 또한 구비할 수도 있다. 예를 들면, 디바이스는 오디오 신호를 출력하기 위한 하나 이상의 스피커 및 오디오 신호를 수신하기 위한 하나 이상의 마이크를 구비할 수도 있다. 디바이스의 스피커(들)로부터 출력되는 오디오 신호는 마이크(들)에 의해 수신되는 오디오 신호에서 "에코"로서 수신될 수도 있다. 이 에코는 수신된 오디오 신호에서 소망되지 않는다는 것이 사실일 수도 있다. 예를 들면, 디바이스는, 네트워크를 통한 다른 유저 디바이스와의 통신 이벤트, 예컨대 음성 또는 영상 통화에서 사용되는 유저 디바이스(예컨대 모바일 폰, 태블릿, 랩탑, PC 등등)일 수도 있다. 통화의 원단 신호(far-end signal)는 유저 디바이스의 스피커로부터 출력될 수도 있고 그 디바이스에 있는 마이크에 의해 수신되는 오디오 신호에서 에코로서 수신될 수도 있다. 이러한 에코는 통화의 유저에게 방해가 될 수 있고, 통화의 감지되는 품질이 에코로 인해 감소될 수도 있다. 특히, 에코는, 마이크에 의해 수신되어 통화의 원단으로 송신되도록 의도되는 근단(near-end) 오디오 신호에 대해 간섭을 야기할 수도 있다. 따라서, 수신된 오디오 신호에서의 에코를 억제하기 위해, 수신된 오디오 신호에 대해 에코 소거(echo cancellation) 및/또는 에코 억제가 적용될 수도 있다. 수신된 오디오 신호에서의 에코의 전력은 유저 디바이스의 배치에 따라 상이할 수도 있다. 예를 들면, 유저 디바이스는 모바일 폰일 수도 있고, 그 경우, 수신된 오디오 신호에서의 에코의 전력은, 모바일 폰이 "핸즈프리(hands-free)" 모드에서 동작하고 있지 않을 때와 비교하여 모바일 폰이 "핸즈프리" 모드에서 동작하고 있을 때 일반적으로 더 높을 것이다.
에코 소거(또는 "에코 감산(echo subtraction)") 기술은, 스피커로부터 출력되는 오디오 신호의 지식에 기초하여, 마이크에서 수신되는 오디오 신호에 포함되는 에코 신호를 추정하는 것을 목표로 한다. 그 다음, 에코 신호의 추정치는 수신된 오디오 신호로부터 감산되어 그로 인해 수신된 오디오 신호로부터의 에코 중 적어도 일부를 수신된 오디오 신호에서 제거하게 된다. 수신된 오디오 신호에 대해 주파수 종속 억제(frequency-dependent suppression)를 적용하여 수신된 오디오 신호에서의 에코를 억제하기 위해 에코 억제가 사용된다.
이 개요는 하기의 상세한 설명에서 더 설명되는 개념의 선택을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요 특징이나 또는 본질적인 특징을 식별하도록 의도된 것이 아니며, 청구된 주제의 범위를 제한하는 데 사용되도록 의도된 것도 아니다.
수신된 오디오 신호에서 에코를 제거하는 방법이 제공된다. 에코 제거의 일부로서, 수신된 오디오 신호에서의 에코의 제1 모델 추정치는 제1 모델을 사용하여 결정되고 수신된 오디오 신호에서의 에코의 제2 모델 추정치는 제2 모델을 사용하여 결정된다. 제1 모델의 제1 정확도 값은 모델 정확도 척도(model accuracy measure)에 따라 결정되고 제2 모델의 제2 정확도 값은 모델 정확도 척도에 따라 결정된다. 그 다음, 제1 정확도 값과 제2 정확도 값의 비교에 기초하여 제1 모델이 제2 모델보다 더 정확한지가 결정되고 상기 비교에 기초하여 제2 모델이 선택적으로 업데이트된다. 에코 제거는 에코의 제2 모델 추정치만을 사용하여 수신된 오디오 신호에 적용된다.
그 방법은 통화(예를 들면, 유저 디바이스 사이에서 오디오 데이터를 송신하기 위해 인터넷 전화(voice over internet protocol; VoIP)를 구현하는 통화)에서 사용될 수도 있는데, 이 경우, 출력된 오디오 신호는 통화의 원단으로부터 수신되는 원단 신호일 수도 있고, 수신된 신호는 결과적으로 나타나는 에코 및 통화의 원단으로 송신하기 위한 근단 신호를 포함한다.
설명되는 실시형태의 더 나은 이해를 위해 그리고 설명되는 실시형태가 어떻게 실행될 수도 있는지를 나타내기 위해, 이제, 예로서, 하기의 도면을 참조할 것인데, 도면에서:
도 1은 통신 시스템의 개략적인 예시를 도시한다;
도 2는 유저 디바이스의 개략적인 블록도이다;
도 3은 에코 제거에서 사용하기 위한 유저 디바이스의 모듈을 도시하는 기능도이다; 그리고
도 4는 에코를 제거하는 프로세스의 플로우차트이다.
이제, 실시형태가 단지 예로서 설명될 것이다.
도 1은 제1 유저 디바이스(104)와 관련되는 제1 유저(102)("유저 A") 및 제2 유저 디바이스(110)와 관련되는 제2 유저(108)("유저 B")를 포함하는 통신 시스템(100)을 도시한다. 다른 실시형태에서, 통신 시스템(100)은 임의의 수의 유저 및 관련 유저 디바이스를 포함할 수도 있다. 유저 디바이스(104 및 110)는 통신 시스템(100)의 네트워크(106)를 통해 통신할 수 있고, 그로 인해 유저(102 및 108)가 네트워크(106)를 통해 서로 통신하는 것을 허용하게 된다. 도 1에 도시되는 통신 시스템(100)은 패킷 기반 통신 시스템이지만, 다른 타입의 통신 시스템이 사용될 수 있을 것이다. 예를 들면, 네트워크(106)는 인터넷일 수도 있다. 유저 디바이스(104 및 110)의 각각은, 예를 들면, 모바일 폰, 태블릿, 랩탑, 퍼스널 컴퓨터(personal computer; "PC")(예를 들면, Windows™, Mac OS™ 및 Linux™ PC를 포함함), 게임용 디바이스, 텔레비젼, 개인 휴대 정보 단말(personal digital assistant; "PDA") 또는 네트워크(106)에 연결가능한 다른 임베딩된 디바이스일 수도 있다. 유저 디바이스(104)는 유저 디바이스(104)의 유저(102)로부터 정보를 수신하도록 그리고 그 유저(102)에게 정보를 출력하도록 구성(arrange)된다. 유저 디바이스(104)는 디스플레이 및 스피커와 같은 출력 수단을 포함한다. 유저 디바이스(104)는, 키패드, 터치스크린, 오디오 신호를 수신하기 위한 마이크 및/또는 비디오 신호의 이미지를 캡쳐하기 위한 카메라와 같은 입력 수단을 또한 포함한다. 유저 디바이스(104)는 네트워크(106)에 연결된다.
유저 디바이스(104)는, 통신 시스템(100)과 관련되는 소프트웨어 공급자에 의해 제공되는, 통신 클라이언트의 인스턴스를 실행한다. 통신 클라이언트는 유저 디바이스(104)의 로컬 프로세서 상에서 실행되는 소프트웨어 프로그램이다. 클라이언트는, 유저 디바이스(104)가 통신 시스템(100)을 통해 데이터를 송신하고 수신하기 위해 유저 디바이스(104)에서 요구되는 프로세싱을 수행한다.
유저 디바이스(110)는 유저 디바이스(104)에 대응하고, 로컬 프로세서 상에서, 유저 디바이스(104)에서 실행되는 통신 클라이언트에 대응하는 통신 클라이언트를 실행한다. 유저 디바이스(110)에서의 클라이언트는 유저(108)가 네트워크(106)를 통해 통신하는 것을 허용하는 데 필요한 프로세싱을, 유저(102)가 네트워크(106)를 통해 통신하는 것을 허용하는 데 필요한 프로세싱을 유저 디바이스(104)에서의 클라이언트가 수행하는 것과 동일한 방식으로 수행한다. 유저 디바이스(104 및 110)는 통신 시스템(100)에서 엔드포인트이다. 도 1은 명확화를 위해 단지 두 명의 유저(102 및 108) 및 두 개의 유저 디바이스(104 및 110)를 도시하지만, 더 많은 유저 및 유저 디바이스가 통신 시스템(100)에 포함될 수도 있고, 각각의 유저 디바이스 상에서 실행되는 각각의 통신 클라이언트를 사용하여 통신 시스템(100)을 통해 통신할 수도 있다.
도 2는, 통신 시스템(100)을 통해 통신하기 위한 통신 클라이언트 인스턴스(206)가 실행되는 유저 디바이스(104)의 상세도를 예시한다. 유저 디바이스(104)는 중앙 처리 유닛(central processing unit; "CPU") 또는 "프로세싱 모듈"(202) 및, 이것에 연결되는 터치스크린으로서 구현될 수도 있는 디스플레이(208), 및 오디오 신호를 출력하기 위한 스피커(또는 "라우드스피커")(210)와 같은 출력 디바이스; 오디오 신호를 수신하기 위한 마이크(212), 이미지 데이터를 수신하기 위한 카메라(216), 및 키패드(218)와 같은 입력 디바이스; 데이터를 저장하기 위한 메모리(214); 및 네트워크(106)와 통신하기 위한 모뎀과 같은 네트워크 인터페이스(220)를 포함한다. 유저 디바이스(104)는 도 2에 도시된 것 이외의 다른 엘리먼트를 포함할 수도 있다. 디스플레이(208), 스피커(210), 마이크(212), 메모리(214), 카메라(216), 키패드(218) 및 네트워크 인터페이스(220)는 도 2에 도시된 바와 같이 유저 디바이스(104) 안에 통합될 수도 있다. 대안적인 유저 디바이스에서, 디스플레이(208), 스피커(210), 마이크(212), 메모리(214), 카메라(216), 키패드(218) 및 네트워크 인터페이스(220) 중 하나 이상은 유저 디바이스(104) 안으로 통합되지 않고 각각의 인터페이스를 통해 CPU(202)에 연결될 수도 있다. 이러한 인터페이스의 한 예는 USB 인터페이스이다. 네트워크 인터페이스(220)를 통한 유저 디바이스(104)의 네트워크(106)로의 연결이 무선 연결이면, 네트워크 인터페이스(220)는 네트워크(106)로 신호를 무선으로 송신하고 네트워크(106)로부터 신호를 무선으로 수신하기 위한 안테나를 포함할 수도 있다.
도 2는 CPU(202) 상에서 실행되는 오퍼레이팅 시스템(operating system; "OS")(204)을 또한 예시한다. OS(204)의 최상부에서 실행하는 것은 통신 시스템(100)의 클라이언트 인스턴스(206)의 소프트웨어이다. 오퍼레이팅 시스템(204)은 컴퓨터의 하드웨어 리소스를 관리하고 네트워크 인터페이스(220)를 통해 네트워크(106)로 송신되는 그리고 네트워크(106)로부터 수신되는 데이터를 핸들링한다. 클라이언트(206)는 오퍼레이팅 시스템(204)과 통신하고 통신 시스템을 통한 연결을 관리한다. 클라이언트(206)는, 유저(102)에게 정보를 제공하기 위해 그리고 유저(102)로부터 정보를 수신하기 위해 사용되는 클라이언트 유저 인터페이스를 구비한다. 이 방식에서, 클라이언트(206)는, 유저(102)가 통신 시스템(100)을 통해 통신하는 것을 허용하는 데 필요한 프로세싱을 수행한다.
음향적 에코 소거에서는, 라우드스피커 신호(x(t))로부터 기원하는 마이크 신호(y(t))에서의 에코 신호(s(t))를 제거하는 것을 목적으로 한다. 이것은, 임의의 근단 신호(v(t))의 감지에 가능한 한 영향을 끼치지 않기 위해, 가능한 한 정확하게 그리고 가능한 한 과도하지 않게 행해져야 한다. 마이크 신호는 y (t) = s(t) + v(t)로 기록될 수 있다. 에코 신호는 s(t) = F(x(t))와 같은 라우드스피커 신호의 함수이다.
상기를 달성하기 위한 두 가지의 주요 방식이 존재하는데, 하나는 에코 감산이고 다른 하나는 에코 억제이다. 종종 이들 두 방식은 결합된다.
에코 억제 및 에코 감산 둘 모두에서는, 마이크 신호에서의 에코, 또는 에코 전력과 같은 에코의 몇몇 특성을 추정하기 위해, 모델(
Figure 112015126852318-pct00001
)이 사용된다. 이러한 모델의 추정에서의 공통적인 문제점은, 모델 추정치의 업데이트 속도가 당면한(at hand) 신호 조건에 맞춰지도록, 모델 추정치의 조심스러운 제어가 필요로 된다는 것이다. 한 예는, 에코 신호(s(t) 및 근단 신호(v(t))가 강할 때 모델이 조정되면, 이 모델은 에코의 불량한 추정기일 것이라는 점에서 이 모델은 종종 발산할 것이다.
이 문제점을 다루기 위한 몇몇 공지의 기술이 존재하는데, 하나는 더블토크(doubletalk) 검출이고 다른 하나는 표시된 스텝 사이즈 제어이다. 더블토크 검출에서, 강한 에코(s(t)) 및 근단 신호(v(t)) 둘 모두가 검출되는 경우, 통상적으로, 모델 적응은 더블토크의 지속기간 동안 일시적으로 정지된다. 더블토크 검출 알고리즘과 함께 하는 문제점은, 양호한 모델 추정치를 보장하기 위해 필요로 되는 것만큼 정확한 방식으로 더블토크 검출 알고리즘을 달성하는 것이 일반적으로 어렵다는 것 및 더블토크 검출 알고리즘의 동작을 위해서는, 더블토크 검출 알고리즘이 제어하도록 디자인된 실제 모델 추정치를 사용하는 것을 더블토크 검출 알고리즘이 통상적으로 수반한다는 것이다. 스텝 사이즈의 제어에서, 업데이트 속도는, 모델의 업데이트를 달성하기 위해, 모델의 정확도에 따라 그리고 근단 신호(v(t)) 및 에코 신호(s(t))의 전력에 따라 조심스럽게 조정된다. 스텝 사이즈의 제어 알고리즘과 함께 하는 주요 문제점은, 정확한 업데이트 속도를 선택하기 위해 필요로 되는 모델의 정확성을 정확하게 액세스하는 것이 아주 어렵다는 것이다.
하기에서 설명되는 실시형태에서는, 조건에 무관하게 항상 업데이트되는 제1 모델, 및 제1 모델이 제2 모델보다 더 나은(더 정확한) 것으로 간주될 때마다 제1 모델에 기초하여 업데이트는 제2 모델의 두 모델을 사용하여 더블토크 검출 및 스텝 사이즈 제어에 필요한 요소들이 극복된다.
도 3 및 도 4를 참조하여, 이제, 에코를 제거하는 방법이 설명된다. 도 3은 에코 제거 프로세스가 어떻게 구현되는지를 도시하는 유저 디바이스(104)의 일부의 기능도이다.
도 3에 도시된 바와 같이, 유저 디바이스(104)는 스피커(210), 마이크(212), 모델링 모듈(302), 및 에코 제거 모듈(314)을 포함한다. 모델링 모듈(302)은 제1 필터 모듈(304), 제2 필터 모듈(308), 및 비교 모듈(312)을 포함한다. 에코 제거 모듈(314)은 도 3을 참조로 에코 억제 모듈(314)로서 설명된다.
도 4는 에코를 억제하는 프로세스에 대한 플로우차트이다.
스피커(210)로부터 출력될 신호(x(t))는 스피커(210)의 입력에 커플링된다. 본원에서 설명되는 실시형태에서는 단지 하나의 스피커(도면에서 도면부호 210으로 나타내어짐)가 존재하지만, 다른 실시형태에서는 출력될 신호가 (출력을 위해) 커플링되는 하나보다 많은 스피커가 존재할 수도 있다는 것을 유의해야 한다. 마찬가지로, 본원에서 설명되는 실시형태에서는 단지 하나의 마이크(도면에서 도면부호 212로 나타내어짐)가 존재하지만, 다른 실시형태에서는 주변 환경으로부터 오디오 신호를 수신하는 하나보다 많은 마이크가 존재할 수도 있다. 스피커(210)로부터 출력될 신호는 모델링 모듈(302)에 또한 커플링된다. 특히, 스피커(210)로부터 출력될 신호는 제1 필터 모듈(304)의 제1 입력에 그리고 제2 필터 모듈(308)의 제1 입력에 커플링된다. 마이크(212)의 출력은 모델링 모듈(302)에 커플링된다. 특히, 마이크(212)의 출력은 제1 필터 모듈(304)의 제2 입력에 그리고 비교 모듈(312)의 제1 입력에 커플링된다. 마이크(212)의 출력은 에코 억제 모듈(314)의 제1 입력에 또한 커플링된다. 제1 필터 모듈(304)의 출력은 비교 모듈(312)의 제2 입력에 커플링된다. 제2 필터 모듈(308)의 출력은 비교 모듈(312)의 제3 입력에 커플링된다. 비교 모듈(312)의 출력은 제2 필터 모듈(308)의 제2 입력에 커플링된다. 모델링 모듈(302)의 출력은 에코 억제 모듈(314)의 제2 입력에 커플링된다. 특히, 제2 필터 모듈(308)의 출력은 에코 억제 모듈(314)의 제2 입력에 커플링된다. 에코 억제 모듈(314)의 출력은, 유저 디바이스(104)에서의 추가 프로세싱을 위해 (에코 억제가 적용된) 수신된 신호를 제공하기 위해 사용된다.
단계 S402에서, 스피커(210)로부터 출력될 신호가 수신된다. 예를 들면, 출력될 신호는, 통신 시스템(100)을 통해 유저(102 및 108) 사이의 통화 동안 유저 디바이스(104)에서 수신된 유저 디바이스(110)로부터의 원단 신호일 수도 있다. 수신된 신호에 대해 수행될 필요가 있는 임의의 프로세싱(예를 들면, 음성 코덱을 사용하는 디코딩, 패킷화해제(depacketizing) 등등)은, 기술분야에서 알려진 바와 같이 (예를 들면, 클라이언트(206)에 의해) 수행되어, 스피커(210)로부터 출력되기에 적합한 신호(x(t))에 도달하게 된다. 신호(x(t))는 디지털 신호이다. 유저 디바이스(104)에서의 신호의 프로세싱 중 적어도 일부는 스피커(210)로부터 신호를 출력하기 이전에 디지털 도메인에서 수행된다. 기술분야에서 공지된 바와 같이, 라우드스피커(210)로부터 재생되기 이전에, 디지털 신호(x(t))에 대해 디지털 아날로그 변환기(digital to analogue converter; DAC)가 적용된다. 마찬가지로, 마이크(212)에 의해 캡쳐되는 신호에 아날로그 디지털 변환기(analogue to digital converter; ADC)가 적용되어 디지털 신호(y(t))에 도달한다.
다른 실시형태에서, 출력될 신호는 통화 중에 통신 시스템(100)을 통하는 것 이외에 어딘가로부터 수신될 수도 있다. 예를 들면, 출력될 신호는 메모리(214)에 저장되어 있을 수도 있고 단계 S402는 메모리(214)로부터 신호를 취출하는 것을 포함할 수도 있다.
단계 S404에서, 오디오 신호(x(t))는 스피커(210)로부터 출력된다. 이 방식으로, 오디오 신호(x(t))는 유저(102)에게 출력된다.
단계 S406에서, 마이크(212)는 오디오 신호를 수신한다. 도 3에 도시된 바와 같이, 수신된 오디오 신호는, 소망하는 신호인 또는 "주 신호(primary signal)"인 근단 신호를 포함할 수도 있다. 근단 신호는, 마이크(212)가 수신하기를 유저(102)가 의도하는 신호이다. 그러나, 수신된 오디오 신호는, 단계 S404에서 스피커(210)로부터 출력되는 오디오 신호로부터 발생한 에코 신호를 또한 포함한다. 수신된 오디오 신호는 배경 노이즈와 같은 노이즈를 또한 포함할 수도 있다. 따라서, 전체 수신된 오디오 신호(y(t))는 근단 신호, 에코 및 노이즈의 합에 의해 주어질 수 있다. 에코 및 노이즈는 근단 신호에 대한 간섭으로서 작용한다.
제1 필터 모듈(304)은 출력된 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))를 입력으로서 취한다. 단계 S408에서, 제1 필터 모듈(304)은 수신된 오디오 신호(y(t))에서의 에코를 모델링하기 위해 사용된다. 특히, 제1 필터 모듈(304)은, 출력된 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))를 사용하여 근단 신호(y(t))에서의 에코 성분의 추정치를 결정하도록 동작가능하다.
에코 경로는, 스피커(210)로부터 마이크(212)까지 원단 신호가 이동하는 음향 경로의 효과를 설명한다. 원단 신호는 스피커(210)로부터 마이크(212)까지 바로 이동할 수도 있거나, 또는 원단 신호는 근단 단말의 환경의 다양한 표면으로부터 반사될 수도 있다. 스피커(210)로부터 출력되는 원단 신호가 가로지르는 에코 경로는, 시간에 걸쳐 변할 수도 있는 주파수 및 위상 응답을 갖는 시스템으로 간주될 수도 있다.
근단 마이크(212)에서 기록되는 신호(y(t))에서 음향적 에코(s(t))를 제거하기 위해, 어떻게 에코 경로가 소망의 원단 스피커 출력 신호(x(t))를 입력 신호의 소망되지 않는 에코 성분으로 변경시키는지를 추정하는 것이 필요하다.
예를 들면, 식:
Figure 112015126852318-pct00002
에 따라 임펄스 응답(h(t))에 의해 표현되는 선형 에코 경로의 경우, 에코 경로(h(t))는, 수신된 오디오 신호(y(t))에서의 에코가 스피커(210)로부터 출력되는 오디오 신호(x(t))에 어떻게 관련이 있는지를 설명하는데, 여기서 s(t)는 수신된 오디오 신호(y(t))에서의 에코이고, Ntrue는 임펄스 응답의 무시할 수 없는 부분을 커버하기에 충분히 큰 수(이론적으로 Ntrue는 무한대)이고, hn(t)는 에코 경로(h(t))를 설명하는 임펄스 응답의 계수이다. 에코 경로(h(t))는 시간 및 주파수 둘 모두에서 변할 수도 있고 이하 h(t) 또는 h(t,f)로 칭해질 수도 있다. 에코 경로(h(t))는 (i) 스피커(210) 및 마이크(212) 주위의 현재의 환경적 조건(예를 들면, 스피커(210)로부터 마이크(212)로의 오디오 신호의 통로에 임의의 물리적 방해물이 존재하는지의 여부, 기압, 온도, 바람 등등), 및 (ii) 신호가 출력되고/되거나 수신될 때 신호를 변경할 수도 있는 스피커(210) 및/또는 마이크(212)의 특성에 의존할 수도 있다.
제1 필터 모듈(304)은, 출력된 오디오 신호(x(t))의 유한 개수(N)의 이전 값과 현재 값의 가중치가 부여된(weighted) 합을 결정하는 것에 의해, 수신된 오디오 신호(y(t))에서의 에코의 에코 경로(h(t))를 모델링한다. 따라서, 제1 필터 모듈(304)은 (시간에서) 유한한 길이를 갖는 N차 필터를 구현하는데, 제1 필터 모듈(304)은 에코 경로(
Figure 112015126852318-pct00003
)의 추정치를 결정함에 있어서 출력된 오디오 신호(x(t))의 값을 이 유한한 길이에 걸쳐 고려한다. 이 방식에서, 제1 필터 모듈(304)은 에코 경로(
Figure 112015126852318-pct00004
)의 필터 추정치를 동적으로 적응시킨다. 그 동작은, 수신된 오디오 신호(y(t))에서의 에코를 출력된 오디오 신호(x(t))의 항으로 정의하는 다음의 식에 의해 설명된다:
Figure 112015126852318-pct00005
. 따라서, 각각의 N+1 개의 가중치(
Figure 112015126852318-pct00006
)를 갖는, 출력된 오디오 신호(x(t))의 N+1 개의 샘플이 사용된다. N+1 개의 가중치(
Figure 112015126852318-pct00007
)의 세트는 본원에서 간단히 에코 경로(
Figure 112015126852318-pct00008
)의 추정치로 칭해진다. 다시 말하면, 에코 경로(
Figure 112015126852318-pct00009
)의 추정치는 N+1 개의 값을 갖는 벡터인데, 여기서 제1 필터 모듈(304)은, 신호(x(t))의 N+1 개의 값(예를 들면, N+1 개의 프레임)을 고려하는 N차 필터를 구현한다.
에코가 수신된 오디오 신호의 지배적 부분인 경우, 즉 y(t)
Figure 112015126852318-pct00010
s(t)인 경우, 에코 경로(
Figure 112015126852318-pct00011
)의 필터 추정치를 적응시키는 것이 더 용이하다는 것이 인식될 수 있다. 그러나, 에코가 수신된 오디오 신호(y(t))의 지배적 부분이 아닌 경우에도 에코(s(t))가 y(t)의 다른 신호 성분과 무관하면 에코 경로(
Figure 112015126852318-pct00012
)의 필터 추정치를 적응시키는 것이 가능할 수도 있다.
에코 경로(
Figure 112015126852318-pct00013
)의 추정치는 명시적으로 계산될 필요가 없고, 대신, 최소 제곱 평균(Least Mean Squares; LMS), 정규 최소 제곱 평균(Normalized Least Mean Squares; NLMS), 고속 인접 투사(Fast Affine Projection; FAP) 및 순환 최소 제곱(Recursive Least Squares; RLS)과 같은 확률적 기울기 알고리즘으로부터 획득되는 필터 계수로서 표현될 수 있다는 것이, 기술분야에서 숙련된 자에 의해 인식될 것이다.
에코 경로(
Figure 112015126852318-pct00014
)의 추정치는, 원단 신호(x(t))를 필터링하여 에코 경로(
Figure 112015126852318-pct00015
)의 추정치에 따라 근단 신호(y(t))에서의 에코 성분의 추정치(
Figure 112015126852318-pct00016
)를 생성하는 필터 계수를 제공하기 위해 사용된다. 사용되는 특정 알고리즘에 무관하게, 제1 필터 모듈(304)의 필터 계수는 알고리즘의 각각의 반복과 함께 업데이트되고, 따라서, 제1 필터 모듈(304)의 계수는 당면한 신호 조건과 무관하게 시간에 걸쳐 계속적으로(continually) 업데이트되게 된다.
상기 설명이 근단 신호(y(t))에서의 에코 성분을 추정하기 위해 에코 경로의 시간 도메인 FIR 모델의 사용을 언급하지만, 이것은 단지 예에 불과하며 어떤 방식으로든 제한하는 것은 아니라는 것이 기술분야의 숙련된 자에 의해 인식될 것이다. 즉, 제1 필터 모듈(304)은 에코 경로(
Figure 112015126852318-pct00017
)의 추정치를 결정하도록, 따라서 시간 도메인에서의 또는 주파수 도메인에서의 근단 신호(y(t))에서의 에코 성분의 추정치(
Figure 112015126852318-pct00018
)를 결정하도록 동작할 수도 있다.
바람직하게는, 에코 성분의 추정치는 (도 3에 도시된 바와 같이) 제1 필터 모듈(304)로부터 비교 모듈(312)로 전달된다.
다른 실시형태에서, 단계 S408에서, 에코 성분의 추정치는 제1 필터 모듈(304)로부터 제1 전력 추정 모듈(power estimating module)(도 3에 도시되지 않음)로 전달된다. 제1 전력 추정 모듈은, 필터 추정치(제1 필터 모듈(304)에 의해 결정됨) 및 원단 신호(x(t))에 기초하여, 수신된 오디오 신호에서의 에코 전력을 추정한다. 이것을 행하기 위한, 기술분야에서 숙련된 자에게 공지된 많은 방식이 존재하며, 본 개시의 범위는 에코 전력 추정치를 결정하는 임의의 특정한 방법에 제한되지 않는다. 제1 전력 추정 모듈은 자신의 대응하는 에코 전력 추정치를 비교 모듈(312)로 출력하도록 구성된다.
제2 필터 모듈(308)은 출력된 오디오 신호(x(t)) 및 비교 모듈(312)로부터의 신호를 입력으로서 취한다. 단계 S410에서, 제2 필터 모듈(308)은 수신된 오디오 신호(y(t))에서의 에코를 모델링하기 위해 사용된다. 특히, 제2 필터 모듈(308)은 출력된 오디오 신호(x(t))를 사용하여 근단 신호(y(t))에서의 에코 성분의 제2 모델 추정치를 결정하도록 동작가능하다. 제2 필터 모듈(308)이 근단 신호(y(t))를 수신하기 않기 때문에, 제2 필터 모듈(308)이 에코 성분(s(t))의 추정치를 출력하기 위해서 제2 필터 모듈(308)은 필터 계수의 세트로 초기화된다. 필터 계수를 초기화하기 위한 기술은 기술분야의 숙련된 자에게 널리 공지되어 있으며 따라 본원에서는 설명되지 않는다.
제1 필터 모듈(304)과는 대조적으로, 제2 필터 모듈(308)은, 입력으로서, 수신된 오디오 신호(y(t))를 수신하지 않는다. 따라서, 제2 필터 모듈(308)은, 에코 경로(
Figure 112015126852318-pct00019
)를 추정하여 원단 신호(x(t))를 필터링하는 필터 계수를 제공하도록 동작하지 않는다. 대신, 제2 필터 모듈(308)은 자신의 필터 계수를 업데이트하기 위해 비교 모듈(312)로부터 신호를 수신하는 것에 의존한다. 제2 필터 모듈(308)의 필터 계수는 하기에 더 상세히 설명되는 바와 같이 불규칙적인 방식으로 업데이트된다. 제2 필터 모듈(308)의 필터 계수는 원단 신호(x(t))를 필터링하여 근단 신호(y(t))에서의 에코 성분의 추정치를 생성한다.
바람직하게는, 제2 필터 모듈(308)로부터 출력되는 에코 성분의 추정치는 (도 3에 도시된 바와 같이) 제2 필터 모듈(308)로부터, 비교 모듈(312) 및 에코 억제기(314) 둘 모두로 전달된다.
다른 실시형태에서는, 단계 S410에서, 제2 필터 모듈(308)로부터 출력되는 에코 성분의 추정치는 제2 전력 추정 모듈(도 3에 도시되지 않음)로 공급된다. 제2 전력 추정 모듈은, 필터 추정치(제2 필터 모듈(308)에 의해 결정됨) 및 원단 신호(x(t))에 기초하여, 수신된 오디오 신호에서의 에코 전력을 추정한다. 제2 전력 추정 모듈은 자신의 대응하는 에코 전력 추정치를, 비교 모듈(312) 및 에코 억제기(314) 둘 모두로 출력한다.
비교 모듈(312)은 제1 추정치(
Figure 112015126852318-pct00020
) 및 제2 추정치(
Figure 112015126852318-pct00021
)를 입력으로서 취한다. 제1 추정치(
Figure 112015126852318-pct00022
)는 제1 필터 모듈(304)로부터 출력되는 에코 성분의 추정치 또는 제1 전력 추정 모듈로부터 출력되는 에코 전력 추정치일 수도 있다. 마찬가지로, 제2 추정치(
Figure 112015126852318-pct00023
)는 제2 필터 모듈(308)로부터 출력되는 에코 성분의 추정치 또는 제2 전력 추정 모듈로부터 출력되는 에코 전력 추정치일 수도 있다. 비교 모듈(312)은 수신된 오디오 신호(y(t))의 입력 또는 수신된 오디오 신호(y(t))의 전력과 같은 y(t)의 함수인 신호를 입력으로서 취한다.
단계 414에서, 비교 모듈(312)은 추정치(
Figure 112015126852318-pct00024
Figure 112015126852318-pct00025
)의 정확도를 결정하도록, 그리고 제1 필터 모듈(304)을 사용하는 것에 의해 달성되는 제1 추정치(
Figure 112015126852318-pct00026
)가 제2 필터 모듈(308)을 사용하는 것에 의해 달성되는 제2 전력 추정치(
Figure 112015126852318-pct00027
)보다 보다 더 나은 것으로(즉, 더 정확한 것으로) 간주되는지의 여부를 결정하도록 동작가능하다. 비교 모듈(312)은 시간 도메인에서의 또는 주파수 도메인에서의 추정치의 정확도를 결정하도록 동작가능하다.
제1 추정치(
Figure 112015126852318-pct00028
) 및 제2 추정치(
Figure 112015126852318-pct00029
)의 정확도를 결정하기 위한 하나의 척도는, 에코의 감소량의 척도인 에코 리턴 손실 향상(echo return loss enhancement; ERLE)인데, ERLE는 다음과 같이 정의된다:
Figure 112015126852318-pct00030
통상적으로, ERLE는 데시벨(dB) 단위로 측정된다:
Figure 112015126852318-pct00031
상기의 식에서, E[]는 예상 연산자(expectation operator)이다. ERLE 척도(measure)는 비고정 신호에 적용될 수 있고, 통상적으로 적용된다. 따라서, 실제로, 예상 값은 짧은 시간의 평균 값을 사용하여 평가된다:
Figure 112015126852318-pct00032
ERLE 척도는, 마이크 신호(y(t)에 가까운 에코 추정치를 모델이 생성하는 능력을 추정한다. 싱글토크 에코(마이크 신호(y(t)에 에코 신호만 있고 근단 신호는 없음)가 존재하는 경우 그리고 모델이 정확한 에코 전력 추정치를 제공하는 경우, 그것은 높게 된다. 마이크 신호(y(t)에 라우드스피커 에코가 존재하는 경우, 적어도, 에코가 근단에서의 노이즈보다 더 강한 경우, 그것은 적절한 SNR에 대해 양호한 척도이다.
제1 추정치(
Figure 112015126852318-pct00033
) 및 제2 추정치(
Figure 112015126852318-pct00034
)의 정확도를 결정하기 위해 ERLE 측정치(measurement)가 사용되는 경우, 단계 S414에서, 제1 추정치(
Figure 112015126852318-pct00035
)에 대한 ERLR 값은 제2 추정치(
Figure 112015126852318-pct00036
)에 대한 ERLE 값과 비교되어, 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확한지를 결정한다.
에코 추정치의 정확도를 결정하기 위해, ERLE 이외에, 모델 정확도 척도가 사용될 수도 있다. 이러한 다른 모델 정확도 척도의 예는 추정 에러의 크기:
Figure 112015126852318-pct00037
다음과 같은 가중치가 부여된 ERLE 척도:
Figure 112015126852318-pct00038
및 다음과 같은
Figure 112015126852318-pct00039
와 y (t) 사이의 교차상관과 같은 신호 유사도 척도:
Figure 112015126852318-pct00040
이다.
에코가 주파수 도메인(주파수 도메인 모델)에서 제1 필터 모듈(304) 및 제2 필터 모듈(308)에 의해 추정되어 주파수 도메인 에코 추정치를 생성하고,
Figure 112015126852318-pct00041
및 y(t)의 주파수 도메인 표현(
Figure 112015126852318-pct00042
Figure 112015126852318-pct00043
)이 이용가능한 때의 경우에 대해, 정확도 척도는, 척도가 이러한 구획(상기에서 언급되는 모델 정확도 척도 예는 이것을 허용한다)을 허용할 때 각각의 주파수에 대해 단계 S414에서 별개로 평가될 수도 있다.
사용되는 모델 정확도 척도에 무관하게, 단계 S414에서, 제1 추정치(
Figure 112015126852318-pct00044
)의 제1 정확도 값은 (사용되는 특정한 모델 정확도 척도에 따라) 결정되고 제2 추정치(
Figure 112015126852318-pct00045
)의 제2 정확도 값은 (사용되는 특정한 모델 정확도 척도에 따라) 결정되며 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확한지를(즉, 제1 정확도 값이 제2 정확도 값보다 더 큰 지를) 결정하기 위해 이들 값이 비교된다.
제1 추정치(
Figure 112015126852318-pct00046
)의 제1 정확도 값 및 제2 추정치(
Figure 112015126852318-pct00047
)의 제2 정확도 값은 주기적으로 결정될 수도 있다. 예를 들면, 정확도 값은, 주어진 시구간에서의 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))의 샘플의 미리 결정된 수에 걸쳐 평균되어 각각의 제1 및 제2 정확도 값에 도달하게 된다. 즉, 제1 및 제2 정확도 값은 수신된 오디오 신호(y(t))의 각각의 프레임에 대해 결정될 수도 있다. 그러나, 이것은 단지 예에 불과하며, 각각의 제1 및 제2 정확도 값은 각각의 프레임에 대한 것보다 덜 또는 더 많이 자주 결정될 수도 있다.
단계 S414에서, 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확하다는 것이 결정되면, 단계 S416에서 비교 모듈(312)은 제1 필터 모듈(304)에 기초하여 제2 필터 모듈(308)을 업데이트할 신호를 출력한다.
단계 S416에서, 제2 필터 모듈(308)의 필터 계수는 제1 필터 모듈(304)의 필터 계수에 기초하여 업데이트된다.
제1 필터 모듈(304) 및 제2 필터 모듈(308)이 시간 도메인에서의 에코를 추정하는 경우, 제2 필터 모듈(308)의 업데이트는 시간 도메인에서 구현되고 그로 인해 시간의 한 지점에서 제1 필터 모듈(304)에 의해 사용되는 시간 도메인 필터 계수의 카피(copy)가, 근단 신호(y(t))에서의 에코 성분(s(t))의 추정치를 생성함에 있어서의 사용을 위해, 제2 필터 모듈(308)로 공급된다.
대안적으로, 제1 필터 모듈(304) 및 제2 필터 모듈(308)이 주파수 도메인에서의 에코를 추정하는 경우, 제2 필터 모듈(308)의 업데이트는 주파수 도메인에서 구현되고 그로 인해 제1 필터 모듈(304)에 의해 사용되는 주파수 도메인 필터 계수의 카피가, 근단 신호(y(t))에서의 에코 성분(s(t))의 추정치를 생성함에 있어서의 사용을 위해, 제2 필터 모듈(308)로 공급된다. 상기에서 논의되는 바와 같이, 제1 필터 모듈(304)의 정확도 값은 복수의 주파수에 대한 주파수 도메인에서의 모델 정확도 척도에 따라 결정될 수도 있고, 제2 필터 모듈(308)의 정확도 값은 복수의 주파수에 대한 주파수 도메인에서의 모델 정확도 척도에 따라 결정될 수도 있다. 그 다음, 비교 모듈(312)은, 복수의 주파수의 각각에서의 제1 정확도 값과 제2 정확도 값의 비교에 기초하여 복수의 주파수의 각각에서 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확한지를 결정하고 이들 비교에 기초하여 제2 모델을 선택적으로 업데이트할 수도 있다.
하나 이상의 주파수에서 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확하다는 것이 결정되면, 하나 이상의 주파수에 대해 제1 필터 모듈(304)에 의해 사용되는 주파수 도메인 필터 계수의 카피가 제2 필터 모듈(308)로 공급되어 제2 필터 모듈(308)을 업데이트한다. 업데이트에 후속하여, 제2 필터 모듈(308)은, 하나 이상의 주파수에서 근단 신호(y(t))에서의 에코 성분(s(t))의 추정치를 생성하기 위한 이들 주파수 도메인 필터 계수를 사용하도록 구성된다.
단계 S416은 많은 방식으로 구현될 수도 있다. 예를 들면, 비교 모듈(312)은 제2 필터 모듈(308)에게 자신의 필터 계수를 제1 필터 모듈(304)의 필터 계수로 업데이트할 것을 지시할 수도 있다. 대안적으로, 비교 모듈(312)은, 제2 필터 모듈(308)이 자신의 계수를 제1 필터 모듈(304)의 계수로 업데이트할 수도 있도록, 제1 필터 모듈(304)에게 자신의 필터 계수를 제2 필터 모듈(308)로 공급할 것을 지시할 수도 있다(도 3에서 도시되지 않음). 대안적으로, 비교 모듈(312)은, 제2 필터 모듈(308)이 자신의 계수를 제1 필터 모듈(304)의 계수로 업데이트할 수도 있도록, 제1 필터 모듈(304)의 필터 계수를 제2 필터 모듈(308)로 공급할 수도 있다.
단계 S414에서, 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확하지 않다는 것이 결정되면, 단계 S418에서 비교 모듈(312)은 제1 필터 모듈(304)에 기초하여 제2 필터 모듈(308)을 업데이트할 어떠한 신호도 출력하지 않는다.
다시 단계 S410을 참조하면, 제2 추정치(
Figure 112015126852318-pct00048
)가 에코 억제 모듈(314)에 공급된 이후, 프로세스는 단계 S412로 진행한다. 단계 S412에서, 에코 억제 모듈(314)은 추정치(
Figure 112015126852318-pct00049
)를 사용하여, 수신된 오디오 신호(y(t))에 에코 억제를 적용하고, 그로 인해, 수신된 오디오 신호에서의 에코를 억제한다.
에코 억제기(314)의 목적은, 예를 들면, VoIP 클라이언트에서의 마이크 신호에 존재하는 라우드스피커 에코를, 마이크(212)에 의해 수집되는 근단 사운드(비에코 사운드)가 존재하는 경우에 그 에코가 인지가능한/방해하는 것으로 되지 않도록 충분히 낮은 레벨로 억제하는 것이다. 에코 억제의 적절한 양을 선택할 수 있기 위해, 에코 또는 에코 전력의 정확한 추정치가 필요로 되며, 상기에서 설명되는 바와 같이, 이것은, 제1 필터 모듈(304)이 제2 필터 모듈(308)보다 더 정확한 것으로 간주될 때 제1 필터 모듈(304)에 기초하여 제2 필터 모듈(308)을 업데이트하고, 제2 필터 모듈(308)로부터 출력되는 에코 또는 에코 전력의 정확한 추정치만을 사용하여 에코 억제를 적용하는 것에 의해 제공된다. 에코 억제 모듈(314)은, 시간 및 주파수 둘 모두에 걸쳐 변하는 신호 종속적인 억제를 수신된 오디오 신호(y(t))에 대해 적용하도록 디자인된다. 에코 억제 방법은 기술분야에서 공지되어 있다. 또한, 에코 억제 모듈(314)에 의해 적용되는 에코 억제 방법은 상이한 방식으로 구현될 수도 있다. 이와 같으므로, 따라서, 에코 억제 방법의 정확한 상세는 본원에서 상세하게 설명되지 않는다.
에코 억제 모듈(314)은, 유저 디바이스(104)에서의 추가 프로세싱을 위한, 에코가 억제된 수신된 신호를 출력한다. 예를 들면, 에코 억제 모듈(314)로부터 출력되는 신호는 클라이언트(206)에 의해 프로세싱될 수도 있고(예를 들면, 인코딩되고 패킷화될 수도 있고) 그 다음, 유저(102 및 108) 사이의 통화 중에 네트워크(106)를 통해 유저 디바이스(110)로 송신될 수도 있다. 추가적으로 또는 대안적으로, 에코 억제 모듈(314)로부터 출력되는 신호는 유저 디바이스(104)에 의해 다른 목적으로 사용될 수도 있는데, 예를 들면, 신호는 메모리(214)에 저장될 수도 있거나 또는 유저 디바이스(104)에서 실행하고 있는 애플리케이션에 대한 입력으로서 사용될 수도 있다.
본원에서 설명되는 방법은 더블토크에 대해 본질적으로 강건하다. 본원에서 설명되는 방법은, 제2 모델을 업데이트할 때를 추정하는 것에 대해 어떠한 더블토크 검출 기능성에도 의존하지 않으며, 제2 모델의 업데이트는 모델 정확도가 알려지는 것을 요구하는 임의의 스텝 사이즈 알고리즘에 의존하지 않는다. 그러나, 상기에서 설명되는 실시형태는 이러한 기능성과 함께 사용될 수도 있다.
또한, 본 발명은, 에코 소거기에 대해 통상적으로 문제가 될 수 있는 버퍼링 문제점에 아주 둔감하다. 에코 억제기에 있어서, 통상적으로 에코 전력의 추정치는 각각의 주파수 대역 및 각각의 프레임에 대해 생성된다. 제1 필터 모듈(304)은 FIR 필터와 같은 선형 모델을 활용할 수도 있다. FIR 필터가 연속적으로 적응되는 경우, 적응 프로세스는, 라우드스피커 신호(x(t) 및 마이크 신호(y(t)의 샘플이 동기화되는 것을, 즉, 버퍼링 문제점 및 클록 드리프트가 없는 것을 요구한다. 이들이 동기화되지 않으면, 제1 필터 모듈(304)은 발산할 것이고 아주 부정확한 에코 예측치를 제공할 것이다. 그러나, 상기에서 설명되는 실시형태에서는, 제1 필터 모듈(304)에 의해 생성되는 임의의 발산된 추정치가 에코 전력을 예측하는 데 사용되지 않을 것이기 때문에(제2 필터 모듈(308)이 이것에 대해 사용됨), 제1 필터 모듈(304)이 가끔 발산하는 것이 허용될 수 있다. 그러나, 미스매치된 라우드스피커 신호(x(t)) 및 마이크 신호(y(t))는, 제2 필터 모듈(308)에 의해 생성되는 예측된 에코에서 에러를 야기할 것이다. 그러나, 그 에러는, 제2 필터 모듈(308)이 발산한 경우보다 훨씬 작을 것이고, 통상적으로 에코 전력이 프레임에 대해 계산되기 때문에, 미스매치가 단일의 샘플에 대해 관련이 있는 경우에는 문제가 되지 않을 것이다.
수신된 오디오 신호에서의 에코의 에코 경로를 모델링하기 위해, 제1 필터 모듈(304) 및 제2 필터 모듈(308)은 임의의 선형 필터(예를 들면, 유한 임펄스 응답(Finite Impulse Response; FIR) 필터 또는 무한 임펄스 응답(Infinite impulse Response; IIR) 필터)를 활용할 수도 있다. 기술분야의 숙련된 자에게 공지되어 있는 바와 같이, 필터는 필터 타입 및 필터 차수(order)에 의해 정의될 수도 있다. 바람직하게는, 제1 필터 모듈(304) 및 제2 필터 모듈(308)은 동일한 필터 타입을 가질 것이지만, 그러나 제1 필터 모듈(304) 및 제2 필터 모듈(308)이 상이한 필터 타입을 가질 가능성이 배제되는 것은 아니다. 제1 필터 모듈(304) 및 제2 필터 모듈(308)이 동일한 필터 타입을 갖는 경우, 이들은 또한 동일한 차수를 가질 수도 있거나 또는 대안적으로 상이한 차수를 가질 수도 있고, 예를 들면, 제2 필터 모듈(308)은 제1 필터 모듈(304)보다 더 낮은 차수를 가질 수도 있다.
상기에서 설명되는 바와 같이, 제1 필터 모듈(304)은 당면한 신호 조건에 무관하게 계속적으로 업데이트된다. 스텝 사이즈 조정 방식은 상기에서 설명되는 실시형태에서 제1 필터 모듈(304)과 관련하여 옵션적으로 사용될 수도 있다.
상기에서 설명되는 바와 같이, 제1 필터 모듈(304)에 대한 필터 계수는 확률적 기울기 알고리즘(stochastic gradient algorithm)을 실행하는 것에 의해 획득될 수도 있다. 특히, 제1 필터 모듈(304)은, 에러 신호(e(t))를 최소화하는 필터 모듈(304)의 계수를 식별하기 위해 확률적 기울기 알고리즘을 실행한다.
필터 모듈(304)에 대한 업데이트된 필터 계수는, 에러 신호(e(t)), 입력 신호(x(t)) 및 이전의 필터 계수에 응답하여 생성된다.
확률적 기울기 알고리즘은 시간 순환적 방식(time recursive manner)으로 동작한다. 이것은, 확률적 기울기 알고리즘이 시스템에서의 변화에 대해 즉시 적응하지 않고, 대신 알고리즘은 유한한 시간 간격에 걸쳐 시스템의 근사치에 반복적으로 수렴한다는 것을 의미한다.
제1 필터 모듈(304)의 필터 계수는 원단 신호(x(t))를 필터링하여 근단 신호(y(t))에서의 에코 성분의 추정치를 생성한다. 에러 신호(e(t))는, 근단 신호(y(t))로부터 근단 신호(y(t))에서의 에코 성분의 제1 필터 모듈의 추정치를 감산하며 에러 신호(e(t))를 제1 필터 모듈(304)에 공급하는 감산기(도 3에서 도시되지 않음)에 의해 획득된다. 에러 신호(e(t))가 작은 것이 바람직하다는 것이 인식될 것이다. 예를 들면, 마이크 신호에 근단 신호(v(t))가 없는 경우, 이상적으로는 에러 신호는 0과 동일하다.
확률적 기울기 알고리즘은 모델 파라미터의 업데이트를 위한 스텝 사이즈의 형태의 수렴 파라미터를 갖는다. 이것은 몇몇 애플리케이션에서 고정된 것으로 선택될 수 있지만, 많은 경우에서는, 신호 종속적인 방식으로 선택되면 더 나은 성능이 달성된다. 스텝 사이즈는 마이크 신호(y(t))에서의 노이즈에 대한 업데이트의 민감도를 제어한다. 스텝 사이즈가 작게 선택되면, 업데이트 속도는 느리지만 노이즈에 덜 민감하지 않고, 그러나 스텝 사이즈가 크게 선택되면 업데이트 속도는 대신 빨라지지만 노이즈에 더 민감하다. 본원에서 사용되는 "업데이트 속도" 또는 "적응 속도"에 대한 언급은, 시스템의 당면한 신호 조건에 모델이 얼마나 빨리 적응할 수 있는지를 참조하기 위해 사용된다. 즉, 더 작은 스텝 사이즈를 사용하는 것은 더 작은 최종 에러 신호(e(t))로 나타날 것이지만, 그러나, 시스템의 근사치에 대한 수렴은, 필요로 되는 많은 수의 반복 단계로 인해 더 느려질 것이고(더 느린 수렴 레이트), 더 큰 스텝 사이즈를 사용하는 것은 더 큰 최종 에러 신호(e(t))로 나타날 것이지만, 그러나, 시스템의 근사치에 대한 수렴은 필요로 되는 더 적은 수의 반복 단계로 인해 더 빨라질 것이다(더 빠른 수렴 레이트).
매우 높은 정확도의 추정치를 달성하기 위해, 스텝 사이즈는 너무 큰 스텝 사이즈로 인해 진정한 추정치를 오버슈팅하는 것을 방지하기 위해 작아야 할 필요가 있다.
스텝 사이즈 조정 방식에서, 추정치(
Figure 112015126852318-pct00050
)의 정확도는 에코 리턴 손실 향상 측정치에 따라 결정된다. 이 에코 리턴 손실 향상 측정치는 단계 S414에서 비교 모듈(312)에 의해 만들어지는 것과 동일한 측정치일 수도 있다. 대안적으로, 이 에코 리턴 손실 향상 측정치는, 단계 S414에서 ERLE 이외의 척도가 사용되는 경우, 비교 모듈(312)에 의해 만들어지는 정확도 측정치에 대해 별개의 측정치일 수도 있다.
필터 모듈(304)에서 실행되는 알고리즘에서 사용되는 수렴 파라미터에 대한 값(스텝 사이즈)을, 추정치(
Figure 112015126852318-pct00051
)의 정확도에 기초하여 수렴 파라미터 선택 모듈(도 3에 도시되지 않음)이 결정한다. 특히, 수렴 파라미터 선택 모듈은, 에코 리턴 손실 향상 측정치의 비증가(non-increasing) 함수로서 필터 모듈(304)의 적응 속도를 제어하도록 수렴 파라미터를 선택한다.
에코 리턴 손실 향상 측정치는 임계 값에 비교될 수도 있고, 수렴 파라미터 선택 모듈은 이 비교에 기초하여 수렴 파라미터를 조정한다.
에코 리턴 손실 향상 측정치가 높을 때 모델 정확도가 항상 높다는 특성을 에코 리턴 손실 향상 척도가 가지기 때문에, 에코 리턴 손실 향상 척도는, 증가적으로 정확한 추정치를 달성하기 위해 에코 리턴 손실 향상 측정치가 높을 때(즉, 미리 결정된 임계 값보다 더 높을 때) 적응 속도를 느리게 하도록, 그리고 모델 파라미터에서의 변화를 재빨리 추적하기 위해 에코 리턴 손실 향상 측정치가 낮을 때(즉, 미리 결정된 임계 값보다 더 낮을 때) 적응 속도를 증가시키도록, 사용될 수도 있다.
스텝 사이즈 조정 방식은, 모델의 정확도가 미지인 경우 (에코 리턴 손실 향상 측정치가 낮은 경우 빠른 업데이트 속도를 통해) 빠른 적응이 달성되는 것을, 그리고 모델이 정확한 것으로 알려진 경우 (에코 리턴 손실 향상 측정치가 높은 경우 업데이트 속도를 감소시키는 것을 통해) 증가적으로 정확한 추정치가 달성되는 것을 보장한다.
상기에서 설명되는 실시형태에서, 에코 제거기는 VoIP 시스템에서 구현된다(예를 들면, 수신된 오디오 신호는 통신 시스템(100)을 통한 유저(102 및 108) 사이의 통화 동안 유저 디바이스(110)에 송신하기 위한 유저(102)의 음성을 포함할 수도 있다). 그러나, 본원에서 설명되는 에코 제거 방법은, 에코 제거가 적용되어야 하는 임의의 적절한 시스템에 적용될 수 있다.
상기에서 설명되는, 그리고 도면에서 도시되는 실시형태에서, 에코 제거 모듈(314)은 에코 억제를 구현한다.
상기에서 설명되는, 그리고 도면에서 도시되는 실시형태에서, 에코 소거(또는 "에코 감산")는 수신된 오디오 신호(y(t))에 적용되지 않는다. 즉, 유저 디바이스(104)에는 에코 소거 모듈이 존재하지 않으며 에코 억제는, 수신된 오디오 신호(y(t))에 에코 소거를 적용하는 사전 단계 없이, 수신된 오디오 신호(y(t))에 적용된다.
그러나, 다른 실시형태에서, 에코 소거는, 에코 소거 모듈에 의해, 수신된 오디오 신호(y(t))에 적용될 수도 있다. 특히, 에코 억제 모듈(314)에 의해 적용되는 에코 억제는, 수신된 오디오 신호(y(t))의 프로세싱에서 에코 소거의 하류(즉, 이후)에 적용될 수도 있다. 에코 소거 모듈은 수신된 오디오 신호로부터 에코 신호의 추정치를 감산할 것이지만, 에코 신호의 추정치에서의 부정확성으로 인해, 수신된 오디오 신호에 잔여 에코가 잔류할 가능성이 높을 것이다. 그렇다면, 에코 억제 모듈(314)에 의해 억제되어야 할 것은 잔여 에코이다. 이 에코 억제는, 에코 소거가 적용되지 않는 실시형태에서 본원에서 설명된 바와 동일한 방식으로 적용될 수 있을 것이다. 에코 감산이 사용되면, 에코 감산의 효과는 에코 억제에서 고려될 수 있다.
다른 실시형태에서, 에코 제거 모듈(314)은 에코 소거를 구현한다. 즉, 에코 제거 모듈(314)은 수신된 오디오 신호(y(t))로부터 에코 신호의 추정치(
Figure 112015126852318-pct00052
)를 감산하도록 구성된다.
본원에서 설명되는 방법은 유저 디바이스(104)에서 컴퓨터 프로그램 제품(예를 들면, 클라이언트(206))을 실행하는 것에 의해 구현될 수도 있다. 즉, 컴퓨터 프로그램 제품은 수신된 오디오 신호(y(t))에서 에코를 제거하도록 구성될 수도 있는데, 이 경우 컴퓨터 프로그램 제품은 컴퓨터 판독가능 저장 매체 상에서 구현되고(예를 들면, 메모리(214)에 저장됨) CPU(202) 상에서 실행될 때 본원에서 설명되는 방법 중 임의의 방법의 동작을 수행하도록 구성된다.
일반적으로, 본원에서 설명되는 기능(예를 들면, 도 3에서 도시되는 기능적 모듈 및 도 4에서 도시되는 기능적 단계) 중 임의의 것은, 소프트웨어, 펌웨어, 하드웨어(예를 들면, 고정된 로직 회로부)를 사용하여 구현될 수도 있거나, 또는 이들 구현예의 조합을 사용하여 구현될 수도 있다. 도 3 및 도 4에서 별개로 도시되는 모듈 및 단계는 별개의 모듈 또는 단계로서 구현될 수도 있거나 또는 그렇지 않을 수도 있다. 예를 들면, 에코 억제 모듈(314)은 제1 전력 추정 모듈(306), 제2 전력 추정 모듈(310) 및 비교 모듈(312)의 기능을 수행할 수도 있다. 본원에서 사용되는 바와 같은 용어 "모듈", "기능성", "컴포넌트" 및 "로직"은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 일반적으로 나타낸다. 소프트웨어 구현예의 경우, 모듈, 기능성, 또는 로직은, 프로세서(예를 들면, CPU 또는 CPU들) 상에서의 실행시 특정 작업을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스에 저장될 수도 있다. 본원에서 설명되는 기술의 특징은 플랫폼 독립적인데, 그 기술이 다양한 프로세서를 구비하는 다양한 상업적 컴퓨팅 플랫폼 상에서 구현될 수도 있다는 것을 의미한다. 예를 들면, 유저 디바이스는, 유저 디바이스의 하드웨어로 하여금 동작, 예를 들면, 프로세서 기능 블록 등등을 수행하게 하는 엔티티(예를 들면 소프트웨어)를 또한 포함할 수도 있다. 예를 들면, 유저 디바이스는, 유저 디바이스, 특히 유저 디바이스의 오퍼레이팅 시스템 및 관련 하드웨어로 하여금 동작을 수행하게 하는 명령을 유지하도록 구성될 수도 있는 컴퓨터 판독가능 매체를 포함할 수도 있다. 따라서, 명령은, 동작을 수행하게끔 오퍼레이팅 시스템 및 관련 하드웨어를 구성시키도록 기능하고 이 방식에서는 기능을 수행할 오퍼레이팅 시스템 및 관련 하드웨어의 변환으로 나타나게 된다. 명령은 다양한 상이한 구성을 통해 유저에게 컴퓨터 판독가능 매체에 의해 제공될 수도 있다.
컴퓨터 판독가능 매체의 하나의 이러한 구성은 신호 베어링 매체(signal bearing medium)이며 따라서, 예컨대 네트워크를 통해, 명령을 (예를 들면, 반송파로서) 컴퓨팅 디바이스로 송신하도록 구성된다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체로서 또한 구성될 수도 있으며 따라서 신호 베어링 매체가 아니다. 컴퓨터 판독가능 저장 매체의 예는 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 광학 디스크, 플래시 메모리, 하드 디스크 메모리, 및 명령 및 다른 데이터를 저장하기 위해 자기, 광학 및 다른 기술을 사용할 수도 있는 다른 메모리 디바이스를 포함한다.
비록 본 주제가 구조적 특징 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부의 특허청구범위에서 정의되는 주제가 상기에서 설명되는 특정 특징 또는 액트로 반드시 제한되는 것은 아니다는 것이 이해되어야 한다. 오히려, 상기에서 설명되는 특정 특징 및 액트는 특허청구범위를 구현하는 예시적인 형태로서 설명된다.

Claims (20)

  1. 에코를 제거하는 방법에 있어서,
    오디오 신호를 출력하는 단계;
    오디오 신호를 수신하는 단계 - 상기 수신된 오디오 신호는 상기 출력된 오디오 신호로부터 발생한 에코를 포함함 - ;
    상기 출력된 오디오 신호 및 상기 수신된 오디오 신호에 기초한 제1 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 제1 모델 추정치를 결정하는 단계;
    상기 출력된 오디오 신호에 기초한 제2 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 제2 모델 추정치를 결정하는 단계;
    모델 정확도 척도(model accuracy measure)에 따라 상기 제1 모델의 제1 정확도 값을 결정하는 단계;
    상기 모델 정확도 척도에 따라 상기 제2 모델의 제2 정확도 값을 결정하는 단계;
    상기 제1 정확도 값과 상기 제2 정확도 값의 비교에 기초하여 상기 제1 모델이 상기 제2 모델보다 더 정확한지를 결정하고, 상기 비교에 기초하여 상기 제2 모델을 선택적으로 업데이트하는 단계; 및
    상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에서 상기 에코를 제거하는 단계
    를 포함하고,
    상기 제1 모델은, 상기 수신된 오디오 신호의 에코 성분을 추정하도록, 그리고 상기 수신된 오디오 신호를 입력으로 수신하는 것 및 상기 에코의 에코 경로를 추정하는 것에 기초하여 필터 계수를 제공하도록 동작하는 필터 모델이며,
    상기 제2 모델은, 상기 수신된 오디오 신호의 상기 에코 성분을 추정하도록, 그리고, 상기 수신된 오디오 신호를 입력으로서 수신하는 것 및 상기 에코의 에코 경로를 추정하는 것 없이, 자신의 필터 계수를 업데이트하기 위해 비교 모듈로부터의 신호를 수신하는 것에 의존하여 필터 계수를 제공하도록 동작하는 필터 모델인 것인,
    에코를 제거하는 방법.
  2. 제1항에 있어서,
    상기 방법은 상기 제1 모델이 상기 제2 모델보다 더 정확하면 상기 제2 모델을 업데이트하는 단계를 포함하는, 에코를 제거하는 방법.
  3. 제1항에 있어서,
    상기 제1 모델이 상기 제2 모델보다 더 정확하지 않으면 상기 제2 모델은 업데이트되지 않는 것인, 에코를 제거하는 방법.
  4. 제1항에 있어서,
    상기 제1 정확도 값은 상기 제1 모델 추정치에 기초하여 결정되고 상기 제2 정확도 값은 상기 제2 모델 추정치에 기초하여 결정되는 것인, 에코를 제거하는 방법.
  5. 제1항에 있어서,
    상기 방법은,
    상기 제1 모델 추정치를 사용하여 상기 수신된 오디오 신호에서 상기 에코의 에코 전력의 제1 모델 추정치를 결정하는 단계; 및
    상기 제2 모델 추정치를 사용하여 상기 수신된 오디오 신호에서 상기 에코의 에코 전력의 제2 모델 추정치를 결정하는 단계
    를 더 포함하고,
    상기 제1 정확도 값은 상기 에코의 에코 전력의 제1 모델 추정치에 기초하여 결정되고, 상기 제2 정확도 값은 상기 에코의 에코 전력의 제2 모델 추정치에 기초하여 결정되는 것인, 에코를 제거하는 방법.
  6. 제1항에 있어서,
    상기 모델 정확도 척도는 에코 리턴 손실 향상 척도(echo return loss enhancement measure)에 기초한 척도인 것인, 에코를 제거하는 방법.
  7. 제1항에 있어서,
    상기 모델 정확도 척도는, 추정 에러의 크기의 척도; 가중치가 부여된(weighted) 에코 리턴 손실 향상 척도; 및 신호 유사도 척도 중 하나인 것인, 에코를 제거하는 방법.
  8. 제1항에 있어서,
    상기 제1 모델은 필터 계수를 결정하기 위한 알고리즘을 수행하고 상기 필터 계수를 사용하여 상기 출력된 오디오 신호를 필터링하여 상기 에코의 상기 제1 모델 추정치를 결정하는 것인, 에코를 제거하는 방법.
  9. 제8항에 있어서,
    상기 알고리즘은 수렴 파라미터를 포함하고 상기 모델 정확도 척도는 에코 리턴 손실 향상 척도에 기초한 척도이고,
    상기 방법은, 상기 제1 정확도 값에 기초하여 상기 수렴 파라미터 - 상기 수렴 파라미터는 상기 정확도 값의 비증가 함수로서 선택됨 - 를 업데이트하는 단계를 더 포함하는, 에코를 제거하는 방법.
  10. 제1항에 있어서,
    상기 제1 모델을 사용하여 상기 에코의 상기 제1 모델 추정치를 결정하는 단계 및 상기 제2 모델을 사용하여 상기 에코의 상기 제2 모델 추정치를 결정하는 단계는 시간 도메인에서 구현되고 상기 제2 모델을 업데이트하는 단계는 상기 시간 도메인에서 구현되어 상기 제1 모델에 의해 사용되는 시간 도메인 필터 계수의 카피(copy)가 상기 제2 모델에 공급되는 것인, 에코를 제거하는 방법.
  11. 제1항에 있어서,
    상기 제1 모델을 사용하여 상기 에코의 상기 제1 모델 추정치를 결정하는 단계 및 상기 제2 모델을 사용하여 상기 에코의 상기 제2 모델 추정치를 결정하는 단계는 주파수 도메인에서 구현되고,
    상기 방법은,
    복수의 주파수에 대한 상기 주파수 도메인에서의 모델 정확도 척도에 따라 상기 제1 모델의 제1 정확도 값을 결정하는 단계;
    상기 복수의 주파수에 대한 상기 주파수 도메인에서의 상기 모델 정확도 척도에 따라 상기 제2 모델의 제2 정확도 값을 결정하는 단계; 및
    상기 복수의 주파수 각각에서 상기 제1 정확도 값과 상기 제2 정확도 값의 비교에 기초하여 상기 제1 모델이 상기 제2 모델보다 더 정확한지를 결정하고, 상기 비교에 기초하여 상기 제2 모델을 선택적으로 업데이트하는 단계
    를 포함하는, 에코를 제거하는 방법.
  12. 제11항에 있어서,
    하나 이상의 주파수에서 상기 제1 모델이 상기 제2 모델보다 더 정확하다는 것이 결정되면, 상기 하나 이상의 주파수에 대해 상기 제1 모델에 의해 사용되는 주파수 도메인 필터 계수의 카피가 상기 제2 모델로 공급되는 것인, 에코를 제거하는 방법.
  13. 제1항에 있어서,
    상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에서 상기 에코를 제거하는 단계는, 상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에 에코 억제(echo suppression)를 적용함으로써 수신된 오디오 신호에서 상기 에코를 억제하는 단계를 포함하는 것인, 에코를 제거하는 방법.
  14. 제1항에 있어서,
    상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에서 상기 에코를 제거하는 단계는, 상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에 에코 소거(echo cancellation)를 적용하는 단계 - 상기 에코의 제2 모델 추정치는 상기 수신된 오디오 신호로부터 감산됨 - 를 포함하는 것인, 에코를 제거하는 방법.
  15. 제1항에 있어서,
    상기 방법은 통신 이벤트에서 사용하는 유저 디바이스에서 수행되고, 상기 수신된 오디오 신호는 상기 통신 이벤트에서 상기 유저 디바이스로부터 송신하기 위한 유저의 음성을 포함하는 것인, 에코를 제거하는 방법.
  16. 제15항에 있어서,
    상기 통신 이벤트는 인터넷 전화(voice over internet protocol; VoIP) 통화인 것인, 에코를 제거하는 방법.
  17. 제16항에 있어서,
    상기 출력된 오디오 신호는, 상기 수신된 오디오 신호에서 상기 에코에 포함되는 상기 VoIP 통화의 원단(far-end) 음성 신호를 포함하는 것인, 에코를 제거하는 방법.
  18. 디바이스에 있어서,
    오디오 신호를 출력하도록 구성되는 오디오 출력 장치;
    오디오 신호를 수신하도록 구성되는 오디오 입력 장치 - 상기 수신된 오디오 신호는 상기 출력된 오디오 신호로부터 발생한 에코를 포함함 - ;
    상기 출력된 오디오 신호 및 상기 수신된 오디오 신호에 기초한 제1 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 제1 모델 추정치를 결정하도록, 상기 출력된 오디오 신호에 기초한 제2 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 제2 모델 추정치를 결정하도록, 모델 정확도 척도에 따라 상기 제1 모델의 제1 정확도 값을 결정하도록, 상기 모델 정확도 척도에 따라 상기 제2 모델의 제2 정확도 값을 결정하도록, 상기 제1 정확도 값과 상기 제2 정확도 값의 비교에 기초하여 상기 제1 모델이 상기 제2 모델보다 더 정확한지를 결정하도록, 그리고 상기 비교에 기초하여 상기 제2 모델을 선택적으로 업데이트하도록 구성되는 모델링 모듈; 및
    상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에서 상기 에코를 제거하도록 구성되는 에코 제거 모듈
    을 포함하고,
    상기 제1 모델은, 상기 수신된 오디오 신호의 에코 성분을 추정하도록, 그리고 상기 수신된 오디오 신호를 입력으로 수신하는 것 및 상기 에코의 에코 경로를 추정하는 것에 기초하여 필터 계수를 제공하도록 동작하는 필터 모델이며,
    상기 제2 모델은, 상기 수신된 오디오 신호의 상기 에코 성분을 추정하도록, 그리고, 상기 수신된 오디오 신호를 입력으로서 수신하는 것 및 상기 에코의 에코 경로를 추정하는 것 없이, 자신의 필터 계수를 업데이트하기 위해 비교 모듈로부터의 신호를 수신하는 것에 의존하여 필터 계수를 제공하도록 동작하는 필터 모델인 것인,
    디바이스.
  19. 제18항에 있어서,
    상기 오디오 출력 장치는 상기 출력된 오디오 신호를 출력하도록 구성된 스피커를 포함하고, 상기 오디오 입력 장치는 상기 수신된 오디오 신호를 수신하도록 구성된 마이크(microphone)를 포함하는 것인, 디바이스.
  20. 에코를 제거하하는 방법에 있어서,
    출력된 오디오 신호 및 수신된 오디오 신호에 기초한 제1 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 제1 모델 추정치를 결정하는 단계;
    상기 출력된 오디오 신호에 기초한 제2 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 제2 모델 추정치를 결정하는 단계;
    상기 제1 모델 추정치를 사용하여 제1 에코 리턴 손실 향상 척도를 결정하는 단계;
    상기 제2 모델 추정치를 사용하여 제2 에코 리턴 손실 향상 척도를 결정하는 단계;
    상기 제1 에코 리턴 손실 향상 척도와 상기 제2 에코 리턴 손실 향상 척도의 비교에 기초하여 상기 제1 모델이 상기 제2 모델보다 더 정확한지를 결정하고, 상기 비교에 기초하여 상기 제2 모델을 선택적으로 업데이트하는 단계; 및
    상기 에코의 상기 제2 모델 추정치만을 사용하여 상기 수신된 오디오 신호에서 상기 에코를 제거하는 단계
    를 포함하고,
    상기 제1 모델은, 상기 수신된 오디오 신호의 에코 성분을 추정하도록, 그리고 상기 수신된 오디오 신호를 입력으로 수신하는 것 및 상기 에코의 에코 경로를 추정하는 것에 기초하여 필터 계수를 제공하도록 동작하는 필터 모델이며,
    상기 제2 모델은, 상기 수신된 오디오 신호의 상기 에코 성분을 추정하도록, 그리고, 상기 수신된 오디오 신호를 입력으로서 수신하는 것 및 상기 에코의 에코 경로를 추정하는 것 없이, 자신의 필터 계수를 업데이트하기 위해 비교 모듈로부터의 신호를 수신하는 것에 의존하여 필터 계수를 제공하도록 동작하는 필터 모델인 것인,
    에코를 제거하는 방법.
KR1020157036587A 2013-05-31 2014-05-29 에코 제거기 KR102194165B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1309771.2 2013-05-31
GBGB1309771.2A GB201309771D0 (en) 2013-05-31 2013-05-31 Echo removal
US14/012,867 US9277059B2 (en) 2013-05-31 2013-08-28 Echo removal
US14/012,867 2013-08-28
PCT/US2014/039873 WO2014194013A1 (en) 2013-05-31 2014-05-29 Echo removal

Publications (2)

Publication Number Publication Date
KR20160014679A KR20160014679A (ko) 2016-02-11
KR102194165B1 true KR102194165B1 (ko) 2020-12-22

Family

ID=48805569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157036587A KR102194165B1 (ko) 2013-05-31 2014-05-29 에코 제거기

Country Status (6)

Country Link
US (1) US9277059B2 (ko)
EP (1) EP2987315B1 (ko)
KR (1) KR102194165B1 (ko)
CN (1) CN105432062B (ko)
GB (1) GB201309771D0 (ko)
WO (1) WO2014194013A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression
GB201309779D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309773D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
KR102263700B1 (ko) * 2015-08-06 2021-06-10 삼성전자주식회사 단말기 및 단말기의 동작 방법
CN105847611B (zh) * 2016-03-21 2020-02-11 腾讯科技(深圳)有限公司 一种回声时延检测方法、回声消除芯片及终端设备
WO2019213769A1 (en) * 2018-05-09 2019-11-14 Nureva Inc. Method, apparatus, and computer-readable media utilizing residual echo estimate information to derive secondary echo reduction parameters
CN109831733B (zh) * 2019-02-26 2020-11-24 北京百度网讯科技有限公司 音频播放性能的测试方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130044872A1 (en) * 2010-04-22 2013-02-21 Telefonaktiebolaget L M Ericsson (Publ) Echo canceller and a method thereof

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3787645A (en) * 1971-05-19 1974-01-22 Nippon Electric Co Echo canceller having two echo path models
US4977591A (en) 1989-11-17 1990-12-11 Nynex Corporation Dual mode LMS nonlinear data echo canceller
US5157653A (en) 1990-08-03 1992-10-20 Coherent Communications Systems Corp. Residual echo elimination with proportionate noise injection
US5305307A (en) 1991-01-04 1994-04-19 Picturetel Corporation Adaptive acoustic echo canceller having means for reducing or eliminating echo in a plurality of signal bandwidths
JPH0739968B2 (ja) 1991-03-25 1995-05-01 日本電信電話株式会社 音響伝達特性模擬方法
US5307405A (en) 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
SE516835C2 (sv) 1995-02-15 2002-03-12 Ericsson Telefon Ab L M Ekosläckningsförfarande
US5852661A (en) 1995-02-17 1998-12-22 Advanced Micro Devices, Inc. Adaptive echo cancellation used with echo suppression to reduce short and long duration echoes
DE19540170C2 (de) 1995-10-27 1998-01-29 Endress Hauser Gmbh Co Verfahren und Anordnung zur Unterdrückung von Festzielechos bei der Abstandsmessung nach dem Impulslaufzeitprinzip
US5796819A (en) 1996-07-24 1998-08-18 Ericsson Inc. Echo canceller for non-linear circuits
US6028929A (en) 1997-11-14 2000-02-22 Tellabs Operations, Inc. Echo canceller employing dual-H architecture having improved non-linear echo path detection
US7423983B1 (en) 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6415029B1 (en) * 1999-05-24 2002-07-02 Motorola, Inc. Echo canceler and double-talk detector for use in a communications unit
US6606382B2 (en) 2000-01-27 2003-08-12 Qualcomm Incorporated System and method for implementation of an echo canceller
GB0027238D0 (en) 2000-11-08 2000-12-27 Secr Defence Adaptive filter
US20020054685A1 (en) 2000-11-09 2002-05-09 Carlos Avendano System for suppressing acoustic echoes and interferences in multi-channel audio systems
JP2004537233A (ja) 2001-07-20 2004-12-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ エコー抑圧回路及びラウドスピーカ・ビームフォーマを有する音響補強システム
US6836547B2 (en) 2001-12-20 2004-12-28 Motorol, Inc. Protecting an echo canceller against random transitions in echo paths
US6961422B2 (en) 2001-12-28 2005-11-01 Avaya Technology Corp. Gain control method for acoustic echo cancellation and suppression
US20030185402A1 (en) 2002-03-27 2003-10-02 Lucent Technologies, Inc. Adaptive distortion manager for use with an acoustic echo canceler and a method of operation thereof
US7388954B2 (en) 2002-06-24 2008-06-17 Freescale Semiconductor, Inc. Method and apparatus for tone indication
JP4161628B2 (ja) 2002-07-19 2008-10-08 日本電気株式会社 エコー抑圧方法及び装置
US6944289B2 (en) 2002-10-01 2005-09-13 Motorola, Inc. Delay insertion for echo cancellation, with echo supression, in a communication network
US7003099B1 (en) 2002-11-15 2006-02-21 Fortmedia, Inc. Small array microphone for acoustic echo cancellation and noise suppression
US6947549B2 (en) 2003-02-19 2005-09-20 The Hong Kong Polytechnic University Echo canceller
US7054437B2 (en) 2003-06-27 2006-05-30 Nokia Corporation Statistical adaptive-filter controller
US20060018460A1 (en) 2004-06-25 2006-01-26 Mccree Alan V Acoustic echo devices and methods
US7433463B2 (en) 2004-08-10 2008-10-07 Clarity Technologies, Inc. Echo cancellation and noise reduction method
US7778408B2 (en) 2004-12-30 2010-08-17 Texas Instruments Incorporated Method and apparatus for acoustic echo cancellation utilizing dual filters
JP4256363B2 (ja) 2005-05-27 2009-04-22 株式会社東芝 ボイススイッチ
US7773743B2 (en) 2006-04-28 2010-08-10 Microsoft Corporation Integration of a microphone array with acoustic echo cancellation and residual echo suppression
US8275120B2 (en) * 2006-05-30 2012-09-25 Microsoft Corp. Adaptive acoustic echo cancellation
US7817797B2 (en) * 2006-06-07 2010-10-19 Mitel Networks Corporation Method and apparatus for detecting echo path changes in an acoustic echo canceller
GB2448201A (en) 2007-04-04 2008-10-08 Zarlink Semiconductor Inc Cancelling non-linear echo during full duplex communication in a hands free communication system.
JPWO2009051197A1 (ja) 2007-10-19 2011-03-03 日本電気株式会社 エコー抑圧方法及び装置
EP2327156B1 (en) 2008-08-25 2012-01-18 Dolby Laboratories Licensing Corporation Method for determining updated filter coefficients of an adaptive filter adapted by an lms algorithm with pre-whitening
EP2221983B1 (en) 2009-02-20 2011-08-31 Harman Becker Automotive Systems GmbH Acoustic echo cancellation
US8750491B2 (en) 2009-03-24 2014-06-10 Microsoft Corporation Mitigation of echo in voice communication using echo detection and adaptive non-linear processor
US8687797B2 (en) 2009-05-28 2014-04-01 Broadcom Corporation Method and system for a dual echo canceller
US8571231B2 (en) 2009-10-01 2013-10-29 Qualcomm Incorporated Suppressing noise in an audio signal
US8787561B2 (en) 2010-04-27 2014-07-22 Freescale Semiconductor, Inc. Techniques for implementing adaptation control of an echo canceller to facilitate detection of in-band signals
CN103348408B (zh) 2011-02-10 2015-11-25 杜比实验室特许公司 噪声和位置外信号的组合抑制方法和系统
US8644522B2 (en) 2011-03-31 2014-02-04 Broadcom Corporation Method and system for modeling external volume changes within an acoustic echo canceller
US8924337B2 (en) 2011-05-09 2014-12-30 Nokia Corporation Recursive Bayesian controllers for non-linear acoustic echo cancellation and suppression systems
EP2716023B1 (en) 2011-05-27 2016-11-09 Google, Inc. Control of adaptation step size and suppression gain in acoustic echo control
GB201309779D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression
GB201309773D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130044872A1 (en) * 2010-04-22 2013-02-21 Telefonaktiebolaget L M Ericsson (Publ) Echo canceller and a method thereof

Also Published As

Publication number Publication date
US9277059B2 (en) 2016-03-01
EP2987315A1 (en) 2016-02-24
US20140357325A1 (en) 2014-12-04
EP2987315B1 (en) 2018-01-10
WO2014194013A1 (en) 2014-12-04
KR20160014679A (ko) 2016-02-11
GB201309771D0 (en) 2013-07-17
CN105432062B (zh) 2018-12-04
CN105432062A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
KR102111185B1 (ko) 에코 제거
KR102194165B1 (ko) 에코 제거기
EP2987316B1 (en) Echo cancellation
KR102170172B1 (ko) 에코 억제
EP2987313B1 (en) Echo removal
KR102190833B1 (ko) 에코 억제
KR102169993B1 (ko) 에코 억제 기법
KR102170341B1 (ko) 에코 억제 기법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant