用于语音活动性检测的方法和设备与流程

文档序号:11289140阅读:215来源:国知局
用于语音活动性检测的方法和设备与流程

分案说明

本申请是申请日为2013年8月30日,申请号为201380044957.x,题为“用于语音活动性检测的方法和设备”的中国专利申请的分案申请。

本公开大体上涉及用于语音活动性检测(vad)的方法和设备。



背景技术:

在用于对话话音的话音编码系统中,通常使用非连续发送(dtx)来增加编码的效率。原因是对话话音包含了大量被嵌入话音中的停顿,例如当一个人在说话而另一个人在聆听时。因此在dtx的情况下,话音编码器平均仅在大约50%的时间上是活动的,且可以使用舒适噪声对其余时间进行编码。具有该特征的一些示例编解码器是自适应多速率窄带(amrnb)和增强型可变速率编解码器(evrc)。amrnb使用dtx,而evrc使用可变比特率(vbr),其中速率确定算法(rda)基于vad判决来决定针对每个帧使用哪个数据速率。在dtx操作中,使用编解码器对话音活动帧进行编码,而用舒适噪声替换活动区域之间的帧。在编码器中对舒适噪声参数进行估计,并使用降低的帧速率和比用于活动话音的比特速率更低的比特率将其发送到解码器。

对于高质量dtx操作,即,在没有劣化的话音质量的情况下,在输入信号中检测话音的周期是重要的。这一般是通过语音活动性检测器(vad)(用于dtx和rda两者)来实现的。图1示出了一般vad100的示例的整体框图,其获取根据实现通常被划分为5至30ms的数据帧的输入信号111作为输入,并产生vad判决作为输出(一般对于每个帧有一个判决)。即,vad判决是针对每帧的该帧是包含话音还是噪声的判决。

在本示例中,初步判决(vad_prim113)由初级语音检测器101作出,并且在本示例中基本上仅是针对当前帧的特征和背景特征(一般根据先前输入帧进行估计)的比较,其中大于阈值的差产生活动初级判决。在其他示例中,初步判决可以以其他方式实现,以下进一步简单地讨论其他方式中的一些。初级语音检测器的内部操作的细节对本公开不是特别重要,并且产生初步判决的任意初级语音检测器在本上下文中将是有用的。在本示例中,尾响添加(hangoveraddition)块102用于基于过去初级判决来扩展初级判决,以形成最终判决vad_flag115。使用尾响的原因主要是为了减少/消除“讲到一半”(midspeech)的风险以及“突发语音”(speechburst)的后端截断(backendclipping)。然而,该尾响也可以用于避免音乐段落的截断。

为了dtx,还可以添加附加尾响。在图1中,已经由可选的输出vad_flag_dtx117对其进行表示。应当注意的是,当输出要用于dtx时,仅存在一个输出vad_flag而尾响逻辑使用其他设置并非罕见。在本说明书中,为了简化描述,两个最终判决输出vad_flag115和vad_flag_dtx117在大多数实施例中是分离的。然而,基于备选尾响设置和一个单独输出的方案同样是可应用的。

根据vad判决是否用于dtx来使用不同最终判决输出或尾响设置存在两个主要原因。第一,从话音质量的角度看,当vad用于dtx时,存在对vad更高的要求。因此,希望确保在切换到舒适噪声之前话音已经结束。第二个动机是,附加尾响可以用于估计背景噪声的特征。例如,在amrnb中,在解码器中基于所使用的特定dtx切换,进行第一舒适噪声估计。

如上所述,存在可用于vad检测的多个不同特征。一个可能特征是仅查看帧能量,并将其与阈值进行比较以判决该帧是否包含话音。对于信噪比(snr)良好的条件但不针对低snr的情况,该方案具有相当好的表现。在低snr中,优选地使用其他度量,例如将话音与噪声信号的特性进行比较。对于实时实现,对vad功能的附加要求是计算复杂度,计算复杂度在标准编解码器中的子带snrvad的频率表示中得到反映。子带vad一般将不同子带的snr合并到与阈值进行比较以进行初级判决的公共度量。

vad100包括:提供特征子带能量的特征提取器106和提供自带能量估计的背景估计器105。对于每个帧,vad100计算特征。为了识别活动帧,将针对当前帧的特征与该特征对于背景信号“看起来”如何的估计进行比较。

尾响添加块102用于基于过去的初级判决来扩展来自初级vad的vad判决,以形成最终vad判决“vad_flag”,即还计入更早的vad判决。如上所述,使用尾响的原因主要是为了减少/消除“讲到一半”(midspeech)的风险以及“突发语音”(speechburst)的后端截断(backendclipping)。然而,该尾响还可以用于避免音乐段落的截断。操作控制器107可以根据输入信号的特性,调整对于初级检测器的阈值和尾响添加的长度。

还存在将具有不同特性的多个特征用于初级判决的已知解决方案。对于基于子带snr原理的vad,已经证明将非线性引入子带snr计算(有时称为重要性阈值)可以改进针对具有非平稳噪声(嘈杂声或办公室噪声)的条件的vad性能。然而,在这些情况下,一般存在用于尾响添加的一个初级判决(可以适配于输入信号条件)以形成最终判决。此外,许多vad具有用于静默检测的输入能量阈值,即对于足够低的输入电平,强制初级判决为不活动状态。

在公开的国际专利申请wo2008/143569a1中描述了重要性阈值用于创建双vad方案的一个示例。在此情况下,双vad用于改进背景噪声更新和音乐检测。然而,仅将激进的初级vad用于最终vad_flag判决。

在wo2008/143569a1中,将基于低通滤波的短期活动性的度量用于检测音乐的存在。该低通滤波度量提供缓慢改变量,适于发现更多或更少连续型声音(针对例如音乐是典型的)。然后可以将附加vad_music判决提供给尾响添加,使得能够以特定方式处理音乐声音。

存在用于生成多个初级vad判决的不同方式。最基本的将是使用与原始vad相同的特征但使用第二阈值来实现第二初级判决。另一选项是根据所估计的snr条件来切换vad,例如通过针对高snr条件使用能量,并针对中和低snr条件切换到子带snr操作。

在公开的国际专利申请wo2011/049516a1,公开了语音活动性检测器及其方法。该语音活动性检测器被配置为检测所接收的输入信号中的语音活动性。vad包括:组合逻辑,被配置为从vad的初级语音检测器接收指示初级vad判决的信号。组合逻辑还从外部vad接收指示来自外部vad的语音活动性判决的至少一个信号。处理器对所接收的信号中指示的语音活动性判决进行组合以生成修改的初级vad判决。将修改的初级vad判决发送到尾响添加单元。

尾响的一个问题是判决何时使用以及使用多少。从话音质量的角度看,尾响的添加基本上是肯定的。然而,不希望添加过多尾响,因为任何附加尾响将降低dtx方案的效率。因为不希望将尾响添加到每个短的活动突发,在考虑添加一些尾响以创建最终判决vad_flag之前,通常存在对来自初级检测器vad_prim的活动帧的最小数量的要求。然而,为了避免话音中的截断,希望保持该所要求的活动帧的数量尽量低。

对于非平稳噪声的情况,低数量的所要求的活动帧可以允许噪声自身产生将触发尾响添加的足够长的vad事件。因此为了避免过多的活动性,这种解决方案常不允许长尾响。

在对高效vad添加尾响之前的所要求数量的活动帧的另一问题是其检测话语中的短停顿的能力。在此情况下,存在已经正确检测的话语,但讲话者在继续之前作出轻微停顿。这使vad检测停顿并在添加任意尾响之前再次需要新时段的活动初级帧。这可以产生具有拖尾话音段的末端截断的令人不快的产物,例如以清辅音爆破结尾的话语。



技术实现要素:

本发明的实施例的目的是解决上述问题中的至少一个,并且该目的是通过根据所附独立权利要求的方法和设备并通过根据从属权利要求的实施例来实现的。

根据本发明的一个方面,提供了一种用于语音活动性检测(vad)的方法,所述方法包括:创建指示初级vad判决的信号;以及确定是否要执行初级vad判决的尾响添加。根据短期活动性测量和/或长期活动性测量,作出尾响添加的确定。然后,至少根据尾响添加确定,创建指示最终vad判决的信号。

在一个实施例中,根据n_st个最新的初级vad判决,推导短期活动性测量。

在一个实施例中,根据n_lt个最新的最终vad判决或根据n_lt个最新的初级vad判决,推导长期活动性测量。

在一个实施例中,创建两个版本的最终判决(第一最终vad判决和第二最终vad判决)。可以不使用短期活动性测量和/或长期活动性测量而作出第二最终vad判决,并且可以根据n_lt个最新的第二最终vad判决,推导长期活动性测量。

在一个实施例中,如果确定不执行尾响添加,则最终vad判决等于初级vad判决。在确定要执行尾响添加的情况下,最终vad判决等于语音活动性判决,指示活动帧。

根据本发明的另一方面,提供了一种用于语音活动性检测的设备。所述设备包括:输入部、初级语音检测器装置和尾响添加单元。所述输入部被配置为:接收输入信号。所述初级语音检测器装置连接到所述输入部。所述初级语音检测器装置被配置为:检测所接收的输入信号中的语音活动性,并创建指示与所接收的输入信号相关联的初级vad判决的信号。所述尾响添加单元连接到所述初级语音检测器装置。所述尾响添加单元被配置为:确定是否要执行所述初级vad判决的尾响添加,并且至少部分根据尾响添加确定,创建指示最终vad判决的信号。所述设备还包括:短期活动性估计器和/或长期活动性估计器。所述短期活动性估计器连接到所述尾响添加单元的输入。所述长期活动性估计器连接到所述尾响添加单元的输出。所述尾响添加单元连接到所述短期活动性估计器和/或所述长期活动性估计器的输出。所述尾响添加单元还被配置为:根据所述短期活动性测量和/或所述长期活动性测量来执行所述尾响确定。

在一个实施例中,所述短期活动性估计器被配置为:根据n_st个最新的初级vad判决来推导短期活动性测量。

在一个实施例中,所述长期活动性估计器被配置为:根据n_lt个最新的最终vad判决或根据n_lt个最新的初级vad判决,推导长期活动性测量。

在一个实施例中,提供了一种设备。该实施例基于处理器(例如微处理器),该处理器执行:用于创建指示初级vad判决的信号的软件组件;用于确定是否要执行初级vad判决的尾响添加的软件组件;以及用于至少部分根据尾响添加确定,创建指示最终vad判决的信号的软件组件。在该实施例中,处理器执行:用于根据n_st个最新的初级vad判决来推导短期活动性测量的软件组件;和/或用于根据n_lt个最新的最终vad判决来推导长期活动性测量的软件组件。这些软件组件存储在存储器中。

根据本发明的另一方面,提供了一种计算机程序。所述计算机程序包括计算机可读代码单元,当所述计算机可读代码单元在设备上运行时,使所述设备:创建指示初级vad判决的信号;基于短期活动性测量和长期活动性测量中的至少一项,确定是否要执行初级vad判决的尾响添加;以及至少部分根据尾响添加确定,创建指示最终vad判决的信号。

根据本发明的另一方面,提供了一种计算机程序产品。所述计算机程序产品包括计算机可读介质和存储在所述计算机可读介质上的计算机程序,所述计算机程序用于:创建指示初级vad判决的信号;基于短期活动性测量和长期活动性测量中的至少一项,确定是否要执行初级vad判决的尾响添加;以及至少部分根据尾响添加确定,创建指示最终vad判决的信号。

附图说明

为了更加完整地理解本发明的示例实施例,现结合附图参考以下说明书,在附图中:

图1示出了一般的具有背景估计的vad的示例。

图2示出了根据本发明的vad的示例性实施例。

图3是示出了根据本发明的实施例的示例性vad方法的流程图。

图4a示出了根据本发明的vad的一个示例性实施例。

图4b示出了根据本发明的vad的另一示例性实施例。

图4c示出了根据本发明的vad的又一示例性实施例。

图5示出了根据本发明的vad的再一示例性实施例。

图6示出了具有尾响的vad的实施例。

图7示出了附加vad的实施例。

具体实施方式

现在已经找到一种减轻这些问题的方式:利用初级检测器度量和最终判决度量的时间特性。已经发现这些时间特性良好地适于调整附加尾响。优选地使用输入到尾响添加的初级判决和从尾响添加输出的最终判决中的至少一个来影响尾响添加,并且最优选地使用这两者。输入到尾响添加的初级判决可以是从初级语音检测器获得的原始初级判决,或其可以是这种原始初级判决的修改版本。可以基于从其他vad的输出来执行这种修改。

图2中示出了利用输入到尾响添加202的初级判决和从尾响添加202输出的最终判决的一般类型的vad200的一个实施例。

特征提取器206提供特征子带能量,背景估计器205提供子带能量估计,操作控制器207可以根据输入信号的特性来调整针对初级检测器的阈值和尾响添加的长度,并且初级语音检测器201作出如结合图1所描述的初步判决vad_prim213。

在本实施例中,语音活动检测器200还包括:短期活动性估计器203和/或长期活动性估计器204。使用特征(初级判决的短期活动性vad_prim213和最终判决的长期活动性vad_flag215)来捕获时间特性。然后,使用这些度量来调整尾响添加,以通过创建替换的最终判决vad_flag_dtx217来改进用在dtx中的vad性能。

这里,在这种情况下,通过对最新的n_st个初级判决vad_prim213的存储器中活动帧的数量进行计数来测量短期活动性。类似地,通过对最新的n_lt个帧中最终判决vad_flag215中的活动帧的数量进行计数来测量长期活动性。n_lt大于n_st(优选地远大于)。然后使用这些度量来创建替换的最终判决vad_flag_dtx217。使用这些度量的优点是其简化了尾响的调谐,因为更容易仅在活动性已高的时刻添加尾响。

高短期活动性指示活动突发的开始、中间或末尾。乍一看,该度量可能看上去与如上所述的仅要求多个连续活动帧的常用方式类似。然而,主要差异是:当非活动性判决出现时,不重设短期活动性。取而代之地,其具有在帧最终被从存储器中丢弃之前针对多达n_st个帧记忆活动帧的存储器。因此,非活动帧将仅在一定程度上降低平均短期活动性。对于足够高的短期活动性,添加若干尾响帧将是安全的,因为短期活动性已高,并且附加尾响将仅对整个活动性具有较小影响。分散的非活动性帧将不足以降低短期活动性以致干扰这种尾响操作。

分散的非活动性帧可以对应于话语中间的短停顿,或可以是例如由短序列的清辅音话音引起的错误的非活动性检测。通过以上述方式利用短期活动性,可以在这些情形期间保持尾响添加。

类似地,高长期活动性指示话音突发已经活动了一段时间。如果长期活动性高,因此具有大概率可能添加若干附加尾响帧,而对整个活动性仍仅具有较小影响。

在一个实施例中,将短期活动性和长期活动性分别与相应的预定阈值进行比较。如果达到各自的阈值,则添加相应的预定数量的尾响帧。

因为长期活动性依赖话音活动性的实际末尾相对缓慢地反应,因此存在在话音突发的末尾之后的相对较长的时间利用大量添加的尾响帧的风险。为此,还可以使用较低的短期活动性作为话音突发末尾的指示。因此可以期望在一个实施例中如果短期活动性落到预定阈值以下,则限制附加尾响的量。换言之,足够低的短期活动性可以优先于如同时的高长期活动性所指示的尾响帧的添加。

以下,上述实施例在大多数情况下被描述为复杂度增加较小的对现有方案的修改。然而,还可以涉及完全新的vad,该vad使用以上度量来提供更可靠的vad判决。

在图3中示意性的示出的一个实施例中,用于检测所接收的输入信号中的语音活动性的语音活动性检测器中的方法包括:创建310指示与所接收的输入信号相关联的初级vad判决(优选地通过分析所接收的输入信号的特性)的信号。确定320是否要执行初级vad判决的尾响添加。创建330指示最终vad判决的信号。如果确定不执行尾响添加,则最终vad判决等于初级vad判决。如果确定要执行尾响添加,则最终vad判决等于语音活动性判决。因为添加了尾响,则语音活动性判决被设为指示活动帧(即包含话音而不是包含噪声的帧)。根据n_st个最新的初级vad判决340来推导短期活动性测量,和/或根据n_lt个最新的最终vad判决来推导342长期活动性测量。根据短期活动性测量和/或长期活动性测量,作出是否要执行尾响添加的确定。即使图3被示出为单个事件流程,实际系统将一帧接一帧地进行处理。虚线箭头指示取决于短期活动性测量和/或长期活动性测量对于后续帧是有效的。

应当理解的是,图3未示出信号流程,而是要根据本发明的实施例执行的方法步骤。即,创建最终vad判决330可以包括:基于短期活动性测量和/或长期活动性测量,创建替换的最终判决(例如vad_flag_dtx217)。然而,替换的最终判决不用作对长期活动性估计器204的输入,因为其将引入活动性的反馈环路(由于调整的尾响添加修改了要测量的特征)。因此,创建最终vad判决330还可以包括:基于传统的尾响技术和/或短期活动性测量而不是长期活动性测量来创建最终判决(例如vad_flag215),最终判决然后用作针对长期活动性估计器204的输入,如图2所示。

在图4a中示意性地示出的一个实施例中,语音活动性检测器400包括:输入部412、初级语音检测器装置401和尾响添加单元402。输入部被配置为:接收输入信号。初级语音检测器装置401连接到输入部412。初级语音检测器装置401被配置为:检测所接收的输入信号中的语音活动性,并创建指示与所接收的输入信号相关联的初级vad判决的信号。尾响添加单元402连接到初级语音检测器装置401。尾响添加单元402被配置为:确定是否要执行所述初级vad判决的尾响添加,并创建指示最终vad判决的信号。如果确定不执行尾响添加,则最终vad判决等于初级vad判决。如果确定要执行尾响添加,则最终vad判决等于语音活动性判决。语音活动检测器400还包括:短期活动性估计器403和/或长期活动性估计器404。短期活动性估计器403连接到尾响添加单元402的输入。短期活动性估计器403被配置为:根据n_st个最新的初级vad判决来推导短期活动性测量。长期活动性估计器404连接到尾响添加单元402的输出。长期活动性估计器404被配置为:根据n_lt个最新的最终vad判决来推导长期活动性测量。尾响添加单元402连接到短期活动性估计器403和/或长期活动性估计器404的输出。尾响添加单元402还被配置为:根据短期活动性测量和/或长期活动性测量来执行尾响确定。然后可以使用根据短期活动性测量和/或长期活动性测量的尾响确定来调整尾响添加,以通过创建替换的最终判决来改进用在dtx中的vad性能。

一般在语音或声音编解码器中提供语音活动检测器。一般在例如电信网络中的不同端设备中提供这些编解码器。非限制性示例是执行声音的检测或记录的电话、计算机等。

在一个实施例中,除了不使用短期活动性测量或长期活动性测量作出的最终vad判决之外,给出最终vad判决作为附加标记410(一般作为用于dtx的最终vad判决),如图4b所示。然后,不同单元或功能可以并行地使用两个版本的最终判决。在另一备选实施例中,可以根据要使用vad判决的上下文,开启和关闭短期活动性测量和长期活动性测量的使用。

在另一实施例中,如果最终vad判决不可用或不适于作出任何长期活动性分析,则可以代之以对初级vad判决执行长期活动分析。在这种实施例中,长期活动性估计器404取而代之地连接到尾响添加单元402的输入(如图4c所示),并且根据n_lt个最新的初级vad判决推导长期活动性测量。

在又一实施例中,可以对与要执行尾响添加调整的初级vad判决和/或最终vad判决不同的初级vad判决和/或最终vad判决执行短期活动性和长期活动性的估计。一个可能是让简单vad产生初级vad判决,并且简单尾响单元将其修改为最终vad判决。然后,可以对这些初级vad判决和/或最终vad判决的短期活动性行为和长期活动性行为进行分析。然而,可以使用另一vad设置(例如更复杂的vad设置)来提供感兴趣的初级vad判决用于尾响添加的调整。来自简单系统的所分析的活动性然后可以用于控制更精心设计的vad系统的尾响添加单元402的操作,给出可靠的最终vad判决。

在下文中,将参考图5描述语音活动检测器500的实施例的示例。该实施例基于处理器510(例如微处理器),处理器510执行:用于创建指示初级vad判决的信号的软件组件501、用于确定是否要执行初级vad判决的尾响添加的软件组件502、和用于创建指示最终vad判决的信号的软件组件503。在本实施例中,处理器510执行:用于根据n_st个最新的初级vad判决来推导短期活动性测量的软件组件504和/或用于根据n_lt个最新的最终vad判决来推导长期活动性测量的软件组件505。这些软件组件存储在存储器520中。处理器510通过系统总线515与存储器520进行通信。控制输入/输出(i/o)总线516的i/o控制器530接收音频信号,处理器510和存储器520连接到输入/输出(i/o)总线516。在本实施例中,由i/o控制器530接收的信号被存储到存储器520中,并在存储器520中由软件组件进行处理。软件组件501可以实现以上参考图3所描述的实施例中的步骤310的功能。软件组件502可以实现以上参考图3所描述的实施例中的步骤320的功能。软件组件503可以实现以上参考图3所描述的实施例中的步骤330的功能。软件组件504可以实现以上参考图3所描述的实施例中的步骤340的功能。软件组件505可以实现以上参考图3所描述的实施例中的步骤342的功能。

i/o单元530可以经由i/o总线516与处理器510和/或存储器520互联,以能够实现相关数据(例如输入信号和/或最终vad判决)的输入和/或输出。

在一个实施例中,如上所述使用初级判决和最终判决的存储器中活动帧的计数器。在备选实施例中,还可以使用取决于存储器中活动帧的生存期的权重。这对于短期初级活动性和长期最终判决活动性两者均是可能的。在其他实施例中,可以取决于其他输入信号特性(例如估计的话音电平、噪声电平和/或snr),使用不同的附加尾响。

在其他实施例中,可能有兴趣来使用多于两个时间特性以更好地定位活动话音突发的开始、中间和末尾。

在其他实施例中,上述尾响判决原理还可以与其他vad改进方案(例如wo2011/049516中介绍的多vad组合器的原理)进行组合。在这种情况下,可以使用修改的初级vad判决作为向短期活动性估计器和尾响添加块的输入。于是,多vad组合器可以被认为是初级语音检测器装置的一部分。

类似地,用于估计背景的不同附加方案可以有利地和容易地与本发明构思集成。

根据3gpp2标准的ag.718编解码可以用作以下所介绍的实施例的基础。有关部分的详细描述可以在例如公开的国际专利申请wo2009/000073a1中找到。

图6示出了wo2009/000073a1的声音通信系统的框图,该声音通信系统包括:预处理器601、谱分析器602、声音活动性检测器603、噪声估计器604、可选噪声消减器605、lp分析器和音高跟踪器606、噪声能量估计更新模块607、信号分类器608和声音编码器609。在声音活动性检测器603中使用根据在先前帧中计算的噪声能量估计来执行声音活动性检测(信号分类的第一阶段)。声音活动性检测器603的输出是二进制变量,该输出进一步被编码器609使用并确定当前帧被编码为活动的还是非活动的。

模块“基于snr的sad”603是可以实现本公开的实施例的模块。当前,所公开的实施例仅涵盖宽带信号链(以16khz采样),但类似的修改还将对窄带信号链(以8khz或任意其他采样速率采样)有益。

在基于wo2011/049516a1中介绍的原理的一个实施例中,来自wo2009/000073a1的原始vad(vad1)用作第一vad,生成信号localvad和vad_flag。在本公开中,该localvad用作对其进行短期活动性估计的vad_prim213。

附加vad(vad2)还基于wo2009/000073a1,但是通过使用针对背景噪声估计和基于snr的sad的修改来实现。图7示出了针对第二vad的框图。框图示出了:预处理器701、谱分析器702、“基于snr的sad”模块703、噪声估计器704、可选噪声消减器705、lp分析器和音高跟踪器706、噪声能量估计更新模块707、信号分类器708和声音编码器709。

框图还示出了针对vad2的初级vad判决和最终vad判决(分别是localvad_he710和vad_flag_he711)。在vad1的初级语音检测器中使用localvad_he710和vad_flag_he711以产生localvad。

对于本实施例,将以下变量添加到编码器状态(encoder_state):

在初始化期间,应当将所有这些状态设为零(例如这可以在例程wb_vad_init()中完成)。

此外,对特征短期活动性和长期活动性进行更新,这应当在针对每帧的处理的末尾处完成。这可以通过在合适的源文件中添加以下代码来实现:

这里,变量st引用编码器中所分配的encoder_state变量。因此,对于以下帧,状态变量st->vad_flag_cnt_50将包含长期最终判决活动性,其形式为最新的50帧内活动的帧的数量,并且状态变量st->vad_flag_cnt_16将包含长期最终判决活动性,其形式为最新的16帧内初级活动帧的数量。短期活动性的存储器的长度(16帧)和长期活动性的存储器的长度(50帧)是在本特定实施例中使用的值。这些数是可以在可操作实现中使用的典型值,但绝对值并不重要。因此,可以在不同类型的实现中对这些数进行适配,例如作为尾响性质的调谐。一般地,长期活动性的存储器的长度比短期活动性的存储器的长度长,并且优选地长很多(如在上述示例中那样)。在典型的实施例中,长期活动性的存储器的长度和短期活动性的存储器的长度之间的比是在2.5至5的范围内。同样,该比例可以针对预期不同类型的声音频繁地出现的不同类型的实现进行适配。

可以使用以下代码修改来实现用于决定应当添加多少尾响hangover_short的代码,其中:

lp_snr是低通滤波的snr估计

th_clean是用于判决输入是否是纯净话音的snr阈值

thr1是所计算的针对初级检测器的阈值

以下,添加了适配用于dtx的尾响hangover_short_dtx所需的代码。

同样,在这里存在多个指定的数,这些数被认为是设计变量。因此,这些数还可以在不同类型的实现中适配,例如作为尾响性质的调谐。

利用以下修改可以完成用于实现实际尾响的代码:

修改如下,以包括要用于dtx的新vad判决vad_flag_dtx。使用以上定义的dtx尾响适配hangover_short_dtx。添加以下变量:

使用特征(初级判决的短期活动性和最终判决的长期活动性),能够更具体地在话音突发内和在话音突发的末尾添加额外尾响,并从而减少话音截断量,对于高效vad尤其如此。

最终判决的长期活动性还可以将尾响添加到更长话语之后的短突发,这降低了清辅音爆破后端截断的风险。

使用活动性特征,变得能够在已经具有高话音活动性的段上扩展尾响。这允许更长的扩展,而没有整体活动性将大幅增加的风险。

利用如以上进一步介绍的附加特征,进一步的精细化是可能的,这使得即使在更受限的条件(例如低话音电平)下,尾响扩展也是可能的。

利用更激进的sad,可以通过添加一些扩展尾响来更容易移除任何话音截断,特别是当其可以更具体地针对已高活动性段来完成时。该方案可以比试图重新调谐基于若干sad的并行工作的方案更容易调谐。

上述实施例应理解为本发明构思的一些示意性示例。本领域技术人员将理解,在不背离本实施例的总体范围的前提下,可以对实施例作出各种修改、合并和改变。具体地,在技术上可行的情况下,可以将不同实施例中的不同部分方案并入其他配置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1