处理并发语音的制作方法

文档序号:8436190阅读:554来源:国知局
处理并发语音的制作方法
【专利说明】
【背景技术】
[0001]所公开的实施例通常涉及分布式客户端-服务器计算机网络系统,并且具体涉及用于处理并发语音的系统和方法。每天,都会举行成百上千的会议,特别是电话会议。不像那些现场会议,电话会议的出席者通常从不同地理位置参加并讲话。但是,由于缺乏视觉线索和其他原因,电话会议的出席者更可能在同时或者大约同时讲话,造成同时、并发或以其他方式重叠的讲话。尽管增加了该重叠讲话的可能性,电话会议的用户仍旧期望他们与其他用户通信是有序和有效的。
[0002]在会议系统中,当许多出席者在同时或大约同时讲话时,讲话者的讲话可能在延长的时期内不会被听见,直到所有“早的”讲话已被输出。延长的延迟通常导致用户挫折和混乱,因为讲话者试图再讲一遍或者确定会议系统是否有错误或数据丢失。当讲话频繁被打断时,该情形恶化,并且必须重复许多次才能被完全传递,降低了会议系统的有效性。

【发明内容】

[0003]通过下面所述的所公开的系统和方法来减少或消除上述的用于处理并发语音的常规方法的问题。
[0004]在许多情形下,提供有选择地消除并发语音但仍满足用户的使其讲话被适当处理或传递的感知的系统和方法是有利的。特别是,基于一个或多个其他参与者的讲话的属性来有选择地调整特定参与者的讲话的输出,可以增加会议系统的有效性,而没有以串行先入先出方式广播大量参与者讲话的伴随成本。
[0005]在一些实施例中,在服务器系统处执行一种方法,该服务器系统具有一个或多个处理器和存储器,所述存储器存储一个或多个程序,用于由所述一个或多个处理器执行,以便执行所述方法。所述方法包括:从会话的第一参与者接收语音数据,从该会话的第二参与者接收语音数据,以及输出第一参与者的语音。所述方法进一步包括:当第二参与者的语音与第一参与者的语音的末端部分暂时重叠少于第一预定阈值量时,根据对该会话的参与者的语音的调整输出第二参与者的语音,以及当第二参与者的语音与第一参与者的语音的末端部分暂时重叠多于该第一预定阈值量时,丢弃第二参与者的语音。在一些实施例中,所述方法可选地包括通过延迟第二参与者的语音的输出而根据对该会话的参与者的语音的调整输出第二参与者的语音。
[0006]根据一些实施例,一种计算机系统(例如客户端系统或服务器系统)包括一个或多个处理器、存储器和一个或多个程序。所述一个或多个程序存储在存储器中并且被配置为由所述一个或多个处理器执行且所述一个或多个程序包括用于执行上述方法的操作的指令。根据一些实施例,一种非瞬时计算机可读存储介质在其中存储指令,当所述指令被一个或多个处理器执行时,使得计算机系统(例如,客户端系统或服务器系统)执行上述方法的操作。
【附图说明】
[0007]为了更好理解所公开的实施例,下面应该参考实施例的描述,并且结合下面的附图,在附图中,相似的参考标记通篇指代对应的部件。
[0008]图1是根据一些实施例图示分布式客户端-服务器系统的框图。
[0009]图2是根据一些实施例图示客户端系统的框图。
[0010]图3是根据一些实施例图示服务器系统的框图。
[0011]图4包括根据一些实施例图示用于处理并发语音的客户端-服务器系统的流程图。
[0012]图5是根据一些实施例图示处理并发语音的方法的流程图。
[0013]图6是根据一些实施例图示处理并发语音的示例的框图。
[0014]图7是根据一些实施例图示处理并发语音的第二示例的框图。
[0015]图8是根据一些实施例图示处理并发语音的第三示例的框图。
[0016]图9是根据一些实施例图示处理并发语音的第四示例的框图。
[0017]图10是根据一些实施例图示处理并发语音的第五示例的框图。
【具体实施方式】
[0018]将理解,尽管这里可以使用术语“第一”、“第二”等来描述各种元素,但是这些元素不应被这些术语所限制。这些术语只用于区分一个元素和另一个元素。例如,第一参与者可以被称为第二参与者,并且类似地,第二参与者可以被称为第一参与者,而不会改变描述的含义,只要所有并发的“第一参与者” 一致地被改名并且所有并发的“第二参与者” 一致地被改名。第一参与者和第二参与者都是参与者,但是他们不是相同的参与者。
[0019]这里使用的术语的目的仅仅是描述特定实施例的目的,而不旨在是对权利要求的限制。如实施例的描述和所附权利要求中所使用的,单数形式“一”旨在也包括多数形式,除非上下文另外明确指出。也将理解,这里使用的术语“和/或”指的是并且包括一个或多个相关联的所列项目的任何和所有可能组合。还将理解,术语“包括”和/或“包含”,当在本说明书中使用时,规定所陈述的特征、整数、步骤、操作、元素和/或组件的存在,而不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组合的存在或添加。
[0020]如这里使用的术语“如果”可以被解释为意味着“当……时”或“当”或“响应于确定”或“根据确定”或“响应于检测”所陈述的条件前提为真,取决于上下文。类似地,短语“如果确定[所陈述的条件前提为真]”或“如果[所陈述的条件前提为真]”或“当[所陈述的条件前提为真]时”可以被解释为意味着“当确定”或“响应于确定”或“根据确定”或“当检测”或“响应于检测”所陈述的条件前提为真,取决于上下文。
[0021]下面描述的实施例包括客户端和服务器系统,典型地在分布式客户端-服务器系统中互操作,以及处理并发语音的对应方法,其中,并发语音的某些部分被丢弃,或者被调整,以便有效率且有效地处理并发语音。
[0022]图1包括图示用于处理并发语音的分布式客户端-服务器系统100的框图。分布式客户端-服务器系统100包括一个或多个客户端系统102 (其代表这里被称为“客户端102”)、一个或多个调度服务器系统106-A…106-N(其代表这里被称为“调度服务器106”)以及用于将客户端102连接到调度服务器106的通信网络104。通信网络104可选地包括因特网、一个或多个局域网(LAN)、一个或多个广域网(WAN)、其他类型的网络、或者这样的网络的组合。
[0023]客户端102可选地包括浏览器150和/或会议应用108。在一些实施例中,会议应用108是浏览器150的一部分。在一些实施例中,浏览器150是通用因特网浏览器(有时被称为web浏览器),具有用于与会议系统的其他用户通信-音频通信和/或视频通信,例如语音的浏览器窗口。web应用用户接口可选地使用由浏览器106呈现的超文本标记语言(HTML)或可扩展标记语言(XML)元素来实现。可替换地,用户与会议系统的其他用户经由单机会议应用108来通信。在用户开始她与其他用户经由浏览器150或单机会议应用108的通信(音频和/或视频)之后,客户端102经由通信网络104中继语音数据一一在一些实施例中包括音频和/或视频信息(或其一部分)以及对应的元数据(例如时间戳、通信的长度、格式化数据)一一到调度服务器106。在一些实施例中,调度服务器106处理语音数据并且可选地将语音数据发射到一个或多个其他调度服务器106以便并行或串行处理。一旦语音数据(包括音频/视频信息和对应元数据)被一个或多个调度服务器106处理,其被发射回一个或多个客户端102,其中,音频和/或视频通信(例如,一个或多个语音)被传递到其各自用户。在一些实施例中,客户端102是电话。在一些实施例中,调度服务器106是以软件(例如,编程包)或硬件(例如,IC芯片)在客户端102上实现的。在一些实施例中,例如,其中,调度服务器106在客户端102上实现,语音数据在客户端102之间被发射,不通过中心化服务器。在一些实施例中,语音在一个客户端102和另一客户端102被不同地输出,例如具有不同的延迟量,或者以不同的速度。
[0024]在一些实施例中,在客户端102之间使用一致性算法以从客户端102收集信息,诸如,哪个语音或其一部分在哪个客户端102被传递或被忽略,以及在一个或多个特定客户端102语音被延迟了多长时间。在一些实施例中,根据所收集的信息,一致性算法还向调度服务器106提供一个或多个调度选项(例如,客户端反馈),可以提供若干客户端102中的最好整体性能。在一些实施例中,一致性算法所收集的信息(包括调度选项)在它们被发射到调度服务器103之后,被存储在调度参数130中,以用于未来语音调度。在一些实施例中,为了避免或最小化可能造成用户混乱的在若干客户端102处传递语音的方式之间的不同,根据一致性算法所提供的信息,调度服务器106动态地调整语音输出。在一些实施例中,调度服务器106动态地调整语音输出,使得客户端102 (不断地)收敛到一种状态,在此状态下,至少在多于预定义数量的客户端102处传递任一语音,或者在若干客户端102处传递的语音大致相同(根据输出速度或者语音的次序)。
[0025]在一些实施例中,调度服务器106包括前端服务器模块120、音频处理模块122、视频处理模块124、语音识别模块126、语音转录模块128、调度参数130、输出调度模块132和输出调整模块134。在一些实施例中,前端服务器模块120从一个或多个客户端102接收语音数据,将其中继到音频处理模块122、视频处理模块124或二者。在一些实施例中,前端服务器模块120还将从输出调度模块132或输出调整模块134接收到的输出语音发射到一个或多个客户端102用于传递。在一些实施例中,前端服务器模块120还通过将其中的音频/视频信息转换成可以易于被调度服务器106处理的格式而修改语音数据。音频处理模块122从语音数据中提取音频信息,并可选地提取对应的元数据,并且将其发射到输出调度模块132或语音识别模块126。在一些实施例中,视频处理模块124从语音数据中提取视频信息和对应的元数据,并且可选地,将其发射到输出调度模块132或语音识别模块126。在一些实施例中,音频处理模块122和视频处理模块124将音频和/或视频信息以及可选的对应元数据输出到语音识别模块126。在一些实施例中,语音识别模块126使用(在硬件或软件中实现的)语音识别技术来根据语音元数据识别音频和/或视频信息中的字母、单词、短语、术语、句子、语音语气或面部表情的改变等等。在一些实施例中,根据语音元数据,语音转录模块128将音频信息和/或视频信息的音频部分转录成文本。调度参数130包括输出调度信息,诸如语音分类、语音优先级以及讲话者角色。输出调度模块132接收音频和/或视频信息并且根据语音元数据和/或调度参数130在预定时间输出语音。可选地,输出调度模块132至少部分基于从语音识别模块126、语音转录模块128和调度参数130接收到的信息来确定预定输出时间。输出调整模块134可选地调整输出语音,例如添加进一步的延迟、去除现有延迟、加长或缩短语音内的暂停,以及使用一个或多个基音保持算法增加或减少语音速度。在一些实施例中,延迟语音是通过记录语音并且在预定时间间隔后回放记录的语音,可选地以比原始语音更快或更慢的速度,来获取的。
[0026]在一些实施例中,当存在多个服务器系统(例如,调度服务器106-A…调度服务器106-N)时,来自客户端102的语音数据或者其一部分被发射到两个或更多的调度服务器106用于并行或串行处理和调度输出。在一些实施例中,输出调度模块132 (例如,输出调度模块132-A…输出调度模块132N),在多个服务器系统内,互相通信以协调语音输出。在一些实施例中,从客户端102接收的语音数据被分成相等或不同长度的若干部分,并且相同语音的不同部分被发射到不同服务器
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1