语音处理方法与装置的制造方法

文档序号:9922698阅读:459来源:国知局
语音处理方法与装置的制造方法
【技术领域】
[0001]本发明涉及语音处理技术领域,特别是涉及一种语音处理方法与装置。
【背景技术】
[0002]基于互联网的语音识别云服务能够帮助用户实现语音搜索,语音输入,语音对话等。如图1所示,在这些服务中,待处理的语音从用户终端,通过互联网被传输给语音识别服务器,语音识别服务器端的识别结果沿着原链路返回给用户终端展示给用户。基于互联网的语音识别服务的用户请求量巨大、且日益增加,使得原本就有限的识别资源变得越发紧张。可见,对于本领域技术人员而言,使语音识别服务器资源能够被充分的利用于语音请求处理,使得语音识别服务器在单位时间内可以识别更多的语音请求,是亟待解决的问题。
[0003]现有的两种解决方案分别如下:
[0004]现有的第一种解决方案:
[0005]如图2所示,在语音识别服务中,为识别服务器的每个物理核创建一个语音识别线程。为了实时给用户反馈语音识别结果,并减小用户等待语音识别结果的时间,在用户输入语音的同时,将用户请求识别的语音以I秒语音时长为单位,切分成语音数据包发送到语音识别服务器(如图2中所示的请求I包1,请求I包2)。在该方案中为来自一个客户端的语音数据包建立一个语音连接,同时为这个语音连接绑定一个语音识别线程和语音识别实例。也就是说,一个语音识别线程仅为一个语音连接所请求的语音数据包服务。
[0006]而事实上,语音识别线程在处理I秒语音时长的语音数据包时,实时率通常在0.6至0.9之间,即处理I秒钟的语音数据包需要0.6秒至0.9秒即可识别完毕。可见,语音识别线程的识别速度要比用户输入语音的速度快。这将导致,在语音识别线程服务器语音连接所请求的一个语音数据包处理完后,等待该语音连接所请求的下一个语音数据包时,语音识别线程处于闲置状态。本领域技术人员能够明了,语音线程闲置则说明语音识别服务器资源未能得到充分利用,语音识别服务器资源利用率低。
[0007]现有的第二种解决方案:
[0008]为语音识别服务器中的每个物理核创建多个语音识别线程,并建立与识别线程相同数量的语音识别实例,即,识别服务器的一个物理核需要为多个语音识别线程提供服务。比如一台识别服务器有12个逻辑处理器机物理核,可以创建48组语音连接、语音识别线程和语音识别实例。
[0009]现有的第二种解决方案,当一个语音识别线程当前处理的语音数据包处理完成后,此时该语音处理线程对应的物理核闲置,此时,其他具有待处理的语音数据包的语音处理线程抢用闲置的该物理核。由于各语音线程切换时刻不受控制,往往多个语音线程争抢一个物理核,将造成语音线程间的物理核处理时间轮转,这样,虽然物理核未闲置,但是物理核的部分资源由于语音线程的轮转被消耗,依然未被利用于处理语音请求。可见,现有的第二种简单依靠增加语音识别线程组数的解决方案,依然存在语音识别服务器资源无法被充分利用于处理语音请求的问题。
[0010]可见,现有的处理方案均无法使语音识别服务器资源被充分利用于处理语音请求。

【发明内容】

[0011]鉴于上述现有的处理方案,均无法使语音识别服务器资源被充分利用于处理语音请求的问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的语音处理方法与装置。
[0012]为了解决上述问题,本发明公开了一种语音处理方法,包括:当前语音识别线程获取按照设定规则存储的语音数据包;调用语音识别实例对获取的所述语音数据包进行语音识别处理;在对获取的所述语音数据包处理完成后、判断是否还存在待处理的其它语音数据包;若存在,则返回所述当前语音识别线程获取按照设定规则存储的语音数据包的步骤,继续对所述其它语音数据包进行语音识别处理,其中,获取的所述语音数据包与所述其它语音数据包属于不同的语音连接。
[0013]为了解决上述问题,本发明还公开了一种语音处理装置,包括:获取模块,用于供当前语音识别线程获取按照设定规则存储的语音数据包;处理模块,用于调用语音识别实例对获取的所述语音数据包进行语音识别处理;判断模块,用于在对获取的所述语音数据包处理完成后、判断是否还存在待处理的其它语音数据包;返回模块,用于若存在,则返回所述获取模块继续对所述其它语音数据包进行语音识别处理,其中,获取的所述语音数据包与所述其它语音数据包属于不同的语音连接。
[0014]本发明实施例提供的语音处理方案,当前语音识别线程并非仅为一个语音连接提供语音处理服务,在当前语音连接对应的语音数据包处理完成后即当前语音识别线程空闲时,当前语音识别线程主动判断是否还存在待处理的其它请求的语音数据包,若存在,则直接获取一个待处理的其他请求的语音数据包进行处理。本发明实施例提供的语音处理方案,一方面,当语音识别线程空闲时主动获取其他待处理的语音数据包进行语音处理,因此,语音识别线程并不存在现有技术中所存在的语音识别线程等待语音连接对应的下一个语音数据包而造成资源浪费的问题。另一方面,本发明实施例中的语音识别线程空闲时是通过主动获取其他待处理的语音数据包,来改变其对应的物理核的空闲状态,以使物理核的资源能够被充分利用。整个过程中都不存在语音识别线程之间的切换,语音识别线程对应的物理核的全部资源都利用于处理语音数据包,因此,能够有效避免现有的处理方案中存在的语音识别线程之间的轮转而消耗物理核资源的问题。再一方面,语音线程之间的轮转是由处理器按照自身设定的时钟周期进行的,即在处理同一个语音数据包时,可能暂时中断一段时间,来处理另外的一个语音识别线程对应的语音数据包,因此,语音识别线程之间的轮转将导致单个语音请求处理速度的下降。而本发明实施例中,并不存在语音线程之间的轮转,因此,能够避免语音识别线程轮转而导致的单个语音请求处理速度下降的问题。
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是现有的语音交互云示意图;
[0017]图2是现有的语音识别的交互示意图;
[0018]图3是根据本发明实施例一的一种语音处理方法的步骤流程图;
[0019]图4是根据本发明实施例二的一种语音处理方法的步骤流程图;
[0020]图5示出了采用实施例二中所示的语音处理方法与现有的第一种语音处理方法在处理语音请求时的性能对比图;
[0021]图6示出了执行实施例二中所述的语音处理方法的语音处理系统启动和中断的流程示意图;
[0022]图7示出了语音处理过程中语音数据包的生命周期示意图;
[0023]图8是根据本发明实施例三的一种语音处理装置的结构框图;
[0024]图9是根据本发明实施例四的一种语音处理装置的结构框图。
【具体实施方式】
[0025]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]实施例一
[0027]参照图3,示出了本发明实施例一的一种语音处理方法的步骤流程图。
[0028]本发明实施例的语音处理方法包括以下步骤:
[0029]步骤S102:当前语音识别线程获取按照设定规则存储的语音数据包。
[0030]存储语音数据包的设定规则可以由本领域技术人员根据实际需求进行设定,本发明实施例对此不作具体限制。例如:设置成语音连接请求处理的前一个语音数据包未处理完成前,不对该语音连接请求的下一个语音数据包进行存储。例如:设置语音连接请求处理的前一个语音数据包未处理完成后、设定时间后,再对该语音连接请求的下一个语音数据包进行存储。
[0031]其中,存储的各语音数据包可以以任意适当的方式进行存储。例如:在识别服务器中设置一个队列,语音数据包以存储时间的先后顺序依次存储在设置的该队列中。再例如:设置一个存储池,待存储的各语音数据包存储在该存储池中。
[0032]步骤S104:调用语音识别实例对获取的语音数据包进行语音识别处理。
[0033]在对语音进行识别时,语音识别线程为每个已建立成功的语音连接分配一个语音识别实例,每个语音连接处理一个语音请求所请求的全部语音数据包。其中,建立成功的语音连接为已经被分配处理语音请求的连接。语音识别实例中保存有语音请求当前的识别状态和识别历史,通过识别历史可以将当前识别的语音数据包与之前已经处理完成的语音数据包之间的数据进行前后语义的关联,以成功对将当前语音数据包进行处理。
[0034]步骤S106:在对获取的语音数据包处理完成后、判断是否还存在待处理的其它语音数据包;当判断结果为存在时,返回执行步骤S102,当判断结果为不存在时,执行设定操作。
[0035]本领域技术人员能够明了,服务器
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1