CN115457928A - 一种基于神经网络双讲检测的回声消除方法及系统 - Google Patents

一种基于神经网络双讲检测的回声消除方法及系统 Download PDF

Info

Publication number
CN115457928A
CN115457928A CN202210888604.9A CN202210888604A CN115457928A CN 115457928 A CN115457928 A CN 115457928A CN 202210888604 A CN202210888604 A CN 202210888604A CN 115457928 A CN115457928 A CN 115457928A
Authority
CN
China
Prior art keywords
signal
double
echo
talk
residual
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202210888604.9A
Other languages
English (en)
Inventor
姜黎
龚永康
胡奎
孙江涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Ccvui Intelligent Technology Co ltd
Original Assignee
Hangzhou Ccvui Intelligent Technology Co ltd
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 Hangzhou Ccvui Intelligent Technology Co ltd filed Critical Hangzhou Ccvui Intelligent Technology Co ltd
Priority to CN202210888604.9A priority Critical patent/CN115457928A/zh
Publication of CN115457928A publication Critical patent/CN115457928A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • G10K11/178Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
    • G10K11/1781Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions
    • G10K11/17813Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions characterised by the analysis of the acoustic paths, e.g. estimating, calibrating or testing of transfer functions or cross-terms
    • G10K11/17815Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions characterised by the analysis of the acoustic paths, e.g. estimating, calibrating or testing of transfer functions or cross-terms between the reference signals and the error signals, i.e. primary path
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • G10K11/178Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
    • G10K11/1785Methods, e.g. algorithms; Devices
    • G10K11/17853Methods, e.g. algorithms; Devices of the filter
    • G10K11/17854Methods, e.g. algorithms; Devices of the filter the filter being an adaptive filter
    • 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
    • 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
    • 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
    • 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
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02163Only one microphone

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

本发明提供一种基于神经网络双讲检测的回声消除方法及系统,涉及音频处理技术领域。本发明通过使用双讲检测结果控制线性前处理中自适应滤波器的更新与否;当检测到远端无人声信号时,停止更新自适应滤波器。防止双讲状态或是远端仅存在环境噪声时自适应滤波器由于受到扰动偏离稳定点而发散;通过使用双讲检测结果控制非线性后处理中对于回声的最大抑制量,在检测到近端与远端人耳同时讲话时,结合人耳的听觉掩蔽效应估算出能够掩蔽残留回声所需的最大抑制量。在保留近端有用信号失真度小的同时,残留回声也得到有效抑制;在检测到仅有远端人耳信号单讲时,提升对残留回声信号的抑制,使得残留回声能被彻底去除干净。

Description

一种基于神经网络双讲检测的回声消除方法及系统
技术领域
本发明涉及音频处理技术领域,尤其涉及一种基于神经网络双讲检测的回声消除方法及系统。
背景技术
声学回声消除(acoustic echo cancelling,AEC)算法是一种语音信号处理及语音通讯领域的常用算法之一,广泛用于语音通讯与智能语音人机交互等应用中。在语音通讯中,主要是为解决全双工通话过程中任何一端说话人听到自己说话声(回声)的问题。使用回声消除算法可以在近端提前进行去回声处理,之后再送达远端,这样远端说话人将不再听到自己的说话声。在智能语音人机交互过程中,为了防止智能设备自己播放的音乐或者说话声对语音识别构成干扰,也需要使用回声消除算法提前将自已播放的声音去除,以防止误识别和提高识别率。
现有的AEC方法中,通常利用自适应线性滤波器去估计回声信号,然后根据估计的回声信号抵消掉通信系统中的回声信号。为了提升AEC方法中线性自适应滤波器的效果,通常增加双讲检测模块(double-talkdetection,DTD),来配合自适应线性滤波器。双讲检测模块用于检测通信双方的讲话状态,例如,通信双方同时讲话时为双讲状态。相关技术中,在通信的一端,通过检测本端语音信号(即近端语音信号)和另一端的语音信号(即远端语音信号),来确定是否为双讲状态。
但是现有的双讲检测方案鲁棒性差、检测准确率不高的问题,使得回声消除效果不理想;此外,仅通过线性自适应滤波器对回声信号进行消除,得到的信号中仍然有线性残留回声与非线性残留回声信号,会影响最终的回声消除效果。
因此,有必要提供一种基于神经网络双讲检测的回声消除方法及系统来解决上述技术问题。
发明内容
为解决上述之一技术问题,本发明提供的一种基于神经网络双讲检测的回声消除方法,包括输入信号处理、线性自适应滤波处理、非线性后处理、RNN双讲检测和输出信号处理。
具体的,输入信号处理:采集近端的麦克风信号和远端的参考信号,并以数字信号流形式进行传输;将麦克风信号和参考信号分别存储至输入缓冲区中,所述输入缓冲区将信号分块为若干数据块,所述数据块包括麦克风信号数据块dl(n)和参考信号数据块xl(n);其中l=1,2,3,…表示数据块序号,n=0,1,2,…,n表示每个数据块样点序号,N是每个数据块样点总数。
具体的,RNN双讲检测:通过递归神经网络RNN对麦克风信号与参考信号进行人声检测,并利用有限状态机控制给出双讲检测状态结果db_flag(l),其中,所述双讲检测状态结果db_flag(l)包括:只有远端有人声的远端单讲状态far_talk_only,只有近端有人声的近端单讲状态near_talk_only和远端近端都有人声的远近端双讲状态doble_talk;所述双讲检测状态结果db_flag(l)用于对线性自适应滤波处理和非线性后处理进行反馈调节。
具体的,线性自适应滤波处理:接收麦克风信号数据块dl(n)、参考信号数据块xl(n)并进行逐点数据处理;数据处理通过NLMS算法进行,并通过双讲检测状态结果db_flag(l)进行自适应调节,得到自适应更新后的滤波器系数
Figure BDA0003766576660000021
通过滤波器系数
Figure BDA0003766576660000022
计算自适应更新后的残差信号el(n)。
具体的,非线性后处理:用于进一步去残差信号el(n)中线性残留回声与非线性残留回声信号;得到AEC输出信号数据块outl(n)。
具体的,输出信号处理:将去除回声后的AEC输出信号数据块outl(n)存入输出缓冲区,并进行数据合并,得到连续的音频数据流进行输出。
作为更进一步的解决方案,所述线性自适应滤波处理通过如下步骤进行:
接收麦克风信号数据块dl(n)和参考信号数据块xl(n),初始化滤波器系数向量
Figure BDA0003766576660000023
其中,
Figure BDA0003766576660000024
表示第l号参考信号数据块第n点的参考信号向量;
Figure BDA0003766576660000025
表示当前xl(n)对应的滤波器系数向量;T表示当前向量的转置,L为初始化时设定的滤波器长度,
Figure BDA0003766576660000026
的初始化值均设置为0;
通过上一帧第n点的滤波器系数
Figure BDA0003766576660000027
估计当前帧第n点的回声信号
Figure BDA0003766576660000028
Figure BDA0003766576660000029
通过估计的回声信号
Figure BDA00037665766600000210
计算当前帧第n点估计的残差信号el(n):
Figure BDA00037665766600000211
计算参考信号能量El,x(n):
El,x(n)=xl(n)Txl(n)
计算可变步长因子μl(n);
更新估计的回声信号
Figure BDA0003766576660000031
与估计的残差信号el(n)的自相关函数与互相关函数:
Figure BDA0003766576660000032
Figure BDA0003766576660000033
其中,rdd(n)为回声信号
Figure BDA0003766576660000034
自相关函数;rde(n)为回声信号
Figure BDA0003766576660000035
与残差信号el(n)的互相关函数,其中,α为遗忘系数,rdd(n)和rde(n)的函数初始值设置为0;
进行RNN双讲检测,得到双讲检测状态结果db_flag(l);
根据双讲检测状态结果db_flag(l)、上一帧第n点的滤波器系数
Figure BDA0003766576660000036
可变步长因子μl(n)、参考信号向量xl(n)、残差信号el(n)和参考信号能量El,x(n)对滤波器系数
Figure BDA0003766576660000037
进行滤波器系数自适应更新;
通过自适应更新后的滤波器系数
Figure BDA0003766576660000038
计算自适应更新后的残差信号el(n);
将自适应更新后的残差信号el(n)作为线性自适应滤波输出结果,通过上述步骤对数据块内各点进行逐点处理,得到数据块的残差信号输出:[el(n),n=0,1,2,…,N]。
作为更进一步的解决方案,所述可变步长因子μl(n)通过如下公式计算:
Figure BDA0003766576660000039
其中,ε为正则化因子;μ0为最大的自适应步长常数;rdd(n)为回声信号
Figure BDA00037665766600000310
的自相关函数;rde(n)为回声信号
Figure BDA00037665766600000311
与残差信号el(n)的互相关函数。
作为更进一步的解决方案,滤波器系数自适应更新通过如下公式计算:
Figure BDA00037665766600000312
其中,db_flag(l-1)表示RNN双讲检测模块给出的前一帧双讲检测状态信息对应的双讲检测状态结果;far_talk_only表示仅有远端人声讲话;else表示当双讲检测结果不为far_talk_only时,停止更新滤波器;ε为正则化因子。
作为更进一步的解决方案,所述非线性后处理通过如下步骤进行:
通过短时傅里叶变换(STFT)对数据块l的残差信号el(n)和估计的回声信号
Figure BDA0003766576660000041
进行频域处理,得到频域子带的残差信号复数谱Se(l,k)、回声信号复数谱
Figure BDA0003766576660000042
残差信号能量谱Pe(l,k)与回声信号
Figure BDA0003766576660000043
其中,k表示频域离散采样点序号,k=0,1,...,NB-1;NB为频域子带总数;
通过如下公式得到残差信号el(n)中残留回声的能量谱Pres(l,k):
Figure BDA0003766576660000044
其中,
Figure BDA0003766576660000045
Figure BDA0003766576660000046
为上一个数据块l-1最后样点N计算得到的相关函数值;
通过增益函数G(l,k)对复数谱Se(l,k)进行加权处理,得到最终输出信号复数谱So(l,k):
So(l,k)=G(l,k)·Se(l,k)
其中,G(l,k)为增益函数,Pe(l,k)为残差信号能量谱;
将最终输出信号复数谱So(l,k)通过ISTFT短时傅里叶逆变换,得到时域的AEC输出信号数据块outl(n)。
作为更进一步的解决方案,所述增益函数G(l,k)通过维纳滤波器,并施以最大抑制量约束得到:
G(l,k)=max(Gwiener(l,k),min_G(l,k))
min_G(l,k)=linear(max_attenu(l,k))
其中,Gwiener(l,k)为第l数据块第k个子带对应的维纳滤波输出,max_attenu(l,k)表示第l数据块第k个子带对残留回声的最大抑制量,linear()为线性函数;
所述最大抑制量max_attenu(l,k)根据双讲检测状态结果进行设置:
当db_flag(l-1)==doble_talk时,最大抑制量max_attenu(l,k)为:
max_attenu(l,k)=db(min_gain(l,k))-3
Figure BDA0003766576660000047
其中,db()为线性增益转换为db值的函数,ε为正则化因子,Pres(l,k)为残留回声的能量谱,Pe(l,k)为残差信号能量谱。
当db_flag(l-1)==far_talk_only时,最大抑制量max_attenu(l,k)设置为预设值,所述预设值用于加大抑制:
当db_flag(l-1)==near_talk_only时,不进行残留回声抑制,设定max_attenu(l,k)=0。
作为更进一步的解决方案,所述递归神经网络RNN通过提取出MFCC特征进行学习,并使用Dense层和GRU层实现人声存在概率估计,最后输出人声存在概率。
作为更进一步的解决方案,所述递归神经网络RNN中的权重系数通过训练数据进行预处理得到,所述训练数据通过如下步骤得到:提前录制好近端人声语音数据、使用远端人声单讲数据进行AEC处理得到AEC残留数据和环境噪声数据;将近端人声语音数据分别与AEC残留数据和环境噪声数据进行混合,得到带噪语音信号;根据近端人声语音数据进行标注,得到带噪语音信号中的人声存在位置标签;将带噪语音信号和人声存在位置标签作为训练样本,并对递归神经网络RNN进行预训练,得到中的权重系数。
作为更进一步的解决方案,所述双讲检测状态结果db_flag(l)通过延时单元Z-1进行延时输出,所述延时单元Z-1将数据进行一个单位时长进行延时,从而使线性自适应滤波处理与非线性后处理得到上一帧的双讲检测状态结果db_flag(l-1)。
一种基于神经网络双讲检测的回声消除系统,运行在硬件设备上,所述硬件设备包括信号采集器、输入缓冲器、线性自适应滤波模块、非线性后处理模块、RNN双讲检测模块和延时模块;并通过如上任一项所述的一种基于神经网络双讲检测的回声消除方法来实现对回声信号的消除。
与相关技术相比较,本发明提供的一种基于神经网络双讲检测的回声消除方法具有如下有益效果:
1、本发明通过使用双讲检测结果控制线性前处理中自适应滤波器的更新与否;当检测到远端无人声信号时,停止更新自适应滤波器。防止双讲状态或是远端仅存在环境噪声时自适应滤波器由于受到扰动偏离稳定点而发散;
2、本发明通过使用双讲检测结果控制非线性后处理中对于回声的最大抑制量,在检测到近端与远端人耳同时讲话时,结合人耳的听觉掩蔽效应估算出能够掩蔽残留回声所需的最大抑制量。在保留近端有用信号失真度小的同时,残留回声也得到有效抑制;在检测到仅有远端人耳信号单讲时,提升对残留回声信号的抑制,使得残留回声能被彻底去除干净;
3、本发明通过神经网络技术进行远端、近端人声双讲检测,有效解决了现有的双讲检测方案鲁棒性差、检测准确率不高的问题;使用有限状态机控制远端、近端人声检测状态,提升鲁棒性。
附图说明
图1为本发明实施例提供的一种基于神经网络双讲检测的回声消除方法的较佳流程图;
图2为本发明实施例提供的一种基于神经网络双讲检测的回声消除方法的原理图;
图3为本发明实施例提供的线性自适应滤波处理的较佳流程示意图;
图4为本发明实施例提供的RNN双讲检测的较佳流程示意图;
图5为本发明实施例提供的RNN双讲检测模型训练的较佳流程示意图;
图6为本发明实施例提供的构建训练样本的较佳流程示意图。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
如图1与图2所示,本实施例提供的一种基于神经网络双讲检测的回声消除方法,包括输入信号处理、线性自适应滤波处理、非线性后处理、RNN双讲检测和输出信号处理。
具体的,输入信号处理:采集近端的麦克风信号和远端的参考信号,并以数字信号流形式进行传输;将麦克风信号和参考信号分别存储至输入缓冲区中,所述输入缓冲区将信号分块为若干数据块,所述数据块包括麦克风信号数据块dl(n)和参考信号数据块xl(n);其中l=1,2,3,…表示数据块序号,n=0,1,2,…,n表示每个数据块样点序号,N是每个数据块样点总数。
具体的,如图4所示,RNN双讲检测:通过递归神经网络RNN对麦克风信号与参考信号进行人声检测,并利用有限状态机控制给出双讲检测状态结果db_flag(l),其中,所述双讲检测状态结果db_flag(l)包括:只有远端有人声的远端单讲状态far_talk_only,只有近端有人声的近端单讲状态near_talk_only和远端近端都有人声的远近端双讲状态doble_talk;所述双讲检测状态结果db_flag(l)用于对线性自适应滤波处理和非线性后处理进行反馈调节。
具体的,线性自适应滤波处理:接收麦克风信号数据块dl(n)、参考信号数据块xl(n)并进行逐点数据处理;数据处理通过NLMS算法进行,并通过双讲检测状态结果db_flag(l)进行自适应调节,得到自适应更新后的滤波器系数
Figure BDA0003766576660000061
通过滤波器系数
Figure BDA0003766576660000062
计算自适应更新后的残差信号el(n)。
具体的,非线性后处理:用于进一步去残差信号el(n)中线性残留回声与非线性残留回声信号;得到AEC输出信号数据块outl(n)。
具体的,输出信号处理:将去除回声后的AEC输出信号数据块outl(n)存入输出缓冲区,并进行数据合并,得到连续的音频数据流进行输出。
需要说明的是:如图1所示,本实施例所提供的一种基于神经网络双讲检测的回声消除方法,将麦克风信号与参考信号作为声学回声消除问题的输入信号,此处麦克风信号与参考信号认为是已经经过模数转换(A/D)的数字信号流。在声学回声消除问题中,常常提到的近端与远端人声信号分别对应于麦克风信号与参考信号中的人声信号。
麦克风信号与参考信号将经过输入缓冲区得到分块待处理的输入信号数据块。两路原始音频将会被输入主处理流程输入缓冲区,输入缓冲区将连续的输入数据流分为等长的数据块,以备后续处理。分块的麦克与参考音信号经过线性自适应滤波处理后,输出的信号为已去除线性回声的麦克风信号。非线性后处理模块用于进一步去除麦克风信号中线性残留回声与非线性残留回声信号。非线性后处理模块常用的方法有基于相关性残留回声估计法、结合非线性模型建模类似volterra滤波的方法或是神经网络的方法,这里为说明问题以相关性残留回声估计方法为例。非线性后处理模块的输出信号为已经去除了线性回声与非线性残留回声的信号。
本实施例还使用RNN神经网络双讲检测用于提升前述线性自适应滤波模块与非线性后处理模块的稳定性进而提升回声消除系统的整体性能。RNN神经网络双讲检测输入信号为非线性后处理模块的输出信号与参考音数据块信号。RNN神经网络双讲检测模块使用两路独立的递归神经网络(recursive neural network,RNN)分别对两路输入进行人声检测获得人声检测标志(1表示检测到人声说话,0表示当前为噪声信号或未检测到人声说话)。然后基于一个状态机控制获得双讲检测结果并输出。双讲检测模块结果将被线性自适应滤波模块与非线性后处理模块用到。去除回声后的麦克信号块将进入输出缓冲区重新得到连续的音频数据流进行输出。
作为更进一步的解决方案,如图3所示,所述线性自适应滤波处理通过如下步骤进行:
接收麦克风信号数据块dl(n)和参考信号数据块xl(n),初始化滤波器系数向量
Figure BDA0003766576660000071
其中,
Figure BDA0003766576660000072
表示第l号参考信号数据块第n点的参考信号向量;
Figure BDA0003766576660000073
表示当前xl(n)对应的滤波器系数向量;T表示当前向量的转置,L为初始化时设定的滤波器长度,
Figure BDA0003766576660000074
的初始化值均设置为0;
通过上一帧第n点的滤波器系数
Figure BDA0003766576660000075
估计当前帧第n点的回声信号
Figure BDA0003766576660000076
Figure BDA0003766576660000077
通过估计的回声信号
Figure BDA0003766576660000078
计算当前帧第n点估计的残差信号el(n):
Figure BDA0003766576660000081
计算参考信号能量El,x(n):
El,x(n)=xl(n)Txl(n)
计算可变步长因子μl(n);
需要说明的是:可变步长因子μl(n)根据线性滤波输出的残差中残留回声大小自动调整步长,用于加快滤波器收敛速度、防近端人声说话时造成滤波器的扰动。
更新估计的回声信号
Figure BDA0003766576660000082
与估计的残差信号el(n)的自相关函数与互相关函数:
Figure BDA0003766576660000083
Figure BDA0003766576660000084
其中,rdd(n)为回声信号
Figure BDA0003766576660000085
自相关函数;rde(n)为回声信号
Figure BDA0003766576660000086
与残差信号el(n)的互相关函数,其中,α为遗忘系数,rdd(n)和rde(n)的函数初始值设置为0;
进行RNN双讲检测,得到双讲检测状态结果db_flag(l);
根据双讲检测状态结果db_flag(l)、上一帧第n点的滤波器系数
Figure BDA0003766576660000087
可变步长因子μl(n)、参考信号向量xl(n)、残差信号el(n)和参考信号能量El,x(n)对滤波器系数
Figure BDA0003766576660000088
进行滤波器系数自适应更新;
通过自适应更新后的滤波器系数
Figure BDA0003766576660000089
计算自适应更新后的残差信号el(n);
将自适应更新后的残差信号el(n)作为线性自适应滤波输出结果,通过上述步骤对数据块内各点进行逐点处理,得到数据块的残差信号输出:[el(n),n=0,1,2,…,N]。
作为更进一步的解决方案,所述可变步长因子μl(n)通过如下公式计算:
Figure BDA00037665766600000810
其中,ε为正则化因子(防止分母为0);μ0为最大的自适应步长常数;rdd(n)为回声信号
Figure BDA00037665766600000811
的自相关函数;rde(n)为回声信号
Figure BDA00037665766600000812
与残差信号el(n)的互相关函数。
作为更进一步的解决方案,滤波器系数自适应更新通过如下公式计算:
Figure BDA00037665766600000813
其中,db_flag(l-1)表示RNN双讲检测模块给出的前一帧双讲检测状态信息对应的双讲检测状态结果;far_talk_only表示仅有远端人声讲话;else表示当双讲检测结果不为for_talk_omly时,停止更新滤波器;ε为正则化因子。
作为更进一步的解决方案,非线性后处理基于相关性原理估算出残差中的残留回声并结合人耳听觉掩蔽效应控制双讲阶段最大残留回声抑制量,有效防止近端人声信号损伤失真。同时对于仅有远端人声单讲时,给予加大回声抑制量,彻底去除残留回声。所述非线性后处理通过如下步骤进行:
通过短时傅里叶变换(STFT)对数据块l的残差信号el(n)和估计的回声信号
Figure BDA0003766576660000091
进行频域处理,得到频域子带的残差信号复数谱Se(l,k)、回声信号复数谱
Figure BDA0003766576660000092
残差信号能量谱Pe(l,k)与回声信号
Figure BDA0003766576660000093
其中,k表示频域离散采样点序号,k=0,1,…,NB-1;NB为频域子带总数;
通过如下公式得到残差信号el(n)中残留回声的能量谱Pres(l,k):
Figure BDA0003766576660000094
其中,
Figure BDA0003766576660000095
Figure BDA0003766576660000096
为上一个数据块l-1最后样点N计算得到的相关函数值;
通过增益函数G(l,k)对复数谱Se(l,k)进行加权处理,得到最终输出信号复数谱So(l,k):
So(l,k)=G(l,k)·Se(l,k)
其中,G(l,k)为增益函数,Pe(l,k)为残差信号能量谱;
将最终输出信号复数谱So(l,k)通过ISTFT短时傅里叶逆变换,得到时域的AEC输出信号数据块outl(n)。
作为更进一步的解决方案,所述增益函数G(l,k)通过维纳滤波器,并施以最大抑制量约束得到:
G(l,k)=max(Gwiener(l,),min_G(l,k))
min_G(l,k)=linear(max_attenu(l,k))
其中,Gwiener(l,k)为第l数据块第k个子带对应的维纳滤波输出,max_attenu(l,k)表示第l数据块第k个子带对残留回声的最大抑制量,linear()为线性函数;
所述最大抑制量max_attenu(l,k)根据双讲检测状态结果进行设置:
根据人耳听觉掩蔽特性,当两个同频率的声音同时出现时,能量较大的声音会掩蔽掉能量较小的声音,这样人耳感知的声音将是较大能量的声音。据此,当db_flag(l-1)==doble_talk时,最大抑制量max_attenu(l,k)为:
max_attenu(l,k)=db(min_gain(l,k))-3
Figure BDA0003766576660000101
其中,db()为线性增益转换为db值的函数,ε为正则化因子,Pres(l,k)为残留回声的能量谱,Pe(l,k)为残差信号能量谱。
当db_lag(l-1)==far_talk_only时,即只有远端人声单讲时,需要加大对残留回声的抑制,彻底去除残留回声,获得更好的用户体验,故需要设置更大的抑制量,最大抑制量max_attenu(l,k)设置为预设值,所述预设值用于加大抑制,这个抑制量比db_lag(l-1)==doble_talk时的抑制量还打,其具体值为经验值,是预设的。
当db_flag(l-1)==near_talk_only时,不进行残留回声抑制,设定max_attenu(l,k)=0。
需要说明的是:使用上述最大回声抑制db量可以有效防止对近端语音损伤,同时保留对残留回声的有效抑制功能。
作为更进一步的解决方案,如图5所示,所述递归神经网络RNN(recursive neuralnetwork,RNN)通过提取出MFCC特征进行学习,并使用Dense层和GRU层实现人声存在概率估计,最后输出人声存在概率。
作为更进一步的解决方案,如图6所示,所述递归神经网络RNN中的权重系数通过训练数据进行预处理得到,所述训练数据通过如下步骤得到:提前录制好近端人声语音数据、使用远端人声单讲数据进行AEC处理得到AEC残留数据和环境噪声数据;将近端人声语音数据分别与AEC残留数据和环境噪声数据进行混合,得到带噪语音信号;根据近端人声语音数据进行标注,得到带噪语音信号中的人声存在位置标签;将带噪语音信号和人声存在位置标签作为训练样本,并对递归神经网络RNN进行预训练,得到中的权重系数。
作为更进一步的解决方案,所述双讲检测状态结果db_flag(l)通过延时单元Z-1进行延时输出,所述延时单元Z-1将数据进行一个单位时长进行延时,从而使线性自适应滤波处理与非线性后处理得到上一帧的双讲检测状态结果db_flag(l-1)。
一种基于神经网络双讲检测的回声消除系统,运行在硬件设备上,所述硬件设备包括信号采集器、输入缓冲器、线性自适应滤波模块、非线性后处理模块、RNN双讲检测模块和延时模块;并通过如上任一项所述的一种基于神经网络双讲检测的回声消除方法来实现对回声信号的消除。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于神经网络双讲检测的回声消除方法,其特征在于,包括输入信号处理、线性自适应滤波处理、非线性后处理、RNN双讲检测和输出信号处理;
输入信号处理:采集近端的麦克风信号和远端的参考信号,并以数字信号流形式进行传输;将麦克风信号和参考信号分别存储至输入缓冲区中,所述输入缓冲区将信号分块为若干数据块,所述数据块包括麦克风信号数据块dl(n)和参考信号数据块xl(n);其中l=1,2,3,...表示数据块序号,n=0,1,2,...,n表示每个数据块样点序号,N是每个数据块样点总数;
RNN双讲检测:通过递归神经网络RNN对麦克风信号与参考信号进行人声检测,并利用有限状态机控制给出双讲检测状态结果db_flag(l),其中,所述双讲检测状态结果db_flag(l)包括:只有远端有人声的远端单讲状态far_talk_only,只有近端有人声的近端单讲状态near_talk_only和远端近端都有人声的远近端双讲状态doble_talk;所述双讲检测状态结果db_flag(l)用于对线性自适应滤波处理和非线性后处理进行反馈调节;
线性自适应滤波处理:接收麦克风信号数据块dl(n)、参考信号数据块xl(n)并进行逐点数据处理;数据处理通过NLMS算法进行,并通过双讲检测状态结果db_flag(l)进行自适应调节,得到自适应更新后的滤波器系数
Figure FDA0003766576650000011
通过滤波器系数
Figure FDA0003766576650000012
计算自适应更新后的残差信号el(n);
非线性后处理:用于进一步去残差信号el(n)中线性残留回声与非线性残留回声信号;得到AEC输出信号数据块outl(n);
输出信号处理:将去除回声后的AEC输出信号数据块outl(n)存入输出缓冲区,并进行数据合并,得到连续的音频数据流进行输出。
2.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述线性自适应滤波处理通过如下步骤进行:
接收麦克风信号数据块dl(n)和参考信号数据块xl(n),初始化滤波器系数向量
Figure FDA0003766576650000013
其中,
Figure FDA0003766576650000014
表示第l号参考信号数据块第n点的参考信号向量;
Figure FDA0003766576650000015
表示当前xl(n)对应的滤波器系数向量;T表示当前向量的转置,L为初始化时设定的滤波器长度,
Figure FDA0003766576650000016
的初始化值均设置为0;
通过上一帧第n点的滤波器系数
Figure FDA0003766576650000017
估计当前帧第n点的回声信号
Figure FDA0003766576650000018
Figure FDA0003766576650000021
通过估计的回声信号
Figure FDA0003766576650000022
计算当前帧第n点估计的残差信号el(n):
Figure FDA0003766576650000023
计算参考信号能量El,x(n):
El,x(n)=xl(n)Txl(n)
计算可变步长因子μl(n);
更新估计的回声信号
Figure FDA0003766576650000024
与估计的残差信号el(n)的自相关函数与互相关函数:
Figure FDA0003766576650000025
Figure FDA0003766576650000026
其中,rdd(n)为回声信号
Figure FDA0003766576650000027
自相关函数;rde(n)为回声信号
Figure FDA0003766576650000028
与残差信号el(n)的互相关函数,其中,α为遗忘系数,rdd(n)和rde(n)的函数初始值设置为0;
进行RNN双讲检测,得到双讲检测状态结果db_flag(l);
根据双讲检测状态结果db_flag(l)、上一帧第n点的滤波器系数
Figure FDA0003766576650000029
可变步长因子μl(n)、参考信号向量xl(n)、残差信号el(n)和参考信号能量El,x(n)对滤波器系数
Figure FDA00037665766500000210
进行滤波器系数自适应更新;
通过自适应更新后的滤波器系数
Figure FDA00037665766500000211
计算自适应更新后的残差信号el(n);
将自适应更新后的残差信号el(n)作为线性自适应滤波输出结果,通过上述步骤对数据块内各点进行逐点处理,得到数据块的残差信号输出:[el(n),n=0,1,2,...,N]。
3.根据权利要求2所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述可变步长因子μl(n)通过如下公式计算:
Figure FDA00037665766500000212
其中,ε为正则化因子;μ0为最大的自适应步长常数;rdd(n)为回声信号
Figure FDA00037665766500000213
的自相关函数;rde(n)为回声信号
Figure FDA00037665766500000214
与残差信号el(n)的互相关函数。
4.根据权利要求3所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,滤波器系数自适应更新通过如下公式计算:
Figure FDA0003766576650000031
其中,db_flag(l-1)表示RNN双讲检测模块给出的前一帧双讲检测状态信息对应的双讲检测状态结果;far_talk_only表示仅有远端人声讲话;else表示当双讲检测结果不为far_talk_only时,停止更新滤波器;ε为正则化因子。
5.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述非线性后处理通过如下步骤进行:
通过短时傅里叶变换(STFT)对数据块l的残差信号el(n)和估计的回声信号
Figure FDA0003766576650000032
进行频域处理,得到频域子带的残差信号复数谱Se(l,k)、回声信号复数谱
Figure FDA0003766576650000033
残差信号能量谱Pe(l,k)与回声信号
Figure FDA0003766576650000037
其中,k表示频域离散采样点序号,k=0,1,...,NB-1;NB为频域子带总数;
通过如下公式得到残差信号el(n)中残留回声的能量谱Pres(l,k):
Figure FDA0003766576650000034
其中,
Figure FDA0003766576650000035
Figure FDA0003766576650000036
为上一个数据块l-1最后样点N计算得到的相关函数值;
通过增益函数G(l,k)对复数谱Se(l,k)进行加权处理,得到最终输出信号复数谱So(l,k):
So(l,k)=G(l,k)·Se(l,k)
其中,G(l,k)为增益函数,Pe(l,k)为残差信号能量谱;
将最终输出信号复数谱So(l,k)通过ISTFT短时傅里叶逆变换,得到时域的AEC输出信号数据块outl(n)。
6.根据权利要求5所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述增益函数G(l,k)通过维纳滤波器,并施以最大抑制量约束得到:
G(l,k)=max(Gwiener(l,k),min_G(l,k))
min_G(l,k)=linear(max_attenu(l,k))
其中,Gwiener(l,k)为第l数据块第k个子带对应的维纳滤波输出,max_attenu(l,k)表示第l数据块第k个子带对残留回声的最大抑制量,linear()为线性函数函数;
所述最大抑制量max_attenu(l,k)根据双讲检测状态结果进行设置:
当db_flag(l-1)==doble_talk时,最大抑制量max_attenu(l,k)为:
max_attenu(l,k)=db(min_gain(l,k))-3
Figure FDA0003766576650000041
其中,db()为线性增益转换为db值的函数,ε为正则化因子,Pres(l,k)为残留回声的能量谱,Pe(l,k)为残差信号能量谱;当db_flag(l-1)==far_talk_only时,最大抑制量max_attenu(l,k)设置为预设值,所述预设值用于加大抑制:
当db_flag(l-1)==near_talk_only时,不进行残留回声抑制,设定max_attenu(l,k)=0。
7.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述递归神经网络RNN通过提取出MFCC特征进行学习,并使用Dense层和GRU层实现人声存在概率估计,最后输出人声存在概率。
8.根据权利要求7所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述递归神经网络RNN中的权重系数通过训练数据进行预处理得到,所述训练数据通过如下步骤得到:提前录制好近端人声语音数据、使用远端人声单讲数据进行AEC处理得到AEC残留数据和环境噪声数据;将近端人声语音数据分别与AEC残留数据和环境噪声数据进行混合,得到带噪语音信号;根据近端人声语音数据进行标注,得到带噪语音信号中的人声存在位置标签;将带噪语音信号和人声存在位置标签作为训练样本,并对递归神经网络RNN进行预训练,得到中的权重系数。
9.根据权利要求1所述的一种基于神经网络双讲检测的回声消除方法,其特征在于,所述双讲检测状态结果db_flag(l)通过延时单元Z-1进行延时输出,所述延时单元Z-1将数据进行一个单位时长进行延时,从而使线性自适应滤波处理与非线性后处理得到上一帧的双讲检测状态结果db_flag(l-1)。
10.一种基于神经网络双讲检测的回声消除系统,其特征在于,运行在硬件设备上,所述硬件设备包括信号采集器、输入缓冲器、线性自适应滤波模块、非线性后处理模块、RNN双讲检测模块和延时模块;并通过如权利要求1至权利要求9中任一项所述的一种基于神经网络双讲检测的回声消除方法来实现对回声信号的消除。
CN202210888604.9A 2022-07-27 2022-07-27 一种基于神经网络双讲检测的回声消除方法及系统 Pending CN115457928A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210888604.9A CN115457928A (zh) 2022-07-27 2022-07-27 一种基于神经网络双讲检测的回声消除方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210888604.9A CN115457928A (zh) 2022-07-27 2022-07-27 一种基于神经网络双讲检测的回声消除方法及系统

Publications (1)

Publication Number Publication Date
CN115457928A true CN115457928A (zh) 2022-12-09

Family

ID=84296466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210888604.9A Pending CN115457928A (zh) 2022-07-27 2022-07-27 一种基于神经网络双讲检测的回声消除方法及系统

Country Status (1)

Country Link
CN (1) CN115457928A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116386655A (zh) * 2023-06-05 2023-07-04 深圳比特微电子科技有限公司 回声消除模型建立方法和装置
CN117437929A (zh) * 2023-12-21 2024-01-23 睿云联(厦门)网络通讯技术有限公司 一种基于神经网络的实时回声消除方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116386655A (zh) * 2023-06-05 2023-07-04 深圳比特微电子科技有限公司 回声消除模型建立方法和装置
CN116386655B (zh) * 2023-06-05 2023-09-08 深圳比特微电子科技有限公司 回声消除模型建立方法和装置
CN117437929A (zh) * 2023-12-21 2024-01-23 睿云联(厦门)网络通讯技术有限公司 一种基于神经网络的实时回声消除方法
CN117437929B (zh) * 2023-12-21 2024-03-08 睿云联(厦门)网络通讯技术有限公司 一种基于神经网络的实时回声消除方法

Similar Documents

Publication Publication Date Title
CN109727604B (zh) 用于语音识别前端的频域回声消除方法及计算机储存介质
CN109841206B (zh) 一种基于深度学习的回声消除方法
US8594320B2 (en) Hybrid echo and noise suppression method and device in a multi-channel audio signal
US7742592B2 (en) Method and device for removing echo in an audio signal
CN108172231B (zh) 一种基于卡尔曼滤波的去混响方法及系统
CN115457928A (zh) 一种基于神经网络双讲检测的回声消除方法及系统
Ma et al. Acoustic echo cancellation by combining adaptive digital filter and recurrent neural network
CN104883462B (zh) 一种用于消除声学回声的自适应滤波器及滤波方法
US11373667B2 (en) Real-time single-channel speech enhancement in noisy and time-varying environments
CN111213359B (zh) 回声消除器和用于回声消除器的方法
CN104506746B (zh) 一种改进的凸组合解相关成比例自适应回声消除方法
CN112689056B (zh) 一种回声消除方法及使用该方法的回声消除装置
Hamidia et al. A new robust double-talk detector based on the Stockwell transform for acoustic echo cancellation
CN109102794A (zh) 基于凸组合的m估计成比例类仿射投影的回声消除方法
Schwarz et al. A two-channel reverberation suppression scheme based on blind signal separation and Wiener filtering
Peng et al. ICASSP 2021 acoustic echo cancellation challenge: Integrated adaptive echo cancellation with time alignment and deep learning-based residual echo plus noise suppression
Jayakumar et al. An integrated acoustic echo and noise cancellation system using cross-band adaptive filters and wavelet thresholding of multitaper spectrum
Schmid et al. An expectation-maximization algorithm for multichannel adaptive speech dereverberation in the frequency-domain
Yang Multilayer adaptation based complex echo cancellation and voice enhancement
CN113409810B (zh) 一种联合去混响的回声消除方法
US11984110B2 (en) Heterogeneous computing for hybrid acoustic echo cancellation
Shraddha et al. Noise cancellation and noise reduction techniques: A review
CN102655558B (zh) 一种双端发音鲁棒结构及其消除声学回声的方法
Lu et al. A computationally efficient semi-blind source separation approach for nonlinear echo cancellation based on an element-wise iterative source steering
Hong et al. Wiener filter-based echo suppression and beamforming for intelligent TV interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination