基于过零率指标的双端说话检测与回声消除方法

文档序号:10472282阅读:469来源:国知局
基于过零率指标的双端说话检测与回声消除方法
【专利摘要】本发明公开了一种基于过零率指标的双端说话检测与回声消除方法:步骤1、过零率计算及双端说话监测;对双端和单端两种场景分别采用不同的回声消除策略。步骤2、回声滤波器估计及回声消除;由于房间冲击响应,麦克风采集到的回声信号和远端信号存在差异,从麦克风信号中减除该回声分量。步骤3、目标语音谐波结构恢复。本模块采用谐波结构分析的方法对近端语音缺失的谐波成分进行补偿,以进一步抑制语音扭曲。本发明和传统的回声消除技术相比,通过过零率指标实现双端监测,避免目标语音被消除;基于频域最小均方误差准则,回声消除滤波器收敛迅速;采用频域并行处理框架,复杂度低;增加了语音扭曲抑制模块,降低了目标语音的扭曲程度。
【专利说明】
基于过零率指标的双端说话检测与回声消除方法
技术领域
[0001] 本发明设及语音信号处理领域,具体设及一种基于过零率指标的双端说话检测与 回声消除方法。
【背景技术】
[0002] 有关回声消除:
[0003] 所谓回声是指任一个同时内置有麦克风和扬声器的终端设备,麦克风在采集目标 用户语音的同时也会接收到有扬声器发出的声音。对于语音通讯设备,如果不把回声消除 掉会在通讯回路内多次迭代并形成啸叫,造成通讯无法使用。对于内置语音控制中枢的智 能音箱等应用,如果从回声不被抑制,则会影响语音识别的准确性,降低了语音控制的智能 化水平。
[0004] 回声消除系统有Ξ个重要的信号:近端信号(near-end signal),远端信号(far- end signal)和回声。近端信号是指,在目标通讯端,由麦克风采集到的目标语音信号,是回 声消除系统要保留的目标信号;远端信号是指在通讯系统的另一端,由用户发出,并通过网 络信道传输至目标通讯端,通常用作回声消除的参考信号;回声是指远端信号由通讯端的 扬声器发出,再次被麦克风采集到的信号,需要被消除。
[0005] 语音通讯系统必须要求回声消除能够实时处理,如果不能做到实时处理,会造成 数据包的拥塞。对于许多内置语音控制功能的终端设备,还需要在回声消除的同时,不会造 成目标语音的扭曲。
[0006] 有关双端说话检测:
[0007] 双端说话(double-ta化)是指通讯双端说话人同时在发出语音信号。相对应的,单 端说话(single-ta化)是指通讯端只有单方用户在讲话。在实际应用中,双端说话的持续时 间远低于单端说话的持续时间。虽然双端说话的持续时间短,但是会对回声消除的滤波器 收敛造成很大的干扰,因此双端说话检测非常的重要。
[000引通用的回声消除系统中,检测到双端说话场景之后,停止回声消除的适应滤波器 更新,或者滤波器更新步长调整到很小值,W避免目标语音被错误的抑制。如果双端说话场 景没有被及时检测,则会造成目标语音在开始的一段时间内会被扭曲,影响通讯质量。在诸 如Wifi音箱等应用中,目标语音的扭曲会造成后续语音识别的误差。因此,双端说话检测必 须对迅速响应双端说话场景。
[0009] 过零率是指在一段时间内,相邻两个样本分别为正负样本的次数,占所有样本数 量的比值。双端说话场景和单端说话场景过零率有很大的不同,因此过零率是用W监测双 端说话的有效指标。
[0010] 双端说话及回声消除技术现状和不足:
[0011] 目前,基于最小均方误差准则的自适应滤波技术是当前业界采用主流回声消除技 术,在基于电话通讯等通讯终端中有了比较成熟的应用。双端说话检测主要依据判断回声 消除后的能量残留或者互相关系数的方式实现,主要的技术不足包括:
[0012] 1)长混响情况下存在很强的回声残留。在传统的电话通讯系统中,一方面麦克风 与扬声器的距离比较短,混响比较小,采用自适应滤波技术可W很好的解决回声消除问题; 另一方面扬声器的声音通常远低于用户的声音能量,即便存在回声残留也不至于被感知。 然而,当前的许多应用中,麦克风与扬声器的距离比较远、混响大,采用传统算法回声残留 更多。
[0013] 2)基于能量残留或者互相关系数的双端说话检测需要人为设定一个阔值,通过对 比每一帖与当前阔值来决定是否为双端说话场景。采用运种方式会有一定的延迟,即双端 说话持续若干时间帖之后才能被监测到。另外一个缺陷在于,阔值的设定不能百分之百保 证双端检测的准确性,通常会有误检时间帖的发生。
[0014] 3)通讯系统除了回声之外还被系统白噪声所干扰,一个高质量的语音通讯系统需 要对白噪声鲁棒。而传统算法对系统噪声比较敏感,容易被噪声所干扰。

【发明内容】

[0015] 针对现有技术的不足,本发明公开了一种基于过零率指标的双端说话检测与回声 消除方法。
[0016] 本发明的技术方案如下:
[0017] -种基于过零率指标的双端说话检测与回声消除方法,包括W下步骤:
[0018] 步骤1、过零率计算及双端说话监测;
[0019] 将麦克风信号y(t)写入缓冲区,缓冲区长度为N;对缓冲区域中间内的样本点,计 算过零率:
[0020]
(2)
[0021] 式(2)中,Μ为汉明窗函数w(n)的长度;
[0022] 计算当前缓冲区过零率的平均值:
[00%]式(8)中,f>表示经过平滑处理的麦克风信号与远端信号的互相关系数;f',,、f; 分别表示经过平滑处理的麦克风信号与远端信号的自相关系数
[0027]双端说话判定基于过零率平均值与该自适应阔值的对比,判定准则如下:
[002引如果,则表明当前缓冲区存在近端信号,为双端说话场景;
[0029] 如果玄<;/,则表明当前缓冲区不存在近端信号,为单端说话场景;
[0030] 步骤2、回声滤波器估计及回声消除;
[0031] 在每一个频带,对当前时间帖构建参考信号向量:
[0032] 复保巧二[这执鮮原(/ - U )….,欠 α _ V+ U)f, (11)
[0033] 式(11)中,R(l,k)为远端信号r(t)的傅里叶变换,Lp为向量长度;
[0034] 计算回声滤波器:
[003引 r(/,A)二 T";?(/,/0、[%,, (14)
[0036] 式(14)中,WrrQ ,k)为参考向量的自相关矩阵,Ψκγ(1 ,k)为麦克风信号与参考信 号向量的互相关矩阵;
[0037] 在每一个麦克风上估计回声并消除回声,信号输出为:
[003引 z(/,幻二r(/,A)-w"(u')房(U), (巧)
[0039] 基于该步骤,回声的大部分能量得到了抑制;
[0040] 基于所述步骤1中的双端说话监测结果,如果当前缓冲区为双端说话场景,需要对 估计信号进行补偿,补偿步骤如下所示:
[0041] 首先、计算语音扭曲控制因子:
[00 创 vij,k)三(l-a)良;'y,k)、\' , ( 16 )
[0043] 其次、更新目标语音估计如下所示:
[0044]
(17)
[0045] 最后、更新互相关矩阵估计,如下所示:
[0046]
(18)
[0047] 步骤3、目标语音谐波结构恢复;采用谐波结构分析的方法对近端语音缺失的谐波 成分进行补偿;
[004引构造梳状滤波函数,滤波器频域响应函数为:
[0049]
(23)
[0050] 其中,β为控制参数,Fo为听觉谱的互通道相关系数的最大值所应处的基频对应圆 频率,Fs为采样频率;出。mb(f)用W抓取谐波结构上的语音能量,出hift(f)用W抓取谐波结构 之间的语音能量;
[0051 ]根据滤波后的信号计算梳状信号残留比:
[005^
(24)
[0053] 根据设定阔值判定当前时频单元是否缺失,并对缺失的时频单元能量进行补偿:
[0054] 如果CFR(f ,m)<0.6,则当前时频单元谐波结构缺失,掩蔽值为1;
[0055] 如果CFR(f,m)含0.6,则当前视频单元谐波结构无缺失,掩蔽值为0;
[0化6] 根据掩蔽值,z(t)通过gammatone滤波器组,得到缺失的谐波结构信号21');最终的 输出语音信号为:
[0057] i(〇二2·(η + ?η。 (2面)
[005引其进一步的技术方案为:
[0059] 近端信号和远端信号分别表示为s(t)和r(t);终端麦克风采集到的信号记为y (t),可w表示为:
[0060] y(t)=h(t)*r(t)+s(t)+u(t), 1 = 1,2, . . . ,Ν, (1)
[0061] 式(1)中,h(t)为扬声器到麦克风的房间冲击响应,x(t)=h(t)*r(t)为回声信号, u(t)为系统白噪声和环境噪声,为卷积运算符;
[0062] 步骤10、麦克风信号y(t)写缓入冲区,缓冲区长度为N;
[0063] 步骤11、构造长度为Μ的汉明窗函数w(n);
[0064] 步骤12、对缓冲区域内的样本点,计算过零率:
[0070]步骤14、当前缓冲区内的麦克风信号的自相关系数和远端信号的自相关系数分别 为:
[0076] 式(7)中,α为为平滑因子,带有'pre'角标的符号'1%,./均代表上一缓冲区的相关 数值,初始缓冲区统一设置为零;
[0077] 步骤17、计算自适应阔值:
[007引
(致)
[0079] 步骤18、双端说话判定基于过零率平均值与该自适应阔值的对比,判定准则如下:
[0080] 如果,则表明当前缓冲区存在近端信号,为双端说话场景;
[0081] 如果z<y,则表明当前缓冲区不存在近端信号,为单端说话场景;
[0082] 步骤19、更新自相关及互相关系数,并进入下一缓冲区计算;系数更新如下所示:
[0083]
(讶)
[0084] 其进一步的技术方案为,所属步骤2具体包括:
[0085] 步骤20、分别计算当前缓冲区麦克风信号与远端信号的傅里叶变换:
[0086]
( 10 )
[0087] 式(10)中a和k分别代表时间帖和频带;
[0088] 步骤21、在每一个频带,对当前时间帖构建参考信号向量:
[0089] 々(/,,'〇 二[/?(/,",/?(/…1,/(),...'/?(/ -L., + 1,/(Xl', (11)
[0090] 式(11)中,Lp为向量长度;
[0091 ]步骤22、计算该参考向量的自相关矩阵:
[0092]
(巧)
[0093] 式(12)中,Η为共辆算子,α为平滑参数;
[0094] 步骤23、计算麦克风信号与参考信号向量的互相关矩阵:
[0095]
(巧)
[0096] 步骤24、计算回声滤波器:
[0097]
( 14)
[0098] 步骤25、在每一个麦克风上估计回声并消除回声,信号输出为:
[0099]
(15)
[0100] 步骤26、基于步骤1中的双端说话监测结果,如果当前缓冲区为双端说话场景,需 要对估计信号进行补偿,补偿步骤如下所示:
[0101] 步骤26a、计算语音扭曲控制因子:
[0102]
(16)
[0103] 步骤26b、更新目标语音估计如下所示:
[0104]
(17)
[0105] 步骤26c、更新互相关矩阵估计,如下所示:
[0106] Ψ,,(/,Is) = Ψ,,,(/.k)-n-a)R{Lk)Ζ'\ΙΛ) , ( 18)
[0107] 步骤27、对各个频带处理之后,进行短时傅里叶逆变换,得到回声抑制后的时域信 号:
[010 引
(19)
[0109] 经过步骤2,回声能量受到抑制。
[0110] 其进一步的技术方案为,所属步骤3具体包括:
[0111] 步骤31、对步骤2输出的时域信号z(t),估计听觉谱;听觉谱由64路gammatone变换 所得到,该变换的冲击响应函数为:
[0112]
t撕)
[011引式(20)中,1为滤波器阶数,等效矩形带宽为b = 1.019X24.7X(0.0043f+l);
[0114]步骤32、根据听觉滤波器输出,计算第f通道、第m时间帖自相关谱:
[0118] 其中,互通道相关系数的最大值对应处为基频对应圆频率Fo;
[0119] 步骤34、构造梳状滤波函数,此滤波器频域响应函数为:
[0120]
(23)
[0121] 式(23)中,β为控制参数,Fs为采样频率,出。mb (f)用W抓取谐波结构上的语音能量, Hshift(f)用W抓取谐波结构之间的语音能量;
[0122] 步骤35、根据滤波后的信号计算梳状信号残留比:
[0123]
(24)
[0124] 步骤36、根据设定阔值判定当前时频单元是否缺失,并对缺失的时频单元能量进 行补偿:
[0125] 如果CFR(f,m)<0.6,则当前时频单元谐波结构缺失,掩蔽值为1,对当前时频单元 进行补偿;
[0126] 如果CFR(f,m) ^ 0.6,则当前视频单元谐波结构没有缺失,掩蔽值为0,不补偿谐波 结构;
[0127] 步骤37、根据掩蔽值,z(t)再次通过gammatone滤波器组,得到缺失的谐波结构信 号訓;
[0128] 步骤38、谐波结构恢复后,最终的输出语音信号为:
[01 巧]f(〇 = z(〇 + S(〇。 (25)
[0130] 本发明的有益技术效果是:
[0131] 本发明公开了基于过零率指标的双端说话检测与回声消除方法。回声抑制是语音 通讯、会议系统、智能语音控制领域最基本的问题之一,随着计算机网络、嵌入式系统相关 领域的技术进展,应用场景变得更为复杂,回声抑制的难度也随之增大。本发明针对当前复 杂的应用场景,设计了一种可W快速实现双端说话监测、强混响情况下的回声消除技术,复 杂度低,对系统白噪声有着很强的适应性和鲁棒性,可W做到实时处理,有着巨大的商业应 用潜力。
[0132] 本发明和传统的回声消除技术相比,通过过零率指标实现双端监测,避免目标语 音被消除;基于频域最小均方误差准则,回声消除滤波器收敛迅速;采用频域并行处理框 架,复杂度低;增加了语音扭曲抑制模块,降低了目标语音的扭曲程度。相比于现有回声抑 制技术,本项发明的优势包括:
[0133] 1.采用频域滤波器,可W适应于长混响情况下,回声残留能量低,语音扭曲小。
[0134] 2.采用过零率指标,双端监测更加迅速和完整,避免了语音扭曲的出现。
[0135] 3.增加了语音扭曲抑制模块,可W处理多说话人同时说话的应用场景,语音纯净 度更高。
[0136] 另外,本发明还有很强的实用性,适用于各种场景如下:
[0137] 本发明的一个重要应用是车载语音控制中枢,用W抑制行车过程中播放音乐的回 声信号。双端检测可W保证用户发出语音指令的第一时间做出响应,提高语音控制的准确 度。车载语音控制运项应用是近几年来的新兴产业,潜力巨大。
[0138] 本发明的另外一个重要应用面向企业的高质量视频会议系统。此类视频会议系统 价格昂贵,利润率高,市场需求迫切,有着很大的应用前景。
[0139] 智能硬件是运两年来发展比较迅速的新兴行业,许多集成语音控制功能的智能终 端走进人民的生活,比如陪伴型机器人、Wifi音箱等,由于运些智能设备也集成了扬声器W 支持语音播放、音乐播放等功能,因此也迫切需要本项技术。如果该扬声器产生的回声信号 得不到抑制,后续的语音识别会受到抑制而无法实现智能控制的目的。
【附图说明】
[0140] 图1是过零率计算及双端说话监测步骤的流程图。
[0141] 图2是汉明窗函数的示意图。
[0142] 图3是回声滤波器估计及回声消除处理流程图。
[0143] 图4是目标语音谐波结构恢复处理流程图。
[0144] 图5是64通道gammatone变换频域响应函数示意图。
[0145] 图6是梳状滤波器频域响应示意图。
【具体实施方式】
[0146] 本发明主要包括Ξ个核屯、步骤:(1)过零率计算及双端说话监测;(2)回声滤波器 估计及回声消除;(3)目标语音谐波结构恢复。本发明的处理流程详细介绍如下:
[0147] 步骤1、过零率计算及双端说话监测。
[0148] 假定近端信号和远端信号分别表示为s(t)和r(t)。通讯或其他应用终端麦克风采 集到的信号记为y(t),可W表示为:
[0149] y(t)=h(t)*r(t)+s(t)+u(t),i = l,2,...,N, (1)
[0150] 式(1)中,h(t)代表扬声器到麦克风的房间冲击响应,x(t)=h(t)*r(t)代表回声 信号,u(t)代表系统白噪声和环境噪声,"*"代表卷积运算。本项发明的第一个重要任务是 计算在一段时间内的信号过零率,并监测出是否为双端说话场景,即s(t)是否非零值。
[0151] 图1是过零率计算及双端说话监测步骤的流程图。如图1所示,步骤1的具体的计算 流程如下:
[0152] 步骤10、麦克风信号y(t)写缓冲区,缓冲区大小为1024B,其中远端信号信号r(t) 的缓冲区大小也为1024B。
[0153] 步骤11、构造长度为M = 256的汉明窗函数w(n),图2是汉明窗函数的示意图。
[0154] 步骤12、对缓冲区域中间内的样本点,计算过零率:
[0160]式(4)中N=1024代表缓冲区的长度。
[0161 ]步骤14、当前缓冲区内的麦克风信号的自相关系数和远端信号的自相关系数分别 九,
[0167] 式(7)中,α = 〇.995为平滑因子,带有'pre'角标的符号均代表上一缓冲区的相对 应的值,初始缓冲区统一设置为零。
[0168] 步骤17、计算自适应阔值:
[0169]
(8)
[0170] 和传统基于能量残留的双端监测相比,该阔值由系统自适应计算,避免了主观设 定造成的双端误检。
[0171] 步骤18、双端说话判定基于过零率平均值与该自适应阔值的对比,判定准则如下:
[0172] 如果Z>y:,则表明当前缓冲区存在近端信号,为双端说话场景;
[0173] 如果Z<y,则表明当前缓冲区不存在近端信号,为单端说话场景。
[0174] 步骤19、更新自相关及互相关系数,并进入下一缓冲区计算,系数更新如下所示:
[0175]
(9)
[0176] 步骤1可W迅速的监测出是否为双端说话场景,并对双端和单端两种场景分别采 用不同的回声消除策略,可W最大的程度的消除回声而不造成近端语音扭曲。
[0177] 步骤2、回声滤波器估计及回声消除。
[0178] 如上文所述,麦克风采集到的回声信号和远端信号存在差异,运个差异是由房间 冲击响应所造成。回声滤波器估计的目的即为估计出房间冲击响应,并从麦克风信号中减 除该回声分量。根据步骤1得到的双端监测结果采用不同的估计策略。图3是回声滤波器估 计及回声消除处理流程图,如图3所示,滤波器估计及回声消除流程如下所示:
[0179] 步骤20、分别计算当前缓冲区麦克风信号与远端信号的傅里叶变换:
[0180]
(10)
[0181] 式(10)中,1和k分别代表时间帖和频带。
[0182] 步骤21、在每一个频带,对当前时间帖构建参考信号向量:
[0183] 卸/·,'()二[巧(/.H/?(/-l,/(),...,W-L,,, + U)y, (11)
[0184] 式(11)中,Lp = 4为向量长度。
[0185] 步骤22、计算该参考向量的自相关矩阵:
[0186]
(12)
[0187] 式(12)中,Η代表共辆算子,平滑参数α = 0.995。
[0188] 步骤23、计算麦克风信号与参考信号向量的互相关矩阵:
[C
[C
[C
[0192] 该滤波器基于最小均方误差准则估计得出,该滤波器输出可W使得无目标语音时 间帖回声残留在均方误差评价指标下最小。该滤波器即为回声滤波器估计。
[0193] 步骤25、在每一个麦克风上估计回声并消除回声,信号输出为:
[0194] Z{Lk) = Y{L k) - W''(/,k)R{Lk) , ( 15)
[01M]基于该步骤回声的大部分能量得到了抑制。
[0196] 步骤26、基于步骤1的双端说话监测结果,如果当前缓冲区为双端说话场景,需要 对估计信号进行补偿,补偿步骤如下所示:
[0197] 步骤26a、计算语音扭曲控制因子:
[0203] 步骤27、对各个频带处理之后,进行短时傅里叶逆变换,得到回声抑制后的时域信 号:
[0204]
( 19)
[0205] 经过步骤2的处理流程,回声能量受到了抑制。
[0206] 上述步骤完成,虽然通过语音扭曲控制因子,对近端语音的扭曲程度进行了控制, 依然存在一定的语音扭曲,还需要进一步抑制W提高语音通讯质量。
[0207] 步骤3、目标语音谐波结构恢复。
[0208] 由于回声消除是在各个频带分别进行处理,在某些时频单元上近端语音可能会缺 失。由于语音信号能量大部分分布在基频及其倍频上,本模块采用谐波结构分析的方法对 缺失的谐波成分进行补偿,W进一步抑制语音扭曲。图4是目标语音谐波结构恢复处理流程 图,如图4所示,步骤3的具体流程如下所示:
[0209] 步骤31、对上一模块输出的时域信号Z (t),估计听觉谱。听觉谱由64路gammatone 变换所得到,该变换的冲击响应函数为:
[0210]
(20)
[0別。式(20)中,滤波器阶数1 = 4,等效矩形带宽为b = 1.019X24.7X(0.0043f+l)。本 项发明采用64路滤波器组。图5是64通道gammatone变换频域响应函数示意图。
[0212]步骤32、根据听觉滤波器输出,计算第f通道、第m时间的帖自相关谱:
[0216] 其中,互通道相关系数的最大值对应处为基频对应圆频率Fo,由于语音浊音基频 通常分布在[50,800化Z之间,如果超出运个区间,则定义为无谐波结构,L= 128为最大计算 长度。假设当前帖互通道系数最大值处为fi,根据频率换算,其基频为:
[0217]
[0218] 如果Fi属于[50,800化Z之间,则定义该时频单元存在谐波结构,否则判定为不存 在谐波结构。
[0219]步骤34、构造梳状滤波函数,滤波器频域响应函数为:
[0220]
(23)
[0221] 其中,β为控制参数,本项发明采用参数i3 = 0.8,Fs为采样频率。出。mb(f)用W抓取谐 波结构上的语音能量,Hshift(f)用W抓取谐波结构之间的语音能量。图6是梳状滤波器频域 响应示意图。图6所示的为基频为400Hz对应的滤波器频域响应函数。
[0222] 步骤35、根据滤波后的信号计算梳状信号残留比:
[0223]
(24)
[0224] CFR特征是反应谐波结构是否缺失的最重要特征。
[0225] 步骤36、根据设定阔值判定当前时频单元是否缺失,并对缺失的时频单元能量进 行补偿:
[0226] 如果CFR(f,m)<0.6,则说明当前时频单元谐波结构是缺失的,采用全l掩蔽的方 式对当前时频单元进行补偿。
[0227] 如果CFR(f,m)含0.6,则说明当前视频单元谐波结构没有缺失,则不用补偿谐波结 构,掩蔽值为0。
[0。引步骤37、根据掩蔽值,z(t)再次通过gammatone滤波器组,得到缺失的谐波结构信 号部)。
[0229] 步骤38、谐波结构恢复后,最终的输出语音信号为:
[0230] z{/) = z(/) + z(/) ^ (25;
[0231] 步骤3主要利用基于gammatone变换的谐波结构分析的方式,对信号时频单元缺失 的谐波成分进行判定和恢复。经过步骤3的处理,输出信号的谐波结构更为完整,语音感知 质量更高。
[0232] W上所述的仅是本发明的优选实施方式,本发明不限于W上实施例。可W理解,本 领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变 化,均应认为包含在本发明的保护范围之内。
【主权项】
1. 一种基于过零率指标的双端说话检测与回声消除方法,其特征在于,包括以下步骤: 步骤1、过零率计算及双端说话监测; 将麦克风信号y(t)写入缓冲区,缓冲区长度为N;对缓冲区域中间内的样本点,计算过 零率:式(2)中,Μ为汉明窗函数w(n)的长度; 计算当前缓冲区过零率的平均值:计算自适应阈值:式(8)中,fV表示经过平滑处理的麦克风信号与远端信号的互相关系数;t分别 表示经过平滑处理的麦克风信号与远端信号的自相关系数 双端说话判定基于过零率平均值与该自适应阈值的对比,判定准则如下: 如果之,则表明当前缓冲区存在近端信号,为双端说话场景; 如果之</,则表明当前缓冲区不存在近端信号,为单端说话场景; 步骤2、回声滤波器估计及回声消除; 在每一个频带,对当前时间帧构建参考信号向量: /?(/, k) =: [/?(/, k),R{i-ikh.,.,m - lp+mf , c l i) 式(11)中,R(l,k)为远端信号r(t)的傅里叶变换,LP为向量长度; 计算回声滤波器: W(l,k) = ^^(LmRyU,k) , (14) 式(14)中,Wrr(1,k)为参考向量的自相关矩阵,Ψι?(1,k)为麦克风信号与参考信号向 量的互相关矩阵; 在每一个麦克风上估计回声并消除回声,信号输出为: Z(l,k) = Y(Lk)-Wn(/,k)R(i,k) , ( Π ) 基于该步骤,回声的大部分能量得到了抑制; 基于所述步骤1中的双端说话监测结果,如果当前缓冲区为双端说话场景,需要对估计 信号进行补偿,补偿步骤如下所示: 首先、计算语音扭曲控制因子: vU,k)-Q-a)Rn(Lm ,; (/,k)R(J,k) , (16 ) 其次、更新目标语音估计如下所示:最后、更新互相关矩阵估计,如下所示: Ψ !<Υ(ΙΛ、= Ψ RYiU、-{\-a、KiU々H{LkU (18) 步骤3、目标语音谐波结构恢复;采用谐波结构分析的方法对近端语音缺失的谐波成分 进行补偿; 构造梳状滤波函数,滤波器频域响应函数为:其中,β为控制参数,Fo为听觉谱的互通道相关系数的最大值所应处的基频对应圆频率, Fs为采样频率;H_b(f)用以抓取谐波结构上的语音能量,Hshlft(f)用以抓取谐波结构之间 的语音能量; 根据滤波后的信号计算梳状信号残留比:根据设定阈值判定当前时频单元是否缺失,并对缺失的时频单元能量进行补偿: 如果CFR(f,m) <0.6,则当前时频单元谐波结构缺失,掩蔽值为1; 如果CFR(f,m) 2 0.6,则当前视频单元谐波结构无缺失,掩蔽值为0; 根据掩蔽值,z(t)通过ga_atone滤波器组,得到缺失的谐波结构信号〗(〇;最终的输出 语音信号为: z(/) := ζ(/)+ ζ{?) ^ ( 25 )2.如权利要求1所述的过零率指标的双端说话检测与回声消除方法,其特征在于,所属 步骤1具体包括: 近端信号和远端信号分别表示为s(t)和r(t);终端麦克风采集到的信号记为y(t),可 以表示为: y(t)=h(t)*r(t)+s(t)+u(t) ,i = l ,2,. . . ,N, (1) 式(1)中,h(t)为扬声器到麦克风的房间冲击响应,乂(1:)=11(1:)*1'(1:)为回声信号,11(1:) 为系统白噪声和环境噪声,为卷积运算符; 步骤10、麦克风信号y(t)写缓入冲区,缓冲区长度为N; 步骤11、构造长度为Μ的汉明窗函数w (η); 步骤12、对缓冲区域内的样本点,计算过零率:式(2)中,函数sgn表示为:步骤13、计算当前缓冲区过零率的平均值:步骤14、当前缓冲区内的麦克风信号的自相关系数和远端信号的自相关系数分别为:步骤15、计算当前缓冲区内麦克风信号与远端信号的互相关系数:步骤16、对所述自相关系数与互相关系数进行平滑:式(7)中,α为为平滑因子,带有'pre'角标的均代表上一缓冲区的相关数值, 初始缓冲区统一设置为零; 步骤17、计算自适应阈值:步骤18、双端说话判定基于过零率平均值与该自适应阈值的对比,判定准则如下: 如果之,则表明当前缓冲区存在近端信号,为双端说话场景; 如果之</,则表明当前缓冲区不存在近端信号,为单端说话场景; 步骤19、更新自相关及互相关系数,并进入下一缓冲区计算;系数更新如下所示: -Λ. Λ Λ Λ .Λ Λ'. :「…:,.=Γ抄,:^3=匕,1^",. = :^。 ( 9 )3.如权利要求1所述的过零率指标的双端说话检测与回声消除方法,其特征在于,所属 步骤2具体包括: 步骤20、分别计算当前缓冲区麦克风信号与远端信号的傅里叶变换:式(10)中,1和k分别代表时间帧和频带; 步骤21、在每一个频带,对当前时间帧构建参考信号向量: /?(/,k ) - [/?(/,k), R{! -1, A),..., /?(/ - Z." + l,/c)]7 , (.11) 式(11)中,LP为向量长度; 步骤22、计算该参考向量的自相关矩阵: Ψ^(/, k) = (/, + (1 - aW,k )R'\L fe): , (12;) 式(12)中,H为共辄算子,α为平滑参数; 步骤23、计算麦克风信号与参考信号向量的互相关矩阵: Ψ,, (/, A) = ,;) (/,/0 + (1- α)Λ(/,Λ)Κ i7(/,k) , (13) 步骤24、计算回声滤波器: WU,k) = W^!JYVRr{Ui) , ( 14) 步骤25、在每一个麦克风上估计回声并消除回声,信号输出为: Z{Lk) = )\Lk)-W'\Lk)R{l^) , (In) 步骤26、基于步骤1中的双端说话监测结果,如果当前缓冲区为双端说话场景,需要对 估计信号进行补偿,补偿步骤如下所示: 步骤26a、计算语音扭曲控制因子: v(l,k) = (\ --a)Rl!(!J.yV ,^{ΙΛ)??{ΙΛ) , (16) 步骤26b、更新目标语音估计如下所示:步骤26c、更新互相关矩阵估计,如下所示: T /;). (/, k) = Ψ ,!y (/, Λ) - (1 - c?)R(L k )Z u{Lk) , C18 ) 步骤27、对各个频带处理之后,进行短时傅里叶逆变换,得到回声抑制后的时域信号:经过步骤2,回声能量受到抑制。4.如权利要求1所述的过零率指标的双端说话检测与回声消除方法,其特征在于,所属 步骤3具体包括: 步骤31、对步骤2输出的时域信号z (t),估计听觉谱;听觉谱由64路gammatone变换所得 到,该变换的冲击响应函数为:式(20)中,1为滤波器阶数,等效矩形带宽为b= 1.019 X 24.7 X (0.0043f+1); 步骤32、根据听觉滤波器输出,计算第f通道、第m时间帧自相关谱:步骤33、计算互通道相关系数:其中,互通道相关系数的最大值对应处为基频对应圆频率F〇; 步骤34、构造梳状滤波函数,此滤波器频域响应函数为:式(23)中,β为控制参数,Fs为采样频率,H_b(f)用以抓取谐波结构上的语音能量,H shlft (f)用以抓取谐波结构之间的语音能量; 步骤35、根据滤波后的信号计算梳状信号残留比:步骤36、根据设定阈值判定当前时频单元是否缺失,并对缺失的时频单元能量进行补 偿: 如果CFR(f,m) <0.6,则当前时频单元谐波结构缺失,掩蔽值为1,对当前时频单元进行 补偿; 如果CFR(f,m) 2 0.6,则当前视频单元谐波结构没有缺失,掩蔽值为0,不补偿谐波结 构; 步骤37、根据掩蔽值,z(t)再次通过gammatone滤波器组,得到缺失的谐波结构信号 步骤38、谐波结构恢复后,最终的输出语音信号为: = z(/) +£(/)。 (25)
【文档编号】G10L25/06GK105825864SQ201610335013
【公开日】2016年8月3日
【申请日】2016年5月19日
【发明人】唐明
【申请人】南京奇音石信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1