重放攻击的检测

文档序号:914639 发布日期:2021-02-26 浏览:2次 >En<

阅读说明:本技术 重放攻击的检测 (Detection of replay attacks ) 是由 J·P·莱索 C·阿朗索 E·C·维克斯 于 2019-07-31 设计创作,主要内容包括:一种检测重放攻击的方法包括:接收表示言语的音频信号;识别存在于所述音频信号的至少一部分中的言语内容;获得关于所述音频信号中识别了言语内容的每个部分的频谱的信息;以及对于所述音频信号中识别了言语内容的每个部分:检索关于所述音频信号的预期频谱的信息;将所述音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较;以及如果所述音频信号中识别了言语内容的所述部分的所述频谱与所述相应的预期频谱之间的差异的度量值超出阈值水平,则确定所述音频信号可能是由重放攻击引起的。(A method of detecting replay attacks comprising: receiving an audio signal representing speech; identifying speech content present in at least a portion of the audio signal; obtaining information about a frequency spectrum of each portion of the audio signal in which speech content is identified; and for each portion of the audio signal in which verbal content is identified: retrieving information about an expected spectrum of the audio signal; comparing a frequency spectrum of a portion of the audio signal in which speech content is identified with a corresponding expected frequency spectrum; and determining that the audio signal is likely to be caused by a replay attack if a measure of difference between the spectrum of the portion of the audio signal in which speech content is identified and the corresponding expected spectrum exceeds a threshold level.)

重放攻击的检测

技术领域

本文所描述的实施方案涉及用于检测语音生物识别系统(voice biometricssystem)上的重放攻击的方法和设备。

背景技术

语音生物识别系统正被广泛使用。在这种系统中,用户通过在登记阶段提供其言语样本来训练系统。在后续的使用中,系统能够区分已登记用户与未注册的说话者。语音生物识别系统原则上可用来控制对大范围的服务和系统的访问。

恶意方试图打败语音生物识别系统的一种方法是获得已登记用户的言语的录音,并且回放该录音,以试图冒充已登记用户并取得对原定仅限于已登记用户的服务的访问权限。

这称为重放攻击或称为欺骗攻击。

发明内容

根据本发明的一个方面,提供了一种检测重放攻击的方法,所述方法包括:

接收表示言语的音频信号;

识别存在于音频信号的至少一部分中的言语内容;

获得关于音频信号中识别了言语内容的每个部分的频谱的信息;

对于音频信号中识别了言语内容的每个部分,检索关于音频信号的预期频谱的信息;

将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较;以及

如果音频信号中识别了言语内容的部分的频谱与相应的预期频谱之间的差异的度量值超出阈值水平,则确定音频信号可能是由重放攻击引起的。

所述方法还可包括:

从接收到的音频信号中移除声道和/或噪声的影响;以及

当获得关于音频信号中识别了言语内容的每个部分的频谱的信息时,在移除声道和/或噪声的影响后使用所述音频信号。

识别存在于音频信号的至少一部分中的言语内容可包括识别至少一个测试声学类别。至少一个测试声学类别可包括一个或多个特定音素。至少一个测试声学类别可包括摩擦音,尤其是齿擦音;和/或可包括爆破音。

识别至少一个测试声学类别可包括识别测试声学类别在已知言语内容中的出现位置。已知言语内容可包括密码短语。

将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较可包括:

将音频信号中识别了言语内容的部分的频谱与在5kHz至20kHz范围内的频带中的相应预期频谱进行比较。

将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较可包括:

将音频信号中识别了言语内容的部分的频谱与在20Hz至200Hz范围内的频带中的相应预期频谱进行比较。

将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较可包括:

将音频信号中识别了言语内容的部分的频谱与在超声波频带中的相应预期频谱进行比较。

将音频信号的所识别部分与有关对应的测试声学类别的相应所检索信息进行比较可包括:

将音频信号的所识别部分的至少一个频带中的功率水平与音频信号的预期频谱的至少一个对应频带中的功率水平进行比较。

音频信号的所识别部分与有关对应测试声学类别的相应所检索信息之间的差异的度量值可包括大于1dB的功率差异。

所述方法还可包括:

对接收到的音频信号执行说话者识别过程;以及

对于每个测试声学类别,检索关于由所述说话者识别过程识别的说话者的音频信号的预期频谱的信息。

检索关于音频信号的预期频谱的信息的步骤可包括:识别音频信号中预期将出现至少一个特定声学类别的位置;并且将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较的步骤可包括:将所述所识别位置处的频谱与所述所识别位置处的预期频谱进行比较。

特定声学类别可包括至少一些摩擦音。

所述方法可包括确定在预期将出现摩擦音的所述位置处的频谱是否是摩擦音的特性。

识别音频信号中预期将出现至少一个特定声学类别的位置的步骤可包括:识别预定话语中至少一个特定声学类别出现的位置。

预定话语可包括密码短语。

根据本发明的另一方面,提供了一种用于检测重放攻击的系统,所述系统包括:

输入,其用于接收表示言语的音频信号;以及

处理器,其中所述处理器被配置用于:

识别存在于音频信号的至少一部分中的言语内容;

获得关于音频信号中识别了言语内容的每个部分的频谱的信息;

对于音频信号中识别了言语内容的每个部分,检索关于音频信号的预期频谱的信息;

将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较;以及

如果音频信号中识别了言语内容的部分的频谱与相应的预期频谱之间的差异的度量值超出阈值水平,则确定音频信号可能是由重放攻击引起的。

还提供了一种包括这种系统的设备,其中所述设备包括以下中的一个:智能电话、平板计算机或膝上型计算机、游戏控制台、家庭控制系统、家庭娱乐系统、车载娱乐系统或家用电器。

根据本发明的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括有形的计算机可读介质,所述有形的计算机可读介质存储用于致使合适的经编程处理器执行第一方面的方法的代码。

根据第二方面,提供了一种检测重放攻击的方法,所述方法包括:

接收表示言语的音频信号;

识别音频信号中言语由摩擦音组成的至少一个部分;

获得关于在所述音频信号的所述至少一个部分期间以超声波频率存在的能量的量的信息;以及

基于关于以超声波频率存在的能量的量的所述信息而确定音频信号是否可能是由重放攻击引起的。

所述方法还可包括:

获得关于在音频信号中言语由浊音言语组成的第二部分期间以超声波频率存在的能量的量的信息;以及

基于关于以超声波频率存在的能量的量的所述信息并且基于关于在音频信号的第二部分期间以超声波频率存在的能量的量的所述信息,确定音频信号是否可能是由重放攻击引起的。

所述方法可包括:

基于在音频信号的所述至少一个部分期间以超声波频率存在的能量的量与在音频信号的第二部分期间以超声波频率存在的能量的量的比率,确定音频信号是否可能是由重放攻击引起的。

所述方法还可包括:

获得关于在所述音频信号的所述至少一个部分期间以可听频率存在的能量的量的信息;以及

基于关于在音频信号的所述至少一个部分期间以超声波频率存在的能量的量的所述信息并且基于关于在音频信号的所述至少一个部分期间以可听频率存在的能量的量的所述信息,确定音频信号是否可能是由重放攻击引起的。

所述方法可包括:

基于在音频信号的所述至少一个部分期间以超声波频率存在的能量的量与以可听频率存在的能量的量的比率,确定音频信号是否可能是由重放攻击引起的。

所述方法可包括:

计算在音频信号的所述至少一个部分期间以超声波频率存在的能量的量与以可听频率存在的能量的量的第一比率;

计算在音频信号中言语由浊音言语组成的第二部分期间以超声波频率存在的能量的量与在音频信号的第二部分期间以可听频率存在的能量的量的第二比率;以及

计算第一比率与第二比率的比率。

根据另一方面,提供了一种用于检测重放攻击的系统,所述系统包括:

输入,其用于接收表示言语的音频信号;以及

处理器,其中所述处理器被配置用于:

识别音频信号中言语由摩擦音组成的至少一个部分;

获得关于在所述音频信号的所述至少一个部分期间以超声波频率存在的能量的量的信息;以及

基于关于以超声波频率存在的能量的量的所述信息而确定音频信号是否可能是由重放攻击引起的。

还提供了一种包括这种系统的设备,其中所述设备包括以下中的一个:智能电话、平板计算机或膝上型计算机、游戏控制台、家庭控制系统、家庭娱乐系统、车载娱乐系统或家用电器。

根据另一方面,提供了一种计算机程序产品,所述计算机程序产品包括有形的计算机可读介质,所述有形的计算机可读介质存储用于致使合适的经编程处理器执行根据第二方面的方法的代码。

附图说明

为了更好地理解本发明,以及为了示出可如何落实本发明,现在将参考附图,在附图中:

图1示出了智能电话。

图2是示出智能电话的形式的示意图。

图3示出正在执行重放攻击的情形的示例。

图4是示出语音生物识别系统中的功能块的框图。

图5是示出检测语音生物识别系统上的重放攻击的方法的流程图。

图6示出图4的系统的一部分。

图7至图9示出了在音频信号可能是由重放攻击引起的若干情形下音频信号的所识别部分与有关对应的测试声学类别的相应所检索信息之间的比较的示例。

具体实施方式

下面的描述阐述了根据本公开的示例实施方案。对于本领域普通技术人员而言,其他示例实施方案和实现方式将是显而易见的。此外,本领域普通技术人员将认识到,可使用各种等效技术代替以下讨论的实施方案或与以下讨论的实施方案结合,并且所有此类等效形式应被视为是本公开所涵盖的。

本文所描述的方法可在大范围的设备和系统中实现,所述设备和系统例如移动电话、音频播放器、视频播放器、移动计算平台、游戏设备、远程控制器设备、玩具、机器或家庭自动化控制器或家用电器。然而,为了易于解释一个实施方案,将描述说明性示例,其中实现方式在智能电话中发生。

图1示出了智能电话10,所述智能电话具有用于检测环境声音的传声器12、12a和12b。在该示例中,传声器12当然用于检测握住智能电话10的用户的言语,而传声器12a、12b提供在智能电话10的侧面的上部部分上,并且因此在图1中不是清晰可见的。

智能电话10只是其中可执行本文所描述的方法的电子设备的一个示例。该方法可类似地在另一便携式电子设备中执行,所述电子设备诸如平板计算机或膝上型计算机、游戏控制台、家庭控制系统、家庭娱乐系统、车载娱乐系统或家用电器。

图2是示出智能电话10的形式的示意图。

具体地,图2示出了智能电话10的各种互连部件。应当了解,智能电话10实际上将包含许多其他部件,但是以下描述对于理解本发明是足够的。

因此,图2示出了上面提及的传声器12。在某些实施方案中,智能电话10设置有多个传声器12、12a、12b等。

图2还示出了存储器14,所述存储器实际上可作为单个部件或作为多个部件提供。提供存储器14用于存储数据和程序指令。

图2还示出了处理器16,所述处理器实际上也可作为单个部件或作为多个部件提供。例如,处理器16的一个部件可为智能电话10的应用处理器。

图2还示出了收发器18,所述收发器被提供用于允许智能电话10与外部网络通信。例如,收发器18可包括用于通过WiFi局域网或通过蜂窝网络确立互联网连接的电路。

图2还示出了音频处理电路20,以用于视需要对由传声器12检测到的音频信号执行操作。例如,音频处理电路20可过滤音频信号或执行其他信号处理操作。

图2还示出了至少一个传感器22。在本发明的实施方案中,该传感器是用于检测磁场的磁场传感器。例如,传感器22可为霍尔效应传感器,其能够在三个正交方向上提供对磁场强度的单独测量结果。可使用的传感器的其他示例可包括陀螺仪传感器、加速计或可操作以确定电话取向的基于软件的传感器,其中此类基于软件的传感器可与诸如由苹果公司(Apple,Inc.)提供的FaceTimeTM系统的软件程序组合操作。

在该实施方案中,智能电话10设置有语音生物识别功能性和控制功能性。因此,智能电话10能够响应于来自已登记用户的口头命令而执行各种功能。生物识别功能性能够区分来自已登记用户的口头命令和不同的人讲出的相同命令。因此,本发明的某些实施方案涉及具有某种语音可操作性的智能电话或另一便携式电子设备的操作,所述设备例如平板计算机或膝上型计算机、游戏控制台、家庭控制系统、家庭娱乐系统、车载娱乐系统、家用电器等,其中在意在实施口头命令的设备中执行语音生物识别功能性。某些其他实施方案涉及在智能电话或其他设备上执行语音生物识别功能性的系统,如果语音生物识别功能性能够确认说话者是已登记用户,则该智能电话或其他设备将命令传输到单独的设备。

在一些实施方案中,虽然在智能电话10或靠近用户定位的其他设备上执行语音生物识别功能性,但是使用收发器18将口头命令传输到远程言语辨识系统,所述远程言语辨识系统确定口头命令的含义。例如,言语辨识系统可位于云计算环境中的一个或多个远程服务器上。然后,使基于口头命令的含义的信号返回到智能电话10或其他本地设备。在其他实施方案中,也将言语辨识系统提供在智能电话10上。

蒙骗语音生物识别系统的一种尝试是通过所谓的重放或欺骗攻击来播放已登记用户的语音的录音。

图3示出正在执行重放攻击的情形的示例。因此,在图3中,智能电话10设置有语音生物识别功能性。在该示例中,智能电话10至少临时地被具有另一智能电话30的攻击者占有。智能电话30已被用于录制智能电话10的已登记用户的语音。使智能电话30接近智能电话10的传声器入口12,并且回放已登记用户的语音的录音。如果语音生物识别系统无法检测到它检测到的已登记用户的语音是录音,则攻击者将取得对原定只能由已登记用户访问的一项或多项服务的访问权限。

众所周知,由于大小约束,诸如智能电话30等智能电话通常设置有品质相对较低的扬声器。因此,通过这种扬声器回放的已登记用户的语音的录音与用户的语音并不完美匹配,并且这一事实可用于识别重放攻击。例如,扬声器可具有某些频率特性,并且如果可在由语音生物识别系统接收的言语信号中检测到这些频率特性,则可认为该言语信号是由重放攻击引起的。

例如,在低于下限阈值频率的频率下,扬声器可能遭受低频滚降,因为低音响应受扬声器振膜大小的限制。下限阈值频率可为200Hz。在另一示例中,在高于上限阈值频率的频率下,扬声器可能遭受高频滚降。虽然品质良好的音频录制装备、放大器、扬声器等被设计成在可听频率范围(例如,至高约20kHz)中展现非常高的保真度,但是即使是高品质的音频系统在其高于约20kHz的频率响应下通常也会展现出高衰减。由于一般人无法感知该频率范围内的声音,因此通常不值得让系统设计人员提供此类声音的高保真录制和再现。

这些影响的大小将由扬声器的品质确定。例如,在高品质扬声器中,下限阈值频率和上限阈值频率应使得在人类通常可听见的频率范围内存在最小的低频滚降或高频滚降。然而,大小和成本约束意味着许多市售扬声器,诸如在诸如智能电话30等智能电话中提供的那些扬声器,确实在一定程度上遭受了这些影响。

因此,扬声器可能无法很好地再现超声波和/或近超声波频率。在这些情况下,如果检测到的言语信号的超声波和/或近超声波频率分量未达到“典型”言语所期望的功率水平,则这可能表明检测到的言语信号是由重放攻击引起的。

然而,并非所有言语都包含相同水平的超声波和/或近超声波频率分量。例如,一些辅音组,诸如摩擦音和爆破音,包含相对较高水平的超声波和近超声波频率。如果检测到的言语信号所涉及的言语在诸如这些声学类别的一个或多个声学类别中包含高于正常的言语量,所述声学类别包括的超声波和/或近超声波频率的分量相对较大,则在通过扬声器的降低了超声波和/或近超声波频率分量的水平的重放攻击的结果中,检测到的言语信号中的超声波和/或近超声波频率可能仍然以与“典型”言语中的这些频率将期望的功率水平类似的功率水平存在。因此,在这种情形下,系统可能无法辨识言语信号可能是由重放攻击引起的。

如果可确定检测到的言语信号的声学类别以及所述声学类别的预期频率特性,则可能能够使用检测到的言语信号的频率特性更可靠地确定检测到的信号是否可能是由重放攻击引起的。

图4是示出语音生物识别系统中的功能块的框图,而图5是示出检测语音生物识别系统上的重放攻击的方法的流程图。

如图4中所示,传声器12(例如,智能电话10中的传声器中的一个)检测到声音,并且该声音被传递到初始处理块40。传声器12能够检测可听声音和在超声波范围中的声音。如本文所使用的,术语“超声”(和“超声波”)是指在可听频率范围的上部部分以及高于可听频率范围的声音。因此,术语“超声”(和“超声波”)是指频率高于约15kHz的声音。

初始处理块40可例如包括用于将从模拟传声器接收的信号转换成数字形式的模数转换器,并且还可包括用于存储信号的缓冲器。模数转换涉及以采样率对接收到的信号进行采样。必须选择足够高的采样率,以使所关注的任何频率分量都保留在数字信号中。例如,如下面更详细地描述的,本发明的一些实施方案涉及查看接收到的信号的超声波分量,例如在20kHz至30kHz的区域中。如从奈奎斯特采样定理众所周知的,数字信号的采样率至少应为信号的最高频率分量的两倍。因此,为了正确地对包含处于高达30kHz的频率的分量的信号进行采样,采样率至少应为60kHz。

典型的智能电话可能能够以高达192kHz(高到足以提供96kHz带宽)的采样率进行采样,并且因此可将采样率设置为适应预期频率分量的任何合适值。

如常规的,可将信号分成帧,例如具有10ms至100ms的持续时间。

因此,在图5的方法的步骤60中,接收表示言语的音频信号。

然后,可将接收到的表示言语的音频信号传递到频谱提取块42。频谱提取块42可被配置成获得接收到的音频信号的频谱。在一些示例中,频谱提取块42可被配置成获得接收到的音频信号的功率谱,而在一些其他示例中,频谱提取块42可被配置成获得接收到的音频信号的能谱。

在一些示例中,频谱提取块42可被配置成对接收到的音频信号执行快速傅里叶变换。快速傅里叶变换的结果表明在不同频率下存在于信号中的功率或能量。

在另一示例中,频谱提取块42可被配置成将几个带通滤波器应用于接收到的表示言语的音频信号。每个带通滤波器可仅允许在接收到的音频信号的特定频带内的信号通过。

然后,可将接收到的表示言语的音频信号以及由频谱提取块42获得的频谱传递到声道/噪声补偿块44。如将了解的,接收到的表示言语的音频信号可能受到声道性质的影响(这是指在用户的言语与由传声器生成的言语信号之间产生差异的任何因素改变)。接收到的表示言语的音频信号也可能会受到噪声的影响。声道/噪声补偿块44可被配置成从接收到的表示言语的音频信号中移除声道和/或噪声的影响,以获得接收到的表示言语的净化后的音频信号。下面更详细地描述了声道/噪声补偿块44的示例实施方案。

具体地,图6示出了声道/噪声补偿系统,在英国专利申请第1719734.4号中更详细地描述了所述系统。

在图6中,在输入70上接收到的信号被传递到浊音/清音检测块72,所述浊音/清音检测块确定接收到的信号何时表示浊音言语,以及何时表示清音言语。因此,浊音/清音检测块72输出音频信号的表示浊音言语的第一分量Sv和表示清音言语的第二分量Su。更具体地,在一些实施方案中,音频信号的表示浊音言语的第一分量Sv和表示清音言语的第二分量Su是言语的浊音分量和清音分量的平均频谱。平均频谱是指在多个帧上获得并平均化的言语的频谱。

在输入70上接收的信号也被传递到说话者辨识块74,所述说话者辨识块执行语音生物识别过程以从多个已登记说话者中识别出说话者。说话者辨识系统中的登记过程通常涉及说话者提供言语样本,从言语样本中提取特定特征,并且将提取的特征用于形成说话者的言语的模型。在使用中,从言语样本中提取对应的特征,并将这些特征与先前获得的模型进行比较以获得说话者是先前登记的说话者的可能性的度量值。

在图6中示出的系统中,一个或多个说话者模型被例如存储在数据库76中。基于说话者辨识块74的输出,选择一个或多个说话者模型。在该实施方案中,每个说话者模型包含已登记用户的浊音言语和清音言语的单独模型。更具体地,已登记用户的浊音言语的模型和清音言语的模型各自包括对应于多个频率的振幅值。

因此,浊音言语的模型可指示为Mv,其中Mv表示在选定频率中的每个频率下包括一个振幅值的矢量,而清音言语的模型可指示为Mu,其中Mu表示在选定频率中的每个频率下包括一个振幅值的矢量。

如将了解的,接收到的包含用户的言语的信号将受到声道性质的影响,这是指在用户的言语与由传声器生成的言语信号之间产生差异的任何因素改变,并且接收到的信号也将受到噪声的影响。

因此,假设在平均了接收到的信号以形成接收到的言语的第一分量和第二分量的时间段期间,声道和噪声是恒定的,则这些第一分量和第二分量可表达为:

Sv=αMv+n,并且

Su=αMu+n,

其中

α表示乘性干扰分量的频谱,在本文中称为声道,并且

n表示加性干扰分量的频谱,在本文中称为噪声。

因此,利用测量结果Sv和Su以及模型Mv和Mu,因此可在比较框78中对这两个等式求解以得到两个未知数α和n。

因此,出于说明性目的,

并且

为了完整起见,应当注意的是,通过在多个频率下进行频谱测量,可在所述频率中的每个频率下有效地求解这两个等式。

替代地,通过在f个不同的频率下进行测量,等式Sv=αMv+n和Su=αMu+n可各自被视为要求解的f个不同的等式。

在这种情况下,在求解等式后,有用地,可对结果应用低通滤波器或统计滤波器(诸如Savitsky-Golay滤波器),以便获得声道和噪声特性的低通滤波版本。

作为替代示例,可使用最小二乘法来获得2f个不同等式的解。

因此,获得关于影响音频信号的声道和/或噪声的信息。

虽然上面已经描述了声道/噪声补偿块44的一个可能的实施方案,但是将了解,声道/噪声补偿块44可被配置成执行任何合适的方法以从接收到的音频信号中移除声道和/或噪声的影响。

另外,虽然如图4中示出的系统包括声道/噪声补偿块44(并且如下所述,随后使用的是移除了声道和/或噪声的影响之后的音频信号),但是将了解,这是任选的,并且可直接使用接收到的音频信号而无需从接收到的音频信号中移除声道和/或噪声的影响。特别地,这可在已知声道近似理想的情形下或者在已知系统处于背景噪声水平较低的环境中的情形下完成。

然后可从输入信号中移除声道和/或噪声的影响,并且然后可将声道/噪声补偿块44的输出传递给识别块46。识别块46可被配置成识别存在于接收到的音频信号的至少一部分中的言语内容。通常而言,这不仅仅涉及检测人类言语的存在,还意味着识别特定的言语内容。在一些实施方案中,识别块46被配置成识别接收到的音频信号中的至少一个测试声学类别,其中声学类别是属于同一广泛音素类别的音素集,诸如摩擦音、元音等。也就是说,识别块46可被配置成识别接收到的音频信号中包含一个或多个特定测试声学类别的部分。

至少一个测试声学类别可为包括某些频谱性质的声学类别。换句话说,可选择至少一个测试声学类别以提供跨特定频率范围的特定功率分布。例如,至少一个声学类别可包括相对较高水平的超声波和/或近超声波频率。

在一些示例中,至少一个测试声学类别可包括一个或多个特定音素。在一些示例中,测试声学类别可包括元音集。在其他示例中,测试声学类别可包括辅音集。例如,至少一个测试声学类别可包括摩擦音,并且更具体地,可包括齿擦音。在另一示例中,至少一个测试声学类别可包括爆破音。应当注意,由人类的声道生成的音频信号,特别是在清晰地发摩擦音音素和齿擦音音素时,在超声区域中包含大量能量,高于约20kHz,并且甚至超过30kHz。

识别块46可被配置成识别音频信号中表示至少一个测试声学类别的部分。在一些示例中,识别块46可被配置成识别音频信号中表示多个预选的测试声学类别中的一个测试声学类别的部分。在一些示例中,识别块46可在逐帧的基础上确定接收到的音频信号所对应的测试声学类别。例如,识别块46可确定接收到的帧的第一群组对应于摩擦音类别中的音素,并且接收到的帧的第二群组对应于爆破音类别中的音素。

声学类别的识别例如可由经训练的神经网络来执行。替代地,可通过诸如隐马尔可夫模型等众所周知的技术来执行对接收到的短语中包含的音素的识别。

在一些示例中,识别块46包括自动言语辨识块或与自动言语辨识块相关联,该自动言语辨识块可识别存在于接收到的音频信号的至少一部分中的言语内容。在识别了言语内容后,然后识别块46可例如识别接收到的音频信号中包含一个或多个特定测试声学类别的部分。

在一些示例中,识别块46包括对近超声频率中的能量的逐帧估计,其中具有最高能量的帧与摩擦音音素相关联,从而有效地创建摩擦音音素在短语中出现的时间图。与接收到的音频信号相关联的该时间图可与先前计算并存储在数据库48中的相似图对准。在依赖文本的语音生物识别中,在登记阶段期间当用户通过说出预定义的密码短语来创建其生物识别声纹时,可计算音素的预期时间映射。在独立于文本的语音生物识别中,在认证尝试期间可借助于应用于接收到的音频的音标解码器(或声学类别标识符)来获得映射。

例如,可使用诸如维特比算法或动态时间规整等技术来执行音素的预期时间映射与实际时间映射之间的对准。

信号中如此对准的部分的频谱可与对应的声学类别的频谱进行比较。此外,这些对准技术可提供接收到的信号中的摩擦音的时间图与预期时间图之间的距离的度量值。超出给定阈值的距离(意味着接收到的信号的超声分量与预期言语的高频音标内容不匹配)可能指示欺骗攻击。

例如,在方法的一些实施方案中,当应用于智能电话、智能扬声器等中时,通过已登记用户讲出预定密码短语来启动智能电话或智能扬声器,并且因此该设备能够辨识包含密码短语的音频信号。例如,密码短语可为“Hi助手”。

单词“Hi”中的元音声自然比许多元音包含更高的频率分量。类似地,齿擦音辅音包含相对大量的高频分量。结果是,识别块46可确定音频信号的哪些部分包含密码短语,即音频信号的哪些帧将包含具有高比例的高频分量的音素。实际上,可创建密码短语内的摩擦音音素和/或齿擦音音素的时间位置图。因此,可识别音频信号的这些部分中的特定言语内容。

例如,如果密码短语占据音频信号的1秒,则单词“Hi”中包含元音声的帧可能会出现在音频信号中的在例如音频信号的50毫秒至150毫秒之间的部分。类似地,单词“助手”中的齿擦音辅音可能会出现在音频信号中的在例如音频信号的550毫秒至850毫秒之间的部分。

因此,可识别在这些时间间隔期间出现的帧。

因此,在图5的方法中的步骤62中,识别存在于音频信号的至少一部分中的言语内容。

在如图4中示出的示例中,声道/噪声补偿块44的输出被传递到识别块46。然而,将了解的是,接收到的表示言语的音频信号可直接被传递到识别块46,而无需先前执行的用以移除声道和/或噪声的影响的任何处理。这可在已知声道近似理想的情形下发生,或者这可在已知系统处于背景噪声水平非常低的环境中的情形下发生。

在如图4中示出的示例中,提取的频谱被传递到识别块46。然而,将了解的是,识别块46可以接收呈未处理的形式或保持在时域中(而不是在频域中)的形式的接收到的表示言语的音频信号,并从这种形式的接收到的音频信号中识别出存在于音频信号的至少一部分中的言语内容(例如,识别至少一个声学类别)。可使用经过适当训练的神经网络进行这种识别。

已经识别了言语内容后,获得关于音频信号中识别了特定言语内容的每个部分的频谱的信息。例如,尽管频谱提取块42可被配置成获取整个接收到的音频信号的频谱,但是第二频谱提取块47可被配置成获得接收到的音频信号中识别了所关注的特定言语内容的那些部分的频谱。例如,如上所述,可将信号中表示具有高比例的高频分量的特定言语内容的部分视为所关注的,并且第二频谱提取块47可被配置成获得接收到的音频中识别了该言语内容的帧的频谱。

识别块46可将识别出的言语内容的指示传输到数据库48。数据库48可接收识别出的言语内容的指示,并供应关于音频信号的预期频谱的对应所存储信息。例如,在相关言语内容包括一个或多个特定声学类别(例如,一个或多个音素)的情况下,数据库48可被配置成针对每个声学类别存储音频信号的对应于该声学类别的预期功率谱。然后,数据库48可被配置成针对每个声学类别检索音频信号的对应于该声学类别的预期能量谱。

因此,在图5的方法中的步骤66中,针对音频信号中识别了言语内容的每个部分,检索关于音频信号的对应部分的预期频谱的信息。

数据库48可针对音频信号中识别了言语内容的每个部分(也就是说,例如,针对每个识别出的测试声学类别),将检索到的关于音频信号的预期频谱的信息传输给比较块50。

比较块50还可接收来自第二频谱提取块47的接收到的音频信号中识别了该同一言语内容的帧的频谱(例如,包含至少一个测试声学类别的帧的频谱或每个频谱)。

然后,比较块50可将音频信号的接收到的所识别部分(表示至少一个测试声学类别)与接收到的有关对应测试声学类别的相应所检索信息进行比较。

在一些示例中,比较块50可将音频信号中的所识别部分的分量与在5kHz至20kHz范围内或在16kHz以上范围内的频带中的对应测试声学类别的相应所检索信息进行比较。如上所述,一些扬声器可能无法很好地再现超声波和/或近超声波频率。因此,包括具有相对较高水平的超声波和/或近超声波频率的测试声学类别的接收到的音频信号可能会被扬声器在这些频率下(例如,在5kHz至20kHz范围内的频带中,或在16kHz以上的频带中)不良地再现。因此,接收到的音频信号中表示测试声学类别的频谱可能与音频信号中表示测试声学类别的预期频谱显著不同,其中当接收到的音频信号是由重放攻击引起时,测试声学类别包括相对较高水平的超声波和/或近超声波频率。因此,为了能够使用该频带检测重放攻击,更可取的是使测试声学类别包括相对较高水平的超声波和/或近超声波频率,并且合适的声学类别可例如为摩擦音,诸如齿擦音和爆破音。

在一些示例中,比较块50可将音频信号的所识别部分的分量与在20Hz至200Hz的频带中的对应测试声学类别的相应所检索信息进行比较。一些扬声器可能无法很好地再现较低的频率(例如,在20Hz至200Hz频带内的频率)。因此,包括相对较高水平的这些频率的测试声学等级很可能在这些频率下被扬声器不良地再现。因此,接收到的音频信号中表示测试声学类别的频谱可能与音频信号中表示测试声学类别的预期频谱显著不同,其中当接收到的音频信号是由重放攻击引起时,测试声学类别包括相对较高水平的这些较低频率分量。因此,为了能够使用该频带检测重放攻击,更可取的是使测试声学类别包括在20Hz至200Hz频带中的相对较高水平的频率,并且合适的声学类别可例如为某些元音声。例如,在国际音标中由<u>和表示的高后圆唇元音和接近高后圆唇元音分别具有高水平的这些低频分量。

在国际音标中由<i>表示的高前不圆唇元音通常具有相对较低的第一共振峰频率F1和相对较高的第二共振峰频率F2,并且因此言语中包含这种元音声的部分具有在20Hz至200Hz频带中的相对较高水平的低频率和在5kHz至20kHz频带中的相对较高水平的高频率。因此,如果识别出言语中包含这种元音声的部分,则将这些部分的频谱与在20Hz至200Hz范围和5kHz至20kHz范围两者中的相应频带中的预期频谱进行比较是有用的。

在一些示例中,比较块50可将音频信号的所识别部分的频谱与有关对应测试声学类别的所检索到的预期频谱进行比较。

在一个示例中,比较块50可将音频信号的所识别部分与有关对应测试声学类别的相应所检索频谱进行比较,其中已经从对在频谱块42处接收到的音频信号执行的FFT获得音频信号的所述所识别部分。在另一示例中,比较块50可将音频信号的所识别部分与有关对应测试声学类别的相应所检索频谱进行比较,其中已经从如由频谱块42生成的带通式音频信号获得音频信号的所述所识别部分。

在一些示例中,比较块50可将音频信号的所识别部分的至少一个频带中的功率水平与音频信号的预期频谱的至少一个对应频带中的功率水平进行比较。在该示例中,音频信号的所识别部分与有关对应测试声学类别的相应所检索信息之间的差异的度量值可包括功率的差异。

如上面所解释的,当与有关对应测试声学类别的相应所检索信息在特定频率下(或在特定频率范围内)的功率水平进行比较时,音频信号的所识别部分在该频率下(或在该频率范围内)的功率水平的差异可指示音频信号可能是由重放攻击引起的。

在一些示例中,比较块可以比较可假设用于重放攻击的扬声器在其中将具有较差的频率响应的频带中的功率水平。比较块50可将音频信号的所识别部分在5kHz至20kHz的范围内的频带中的功率水平与音频信号的预期频谱在5kHz至20kHz频率范围内的同一频带中的功率水平进行比较。另外或替代地,比较块50可将音频信号的所识别部分在20Hz至200Hz范围内的频带中的功率水平与音频信号的预期频谱在20Hz至200Hz范围内的同一频带中的功率水平进行比较。另外或替代地,比较块50可将音频信号的所识别部分在20kHz至30kHz范围内的频带中的功率水平与音频信号的预期频谱在20kHz至30kHz频率范围内的同一频带中的功率水平进行比较。

因此,在图5的方法的步骤68中,将音频信号中识别了言语内容的部分的频谱与相应的预期频谱进行比较。

可将如由比较块50生成的比较传输到判定块52。判定块52可确定音频信号中识别了言语内容的部分的频谱与相应的预期频谱之间的差异的度量值是否超出阈值水平。如果差异的度量值超出阈值水平,则判定块52可确定音频信号可能是由重放攻击引起的。

因此,在图5的方法的步骤69中,如果音频信号中识别了言语内容的部分的频谱与相应的预期频谱之间的差异的度量值超出阈值水平,则确定音频信号可能是由重放攻击引起的。

在一些情形下,可能合乎需要的是在该方法的步骤66中检索关于表示特定测试声学类别的预期频谱的信息,其中该信息特定于个别说话者(而不是获得表示由多个说话者讲出的测试声学类别的频谱)。

因此,在一些实施方案中,系统可对接收到的音频信号执行说话者识别过程。在一些示例中,在从数据库48中检索关于音频信号的预期频谱的信息之前,接收到的表示言语的音频信号可能会经历说话者识别过程。说话者识别过程可在图5的方法的前两个步骤之前或与之同时地执行。本领域技术人员将很好地理解说话者识别方法。

在识别出产生了接收到的表示言语的音频信号的说话者之后,也可将获得的说话者身份传递到数据库48。

在一些示例中,对应于存储在数据库48中的每个声学类别的预期频谱将表示如由一大群说话者讲出的声学类别。然而,在一些示例中,对应于存储在数据库48中的每个声学类别的预期频谱将表示如由特定个体讲出的声学类别。可能已经通过说话者识别过程识别出所述特定个体。

因此,对于每个测试声学类别,数据库48可检索关于通过所述说话者识别过程识别的说话者的音频信号的预期频谱的信息。

例如,系统中可能有多个已登记用户,并且这多个已登记用户中的每个用户可能具有与其存储在数据库48内的言语相对应的模型。对于每个已登记用户,用户的对应模型可包括关于该用户的多个测试声学类别的音频信号的预期频谱的信息。

在系统中有两个已登记用户的示例中,针对存储在数据库48中的每个测试声学类别可能存在两个预期频谱的信息,其中第一预期频谱对应于第一已登记用户,而第二已登记用户对应于第二已登记用户。说话者识别过程可识别两个已登记用户中的哪个用户产生了接收到的表示言语的音频信号。然后,说话者的身份可被数据库48用来检索关于对应于所识别的说话者的预期频谱(针对音频信号中的每个所识别的测试声学类别)的信息。然后,可将该“说话者特定的”所检索信息传递到比较块50并由比较块50以与上述基本上相同的方式使用。由于检索到的关于音频信号的预期频谱的信息将是“说话者特定的”,所以音频信号的所识别部分与有关对应测试声学类别的相应所检索信息之间的比较可能会更加准确(因为要比较的两条信息都是特定于该说话者的)。因此,音频信号可能是由重放攻击引起的这一确定可能会因此而更加准确。

图7、图8和图9示出了在音频信号可能是由重放攻击引起的若干情形下音频信号的所识别部分与有关对应的测试声学类别的相应所检索信息之间的比较的示例。在以下示例中,音频信号的表示至少一个测试声学类别的所识别部分是功率谱,并且有关对应的测试声学类别的相应所检索信息也是功率谱。

在图7、图8和图9中,接收到的信号的所识别频谱由实线指示,而已经从数据库中检索到的预期频谱由虚线指示。

在图7中,能够看出,在特定的第一频率(如由f1所指示)下,所识别频谱82和预期频谱84具有基本上类似的功率水平(如由P1所指示)。随着频率增加,预期频谱和所识别频谱将继续具有基本上类似的功率水平,直到达到特定的第二频率(如由f2所指示)为止。在该点处,预期频谱84保持在第一功率水平(如由P2所指示),而所识别频谱82的功率水平滚降至不同的第二功率水平(如由P3所指示)。如在所识别频谱82中见到但在有关该特定声学类别的预期频谱中未见到的在较高频率下功率水平的这种滚降可指示接收到的表示言语的音频信号可能是由重放攻击引起的。

例如,对于高于上限截止频率的频率,如果功率水平以相对恒定的速率(诸如6dB/倍频程)降低,则可确定接收到的表示言语的音频信号可能是由重放攻击引起的。上限截止频率可能在15kHz至25kHz的范围内。在图8中,能够看出,在特定的第一频率(如由f1所指示)下,所识别频谱86和预期频谱88具有显著不同的功率水平。所识别频谱86在f1下的功率水平(如由P1所指示)显著低于预期频谱88在f1下的功率水平(如由P3所指示)。随着频率增加,所识别频谱的功率水平逐渐增加,直到达到第二特定频率(如由f2所指示)为止。在频率f2下,所识别频谱86和预期频谱88的功率水平(如由P2所指示)基本上相同。如在所识别频谱中见到但在预期频谱中未见到的具有不断降低的频率的功率水平的这种“滚降”可指示接收到的表示言语的音频信号可能是由重放攻击引起的。

例如,对于低于下限截止频率的频率,如果功率水平以相对恒定的速率(诸如6dB/倍频程)降低,则可确定接收到的表示言语的音频信号可能是由重放攻击引起的。下限截止频率可能在20Hz至200Hz的范围内。

在图9中,能够看出,在低于特定的第一频率的频率(如由f1所指示)下,所识别频谱90和预期频谱92的功率水平基本上是相同的(如由P1所指示)。随着频率增加,所识别频谱90的功率水平开始偏离预期频谱92的功率水平。在该示例中,预期频谱的功率水平开始随着频率的增加而以大大快于所识别频谱的功率水平的速率降低。在第二特定频率(如由f2所指示)下,所识别频谱90的功率水平处于比预期频谱92的功率水平(如由P2所指示)低得多的功率水平(如由P3所指示)。所识别频谱与预期频谱之间在特定频率下的绝对功率水平的这种差异可指示接收到的表示言语的音频信号可能是由重放攻击引起的。在一些示例中,绝对功率水平的超出阈值水平的差异可指示重放攻击。例如,阈值水平可为1dB。因此,通过将来自已知声学类别的信号与特定于该相同声学类别的预期频谱进行比较,这允许以更可靠的方式识别可能由重放攻击引起的信号。

因此,如上面所提及的,一种检测诸如智能电话等录制和回放设备的局限性并因此检测何时检测到的言语信号可能是由回放攻击引起的方法是检查以超声波频率存在的能量的量。然而,以超声波频率存在的能量的预期量将取决于存在于言语中的音素。

因此,本文公开的一些方法涉及识别存在于音频信号的至少一部分中的言语内容,并且特别地涉及识别存在于言语中的一个或多个特定音素,并且然后获得关于音频信号的这些部分的频谱的信息。

这种方法的一个示例是,测量在包含摩擦音音素的每个帧期间(或更一般地,在包含清音言语的每个帧期间)以超声波频率存在的能量的平均量,并将该平均量与在包含浊音言语的每个帧期间以超声波频率存在的能量的平均量进行比较。

因此,

其中:

x1是言语现场感的度量值,

Eu(f)是在包含摩擦音音素的帧期间(或更一般地,在包含清音言语的帧期间)以超声波频率存在的能量的量的度量值,并且

Eu(v)是在包含浊音言语的帧期间以超声波频率存在的能量的量的度量值。

因此,可计算x1的值,并将该值与合适的阈值进行比较,以利用所需的置信度确定是否应将言语信号视为是由重放攻击引起的。

这种方法的另一示例是测量在包含摩擦音音素的每个帧期间(或更一般地,在包含清音言语的每个帧期间)存在于多个不同超声波频带中的能量的平均量,并将这些平均量与在包含浊音言语的帧期间存在于这些超声波频带中的能量的量进行比较。

因此,

其中:

x2(b)是通过跨多个频带计算以下比率而获得的值集合,

Eb(f)是在包含摩擦音音素的帧期间(或更一般地,在包含清音言语的帧期间)存在于几个超声波频带中的一个频带中的能量的量的度量值,并且

Eb(v)是在包含浊音言语的帧期间存在于几个超声波频带中的一个频带中的能量的量的度量值。

因此,可针对几个超声波频带中的每个频带计算的值,并且可将这些值组合以形成值集合x2(b),然后可将该值集合用作现场感的度量值。

机器学习方法可能适用于确定计算出的值x2(b)是否指示现场言语,或者是否应将言语信号视为是由重放攻击引起的。

这种方法的另一示例是,测量在包含摩擦音音素的每个帧期间(或更一般地,在包含清音言语的每个帧期间)以超声波频率存在的能量的平均量,并将该平均量与在相同的帧期间存在于可听频带中的能量的量进行比较。

因此,

其中:

x3是言语现场感的度量值,

Eu(f)是在包含摩擦音音素的帧期间(或更具体地,在包含齿擦音音素的帧期间,或者更一般地,在包含清音言语的帧期间)以超声波频率存在的能量的量的度量值,并且

Ea(f)是在相同的帧期间存在于可听频带中的能量的量的度量值。

因此,可计算x3的值,并将该值与合适的阈值进行比较,以利用所需的置信度确定是否应将言语信号视为是由重放攻击引起的。

这种方法的另一示例是,测量在包含摩擦音音素的每个帧期间(或更一般地,在包含清音言语的每个帧期间)以超声波频率存在的能量的平均量,并将该平均量与在相同的帧期间存在于可听频带中的能量的量进行比较,并且还测量在包含浊音言语的帧期间以超声波频率存在的能量的量,并将该量与在相同的帧期间存在于可听频带中的能量的量进行比较,并且然后取两个比率的比率。

因此,

其中:

x4是言语现场感的度量值,

Eu(f)是在包含摩擦音音素的帧期间(或者更一般地,在包含清音言语的帧期间)以超声波频率存在的能量的量的度量值,

Ea(f)是在包含摩擦音音素的帧期间(或者更一般地,在包含清音言语的帧期间)存在于可听频带中的能量的量的度量值,

Eu(v)是在包含浊音言语的帧期间以超声波频率存在的能量的量的度量值,并且

Ea(v)是在包含浊音言语的帧期间存在于可听频带中的能量的量的度量值。

因此,可计算x4的值,并且可将该值与合适的阈值进行比较,以利用所需的置信度确定是否应将言语信号视为是由重放攻击引起的。

这种方法的另一示例是测量在包含摩擦音音素的每个帧期间(或更一般地,在包含清音言语的每个帧期间)以超声波频率存在的能量的平均量,并将该平均量与存在于不包含言语的帧中的能量的量进行比较,所述能量的量可被视为是超声波本底噪声。

因此,

其中:

x5是言语现场感的度量值,

Eu(f)是在包含摩擦音音素的帧期间(或者更一般地,在包含清音言语的帧期间)以超声波频率存在的能量的量的度量值,并且

Eu(n)是存在于非言语帧中的能量的量的度量值。

因此,可计算x5的值,并将该值与合适的阈值进行比较,以利用所需的置信度确定是否应将言语信号视为是由重放攻击引起的。

本领域技术人员将认识到,上述装置和方法的一些方面可体现为处理器控制代码,例如非易失性载体介质(诸如,磁盘、CD-ROM或DVD-ROM)、诸如只读存储器的经编程存储器(固件)或数据载体(诸如,光学或电气信号载体)上的处理器控制代码。对于许多应用,本发明的实施方案将在DSP(数字信号处理器)、ASIC(专用集成电路)或FPGA(现场可编程门阵列)上实现。因此,该代码可包括常规程序代码或微代码,或者例如用于设置或控制ASIC或FPGA的代码。该代码还可包括用于动态地配置可重配置装置(诸如,可重编程逻辑门阵列)的代码。类似地,该代码可包括用于诸如Verilog TM或VHDL(超高速集成电路硬件描述语言)等硬件描述语言的代码。如本领域技术人员将了解的,代码可分布在彼此通信的多个联接的部件之间。在适当的时候,还可使用在现场(可重新)编程的模拟阵列或类似设备上运行的代码来实现实施方案,以便配置模拟硬件。

应当注意,如本文所使用的,术语“模块”应用于指代可至少部分地由诸如自定义的电路等专用硬件部件来实现和/或至少部分地由一个或多个软件处理器或在合适的通用处理器等上运行的适当代码来实现的功能单元或块。模块本身可包括其他模块或功能单元。模块可由不必同位的多个部件或子模块来提供,并且可提供在不同的集成电路上和/或在不同的处理器上运行。

实施方案可在主机设备、尤其是诸如移动计算设备等便携式和/或电池供电的主机设备中实现,所述移动计算设备例如膝上型计算机或平板计算机、游戏控制台、远程控制设备、家庭自动化控制器或家用电器,包括家用温度或照明控制系统、玩具、诸如机器人等机器、音频播放器、视频播放器或移动电话(例如智能电话)。

应当注意,上面提及的实施方案说明而不是限制本发明,并且本领域技术人员将能够设计许多替代实施方案而不脱离所附权利要求的范围。单词“包括”不排除权利要求中列出的要素或步骤之外的要素或步骤的存在,“一”或“一个”不排除多个,并且单个特征或其他单元可满足权利要求中阐述的几个单元的功能。权利要求中的任何附图标记或标签均不应被解释为限制其范围。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:多声道音频编码

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!