利用相同的音频输入的设备唤醒和说话者验证的制作方法

文档序号:18360141发布日期:2019-08-06 23:43阅读:198来源:国知局
利用相同的音频输入的设备唤醒和说话者验证的制作方法



背景技术:

大多数现代计算设备响应于各种事件(例如用户在一段时间内没有和设备进行交互)而进入低功率状态以保存电量。为了“唤醒”处于低功率状态中的设备,用户通常需要以某种方式与设备进行物理交互。例如,用户可能需要在键盘上点击ctrl+alt+delete、按遥控器或智能电话上的按钮、或者解锁触摸屏。此外,用户通常需要例如在用户被允许操作设备之前,通过在触摸屏上输入密码而与设备进行第二次交互以作为授权或者验证过程的一部分。

附图说明

图1是利用相同的音频输入来识别唤醒短语并执行说话者验证的第一计算设备的方框图。

图2是利用相同的音频输入来识别唤醒短语并执行说话者验证的第二计算设备的方框图。

图3是利用相同的音频输入来唤醒计算设备并执行说话者验证的第一示例性方法的流程图。

图4是利用相同的音频输入来唤醒计算设备并执行说话者验证的第二示例性方法的流程图。

图5是利用相同的音频输入来唤醒计算设备并执行说话者验证的第三示例性方法的流程图。

图6是其中可以实现本文所描述的技术的示例性计算设备的方框图。

图7是可以执行计算机可执行指令以作为实现本文中所描述的技术的一部分的示例性处理器核心的方框图。

具体实施方式

在本文中公开的技术允许计算设备响应于用户说出单个唤醒短语而从低功率状态中唤醒,并且验证用户。因此,通过允许用户以更加免提和免视的方式与设备进行交互,可以使设备的用户界面更加自然。当设备处于低功率状态时,低功率引擎确定在设备处接收的音频输入是否包括人说出唤醒短语。如果检测到唤醒短语,则设备利用包含唤醒短语的音频的一部分来输入验证说话者。说话者验证可以由低功率引擎或由在检测到唤醒短语之后被唤醒的另一组件来执行。

如在本文中使用的,术语“唤醒”或“叫醒”是指计算设备或计算设备的组件从低功率状态到活动状态的转换。低功率状态(例如,半睡半醒、睡眠或休眠状态)是计算设备比在活动状态中运行时消耗更少的电量的状态。例如,低功率状态可以是设备组件被禁用、或是以降低的时钟频率或供给电压运行的状态。例如,在低功率状态中运行的设备可以使其输出显示器关闭或变暗,或者使其处理器中的一个或多个以按比例缩小的频率运行。相应地,活动状态是计算设备比当在低功率状态中运行时消耗更多的电量的状态。因此,唤醒设备可以包括启用已经关闭了的输出显示器或按比例增大处理器的运行频率。

现在参考附图,其中通篇使用的相同的标号是指相同的元件。在以下的描述中,为了说明的目的阐述了许多具体细节以便提供对本文的透彻的理解。然而,可以显而易见的是,可以在没有这些具体细节的情况下实践新颖的实施例。在其他实例中,以方框图形式示出了公知的结构和设备,以便于对这些结构和设备的描述。目的是为了覆盖权利要求的范围内的所有修改、等同物、以及替代物。

图1是利用相同的音频输入来识别唤醒短语并执行说话者验证的第一计算设备100的方框图。计算设备(设备)100包括麦克风104、音频编码解码器108、低功率引擎(lpe)112、lpe驱动器116、说话者验证代理120、操作系统122和一个或多个应用程序124。计算设备100在麦克风104处接收音频输入,这生成被传递至音频编码解码器108的音频信号。音频编码解码器108进而将音频信号转换成被提供给lpe112的数字信号。

低功率引擎112管理设备100中的捕获音频管线的方面。当设备处于低功率状态时,lpe112运行。在一些实施例中,当设备处于活动状态时,lpe112的组件也可以运行。除了当设备处于低功率状态时被启用之外,lpe112还可以以相对于当设备处于活动状态时提供给其他组件的频率或供给电压而言降低的频率或供给电压而运行。在一些实施例中,lpe112是低功率dsp(数字信号处理器)。

lpe112包对由音频编码解码器108生成的数字音频信号进行编码的编码器128,以及对接收到的音频执行唤醒短语识别和说话者验证的话音(voice)触发器和说话者验证(vtsv)模块134。编码器128将音频编码成可以由vtsv模块134使用的格式,例如pcm(脉冲编码调制)。vtsv模块134包括话音活动检测模块138、唤醒短语识别模块142、说话者验证模块148以及可选地唤醒短语存储设备154。通常,当设备100进入低功率状态时,将vtsv模块134插入到音频捕获管线中,并且当设备100唤醒时,将vtsv模块134从音频捕获管线中移除。在一些实施例中,在设备100转换到低功率状态时是否将vtsv模块插入到音频捕获管线中是基于用户设定确定的。

vtsv模块134确定被编码的音频输入是否包括唤醒短语并且对包括唤醒短语的音频输入的部分执行说话者验证。可以将在麦克风104处接收到的音频输入126的全部或部分传送至vtsv模块134。例如,只有在来自先前阶段的输入满足某些特性时,例如音频信号的幅度高于阈值水平,才可以将麦克风104、音频编码解码器108和/或编码器128配置为以将输出提供给音频捕获管线中的下一阶段。在其他实施例中,当设备100处于低功率状态中时,vtsv模块134处理在麦克风104处接收到的所有音频输入。

话音活动检测模块138确定被编码的音频是否包括人类语音。如果包括,则将包括所述语音的音频输入的部分传送至唤醒短语识别模块142。唤醒短语识别模块142采用已知的语音识别技术以确定音频输入是否包括包含唤醒短语的语音。

唤醒短语是可以使得在低功率状态中运行的计算设备唤醒的单词或短语(例如,“嘿,电话”、“起来”、“你好”)。在图1中,在计算设备100唤醒之前,还验证说话者。在其他实施例中,如在下文中关于图2所描述的,在检测到唤醒短语之后设备醒来,并且接着执行说话者验证。

计算设备可以采用各种唤醒短语策略。例如,在一些实施例中,不同的用户可以使用相同的唤醒短语以唤醒计算设备。在其他实施例中,用户可以说出多个唤醒短语中的一个以唤醒设备。在其他实施例中,各种的唤醒短语可以和不同的用户关联。例如,一个或多个唤醒短语可以和第一用户关联,并且一个或多个第二唤醒短语可以和第二用户关联。而且,不同的唤醒短语可以使得计算设备从低功率状态转换到不同的活动状态,例如高性能、标准和低性能活动状态。例如,这些活动状态之间的不同可以是启用的设备组件或配件的数量,设备的组件运行的时钟频率、应用至设备的组件的供给电压等。在一些实施例中,唤醒短语可以是用户可编程的或被计算设备制造商配置的。

唤醒短语识别模块142将音频输入和可以被设备存取的唤醒短语进行比较,所述唤醒短语例如存储在唤醒短语存储设备154中的唤醒短语。唤醒短语存储设备154还可以包括与被存储的唤醒短语相关联的一个或多个用户的指示。如果唤醒短语识别模块142确定音频输入包括唤醒短语,则说话者验证模块148验证说出唤醒短语的用户是有权操作设备的用户。在一些实施例中,利用已知的生物计量分析技术执行说话者验证。例如,可以将对音频输入执行的生物计量分析的结果与生物计量标识符或与被授权以操作计算设备的用户相关联的其他生物计量相关的信息进行比较。

对包括唤醒短语的音频输入的部分执行说话者验证。因此,对相同的音频输入执行说话者验证和唤醒短语识别。例如,如果唤醒短语识别模块142确定音频输入包括唤醒短语“嘿,电话”,则对包含“嘿,电话”唤醒短语的音频输入的部分执行说话者验证。

在说话者已经被验证为是被允许访问设备100的用户之后,设备100要被唤醒的通知将被传送至lpe驱动器116。lpe驱动器116将该通知传送至说话者验证代理服务120。代理服务120提供向设备100的操作系统122事件以解锁设备100。代理服务120可以向操作系统122提供事件以获得额外的任务,例如指示操作系统122从而针对待由一个或多个应用程序124执行或利用的命令或输入而开始监测音频输入126。在一些实施例中,在设备已经被唤醒之后,vtsv模块134在音频捕获管线中被跳过。

在已经验证了说话者之后唤醒设备100可以降低设备100的功率消耗。例如,如果设备100响应于用户说出唤醒短语而被唤醒,但是用户没有被验证,则电量可能被浪费。

图2是利用相同的音频输入识别来唤醒短语并执行说话者验证的第二计算设备200的方框图。设备200具有和图1中的设备100共同的组件,但是不同的是,说话者验证功能是由在低功率引擎112外部的说话者验证模块220执行的。在设备200中,当唤醒短语识别模块142在音频输入中检测出唤醒短语时,将设备200唤醒并且将包含唤醒短语的音频采样复制到由lpe驱动器116分配的短语缓冲器210。lpe驱动器116从lpe112中接收已经检测到唤醒短语的通知,并且将该通知传送至说话者验证模块220中。说话者验证模块220对存储在短语缓冲器210中的音频采样执行验证。如果验证成功,则验证模块220向操作系统122提供事件以解锁设备200。验证模块220可以向操作系统提供额外的事件以针对提供给应用程序124的用户命令或输入而开始监测音频输入126。在计算设备200的替代的实施例中,说话者验证可以由设备的除了低功率引擎112之外的任何组件执行。

在一些实施例中,可以分阶段唤醒设备。例如,如果低功率引擎在音频输入中检测到唤醒短语,则低功率引擎可以使得计算设备的一个或多个第二组件从低功率状态转换到活动状态以执行说话者验证。如果验证了说话者,则可以唤醒设备的一个或多个第三组件(例如,计算设备的剩余组件,或其子集)以将设备带入活动状态。

在一些实施例中,唤醒短语可以被翻译为待由设备执行的命令。这些唤醒短语的示例包括“显示电子邮件”、“发送消息”、以及“我需导向”。计算设备可以将这些唤醒短语翻译为命令,并且在被唤醒后分别启动电子邮件应用程序、消息传送应用程序和导航应用程序。

在一些实施例中,设备可以在用户说出唤醒短语后对由用户提供的语音命令执行说话者验证。例如,响应于用户说出短语“嘿,电话,发送消息”,设备可以响应于检测到唤醒短语“嘿,电话”而被唤醒。接着,设备可以对“发送消息”执行说话者验证,其在说话者被验证后也可以被翻译为用于启动消息传送应用程序的命令。在一些实施例中,低功率引擎可以针对语音命令而翻译音频输入。替代地,低功率引擎可以执行唤醒短语识别,并且将包含在唤醒短语后说出的单词或短语的音频输入的部分传送至主机操作系统,以进行说话者验证和命令翻译。可以由语音命令翻译模块来执行针对语音命令的音频输入翻译。

在另外的实施例中,可以在识别出唤醒短语之后并且在还没有验证用户的情况下唤醒设备。还没有验证用户是由于低功率引擎没有执行基于接收到的音频输入的说话者验证,或是由于说话者验证失败。在被唤醒后,计算设备可以将接收到的音频输入翻译为待由计算设备执行的命令,并且如果该命令是用户不可知的命令,则执行该命令。在这样的实施例中,低功率引擎可以传送接收到的不包括唤醒短语的音频输入中的至少一部分。可以将音频输入的该部分提供给设备的已经被唤醒的一个或多个组件,例如命令翻译模块。

用户不可知的命令可以是不要求用户的识别信息或个人数据,例如账户信息(例如,电子邮件、社交媒体、金融机构和其他账户的用户id、密码和联系人)、设备使用历史(例如,网络浏览器、网络跟踪软件(cookies))、日程安排和用户偏好(例如,与各种设备可执行的应用程序相关联的电影、餐厅偏好)的任何命令。用户不可知的命令的示例包括询问设备的当前位置处的天气、体育赛事的结果和股票价格的命令。不是用户不可知的命令的示例包括例如“读取我的电子邮件”、“给我回家的导向”以及“呼叫victoria”的命令。

在一个实施例中,在低功率状态中运行的计算设备可以被唤醒并且执行如下的用户不可知的命令。当拜访他的朋友john时,bob拿起john的智能电话并说出了短语“嘿,电话,天气怎么样”。由于john已经一段时间没有和电话交互而在低功率状态中运行的john的智能电话,识别出唤醒短语“嘿,电话”。由于智能电话基于音频输入没有将bob识别为被授权以操作该电话的用户,因此智能电话验证bob的尝试失败了。将智能电话唤醒并且将包括短语“天气怎么样”的音频输入提供给智能电话的命令翻译模块。命令翻译模块识别出该短语是用户不可知的命令,并且对基于计算设备的当前位置向bob提供天气预报的基于云的服务进行访问。在一些实施例中,命令翻译模块可以向基于网络的服务提供音频输入,所述基于网络的服务确定包括在接收到的音频输入中的命令是否是用户不可知的命令。

如果bob说出短语“嘿,电话,读取我的电子邮件”,则电话(或基于云的服务)可以确定“读取我的电子邮件”不是用户不可知的命令并且智能电话将不执行该命令(例如,执行电子邮件应用程序、执行网络浏览器以及导航到基于云的网络服务)。

应当理解的是,图1和图2示出了可以被包括在包含本文中描述的技术的计算设备中的模块和组件的示例性组。在其他实施例中,计算设备可以比那些在图1和图2中示出的计算设备具有更多或更少的模块或组件。此外,可以将分离的模块组合成单个模块,并且单个模块可以被分成多个模块,例如,可以将音频编码解码器108和编码器128组合成单个模块。同样可以将话音活动检测模块138和唤醒短语识别模块142合并成单个模块。

可以以软件、硬件、固件或其组合实现在图1和图2中示出的模块。被称为被编程以执行方法的计算设备可以被编程以经由软件、硬件、固件或其组合来执行该方法。

图3是利用相同的音频输入来唤醒计算设备并执行说话者验证的第一示例性方法300的流程图。方法300可以例如由图1中所示的在低功率状态中运行的计算设备执行。在处理行为310处,设备接收音频输入。音频输入可以在内置麦克风处被接收。在处理行为320处,对音频输入执行话音检测。在一些实施例中,在麦克风处接收到的音频输入可以经历模拟到数字转换并且在执行话音检测前被编码。话音检测可以由话音活动检测模块执行。如果在接收到的音频输入中检测到话音,则在处理行为330处识别出音频输入中存在的任何语音。在处理行为340处,确定被识别的语音是否包括唤醒短语。语音识别和唤醒短语识别可以由唤醒短语识别模块执行。

如果识别出唤醒短语,则在处理行为350处执行说话者验证,并且在处理行为360处确定说话者是否已经被验证。处理行为350和360可以由说话者验证模块执行。如果说话者已经被验证,则方法300继续到处理行为370,在这里设备被唤醒。也可以将说话者已经被验证的指示传送至一个或多个上层(例如,操作系统层、应用程序层)。如果在320处没有检测到话音,在340处没有识别出唤醒短语、或者在处理行为360处没有验证说话者,则设备保持在低功率状态,并且方法300返回至处理行为310以接收进一步的音频输入。

图4是利用相同的音频输入来唤醒计算设备并执行说话者验证的第二示例性方法400的流程图。方法400可以由例如图2中示出的在低功率状态中运行的计算设备200来执行。已经在上文中关于图3描述了处理行为310、320、330、340、和360。如果已经在接收到的音频输入中检测到话音,并且已经在音频中识别出语音,则方法400到达处理行为410。在处理行为410处,将包括识别出的唤醒短语的音频输入的一部分转移到存储器(例如,音频缓冲器),其中所述存储器对当前被禁用或另外处于低功率状态的设备组件是可存取的。这可以通过lpe112执行直接存储器访问来完成。在处理行为420处,将设备唤醒,并且设备的上层组件,例如说话者验证模块,接收唤醒短语已经被识别的通知。

在处理行为430处,利用包括先前复制到存储器中的识别出的唤醒短语的音频输入的所述部分来验证说话者。说话者验证在设备已经被唤醒后被执行,并且由除了设备的用于执行话音检测和唤醒短语识别的低功率组件之外的组件来执行。说话者验证可以由诸如在主机处理器上运行的主机操作系统的组件来执行。如果在过程360处已经验证了说话者,则在处理行为470处通知上层(例如,操作系统的上层、一个或多个应用程序层)说话者已经被验证。如果在320处没有检测到话音,在340处没有识别出唤醒短语,或者在360处没有验证说话者,则设备保持在低功率状态,并且方法400返回到处理行为310处以接收进一步的音频输入。在一些实施例中,方法300或400可以比那些示出的方法具有更多或更少的处理行为。

图5是利用相同的音频输入来唤醒计算设备并执行说话者验证的第三示例性方法500的流程图。方法500可以由诸如处于睡眠状态中的智能电话来执行。在睡眠状态中,关闭智能电话的触摸屏并且禁用一个或多个处理器。智能电话的音频捕获管线保持运行并且包括对音频输入执行唤醒短语识别和说话者验证的低功率引擎。

在处理行为510处,当计算设备处于低功率状态时,计算设备从在计算设备处的用户中接收音频输入。在该示例中,用户对智能电话说出唤醒短语“嘿,电话”。在处理行为520处,当计算设备仍然处于低功率状态时,确定音频输入包括唤醒短语。在该示例中,智能电话的低功率引擎在接收到的音频输入中识别唤醒短语“嘿,电话”。

在处理行为530处,至少部分地上基于包括唤醒短语的音频输入的一部分来验证用户。在该示例中,基于包括“嘿,电话”的唤醒短语的一部分来验证用户。通过将包括唤醒短语的音频输入的一部分的生物计量分析的结果和与被授权以操作设备的用户相关联的生物计量标识符进行比较,智能电话验证用户是被授权以使用设备的。

在处理行为540处,计算设备从低功率状态转换到活动状态。在该示例中,在用户被验证为被授权以操作设备的用户之后,智能电话通过打开显示器并且启用一个或多个处理而从睡眠状态转换到活动状态。用户不是必须要提供任何额外的音频输入以获得对设备的访问。因此,在提供了“嘿,电话”唤醒短语之后,用户可以被带至主屏幕或者在智能电话进入睡眠状态之前执行的应用程序。

在本文中所描述的技术具有至少以下的示例性优点。通过对相同的音频输入执行唤醒短语识别和说话者验证,计算设备向用户呈现了更简化的自然的用户界面;用户可以解锁设备并且以免提和免视的方式被验证。因此,用户从必须说出唤醒短语并且接着必须提供额外的输入(例如,话音、触摸屏、或键盘输入)以进行说话者验证中解放出来。此外,在只有在说话者已经被验证之后才唤醒设备的实施例中,降低了设备功耗。

在本文中描述的科技、技术和实施例可以由各种计算设备中的任何一种执行,其中所述计算设备包括移动设备(例如,智能电话、手持计算机、平板计算机、膝上型计算机、媒体播放机、便携式游戏机、相机和录像机)、非移动设备(例如,台式计算机、服务器、台式游戏机、机顶盒、智能电视)以及嵌入式设备(例如,包含在车辆、家庭或工作地中的设备)。如在本文中所用的,术语“计算设备”包括计算系统,并且包括包含多个分立的物理组件。

图6是其中可以实现在本文中所描述的技术的示例性计算设备的方框图。通常而言,图6中示出的组件可以与示出的其他组件进行通信,尽管为了便于说明而没有示出所有的连接。设备600是包括第一处理器602和第二处理器604的多处理器系统,并且被示出为包括点对点(p-p)互连。例如,处理器602的点对点(p-p)接口606经由点对点互连605耦合至处理器604的点对点接口607。应当理解的是,图6中示出的点对点互连中的任意一个或全部可以替代地被实现为多点分支总线,并且图6中示出的总线的任意一个或全部可以被点对点互连代替。

如图6中所示,处理器602和604是多核心处理器。处理器602包括处理器核心608和609,并且处理器604包括处理器核心610和611。处理器核心608-611可以按照相似于在下文中结合图7所讨论的方式或按照其他方式执行计算机可执行指令。

处理器602和604还分别包括至少一个共享的高速缓存存储器612和614。共享的高速缓存612和614可以存储由处理器(例如,处理器核心608-609和610-611)的一个或多个组件使用的数据(例如,指令)。共享的高速缓存612和614可以是设备600的存储器层级结构的一部分。例如,共享的高速缓存612可以本地地存储数据,所述数据也存储在存储器616中以允许处理器602的组件对数据更快地存取。在一些实施例中,共享的高速缓存612和614可以包括多个高速缓存层,例如1级(l1)、2级(l2)、3级(l3)、4级(l4),和/或其他高速缓存或高速缓存层,例如末级高速缓存(llc)。

尽管设备600示出了具有两个处理器,但是设备600可以包括任何数量的处理器。此外,处理器可以包括任何数量的处理器核心。处理器可以采用各种形式,例如中央处理单元、控制器、图形处理器、加速器(例如,图形加速器或数字信号处理器(dsp))或现场可编程门阵列(fpga)。设备中的处理器可以和设备中的其他处理器相同或不同。在一些实施例中,设备600可以包括异构或非对称于第一处理器、加速器、fpga、或任意其他处理器的一个或多个处理器。系统中的处理元件之间可以在包括构架、微构架、热、功耗特性等的指标度量范围方面存在多种不同。这些区别可以有效地将自身表现为在系统的处理器之中的非对称性和异构性。在一些实施例中,处理器602和604驻留于相同的管芯封装中。

处理器602和604还包括存储器控制器逻辑(mc)620和622。如图6中所示,mc620和622分别控制耦合至处理器602和604的存储器616和618。存储器616和618可以包括各种类型的存储器,例如,易失性存储器(例如,动态随机存取存储器(dram)、静态随机存取存储器(sram))或非易失性存储器(例如,闪速存储器)。在可替代的实施例中,虽然mc620和622被示出为集成到处理器602和604中时,但是mc可以是处理器外部的逻辑,并且可以包括一层或多层的存储器层级结构。

将处理器602和604经由p-p互连632和634耦合至输入/输出(i/o)子系统630。点对点互连632将处理器602的点对点接口636与i/o子系统630的点对点接口638进行耦合,并且点对点互连634将处理器604的点对点接口640与i/o子系统630的点对点接口642进行耦合。输入/输出子系统630还包括用于将i/o子系统630耦合至图形引擎652的接口650,其中图形引擎652可以是高性能图形引擎。i/o子系统630和图形引擎652经由总线654进行耦合。或者,总线654可以是点对点互连。

输入/输出子系统630还经由接口662耦合至第一总线660。第一总线660可以是外围组件互连(pci)总线、pci快速总线、另一第三代i/o互连总线或任意其他类型的总线。

可以将各种i/o设备664耦合至第一总线660。总线桥670可以将第一总线660耦合至第二总线680。在一些实施例中,第二总线680可以是低管脚数(lpc)总线。可以将各种设备耦合至第二总线680,其中各种设备包括例如键盘/鼠标682、音频i/o设备688和存储设备690,例如,硬盘驱动器、固态驱动器或用于存储计算机可执行指令(代码)692的其他存储设备。代码692可以包括用于执行本文中所描述的技术的计算机可执行指令。可以被耦合至第二总线680的额外的组件包括通信设备684,所述通信设备684可以利用一个或多个通信标准(例如,ieee802.11标准及其补充)经由一个或多个有线或无线通信链路(例如,导线、电缆、以太网连接、射频(rf)信道、红外信道、wi-fi信道),在设备600和一个或多个有线或无线网络686(例如,wi-fi、蜂窝或卫星网络)之间提供通信。此外,设备600可以包括可以检测设备600的运动的一个或多个传感器689,例如加速计或陀螺仪。

设备600可以包括可移除存储器,例如闪速存储器卡(例如,sd(安全数字)卡、存储器棒、用户身份识别模块(sim)卡)。设备600中的存储器(包括高速缓存612和614、存储器616和618以及存储设备690)可以存储用于执行操作系统694和应用程序696的数据和/或计算机可执行指令。示例数据包括网页、文本消息、图像、声音文件、视频数据、唤醒短语、与特定的唤醒短语关联的用户、以及用于说话者验证的与特定用户相关联的生物计量分析结果、或经由一个或多个有线或无线网络由设备600发送至和/或接收自一个或多个网络服务器或其他设备的或用于由设备600利用的其他数据组。设备600也可以具有对诸如外部硬盘驱动器或基于云的存储的外部存储器(未示出)的访问。

操作系统694可以控制在图6中示出的组件的分配和使用,并且支持一个或多个应用程序696。操作系统694可以包括验证说出唤醒短语的用户是否被授权以操作设备的语音验证模块697。操作系统还可以包括将唤醒短语翻译成将待由设备600执行的命令的命令翻译模块。应用程序696可以包括普通移动计算设备应用程序(例如,电子邮件应用程序、日历、联系人管理器、网络浏览器、消息发送应用程序),以及其他计算应用程序。

设备600可以支持各种输入设备,例如触摸屏、麦克风、照相机、物理键盘、以及轨迹球,和一个或多个输出设备,例如扬声器和显示器。其他可能的输入和输出设备包括压电式和其他触觉i/o设备。任何输入或输出设备可以在设备600内部、外部或可移除地与设备600可附接。外部输入和输出设备可以经由有线或无线连接而与设备600进行通信。

此外,计算设备600可以提供一个或多个自然用户界面(nui)。例如,操作系统694或应用程序696可以包括允许用户经由话音命令而操作设备600的、作为话音用户界面的一部分的语音识别逻辑。此外,设备600可以包括允许用户经由身体、手或者面部手势而与设备600进行交互的输入设备和逻辑。例如,可以检测并翻译用户的手部手势以向游戏应用程序提供输入。

设备600还可以包括一个或多个通信组件684。组件684可以包括耦合至一个或多个天线以在系统600和外部设备之间提供通信的无线通信组件。无线通信组件可以支持各种无线通信协议和技术,例如近场通信(nfc)、wi-fi、蓝牙、4g长期演进(lte)、码分多址(cdma)、通用移动通信系统(umts)和全球移动通信系统(gsm)。此外,无线状态可以支持与一个或多个蜂窝网络的通信以用于在单个蜂窝网络内、蜂窝网络之间、或移动计算设备和公共开关电话网络(pstn)之间的数据和话音的通信。

设备600还可以包括至少一个输入/输出端口(其可以是,例如usb、ieee1394(火线)、以太网和/或rs-232端口),其包括物理连接器、电源、接近传感器、指南针、和卫星导航系统接收机,例如gps接收机。可以将gps接收机耦合至gps天线。设备600还可以包括耦合至一个或多个额外的接收机、发射机和/或收发机的一个或多个额外的天线以使能额外的功能。

应当理解的是,图6示出了一个示例性计算设备构架。可以使用基于替代的构架的计算设备以实现本文中所描述的技术。例如,不同于处理器602和604、以及图形引擎652位于分立的集成电路上,计算设备可以包括soc(片上系统)集成电路,该soc集成电路包括多个处理器、图形引擎和额外的组件。此外,计算设备可以经由不同于图6中所示的总线或点对点配置来连接元件。而且,由于图中所示的组件可以被移除并且可以在可替代的实施例中加入其它组件,因此在图6中示出的组件不是必需的或包括所有的。

图7是用于执行计算机可执行指令以作为实现本文中所描述的技术的一部分的示例性处理器核心700的方框图。处理器核心700可以是任何类型的处理器的核心,例如微处理器、嵌入式处理器、数字信号处理器(dsp)或网络处理器。处理器核心700可以是单线程核心或多线程核心,其中每个核心上可以包括超过一个硬件线程环境(或“逻辑处理器”)。

图7也示出了耦合至处理器700的存储器710。存储器710可以是本文中所描述的任意存储器,或是本领域技术人员已知的任意其他处理器。存储器710可以存储可以由处理器核心700执行的计算机可执行指令715(代码)。

处理器核心包括接收来自存储器710的指令的前端逻辑720。指令可以由一个或多个解码器730处理。解码器730可以生成作为其输出的微操作,例如按照预定格式的固定宽度的微操作,或生成反映原始代码指令的其他指令、微指令或控制信号。前端逻辑720还包括寄存器重命名逻辑735和调度逻辑740,其通常分配资源并且对应于将指令进行转换而用于执行的队列操作。

处理器核心700还包括执行逻辑750,其包括一个或多个执行单元(eu)765-1到765-n。一些处理器核心实施例可以包括专用于特定功能或功能组的若干执行单元。其他实施例可以只包括一个执行单元,或可以执行特定功能的一个执行单元。执行逻辑750执行由代码指令指定的操作。在完成了由代码指令指定的操作的执行之后,后端逻辑770利用退出逻辑775退出指令。在一些实施例中,处理器核心700允许指令的乱序执行但要求指令的顺序退出。如本领域技术人员所知,退出逻辑770可以采用多种形式(例如,重新排序缓冲器等)。

在指令执行的过程中,至少根据由解码器730、由寄存器重命名逻辑735使用的硬件寄存器和表格,以及由执行逻辑750修改的任何寄存器(未示出)生成的输出而使处理器核心700改变。尽管没有在图7中示出,但是处理器可以包括具有处理器核心700的集成芯片上的其他元件。例如,处理器可以包括诸如存储器控制逻辑、一个或多个图形引擎、i/o控制逻辑和/或一个或多个高速缓存的额外的元件。

参考回图6,网络686可以提供可以用于实现本文中所描述的技术的各种基于云的服务。例如,与个体用户相关联的唤醒短语和生物计量相关的信息可以由基于云的服务来提供。在一些实施例中,唤醒短语识别可以由低功率引擎在设备处本地地执行,并且在设备被唤醒后,包括唤醒短语的音频输入的一部分可以被发送至基于云的服务以用于说话者验证。即,说话者验证可以远程地执行。

可以将所公开的方法中的任何一个实现为计算机可执行的指令或计算机程序产品。这样的指令可以使得计算机执行任何公开的方法。通常,如在本文中所使用的,术语“计算机”指的是在本文中描述或提及的任意计算设备或系统,或任意其他计算设备。因此,术语“计算机可执行指令”指的是可以哟在本文中描述或提及的任意计算设备或任意其他计算设备执行的指令。

计算机可执行指令或计算机程序产品以及在实现所公开的技术的过程中创建并使用的任意数据都可以被存储在一个或多个有形的计算机可读存储介质上,例如,光介质盘(例如,dvd、cd)、易失性存储器组件(例如,dram、sram)、或者非易失性存储器组件(例如,闪速存储器、磁盘驱动器)。计算机可读存储介质可以被包括在诸如固态驱动器、usb闪速驱动器、以及存储器模块的计算机可读存储设备中。或者,计算机可执行指令可以由包括用于执行所公开方法的全部或部分的硬接线逻辑的特定的硬件组件,或由计算机可读存储介质和硬件组件的任意组合来执行。

计算机可执行指令可以是诸如经由网络浏览器或其他软件应用程序(例如,远程计算应用程序)访问的专用软件应用程序或软件应用程序的一部分。可以例如利用一个或多个网络计算机在单个计算设备上或在网络环境中执行这样的软件。此外,应当理解的是,所公开的技术不限于任何特定的计算机语言或程序。例如,可以通过用c++、java、perl、javascript、adobeflash或任意其他合适的编程语言编写的软件来实现所公开的技术。同样地,所公开的技术不限于任何特定的计算机或硬件类型。合适的计算机和硬件的某些细节是公知的并且不需要在本公开中进行阐述。

此外,基于软件的实施例(包括例如用于使得计算机执行所公开的方法中的任意一个的计算机可执行指令)中的任何一个都可以通过合适的通信方式进行上传、下载或远程访问。这样合适的方式包括,例如,互联网、万维网、内联网、电缆(包括光缆)、磁通信、电磁通信(包括rf、微波和红外通信)、电子通信、或其他这样的通信方式。

如在本申请和权利要求中所使用的,由术语“和/或”连接的项的列表可以意味着列出的项的任意组合。例如,短语“a、b和/或c”可以意味着a、b、c;a和b;a和c;b和c;或者a、b和c。如在本申请和权利要求中所使用的,由术语“…中的至少一个”连接的项的列表可以意味着列出的术语的任意组合。例如,短语“a、b或c中的至少一个”可以意味着a、b、c;a和b;a和c;b和c;或者a、b和c。

所公开的方法、装置和系统没有被解释为在任何方面是限制性的。相反,本公开指向各种公开的实施例(单独或是在彼此的各种组合或者子组合中)的所有新颖的和不显而易见的特征和方面。所公开的方法、装置和系统不限于任何具体的方面或特征或其组合,同样,所公开的实施例不要求呈现任何具体的优点或解决问题。

为了更好地理解的目的,已经参照本公开的装置或方法而提供了在本文中呈现的操作的原理、科学原理或其他理论性描述,并且不旨在从任何方面进行限制。所附权利要求中的装置和方法不限于以由这些操作的原理所描述的方式而工作的那些装置和方法。

尽管为了方便呈现而按照特定的、序列顺序描述了所公开的方法中的一些的操作,但是应当理解的是,除非在本文中阐述的具体的语言要求特定的顺序,该描述的方式包含重新排列。例如,在某些情况下,按顺序描述的操作可以被重新排列或同时执行。此外,出于简洁的目的,附图可能没有示出可以结合其他方法而使用所公开的方法的各种方式。

以下的示例关于本文中所公开的技术的额外的实施例。

示例1。一种计算设备,包括:麦克风;以及低功率引擎,用于:当所述计算设备处于低功率状态时,识别由用户提供给所述麦克风的音频输入中的唤醒短语;当所述计算设备处于所述低功率状态时,至少部分地基于包含所述唤醒短语的所述音频输入的部分来验证所述用户;并且使得所述计算设备从所述低功率状态转换到活动状态。

示例2。示例1的计算设备,其中,所述低功率引擎用于在当所述计算设备处于低功率状态时识别出由用户提供给所述麦克风的所述音频输入中的唤醒短语之后,并且在当所述计算设备处于所述低功率状态时至少部分地基于包含所述唤醒短语的所述音频输入的部分来验证所述用户之后,使得所述计算设备从低功率状态转换到活动状态。

示例3。示例1的计算设备,其中,所述低功率引擎用于在当所述计算设备处于低功率状态时识别出由用户提供给所述麦克风的所述音频输入中的唤醒短语之后,并且在当所述计算设备处于所述低功率状态时至少部分地基于包含所述唤醒短语的所述音频输入的部分来验证所述用户失败之后,使得所述计算设备从低功率状态转换到活动状态;计算设备还包括命令翻译模块以将所述音频输入的第二部分翻译成待由所述计算设备执行的命令,并且如果所述命令是用户不可知的命令,则指示所述计算设备执行所述命令,所述音频输入的所述第二部分不包含所述唤醒短语。

示例4。一种计算设备,包括:麦克风;低功率引擎,用于:当所述计算设备处于低功率状态时,识别由用户提供给所述麦克风的音频输入中的唤醒短语;并且使得所述计算设备从所述低功率状态转换到活动状态;以及,说话者验证模块,其用于至少部分地基于包含所述唤醒短语的所述音频输入的部分来验证所述用户,其中,所述说话者验证模块是当所述计算设备处于所述活动状态时被启用的,并且是当所述计算设备处于所述低功率状态时被禁用的。

示例5。示例1或示例4的计算设备,还包括唤醒短语存储设备,所述唤醒短语存储设备包括与一个或多个用户相关联的多个唤醒短语。

示例6。示例1或示例4的计算设备,还包括命令翻译模块,所述命令翻译模块用于将包含所述唤醒短语的所述音频输入的所述部分翻译成待由所述计算设备执行的命令。

示例7。示例1或示例4的计算设备,所述激活状态活动状态至少部分地基于所述唤醒短语。

示例8。示例1或示例4的计算设备,其中,当所述计算设备处于所述低功率状态时,所述低功率引擎被包括在所述计算设备的音频捕获管线中包括所述低功率引擎,并且当所述计算设备处于所述激活状态活动状态时,所述低功率引擎被从所述音频捕获管线上中移除。

示例9。一种计算设备,包括:用于接收来自用户的音频输入的单元;用于当所述计算设备处于低功率状态时,确定所述音频输入包括包含唤醒短语的单元;用于至少部分地基于包括包含所述唤醒短语的部分的所述音频输入的部分来验证所述用户的单元;以及用于将所述计算设备从所述低功率状态转换到激活状态活动状态的单元。

示例10。示例9的计算设备,其中,当所述计算设备处于低功率状态时,所述用于验证所述用户的所述单元对所述用户进行验证。

示例11。一种唤醒计算设备的方法,包括:当计算设备处于低功率状态时:在所述计算设备处接收来自用户的音频输入;确定所述音频输入包含唤醒短语;将所述计算设备从所述低功率状态转换到活动状态;并且至少部分地基于包含所述唤醒短语的所述音频输入的部分来验证所述用户。

示例12。示例11的方法,其中,当所述计算设备处于所述低功率状态时执行所述验证,并且如果所述音频输入包含唤醒短语并且已经至少部分地基于包含所述唤醒短语的所述音频输入的所述部分而验证了用户,则执行所述转换。

示例13。示例11的方法,其中,当所述计算设备处于所述低功率状态时执行所述验证,并且如果所述音频输入包含唤醒短语并且还没有至少部分地基于包含所述唤醒短语的音频输入的所述部分而验证用户,则执行所述转换;该方法还包括:将所述音频输入的第二部分翻译成待由所述计算设备执行的命令,所述音频输入的所述第二部分不包含所述唤醒短语;并且如果所述命令是用户不可知的命令,则在所述计算设备处执行所述命令。

示例14。示例11的方法,其中,将所述计算设备从所述低功率状态转换到所述活动状态先于至少部分地基于包含所述唤醒短语的所述音频输入的所述部分来验证所述用户而发生。

示例15。示例11的方法,其中,唤醒短语是可以用于验证用户的多个唤醒短语中的一个。

示例16。示例11的方法,其中,唤醒短语是可以用于验证多个用户的多个唤醒短语中的一个,多个唤醒短语包括可以用于验证第一用户的第一唤醒短语和可以用于验证第二用户的第二唤醒短语,第一唤醒短语和第二唤醒短语不同。

示例17。示例11的方法,其中,确定所述音频输入包含唤醒短语和验证所述用户是由所述计算设备的低功率引擎来执行的。

示例18。示例11的方法,其中,确定所述音频输入包含唤醒短语是由所述计算设备的低功率引擎执行的,并且验证所述用户是由所述计算设备的除了所述低功率引擎之外的一个或多个组件来执行的。

示例19。示例11的方法,其中:将所述计算设备从所述低功率状态转换到所述活动状态包括将所述计算设备的一个或多个第二组件转换到活动状态;验证所述用户是由所述一个或多个第二组件执行的;并且将所述计算设备从所述低功率状态转换到所述活动状态还包括将所述计算设备的一个或多个第三组件从低功率状态转换到活动状态。

示例20。示例11的方法,还包括:将包含所述唤醒短语的所述音频输入翻译成待由所述计算设备执行的命令。

示例21。示例11的方法,其中,所述转换包括至少部分地基于所述唤醒短语而转换至活动状态。

示例22。一种或多种存储有计算机可执行指令的计算机可读存储介质,所述指令用于使得计算设备执行示例11-21所述的方法中的任意一种。

示例23。一种装置,包括用于执行示例11-21所述的方法中的任意一种的单元。

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