首页 / 专利库 / 电信 / 波达方向 / 一种波达方向估计方法和装置

一种波达方向估计方法和装置

阅读:855发布:2020-05-12

专利汇可以提供一种波达方向估计方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种 波达方向 估计方法和装置,应用于终端设备,该方法,包括:播放并接收测试音频;根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。本发明实施例在接收到语音指令时,可以利用该语音指令和预先得到的反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。,下面是一种波达方向估计方法和装置专利的具体信息内容。

1.一种波达方向估计方法,其特征在于,应用于终端设备,所述方法,包括:
播放并接收测试音频;
根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
2.根据权利要求1所述的方法,其特征在于,所述终端设备配置有多个麦克;所述根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向,具体包括:
估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
3.根据权利要求2所述的方法,其特征在于,所述根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向,具体包括:
获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;
对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
依据所述时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
4.根据权利要求3所述的方法,其特征在于,所述获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到至少两个波峰,之后还包括:
查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰;
其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M;
则,所述确定每两个第i反射波峰之间的时间延迟,具体为:
确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
5.根据权利要求1所述的方法,其特征在于,所述依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计,具体包括:
根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的度;
逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
6.一种波达方向估计装置,其特征在于,应用于终端设备,所述装置,包括:音频收发模、方向预测模块和方向估计模块;
所述音频收发模块,用于播放并接收测试音频;还用于接收语音指令
所述方向预测模块,用于根据所述音频收发模块接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
所述方向估计模块,用于依据所述音频收发模块接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
7.根据权利要求6所述的装置,其特征在于,所述终端设备配置有多个麦克风;所述方向预测模块,具体包括:第一处理子模块和第二处理子模块;
所述第一处理子模块,用于估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
所述第二处理子模块,用于根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
8.根据权利要求7所述的装置,其特征在于,所述第二处理子模块,具体包括:波峰获取子模块、时间获取子模块和方向获取子模块;
所述波峰获取子模块,用于获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;
对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
所述时间获取子模块,用于确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
所述方向获取子模块,用于依据所述时间获取子模块确定的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
9.根据权利要求6所述的装置,其特征在于,所述方向估计模块,具体用于:
根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的角度;
逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
10.一种终端设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序
所述处理器,用于从所述存储器中获取所述计算机程序,并根据所述计算机程序的指令执行如权利要求1-5任意一项所述的波达方向估计方法。

说明书全文

一种波达方向估计方法和装置

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种波达方向估计方法及装置。

背景技术

[0002] 目前,智能音响、机器人等智能语音设备的应用越来越广泛,这些智能语音设备一般通过麦克阵列获取语音指令后,经信号处理后再对语音指令进行识别,从而提高语音识别的准确率,主要涉及回声消除技术、波达方向(Direction of Arrival,DOA)估计技术、波束形成技术和去混响技术等。
[0003] 然而,在语音识别过程中,当智能语音设备距离墙壁、显示屏等反射体较近时,语音指令的反射波会对DOA估计的结果产生干扰,进而使得后续处理过程中存在将实际的语音指令视为噪声而消除的情况,导致对语音指令的识别率下降、智能语音设备无法准确对语音指令做出响应等问题。
[0004] 因此,本领域技术人员需要提供一种波达方向估计方法及装置,能够对语音指令的方向做出准确的识别,避免反射波对DOA估计的干扰。

发明内容

[0005] 为了解决现有技术问题,本发明提供了一种波达方向估计方法及装置,能够对语音指令的方向做出准确的识别,避免反射波对DOA估计的干扰。
[0006] 本发明实施例提供的一种波达方向估计方法,应用于终端设备,所述方法,包括:
[0007] 播放并接收测试音频;
[0008] 根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
[0009] 依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
[0010] 可选的,所述终端设备配置有多个麦克风;所述根据接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向,具体包括:
[0011] 估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
[0012] 根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
[0013] 可选的,所述根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向,具体包括:
[0014] 获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
[0015] 其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
[0016] 确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
[0017] 依据所述时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
[0018] 可选的,所述获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到至少两个波峰,之后还包括:
[0019] 查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰;
[0020] 其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M;
[0021] 则,所述确定每两个第i反射波峰之间的时间延迟,具体为:
[0022] 确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
[0023] 可选的,所述依据接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计,具体包括:
[0024] 根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
[0025] 搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
[0026] 根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的度;
[0027] 逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
[0028] 本发明实施例提供的一种波达方向估计装置,应用于终端设备,所述装置,包括:音频收发模、方向预测模块和方向估计模块;
[0029] 所述音频收发模块,用于播放并接收测试音频;还用于接收语音指令
[0030] 所述方向预测模块,用于根据所述音频收发模块接收到的测试音频,预测反射体相对于所述终端设备的方向,得到至少一个相对方向;
[0031] 所述方向估计模块,用于依据所述音频收发模块接收到的语音指令和所述至少一个相对方向,对所述语音指令的波达方向进行估计。
[0032] 可选的,所述终端设备配置有多个麦克风;所述方向预测模块,具体包括:第一处理子模块和第二处理子模块;
[0033] 所述第一处理子模块,用于估计所述测试音频对所述终端设备的每个麦克风的冲击响应函数;
[0034] 所述第二处理子模块,用于根据所述每个麦克风的冲击响应函数,确定所述至少一个相对方向。
[0035] 可选的,所述第二处理子模块,具体包括:波峰获取子模块、时间获取子模块和方向获取子模块;
[0036] 所述波峰获取子模块,用于获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰;
[0037] 其中,所述直达波峰为该冲击响应函数中第一个幅值大于所述第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰;
[0038] 所述时间获取子模块,用于确定每两个第i反射波峰之间的时间延迟,i∈[1,M];
[0039] 所述方向获取子模块,用于依据所述时间获取子模块确定的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得所述至少一个相对方向;每个反射波峰对应一个相对方向。
[0040] 可选的,所述第二处理子模块,还包括:波峰查找子模块;
[0041] 所述波峰查找子模块,用于查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰;
[0042] 其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M;
[0043] 则,所述时间获取子模块,具体用于:
[0044] 确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
[0045] 可选的,所述方向估计模块,具体用于:
[0046] 根据所述接收到的语音指令,获得该语音指令对应的空间波束图;
[0047] 搜索所述空间波束图,确定所述空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
[0048] 根据所述至少两个目标波峰在所述空间波束图中的位置,得到所述至少两个目标波峰对应的角度;
[0049] 逐一排除所述至少两个目标波峰对应的角度中,与所述一个相对方向之间的角度差最小的角度后,得到所述语音指令的波达方向。
[0050] 本发明实施例还提供了一种终端设备,包括:存储器和处理器;
[0051] 所述存储器,用于存储计算机程序
[0052] 所述处理器,用于从所述存储器中获取所述计算机程序,并根据所述计算机程序的指令执行如上述任意实施例所述的波达方向估计方法。
[0053] 与现有技术相比,本发明至少具有以下优点:
[0054] 在本发明实施例中,终端设备利用播放并接收到的测试语音,其周围的反射体可视为一个向该终端设备发送反射波的固定声源,而后,利用终端设备本身接收到的测试语音,可以对其周围至少一个反射体相对于该终端设备的方向进行预测,确定终端设备周围会对语音指令识别产生干扰的反射波的波达方向,得到至少一个相对方向。在接收到语音指令时,可以利用该语音指令和反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。附图说明
[0055] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0056] 图1为本发明实施例提供的一种波达方向估计方法的流程示意图;
[0057] 图2为本发明具体实施例提供的一种波达方向估计方法的流程示意图;
[0058] 图3为本发明实施例提供的另一种波达方向估计方法的流程示意图;
[0059] 图4为本发明具体实施例的场景示意图;
[0060] 图5为本发明具体场景中的冲击响应函数的示意图;
[0061] 图6为本发明具体实施例提供的另一种波达方向估计方法的流程示意图;
[0062] 图7为本发明实施例提供的一种波达方向估计装置的结构示意图。

具体实施方式

[0063] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0064] 首先需要说明的是,本发明实施例提供的DOA估计方法及装置,应用于终端设备,该终端设备可以发射各种形式的波(例如声波等),或者,紧邻该终端设备设置有发射各种形式的波的其他设备,相当于波源可以为终端设备自身。该终端设备还配置有用于接收其(或其他设备)发射的波的多个传感器。下面均以声波为例,对本发明实施例提供的DOA估计方法进行详细说明,其他形式的波的DOA估计与此类似,不再一一赘述。当对声波的DOA进行估计时,终端设备配置的多个传感器可以是传声器阵列(即麦克风阵列),用于发射波的设备可以是喇叭,该喇叭可以是配置在终端设备上,可以是与终端设备通过有线或无线方式连接。举例而言,在具体实施时,该终端设备可以是手机、平板电脑、智能音箱、智能音乐播放设备等。
[0065] 为了排除反射波对DOA估计的干扰,准确的识别出波源方向,本发明实施例利用终端设备发射的波对其自身的冲击响应函数对反射体的方向进行预先估计,而后,在对外界指令等外部设备或人发出的波进行DOA估计时,将预先估计出的反射体方向从估计出的多个波达方向中排除,从而得到准确的波源方向,避免了反射波的干扰。
[0066] 基于上述思想,为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0067] 参见图1,该图为本发明实施例提供的一种波达方向估计方法的流程示意图。
[0068] 本实施例提供的波达方向估计方法,可以包括以下步骤S101-S103。
[0069] S101:播放并接收测试音频。
[0070] 终端设备控制自身或与其相连并紧邻其设置的其他设备播放测试音频。终端设备接收到的测试音频不仅包括直接从发射方传输至终端设备的多个麦克风的直达波,还包括由终端设备周围至少一个反射体反射后,传输至该多个麦克风的反射波。由于直达波的DOA相当于终端设备自身,可以忽略不计,终端设备周围的反射体可以等效为一个固定的声源,麦克风接收到的反射波相当于从该反射体发射的波,从而可以根据接收到的测试音频,利用DOA估计方法,对反射体与终端设备的相对方向进行估计。
[0071] 在具体实施时,测试音频可以是终端设备始终播放的音频,例如持续播放的音乐,还可以是由预定指令触发播放的特定音频,例如语音指令或按键触发播放的应答音频等,本发明对此不做限定,这里也不再一一列举。
[0072] S102:根据接收到的测试音频,预测反射体相对于终端设备的方向,得到至少一个相对方向。
[0073] 在本发明实施例中,可以利用任意DOA估计方法对测试音频的波达方向进行估计,得到至少一个反射体相对于终端设备的方向,即至少一个相对方向。下面将举例说明具体如何得到该至少一个相对方向,这里先不赘述。
[0074] S103:依据接收到的语音指令和至少一个相对方向,对语音指令的波达方向进行估计。
[0075] 可以理解的是,该语音指令不仅可以是人发出的声音命令,还可以是预先设定的由特定事件触发的声音等,本发明实施例对语音指令的形式不做具体限定。
[0076] 由于通过步骤S101-S102已知终端设备周围的反射体的相对方向,因此,在接收到语音指令后,可以从估计出的多个波达方向中排除反射体的相对方向,从而准确的得到语音指令的波达方向。
[0077] 在本发明实施例一些可能的实现方式中,如图2所示,上述步骤S103具体可以包括如下步骤S1031-S1034:
[0078] S1031:根据接收到的语音指令,获得该语音指令对应的空间波束图。
[0079] 举例而言,假设,终端设备上麦克风阵列(包括p个麦克风)所接收的语音指令为x(t),
[0080] x(t)=[x1(t),x2(t),…,xp(t)]T                   (1)
[0081] 其中,xk(t)为第k个麦克风接收到的语音指令,1≤k≤p,t为采样时刻点。
[0082] 对式(1)进行快速傅里叶变换,得到该语音指令在频域的数据X[n,f],
[0083] X[n,f]=[X1(n,f),X2(n,f),…,Xp(n,f)]T,fL≤f≤fH        (2)
[0084] 其中,Xk(n,f)为第k个麦克风接收到的语音指令在频率f的频域值,n为快拍数,fL为预先选取的最低频率,fH为预先选取的最高频率。
[0085] 在一段时间内,计算麦克风阵列在各个频率处的自相关矩阵Rxx(f)
[0086]
[0087] 其中,N是计算自相关系数所用的快拍数。
[0088] 然后,利用式(3),获得该语音指令对应的空间波束图J(θs),
[0089]
[0090] 其中, 为麦克风阵列的导向矢量,τk(θs)=(xkcosθs+yksinθs)/c,(xk,yk)为第k个麦克风的坐标,c为声速。
[0091] 需要说明的是,上述仅为示例性说明,在具体实施时,本领域技术人员还可以采用其他方式得到获得该语音指令对应的空间波束图,这里不再一一赘述。
[0092] S1032:搜索空间波束图,确定空间波束图中幅值大于第三预设阈值的至少两个目标波峰。
[0093] S1033:根据至少两个目标波峰在空间波束图中的位置,得到至少两个目标波峰对应的角度。
[0094] 可以理解的是,当空间波束图上出现峰值时,说明该峰值对应的方向可能为波的传输方向,通过搜索并确定空间波束图对超出特定幅值(即第三预设阈值)的波峰,即可筛选出反射体造成的反射波的波达方向和语音指令的波达方向,即至少两个目标波峰对应的角度。
[0095] S1034:逐一排除至少两个目标波峰对应的角度中,与一个相对方向之间的角度差最小的角度后,得到语音指令的波达方向。
[0096] 在本发明实施例中,由于计算误差或干扰因素的影响,预测出的反射体方向与通过空间波束图确定的至少两个目标波峰对应的角度之间存在一定的误差。将至少两个目标波峰对应的角度中与预测出的至少一个反射体的相对方向排除最相近的角度排除后,剩余的角度即为语音指令的波达方向。
[0097] 在本发明实施例中,终端设备利用播放并接收到的测试语音,其周围的反射体可视为一个向该终端设备发送反射波的固定声源,而后,利用终端设备本身接收到的测试语音,可以对其周围至少一个反射体相对于该终端设备的方向进行预测,确定终端设备周围会对语音指令识别产生干扰的反射波的波达方向,得到至少一个相对方向。在接收到语音指令时,可以利用该语音指令和反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。
[0098] 下面将详细说明具体如何对终端设备周围至少一个反射体的相对方向进行估计。
[0099] 参见图3,该图为本发明实施例提供的另一种波达方向估计方法的流程示意图。
[0100] 在本实施例中,上述步骤S102具体可以包括如下步骤S1021-S1022。
[0101] S1021:估计测试音频对终端设备的每个麦克风的冲击响应函数。
[0102] 在具体实施时,本领域技术人员可以采用任意一种方式得到该冲击响应函数,如任意回声消除算法,包括最小均方法(Least Mean Square,LMS)、归一化最小均方法(Normalized Least Mean Square,NLMS)、递归最小二乘法(Recursive Least Squares,RLS)和分区域块最小均方法(Partitioned Frequency-domain Block LMS,PFBLMS)等,本发明实施例对此不做限定。
[0103] 在一个例子中,具体可以采用如下方式得到冲击响应函数:
[0104] 设麦克风阵列接收到的测试音频为x(n),
[0105] x(n)=[x(n),x(n-1),…,x(n-N+1)]T                (5)
[0106] 测试音频到某个麦克风的冲击响应函数为w(n),
[0107] w(n)=[w0(n),w1(n),…,wN-1(n)]T                 (6)
[0108] 其中,N为冲击响应函数的阶数。
[0109] 利用式(5)和式(6),可以得到信号y(n),
[0110] y(n)=wT(n)x(n)                      (7)
[0111] 再获得误差信号估计e(n)和测试音频的功率Pxx(n),用于调整自适应冲击响应函数的步长,
[0112] e(n)=d(n)-y(n)                      (8)
[0113] Pxx(n)=xT(n)x(n)                      (9)
[0114] 其中,d(n)为麦克风在n时刻接受的测试音频信号
[0115] 更新冲击响应函数, 不断迭代最终得到测试语音对某个麦克风的冲击响应函数,μ和ψ均为系数。
[0116] 在一个例子中,终端设备包括4个麦克风Mic1、Mic2、Mic3和Mic4组成的麦克风阵列,4个麦克风组成半径为0.35米的圆阵,终端设备的喇叭与麦克风阵列20厘米,以一个反射体为例,假设终端设备与反射体(如墙壁)的距离为d,Mic3距离反射体最近、Mic1距离发射体最远,如图4所示。图5示出了喇叭播放的测试音频对这4个麦克风的冲击响应函数。
[0117] S1022:根据每个麦克风的冲击响应函数,确定至少一个相对方向。
[0118] 参见图5,从图中可看出麦克风与反射体的距离越近,冲击响应函数的第二个幅值超出一定阈值(即第一预设阈值)的波峰(即第一反射波峰)的幅值越大,反射体对测试音频的反射效果越强烈。同时,第一个超出第一预设阈值的波峰(即直达波峰)与第一反射波峰之间的时间差越小。因此,在本发明实施例中,可以根据测试音频对每个麦克风的冲击响应函数,确定反射体距离终端设备上哪个麦克风的距离最近,从而根据该麦克风的坐标确定出该反射体与终端设备的相对方向。
[0119] 在本发明实施例一些可能的实现方式中,如图6所示,上述步骤S1022具体可以包括如下步骤S601-S603:
[0120] S601:获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰。
[0121] 其中,直达波峰为该冲击响应函数中第一个幅值大于第一预设阈值的波峰;对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰。
[0122] 继续参见图5,箭头①指示的为直达波峰,箭头②指示的为第一反射波峰。
[0123] 在具体实施时,本领域技术人员可以根据实际情况具体设定第一预设阈值,不再一一列举。
[0124] S602:确定每两个第i反射波峰之间的时间延迟
[0125] 可以理解的是,确定每两个第i反射波峰之间的时间延迟 以图4为例,即Mic1、Mic2、Mic3和Mic4中任意两个对应的冲击响应函数中的两个第一反射波峰之间的时间差,或两个第二反射波峰之间的时间差,依此类推。根据该时间差可以确定反射波传播至这两个麦克风所需的时间差,进而可以推算出反射体相对于这两个麦克风的相对位置。
[0126] 在本发明实施例一些可能的实现方式中,步骤S602之前,还可以包括:获取每个第i反射波峰的幅值的平均值,判断该平均值是否大于第四预设阈值,若是,则执行步骤S602。
[0127] 可以理解的是,当反射波峰的幅值较大时,说明反射波传输至终端设备的信号较强,对应的反射体的方向对DOA估计的影响较大;反之,则说明对应的反射体的方向对DOA估计的影响可以忽略不计。因此,当第i反射波峰的幅值的平均值大于一定值(即第四预设阈值)时,需要考虑反射体对DOA估计的影响,继续执行步骤S602;反之,则可以忽略反射体的影响,直接对语音指令的波达方向进行估计。
[0128] S603:依据冲击响应函数中每个反射波峰对应的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得至少一个相对方向;其中,每个反射波峰对应一个相对方向。
[0129] 可以理解的是,依据阵列DOA估计理论,声波传播至两个麦克风的时间延迟ταβ可以根据下式(10)得出:
[0130]
[0131] 其中,(xα,yα)和(xβ,yβ)分别为两个麦克风的坐标,1≤α≤p,1≤β≤p,α≠β,θr为反射体的相对方向。
[0132] 依据上式(10)和每两个第i反射波峰之间的时间延迟 通过搜索以下代价函数(11)即可得到该反射波峰对应的反射体相对于终端设备的相对方向
[0133]
[0134] 这里还需要说明的是,在实际应用中,经验得出当终端设备与反射体之间的距离大于1米时,可以忽略反射波对DOA估计的影响,因此,为了减少计算量、缩短处理时间,在一些可能的实现方式中,步骤S601之后,还可以包括:
[0135] 查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰。
[0136] 可以理解的是,反射体与终端设备之间的距离越大,反射体造成的反射波传播至终端设备所需的时间越长,导致反射波峰与直达波峰之间的时间差越大。因此,可以根据冲击响应函数中直达波峰与反射波峰之间的时间差,排除其中由距离较远的反射体造成的反射波所引起的反射波峰,从而排除距离较远的反射体对DOA估计的影响,减少计算量,缩短处理时间。
[0137] 在实际应用中,第二预设阈值可以根据实际需要设定,例如第二预设阈值可以设置为2.9ms,即声波传播1米所需的时间。
[0138] 当排除距离较远的反射体对DOA估计的影响时,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M。
[0139] 则,步骤S602,具体为:确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。步骤S603,具体为:依据冲击响应函数中每个参考波峰对应的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得至少一个相对方向。具体说明与上述步骤S602和S603类似,具体参见相关说明即可,这里不再赘述。
[0140] 基于上述实施例提供的波达方向估计方法,本发明实施例还提供了一种波达方向估计装置。
[0141] 参见图7,该图为本发明实施例提供的一种波达方向估计装置的结构示意图。
[0142] 本发明实施例提供的波达方向估计装置,可以包括:音频收发模块100、方向预测模块200和方向估计模块300。
[0143] 音频收发模块100,用于播放并接收测试音频;还用于接收语音指令
[0144] 方向预测模块200,用于根据音频收发模块100接收到的测试音频,预测反射体相对于终端设备的方向,得到至少一个相对方向。
[0145] 方向估计模块300,用于依据音频收发模块100接收到的语音指令和方向预测模块200得到的至少一个相对方向,对语音指令的波达方向进行估计。
[0146] 在本发明实施例一些可能的实现方式中,方向预测模块200,具体可以包括:第一处理子模块和第二处理子模块。
[0147] 第一处理子模块,用于估计音频收发模块100接收到的测试音频对终端设备的每个麦克风的冲击响应函数。
[0148] 第二处理子模块,用于根据每个麦克风的冲击响应函数,确定至少一个相对方向。
[0149] 可选的,第二处理子模块,具体可以包括:波峰获取子模块、时间获取子模块和方向获取子模块。
[0150] 波峰获取子模块,用于获取每个冲击响应函数中幅值大于第一预设阈值的波峰,得到该冲击响应函数的直达波峰和至少一个反射波峰。
[0151] 其中,直达波峰为该冲击响应函数中第一个幅值大于第一预设阈值的波峰。对每个冲击响应函数的反射波峰,按照时间顺序依次定义为第一反射波峰、第二反射波峰、……、第M反射波峰。
[0152] 时间获取子模块,用于确定每两个第i反射波峰之间的时间延迟,i∈[1,M]。
[0153] 方向获取子模块,用于依据时间获取子模块确定的时间延迟和该时间延迟对应的两个麦克风的相对位置,利用代价函数,获得至少一个相对方向。每个反射波峰对应一个相对方向。
[0154] 可选的,第二处理子模块,还可以包括:波峰查找子模块。
[0155] 波峰查找子模块,用于查找每个冲击响应函数中与直达波峰之间的时间差小于第二预设阈值的反射波峰,得到该冲击响应函数的至少一个参考波峰。
[0156] 其中,对每个冲击响应函数的参考波峰,按照时间顺序依次定义为第一参考波峰、第二参考波峰、……、第N参考波峰,N≤M。
[0157] 则,时间获取子模块,具体用于:
[0158] 确定每两个第j参考波峰之间的时间延迟,j∈[1,N]。
[0159] 在本发明实施例一些可能的实现方式中,方向估计模块300,具体用于:
[0160] 根据接收到的语音指令,获得该语音指令对应的空间波束图;
[0161] 搜索空间波束图,确定空间波束图中幅值大于第三预设阈值的至少两个目标波峰;
[0162] 根据至少两个目标波峰在空间波束图中的位置,得到至少两个目标波峰对应的角度;
[0163] 逐一排除至少两个目标波峰对应的角度中,与一个相对方向之间的角度差最小的角度后,得到语音指令的波达方向。
[0164] 在本发明实施例中,终端设备利用播放并接收到的测试语音,其周围的反射体可视为一个向该终端设备发送反射波的固定声源,而后,利用终端设备本身接收到的测试语音,可以对其周围至少一个反射体相对于该终端设备的方向进行预测,确定终端设备周围会对语音指令识别产生干扰的反射波的波达方向,得到至少一个相对方向。在接收到语音指令时,可以利用该语音指令和反射体对应的至少一个相对方向,排除反射体的方向,准确的对该语音指令的波达方向进行估计,避免了反射波对DOA估计的干扰,进而提高了后续处理的准确性。
[0165] 基于上述实施例提供的波达方向估计方法和装置,本发明实施例还提供了一种终端设备。该终端设备,包括:存储器和处理器。其中,存储器,用于存储计算机程序。处理器,用于从存储器中获取计算机程序,并根据计算机程序的指令执行如上述实施例提供的波达方向估计方法。
[0166] 需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。
[0167] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0168] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0169] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈