时延估计方法、设备及存储介质与流程

文档序号:29214733发布日期:2022-03-12 10:51阅读:139来源:国知局
时延估计方法、设备及存储介质与流程

1.本技术属于计算机技术领域,具体涉及一种时延估计方法、设备及存储介质。


背景技术:

2.时延估计是指对不同时刻接收到的同源信号之间的时间差进行估计。时延估计广泛应用于回声消除场景、和声源定位场景等场景中。
3.传统的时延估计方法,包括:获取当前帧语音信号和待对齐语音信号;确定所述待对齐语音信号的信号搜索范围,所述信号搜索范围包括至少一帧待对齐语音信号;计算当前帧语音信号与至少一帧待对齐语音信号之间的相关值;将相关值的峰值所对应的一帧待对齐语音信号与当前帧语音信号之间的时间差,确定为时延估计值。
4.然而,在实际使用环境中,由于噪声(不限于平稳的背景噪声,还包括混响声以及会议过程其他人的说话声等)的存在,使得相关值的峰值不明显,时延估计的结果会受伪峰的影响,从而导致时延估计结果不准的问题。


技术实现要素:

5.本技术提供了时延估计方法、设备及存储介质,可以解决在实际使用环境中,由于噪声的存在,使得相关值的峰值不明显,时延估计的结果会受伪峰的影响,从而导致时延估计结果不准的问题。本技术提供如下技术方案:
6.第一方面,提供了一种时延估计方法,包括:获取当前帧信号和所述当前帧信号对应的参考信号;确定所述参考信号的信号搜索范围,得到所述信号搜索范围内的n帧目标参考信号,所述n为正整数;确定所述当前帧信号的第一语音活动状态和所述目标参考信号的第二语音活动状态;基于所述第一语音活动状态和所述第二语音活动状态确定所述当前帧信号的可信度;在所述可信度的取值大于可信度阈值的情况下,分别确定所述当前帧信号与所述至少一帧目标参考信号之间的相关值;使用所述相关值确定所述当前帧信号对应的时延估计值。
7.可选地,所述基于所述第一语音活动状态和所述第二语音活动状态确定所述当前帧信号的可信度,包括:在所述第一语音活动状态指示所述当前帧信号存在语音信号的情况下,基于上一次确定出的时延估计值,从所述n帧目标参考信号中确定预对齐参考信号、以及与所述预对齐参考信号之间的时间差小于或等于预设阈值的附近参考信号;其中,所述上一次确定出的时延估计值初始化为0;基于所述预对齐参考信号的第二语音活动状态和所述附近参考信号的第二语音活动状态,确定所述当前帧信号的可信度。
8.可选地,所述基于所述预对齐参考信号的第二语音活动状态和所述附近参考信号的第二语音活动状态,确定所述当前帧信号的可信度,包括:使用预设长度的汉宁窗对所述预对齐参考信号的第二语音活动状态进行加权,得到第一加权值;使用所述预设长度的汉宁窗对所述附近参考信号的第二语音活动状态进行加权,得到第二加权值;确定所述第一加权值与所述第二加权值的和,得到所述可信度;其中,所述预设长度基于所述预设阈值确
定。
9.可选地,所述使用所述相关值确定所述当前帧信号对应的时延估计值之后,还包括:从所述搜索范围内确定m个随机验证时延对应的验证参考信号,所述m为大于2的整数;计算所述当前帧信号与所述验证参考信号之间的相关值;确定与所述当前帧信号之间的相关值最大的两个验证参考信号所对应的目标随机验证时延,得到时延验证范围;所述时延验证范围的上限值为所述目标随机验证时延中的较大值,所述时延验证范围的下限值为所述目标随机验证时延中的较小值;使用所述时延验证范围对所述时延估计值进行验证。
10.可选地,所述使用所述时延验证范围对所述时延估计值进行验证,包括:在所述时延估计值位于所述时延验证范围内的情况下,验证所述时延估计值正确;在所述时延估计值未位于所述时延验证范围内的情况下,确定所述时延估计值对应的相关值是否大于所述目标随机验证时延对应的相关值;在所述时延估计值对应的相关值大于所述目标随机验证时延对应的相关值的情况下,验证所述时延估计值正确;在所述时延估计值对应的相关值小于所述目标随机验证时延对应的相关值的情况下,验证所述时延估计值错误,将所述目标随机验证时延对应的最大相关值确定为最终的时延估计值。
11.可选地,所述从所述搜索范围内确定m个随机验证时延对应的验证参考信号,包括:使用混沌映射方式生成所述m个随机验证时延;从所述搜索范围内提取与所述当前帧信号之间的时延为所述m个随机验证时延的验证参考信号。
12.可选地,所述分别确定所述当前帧信号与所述至少一帧目标参考信号之间的相关值,包括:对所述当前帧信号和所述目标参考信号按照语音信号分布频率分别进行带通加权;计算带通加权后的当前帧信号和带通加权后的目标参考信号之间的相关值。
13.可选地,所述信号搜索范围基于预设的最大时延估计值确定。
14.第二方面,提供一种电子设备,包括存储器、控制器以及存储在存储器上并可在控制器上运行的计算机程序,所述控制器执行所述计算机程序时实现上述时延估计方法的步骤。
15.第三方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现第一方面提供的时延估计方法。
16.本技术的有益效果至少包括:获取当前帧信号和当前帧信号对应的参考信号;确定参考信号的信号搜索范围,得到信号搜索范围内的n帧目标参考信号;确定当前帧信号的第一语音活动状态和目标参考信号的第二语音活动状态;基于第一语音活动状态和第二语音活动状态确定当前帧信号的可信度;在可信度的取值大于可信度阈值的情况下,分别确定当前帧信号与至少一帧目标参考信号之间的相关值;使用相关值确定当前帧信号对应的时延估计值。可以解决由于噪声的存在,使得相关值的峰值不明显,时延估计的结果会受伪峰的影响,从而导致时延估计结果不准的问题;通过基于当前帧信号的第一语音活动状态和目标参考信号的第二语音状态,确定当前帧信号的可信度,在可信度大于可信度阈值的情况下,再通过相关值确定时延估计值,可以提高时延估计的准确性。同时,在第一语音活动状态指示当前帧信号存在语音信号的情况下,再进行可信度计算,可以节省计算资源。
17.另外,通过上一次确定出的时延估计值来确定使用哪些参考信号来计算可信度,无需使用信号搜索范围内的所有参考信号的第二语音活动状态计算可信度,可以提高可信度的计算速度。
18.另外,通过使用汉宁窗对第二语音活动状态进行加权计算可信度,可以去除抖动,减弱语音检测存在的漏检和误检的现象带来的影响,提高可信度计算的准确性。
19.另外,通过在计算相关值时,对当前帧信号和目标参考信号按照语音信号分布频率分别进行带通加权;计算带通加权后的当前帧信号和带通加权后的目标参考信号之间的相关值;可以进一步避免噪声和其他频段上干扰声的影响,提高相关值计算的准确性。
20.另外,通过在搜索范围内确定m个随机验证时延对应的验证参考信号,计算当前帧信号与验证参考信号之间的相关值;确定与当前帧信号之间的相关值最大的两个验证参考信号所对应的目标随机验证时延,得到时延验证范围;使用时延验证范围对时延估计值进行验证;可以确定是否出现时延抖动现象,一旦出现延时抖动现象能快速确定时延范围并及时进行精细时延估计,既可以提高时延估计的准确性,也可以保证时延估计的速度。
21.另外,通过混沌映射方式生成m个随机验证时延,可以对全局范围进行监控,既避免了陷入局部峰值最优解,也能减少全局搜索的消耗,可以提高时延估计的准确性,也可以保证时延估计的速度,减少计算消耗。
22.另外,基于预设的最大时延估计值确定信号搜索范围,不需要对所有的参考信号进行语音检测,可以保证时延估计的速度。
附图说明
23.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本技术一个实施例提供的用于时延估计方法的流程图;
25.图2是本技术一个实施例提供的一种时延估计过程的示意图;
26.图3是本技术一个实施例提供的时延估计装置的框图;
27.图4是本技术一个实施例提供的电子设备的框图。
具体实施方式
28.下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
29.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
30.在本技术中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的,或者是针对部件本身在竖直、垂直或重力方向上而言的;同样地,为便于理解和描述,“内、外”是指相对于各部件本身的轮廓的内、外,但上述方位词并不用于限制本技术。
31.下面对本技术提供的时延估计方法进行详细介绍。
32.可选地,本技术中各个实施例的执行主体可以为电子设备,该电子设备可以为计
算机、手机、平板电脑、个人电脑、视频会议终端等终端,或者,也可以为服务器,本实施例不对电子设备的实现方式作限定。
33.可选地,本技术提供的时延估计方法的应用场景包括但不限于:
34.第一种:回声消除场景。此时,时延估计结果用于消除远端回声。
35.第二种:声源定位场景。此时,时延估计结果用于计算声源位置。
36.在实际实现时,时延估计方法的应用场景还可以是其它场景,本实施例不对时延估计方法的应用场景一一进行列举。
37.如图1所示,本技术的实施例提供一种时延估计方法,该方法至少包括以下几个步骤:
38.步骤101,获取当前帧信号和当前帧信号对应的参考信号。
39.示意性地,音频采集端采集本地音频和该本地音频对应的参考音频,其中,当前帧信号是对本地音频进行分帧、加窗和时频转换处理后得到的;参考信号是对参考音频进行分帧、加窗和时频转换处理后得到的。音频采集端可以是电子设备,或者是与电子设备通信相连的其它设备,本实施例不对音频采集端的实现方式作限定。
40.参考音频和本地音频为同一声源发出、且在不同采集时间采集到的音频数据。即,本实施例用于估计参考音频和本地音频之间的时延。
41.分帧是指将音频数据划分成长度相等的至少两个短段,每一个短段称为一帧。
42.由于音频信号通常需要转换至频域处理,而进行时频转换时要求输入的信号是平稳的。语音信号在宏观上是不平稳的,在微观上是平稳的,具有短时平稳性,因此,在时延估计的应用场景包括语音输出的情况下,考虑到语音的短时平稳性,对本地音频和参考音频分别进行分帧处理,包括:以预设帧移的进行分帧。即,相邻的两帧信号存在重叠部分。
43.可选地,相邻两帧的起始位置差被称为帧移,预设帧移可以为50%,或者小于50%的值,本实施例不对预设帧移的取值作限定。
44.加窗是指窗函数与原始的时域信号做乘积的过程。
45.由于时频转换要求输入的信号具有周期性,如果选取的当前帧信号不是周期信号,还需要对分帧后的本地语音信号和远端语音信号的进行加窗。对本地音频和参考音频分别进行加窗处理,包括:使用汉宁窗函数w0进行加窗处理。
46.汉宁窗函数通过公式为下式表示:
47.w0(n)=1/2[1+cos(2*pi*n/(n-1))],n∈[-(n-1)/2,(n-1)/2]
[0048]
其中,n为汉宁窗的长度,比如:n的值为1024,在实际实现时,n的值也可以为其它数值,本实施例不对n的值的实现方式作限定。
[0049]
加窗后的当前帧信号通过下式表示:
[0050]
x(n)=x(n)w0(n)
[0051]
加窗后的参考信号通过下式表示:
[0052]
d(n)=d(n)w0(n)
[0053]
由于加窗之后,语音信号中间部分被突出,两端被削弱,而本实施例中在分帧时通过重复取一段信号,可以减弱窗函数的影响,保证信息的完整性。
[0054]
时频转换处理是指将复杂的时间信号变换成以频率成分表示的结构形式。
[0055]
对本地音频和参考音频分别进行时频转换处理,包括:对加窗后的信号进行快速
傅里叶变换,得到频域信号。
[0056]
其中,参考音频的快速傅里叶变换通过下式表示:
[0057][0058]
其中,其中,n为汉宁窗的长度,l为当前帧,k为第l帧信号的频点,x(
·
)表示参考信号对应的时域信号。
[0059]
本地音频的快速傅里叶变换通过下式表示:
[0060][0061]
其中,n为汉宁窗的长度,l为当前帧,k为第l帧信号的频点,d(
·
)表示当前帧信号对应的时域信号。
[0062]
当前帧信号为本地音频中当前待进行时延估计的一帧频域信号,参考信号为参考音频中的各帧频域信号。
[0063]
步骤102,确定参考信号的信号搜索范围,得到信号搜索范围内的n帧目标参考信号,n为正整数。
[0064]
可选地,信号搜索范围基于预设的最大时延估计值确定。具体地,信号搜索范围中目标参考信号与参考信号之间的时延最大值大于或等于最大时延估计值。
[0065]
在其它实施例中,信号搜索范围也可以是全部的参考信号,本实施例例不对信号搜索范围的设置方式作限定。
[0066]
步骤103,确定当前帧信号的第一语音活动状态和目标参考信号的第二语音活动状态。
[0067]
可选地,电子设备通过语音活动检测算法(voice activity detection,vad)检测当前帧信号的第一语音活动状态和目标参考信号的第二语音活动状态。
[0068]
在一个示例中,在当前帧信号或者目标参考信号存在语音的情况下,第一语音活动状态和第二语音活动状态可以用1来表示;在当前帧或者目标参考信号不存在语音的情况下,第一语音活动状态和第二语音活动状态可以用0来表示。
[0069]
在得到目标参考信号的第二语音活动状态后,电子设备将第二语音活动状态存储至第一缓存队列queuevad。以信号搜索范围的上限值为最大时延估计值为例,第一缓存队列queuevad的长度为最大时延估计值maxdelay,且第一缓存队列queuevad中各个缓存位置的初始化取值为0。
[0070]
第一缓存队列queuevad通过下式表示:
[0071]
queuevad=[vad_x queueref(1:(maxdelay-1)]
[0072]
其中,vad_x用于表示目标参考信号的第二语音活动状态。
[0073]
另外,电子设备将n个目标参考信号存储至第二缓存队列queueref。以信号搜索范围的上限值为最大时延估计值maxdelay为例,此时,n的值为maxdelay,相应地,第二缓存队列queueref的长度为maxdelay*n/2,且第二缓存队列queueref中各个缓存位置的初始化取值为0。
[0074]
第二缓存队列queueref通过下式表示:
[0075]
queueref=[x(l,k)queuevad(1:(maxdelay-1)*n/2]
[0076]
其中,x(l,k)用于表示目标参考信号,l表示当前帧,k表示当前帧对应的目标参考信号的数据,maxdelay表示最大时延估计值,n为汉宁窗的长度。
[0077]
步骤104,基于第一语音活动状态和第二语音活动状态确定当前帧信号的可信度。
[0078]
可信度用于指示使用当前帧信号计算相关值的可信度。在可信度较低时,说明即使使用当前帧信号计算出相关值,该相关值可能也不够准确;此时,可以不使用相关度进行时延估计。
[0079]
可选地,基于第一语音活动状态和第二语音活动状态确定当前帧信号的可信度,包括以下几种情况:
[0080]
第一种,在第一语音活动状态为0的情况下,当前帧信号的可信度为0。
[0081]
在第一语音活动状态为0的情况下,则表示当前帧信号中不存在语音信号,此时,对当前帧信号进行时延估计没有意义,确定当前帧信号的可信度为0。
[0082]
第二种,在第一语音活动状态不为0的情况下,采用目标参考信号中的预对齐参考信号附近的语音状态表示当前帧信号的可信度。
[0083]
具体地,基于第一语音活动状态和第二语音活动状态确定当前帧信号的可信度,包括:在第一语音活动状态指示当前帧信号存在语音信号的情况下,基于上一次确定出的时延估计值,从n帧目标参考信号中确定预对齐参考信号、以及与预对齐参考信号之间的时间差小于或等于预设阈值的附近参考信号;基于预对齐参考信号的第二语音活动状态和附近参考信号的第二语音活动状态,确定当前帧信号的可信度。
[0084]
其中,上一次确定出的时延估计值初始化为0。
[0085]
预对齐参考信号为在n帧的目标参考信号中时延值为上一次的时延估计值的一帧的参考信号。
[0086]
预设阈值基于存储在电子设备中的选取长度确定,示意性地,选取长度为deltat,此时,预设阈值为(deltat-1)/2。选取长度可以为5、6或者根据实际需要自行调整,本实施例不对选取长度的实现方式作限定。
[0087]
在一个示例中,电子设备对预对齐参考信号的第二语音活动状态和附近参考信号的第二语音活动状态进行加权求和,得到可信度。
[0088]
然而,由于语音信号存在抖动。基于此,在另一个示例中,基于预对齐参考信号的第二语音活动状态和附近参考信号的第二语音活动状态,确定当前帧信号的可信度,包括:使用预设长度的汉宁窗对预对齐参考信号的第二语音活动状态进行加权,得到第一加权值;使用预设长度的汉宁窗对附近参考信号的第二语音活动状态进行加权,得到第二加权值;确定第一加权值与第二加权值的和,得到可信度;其中,预设长度基于预设阈值确定。
[0089]
由于汉宁窗能够去除抖动,因此,可以减弱语音检测存在的漏检和误检的现象带来的影响,提高可信度计算的准确性。汉宁窗w1的长度即为选取长度。
[0090]
具体地,可信度计算过程通过下述公式表示:
[0091]
[0092][0093]
其中,deltat为选取长度,r为当前帧信号的可信度,lastdelay为上一次的时延估计值。
[0094]
步骤105,在可信度的取值大于可信度阈值的情况下,分别确定当前帧信号与至少一帧目标参考信号之间的相关值。
[0095]
可信度阈值的取值为1或者其它数值,本实施例不对可信度阈值的取值作限定。
[0096]
在可信度的取值大于可信度阈值的情况下,说明当前帧信号和目标参考帧信号均为语音信号,此时,基于相关值确定出的时延估计值的准确性较高。因此,本实施例在可信度的取值大于可信度阈值的情况下,才计算当前帧信号与至少一帧目标参考信号之间的相关值,以进行时延估计,可以避免计算无意义的相关值,从而导致时延估计不准的问题;既可以节省计算资源,还可以提高时延估计的准确性。
[0097]
在一个示例中,电子设备可以使用相关函数直接对当前帧信号和目标参考信号进行计算。
[0098]
然而,由于语音的范围主要分布在300-3400hz。因此,为了进一步避免噪声和其他频段上干扰声的影响,在另一个示例中,电子设备分别确定当前帧信号与至少一帧目标参考信号之间的相关值,包括:对当前帧信号和目标参考信号按照语音信号分布频率分别进行带通加权;计算带通加权后的当前帧信号和带通加权后的目标参考信号之间的相关值。
[0099]
本实施例中,通过对当前帧信号和目标参考信号按照语音信号分布频率分别进行带通加权,可以进一步避免其他频段上干扰声的影响,提高时延估计的准确性。
[0100]
其中,对当前帧信号和目标参考信号按照语音信号分布频率分别进行带通加权,计算带通加权后的当前帧信号和带通加权后的目标参考信号之间的相关值,通过下式表示:
[0101][0102][0103]
其中,x(l,k)用于表示目标参考信号,l表示当前帧,k表示当前帧对应的目标参考信号的数据,d(l,k)用于表示当前帧信号,l表示当前帧,k表示当前帧信号对应的数据,lastdelay为上一次的时延估计值,n为汉宁窗的长度,m为当前帧信号的采样率,300为语音信号分布频率中的最小频率,3400为语音信号分布频率中的最大频率。
[0104]
步骤106,使用相关值确定当前帧信号对应的时延估计值。
[0105]
其中,使用相关值确定当前帧信号对应的时延估计值,包括:在预对齐参考信号和附近参考信号中,确定与当前帧信号之间的相关值最大的参考信号;将相关值最大的参考信号与当前帧信号之间的时间差,确定为时延估计值。
[0106]
比如:电子设备在第二缓存队列queueref中以lastdelay为中心deltat的范围内,分别取参考信号来计算相关值分别取参考信号来计算相关值在这个范围之内,搜索最大相关值所在位置即为时延估计值delay,并更新相干值corr=corr(l,delay)。
[0107]
综上所述,本实施例提供的时延估计方法,通过获取当前帧信号和当前帧信号对应的参考信号;确定参考信号的信号搜索范围,得到信号搜索范围内的n帧目标参考信号;确定当前帧信号的第一语音活动状态和目标参考信号的第二语音活动状态;基于第一语音活动状态和第二语音活动状态确定当前帧信号的可信度;在可信度的取值大于可信度阈值的情况下,分别确定当前帧信号与至少一帧目标参考信号之间的相关值;使用相关值确定当前帧信号对应的时延估计值;可以解决现有的时延估计方法得到的时延估计结果不准的问题;由于可信度可以指示使用当前帧信号计算相关值的可信度,该可信度基于语音活动状态计算得到,在可信度较低时,说明当前帧信号和/或参考信号与语音信号无关,即使使用当前帧信号计算出相关值,该相关值可能也不够准确;此时,可以不使用相关度进行时延估计;而只有在可信度较高时,才计算当前帧信号与至少一帧目标参考信号之间的相关值,以进行时延估计,可以避免计算无意义的相关值,从而导致时延估计不准的问题;既可以节省计算资源,还可以提高时延估计的准确性。
[0108]
另外,通过上一次确定出的时延估计值来确定使用哪些参考信号来计算可信度,无需使用信号搜索范围内的所有参考信号的第二语音活动状态计算可信度,可以提高可信度的计算速度。
[0109]
另外,通过使用汉宁窗对第二语音活动状态进行加权计算可信度,可以去除抖动,减弱语音检测存在的漏检和误检的现象带来的影响,提高可信度计算的准确性。
[0110]
另外,通过在计算相关值时,对当前帧信号和目标参考信号按照语音信号分布频率分别进行带通加权;计算带通加权后的当前帧信号和带通加权后的目标参考信号之间的相关值;可以进一步避免噪声和其他频段上干扰声的影响,提高相关值计算的准确性。
[0111]
为了减少伪峰的影响,通常做法是对当前时延估计值的搜索增加范围的限制,但由于音频采集系统不稳定,往往会有时延抖动比较大的问题。此时,增加的搜索范围限制反而更容易使得时延估计结果陷入局部最优解,无法及时地跟踪到时延的变化,从而导致无法准确快速地对回声信号进行参考对齐。这样,后续的回声消除或声源定位的效果均会不佳。基于此,本实施例中,在计算出时延估计值后,还需要对时延估计值进行验证,具体地,在步骤106之后,还包括:从搜索范围内确定m个随机验证时延对应的验证参考信号;计算当前帧信号与验证参考信号之间的相关值;确定与当前帧信号之间的相关值最大的两个验证参考信号所对应的目标随机验证时延,得到时延验证范围;使用时延验证范围对时延估计值进行验证。
[0112]
其中,m为大于2的整数;时延验证范围的上限值为所述目标随机验证时延中的较大值,时延验证范围的下限值为目标随机验证时延中的较小值。
[0113]
其中,使用时延验证范围对时延估计值进行验证,包括:在时延估计值位于时延验证范围内的情况下,验证时延估计值正确;在时延估计值未位于时延验证范围内的情况下,确定时延估计值对应的相关值是否大于目标随机验证时延对应的相关值;在时延估计值对应的相关值大于目标随机验证时延对应的相关值的情况下,验证时延估计值正确;在时延
估计值对应的相关值小于目标随机验证时延对应的相关值的情况下,验证时延估计值错误,将目标随机验证时延对应的最大相关值确定为最终的时延估计值。
[0114]
示意性地,从搜索范围内确定m个随机验证时延对应的验证参考信号,包括:使用混沌映射方式生成m个随机验证时延;从搜索范围内提取与当前帧信号之间的时延为m个随机验证时延的验证参考信号。
[0115]
可选地,使用混沌映射方式生成m个随机验证时延,包括:使用虫口映射方式生成m个随机验证时延。具体地,虫口映射方式通过下式表示:
[0116]zl,m+1
=μz
l,m
(1-z
l,m
)
[0117][0118]
其中,μ∈[0,4],z
l,0
=z
l-1,m

[0119]
计算当前帧信号与验证参考信号之间的相关值的方式参考步骤105,本实施例在此不再赘述。
[0120]
假设相关值最大的验证参考信号corrmax1和corrmax2对应的目标随机验证时延对应的目标随机验证时延为t1和t2。则电子设备判断时延估计值delay是否在t1和t2所在的范围内;若是,则直接输出时延估计值delay。否则,继续判断时延估计值对应的相关值corr是否大于corrmax1,若是,说明实验估计值计算出的相关值较大,此时,计算出的时延估计值较准确,则直接输出时延估计值delay。否则,确定t1和t2范围为时延抖动的范围,并在该范围内计算各个时延值对应的相关值,并进行峰值搜索确定峰值最大值所对应的时延值t12,时延估计结果可表示为delayout=t12,直接输出最终时延估计值delayout=t12。
[0121]
在其它实施例方式中,电子设备也可以使用其它混沌映射算法生成m个随机验证时延,本实施例不对m个随机验证时延的生成方式作限定。
[0122]
本实施例中,通过在搜索范围内确定m个随机验证时延对应的验证参考信号,计算当前帧信号与验证参考信号之间的相关值;确定与当前帧信号之间的相关值最大的两个验证参考信号所对应的目标随机验证时延,得到时延验证范围;使用时延验证范围对时延估计值进行验证;可以确定是否出现时延抖动现象,一旦出现延时抖动现象能快速确定时延范围并及时进行精细时延估计,既可以提高时延估计的准确性,也可以保证时延估计的速度。
[0123]
另外,通过混沌映射方式生成m个随机验证时延,可以对全局范围进行监控,既避免了陷入局部峰值最优解,也能减少全局搜索的消耗,可以提高时延估计的准确性,也可以保证时延估计的速度,减少计算消耗。
[0124]
为了更清楚地理解本技术提供的时延估计方法,下面对该方法举一个实例进行说明。参考图2,时延估计方法包括三个阶段,分别为预处理阶段、时延估计阶段和时延估计验证阶段。
[0125]
预处理器阶段中,电子设备根据上一次确定出的时延估计值,在远端缓存中找出预对齐参考信号和附近参考信号,得到预对齐参考信号附近的[-deltat-1)/2,+deltat-1)/2的参考信号x(n),使用x(n)和当前帧信号d(n)的语音活动检测结果,判断当前帧的时延估计值的可信度r。
[0126]
时延估计阶段中,电子设备根据预处理阶段输出的可信度r来决定是否进行时延
估计。具体地,当r小于1时,保持上一次确定出的时延估计值不变输出至下一个阶段。否则,在[-deltat-1)/2,+deltat-1)/2]的参考信号内,利用相关函数,计算当前帧信号与[-deltat-1)/2,+deltat-1)/2]内各个参考信号之间的相关值,进行相关值的峰值搜索确定时延估计值delay。
[0127]
时延估计验证阶段中,电子设备结合混沌思想,得到预设的maxdelay范围内的随机全局散落点,对散落时延对应的信号进行相关函数的计算,从而确定相关值最大的散落区域[t1,t2]。判断时延估计器所输出的时延值是否在目前区域内,若是,则输出当前时延估计;若否,认为当前时刻可能出现时延抖动问题。判断时延估计器输出的对应的相关值corr,是否比散落时延点对应的最大相关值大,如果是,则输出当前时延估计,排除时延抖动;如果不是,可以确定出现较大时延抖动现象,应及时计算散落区域[t1,t2]范围内相干值,并以最大相关值对应的位置,作为最终的时延估计结果输出。
[0128]
其中,预处理阶段的输出决定了时延估计器估计结果的可靠性;同时,时延估计验证阶段根据混沌思想产生随机时延散落点对上一阶段的时延估计值和全局时延进行监控,保证了时延结果输出及时性和准确性。
[0129]
本实施例提供一种时延估计装置,如图3所示。该装置包括至少以下几个模块:信号获取模块310、范围确定模块320、状态确定模块330、可信度确定模块340、相关值确定模块350和时延确定模块360。
[0130]
信号获取模块310,用于获取当前帧信号和当前帧信号对应的参考信号;
[0131]
范围确定模块320,用于确定参考信号的信号搜索范围,得到信号搜索范围内的n帧目标参考信号;
[0132]
状态确定模块330,用于确定当前帧信号的第一语音活动状态和目标参考信号的第二语音活动状态;
[0133]
可信度确定模块340,用于基于第一语音活动状态和第二语音活动状态确定当前帧信号的可信度;
[0134]
相关值确定模块350,用于在可信度的取值大于可信度阈值的情况下,分别确定当前帧信号与至少一帧目标参考信号之间的相关值;
[0135]
时延确定模块360,用于使用相关值确定当前帧信号对应的时延估计值。
[0136]
相关细节参考上述方法实施例。
[0137]
需要说明的是:上述实施例中提供的时延估计装置在进行时延估计时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将时延估计装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的时延估计装置与时延估计方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0138]
本实施例提供一种电子设备,如图4所示。该电子设备至少包括处理器401和存储器402。
[0139]
处理器401可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器401可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主
处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0140]
存储器402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器401所执行以实现本技术中方法实施例提供的时延估计方法。
[0141]
在一些实施例中,电子设备还可选包括有:外围设备接口和至少一个外围设备。处理器401、存储器402和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
[0142]
当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
[0143]
可选地,本技术还提供有一种计算机可读存储介质,计算机可读存储介质中存储有程序,程序由处理器加载并执行以实现上述方法实施例的时延估计方法。
[0144]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0145]
显然,上述所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,可以做出其它不同形式的变化或变动,都应当属于本技术保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1