KR20200093849A - 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서 - Google Patents

시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서 Download PDF

Info

Publication number
KR20200093849A
KR20200093849A KR1020190011091A KR20190011091A KR20200093849A KR 20200093849 A KR20200093849 A KR 20200093849A KR 1020190011091 A KR1020190011091 A KR 1020190011091A KR 20190011091 A KR20190011091 A KR 20190011091A KR 20200093849 A KR20200093849 A KR 20200093849A
Authority
KR
South Korea
Prior art keywords
residual echo
magnitude
echo
residual
linear
Prior art date
Application number
KR1020190011091A
Other languages
English (en)
Other versions
KR102517975B1 (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 삼성전자주식회사
Priority to KR1020190011091A priority Critical patent/KR102517975B1/ko
Priority to US16/546,532 priority patent/US10854215B2/en
Priority to CN201911376200.6A priority patent/CN111489761A/zh
Publication of KR20200093849A publication Critical patent/KR20200093849A/ko
Application granted granted Critical
Publication of KR102517975B1 publication Critical patent/KR102517975B1/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
    • 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
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • 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
    • 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
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • 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
    • 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
    • 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/04Circuits for transducers, loudspeakers or microphones for correcting frequency response
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/11Transducers incorporated or for use in hand-held devices, e.g. mobile phones, PDA's, camera's

Landscapes

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

Abstract

본 발명의 실시 예에 따라, 기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력되는 마이크로폰 신호의 잔여 에코의 크기를 추정하는 잔여 에코 추정기는: 현재 프레임에서의 기준 신호의 선형 에코의 크기 및 과거 프레임에서의 기준 신호의 선형 에코의 크기를 이용하여 현재 프레임에서의 잔여 에코의 크기를 추정하고, 그리고 선형 에코의 크기들에 적용되는 가중치들을 업데이트하도록 구성된다.

Description

시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서{RESIDUAL ECHO ESTIMATOR TO ESTIMATE RESIDUAL ECHO BASED ON TIME CORRELATION, NON-TRANSITORY COMPUTER-READABLE MEDIUM STORING PROGRAM CODE TO ESTIMATE RESIDUAL ECHO, AND APPLICATION PROCESSOR}
본 발명은 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서에 관한 것이다.
스피커와 마이크로폰을 포함하는 전자 장치에서 원단 화자의 음성이 스피커를 통해 출력됨에 따라 마이크로폰으로 원단 화자의 음성이 입력될 수 있다. 이러한 음향 반향은 원단에서 근단 화자의 음성이 인식되는 것을 방해할 수 있다. 따라서, 서로 인접하게 배치되는 스피커와 마이크로폰 간의 커플링에 따른 음향 반향이 제거되는 것이 필요하다. 또한, 음성 인식을 지원하는 전자 장치의 수요가 증대됨에 따라 음향 반향을 효과적으로 제거하는 것이 더욱 중요하다.
본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 본 발명은 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서를 제공할 수 있다.
본 발명의 실시 예에 따라, 기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력되는 마이크로폰 신호의 잔여 에코를 추정하는 잔여 에코 추정기는: 현재 프레임에서의 기준 신호의 선형 에코의 크기 및 과거 프레임에서의 기준 신호의 선형 에코의 크기를 이용하여 현재 프레임에서의 잔여 에코의 크기를 추정하고, 그리고 선형 에코의 크기들에 적용되는 가중치들을 업데이트하도록 구성된다.
본 발명의 다른 실시 예에 따라, 프로세서에 의해 실행 가능한 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체에 있어서, 기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력되는 마이크로폰 신호의 잔여 에코를 추정하는 프로세서는: 현재 프레임에서의 기준 신호의 선형 에코의 크기, 현재 프레임에서의 마이크로폰 신호의 크기 및 과거 프레임에서의 기준 신호의 선형 에코의 크기를 이용하여 현재 프레임에서의 잔여 에코의 크기를 추정하고 그리고 선형 에코의 크기들에 적용되는 가중치들을 업데이트하는 잔여 에코 추정기; 및 잔여 에코의 크기 그리고 마이크로폰 신호에서 선형 에코가 제거된 출력 신호의 크기를 이용하여 출력 신호에 곱해지는 억제 게인을 계산하는 게인 계산기를 실행하도록 구성된다.
본 발명의 또 다른 실시 예에 따라, 어플리케이션 프로세서는 오디오 프로세서; 및 오디오 프로세서에 의해 실행 가능한 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체를 포함하고, 오디오 프로세서는: 기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력되는 마이크로폰 신호에서 스피커와 마이크로폰 간의 전송 경로에 기초하여 결정되는 기준 신호의 선형 에코를 제거하여 출력 신호를 생성하는 선형 에코 제거기; 및 현재 프레임에서의 선형 에코의 크기 및 과거 프레임에서의 선형 에코의 크기를 선택적으로 이용하여 현재 프레임에서의 잔여 에코의 크기를 추정하는 잔여 에코 억제기를 실행하도록 구성된다.
본 발명의 실시 예에 따르면, 잔여 에코의 크기를 계산하는데 선형 에코의 시간 상관 관계, 잔여 에코의 시간 상관 관계, 및 마이크로폰 신호의 시간 상관 관계가 선택적으로 사용될 수 있다. 따라서, AEC 시스템의 ERLE가 더 개선될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 통신 시스템을 예시적으로 도시한다.
도 2는 본 발명의 일 실시 예에 따른 도 1의 AEC 시스템을 도시한다.
도 3a는 본 발명의 일 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다.
도 3b는 본 발명의 다른 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다.
도 3c는 본 발명의 또 다른 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다.
도 3d는 본 발명의 또 다른 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다.
도 4는 본 발명의 일 실시 예에 따른 도 1의 전자 장치를 예시적으로 도시한다.
도 5는 본 발명의 다른 실시 예에 따른 도 1의 AEC 시스템을 예시적으로 도시한다.
도 6은 본 발명의 실시 예에 따라 잔여 에코의 크기를 추정하는 순서도를 예시적으로 도시한다.
도 7은 본 발명의 일 실시 예에 따른 도 6의 S110 단계의 상세한 단계들을 예시적으로 도시한다.
도 8은 본 발명의 다른 실시 예에 따른 도 6의 S110 단계의 상세한 단계들을 예시적으로 도시한다.
도 9는 본 발명의 일 실시 예에 따른 전자 장치를 예시적으로 도시한다.
도 1은 본 발명의 일 실시 예에 따른 통신 시스템을 예시적으로 도시한다. 통신 시스템(1)은 근단(near-end) 화자와 관련되거나 인접한 전자 장치(10) 및 원단(far-end) 화자와 관련되거나 인접한 전자 장치(20)를 포함할 수 있다. 원단 화자의 음성에 따른 원단 신호(이하, 기준(reference) 신호로 지칭))가 마이크로폰(22)을 통해 전자 장치(20)로 입력될 수 있다. 전자 장치(20)는 유/무선 통신 프로토콜에 기초하여 전자 장치(10)로 기준 신호를 전송할 수 있다.
본 발명의 실시 예에 따른 전자 장치(10)는 전자 장치(20)로부터 기준 신호를 수신하고 기준 신호를 스피커(11)를 통해 출력할 수 있다. 전자 장치(10)는 마이크로폰(12)을 통해 전자 장치(10)의 주변의 소리(예를 들어, 근단 화자의 음성 또는 노이즈(noise))를 수신할 수 있다. 그러나, 스피커(11)를 통해 기준 신호가 출력됨에 따라 전자 장치(10)의 마이크로폰(12)으로 기준 신호에 대한 에코(echo; 또는 에코 신호)가 입력될 수 있다. 따라서, 전자 장치(10)는 전자 장치(20)의 스피커(21)를 통해 원단 화자의 음성이 원단 화자에게 다시 재생되는 것을 방지하기 위해 마이크로폰 신호에 포함된 에코를 제거(cancel)하거나 억제(suppress)할 수 있다.
전자 장치(10)는 어플리케이션 프로세서(100)를 포함할 수 있다. 어플리케이션 프로세서(100)는 오디오 프로세서(110) 및 메모리(120)를 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(100)는 기준 신호에 대한 에코를 제거하기 위한 다양한 하드웨어 구성 요소(들), 회로(들), 또는 모듈(들)을 이용하여 구현되는 AEC(acoustic echo cancellation) 시스템(1000)을 포함할 수 있다. 다른 예를 들어, 어플리케이션 프로세서(100)는 소프트웨어 구성 요소(들), 기능 블록(들), 또는 모듈(들)을 이용하여 실행되는 AEC 시스템(1000)을 실행하거나 구현할 수 있다.
AEC 시스템(1000)의 일부 또는 전체가 소프트웨어로 구현되는 경우, 오디오 프로세서(110)는 메모리(120)에 저장된 프로그램 코드를 실행하여, AEC 시스템(1000)을 실행하거나 구현할 수 있다. 오디오 프로세서(110)는 AEC 시스템(1000)을 실행하기 위해 프로그램 코드에 포함된 명령(들), 알고리즘(들), 또는 기능(들)을 메모리(120)로부터 읽고 이들을 실행할 수 있는 적어도 하나의 코어(프로세싱 유닛)를 포함할 수 있다.
메모리(120)는 AEC 시스템(1000)을 실행하기 위한 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체일 수 있다. 메모리(120)는 RAM(Random Access Memory), 플래시 메모리, ROM(Read Only Memory), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 임의의 형태의 저장 매체일 수 있다. 도 1의 도시대로, 메모리(120)는 어플리케이션 프로세서(100) 내에서 구현될 수도 있거나, 또는 도 1의 도시와 달리 메모리(120)는 전자 장치(10) 내에서 어플리케이션 프로세서(100)와 독립적으로 구현되거나 또는 전자 장치(10)의 외부에 위치하는 저장 매체일 수도 있다.
AEC 시스템(1000)은 선형 에코 제거기(LEC) 및 잔여 에코 억제기(RES)를 포함할 수 있다. 선형 에코 제거기(LEC)는 기준 신호 수신할 수 있다. 선형 에코 제거기(LEC)는 스피커(11)와 마이크로폰(12) 간의 전달(transfer) 경로에 기초하여 선형적으로 기준 신호의 선형 에코(X'(κ, m))를 추정(계산)할 수 있다. κ(kappa)는 시간에 관한 프레임 인덱스이고 m은 주파수 밴드이다. 예를 들어, 선형 에코 제거기(LEC)는 기준 신호 그리고 전달 경로를 나타내는 사전에 모델링된 전달 함수에 대한 컨볼루션(convolution) 연산을 실행할 수 있다. 선형 에코 제거기(LEC)는 적응 필터(adaptive filter)를 포함할 수 있고, 적응 필터를 이용하여 마이크로폰 신호에서 선형 에코(X'(κ, m))가 제거된 출력 신호(E(κ, m))를 생성할 수 있다. 선형 에코(X'(κ, m))가 마이크로폰 신호의 실제 에코와 일치하도록 적응 필터의 계수는 계속하여 업데이트될 수 있다.
선형 에코 제거기(LEC)는 선형적으로 기준 신호의 선형 에코(X'(κ, m))를 추정하므로, 출력 신호(E(κ, m))에는 잔여(residual) 에코가 존재할 수 있다. 에코의 비선형 왜곡(nonlinear distortion), 즉 고조파 왜곡(HD)의 근원은 스피커(11) 자체의 비선형적 특성, 스피커(11)와 마이크로폰(12)이 인접함에 따라 발생되는 진동, 전자 장치(10)의 구성 요소들의 비선형적인 특성 등으로 다양할 수 있다.
잔여 에코 억제기(RES)는 선형 에코 제거기(LEC)에 의해 제거되지 않은 잔여 에코를 억제할 수 있다. 잔여 에코 억제기(RES)는 억제 게인(suppression gain; G(κ, m))을 생성할 수 있고 억제 게인(G(κ, m))과 출력 신호(E(κ, m))를 곱하여 출력 신호(R(κ, m))를 생성할 수 있다. 잔여 에코 억제기(RES)는 출력 신호(R(κ, m))에 잔여 에코가 최대한 포함되지 않도록 억제 게인(G(κ, m))을 적응적으로 업데이트할 수 있다. 전자 장치(10)는 에코가 제거된 마이크로폰 신호를 전자 장치(20)로 제공할 수 있고 원단 화자는 스피커(21)를 통해 에코가 (최대한) 제거된 마이크로폰 신호를 들을 수 있다.
도 2는 본 발명의 일 실시 예에 따른 도 1의 AEC 시스템을 도시한다. 도 2를 참조하면, 전자 장치(10)의 AEC 시스템(1000)이 상세하게 도시되었고, 기준 신호가 증폭기(13)를 통해 증폭된 이후에 스피커(11)를 통해 출력되는 것으로 도시되었고, 마이크로폰(12)에 의해 에코가 캡처(capture)되는 것으로 도시되었다. 도면의 간결성 및 설명의 편의를 위해 전자 장치(10)의 다른 구성 요소들은 생략되었다.
AEC 시스템(1000)은 제 1 및 제 2 주파수 변환(FT) 모듈들(1100, 1200), 선형 에코 제거기(1300), 잔여 에코 억제기(1400), 및 역 주파수 변환(IFT) 모듈(1500)을 포함할 수 있다. 변환 모듈은 변환기로도 지칭될 수 있다. AEC 시스템(1000)은 잔여 에코의 크기를 추정하는 프로그램 코드에 대응할 수 있고 프로그램 코드는 AEC 시스템(1000)의 구성 요소(들), 기능(들), 블록(들), 모듈(들)을 포함할 수 있다.
제 1 주파수 변환 모듈(1100)은 마이크로폰 신호를 수신하고 시간 영역(time domain)의 마이크로폰 신호를 주파수 영역으로 변환할 수 있다. 예를 들어, 제 1 주파수 변환 모듈(1100)은 MCLT(modulated complex lapped transform), FT(fourier transform), STFT(short-time fourier transform), DFT(discrete fourier transform), FFT(fast fourier transform) 등에 기초하여 변환 동작을 수행하고 마이크로폰 신호(Y(κ, m))를 출력할 수 있다. 제 2 주파수 변환 모듈(1200)은 기준 신호를 수신하고 시간 영역의 기준 신호를 주파수 영역으로 변환할 수 있다. 제 2 주파수 변환 모듈(1200)은 제 1 주파수 변환 모듈(1100)과 유사하게 변환 동작을 수행하고 기준 신호(X(κ, m))를 출력할 수 있다.
선형 에코 제거기(1300)는 기준 신호 그리고 스피커(11)와 마이크로폰(12)간의 경로를 나타내는 사전에 모델링된 전달 함수에 대한 컨볼루션 연산을 실행하여 기준 신호의 선형 에코(X'(κ, m))를 추정할 수 있다. 선형 에코 제거기(1300)는 선형 에코(X'(κ, m)), 그리고 마이크로폰 신호(Y(κ, m))에서 선형 에코(X'(κ, m))가 제거된 출력 신호(E(κ, m))를 잔여 에코 억제기(1400)로 제공할 수 있다.
잔여 에코 억제기(1400)는 마이크로폰 신호(Y(κ, m)), 선형 에코(X'(κ, m)), 추정된 잔여 에코, 및 출력 신호(E(κ, m))를 수신할 수 있다. 본 발명의 실시 예에 따른 잔여 에코 억제기(1400)는 마이크로폰 신호(Y(κ, m)), 선형 에코(X'(κ, m)), 및 추정된 잔여 에코를 이용하여 잔여 에코를 억제하기 위한 억제 게인(G(κ, m))을 계산할 수 있다. 잔여 에코 억제기(1400)는 억제 게인(G(κ, m))과 출력 신호(E(κ, m))를 곱하여 출력 신호(R(κ, m))를 생성할 수 있다.
역 주파수 변환 모듈(1500)은 잔여 에코 억제기(1400)로부터 출력 신호(R(κ, m))를 수신할 수 있다. 역 주파수 변환 모듈(1500)은 주파수 영역의 출력 신호(R(κ, m))를 시간 영역으로 변환할 수 있다. 예를 들어, 역 주파수 변환 모듈(1500)은 역 MCLT, 역 FT, 역 STFT, 역 DFT, 역 FFT 등에 기초하여 변환 동작을 수행할 수 있다.
도 3a는 본 발명의 일 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다. 잔여 에코 억제기(1400a)는 잔여 에코 추정기(1410a), 노이즈 추정기(1420), 제 1 내지 제 3 스무딩 계산기들(1431~1433), 게인 계산기(1440), 및 곱셈기(1450)를 포함할 수 있다. 잔여 에코 억제기(1400a)는 도 2의 잔여 에코 억제기(1400)의 일 실시 예일 수 있다.
잔여 에코 추정기(1410a)는 선형 에코(X'(κ, m)) 및 메모리(120)에 저장된 과거(past) 프레임들에서의 선형 에코들(X'(κ-t, m))을 수신할 수 있다. 도 2의 도시와 달리, 잔여 에코 추정기(1410a)는 마이크로폰 신호(Y(κ, m)를 수신하지 않을 수도 있다. 잔여 에코 추정기(1410a)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기 및 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00001
)의 크기를 추정할 수 있다. 예를 들어, 현재 프레임에서의 잔여 에코(
Figure pat00002
)의 크기는 수학식 1에 의해 계산될 수 있다.
Figure pat00003
Figure pat00004
수학식 1에서, i는 기본 주파수 밴드(fundamental frequency band)이고, M은 서브-밴드들의 개수이고, j는 하모닉이고, H는 고려되는 하모닉들의 개수이고, 2K+1은 (알파벳) k 인덱스로 하모닉 검색 윈도우의 길이이고, m은 주파수 빈 인덱스(frequency bin index)이고, W R (i, j, k)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기에 적용되는 가중치들이고, T는 인덱스 t로 추정을 위한 과거 프레임들의 개수이고, W T1 (t, m)은 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들에 적용되는 가중치들이다. 가중치들(W R (i, j, k), W T1 (t, m))은 잔여 에코 추정기(1410a)에 의해 적응적으로 업데이트될 수 있다.
본 발명의 일 실시 예에 따르면, 잔여 에코 추정기(1410a)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기뿐만 아니라, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00005
)의 크기를 추정할 수 있다. 잔여 에코(
Figure pat00006
)의 크기를 계산하는데 선형 에코(X'(κ, m))의 시간 상관 관계가 사용될 수 있다. 따라서, AEC 시스템(1000)의 ERLE(echo return loss enhancement)가 개선될 수 있다.
과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들은 메모리(120)에 저장될 수 있다. 전술한대로, 메모리(120)는 임의의 형태의 저장 매체일 수 있다. 메모리(120)는 어플리케이션 프로세서(100) 내부의 레지스터들, TCM(tightly coupled memory), 또는 SRAM(static random access memory)일 수 있다. 메모리(120)는 어플리케이션 프로세서(100) 외부의 DRAM(dynamic random access memory)일 수 있다. 현재 프레임에서의 선형 에코(X'(κ, m))의 크기도 메모리(120)에 저장될 수 있다. 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들 및 현재 프레임에서의 선형 에코(X'(κ, m))의 크기가 모두 다음 프레임에서의 잔여 에코(
Figure pat00007
)의 크기를 추정하는데 사용될 수 있다.
노이즈 추정기(1420)는 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기를 이용하여 노이즈(N(κ, m))의 크기를 추정할 수 있다. 예를 들어, 노이즈 추정기(1420)는 최소 통계(minimum statics)에 따라 노이즈(N(κ, m))의 크기를 계산할 수 있다.
제 1 내지 제 3 스무딩 계산기들(1431~1433)은 잔여 에코(
Figure pat00008
)의 크기, 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기, 및 노이즈(N(κ, m))의 크기에 대한 스무딩 연산들을 각각 실행할 수 있다. 제 1 내지 제 3 스무딩 계산기들(1431~1433)은 잔여 에코(
Figure pat00009
)의 크기, 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기, 및 노이즈(N(κ, m))의 크기에 회귀적인 평균을 취할 수 있다. 예를 들어, 잔여 에코, 선형 에코 제거기(1300)의 출력 신호, 및 노이즈의 스무딩된 크기들은 수학식 2 내지 수학식 4에 의해 계산될 수 있다.
Figure pat00010
Figure pat00011
Figure pat00012
수학식 2 내지 수학식 4에서, α1, α2, 및 α3는 0과 1 사이의 변수들이고 서로 동일하거나 상이할 수 있다.
게인 계산기(1440)는 잔여 에코, 선형 에코 제거기(1300)의 출력 신호, 및 노이즈의 스무딩된 크기들을 이용하여 선형 에코 제거기(1300)의 출력 신호(E(κ, m))와 곱해지는 억제 게인(G(κ, m))을 계산할 수 있다. 게인 계산기(1440)는 다양한 연산 기법들을 이용하여 억제 게인(G(κ, m))을 계산할 수 있다. 예를 들어, 억제 게인(G(κ, m))은 스펙트럼 차감법(Spectral subtraction)에 기초하여 수학식 5에 의해 계산될 수 있다.
Figure pat00013
수학식 5에서 β는 0과 1 사이의 변수이다.
다른 예를 들어, 억제 게인(G(κ, m))은 위너 필터(wiener filter)에 기초하여 수학식 6에 의해 계산될 수 있다.
Figure pat00014
수학식 6에서
Figure pat00015
는 수학식 7에 의해 계산될 수 있다.
Figure pat00016
수학식 7에서, α4는 0과 1 사이의 변수이고, u(·)는 단위 계단 함수이고, 그리고
Figure pat00017
는 수학식 8에 의해 계산될 수 있다.
Figure pat00018
수학식 8에서, α5는 0과 1 사이의 변수이다.
또 다른 예를 들어, 억제 게인(G(κ, m))은 MMSE-STSA(minimum mean square error - short time spectral amplitude estimator)에 기초하여 수학식 9에 의해 계산될 수 있다.
Figure pat00019
수학식 9에서,
Figure pat00020
는 감마(gamma) 함수이고, v(κ, m)는 수학식 10에 의해 계산될 수 있고, 그리고 M(·;·;·)는 Confluent hypergeometric 함수일 수 있다.
Figure pat00021
곱셈기(1450)는 선형 에코 제거기(1300)의 출력 신호(E(κ, m))에 억제 게인(G(κ, m))을 곱하여 출력 신호(R(κ, m))를 생성할 수 있다.
도 3b는 본 발명의 다른 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다. 잔여 에코 억제기(1400b)는 잔여 에코 추정기(1410b), 노이즈 추정기(1420), 제 1 내지 제 3 스무딩 계산기(1431~1433), 게인 계산기(1440), 및 곱셈기(1450)를 포함할 수 있다. 잔여 에코 억제기(1400b)는 도 2의 잔여 에코 억제기(1400)의 일 실시 예일 수 있다. 잔여 에코 추정기(1410b)와 잔여 에코 추정기(1410a) 간의 차이점이 주로 설명될 것이고 나머지 구성 요소들(1420~1450)은 도 3a를 참조하여 설명되었다.
잔여 에코 추정기(1410b)는 선형 에코(X'(κ, m)) 및 메모리(120)에 저장된 과거 프레임들에서의 선형 에코들(X'(κ-t, m))을 수신할 수 있다. 도 2의 도시와 달리, 잔여 에코 추정기(1410a)는 마이크로폰 신호(Y(κ, m)를 수신하지 않을 수도 있다. 잔여 에코 추정기(1410b)는 메모리(120)에 저장된 과거 프레임들에서의 잔여 에코들(
Figure pat00022
)을 더 수신할 수 있다. 잔여 에코 추정기(1410b)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 및 과거 프레임들에서의 잔여 에코들(
Figure pat00023
)의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00024
)의 크기를 추정할 수 있다. 예를 들어, 현재 프레임에서의 잔여 에코(
Figure pat00025
)의 크기는 수학식 11에 의해 계산될 수 있다.
Figure pat00026
W T2 (t, m)은 과거 프레임들에서의 잔여 에코들(
Figure pat00027
)의 크기들에 적용되는 가중치들이다. 가중치들(W T2 (t, m))은 잔여 에코 추정기(1410b)에 의해 적응적으로 업데이트될 수 있다. 본 발명의 다른 실시 예에 따르면, 잔여 에코 추정기(1410b)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기뿐만 아니라, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 과거 프레임들에서의 잔여 에코들(
Figure pat00028
)의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00029
)의 크기를 추정할 수 있다. 잔여 에코(
Figure pat00030
)의 크기를 계산하는데 선형 에코(X'(κ, m))의 시간 상관 관계 및 잔여 에코(
Figure pat00031
)의 시간 상관 관계가 사용될 수 있다. 따라서, 도 3a의 잔여 에코 추정기(1410a)에 의한 ERLE보다 잔여 에코 추정기(1410b)에 의한 ERLE가 더 개선될 수 있다.
과거 프레임들에서의 잔여 에코들(
Figure pat00032
)의 크기들은 메모리(120)에 저장될 수 있다. 현재 프레임에서의 잔여 에코(
Figure pat00033
)의 크기도 메모리(120)에 저장될 수 있다. 과거 프레임들에서의 잔여 에코들(
Figure pat00034
)의 크기들, 현재 프레임에서의 잔여 에코(
Figure pat00035
)의 크기, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 및 현재 프레임에서의 선형 에코(X'(κ, m))의 크기가 모두 다음 프레임에서의 잔여 에코(
Figure pat00036
)의 크기를 추정하는데 사용될 수 있다.
도 3c는 본 발명의 또 다른 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다. 잔여 에코 억제기(1400c)는 잔여 에코 추정기(1410c), 노이즈 추정기(1420), 제 1 내지 제 3 스무딩 계산기(1431~1433), 게인 계산기(1440), 및 곱셈기(1450)를 포함할 수 있다. 잔여 에코 억제기(1400c)는 도 2의 잔여 에코 억제기(1400)의 일 실시 예일 수 있다. 잔여 에코 추정기(1410c)와 잔여 에코 추정기(1410a) 간의 차이점이 주로 설명될 것이고 나머지 구성 요소들(1420~1450)은 도 3a를 참조하여 설명되었다.
잔여 에코 추정기(1410c)는 선형 에코(X'(κ, m)) 및 메모리(120)에 저장된 과거 프레임들에서의 선형 에코들(X'(κ-t, m))을 수신할 수 있다. 잔여 에코 추정기(1410b)는 마이크로폰 신호(Y(κ, m)) 및 메모리(120)에 저장된 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))을 더 수신할 수 있다. 잔여 에코 추정기(1410c)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기, 및 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00037
)의 크기를 추정할 수 있다. 예를 들어, 현재 프레임에서의 잔여 에코(
Figure pat00038
)의 크기는 수학식 12에 의해 계산될 수 있다.
Figure pat00039
W T3 (t, m)은 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기 및 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들에 적용되는 가중치들이다. 가중치들(W T3 (t, m))은 잔여 에코 추정기(1410c)에 의해 적응적으로 업데이트될 수 있다. 본 발명의 또 다른 실시 예에 따르면, 잔여 에코 추정기(1410c)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기뿐만 아니라, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기, 및 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00040
)의 크기를 추정할 수 있다. 잔여 에코(
Figure pat00041
)의 크기를 계산하는데 선형 에코(X'(κ, m))의 시간 상관 관계 및 마이크로폰 신호(Y(κ, m))의 시간 상관 관계가 사용될 수 있다. 따라서, 도 3a의 잔여 에코 추정기(1410a)에 의한 ERLE보다 잔여 에코 추정기(1410c)에 의한 ERLE가 더 개선될 수 있다.
과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들은 메모리(120)에 저장될 수 있다. 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기도 메모리(120)에 저장될 수 있다. 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들, 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 및 현재 프레임에서의 선형 에코(X'(κ, m))의 크기가 모두 다음 프레임에서의 잔여 에코(
Figure pat00042
)의 크기를 추정하는데 사용될 수 있다.
도 3d는 본 발명의 또 다른 실시 예에 따른 도 2의 잔여 에코 억제기를 예시적으로 도시한다. 잔여 에코 억제기(1400d)는 잔여 에코 추정기(1410d), 노이즈 추정기(1420), 제 1 내지 제 3 스무딩 계산기(1431~1433), 게인 계산기(1440), 및 곱셈기(1450)를 포함할 수 있다. 잔여 에코 억제기(1400d)는 도 2의 잔여 에코 억제기(1400)의 일 실시 예일 수 있다. 잔여 에코 추정기(1410d)와 잔여 에코 추정기(1410a) 간의 차이점이 주로 설명될 것이고 나머지 구성 요소들(1420~1450)은 도 3a를 참조하여 설명되었다.
잔여 에코 추정기(1410d)는 선형 에코(X'(κ, m)) 및 메모리(120)에 저장된 과거 프레임들에서의 선형 에코들(X'(κ-t, m))을 수신할 수 있다. 잔여 에코 추정기(1410b)는 메모리(120)에 저장된 과거 프레임들에서의 잔여 에코들(
Figure pat00043
), 마이크로폰 신호(Y(κ, m)), 및 메모리(120)에 저장된 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))을 더 수신할 수 있다. 잔여 에코 추정기(1410d)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 과거 프레임들에서의 잔여 에코들(
Figure pat00044
)의 크기들, 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기, 및 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00045
)의 크기를 추정할 수 있다. 예를 들어, 현재 프레임에서의 잔여 에코(
Figure pat00046
)의 크기는 수학식 13에 의해 계산될 수 있다.
Figure pat00047
가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))은 잔여 에코 추정기(1410d)에 의해 적응적으로 업데이트될 수 있다. 본 발명의 또 다른 실시 예에 따르면, 잔여 에코 추정기(1410d)는 현재 프레임에서의 선형 에코(X'(κ, m))의 크기뿐만 아니라, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 과거 프레임들에서의 잔여 에코들(
Figure pat00048
)의 크기들, 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기, 및 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들을 이용하여 현재 프레임에서의 잔여 에코(
Figure pat00049
)의 크기를 추정할 수 있다. 잔여 에코(
Figure pat00050
)의 크기를 계산하는데 선형 에코(X'(κ, m))의 시간 상관 관계, 잔여 에코(
Figure pat00051
)의 시간 상관 관계, 및 마이크로폰 신호(Y(κ, m))의 시간 상관 관계가 사용될 수 있다. 따라서, 도 3a 내지 도 3c의 잔여 에코 추정기들(1410a~1410c)에 의한 ERLE보다 잔여 에코 추정기(1410d)에 의한 ERLE가 더 개선될 수 있다.
과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들은 메모리(120)에 저장될 수 있다. 현재 프레임에서의 선형 에코(X'(κ, m))의 크기도 메모리(120)에 저장될 수 있다. 과거 프레임들에서의 잔여 에코들(
Figure pat00052
)의 크기들은 메모리(120)에 저장될 수 있다. 현재 프레임에서의 잔여 에코(
Figure pat00053
)의 크기도 메모리(120)에 저장될 수 있다. 과거 프레임들에서의 마이크로폰 신호들(Y(κ-t, m))의 크기들, 현재 프레임에서의 마이크로폰 신호(Y(κ, m))의 크기, 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 현재 프레임에서의 선형 에코(X'(κ, m))의 크기, 과거 프레임들에서의 잔여 에코들(
Figure pat00054
)의 크기들, 및 현재 프레임에서의 잔여 에코(
Figure pat00055
)의 크기가 모두 다음 프레임에서의 잔여 에코(
Figure pat00056
)의 크기를 추정하는데 사용될 수 있다.
실시 예에 있어서, 잔여 에코 추정기들(1410a~1410d) 각각은 하드웨어 구성 요소(들), 회로(들), 또는 모듈(들)을 이용하여 구현되는 하드웨어 가속기(즉, 프로세서)일 수 있다. 하드웨어 가속기는 도 1에서 전술한 오디오 프로세서(110)와 함께 AEC 시스템(1000)을 실행할 수 있다. 하드웨어 가속기는 도 3a 내지 도 3d를 참조하여 설명된 잔여 에코 추정기들(1410a~1410d)의 연산들을 실행할 수 있고 오디오 프로세서(110)는 AEC 시스템(1000)의 나머지 연산들을 실행할 수 있다. 다른 실시 예에 있어서, 잔여 에코 추정기들(1410a~1410d) 각각은 소프트웨어 구성 요소로서 오디오 프로세서(110)에 의해 실행될 수도 있다.
도 4는 본 발명의 일 실시 예에 따른 도 1의 전자 장치를 예시적으로 도시한다. 도 4는 도 2 그리고 도 3a 내지 도 3d를 참조하여 설명될 것이다. 전자 장치(10)는 어플리케이션 프로세서(100) 및 메모리(200)를 포함할 수 있다. 어플리케이션 프로세서(100)는 오디오 프로세서(110) 및 메모리(120)를 포함할 수 있다. 어플리케이션 프로세서(100)에서 선형 에코 제거기(1300) 및 잔여 에코 억제기(1400)를 포함하는 AEC 시스템(1000)이 실행될 수 있다.
메모리(120)는 어플리케이션 프로세서(100)의 내부에 위치하는 레지스터들, TCM, 또는 SRAM일 수 있다. 메모리(200)는 어플리케이션 프로세서(100)의 외부에 위치하는 DRAM일 수 있다. 도 2 그리고 도 3a 내지 도 3d를 참조하여 설명된, 현재 프레임에서의 선형 에코(X'(κ, m))의 크기, 마이크로폰 신호(Y(κ, m))의 크기, 및 잔여 에코(
Figure pat00057
)의 크기는 메모리(120)뿐만 아니라 메모리(200)에 더 저장될 수 있다. 예를 들어, 메모리(120)는 상술한 크기들의 적어도 일부 또는 전부를 저장하는 캐시 메모리로서 동작할 수 있다. 다른 예를 들어, 상술한 크기들은 메모리(200)에도 저장될 수도 있다. 상술한 크기들은 메모리(200)가 지원하는 프로토콜(예를 들어, DDR(double data rate) 인터페이스)에 기초하여 어플리케이션 프로세서(100)에서 메모리(200)로 프레임 단위로 전송될 수 있다.
메모리(200)에 저장된 현재 프레임에서의 선형 에코(X'(κ, m))의 크기, 마이크로폰 신호(Y(κ, m))의 크기, 및 잔여 에코(
Figure pat00058
)의 크기는 다음 프레임의 잔여 에코(
Figure pat00059
)의 크기를 추정하는데 사용되고 그리고 과거 프레임에서의 크기들에 해당할 수 있다. 메모리(200)는 저장된 크기들을 과거 프레임들에서의 선형 에코들(X'(κ-t, m))의 크기들, 마이크로폰 신호들(Y(κ-t, m))의 크기들, 및 잔여 에코들(
Figure pat00060
)의 크기들로서 어플리케이션 프로세서(100)로 전송할 수 있다.
또한, 현재 및 과거 프레임들에서의 선형 에코들(X'(κ, m), X'(κ-t, m))의 크기들, 마이크로폰 신호들(Y(κ, m))의 크기들, 그리고 잔여 에코들(
Figure pat00061
)의 크기들에 적용되는 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))은 메모리(120)뿐만 아니라 메모리(200)에 더 저장될 수 있다. 메모리(200)는 저장된 가중치들을 어플리케이션 프로세서(100)로 전송할 수 있다. 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))은 적응적으로 업데이트될 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 도 1의 AEC 시스템을 예시적으로 도시한다. 도 5는 도 2 그리고 도 3a 내지 도 3d를 참조하여 설명될 것이다.
AEC 시스템(1000)은 제 1 및 제 2 주파수 변환 모듈들(1100, 1200), 선형 에코 제거기(1300), 잔여 에코 억제기(1400), 및 역 주파수 변환(IFT) 모듈(1500)을 포함할 수 있다. 도 5의 AEC 시스템(1000)은 도 2의 AEC 시스템(1000)과 유사하게 구현되거나 실행될 수 있다. AEC 시스템(1000)은 더블 토크 검출기(1600)를 더 포함할 수 있다.
더블 토크 검출기(1600)는 기준 신호 및 마이크로폰 신호를 이용하여 더블 토크가 발생하였는지 여부를 검출할 수 있다. 더블 토크는 원단 화자의 음성과 근단 화자의 음성이 함께 전자 장치(10)로 입력되는 상황을 나타낼 수 있다. 예를 들어, 더블 토크 검출기(1600)는 기준 신호의 크기와 마이크로폰 신호의 크기를 비교하거나 기준 신호와 마이크로폰 신호 간의 상관 관계에 기초하여 더블 토크를 검출할 수 있다.
실시 예에 있어서, 더블 토크 검출기(1600)에 의해 더블 토크가 검출되면, 잔여 에코 추정기들(1410b~1410d)의 추정 방식이 변경될 수 있다. 예를 들어, 잔여 에코 추정기들(1410b~1410d)에 의해 각각 추정되는 현재 프레임의 잔여 에코(
Figure pat00062
)의 크기들은 수학식 14 내지 수학식 16에 의해 각각 계산될 수 있다.
Figure pat00063
Figure pat00064
Figure pat00065
수학식 14 내지 수학식 16에서 g(·)는 더블 토크에 관련된 함수이다. 더블 토크가 검출되면, 현재 및 과거 프레임들의 마이크로폰 신호들(Y(κ-t, m))의 크기들과 과거 프레임들의 잔여 에코들(
Figure pat00066
)의 크기들이 모두 사용되지 않을 수 있고(비활성화될 수 있고) 추정되는 현재 프레임의 잔여 에코(
Figure pat00067
)의 크기에 반영되지 않을 수 있다. 더블 토크가 검출되지 않으면, 전술한 바와 같이, 잔여 에코 추정기들(1410a~1410d)은 수학식 1 그리고 수학식 11 내지 수학식 13에 의해 계산되는 현재 프레임의 잔여 에코(
Figure pat00068
)의 크기들을 추정할 수 있다.
도 6은 본 발명의 실시 예에 따라 잔여 에코의 크기를 추정하는 순서도를 예시적으로 도시한다. 도 6은 도 1 내지 도 5를 참조하여 설명될 것이다. 이하의 설명에서, 잔여 에코 억제기(1400)는 도 3a 내지 도 3d의 잔여 에코 억제기들(1400a~1400d) 중 어느 하나를 나타내고 그리고 잔여 에코 억제기(1400)의 잔여 에코 추정기(1410)는 도 3a 내지 도 3d의 잔여 에코 추정기들(1410a~1410d) 중 어느 하나를 나타낼 수 있다.
S110 단계에서, 잔여 에코 추정기(1410)는 현재 및 과거 프레임들의 선형 에코들(X'(κ, m), X'(κ-t, m))의 크기들, 과거 프레임들의 잔여 에코들(
Figure pat00069
)의 크기들, 및 현재 및 과거 프레임들의 마이크로폰 신호들(Y(κ, m), Y(κ-t, m))의 크기들을 선택적으로 이용하여 현재 프레임의 잔여 에코(
Figure pat00070
)의 크기를 추정할 수 있다. S110 단계의 세부 단계들은 도 7 및 도 8에서 후술될 것이다.
S120 단계에서, 잔여 에코 추정기(1410)는 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기와 잔여 에코(
Figure pat00071
)의 크기 간의 차이가 최소가 되도록 S110 단계의 추정에서 선택적으로 사용된 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))의 적어도 일부를 업데이트할 수 있다. 상술한 차이는 수학식 17과 같다.
Figure pat00072
잔여 에코 추정기(1410)는 수학식 17의 차이를 이용하여 S110 단계의 추정에서 선택적으로 사용된 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))의 적어도 일부를 업데이트할 수 있다. 잔여 에코 추정기(1410)는 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))을 최적화하기 위한 적응 알고리즘으로 NLMS(normalized least mean square), RLS(recursive least square), 칼만 필터 등을 이용할 수 있다. 예를 들어, NLMS가 이용되는 경우, 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))은 수학식 18과 같이 최적화될 수 있다. 수학식 18에서 화살표 방향으로 가중치들이 업데이트될 수 있고 그리고 P1, P2, P3는 각각 선형 에코(X'(κ, m)), 잔여 에코(
Figure pat00073
)), 및 마이크로폰 신호(Y(κ, m))의 파워 스무딩들일 수 있다.
Figure pat00074
Figure pat00075
Figure pat00076
Figure pat00077
다른 예를 들어, RLS가 이용되는 경우, 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))은 수학식 19 내지 수학식 21과 같이 최적화될 수 있다. 수학식 19에서 화살표 방향으로 가중치들이 업데이트될 수 있다.
Figure pat00078
Figure pat00079
Figure pat00080
Figure pat00081
Figure pat00082
Figure pat00083
Figure pat00084
Figure pat00085
Figure pat00086
Figure pat00087
Figure pat00088
Figure pat00089
실시 예에 있어서, 잔여 에코 추정기(1410)는 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기와 잔여 에코(
Figure pat00090
)의 크기 간의 차이가 최소가 되도록 사용된 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))을 업데이트하는 인공 신경망을 실행할 수 있다. 인공 신경망은 상술한 차이가 최소가 되도록 상술한 적응 알고리즘에 기초하여 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m))을 학습할 수 있다. 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기는 실제 잔여 에코의 크기를 나타내므로, 차이의 이상적인 값은 예를 들어, 0일 수 있다.
S130 단계에서, 제 1 내지 제 3 스무딩 계산기들(1431~1433)은 잔여 에코(
Figure pat00091
)의 크기, 선형 에코 제거기(1300)의 출력 신호(E(κ, m))의 크기, 및 노이즈(N(κ, m))의 크기에 대한 스무딩 연산들을 각각 실행할 수 있다. S140 단계에서, 게인 계산기(1440)는 게인 계산기(1440)는 잔여 에코, 선형 에코 제거기(1300)의 출력 신호, 및 노이즈의 스무딩된 크기들을 이용하여 선형 에코 제거기(1300)의 출력 신호(E(κ, m))와 곱해지는 억제 게인(G(κ, m))을 계산할 수 있다. S150 단계에서, 곱셈기(1450)는 선형 에코 제거기(1300)의 출력 신호(E(κ, m))에 억제 게인(G(κ, m))을 곱하여 출력 신호(R(κ, m))를 생성할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 도 6의 S110 단계의 상세한 단계들을 예시적으로 도시한다.
S111a 단계에서, 잔여 에코 추정기(1410)는 유저 입력에 기초하여 AEC 모드를 선택할 수 있다. 여기서, 유저는 전자 장치(10)의 유저, 어플리케이션 프로세서(100)가 지원하는 OS(operating system), 응용 프로그램, 원단 화자, 근단 화자 등과 같은 다양한 대상을 나타낼 수 있다. 예를 들어, 잔여 에코 추정기(1410)는 5개 AEC 모드들을 지원할 수 있다. 물론, AEC 모드들의 개수는 상술한 것에 한정되지 않는다.
제 1 모드가 선택된 경우, S112a 단계에서, 잔여 에코 추정기(1410)는 현재 프레임의 선형 에코(X'(κ, m))의 크기만을 이용하여 잔여 에코(
Figure pat00092
)의 크기를 추정할 수 있다. 제 1 모드는 디폴트(default) 모드로서 선형 에코의 시간 상관 관계, 잔여 에코의 시간 상관 관계, 및 마이크로폰 신호의 시간 상관 관계가 잔여 에코(
Figure pat00093
)의 크기를 추정하는데 사용되지 않을 수 있다.
제 2 모드가 선택된 경우, S113a 단계에서, 잔여 에코 추정기(1410)는 현재 프레임의 선형 에코(X'(κ, m))의 크기에 과거 프레임들의 선형 에코들(X'(κ-t, m))의 크기들을 더 이용하여 잔여 에코(
Figure pat00094
)의 크기를 추정할 수 있다(도 3a의 잔여 에코 추정기(1410a) 참조). 제 2 모드가 선택되면 선형 에코의 시간 상관 관계가 잔여 에코(
Figure pat00095
)의 크기를 추정하는데 더 사용될 수 있다. 따라서, 제 2 모드가 선택된 경우의 AEC 시스템(1000)의 ERLE는 제 1 모드가 선택된 경우보다 더 개선될 수 있다.
제 3 모드가 선택된 경우, S114a 단계에서, 잔여 에코 추정기(1410)는 현재 프레임의 선형 에코(X'(κ, m))의 크기에 과거 프레임들의 선형 에코들(X'(κ-t, m))의 크기들과 과거 프레임들의 잔여 에코들(
Figure pat00096
)의 크기들을 더 이용하여 잔여 에코(
Figure pat00097
)의 크기를 추정할 수 있다(도 3b의 잔여 에코 추정기(1410b) 참조). 제 3 모드가 선택되면 선형 에코의 시간 상관 관계 및 잔여 에코의 시간 상관 관계가 잔여 에코(
Figure pat00098
)의 크기를 추정하는데 더 사용될 수 있다. 따라서, 제 3 모드가 선택된 경우의 AEC 시스템(1000)의 ERLE는 제 1 또는 제 2 모드들이 선택된 경우보다 더 개선될 수 있다.
제 4 모드가 선택된 경우, S115a 단계에서, 잔여 에코 추정기(1410)는 현재 프레임의 선형 에코(X'(κ, m))의 크기에 과거 프레임들의 선형 에코들(X'(κ-t, m))의 크기들과 현재 및 과거 프레임들의 마이크로폰 신호들(Y(κ, m), Y(κ-t, m))의 크기들을 더 이용하여 잔여 에코(
Figure pat00099
)의 크기를 추정할 수 있다(도 3c의 잔여 에코 추정기(1410c) 참조). 제 4 모드가 선택되면 선형 에코의 시간 상관 관계 및 마이크로폰 신호의 시간 상관 관계가 잔여 에코(
Figure pat00100
)의 크기를 추정하는데 더 사용될 수 있다. 따라서, 제 4 모드가 선택된 경우의 AEC 시스템(1000)의 ERLE는 제 1 또는 제 2 모드들이 선택된 경우보다 더 개선될 수 있다.
제 5 모드가 선택된 경우, S116a 단계에서, 잔여 에코 추정기(1410)는 현재 프레임의 선형 에코(X'(κ, m))의 크기에, 과거 프레임들의 선형 에코들(X'(κ-t, m))의 크기들, 과거 프레임들의 잔여 에코들(
Figure pat00101
)의 크기들, 및 현재 및 과거 프레임들의 마이크로폰 신호들(Y(κ, m), Y(κ-t, m))의 크기들, 및 을 더 이용하여 잔여 에코(
Figure pat00102
)의 크기를 추정할 수 있다(도 3d의 잔여 에코 추정기(1410d) 참조). 제 5 모드가 선택되면 선형 에코의 시간 상관 관계, 잔여 에코의 시간 상관 관계, 및 마이크로폰 신호의 시간 상관 관계가 잔여 에코(
Figure pat00103
)의 크기를 추정하는데 더 사용될 수 있다. 따라서, 제 5 모드가 선택된 경우의 AEC 시스템(1000)의 ERLE는 제 1 또는 제 4 모드들이 선택된 경우보다 더 개선될 수 있다.
다만, 제 2 내지 제 5 모드들이 선택된 경우에 제 1 모드가 선택된 경우보다 가중치들을 업데이트하고 잔여 에코의 크기를 추정하는데 필요한 연산량이 증가할 수 있다. 따라서, 유저는 ERLE와 전자 장치(10)의 하드웨어 자원(resource)을 고려하여 제 1 내지 제 5 모드들 중 어느 하나를 적절히 선택할 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 도 6의 S110 단계의 상세한 단계들을 예시적으로 도시한다.
S111b 단계에서, 잔여 에코 억제기(1400)는 과거 프레임의 ERLE에 기초하여 AEC 모드를 선택할 수 있다. 잔여 에코 억제기(1400)는 제 1 내지 제 5 모드들 중 이전에 선택된 모드에 따른 과거 프레임의 잔여 에코의 크기를 추정하고 그리고 ERLE를 평가할 수 있다. 잔여 에코 억제기(1400)는 ERLE와 기준치를 비교하여 이전에 선택된 모드를 변경할 수 있다. 예를 들어, ERLE가 기준치에 미치지 못하면, 잔여 에코 억제기(1400)는 더 높은 ERLE를 기대할 수 있는 제 2 내지 제 5 모드들 중 어느 하나를 선택할 수 있다. 다른 예를 들어, ERLE가 기준치보다 훨씬 높으면, 잔여 에코 억제기(1400)는 연산량 감소를 위해 제 1 내지 제 5 모드들 중 어느 하나를 선택할 수 있다. S112b 내지 S116b 단계들은 도 7의 S112a 내지 S116a 단계들과 실질적으로 동일하다.
도 9는 본 발명의 일 실시 예에 따른 전자 장치를 예시적으로 도시한다. 전자 장치(2000)는 도 1의 전자 장치(10)일 수 있다. 전자 장치(2000)는 MIPI(Mobile Industry Processor Interface) 연합(Alliance)에 의해 제안된 인터페이스를 이용하거나 지원할 수 있는 데이터 처리 장치로 구현될 수 있다. 예를 들어, 전자 장치(2000)는 디지털 카메라, 비디오 캠코더, 스마트폰, 태블릿, 웨어러블 장치(예컨대, 스마트 워치, 스마트 밴드 등), 스마트 스피커, 인공 지능 기반의 음성 인식 장치, 의료 기기, 네비게이션 장치, 가전 제품 등일 수 있다. 전자 장치(2000)는 모바일 통신, 컨퍼런스 콜(conference call) 등에 사용될 수 있다. 전자 장치(2000)는 스피커(2001) 및 마이크로폰(2002)을 모두 포함하는 임의의 장치일 수 있다.
전자 장치(2000)의 음성 정보를 처리하기 위한 스피커(2001) 및 마이크로폰(2002)을 포함할 수 있다. 스피커(2001) 및 마이크로폰(2002)은 도 1에서 전술한 스피커(11) 및 마이크로폰(12)일 수 있다.
전자 장치(2000)는 통신 모듈(2003)을 통해 외부 시스템 또는 외부 장치(예를 들어, 도 1의 전자 장치(20))와 통신할 수 있다. 통신 모듈(2003)은 LTE(Long Term Evolution), WiMax(Worldwide Interoperability for Microwave Access), GSM(Global System for Mobile communication), CDMA(Code Division Multiple Access), Bluetooth, NFC(Near Field Communication), Wi-Fi(Wireless Fidelity), RFID(Radio Frequency Identification) 등과 같은 다양한 무선 통신 규약 중 적어도 하나를 지원할 수 있다. 통신 모듈(2003)은 어플리케이션 프로세서(2100)에 내장될 수도 있다.
전자 장치(2000)는 스토리지(2004)를 포함할 수 있다. 스토리지(2004)는 도 4에서 전술한 메모리(200)에 대응하거나 또는 메모리(200)와 별개로 구현되는 이차적인 메모리로서 메모리(200)에 저장된 데이터가 백업될 수 있다. 스토리지(2004)는 전원 공급에 관계없이 전술한 가중치들(W R (i, j, k), W T1 (t, m), W T2 (t, m), W T3 (t, m)) 및 AEC 시스템(1000)을 실행하기 위한 프로그램 코드를 저장하거나 백업할 수 있다. 스토리지(2004)는 불휘발성 메모리를 포함할 수 있다. 스토리지(2004)는 SD(Secure Digital) 카드, eMMC(Embedded Multimedia Card) 카드 등과 같은 장치들일 수 있다.
전자 장치(2000)의 디스플레이(2005)는 어플리케이션 프로세서(2100)의 제어에 따라 유저와 인터페이스를 수행할 수 있다. 예를 들어, 유저는 디스플레이(2005)를 통해 전술한 AEC 시스템(1000)을 활성화할 수 있다. 더 세부적으로, 유저는 AEC 시스템(1000)을 활성화하고 그리고 AEC 시스템(1000)이 지원하는 모드들(도 7 및 도 8의 제 1 내지 제 5 모드들) 중 하나를 선택할 수 있다(S111a, S111b 단계들 참조). 예를 들어, 유저가 노멀 모드를 선택하는 경우, AEC 시스템(1000)은 제 1 모드에 따라 잔여 에코의 크기를 추정할 수 있다. 다른 예를 들어, 유저가 강화(enhanced) 모드를 선택하는 경우, AEC 시스템(1000)은 제 2 내지 제 5 모드들 중 어느 하나에 따라 잔여 에코의 크기를 추정할 수 있다. 물론, 유저는 디스플레이(2005) 이외 전자 장치(2000)의 다른 입출력 방식을 통해 AEC 시스템(1000)의 모드들 중 어느 하나를 선택할 수도 있다.
어플리케이션 프로세서(2100)는 전자 장치(2000)의 전반적인 동작을 제어할 수 있다. 어플리케이션 프로세서(2100)는 시스템-온-칩(System-on-Chip) 형태로 구현될 수 있다. 어플리케이션 프로세서(2100)는 오디오 프로세서(2110), 메인 프로세서(2120), 메모리(2130), 및 입출력 인터페이스(2140)를 포함할 수 있다. 오디오 프로세서(2110)는 전술한 오디오 프로세서(110)일 수 있고 메모리(2130)는 전술한 메모리(120)일 수 있다.
메인 프로세서(2120)는 오디오 프로세서(2110)와 별개로 어플리케이션 프로세서(2100)의 전반적인 동작을 제어할 수 있다. 메인 프로세서(2120)는 어플리케이션 프로세서(2100)가 지원하는 다양한 소프트웨어들(응용 프로그램, 운영 체제, 장치 드라이버 등)을 메모리(2130)에 로드하고 실행할 수 있다. 메인 프로세서(2120)는 하나 이상의 CPU(Central Processing Unit)들 또는 하나 이상의 GPU(graphics processing unit)들, 즉 하나 이상의 코어들을 포함할 수 있다.
메모리(2130)에는 메인 프로세서(2120)에 의해 실행되는 소프트웨어들, 프로그램, 또는 프로그램 코드가 로드될 수 있다. 예를 들어, 프로그램 또는 프로그램 코드는 커널, 미들웨어, API(application programming interface), 및 응용 프로그램들(AP1~AP4)을 포함할 수 있다. 커널, 미들웨어, 및 API의 적어도 일부는 OS로 지칭될 수 있다. 커널은 다른 프로그램들(미들웨어, API, 응용 프로그램들(AP1~AP4)에 의한 동작들 또는 기능들을 실행하는데 사용되는 자원(메모리(2130), 스토리지(2004))을 관리할 수 있다. 미들웨어는 API 또는 응용 프로그램들(AP1~AP4)과 커널 간의 데이터를 교환을 위한 중개자 역할을 수행할 수 있다. API는 응용 프로그램들(AP1~AP4)이 커널 또는 미들웨어에서 제공되는 기능을 제어하기 위한 인터페이스일 수 있다.
응용 프로그램들(AP1~AP4)의 개수는 도 9에서 도시된 것으로 한정되지 않는다. 전술한대로 메모리(2130)에는 AEC 시스템(1000)을 실행하기 위한 프로그램 코드가 저장되고 메모리(2130)에 AEC 시스템(1000)이 로드되고 실행될 수 있다. 예를 들어, 응용 프로그램들(AP1~AP4) 중 음성 통신과 관련된 어느 하나는 AEC 시스템(1000)이 지원하는 모드들(도 7 및 도 8의 제 1 내지 제 5 모드들) 중 어느 하나를 선택할 수 있다(S111a 단계 참조). AEC 시스템(1000)이 지원하는 모드들을 선택할 수 있는 프로그램 코드는 AEC 시스템(1000)을 실행하기 위한 프로그램 코드와 동일할 수도 있고 상이할 수 있다.
입출력 인터페이스(2140)는 어플리케이션 프로세서(2100)와 전자 장치(2000) 내 다른 구성 요소들 간의 데이터 교환을 위한 인터페이스 동작을 수행할 수 있다. 예를 들어, 입출력 인터페이스(2140)를 통해 메모리(2130)에 저장된 데이터가 스토리지(2004)로 전송되고 백업될 수 있다.

Claims (20)

  1. 기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력되는 마이크로폰 신호의 잔여 에코를 추정하는 잔여 에코 추정기에 있어서, 상기 잔여 에코 추정기는:
    현재 프레임에서의 상기 기준 신호의 선형 에코의 크기 및 과거 프레임에서의 상기 기준 신호의 상기 선형 에코의 크기를 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하고, 그리고
    상기 선형 에코의 상기 크기들에 적용되는 가중치들을 업데이트하도록 구성되는 잔여 에코 추정기.
  2. 제 1 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 현재 프레임에서의 상기 마이크로폰 신호의 크기 및 상기 과거 프레임에서의 상기 마이크로폰 신호의 크기를 더 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하고, 그리고
    상기 상기 마이크로폰 신호의 상기 크기들에 적용되는 가중치들을 더 업데이트하도록 구성되는 잔여 에코 추정기.
  3. 제 1 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 과거 프레임에서의 상기 잔여 에코의 크기를 더 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하고, 그리고
    상기 과거 프레임에서의 상기 잔여 에코의 상기 크기에 적용되는 가중치를 더 업데이트하도록 구성되는 잔여 에코 추정기.
  4. 제 1 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 잔여 에코의 실제 크기와 상기 잔여 에코의 상기 크기 간의 차이를 이용하여 상기 가중치들을 업데이트하도록 구성되는 잔여 에코 추정기.
  5. 제 1 항에 있어서,
    상기 잔여 에코의 상기 크기는, 상기 선형 에코의 상기 크기들과 상기 가중치들을 각각 곱한 곱셈 결과들을 더한 값인 잔여 에코 추정기.
  6. 프로세서에 의해 실행 가능한 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체에 있어서, 기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력된 마이크로폰 신호의 잔여 에코를 추정하는 상기 프로세서는:
    현재 프레임에서의 상기 기준 신호의 선형 에코의 크기 및 과거 프레임에서의 상기 기준 신호의 상기 선형 에코의 크기를 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하고 그리고 상기 선형 에코의 상기 크기들에 적용되는 가중치들을 업데이트하는 잔여 에코 추정기; 및
    상기 잔여 에코의 상기 크기 그리고 상기 마이크로폰 신호에서 상기 선형 에코가 제거된 출력 신호의 크기를 이용하여 상기 출력 신호에 곱해지는 억제 게인을 계산하는 게인 계산기를 실행하도록 구성되는 비일시적 컴퓨터 판독 가능한 매체.
  7. 제 6 항에 있어서,
    상기 과거 프레임에서의 상기 기준 신호의 상기 선형 에코의 상기 크기는 메모리에 저장되고, 그리고
    상기 메모리는 TCM(tightly coupled memory), SRAM(static random access memory), 또는 DRAM(dynamic random access memory)인 비일시적 컴퓨터 판독 가능한 매체.
  8. 제 6 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 현재 프레임에서의 상기 마이크로폰 신호의 크기 및 상기 과거 프레임에서의 상기 마이크로폰 신호의 크기를 더 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하고, 그리고
    상기 상기 마이크로폰 신호의 상기 크기들에 적용되는 가중치들을 더 업데이트하는 비일시적 컴퓨터 판독 가능한 매체.
  9. 제 6 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 과거 프레임에서의 상기 잔여 에코의 크기를 더 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하고, 그리고
    상기 과거 프레임에서의 상기 잔여 에코의 상기 크기에 적용되는 가중치를 더 업데이트하는 비일시적 컴퓨터 판독 가능한 매체.
  10. 제 6 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 출력 신호의 상기 크기와 상기 잔여 에코의 상기 크기 간의 차이를 이용하여 상기 가중치들을 업데이트하는 비일시적 컴퓨터 판독 가능한 매체.
  11. 제 6 항에 있어서,
    상기 잔여 에코 추정기는:
    상기 출력 신호의 상기 크기와 상기 잔여 에코의 상기 크기 간의 차이가 최소가 되도록 상기 가중치들을 업데이트하는 인공 신경망을 실행하는 비일시적 컴퓨터 판독 가능한 매체.
  12. 제 6 항에 있어서,
    상기 프로세서는 상기 출력 신호의 상기 크기를 이용하여 노이즈의 크기를 추정하는 노이즈 추정기를 더 실행하도록 구성되고, 그리고
    상기 게인 계산기는 상기 노이즈의 상기 크기를 더 이용하여 상기 억제 게인을 계산하는 비일시적 컴퓨터 판독 가능한 매체.
  13. 제 6 항에 있어서,
    상기 프로세서는 상기 잔여 에코의 상기 크기와 상기 출력 신호의 크기를 스무딩(smoothing)하고 그리고 상기 잔여 에코의 상기 스무딩된 크기와 상기 출력 신호의 상기 스무딩된 크기를 상기 게인 계산기에 제공하는 스무딩 계산기를 더 실행하도록 구성되는 비일시적 컴퓨터 판독 가능한 매체.
  14. 오디오 프로세서; 및
    상기 오디오 프로세서에 의해 실행 가능한 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체를 포함하되,
    상기 오디오 프로세서는:
    기준 신호가 스피커를 통해 출력됨에 따라 마이크로폰으로 입력되는 마이크로폰 신호에서 상기 스피커와 상기 마이크로폰 간의 전송 경로에 기초하여 결정되는 상기 기준 신호의 선형 에코를 제거하여 출력 신호를 생성하는 선형 에코 제거기; 및
    현재 프레임에서의 상기 선형 에코의 크기 및 과거 프레임에서의 상기 선형 에코의 크기를 선택적으로 이용하여 상기 현재 프레임에서의 잔여 에코의 크기를 추정하는 잔여 에코 억제기를 실행하도록 구성되는 어플리케이션 프로세서.
  15. 제 14 항에 있어서,
    상기 잔여 에코 억제기는:
    제 1 모드에서는 상기 현재 프레임에서의 상기 선형 에코의 상기 크기를 이용하고 상기 과거 프레임에서의 상기 선형 에코의 상기 크기를 이용하지 않고, 그리고
    제 2 모드에서는 상기 현재 프레임에서의 상기 선형 에코의 상기 크기 및 상기 과거 프레임에서의 상기 선형 에코의 상기 크기를 이용하는 어플리케이션 프로세서.
  16. 제 14 항에 있어서,
    메인 프로세서를 더 포함하되,
    상기 프로그램 코드는 제 1 프로그램 코드이고, 그리고
    상기 비일시적 컴퓨터 판독 가능한 매체는 상기 메인 프로세서에 의해 실행 가능한 제 2 프로그램 코드를 더 저장하고,
    상기 제 2 프로그램 코드는 상기 잔여 에코 억제기에 의해 상기 과거 프레임에서의 상기 선형 에코의 상기 크기가 이용되는지 여부를 결정하는 어플리케이션 프로세서.
  17. 제 14 항에 있어서,
    상기 잔여 에코 억제기는:
    상기 잔여 에코의 상기 크기 그리고 상기 출력 신호의 크기를 이용하여 상기 출력 신호에 곱해지는 억제 게인을 계산하고, 그리고
    상기 출력 신호와 상기 억제 게인을 곱하여 최종 출력 신호를 생성하는 어플리케이션 프로세서.
  18. 제 14 항에 있어서,
    상기 잔여 에코 억제기는:
    상기 출력 신호의 크기와 상기 잔여 에코의 상기 크기 간의 차이가 최소가 되도록 상기 선형 에코의 상기 크기들에 적용되는 가중치들을 업데이트하는 어플리케이션 프로세서.
  19. 제 14 항에 있어서,
    상기 잔여 에코 억제기는 더블 토크가 검출되지 않으면, 상기 과거 프레임에서의 상기 잔여 에코의 크기 그리고 상기 현재 프레임 및 상기 과거 프레임에서의 상기 마이크로폰 신호의 상기 크기들을 더 이용하여 상기 현재 프레임에서의 상기 잔여 에코의 상기 크기를 추정하는 어플리케이션 프로세서.
  20. 제 14 항에 있어서,
    상기 과거 프레임에서의 상기 기준 신호의 상기 선형 에코의 상기 크기는 메모리에 저장되고, 그리고
    상기 메모리는 TCM(tightly coupled memory), SRAM(static random access memory), 또는 DRAM(dynamic random access memory)인 어플리케이션 프로세서.
KR1020190011091A 2019-01-29 2019-01-29 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서 KR102517975B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190011091A KR102517975B1 (ko) 2019-01-29 2019-01-29 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서
US16/546,532 US10854215B2 (en) 2019-01-29 2019-08-21 Residual echo estimator to estimate residual echo based on time correlation, non-transitory computer-readable medium storing program code to estimate residual echo, and application processor
CN201911376200.6A CN111489761A (zh) 2019-01-29 2019-12-27 残留回声估计器、非暂时性计算机可读介质和应用处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190011091A KR102517975B1 (ko) 2019-01-29 2019-01-29 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서

Publications (2)

Publication Number Publication Date
KR20200093849A true KR20200093849A (ko) 2020-08-06
KR102517975B1 KR102517975B1 (ko) 2023-04-04

Family

ID=71733755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190011091A KR102517975B1 (ko) 2019-01-29 2019-01-29 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서

Country Status (3)

Country Link
US (1) US10854215B2 (ko)
KR (1) KR102517975B1 (ko)
CN (1) CN111489761A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210004340A (ko) * 2019-07-04 2021-01-13 한양대학교 산학협력단 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치
KR20230153236A (ko) * 2022-04-28 2023-11-06 선전 블루트룸 테크놀러지 컴퍼니 리미티드 듀얼 마이크 어레이 에코 제거 방법, 장치 및 전자 장비

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI759858B (zh) * 2020-09-11 2022-04-01 點通科技股份有限公司 具回音消除之通話系統及其操作方法
CN113489855B (zh) * 2021-06-30 2024-03-19 北京小米移动软件有限公司 声音处理方法、装置、电子设备和存储介质
CN114171043B (zh) * 2021-12-06 2022-09-13 北京百度网讯科技有限公司 回声的确定方法、装置、设备以及存储介质
CN114650340B (zh) 2022-04-21 2024-07-02 深圳市中科蓝讯科技股份有限公司 一种回声消除方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11154894A (ja) * 1997-09-04 1999-06-08 Motorola Inc 方向変換エコー・キャンセラおよび方法
KR20020065716A (ko) * 2001-02-07 2002-08-14 삼성전자 주식회사 휴대용 단말기의 에코 제어장치 및 방법
KR20170052056A (ko) * 2015-11-03 2017-05-12 삼성전자주식회사 전자 장치 및 그의 음향 에코 저감 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925176B2 (en) 2003-06-27 2005-08-02 Nokia Corporation Method for enhancing the acoustic echo cancellation system using residual echo filter
US7773743B2 (en) 2006-04-28 2010-08-10 Microsoft Corporation Integration of a microphone array with acoustic echo cancellation and residual echo suppression
JPWO2009051197A1 (ja) * 2007-10-19 2011-03-03 日本電気株式会社 エコー抑圧方法及び装置
US8213598B2 (en) 2008-02-26 2012-07-03 Microsoft Corporation Harmonic distortion residual echo suppression
US8331552B2 (en) * 2008-05-09 2012-12-11 Agere Systems Llc Detection of double talk in telecommunications networks
KR101033336B1 (ko) 2009-08-26 2011-05-09 인하대학교 산학협력단 트랙킹 에코-존재 불확실성에 기초한 잔여 반향 억제 방법
EP2444967A1 (en) 2010-10-25 2012-04-25 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Echo suppression comprising modeling of late reverberation components
CN103348408B (zh) * 2011-02-10 2015-11-25 杜比实验室特许公司 噪声和位置外信号的组合抑制方法和系统
US9595997B1 (en) * 2013-01-02 2017-03-14 Amazon Technologies, Inc. Adaption-based reduction of echo and noise
CN104050971A (zh) * 2013-03-15 2014-09-17 杜比实验室特许公司 声学回声减轻装置和方法、音频处理装置和语音通信终端
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression
WO2016039765A1 (en) 2014-09-12 2016-03-17 Nuance Communications, Inc. Residual interference suppression
US10074380B2 (en) * 2016-08-03 2018-09-11 Apple Inc. System and method for performing speech enhancement using a deep neural network-based signal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11154894A (ja) * 1997-09-04 1999-06-08 Motorola Inc 方向変換エコー・キャンセラおよび方法
KR20020065716A (ko) * 2001-02-07 2002-08-14 삼성전자 주식회사 휴대용 단말기의 에코 제어장치 및 방법
KR20170052056A (ko) * 2015-11-03 2017-05-12 삼성전자주식회사 전자 장치 및 그의 음향 에코 저감 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210004340A (ko) * 2019-07-04 2021-01-13 한양대학교 산학협력단 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치
KR20230153236A (ko) * 2022-04-28 2023-11-06 선전 블루트룸 테크놀러지 컴퍼니 리미티드 듀얼 마이크 어레이 에코 제거 방법, 장치 및 전자 장비

Also Published As

Publication number Publication date
CN111489761A (zh) 2020-08-04
US10854215B2 (en) 2020-12-01
US20200243104A1 (en) 2020-07-30
KR102517975B1 (ko) 2023-04-04

Similar Documents

Publication Publication Date Title
KR102517975B1 (ko) 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서
US10313789B2 (en) Electronic device, echo signal cancelling method thereof and non-transitory computer readable recording medium
CN107211063B (zh) 非线性回波路径检测
CN110007892B (zh) 音频信号处理
CN105577961B (zh) 增益控制器的自动调谐
US9654874B2 (en) Systems and methods for feedback detection
US9264804B2 (en) Noise suppressing method and a noise suppressor for applying the noise suppressing method
CN110176244B (zh) 回声消除方法、装置、存储介质和计算机设备
NO20100081A1 (no) Apparatus and associated methodology for suppressing an acoustic echo
US10009478B2 (en) Nearend speech detector
US20160309042A1 (en) Echo cancellation
KR102190833B1 (ko) 에코 억제
CN104969537A (zh) 回声抑制
WO2017099728A1 (en) System and method for suppression of non-linear acoustic echoes
US9191519B2 (en) Echo suppressor using past echo path characteristics for updating
CN111868826B (zh) 一种回声消除中的自适应滤波方法、装置、设备及存储介质
KR20160076059A (ko) 디스플레이장치 및 그 반향 제거방법
CN105027540A (zh) 回波抑制
WO2019239977A1 (ja) エコー抑圧装置、エコー抑圧方法およびエコー抑圧プログラム
US10403301B2 (en) Audio signal processing apparatus for processing an input earpiece audio signal upon the basis of a microphone audio signal
JP6422884B2 (ja) エコー抑圧
JP2008259032A (ja) 情報処理装置、およびプログラム
JP5469564B2 (ja) 多チャネルエコー消去方法、多チャネルエコー消去装置及びそのプログラム
CN103457646A (zh) 用于频域回波抑制滤波器的方法和装置
TWI268093B (en) Echo cancellers for sparse channels

Legal Events

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