本公开的实施例一般涉及认证领域,更特别地,涉及隐私保护的声纹认证装置和方法。
背景技术:
安全和可用的认证系统已变得越来越重要以用于用户来保护他们的数字账户。基于生物识别特征的认证是一种具有高可用性的方法。它已经在学术界和工业界得到了广泛的研究和应用。然而,在认证中使用的生物识别信息的隐私尚未得到很好的保护,这可能会极大地影响系统的安全性。
生物识别认证系统中存在一系列潜在的风险。隐私泄露是最严重的问题之一。在注册和认证过程中所使用的生物识别信息是隐私信息的一部分。一旦生物识别隐私信息被泄露,就会导致严重的后果。
然而,几乎没有现有文献提出关于生物识别隐私保护的有效解决方案,特别是在基于声纹的认证中。
技术实现要素:
因此,提供了一种声纹认证方法、系统和装置以及计算机可读介质。
在一个示例性实施例中,描述了一种声纹认证装置。该装置包括:语音接收模块,被配置为接收用户的采用不同的说话模式的语音;特征提取模块,被配置为从该用户的采用不同的说话模式的语音中提取相应的语音特征集;合成模块,被配置为通过合成相应的语音特征集来生成第一声纹模板;以及第一通信模块,被配置为向服务器发送第一声纹模板以认证该用户,其中,该用户的语音和相应的语音特征集没有被发送到服务器。
在另一个示例性实施例中,描述了一种声纹认证装置。该装置包括:第二通信模块,被配置为从用户的用户设备接收第一声纹模板;以及认证模块,被配置为通过将第一声纹模板与被预先与该用户相关联地存储的第二声纹模板相比较来认证该用户;其中,第一声纹模板和第二声纹模板各自在用户设备处通过合成从该用户的采用不同的说话模式的语音中提取的相应的语音特征集而被生成。
在又一个示例性实施例中,描述了一种声纹认证方法。该方法包括:接收用户的采用不同的说话模式的语音;从该用户的采用不同的说话模式的语音中提取相应的语音特征集;通过合成相应的语音特征集来生成第一声纹模板;以及向服务器发送第一声纹模板以认证该用户,其中,该用户的语音和相应的语音特征集没有被发送到服务器。
在又一个示例性实施例中,描述了一种声纹认证方法。该方法包括:从用户的用户设备接收第一声纹模板;以及通过将第一声纹模板与被预先与该用户相关联地存储的第二声纹模板相比较来认证该用户;其中,第一声纹模板和第二声纹模板各自在用户设备处通过合成从该用户的采用不同的说话模式的语音中提取的相应的语音特征集而被生成。
在又一个示例性实施例中,描述一种计算机可读介质。该计算机可读介质被指令编码,该指令在由计算机执行时使得执行根据本公开的任何实施例所述的方法。
附图说明
因此,已经以一般术语描述了本公开,现在将参考附图,这些附图并非按比例绘制,并且其中:
图1示出根据本公开的一些实施例的示例性系统模型的示意图;
图2示意性地示出根据本公开的一些实施例的示例性注册方案;
图3示意性地示出根据本公开的一些实施例的认证方案;
图4示意性地示出根据本公开的一些实施例的声纹模板合成方法的示例性过程;
图5示意性地示出根据本公开的一些实施例的在具有隐私保护的声纹认证系统中进行注册的示例性过程;
图6示意性地示出根据本公开一些的实施例的在具有隐私保护的声纹认证系统中进行认证的示例性过程。
具体实施方式
根据我们的调查,我们发现在几乎所有现有的生物识别认证系统中,生物识别特征通常被用作认证系统的一部分以认证用户。然而,尽管生物识别特征与用户隐私有关,但实际上几乎没有系统保护生物识别特征本身。根据当前的文献,已经调查了针对图像、位置信息、智能仪表、以及在线到离线(o2o)平台的隐私保护。在公共场所的语音隐私仍然缺乏考虑。
在生物识别认证系统中,所收集的生物识别信息通常被表示为模板。与可随时改变的普通密码不同,由于用户的生物识别特征几乎是静态的并且无法被改变的事实,因此,生物识别模板的可变性受到限制。因此,模板的暴露将导致一系列安全风险。
为了增强认证系统的安全性,我们提出了一种保护认证系统中的生物识别信息的隐私的解决方案。
本公开提出了一种新的用于保护基于声纹的认证的隐私的方法。我们发现人们在不同的说话模式(例如,采用普通话说话、采用方言说话、采用英语或其它语言说话、唱歌、以及朗读诗歌)下说话的语音之间存在很大差异。人们的语音的若干特性将在不同的说话模式下改变,包括音调、口音、音量等。因此,我们希望提取用户的采用不同的说话模式的语音的特征,并将其组合或合并成新的声纹模板,该模板表示用户在注册和认证过程中的声纹。
本公开的实施例包含以下关键思想。
a)表示用户的身份的声纹模板使用用户的采用不同的说话模式的语音来合成。
b)复合模板所需的语音特征通过线性预测倒谱系数(lpcc)和mel频率倒谱系数(mfcc)来提取。前一种算法可以描述说话者的嗓音特性,后一种算法可以描述人耳的听觉特性。
c)基于对数幅度近似(lma)声道模型的合成算法被用于将多个所提取的语音特征组合成合成声纹。
d)基于i向量(i-vector)提取的说话者验证算法被用于将基于质询而生成的声纹模板与所存储的声纹模板(在用户注册期间所获得的)进行匹配,以确定用户是否有资格。
e)移动设备中的系统模块将仅将所合成的模板上载到服务器。用户的原始语音信息将永远不会与任何第三方共享。因此,关于声纹的用户隐私可被保护,并且还可以基于所合成的声纹模板来认证用户。然而,对手无法从所合成的声纹模板中获得真实的声纹。
本公开的实施例满足我们提出以评估生物识别认证系统的隐私保护能力的以下标准:
不可逆性:为了保护隐私数据,一些算法可能对生物识别信息进行一些变换。这些变换必须是不可逆的,以使得可以确保在生物识别存储数据库被攻击时,攻击者无法通过该数据库中存储的数据来还原用户的真实隐私的生物识别信息。本公开满足该标准,因为不能从所合成的声纹模板中获取用户的真实声纹。
可撤销性或可变性:在当前使用的生物识别信息被盗时,用户应能够撤回先前上载的认证信息,并且使用新的或变更的生物识别信息来重新注册和证明其账户。由于用户的说话模式可以多种多样,因此,用户可以轻松地撤销旧的合成声纹模板并注册新的声纹模板。因此,可以达成该标准。
不可链接性:使用户的真实生物识别信息不与外界连接是有益的。如果系统仅使用改变的或间接生成的信息以用于认证,也是有益的。在本公开中,使用基于多个说话模式而生成的合成声纹模板以用于认证。该模板并未直接包含任何单独的声纹。因为真实的隐私语音信息没有在计算机网络上传输,因此,来自网络的对应攻击的机会将大大减少。
系统模型
图1示出了本公开的系统模型的示例。生物识别认证系统通常包括三个模块:用户代理(ua)110,其请求有资格的身份并能够访问因特网服务或一些设备;身份提供商(idp)120,其可以根据从ua110接收的声纹模板和存储在其数据库中的声纹模板来验证用户的身份(即,对用户进行认证);信赖方(rp)130,其可以根据idp的决定来实施访问控制。在此,ua110是指诸如个人计算机、移动电话或其它个人设备的用户设备,或者是指代表用户在这种用户设备上操作的对应程序。idp120和rp130是指对应的服务器程序或设备。在一些场景中,rp130和idp120可被组合成单个实体或设备。
当用户经由ua110的呈现模块111(例如,ui)发起认证请求时,ua110将通过第一通信模块115和安全信道向idp120发送认证请求。在idp120接收到该认证请求之后,它通过第二通信模块121向ua110发送质询码(例如,随机生成的一段文本)。然后,ua110可通过呈现模块111向用户呈现该质询码,从而使得该用户能够采用多个说话模式来阅读该质询码。因此,ua可通过语音接收模块112(例如,麦克风)来收集语音信号,并对所收集的语音信号进行预处理(诸如降噪和编码)。之后,特征提取模块113可从预处理后的语音信号中提取语音特征,合成模块114可合成语音特征以生成声纹模板,该声纹模板可通过第一通信模块115和安全信道被发送到idp120作为对认证质询的响应。当接收到该声纹模板时,idp120的认证模块122可将该声纹模板与其数据库中的记录进行匹配。基于匹配结果,idp120的认证模块122可以决定参与认证的人是否是合法用户。此后,当接收到该用户的访问请求时,rp130可以通过访问控制模块132根据由idp120所提供的认证结果来确定用户的访问控制策略,并相应地通过服务提供商131来提供服务。
隐私保护
基于我们的调查,我们注意到当一个人采用不同的说话模式说话时,他/她的语音是不同的。例如,当有人用他的母语说话时,他的语音很温柔。当他对第二语言不太熟悉时,他的说话音调可能变高,他的说话速度可能变慢,同时他的发音可能不标准。
在本公开中利用了该特征。来自用户采用不同的说话模式的音频被收集,分别从其中提取对应的语音特征,并且所提取的语音特征被合并成新的声纹模中。然后,所合成的声纹模板被用于用户认证。
图2示意性地示出了根据本公开的一些实施例的示例性注册方案。如图2中所示,用户代理(ua)可向用户呈现质询码和多个说话模式,用户可从其中选择他/她想要用于说话的多个说话模式。质询码可以是由身份提供商(idp)响应于ua的注册请求而随机生成并被发送给ua的一段文本。当用户采用所选择的说话模式说出该质询码时,对应的音频通过被嵌入用户设备(即,ua)中的麦克风来收集。然后,ua从两个或更多个音频中提取不同的语音特征项,并将它们组合成新的声纹模板,然后,该新的声纹模板在网络上被传输到idp以存储在其上的数据库中以用于随后的认证。在该过程中,用户的原始语音仅在本地被收集和处理。原始语音信息将永远不会被暴露到网络环境中。同时,由于在网络上传输的合成声纹模板已丢失一些原始的原信息,因此,攻击者无法通过逆向工程来获得任何原始语音。因此,实现了语音隐私保护的目的。即使当系统受到攻击并且存储在数据库中的合成模板可能被公开时,用户仍然可以选择新的说话模式,生成新的合成声纹模板,并更新注册信息以用于随后的认证。
图3示意性地示出了根据本公开的一些实施例的认证方案。如图3中所示,当用户需要在系统中进行认证时,ua可向该用户呈现质询码以及他在注册过程中选择并且存储在idp的数据库中的多个说话模式(质询码和多个说话模式已经响应于来自ua的认证请求而由idp发送到ua),从而使得该用户能够采用多个说话模式说出质询码。然后,ua可记录该用户的采用多个说话模式的语音,提取对应的语音特征项,并将其合成为声纹模板,该声纹模板然后在网络上被传输到idp,以与存储在数据库中的与注册过程中的该用户相关联的声纹模板进行匹配,以决定用户的资格。
在下文中,简要地介绍了根据本公开的实施例的可在语音认证系统中用于特征提取、模板合成、以及说话者验证的示例性算法。
在表1中列出并描述了在以下算法中使用的符号。
表1.在这些算法中使用的符号
用于特征提取的lpcc和mfcc
线性预测倒谱系数(lpcc)和mel频率倒谱系数(mfcc)通常被用于提取特征以用于与文本无关的说话者识别。yuan等人(参见y.yuan,p.zhao,和q.zhou,“基于lpcc和mfcc的组合的说话者识别的研究(researchofspeakerrecognitionbasedoncombinationoflpccandmfcc)”,ieee国际智能计算与智能系统会议,第3卷,第765–767页,2010年,其通过引用而全部并入本文中)进行了实验并且证明了lpcc和mfcc的组合具有更高的识别率。
为了计算lpcc和mfcc参数,需要做的第一件事是对音频数据进行预处理。预处理过程程序中具有三个主要步骤,包括预加重、成帧、以及加窗,这在本领域中是已知的并且在文本中将不再描述。
然后,每个帧x(n)被用作输入以完成对特征提取的计算。
lpcc是从lpc参数的递归。递归公式如下:
在该公式中,a1,a2,…,am是m阶线性预测系数(lpc)特征向量,其使用本领域中已知的诸如levinson-durbin算法的线性预测算法来从一系列音频数据x(n)帧获得。
预处理后的mfcc计算流程如下:
1)通过离散傅里叶变换dft对x(n)进行处理以得到线性频谱,变换公式如下:
2)m个三角滤波器hm(n)(即,mel频率滤波器)被定义如下:
其中,m=1,...,m。
mel滤波器的中心频率被定义如下:
3)每个滤波器组输出的对数能量是:
4)计算l(m)的离散余弦变换(dct)以获得dm,其中,m=1,...,m。d=(d1,d2,...,dk)是mfcc参数。
基于lma声道模型的语音合成
wang等人(参见wangrh,liuq,tangd,“一种新的具有高度自然性的中文文本转语音系统(anewchinesetext-to-speechsystemwithhighnaturalness)”,国际口语会议,1996年,icslp96,第3卷,第1441-1444页,其通过引用而全部并入本文中)提出了一种基于对数幅度近似(lma)滤波器的语音合成算法,该算法可以生成具有小参数集的高质量语音。参考该算法,提出了根据本发明的实施例的声纹模板合成方法如下:
lma滤波器hl(n)的频率响应是:
其中,cm是语音信号的倒谱系数。
图4示意性地示出了根据本公开的一些实施例的声纹模板合成方法的示例性过程。
如图4中所示,首先,构建与用户的语音对应的基音(fundamentaltone)。在本文中,基音实际上是指根据标准音节人工构造的声门激发源波(glottalexcitationsourcewave),而没有来自与用户的语音中的各个音节对应的音素数据库的个人特性。然后,如本领域中已知的,例如基于诸如短期能量、零交叉或自相关函数的参数,对基音进行分析以确定其中的浊音和清音。对于基音中的浊音,使用在公式(1)中获得的lpcc参数来代替公式(7)中的cm;对于基音中的清音,可使用由公式(6)获得的mfcc参数来代替公式(7)中的cm,然后,在幅度控制之后获得合成声纹。合成声纹可被发送到诸如idp的服务器,作为随后用于用户的认证的声纹模板。可替代地,如下所述的从合成声纹计算出的i向量可被替代地发送到服务器,作为随后用于用户的认证的声纹模板。
用于说话者验证的i向量
i向量ω是隐藏变量,其可以由它的以给定话语的baum-welch统计信息为条件的后验分布来定义。
1)具有l个帧的序列{x1,x2,…,xl},其在本文中是来自在图4中所示的上述过程中获得的合成声纹的那些帧,假定我们具有包括在某一f维特征空间中定义的c个混合分量的通用背景模型(ubm)ω。在本文中,ω是使用大量语音数据基于高斯混合模型(gmm)而训练的ubm。它是m阶向量(m是根据需要可配置的参数),并且表示最通用和常用的语音特征。为了估计给定声纹的i向量,需要baum-welch统计信息。计算公式如下:
2)为了估计i向量,还需要基于通用背景模型(ubm)平均混合分量来计算集中的一阶baum-welch统计信息。
3)可以根据以下公式来计算给定声纹的i向量:
当决定用户是否有资格时,目标说话者i向量ωtarget(即,在用户注册期间提前存储在idp中的模板)与测试i向量ωtest(即,在用户认证期间收集的模板)之间的余弦相似度的值可被计算为决定评分:
其中,<ωtarget,ωtest>表示ωtarget与ωtest的点积,‖ωtarget‖‖ωtest‖表示ωtarget与ωtest之间的欧几里得距离。
然后,将该评分的值与阈值θ进行比较,以做出决定。如果该评分小于阈值,则匹配失败并且该用户是无资格的。否则,如果该评分大于或等于阈值,则匹配成功并且该用户被视为有资格的。
注册过程
图5示意性地示出了根据本公开的一些实施例的在具有隐私保护的声纹认证系统中进行注册的示例性过程。如图5中所示,该过程包括以下步骤:
1.如果用户想要访问rp,则他/她发起个人注册命令(rpc),并向rp发送包括rpc和ua地址(ua_add)的注册请求;
2.当rp接收到该注册请求时,它用其自己的id(rp_id)来打包该请求,并将该请求发送到idp;
3.当idp接收到该注册请求时,它发起具有被链接到rp的id的唯一标识符(ua_id)的用户简档。然后,idp生成用于对应的说话模式的一系列语音模式码以用于用户选择,并将这些语音模式码发送到ua。
4.根据由用户接口所显示的选项,用户可选择两个或更多个说话模式以读出模式码。ua将从不同的音频记录中提取不同的特征项。例如,由用户所选择的模式a是采用普通话说话,并且ua将从记录a中提取音调特征。由用户所选择的模式b是采用方言说话,并且ua将从记录b中提取发音特征。然后,ua可以组合这两个特征,并使用基于对数幅度近似(lma)声道模型的合成算法来生成新的声纹模板,该声纹模板将表示用户的声纹(vp)并且被发送到idp服务器。在本文中,声纹模板可以是在图4中所示的上述过程中所生成的合成声纹,或者是从公式(11)中的合成声纹生成的i向量。
5.当idp接收到该声纹模板时,它可以完成用户简档的生成。然后,它可以创建注册结果,并将该结果与ua_id一起发送到rp。
6.如果ua_id不为空(null),则rp将注册视为成功,并保存ua_id。否则,注册失败。
认证过程
图6示意性地示出了根据本公开的一些实施例的在具有隐私保护的声纹认证系统中进行认证的示例性过程。如图6中所示,该过程包括以下步骤:
1.如果用户想要访问注册的rp,则他/她应当证明他/她的资格。在该情况下,ua可以发起个人认证命令(pac),并向rp发送包括pac和ua地址(ua_add)的认证请求。rp可将该请求与rp_id一起转发到idp。
2.当idp接收并识别出该认证请求时,它可以例如使用ua_add来定位对应的用户简档。
根据用户在注册期间所选择的两个或更多个说话模式,idp可生成多个质询码,并将这些码发送到ua。
3.用户可以分别采用对应的说话模式来重复这些质询码,并用ua来记录它们。然后,ua可以从每个记录中提取特征项集。从一个记录中提取的特征项与从另一个记录中提取的不同。进而,ua可以组合所有所提取的特征以生成响应声纹模板,并将该模板发送到idp。
4.idp可以使用基于i向量提取的说话者验证算法来检查响应声纹模板是否可以匹配存储在数据库中的声纹模板。基于i向量的余弦距离评分表示匹配结果。进而,根据匹配结果,生成认证结果。idp可将该结果和其它基本信息发送到rp。
5.如果该认证结果表示用户的语音是有资格的,则rp可向该用户允许服务访问;否则,rp可拒绝服务访问。
根据一些实施例的声纹认证方法
从以上描述可以看出在本公开的一方面,提供了一种声纹认证方法。在一些实施例中,该方法包括以下步骤:
接收用户的采用不同的说话模式的语音;
从该用户的采用不同的说话模式的语音中提取相应的语音特征集;
通过合成相应的语音特征集来生成第一声纹模板;以及
向服务器发送第一声纹模板以认证该用户,其中,该用户的语音和相应的语音特征集没有被发送到服务器。
在另一些实施例中,从该用户的采用不同的说话模式的语音中提取相应的语音特征集包括:
使用线性预测倒谱系数(lpcc)算法,从该用户的采用第一说话模式的语音中提取第一特征集;以及
使用mel频率倒谱系数(mfcc)算法,从该用户的采用第二说话模式的语音中提取第二特征集。
在另一些实施例中,合成相应的语音特征集包括:
使用基于对数幅度近似(lma)声道模型的语音合成算法来合成相应的语音特征集,以获得合成声纹。
在另一些实施例中,使用基于对数幅度近似(lma)声道模型的语音合成算法来合成相应的语音特征集以获得合成声纹包括:
对于与该用户的语音对应的基音信号,使用具有lpcc参数的lma滤波器来处理其中的浊音,并使用具有mfcc参数的lma似滤波器来处理其中的清音,以获得合成声纹。
在另一些实施例中,通过合成相应的语音特征集来生成第一声纹模板还包括:
从合成声纹中提取i向量,作为第一声纹模板。
在一些其它实施例中,合成声纹作为声纹模板而被发送到服务器。
在另一些实施例中,该方法还包括:
向服务器发送认证请求;
从服务器接收被预先选择并与该用户相关联地存储的不同的说话模式、以及第一质询码;以及
向该用户呈现不同的说话模式和第一质询码,以使得该用户能够分别采用不同的说话模式来读出第一质询码,以产生该用户的采用不同的说话模式的语音。
在另一些实施例中,该方法还包括:
在注册过程中,呈现第二质询码、以及使得该用户能够分别选择不同的说话模式并且能够分别采用所选择的不同的说话模式读出第二质询码以产生该用户的采用所选择的不同的说话模式的语音的用户接口;
接收该用户的采用所选择的不同的说话模式的语音;
从该用户的采用所选择的不同的说话模式的语音中提取相应的语音特征集;
通过合成相应的语音特征集来生成第二声纹模板;以及
向服务器发送第二声纹模板以与该用户相关联地被存储,其中,该用户的语音和相应的语音特征集没有被发送到服务器。
在另一些实施例中,不同的说话模式包括以下中的任何两个或更多个:采用不同的语言说话,采用不同的方言说话,唱歌,以及朗读诗歌。
根据一些其它实施例的声纹认证方法
在本公开的另一方面,提供了一种声纹认证方法。在一些实施例中,该方法包括以下步骤:
从用户的用户设备接收第一声纹模板;以及
通过将第一声纹模板与被预先与该用户相关联地存储的第二声纹模板相比较来认证该用户;
其中,第一声纹模板和第二声纹模板各自在用户设备处通过合成从该用户的采用不同的说话模式的语音中提取的相应的语音特征集而被生成。
在另一些实施例中,通过将第一声纹模板与被预先与该用户相关联地存储的第二声纹模板相比较来认证该用户包括:
计算第一声纹模板与第二声纹模板之间的余弦相似度,第一声纹模板和第二声纹模板采用向量的形式;
确定所计算的余弦相似度是否大于或等于阈值;
当所计算的余弦相似度大于或等于阈值时,确定认证成功;以及
否则,确定认证失败。
虽然已经描述了根据本公开的一些实施例的声纹认证方法的步骤,但是将注意,以上描述仅仅是示例性的说明而不是对本公开的限制。在本公开的其它实施例中,该方法可以包括比所描述的步骤更多、更少或不同的步骤,并且这些步骤之间的顺序、包含、功能等关系可以与所描述和说明的那些不同。
根据一些实施例的声纹认证装置
在本公开的另一方面,提供了一种声纹认证装置。在一些实施例中,该声纹认证装置可以是图1中所示的用户代理110。如此,该声纹认证装置包括以下模块:
语音接收模块112,被配置为接收用户的采用不同的说话模式的语音;
特征提取模块113,被配置为从该用户的采用不同的说话模式的语音中提取相应的语音特征集;
合成模块114,被配置为通过合成相应的语音特征集来生成第一声纹模板;以及
第一通信模块115,被配置为向服务器发送第一声纹模板以认证该用户,其中,该用户的语音和相应的语音特征集没有被发送到服务器。
在另一些实施例中,特征提取模块113进一步被配置为:
使用线性预测倒谱系数(lpcc)算法,从该用户的采用第一说话模式的语音中提取第一特征集;以及
使用mel频率倒谱系数(mfcc)算法,从该用户的采用第二说话模式的语音中提取第二特征集。
在另一些实施例中,合成模块114进一步被配置为:
使用基于对数幅度近似(lma)声道模型的语音合成算法来合成相应的语音特征集,以获得合成声纹。
在另一些实施例中,合成模块114进一步被配置为:
对于与该用户的语音对应的基音信号,使用具有lpcc参数的lma滤波器来处理其中的浊音,并使用具有mfcc参数的lma似滤波器来处理其中的清音,以获得合成声纹。
在另一些实施例中,合成模块114进一步被配置为:从合成声纹提取i向量,作为第一声纹模板。
在一些其它实施例中,第一通信模块115进一步被配置:向服务器发送合成声纹作为第一声纹模板。
在另一些实施例中,第一通信模块115进一步被配置为:
向服务器发送认证请求;
从服务器接收被预先选择并与该用户相关联地存储的不同的说话模式、以及第一质询码;
并且,该装置还包括:
呈现模块111,被配置为向该用户呈现第一质询码,以使得该用户能够采用不同的说话模式来读出第一质询码,以产生该用户的采用不同的说话模式的语音。
在另一些实施例中,在注册过程中,
呈现模块111进一步被配置为呈现第二质询码、以及使得该用户能够分别选择不同的说话模式并且能够分别采用所选择的不同的说话模式读出第二质询码以产生该用户的采用所选择的不同的说话模式的语音的用户接口;
语音接收模块112进一步被配置为接收该用户的采用所选择的不同的说话模式的语音;
特征提取模块113进一步被配置为从该用户的采用所选择的不同的说话模式的语音中提取相应的语音特征集;
合成模块114进一步被配置为通过合成相应的语音特征集来生成第二声纹模板;以及
通信模块115进一步被配置为向服务器发送第二声纹模板以与该用户相关联地被存储,其中,该用户的语音和相应的语音特征集没有被发送到服务器。
在另一些实施例中,不同的说话模式包括以下中的任何两个或更多个:采用不同的语言说话,采用不同的方言说话,唱歌,以及朗读诗歌。
根据一些其它实施例的声纹认证装置
在本公开的又一方面,提供了一种声纹认证装置。在一些实施例中,该声纹认证装置可以是如图1中所示的身份提供商120。如此,该声纹认证装置可以包括以下模块:
第二通信模块121,被配置为从用户的用户设备接收第一声纹模板;以及
认证模块122,被配置为通过将第一声纹模板与被预先与该用户相关联地存储的第二声纹模板相比较来认证该用户,
其中,第一声纹模板和第二声纹模板各自在用户设备处通过合成从该用户的采用不同的说话模式的语音中提取的相应的语音特征集而被生成。
在另一些实施例中,认证模块122进一步被配置为:
计算第一声纹模板与第二声纹模板之间的余弦相似度,第一声纹模板和第二声纹模板采用向量的形式;
确定所计算的余弦相似度是否大于或等于阈值;
当所计算的余弦相似度大于或等于阈值时,确定认证成功;以及
否则,确定认证失败。
虽然已经描述了根据本公开的一些实施例的声纹认证装置的模块,但是将注意,以上描述仅仅是示例性的说明而不是对本公开的限制。在本公开的其它实施例中,该装置可以包括比所描述的模块更多、更少或不同的模块,并且这些模块之间的顺序、包含、功能等关系可以与所描述的那些不同。
根据一些实施例的计算机可读介质
在本公开的另一方面,提供了一种计算机可读介质。在一些实施例中,该计算机可读介质被用指令进行编码,这些指令在由计算机执行时使得执行根据本公开的任何实施例的方法。
本公开的实施例的优点
1.隐私:由于本公开满足评估标准,因此,用户的语音信息的隐私被保护。在网络环境中,用户的原始语音永远不会被第三方访问。本公开的解决方案满足不可链接性并且可以防止窃听攻击。另外,由于合成模板只包含原始音频的部分信息,因此,不能逆转合成声纹模板以获得原始语音记录,这满足了不可逆性。当发生攻击或idp中保存的旧模板过期时,用户可以选择新的说话模式以更新其注册信息,这满足了可撤销性标准。
2.高效:本公开中使用的算法都已经成熟并且已经被广泛使用。它们花费很少的操作时间和计算资源。它们适用于移动设备。
3.易于实现和扩展:本公开并未改变认证系统的原始结构。它仅用不同的算法来改变某些模块和运行过程。每个模块之间的独立性是显而易见的。因此,本公开可以容易地得以实现和增强。本公开不需要新型的数据,也不需要额外的设备。
将进一步理解,流程图中的每个框、以及流程图中的框的组合可以通过各种部件来实现,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它设备。例如,以上方法中的一个或多个步骤可以由计算机程序指令来体现。就此而言,体现上述步骤的计算机程序指令可以如下文所述地由根据本公开的示例性实施例的装置的存储设备来存储,并且由该装置的处理器来执行。将理解,任何这种计算机程序指令可以被加载到计算机或其它可编程装置(例如,硬件)上以产生机器,以使得得到的计算机或其它可编程装置实现流程图框中指定的功能。这些计算机程序指令还可以被存储在计算机可读存储器中,其可以指导计算机或其它可编程装置以特定方式操作,从而使存储在计算机可读存储器中的指令产生制造品,该制造品的执行实现流程图框中指定的功能。还可以将计算机程序指令加载到计算机或其它可编程装置上,以使得在计算机或其它可编程装置上执行一系列操作以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供用于实现流程图框中指定的功能的操作。
因此,流程图框支持用于执行指定功能的部件的组合,并且支持用于执行指定功能的操作的组合。还将理解,流程图的一个或多个框、以及流程图中的框的组合可以由执行指定功能的基于专用硬件的计算机系统,或由专用硬件与计算机指令的组合来实现。
在示例性实施例中,可以修改或进一步放大上述操作中的某些操作。此外,在示例性实施例中,可以包括附加的可选操作。对上述操作的修改、添加或放大可以采用任何顺序和任何组合来执行。
将进一步理解,根据本公开的实施例的声纹认证装置还可以包括至少一个处理器,包括计算机程序代码的至少一个存储器;至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使得该装置执行根据本公开的实施例的声纹认证方法的步骤,或者构成根据本公开的实施例的装置的至少一些模块。
在一些示例性实施例中,处理器(和/或协处理器或辅助该处理器或以其它方式与该处理器相关联的任何其它处理电路)可以经由用于在装置组件之间传递信息的总线与存储器通信。存储器可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器可以是电子存储设备(例如,计算机可读存储介质),电子存储设备包括被配置为存储可由机器(例如,像处理器的计算设备)获取的数据(例如,比特)的门。存储器可被配置为存储信息、数据、应用、指令等,以使得改装置能够执行根据本公开的示例性实施例的各种功能。例如,存储器可被配置为缓冲输入数据以由处理器进行处理。附加地或可替代地,存储设备可被配置为存储指令以由处理器执行。
该装置可被实现为芯片或芯片组。换句话说,该装置可以包括一个或多个物理封装(例如,芯片),其包括在结构配件(例如,基板)上的材料、组件和/或导线。该结构配件可以为在其上包括的组件电路提供物理强度、尺寸节省、和/或电相互作用的限制。因此,在一些情况下,该装置可被配置为在单个芯片上或作为单个“芯片上系统”来实现本公开的示例性实施例。如此,在一些情况下,芯片或芯片组可以构成用于执行用于提供本文所描述的功能的一个或多个操作的部件。
处理器可以采用多种不同方式来实现。例如,处理器可被实现为各种硬件处理部件中的一个或多个,诸如协处理器、微处理器、控制器、数字信号处理器(dsp)、具有或不具有伴随的dsp的处理元件、或包括集成电路的各种其它处理电路,例如,asic(专用集成电路)、fpga(现场可编程门阵列)、微控制器单元(mcu)、硬件加速器,专用计算机芯片等。如此,在示例性实施例中,处理器可以包括被配置为独立执行的一个或多个处理核。多核处理器可以在单个物理封装内实现多处理。附加地或可替代地,处理器可以包括一个或多个处理器,这些处理器经由总线同时配置以使得能够独立执行指令、流水线和/或多线程。
在示例性实施例中,处理器可被配置为执行存储在存储器中或以其它方式可被处理器访问的指令。可替代地或附加地,处理器可被配置为执行硬编码的功能。如此,无论是通过硬件或软件方法、还是通过其组合来配置,处理器都可以表示在被相应地配置时能够执行根据本公开的示例性实施例的操作的实体(例如,物理地体现为电路)。因此,例如,当处理器被实现为asic、fpga等时,处理器可以是被特定配置用于执行本文所描述的操作的硬件。可替代地,作为另一示例,当处理器被实现为软件指令的执行器时,指令可以特定配置处理器以在指令被执行时执行本文所描述的算法和/或操作。然而,在一些情况下,处理器可以是特定设备(例如,移动终端或网络实体)的处理器,该特定设备被配置为通过利用用于执行本文所描述的算法和/或指令的指令而进一步配置处理器来使用本公开的示例性实施例。处理器尤其可以包括时钟、算术逻辑单元(alu)以及被配置为支持处理器的操作的逻辑门。
在一些实施例中,声纹认证装置还可以包括通信接口,通信接口可以是上述第一通信模块或第二通信模块,包括上述第一通信模块或第二通信模块,或者与上述第一通信模块或第二通信模块相关联。通信接口可以是诸如以硬件或硬件和软件的组合体现的设备或电路的任何部件,其被配置为从网络接收数据和/或向网络发送数据,和/或从与该装置通信的任何设备或模块接收数据和/或向与该装置通信的任何设备或模块发送数据。就此而言,通信接口可以包括例如天线(或多个天线)以及用于使得能够与无线通信网络通信的支持硬件和/或软件。附加地或可替代地,通信接口可以包括与天线交互以引起经由天线的信号传输或处理经由天线接收的信号的接收的电路。在一些环境中,通信接口可以可替代地支持或还支持有线通信。如此,例如,通信接口可以包括网络接口卡、通信调制解调器、和/或用于支持经由光纤、电缆、数字用户线(dsl)、通用串行总线(usb)或其它机制的通信的其它硬件/软件。
在示例性实施例中,声纹认证装置可以包括用户接口,该用户接口可以继而与处理器通信,以接收用户输入的指示或与用户输入有关的指示,和/或向用户提供语音、视觉、机械或其它输出。如此,例如,用户接口可以包括键盘、鼠标、操纵杆、显示器、触摸屏、触摸区、软键、麦克风、扬声器、或其它输入/输出机制。
为了说明和描述的目的,已经提供了前述的实施例的描述。它并非旨在穷举或限制本公开。特定实施例的各个元件或特征通常不限于该特定实施例,而是在适用的情况下是可互换的,并且可以在所选择的实施例中使用,即使未被特定示出或描述。这些实施例还可以以多种方式变化。这种变型不应被认为是背离本公开,而是所有这种修改旨在被包括在本公开的范围内。
提供了前述的示例性实施例以使得本公开将是透彻的,并且将其范围完全传达给本领域技术人员。阐述了许多特定细节,诸如特定组件、设备和方法的示例,以提供对本公开的实施例的透彻理解。对于本领域技术人员将显而易见的是并非需要采用特定细节,示例性实施例可以采用多种不同的形式来实现并且都不应当被解释为限制本公开的范围。在一些示例性实施例中,并未详细描述公知的过程、公知的设备结构、以及公知的技术。
本文使用的术语仅出于描述特定示例性实施例的目的,而并非旨在进行限制。本文使用的单数形式“一”、“一个”和“该”也可以意在包括复数形式,除非上下文另外明确指出。术语“包括”、“包含”和“具有”是包容性的,并且因此,指定存在所述特征、整数、步骤、操作,元件和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作,元件和/或组件。本文所描述的方法步骤、过程和操作不应被解释为必须以所讨论或图示的特定顺序来执行,除非被明确标识为按顺序执行。还应理解,可以采用附加或替代的步骤。
虽然术语第一、第二、第三等在本文中可用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受到这些术语的限制。这些术语只可用于区分一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分。本文中使用的诸如“第一”、“第二”以及其它数字项的术语并非暗示顺序或次序,除非在上下文中明确指出。因此,下面讨论的第一元件、组件、区域、层或部分可被称为第二元件、组件、区域、层或部分,而不背离示例性实施例的教导。
受益于在前文描述和相关联的附图中呈现的教导,本公开所属领域的技术人员将想到本文中阐述的本公开的多种修改和其它实施例。因此,应当理解,本公开不限于所公开的特定实施例,并且修改和其它实施例旨在被包括在所附权利要求的范围内。此外,虽然前文描述和相关联的附图在元件和/或功能的某些示例性组合的上下文中描述了示例性实施例,但是应当理解,可以由替代实施例来提供元件和/或功能的不同组合,而不背离所附权利要求的范围。就此而言,例如,如所附权利要求中的一些所阐述的,还考虑了与上文明确描述的元件和/或功能的不同的元件和/或功能的组合。虽然本文使用特定术语,但是它们仅用于一般和描述性的意义,而不是出于限制的目的。