话音命令触发的语音增强的制作方法

文档序号:21788833发布日期:2020-08-07 20:39阅读:240来源:国知局
话音命令触发的语音增强的制作方法

本申请是于2014年12月17日提交的名称为“话音命令触发的语音增强”的发明专利申请201480075790.8的分案申请。

本发明涉及处理接收到的语音数据的方法,以及用于实施这样的方法的系统。



背景技术:

已知使用经由因特网访问的远程定位的语音识别算法为移动设备提供自动语音识别(asr)。此语音识别可以被用来在移动设备上或经由移动设备识别口语命令,例如用于浏览因特网和用于控制特定功能。为了保持电池寿命,这些移动设备以功率节省待机模式度过它们的大部分时间。触发短语可以被用来唤醒设备的主处理器,使得可以在主处理器内和/或通过远程分析服务执行说话人验证(即,说话的人的身份的验证)和/或任何其他语音分析服务。

为了提高asr服务中的识别率,众所周知,使用多种在传输之前增强音频(即,语音)的信号处理技术,例如,声学回声消除、噪声降低以及多麦克风波束形成。许多这些增强技术是自适配的,换言之,它们动态地修改它们的参数以适配提供麦克风信号的声学环境。当声学环境改变时,花费一个有限的时间段以使这些参数迭代地适配于使由声学环境产生的任何不期望的特征降低到无关紧要的水平的点。这被称为适配时间,并且对许多自适配音频信号处理算法,通常具有一秒的数量级。

声学回声消除(aec)使用如上文所描述的自适配过程,以通过使用从扬声器的输出导出的参考信号来消除可以被语音麦克风拾取的本地扬声器成分,且使用一个自适配过程以估计从扬声器到麦克风的声学传递函数。此适配可以在来自扬声器的任何信号输出上发生。因此,它不依赖于用户通过麦克风输入的信号。asr在扬声器操作期间的一些典型用途是音乐回放的话音控制和在免提电话期间的话音控制。对于这些情况,aec可以在扬声器输出开始的一秒内收敛于环境,且因此,在大多数情况下,在用户开始发出口语命令之前该适配已经达到需要的水平。

相反,自适配噪声降低和多麦克风波束形成是依赖于产生的包含用户的语音的信号的自适配过程。这些自适配过程直到用户的语音存在于来自麦克风的信号中才能够开始使它们的参数适配,并且一旦用户的语音存在,它们花费一个时间段来适配于需要的水平。可能需要这些自适配过程以在声音触发的从待机唤醒之后立即增强语音以用于在asr中使用。使这些语音识别算法在低功率待机状态下运行也未必可行,因为它们的计算复杂性导致合成设备功率消耗相当大。这的最终结果是不可以有效地增强口语命令的开始,这可能导致asr服务的结果较差。



技术实现要素:

根据本发明的第一方面,提供了一种处理代表语音的接收数据的方法,包括:

存储该接收数据;

检测代表一个触发短语的数据在该接收数据中的存在;

响应于所述检测,将代表该触发短语的至少一部分的存储数据的第一部分供应到一个自适配语音增强块;

基于该存储数据的第一部分来训练该语音增强块,以导出用于该语音增强块的适配参数;

将该存储数据的第二部分供应到用所述适配参数进行操作的该自适配语音增强块,以形成增强的存储数据,其中该存储数据的第二部分与该存储数据的第一部分重叠;

检测代表该触发短语的数据在该增强的存储数据中的存在;以及

响应于检测到代表该触发短语的数据在该增强的存储数据中的存在,从该语音增强块输出增强的语音数据以用于进一步处理;

其中借助于第一触发短语检测块来执行检测代表该触发短语的数据在该接收数据中的存在;且

其中借助于第二触发短语检测块来执行检测代表该触发短语的数据在该增强的存储数据中的存在,且其中该第二触发短语检测块用与该第一触发短语检测块不同的检测标准进行操作。

根据本发明的第三方面,提供了一种语音处理器,包括:

一个输入,用于接收代表语音的数据;以及

一个自适配语音增强块,

其中该语音处理器被配置为执行根据第一方面的方法。

根据本发明的第三方面,提供了一种移动设备,包括根据第二方面的语音处理器。

根据本发明的第四方面,提供了一种计算机程序产品,包括计算机可读代码,用于导致一个处理设备执行根据第一方面的方法。

根据本发明的第五方面,提供了一种处理代表语音的接收数据的方法,包括:

在检测到代表一个触发短语的该接收数据的一段时:基于该接收数据的所述段的至少一部分来训练一个自适配语音增强块,以导出用于该自适配语音增强块的参数;将接收数据的所述段传递通过使用所述导出的参数的所述自适配语音增强块,以生成一个增强的数据段;以及试图在增强的数据段中检测所述触发短语。

根据本发明的第六方面,提供了一种处理代表语音的接收数据的方法,包括:

在该接收数据中检测环境噪声水平;

如果该环境噪声水平在第一阈值以上且在高于该第一阈值的第二阈值以下,则对该接收数据执行语音增强过程,且对从该语音增强过程输出的数据执行语音识别过程;

如果该环境噪声水平在该第一阈值以下,则对未通过所述语音增强过程处理的该接收数据执行语音识别过程;以及

如果该环境噪声水平在该第二阈值以上,则省略对该接收数据执行语音识别过程。

根据本发明的第七方面,提供了一种语音处理器,包括:

一个输入,用于接收代表语音的数据;以及

一个自适配语音增强块,

其中该语音处理器被配置为执行根据第六方面的方法。

根据本发明的第八方面,提供了一种移动设备,包括根据第七方面的语音处理器。

根据本发明的第九方面,提供了一种计算机程序产品,包括计算机可读代码,用于导致一个处理设备执行根据第六方面的方法。

根据本发明的第十方面,提供了一种处理代表语音的接收数据的方法,包括:

存储该接收数据;

检测代表第一触发短语的数据在该接收数据中的存在;

响应于所述检测,将代表该第一触发短语的至少一部分的存储数据的第一部分供应到一个自适配语音增强块;

基于该存储数据的第一部分来训练该语音增强块,以导出用于该语音增强块的适配参数;

将该存储数据的第二部分供应到用所述适配参数进行操作的该自适配语音增强块,其中该存储数据的第二部分与该存储数据的第一部分重叠;以及

从该语音增强块输出增强的语音数据。

根据本发明的第十一方面,提供了一种语音处理器,包括:

一个输入,用于接收代表语音的数据;以及

一个自适配语音增强块,

其中该语音处理器被配置为执行根据第十方面的方法。

根据本发明的第十二方面,提供了一种移动设备,包括根据第十一方面的语音处理器。

根据本发明的第十三方面,提供了一种计算机程序产品,包括计算机可读代码,用于导致一个处理设备执行根据第十方面的方法。

这提供的优点是,随着接收的语音数据被存储,该数据的一部分可以被用来训练该语音增强算法,使得适配参数有时间收敛。这些适配参数然后可以被应用到该存储数据,使得已经被有效地增强的数据可以被输出到一个语音处理器。

附图说明

为了更好地理解本发明,以及示出如何实施本发明,现在将以实施例的方式参考附图,在附图中:

图1示出了根据本发明的一个方面的移动设备;

图2示出了图1的移动设备中的数字信号处理器的一个实施方案的更详细的视图;

图3示出了图2中示出的系统的操作的一个实施例;

图4是示出了图2中示出的系统的操作的一个实施例的流程图;

图5示出了数字信号处理器的一个替代实施方案;

图6示出了图5中示出的系统的操作的一个实施例;

图7是示出了图5中示出的系统的操作的一个实施例的流程图;

图8示出了数字信号处理器的又一个替代实施方案;

图9示出了数字信号处理器的一个替代实施方案;

图10示出了图9中示出的系统的操作的一个实施例;

图11是示出了图9中示出的系统的操作的一个实施例的流程图;以及

图12示出了数字信号处理器的又一个替代实施方案。

具体实施方式

图1示出了系统10,包括具有到服务器14的连接的移动通信设备12。在一个实施方案中,服务器14可以例如包括语音识别引擎,但是将理解的是,在其他情况下可以应用其他类型的语音处理器。在此例示的实施方案中,移动设备12经由空中接口(airinterface)连接到广域网36中的服务器14,尽管将理解的是,可以使用其他合适的无线连接或有线连接,或可以在移动设备12内完全地或部分地执行原本通过服务器14执行的处理。移动设备12可以是智能手机或具有其任何功能的任何其他便携式通信设备,诸如,便携式计算机、游戏控制台或智能手表或其他可穿戴设备等。

在所例示的系统中,移动设备12包含音频中枢(audiohub)集成电路16。音频中枢16从一个或多个麦克风18、20接收信号并且通过至少一个扬声器(即,音频输出换能器)22输出信号。在此图中,存在两个麦克风18、20,但是将理解的是,可以仅存在一个麦克风,或可以存在更多个麦克风。音频中枢16还从信号源24接收信号,该信号源诸如是用于存储所记录的声音的存储器或无线电接收机,该信号源在移动设备处于媒体回放模式中时提供信号。这些信号被传递到音频中枢16以通过扬声器22输出。

在所例示的实施例中,音频中枢16包含两个处理块(pb)26、28和一个数字信号处理器(dsp)30。第一处理块26处理从麦克风18、20接收的模拟信号,并且输出适合于在dsp30中进一步处理的数字信号。第二处理块28处理由dsp30输出的数字信号,并且输出适合于输入到扬声器22内的信号。

dsp30还被连接到应用处理器(ap)32。此应用处理器在移动设备12内执行多种功能,包括通过无线收发器34在广域网36上发送信号,包括发送信号到服务器14。

将理解的是,许多其他构架是可能的,其中可以如下文所描述的处理接收到的语音数据。

本发明的目的是,用户将发出通过麦克风18、20检测到的语音命令并且通过dsp30处理由这些麦克风输出的相应的语音数据。经处理的信号然后可以被传输到可以例如包括语音识别引擎的服务器14。可以通过服务器14产生一个输出信号,或许给出对初始语音命令中由用户询问的问题的响应。此输出信号可以通过收发器(trx)34被传输回到移动设备,并且通过数字信号处理器30处理以通过扬声器22输出以被用户听到。将理解的是,除了扬声器以外可以使用另一个用户接口来输出来自服务器14的返回信号,例如,耳机或触觉换能器或显示屏幕。

将理解的是,尽管在优选的实施方案中,应用处理器(ap)32将数据传输到远程定位的服务器14,但是在一些实施方案中,语音识别过程可以在设备12内进行,例如,在应用处理器32内。

图2示出了dsp30的更详细的功能方块图。将理解的是,可以通过硬件、软件或通过硬件和软件二者的合适的组合执行在此所描述的功能,如通过dsp30执行的功能。从通过麦克风18生成的信号导出的信号bin被发送到缓冲器38,该缓冲器可以例如表现为具有向其写数据的存储区域的循环缓冲器的形式,其中当存储器满时,可以重写数据。尽管在此图中仅示出了一个麦克风,但将理解的是,可以使用不止一个麦克风。

如图2中示出的,在通过写指针w指示的存储器位置处将数据写到缓冲器,并且在通过读指针r指示的存储器位置处从缓冲器读数据。

麦克风信号bin还被发送到低功率触发检测块40,该低功率触发检测块检测信号是否包含代表口语触发短语的数据。

所有输入数据可以被发送到数据缓冲器38和触发检测块40,或可以提供一个信号活动检测块(未例示),使得仅当确定输入信号包含某个最小信号活动时,数据才被发送到缓冲器38和触发检测块40。换句话说,在一些实施方案中,信号活动检测(sad)块可以导致缓冲器和触发检测(td)块二者都被去激活,除非在输入信号中检测到至少某个最小信号活动。在一些实施方案中,信号活动检测块可以导致触发检测块被去激活,除非在输入信号中检测到至少某个最小信号活动,但是保持缓冲器激活以连续地缓冲输入数据。连续地缓冲输入信号可以允许在信号活动检测器的响应时间期间到达的输入信号数据被保存以用于稍后使用,例如,以允许触发短语检测使用甚至此最早的数据。

响应于确定信号包含代表口语触发短语的数据,控制块42从触发检测块40接收输出信号tpd。

因此,可以通过将许多语音处理维持在低功率状态中直到通过触发检测块40识别已经说了预定义的触发短语时为止来使总功率消耗最小化。在一些实施方案中,可以通过断开或禁用到相关电路系统的电源来实现低功率状态。在其他实施方案中,可以通过禁用供应到相关电路系统的一个或多个时钟来实现低功率状态。在其他实施方案中,可以通过降低应用的电源电压或通过降低供应到相关电路系统的一个或多个时钟的频率来实现低功率状态。在其他实施方案中,可以通过不对应用到处理器电路系统的某组程序指令排序来实现低功率状态。在具有多个麦克风的系统中,可以通过仅处理来自所述麦克风中的一个的信号来实现低功率状态:此麦克风可以是通过先前设计选择预先指定的或可以是基于先前的信号活动选择的,例如,无论是最后变得安静的麦克风,或先前是最响的信号的麦克风。

控制块42控制时钟控制器44的操作,且还经由缓冲器控制块46控制向缓冲器38和从缓冲器38相应地有顺序地写(wa)和读(ra)数据,如下文更详细地描述的。

从缓冲器38读的数据bout被传递到语音增强块48。如上文所提及的,语音增强块48可以被维持在掉电状态中,直到响应于确定已经说了预定义的触发短语才通过来自时钟控制器44的信号将其激活。

语音增强块48可以例如执行语音增强功能,诸如,多麦克风波束形成、频谱噪声降低、环境噪声降低或类似功能,并且实际上可以执行多个语音增强功能。当语音增强块48执行响应于用户的语音而适配的至少一个功能时,所例示的系统的操作是特别有利的。

例如,在多麦克风波束形成语音增强功能的情况下,增强采用设定被应用至接收到的信号bout的多个参数的形式,以生成增强的输出信号sout。这些参数可以定义将被应用到来自一个或多个麦克风的、在一个或多个频带中的信号(在组合之前或之后)的相对增益和延迟,以提供增强的输出信号。这些参数的所需要的值将取决于说话的人相对于麦克风位置的位置,且因此仅一旦用户开始说话才可以确定它们。

因此,增强块48能够以自适配的方式确定它的操作参数,以优化增强,但是此适配花费有限的时间以达到最优状态。

控制块42控制语音增强块48的自适配功能的操作。这由示出的如被定位成能够中断任何反馈且因此中断适配的开关50概念性地例示,然而实际上可以使用其他已知的中断适配的方法。例如,可以通过将一些适配系数设定为零或通过中断处理器电路系统中的一些程序代码的排序来中断适配。来自语音增强块48的数据的输出sout由控制块42控制。这由第二开关52概念性地例示,然而实际上可以通过将一个控制信号应用到某个标准数字总线接口来中断传输。同步信号tpsync可以与sout数据信号并行被发送或被嵌入到与sout数据信号相同的信道内,如下文更详细地描述的。

图3和图4示出了图2中示出的系统的操作的一个实施例,其中图3示出了多个信号的时间历程(timehistory),并且图4是一个流程图。图4中示出的过程从步骤102开始,在步骤102中,在该或每个麦克风处接收的声学信号被转换为代表检测到的声音的数字电信号。在步骤104中,这些麦克风信号被存储在缓冲器38内。在图3中,标注bin的轴示出了在任何给定时间接收和写到缓冲器38内的数据。可以通过由麦克风18记录的增大超过一个阈值的声音水平来激活将数据写到缓冲器38的开始。在其他实施方案中,缓冲器38可以连续地写。随着在该图中示出的时间推移,缓冲器38包含预数据(pd)、触发短语数据(tp)和四个命令字数据段(c、c2、c3、c4),所述预数据代表在用户开始说预定义的触发短语之前通过缓冲器38记录的数据。触发短语的结束发生在时间tph处。

在图4的过程的步骤106中,触发短语检测块40连续地试图在接收的麦克风信号中检测触发短语。触发短语检测块40不可避免地具有有限的处理时间,且因此实际在时间ttpd处通过触发检测块40检测到触发短语,时间ttpd在tph处的实际口语触发短语结束之后一个时间间隔tdd。

触发短语的检测启动了许多过程。首先,缓冲器38的输出bout被激活,且缓冲器38的读指针r被设定以从自写箭头w的当前位置在时间上退后预定数目的数据点起读。因此,缓冲器的输出是先前存储的数据。

此预定数目的数据点设定了一个时间段的开始时间t0,将从该开始时间读出先前存储的数据。读出的数据将在训练语音增强块48中使用,且因此如果读出的数据包括代表触发短语的所有数据(如图3中的bin线中的tp示出的)则是有利的。实际上,触发短语的确切持续时间将不是预先已知的,且因此图3示出了如下一个实施例,在该实施例中,写指针w被设定以使得从在实际触发短语tp的开始之前的时间t0开始读出由图3中示出的虚线区域60指示的数据。然而,将理解的是,此预定数目的数据点可以被设定以使得读出的数据的开始恰好与代表触发短语的数据的开始一致,或以使得读出的数据可以通过代表触发短语的数据仅部分地开始。

在图3中例示的实施例中,预定数目的数据点在等于ttpd的时间点t1处结束。换句话说,从读出先前存储的数据用于分析起的时间段在触发短语检测延迟tdd之后立即结束。在一些实施方案中,此延迟可以被补偿,以使得待被分析的数据在更接近于检测到的触发短语的实际结束tph的时间点处结束。

其次,如图4的步骤108中示出的,触发短语的检测导致控制块42发送命令“adapt(适配)”,如图3中示出的,以激活开关50。此“adapt”命令激活增强块48以开始它的适配。这意味着,使增强块48的参数迭代地适配,使得它们收敛到优选值上,如图3中在标注coeff的轴上示出的。此适配的过程,在本文中也被称为“训练”增强块,是基于采样的音频数据来优化滤波器和其他算法分量的系数的过程。此收敛通常需要持续一秒的数量级的一段时间的输入数据。

触发短语的检测还提示控制块42发送命令turbo到时钟控制器44。此命令导致时钟控制器44以比输入数据bin的采样速率更高的速率生成一个时钟信号。这导致以比实时更快(换言之,比将数据写到缓冲器38的速率更快)的速率从缓冲器38读数据。这还可以减少适配的收敛所需要的实际时间。

从此点向前,从缓冲器38连续地读数据(至少直到确定用户已经停止说话为止)。如可以从图3看到的,保持读缓冲器38的速率比实时更高直到缓冲器38的读箭头r在时间ta处大体上赶上写箭头w为止。这意味着,至此开始,被输入到缓冲器38内的数据在基本上相同时间被输出。在图3中示出的实施例中,这在与命令字c3和c4之间的过渡相同的时间发生,但是这是巧合且不是必须的。

如上文所提及的,在读出于检测到触发短语之前的时间段中存储在缓冲器38内的数据的一部分的时间期间,使增强块48的参数或系数适配。在图3中示出的实施例中,读出的数据包括一直到时间ttpd为止的所有数据。然而,还可能在较早的点处停止读出此数据。例如,可以基于增强块48的参数收敛于合适的值上将花费的时间的预期来设定读出数据的持续时间。

在已经读出在时间ttpd之前存储的选定数据时,换言之,在时间tp处,命令块42使开关50去激活,如图3中在标注adapt的轴上示出的,且这具有防止增强块48的参数的进一步适配的作用,如图4的步骤110中示出的。在适配期间获得的参数值然后被存储。作为一个替代方案,可能控制增强块48的适配,以使得参数的收敛的速率被大大降低,比如说降低到十分之一或更少(例如,可以减少适配的步长或可以增加适配过程的时间常数)。在任一种情况下,这具有的作用是,在增强块48的使用期间不存在参数的突然改变,参数的突然改变可能倾向于对输出的质量产生不利影响。从测试语音识别功能14对增强块48的系数的改变的灵敏度可以经验地导出用于系数的改变的最大可允许速率。

在时间tp处,还从控制块42发送一个命令以激活第二开关装置52。在图3中在轴souten上示出的此命令过程导致增强块48使用冻结的或仅缓慢收敛的系数以在图4中示出的过程的步骤112中处理数据bout,且以输出经处理的(换言之,增强的)数据sout。在步骤114中,将增强的数据作为一个输出传输。

此外,在时间tp处,读箭头r被重置,以使得在那个点之后读出的数据包含在那个点之前读出的数据的至少一部分。因此,在时间tp之前从缓冲器读出以训练语音增强块48的数据和在时间tp之后从缓冲器读出用于通过语音增强块增强的数据之间存在重叠。

在图3中示出的实施例中,读箭头r被重置到它在时间ttpd处被设定的相同的点,以使得在时间tp之后从缓冲器38读出的数据包含在时间t0处开始的、被用来训练语音增强块48的所有数据。在此例示的实施例中,此数据包含整个触发短语tp。然而,取决于语音识别过程的要求,在时间tp之后从缓冲器38读出的数据包含代表触发短语tp的所有数据可能不是必须的,且因此读箭头r可以被重置到任何合适的数据点。

作为重置读箭头r的一个替代方案,在时间tp之前的训练阶段期间从缓冲器38读出的数据的一些或全部可以被临时地存储在一个缓存中,且然后在时间tp之后读出该缓存以被传递通过语音增强块48以用于用适配的参数处理。

在任一种情况下,其后,在时间tp之后仍然以比实时更快的速率再次输出来自缓冲器38的数据。

如图3中在线bout中示出的,其后读出的数据是存储在缓冲器38内的代表触发短语tp(在此例示的实施例中)所有数据和代表命令字c、c2、c3、c4的数据,之后此数据被传递通过语音增强块48以生成修改的数据tp*、c*、c2*、c3*、c4*。

控制块42还可以确定触发短语tp结束和第一命令字c开始的点,在这种情况下,它可以生成一个同步信号tpsync以在时间ttps处(在确定触发短语已经被增强块48处理且因此确定代表第一命令字的修改的数据c*即将开始的时间处)通过控制块42发送。

因此,如可以从图3看到的,在标注sout的轴上,从dsp30输出的数据是经处理的触发短语数据(tp*)和四个经处理的命令字数据段(c*、c2*、c3*和c4*)。此输出的数据因此是经处理的,使得它可以被语音识别引擎或其他语音处理器识别。

图5示出了图1中的dsp30的系统的又一个实施方案。图5中示出的dsp30大部分对应于图2中示出的dsp30,并且这两个图中的对应的特征由相同的参考数字指示,并且将不在本文中进一步描述。

在图5中,从一个或多个麦克风直接地或间接地获得的输入信号bin被传递到循环缓冲器38、触发检测块40和局部触发检测块54。

如参考图2所讨论的,所有输入数据可以被发送到缓冲器38、触发检测块40和局部触发检测块54,或可以提供一个活动检测块,使得仅当确定输入信号包含某个最小信号活动时,数据才被发送到缓冲器38、触发检测块40和局部触发检测块54。换句话说,在一些实施方案中,信号活动检测块可以导致缓冲器和触发检测块二者都被去激活,除非在输入信号中检测到至少某个最小信号活动。在一些实施方案中,信号活动检测块可以导致触发检测块被去激活,除非在输入信号中检测到至少某个最小信号活动,但是保持缓冲器激活以连续地缓冲输入信号。连续地缓冲输入信号可以允许在信号活动检测器的响应时间期间到达的输入信号数据被保存以用于稍后使用,例如,以允许触发短语检测使用甚至此最早的数据。

局部触发检测块54检测接收的信号是否包含代表口语触发短语的选定部分(即,局部触发短语)的数据,该口语触发短语的选定部分可以被认为是第一触发短语。例如,触发短语的选定部分通常将是通过触发检测块40检测到的触发短语的第一部分。当检测到第一触发短语(即,口语触发短语的选定部分)时,局部触发检测块54发送输出信号tpdp到控制块42。

图6示出了图4中示出的系统的操作的一个实施例,且图7是示出执行的过程的流程图。图7中示出的过程从步骤122开始,在步骤122中,在该或每个麦克风处接收的声学信号被转换为代表检测到的声音的数字电信号。在步骤124中,这些麦克风信号被存储在缓冲器38内。图6中的标注bin的轴示出了在任何给定时间接收和写到缓冲器38内的数据。可以通过由麦克风18记录的增大超过一个阈值的声音水平来激活将数据写到缓冲器38的开始。在其他实施方案中,缓冲器38可以连续地写。随着在该图中示出时间推移,缓冲器38包含预数据(pd)、触发短语数据(tp)和四个命令字数据段(c、c2、c3、c4),所述预数据代表在用户开始说预定义的触发短语之前通过缓冲器38记录的数据。

如图7的步骤126中示出的,局部触发检测块54连续地试图在接收的信号中检测触发短语的选定部分。在此实施例中,触发短语的选定部分是触发短语的第一部分,且触发短语的选定部分的结束发生在时间tphp处,尽管在其他实施方案中,触发短语的选定部分可以例如发生在触发短语的中间。局部触发检测块54不可避免地具有有限的处理时间,且因此实际在时间ttpdp处通过局部触发检测块54检测到触发短语的选定部分的结束,时间ttpdp在代表触发短语的选定部分的数据在tphp处结束之后一段时间间隔tddp。

触发短语的选定部分的检测启动了许多过程。首先,缓冲器38的输出bout被激活,且缓冲器38的读指针r被设定以从自写箭头w的当前位置在时间上退后预定数量的数据点起读。因此,缓冲器的输出是先前存储的数据。

此预定数目的数据点设定了在时间t0处开始的时间段,将从时间t0读出先前存储的数据。读出的数据在训练语音增强块48中使用,且因此如果读出的数据包括代表触发短语的所有数据(如图6中的bin线中的tp示出的)则是有利的。实际上,触发短语的确切持续时间将不是预先已知的,且因此图6示出了如下一个实施例,在该实施例中,写指针w被设定以使得从在实际触发短语tp的开始之前的时间t0开始读出由图6中示出的虚线区域60指示的数据。然而,将理解的是,此预定数目的数据点可以被设定以使得读出的数据的开始恰好与代表触发短语的数据的开始一致,或以使得读出的数据可以仅部分地通过代表触发短语的数据开始。

在图6中例示的实施例中,预定数目的数据点在等于ttpd的时间点t1处结束。换句话说,从读出先前存储的数据用于分析起的时间段在触发短语检测延迟tdd之后立即结束。在一些实施方案中,此延迟可以被补偿,以使得待被分析的数据在更接近于检测到的触发短语的实际结束tph的时间点处结束。

其次,局部触发短语的检测导致控制块42发送命令adapt,如图6中示出的,以激活开关50。因此,在图7中示出的过程的步骤128中,此命令激活增强块48以开始它的适配。这意味着,使增强块48的参数迭代地适配,使得它们收敛到优选值上,如图5中在标注coeff的轴上示出的。此适配的过程,在本文中也被称为“训练”增强块,是基于采样的音频数据来优化滤波器和其他算法分量的系数的过程。此收敛通常要持续一秒的数量级的一段时间的输入数据。

局部触发短语的检测还提示控制块42发送命令turbo到时钟控制器44。此“turbo”命令导致时钟控制器44以比输入数据bin的采样时钟速率更高的时钟速率生成一个时钟信号。这导致以比实时更快(换言之,比将数据写到缓冲器38的速率更快)的时钟速率从缓冲器38读数据。这还可以减少适配的收敛所需要的实际时间。

从此点向前,从缓冲器38连续地读数据(至少直到确定用户已经停止说话为止)。如可以从图6看到的,保持读缓冲器38的速率比实时更高直到缓冲器38的读箭头r在时间tta处大体上赶上写箭头w为止。这意味着,至此开始,被输入到缓冲器38内的数据在基本上相同的时间被输出。

整个触发短语的结束发生在时间tph处。触发检测块40具有有限的处理时间,且因此实际上在时间ttpd通过触发检测块40检测到整个触发短语的结束,时间ttpd在代表触发短语的选定部分的数据在tph处结束之后一个时间间隔tdd。

如上文所提及的,在读出于检测到触发短语之前的时间段期间存储在缓冲器38内的数据的一部分的时间期间使增强块48的参数或系数适配。在图6中示出的实施例中,读出的数据包括一直到时间ttpd为止的所有数据。然而,还可以在更早的点处停止读出此数据。例如,可以基于增强块48的参数收敛在合适的值上将花费的时间的预期来设定读出数据的持续时间。

在已经读出在时间ttpd之前存储的选定数据时,换言之,在时间tp处,命令块42使开关50去激活,如图6中在标注adapt的轴上示出的,且这具有防止增强块48的参数的进一步适配的作用,如图7的步骤130中示出的。适配的参数然后被存储用于进一步使用。作为一个替代方案,可能控制增强块48的适配,以使得参数的收敛的速率被大大降低。在任一种情况下,这具有的作用是,在增强块48的使用期间不存在参数的突然改变,参数的突然改变可能倾向于对输出的质量产生不利影响。从测试语音识别功能14对增强块48的系数的改变的灵敏度可以经验地导出用于系数的改变的最大可允许速率。

在时间tp处,还从控制块42发送命令以激活第二开关52。在图3中的轴souten上示出的此命令过程导致增强块48使用冻结的或仅稍微收敛的系数以处理数据bout且输出经处理的数据sout。

此外,在时间tp处,读箭头r被重置,以使得在那个点之后读出的数据包含在那个点之前读出的数据的至少一部分。因此,在时间tp之前从缓冲器读出且被用来训练语音增强块48的数据和在时间tp之后从缓冲器读出用于通过语音增强块增强的数据之间存在重叠。在图6中示出的实施例中,且如图7的步骤132中示出的,读箭头r被重置到时间点t0——其是读箭头r在时间ttpd处被设定的相同的点,以使得在时间tp之后从缓冲器38读出的数据包含被用来训练语音增强块48的所有数据。在此例示的实施例中,此数据包含整个触发短语tp。然而,取决于语音识别过程的要求,在时间tp之后从缓冲器38读出的数据包含代表触发短语tp的所有数据可能不是必须的,且因此读箭头r可以被重置到任何合适的数据点。

其后,在时间tp之后仍然以比实时更快的速率再次输出来自缓冲器38的数据。

如图6中的线bout中示出的,其后读出的数据是存储在缓冲器38内的代表触发短语tp(在此例示的实施例中)的所有数据和代表命令字c、c2、c3、c4的数据,之后此数据被传递通过语音增强块48以生成修改的数据tp*、c*、c2*、c3*、c4*。

在图7的步骤134中,此增强的数据sout被传输作为输出。

控制块42还可以确定触发短语tp结束和第一命令字c开始的点,在这种情况下,它可以生成一个同步信号tpsync以在时间ttps处(在确定触发短语已经被增强块48处理且因此确定代表第一命令字的修改的数据c*即将开始的时间处)通过控制块42发送。

因此,如可以从图6看到的,在标注sout的轴上,从dsp30输出的数据是经处理的触发短语数据(tp*)和四个经处理的命令字数据段(c*、c2*、c3*和c4*)。此输出的数据因此是经处理的,使得它可以被语音识别引擎或任何其他语音处理器更容易地或更准确地识别。

因此,在图5中示出的且参考图6和图7描述的实施方案中,增强块48的参数的适配比在图2中示出的且参考图3和图4描述的实施方案中更早开始。因此,可能更早开始发送增强的语音数据,减小语音识别系统中的任何处理延迟。

当然,可能的是,接收数据可以包含代表触发短语的选定的第一部分的数据而不包含代表整个触发短语的数据。(用户可以说一个不包含触发短语但是巧合地包含触发短语的选定的第一部分的短语)。因此,当控制块42接收指示已经检测到触发短语的选定部分的信号tpdp时,它监控指示已经检测到整个触发短语的信号tpd的到达。如果从信号tpdp的到达起在预设定的时间内没有生成信号tdp,则可以生成重置信号,以使得增强块48的参数的适配被停止,且没有数据从该增强块输出。在一些实施方案中,触发短语检测器可能能够推断出在此超时消逝之前接收的数据不包含完整的触发字并且可能存在触发短语检测器可以将此传达到控制块(该控制块然后可以立即使增强处理去激活)的信号路径(未例示)。

完整的触发短语的接收的确认也可以被用来使该电路系统或设备的其他零件上电,例如以激活其他处理器核或启用显示屏幕。此外,在一些实施方案中,本地处理器(例如,应用处理器)可以被用来执行一些asr功能,因此信号tpd可以被用来激活处理器的相关联的零件或将适当的软件加载到它上。

图8示出了图1中的dsp30的系统的又一个实施方案。图8中示出的dsp30大部分对应于图2中示出的dsp30,并且这两个图中的对应的特征由相同的参考数字指示,并且将不在本文中进一步描述。

因此,如图2中,来自一个或多个麦克风18的信号被发送到缓冲器38和触发检测块40,该触发检测块检测该信号是否包含代表口语触发短语的数据。控制块42从触发检测块30接收输出信号tpd且响应于那个信号来控制时钟44,且经由缓冲器控制块46控制缓冲器38的有顺序的读和写。缓冲器38的读输出bout被传递到语音增强块48。语音增强块48的自适配功能通过开关装置50控制,该开关装置通过控制块42致动。在增强块48中发生的处理的速率通过来自时钟44的输出控制。语音增强块的输出sout通过第二开关装置52控制,该第二开关装置也通过控制块42致动。同步信号tpsync可以与sout数据信号并行被发送或被嵌入到与sout数据信号相同的信道内。

在图8中示出的实施方案中,该系统特别适合于在包含一个媒体回放源诸如图1中描绘的信号源24的设备中使用。来自信号源24的信号spb被应用到扬声器22以生成引起听者注意的声音。dsp30还包括声学回声消除(aec)块56,该声学回声消除块被连接以接收信号spb,且适于生成一个回声消除信号,该回声消除信号意在被添加到从麦克风输入的信号以消除其中的任何回声成分。它是被用作为如上面描述的输入bin的作为结果的信号。

aec块56是自适配的,且因此它的参数响应于它接收的信号而被调节。然而,在此例示的实施方案中,在增强处理块48的初始适配期间,或当从增强处理块48输出增强的数据时,或这二者时,通过控制块42生成禁用信号“aecdis”。

当禁用信号aecdis是激活的时,开关58被断开,且因此当增强处理块48在适配于bout信号和/或处理它时,防止或减慢声学回声消除块56的适配。这仍然允许通过aec块56执行声学回声消除,但是它暂停该块的参数对声学环境的适配。这具有避免可能由经历适配的aec块56导致的语音路径中的任何伪像的优点。

将理解的是,此实施方案还可以包括局部触发检测块54的存在,该局部触发检测块以与参考图5、图6和图7所描述的方式大致相同的方式起作用。

图9示出了图1中的dsp30的系统的又一个实施方案。图9中示出的dsp30大部分对应于图5中示出的dsp30,并且这两个图中的对应的特征由相同的参考数字指示,并且将不在本文中进一步描述。

如图9中示出的,dsp30对于存在多个麦克风18、20的情况是特别有用的,所述多个麦克风直接地或间接地产生相应的输入信号bin1,…,binn,且这些信号被传递到循环缓冲器38、第一触发检测块70和第二触发检测块72。

如参考图2所描述的,输入数据可以被连续地发送到缓冲器38、第一触发检测块70和第二触发检测块72,或可以提供一个信号活动检测块,使得仅当确定输入信号包含某个最小信号活动时,数据才被发送到缓冲器38、第一触发检测块70和第二触发检测块72或由缓冲器38、第一触发检测块70和第二触发检测块72接收或处理。换句话说,在一些实施方案中,信号活动检测块(未例示)可以导致缓冲器和触发检测块二者都被去激活,除非在输入信号中检测到至少某个最小信号活动。在一些实施方案中,信号活动检测块可以导致触发检测块被去激活,除非在输入信号中检测到至少某个最小信号活动,但是保持缓冲器激活以连续地缓冲输入信号。连续地缓冲输入信号可以允许在信号活动检测器的响应时间期间到达的输入信号数据被保存用于稍后使用,例如,以允许触发短语检测使用甚至此最早的数据。

第一触发检测块70使用相对宽松的检测标准来检测接收数据是否包含代表口语触发短语的数据,意味着第一触发检测块70具有非常高的识别到数据中的触发短语的可能性,但是具有对应地较高的误报(falsepositive)(换言之,检测到事实上未说的触发短语的存在)的风险。第二触发检测块72也检测接收数据是否包含代表口语触发短语的数据,但是使用相对严格的检测标准,意味着,第二触发检测块72具有较低的产生误报检测的风险。第一触发检测块与第二触发检测块相比可以不那么复杂,且因此当激活时可以消耗较少的功率和/或计算密集性较少。第二触发检测块可以仅在第一触发检测块已经检测到可能的触发短语之后被激活。

来自所有麦克风的信号bin1,…,binn可以被传递到第一触发检测块70,但是可以优选的是仅选择麦克风18、20中的一个,且仅供应对应的输入信号到第一触发检测块70。待被选择的麦克风可以被预先指定且被硬连线或被传递通过具有固定的控制输入值的选择器74。替代地,在使用中可以通过未例示的某个附加的电路系统选择麦克风,例如,先前接收最响的话音输入的麦克风、或(借助于某个低频轮询)最近接收最多信号活动的麦克风、或基于如通过某个其他传感器检测的主机设备的定向。

在此例示的实施方案中,语音增强块48表现为波束形成器的形式,该波束形成器从多个麦克风源(其可以有利地是至少有些方向性的,且位于主机设备上使得它们检测来自不同方向的声音)接收数据,且以输入信号的选择和/或组合的形式生成一个输出信号。可以例如通过将不同的权重和定相应用到输入信号来从输入信号获得该输出信号。因此,在中等嘈杂的环境中,输出信号可以加强来自通常指向说话人的一个或多个麦克风的信号,且可以抑制来自指向一个背景噪声源的一个或多个麦克风的信号,以产生一个具有比单独使用任何单个的所述麦克风可实现的更高的信噪比的输出信号。波束形成器也可以将相对时间延迟应用到从麦克风源接收的信号。来自被定向成使得声学信号以某个相对时间延迟到达单独的麦克风的声音源的信号将在应用一个补偿时间延迟且然后将所述信号加起来时增强。来自被定向成使得声学信号以某个时间延迟反相到达单独的麦克风的声音源的信号将在应用一个补偿时间延迟且然后将所述信号加起来时消除,因此对如此定向的声音源提供空值响应。例如,可以将来自移动电话的正面上的两个或更多个麦克风的信号加起来以提供正交于该电话的正面的峰值响应,在当用户注视该电话时用户的声音可能来自的方向上,且以与该电话的面成使背景噪声可能来自用户的头部后面的角度提供空值。通过更改应用到这些麦克风信号的相对延迟,峰值响应的方向可以被调节以更好地与用户的实际方向对齐。

在适配的延迟的值被令人满意地收敛之前,此调节可能需要基于实际接收到的信号在可能地大约一秒的时间跨度期间的适配。对于具有更多个麦克风的系统,每个的相对延迟和权重可以被适配。在一些实施方案中,麦克风中的一些或所有可以被设计具有一个蓄意的方向性以补充由数字处理提供的方向性以有助于来自预期方向的声音的接收。此适配的过程,在本文中也被称为“训练”增强块,是基于采样的音频数据来优化滤波器和其他算法分量的系数的过程。在呈波束形成器的形式的增强块的情况下,训练或适配配置例如波束形成器的方向性。通过使用来自多个麦克风的音频数据来训练算法,可能识别语音源且配置波束形成器的滤波器,使得它们增强来自最响的语音源的方向的音频内容且使来自其他源的音频衰减。

图10示出了图9中示出的系统的操作的一个实施例,且图11是示出执行的过程的流程图。图7中示出的过程从步骤152开始,在步骤152中,在麦克风18、20接收的声学信号被转换为代表检测到的声音的数字电信号bin1,…,binn。在步骤154中,这些麦克风信号中的一个或多个被存储在缓冲器38内。图10中的标注bin的轴示出了在任何给定时间接收和写到缓冲器38内的数据。可以通过由麦克风18记录的增大超过一个阈值的声音水平来激活将数据写到缓冲器38的开始。在其他实施方案中,缓冲器38可以连续地写。随着在图10中示出的时间推移,缓冲器38包含预数据(pd)、触发短语数据(tp)和四个命令字数据段(c、c2、c3、c4),所述预数据代表在用户开始说预定义的触发短语之前通过缓冲器38记录的数据。

如图11的步骤156中示出的,第一触发检测块70连续地试图在一个或多个接收的信号中检测触发短语的选定部分。在此实施例中,触发短语的选定部分是整个触发短语,尽管在其他实施方案中,触发短语的选定部分可以仅是触发短语的一部分,例如,仅是触发短语的第一半部或一小部分,以允许更迅速的响应,或触发短语的第二半部或一小部分,以通过某个在前的更一般的信号活动检测器,允许触发短语检测器的激活中的延迟。第一触发检测块70不可避免地具有有限的处理时间,且因此实际上在时间ttpd1处通过第一触发检测块70检测到触发短语的选定部分的结束且由输出tpd1标记(图10),时间ttpd1在代表触发短语的选定部分(在此实施例中整个触发短语)的数据在tph处结束之后一个时间间隔tdd。

如上文所提及的,第一触发检测块70使用相对宽松的检测标准进行它的检测,意味着,它具有非常高的识别到数据中的触发短语的可能性,但是具有重大的误报的风险。

通过第一触发检测块70的检测启动了许多过程。首先,缓冲器38的输出bout被激活,且缓冲器38的读指针r被设定以从自写箭头w的当前位置在时间上退后某个数量的数据点起读。因此,从时间ttpd1,缓冲器的输出开始输出先前存储的数据:从某个时间ts起的数据,比如说时间ts等于tphs。

在时间ttpd1处,缓冲器38将包含从某个先前时间tbs1(取决于缓冲器的大小)直到ttpd1读的数据。实际上,触发短语的确切持续时间将不是预先已知的,因此为了确保读出的数据包含代表触发短语的所有数据(如图10中的bin线中的tp示出的),可以读出从tbs1直到ttpd1的所有数据。

然而,在一些实施方案中,第一触发检测块70可以递送以下中的至少一个的良好估计:(a)触发短语的实际结束的时间tph;或(b)触发短语实际开始的时间tphs。如图10中例示的,在线bout上读出的数据因此可以从等于tphs的时间ts持续到等于tph的时间tf。因此,在训练语音增强块48中实际使用的数据包含代表触发短语的所有数据(如图10中的bin线中的tp示出的)且不包含之前的或之后的非触发短语声音数据。

其次,局部触发短语的检测导致控制块42或许通过控制时钟线ck或某个控制线(未例示)来激活增强块48且激活如通过由命令线“adapt”控制的开关装置50代表的增强块48的适配,如图10中示出的(虽然此开关表现为特殊的程序流的形式,而不是物理开关)。因此,在图11中示出的过程的步骤158中,此命令激活增强块48以开始它的适配。这意味着,使增强块48的参数迭代地适配,使得它们收敛到优选值上,如图10中在标注“coeff”的轴上示出的。此收敛通常花费一秒的数量级的一段时间。

如上文所讨论的,在此实施例中,增强块48可以是波束形成器,且因此适配的过程涉及选择应用到多个麦克风信号的权重和定相,以生成具有较高信噪比的输出信号。

例如,波束形成器适配算法可以连续地追踪最响的类似话音的信号,以使得波束总是指向此信号。因此,有利的是,用来使波束形成器适配的数据仅包括最可能被用户说的已知的触发短语,而不是也包括在该触发短语之前或之后出现的其他声音,所述其他声音可能包括例如来自其他人或来自附近的电视或公共广播系统的背景语音,该算法可能错误地试图将波束引导朝向所述其他声音。此外,该适配可以被优化朝向触发短语(例如,关于它的可能的频谱)以帮助拒绝同时发生的背景噪声。此外,不处理不相干的采样避免了消耗不必要的功率且可以降低最大处理速度要求。此外,处理时间的任何减少可以减少在过渡时期对连续缓冲的需要,且任何预数据(pd)的早期丢弃可以减少缓冲大小要求。

触发短语或其部分的第一检测还提示控制块42发送命令“turbo”到时钟控制器44。此“turbo”命令导致时钟控制器44以比输入数据bin的采样时钟速率更高的时钟速率生成一个时钟信号。这导致以比实时更快(换言之,比将数据写到缓冲器38的时钟速率更快)的时钟速率从缓冲器38读数据。

从此点向前,从缓冲器38连续地读数据(至少直到确定用户已经停止说话为止)。如可以从图10看到的,保持读缓冲器38的速率比实时更高直到缓冲器38的读箭头r在时间tta处大体上赶上写箭头w为止。这意味着,至此开始,被输入到缓冲器38内的数据在基本上相同时间被输出。

整个触发短语的结束发生在时间tph处。第一触发检测块70具有有限的处理时间,且因此实际上在时间ttpd1处通过触发检测块70检测到整个触发短语的结束,时间ttpd1在代表触发短语或其选定部分的数据在tph处结束之后一个时间间隔tdd。

如上文所提及的,在读出于检测到触发短语之前的周期期间存储在缓冲器38内的数据的一部分的时间期间使增强块48的参数或系数适配。在图10中示出的实施例中,读出的数据包括一直到时间tph为止的所有数据。然而,还可以在较早的点处停止读出此数据。例如,可以基于增强块48的参数收敛于合适的值上将花费的时间的预期来设定读出数据的持续时间。

在已经读出在时间tph之前存储的选定数据时(换言之,在时间tp处),命令块42借助于如图9中结合开关50例示的且如图10中在标注“adapt”的轴上示出的控制信号adapt使增强块48的参数的进一步适配去激活,如图11的步骤160中示出的。适配的参数然后被存储用于进一步使用。作为一个替代方案,可能控制增强块48的适配,以使得参数的收敛的速率被大大降低。在任一种情况下,这具有的作用是,在增强块48的使用期间不存在参数的突然改变,参数的突然改变可能倾向于对输出的质量产生不利影响。从测试语音识别功能14对增强块48的系数的改变的灵敏度可以经验地导出用于系数的改变的最大可允许速率。

在时间tp处,读箭头r被重置,以使得在那个点之后从缓冲器38读出的数据包含在那个点之前读出的数据的至少一部分。因此,在时间tp之前从缓冲器读的且被用来训练语音增强块48的数据和在时间tp之后从缓冲器读的用于通过语音增强块增强的数据之间存在重叠。

在图10中示出的实施例中,且如图11的步骤162中示出的,读箭头r被重置到时间点ts——其是读箭头r在时间ttpd1处被设定的相同的点,以使得在时间tp之后从缓冲器38读出的数据包含被用来训练语音增强块48的所有数据。在此例示的实施例中,此数据包含整个触发短语tp。然而,取决于语音识别过程的要求,在时间tp之后从缓冲器38读出的数据包含代表触发短语tp的所有数据可能不是必须的,且因此读箭头r可以被重置到任何合适的数据点。

其后,在时间tp之后仍然以比实时更快的速率再次输出来自缓冲器38的数据。

如图10中在线bout中示出的,其后从初始时间ts开始到时间tf读出的数据是代表触发短语tp的存储在缓冲器38内的数据的一部分,即,从tphs到tph(在此例示的实施例中——在其他实施例中读出的数据还可以包括一些更早或更晚的数据)。

如图9中示出的,语音增强块48的输出被供应到第二触发检测块72的输入。因此,在图11中示出的过程的步骤164中,第二触发检测块72对语音增强块48的由从缓冲器38的存储器读出的数据tp产生的输出tp*执行触发检测过程,其中语音增强块48使用冻结的或仅缓慢收敛的系数。

第二触发检测块72可以被配置以使得它检测它接收的数据中代表特定的触发短语的数据的存在,或可以被配置以使得它在特定的说话人说指定的触发短语时检测代表该指定的触发短语的数据的存在。第二触发检测块72被调谐以使得它具有低错误接受率。因此,第二触发检测块72被配置以使得它具有比第一触发检测块70更严格的检测标准。换言之,存在某些输入信号,所述某些输入信号作为包含触发短语而被第一触发检测块70接受,但是作为不包含触发短语而被第二触发检测块72拒绝。

在此实施方案中,第二触发检测块72受益于它对已经经过语音增强块48且因此已经减小了噪声水平的输入信号tp*起作用的事实。减小的噪声水平还可以使在此块中提供更可靠的说话人识别功能可行,不仅为了核实定义的语音短语的存在而且为了核实说它的人的身份。

第二触发检测块72具有有限的处理时间,且因此仅可能确定在时间ttpd2处存在触发短语,时间ttpd2比增强的数据tp*的结束被传递到第二触发检测块72的时间晚时间tdd2。如果在图11的步骤164中第二触发检测块72发现触发短语存在,则第二触发检测块72发送信号tpd2到控制块42,且该过程行进到步骤166,且代表命令字c、c2、c3、c4的数据被传递通过语音增强块48以生成修改的数据c*、c2*、c3*、c4*。

在时间tpd2处,(或更确切地稍微更晚,例如,为了允许语音增强块48中的任何处理延迟或传播延迟)还从控制块42发送图10中例示的命令souten,以导致在如通过第二开关52示意性例示的线sout输出从增强块48输出的增强的数据。在图11的步骤168中,此增强的数据sout作为一个输出传输。

在此实施例中,如图10中例示的,传输的数据最初在第一命令字的潜在的开始时间(即,在tph处,在触发短语的结束时)从数据c开始。

可以在开关52之前提供一个缓冲器(例如,先进先出缓冲器),以使得增强的数据的第一部分被存储。此fifo缓冲器的内容然后仅在第二触发检测块72检测到触发短语的存在的情况下才可以被供应到语音识别系统的输出上,否则可以被丢弃。因此,否则丢弃的增强的触发短语数据tp*还可以被传输以使其可用于下游信号处理。在图9中例示了fifo缓冲器76,但是为了简化起见,图10未例示此工作模式:在例示的模式中fifo被有效地旁通。

控制块42还可以确定触发短语tp结束且第一命令字开始的点,在这种情况下,它可以生成一个同步信号tpsync以在时间ttps处(在确定触发短语已经被增强块48处理且因此确定代表第一命令字的修改的数据c*即将开始的时间处)通过控制块42发送。此特征在增强的触发短语数据(例如,从fifo)被传输的情况下是有用的。

因此,如可以从图10看到的,在标注sout的轴上,从dsp30输出的数据包括触发短语数据的增强版本(tp*)和四个经处理的命令字数据段(c*、c2*、c3*和c4*)。因此,此输出的数据已经被处理(例如,被传递通过一个波束形成器),使得它可以被语音识别引擎或任何其他语音处理器更容易地或更准确地识别。

因此,在图9中示出的且参考图10和图11描述的实施方案中,使用增强块(诸如,波束形成器)的优点可以被实现,但是在背景声音不包含语音时通过运行该波束形成器不连续地使用功率,且不需要对将在下游被处理的语音信号执行适配(这具有的缺点是,这样的适配可以导致在语音信号中出现伪像,对自动语音识别系统造成困难)。

因为用宽松的标准调谐第一触发检测块70,在实际上没有说触发短语的情况下,第一触发检测块70将识别接收数据中的触发短语是很可能的。因此,当控制块42接收指示第一触发检测块70已经检测到触发短语的信号tpd1时,它监控指示已经通过使用其更严厉的、更严格的检测标准的第二触发短语检测块72检测到触发短语的信号tpd2的到达。如果在从信号tpd1的到达起的预设定的时间内没有生成信号tpd2,则在图11中示出的过程的步骤170中,可以生成一个重置信号,以使得增强块48的参数的适配被停止,且没有数据从增强块输出。

触发短语的接收的确认还可以被用来使该电路系统或设备的其他零件上电,例如,以激活其他处理器核或启用显示屏幕。此外,在一些实施方案中,本地处理器(例如,应用处理器)可以被用来执行一些asr功能,因此信号tpd可以被用来激活处理器的相关联的零件或将适当的软件加载到它上。

图12示出了图1中的dsp30的系统的又一个实施方案。图12中示出的dsp30大部分对应于图9中示出的dsp30,并且这两个图中的对应的特征由相同的参考数字指示,并且将不在本文中进一步描述。

因此,如图9中,来自多个麦克风18、20的信号被发送到缓冲器38。还存在第一触发检测块70,该第一触发检测块检测它接收的数据是否代表一个预定的触发短语。控制块42接收来自触发检测块40的输出信号tpd1且响应于那个信号来控制从缓冲器38的有顺序的读。缓冲器38的读输出bout被传递到语音增强块48,该语音增强块可以表现为自适配波束形成器功能的形式或可以至少包括自适配波束形成器功能。语音增强块48的适配被例示为通过开关装置50控制,该开关装置通过控制块42致动。该语音增强块的输出可以被供应到第二触发短语检测块,该第二触发短语检测块在它检测到增强的语音信号中触发短语的存在时发送输出信号tpd2到控制块42。该语音增强块的输出sout被控制,如通过第二开关装置52例示的,该第二开关装置也通过控制块42致动。同步信号tpsync可以与sout数据信号并行被发送或被嵌入在与sout数据信号相同的信道内。

在图12中,提供了第三开关80,用于控制来自缓冲器38的信号是否被传递到语音增强块48。

此外,提供了信号活动检测块82,用于检测环境噪声水平,且用于生成和发送控制信号到触发短语检测块和控制块42。除了识别沉默或几近沉默之外,信号活动检测块82还表征环境噪声以证实下游语音识别是否会是可能的,且如果是可能的,则证实语音增强是否将在执行语音识别之前提供显著的益处。此表征可以例如使用仅来自多个麦克风中的一个的信号(诸如,bin1)。该表征可以在一个相当长的时段内进行,其中应用显著的时间迟滞以使得短的沉默间隔或突然的尖锐噪声不导致采取不适当的行动。

信号活动检测块82检测环境噪声是否落入四种类别之一。

如果存在沉默,则下游语音识别系统可以被掉电,由于不存在让它识别的东西,因此可以发送合适的控制信号到它。此外,在一些实施方案中,触发短语检测块可以被掉电或被放置于低功率状态直到一个可用的信号出现为止。

如果噪声水平是低的,则语音识别应很好地工作,因此至少第一触发检测块是激活的,但是语音增强是不必要的且因此增强块可以被旁通且被去激活。还可能期望使至少一些麦克风去激活,节省它们将消耗的功率。

如果噪声水平是非常高的,则语音识别将不会很好地工作,甚至与语音增强一起也不会很好地工作,且因此可以发信号通知语音识别系统以进入低功率状态或掉电。

在中级噪声水平,语音识别将工作,且因此至少第一触发检测块可以是激活的(同时第二触发检测器可以是激活的或可以响应于第一触发检测事件而被激活)。此外,语音增强可能改进下游语音识别的操作,且因此可以使增强块进入以下状态:在该状态中,它是响应于触发短语检测事件(例如,在波束形成器的情况下,从多个麦克风接收信号)可启用的。

关于以图9的dsp为基础的dsp描述了信号活动检测器的操作。类似的操作和控制也可能联合上文公开的其他dsp实施方案。

这些可以被总结如下:

(*)响应于上游触发短语检测可启用。

如上文所提及的,信号活动的实际开始和通过信号活动检测块对它的检测之间可能存在时间延迟。如果第一信号实际上是说触发短语的用户,且如果第一触发检测器最初被禁用,则第一触发检测器可能漏掉口语触发短语的开始且未能检测到它。因此,第一触发短语检测器的输入可以表现为通过来自控制块42的一个单独的地址指针控制的缓冲器38的输出的形式,因此恢复延迟的数据流以允许信号活动检测中的延迟。

替代地,可以优选的是,保持第一触发检测器与信号活动检测器永久地并行启用。因为它是一个简单的检测器,所以它可能不消耗很多功率。然而,语音增强块的旁通和禁用仍然可以通过信号活动块控制。

因此,提供了一种在维持系统的低功率操作的同时允许输出增强的数据的语音处理系统。

本领域技术人员将认识到,上文所描述的装置和方法的一些方面(例如,通过处理器执行的计算)可以体现为处理器控制代码,例如,在非易失性载体介质(诸如,磁盘、cd-rom或dvd-rom、程序化存储器诸如只读存储器(固件))上或在数据载体(诸如,光学信号载体或电信号载体)上。对于许多应用,本发明的实施方案将被实施在dsp(数字信号处理器)、asic(专用集成电路)或fpga(现场可编程门阵列)上。因此,代码可以包括常规程序代码或微代码或例如用于设立或控制asic或fpga的代码。代码还可以包括用于动态地配置可重新配置的装置(诸如,可再编程逻辑门阵列)的代码。类似地,代码可以包括用于硬件描述语言(诸如,verilogtm或vhdl(超高速集成电路硬件描述语言))的代码。如本领域技术人员将理解,代码可以被分布在彼此通信的多个耦合的部件之间。在适当的情况下,还可以使用在现场可(再)编程模拟阵列或类似的设备上运行以配置模拟硬件的代码来实施所述实施方案。

应注意,上文提及的实施方案是例示本发明而不是限制本发明,并且在不偏离随附权利要求的范围的情况下,本领域技术人员将能够设计许多替代实施方案。词语“包括”不排除除了在权利要求中列出的那些元件或步骤之外的元件或步骤的存在,“一”或“一个”不排除多个,并且单个特征或其他单元可以实现权利要求中列举的若干个单元的功能。词语“放大”也可以意指“衰减”,即,减少以及增加且反之亦然,且词语“加上”也可以意指“减去”,即,减少以及增加且反之亦然。权利要求中的任何参考数字或参考标注不应被解释为对所述权利要求范围的限制。

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