具有延迟考虑的显示模式相关响应生成的制作方法

文档序号:19816566发布日期:2020-01-31 19:21阅读:132来源:国知局
具有延迟考虑的显示模式相关响应生成的制作方法



背景技术:

计算设备之间网络流量数据基于分组或其他方式的过多网络传输会阻碍计算设备正确地处理网络流量数据、完成与网络流量数据相关的操作或及时响应于网络流量数据。如果响应的计算设备达到或超过其处理能力,则网络流量数据的过多网络传输也会使数据路由复杂化或降低响应质量,这可能导致带宽利用效率低下。



技术实现要素:

根据本公开的一方面,一种用于在语音激活的计算机网络中处理分组化的音频信号的系统。该系统包括由客户端设备的处理器执行的数字助理应用,以经由客户端设备网络接口通过网络发送数据分组,该数据分组包括由客户端设备的传感器检测到的第一输入音频信号和第一客户端设备配置数据。该系统还包括由数据处理系统执行以通过网络经由数据处理系统的网络接口接收数据分组的自然语言处理器组件,该自然语言处理器组件用于解析第一输入音频信号以识别第一请求和与该第一请求相对应的第一触发关键字。该系统还包括由数据处理系统执行以从第一客户端设备配置数据确定与客户端设备相关联的显示器处于关闭状态的客户端设备配置装置。由数据处理系统执行的配置装置部分地基于第一触发关键字和显示器的关闭状态来生成第一响应数据结构,该第一响应数据结构响应于第一请求包括音频数据并且不包括视频数据,并经由数据处理系统的网络接口通过网络将第一响应数据结构发送到客户端设备处的数字助理应用。

根据本公开的一方面,一种在语音激活的计算机网络中处理分组化的音频信号的方法。该方法包括由客户端设备的处理器执行的数字助理应用经由客户端设备网络接口通过网络发送数据分组,该数据分组包括由客户端设备的传感器检测到的第一输入音频信号和第一客户端设备配置数据。该方法进一步包括在数据处理系统执行的自然语言处理器组件处通过网络经由数据处理系统的网络接口接收数据分组,该自然语言处理器组件用于解析第一输入音频信号以识别第一请求和与该第一请求相对应的第一触发关键字。该方法还包括在由数据处理系统执行的客户端设备配置装置处,从第一客户端设备配置数据确定与客户端设备相关联的显示器处于关闭状态。该方法还包括部分地基于第一触发关键字和显示器的关闭状态在客户端设备配置设备处生成第一响应数据结构,该第一响应数据结构响应于第一个请求包括音频数据并且不包括视频数据。该方法另外包括通过网络经由数据处理系统的网络接口向客户端设备处的数字助理应用发送第一响应数据结构。

下面详细讨论这些和其他方面和实现。前述信息和以下详细描述包括各种方面和实现的说明性示例,并提供用于理解所要求保护的方面和实现的性质和特性的概述或框架。附图提供了对各个方面和实现的说明和进一步理解,并且被并入本说明书并构成本说明书的一部分。

附图说明

附图不旨在按比例绘制。各附图中相同的附图标记和名称表示相同的元件。为清楚起见,并非每个组件都在每个图中被标记。在附图中:

图1示出了在语音激活的计算机网络中处理分组化的音频信号的示例系统。

图2示出图2示出示例客户端设备的框图。

图3示出了在语音激活的计算机网络中处理分组化的音频信号的方法的流程图。

图4示出了在语音激活的计算机网络中处理分组化的音频信号的方法的流程图。

图5是示例计算机系统的框图。

具体实施方式

以下是与基于语音激活的数据分组(或其他协议)的计算机网络环境中的分组化的数据的多模式传输的方法、装置和系统有关的各种概念和该方法、装置和系统的实现的更详细描述。可以以多种方式中的任何一种来实现以上介绍并在下面更详细讨论的各种概念。

本公开总体上旨在提高在不同的计算资源上的信息传输和处理的效率和有效性。在基于语音的计算环境中,不同的计算资源有效地处理对基于音频的指令的响应是一项挑战。例如,不同的计算资源可以为包括显示器和扬声器两者的客户端设备接收基于音频的指令。生成并向客户端设备发送除了音频分量之外还包括视觉分量的响应会消耗计算资源,并且会影响客户端设备处对指令的响应时间。

本解决方案可以通过部分地基于从客户端设备接收的配置数据生成对基于语音的指令的响应来减少资源消耗、处理器利用率、电池消耗或带宽利用率。特别地,如果客户端设备的显示器被关闭,则数据处理系统可以减少放弃产生视觉响应。

本公开的系统和方法总体上涉及一种经由计算机网络来路由分组化的动作的数据处理系统。数据处理系统可以部分地基于从其接收基于语音的指令的客户端设备的配置来处理基于语音的指令。例如,在诸如电视(tv)之类的客户端设备上执行的数字助理可以从用户获取基于语音的指令,并且除了与tv相关联的配置数据(诸如电视的显示器是否处于打开或关闭状态)之外还发送基于语音的指令。数据处理系统可以处理基于语音的指令,并且部分地基于显示器的状态来生成响应。例如,如果显示器的状态为关闭,则数据处理系统可以生成包括音频分量但不包括视频分量的响应。

本解决方案可以通过部分地基于从客户端设备接收到的配置数据生成对基于语音的指令的响应来减少资源消耗、处理器利用率、电池消耗或带宽利用率。特别地,如果客户端设备的显示器被关闭,则数据处理系统可以减少放弃产生视觉响应。

图1示出了示例系统100,其在语音激活的计算机网络中处理分组化的音频信号。系统100可以包括至少一个数据处理系统102、一个或多个客户端计算设备128(“客户端设备128”)。数据处理系统102可以包括接口104。数据处理系统102可以包括自然语言处理器(nlp)组件106,用于解析基于音频的输入。数据处理系统102可以包括接口管理组件108,用于检测和管理系统100中的其他设备的接口。数据处理系统102可以包括音频信号生成器组件110,用于生成基于音频的信号。数据处理系统102可以包括视频信号生成器组件150,以生成基于视频的信号。数据处理系统102可以包括方向动作应用程序接口(api)112。数据处理系统102可以包括响应选择器组件114,以选择对基于音频的输入信号的响应。数据处理系统102可以包括客户端设备配置装置116。数据处理系统102可以包括数据储存库118,其中,数据处理系统102可以存储参数120、策略122、响应数据124和模板126。客户端设备128可以包括并执行数据处理系统102的组件的实例。

客户端设备128可以包括传感器130、扬声器132和显示器140。客户端设备128还可以执行nlp组件106的实例。系统100还可以包括一个或多个数据提供者计算设备138。系统100的组件可以通过网络142进行通信。网络142可以包括诸如因特网、局域网、广域网、城域网或其他区域网络、内联网、卫星网络之类的计算机网络、诸如语音或数据移动电话通信网络之类的其他计算机网络及其组合。数据处理系统102和客户端设备128可以使用网络142访问信息资源,例如网页、网站、域名、统一资源定位符或数据提供者138。例如,数据处理系统102可以通过网络142访问数据提供者138,该数据提供者138提供特定位置(例如与客户端设备128相关联的位置)的天气数据。

网络142可以包括例如点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、atm(异步传输模式)网络、sonet(同步光网络)网络、sdh(同步数字体系)网络、无线网络或有线网络及其组合。网络142可以包括无线链路,例如红外信道或卫星频带。网络142的拓扑可以包括总线、星形或环形网络拓扑。网络142可以包括使用任何一种或多种用于在移动设备之间进行通信的协议的移动电话网络,该协议包括高级移动电话协议(amps)、时分多址(tdma)、码分多址(cdma)、全球移动通信系统(gsm)、通用分组无线服务(gprs)或通用移动电信系统(umts)。可以通过不同的协议发送不同类型的数据,或者可以通过不同的协议发送相同类型的数据。

每个客户端设备128可以包括至少一个逻辑设备,例如具有处理器的计算设备,用于通过网络142与数据处理系统102彼此通信。客户端设备128可以包括关于数据处理系统102描述的组件中任何一个的实例。客户端设备128可以包括电视、台式计算机、膝上型计算机、平板计算机、个人数字助理、智能手机、移动设备、便携式计算机、瘦客户端计算机、虚拟服务器、基于扬声器的数字助理或其他计算设备。客户端设备128可以包括能够再现从数据处理系统102或数据提供者138接收的音频以及视觉数据的计算设备。

客户端设备128可以包括至少一个传感器130、至少一个扬声器132和至少一个显示器140。传感器130可以包括麦克风或音频输入传感器。传感器130还可以包括gps传感器、接近传感器、环境光传感器、温度传感器、运动传感器、加速度计或陀螺仪中的至少之一。传感器130可以包括占用或重量传感器。扬声器132可以通过将电信号转换为可听波来呈现音频信号。显示器140可以包括发光二极管(led)显示器、有机led(oled)显示器、等离子显示器、投影仪显示器和全息显示器等。显示器140可以呈现客户端设备128接收的图像和视频。

客户端设备128可以与最终用户相关联,该最终用户将语音查询作为输入音频信号输入到客户端设备128中(通过传感器130),并以可以从数据处理系统102提供的计算机生成的语音或图像的形式接收音频或视频输出。响应于输入音频信号,客户端设备128还可以接收动作数据结构以执行预定功能或动作。客户端设备128可以接收数据消息或向数据处理系统102的直接动作api112提供数据消息,并且使得能够在系统100的组件之间进行通信。客户端设备128还可以包括使得用户能够与系统100的组件交互的用户界面。

系统100的数据处理系统102可以包括具有至少一个处理器的至少一个服务器。例如,数据处理系统102可以包括位于至少一个数据中心或服务器群中的多个服务器。数据处理系统102可以根据音频输入信号确定请求和与请求相关联的触发关键字。基于请求和触发关键字,数据处理系统102可以生成或选择响应数据。响应数据可以包括基于音频、基于视频或基于文本的数据。例如,响应数据可以包括一个或多个音频文件,该音频文件在被呈现时提供音频输出或声波。响应数据中的数据也可以称为内容项。

数据处理系统102可以包括多个被逻辑地分组的服务器并且促进分布式计算技术。服务器的逻辑组可以称为数据中心、服务器群或机器群。服务器可以在地理上分散。可以作为单个实体来管理数据中心或机器群,或者机器群可以包括多个机器群。每个机器群内的服务器可以是异构的——一个或多个服务器或机器可以根据一种或多种类型的操作系统平台来操作。数据处理系统102可以包括存储在一个或多个高密度机架系统中的数据中心中的服务器以及例如位于企业数据中心中的相关联的存储系统。以这种方式具有整合服务器的数据处理系统102可以通过在本地化高性能网络上定位服务器和高性能存储系统来改善系统可管理性、数据安全性、系统的物理安全性和系统性能。集中所有或一些数据处理系统102组件(包括服务器和存储系统)并将它们与高级系统管理工具耦合允许更有效地使用服务器资源,这节省了功率和处理要求并减少了带宽使用。数据处理系统102的每个组件可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、设备或其他逻辑设备,诸如被配置为与数据储存库118和与其他计算设备通信的可编程逻辑阵列。

数据处理系统102可以包括数据储存库118。数据储存库118可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理系统。数据储存库118可以包括计算机数据储存器或存储器,并且可以存储一个或多个参数120、一个或多个策略122、响应数据124和模板126以及其他数据。参数120、策略122和模板126可以包括诸如关于客户端设备128和数据处理系统102之间的基于语音的会话的规则的信息。响应数据124可以包括用于音频输出、图像/视频输出或关联元数据的内容项以及输入音频消息,输入音频消息可以是与客户端设备128的一个或多个通信会话的一部分。

可以将与数据处理系统102相关联的应用、脚本、程序或其他组件安装在客户端设备128上。应用可以使客户端设备128能够将输入的音频信号(和其他数据)传达给数据处理系统102的接口104。应用可以使客户端设备128驱动客户端设备128的组件以呈现输出的音频、图像或视频信号。

数据处理系统的nlp组件106可以接收输入音频信号。数据处理系统102可以从客户端设备128接收输入音频信号。nlp组件106可以通过将输入音频信号与存储的代表性音频波形集合进行比较并选择最接近的匹配来将输入音频信号转换为识别的文本。可以在大量输入音频信号集合上生成代表性波形。一旦输入音频信号被转换为识别的文本,nlp组件106就可以将文本与关联(例如,经由学习阶段)于动作或输出音频信号的字匹配。根据输入音频信号,nlp组件106可以识别至少一个请求或对应于该请求的至少一个触发关键字。该请求可以指示输入音频信号的意图或主题。触发关键字可以指示可能要采取的动作的类型。

响应选择器组件114可以从数据储存库118获得信息,其中,它可以作为响应数据124的一部分被存储。响应选择器组件114可以查询数据储存库118以选择或以其他方式识别例如来自响应数据124的响应短语或内容项。

音频信号生成器组件110可以生成或以其他方式获得包括内容项的输出信号。数据处理系统102可以执行音频信号生成器组件110以生成或创建对应于内容项或请求的输出信号。例如,一旦满足请求,音频信号生成器组件110就可以生成包括短语“theactionwascompleted.(动作已完成)”的音频输出信号。

视频信号生成器组件150可以生成或以其他方式获得包括内容项的输出信号。数据处理系统102可以执行视频信号生成器组件150以生成或创建与内容项或请求相对应的输出信号。例如,一旦满足请求,视频信号生成器组件150就可以生成图像或视频输出信号,当该图像或视频输出信号显示在客户端设备的显示器140上时,可以显示短语“theactionwascompleted.(动作已完成)”。

数据处理系统102可以执行音频信号生成器组件110和视频信号生成器组件150两者,以生成或创建包括视听输出的输出信号。

接口104可以是数据接口或网络接口,其使得系统100的组件能够彼此通信。数据处理系统102的接口104可以经由网络142向客户端设备128提供或发送包括响应数据结构、音频、图像/视频信号或其他数据的一个或多个数据分组。例如,数据处理系统102可以向客户端设备128提供来自数据储存库118或来自音频信号生成器110的输出信号。数据处理系统102还可以通过基于数据分组(或其他协议)的数据传输来指示客户端设备128以执行响应数据结构中指示的功能。输出信号可以被获得、生成、变换为来自数据处理系统102(或其他计算设备)的一个或多个数据分组(或其他通信协议)或作为来自数据处理系统102(或其他计算设备)的一个或多个数据分组(或其他通信协议)被发送到客户端设备128。

数据处理系统102的直接动作api112可以基于例如请求来生成响应数据结构。直接动作api112还可以基于客户端设备128的配置来生成响应数据结构。响应数据结构可以包括用于执行指定动作以满足请求的数据或指令。响应数据结构可以包括json格式的数据结构或xml格式的数据结构。

客户端设备配置装置116可以确定客户端设备128的当前配置。从客户端设备128接收的数据分组可以包括客户端设备128的配置数据。配置数据可以包括客户端设备128的一个或多个组件的状态。例如,配置数据可以包括关于客户端设备128的显示器140的开启或关闭状态的信息。配置数据还可以包括客户端设备128的扬声器的当前的音量设置(“静音”或“音量水平”)。客户端设备配置装置116可以根据在请求中指定的动作和配置数据来执行识别满足请求所需的参数的代码或对话脚本。客户端设备配置装置116可以响应于该请求和配置数据来生成响应数据结构。响应数据结构可以被包括在发送到客户端设备128或由客户端设备128接收的消息中。在讨论示例客户端之后,下面进一步讨论与客户端设备128的操作结合的客户端设备配置装置116的操作。

图2示出了示例客户端设备200的框图。特别地,客户端设备200可以包括tv或其他基于显示器的设备,并且可以用于实现图1所示的客户端设备128。客户端设备200包括被框架或边框232围绕的显示屏202。显示屏202可以包括发光元件,诸如发光二极管(led)、有机led(oled)和等离子等。显示屏202还可以包括触摸界面。客户端设备200可以包括投影仪(例如,诸如数字光投影仪(dlp))而不是显示屏。投影仪可以在远离客户端设备200的投影面上投射图像或视频。客户端设备200还可以包括用于控制客户端设备200的操作的控制模块204。控制模块204可以包括处理器208、存储器218、扬声器220、麦克风222、显示器控制器224、储存器226和网络接口228。控制模块204的组件可以连接到数据总线206,该数据总线206允许数据模块之间的通信。然而,控制模块204的各种组件可以通过除数据总线206之外的通信信道与其他组件直接通信。虽然在图2中未示出,但是客户端设备可以进一步包括或者可以进一步连接到射频天线或射频连接器,例如同轴电缆。控制模块204可以进一步包括射频调谐器和射频接收器电路,用于并且被调谐到射频信道并在其上接收信息。例如,客户端设备可以是包括射频调谐器和用于接收可以显示在显示器202上的各种节目频道的射频的电视。客户端设备200还包括布置在边框232上的发光状态指示器230。发光状态指示器230可包括一个或多个发光元件,例如led、oled、白炽灯泡或其他发光元件。虽然在图2中示出了发光状态指示器230被定位在边框232上,但是发光状态指示器230也可以被放置在客户端设备200上的任何地方,只要它们是用户可看见的,例如,诸如在客户端设备200的架子上或沿着其侧面。

处理器208可以包括一个或多个微处理器,该微处理器可以执行与存储在存储器218中的一个或多个程序、软件模块或应用相关的指令。存储器218可以包括多个软件模块,例如nlp106、数字助理应用210、电视应用212、电视操作系统214和电视配置数据216。nlp106可以类似于以上关于图1中所示的数据处理系统102所讨论的nlp106。nlp106可以处理由数字助理应用210接收的语音命令,并确定请求和触发关键字,其可以由数字助理应用210使用以处理语音命令。数字助理应用210可以基于语音命令来执行某些任务或向用户提供信息。数字助理应用210可以与数据处理系统102(图1)通信,用于处理和响应于语音命令。例如,数字助理可以将与语音命令相关联的音频信号处理为数据分组,并将数据分组发送到数据处理系统102。数字助理应用210还可以从数据处理系统102接收音频或视频信号响应,并在客户端设备200上再现音频或视频信号。数字助理应用210可以处理和响应于用户命令,而无需与数据处理系统102例如以对话的方式进行通信。例如,如果语音命令包括可以在本地实现的请求,则数字助理应用210可以在客户端设备200上本地处理该请求,而不是将请求发送到数据处理系统102。可以在本地实现的请求的示例可以包括“turnoffthelights(关闭灯)”、“switchoffthetv(关闭电视)”和“mutethespeakers(使扬声器静音)”等。

tv应用212可以包括可以在客户端设备200上执行的各种应用。tv应用可以包括实用程序、娱乐、视频、银行业务、设置以及其他这样的应用。tv操作系统214可以包括诸如webossmarttv、androidtv等的智能tv操作系统。tv操作系统214可以提供用户界面以经由遥控器、客户端设备上的开关/按钮、显示器202上的触摸界面或诸如与客户设备200进行无线通信的移动电话的其他设备来接收用户命令。tv操作系统还可以提供处理器、外围设备和处理资源,以启动和运行tv应用212、数字助理应用120和tv应用212。例如,tv操作系统214可以允许数字助理应用210访问扬声器220、麦克风222、数字控制器224、储存器226和网络接口228。

存储器218还可以存储tv配置数据216,其可以包括关于客户端设备200的状态的信息。tv配置数据216可以包括数据结构,该数据结构包括客户端设备200的各个方面或组件的身份和它们相对应的状态。例如,tv配置数据216可以包括显示器的身份(例如,诸如“显示器”)和显示器的当前状态(例如“开启”或“关闭”)。配置数据216可以包括其他组件的身份和相应状态。例如,配置数据216除了存储诸如扬声器的“开启”或“关闭”之类的当前状态之外,还可以包括扬声器220的当前设置的音量。配置数据216还可以存储扬声器220的最小音量水平,数字助手应用210可以使用扬声器220的最小音量水平与用户进行通信。在一些情况下,数字助理应用210可以允许用户设置扬声器220的优选最小音量水平,数字助理应用210可以使用其来向用户提供可听见的响应、提醒或警报。当向用户提供可听见的响应时,数字助理应用210可以允许用户授予数字助理应用210许可以覆盖扬声器的静音状态,并将扬声器220的音量设置为最小音量水平。数字助理应用210可以与语音命令请求分开或与语音命令请求一起将配置数据216发送到数据处理系统102。

扬声器220可以包括一个或多个换能器,其将音频信号转换成相应的可听声音。扬声器220可以从音频控制器接收音频信号,该音频控制器可以包括数模转换器、放大器、滤波器和信号处理电路。tv操作系统214可以向在客户端设备200上运行的应用提供应用程序接口(api)以与音频控制器对接。例如,诸如数字助理应用210之类的应用可以使用api将音频信号发送到音频控制器,音频控制器又可以将相应的模拟信号发送到扬声器220以产生声音。数字助理应用210还可以发送诸如“静音”的控制信号以使扬声器220的音量静音,或发送音量水平以设置扬声器220的音量。麦克风222可以包括一个或多个换能器,用于将声能转换为输入音频信号。至少一个麦克风222可以位于客户端设备200上。至少一个麦克风222也可以位于远离客户端设备的位置,例如,诸如在遥控器、智能电话或另一设备上。可以诸如通过网络接口228地通过无线链路将由远程定位的麦克风生成的音频信号发送到客户端设备200。tv操作系统214还可以提供api和音频控制器来控制麦克风222。例如,数字助理应用210可以将配置参数发送到麦克风222,并且通过api从麦克风222接收输入音频信号。

显示器控制器224可以包括用于控制显示器202的硬件和软件。特别地,显示器控制器224可以接收视频或图像数据并将视频或图像数据转换为显示器202上的图像。tv操作系统214可以提供可以由运行在客户端设备200上的应用用来相对于显示器控制器224发送和接收数据的api。例如,数字助理应用210可以将从数据处理系统102接收的视频或图像信号发送到显示器控制器224以在显示器204上进行呈现。数字助理210还可以向数字控制器224发送控制信号或数据,以控制显示器202的操作。例如,数字助理210可以发送显示器打开或显示器关闭命令以打开或关闭显示器202。此外,数字助理210可以请求显示器202的状态,其中,所请求的状态可以包括当前状态,例如,显示器202的开启状态或关闭状态。显示器控制器224可以将请求的状态返回给数字助理应用210,数字助理应用210可以将接收到的显示器状态存储在tv配置数据216中。显示器控制器224还可以控制发光状态指示器230的操作。客户端设备200可以包括用于控制发光状态指示器230的单独的控制器。数字助理应用210可以通过显示器控制器224或任何其他适当的控制器来控制发光状态指示器230的状态和操作。数字助理应用210可以从数据处理系统102接收指令以激活发光状态指示器230以显示指示相应状态的特定模式。例如,一个模式可以指示数据处理系统102正在处理请求。另一个模式可以指示请求已完成。数字助理应用210可以存储与这些模式中的每个模式相对应的指令和数据的序列,并且将适当的指令和数据发送到显示器控制器224或任何其他适当的控制器以相应地致动发光状态指示器230。

储存器226可以包括非易失性储存器,例如硬盘驱动器、固态驱动器和闪存等。储存器226可以存储诸如操作系统的应用程序以及可以在客户端设备200上运行的各种应用。储存器226还可以存储可以由运行在客户端设备200上的一个或多个应用访问和操作的诸如娱乐数据、音乐数据和视频数据之类的数据。网络接口228可以包括可以为客户端设备200提供网络连接性的有线和无线网络接口。例如,网络接口228可以包括wifi、近场通信、无线通信和其他无线网络接口,并且可以包括以太网、docsis和其他硬件网络接口。tv操作系统214可以为在客户端系统上运行的应用提供api,以利用网络接口228来通过网络传送数据。例如,数字助理210可以将api用于网络接口228,以通过网络142(图1)与数据处理系统102通信。

客户端设备200可以被配置为使得可以独立于控制模块204和发光状态指示器230来关闭或打开显示器202。也就是说,可以在保持控制模块204运行的同时关闭显示器202。因此,当显示器202被关闭时,数字助理应用210可以在客户端设备200的处理器208上运行。在显示器关闭时,数字助理应用可以相对于诸如图1中所示的数据处理系统102之类的数据处理系统发送和接收数据分组。此外,数字助理应用210可以影响显示器202的状态的改变,例如从开启状态到关闭状态,或者从关闭状态到开启状态。

再次参考图1,客户端设备配置装置116可以与客户端设备200上的数字助理应用210通信,以接收与语音命令相关联的音频信号和客户端设备200的配置数据。如上所述,数字助理应用210可以发送配置数据216,例如,诸如显示设备的当前状态(“开启”或“关闭”)、扬声器220的当前音量设置(“静音”“音量水平”)。配置数据还可包括数字助理应用210在客户端设备200处再现声音的最小音量水平。nlp106可以解析音频信号以生成与语音命令相关联的请求和触发关键字。客户端设备配置装置116可以基于触发关键字和配置数据来生成响应数据结构。

图3示出了在语音激活的计算机网络中处理分组化的音频信号的方法300的流程图。特别地,方法300可以由图1所示的数据处理系统102执行。方法300的至少一部分可以由数据处理系统102的客户端设备配置装置116执行。方法300可以包括从客户端设备接收数据分组,其中,数据分组包括音频信号和配置数据(框302)。如以上参考图1和图2所讨论的,客户端设备200处的用户可以说出语音命令,该语音命令被麦克风222捕获并且转换成输入音频信号。这些音频信号被提供给数字助理应用210。数字助理应用210还访问配置数据216以确定客户端设备的当前配置,尤其是显示器202的开启/关闭状态、当前音量设置(“静音”或音量水平)以及指示数字助理应用210可以从扬声器220再现声音的最小音量水平的最小响应音量水平。数字助理应用210可以通过网络接口228和网络142向数据处理系统102发送与语音命令和配置数据相对应的音频信号。

方法300可以包括解析音频信号(框304)。nlp106可以使用语言处理来解析音频信号以确定请求和触发关键字。例如,如果音频信号对应于语音命令“what’stheweather?(天气如何?)”,则nlp106可以确定短语“theweather(天气)”对应于请求,而短语“what(如何)”对应于触发关键字。方法300可以包括从配置数据确定客户端设备的显示器是否处于关闭状态(框306)。如上所述,从客户端设备200接收的配置数据可以包括标识显示器的标识符以及显示器的相应状态。客户端设备配置装置116可以查找显示器的身份并且确定当前状态。显示器的状态可以是开启或关闭。首先假设客户端设备配置装置116确定显示器的状态为关闭,方法300可以包括确定是否可以使用非视频响应来生成对从用户接收的语音命令的响应(框308)。例如,客户端设备配置装置116可以确定无需视频或图像输出即可生成对用户命令“what’stheweather?”的响应。即,响应可以包括提供客户端设备200的位置处的当前天气的音频响应。

方法300可以包括生成与非视频响应相关联的音频信号(框310)。客户端设备配置装置116可以使用触发关键字和请求来与可以是天气数据服务提供商的数据提供者138进行通信,并请求与客户端设备200的位置相关联的天气数据。在接收到天气数据时,客户端设备配置装置116可以指示音频信号生成组件110生成与从数据提供者138接收的天气数据相对应的音频信号。例如,如果从数据提供者接收到的数据是“72度和晴天”,则音频信号生成器组件110可以利用天气数据和客户端设备200的当前位置信息,并且生成用于响应的音频信号,例如“currentlyinnewyorkitis72degreesandsunny.(当前在纽约,温度为72度,晴天)”。

方法300可以包括在客户端设备处设置扬声器的音量水平(框312)。如上所述,客户端设备配置装置116可以在配置数据中接收客户端设备200处的扬声器220的当前音量水平。音量水平可以是“静音”或在一定音量水平范围内的特定音量水平(例如1到10之间)。配置数据还可以包括最小响应音量水平,该最小响应音量水平指示数字助理应用210可以从扬声器220再现声音的最小音量水平。客户端设备配置装置116可以选择当前音量水平和最小响应音量水平中的较高者作为在客户端设备200处将与所生成的响应相对应的音频信号传递给用户的音量水平。客户端设备配置装置116可以基于所选择的音量水平来生成客户端配置设置。例如,客户端设备配置装置116可以在客户端配置设置中包括与扬声器音量和关联的音量水平相关联的标识符。

方法300可以包括:生成与对从客户端设备200接收到的语音命令的响应相对应的响应数据结构(框314)。客户端设备配置装置116可以生成可以包括音频信号和配置设置的数据结构。音频信号可以对应于由音频信号生成组件110生成的音频信号,并且配置设置可以包括所选择的音量水平(在框312中)。客户端设备配置装置116还可以包括语音命令的身份,响应于该语音命令已经生成了音频信号。方法300可以包括将响应数据结构发送到客户端设备(框316)。客户端设备配置装置116可以经由接口140将包括音频信号和配置设置的数据结构发送到客户端设备200。接口140可以将数据结构转换为数据分组,并且将数据分组通过网络142发送到客户端设备200。在客户端设备200处,数字助理应用210通过网络接口228接收数据分组。数字助理应用210从数据分组重新生成音频信号和配置设置。数字助理应用210可以从语音命令的身份中识别出接收到的音频信号是对先前接收到的语音命令的响应。数字助理应用210可以控制扬声器220的音量水平,使其设置为包括在接收的配置设置中的音量水平。数字助理210可以从扬声器220输出音频信号,从而向用户提供对语音命令的音频响应。

如上所述,在框308中,客户端设备配置装置116确定是否可以使用非视频响应来生成对从用户接收的语音命令的响应。在某些情况下,对语音命令的响应可能需要客户端设备配置装置116生成基于视频的响应。例如,如果用户的语音命令是“showmetheweatherforthisweek.(向我显示本周的天气)”,lp106可以确定短语“weatherforthisweek(本周天气)”对应于请求,而短语“showme(向我显示)”对应于触发关键字。基于触发关键字是“显示”,客户端设备配置装置116可以确定用户正在请求至少视觉响应。假设客户端设备配置装置116确定将不生成非视频响应,则方法300可以包括生成与响应相对应的音频或视频信号(框318)。如上所述,客户端设备配置装置116可以确定从数据提供者138获得天气数据。然后,客户端设备配置装置可以指示视频信号生成器组件150生成与由数据提供者138提供的天气数据相对应的图像或视频信号。可选地,客户端设备配置装置116还可以指示音频信号生成器组件110生成与天气数据相对应的音频信号。

方法300可以包括将显示器的配置设置设置为开启(框320)。客户端设备配置装置116可以生成用于要开启的客户端设备200的显示器202的配置设置,因为显示器的当前状态为关闭并且响应包括视觉内容。方法300可以包括设置在客户端设备处的扬声器的音量水平(框322)。客户端设备配置装置116可以以类似于以上关于框312所讨论的方式来设置客户端设备200的扬声器220的音量水平。即,客户端设备配置装置116选择当前音量水平和最小响应音量水平的较大者作为扬声器220的音量水平以生成音频信号。在一些实例中,在响应不包括音频信号而仅包括视频信号的情况下,客户端设备配置装置116可以跳过执行框322。

方法300可以包括:生成与对从客户端设备接收到的语音命令的响应相对应的响应数据结构(框324)。客户端设备配置装置116可以响应于语音命令而生成响应数据结构,以包括由视频信号生成器组件150生成的视频信号以及由音频信号生成器组件110生成的任何音频信号。客户端设备配置装置116还可以包括配置设置,该配置设置可以包括将显示器202打开的指令,并且可以包括扬声器220的音量水平。方法300可以包括将响应数据结构发送到客户端设备(框326)。客户端设备配置装置116可以以与以上关于框316讨论的方式类似的方式将所生成的响应数据结构发送到客户端设备200。数字助理应用210可以接收配置数据,并且确定显示器202要被打开。响应于该确定,数字助理应用210可以指示显示器控制器224打开显示器202。数字助理应用210还可以根据配置设置确定音量水平,并且相应地将扬声器220的音量水平设置为配置设置中指示的音量水平。之后,数字助理应用210可以将视频或图像信号发送到显示器控制器224,以在显示器202上呈现,可以将任何音频信号发送到扬声器220,以进行声音再现。

如以上关于框306所讨论的,客户端设备配置装置116确定显示设备200的显示器202是否处于关闭状态。假设客户端设备配置装置116确定显示设备202不处于关闭状态,而是处于打开状态,则方法300可以包括生成与语音命令相对应的音频和视频信号(框328)。由于客户端设备200的显示器202已经处于开启状态,因此客户端设备配置装置116可以以视觉响应来响应语音命令。因此,客户端设备配置装置116可以指示视频信号生成命令来生成与对语音命令的视觉响应相对应的视频信号。客户端设备配置装置116还可以指示音频信号生成组件110以生成与对语音命令的响应相对应的音频信号。客户端设备配置装置116可以放弃生成音频信号,并且可以仅生成包括对语音命令的视觉响应的视频信号。方法300可以包括设置扬声器的音量水平(框330),生成响应数据结构(框332)以及将响应数据结构发送到客户端设备(框334)。客户端设备配置装置116可以类似于上文关于框312、322、314、324、316和326所讨论的方式执行方法300的该部分(包括框330、332和334)。

客户端设备配置装置116可以指示客户端设备激活发光状态指示器(框336)。具体地,客户端设备配置装置116一旦接收或解析包括语音命令的数据分组,就可以将这些指令发送到客户端设备200。客户端设备配置装置116可以将包括发光状态指示器230的身份和对应的“开启”设置的配置设置发送到客户端设备200。数字助理应用210可以解析配置设置并且确定发光状态指示器230要被开启。响应于该确定,数字助理应用210可以指示显示器控制器224或控制发光状态指示器230的任何其他适当的控制器来开启发光状态指示器230。发光状态指示器230的开启可以向用户指示数据处理系统102正在处理由用户提供的语音命令。客户端设备配置装置116可以仅在从客户端设备200接收到的配置数据指示显示器202处于关闭状态时发送包括用于开启发光状态指示器230的指令的客户端配置设置。如果配置数据指示显示器是打开的,则客户端设备配置装置116可以避免发送指令以开启发光状态指示器230。在一些这样的实例中,客户端设备配置装置116可以代之以将状态视频数据或状态图像数据发送到客户端设备200,以在数据处理系统处理语音命令时显示在开启的显示器202上。指示语音命令的处理状态的状态视频数据或状态图像数据可以覆盖在显示器202上当前正在显示的任何视频或图像上。视频信号生成组件150可以生成状态视频或状态图像信号。视频信号生成组件150可以生成状态视频或状态图像数据或信号,该状态视频或状态图像数据或信号被配置为位于显示器202的一角,并且仅占据显示器202整个区域的一小部分(例如,少于10%)。

如上所述,客户端设备配置装置116部分地基于显示器202的状态来确定在客户端设备200处对于从用户接收到的语音命令的响应。在不考虑显示器202的状态而生成响应的情况下,这种响应可以包括视频信号和音频信号两者。通过在确定显示器处于关闭状态时生成非视频响应,可以节省本应分配给生成基于视频的响应的处理资源。此外,用于生成视频信号的处理时间可能比用于生成音频信号的处理时间长得多。通过确定显示器的关闭状态,并且避免产生视频信号,可以有利地减少用于产生对语音命令的响应的总处理时间。因此,用户可以接收对语音命令的相对较快的响应。另外,由于当确定显示器202处于关闭状态时没有视频信号通过网络被发送到客户端设备,因此可以更有效地利用网络142的带宽资源。

从用户接收的语音命令的自然语言处理可以在客户端设备而不是在数据处理系统102处执行。例如,参照图2,数字助理应用210可以指示在客户端设备200上运行的nlp106处理从用户接收的语音命令。然后,数字助理应用210可以将识别的请求和触发关键字发送到数据处理系统102。通过在客户端设备上处理语音命令,与请求和触发关键字短语的传输相比,其传输占用相对较大的带宽的音频信号不通过网络被发送,从而减少了网络142中的拥塞。

图4示出了在语音激活的计算机网络中处理分组化的音频信号的方法400的流程图。方法400可以包括发送数据分组(框402)。例如,客户端设备200可以将数据分组发送到数据处理系统102。数据分组可以包括输入音频信号和客户端设备配置数据。音频信号可以由客户端设备200处的传感器或麦克风222被检测。由客户端设备200上的处理器208执行的数字助理应用210可以经由网络142经由客户端设备网络接口228发送数据分组。

方法400可以包括接收数据分组(框302)。例如,自然语言处理器组件106可以接收包括输入音频信号和客户端设备配置数据的数据分组。自然语言处理器组件106可以由数据处理系统102执行,并且可以通过网络142经由数据处理系统102的网络接口104接收数据分组。自然语言处理器组件106可以将音频信号解析为识别请求和与该请求相对应的触发关键字。

方法400可以包括确定显示器状态(框306)。例如,由数据处理系统102执行的客户端设备配置装置116可以从客户端设备配置数据确定显示器202的状态。显示器的状态可以是开启状态或关闭状态。方法400可以包括生成响应数据结构(框314)。例如,客户端设备配置装置116可以部分地基于触发关键字和显示器202的关闭状态来生成响应数据结构,该响应数据结构响应于该请求包括音频数据并且不包括视频数据。作为另一示例,客户端设备配置装置116可以部分地基于触发关键字和显示器202的关闭状态来生成响应数据结构,该响应数据结构包括音频数据、视频数据以及包括用于开启客户端设备200的显示器202的指令的客户端设备配置设置。

方法400可以包括将响应数据结构发送到客户端设备(框316)。例如,客户端设备配置装置116可以经由数据处理系统102的网络接口104在网络142上向在客户端设备200上执行的数字助理应用210发送响应数据结构。响应数据结构可以包括音频数据,并且不包括视频数据。作为另一示例,响应数据结构可以包括音频数据、视频数据和配置设置数据,其指示客户端设备200改变客户端设备200的一个或多个组件的状态。

图5是示例计算机系统500的框图。计算机系统或计算设备500可以包括或用于实现系统100或其组件(例如,数据处理系统102)。计算系统500包括总线505或其他用于传送信息的通信组件和耦合到总线505用于处理信息的处理器510或处理电路。计算系统500还可以包括耦合到总线用于处理信息的一个或多个处理器510或处理电路。计算系统500还包括主存储器515,例如随机存取储存器(ram)或其他动态存储设备,其耦合到总线505用于存储信息以及由处理器510执行的指令。主存储器515可以是或包括数据储存库118。主存储器515还可以用于在处理器510执行指令期间存储位置信息、临时变量或其他中间信息。计算系统500还可以包括耦合到总线505的只读储存器(rom)或其他静态存储设备,用于存储处理器510的静态信息和指令。存储设备525(例如,固态设备、磁盘或光盘)可以耦合到总线505以持久地存储信息和指令。存储设备525可以包括数据储存库118或者是数据储存库118的一部分。

计算系统500可以经由总线505耦合到用于向用户显示信息的显示器535,例如液晶显示器或有源矩阵显示器。输入设备530(诸如包括字母数字键和其他键的键盘)可以耦合到总线505,用于将信息和命令选择传送到处理器510。输入设备530可以包括触摸屏显示器535。输入设备530还可以包括光标控制,例如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择传送到处理器510并且用于控制显示器535上的光标移动。显示器535可以例如是数据处理系统102、客户端计算设备128或图1的其他组件的一部分。

可以由计算系统500响应于处理器510执行包含在主存储器515中的指令排列来实现本文描述的过程、系统和方法。这些指令可以从诸如存储设备525的另一计算机可读介质读入主存储器515。包含在主存储器515中的指令的布置的执行使得计算系统500执行本文描述的说明性过程。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器515中的指令。可以使用硬连线电路代替软件指令以及本文描述的系统和方法或与软件指令以及本文描述的系统和方法组合。这里描述的系统和方法不限于硬件电路和软件的任何特定组合。

尽管图5中已经描述了示例计算系统,包括本说明书中描述的操作的主题可以在其他类型的数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物或者它们的一个或多个的组合。

对于这里讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况,可以向用户提供控制程序或特征是否可以收集个人信息(例如,关于用户社交网络、社交活动、用户的偏好或用户的位置的信息),或控制是否或如何从内容服务器或其他数据处理系统接收可能更与用户相关的内容的机会。另外,某些数据可以在存储或使用之前以一种或多种方式匿名化,以便在生成参数时移除个人的可识别信息。例如,用户的身份可以是匿名的,以便不能为用户确定个人的可识别信息,或者可以在获得位置信息的地方(例如,达到城市、邮政编码或州的水平)上位化用户的地理位置,使得无法确定用户的特定位置。因此,用户可以控制如何收集关于他或她的信息以及如何由内容服务器使用信息。

本说明书中描述的主题和操作可以在数字电子电路中实现,或者在计算机软件,固件或硬件中实现,包括本说明书中公开的结构及其结构等同物或者它们的一个或多个的组合。本说明书中描述的主题可以实现为在一个或多个计算机存储介质上编码的一个或多个计算机程序(例如,计算机程序指令的一个或多个电路),用于由数据处理装置执行或控制数据处理装置的操作。可替选地或另外地,程序指令可以被编码在人工生成的传播信号上(例如,机器生成的电、光或电磁信号),其被生成以编码信息以便传输到合适的接收器设备以供数据处理装置执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取储存器阵列或设备或它们中的一个或多个的组合。虽然计算机存储介质不是传播的信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的组件或介质(例如,多个cd、磁盘或其他存储设备)中。本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。

术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”包括用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机、片上系统或多个系统或前述的组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,例如web服务、分布式计算和网格计算基础结构。系统100的组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。

计算机程序(也称为程序、软件、软件应用、应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器(例如,数据处理系统102的组件)执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性储存器、介质和储存器设备,包括例如:半导体储存器设备(例如,eprom、eeprom和闪存设备);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;和cdrom和dvd-rom盘。处理器和储存器可以由专用逻辑电路补充或并入专用逻辑电路中。

本文描述的主题可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机)或者一个或多个这样的后端、中间件或前端组件的组合的计算系统中实现,用户可以通过前端组件与本说明书中描述的主题的实现进行交互。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,因特网)和对等网络(例如,点对点对等网络)。

诸如系统100或系统500之类的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络(例如,网络116)进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。在一些实现中,服务器将数据(例如,表示内容项的数据分组)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从中接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统102从客户端计算设备128或感测设备142接收)。

虽然在附图中以特定顺序描绘了操作,但是不需要以所示的特定顺序或按顺序执行这些操作,并且不需要执行所有示出的操作。可以以不同的顺序执行这里描述的动作。

在所有实现中,各种系统组件的分离不需要分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,nlp组件106和客户端设备配置装置116可以是单个组件、app(应用)或程序、或具有一个或多个处理电路的逻辑设备、或者数据处理系统102的一个或多个服务器的一部分。

现在已经描述了一些说明性实现,显而易见的是,前述内容是说明性的而非限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元件的特定组合,但是那些动作和那些元件可以以其他方式组合以实现相同的目标。结合一个实现讨论的动作、元件和特征不旨在从其他实现中的类似角色中排除。

这里使用的措辞和术语是出于描述的目的,不应该被认为是限制性的。本文中“包括”、“包含”、“具有”、“含有”、“涉及”、“以其为特征”、“其特征在于”及其变化形式的使用旨在涵盖其后列出的项目、其等同物和其他项目以及排他地由其后列出的项目组成的替代实现。在一个实现中,这里描述的系统和方法由一个、多于一个的每个组合或所有所描述的元件、动作或组件组成。

对在此以单数形式提及的系统和方法的实现或元件或动作的任何引用也可以涵盖包括多个这些元素的实现,并且对于本文中的任何实现或元件或动作的任何复数引用也可以涵盖仅包括一个元素的实现。单数或复数形式的引用并不旨在将当前公开的系统或方法、它们的组件、动作或元件限制为单个或多个配置。基于任何信息、动作或元件的对于任何动作或元件的引用可以包括其中动作或元件至少部分地基于任何信息、动作或元件的实现。

本文公开的任何实现可以与任何其他实现或实施例组合,并且对“实现”、“一些实现”或“一个实现”等的引用不一定是相互排斥的并且旨在指示结合实现描述的特定特征、结构或特性可以包括在至少一个实现或实施例中。这里使用的这些术语不一定都指的是相同的实现。任何实现可以以与本文公开的方面和实现一致的任何方式包含或排他地与任何其他实现组合。

对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有所描述的术语中的任何一种。例如,对““a”和“b”中的至少一个”的引用可以仅包括“a”、仅包括“b”以及包括“a”和“b”两者。与“包括”或其他开放术语结合使用的这些引用可包括附加项。

在附图、详细说明或任何权利要求中的技术特征之后是附图标记的情况下,已经包括附图标记以增加附图、详细说明和权利要求的可理解性。因此,参考标记和它们的缺失都不会对任何权利要求要素的范围产生任何限制作用。

在不脱离其特征的情况下,本文描述的系统和方法可以以其他特定形式体现。前述实现是说明性的而非所描述的系统和方法的限制。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述表示,并且落入权利要求的等同物的含义和范围内的变化包含在其中。

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