CN103198830B - 用于实现分布式多模式应用的方法和设备 - Google Patents

用于实现分布式多模式应用的方法和设备 Download PDF

Info

Publication number
CN103198830B
CN103198830B CN201310051346.XA CN201310051346A CN103198830B CN 103198830 B CN103198830 B CN 103198830B CN 201310051346 A CN201310051346 A CN 201310051346A CN 103198830 B CN103198830 B CN 103198830B
Authority
CN
China
Prior art keywords
terminal device
server
client terminal
client
voice
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.)
Active
Application number
CN201310051346.XA
Other languages
English (en)
Other versions
CN103198830A (zh
Inventor
乔纳森·R·恩格斯玛
阿努阿伊·昆努梅尔·恩奈
詹姆斯·C·费尔兰斯
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.)
Motorola Mobility LLC
Google Technology Holdings LLC
Original Assignee
Motorola Mobility LLC
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
Application filed by Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN103198830A publication Critical patent/CN103198830A/zh
Application granted granted Critical
Publication of CN103198830B publication Critical patent/CN103198830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4938Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals comprising a voice browser which renders and interprets, e.g. VoiceXML

Abstract

公开了一种用于实现分布式多模式应用的方法和设备。系统实施例包括客户端装置(102)、语音服务器(106)和应用服务器(104)。语音服务器不同于应用服务器。客户端装置呈现(316)包括可通过视觉模式和语音模式对其接收输入数据的至少一个显示元素的视觉显示。客户端装置可通过语音模式接收话音并且通过音频数据路径(124)向语音服务器发送(502)表示话音的上行链路音频数据。应用服务器通过应用服务器/语音服务器控制路径(122)从语音服务器接收(514)话音识别结果。应用服务器通过应用服务器/客户端控制路径(120)向客户端装置发送(514)包括话音识别结果的消息。客户端装置根据话音识别结果更新(516)一个或多个显示元素。

Description

用于实现分布式多模式应用的方法和设备
分案说明
本申请是国际申请日为2008年12月19日、国际申请号为PCT/US2008/087802的PCT国际申请的、进入中国国家阶段的国家申请号为200880123620.7、题为“用于实现分布式多模式应用的方法和设备”的专利申请的分案申请。
技术领域
本发明主题总体上涉及分布式应用,尤其涉及在客户端-服务器系统环境中实现的分布式多模式应用。
背景技术
用户界面“模式(modality)”可被定义为用户和电子装置之间交互的方式,其中交互是通过装置的用户界面实现的。用户界面模式可通过与特定类型的人类可感知信息(例如,可通过视觉、声音或触摸感知的信息)和/或人类所生成的信息(例如,通过话音或其它物理动作所生成的信息)相关联的硬件和软件的组合来实现。例如,一种类型的用户界面模式为“视觉模式”,其可以通过显示屏以及用于在显示屏上生成视觉显示的相关联硬件和软件来实现。视觉模式还可以使用各种促进用户与视觉显示进行交互的输入装置来实现,诸如使得用户能够(例如,使用滚动机制、触摸屏或箭头按键)选择视觉显示中所呈现信息、(例如,使用键盘)向视觉显示的区域中输入信息和/或将视觉显示的焦点从一个区域改变为另一区域的输入装置。另一种类型的用户界面模式为“语音模式”,其可以使用麦克风、扬声器以及适于接收人类话音并对其进行数字化和/或输出音频信息(例如,音频提示或其它音频信息)的相关联硬件和软件来实现。其它类型的用户界面模式包括例如手势模式和笔模式,仅给出两个示例。
为了通过“单模式”装置提供改善的使用性,许多电子装置包括“多模式”用户界面,这是提供多于一种的用户界面模式的用户界面。例如,电子装置可提供视觉模式和语音模式。这样的装置例如可以同时输出视觉信息(例如,所显示信息)和相关联的音频信息(例如,音频提示),和/或装置可使得用户能够按照用户需要通过话音、键盘或其二者来输入信息。通常,具有多模式用户界面的装置提供改善的用户体验,原因在于用户可以选择他或她与装置进行交互的模式。例如,在用户希望不使用手进行交互的情况下,诸如当打字过于耗时和/或当用户(例如,由于关节炎和其它一些身体缺陷)永久性或者在某些情况下(例如,在用户戴着手套和/或用户的手上有其它任务时)被造成不便时,可能希望使用语音模式的交互。相反,例如在要呈现复杂信息的情况下,在需要听觉隐私时,在存在噪声约束时和/或在存在(例如当用户具有严重口音、讲话障碍和/或听力受损时)永久性或在某些情况下(例如,在存在明显背景噪声或噪声约束时)听觉约束时,可能希望使用视觉模式的交互。
多模式用户界面可以连同在联网环境(例如,客户端-服务器系统环境)中操作的应用一起实现。在这样的情况下,用户与客户端装置(例如,蜂窝电话或计算机)上的多模式用户界面进行交互,并且客户端装置通过网络与一个或多个其它装置或平台(例如,服务器)进行通信。在这样的联网环境中,已经实现了两种基本技术来设计支持多模式用户界面的客户端-服务器系统部件,尤其是支持适于至少提供视觉和语音模式的用户界面的系统部件。使用“嵌入式”技术,基本上所有与多种模式相关联的必要硬件和软件都包括在客户端装置自身之中。例如,客户端装置可以包括适于执行音频相关任务的软件和硬件,除其它之外,音频相关任务诸如话音处理、话音识别和/或话音合成。通常,这样的音频相关任务需要特殊处理器或处理引擎(例如,数字信号处理器)和相当数量的存储器(例如,用于存储与音频相关任务相关联的表和软件)。使用“分布式”技术,与一个或多个模式相关联的一些处理可以被转换到另一处理部件,诸如远程服务器。例如,当用户讲话时,音频数据可以从客户端装置发送到远程服务器,并且远程服务器可以执行一些或全部音频相关任务并且向客户端装置返回数据、错误消息和/或处理结果。
每种技术都具有其优势和缺点。例如,如刚刚提到的,一些常规分布式技术的优势在于与多模式用户界面相关联的一些计算密集处理(例如,音频相关任务)可从客户端装置转换出来到另一个处理部件(例如,远程服务器)。因此,客户端装置可以不包括专门的处理器或处理引擎(例如,数字信号处理器)以及额外的存储器以便实现从客户端装置所转移的任务。这意味着可以以比实现嵌入式技术的客户端装置更为成本有效的方式来设计客户端装置(例如,该装置可被设计为“瘦”客户端)。
然而,使用常规的分布式技术,需要在客户端和服务器之间对各种模式的状态进行同步。多个模式的状态之间的一致同步难以跨网络实现。更具体地,除其它之外,使用常规的分布式技术,视觉模式和语音模式之间的同步由于网络通信所固有的延迟时间而是不可靠的。例如,当用户口头向数据输入区域提供输入时,客户端装置向服务器发送反映口头输入的数据并且在视觉显示能够被更新以显示话音识别结果之前等待要由服务器返回的话音识别结果。在一些情况下,更新视觉显示以反映口头提供的输入可能无法以充分及时的方式进行,并且视觉和语音模式可能变得不同步。此外,使用常规分布式技术实现多模式用户界面典型地是使用非标准协议和非常规的内容编写技术来执行的。因此,这样的技术还没有被多数载体或应用设计人员所欣然接受。
因此,所需要的是可以促进瘦客户端设计并且使用标准协议和常规内容编写技术,以及可以克服常规分布式技术所固有同步问题的多模式用户界面方法和设备。本发明主题的其它特征和特性将通过后续结合附图和此背景的详细描述和所附权利要求而变得显而易见。
附图说明
随后将结合以下附图对本发明主题进行描述,其中相同的附图标记表示相同部件,并且
图1是依据示例性实施例的适于实现分布式多模式应用的系统的简化示图;
图2是依据示例性实施例的用于发起和进行多模式应用会话的方法的流程图;
图3是依据示例性实施例的用于执行多模式应用会话发起的方法的流程图;
图4是依据示例性实施例的在客户端装置上呈现的视觉标记的示例;
图5是依据示例性实施例的用于执行语音服务器所生成的事件的操作处理的方法的流程图;并且
图6是依据示例性实施例的用于执行客户端所生成的事件的操作处理的方法的流程图。
具体实施方式
实施例包括用于实现分布式多模式应用的方法和设备。这些实施例可促进使用标准协议和常规内容编写技术,并且还可以克服一些常规分布式技术所固有的同步问题。此外,这些实施例可以结合“瘦客户端”类型的装置一起来使用。
如这里所使用的,术语“多模式”表示适于实现多种用户界面模式。术语“分布式多模式应用”、“多模式应用”和“分布式应用”可以互换使用以表示在客户端装置(例如,客户端装置102,图1)上提供多模式用户界面的软件应用,并且其包括在不同平台(例如,客户端装置102、应用服务器104和/或语音服务器106,图1)上的独立运行时间环境中执行的不同组件,其中不同平台通过网络(例如,网络108,图1)进行互连。
在一个实施例中,分布式多模式应用适于在具有客户端-服务器系统体系(例如,系统100,图1)的系统中执行。如这里所使用的,术语“客户端”或“客户端装置”可互换使用以表示适于执行与分布式多模式应用相关联的处理实体、电子装置或应用(例如,客户端浏览器和/或客户端侧应用组件)。此外,客户端装置适于经由网络访问与分布式多模式应用相关联并且由一个或多个远程服务器所提供的一个或多个服务。
术语“服务器”表示执行针对一个或多个网络连接的客户端的服务或者响应于客户端或服务器所发出的请求的其它服务的处理实体、电子装置或应用。术语“应用服务器”和“AS”表示适于发起与分布式多模式应用会话相关联的数据和控制链路的建立并且对与应用会话相关联的各种“视图”之间的同步进行控制的服务器。术语“模式服务器”表示适于执行与一个或多个用户界面模式相关联的服务器侧应用组件的服务器。术语“语音服务器”和“VS”表示专门适用于执行与语音模式相关联的服务器侧应用组件的模式服务器。虽然以下的描述包括对其中包括语音服务器以支持语音模式的系统的详细描述,但是所要理解的是,在其它实施例中,可以在系统中包括另外或可替换地支持其它类型用户界面模式(例如,手势模式、笔模式等)的其它类型的模式服务器。
将贯穿本描述使用分布式多模式应用的特定示例,以便促进示例性实施例的理解。所要理解的是,说明性示例并不被认为是将实施例的范围仅局限于该示例。在示例性实施例中,分布式多模式应用适于支持视觉模式和语音模式。客户端装置包括“允许多模式的”浏览器和/或客户端侧应用组件,其中任一个或其二者适于对使得客户端装置呈现视觉显示的机器代码进行解释,视觉显示包括客户端装置能够通过视觉模式和语音模式接收针对其的输入数据的至少一个显示元素。在一个实施例中,机器代码包括在多模式页面中和/或被多模式页面所引用,当被解释时,机器代码使得客户端装置呈现多个用户交互显示(例如,用于城市、州、街道号码和街道名称的数据输入区域)。
如这里所使用的,正如那些术语被本领域技术人员所理解的那样,术语“解释”表示解释和/或执行。如这里所使用的,术语“机器代码”表示标记(例如,以标准通用标记语言(SGML)、可扩展标记语言(XML)、超文本标记语言(HTML)、可扩展HTML(XHTML)、动态HTML(DHTML)、VoiceXML、语音应用语言标记(SALT)、可缩放矢量图形(SVG)和/或各种其它标记语言编写的标记)、脚本(例如,JavaScript代码)、编译的代码(例如,编译的C/C++、Java、Lisp、Fortran、Pascal等)和/或其它信息,其可由计算机处理器(例如,客户端装置102、应用服务器104和/或语音服务器106,图1)容易地执行或解释。
再次参见这里所讨论的示例性多模式应用,客户端装置的用户能够对应用当前“聚焦”于其上的显示元素(例如,所选择的或者光标在其中闪烁的元素)输入信息,和/或可以改变焦点(例如,通过选择另一元素)。在一个实施例中,用户可以按照需要使用视觉模式或语音模式对显示元素输入信息。例如,当用户使用客户端装置的键盘输入信息时,该动作对应于使用视觉模式输入数据,并且信息将作为文本在视觉视图聚焦于其上的数据输入区域中呈现。一旦提交信息(例如,通过按压“输入”或移动光标),视觉显示就可以被更新以反映不同的焦点。
可替换地,用户可以使用语音模式输入信息(例如,用户可以讲出城市名称)。当其发生时,在一个实施例中,客户端装置通过音频数据路径向语音服务器发送表示该话音的音频数据。在一个实施例中,语音服务器适于执行话音识别器,其根据与客户端装置所解释的机器代码(例如,与客户端侧应用组件相关联的多模式页面或代码)相对应的话音对话来评估所接收的语音数据。话音识别器可以生成话音识别结果(或错误),在一个实施例中,语音服务器可经由应用服务器将其传递给客户端装置。根据各个实施例,客户端装置接着可以在相应数据区域中将话音识别结果作为文本进行呈现,并且语音视图和视觉试图的状态可被更新和同步。当语音视图和视觉视图的状态同步时,语音服务器所解释的话音对话部分对应于客户端装置所解释的机器代码部分。
如以下将要详细描述的,实施例包括用于根据用户使用任一种模式输入信息的能力对视觉视图和语音视图进行同步的方法。在各个实施例中,即使视觉视图的状态保存在客户端装置上,而语音视图的状态保存在语音服务器上,这也是始终可以实现的。虽然以新的方式,但是可以使用标准协议和常规内容编写技术来实现同步,由此促进和鼓励各种分布式多模式应用的研发。
图1是依据示例性实施例的适于实现分布式多模式应用的系统100的简化示图。系统100包括多个系统实体,在一个实施例中,其包括至少一个客户端装置102、应用服务器104(AS)和语音服务器106(VS)。如以下将要详细说明的,在这些系统实体之间建立各种数据和控制路径,并且系统实体遵循各种通信协议,以便支持在系统100内实现分布式多模式应用。如这里所使用的,术语“多模式应用会话”可被定义为分布式多模式应用的实例。在一个实施例中,多模式应用会话包括客户端装置102所进行的对机器代码(例如,与客户端侧应用组件114和/或一个或多个相关多模式页面115的群组相关联的机器代码)的解释(例如,执行和/或解释),以及语音服务器106所进行的对一个或多个相应话音对话的群组的解释。
虽然仅图示出一个客户端装置102,但是系统100可以包括多个类似或不同类型的客户端装置。例如,客户端装置102可以形成从装置群组中所选择的电子装置的一部分,给出一些示例,装置群组包括蜂窝电话、无线电装置、寻呼机、个人数字助理(PDA)、个人导航装置(PND)、移动计算机系统(例如,车辆或飞机计算机系统)、计算机(例如,膝上计算机、笔记本或台式计算机)以及在计算机上实现的通过互联网协议传送语音(VoIP)电话,但并不局限于此。
客户端装置102包括处理子系统和数据存储子系统,并且可以是便携式或固定电子装置。对于任一种装置而言,客户端装置102可以包括适于在不能对其使用线路供电的情况下提供能量的电池子系统。客户端装置102可适于使用各种有线和/或无线通信技术通过一个或多个网络108进行通信。因此,客户端装置102可以包括有线和无线网络接口中的任意一种或者其二者。客户端装置102还可以包括各种用户接口输入装置(例如,键盘、按键、拨号盘、触摸屏、麦克风、指示装置(例如,鼠标或触摸板)和输入笔)以及各种用户接口输出装置(例如,显示屏、扬声器、音频输出插孔、头戴式耳机、耳套、机械震动装置)。在一个实施例中,与视觉模式相关联的用户接口装置包括从包括视觉显示器、触摸屏、键盘、按键、拨号盘、指示装置和输入笔的装置的组中所选择的任意一个或多个装置。在一个实施例中,与语音模式相关联的用户接口装置包括从包括麦克风、扬声器、音频输出插孔、头戴式耳机、耳套的装置的组中所选择的任意一个或多个装置。
在一个实施例中,客户端装置102可适于执行客户端中间件110、客户端浏览器112和/或客户端侧应用组件114的一个或多个实例。如这里所使用的,术语“中间件”表示在不同实体(例如,客户端、服务器或其它处理实体)上运行的软件组件和/或应用之间提供接口的计算机软件。在一个实施例中,客户端中间件110适于跨网络108在客户端浏览器112和/或客户端侧应用组件114和一个或多个服务器(例如,应用服务器104和语音服务器106)之间提供接口。
客户端浏览器112适于结合客户端侧应用组件114一起访问客户端装置102上的机器代码(例如,多模式页面115),并且进一步对机器代码进行解释。在特定实施例中,客户端浏览器112适于访问至少一个多模式页面115,并且对多模式页面115中的机器代码(例如,标记、脚本和其它信息)进行解释。如这里所使用的,术语“多模式页面”是指表示在客户端装置102上视觉表现并且用户可以通过任意的多种模式(例如,语音模式和视觉模式)对其输入信息和/或指示选择的至少一个用户交互显示元素的信息集合。例如,多模式页面115可以包括网页、文档、文件、表单、列表或者其它类型的信息集合,但是并不局限于此。当被解释时,多模式页面115可以使得客户端装置呈现一个或多个用户交互显示元素。如这里所使用的,除其它之外,“用户交互显示元素”例如可以包括文本输入区域、可选择元素(例如,按钮或复选框)和/或交互式文本,但并不局限于此。例如,连同一个或多个用户交互显示元素一起,多模式页面还可以包括其它信息和/或元素,诸如文本信息、图像(例如,静态或动画图像)、音频信息、视频、超级链接、元数据和脚本。
在一个实施例中,多模式页面115包括标记,其使得客户端浏览器112和/或客户端侧应用组件114(或其它句法分析软件)执行一个或多个嵌入或引用脚本(例如,JavaScript代码)。脚本可以嵌入在多模式页面115内,或者脚本可以在多模式页面115内进行引用,并且客户端浏览器112和/或客户端侧应用组件114可以从外部源(例如,服务器)或者从本地存储器(例如,从客户端装置102上的高速缓存)访问脚本。在可选实施例中,脚本可以在客户端侧应用组件114而不是多模式页面115内嵌入或引用。在一个实施例中,如后续将结合图2-6详细描述的,脚本可适于使得客户端装置102为了各种原因向应用服务器104发送异步请求。在以下描述中,在许多情况下,当客户端装置102被认为向应用服务器104发送控制消息时,这可以被解释为客户端装置102向应用服务器104发出异步请求。类似地,当应用服务器104被认为向客户端装置102发送控制消息时,这可以被解释为应用服务器104向客户端装置102之前所发送的异步请求发出响应。在一个实施例中,异步请求作为异步超文本传输协议(HTTP)请求被发出,并且响应为HTTP响应。
在一个实施例中,可以使用AJAX(异步JavaScript和可扩展标记语言(XML))技术来开发客户端侧应用组件114和/或多模式页面115,并且由此其可包括适于发出异步请求(例如,异步HTTP请求)并且处理针对那些请求的响应(例如,HTTP响应)的XML标记和JavaScript。在其它实施例中,可以使用其它类型的编程、脚本和/或标记语言来开发客户端侧应用组件114和/或多模式页面115。
如这里所使用的,术语“标记语言”表示对可嵌入在信息集合(例如,多模式页面115或其它机器代码)内的信息(例如,标记或其它机器代码)所定义的句法规则的集合,并且除其它之外,其在元素呈现在电子装置上时向句法分析软件(例如,客户端浏览器112和/或客户端侧应用组件114)指示显示元素的结构、布局和/或其它特征(例如,文本或其它内容)。例如,与标记语言相关联的标记可以包括表示标记、过程标记和/或描述标记(也称作“语义”标记),但并不局限于此。可以在各个实施例中使用的标记语言包括SGML、XML、HTML、XHTML、DHTML、VoiceXML、SALT、SVG以及各种其它标记语言,但并不局限于此。
客户端浏览器112包括软件程序,其适于执行多模式页面(例如,多模式页面115)内的机器代码(例如,标记)的句法分析和/或以使得客户端装置102能够呈现文本、图像、视频、音乐和/或在机器代码和/或客户端侧应用组件114内表示或引用的其它信息的方式与客户端侧应用组件114进行交互。在各个实施例中,客户端浏览器112可以包括HTML/XHTML浏览器、无线应用协议(WAP)浏览器、定制应用和/或可商业获得的浏览器(给出几个示例,例如,InternetExplorer、MozillaFirefox、Safari、Opera和Netscape),但并不局限于此。在特定实施例中,客户端浏览器112为XHTML浏览器,其支持JavaScript执行和HTTP网络通信,并且其还具有音频处理能力。客户端浏览器112是“允许多模式的”,在一个实施例中,这表示客户端浏览器112适于解释与多模式应用相关联的机器代码。
客户端侧应用组件114包括计算机软件应用。在一个实施例中,客户端侧应用组件以浏览器支持的语言(例如,SGML、XML、HTML、XHTML、DHTML或其它标记语言)进行编码并且依赖于客户端浏览器112而使得应用组件可以执行。在其它实施例中,客户端侧应用组件114可以不依赖于客户端浏览器112而使得应用组件可以执行。可以开发多种不同类型的客户端侧应用组件114,给出几个示例,例如包括与地图应用、导航应用和搜索应用相关联的应用组件。
客户端装置102可以通过一个或多个网络108与应用服务器104和语音服务器106进行通信。例如,网络108可以包括分组交换网络和/或电路交换网络,并且更具体地,可以包括互联网、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、宽带LAN(WLAN)、蜂窝电话网络、无线电网络、卫星通信网络、公共交换电话网(PSTN)中的一个或多个和/或任意的适于使得能够在各个系统实体之间进行信息交换的各种其它类型的网络。网络108可适于使用任意的各种有线或无线通信协议在系统实体之间交换信息。
应用服务器104(AS)适于执行用于客户端装置102的各种服务。在一个实施例中,如以下将更为详细地描述的,应用服务器104适于执行AS中间件116和AS服务118的一个或多个实例。在一个实施例中,AS中间件116适于为分别在服务器至服务器连接140和网络108两端的语音服务器106和客户端装置102提供接口。
在一个实施例中,AS服务118包括会话通信建立软件,其适于连同多模式应用会话一起发起客户端装置102、应用服务器104和语音服务器106之间的各种数据和控制路径120、122、124的建立。例如,与多模式应用会话相关联的数据和控制路径可包括AS/客户端控制路径120、AS/VS控制路径122和VS/客户端音频数据路径124。在一个实施例中,客户端装置102和应用服务器104可以经由AS/客户端控制路径120交换信息,并且客户端装置102和语音服务器106可以经由VS/客户端音频数据路径124交换信息,其中AS/客户端控制路径120和VS/客户端音频数据路径124的至少一部分建立在一个或多个网络108上。应用服务器104和语音服务器106可以经由AS/VS控制路径122交换信息,AS/VS控制路径122的至少一部分建立在服务器至服务器连接140上,服务器至服务器连接140可以包括直接、硬线链路,或者其可以通过一个或多个有线或无线网络或者其它媒介实体来实现。
在一个实施例中,在客户端装置102和应用服务器104之间连同多模式应用会话一起交换的控制消息使用适用于网络108的通信协议在网络108上交换。因此,网络108作为客户端装置102和应用服务器104之间的控制路径。该控制路径在这里被一致称作AS/客户端控制路径120,即使所定义的路由路径可以并非通过网络108专用于会话,并且在客户端装置102和应用服务器104之间交换的每个消息通过网络108的物理路由可以随消息而有所不同。因此,如这里所使用的,“AS/客户端控制路径”可以被定义为表示消息可以沿其在与客户端装置102相关联的IP地址和/或端口和与应用服务器104相关联的IP地址和/或端口之间进行交换的任意一条或多条通过网络108(或者其它一些通信介质)的路径。类似地,“AS/VS控制路径”可被定义为表示与应用服务器104相关联的IP地址和/或端口和与语音服务器106相关联的IP地址和/或端口之间的任意一条或多条路径(其可以横贯网络或者不横贯网络)。此外,“VS/客户端音频数据路径”可被定义为表示音频数据可以沿其在与语音服务器106相关联的IP地址和/或端口和与客户端装置102相关联的IP地址和/或端口之间进行交换的任意一条或多条通过网络108(或者其它一些通信介质)的路径。在一个实施例中,AS/客户端控制路径120和VS/客户端音频数据路径124彼此不同,原因在于在会话期间为AS/客户端控制路径120分配的客户端IP地址和/或端口不同于在会话期间为VS/客户端音频数据路径124分配的客户端IP地址和/或端口。此外,为AS/客户端控制路径120分配的应用服务器IP地址和/或端口不同于为VS/客户端音频数据路径124分配的语音服务器IP地址和/或端口,这种情况是由于应用服务器104和语音服务器106彼此不同。
如之前所提到的,与客户端装置102所呈现的多模式页面和/或在客户端装置102上执行的客户端侧应用组件相关联的机器代码适于发出异步请求(例如,异步HTTP请求),异步请求由应用服务器104通过AS/客户端控制路径120接收。AS服务118适于依据请求执行处理和/或其它任务,并且适当通过AS/客户端控制路径向客户端装置102返回响应(例如,HTTP响应)。此外,通过经由AS/客户端控制路径120和AS/VS控制路径122传输的控制消息,AS服务118适于对客户端装置102上所保存的视觉视图的状态和语音服务器106上所保存的语音视图的状态之间的同步进行控制。本质上,视觉视图和语音视图的同步包括向客户端装置102和语音服务器106提供信息,信息使得客户端装置102上的机器代码的解释能够与语音服务器106上相应话音对话136的机器代码的解释相同步。从另一方面来说,视觉视图和语音视图的同步包括向客户端装置102和语音服务器106提供信息,信息使得客户端装置102上的视觉视图的执行状态能够与语音服务器106上的语音视图的执行状态相同步。以下将更为详细地描述用于执行这种同步的方法。
语音服务器106是模式服务器,其尤其适于连同分布式多模式应用会话一起执行话音处理相关的任务。如之前所提到的,在其它实施例中,可以将其它类型的模式服务器集成到系统中。语音服务器106适于执行VS中间件130、VS浏览器/对话解释器132(以下称作VS浏览器132)和话音识别器134的一个或多个实例。由于其形成分布式应用的服务器侧的部分,所以话音识别器134可被认为是VS侧的应用组件。在其它实施例中,可以实现其它类型的VS侧应用组件。
VS中间件130适于为分别在服务器至服务器连接140和/或网络108两端的VS浏览器132和其它服务器(例如,应用服务器104)和/或客户端装置102之间提供接口。VS浏览器132是使得语音服务器106能够在多模式应用会话的背景下访问并解释话音对话(例如,话音对话136)、连同解释话音对话一起发送和接收音频数据,发出异步请求(例如,异步HTTP请求),以及接收并处理响应(例如,HTTP响应)的软件程序。在各个实施例中,VS浏览器106可以包括定制或可商业获得的浏览器或者适于解释与语音模式提供相关联的标记的其它应用程序(例如,VoiceXML、SALT和/或各种其它标记语言),但并不局限于此。
如刚才所提到的,VS浏览器132可以访问和解释话音对话136。如这里所使用的,“话音对话”可被解释为表示与可能的话音识别结果和/或音频提示的集合相关联的信息集合。根据各个实施例,话音对话可包括适于在一个或多个阶段收集和/或提供音频数据的机器代码。例如,话音对话可以包括网页、文档、文件、列表或者其它类型的信息集合,但是并不局限于此。例如,话音对话还可以包括其它信息和/或元素,诸如文本信息、元数据、机器代码和脚本。虽然以下所描述的实施例包括由语音服务器106所访问(例如,下载)的话音对话,但是所要理解的是,在其它实施例中,话音对话可以被实现为存在于语音服务器106上的机器代码,并且其并不需要被下载或访问。
在一个实施例中,话音对话136包括机器代码,其中机器代码可以包括语音服务器106可以容易地解释的编译代码、标记和/或其它信息。在一个实施例中,话音对话136可以包括标记,其使得VS浏览器132访问和/或执行一个或多个嵌入或引用的脚本(例如,JavaScript代码)。脚本可嵌入在话音对话136之内,或者VS浏览器132可以访问来自外部源(例如,服务器)或来自本地存储器(例如,来自语音服务器106上的高速缓存)的脚本。除其它之外,脚本可以包括适于调用话音识别器134以试图基于所接收的音频数据确定话音识别结果,恢复或生成音频提示和/或发出异步请求(例如,对于话音对话的异步HTTP请求或其它类型的请求)的脚本。在一个实施例中,话音对话136可以使用AJAX技术进行开发,并且由此可以包括适于发出异步请求的标记(例如,VoiceXML和/或SALT标记)和JavaScript。在其它实施例中,话音识别136可以使用其它类型的编程语言、脚本语言和/或标记语言进行开发。
话音识别器134是可以被VS浏览器132所调用的软件应用程序,并且其适于接收音频数据(例如,以压缩、未压缩、编码、未编码或解码格式),使用音频数据执行话音识别算法以便试图确定话音识别结果(例如,所识别话音的指示),并且返回话音识别结果或者指示没有确定结果。如这里所使用的,术语“音频数据”表示话音或其它可听声音的数字化表示(通常为“音频”),其中数字化音频表示可以包括压缩、未压缩、编码、未编码和/或解码格式的所采样话音或其它可听声音。音频数据还可以包括到表格或包括音频数据的其它数据结构之中的指针,其中表格可以被应用服务器102、语音服务器106和/或客户端装置102所访问。话音识别器134可以连同一个或多个话音库138或者其它话音识别资源(例如,语法、n-gram序列、统计语言模型或其它话音识别资源)一起执行,其中话音识别资源可以基于所解释的特定话音对话136而被访问。
在一个实施例中,语音服务器106经由AS/VS控制路径122与应用服务器104进行通信。此外,语音服务器106和客户端装置102可以经由VS/客户端音频数据路径124直接交换音频数据。在一个实施例中,可以使用分组-数据通信协议通过VS/客户端音频数据路径流传输音频数据。可替换地,可以使用电路交换或一键对讲(push-to-talk,PTT)通信方法通过VS/客户端音频数据路径124交换音频数据。虽然可以在其它实施例中实现其它协议(例如,传输控制协议(TCP)等),但是在一个实施例中,使用一种版本的实时传输协议/实时传输控制协议(RTP/RTCP)通过VS/客户端音频数据路径124传送音频数据。
应用服务器104和语音服务器106彼此不同,不同在于应用服务器104和语音服务器106执行不同处理,并且通过AS/VS控制路径122交换影响那些处理的性能的控制消息。此外,客户端装置102和应用服务器104之间的AS/客户端控制路径120不同于客户端装置102和语音服务器106之间的VS/客户端音频数据路径124,不同至少在于客户端装置使用不同地址(例如,不同的IP地址)对应用服务器104和语音服务器106进行寻址。此外,客户端装置102可以使用与用来和语音服务器106交换音频数据的通信协议不同的通信协议来和应用服务器104交换控制消息。在一个实施例中,应用服务器104和语音服务器106可以在物理上不同的硬件上实现,硬件可以共同设置或者不共同设置。在另一实施例中,如以下详细描述的,虽然仍然通过AS/VS控制路径122在两个服务器之间交换各种控制消息,但是应用服务器104和语音服务器106可以在至少部分共享的硬件上实现。
如之前所提到的,本发明主题的实施例适于对与分布式多模式应用会话相关联的视觉视图和语音视图进行同步。“视觉视图”的状态由客户端装置102连同多模式页面(例如,多模式页面115)的解释一起保存,而“语音视图”的状态则由语音服务器106连同与多模式页面相关联的话音对话(例如,话音对话136)一起保存。术语“视觉视图”和“视觉视图状态”可以被定义为浏览器(例如,客户端浏览器112)当前解释或者等待解释的多模式页面内所包括或访问的机器代码和/或当前执行的客户端侧应用组件内所包括或访问的机器代码。例如,当前的视觉视图状态可以对应于与视觉显示当前聚焦于其上的单个页面元素相关联的机器代码,单个页面元素在视觉显示上可以作为被标以高亮、光标在那里闪烁或者在那里设置有一些其它焦点指示的页面元素来表示。术语“语音视图”和“语音视图状态”可以被定义为浏览器(例如,VS浏览器132)当前执行或者等待执行的话音对话内所包括或访问的机器代码。例如,当前语音视图状态可以对应于使得语音服务器等待接收作为对呈现在客户端装置102上的显示元素的输入的音频数据的机器代码。
现在将结合图2-6对用于发起和进行多模式应用会话的方法实施例进行描述。将在特定类型的分布式多模式应用的示例的背景下对这些实施例进行描述,以便促进各个实施例的说明和理解。示例性应用为地图应用,其包括适于使得多模式页面内所表示的元素通过客户端浏览器的解释而呈现在客户端装置上的客户端侧应用组件。客户端侧应用组件(例如,地图应用程序)和客户端浏览器是“允许多模式的”,其意味着它们均适于支持使用多种模式来识别和/或提供用户交互的用户界面,并且客户端浏览器尤其适于在分布式应用会话的支持下与一个或多个远程服务器交换消息并理解消息。在可选实施例中,客户端浏览器可以适于解释多模式页面而无需来自客户端侧应用组件的发起(例如,当用户直接发起客户端浏览器的实例并且使得客户端浏览器下载并解释多模式页面时)。在再一个可选实施例中,客户端侧应用组件可以执行一些或所有客户端浏览器任务,并且/或者客户端侧应用组件可以包括一些或所有本将包括在多模式页面内的机器代码。因此,可以利用或者无需多模式页面来执行实施例。虽然其将被理解为落入本发明主题的范围之内,但是将不在此对这些实施例进行详细讨论。
该实例将包括以数据输入表单的形式显示多模式页面的客户端装置,其中数据输入表单包括多个可填充的数据输入区域(例如,城市、州、街道号码、街道地址),用户可以使用视觉模式或语音模式中的任一种或其二者向其中输入目标位置的地址信息。一旦提交了所输入的信息,系统就可以提供地图信息,地图信息使得客户端装置能够显示包括目标位置的地图。所要理解的是,也可以连同其它类型的分布式多模式应用(除其它之外,例如搜索和导航应用)一起使用该实施例。
在所给出的示例中,多种模式包括视觉模式和语音模式。在客户端装置上,视觉模式可以使用显示屏以及用于生成视觉显示的相关联的硬件和软件来实现。视觉模式也可以使用键盘和/或一个或多个其它用户界面输入装置在客户端装置上实现,用户界面输入装置使得用户能够通过与视觉显示和/或其它用户界面数据装置的交互进行选择、输入信息和/或采取其它动作(例如,改变焦点)。语音模式可以使用麦克风、扬声器以及适于接收人类话音并对其进行数字化和/或输出音频信息的相关联的硬件和软件来实现。
在所给出的示例中,用户可以通过观看视觉显示并且使用键盘或其它输入装置向视觉显示的区域输入信息(或者进行选择)来与用户界面的视觉模式(例如,视觉显示)进行交互。此外,用户可以通过收听音频提示和/或讲话与用户界面的语音模式进行交互,以便提供与其上设置有视觉显示焦点的页面元素相关联的信息。所要理解的是,在可选实施例中,分布式多模式应用可适于允许多于视觉模式和语音模式的模式集合。
将在以下描述的图2图示了依据实施例的用于发起和进行多模式应用会话的整体处理。图2并非意在对发明主题的范围进行限制,而是要提供用于理解结合图3、5和6图示和描述的更为详细的处理描述的整体背景。
图2是依据示例性实施例的用于发起和进行多模式应用会话的方法的流程图。该方法在框202开始,其中客户端装置接收到应当发起多模式应用会话的指示。在各个实施例中,多模式应用会话可以由客户端侧应用组件(例如,地图应用的客户端侧的部分)和/或客户端浏览器的实例所发起。例如,客户端装置的用户可以发起适于由其自身或者连同客户端浏览器一起呈现视觉显示的客户端侧应用组件的实例,视觉显示包括至少一个可以使用视觉模式或语音模式对其输入数据的显示元素。可替换地,用户可以发起客户端浏览器的实例,并且可以向客户端浏览器指示用户希望浏览器访问或下载多模式页面,当被解释时,多模式页面使得客户端装置呈现视觉显示。例如,用户可以提供用户输入以导航到多模式页面。
一旦客户端装置接收到应当发起多模式应用会话的指示,如以下将结合图3更为详细地描述的,通过客户端装置、应用服务器和会话服务器之间的交互在框204发起多模式应用会话。发起多模式应用会话包括在客户端装置和语音服务器之间建立音频数据路径(例如,VS/客户端音频数据路径124,图1),将通过其在多模式应用会话期间交换音频数据。此外,在实施例中,发起多模式应用会话包括通过客户端装置和应用服务器之间的第一控制路径(例如,AS/客户端控制路径120,图1)在客户端装置和应用服务器之间交换信息,并且通过应用服务器和语音服务器之间的第二控制路径(例如,AS/VS控制路径122,图1)在应用服务器和语音服务器之间交换信息。
如将要结合图5和6更为详细地描述的,在多模式应用会话期间,将通过音频数据路径在客户端装置和语音服务器之间交换音频数据,并且将通过第一和第二控制路径在客户端装置、应用服务器和语音服务器之间交换控制信息。控制信息使得视觉视图和语音视图的状态时间的同步能够在整个会话期间始终得以保持。
响应于语音服务器和客户端装置所生成的事件在各个系统实体之间交换音频数据和控制信息,事件被分别称作“VS所生成的事件”和“客户端所生成的事件”。VS所生成的事件和客户端所生成的事件可以影响语音视图和/或视觉视图的状态。VS所生成的事件和客户端所生成的事件可以在进行多模式应用会话的任意时刻发生。如将要结合图5更为详细地描述的,当发生VS所生成的事件时,在框206执行VS所生成的事件的操作处理。此外,如将要结合图6更为详细地描述的,当发生客户端所生成的事件时,在框208执行客户端所生成的事件的操作处理。虽然框206和208被图示为顺序发生,但是这些处理也可以并行或者以相反顺序发生,并且任一个或者两个处理可以在进行多模式应用会话时多次发生。如图2所示,直至如框210所描绘的多模式应用处理终止,对VS所生成的事件和客户端所生成的事件进行操作的处理都持续执行。
图3是依据示例性实施例的用于执行多模式应用会话发起的方法(例如,处理204,图2)的流程图。如之前结合图2的处理202所描述的,在一个实施例中,可以在客户端装置接收到应当发起多模式应用会话的指示时发起多模式应用会话。例如,当用户开启适于解释或执行机器代码的客户端侧应用组件或浏览器时发起多模式应用会话,机器代码使得客户端装置呈现可以使用视觉模式、语音模式或其二者对其输入数据的一个或多个显示元素。在一个实施例中,除其它动作之外,可以在用户开启适于解释多模式页面的客户端侧应用组件或浏览器时和/或用户选择到多模式页面的超级链接时发起多模式应用会话。
在框302中,客户端装置通过AS/客户端控制路径(例如,AS/客户端控制路径120,图1)向应用服务器发送一条或多条控制消息,控制消息包括客户端音频路径信息,其中客户端音频路径信息指定与客户端装置希望与语音服务器建立的音频数据路径(例如,VS/客户端数据路径124,图1)相关的描述性特征。例如,客户端音频路径信息可以包括描述客户端侧应用组件和/或客户端浏览器所支持的(多种)音频格式、(多种)比特率和/或(多种)音频类型,所需的(多种)音频编解码的信息,和/或诸如要用于在多模式应用会话期间通过音频数据路径下载到客户端装置的音频数据(这里称作“下行链路音频数据”)的客户端装置IP地址和端口号之类的客户端侧音频地址信息,但是并不局限于此。在另一个实施例中,在向应用服务器发送客户端音频路径信息之前,客户端装置可以通过AS/客户端控制路径向应用服务器发送应用发起消息。例如,应用发起消息可以包括应用标识符、客户端证书和/或其它信息。
在框304中,应用服务器接收客户端装置所发送的客户端音频路径信息,并且发起客户端装置和语音服务器之间的音频数据路径(例如,VS/客户端音频数据路径124,图1)的建立。在一个实施例中,这包括应用服务器建立与语音服务器的AS/VS控制路径(例如,AS/VS控制路径122,图1)。应用服务器接着通过AS/VS控制路径向语音服务器发送一条或多条控制消息,控制消息包括一些或所有的客户端音频路径信息。
在框306中,语音服务器接收并存储应用服务器所发送的客户端音频路径信息。语音服务器接着通过AS/VS控制路径向应用服务器发送一条或多条控制消息,控制消息包括VS音频路径信息。在一个实施例中,VS音频路径信息指定与VS/客户端音频数据路径相关的附加描述性特征。例如,VS音频路径信息可以包括语音服务器所支持的(多种)音频格式、(多种)比特率和/或(多种)音频类型,所需的(多种)音频编解码,和/或诸如要用于在多模式应用会话期间通过VS/客户端音频数据路径上传到语音服务器的音频数据(这里称作“上行链路音频数据”)的IP地址和端口号之类的VS侧音频地址信息,但是并不局限于此。
在框308中,应用服务器接收语音服务器所发送的VS音频路径信息。应用服务器接着通过AS/客户端控制路径向客户端装置发送一条或多条控制消息,控制消息包括一些或所有的VS音频路径信息。在框310中,客户端装置接收并存储应用服务器所发送的VS音频路径信息。在此,客户端装置和语音服务器均了解应当彼此发送音频数据的IP地址和端口。换句话说,语音服务器知道以什么地址发送下行链路音频数据,而客户端装置知道以什么地址发送上行链路音频数据。因此,在此,在语音服务器和客户端装置之间建立了双向的音频数据路径。在可选实施例中,可以在语音服务器和客户端装置之间建立单向音频数据路径。例如,可以建立其中仅从客户端装置向语音服务器发送上行链路音频数据的音频数据路径,在这种情况下,并不向语音服务器提供客户端音频路径信息。在另一实施例中,可以建立一键对讲(PTT)信道,其使得客户端装置或语音服务器能够在任意给定时刻通过VS/客户端音频数据路径发送音频数据。
在框312中,客户端装置通过AS/客户端控制路径向应用服务器发送控制消息,控制消息包括多模式应用信息。在一个实施例中,多模式应用信息包括标识客户端装置所要准备执行的多模式应用的信息。在另一个实施例中,多模式应用信息包括用于与客户端装置准备执行的多模式应用相关联的至少一个多模式页面(例如,多模式页面115,图1)和/或至少一个话音对话(例如,话音对话136,图1)的引用(例如,统一资源定位符(URL))。
在框314中,应用服务器接收多模式应用信息。应用服务器接着可以根据多模式应用信息确定用于至少一个多模式页面以及对于至少一个话音对话的引用(例如,URL)。在一个实施例中,应用服务器接着可以通过AS/VS控制路径向语音服务器发送用于话音对话的引用(例如,(多个)URL)。语音服务器接着可以下载或访问与(多个)引用相对应的(多个)话音对话。在可选实施例中,应用服务器可以基于(多个)引用取得(多个)话音对话,并且可以将(多个)话音对话通过AS/VS控制路径发送到语音服务器。此外,应用服务器可以取得(多个)多模式页面并且通过AS/客户端控制路径将其发送到客户端装置。
在框316中,客户端装置接收多模式页面并发起对其的解释,并且在客户端装置上的呈现多模式页面内所包括的视觉标记。例如,客户端浏览器或客户端侧应用组件可以对多模式页面内所包括的视觉标记进行解释,并且可以依据视觉标记在与客户端装置相关联的显示装置上显示一个或多个页面元素。
图4是依据示例性实施例的在客户端装置400上呈现的视觉标记的示例。在所图示的示例中,一部分视觉标记以四个多模式显示元素401、402、403、404的形式进行呈现,其中每一个均包括文本标签(例如,“城市”、“州”、“街道号码”和“街道名称”)以及数据输入区域。
再次参见图3,在框318中,客户端装置通过AS/客户端控制路径发送控制消息,其指示客户端装置已经发起了对多模式页面的解释(例如,客户端装置已经发起了多模式应用的执行)和/或已经发起了与多模式会话相关联的其它机器代码的执行。在此,视觉视图为初始状态。在视觉视图的初始状态,客户端装置可以等待接收与话音相对应的音频信号并将其数字化,并且通过VS/客户端音频数据路径向语音服务器发送与数字化的音频信号相对应的上行链路音频数据。除此之外或可替换地,在视觉视图的初始状态,客户端装置可以等待从应用服务器接收额外的控制消息,和/或等待通过VS/客户端音频数据路径来自语音服务器的下行链路音频数据,并且使用与客户端装置相关联的音频输出装置(例如,扬声器、耳机或头戴式耳机)呈现下行链路音频数据。
在框320中,应用服务器接收控制消息,控制消息指示客户端装置已经发起了对多模式页面或者与多模式应用会话相关联的其它机器代码的解释,并且应用服务器通过AS/VS控制路径向语音服务器发送控制消息,其命令语音服务器开始解释话音对话。在框322中,语音服务器接着开始解释话音对话。在此,语音视图处于与视觉视图的初始状态相同步的初始状态。在语音视图的初始状态中,语音服务器可以等待接收来自应用服务器的额外的控制消息,和/或可以等待接收通过VS/客户端音频数据路径来自客户端装置的上行链路音频数据。
接着完成初始化和开始多模式应用会话的处理。在此,视觉视图处于第一状态,其中客户端装置已经到达其对与多模式会话(例如,多模式页面和/或客户端侧应用组件)相关联的机器代码进行解释的点,其在此等待用户经由视觉模式或语音模式进行输入,或者其在此等待来自语音服务器的下行链路音频数据。此外,语音视图处于第一状态,其中语音服务器已经到达其对与多模式会话(例如,话音对话)相关联的机器代码进行解释的点,其在此等待来自应用服务器的控制输入或者其在此等待来自客户端装置的上行链路音频。
图3图示了用于执行多模式应用会话发起的方法的特定实施例。如利用这里(例如,在图5和6中)所描述的其它方法,所图示的处理顺序可以与所图示和描述的有所不同,在其它实施例中,一些处理和/或消息可以被合并在一起,和/或一些处理和/或消息可以被一起排除。例如,在用于执行多模式应用会话发起的方法的可选实施例中,图3的步骤302和312可以被组合在一起(例如,客户端装置可以连同多模式应用信息一起向语音服务器发送音频路径信息)。在其它的可选实施例中,处理304的全部或部分可以被排除,诸如在客户端装置和/或语音服务器已经加载了与多模式应用会话相关联的机器代码时(例如,使得不必要下载机器代码)。在再一个可选实施例中,客户端装置和语音服务器可以直接通信以建立VS/客户端音频数据路径(例如,客户端装置可以发起到语音服务器的呼叫线路,并且可以利用会话标识符建立VS/客户端音频数据路径,会话标识符被发送到应用服务器)。
如之前结合图2的框206和208所讨论的,在发起多模式应用会话之后,会发生至少两种类型的事件,其会影响语音视图和/或视觉视图的状态。这些事件类型包括VS所生成的事件和客户端所生成的事件。图5和6分别图示了VS所生成的事件的操作处理和客户端所生成的事件的操作处理的实施例。
图5是依据示例性实施例的用于执行VS所生成的事件的操作处理(例如,处理206,图2)的方法的流程图。术语“VS所生成的事件”可以被定义为在语音服务器上发生的事件,其可以准许语音视图的状态变化。例如,除其它之外,各种VS所生成的事件可以包括话音识别事件、超时事件以及下载或访问其它语音对话,但并不局限于此。
在一个实施例中,方法在框502开始,其中客户端装置通过其用户界面接收到可以表示用户发音(例如,用户话音)的信号。客户端装置接着可以对信号进行数字化和处理以生成表示信号的上行链路音频数据,并且可以通过音频数据路径(例如,VS/客户端音频数据路径124,图1)将上行链路音频数据发送到语音服务器。用户话音可以对应于单个显示元素(例如,话音可以是对应于显示元素402的“伊利诺伊(Illinois)”的发音,图4),或者对应于多于一个的显示元素(例如,话音可以是对应于显示元素401和402的“芝加哥,伊利诺伊”的发音,图4)。在各个实施例中,可以通过分组交换或电路交换网络建立音频数据路径。在通过分组交换网络建立音频数据路径的实施例中,客户端装置对音频数据进行分组化,并且在寻址到客户端装置在多模式应用会话发起处理(例如,图3的处理)期间所接收的语音服务器IP地址和端口的一个或多个消息中发送音频数据。
在框504中,语音服务器接收上行链路音频数据。响应于上行链路音频数据的接收,语音服务器可以执行话音识别处理,其中语音服务器试图识别上行链路音频数据所表示的话音(例如,发音)。在一个实施例中,这包括由话音识别器(例如,话音识别器134,图1)处理上行链路音频数据。在一个实施例中,话音识别器可以访问与语音视图当时有效(then-current)的状态相关联的话音识别资源,其中话音识别资源可以包括与和语音视图当时有效的状态相关联的发音集合相关联的数据。例如,再次参见图4,数据“芝加哥”已经被填到第一显示元素401(例如,“城市”显示元素)的数据输入区域中。光标被显示在第二显示元素402(例如,“州”显示元素)的数据输入区域中,其指示视觉视图的当前焦点,或者视觉视图的状态。当视觉视图和语音视图同步时,语音视图的状态将对应于等待接收与州名称的用户发音相对应的音频数据的语音服务器。由于存在州名称的有限集合,所以可以在话音识别器访问与对应于州名称的有限集合的发音集合相关联的话音识别资源时提升话音识别器的鲁棒性。除其它变量之外,话音识别资源可适于利用州名称的各种不同的发音方式和/或表示男性和女性话音特征的数据来识别话音。
在框506中,确定话音是否被识别。当语音服务器无法将上行链路音频数据与可识别话音相关联时(例如,音频数据并不对应于可接受错误极限内的任何单个州名称),语音服务器可以确定话音没有被识别。在这样的情况下,在框508中,语音服务器可以通过AS/VS控制路径向应用服务器发送控制消息,其指示发生了话音识别错误。在框510中,应用服务器接着可以通过AS/客户端控制路径向客户端装置发送指示错误的控制消息。在框511中,一旦接收到错误指示,客户端装置就可以呈现错误消息,其向用户指示用户的输入话音没有被识别。在各个实施例中,客户端装置可以将错误消息作为音频提示和/或在视觉显示上显示的消息来呈现。客户端装置接着可以提示用户重新输入数据或者可以采取其它一些动作(或不采取动作),并且方法可以结束。
再次参见框506,当语音服务器确定了上行链路数据对应于可识别话音时(例如,音频数据对应于所识别的州名称),在框512中,语音服务器可以生成识别事件(例如,VS所生成的事件),并且可以通过AS/VS控制路径向应用服务器发送控制消息,其向应用服务器通知识别事件。在一个实施例中,识别事件包括话音被识别的指示(例如,二进制数值)和话音识别结果,话音识别结果可以包括所识别话音的指示(例如,所识别州名称的指示)。在可选实施例中,识别事件还可以包括一个或多个其它的话音识别结果,并且可能包括每个话音识别结果的关联强度指示(例如,每个结果为正确结果的可能性的指示)。在各个实施例中,所识别话音的指示可以包括所识别话音的文本表示、到可能识别结果的表(例如,列出州名称的表)中的索引,或者一些其它类型的指示符。在框514中,应用服务器接着可以通过AS/客户端控制路径发送控制消息,其包括从语音服务器所接收的控制消息中所包括或者从其得出的信息(例如,指示识别事件的消息)。例如,控制消息还可以包括话音被识别的指示以及话音识别结果(例如,所识别话音的指示)。
虽然在一个实施例中,音频数据的接收和识别可以触发语音服务器产生VS所生成的事件,但是在其它实施例中,其它条件也可以触发语音服务器产生VS所生成的事件。例如,当语音视图处于其等待接收音频数据的状态中时,语音服务器可以在预定超时周期内没有接收到音频数据时产生VS所生成的事件,但是并不局限于此。在这样的情况下,在框512中发送的VS至AS控制消息可以通知应用服务器其它类型的事件,并且在框514中发送的AS至客户端控制消息进而可以通知客户端装置其它类型的事件。客户端装置可以根据事件类型采取动作。虽然其它类型的VS所生成的事件没有在此详细讨论,但是实施例的范围意在包括其它类型的VS所生成的事件。
在框514中,一旦应用服务器向客户端装置发送了控制消息,在框516中,客户端装置就接收控制消息,并且处理话音识别结果。此外,客户端装置根据话音识别结果更新视觉显示,并且通过AS/客户端控制路径向应用服务器发送控制消息以指示更新已经完成和/或客户端装置准备接收指示VS所生成的事件的另一消息。例如,如果话音识别结果以不同于所识别话音的文本表示的一些形式进行传送,则客户端装置可以确定文本表示(例如,客户端装置可以在话音识别结果标识了表中的条目时查找文本表示)。再次参见图4,例如,如果话音识别结果被处理为文本“伊利诺伊”,则客户端装置可以在第二显示元素402的数据输入区域中显示“伊利诺伊”。当识别结果对应于多于一个的显示元素时,客户端装置可以在多于一个的相应数据输入区域中显示数据(例如,当识别结果指示“芝加哥”和“伊利诺伊”的识别话音时,如果“芝加哥”未被显示,则客户端装置可以在显示元素401中显示“芝加哥”,并且在显示元素402中显示“伊利诺伊”)。此外,客户端装置可以通过将光标移动到第三显示元素403的数据输入区域来自动(例如,无需进一步的用户交互)改变视觉视图上的焦点。在改变焦点的背景下,客户端装置可以通过完成其对与第二显示元素402相关联的标记的解释,并且通过发起对与第三显示元素403相关联的标记的解释来进行视觉视图的状态变化。
再次参见图5,在框518中,客户端装置确定是否已经发生了视觉视图的状态转换。例如,如之前的段落中所描述的,状态变换可以在视觉视图的焦点已经被改变时发生。当没有发生状态变换时,方法可以结束。当已经发生状态变换时,在框520中,客户端装置通过AS/客户端控制路径向应用服务器发送指示已经发生状态变换的控制消息。在可选实施例中,在框520中发送的控制消息内的信息可以与在框516中发送的控制消息内的信息相结合,并且/或者应用服务器可以基于其它信息项目的接收推断任一信息项目(换句话说,当应用服务器接收到更新完成的指示时,其可以推断发生了状态变换,反之亦然)。
在框522中,应用服务器接收指示已经发生状态转移的信息,并且通过AS/VS控制路径向语音服务器发送控制消息,其包括将使得语音服务器发起语音视图的状态变换的信息。例如,在一个实施例中,控制消息中的信息可以是来自应用服务器的使得语音服务器进行语音视图状态变换的指令。在另一实施例中,控制消息中的信息可以是已经发生了视觉视图状态转换的指示,并且语音服务器可以相应确定是否进行语音视图状态转换。
在框524中,语音服务器从应用服务器接收控制消息,并且作为响应,进行语音视图状态转换。此外,语音服务器可以经由AS/VS控制路径向应用服务器发送控制消息,其指示已经发生了状态转换。例如,再次参见图4,语音服务器可以完成其对与等待和第二显示元素402相关的音频数据相关联的机器代码的解释,并且可以发起对与等待和第三显示元素403的音频数据相关联的机器代码和/或与通过VS/客户端音频数据路径向客户端装置发送下行链路音频数据(例如,音频提示)相关联的机器代码的解释。
当在框526中确定了语音视图的当前状态包括向客户端装置发送音频提示时,接着在框528中,语音服务器通过VS/客户端音频数据路径向客户端装置发送适当的音频提示作为下行链路音频数据。例如,当焦点已经被改变到地上那显示元素403时,与第三显示元素403相关联的机器代码可以使得语音服务器通过VS/客户端音频数据路径向客户端装置发送音频提示,其包括与“请说出街道号码”相对应的音频数据或者一些类似音频提示。一旦接收到音频数据,客户端装置就可以诸如通过在客户端装置的音频输出装置上输出对应于提示的可听信号来呈现音频提示。接着,图5的方法可以结束。
图5所示的方法的实施例与在发生VS所生成的事件时执行的处理相关,其会影响视觉视图或语音视图中任一个或其二者的状态。如之前所讨论的,客户端装置也可以生成事件,其可以影响视觉视图和/或语音视图的状态。在这样的情况下,在一个实施例中,执行客户端所生成的事件的操作处理。
图6是依据示例性实施例的用于执行客户端所生成的事件的操作处理(例如,处理208,图2)的方法的流程图。术语“客户端所生成的事件”可以被定义为在客户端生发生的事件,其可以准许视觉视图的状态改变。例如,除其它之外,各种客户端所生成的事件可以包括视觉视图的焦点改变,使用键盘输入数据以及下载或访问另一个多模式页面,但是并不局限于此。
在一个实施例中,方法在框602开始,其中客户端装置通过其视觉模式接收到用户输入,用户输入可以准许视觉视图的状态变化和/或视觉显示的更新。例如,用户可以使用客户端装置的滚动或指示机制来选择与视觉视图当前聚焦于其上的不同显示元素和/或数据输入区域。如另一个示例,用户例如可以使用键盘使得文本被输入到视觉视图当前聚焦于其上的数据输入区域之中,并且诸如可以通过按压“输入”键(例如,“输入”键406,图4)或者通过提供其它一些指示来指示数据完成了到数据区域的插入。如又另一个示例,用户诸如可以通过指示通过用户界面导航到另一多模式页面,或者通过提交当前页面内所包括的信息而使得客户端信息请求或访问另一个多模式页面,信息诸如通过按压“提交”键(例如,“提交”键408,图4)或者通过提供一些其它指示来提交。
当客户端装置接收到可以准许视觉显示更新和/或视觉视图状态改变的用户输入时,在框604中,客户端装置可以生成客户端所生成的事件,并且可以通过AS/客户端控制路径向应用服务器发送控制消息,其就客户端所生成的事件通知应用服务器。在一个实施例中,客户端所生成的事件包括事件类型的指示(例如,文本输入、焦点改变、多模式页面改变)以及事件细节的指示。例如,仍然参见图4,当客户端装置已经接收到用于数据输入区域402的“伊利诺伊”文本输入时,控制消息可以指示文本输入类型的事件,并且可以包括所输入文本“伊利诺伊”的指示。在各个实施例中,所输入文本的指示可以包括所输入数据的文本表示、到有效条目的表中的索引(例如,列有州名称的表)或者其它一些类型的指示符。如另一个示例,当客户端装置已经接收到将焦点改变到数据输入区域404的用户输入时,控制消息可以包括焦点改变类型的事件(例如,从数据输入区域403上的当前焦点改变为数据输入区域404上的不同焦点),并且可以包括标识数据输入区域404的信息。
在框606中,应用服务器从客户端装置接收控制消息,并且如以下所描述对控制消息进行处理。在框608中,应用服务器生成响应控制消息并通过AS/客户端控制路径将其发送到客户端装置,响应控制消息可以包括使得客户端装置更新视觉显示和/或将视觉视图转换为另一状态的信息。例如,当客户端所生成的事件指示文本输入时(例如,用户在键盘上输入了“伊利诺伊”并且选择了“输入”),控制消息可以命令客户端装置改变视觉视图的状态以便在如果有下一个顺序数据输入区域的情况下与其相对应,和/或可以命令客户端装置通过将光标移动到下一个顺序数据输入区域(例如,执行焦点改变)来更新视觉显示。在一个实施例中,如果客户端所生成的事件指示客户端已经向最后的数据输入区域中输入了文本,则控制消息可以命令客户端采取一些其它动作(例如,发起所输入信息的地图绘制或者转换到新的页面)。当客户端所生成的事件指示焦点改变而没有文本输入时,控制消息可以命令客户端装置改变视觉视图的状态以对应于用户所选择的显示元素(其不必为下一个顺序元素),和/或可以命令客户端装置通过将光标移动到对应于用户所选择的显示元素的数据输入区域中以更新视觉显示。
在框610中,客户端装置从应用服务器接收控制消息,并相应地进行响应。例如,客户端装置可以通过移动光标更新视觉显示,和/或可以转换视觉视图的状态以对应于视觉显示当前应当聚焦于其上的显示元素。例如,仍然参见图4,当应用服务器已经向客户端装置指示其应当更新视觉显示并且转换视觉视图的状态时,客户端装置可以按照命令通过更新视觉显示并且转换视觉视图的状态进行响应。例如,如果客户端装置被命令将视觉视图的焦点改变到显示元素403,则客户端装置可以通过完成其对与第二显示元素402相关联的机器代码的解释(例如,等待用户经由视觉模式或语音模式对第二显示元素402的输入,和/或等待来自语音服务器的音频提示),并且通过发起对与第三显示元素403相关联的机器代码的解释(例如,等待用户经由视觉模式或语音模式对第三显示元素403的输入,和/或等待来自语音服务器的音频提示)来进行视觉视图的状态转换。
与框608和610并行或者在其之前或之后,在框612中,应用服务器可以通过AS/VS控制路径向语音服务器发送控制消息,其通过包括在框606中应用服务器从客户端装置接收的控制消息中所包括或者从其得出的信息来指示客户端所生成的事件。例如,如之前所描述的,控制消息还可以包括客户端所生成的事件的类型的指示以及事件细节的指示。
在框614中,语音服务器从应用服务器接收控制消息,并且例如通过适当设置一个或多个数值、识别音频提示、进行语音视图状态改变和/或下载或访问另一个话音对话对消息进行处理。例如,仍然参见图4,当应用服务器已经向语音服务器指示了客户端装置已经接收到对数据输入区域402的文本输入“伊利诺伊”并且视觉显示的焦点已经改变为数据输入403时,语音服务器可以存储所输入文本的指示已用于未来引用(例如,在确定话音识别资源以便在后续话音识别处理期间使用时),并且可以将语音视图的状态改变为与视觉视图相同步。例如,如果视觉视图的焦点已经改变,则语音服务器可以通过完成其对与第二显示元素402相关联的机器代码的解释(例如,等待关于第二显示元素402的音频数据和/或生成针对第二显示元素402的音频提示),并且通过发起对与已经针对其改变焦点的显示元素(例如,第三显示元素403)相关联的机器代码的解释来进行视觉视图的状态改变。与已经针对其改变焦点的显示元素相关联的机器代码可以包括与等待该显示元素的音频数据相关联的机器代码和/或与通过VS/客户端音频数据路径向客户端装置发送下行链路音频数据相关联的机器代码,这可以包括与该显示元素相关联的音频提示。
在框616中,当确定了语音视图的当前状态包括向客户端装置发送音频提示时,接着在框618中,语音服务器通过VS/客户端音频数据路径向客户端装置发送适当的音频提示作为下行链路音频数据。例如,当焦点已经被改变到第三显示元素403时,与第三显示元素403相关联的机器代码可以使得语音服务器通过VS/客户端音频数据路径向客户端装置发送音频提示,其包括对应于“请说出街道号码”相对应的音频数据或者一些类似音频提示。一旦接收到音频数据,客户端装置就可以诸如通过在客户端装置的音频输出装置上输出对应于提示的可听信号来呈现音频提示。在一个实施例中,客户端装置并不呈现提示直至客户端装置已经完成了框610。接着,图6的方法可以结束。
现在,已经在以上对用于实现分布式多模式应用的方法和设备的实施例进行了描述。以上的详细描述本质上仅为示例性的而并非意在将本发明主题或者本发明主题的应用和使用限制为所描述的实施例。此外,并非意在通过之前的背景技术或详细描述中所给出的任意理论限定范围。
由应用服务器所执行的方法的实施例包括:通过应用服务器和语音服务器之间的应用服务器/语音服务器控制路径,从语音服务器接收已经基于从客户端装置通过客户端装置和语音服务器之间的音频数据路径发送到语音服务器的上行链路音频数据对话音进行了识别的指示的步骤。上行链路音频数据表示通过客户端装置的语音模式所接收的模拟音频信号,并且语音服务器不同于应用服务器。方法还包括:通过应用服务器和客户端装置之间的应用服务器/客户端控制路径,向客户端装置发送消息的步骤,消息包括话音的识别结果并且使得客户端装置更新视觉显示以反映识别结果。
客户端装置所执行的方法的另一实施例包括:基于对使得客户端装置呈现视觉显示的机器代码的解释来呈现视觉显示的步骤,其中视觉显示包括可由客户端装置通过视觉模式和语音模式对其接收输入数据的至少一个显示元素。方法还包括:通过语音模式接收话音,对话音进行数字化以生成与至少一个显示元素的一个或多个显示元素相对应的上行链路音频数据,并且通过客户端装置和语音服务器之间的音频数据路径将上行链路音频数据发送到语音服务器的步骤。方法还包括:通过应用服务器和客户端装置之间的应用服务器/客户端控制路径从应用服务器接收话音识别结果的步骤,其中话音识别结果基于已经对上行链路音频数据执行了话音识别处理的语音服务器,并且音频数据路径不同于应用服务器/客户端控制路径,并且语音服务器不同于应用服务器。方法还包括:根据话音识别结果更新视觉显示的一个或多个显示元素。
系统实施例包括:客户端装置、语音服务器和应用服务器。客户端装置适于显示可通过视觉模式和语音模式对其接收输入数据的至少一个显示元素,并且当通过语音模式接收到作为话音的输入数据时,通过客户端装置和语音服务器之间的音频数据路径向语音服务器发送表示话音的上行链路音频数据。语音服务器适于基于上行链路音频数据确定话音是否被识别,并且当话音被识别时,通过应用服务器和语音服务器之间的应用服务器/语音服务器控制路径向应用服务器发送话音被识别的指示。应用服务器适于接收话音被识别的指示,并且基于指示,通过应用服务器和客户端装置之间的应用服务器/客户端控制路径向客户端装置发送话音识别结果,其中应用服务器/客户端控制路径不同于音频数据路径。
任意权利要求中的文本序列并不意味着处理步骤必须根据这样的序列以时间或逻辑顺序来执行,除非被权利要求的语言特别限定。处理步骤可以以任意顺序进行互换和/或可以并行执行,而并不会背离本发明主题的范围。此外,所要理解的是,以上被描述为在系统部件之间进行交换的各种不同消息内的信息可以组合到单个消息中,和/或特定消息内的信息可以被划分到多个消息中。此外,消息可以由系统部件以与以上所描述的顺序不同的顺序发送。此外,用于描述不同部件之间的关系的诸如“连接到”或“耦合到”之类的词语并不意味着必须在这些部件之间进行直接的物理连接。例如,两个部件可以以物理、电、逻辑或任意其它方式通过一个或多个额外部件彼此连接,而并不会背离本发明主题的范围。
本领域技术人员将要理解的是,可以使用任意的各种不同技术和技能来表示信息和信号。例如,可以贯穿以上描述所引用的数据、指令、命令、信息、信号、比特、符号和芯片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
本领域技术人员应当进一步意识到,结合这里所公开的实施例所描述的各种说明性逻辑框、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或其二者的组合。为了清楚描述硬件和软件的互换性,各种图示组件、框、模块、电路和步骤已经在以上在其功能方面进行了一般性描述。这些功能是否被实现为硬件或软件取决于施加于整体系统上的特定应用和设计。技术人员可以针对每种特定应用以各种方式实现所描述的功能,但是这些实施方式的结果不应当被解释为导致背离本发明主题的范围。
结合这里所公开的实施例所描述的各种说明性逻辑框和模块可以利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或者被设计为实现这里所描述的功能的其任意组合来实现或执行。通用处理器可以是微处理器,但是可替换地,处理器可以使任意的传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算装置的组合,诸如DSP和微处理器的组合、多个微处理器的组合、与DSP核相结合的一个或多个微处理器的组合或者任意其它这样的配置。
结合这里所公开的实施例所描述的方法或算法的步骤可以直接以硬件、处理器所执行的一个或多个软件模块或者以二者的组合来实现。软件模块可以存在于随机访问存储器、闪存、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电EPROM、寄存器、硬盘、便携式磁盘、紧致盘ROM(CD-ROM)或者本领域已知的任意其它形式的存储介质中。示例性存储介质耦合到处理器以使得处理器能够从存储介质读取信息并且向其写入信息。以可替换的方式,存储介质可以集成到处理器中。处理器和存储介质可以存在于ASIC中。ASIC可以存在于用户终端中。以可替换的方式,处理器和存储介质可以作为离散组件存在于用户终端中。
虽然已经在以上的详细描述中对至少一个示例性实施例进行了描述,但是应当意识到存在多种变化形式。还应当意识到的是,一个或多个示例性实施例仅为示例,而并非旨在以任何方式对本发明主题的范围、应用性或配置进行限制。相反,以上的详细描述将为本领域技术人员提供用于实现本发明主题的示例性实施例的常规方案,所要理解的是可以在示例性实施例中所描述的部件功能和设置方面进行各种变化而不会背离如所附权利要求及其法律等同物体所给出的本发明主题的范围。

Claims (8)

1.一种用于实现分布式多模式应用的方法,所述方法包括步骤:
显示至少一个显示元素,其中对所述至少一个显示元素的输入数据可通过视觉模式和语音模式接收,并且当通过所述语音模式接收到作为话音的输入数据时,其通过客户端装置和语音服务器之间的音频数据路径向所述语音服务器发送表示所述话音的上行链路音频数据;
基于所述上行链路音频数据确定所述话音是否被识别,并且当所述话音被识别时,通过应用服务器和所述语音服务器之间的应用服务器/语音服务器控制路径向所述应用服务器发送所述话音被识别的指示;以及
接收所述话音已被识别的指示,并且基于所述指示通过所述应用服务器和所述客户端装置之间的应用服务器/客户端控制路径向所述客户端装置发送话音识别结果,其中所述应用服务器/客户端控制路径不同于所述音频数据路径。
2.如权利要求1所述的方法,进一步包括:
适于通过所述应用服务器/客户端控制路径从所述客户端装置接收第一音频路径信息,并且通过所述应用服务器/语音服务器控制路径从所述语音服务器接收第二音频路径信息,其中所述第一音频路径信息包括将要用于通过所述音频数据路径将下行链路音频数据从所述语音服务器发送到所述客户端装置的客户端互联网协议(IP)地址,并且其中所述第二音频路径信息包括将要用于通过所述音频数据路径将上行链路音频数据从所述客户端装置发送到所述语音服务器的语音服务器IP地址;以及
通过所述应用服务器/语音服务器控制路径向所述语音服务器发送所述第一音频路径信息,并且通过所述应用服务器/客户端控制路径向所述客户端装置发送所述第二音频路径信息,来发起所述音频数据路径的建立。
3.如权利要求1所述的方法,其中所述客户端装置是从包括无线电装置、个人数字助理、计算机、以及在计算机上实现的通过互联网协议传送语音(VoIP)电话的装置的组中所选择的装置。
4.如权利要求1所述的方法,其中所述应用服务器和所述语音服务器彼此的不同在于:所述应用服务器和所述语音服务器执行不同的处理,并且交换影响所述应用服务器/语音服务器控制路径上的不同处理的性能的控制消息。
5.一种用于实现分布式多模式应用的系统,包括:
客户端装置,其适于显示至少一个显示元素,其中对所述至少一个显示元素的输入数据可通过视觉模式和语音模式接收,并且当通过所述语音模式接收到作为话音的输入数据时,其通过客户端装置和语音服务器之间的音频数据路径向所述语音服务器发送表示所述话音的上行链路音频数据;
语音服务器,其适于基于所述上行链路音频数据确定所述话音是否被识别,并且当所述话音被识别时,通过应用服务器和所述语音服务器之间的应用服务器/语音服务器控制路径向所述应用服务器发送所述话音被识别的指示;以及
应用服务器,其适于接收所述话音已被识别的指示,并且基于所述指示通过所述应用服务器和所述客户端装置之间的应用服务器/客户端控制路径向所述客户端装置发送话音识别结果,其中所述应用服务器/客户端控制路径不同于所述音频数据路径。
6.如权利要求5所述的系统,其中所述应用服务器进一步适于通过所述应用服务器/客户端控制路径从所述客户端装置接收第一音频路径信息,并且通过所述应用服务器/语音服务器控制路径从所述语音服务器接收第二音频路径信息,其中所述第一音频路径信息包括将要用于通过所述音频数据路径将下行链路音频数据从所述语音服务器发送到所述客户端装置的客户端互联网协议(IP)地址,并且其中所述第二音频路径信息包括将要用于通过所述音频数据路径将上行链路音频数据从所述客户端装置发送到所述语音服务器的语音服务器IP地址,并且其中所述应用服务器进一步适于通过所述应用服务器/语音服务器控制路径向所述语音服务器发送所述第一音频路径信息,并且通过所述应用服务器/客户端控制路径向所述客户端装置发送所述第二音频路径信息,来发起所述音频数据路径的建立。
7.如权利要求5所述的系统,其中所述客户端装置是从包括无线电装置、个人数字助理、计算机、以及在计算机上实现的通过互联网协议传送语音(VoIP)电话的装置的组中所选择的装置。
8.如权利要求5所述的系统,其中所述应用服务器和所述语音服务器彼此的不同在于:所述应用服务器和所述语音服务器执行不同的处理,并且交换影响所述应用服务器/语音服务器控制路径上的不同处理的性能的控制消息。
CN201310051346.XA 2007-12-31 2008-12-19 用于实现分布式多模式应用的方法和设备 Active CN103198830B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN2768DE2007 2007-12-31
IN2768/DEL/2007 2007-12-31
CN2008801236207A CN101911041B (zh) 2007-12-31 2008-12-19 用于实现分布式多模式应用的方法和设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2008801236207A Division CN101911041B (zh) 2007-12-31 2008-12-19 用于实现分布式多模式应用的方法和设备

Publications (2)

Publication Number Publication Date
CN103198830A CN103198830A (zh) 2013-07-10
CN103198830B true CN103198830B (zh) 2016-02-24

Family

ID=40799553

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2008801236207A Active CN101911041B (zh) 2007-12-31 2008-12-19 用于实现分布式多模式应用的方法和设备
CN201310051346.XA Active CN103198830B (zh) 2007-12-31 2008-12-19 用于实现分布式多模式应用的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2008801236207A Active CN101911041B (zh) 2007-12-31 2008-12-19 用于实现分布式多模式应用的方法和设备

Country Status (6)

Country Link
US (1) US8386260B2 (zh)
EP (1) EP2243088B1 (zh)
KR (1) KR101237622B1 (zh)
CN (2) CN101911041B (zh)
RU (1) RU2491617C2 (zh)
WO (1) WO2009088718A2 (zh)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352265B1 (en) 2007-12-24 2013-01-08 Edward Lin Hardware implemented backend search engine for a high-rate speech recognition system
US8639510B1 (en) 2007-12-24 2014-01-28 Kai Yu Acoustic scoring unit implemented on a single FPGA or ASIC
US8463610B1 (en) 2008-01-18 2013-06-11 Patrick J. Bourke Hardware-implemented scalable modular engine for low-power speech recognition
US8401157B2 (en) * 2008-01-24 2013-03-19 Alcatel Lucent System and method for providing audible spoken name pronunciations
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
US8306021B2 (en) 2008-04-02 2012-11-06 Twilio, Inc. System and method for processing telephony sessions
WO2010040010A1 (en) 2008-10-01 2010-04-08 Twilio Inc Telephony web event system and method
EP2211336B1 (en) * 2009-01-23 2014-10-08 Harman Becker Automotive Systems GmbH Improved speech input using navigation information
US8509415B2 (en) 2009-03-02 2013-08-13 Twilio, Inc. Method and system for a multitenancy telephony network
CN102415068B (zh) 2009-03-02 2015-09-02 特维里奥公司 用于多租户电话网络的方法和系统
US10387140B2 (en) 2009-07-23 2019-08-20 S3G Technology Llc Modification of terminal and service provider machines using an update server machine
MX2012000951A (es) * 2009-07-23 2012-06-01 Sourcetrace Systems Inc Modificacion de maquinas terminal y proveedoras de servicio utilizando un servidor de actualizaciones.
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US8582737B2 (en) 2009-10-07 2013-11-12 Twilio, Inc. System and method for running a multi-module telephony application
FR2951898B1 (fr) * 2009-10-27 2015-10-02 Sagem Comm Procede d'etablissement d'une session applicative, dispositif et notification correspondante
US8638781B2 (en) * 2010-01-19 2014-01-28 Twilio, Inc. Method and system for preserving telephony session state
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US8416923B2 (en) 2010-06-23 2013-04-09 Twilio, Inc. Method for providing clean endpoint addresses
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8731939B1 (en) * 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US9442628B2 (en) * 2010-08-20 2016-09-13 Automatic Data Processing, Inc. Payroll data entry and management
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
GB2503825B (en) * 2011-02-14 2018-10-17 Metaswitch Networks Ltd Telephony user device comprising touch screen user interface reconfigurable by a remote server
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
WO2013044138A1 (en) 2011-09-21 2013-03-28 Twilio, Inc. System and method for authorizing and connecting application developers and users
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US9794209B2 (en) 2011-09-28 2017-10-17 Elwha Llc User interface for multi-modality communication
US9699632B2 (en) 2011-09-28 2017-07-04 Elwha Llc Multi-modality communication with interceptive conversion
US9906927B2 (en) 2011-09-28 2018-02-27 Elwha Llc Multi-modality communication initiation
US20130080547A1 (en) * 2011-09-28 2013-03-28 Royce A. Levien Network facilitation of multi-modality communication modification
US9788349B2 (en) 2011-09-28 2017-10-10 Elwha Llc Multi-modality communication auto-activation
CN108337380B (zh) * 2011-09-30 2022-08-19 苹果公司 自动调整用户界面以用于免提交互
IN2014CN02809A (zh) 2011-10-10 2015-07-03 Hewlett Packard Development Co
US9015021B2 (en) * 2011-10-25 2015-04-21 Cellco Partnership Multiple client simulator for push engine
US9847083B2 (en) * 2011-11-17 2017-12-19 Universal Electronics Inc. System and method for voice actuated configuration of a controlling device
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130325483A1 (en) * 2012-05-29 2013-12-05 GM Global Technology Operations LLC Dialogue models for vehicle occupants
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US20130339455A1 (en) * 2012-06-19 2013-12-19 Research In Motion Limited Method and Apparatus for Identifying an Active Participant in a Conferencing Event
US9715879B2 (en) * 2012-07-02 2017-07-25 Salesforce.Com, Inc. Computer implemented methods and apparatus for selectively interacting with a server to build a local database for speech recognition at a device
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US8738051B2 (en) 2012-07-26 2014-05-27 Twilio, Inc. Method and system for controlling message routing
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US9875494B2 (en) * 2013-04-16 2018-01-23 Sri International Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9833716B2 (en) 2013-11-22 2017-12-05 Electronics And Telecommunications Research Institute Web content sharing method, and web content providing apparatus and receiving terminal for web content sharing
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9583105B2 (en) * 2014-06-06 2017-02-28 Microsoft Technology Licensing, Llc Modification of visual content to facilitate improved speech recognition
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
US11194538B2 (en) * 2014-12-08 2021-12-07 Ricoh Company, Ltd. Image management system, image management method, and program
US11094320B1 (en) * 2014-12-22 2021-08-17 Amazon Technologies, Inc. Dialog visualization
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
WO2017061149A1 (ja) * 2015-10-08 2017-04-13 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
KR20180046208A (ko) * 2016-10-27 2018-05-08 삼성전자주식회사 음성 명령에 기초하여 애플리케이션을 실행하는 방법 및 장치
RU2638003C1 (ru) * 2016-11-24 2017-12-08 Федеральное государственное бюджетное учреждение науки Санкт-Петербургский институт информатики и автоматизации Российской академии наук Способ распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей
KR102458343B1 (ko) * 2016-12-26 2022-10-25 삼성전자주식회사 음성 데이터를 송수신하는 디바이스 및 방법
CN107146623B (zh) * 2017-04-07 2021-03-16 百度在线网络技术(北京)有限公司 基于人工智能的语音识别方法、装置和系统
KR102445382B1 (ko) * 2017-07-10 2022-09-20 삼성전자주식회사 음성 처리 방법 및 이를 지원하는 시스템
KR102311268B1 (ko) * 2017-11-30 2021-10-08 삼성에스디에스 주식회사 입력 필드의 이동 방법 및 장치
KR102519635B1 (ko) * 2018-01-05 2023-04-10 삼성전자주식회사 음성 명령을 처리하기 위한 전자 문서 표시 방법 및 그 전자 장치
CN117971154A (zh) * 2018-09-04 2024-05-03 谷歌有限责任公司 多模态响应
US20200220869A1 (en) * 2019-01-08 2020-07-09 Fidelity Information Services, Llc Systems and methods for contactless authentication using voice recognition
RU2719442C1 (ru) * 2019-08-29 2020-04-17 Публичное Акционерное Общество "Мобильные ТелеСистемы" (ПАО "МТС") Способ управления соединениями в сети мобильной связи при состояниях, когда номер вызываемого абонента занят, осуществлен сброс звонка или произошел сетевой сбой
WO2021248032A1 (en) * 2020-06-05 2021-12-09 Kent State University Method and apparatus for identifying language of audible speech

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906958A (zh) * 2003-12-23 2007-01-31 基鲁萨有限公司 用于话音与无线文本短消息业务相结合的技术

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036552A1 (en) * 1997-02-13 1998-08-20 British Telecommunications Public Limited Company Information system
US6269336B1 (en) * 1998-07-24 2001-07-31 Motorola, Inc. Voice browser for interactive services and methods thereof
US6185535B1 (en) * 1998-10-16 2001-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Voice control of a user interface to service applications
US6633846B1 (en) * 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US7085719B1 (en) 2000-07-13 2006-08-01 Rockwell Electronics Commerce Technologies Llc Voice filter for normalizing an agents response by altering emotional and word content
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6950851B2 (en) * 2001-04-05 2005-09-27 Osburn Iii Douglas C System and method for communication for a supervisory control and data acquisition (SCADA) system
US7437295B2 (en) * 2001-04-27 2008-10-14 Accenture Llp Natural language processing for a location-based services system
US6983307B2 (en) 2001-07-11 2006-01-03 Kirusa, Inc. Synchronization among plural browsers
US6785654B2 (en) * 2001-11-30 2004-08-31 Dictaphone Corporation Distributed speech recognition system with speech recognition engines offering multiple functionalities
WO2003071422A1 (en) 2002-02-18 2003-08-28 Kirusa, Inc. A technique for synchronizing visual and voice browsers to enable multi-modal browsing
US6807529B2 (en) 2002-02-27 2004-10-19 Motorola, Inc. System and method for concurrent multimodal communication
SE0202058D0 (sv) 2002-07-02 2002-07-02 Ericsson Telefon Ab L M Voice browsing architecture based on adaptive keyword spotting
US20040128136A1 (en) * 2002-09-20 2004-07-01 Irani Pourang Polad Internet voice browser
US7016845B2 (en) * 2002-11-08 2006-03-21 Oracle International Corporation Method and apparatus for providing speech recognition resolution on an application server
US7003464B2 (en) * 2003-01-09 2006-02-21 Motorola, Inc. Dialog recognition and control in a voice browser
ES2290402T3 (es) * 2003-04-03 2008-02-16 Erwin Pristner Dispositivo para detectar, determinar y documentar daños, especialmente deformaciones originadas por sucesos repentinos en superficies lacadas.
US7269562B2 (en) * 2003-04-29 2007-09-11 Intervoice Limited Partnership Web service call flow speech components
US7200559B2 (en) * 2003-05-29 2007-04-03 Microsoft Corporation Semantic object synchronous understanding implemented with speech application language tags
EP1599007B1 (en) * 2004-05-18 2007-09-12 Alcatel Lucent Method and server for providing a multi-modal dialog
US20060036770A1 (en) 2004-07-30 2006-02-16 International Business Machines Corporation System for factoring synchronization strategies from multimodal programming model runtimes
US7751431B2 (en) 2004-12-30 2010-07-06 Motorola, Inc. Method and apparatus for distributed speech applications
US20060235694A1 (en) 2005-04-14 2006-10-19 International Business Machines Corporation Integrating conversational speech into Web browsers
US8429655B2 (en) * 2005-04-29 2013-04-23 Microsoft Corporation System and method for asynchronous processing in page lifecycle
US7809575B2 (en) * 2007-02-27 2010-10-05 Nuance Communications, Inc. Enabling global grammars for a particular multimodal application
US7945851B2 (en) * 2007-03-14 2011-05-17 Nuance Communications, Inc. Enabling dynamic voiceXML in an X+V page of a multimodal application

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1906958A (zh) * 2003-12-23 2007-01-31 基鲁萨有限公司 用于话音与无线文本短消息业务相结合的技术

Also Published As

Publication number Publication date
CN103198830A (zh) 2013-07-10
CN101911041A (zh) 2010-12-08
CN101911041B (zh) 2013-08-21
KR101237622B1 (ko) 2013-02-26
US8386260B2 (en) 2013-02-26
WO2009088718A2 (en) 2009-07-16
EP2243088B1 (en) 2020-07-08
RU2491617C2 (ru) 2013-08-27
RU2010132237A (ru) 2012-02-10
WO2009088718A3 (en) 2009-09-11
KR20100108415A (ko) 2010-10-06
EP2243088A4 (en) 2016-06-01
US20090171669A1 (en) 2009-07-02
EP2243088A2 (en) 2010-10-27

Similar Documents

Publication Publication Date Title
CN103198830B (zh) 用于实现分布式多模式应用的方法和设备
CN101911064B (zh) 用于实现分布式多模态应用的方法和装置
CN100478923C (zh) 用于并行多模通信会话持续的系统和方法
RU2355044C2 (ru) Последовательный мультимодальный ввод
US8566103B2 (en) Multi-modal web interaction over wireless network
CN1617559B (zh) 顺序多模输入
US7272564B2 (en) Method and apparatus for multimodal communication with user control of delivery modality
CN101150803B (zh) 微浏览器处理网络数据的方法、微浏览器及其服务器
CN101291336A (zh) 用于并行多模通信的系统和方法
CN101103612A (zh) 普适设备对网络服务的动态可扩展轻量级接入
CN102202100A (zh) 微浏览器处理网络数据的方法、微浏览器及其服务器
CN101202694A (zh) 用于在普及性设备上提供web服务的方法和系统
US20030037021A1 (en) JavaScript in a non-JavaScript environment
JP2005527020A (ja) 同時マルチモーダル・タグを使用する同時マルチモーダル通信システムおよび方法
JP2013205524A (ja) 応答生成装置、応答生成システム、応答生成方法および応答生成プログラム
JP2001125862A (ja) マークアップフローを別々のスクリーン表示に分割する方法及び装置
TW513875B (en) Sending full-content data to a second data processing system while viewing reduced-content data on a first data processing system
TW466450B (en) Method and system for establishing an internet interface
CN101014996A (zh) 语音合成
KR20100075271A (ko) 이동통신단말기를 위한 멀티모달 서비스 제공 시스템 및 그방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY, Inc.

TR01 Transfer of patent right

Effective date of registration: 20160531

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC