噪声估计方法及装置与流程

文档序号:18457972发布日期:2019-08-17 01:46阅读:335来源:国知局
噪声估计方法及装置与流程

本申请涉及语音信号处理技术领域,尤其涉及一种噪声估计方法及装置。



背景技术:

语音识别技术越累越多的得到推广应用,例如,各种语音助手的产生。与语音识别准确性息息相关的一个因素就是降噪算法。降噪算法的基本原理从总体上可以分成两大部分,第一部分,噪声估计,先估计出噪声的功率谱特征。第二部分,语音增强,既利用估计出的噪声psd计算出乘性频谱增益,继而从带噪的语音中估计出干净语音。所以降噪算法中噪声估计的精确性尤为关键。但mcra算法在噪声突变的情况下,估计的噪声谱存在很长的延时。

现有技术中,mcra(minimacontrolledrecursiveaveraging)算法的主要流程是:

(1)在一个固定的搜索窗口内先用最小值跟踪法获得带噪语音的最小值,它代表的是对噪声psd(powerspectrumdensity)的初步估计;

(2)再利用当前带噪语音psd与这个最小值的比值,通过硬判决的方法来计算语音存在的概率spp(speechpresentprobality);

(3)根据spp计算噪声估计的平滑因子;

(4)利用递归平均来估计噪声。

mcra算法在追踪带噪语音平滑功率谱最小值时采用了固定时间窗,因此,在连续语音帧时容易过估噪声,而在噪声升高时又容易欠估噪声,导致噪声突变情况下的较大跟踪延时。



技术实现要素:

本申请实施例提供一种噪声估计方法及装置,用于至少解决上述技术问题之一。

第一方面,本申请实施例提供一种噪声估计方法,包括:

根据频域音频信号计算得到至少一帧信号在多个频点上的多个音频方差;

根据所述多个音频方差计算得到对应于所述至少一帧信号的平均音频方差;

采用sigmoid函数并根据所述平均音频方差进行噪声估计。

第二方面,本申请实施例提供一种噪声估计装置,包括:

方差计算程序模块,用于根据频域音频信号计算得到至少一帧信号在多个频点上的多个音频方差;

均值计算程序模块,用于根据所述多个音频方差计算得到对应于所述至少一帧信号的平均音频方差;

噪声估计程序模块,用于采用sigmoid函数并根据所述平均音频方差进行噪声估计。

第三方面,本申请实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本申请上述任一项噪声估计方法。

第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请上述任一项噪声估计方法。

第五方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项噪声估计方法。

本申请实施例的有益效果在于:利用纯噪声音频信号和纯语音音频信号的频谱平均方差分布不同来区别噪声帧和语音帧,所以很好地解决了噪声突变情况下的较大跟踪时延问题。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请的噪声估计方法的一实施例的流程图;

图2为本申请的噪声估计方法的另一实施例的流程图;

图3为本申请的噪声估计装置的一实施例的原理框图;

图4为本申请中的噪声估计程序模块的一实施例的原理框图;

图5为本申请的噪声估计方法的另一实施例的流程图;

图6为本申请的电子设备的一实施例的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本申请中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本行业的从业人员一般容易想到的是改进型的mcra算法,即imcra(improvedminimacontrolledrecursiveaveraging)算法。imcra同样是采用固定时间窗,本质上还是mcra算法,只不过在最小值跟踪时增加了二次迭代平滑过程去除较大的语音分量,能一定程度上减少最小值的方差及噪声增加时的跟踪延时。

但本申请的方案完全颠覆了mcra算法搜索窗最小值跟踪的噪声估计思想,所以一般从业人员不容易想到。

本申请提供的噪声估计方法的执行主体为电子设备,该电子设备可以为智能手机、平板电脑、台式计算机、笔记本电脑、智能手表、搭载了语音识别功能的智能家居家电(例如,空调、冰箱、洗衣机、微波炉等),本申请对此不作限定。

本申请的噪声估计方法的产品形态可以是一种应用程序,该应用程序可以是后安装至以上电子设备的程序包,或者是预先集成在系统级的程序代码,本申请对此不作限定。

如图1所示,本申请的实施例提供一种噪声估计方法,应用于调子设备,该方法包括:

s10、根据频域音频信号计算得到至少一帧信号在多个频点上的多个音频方差。

示例性地,频域音频信号可以是搭载有语音识别功能的电子设备检测到外部声音信号,并将该外部声音信号转换到频域得到的频域音频信号。并进一步的基于该频域音频信号计算得到音频方差a(k,m)。其中,k表示频点索引,取值为1、2……257,m表示帧号,取值1、2……n。

s20、根据所述多个音频方差计算得到对应于所述至少一帧信号的平均音频方差。

示例性地,对于第m帧音频信号,频点取值从1至257得到257个对应于该第m帧音频信号的音频信号方差a(k,m)(k取值1至257),然后对这257个音频信号方差求均值得到第m帧音频信号的平均音频方差aavg(m)。

s30、采用sigmoid函数并根据所述平均音频方差进行噪声估计。

本申请实施例利用纯噪声音频信号和纯语音音频信号的频谱平均方差分布不同来区别噪声帧和语音帧,所以很好地解决了噪声突变情况下的较大跟踪时延问题。

如图2所示,在本申请的噪声估计方法的一些实施例中,所述采用sigmoid函数并根据所述平均音频方差进行噪声估计包括:

s31、采用映射到音频频谱方差的sigmoid函数并根据所述平均音频方差确定语音不存在概率。

示例性地,语音不存在概率由以下公式确定:

其中,aavg(m)是第m帧信号的平均音频方差,σprior与γprior分别表示sigmoid函数曲线的斜率和均值,δ与分别表示sigmoid函数曲线的最大值和最小值。

s32、采用映射到语音不存在概率的sigmoid函数并根据所述语音不存在概率进一步计算得到语音存在概率。

示例性地,语音存在概率由以下公式确定:

其中,阈值0.3和0.6根据不同噪声信号的归一化的频谱平均方差估计分布确定,p3(k,m)取值为max{min{p3,psig(k,m)},p2},

psig(k,m)={1+exp(-σpost(γ(k,m)-γ(m)))}-1

其中,pi=exp(-2.2r)/(tifs),ti为随i变化的时间常数,t1=50ms,t2根据sap取80或200ms,t3=240ms,fs为采样频率;r的取值是fft长度-帧长。

s33、基于所述语音存在概率确定噪声估计。示例性地,采用递归平滑算法基于所述语音存在概率确定噪声估计。具体由以下公式确定:

λv(k,m)=αvλv(k,m-1)+(1-αv)×[p(k,m)λv(k,m-1)+(1-p(k,m))|y(k,m)|2]

其中,下标v指的是噪声,α的取值为exp(-2.2r)/(t*f)),r为stftframerate(短时傅里叶变换帧率),y(k,m)指的是带噪语音帧功率。

本申请实施例利用纯噪声音频信号和纯语音音频信号的频谱平均方差分布不同来区别噪声帧和语音帧以得到spp,所以很好地解决了噪声突变情况下的较大跟踪时延问题。噪声帧方差a主要集中在0.5以下,而语音帧的方差a主要集中在1周围,故可以用方差a去判定是噪声帧还是语音帧,a越小,语音不存在概率sap越大,引入sigmoid函数软判决实现了对带噪语音帧的较平滑地处理,进一步避免了由于噪声突变可能导致的跟踪时延问题,提升了噪声估计的准确性。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

如图3所示,本申请提供一种噪声估计装置400,该装置为对应于应用程序的虚拟装置,可以搭载在前述实施例中所提及的电子设备之上,该装置包括:

方差计算程序模块410,用于根据频域音频信号计算得到至少一帧信号在多个频点上的多个音频方差;

均值计算程序模块420,用于根据所述多个音频方差计算得到对应于所述至少一帧信号的平均音频方差;

噪声估计程序模块430,用于采用sigmoid函数并根据所述平均音频方差进行噪声估计。

本方案利用纯噪声音频信号和纯语音音频信号的频谱平均方差分布不同来区别噪声帧和语音帧,所以很好地解决了噪声突变情况下的较大跟踪时延问题。

如图4所示,在本申请的噪声估计装置的一些实施例中,所述噪声估计程序模块430包括:

第一概率计算程序单元431,用于采用映射到音频频谱方差的sigmoid函数并根据所述平均音频方差确定语音不存在概率;

第二概率计算程序单元432,用于采用映射到语音不存在概率的sigmoid函数并根据所述语音不存在概率进一步计算得到语音存在概率;

噪声估计程序单元433,用于基于所述语音存在概率确定噪声估计;示例性地,采用递归平滑算法基于所述语音存在概率确定噪声估计。

本申请实施例利用纯噪声音频信号和纯语音音频信号的频谱平均方差分布不同来区别噪声帧和语音帧以得到spp,所以很好地解决了噪声突变情况下的较大跟踪时延问题。噪声帧方差a主要集中在0.5以下,而语音帧的方差a主要集中在1周围,故可以用方差a去判定是噪声帧还是语音帧,a越小,语音不存在概率sap越大,引入sigmoid函数软判决实现了对带噪语音帧的较平滑地处理,进一步避免了由于噪声突变可能导致的跟踪时延问题,提升了噪声估计的准确性。

如图5所示,在一些实施例中本申请的噪声估计方法被电子设备所执行时实现以下步骤:

步骤1:先计算出输入频域音频信号的音频方差a(k,m)。其中,k表示频点索引,取值1,2,…257,m表示帧号,取值1,2,3…。

λy(k,m)=αyλy(k,m-1)+(1-αy)|y(k,m)|2

其中,αy=exp(-2.2r)/(tyfs),r和fs分别代表stft帧率和采样率,ty为时间常数。

步骤2:在频域上对音频方差信号a(k,m)求平均。

示例性地,在1到257个频点上对音频方差a(k,m)求平均,公式为aavg(m)=mean(a)。

步骤3:引入软判决的思想,用映射到音频频谱平均方差的sigmoid函数去调整sap(speechabsenceprobality),ρ(m):

其中σprior与γprior分别表示sigmoid曲线的斜率和均值,δ与分别表示曲线的最大值和最小值。

噪声帧方差a主要集中在0.5以下,而语音帧的方差a主要集中在1周围,故可以用方差a去判定是噪声帧还是语音帧,a越小,语音不存在概率sap越大,引入sigmoid函数软判决是为了较平滑地处理带噪语音帧。

步骤4:并且用映射到sap的sigmoid函数去调整后验spp(speechpresentprobality),p(k,m)。

示例性地,语音存在概率由以下公式确定:

其中,阈值0.3和0.6根据不同噪声信号的归一化的频谱平均方差估计分布确定,p3(k,m)取值为max{min{p3,psig(k,m)},p2},

psig(k,m)={1+exp(-σpost(γ(k,m)-γ(m)))}-1

其中,pi=exp(-2.2r)/(tifs),ti为随i变化的时间常数,t1=50ms,t2根据sap取80或200ms,t3=240ms,fs为采样频率;r的取值是fft长度-帧长。

步骤5:利用递归平滑算法得到噪声估计。

λv(k,m)=αvλv(k,m-1)+(1-αv)×[p(k,m)λv(k,m-1)+(1-p(k,m))|y(k,m)|2]

其中,下标v指的是噪声,α的取值为exp(-2.2r)/(t*f)),r为stftframerate(短时傅里叶变换帧率),y(k,m)指的是带噪语音帧功率。

本方案利用纯噪声音频信号和纯语音音频信号的频谱平均方差分布不同来区别噪声帧和语音帧以得到spp,所以很好地解决了噪声突变情况下的较大跟踪时延问题。本方案除了能很好地解决噪声突变情况下的较大跟踪时延问题,还具有更好的对数误差失真度量等噪声跟踪性能。

在一些实施例中,本申请实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本申请上述任一项噪声估计方法。

在一些实施例中,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项噪声估计方法。

在一些实施例中,本申请实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行噪声估计方法。

在一些实施例中,本申请实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现噪声估计方法。

上述本申请实施例的噪声估计系统可用于执行本申请实施例的噪声估计方法,并相应的达到上述本申请实施例的实现噪声估计方法所达到的技术效果,这里不再赘述。本申请实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

图6是本申请另一实施例提供的执行噪声估计方法的电子设备的硬件结构示意图,如图6所示,该设备包括:

一个或多个处理器610以及存储器620,图6中以一个处理器610为例。

执行噪声估计方法的设备还可以包括:输入装置630和输出装置640。

处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。

存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的噪声估计方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例噪声估计方法。

存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据噪声估计装置的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至噪声估计装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可接收输入的数字或字符信息,以及产生与噪声估计装置的用户设置以及功能控制有关的信号。输出装置640可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行上述任意方法实施例中的噪声估计方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1