发明内容
有鉴于此,本发明实施例的目的是提供移动设备声纹注册、认证的方法及系统,以使移动设备可以离线进行声纹注册、认证。
一方面,本发明实施例公开了一种移动设备声纹注册方法,所述方法包括:
将语音依次进行分帧处理、频谱分析、听觉感知滤波,以获取声纹特征数据;
将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征数据;根据所述压缩后的声纹特征数据获取对应的模型统计量;
根据所述模型统计量建立声纹模型并标记和存储,完成声纹注册。
优选的,所述将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征,具体包括:
使用所述声纹特征数据的直方图分布估计声纹特征的实际分布;
将所述声纹特征数据在所述直方图分布中的位置作为与所述数据存储表之间映射的索引,通过所述索引将所述声纹特征数据转换为数据存储表中的数据,以实现声纹特征数据的压缩。
优选的,所述根据所述压缩后的声纹特征数据获取对应的模型统计量,具体包括:
对于所述压缩后的声纹特征数据中的每一帧声纹特征,根据模型成分的贡献大小选择指定的部分模型成分;
根据选择出来的所述部分模型成分为该帧声纹特征计算模型统计量。
优选的,所述方法的至少一个处理步骤中包含对数计算,所述对数计算采用如下方式完成:
将待计算的数据拆分成两部分,所述两部分包括2的整幂数部分和余下的部分;将硬件中存储的位数作为所述2的整幂数部分的计算结果;所述余下的部分通过如下近似计算得到:利用多级分段线性拟合逼近原始的对数计算,拟合的误差通过分段的级数控制。
优选的,所述将语音依次进行分帧处理、频谱分析、听觉感知滤波之前,还包括:
对所述语音进行降噪处理。
优选的,所述对所述语音进行降噪处理,具体包括:
对所述语音进行分帧处理,为每一帧语音计算频谱分析,根据听觉感知机制估计每一帧语音频谱所受到的噪声影响大小并构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,再通过频域逆变换,恢复出降噪后的语音。
另一方面,本发明实施例公开了一种移动设备声纹认证方法,其特征在于,所述方法包括:
将语音依次进行分帧处理、频谱分析、听觉感知滤波,以获取声纹特征数据;
将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征数据;
根据所述压缩后的声纹特征数据获取对应的模型统计量;
将所述模型统计量与存储的声纹模型对比,然后根据所得匹配度进行认证。
优选的,所述将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征,具体包括:
使用所述声纹特征数据的直方图分布估计声纹特征的实际分布;
将所述声纹特征数据在所述直方图分布中的位置作为与所述数据存储表之间映射的索引,通过所述索引将所述声纹特征数据转换为数据存储表中的数据,以实现声纹特征数据的压缩。
优选的,所述根据所述压缩后的声纹特征数据获取对应的模型统计量,具体包括:
对于所述压缩后的声纹特征数据中的每一帧声纹特征,根据模型成分的贡献大小选择指定的部分模型成分;
根据选择出来的所述部分模型成分为该帧声纹特征计算模型统计量。
优选的,所述方法的至少一个处理步骤中包含对数计算,所述对数计算采用如下方式完成:
待计算的数据拆分成两部分,所述两部分包括2的整幂数部分和余下的部分;将硬件中存储的位数作为所述2的整幂数部分的计算结果;所述余下的部分通过如下近似计算得到:利用多级分段线性拟合逼近原始的对数计算,拟合的误差通过分段的级数控制。
优选的,所述将语音依次进行分帧处理、频谱分析、听觉感知滤波之前,还包括:
对所述语音进行降噪处理。
优选的,所述对所述语音进行降噪处理,具体包括:
对所述语音进行分帧处理,为每一帧语音计算频谱分析,根据听觉感知机制估计每一帧语音频谱所受到的噪声影响大小并构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,再通过频域逆变换,恢复出降噪后的语音。
再一方面,本发明实施例公开了一种移动设备声纹注册系统,所述系统包括:
声纹特征数据获取模块,用于将语音依次进行分帧处理、频谱分析、听觉感知滤波,以获取声纹特征数据;
声纹特征数据压缩模块,用于将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征数据;
模型统计量获取模块,用于根据所述压缩后的声纹特征数据获取对应的模型统计量;
声纹注册模块,用于根据所述模型统计量建立声纹模型并标记和存储,完成声纹注册。
优选的,所述声纹特征数据压缩模块具体用于:
使用所述声纹特征数据的直方图分布估计声纹特征的实际分布;
将所述声纹特征数据在所述直方图分布中的位置作为与所述数据存储表之间映射的索引,通过所述索引将所述声纹特征数据转换为数据存储表中的数据,以实现声纹特征数据的压缩;
所述模型统计量获取模块具体用于:
对于所述压缩后的声纹特征数据中的每一帧声纹特征,根据模型成分的贡献大小选择指定的部分模型成分;
根据选择出来的所述部分模型成分为该帧声纹特征计算模型统计量。
优选的,所述系统还包括:
降噪模块,用于对所述语音进行降噪处理;
所述降噪模块具体用于:对所述语音进行分帧处理,为每一帧语音计算频谱分析,根据听觉感知机制估计每一帧语音频谱所受到的噪声影响大小并构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,再通过频域逆变换,恢复出降噪后的语音。
再一方面,本发明实施例公开了一种移动设备声纹认证系统,所述系统包括:
声纹特征数据获取模块,用于将语音依次进行分帧处理、频谱分析、听觉感知滤波,以获取声纹特征数据;
声纹特征数据压缩模块,用于将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征数据;
模型统计量获取模块,用于根据所述压缩后的声纹特征数据获取对应的模型统计量;
声纹认证模块,用于将所述模型统计量与存储的声纹模型对比,然后根据所得匹配度进行认证。
优选的,所述声纹特征数据压缩模块具体用于:
使用所述声纹特征数据的直方图分布估计声纹特征的实际分布;
将所述声纹特征数据在所述直方图分布中的位置作为与所述数据存储表之间映射的索引,通过所述索引将所述声纹特征数据转换为数据存储表中的数据,以实现声纹特征数据的压缩;
所述模型统计量获取模块具体用于:
对于所述压缩后的声纹特征数据中的每一帧声纹特征,根据模型成分的贡献大小选择指定的部分模型成分;
根据选择出来的所述部分模型成分为该帧声纹特征计算模型统计量。
优选的,所述系统还包括:
降噪模块,用于对所述语音进行降噪处理;
所述降噪模块具体用于:对所述语音进行分帧处理,为每一帧语音计算频谱分析,根据听觉感知机制估计每一帧语音频谱所受到的噪声影响大小并构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,再通过频域逆变换,恢复出降噪后的语音
本发明实施例在初步提取声纹特征之后,对原始的声纹特征做了进一步处理,以降低后续声纹模型注册、认证的计算量以及减少声纹特征的存储空间。具体来讲,本发明实施例对原始的声纹特征数据进行了压缩映射,将原始的声纹特征映射到已经量化的数据存储表上,通过直接查询存储的数据表代替实际计算,从而加快了模型训练和声纹认证的速度,减少了计算时间,保证移动设备上的用户体验和正常使用;而且由于压缩映射已经建立了和数据存储表直接的映射关系,所以对声纹特征只需存储其对应的在数据存储表中的索引,而只存储索引的声纹特征所占据的空间比直接存储原始声纹特征要小,适合手机这类资源受限的移动设备平台。因此,最终解决了移动设备离线实现声纹注册、认证等声纹处理时对算法实时性的需求,不需要通过联网服务器进行注册和认证,也不需要将用户声纹数据上传到服务器,增加了用户在使用时的良好体验,也保证了用户的隐私安全。
另外,本发明实施例还构建了模型成分选择器,用来为每一帧声纹特征选择对应的模型成分,然后利用选择出来的模型成分为每帧声纹特征计算模型统计量,这样可以从算法上节约大量的计算量,进而加速声纹模型注册的计算速度,保证了声纹认证结果的及时响应。
此外,针对移动设备由于受硬件的限制,和PC机以及服务器相比计算能力差距较大,尤其浮点计算能力降低比较明显的问题,本发明实施例还在声纹提取过程中,对对数运算做了相应的优化处理,从而也降低了计算量。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参见图1,为本发明实施例一方法的流程图。本实施例提供了一种移动设备声纹注册方法,所述方法包括:
S101:将语音依次进行分帧处理、频谱分析、听觉感知滤波,以获取声纹特征数据。欲在手机等移动设备上实现声纹加密的应用,首先也是最重要的就是进行声纹的注册。而声纹注册的需要先获取声纹特征数据,其基本过程如下:首先对用户的录音数据分帧处理,每一帧语音计算频谱分析,在估计噪声对语音频谱的影响时候,引入听觉感知机制,估计每一帧语音频谱所受到的噪声影响大小,由此来构建对应的滤波器参数,最后初步得到声纹特征数据,即原始的声纹特征。由于本步骤可以直接使用现有技术,故本实施例不再详细赘述。
S102:将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征数据。为了减少声纹特征在后续建模和对比认证中的计算量,本实施例对上一步获取到的原始声纹特征进行了规整和压缩映射。声纹特征压缩映射是指将原始的声纹特征映射到已经量化的数据存储表上,数据表中的特征数据是根据统计分布情况选取的固定数值,故对后续的一些计算量可以通过事先计算出,存储在数据表中,在使用中,通过直接查询存储的数据表代替实际计算,加快模型训练和声纹认证的速度。
优选的,S102具体可以包括以下步骤:
S1021:使用所述声纹特征数据的直方图分布估计声纹特征的实际分布。本步骤简言之即特征分布估计。量化的声纹特征数据表是一个正态分布表,通过估计注册时的声纹或者认证时的声纹的特征数据的统计分布,建立和数据存储表之间的映射关系。为了简化特征分布估计的复杂度,用特征数据的直方图分布估计声纹特征的实际分布,随着直方图的段数的增加,可以逐渐逼近声纹特征的真实分布。通过选择合适的段数,可以在特征估计的计算量和精确度之间做一个折中。
S1022:将所述声纹特征数据在所述直方图分布中的位置作为与所述数据存储表之间映射的索引,通过所述索引将所述声纹特征数据转换为数据存储表中的数据,以实现声纹特征数据的压缩。本步骤简言之即特征压缩映射。根据声纹特征在分布中的位置作为与数据存储表之间映射的索引,通过索引将原始的声纹特征数据转换为数据存储表中的数据,利用映射后的索引查询对应的数据表数值。
特征压缩映射可以带来两个好处:第一,通过特征压缩映射,可以量化原始的声纹特征数据,压缩数据的声纹特征的范围,降低后续模型训练和声纹认证的计算量。第二,由于压缩映射已经建立了和数据存储表直接的映射关系,所以对声纹特征只需存储其对应的在数据存储表中的索引,而只存储索引的声纹特征所占据的空间比直接存储原始声纹特征要小,适合手机这种资源受限的平台情况。
S103:根据所述压缩后的声纹特征数据获取对应的模型统计量。本实施例对声纹进行处理时所期望的成果即获取到模型统计量,这也是声纹处理要完成的最核心内容。本步骤可以直接使用现有技术。但是,为了进一步的提高处理速度,降低计算量,本发明实施例对S103进行了优化,所以优选的,S103具体可以包括:
S1031:对于所述压缩后的声纹特征数据中的每一帧声纹特征,根据模型成分的贡献大小选择指定的部分模型成分。
S1032:根据选择出来的所述部分模型成分为该帧声纹特征计算模型统计量。
发明人通过分析现有的声纹注册和认证算法发现,实现过程的耗时主要在根据声纹特征计算对应的模型统计量中,而模型统计量计算的次数又和模型成分的数目N密切相关。在现有的声纹系统中,由于在服务器端运行,资源充分,所以在计算模型统计量时,所有的模型成分都参与计算。
而本实施例为了降低模型统计量计算的次数,通过对比模型统计量的数值与模型成分以及声纹特征之间的关联,发现在计算模型统计量时,可以对不同的声纹特征选择相应的部分模型成分参与统计量计算,不必采用全部的模型成分,这样既能保证模型训练与声纹认证的精度,又能提高估计模型统计量的速度。实验结果表明,对于特定的每一帧声纹特征而言,这些模型成分对计算模型统计量的贡献度是不一样的,因此可以为每一帧声纹特征选择相应的贡献较大的的模型成分计算相应的模型统计量,而无须用全部的模型统计量参与计算模型统计量。
为了实现能够对不同的声纹特征选择对应的模型成分,本实施例设计了一种两层树形结构的模型成分选择器,参见图2所示,通过模型成分选择器,选择对应的K个模型成分参与模型统计量计算。而K要远小于模型成分数据N,所以能够实现降低模型训练和声纹认证复杂度的目的。
模型成分选择步骤如下:
a、模型成分选择:对于注册和认证的声纹特征,首先和模型成分选择器的第一层的G1~Gk共K个成分计算统计量,选择对应的统计量最大的选择器成分。将此选择器第一层中最大的成分对应的第二层模型成分用来计算真正的模型统计量。模型选择器的作用就是找出N个模型成分中对统计量的计算起到关键作用的对应的成分,保证后续计算统计量的精确度。
b、选择后统计量计算:声纹特征只和模型选择器中第二层的模型成分计算统计量,而对没有选择的模型成分对应的统计量不参与后续的模型注册和声纹认证的计算,从而降低计算复杂度。
对于不同帧的声纹特征而言,其所对应的贡献较大的模型成分是不同的,所以本实施例构建了模型成分选择器,用来为每一帧声纹特征选择对应的模型成分,然后,利用选择出来的模型成分为每帧声纹特征计算模型统计量,这样,可以从算法上节约大量的计算量。进而,加速声纹模型注册的计算速度,以及保证声纹认证结果的及时响应。
本实施例针对手机运算能力的限制,提出了一种选择贡献较大模型成分并计算模型统计量的方法。比如,模型有512个模型成分,针对其中一帧声纹特征,对模型统计量有决定性贡献的模型成分仅仅只有10个,剩下的502个模型成分对该帧声纹特征几乎没有贡献。那么在计算模型统计量的时候,只需要计算该帧声纹特征在此10个模型成分上产生的模型统计量,而忽略剩余的502个模型成分,从而可以成倍的提高计算模型统计量的速度,以此提高注册和认证的速度。
S104:根据所述模型统计量建立声纹模型并标记和存储,完成声纹注册。即将发出该段语音的人的声纹相关特征以模型的方式存储在移动设备上,以待后续使用。从模型统计量到声纹模型的过程,是属于现有技术,在教材或者网络资料上都能找到,比如HMM、GMM模型等,本实施例不再赘述。
此外,优选的,在S101之前,还可以包括:
S100:对所述语音进行降噪处理。在比较嘈杂的环境中,用户注册和认证的语音受到环境的干扰,导致声纹认证的性能也受到影响。针对环境噪声,在声纹特征注册及认证的过程中可以加入降噪模块,程序在获得用户的录制语音之后,首先经过降噪模块的处理,然后再进行后续的静音检测判决,以及声纹特征提取等。处理后的声纹特征可以更加有效提高声纹认证系统的鲁棒性。
所述对所述语音进行降噪处理,具体可以包括:
对所述语音进行分帧处理,为每一帧语音计算频谱分析,根据听觉感知机制估计每一帧语音频谱所受到的噪声影响大小并构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,再通过频域逆变换,恢复出降噪后的语音。首先对用户的录音数据分帧处理,每一帧语音计算频谱分析,在估计噪声对语音频谱的影响时候,引入听觉感知机制,估计每一帧语音频谱所受到的噪声影响大小,由此来构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,然后通过频域逆变换,恢复出降噪后的语音。
另外,由于手机硬件的限制,和PC机以及服务器相比,计算能力差距较大,尤其浮点计算能力降低比较明显,而在声纹提取过程中主要就是浮点的计算。除了采用常规的算法定点化的移植外,针对在声纹特征提取中对数运算的计算部分耗时较多,本实施例对对数运算做了相应的优化处理。在上文一个或多个步骤中都会遇到对数计算,例如,参数变换压缩处理的过程中,降噪的频谱分析和降噪处理中等等。通过对数优化,可以降低语音降噪模块的计算量。
具体的,所述方法的至少一个处理步骤中包含对数计算,所述对数计算采用如下方式完成:
将待计算的数据拆分成两部分,所述两部分包括2的整幂数部分和余下的部分;将硬件中存储的位数作为所述2的整幂数部分的计算结果;所述余下的部分通过如下近似计算得到:利用多级分段线性拟合逼近原始的对数计算,拟合的误差通过分段的级数控制。
换句话说,对数计算优化处理过程可以分为如下两步:
1)拆分步骤:由于硬件实现二进制的移位运算比较快速和方便,为了能采用硬件的这一优点,首先将数据X拆成两部分,即2的整幂数A和余下的部分B=X-A两部分,由于数值在硬件存储是按照二进制存储,所以A部分计算的结果就是在硬件中存储的位数。B部分的计算采用近似计算以提高速度。
2)近似计算步骤:选用多级分段线性拟合逼近原始的对数计算,B/A部分的输入限制在(0,1)之间。其原始结果可参见图3中实线所示,拟合的结果可参见图3中虚线所示。拟合的误差可以通过分段的级数自动控制。线性计算的耗时比直接的对数计算相比降低很多。
实施例二
参见图4,为本发明实施例二方法的流程图。本实施例提供了一种移动设备声纹认证方法。本实施例与实施例一相呼应,本实施例的前三步与实施例一中的S101~S103相同,不同点在于:实施例一中,S103获取到声纹的模型统计量之后,所接下来的步骤是S104,即进行声纹的注册;而在本实施例中,在获取到声纹的模型统计量,接下来的步骤为:
S105:将所述模型统计量与存储的声纹模型对比,然后根据所得匹配度进行认证。
即输入一段语音,通过以上方法提取声纹相关特征后与已注册的声纹特征进行比较、匹配,从而判断是否是同一人的声纹,实现声纹认证。声纹认证的过程与上述声纹注册的过程大致相同,都是针对一段语音进行特征提取、压缩等、建模处理,所不同的是,在声纹注册阶段,在声纹特征提取、压缩、建模后,接下来是存储,即将声纹模型存储在移动设备上待用,从而完成了声纹注册。而在声纹认证阶段,在声纹特征提取、压缩、建模后,进行的是与所存储的声纹模型进行比对的步骤。在声纹注册阶段,根据模型统计量注册声纹模型;在认证阶段,模型统计量和存储的声纹模型进行比对。与实施例一相同的部分本实施例不再赘述。
实施例三
下面结合上述实施例,并具体以Android系统的手机为例,对声纹注册及认证的过程进行进一步说明。
Android手机中的锁屏应用一个普遍的问题是锁不住,通过按下home或者调出状态栏下拉之类的操作,可以跳过锁屏界面,直接进入系统。这样应用的锁屏功能就是虚设了,达不到锁屏的目的,用户手机中的隐私也难以得到保护。本实施例允许用户自己定义密码,也可以由系统随机产生一个数字密码提供给用户,用户在使用的时候,不需要记住此密码,只要按照正常语速读出提示文字,系统根据用户语音提取用户声纹特征,和用户的注册声纹进行对比匹配,作为认证解锁的依据。即便密码内容为其他用户非法获取,也可以通过声纹认证的方法对非法用户进行身份拒绝判定。用户除了使用系统提供的随机数字密码以外,还可以自己定义个人密码,方便用户使用,而且可以有效的提高系统的安全性。本实施例实现了一种在Android系统平台上能够完全锁住用户屏幕的方法。通过利用Android系统中一个能够位于屏幕所有UI最前方的窗口的特性,加以改进用来生成声纹认证的锁屏界面,保证锁屏界面能够真正锁住而不被跳过。
手机离线声纹系统分为两个部分,用户声纹注册部分和声纹认证部分:
用户声纹注册部分分为声纹注册设置和用户备用密码设置,参见图5所示,首先用户开始注册,然后进行声纹注册,设置备用密码,最后完成注册,其中进行声纹注册又包括声纹特征采集,然后分别判断声纹特征是否合格、是否达到规定的次数。声纹注册部分利用系统产生随机数字串密码,或者用户采用自己的自定义密码,用户根据系统提示的文本内容,读出相应的文本内容,例如系统设置次数为5遍。用户的录音数据经过系统降噪模块,声纹特征提取模块,然后再训练用户声纹模型,声纹模型的数据存储在用户手机中以备认证时使用,参见图6所示:首先用户提供语音,然后输入随机密码,开启应用程序,语音经语音降噪模块后进入声纹提取模块,然后判断录制次数是否满足,最后注册模型,保存用户数据。模型训练模块估计用户的声纹特征数据的分布,将用户的分布参数作为用户特征压缩存储在手机数据库中。
为了适应在不适合用户录音的环境中使用,增加了系统备份密码的设置。
声纹认证时,用户同样读出系统的提示文本或者自定义文本,语音同样经过降噪处理后,提取声纹特征后和系统中保存的用户模型进行匹配认证。。认证阶段的流程与注册阶段基本相同,参见图7所示。
声纹提取模块对降噪后的语音进行静音检测,去除对声纹模型训练无用的数据,同时,也可以提高模型训练的速度。如果检测静音太多,或者语音数据不足,系统提示用户录音过短,重新进行录音,当达到5次有效录音时,提取用户的声纹特征。
降噪模块流程图可参见图8所示,用户录音数据进行分帧处理,然后进行降噪处理,经语音恢复后得到增强后的语音,而分帧处理的结果也可以经频谱分析,听觉感知建模,自适应参数估计,再进入降噪处理。
系统实现:
手机声纹注册界面如图9所示。在界面上显示有注册的文本内容,实时录音大小提示,以及当前的录音次数,用户注册使用声纹总共需要5次录音内容。每次录音,用户需要保持录音按钮按下状态,松开后,系统处理本次录音数据,并给出此次录音是否合格的提示。当5次录音全部合格,提取声纹特征并训练声纹模型。
声纹模型存储在手机的数据库中,由于声纹模型数据的安全对系统的正常使用很重要,所以,在手机数据库中的声纹数据是压缩存储,脱离出系统使用是没有意义的。保证了用户声纹数据的绝对安全。
声纹认证时的系统框架流程图如图7所示,语音降噪模块和声纹特征提取模块与注册时一样,系统调用手机已经注册的用户声纹模型,分析对比认识时提供的声纹特征,进行一个确认判决,接受或拒绝。
在基于Android的手机系统上,利用声纹认证实现手机锁屏的解锁,主要分为两部分:
i)手机锁屏实现
当用户开启手机或者系统从休眠状态恢复时,需要运行或者唤醒声纹认证界面。首先关闭系统原有的锁屏功能,用声纹认证的界面替换系统的锁屏界面。
①开机状态的锁屏启动,Android系统在系统启动完毕后,会发送广播消息,在程序中添加服务监听此广播消息,进而启动定制的锁屏界面。
②休眠状态的锁屏启动,为了方便用户使用,用户可以自定义休眠后的启动时间,在实现上,当检测到手机屏幕关闭,进入休眠状态时,创建系统警报服务,并同时创建一个接收服务,监听当用户设定的时间到达时,启动声纹锁屏界面,当手机从休眠状态恢复时,直接可以利用声纹进行屏幕解锁。
作为声纹锁屏应用,利用声纹控制包能够保证用户不能跳过锁屏界面,而直接进入系统。目前Android系统的锁屏应用中均有锁不住的问题。由于andorid系统从安全性出发,不允许同时屏蔽Home按键和状态栏的下拉条,所以,当应用屏蔽其中的任意一个,都可以通过另外一个跳过锁屏。
本实施例利用andorid系统中的系统警告的窗口能够悬浮在所有界面UI最前面的特性,对此悬浮窗口结合声纹认证进行调整,在此窗口中加入如图9或10所示的声纹认证界面。保证了声纹认证界面能够在最前方显示,同时配合屏蔽home键。这样,保证用户不能通过home键和下拉条跳过声纹认证界面。
声纹锁屏同时还要具有系统锁屏界面的一些常用功能,比如能够直接接听来电,而不需要事先解锁,我们通过在系统中添加对应的服务,监听用户的来电状态,当有来电时,控制程序直接退出锁屏界面,等待用户接听完毕,再重新启动锁屏界面。
ii)声纹认证与屏幕解锁实现
如图10所示的声纹认证界面中,界面上显示录音的文本信息,用户点击录音后,显示录音计时和实时的录音能量提示。当用户松开录音按钮后,将录音数据送入声纹认证模块进行处理,并返回认证的结果。如果认证通过,则关闭当前认证界面,用户可以进入系统。
实施例四
本实施例基于实施例一,提供了一种移动设备声纹注册系统,参见图11所示,所述系统包括:
声纹特征数据获取模块1101,用于将语音依次进行分帧处理、频谱分析、听觉感知滤波,以获取声纹特征数据;
声纹特征数据压缩模块1102,用于将所述声纹特征数据映射到已经量化的数据存储表上,以获取压缩后的声纹特征数据;
模型统计量获取模块1103,用于根据所述压缩后的声纹特征数据获取对应的模型统计量;
声纹注册模块1104,用于根据所述模型统计量建立声纹模型并标记和存储,完成声纹注册。
优选的,所述声纹特征数据压缩模块具体用于:
使用所述声纹特征数据的直方图分布估计声纹特征的实际分布;
将所述声纹特征数据在所述直方图分布中的位置作为与所述数据存储表之间映射的索引,通过所述索引将所述声纹特征数据转换为数据存储表中的数据,以实现声纹特征数据的压缩。
优选的,所述模型统计量获取模块具体用于:
对于所述压缩后的声纹特征数据中的每一帧声纹特征,根据模型成分的贡献大小选择指定的部分模型成分;
根据选择出来的所述部分模型成分为该帧声纹特征计算模型统计量。
优选的,所述系统还包括:
降噪模块,用于对所述语音进行降噪处理。
优选的,所述降噪模块具体用于:
对所述语音进行分帧处理,为每一帧语音计算频谱分析,根据听觉感知机制估计每一帧语音频谱所受到的噪声影响大小并构建对应的滤波器参数,经过频域滤波后,得到降噪后的语音频谱,再通过频域逆变换,恢复出降噪后的语音。
实施例五
本实施例基于实施例二,提供了一种移动设备声纹认证系统,参见图12所示。本实施例中的装置仍包含实施例四所述的声纹特征数据获取模块1101、声纹特征数据压缩模块1102和模型统计量获取模块1103,所不同的是本实施例使用声纹认证模块1105代替了实施例四中的声纹注册模块1104,所述声纹认证模块用于将所述模型统计量与存储的声纹模型对比,然后根据所得匹配度进行认证。
与实施例四相同的部分本实施例不再赘述。
可以理解的是,本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM、RAM、磁碟、光盘等。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。本文中应用了具体个例对本发明的原理及实施方式进行了闸述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。