首页 > 乐器声学 专利正文
人声实时检测方法、计算机装置及计算机可读存储介质与流程

时间:2022-01-17 阅读: 作者:专利查询

人声实时检测方法、计算机装置及计算机可读存储介质与流程

1.本发明涉及声音处理的技术领域,具体地,是一种人声实时检测方法以及实现这种方法的计算机装置、计算机可读存储介质。


背景技术:

2.现有的很多电子设备具有声音控制的功能,例如检测用户的声音,并且根据用户的声音执行相应的操作。通常,电子设备设置语音交互的主程序,该主程序运行时能够识别人声并且进行语音识别,并且根据语音识别的结果来执行相应的操作。但由于用户并不是每时每刻说话,为了避免主程序长时间工作,通常使用人声检测技术来判断用户说话的时间,例如检测用户是否发生声音,如果用户没有发出声音,则主程序处于休眠状态,从而节省主程序运行所消耗的功耗。
3.目前的人声检测技术(voice activity detection,vad)大多需要复杂的计算,且实时性不好。目前的人声检测算法一般是先读入较长时间的音频信号,然后利用傅里叶变换提取音频信号中的频域信息,再通过传统音频算法或者深度学习的算法判断该音频信号是否包含有人声。现有的这些方法可以达到不错的识别效果,但是其缺点也非常明显:首先,对电子设备的运算能力要求非常高,也就是要求电子设备的mcu或者cpu等处理器的处理速度非常快,因此,导致电子设备的生产成本高且功耗很大,在嵌入式系统中实现人声检测的代价很高。其次,现有的算法实时性不强,往往需要采集较长的时间音频数据才能判断结果,不适合实时系统的使用需求。
4.可见,用于实现人声检测的模块既需要低功耗,又需要具有实时性。其中,要求低功耗是因为人声检测模块需要持续的工作,如果人声检测模块的自身功耗很高,那就失去主程序休眠的意义;要求实时性是因为主程序需要在发现人声的时候马上启动,否则出现人声检测反应缓慢的情况,影响用户的体验。
5.现有的一些人声检测方法是应用神经网络实现,例如公开为cn107004409a的发明专利申请公开了一种利用运行范围归一化的神经网络语音活动检测方法,该方法需要使用神经网络进行语音检测,例如需要从音频帧中提取各种人声检测的特征进行归一化处理,然后把提取的特征发送至神经网络,通过神经网络进行判断,从而判断该段音频是否包含有人声。然而,这种方法的计算量非常大,需要的参数非常多,神经网络的计算量一般几十万到几十个亿的乘法运算。因此,这种方法对于处理器的运算能力要求非常高,也无法降低功耗。
6.而公开号为cn104424956a的发明专利申请公开了一种激活音检测方法,该方法根据连续激活音频帧的个数、平均全带信噪比、调性信号标志和至少两种已有vad判决结果得到最终联合vad判决结果。然而,这种方法需要使用的参数非常多,尤其是需要根据调性特征参数、谱重心特征参数、时域稳定度特征参数、谱平坦度特征参数来计算调性信号标志,该方法的乘法运算量大,对运算能力仍提出较高的要求。


技术实现要素:

7.本发明的第一目的是提供一种对处理器的运算能力要求低且功耗低的人声实时检测方法。
8.本发明的第二目的是提供一种实现上述人声实时检测方法的计算机装置。
9.本发明的第三目的是提供一种实现上述人声实时检测方法的计算机可读存储介质。
10.为实现本发明的第一目的,本发明提供的人声实时检测方法包括获取多帧音频帧的信号,其中,每一音频帧的信号包括多个采样时刻的采样值;计算当前音频帧的过平均次数函数值以及能量函数值,应用过平均次数函数值与能量函数值计算当前音频帧的人声函数值;如当前音频帧的人声函数值为零,则将人声分值清零,如当前音频帧的人声函数值不为零,则将当前音频帧的人声函数值与当前的人声分值累加,获得更新的人声分值;判断更新的人声分值是否达到目标阈值,如是,确认检测到人声,否则,计算下一音频帧的过平均次数函数值以及能量函数值。
11.由上述方案可见,本发明的方法仅仅通过计算当前音频帧的过平均次数函数值以及能量函数值,并根据过平均次数函数值以及能量函数值计算当前音频帧的人声函数值,进而计算人声分值后,可以判断是否检测到人声。由于本发明的方法并不需要使用神经网络,也不需要使用调性特征参数、谱重心特征参数、时域稳定度特征参数、谱平坦度特征参数等多个参数进行运算,也能够减少人声检测的计算量,从而提高人声检测的响应速度。
12.另外,由于采用了当前音频帧的过平均次数以及能量值的两个参数进行人声检测,能够确保人声检测的准确性。
13.一个优选的方案是,当前音频帧的过平均次数为当前音频帧的信号中,多个采样值穿过平均值基准线的次数。
14.由于用户说话时,预设频段内的信号振幅波动将剧烈变化,因此通过检测当前音频帧的信号中多个采样值穿过平均值基准线的次数作为判断人声检测的参数,可以保证人声检测的准确性。
15.进一步的方案是,平均值基准线为多个采样时刻下振幅平均值的连线;其中,振幅平均值为有限长冲激响应平均值或者无限长冲激响应平均值。
16.可见,通过简单的计算可以计算出各采样时刻下的振幅平均值,从而快速的确定平均值基准线,进一步减少人声检测的计算量。
17.更进一步的方案是,计算采样值是否穿过平均值基准线包括:判断当前采样时刻的振幅平均值、当前采样时刻的采样值、上一采样时刻的振幅平均值、上一采样时刻的采样值是否满足预设条件,如满足预设条件,则确认当前采样时刻的采样值穿过平均值基准线。
18.优选的,预设条件至少包括以下的一个:当前采样时刻的采样值大于当前采样时刻的振幅平均值并且上一采样时刻的采样值小于上一采样时刻的振幅平均值;当前采样时刻的采样值与上一采样时刻的采样值之间的差值绝对值大于预设阈值。
19.可见,通过简单的判断运输即可以确定当前采样时刻的采样值是否穿过平均值基准线,使得过平均次数的计算非常简单,能够减少人声检测的计算量。
20.一个优选的方案是,当前音频帧的过平均次数函数值为过平均次数的归一化函数值。
21.优选的是,当前音频帧的能量函数值为当前音频帧的能量值的归一化函数值。
22.由此可见,通过归一化计算,使得当前音频帧的过平均次数函数值以及能量函数值均在同一范围值内,可以提高人声检测的准确性。
23.更进一步的方案是,当前音频帧的能量值为当前音频帧的信号中,多个采样时刻的能量值总和。
24.由此可见,通过计算每一个采样时刻下的能量值的累加值,可以快速的通过加法计算获得当前音频帧的能量值,使得人声检测的计算量较少。
25.为实现上述的第二目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述人声实时检测方法的各个步骤。
26.为实现上述的第三目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述人声实时检测方法的各个步骤。
附图说明
27.图1是本发明人声实时检测方法实施例的流程图。
28.图2是本发明人声实时检测方法实施例中计算当前音频帧过平均次数的流程图。
29.图3是本发明人声实时检测方法实施例中计算当前音频帧的能量值的流程图。
30.图4是应用本发明人声实时检测方法实施例的检测示意图。
31.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
32.本发明的人声实时检测方法应用在具有语音控制的智能电子设备上,优选的,智能电子设备设置有麦克风,用于采集用户的声音信号。优选的,智能电子设备设置有处理器以及存储器,存储器上存储有计算机程序,处理器通过执行该计算机程序实现上述的人声实时检测方法。
33.人声实时检测方法实施例:本实施例应用简单的加法、乘法、移位以及比较计算,而不通过神经网络或者其他复杂的计算来实现人声检测,具体的,通过计算一帧音频帧的多个采样时刻中,采样值穿过振幅平均线的次数,并且计算一个音频帧的能量值,以及这两个参数实现人声检测,使得人声检测的计算量较少,一方面对处理器的运算能力要求较低,提升人声检测的速度,另一方面,能够确保人声检测的准确性。
34.下面结合图1对本实施例的方法进行详细的说明。
35.首先,执行步骤s1,获取一段音频信号,并且对音频信号进行预处理。例如,对音频信号进行降噪、回声消除、啸叫抑制等预处理。通常,对音频信号进行预处理的计算量较大,但并不是必须的步骤,因此步骤s1为可选择执行的步骤。另外,对音频的预处理可以采用已知的方法执行,不再赘述。
36.本实施例中,需要对音频信号进行分帧处理,即将音频信号划分为多帧,每一帧音频帧的信号具有固定的时间长度,并且,本实施例对音频信号进行采样,例如按照固定的频率对音频信号进行采样,每一个采样时刻获取一个采样值,该采样值为音频信号在当前采
样时刻下的振幅数值。相邻两帧音频帧可以存在一定的重叠,即一个采样时刻获得的采样值可能属于两帧音频帧。
37.本实施例计算每一帧音频帧的过平均次数和能量值,并且根据每一帧音频帧的过平均次数和能量值计算该音频帧的人声函数值,进而判断该段音频信号是否包含有人声。例如,设定每一帧音频帧的过平均次数函数f(.)以及能量函数g(.),该音频帧的人声函数可以采用下面的公式计算s=f(act).g(eng)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式1)式1中,act是当前音频帧的过平均次数,eng是当前音频帧的能量值,而过平均次数函数f(.)以及能量函数g(.)均是映射函数,分别将过平均次数act和能量值eng归一化到固定的区间。
38.因此,在对音频信号进行预处理后,执行步骤s2,计算当前音频帧此时的过平均函数值。具体的,获取当前音频帧的多个采样时刻的采样值,计算过平均值基准线,并计算多个采样时刻的采样值穿过该过平均值基准线的次数。
39.参见图2,首先,执行步骤s11,获取当前采样时刻的采样值,该采样值为当前采样时刻的振幅数值。
40.然后,执行步骤s12,计算当前采样时刻的振幅平均值。本实施例中,计算当前采样时刻的振幅平均值有两种方式,第一种方式是计算当前采样时刻的有限长冲激响应(fir)平均值,第二种方式是计算当前采样时刻的无限长冲激响应(iir) 平均值。具体的,使用avg0和avg-1
分别表示当前采样时刻的振幅平均值和上一采样时刻的振幅平均值,使用v0和v-1
分别表示当前采样时刻的采样值和之前第i个采样时刻的采样值,其中某一采样时刻的采样值为振幅数值。
41.在第一种方式的计算中,计算当前采样时刻的振幅平均值avg0需要存储当前采样时刻和之前共m个采样时刻的振幅数值,将当前采样时刻和之前共m个采样时刻的振幅数值进行求和并计算平均值后,获得当前采样时刻的振幅平均值avg0。因此,第一种方式的当前采样时刻的振幅平均值avg0使用下面的公式计算:
ꢀꢀꢀꢀꢀꢀ
(式2)在第二种方式的计算中,计算当前采样时刻的振幅平均值avg0需要存储上一采样时刻的振幅平均值avg-1
,并且还需要存储当前采样时刻的振幅数值,并使用上一采样时刻的振幅平均值avg-1
与当前采样时刻的振幅数值进行加权求平均值获得。因此,第二种方式的前采样时刻的振幅平均值avg0使用下面的公式计算:avg0=[avg-1
*(m-1)+v0]/m
ꢀꢀꢀꢀꢀꢀꢀꢀ
(式3)其中,上一采样时刻的振幅平均值avg-1
也是使用式3在上一采样时刻进行计算的获得的该采样时刻下的振幅平均值。如果当前采样时刻为第一个采样时刻,则上一采样时刻的振幅平均值avg-1
可以设定为0。
[0042]
可见,第二种计算方式只需要存储两个数据,即上一采样时刻的振幅平均值avg-1
以及当前采样时刻的振幅数值v0,而第一种计算方式需要存储m个数据,即当前采样时刻和之前共m个采样时刻的振幅数值,因此,第二种计算方式所需要存储获得数据较少,计算量
也较少。但第二种计算方式存在不收敛的风险。
[0043]
两种计算方式都需要应用一个参数m,即当前采样时刻前的采样时刻的个数,而m的大小决定了平均值基准线的低频分量的多少,因此可以根据使用环境对m的值进行调整,从而使得人声检测更加精确。
[0044]
然后,判断当前采样时刻下采样值是否过平均值基准线,具体的,判断是否满足过平均值的条件,即执行步骤s13。本实施例中,判断是否满足过平均值的条件可以包括以下两个:第一条件是,当前采样时刻的采样值v0大于当前采样时刻的振幅平均值avg0,并且上一采样时刻的采样值v-1
小于上一采样时刻的振幅平均值avg-1
;第二条件是,当前采样时刻的采样值v0与上一采样时刻的采样值之间v-1
的差值绝对值大于预设阈值thr。
[0045]
上述两个条件使用公式表示如下:第一条件是v0》avg0&&v-1
《avg-1
,第二个条件是abs(v
0-‑
v-1
)》thr,其中abs是绝对值的计算。
[0046]
步骤s3中,满足过平均值的条件可以是同时满足上述的两个条件,即两个条件是“与”的关系;也可以是满足上述两个条件的任一一个,即两个条件是“或”的关系;还可以是以上述的其中一个条件作为判断条件,即仅仅使用其中一个条件作为判断条件,而不考虑另一个条件。
[0047]
如果步骤s13的判断结果为是,表示当前采样时刻的采样值穿过平均值基准线,则执行步骤s14,将当前音频帧的过平均次数增加一次,否则,直接执行步骤s15。可以理解,当前音频帧在第一个采样时刻下,过平均次数的初始值设置为0。
[0048]
当然,在执行步骤s14后,也执行步骤s15,判断当前采样时刻是否为当前音频帧的最后一个采样时刻,如是,则执行步骤s16,计算当前音频帧的过平均次数,即当前音频帧中有多少个采样时刻的采样值满足步骤s13的判断条件。例如,一个音频帧有60个采样时刻,其中有20个采样时刻的采样值满足步骤s13的判断条件,则步骤s16统计的过平均次数为20。
[0049]
如果步骤s15的判断结果为否,则执行步骤s17,获取下一采样时刻的采样值,并将下一采样时刻的采样值作为当前采样时刻的采样值并返回执行步骤s12,直至当前音频帧的所有采样时刻的采样值都按照步骤s13的判断条件进行判断,并统计当前音频帧的过平均次数。
[0050]
在统计当前音频帧的过平均次数后,步骤s2还需要计算当前音频帧的过平均次数函数值,本实施例中,过平均次数函数如下:f(act)=act/n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式4)式4中,n是当前音频帧的总采样时刻数量,而act是当前音频帧的过平均次数,即步骤s16计算的数值。通过该过平均次数函数可以计算获得当前音频帧的过平均次数函数值,从式4可以看出,当前音频帧的过平均次数函数值是一个0和1之间的数值,因此,当前音频帧的过平均次数函数是一个将过平均次数act归一化到0和1之间的归一化函数。
[0051]
然后,执行步骤s3,计算当前音频帧的能量函数值。参见图3,首先执行步骤s21,获取当前采样时刻的采样值,并执行步骤s22,计算当前采样时刻的能量值。本实施例中,每一采样时刻的能量值是其采样值的平方。
[0052]
然后,执行步骤s23,将当前采样时刻的能量值以及之前采样时刻的能量值进行累加,并执行步骤s24,判断当前采样时刻是否为当前音频帧的最后一个采样时刻,如是,则执
行步骤s25,计算当前音频帧的能量值,否则,执行步骤s26,获取下一采样时刻的采样值,并返回执行步骤s22,继续计算下一采样时刻的能量值。
[0053]
可见,本实施例中,当前音频帧的能量值是该音频帧的每一个采样时刻的能量值的累加值,而一个采样时刻的能量值则是该采样时刻的采样值的平方。因此,当前音频帧的能量值可以采用下面的公式计算获得:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式5)其中,eng是当前音频帧的能量值,vi是一个采样时刻的采样值。
[0054]
步骤s23中,每一个采样时刻计算一次该采样时刻的能量值,并且将该采样时刻的能量值与之前采样时刻的能量值进行累加,并暂存该采样时刻下已经累加计算获得的值。下一采样时刻到来时,可以采用已经累加的之前多个采样时刻的能量值加上下一采样时刻的能量值,计算获得下一采样时刻下对应的能量值的累加结果。这样,就不需要每一采样时刻下都将之前的多个采样时刻下的能量值进行累加,从而提高计算的效率。
[0055]
计算当前音频帧的能量值后,还需要计算当前音频帧的能量函数值,本实施例中,当前音频帧的能量函数如下:g(eng)=eng/maxeng
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式6)其中,maxeng是预先设定的能量最大可能值,即一帧音频帧可能的最大能量值。通过能量函数,可以将当前音频帧的能量值eng归一到0到1之间的数值,因此,当前音频帧的能量函数就是将当前音频帧的能量值归一化的函数。
[0056]
需要说明的是,上述的过平均次数函数、能量函数都是一个举例说明,在其他实施例中,还可以使用其他的归一化函数。
[0057]
接着,执行步骤s4,应用当前音频帧的过平均次数函数值以及能量函数值计算当前音频帧的人声函数值,即使用式1计算人声函数值s,并执行步骤s5,判断当前音频帧的人声函数值是否为0。如果当前音频帧的人声函数值为0,则执行步骤s9,将人声分值清零,并执行步骤s10。如果步骤s5的判断结果为否,则执行步骤s6,更新当前的人声分值。
[0058]
本实施例中,人声分值是一段音频信号中多帧音频帧的人声函数值的累加值。例如,将人声分值的初始值设置为0,然后计算每一音频帧的人声函数值,如果某一帧音频帧的人声函数值不为零,则从该音频帧开始,将当前音频帧与后续的多帧音频帧的人声函数值进行累加。如果某一帧音频帧的人声函数值为0,则需要对人声分值清零,也就是一旦某一帧音频帧的人声函数值为零,则从下一音频帧开始,人声分值需要从0开始计算。
[0059]
因此,步骤s6中,更新当前的人声分值就是将上一音频帧计算的人声分值与当前音频帧的人声函数值进行相加,也就是将之前连续的多帧人声函数值非零的音频帧的人声函数值进行累加。然后,执行步骤s7,判断更新后的人声分值是否大于预设阈值,如果大于预设阈值,则表示已经累计到一定的人声信号,则确认检测到人声,并执行步骤s8,唤醒语音识别的主程序。如果步骤s7的判断结果为否,则执行步骤s10,获取下一音频帧,并返回执行步骤s2,计算下一音频帧的过平均次数函数值以及能量函数值。
[0060]
参见图4,图中的细实线是各个采样时刻下采样值的连线,而虚线是过平均值基准线,是各个采样时刻下的振幅平均值的连线。图4中的粗实线是表示人声检测结果的信号
线,从图4可见,在没有人声前,例如9.625秒以前,各采样时刻的采样值之间的振幅很小,此时人声就检测结果为低电平信号,表示没有检测到人声。如果有人声出现,各采样时刻的采样值之间的振幅很大,并且在短时间的采样后,人声检测结果为高电平信号,例如在9.65秒处输出高电平信号,表示检测到人声。本实施例能够在极短时间响应人声检测结果,即在有人声以后,能够在极短时间内输出人声检测的高电平信号。
[0061]
可见,本实施例对人声检测的过程中,所使用的算子主要是加法、乘法和比较运算,只有在计算当前采样时刻的振幅平均值时才使用除法运算,即需要除以数值m。由于本实施例并不需要使用神经网络,计算量大幅度减少,对处理器的运算能力要求大幅度降低,并且可以提高人声检测的响应速度。
[0062]
为了进一步减少计算量,在除法计算时,将数值m数值为2的幂次方,这样,除法运算就变成简单的右移操作,例如m的数值为2,则除以m的计算就是向右移位一位,如果m的数值为4,则除以m的计算就是向右移位两位,如果m的数值为8,则除以m的计算就是向右移位三位,以此类推。这样,整个人声检测的过程中,仅仅需要执行加法、乘法、移位以及比较的计算,并不需要执行神经网络计算,而且所使用的参数非常少,计算也不复杂,对智能电子设备的处理器计算能力要求较低,并且还能够提升人声检测的效率,从而提升用户的体验。
[0063]
例如,针对音频的采样频率为8k,每一音频帧具有128个采样时刻的情况,则每一音频帧的时间长度为16毫秒,如果相邻的两帧音频帧之间没有重叠,本实施例能够在一帧音频帧的时间可以识别出人声。如果相邻的两帧音频帧之间重叠,则人声检测的时间更短。
[0064]
优选的,步骤s2与步骤s3是可以同时执行的,例如采集当前音频帧的多个采样时刻的采样值后,可以同步的执行过平均次数的计算以及能量值的计算。例如,将多个采样时刻的采样值发送至过平均次数计算模块,过平均次数计算模块可以自动的对采样值进行分帧、帧重叠的处理,这样,可以每隔一段时间输出一帧音频帧的过平均次数。另外,对于当前音频帧的能量值的计算,可以将当前采样时刻的能量值发送至一个累加模块进行累加计算,该累加模块也会自动处理分帧和帧重叠的问题,每隔相同的一段时间输出一帧音频帧的能量值。这样,人声函数计算模块可以实时计算各音频帧的人声函数值。
[0065]
另外,本实施例使用过平均次数作为人声检测的参数,一方面计算量少,能够提升检测效率,另一方面,由于用户发出声音后,音频信号的振幅数据将有明显的变化,并且出现较大的波动,并且音频的频率出现明显的提升。另外,通过对过平均率的统计作为人声实时监测的参数,可以有效的剔除非人声的低频干扰,因此通过检测过平均次数作为人声检测的参数可以确保人声检测的准确性。
[0066]
计算机装置实施例:本实施例的计算机装置是具有人声检测功能的智能电子设备,该计算机装置包括有麦克风,用于采集音频信号,并且还设置有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述人声实时检测方法的各个步骤。
[0067]
例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
[0068]
本发明所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路 (application specific integrated circuit,asic)、现成可编程门阵列 (field-programmable gate array,fpga) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
[0069]
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0070]
计算机可读存储介质实施例:上述计算机装置所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述人声实时检测方法的各个步骤。
[0071]
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0072]
最后需要强调的是,本发明不限于上述实施方式,例如计算过平均值基准线的判断条件的变化,或者归一化计算的变化等,这些改变也应该包括在本发明权利要求的保护范围内。