改进通信会话的体验质量的制作方法

文档序号:11291183阅读:192来源:国知局
改进通信会话的体验质量的制造方法与工艺

本公开一般地涉及用于电子通信的系统和方法,并且更具体地说,涉及管理电子通信会话的体验质量。



背景技术:

存在各种协作系统以使个体能够参与协作活动,例如在项目上合作、共享信息等。协作系统对于允许地理上分散的个体彼此交互和合作可以尤其有用。使用各种不同的协作系统或多功能协作系统,地理上彼此远离的个体例如可以加入共同工作项目(例如,使用在线团队工作空间),参与交互式讨论(例如,使用电话会议或视频会议系统),以及参加会议(例如,使用允许演示、演讲、研讨会等的电子会议系统)。

网际协议语音(voip)应用已被普通因特网用户广泛接受,并且在企业通信部门中变得越来越重要。但是,实现voip的语音质量水平仍然是一个重大难题,因为ip网络通常不保证无延迟、分组丢失、抖动和带宽水平。在voip应用中,语音在通过ip网络发送到接收器之前,在发送器处被数字化和分组化。在接收器处,分组被解码并且播放给收听者。将模拟语音信号转换为数字的过程由音频“编解码器”完成。

编解码器在所需带宽、延时、采样周期、帧大小以及最大限度实现的最终用户感知质量方面变化,因此不同编解码器更适合于不同网络条件。因此,已在voip应用中引入编解码器选择技术,以便在不同网络条件下利用编解码器的不同性能。但是,网络条件之外的各种考虑因素继续提出为voip用户提供可接受的体验质量水平的难题。



技术实现要素:

根据一种实施方式,一种计算机实现的方法可以包括由处理器确定通信会话上所说的语言。所述方法还可以包括由所述处理器至少部分地基于所述通信会话上所说的语言来选择用于所述通信会话的编解码器。所述方法可以进一步包括由所述处理器使用用于所述通信会话的选定编解码器来处理所述通信会话。

可以包括以下一个或多个特性。确定所述通信会话上所说的语言可以包括使用语音识别处理至少一部分转换。确定所述通信会话上所说的语言可以包括标识一个或多个参与者特性。确定所述通信会话上所说的语言可以包括确定所述通信会话上所说的多种语言以及将加权因子与所述多种语言中的每一者相关联。

所述方法可以进一步包括确定与所述通信会话关联的一个或多个网络特性。选择用于所述通信会话的所述编解码器可以至少部分地基于所述一个或多个网络特性。选择用于所述通信会话的所述编解码器可以包括在所述通信会话的建立期间选择用于所述通信的所述编解码器。选择用于所述通信会话的所述编解码器可以是响应于确定所述通信会话上所说的语言的变化。选择用于所述通信会话的所述编解码器可以是响应于确定与所述通信会话关联的一个或多个网络特性的变化。

根据另一种实施方式,一种计算机程序产品可以包括非瞬时性计算机可读存储介质,所述计算机可读存储介质具有存储在其上的多个指令。当由处理器执行时,所述指令可以导致所述处理器执行操作,所述操作包括确定通信会话上所说的语言。还可以包括用于至少部分地基于所述通信会话上所说的语言来选择用于所述通信会话的编解码器的指令。可以进一步包括用于使用用于所述通信会话的选定编解码器来处理所述通信会话的指令。

可以包括以下一个或多个特性。用于确定所述通信会话上所说的语言的指令可以包括用于使用语音识别处理至少一部分转换的指令。用于确定所述通信会话上所说的语言的指令可以包括用于标识一个或多个参与者特性的指令。用于确定所述通信会话上所说的语言的指令可以包括用于确定所述通信会话上所说的多种语言以及将加权因子与所述多种语言中的每一者相关联的指令。

还可以包括用于确定与所述通信会话关联的一个或多个网络特性的指令。选择用于所述通信会话的所述编解码器可以至少部分地基于所述一个或多个网络特性。用于选择用于所述通信会话的所述编解码器的指令可以包括用于在所述通信会话的建立期间选择用于所述通信的所述编解码器的指令。选择用于所述通信会话的所述编解码器可以是响应于确定所述通信会话上所说的语言的变化。选择用于所述通信会话的所述编解码器可以是响应于确定与所述通信会话关联的一个或多个网络特性的变化。

根据另一种实施方式,一种计算系统可以包括处理器和与所述处理器耦合的存储器模块。所述处理器可以被配置为确定通信会话上所说的语言。所述处理器还可以被配置为至少部分地基于所述通信会话上所说的语言来选择用于所述通信会话的编解码器。所述处理器可以被进一步配置为使用用于所述通信会话的选定编解码器来处理所述通信会话。

可以包括以下一个或多个特性。确定所述通信会话上所说的语言可以包括使用语音识别处理至少一部分转换。确定所述通信会话上所说的语言可以包括标识一个或多个参与者特性。确定所述通信会话上所说的语言可以包括确定所述通信会话上所说的多种语言以及将加权因子与所述多种语言中的每一者相关联。

所述处理器可以被进一步配置为确定与所述通信会话关联的一个或多个网络特性。选择用于所述通信会话的所述编解码器可以至少部分地基于所述一个或多个网络特性。选择用于所述通信会话的所述编解码器可以包括在所述通信会话的建立期间选择用于所述通信的所述编解码器。选择用于所述通信会话的所述编解码器可以是响应于确定所述通信会话上所说的语言的变化。选择用于所述通信会话的所述编解码器可以是响应于确定与所述通信会话关联的一个或多个网络特性的变化。

根据另一种实施方式,一种计算机实现的方法可以包括确定通信会话上所说的语言。所述方法还可以包括确定与所述通信会话关联的一个或多个网络特性。所述方法还可以包括至少部分地基于所述通信会话上所说的语言和所述一个或多个网络特性来选择用于所述通信会话的初始编解码器。所述方法还可以包括使用用于所述通信会话的选定初始编解码器来处理所述通信会话。所述方法还可以包括确定与所述通信会话关联的已改变的网络特性。所述方法还可以包括至少部分地基于所述通信会话上所说的语言和所述已改变的网络特性来选择用于所述通信会话的已改变的编解码器。所述方法可以进一步包括由所述处理器使用用于所述通信会话的所述已改变的编解码器来处理所述通信会话。

与本公开的某些实施例一致,已有趣地表明,编解码器的性能也可以基于所说语言以及基于诸如网络条件之类的因素而变化。因此,根据一个优选实施例,本发明提出一种用于经由基于网络条件和所说语言的编解码器切换来改进和维持通话质量的新方法。因此,能够不仅考虑网络条件,而且还考虑所说语言,可以在最终用户处获得最大通话质量。

在附图和以下说明书中给出一个或多个实施方式的细节。其它特性和优点将从说明书、附图和权利要求书变得显而易见。

附图说明

现在将仅通过实例的方式参考附图描述本发明的实施例,这些附图是:

图1是根据本发明的一个实施例的包括执行体验质量过程的计算设备的分布式计算网络的概略视图;

图2是根据本发明的一个实施例的图1的体验质量过程的流程图;

图3概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;

图4概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;

图5概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;

图6概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;

图7概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;

图8概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;

图9概略地示出根据一个实例实施例的图1的体验质量过程的一种实施方式;以及

图10是根据本发明的一个实施例的图1的计算设备的概略视图。

具体实施方式

个体通常可以使用数据网络参与通信会话以便传送通信。这种通信会话例如可以包括ip语音和ip语音通信,其中来往于每一方的通信可以作为分组化数据通过数据网络传送。已开发各种不同的编解码器,以便将模拟语音信号转换成可以作为分组化数据通过数据网络传送的数字数据。与一个实施例一致,本公开已确定各种编解码器的性能可以至少部分地基于所说并且由编解码器转换为数字数据的语言而变化。即,不同编解码器可以提供给定语言的所说模拟语音信号的数字表示,当该数字表示随后被解码并且作为模拟输出信号提供时,可以例如基于模拟输出信号的清晰度、失真、主观可理解性等提供不同水平的体验质量。同样,当与不同语言结合使用时,给定编解码器可以提供不同水平的性能。在一个实施例中,可以标识通信会话的所说语言,并且可以至少部分地基于标识的通信会话的所说语言来选择编解码器,而且可以使用选定编解码器处理通信会话。因此,在某些实施例中,本公开可以提供以下优点:改进通信会话中参与者的体验质量,其可以至少部分地基于通信会话上所说的语言。在某些实施例中,本公开可以在集中式通信分布架构中实现,例如,其中来自通信会话的不同参与者的通信流可以由焦点(focus)(例如多点控制单元)接收,该焦点可以对来自不同参与者的通信流进行接收、解码和混合,并且可以对混合流编码而且将其传输到通信会话的各参与者。在某些实施例中,焦点可以能够使用不同编解码器同时处理不同通信会话。在某些这种实施例中,焦点可以选择要用于每个通信会话的编解码器。焦点可以包括集中焦点,和/或通信会话的一个或多个参与者可以充当通信会话的焦点。在某些实施例中,可以利用分布式架构,例如,其中每个参与者可以向通信会话的每个其它参与者传输通信流,并且每个参与者可以混合来自通信会话的每个其它参与者的已接收流。在某些这种实施例中,可以由一个或多个参与者选择编解码器。

在一个实施例中,可以使用语音识别软件确定通信会话上所说的语言。例如,可以对来自通信会话的一部分所说音频采样,并且可以使用语音识别软件处理以便确定通信会话上正在所说的语言。在某些实施例中,可以标识一个或多个参与者特性以便确定通信会话上所说的语言。参与者特性的实例可以包括用户标识的或选择的语言、针对由参与者使用的一个或多个应用确定的默认语言、参与者地理位置或其它合适的参与者特性。在某些实施例中,多种语言可以被标识为正在通信会话上被所说出。在某些这种实施例中,可以例如基于被确定为正在使用每种语言的参与者的数量,和/或基于一个或多个其它因素,为多种语言各自分配加权因子。

如以上一般讨论的,在一个实施例中,可以至少部分地基于每个可用编解码器(例如,通用于所有参与者的每个编解码器)的预期性能,针对通信会话选择编解码器。即,可以考虑正在通信会话上所说的语言选择编解码器,预期该编解码器可以针对通信会话提供最高体验质量。在一个实施例中,本公开可以认识到,与通信会话关联的体验质量可以受到与通信会话关联的网络条件的影响。因此,在某些实施例中,可以确定与通信会话关联的一个或多个网络特性。此外,可以至少部分地基于一个或多个网络条件选择编解码器。即,可以选择预计提供相对高的体验质量的编解码器(例如,与其它可用编解码器相比)。例如,可以选择预计针对通信会话的所说语言和普遍网络条件提供相对高的体验质量的编解码器。

在一个实施例中,可以在通信会话的建立期间(例如,在发起通信会话时)选择编解码器以便与通信会话一起使用。此外/备选地,可以自适应地和/或动态地选择或更新用于通信会话的编解码器。例如,如上面讨论的,通信会话上所说的语言和与通信会话关联的网络条件可以影响由编解码器提供的体验质量。在一个实施例中,可以响应于确定通信会话上所说的语言的变化和/或与通信会话关联的一个或多个网络条件的变化,选择编解码器或新的/更新后的编解码器。例如,如果考虑到已改变的语言和/或已改变的网络条件,不同于当前正在被使用的编解码器的编解码器可以针对通信会话提供相对较高的体验质量,则可以选择这种编解码器作为新的或更新后的编解码器。在一个实施例中,在选择新的或更新后的编解码器时,可以使用新的或更新后的编解码器处理通信会话。

参考图1,示出体验质量过程10。对于以下讨论,旨在理解可以以各种方式实现体验质量过程10。例如,体验质量过程10可以被实现为服务器侧过程、客户机侧过程或服务器侧/客户机侧过程。

例如,体验质量过程10可以经由体验质量过程10s被实现为纯服务器侧过程。备选地,体验质量过程10可以经由客户机侧应用10c1、客户机侧应用10c2、客户机侧应用10c3和客户机侧应用10c4中的一个或多个被实现为纯客户机侧过程。更备选地,体验质量过程10可以经由服务器侧体验质量过程10s与客户机侧应用10c1、客户机侧应用10c2、客户机侧应用10c3和客户机侧应用10c4的一个或多个结合而被实现为服务器侧/客户机侧过程。在此类实例中,可以由体验质量过程10s执行体验质量过程10的至少一部分功能,并且可以由客户机侧应用10c1、10c2、10c3和10c4中的一个或多个执行体验质量过程10的至少一部分功能。

因此,如在本公开中使用的,体验质量过程10可以包括体验质量过程10s、客户机侧应用10c1、客户机侧应用10c2、客户机侧应用10c3和客户机侧应用10c4的任何组合。

还参考图2,并且如将在下面更详细地讨论的,体验质量过程10可以确定100通信会话上所说的语言。体验质量过程还可以至少部分地基于通信会话上所说的语言来选择102用于通信会话的编解码器。体验质量过程可以进一步使用用于通信会话的选定编解码器来处理104通信会话。

体验质量过程10s可以是服务器应用,并且可以驻留在计算设备12上并由其执行,计算设备12可以连接到网络14(例如,因特网或局域网)。计算设备12的实例可以包括但不限于:个人计算机、服务器计算机、一系列服务器计算机、小型计算机、大型计算机或专用网络设备。

体验质量过程10s的指令集和子例程(其可以存储在耦合到计算设备12的存储设备16上)可以由包括在计算设备12内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)执行。存储设备16的实例可以包括但不限于:硬盘驱动器、磁带驱动器、光盘驱动器、raid设备、nas设备、存储区域网络、随机存取存储器(ram)、只读存储器(rom)和所有形式的闪存存储设备。

网络14可以连接到一个或多个辅助网络(例如,网络18),辅助网络的实例例如可以包括但不限于:局域网、广域网或内联网。

客户机侧应用10c1、10c2、10c3、10c4的实例可以包括但不限于以下一个或多个:ip语音应用、ip视频应用、web浏览器或专门应用(例如,在移动平台上运行的应用)。客户机侧应用10c1、10c2、10c3、10c4的指令集和子例程(其可以(分别)存储在(分别)耦合到客户机电子设备28、30、32、34的存储设备20、22、24、26上)可以由(分别)结合在客户机电子设备28、30、32、34中的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)执行。存储设备20、22、24、26的实例可以包括但不限于:硬盘驱动器、磁带驱动器、光盘驱动器、raid设备、随机存取存储器(ram)、只读存储器(rom)和所有形式的闪存存储设备。

客户机电子设备28、30、32、34的实例可以包括但不限于个人计算机28、膝上型计算机30、移动计算设备32、笔记本计算机34、上网本计算机(未示出)、服务器计算机(未示出)、游戏机(未示出)、支持数据的电视控制台(未示出)和专用网络设备(未示出)。客户机电子设备28、30、32、34可以均执行操作系统。

用户36、38、40、42可以直接通过网络14或者通过辅助网络18访问体验质量过程10。此外,可以经由链路线44通过辅助网络18访问体验质量过程10。

各种客户机电子设备(例如,客户机电子设备28、30、32、34)可以直接或间接耦合到网络14(或网络18)。例如,个人计算机28被示为直接耦合到网络14。此外,膝上型计算机30被示为经由在膝上型计算机30与无线接入点(wap)48之间建立的无线通信信道46无线地耦合到网络14。同样,移动计算设备32被示为经由在移动计算设备32与蜂窝网络/网桥52之间建立的无线通信信道50无线地耦合到网络14,蜂窝网络/网桥52被示为直接耦合到网络14。wap48例如可以是能够在膝上型计算机30与wap48之间建立无线通信信道46的ieee802.11a、802.11b、802.11g、802.11n、wi-fi和/或蓝牙设备。此外,个人计算机34被示为经由硬连线网络连接直接耦合到网络18。

在某些实施例中,体验质量过程10可以与通信应用(例如,通信应用54)的组件或模块通信、交互和/或包括通信应用的组件或模块。如所周知,通信应用(例如,通信应用54)通常可以促进作为通信会话中的参与者的个体之间的音频和/或视频通信。例如,通信应用54可以促进通信会话参与者之间的ip语音和/或ip视频通信。在某些实施例中,通信会话可以仅包括两个参与者。在某些实施例中,通信会话可以包括两个以上参与者。在某些实施例中,通信应用54例如可以包括以下各项和/或可以与以下各项交互:电子会议应用、web会议应用或类似的应用。通信应用54的实例可以包括但不限于(lotus和sametime是国际商业机器公司在美国、其它国家或两者的注册商标)。在某些实施例中,通信应用54可以包括通信网关和/或提供通信网关和/或多点控制单元(mcu)的功能。

在一个实施例中,电子通信应用54的指令集和子例程例如可以存储在与服务器计算机12(其执行电子通信应用54)关联的存储设备16和/或另一个合适的存储设备上。此外,用户(例如,用户36、38、40、42中的一个或多个)可以访问电子通信应用54以便参与电子通信会话(例如语音通话、视频通话、电子会议或其它通信会话类型)。用户可以经由诸如客户机侧应用10c1-10c4之类的一个或多个合适的应用(例如,其可以包括ip语音应用、ip视频应用、web浏览器、客户机电子会议应用或另一个应用)和/或经由不同应用(未示出)访问电子通信应用54。此外,尽管某些用户被示为经由网络14(其可以包括因特网)与服务器计算机12连接(并且因此与电子通信应用54连接),但在其它实施例中,可以将一个或多个用户定向连接到服务器计算机12和/或例如经由局域网和/或类似的连接与服务器计算机12连接。

如以上一般讨论的,体验质量过程10的部分和/或全部功能可以由客户机侧应用10c1-10c4中的一个或多个提供。例如,在某些实施例中,体验质量过程10(和/或体验质量过程10的客户机侧功能)可以包括在客户机侧应用10c1-10c4内和/或与客户机侧应用10c1-10c4交互,客户机侧应用10c1-10c4可以包括客户机侧电子通信应用、web浏览器或另一个应用。可以同样使用各种其它/备选配置。

通常如上面参考图2讨论的,体验质量过程10可以确定100通信会话上所说的语言。体验质量过程10还可以至少部分地基于通信会话上所说的语言来选择102用于通信会话的编解码器。体验质量过程可以进一步使用用于通信会话的选定编解码器来处理104通信会话。根据某些实施例,体验质量过程可以允许当选择要用于会话的编解码器时考虑通信会话的所说语言,并且可以至少部分地基于通信会话的所说语言在编解码器之间切换。在某些实施例中,例如,在其中体验质量过程可以在集中式分布架构内操作的一种实施方式中,可以进行多于一个的通信会话,其中不同通信会话可以至少部分地基于每个通信会话中所说的相应语言来使用不同编解码器。

例如,并且还参考图3,电子通信系统(例如voip系统,或者如以上一般讨论的另一个电子通信系统)的用户(例如,用户36、用户38和用户40)可以经由相应客户机电子设备28、30和32参与通信会话(例如,“会议a”)。如实例实施例中所示,可以经由集中式分布架构促进通信会话。因此,客户机电子设备28、30、32(用户36、用户38和用户40可以经由其参与通信会话)可以耦合到网络14(例如,其可以包括因特网或其它数据网络),网络14又可以耦合到通信会话的焦点(例如mcu)。如上面讨论的,焦点/mcu可以包括电子通信应用(例如电子通信应用54)的功能,并且可以驻留在服务器计算机12和/或另一个合适的计算设备上和/或由服务器计算机12和/或另一个合适的计算设备托管。一般而言,焦点可以接收从通信会话的每个参与者传输(例如,从由通信会话的每个参与者为了参与通信会话而使用的计算设备传输)的通信流(例如,诸如音频流、音频/视频流之类的媒体流)。焦点可以对从每个参与者接收的通信流解码,并且可以混合解码流以便提供组合或混合的通信流,该组合或混合的通信流随后可以被重新编码并且分发(例如,传输)到通信会话的每个参与者。因此,通信会话的每个参与者可以接收通信会话的混合媒体流。将认识到,焦点可以执行其它和/或备选功能以便促进通信会话。

尽管所示实例示出集中式分布架构的使用,其中经由与通信会话的参与者关联的一个或计算设备之外的计算设备提供通信会话的焦点,但可以利用其它实施方式。例如,通信会话的一个或多个参与者可以充当通信会话的焦点。在这种实施方式中,充当焦点的参与者(即,与充当焦点的参与者关联的计算设备)可以从每个参与者接收通信流,对通信流进行解码和混合,并且对混合通信流重新编码并将其分发到通信会话的每个参与者。在更进一步的实施方式中,可以实现分布式架构,例如,其中每个参与者(即,与每个参与者关联的计算设备)可以将通信流传输到通信会话的每个其它参与者(即,与每个其它参与者关联的计算设备)。因此,每个参与者可以接收来自通信会话的每个其它参与者的通信流。可以(例如,由与通信会话中的每个相应参与者关联的计算设备)在本地混合和使用来自通信会话的每个参与者的已接收通信流。

通信会话的每个参与者能够使用多个不同的编解码器以便对通信流进行编码和传输。出于解释和示例目的,客户机电子设备28、30和32中的每一个能够使用编解码器c1和编解码器c2中的任一者。将认识到,可以使用更多或更少数量的编解码器进行用户36、用户38与用户40之间的通信会话。可以与voip通信会话结合使用的编解码器的实例可以包括但不限于g711、g722、ilbc、silk、speex,其中一个或多个能够操作一个或多个位速率,和/或可以包括各种不同的版本。可以使用各种其它和/或备选编解码器。

继续参考图3,当最初在用户36、用户38与用户40之间开始通信会话时,可以选择可用编解码器之一以便进行通信会话。在所示实例中,最初可以选择编解码器c1以便开始通信会话。可以例如基于默认设置和/或各种其它因素选择最初选择的编解码器。

与本发明的一个实施例一致,已确定不同编解码器的性能(例如,主观感知的体验质量)可以至少部分地基于正在由编解码器编码/解码的所说语言而变化。因此,根据一个优选实施例,本发明可以至少部分地基于通信会话上所说的语言,提供编解码器的自适应选择和/或切换以便提供相对较高的体验质量。例如,并且还参考图4,相对于13种不同语言示出各种不同编解码器组的性能。已基于宽带pesq平均意见得分(mos)对相对于正在所说的语言的编解码器的性能进行评级,这可以提供体验质量的一般评级。作为由用于给定语言的不同编解码器提供的性能的差异的一个实例,如图所示,如果所说语言是英语,则23.85kbps下的g722.2编解码器可以优于64kbps下的g722编解码器,这体现在mos高出大约0.3。相反,如果所说语言是印地语,则可能出现相反的情况,其中64kbps下的g722编解码器可以优于23.85kbps下的g722.2编解码器。如图4中所示,各种其它编解码器的性能同样可以至少部分地基于正在由编解码器编码/解码的所说语言而变化。

继续以上所述,体验质量过程10可以确定100通信会话上所说的语言。在某些实施方式中,性别(例如,其可以涉及说话者语音的相对音调)还可以影响各种编解码器的性能。因此,在某些实施例中,确定100通信会话上所说的语言还可以包括确定通信会话中的一个或多个参与者的性别(例如,基于相对音调)。在一种实施方式中,如图3中所示,体验质量过程10可以确定100通信会话上所说的语言作为建立通信会话的一部分。

确定100通信会话上所说的语言可以包括使用语音识别处理106至少一部分转换。例如,当通信的参与者说话时,可以对所说的音频信号采样。可以使用语音识别软件分析采样音频信号以便确定所说的语言。处理106通信会话的一部分转换(例如,音频信号的样本)可以在本地或远程发生。例如,当参与者(例如,用户36)说话时,可以通过由用户36使用的计算设备28对所说音频信号采样,并且可以经由计算设备28使用语音识别处理106该音频信号。在另一个实例中,当用户36说话时,可以将所说音频传输(例如,包括由最初选择的编解码器编码)到在相对于用户36的远程计算设备处提供的焦点(例如通信应用54)。可以(例如,由远程焦点和/或从焦点接收通信流的语音识别应用或模块)远程地处理106来自用户36的传输通信流(包括所说音频)。至少部分地基于使用语音识别处理所说对话部分,体验质量过程10可以确定100通信会话上所说的语言。

确定100通信会话上所说的语言可以包括标识108一个或多个参与者特性。例如,此外,或者作为使用语音识别处理106一部分对话的备选方案,可以标识108一个或多个参与者特性以便确定100通信会话上所说的语言。在一个实施例中,一个或多个参与者特性可以包括相对于通信会话上所说的语言的用户输入。例如,通信会话的一个或多个参与者可以提供要在/正在通信会话上所说的语言的显式指示。例如,一个或多个参与者可以例如从下拉列表或其它合适的选择机制选择通信会话上所说的语言。在另一个实例中,参与者特性可以包括与一个或多个应用(其在与参与者关联的计算设备上执行)关联的默认语言设置。例如,在由用户36使用的计算设备28上执行的一个或多个应用(例如用于参与通信会话的通信应用、字处理应用和电子邮件应用等)可以被配置为以英语显示菜单、对话内容等。因此,体验质量过程10可以将这种应用的默认语言设置标识108为可以指示通信会话上所说的语言的参与者特性。根据另一个实例,体验质量过程10可以将一个或多个参与者的地理位置标识为指示通信会话上所说的语言。例如,如果一个或所有参与者位于法国巴黎,则体验质量过程10可以确定100法语是通信会话上所说的语言。

将认识到,可以标识108多于一个参与者特性和/或多于一个参与者的特性以便确定通信会话上所说的语言。例如,如果用户36位于法国巴黎,但所有应用默认语言被设置为英语,并且其它参与者位于说英语的国家,则体验质量过程10可以确定100通信会话上所说的语言是英语。将认识到,处理106一部分对话可以与标识108一个或多个参与者特性一起实现,以便确定100通信会话上所说的语言。

确定100通信会话上所说的语言可以包括确定110通信会话上所说的多种语言,以及将加权因子与多种语言中的每一种关联112。例如,至少部分地基于处理106来自通信会话的对话和/或标识108一个或多个参与者特性,体验质量过程10可以确定100正在和/或可能在通信会话上说出多于一种语言。作为一个实例,用户36和用户38可能以法语对话(例如,基于处理对话部分),并且用户36、用户38和用户40可能全部以英语对话(例如,基于处理对话部分)。因此,体验质量过程10可以确定110在通信会话上说英语和法语。以类似的方式,并且参考其中用户36可能位于法国的先前实例,尽管用户38和用户40可能位于说英语的国家,但体验质量过程10可以确定110可能在通信会话上说英语和法语。

体验质量过程10可以将加权因子与所确定的110多种语言中的每一种关联112。在一个实施例中,加权因子例如可以指示以每种语言发生的相对通信会话量。例如,如果40%的对话(例如,基于所说内容、持续时间等)以法语发生并且其余部分以英语发生,则可以将为4的加权因子与法语关联112,并且可以将为6的加权因子与英语关联。在一个实施例中,加权因子例如可以指示说每种语言的参与者的相对数量。例如,在上面实例中,其中用户36和用户38可能对彼此说法语,并且用户36、用户38和用户40可能对彼此说英语,可以将为2的加权因子与法语关联112,并且可以将为3的加权因子与英语关联112。在一个实施例中,加权因子例如可以指示所说的每种语言的可能性。例如,在上面实例中,其中用户36可能位于法国,并且用户38和用户40可能位于说英语的国家,可以将为1的加权因子与法语关联112,并且可以将为2的加权因子与英语关联。此外,继续上面实例,其中用户36可能位于法国,但可能针对由用户36使用的一个或多个应用使用英语作为默认语言,可以将为1的加权因子与法语关联112,并且可以将为3的加权因子与英语关联(例如,基于所说的每种语言的可能性的指标数量)。可以实现其它机制以便将加权因子与所确定的110多种语言中的每一种关联112。

体验质量过程10可以至少部分地基于通信会话上所说的语言,选择102用于通信会话的编解码器。例如,并且如针对图4所示,当与不同语言结合使用时,不同编解码器可以提供不同水平的性能。在一个实施例中,当与不同语言结合使用时,各种不同的编解码器的性能水平(例如,在主观或客观mos或其它性能评分机制方面)可以通过实验确定。在一个实施例中,至少部分地基于通信会话上所说的语言来选择102用于通信会话的编解码器可以包括选择102以下编解码器:其可用于通信会话的每个参与者(例如,因为不同参与者可能具有可用于进行通信会话的不同编解码器组),并且可以针对通信会话上所说的语言提供满意的体验质量。在一个实施例中,满意的体验质量可以包括高于定义的阈值的体验质量。在某些这种实施例中,多于一个的编解码器可以提供满意的体验质量,并且因此可以选择102任一此类编解码器。在一个实施例中,满意的体验质量可以由以下编解码器提供:其通用于所有参与者,并且将针对所确定的100通信会话上所说的语言提供最高体验质量。

在其中可以在通信会话上说多种语言的一个实施例中,可以至少部分地基于与每种语言关联112的加权因子来选择编解码器。例如,可以选择以下编解码器:其可以针对最高加权的语言(例如,最可能要在通信会话上所说的语言,或者可能最常说或者由多数参与者所说的语言)提供满意的体验质量。在某些实施例中,除了选择可以针对最高加权的语言提供满意的体验质量的编解码器之外,可以选择以下编解码器:其可以考虑与通信会话上所说的其它语言关联的性能。例如,对于在通信会话的主要语言(例如,最高加权的语言)中很好地执行的编解码器,体验质量过程可以选择102以下编解码器:其可以在辅助语言(例如,次最高加权的语言)中相对最高地执行等。在某些实施例中,给予辅助语言的考虑程度可以基于与主要语言和辅助语言关联的相对加权因子。例如,对于其中英语具有为10的加权因子10并且法语具有为2的加权因子的通信会话,与如果英语具有为10的加权因子并且法语具有为8的加权因子相比,可以给予用于法语的编解码器的性能相对少的考虑。可以同样使用各种其它/备选实施方式。

在某些情况下,与通信会话关联的体验质量可以在很大程度上受到与通信会话关联的网络条件(例如,可以传输通信会话的业务的网络条件)的影响。例如,延迟、分组丢失、抖动、突发率可以是重要因素,这些因素可以影响参与通信会话的个体的感知体验质量。例如,随着分组丢失的增加,通信的质量可能降低,例如个体经历损坏或篡改的音频信号、增加的干扰和噪声等。其它网络特性的变化可以同样影响(正面或负面)由通信会话中的参与者感知的体验质量。

与一个实施例一致,体验质量过程10可以在选择102用于通信会话的编解码器时考虑与通信会话关联的网络条件。因此,在某些实施例中,体验质量过程10可以确定114与通信会话关联的一个或多个网络特性。例如,体验质量过程10可以确定114每个参与者与焦点之间的网络条件(例如,在集中式分布架构中)。同样,在其中一个参与者可以充当通信会话的焦点,或者其中可以使用分布式架构的一个实施例中,体验质量过程10可以确定114每个参与者之间的网络条件。例如,体验质量过程10可以确定与通信会话关联的延迟、分组丢失、抖动、突发率中的一个或多个。将认识到,可以确定114其它和/或备选网络特性。给出所确定的网络特性,体验质量过程10可以分析相对于可用于每个参与者的多个编解码器的网络条件,以便确定预期的根据每个可用编解码器编码的通信业务被执行的良好程度(即,确定感知的最终用户体验)。

与以上所述一致,在一个实施例中,选择102用于通信会话的编解码器可以至少部分地基于一个或多个网络特性。即,体验质量过程10可以针对通信会话上所确定的100语言以及针对与通信会话关联的所确定的114网络条件,选择提供满意的体验质量的编解码器。例如,在图3的所示实例中,可以确定100英语是通信会话上所说的语言,并且可以确定114与通信会话关联的网络经历0%分组丢失、100毫秒(ms)延迟和5毫秒抖动。至少部分地基于通信会话上所说的语言和与通信会话关联的网络条件,体验质量过程10可以选择编解码器c1,编解码器c1可以提供由为4.2的mos表示的体验质量。

体验质量过程10可以使用用于通信会话的选定编解码器来处理104通信会话。处理104通信会话可以包括将要用于所传输的通信业务的选定编解码器的指示传输到通信会话的每个参与者。例如,并且如上所述,可以选择102编解码器c1以便用于通信会话。因此,体验质量过程10可以将应该针对所传输的通信业务使用编解码器c1的指示传输到通信会话的每个参与者(例如,传输到由通信会话的每个参与者使用的计算设备)。相应地,可以根据选定编解码器对由每个参与者传输的通信流(例如,作为混合流的一部分,传输到焦点并且最终传输到其它参与者)编码。同样,可以由焦点使用选定编解码器对混合流编码。分布式架构布置可以以类似的方式工作,例如,使用选定编解码器对传输到其它参与者中的每一者的通信流编码。

如以上一般讨论的,可以在通信会话初次开始时确定用于进行通信会话的编解码器。在这点上,选择102用于通信会话的编解码器可以包括在通信会话的建立期间选择用于通信的编解码器。在通信会话的建立期间选择102用于通信会话的编解码器可以至少部分地基于通信会话上最初确定的100语言(例如,经由对话的初始部分的采样、标识参与者特性等),和/或基于一个或多个偏好和/或默认设置。

在某些情况下,与通信会话关联的条件、参数和方面可能在通信会话过程中改变。根据一个实施例,体验质量过程10可以在通信会话过程中自适应地切换或改变用于通信会话的编解码器,以便考虑这种变化并且提供与通信会话关联的相对高的体验质量。例如,体验质量过程10可以连续和/或间歇地确定100通信会话上所说的语言和/或确定114与通信会话关联的一个或多个网络条件。

选择102用于通信会话的编解码器可以是响应于确定116通信会话上所说的语言的变化。例如,通信会话最初可以以第一语言进行,并且随后可以改变为第二语言。这种情况的一个实例可以包括会议a的通信会话,会议a最初可能在用户36、用户38与用户40之间以英语进行。在通信会话期间的某个时间点处,用户40(其可能仅说英语)可能离开通信会话。在该点处,用户36和用户38(他们可能都说法语)可能以法语继续通信会话。在用户36和用户38以法语继续通信会话时,体验质量过程10可以确定116通信会话上所说的语言的变化。通信会话上所说的语言可以由于各种其它原因而变化,并且在任何这种情况下,体验质量过程10可以确定116通信会话上所说的语言的变化。体验质量过程10可以例如通过至少部分地基于一个或多个参与者属性使用语音识别处理至少一部分对话,和/或经由任何其它合适的机制,确定116通信会话上所说的语言的变化,如上面讨论的那样。至少部分地响应于确定116通信会话上所说的语言的变化,体验质量过程10可以选择用于通信会话的已改变的编解码器,例如,其中已改变的编解码器可以针对已改变的语言提供满意的体验质量。体验质量过程10此后可以使用已改变的编解码器来处理104通信会话。因此,体验质量过程可以至少部分地基于所说语言,自适应地和/或动态地从一个编解码器切换到另一个编解码器以便提供满意的体验质量。

选择102用于通信会话的编解码器可以是响应于确定118与通信会话关联的一个或多个网络特性的变化。例如,在通信会话过程中,与网络关联的一个或多个特性可能改变,例如,由于网络拥塞的变化和/或可能影响网络性能特性的其它变化。相应地,网络特性的变化可能影响可用编解码器的相对性能。因此,对于通信会话,选定编解码器可能不提供可接受的感知体验质量和/或可能不提供最佳的感知体验质量。

例如,并且还参考图5,在通信会话过程中,与网络关联的分组丢失可能增加到2%,例如,这可能导致选定编解码器的性能劣化(对于通信会话上所说的语言),以使得参与者的感知体验质量可能下降(例如,导致由为3.6的mos表示的感知体验质量)。此外/备选地,网络条件的变化可能使得不同编解码器能够针对通信会话上所说的语言提供具有较高感知体验质量的通信会话。根据一个实施例,体验质量过程10可以自适应地改变用于处理通信会话的编解码器,以便例如提供可接受的感知体验质量和/或提供可能的最高感知体验质量。

因此,体验质量过程10可以改变用于在通信会话的整个持续时间内处理104通信会话的编解码器。例如,并且还参考图6,响应于确定118与网络关联的分组丢失的变化,体验质量过程10可以选择120编解码器c2(例如,作为已改变的编解码器)以便处理122通信会话。在该实例情况下,编解码器c2可以针对包括英语作为所说语言并具有所确定的118已改变网络条件的通信会话提供满意的体验质量。可以连续和/或间歇地发生编解码器的自适应切换(例如,定期和/或响应于网络条件的变化,或者基于一个或多个其它因素)。

还参考图7,在一种实施方式中,体验质量过程可以能够例如使用同一焦点来促进多个同时的通信会话。例如,当会议a正在进行时,可以发起苏珊、莎拉和汤姆作为参与者的第二通信会话(例如,“会议b”)。体验质量过程10可以确定110正在会议b中说意大利语,并且可以进一步确定114与会议b关联的网络正在经历3%的分组丢失、100毫秒的延迟和5毫秒的抖动。至少部分地基于会议b的所确定的100语言和与会议b关联的所确定的114网络条件,体验质量过程10可以选择编解码器c3作为可用于每个参与者的编解码器,其可以针对会议b提供满意的体验质量。因此,体验质量过程10可以使用编解码器c3处理104会议b,以便提供由为3.9的mos表示的体验质量。与所示实施例一致,焦点(例如,其可以由通信应用54提供)可以同时支持(例如,充当焦点的角色)会议a(以英语并且使用编解码器c2进行)和会议b(以意大利语并且使用编解码器c3进行)两者。

参考图8,在会议b过程中的某个点处,与会议b关联的网络条件可能改变,从而导致与会议b关联的体验质量劣化。例如,如图所示,与会议b关联的网络条件可能劣化,从而导致5%的分组丢失、150毫秒的延迟和10毫秒的抖动。由于网络条件的变化,与会议b关联的体验质量可能下降到为3.2的mos。以与如上所述类似的方式,体验质量过程10可以确定118图8中所示的已改变的网络条件。还参考图9,至少部分地响应于确定118已改变的网络条件,体验质量过程10可以选择120已改变的编解码器(例如,编解码器c1)以便进行会议b。如图所示,使用选定的120已改变的编解码器c1处理122会议b,体验质量过程10可以提供与会议b关联的mos为3.8的体验质量。

与某些实施例一致,体验质量过程10可以继续实时运行,并且可以连续和/或间歇地确定通信会话上所说的语言和/或与通信会话关联的网络条件。因此,体验质量过程10可以至少部分地基于所说语言和网络条件,自适应地在编解码器之间切换,以便针对通信会话提供满意的体验质量。此外,在某些实施方式中,单个焦点可以能够支持在同一通信会话上具有多种所说语言的通信会话,同时保持满意的体验质量(例如,其可以包括高于阈值的体验质量和/或给定条件下的最高可实现的体验质量)。此外,在某些实施方式中,单个焦点可以同时(和/或至少部分地在时间上重叠)支持多个不同的通信会话,其中不同通信会话可以包括不同的所说语言和/或不同的关联网络条件。在此类实施方式中,多个不同的通信会话可以使用不同的编解码器,例如,这些编解码器可以分别针对每个通信会话提供满意的体验质量。

还参考图10,示出计算系统12的概略视图。尽管在该图中示出计算系统12,但这仅为了示例性目的并且并非旨在作为本公开的限制,因为其它配置是可能的。例如,能够全部或部分地执行体验质量过程10的任何计算设备都可以代替图10内的计算设备12,该计算设备的实例可以包括但不限于客户机电子设备28、30、32、34。

计算系统12可以包括微处理器200,其被配置为例如针对屏幕捕获过程10处理数据并且执行指令/代码。微处理器200可以耦合到存储设备16。如上面讨论的,存储设备16的实例可以包括但不限于:硬盘驱动器、磁带驱动器、光盘驱动器、raid设备、nas设备、存储区域网络、随机存取存储器(ram)、只读存储器(rom)和所有形式的闪存存储设备。io控制器202可以被配置为将微处理器200与各种设备耦合,这些设备例如包括键盘204、鼠标206、usb端口(未示出)和打印机端口(未示出)。显示适配器208可以被配置为将显示器210(例如,crt或lcd显示器)与微处理器200耦合,而网络适配器212(例如,以太网适配器)可以被配置为将微处理器200耦合到网络14(例如,因特网或局域网)。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是—但不限于—电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读存储介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在此使用的术语只是为了描述特定的实施例并且并非旨在作为本公开的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、步骤、操作、元素、组件和/或其组合的存在或增加。

以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要将本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。

已详细并通过参考本申请的实施例如此描述了本申请的公开,但显而易见的是,在不偏离所附权利要求中限定的本公开的范围的情况下,修改和变型是可能的。

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