发明内容
有鉴于此,本发明提供一种噪声估计方法及装置,以解决现有技术中硬判决算法在低信噪比时噪声的跟踪性能差的问题。其具体方案如下:
一种噪声估计方法,包括:
跟踪预设时间窗口内,带噪语流的幅频值的最大值;
依据所述幅频值的最大值计算各个频点的信噪比及对应的语音标识;
利用所述各个频点对应的语音标识平滑语音存在概率及跟踪因子;
平滑所述预设时间窗口内各帧的带噪语流的幅频值;
根据所述带噪语流的幅频值平滑结果及平滑后的跟踪因子更新噪声方差。
优选的,所述利用所述各个频点对应的语音标识平滑语音存在概率及跟踪因子的步骤前还包括:
依据所述幅频值的最大值计算全局信噪比及对应的语音标识;
按照预设准则利用所述全局信噪比对应的语音标识修正所述各个频点对应的语音标识。
优选的,所利用所述各个频点对应的语音标识平滑语音存在概率的过程包括:
利用下述一阶递归方程:pn[k]=βpn-1[k]+(1-β)Indexn[k]对语音存在概率pn[k]进行平滑,其中,所述β为经验平滑参数,所述语音存在概率pn[k]小于1。
优选的,所述平滑所述预设时间窗口内各帧的带噪语流的幅频值过程为:
加权平滑所述预设时间窗口内各帧的带噪语流的幅频值。
优选的,按照以下步骤加权平滑所述预设时间窗口内各帧带噪语流的幅频值:
分别获得加权因子与各帧带噪语流幅频值平方的乘积;
将各帧带噪语流幅频值对应的乘积相加,获得加权平滑结果;
优选的,按照以下步骤根据所述带噪语流的幅频值平滑结果及平滑后的跟踪因子更新噪声方差:
计算1与跟踪因子的差值,并获得所述差值与所述加权平滑结果的乘积,确定其为第一乘积结果;
获得所述跟踪因子与上一帧噪声方差的乘积,确定其为第二乘积结果;
确定所述第一乘积结果和第二乘积结果的和为更新后的噪声方差。
优选的,所述预设准则为:
计算所述全局信噪比对应的语音标识与各个频点对应语音标识的乘积;
确定所述结果为修正后的各个频点对应的语音标识。
一种噪声估计装置,包括:
跟踪单元,用于跟踪预设时间窗口内,带噪语流的幅频值的最大值;
各频点信噪比及语音标识计算单元,用于依据所述幅频值的最大值计算各个频点的信噪比及对应的语音标识;
跟踪因子平滑单元,用于利用所述各个频点对应的语音标识平滑语音存在概率及跟踪因子;
幅频值平滑单元,用于平滑所述预设时间窗口内各帧的带噪语流的幅频值;
更新单元,用于根据所述带噪语流的幅频值平滑结果及平滑后的跟踪因子更新噪声方差。
优选的,还包括:
全局信噪比及语音标识计算单元,用于依据所述幅频值的最大值计算全局信噪比及对应的语音标识;
修正单元,用于按照预设准则利用所述全局信噪比对应的语音标识修正所述各个频点对应的语音标识。
优选的,所述修正单元包括:
相乘单元,用于计算所述全局信噪比对应的语音标识与各个频点对应语音标识的乘积;
确定单元,用于确定所述乘积为修正后的各个频点对应的语音标识。
从上述的技术方案可以看出,本发明公开的噪声估计方法,采用预设时间内带噪语流的幅频值的最大值作为控制噪声更新力度的参数,持续更新噪声方差,避免了直接使用幅频值而被误跟踪或者误判为噪声信号现象发生,保证了能够准确跟踪真实噪声信号的变化,提高了跟踪性能。相对现有技术的硬判决方法,提高了判决结果的准确性,提高了系统的性能。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开的一种噪声估计方法的流程如图2所示,包括:
步骤S21、跟踪预设时间窗口内,带噪语流的幅频值的最大值;
由于一定时间窗口内,带噪信号的包络更能反映当前信号是否包含语音帧。根据语音的特性,在语音的两端(开始和结束部分)往往为清音,这些清音能量比较低,而且与噪声类似,直接使用其幅频值往往会被误跟踪或者误判为噪声信号。对这些辅音抑制过度往往会影响语音的主观感受。为了避免这种情况,采用带噪语流的幅频值的最大值,即包络,能更加准确的界定是否包含语音信号,从而能更加准确的跟踪上真实噪声信号的变化。相比于传统的硬判决跟踪方式,能更好地保护语音,尤其是清音部分。
本实施例中的预设时间窗口的长度为4~12帧,具体值可根据实际情况任意设定。
其中,第n帧的包络定义为该帧之前的前N帧的幅频最大值。即:
公式(1)
步骤S22、依据所述幅频值的最大值计算各个频点的信噪比及对应的语音标识;
第k个频点的包络信噪比定义为
公式(2)
分别求单个频点的信噪比所对应的语音标识Index[k],由于人耳对声音的感知呈对数型,所以在求语音标识时采用对数域的信噪比。
步骤S23、利用所述各个频点对应的语音标识平滑语音存在概率及跟踪因子;
为了减少语音存在概率的随机浮动变化,往往采用一阶递归方式对该值进行平滑:
pn[k]=βpn-1[k]+(1-β)Indexn[k] 公式(3)
β为一经验平滑参数。另外为了防止不更新,需要将该语音存在概率pn[k]限定为某一个小于1的值。
pn[k]=min(pn[k],pmax) 公式(4)
跟踪因子αn[k]定义为:
αn[k]=αd+(1-αd)pn[k] 公式(5)
αd为噪声方差的固定平滑因子,决定最大的更新力度。
本实施例中对跟踪因子进行平滑,使其可以根据噪声的特性进行变化,提高了跟踪性能。
步骤S24、平滑所述预设时间窗口内各帧的带噪语流的幅频值;
进一步的,该步骤中采用加权平滑所述预设时间窗口内各帧的带噪语流的幅频值,其过程包括:
分别获得加权因子与各帧带噪语流幅频值平方的乘积,将各帧带噪语流幅频值对应的乘积相加,获得加权平滑结果,所述加权因子满足
利用公式表达为:
公式(6)
步骤S25、根据所述带噪语流的幅频值平滑结果及平滑后的跟踪因子更新噪声方差。
该步骤具体为:计算1与跟踪因子的差值,并获得所述差值与所述加权平滑结果的乘积,确定其为第一乘积结果;获得所述跟踪因子与上一帧噪声方差的乘积,确定其为第二乘积结果;确定所述第一乘积结果和第二乘积结果的和为更新后的噪声方差。
可用公式:
公式(7)
进行表示。
从上述的描述过程可以知道,语音存在概率pn[k]接近为1时,αn[k]接近于1,更新力度较小;当语音存在概率pn[k]接近为0时,αn[k]接近于αd,即最大的跟踪力度。
本实施例公开的噪声估计方法,采用预设时间内带噪语流的幅频值的最大值作为控制更新力度参数,持续更新噪声方差,避免了直接使用幅频值而被误跟踪或者误判为噪声信号现象发生,保证了能够准确跟踪真实噪声信号的变化,包括发生在语音帧内的变化,提高了跟踪性能。并且,采用平滑的方式对噪声方差进行持续更新,相对现有技术的硬判决方法,提高了判决结果的准确性,提高了系统的性能。
本发明实施例公开的又一噪声估计方法的流程如图3所示,包括:
步骤S31、跟踪预设时间窗口内,带噪语流的幅频值的最大值;
步骤S32、依据所述幅频值的最大值计算各个频点的信噪比及对应的语音标识;
步骤S33、依据所述幅频值的最大值计算全局信噪比及对应的语音标识;
因为随机过程的浮动性比较大,单个频点的信息往往太少,有时候会影响单个频点的计算准确率,,由全局信噪比获得的语音标识Index,相比于对每个频点所获得的标识Index[k],更具备鲁棒性。
由于人耳对声音的感知呈对数型,所以在求语音标识时采用对数域的信噪比。如图4所示,其中x1和x2为两个经验阈值。由于在终端中求对数比较复杂,实现过程中可以采用线性的方式来近似上述过程。
步骤S34、按照预设准则利用所述全局信噪比对应的语音标识修正所述各个频点对应的语音标识。
使得各个频点对应的语音标识更加准确,提高准确率。具体的准则可以为:计算所述全局信噪比对应的语音标识与各个频点对应语音标识的乘积,确定所述结果为修正后的各个频点对应的语音标识。可用以下公式表述:
Index[k]=Index*Index[k] 公式(8)
同样,还可选用:
公式(9)
等修正方式对各个频点的语音标识进行修正。
步骤S35、利用所述各个频点对应的语音标识平滑语音存在概率及跟踪因子;
步骤S36、加权平滑所述预设时间窗口内各帧的带噪语流的幅频值;
步骤S37、根据所述带噪语流的幅频值平滑结果及平滑后的跟踪因子更新噪声方差。
本实施例公开的噪声估计方法中,采用利用全局信噪比对应的语音标识修正各个频点对应的语音标识,增加了结果的鲁棒性,提高了计算结果的准确率,提高了系统的性能。
本发明同时公开了一种噪声估计装置,其结构如图5所示,包括:跟踪单元51、各频点信噪比及语音标识计算单元52、跟踪因子平滑单元53、幅频值平滑单元54和更新单元55,其中:
跟踪单元51用于跟踪预设时间窗口内,带噪语流的幅频值的最大值;各频点信噪比及语音标识计算单元52用于依据所述幅频值的最大值计算各个频点的信噪比及对应的语音标识;跟踪因子平滑单元53用于利用所述各个频点对应的语音标识平滑语音存在概率及跟踪因子;幅频值平滑单元54用于平滑所述预设时间窗口内各帧的带噪语流的幅频值;更新单元55用于根据所述带噪语流的幅频值平滑结果及平滑后的跟踪因子更新噪声方差。
进一步的,该装置还包括:
全局信噪比及语音标识计算单元56,用于依据所述幅频值的最大值计算全局信噪比及对应的语音标识;
修正单元57,用于按照预设准则利用所述全局信噪比对应的语音标识修正所述各个频点对应的语音标识。
更进一步的,所述修正单元57包括:
相乘单元571,用于计算所述全局信噪比对应的语音标识与各个频点对应语音标识的乘积;确定单元572,用于确定所述乘积为修正后的各个频点对应的语音标识。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。