KR102111185B1 - 에코 제거 - Google Patents

에코 제거 Download PDF

Info

Publication number
KR102111185B1
KR102111185B1 KR1020157036245A KR20157036245A KR102111185B1 KR 102111185 B1 KR102111185 B1 KR 102111185B1 KR 1020157036245 A KR1020157036245 A KR 1020157036245A KR 20157036245 A KR20157036245 A KR 20157036245A KR 102111185 B1 KR102111185 B1 KR 102111185B1
Authority
KR
South Korea
Prior art keywords
echo
audio signal
adaptive model
received input
input audio
Prior art date
Application number
KR1020157036245A
Other languages
English (en)
Other versions
KR20160016880A (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 KR20160016880A publication Critical patent/KR20160016880A/ko
Application granted granted Critical
Publication of KR102111185B1 publication Critical patent/KR102111185B1/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)
  • Circuit For Audible Band Transducer (AREA)

Abstract

에코 제거 기술이 설명된다. 에코 제거의 일부로서, 출력된 오디오 신호 및 수신된 오디오 신호에 기초한 적응적 모델을 사용하여, 수신된 오디오 신호에서의 에코의 적응적 모델 추정치가 결정된다. 적응적 모델은 필터 계수를 결정하기 위한 수렴 파라미터를 포함하는 알고리즘을 실행하고, 출력된 오디오 신호를 필터링하여 에코의 적응적 모델 추정치를 결정하기 위해 상기 필터 계수를 사용한다. 적응적 모델의 정확도 값은 에코 리턴 손실 향상 메트릭(echo return loss enhancement metric)에 따라 결정된다. 수렴 파라미터는 정확도 값에 기초하여 업데이트된다. 에코의 적응적 모델 추정치는 수신된 오디오 신호에서 에코를 제거하기 위해 사용된다.

Description

에코 제거{ECHO REMOVAL}
디바이스는 주변 환경으로부터 오디오 신호를 수신하기 위해 사용될 수 있는 오디오 입력 장치를 구비할 수도 있다. 디바이스는 주변 환경으로 오디오 신호를 출력하기 위해 사용될 수 있는 오디오 출력 장치를 또한 구비할 수도 있다. 예를 들면, 디바이스는 오디오 신호를 출력하기 위한 하나 이상의 스피커 및 오디오 신호를 수신하기 위한 하나 이상의 마이크를 구비할 수도 있다. 디바이스의 스피커(들)로부터 출력되는 오디오 신호는 마이크(들)에 의해 수신되는 오디오 신호에서 "에코"로서 수신될 수도 있다. 이 에코는 수신된 오디오 신호에서 바람직하지 않는 것이 사실이다. 예를 들면, 디바이스는, 네트워크를 통한 다른 유저 디바이스와의 통신 이벤트, 예컨대 음성 또는 영상 통화에서 사용되는 유저 디바이스(예컨대 모바일 폰, 태블릿, 랩탑, PC 등등)일 수도 있다. 통화의 원단 신호(far-end signal)는 유저 디바이스의 스피커로부터 출력될 수도 있고 그 디바이스에 있는 마이크에 의해 수신되는 오디오 신호 내에 에코로서 수신될 수도 있다. 이러한 에코는 통화의 유저에게 방해가 될 수 있고, 통화의 감지된 품질이 에코로 인해 감소될 수도 있다. 특히, 에코는, 마이크에 의해 수신되어 통화의 원단으로 송신되도록 의도되는 근단(near-end) 오디오 신호에 대해 간섭을 야기할 수도 있다. 따라서, 수신된 오디오 신호에 대해 에코 소거(echo cancellation) 및/또는 에코 억제가 적용되어, 수신된 오디오 신호에서 에코를 억제할 수도 있다. 수신된 오디오 신호에서의 에코의 전력은 유저 디바이스의 배치에 따라 상이할 수도 있다. 예를 들면, 유저 디바이스는 모바일 폰일 수도 있고, 그 경우, 수신된 오디오 신호에서의 에코의 전력은, 모바일 폰이 "핸즈프리(hands-free)" 모드에서 동작하고 있지 않을 때와 비교하여 모바일 폰이 "핸즈프리" 모드에서 동작하고 있을 때 일반적으로 더 높을 것이다.
에코 소거(또는 "에코 감산(echo subtraction)") 기술은, 스피커로부터 출력되는 오디오 신호의 지식에 기초하여, 마이크에서 수신되는 오디오 신호에 포함되는 에코 신호를 추정하는 것을 목표로 한다. 그 다음, 에코 신호의 추정치는 수신된 오디오 신호로부터 감산되어 그로 인해 에코 중 적어도 일부를 수신된 오디오 신호에서 제거하게 된다. 수신된 오디오 신호에 대해 주파수 종속 억제(frequency-dependent suppression)를 적용하도록 에코 억제가 사용되고, 그로 인해 수신된 오디오 신호에서의 에코를 억제한다.
이 개요는 하기의 상세한 설명에서 더 설명되는 개념의 선택을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구하는 발명의 대상의 주요 특징이나 또는 본질적인 특징을 식별하도록 의도된 것이 아니며, 청구하는 발명의 대상의 범위를 제한하는 데 사용되도록 의도된 것도 아니다.
수신된 오디오 신호에서 에코를 제거하는 방법이 제공된다. 에코 제거의 일부로서, 출력된 오디오 신호 및 수신된 오디오 신호에 기초한 적응적 모델(adaptive model)을 사용하여, 수신된 오디오 신호에서의 에코의 적응적 모델 추정치가 결정된다. 적응적 모델은 필터 계수를 결정하기 위한 수렴 파라미터를 포함하는 알고리즘을 실행하고, 출력된 오디오 신호를 필터링하여 에코의 적응적 모델 추정치를 결정하기 위해 상기 필터 계수를 사용한다. 적응적 모델의 정확도 값은 에코 리턴 손실 향상 메트릭(echo return loss enhancement metric)에 따라 결정된다. 수렴 파라미터는 정확도 값에 기초하여 업데이트된다. 에코의 적응적 모델 추정치는 수신된 오디오 신호에서 에코를 제거하기 위해 사용된다.
이 방법은 통화(예를 들면, 유저 디바이스 사이에서 오디오 데이터를 송신하기 위해 인터넷 전화(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™를 포함함), 게임용 디바이스, 텔레비젼, 개인 휴대 정보 단말(personal digital assistant; "PDA") 또는 네트워크(106)에 연결가능한 다른 임베딩된 디바이스일 수도 있다. 유저 디바이스(104)는 유저 디바이스(104)의 유저(102)로부터 정보를 수신하도록 그리고 그 유저(102)에게 정보를 출력하도록 구성된다. 유저 디바이스(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 112015125746847-pct00001
)이 사용된다.
에코 소거에서의 일반적인 선택은, 모델을 업데이트하기 위한 통계적 기울기 알고리즘(stochastic gradient algorithm)을 사용하는 것이다. 지금까지 다수의 적응 레이트 선택 방식(adaptation rate selection scheme)이 제안되어 있는데, 다수의 적응 레이트 선택 방식 대부분은, 적응 속도를 선택하기 위해, 모델이 대략적으로 알려져야 하는 것을 다수의 적응 레이트 선택 방식이 요구한다는 사실이 문제가 되고 있다. 또한, 다수의 적응 레이트 선택 방식 중 많은 것은, 모델 파라미터 추정치(필터 계수 추정치)의 정확도가 알려져야 하는 것을 요구한다.
도 3 및 도 4를 참조하여, 이제, 에코를 제거하는 방법이 설명된다. 도 3은 에코 제거 프로세스가 어떻게 구현되는지를 도시하는 유저 디바이스(104)의 일부의 기능도이다.
도 3에 도시된 바와 같이, 유저 디바이스(104)는 스피커(210), 마이크(212), 모델링 모듈(302), 및 에코 제거 모듈(314)을 포함한다. 모델링 모듈(302)은 필터 모듈(304), 모델 정확도 결정 모듈(306), 및 수렴 파라미터 선택 모듈(308)을 포함한다. 에코 제거 모듈(314)은 도 3을 참조로 에코 억제 모듈(314)로서 설명된다.
도 4는 에코를 억제하는 프로세스에 대한 플로우차트이다.
스피커(210)로부터 출력될 신호(x(t))는 스피커(210)의 입력에 커플링된다. 본원에서 설명되는 실시형태에서는 단지 하나의 스피커(도면에서 도면부호 210으로 나타내어짐)가 존재하지만, 다른 실시형태에서는 출력될 신호가 (출력을 위해) 커플링되는 스피커가 복수 개 존재할 수도 있다는 것을 유의해야 한다. 마찬가지로, 본원에서 설명되는 실시형태에서는 단지 하나의 마이크(도면에서 도면부호 212로 나타내어짐)가 존재하지만, 다른 실시형태에서는 주변 환경으로부터 오디오 신호를 수신하는 마이크가 복수 개 존재할 수도 있다. 스피커(210)로부터 출력될 신호는 모델링 모듈(302)에 또한 커플링된다. 특히, 스피커(210)로부터 출력될 신호는 필터 모듈(304)의 제1 입력에 커플링된다. 마이크(212)의 출력은 모델링 모듈(302)에 커플링된다. 특히, 마이크(212)의 출력은 필터 모듈(304)의 제2 입력에 그리고 모델 정확도 결정 모듈(306)의 제1 입력에 커플링된다. 마이크(212)의 출력은 에코 억제 모듈(314)의 제1 입력에 또한 커플링된다. 모델링 모듈(302)의 출력은 에코 억제 모듈(314)의 제2 입력에 커플링된다. 특히, 필터 모듈(304)의 출력은 에코 억제 모듈(314)의 제2 입력에 커플링된다. 에코 억제 모듈(314)의 출력은, 유저 디바이스(104)에서의 추가 프로세싱을 위해 (에코 억제가 적용된) 수신된 신호를 제공하기 위해 사용된다. 필터 모듈(304)의 출력은 모델 정확도 결정 모듈(306)의 제2 입력에 또한 커플링된다. 모델 정확도 결정 모듈(306)의 출력은 수렴 파라미터 선택 모듈(308)의 입력에 커플링된다. 수렴 파라미터 선택 모듈(308)의 출력은 필터 모듈(304)의 제3 입력에 커플링된다.
단계 S402에서, 스피커(210)로부터 출력될 신호가 수신된다. 예를 들면, 출력될 신호는, 통신 시스템(100)을 통해 유저(102 및 108) 사이의 통화 동안 유저 디바이스(110)로부터 유저 디바이스(104)에서 수신된 원단 신호일 수도 있다. 수신된 신호에 대해 수행될 필요가 있는 임의의 프로세싱(예를 들면, 음성 코덱을 사용하는 디코딩, 패킷화 해제(depacketizing) 등등)이, 기술분야에서 알려진 바와 같이 (예를 들면, 클라이언트(206)에 의해) 수행되어, 스피커(210)로부터 출력되기에 적합한 신호(x(t))가 된다. 신호(x(t))는 디지털 신호이다. 스피커(210)로부터 신호를 출력하기 이전에 유저 디바이스(104)에서의 신호의 프로세싱 중 적어도 일부는 디지털 도메인에서 수행된다. 기술분야에서 공지된 바와 같이, 라우드스피커(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)"인 근단 신호를 포함할 수도 있다. 근단 신호는 유저(102)가 의도하는, 마이크(212)에 수신되는 신호이다. 그러나, 수신된 오디오 신호는, 단계 S404에서 스피커(210)로부터 출력되는 오디오 신호로부터 유래하는 에코 신호를 또한 포함한다. 수신된 오디오 신호는 배경 노이즈와 같은 노이즈를 또한 포함할 수도 있다. 따라서, 전체 수신된 오디오 신호(y(t))는 근단 신호, 에코 및 노이즈의 합으로 주어질 수 있다. 에코 및 노이즈는 근단 신호에 대한 간섭으로서 작용한다.
필터 모듈(304)은 출력된 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))를 입력으로서 취한다. 단계 S408에서, 필터 모듈(304)은 수신된 오디오 신호(y(t))에서의 에코를 모델링하기 위해 사용된다. 특히, 필터 모듈(304)은, 출력된 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))를 사용하여 근단 신호(y(t))에서의 에코 성분의 추정치를 결정하도록 동작가능하다.
에코 경로는, 스피커(210)로부터 마이크(212)까지 원단 신호가 이동하는 음향 경로의 영향을 기술한다. 원단 신호는 스피커(210)로부터 마이크(212)까지 바로 이동할 수도 있거나, 또는 원단 신호는 근단 단말의 환경의 다양한 표면으로부터 반사될 수도 있다. 스피커(210)로부터 출력되는 원단 신호가 가로지르는 에코 경로는, 시간에 걸쳐 변할 수도 있는 주파수 및 위상 응답을 갖는 시스템으로 간주될 수도 있다.
근단 마이크(212)에서 기록되는 신호(y(t))로부터 음향적 에코(s(t))를 제거하기 위해, 에코 경로가 바람직한 원단 스피커 출력 신호(x(t))를 입력 신호의 바람직하지 않은 에코 성분으로 어떻게 변경시키는지를 추정하는 것이 필요하다.
근사적으로 선형의 에코 경로의 경우, 에코 경로(h(t))는, 수신된 오디오 신호(y(t))에서의 에코가 스피커(210)로부터 출력되는 오디오 신호(x(t))에 어떻게 관련이 있는지를, 예를 들면, 식:
Figure 112015125746847-pct00002
에 따라 기술하는데, 여기서 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)의 특성에 의존할 수도 있다.
필터 모듈(304)은, 출력된 오디오 신호(x(t))의 유한 개수(N)의 이전 값과 현재 값의 가중치가 부여된(weighted) 합을 결정하는 것에 의해, 수신된 오디오 신호(y(t))에서의 에코의 에코 경로(h(t))를 모델링한다. 따라서, 필터 모듈(304)은 (시간에서) 유한한 길이를 갖는 N차 필터를 구현하는데, 필터 모듈(304)은 에코 경로의 추정치(
Figure 112015125746847-pct00003
)를 결정함에 있어서 출력된 오디오 신호(x(t))의 값을 이 유한한 길이에 걸쳐 고려한다. 이런 식으로, 필터 모듈(304)은 에코 경로의 필터 추정치(
Figure 112015125746847-pct00004
)를 동적으로 적응시킨다. 그 동작은, 수신된 오디오 신호(y(t))에서의 에코를 출력된 오디오 신호(x(t))의 항으로 정의하는 다음의 식에 의해 기술된다:
Figure 112015125746847-pct00005
. 따라서, 각각의 N+1 개의 가중치(
Figure 112015125746847-pct00006
)를 갖는, 출력된 오디오 신호(x(t))의 N+1 개의 샘플이 사용된다. N+1 개의 가중치(
Figure 112015125746847-pct00007
)의 세트는 본원에서 간단히 에코 경로의 추정치(
Figure 112015125746847-pct00008
)로 칭해진다. 다시 말하면, 에코 경로의 추정치(
Figure 112015125746847-pct00009
)는 N+1 개의 값을 갖는 벡터인데, 여기서 필터 모듈(304)은, 신호(x(t))의 N+1 개의 값(예를 들면, N+1 개의 프레임)을 고려하는 N차 필터를 구현한다.
에코가 수신된 오디오 신호의 지배적 부분인 경우, 즉 y(t)
Figure 112015125746847-pct00010
s(t)인 경우, 에코 경로의 필터 추정치(
Figure 112015125746847-pct00011
)를 적응시키는 것이 더 용이하다는 것이 인식될 수 있다. 그러나, 에코가 수신된 오디오 신호(y(t))의 지배적 부분이 아닌 경우에도 에코(s(t))가 y(t)의 다른 신호 성분과 무관하면 에코 경로의 필터 추정치(
Figure 112015125746847-pct00012
)를 적응시키는 것이 가능할 수도 있다.
기술분야에서 숙련된 자라면, 에코 경로의 추정치(
Figure 112015125746847-pct00013
)는 명시적으로 계산될 필요가 없고, 대신, 최소 제곱 평균(Least Mean Squares; LMS), 정규 최소 제곱 평균(Normalized Least Mean Squares; NLMS), 고속 인접 투사(Fast Affine Projection; FAP) 및 순환 최소 제곱(Recursive Least Squares; RLS)과 같은 통계적 기울기 알고리즘으로부터 획득되는 필터 계수의 평균에 의해 표현될 수 있다는 것을 알 것이다.
필터 모듈(304)은 적응 알고리즘 컴포넌트(310)를 포함한다. 필터 모듈(304)의 적응 알고리즘 컴포넌트(310)는, 에러 신호(e(t))를 최소화하는 필터 모듈(304)의 계수를 식별하기 위해 통계적 기울기 알고리즘을 실행한다.
필터 모듈(304)에 대한 업데이트된 필터 계수는, 에러 신호(e(t)), 입력 신호(x(t)) 및 이전의 필터 계수에 응답하여 생성된다.
필터 모듈(304)의 적응 알고리즘 컴포넌트(310)는 시간 순환적 방식으로 동작한다. 이것은, 적응 알고리즘 컴포넌트(310)가 시스템에서의 변화에 대해 즉시 적응하지 않고, 대신 알고리즘은 유한한 시간 간격에 걸쳐 시스템의 근사치에 반복적으로 수렴한다는 것을 의미한다. 사용되는 특정 알고리즘에 무관하게, 필터 모듈(304)의 필터 계수는 알고리즘의 각각의 반복과 함께 업데이트되고, 따라서, 필터 모듈(304)의 계수는 당면한(at hand) 신호 조건과 무관하게 시간에 걸쳐 계속적으로(continually) 업데이트되게 된다.
필터 모듈(304)의 필터 계수는 원단 신호를 필터링하여 근단 신호(y(t))에서의 에코 성분의 추정치를 생성한다. 상기 설명이 근단 신호(y(t))에서의 에코 성분을 추정하기 위해 에코 경로의 시간 도메인 FIR 모델의 사용을 언급하지만, 기술분야의 숙련된 자라면 이것은 단지 예에 불과하며 어떤 방식으로든 제한하는 것은 아니라는 것을 알 것이다. 즉, 제1 필터 모듈(304)은 에코 경로의 추정치(
Figure 112015125746847-pct00014
)를 결정하도록 따라서 시간 도메인에서의 또는 주파수 도메인에서의 근단 신호(y(t))에서의 에코 성분의 추정치(
Figure 112015125746847-pct00015
)를 결정하도록 동작할 수도 있다.
에러 신호(e(t))는, 근단 신호(y(t))로부터 근단 신호(y(t))에서의 에코 성분을 감산하며 에러 신호(e(t))를 필터 모듈(304)에 공급하는 감산기(312)에 의해 획득된다. 에러 신호(e(t))가 작은 것이 바람직하다는 것이 인식될 것이다. 예를 들면, 마이크 신호에 근단 신호(v(t))가 없는 경우, 이상적으로는 에러 신호는 0과 동일하다.
통계적 기울기 알고리즘은 모델 파라미터의 업데이트를 위한 스텝 사이즈의 형태의 수렴 파라미터를 갖는다. 이것은 몇몇 애플리케이션에서 고정된 것으로 선택될 수 있지만, 몇몇 경우에서는, 신호 종속적인 방식으로 선택되면 더 나은 성능이 달성된다. 스텝 사이즈는 마이크 신호(y(t))에서의 노이즈에 대한 업데이트의 민감성을 제어한다. 스텝 사이즈가 작게 선택되면, 업데이트 속도는 느리지만 노이즈에 민감하지 않고, 그러나 스텝 사이즈가 크게 선택되면 업데이트 속도는 대신 빨라지지만 노이즈에 더 민감하다. 본원에서 사용되는 "업데이트 속도" 또는 "적응 속도"에 대한 언급은, 시스템의 당면한 신호 조건에 모델이 얼마나 빨리 적응할 수 있는지를 참조하기 위해 사용된다. 즉, 더 작은 스텝 사이즈를 사용하는 것은 더 작은 최종 에러 신호(e(t))로 나타날 것이지만, 그러나, 시스템의 근사치에 대한 수렴은, 필요한 많은 수의 반복 단계로 인해 더 느려질 것이고(더 느린 수렴 레이트), 더 큰 스텝 사이즈를 사용하는 것은 더 큰 최종 에러 신호(e(t))로 나타날 것이지만, 그러나, 시스템의 근사치에 대한 수렴은 필요한 더 적은 수의 반복 단계로 인해 더 빨라질 것이다(더 빠른 수렴 레이트).
더 높은 정확도의 추정치를 달성하기 위해, 스텝 사이즈는 너무 큰 스텝 사이즈로 인해 진정한 추정치를 오버슈팅하는 것을 방지하기 위해 작아야 할 필요가 있다.
몇몇 실시형태에서, 에코 성분의 추정치는 (도 3에 도시된 바와 같이) 필터 모듈(304)로부터 에코 억제 모듈(314)로 전달된다. 이들 실시형태에서, 에코 성분의 추정치는 모델 정확도 결정 모듈(306)에 또한 공급된다.
다른 실시형태에서, 단계 S408에서, 에코 성분의 추정치는 필터 모듈(304)로부터 전력 추정 모듈(power estimating module)(도 3에 도시되지 않음)로 전달된다. 전력 추정 모듈은, 필터 추정치(필터 모듈(304)에 의해 결정됨) 및 원단 신호(x(t))에 기초하여, 수신된 오디오 신호에서의 에코 전력을 추정한다. 이것을 행하기 위한, 기술분야에서 숙련된 자에게 공지된 많은 방식이 존재하며, 본 개시의 범위는 에코 전력 추정치를 결정하는 임의의 특정한 방법에 제한되지 않는다. 전력 추정 모듈은 자신의 대응하는 에코 전력 추정치를 에코 억제 모듈(314)로 출력하도록 구성된다.
에코 억제 모듈(314)은 제1 필터 모듈(304)로부터의 에코 성분의 추정치 또는 제1 전력 추정 모듈로부터 출력되는 에코 전력 추정치를 입력으로서 취하고, 단계 S410에서, 이 입력을 사용하여 수신된 오디오 신호(y(t))에 대해 에코 억제를 적용하고, 그로 인해, 수신된 오디오 신호에서 에코를 억제하게 된다. 단계 S410에서 수행되는 에코 억제는 추후 설명된다.
모델 정확도 결정 모듈(306)은 제1 추정치(
Figure 112015125746847-pct00016
)를 입력으로서 취한다. 제1 추정치(
Figure 112015125746847-pct00017
)는, 필터 모듈(304)로부터 출력되는 에코 성분의 추정치일 수도 있다. 일 실시형태에서, 감산기(312)로부터 출력되는 추정치 에러(y-s)는 전력 추정 모듈(도 3에 도시되지 않음)로 공급된다. 이 실시형태에서, 제1 추정치(
Figure 112015125746847-pct00018
)는 전력 추정 모듈로부터 출력되는 추정치 에러(y-s)의 전력일 수도 있다. 모델 정확도 결정 모듈(306)은 수신된 오디오 신호(y(t))를 입력으로서 또한 취한다.
단계 S412에서, 모델 정확도 결정 모듈(306)은 추정치(
Figure 112015125746847-pct00019
)의 정확도를 결정하도록 동작가능하다.
필터 모듈(304)의 정확도를 측정하기 위해 사용되는 하나의 메트릭은 에코 리턴 손실 향상(ERLE)이며, ERLE 메트릭은 다음과 같이 정의된다:
Figure 112015125746847-pct00020
ERLE 메트릭은, 다음의 식(밑이 10인 로그, 즉 log10이 사용된다고 가정함)에 따라, 데시벨(dB) 단위로 측정될 수도 있다:
Figure 112015125746847-pct00021
상기의 식에서, E[]는 예상 연산자이다. ERLE 척도(measure)는 비고정 신호에 적용될 수 있고, 통상적으로 적용된다. 따라서, 실제로, 예상 값은 짧은 시간의 평균 값을 사용하여 평가된다:
Figure 112015125746847-pct00022
ERLE 메트릭은 마이크 신호(y(t))를 모델링하기 위한 모델 추정치의 능력의 척도이다. 마이크 신호가 주로 에코로 이루어지는 경우 ERLE 메트릭이 모델 정확도만을 평가한다는 점에서, ERLE 메트릭은 제한된다. 그런 경우가 아니라면, ERLE 측정치는 모델이 정확하더라도 낮을 수도 있다. 그러나, ERLE 측정치가 높으면, 그것은 단지 모델이 정확하기 때문일 수 있다.
추정치(
Figure 112015125746847-pct00023
)의 정확도 값은 주기적으로 결정될 수도 있다. 예를 들면, 추정치(
Figure 112015125746847-pct00024
)의 정확도 값은, 주어진 시구간에서의 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))의 샘플의 미리 결정된 수에 걸쳐 평균되어 정확도 값에 도달하게 된다. 즉, 정확도 값은 수신된 오디오 신호(y(t))의 각각의 프레임에 대해 결정될 수도 있지만, 그러나, 이것은 예에 불과하고, 각각의 정확도 값은 각각의 프레임에 대한 것보다 더 적게 또는 더 많이 자주 결정될 수도 있다.
추정치(
Figure 112015125746847-pct00025
)의 정확도가 단계 S412에서 결정되면, 프로세스는 단계 S414로 진행한다.
단계 S414에서, 수렴 파라미터 선택 모듈(308)은, 단계 S412에서 결정되는 추정치(
Figure 112015125746847-pct00026
)의 정확도에 기초하여 필터 모듈(304)의 적응 알고리즘 컴포넌트(310)에 의해 실행되는 알고리즘에서 사용되는 수렴 파라미터(스텝 사이즈)에 대한 값을 결정한다. 수렴 파라미터는 알고리즘 종속적이지만, 소정의 알고리즘에 대해 정량화될 수 있다. NLMS 알고리즘을 예로서 취하면, 0.5의 수렴 파라미터는 적당히 빠른 스텝 사이즈(빠른 업데이트 속도)를 통상적으로 제공할 것이고 0.01의 수렴 파라미터는 아주 작은 스텝 사이즈(느린 업데이트 속도)를 통상적으로 제공할 것이다.
특히, 수렴 파라미터 선택 모듈(308)은, 단계 S412에서 행해진 에코 리턴 손실 향상 측정치의 비증가(non-increasing) 함수로서 필터 모듈(304)의 적응 속도를 제어하도록 수렴 파라미터를 선택한다.
단계 S414에서, 단계 S412에서 행해진 에코 리턴 손실 향상 측정치가 임계 값에 비교될 수도 있고, 수렴 파라미터 선택 모듈(308)은 이 비교에 기초하여 수렴 파라미터를 조정한다. 임계 값은 미리 결정된 임계치, 예를 들면, 10 dB일 수도 있다. 그러나, 미리 결정된 임계치에 대한 이 값은 예에 불과하며 그 값은 시스템 요건에 따라 상이하게 설정될 수도 있다는 것이 인식될 것이다.
즉, 단계 S412에서 취해지는 에코 리턴 손실 향상 측정치가 임계 값 미만이면(즉, ERLE 값이 낮은 경우), 수렴 파라미터 선택 모듈(308)은 필터 모듈(304)의 적응 속도를 증가시키는 수렴 파라미터를 선택한다.
필터 모듈(304)의 적응 속도를 증가시키는 결정은, 미리 결정된 시구간에 걸쳐 에코 리턴 손실 향상 측정치가 임계 값 미만인 경우에만, 즉, 미리 결정된 시구간의 전체 지속 기간 동안 에코 리턴 손실 향상 측정치가 임계 값 미만일 때에, 행해질 수 있다. 다른 관련 방식이 또한 사용될 수 있을 것인데, 예를 들면, 필터 모듈(304)의 적응 속도를 증가시키는 결정은, 미리 결정된 시구간의 미리 결정된 비율 동안 에코 리턴 손실 향상 측정치가 임계 값 미만이면 행해질 수도 있다. 미리 결정된 비율을 적절히 선택하는 것에 의해, 일 예에서는, 미리 결정된 시구간의 거의 전체에 걸쳐 ERLE가 임계치 미만일 때에 적응 속도는 증가한다.
적응 알고리즘 컴포넌트(310)에 의해 실행되는 알고리즘에 따라, 필터 모듈(304)의 적응 속도의 증가는 다양한 방식으로 구현될 수도 있다. 즉, 필터 모듈(304)의 적응 속도의 증가는, 수렴 파라미터를 미리 결정된 양만큼 또는 미리 결정된 값으로 감소시키는 것에 의해 구현될 수도 있다. 대안적으로, 필터 모듈(304)의 적응 속도의 증가는, 수렴 파라미터를 미리 결정된 양만큼 또는 미리 결정된 값으로 증가시키는 것에 의해 구현될 수도 있다.
단계 S412에서 취해지는 에코 리턴 손실 향상 측정치가 임계 값 이상이면(즉, ERLE 값이 높은 경우), 수렴 파라미터 선택 모듈(308)은 필터 모듈(304)의 적응 속도를 감소시키는 수렴 파라미터를 선택한다.
필터 모듈(304)의 적응 속도를 감소시키는 결정은, 미리 결정된 시구간에 걸쳐 에코 리턴 손실 향상 측정치가 임계 값 이상인 경우에만, 즉, 미리 결정된 시구간의 전체 지속 기간 동안 에코 리턴 손실 향상 측정치가 임계 값 이상일 때에, 행해질 수 있다. 다른 관련 방식이 또한 사용될 수 있을 것인데, 예를 들면, 필터 모듈(304)의 적응 속도를 감소시키는 결정은, 미리 결정된 시구간의 미리 결정된 비율 동안 에코 리턴 손실 향상 측정치가 임계 값 이상이면 행해질 수도 있다. 미리 결정된 비율을 적절히 선택하는 것에 의해, 일 예에서는, 몇몇 샘플에서 ERLE가 임계치 아래로 떨어지는 경우를 제외하고, 미리 결정된 시구간의 거의 전체에 걸쳐 ERLE가 임계치 이상일 때에 적응 속도는 감소한다.
적응 알고리즘 컴포넌트(310)에 의해 실행되는 알고리즘에 따라, 필터 모듈(304)의 적응 속도의 감소는 다양한 방식으로 구현될 수도 있다. 즉, 필터 모듈(304)의 적응 속도의 감소는, 수렴 파라미터를 미리 결정된 양만큼 또는 미리 결정된 값으로 감소시키는 것에 의해 구현될 수도 있다. 대안적으로, 필터 모듈(304)의 적응 속도의 감소는, 수렴 파라미터를 미리 결정된 양만큼 또는 미리 결정된 값으로 증가시키는 것에 의해 구현될 수도 있다.
상기에서 설명되는 실시형태에서, 임계치가 복수 개 사용될 수도 있다. 수렴 파라미터를 미리 결정된 값으로 증가/감소시키는 것에 의해 필터 모듈(304)의 적응 속도의 증가/감소가 구현되게 하는 예시적인 구현예를 취한다. ERLE ≤ 2 dB이고, 수렴 파라미터가 0.5로 설정되는 것을 조건으로 하는; 2 dB < ERLE < 4 dB이고, 수렴 파라미터가 0.2로 설정되는 것을 조건으로 하는; 그리고 ERLE ≥ 4 dB이고, 수렴 파라미터가 0.05로 설정되는 것을 조건으로 하는 한 예가 있을 수 있다. 수렴 파라미터에 대한 이들 특정 값은 예시의 목적을 위해 사용되는 것에 불과하다는 것을 알 수 있을 것이다. 수렴 파라미터에 대해 선택되는 값은 애플리케이션 종속적이다.
상기에서 설명되는 실시형태에서, 수렴 파라미터 선택 모듈(308)은 수렴 파라미터를 보다 느리게 변경시키기 위해 히스테리시스 제어를 구현할 수도 있다. 예를 들면, 임계 값을 중간에 두도록 상한 임계치 및 하한 임계치가 임계치가 선택될 수도 있고, 상기에서 설명되는 필터 모듈(304)의 적응 속도의 감소는, 단계 S412에서 취해지는 에코 리턴 손실 향상 측정치가 상한 임계치 이상인 경우에만 구현될 수도 있고, 상기에서 설명되는 필터 모듈(304)의 적응 속도의 증가는, 단계 S412에서 취해지는 에코 리턴 손실 향상 측정치가 하한 임계치 미만인 경우에만 구현될 수도 있다. 이것은, 에코 리턴 손실 향상 측정치가 임계 값 주변에서 표류할 때 수렴 파라미터에 대한 급격한 변경을 방지한다.
에코 리턴 손실 향상 측정치가 높을 때 모델 정확도가 항상 높다는 특성을 에코 리턴 손실 향상 척도가 가지기 때문에, 에코 리턴 손실 향상 척도는, 점점 더 정확한 추정치를 달성하기 위해 에코 리턴 손실 향상 측정치가 높을 때 적응 속도를 느리게 하도록, 그리고 모델 파라미터에서의 변화를 재빨리 추적하기 위해 에코 리턴 손실 향상 측정치가 낮을 때 적응 속도를 증가시키도록, 사용될 수도 있다.
실시형태는 모델의 정확도의 함수로서 적응 속도를 선택하지만, 이 정확도는 선택 방식의 일부로서 암시적으로 추정된다.
상기에서 설명되는 실시형태는, 모델의 정확도가 미지인 경우 (에코 리턴 손실 향상 측정치가 낮은 경우 빠른 업데이트 속도를 통해) 빠른 적응이 달성되는 것을, 그리고 모델이 정확한 것으로 알려진 경우 (에코 리턴 손실 향상 측정치가 높은 경우 업데이트 속도를 감소시키는 것을 통해) 점점 더 정확한 추정치가 달성되는 것을 보장한다.
상기에서 설명되는 실시형태에서의 적응 방식은, 모델이 연속적으로 업데이트되는 경우와 모델 추정치가 모든 시간에 공평하게 정확한 대신 시간의 몇몇 (알려진) 지점에서의 모델 추정치가 고도로 정확한 것을 보장하는 것이 주요 관심사인 경우의, 업데이트 방식에서 특히 유용하다.
모델이 연속적으로 업데이트되고 상기 적응 방식이 사용될 수도 있는 예시적인 아키텍쳐가 이제 설명된다.
일 예의 아키텍쳐에서는, 모델링 모듈은, 수신된 오디오 신호에서의 에코의 제1 모델 추정치를 출력된 오디오 신호(x(t)) 및 수신된 오디오 신호(y(t))에 기초한 제1 모델을 사용하여 결정하도록, 그리고 수신된 오디오 신호에서의 에코의 제2 모델 추정치를 출력된 오디오 신호에 기초한 제2 모델을 사용하여 결정하도록 구성된다. 제1 모델은 시간에 걸쳐 계속적으로 업데이트된다. 모델링 모듈은, 모델 정확도 척도에 따라 제1 모델의 제1 정확도 값을 결정하도록, 모델 정확도 척도에 따라 제2 모델의 제2 정확도 값을 결정하도록, 그리고 제1 정확도 값 및 제2 정확도 값의 비교에 기초하여 제1 모델이 제2 모델보다 더 정확한지를 결정하고 비교에 기초하여 제2 모델을 선택적으로 업데이트하도록 구성된다. 즉, 제1 모델이 제2 모델보다 더 정확하면 제2 모델은 업데이트되고, 제1 모델이 제2 모델보다 더 정확하지 않으면 제2 모델은 업데이트되지 않는다. 이 아키텍쳐에서, 에코 제거 모듈은 수신된 오디오 신호에서 에코를 제거하기 위해 에코의 제2 모델 추정치만을 사용하도록 구성된다. 따라서, 섀도우 방식으로(in a shadow manner) 모델 추정치를 생성하기 위해 두 개의 적응적 모델이 사용된다. 이 아키텍쳐에서, 상기에서 설명되는 스텝 사이즈 조정 방식은 제1 모델을 업데이트하는 데 사용되는 알고리즘의 스텝 사이즈를 변경시키도록 사용될 수도 있다. 즉, 에코 리턴 손실 향상 척도는, 점점 더 정확한 추정치를 달성하기 위해 제1 모델의 에코 리턴 손실 향상 측정치가 높을 때 제1 모델의 적응 속도를 느리게 하기 위해, 그리고 에코 리턴 손실 향상 측정치가 낮을 때 적응 속도를 증가시키기 위해 사용될 수도 있다.
다른 예의 아키텍쳐에서, 모델링 모듈은, 수신된 오디오 신호에서의 에코의 제1 모델 추정치를 결정하기 위해, 출력된 오디오 신호 및 수신된 오디오 신호에 기초한 제1 모델을 사용하여 수신된 오디오 신호에서 에코의 에코 경로를 모델링하도록, 제1 모델 추정치를 사용하여 성능 메트릭에 따른 제1 성능 값을 결정하기 위해, 제1 성능을 임계치와 비교하도록 그리고 비교에 기초하여 에코 경로가 선형으로 간주될 수 있는지를 결정하도록 구성된다. 모델링 모듈은 또한, 에코의 제2 모델 추정치를 결정하기 위해, 출력된 오디오 신호 및 수신된 오디오 신호에 기초한 제2 모델을 사용하여, 수신된 오디오 신호에서의 에코의 에코 경로를, 상기 비교에 기초하여, 선택적으로 모델링하도록 구성된다. 이 아키텍쳐에서, 에코 제거 모듈은, 비교에 기초하여 수신된 오디오 신호에서 에코를 제거하기 위해, 에코의 제1 모델 추정치 또는 제2 모델 추정치를 선택적으로 사용하도록 구성된다. 즉, 에코의 제1 모델 추정치는, 에코 경로가 선형으로 간주될 수 있다는 것이 결정되면, 수신된 오디오 신호에서 에코를 제거하도록 사용되고, 에코의 제2 모델 추정치는, 에코 경로가 선형으로 간주될 수 없다는 것이 결정되면, 수신된 오디오 신호에서 에코 억제를 제거하도록 사용된다. 이 아키텍쳐에서, 제1 모델은 시간에 걸쳐 계속적으로 업데이트된다. 따라서, 상기에서 설명되는 스텝 사이즈 조정 방식은 제1 모델을 업데이트하는 데 사용되는 알고리즘의 스텝 사이즈를 변경시키도록 사용될 수도 있다. 즉, 에코 리턴 손실 향상 척도는, 점점 더 정확한 추정치를 달성하기 위해 제1 모델의 에코 리턴 손실 향상 측정치가 높을 때 제1 모델의 적응 속도를 느리게 하기 위해, 그리고 에코 리턴 손실 향상 측정치가 낮을 때 적응 속도를 증가시키기 위해 사용될 수도 있다.
단계 S410에서 수행되는 에코 억제가 이제 설명된다. 에코 억제기(314)의 목적은, 예를 들면, VoIP 클라이언트에서의 마이크 신호에 존재하는 라우드스피커 에코를, 마이크(212)에 의해 수집되는 근단 사운드(비에코 사운드)가 존재하는 경우에 그 에코가 인지가능한/방해하는 것으로 되지 않도록 충분히 낮은 레벨로 억제하는 것이다. 에코 억제 모듈(314)은, 시간 및 주파수 둘 모두에 걸쳐 변하는 신호 종속적인 억제를 수신된 오디오 신호(y(t))에 대해 적용하도록 설계된다. 에코 억제 방법은 해당 기술분야에 공지되어 있다. 또한, 에코 억제 모듈(314)에 의해 적용되는 에코 억제 방법은 상이한 방식으로 구현될 수도 있다. 이와 같으므로, 에코 억제 방법의 정확한 상세는 본원에서 상세하게 설명되지 않는다.
에코 억제 모듈(314)은, 유저 디바이스(104)에서의 추가 프로세싱을 위해, 에코가 억제된 수신된 신호를 출력한다. 예를 들면, 에코 억제 모듈(314)로부터의 출력되는 신호는 클라이언트(206)에 의해 프로세싱될 수도 있고(예를 들면, 인코딩되고 패킷화될 수도 있고) 그 다음 유저(102 및 108) 사이의 통화 중에 네트워크(106)를 통해 유저 디바이스(110)로 송신될 수도 있다. 추가적으로 또는 대안적으로, 에코 억제 모듈(314)로부터 출력되는 신호는 유저 디바이스(104)에 의해 다른 목적으로 사용될 수도 있는데, 예를 들면, 신호는 메모리(214)에 저장될 수도 있거나 또는 유저 디바이스(104)에서 실행하고 있는 애플리케이션에 대한 입력으로서 사용될 수도 있다.
필터 모듈(304)은 통계적 기울기 알고리즘을 구현하는 임의의 필터를 활용할 수도 있다. 필터 모듈(304)은 수신된 오디오 신호에서의 에코의 에코 경로를 모델링하기 위해 선형일 수도 있거나(예를 들면, 유한 임펄스 응답(Finite Impulse Response; FIR) 필터 또는 무한 임펄스 응답(Infinite impulse Response; IIR) 필터) 또는 대안적으로 비선형 필터를 활용할 수도 있다.
상기에서 설명되는 실시형태에서, 에코 제거기는 VoIP 시스템에서 구현된다(예를 들면, 수신된 오디오 신호는 통신 시스템(100)을 통한 유저(102 및 108) 사이의 통화 동안 유저 디바이스(110)에 송신하기 위한 유저(102)의 음성을 포함할 수도 있다). 그러나, 본원에서 설명되는 에코 제거 방법은, 에코 제거가 적용되어야 하는 임의의 적절한 시스템에 적용될 수도 있다.
상기에서 설명되는, 그리고 도면에서 도시되는 실시형태에서, 에코 제거 모듈(314)은 에코 억제를 구현한다.
상기에서 설명되는, 그리고 도면에서 도시되는 실시형태에서, 에코 소거(또는 "에코 감산")는 수신된 오디오 신호(y(t))에 적용되지 않는다. 즉, 유저 디바이스(104)에는 에코 소거 모듈이 존재하지 않으며 에코 억제는, 수신된 오디오 신호(y(t))에 에코 소거를 적용하는 사전 단계 없이, 수신된 오디오 신호(y(t))에 적용된다.
그러나, 다른 실시형태에서, 에코 소거는, 에코 소거 모듈에 의해, 수신된 오디오 신호(y(t))에 적용될 수도 있다. 특히, 에코 억제 모듈(314)에 의해 적용되는 에코 억제는, 수신된 오디오 신호(y(t))의 프로세싱에서 에코 소거의 하류(즉, 이후)에 적용될 수도 있다. 에코 소거 모듈은 수신된 오디오 신호로부터 에코 신호의 추정치를 감산할 것이지만, 에코 신호 추정치의 부정확성으로 인해, 수신된 오디오 신호에 잔여 에코가 잔류할 가능성이 높을 것이다. 그렇다면, 에코 억제 모듈(314)에 의해 억제되어야 할 것은 잔여 에코이다. 이 에코 억제는, 에코 소거가 적용되지 않는 실시형태에서 본원에서 설명된 바와 동일한 방식으로 적용될 수 있을 것이다. 에코 감산이 사용되면, 에코 감산의 효과는 에코 억제에서 고려될 수 있다.
다른 실시형태에서, 에코 제거 모듈(314)은 에코 소거를 (단계 S410에서) 구현한다. 즉, 에코 제거 모듈(314)은 수신된 오디오 신호(y(t))로부터 에코 신호(
Figure 112015125746847-pct00027
)의 추정치를 감산하도록 구성된다.
본원에서 설명되는 방법은, 적응적 모델을 업데이트하는 데 사용되는 알고리즘의 스텝 사이즈를 조정하기 위한 단독 메커니즘으로서 구현될 수도 있다. 대안적으로, 본원에서 설명되는 방법은 스텝 사이즈 조정 방식의 하나의 컴포넌트로서 구현될 수도 있는데, 이 경우 알고리즘의 스텝 사이즈를 조정할 때 다른 고려사항이 만들어진다.
본원에서 설명되는 방법은 유저 디바이스(104)에서 컴퓨터 프로그램 제품(예를 들면, 클라이언트(206))을 실행하는 것에 의해 구현될 수도 있다. 즉, 컴퓨터 프로그램 제품은 수신된 오디오 신호(y(t))에서 에코를 제거하도록 구성될 수도 있는데, 이 경우 컴퓨터 프로그램 제품은 컴퓨터 판독가능 저장 매체 상에 포함되고(예를 들면, 메모리(214)에 저장됨) CPU(202) 상에서 실행될 때 본원에서 설명되는 방법 중 임의의 방법의 동작을 수행하도록 구성된다.
일반적으로, 본원에서 설명되는 기능(예를 들면, 도 3에서 도시되는 기능적 모듈 및 도 4에서 도시되는 기능적 단계) 중 임의의 것은, 소프트웨어, 펌웨어, 하드웨어(예를 들면, 고정된 로직 회로부)를 사용하여 구현될 수도 있거나, 또는 이들 구현예의 조합을 사용하여 구현될 수도 있다. 도 3 및 도 4에서 별개로 도시되는 모듈 및 단계는 별개의 모듈 또는 단계로서 구현될 수도 있거나 또는 그렇지 않을 수도 있다. 예를 들면, 필터 모듈(304)은 모델 정확도 결정 모듈(306), 수렴 파라미터 선택 모듈(308) 및 감산기(312)의 기능을 수행할 수도 있다. 본원에서 사용되는 바와 같은 용어 "모듈", "기능성", "컴포넌트" 및 "로직"은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 일반적으로 나타낸다. 소프트웨어 구현예의 경우, 모듈, 기능성, 또는 로직은, 프로세서(예를 들면, CPU 또는 CPU들) 상에서의 실행시 특정 작업을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스에 저장될 수도 있다. 본원에서 설명되는 기술의 특징은 플랫폼 독립적인데, 그 기술이 다양한 프로세서를 구비하는 다양한 상업적 컴퓨팅 플랫폼 상에서 구현될 수도 있다는 것을 의미한다. 예를 들면, 유저 디바이스는, 유저 디바이스의 하드웨어로 하여금 동작, 예를 들면, 프로세서 기능 블록 등등을 수행하게 하는 엔티티(예를 들면 소프트웨어)를 또한 포함할 수도 있다. 예를 들면, 유저 디바이스는, 유저 디바이스, 및 유저 디바이스의 하나 이상의 오퍼레이팅 시스템 및 관련 하드웨어로 하여금 동작을 수행하게 하는 명령어를 유지하도록 구성될 수도 있는 컴퓨터 판독가능 매체를 포함할 수도 있다. 따라서, 명령어는, 동작을 수행하게끔 오퍼레이팅 시스템 및 관련 하드웨어를 구성시키도록 기능하고 이 방식에서는 기능을 수행할 오퍼레이팅 시스템 및 관련 하드웨어의 변환으로 나타나게 된다. 명령어는 다양한 상이한 구성을 통해 유저에게 컴퓨터 판독가능 매체에 의해 제공될 수도 있다.
컴퓨터 판독가능 매체의 하나의 이러한 구성은 신호 포함 매체(signal bearing medium)이며 따라서, 예컨대 네트워크를 통해, 명령어를 (예를 들면, 반송파로서) 컴퓨팅 디바이스로 송신하도록 구성된다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체로서 또한 구성될 수도 있으며 따라서 신호 포함 매체가 아니다. 컴퓨터 판독가능 저장 매체의 예는 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 광학 디스크, 플래시 메모리, 하드 디스크 메모리, 및 명령어 및 다른 데이터를 저장하기 위해 자기, 광학 및 다른 기술을 사용할 수도 있는 다른 메모리 디바이스를 포함한다.
비록 본 발명의 대상이 구조적 특징 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부하는 청구범위에서 정해지는 발명의 대상이 상기에서 설명되는 특정 특징 또는 액트로 반드시 제한되는 것은 아니다는 것이 이해되어야 한다. 오히려, 상기에서 설명되는 특정 특징 및 액트는 청구범위를 구현하는 예시적인 형태로서 설명된다.

Claims (20)

  1. 에코를 제거하는 방법에 있어서,
    출력 오디오 신호를 출력하는 단계;
    입력 오디오 신호를 수신하는 단계로서, 상기 수신된 입력 오디오 신호는 상기 출력된 출력 오디오 신호로부터 유래하는 에코를 포함하는 것인, 상기 입력 오디오 신호를 수신하는 단계;
    상기 출력된 출력 오디오 신호 및 상기 수신된 입력 오디오 신호에 기초하여, 상기 수신된 입력 오디오 신호에 있는 에코의 제1 적응적 모델 추정치(adaptive model estimate)를 결정하는 단계;
    성능 메트릭에 따라 상기 제1 적응적 모델의 성능 값을 결정하는 단계;
    상기 성능 값을 임계 값과 비교하는 단계;
    상기 출력된 출력 오디오 신호, 상기 수신된 입력 오디오 신호에 기초하여, 또 상기 성능 값과 상기 임계 값의 비교에도 기초하여, 상기 수신된 입력 오디오 신호에 있는 에코의 제2 적응적 모델 추정치를 결정하는 단계;
    상기 성능 값과 상기 임계 값의 비교에 기초하여, 또 상기 수신된 입력 오디오 신호에 있는 에코와 상기 출력된 출력 오디오 신호 사이의 관계에도 기초하여, 에코 경로가 선형으로 간주되는지를 결정하는 단계;
    상기 에코 경로가 선형으로 간주되는 경우에, 상기 에코의 제1 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하고, 상기 제1 적응적 모델의 적응 속도를 제어하는 수렴 파라미터를 업데이트하는 단계; 및
    상기 에코 경로가 선형으로 간주되지 않는 경우에, 상기 에코의 제2 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하고, 상기 제1 적응적 모델의 적응 속도를 제어하는 수렴 파라미터를 업데이트하는 단계
    를 포함하는, 에코를 제거하는 방법.
  2. 제1항에 있어서, 상기 성능 값이 상기 임계 값 이상이면, 상기 업데이트하는 단계는, 상기 제1 적응적 모델의 적응 속도를 감소시키는 수렴 파라미터 값을 선택하는 단계를 포함하는, 에코를 제거하는 방법.
  3. 제1항에 있어서, 미리 결정된 시구간 동안 상기 성능 값이 상기 임계 값 이상이면, 상기 업데이트하는 단계는, 상기 제1 적응적 모델의 적응 속도를 감소시키는 수렴 파라미터 값을 선택하는 단계를 포함하는, 에코를 제거하는 방법.
  4. 제1항에 있어서, 미리 결정된 시구간의 미리 결정된 비율 동안 상기 성능 값이 상기 임계 값 이상이면, 상기 업데이트하는 단계는, 상기 제1 적응적 모델의 적응 속도를 감소시키는 수렴 파라미터 값을 선택하는 단계를 포함하는, 에코를 제거하는 방법.
  5. 제1항에 있어서, 상기 성능 값이 상기 임계 값 미만이면, 상기 업데이트하는 단계는, 상기 제1 적응적 모델의 적응 속도를 증가시키는 수렴 파라미터 값을 선택하는 단계를 포함하는, 에코를 제거하는 방법.
  6. 제1항에 있어서, 미리 결정된 시구간 동안 상기 성능 값이 상기 임계 값 미만이면, 상기 업데이트하는 단계는, 상기 제1 적응적 모델의 적응 속도를 증가시키는 수렴 파라미터 값을 선택하는 단계를 포함하는, 에코를 제거하는 방법.
  7. 제1항에 있어서, 미리 결정된 시구간의 미리 결정된 비율 동안 상기 성능 값이 상기 임계 값 미만이면, 상기 업데이트하는 단계는, 상기 제1 적응적 모델의 적응 속도를 증가시키는 수렴 파라미터 값을 선택하는 단계를 포함하는, 에코를 제거하는 방법.
  8. 제1항에 있어서, 상기 업데이트하는 단계는,
    상기 수렴 파라미터를 미리 결정된 양만큼 또는 미리 결정된 값으로 감소시키는 단계; 또는
    상기 수렴 파라미터를 미리 결정된 양만큼 또는 미리 결정된 값으로 증가시키는 단계를 포함하는, 에코를 제거하는 방법.
  9. 제1항에 있어서, 상기 수렴 파라미터는 스텝 사이즈 파라미터인, 에코를 제거하는 방법.
  10. 제1항에 있어서, 상기 에코의 제1 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하는 것은, 상기 에코의 제1 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에 에코 억제를 적용함으로써, 상기 수신된 입력 오디오 신호에서 에코를 억제하는 것을 포함하는, 에코를 제거하는 방법.
  11. 제1항에 있어서, 상기 에코의 제1 또는 제2 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하는 것은, 상기 에코의 제1 또는 제2 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에 에코 소거를 적용하는 것을 포함하고, 상기 에코의 제1 또는 제2 적응적 모델 추정치는 상기 수신된 입력 오디오 신호로부터 감산되는, 에코를 제거하는 방법.
  12. 제1항에 있어서, 상기 방법은 통신 이벤트에서 사용되는 유저 디바이스에서 수행되고, 상기 수신된 입력 오디오 신호는 상기 통신 이벤트에서 상기 유저 디바이스로부터 송신하기 위한 유저의 음성(speech)을 포함하는, 에코를 제거하는 방법.
  13. 제12항에 있어서, 상기 통신 이벤트는 인터넷 전화(voice over internet protocol; VoIP) 통화인, 에코를 제거하는 방법.
  14. 제13항에 있어서, 상기 출력된 출력 오디오 신호는 상기 수신된 입력 오디오 신호에 있는 에코에 포함되는 상기 VoIP 통화의 원단 음성 신호(far-end speech signal)인, 에코를 제거하는 방법.
  15. 제1항에 있어서, 상기 성능 메트릭은 에코 리턴 손실 향상 메트릭(echo return loss enhancement metric)을 포함하는, 에코를 제거하는 방법.
  16. 디바이스에 있어서,
    출력 오디오 신호를 출력하도록 구성되는 오디오 출력 장치;
    입력 오디오 신호를 수신하도록 구성되는 오디오 입력 장치로서, 상기 수신된 입력 오디오 신호는 상기 출력된 출력 오디오 신호로부터 유래하는 에코를 포함하는 것인, 상기 오디오 입력 장치;
    상기 출력된 출력 오디오 신호 및 상기 수신된 입력 오디오 신호에 기초하여, 상기 수신된 입력 오디오 신호에 있는 에코의 제1 적응적 모델 추정치를 결정하도록 구성된 모델링 모듈
    을 포함하고, 상기 모델링 모듈은 또한,
    성능 메트릭에 따라 상기 제1 적응적 모델의 성능 값을 결정하고;
    상기 성능 값을 임계 값과 비교하며;
    상기 출력된 출력 오디오 신호, 상기 수신된 입력 오디오 신호에 기초하여, 또 상기 성능 값과 상기 임계 값의 비교에도 기초하여, 상기 수신된 입력 오디오 신호에 있는 에코의 제2 적응적 모델 추정치를 결정하고;
    상기 성능 값과 상기 임계 값의 비교에 기초하여, 또 상기 수신된 입력 오디오 신호에 있는 에코와 상기 출력된 출력 오디오 신호 사이의 관계에도 기초하여, 에코 경로가 선형으로 간주되는지를 결정하며;
    상기 에코 경로가 선형으로 간주되는 경우에, 상기 에코의 제1 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하고, 상기 제1 적응적 모델의 적응 속도를 제어하는 수렴 파라미터를 업데이트하며; 그리고
    상기 에코 경로가 선형으로 간주되지 않는 경우에, 상기 에코의 제2 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하고, 상기 제1 적응적 모델의 적응 속도를 제어하는 수렴 파라미터를 업데이트하도록 구성되는, 디바이스.
  17. 제16항에 있어서, 상기 오디오 출력 장치는 상기 출력된 출력 오디오 신호를 출력하도록 구성된 스피커를 포함하고, 상기 오디오 입력 장치는 상기 수신된 입력 오디오 신호를 수신하도록 구성된 마이크를 포함하는, 디바이스.
  18. 수신된 입력 오디오 신호에 있는 에코를 제거하도록 구성된 컴퓨터 프로그램이 수록되어 있는 컴퓨터 판독 가능한 저장 매체에 있어서,
    상기 에코는 출력된 출력 오디오 신호로부터 유래하고, 상기 컴퓨터 프로그램은, 프로세서 상에서 실행될 때에,
    상기 출력된 출력 오디오 신호 및 상기 수신된 입력 오디오 신호에 기초하여, 상기 수신된 입력 오디오 신호에 있는 에코의 제1 적응적 모델 추정치를 결정하고;
    성능 메트릭에 따라 상기 제1 적응적 모델의 성능 값을 결정하며;
    상기 성능 값을 임계 값과 비교하고;
    상기 출력된 출력 오디오 신호, 상기 수신된 입력 오디오 신호에 기초하여, 또 상기 성능 값과 상기 임계 값의 비교에도 기초하여, 상기 수신된 입력 오디오 신호에 있는 에코의 제2 적응적 모델 추정치를 결정하며;
    상기 성능 값과 상기 임계 값의 비교에 기초하여, 또 상기 수신된 입력 오디오 신호에 있는 에코와 상기 출력된 출력 오디오 신호 사이의 관계에도 기초하여, 에코 경로가 선형으로 간주되는지를 결정하고;
    상기 에코 경로가 선형으로 간주되는 경우에, 상기 에코의 제1 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하고, 상기 제1 적응적 모델의 적응 속도를 제어하는 수렴 파라미터를 업데이트하며; 그리고
    상기 에코 경로가 선형으로 간주되지 않는 경우에, 상기 에코의 제2 적응적 모델 추정치를 사용하여, 상기 수신된 입력 오디오 신호에서 에코를 제거하고, 상기 제1 적응적 모델의 적응 속도를 제어하는 수렴 파라미터를 업데이트하도록 구성되는, 컴퓨터 판독 가능한 저장 매체.
  19. 제18항에 있어서, 미리 결정된 시구간의 미리 결정된 비율 동안 상기 성능 값이 상기 임계 값 이상이면, 상기 업데이트하는 것은, 상기 제1 적응적 모델의 적응 속도를 감소시키는 수렴 파라미터 값을 선택하는 것을 포함하는, 컴퓨터 판독 가능한 저장 매체.
  20. 제18항에 있어서, 상기 성능 값이 상기 임계 값 미만이면, 상기 업데이트하는 것은, 상기 제1 적응적 모델의 적응 속도를 증가시키는 수렴 파라미터 값을 선택하는 것을 포함하는, 컴퓨터 판독 가능한 저장 매체.
KR1020157036245A 2013-05-31 2014-05-29 에코 제거 KR102111185B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB1309779.5A GB201309779D0 (en) 2013-05-31 2013-05-31 Echo removal
GB1309779.5 2013-05-31
US14/012,786 2013-08-28
US14/012,786 US9521264B2 (en) 2013-05-31 2013-08-28 Echo removal
PCT/US2014/039869 WO2014194009A1 (en) 2013-05-31 2014-05-29 Echo removal

Publications (2)

Publication Number Publication Date
KR20160016880A KR20160016880A (ko) 2016-02-15
KR102111185B1 true KR102111185B1 (ko) 2020-05-14

Family

ID=48805576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157036245A KR102111185B1 (ko) 2013-05-31 2014-05-29 에코 제거

Country Status (7)

Country Link
US (1) US9521264B2 (ko)
EP (1) EP2982102B1 (ko)
KR (1) KR102111185B1 (ko)
CN (1) CN105379239B (ko)
ES (1) ES2613492T3 (ko)
GB (1) GB201309779D0 (ko)
WO (1) WO2014194009A1 (ko)

Families Citing this family (12)

* 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
GB201309773D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309771D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
US9613634B2 (en) * 2014-06-19 2017-04-04 Yang Gao Control of acoustic echo canceller adaptive filter for speech enhancement
WO2016160403A1 (en) 2015-03-27 2016-10-06 Dolby Laboratories Licensing Corporation Adaptive audio filtering
US10594869B2 (en) * 2017-08-03 2020-03-17 Bose Corporation Mitigating impact of double talk for residual echo suppressors
US10542153B2 (en) 2017-08-03 2020-01-21 Bose Corporation Multi-channel residual echo suppression
US10863269B2 (en) 2017-10-03 2020-12-08 Bose Corporation Spatial double-talk detector
CN109831733B (zh) * 2019-02-26 2020-11-24 北京百度网讯科技有限公司 音频播放性能的测试方法、装置、设备和存储介质
US10803881B1 (en) * 2019-03-28 2020-10-13 Samsung Electronics Co., Ltd. System and method for acoustic echo cancelation using deep multitask recurrent neural networks
US10964305B2 (en) 2019-05-20 2021-03-30 Bose Corporation Mitigating impact of double talk for residual echo suppressors
EP3864383A4 (en) * 2019-07-10 2021-12-22 Vibrant Corporation DIGITAL TWIN MODEL INVERSION FOR TEST

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030235312A1 (en) 2002-06-24 2003-12-25 Pessoa Lucio F. C. Method and apparatus for tone indication
US20060147032A1 (en) 2004-12-30 2006-07-06 Mccree Alan V Acoustic echo devices and methods
US20130044872A1 (en) 2010-04-22 2013-02-21 Telefonaktiebolaget L M Ericsson (Publ) Echo canceller and a method thereof

Family Cites Families (71)

* 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
US4918727A (en) * 1988-06-09 1990-04-17 Tellabs Incorporated Double talk detector for echo canceller and method
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
JP3395388B2 (ja) * 1994-08-16 2003-04-14 ソニー株式会社 信号適応処理装置及びエコー抑圧装置
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
US5587998A (en) 1995-03-03 1996-12-24 At&T Method and apparatus for reducing residual far-end echo in voice communication networks
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
US5631900A (en) * 1995-09-29 1997-05-20 Crystal Semiconductor Double-Talk detector for echo canceller
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
US6563803B1 (en) * 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6212273B1 (en) * 1998-03-20 2001-04-03 Crystal Semiconductor Corporation Full-duplex speakerphone circuit including a control interface
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
DE19935808A1 (de) 1999-07-29 2001-02-08 Ericsson Telefon Ab L M Echounterdrückungseinrichtung zum Unterdrücken von Echos in einer Sender/Empfänger-Einheit
US7920697B2 (en) * 1999-12-09 2011-04-05 Broadcom Corp. Interaction between echo canceller and packet voice processing
US6606382B2 (en) 2000-01-27 2003-08-12 Qualcomm Incorporated System and method for implementation of an echo canceller
US7139342B1 (en) 2000-05-12 2006-11-21 National Semiconductor Corporation System and method for cancelling signal echoes in a full-duplex transceiver front end
US6928161B1 (en) * 2000-05-31 2005-08-09 Intel Corporation Echo cancellation apparatus, systems, and methods
JP3693588B2 (ja) 2000-11-01 2005-09-07 富士通株式会社 エコー抑制システム
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
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
GB2395878A (en) * 2002-11-29 2004-06-02 Mitel Knowledge Corp Method of capturing constant echo path information using default coefficients
US7420937B2 (en) 2002-12-23 2008-09-02 Broadcom Corporation Selectively adaptable far-end echo cancellation in a packet voice system
GB2397990A (en) * 2003-01-31 2004-08-04 Mitel Networks Corp Echo cancellation/suppression and double-talk detection in communication paths
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
US7599432B2 (en) * 2003-12-08 2009-10-06 Freescale Semiconductor, Inc. Method and apparatus for dynamically inserting gain in an adaptive filter system
GB2410661A (en) * 2004-01-30 2005-08-03 Mitel Networks Corp Narrow band tone detection in echo cancelling system
US20060018460A1 (en) 2004-06-25 2006-01-26 Mccree Alan V Acoustic echo devices and methods
CN1716798B (zh) * 2004-07-02 2011-03-02 朗迅科技公司 通信网络中消除回波的方法
US7433463B2 (en) 2004-08-10 2008-10-07 Clarity Technologies, Inc. Echo cancellation and noise reduction method
EP1708472B1 (en) * 2005-04-01 2007-12-05 Mitel Networks Corporation A method of accelerating the training of an acoustic echo canceller in a full-duplex beamforming-based audio conferencing system
JP4256363B2 (ja) 2005-05-27 2009-04-22 株式会社東芝 ボイススイッチ
GB2427332B (en) * 2005-06-16 2007-05-16 Trinity Convergence Inc Systems and methods for adaptive echo cancellation
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
US8014519B2 (en) * 2007-04-02 2011-09-06 Microsoft Corporation Cross-correlation based echo canceller controllers
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.
WO2009051197A1 (ja) 2007-10-19 2009-04-23 Nec Corporation エコー抑圧方法及び装置
JP5284475B2 (ja) 2008-08-25 2013-09-11 ドルビー ラボラトリーズ ライセンシング コーポレイション 前白色化を伴うlmsアルゴリズムによって適応させられる適応フィルタの更新済みフィルタ係数を決定する方法
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
FR2946486B1 (fr) * 2009-06-09 2012-04-20 Parrot Procede de detection d'une situation de double parole pour dispositif telephonique "mains libres"
US8625775B2 (en) * 2009-08-06 2014-01-07 Hti Ip, L.L.C. Method and system for reducing echo and noise in a vehicle passenger compartment environment
JP5321372B2 (ja) * 2009-09-09 2013-10-23 沖電気工業株式会社 エコーキャンセラ
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
US8619970B2 (en) * 2010-06-16 2013-12-31 Lectrosonics, Inc. Echo cancellers and echo cancelling methods
WO2012109385A1 (en) 2011-02-10 2012-08-16 Dolby Laboratories Licensing Corporation Post-processing including median filtering of noise suppression gains
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
WO2012166092A1 (en) 2011-05-27 2012-12-06 Google Inc. Control of adaptation step size and suppression gain in acoustic echo control
US9088336B2 (en) * 2012-09-06 2015-07-21 Imagination Technologies Limited Systems and methods of echo and noise cancellation in voice communication
GB201309773D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression
GB201309771D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030235312A1 (en) 2002-06-24 2003-12-25 Pessoa Lucio F. C. Method and apparatus for tone indication
US20060147032A1 (en) 2004-12-30 2006-07-06 Mccree Alan V Acoustic echo devices and methods
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
CN105379239A (zh) 2016-03-02
GB201309779D0 (en) 2013-07-17
ES2613492T3 (es) 2017-05-24
WO2014194009A1 (en) 2014-12-04
US20140357324A1 (en) 2014-12-04
CN105379239B (zh) 2019-02-19
US9521264B2 (en) 2016-12-13
EP2982102B1 (en) 2017-01-04
EP2982102A1 (en) 2016-02-10
KR20160016880A (ko) 2016-02-15

Similar Documents

Publication Publication Date Title
KR102111185B1 (ko) 에코 제거
US9591123B2 (en) Echo cancellation
KR102194165B1 (ko) 에코 제거기
EP2987313B1 (en) Echo removal
US9449593B2 (en) Detecting nonlinear amplitude processing
EP2987314B1 (en) Echo suppression
KR102169993B1 (ko) 에코 억제 기법
KR102170341B1 (ko) 에코 억제 기법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right