CN107491285A - 智能设备仲裁和控制 - Google Patents

智能设备仲裁和控制 Download PDF

Info

Publication number
CN107491285A
CN107491285A CN201710392871.6A CN201710392871A CN107491285A CN 107491285 A CN107491285 A CN 107491285A CN 201710392871 A CN201710392871 A CN 201710392871A CN 107491285 A CN107491285 A CN 107491285A
Authority
CN
China
Prior art keywords
electronic equipment
audio input
value
user
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710392871.6A
Other languages
English (en)
Other versions
CN107491285B (zh
Inventor
K·W·皮索尔
R·M·奥尔
D·J·曼德尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DKPA201670554A external-priority patent/DK179415B1/da
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Priority to CN201811605229.2A priority Critical patent/CN110058834B/zh
Publication of CN107491285A publication Critical patent/CN107491285A/zh
Application granted granted Critical
Publication of CN107491285B publication Critical patent/CN107491285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明题为“智能设备仲裁和控制”。本公开涉及用于利用虚拟助理来在电子设备之间进行仲裁和/或控制电子设备的系统和过程。在一个示例性过程中,第一电子设备利用麦克风来采样音频输入。第一电子设备广播基于所采样的音频输入的第一组一个或多个值。此外,第一电子设备接收来自第二电子设备的基于音频输入的第二组一个或多个值。基于第一组一个或多个值和第二组一个或多个值,第一电子设备确定是应该对音频输入作出响应还是应该放弃对音频输入作出响应。

Description

智能设备仲裁和控制
技术领域
本公开整体涉及多设备系统,并且更具体地涉及多设备系统中设备的智能仲裁和控制。
背景技术
许多现代电子设备提供虚拟助理服务以响应于用户言语输入来执行各种任务。在一些情况下,多个具有虚拟助理服务的电子设备可能在共享环境中并行操作。因此,当用户输入包含由这些电子设备上的虚拟助理服务中的每个虚拟助理服务识别的触发短语或命令时,用户输入可能使多个电子设备中的每个电子设备作出响应。这又可能导致使用户迷惑的经历,因为多个电子设备可能同时开始收听和/或提示附加输入。另外,多个电子设备可能基于相同的用户输入来执行重复或冲突的操作。
此外,用户输入可标识一个或多个特定电子设备来执行任务。例如,用户可以通过用位置(“我的客厅中”)、用设备类型(“在我的电视上”)或用设备需要执行的任务类型(“播放甲壳虫乐队”)指代设备来向虚拟助理服务发出命令以便远程控制家用电子设备。然而,用户输入本身常常并未提供充足的信息供虚拟助理服务来标识、控制和/或管理电子设备。
发明内容
本文提供了示例性方法。一种示例性方法包括在具有麦克风的第一电子设备处:用第一电子设备处的麦克风来采样音频输入;用第一电子设备广播基于所采样的音频输入的第一组一个或多个值;用第一电子设备接收来自第二电子设备的第二组一个或多个值,其中第二组一个或多个值基于所述音频输入;以及用第一电子设备基于第一组一个或多个值和第二组一个或多个值来确定第一电子设备是否应该对所述音频输入作出响应。根据确定第一电子设备应该对所述音频输入作出响应,第一电子设备对所述音频输入作出响应。根据确定第一电子设备不应该对所述音频输入作出响应,第一电子设备放弃对所述音频输入作出响应。
本文公开了示例性的非暂态计算机可读存储介质。一种示例性非暂态计算机可读介质存储一个或多个程序。所述一个或多个程序包括指令,所述指令在被具有麦克风的电子设备的一个或多个处理器执行时使得所述电子设备:用所述电子设备处的麦克风来采样音频输入;广播基于所采样的音频输入的第一组一个或多个值;接收来自第二电子设备的第二组一个或多个值,其中第二组一个或多个值基于所述音频输入;以及基于第一组一个或多个值和第二组一个或多个值来确定所述电子设备是否应该对所述音频输入作出响应。所述指令还使得所述电子设备:根据确定所述电子设备应该对所述音频输入作出响应,对所述音频输入作出响应;根据确定所述电子设备不应该对所述音频输入作出响应,放弃对所述音频输入作出响应。
本文提供了示例性设备。一种示例性设备包括麦克风;一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序存储在所述存储器中并且被配置为由所述一个或多个处理器来执行。所述一个或多个程序包括用于执行以下操作的指令:用电子设备处的所述麦克风来采样音频输入;广播基于所采样的音频输入的第一组一个或多个值;接收来自第二电子设备的第二组一个或多个值,其中第二组一个或多个值基于所述音频输入;以及基于第一组一个或多个值和第二组一个或多个值来确定所述电子设备是否应该对所述音频输入作出响应。所述一个或多个程序还包括用于执行以下操作的指令:根据确定所述电子设备应该对所述音频输入作出响应,对所述音频输入作出响应;根据确定所述电子设备不应该对所述音频输入作出响应,放弃对所述音频输入作出响应。
一种示例性电子设备包括麦克风;用于用所述电子设备处的所述麦克风来采样音频输入的装置;用于广播基于所采样的音频输入的第一组一个或多个值的装置;用于接收来自第二电子设备的第二组一个或多个值的装置,其中第二组一个或多个值基于所述音频输入;用于基于第一组一个或多个值和第二组一个或多个值来确定所述电子设备是否应该对所述音频输入作出响应的装置;用于根据确定所述电子设备应该对所述音频输入作出响应而对所述音频输入作出响应的装置;以及用于根据确定所述电子设备不应该对所述音频输入作出响应而放弃对所述音频输入作出响应的装置。
一种用于利用第一用户设备上的虚拟助理来控制用户设备的示例性方法包括在电子设备处:用所述电子设备接收来自第一用户设备的对应于音频输入的数据;用所述电子设备基于对应于音频输入的数据来获取第二用户设备的标识;用所述电子设备基于对应于音频输入的数据来获取媒体项的标识;以及用所述电子设备将包括所述媒体项的标识和所述第二用户设备的标识的命令提供给第一用户设备。
一种示例性非暂态计算机可读存储介质存储一个或多个程序。所述一个或多个程序包括指令,所述指令在由电子设备的一个或多个处理器执行时使所述电子设备接收来自第一用户设备的对应于音频输入的数据;基于对应于音频输入的数据来获取第二用户设备的标识;基于对应于音频输入的数据来获取媒体项的标识;以及将包括所述媒体项的标识和所述第二用户设备的标识的命令提供给第一用户设备。
一种示例性电子设备包括一个或多个处理器;存储器;和一个或多个程序,其中所述一个或多个程序存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行以下操作的指令:接收来自第一用户设备的对应于音频输入的数据;基于对应于音频输入的数据来获取第二用户设备的标识;基于对应于音频输入的数据来获取媒体项的标识;以及将包括所述媒体项的标识和所述第二用户设备的标识的命令提供给第一用户设备。
一种示例性电子设备包括用于接收来自第一用户设备的对应于音频输入的数据的装置;用于基于对应于音频输入的数据来获取第二用户设备的标识的装置;用于基于对应于音频输入的数据来获取媒体项的标识的装置;以及用于将包括所述媒体项的标识和所述第二用户设备的标识的命令提供给第一用户设备的装置。
附图说明
为了更好地理解各种所述实施方案,应该结合以下附图参考下面的具体实施方式,在附图中,类似的附图标号在所有附图中指示对应的部分。
图1是示出根据各个实施例的用于实施数字助理的系统和环境的框图。
图2A是示出根据一些实施方案的实施数字助理的客户端侧部分的便携式多功能设备的框图。
图2B是示出根据各个实施例的用于事件处理的示例性部件的框图。
图3示出了根据各个实施例的实施数字助理的客户端侧部分的便携式多功能设备。
图4是根据各个实施例的具有显示器和触敏表面的示例性多功能设备的框图。
图5A示出了根据各个实施例的便携式多功能设备上的应用程序菜单的示例性用户界面。
图5B示出了根据各个实施例的具有与显示器分开的触敏表面的一种多功能设备的示例性用户界面。
图6A示出了根据各个实施例的个人电子设备。
图6B为示出根据各个实施例的个人电子设备的框图。
图7A为示出根据各个实施例的数字助理系统或其服务器部分的框图。
图7B示出了根据各个实施例的图7A所示数字助理的功能。
图7C示出了根据各个实施例的知识本体的一部分。
图8A至图8C示出了根据各个实施例的多个电子设备。
图9A至图9C示出了根据各个实施例的用于控制电子设备的示例性系统和环境。
图10A至图10C示出了根据各个实施例的用于设备仲裁的示例性过程。
图11A至图11E示出了根据各个实施例的用于设备控制的示例性过程。
图12示出了根据各个实施例的电子设备的功能框图。
图13示出了根据各个实施例的系统的电子设备的功能框图。
具体实施方式
在以下对本公开和实施方案的描述中将引用附图,在附图中以举例的方式示出了可被实施的特定实施方案。应当理解,在不脱离本公开的范围的情况下,可实践其他实施方案和实施例并且可进行变更。
期望有用于智能设备仲裁和控制的技术。如本文所述,所述技术改善用户与多个电子设备交互的能力,由此提高了生产率。另外,此类技术能减少原本由于电子设备对用户输入的多余响应而消耗的计算需求和电池功率。
尽管以下描述使用术语“第一”、“第二”等来描述各种元件,但这些元件不应受术语的限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一输入可被命名为第二输入,并且类似地,第二输入可被命名为第一输入,而不脱离各个所述实施例的范围。第一输入和第二输入都可以是输出,并且在一些情况下可以是分开的不同的输入。
在本文中对各个所述实施例的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在进行限制。如在对各个所述实施例的描述和所附权利要求书中所使用的那样,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或其分组。
根据上下文,术语“如果”可被解释为意指“当...时”或“在...时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
1.系统和环境
图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至图6B所述的设备600)。便携式多功能设备可以是例如也包含其它功能(诸如PDA和/或音乐播放器功能)的移动电话。便携式多功能设备的具体示例可包括Apple Inc.(Cupertino,California)的iPod设备。便携式多功能设备的其它示例可包括但不限于膝上型电脑或平板电脑。另外,在一些实施例中,用户设备104可以是非便携式多功能设备。具体地,用户设备104可以是台式计算机、游戏机、电视机或电视机顶盒。在一些实施例中,用户设备104可包括触敏表面(例如触摸屏显示器和/或触摸板)。另外,用户设备104可任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。电子设备的各个实施例诸如多功能设备在下文中详细描述。
通信网络110的示例可以包括局域网(LAN)和广域网(WAN),例如互联网。通信网络110可使用任何已知的网络协议,包括各种有线或无线协议,诸如例如以太网、通用串行总线(USB)、火线(FIREWIRE)、全球移动通信系统(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。这个系统架构可有利地允许通信能力有限和/或电池电力有限的用户设备104(例如手表或类似紧凑电子设备)通过利用具有更大通信能力和/或电池电力的第二用户设备122(例如移动电话、膝上型电脑、平板电脑等)作为对DA服务器106的代理来访问DA服务器106提供的服务。虽然在图1中只示出了两个用户设备104和122,但应当理解,系统100可包括任意数量和类型的用户设备被配置成这种代理配置以与DA服务器系统106通信。
尽管图1中所示的数字助理可包括客户端侧部分(例如,DA客户端102)和服务器侧部分(例如,DA服务器106)两者,但在一些实施例中,数字助理的功能可被实现为安装在用户设备上的独立式应用程序。此外,数字助理的客户端部分与服务器部分之间的功能划分在不同的具体实施中可变化。例如,在一些实施例中,DA客户端可为仅提供面向用户的输入和输出处理功能,并且将数字助理的所有其他功能委派给后端服务器的瘦客户端。
2.电子设备
现在将关注点转到用于实施数字助理的客户端侧部分的电子设备的实施方案。图2A是示出了根据一些实施方案的具有触敏显示器系统112的便携式多功能设备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的非暂态计算机可读存储介质可用于存储供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、装置或设备取指令并执行指令的其他系统使用或与其结合的指令(例如用于执行过程1000和1100的方面,如下文所述)。在其它实施例中,指令(例如用于执行过程1000和1100的方面,如下文所述)可存储在服务器系统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、IEEE 802.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进行检索和/或被传输至存储器202和/或RF电路208。在一些实施方案中,音频电路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以及美国专利7,657,849中所述的,上述美国专利文献据此全文以引用方式并入本文。更长地按下下压按钮(例如306)可使设备200开机或关机。用户能够对一个或多个按钮的功能进行自定义。触摸屏212用于实现虚拟按钮或软按钮以及一个或多个软键盘。
触敏显示器212提供设备和用户之间的输入接口和输出接口。显示控制器256从触摸屏212接收电信号和/或将电信号发送至触摸屏112。触摸屏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日提交的美国专利申请11/381,313,“Multipoint Touch Surface Controller”;(2)2004年5月6日提交的美国专利申请10/840,862,“Multipoint Touchscreen”;(3)2004年7月30日提交的美国专利申请10/903,964,“Gestures For Touch Sensitive InputDevices”;(4)2005年1月31日提交的美国专利申请11/048,264,“Gestures For TouchSensitive Input Devices”;(5)2005年1月18日提交的美国专利申请11/038,590,“Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”;(6)2005年9月16日提交的美国专利申请11/228,758,“Virtual Input Device Placement On A TouchScreen User Interface”;(7)2005年9月16日提交的美国专利申请11/228,700,“Operation Of A Computer With A Touch Screen Interface”;(8)2005年9月16日提交的美国专利申请11/228,737,“Activating Virtual Keys Of A Touch-Screen VirtualKeyboard”;和(9)2006年3月3日提交的美国专利申请11/367,749,“Multi-FunctionalHand-Held Device”。所有这些专利申请均全文以引用方式并入本文。
触摸屏212可具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏具有约160dpi的视频分辨率。用户可使用任何合适的物体或附加物诸如触笔、手指等等来与触摸屏212接触。在一些实施方案中,用户界面被设计用于主要与基于手指的接触和手势工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备200可包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板可以是与触摸屏212分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备200还包括用于为各种部件供电的电力系统262。电力系统262可包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率变换器或逆变器、电源状态指示器(例如,发光二极管(LED))和与便携式设备中电力的生成、管理和分配相关联的任何其他部件。
设备200还可包括一个或多个光学传感器264。图2A示出了耦接到I/O子系统206中的光学传感器控制器258的光学传感器。光学传感器264可包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器264从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块243(也称为相机模块),光学传感器264可捕获静态图像或视频。在一些实施方案中,光学传感器位于设备200的与设备的前部上的触摸屏显示器212相背对的后部上,使得触摸屏显示器可被用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,光学传感器位于设备的前部,使得在用户在触摸屏显示器上查看其他视频会议参与者的同时可获取该用户的图像,以用于视频会议。在一些实施方案中,光学传感器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可如以下美国专利申请中所述的那样执行:11/241,839,名称为“ProximityDetector In Handheld Device”;11/240,788,名称为“Proximity Detector In HandheldDevice”;11/620,702,名称为“Using Ambient Light Sensor To Augment ProximitySensor Output”;11/586,862,名称为“Automated Response To And Sensing Of UserActivity In Portable Devices”;和11/638,251,名称为“Methods And Systems ForAutomatic Configuration Of Peripherals”,这些美国专利申请据此全文以引用方式并入本文。在一些实施方案中,当多功能设备被置于用户的耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并且禁用触摸屏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可如以下美国专利公开中所述的那样执行:20050190059,名称为“Acceleration-based Theft Detection System for Portable Electronic Devices”和20060017692,名称为“Methods And Apparatuses For Operating A Portable Device Based On AnAccelerometer”,这两个美国专利公开均全文以引用方式并入本文。在一些实施方案中,基于对从该一个或多个加速度计所接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图显示信息。设备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的交互而在设备200上的一个或多个位置处产生触觉输出。
可作为图形模块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至图7C来描述。应当认识到,数字助理客户端模块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中的联系人模块237的应用程序内部状态292中),包括:将姓名添加到通讯录;从通讯录删除姓名;使电话号码、电子邮件地址、物理地址或其他信息与姓名相关联;使图像与姓名相关联;对姓名归类和分类;提供电话号码或电子邮件地址以发起和/或促进通过电话238、视频会议模块239、电子邮件240、或IM 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传输的消息)两者。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、GPS模块235、地图模块254、和音乐播放器模块,健身支持模块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电路208、文本输入模块234、电子邮件客户端模块240和浏览器模块247,在线视频模块255包括指令,该指令允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏上或在经由外部端口224所连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式诸如H.264的在线视频。在一些实施方案中,使用即时消息模块241而不是电子邮件客户端模块240发送至特定在线视频的链接。在线视频应用程序的附加描述可在2007年6月20日提交的名称为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying Online Videos”的美国临时专利申请60/936,562、和2007年12月31日提交的名称为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying 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或者具有对数据更新器276、对象更新器277和GUI更新器278的访问权限。在一些实施方案中,数据更新器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示出了根据一些实施方案的便携式多功能设备100上的应用程序菜单的一个示例性用户界面。类似的用户界面可在设备400上实现。在一些实施方案中,用户界面500包括以下元素或者其子集或超集:
·无线通信(诸如蜂窝信号和Wi-Fi信号)的信号强度指示器502;
·时间504;
·蓝牙指示器505;
·电池状态指示器506;
·具有常用应用程序图标的托盘508,图标诸如:
○电话模块238的被标记为“电话”的图标516,该图标416任选地包括未接来电或语音留言的数量的指示符514;
○电子邮件客户端模块240的被标记为“邮件”的图标518,该图标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,该图标446提供对设备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至图4B)所述的特征中的一些或全部特征。在一些实施方案中,设备600具有在下文中称为触摸屏604的触敏显示屏604。作为触摸屏604的替代或补充,设备600具有显示器和触敏表面。与设备200和400的情况一样,在一些实施方案中,触摸屏604(或触敏表面)可具有用于检测所施加的接触(例如,触摸)的强度的一个或多个强度传感器。触摸屏604(或触敏表面)的一个或多个强度传感器可提供表示触摸的强度的输出数据。设备600的用户界面可基于触摸强度来对触摸作出响应,这意味着不同强度的触摸可调用设备600上的不同的用户界面操作。
例如,可在如下相关专利申请中找到用于检测和处理触摸强度的技术:2013年5月8日提交的名称为“Device,Method,and Graphical User Interface for DisplayingUser Interface 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可包括用于存储计算机可执行指令的一个或多个非暂态计算机可读存储介质,该可执行指令在由一个或多个计算机处理器616执行时例如可使得计算机处理器执行下述技术,包括过程1000和1100(图10至图11)。个人电子设备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%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值(例如,相应按压输入的“向上冲程”)来执行相应操作。类似地,在一些实施方案中,仅在设备检测到接触的强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且任选地接触的强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触的强度增大或接触的强度减小)来执行相应操作。
为了容易解释,任选地,响应于检测到以下各种情况中的任一种情况而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触强度增大到高于按压输入强度阈值、接触强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触强度减小到低于按压输入强度阈值、和/或接触强度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。
3.数字助理系统
图7A示出了根据各种实施例的数字助理系统700的框图。在一些实施例中,数字助理系统700可在独立式计算机系统上实施。在一些实施例中,数字助理系统700可跨多个计算机分布。在一些实施例中,数字助理的模块和功能中的一些可被划分成服务器部分和客户端部分,其中客户端部分位于一个或多个用户设备(例如,用户设备104、122、200、400或600)上并通过一个或多个网络与服务器部分(例如,服务器系统108)通信,例如如图1中所示。在一些实施例中,数字助理系统700可为图1中所示的服务器系统108(和/或DA服务器106)的一种具体实施。应当指出,数字助理系统700仅为数字助理系统的一个示例,并且数字助理系统700可具有比图示更多或更少的部件、可组合两个或更多个部件、或可具有这些部件的不同配置或布局。图7A中所示的各种部件可在硬件、用于由一个或多个处理器执行的软件指令、固件(包括一个或多个信号处理集成电路和/或专用集成电路)、或它们的组合中实现。
数字助理系统700可包括存储器702、输入/输出(I/O)接口706、网络通信接口708、以及一个或多个处理器704。这些部件可通过一个或多个通信总线或信号线710彼此通信。
在一些实施例中,存储器702可包括非暂态计算机可读介质,诸如高速随机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存储设备、闪存存储器设备或其他非易失性固态存储器设备)。
在一些实施例中,I/O接口706可将数字助理系统700的输入/输出设备716诸如显示器、键盘、触摸屏和麦克风耦接至用户界面模块722。I/O接口706与用户界面模块722结合可接收用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些实施例中,例如当数字助理在独立式用户设备上实施时,数字助理系统700可包括分别相对于图2A、图4、图6A至图6B中的设备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的计算机可读存储介质可存储用于执行下文所述的过程1000和1100的指令。一个或多个处理器704可执行这些程序、模块和指令,并从数据结构读取数据/将数据写到数据结构。
操作系统718(例如,Darwin、RTXC、LINUX、UNIX、iOS、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件组件和/或驱动器,并且有利于各种硬件、固件和软件组件之间的通信。
通信模块720可促成数字助理系统700与其他设备之间通过网络通信接口708进行的通信。例如,通信模块720可与电子设备(诸如分别在图2A、图4和图6A至图6B中示出的设备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日的名为“ConsolidatingSpeech Recognition Results”的美国实用新型专利申请序列号13/236,942中有所描述,其全部公开内容以引用方式并入本文。
在一些实施例中,STT处理模块730可包括可识别字词的词汇和/或可经由语音字母表转化模块731访问可识别字词的词汇。每个词汇字词可与语音识别语音字母表中表示的该字词的一个或多个候选发音相关联。特别地,可识别字词的词汇可包括与多个候选发音相关联的字词。例如,词汇可包括与候选发音相关联的字词“tomato”。另外,词汇字词可与基于先前来自用户的语音输入的自定义候选发音相关联。此类自定义候选发音可被存储在STT处理模块730中,并且可经由设备上的用户简档与具体用户相关联。在一些实施例中,字词的候选发音可基于字词的拼写和一个或多个语言学规则和/或语音规则来确定。在一些实施例中,候选发音可例如基于已知规范发音而手动生成。
在一些实施例中,候选发音可基于候选发音的普遍性来排名。例如,候选发音可排名比高,因为前者是更常使用的发音(例如在所有用户中,对于特定地理区域中的用户,或者对于任何其它适当的用户子集)。在一些实施例中,候选发音可基于候选发音是否是与用户相关联的自定义候选发音来进行排名。例如,自定义候选发音可比规范候选发音排名更高。这对于识别具有与规范发音不同的独特发音的专有名词可以是有用的。在一些实施例中,候选发音可与一个或多个语音特性(诸如地理来源、国别、或种族)相关联。例如,候选发音可与美国相关联,而候选发音可与英国相关联。另外,候选发音的排名可基于设备上用户简档中所存储的用户的一个或多个特性(例如地理来源、国别、种族等)相关联。例如,可根据用户的简档确定用户与美国相关联。基于用户与美国相关联,(与美国相关联的)候选发音可以排名比(与英国相关联的)候选发音更高。在一些实施例中,经排名的候选发音之一可被选择作为预测的发音(例如最可能的发音)。
当语音输入被接收时,STT处理模块730可用于(例如利用声学模型)确定对应于语音输入的音素,然后尝试(例如利用语言模型)确定匹配所述音素的字词。例如,如果STT处理模块730可首先识别对应于语音输入一部分的音素序列则其然后可基于词汇索引744确定这个序列对应于字词“tomato”。
在一些实施例中,STT处理模块730可使用近似匹配技术来确定话语中的字词。因此,例如STT处理模块730可确定音素序列对应于字词“tomato”,即使具体音素序列不是用于该字词的候选音素序列之一。
数字助理的自然语言处理模块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中的“超级域”下。例如,“旅行”超级域可包括与旅行有关的属性节点和可执行意图节点的群集。与旅行有关的可执行意图节点可包括“机票预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找兴趣点”等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点可具有多个共用的属性节点。例如,针对“机票预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找兴趣点”的可执行意图节点可共享属性节点“起始位置”、“目的地”、“出发日期/时间”、“到达日期/时间”和“同行人数”中的一者或多者。
在一些实施例中,知识本体360中的每个节点可以与跟由节点表示的属性或可执行意图有关的一组字词和/或短语相关联。与每个节点相关联的相应一组字词和/或短语可以是所谓的与节点相关联的“词汇”。可将与每个节点相关联的相应一组字词和/或短语存储在与由节点所表示的属性或可执行意图相关联的词汇索引744中。例如,返回图7B,与“餐厅”属性的节点相关联的词汇可包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、“吃”、“披萨”、“快餐”、“膳食”等。又如,与“发起电话呼叫”可执行意图的节点相关联的词汇可包括字词和短语诸如“呼叫”、“打电话”、“拨打”、“与……通电话”、“呼叫该号码”、“打电话给”等。词汇索引744可任选地包括不同语言的字词和短语。
自然语言处理模块732可以从STT处理模块730接收符号序列(例如,文本串),并确定符号序列中的字词牵涉哪些节点。在一些实施例中,如果发现符号序列中的字词或短语与知识本体760中的一个或多个节点相关联(经由词汇索引744),则所述字词或短语可“触发”或“激活”那些节点。基于已激活节点的数量和/或相对重要性,自然语言处理模块732可选择可执行意图中的一个可执行意图作为用户意图使数字助理执行的任务。在一些实施例中,可以选择具有最多“已触发”节点的域。在一些实施例中,可以选择具有最高置信度值(例如,基于其各个已触发节点的相对重要性)的域。在一些实施例中,可以基于已触发节点的数量和重要性的组合来选择域。在一些实施例中,在选择节点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译来自用户的类似请求。
用户数据748可包括用户特定的信息,诸如用户特定的词汇、用户偏好、用户地址、用户的默认语言和第二语言、用户的联系人列表、以及每位用户的其他短期或长期信息。在一些实施例中,自然语言处理模块732可使用用户特定的信息来补充用户输入中所包含的信息以进一步限定用户意图。例如,针对用户请求“邀请我的朋友参加我的生日派对”,自然语言处理模块732可以能够访问用户数据748以确定“朋友”是哪些人以及“生日派对”将于何时何地举行,而不需要用户在其请求中明确地提供此类信息。
基于符号串搜索知识本体的其他细节在提交于2008年12月22日的名为“Methodand 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可以经由音频和/或视频输出向用户呈现对话输出,并接收经由口头或物理(例如,点击)响应的来自用户的输入。继续上述实施例,在任务流处理模块336调用对话流处理模块734来确定针对与域“餐厅预订”相关联的结构化查询的“同行人数”和“日期”信息时,对话流处理模块734可以生成诸如“一行几位?”和“预订哪天?”之类的问题传递给用户。一旦接收到来自用户的回答,对话流处理模块734就可用缺失信息填充结构化查询,或将信息传递给任务流处理模块736以补全结构化查询的缺失信息。
一旦任务流处理模块736已针对可执行意图补全了结构化查询,任务流处理模块736就可以继续执行与可执行意图相关联的最终任务。因此,任务流处理模块736可以根据结构化查询中包含的特定参数来执行任务流模型中的步骤和指令。例如,针对可执行意图“餐厅预订”的任务流模型可包括用于联系餐厅并实际请求在特定时间针对特定同行人数的预订的步骤和指令。例如,通过使用结构化查询诸如:{餐厅预订,餐厅=ABC咖啡馆,日期=2012/3/12,时间=下午7点,同行人数=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 to Perform”的美国实用新型专利申请13/251,088、2016年5月2日提交的名称为“Intelligent DeviceIdentification”的美国实用新型专利申请15/144,618、和2014年9月30日提交的名称为“Intelligent Assistant for Home Automation”的美国实用新型专利申请14/503,105中,这些美国实用新型专利申请的全部公开内容以引用方式并入本文。
4.用于智能设备仲裁的示例性技术
图8A至图8C示出了根据一些实施方案的用于智能设备仲裁的示例性技术。这些附图还用于示出下文描述的过程,包括图10A至图10C中的过程。
图8A示出了用户800的电子设备802、804、806、和808。在一些实施方案中,设备802-808中的一者或多者可以是设备104、122、200、400、600、和1200(图1、图2A、图3、图4、图5A、图6A至图6B和图12)中的任何设备。在一些实施例中,电子设备802是可穿戴电子设备诸如智能手表,并且任选地在处于放低位置中时关机,如图所示。在一些实施例中,电子设备804是移动设备,诸如移动电话;电子设备806是具有相对大显示能力的电子设备,诸如电视机;电子设备808是具有听觉输出能力的设备,诸如扬声器对接底座。虽然在本文中参考电子设备802-808来描述图示的实施例,但应当理解,在其他具体实施中可以使用更少或更多数量的设备。另外,电子设备802-808可以与不同用户(未示出)相关联。
电子设备802-808中的每一者能够采样来自用户800的音频输入。例如,电子设备804通过其麦克风来采样音频输入以收听来自用户800的口头指令。在一些实施例中,电子设备802-808中的一者或多者连续地采样音频输入。在一些实施例中,电子设备802-808中的一者或多者响应于检测到邻近用户800而开始采样音频输入。在一些实施例中,电子设备802-808中的一者或多者响应于用户800的特定输入(诸如口头触发)而开始采样音频输入。图8A示出了用户800提供口头指令834“嘿,Siri,给我找一部电视剧”。在一个实施方案中,电子设备802-808中的每一者分别采样音频输入并检测口头指令834。
响应于检测到口头指令834,电子设备802-808发起仲裁过程以标识(例如确定)用于对来自用户800的口头指令834作出响应的电子设备。以举例的方式,电子设备802-808中的每一者广播基于在相应设备上采样的音频输入的一组值。每组值可包括一个或多个值。例如,电子设备804(被实施为移动电话)广播基于在电子设备804上采样的口头指令834的第一组一个或多个值,而电子设备808(被实施为扬声器对接底座)广播基于在电子设备808上采样的口头指令834的第二组一个或多个值。电子设备802和806也广播各自的一组一个或多个值。这些组的一个或多个值可由电子设备802-808经由现在已知或者未来的任何单向广播通信标准、协议和/或技术来广播。在一些实施例中,一组或多组一个或多个值利用蓝牙低功耗(BTLE)通告模式来广播。可使用其他通信方法,包括但不限于WiFi(例如任何802.11兼容通信)、NFC、红外、声波等等或者其任意组合。
在一些实施例中,电子设备广播的一组一个或多个值包括任意数量的值。一个示例性的值指示电子设备上采样的音频输入的能级。所采样音频输入的能级例如可以指示电子设备相对于用户的邻近度。在一些实施例中,能级利用音频质量的已知量度来测量,诸如信噪比、声压、或其组合。
另一示例性的值指示音频输入的声纹,即音频输入是否可能由特定用户提供。在一些实施例中,电子设备分析音频输入并计算表达音频输入源自特定用户(例如已经注册电子设备上的虚拟助理服务的用户)的可能性的置信度值。在一些实施例中,电子设备通过将该置信度值与预先确定的阈值进行比较来确定音频输入是否来自经授权用户,并广播基于所述比较的值。在这个实施例中,这组一个或多个值还可包括对应于置信度值的值。
另一示例性的值指示电子设备的类型。例如,如图8A所示,电子设备804是移动电话。应当理解,预先确定的值可被电子设备802-808用来指示不同设备类型,包括但不限于扬声器、电视机、智能手表、膝上型电脑、平板电脑、移动设备、机顶盒、耳机、或它们的任意组合。在一些实施例中,电子设备802-808中的每一者只在口头指令指定要执行的任务时才广播“设备类型”,如下文更详细讨论。
另一示例性的值指示电子设备的状态。在一些实施例中,所述值例如可以指示电子设备在接收音频输入之前预先确定量的时间内是否已经处于活动状态(例如已经接收了用户输入)。在至少一个实施例中,所述值可以指示电子设备是否处于锁定状态。在一些实施例中,所述值还可以指示用户最近是否已经激活设备或者设备上的虚拟助理服务。在一些实施例中,所述值可以传送关于最近用户输入的细节,诸如时间戳、输入类型(例如物理触摸、抬高手势)等等。
另一示例性的值指示电子设备的位置信息。在一些实施例中,所述值例如利用电子设备的GPS坐标来指示电子设备的地理位置,或者指示电子设备的命名位置(例如用户的客厅)。
上述示例性的值对应于与实施本文所述的智能设备仲裁相关的各个量度。应当理解,任意数量的对应于这些度量的值可被广播和/或所述值中的一些或全部可被用于利用一个或多个函数来提供单个值。这单个值随后可在本文所述的设备仲裁期间被广播。还应当理解,一个或多个函数可以分别为不同值分配不同权重。
在一些实施例中,电子设备响应于检测到口头触发而确定相应值和/或广播所述值。参考图8A至图8C,口头触发是短语“嘿,Siri”。响应于口头触发“嘿,Siri”,电子设备802-808中的每一者广播相应一组一个或多个值,如所描述的那样。如果音频输入不包含口头触发,则电子设备放弃确定和/或广播一组一个或多个值。
电子设备802-808中的每一者可接收来自其他设备的值集合。以举例的方式,电子设备802可接收来自电子设备804-808的多组值集,电子设备804可接收来自电子设备802、806、808的多组值,以此类推。在已经在电子设备802-808之间交换了值集合之后,每个设备通过分析这些组的值来确定其是否应该对音频输入作出响应,如下文所述。
在一些实施例中,每个设备基于电子设备802-808广播的能级值来确定是否应该对口头指令834作出响应。电子设备802-808中的每一者将各自的“能级”值与其他电子设备广播的“能级”值进行比较。在一些实施例中,如果电子设备广播了最高的“能级”值,则该电子设备对音频输入作出响应。如上所述,“能级”值越高可以指示越邻近用户。因为最接近用户的设备可以与最高能级值相关联,所以使广播了最高“能级”值的电子设备对口头指令834作出响应是有益的。
在一些实施例中,每个设备基于电子设备802-808广播的状态值来确定是否应该对口头指令834作出响应。电子设备802-808中的每一者将各自的“状态”值与其他电子设备广播的“状态”值进行比较。如上所述,电子设备的“状态”值可包含关于电子设备操作的信息,诸如其是否被锁定、其最近是否已经被激活、其最近是否已经接收到特定用户输入。在一些实施例中,电子设备在用户最近已经提供了指示与该特定电子设备交互的意图的输入的情况下对音频输入作出响应。示例性输入包括活动手势(例如在可穿戴电子设备上)、物理触摸(例如在设备的触敏屏幕上)等等。在一些实施例中,如果基于所广播的“状态值”,电子设备是唯一处于解锁状态的设备,则该电子设备对音频输入作出响应。
在一些实施例中,每个设备基于电子设备802-808广播的声纹值来确定是否应该对口头指令834作出响应。电子设备802-808中的每一者将各自的“声纹”值与其他电子设备广播的值进行比较。在一些实施例中,如果基于所广播的值,电子设备是唯一已经将提供音频输入的用户识别为经授权用户的电子设备,则其对音频输入作出响应。例如,如果用户800只在电子设备802(被实施为智能手表)上已经注册了虚拟助理服务,则电子设备802对来自用户800的音频输入作出响应。
在一些实施例中,电子设备802-808中的每一者基于电子设备802-808广播的设备类型值来确定是否应该对口头指令作出响应。电子设备802-808中的每一者将各自的“设备类型”值与其他电子设备广播的值进行比较。当用户的输入指定要执行的任务(诸如“嘿,Siri,给我找一部电视剧”或者“嘿,Siri,带我去那里”)时,设备类型对于智能设备仲裁特别相关。在一些实施例中,如果基于所广播的值,电子设备是能够处理音频输入中所指定的任务的类型的唯一设备,则该电子设备对音频输入作出响应。
在一些实施例中,电子设备(例如通过本地地分析音频输入和/或通过接收来自一个或多个服务器的列表)获得能处理所指定任务的可接受设备类型的列表,并基于所广播的“设备类型”值和可接受设备类型列表确定电子设备是否应该对音频输入作出响应。在一些实施例中,一个或多个服务器接收来自电子设备802-808中的一者或多者的表示所采样音频输入的数据,基于所述数据推导用户意图,并基于用户意图标识具有一个或多个参数的任务。在一些实施例中,一旦所述一个或多个服务器基于音频输入确定任务,所述一个或多个服务器就将任务、参数(如果有的话)、以及用于处理所述任务的可接受设备类型的列表传输给已经采样了音频输入的电子设备(例如电子设备802-808)。关于从自然语言输入标识任务的附加细节可见于例如2016年5月2日提交的名称为“Intelligent DeviceIdentification”的美国实用新型专利申请15/144,618,其据此全文以引用方式并入。
应当理解,本文所述的仲裁过程是示例性的,并且利用一个或多个数值和/或逻辑函数和算法,以上值中的一些或全部可单独或组合地被包括到对于电子设备是否应该对音频输入作出响应的确定中。在一些实施例中,电子设备802-808中的每一者广播多个值(例如总得分和“设备类型”值)。因此,电子设备802-808可根据一个或多个预定算法进行仲裁。在一些实施例中,电子设备802-808中的每一者广播单个得分,其是根据一个或多个函数利用上述值中的一些或全部来计算的。例如,用于广播的单个得分可基于所接收音频质量(例如信噪比)、设备类型、执行任务的能力、以及设备状态的预定加权来计算。另外应当理解,电子设备802-808中的每一者可使用多种逻辑和/或数值函数和算法。还应当理解,可实施对函数和算法的调节以调整上述因子的优先次序。
在一些实施例中,电子设备可通过提供视觉输出(例如显示通知或LED切换)、听觉输出、触觉输出、或它们的组合来对音频输入作出响应。例如,电子设备804可以视觉输出(例如显示音频输入的转录文本)和音频输出(例如“搜索电视剧...”)来对音频输入作出响应。如果电子设备确定不对音频输入作出响应,则电子设备可通过进入非活动模式(例如睡眠模式)来放弃对音频输入作出响应。
参考图8A,电子设备802(被实施为智能手表)、电子设备804(被实施为移动电话)、电子设备808(被实施为扬声器对接底座)和电子设备806(被实施为电视机)中的每一者在采样来自用户800的口头指令834之后生成并广播一组一个或多个值。在该实施例中,每组一个或多个值包括“能级”值和“设备类型”值。通过比较所广播的“能级”值,电子设备804确定其在电子设备802-808中广播了最高“能级”值,从而指示电子设备804相对靠近用户800。
然而,电子设备804还按照口头指令834中指定的任务分析所广播的“设备类型”值。如上所述,口头指令834可被本地或远程地处理并分解成一个或多个任务。例如,电子设备804可本地地将口头指令834分解成任务,或者从一个活多个服务器接收任务以及用于处理任务的可接受设备类型的列表。在该实施例中,电子设备804确定其不是用于处理音频输入中所指定的任务(即视频回放)的可接受(或优选)设备类型。因此,电子设备804放弃对音频输入作出响应。
在一些实施例中,电子设备804还确定其余电子设备中是否有任何电子设备能处理所指定的任务。电子设备804基于其它电子设备广播的设备类型和可接受设备类型列表来进行所述确定。在一些实施例中,如果电子设备804确定其它电子设备中没有设备是用于处理所述任务的可接受设备类型,则电子设备804向用户输出错误消息或者提示用户进行附加输入(例如“您想要在您的iPhone上进行视频回放吗?)。
类似地,电子设备806(被实施为电视机)接收分别来自电子设备802(被实施为智能手表)、808(被实施为扬声器对接底座)和804(被实施为移动电话)的多组一个或多个值。通过分析所广播的这多组值,电子设备806确定其并没有广播最高“能级”值。但是,电子设备806还确定其是能够处理视频回放任务的设备类型。根据确定,电子设备806尽管并未广播最高“能级”值但进行关于是否应该对音频输入作出响应的附加确定。例如,如果电子设备806确定广播了更高“能级”值的电子设备(例如电子设备804)中没有任何电子设备是用于处理所述任务的可接受设备类型,则电子设备806对音频输入作出响应。另一方面,如果电子设备806确定存在至少一个电子设备广播了更高“能级”值并且是用于处理所述任务的可接受设备类型,则电子设备806放弃对音频输入作出响应。在一些实施例中,放弃对音频输入作出响应可包括进入非活动模式。
转到图8B,用户800提供音频输入812,其只包括口头触发(“嘿,Siri”)而并未指定任务。作为响应,电子设备802-808中的每一者生成并广播一组一个或多个值,如所述的那样。在一些实施例中,电子设备802-808中的每一者向彼此广播“能级”值。在一些实施例中,电子设备802-808中的每一者计算对本文所述的示例性值中的一些或全部进行合计的单个值。在该实施例中,电子设备804确定其广播了最高“能级”值,从而指示电子设备804比其它电子设备更靠近用户800。因此,电子设备804对音频输入812作出响应,其余电子设备放弃对音频输入作出响应。
在一些实施例中,因为音频输入812(“嘿,Siri”)并未指定任务,所用电子设备802-808可放弃广播“设备类型”值,并且在仲裁过程中仅依赖于“能级”值。在一些实施例中,电子设备802-808在确定用户在口头触发(例如“嘿,Siri”)之后预先确定时间段内未提供另一话语时放弃广播“设备类型”值。应当理解,在电子设备确定对音频输入812(“嘿,Siri”)作出响应之后,该电子设备可接收指定任务的话语,并且如果该电子设备不是用于执行所指示任务的类型或者第二电子设备更好地适于执行所指定的任务,则可使任务在第二电子设备处执行。
转到图8C,用户800将电子设备802(被实施为智能手表)抬高到抬起位置,然后提供音频输入814(“嘿,Siri”)。在一些实施例中,电子设备802广播的那组一个或多个值包括指示电子设备802处用户的手势输入的值。所述值可以是指示存在最近用户输入的值,或者可包括关于用户输入的详细信息诸如时间戳、输入类型等。鉴于电子设备802的所广播的“状态”值,电子设备804-808放弃对音频输入作出响应,并且电子设备802对音频输入作出响应。在一些实施例中,不管其他所广播的值是什么,广播了指示电子设备处特定类型用户输入(例如活动手势、物理触摸)的值的电子设备应该对音频输入作出响应。在一些实施例中,当多个电子设备广播了指示相应电子设备处特定类型用户输入的值时,不管其他所广播的值是什么,广播了指示最新近用户输入的值(例如时间戳)的电子设备应该对音频输入作出响应。
在一些实施例中,如果电子设备广播一组一个或多个值且并未接收来自另一电子设备的任何一组一个或多个值,则该电子设备对音频输入作出响应,而不管所广播的值是什么。
5.用于智能设备控制的示例性技术
图9A至图9C示出了根据一些实施方案的用于智能设备控制的示例性技术。这些附图还用于示出下文描述的过程,包括图11A至图11E中的过程。
图9A示出了用于利用虚拟助理控制电子设备的一种示例性系统和环境900。在一些实施方案中,第一用户设备908和第二用户设备910可以是设备104、122、200、400、600、和1330(图1、图2A、图3、图4、图5A、图6A至图6B和图13)中的任何设备。在一些实施例中,用户设备908和910中的每一者可以是电视机、机顶盒、音频扬声器、移动电话、智能手表、膝上型电脑、台式计算机、平板电脑、或它们的组合。虚拟助理服务器902可利用本文所述的任何系统诸如图1的系统108来实施。媒体标识存储装置906和设备标识存储装置904中的每一者可位于虚拟助理服务器902、第一用户设备908、第二用户设备910、或与虚拟助理服务器902通信的任何其他设备或系统上。
如图9A所示,在操作中,第一用户设备908接收用户输入(例如“在我的客厅中播放The Ramones”)。在一些实施例中,用户输入包括用户语音,并且第一用户设备908利用第一电子设备908的麦克风接收用户输入。在一些实施例中,第一电子设备908将用户输入转换成音频输入的表示。音频输入的表示可以是模拟或数字表示。在一些实施例中,所述表示是文本表示,并且第一电子设备908利用语音文本转换将用户输入转换成文本表示。可利用任何已知的语音文本转换过程来转换用户语音。
在920,用户输入或其表示被第一电子设备908提供(例如传输)给虚拟助理服务器902以用于处理。
基于用户输入,虚拟助理服务器902标识一个或多个任务和参数。例如,虚拟助理服务器902解释用户的输入的文本表示以推导意图并将意图操作化定义成一个或多个任务。在所示实施例中,基于用户输入“在我的客厅中播放The Ramones”,虚拟助理服务器902将任务识别成是将一个或多个媒体项添加到所期望电子设备处的媒体播放队列。可通过任意数量的方式来标识任务。用于标识任务的技术可见于例如2014年9月30日提交的名称为“Intelligent Assistant for Home Automation”的美国实用新型专利申请14/503,105和2016年6月9日提交的名称为“Intelligent Automated Assistant in a HomeEnvironment”的美国临时专利申请62/348,015(代理人卷号770003000100(P30331USP1))中,这些专利申请的全部公开内容以引用方式并入本文。
另外,虚拟助理服务器902标识为了完成所述任务所需要的相关参数。在一些实施例中,所述参数包括要播放的媒体项的指示,诸如歌曲标题和媒体文件名称。在一些实施例中,所述参数包括要播放的媒体项的类型的指示,诸如音频、视频和文本。在一些实施例中,所述参数包括所期望电子设备的位置的指示,诸如与用户相关联的命名位置和配置(“客厅”、“车库”、“楼上”)或GPS坐标。在一些实施例中,所述参数包括所期望电子设备的类型的指示,诸如电视机、扬声器对接底座、和智能手表。在所示实施例中,虚拟助理服务器902将所述参数标识为是“Ramones”和“客厅”。
在940,虚拟助理服务器902将对于一个或多个用户设备的标识的请求传输给设备标识存储装置904。所述请求包括用于标识一个或多个用户设备的一个或多个参数。在一些实施例中,所述一个或多个参数可指定命名位置(例如“客厅”)、设备类型(例如“AppleTV”)、和/或媒体项的一个或多个属性,诸如媒体项的类型(例如“音频”和“视频”)。
设备标识存储装置904可存储与各个电子设备相关联的用于多个属性的数据和/或模型以及相关信息。可为电子设备存储的属性包括但不限于唯一标识符、状态、类型、位置、所支持的媒体类型以及所有者。例如,设备标识存储装置904可存储将设备与类型“AppleTV”、命名位置“客厅”和所支持的媒体类型“音频”和“视频”相关联的信息。又如,设备标识存储装置904可存储将设备与类型“扬声器”、命名位置“车库”和所支持的媒体类型“音频”相关联的信息。
设备标识存储装置904可经由硬件、软件或这两者的组合来实施。在一些实施例中,设备标识存储装置904可位于包括第一用户设备908和第二用户设备910的上述电子设备中的一者或多者上。设备标识存储装置904可位于托管媒体标识存储装置906和虚拟助理服务器902中任一者的相同电子设备上。
在设备标识存储装置904处,基于在来自虚拟助理服务器902的请求中提供的参数来标识一个或多个用户设备。在一些实施例中,设备标识存储装置804确定在数据库中具有条目的电子设备中的任何电子设备是否具有与参数匹配的属性。在所示实施例中,用户设备910被设备标识存储装置904基于在940接收的请求来标识。关于电子设备的标识的附加细节可见于例如2014年9月30日提交的名称为“Intelligent Assistant for HomeAutomation”的美国实用新型专利申请14/503,105中,该美国实用新型专利申请的全部公开内容以引用方式并入本文。
响应于对一个或多个设备的标识的请求,在942处,虚拟助理服务器902接收一个或多个设备的标识信息。在所示实施例中,标识信息包括对应于所标识用户设备910的唯一标识符(例如“uid=123456”)。
在960,虚拟助理服务器902将对于一个或多个媒体项的标识的请求传输给媒体标识存储装置906。所述请求包括允许标识所述一个或多个媒体项的一个或多个参数,诸如参数“Ramones”。媒体标识存储装置906包括通过与媒体项相关联的一个或多个属性(包括标题、艺术家、流派、长度和任何其他相关信息)来关联(例如编目)一组媒体项的数据库。以举例的方式,在媒体标识存储装置906处基于参数“Ramones”标识一个或多个媒体项。
响应于对一个或多个媒体项的标识的请求,在962处,虚拟助理服务器902接收从媒体标识存储装置906标识的一个或多个媒体项的标识信息。在一些实施例中,标识信息包括对应于所标识的一个或多个媒体项的唯一标识符,诸如“artist://store/56989”。一个或多个媒体项的唯一标识符可用于例如利用一个或多个支持媒体回放的应用程序标识、随后访问所标识的一个或多个媒体项。媒体标识存储装置906可位于任何本地或远程电子设备上,诸如虚拟助理服务器902所位于的相同电子设备上。应当理解,虽然940处的操作被图示为在960处的操作之前进行,但对应于960和940的操作可以任何时间顺序或者同时地执行。
在980处,虚拟助理服务器902将联合的命令提供给第一用户设备908。所述命令包括一个或多个媒体项的标识信息和用户设备910的标识信息。在图9A中所示的实施例中,联合的命令包括文本串“SetMediaPlayerQueue artist://store/56989AirplayRouteUid=12456”。响应于接收到联合的命令,在982处,用户设备908致使在所标识的用户设备(例如第二用户设备910,被实施为电视机)处回放所标识的一个或多个媒体项(例如与theRamones有关的媒体)。在一些实施例中,第一用户设备908将从联合的命令推导的相关信息传输给第二用户设备910。
参考图9B,在一些实施例中,设备标识存储装置904通过与设备跟踪存储装置912通信而提供(例如生成)和/或更新电子设备的其数据库中的条目。设备跟踪存储装置912提供对具有特定属性的电子设备的发现,并与设备标识存储装置904通信以更新设备标识存储装置904的数据库。设备跟踪存储装置912可经由硬件、软件或这两者的组合来实施。此外,设备跟踪存储装置912可位于本文所述的任何电子设备上,诸如第一用户设备908或第二用户设备910。设备跟踪存储装置912可位于托管媒体标识存储装置906、虚拟助理服务器902、设备标识存储装置904、或与设备标识存储装置904通信的任何设备或系统的相同电子设备上。
在一些实施例中,设备标识存储装置904响应于用户输入(例如“在我的Apple TV上播放the Ramones”)而提供和/或更新其数据库中电子设备的条目。如图9B所示,响应于接收到对一个或多个用户设备的标识的请求(940),设备标识存储装置904在930处与设备跟踪存储装置912通信,以致使发现具有请求中所指定或推导自请求的一个或多个属性的所有电子设备。在一些实施例中,设备的发现是响应于设备标识存储装置904不能标识具有与来自虚拟助理服务器902的请求中所提供的那些参数匹配的参数的设备而被执行。在932处,设备跟踪存储装置912将新发现电子设备的列表传递给设备标识存储装置904。基于所发现的电子设备和对应的属性,设备标识存储装置904在其数据库中更新相关条目。在一些实施例中,对应于所发现电子设备和相应属性的数据被至少部分地缓存在设备跟踪存储装置912或设备标识存储装置904处一段时间(例如几分钟)。
在一些实施例中,设备标识存储装置904自动地和/或周期性地在其数据库中提供和/或更新电子设备的条目。例如,设备跟踪存储装置912可在没有来自虚拟助理服务器902的请求以及没有来自设备标识存储装置904的任何通信的情况下促进电子设备的发现。
在一些实施例中,在940处将请求发送给设备标识存储装置904之后,虚拟助理服务器902接收要求来自用户的输入的标识信息。在一个实施例中,响应于设备标识存储装置904已经标识了多个用户设备对应于请求的参数而要求用户输入。这样,提示用户通过在一些情况下从所标识的多个用户设备中选择设备来提供消除歧义输入。又如,要求用户输入来验证例如响应于设备标识存储装置904不能标识与请求参数匹配的设备而发现的设备。
如图9C所示,虚拟助理服务器902在942接收来自设备标识存储装置904的多个所标识电子设备的标识信息。在944,虚拟助理服务器902将标识信息提供(例如传输)给用户设备908以供用户消除歧义。因此,用户设备908向用户呈现(例如显示)所述多个所标识电子设备的列表,并提示用户提供包括从列表中选择设备的输入。在一些实施例中,设备列表包括设备的区分属性,诸如颜色和型号。
所选设备的指示在946处从用户设备908传输给虚拟助理服务器902。在980处,基于所接收的数据,虚拟助理服务器902生成联合的命令,并将该命令提供给用户设备908。所述命令包括一个或多个媒体项的标识信息和用户所选设备的标识信息。例如在图9A中,所述命令是文本串“SetMediaPlayerQueue artist://store/56989AirplayRouteUid=12456”。
在一些实施例中,虚拟助理服务器902接收要求用户验证的一个或多个电子设备的标识信息。如上所述,设备标识存储装置904可能不能标识属性与虚拟助理服务器902提供的请求中的参数匹配的用户设备,并且作为响应,可通过发现来标识设备。虚拟助理服务器902将以这种方式标识的设备的标识信息提供(例如传输)给用户设备908,以用于用户验证。
在用户设备908处,提示用户验证候选设备和/或提供要与候选设备相关联的有关信息。例如,可用输出(例如音频输出)“这个扬声器在您的客厅中吗?”来提示用户。作为响应,用户设备908接收来自用户的确认或拒绝候选设备的输入,并将对应于用户的输入的数据传输给虚拟助理服务器902。如果用户确认候选设备,则虚拟助理服务器902相应地生成联合的命令,并将该命令提供给用户设备908,如所描述的那样。如果用户拒绝候选设备,则用户设备908输出错误消息,并且在一些情况下,将用户对候选设备的拒绝传送给虚拟助理服务器902。
在一些实施例中,设备标识存储装置904的数据库响应于用户在用户设备908处的输入而更新。虚拟助理服务器902例如可接收用户的输入,并作为响应而使设备标识存储装置904更新电子设备的数据库。以举例的方式,虚拟助理服务器902在946处接收消除歧义响应,并且在948处致使用户所选设备的条目在设备标识存储装置904的数据库处被创建和/或更新。例如,用户所选设备然后基于用户输入与现有配置(例如“客厅”配置)相关联。关于配置的创建和管理的附加细节可见于例如2014年9月30日提交的名称为“IntelligentAssistant for Home Automation”的美国实用新型专利申请14/503,105中,该美国实用新型专利申请的整个公开内容以引用方式并入本文。
6.用于智能设备仲裁的过程
图10A至图10C示出了根据各种实施例的用于操作数字助理的过程1000。过程1000例如利用实施数字助理的一个或多个电子设备(例如设备104、106、200、400或600)来执行。在一些实施例中,所述过程在实施数字助理的客户端-服务器系统(例如系统100)处执行。所述过程的框可以任何方式在服务器(例如DA服务器106)和客户端(例如用户设备104)之间分配。在过程1000中,一些框任选地被组合,一些框的次序任选地被改变,并且一些框任选地被省略。在一些实施例中,下文参考图10A至图10C所述的特征或框的仅一个子集被执行。
如下文所述,方法1000提供了一种有效的方式来针对对用户输入作出响应而在多个设备之间进行仲裁。该方法减少了用户管理多个设备的认知负担,从而创建更有效的人机接口。对于电池驱动的计算设备,使得用户能够更有效率地实现任务的完成就节省了功率并且增大了电池两次充电之间的时间间隔。
在框1002处,具有麦克风的第一电子设备采样音频输入。在一些实施例中,音频输入可经由电子设备的麦克风(例如麦克风213)来接收。所接收的音频输入可被处理(例如利用音频电路210或处理器220),并被转换成代表性形式,诸如例如电子信号(数字或模拟)或一个或多个音频文件。
在框1008处,第一电子设备广播基于所采样的音频输入的第一组一个或多个值。在一些实施例中,第一组值中的值是基于第一电子设备采样的音频输入的语音的信噪比。在一些实施例中,第一组值中的值基于第一电子设备采样的音频输入的声压。在一些实施例中,第一电子设备标识指示音频输入是由特定用户提供的可能性的置信度值,并且第一组值中的值基于置信度值。在一些实施例中,第一电子设备标识第一电子设备的状态,并且第一组值中的值基于所标识的第一电子设备的状态。在一些实施例中,第一电子设备的状态基于第一电子设备接收的用户输入来标识。在一些实施例中,第一组一个或多个值中的至少一个值基于第一电子设备的类型。
在框1004处,第一电子设备任选地确定音频输入是否包括口头触发(例如“嘿,Siri”)。在框1006处,根据确定音频输入不包括口头触发,第一电子设备放弃广播第一组一个或多个值。
在框1010处,第一电子设备接收来自第二电子设备的第二组一个或多个值。第二组一个或多个值基于在第二电子设备处采样的音频输入。
在框1012处,第一电子设备基于第一组一个或多个值和第二组一个或多个值来确定第一电子设备是否应该对音频输入作出响应。在一些实施例中,第一电子设备通过在框1042处确定第一组一个或多个值中的值是否比第二组一个或多个值中的对应值高来确定第一电子设备是否应该对音频输入作出响应。
在框1014处,根据确定第一电子设备应该对音频输入作出响应,第一电子设备对音频输入作出响应。在一些实施例中,音频输入包括指示任务的附加输入。在框1018处(图10B),第一电子设备还确定第一电子设备的类型是否满足任务的要求。在框1020处,第一电子设备任选地接收来自服务器的指示任务的要求的数据。
在框1022处,根据确定第一电子设备的类型满足任务的要求,第一电子设备对音频输入作出响应。在框1024处,根据确定第一电子设备的类型不满足任务的要求,第一电子设备可放弃对音频输入作出响应,或者任选地,进行附加的确定来确定第二设备是否应该对音频输入作出响应。在框1026处,根据确定第二设备应该对音频输入作出响应,第一电子设备放弃用第一电子设备对音频输入作出响应。在框1028处,根据确定第二设备不应该对音频输入作出响应,第一电子设备提供指示错误的输出。
在框1016处(图10A),根据确定第一电子设备不应该对音频输入作出响应,第一电子设备放弃对音频输入作出响应。在一些实施例中,音频输入包括指示任务的附加输入。在框1030处(图10C),第一电子设备任选地确定第一电子设备的类型是否满足任务的要求。在框1032处,第一电子设备任选地接收来自服务器的指示任务的要求的数据。
在框1034处,根据确定第一电子设备的类型满足任务的要求,第一电子设备基于第一组一个或多个值、第二组一个或多个值、和任务的要求来确定是否应该用第一电子设备对音频输入作出响应。在框1036处,根据确定应该用第一电子设备对音频输入作出响应,第一电子设备用第一电子设备对音频输入作出响应。在框1038处,根据确定不应该用第一电子设备对音频输入作出响应,第一电子设备放弃用第一电子设备对音频输入作出响应。
在框1040处,根据确定第一电子设备的类型不满足任务的要求,第一电子设备放弃用第一电子设备对音频输入作出响应。在一些实施例中,放弃用第一电子设备对音频输入作出响应包括进入非活动模式,如框1044所示。
在一些实施例中,第一组一个或多个值根据单向广播通信协议诸如BTLE通告模式来广播。
在一些实施例中,根据确定第一电子设备应该对音频输入作出响应,第一电子设备提供视觉输出、听觉输出、触觉输出、或者它们的组合。
7.用于智能设备控制的过程
图11A至图11E示出了根据各种实施例的用于操作数字助理的过程1100。过程1100例如利用实施数字助理的一个或多个电子设备(例如设备104、106、200、400、600、1300、1330、或1360)来执行。在一些实施例中,所述过程在实施数字助理的客户端-服务器系统(例如系统100)处执行。所述过程的框可以任何方式在服务器(例如DA服务器106)和客户端(例如用户设备104)之间分配。在过程1100中,一些框任选地被组合,一些框的次序任选地被改变,并且一些框任选地被省略。在一些实施例中,下文参考图11A至图11E所述的特征或框的仅一个子集被执行。
如下文所述,方法1100提供了一种有效的方式来控制多个设备中的一个设备用于对用户输入作出响应。该方法减少了用户管理多个设备的认知负担,从而创建更有效的人机接口。对于电池驱动的计算设备,使得用户能够更有效率地实现任务的完成就节省了功率并且增大了电池两次充电之间的时间间隔。
在框1102处,电子设备接收来自第一用户设备的对应于音频输入的数据。
在框1104处,电子设备基于对应于音频输入的数据来获取第二用户设备的标识。在一些实施例中,电子设备是第一电子设备,并且与第二电子设备通信以获取第二用户设备的标识。在一些实施例中,第二电子设备是第一用户设备(例如利用相同硬件来实施)。
任选地,在框1106处,第一电子设备基于对应于音频输入的数据来标识任务和参数。在框1108处,第一电子设备向第二电子设备传输请求,其中该请求包括标识用于执行任务的用户设备的参数。
在框1110处,第二电子设备接收包括参数的请求。在框1112处,第二电子设备响应于接收到请求而发现一个或多个用户设备。任选地在框1113处,第二电子设备发现与用户的命名位置的指示相关联的用户设备。在框1114处,第二电子设备基于所发现的一个或多个用户设备的属性来更新记录。所述记录存储分别对应于多个用户设备的多组属性。在框1116处,第二电子设备缓存所发现的一个或多个用户设备的属性。在一些实施例中,框1112-1116中的步骤在没有来自第一电子设备的任何请求的情况下自动地和/或周期性地执行。在框1118处,第二电子设备获取来自记录的数据。在一些实施例中,多个用户设备中的用户设备是计算机、电视机、机顶盒、音频扬声器或电话。在框1120处(图11B),第二电子设备基于参数来确定第二用户设备的标识,其中第二用户设备是多个用户设备的成员。在一些实施例中,第二电子设备通过在框1121处确定第二用户设备的至少一个属性是否匹配参数来确定第二用户设备的标识。在框1122处,第二电子设备将第二用户设备的标识传输给第一电子设备。
在框1124处,第一电子设备接收来自第二电子设备的第二用户设备的标识。在一些实施例中,参数包括用户的命名位置的指示。在一些实施例中,参数包括设备的类型的指示。在一些实施例中,参数包括一个或多个媒体项的一个或多个属性。
任选地,在框1126处,第一电子设备基于对应于音频输入的数据来标识任务和参数。在框1132处,第一电子设备接收来自第二电子设备的对应于多个用户设备的多个标识。在一些实施例中,在第二电子设备处获取多个标识类似于参考框1108-1122所述的步骤。在框1134处,第一电子设备将对应于多个用户设备的多个标识传输给第一用户设备。在框1136处,第一用户设备接收对应于多个用户设备的多个标识。在框1138处,第一用户设备将多个用户设备呈现为可选选项。在框1140处(图11C),第一用户设备接收表示对多个用户设备中的特定用户设备的选择的输入。在框1142处,第一用户设备将对应于对特定用户设备的选择的数据传输给第一电子设备。在一些实施例中,多个用户设备中的每一者具有匹配所述参数的属性。
在框1144处,第一电子设备接收来自第一用户设备的对应于对多个用户设备中的特定用户设备的选择的数据。在框1146处,第一电子设备基于所接收的对应于对多个用户设备中的特定用户设备的选择的数据来获取第二用户设备的标识。
任选地,在框1148处,第一电子设备基于对应于音频输入的数据来标识任务和参数。在框1150处,第二电子设备接收来自第一电子设备的对于用户设备的标识的请求,其中该请求包括所述参数。在框1152处,第二电子设备获取来自记录的数据,其中该记录存储分别对应于多个用户设备的多组属性。在框1154处(图11D),第二电子设备基于参数来确定对应于候选用户设备的数据,其中候选用户设备不是存储在记录中的多个用户设备的成员。在一些实施例中,框1193处基于参数来获取对应于候选用户设备的数据还包括在框1151处用第二电子设备确定多个用户设备中没有设备具有与所述参数匹配的属性以及用第二电子设备发现候选用户设备。在框1153处,候选用户设备具有匹配所述参数的属性。在框1156处,第二电子设备将对应于候选用户设备的数据传输给第一电子设备。
在框1158处,第一电子设备接收来自第二电子设备的对应于候选用户设备的数据。在框1160处,第一电子设备将对应于候选用户设备的数据传输给第一用户设备。在框1162处,第一用户设备接收对应于候选用户设备的数据。在框1164处,第一用户设备将候选用户设备呈现为可确认选项。在框1166处,第一用户设备接收表示对候选用户设备的确认的输入。在框1168处(图11E),第一用户设备将对应于对候选用户设备的确认的数据传输给第一电子设备。在一些实施例中,第一用户设备在框1171接收对候选用户设备的拒绝。作为响应,第一用户设备在框1173呈现指示错误的输出。
在框1170处,第一电子设备接收来自第一用户设备的对应于对候选用户设备的确认的数据。在框1172处,第一电子设备响应于接收对应于确认的数据而通过获取候选用户设备的标识来获取第二用户设备的标识。在一些实施例中,第二电子设备在框1171处将对应于对候选用户设备的确认的数据接收到第一电子设备,并且响应于接收到对应于确认的数据而在框1173处更新所述记录。
在框1174处,电子设备基于对应于音频输入的数据来获取媒体项的标识。任选地,在框1176处,第一电子设备基于对应于音频输入的数据来标识任务和参数。任选地,在框1178处,第一电子设备向数据库传输请求,其中该请求包括标识一个或多个媒体项的参数。任选地,在框1180处,第一电子设备接收来自数据库的一个或多个媒体项的标识。在一些实施例中,媒体项的标识包括一个或多个媒体项的唯一标识符。
根据一些实施方案,图12示出了根据各种所述实施方案(包括参考图8A至图8C和图10A至图10C所述的那些)的原理进行配置的一种电子设备1200的功能框图。设备的功能块任选地由硬件、软件、或软硬件组合来实施,以实现所述各种实施方案的原理。本领域的技术人员应当理解,图12中所述的功能块任选地被组合或被分为子块,以便实现各种所述实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图12中所示,电子设备1200包括麦克风单元1202、处理单元1208,并且任选地还包括输出单元1204,处理单元1208耦接至麦克风单元1202并且任选地耦接至输出单元1204。在一些实施方案中,处理单元1208包括广播单元1210、接收单元1212、确定单元1214、响应单元1216,并且任选地包括标识单元1218和进入单元1220。
在一些实施例中,处理单元1208被配置为:采样(例如用麦克风单元1210)音频输入(例如图10A的框1002);广播(例如用广播单元1210)基于所采样的音频输入的第一组一个或多个值(例如图10A的框1008);接收(例如用接收单元1212)来自第二电子设备的第二组一个或多个值,其中第二组一个或多个值基于所述音频输入(例如图10A的框1010);基于第一组一个或多个值和第二组一个或多个值来确定(例如用确定单元1214)电子设备是否应该对所述音频输入作出响应(例如图10A的框1012);根据确定电子设备应该对所述音频输入作出响应,对所述音频输入作出响应(例如用响应单元1216)(例如图10A的框1014);以及根据确定电子设备不应该对所述音频输入作出响应,放弃对所述音频输入作出响应(例如用响应单元1216)(例如图10A的框1016)。
在一些实施例中,第一组值中的值基于电子设备1200采样的音频输入的语音的信噪比。
在一些实施例中,第一组值中的值基于电子设备1200采样的音频输入的声压。
在一些实施例中,处理单元1208被进一步配置为标识(例如利用标识单元1218)指示所述音频输入是由特定用户提供的可能性的置信度值,并且所述第一组值中的值基于所述置信度值。
在一些实施例中,处理单元1208被进一步配置为标识(例如利用标识单元1218)电子设备1200的状态,并且所述第一组值中的值基于所标识的电子设备1200的状态。
在一些实施例中,电子设备1200的状态是基于电子设备1200接收的用户输入来标识的。
在一些实施例中,第一组一个或多个值中的至少一个值基于电子设备1200的类型。
在一些实施例中,采样音频输入包括确定(例如用确定单元1214)所述音频输入是否包括口头触发(例如图10A的框1004)。处理单元1208被进一步配置为:根据确定所述音频输入不包括所述口头触发,放弃广播(例如用广播单元1210)第一组一个或多个值。
在一些实施例中,所述音频输入包括指示任务的附加输入,并且用电子设备1200对所述音频输入作出响应还包括:确定(例如用确定单元1214)电子设备的类型是否满足所述任务的要求(例如图10B的框1018);根据确定电子设备的类型满足所述任务的要求,对所述音频输入作出响应(例如用响应单元1216)(例如图10B的框1022);根据确定电子设备的类型不满足所述任务的要求,放弃对所述音频输入作出响应(例如用响应单元1216)(例如图10B的框1024)。
在一些实施例中,处理单元1208被进一步配置为:根据确定电子设备的类型不满足所述要求,确定(例如用确定单元1214)第二设备是否应该对所述音频输入作出响应(例如图10B的框1024);根据确定第二设备应该对所述音频输入作出响应,放弃用电子设备对所述音频输入作出响应(例如用响应单元1216)(例如图10B的框1028);根据确定第二设备不应该对所述音频输入作出响应,提供(例如用输出单元1204)指示错误的输出(例如图10B的框1026)。
在一些实施例中,处理单元1208被进一步配置为:接收(例如用接收单元1212)来自服务器的指示所述任务的要求的数据(例如图10B的框1020)。
在一些实施例中,所述音频输入包括指示任务的附加输入,并且放弃用电子设备对所述音频输入作出响应还包括:确定(例如用确定单元1214)电子设备的类型是否满足所述任务的要求(例如图10C的框1030);根据确定电子设备的类型满足所述任务的要求,基于所述第一组一个或多个值、所述第二组一个或多个值、和所述任务的要求确定(例如用确定单元1214)是否应该用电子设备对所述音频输入作出响应(例如图10C的框1034);根据确定应该用电子设备对所述音频输入作出响应,用电子设备对所述音频输入作出响应(例如用响应单元1216)(例如图10C的框1036);以及根据确定不应该用电子设备对所述音频输入作出响应,放弃用电子设备对所述音频输入作出响应(例如用响应单元1216)(例如图10C的框1038);以及根据确定电子设备的类型不满足所述任务的要求,放弃用电子设备对所述音频输入作出响应(例如用响应单元1216)(例如图10C的框1040)。
在一些实施例中,处理单元1208被进一步配置为:接收(例如用接收单元1212)来自服务器的指示所述任务的要求的数据(例如图10C的框1032)。
在一些实施例中,放弃用电子设备1200对所述音频输入作出响应包括进入(例如用进入单元1220)非活动模式(例如图10A的框1044)。
在一些实施例中,所述第一组一个或多个值根据单向广播通信协议来广播。
在一些实施例中,处理单元1208被进一步配置为:根据确定电子设备应该对所述音频输入作出响应,提供(用输出单元1204)视觉输出、听觉输出、触觉输出、或者它们的组合。
在一些实施例中,确定电子设备是否应该对所述音频输入作出响应包括:确定(例如用确定单元1214)所述第一组一个或多个值中的值是否比所述第二组一个或多个值中的对应值高(例如图10A的框1042)。
以上参考图10A至图10C描述的操作任选地由图1至图4、图6A至图6B、图7A和图12中描绘的部件来实现。例如,采样操作1002、确定操作1004、广播操作1006、和接收操作1010任选地由处理器120来实现。本领域的普通技术人员会清楚地知道可如何基于在图1A至图4、图6A至图6B、图7A和图12中所描绘的部件来实现其他过程。
根据一些实施方案,图13示出了包括第一电子设备1300、第一用户设备1330、和第二电子设备1360的一种系统的功能框图,其中至少一者根据各种所述实施方案(包括参考图9A至图9C和图11A至图11E所述的那些)的原理进行配置。设备的功能块任选地由硬件、软件、或软硬件组合来实施,以实现所述的各种实施方案的原理。本领域的技术人员应当理解,图13中所述的功能块任选地被组合或被分为子块,以便实现各种所述实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。
如图13中所示,第一电子设备1300包括第一处理单元1308。在一些实施方案中,处理单元1308包括接收单元1310、获取单元1312、提供单元1314,并且任选地包括标识单元1316和传输单元1318。第一用户设备1330包括任选地耦接到任选的输出单元的第二处理单元1338。第二处理单元1338任选地包括致使单元1340、接收单元1342、确定单元1344、响应单元1346、标识单元1348和传输单元1350。第二电子设备1360包括第三处理单元1368。第三处理单元1368任选地包括接收单元1370、获取单元1372、确定单元1374、传输单元1376、发现单元1378、更新单元1380和缓存单元1382。
在一些实施例中,第一处理单元1308被配置为:接收(例如用接收单元1330)来自第一用户设备1330的对应于音频输入的数据(例如图11A的框1102);基于对应于音频输入的数据来获取(例如用获取单元1312)第二用户设备的标识(例如图11A的框1104);基于对应于音频输入的数据来获取(例如用获取单元1312)媒体项的标识(例如图11E的框1174);将包括所述媒体项的标识和所述第二用户设备的标识的命令提供(例如用提供单元1314)给第一用户设备1330(例如图11E的框1182)。
在一些实施例中,第二处理单元1338被配置为致使第二用户设备处所述媒体项的回放(例如图11E的框1184)。
在一些实施例中,获取媒体项的标识包括:基于对应于音频输入的数据来标识(例如用标识单元1316)任务和参数(例如图11E的框1176);将请求传输(例如用传输单元1318)给数据库,其中所述请求包括标识一个或多个媒体项的所述参数(例如图11E的框1178);以及接收(例如用接收单元1310)来自数据库的所述一个或多个媒体项的标识(例如图11E的框1180)。
在一些实施例中,所述媒体项的标识包括所述一个或多个媒体项的唯一标识符。
在一些实施例中,获取第二用户设备的标识包括:基于对应于音频输入的数据来标识(例如用标识单元1316)任务和参数(例如图11A的框1106);将请求传输(例如用传输单元1318)给第二电子设备1360,其中所述请求包括标识用于执行所述任务的用户设备的所述参数(例如图11A的框1108);以及接收(例如用接收单元1310)来自第二电子设备1360的所述第二用户设备的标识(例如图11B的框1124)。
在一些实施例中,所述参数包括用户的命名位置的指示。
在一些实施例中,所述参数包括设备的类型的指示。
在一些实施例中,所述参数包括所述一个或多个媒体项的一个或多个属性。
在一些实施例中,第二电子设备1360是第一用户设备1330。
在一些实施例中,第三处理单元1368被配置为:接收(例如用接收单元1370)包括所述参数的所述请求(例如图11A的框1110);获取(例如用获取单元1372)来自记录的数据,其中所述记录存储分别对应于多个用户设备的多组属性(例如图11A的框1118);基于所述参数确定(例如用确定单元1374)第二用户设备的标识,其中第二用户设备是所述多个用户设备的成员(例如图11B的框1120);以及将所述第二用户设备的标识传输(例如用传输单元1376)给第一电子设备1300(例如图11B的框1122)。
在一些实施例中,基于所述参数确定第二用户设备的标识包括:确定(例如用确定单元1374)第二用户设备的至少一个属性是否匹配所述参数(例如图11B的框1121)。
在一些实施例中,所述多个用户设备中的用户设备是计算机。
在一些实施例中,所述多个用户设备中的用户设备是电视机。
在一些实施例中,所述多个用户设备中的用户设备是机顶盒。
在一些实施例中,所述多个用户设备中的用户设备是音频扬声器。
在一些实施例中,所述多个用户设备中的用户设备是电话。
在一些实施例中,第三处理单元1368被进一步配置为:发现(例如用发现单元1378)一个或多个用户设备并基于所发现的一个或多个用户设备的属性更新(例如用更新单元1380)所述记录。这些步骤类似于在框1112和1114执行的那些步骤(图11A),但自动地和/或周期性地执行(而不是响应于接收用户请求而执行)。
在一些实施例中,第三处理单元1368被进一步配置为:响应于接收包括所述参数的所述请求,发现(例如用发现单元1378)一个或多个用户设备(例如图11A的框1112)并基于所发现的一个或多个用户设备的属性更新(例如用更新单元1380)所述记录(例如图11A的框1114)。
在一些实施例中,发现一个或多个用户设备包括发现与用户的命名位置的指示相关联的用户设备(例如图11A的框1113)。
在一些实施例中,第三处理单元1368被进一步配置为:缓存(例如用缓存单元1382)所发现的一个或多个用户设备的属性(例如图11A的框1118)。
在一些实施例中,基于对应于音频输入的数据来获取第二用户设备的标识还包括:基于对应于音频输入的数据来标识(例如用标识单元1316)任务和参数(例如图11B的框1126);接收(例如用接收单元1310)来自第二电子设备1360的对应于多个用户设备的多个标识(例如图11B的框1132);将对应于所述多个用户设备的所述多个标识传输(例如用传输单元1318)给第一用户设备1330(例如图11B的框1134);接收(例如用接收单元1310)来自第一用户设备1330的对应于对所述多个用户设备中的特定用户设备的选择的数据(例如图11C的框1144);基于所接收的对应于对所述多个用户设备中所述特定用户设备的选择的数据而获取(例如用获取单元1312)第二用户设备的标识(例如图11C的框1146)。
在一些实施例中,第二处理单元1338被进一步配置为:接收(例如用接收单元1342)对应于所述多个用户设备的所述多个标识(例如图11B的框1136);将所述多个用户设备呈现(例如用输出单元1334)为可选选项(例如图11B的框1138);接收(例如用接收单元1342)表示对所述多个用户设备中所述特定用户设备的选择的输入(例如图11C的框1140);将对应于对所述特定用户设备的选择的数据传输(例如用传输单元1350)给第一电子设备1300(例如图11C的框1142)。
在一些实施例中,所述多个用户设备中的每一者具有匹配所述参数的属性。
在一些实施例中,基于对应于音频输入的数据来获取第二用户设备的标识还包括:基于对应于音频输入的数据来标识(例如用标识单元1316)任务和参数(例如图11C的框1148);接收(例如用接收单元1310)来自第二电子设备1360的对应于候选用户设备的数据(例如图11D的框1158);将对应于候选用户设备的数据传输(例如用传输单元1318)给第一用户设备1330(例如图11D的框1160);接收(例如用接收单元1310)来自第一用户设备1330的对应于对候选用户设备的确定的数据(例如图11E的框1170);以及响应于接收对应于所述确认的数据,通过获取(例如用获取单元1312)候选用户设备的标识而获取第二用户设备的标识(例如图11E的框1172)。
在一些实施例中,第二处理单元1338被进一步配置为:接收(例如用接收单元1342)对应于候选用户设备的数据(例如图11D的框1162);将候选用户设备呈现(例如用输出单元1334)为可确认选项(例如图11D的框1164);接收(例如用接收单元1342)表示对候选用户设备的确认的输入(例如图11D的框1166);以及将对应于对所述候选用户设备的所述确定的数据传输(例如用传输单元1350)给第一电子设备1300(例如图11E的框1168)。
在一些实施例中,第二处理单元1338被进一步配置为:接收(例如用接收单元1342)对应于候选用户设备的数据;将候选用户设备呈现(例如用输出单元1334)为可确认选项;接收(例如用接收单元1342)表示对候选用户设备的拒绝的输入(例如图11D的框1171);呈现(例如用输出单元1334)指示错误的输出(例如图11D的框1173)。
在一些实施例中,第三处理单元1368被进一步配置为:接收(例如用接收单元1370)来自第一电子设备1300的对用户设备的标识的请求,其中所述请求包括所述参数(例如图11C的框1150);获取(例如用获取单元1372)来自记录的数据,其中所述记录存储分别对应于多个用户设备的多组属性(例如图11C的框1152);基于所述参数获取(例如用获取单元1372)对应于候选用户设备的数据,其中候选用户设备不是存储在所述记录中的所述多个用户设备的成员(例如图11D的框1154);以及将对应于候选用户设备的数据传输(例如用传输单元1376)给第一电子设备1300(例如图11D的框1156)。
在一些实施例中,基于所述参数获取对应于候选用户设备的数据还包括:确定(例如用确定单元1374)所述多个用户设备中没有设备具有参数与所述参数匹配(例如图11C的框1151);以及发现(例如用发现单元1378)候选用户设备,其中候选用户设备具有匹配所述参数的属性(例如图11C的框1153)。
在一些实施例中,第三处理单元1368被进一步配置为:将对应于对候选用户设备的确认的数据接收(例如用接收单元1370)到第一电子设备1300(例如图11E的框1171);响应于接收到对应于所述确认的数据,更新(例如用更新单元1380)所述记录(例如图11E的框1173)。
以上参考图11A至图11E描述的操作任选地由图1至图4、图6A至图6B、图7A和图13中描绘的部件来实现。例如,接收操作1102、获取操作1104和提供操作1182任选地由处理器120来实现。本领域的普通技术人员会清楚地知道可如何基于在图1A至图4、图6A至图6B、图7A和图13中描绘的部件来实现其他过程。
根据一些具体实施,提供一种计算机可读存储介质(例如,非暂态计算机可读存储介质),该计算机可读存储介质存储供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行本文所述的方法或过程中的任何方法或过程的指令。
根据一些具体实施,提供了一种电子设备(例如便携式电子设备),其包括用于执行本文所述的方法或过程中的任何方法或过程的装置。
根据一些具体实施,提供了一种电子设备(例如便携式电子设备),其包括被配置为执行本文所述的方法或过程中的任何方法或过程的处理单元。
根据一些具体实施,提供了一种电子设备(例如便携式电子设备),其包括一个或多个处理器和存储供所述一个或多个处理器执行的一个或多个程序的存储器,所述一个或多个程序包括用于执行本文所述的方法或过程中的任何方法或过程的指令。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择并描述这些实施方案是为了最好地解释这些技术的原理及其实际应用。本领域的其他技术人员由此能够最好地利用这些技术以及具有适合于所预期的特定用途的各种修改的各种实施方案。
虽然参照附图对本公开以及示例进行了全面的描述,但应当注意,各种变化和修改对于本领域内的技术人员而言将变得显而易见。应当理解,此类变化和修改被认为被包括在由权利要求书所限定的本公开和示例的范围内。

Claims (52)

1.一种方法,包括:
在具有麦克风的第一电子设备处:
用所述第一电子设备处的所述麦克风来采样音频输入;
用所述第一电子设备来广播基于所采样的所述音频输入的第一组一个或多个值;
用所述第一电子设备来接收来自第二电子设备的第二组一个或多个值,其中所述第二组一个或多个值基于所述音频输入;
用所述第一电子设备基于所述第一组一个或多个值和所述第二组一个或多个值来确定所述第一电子设备是否应该对所述音频输入作出响应;
根据确定所述第一电子设备应该对所述音频输入作出响应,对所述音频输入作出响应;
根据确定所述第一电子设备不应该对所述音频输入作出响应,放弃对所述音频输入作出响应。
2.根据权利要求1所述的方法,其中所述第一组值中的值基于用所述第一电子设备采样的所述音频输入的语音的信噪比。
3.根据权利要求1至2中任一项所述的方法,其中所述第一组值中的值基于用所述第一电子设备采样的所述音频输入的声压。
4.根据权利要求1至2中任一项所述的方法,还包括用所述第一电子设备来标识指示所述音频输入是由特定用户提供的可能性的置信度值,其中所述第一组值中的值基于所述置信度值。
5.根据权利要求1至2中任一项所述的方法,还包括用所述第一电子设备来标识所述第一电子设备的状态,其中所述第一组值中的值基于所述第一电子设备的所标识的状态。
6.根据权利要求5所述的方法,其中所述第一电子设备的所述状态是基于用所述第一电子设备接收的用户输入来标识的。
7.根据权利要求1至2中任一项所述的方法,其中所述第一组一个或多个值中的至少一个值基于所述第一电子设备的类型。
8.根据权利要求1至2中任一项所述的方法,其中采样所述音频输入包括用所述第一电子设备来确定所述音频输入是否包括口头触发,并且其中所述方法还包括:
根据确定所述音频输入不包括所述口头触发,放弃用所述第一电子设备广播所述第一组一个或多个值。
9.根据权利要求1至2中任一项所述的方法,其中所述音频输入包括指示任务的附加输入,并且其中用所述第一电子设备对所述音频输入作出响应还包括:
用所述第一电子设备来确定所述第一电子设备的类型是否满足所述任务的要求;
根据确定所述第一电子设备的所述类型满足所述任务的所述要求,对所述音频输入作出响应;
根据确定所述第一电子设备的所述类型不满足所述任务的所述要求,放弃对所述音频输入作出响应。
10.根据权利要求9所述的方法,还包括:
根据确定所述第一电子设备的所述类型不满足所述要求,用所述第一电子设备来确定所述第二电子设备是否应该对所述音频输入作出响应;
根据确定所述第二电子设备应该对所述音频输入作出响应,放弃用所述第一电子设备对所述音频输入作出响应;
根据确定所述第二电子设备不应该对所述音频输入作出响应,用所述第一电子设备来提供指示错误的输出。
11.根据权利要求9所述的方法,还包括:
用所述第一电子设备来接收来自服务器的指示所述任务的所述要求的数据。
12.根据权利要求1至2中任一项所述的方法,其中所述音频输入包括指示任务的附加输入,并且其中放弃用所述第一电子设备对所述音频输入作出响应还包括:
用所述第一电子设备来确定所述第一电子设备的类型是否满足所述任务的要求;
根据确定所述第一电子设备的所述类型满足所述任务的所述要求:
基于所述第一组一个或多个值、所述第二组一个或多个值、和所述任务的所述要求来确定是否应该用所述第一电子设备对所述音频输入作出响应;
根据确定应该用所述第一电子设备对所述音频输入作出响应,用所述第一电子设备对所述音频输入作出响应;并且
根据确定不应该用所述第一电子设备对所述音频输入作出响应,放弃用所述第一电子设备对所述音频输入作出响应;并且
根据确定所述第一电子设备的所述类型不满足所述任务的所述要求,放弃用所述第一电子设备对所述音频输入作出响应。
13.根据权利要求12所述的方法,还包括:
用所述第一电子设备来接收来自服务器的指示所述任务的所述要求的数据。
14.根据权利要求1至2中任一项所述的方法,其中放弃用所述第一电子设备对所述音频输入作出响应包括用所述第一电子设备进入非活动模式。
15.根据权利要求1至2中任一项所述的方法,其中所述第一组一个或多个值根据单向广播通信协议来广播。
16.根据权利要求1至2中任一项所述的方法,其中所述方法还包括:
根据确定所述第一电子设备应该对所述音频输入作出响应,用所述第一电子设备来提供视觉输出、听觉输出、触觉输出、或者它们的组合。
17.根据权利要求1至2中任一项所述的方法,其中确定所述第一电子设备是否应该对所述音频输入作出响应包括:
用所述第一电子设备来确定所述第一组一个或多个值中的值是否比所述第二组一个或多个值中的对应值高。
18.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由具有麦克风的第一电子设备的一个或多个处理器执行时使得所述第一电子设备:
用所述电子设备处的所述麦克风来采样音频输入;
广播基于所采样的所述音频输入的第一组一个或多个值;
接收来自第二电子设备的第二组一个或多个值,其中所述第二组一个或多个值基于所述音频输入;以及
基于所述第一组一个或多个值和所述第二组一个或多个值来确定所述电子设备是否应该对所述音频输入作出响应;
根据确定所述电子设备应该对所述音频输入作出响应,对所述音频输入作出响应;
根据确定所述电子设备不应该对所述音频输入作出响应,放弃对所述音频输入作出响应。
19.根据权利要求18所述的非暂态计算机可读存储介质,其中所述第一组值中的值基于用所述第一电子设备采样的所述音频输入的语音的信噪比。
20.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述第一组值中的值基于用所述第一电子设备采样的所述音频输入的声压。
21.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,还包括用所述第一电子设备来标识指示所述音频输入是由特定用户提供的可能性的置信度值,其中所述第一组值中的值基于所述置信度值。
22.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述一个或多个程序还包括使所述第一电子设备用所述第一电子设备来标识所述第一电子设备的状态的指令,其中所述第一组值中的值基于所述第一电子设备的所标识的状态。
23.根据权利要求22所述的非暂态计算机可读存储介质,其中所述第一电子设备的所述状态是基于用所述第一电子设备接收的用户输入来标识的。
24.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述第一组一个或多个值中的至少一个值基于所述第一电子设备的类型。
25.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中采样所述音频输入包括用所述第一电子设备来确定所述音频输入是否包括口头触发,并且其中一个或多个程序还包括使所述第一电子设备执行以下操作的指令:
根据确定所述音频输入不包括所述口头触发,放弃用所述第一电子设备广播所述第一组一个或多个值。
26.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述音频输入包括指示任务的附加输入,并且其中用所述第一电子设备对所述音频输入作出响应还包括:
用所述第一电子设备来确定所述第一电子设备的类型是否满足所述任务的要求;
根据确定所述第一电子设备的所述类型满足所述任务的所述要求,对所述音频输入作出响应;
根据确定所述第一电子设备的所述类型不满足所述任务的所述要求,放弃对所述音频输入作出响应。
27.根据权利要求26所述的非暂态计算机可读存储介质,其中所述一个或多个程序还包括使所述第一电子设备执行以下操作的指令:
根据确定所述第一电子设备的所述类型不满足所述要求,用所述第一电子设备来确定所述第二电子设备是否应该对所述音频输入作出响应;
根据确定所述第二电子设备应该对所述音频输入作出响应,放弃用所述第一电子设备对所述音频输入作出响应;
根据确定所述第二电子设备不应该对所述音频输入作出响应,用所述第一电子设备来提供指示错误的输出。
28.根据权利要求26所述的非暂态计算机可读存储介质,其中所述一个或多个程序还包括使所述第一电子设备执行以下操作的指令:
用所述第一电子设备来接收来自服务器的指示所述任务的所述要求的数据。
29.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述音频输入包括指示任务的附加输入,并且其中放弃用所述第一电子设备对所述音频输入作出响应还包括:
用所述第一电子设备来确定所述第一电子设备的类型是否满足所述任务的要求;
根据确定所述第一电子设备的所述类型满足所述任务的所述要求:
基于所述第一组一个或多个值、所述第二组一个或多个值、和所述任务的所述要求来确定是否应该用所述第一电子设备对所述音频输入作出响应;
根据确定应该用所述第一电子设备对所述音频输入作出响应,用所述第一电子设备对所述音频输入作出响应;并且
根据确定不应该用所述第一电子设备对所述音频输入作出响应,放弃用所述第一电子设备对所述音频输入作出响应;并且
根据确定所述第一电子设备的所述类型不满足所述任务的所述要求,放弃用所述第一电子设备对所述音频输入作出响应。
30.根据权利要求29所述的非暂态计算机可读存储介质,其中所述一个或多个程序还包括使所述第一电子设备执行以下操作的指令:
用所述第一电子设备来接收来自服务器的指示所述任务的所述要求的数据。
31.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中放弃用所述第一电子设备对所述音频输入作出响应包括用所述第一电子设备进入非活动模式。
32.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述第一组一个或多个值根据单向广播通信协议来广播。
33.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中所述一个或多个程序还包括使所述第一电子设备执行以下操作的指令:
根据确定所述第一电子设备应该对所述音频输入作出响应,用所述第一电子设备来提供视觉输出、听觉输出、触觉输出、或者它们的组合。
34.根据权利要求18至19中任一项所述的非暂态计算机可读存储介质,其中确定所述第一电子设备是否应该对所述音频输入作出响应包括:用所述第一电子设备来确定所述第一组一个或多个值中的值是否比所述第二组一个或多个值中的对应值高。
35.一种电子设备,包括:
麦克风;
一个或多个处理器;
存储器;和
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行以下操作的指令:
用所述电子设备处的所述麦克风来采样音频输入;
广播基于所采样的所述音频输入的第一组一个或多个值;
接收来自第二电子设备的第二组一个或多个值,其中所述第二组一个或多个值基于所述音频输入;
基于所述第一组一个或多个值和所述第二组一个或多个值来确定所述电子设备是否应该对所述音频输入作出响应;
根据确定所述电子设备应该对所述音频输入作出响应,对所述音频输入作出响应;并且
根据确定所述电子设备不应该对所述音频输入作出响应,放弃对所述音频输入作出响应。
36.根据权利要求35所述的电子设备,其中所述第一组值中的值基于用所述电子设备采样的所述音频输入的语音的信噪比。
37.根据权利要求35至36中任一项所述的电子设备,其中所述第一组值中的值基于用所述电子设备采样的所述音频输入的声压。
38.根据权利要求35至36中任一项所述的电子设备,其中所述一个或多个程序还包括用于用所述电子设备来标识指示所述音频输入是由特定用户提供的可能性的置信度值的指令,其中所述第一组值中的值基于所述置信度值。
39.根据权利要求35至36中任一项所述的电子设备,其中所述一个或多个程序还包括用于用所述电子设备来标识所述电子设备的状态的指令,其中所述第一组值中的值基于所述电子设备的所标识的状态。
40.根据权利要求39所述的电子设备,其中所述电子设备的所述状态是基于用所述电子设备接收的用户输入来标识的。
41.根据权利要求35至36中任一项所述的电子设备,其中所述第一组一个或多个值中的至少一个值基于所述电子设备的类型。
42.根据权利要求35至36中任一项所述的电子设备,其中采样所述音频输入包括用所述电子设备来确定所述音频输入是否包括口头触发,并且其中所述一个或多个程序还包括用于执行以下操作的指令:
根据确定所述音频输入不包括所述口头触发,放弃用所述电子设备广播所述第一组一个或多个值。
43.根据权利要求35至36中任一项所述的电子设备,其中所述音频输入包括指示任务的附加输入,并且其中用所述电子设备对所述音频输入作出响应还包括:
用所述电子设备来确定所述电子设备的类型是否满足所述任务的要求;
根据确定所述电子设备的所述类型满足所述任务的所述要求,对所述音频输入作出响应;
根据确定所述电子设备的所述类型不满足所述任务的所述要求,放弃对所述音频输入作出响应。
44.根据权利要求43所述的电子设备,其中所述一个或多个程序还包括用于执行以下操作的指令:
根据确定所述电子设备的所述类型不满足所述要求,用所述电子设备来确定所述第二电子设备是否应该对所述音频输入作出响应;
根据确定所述第二电子设备应该对所述音频输入作出响应,放弃用所述电子设备对所述音频输入作出响应;
根据确定所述第二电子设备不应该对所述音频输入作出响应,用所述电子设备来提供指示错误的输出。
45.根据权利要求43所述的电子设备,其中所述一个或多个程序还包括用于执行以下操作的指令:
用所述电子设备来接收来自服务器的指示所述任务的所述要求的数据。
46.根据权利要求35至36中任一项所述的电子设备,其中所述音频输入包括指示任务的附加输入,并且其中放弃用所述电子设备对所述音频输入作出响应还包括:
用所述电子设备来确定所述电子设备的类型是否满足所述任务的要求;
根据确定所述电子设备的所述类型满足所述任务的所述要求:
基于所述第一组一个或多个值、所述第二组一个或多个值、和所述任务的所述要求来确定是否应该用所述电子设备对所述音频输入作出响应;
根据确定应该用所述电子设备对所述音频输入作出响应,用所述电子设备对所述音频输入作出响应;并且
根据确定不应该用所述电子设备对所述音频输入作出响应,放弃用所述电子设备对所述音频输入作出响应;并且
根据确定所述电子设备的所述类型不满足所述任务的所述要求,放弃用所述电子设备对所述音频输入作出响应。
47.根据权利要求46所述的电子设备,其中所述一个或多个程序还包括用于执行以下操作的指令:
用所述电子设备来接收来自服务器的指示所述任务的所述要求的数据。
48.根据权利要求35至36中任一项所述的电子设备,其中放弃用所述电子设备对所述音频输入作出响应包括用所述电子设备进入非活动模式。
49.根据权利要求35至36中任一项所述的电子设备,其中所述第一组一个或多个值根据单向广播通信协议来广播。
50.根据权利要求35至36中任一项所述的电子设备,其中所述一个或多个程序还包括用于执行以下操作的指令:
根据确定所述电子设备应该对所述音频输入作出响应,用所述电子设备来提供视觉输出、听觉输出、触觉输出、或者它们的组合。
51.根据权利要求35至36中任一项所述的电子设备,其中确定所述电子设备是否应该对所述音频输入作出响应包括:
用所述电子设备来确定所述第一组一个或多个值中的值是否比所述第二组一个或多个值中的对应值高。
52.一种系统,包括:
用于执行根据权利要求1至2中任一项所述的方法的装置。
CN201710392871.6A 2016-06-11 2017-05-27 智能设备仲裁和控制 Active CN107491285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811605229.2A CN110058834B (zh) 2016-06-11 2017-05-27 智能设备仲裁和控制

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662348896P 2016-06-11 2016-06-11
US62/348,896 2016-06-11
DKPA201670554 2016-07-25
DKPA201670554A DK179415B1 (en) 2016-06-11 2016-07-25 Intelligent device arbitration and control
US15/268,338 2016-09-16
US15/268,338 US10089072B2 (en) 2016-06-11 2016-09-16 Intelligent device arbitration and control

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811605229.2A Division CN110058834B (zh) 2016-06-11 2017-05-27 智能设备仲裁和控制

Publications (2)

Publication Number Publication Date
CN107491285A true CN107491285A (zh) 2017-12-19
CN107491285B CN107491285B (zh) 2019-01-01

Family

ID=60642085

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811605229.2A Active CN110058834B (zh) 2016-06-11 2017-05-27 智能设备仲裁和控制
CN201710392871.6A Active CN107491285B (zh) 2016-06-11 2017-05-27 智能设备仲裁和控制

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811605229.2A Active CN110058834B (zh) 2016-06-11 2017-05-27 智能设备仲裁和控制

Country Status (1)

Country Link
CN (2) CN110058834B (zh)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110364161A (zh) * 2019-08-22 2019-10-22 北京小米智能科技有限公司 响应语音信号的方法、电子设备、介质及系统
WO2020042332A1 (zh) * 2018-08-31 2020-03-05 华南理工大学 一种基于词向量的事件驱动服务匹配方法
CN111656439A (zh) * 2018-06-01 2020-09-11 苹果公司 可变延迟设备协调
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
US11538469B2 (en) 2017-05-12 2022-12-27 Apple Inc. Low-latency intelligent automated assistant
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11557310B2 (en) 2013-02-07 2023-01-17 Apple Inc. Voice trigger for a digital assistant
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11675491B2 (en) 2019-05-06 2023-06-13 Apple Inc. User configurable task triggers
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11783815B2 (en) 2019-03-18 2023-10-10 Apple Inc. Multimodality in digital assistant systems
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11809886B2 (en) 2015-11-06 2023-11-07 Apple Inc. Intelligent automated assistant in a messaging environment
US11838579B2 (en) 2014-06-30 2023-12-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11888791B2 (en) 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US12001933B2 (en) 2022-09-21 2024-06-04 Apple Inc. Virtual assistant in a communication session

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330539B1 (en) * 1998-02-05 2001-12-11 Fujitsu Limited Dialog interface system
US7050796B2 (en) * 2002-01-25 2006-05-23 International Business Machines Corporation Method of controlling the auditory response of wireless devices
US20130339256A1 (en) * 2010-11-16 2013-12-19 Shardul Suresh Shroff System and method for providing virtual arbitration
CN104284257A (zh) * 2013-07-10 2015-01-14 通用汽车环球科技运作有限责任公司 用于口头对话服务仲裁的系统和方法
US20160155443A1 (en) * 2014-11-28 2016-06-02 Microsoft Technology Licensing, Llc Device arbitration for listening devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4441945B2 (ja) * 1999-05-07 2010-03-31 ソニー株式会社 制御方法及び制御装置
US9160814B2 (en) * 2008-11-10 2015-10-13 Intel Corporation Intuitive data transfer between connected devices
KR102091003B1 (ko) * 2012-12-10 2020-03-19 삼성전자 주식회사 음성인식 기술을 이용한 상황 인식 서비스 제공 방법 및 장치
US9558275B2 (en) * 2012-12-13 2017-01-31 Microsoft Technology Licensing, Llc Action broker
US9330169B2 (en) * 2013-03-15 2016-05-03 Bose Corporation Audio systems and related devices and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330539B1 (en) * 1998-02-05 2001-12-11 Fujitsu Limited Dialog interface system
US7050796B2 (en) * 2002-01-25 2006-05-23 International Business Machines Corporation Method of controlling the auditory response of wireless devices
US20130339256A1 (en) * 2010-11-16 2013-12-19 Shardul Suresh Shroff System and method for providing virtual arbitration
CN104284257A (zh) * 2013-07-10 2015-01-14 通用汽车环球科技运作有限责任公司 用于口头对话服务仲裁的系统和方法
US20160155443A1 (en) * 2014-11-28 2016-06-02 Microsoft Technology Licensing, Llc Device arbitration for listening devices

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11979836B2 (en) 2007-04-03 2024-05-07 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11862186B2 (en) 2013-02-07 2024-01-02 Apple Inc. Voice trigger for a digital assistant
US11557310B2 (en) 2013-02-07 2023-01-17 Apple Inc. Voice trigger for a digital assistant
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11838579B2 (en) 2014-06-30 2023-12-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US11954405B2 (en) 2015-09-08 2024-04-09 Apple Inc. Zero latency digital assistant
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11809886B2 (en) 2015-11-06 2023-11-07 Apple Inc. Intelligent automated assistant in a messaging environment
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11837237B2 (en) 2017-05-12 2023-12-05 Apple Inc. User-specific acoustic models
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11862151B2 (en) 2017-05-12 2024-01-02 Apple Inc. Low-latency intelligent automated assistant
US11538469B2 (en) 2017-05-12 2022-12-27 Apple Inc. Low-latency intelligent automated assistant
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11907436B2 (en) 2018-05-07 2024-02-20 Apple Inc. Raise to speak
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
CN111656439B (zh) * 2018-06-01 2021-11-09 苹果公司 基于延迟控制电子设备的方法、电子设备及存储介质
US11630525B2 (en) 2018-06-01 2023-04-18 Apple Inc. Attention aware virtual assistant dismissal
CN111656439A (zh) * 2018-06-01 2020-09-11 苹果公司 可变延迟设备协调
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
WO2020042332A1 (zh) * 2018-08-31 2020-03-05 华南理工大学 一种基于词向量的事件驱动服务匹配方法
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11783815B2 (en) 2019-03-18 2023-10-10 Apple Inc. Multimodality in digital assistant systems
US11675491B2 (en) 2019-05-06 2023-06-13 Apple Inc. User configurable task triggers
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11888791B2 (en) 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11295740B2 (en) 2019-08-22 2022-04-05 Beijing Xiaomi Intelligent Technology Co., Ltd. Voice signal response method, electronic device, storage medium and system
CN110364161A (zh) * 2019-08-22 2019-10-22 北京小米智能科技有限公司 响应语音信号的方法、电子设备、介质及系统
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11924254B2 (en) 2020-05-11 2024-03-05 Apple Inc. Digital assistant hardware abstraction
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11750962B2 (en) 2020-07-21 2023-09-05 Apple Inc. User identification using headphones
US12001933B2 (en) 2022-09-21 2024-06-04 Apple Inc. Virtual assistant in a communication session
US12009007B2 (en) 2023-04-17 2024-06-11 Apple Inc. Voice trigger for a digital assistant

Also Published As

Publication number Publication date
CN110058834B (zh) 2022-06-17
CN107491285B (zh) 2019-01-01
CN110058834A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN107491285B (zh) 智能设备仲裁和控制
CN109328381B (zh) 检测数字助理的触发
CN107978313B (zh) 智能自动化助理
CN107430501B (zh) 对语音触发进行响应的竞争设备
CN107491929B (zh) 数据驱动的自然语言事件检测和分类
CN107408387B (zh) 虚拟助理激活
CN110019752A (zh) 多方向对话
CN107491295A (zh) 具有数字助理的应用集成
CN107608998A (zh) 具有数字助理的应用集成
CN109635130A (zh) 用于媒体探索的智能自动化助理
CN107491284A (zh) 提供自动化状态报告的数字助理
CN110021301A (zh) 数字助理服务的远场延伸
CN108874766A (zh) 用于数字助理服务中的语音匹配的方法和系统
CN107257950A (zh) 虚拟助理连续性
CN108093126A (zh) 用于拒绝来电的智能数字助理
CN108733438A (zh) 应用程序与数字助理集成
CN107491469A (zh) 智能任务发现
CN107735833A (zh) 自动口音检测
CN107195306A (zh) 识别提供凭据的语音输入
CN107480161A (zh) 用于媒体探究的智能自动化助理
CN110364148A (zh) 自然助理交互
CN108604449A (zh) 说话者识别
CN107949823A (zh) 零延迟数字助理
CN108351893A (zh) 非常规虚拟助理交互
CN108292203A (zh) 基于设备间对话通信的主动协助

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant