一种调整缓冲区长度的方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37535541 阅读:15 留言:0更新日期:2023-05-12 16:03
本申请提供一种调整缓冲区长度的方法、装置、电子设备和存储介质,涉及音频处理技术领域,方法包括:接收发送端发送的各音频数据包;分别确定各音频数据包各自对应的抖动值;其中,抖动值表征接收端接收到各音频数据包的时间间隔的变化程度;获取各音频帧各自对应的语音检测结果和所述音频信号的语速检测结果;其中,语音检测结果表征相应的音频帧是否包含语音数据;语速检测结果表征对音频信号在单位时间内包含的语音内容进行检测获得的结果;基于语速检测结果、各语音检测结果和各抖动值,结合预设缓冲区长度调整策略,对缓冲区当前的缓冲区长度进行相应调整,本申请可以提高动态调整缓冲区长度的精度,从而提高播放音频信号的流畅度。流畅度。流畅度。

【技术实现步骤摘要】
一种调整缓冲区长度的方法、装置、电子设备和存储介质


[0001]本申请涉及音频处理
,尤其涉及一种调整缓冲区长度的方法、装置、电子设备和存储介质。

技术介绍

[0002]目前,随着网络技术的发展,在将音频信号的各音频数据包传输至接收端的过程中,可能会因为各种网络问题,如拥塞、网络错误等,导致接收端接收到的各音频数据包出现丢包、延迟到达的问题,从而降低了解码后获得的音频信号的播放质量。
[0003]为了解决上述问题,可以在接收端接收到各音频数据包之后,将各音频数据包存储至缓冲区中进行缓存,并按照相同的时间间隔发送至解码端中进行解码,使得解码后获得的音频信号能够流畅播放。
[0004]在实际应用中,当缓冲区长度设置过长时,会增加非必要的信号延迟;当缓冲区长度设置过短时,会发生缓冲区过载,导致数据包丢失,引发通话声音卡顿的问题。因此,如何能够实现对于缓冲区长度的动态调整,成为了一个亟待解决的问题。

技术实现思路

[0005]本申请实施例提供一种调整缓冲区长度的方法、装置、电子设备和存储介质,用于提高动态调整缓冲区长度的精度,从而提高播放音频信号的流畅度。
[0006]一方面,本申请实施例提供一种调整缓冲区长度的方法,包括:
[0007]接收发送端发送的各音频数据包,其中,每个音频数据包为对音频信号的至少一个音频帧进行编码获得的;
[0008]分别获得接收所述各音频数据包时检测到的抖动值;
[0009]获取各音频帧各自对应的语音检测结果和所述音频信号的语速检测结果;其中,所述语音检测结果表征相应的音频帧是否包含语音数据;所述语速检测结果为对音频信号在单位时间内包含的语音内容进行检测获得的结果;
[0010]基于所述语速检测结果、各语音检测结果和各抖动值,结合预设缓冲区长度调整策略,对缓冲区当前的缓冲区长度进行相应调整。
[0011]一方面,本申请实施例提供一种调整缓冲区长度的装置,包括:
[0012]接收模块,用于接收发送端发送的各音频数据包,其中,每个音频数据包为对音频信号的至少一个音频帧进行编码获得的;
[0013]抖动检测模块,用于分别获得接收所述各音频数据包时检测到的抖动值;
[0014]处理模块,用于获取各音频帧各自对应的语音检测结果和所述音频信号的语速检测结果;其中,所述语音检测结果表征相应的音频帧是否包含语音数据;所述语速检测结果为对音频信号在单位时间内包含的语音内容进行检测获得的结果;
[0015]调整模块,用于基于所述语速检测结果、各语音检测结果和各抖动值,结合预设缓冲区长度调整策略,对缓冲区当前的缓冲区长度进行相应调整。
[0016]在一种可能的实施例中,所述调整模块还用于:
[0017]基于所述各音频数据包各自对应的接收时间,从所述各音频数据包中,确定出满足接收时间条件的音频数据包;
[0018]若确定各语音检测结果均为未包含语音数据,则基于非语音控制策略和确定出的音频数据包的目标抖动值,对缓冲区当前的缓冲区长度进行相应调整;
[0019]若确定至少一个语音检测结果为包含语音数据,则基于所述语速检测结果和所述目标抖动值,结合语音控制策略,对所述缓冲区长度进行相应调整。
[0020]在一种可能的实施例中,所述基于非语音控制策略和确定出的音频数据包的目标抖动值,对缓冲区当前的缓冲区长度进行相应调整时,所述调整模块还用于:
[0021]若确定出的音频数据包的目标抖动值小于抖动值门限值,则将预设的第一长度作为缓冲区当前的缓冲区长度;
[0022]若确定所述目标抖动值不小于所述抖动值门限值,则从预设长度范围内,选取任意一个目标长度,作为所述缓冲区长度,其中,所述长度范围是基于所述第一长度和第二长度生成的,所述第一长度小于所述第二长度。
[0023]在一种可能的实施例中,所述基于所述语速检测结果和所述目标抖动值,结合语音控制策略,对所述缓冲区长度进行相应调整时,所述调整模块还用于:
[0024]若确定所述目标抖动值小于抖动值门限值,则从预设长度范围内,选取任意一个目标长度,作为所述缓冲区长度,其中,所述长度范围是基于所述第一长度和第二长度生成的,所述第一长度小于所述第二长度;
[0025]若确定所述目标抖动值不小于所述抖动值门限值,则基于所述语速检测结果和所述目标抖动值,确定所述缓冲区长度。
[0026]在一种可能的实施例中,所述基于所述语速检测结果和所述目标抖动值,确定所述缓冲区长度时,所述调整模块还用于:
[0027]基于所述语速检测结果,确定所述音频信号的语速调节参数;
[0028]基于所述语速调节参数、所述目标抖动值,以及预设的抖动值调节函数,确定第三长度;
[0029]从所述第三长度和所述第二长度中,选取出满足长度条件的目标长度,作为所述缓冲区长度。
[0030]在一种可能的实施例中,所述基于所述语速调节参数、所述目标抖动值,以及预设的抖动值调节函数,确定第三长度,所述处理模块还用于:
[0031]将所述目标抖动值作为预设的抖动值调节函数的变量,并基于所述目标抖动值和所述抖动值调节函数,获得第四长度;
[0032]基于所述语速调节参数和所述第四长度,获得第三长度,其中,所述语速调节参数与所述第四长度呈正相关。
[0033]在一种可能的实施例中,所述从所述第三长度和所述第二长度中,选取出满足长度条件的目标长度,所述处理模块还用于:
[0034]若确定所述第三长度大于所述第二长度,则将所述第二长度作为目标长度;
[0035]若确定所述第三长度不大于所述第二长度,则将所述第三长度作为目标长度。
[0036]在一种可能的实施例中,所述获取所述音频信号的语速检测结果时,所述处理模
块还用于:
[0037]从各音频帧中,确定出语音检测结果为包含语音数据的各目标音频帧;
[0038]获得所述各目标音频帧各自对应的基音周期状态;
[0039]基于各基音周期状态,确定所述音频信号的状态切换次数;
[0040]根据所述状态切换次数、所述各目标音频帧对应的音频帧数量,以及预设的语速门限值,确定所述音频信号的语速检测结果。
[0041]在一种可能的实施例中,所述获得所述各目标音频帧各自对应的基音周期状态时,所述处理模块还用于:
[0042]针对所述各目标音频帧,分别执行以下操作:
[0043]对一个目标音频帧进行基音周期检测,获得所述一个目标音频帧对应的基音周期值;
[0044]基于所述一个目标音频帧的基音周期值,所述一个目标音频帧的前一目标音频帧对应的基音周期值,确定基音周期值差值;
[0045]根据所述基音周期值差值和差值门限值,确定所述一个目标音频帧对应的基音周期状态。
[0046]在一种可能的实施例中,所述分别确定所述各音频数据包各自对应的抖动值时,所述抖动检测模块还用于:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调整缓冲区长度的方法,其特征在于,包括:接收发送端发送的各音频数据包,其中,每个音频数据包为对音频信号的至少一个音频帧进行编码获得的;分别获得接收所述各音频数据包时检测到的抖动值;获取各音频帧各自对应的语音检测结果和所述音频信号的语速检测结果;其中,所述语音检测结果表征相应的音频帧是否包含语音数据;所述语速检测结果为对音频信号在单位时间内包含的语音内容进行检测获得的结果;基于所述语速检测结果、各语音检测结果和各抖动值,结合预设缓冲区长度调整策略,对缓冲区当前的缓冲区长度进行相应调整。2.如权利要求1所述的方法,其特征在于,所述基于所述语速检测结果、各语音检测结果和各抖动值,结合预设缓冲区长度调整策略,对缓冲区当前的缓冲区长度进行相应调整,包括:基于所述各音频数据包各自对应的接收时间,从所述各音频数据包中,确定出满足接收时间条件的音频数据包;若确定各语音检测结果均为未包含语音数据,则基于非语音控制策略和确定出的音频数据包的目标抖动值,对缓冲区当前的缓冲区长度进行相应调整;若确定至少一个语音检测结果为包含语音数据,则基于所述语速检测结果和所述目标抖动值,结合语音控制策略,对所述缓冲区长度进行相应调整。3.如权利要求2所述的方法,其特征在于,所述基于非语音控制策略和确定出的音频数据包的目标抖动值,对缓冲区当前的缓冲区长度进行相应调整,包括:若确定出的音频数据包的目标抖动值小于抖动值门限值,则将预设的第一长度作为缓冲区当前的缓冲区长度;若确定所述目标抖动值不小于所述抖动值门限值,则从预设长度范围内,选取任意一个目标长度,作为所述缓冲区长度,其中,所述长度范围是基于所述第一长度和第二长度生成的,所述第一长度小于所述第二长度。4.如权利要求2所述的方法,其特征在于,所述基于所述语速检测结果和所述目标抖动值,结合语音控制策略,对所述缓冲区长度进行相应调整,包括:若确定所述目标抖动值小于抖动值门限值,则从预设长度范围内,选取任意一个目标长度,作为所述缓冲区长度,其中,所述长度范围是基于所述第一长度和第二长度生成的,所述第一长度小于所述第二长度;若确定所述目标抖动值不小于所述抖动值门限值,则基于所述语速检测结果和所述目标抖动值,确定所述缓冲区长度。5.如权利要求4所述的方法,其特征在于,所述基于所述语速检测结果和所述目标抖动值,确定所述缓冲区长度,包括:基于所述语速检测结果,确定所述音频信号的语速调节参数;基于所述语速调节参数、所述目标抖动值,以及预设的抖动值调节函数,确定第三长度;从所述第三长度和所述第二长度中,选取出满足长度条件的目标长度,作为所述缓冲区长度。
6.如权利要求5所述的方法,其特征在于,所述基于所述语速调节参数、所述目标抖动值,以及预设的抖动值调节函数,确定第三长度,具体包括:将所述目标抖动值作为预设的抖动值调节函数的变量,并基于所述目标抖动值和所述抖动值调节函数,获得第四长度;基于所述语速调节参数和所述第四长度,获得第三长度,其中,所述语速调节参数与所述第四长度呈正相关。7.如权利要求6所述的方法,其特征在于,所述从所述第三长度和所述第二长度中,选取出满足长度条件的目标长度,具体包括:若确定所述第三长度大于所述第二长度,则将所述第二长度作为目标长度;若确定所述第三长度不大于所述第二长度,则将所述第三长度作为目标长度。8.如权利要求...

【专利技术属性】
技术研发人员:梁俊斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1