具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
目前的多设备互联时未能有效利用各个设备的优势。具体来说,在智能手机、智能音箱和智能电视机互联的情况下,智能手机上的任务仍在智能手机上完成并在智能手机上进行输入和输出,未充分利用智能音箱的语音输入和输出的优势以及智能电视机的显示优势,从而使得多个设备的优势没有得到最大程度的利用。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于信息处理的方案。在该方案中,在多个电子设备中的第一电子设备处,响应于接收到针对多个电子设备的语音唤醒指令,在多个电子设备中唤醒第二电子设备,第二电子设备在多个电子设备中具有关于语音输入的最高优先级,经由第二电子设备接收语音指令,语音指令指示待执行的任务,基于语音指令,执行待执行的任务,以得到任务的执行结果,以及经由多个电子设备中的第三电子设备呈现执行结果,第三电子设备在多个电子设备中具有关于呈现输出的最高优先级。
由此,能够实现最大程度利用联网的各个电子设备的优势完成任务的输入、执行和输出,提高了资源利用率和用户体验。
在下文中,将结合附图更详细地描述本方案的具体示例。
图1示出了根据本公开的实施例的信息处理环境100的示例的示意图。信息处理环境100包括多个电子设备110-1到110-7和无线接入点120,其中第一电子设备110-1例如可以为多个电子设备中的主控电子设备。虽然图1示出多个电子设备110-1到110-7处于相同的局域网络中,但是应当理解,这只是示例,多个电子设备110-1到110-7不处于相同的局域网络中也是可能的,只要多个电子设备110-1到110-7能够保持连接。
在一些实施例中,电子设备110-1到110-7可以是具备无线收发能力并且可以接入网络的电子设备。虽然图1中示出的电子设备110-1为智能手机,电子设备110-2、110-3和110-4为智能音箱,电子设备110-5、110-6和110-7为智能电视机,但是应当理解,这些只是示例,它们也可以是其他类型的电子设备。电子设备110-1到110-7例如但不限于是移动电话、智能电话、膝上型计算机、平板计算机、个人数字助理(PDA)、可穿戴设备、智能音箱、智能电视机、投影仪、机顶盒、路由器、相机等。还应当理解,7个电子设备也仅仅是示例,可以包括更多或更少的电子设备。
在一些实施例中,电子设备110-1到110-7至少可以包括通信模块、存储器和处理器。通信模块用于与其他电子设备进行通信。存储器用于存储一个或多个计算机程序。处理器耦合至存储器并且执行一个或多个程序使得电子设备110-1到110-7能够执行一种或多种功能。
在下文中将结合图2对第一电子设备110-1所执行的动作进行详细描述。
图2示出了根据本公开的实施例的用于信息处理的方法200的流程图。例如,方法200可以由如图1所示的第一电子设备110-1来执行。应当理解的是,方法200还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
在框202处,在相连接的多个电子设备中的第一电子设备110-1处,接收针对多个电子设备的语音唤醒指令。
针对多个电子设备的语音唤醒指令例如可以包括从多个电子设备接收的多个相同的语音唤醒指令。在一些实施例中,多个相同的语音唤醒指令可以是在预定时间间隔内接收的。预定时间间隔例如可以包括1秒、0.5秒等。
这里的多个电子设备可以包括相同类型的电子设备,例如多个智能音箱,也可以包括不同类型的电子设备,例如智能音箱和智能手机等。
在一些实施例中,第一电子设备110-1可以为多个电子设备中的主控电子设备,其可以在多个电子设备中具有关于计算的最高优先级。例如,多个电子设备可以将其接收到的用户输入的语音唤醒指令发送给主控电子设备,以便由主控电子设备来确定唤醒哪个电子设备来应答用户。
在一些实施例中,关于计算的优先级是基于电子设备的与计算相关联的设备属性确定的。具体的,关于计算的优先级是基于电子设备的与计算相关联的设备属性排序的。与计算相关联的设备属性例如可以包括电子设备的处理器的计算能力,处理器的计算能力可以基于处理器包含的核心的数量、核心的频率以及核心的单时钟周期能力确定,例如可以将处理器包含的核心的数量乘以核心的频率再乘以核心的单时钟周期能力可以确定处理器的计算能力。例如,可以按照电子设备的处理器的计算能力从高到低排序确定电子设备关于计算的优先级。
在一些实施例中,关于计算的优先级可以是经由用户预设的。例如,用户可以预设关于计算的优先级为智能手机、客厅智能音箱、客厅智能电视机、卧室智能音箱、卧室智能电视机。
如果在框202处接收到针对多个电子设备的语音唤醒指令,则在框204处,在多个电子设备中唤醒第二电子设备,第二电子设备在多个电子设备中具有关于语音输入的最高优先级。唤醒第二电子设备例如可以包括向第二电子设备发送唤醒指令,以便唤醒第二电子设备来应答用户和接收用户的后续语音输入。
在一些实施例中,关于语音输入的最高优先级可以包括语音唤醒指令具有最大信号强度。在一些实施例中,在多个电子设备中唤醒第二电子设备可以包括基于来自多个电子设备的多个语音唤醒指令的信号强度,确定多个电子设备的关于语音输入的优先级,例如信号强度越高,关于语音输入的优先级越高,以及确定具有关于语音输入的最高优先级的第二电子设备,例如智能音箱110-2,以及唤醒第二电子设备。一般来说,语音唤醒指令的信号强度越强表明用户距离该电子设备越近,唤醒该电子设备更有利于用户后续语音输入,因而可以具有更高的优先级。
在一些实施例中,关于语音输入的优先级可以是经由用户预设的。例如,用户可以预设关于语音输入的优先级为客厅智能音箱、客厅智能电视机、卧室智能音箱、卧室智能电视机和智能手机。例如,主控电子设备110-1处可以存储有多个电子设备及其关于语音输入的优先级的映射表。
在框206处,经由第二电子设备接收语音指令,语音指令指示待执行的任务。经由第二电子设备接收语音指令例如可以包括从第二电子设备接收语音指令,该语音指令可以是第二电子设备获取的用户输入的语音指令。
如果在框206处接收到语音指令,则在框208处,基于语音指令,执行待执行的任务,以得到任务的执行结果。
在一些实施例中,执行待执行的任务可以包括确定任务是否涉及图像输入,以及如果确定任务涉及图像输入,经由多个电子设备中的具有关于图像输入的最高优先级的电子设备,例如相机,捕获图像,以及基于所捕获的图像,执行任务。
备选地或者附加地,执行待执行的任务可以包括确定任务是否涉及语音输入,以及如果确定任务涉及语音输入,经由第二电子设备接收语音输入,以及基于接收的语音输入,执行任务。
在框210处,经由多个电子设备中的第三电子设备呈现执行结果,第三电子设备在多个电子设备中具有关于呈现输出的最高优先级。经由第三电子设备呈现执行结果例如可以包括向第三电子设备发送执行结果,以便第三电子设备呈现执行结果。
在一些实施例中,呈现执行结果可以包括显示执行结果,以及关于呈现输出的优先级可以包括关于显示的优先级。例如,主控电子设备110-1可存储有关于显示的优先级和电子设备的映射表,基于该映射表可以确定具有关于显示的最高优先级的电子设备。该映射表的示例可如下所示:
关于显示的优先级 |
电子设备 |
1 |
电子设备110-5 |
2 |
电子设备110-6 |
3 |
电子设备110-7 |
在一些实施例中,关于显示的优先级例如可以是基于电子设备的关于显示的设备属性而确定的。关于显示的设备属性例如可以包括显示尺寸、显示分辨率和显示刷新率等。在一些实施例中,关于显示的优先级可以是基于关于显示的单个设备属性确定的。例如,关于显示的优先级可以是基于显示尺寸确定的,因而具有关于显示的最高优先级的第三电子设备具有最大的显示尺寸。又如,关于显示的优先级可以是基于显示分辨率确定的,因而具有关于显示的最高优先级的第三电子设备具有最高的显示分辨率。在另一些实施例中,关于显示的优先级可以是基于多个显示属性确定的。例如,关于显示的优先级可以是基于显示尺寸、显示分辨率和显示刷新率确定的。
在另一些实施例中,关于显示的优先级例如可以是经由用户预设的。例如,用户可以预设关于显示的优先级为客厅智能电视机、卧室智能电视机和智能手机。
除了显示之外或者作为显示的补充,在一些实施例中,呈现执行结果可以包括播报执行结果,关于呈现输出的优先级可以包括关于播报的优先级。例如,主控电子设备110-1可存储有关于播报的优先级和电子设备的映射表,基于该映射表可以确定具有关于播报的最高优先级的电子设备。该映射表的示例可如下所示:
关于播报的优先级 |
电子设备 |
1 |
电子设备110-2 |
2 |
电子设备110-3 |
3 |
电子设备110-4 |
在一些实施例中,关于播报的优先级例如可以是基于电子设备的音频输出属性而确定的。音频输出属性例如可以包括频率响应、阻抗、灵敏度、最大承载功率以及最大输出声压级等。在一些实施例中,关于播报的优先级可以是基于单个音频输出属性确定的。例如,关于播报的优先级可以是基于频率响应确定的,因而具有关于播报的最高优先级的第三电子设备具有最大的频率响应。又如,关于播报的优先级可以是基于最大输出声压级确定的,因而具有关于播报的最高优先级的第三电子设备具有最高的最大输出声压级。在另一些实施例中,关于播报的优先级可以是基于多个音频输出属性确定的。例如,关于播报的优先级可以是基于频率响应、灵敏度和最大输出声压级确定的。
在另一些实施例中,关于播报的优先级例如可以是经由用户预设的。例如,用户可以预设关于播报的优先级为客厅智能音箱、客厅智能电视机、卧室智能音箱、卧室智能电视机和智能手机。
由此,能够实现最大程度利用联网的各个电子设备的优势完成任务的输入、执行和输出,提高了资源利用率和用户体验。
备选地或者附加地,在一些实施例中,多个电子设备可以处于相同的局域网络中,以及如果新的电子设备加入该局域网络或者局域网络中的已有的电子设备离开该局域网络,则可以重新确定主控电子设备110-1。
对于新的电子设备加入该局域网络的情况,如果新加入的电子设备的关于计算的优先级高于主控电子设备的关于计算的优先级,则将新加入的电子设备确定为主控电子设备,否则保持主控电子设备不变。例如,如果新的电子设备加入该局域网络,主控电子设备可以接收到来自该电子设备的广播消息,该广播消息指示其设备属性,例如计算属性、显示属性、音频输入和输出属性等,主控电子设备随后可以基于其设备属性确定其关于计算的优先级,以及如果该电子设备的关于计算的优先级高于主控电子设备的关于计算的优先级,则主控电子设备可以向局域网络内广播新加入的电子设备为新的主控电子设备。
此外,主控电子设备还可以基于新接入的电子设备的显示属性、音频输出属性等来确定其关于显示的优先级和关于播报的优先级等,以及更新存储的对应优先级的映射表。
对于已有的电子设备离开该局域网络的情况,如果具有关于计算的最高优先级的主控电子设备离开了局域网络,则可以将剩余的多个电子设备中的具有关于计算的最高优先级的电子设备确定为主控电子设备,而如果是其他电子设备离开了局域网络,则主控电子设备可以保持不变。例如,主控电子设备可以定期向局域网络中的其他电子设备发送心跳消息,如果其他电子设备发现未接收到定期发送的心跳消息,可以确定主控电子设备离开该局域网络,从而基于预先存储的关于计算的优先级和电子设备的映射表,确定目前网络中具有关于计算的最高优先级的电子设备为主控电子设备。
在一些实施例中,主控电子设备可以与第二电子设备相同。例如,主控电子设备110-1与2个其他电子设备接收到了用户输入的语音唤醒指令,由于用户距离主控电子设备110-1的距离比2个其他电子设备更近,因此主控电子设备110-1接收到的语音唤醒指令的信号强度比2个其他电子设备接收到的语音唤醒指令的信号强度高,从而确定主控电子设备110-1为第二电子设备。
在一些实施例中,主控电子设备可以与第三电子设备相同。例如,主控电子设备可以是电子设备110-6,其例如具有计算和显示的最高优先级,或者主控电子设备可以是电子设备110-3,其例如具有计算和播报的最高优先级。
在另一些实施例中,主控电子设备可以与第二电子设备和第三电子设备不同。
在一些实施例中,方法200还可以包括确定主控电子设备是否离开局域网络,以及如果确定主控电子设备离开局域网络,则经由主控电子设备呈现执行结果。
由此,能够在主控电子设备离开局域网的情况下,将执行结果呈现在主控电子设备上,这对于一些任务来说是非常有用的。例如,在家呼叫出行服务的任务完成后,可以通过显示最高优先级的电视设备呈现执行结果,例如打车信息,当用户带着作为主控电子设备的智能手机离开家时,将打车信息呈现在智能手机上有利于用户找到对应的车辆,提高用户体验。
在一些实施例中,第一电子设备可以与第二电子设备相同。例如,多个电子设备接收到针对电子设备的语音唤醒指令,多个电子设备中的每个电子设备确定其关于语音输入的优先级,如果其中一个电子设备确定其关于语音输入的优先级在多个电子设备中最高,则该电子设备可以自我唤醒,来应答用户以及接收用户的后续语音输入。这里每个电子设备的关于语音输入的优先级例如可以预先存储在多个电子设备的每个电子设备中,例如可以是用户预设的,也可以是基于来自每一个电子设备的关于语音输入的设备属性的广播或多播消息而确定的。
图3示出了根据本公开的实施例的用于信息处理的方法300的流程图。应当理解的是,方法300还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在302处,电子设备110-2接收到用户输入的语音唤醒指令。
在304处,电子设备110-3接收到用户输入的相同的语音唤醒指令。
在306处,电子设备110-2向主控电子设备110-1发送该语音唤醒指令。
在308处,电子设备110-3向主控电子设备110-1发送该语音唤醒指令。
在310处,主控电子设备110-1向例如电子设备110-2发送唤醒指令,电子设备110-2例如在电子设备110-2和110-3这两个电子设备中具有关于语音输入的最高优先级。
在312处,电子设备110-2唤醒。例如可以唤醒语音助理。
在314处,电子设备110-2接收到用户的语音输入。
在316处,电子设备110-2识别语音输入中的语音指令,语音指令指示待执行的任务。
在318处,电子设备110-2发送语音指令到主控电子设备110-1。
在320处,主控电子设备110-1基于语音指令,执行待执行的任务,以得到任务的执行结果。执行结果例如可以涉及显示。
在322处,向电子设备110-5发送执行结果,电子设备110-5例如具有关于显示的最高优先级。
在324处,电子设备110-5显示执行结果。
应当理解,上面只是举例,电子设备的个数可以是更多个。电子设备110-2、110-3以及110-5也只是举例,也可以是其他电子设备。
在一些实施例子中,执行结果例如可以涉及音频输出,则在322处,可以向电子设备110-4发送执行结果,电子设备110-4例如具有播报的最高优先级,以及在324处,电子设备110-4可以播报执行结果。
图4示出了根据本公开的实施例的用于信息处理的方法400的流程图。例如,方法400可以由如图1所示的主控电子设备110-1来执行。应当理解的是,方法400还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
在框402处,在主控电子设备110-1处,接收来自新加入局域网络的电子设备的通知消息。通知消息例如可以包括简单服务发现协议的NOTIFY消息。
如果在框402处接收到新加入局域网络的电子设备的通知消息,在框404处,向新加入局域网络的电子设备发送用于获取设备属性的请求。设备属性例如可以包括计算属性、显示属性、音频输出属性等,具体可参见上文,这里不再赘述。
在框406处,接收来自新加入局域网络的电子设备的指示设备属性的消息。
如果在框406处接收到新加入局域网络的电子设备的指示设备属性的消息,则在框408处,基于设备属性,更新对应优先级的映射表。例如,基于关于计算的设备属性更新关于计算的优先级的映射表,基于关于显示的设备属性更新关于显示的优先级的映射表,基于关于音频输出的设备属性更新关于播报的优先级的映射表等。
在框410处,确定新加入局域网络的电子设备的关于计算的优先级是否高于主控电子设备110-1的关于计算的优先级。
如果在框410处确定新加入局域网络的电子设备的关于计算的优先级高于主控电子设备110-1的关于计算的优先级,则在框412处,向局域网络广播新加入局域网络的电子设备为主控电子设备的消息。
由此,能够存在新加入局域网络的电子设备的情况下更新对应的优先级,并确定是否切换主控电子设备,进一步优化局域网络内的输入、执行和输出等资源的最佳利用。
图5示出了可以用来实施本公开内容的实施例的示例设备500的示意性框图。例如,如图1所示的主控电子设备110-1可以由设备500来实施。如图所示,设备500包括中央处理单元(CPU)510,其可以根据存储在只读存储器(ROM)520中的计算机程序指令或者从存储单元580加载到随机访问存储器(RAM)530中的计算机程序指令,来执行各种适当的动作和处理。在RAM 530中,还可存储设备500操作所需的各种程序和数据。CPU 510、ROM 520以及RAM 530通过总线540彼此相连。输入/输出(I/O)接口550也连接至总线540。
设备500中的多个部件连接至I/O接口550,包括:输入单元560,例如键盘、鼠标、麦克风等;输出单元570,例如各种类型的显示器、扬声器等;存储单元580,例如磁盘、光盘等;以及通信单元590,例如网卡、调制解调器、无线通信收发机等。通信单元590允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200-400,可由处理单元510执行。例如,在一些实施例中,方法200-400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元580。在一些实施例中,计算机程序的部分或者全部可以经由ROM 520和/或通信单元590而被载入和/或安装到设备500上。当计算机程序被加载到RAM 530并由CPU510执行时,可以执行上文描述的方法200-400的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。