掌桥专利:专业的专利平台
掌桥专利
首页

设备唤醒方法、存储介质及电子装置

文献发布时间:2024-04-18 20:01:23


设备唤醒方法、存储介质及电子装置

技术领域

本申请涉及智能家居/智慧家庭技术领域,尤其涉及一种设备唤醒方法、存储介质及电子装置。

背景技术

随着语音技术的发展,越来越多的家庭存在多个语音网络设备。如空调、洗衣机、热水器和冰箱等,均带有语音唤醒功能,当这些语音网络设备处于同一个空间时,且用户发送语音,以唤醒设备的情况下,会出现一呼百应的问题,导致设备的执行重复和多个设备同时交互,用户体验差。

针对这种现象,现在大多的语音设备都支持分布式唤醒,选取组内距离用户最近的设备唯一唤醒。如图1所示,为现有技术的设备唤醒方法的流程示意图,具体步骤包括:在时间窗口T内没有接收齐全家庭组内全部设备的唤醒请求的情况下,需要依靠终端设备的超时机制进行唤醒。其中,超时机制具体为:各个终端设备在接收到唤醒请求后,会向云端上传本设备的打分信息;并在上传打分信息后,开始计时,在T1时间内等待云端判决,如果在T1时间内接收到判决,则根据判决结果进行唤醒或者不唤醒,如果在T1时间内没有接收到判决,则终端超时唤醒。

由于云端下发抑制事件和唤醒事件以及终端上传打分信息到云端,都会受到网络波动的影响,很容易造成组内终端设备超时唤醒,进而同时唤醒;另外,同时不同设备对于同一次唤醒请求的唤醒时间不同,这也会导致设备上传云端的时间有差异,导致组内设备的同时唤醒。

综上,现有技术中的设备唤醒方法,由于网络波动或者唤醒引擎唤醒时间波动,引起终端设备在等待云端判决超时后同时唤醒,导致设备唤醒准确性低,影响用户体验感。

发明内容

本申请提供一种设备唤醒方法、存储介质及电子装置,用以解决现有技术中由于网络波动或者唤醒引擎唤醒时间波动,引起终端设备在等待云端判决超时后同时唤醒,导致设备唤醒准确性低,影响用户体验感的缺陷,实现对设备进行精准唤醒,提高用户体验感。

本申请提供一种设备唤醒方法,包括:

接收目标分组内至少一个终端设备发送的唤醒请求;

在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;

在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

根据本申请提供的一种设备唤醒方法,所述接收目标分组内至少一个终端设备发送的唤醒请求,包括:

对于每一终端设备执行如下操作:

接收当前终端设备发送的第一唤醒请求;

根据所述第一唤醒请求中的会话标识,确定所述第一唤醒请求是否属于当前会话场景;

在确定所述第一唤醒请求属于当前会话场景的情况下,确定所述第一唤醒请求的接收时间是否超出所述目标时间窗口;

在确定所述第一唤醒请求的接收时间未超出所述目标时间窗口的情况下,继续接收下一终端设备发送的第二唤醒请求,直到所述第二唤醒请求的接收时间超出所述目标时间窗口。

根据本申请提供的一种设备唤醒方法,所述方法,还包括:

在确定所述第一唤醒请求的接收时间未超出所述目标时间窗口的情况下,将所述第一唤醒请求中的唤醒能量值与所述目标时间窗口内接收到的历史终端设备发送的第三唤醒请求中的唤醒能量值进行比较;其中,所述历史终端设备与所述当前终端设备属于同一会话场景,且属于同一目标分组;

在根据比较结果,确定所述第一唤醒请求中的唤醒能量值大于所述第三唤醒请求中的所有唤醒能量值的情况下,向所述当前终端设备发送等待判决事件,以指示所述当前终端设备等待判决,同时继续接收所述下一终端设备发送的第二唤醒请求;

在根据所述比较结果,确定所述第一唤醒请求中的唤醒能量值小于或等于所述第三唤醒请求中的任一唤醒能量值的情况下,向所述当前终端设备发送抑制唤醒事件,以抑制唤醒所述当前终端设备,同时继续接收所述下一终端设备发送的第二唤醒请求。

根据本申请提供的一种设备唤醒方法,所述根据所述第一唤醒请求中的会话标识,确定所述第一唤醒请求是否属于当前会话场景,包括:

分别计算所述会话标识对应的唤醒时间戳和所述当前会话场景内每一历史唤醒请求对应的唤醒时间戳之间的差值;

根据所述差值和所述当前会话场景对应的时间窗口长度,确定所述第一唤醒请求是否属于所述当前会话场景。

根据本申请提供的一种设备唤醒方法,所述根据所述差值和所述当前会话场景对应的时间窗口长度,确定所述第一唤醒请求是否属于所述当前会话场景,包括:

将所述差值中的最大值与所述当前会话场景对应的时间窗口长度进行比较;

在确定比较结果为所述差值中的最大值大于所述时间窗口长度的情况下,确定所述第一唤醒请求不属于所述当前会话场景;

在确定所述比较结果为所述差值中的最大值小于或等于所述时间窗口长度的情况下,确定所述第一唤醒请求属于所述当前会话场景。

根据本申请提供的一种设备唤醒方法,所述方法还包括:

在确定所述第一唤醒请求不属于当前会话场景的情况下,根据所述第一唤醒请求中的会话标识对应的唤醒时间戳,重新确定所述目标时间窗口。

根据本申请提供的一种设备唤醒方法,所述方法还包括:

在确定唤醒请求的接收时间超出所述目标时间窗口的第一终端设备与唤醒请求的接收时间在所述目标时间窗口内的第二终端设备属于同一会话场景的情况下,向所述第一终端设备发送抑制唤醒事件,以抑制唤醒所述第一终端设备。

根据本申请提供的一种设备唤醒方法,所述向所述待唤醒终端设备发送唤醒事件,包括:

根据所述待唤醒终端设备发送的唤醒请求,获取所述待唤醒终端设备的端口号;

根据所述待唤醒终端设备发送的唤醒请求中的唤醒词,生成所述唤醒事件;

根据所述端口号对应的设备端口,向所述待唤醒终端设备发送所述唤醒事件。

根据本申请提供的一种设备唤醒方法,所述根据所述待唤醒终端设备发送的唤醒请求,获取所述待唤醒终端设备的端口号,包括:

从所述待唤醒终端设备发送的唤醒请求中解析出所述待唤醒终端设备的标识;

根据所述标识,获取所述待唤醒终端设备的端口号。

本申请还提供一种设备唤醒装置,包括:

接收模块,用于接收目标分组内至少一个终端设备发送的唤醒请求;

确定模块,用于在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;

唤醒模块,用于在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

本申请还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行实现如上述任一种所述设备唤醒方法。

本申请还提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行实现如上述任一种所述设备唤醒方法。

本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述设备唤醒方法。

本申请提供的设备唤醒方法、存储介质及电子装置,通过云端在确定唤醒请求的接收时间超出目标时间窗口,且在目标时间窗口内未接收到目标分组内所有终端设备发送的唤醒请求的情况下,由云端向目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备发送唤醒事件,以对目标分组内的终端设备进行唯一唤醒,避免一呼百应,有效提高设备唤醒的准确率,进而提升用户的体验感。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是现有技术提供的设备唤醒方法的流程示意图;

图2是本申请提供的设备唤醒方法的流程示意图之一;

图3是本申请提供的设备唤醒方法的流程示意图之二;

图4是本申请提供的设备唤醒装置的结构示意图;

图5是根据本申请实施例的一种设备唤醒方法的硬件环境示意图;

图6是本申请提供的电子装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示为现有技术的设备唤醒方法的流程示意图,具体步骤如下:

各个设备在接收到唤醒语音后会向云端上传本设备的打分信息;其中,打分信息是根据唤醒词进行计算后得到的能量值;云端在一定的时间窗口T内接收到各设备上传的打分信息后,进行两两判决,对打分小的设备下发抑制事件。

如果在时间窗口T内接收到家庭组内全部设备的唤醒请求,那么会给打分最大的设备下发唤醒事件。

如果在时间窗口T内没有接收齐全家庭组内全部设备的唤醒请求,如没有全部唤醒或者未上传成功等,那么不会给打分最大的设备下发唤醒事件,需要依靠终端设备内部的超时机制进行设备唤醒。

其中,超时机制具体的工作原理如下:

各个设备在接收到唤醒语音后会向云端上传本设备的打分信息并开始计时,在T1时间内等待云端判决,如果在T1时间内接收到判决,则根据判决结果进行唤醒或者不唤醒,如果在T1时间内没有接收到判决,则在超时后自动进行唤醒。

由于云端下发抑制事件和唤醒事件以及终端上传打分信息到云端,都会受到网络波动的影响,造成数据传输延时,进而导致组内多个设备超时唤醒,同时唤醒;并且同时不同设备对于同一次唤醒的唤醒时间不同,这也会导致设备上传云端的时间有差异,导致组内多个设备的同时唤醒。因此,现有技术中,由于网络波动或者唤醒引擎唤醒时间波动,都会引起多个设备在等待云端判决超时后同时唤醒,无法对设备进行准确唤醒,影响用户体验感。

针对现有技术中存在的设备唤醒准确性地,用户体验差的问题,本实施中提出一种设备唤醒方法,该方法中设备向云端发送唤醒请求后,一直等待云端返回唤醒决策结果,完全根据云端返回唤醒决策结果决定唤醒或者不唤醒,终端语音设备不设置终端超时逻辑;云端在确定唤醒请求的接收时间超出目标时间窗口,且在目标时间窗口内未接收到目标分组内所有设备发送的唤醒请求的情况下,由云端向目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的设备发送唤醒事件,以对目标分组内的设备进行唯一唤醒,有效解决在同一空间分组内的多个设备同时唤醒的问题,避免一呼百应,实现唯一唤醒,大大提高设备唤醒的准确性,提升用户的体验感。

下面结合图2和图3描述本申请实施例的设备唤醒方法,该方法可用于多种厂家设备唤醒的场景中,如客厅内、卧室内、书房内等;该方法的执行主体可以为设备唤醒装置,该装置为云端等设备集中控制平台,本实施例对此不作具体地限定。

如图2所示,本实施例提供一种设备唤醒方法,该方法包括如下步骤:

步骤201,接收目标分组内至少一个终端设备发送的唤醒请求;

其中,目标分组可以根据终端设备所在空间位置进行确定,也可以根据终端设备所连接的通信网络进行确定等,本实施例对此不作具体地限定。

目标分组中包括的终端设备的数量可以根据实际场景进行确定。

终端设备为具有语音唤醒功能的设备,包括但不限于手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备等。

需要说明的是,本实施例中的终端设备不具备终端超时逻辑,完全根据云端下发的唤醒决策结果决定唤醒或者不唤醒。

目标分组内不同终端设备发送唤醒请求的时间不同,相应地,云端接收不同终端设备发送唤醒请求的接收时间不同。

可选地,用户在需要对目标分组内的终端设备进行控制时,可发送唤醒语音,目标分组内的每一终端设备接收到唤醒语音后,可在相应时刻将各自的唤醒请求发送至云端,并一直处于等待唤醒状态,直到接收到云端根据唤醒请求下发的唤醒决策结果。

云端在接收到第一个终端设备的唤醒请求时,启动目标时间窗口T2,持续监测目标分组内至少一个终端设备在各自相应时刻发送的唤醒请求,以获取终端设备发送的唤醒请求,并根据唤醒请求对各终端设备进行唤醒决策。

步骤202,在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;

其中,接收时间为云端接收到终端设备的唤醒请求的时间;

目标时间窗口为云端进行唤醒决策的时间窗口,其长度可以根据实际会话场景进行设置,其起始时刻可以根据在当前会话场景中接收到的第一个终端设备发送的唤醒请求的时间进行确定。

接收时间超出目标时间窗口可以理解为接收时间大于目标时间窗口中的最后一个时间点。

每一终端设备发送的唤醒请求中携带有该终端设备的唤醒能量值。

唤醒能量值是由终端设备对接收到的唤醒语音中唤醒词对应的唤醒音频的能量值进行计算得到的。

可选地,在接收目标分组内每一终端设备在各自相应时刻发送的唤醒请求的同时,还需要监测每一终端设备的唤醒请求的接收时间是否超出目标时间窗口。在确定任一终端设备的唤醒请求的接收时间超出目标时间窗口的情况下,根据目标时间窗口内接收到的所有唤醒请求,确定在目标时间窗口内是否完全接收到目标分组内所有终端设备发送的唤醒请求,即目标分组内的终端设备是否在目标时间窗口内全部接收到唤醒语音或者唤醒请求全部上传成功。如目标分组内共有5个终端设备,而在目标时间窗口内仅接收到其中3个终端设备的唤醒请求,即确定在目标时间窗口内未完全接收到目标分组内所有终端设备发送的唤醒请求。

步骤203,在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

可选地,在确定未接收到目标分组内所有终端设备发送的唤醒请求的情况下,将目标时间窗口内接收到的各终端设备的唤醒请求中的唤醒能量值进行两两对此,以确定唤醒能量值最大的待唤醒终端设备;并向唤醒能量值最大的待唤醒终端设备下发唤醒事件,以唯一唤醒待唤醒终端设备。

在确定在目标时间窗口内接收到目标分组内所有终端设备发送的唤醒请求的情况下,将目标时间窗口内接收到的各终端设备的唤醒请求中的唤醒能量值进行两两对此,并给唤醒能量值较低的终端设备下发抑制唤醒事件,最终将唤醒事件下发至唤醒能量值最高的终端设备,以对终端设备进行唯一唤醒,当前会话场景结束。

本实施例中云端在确定唤醒请求的接收时间超出目标时间窗口,且在目标时间窗口内未接收到目标分组内所有终端设备发送的唤醒请求的情况下,由云端向目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备发送唤醒事件,以对目标分组内的终端设备进行唯一唤醒,避免一呼百应,有效提高设备唤醒的准确率,进而提升用户的体验感。

在上述实例的基础上,本实施例中所述接收目标分组内至少一个终端设备发送的唤醒请求,包括:

对于每一终端设备执行如下操作:

接收当前终端设备发送的第一唤醒请求;

根据所述第一唤醒请求中的会话标识,确定所述第一唤醒请求是否属于当前会话场景;

在确定所述第一唤醒请求属于当前会话场景的情况下,确定所述第一唤醒请求的接收时间是否超出所述目标时间窗口;

在确定所述第一唤醒请求的接收时间未超出所述目标时间窗口的情况下,继续接收下一终端设备发送的第二唤醒请求,直到所述第二唤醒请求的接收时间超出所述目标时间窗口。

其中,每一终端设备发送的唤醒请求中还携带有该终端设备的会话标识。每一终端设备与每一会话标识一一对应;会话标识用于标识每一终端设备发送的唤醒请求所属的会话场景。

会话标识可以由该终端设备根据该终端设备的唤醒时间戳确定。唤醒时间戳为唤醒时间对应的时间戳,可精确到ms(毫秒)。

需要说明的是,云端和各终端设备均设置时钟同步机制,以使云端和各终端设备中时钟同步。

可选地,步骤201具体包括:

对于目标分组内每一终端设备执行如下操作:

接收当前终端设备在相应时刻发送的第一唤醒请求;并从第一唤醒请求中解析出会话标识sessionid,根据sessionid确定第一唤醒请求是否属于当前会话场景。

在确定第一唤醒请求属于当前会话场景的情况下,继续将第一唤醒请求的接收时间与目标时间窗口进行比较,以确定第一唤醒请求的接收时间是否超出目标时间窗口;

在确定第一唤醒请求的接收时间未超出目标时间窗口的情况下,继续接收下一终端设备发送的第二唤醒请求,直到第二唤醒请求的接收时间超出目标时间窗口。

通过上述持续获取唤醒请求的方式,可以快速获取当前会话场景下,目标时间窗口内接收到的所有终端设备的唤醒请求,进而使得云端可对当前会话场景下,目标时间窗口内接收到的唤醒请求做出准确的唤醒决策,保证为组内终端设备下发唯一的唤醒事件,提高设备唤醒的准确性。

在上述实施例的基础上,本实施例中所述方法还包括:在确定所述第一唤醒请求的接收时间未超出所述目标时间窗口的情况下,将所述第一唤醒请求中的唤醒能量值与所述目标时间窗口内接收到的历史终端设备发送的第三唤醒请求中的唤醒能量值进行比较;其中,所述历史终端设备与所述当前终端设备属于同一会话场景,且属于同一目标分组;在根据比较结果,确定所述第一唤醒请求中的唤醒能量值大于所述第三唤醒请求中的所有唤醒能量值的情况下,向所述当前终端设备发送等待判决事件,以指示所述当前终端设备等待判决,同时继续接收所述下一终端设备发送的第二唤醒请求;在根据所述比较结果,确定所述第一唤醒请求中的唤醒能量值小于或等于所述第三唤醒请求中的任一唤醒能量值的情况下,向所述当前终端设备发送抑制唤醒事件,以抑制唤醒所述当前终端设备,同时继续接收所述下一终端设备发送的第二唤醒请求。

其中,历史终端设备与当前终端设备属于同一会话场景,且属于同一目标分组。

可选地,在确定第一唤醒请求的接收时间未超出目标时间窗口的情况下,将第一唤醒请求中的唤醒能量值与目标时间窗口内接收到的历史终端设备发送的第三唤醒请求中的唤醒能量值进行两两比较,以确定当前终端设备对应的唤醒能量值是否为当前最大值。

在确定当前终端设备对应的唤醒能量值为当前最大值的情况下,则向当前终端设备发送等待判决事件,以使当前终端设备继续等待云端下发唤醒决策结果;同时,继续在目标时间窗口内等待接收下一终端设备发送的第二唤醒请求;直到第二唤醒请求的接收时间超出目标时间窗口,以对目标时间窗口内的各终端设备做出最终的唤醒决策。

在确定当前终端设备对应的唤醒能量值不是当前最大值的情况下,向当前终端设备发送抑制唤醒事件,以抑制当前设备进行唤醒;同时,继续在目标时间窗口内等待接收下一终端设备发送的第二唤醒请求;直到第二唤醒请求的接收时间超出目标时间窗口,以对目标时间窗口内的各终端设备做出最终的唤醒决策。

本实施例中,在接收目标分组内每一终端设备在相应时刻发送的唤醒请求的过程中,可先对唤醒能量值较小的终端设备下发抑制事件,以减少唤醒能量值较小的终端设备对网络通信造成影响,另外也可以减少云端唤醒决策的逻辑处理的计算量,进而提高唤醒决策的准确性和稳定性。

在上述实施例的基础上,本实施例中所述根据所述第一唤醒请求中的会话标识,确定所述第一唤醒请求是否属于当前会话场景,包括:分别计算所述会话标识对应的唤醒时间戳和所述当前会话场景内每一历史唤醒请求对应的唤醒时间戳之间的差值;根据所述差值和所述当前会话场景对应的时间窗口长度,确定所述第一唤醒请求是否属于所述当前会话场景。

其中,每一会话场景对应一个时间窗口T_window,时间窗口T_window的长度具体可以根据实际需求进行设置,如800ms。

可选地,确定第一唤醒请求是否属于当前会话场景的具体步骤包括:

首先,云端在获取到当前终端设备的第一唤醒请求中的会话标识后,可以获取会话标识对应的唤醒时间戳,并将当前终端设备的唤醒时间戳与当前会话场景内每一历史唤醒请求对应的唤醒时间戳进行比较,确定当前终端设备的唤醒时间戳与每一历史唤醒请求对应的唤醒时间戳之间的差值。

然后,将差值与当前会话场景对应的时间窗口长度进行比较,以根据比较结果确定当前终端设备的第一唤醒请求是否属于当前会话场景。

本实施例中根据会话标识对应的唤醒时间戳,即可快速准确地确定各终端设备的唤醒请求是否属于当前会话场景,以对每一会话场景下的多个终端设备进行唯一唤醒决策,提高终端设备唤醒的准确性。

在上述实施例的基础上,本实施例中所述根据所述差值和所述当前会话场景对应的时间窗口长度,确定所述第一唤醒请求是否属于所述当前会话场景,包括:将所述差值中的最大值与所述当前会话场景对应的时间窗口长度进行比较;在确定比较结果为所述差值中的最大值大于所述时间窗口长度的情况下,确定所述第一唤醒请求不属于所述当前会话场景;在确定所述比较结果为所述差值中的最大值小于或等于所述时间窗口长度的情况下,确定所述第一唤醒请求属于所述当前会话场景。

可选地,确定第一唤醒请求是否属于当前会话场景的具体步骤包括:

首先,确定每一历史唤醒请求对应的差值中的最大值,将差值中的最大值与当前会话场景对应的时间窗口长度进行比较;

在确定比较结果为差值中的最大值大于当前会话场景对应的时间窗口长度的情况下,确定第一唤醒请求不属于当前会话场景,开启新的会话场景,并将第一唤醒请求划分到新的会话场景中;

在确定比较结果为差值中的最大值小于或等于时间窗口长度的情况下,确定当前终端设备的第一唤醒请求和历史终端设备的历史唤醒请求均属于当前会话场景,即属于同一会话场景。同步,将当前终端设备的第一唤醒请求对应的唤醒时间戳更新至当前会话场景的历史唤醒请求对应的唤醒时间戳中,以为下一终端设备提供参考。

本实施例中,将当前终端设备的唤醒时间戳和当前会话场景内每一历史唤醒请求对应的唤醒时间戳之间的差值,与当前会话场景对应的时间窗口长度进行比较,即可快速准确地确定各终端设备的唤醒请求是否属于当前会话场景,以对每一会话场景下的多个终端设备进行唯一唤醒决策,提高终端设备唤醒的准确性。

在上述实施例的基础上,本实施例中所述方法还包括:在确定所述第一唤醒请求不属于当前会话场景的情况下,则根据所述第一唤醒请求中的会话标识,重新确定所述目标时间窗口。

可选地,在根据当前终端设备的第一唤醒请求中的会话标识,确定第一唤醒请求不属于当前会话场景的情况下,则以第一唤醒请求中的会话标识对应的唤醒时间戳为起点,开启新的会话场景,并将第一唤醒请求划分到新的会话场景中;同时,根据第一唤醒请求中的会话标识对应的唤醒时间戳,重新开启一个目标时间窗口,以在重新开启的目标时间窗口内继续接收目标分组内的其他终端设备发送的唤醒请求,以实现对同一会话场景内的终端设备进行更加准确地唤醒判决,避免受其他会话场景内的终端设备的干扰,提高终端设备唤醒的准确性,进而提高用户体验感。

在上述各实施例的基础上,本实施例中所述方法还包括:在确定唤醒请求的接收时间超出所述目标时间窗口的第一终端设备与唤醒请求的接收时间在所述目标时间窗口内的第二终端设备属于同一会话场景的情况下,向所述第一终端设备发送抑制唤醒事件,以抑制唤醒所述第一终端设备。

可选地,在步骤202的基础上,在确定任一唤醒请求的接收时间超出目标时间窗口T2的情况下,确定该唤醒请求达到云端的时间延迟,已经超过了T2时间,导致这一现象的原因可能为网络波动或者唤醒引擎波动等。

为了避免对同一会话场景下多个终端设备同步唤醒,需要同步判断发送该唤醒请求的第一终端设备与接收时间在目标时间窗口内的第二终端设备是否属于同一会话场景;在确定第一终端设备与接收时间在目标时间窗口内的第二终端设备属于同一会话场景的情况下,直接向第一终端设备下发抑制唤醒事件,以抑制唤醒第一终端设备。

本实施例中,在终端设备的唤醒请求的接收时间超出目标时间窗口,且该终端设备与接收时间在目标时间窗口内的其他终端设备属于同一会话场景的情况下,直接向该终端设备下发抑制唤醒事件,以通过云端下发唯一决策,保证同一会话场景下的终端设备的唯一唤醒,同时有效避免终端设备的超时导致的多设备唤醒,避免一呼百应,提高终端设备唤醒的准确性。

在上述各实施例的基础上,本实施例中所述向所述待唤醒终端设备发送唤醒事件,包括:

根据所述待唤醒终端设备发送的唤醒请求,获取所述待唤醒终端设备的端口号;

根据所述待唤醒终端设备发送的唤醒请求中的唤醒词,生成所述唤醒事件;

根据所述端口号对应的设备端口,向所述待唤醒终端设备发送所述唤醒事件。

其中,唤醒请求中还携带有端口号或用于标识终端设备的端口号的标识信息,以及唤醒词。

每一端口号与每一设备端口一一对应。

可选地,在获取到待唤醒终端设备的情况下,对待唤醒终端设备发送的唤醒请求进行解析,以从解析结果中获取待唤醒终端设备的端口号或标识信息,进而获取待唤醒终端设备的端口号;并且从解析结果中获取唤醒词,进而根据唤醒词生成相应的唤醒事件。

然后,基于端口号对应的设备端口,将唤醒事件发送至待唤醒终端设备,以供待唤醒终端设备根据唤醒事件做出相应的唤醒操作,进而实现快速有效地进行设备唤醒。

在上述实施例的基础上,本实施例中所述根据所述待唤醒终端设备发送的唤醒请求,获取所述待唤醒终端设备的端口号,包括:

从所述待唤醒终端设备发送的唤醒请求中解析出所述待唤醒终端设备的标识;

根据所述标识,获取所述待唤醒终端设备的端口号。

其中,唤醒请求中携带有待唤醒终端设备的标识;其中,标识与端口号之间的关联关系预先配置。

可选地,从待唤醒终端设备发送的唤醒请求中解析出待唤醒终端设备的标识;然后,根据预先配置的标识与端口号之间的关联关系,确定标识对应的端口号,将此端口号作为待唤醒终端设备的端口号,进而实现快速准确地进行设备唤醒。

如图3所示,为本申请提供的设备唤醒方法的完整流程示意图,具体步骤包括:

步骤301,当前终端设备接收到唤醒语音后,首先计算唤醒时刻对应的设备的会话标志sessionid以及设备的唤醒能量值;

其中,会话标志sessionid可以唤醒时间对应的时间戳进行计算得到的;唤醒能量值是根据唤醒语音中唤醒词对应的唤醒音频的能量值进行计算得到的。

步骤302,当前终端设备将计算的会话标志sessionid和唤醒能量值以唤醒请求的形式上传云端之后,同时开始等待云端对本次唤醒请求的唤醒决策结果;需要说明的是,此处的终端设备一直等待云端的唤醒决策结果,不设置终端超时唤醒。

步骤303,云端在收到当前终端设备发送的唤醒请求后,根据会话标志sessionid计算本次唤醒是否属于当前会话场景;

步骤304,如果本次会话不属于当前会话场景,则以本次唤醒请求的sessionid作为起点,开启一次新的会话场景;同时云端开启一个计时判决窗口(即目标时间窗口),等待其他终端设备的唤醒请求;

步骤305,当根据sessionid计算本次唤醒属于当前会话场景,即判断本次唤醒不是一次新的会话,则继续判断云端收到唤醒请求的接收时间是否超过了云端的计时判决窗口;

步骤306,如果超出了计时判决窗口,则直接向接收时间超过云端的计时判决窗口的终端设备下发抑制唤醒事件;

步骤307,如果没有超出计时判决窗口,则根据计时判决窗口内收到的终端设备的唤醒请求中的唤醒能量值进行两两判决;

步骤308,根据判决结构,判断本次唤醒请求是不是当前最高值;

步骤309,如果是当前最高值,则继续在计时判决窗口内等待下一终端设备的唤醒请求;

步骤310,如果不是当前最高值,则向该终端设备下发抑制唤醒事件。

综上,本实施例中的设备唤醒方法具有如下优势:

1,唤醒决策信息,由云端统一并且唯一下发,设备端只执行云端的下发决策;采用云端下发唯一决策,保证终端设备的唯一唤醒,避免一呼百应;

2,在云端添加用于决策超时判决的目标时间窗口,可保证对组内设备下发唯一的唤醒事件;

3,云端在目标时间窗口超时后,对于后续的属于同一次会话的设备,直接发送抑制唤醒事件,避免多设备同步唤醒;

4,终端去除超时窗口机制,仅依赖于云端下发的唤醒决策结果进行唤醒或抑制唤醒。

本实施例中的设备唤醒方法有效避免由于多种唤醒引擎方案,比如不同厂家醒引擎方案,以及唤醒波动,即同一厂家的唤醒引擎,出现多次唤醒波动,以及网络传输波动,系统调度问题等引起的同时唤醒,一呼百应问题。

本实施例中的设备唤醒方法可应用于多种场景,具体如下:

场景一,唤醒引擎的唤醒时间波动比较大,不稳定的场景;

场景二,由于唤醒引擎的提供厂商不同,实现方案不同,带来的组内不同设备唤醒引擎波动比较大的场景;

场景三,由于网络不稳定,网络传输波动,网络信号差导致的上传慢,下发慢的场景;

场景四,由于各种原因的系统卡顿,系统调度问题,引起的设备唤醒时间差别的场景。

综上,本实施例中的设备唤醒方法,可以有效解决同一家庭用户下的多设备同时唤醒问题,避免一呼百应。并且采用云端下发唯一决策,可有效保证终端设备的唯一唤醒,同时取消终端设备的超时导致的唤醒,可以进一步保证终端设备的唯一唤醒。

下面对本申请提供的设备唤醒装置进行描述,下文描述的设备唤醒装置与上文描述的设备唤醒方法可相互对应参照。

如图4所述,本实施例提供一种设备唤醒装置,该装置包括接收模块401、确定模块402和唤醒模块403,其中:

接收模块401用于接收目标分组内至少一个终端设备发送的唤醒请求;

确定模块402用于在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;

唤醒模块403用于在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

本实施例中云端在确定唤醒请求的接收时间超出目标时间窗口,且在目标时间窗口内未接收到目标分组内所有终端设备发送的唤醒请求的情况下,由云端向目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备发送唤醒事件,以对目标分组内的终端设备进行唯一唤醒,避免一呼百应,有效提高设备唤醒的准确率,进而提升用户的体验感。

在一些实施例中,接收模块具体用于:

对于每一终端设备执行如下操作:

接收当前终端设备发送的第一唤醒请求;

根据所述第一唤醒请求中的会话标识,确定所述第一唤醒请求是否属于当前会话场景;

在确定所述第一唤醒请求属于当前会话场景的情况下,确定所述第一唤醒请求的接收时间是否超出所述目标时间窗口;

在确定所述第一唤醒请求的接收时间未超出所述目标时间窗口的情况下,继续接收下一终端设备发送的第二唤醒请求,直到所述第二唤醒请求的接收时间超出所述目标时间窗口。

在一些实施例中,还包括判决模块,用于:

在确定所述第一唤醒请求的接收时间未超出所述目标时间窗口的情况下,将所述第一唤醒请求中的唤醒能量值与所述目标时间窗口内接收到的历史终端设备发送的第三唤醒请求中的唤醒能量值进行比较;其中,所述历史终端设备与所述当前终端设备属于同一会话场景,且属于同一目标分组;

在根据比较结果,确定所述第一唤醒请求中的唤醒能量值大于所述第三唤醒请求中的所有唤醒能量值的情况下,向所述当前终端设备发送等待判决事件,以指示所述当前终端设备等待判决,同时继续接收所述下一终端设备发送的第二唤醒请求;

在根据所述比较结果,确定所述第一唤醒请求中的唤醒能量值小于或等于所述第三唤醒请求中的任一唤醒能量值的情况下,向所述当前终端设备发送抑制唤醒事件,以抑制唤醒所述当前终端设备,同时继续接收所述下一终端设备发送的第二唤醒请求。

在一些实施例中,接收模块还用于:

分别计算所述会话标识对应的唤醒时间戳和所述当前会话场景内每一历史唤醒请求对应的唤醒时间戳之间的差值;

根据所述差值和所述当前会话场景对应的时间窗口长度,确定所述第一唤醒请求是否属于所述当前会话场景。

在一些实施例中,接收模块还用于:

将所述差值中的最大值与所述当前会话场景对应的时间窗口长度进行比较;

在确定比较结果为所述差值中的最大值大于所述时间窗口长度的情况下,确定所述第一唤醒请求不属于所述当前会话场景;

在确定所述比较结果为所述差值中的最大值小于或等于所述时间窗口长度的情况下,确定所述第一唤醒请求属于所述当前会话场景。

在一些实施例中,还包括重启模块,用于:

在确定所述第一唤醒请求不属于当前会话场景的情况下,则根据所述第一唤醒请求中的会话标识对应的唤醒时间戳,重新确定所述目标时间窗口。

在一些实施例中,唤醒模块还用于:

在确定唤醒请求的接收时间超出所述目标时间窗口的第一终端设备与唤醒请求的接收时间在所述目标时间窗口内的第二终端设备属于同一会话场景的情况下,向所述第一终端设备发送抑制唤醒事件,以抑制唤醒所述第一终端设备。

在一些实施例中,唤醒模块,具体用于:

根据所述待唤醒终端设备发送的唤醒请求,获取所述待唤醒终端设备的端口号;

根据所述待唤醒终端设备发送的唤醒请求中的唤醒词,生成所述唤醒事件;

根据所述端口号对应的设备端口,向所述待唤醒终端设备发送所述唤醒事件。

在一些实施例中,唤醒模块,还用于:

从所述待唤醒终端设备发送的唤醒请求中解析出所述待唤醒终端设备的标识;

根据所述标识,获取所述待唤醒终端设备的端口号。根据本申请实施例的一个方面,提供了一种设备唤醒方法。该设备唤醒方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述设备唤醒方法可以应用于如图5所示的由终端设备501和服务器502所构成的硬件环境中。如图5所示,服务器502通过网络与终端设备501进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器502提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器502提供数据运算服务。

上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备501可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。

图6示例了一种电子装置的实体结构示意图,如图6所示,该电子装置可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行设备唤醒方法,该方法包括:接收目标分组内至少一个终端设备发送的唤醒请求;在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在计算机可读的存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的设备唤醒方法,该方法包括:接收目标分组内至少一个终端设备发送的唤醒请求;在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

又一方面,本申请还提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述各方法提供的设备唤醒方法,该方法包括:接收目标分组内至少一个终端设备发送的唤醒请求;在确定任一唤醒请求的接收时间超出目标时间窗口的情况下,确定在所述目标时间窗口内是否接收到所述目标分组内所有终端设备发送的唤醒请求;在确定未接收到所述目标分组内所有终端设备发送的唤醒请求的情况下,将所述目标时间窗口内接收到的唤醒请求中的唤醒能量值最大的终端设备作为待唤醒终端设备,并向所述待唤醒终端设备发送唤醒事件,以唤醒所述待唤醒终端设备;其中,所述唤醒能量值用于表征每一终端设备接收到的唤醒词的音频能量。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

技术分类

06120116551061