声源定位方法和装置
技术领域
本发明属于声源定位技术领域,尤其涉及声源定位方法和装置。
背景技术
相关技术中,声源定位大多都是基于单一算法实现,如Delay-Sum(延迟-累加),Capon最小方差,MUSIC(Multiple Signal Classification,多重信号分类)等。
其中,Delay-Sum方法是经典的波束成形方法,是最简单的DOA方法。其原理是根据估算出的各麦克风之间的延迟来确定目标的方向。
Capon最小方差方法是通过约束非输出功率最小使得非期望方向贡献最小,同时在期望方向的增益保持为常数。
MUSIC方法是通过求解不同角度θ对应的空间谱,最终对这些空间谱进行谱峰搜索,谱峰对应的θ就是声源的方向。
发明人在实现本发明的过程中,发现上述技术至少存在以下缺陷:
(1)这些方法都是基于一定的假设完成的,因此只能在特定场景下取得比较好的效果。这些技术应用到实际产品后,往往效果就不如人意,声源估计的准确性大大的下降。
(2)计算量大,工程应用难度大。上述这些方法都需要对输入信号一直进行计算,CPU的负荷较大。
发明内容
本发明实施例提供一种声源定位方法和装置,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种声源定位方法,包括:分别从多个已知方向对输入信号进行波束增强以得到多路波束成形音频;将多路波束成形音频输入至唤醒引擎中,并获取唤醒引擎是否被唤醒的唤醒信息;若多路波束成形音频中至少一路唤醒所述唤醒引擎,基于多个已知方向和多路波束成形音频的唤醒信息确定声源范围估计值;将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。
第二方面,本发明实施例提供一种声源定位装置,包括:波束成形模块,配置为分别从多个已知方向对输入信号分别进行波束增强以得到多路波束成形音频;唤醒判断模块,配置为将所述多路波束成形音频输入至唤醒引擎中,并获取所述唤醒引擎是否被唤醒的唤醒信息;声源范围确定模块,配置为若所述多路波束成形音频中至少一路唤醒所述唤醒引擎,基于所述多个已知方向和所述多路波束成形音频的唤醒信息确定声源范围估计值;声源角度确定模块,配置为将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的声源定位方法的步骤。
第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明任一实施例的声源定位方法的步骤。
本发明的方法和装置提出了一种新颖的借助唤醒引擎被唤醒之后计算得到的声源角度范围,限定了波达方向估计算法的角度计算范围,避免了大范围角度计算带来的误差,在保证角度估计值精准的同时也大大地降低了计算量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种声源定位方法的流程图;
图2为本发明一实施例提供的另一种声源定位方法的流程图;
图3为本发明一实施例提供的一种声源定位方法的具体应用场景的步骤流程示意图;
图4为本发明一实施例提供的一种声源定位装置的框图;
图5是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其示出了本发明的声源定位方法一实施例的流程图,本实施例的声源定位方法可以适用于各种语音交互设备,包括但不限于智能音箱、智能语音电视、智能儿童语音交互玩具等。
如图1所示,在步骤101中,分别从多个已知方向对输入信号进行波束增强以得到多路波束成形音频;
在步骤102中,将多路波束成形音频输入至唤醒引擎中,并获取唤醒引擎是否被唤醒的唤醒信息;
在步骤103中,若多路波束成形音频中至少一路唤醒上述唤醒引擎,基于多个已知方向和多路波束成形音频的唤醒信息确定声源范围估计值;
在步骤104中,将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。
在本实施例中,对于步骤101,声源定位系统通过多个(固定位置的)已知方向的麦克风组成的麦克风阵列,接收输入信号,然后对输入信号进行波束增强以得到多路波束成形音频,例如有将空间360°平均分为6个象限,每个象限范围60°,这样麦克风阵列采集的音频可以基于6个方向定向增强得到6路波束成形的音频。需要说明的是,波束的个数与麦克风的个数无关,4个麦克风也可以生成6个方向的固定波束。其中,多个固定方向波束成形之后的信号对目标声源的效果是不同的,增强方向与声源方向一致时表现为对目标声源信号增强,不一致时均表现为不同程度的抑制,因此多个已知方向中与声源方向一致时对输入信号表现为增强,不一致时表现为抑制。其中,波束成形是天线技术与数字信号处理技术的结合,目的用于定向信号传输或接收。
之后,对于步骤102,将多路波束成形音频输入并缓存至唤醒引擎中,并获取唤醒引擎的唤醒信息,该唤醒信息里面包括是否被唤醒、被那一路波束成形音频唤醒等信息以及唤醒的时间节点、先后顺序或者唤醒的绝对帧数等,本申请在此方面没有限制。
然后,对于步骤103,若多路波束成形音频中存在至少一路唤醒了上述唤醒引擎,基于多个已知方向和多路波束成形音频的唤醒信息确定声源范围估计值,例如基于唤醒上述唤醒引擎的那一路或几路波束成形音频对应的已知方向可以得到声源范围估计值。
之后,对于步骤104,将将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。例如,先进行多个固定方向进行语音增强,然后将增强后的音频送唤醒引擎。根据唤醒的信息,确定是哪一个波束,记录这个波束对应的中心角度作为声源范围估计值。需要重点提出的是,这个时候确认的声源只是一个范围,如固定波束中心角度60°,其区间是[30°~90°]。得到范围之后,利用缓存的多路原始音频数据,利用DOA算法在这个范围里进行角度估算,确定精确的角度值,如55°。
本实施例的方法通过采集多个已知方向的输入信号,之后对这多个输入信号分别进行波束成形,得到多路波束成形音频,然后再用这多路波束成形音频去尝试唤醒上述唤醒引擎,若存在至少一路唤醒了该唤醒引擎,则基于该至少一路对应的至少一个已知方向计算声源范围估计值,并基于缓存的多路波束成形音频计算最终声源估计值,由于多路波束唤醒后已经确认了声源的方向范围,在此范围内进行声源方向估计,计算出精确的声源方向估计值,计算量大大缩小了,加上此时计算最终声源方向估计值得音频已经是缓存的数据不需要经过音频采集等待,所以整个计算过程会很快。由于声源估计算法只在唤醒时才进行计算,大大降低了系统的计算量。
在一些可选的实施例中,上述方法在获取唤醒引擎是否被唤醒的唤醒信息之后,还包括:若多路波束成形音频均未唤醒该唤醒引擎,采集新的输入信号,并重复上述多路波束成形步骤和唤醒步骤。从而在未唤醒的情况下不做后面的计算,减少不必要的计算。
进一步参考图2,其示出了本发明的声源定位方法另一实施例的流程图。该流程图主要是针对图1中步骤103进一步细化的步骤的流程图。
如图2所示,在步骤201中,响应于唤醒引擎被成功唤醒,确定与唤醒该唤醒引擎的至少一路波束成形音频对应的至少一个已知方向;
之后,在步骤202中,获取与至少一路波束成形音频对应的至少一个唤醒时间点和/或唤醒绝对帧号;
最后,在步骤203中,基于至少一个唤醒时间点和/或唤醒绝对帧号和至少一个已知方向确定声源范围估计值。
在本实施例中,对于步骤201,当声源定位系统接收到唤醒引擎被成功唤醒的唤醒信息时,从唤醒信息中确定与唤醒该唤醒引擎的至少一路波束成形音频对应的至少一个已知方向。之后,在步骤202中,获取与该至少一路波束成形音频对应的至少一个时间点和/或绝对帧号。最后,对于步骤203,基于与该至少一路波束成形的至少一个已知方向对应的至少一个时间点和/或绝对帧号以及该至少一个已知方向确定声源范围估计值。例如,多个方向波束成形后的音频送入唤醒引擎,所唤醒的时间点(或者绝对帧号)是有先后的,理所应当的是与目标声源方向一致的波束最先唤醒。当然,为了使角度估计更加的鲁邦,避免偶然的情况发生,可以适当的放宽了时间的要求,即当第一次唤醒时开始计时(或者计帧数),在规定时间范围内的唤醒,都视为有效。这样就会出现多个方向同时唤醒的情况,可以从这几个方向里面找出唤醒阈值更高(例如唤醒时间点最靠前或者唤醒的帧数最靠前)得那一路作为声源方向。
本实施例的方法,通过确定唤醒了唤醒引擎的至少一路波束成形音频的方向,之后根据方向计算出声源范围估计值。由于固定方向的波束成形计算量不大,所以计算起来很快。
在一些可选的实施例中,波达方向估计算法包括Delay-Sum算法,Capon最小方差算法和MUSIC算法。
进一步参考图3,其示出了本发明一实施例提供的一种声源定位方法的具体应用场景的步骤流程示意图。
波束成形,源于自适应天线的一个概念。接收端的信号处理,可以通过对多天线阵元接收到的各路信号进行加权合成,形成所需的理想信号。从天线方向图(pattern)视角来看,这样做相当于形成了规定指向上的波束。例如,将原来全方位的接收方向图转换成了有零点、有最大指向的波瓣方向图。同样原理也适用用于发射端。对天线阵元馈电进行幅度和相位调整,可形成所需形状的方向图。
波束成形具有空间滤波特性,不同方向的波束成形后的信号所含有的目标人声的信息是不同的。将固定的几个方向波束成形后的音频同时送到唤醒模块,必然是有的能够唤醒有的不能唤醒,有的先唤醒有的后唤醒。再结合声源估计算法做二次确认,最终确定真正的声源方向。
在实现本申请的过程中,为了解决上述缺陷,发明人对现有技术中缺陷产生的原因进行了研究,并发现现有技术中存在的上述缺陷是由于以下原因导致的:
(1)单一算法多是基于一定的假设完成的,覆盖的场景单一,当真实使用场景与假设差异较大时,效果往往不好。
(2)不知道何时需要输出角度,只能一直计算更新角度。
进一步地,现有技术的部分产品通过下面的方法来解决上述缺陷:
选用多套算法,通过算法的切换来应对不同的使用场景;
选用性能更好的处理器平台,或选用专门的DSP芯片减少CPU的计算压力;
之所以不能想到本申请的方案,主要有这些方面的原因:
(1)技术人员接触的技术有局限性。通常声源估计属于语音信号数字处理领域,其本身已经是一个很大的技术领域,需要非常大的精力投入;本地唤醒属于机器学习领域,两者领域不同;
(2)公司的技术实力不同。具有信号处理、语音识别、语音合成、语音对话一整套解决方案的公司即使在全球来看也没有几家。
而本发明的技术人员另辟蹊径,通过引入本地唤醒算法,在机器唤醒的同时将缓存的唤醒词对应的音频送给声源估计算法进行计算,因为音频是缓存的,等于算法计算的数据是现成的,不需要等麦克风再重新采集一段时间,故而角度计算所需的时间非常短,很快就能输出角度。
这种方法得到的声源估算的角度准确度能够覆盖更广的使用场景,由于只在唤醒时进行一次角度的计算,CPU计算的负担也相对要小。
请参考图4,其示出了本发明一实施例提供的声源定位系统的框图。
如图4所示,本发明的声源定位装置400,包括波束成形模块410、唤醒判断模块420、声源范围确定模块430和声源角度确定模块440。
其中,波束成形模块410,配置为分别从多个已知方向对输入信号进行波束增强以得到多路波束成形音频;唤醒判断模块420,配置为将所述多路波束成形音频输入至唤醒引擎中,并获取所述唤醒引擎是否被唤醒的唤醒信息;声源范围确定模块430,配置为若所述多路波束成形音频中至少一路唤醒所述唤醒引擎,基于所述多个已知方向和所述多路波束成形音频的唤醒信息确定声源范围估计值;声源角度确定模块440,配置为将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。
在一些可选的实施例中,上述声源定位装置400,还包括:未唤醒模块(图中未示出),配置为若所述多路波束成形音频均未唤醒所述唤醒引擎,采集新的输入信号,并重复上述多路波束成形步骤和唤醒步骤。
在一些可选的实施例中,上述声源定位装置400,声源范围确定模块430进一步配置为:响应于所述唤醒引擎被成功唤醒,确定与唤醒所述唤醒引擎的至少一路波束成形音频对应的至少一个已知方向;获取与所述至少一路波束成形音频对应的至少一个唤醒时间点和/或唤醒绝对帧号;以及基于所述至少一个唤醒时间点和/或唤醒绝对帧号和所述至少一个已知方向确定声源范围估计值。
应当理解,图4中记载的诸模块与参考图1和图2中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图4中的诸模块,在此不再赘述。
值得注意的是,本公开的实施例中的模块并不用于限制本公开的方案,例如波束成形模块可以描述为对来自多个已知方向的多个输入信号分别进行波束成形以得到多路波束成形音频的模块。另外,还可以通过硬件处理器来实现相关功能模块,例如波束成形模块也可以用处理器实现,在此不再赘述。
在另一些实施例中,本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的声源定位方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
分别从多个已知方向对输入信号进行波束增强以得到多路波束成形音频;
将所述多路波束成形音频输入至唤醒引擎中,并获取所述唤醒引擎是否被唤醒的唤醒信息;
若所述多路波束成形音频中至少一路唤醒所述唤醒引擎,基于所述多个已知方向和所述多路波束成形音频的唤醒信息确定声源范围估计值;
将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的声源定位方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的声源定位方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据声源定位装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至声源定位装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一项声源定位方法。
图5是本发明实施例提供的电子设备的结构示意图,如图5所示,该设备包括:一个或多个处理器510以及存储器520,图5中以一个处理器510为例。声源定位方法的设备还可以包括:输入装置530和输出装置540。处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器520为上述的非易失性计算机可读存储介质。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例声源定位方法。输入装置530可接收输入的数字或字符信息,以及产生与信息投放装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
作为一种实施方式,上述电子设备应用于语音交互设备中,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
分别从多个已知方向对输入信号进行波束增强以得到多路波束成形音频;
将所述多路波束成形音频输入至唤醒引擎中,并获取所述唤醒引擎是否被唤醒的唤醒信息;
若所述多路波束成形音频中至少一路唤醒所述唤醒引擎,基于所述多个已知方向和所述多路波束成形音频的唤醒信息确定声源范围估计值;
将缓存的多个输入信号输入至波达方向估计算法并在所述声源范围估计值的范围内计算得到的最终声源估计值。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。