KR102170172B1 - 에코 억제 - Google Patents

에코 억제 Download PDF

Info

Publication number
KR102170172B1
KR102170172B1 KR1020157019200A KR20157019200A KR102170172B1 KR 102170172 B1 KR102170172 B1 KR 102170172B1 KR 1020157019200 A KR1020157019200 A KR 1020157019200A KR 20157019200 A KR20157019200 A KR 20157019200A KR 102170172 B1 KR102170172 B1 KR 102170172B1
Authority
KR
South Korea
Prior art keywords
echo
model
audio signal
estimate
received audio
Prior art date
Application number
KR1020157019200A
Other languages
English (en)
Other versions
KR20150097686A (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 KR20150097686A publication Critical patent/KR20150097686A/ko
Application granted granted Critical
Publication of KR102170172B1 publication Critical patent/KR102170172B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/002Damping circuit arrangements for transducers, e.g. motional feedback circuits
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/02Circuits for transducers, loudspeakers or microphones for preventing acoustic reaction, i.e. acoustic oscillatory feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

에코를 억제하는 방법, 사용자 디바이스 및 컴퓨터 프로그램 제품. 오디오 신호가 스피커로부터 출력된다. 마이크는 상기 출력된 오디오 신호로부터 생기는 에코를 포함하는 오디오 신호를 수신한다. 에코의 에코 경로가 복수의 모델들을 사용하여 모델링된다. 모델들 중 제1 모델은 FIR 기반 모델이고, 모델들 중 제2 모델은 제1 모델과 상이하다. 제1 모델은 에코의 제1 성분의 에코 전력의 제1 모델 추정치를 결정하는 데 사용된다. 제2 모델은 에코의 제2 성분의 에코 전력의 제2 모델 추정치를 결정하는 데 사용된다. 에코 전력의 제1 및 제2 모델 추정치들이 결합된다. 수신된 오디오 신호에 에코 억제를 적용함으로써 에코를 억제하기 위해, 에코 전력의 결합 추정치가 사용된다.

Description

에코 억제{ECHO SUPPRESSION}
본 발명은 에코 억제에 관한 것이다.
디바이스는 주변 환경으로부터 오디오 신호를 수신하는 데 사용될 수 있는 오디오 입력 장치를 가질 수 있다. 디바이스는 또한 주변 환경으로 오디오 신호를 출력하는 데 사용될 수 있는 오디오 출력 장치를 가질 수 있다. 예를 들어, 디바이스는 오디오 신호를 출력하기 위한 하나 이상의 스피커들 및 오디오 신호를 수신하기 위한 하나 이상의 마이크들을 가질 수 있다. 디바이스의 스피커(들)로부터 출력되는 오디오 신호는 마이크(들)에 의해 수신되는 오디오 신호에 "에코(echo)"로서 수신될 수 있다. 수신되는 오디오 신호에서 이 에코는 원하지 않는 것일 수 있다. 예를 들어, 디바이스는 네트워크를 통한 다른 사용자 디바이스와의 통신 이벤트(음성 통화 또는 화상 통화 등)에서 사용되는 사용자 디바이스(휴대폰, 태블릿, 랩톱, PC, 기타 등등)일 수 있다. 통화의 원단 신호(far-end signal)는 사용자 디바이스에 있는 스피커로부터 출력될 수 있고, 그 디바이스에 있는 마이크에 의해 수신되는 오디오 신호에 에코로서 수신될 수 있다. 이러한 에코는 통화의 사용자들에 방해가 될 수 있고, 통화의 지각 품질(perceived quality)이 에코로 인해 감소될 수 있다. 상세하게는, 에코는 마이크에 의해 수신되어 통화의 원단(far-end)으로 전송되도록 의도되는 근단 오디오 신호(near-end audio signal)에 대한 간섭을 야기할 수 있다. 따라서, 에코 소거(echo cancellation) 및/또는 에코 억제(echo suppression)가 수신된 오디오 신호에 적용됨으로써 수신된 오디오 신호에서의 에코를 억제할 수 있다. 수신된 오디오 신호에서의 에코의 전력(power)은 사용자 디바이스의 구성(arrangement)에 따라 달라질 수 있다. 예를 들어, 사용자 디바이스는 휴대폰일 수 있고, 그 경우에, 수신된 오디오 신호에서의 에코의 전력은, 휴대폰이 "핸즈프리(hands-free)" 모드로 동작하고 있지 않을 때와 비교하여 휴대폰이 "핸즈프리" 모드로 동작하고 있을 때, 보통 더 높을 것이다.
WO 2006/040734는 원단 신호에 응답하여 마이크로폰 신호에서의 에코를 소거하는 에코 소거 장치를 개시한다. 상기 장치는 제1 에코 소거 신호를 생성하기 위해 상기 원단 신호를 필터링하는 제1 적응적 필터 섹션; 제2 에코 소거 신호를 생성하기 위해 지연된 원단 신호를 필터링하는 제2 적응적 필터 섹션; 잔류 신호(residual signal)를 생성하기 위해 마이크로폰 신호와 에코 소거 신호를 결합하는 적어도 하나의 결합 유닛; 및 상기 잔류 신호로부터 임의의 잔류 에코를 실질적으로 제거하는 포스트 프로세서를 포함하고, 포스트 프로세서는 제1 및 제2 에코 소거 신호 모두를 사용하도록 배열되는 것이다.
US 2008/012646은 시간 및 주파수 도메인 파티셔닝을 사용하여 입력 신호 상에서 동작하는 신호 처리 시스템을 개시한다. 변환기는 제1 복수의 푸리에 변환된 신호 파티션을 제공하기 위해 디지털 입력 신호를 변환하는데 사용된다. 필터 신호 소스는 복수의 푸리에 변환된 필터 파티션을 제공하기 위해 사용된다. 변환기의 파티션과 필터 신호 소스는 복수의 컨볼루티드 파티션된 출력 신호(convoluted partitioned out signal)를 생성하기 위해 파티션을 사용하는 컨볼루션 프로세서(convolution processor)에 제공된다. 컨볼루티드 파티션된 출력 신호는 처리된 디지털 출력 신호를 제공하기 위해 역푸리에 변환될 수 있는 전체 스펙트럼 신호를 생성하기 위해 결합될 수 있다.
JP 2009021741은 적응적 필터에 의해 에코 소거 이후에 남는 잔류 에코를 효과적으로 억제할 수 있고 음악적 잡음과 같은 작은 잡음을 생성할 수 있는 에코 소거기를 개시한다. 잔류 에코 억제부는 적응적 필터부에서 FIR(Finite Impulse Response) 필터의 필터 계수 시퀀스의 파워 스펙트럼을 계산한다(compute). 파워 스펙트럼은 적응적 필터부로부터 출력되는 에러 신호 e(n)에 포함되는 잔류 에코의 강도의 주파수 의존도를 나타내는 것으로 여겨진다. 잔류 에코 억제부는, 파워 스펙트럼이 커질수록 더 작아지는 이득 G을 계산하고, 에러 신호 e(n) 상에서의 스펙트럼 정보 E에 이득 G를 승산하고, 이 값을 시간 도메인에서의 에러 신호 e'(n)으로 변환한다.
에코 소거[또는 "에코 차감(echo subtraction)"] 기법들은, 스피커로부터 출력되는 오디오 신호에 대해 아는 것에 기초하여, 마이크에서 수신되는 오디오 신호에 포함된 에코 신호를 추정하는 것을 목표로 한다. 에코 신호의 추정치가 이어서 수신된 오디오 신호로부터 차감됨으로써, 에코의 적어도 일부를 수신된 오디오 신호로부터 제거할 수 있다. 에코 억제는 수신된 오디오 신호에 주파수 의존적 억제를 적용함으로써 수신된 오디오 신호에서의 에코를 억제하는 데 사용된다. 에코 억제가 효과적으로 구현되기 위해서는, 에코 억제기(echo suppressor)가 수신된 오디오 신호에서의 에코의 전력의 정확한 추정치를 가질 필요가 있다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 개념들 중 선택된 것을 간략화된 형태로 소개하기 위해 제공되어 있다. 이 발명의 내용은 청구된 발명 요지의 핵심적인 특징들 또는 필수적인 특징들을 확인하기 위한 것이 아니며, 청구된 발명 요지의 범주를 제한하기 위해 사용되기 위한 것도 아니다.
수신된 오디오 신호에서의 에코를 억제하는 방법이 제공된다. 에코 억제의 일부로서, 에코의 에코 경로가 두 개의 상이한 모델들을 사용하여 모델링되고, 여기서 모델들 중 제1 모델은 FIR(Finite Impulse Response) 기반 모델이다. 제1 모델은 수신된 오디오 신호에서의 에코의 적어도 제1 성분의 에코 전력의 제1 모델 추정치를 결정하는 데 사용된다. 제2 모델은 수신된 오디오 신호에서의 에코의 적어도 제2 성분의 에코 전력의 제2 모델 추정치를 결정하는 데 사용된다. 에코의 에코 전력의 결합 추정치(combined estimate)를 결정하기 위해 에코 전력의 제1 및 제2 모델 추정치들이 결합된다. 수신된 오디오 신호에 에코 억제를 적용함으로써 수신된 오디오 신호에서의 에코를 억제하기 위해, 에코의 에코 전력의 결합 추정치가 사용된다.
이 방법은 통화[예컨대, 사용자 디바이스들 사이에서 오디오 데이터를 전송하기 위해 VoIP(voice over internet protocol)를 구현하는 통화]에서 사용될 수 있으며, 이 경우에 출력된 오디오 신호는 통화의 원단으로부터 수신되는 원단 신호일 수 있고 수신된 신호는 그 결과 생기는 에코 및 통화의 원단으로 전송하기 위한 근단 신호(near-end signal)를 포함한다.
도 1은 통신 시스템의 개략적 예시를 나타낸 도면.
도 2는 사용자 디바이스의 개략 블록도.
도 3은 에코 억제에서 사용하기 위한 사용자 디바이스의 모듈들을 나타낸 기능도.
도 4는 에코를 억제하는 프로세스에 대한 플로우차트.
도 5는 에코 신호의 임펄스 응답을 나타낸 그래프.
에코 억제가 효과적으로 구현되기 위해서는, 에코 억제기가 수신된 오디오 신호에서의 에코의 전력의 정확한 추정치를 가질 필요가 있다. 에코 전력을 추정하는 하나의 방법은, 시간 영역에서 또는 전력 주파수 영역에서, FIR 필터를 적용하는 것이다. 이 필터는 그에 따라 시간 영역에서 또는 전력 주파수 영역에서 적응될 수 있을 것이다. 긴 에코 경로에 대해, 이것은, FIR 필터 적응 및 대응하는 에코 전력 추정의 복잡도가 전력 내용(power content)을 추정해야만 하는 에코에 대한 에코 경로의 길이에 비례하기 때문에, FIR 필터 적응 및 대응하는 에코 전력 추정이 긴 에코 경로에 대해서는 계산이 복잡하게 된다는 단점을 가진다.
따라서, 본 명세서에 기술된 방법들에 따르면, 복수의 모델들(예컨대, 2개의 모델들)이 에코 경로를 모델링하는 데 사용된다. 상이한 모델들이 수신된 오디오 신호에서의 에코의 상이한 성분들을 모델링할 수 있다. 이것은 각각의 모델이 에코에서의 상이한 유형의 에코 성분에 적합하도록 선택될 수 있게 한다. 예를 들어, 제1 모델은 수신된 오디오 신호에서의 에코의 초기 반사음 성분(early reflections component)을 모델링할 수 있는 반면, 제2 모델은 수신된 오디오 신호에서의 에코의 후기 반사음 성분(late reflections component)을 모델링할 수 있다. 도 5는 에코 신호의 임펄스 응답의 크기 |h(t)|를 나타낸 그래프이다. 스피커와 마이크 사이의 직접 경로(direct path)에 대응하는 강한 응답이 있고, 스피커와 마이크 사이의 에코 신호의 초기 반사음(예컨대, 벽과 같은 표면으로부터의 단일 또는 이중 반사음)에 대응하는 다수의 강한 응답들이 있다는 것을 알 수 있다. 도 5에 도시된 바와 같이, 에코의 초기 반사음 성분은 직접 경로 및 표면에 대한 에코의 처음 몇개의 반사음에 대응한다. 도 5에서, 후기 반사음들이, 다수의 상이한 구별가능 반사음들보다는, 서로 블러링(blur)되어 잔향(reverberation)으로 되어 버리는 경향이 있다는 것을 알 수 있다. 에코의 상이한 성분들이 상이한 특성들을 가지기 때문에(예컨대, 초기 반사음들은 상이한 피크들을 가지는 반면, 후기 반사음들은 서로 블러링되어 잔향으로 됨), 에코의 상이한 성분들을 모델링하기 위해 에코 경로의 상이한 모델들이 사용될 수 있다. 이러한 방식으로, 상이한 모델들이 모델에 의해 모델링될 에코의 특정의 성분의 특성에 적합하도록 선택될 수 있다. 후기 반사음들은 지수 모델(exponential model)로 잘 모델링될 수 있는 반면, 초기 반사음들은 지수 모델로 잘 모델링되지 않는 경향이 있다. 하나의 예에서, 두 가지 모델들이 있다: (i) 에코 경로의 초기 반사음 부분을 모델링하는 데 사용되는 FIR 기반 모델, 및 (ii) 에코 경로의 후기 반사음 부분을 모델링하는 데 사용되는 지수 모델. 에코의 에코 경로를 모델링하는 데(특히 에코의 초기 반사음 성분에 대해) FIR 기반 모델이 지수 모델보다 더 정확할 수 있다. 그렇지만, 에코 경로의 길이가 증가함에 따라, FIR 모델의 복잡도가 지수 모델의 복잡도보다 더 많이 증가한다. 지수 모델은, 아주 낮은 계산 복잡도를 가지기 때문에, 아주 긴 에코 경로를 아주 낮은 계산 복잡도로 모델링하는 데 사용하기에 적합하다.
본 명세서에 기술되는 바와 같이, 에코의 적어도 초기 반사음 성분의 전력이 오디오 신호를 출력하는 스피커와 출력된 오디오 신호로부터 생기는 에코를 포함하는 오디오 신호를 수신하는 마이크 사이의 에코 경로의 임펄스 응답을 근사화하도록 적응되어 있는 FIR 필터로부터의 출력을 사용하여 추정될 수 있다.
FIR 필터는 에코 신호를 추정하는 데 사용될 수 있고, 에코 전력이 그 에코 신호로부터 추정되어 에코 억제 방법에서 사용될 수 있다. 그렇지만, FIR 필터는 실제 에코 신호를 추정하기 위해서가 아니라 에코 전력을 추정하기 위해서만 사용될 수 있다. 이것이 유리할 수 있는데, 그 이유는 FIR 필터가 실제 에코 신호를 추정하기 위해 사용되는 경우와 비교하여 에코 전력을 추정하기 위해 사용될 때 FIR 필터에서의 정확도에 대한 요구사항이 훨씬 더 적기 때문이다. 따라서, FIR 필터로부터 (에코 신호보다는) 에코 전력을 추정하는 것에 의해, 에코 억제가 VoIP 클라이언트에서의 재생측(playout side)(예컨대, 스피커)과 기록측(recording side)(예컨대, 마이크) 사이의 클럭 드리프트(clock-drift), 에코 경로에서의 비선형성 및 에코 경로에서의 변화와 같은 문제들에 대해 더 강력하다. 본 명세서에 기술된 실시예들에서, FIR 필터는 위상 정보를 비롯한 시간 영역 데이터를 사용하여 적응된다.
도 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) 각각은, 예를 들어, 휴대폰, 태블릿, 랩톱, PC(personal computer)(예를 들어, Windows™, Mac OS™ 및 Linux™ PC를 포함함), 게임 디바이스, 텔레비전, PDA(personal digital assistant) 또는 네트워크(106)에 연결할 수 있는 기타 임베디드 디바이스(embedded device)일 수 있다. 사용자 디바이스(104)는 사용자 디바이스(104)의 사용자(102)로부터 정보를 수신하고 그 사용자에게 정보를 출력하도록 구성되어 있다. 사용자 디바이스(104)는 디스플레이 및 스피커와 같은 출력 수단을 포함한다. 사용자 디바이스(104)는 또한 키패드, 터치 스크린, 오디오 신호를 수신하기 위한 마이크 및/또는 비디오 신호의 영상을 포착하기 위한 카메라와 같은 입력 수단을 포함한다. 사용자 디바이스(104)는 네트워크(106)에 연결되어 있다.
사용자 디바이스(104)는 통신 시스템(100)과 연관된 소프트웨어 공급자에 의해 제공되는 통신 클라이언트의 인스턴스를 실행한다. 통신 클라이언트는 사용자 디바이스(104) 내의 로컬 프로세서 상에서 실행되는 소프트웨어 프로그램이다. 그 클라이언트는 사용자 디바이스(104)가 통신 시스템(100)을 통해 데이터를 전송 및 수신하기 위해 사용자 디바이스(104)에서 요구되는 처리를 수행한다.
사용자 디바이스(110)는 사용자 디바이스(104)에 대응하고, 사용자 디바이스(104)에서 실행되는 통신 클라이언트에 대응하는 통신 클라이언트를, 로컬 프로세서 상에서, 실행한다. 사용자 디바이스(110)에 있는 클라이언트는, 사용자 디바이스(104)에 있는 클라이언트가 사용자(102)가 네트워크(106)를 통해 통신할 수 있게 하는 데 필요한 처리를 수행하는 것과 동일한 방식으로, 사용자(108)가 네트워크(106)를 통해 통신할 수 있게 하는 데 필요한 처리를 수행한다. 사용자 디바이스들(104 및 110)은 통신 시스템(100)에서의 종단점(endpoint)이다. 도 1은 명확함을 위해 두 명의 사용자들(102 및 108) 및 두 개의 사용자 디바이스들(104 및 110)만을 도시하고 있지만, 더 많은 사용자들 및 사용자 디바이스들이 통신 시스템(100)에 포함될 수 있고, 각자의 사용자 디바이스들에서 실행되는 각자의 통신 클라이언트들을 사용하여 통신 시스템(100)을 통해 통신할 수 있다.
도 2는 통신 시스템(100)을 통해 통신하기 위해 통신 클라이언트 인스턴스(206)가 실행되는 사용자 디바이스(104)의 상세도를 예시하고 있다. 사용자 디바이스(104)는 CPU(central processing unit) 또는 "처리 모듈"(202)을 포함하고, 터치 스크린으로서 구현될 수 있는 디스플레이(208), 및 오디오 신호를 출력하기 위한 스피커(speaker 또는 "loudspeaker")(210)와 같은 출력 디바이스들; 오디오 신호를 수신하기 위한 마이크(212), 영상 데이터를 수신하기 위한 카메라(216), 및 키패드(218)와 같은 입력 디바이스들; 데이터를 저장하기 위한 메모리(214); 및 네트워크(106)와의 통신을 위한 모뎀과 같은 네트워크 인터페이스(220)가 CPU(202)에 연결되어 있다. 사용자 디바이스(104)는 도 2에 도시된 것들 이외의 기타 요소들을 포함할 수 있다. 디스플레이(208), 스피커(210), 마이크(212), 메모리(214), 카메라(216), 키패드(218), 및 네트워크 인터페이스(220)는, 도 2에 도시된 바와 같이, 사용자 디바이스(104) 내에 통합될 수 있다. 대안의 사용자 디바이스들에서, 디스플레이(208), 스피커(210), 마이크(212), 메모리(214), 카메라(216), 키패드(218), 및 네트워크 인터페이스(220) 중 하나 이상이 사용자 디바이스(104) 내에 통합되지 않을 수 있고, 각자의 인터페이스들을 통해 CPU(202)에 연결될 수 있다. 이러한 인터페이스의 하나의 예는 USB 인터페이스이다. 사용자 디바이스(104)의 네트워크 인터페이스(220)를 통한 네트워크(106)에의 연결이 무선 연결인 경우, 네트워크 인터페이스(220)는 신호를 네트워크(106)로 무선으로 전송하고 네트워크(106)로부터 신호를 무선으로 수신하기 위한 안테나를 포함할 수 있다.
도 2는 또한 CPU(202)에서 실행되는 OS(operating system)(204)를 예시하고 있다. 통신 시스템(100)의 클라이언트 인스턴스(206)의 소프트웨어는 OS(204)의 상부에서 실행된다. 운영 체제(204)는 컴퓨터의 하드웨어 리소스들을 관리하고, 네트워크 인터페이스(220)를 통해 네트워크(106)로 및 네트워크(106)로부터 전송되는 데이터를 처리한다. 클라이언트(206)는 운영 체제(204)와 통신하고 통신 시스템을 통한 연결들을 관리한다. 클라이언트(206)는 사용자(102)에게 정보를 제시하고 사용자(104)로부터 정보를 수신하는 데 사용되는 클라이언트 사용자 인터페이스를 가진다. 이러한 방식으로, 클라이언트(206)는 사용자(102)가 통신 시스템(100)을 통해 통신할 수 있게 하는 데 필요한 처리를 수행한다.
도 3 및 도 4를 참조하여, 에코를 억제하는 방법이 이제부터 기술된다. 도 3은 에코 억제 프로세스가 어떻게 구현되는지를 나타낸 사용자 디바이스(104)의 일부의 기능도이고, 도 4는 에코를 억제하는 프로세스에 대한 플로우차트이다.
도 3에 도시된 바와 같이, 사용자 디바이스(104)는 스피커(210), 마이크(212), 모델링 모듈(302), 및 에코 억제 모듈(314)을 포함한다. 모델링 모듈(302)은 FIR 필터 모듈(304), 제1 전력 추정 모듈(306), 지수 필터 모듈(308), 제2 전력 추정 모듈(310), 및 결합 모듈(312)을 포함한다. 스피커(210)로부터 출력될 신호 x(t)는 스피커(210)의 입력에 결합된다. 유의할 점은, 본 명세서에 기술된 실시예들에서, 하나의 스피커(도면들에서 참조 번호 210로 표시됨)만이 있지만, 다른 실시예들에서, 출력될 신호가 (그로부터 출력하기 위해) 결합되는 두 개 이상의 스피커가 있을 수 있다. 이와 유사하게, 본 명세서에 기술된 실시예들에서, 하나의 마이크(도면들에서 참조 번호 212로 표시됨)만이 있지만, 다른 실시예들에서, 주변 환경으로부터 오디오 신호를 수신하는 두 개 이상의 마이크가 있을 수 있다. 스피커(210)로부터 출력될 신호는 또한 모델링 모듈(302)에도 결합된다. 상세하게는, 스피커(210)로부터 출력될 신호는 FIR 필터 모듈(304)의 제1 입력에 그리고 지수 필터 모듈(308)의 제1 입력에 결합된다. 마이크(212)의 출력은 모델링 모듈(302)에 결합된다. 상세하게는, 마이크(212)의 출력은 FIR 필터 모듈(304)의 제2 입력에 그리고 지수 필터 모듈(308)의 제2 입력에, 제1 전력 추정 모듈(306)의 제1 입력에 그리고 제2 전력 추정 모듈(310)의 제1 입력에 결합된다. 마이크(212)의 출력은 또한 에코 억제 모듈(314)의 제1 입력에도 결합된다. FIR 필터 모듈(304)의 출력은 제1 전력 추정 모듈(306)의 제2 입력에 결합된다. 지수 필터 모듈(308)의 출력은 제2 전력 추정 모듈(310)의 제2 입력에 결합된다. 제1 전력 추정 모듈(306)의 출력은 결합 모듈(312)의 제1 입력에 결합된다. 제2 전력 추정 모듈(310)의 출력은 결합 모듈(312)의 제2 입력에 결합된다. 모델링 모듈(302)의 출력은 에코 억제 모듈(314)의 제2 입력에 결합된다. 상세하게는, 결합 모듈(312)의 출력은 에코 억제 모듈(314)의 제2 입력에 결합된다. 에코 억제 모듈(314)의 출력은, 사용자 디바이스(104)에서의 추가적인 처리를 위해, 수신된 신호(에코 억제가 적용되어 있음)를 제공하는 데 사용된다.
단계(S402)에서, 스피커(210)로부터 출력될 신호가 수신된다. 예를 들어, 출력될 신호는 통신 시스템(100)을 통한 사용자(102)와 사용자(108) 사이의 통화 동안 사용자 디바이스(110)로부터 사용자 디바이스(104)에 수신된 원단 신호일 수 있다. 스피커(210)로부터 출력되기에 적당한 신호 x(t)로 되도록, 수신된 신호에 대해 수행될 필요가 있는 임의의 처리[예컨대, 음성 코덱을 사용한 디코딩, 디패킷화(depacketizing) 등]가 [예컨대, 클라이언트(206)에 의해] 기술 분야에 공지된 바와 같이 수행된다. 신호 x(t)는 디지털 신호이다. 스피커(210)로부터 신호를 출력하기 전의 사용자 디바이스(104)에서의 신호의 처리의 적어도 일부는 디지털 영역에서 수행된다. 기술 분야에 공지된 바와 같이, 스피커(210)로부터의 재생 이전에 DAC(digital to analogue converter)가 디지털 신호 x(t)에 적용된다. 이와 유사하게, ADC(analogue to digital converter)가 마이크(212)에 의해 포착된 신호에 적용되어, 디지털 신호 y(t)로 되게 한다.
다른 실시예들에서, 출력될 신호는 통화에서 통신 시스템(100)을 통하는 것 이외의 어딘가로부터 수신될 수 있다. 예를 들어, 출력될 신호는 메모리(214)에 저장되어 있었을 수 있고, 단계(S402)는 메모리(214)로부터 신호를 검색하는 단계를 포함할 수 있다.
단계(S404)에서, 오디오 신호 x(t)가 스피커(210)로부터 출력된다. 이러한 방식으로, 오디오 신호 x(t)가 사용자(102)에게 출력된다.
단계(S406)에서, 마이크(212)는 오디오 신호를 수신한다. 도 3에 도시된 바와 같이, 수신된 오디오 신호는 원하는 신호 또는 "주 신호(primary signal)"인 근단 신호를 포함할 수 있다. 근단 신호는 마이크(212)가 수신하도록 사용자(102)가 의도하는 신호이다. 그렇지만, 수신된 오디오 신호는 또한 단계(S404)에서 스피커(210)로부터 출력된 오디오 신호로부터 생기는 에코 신호도 포함한다. 수신된 오디오 신호는 또한 배경 잡음과 같은 잡음도 포함할 수 있다. 따라서, 총 수신된 오디오 신호 y(t)는 근단 신호, 에코 및 잡음의 합에 의해 주어질 수 있다. 에코 및 잡음은 근단 신호에 대한 간섭으로서 작용한다.
FIR 필터 모듈(304)은 출력된 오디오 신호 x(t) 및 수신된 오디오 신호 y(t)를 입력으로 받는다. 단계(S408)에서, FIR 필터 모듈(304)은, 수신된 오디오 신호 y(t)에서의 에코의 에코 경로 h(t)를 모델링하기 위해, 출력된 오디오 신호 x(t) 및 수신된 오디오 신호 y(t)에 기초하여 시간 영역에서 FIR 필터 추정치
Figure 112015068789479-pct00001
를 동적으로 적응시킨다. "에코 경로 h(t)의 임펄스 응답"은 또한 본 명세서에서 "에코 경로 h(t)"라고도 지칭된다. FIR 필터 모듈(304)은 수신된 오디오 신호 y(t)에서의 에코의 초기 반사음 성분을 모델링하는 데 사용된다. 이것을 하기 위해, 에코 경로를 모델링하기 위해 FIR 필터 모듈(304)에 의해 사용되는 FIR 필터의 길이는 에코의 초기 반사음 성분을 모델링하기에는 충분히 길지만 에코의 후기 반사음 성분을 완전히 모델링하기에는 충분히 길지 않은 유한 길이 L을 가진다(도 5 참조). 이러한 방식으로, FIR 필터 모듈(304)에 의해 사용되는 FIR 모델의 길이는 수신된 오디오 신호 y(t)에서의 에코의 전체 에코 경로(full echo path)만큼 길 필요가 없다. 이것은 FIR 모델의 복잡도가 너무 크게 되지 않도록 보장할 수 있다.
대체로 선형인 에코 경로에 대해, 에코 경로 h(t)는, 예컨대, 식
Figure 112015068789479-pct00002
에 따라, 수신된 오디오 신호에서의 에코가 스피커(210)로부터 출력되는 오디오 신호 x(t)에 어떻게 관련되어 있는지를 나타내며, 여기서 yecho(t)는 수신된 오디오 신호 y(t)에서의 에코이고, Ntrue는 마이크(212)에 의해 수신되는 출력된 신호 x(t)의 샘플들의 수이며, hn(t)는 에코 경로 h(t)를 나타내는 가중치이다. 에코 경로 h(t)는 시간 및 주파수 둘 다에서 변할 수 있고, 본 명세서에서 h(t) 또는 h(t,f)라고 지칭될 수 있다. 에코 경로 h(t)는 (i) 스피커(210) 및 마이크(212)를 둘러싸고 있는 현재의 환경 조건[예컨대, 스피커(210)로부터 마이크(212)로의 오디오 신호의 통과에 대한 임의의 물리적 장애물이 있는지, 기압, 온도, 바람 등], 및 (ii) 신호가 출력 및/또는 수신될 때 신호를 변경할 수 있는 스피커(210) 및/또는 마이크(212)의 특성에 의존할 수 있다.
FIR 필터 모듈(302)은, 출력된 오디오 신호 x(t)의 현재 값 및 유한 개(N 개)의 이전 값들의 가중합을 구하는 것에 의해, 수신된 오디오 신호에서의 에코의 에코 경로 h(t)의 초기 반사음 성분을 모델링한다. FIR 필터 모듈(302)은 따라서 유한 길이(단위: 시간)를 가지는 N차 FIR 필터를 구현하고, 에코 경로의 초기 반사음 성분의 추정치
Figure 112015068789479-pct00003
를 구하는 데 그 유한 길이에 걸쳐 출력된 오디오 신호 x(t)의 값들을 고려한다. 이러한 방식으로, FIR 필터 모듈(302)은 FIR 필터 추정치
Figure 112015068789479-pct00004
를 동적으로 적응시킨다. 이 동작은 수신된 오디오 신호 y(t)에서의 에코를 출력된 오디오 신호 x(t)의 항으로 규정하는 이하의 식으로 나타내어진다:
Figure 112015068789479-pct00005
따라서, 출력된 오디오 신호 x(t)의 N+1 개의 샘플들이 각자의 N+1 개의 가중치들
Figure 112015068789479-pct00006
와 함께 사용된다. N+1 개의 가중치들
Figure 112015068789479-pct00007
의 세트는 본 명세서에서 간단히 에코 경로의 추정치
Figure 112015068789479-pct00008
라고 지칭된다. 환언하면, 에코 경로의 추정치
Figure 112015068789479-pct00009
는 N+1 개의 값들을 가지는 벡터이고, 여기서 FIR 필터 모듈(302)은 신호 x(t)의 N+1 개의 값들(예컨대, N+1 개의 프레임들)을 고려하는 N차 FIR 필터를 구현한다.
에코가 수신된 오디오 신호의 우세 부분(dominant part)일 때, 즉
Figure 112015068789479-pct00010
일 때, FIR 필터 추정치
Figure 112015068789479-pct00011
를 적응시키는 것이 더 쉽다는 것을 알 수 있다. 예를 들어, 일부 실시예들에서, 근단 신호의 전력이 에코의 전력보다 더 클 때[예컨대, 사용자(102)가 말하고 있을 때]를 검출하는 것이 가능할 수 있고, 그러한 동안, FIR 추정치
Figure 112015068789479-pct00012
가 적응되지 않지만, 근단 신호의 전력이 수신된 오디오 신호 y(t)에서의 에코의 전력보다 작을 때[예컨대, 사용자(102)가 말하고 있지 않을 때], FIR 추정치
Figure 112015068789479-pct00013
가 적응된다.
그렇지만, 에코가 수신된 오디오 신호의 우세 부분이 아닐 때에도 FIR 필터 추정치
Figure 112015068789479-pct00014
를 적응시키는 것이 가능할 수 있다.
FIR 필터 추정치
Figure 112015068789479-pct00015
는 FIR 필터 모듈(304)로부터 제1 전력 추정 모듈(306)로 전달된다. 제1 전력 추정 모듈(306)은, 이하에서 기술되는 바와 같이, 적어도 두 가지 방식들 중 하나로 수신된 오디오 신호에서의 에코의 초기 반사음 성분의 에코 전력을 추정한다.
하나의 방법에서, 단계(S410)에서, 전력 추정 모듈(304)은, 단계(S408)에서 결정된 필터 추정치
Figure 112015068789479-pct00016
에 기초하여 그리고 입력 신호 x(t)에 기초하여, 수신된 오디오 신호에서의 에코의 초기 반사음 성분의 에코 전력을 추정한다. 단계(S410)는 수신된 오디오 신호 y(t)에서의 에코 신호 yecho(t)를 추정하는 단계를 포함하지 않을 수 있다. 에코의 초기 반사음 성분의 에코 전력이 시간 및 주파수의 함수로서 추정된다. 에코 억제에서, 양호한 에코 억제를 달성하는 데는 꽤 낮은 정확도의 에코 전력 추정치로 충분하다. 본 명세서에 기술된 방법들에 따르면, 전력 응답이 문제점들에 덜 민간한 방식으로 계산될 수 있다. 게다가, 전력 응답이 실제 에코 경로가 추정되는 것과 상이한 방식으로 추정될 수 있다. 예를 들어, 주파수 f에 대한 전력 응답이 그 주파수 f에 대한 FIR 필터의 추정치를 사용하여 계산될 수 있다. 다른 대안으로서 또는 그에 부가하여, 주파수 f에 대한 FIR 필터의 추정치가 상이한 주파수 v에 대한 전력 응답을 계산하는 데 사용될 수 있고, 여기서 v≠ f이다. 환언하면, 이 방법은 그것이 적용되는 것과 다른 주파수 영역에 대해 계산되는 외삽된 에코 경로 전력 응답을 사용하는 단계를 포함할 수 있다. 이런 의미에서, 전력 응답이 FIR 필터 추정치에 기초하여 계산되지만, 특정의 주파수에 대한 전력 응답을 결정하기 위해 얼마간의 외삽이 필요할 수 있다. 즉, 특정의 주파수 영역에 대해 획득된 FIR 필터 추정치는 다른 주파수 영역에 대한 예측된(또는 외삽된) 전력 응답 추정치를 계산하는 데 사용될 수 있다 - 즉, 에코 전력을 추정하는 데 사용된 전력 응답이 FIR 필터의 전력 응답일 필요는 없고, FIR 필터에 기초하여 계산되는 (예컨대, 상이한 주파수 영역에 대한) 전력 응답일 수도 있을 것이다 -.
단계(S410)는 에코의 초기 반사음 성분의 에코 전력
Figure 112015068789479-pct00017
- 이는 시간 t 및 주파수 f에 대한 값들을 갖는 스칼라 전력 빈(scalar power bin)이고 하기 식에 따라 특정의 주파수 및 시간에 대해 계산됨 - 를 추정하는 단계를 포함할 수 있다:
Figure 112015068789479-pct00018
이러한 방식으로, 시간 t 및 주파수 f에서의 에코 신호의 초기 반사음 성분의 전력
Figure 112015068789479-pct00019
를 추정하기 위해, VoIP 클라이언트의 시변 에코 경로(time-varying echo path) h(t)를 근사화하기 위해 스피커 신호 x(t) 및 마이크 신호 y(t)를 사용하여 적응된 FIR 필터 추정치
Figure 112015068789479-pct00020
가 출력된 오디오 신호 샘플들 x(t)와 함께 사용된다.
제2 방법에서는, 단계(S410)에서, 제1 전력 추정 모듈(306)은 FIR 필터 추정치
Figure 112015068789479-pct00021
로부터 적어도 하나의 전력 응답을 결정한다. 전력 응답 정보는 FIR 필터 추정치
Figure 112015068789479-pct00022
를 분석하는 것에 의해 결정된다. 전력 응답(또는 "주파수 응답")은 에코 경로 h(t)의 전력 응답의 표시를 주파수의 함수로서 제공한다. 유의할 점은, 에코 경로가 본 명세서에서 h(t)로 표시되어 있지만, 이것은 간단함을 위한 것이고, 거듭 말해둘 것은, 에코 경로 h(t) 및 에코 경로의 추정치
Figure 112015068789479-pct00023
가 시간 및 주파수 둘 다의 함수라는 것이다.
이어서 추가로 단계(S410)에서, 제1 전력 추정 모듈(306)은, 결정된 전력 응답(들)에 기초하여, 수신된 오디오 신호에서의 에코의 초기 반사음 성분의 에코 전력을 추정한다. 실제로, 단계(S410)는 수신된 오디오 신호 y(t)에서의 에코 신호 yecho(t)를 추정하는 단계를 포함하지 않을 수 있다. 에코의 초기 반사음 성분의 에코 전력이 시간 및 주파수의 함수로서 추정된다.
상세하게는, FIR 필터 추정치
Figure 112015068789479-pct00024
는 시간 영역에서 길이 L을 가진다. 단계(S410)는 FIR 필터 추정치
Figure 112015068789479-pct00025
를 시간 영역에서 각각이 L/P의 길이를 갖는 복수의(P 개의) 파티션(partition)들로 분할하는 단계를 포함한다. FIR 필터 추정치
Figure 112015068789479-pct00026
의 파티션들 각각은 주파수 영역으로 변환되고, 파티션들 각각에 대한 주파수 영역에서의 각자의 전력 응답
Figure 112015068789479-pct00027
을 결정하기 위해 제곱된다. 따라서,
Figure 112015068789479-pct00028
가 파티션 p의 주파수 응답이라는 것을 알 수 있다.
단계(S410)는, 출력된 오디오 신호의 각자의 복수의 프레임들의 전력의 복수의 척도들의 가중 합을 수행하는 것에 의해, 수신된 오디오 신호에서의 에코의 에코 전력을 추정하는 단계를 포함하고, 여기서 합에서의 가중치들은 전력 응답들
Figure 112015068789479-pct00029
의 각자의 가중치들에 의해 주어진다.
따라서, 프레임 k에 대한, 수신된 오디오 신호에서의 에코의 초기 반사음 성분의 에코 전력
Figure 112015068789479-pct00030
의 추정치는 단계(S410)에서 하기 식에 따라 추정될 수 있고:
Figure 112015068789479-pct00031
여기서 |X(k-p, f)|2는 프레임 k-p에 대한 스피커 신호의 전력 스펙트럼 밀도(power spectral density)이다. 프레임 인덱스 k는 시간의 척도이고, 그에 따라
Figure 112015068789479-pct00032
는, 에코 전력의 추정치
Figure 112015068789479-pct00033
를 제공하기 위해, 프레임 인덱스보다는 시간의 함수인 것으로 다시 쓰여질 수 있고, 그 반대일 수도 있다. 유의할 점은, 상기 식이 정확하기 위해,
Figure 112015068789479-pct00034
및 |X(k-p, f)|2을 계산하는 데 사용되는 필터 파티션들 및 스피커 신호들의 길이는 순환 컨볼루션(circular convolution) 효과를 최소화하기 위해 주의깊게 선택되어야만 한다는 것이다. h의 파티션 및 스피커 입력 신호 프레임의 길이들이, 필터 추정치 h를 적응시키는 데 사용되고 에코 전력이 추정되어야만 하는 마이크 신호의 길이와 적절히 일치되도록 보장하기 위해 이 선택이 수행된다. 각각의 파티션이 길이가 P이고, 각각의 스피커(X) 프레임 길이가 M이며, 각각의 마이크 신호 프레임 길이가 N인 경우, 순환 컨볼루션 효과를 피할 수 있기 위한 전형적인 요건은 N+P-1<M이어야 한다는 것이다. 본 명세서에 기술된 방법들은 선택에 관계없이 동작할 것인데, 그 이유는 그 방법들에서 순환 컨볼루션 효과가 무시되기 때문이다.
이러한 방식으로, 시간 t 및 주파수 f에서의 에코 신호의 초기 반사음 성분의 전력
Figure 112015068789479-pct00035
를 추정하기 위해 이어서 사용되는 전력 응답들
Figure 112015068789479-pct00036
을 결정하기 위해, VoIP 클라이언트의 시변 에코 경로 h(t)를 근사화하기 위해 스피커 신호 x(t) 및 마이크 신호 y(t)를 사용하여 적응된 FIR 필터 추정치
Figure 112015068789479-pct00037
가 출력된 오디오 신호들 x(t)와 함께 사용된다.
일반적으로, 초기 반사음에 대응하는 에코 전력을 모델링하기 위해 이어서 사용되는 에코 경로의 초기 반사음 부분을 모델링하기 위해 선형(예컨대, FIR) 모델이 사용된다. 이것을 하는 많은 방식들이 있고, 본 개시 내용의 범주가 앞서 제공된 예들로 제한되지 않는다. 초기 반사음으로부터의 에코 전력 추정치는 시간 및 주파수의 함수로서 추정될 수 있다.
제1 전력 추정 모듈(306)이 앞서 기술된 방법들 중 임의의 것에 따라 그것을 결정했을 때, 에코의 초기 반사음 성분의 에코 전력의 추정치
Figure 112015068789479-pct00038
는 제1 전력 추정 모듈(306)로부터 출력되고 결합 모듈(312)에 의해 수신된다.
지수 필터 모듈(308)은 출력된 오디오 신호 x(t) 및 수신된 오디오 신호 y(t)를 입력으로 받는다. 단계(S412)에서, 지수 필터 모듈(308)은 수신된 오디오 신호 y(t)에서의 에코의 적어도 후기 반사음 성분을 모델링하는 데 사용된다. 도 5에서 알 수 있는 바와 같이, (주로 잔향을 포함하는) 에코의 후기 반사음 성분은 지수 모델로 모델링되는 데 아주 적합하다.
단계(S412)는 출력된 오디오 신호 x(t) 및 수신된 오디오 신호에서의 에코 yecho(t)에 기초하여 지수 모델의 감쇠 인자(decay factor)의 추정치
Figure 112015068789479-pct00039
를 결정하는 단계를 포함한다. 추정된 감쇠 인자
Figure 112015068789479-pct00040
는 주파수의 함수이지만, 또한 시간에서도 변할 수 있다. 감쇠 인자의 추정치가 동적으로 적응된다. 단계(S408)에서 FIR 모델의 적응과 관련하여 앞서 기술한 것과 유사하게, 에코가 수신된 오디오 신호의 우세 부분일 때, 즉
Figure 112015068789479-pct00041
일 때, 감쇠 인자의 추정치를 적응시키는 것이 더 쉽다.
감쇠 인자
Figure 112015068789479-pct00042
는 어떤 추정 방법[일례는 직선을 에코의 초기 반사음 성분에 대한 모델을 구성하는 FIR 필터의 전력 응답의 끝부분(tail)의 로그(logarithm)에 근사(fitting)시키는 것임]을 사용하여 추정될 수 있다. 감쇠 인자의 추정치
Figure 112015068789479-pct00043
를 결정하기 위해 다른 기법들이 사용될 수 있다는 것이 명백할 것이다.
지수 모델의 감쇠 인자의 추정치
Figure 112015068789479-pct00044
는 지수 필터 모듈(308)로부터 제2 전력 추정 모듈(310)에 전달된다. 단계(S414)에서, 제2 전력 추정 모듈(310)은 에코의 에코 전력의 제2 모델 추정치를 결정하기 위해 지수 모델의 감쇠 인자의 추정치
Figure 112015068789479-pct00045
를 사용한다. 상세하게는, 제2 전력 추정 모듈(310)은 수신된 오디오 신호 y(t)에서의 에코의 후기 반사음 성분의 에코 전력
Figure 112015068789479-pct00046
를 결정하기 위해 지수 모델의 감쇠 인자의 추정치
Figure 112015068789479-pct00047
를 사용한다. k는 프레임 인덱스이고, 따라서 시간의 표시를 제공한다.
예를 들어, 제2 전력 추정 모듈(310)은 하기 식에 따라 에코의 후기 성분들의 전력
Figure 112015068789479-pct00048
를 추정할 수 있고:
Figure 112015068789479-pct00049
여기서
Figure 112015068789479-pct00050
는 초기 반사음에 대한 모델의 마지막 부분의 전력 기여분(power contribution)의 추정치이다.
Figure 112015068789479-pct00051
는 특정의 시간에서의(즉, 특정의 프레임에 대한) 지수 감쇠 모델에 대한 추정된 감쇠 인자이다.
Figure 112015068789479-pct00052
는 가중 함수(weighting function)가 아니라 지수 감쇠(exponential decay)이다. 이 식은 지수적으로 감쇠하는 전력의 반복(recursion)을 결정한다. 상기 식이 정확하게 올바르기 위해서는, 감쇠 인자
Figure 112015068789479-pct00053
가 일정해야만 한다.
Figure 112015068789479-pct00054
에서의 윗첨자 i는
Figure 112015068789479-pct00055
가 i 제곱된다는 것을 의미한다. 실제로,
Figure 112015068789479-pct00056
는 시간에 따라 변할 수 있다. 그 경우에,
Figure 112015068789479-pct00057
가 시간에서 단지 서서히 변하는 것으로 가정하여 상기 식이 사용될 수 있다.
앞서 기술한 바와 같이,
Figure 112015068789479-pct00058
는 초기 반사음에 대한 모델의 "마지막 부분"의 전력 기여분의 추정치이다. 환언하면,
Figure 112015068789479-pct00059
는 프레임 k-1에 대한 FIR 기반 모델을 사용하여 결정되는 수신된 오디오 신호에서의 에코의 초기 반사음의 전력의 추정치의 마지막 부분의 에코 전력의 추정치이고, 마지막 부분은 에코의 초기 반사음 성분에서의 반사음들 중 마지막 것에 대응한다. 이러한 방식으로, 지수 모델은 (예컨대, 도 5에 도시된 초기 반사음 성분과 후기 반사음 성분의 경계에 있는) 에코의 초기 반사음 성분 중 마지막 것을 사용하고, 이어서 에코의 후기 반사음 성분을 결정하기 위해 이 에코 성분이 시간에 따라 지수적으로 감쇠하는 것으로 가정한다.
예를 들어, 수신된 오디오 신호에서의 에코의 초기 반사음 성분의 전력의 추정치가 식
Figure 112015068789479-pct00060
에 따라 결정되는 전술한 경우에, (프레임 k에 대응하는 시간 t에서의) 초기 반사음에 대한 모델의 마지막 부분의 전력 기여분의 추정치
Figure 112015068789479-pct00061
는 하기 식으로서 계산될 수 있고:
Figure 112015068789479-pct00062
여기서
Figure 112015068789479-pct00063
은 FIR 필터 모델에 의해 고려되는 마지막 파티션(P-1)에 대한 전력 응답이고,
Figure 112015068789479-pct00064
은 출력된 오디오 신호의 현재 프레임 k보다 P-1 이전에 있는 프레임의 전력의 척도이다. 현재 프레임 k 이전의 P-1 개의 프레임들을 뒤돌아보는 것은 FIR 필터가 고려하는 시기까지이다. 이것보다 더 긴 에코 경로를 가지는 에코를 고려하기 위해, 지수 모델이 사용되고, 그에 의해 현재 프레임 k보다 P-1 이전에 있는 프레임에 대한 에코의 값이 지수적으로 감쇠하는 것으로 가정된다.
제2 전력 추정 모듈(310)이 앞서 기술된 방법들 중 임의의 것에 따라 그것을 결정했을 때, 에코의 후기 반사음 성분의 에코 전력의 추정치
Figure 112015068789479-pct00065
는 제2 전력 추정 모듈(310)로부터 출력되고 결합 모듈(312)에 의해 수신된다.
단계(S416)에서, 결합 모듈(312)은 에코의 초기 반사음 성분의 에코 전력의 추정치
Figure 112015068789479-pct00066
와 에코의 후기 반사음 성분의 에코 전력의 추정치
Figure 112015068789479-pct00067
를 결합하여, 에코 전력의 결합 추정치
Figure 112015068789479-pct00068
를 결정한다. 에코 전력의 결합 추정치
Figure 112015068789479-pct00069
는 에코의 (모든 성분들을 구성할 수 있는) 초기 반사음 성분과 후기 반사음 성분을 고려하는 수신된 오디오 신호에서의 에코의 에코 전력의 추정치를 제공한다. 즉, 에코 전력의 결합 추정치는 수신된 오디오 신호에서의 총 에코의 추정치를 제공한다. 에코의 초기 반사음 성분의 에코 전력의 추정치
Figure 112015068789479-pct00070
와 에코의 후기 반사음 성분의 에코 전력의 추정치
Figure 112015068789479-pct00071
의 결합은 이들 2개의 추정치의 합으로서 수행될 수 있다. 즉, 에코 전력의 결합 추정치
Figure 112015068789479-pct00072
는 하기 식에 따라 결정될 수 있다:
Figure 112015068789479-pct00073
수신된 오디오 신호에서의 에코의 에코 전력의 결합 추정치
Figure 112015068789479-pct00074
는 결합 모듈(312)로부터 에코 억제 모듈(314)로 전달된다. 에코 억제 모듈(314)은 또한 마이크(212)로부터 오디오 신호 y(t)도 수신한다. 단계(S418)에서, 에코 억제 모듈(314)은 수신된 오디오 신호 y(t)에 에코 억제를 적용함으로써 수신된 오디오 신호에서의 에코를 억제하기 위해, 에코 전력의 추정치
Figure 112015068789479-pct00075
를 사용한다. 에코 전력의 추정치
Figure 112015068789479-pct00076
는 주파수 의존적이고, 에코 억제 모듈(306)에 의해 적용되는 억제도 또한 주파수 의존적이다. 앞서 기술한 바와 같이, 프레임 인덱스 k는 시간의 척도이고, 그에 따라,
Figure 112015068789479-pct00077
Figure 112015068789479-pct00078
를 제공하기 위해 시간의 항으로 다시 쓰여질 수 있다.
에코 억제기의 목적은, 마이크(212)에 의해 픽업(pick up)되는 근단음(near-end sound)[비에코음(non-echo sound)]의 존재 시에, 마이크 신호에 존재하는 스피커 에코가 현저하지 않도록/방해가 되지 않도록 그 스피커 에코를, 예컨대, VoIP 클라이언트에서, 충분히 낮은 레벨로 억제하는 것이다. 적절한 에코 억제량을 선택할 수 있기 위해, (예컨대, 주파수 및 시간의 함수인) 에코 전력의 양호한 추정치가 필요하고, 앞서 기술한 바와 같이, 이것이 전력 결합 모듈(312)에 의해 에코 억제 모듈(314)에 제공된다. 에코 억제 모듈(314)은 시간 및 주파수 둘 다에 따라 변하는 신호 의존적 억제를 수신된 오디오 신호 y(t)에 적용하도록 설계되어 있다. 에코 억제 방법들이 기술 분야에 공지되어 있다. 게다가, 에코 억제 모듈(314)에 의해 적용되는 에코 억제 방법이 상이한 방식들로 구현될 수 있다. 그에 따라, 에코 억제 방법의 정확한 상세가 따라서 본 명세서에 상세히 기술되어 있지 않다.
에코 억제 모듈(314)은, 사용자 디바이스(104)에서의 추가적인 처리를 위해, 에코가 억제되어 있는 수신된 신호를 출력한다. 예를 들어, 에코 억제 모듈(314)로부터의 신호 출력은 클라이언트(206)에 의해 처리(예컨대, 인코딩 및 패킷화)되고, 이어서 사용자(102)와 사용자(108) 사이의 통화에서 네트워크(106)를 통해 사용자 디바이스(110)로 전송될 수 있다. 그에 부가하여 또는 다른 대안으로서, 에코 억제 모듈(314)로부터의 신호 출력은 다른 목적들을 위해 사용자 디바이스(104)에 의해 사용되거나 - 예컨대, 신호가 메모리(214)에 저장될 수 있음 -, 사용자 디바이스(104)에서 실행 중인 애플리케이션에의 입력으로서 사용될 수 있다.
따라서, 에코 억제 효과/필터를 계산하고 적용하기 위해[예컨대, VoIP 클라이언트(206)가 사용하기 위해], 에코 경로를 모델링하여 마이크(212)에 의해 픽업된 주파수 대역들에서의 스피커 에코 신호의 전력을 추정하는 데 2개의 개별적인 모델들[예컨대, FIR 필터 모듈(304) 및 지수 필터 모듈(308)]을 사용하는 것이 본 명세서에 기술되어 있다. 본 명세서에 기술된 예들에서, 하나의 FIR 기반 모델 및 하나의 지수 모델로 이루어진 혼성 모델(hybrid model)이 수신된 오디오 신호에서의 에코의 에코 전력을 추정하는 데 사용된다. FIR 모델은, 표면들에 대한 에코의 처음 몇개의 반사음에 대응하고 지수적으로 감쇠하는 것으로 잘 근사화되지 않을 수 있는, 에코의 초기 반사음 성분을 모델링하는 데 사용된다. 지수 모델은, 다수의 중첩된 에코 반사음에 대응하고 전형적으로 지수적으로 감쇠하는 것으로 잘 근사화될 수 있는, 에코의 후기 반사음 성분을 모델링하는 데 사용된다.
앞서 기술된 실시예들에서, 에코 억제는 VoIP 시스템에서 구현된다[예컨대, 수신된 오디오 신호는 사용자(102)와 사용자(108) 사이의 통화 동안 통신 시스템(100)을 통해 사용자 디바이스(110)로 전송하기 위한 사용자(102)의 음성을 포함할 수 있다]. 그렇지만, 본 명세서에 기술된 에코 억제 방법들은 에코 억제가 적용되어야 하는 임의의 적당한 시스템에서 적용될 수 있다.
앞서 기술되고 도면들에 도시된 실시예들에서는, 에코 소거(또는 "에코 차감")가 수신된 오디오 신호 y(t)에 적용되지 않는다. 즉, 사용자 디바이스(104)에 에코 소거 모듈이 없고, 수신된 오디오 신호 y(t)에 에코 소거를 적용하는 이전 단계 없이, 에코 억제가 수신된 오디오 신호 y(t)에 적용된다.
그렇지만, 다른 실시예들에서, 에코 소거가, 에코 소거 모듈에 의해, 수신된 오디오 신호 y(t)에 적용될 수 있다. 상세하게는, 에코 억제 모듈(314)에 의해 적용되는 에코 억제는 수신된 오디오 신호 y(t)의 처리에서 에코 소거의 다운스트림에서(즉, 에코 소거 후에) 적용될 수 있다. 에코 소거 모듈은 수신된 오디오 신호로부터 에코 신호의 추정치를 차감할 것이지만, 에코 신호의 추정치에서의 부정확성으로 인해, 수신된 오디오 신호에 잔류 에코(residual echo)가 남아 있을 가능성이 있다. 잔류 에코는 이어서 에코 억제 모듈(314)에 의해 억제될 것이다. 에코 소거가 적용되지 않는 실시예들에서, 이 에코 억제는 본 명세서에 기술된 것과 동일한 방식으로 적용될 수 있을 것이다. 에코 차감이 사용되는 경우, 그의 효과가 에코 억제에서 고려될 수 있다.
본 명세서에 기술된 방법들은 사용자 디바이스(104)에서 컴퓨터 프로그램 제품[예컨대, 클라이언트(206)]을 실행하는 것에 의해 구현될 수 있다. 즉, 컴퓨터 프로그램 제품은 수신된 오디오 신호 y(t)에서의 에코를 억제하도록 구성될 수 있고, 여기서 컴퓨터 프로그램 제품은 컴퓨터 판독가능 저장 매체 상에 구현되고[예컨대, 메모리(214)에 저장되고], CPU(202) 상에서 실행될 때, 본 명세서에 기술된 방법들 중 임의의 것의 동작들을 수행하도록 구성되어 있다.
앞서 기술한 방법들에서, 두 가지 모델이 사용된다: 에코의 초기 반사음 성분을 모델링하는 FIR 기반 모델, 및 에코의 후기 반사음 성분을 모델링하는 지수 모델. 그렇지만, 다른 방법들에서, 에코의 각자의 성분들을 모델링하기 위해 임의의 수의(두 개 이상의) 모델들이 사용될 수 있다. 상이한 모델들에 의해 모델링되는 에코의 성분들이 중복할 수 있거나 그렇지 않을 수 있고, 따라서 상이한 모델들이 에코의 서로 동일한 성분들을 모델링할 수 있거나 그렇지 않을 수 있다. 그 모델들 중 상이한 모델들이 에코의 상이한 성분들을 모델링하는 데 적합할 수 있다. 각각의 모델은 그를 사용하여 모델링하는 에코의 특정의 성분에 적합하도록 선택될 수 있다. FIR 기반 모델은 에코의 초기 반사음 성분을 모델링하는 데 적합한 반면, 지수 모델은 에코의 후기 반사음 성분을 모델링하는 데 적합한 앞서 주어진 예에서 이것을 알 수 있다.
다른 예에서, (i) (도 5에 도시된 바와 같은) 에코의 직접음 성분(direct sound component), (ii) 직접음 성분을 제외한 에코의 초기 반사음 성분, 및 (iii) 에코의 후기 반사음 성분을 모델링하는 데, 각각, 적합하고 사용되는 세 가지 모델들이 있을 수 있다. 예를 들어, 세 가지 모델들은, 각각, (i) 직접음 성분의 아주 정확한 모델을 제공하도록 필터 탭들 사이에 촘촘한(fine) 시간 간격을 가지는 제1 FIR 필터를 사용하는 제1 FIR 기반 모델, (ii) 제1 FIR 기반 모델만큼 정확하지는 않지만 직접음 성분의 경로보다 더 긴 에코 경로들에 대해 복잡도가 낮은, 직접음 성분을 제외한 에코의 초기 반사음 성분의 모델을 제공하도록, 제1 FIR 필터의 촘촘한 시간 간격보다는 더 성긴(coarse) 필터 탭들 사이의 시간 간격을 가지는 제2 FIR 필터를 사용하는 제2 FIR 기반 모델; 및 (iii) 세 가지 모델들 중 가장 낮은 정확도를 제공하지만 또한 에코의 후기 반사음 성분까지의 길이를 가지는 에코 경로들에 대해 가장 낮은 복잡도를 제공하는 지수 모델일 수 있다.
일반적으로, 본 명세서에 기술된 기능들(예컨대, 도 3에 도시된 기능 모듈들 및 도 4에 도시된 기능 단계들) 중 임의의 것이 소프트웨어, 펌웨어, 하드웨어(예컨대, 고정 논리 회로), 또는 이들 구현의 조합을 사용하여 구현될 수 있다. 도 3 및 도 4에 개별적으로 도시된 모듈들 및 단계들이 개별적인 모듈들 또는 단계들로서 구현될 수 있거나 그렇지 않을 수 있다. 예를 들어, 에코 억제 모듈(314)은 전력 추정 모듈들(306 및 310) 및 결합 모듈(312)의 기능을 수행할 수 있다. "모듈", "기능", "구성요소" 및 "논리"라는 용어는, 본 명세서에서 사용되는 바와 같이, 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 소프트웨어 구현의 경우에, 모듈, 기능, 또는 논리는 프로세서(예컨대, CPU 또는 CPU들) 상에서 실행될 때 지정된 작업들을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스들에 저장될 수 있다. 본 명세서에 기술된 기법들의 특징들은 플랫폼-독립적(platform-independent)이며, 이는 그 기법들이 각종의 프로세서들을 가지는 각종의 상용 컴퓨팅 플랫폼들에서 구현될 수 있다는 것을 의미한다.
예를 들어, 사용자 디바이스는 또한 사용자 디바이스의 하드웨어로 하여금 동작들(예컨대, 프로세서 기능 블록들, 기타)을 수행하게 하는 엔터티(예컨대, 소프트웨어)를 포함할 수 있다. 예를 들어, 사용자 디바이스는 사용자 디바이스, 보다 상세하게는, 사용자 디바이스의 운영 체제 및 연관된 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 유지하도록 구성될 수 있는 컴퓨터 판독가능 매체를 포함할 수 있다. 이와 같이, 명령어들은 운영 체제 및 연관된 하드웨어를 동작들을 수행하도록 구성하는 기능을 하고, 이러한 방식으로, 그 결과 운영 체제 및 연관된 하드웨어를 기능들을 수행하도록 변환시킨다. 명령어들은 각종의 상이한 구성들을 통해 컴퓨터 판독가능 매체에 의해 사용자 디바이스에 제공될 수 있다.
컴퓨터 판독가능 매체의 하나의 이러한 구성은 신호 전달 매체(signal bearing medium)이고, 따라서 명령어들을 네트워크를 통하는 등에 의해, (예컨대, 반송파로서) 컴퓨팅 디바이스로 전송하도록 구성되어 있다. 컴퓨터 판독가능 매체는 또한 컴퓨터 판독가능 저장 매체로서 구성될 수 있고, 따라서 신호 전달 매체가 아니다. 컴퓨터 판독가능 저장 매체의 예는 RAM(random-access memory), ROM(read-only memory), 광 디스크, 플래시 메모리, 하드 디스크 메모리, 그리고 명령어들 및 기타 데이터를 저장하는 자기, 광, 및 기타 기법들일 수 있는 기타 메모리 디바이스를 포함한다.
발명 요지가 구조적 특징들 및/또는 방법 동작들과 관련하여 기술되어 있지만, 첨부된 청구범위에서 한정되어 있는 발명 요지가 이상에서 기술한 구체적인 특징들 또는 동작들로 꼭 제한되는 것은 아님을 잘 알 것이다. 오히려, 이상에서 기술한 구체적인 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태로서 개시되어 있다.

Claims (19)

  1. 에코를 억제하는 방법에 있어서,
    오디오 신호를 출력하는 단계;
    오디오 신호를 수신 - 상기 수신된 오디오 신호는 상기 출력된 오디오 신호로부터 생기는 에코를 포함함 - 하는 단계;
    복수의 모델들 - 상기 모델들 중 제1 모델은 유한 임펄스 응답(Finite Impulse Response) 기반 모델이고, 상기 모델들 중 제2 모델은 상기 제1 모델과 상이함 - 을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 에코 경로를 모델링하는 단계;
    상기 수신된 오디오 신호에서의 상기 에코의 적어도 제1 성분의 에코 전력의 제1 모델 추정치를 결정하기 위해 상기 제1 모델을 사용하는 단계;
    상기 수신된 오디오 신호에서의 상기 에코의 적어도 제2 성분의 에코 전력의 제2 모델 추정치를 결정하기 위해 상기 제2 모델을 사용하는 단계;
    상기 수신된 오디오 신호에서의 상기 에코의 에코 전력의 결합 추정치(combined estimate)를 결정하기 위해 에코 전력의 상기 제1 모델 추정치와 상기 제2 모델 추정치를 결합하는 단계; 및
    상기 수신된 오디오 신호에 에코 억제를 적용하기 위해 에코 전력의 상기 결합 추정치를 사용하여 상기 수신된 오디오 신호에서의 상기 에코를 억제하는 단계
    를 포함하는, 에코를 억제하는 방법.
  2. 제1항에 있어서,
    상기 제1 모델 및 제2 모델은 상기 수신된 오디오 신호에서의 상기 에코의 상이한 성분들을 모델링하는 것인, 에코를 억제하는 방법.
  3. 제2항에 있어서,
    상기 제1 모델은 상기 수신된 오디오 신호에서의 상기 에코의 초기 반사음 성분(early reflections component)을 모델링하고, 상기 제2 모델은 상기 수신된 오디오 신호에서의 상기 에코의 후기 반사음 성분(late reflections component)을 모델링하는 것인, 에코를 억제하는 방법.
  4. 제1항에 있어서,
    상기 수신된 오디오 신호에서의 상기 에코의 상기 에코 경로를 모델링하는 데 상기 제1 모델이 상기 제2 모델보다 더 정확하고, 상기 에코 경로의 길이가 증가함에 따라, 상기 제1 모델의 복잡도가 상기 제2 모델의 복잡도보다 더 증가하는 것인, 에코를 억제하는 방법.
  5. 제1항에 있어서,
    상기 제1 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 상기 에코 경로를 모델링하는 것은, 상기 출력된 오디오 신호 및 상기 수신된 오디오 신호에 기초하여 시간 영역에서 유한 임펄스 응답 필터 추정치
    Figure 112018116279380-pct00103
    를 동적으로 적응시키는(adapting) 단계를 포함하는 것인, 에코를 억제하는 방법.
  6. 제5항에 있어서,
    상기 필터 추정치
    Figure 112018116279380-pct00104
    는, 하기 식에 따라, 상기 수신된 오디오 신호에서의 상기 에코의 상기 제1 성분의 에코 전력
    Figure 112018116279380-pct00105
    의 상기 제1 모델 추정치를 결정하는 데 사용되고:
    Figure 112018116279380-pct00106

    상기 출력된 오디오 신호 x(t)의 N+1 개의 샘플들이 고려되고,
    Figure 112018116279380-pct00107
    는 상기 필터 추정치
    Figure 112018116279380-pct00108
    를 나타내는 N+1 개의 가중치들의 세트인 것인, 에코를 억제하는 방법.
  7. 제5항에 있어서,
    상기 필터 추정치
    Figure 112018116279380-pct00109
    는,
    상기 필터 추정치
    Figure 112018116279380-pct00110
    를 시간 영역에서 복수의 P 개의 파티션들로 분할하는 것; 및
    상기 파티션들 각각에 대한 주파수 영역에서의 각자의 전력 응답
    Figure 112018116279380-pct00111
    을 결정하기 위해 상기 필터 추정치
    Figure 112018116279380-pct00112
    의 상기 파티션들 각각을 변환하고 제곱하는 것
    에 의해 상기 결정된 필터 추정치
    Figure 112018116279380-pct00113
    로부터 복수의 전력 응답들을 결정함으로써, 상기 수신된 오디오 신호에서의 상기 에코의 상기 제1 성분의 에코 전력의 상기 제1 모델 추정치를 결정하는 데 사용되는 것인, 에코를 억제하는 방법.
  8. 제7항에 있어서,
    프레임 k에 대한, 상기 수신된 오디오 신호에서의 상기 에코의 상기 제1 성분의 에코 전력
    Figure 112018116279380-pct00114
    의 상기 제1 모델 추정치
    Figure 112018116279380-pct00115
    는 하기 식에 따라 결정되고:
    Figure 112018116279380-pct00116

    |X(k-p, f)|2은 프레임 k-p에 대한 상기 출력된 신호의 전력 스펙트럼 밀도인 것인, 에코를 억제하는 방법.
  9. 제3항에 있어서,
    상기 제2 모델은 지수 모델(exponential model)이고,
    상기 방법은, 상기 출력된 오디오 신호 및 상기 수신된 오디오 신호에 기초하여 상기 지수 모델의 감쇠 인자 추정치
    Figure 112018116279380-pct00117
    를 결정하는 단계를 더 포함하고,
    상기 제2 모델은, 프레임 k에 대한, 상기 수신된 오디오 신호에서의 상기 에코의 상기 제2 성분의 에코 전력
    Figure 112018116279380-pct00118
    의 상기 제2 모델 추정치
    Figure 112018116279380-pct00119
    를 하기 식에 따라 결정하는 데 사용되고,
    Figure 112018116279380-pct00120

    Figure 112018116279380-pct00121
    는 프레임 k-1에 대한 상기 제1 모델을 사용하여 결정되는 상기 수신된 오디오 신호에서의 상기 에코의 상기 제1 성분의 부분의 에코 전력의 추정치이고, 상기 부분은 상기 에코의 상기 초기 반사음 성분에서의 반사음들 중 마지막 것에 대응하는 것인, 에코를 억제하는 방법.
  10. 제3항에 있어서,
    상기 제2 모델은 지수 모델(exponential model)이고,
    상기 방법은, 상기 출력된 오디오 신호 및 상기 수신된 오디오 신호에 기초하여 상기 지수 모델의 감쇠 인자 추정치
    Figure 112018116279380-pct00122
    를 결정하는 단계를 더 포함하고,
    상기 제2 모델은, 프레임 k에 대한, 상기 수신된 오디오 신호에서의 상기 에코의 상기 제2 성분의 에코 전력
    Figure 112018116279380-pct00123
    의 상기 제2 모델 추정치
    Figure 112018116279380-pct00124
    를 하기 식에 따라 결정하는 데 사용되고,
    Figure 112018116279380-pct00125

    Figure 112018116279380-pct00126
    는 프레임 k-1에 대한 상기 제1 모델을 사용하여 결정되는 상기 수신된 오디오 신호에서의 상기 에코의 상기 제1 성분의 부분의 에코 전력의 추정치이고, 상기 부분은 상기 에코의 상기 초기 반사음 성분에서의 반사음들 중 마지막 것에 대응하고,
    상기 제1 모델을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 상기 에코 경로를 모델링하는 단계는, 상기 출력된 오디오 신호 및 상기 수신된 오디오 신호에 기초하여 시간 영역에서 유한 임펄스 응답 필터 추정치
    Figure 112018116279380-pct00127
    를 동적으로 적응시키는(adapting) 단계를 포함하고,
    상기 필터 추정치
    Figure 112018116279380-pct00128
    는, 상기 수신된 오디오 신호에서의 상기 에코의 상기 제1 성분의 에코 전력
    Figure 112018116279380-pct00129
    의 상기 제1 모델 추정치를 결정하는 데 사용되고,
    Figure 112018116279380-pct00130
    는 하기 식에 따라 결정된 상기 초기 반사음 성분에서의 반사음들 중 마지막 것에 대한 에코 전력의 추정치이고:
    Figure 112018116279380-pct00131
    ,
    상기 출력된 오디오 신호 x(t)의 N+1 개의 샘플들이 고려되고,
    Figure 112018116279380-pct00132
    는 상기 필터 추정치
    Figure 112018116279380-pct00133
    를 나타내는 N+1 개의 가중치들의 세트인 것인, 에코를 억제하는 방법.
  11. 제1항에 있어서,
    상기 에코 전력의 상기 제1 모델 추정치 및 상기 제2 모델 추정치를 결합하는 단계는, 상기 에코 전력의 상기 제1 모델 추정치와 상기 제2 모델 추정치를 합산하는 단계를 포함하는 것인, 에코를 억제하는 방법.
  12. 제1항에 있어서,
    상기 에코 억제는, 상기 수신된 오디오 신호에 에코 소거(echo cancellation)를 적용하는 사전 단계 없이, 상기 수신된 오디오 신호에 적용되는 것인, 에코를 억제하는 방법.
  13. 제1항에 있어서,
    상기 수신된 오디오 신호에 에코 소거를 적용하는 단계를 더 포함하고, 상기 에코 억제는 상기 수신된 오디오 신호의 프로세싱에서 상기 에코 소거의 다운스트림에서 적용되는 것인, 에코를 억제하는 방법.
  14. 제1항에 있어서,
    상기 방법은 통신 이벤트에서의 사용을 위한 사용자 디바이스에서 수행되고, 상기 수신된 오디오 신호는 상기 통신 이벤트에서의 상기 사용자 디바이스로부터의 송신을 위한 사용자의 음성(speech)을 포함하는 것인, 에코를 억제하는 방법.
  15. 제1항에 있어서,
    상기 복수의 모델들은 상기 제1 모델 및 상기 제2 모델만으로 구성되는 것인, 에코를 억제하는 방법.
  16. 제1항에 있어서,
    상기 복수의 모델들은 상기 제1 모델 및 상기 제2 모델에 더하여 적어도 하나의 추가 모델을 포함하는 것인, 에코를 억제하는 방법.
  17. 에코 억제를 구현하도록 구성된 디바이스에 있어서,
    오디오 신호를 출력하도록 구성된 오디오 출력 장치;
    오디오 신호를 수신 - 상기 수신된 오디오 신호는 상기 출력된 오디오 신호로부터 생기는 에코를 포함함 - 하도록 구성된 오디오 입력 장치;
    복수의 모델들 - 제1 모델은 유한 임펄스 응답 기반 모델이고, 제2 모델은 상기 제1 모델과 상이함 - 을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 에코 경로를 모델링하도록 구성된 모델링 모듈 - 상기 모델링 모듈은 상기 수신된 오디오 신호에서의 상기 에코의 적어도 제1 성분의 에코 전력의 제1 모델 추정치를 결정하기 위해 상기 제1 모델을 사용하고 상기 수신된 오디오 신호에서의 상기 에코의 적어도 제2 성분의 에코 전력의 제2 모델 추정치를 결정하기 위해 상기 제2 모델을 사용하도록 구성되고, 상기 모델링 모듈은 상기 수신된 오디오 신호에서의 상기 에코의 에코 전력의 결합 추정치를 결정하기 위해 에코 전력의 상기 제1 모델 추정치와 상기 제2 모델 추정치를 결합하도록 구성된 결합 모듈을 포함하는 것임 - ; 및
    상기 수신된 오디오 신호에 에코 억제를 적용하기 위해 에코 전력의 상기 결합 추정치를 사용하여 상기 수신된 오디오 신호에서의 상기 에코를 억제하도록 구성된 에코 억제 모듈
    을 포함하는, 에코 억제를 구현하도록 구성된 디바이스.
  18. 제17항에 있어서,
    상기 오디오 출력 장치는 상기 출력된 오디오 신호를 출력하도록 구성된 스피커를 포함하고, 상기 오디오 입력 장치는 상기 수신된 오디오 신호를 수신하도록 구성된 마이크를 포함하는 것인, 에코 억제를 구현하도록 구성된 디바이스.
  19. 시스템에 있어서,
    적어도 하나의 프로세서; 및
    하나 이상의 컴퓨터 판독 가능 하드웨어 저장 매체
    를 포함하고,
    상기 하나 이상의 컴퓨터 판독 가능 하드웨어 저장 매체는, 상기 적어도 하나의 프로세서에 의한 실행에 응답하여,
    오디오 신호를 출력하는 것;
    상기 출력된 오디오 신호로부터 생기는 에코를 포함하는 오디오 신호를 수신하는 것;
    복수의 모델들 - 제1 모델은 유한 임펄스 응답 기반 모델이고, 제2 모델은 상기 제1 모델과 상이함 - 을 사용하여 상기 수신된 오디오 신호에서의 상기 에코의 에코 경로를 모델링하는 것;
    상기 수신된 오디오 신호에서의 상기 에코의 적어도 제1 성분의 에코 전력의 제1 모델 추정치를 결정하기 위해 상기 제1 모델을 사용하는 것;
    상기 수신된 오디오 신호에서의 상기 에코의 적어도 제2 성분의 에코 전력의 제2 모델 추정치를 결정하기 위해 상기 제2 모델을 사용하는 것;
    상기 수신된 오디오 신호에서의 상기 에코의 에코 전력의 결합 추정치를 결정하기 위해 상기 에코 전력의 상기 제1 모델 추정치와 상기 제2 모델 추정치를 결합하는 것; 및
    상기 수신된 오디오 신호에 에코 억제를 적용하기 위해 상기 에코 전력의 상기 결합 추정치를 사용하여 상기 수신된 오디오 신호에서의 상기 에코를 억제하는 것
    을 포함하는 동작들을 수행함으로써 상기 수신된 오디오 신호에서의 에코를 억제하도록 구성된 컴퓨터 프로그램 물건을 포함하는 것인, 시스템.
KR1020157019200A 2012-12-21 2013-12-21 에코 억제 KR102170172B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1223238.5A GB2510331A (en) 2012-12-21 2012-12-21 Echo suppression in an audio signal
GB1223238.5 2012-12-21
US13/789,532 US9154873B2 (en) 2012-12-21 2013-03-07 Echo suppression
US13/789,532 2013-03-07
PCT/US2013/077355 WO2014100794A1 (en) 2012-12-21 2013-12-21 Echo suppression

Publications (2)

Publication Number Publication Date
KR20150097686A KR20150097686A (ko) 2015-08-26
KR102170172B1 true KR102170172B1 (ko) 2020-10-26

Family

ID=47682458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019200A KR102170172B1 (ko) 2012-12-21 2013-12-21 에코 억제

Country Status (7)

Country Link
US (1) US9154873B2 (ko)
EP (1) EP2920950B1 (ko)
JP (1) JP6422886B2 (ko)
KR (1) KR102170172B1 (ko)
CN (1) CN104969537B (ko)
GB (1) GB2510331A (ko)
WO (1) WO2014100794A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2509493A (en) 2012-12-21 2014-07-09 Microsoft Corp Suppressing Echo in a received audio signal by estimating the echo power in the received audio signal based on an FIR filter estimate
GB2512022A (en) 2012-12-21 2014-09-24 Microsoft Corp Echo suppression
US10056092B2 (en) * 2014-09-12 2018-08-21 Nuance Communications, Inc. Residual interference suppression
EP3354004B1 (en) * 2015-09-25 2021-10-27 Microsemi Semiconductor (U.S.) Inc. Acoustic echo path change detection apparatus and method
DE102015222105A1 (de) * 2015-11-10 2017-05-11 Volkswagen Aktiengesellschaft Audiosignalverarbeitung in einem Fahrzeug
EP3414889B1 (en) * 2016-06-30 2019-12-04 Google LLC Bi-magnitude processing framework for nonlinear echo cancellation in mobile devices
CN110140294B (zh) * 2016-12-06 2023-06-27 哈曼国际工业有限公司 用于均衡音频信号的方法和装置
CN106849976A (zh) * 2016-12-28 2017-06-13 深圳天珑无线科技有限公司 一种免提通话时回声消除方法及通信终端
US10481831B2 (en) * 2017-10-02 2019-11-19 Nuance Communications, Inc. System and method for combined non-linear and late echo suppression
CN109003620A (zh) * 2018-05-24 2018-12-14 北京潘达互娱科技有限公司 一种回音消除方法、装置、电子设备及存储介质
CN109587362B (zh) * 2018-12-24 2020-06-26 龙马智芯(珠海横琴)科技有限公司 回声抑制的处理方法和装置
CN111835383B (zh) * 2019-04-17 2022-04-01 达发科技(苏州)有限公司 回音与近端串扰消除系统
US10650839B2 (en) * 2019-06-20 2020-05-12 Intel Corporation Infinite impulse response acoustic echo cancellation in the frequency domain
JP2022151366A (ja) * 2021-03-26 2022-10-07 株式会社トランストロン エコー抑圧装置、エコー抑圧方法及びエコー抑圧プログラム
CN113178203B (zh) * 2021-04-23 2022-11-04 歌尔股份有限公司 一种回声消除方法、系统、音频设备及可读存储介质
CN113763978B (zh) * 2021-04-25 2024-05-03 腾讯科技(深圳)有限公司 语音信号处理方法、装置、电子设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055687A1 (en) * 2010-10-25 2012-05-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Echo suppression comprising modeling of late reverberation components

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473686A (en) 1994-02-01 1995-12-05 Tandy Corporation Echo cancellation apparatus
SE511073C2 (sv) 1997-09-10 1999-08-02 Ericsson Telefon Ab L M Sätt och anordning för ekoestimering och undertryckning i telefonsystem
US6256383B1 (en) * 1997-11-07 2001-07-03 Legerity, Inc. IIR filter of adaptive balance circuit for long tail echo cancellation
US6570985B1 (en) 1998-01-09 2003-05-27 Ericsson Inc. Echo canceler adaptive filter optimization
US6549587B1 (en) 1999-09-20 2003-04-15 Broadcom Corporation Voice and data exchange over a packet based network with timing recovery
US7423983B1 (en) 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
JP3566158B2 (ja) * 1999-12-07 2004-09-15 三菱電機株式会社 エコーキャンセラ装置
US7672447B1 (en) 2000-06-01 2010-03-02 Telefonaktiebolaget Lm Ericsson (Publ) Frequency domain echo canceller
US7046658B1 (en) 2000-06-23 2006-05-16 At & T Corp. Method and system for customer selected direct dialed voice-over-internet protocol (VOIP)
US7068780B1 (en) * 2000-08-30 2006-06-27 Conexant, Inc. Hybrid echo canceller
JP4568439B2 (ja) 2001-01-22 2010-10-27 パナソニック株式会社 エコー抑圧装置
US6785382B2 (en) 2001-02-12 2004-08-31 Signalworks, Inc. System and method for controlling a filter to enhance speakerphone performance
WO2002093774A1 (en) 2001-05-17 2002-11-21 Stmicroelectronics Asia Pacific Pte Ltd Echo canceller and a method of cancelling echo
US6950842B2 (en) 2002-01-23 2005-09-27 Analog Devices, Inc. Echo canceller having an adaptive filter with a dynamically adjustable step size
US6914978B2 (en) 2002-08-16 2005-07-05 Ambit Microsystems Corp. Pulse dialing system for VoIP modem
US7082123B2 (en) 2002-08-21 2006-07-25 Ambit Microsystems Corp. Silent redial system for VoIP modem
US7062040B2 (en) 2002-09-20 2006-06-13 Agere Systems Inc. Suppression of echo signals and the like
US7027591B2 (en) 2002-10-16 2006-04-11 Ericsson Inc. Integrated noise cancellation and residual echo suppression
US7162420B2 (en) 2002-12-10 2007-01-09 Liberato Technologies, Llc System and method for noise reduction having first and second adaptive filters
JP4376793B2 (ja) * 2003-01-08 2009-12-02 エヌエックスピー ビー ヴィ 特に電話におけるエコーを抑制するための装置および方法
US6947549B2 (en) * 2003-02-19 2005-09-20 The Hong Kong Polytechnic University Echo canceller
US7099458B2 (en) 2003-12-12 2006-08-29 Motorola, Inc. Downlink activity and double talk probability detector and method for an echo canceler circuit
EP1803288B1 (en) * 2004-10-13 2010-04-14 Koninklijke Philips Electronics N.V. Echo cancellation
US7894598B2 (en) 2004-12-14 2011-02-22 Nuance Communications, Inc. System for limiting receive audio
DE602006009770D1 (de) 2006-05-08 2009-11-26 Harman Becker Automotive Sys Echoverringerung für zeitvariante Systeme
EP1879293B1 (en) 2006-07-10 2019-02-20 Harman Becker Automotive Systems GmbH Partitioned fast convolution in the time and frequency domain
US7983373B2 (en) 2007-02-07 2011-07-19 Vintomie Networks B.V., Llc Clock distribution for 10GBase-T analog front end
JP4978352B2 (ja) 2007-07-11 2012-07-18 ヤマハ株式会社 エコーキャンセラ
US8374851B2 (en) 2007-07-30 2013-02-12 Texas Instruments Incorporated Voice activity detector and method
EP2048659B1 (en) * 2007-10-08 2011-08-17 Harman Becker Automotive Systems GmbH Gain and spectral shape adjustment in audio signal processing
US8275139B2 (en) 2008-03-26 2012-09-25 Ittiam Systems (P) Ltd. Linear full duplex system and method for acoustic echo cancellation
JP5125690B2 (ja) 2008-03-31 2013-01-23 ヤマハ株式会社 音響エコー除去装置
CN101262530B (zh) * 2008-04-29 2011-12-07 中兴通讯股份有限公司 一种消除移动终端回音的装置
US8634569B2 (en) 2010-01-08 2014-01-21 Conexant Systems, Inc. Systems and methods for echo cancellation and echo suppression
NO332437B1 (no) * 2010-01-18 2012-09-17 Cisco Systems Int Sarl Apparat og fremgangsmate for a supprimere et akustisk ekko
US9185233B2 (en) * 2010-05-25 2015-11-10 Intel Deutschland Gmbh Audio communication device and method using fixed echo cancellation filter coefficients
BR112013016222B1 (pt) 2011-02-03 2020-12-15 Telefonaktiebolaget L M Ericsson (Publ) Método de estimar a potência de eco, método de supressão de eco, estimador de potência de eco harmônico, cancelador de eco, e, equipamento de usuário
US8804977B2 (en) 2011-03-18 2014-08-12 Dolby Laboratories Licensing Corporation Nonlinear reference signal processing for echo suppression
US9065895B2 (en) * 2012-02-22 2015-06-23 Broadcom Corporation Non-linear echo cancellation
GB2512022A (en) 2012-12-21 2014-09-24 Microsoft Corp Echo suppression
GB2509493A (en) 2012-12-21 2014-07-09 Microsoft Corp Suppressing Echo in a received audio signal by estimating the echo power in the received audio signal based on an FIR filter estimate

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055687A1 (en) * 2010-10-25 2012-05-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Echo suppression comprising modeling of late reverberation components

Also Published As

Publication number Publication date
EP2920950B1 (en) 2016-09-21
CN104969537B (zh) 2017-01-18
WO2014100794A1 (en) 2014-06-26
GB2510331A (en) 2014-08-06
US9154873B2 (en) 2015-10-06
GB201223238D0 (en) 2013-02-06
KR20150097686A (ko) 2015-08-26
JP2016503263A (ja) 2016-02-01
CN104969537A (zh) 2015-10-07
EP2920950A1 (en) 2015-09-23
US20140177859A1 (en) 2014-06-26
JP6422886B2 (ja) 2018-11-14

Similar Documents

Publication Publication Date Title
KR102170172B1 (ko) 에코 억제
JP6422885B2 (ja) エコー抑圧
US9521264B2 (en) Echo removal
KR102190833B1 (ko) 에코 억제
KR102194165B1 (ko) 에코 제거기
EP2987313B1 (en) Echo removal
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