1.本发明涉及数据处理技术领域,具体涉及一种数据滤波方法和相关装置。
背景技术:2.在语音识别领域中,提取语音信息中的mfcc特征是目前最常用的特征提取方法。提取mfcc特征的具体流程如下:
3.(1)、音频分帧,25毫秒为一帧,每次帧移10毫秒。
4.(2)、每一帧提取mfcc特征向量:
5.①
、音频预加重,其公式为:y
t+1
=x
t+1
‑
α*x
t
6.其中x
t
表示t时刻采样点的数值,y表示预加重后的采样点的值,α为预加重系数,其范围为0.95到1。音频第一个采样点不变。
7.②
、添加汉明窗。(汉明窗是语音识别中常见的添加窗,目的是防止傅里叶变换后边缘出现震荡现象。具体公式为z
n
=y
n
*h
n
,其中y表示加窗前的采样点,z表示加窗后的采样点,h表示加窗系数。其中一般α=0.46。其中n表示需要加窗的点的总数,n表示某一个采样点。以上内容均现有公开。)
8.③
、通过快速傅里叶变换,将预加重及加汉明窗后的音频从时域转换为频域。
9.④
、通过公式转为梅尔频谱,而后将梅尔频谱等分为m个三角滤波器,再将三角滤波器转回频域。
10.⑤
、将频域能量过该三角滤波器,可得到m维特征向量。
11.⑥
、将该m维特征向量做反余弦变换,可得到13为特征向量,该13维特征向量即为mfcc特征向量
12.申请人经研究发下,上述mfcc特征提取时是基于人耳的听觉相应,但是其在提取过程中所用到的三角滤波器组的划分单一,导致提取结果的可靠性较低。
技术实现要素:13.有鉴于此,本发明实施例提供一种数据滤波方法和相关设备,以提mfcc 特征提取时提取结果的可靠性。
14.为实现上述目的,本发明实施例提供如下技术方案:
15.一种数据滤波方法,应用于滤波器中,方法包括:
16.获取输入进所述滤波器的输入数据;
17.确定所述输入数据所处的区间范围,当所述输入数据位于第一区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为正数,且随着输入数据的增大而减小;当所述输入数据位于第二区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为负数,且斜率的绝对值随着输入数据的增大而减小;
18.基于所述输入数据所处的区间范围确定所述滤波器的滤波系数;
19.采用所述滤波系数对所述输入数据进行滤波。
20.可选的,上述数据滤波方法,其特征在于,所述第一区间的最大值与最小值之差与所述第二区间的最大值与最小值之差相等。
21.可选的,上述数据滤波方法中,所述第一区间的区间范围为 o(l)≤k≤c(l),所述第二区间的区间范围为c(l)≤k≤h(l),其中,所述k为输入数据,所述o(l)为滤波器的滤波下限频率,c(l)为滤波器的滤波中心频率, h(l)为滤波器的滤波上限频率。
22.可选的,上述数据滤波方法中,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线与所述第一区间内各个输入数据所对应的滤波系数所构成的曲线经平移反转后完全重合。
23.可选的,上述数据滤波方法中,所述基于所述输入数据所处的区间范围确定所述滤波器的滤波系数,具体包括:
24.基于公式计算得到所述输入数据对应的滤波系数。
25.一种数据滤波装置,应用于滤波器中,包括:
26.采集单元,用于获取输入进所述滤波器的输入数据;
27.滤波系数确定单元,用于确定所述输入数据所处的区间范围,当所述输入数据位于第一区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为正数,且随着输入数据的增大而减小;当所述输入数据位于第二区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为负数,且斜率的绝对值随着输入数据的增大而减小;基于所述输入数据所处的区间范围确定所述滤波器的滤波系数;
28.滤波单元,用于采用所述滤波系数对所述输入数据进行滤波。
29.可选的,上述数据滤波装置中,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线与所述第一区间内各个输入数据所对应的滤波系数所构成的曲线经平移反转后完全重合。
30.可选的,上述数据滤波装置中,所述第一区间的区间范围为 o(l)≤k≤c(l),所述第二区间的区间范围为c(l)≤k≤h(l),其中,所述k为输入数据,所述o(l)为滤波器的滤波下限频率,c(l)为滤波器的滤波中心频率, h(l)为滤波器的滤波上限频率;
31.所述滤波系数确定单元在基于所述输入数据所处的区间范围确定所述滤波器的滤波系数时,具体用于:
32.基于公式计算得到所述输入数据对应的滤波系数。
33.一种滤波器,包括上述任意一项所述的数据滤波装置。
34.一种语音处理器,应用上述任意一项所述的滤波器。
35.基于上述技术方案,本发明实施例提供的上述方案,在获取到输入数据时,且当所述输入数据位于第一区间时,基于“第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为正数,且随着输入数据的增大而减小”的原则确定与所述输入数据对应的滤波系数,当所述输入数据位于第二区间时,基于“第二区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为负数,且斜率的绝对值随着输入数据的增大而减小”的选择确定与所述输入数据对应的滤波系数,最后采用所述滤波系数对所述输入数据进行滤波。采用应用有本技术实施例公开的滤波方法的滤波器进行mfcc特征提取时,能够有效提高提取结果的可靠性。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
37.图1为现有技术中三角形滤波器的各个三角波的滤波系数的波形图;
38.图2为本技术实施例公开的数据滤波方法的流程示意图;
39.图3为本技术实施例公开的第一区间对应的滤波系数的变化曲线示意图;
40.图4为本技术实施例公开的第二区间对应的滤波系数的变化曲线示意图;
41.图5为应用本技术实施例公开的滤波器的各个三角波的滤波系数的波形图;
42.图6为本技术实施例公开的数据滤波装置的结构示意图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.现有技术中,在对语音信息进行mfcc特征提取时,所用到的滤波器组为三角滤波器组,图例如图1所示。
45.其所用到的滤波公式为:
[0046][0047]
其中,上述公式中,所述w
l
(k)是指滤波系数,o(l),c(l),h(l)分别指的是第l个三角形滤波器的下限、中心和上限频率。
[0048]
相对于上述现有技术中的三角形滤波器的常规滤波方式,本技术公开了一种的数据滤波方法,该方法可以应用于滤波器中,具体的,参见图2,该方法可以包括:
[0049]
步骤s101:获取输入进所述滤波器的输入数据;
[0050]
在本步骤中,所述输入数据为输入进所述滤波器的数据,本方法应用于滤波器中,用于为滤波器提供滤波系数的选择方案;
[0051]
步骤s102:确定所述输入数据所处的区间范围;
[0052]
在本方案中,基于滤波器的滤波下限频率、滤波中心频率和滤波上限频率,设置两个范围区间,这两个范围区间用于确定与所述输入数据的大小相匹配的滤波系数的值;例如,在本方案中,可以预先划分第一区间和第二区间,所述第一区间和所述第二区间的大小可以相同或不同,即,所述第一区间的最大值与最小值之差与所述第二区间的最大值与最小值之差相等或不等。
[0053]
更为具体的,在本方案中,可以将所述下限频率至滤波中心频率的区间设置为第一区间,将所述滤波中心频率至所述滤波上限频率之间的区间设置为第二区间;
[0054]
即,在本技术一个具体实施例提供的技术方案中,预先划分两个区间,第一区间和第二区间,所述第一区间的区间范围为o(l)≤k≤c(l),所述第二区间的区间范围为c(l)≤k≤h(l),其中,所述k为输入数据,所述o(l)为滤波器的滤波下限频率,c(l)为滤波器的滤波中心频率,h(l)为滤波器的滤波上限频率。
[0055]
步骤s103:基于所述输入数据所处的区间范围确定所述滤波器的滤波系数;
[0056]
在本方案中,所述输入数据落入的区间范围不同,所述滤波系数的选择方式不同,并且,所述输入数据在某个区间范围内对应的具体值不同,该滤波数据所对应的具体的滤波系数的取值结果也不一样。
[0057]
本实施例还定义了在不同区间范围内,根据所述输入数据的大小选定滤波系数的具体方法。具体的:
[0058]
具体的,参见图3和图5,当所述输入数据位于第一区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为正数,且随着输入数据的增大而减小;
[0059]
即,参见图3,在第一区间内,所述输入数据的值越大,所述输入数据对应的滤波系数越大,且随着所述输入数据的不断增大,所述滤波系数构成的曲线的斜率越来越小,即,所述滤波系数增加的幅度越来越小。
[0060]
具体的,参见图4和图5,当所述输入数据位于第二区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为负数,且斜率的绝对值随着输入数据的增大而减小;
[0061]
即,参见图4,在第二区间内,所述输入数据的值越大,所述输入数据对应的滤波系数越小,且随着所述输入数据的不断增小,所述滤波系数构成的曲线的斜率(斜率为负数)的绝对值越来越小,即,所述滤波系数减小的幅度越来越小。
[0062]
步骤s104:采用所述滤波系数对所述输入数据进行滤波。
[0063]
应用本方法的滤波器在获取到输入数据以后,基于上述方式动态调整滤波系数,使得滤波结果的可靠性得到了有效提高,提高了mfcc特征提取结果的可靠性。
[0064]
在本技术另一实施例公开的技术方案中,在本技术实施例公开的技术方案中,可以基于对称原则设置所述第一区间和第二区间对应的滤波系数的变化曲线,例如,参见图3、图4和图5,在本方案中,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线与所述第一区间内各个输入数据所对应的滤波系数所构成的曲线经平移、反转后可完全重合。
[0065]
本实施例还公开了一种所述滤波系数的具体计算公式,所述基于所述输入数据所处的区间范围确定所述滤波器的滤波系数,具体包括:
[0066]
基于公式计算得到所述输入数据对应的滤波系数,其中,所述o(l)≤k≤c(l)为第一区间,所述c(l)≤k≤h(l) 为第二区间,基于公式可计算得到与各个输入数据相匹配的滤波系数的值。
[0067]
经验证,当现有的三角形滤波器采用本技术实施例公开的公式确定滤波系数时,能够准确提高语音识别的精准度,经试验验证,当输入数据为中文开源语音库中的语音数据时,采用应用有本技术实施例公开的滤波系数确定方法的滤波器的语音识别系统的字错误率可以由14%降低为12%,准确率提高2%。
[0068]
本实施例中对应于上述方法,还提供了一种数据滤波装置,所述数据滤波装置中的各个单元的具体工作内容,请参见上述方法实施例的内容,下面对本发明实施例提供的数据滤波装置进行描述,下文描述的数据滤波装置与上文描述的数据滤波方法可相互对应参照。
[0069]
具体的参见图6,本技术实施例公开的数据滤波装置可以包括:
[0070]
采集单元100,用于获取输入进所述滤波器的输入数据;
[0071]
滤波系数确定单元200,用于确定所述输入数据所处的区间范围,当所述输入数据位于第一区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为正数,且随着输入数据的增大而减小;当所述输入数据位于第二区间时,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线的斜率为负数,且斜率的绝对值随着输入数据的增大而减小;基于所述输入数据所处的区间范围确定所述滤波器的滤波系数;
[0072]
滤波单元300,用于采用所述滤波系数对所述输入数据进行滤波。
[0073]
对应于上述方法,所述第一区间内各个输入数据所对应的滤波系数所构成的曲线与所述第一区间内各个输入数据所对应的滤波系数所构成的曲线经平移反转后完全重合。
[0074]
对应于上述方法,所述第一区间的区间范围为o(l)≤k≤c(l),所述第二区间的区间范围为c(l)≤k≤h(l),其中,所述k为输入数据,所述o(l)为滤波器的滤波下限频率,c(l)为滤波器的滤波中心频率,h(l)为滤波器的滤波上限频率;
[0075]
对应于上述方法,所述滤波系数确定单元在基于所述输入数据所处的区间范围确
定所述滤波器的滤波系数时,具体用于:
[0076]
基于公式计算得到所述输入数据对应的滤波系数。
[0077]
对应于上述方法和装置,本技术还公开了一种滤波器,该滤波器应用有本技术任意一项实施例公开的数据滤波方法或数据滤波装置,该滤波器可以为三角滤波器。
[0078]
对应于上述滤波器,本技术还公开了一种语音处理器,该语音处理器应用有上述滤波器,该语音处理器为用于进行语音识别的处理器。
[0079]
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0080]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0081]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0082]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd
‑
rom、或技术领域内所公知的任意其它形式的存储介质中。
[0083]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0084]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。