跨诸设备缩放数字个人助理代理的制作方法

文档序号:11450226阅读:206来源:国知局
跨诸设备缩放数字个人助理代理的制造方法与工艺

背景

随着计算技术的发展,越来越强大的移动设备已经变得可用。例如,智能电话以及其他计算设备已经变得普及。此类设备的处理能力已导致开发出不同类型的功能性,诸如与数字个人助理相关功能性。

实现在各种移动设备内的数字个人助理具有交互式和内置会话理解力以能够对用户问题或语音命令作出响应。然而,取决于正被使用的设备的类型,来自数字个人助理的这样的响应可能不是总是适当的。例如,一些设备可能不具有触摸屏,并且指令用户触摸或按压屏幕上的按钮的响应可能不是可行的。

概述

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

根据一个或多个方面,一种用于提供数字个人助理响应的方法可包括由与多个反应型代理相关联的数字个人助理接收发起与计算设备内的数字个人助理的对话的用户输入。响应于接收到该输入,可从多个可用操作模式中检测计算设备的操作模式。可基于接收到的输入来选择多个反应型代理中的一个反应型代理。可访问与所选的反应型代理相关联的多个响应串。至少基于计算设备的操作模式和/或至少一个硬件特性选择多个响应串中的至少一个响应串。在对话期间提供多个响应串中所选的至少一个响应串作为对用户输入的响应。

根据一个或多个方面,包括处理器、存储器和话筒的计算设备可被适配成执行一种用于提供数字个人助理响应的方法。该方法包括由数字个人助理接收由用户生成的输入(例如,文本、语音、触觉等),其中该输入可经由话筒来接收(在数字语音输入的实例中)。响应于接收到该输入,检测计算设备的操作模式和/或至少一个硬件特性。选择与数字个人助理的反应型代理相关联的多个响应串中的至少一个响应串以及多个响应串中的该至少一个响应串的呈现模式。对多个响应串中的至少一个响应串以及呈现模式的选择可至少基于操作模式和/或至少一个硬件特性。可使用该呈现模式来提供多个响应串中的该至少一个响应串作为对数字语音输入的响应。

根据一个或多个方面,计算机可读存储介质可包括指令,这些指令在执行之际,使得计算机系统通过在该计算机系统上运行的第三方应用来接收由用户生成的输入。该输入可包括数字语音输入、通过例如打字接收的文本输入和/或任何其他类型的用户输入(例如,触觉输入)。数字语音输入可通过话筒来接收。话筒可以是计算机系统内的内置式话筒、可通过有线连接连接(附连)到计算机系统的可拆卸话筒、无线地耦合到计算机系统的远程监听设备(例如,具有话筒的蓝牙耳机)和/或具有话筒和/或扬声器能力的伴随设备(例如,智能手表)。在数字语音输入被使用时的实例中,使用数字语音输入的自然语言处理被执行以确定用户语音请求。用户语音请求与由在计算机系统上运行的应用执行的一个或多个功能性相关联。应用包括用于执行一个或多个功能性的一个或多个反应型代理。可选择一个或多个反应型代理中的一个反应型代理来执行一个或多个功能性。由应用请求标识计算机系统的操作模式和至少一个硬件特性的信息,该请求使用api请求。响应于api请求,接收标识计算机系统的操作模式和/或至少一个硬件特性的信息。选择与所选的第三方反应型代理相关联的多个响应串中的至少一个响应串以及多个响应串中的该至少一个响应串的呈现模式。对多个响应串中的至少一个响应串以及呈现模式的选择可至少基于操作模式和/或至少一个硬件特性。可使用该呈现模式来提供多个响应串中的该至少一个响应串作为对用户语音请求的响应。

如本文所述的,各种其它特征和优点可按照需要被结合到所述技术中。

附图简述

图1是解说根据本公开的示例实施例的用于跨具有不同设备能力的诸计算设备缩放数字个人助理代理的示例架构的框图。

图2是解说根据本公开的示例实施例的具有在图1的架构中使用的缩放服务的示例反应型代理的框图。

图3是解说根据本公开的示例实施例的具有示例设备操作模式和对应的输出串的表的框图。

图4是根据本公开的示例实施例的使用可被缩放的应用反应型代理的计算设备的框图。

图5-7是解说根据一个或多个实施例的跨诸设备缩放数字个人助理代理的流程图。

图8是解说可结合其来实现此处描述的创新的示例移动计算设备的框图。

图9是可用于实现所描述的一些实施例的示例计算系统的示图。

详细描述

如本文中所描述的,各种技术和解决方案可被应用来跨诸设备缩放数字个人助理反应型代理。更具体地,在检测到用户输入(例如,用于语音控制数字个人助理的语音输入、诸如键入打字输入之类的文本输入、触觉输入等)之际,反应型代理可被选择来帮助执行与设备功能性相关联并通过该用户输入触发的任务。数字个人助理(或代理)可随后使用当前设备操作模式和一个或多个设备能力(例如,诸如硬件特性之类的一个或多个设备特征或特性)来定制响应于该用户输入而发起的语音响应对话。响应串可基于设备操作模式和/或一个或多个设备能力来选择。此外,用于呈现响应串的呈现模式(例如,纯音频、纯显示、音频/显示组合、响应串有多详细等)可基于设备操作模式和/或一个或多个设备能力来定制。就此而言,通过使用该设备类型的硬件能力以及用户在与数字个人助理进行交互时可能如何参与(例如,基于设备操作模式),数字个人助理可提供针对正在特定操作模式中使用的特定设备定制的更相关及高效的响应体验。

如本文中所使用的,术语“反应型代理”指代可被数字个人助理用来实现与设备功能性相关联的一个或多个响应对话(例如,语音、文本和/或触觉响应)的数据/命令结构。该设备功能性(例如,电子邮件收发、消息收发等)可由到数字个人助理的用户输入(例如,语音命令)来激活。反应型代理(或代理)可使用语音代理定义(vad)或反应型代理定义(rad)xml文档以及用于驱动该代理来通过对话的编程代码(例如,c++代码)来定义。

图1是解说根据本公开的示例实施例的用于跨具有不同设备能力的诸计算设备缩放数字个人助理代理的示例架构100的框图。参考图1,架构100可包括计算设备102、…、104,其中每一计算设备分别具有特定设备能力(或特性),诸如120、…、121。计算设备102、…、104可包括台式计算机、膝上型计算机、上网本、平板计算机、智能电话或可执行操作系统(例如,106、...、107)和数字个人助理108(其可以是语音控制的数字个人助理)的其他计算设备。尽管数字个人助理108被示为被安装在计算设备102上,但本公开不限于此。例如,伴随设备(例如,智能手表)可与其上安装有数字个人助理的另一设备(例如电话)通信。在该情况下,尽管伴随设备没有数字个人助理被安装在该设备上,但通过依赖于由安装在第二设备(即,电话)上的数字个人助理提供的信息(例如,响应串),它仍可利用本文中描述的功能性。数字个人助理也可以是云环境中的服务器的一部分,该服务器可由云环境中的多个其他设备访问。

计算设备102、…、104中的每一者都可使用数字个人助理(dpa)108。dpa108可包括合适的逻辑、电路系统、接口和/或代码,并且可用于使用一个或多个反应型代理(ra),诸如ra110、…、114。ra可被用于执行一个或多个功能性,该一个或多个功能性可由到dpa108的用户输入(例如,语音输入)触发。例如,ra110可以是电子邮件代理,该电子邮件代理可基于用户语音命令被用于打开新的电子邮件窗口、基于语音输入来创作电子邮件以及向由语音输入指定的电子邮件地址发送电子邮件。ra110、…、114也可被用来在用dpa108发起的对话会话期间基于用户输入提供一个或多个响应(例如,音频/视频/触觉响应)。更具体地,ra110、…、114和dpa108可使用缩放服务116来获得模式/设备适当响应(mdar)126、…、130和132、…、136。mdar可以是基于设备操作模式和/或一个或多个设备特性/能力选择的响应(诸如,响应串)。

在示例实现中,响应串和/或这样的响应的呈现模式的选择可进一步基于其他因素,诸如用户距设备的距离、用户的姿态(例如,正躺着、正坐着还是正站着)、用户周围的社交环境的知识(例如,存在另一用户吗)、噪声水平和当前用户活动(例如,用户处于活跃的会话还是正执行物理活动)。例如,用户主动参与计算设备的当前可用性可基于关于用户的当前活动的知识来确定(例如,设备可通过检测用户的语音来检测用户当前参与了会话;设备可检测到用户正活跃地移动,从而指示物理活动并且因此用户不可用于看着设备屏幕;设备可检测到没有移动,从而指示用户不在移动并且完全参与该设备可以是可能的)。

用户距设备的距离可基于例如在用户经由免提与设备通信时接收到的信号强度来确定。如果确定用户超出阈值距离,则该设备可认为该屏幕对用户是不可见的,并且因此不可用。在该实例中,mdar可被选择,并且恰当的呈现模式可被进一步修改(例如,纯音频呈现模式可被选择)。

缩放服务116可包括合适的逻辑、电路系统、接口和/或代码,并可用于基于设备操作模式信息(例如,118、…、119)和/或设备能力(或设备特性)信息(例如,120、…、121)来生成mdar126、…、130。更具体地,缩放服务116可确定当前活跃(例如,处于与使用dpa108的用户的对话中)的反应型代理,并可访问与反应型代理相关联的多个响应串(或可用对话响应,例如在图2中看见的)。缩放服务116可随后基于设备操作模式118和/或设备能力120来缩放响应(例如,通过选择适当的响应)。例如,计算设备102和104可具有不同的设备能力/特性(120和121;例如不同的设备形状因素)。在该情况下,缩放服务116将分别为诸相同的反应型代理110、…、114选择不同的模式/设备适当响应132、...、136。在设备操作模式118和/或设备能力120不可用时的实例中,则默认响应(例如,图2中的202)可被选择。

尽管缩放设备116是与ra和dpa108分开地解说的,但本公开不限于此。在一示例实施例中,缩放设备可被实现为诸反应型代理中的一者或多者的一部分和/或数字个人助理108的一部分。附加地,尽管反应型代理110、…、114被解说为本机代理(即,被实现在计算设备102、…、104内),诸反应型代理中的一者或多者可被实现在计算设备外部(例如,在云环境中的服务器计算机中,其可由计算设备102、…、104经由一个或多个通信网络来访问)。

图2是解说根据本公开的示例实施例的具有在图1的架构中使用的缩放服务的示例反应型代理的框图。参考图2,示例反应型代理200是与(在图1中解说的)数字个人助理108相关联的反应型代理。与反应型代理200分开地实现的缩放服务116被通信地耦合到响应数据库212和用户界面(u/i)引擎214。

缩放服务116也可包括语音平台211,语音平台211可包括合适的逻辑、电路系统、接口和/或代码,并可用于执行对信息的语音到文本和文本到语音处理。语音平台211可任选地被实现在缩放服务116外部。在计算设备102上运行的一个或多个应用(例如,诸如图4中的应用402之类的第三方应用)以及数字个人助理108可使用语音平台211与缩放服务116以及诸反应型代理110、…、114中的一者或多者交互。就此而言,语音平台211抽象化与设备102和/或dpa108的反应型代理的通信。设备模式信息210和/或设备能力信息208可最初被提供给语音平台211,并随后被传递给缩放服务116以在从数据库212获得模式/设备适当响应时使用。

在操作中,用户可通过提供用户输入来发起与数字个人助理108的对话。该输入可包括数字语音输入、通过例如打字接收的文本输入和/或任何其他用户输入(例如,触觉输入)。数字语音输入可通过话筒来接收。话筒可以是计算机系统内的内置式话筒、可通过有线连接连接(附连)到计算机系统的可拆卸话筒、无线地耦合到计算机系统的远程监听设备(例如,具有话筒的蓝牙耳机)和/或具有话筒和/或扬声器能力的伴随设备(例如,智能手表)。在数字语音输入被使用时的实例中,使用数字语音输入的自然语言处理(例如,由语音平台211进行)被执行以确定用户语音请求。用户语音请求可与由数字个人助理和/或计算设备上运行的应用执行的一个或多个功能性相关联。数字个人助理和/或应用可包括用于执行该一个或多个功能性的一个或多个反应型代理(例如,反应型代理200)。

当前设备操作模式210和/或设备能力/特性信息208可被传达到语音平台211和缩放服务116。设备能力/特性信息208可包括以下中的一者或多者:与计算设备相关联的显示器分辨率、显示器类型/尺寸、显示器可用性、音频能力(例如,话筒可用性、扬声器可用性)、蓝牙可用性和/或设备形状因素。

例如,显示器类型可包括全显示类型(将对响应串/回答的尺寸存在很少限制到没有限制);扩展显示类型(可包括不是主设备显示器的第二/附加显示器,使得响应串的多个版本可被用于可用显示器中的每一者);受限/小显示类型(具有小显示器的设备,诸如不具有触摸屏能力的移动电话、可穿戴设备等);以及无显示设备(该设备仅具有音频能力,而没有任何显示器)。

音频能力可包括文本到语音(tts)可用性(该设备能够输出将帮助给出用户信息的音频);无tts可用性(该设备不具有发声/扬声器能力或者用户已使扬声器静音);以及纯耳听信号(earcon)可用性(例如,该设备可生成有限的声音,诸如耳听信号(或蜂鸣声))。

图3是解说根据本公开的示例实施例的具有示例设备操作模式和对应的输出串的表的框图。参考图3,列出了具有对应的显示输出串312和/或音频输出串314的示例设备操作模式310。

设备操作模式310可包括纯音频模式316、完全参与模式322、半分心模式328和限制显示模式334。尽管图3中仅解说了四个操作模式(316、322、328和334),但本公开不限于此,并且其他操作模式和设备类型也可与本文中公开的技术一起使用。当计算设备不具有物理显示表面时,或者当设备显示器不可用(例如,主显示器被断开连接并且次显示器活跃)时,可使用纯音频模式316。在主显示器不活跃而次显示器活跃的情况下,详细的显示串318可作为输出被呈现。详细的tts串320也可被呈现(例如,经由扬声器)。

当用户在物理上在该设备旁边(例如,在该设备前面)并且存在该用户完全参与该设备的高可能性(例如,用户在台式计算机或膝上型计算机前面)时,可使用完全参与模式322。在该情况下,低详细显示串324可被显示和/或短tts串326可被呈现作为音频输出314。

当用户在计算设备附近,但用户没有完全参与该设备(例如,用户正在驾驶,并且他旁边有具有数字个人助理的移动电话)时,可使用半分心模式328。在该情况下,低详细显示串330可被显示和/或中等详细tts串332可被呈现作为音频输出314。

当计算设备是具有受限显示表面的次/外围设备时,可使用限制显示模式334。在该情况下,短显示串336可被显示作为输出串312。

显示和音频串的简要概述在本文中被提供如下:

详细的显示串可以是旨在快速地概括作为回答来提供的信息的文本串。详细的显示串可以或可以不提供可预期作为回答的完整信息。这种类型的显示串可与以下示例设备形状因素或操作模式一起使用:不受可用面积限制但声音关闭的显示器、声音被静音或者音频丧失的台式机、电子布告板、具有纯文本能力的可滚动小屏幕和/或可穿戴设备的扩展显示器。

短的详细串可以是文本串(例如,最多100个字符),并且可在语言方面支持有限的个性化,并且更针对工具应用。这种类型的显示串可与以下示例设备形状因素或操作模式一起使用:诸如智能手表之类的可穿戴设备、恒温器、智能计算器、烤箱、冰箱等。

低细节显示串可以是作为对数字个人助理的用户体验的支持串的文本串,并且该串可被用于携带非实质信息。这种类型的显示串可与以下示例设备形状因素或操作模式一起使用:电话(当用户当前正看着设备屏幕时)、台式计算机、具有智能设备/显示能力的汽车、游戏控制台等等。

详细的tts音频串可以是旨在快速地概括在与数字个人助理的对话期间作为回答来提供的信息的响应串。这种类型的音频tts串可与以下示例设备形状因素或操作模式一起使用:处于纯音频模式的计算设备、在驾驶时使用的计算设备(如果驾驶时使用被检测到,则设备可自动切换到纯音频模式)、较老一代的智能设备或不具有智能电话能力的移动设备等等。

中等详细tts音频串可提供有用的响应信息,而无需响应串与纯音频模式期间提供的响应串一样详细。这种类型的音频tts串可与以下示例设备形状因素或操作模式一起使用:由分心的用户使用的计算设备(例如,用户使用另一设备,并且该用户的移动电话在桌子上该用户旁边)。

短tts音频串(或纯耳听信号)可提供非常短的读出。这种类型的音频tts串可与以下示例设备形状因素或操作模式一起使用:游戏控制台、电视机、台式计算机等等。

再次参考图2,在语音平台211接收到设备能力信息208和操作模式信息210后,该信息被用于访问响应数据库212,并获得一个或多个模式/设备适当响应218,诸如mdar204、…、206。此外,如果计算设备102使用第二显示器(或者具有显示/音频/触觉能力的另一外围设备),则第二响应串220也可被传递回给反应型代理200,并随后被传递到外围设备(从数据库212到外围设备的直接通信也是可能的)。此外,缩放服务116可使用用户界面引擎214来生成u/i(例如,htmlu/i)222,该u/i针对设备形状因素和/或其他设备能力(例如,能力/特性208)进行了优化。

在一示例实施例中,反应型代理200可结合多个设备来使用。例如,两个计算设备可一起工作,其中一个设备作为主设备,且另一设备作为次/伴随设备。在该情况下,代理(例如,200)可生成两个响应(例如,204和206),每种设备类型/模式一个响应。

在设备操作模式信息210(和/或设备能力208中的一者或多者)对缩放服务116不可用时的实例中,则可提供默认响应202。默认响应202可能不知道设备能力,并且可被优化以供在多个设备形状因素中的使用(例如,用户和用于发送文本消息的数字个人助理之间的对话交换可询问消息接收方和消息内容)。

图4是根据本公开的示例实施例的使用可被缩放的应用反应型代理的计算设备的框图。参考图4,计算设备102可能正在运行一个或多个应用,诸如应用(app)402。应用402可以是例如第三方应用或通过设备操作系统提供的本机应用。应用402可使用一个或多个应用反应型代理(ara),诸如ara404。在一示例实施例中,ara404可被实现为应用402的一部分(或者在计算设备102外部,诸如通信地耦合到设备102的远程服务器)。当与应用402的用户的对话被发起时,ara404可用于生成由应用402使用的响应。就此而言,参考图1-3描述的功能性中的一者或多者可对应用402可用。

更具体地,应用402可使用可缩放服务116(其也可被实现为应用402的一部分)以提供模式/设备适当响应。例如,如果缩放服务116被实现在应用402(或ara404)内,则api请求420可被用于请求模式和/或设备能力信息。设备模式信息118和/或设备能力信息120可被传递给应用402以供缩放服务116使用(在缩放服务是应用402的一部分时的实例中)。在与响应数据库(例如,212)和用户界面引擎(例如,214)的通信后,模式/设备适当响应可被生成并被传递给应用402或ara404以供应用402使用。

在另一实施例中,ara404可被实现为设备本机代理110、…、114的一部分(如通过数字个人助理108内的404的虚线指示的)。在该情况下,模式/设备适当响应(例如,414)可被生成,如参考图1-3中的本机ra110、…、114描述的。mdar114可随后被传递给tpa402以供在由应用402的用户发起的对话中使用。

图5-7是解说根据一个或多个实施例的跨诸设备缩放数字个人助理代理的流程图。参考图1-3和5,示例方法500可始于502,这时计算设备102可接收发起与该计算设备内的数字个人助理(例如,dpa108)的对话的用户输入。数字个人助理108可与多个反应型代理(诸如,ra110、…、114)相关联。在504,响应于接收到该输入,可从多个可用操作模式(例如,316、322、328和334)中检测该计算设备的操作模式(例如,118)。在506,dpa108可基于接收到的输入选择多个反应型代理中的一个反应型代理(例如,110)。例如,这些ra中的一个ra可基于与接收到的用户输入相关联的功能性的类型(例如,消息收发、电子邮件、导航等)来选择。在508,缩放服务116(和/或反应型代理)可访问与所选的反应型代理相关联的多个响应串(例如,数据库212中的响应)。在510,缩放服务116可至少基于计算设备的操作模式(例如,118)和/或至少一个硬件特性(例如,设备能力/特性120中的一者或多者)来选择多个响应串中的至少一个响应串。在512,缩放服务116可提供多个响应串中被选的至少一个响应串作为对用户输入的响应。

参考图1-3和6,示例方法600可起始于602,这时数字个人助理108可接收由用户生成的数字语音输入。数字语音输入可通过计算设备102的话筒来接收。在604,响应于接收到数字语音输入,可检测计算设备的操作模式(例如,118)和至少一个硬件特征(例如,120)。在606,缩放服务116可选择与数字个人助理(例如,108)的反应型代理(例如,ra110、…、114中的一个ra)相关联的多个响应串(例如,在响应数据库212内)中的至少一个响应串。在608,缩放服务116可选择针对多个响应串中的该至少一个响应串(例如,针对被传递给ra110的所返回的mdar126)的呈现模式(例如,如参考图3所描述的)。对多个响应串中的该至少一个响应串和呈现模式的选择可至少基于操作模式(118)和/或至少一个硬件特性(120)。在610,ra110、dpa108(和/或缩放服务116)可使用该呈现模式提供多个响应串中的至少一个响应串(例如,mdar126)作为对数字语音输入的响应。

参考图1-4和7,示例方法700可起始于702,这时在计算机系统(例如,设备102)上运行的应用(例如,应用402)可接收由用户生成的数字语音输入。数字语音输入可通过计算设备102的话筒来接收。在704,计算设备102可执行使用该数字语音输入的自然语言处理以确定用户语音请求(例如,自然语言处理可由与缩放服务116相关联的语音平台211来执行)。用户语音请求可与由在计算机系统(例如,设备102)上运行的应用(应用402)执行的一个或多个功能性相关联。应用(应用402)可包括用于执行该一个或多个功能性的一个或多个应用反应型代理(例如,ara404)。

在706,应用402(和/或dpa108)可选择用于执行该一个或多个功能性的一个或多个应用反应型代理中的一个反应型代理(例如,ara404可被选择)。在708,应用(应用402)可使用api请求(例如,420)来请求标识计算机系统的操作模式和/或至少一个硬件特性的信息。在710,响应于该api请求420,可在应用402处接收所请求的标识计算机系统的操作模式(例如,118)和/或至少一个硬件特性(例如,120)的信息(例如,当应用402实现缩放服务116和/或dpa108的功能性时,应用402接收信息118和/或120)。在712,可选择与所选的反应型代理相关联的多个响应串中的至少一个响应串(例如,可选择mdar414)。在714,缩放服务116可选择针对多个响应串中的该至少一个响应串的呈现模式。对多个响应串中的该至少一个响应串和呈现模式的选择可至少基于操作模式(118)和/或至少一个硬件特性(120)。在716,可使用该呈现模式来提供多个响应串中的该至少一个响应串(mdar414)作为对用户语音请求的响应。

图8是解说可结合其来实现本文中描述的创新的示例移动计算设备的框图。移动设备800包括各种任选的硬件和软件组件,其通常在802处示出。一般来说,移动设备中的组件802可与该设备的任何其他组件通信,但出于容易说明的目的未示出所有连接。移动设备800可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、膝上型计算机、笔记本计算机、平板设备、上网本、媒体播放器、个人数字助理(pda)、相机、摄像机等)中的任何一个,并且可允许与诸如无线保真(wi-fi)、蜂窝、或卫星网络之类的一个或多个移动通信网络804进行无线双向通信。

所解说的移动设备800可包括用于执行如信号编码、数据处理(包括分配权重和对诸如搜索结果之类的数据进行排名)、输入/输出处理、电源控制和/或其他功能等任务的控制器或处理器810(例如,信号处理器、微处理器、asic、或其他控制和处理逻辑电路)。操作系统812控制各组件802的分配和使用,并且支持一个或多个应用程序811。操作系统812可包括具有反应型代理的数字个人助理813a以及缩放服务813b。缩放服务813b和具有反应型代理的数字个人助理813a可具有与如参考图1-4所描述的缩放服务116、dpa108和反应型代理(例如,110、…、114、404)的功能性相似的功能性。

所示的移动设备800包括存储器820。存储器820可以包括不可移动存储器822和/或可移动存储器824。不可移动存储器822可以包括ram、rom、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器824可包括闪存或订户身份模块(sim)卡——其在全球移动通信系统(gsm)等通信系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器820可用于存储运行操作系统812和应用811的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。存储器820可用于存储订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(imsi),所述设备标识符诸如国际移动设备标识符(imei)。这种标识符可以被发射至网络服务器以标识用户和设备。

移动设备800可支持一个或多个输入设备830以及一个或多个输出设备850,一个或多个输入设备830为诸如触摸屏832(例如,能够捕捉手指轻击输入、手指姿势输入或虚拟键盘或小键盘的键击输入)、话筒834(例如,能够捕捉语音输入)、相机836(例如,能够捕捉静止图片和/或视频图像)、物理键盘838、按钮和/或跟踪球840,一个或多个输出设备850为诸如扬声器852和显示器854。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以用于多于一个输入/输出功能。例如,触摸屏832和显示器854可以在单个输入/输出设备内被组合。移动设备800可提供一个或多个自然用户界面(nui)。例如,操作系统812或应用811可包括多媒体处理软件,诸如音频/视频播放器。

无线调制解调器860可被耦合至一个或多个天线(未示出),并且可支持处理器810与外置设备间的双向通信,如本领域中充分理解的那样。调制解调器860一般被示为并可包括例如用于通过移动通信网络804进行长程通信的蜂窝式调制解调器、可兼容蓝牙的调制解调器864、或用于通过外置的配备有蓝牙的设备或者本地的无线数据网络或路由器来进行短程通信的可兼容wi-fi的调制解调器862。无线调制解调器860一般被配置成与一个或多个蜂窝网络(诸如gsm网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在移动设备和公共交换电话网(pstn)之间的数据和语音通信。

移动设备可进一步包括至少一个输入/输出端口880、电源882、卫星导航系统接收机884(诸如全球定位系统(gps)接收机)、传感器886(诸如,用于检测设备800的方向和运动并用于接收姿势命令来作为输入的加速度计、陀螺仪或红外邻近传感器)、收发机888(用于无线发射模拟或数字信号)和/或物理连接器890,它可以是usb端口、ieee1394(火线)端口、和/或rs-232端口。所示的组件802不是必需的或所有都包括的,因为可删除所示的组件中的任何一个并可添加其他组件。

移动设备可基于通过卫星导航系统接收机884(例如,gps接收机)接收到的信息来确定指示移动设备的位置的位置数据。或者,移动设备可以另一方式来确定指示移动设备的位置的位置数据。例如,可以通过蜂窝网络的各蜂窝塔之间的三角测量来确定移动设备的位置。或者,可基于在移动设备附近的wi-fi路由器的已知位置来确定移动设备的位置。可以每秒钟或以其他为基础来更新位置数据,这取决于实现和/或用户设置。不管位置数据的源如何,移动设备都可以向地图导航工具提供位置数据以供在地图导航中使用。

作为客户端计算设备,移动设备800可以向服务器计算设备(例如,搜索服务器、路由服务器等)发送请求,并且作为回报从服务器计算设备接收地图图像、距离、方向、其他地图数据、搜索结果(例如,基于指定搜索区域内的poi搜索的poi)或其他数据。

移动设备800可以是实现环境的一部分,在实现环境中各种类型的服务(例如,计算服务)是通过计算“云”来提供的。例如,云可包括可位于中央或是分布式的计算设备集,其向经由诸如因特网等网络连接的各种类型的用户和设备提供基于云的服务。一些任务(例如,处理用户输入和呈现用户界面)可在本地计算设备(例如,连接的设备)上执行,而其他任务(例如,对将在后继处理中使用的数据的存储、数据的加权和数据的排名)可在云中执行。

虽然图8示出了移动设备800,但更一般地本文中描述的创新可以通过具有其他屏幕能力和设备形成因素的设备来实现,诸如台式计算机、电视屏幕或连接到电视机的设备(例如,机顶盒或游戏控制台)。可由云通过服务提供商、或通过其他在线服务的提供商来提供服务。此外,由于本文中描述的技术可涉及音频流传输,可能不需要或使用设备屏幕(在音频/视频内容正被流传输到具有视频回放能力的多媒体端点设备时的实例中,可使用显示器)。

图9是可用于实现所描述的一些实施例的示例计算系统的示图。计算系统900并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。

参考图9,计算环境900包括一个或多个处理单元910、915和存储器920、925。在图9中,该基本配置930被包括在虚线内。处理单元910、915执行计算机可执行的指令。处理单元可以是通用中央处理单元(cpu)、专用集成电路(asic)中的处理器或任意其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图9示出中央处理单元910以及图形处理单元或协处理单元915。有形存储器920、925可以是可由(诸)处理单元存取的易失性存储器(例如,寄存器、高速缓存、ram)、非易失性存储器(例如,rom、eeprom、闪存等)或者两者的某一组合。存储器920、925以适合被(诸)处理单元执行的计算机可执行指令的形式,存储实现此处描述的一个或多个发明的软件980。

计算系统还可具有附加的特征。例如,计算系统900包括存储940、一个或多个输入设备950、一个或多个输出设备960以及一个或多个通信连接970。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统900的各组件互连。通常,操作系统软件(未示出)为在计算系统900中执行的其它软件提供操作环境,并协调计算系统900的各组件的活动。

有形存储940可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、cd-rom、dvd或可用于储存信息并可在计算系统900内访问的任何其他介质。存储器940存储用于软件980的指令,所述软件980实现此处描述的一个或多个发明。

(诸)输入设备950可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统900提供输入的另一设备。对于视频编码,(诸)输入设备950可以是相机、视频卡、tv调谐卡或接受模拟或数字形式的视频输入的类似设备,或将视频样本读入计算系统900的cd-rom或cd-rw。(诸)输出设备960可以是显示器、打印机、扬声器、cd刻录机或提供来自计算系统900的输出的另一设备。

(诸)通信连接970允许在通信介质上到另一计算实体的通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、rf或其它载体。

各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。

术语“系统”和“设备”在本文中被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。

出于介绍的目的,本详细描述使用了如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。

尽管以特定的顺序次序描述所公开方法的一些的操作以便于方便呈现,但应当理解,这一描述方式包含重排,除非以下提出的具体语言要求特定的次序。例如,顺序描述的操作可以在一些情况下并行地重排或同时执行。此外,为简洁起见,附图可能不示出所公开的方法可以结合其他方法使用的各种方式。

所公开的方法中的任何方法可被实现为被存储在一个或多个计算机可读存储介质上并在计算设备(例如任何可用计算设备,包括智能电话或其他包括计算硬件的移动设备)上执行的计算机可执行指令或计算机程序产品。计算机可读存储介质是在计算环境内可访问的任何可用的有形介质(例如,诸如dvd或cd之类的一个或多个光学介质盘、易失性存储器组件(诸如dram或sram)或非易失性存储器组件(诸如闪存或硬件驱动器))。作为示例并参考图9,计算机可读存储介质包括存储器920和925以及存储940。术语“计算机可读存储介质”不包括信号和载波。此外,术语“计算机可读存储介质”不包括通信连接(例如,970)。

用于实现所公开技术的计算机可执行指令中的任一个以及在实现所公开的实施例期间创建和使用的任何数据可以被存储在一个或多个计算机可读存储介质上。计算机可执行指令可以是例如专用软件应用或者经由web浏览器或其他软件应用(诸如远程计算应用)访问和下载的软件应用的一部分。这种软件可以例如在单个本地计算机(例如,任何适当的商业可购买计算机)上或者使用一个或多个网络计算机在网络环境(例如,经由互联网、广域网、局域网、客户端-服务器网络(诸如云计算网络)、或者其他这样的网络)中执行。

为清楚起见,仅描述了基于软件的实现方式的特定所选方面。省略了本领域公知的其他细节。例如,应当理解,所公开的技术不限于任何具体的计算机语言或程序。例如,所公开的技术可以通过以c++、java、perl、javascript、adobeflash或者任何其他适当的编程语言编写的软件来实现。同样,所公开的技术不限于任何特定的计算机或硬件类型。适当计算机和硬件的特定细节是公知的,并且不需要在本公开中详细提出。

而且,基于软件的实施例(包括例如用于使计算机执行所公开方法的任一种的计算机可执行指令)中的任一者可以通过适当的通信手段被上载、下载或远程地访问。这种适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括rf、微波和红外通信)、电子通信或者其他这样的通信手段。

所公开的方法、装置和系统不应以任何方式被限制。相反,本公开针对各种公开的实施例(单独和彼此的各种组合和子组合)的所有新颖和非显而易见的特征和方面。所公开的方法、装置和系统不限于任何具体方面或特征或它们的组合,所公开的实施例也不要求存在任一个或多个具体优点或者解决问题。

来自任何示例的技术可以与在任何一个或多个其他示例中所描述的技术相组合。鉴于可应用所公开的本技术的原理的许多可能的实施例,应当认识到,所示实施例仅是所公开的技术的示例,并且不应被用作是对所公开的技术的范围的限制。相反,本公开的技术的范围由后续的权利要求书的范围和精神来覆盖。

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