一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音数据处理方法、系统及介质与流程

2021-09-29 00:58:00 来源:中国专利 TAG:数据处理 蓝牙 介质 语音 音频


1.本技术涉及蓝牙音频数据处理技术领域,尤其涉及一种语音数据处理方法、系统及介质。


背景技术:

2.在最新的蓝牙低功耗音频(low energy audio,简称le audio)规范中,引入了点对点的同步流传输链接技术(connected isochronous stream,简称cis),用来实现低延迟的音频传输。在建立cis链路时会配置相应的服务质量参数(quality of service,简称qos),其中包含超时时间(flush timeout,简称ft)、同步链路时间间隔(iso interval)、一个时间间隔内的最大子事件个数(number of subevent,简称nse)以及一个时间间隔内允许发送的数据包的个数(burst number,简称bn),这些参数决定了每个包的最大重传次数,并且在传输过程中这些参数无法修改。
3.当某个数据包达到重传次数却未能被接收端正确收到,此数据包(包含音频包)就会被丢弃,从而导致接收端的卡顿现象,虽然可以通过丢帧补偿算法在接收端来掩盖丢帧,但这些算法补偿的声音有时并不是很自然,而且增加了运算量,有些丢帧补偿算法还增加了系统延迟。
4.专利

数据传输方法、装置、设备、系统及介质,cn202080001621.5’中提出一种方法来减轻卡顿的现象,简述如下:首先在接收端监测丢包率,当其大于既定门限时,给发射端发送指示信息;然后发射端在收到指示信息后,降低发射端的音频编码码率并生成多个相同的音频帧,码率降低导致音频帧变小使得一个数据包可以容纳更多的相同音频帧,举例说,原先一个数据包中包含一个音频帧,现在码率降低到一半,那么一个数据包可以包含两个相同的音频帧。该方法虽然整体码率没变,但发送端将同一帧的发送次数更多,相当于增加了重传次数,从而降低了丢帧的概率。
5.上述方法可以有效地降低后续卡顿的概率,但如果将其应用到语音通信中,不足之处在于:语音通话中,任何一方大约只有35%的时间在讲话,其余时间是静默状态,有时候丢的包中并无有效语音,是否重传对音质影响不大,但此发明仍然在尽力重传,既浪费带宽又对音质贡献不大;另外,在上述方法中,当音频中的无有效语音的数据包仍然会被反复重传,导致浪费宝贵的带宽、增加功耗并且增加了时延。


技术实现要素:

6.针对现有技术中,为解决音频卡顿进行音频数据的重传时,对音频帧没有区分,对包括不存在有效语音的音频帧仍然进行重传,浪费音频传输的带宽,增加功耗和时延的问题,本技术提供一种语音数据处理方法、系统及介质。
7.在本技术的一个技术方案中,提供一种语音数据处理方法,包括:对待编码的当前音频帧进行分析,确定当前音频帧对应的编码码率,编码码率包括全码率、中码率以及低码率,其中全码率大于中码率,中码率大于低码率;根据编码码率设定重传次数,其中,编码码
率与重传次数正相关;根据编码码率对当前音频帧进行编码,并对编码结果进行传输。
8.可选的,对当前音频帧进行分析,确定当前音频帧对应的编码码率,包括:对当前音频帧中的有效语音进行检测;若当前音频帧中含有的有效语音满足预设要求,则设定编码码率为全码率;若当前音频帧中含有的有效语音不满足预设要求,则对当前音频帧对应的有效带宽进行检测;若有效带宽处于预设带宽范围,则设定编码码率为中码率;否则,设定编码码率为低码率。
9.可选的,对当前音频帧中含有的有效语音进行检测,包括:检测当前音频帧的基音存在标志,若基音存在标志为预设值,则当前音频帧中含有的有效语音满足预设要求;检测当前音频帧的第一基音延迟,若第一基音延迟与上一音频帧的第二基音延迟的差值大于预设门限,则当前音频帧中含有的有效语音满足预设要求;和、或检测当前音频帧对应的语音频带能量熵,若语音频带能量熵小于第一预设能量熵门限,则当前音频帧中含有的有效语音满足预设要求。
10.可选的,本技术的语音数据处理方法,还包括:若当前音频帧中含有的有效语音不满足预设要求,则检测当前音频帧对应的语音频带能量熵,若语音频带能量熵小于第二预设能量熵门限,则设定编码码率为中码率。
11.可选的,本技术的语音数据处理方法,还包括:音频接收端对接收的编码结果进行解码,并对解码结果进行分析,其中,若解码结果存在错误,且编码结果对应的编码码率为全码率,则向音频发射端发出重传请求;若解码结果存在错误,且编码结果对应的编码码率为中码率,则向音频发射端发出重传请求;若解码结果存在错误,且编码结果对应的编码码率为低码率,则启动plc服务,对错误进行隐藏。
12.可选的,根据编码码率对当前音频帧进行编码,并对编码结果进行传输,包括:若音频发射端接收到重传请求,则判断当前音频帧对应的编码码率,若当前音频帧由[fl1] 全码率编码,则降低全码率,根据降低后的更新编码码率对编码结果对应的帧数据进行重组,并对重组结果进行重传,直到音频接收端成功接收重传结果或重传次数满足第一重传次数要求;若当前音频帧对应的编码码率为中码率,则直接对编码结果对应的帧数据进行重传,直到音频接接收端成功接收重传结果或重传次数满足第二重传次数要求。
[0013]
可选的,重组的过程包括:对经过全码率编码得到的编码结果对应的帧数据进行解析,根据预定顺序将帧数据写入到更新编码码率对应的码流中,得到重组结果。
[0014]
可选的,判断音频接收端对应的编码码率;若音频接收端对应的编码码率为全码率,则启动plc服务,对错误进行隐藏。
[0015]
可选的,若音频接收端的编码码率为全码率,且则启动plc服务,对错误进行隐藏,还包括:判断上一音频帧对应的解码结果是否存在错误;若上一音频帧对应的解码结果存在错误,则音频接收端发出重传请求;若上一音频帧对应的解码结果不存在错误,则音频接收端启动plc服务,对错误进行隐藏。
[0016]
在本技术的一个技术方案中,提供一种语音数据处理系统,包括:码率确定模块,其对待编码的当前音频帧进行分析,确定当前音频帧对应的编码码率,编码码率包括全码率、中码率以及低码率,其中全码率大于中码率,中码率大于低码率;重新次数确定模块,其根据编码码率设定重传次数,其中,编码码率与重新次数正相关;以及编码及传输模块,其根据编码码率对当前音频帧进行编码,并对编码结果进行传输。
[0017]
本技术的有益效果是:本技术的语音数据处理方法通过对待编码的音频帧进行检测,根据音频帧的特性选择对应的编码码率对该音频帧进行编码,并对应设置不同的重传次数。使得,当音频帧中含有有效语音时,使用较高的编码码率进行编码,对应设置较高的重传次数;当音频帧中不含有有效音时,使用较低的编码码率进行编码,对应设置交底的重传次数,使得对于一些不存在有效语音的音频帧降低重传次数甚至不进行重传,避免浪费音频传输的带宽,降低功耗以及降低时延。
附图说明
[0018]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]
图1示出了语音数据重传的一个实例;图2示出了本技术语音数据处理方法的一个典型应用场景;图3示出了本技术语音数据处理方法的一个实施方式;图4示出了本技术语音数据处理方法的一个实例;图5示出了本技术语音数据处理系统的一个实施方式。
[0020]
通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
[0021]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0022]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的产品或设备不必限于清楚地列出的哪些单元,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它单元。
[0023]
在最新的蓝牙低功耗音频(low energy audio,简称le audio)规范中,引入了点对点的同步流传输链接技术(connected isochronous stream,简称cis),用来实现低延迟的音频传输。在建立cis链路时会配置相应的服务质量参数(quality of service,简称qos),其中包含超时时间(flush timeout,简称ft)、同步链路时间间隔(iso interval)、一个时间间隔内的最大子事件个数(number of subevent,简称nse)以及一个时间间隔内允许发送的数据包的个数(burst number,简称bn),这些参数决定了每个包的最大重传次数,
并且在传输过程中这些参数无法修改。
[0024]
在进行蓝牙音频传输时,蓝牙的无线环境复杂多变,譬如在公共场合打电话或听音乐时,由于无线环境复杂干扰增多导致cis链路质量变差,蓝牙传输会失败,此时需要重传丢失的包。其中图1示出了语音数据重传的一个实例。如图1所示:当蓝牙接收端检测到一个包正确时,会给蓝牙发射端返回一个ack信号,表示收到正确的包;当蓝牙接收端检测到一个包错误时,会给蓝牙发射端返回一个nack,表示没有收到正确的包;在收到ack信号后,发射端会按照既定时序发送下一个包;在收到nack信号后,音频发射端会重新发送传输失败的包,重发次数取决于系统设计。在规定的时间内,如果发射端没有收到ack信号或nack信号,即超时的情况,此时再重发音频包。
[0025]
当某个数据包达到重传次数却未能被接收端正确收到,此数据包(包含音频包)就会被丢弃,从而导致接收端的卡顿现象,虽然可以通过丢帧补偿算法在接收端来掩盖丢帧,但这些算法补偿的声音有时并不是很自然,而且增加了运算量,有些丢帧补偿算法还增加了系统延迟。
[0026]
现有技术虽然有效地降低后续卡顿的概率,但如果将其应用到语音通信中,不足之处在于:语音通话中,任何一方大约只有35%的时间在讲话,其余时间是静默状态,有时候丢的包中并无有效语音,是否重传对音质影响不大,但如果仍然尽力重传,既浪费带宽又对音质贡献不大;另外,在上述方法中,当音频中的无有效语音的数据包仍然会被反复重传,导致浪费宝贵的带宽、增加功耗并且增加了时延。
[0027]
针对上述方法中,对音频帧没有区分,对不包含有效音的音频帧仍然进行重传,浪费音频传输的带宽,增加功耗和时延的问题,本技术提出一种语音数据处理方法、系统及介质。首先通过对当前编码的音频帧进行分析,根据选择适合的编码码率对该音频帧进行编码,并设置对应的重传次数。若该音频帧含有有效语音,则设置较高的编码码率对该音频帧进行编码,同时设置较高的重传次数;当该音频帧不含有有效音,对应手机通话时的静默状态,则使用较低的编码码率对该音频帧进行编码,同时设置较低的重传次数,使得减少对无效音频帧的重传,避免音频数据传输时带宽的浪费,降低功耗,降低时延。
[0028]
下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
[0029]
图2示出了本技术语音数据处理方法的一个典型应用场景。
[0030]
如图2所示,近端的手机和蓝牙耳机通过蓝牙无线来连接,远端也是如此。近端手机和远端手机通过2g/3g/4g/5g等无线网络和、或公共电话交换网pstn连接。本发明主要以近端为例举例,其思想对远端相同。其中近端手机作为蓝牙发射端发送端,对语音音频信号进行编码,并对编码结果进行发送;远端手机作为蓝牙接收端,接收近端手机发送的编码结果并进行解码。
[0031]
图3示出了本技术语音数据处理方法的一个实施方式。
[0032]
在图3所示的实施方式中,本技术的语音数据处理方法包括:过程s301,对待编码的当前音频帧进行分析,确定当前音频帧对应的编码码率,编码码率包括全码率、中码率以及低码率,其中全码率大于中码率,中码率大于低码率。
[0033]
在该实施方式中,在对当前音频帧的编码的过程中,因为语音通话过程中,存在通
话过程的静默等情况,导致当前音频帧的数据中包含不同的数据量。所以对当前音频帧进行分析,并选择适当的编码码率进行后续的编码,满足语音数据的音质要求,同时避免编码码率的浪费。即当音频帧中含有较多音频数据时,采用高码率进行编码,实现高音质;当音频帧中含有较少音频数据时,采用低码率进行编码,避免码率浪费,其中,对编码码率划分为全码率、中码率以及低码率。
[0034]
具体的,全码率对应音频编码过程中的基准码率,全码率主要对音频帧中含有音频数据的音频帧进行编码,例如包含有效语音的情况;中码率的具体码率值可根据音频编码器的类型及型号等进行设置,例如可设置为二分之一的全码率,其中中码率对应音频帧数据中含有较少的音频数据的情形;低码率根据音频编码器的类型及型号等进行设置,例如可设置为三分之一的全码率,其中低码率对应音频帧为静音帧等音频数据很少的情形。通过对当前音频帧进行分析,并设置对应的编码码率对当前音频帧进行编码,在保证音频音质的同时,避免码率的浪费。
[0035]
可选的,对当前音频帧进行分析,确定当前音频帧对应的编码码率,包括:对当前音频帧中的有效语音进行检测;若当前音频帧中含有的有效语音满足预设要求,则设定编码码率为全码率;若当前音频帧中含有的有效语音不满足所述预设要求,则对当前音频帧对应的有效带宽进行检测;若有效带宽处于预设带宽范围内,则设定编码码率为中码率;否则,设定编码码率为低码率。
[0036]
在该可选实施例中,在当前音频帧对应的编码码率进行确定时,对当前音频帧中的有效语音进行检测,其中,若当前音频帧中的有效语音满足预设要求,对应应用场景中,通话双方正在进行通话,则为保证通话的音质,设定编码码率为全码率;若检测到当前音频帧中的有效语音不满足预设要求,此时当前音频帧中仅包含较少的音频数据,为避免码率的浪费,此时设定编码码率为中码率;其他情况则将编码码率设定为低码率。对应应用场景中,通话双方均不进行说话,为语音通话过程中的静默状态。通过根据当前音频帧不同的情况设置对应的编码码率对该音频帧进行编码,保证音质的同时,避免码率的浪费。
[0037]
具体的,在进行带宽判断时,主要分为两种情形:其中一是检测为全带宽:此时可能是有效语音,也有可能是静音,通过上述对有效语音的判断,当全带宽为有效语音的情形时,使用全码率进行编码,当全带宽对应静音的情形,则使用低码率进行编码;二是检测为非全带宽:即1/3全带宽、1/4全带宽等,此时指示有较强的能量,通常是有语音存在,虽然有效带宽很窄,但由于语音的特点是主要能量集中在低频部分,所以还是需要使用中码率进行编码,进而确保音质,譬如48khz采样率时,全带宽为24khz,如果检测到有效带宽为8khz,较窄的频带宽度对应较少的信息量,使用中码率即可。因为在非全带宽的预设带宽范围的设定时,可根据不同音频带宽特性以及音频音质的不同要求进行合理的选择,例如选择1/6全带宽至1/2全带宽部分使用中码率编码等,具体的预设带宽范围根据实际情况进行确定,本技术不进行具体限制。
[0038]
可选的,对当前音频帧中含有的有效语音进行检测,包括:检测当前音频帧的基音存在标志,若基音存在标志为预设值,则当前音频帧中含有的有效语音满足预设要求;检测当前音频帧对应的第一基音延迟,若第一基音延迟与上一音频帧的第二基音延迟的差值大于预设门限,则当前音频帧中含有的有效语音满足预设要求;和、或检测当前音频帧对应的语音频带能量熵,若语音频带能量熵小于第一预设能量熵门限,则当前音频帧中含有的有
效语音满足预设要求。
[0039]
在该可选实施例中,在对当前音频帧中是否含有有效语音的检测时,本技术可进行多种判断方法。其中,在对该当前音频帧的编码过程过程中,获取基音存在标志pitch_present,其中,若基音存在标志为预设值,即当基音存在标志为1时,表示该音频帧中存在基音,满足有效语音的预设要求,对应应用场景的语音通话过程中,用户正在说话的场景,此时当前音频帧中包含有效语音。或者检测当前音频帧对应的第一基音延迟pitch_curr,并判断第一基音延迟pitch_curr与上一音频帧对应的第二基音延迟pitch_last进行比较,其中若两者的差值大于预设门限,表示基音延迟变化较快,满足有效语音的预设要求,对应语音通话过程中,用户正在说话的场景,此时当前音频帧中包含有效语音。
[0040]
具体的,第一基音延迟与第二基音延迟之间的预设门限值的设定可在10

20之间进行取值,优选的,预设门限值取值为15。其中关于预设门限的确定,可根据实际的音频编码器的类型及型号等进行合理的选择,其中,关于具体的预设门限,本技术不进行具体限制。
[0041]
需要说明的是,上述说明的基音延迟对应音频编解码器中的基音延迟索引,例如,对于在lc3音频编解码器中,计算基音延迟索引时基于12.8khz采样率,计算出的基音延迟索引范围是32

228。如果转换为实际的时间,则对应时间范围为2.5ms

17.8125ms,对应转化方式可参考:(32/12800)*1000=2.5ms。
[0042]
在该可选实施例中,在对当前音频帧中是否包含有效语音的判断时,还可以通过当前音频帧对应的语音频带能量熵进行判断。计算当前语音帧对应的语音频带能量熵,并与第一预设能量熵门限比较,当语音频带能量熵小于第一预设能量门限,则当前音频帧中含有的有效语音满足预设要求。其中关于频带能量熵的计算,可通过现有技术中的方法进行,本技术不进行进一步描述,优选的,第一预设能量熵门限可设置为0.6。
[0043]
具体的,对当前音频帧中是否含有有效语音的判断还可以通过以下方法进行。其中,在对当前音频帧的编码过程中获取attack冲击标志,若attack冲击标志为预设阈值1,则表明当前音频帧对应的能量值出现突然变化,对应实际通话情景中说话的开始;还可以获取编码过程中的预测增益pred_gain数值,其中若pred_gain数值大于预设的门限值,则表示当前音频帧中含有有效语音,其中pred_gain门限值的可取值1.4

1.6,关于具体门限值的确定,可根据实际的音频编码器的类型、型号以及一些编码要求进行合理选择,此处本技术不进行具体限制。
[0044]
需要说明的是,以上说明的各种关于当前音频帧中有效语音的判断方法,在具体的操作过程中,可采用一种方法进行判断,也可采用多种方法同时进行判断,进而提高对当前音频帧中有效语音判断的准确性。
[0045]
可选的,本技术的语音数据处理方法,还包括:若当前音频帧中含有的有效语音不满足预设要求,则检测当前音频帧对应的语音频带能量熵,若语音频带能量熵在第二预设能量熵范围内,则设定编码码率为中码率。
[0046]
在该可选实施例中,在判断当前音频帧中含有的有效语音满足预设要求,进行全码率的设置后。其中,若当前音频帧中含有的有效语音不满足预设要求,则判断当前音频帧对应的语音频带能量熵是否处于预设能量熵范围内,如果在预设能量熵范围内,此时设定编码码率为中码率。
[0047]
具体的,预设能量熵范围的下限值为第一预设能量熵门限,下限值的取值为0.6,预设能量熵范围的上限值取值为1.0,若当前音频帧对应的语音频带能量熵在0.6

1.0之间,则设置编码码率为中码率。其中关于预设能量熵范围的取值,可根据实际的音频编码器的类型、型号以及音频音质的要求等条件进行合理选择,本技术不进行具体限制。
[0048]
在实际的应用场景中,当音频的语音频带能量熵>1.0时,通常对应音频为静音状态;当音频的语音频带能量熵在0.6

1.0范围时,该音频很大概率为清音,根据语音编码理论,使用中码率编码即可满足音质需求;当音频的语音频带能量熵在0.6以下,该音频通常为浊音,需要使用全码率编码才能满足音质需求。
[0049]
在图3所示的具体实施方式中,本技术的语音数据处理方法包括过程s302,根据编码码率设定重传次数,其中,编码码率与重新次数正相关。
[0050]
在该实施方式中,在根据当前音频帧的特性,确定当前音频帧对应的编码码率后,音频编解码器之间协商,根据预定规则确定重传次数,其中编码码率与重传次数正相关,即编码码率越高,对应的重传次数越多,即全码率对应的重传次数大于等于中码率对应的重传次数,中码率对应的重传次数大于等于低码率对应的重传次数。
[0051]
具体的,在本技术的语音数据处理方法中,对当前音频帧进行全码率编码,该音频帧中包含的有效语音满足预设要求,含有较多的有效语音,为了避免有效语音在传输过程丢失,造成语音音质的影响、延迟以及卡顿的问题,对于使用全码率编码的当前音频帧,设置较大的重传次数,当该音频帧未传输成功,可进行多次重传,避免有效语音数据的丢失,影响通话质量和音质。当对当前音频帧进行中码率编码,虽然该音频帧中包含的有效语音不满足预设要求,但此时当前音频帧中让然含有较少的有效语音,如果该音频帧数据丢失也会造成音质的影响,所以可设置较少的重传次数。当对当前音频帧进行低码率编码,该音频帧中几乎不包含有效语音,对应于实际应用情景中,通话双方为静默状态,此时音频帧为无用数据,此时设置很低的重传次数,甚至不进行重传,一方面即使该音频帧丢失,也不会影响有效音频数据的完整性,因为为静默状态,对音质没有较大的要求;同时设置很低的重传次数,甚至不进行重传,进一步可避免浪费音频传输的带宽,降低功耗以及降低时延。
[0052]
可选的,本技术的语音数据处理方法,还包括:音频接收端对接收的编码结果进行解码,并对解码结果进行分析,其中,若解码结果存在错误,且编码结果对应的编码码率为全码率,则向音频发射端发出重传请求;若解码结果存在错误,且编码结果对应的编码码率为中码率,则向音频发射端发出重传请求;若解码结果存在错误,且编码结果对应的编码码率为低码率,则启动plc服务,对错误进行隐藏。
[0053]
在该可选实施例中,根据接收的不同的编码结果,在出现解码错误后,对应进行不同的重传操作。在通过全码率编码的编码结果出现错误后,包括在音频接收器的调制解调器解码时得知当前的码流存在错误或者音频解码时可以得知当前的码流存在错误,全码率编码的编码结果包含较多的有效语音,为避免有效语音的丢失造成的音质等通话质量的影响,此时音频接收端向音频发射端发出重传请求,音频发射端对该当前音频帧的编码结果进行重传;在通过中码率编码的编码结果出现错误后,同样,音频接收端向音频发射端发出重传请求,音频发射端对该当前音频帧的编码结果进行重传;在通过低码率编码的编码结果出现错误后,因为低码率进行编码的编码结果,其中几乎不包含有效语音,对应于应用场景中通话双方的静默状态,此时即使该音频帧丢失,也不会对通话质量造成影响,如果对低
码率编码后的编码结果进行较多次数的重传,反而造成音频传输带宽的浪费。因此在解码结果存在错误,当编码结果对应的编码码率为低码率时,则启动plc服务,对错误进行隐藏,不在进行重传。
[0054]
可选的,若解码结果存在错误,且编码结果对应的编码码率为全码率,则向音频发射端发出重传请求,还包括:判断音频接收端的编码码率;若音频接收端的编码码率为全码率,且则启动plc服务,对错误进行隐藏。
[0055]
在该可选实施例中,对当前音频帧的编码结果进行解码,并对解码结果进行分析。当进行全码率编码的当前音频帧对应的解码结果中出现错误,判断此时音频接收端的编码码率。当音频接收端的编码码率为全码率时,表明此时音频接收端此时正在进行有效语音的编码,对应实际通话情景中进行手机通话的双方互相说话,例如吵架。此时对出现错误的当前音频帧,音频接收器不再发出重传请求,而直接启动plc服务进行错误隐藏。因为此时虽然不进行包含有效语音的音频帧的重传,即使对方的语音会丢掉一些,本地说话者也注意不到,所以在此情形下,并不关注对方是否在说话,对于丢帧直接使用plc错误隐藏,不再请求重传。从而在不影响通话的情况下,降低音频发射端的算力,降低功耗。
[0056]
可选的,若音频接收端的编码码率为全码率,则启动plc服务,对错误进行隐藏,还包括:判断上一音频帧是否存在错误;若上一音频帧存在错误,则音频接收端发出重传请求;若上一音频帧不存在错误,则音频接收端启动plc服务,对错误进行隐藏。
[0057]
在该可选实施例中,若音频接收端的编码码率为全码率,准备启动plc服务时,还有判断上一音频帧是否存在错误,若上一音频帧存在错误,则音频接收端发出重传请求,不再执行plc服务进行错误隐藏。若上一音频帧不存在错误,则音频接收端启动plc服务,对错误进行隐藏。
[0058]
具体的,因为plc算法通常是基于正确的历史帧来补偿当前帧,所以如果历史帧错误,plc算法一般都会启动ramping down,音质会急剧降低,为避免连续的plc导致错误扩展,当检测待上一音频帧的解码结果存在错误时,此时不再进行plc服务进行错误隐藏。在音频接收端发出重请求,进行该音频帧的重传,从而保证音质。
[0059]
在图3所示的实施方式中,本技术的语音数据处理方法还包括过程s303,根据编码码率对当前音频帧进行编码,并对编码结果进行传输。
[0060]
在该实施方式中,在音频发射端,根据确定的编码码率对当前音频帧进行编码,并传输。另外,若接收到蓝牙接收端发出的重传请求,则需要对该当前音频帧进行重组[fl2] ,并进行传输。
[0061]
可选的,根据编码码率对当前音频帧进行编码,并对编码结果进行传输,包括:若音频发射端接收到重传请求,则判断当前音频帧对应的编码码率;若当前音频帧对应的编码码率为全码率,则降低全码率,根据降低后的更新编码码率对编码结果对应的帧数据进行重组并对重组结果进行重传,直到音频接收端成功接收重组结果或重传次数满足第一重传次数要求;若当前音频帧对应的编码码率为中码率,则对编码结果对应的帧数据进行重传,直到音频接收端成功接收重传结果或重传次数满足第二重传次数要求。
[0062]
在该可选实施例中,在音频发射端将该当前音频帧进行编码后,会将编码结果发送到音频接收端。在音频接收端,会对该当前音频帧的编码结果进行解码,并对解码结果进行分析。其中,若解码结果存在错误,且编码结果对应的编码码率为全码率,则向音频发射
端发出重传请求,在音频发射端降低全码率,根据降低后的更新编码码率对编码结果对应的帧数据进行重组并对重组结果进行重传,直到音频接收端成功接收重组结果或重传次数满足第一重传次数要求若解码结果存在错误,且编码结果对应的编码码率为中码率,则向音频发射端发出重传请求,在音频发射端对编码结果对应的帧数据进行重传,直到音频接收端成功接收重传结果或重传次数满足第二重传次数要求。
[0063]
具体的,第一重传次数大于第二重传次数。通过对包含有较多有效语音的当前音频帧设置较多的重传次数,在出现当前音频帧编码对应的解码结果出现错误,通过设置较多的重传次数,避免有效语音的丢失。其中,第一重传次数和第二重传次数的设置。可根据实际的音发射端、接收端的设备型号,对音频音质的要求以及音频传输过程的带宽要求进行合理选择,例如对第一重传次数设置为4,对第二重传次数设置为2。
[0064]
具体的,当在音频发射端,使用全码率编码后的当前音频帧在发射后,收到重传请求后,降低当前的全码率,例如降低为一定比例的全码率,例如1/2的全码率。使用更新后的编码码率对该当前音频帧的编码结果进行重组,得到重组结果,并进行发送。因为在重传时,使用相比第一次编码更低的编码码率,从而提高该音频传输的成功率,避免卡顿。当该音频帧传输成功,或者重传次数满足第一重传次数要求时,则结束对该当前音频帧的处理,开始对下一音频帧进行编码。
[0065]
在该可选实施例中,若在音频发射端接收到音频接收端发出的重传请求,若当前音频帧的经过中码率编码,因为中码率本身低于全码率,直接对保存的经过中码率编码后的编码结果进行重传,直到音频接收端成功接收重传结果或重传次数满足第二重传次数要求。
[0066]
可选的,重组的过程包括:对经过全码率编码得到的编码结果对应的帧数据进行解析,根据预定顺序将帧数据写入到更新编码码率对应的码流中,得到重组结果。
[0067]
在该可选实施例中,若音频接收端对解码结果分析后,解码结果存在错误,则需要执行重传操作。当音频发射端收到重传请求后,音频发射端对当前音频帧的编码结果进行重组,将经过全码率编码得到的编码结果对应的帧数据进行解析,并按照顺序写入降低后的更新编码码率对应的码流,得到重组结果,进行重传。
[0068]
具体的,在收到重传请求后,更新编码码率可根据预选设置的变更规则得到,例如,更新编码码率为全码率的1/2。对经过全码率编码的编码结果进行解析,按照辅助信息、算术[fl3] 编码的tns信息、算术[fl4] 编码的谱信息、残差信息或lsb信息(least significant bit)的顺序写入更新编码码率对应的码流中,直到可用的比特数用完,然后舍弃剩余的数据,最终得到重组结果。
[0069]
在一个具体实例中,如果更新编码码率为全码率的1/2,则对应的上述编码结果中的辅助信息、算术编码的tns信息会写入1/2全码率对应的码流中,算术编码的谱信息会因为码流大小的限制会被写入部分信息,对应重要的低频和中频信息,其中舍弃掉部分中频和高频的信息,残差信息和lsb信息也会被[fl5] 丢弃。其中,lsb信息表示最低有效位,即量化后谱系数的最低位,对整体音质的贡献较小,丢弃lsb可以降低码率,对音质损失较小。重组过程会进行部分信息的舍弃,音质有所下降,但足够满足实际的通话要求,同时比plc音质更加自然。
[0070]
本技术的语音数据处理方法通过对待编码的音频帧进行检测,根据音频帧的特性
选择对应的编码码率对该音频帧进行编码,并对应设置不同的重传次数。使得,当音频帧中含有的有效语音满足预设要求,即含有较多的有效语音时,使用较高的编码码率进行编码,对应设置较高的重传次数;当音频帧中含有的有效音不满足预设要求,即含有较少的有效语音时,使用较低的编码码率进行编码,对应设置较低的重传次数,使得对于一些不存在有效音的音频帧降低重传次数甚至不进行重传,避免浪费音频传输的带宽,降低功耗以及降低时延。
[0071]
图4示出了本技术语音数据处理方法的一个实例。
[0072]
如图4所示,在通话时,蓝牙设备既是发射器又是接收器,譬如蓝牙耳机作为发射器需要将人的语音采集、编码并发送到手机,同时作为接收器接收来自手机的语音信号、解码并通过喇叭播放出来。
[0073]
首先进行初始化,进行参数协商,通过蓝牙设备之间协商参数,确定编解码器类型、采样率、码率、传输包的大小以及重传次数;此处的蓝牙设备可以是手机和蓝牙耳机。根据预定规则,确定编码码率与重传次数的对应关系等。
[0074]
在发射处理部分,对音频帧进行编码时,由蓝牙发射模块负责,通过获取编码过程的多种参数,例如基音存在标志等判断当前音频帧中是否含有有效语音,确定使用何种编码码率对该音频帧进行编码。在收到重传请求时,同样根据首次编码时,编码码率的不同,进行对应的音频帧重组,具体过程见上述,此处不再赘述。
[0075]
在接收处理部分,在音频接收端,对接收的编码帧数据进行解码结果进行分析,根据解码结果数据是否存在错误以及对应的编码码率发出重传请求或者对出现的错误启动plc服务进行错误隐藏,或者数据接成功直接对下一音频帧进行处理,其中具体过程间上述描述,此处不进行赘述。
[0076]
图5示出了本技术语音数据处理系统的一个实施方式。
[0077]
在图5所示的实施方式中,本技术的语音数据处理系统包括:码率确定模块501,其对当前音频帧进行分析,确定当前音频帧对应的编码码率,编码码率包括全码率、中码率以及低码率,其中全码率大于中码率,中码率大于低码率;重传次数确定模块502,其根据编码码率设定重传次数,其中,编码码率与重传次数正相关;以及编码及传输模块503,其根据编码码率对当前音频帧进行编码,并对编码结果进行传输。
[0078]
在本技术的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,其中计算机指令被操作以执行任一实施例描述的语音数据处理方法。其中,该存储介质可直接在硬件中、在由处理器执行的软件模块中或在两者的组合中。
[0079]
软件模块可驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可装卸盘、cd

rom或此项技术中已知的任何其它形式的存储介质中。示范性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
[0080]
处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field programmable gate array,简称:fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算
装置的组合,例如dsp与微处理器的组合、多个微处理器、结合dsp核心的一个或一个以上微处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻留在用户终端中。
[0081]
在本技术的一个具体实施方式中,一种计算机设备,其包括处理器和存储器,存储器存储有计算机指令,其中:处理器操作计算机指令以执行任一实施例描述的语音数据处理方法。
[0082]
在本技术所提供的实施方式中,应该理解到,所揭露的装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0083]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0084]
以上仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜