零延迟数字助理

文档序号:67720 发布日期:2021-10-01 浏览:31次 >En<

阅读说明:本技术 零延迟数字助理 (Zero delay digital assistant ) 是由 W·F·斯塔希奥 D·卡森 R·达萨里 Y·金 于 2016-05-09 设计创作,主要内容包括:本发明题为“零延迟数字助理”。一种电子设备可通过从麦克风捕获音频输入并使用第一处理器将表示所捕获的音频输入的音频数据写到存储缓冲器来实现零延迟数字助理。响应于在捕获音频输入时检测到用户输入,设备可确定用户输入是否满足预先确定的标准。如果用户输入满足标准,则设备可使用第二处理器基于存储缓冲器的内容的至少一部分来识别并执行任务。(The invention provides a zero delay digital assistant. An electronic device may implement a zero-delay digital assistant by capturing audio input from a microphone and writing audio data representing the captured audio input to a memory buffer using a first processor. In response to detecting the user input while capturing the audio input, the device may determine whether the user input satisfies a predetermined criterion. If the user input satisfies the criteria, the device may identify and perform a task based on at least a portion of the contents of the memory buffer using the second processor.)

零延迟数字助理

本申请是于国际申请日2016年5月09日提交的、2018年2月27日进 入中国国家阶段的、申请号为201680049880.9、发明名称为“零延迟数字助 理”的分案申请。

相关专利申请的交叉引用

本专利申请要求于2015年9月8日提交的标题为“ZERO LATENCY DIGITALASSISTANT”的美国临时专利申请序列号62/215,608和于2016年 5月5日提交的标题为“ZERO LATENCY DIGITAL ASSISTANT”的美国专 利申请序列号15/147,726的优先权。该专利申请的内容据此以引用方式并入 以用于所有目的。

技术领域

本公开整体涉及数字助理,并且更具体地涉及减少数字助理延迟。

背景技术

智能自动化助理(或数字助理)在人类用户与电子设备之间提供有利的 界面。此类助理允许用户使用自然语言以语音形式和/或文本形式与设备或系 统进行交互。例如,用户可通过向与电子设备相关联的数字助理提供语音用 户请求来访问电子设备的服务。数字助理可根据该语音用户请求来解释用户 的意图并且将该用户的意图操作化成任务。随后可通过执行电子设备的一项 或多项服务来执行所识别的任务,并且可将相关的输出返回给用户。

发明内容

用于实现电子设备上的数字助理的一些技术导致用户请求数字助理会 话的时间和设备可接收对数字助理的语音输入的时间之间的延迟,这对于用 户来说是低效且违反直觉的。现有技术需要比所需更多的时间,这导致浪费 用户时间和设备能量。后一种考虑在电池驱动的设备中特别重要。

因此,电子设备需要利用用于减小或消除调用数字助理会话的用户所经 受的上述延迟的更快更有效的方法和界面。此类方法和界面任选地补充或替 换用于提高数字助理的效率和准确性的其他方法。此类方法和界面减少对用 户所造成的认知负担,并且产生更有效的人机界面。对于电池驱动的计算设 备,此类方法和界面通过减少在识别请求任务中的不定时语音输入和对应错 误的发生来节省功率并增加电池两次充电之间的时间间隔。

在一些实施方案中,一种用于实现数字助理的方法包括:在包括麦克风、 第一处理器和第二处理器的电子设备处:从麦克风捕获音频输入;使用第一 处理器来将表示所捕获的音频输入的数据写到存储缓冲器;在使用麦克风来 捕获音频输入时检测用户输入;使用第一处理器来确定用户输入是否已满足 预先确定的标准;根据确定用户输入已满足标准,使用第二处理器基于存储 缓冲器的内容的至少一部分来识别计算任务;并且根据确定用户输入尚未满 足标准,放弃识别任务。

在一些实施方案中,一种存储一个或多个程序的非暂态计算机可读存储 介质,该一个或多个程序包括指令,该指令当由具有麦克风的电子设备的第 一处理器和第二处理器执行时使得该设备从麦克风捕获音频输入:使用第一 处理器来将表示所捕获的音频输入的数据写到存储缓冲器;在使用麦克风来 捕获音频输入时检测用户输入;使用第一处理器来确定用户输入是否已满足 预先确定的标准;根据确定用户输入已满足标准,使用第二处理器基于存储 缓冲器的内容的至少一部分来识别计算任务;并且根据确定用户输入尚未满 足标准,放弃识别任务。

在一些实施方案中,一种存储一个或多个程序的暂态计算机可读存储介 质,该一个或多个程序包括指令,该指令当由具有麦克风的电子设备的第一 处理器和第二处理器执行时使得该设备从麦克风捕获音频输入:使用第一处 理器来将表示所捕获的音频输入的数据写到存储缓冲器;在使用麦克风来捕 获音频输入时检测用户输入;使用第一处理器来确定用户输入是否已满足预 先确定的标准;根据确定用户输入已满足标准,使用第二处理器基于存储缓 冲器的内容的至少一部分来识别计算任务;并且根据确定用户输入尚未满足 标准,放弃识别任务。

在一些实施方案中,电子设备包括:麦克风;两个或更多个处理器;存 储器;以及一个或多个程序,其中一个或多个程序被存储在存储器中并被配 置为由两个或更多个处理器执行,该一个或多个程序包括用于从麦克风捕获 音频输入的指令:使用第一处理器来将表示所捕获的音频输入的数据写到存 储器中的存储缓冲器;在使用麦克风捕获音频输入时检测用户输入;使用第 一处理器来确定用户输入是否已满足预先确定的标准;根据确定用户输入已 满足标准,使用第二处理器基于存储缓冲器的内容的至少一部分来识别计算 任务;并且根据确定用户输入尚未满足标准,放弃识别任务。

在一些实施方案中,一种用于实现数字助理的方法,该方法包括:在包 括麦克风、第一处理器和第二处理器的电子设备处:在第二处理器处于低功 率模式中时:从麦克风捕获音频输入;使用第一处理器来将表示所捕获的音 频输入的数据写到存储缓冲器,其中音频输入被连续地捕获并写到缓冲器中; 并且使用第一处理器来确定存储缓冲器的至少第一部分是否满足预先确定的 标准;根据确定缓冲器的至少第一部分满足预先确定的标准:使得第二处理 器退出低功率模式;使用第二处理器基于存储缓冲器的内容的至少第二部分 来识别计算任务;以及使用第二处理器来执行所识别的任务。并且根据确定 缓冲器的至少第一部分不满足标准,放弃使得第二处理器退出低功率模式。

在一些实施方案中,一种存储一个或多个程序的非暂态计算机可读存储 介质,该一个或多个程序包括指令,该指令在由具有麦克风的电子设备的第 一处理器和第二处理器执行时使得该设备:在第二处理器处于低功率模式中 时:从麦克风捕获音频输入;使用第一处理器来将表示所捕获的音频输入的 数据写到存储缓冲器,其中音频输入被连续地捕获并写到缓冲器中;并且使 用第一处理器来确定存储缓冲器的至少第一部分是否满足预先确定的标准; 根据确定缓冲器的至少第一部分满足预先确定的标准:使得第二处理器退出 低功率模式;使用第二处理器基于存储缓冲器的内容的至少第二部分来识别 计算任务;以及使用第二处理器来执行所识别的任务。并且根据确定缓冲器 的所述至少第一部分不满足标准,放弃使得第二处理器退出低功率模式。

在一些实施方案中,一种存储一个或多个程序的暂态计算机可读存储介 质,该一个或多个程序包括指令,该指令在由具有麦克风的电子设备的第一 处理器和第二处理器执行时使得该设备:在第二处理器处于低功率模式中时: 从麦克风捕获音频输入;使用第一处理器来将表示所捕获的音频输入的数据 写到存储缓冲器,其中所述音频输入被连续捕获并写到缓冲器中;并且使用 第一处理器来确定存储缓冲器的至少第一部分是否满足预先确定的标准;根 据确定缓冲器的至少第一部分满足预先确定的标准:使得第二处理器退出低 功率模式;使用第二处理器基于存储缓冲器的内容的至少第二部分来识别计 算任务;以及使用第二处理器来执行所识别的任务。并且根据确定所缓冲器 的至少第一部分不满足标准,放弃使得第二处理器退出低功率模式。

在一些实施方案中,电子设备包括:麦克风;两个或更多个处理器;存 储器;和一个或多个程序,其中该一个或多个程序被存储在存储器中并被配 置为由两个或更多个处理器执行,该一个或多个程序包括用于进行以下操作 的指令:在第二处理器处于低功率模式中时:从麦克风捕获音频输入;使用 第一处理器来将表示所捕获的音频输入的数据写到存储缓冲器,其中音频输 入被连续捕获并写到缓冲器中;并且使用第一处理器来确定存储缓冲器的至 少第一部分是否满足预先确定的标准;根据确定缓冲器的至少第一部分满足预先确定的标准:使得第二处理器退出低功率模式;使用第二处理器基于存 储缓冲器的内容的至少第二部分来识别计算任务;以及使用第二处理器来执 行所识别的任务。并且根据确定缓冲器的至少第一部分不满足标准,放弃使 得第二处理器退出低功率模式。

用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或 多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。用 于执行这些功能的可执行指令任选地被包括在被配置用于由两个或更多个处 理器执行的暂态计算机可读存储介质或其他计算机程序产品中。

因此,为设备提供更快更高效的方法和界面以用于实现数字助理,由此 提高此类设备的有效性、效率和用户满意度。此类方法和界面可补充或替换 用于执行数字助理的其他方法。

附图说明

为了更好地理解各种所述实施方案,应结合以下附图参考下面的具体实 施方式,其中类似的附图标号在所有附图中指示对应的部分。

图1为示出了根据各种示例的用于实现数字助理的系统和环境的框图。

图2A为示出了根据各种示例的实现数字助理的客户端侧部分的便携式 多功能设备的框图。

图2B为示出了根据各种示例的用于事件处理的示例性部件的框图。

图3示出了根据各种示例的实现数字助理的客户端侧部分的便携式多功 能设备。

图4为根据各种示例的具有显示器和触敏表面的示例性多功能设备的框 图。

图5A示出了根据各种示例的便携式多功能设备上的应用程序的菜单的 示例性用户界面。

图5B示出了根据各种示例的具有与显示器分开的触敏表面的多功能设 备的示例性用户界面。

图6A示出了根据各种示例的个人电子设备。

图6B是示出根据各种示例的个人电子设备的框图。

图7A为示出了根据各种示例的数字助理系统或其服务器部分的框图。

图7B示出了根据各种示例的在图7A中所示的数字助理的功能。

图7C示出了根据各种示例的知识本体的一部分。

图8A提供了具有延迟的现有技术数字助理的概念性示图。

图8B示出了根据各种示例的用于在电子设备上实现数字助理的处理器 的框图。

图8C提供了根据各种示例的零延迟数字助理的概念性示图。

图8D提供了根据各种示例的零延迟数字助理的概念性示图。

图8E提供了根据各种示例的零延迟数字助理的概念性示图。

图9示出了根据各种示例的用于实现零延迟数字助理的方法。

图10示出了根据各种示例的用于实现零延迟数字助理的方法。

图11示出了根据各种示例的电子设备的功能框图。

图12示出了根据各种示例的电子设备的功能框图。

具体实施方式

以下描述阐述了示例性方法、参数等。然而,应当认识到,此类描述并 非意在限制本公开的范围,而是作为对示例性实施方案的描述来提供。

需要用于提供用于基于非特定非结构化的自然语言请求来识别并执行 任务的有效的方法和界面的电子设备。允许用户调用数字助理会话并立即提 供口头请求的零延迟数字助理可减小用户的认知负担,从而提高生产率。此 外,此类技术可减少本来浪费在冗余用户输入或延迟上的处理器功率和电池 功率。

下面图1、图2A-图2B、图3、图4、图5A至图5B、图6A至图6B、 图8B、图11和图12提供了对用于执行用于实现零延迟数字助理的技术 的示例性设备的描述。图7A至图7C为示出了数字助理系统或其服务器 部分以及与数字助理系统相关联的知识本体的一部分的框图。

图8A提供了具有延迟的数字助理的概念性示图。图8C-8E提供了根据 一些实施方案的零延迟数字助理的概念性示图。图9-10为示出了根据一些实 施方案的实现零延迟数字助理的方法的流程图。

尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应 受术语的限制。这些术语只是用于将一个元素与另一个元素区分开。例如, 第一触摸可被命名为第二触摸并且类似地第二触摸可被命名为第一触摸,而 不脱离各种所述实施方案的范围。第一触摸和第二触摸两者均为触摸,但是 它们不是同一触摸。

在本文中对各种所述实施方案的描述中所使用的术语只是为了描述特 定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描 述和所附权利要求书中所使用的那样,单数形式“一个”(“a”、“an”) 和“该”旨在也包括复数形式,除非上下文另外明确地指示。还应当理解, 本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或 多个项目的任何和全部可能的组合。还将理解的是,术语“包括”(“includes” “including”“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存 在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分 组。

根据上下文,术语“如果”可被解释为意指“当...时”(“when”或“upon”) 或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果 确定...”或“如果检测到[所陈述的条件或事件]”可以、被解释为意指“在确 定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响 应于检测到[所陈述的条件或事件]”。

本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程 的实施方案。在一些实施方案中,该设备为还包含其他功能诸如PDA和/或 音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示 例性实施方案包括但不限于来自Apple Inc.(Cupertino,California)的设备、iPod设备、和设备。任选地使用其他便携式电子设备, 诸如具有触敏表面(例如,触摸屏显示器和/或触摸板)的膝上型电脑、平板 电脑或智能手表。还应当理解的是,在一些实施方案中,该设备并非便携式 通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触摸板)的台式计 算机。

在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而, 应当理解,该电子设备任选地包括一个或多个其他物理用户界面设备,诸如 物理键盘、鼠标和/或操纵杆。

设备可支持多种应用程序,诸如以下应用程序中的一个或多个应用程 序:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、 盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频 会议应用程序、电子邮件应用程序、即时消息应用程序、健身支持应用程序、 照片管理应用程序、数字相机应用程序、数字视频相机应用程序、web浏览 应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。

在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界 面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的 对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内 被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用 对于用户而言直观且清楚的用户界面来支持各种应用程序。

图1示出了根据各种示例的系统100的框图。在一些示例中,系统100 可实现数字助理。术语“数字助理”、“虚拟助理”、“智能自动化助理” 或“自动数字助理”可指解释语音形式和/或文本形式的自然语言输入以推断 用户意图并且基于推断出的用户意图来执行动作的任何信息处理系统。例如, 为了作用于推断出的用户意图,系统可执行下述步骤中的一者或多者:识别 具有被设计用于实现推断出的用户意图的步骤和参数的任务流;根据推断出 的用户意图来将特定要求输入到任务流中;通过调用程序、方法、服务、API 等来执行任务流;以及以可听(例如,语音)形式和/或可视形式来生成对用 户的输出响应。

具体地,数字助理可能够接受至少部分地为自然语言命令、请求、声明、 讲述和/或询问的形式的用户请求。通常,用户请求可寻求数字助理作出信息 性回答,或寻求数字助理执行任务。针对用户请求的令人满意的响应可为提 供所请求的信息性回答、执行所请求的任务,或这两者的组合。例如,用户 可向数字助理提出问题,诸如“我现在在哪里?”基于用户的当前位置,数字 助理可回答“您在中央公园西门附近。”用户还可请求执行任务,例如“请 邀请我的朋友下周来参加我女朋友的生日聚会。”作为响应,数字助理可通 过讲出“好的,马上”来确认请求,并且然后代表用户将合适的日历邀请发 送至在用户的电子通讯录中列出的用户朋友中的每个朋友。在执行所请求的 任务期间,数字助理有时可在很长时间段内在涉及多次信息交换的持续对话 中与用户进行交互。存在与数字助理进行交互以请求信息或执行各种任务的 许多其他方法。除提供语音响应并采取经编程的动作之外,数字助理还可提 供其他视觉形式或音频形式的响应,例如作为文本、警报、音乐、视频、动画等。

如图1中所示,在一些示例中,数字助理可根据客户端-服务器模型来实 现。数字助理可包括在用户设备104上执行的客户端侧部分102(后文称作 “DA客户端102”),以及在服务器系统108上执行的服务器侧部分106(后 文称作“DA服务器106”)。DA客户端102可通过一个或多个网络110来 与DA服务器106进行通信。DA客户端102可提供客户端侧功能,诸如面向 用户的输入和输出处理,以及与DA服务器106进行通信。DA服务器106 可为任意数量的DA客户端102提供服务器侧功能,该任意数量的DA客户 端102各自位于相应的用户设备104上。

在一些示例中,DA服务器106可包括面向客户端的I/O接口112、一个 或多个处理模块114、数据和模型116、以及至外部服务的I/O接口118。面 向客户端的I/O接口112可促进针对DA服务器106的面向客户端的输入和 输出处理。一个或多个处理模块114可利用数据和模型116来处理语音输入, 并基于自然语言输入来确定用户的意图。此外,一个或多个处理模块114基 于推断出的用户意图来进行任务执行。在一些示例中,DA服务器106可通过一个或多个网络110来与外部服务120进行通信,以完成任务或采集信息。 至外部服务的I/O接口118可促进此类通信。

用户设备104可为任何合适的电子设备。例如,用户设备可为便携式多 功能设备(例如下面参考图2A描述的设备200)、多功能设备(例如下面参 考图4描述的设备400)、或个人电子设备(例如下面参考图6A-B描述的设 备600)。便携式多功能设备可为例如还包含诸如PDA和/或音乐播放器功能 的其他功能的移动电话。便携式多功能设备的特定示例可包括来自Apple Inc. (Cupertino,California)的设备、iPod设备、和设备。便携 式多功能设备的其他示例可包括但不限于膝上型电脑或平板电脑。此外,在 一些示例中,用户设备104可为非便携式多功能设备。具体地,用户设备104 可为台式计算机、游戏机、电视、或电视机顶盒。在一些示例中,用户设备 104可包括触敏表面(例如,触摸屏显示器和/或触摸板)。此外,用户设备104可任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标、 和/或操纵杆。下文更详细地描述了电子设备诸如多功能设备的各种示例。

一个或多个通信网络110的示例可包括局域网(LAN)和广域网(WAN), 例如互联网。一个或多个通信网络110可使用任何已知的网络协议来实现, 包括各种有线或无线协议,诸如例如以太网、通用串行总线(USB)、火线、全 球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、 时分多址(TDMA)、蓝牙、Wi-Fi、互联网协议语音(VoIP)、Wi-MAX、或任 何其他合适的通信协议。

服务器系统108可在计算机的一个或多个独立式数据处理设备或分布式 网络上实施。在一些示例中,服务器系统108还可采用第三方服务提供方(例 如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统108 的潜在计算资源和/或基础结构资源。

在一些示例中,用户设备104可经由第二用户设备122来与DA服务器 106进行通信。第二用户设备122可与用户设备104相似或相同。例如,第 二用户设备122可类似于下文参考图2A、图4和图6A至图6B描述的设备 200、设备400或设备600。用户设备104可被配置为经由直接通信连接诸如 蓝牙、NFC、BTLE等或者经由有线或无线网络诸如局域Wi-Fi网络而通信地 耦接至第二用户设备122。在一些示例中,第二用户设备122可被配置为充 当用户设备104和DA服务器106之间的代理。例如,用户设备104的DA 客户端102可被配置为经由第二用户设备122来向DA服务器106来传输信 息(例如,在用户设备104处接收的用户请求)。DA服务器106可处理该 信息并经由第二用户设备122来将相关的数据(例如,响应于用户请求的数 据内容)返回到用户设备104。

在一些示例中,用户设备104可被配置为将针对数据的缩略请求发送到 第二用户设备122,以减少从用户设备104传输的信息量。第二用户设备122 可被配置为确定添加到缩略请求的补充信息,以生成完整的请求,从而传输 到DA服务器106。该系统架构可有利地通过使用具有较强通信能力和/或电 池电力的第二用户设备122(例如,移动电话、膝上型计算机、平板电脑等) 作为至DA服务器106的代理而允许具有有限通信能力和/或有限电池电力的 用户设备104(例如,手表或类似的紧凑型电子设备)访问由DA服务器106 所提供的服务。虽然图1中仅示出两个用户设备104和122,应当理解,系 统100可包括在此代理配置中被配置为与DA服务器系统106进行通信的任 意数量和类型的用户设备。

虽然图1中所示的数字助理可包括客户端侧部分(例如,DA客户端102) 和服务器侧部分(例如,DA服务器106)两者,但在一些示例中,数字助理 的功能可被实现为被安装在用户设备上的独立式应用程序。此外,数字助理 的客户端部分与服务器部分之间的功能划分在不同的具体实施中可变化。例 如,在一些示例中,DA客户端可为仅提供面向用户的输入和输出处理功能 并将数字助理的所有其他功能委派给后端服务器的瘦客户端。

1.电子设备

现在将注意力转至用于实现数字助理的客户端侧部分的电子设备的实 施方案。图2A为示出了根据一些实施方案的具有触敏显示系统212的便携 式多功能设备200的框图。触敏显示器212有时为了方便被叫做“触摸屏”, 并且有时可被称为或被叫做“触敏显示系统”。设备200包括存储器202(其 任选地包括一个或多个计算机可读存储介质)、存储器控制器222、一个或 多个处理单元(CPU)220、外围设备接口218、RF电路208、音频电路210、扬声器211、麦克风213、输入/输出(I/O)子系统206、其他输入控制设备216、 和外部端口224。设备200任选地包括一个或多个光学传感器264。设备200 任选地包括用于检测设备200(例如,触敏表面,诸如设备200的触敏显示 器系统212)上的接触强度的一个或多个接触强度传感器265。设备200任选 地包括用于在设备200上生成触觉输出的一个或多个触觉输出发生器267(例 如在触敏表面诸如设备200的触敏显示系统212或设备400的触摸板455上 生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线203进 行通信。

如在本说明书和权利要求书中所使用的那样,触敏表面上的接触的术语 “强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面 积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触 的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百 个不同的值(例如至少256个)。接触的强度任选地使用各种方法和各种传 感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。 在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均数), 以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏 表面上的压力。另选地,在触敏表面上检测到的接触面积的尺寸和/或其变化、 邻近接触的触敏表面的电容和/或其变化、和/或邻近接触的触敏表面的电阻和 /或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体 实施中,接触力或压力的替代测量直接用于确定是否已超过强度阈值(例如, 强度阈值以与替代物测量对应的单位来描述)。在一些具体实施中,接触力 或压力的替代测量被转换成估计的力或压力,并且估计的力或压力用于确定 是否已超过强度阈值(例如,强度阈值为以压力的单位进行测量的压力阈值)。 使用接触的强度作为用户输入的属性,从而允许用户访问用户在尺寸更小的 设备上可能本来不能访问的附加设备功能,该尺寸更小的设备具有有限的实 地面积以用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例 如,经由触敏显示器、触敏表面或物理控件/机械控件,诸如旋钮或按钮)。

如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户 利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部 件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、 或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸 敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通 过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备 的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或 触控板)的移动任选地由用户解释为对物理致动按钮的“按压点击”或“松 开点击”。在一些情况下,用户将感觉到触感,诸如“按压点击”或“松开 点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏 表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面 的光滑度无变化时,触敏表面的移动也会任选地由用户解释为或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官 知觉的限制,但是有许多触摸的感官知觉为大多数用户共有的。因此,当触 觉输出被描述为与用户的特定感官知觉(例如,“松开点击”、“按压点击”、 “粗糙度”)对应时,除非另外陈述,否则所生成的触觉输出与设备或其部 件的物理位移对应,该物理位移将会生成典型(或普通)用户的所描述的感 官知觉。

应当理解,设备200仅是便携式多功能设备的一个示例,并且设备200 任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件, 或者任选地具有这些部件的不同配置或布置。图2A中所示的各种部件以硬 件、软件、或硬件与软件两者的组合来实现,包括一个或多个信号处理电路 和/或专用集成电路。

存储器202可包括一个或多个计算机可读存储介质。该计算机可读存储 介质可为有形的和非暂态的。存储器202可包括高速随机存取存储器并且还 可包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、 或其他非易失性固态存储器设备。存储器控制器222可控制设备200的其他 部件访问存储器202。

在一些示例中,存储器202的非暂态计算机可读存储介质可用于存储指 令(例如,用于执行下文描述的方法900的各方面)以供指令执行系统、装 置或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、 装置或设备获取指令并执行指令的其他系统使用或与其结合。在其他示例中, 指令(例如,用于执行下文描述的方法900的各方面)可被存储在服务器系 统108的非暂态计算机可读存储介质(未示出)上,或者可在存储器202的 非暂态计算机可读存储介质与服务器系统108的非暂态计算机可读存储介质 之间划分。在本文档的上下文中,“非暂态计算机可读存储介质”可以是可 包括或存储程序以供指令执行系统、装置和设备使用或与其结合的任何介质。

外围设备接口218可被用于将设备的输入外围设备和输出外围设备耦接 到CPU220和存储器202。一个或多个处理器220运行或执行存储在存储器 202中的各种软件程序和/或指令集以执行设备200的各种功能并处理数据。 在一些实施方案中,外围设备接口218、CPU 220、和存储器控制器222可在 单个芯片诸如芯片204上实现。在一些其他实施方案中,它们可在单独的芯 片上实现。

RF(射频)电路208接收和发送也被叫做电磁信号的RF信号。RF电路 208将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号 来与通信网络以及其他通信设备进行通信。RF电路208任选地包括用于执行 这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放 大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户 身份模块(SIM)卡、存储器等等。RF电路208任选地通过无线通信来与网络 以及其他设备进行通信,该网络为诸如互联网(也被称为万维网(WWW))、 内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网 (MAN))。RF电路208任选地包括用于检测近场通信(NFC)场的熟知的电路, 诸如通过近程通信无线电部件来进行检测。无线通信任选地使用多种通信标 准、协议和技术中的任一者,包括但不限于全球移动通信系统(GSM)、增强 型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA (DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、 码分多址(CDMA)、时分多址(TDMA)、蓝牙、蓝牙低功耗(BTLE)、无线保真 (Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11b、IEEE802.11g、IEEE 802.11n 和/或IEEE 802.11ac)、互联网协议语音(VoIP)、Wi-MAX、电子邮件协议(例 如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如, 可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发 起协议(SIMPLE)、即时消息和存在服务(IMPS))和/或短消息服务(SMS)、或 者包括在本文档提交日期时还未开发出的通信协议的任何其他适当的通信协 议。

音频电路210、扬声器211和麦克风213提供用户和设备200之间的音 频接口。音频电路210从外围设备接口218接收音频数据,将音频数据转换 为电信号,并将电信号传输到扬声器211。扬声器211将电信号转换为人类 可听见的声波。音频电路210还接收由麦克风213根据声波转换的电信号。 音频电路210将电信号转换为音频数据,并将音频数据传输到外围设备接口 218以用于处理。音频数据可由外围设备接口218从存储器202和/或RF电 路208进行检索和/或被传输至存储器602和/或RF电路608。在一些实施方 案中,音频电路210还包括耳麦插孔(例如,图3中的312)。耳麦插孔提 供音频电路210与可移除的音频输入/输出外围设备之间的接口,该外围设备 诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如, 麦克风)二者的耳麦。

I/O子系统206将设备200上的输入/输出外围设备诸如触摸屏212和其 他输入控制设备216耦接到外围设备接口218。I/O子系统206任选地包括显 示控制器256、光学传感器控制器258、强度传感器控制器259、触觉反馈控 制器261,以及用于其他输入或控制设备的一个或多个输入控制器260。该一 个或多个输入控制器260从其他输入控制设备216接收电信号/将电信号发送 到其他输入控制设备116。其他输入控制设备216任选地包括物理按钮(例 如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等等。 在一些另选的实施方案中,一个或多个输入控制器260任选地耦接到以下各 项中的任一者(或不耦接到以下各项中的任一者):键盘、红外线端口、USB 端口以及指针设备诸如鼠标。一个或多个按钮(例如,图3中的308)任选 地包括用于扬声器211和/或麦克风213的音量控制的增大/减小按钮。一个或 多个按钮任选地包括下压按钮(例如,图3中的306)。

快速按压下压按钮可解除对触摸屏212的锁定或者开始使用触摸屏上的 手势来对设备进行解锁的过程,如于2005年12月23日提交的标题为 “Unlocking a Device byPerforming Gestures on an Unlock Image”的美国专利 申请11/322,549以及美国专利申请No.7,657,849中所述的,上述美国专利申 请据此全文以引用的方式并入本文。更长地按压下压按钮(例如,306)可使 设备200开机或关机。用户能够对一个或多个按钮的功能进行自定义。触摸 屏212用于实现虚拟按钮或软按钮以及一个或多个软键盘。

触敏显示器212提供设备和用户之间的输入接口和输出接口。显示控制 器256从触摸屏212接收电信号和/或将电信号发送至触摸屏212。触摸屏212 向用户显示视觉输出。该视觉输出可包括图形、文本、图标、视频、以及它 们的任意组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全 部的视觉输出可对应于用户界面对象。

触摸屏212具有基于触觉和/或触感接触来接受来自用户的输入的触敏 表面、传感器或传感器组。触摸屏212和显示控制器256(与存储器202中 的任何相关联的模块和/或指令集一起)检测触摸屏212上的接触(和该接触 的任何移动或中断),并且将所检测到的接触转换为与显示在触摸屏212上 的用户界面对象(例如,一个或多个软键、图标、网页或图像)的交互。在 一个示例性实施方案中,触摸屏212和用户之间的接触点对应于用户的手指。

触摸屏212可使用LCD(液晶显示器)技术、LPD(发光聚合物显示器) 技术、或LED(发光二极管)技术,但在其他实施方案中可使用其他显示技 术。触摸屏212和显示控制器256可使用现在已知或以后将开发的多种触摸 感测技术中的任何技术以及其他接近传感器阵列或用于确定与触摸屏212的 一个或多个接触点的其他元件来检测接触及其任何移动或中断,该多种触摸 感测技术包括但不限于电容式技术、电阻式技术、红外技术和表面声波技术。 在一个示例性实施方案中,使用投射式互电容感测技术,诸如在Apple Inc.(Cupertino,California)的和iPod中发现的技术。

在一些实施方案中,触摸屏212的触敏显示器可类似于下文美国专利: 6,323,846(Westerman等人)、6,570,557(Westerman等人)和/或6,677,932 (Westerman)和/或美国专利公告2002/0015024A1中所述的多触敏触摸板,这 些专利申请均据此全文以引用方式并入本文。然而,触摸屏212显示来自设 备200的视觉输出,而触敏触摸板不提供视觉输出。

在一些实施方案中,触摸屏212的触敏显示器可如以下专利申请所述: (1)于2006年5月2日提交的标题为“Multipoint Touch Surface Controller”的 美国专利申请号11/381,313;(2)于2004年5月6日提交的标题为“Multipoint Touchscreen”的美国专利申请号10/840,862;(3)于2004年7月30日提交的 标题为“Gestures For Touch Sensitive InputDevices”的美国专利申请号 10/903,964;(4)于2005年1月31日提交的标题为“GesturesFor Touch Sensitive Input Devices”的美国专利申请号11/048,264;(5)于2005年1月18日提交的 标题为“Mode-Based Graphical User Interfaces For Touch SensitiveInput Devices”的美国专利申请号11/038,590;(6)于2005年9月16日提交的标题 为“Virtual Input Device Placement On A Touch Screen User Interface”的美国 专利申请号11/228,758;(7)于2005年9月16日提交的标题为“Operation Of A Computer WithA Touch Screen Interface”的美国专利申请号11/228,700;(8) 于2005年9月16日提交的标题为“Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”的美国专利申请号11/228,737;和(9)于2006年3月3日 2006提交的标题为“Multi-Functional Hand-Held Device”的美国专利申请号 11/367,749。所有这些专利申请均全文以引用方式并入本文。

触摸屏212可具有超过100dpi的视频分辨率。在一些实施方案中,触摸 屏具有约160dpi的视频分辨率。用户可使用任何合适的对象或附加物诸如触 笔、手指等来与触摸屏212接触。在一些实施方案中,将用户界面设计用于 主要与基于手指的接触和手势一起工作,由于手指在触摸屏上的接触面积较 大,因此这可能不如基于触笔的输入那样精确。在一些实施方案中,设备将 基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所 期望的动作。

在一些实施方案中,除了触摸屏之外,设备200还可包括用于激活或去 激活特定功能的触摸板(未示出)。在一些实施方案中,该触摸板为设备的 触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板可为与触 摸屏212分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。

设备200还包括用于为各种部件供电的电力系统262。电力系统262可 包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电 系统、电力故障检测电路、功率变换器或逆变器、电源状态指示器(例如, 发光二极管(LED))和与便携式设备中的电力的生成、管理和分配相关联的任 何其他部件。

设备200也可包括一个或多个光学传感器264。图2A示出了耦接至I/O 子系统206中的光学传感器控制器258的光学传感器。光学传感器264可包 括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传 感器264从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示 图像的数据。结合成像模块243(也被叫做相机模块),光学传感器264可 捕获静态图像或视频。在一些实施方案中,光学传感器位于与设备前部上的 触摸屏显示器212相背对的设备200的后部上,使得触摸屏显示器可被用作 用于静态图像和/或视频图像采集的取景器。在一些实施方案中,光学传感器 位于设备前部上,使得在用户在触摸屏显示器上查看其他视频会议参与者时 可获取该用户的图像以用于该视频会议。在一些实施方案中,光学传感器264 的位置可由用户改变(例如,通过旋转设备外壳中的透镜和传感器),使得 单个光学传感器264可与触摸屏显示器一起使用,以用于视频会议和静态图 像和/或视频图像采集两者。

设备200任选地还包括一个或多个接触强度传感器265。图2A示出了耦 接至I/O子系统206中的强度传感器控制器259的接触强度传感器。接触强 度传感器265任选地包括一个或多个压阻应变仪、电容式力传感器、电气力 传感器、压电力传感器、光学力传感器、电容式触敏表面、或其他强度传感 器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。接触强 度传感器265从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触 敏显示系统212)并置排列或邻近。在一些实施方案中,至少一个接触强度 传感器位于设备200的与位于设备200的前部上的触摸屏显示器212相背对 的后部上。

设备200还可包括一个或多个接近传感器266。图2A示出了耦接至外围 设备接口218的接近传感器266。另选地,接近传感器266可被耦接到I/O子 系统206中的输入控制器260。接近传感器266可如标题为“Proximity Detector In Handheld Device”的美国专利申请号11/241,839;标题为“Proximity Detector In Handheld Device”的美国专利申请号11/240,788;标题为“Using Ambient Light Sensor To Augment Proximity SensorOutput”的美国专利申请号 11/620,702;标题为“Automated Response To And SensingOf User Activity In Portable Devices”的美国专利申请号11/586,862;和标题为“Methods And Systems For Automatic Configuration Of Peripherals”的美国专利申请号 11/638,251中所述的那样执行,这些专利申请据此全文以引用方式并入。在 一些实施方案中,当多功能设备被置于用户的耳朵附近时(例如,当用户正 在进行电话呼叫时),接近传感器关闭并且禁用触摸屏212。

设备200任选地还包括一个或多个触觉输出发生器267。图2A示出了耦 接至I/O子系统206中的触觉反馈控制器261的触觉输出发生器。触觉输出 发生器267任选地包括一个或多个电声设备诸如扬声器或其他音频部件,和/ 或将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合物、压 电致动器、静电致动器、或其他触觉输出生成部件(例如,将电信号转换成 设备上的触觉输出的部件)。接触强度传感器265从触觉反馈模块233接收 触觉反馈生成指令,并且在设备200上生成能够由设备200的用户感觉到的 触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如, 触敏显示系统212)并置排列或邻近,并且任选地通过竖直地(例如,向设 备200的表面内/外)或侧向地(例如,在与设备200的表面相同的平面中向 后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触 觉输出发生器传感器位于设备200的与位于设备200的前部上的触摸屏显示 器212相对的后部上。

设备200也可包括一个或多个加速度计268。图2A示出了被耦接至外围 设备接口218的加速度计268。另选地,加速度计268可耦接到I/O子系统 206中的输入控制器260。加速度计268可如标题为“Acceleration-based Theft Detection System for PortableElectronic Devices”的美国专利公开20050190059 和标题为“Methods And ApparatusesFor Operating A Portable Device Based On An Accelerometer”的美国专利公开20060017692中所述的那样执行,这两个 美国专利公开均全文以引用方式并入本文。在一些实施方案中,基于对从一 个或多个加速度计接收的数据的分析,在触摸屏显示器上以纵向视图或横向 视图来显示信息。设备200任选地除了加速度计268之外还包括磁力仪(未示出)和GPS(或GLONASS或其他全球导航系统)接收器(未示出),以 用于获取关于设备200的位置和取向(例如,纵向或横向)的信息。

在一些实施方案中,存储于存储器202中的软件部件包括操作系统226、 通信模块(或指令集)228、接触/运动模块(或指令集)230、图形模块(或 指令集)232、文本输入模块(或指令集)234、全球定位系统(GPS)模块(或 指令集)235、数字助理客户端模块229、以及应用程序(或指令集)236。 此外,存储器202可存储数据和模型,诸如用户数据和模型231。此外,在 一些实施方案中,存储器202(图2A)或470(图4)存储设备/全局内部状 态257,如图2A和图4中所示。设备/全局内部状态257包括以下各项中的 一者或多者:活动应用程序状态,用于指示哪些应用程序(如果有的话)当 前处于活动态;显示状态,其用于指示什么应用程序、视图或其他信息占据 触摸屏显示器212的各个区域;传感器状态,其包括从设备的各个传感器和 输入控制设备216获取的信息;以及关于设备的位置和/或姿态的位置信息。

操作系统226(例如,Darwin、RTXC、LINUX、UNIX、OS X、iOS、 WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系 统任务(例如,存储器管理、存储设备控制、功率管理等)的各种软件部件 和/或驱动程序,并且促进各种硬件部件和软件部件之间的通信。

通信模块228有利于通过一个或多个外部端口224与其他设备进行通 信,并且还包括用于处理由RF电路208和/或外部端口224所接收的数据的 各种软件部件。外部端口224(例如,通用串行总线(USB)、火线等)适于直 接耦接到其他设备或通过网络(例如,互联网、无线LAN等)间接耦接。在 一些实施方案中,该外部端口为与在(Apple Inc.的商标)设备上所使 用的30针连接器相同的或类似的和/或与其兼容的多针(例如,30针)连接器。

接触/运动模块230任选地检测与触摸屏212(结合显示控制器256)和 其他触敏设备(例如,触摸板或物理点击轮)的接触。接触/运动模块230包 括各种软件部件以用于执行与接触的检测相关的各种操作,诸如确定是否已 发生接触(例如,检测手指按压事件)、确定接触的强度(例如,接触的力 或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动以及跟 踪跨触敏表面的移动(例如,检测一个或多个手指拖动事件),以及确定接触是否已停止(例如,检测手指抬起事件或者接触断开)。接触/运动模块230 从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率 (量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),接触 点的移动由一系列接触数据来表示。这些操作任选地被应用于单点接触(例 如,单指接触)或者多点同时接触(例如,“多点触摸”/多个手指接触)。 在一些实施方案中,接触/运动模块230和显示控制器256检测触摸板上的接 触。

在一些实施方案中,接触/运动模块230使用一组一个或多个强度阈值来 确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一 些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度 阈值不是由特定物理致动器的激活阈值来确定的,并且可在不改变设备200 的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件 的情况下,触控板或触摸屏显示器的鼠标“点击”阈值可被设置为预定义的 阈值的大范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提 供用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强 度阈值和/或通过利用对“强度”参数的系统级点击来一次调节多个强度阈值) 的软件设置。

接触/运动模块230任选地检测用户的手势输入。触敏表面上的不同手势 具有不同的接触图案(例如,所检测到的接触的不同运动、定时和/或强度)。 因此,任选地通过检测特定的接触模式来检测手势。例如,检测手指轻击手 势包括检测手指按压事件,然后在与手指按压事件相同的位置(或基本上相 同的位置)处(例如,在图标的位置处)检测手指抬起(抬离)事件。作为 另一个示例,在触敏表面上检测手指轻扫手势包括检测手指按压事件,然后 检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。

图形模块232包括用于在触摸屏212或其他显示器上呈现和显示图形的 各种已知的软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、 透明度、饱和度、对比度或其他视觉特征)的部件。如本文所用,术语“图 形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸 如,包括软键的用户界面对象)、数字图像、视频、动画等。

在一些实施方案中,图形模块232存储用于表示待使用的图形的数据。 每个图形任选地被分配有对应的代码。图形模块232从应用程序等接收用于 指定待显示的图形的一个或多个代码,在必要的情况下还接收坐标数据和其 他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器256。

触觉反馈模块233包括用于生成指令的各种软件部件,该指令由一个或 多个触觉输出发生器267使用,以便响应于用户与设备200的交互而在设备 100上的一个或多个位置处产生触觉输出。

可为图形模块232的部件的文本输入模块234提供用于在多种应用程序 (例如,联系人237、电子邮件240、即时消息241、浏览器247和需要文本 输入的任何其他应用程序)中输入文本的软键盘。

GPS模块235确定设备的位置并将该信息提供用于各种应用程序中(例 如,提供至电话238以用于基于位置的拨号;提供至相机243用作图片/视频 元数据;以及提供至提供基于位置的服务的应用程序,诸如天气桌面小程序、 本地黄页桌面小程序和地图/导航桌面小程序)。

数字助理客户端模块229可包括各种客户端侧数字助理指令,以提供数 字助理的客户端侧功能。例如,数字助理客户端模块229可能够通过便携式 多功能设备200的各种用户接口(例如,麦克风213、加速度计268、触敏显 示器系统212、光学传感器229、其他输入控制设备216等)来接受声音输入 (例如,语音输入)、文本输入、触摸输入、和/或手势输入。数字助理客户 端模块229也可能够通过便携式多功能设备200的各种输出界面(例如,扬 声器211、触敏显示器系统212、一个或多个触觉输出发生器267等)来提供 音频形式输出(例如,语音输出)、视觉形式输出、和/或触觉形式输出。例 如,可将输出提供为语音、声音、提示、文本消息、菜单、图形、视频、动 画、振动和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块 229可使用RF电路208来与DA服务器106进行通信。

用户数据与模型231可包括与用户相关联的各种数据(例如,特定于用 户的词汇数据、用户偏好数据、用户指定名称发音、来自用户电子通讯录的 数据、待办事项、购物清单等),以提供数字助理的客户端侧功能。此外, 用户数据和模型231可包括用于处理用户输入并确定用户意图的各种模型 (例如,语音识别模型、统计语言模型、自然语言处理模型、知识本体、任 务流模型、服务模型等)。

在一些示例中,数字助理客户端模块229可利用便携式多功能设备200 的各种传感器、子系统和外围设备来从便携式多功能设备200的周围环境采 样附加信息,以建立与用户、当前用户交互和/或当前用户输入相关联的上下 文。在一些示例中,数字助理客户端模块229可将上下文信息或其子集与用 户输入一起提供至DA服务器106,以帮助推断用户意图。在一些示例中, 数字助理还可使用上下文信息来确定如何准备输出并将其递送给用户。上下 文信息可被称为上下文数据。

在一些示例中,伴随用户输入的上下文信息可包括传感器信息,例如照 明、环境噪声、环境温度、周围环境的图像或视频等。在一些示例中,上下 文信息还可包括设备的物理状态,例如设备取向、设备位置、设备温度、功 率电平、速度、加速度、运动模式、蜂窝信号强度等。在一些示例中,可将 与DA服务器106的软件状态相关的信息(例如运行过程、已安装程序、过 去和当前的网络活动、后台服务、错误日志、资源使用等)和与便携式多功 能设备200的软件状态相关的信息作为与用户输入相关联的上下文信息被提 供至DA服务器106。

在一些示例中,数字助理客户端模块229可响应于来自DA服务器106 的请求而选择性地提供被存储在便携式多功能设备200上的信息(例如,用 户数据231)。在一些示例中,数字助理客户端模块229还可在DA服务器 106请求时经由自然语言对话或其他用户接口来引出来自用户的附加输入。 数字助理客户端模块229可将该附加输入传送至DA服务器106,以帮助DA 服务器106进行意图推断和/或满足在用户请求中表达的用户意图。

下面参考图7A-C对数字助理进行更详细的描述。应当认识到,数字助 理客户端模块229可包括下文所述的数字助理模块726的任何数量的子模块。

应用程序236可包括以下模块(或指令集),或者其子集或超集:

·联系人模块237(有时叫做通讯录或联系人列表);

·电话模块238;

·视频会议模块239;

·电子邮件客户端模块240;

·即时消息(IM)模块241;

·健身支持模块242;

·用于静态图像和/或视频图像的相机模块243;

·图像管理模块244;

·视频播放器模块;

·音乐播放器模块;

·浏览器模块247;

·日历模块248;

·桌面小程序模块249,其可包括以下各项中的一者或多者:天气桌面 小程序249-1、股市桌面小程序249-2、计算器桌面小程序249-3、闹 钟桌面小程序249-4、词典桌面小程序249-5、和由用户获取的其他桌 面小程序、以及用户创建的桌面小程序249-6;

·用于制作用户创建的桌面小程序249-6的桌面小程序创建器模块 250;

·搜索模块251;

·视频和音乐播放器模块252,其合并视频播放器模块和音乐播放器模 块;

·记事本模块253;

·地图模块254;和/或

·在线视频模块255。

可被存储在存储器202中的其他应用程序236的示例包括其他文字处理 应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持JAVA 的应用程序、加密、数字权益管理、语音识别、和语音复制。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、 和文本输入模块234,联系人模块237可用于管理通讯录或联系人列表(例 如,被存储在存储器202或存储器470中的联系人模块137的应用程序内部 状态292中),包括:将一个或多个姓名添加到通讯录;从通讯录删除一个 或多个姓名;将一个或多个电话号码、一个或多个电子邮件地址、一个或多 个物理地址或其他信息与姓名相关联;将图像与姓名相关联;对姓名进行归类和分类;提供电话号码或电子邮件地址以发起和/或促进通过电话238、视 频会议模块239、电子邮件240或即时消息241的通信;等等。

结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏212、 显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,电 话模块238可用于输入对应于电话号码的字符序列、访问联系人模块237中 的一个或多个电话号码、修改已输入的电话号码、拨打相应的电话号码、进 行会话以及当会话完成时断开或挂断。如上所述,无线通信可使用多个通信 标准、协议和技术中的任一者。

结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏212、 显示控制器256、光学传感器264、光学传感器控制器258、接触/运动模块 230、图形模块232、文本输入模块234、联系人模块237和电话模块238, 视频会议模块239包括根据用户指令来发起、进行和终止用户与一个或多个 其他参与者之间的视频会议的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232和文本输入模块234,电子邮件客户端模块240包括响应于用 户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模 块244,电子邮件客户端模块240使得非常容易创建和发送具有由相机模块 243拍摄的静态图像或视频图像的电子邮件。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232和文本输入模块234,即时消息模块241包括用于以下操作的 可执行指令:输入与即时消息对应的字符序列,修改先前输入的字符,传输 相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务(MMS)协议 以用于基于电话的即时消息,或者使用XMPP、SIMPLE或IMPS以用于基于 互联网的即时消息),接收即时消息,以及查看所接收的即时消息。在一些 实施方案中,所传输的和/或所接收的即时消息可包括图形、照片、音频文件、 视频文件和/或在MMS和/或增强型消息服务(EMS)中支持的其他附件。如本 文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送 的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、或IMPS发送 的消息)两者。

结合射频电路208、触摸屏212、显示器控制器256、接触模块230、图 形模块232、文本输入模块234、GPS模块235、地图模块254和音乐播放器 模块146,健身支持模块242包括用于进行以下操作的可执行指令:创建健 身(例如,具有时间、距离和/或卡路里燃烧目标);与健身传感器(运动设 备)进行通信;接收健身传感器数据;校准用于监视健身的传感器;选择和 播放用于健身的音乐;以及显示、存储和传输健身数据。

结合触摸屏212、显示控制器256、一个或多个光学传感器264、光学传 感器控制器258、接触/运动模块230、图形模块232和图像管理模块244,相 机模块243包括用于进行以下操作的可执行指令:捕获静态图像或视频(包 括视频流)并且将它们存储到存储器202中、修改静态图像或视频的特征, 或从存储器202删除静态图像或视频。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、 文本输入模块234和相机模块243,图像管理模块244包括用于进行以下操 作的可执行指令:排列、修改(例如,编辑),或以其他方式操控、加标签、 删除、呈现(例如,在数字幻灯片或相册中),以及存储静态图像和/或视频 图像。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232和文本输入模块234,浏览器模块247包括根据用户指令来浏 览互联网(包括搜索、链接至、接收和显示网页或其部分,以及链接至网页 的附件和其他文件)的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232、文本输入模块234、电子邮件客户端模块240和浏览器模块 247,日历模块248包括根据用户指令来创建、显示、修改和存储日历以及与 日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232、文本输入模块234和浏览器模块247,桌面小程序模块249 是可由用户下载并使用的微型应用程序(例如,天气桌面小程序249-1、股市 桌面小程序249-2、计算器桌面小程序249-3、闹钟桌面小程序249-4和词典 桌面小程序249-5)、或由用户创建的微型应用程序(例如,用户创建的桌面 小程序249-6)。在一些实施方案中,桌面小程序包括HTML(超文本标记 语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中, 桌面小程序包括XML(可扩展标记语言)文件和、JavaScript文件(例如, Yahoo!桌面小程序)。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232、文本输入模块234和浏览器模块247,桌面小程序创建器模块 250可被用户用于创建桌面小程序(例如,将网页的用户指定部分转到桌面 小程序中)。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232 和文本输入模块234,搜索模块251包括根据用户指令来搜索存储器202中 的匹配一个或多个搜索条件(例如,一个或多个用户指定的搜索词)的文本、 音乐、声音、图像、视频和/或其他文件的可执行指令。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、 音频电路系统210、扬声器211、RF电路系统208和浏览器模块247,视频 和音乐播放器模块252包括允许用户下载和回放以一种或多种文件格式(诸 如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令, 以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏212上或在经 由外部端口224连接的外部显示器上)的可执行指令。在一些实施方案中, 设备200任选地包括MP3播放器诸如iPod(Apple Inc.的商标)的功能。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232 和文本输入模块234,记事本模块253包括根据用户指令来创建和管理记事 本、待办事项等的可执行指令。

结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、 图形模块232、文本输入模块234、GPS模块235和浏览器模块247,地图模 块254可用于根据用户指令来接收、显示、修改和存储地图以及与地图相关 联的数据(例如,驾驶方向、与特定位置处或其附近的商店及其他兴趣点相 关的数据,以及其他基于位置的数据)。

结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、 音频电路210、扬声器211、RF电路108、文本输入模块234、电子邮件客户 端模块240和浏览器模块247,在线视频模块255包括用于进行以下操作的 指令:允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放 (例如在触摸屏上或在经由外部端口224所连接的外部显示器上)、发送具 有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件 格式诸如H.264的在线视频。在一些实施方案中,使用即时消息模块241而 不是电子邮件客户端模块240来发送至特定在线视频的链接。在线视频应用 程序的其他描述可在于2007年6月20日提交的标题为“Portable Multifunction Device,Method,and GraphicalUser Interface for Playing Online Videos”的美国 临时专利申请60/936,562和于2007年12月31日提交的标题为“Portable Multifunction Device,Method,and GraphicalUser Interface for Playing Online Videos”的美国专利申请11/968,067中找到,这两个专利申请的内容据此全 文以引用方式并入本文。

上述模块和应用程序中的每个模块和应用程序对应于用于执行上述一 种或多种功能以及在该专利申请中所述的方法(例如,本文所述的计算机实 现的方法和其他信息处理方法)的可执行指令集。这些模块(例如,指令集) 不必被实现为独立的软件程序、过程或模块,并因此在各种实施方案中可组 合或以其他方式重新布置这些模块的各种子集。例如,视频播放器模块可与 音乐播放器模块组合成单个模块(例如,图2A中的视频和音乐播放器模块 252)。在一些实施方案中,存储器202可存储上述模块和数据结构的子集。 此外,存储器202可存储上文没有描述的附加模块和数据结构。

在一些实施方案中,设备200为该设备上的预定义的一组功能的操作唯 一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触摸板作为 用于设备200的操作的主要输入控制设备,可减少设备200上的物理输入控 制设备(诸如下压按钮、拨号盘等等)的数量。

唯一地通过触摸屏和/或触摸板执行的该组预定义功能任选地包括在用 户界面之间进行导航。在一些实施方案中,该触摸板在被用户触摸时将设备 200从被显示在设备200上的任何用户界面导航到主菜单、home菜单、或根 菜单。在此类实施方案中,使用触摸板来实现“菜单按钮”。在一些其他实 施方案中,该菜单按钮为物理下压按钮或者其他物理输入控制设备,而不是 触摸板。

图2B为示出了根据一些实施方案用于事件处理的示例性部件的框图。 在一些实施方案中,存储器202(图2A)或存储器470(图4)包括事件分 类器270(例如,在操作系统226中)以及相应的应用程序236-1(例如,前 述应用程序237至251、255、480至490中的任一个应用程序)。

事件分类器270接收事件信息并确定要将事件信息递送到的应用程序 236-1和应用程序236-1的应用程序视图291。事件分类器270包括事件监视 器271和事件分配器模块274。在一些实施方案中,应用程序236-1包括应用 程序内部状态292,该应用程序内部状态指示当应用程序是活动的或正在执 行时被显示在触敏显示器212上的一个或多个当前应用程序视图。在一些实 施方案中,设备/全局内部状态257被事件分类器270用于确定哪个(哪些) 应用程序当前是活动的,并且应用程序内部状态292被事件分类器270用于 确定要将事件信息递送到的应用程序视图291。

在一些实施方案中,应用程序内部状态292包括附加信息,诸如以下各 项中的一者或多者:当应用程序236-1恢复执行时将被使用的恢复信息、指 示正被应用程序236-1显示的信息或准备好用于被应用程序236-1显示的信 息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状 态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。

事件监视器271从外围设备接口218接收事件信息。事件信息包括关于 子事件(例如,作为多点触摸手势一部分的触敏显示器212上的用户触摸) 的信息。外围设备接口218传输其从I/O子系统206或传感器诸如接近传感 器266、加速度计268和/或麦克风213(通过音频电路210)接收的信息。外 围设备接口218从I/O子系统206接收的信息包括来自触敏显示器212或触 敏表面的信息。

在一些实施方案中,事件监视器271以预先确定的间隔将请求发送至外 围设备接口218。作为响应,外围设备接口218传输事件信息。在其他实施 方案中,外围设备接口218仅当存在显著事件(例如,接收到高于预先确定 的噪声阈值和/或接收到超过预先确定的持续时间的输入)时才传输事件信 息。

在一些实施方案中,事件分类器270还包括命中视图确定模块272和/ 或活动事件识别器确定模块273。

当触敏显示器212显示多于一个视图时,命中视图确定模块272提供用 于确定子事件已在一个或多个视图内的何处发生的软件过程。视图由用户可 在显示器上看到的控件和其他元件构成。

与应用程序相关联的用户界面的另一方面是一组视图,在本文中有时也 被称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的 手势。在其中检测到触摸的(相应应用程序的)应用程序视图可对应于应用 程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的 最低层级视图可被叫做命中视图,并且被识别为正确输入的那组事件可至少 部分地基于开始基于触摸的手势的初始触摸的命中视图来确定。

命中视图确定模块272接收与基于接触的手势的子事件相关的信息。当 应用程序具有在分级结构中组织的多个视图时,命中视图确定模块272将命 中视图识别为应对子事件进行处理的分级结构中的最低视图。在大多数情况 下,该命中视图为发起子事件(例如,形成事件或潜在事件的子事件序列中 的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定 模块272识别,命中视图便通常接收与其被识别为命中视图所针对的同一触 摸或输入源相关的所有子事件。

活动事件识别器确定模块273确定视图分级结构内的哪个或哪些视图应 接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块273确 定仅命中视图才应接收特定子事件序列。在其他实施方案中,活动事件识别 器确定模块273确定包括子事件的物理位置的所有视图都是活跃参与的视 图,因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实施方 案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,但在分 级结构中较高的视图将仍然保持为活跃参与的视图。

事件分配器模块274将事件信息分配到事件识别器(例如,事件识别器 280)。在包括活动事件识别器确定模块273的实施方案中,事件分配器模块 274将事件信息递送到由活动事件识别器确定模块273确定的事件识别器。 在一些实施方案中,事件分配器模块274在事件队列中存储事件信息,该事 件信息由相应事件接收器282进行检索。

在一些实施方案中,操作系统226包括事件分类器270。另选地,应用 程序236-1包括事件分类器270。在其他实施方案中,事件分类器270为独立 模块,或者为被存储在存储器202中的另一个模块(诸如接触/运动模块230) 的一部分。

在一些实施方案中,应用程序236-1包括多个事件处理程序290和一个 或多个应用程序视图291,其中每个应用程序视图包括用于处理发生在应用 程序的用户界面的相应视图内的触摸事件的指令。应用程序236-1的每个应 用程序视图291包括一个或多个事件识别器280。通常,相应应用程序视图 291包括多个事件识别器280。在其他实施方案中,事件识别器280中的一个 或多个事件识别器为独立模块的一部分,该独立模块诸如用户界面工具包(未 示出)或应用程序236-1从中继承方法和其他属性的更高水平的对象。在一 些实施方案中,相应事件处理程序290包括以下各项中的一者或多者:数据 更新器276、对象更新器277、GUI更新器278、和/或从事件分类器270接收 的事件数据279。事件处理程序290可利用或调用数据更新器276、对象更新 器277或GUI更新器278,以更新应用程序内部状态292。另选地,应用程 序视图291中的一个或多个应用程序视图包括一个或多个相应事件处理程序 290。另外,在一些实施方案中,数据更新器276、对象更新器277和GUI 更新器278中的一者或多者包括在相应应用程序视图291中。

相应的事件识别器280从事件分类器270接收事件信息(例如,事件数 据279),并且从事件信息识别事件。事件识别器280包括事件接收器282 和事件比较器284。在一些实施方案中,事件识别器280还至少包括元数据 283和事件递送指令288(其可包括子事件递送指令)的子集。

事件接收器282接收来自事件分类器270的事件信息。该事件信息包括 关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加 信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息还可包括 子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到 另一取向(例如,从纵向取向到横向取向,或反之亦然)的旋转,并且事件 信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。

事件比较器284将事件信息与预定义的事件或子事件定义进行比较,并 且基于该比较,确定事件或子事件,或者确定或更新事件或子事件的状态。 在一些实施方案中,事件比较器284包括事件定义286。事件定义286包含 事件的定义(例如,预定义的子事件序列),例如事件1(287-1)、事件2(287-2)、 以及其他事件。在一些实施方案中,事件(287)中的子事件例如包括触摸开 始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,针对事件 1(287-1)的定义是在显示对象上的双击。例如,该双击包括被显示对象上的 预先确定时长的第一次触摸(触摸开始)、预先确定时长的第一次抬起(触 摸结束)、被显示对象上的预先确定时长的第二次触摸(触摸开始)、以及 预先确定时长的第二次抬起(触摸结束)。在另一个示例中,对事件2(287-2) 的定义为被显示对象上的拖动。例如,拖动包括被显示的对象上的预先确定 时长的触摸(或接触)、触摸在触敏显示器212上的移动,以及触摸的抬离 (触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事 件处理程序290的信息。

在一些实施方案中,事件定义287包括对用于相应用户界面对象的事件 的定义。在一些实施方案中,事件比较器284执行命中测试,以确定哪个用 户界面对象与子事件相关联。例如,在触敏显示器212上显示三个用户界面 对象的应用程序视图中,当在触敏显示器212上检测到触摸时,事件比较器 284执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该 触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序290 相关联,则事件比较器使用该命中测试的结果,以确定哪个事件处理程序290 应当被激活。例如,事件比较器284选择与子事件和触发该命中测试的对象 相关联的事件处理程序。

在一些实施方案中,相应事件(287)的定义还包括延迟动作,该延迟 动作延迟事件信息的递送,直到已确定子事件序列是否确实对应于或不对应 于事件识别器的事件类型。

当相应事件识别器280确定子事件序列不与事件定义286中的任何事件 匹配时,该相应事件识别器280进入事件不可能、事件失败或事件结束状态, 在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图 保持活动的其他事件识别器(如果有的话)继续跟踪和处理正在进行的基于 触摸的手势的子事件。

在一些实施方案中,相应事件识别器280包括具有指示事件递送系统应 该如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标记和/ 或列表的元数据283。在一些实施方案中,元数据283包括用于指示事件识 别器可如何彼此进行交互或者如何被启用以彼此进行交互的可配置属性、标 志和/或列表。在一些实施方案中,元数据283包括指示子事件是否递送到视 图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。

在一些实施方案中,当识别事件的一个或多个特定子事件时,相应事件 识别器280激活与事件相关联的事件处理程序290。在一些实施方案中,相 应事件识别器280将与事件相关联的事件信息递送到事件处理程序290。激 活事件处理程序290不同于将子事件发送(和延期发送)到相应命中视图。 在一些实施方案中,事件识别器280抛出与所识别的事件相关联的标志,并 且与该标志相关联的事件处理程序290获取该标志并执行预定义的过程。

在一些实施方案中,事件递送指令288包括递送关于子事件的事件信息 而无需激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件 信息递送到与子事件系列相关联的事件处理程序或递送到活跃参与的视图。 与子事件系列或与活跃参与的视图相关联的事件处理程序接收事件信息并执 行预先确定的过程。

在一些实施方案中,数据更新器276创建并更新在应用程序236-1中使 用的数据。例如,数据更新器276对联系人模块237中所使用的电话号码进 行更新,或者对视频播放器模块中所使用的视频文件进行存储。在一些实施 方案中,对象更新器277创建和更新在应用程序236-1中使用的对象。例如, 对象更新器277创建新用户界面对象或更新用户界面对象的位置。GUI更新 器278更新GUI。例如,GUI更新器278准备显示信息并且将显示信息发送到图形模块232,以用于在触敏显示器上显示。

在一些实施方案中,一个或多个事件处理程序290包括数据更新器276、 对象更新器277和GUI更新器278或者具有对该数据更新器、该对象更新器 和该GUI更新器的访问权限。在一些实施方案中,数据更新器276、对象更 新器277和GUI更新器278被包括在相应应用程序236-1或应用程序视图291 的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。

应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用 于利用输入设备来操作多功能设备200的其他形式的用户输入,并不是所有 用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按压或按 住协作的鼠标移动和鼠标按钮按压;触摸板上的接触移动,诸如轻击、拖拽、 滚动等;触笔输入;设备的移动;口头指令;所检测到的眼睛移动;生物特 征输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事 件的输入。

图3示出了根据一些实施方案的具有触摸屏212的便携式多功能设备 200。触摸屏任选地在用户界面(UI)300内显示一个或多个图形。在本实施方 案中以及在下文中描述的其他实施方案中,用户能够通过例如利用一个或多 个手指302(在附图中没有按比例绘制)或者利用一个或多个触笔303(在附 图中没有按比例绘制),在图形上作出手势来选择这些图形中的一个或多个 图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生 对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次 轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设 备200发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在 一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如, 当与选择对应的手势为轻击时,在应用程序图标上方扫动的轻扫手势任选地 不会选择对应应用程序。

设备200还可包括一个或多个物理按钮,诸如“home”按钮、或菜单按 钮304。如前所述,菜单按钮304可用于导航到可在设备200上执行的一组 应用程序中的任何应用程序236。另选地,在一些实施方案中,菜单按钮被 实现为被显示在触摸屏212上的GUI中的软键。

在一个实施方案中,设备200包括触摸屏212、菜单按钮304、用于使 设备通电/断电和用于锁定设备的下压按钮306、一个或多个音量调节按钮 308、用户身份模块(SIM)卡槽310、耳麦插孔312、和对接/充电外部端口224。 下压按钮306任选地用于通过压下该按钮并且将该按钮保持在压下状态预定 义的时间间隔来对设备进行开/关机;通过压下该按钮并在经过该预定义的时 间间隔之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。 在另选的实施方案中,设备200还通过麦克风213来接受用于激活或去激活 一些功能的语音输入。设备200还任选地包括用于检测触摸屏212上的接触 的强度的一个或多个接触强度传感器265,和/或用于为设备200的用户生成 触觉输出的一个或多个触觉输出发生器267。

图4为根据一些实施方案的具有显示器和触敏表面的示例性多功能设备 的框图。设备400不必为便携式的。在一些实施方案中,设备400为膝上型 计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备 (诸如儿童学习玩具)、游戏系统、或控制设备(例如,家用控制器或工业 用控制器)。设备400通常包括一个或多个处理单元(CPU)410、一个或多个 网络或其他通信接口460、存储器470、和用于使这些部件互连的一个或多个通信总线420。通信总线420任选地包括使系统部件互连并且控制系统部件 之间的通信的电路(有时称为芯片组)。设备400包括具有显示器440的输 入/输出(I/O)接口430,该显示器通常为触摸屏显示器。I/O接口430还任选地 包括键盘和/或鼠标(或其他指向设备)450和触摸板455、用于在设备400 上生成触觉输出的触觉输出发生器457(例如,类似于以上参考图2A所述的 触觉输出发生器267)、传感器459(例如,光学传感器、加速度传感器、接 近传感器、触敏传感器和/或一个或多个接触强度传感器(类似于以上参考图 2A所述的接触强度传感器265))。存储器470包括高速随机存取存储器, 诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任 选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、 闪存存储器设备、或其他非易失性固态存储设备。存储器470任选地包括远 离CPU 410定位的一个或多个存储设备。在一些实施方案中,存储器470存 储与在便携式多功能设备200(图2A)的存储器202中所存储的程序、模块 和数据结构类似的程序、模块和数据结构,或它们的子集。此外,存储器470 任选地存储在便携式多功能设备200的存储器202中不存在的附加程序、模 块、和数据结构。例如,设备400的存储器470任选地存储绘图模块480、 呈现模块482、文字处理模块484、网站创建模块486、盘编辑模块488和/ 或电子表格模块490,而便携式多功能设备200(图2A)的存储器202任选 地不存储这些模块。

图4中的上述元素中的每个元素可被存储在一个或多个前面提及的存储 器设备中。上述所识别的模块中的每个模块对应于用于执行上述功能的指令 集。上述模块或程序(例如,指令集)不必被实现为单独的软件程序、过程 或模块,并且因此这些模块的各种子集可在各种实施方案中被组合或以其他 方式重新布置。在一些实施方案中,存储器470可存储上述模块和数据结构 的子集。此外,存储器470可存储上文没有描述的附加模块和数据结构。

现在将注意力转向可在例如便携式多功能设备200上实现的用户界面的 实施方案。

图5A示出了根据一些实施方案的便携式多功能设备200上的应用程序 菜单的示例性用户界面。类似的用户界面可在设备400上实现。在一些实施 方案中,用户界面500包括以下元件或者其子集或超集:

·一种或多种无线通信(诸如蜂窝信号和Wi-Fi信号)的一个或多个信 号强度指示符502;

·时间504;

·蓝牙指示符505;

·电池状态指示符506;

·具有常用应用程序图标的托盘508,该图标诸如:

ο电话模块238的被标记为“电话”的图标516,该图标216任选地 包括未接来电或语音留言的数量的指示符514;

ο电子邮件客户端模块240的被标记为“邮件”的图标518,该图标 任选地包括未读电子邮件的数量的指示符510;

ο浏览器模块247的被标记为“浏览器”的图标520;和

ο视频和音乐播放器模块252(也叫做iPod(Apple Inc.的商标)模 块252)的被标记为“iPod”的图标522;和

·其他应用程序的图标,诸如:

οIM模块241的被标记为“消息”的图标524;

ο日历模块248的被标记为“日历”的图标526;

ο图像管理模块244的被标记为“照片”的图标528;

ο相机模块243的被标记为“相机”的图标530;

ο在线视频模块255的被标记为“在线视频”的图标532;

ο股市桌面小程序249-2的被标记为“股市”的图标534;

ο地图模块254的被标记为“地图”的图标536;

ο天气桌面小程序249-1的被标记为“天气”的图标538;

ο闹钟桌面小程序249-4的被标记为“时钟”的图标540;

ο健身支持模块242的被标记为“健身支持”的图标542;

ο记事本模块253的被标记为“记事本”的图标544;和

ο用于设置应用程序或模块的被标记为“设置”的图标546,该图标 提供对设备200及其各种应用程序236的设置的访问。

需注意,图5A中示出的图标标签仅为示例性的。例如,视频和音乐播 放器模块252的图标522可任选地被标记为“音乐”或“音乐播放器”。其 他标签任选地用于各种应用程序图标。在一些实施方案中,相应应用程序图 标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方 案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程 序的名称。

图5B示出了具有与显示器550(例如,触摸屏显示器212)分开的触敏 表面551(例如,图4的平板电脑或触摸板455)的设备(例如,图4的设备 400)上的示例性用户界面。设备400还任选地包括用于检测触敏表面551 上接触强度的一个或多个接触强度传感器(例如,传感器457中的一个或多 个传感器),和/或用于为设备400的用户生成触觉输出的一个或多个触觉输 出发生器459。

尽管将参考触摸屏显示器212(其中组合了触敏表面和显示器)上的输 入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示 器分开的触敏表面上的输入,如图5B所示。在一些实施方案中,触敏表面 (例如,图5B中的551)具有与显示器(例如,550)上的主轴(例如,图 5B中的553)对应的主轴(例如,图5B中的552)。根据这些实施方案,设 备检测在与显示器上的相应位置对应的位置(例如,在图5B中,560对应于 568并且562对应于570)处的与触敏表面551的接触(例如,图5B中的560 和562)。这样,在触敏表面(例如,图5B中的551)与多功能设备的显示 器(图5B中的550)分开时,由设备在触敏表面上检测到的用户输入(例如, 接触560和562以及它们的移动)被该设备用于操纵显示器上的用户界面。 应当理解,类似的方法任选地用于本文所述的其他用户界面。

另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手 指轻扫手势)来给出下面的示例,但是应当理解,在一些实施方案中,这些 手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于 鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如, 而不是接触),之后是光标沿轻扫的路径的移动(例如,而不是接触的移动) 来代替。又如,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标 点击(例如,而不是对接触的检测,以及之后的停止检测接触)来代替。类 似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选 地被同时使用,或鼠标和手指接触任选地被同时使用。

图6A示出了示例性个人电子设备600。设备600包括主体602。在 一些实施方案中,设备600可包括针对设备200和400(例如,图2A至 图4)所述的特征中的一些或全部特征。在一些实施方案中,设备600 具有在下文中称为触摸屏604的触敏显示屏604。作为触摸屏604的替代 或补充,设备600具有显示器和触敏表面。与设备200和设备400的情 况一样,在一些实施方案中,触摸屏604(或触敏表面)可具有用于检 测正施加的接触(例如,触摸)强度的一个或多个强度传感器。触摸屏 604(或触敏表面)的一个或多个强度传感器可提供表示触摸的强度的输 出数据。设备600的用户界面可基于触摸强度来对触摸作出响应,这意 味着不同强度的触摸可调用设备600上的不同用户界面操作。

用于检测和处理触摸强度的技术可存在于相关专利申请中:例如于2013 年5月8日提交的标题为“Device,Method,and Graphical User Interface for Displaying UserInterface Objects Corresponding to an Application”的国际专利 申请序列PCT/US2013/040061,以及于2013年11月11日提交的标题为 “Device,Method,and GraphicalUser Interface for Transitioning Between Touch Input to Display OutputRelationships”的国际专利申请序列 PCT/US2013/069483,这两个专利申请中的每个专利申请据此全文以引用方 式并入本文。

在一些实施方案中,设备600具有一个或多个输入机构606和608。输 入机构606和608(如果包括的话)可为物理形式的。物理输入机构的示例 包括下压按钮和可旋转机构。在一些实施方案中,设备600具有一个或多个 附接机构。此类附接机构(如果包括的话)可允许将设备600与例如帽子、 眼镜、耳环、项链、衬衣、夹克、手镯、表带、手链、裤子、皮带、鞋子、 钱包、背包等附接。这些附接机构可允许用户穿戴设备600。

图6B示出了示例性个人电子设备600。在一些实施方案中,设备600 可包括参考图2A、图2B和图4所述的部件中的一部分或全部部件。设备600 具有总线612,该总线将I/O部分614与一个或多个计算机处理器616和存储 器618操作性地耦接。I/O部分614可连接到显示器604,该显示器可具有触 敏部件622并且任选地具有触摸强度敏感部件624。此外,I/O部分614可连 接到通信单元630,以用于使用Wi-Fi、蓝牙、近场通信(NFC)、蜂窝和/或其 他无线通信技术来接收应用程序和操作系统数据。设备600可包括输入机构 606和/或608。例如,输入机构606可为可旋转输入设备或可按压且可旋转 输入设备。在一些示例中,输入机构608可为按钮。

在一些示例中,输入机构608可为麦克风。个人电子设备600可包括各 种传感器,诸如GPS传感器632、加速度计634、定向传感器640(例如,罗 盘)、陀螺仪636、运动传感器638和/或其组合,所有这些设备均可操作地 连接到I/O部分614。

个人电子设备600的存储器618可为u用于存储计算机可执行指令的非 暂态计算机可读存储介质,该计算机可执行指令当由一个或多个计算机处理 器616执行时例如可使得计算机处理器执行下文描述的包括方法900(图 8A-D)的技术。该计算机可执行指令还可以在任何非暂态计算机可读存储介 质内进行存储和/或传输,以供指令执行系统、装置或设备诸如基于计算机的 系统、包括处理器的系统或可从指令执行系统、装置或设备获取指令并执行 指令的其他系统使用或与其结合。个人电子设备600不限于图6B的部件和 配置,而是可包括多种配置的其他部件或附加部件。

如本文所用,术语“示能表示”是指可在设备200,400和/或600(图2、 图4和图6)的显示屏上显示的用户交互式图形用户界面对象。例如,图像 (例如,图标)、按钮和文本(例如,超链接)可各自构成示能表示。

如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的 用户界面的当前部分的输入元素。在包括光标或其他位置标记的一些具体实 施中,光标充当“焦点选择器”,使得在光标在特定用户界面元素(例如, 按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图4中 的触摸板455或图5B中的触敏表面551)上检测到输入(例如,按压输入) 的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如, 图2A中的触敏显示系统212或图5A中的触摸屏212)的一些具体实施中, 触摸屏上所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在 特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置 处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根 据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上 的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另 一个按钮);在这些具体实施中,焦点选择器根据焦点在用户界面的不同区 域之间的移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通 常为由用户控制的以便递送与用户界面的用户预期的交互(例如,通过向设 备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸 屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测 到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方 的位置将指示用户期望激活相应按钮(而不是设备的显示器上示出的其他用 户界面元素)。

如说明书和权利要求书中所使用的,接触的“特征强度”这一术语是指 基于接触的一个或多个强度的接触的特征。在一些实施方案中,特性强度基 于多个强度样本。特性强度任选地基于相对于预定义事件(例如,在检测到 接触之后,在检测到接触抬起之前,在检测到接触开始移动之前或之后,在 检测到接触结束之前,在检测到接触的强度增大之前或之后和/或在检测到接 触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1 秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采样的预定义数量的强度 样本或一组强度样本。接触的特征强度任选地基于以下各项中的一者或多者: 接触强度的最大值、接触强度的均值、接触强度的平均值、接触强度的前10% 处的值、接触强度的半最大值、接触强度的90%最大值等。在一些实施方案 中,在确定特性强度时使用接触的持续时间(例如,在特性强度为接触的强 度在时间上的平均值时)。在一些实施方案中,将特性强度与一组一个或多 个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个 强度阈值可包括第一强度阈值和第二强度阈值。在该示例中,特征强度未超 过第一阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二 强度阈值的接触导致第二操作,并且特征强度超过第二阈值的接触导致第三 操作。在一些实施方案中,使用特征强度与一个或多个阈值之间的比较来确 定是否要执行一个或多个操作(例如,是执行相应操作还是放弃执行相应操 作),而不是用于确定执行第一操作还是第二操作。

在一些实施方案中,识别手势的一部分以用于确定特征强度。例如,触 敏表面可接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡并到达结 束位置,在该结束位置处,接触的强度增加。在该示例中,接触在结束位置 处的特征强度可仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如, 仅结束位置处的轻扫接触的一部分)。在一些实施方案中,可在确定接触的 特征强度之前向轻扫手势的强度应用平滑化算法。例如,该平滑化算法任选 地包括以下各项中的一者或多者:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法、和/或指数平滑化算法。在一些情况下,这些 平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,以用于确定特征强 度。

可相对于一个或多个强度阈值诸如接触检测强度阈值、轻按压强度阈 值、深按压强度阈值、和/或一个或多个其他强度阈值来表征触敏表面上的接 触的强度。在一些实施方案中,轻按压强度阈值对应于这样的强度:在该强 度下,设备将执行通常与点击物理鼠标或触控板的按钮相关联的操作。在一 些实施方案中,深按压强度阈值对应于这样的强度:在该强度下设备将执行 与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些实 施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值,比标称接触检测强度阈值低的接触不再被检测到)的接触 时,设备将根据接触在触敏表面上的移动来移动焦点选择器,而无需执行与 轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有陈述, 否则这些强度阈值在不同组的用户界面附图之间为一致的。

接触的特征强度从低于轻按压强度阈值的强度增大到介于轻按压强度 阈值与深按压强度阈值之间的强度有时被称为“轻按压”输入。接触的特征 强度从低于深按压强度阈值的强度增大到高于深按压强度阈值的强度有时被 称为“深按压”输入。接触的特征强度从低于接触检测强度阈值的强度增大 到介于接触检测强度阈值与轻按压强度阈值之间的强度有时被称为检测到触 摸表面上的接触。接触特征强度从高于接触检测强度阈值的强度减小到低于 接触检测强度阈值的强度有时被称为检测到接触从触摸表面抬离。在一些实 施方案中,接触检测强度阈值为零。在一些实施方案中,接触检测强度阈值 大于零。

在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手 势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来执行 一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度 增大到高于按压输入强度阈值而检测到相应按压输入。在一些实施方案中, 响应于检测到相应接触的强度增大到高于按压输入强度阈值(例如,相应按 压输入的“向下冲程”)来执行相应操作。在一些实施方案中,按压输入包 括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触的强度随后减小到低 于按压输入阈值(例如,相应按压输入的“向上冲程”)来执行相应操作。

在一些实施方案中,设备采用强度滞后以避免有时称为“抖动”的意外 输入,其中该设备限定或选择与按压输入强度阈值具有预定义关系的滞后强 度阈值(例如,滞后强度阈值比按压输入强度阈值小X个强度单位,或滞后 强度阈值是按压输入强度阈值的75%、90%或某些合理的比例)。因此,在 一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈 值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后强度阈 值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值(例如, 相应按压输入的“向上冲程”)来执行相应操作。类似地,在一些实施方案 中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等 于或高于按压输入强度阈值的强度并且任选地接触的强度随后减小到等于或 低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例 如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。

为了容易解释,任选地,响应于检测到以下各种情况中的任一种情况而 触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入 的手势而执行的操作的描述:接触强度增大到高于按压输入强度阈值、接触 强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触 强度减小到低于按压输入强度阈值、和/或接触强度减小到低于与按压输入强 度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强 度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触 的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行 操作。

2.数字助理系统

图7A示出了根据各种示例的数字助理系统700的框图。在一些示例中, 数字助理系统700可在独立式计算机系统上实现。在一些示例中,数字助理 系统700可跨多个计算机分布。在一些示例中,数字助理的模块和功能中的 一些模块和功能可被划分成服务器部分和客户端部分,其中客户端部分位于 一个或多个用户设备(例如,设备104,122,200,400或600)上并通过一个 或多个网络来与服务器部分(例如,服务器系统108)进行通信,例如,如图1所示。在一些示例中,数字助理系统700可为在图1中所示的服务器系 统108(和/或DA服务器106)的具体实施。应当指出的是,数字助理系统 700仅为数字助理系统的一个示例,并且该数字助理系统700可具有比所示 更多或更少的部件、可组合两个或更多个部件,或者可具有部件的不同配置 或布置。图7A中所示的各种部件可在硬件、用于由一个或多个处理器执行 的软件指令、固件(包括一个或多个信号处理集成电路和/或专用集成电路)、 或它们的组合中实现。

数字助理系统700可包括存储器702、一个或多个处理器704、输入/输 出(I/O)接口706、以及网络通信接口708。这些部件可通过一个或多个通信总 线或信号线710彼此进行通信。

在一些示例中,存储器702可包括非暂态计算机可读介质,诸如高速随 机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存 储设备、闪存存储器设备、或其他非易失性固态存储器设备)。

在一些示例中,I/O接口706可将数字助理系统700的输入/输出设备716 诸如显示器、键盘、触摸屏和麦克风耦接至用户界面模块722。与用户界面 模块722结合的I/O接口706可接收用户输入(例如,声音输入、键盘输入、 触摸输入等)并相应地对这些输入进行处理。在一些示例中,例如当数字助 理在独立式用户设备上实现时,数字助理系统700可包括分别相对于图2A、 图4、图6A-B中的设备200,400或600所描述的部件和I/O通信接口中的任一者。在一些示例中,数字助理系统700可代表数字助理具体实施的服务器 部分,并且可通过位于用户设备(例如,设备104,200,400或设备600)上 的客户端侧部分来与用户进行交互。

在一些示例中,网络通信接口708可包括一个或多个有线通信端口712、 和/或无线传输和接收电路714。一个或多个有线通信端口可经由一个或多个 有线接口例如以太网、通用串行总线(USB)、火线等来接收和发送通信信号。 无线电路714可从通信网络以及其他通信设备接收RF信号和/或光学信号, 并且将RF信号和/或光学信号发送至通信网络以及其他通信设备。无线通信 可使用多种通信标准、协议和技术中的任一者,诸如GSM、EDGE、CDMA、 TDMA、蓝牙、Wi-Fi、VoIP、Wi-MAX、或任何其他合适的通信协议。网络 通信接口708可使得数字助理系统700通过网络诸如互联网、内联网和/或无 线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))与其他 设备之间的通信成为可能。

在一些示例中,存储器702或存储器702的计算机可读存储介质可存储 程序、模块、指令和数据结构,包括以下内容中的全部或其子集:操作系统 718、通信模块720、用户界面模块722、一个或多个应用程序724、和数字 助理模块726。具体地,存储器702或存储器702的计算机可读存储介质可 存储用于执行下文描述的方法900的指令。一个或多个处理器704可执行这 些程序、模块和指令,并从数据结构读取数据或将数据写到数据结构。

操作系统718(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS, 或嵌入式操作系统诸如VxWorks)可包括用于控制和管理一般系统任务(例 如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器, 并且促进各种硬件、固件和软件部件之间的通信。

通信模块720可促进数字助理系统700与其他设备之间的通过网络通信 接口708进行的通信。例如,通信模块720可与电子设备(诸如,分别在图 2A、图4、图6A-B中示出的设备200,400和600)的RF电路208进行通信。 通信模块720还可包括用于处理由无线电路714和/或有线通信端口712所接 收的数据的各种部件。

用户界面模块722可经由I/O接口706来接收来自用户(例如,来自键 盘、触摸屏、指向设备、控制器和/或麦克风)的命令和/或输入,并在显示器 上生成用户界面对象。用户界面模块722还可准备输出(例如,语音、声音、 动画、文本、图标、振动、触觉反馈、光照等)并将其经由I/O接口706(例 如,通过显示器、音频通道、扬声器、触摸板等)递送给用户。

应用程序724可包括被配置为由一个或多个处理器704执行的程序和/ 或模块。例如,如果数字助理系统在独立式用户设备上实现,则应用程序724 可包括用户应用程序,诸如游戏、日历应用程序、导航应用程序、或邮件应 用程序。如果数字助理系统700在服务器上实现,则应用程序724可包括例 如资源管理应用程序、诊断应用程序、或调度应用程序。

存储器702还可存储数字助理模块726(或数字助理的服务器部分)。 在一些示例中,数字助理模块726可包括以下子模块或者其子集或超集:输 入/输出处理模块728、语音转文本(STT)处理模块730、自然语言处理模块732、 对话流处理模块734、任务流处理模块736、服务处理模块738、和语音合成 模块740。这些模块中的每个模块可具有对以下数字助理模块726的系统或 数据与模型中的一者或多者或者其子集或超集的访问权限:知识本体760、 词汇索引744、用户数据748、任务流模型754、服务模型756和ASR系统。

在一些示例中,使用数字助理模块726中实现的处理模块、数据和模型, 数字助理可执行下述各项的至少一部分:将语音输入转换为文本;识别在从 用户接收的自然语言输入中表达的用户意图;主动引出并获取充分推断用户 意图所需的信息(例如,通过消除词、名称、意图的歧义等);确定用于满 足推断出的意图的任务流;以及执行该任务流以满足推断出的意图。

在一些示例中,如图7B中所示,I/O处理模块728可通过图7A中的I/O 设备716与用户进行交互或通过图7A中的网络通信接口708与用户设备(例 如,设备104、设备200、设备400或设备600)进行交互,以获取用户输入 (例如,语音输入)并提供对用户输入的响应(例如,作为语音输出)。I/O 处理模块728随同接收到用户输入一起或在接收到用户输入之后不久可任选 地获取与来自用户设备的用户输入相关联的上下文信息。该上下文信息可包括特定于用户的数据、词汇,和/或与用户输入相关的偏好。在一些示例中, 该上下文信息还包括在接收到用户请求时的用户设备的软件状态和硬件状 态,和/或与在接收到用户请求时的用户的周围环境相关的信息。在一些示例 中,I/O处理模块728还可将与用户请求有关的跟进问题发送至用户并从用户 接收回答。在用户请求被I/O处理模块728接收并且用户请求可包括语音输 入时,I/O处理模块728可将语音输入转发至STT处理模块730(或语音识别 器),以用于语音文本转换。

STT处理模块730可包括一个或多个ASR系统。该一个或多个ASR系 统可处理通过I/O处理模块728接收到的语音输入,以产生识别结果。每个 ASR系统可包括前端语音预处理器。前该端语音预处理器可从语音输入提取 代表性特征。例如,该前端语音预处理器可对语音输入执行傅里叶变换,以 提取表征语音输入的光谱特征作为代表性多维向量的序列。此外,每个ASR 系统可包括一个或多个语音识别模型(例如,声音模型和/或语言模型),并 且可实现一个或多个语音识别引擎。语音识别模型的示例可包括隐马尔可夫 模型、高斯混合模型、深层神经网络模型、n元语言模型、以及其他统计模 型。语音识别引擎的示例可包括基于动态时间规整的引擎和基于加权有限状 态换能器(WFST)的引擎。一个或多个语音识别模型和一个或多个语音识别引 擎可用于处理前端语音预处理器的所提取的代表性特征,以产生中间识别结 果(例如,音素、音素串和子字),并且最终产生文本识别结果(例如,字 词、字词串或符号的序列)。在一些示例中,语音输入可至少部分地由第三 方服务处理或在用户的设备(例如,设备104,200,400或600)上处理,以 产生识别结果。一旦STT处理模块730产生包含文本串(例如,字词,或字 词的序列,或符号的序列)的识别结果,识别结果便可被传送至自然语言处 理模块732以用于意图推断。

有关语音转文本处理的更多细节在于2011年9月20日提交的标题为“Consolidating Speech Recognition Results”的美国实用新型专利申请序列号 13/236,942中有所描述,其全部公开内容以引用方式并入本文。

在一些示例中,STT处理模块730可包括可识别字词的词汇,和/或可经 由语音字母转换模块731来访问该词汇。每个词汇字词可与以语音识别语音 字母表来表示的字词的一个或多个候选发音相关联。具体地,可识别字词的 词汇可包括与多个候选发音相关联的字词。例如,该词汇可包括与的候选发音相关联的字词“tomato”。此外,词汇字词可与基于 来自用户的先前语音输入的自定义候选发音相关联。此类自定义候选发音可 被存储在STT处理模块730中,并且可经由设备上的用户配置文件而与特定 用户相关联。在一些示例中,字词的候选发音可基于字词的拼写以及一个或 多个语言学和/或语音学规则来确定。在一些示例中,候选发音可手动生成, 例如基于已知的标准发音而手动生成。

在一些示例中,可基于候选发音的普遍性来对候选发音进行排名。例如, 候选语音的排名可高于因为前者为更常用的发音(例 如,在所有用户中,对于特定地理区域的用户而言,或者对于任何其他合适 的用户子集而言)。在一些示例中,可基于候选发音是否为与用户相关联的 自定义候选发音来对候选发音进行排名。例如,自定义候选发音的排名可高 于标准候选发音。这可用于识别具有偏离规范发音的独特发音的专有名词。 在一些示例中,候选发音可与一个或多个语音特征(诸如地理起源、国家、 或种族)相关联。例如,候选发音可能与美国相关联,而候选 发音可能与英国相关联。此外,候选发音的排名可基于被存储在 设备上的用户配置文件中的用户的一个或多个特征(例如,地理起源、国家、 种族等)。例如,可从用户配置文件来确定该用户与美国相关联。基于用户 与美国相关联,可将候选发音(与美国相关联)排得比候选发 音(与英国相关联)更高。在一些示例中,经排名的候选发音中 的一个候选发音可被选作预测发音(例如,最可能的发音)。

当接收到语音输入时,STT处理模块730可用于(例如,使用声音模型) 确定与该语音输入对应的音素,并且然后尝试(例如,使用语言模型)确定 匹配该音素的字词。例如,如果STT处理模块730可首先识别与该语音输入 的一部分对应的音素序列则其随后可基于词汇索引744来确定 该序列对应于字词“tomato”。

在一些示例中,STT处理模块730可使用模糊匹配技术来确定话语中的 字词。因此,例如,STT处理模块730可确定音素序列对应于字 词“tomato”,即使该特定音素序列不是该字词的候选音素序列。

在一些示例中,自然语言处理模块732可被配置为接收与语音输入相关 联的元数据。该元数据可指示是否对语音输入(或者对应于该语音输入的字 词或符号的序列)执行自然语言处理。如果元数据指示将执行自然语言处理, 则自然语言处理模块可从STT处理模块接收字词或符号的序列以执行自然语 言处理。然而,如果元数据指示将不执行自然语言处理,则可禁用自然语言 处理模块,并且可从数字助理输出来自STT处理模块的字词或符号的序列(例 如,文本串)。在一些示例中,元数据可进一步识别与用户请求对应的一个或多个域。基于该一个或多个域,自然语言处理器可禁用知识本体760中的 除该一个或多个域之外的域。这样,自然语言处理被约束为知识本体760中 的该一个或多个域。具体地,可使用知识本体中的该一个或多个域而不是其 他域来生成结构化查询(下文描述)。

数字助理的自然语言处理模块732(“自然语言处理器”)可获取由STT 处理模块730生成的字词或符号的序列(“符号序列”),并尝试将该符号 序列与由数字助理所识别的一个或多个“可执行意图”相关联。“可执行意 图”可表示可由数字助理执行并且可具有在任务流模型754中实现的相关联 的任务流的任务。相关联任务流可为数字助理为了执行任务而采取的一系列 经编程的动作和步骤。数字助理的能力范围可取决于已在任务流模型754中 实施并存储的任务流的数量和种类,或换句话讲,取决于数字助理所识别的 “可执行意图”的数量和种类。然而,数字助理的有效性还可取决于助理从 以自然语言表达的用户请求中推断出正确的“一个或多个可执行意图”的能 力。

在一些示例中,除从STT处理模块730获取的字词或符号的序列之外, 自然语言处理模块732还可(例如,从I/O处理模块728)接收与用户请求相 关联的上下文信息。自然语言处理模块732可任选地使用上下文信息来明确、 补充和/或进一步限定被包含在从STT处理模块730接收的符号序列中的信 息。该上下文信息可包括例如:用户偏好、用户设备的硬件和/或软件状态、 在用户请求之前、期间或之后不久收集的传感器信息、数字助理与用户之间 的先前交互(例如,对话)等。如本文所述,上下文信息可为动态的,并且 可随对话的时间、位置、内容以及其他因素而变化。

在一些示例中,自然语言处理可基于例如知识本体760。知识本体760 可为包含许多节点的分级结构,每个节点表示“可执行意图”或与“可执行 意图”或其他“属性”中的一者或多者相关的“属性”。如上所述,“可执 行意图”可表示数字助理能够执行的任务,即该任务为“可执行的”或可被 进行的。“属性”可表示与可执行意图或另一属性的子方面相关联的参数。 知识本体760中的可执行意图节点与属性节点之间的链接可定义由属性节点表示的参数如何与由可执行意图节点表示的任务相关。

在一些示例中,知识本体760可由可执行意图节点和属性节点组成。在 知识本体760内,每个可执行意图节点可直接链接至或通过一个或多个中间 属性节点链接至一个或多个属性节点。类似地,每个属性节点可直接链接至 或通过一个或多个中间属性节点链接至一个或多个可执行意图节点。例如, 如图7C所示,知识本体760可包括“餐厅预订”节点(即,可执行意图节 点)。属性节点“餐厅”、“日期/时间”(针对预订)和“同行人数”各自 可直接链接至可执行意图节点(即,“餐厅预订”节点)。

此外,属性节点“菜系”、“价格区间”、“电话号码”和“位置”可 为属性节点“餐厅”的子节点并各自可通过中间属性节点“餐厅”而被链接 至“餐厅预订”节点(即,可执行意图节点)。又如,如图7C所示,知识 本体760还可包括“设定提醒”节点(即,另一可执行意图节点)。属性节 点“日期/时间”(针对设定提醒)和“主题”(针对提醒)各自可被链接至 “设定提醒”节点。由于属性“日期/时间”可与进行餐厅预订的任务和设定 提醒的任务两者相关,因此属性节点“日期/时间”可被链接至知识本体760 中的“餐厅预订”节点和“设定提醒”节点两者。

可执行意图节点连同其链接的概念节点一起可被描述为“域”。在本论 述中,每个域可与相应可执行意图相关联并涉及与特定可执行意图相关联的 一组节点(以及这些节点之间的关系)。例如,在图7C中示出的知识本体 760可包括知识本体760内的餐厅预订域762的示例、以及提醒域764的示 例。餐厅预订域包括可执行意图节点“餐厅预订”、属性节点“餐厅”、“日 期/时间”和“同行人数”以及子属性节点“菜系”、“价格范围”、“电话 号码”和“位置”。提醒域764可包括可执行意图节点“设置提醒”、以及 属性节点“主题”和“日期/时间”。在一些示例中,知识本体760可由多个 域组成。每个域可与一个或多个其他域共享一个或多个属性节点。例如,除 了餐厅预订域762和提醒域764之外,“日期/时间”属性节点还可与许多不 同域(例如,行程安排域、旅行预订域、电影票域等)相关联。

尽管图7C示出了知识本体760内的两个示例域,但其他域可包括例如 “查找电影”、“发起电话呼叫”、“查找方向”、“安排会议”、“发送 消息”以及“提供问题的回答”、“阅读列表”、“提供导航指令”、“提 供针对任务的指令”等。“发送消息”域可与“发送消息”可执行意图节点 相关联,并且还可包括属性节点诸如“一个或多个接收人”、“消息类型” 和“消息正文”。属性节点“接收人”可进一步例如由子属性节点诸如“接 收人名称”和“消息地址”来限定。

在一些示例中,知识本体760可包括数字助理能够理解并对其起作用的 所有域(以及因此可执行的意图)。在一些示例中,知识本体760可诸如通 过添加或移除整个域或节点,或者通过修改知识本体760内的节点之间的关 系来进行修改。

在一些示例中,可将与多个相关可执行意图相关联的节点群集在知识本 体760中的“超级域”下。例如,“旅行”超级域可包括与旅行有关的属性 节点和可执行意图节点的群集。与旅行有关的可执行意图节点可包括“航班 预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找兴趣点”, 等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点可具有多 个共用的属性节点。例如,针对“机票预订”、“酒店预订”、“汽车租赁”、 “路线规划”和“寻找兴趣点”的可执行意图节点可共享属性节点“起始位 置”、“目的地”、“出发日期/时间”、“到达日期/时间”和“同行人数” 中的一者或多者。

在一些示例中,知识本体760中的每个节点可与和由节点代表的属性或 可执行意图有关的一组字词和/或短语相关联。与每个节点相关联的相应组的 字词和/或短语可为与节点相关联的所谓的“词汇”。可将与每个节点相关联 的相应组的字词和/或短语存储在与由节点所表示的属性或可执行意图相关 联的词汇索引744中。例如,返回图7B,与“餐厅”属性的节点相关联的词 汇可包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、“吃”、“披萨”、“快餐”、“膳食”等。又如,与“发起电话呼叫”可执行意图的节 点相关联的词汇可包括字词和短语,诸如“呼叫”、“打电话”、“拨打”、 “与……通电话”、“呼叫该号码”、“打电话给”等。词汇索引744可任 选地包括不同语言的字词和短语。

自然语言处理模块732可从STT处理模块730接收符号序列(例如,文 本串),并确定符号序列中的字词牵涉哪些节点。在一些示例中,如果发现 符号序列中的字词或短语(经由词汇索引744)与知识本体760中的一个或 多个节点相关联,则该字词或短语可“触发”或“激活”这些节点。基于已 激活节点的数量和/或相对重要性,自然语言处理模块732可选择可执行意图 中的一个可执行意图作为用户意图使数字助理执行的任务。在一些示例中, 可选择具有最多“已触发”节点的域。在一些示例中,可选择具有最高置信 度(例如,基于其各个已触发节点的相对重要性)的域。在一些示例中,可 基于已触发节点的数量和重要性的组合来选择域。在一些示例中,在选择节 点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译来自用户的 类似请求。

用户数据748可包括特定于用户的信息,诸如特定于用户的词汇、用户 偏好、用户地址、用户的默认语言和第二语言、用户的联系人列表、以及每 位用户的其他短期或长期信息。在一些示例中,自然语言处理模块732可使 用特定于用户的信息来补充用户输入中所包含的信息,以进一步限定用户意 图。例如,针对用户请求“邀请我的朋友参加我的生日聚会”,自然语言处 理模块732可能够访问用户数据748以确定“朋友”是哪些人以及“生日聚 会”将于何时何地举行,而无需用户在其请求中明确地提供此类信息。

基于符号串搜索知识本体的其他细节在于2008年12月22日提交的标 题为“Method and Apparatus for Searching Using An Active Ontology”的美国 实用新型专利申请序列号12/341,743中有所描述,其全部公开内容以引用方 式并入本文。

在一些示例中,一旦自然语言处理模块732基于用户请求而识别出可执 行意图(或域),自然语言处理模块732便可生成结构化查询,以表示所识 别的可执行意图。在一些示例中,结构化查询可包括针对可执行意图的域内 的一个或多个节点的参数,并且该参数中的至少一些参数填充有在用户请求 中指定的特定信息和要求。例如,用户可说“帮我在寿司店预订晚上7点的 座位。”在这种情况下,自然语言处理模块732可能够基于用户输入来将可 执行意图正确地识别为“餐厅预订”。根据知识本体,“餐厅预订”域的结 构化查询可包括参数诸如{菜系}、{时间}、{日期}、{同行人数}等。在一些 示例中,基于语音输入和使用STT处理模块730从语音输入得出的文本,自 然语言处理模块732可针对餐厅预订域来生成部分结构化查询,其中部分结 构化查询包括参数{菜系=“寿司类”}以及{时间=“晚上7点”}。然而,在 该示例中,用户话语包含不足以完成与域相关联的结构化查询的信息。因此, 基于当前可用的信息,在结构化查询中可能未指定其他必要的参数,诸如{同 行人数}和{日期}。在一些示例中,自然语言处理模块732可利用所接收的上 下文信息来填充结构化查询的一些参数。例如,在一些示例中,如果请求“附 近的”寿司店,自然语言处理模块732可利用来自用户设备的GPS坐标来填 充结构化查询中的{位置}参数。

在一些示例中,自然语言处理模块732可将所生成的结构化查询(包括 任何已完成的参数)传送至任务流处理模块736(“任务流处理器”)。任 务流处理模块736可被配置为接收来自自然语言处理模块732的结构化查询, (必要时)完成结构化查询,并且执行“完成”用户最终请求所需的动作。 在一些示例中,完成这些任务所必需的各种过程可在任务流模型754中提供。 在一些示例中,任务流模型754可包括用于获取来自用户的附加信息的过程, 以及用于执行与可执行意图相关联的动作的任务流。

如上所述,为了完成结构化查询,任务流处理模块736可能需要发起与 用户的附加对话,以便获取附加信息和/或弄清可能有歧义的话语。当有必要 进行此类交互时,任务流处理模块736可调用对话流处理模块734。以参与 和用户的对话。在一些示例中,对话流处理模块734可确定如何(和/或何时) 向用户请求附加信息,并且接收和处理用户响应。该问题可通过I/O处理模 块728而被提供至用户并可从用户接收回答。在一些示例中,对话处理模块 734可经由音频输出和/或视觉输出来向用户呈现对话输出,并接收经由口头 或物理(例如,点击)响应的来自用户的输入。继续上述示例,当任务流处 理模块736调用对话流处理模块734来确定针对与域“餐厅预订”相关联的 结构化查询的“同行人数”和“日期”信息时,对话流处理模块734可生成 问题诸如“一行几位?”和“预订哪天?”以传递给用户。一旦从用户接收 到回答,对话流处理模块734便可利用缺失信息来填充结构化查询,或将信息传递给任务流处理模块736以根据结构化查询来完成缺失信息。

一旦任务流处理模块736已针对可执行意图完成结构化查询,任务流处 理模块736便可着手执行与可执行意图相关联的最终任务。因此,任务流处 理模块736可根据被包含在结构化查询中的特定参数来执行任务流模型中的 步骤和指令。例如,针对可执行意图“餐厅预订”的任务流模型可包括用于 联系餐厅并在特定时间实际上请求针对特定同行人数的预订的步骤和指令。 例如,使用结构化查询诸如:餐厅预订、{餐厅=ABC咖啡馆、日期=3/12/2012、 时间=7pm、同行人数=5,}任务流处理模块736可执行以下步骤:(1)登录ABC咖啡馆的服务器或诸如之类的餐厅预订系统,(2)以网站 上的形式输入日期、时间和同行人数信息,(3)提交表格,以及(4)在用户的日 历上形成针对预订的日历条目。

在一些示例中,任务流处理模块736可在服务处理模块738(“服务处 理模块”)的辅助下完成用户输入中所请求的任务或者提供用户输入中所请 求的信息性回答。例如,服务处理模块738可代表任务流处理模块736来发 起电话呼叫、设置日历条目、调用地图搜索、调用用户设备上安装的其他用 户应用程序或与该其他应用程序进行交互、以及调用第三方服务(例如,餐 厅预订门户网站、社交网站、银行门户网站等)、或与第三方服务进行交互。 在一些示例中,可通过服务模型756中的相应服务模型来指定每项服务所需 的协议和应用编程接口(API)。服务处理模块738可针对服务来访问适当的服 务模型,并依据服务模型根据该服务所需的协议和API来生成针对该服务的 请求。

例如,如果餐厅已启用在线预订服务,则餐厅可提交服务模型,该服务 模型指定进行预订的必要参数以及将必要参数的值传送至在线预订服务的 API。在被任务流处理模块736请求时,服务处理模块738可使用被存储在服 务模型中的web地址来建立与在线预订服务的网络连接,并将预订的必要参 数(例如,时间、日期、同行人数)以符合在线预订服务的API的格式发送 至在线预订接口。

在一些示例中,自然语言处理模块732、对话处理模块734以及任务流 处理模块736可被共同且反复地使用,以推断并限定用户的意图、获取信息, 以进一步明确并细化用户意图并最终生成响应(即,输出至用户或完成任务) 以满足用户的意图。所生成的响应可以是对语音输入的至少部分地满足用户 的意图的对话响应。此外,在一些示例中,所生成的响应可被输出为语音输 出。在这些示例中,所生成的响应可被发送到语音合成模块740(例如,语 音合成器),在语音合成模块中,可处理所生成的响应以将对话响应以语音 形式合成。在其他示例中,所生成的响应可以是与满足语音输入中的用户请 求相关的数据内容。

语音合成模块740可被配置为合成语音输出以呈现给用户。语音合成模 块740基于数字助理提供的文本来合成语音输出。例如,所生成的对话响应 可为文本串的形式。语音合成模块740可将文本串转换成可听语音输出。语 音合成模块740可使用任何合适的语音合成技术,以便从文本生成语音输出, 包括但不限于:拼接合成、单位选择合成、双音素合成、特定于域的合成、 共振峰合成、发音合成、基于隐马尔可夫模型(HMM)的合成、以及正弦波 合成。在一些示例中,语音合成模块740可被配置为基于与这些字词对应的 音素串来合成各个字词。例如,音素串可与所生成的对话响应中的字词相关 联。音素串可被存储在与字词相关联的元数据中。语音合成模型740可被配 置为直接处理元数据中的音素串,以合成语音形式的字词。

在一些示例中,替代使用语音合成模块740(或除此之外),可在远程 设备(例如,服务器系统108)上执行语音合成,并且可将合成的语音发送 至用户设备以输出给用户。例如,这可发生在一些具体实施中,其中在服务 器系统处生成数字助理的输出。并且由于服务器系统通常比用户设备具有更 强的处理能力或更多的资源,有可能获取比客户端侧合成将实现的质量更高 的语音输出。

有关数字助理的附加细节可在于2011年1月10日提交的标题为 “IntelligentAutomated Assistant”的美国实用新型专利申请号12/987,982和 于2011年9月30日提交的标题为“Generating and Processing Task Items That Represent Tasks toPerform”的美国实用新型专利申请号13/251,088中找到, 其全部公开内容以引用方式并入本文。

现将注意力转向零延迟数字助理。

3.零延迟数字助理

如前所述,在用户通过向设备提供(或开始提供)适当输入来请求数字 助理会话时的时间与在用户能够开始向数字助理提供语音输入时的时间之间 通常存在一些延迟。此类延迟可从100毫秒到900毫秒(甚至更长)变动, 并且可能长到足以被用户视为明显的延迟而感知。如果用户开始过快得讲话, 则设备忽略(或错过)语音输入的在延迟经过之前的部分。此类设备行为降 低了数字助理的效率,并且可能令用户烦恼或困惑。

上述延迟可包括硬件延迟,诸如激活用于启动数字助理会话的电路所需 的时间或激活数字助理所需的诸如麦克风或扬声器等音频部件或电路所需的 时间。

该延迟还可包括软件控制的延迟。例如,一些设备不开始启动数字助理 会话,直到以足够的置信度确定用户已通过提供适当输入来请求启动数字助 理。例如,如果与用于启动数字助理会话的请求对应的用户输入为长时间按 钮按压,则设备可在开始启动数字助理软件之前等待,直到经过整个所需的 按钮按压持续时间。在一些实施方案中,设备可向数字助理传输对麦克风(或 其他语音部件)的控制,直到其准备好启动数字助理。该方法可避免从另一 应用程序诸如电话呼叫应用程序或语音输入应用程序过早撤销对麦克风或扬 声器的控制。

与上述硬件和软件延迟相关联的一个缺点在于用户在向数字助理提供 诸如语音输入等请求之前,通常必须等到经过该延迟。然而,用户在提供请 求之前可能并不知道要等多久。因此,设备可能需要向用户提供数字助理已 准备好接收请求的可见提示或可听提示,如8A所示。

在图8A的示例中,设备在时间T1处检测到请求数字助理的用户输入(或 用户输入的开始),并且然后在经过延迟之后在时间T2处提示用户向数字助 理提供语音输入。

对于设备来说,希望允许用户在请求数字助理时立即开始提供语音输 入,而无需等待经过延迟。例如,可能希望允许用户在与(1)确定用户输入是 否与启动数字助理的请求对应,以及(2)实际上启动数字助理相关联的软件或 硬件延迟均已完全经过之前,在该用户一开始提供请求数字助理的输入便向 数字助理提供语音输入。

在一些实施方案中,设备可通过使用低功率处理器连续捕获来自麦克风 的音频输入并将其记录到设备上的存储缓冲器来实现这一目标。一旦数字助 理已被启动,该设备继而可将缓冲器内容的一部分或全部,包括在请求启动 数字助理会话的用户输入之前或期间捕获的语音输入(被提供至数字助理)。 这样,设备可实现用户可视之为“零延迟”的数字助理,而无需过度减少电 池寿命,如下文所详述。

如图8B所述,在一些实施方案中,设备包括与设备上的主处理器808 分开的低功率管理器810。低功率处理器可用于将音频数据写到存储缓冲器 812,从而保持用户语音输入的历史记录。在一些实施方案中,低功率处理器 比主处理器消耗更少功率,执行与主处理器不同的计算机可执行指令,并且/ 或者物理上小于主处理器。因此,低功率处理器能够连续地将音频数据写到 存储缓冲器,而无需使电池寿命受损害。

在一些实施方案中,主处理器808为执行例如操作系统和包括数字助理 等应用程序的应用处理器。

在一些实施方案中,即使当主处理器808在低功率模式中操作的情况下, 低功率处理器810也处于活动态中并在正常模式中操作。在一些示例中,如 果主处理器在数量或操作类型上受限并且该主处理器仍能够在低功率模式中 操作时进行执行,则主处理器处于低功率模式中。在一些示例中,当主处理 器在处理器电路的一部分禁用的情况下操作时,该主处理器处于低功率模式 中。在一些示例中,在主处理器以相对于在主处理器于正常模式中操作时的 值更低的时钟速度、更低的电压或更低的电流操作的情况下,主处理器处于 低功率模式中。在一些示例中,主处理器必须退出低功率模式以提供某种功 能,诸如启动或执行应用程序。

在一些实施方案中,设备从设备上的麦克风804连续捕获音频输入并使 用低功率处理器810来将表示从麦克风804所接收的音频输入的音频数据写 到设备上的存储缓冲器812。在一些实施方案中,设备捕获音频输入并将音 频数据连续地或以预先确定的采样频率写到存储缓冲器812,而不论设备是 否已检测到任何音频输入。在其他实施方案中,仅在设备检测到音频输入的 情况下,设备才使用低功率处理器来将音频数据写到缓冲器;例如,当设备 检测到用户正对麦克风讲话时。因此,在一些实施方案中,设备使用低功率 处理器来监测用于音频输入的麦克风,并且在检测到此类音频输入的情况下, 设备使用低频率处理器来将表示音频输入的音频数据写到存储缓冲器。

在一些实施方案中,存储缓冲器为环形缓冲器。环形缓冲器为固定长度 存储缓冲器,该固定长度存储缓冲器在填充有数据的情况下,利用始于缓冲 器的起始的新数据而被覆写。在一些实施方案中,存储缓冲器大到足以存储 由麦克风所捕获的音频输入的预先确定的持续时间。例如,存储缓冲器可大 到足以存储音频输入的1秒、2秒或3秒。

在一些实施方案中,如果设备在使用麦克风捕获音频输入时检测到用户 输入,则设备使用低功率处理器来确定用户输入是否对应于用于启动数字助 理会话的请求。用户输入可为例如按钮按压或触敏显示器上的接触等。

在一些实施方案中,如果设备确定用户输入已满足预先确定的标准并且 因此对应于用于启动数字助理的请求,则设备立即开始基于存储缓冲器的内 容的至少一部分来识别并执行计算任务。所请求的计算任务可为用于例如查 找信息的请求或用于要求设备执行诸如进行电话呼叫、发送文本、进行预订、 启动应用程序等功能的请求,如前文相对于数字助理系统所论述的。

在一些实施方案中,设备通过在主处理器上启动数字助理会话并将存储 缓冲器的内容的至少一部分提供至数字助理来识别并执行任务。由于存储缓 冲器可包含在设备检测到用户输入之前、期间和之后捕获并写入的音频数据, 因此缓冲器提供可用于减小或消除用户请求(经由用户输入)启动数字助理 会话时的时间和用户能够向数字助理提供语音输入时的时间之间的延迟的音 频历史记录。

在一些实施方案中,设备通过确定用户输入是否满足某一预先确定的标 准来确定用户输入是否对应于用于启动数字助理的请求。在一些实施方案中, 标准包括在按钮按压符合最短持续时间时所满足的标准;即,按纽按压输入 必须超过阈值持续时间,以便被识别为用于启动数字助理会话的请求。阈值 按钮按压持续时间可为例如100毫秒、200毫秒、300毫秒、400毫秒、500 毫秒、600毫秒、700毫秒、800毫秒或900毫秒。

在一些实施方案中,用于确定用户输入是否对应于用于启动数字助理会 话的请求的标准包括当在显示器上的特定位置处检测到触摸显示器上的接触 时,当接触为特定的接触类型(例如,扫动或双击)时,和/或当设备检测到 已选择特定图标时所满足的标准。

在一些实施方案中,设备使用低功率处理器来分析存储缓冲器中的音频 数据,以确定音频数据是否包括与用于启动数字助理会话的请求对应的“触 发短语”。此类触发短语可为例如短语“嘿,Siri”或“唤醒”或另外的短语、 字词或声音。

在一些实施方案中,与用于启动数字助理的请求对应的用户输入为包含 触发术语的语音输入。当设备使用低功率处理器来确定存储缓冲器包括触发 术语时,设备在主处理器上启动数字助理。因此,在一些实施方案中,标准 包括在存储缓冲器的至少一部分包括触发短语时所满足的标准。

在一些实施方案中,标准包括当设备确定授权用户讲出触发短语时所满 足的标准。设备可通过将存储缓冲器中的音频数据的语音或语音特征与授权 用户的一组已知特征进行比较来确定授权用户是否讲出触发短语。此类特征 可包括特征谱模式、语音模式、语调等。

在一些实施方案中,如果当设备确定(使用低功率处理器)用户输入已 满足预先确定的标准时,主处理器正在低功率模式中操作,则设备使得主处 理器退出低功率模式并启动数字助理会话。在一些实施方案中,设备激活设 备上的音频电路以用于接收对数字助理的后续语音输入并对其进行响应。此 类音频电路可包括例如可被数字助理用于接收来自用户的音频输入或将音频 输出提供至用户的附加麦克风或音频输出硬件(诸如扬声器)。在一些实施 方案中,启动数字助理会话包括向数字助理会话传输对此类音频电路的控制。

在一些实施方案中,启动数字助理会话包括将与数字助理会话相关联的 用户界面显示在设备的显示器(诸如触摸屏104)上。用户界面可包括例如 与数字助理会话相关联的一个或多个示能表示、波形或文本输出。图8A示 出了与数字助理会话相关联的示例性用户界面802。

在一些实施方案中,与数字助理相关联的用户界面以全屏视图被显示, 如图8A所示。在一些实施方案中,在设备于主处理器上启动数字助理会话 时,设备利用对与数字助理相关联的用户界面的显示来代替对另一应用程序 视图的显示。

图8C示出了根据一些实施方案实现的零延迟数字助理的概念性示例。 在该示例中,用户不必等待在调用数字助理之后向数字助理提供语音输入; 事实上,在该示例中,用户在调用数字助理之前开始提供语音输入;即,在 已讲出请求的情况下,用户按压与用于启动数字助理的请求对应的按钮。设 备继而使用语音输入来识别并执行请求任务,如下所述。

如图8C所示,在时间T1处,当设备200正捕获音频输入并将其写到存 储缓冲器(在该案例中,环形缓冲器816)时,设备检测到用户输入(在该 案例中,按钮按压)。需注意,在时间T1处,当用户检测到按钮按压时,用 户已开始提供语音输入“苏黎世现在是几点?”并且该术语的一部分已被写到 环形缓冲器816。设备200确定用户输入满足与用于启动数字助理的请求对 应的预先确定的标准(例如,按钮按压满足阈值持续时间),则设备使用主处理器来基于环形缓冲器816的内容的一部分814来识别并执行任务。缓冲 器的一部分814包括查询“苏黎世现在是几点?”并且设备识别并执行确定 苏黎世现在是几点的任务。设备通过显示文本“苏黎世现在是上午9:41”在 显示器上向用户提供任务的结果。在一些实施方案中,设备还可提供音频输 出以向用户呈现任务的结果。

在图8C所示的示例中,设备不需要来自用户的任何附加输入以识别并 执行任务,并且设备不提示用户输入,如之前图8A中所述的那样。

图8D示出了根据一些实施方案实现的零延迟数字助理的概念性示例。 该示例类似于图8C所述的示例,但在该案例中,用户输入不满足预先确定 的标准,从而不被解译为用于启动数字助理的请求;例如,按钮未被按压足 够长时间以满足阈值持续时间。在这种情况下,尽管设备已捕获语音请求并 将其写入存储缓冲器,但设备并不继续基于存储缓冲器的内容识别和执行任 务,并且设备并不启动数字助理会话。随后,缓冲器的内容将被新的音频数 据覆写。

图8E示出了根据一些实施方案实现的零延迟数字助理的概念性示例。 在该示例中,设备确定存储缓冲器包括预先确定的触发短语,并且作为响应, 设备立即基于存储缓冲器中的内容识别并执行任务。

在图8E所示的示例中,在时间T1处,当主处理器处于低功率模式并且 设备200正在捕获音频输入并使用低功率处理器来将其写入环形缓冲器816 时,设备确定(使用低功率处理器)存储缓冲器的第一部分818包括与用于 启动数字助理的请求相关联的触发短语。响应于该确定,设备使得主处理器 退出低功率模式并基于环形缓冲器816内容的第二部分820来识别和执行任 务。因此,在该示例中,用户讲出与数字助理相关联的触发术语并立即开始 向数字助理提出请求。设备继而基于存储缓冲器的内容的一部分来识别并执 行任务,并且将任务的结果提供至用户。在该示例中,设备不需要来自用户 的任何附加输入以识别并执行任务,并且不提示用户输入,如之前图8A中 所述的那样。

如相对于图1所述的,数字助理系统可包括能够用于例如远程地执行自 然语言处理并识别任务的远程服务器系统108。在一些实施方案中,设备将 存储缓冲器的内容的一部分或全部提供至与数字助理相关联的一个或多个远 程服务器。设备可经由例如有线或无线网络连接来将存储缓冲器的内容提供 至服务器。

在一些实施方案中,设备可包括多个麦克风。在这种情况下,设备可使 用一个麦克风来捕获音频输入并使用低功率处理器来将其写到存储缓冲器, 并且设备可使用第二麦克风来捕获在主处理器上执行的应用程序或功能(诸 如电话呼叫或数字助理)所使用的音频。因此,在一些实施方案中,设备可 使用第一麦克风捕获音频输入并将其写入存储缓冲器,与此同时使用第二麦 克风执行另一基于音频的应用程序(诸如电话呼叫)。

在一些实施方案中,当设备确定用户输入已满足预先确定的标准从而用 户已请求数字助理会话时,设备将存储缓冲器的内容的一部分或全部提供至 数字助理,将对第二麦克风的控制传输至数字助理(在其被分配给另一应用 程序的情况下),并开始将由第二麦克风所检测到的后续音频流式传输(例 如,连续地提供)至数字助理。

图9示出了根据各种示例的用于实现零延迟数字助理的方法900。可使 用实施数字助理的一个或多个电子设备来执行方法900。方法900中的一些 操作可被组合,一些操作的次序可被改变,并且一些操作可被省略。在一些 示例中,方法900可使用实现数字助理的客户端-服务器系统(例如,系统100) 执行。方法900的各个框可以以任何合适的方式分布于一个或多个计算机、 系统或电子设备中。例如,在一些示例中,方法900可完全在电子设备(例 如,设备104,200,400或600)上执行。本文档中对任何一个特定的电子设 备(104,200,400或600)的引用应被理解为涵盖所有的电子设备(104,200, 400或600),除非这些电子设备(104,200,400或600)中的一个或多个电 子设备被本文的明确含义排除在外。例如,在若干个示例中使用的电子设备 (104,200,400或600)为智能电话。然而,方法900并不限于与智能电话一 起使用;方法900可在任何其他合适的电子设备(诸如平板电脑、台式计算机、膝上型电脑或智能手表)上实现。拥有更强计算能力和更长电池寿命的 电子设备可执行更多方法900的框。方法900的框的分布不需为是固定的, 并且可根据网络连接带宽、网络连接质量、服务器负载、电子设备(例如, 104,200,400,600)处的计算机功率和电池功率的可用性和/或其他因素而变 化。此外,虽然以下讨论将方法900描述为由数字助理系统(例如,系统100 和/或数字助理系统700)执行,但是应当认识到,该方法或方法的任何特定部分不限于任何特定设备、设备的组合或实施来执行。该方法的描述由图8B 至图8D进一步示出和例证,并且上文的描述与这些附图有关。

如下所述,方法900提供了一种用于实现直观的“零延迟”数字助理的 方式。该方法减少了用户调用数字助理并向其提供请求的认知负担,从而创 建更有效的人机界面。对于电池驱动的计算设备,使得用户立即开始向数字 助理提供语音输入减少延迟并减少错误(由不当计时的语音输入所致),从 而节省功率并且增加电池两次充电之间的时间间隔。

在方法900的框902处,电子设备(例如,104,200,400,600)从麦克 风(例如,麦克风213)捕获音频输入。音频输入可包括用户语音,诸如语 音用户请求。

在框904处,设备使用第一处理器(例如,低功率处理器810)来将表 示所捕获的音频输入的数据写到存储缓冲器(例如,存储缓冲器812)。存 储缓冲器可为例如如图8C所示的环形缓冲器。

在框906处,在设备使用麦克风捕获音频输入时,设备检测用户输入。 用户输入可为例如如图8C所示的按钮按压,或触摸屏上(例如,触摸屏212 上)的接触或麦克风所捕获的语音输入。

在框908处,设备确定在框906处检测到的用户输入是否满足预先确定 的标准。预先确定的标准可包括例如按钮按压的最短持续时间或触摸屏上接 触的接触类型(例如,轻击或轻扫),或存储缓冲器中的特定触发短语的存 在。

在框910处,根据确定用户输入满足预先确定的标准,设备使用第二处 理器(例如,图8B所示的主处理器808)基于存储缓冲器的至少一部分来识 别并执行计算任务。在一些实施方案中,设备可使用第二处理器基于在设备 于框906处检测到用户输入之前、期间和/或之后所写入的缓冲器的一部分来 识别并执行任务。

在框912处,根据确定用户输入不满足预先确定的标准,设备放弃识别 任务,如图8D所示。

图10示出了根据各种示例的用于实现零延迟数字助理的方法1000。可 使用实施数字助理的一个或多个电子设备来执行方法1000。方法1000中的 一些操作可被组合,一些操作的次序可被改变,并且一些操作可被省略。在 一些示例中,方法1000可使用实现数字助理的客户端-服务器系统(例如, 系统100)来执行。方法1000的各个框可以任何合适的方式被分布在一个或 多个计算机、系统或电子设备中。例如,在一些示例中,方法1000可完全在 电子设备(例如,设备104,200,400或600)上被执行。本文档中对任何一 个特定电子设备(104,200,400或600)的引用应被理解为涵盖所有的电子设 备(104,200,400或600),除非这些电子设备(104,200,400或600)中的 一个或多个电子设备被本文的明确含义排除在外。例如,在若干个示例中使 用的电子设备(104,200,400或600)为智能电话。然而,方法1000并不限 于与智能电话一起使用;方法1000可在任何其他合适的电子设备(诸如平板电脑、台式计算机、膝上型电脑或智能手表)上实现。拥有更强计算能力和 更长电池寿命的电子设备可执行更多方法1000的框。方法1000的框的分布 不需要为固定的,并且可根据网络连接带宽、网络连接质量、服务器负载、 电子设备(例如,104,200,400,600)处的计算机功率和电池功率的可用性和 /或其他因素而变化。此外,虽然以下讨论将方法1000描述为由数字助理系 统(例如,系统100和/或数字助理系统700)执行,但是应当认识到,该方 法或方法的任何特定部分不限于任何特定设备、设备的组合或实施来执行。 方法1000的描述由图8B和图8E进一步示出和例证,并且上文的描述与这 些附图有关。

如下文所述,方法1000提供用于实现零延迟数字助理的直观方式。该 方法减少了用户调用数字助理并向其提供语音请求的认知负担,从而创建更 有效的人机界面。对于电池驱动的计算设备,使得用户立即开始向数字助理 提供语音输入减少延迟并减少错误(由不当计时的语音输入所致),从而节 省功率并且增加电池两次充电之间的时间间隔。

在方法1000中,在电子设备(例如,设备104,200,400,600)上的第二 处理器(例如,主处理器808)处于低功率模式中时,设备执行框1002,1004 和1006。

在框1002处,电子设备连续从麦克风(例如,麦克风213)捕获音频输 入。音频输入可包括用户语音,诸如语音用户请求。在框1004处,设备使用 第一处理器(例如,低功率处理器810)来表示所捕获的音频输入的数据连 续写到存储缓冲器(例如,存储缓冲器812)。存储缓冲器可为例如如图8E 所示的环形缓冲器。在框1006处,设备使用第一处理器来确定存储缓冲器的 内容的至少第一部分是否满足预先确定的标准。该标准可包括在存储缓冲器 的内容的至少第一部分包括预先确定的例如如图8E所示的触发短语时所满 足的标准。

在框1008处,根据确定缓冲器的至少第一部分满足预先确定的标准, 设备使得第二处理器退出低功率模式。

在于框1008处使得第二处理器退出低功率模式之后,在框1010处,设 备使用第二处理器基于存储缓冲器的至少第二部分来识别计算任务。在一些 实施方案中,第二部分可为在第一部分之后写入的存储缓冲器的一部分(例 如,在触发短语之后讲出的口头请求)。在一些实施方案中,第二部分可为 包括第一部分或在第一部分之前写入的一部分。在一些实施方案中,第二部 分为整个存储缓冲器。

在框1012处,设备使用第二处理器来执行在框1010处识别的计算任务。 第二处理器可执行相对于图1所述的计算任务。

在框1014处,根据确定缓冲器的至少第一部分不满足预先确定的标准, 设备放弃使得第二处理器退出低功率模式。

根据一些实施方案,图11示出了根据各种所述实施方案的原理进行配 置的电子设备1100的示例性功能框图。根据一些实施方案,电子设备1100 的功能块被配置为执行上文所述的技术。设备1100的功能块任选地由执行各 种所述示例的原理的硬件、软件,或硬件和软件的组合来实现。本领域的技 术人员应当理解,图11中所述的功能块任选地被组合或被分离为子块,以便 实现各种所述示例的原理。因此,本文的描述任选地支持本文所述的功能块 的任何可能的组合或分离或进一步限定。

如图11所示,电子设备1100包括:被配置为捕获音频输入的麦克风单 元1102;被配置为利用表示由麦克风单元捕获的音频输入的音频数据而被写 入的存储缓冲器单元1104;以及任选地被配置为显示用户界面的显示单元 1106并且被配置为接收或输出音频内容的音频部件单元1108。设备1100包 括耦接到麦克风单元1102、存储缓冲器单元1104和任选地显示单元1106的 处理单元1110。处理单元1110包括至少两个处理器(例如,低功率处理器 810和主处理器808)。

处理单元被配置为从麦克风单元1102捕获音频输入(例如,利用捕获 单元1112);使用第一处理器来将表示所捕获的音频输入的数据写到存储缓 冲器单元1104(例如,利用写入单元1114);在使用麦克风单元捕获音频输 入时检测用户输入(例如,使用检测单元1116);并且使用第一处理器来确 定用户输入是否已满足预先确定的标准。处理单元被进一步配置为:根据确 定用户输入已满足标准,使用第二处理器基于存储缓冲器的内容的至少一部 分来识别计算任务(例如,利用识别单元1120);并且根据确定用户输入尚 未满足标准,放弃识别计算任务。

在一些实施方案中,存储缓冲器的内容的至少一部分包括在检测到用户 输入之前写到缓冲器的数据。

在一些实施方案中,存储缓冲器的内容的至少一部分包括在用户输入的 检测期间写到缓冲器的数据。

在一些实施方案中,处理单元被进一步配置为根据确定用户输入已满足 标准,执行所识别的计算任务(例如,利用指向单元1122)。

在一些实施方案中,识别计算任务包括在第二处理器上启动数字助理会 话。

在一些实施方案中,数字助理识别并执行计算任务。

在一些实施方案中,启动数字助理会话包括在显示单元1106上显示与 数字助理会话相关联的用户界面。

在一些实施方案中,与数字助理相关联的用户界面以全屏视图被显示。

在一些实施方案中,启动数字助理会话包括激活设备上的一个或多个音 频部件(例如,在音频部件单元1108中)(例如,利用激活单元1124)。

在一些实施方案中,将存储缓冲器的至少一部分提供至与数字助理相关 联的远程服务器。

在一些实施方案中,处理单元被进一步配置为根据确定用户输入已满足 标准:激活设备上的第二麦克风(例如,在麦克风单元1102中)(例如,利 用激活单元1124);并且将由第二麦克风所检测到的音频流式传输至数字助 理(例如,利用传输单元1126)。

在一些实施方案中,用户输入为按钮按压。

在一些实施方案中,标准包括在按钮按压超过预先确定的阈值持续时间 时满足的标准。

在一些实施方案中,用户输入为由麦克风捕获并写到缓冲器的音频数 据。

在一些实施方案中,标准包括在设备确定缓冲器的至少第二部分包括表 示预先确定的触发器的音频数据时满足的标准。

在一些实施方案中,标准包括在设备确定音频数据对应于授权用户时满 足的标准。

在一些实施方案中,在第二处理器处于低功率模式中时捕获音频输入, 并且处理单元被进一步配置为:进一步根据确定用户输入已满足标准,使得 (例如,使得单元1128)第二处理器退出低功率模式。

以上参考图9描述的操作任选地由图2A-图2B或图11中描绘的部件来 实现。例如,捕获操作902、写入操作904、检测操作706和确定操作908 任选地由外围设备接口218、存储器202、事件分类器270、事件识别器280 和事件处理程序290来实现。外围设备接口218可捕获音频输入以将其写入 存储器202中的存储缓冲器中。事件分类器270中的事件监视器171检测用 户输入,并且事件分配器模块274将事件信息递送到应用程序236-1。应用程 序236-1的相应事件识别器280将事件信息与相应事件定义286进行比较, 并且确定用户输入是否满足与预定义事件或子事件(诸如,用于启动数字助 理的请求)对应的预先确定的标准。当检测到相应的预定义事件或子事件时, 事件识别器280激活与对该事件或子事件的检测相关联的事件处理程序290。 事件处理程序290任选地利用或调用数据更新器276或对象更新器277,以 更新应用程序内部状态292。在一些实施方案中,事件处理程序290访问相应GUI更新器278,以更新由应用程序所显示的内容。类似地,本领域的技 术人员会清楚地知道可如何基于图2A至图2B中描绘的部件来实现其他过 程。

根据一些实施方案,图12示出了根据各种所述实施方案的原理进行配 置的电子设备1200的示例性功能框图。根据一些实施方案,电子设备1200 的功能块被配置为执行上文所述的技术。设备1200的功能块任选地由执行各 种所述示例的原理的硬件、软件,或硬件和软件的组合来实现。本领域的技 术人员应当理解,图12中所述的功能块任选地被组合或被分离为子块,以实 现各种所述示例的原理。因此,本文的描述任选地支持本文所述的功能块的 任何可能的组合或分离或进一步限定。

如图12所示,电子设备1200包括:被配置为捕获音频输入的麦克风单 元1202;被配置为利用表示由麦克风单元捕获的音频输入的音频数据而被写 入的存储缓冲器单元1204;以及任选地被配置为显示用户界面的显示单元 1206并且被配置为接收或输出音频内容的音频部件单元1208。设备1200包 括耦接到麦克风单元1202、存储缓冲器单元1204以及任选地显示单元1206 和音频部件单元1208的处理单元1210。处理单元1200包括至少两个处理器 (例如,低功率处理器810和主处理器808)。

处理单元被配置为在第二处理器处于低功率模式中时:从麦克风单元 1202捕获音频输入(例如,利用捕获单元1212);使用第一处理器来将表示 所捕获的音频输入的数据写到存储缓冲器单元1204(例如,利用写入单元 1214),其中音频输入被连续地捕获并写到存储缓冲器单元;确定存储缓冲 器单元的至少第一部分是否满足预先确定的标准(例如,使用确定单元 1216);根据确定存储缓冲器单元的至少第一部分满足预先确定的标准:使得第二处理器退出低功率模式(例如,利用使得单元1228);使用第二处理 器基于存储缓冲器单元的内容的至少第二部分来识别计算任务(例如,利用 识别单元1218);以及使用用第二处理器来执行所识别的任务(例如,使用 执行单元1224)。处理单元被进一步配置为根据确定存储缓冲器单元的至少 第一部分不满足标准而放弃使得第二处理器退出低功率模式。

在一些实施方案中,第二处理器立即执行所识别的任务,而无需来自用 户的另外的输入。

在一些实施方案中,标准包括在设备确定存储缓冲器的至少第一部分包 括表示预先确定的触发器的音频数据时满足的标准。

在一些实施方案中,识别计算任务包括在第二处理器上启动数字助理会 话。

在一些实施方案中,数字助理识别并执行任务。

在一些实施方案中,启动数字助理会话包括显示与数字助理会话相关联 的用户界面。

在一些实施方案中,与数字助理相关联的用户界面以全屏视图被显示。

在一些实施方案中,启动数字助理包括激活设备上的一个或多个音频部 件。

在一些实施方案中,将存储缓冲器的至少一部分提供至与数字助理相关 联的远程服务器。

在一些实施方案中,处理单元被进一步配置为:进一步根据确定用户输 入已满足标准:激活设备上的麦克风单元(1202)中的第二麦克风(例如,利 用激活单元1226);并将由第二麦克风所检测到的音频流式传输至数字助理。

在一些实施方案中,标准包括在设备确定音频数据对应于授权用户时满 足的标准。

以上参考图10描述的操作任选地由图2A-图2B或图12中描绘的部件来 实现。例如,捕获操作1002、写入操作1004和确定操作1006任选地由外围 设备接口218、存储器202、事件分类器270、事件识别器280和事件处理程 序290来实现。外围设备接口218可捕获音频输入,以将其写到存储器202 中的存储缓冲器中。应用程序236-1的相应事件识别器280将事件信息诸如 存储缓冲器中的内容与相应的事件定义286进行比较,并且确定存储缓冲器的一部分是否满足与预定义事件或子事件(诸如,用于启动数字助理的请求) 对应的预先确定的标准。当检测到相应的预定义事件或子事件时,事件识别 器280激活与对该事件或子事件的检测相关联的事件处理程序290。事件处 理程序290任选地利用或调用数据更新器276或对象更新器277,以更新应 用程序内部状态292。在一些实施方案中,事件处理程序290访问相应GUI 更新器178,以更新由应用程序所显示的内容。类似地,本领域的技术人员会清楚地知道可如何基于图2A至图2B中描绘的部件来实现其他过程。

在以下项目中陈述示例性方法、非暂态计算机可读介质、系统和电子设 备:

1.一种方法,包括:

在包括麦克风、第一处理器和第二处理器的电子设备处:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据写到 存储缓冲器;

在使用麦克风来捕获音频输入时检测用户输入;

使用第一处理器来确定用户输入是否已满足预先确定的 标准;

根据确定用户输入已满足标准,使用第二处理器基于存储 缓冲器的内容的至少一部分来识别计算任务;以及

根据确定用户输入尚未满足标准,放弃识别任务。

2.根据项目1所述的方法,其中存储缓冲器的所述内容的至少一部分 包括在检测到用户输入之前写到缓冲器的数据。

3.根据项目1-2中任一项所述的方法,其中存储缓冲器的内容的至少 一部分包括在对用户输入的检测期间写到缓冲器的数据。

4.根据项目1-3中任一项所述的方法,还包括:

进一步根据确定用户输入已满足标准,执行所识别的计算任 务。

5.根据项目1-4中任一项所述的方法,其中识别计算任务包括在第二 处理器上启动数字助理会话。

6.根据项目5所述的方法,其中数字助理识别并执行计算任务。

7.根据项目5-6中任一项所述的方法,其中启动数字助理会话包括显 示与数字助理会话相关联的用户界面。

8.根据项目7所述的方法,其中与数字助理相关联的用户界面以全屏 视图被显示。

9.根据项目5-8中任一项所述的方法,其中启动数字助理会话包括激 活设备上的一个或多个音频部件。

10.根据项目5-9中任一项所述的方法,其中存储缓冲器的内容的至少 一部分被提供至与数字助理相关联的远程服务器。

11.根据项目1-10中任一项所述的方法,还包括:

进一步根据确定用户输入已满足标准:

激活设备上的第二麦克风,并且

将由第二麦克风所检测到的音频流式传输至数字助理。

12.根据项目1-11中任一项所述的方法,其中用户输入为按钮按压。

13.根据项目12所述的方法,其中标准包括在按钮按压超过预先确定 的阈值持续时间时满足的标准。

14.根据项目1-11中任一项所述的方法,其中用户输入为由麦克风捕获 并写到缓冲器的音频数据。

15.根据项目14所述的方法,其中标准包括在设备确定存储缓冲器的 至少第二部分包括表示预先确定的触发器的音频数据时满足的标 准。

16.根据项目14-15中任一项所述的方法,其中标准包括在设备确定音 频数据对应于授权用户时满足的标准。

17.根据项目1-16中任一项所述的方法,其中音频输入在第二处理器处 于低功率模式中时被捕获,该方法还包括:

进一步根据确定用户输入已满足标准,使得第二处理器退出低 功率模式。

18.一种存储一个或多个程序的非暂态计算机可读存储介质,该一个或 多个程序包括指令,该指令当由具有麦克风的电子设备的第一处理 器和第二处理器执行时使得所述设备:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据写到存储 缓冲器;

在使用麦克风来捕获音频输入时检测用户输入;

使用第一处理器来确定用户输入是否已满足预先确定的标准;

根据确定用户输入已满足标准,使用第二处理器基于存储缓冲 器的内容的至少一部分来识别计算任务;以及

根据确定用户输入尚未满足标准,放弃识别任务。

19.一种电子设备,包括:

麦克风;

两个或更多个处理器;

存储器;和

一个或多个程序,其中该一个或多个程序被存储在所述存储器 中并被配置为由两个或更多个处理器执行,该一个或多个程序包括 用于进行以下操作的指令:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据写到 存储器中的存储缓冲器;

在使用麦克风来捕获音频输入时检测用户输入;

使用第一处理器来确定用户输入是否已满足预先确定的 标准;

根据确定用户输入已满足标准,使用第二处理器基于存储 缓冲器的内容的至少一部分来识别计算任务;以及

根据确定用户输入尚未满足标准,放弃识别任务。

20.一种电子设备,包括:

麦克风;

第一处理器;

第二处理器;

用于从麦克风捕获音频输入的装置;

用于使用第一处理器来将表示所捕获的音频输入的数据写到 存储缓冲器的装置;

用于在使用麦克风来捕获音频输入时检测用户输入的装置;

用于使用第一处理器来确定用户输入是否已满足预先确定的 标准的装置;

用于根据确定用户输入已满足标准而使用第二处理器基于存 储缓冲器的内容的至少一部分来识别计算任务的装置;和

用于根据确定用户输入尚未满足标准而放弃识别任务的装置。

21.一种电子设备,包括:

麦克风;

至少两个处理器;

存储器;和

一个或多个程序,其中该一个或多个程序被存储在存储器中并 被配置为由至少两个处理器执行,该一个或多个程序包括用于执行 根据项目1-17所述的方法中的任一方法的指令。

22.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个 或多个程序包括指令,所述指令当由具有麦克风和至少两个处理器 的电子设备执行时,使得所述设备执行项目1-17所述的方法中的任 一方法。

23.一种电子设备,包括:

麦克风;

至少两个处理器;和

用于执行根据项目1-17所述的方法中的任一方法的装置。

24.一种电子设备,包括:

麦克风单元;

存储缓冲器单元;和

处理单元,该处理单元被耦接至麦克风单元和存储缓冲器单 元,该处理单元包括第一处理器和第二处理器,该处理单元被配置 为:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据写到 存储缓冲器单元;

在使用麦克风来捕获音频输入时检测用户输入;

使用第一处理器来确定用户输入是否已满足预先确定的 标准;

根据确定用户输入已满足标准,使用第二处理器基于存储 缓冲器的内容的至少一部分来识别计算任务;以及

根据确定用户输入尚未满足标准,放弃识别任务。

25.根据项目24所述的电子设备,其中存储缓冲器的内容的至少一部 分包括在检测到用户输入之前写到缓冲器的数据。

26.根据项目24-25中任一项所述的电子设备,其中存储缓冲器的内容 的至少一部分包括在对用户输入的检测期间写到缓冲器的数据。

27.根据项目24-26中任一项所述的电子设备,其中该处理单元被进一 步配置为:

进一步根据确定用户输入已满足标准,执行所识别的计算任 务。

28.根据项目24-27中任一项所述的电子设备,其中识别计算任务包括 在第二处理器上启动数字助理会话。

29.根据项目28所述的电子设备,其中数字助理识别并执行计算任务。

30.根据项目28-29中任一项所述的电子设备,其中启动数字助理会话 包括显示与数字助理会话相关联的用户界面。

31.根据项目30所述的电子设备,其中与数字助理相关联的用户界面 以全屏视图被显示。

32.根据项目28-31中任一项所述的电子设备,其中启动数字助理包括 激活设备上的一个或多个音频部件。

33.根据项目28-32中任一项所述的电子设备,其中存储缓冲器的至少 一部分被提供至与数字助理相关联的远程服务器。

34.根据项目28-33中任一项所述的电子设备,其中该处理单元被进一 步配置为:

进一步根据确定用户输入已满足标准:

激活设备上的第二麦克风,并且

将由第二麦克风所检测到的音频流式传输至数字助理。

35.根据项目24-34中任一项所述的电子设备,其中用户输入为按钮按 压。

36.根据项目35所述的电子设备,其中标准包括在按钮按压超过预先 确定的阈值持续时间时满足的标准。

37.根据项目24-34中任一项所述的电子设备,其中用户输入为由麦克 风捕获并写到缓冲器的音频数据。

38.根据项目37所述的电子设备,其中标准包括在设备确定缓冲器的 至少第二部分包括表示预先确定的触发器的音频数据时满足的标 准。

39.根据项目37-38中任一项所述的电子设备,其中标准包括在设备确 定音频数据对应于授权用户时满足的标准。

40.根据项目24-39中任一项所述的电子设备,其中音频输入在第二处 理器处于低功率模式中时被捕获,其中该处理器单元被进一步配置 为:

进一步根据确定用户输入已满足所述标准,使得第二处理器退 出低功率模式。

41.一种方法,包括:

在包括麦克风、第一处理器和第二处理器的电子设备处:

在第二处理器处于低功率模式中时:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据 写到存储缓冲器,其中音频输入被连续地捕获并写到缓冲 器,以及

使用第一处理器来确定存储缓冲器的至少第一部分 是否满足预先确定的标准;

根据确定缓冲器的至少第一部分满足预先确定的标准:

使得第二处理器退出低功率模式,

使用第二处理器基于存储缓冲器的内容的至少第二 部分来识别计算任务,并且

使用第二处理器来执行所识别的任务。以及

根据确定缓冲器的至少第一部分不满足标准,放弃使得第 二处理器退出低功率模式。

42.根据项目41所述的方法,其中第二处理器立即执行所识别的计算 任务,而无需来自用户的另外的输入。

43.根据项目41-42中任一项所述的方法,其中标准包括在设备确定存 储缓冲器的至少第一部分包括表示预先确定的触发器的音频数据 时满足的标准。

44.根据项目41-43中任一项所述的方法,其中识别计算任务包括在第 二处理器上启动数字助理会话。

45.根据项目44所述的方法,其中数字助理识别并执行计算任务。

46.根据项目44-45中任一项所述的方法,其中启动数字助理会话包括 显示与数字助理会话相关联的用户界面。

47.根据项目46所述的方法,其中与数字助理相关联的用户界面以全 屏视图被显示。

48.根据项目46-47中任一项所述的方法,其中启动数字助理包括激活 设备上的一个或多个音频部件。

49.根据项目44-48中任一项所述的方法,其中缓冲器的至少第二部分 被提供至与数字助理相关联的远程服务器。

50.根据项目44-49中任一项所述的方法,还包括:

进一步根据确定用户输入已满足标准:

激活设备上的第二麦克风,并且

将由第二麦克风所检测到的音频流式传输至数字助理。

51.根据项目41-50中任一项所述的方法,其中标准包括在设备确定音 频数据对应于授权用户时满足的标准。

52.一种存储一个或多个程序的非暂态计算机可读存储介质,该一个或 多个程序包括指令,该指令当由具有麦克风的电子设备的第一处理 器和第二处理器执行时使得设备:

在第二处理器处于低功率模式中时:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据写到 存储缓冲器,其中音频输入被连续地捕获并写到缓冲器,以及

使用第一处理器来确定存储缓冲器的至少第一部分是否 满足预先确定的标准;

根据确定缓冲器的至少第一部分满足预先确定的标准:

使得第二处理器退出低功率模式,

使用第二处理器基于存储缓冲器的内容的至少第二 部分来识别计算任务,并且

使用第二处理器来执行所识别的任务;以及

根据确定缓冲器的至少第一部分不满足标准,放弃使得第 二处理器退出低功率模式。

53.一种电子设备,包括:

麦克风;

两个或更多个处理器;

存储器;和

一个或多个程序,其中该一个或多个程序被存储在存储器中并 被配置为由两个或更多个处理器执行,该一个或多个程序包括用于 进行以下操作的指令:

在第二处理器处于低功率模式中时:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据 写到存储缓冲器,其中音频输入被连续地捕获并写到缓冲 器,以及

使用第一处理器来确定存储缓冲器的至少第一部分 是否满足预先确定的标准;

根据确定缓冲器的至少第一部分满足预先确定的标 准:

使得第二处理器退出低功率模式,

使用第二处理器基于存储缓冲器的内容的至少 第二部分来识别计算任务,并且

使用第二处理器来执行所识别的任务。以及

根据确定缓冲器的至少第一部分不满足标准,放弃使 得第二处理器退出低功率模式。

54.一种电子设备,包括:

麦克风;

第一处理器;

第二处理器;

用于在第二处理器处于低功率模式中时进行以下操作的装置:

从麦克风捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据写到 存储缓冲器,其中音频输入被连续地捕获并写到缓冲器,以及

使用第一处理器来确定存储缓冲器的至少第一部分是否 满足预先确定的标准;

用于根据确定缓冲器的至少第一部分满足预先确定的标准而 进行以下操作的装置:

使得第二处理器退出低功率模式,

使用第二处理器基于存储缓冲器的内容的至少第二部分 来识别计算任务,并且

使用第二处理器来执行所识别的任务。和

用于根据确定缓冲器的至少第一部分不满足标准而放弃使得 第二处理器退出低功率模式的装置。

55.一种电子设备,包括:

麦克风;

至少两个处理器;

存储器;和

一个或多个程序,其中该一个或多个程序被存储在存储器中并 被配置为由至少两个处理器执行,该一个或多个程序包括用于执行 根据项目41-51所述的方法中的任一方法的指令。

56.一种存储一个或多个程序的非暂态计算机可读存储介质,该一个或 多个程序包括指令,该指令当由具有麦克风和至少两个处理器的电 子设备执行时使得设备执行项目41-51所述的方法中的任一方法。

57.一种电子设备,包括:

麦克风;

至少两个处理器;和

用于执行根据项目41-51所述的方法中的任一方法的装置。

58.一种电子设备,包括:

麦克风单元;

存储缓冲器单元;和

处理单元,该处理单元被耦接至麦克风单元和存储缓冲器单 元,该处理单元包括第一处理器和第二处理器,该处理单元被配置 为:

在第二处理器处于低功率模式中时:

从麦克风单元捕获音频输入;

使用第一处理器来将表示所捕获的音频输入的数据 写到存储缓冲器单元,其中音频输入被连续地捕获并写到 存储缓冲器单元,以及

使用第一处理器来确定存储缓冲器单元的至少第一 部分是否满足预先确定的标准;

根据确定存储缓冲器单元的至少第一部分满足预先 确定的标准:

使得第二处理器退出低功率模式,

使用第二处理器基于存储缓冲器单元的内容的 至少第二部分来识别计算任务,并且

使用第二处理器来执行所识别的任务;以及

根据确定存储缓冲器单元的至少第一部分不满足标 准,放弃使得第二处理器退出低功率模式。

59.根据项目58所述的电子设备,其中第二处理器立即执行所识别的 任务,而无需来自用户的另外的输入。

60.根据项目58-59中任一项所述的电子设备,其中标准包括在设备确 定存储缓冲器的至少第二部分包括表示预先确定的触发器的音频 数据时满足的标准。

61.根据项目58-60中任一项所述的电子设备,其中识别计算任务包括 在第二处理器上启动数字助理会话。

62.根据项目61所述的电子设备,其中数字助理识别并执行任务。

63.根据项目61-62中任一项所述的电子设备,其中启动数字助理会话 包括显示与数字助理会话相关联的用户界面。

64.根据项目63所述的电子设备,其中与数字助理相关联的用户界面 以全屏视图被显示。

65.根据项目61-64中任一项所述的电子设备,其中启动数字助理包括 激活设备上的一个或多个音频部件。

66.根据项目61-65中任一项所述的电子设备,其中缓冲器的至少一部 分被提供至与数字助理相关联的远程服务器。

67.根据项目61-66中任一项所述的电子设备,其中该处理单元被进一 步配置为:

进一步根据确定用户输入已满足标准:

激活设备上的麦克风单元中的第二麦克风,并且

将由第二麦克风所检测到的音频流式传输至数字助理。

68.根据项目58-67中任一项所述的电子设备,其中标准包括在设备确 定音频数据对应于授权用户时满足的标准。

出于解释的目的,已参考具体实施方案对上述描述进行了描述。然而, 上面的示例性讨论并非旨在为穷尽的或将本发明限制为所公开的精确形式。 根据以上教导内容,很多修改形式和变型形式均为可能的。选择并描述这些 实施方案是为了最好地解释这些技术的原理及其实际应用。本领域的其他技 术人员由此能够最好地利用这些技术以及具有适合于所设想的特定用途的各 种修改的各种实施方案。

虽然参照附图对本公开以及示例进行了全面的描述,但应当注意,各种 变化和修改对于本领域内的技术人员而言将变得显而易见。应当理解,此类 变化和修改被认为被包括在由权利要求书所限定的本公开和示例的范围内。

78页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据存储的方法、装置、设备及可读介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类