KR20200115107A - 심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법 - Google Patents

심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법 Download PDF

Info

Publication number
KR20200115107A
KR20200115107A KR1020200021582A KR20200021582A KR20200115107A KR 20200115107 A KR20200115107 A KR 20200115107A KR 1020200021582 A KR1020200021582 A KR 1020200021582A KR 20200021582 A KR20200021582 A KR 20200021582A KR 20200115107 A KR20200115107 A KR 20200115107A
Authority
KR
South Korea
Prior art keywords
far
features
signal
feature
microphone
Prior art date
Application number
KR1020200021582A
Other languages
English (en)
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
Priority claimed from US16/573,573 external-priority patent/US10803881B1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20200115107A publication Critical patent/KR20200115107A/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
    • 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
    • G10L21/0232Processing in the frequency domain
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • 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
    • 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/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
    • H04R27/00Public address systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Telephone Function (AREA)

Abstract

에코 제거 시스템은 프로세서를 포함할 수 있다. 프로세서는 원단 신호를 수신하고, 근단 신호 및 원단 신호에 대응하는 에코 신호를 포함하는 마이크로폰 신호를 기록하고, 원단 신호로부터 원단 특징을 추출하고, 마이크로폰 신호로부터 마이크로폰 특징을 추출하고, 마이크로폰 특징들 및 원단 특징들을 반복 신경망을 포함하는 음향 에코 제거 모듈에 공급함으로써 추정된 근단 특징을 계산하고, 추정된 근단 특징으로부터 추정된 근단 신호를 계산하고, 및 추정된 근단 신호를 원단 장치로 전송하는 것을 포함할 수 있다. 반복 신경망은 복수의 게이트 반복 유닛들을 포함하는 인코더 및 복수의 게이트 반복 유닛들을 포함하는 디코더를 포함할 수 있다. 반복 신경망은 컨텍스트 어텐션 모듈을 포함할 수 있다. 반복 신경망은 원단 특징들, 마이크로폰 특징들 및 음향 경로 파라미터들에 기반하여 계산된 복수의 에러 특징들을 입력으로서 취할 수 있다.

Description

심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법{SYSTEM AND METHOD FOR ACOUSTIC ECHO CANCELATION USING DEEP MULTITASK RECURRENT NEURAL NETWORKS}
본 개시는 오디오 신호 처리 분야에 관한 것이며, 특히 심층 멀티태스킹 반복 신경망을 이용하여 음향 에코 제거를 제공하기 위한 시스템 및 방법을 포함한다.
실시간 또는 거의 실시간과 같은 오디오 또는 화상 회의 상호 작용 중에, 원단(Far-end) 대화자는 근단(Near-end) 대화자로부터 수신한 신호에 음향 에코를 감지할 수 있다. 근단 스피커에서 재생되는 원단 신호가 근단의 마이크에 다시 연결되면 음향 에코가 발생할 수 있다. 근단 마이크로부터의 신호가 원단으로 전송될 때, 원단 대화자는 근단 신호(예를 들어, 근단 대화자의 음성)와 함께 원단 대화자 자신의 음성이 지연 및 수정된 버전의 혼합을 음향 에코로서 듣는다. AEC(Acoustic Echo Canceller) 또는 AES(Acoustic Echo Suppressor)는 근단 대화자의 음성 왜곡을 방지하면서(예를 들어, 근단 신호의 왜곡 없이) 에코를 줄이거나 제거하고자 한다.
본 개시는 심층 멀티태스킹 반복 신경망을 이용해 음향 에코를 제거하기 위한 시스템 및 방법을 제공한다.
본 개시의 일 실시예는 심층 멀티태스킹 반복 신경망을 이용하여 오디오 통신 시스템에서 음향 에코를 상쇄시키는 것을 포함할 수 있다.
일 실시 예에 따르면, 에코 제거 시스템은, 프로세서 및 명령이 저장된 메모리를 포함할 수 있다. 메모리에 저장된 명령은, 프로세서에 의해 실행될 때 프로세서가, 근단 장치에서 원단 장치의 원단신호를 수신하고, 근단 장치에서 마이크로폰 신호를 기록하고, 원단 신호로부터 복수의 원단 특징들을 추출하고, 마이크로폰 신호로부터 복수의 마이크로폰 특징들을 추출하고, 마이크로폰 특징들 및 원단 특징들을 컨텍스트 어텐션 신경망을 포함하는 음향 에코 제거 모듈에 공급함으로써 마이크로폰 신호로부터 복수의 추정된 근단 특징들을 계산하고, 추정된 근단 특징들로부터 추정된 근단 신호를 계산하고, 및 추정된 근단 신호를 원단 장치로 전송하도록 하는 것을 포함할 수 있다. 마이크로폰 신호는, 근단 신호, 및 원단 신호에 대응하는 에코 신호를 포함할 수 있다. 컨텍스트 어텐션 신경망은, 마이크로폰 특징들 및 원단 특징들을 인코딩된 특징들로 인코딩하는 복수의 게이트 반복 유닛들을 포함하는 인코더, 인코딩된 특징들로부터 컨텍스트 어텐션 특징을 계산하는 컨텍스트 어텐션 모듈, 및 컨텍스트 어텐션 특징들로부터 추정된 근단 특징들을 디코딩하는 복수의 게이트 반복 유닛들을 포함하는 디코더를 포함할 수 있다.
인코더는 하나 이상의 게이트 반복 유닛의 레이어를 포함하고, 인코딩된 특징은 인코더의 하나 이상의 게이트 반복 유닛의 레이어의 마지막 레이어의 출력에 대응할 수 있다. 인코딩된 특징은 컨텍스트 어텐션 모듈의 멀티-헤드 셀프 어텐션 레이어에 공급될 수 있다. 디코더는 하나 이상의 게이트 반복 유닛의 레이어를 포함하고, 추정된 근단 특징은 디코더의 하나 이상의 게이트 반복 유닛의 레이어의 마지막 레이어의 출력에 대응할 수 있다.
컨텍스트 어텐션 모듈은 멀티-헤드 셀프 어텐션 레이어의 출력을 수신하는 멀티-헤드 어텐션 레이어를 더 포함할 수 있다.
컨텍스트 어텐션 모듈은 멀티-헤드 셀프 어텐션 레이어 및 멀티-헤드 어텐션 레이어 사이에 제1 레이어 정규화 레이어를 더 포함할 수 있다.
컨텍스트 어텐션 모듈은 컨텍스트 어텐션 모듈의 다른 레이어로부터의 출력에 따라 컨텍스트 어텐션 특징을 계산하는 제2 레이어 정규화 레이어를 더 포함할 수 있다.
메모리에 저장된 명령은, 프로세서에 의해 실행될 때, 프로세서가, 이전 음향 경로 파라미터, 이전 원단 특징 및 이전 마이크로폰 특징으로부터 복수의 음향 경로 파라미터를 계산하고, 원단 특징, 마이크로폰 특징 및 음향 경로 파라미터에 기초하여 복수의 에러 특징을 계산하도록 하는 것을 더 포함할 수 있다. 음향 에코 제거 모듈은 에러 특징들에 기초하여 마이크로폰 신호로부터 복수의 추정된 근단 특징을 계산하도록 추가로 구성될 수 있다.
컨텍스트 어텐션 신경망에 공급되는 원단 특징은 원단 특징의 현재 프레임 및 원단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고, 컨텍스트 어텐션 신경망에 공급되는 마이크로폰 특징은 마이크로폰 특징의 현재 프레임 및 마이크로폰 특징의 복수의 이전 프레임들의 인과 윈도우를 포함할 수 있다.
추정된 근단 특징은 추정된 근단 특징의 현재 프레임 및 추정된 근단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함할 수 있다. 컨텍스트 어텐션 신경망은 추정된 근단 특징들과 복수의 트레이닝 데이터들의 실제 근단 특징들 사이의 차이를 최소화하도록, 컨텍스트 어텐션 신경망을 구성하는 복수의 파라미터를 반복적으로 학습함으로써 학습될 수 있다.
트레이닝 데이터는, 복수의 서로 다른 인간 스피커로부터 기록된 발음을 포함하는 트레이닝 데이터 코퍼스를 로딩하고, 복수의 인간 스피커 쌍을 선택하고, 각각의 인간 스피커 쌍에 대해: 트레이닝 원단 신호를 생성하기 위해 하나의 인간 스피커 쌍 중 제1 스피커의 다수의 발음을 연접하고, 트레이닝 에코 신호를 생성하기 위한 음향 경로를 시뮬레이션하기 위해 연접된 발음을 변환하고, 하나의 인간 스피커 쌍 중 제2 스피커의 발음을 패딩하여 트레이닝 원단 신호와 동일한 길이를 갖는 트레이닝 근단 신호를 생성하고, 및 트레이닝 에코 신호를 트레이닝 근단 신호와 혼합하여 트레이닝 마이크로폰 신호를 생성하는 것을 통해 생성될 수 있다.
연접된 발음을 변환하는 것은, 원단 신호를 시뮬레이션된 룸의 룸 임펄스 응답과 컨볼빙하는 것을 포함할 수 있다.
연접된 발음을 변환하는 것은, 클리핑된 원단 신호를 생성하기 위해 원단 신호에 하드 클리핑을 적용하고, 및 클리핑된 원단 신호에 시그모이드 왜곡을 적용하는 것을 더 포함할 수 있다.
원단 특징, 마이크로폰 특징 및 추정된 근단 특징은 로그 스펙트럼 공간에서 로그 단시간 푸리에 변환 특징을 포함할 수 있다.
일 실시 예에 따르면, 에코 제거 시스템은, 프로세서 및 명령이 저장된 메모리를 포함할 수 있다. 메모리에 저장된 명령은, 프로세서에 의해 실행될 때 프로세서가, 원단 장치의 원단 신호를 수신하고, 마이크로폰 신호를 기록하고, 원단 신호로부터 복수의 원단 특징들을 추출하고, 마이크로폰 신호로부터 복수의 마이크로폰 특징들을 추출하고, 이전 음향 경로 파라미터, 이전 원단 특징 및 이전 마이크로폰 특징으로부터 복수의 음향 경로 파라미터를 계산하고, 마이크로폰 특징들, 원단 특징들 및 에러 특징들을 반복 신경망을 포함하는 음향 에코 제거 모듈에 공급함으로써 마이크로폰 신호로부터 복수의 추정된 근단 특징들을 계산하고, 추정된 근단 특징들로부터 추정된 근단 신호를 계산하고, 및 추정된 근단 신호를 원단 장치로 전송하는 것을 포함할 수 있다. 마이크로폰 신호는, 근단 신호, 및 원단 신호에 대응하는 에코신호를 포함할 수 있다. 반복 신경망은 마이크로폰 특징들 및 원단 특징들을 인코딩된 특징들로 인코딩하는 복수의 게이트 반복 유닛들을 포함하는 인코더, 및 인코딩된 특징들에 기반하여 추정된 근단 특징들을 디코딩하는 복수의 게이트 반복 유닛들을 포함하는 디코더를 포함할 수 있다.
음향 에코 제거 모듈은 인코딩된 특징들로부터 컨텍스트 어텐션 특징에 기반하여 추정된 근단 특징을 계산하는 컨텍스트 어텐션 모듈을 더 포함할 수 있다. 디코더는 컨텍스트 어텐션 특징에 기초하여 추정된 근단 특징들을 계산할 수 있다.
음향 에코 제거 모듈에 공급되는 원단 특징은 원단 특징의 현재 프레임 및 원단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고, 음향 에코 제거 모듈에 공급되는 마이크로폰 특징은 마이크로폰 특징의 현재 프레임 및 마이크로폰 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고, 음향 에코 제거 모듈에 공급되는 에러 특징은 에러 특징의 현재 프레임 및 에러 특징의 복수의 이전 프레임들의 인과 윈도우를 포함할 수 있다.
추정된 근단 특징은 추정된 근단 특징의 현재 프레임 및 추정된 근단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함할 수 있다. 반복 신경망은 추정된 근단 특징들과 복수의 트레이닝 데이터들의 실제 근단 특징들 사이의 차이를 최소화하도록, 반복 신경망을 구성하는 복수의 파라미터를 반복적으로 학습함으로써 학습될 수 있다.
트레이닝 데이터는, 복수의 서로 다른 인간 스피커로부터 기록된 발음을 포함하는 트레이닝 데이터 코퍼스를 로딩하고, 복수의 인간 스피커 쌍을 선택하고, 각각의 인간 스피커 쌍에 대해: 트레이닝 원단 신호를 생성하기 위해 하나의 인간 스피커 쌍 중 제1 스피커의 다수의 발음을 연접하고, 트레이닝 에코 신호를 생성하기 위한 음향 경로를 시뮬레이션하기 위해 연접된 발음을 변환하고, 하나의 인간 스피커 쌍 중 제2 스피커의 발음을 패딩하여 트레이닝 원단 신호와 동일한 길이를 갖는 트레이닝 근단 신호를 생성하고, 및 트레이닝 에코 신호를 트레이닝 근단 신호와 혼합하여 트레이닝 마이크로폰 신호를 생성하는 것을 통해 생성될 수 있다.
연접된 발음을 변환하는 것은, 원단 신호를 시뮬레이션된 룸의 룸 임펄스 응답과 컨볼빙하는 것을 포함할 수 있다.
연접된 발음을 변환하는 것은, 클리핑된 원단 신호를 생성하기 위해 원단 신호에 하드 클리핑을 적용하고, 및 클리핑된 원단 신호에 시그모이드 왜곡을 적용하는 것을 포함할 수 있다.
원단 특징, 마이크로폰 특징 및 추정된 근단 특징은 로그 스펙트럼 공간에서 로그 단시간 푸리에 변환 특징을 포함할 수 있다.
본 개시에 따른 시스템 및 방법을 통해, 음향 에코를 제거할 수 있다.
본 개시의 양상들은 도면에 도시된 예시적인 실시예들을 참조하여 설명될 것이다.
도 1a는 음향 에코를 감소시키거나 제거하도록 구성된 음향 에코 제거(AEC) 모듈을 포함하는 통신 시스템을 도시하는 개략도이다.
도 1b는 음향 에코 제거(AEC) 모듈 및 음향 에코를 감소시키거나 제거하도록 구성된 잔류 에코 억제(RES) 모듈을 포함하는 통신 시스템을 도시하는 개략도이다.
도 2는 음향 에코 제거 시스템을 나타내는 블록도이다.
도 3은 언롤드 심층 GRU(Gated Recurrent Unit) 네트워크의 입력 레이어를 도시하는 블록도이다.
도 4는 AEC(Acoustic Echo Cancellation) 신경망의 구조를 나타내는 블록도이다.
도 5a는 음향 에코 제거 모듈의 반복 신경망을 학습시키기 위한 방법의 흐름도이다.
도 5b는 트레이닝 데이터의 생성 방법의 흐름도이다.
도 5c는 시뮬레이션된 에코 신호
Figure pat00001
의 생성 방법의 흐름도이다.
도 6a는 추론 모드에서 동작하는 AEC(Acoustic Echo Cancellation) 신경망의 구조를 도시한 블록도이다.
도 6b는 추론 모드에서 신경망을 사용하여 수신된 원단 신호 및 마이크로폰 신호로부터 추정된 근단 신호를 계산하는 방법을 도시한 흐름도이다.
도 7은 심층 멀티태스킹 음향 에코 제거 시스템을 포함하는 하이브리드 시스템을 도시하는 블록도이다.
도 8a는 심층 신경망(EchoDNN)이 마이크로폰 신호로부터 에코를 제거하는데 사용된 음향 에코 제거 시스템의 개략적인 블록도이다.
도 8b는 마이크로폰 신호로부터 에코를 제거하도록 구성된 심층 신경망 구조의 블록도이다.
도 9는 생성 네트워크를 이용한 음향 에코 제거 시스템을 나타내는 블록도이다.
도 10은 컨텍스트 어텐션 신경망을 포함하는 음향 에코 제거 시스템을 나타내는 블록도이다.
도 11a는 컨텍스트 어텐션 어웨어(aware) 신경망을 도시하는 블록도이다.
도 11b는 컨텍스트 어텐션 신경망의 레이어들을 도시하는 블록도이다.
도 11c는 컨텍스트 어텐션 모듈을 도시하는 블록도이다.
도 12는 추론 모드에서 컨텍스트 어텐션 신경망을 이용하여 수신된 원단 신호 및 마이크로폰 신호로부터 추정된 근단 신호를 계산하는 방법을 도시하는 흐름도이다.
도 13은 컨텍스트 어텐션 신경망과 FDNLMS(Frequency Domain Normalized Mean Square) 기법이 결합된 하이브리드를 포함하는 음향 에코 제거 시스템을 도시하는 블록도이다.
도 14a는 원단 특징, 에러 특징 및 마이크로폰 특징을 입력으로서 수용하도록 구성된 컨텍스트 어텐션 신경망을 도시하는 블록도이다.
도 14b는 원단 특징, 에러 특징 및 마이크로폰 특징을 입력으로서 수용하도록 구성된 컨텍스트 어텐션 신경망의 레이어들을 도시하는 블록도이다.
도 15는 추론 모드에서 음향 에코 제거 기법 및 컨텍스트 어텐션 신경망의 하이브리드를 이용하여 수신된 원단 신호 및 마이크로폰 신호로부터 추정된 근단 신호를 계산하는 방법을 도시하는 흐름도이다.
도 16은 근단 장치의 블록도이다.
도 1a는 음향 에코를 감소시키거나 제거하도록 구성된 음향 에코 제거(AEC) 모듈을 포함하는 통신 시스템을 도시하는 개략도이다. 도 1a를 참조하면, 원단 신호 x(t)는 근단 장치(10)의 근단 스피커(12)에서 수신되어 재생된다. 일반적으로 원단 신호 x(t)에는 원단 사용자 또는 대화자의 대화가 포함될 수 있고, 원단 신호 x(t)는 근단 통신 장치에서 수신되도록 원단 신호 x(t)를 전송하는 원단 통신 장치에 의해 캡처될 수 있다(예를 들어, 셀룰러 통신 네트워크와 같은 통신 네트워크를 통해). 이와 같이, 편의를 위해, 원단 신호 x(t)는 "원단 스피치"로 지칭될 수 있다. 근단 스피커(12)에 의해 생성된 사운드는 음향 에코 y(t)로서 근단 마이크로폰(14)에 의해 검출될 수 있고, 사운드는 근단 장치(10)가 위치한 물리적 환경에서 벽이나 다른 표면(18)에서 튕겨져 나오는 등 다수의 상이한 에코 경로(16)들을 통해 근단 마이크로폰(14)으로 이동할 수 있다. 근단 마이크로폰(14)은 또한 근단 사용자 또는 대화자로부터의 음성과 같은 원하는 근단 신호 s(t)를 검출할 수 있다. 근단 마이크로폰(14)에 의해 생성된 신호 d(t)는 원하는 근단 신호 s(t) 및 바람직하지 않은 음향 에코 y(t)를 모두 포함할 수 있다. 마이크로폰 신호 d(t)는 AEC(Acoustic Echo Cancellation) 모듈(100)에 제공되어, 에코 신호 y(t)를 제거하고 원하는 근단 신호 s(t)와 근사한 출력 신호 q(t)를 생성할 수 있다(예를 들어, 음향 에코 y(t)가 제거된 마이크로폰 신호 d(t)에 해당). 처리된 출력 신호 q(t)는 에코 신호 y(t)가 제거된 원하는 근단 신호 s(t)의 추정치로서 원단에 전송될 수 있다.
명확성을 위해, 시간 t에서 임의의 시간-도메인 신호로서 주어진 v(t)에서, 프레임 k 및 주파수 빈 f에서 v(t)의 단시간 푸리에 변환(Short-Time Fourier Transform, STFT) 복소수 스펙트럼은
Figure pat00002
로 표시될 수 있다. 그 위상은
Figure pat00003
로 표시될 수 있다. 그 로그 크기는
Figure pat00004
로 표시될 수 있다.
Figure pat00005
는 모든 주파수 빈 f와 프레임 k에서 로그 크기의 벡터를 나타낼 수 있다.
도 1b는 음향 에코 제거(AEC) 모듈 및 음향 에코를 감소시키거나 제거하도록 구성된 잔류 에코 억제(RES) 모듈을 포함하는 통신 시스템을 도시하는 개략도이다. 마이크로폰 신호 d(t)에는 근단 스피치 신호 s(t) 및 음향 에코 y(t)가 포함될 수 있다.
Figure pat00006
일 실시예에서, 마이크로폰 신호 d(t)는 추가적인 노이즈 n(t)(예를 들어,
Figure pat00007
)와 같이 다른 요소를 포함할 수 있다. 음향 에코 신호 y(t)는 원단 스피치 신호 x(t)의 수정된 버전이며, 룸 임펄스 응답(RIR) 및 스피커 왜곡을 포함할 수 있고, 그 두가지는 x(t)와 y(t) 사이의 관계에서 비선형성을 유발할 수 있다.
AEC(Acoustic Echo Cancellation) 문제는 대체로 근단 마이크로폰(14)의 원단 신호 x(t) 검출로 인한 음향 에코를 제거한 후 깨끗한 근단 신호 s(t)를 검출하는 것이다. 도 1b를 참조하면, 선형 적응 필터(Linear Adaptive Filter, LAF)(110)로 에코 경로의 모델을 추정한 후, 마이크로폰 신호 d(t)로부터 추정된 에코 v(t)를 감산할 수 있다. 또한, 에코 추정을 가능하게 하기 위해, 일부 비교 AEC 방법에서는 근단 신호와 원단 신호가 동시에 존재하는 경우 이중-토크 검출기(DTD)를 사용하여 이중-토크(Double-talk) 기간 동안 필터 적응을 정지시킨다(근단 신호 또는 원단 신호만 존재하거나 무시할 수 없는 단일-토크(Single-talk) 기간과 대조된다). 일반적으로 AEC를 적용한 후에도 AEC 방법의 출력에 약간의 잔류 에코가 여전히 존재할 수 있다(d(t)-v(t)). 비교 AEC 방법이 모든 에코 잡음을 완벽하게 제거할 수 없는 이유 중 하나는 에코 경로(16)가 완벽하게 선형인 경우에도 에코 경로(16)가 원단 스피치 신호 x(t)의 선형 함수가 아니기 때문이다. 예를 들어, 오디오 증폭기(예를 들어, 파워 증폭기) 및 스피커(12)는 원단 스피치 신호 x(t)와 에코 신호 y(t) 사이의 관계에서 비선형성을 야기할 수 있다. 또한, 적응형 선형 필터의 길이는 긴 에코를 제거하기에 충분하지 않을 수 있다(예를 들어, 큰 방 또는 복도에서). 따라서, RES(Residual Echo Suppressor)(150)는 근단 신호를 개선하기 위해 추가로 적용될 수 있고, 여기서 RES는 Wiener 필터 또는 주파수 영역에서의 스펙트럼 감산에 의해 구현될 수 있다. AEC 시스템의 최종 출력은 추정된 근단 신호 q(t)일 수 있다.
본 개시의 일 실시예는 음향 에코 제거(AEC)를 위한 반복 신경망(Recurrent Neural Network, RNN) 구조에 관한 것일 수 있다. 일 실시예는 심층 GRU(Deep Gated Recurrent Unit) 네트워크를, 인코딩-디코딩 구조에서, 마이크로폰 신호 d(t) 및 원단 신호 x(t)의 스펙트럼 특징을 초공간(Hyperspace)(예를 들어, 로그 스펙트럼 공간과 같은 특징 공간)에 매핑한 다음, 근단 신호 s(t)의 대상 스펙트럼 특징을 인코딩된 초공간으로부터 디코딩하는 것에 사용할 수 있다(예를 들어, Empirical Methods in Natural Language Processing, 2014, pp. 1724-1734에서 K. Cho, B. van Merri
Figure pat00008
nboer, C. Gulcehre, D. Bahdanau, F. Bougares, H. Schwen 및 Y. Bengio의, "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation" 및 NIPS Deep Learning Workshop, 2014에서 J. Chung, C. Gulcehre, K. Cho 및 Y. Bengio의 "Empirical evaluation of gated recurrent neural networks on sequence modeling" 참조). 일 실시예에서, 추정된 근단 신호 q(t)를 깨끗한 근단 스피치 신호 s(t)로 추정하는 주 목표를 개선하기 위해, RNN 음향 에코 제거 모듈은 멀티태스킹 학습을 사용하여 학습되어, 에코 신호 y(t)를 추정하는 보조 목표를 학습할 수 있다. 후술할 실험 결과에서는, 본 개시의 일 실시예가 별도의 이중-토크 검출기를 포함하지 않고도 비선형 왜곡을 갖는 단일-토크 기간 및 이중-토크 기간 모두에서 음향 에코를 제거할 수 있는 것을 보여준다.
도 2는 음향 에코 제거 시스템(200)을 나타내는 블록도이다. 마이크로폰 신호 d(t)=s(t)+y(t)는 에코 신호 y(t)가 제거되도록 에코 제거 시스템(200)에 제공될 수 있다. 편의를 위해, 본 개시의 일 실시예에서는 16kHz에서 샘플링된 오디오 신호와 관련하여 설명될 것이다. 그러나 본 발명이 이에 한정되는 것은 아니며, 16kHz보다 높은 레이트 또는 16kHz보다 낮은 레이트로 샘플링된 오디오 신호에도 적용될 수 있다.
도 2를 참조하면, 마이크로폰 신호 d(t)는, STFT(Short Time Fourier Transform) 모듈(212), STFT 모듈(212)의 출력의 켤레 대칭 절반을 제거하기 위한 절대값 모듈(214), 및 "피처 공간", "초공간" 또는 "로그 스펙트럼 공간"에서 최종 로그 크기 스펙트럼 특징 벡터, 로그 스펙트럼 특징 또는 마이크로폰 신호 특징
Figure pat00009
을 계산하기위한 로그 연산 모듈(216)을 포함하는, 마이크로폰 신호 특징 추출 모듈(210)에 공급될 수 있다. STFT 모듈(212)은 마이크로폰 신호 d(t)의 위상
Figure pat00010
을 계산할 수 있다.
편의를 위해, 스펙트럼 특징 벡터가 256-포인트의 프레임 시프트를 갖는 512-포인트 단시간 푸리에 변환(STFT)을 사용하여 계산되는 일 실시예가 설명될 것이다(주어진 16kHz 샘플링 레이트에서, 각 프레임은 프레임 간 16ms 시프트를 가지고 32ms에 대응하므로, 프레임 간에 16ms의 오버랩이 발생할 수 있다). 일 실시예에서, 절대값 모듈(214)은 켤레 대칭되는 절반을 제거함으로써 512-포인트 STFT 크기 벡터를 257-포인트로 감소시킬 수 있다. 일 실시예에서, 특징들(예를 들어, 마이크로폰 신호 특징들
Figure pat00011
)은 후술할 바와 같이 트레이닝 데이터로부터 계산된 스칼라를 사용하여 영의 평균 및 단위 분산을 갖도록 표준화될 수 있다. 스펙트럼 특징 벡터는 512-포인트 초과 또는 512-포인트 미만으로 계산되거나, 더 길거나 더 짧은 프레임 시프트(예를 들어, 프레임들 간의 더 많은 오버랩 또는 더 적은 오버랩)로 계산될 수 있다.
도 1b를 참조하면, 본 개시의 일 실시예는 수신된 원단 신호 x(t)를 사용하여 음향 에코를 추정하는 것에 관한 것일 수 있다. 보다 구체적으로, 일 실시예에서, 원단 신호 x(t)는 원단 신호 특징 추출 모듈(220)에도 적용될 수 있다. 일 실시예에서, 원단 신호 특징 추출 모듈(220)은 마이크로폰 신호 특징 추출 모듈(210)과 실질적으로 유사하며 STFT 모듈(222), 절대값 모듈(224) 및 로그 연산 모듈(226)을 포함할 수 있다. 원단 신호 특징 추출 모듈(220)은 원단 신호 x(t)로부터 (특징 공간 또는 초공간에서) 원단 신호 특징
Figure pat00012
을 계산할 수 있다. 본 개시의 일 실시예에서, 원단 신호 특징
Figure pat00013
은 (특징 공간 또는 초공간에서) 추정된 에코 특징
Figure pat00014
을 계산하는 에코 추정기(230)에 공급될 수 있다.
본 개시의 일 실시예에서, 근단 추정기(250)는 추정된 근단 스피치 특징들
Figure pat00015
을 계산하기 위해 마이크로폰 신호 특징들
Figure pat00016
, 원단 신호 특징들
Figure pat00017
및 추정된 에코 특징들
Figure pat00018
(또는 에코 추정기(230)의 다른 출력들)을 수용할 수 있다. 추정된 근단 스피치 특징
Figure pat00019
은 특징 반전 모듈 또는 신호 합성 모듈(270)에 공급될 수 있으며, 여기에는 근단 스피치 또는 근단 신호 s(t)의 추정치가 되는, 추정된 근단 스피치 특징
Figure pat00020
을, 특징 공간 또는 초공간으로부터 시간 도메인 신호 q(t)로 변환하기 위한, (입력 신호에 적용된 로그 연산을 반전시키기 위한) 지수 연산 모듈(272) 및 역 단시간 푸리에 변환(iSTFT) 모듈(274)이 포함될 수 있다.
다양한 스피치 처리 애플리케이션에서, 이전 및/또는 다음의 데이터 프레임을 사용하는 것은 현재 프레임의 특성을 계산하는데 도움이 될 수 있다. 이러한 스피치 처리 애플리케이션들 중 일부에서는, 고정된 컨텍스트(Context) 윈도우가 심층 신경망의 완전 연결 제1 레이어에 대한 입력으로서 사용될 수 있다. 이러한 방법에서는, 정보가 더 깊은 레이어를 통해 흐르기 때문에, 제1 레이어 이후에 컨텍스트 정보가 손실될 수 있다.
따라서, 본 개시의 일 실시예는, 컨텍스트 정보를 신경망 전체에 걸쳐 이용할 수 있도록 유지하기 위해 신경망의 입력 및 출력 모두에 대한 컨텍스트 특징을 사용할 수 있다. 일 실시예에서, 현재 프레임에 대한 입력 특징들은 현재 프레임 k의 특징 벡터
Figure pat00021
및 6개의 이전 프레임 또는 인과 프레임들 (
Figure pat00022
)의 특징 벡터들 (
Figure pat00023
)을 포함할 수 있다. 본 개시의 일 실시예에서, (다음 프레임들과는 반대로 이전 프레임들로부터의 데이터만을 사용하는) 인과 윈도우들은 추가적인 지연(Latency)을 방지하기 위해 선택될 수 있다(예를 들어, 프레임들의 인과 윈도우들을 사용할 때는 현재 프레임 k를 처리하기 이전에 다음 프레임
Figure pat00024
들의 도착을 기다릴 필요가 없다). 7개의 프레임은 112ms의 수용 파일(Receptive filed of 112ms)을 생성할 수 있는데, 이는 일반적으로 스피치 신호를 처리하기에 충분히 길다. 컨텍스트-인식을 통합하기 위해, 본 개시의 일 실시예는 에코 추정 모듈 및 근단 추정 모듈에서 각각 7개의 시간-스텝(또는 프레임)을 갖는 언롤드(Unrolled) 심층 GRU(Gated Recurrent Unit) 네트워크를 사용하는 것에 관련될 수 있다. 그러나, 본 개시의 일 실시예는 이에 제한되지 않고, 6개를 초과하는 이전 데이터 프레임 또는 6개 미만의 이전 데이터 프레임으로 구현될 수도 있다.
도 3은 언롤드 심층 GRU(Gated Recurrent Unit) 네트워크의 입력 레이어를 도시하는 블록도이다. 도 3을 참조하면, 입력 GRU 레이어(232)의 7개의 GRU 각각은 현재 프레임
Figure pat00025
및 6개의 이전 프레임들
Figure pat00026
에 대응하는 특징 벡터로부터, 대응하는 입력 특징 벡터를 수신할 수 있다. 입력 GRU 레이어(232)의 7개의 GRU 각각은 히든 특징 벡터 또는 활성화 h를 계산할 수 있다. 예를 들어, k-6번째 프레임에 대응하는 입력 GRU 레이어(232)의 GRU는, 대응하는 특징 벡터
Figure pat00027
를 수신하고 활성화
Figure pat00028
를 계산할 수 있다. 입력 GRU 레이어(232)의 각각의 이전 GRU로부터의 활성화는 순차적으로 다음 GRU에 공급될 수 있다. 예를 들어, k-6번째 프레임에 대응하는 GRU로부터의 활성화
Figure pat00029
는, k-5번째 프레임에 대한 GRU에 입력으로서 공급될 수 있다. 따라서, k-5번째 프레임에 대한 GRU는 대응하는 입력 특징 벡터
Figure pat00030
및 이전 프레임의 활성화
Figure pat00031
로부터 자신의 활성화
Figure pat00032
를 계산할 수 있다. 이러한 반복 계산은, 현재 프레임을 처리할 때 이전 프레임의 컨텍스트 정보가 사용될 수 있도록 한다.
일 실시예에서, 각각의 GRU는 다음에 따라 출력 활성화를 계산한다:
Figure pat00033
Figure pat00034
은 요소별 곱셈이며, 업데이트 게이트
Figure pat00035
는 다음과 같다:
Figure pat00036
Figure pat00037
는 시그모이드 함수이다. 후보 히든 상태(Candidate hidden state)
Figure pat00038
는 다음으로 계산된다:
Figure pat00039
Figure pat00040
는 지수 선형 단위 함수이고, 리셋 게이트(Reset gate)
Figure pat00041
는 다음으로 계산된다:
Figure pat00042
U, W,
Figure pat00043
,
Figure pat00044
,
Figure pat00045
Figure pat00046
은 GRU의 내부 가중치 행렬에 의해 계산된다. 일 실시예에서, 주어진 레이어의 각 GRU(예를 들어, 입력 GRU 레이어(232)의 각 GRU)는 동일한 가중치 세트(따라서 신경망의 "반복" 특성을 가진다)를 사용한다. 일 실시예에서, 내부 가중치 행렬의 값은 후술할 트레이닝 프로세스를 통해 학습될 수 있다.
도 4는 AEC(Acoustic Echo Cancellation) 신경망(228)의 구조를 나타내는 블록도이다. 음향 에코 제거(AEC) 신경망(228)은 2개의 적층된 GRU 네트워크를 포함하는 심층 신경망 모델을 포함할 수 있다. 제1 스택은 도 2에 도시된 에코 추정기(230)에 대응할 수 있고, 입력 GRU 레이어(232)의 각각의 GRU에 대한 입력으로서 컨텍스트-인식 프레임
Figure pat00047
을 취하고, 선형 활성화와 함께 완전 연결(Fully Connected, FC) 출력 레이어(236)를 사용하여 에코 특징
Figure pat00048
을 추정할 수 있다. 도 4를 참조하면, 제1 스택은 하나의 히든 GRU 레이어(234)를 포함할 수 있다. 보다 구체적으로, 제1 GRU 레이어 또는 입력 GRU 레이어(232)는 도 3에서 전술한 바와 같이 제1 활성화
Figure pat00049
를 계산할 수 있다. 제1 활성화는 제2 활성화
Figure pat00050
를 계산하기 위해 제2 GRU 레이어(234)에 공급될 수 있다. 도 4를 참조하면, 제2 GRU 레이어(234)는 스택의 마지막 GRU 레이어일 수 있다. 이와 같이, 스택의 마지막 GRU 레이어의 활성화(여기서, 제2 활성화
Figure pat00051
)는 추정된 에코 특징
Figure pat00052
을 계산하기 위해 완전 연결 출력 레이어(236)에 공급될 수 있다. 그러나, 본 개시의 일 실시예는 이에 한정되지 않으며, 에코 추정기(230)의 신경망에 하나 이상의 히든 레이어를 포함할 수 있다. 예를 들어, 하나 이상의 추가 GRU 레이어가 입력 GRU 레이어(232)와 마지막 GRU 레이어(234) 사이에 삽입될 수 있으며, 여기서 각각의 i번째 추가 레이어는 이전 레이어의 활성화
Figure pat00053
에 기초하여 자신의 활성화
Figure pat00054
를 계산할 수 있다.
도 4를 참조하면, 제1 스택(에코 추정기(230))으로부터의 마지막 GRU 레이어(234)의 출력
Figure pat00055
은 연접 레이어(251)에 공급되어, 제2 스택(근단 추정기(250))의 제1 GRU 레이어(253)의 연접된 입력 c를 생성하기 위해, 마이크로폰 신호 d(t)의 특징
Figure pat00056
및 원단 신호 특징
Figure pat00057
에 대응하는 컨텍스트-인식 프레임과 연접될 수 있다. 도 4를 참조하면, 제2 스택(근단 추정기(250))은 3개의 GRU 레이어: 제3 GRU 레이어(253), 제4 GRU 레이어(254) 및 제5 GRU 레이어(255)를 포함하고, 이는 대응하는 제3 활성화
Figure pat00058
(연접된 입력 c를 수신할 수 있다), 제4 활성화
Figure pat00059
및 제5 활성화
Figure pat00060
를 계산할 수 있다. 히든 GRU 레이어 중 마지막 활성화(예를 들어, 도 4에서 제5 GRU 레이어(255)로부터의 제5 활성화
Figure pat00061
)는 완전 연결 출력 레이어(259)에 공급되어 추정된 근단 스피치의 특징의 컨텍스트-인식 프레임
Figure pat00062
을 추정하도록 한다. 도 4를 참조하면, 네트워크는 6개의 이전 프레임
Figure pat00063
의 추정된 근단 스피치를 계산할 수도 있고, 이는 후술할 바와 같이 손실 함수를 통해 학습 도중의 손실을 계산하는데 사용될 수 있다.
전술한 바와 같이, 도 4를 참조하면, 현재 프레임 k 및 6개의 이전 프레임들
Figure pat00064
로부터의 데이터는 추정된 근단 스피치의 특징
Figure pat00065
을 계산하는데 사용될 수 있다. 또한 전술한 바와 같이, 도 4를 참조하면, 본 개시의 일 실시예는 257-포인트 특징 벡터를 사용할 수 있다. 따라서, 원단 신호 x(t)의 특징 벡터
Figure pat00066
의 7개의 프레임은
Figure pat00067
차원을 가질 수 있다. 도 4를 참조하면, 각각의 GRU 유닛의 활성화 또는 출력 h는 길이가 1000인 벡터일 수 있지만, 이에 제한되지 않는다. 도 4에 도시된 일 실시예는 7개의 데이터 프레임을 사용하므로, 각각의 GRU 레이어(232, 234)의 출력 또는 활성화는
Figure pat00068
차원을 가질 수 있다. 입력 특징 벡터의 형상과 매칭하기 위해, 각각의 출력 추정된 에코 특징
Figure pat00069
은 257의 길이를 가질 수 있고, 에코 추정기의 완전 연결 출력 레이어(236)의 출력은
Figure pat00070
차원을 가질 수 있다.
도 4를 참조하면, 마이크로폰 신호 d(t)는 원단 신호 x(t)에 사용되는 것과 실질적으로 동일한 특징 추출기에 공급되므로, 각 프레임에 대한 마이크로폰 신호 특징
Figure pat00071
또한 각각의 프레임에 대한 길이 257 값의 특징 벡터이고, 마이크로폰 신호 특징
Figure pat00072
의 7개의 프레임 전체는
Figure pat00073
의 차원을 가진다. 각각의 연접 레이어(251)의 연접 유닛은, (길이 1000을 가지는) 제1 스택의 마지막 GRU 레이어(234)의 출력(예를 들어, 출력 활성화
Figure pat00074
), (길이 257을 가지는) 원단 신호 특징
Figure pat00075
, 및 (길이 257을 가지는) 대응되는 프레임의 마이크로폰 신호 특징
Figure pat00076
을 연접하고, 따라서 각각의 연접 유닛의 출력 c는 길이 1000 + 257 + 257 = 1514를 가질 수 있고, 연접 레이어(251)의 출력은
Figure pat00077
차원을 가질 수 있다.
도 4를 참조하면, 에코 추정기(230)와 유사한 방식으로, 근단 추정기(250)의 각각의 GRU 레이어(253, 254, 255)는
Figure pat00078
차원의 출력 활성화 h를 생성할 수 있고(예를 들어, 각각의 GRU 유닛 맵은 길이 1000을 갖는 활성화 또는 활성화 벡터를 계산한다), 최종 완전 연결 레이어(259)는 현재 프레임 및 6개의 이전 프레임의 추정된 근단 스피치의 특징 벡터
Figure pat00079
(길이 257을 가짐)를 생성할 수 있고, 여기서 완전 연결 레이어(259)의 출력은
Figure pat00080
차원을 가질 수 있다.
도 5a는 음향 에코 제거 모듈의 반복 신경망을 학습시키기 위한 방법(500)의 흐름도이다. 일반적으로, 신경망을 학습시키는 과정은, 신경망의 출력과 트레이닝 데이터에서 주어진 입력 세트를 위한 레이블된 트레이닝 데이터 세트의 "실제(Ground-truth)" 데이터 사이의 손실 함수를 최소화하기 위해 파라미터를 조정함으로써, 신경망의 가중치 및 바이어스와 같은 신경망의 다양한 파라미터를 계산하는 것을 포함할 수 있다. 학습은 트레이닝 데이터에 액세스할 수 있는 컴퓨터 시스템(프로세서 및 메모리를 포함하고, 그래픽 처리 유닛(GPU)과 같은 벡터 프로세서가 이용될 수 있음)에 의해 수행될 수 있으며, 트레이닝 데이터는 트레이닝 세트, 테스트 세트, 및 검증(Validation) 세트로 분할될 수 있다. 일반적으로, 트레이닝 세트는 네트워크의 파라미터를 학습하는데 사용되고, 검증 세트는 네트워크의 다양한 하이퍼-파라미터(예를 들어, 각 유닛의 뉴런 수 및 신경망의 레이어 수와 같은 구조적 파라미터)를 결정하는데 사용되고, 테스트 세트는 학습된 시스템의 전체 성능을 평가하는데 사용될 수 있다.
본 개시의 일 실시예에 의한 특정 음향 에코 제거 영역에서, 트레이닝 데이터는 원단 신호 x(t), 근단 신호 s(t), 및 에코 신호 y(t)를 포함할 수 있다. 일 실시예에서, 음향 에코 제거 모듈의 반복 신경망을 학습시키는 방법(500)은 510에서, 컴퓨터 시스템은 Annual Conference of the International Speech Communication Association, 2018, pp. 3239-3243의 H. Zhang 및 D. Wang의, " Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios"에 기술된 것과 유사한 방식으로 트레이닝 데이터를 생성할 수 있다. 일 실시예에서, TIMIT 데이터 세트는 트레이닝 데이터를 생성하는데 사용될 수 있다(예를 들어, Speech Input/Output Assessment and Speech Databases, 1989 에서 F. Lamel, R. H. Kassel, 및 S. Seneff의 "Speech database development: Design and analysis of the acoustic-phonetic corpus," 참조).
도 5b는 트레이닝 데이터의 생성 방법(510)의 흐름도이다. 일 실시예에서, 입력 데이터 세트는 복수의 상이한 인간 스피커 또는 음성으로부터의 녹음된 스피치를 포함할 수 있다. 트레이닝 데이터의 생성 방법(510)은 511에서, 근단 및 원단 스피커로서 사용되도록 복수 인간 스피커 쌍이 선택될 수 있다(예를 들어, 무작위로). 513에서, 각각의 쌍으로부터, 원단 스피커의 3개의 발음이 무작위로 선택되고 연접되어 실제 원단 신호 x(t)를 생성한다. 515에서, 각각의 쌍에 대해, 원단 신호 x(t)는 음향 경로의 효과를 시뮬레이션함으로써 대응하는 에코 신호 y(t)를 생성하도록 변환된다. 후술할 바와 같이, 도 5c는 시뮬레이션된 실제 에코 신호 y(t)의 생성 방법을 설명한다.
517에서, 하나의 쌍의 근단 스피커의 각 발음은, 실제 근단 신호 s(t) 생성하기 위해, 발음 전후에 0을 채워서 원단 신호와 동일한 사이즈를 갖도록, 대응하는 원단 신호 x(t)와 동일한 길이로 패딩되거나 확장된다(예를 들어, 페어링된 원단 인간 스피커에 따라 생성된 각각의 연접된 원단 신호에 대해). (일 실시예는 이에 한정되지 않고, 패딩된 신호에 노이즈가 추가될 수도 있다) 일 실시예에서, 하나 이상의 원단 신호 x(t) 및 근단 신호 s(t) 쌍이 각각의 원단 및 근단 쌍에서 선택될 수 있다.
519에서, 컴퓨터 시스템은 대응하는 트레이닝 마이크로폰 신호 d(t)를 생성하기 위해 각 쌍에 대해 계산된 실제 에코 신호 y(t) 및 실제 근단 신호 s(t)를 혼합(예를 들어, 추가)한다. 트레이닝 혼합물의 경우, 일 실시예에서, 컴퓨터 시스템은, 근단 스피치 신호와 에코 신호를 혼합함으로써 {-6, -3, 0, 3, 6}dB에서 무작위로 선택된 SER(Signal to Echo Ratio, 신호 대 에코 비) 레벨에서 519의 트레이닝 마이크로폰 신호 d(t)를 생성할 수 있다. SER 레벨은 이중-토크(Double-Talk) 기간에서 다음과 같이 계산될 수 있다.
Figure pat00081
도 5c는 IEEE Transactions on audio, speech, and language processing, vol. 20, no. 7, pp. 2065-2079, 2012에 기재된 S. Malik 및 G. Enzner의, "State-space frequency-domain adaptive filtering for nonlinear acoustic echo cancellation,"에 설명된 것과 유사한 방식으로, 시뮬레이션되거나 실제인 에코 신호 y(t)의 생성 방법(515)의 흐름도이다. 음향 경로의 비선형 모델의 경우, 515-1에서, 컴퓨터 시스템은 하드 클리핑을 적용하여 스피커의 증폭기를 시뮬레이션 한다(일 실시예에서,
Figure pat00082
는 입력 신호의 최대 볼륨의 80 %로 설정될 수 있다).
Figure pat00083
515-3에서, 스피커 왜곡을 시뮬레이션하기 위해 컴퓨터 시스템은 다음과 같은 시그모이드 함수를 적용한다:
Figure pat00084
여기서,
Figure pat00085
이고, b(t)>0일 때, a=4이고, 그밖에는 a=0.5이다.
일 실시예에서, 515-5에서, 룸 임펄스 응답(RIR) g(t)는 RIR 세트로부터 무작위로 선택되며, 각 RIR의 길이는 512이고, 시뮬레이션 룸 크기는 4 미터Х4 미터Х3 미터이고, 시뮬레이션된 마이크로폰은 [2 2 1.5] 미터 위치(룸 중앙)에 고정된다. 시뮬레이션된 스피커는 마이크로폰에서 1.5m 떨어진 임의의 7개 장소에 배치된다. 일 실시예에서, 복수의 상이한 RIR들은 상이한 룸 크기들 및 시뮬레이션된 마이크로폰 및/또는 시뮬레이션된 스피커의 상이한 배치로 생성될 수도 있다.
일 실시예에서, RIR은 200ms의 반향 시간(Reverberation time,
Figure pat00086
)에서 이미지 방법을 사용하여 생성될 수 있다(예를 들어, The Journal of Acoustic Society of America, vol. 65, no. 4, pp. 943-950, 1979.에 기재된 J. B. Allen, D. A. Berkley의, "Image method for efficiently simulating small-room acoustics," 참조). 생성된 RIR로부터, RIR 중 일부는 트레이닝 데이터를 생성하는 데 사용되며(예를 들어, 무작위로 선택될 수 있음), 다른 RIR은 테스트 데이터를 생성하도록 비축될 수 있다.
515-7에서, 룸에서 스피커를 통해 재생되는 왜곡된(비선형) 원단 신호
Figure pat00087
의 음향 전송을 시뮬레이션하기 위해 시그모이드 함수의 출력이 임의로 선택된 룸 임펄스 응답(RIR) g(t)와 컨볼루션될 수 있다:
Figure pat00088
여기서, *는 컨볼루션 연산이다.
일 실시예에서, 선형 음향 경로
Figure pat00089
는 에코 신호를 생성하기 위해 RIR g(t)와 원래의 원단 신호 x(t)를 컨볼루션함으로써 시뮬레이션되며, 클리핑 및 스피커 왜곡과 같은 비선형성은 본 모델에 적용되지 않는다:
Figure pat00090
다시 도 5a를 참조하면, 520에서, 컴퓨터 시스템은, 전술한 특징 추출기를 사용하여 트레이닝 데이터(실제 근단 신호 s(t), 실제 원단 신호 x(t), 실제 에코 신호 y(t), 및 마이크로폰 신호 d(t))의 각 부분으로부터 특징 벡터(실제 근단 특징
Figure pat00091
, 실제 원단 특징
Figure pat00092
, 실제 에코 특징
Figure pat00093
, 및 마이크로폰 특징
Figure pat00094
)를 계산한다.
530에서, 컴퓨터 시스템은 트레이닝 데이터에 따라 AEC(228)의 신경망을 학습시킨다. 보다 구체적으로, 전술한 바와 같이, 각각의 GRU는 내부 가중치 행렬 U, W,
Figure pat00095
,
Figure pat00096
,
Figure pat00097
, 및
Figure pat00098
에 기초하여 입력으로부터 대응하는 활성화 h를 계산한다. 또한, 완전 연결 유닛 각각은 특징 공간(예를 들어, STFT 공간)의 출력에 입력을 완전 연결 유닛에 매핑하기 위한 복수의 내부 가중치 W 및 바이어스 b(예를 들어, Wx+b 형태의 아핀(Affine) 함수 적용)를 포함한다.
신경망을 학습시키는 것은 출력 특징 벡터(추정된 근단 특징
Figure pat00099
및 추정된 에코 특징
Figure pat00100
)가 실제 특징 벡터(실제 근단 특징
Figure pat00101
및 실제 에코 특징
Figure pat00102
)와 근사하도록 GRU 및 완전 연결 유닛의 내부 가중치를 학습시키는 것을 포함한다. 현재 내부 가중치 세트로 구성된 신경망이 기본 데이터에 얼마나 근접한지를 나타내는, 출력 특징 벡터
Figure pat00103
Figure pat00104
와 실제 특징 벡터
Figure pat00105
Figure pat00106
사이의 차이는 손실 함수를 사용하여 측정될 수 있다.
일 실시예에서, 평균 절대 에러(Mean Absolute Error, MAE) 손실 함수는 신경망을 학습시키기 위해 사용된다. 평균 절대 에러는 특징 공간(예를 들어, STFT 도메인)에서 실제 소스(근단 신호 s(t))와 네트워크 추정 출력(추정된 근단 신호 q(t)) 사이에서 계산된다. 일 실시예에서, 네트워크 가중치를 계산하기 위해 근단 신호 s(t) 및 에코 경로 신호 y(t)를 모두 설명하는 가중 손실 함수를 사용할 수 있다. 따라서, 일 실시예에서, 주어진 프레임 k에 대한 손실은 현재 프레임과 6개의 이전 프레임에 기초하여 계산될 수 있다:
Figure pat00107
여기서,
Figure pat00108
는 근단 신호와 관련된 손실과 에코 신호와 관련된 손실 사이의 가중치 계수이고,
Figure pat00109
는 i번째 프레임에 대한 실제 근단 특징에 대응하고,
Figure pat00110
는 i번째 프레임에 대한 추정된 근단 특징에 대응하고,
Figure pat00111
는 i번째 프레임에 대한 실제 에코 특징에 대응하고,
Figure pat00112
는 i번째 프레임에 대한 추정된 에코 특징에 대응한다. m개의 이전 데이터 프레임이 컨텍스트(예를 들어, 길이 m의 프레임의 인과 윈도우)에 사용되는 일 실시예에서, 합산은 n=0부터 m까지 실행된다. 편의를 위해, m=6인 경우의 실시예로 기술하였다.
일 실시예에서, 가중치는 그래디언트(Gradient) 하강 및 역전파(Backpropagation)를 사용하여 계산된다. 특히, 가중치는 신경망의 현재 출력과 실제의 차이에 기초하여 반복적으로 조정된다. 본 개시의 일 실시예에서, 모델은 AMSGrad 최적화를 사용하여 학습될 수 있고(예를 들어, International Conference on Learning Representations (ICLR), 2018. 에서의 J. Reddi, S. Kale, 및 S. Kumar의 "On the convergence of Adam and beyond" 참조), Adam 변수(예를 들어, International Conference on Learning Representations (ICLR), 2015. 에서의 D. P. Kingma 및 J. L. Ba의 "Adam: a method for stochastic optimization" 참조)는,
Figure pat00113
,
Figure pat00114
및 100 에포크(epoch)에서
Figure pat00115
로 설정될 수 있고, 100의 배치(batch) 크기를 가질 수 있다. 일 실시예에서, 모든 레이어의 가중치는 Xavier 방법으로 초기화될 수 있고(예를 들어, International Conference on Artificial Intelligence and Statistics, 2010, pp. 249-256에서 X. Glorot, 및 Y. Bengio의, "Understanding the difficulty of training deep feedforward neural networks" 참조) 바이어스는 0으로 초기화될 수 있다. 일 실시예에서, 정규화(Regularization) 상수가 0.000001인 모든 가중치에 대한 L2 정규화는 과적합(Overfitting)을 방지하기 위해 사용될 수 있다.
신경망의 가중치를 학습한 후, 학습된 네트워크는 네트워크의 정확성을 검증하기 위해 트레이닝 데이터의 테스트 세트를 사용하여 테스트될 수 있다. 전술한 바와 같이, 테스트 세트는 트레이닝 세트에 사용되지 않은 스피커로부터의 발음 및/또는 트레이닝 세트에 존재하지 않은 RIR 및/또는 다른 왜곡을 사용하여 형성될 수 있다. 따라서, 테스트 세트는 학습 프로세스가 트레이닝 데이터의 특정 특성에 과적합하지 않고(예를 들어, 특정 인간 스피커의 음향 에코 특성 또는 트레이닝 데이터의 RIR을 제거하는 것), 음향 에코 제거를 위해 일반화된 기능을 수행하도록 신경망을 학습했는지 여부를 평가하는데 사용될 수 있다.
신경망을 학습시키고 학습된 네트워크의 성능이 충분한지(예를 들어, 테스트 세트에 기초하여) 결정한 후에, 가중치는 저장되고 스마트폰 또는 태블릿 컴퓨터와 같은 최종 사용자 장치에서 실행되는 신경망을 구성하는데 사용될 수 있다. 본 개시의 다양한 실시예들에서, 음향 에코 제거 모듈의 신경망은 최종 사용자 장치(10)의 적어도 하나의 프로세서(1620)에서 구현될 수 있으며(예를 들어, 도 16 참조), 프로세서는 다음과 같을 수 있다: 범용 중앙 처리 장치, 그래픽 처리 장치(GPU), FPGA(Field Programmable Gate Array), 신경 처리 유닛(Neural Processing Unit, NPU) 또는 신경망 프로세서(Neural Network Processor, NNP)(예를 들어, 신경망을 사용하여 추론을 수행하도록 구성된 구조를 갖는 프로세서), 또는 신경 형성 프로세서(Neuromorphic Processor). 예를 들어, 신경망의 파라미터(예를 들어, 가중치 및 바이어스) 및 신경망 구조는 프로세서에 연결된 비일시적(non-transitory) 메모리에 저장될 수 있으며, 프로세서는 메모리로부터 파라미터 및 네트워크 구조를 로딩함으로써 네트워크를 사용하여 추론을 수행한다. FPGA의 경우에, FPGA는 비트파일(bitfile)을 사용하여 네트워크 구조 및 가중치로 비일시적인 방식으로 구성될 수 있다. 학습 프로세스는 완전하거나 안정적인 것으로 간주될 수 있기 때문에, 최종 사용자 장치는 현재 추정된 근단 특징
Figure pat00116
또는 추정된 근단 신호 q(t)를 계산하기 위해 추론 모드에서만 신경망을 동작시킬 수 있다.
도 6a는 추론 모드에서 동작하는 AEC(Acoustic Echo Cancellation) 신경망의 구조를 도시한 블록도이다. 도 6a를 참조하면, 추론 시, 예를 들어, AEC 신경망이 사용될 때, 근단 장치(10)는 현재의 추정된 프레임만을 계산하고 원단에 전송하면 되기 때문에(예를 들어, 이전의 추정된 근단 프레임들은 이미 원단으로 전송되었음), 이전 프레임들에 대한 추정된 근단 특징들
Figure pat00117
을 계산할 필요가 없다. (학습 시, 이전 프레임
Figure pat00118
들은 손실 정보에 추가 정보를 제공하기에 유용하다.) 도 6a를 참조하면, 추정 모드에서 근단 추정기(250')의 제2 스택은, 에코 추정기(230')의 제1 스택의 마지막 GRU 레이어(234)의 출력
Figure pat00119
에만 의존하기 때문에 에코 추정기(230')의 제1 스택의 완전 연결 출력 레이어(236)는 추론 모드 신경망에서 생략될 수 있다.
도 6b는 추론 모드에서 신경망을 사용하여 수신된 원단 신호 및 마이크로폰 신호로부터 추정된 근단 신호를 계산하는 방법(600)을 도시한 흐름도이다. 도 6b를 참조하면, 602에서, 음향 에코 제거 시스템(200)은 원단 신호 x(t)를 수신하고, 604에서, 원단 신호 특징 추출 모듈(220)은 원단 신호 x(t)로부터 원단 특징
Figure pat00120
을 추출한다. 나아가, 606에서, 에코 추정기(230')에 대응하는 신경망의 제1 스택은 원단 특징들
Figure pat00121
로부터 에코 추정기 출력을 계산한다. (일 실시예에서, 에코 추정기 출력은 에코 추정기(230')의 제1 스택의 마지막 GRU 레이어(234)의 출력
Figure pat00122
에 대응한다.)
유사하게, 612에서, 음향 에코 제거 시스템(200)은 마이크로폰 신호 d(t)를 수신하고, 614에서, 마이크로폰 신호 특징 추출 모듈(210)은 마이크로폰 신호 d(t)로부터 마이크로폰 신호 특징
Figure pat00123
을 추출한다.
620에서, 근단 추정기(250')에 대응하는 신경망의 제2 스택은 원단 특징들
Figure pat00124
, 에코 추정기 특징들 (예를 들어, h) 및 마이크로폰 특징들
Figure pat00125
로부터 추정된 근단 특징들
Figure pat00126
을 계산한다. 도 6a를 참조하면, 현재 프레임 k에 대한 추정된 근단 특징
Figure pat00127
을 계산할 때, 현재 프레임 k에 더하여 이전 프레임(예를 들어, 6개의 이전 프레임
Figure pat00128
)의 컨텍스트(Context) 특징 또한 근단 추정기(250')에 공급된다. 특히, 도 6a를 참조하면, 원단 특징
Figure pat00129
, 에코 추정기 출력 h 및 현재 프레임 k 및 6개의 이전 프레임
Figure pat00130
로부터의 마이크로폰 특징
Figure pat00131
(예를 들어, 원단 특징
Figure pat00132
, 에코 추정기 출력
Figure pat00133
, 및 마이크로폰 특징
Figure pat00134
)들이, 현재 프레임 k의 추정된 근단 특징
Figure pat00135
를 계산하는 경우에 공급될 수 있다.
622에서, 음향 에코 제거 시스템(200)의 특징 반전 모듈(270)은 현재 프레임의 추정된 근단 특징들
Figure pat00136
로부터 현재 프레임에 대한 추정된 근단 신호 q(t)를 계산한다. 전술한 바와 같이, 특징들(예를 들어, 원단 신호 특징
Figure pat00137
, 마이크로폰 특징
Figure pat00138
및 추정된 근단 특징
Figure pat00139
)은 STFT 공간과 같은 특징 공간 또는 초공간(예를 들어, 스펙트럼 특징들 또는 스펙트럼 도메인)에 있을 수 있다. 따라서, 특징 반전 모듈(270)은 추정된 스펙트럼 특징
Figure pat00140
을 특징 공간으로부터, 원단 장치의 스피커에서 재생하기에 적합한 시간 도메인 신호 q(t)로 변환한다. 도 2를 다시 참조하면, 마이크로폰 신호 d(t)의 위상
Figure pat00141
은 추정된 근단 신호 q(t)를 계산할 때 역 단시간 푸리에 변환(iSTFT) 모듈(274)에 의해 사용될 수도 있다.
도 7은 심층 멀티태스킹 음향 에코 제거 시스템을 포함하는 하이브리드 시스템을 도시하는 블록도이다. 일 실시예에서, 멀티태스킹 GRU 네트워크(200)는 전술한 바와 동일한 구조를 가질 수 있다. 그러나, 추론 과정에서 네트워크의 학습은, 마이크로폰 신호 d(t) 대신에 주파수 도메인 NMLS(Normalized Least Mean Square) 필터(700)의 출력이 사용될 수 있다. 원단 신호 x(t)는 음향 에코 제거 시스템(200)(멀티태스킹 GRU 네트워크를 포함할 수 있다)에 대한 또 다른 입력으로서 유지되고, 출력 타겟은 여전히 근단 특징
Figure pat00142
(
Figure pat00143
로 추정될 수 있음) 및 에코 특징
Figure pat00144
(
Figure pat00145
로 추정될 수 있음)이다.
신경망 테크닉을 이용한 실험 결과
전술한 음향 에코 제거 시스템(200)의 성능을 평가하기 위해, TIMIT 데이터 세트로부터 생성된 트레이닝 데이터를 사용하여 실험이 수행되었다(예를 들어, Speech Input/Output Assessment and Speech Databases, 1989에서 F. Lamel, R. H. Kassel, 및 S. Seneff의 "Speech database development: Design and analysis of the acoustic-phonetic corpus" 참조). 일 실시예에서, 각각의 근단 신호가 5개의 상이한 원단 신호와 혼합된, 근단 스피커의 7개의 발음이, 3,500 개의 트레이닝 혼합물을 생성하기 위해 사용된다. 나머지 430 개의 스피커 중에서 100쌍의 스피커가 원단 및 근단 스피커로 임의로 선택된다. 300개의 테스트 혼합물을 생성하기 위해, 전술한 것과 동일한 절차 수행하나, 각각의 근단 신호가 하나의 원단신호와 혼합된, 근단 스피커의 3개의 발음만이 사용된다. 따라서 테스트 혼합물은 트레이닝 세트에 포함되지 않은 인간 스피커로부터 생성된다.
선형 및 비선형 모델(에코 제거 없음)에 대한 처리되지 않은 테스트 혼합물의 PESQ(Perceptual Evaluation of Speech Quality) 점수가 아래의 표 1에 나타난다. 처리되지 않은 PESQ 점수는 이중-토크 기간에서 마이크로폰 신호를 근단 신호와 비교하여 계산된다.
Figure pat00146
일 실시예에서, 에코 리턴 손실 향상(Echo Return Loss Enhancement, ERLE)은 에코만이 존재하는 단일-토크(Single-talk) 상황에서 본 개시의 음향 에코 제거 시스템(200)에 의해 달성되는 에코 감소를 평가하기 위해 사용되었다. ERLE는 다음과 같이 정의된다.
Figure pat00147
여기서, E는 평균됨으로써 실현되는 통계적 기대 연산이다.
이중-토크 기간 동안 시스템의 성능을 평가하기 위해, PESQ(perceptual evaluation of speech quality)를 사용한다. 일 실시예에서, PESQ는 이중-토크 전용 기간 동안 추정된 근단 스피치 q(t)를 실제 근단 스피치 s(t)와 비교함으로써 계산된다. PESQ 점수는 -0.5에서 4.5 사이이며 점수가 높을수록 더 나은 품질을 나타낸다.
다음으로, FDNLMS(Frequency Domain Normalized Least Mean Square)(예를 들어, IEEE Transactions on Acoustic, Speech and Signal Processing, vol. 13, no. 5, pp. 1048-1062, 2005에서 C. Faller 및 J. Chen의 "Suppressing acoustic echo in a spectral envelope space" 참조)가 비교 설명된다. DTD(Double-Talk Detector)는 마이크로폰 신호 d(t) 및 원단 신호 x(t)의 에너지를 기반으로 사용된다. 경우에 따라, 후처리 알고리즘은 Speech Communication, vol. 20, no. 3-4, pp. 181-190, 1996에서 R. Martin 및 S. Gustafsson의 "The echo shaping approach to acoustic echo control"에 기재된 방법에 기초할 수 있다. 일 실시예는 또한 Annual Conference of the International Speech Communication Association, 2018, pp. 3239-3243에서 H. Zhang 및 D. Wang의 "Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios"에 기술된 BLSTM(Bidirectional Long Short-Term Memory) 방법과 비교될 수 있다.
일 실시예는 음향 경로의 선형 모델(예를 들어, 선형 음향 에코)을 사용하는 비교 방법과 비교된다. 아래의 표 2는 일 실시예의 NLMS 필터, BLSTM 및 컨텍스트-인식 멀티태스킹 GRU("CA 멀티태스킹 GRU"로 표시될 수 있음)에 대한 평균 ERLE 값 및 PESQ 이득을 나타낸다. PESQ 이득은 처리되지 않은 PESQ 값에 대한 각 방법의 PESQ 값의 차이로 계산된다. 표 2는 또한
Figure pat00148
Figure pat00149
를 입력으로 하는, GRU 레이어의 제2 스택만을 사용하는 일 실시예의, 컨텍스트-인식 단일태스킹 GRU("CA 단일태스킹 GRU"로 표시될 수 있음)에 대한 결과를 도시하고, 여기서 손실 함수는 근단 스피치 s(t)의 실제 특징 벡터
Figure pat00150
에 대해서만 네트워크 출력에 불이익을 주어 계산될 수 있다. 결과는 멀티태스킹 GRU가 PESQ 및 ERLE 모두의 관점에서 단일태스킹 GRU보다 우수한 것을 나타낸다. 또한, 본 개시의 일 실시예가 모든 조건에서 종래의 NLMS+후처리 방법 및 BLSTM 방법보다 우수한 것을 나타낸다.
Figure pat00151
본 개시의 일 실시예는 또한 음향 경로의 비선형 모델(예를 들어, 비선형 음향 에코)을 사용하는 비교 방법과 비교된다. 본 실험 세트에서, 비선형 실제 에코 신호
Figure pat00152
는 마이크로폰 신호 d(t)를 생성하는데 사용되었으므로, 모델은 증폭기 클리핑 및 스피커 왜곡(예를 들어, 도 5c의 515-3 및 515-7에 해당함)을 모두 포함한다. 본 개시의 일 실시예의 결과는 NLMS를 포함하는 비교 AES+RES 방법과 비교된다. 비선형 음향 경로에서, 성능은, Annual Conference of the International Speech Communication Association, 2015, pp. 1775-1779에서 C. M. Lee, J. W. Shin, 및 N. S. Kim의 "DNN-based residual echo suppression"에 기재된, 심층 신경망(Deep Neural Network, DNN) 기반의 잔류 에코 억제(Residual Echo Suppression, RES) 시스템과 비교된며, 아래의 표 3에서 "AES+DNN"으로 표시된다. 아래의 표 3에 기재된 결과는 본 개시의 일 실시예가 PESQ 및 ERLE에서의 다른 두 개의 비교 방법보다 우수한 것을 나타낸다
Figure pat00153
본 개시의 일 실시예는 과도한 근단 왜곡 없이 우수하게 에코 감소를 달성할 수 있다(예를 들어, 추정된 근단 신호 및 실제 근단 신호에 대응하는 스펙트럼은 매우 유사하다).
본 개시의 일 실시예의 성능은 추가적인 노이즈 및 음향 경로의 비선형 모델의 존재 하에서도 평가되었다. 일 실시예에서, 트레이닝 데이터를 생성할 때, 3.5dB SER 레벨에서의 비선형 음향 경로와 함께 10dB SNR의 백색 소음이 근단 신호 s(t)에 추가되었다. 그 후, 일 실시예는 NLMS+후처리 시스템과 비교되었다. 아래의 표 4를 참조하면, 본 개시의 일 실시예는 큰 마진을 가지며 비교 방법보다 우수할 수 있다.
Figure pat00154
또한, 상기 논의된 대안적인 하이브리드 실시예는 상이한 잔향 시간 및 마이크로폰으로부터의 스피커 거리에 대해, 보이지 않는 RIR에 대해 평가되었다. 평가에서 모델은, 잔향 시간이 200ms 인 4m x 4m x 3m의 룸 크기와, 512 샘플들의 총 길이와 마이크로폰에서 랜덤 스피커까지의 거리가 1.5m에 해당하는, 상기 논의된 것과 동일한 RIR을 사용하여 학습 및 테스트된다. 하이브리드 시스템의 테스트 중, 스피커 거리는 15cm로 변경되었다. 상기 RIR로 학습된 주파수 영역의 NLMS 및, NLMS와 멀티태스킹 GRU의 하이브리드 방법의 결과는 아래의 표 5에 도시된다. 멀티태스킹 GRU는 다양한 룸 크기(소형, 중형 및 대형), 다양한 잔향 시간(250ms 내지 900ms) 및 15cm의 스피커 거리에서 생성된 RIR로 더욱 미세하게 조정된다. 미세 조정된 결과도 아래의 표 5에 도시된다. 이러한 결과는, 본 개시의 일 실시예의 하이브리드 방법이, 모델이 타겟 장치(예를 들어, 타겟 최종 사용자 근단 장치)의 임펄스 응답으로 미세 조정되면 보다 잘 수행될 수 있음을 시사한다.
Figure pat00155
추가 실시예
본 개시의 일 실시예는 음향 에코 제거 시스템(200)의 신경망에 대한 상이한 구조에 관한 것일 수 있다. 도 8a는 심층 신경망("EchoDNN"으로 표시됨)이 마이크로폰 신호 d(t)로부터 에코를 제거하는데 사용된 음향 에코 제거 시스템의 개략적인 블록도이다. 일 실시예에서, EchoDNN(900)은 복수의 완전 연결(Fully Connected, FC) 레이어들만을 사용할 수 있다.
도 8b는 마이크로폰 신호로부터 에코를 제거하도록 구성된 심층 신경망 구조의 블록도이다. 도 8b를 참조하면, 마이크로폰 신호 d(t) 및 원단 신호 x(t)로부터 추출된 특징
Figure pat00156
Figure pat00157
는, 완전 연결 심층 신경망(EchoDNN)(900)의 입력 레이어(902)로 공급될 수 있다. 도 8b를 참조하면, 네트워크는 3개의 히든 레이어(904, 906 및 908)와 출력 레이어(910)를 포함할 수 있다. 이들 레이어 각각은 예를 들어, 아핀 변환(Affine Transformation)을 구현하는 완전 연결 레이어일 수 있다. 일 실시예에서, 3개의 완전 연결 히든 레이어들(904, 906 및 908) 각각은 4,000개의 유닛(예를 들어, 뉴런)을 포함할 수 있다. 일 실시예에서, 출력 레이어(910) 또한 257 유닛(추출된 Log-Mag 특징의 주파수 빈의 수와 동일)을 갖는 완전 연결 레이어일 수 있다. Log-Mel-Mag 특징을 위해, 일 실시예에서, 출력 레이어는 80 유닛을 사용할 수 있다. 일 실시예에서, ELU(Exponential Linear Unit)가 각각의 유닛에 대한 활성화 함수로서 사용될 수 있다.
근단 신호의 추정된 특징(912)은 완전 연결 심층 신경망(EchoDNN)(900)의 출력으로부터 직접 획득된다. 특징들은 예를 들어, 전술한 특징 반전 모듈(270)을 사용하여, 추정된 근단 스피치 신호를 합성하기 위해 972에서 시간 영역으로 다시 변환된다. 일 실시예에서, 16kHz의 레이트로 샘플링된 마이크로폰 신호 d(t) 및 근단 신호 s(t)에 대해, 50% 중첩을 갖는 512 샘플의 프레임 크기가 사용될 수 있다. 그 후, 512-포인트의 단시간 푸리에 변환(STFT)을 입력 신호의 각 프레임에 적용하여 257 개의 주파수 빈을 생성할 수 있다. 크기 값에 대한 로그 연산을 계산한 후 최종 로그 크기(Log-magnitude, Log-Mag) 특징을 계산할 수 있다. 본 개시의 일 실시예에서, 로그 멜 크기(Log-Mel-magnitude, Log-Mel-Mag)는 특징 공간의 차원을 감소시키고, 그에 따라 적용되는 기술의 복잡성을 감소시키기 위하여, 최종 특징(912)으로서 사용될 수 있다. 일 실시예에서, 특징은 80-차원 멜-변환 매트릭스를 사용하여 압축될 수 있다.
컨텍스트 정보를 사용하기 위해, 일 실시예에서, 입력 신호들의 컨텍스트 프레임에 대한 특징이 입력 특징으로서 추출되고 연접될 수 있다.
다양한 실시예에서, 학습 중에 근단 스피치 신호의 로그 크기(Log-Mag) 특징 또는 Log-Mag(또는 Log-Mel-Mag)가 타겟 레이블로서 사용될 수 있다.
일 실시예에서, AMSGRAD는 학습 중에 최적화기(Optimizer)로서 사용될 수 있다. 일 실시예에서, 타겟 레이블과 네트워크의 출력 사이의 평균 절대 에러(Mean Absolute Error, MAE)가 손실 함수로서 사용될 수 있다.
도 9는 생성 네트워크를 이용한 음향 에코 제거 시스템을 나타내는 블록도이다. 도 9를 참조하면, AEC의 출력에서 (예를 들어, 근단 추정기(250)의 출력에서) WaveNet과 같은 생성 모델(990)은 (예를 들어, arXiv preprint arXiv:1609.03499 (2016)에서 Oord, Aaron van den 등의 "Wavenet: A generative model for raw audio" 참조) 특징 반전 모듈(270)을 대신할 수 있다. WaveNet과 같은 생성 네트워크는 AEC 출력 또는 "Mel-spec"에 의해 제공되는 정보(예를 들어, 멜-로그-크기)에 기초하여 자동 에코 제거(Automatic Echo Cancellation, AEC) 시스템(228)의 출력을 향상시킬 수 있다. 생성 모델(990)은 역 STFT(iSTFT)(274)와 비교하여 근단 스피치 신호 q(t)를 더욱 높은 정확도로 재구성할 수 있다.
컨텍스트 어텐션 신경망을 이용한 에코 제거
어텐션-기반 모델은 시퀀스-투-시퀀스 학습 작업(예를 들어, 입력 오디오 프레임의 시퀀스와 출력 오디오 프레임의 시퀀스)을 수행하기 위한 하나의 접근법 카테고리를 제공할 수 있다. 일 실시예는 음향 에코 제거(AEC)를 위한 컨텍스트 어텐션 신경망(예를 들어, 멀티-헤드 어텐션 신경망)에 관한 것일 수 있다. 일 실시예는 근단 신호를 추정하기 위해 마이크로폰 신호 및 원단 신호의 스펙트럼 특징을 매핑하는 멀티-헤드 셀프 어텐션 메커니즘(또는 신경망)을 갖는 인코더/디코더 구조를 포함할 수 있다. 시뮬레이션 및 실제 기록된 룸 임펄스 응답(Room Impulse Responses, RIRs)을 사용한 실험은 컨텍스트 어텐션 접근법이 어텐션-기반의 구성 요소가 없는 인코더/디코더 구조의 에코 제거 기법들에 비해 에코 리턴 손실 향상(Echo Return Loss Enhancement, ERLE) 점수 및 음성 품질의 지각 평가(Perceptual Evaluation of Speech Quality, PESQ) 점수 측면에서 더 나은 성능을 달성할 수 있음을 나타낸다.
도 10은 컨텍스트 어텐션 신경망을 포함하는 음향 에코 제거 시스템을 나타내는 블록도이다. 도 10의 일 실시예는 전술한 도 2의 일 실시예와 일반적으로 유사할 수 있으나, 에코 제거기(1028)가 별도의 에코 추정기(예를 들어, 도 2 및 도 4에 도시된 에코 추정기(230))를 포함하지 않는다는 차이점을 가질 수 있다. 한편, 후술할 바와 같이, 에코 제거기(1028)는 에코 특징
Figure pat00158
까지 추정하기 위해 신경망을 학습시키지 않고도 마이크로폰 신호 특징
Figure pat00159
및 원단 신호 특징
Figure pat00160
으로부터 추정된 근단 스피치 특징
Figure pat00161
을 계산하는 컨텍스트 어텐션 신경망을 포함할 수 있다. 도 10에서 유사한 참조 번호는 도 2에 도시된 일 실시예의 유사한 구성 요소에 대응할 수 있다.
도 10을 참조하면, 도 2의 일 실시예에서와 같이, 마이크로폰 신호 d(t) = s(t) + y(t)는 음향 에코 제거 시스템(1000)에 공급되어 에코 신호 y(t)를 제거 또는 소거할 수 있다. 마이크로폰 신호 d(t)는 마이크로폰 신호 특징 추출 모듈(1010)으로 공급되는데, 여기에는 STFT(Short Time Fourier Transform) 모듈(1012), STFT 모듈(1012)의 출력의 공액 대칭 절반을 제거하는 절대값 모듈(1014) 및 '특징 공간'또는 '초공간' 또는 '로그 스펙트럼 공간'에서 최종 로그 크기 스펙트럼 특징 벡터 또는 로그 스펙트럼 특징 또는 마이크로폰 신호 특징
Figure pat00162
을 계산하는 로그 연산 모듈(1016)이 포함될 수 있다. STFT 모듈(1012)은 마이크로폰 신호 d(t)의 위상
Figure pat00163
을 계산할 수도 있다.
도 10을 참조하면, 도 2의 일 실시예에서와 같이, 원단 신호 x(t)는 원단 신호 특징 추출 모듈(1020)에도 공급될 수 있다. 일 실시예에서, 원단 신호 특징 추출 모듈(1020)은 마이크로폰 신호 특징 추출 모듈(1010)과 실질적으로 유사하며 STFT 모듈(1022), 절대값 모듈(1024) 및 로그 연산 모듈(1026)을 포함할 수 있다. 원단 신호 특징 추출 모듈(1020)은 원단 신호 x(t)로부터 (특징 공간 또는 초공간에서) 원단 신호 특징
Figure pat00164
을 계산할 수 있다.
도 10을 참조하면, 마이크로폰 신호 특징
Figure pat00165
및 원단 신호 특징
Figure pat00166
은 컨텍스트 어텐션 신경망(컨텍스트 어텐션 인식 모델로 지칭될 수 있다)을 포함하는 에코 제거기(1028)(또는 음향 에코 제거기)에 공급될 수 있다.
도 11a는 컨텍스트 어텐션 신경망을 도시하는 블록도이다. 일 실시예에서, 컨텍스트 어텐션 신경망(1100)은 도 10의 에코 제거기(1028)의 구성 요소이며, 마이크로폰 신호 특징
Figure pat00167
, 및 원단 신호 특징
Figure pat00168
에 기초하여 근단 특징
Figure pat00169
을 계산하는 과정에 사용될 수 있다.
도 11b는 컨텍스트 어텐션 신경망의 게이트 반복 유닛(Gated Recurrent Units, GRUs)의 레이어들을 도시하는 블록도이다.
도 11a 및 도 11b를 참조하면, 컨텍스트 어텐션 신경망(1100)은 인코더 모듈(1110), 컨텍스트 어텐션 모듈(1130) 및 디코더 모듈(1190)을 포함하고, 각각의 모듈은 하나 이상의 뉴런 레이어(예를 들어, 게이트 반복 유닛의 레이어)를 포함할 수 있다. 인코더 모듈(1110)은 마이크로폰 신호 특징
Figure pat00170
및 원단 신호 특징
Figure pat00171
을 입력으로 수신할 수 있다. 도 11a를 참조하면, 2개의 입력 각각은
Figure pat00172
차원을 가질 수 있고, T는 인과 윈도우 또는 컨텍스트 윈도우에서 사용되는 입력 프레임의 수일 수 있다. 예를 들어, 도 3, 도 4 및 도 6a를 참조하면, 프레임의 수 T는 7개의 프레임으로 설정될 수 있고(T=7), 현재 프레임 및 6개의 이전 인과 프레임이 에코 제거에 사용될 수 있다. 일 실시예는 윈도우가 7개의 프레임(T=7)의 크기를 갖는 경우로 한정되지 않는다. 일 실시예에서, 특징들은 257-포인트 벡터로 표현될 수 있다. 도 11a 및 도 11b를 참조하면, 마이크로폰 신호 특징
Figure pat00173
및 원단 신호 특징
Figure pat00174
의 각 프레임은
Figure pat00175
특징을 포함할 수 있고, 따라서 네트워크(1100)의 입력은 총
Figure pat00176
의 차원을 가질 수 있다.
도 11a를 참조하면, 인코더 모듈(1110)은 마이크로폰 신호 특징
Figure pat00177
및 원단 신호 특징
Figure pat00178
의 로그 크기를 취하여 이를 초공간 또는 잠재 공간에 매핑하여 인코딩된 특징 h을 생성하는데, 여기서 인코딩된 특징은
Figure pat00179
차원을 가질 수 있다.
Figure pat00180
도 11b를 참조하면, 인코더 모듈(1110)은 입력 마이크로폰 신호 특징
Figure pat00181
과 원단 신호 특징
Figure pat00182
(각각
Figure pat00183
차원을 가짐)을 연접하여
Figure pat00184
차원의 연접된 특징을 계산하는 연접 레이어(1112)를 포함할 수 있다. 연접된 특징은 도 3에 도시된 것과 실질적으로 유사한 게이트 반복 유닛(GRU) 레이어(1114)로 공급될 수 있고, 각각의 GRU 레이어(1114) 유닛은 다음에 따라 인코딩된 특징 h를 계산할 수 있다.
Figure pat00185
여기서, f는 GRU 함수를 나타내며,
Figure pat00186
는 시간 t에 대한 GRU의 출력을 나타낸다.
컨텍스트 어텐션 모듈(1130)은 인코딩된 특징 h을 취하여 초공간의 중요한 영역을 식별하는 컨텍스트 어텐션(또는 컨텍스트 어텐션 특징) c을 계산하는데, 여기서 도 11a의 컨텍스트 어텐션 c는
Figure pat00187
차원을 가진다.
c = Attention(h)
컨텍스트 어텐션 메커니즘은 모델이 문맥 내에서 각 스피치 프레임의 중요도를 학습할 수 있도록 한다. 이것은 초공간 또는 잠재 공간에서 프레임의 표현을 구성할 때 스피치 프레임에 가중치를 부여함으로써 수행될 수 있다. 일 실시예에서 컨텍스트 어텐션을 적용하는 것은 이중-토크 기간에서 특히 효과적일 수 있다. 어텐션 메커니즘은 이전 프레임 및 이후 프레임 모두에 적용될 수 있지만, 지연을 피하거나 감소시키기 위해 본 개시의 일 실시예에서는 이전 프레임만을 사용할 수 있다.
도 11c는 컨텍스트 어텐션 모듈을 도시하는 블록도이다. 도 11c를 참조하면, 컨텍스트 어텐션 모듈(1130)은 두 개의 멀티-헤드 어텐션(MHA) 레이어(또는 모듈)(1131, 1134)를 포함하고, 제1 멀티-헤드 어텐션 레이어(1131)는 컨텍스트 셀프 어텐션 레이어를 구현할 수 있다. 일반적으로, 멀티-헤드 셀프 어텐션 레이어(1131)와 같은 컨텍스트 셀프 어텐션 레이어는 입력 시퀀스에서 모든 이웃하는 이전 스피치 프레임에 대해 스피치 프레임의 임의의 초공간 표현의 유사성을 캡처하는데 사용될 수 있다.
편의를 위해, 멀티-헤드 셀프 어텐션(MHSA) 레이어에 의해 수행되는 계산은 멀티-헤드 셀프 어텐션 레이어(1131)와 관련하여 보다 상세하게 설명될 것이다. 도 11c를 참조하면 일 실시예에서, 멀티-헤드 어텐션(MHA) 모듈(1134)은 MHSA 모듈(1131)과 실질적으로 동일하지만 MHSA 모듈(1131)과는 다른 입력을 사용한다. 가중치 파라미터
Figure pat00188
는 시간 단계 t 및
Figure pat00189
에서 각각의 레이어(예를 들어, 연접 스피치 프레임 로그 크기
Figure pat00190
Figure pat00191
Figure pat00192
Figure pat00193
)에 입력으로서 제공된 숨겨진 상태 표현간의 유사성을 포착할 수 있다. 일 실시예에서, 컨텍스트 셀프 어텐션 메커니즘은 다음에 따라 가중치 파라미터
Figure pat00194
를 계산할 수 있다.
Figure pat00195
여기서,
Figure pat00196
는 각각의 시간 단계마다 계산된 어텐션 중요도 점수이다. 일 실시예에서, 어텐션 중요도 점수
Figure pat00197
는 "첨가" 방법으로 계산될 수 있다.
Figure pat00198
일 실시예에서, 어텐션 중요도 점수
Figure pat00199
는 "일반" 방법으로 계산될 수 있다.
Figure pat00200
일 실시예에서, 어텐션 중요도 점수
Figure pat00201
는 스피치 프레임에 대한 확률 분포를 구성하기 위해(예를 들어, 소프트맥스(softmax) 활성화 함수를 점수에 적용함으로써) 계산된 후에 정규화될 수 있다.
일 실시예에서, 멀티-헤드 셀프 어텐션 레이어(1131)의 출력은 시간 단계
Figure pat00202
에서의 모든 이전 프레임들의 숨겨진 상태 표현
Figure pat00203
와 현재 프레임의 숨겨진 상태 표현
Figure pat00204
의 유사도
Figure pat00205
가 가중치 합산되어 주어진, 시간 단계 t에서 프레임의 어텐션-포커스 숨겨진 상태 표현일 수 있다. 멀티-헤드 셀프 어텐션 레이어(1131)의 출력은 이웃한 문맥에 기초하여, 임의의 시간 단계에서 스피치 프레임에 얼마나 주의할 것인지를 나타낸다.
Figure pat00206
중요도 점수
Figure pat00207
를 계산하는 일반적인 방법을 개선하기 위해, 일 실시예에서, 온도 파라미터가 소프트맥스 활성화 함수에 사용되고, 하나의 가중치
Figure pat00208
대신에 3개의 학습 가능한 가중치(
Figure pat00209
)가 사용될 수 있다.
Figure pat00210
(예를 들어, NIPS Deep Learning and Representation Learning Workshop, 2015에서, G. Hinton, O. Vinyals, 및 J. Dean의 "Distilling the Knowledge in a Neural Network" 참조)
일 실시예에서, 도 11c를 참조하면, 멀티-헤드 셀프 어텐션 레이어는 멀티-헤드 어텐션 레이어(1134)와 함께 사용될 수 있고(예를 들어, Advances in Neural Information Processing Systems, I. Guyon, U. V Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, 및 R. Garnett, Eds. Curran Associates, Inc., 2017, pp. 5998-6008에서 A. Vaswani 외의 "Attention is All you Need" 참조), 멀티-헤드 셀프 어텐션 레이어(1131) 및 멀티-헤드 어텐션 레이어(1134)는 스킵 커넥션(skip connection) 및 레이어 정규화를 가질 수 있다.
도 11c를 참조하면, 컨텍스트 어텐션 모듈(1130)(또는 컨텍스트 어텐션 레이어)은 인코딩된 특징 h의 3개의 카피를 수신하는 멀티-헤드 셀프 어텐션 모듈(1131)을 포함할 수 있다. 멀티-헤드 셀프 어텐션 모듈(1131)의 출력은 제1 합산 노드(1132)에 공급되고, 제1 합산 노드(1132)는 멀티-헤드 셀프 어텐션 모듈(1131)의 출력을 인코딩된 특징 h의 다른 카피에 합산할 수 있다. 그 후, 제1 합산 노드(1132)의 출력은 제1 레이어 정규화 모듈(1133)에 공급되고(예를 들어, arXiv preprint arXiv:1607.06450 (2016)에서 Ba, Jimmy Lei, Jamie Ryan Kiros, 및 Geoffrey E. Hinton의 "Layer normalization"참조), 레이어 정규화 활성화는 인코딩된 특징 h의 2개의 추가 카피와 함께 멀티-헤드 어텐션 모듈(1134)에 입력으로서 공급될 수 있다. 다시 말해, 멀티-헤드 어텐션 레이어(1134)의 과제는 제1 레이어 정규화 모듈(1133)의 출력 및 인코더의 출력(인코딩된 특징 h)이다. 멀티-헤드 어텐션 모듈(1134)의 출력은 합산 노드(1135)에 공급되고, 합산 노드(1135)는 제2 레이어 정규화 모듈(1136)에 출력하기 전에 제1 레이어 정규화 모듈(1133)의 출력의 카피를 합산한다. 이어서, 제2 레이어 정규화 모듈의 출력은 컨텍스트 어텐션 모듈(1130)로부터 컨텍스트 어텐션(또는 컨텍스트 어텐션 함수) c로 출력된다.
일 실시예에서, 멀티-헤드 어텐션 모듈(1134) 및 제2 레이어 정규화 모듈(1136)이 생략되어, 제1 레이어 정규화 모듈(1133)의 출력이 컨텍스트 어텐션 모듈(1130)의 출력 c로 취해질 수 있다.
다시 도 11a 및 도 11b를 참조하면, 근단 스피치의 추정된 로그 크기
Figure pat00211
는 디코더 모듈(1190)을 사용하여 컨텍스트 어텐션 c로부터 계산될 수 있고, 근단 스피치
Figure pat00212
의 차원은
Figure pat00213
차원일 수 있다(예를 들어, 입력 마이크로폰 특징 및 원단 신호 특징과 동일한 차원).
일 실시예에서, 디코더는 두 개의 GRU 레이어(1192, 1194)를 포함할 수 있다. 제1 GRU 레이어(1192)는 다음에 따라 컨텍스트 어텐션 모듈(1130)로부터의 컨텍스트 어텐션 c(예를 들어,
Figure pat00214
)에 기반하여 출력 s(예를 들어,
Figure pat00215
)를 계산할 수 있다.
Figure pat00216
제2 GRU 레이어(1194)는 다음에 따라 추정된 근단 스피치
Figure pat00217
(예를 들어,
Figure pat00218
)의 스펙트럼 특징을 계산할 수 있다.
Figure pat00219
일 실시예에서, 지수 선형 유닛(exponential linear unit, elu) 활성화 함수는 제1 GRU 레이어(1192)와 함께 사용될 수 있고, 선형 활성화 함수는 제2 GRU 레이어(1194)와 함께 사용될 수 있다.
도 10을 다시 참조하면, 근단 스피치의 추정된 특징
Figure pat00220
은 추정된 근단 스피치 신호 q(t)로 다시 변환되고, 원단 통신 장치로 전송될 수 있다.
일 실시예에서, 도 11a, 11b 및 11c를 참조하면, 컨텍스트 어텐션 신경망(1100)은 도 5a, 5b 및 5c에서 전술한 것과 실질적으로 동일한 학습 절차를 이용하여 학습될 수 있고, 결과적으로 학습된 컨텍스트 어텐션 신경망(1100)은 전술한 것과 유사한 방식으로 통신 장치(예를 들어, 스마트폰 또는 태블릿 컴퓨터와 같은 최종 사용자 장치)에 배치될 수 있다.
도 12는 추론 모드에서 컨텍스트 어텐션 신경망(1100)을 이용하여 수신된 원단 신호 및 마이크로폰 신호로부터 추정된 근단 신호를 계산하는 방법(1200)을 도시하는 흐름도이다. 도 12를 참조하면, 1202에서, 음향 에코 제거 시스템(1000)은 원단 신호 x(t)를 수신하고, 1204에서 원단 신호 특징 추출 모듈(1020)은 원단 신호 x(t)로부터 원단 특징
Figure pat00221
을 추출할 수 있다.
유사하게, 1206에서, 음향 에코 제거 시스템(1000)은 마이크로폰 신호 d(t)를 수신하고, 1208에서 마이크로폰 신호 특징 추출 모듈(1010)은 마이크로폰 신호 d(t)로부터 마이크로폰 신호 특징
Figure pat00222
을 추출할 수 있다.
1210에서, 컨텍스트 어텐션 신경망(1100)(예를 들어, 에코 제거기(1028)의 구성 요소)은 원단 특징들
Figure pat00223
및 마이크로폰 특징들
Figure pat00224
로부터 추정된 근단 특징들
Figure pat00225
을 계산할 수 있다. 예를 들어, 도 11b를 참조하면, 현재 프레임 k에 대해 추정된 근단 특징들
Figure pat00226
을 계산할 때, 현재 프레임 k 외에 T개의 이전 프레임들의 문맥(예를 들어, 6개의 이전 프레임들
Figure pat00227
)으로부터의 특징들도 컨텍스트 어텐션 신경망(1100)에 공급될 수 있다. 특히, 도 11b를 참조하면, 현재 프레임 k에 대한 추정된 근단 특징
Figure pat00228
을 계산할 때, 현재 프레임 k 및 T-1개의 이전 프레임
Figure pat00229
으로부터의 원단 특징들
Figure pat00230
및 마이크로폰 특징들
Figure pat00231
(예를 들어, 원단 특징
Figure pat00232
및 마이크로폰 특징
Figure pat00233
)도 컨텍스트 어텐션 신경망(1100)에 공급될 수 있다.
1212에서, 음향 에코 제거 시스템(1000)의 특징 반전 모듈(1070)은 현재 프레임의 추정된 근단 특징들
Figure pat00234
로부터 현재 프레임에 대한 추정된 근단 신호 q(t)를 계산할 수 있다. 전술한 바와 같이, 특징들(예를 들어, 원단 신호 특징들
Figure pat00235
, 마이크로폰 특징들
Figure pat00236
및 추정된 근단 특징들
Figure pat00237
)은 STFT 공간(예를 들어, 스펙트럼 특징들 또는 스펙트럼 도메인)과 같은 특징 공간 또는 초공간에 있을 수 있다. 따라서, 일 실시예에서, 특징 반전 모듈(1070)은 추정된 스펙트럼 특징들
Figure pat00238
을 특징 공간으로부터 원단 통신 장치에서 스피커상 재생하기에 적합한 시간 도메인 신호 q(t)로 변환하고, 여기서 특징 반전 모듈(1070)은 지수 모듈(1072) 및 iSTFT(inverse Short-Time Fourier transform) 모듈(1074)을 포함할 수 있다. 도 10을 참조하면, 마이크로폰 신호 d(t)의 위상
Figure pat00239
은 추정된 근단 신호 q(t)를 계산할 때 iSTFT 모듈(1074)에 의해 사용될 수도 있다.
컨텍스트 어텐션 신경망 기법을 이용한 에코 제거 실험 결과
일 실시예의 음향 에코를 제거하기 위해 컨텍스트 어텐션 신경망(1100)을 사용하는 음향 에코 제거 시스템(1000)은 전술한 음향 에코 제거 시스템(200)을 테스트하는 것과 유사한 방식으로 학습되고 테스트된다.
비교를 위한 기준을 작성하기 위해 TIMIT 데이터 세트에서 생성된 학습 데이터를 이용하여 마이크로폰 및 원단 신호의 DTD(Double Talk Detection) 기반 에너지로 FDNLMS(Frequency Domain Normalized Least Mean Square) 모델의 성능을 측정한다. (예를 들어, IEEE Trans. Speech Audio Process., vol. 13, no. 5, pp. 1048-1061, 2005에서 C. Faller 및 J. Chen의 "Suppressing acoustic echo in a spectral envelope space" 참조)
Speech Commun., vol. 20, no. 3-4, pp. 181-190, 1996에서 R. Martin 및 S. Gustafsson의 "The echo shaping approach to acoustic echo control"을 기반으로 FDNLMS 오디오에 후반 필터링 방법을 적용(FDNLMS + Post-filtering)한 효과에 대한 몇 가지 추가 테스트가 수행된다. INTERSPEECH, 2015, vol. 2015-Janua, pp. 1775-1779 중 C. M. Lee, J. W. Shin, 및 N. S. Kim의 "DNN-based residual echo suppression"에 기재된 방법을 이용해, 후반 필터링 방법 대신 DNN(Deep Neural Network)를 이용한 추가 테스트가 수행된다(FDNLMS + DNN). 여기서 DNN의 파라미터는 논문에 주어진 값을 기준으로 설정될 수 있다.
제4 기준은 도 11a에 도시된 것과 실질적으로 동일한 인코더/디코더 GRU 네트워크 구조를 사용하였으나(Encoder/Decoder GRU), 컨텍스트 어텐션 모듈(1130)은 생략하였다(예를 들어, 인코더 모듈(1110)의 출력은 디코더 모듈(1190)에 입력으로서 직접 공급될 수 있다).
어텐션을 계산하기 위한 5개의 상이한 변형에 대응하는 실시예들은 전술한 바와 같다. 여기에는 일반, 합산, 또는 스케일된 도트-곱 메커니즘의 사용뿐만 아니라 멀티-헤드 셀프 어텐션(MHSA)자체만 사용하는 경우나 MHSA와 멀티-헤드 어텐션을 함께 사용하는 경우(MHSA + MHA)도 포함된다. 표 6은 합성 RIRs를 사용한 음향 경로의 선형 모델에서 ERLE 및 PESQ 점수를 나타낸다.
Figure pat00240
표 6을 참조하면, 컨텍스트 어텐션을 이용하는 방법은 일반적으로 컨텍스트 어텐션 모듈 없이 FDNLMS, FDNLMS + Post-filtering, FDNLMS + DNN 및 베어 인코더/디코더 GRU를 포함하는 기준 에코 제거 시스템보다 성능이 우수하다. 다양한 실시예들 중, MHSA 및 MHA가 함께 사용되는 경우에 ERLE 및 PESQ 점수가 가장 우수하다.
일 실시예는 시뮬레이션된 파워 증폭기 클리핑 및 스피커 왜곡을 포함하는 비선형 음향 경로로 인한 에코를 제거함에 있어서 FDNLMS + Post-filtering 및 인코더/디코더 GRU 기준과도 비교된다. 표 7은 합성 RIRs를 이용한 비선형 음향 경로 모델(SER=3.5dB)에서의 ERLE 및 PESQ 점수를 나타낸다.
Figure pat00241
표 7을 참조하면, 컨텍스트 어텐션 GRU 에코 제거기는 합성 RIRs를 이용해 실험시 ERLE 및 PESQ 점수 모두에서 FDNLMS + Post-filtering 및 인코더/디코더 GRU(컨텍스트 어텐션 모듈이 없는)보다 성능이 우수하다.
아래의 표 8은 아헨(Aachen) 임펄스 응답 데이터베이스의 실제(합성과 반대의 의미) 기록된 RIRs를 이용한 경우에 동일한 FDNLMS + Post-filtering 및 인코더/디코더 GRU(컨텍스트 어텐션 모듈이 없는) 기준 모델과 비교하여 컨텍스트 어텐션 GRU 에코 제거기의 ERLE 및 PESQ 점수를 나타낸다(예를 들어, International Conference on Digital Signal Processing, 2009에서 M. Jeub, M. Schδfer, 및 P. Vary의 "A binaural room impulse response database for the evaluation of dereverberation algorithms" 참조).
Figure pat00242
표 8을 참조하면, 컨텍스트 어텐션 GRU 에코 제거기는 실제 RIRs를 이용해 실험시 ERLE 및 PESQ 점수 모두에서 FDNLMS + Post-filtering 및 인코더/디코더 GRU(컨텍스트 어텐션 모듈이 없는)보다 성능이 우수하다.
일 실시예에서는 컨텍스트 어텐션 신경망을 에코 제거 시스템의 구성 요소로서 이용할 수 있다. 이러한 컨텍스트 어텐션 신경망은 다른 에코 제거 기법에 비해 우수한 성능을 제공할 수 있다(예를 들어, 전송된 근단 신호에서 인지된 에코를 감소시킬 수 있다).
컨텍스트 어텐션 신경망과 FDNLMS(Frequency Domain Normalized Mean Square)를 함께 사용한 에코 제거
일 실시예는 전술한 것과 유사한 컨텍스트 어텐션 신경망과 FDNLMS를 함께 사용하는 것에 관한 것이다.
일부 음향 에코 제거(Acoustic Echo Cancellation, AEC) 기법에서, FDNLMS는 음향 경로를 추정하는데 사용될 수 있다. 수신된 원단 신호는 FDNLMS를 사용하여 추정된 음향 경로에 의해 수정되어 추정된 에코 신호를 계산할 수 있고, 이는 마이크로폰 신호에서 차감될 수 있다.
일 실시예는 고전적인 에코 추정 기법(예를 들어, FDNLMS가 사용되는 경우)과 AEC를 위한 반복 심층 신경망을 결합하는 하이브리드 접근법에 관련될 수 있다. 일 실시예는 특징 도메인에서 원단 신호 및 마이크로폰 신호와 에러 신호와 함께 사용하여 인코더/디코더 GRU를 이용하여 근단 신호를 추정할 수 있다. 일 실시예에서, 인코더/디코더 GRU 신경망은 인코더 모듈 및 디코더 모듈 사이에 컨텍스트 어텐션 모듈을 더 포함할 수 있다. FDNLMS 업데이트 규칙은 에코 추정값을 계산하는데 사용될 수 있다. 하이브리드 방식을 사용하면 기존의 음향 에코 제거 방법의 장점(예를 들어, 이전에 보지 못한 환경을 잘 처리하는 점)과 딥러닝 방법의 뛰어난 성능이 결합될 수 있다. 시뮬레이션 및 실제 기록된 룸 임펄스 응답(Room Impulse Responses, RIRs)을 사용한 실험은 하이브리드 접근법(예를 들어, 인코더/디코더 GRU 네트워크와 함께 FDNLMS를 사용하는 방법)이 다양한 고전적인 기법 및 딥러닝 방법들에 비해 에코 리턴 손실 향상(Echo Return Loss Enhancement, ERLE) 점수 및 음성 품질의 지각 평가(Perceptual Evaluation of Speech Quality, PESQ) 점수 측면에서 지속적으로 더 나은 성능을 달성할 수 있음을 나타낸다.
도 13은 컨텍스트 어텐션 신경망과 FDNLMS(Frequency Domain Normalized Mean Square) 기법이 결합된 하이브리드를 포함하는 음향 에코 제거 시스템을 도시하는 블록도이다. 도 13의 일 실시예는 도 2의 일 실시예와 일반적으로 유사할 수 있고, 에코 제거기(1328)가 추가 입력으로서 FDNLMS 기법에 따라 계산된 에러 특징
Figure pat00243
을 취할 수 있다는 차이를 가질 수 있다. 일 실시예에서, 에코 제거기(1328)는 반복 신경망을 포함할 수 있다. 후술하는 것과 같이, 일 실시예에서, 에코 제거기(1328)의 반복 신경망은 마이크로폰 신호 특징들
Figure pat00244
, 원단 신호 특징들
Figure pat00245
및 에러 신호 특징들
Figure pat00246
로부터 추정된 근단 스피치 특징들
Figure pat00247
을 계산하는 컨텍스트 어텐션 신경망일 수 있다. 도 13에서 유사한 참조 번호는 도 2 및 도 10에 도시된 실시예들의 유사한 구성 요소에 대응할 수 있다.
도 13을 참조하면, 도 2 및 도 10의 실시예들에서와 같이, 마이크로폰 신호 d(t) = s(t) + y(t)는 음향 에코 제거 시스템(1300)에 공급되어 에코 신호 y(t)를 제거 또는 소거할 수 있다. 마이크로폰 신호 d(t)는 마이크로폰 신호 특징 추출 모듈(1310)으로 공급되는데, 여기에는 STFT(Short Time Fourier Transform) 모듈(1312), STFT 모듈(1312)의 출력의 공액 대칭 절반을 제거하는 절대값 모듈(1314) 및 '특징 공간'또는 '초공간' 또는 '로그 스펙트럼 공간'에서 최종 로그 크기 스펙트럼 특징 벡터 또는 로그 스펙트럼 특징 또는 마이크로폰 신호 특징
Figure pat00248
을 계산하는 로그 연산 모듈(1316)이 포함될 수 있다. STFT 모듈(1312)은 마이크로폰 신호 d(t)의 위상
Figure pat00249
을 계산할 수도 있다.
도 13을 참조하면, 도 2 및 도 10의 실시예들과 같이, 원단 신호 x(t)는 원단 신호 특징 추출 모듈(1320)에도 공급될 수 있다. 일 실시예에서, 원단 신호 특징 추출 모듈(1320)은 마이크로폰 신호 특징 추출 모듈(1310)과 실질적으로 유사하며 STFT 모듈(1322), 절대값 모듈(1324) 및 로그 연산 모듈(1326)을 포함할 수 있다. 원단 신호 특징 추출 모듈(1320)은 원단 신호 x(t)로부터 (특징 공간 또는 초공간에서) 원단 신호 특징
Figure pat00250
을 계산할 수 있다.
도 13은 에러 특징
Figure pat00251
을 계산하는 고전적인 에코 추정기(1330)를 추가로 도시한다. 일 실시예에서, 로그 스팩트럼 에러 특징
Figure pat00252
은 원단 신호 x(t), 마이크로폰 신호 d(t) 및 FDNLMS에 기반하여 추정된 음향 경로로부터 계산될 수 있다. 절대 에러 특징
Figure pat00253
은 다음에 따라 계산될 수 있다.
Figure pat00254
여기서,
Figure pat00255
는 절대 마이크로폰 특징이고(예를 들어, 마이크로폰 신호 특징 추출 모듈(1310)의 절대값 모듈(1314)의 출력),
Figure pat00256
는 절대 원단 특징이고(예를 들어, 원단 신호 특징 추출 모듈(1320)의 절대값 모듈(1324)의 출력),
Figure pat00257
는 고전적인 기법을 사용하여 추정된 음향 경로의 현재 추정치를 나타내는 파라미터이다. 도 13을 참조하면, 고전적인 에코 추정기(1330)의 곱 노드(1332)는 음향 경로 파라미터
Figure pat00258
및 절대 원단 특징
Figure pat00259
의 곱
Figure pat00260
을 계산할 수 있다. 곱의 결과는 추정된 에코 신호 y(t)를 나타내며, 도 13에서 절대 추정된 에코 특징
Figure pat00261
으로 도시된다. FDNLMS를 이용할 때, 음향 경로 파라미터
Figure pat00262
는 다음에 따라 각 프레임에 대해 계산되고 업데이트될 수 있다.
Figure pat00263
여기서, 스텝 크기
Figure pat00264
는 원단 신호 x(t)의 평균 파워
Figure pat00265
에 의해 정규화되고, 다음과 같이 재귀적으로 획득될 수 있다.
Figure pat00266
여기서,
Figure pat00267
는 0과 1 사이의 값을 가질 수 있다.
도 13을 참조하면, 합산 노드(1334)는 절대 마이크로폰 특징들
Figure pat00268
로부터 절대 추정된 에코 특징들
Figure pat00269
을 감산하여 절대 에러 특징들
Figure pat00270
을 계산하고, 로그 연산 모듈(1336)은 절대 에러 특징들
Figure pat00271
로부터 로그 에러 특징들
Figure pat00272
을 계산할 수 있다.
도 13을 참조하면, 마이크로폰 신호 특징
Figure pat00273
, 원단 신호 특징
Figure pat00274
및 에러 특징
Figure pat00275
은 에코 제거기(1328)에 공급될 수 있다. 일 실시예에서, 에코 제거기(1328)는 반복 신경망을 포함할 수 있다. 전술한 것과 같이, 일 실시예에서, 반복 신경망은, 예를 들어 도 14a 및 14b에 도시된, 컨텍스트 어텐션 인식 모델 또는 컨텍스트 어텐션 신경망(1400)이거나 이를 포함할 수 있다. 일 실시예에서, 컨텍스트 어텐션 신경망(1400)을 사용하는 대신에, 반복 신경망은, 컨텍스트 어텐션 모듈이 없는 인코더/디코더 GRU 네트워크(이 경우, 인코더의 출력은 곧바로 디코더에 공급될 수 있다)이거나 이를 포함할 수 있다.
도 14a는 원단 특징, 에러 특징 및 마이크로폰 특징을 입력으로서 수용하도록 구성된 컨텍스트 어텐션 신경망을 도시하는 블록도이다. 컨텍스트 어텐션 신경망(1400)은 도 13의 에코 제거기(1328)의 구성 요소로서 사용될 수 있고, 원단 특징
Figure pat00276
, 에러 특징
Figure pat00277
및 마이크로폰 특징
Figure pat00278
을 입력으로 수용할 수 있다. 도 14b는 원단 특징, 에러 특징 및 마이크로폰 특징을 입력으로서 수용하도록 구성된 컨텍스트 어텐션 신경망의 레이어들을 도시하는 블록도이다. 컨텍스트 어텐션 신경망(1400)은 원단 특징
Figure pat00279
, 에러 특징
Figure pat00280
및 마이크로폰 특징
Figure pat00281
을 입력으로 수용할 수 있다. 도 14a 및 14b에 도시된 컨텍스트 어텐션 신경망(1400)은 도 11a 및 11b에 도시된 컨텍스트 어텐션 신경망(1100)과 실질적으로 유사할 수 있다.
컨텍스트 어텐션 신경망(1400)과 도 11a 및 11b에 도시된 컨텍스트 어텐션 신경망(1100)의 차이점은, 컨텍스트 어텐션 신경망(1400)은 전술한 것과 같이 원단 특징
Figure pat00282
, 에러 특징
Figure pat00283
및 마이크로폰 특징
Figure pat00284
을 입력으로 수용하는 점이다. 도 14a 및 14b를 참조하면, 각각의 마이크로폰 신호 특징
Figure pat00285
, 원단 신호 특징
Figure pat00286
및 에러 신호 특징
Figure pat00287
Figure pat00288
차원을 가질 수 있다. 따라서, 특징들이 연접될 때(예를 들어, 컨텍스트 어텐션 신경망(1400)의 인코더 모듈(1410)의 연접 레이어(1412)에 의해 연접될 때), 연접된 특징들은
Figure pat00289
차원을 가질 수 있다.
도 14a 및 14b를 참조하면, 컨텍스트 어텐션 신경망(1400)은 인코더 모듈(1410), 컨텍스트 어텐션 모듈(1430) 및 디코더 모듈(1490)을 포함하고, 각각의 모듈은 하나 이상의 뉴런 레이어를 포함할 수 있다. 인코더 모듈(1410)은 마이크로폰 신호 특징
Figure pat00290
, 원단 신호 특징
Figure pat00291
및 에러 특징
Figure pat00292
을 입력으로 수신할 수 있다. 전술할 바와 같이, 일 실시예에서 에코 제거기(1328)의 반복 신경망은 인코더 모듈(1410)이 디코더 모듈(1490)에 직접 연결된 인코더/디코더 GRU 네트워크(예를 들어, 사이에 컨텍스트 어텐션 모듈(1430) 없이)를 포함할 수도 있다.
도 14a를 참조하면, 인코더 모듈(1410)은 마이크로폰 신호 특징
Figure pat00293
, 원단 신호 특징
Figure pat00294
및 에러 특징
Figure pat00295
의 로그 크기를 취하여 이를 초공간에 매핑하여 인코딩된 특징 h을 생성하는데, 여기서 인코딩된 특징은
Figure pat00296
차원을 가질 수 있다.
Figure pat00297
도 14b를 참조하면, 인코더 모듈(1410)(또는 인코더 레이어)은 입력 마이크로폰 신호 특징
Figure pat00298
, 원단 신호 특징
Figure pat00299
및 에러 특징
Figure pat00300
(각각
Figure pat00301
차원을 가짐)을 연접하여
Figure pat00302
차원의 연접된 특징을 계산하는 연접 레이어(1412)를 포함할 수 있다. 연접된 특징은 도 3 및 도 11b에 도시된 GRU 레이어들과 실질적으로 유사한 게이트 반복 유닛(GRU) 레이어(1414)로 공급될 수 있고, 각각의 GRU 레이어(1414) 유닛은 다음에 따라 인코딩된 특징 h를 계산할 수 있다.
Figure pat00303
여기서, f는 GRU 함수를 나타내며,
Figure pat00304
는 시간 t에 대한 GRU의 출력을 나타낸다.
에코 제거기(1328)가 컨텍스트 어텐션 신경망을 포함하는 경우, 컨텍스트 어텐션 모듈(1430)은 인코딩된 특징 h을 취하여 초공간의 중요한 영역을 식별하는 컨텍스트 어텐션 c를 계산하는데, 여기서 도 14a에 도시된 컨텍스트 어텐션 c는
Figure pat00305
차원을 가질 수 있다.
c = Attention(h)
일 실시예에서, 컨텍스트 어텐션 모듈(1430)은 도 11c에 도시된 것과 실질적으로 유사하도록 멀티-헤드 셀프 어텐션(MHSA) 레이어와 추가적인 멀티-헤드 어텐션(MHA) 레이어를 포함할 수 있다. 따라서, 도 11c를 참조하여 전술한 컨텍스트 어텐션 모듈(1130)의 다양한 실시예들은 고전적 기법과 컨텍스트 어텐션 신경망의 하이브리드에 대응하는 컨텍스트 어텐션 모듈(1430)의 실시예들에 적용될 수 있다.
도 14a 및 14b를 참조하면, 에코 제거기(1328)가 컨텍스트 어텐션 신경망을 포함하는 경우, 근단 스피치의 추정된 로그 크기
Figure pat00306
는 디코더 모듈(1490)을 사용하여 컨텍스트 어텐션 c로부터 계산될 수 있고, 여기서 근단 스피치
Figure pat00307
의 차원은
Figure pat00308
일 수 있다(예를 들어, 입력 마이크로폰 및 원단 신호 특징들의 차원과 같다). 에코 제거기(1328)가 인코더/디코더 GRU 네트워크를 포함하는 경우, 디코더는 인코딩된 특징 h에 기반하여 근단 스피치의 추정된 로그 크기
Figure pat00309
를 계산할 수 있다.
일 실시예에서, 디코더 모듈(1490)(또는 디코더 레이어)은 2개의 GRU 레이어(1492, 1494)를 포함할 수 있다. 일 실시에에서, 제1 GRU 레이어(1492)는 다음에 따라 컨텍스트 어텐션 레이어(1430)로부터 컨텍스트 어텐션 c(
Figure pat00310
)에 기초하여 그 출력 s(
Figure pat00311
)를 계산할 수 있다.
Figure pat00312
일 실시예에서, 제1 GRU 레이어(1492)는 다음에 따라 인코더 모듈(1410)로부터의 인코딩된 특징 h(
Figure pat00313
)에 기초하여 그 출력 s(
Figure pat00314
)를 계산할 수 있다.
Figure pat00315
제2 GRU 레이어(1494)는 다음에 따라 추정된 근단 스피치
Figure pat00316
의 스펙트럼 특징(
Figure pat00317
)을 계산할 수 있다.
Figure pat00318
일 실시예에서, 지수 선형 단위(exponential linear unit, elu) 활성화 함수는 제1 GRU 레이어(1492)와 함께 사용될 수 있고 선형 활성화 함수는 제2 GRU 레이어(1494)와 함께 사용될 수 있다.
도 13을 다시 참조하면, 근단 스피치의 추정된 특징
Figure pat00319
은 추정된 근단 스피치 신호 q(t)로 다시 변환되고, 이는 원단 통신 장치로 전송될 수 있다.
일 실시예에서, 도 14a, 14b 및 14c의 인코더/디코더 GRU 네트워크 또는 컨텍스트 어텐션 신경망(1400)은 도 5a, 5b 및 5c에서 전술한 것과 실질적으로 동일한 학습 절차를 이용하여 학습될 수 있고, 결과적으로 학습된 컨텍스트 어텐션 신경망(1400)은 전술한 것과 유사한 방식으로 통신 장치(예를 들어, 스마트폰 또는 태블릿 컴퓨터와 같은 최종 사용자 장치)에 배치될 수 있다.
도 15는 추론 모드에서 고전적인 음향 에코 제거 기법 및 추론모드에서의 심층 반복 신경망의 하이브리드를 이용하여 수신된 원단 신호 및 마이크로폰 신호로부터 추정된 근단 신호를 계산하는 방법을 도시하는 흐름도이다. 전술한 바와 같이, 일 실시예에서, 심층 반복 신경망은 인코더/디코더 GRU 네트워크일 수 있고, 일 실시예에서 심층 반복 신경망은 컨텍스트 어텐션 신경망일 수 있다. 도 15를 참조하면, 1502에서, 음향 에코 제거 시스템(1300)은 원단 신호 x(t)를 수신하고, 1504 에서, 원단 신호 특징 추출 모듈(1320)은 원단 신호 x(t)로부터 원단 특징
Figure pat00320
을 추출할 수 있다.
유사하게, 1506에서, 음향 에코 제거 시스템(1300)은 마이크로폰 신호 d(t)를 수신하고, 1508 에서 마이크로폰 신호 특징 추출 모듈(1310)은 마이크로폰 신호 d(t)로부터 마이크로폰 신호 특징
Figure pat00321
을 추출할 수 있다.
1510에서, 음향 경로 파라미터 G는 전술한 바와 같이, FDNLMS와 같은 적절한 고전적인 자동 에코 제거 기법을 이용하여 계산될 수 있다. 1512에서, 원단 특징들
Figure pat00322
, 마이크로폰 신호 특징들
Figure pat00323
및 음향 경로 파라미터들 G가 에러 특징들
Figure pat00324
을 계산하기 위해 사용될 수 있다.
1514에서, 학습된 반복 신경망(예를 들어, 에코 제거기(1328)의 구성 요소)은 원단 특징들
Figure pat00325
, 마이크로폰 특징들
Figure pat00326
및 에러 특징들
Figure pat00327
로부터 추정된 근단 특징들
Figure pat00328
을 계산할 수 있다. 예를 들어, 도 14b를 참조하면, 현재 프레임 k에 대해 추정된 근단 특징들
Figure pat00329
을 계산할 때, 현재 프레임 k 외에 T개의 이전 프레임들의 문맥(예를 들어, 6개의 이전 프레임들
Figure pat00330
)으로부터의 특징들도 반복 신경망에 공급될 수 있다. 특히, 도 14b를 참조하면, 현재 프레임 k에 대한 추정된 근단 특징
Figure pat00331
을 계산할 때, 현재 프레임 k 및 T-1개의 이전 프레임
Figure pat00332
으로부터의 원단 특징들
Figure pat00333
, 마이크로폰 특징들
Figure pat00334
및 에러 특징들
Figure pat00335
(예를 들어, 원단 특징
Figure pat00336
, 마이크로폰 특징
Figure pat00337
및 에러 특징
Figure pat00338
)도 반복 신경망에 공급될 수 있다.
1516에서, 음향 에코 제거 시스템(1300)의 특징 반전 모듈(1370)은 현재 프레임의 추정된 근단 특징들
Figure pat00339
로부터 현재 프레임에 대한 추정된 근단 신호 q(t)를 계산할 수 있다. 전술한 바와 같이, 특징들(예를 들어, 원단 신호 특징들
Figure pat00340
, 마이크로폰 특징들
Figure pat00341
및 추정된 근단 특징들
Figure pat00342
)은 STFT 공간(예를 들어, 스펙트럼 특징들 또는 스펙트럼 도메인)과 같은 특징 공간 또는 초공간에 있을 수 있다. 따라서, 일 실시예에서, 특징 반전 모듈(1370)은 추정된 스펙트럼 특징들
Figure pat00343
을 특징 공간으로부터 원단 통신 장치에서 스피커상 재생하기에 적합한 시간 도메인 신호 q(t)로 변환하고, 여기서 특징 반전 모듈(1370)은 지수 모듈(1372) 및 iSTFT(inverse Short-Time Fourier transform) 모듈(1374)을 포함할 수 있다. 도 13을 참조하면, 마이크로폰 신호 d(t)의 위상
Figure pat00344
은 추정된 근단 신호 q(t)를 계산할 때 iSTFT 모듈(1374)에 의해 사용될 수도 있다.
고전적인 기법 및 컨텍스트 어텐션 신경망 기법의 하이브리드를 이용한 에코 제거 실험 결과
전술한 것과 유사한 방식으로, FDMLMS(Frequency Domain Normalized Least Mean Square)(예를 들어, IEEE Transactions on Acoustic, Speech and Signal Processing, vol. 13, no. 5, pp. 1048-1062, 2005에서 C. Faller 및 J. Chen의 "Suppressing acoustic echo in a spectral envelope space" 참조)는 컨텍스트 어텐션 신경망의 영향을 측정하기 위한 비교 실시예로 사용될 수 있다. 인코더/디코더 GRU(예를 들어, 컨텍스트 어텐션 모듈(1430)이 없는 인코더 모듈(1410) 및 디코더 모듈(1490))의 다른 비교 실시예는 컨텍스트 어텐션 모듈(1430)의 영향을 측정하기 위해 사용될 수도 있다.
특히, 트레이닝 데이터는 전술한 바와 같이 TIMIT 데이터 세트로부터 생성된 후, 합성 RIRs 및 실제 RIRs에 따라 수정될 수 있다. 일 실험예에서, NLMS 업데이트 규칙에 대해, 이중-토크가 없을 때
Figure pat00345
는 0.5로 설정되며, 그 밖의 경우
Figure pat00346
는 매우 작은 값으로 설정될 수 있다. 요소
Figure pat00347
는 0.6으로 설정될 수 있다.
일 실시예에서 하이브리드 뉴럴(neural) AEC는 음향 경로의 선형 모델을 이용해 평가될 수 있다. 일 실험예에서, '사무실', '회의실', '강의실', '계단 1', '계단 2' 및 '욕실'에서 실제 측정된 RIR들은 하이브리드 뉴럴 AEC의 트레이닝에 사용될 수 있고, '복도' 조건은 전화기의 HHP(Hand Held Position)에서의 테스트에 사용될 수 있다. 여기서, 학습 RIR과 테스트 RIR의 불일치는 동일한 기록 장치가 두 가지 RIR들을 모두 캡쳐하는데 사용되기 때문에 작다. 평균 NCC(Normalized Cross Correlation)에 기반한 학습 RIR과 테스트 RIR의 유사성은 0.97이다.
표 9는 일 실시예에서 고전적인 FDNLMS 기준, 인코더/디코더 GRU 및 하이브리드 인코더/디코더에 대한 평균 ERLE 값 및 PESQ 점수를 나타낸다.
Figure pat00348
표 9를 참조하면, 하이브리드 인코더/디코더는 두 가지 기준 AEC 모델보다 성능이 뛰어나지만, 트레이닝 세트와 테스트 세트의 조건이 유사하고 이로 인해 하이브리드 인코더/디코더의 구성 요소로서 RDNLMS 예측기를 사용하는 이점이 줄어들어, 인코더/디코더 GRU보다는 성능이 뛰어난 정도가 작다.
따라서, 일 실시예의 성능은 학습 및 테스트 조건이 상이한 경우에 인코더/디코더 GRU 기준과 추가로 비교될 수 있다. 이를 위해, 학습을 위한 7개의 합성 RIR들이 생성되고, 실제 측정된 '복도' RIR에 의해 생성된 데이터에 대해 다시 테스트된다. '복도' 환경은 {0.2, 0.4, 0.6, 0.8, 0.9, 1.0, 1.25}초 중 선택된 잔향 시간(T60)으로 설정될 수 있다. 따라서, 일 실험예에서 학습 RIR 및 테스트 RIR은 유의미하게 다를 수 있고, 평균 NCC는 약 0.58일 수 있다. 비교 결과는 아래의 표 10에 제시된다.
Figure pat00349
표 10을 참조하면, 일 실험예에서, 하이브리드 방법은 '인코더/디코더 GRU' 방법보다 성능이 크게 우수하다. 이와 같이, 일 실시예의 하이브리드 인코더/디코더 방법은 클린 근단 스피치와 비교했을때 근단 왜곡이 없이 우수한 에코 제거를 달성할 수 있다.
음향 경로의 비선형 모델이 일 실시예에 미치는 영향을 연구하기 위해 추가적인 실험이 수행된다. 일 실험예에서는 마이크로폰 신호를 생성할 때 비선형(왜곡된) 에코 신호
Figure pat00350
를 사용하였고, 따라서 모델에는 파워 증폭기 클리핑 및 스피커 왜곡이 모두 포함될 수 있다. 합성 RIR은 트레이닝에 사용되며, '복도' RIR은 테스트에 사용될 수 있다. 결과는 고전적인 FDNLMS 자체 또는 비-하이브리드 인코더/디코더 GRU와 비교될 수 있다. 아래의 표 11에 제시된 결과는 본 개시의 일 실시예가 2개의 기준보다 우수하다는 것을 나타낸다.
Figure pat00351
이와 같이, 일 실시예는 적응적 정보를 제공함으로써 인코더/디코더 GRU 네트워크(예를 들어, 컨텍스트 어텐션 신경망)를 가이드 하기 위해 고전적인 AEC 기법(예를 들어, FDNLMS)들의 하이브리드를 사용하는 AEC 구조와 관련될 수 있다. 하이브리드 기법의 이점은 특히 인코더/디코더 GRU 네트워크를 학습시키기 위해 사용된 트레이닝 조건과 테스트 조건(예를 들어, 현장에서의 배치 조건) 사이에 불일치가 존재하는 경우에 관찰될 수 있으며, 본 개시의 일 실시예는 기준 기법들에 비해 우수한 성능을 제공할 수 있다.
도 16은 본 개시의 일 실시예의 근단 장치의 블록도이다. 전술한 바와 같이, 일 실시예에서 근단 장치(10)는 스마트폰 또는 태블릿과 같은 통신 장치일 수 있다. 근단 장치(10)는 음성 통신 데이터와 같은 데이터를 송수신하는 모뎀(1610)을 포함할 수 있다. 모뎀은 수신된 인코딩된 데이터를 원단 신호 x(t)에 대응하는 오디오 데이터(예를 들어, 펄스 코딩된 변조 데이터)로 변환하는 신호 프로세서를 포함할 수 있다. 디코딩된 데이터는 음향 에코 제거 시스템(200)을 구현할 수 있는 프로세서(1620)에 공급될 수 있다. 전술한 바와 같이, 본 개시의 다양한 실시예에서, 음향 에코 제거 시스템(200)을 구현하는 프로세서는: 범용 중앙 처리 장치, 그래픽 처리 장치(GPU), FPGA(Field Programmable Gate Array), 신경 처리 유닛(Neural Processing Unit, NPU) 또는 신경망 프로세서(Neural Network Processor, NNP)(예를 들어, 신경망을 사용하여 추론을 수행하도록 구성된 구조를 갖는 프로세서), 또는 신경 형성 프로세서(Neuromorphic Processor)일 수 있으나, 이에 한정되지 않는다. 수신된 원단 신호 x(t)는 스피커(12)를 통해 재생될 수 있으며, 스피커(12)는 주변으로 음파를 방출하며, 방출된 음파들 중 일부는 반사되어, 근단 신호 s(t)를 수신하는 근단 마이크로폰(14)에 의해 수신될 수 있다. 생성된 마이크로폰 신호 d(t)는 추정된 근단 신호 q(t)를 계산하기 위해 프로세서(1620) 및 음향 에코 제거 시스템(200)에 공급될 수 있고, 모뎀(1610)을 통해 원단 장치로 전송될 수 있다. 일반적으로, 근단 장치(10)는 도 16에 도시되지 않은, 사용자 인터페이스 요소(예를 들어, 버튼, 터치스크린 디스플레이 등), 배터리 등의 다른 전원, 추가적인 범용 또는 특수 프로세서, 일시적 또는 비일시적 메모리 등과 같은, 다른 구성 요소를 더 포함할 수 있다.
본 개시의 일 실시예는, 음향 에코 제거(AEC)를 위한 심층 멀티태스킹 반복 신경망을 포함할 수 있는 반복 신경망에 관한 것이다. 실험 결과에 도시된 바와 같이, 일 실시예는 단일-토크 및 이중-토크 기간 모두에서 우수하게 수행될 수 있다. 본 개시의 일 실시예는 에코 신호 및 근단 신호의 end-to-end 멀티태스킹 학습과 관련될 수 있고, 학습된 AEC 시스템의 전체 성능을 향상시킬 수 있다. 또한, 일 실시예는 음향 에코가 제거된 근단 신호를 추정할 때, 컨텍스트-인식을 개선하기 위해 저-지연 인과 컨텍스트 윈도우의 사용에 관한 것일 수 있다. 기준 데이터 세트에 기초하여 비교될 때, 일 실시예는 비교 기술보다 에코를 더 크게 감소시킬 수 있고, 부가적인 배경 잡음도 강하다. 나아가, 본 개시의 일 실시예에 의한 하이브리드 방법은 룸 임펄스 응답(RIR)의 변화에 대해 보다 강하고, 사용되는 타겟 장치(예를 들어, 근단 장치(10))의 임펄스 응답으로 시뮬레이션된 데이터를 강화시킴으로써 미세 조정될 경우 보다 우수하게 수행될 수 있다.
이와 같이, 본 개시의 일 실시예는 학습된 심층 반복 신경망을 사용하는 에코 제거 또는 에코 억제에 관한 것이다. 본 개시의 상세한 설명에서 본 개시의 특정 실시예들이 설명되었지만, 본 개시는 본 개시의 범위를 벗어나지 않으면서, 다양한 형태로 변형될 수 있다. 따라서, 본 개시의 범위는 단지 설명된 실시예들에 기초하여 결정되어서는 안되며, 오히려 첨부된 청구 범위 및 그 균등물들에 기초하여 결정된다.
10: 근단 장치
12: 스피커
14: 마이크로폰
100: 음향 에코 제거 모듈
150: 잔류 에코 억제 모듈
200: 에코 제거 시스템
210: 신호 특징 추출 모듈
230, 230': 에코 추정기
250, 250': 근단 추정기
700: NLMS 필터
900: 완전 연결 심층 신경망(EchoDNN)
990: 생성 모델
1000, 1300: 음향 에코 제거 시스템
1100, 1400: 컨텍스트 어텐션 신경망
1620: 프로세서

Claims (19)

  1. 프로세서; 및
    명령이 저장된 메모리를 포함하고,
    상기 메모리에 저장된 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서가,
    근단 장치에서 원단 장치의 원단 신호를 수신하고;
    상기 근단 장치에서 마이크로폰 신호를 기록하고;
    상기 원단 신호로부터 복수의 원단 특징들을 추출하고;
    상기 마이크로폰 신호로부터 복수의 마이크로폰 특징들을 추출하고;
    상기 마이크로폰 특징들 및 상기 원단 특징들을 컨텍스트 어텐션 신경망을 포함하는 음향 에코 제거 모듈에 공급함으로써 상기 마이크로폰 신호로부터 복수의 추정된 근단 특징들을 계산하고;
    상기 추정된 근단 특징들로부터 추정된 근단 신호를 계산하고; 및
    상기 추정된 근단 신호를 상기 원단 장치로 전송하도록 하는 것을 포함하고,
    상기 마이크로폰 신호는,
    근단 신호; 및
    상기 원단 신호에 대응하는 에코 신호를 포함하고,
    상기 컨텍스트 어텐션 신경망은,
    상기 마이크로폰 특징들 및 원단 특징들을 인코딩된 특징들로 인코딩하는 복수의 게이트 반복 유닛들을 포함하는 인코더;
    상기 인코딩된 특징들로부터 컨텍스트 어텐션 특징을 계산하는 컨텍스트 어텐션 모듈; 및
    상기 컨텍스트 어텐션 특징들로부터 추정된 근단 특징들을 디코딩하는 복수의 게이트 반복 유닛들을 포함하는 디코더를 포함하는, 에코 제거 시스템.
  2. 제1항에 있어서,
    상기 인코더는 하나 이상의 게이트 반복 유닛의 레이어를 포함하고, 상기 인코딩된 특징은 상기 인코더의 하나 이상의 게이트 반복 유닛의 레이어의 마지막 레이어의 출력에 대응하고,
    상기 인코딩된 특징은 상기 컨텍스트 어텐션 모듈의 멀티-헤드 셀프 어텐션 레이어에 공급되고, 및
    상기 디코더는 하나 이상의 게이트 반복 유닛의 레이어를 포함하고, 상기 추정된 근단 특징은 상기 디코더의 하나 이상의 게이트 반복 유닛의 레이어의 마지막 레이어의 출력에 대응하는, 에코 제거 시스템.
  3. 제2항에 있어서,
    상기 컨텍스트 어텐션 모듈은 상기 멀티-헤드 셀프 어텐션 레이어의 출력을 수신하는 멀티-헤드 어텐션 레이어를 더 포함하는, 에코 제거 시스템.
  4. 제3항에 있어서,
    상기 컨텍스트 어텐션 모듈은 상기 멀티-헤드 셀프 어텐션 레이어 및 상기 멀티-헤드 어텐션 레이어 사이에 제1 레이어 정규화 레이어를 더 포함하는, 에코 제거 시스템.
  5. 제4항에 있어서,
    상기 컨텍스트 어텐션 모듈은 상기 컨텍스트 어텐션 모듈의 다른 레이어로부터의 출력에 따라 상기 컨텍스트 어텐션 특징을 계산하는 제2 레이어 정규화 레이어를 더 포함하는, 에코 제거 시스템.
  6. 제1항에 있어서,
    상기 메모리에 저장된 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서가,
    이전 음향 경로 파라미터, 이전 원단 특징 및 이전 마이크로폰 특징으로부터 복수의 음향 경로 파라미터를 계산하고, 및
    상기 원단 특징, 상기 마이크로폰 특징 및 상기 음향 경로 파라미터에 기초하여 복수의 에러 특징을 계산하도록 하는 것을 더 포함하고,
    상기 음향 에코 제거 모듈은 상기 에러 특징들에 기초하여 상기 마이크로폰 신호로부터 복수의 추정된 근단 특징을 계산하도록 추가로 구성되는, 에코 제거 시스템.
  7. 제1항에 있어서,
    상기 컨텍스트 어텐션 신경망에 공급되는 상기 원단 특징은 상기 원단 특징의 현재 프레임 및 상기 원단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고,
    상기 컨텍스트 어텐션 신경망에 공급되는 상기 마이크로폰 특징은 상기 마이크로폰 특징의 현재 프레임 및 상기 마이크로폰 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하는, 에코 제거 시스템.
  8. 제7항에 있어서,
    상기 추정된 근단 특징은 상기 추정된 근단 특징의 현재 프레임 및 상기 추정된 근단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고,
    상기 컨텍스트 어텐션 신경망은 상기 추정된 근단 특징들과 복수의 트레이닝 데이터들의 실제 근단 특징들 사이의 차이를 최소화하도록, 상기 컨텍스트 어텐션 신경망을 구성하는 복수의 파라미터를 반복적으로 학습함으로써 학습되는, 에코 제거 시스템.
  9. 제8항에 있어서,
    상기 트레이닝 데이터는,
    복수의 서로 다른 인간 스피커로부터 기록된 발음을 포함하는 트레이닝 데이터 코퍼스를 로딩하고;
    복수의 인간 스피커 쌍을 선택하고;
    각각의 인간 스피커 쌍에 대해:
    트레이닝 원단 신호를 생성하기 위해 하나의 상기 인간 스피커 쌍 중 제1 스피커의 다수의 발음을 연접하고;
    트레이닝 에코 신호를 생성하기 위한 음향 경로를 시뮬레이션하기 위해 연접된 발음을 변환하고;
    하나의 상기 인간 스피커 쌍 중 제2 스피커의 발음을 패딩하여 상기 트레이닝 원단 신호와 동일한 길이를 갖는 트레이닝 근단 신호를 생성하고; 및
    상기 트레이닝 에코 신호를 상기 트레이닝 근단 신호와 혼합하여 트레이닝 마이크로폰 신호를 생성하는 것을 통해 생성되는, 에코 제거 시스템.
  10. 제9항에 있어서,
    상기 연접된 발음을 변환하는 것은, 상기 원단 신호를 시뮬레이션된 룸의 룸 임펄스 응답과 컨볼빙하는 것을 포함하는, 에코 제거 시스템.
  11. 제10항에 있어서,
    상기 연접된 발음을 변환하는 것은,
    클리핑된 원단 신호를 생성하기 위해 상기 원단 신호에 하드 클리핑을 적용하고; 및
    상기 클리핑된 원단 신호에 시그모이드 왜곡을 적용하는 것을 더 포함하는, 에코 제거 시스템.
  12. 프로세서; 및
    명령이 저장된 메모리를 포함하고,
    상기 메모리에 저장된 명령은, 상기 프로세서에 의해 실행될 때, 상기 프로세서가,
    원단 장치의 원단 신호를 수신하고;
    마이크로폰 신호를 기록하고;
    상기 원단 신호로부터 복수의 원단 특징들을 추출하고;
    상기 마이크로폰 신호로부터 복수의 마이크로폰 특징들을 추출하고;
    이전 음향 경로 파라미터, 이전 원단 특징, 및 이전 마이크로폰 특징으로부터 복수의 음향 경로 파라미터를 계산하고;
    상기 원단 특징들, 마이크로폰 특징들 및 음향 경로 파라미터들에 기초하여 복수의 에러 특징들을 계산하고;
    상기 마이크로폰 특징들, 상기 원단 특징들 및 상기 에러 특징들을 반복 신경망을 포함하는 음향 에코 제거 모듈에 공급함으로써 상기 마이크로폰 신호로부터 복수의 추정된 근단 특징들을 계산하고;
    상기 추정된 근단 특징들로부터 추정된 근단 신호를 계산하고; 및
    상기 추정된 근단 신호를 상기 원단 장치로 전송하도록 하는 것을 포함하고,
    상기 마이크로폰 신호는,
    근단 신호; 및
    상기 원단 신호에 대응하는 에코 신호를 포함하고,
    상기 반복 신경망은,
    상기 마이크로폰 특징들 및 원단 특징들을 인코딩된 특징들로 인코딩하는 복수의 게이트 반복 유닛들을 포함하는 인코더; 및
    상기 인코딩된 특징들에 기반하여 상기 추정된 근단 특징들을 디코딩하는 복수의 게이트 반복 유닛들을 포함하는 디코더를 포함하는, 에코 제거 시스템.
  13. 제12항에 있어서,
    상기 음향 에코 제거 모듈은 상기 인코딩된 특징들로부터 컨텍스트 어텐션 특징에 기반하여 상기 추정된 근단 특징을 계산하는 컨텍스트 어텐션 모듈을 더 포함하고,
    상기 디코더는 상기 컨텍스트 어텐션 특징에 기초하여 상기 추정된 근단 특징들을 계산하는, 에코 제거 시스템.
  14. 제12항에 있어서,
    상기 음향 에코 제거 모듈에 공급되는 상기 원단 특징은 상기 원단 특징의 현재 프레임 및 상기 원단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고,
    상기 음향 에코 제거 모듈에 공급되는 상기 마이크로폰 특징은 상기 마이크로폰 특징의 현재 프레임 및 상기 마이크로폰 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고,
    상기 음향 에코 제거 모듈에 공급되는 상기 에러 특징은 상기 에러 특징의 현재 프레임 및 상기 에러 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하는, 에코 제거 시스템.
  15. 제12항에 있어서,
    상기 추정된 근단 특징은 상기 추정된 근단 특징의 현재 프레임 및 상기 추정된 근단 특징의 복수의 이전 프레임들의 인과 윈도우를 포함하고,
    상기 반복 신경망은 상기 추정된 근단 특징들과 복수의 트레이닝 데이터들의 실제 근단 특징들 사이의 차이를 최소화하도록, 상기 반복 신경망을 구성하는 복수의 파라미터를 반복적으로 학습함으로써 학습되는, 에코 제거 시스템.
  16. 제15항에 있어서,
    상기 트레이닝 데이터는,
    복수의 서로 다른 인간 스피커로부터 기록된 발음을 포함하는 트레이닝 데이터 코퍼스를 로딩하고;
    복수의 인간 스피커 쌍을 선택하고;
    각각의 인간 스피커 쌍에 대해:
    트레이닝 원단 신호를 생성하기 위해 하나의 상기 인간 스피커 쌍 중 제1 스피커의 다수의 발음을 연접하고;
    트레이닝 에코 신호를 생성하기 위한 음향 경로를 시뮬레이션하기 위해 연접된 발음을 변환하고;
    하나의 상기 인간 스피커 쌍 중 제2 스피커의 발음을 패딩하여 상기 트레이닝 원단 신호와 동일한 길이를 갖는 트레이닝 근단 신호를 생성하고; 및
    상기 트레이닝 에코 신호를 상기 트레이닝 근단 신호와 혼합하여 트레이닝 마이크로폰 신호를 생성하는 것을 통해 생성되는, 에코 제거 시스템.
  17. 제16항에 있어서,
    상기 연접된 발음을 변환하는 것은, 상기 원단 신호를 시뮬레이션된 룸의 룸 임펄스 응답과 컨볼빙하는 것을 포함하는, 에코 제거 시스템.
  18. 제17항에 있어서,
    상기 연접된 발음을 변환하는 것은,
    클리핑된 원단 신호를 생성하기 위해 상기 원단 신호에 하드 클리핑을 적용하고; 및
    상기 클리핑된 원단 신호에 시그모이드 왜곡을 적용하는 것을 포함하는, 에코 제거 시스템.
  19. 제12항에 있어서,
    상기 원단 특징, 상기 마이크로폰 특징 및 상기 추정된 근단 특징은 로그 스펙트럼 공간에서 로그 단시간 푸리에 변환 특징을 포함하는, 에코 제거 시스템.
KR1020200021582A 2019-03-28 2020-02-21 심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법 KR20200115107A (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US201962825681P 2019-03-28 2019-03-28
US62/825,681 2019-03-28
US201962838146P 2019-04-24 2019-04-24
US62/838,146 2019-04-24
US16/573,573 2019-09-17
US16/573,573 US10803881B1 (en) 2019-03-28 2019-09-17 System and method for acoustic echo cancelation using deep multitask recurrent neural networks
US201962914875P 2019-10-14 2019-10-14
US62/914,875 2019-10-14
US16/751,094 US11393487B2 (en) 2019-03-28 2020-01-23 System and method for acoustic echo cancelation using deep multitask recurrent neural networks
US16/751,094 2020-01-23

Publications (1)

Publication Number Publication Date
KR20200115107A true KR20200115107A (ko) 2020-10-07

Family

ID=72673446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200021582A KR20200115107A (ko) 2019-03-28 2020-02-21 심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법

Country Status (3)

Country Link
US (1) US11393487B2 (ko)
KR (1) KR20200115107A (ko)
CN (1) CN111755019A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102316626B1 (ko) * 2021-01-21 2021-10-22 한양대학교 산학협력단 병렬 구조의 심화신경망을 이용한 잡음 및 에코 신호 통합 제거 방법 및 장치
KR102316712B1 (ko) * 2021-01-21 2021-10-22 한양대학교 산학협력단 심화 신경망을 이용한 다채널 기반의 잡음 및 에코 신호 통합 제거 장치
KR102374167B1 (ko) * 2021-01-21 2022-03-14 한양대학교 산학협력단 어텐션 메커니즘을 이용한 음성 신호 추정 방법 및 장치
WO2022086274A1 (ko) * 2020-10-22 2022-04-28 삼성전자 주식회사 전자 장치 및 이의 제어 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3474280B1 (en) * 2017-10-19 2021-07-07 Goodix Technology (HK) Company Limited Signal processor for speech signal enhancement
GB201804129D0 (en) * 2017-12-15 2018-05-02 Cirrus Logic Int Semiconductor Ltd Proximity sensing
US11410667B2 (en) * 2019-06-28 2022-08-09 Ford Global Technologies, Llc Hierarchical encoder for speech conversion system
KR20210071471A (ko) * 2019-12-06 2021-06-16 삼성전자주식회사 뉴럴 네트워크의 행렬 곱셈 연산을 수행하는 장치 및 방법
CN111427932B (zh) * 2020-04-02 2022-10-04 南方科技大学 出行预测方法、装置、设备和存储介质
CN112420073B (zh) * 2020-10-12 2024-04-16 北京百度网讯科技有限公司 语音信号处理方法、装置、电子设备和存储介质
CN112489679B (zh) * 2020-11-20 2023-08-08 广州华多网络科技有限公司 声学回声消除算法的评估方法、装置及终端设备
CN112489680B (zh) * 2020-11-20 2023-08-08 广州华多网络科技有限公司 声学回声消除算法的评估方法、装置及终端设备
CN112634923B (zh) * 2020-12-14 2021-11-19 广州智讯通信***有限公司 基于指挥调度***的音频回声消除方法、设备、存储介质
CN112863535B (zh) * 2021-01-05 2022-04-26 中国科学院声学研究所 一种残余回声及噪声消除方法及装置
CN112687288B (zh) * 2021-03-12 2021-12-03 北京世纪好未来教育科技有限公司 回声消除方法、装置、电子设备和可读存储介质
CN113707166B (zh) * 2021-04-07 2024-06-07 腾讯科技(深圳)有限公司 语音信号处理方法、装置、计算机设备和存储介质
CN113257267B (zh) * 2021-05-31 2021-10-15 北京达佳互联信息技术有限公司 干扰信号消除模型的训练方法和干扰信号消除方法及设备
CN113870874A (zh) * 2021-09-23 2021-12-31 武汉大学 基于自注意力变换网络的多特征融合回声消除方法及***
US11776556B2 (en) * 2021-09-27 2023-10-03 Tencent America LLC Unified deep neural network model for acoustic echo cancellation and residual echo suppression
CN113607325B (zh) * 2021-10-09 2021-12-14 武汉地震工程研究院有限公司 一种钢结构螺栓群松动定位智能监测方法及***
US20230154480A1 (en) * 2021-11-18 2023-05-18 Tencent America LLC Adl-ufe: all deep learning unified front-end system
CN114038476A (zh) * 2021-11-29 2022-02-11 北京达佳互联信息技术有限公司 音频信号处理方法及装置
US11984110B2 (en) * 2022-03-07 2024-05-14 Mediatek Singapore Pte. Ltd. Heterogeneous computing for hybrid acoustic echo cancellation
CN114842863B (zh) * 2022-04-19 2023-06-02 电子科技大学 一种基于多分支-动态合并网络的信号增强方法
CN115359370B (zh) * 2022-10-21 2023-01-24 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种遥感图像云检测方法、装置、计算机装置及存储介质
CN115565543B (zh) * 2022-11-24 2023-04-07 全时云商务服务股份有限公司 一种基于深度神经网络的单通道语音回声消除方法和装置
CN115602152B (zh) * 2022-12-14 2023-02-28 成都启英泰伦科技有限公司 一种基于多阶段注意力网络的语音增强方法
CN116386655B (zh) * 2023-06-05 2023-09-08 深圳比特微电子科技有限公司 回声消除模型建立方法和装置
CN117437929B (zh) * 2023-12-21 2024-03-08 睿云联(厦门)网络通讯技术有限公司 一种基于神经网络的实时回声消除方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2728120B2 (ja) * 1995-01-24 1998-03-18 日本電気株式会社 エコーキャンセラ装置
US5737485A (en) * 1995-03-07 1998-04-07 Rutgers The State University Of New Jersey Method and apparatus including microphone arrays and neural networks for speech/speaker recognition systems
US7277538B2 (en) 2000-10-27 2007-10-02 Tandberg Telecom As Distortion compensation in an acoustic echo canceler
US7660713B2 (en) * 2003-10-23 2010-02-09 Microsoft Corporation Systems and methods that detect a desired signal via a linear discriminative classifier that utilizes an estimated posterior signal-to-noise ratio (SNR)
US7742608B2 (en) 2005-03-31 2010-06-22 Polycom, Inc. Feedback elimination method and apparatus
US8204210B2 (en) 2010-02-09 2012-06-19 Nxp B.V. Method and system for nonlinear acoustic echo cancellation in hands-free telecommunication devices
US8744340B2 (en) 2010-09-13 2014-06-03 Qualcomm Incorporated Method and apparatus of obtaining timing in a repeater
US10142084B2 (en) 2016-07-01 2018-11-27 Intel Corporation Full-duplex self-interference cancellation
US10074380B2 (en) 2016-08-03 2018-09-11 Apple Inc. System and method for performing speech enhancement using a deep neural network-based signal
US11133011B2 (en) * 2017-03-13 2021-09-28 Mitsubishi Electric Research Laboratories, Inc. System and method for multichannel end-to-end speech recognition
KR101934636B1 (ko) 2017-04-14 2019-01-02 한양대학교 산학협력단 심화신경망 기반의 잡음 및 에코의 통합 제거 방법 및 장치
CN107481728B (zh) 2017-09-29 2020-12-11 百度在线网络技术(北京)有限公司 背景声消除方法、装置及终端设备
EP3474280B1 (en) * 2017-10-19 2021-07-07 Goodix Technology (HK) Company Limited Signal processor for speech signal enhancement
US10771621B2 (en) 2017-10-31 2020-09-08 Cisco Technology, Inc. Acoustic echo cancellation based sub band domain active speaker detection for audio and video conferencing applications
US10803881B1 (en) * 2019-03-28 2020-10-13 Samsung Electronics Co., Ltd. System and method for acoustic echo cancelation using deep multitask recurrent neural networks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022086274A1 (ko) * 2020-10-22 2022-04-28 삼성전자 주식회사 전자 장치 및 이의 제어 방법
KR102316626B1 (ko) * 2021-01-21 2021-10-22 한양대학교 산학협력단 병렬 구조의 심화신경망을 이용한 잡음 및 에코 신호 통합 제거 방법 및 장치
KR102316712B1 (ko) * 2021-01-21 2021-10-22 한양대학교 산학협력단 심화 신경망을 이용한 다채널 기반의 잡음 및 에코 신호 통합 제거 장치
KR102374167B1 (ko) * 2021-01-21 2022-03-14 한양대학교 산학협력단 어텐션 메커니즘을 이용한 음성 신호 추정 방법 및 장치
WO2022158912A1 (ko) * 2021-01-21 2022-07-28 한양대학교 산학협력단 심화 신경망을 이용한 다채널 기반의 잡음 및 에코 신호 통합 제거 장치
WO2022158913A1 (ko) * 2021-01-21 2022-07-28 한양대학교 산학협력단 병렬 구조의 심화신경망을 이용한 잡음 및 에코 신호 통합 제거 장치
WO2022158914A1 (ko) * 2021-01-21 2022-07-28 한양대학교 산학협력단 어텐션 메커니즘을 이용한 음성 신호 추정 방법 및 장치

Also Published As

Publication number Publication date
US20200312346A1 (en) 2020-10-01
CN111755019A (zh) 2020-10-09
US11393487B2 (en) 2022-07-19
US20220293120A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
KR20200115107A (ko) 심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법
KR102636097B1 (ko) 심층 멀티태스킹 반복 신경망을 이용한 음향 에코 제거 시스템 및 방법
Zhang et al. Deep learning for acoustic echo cancellation in noisy and double-talk scenarios
Fazel et al. Deep Multitask Acoustic Echo Cancellation.
CN112687288B (zh) 回声消除方法、装置、电子设备和可读存储介质
Fazel et al. CAD-AEC: Context-aware deep acoustic echo cancellation
CN114283795A (zh) 语音增强模型的训练、识别方法、电子设备和存储介质
CN114974280A (zh) 音频降噪模型的训练方法、音频降噪的方法及装置
Ravanelli et al. Automatic context window composition for distant speech recognition
US11790930B2 (en) Method and system for dereverberation of speech signals
Li et al. Single-channel speech dereverberation via generative adversarial training
US20240129410A1 (en) Learning method for integrated noise echo cancellation system using cross-tower nietwork
Ma et al. Multi-scale attention neural network for acoustic echo cancellation
US20240135954A1 (en) Learning method for integrated noise echo cancellation system using multi-channel based cross-tower network
KR102374166B1 (ko) 원단 신호 정보를 이용한 반향 신호 제거 방법 및 장치
US12033652B2 (en) System and method for acoustic echo cancelation using deep multitask recurrent neural networks
Narayanan et al. Mask scalar prediction for improving robust automatic speech recognition
Panchapagesan et al. A conformer-based waveform-domain neural acoustic echo canceller optimized for asr accuracy
Kim et al. U-convolution based residual echo suppression with multiple encoders
Tsai et al. Acoustic echo cancellation based on recurrent neural network
Alishahi et al. Echo Cancelation and Noise Suppression by Training a Dual-Stream Recurrent Network with a Mixture of Training Targets
US20240055012A1 (en) Method and System for Reverberation Modeling of Speech Signals
Tsai et al. Acoustic echo suppression using a learning-based multi-frame minimum variance distortionless response (MFMVDR) filter
KR102505653B1 (ko) 심화신경망을 이용한 에코 및 잡음 통합 제거 방법 및 장치
US20230096565A1 (en) Real-time low-complexity echo cancellation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal