CN105119755B - 一种抖动缓冲区调整方法及装置 - Google Patents

一种抖动缓冲区调整方法及装置 Download PDF

Info

Publication number
CN105119755B
CN105119755B CN201510574871.9A CN201510574871A CN105119755B CN 105119755 B CN105119755 B CN 105119755B CN 201510574871 A CN201510574871 A CN 201510574871A CN 105119755 B CN105119755 B CN 105119755B
Authority
CN
China
Prior art keywords
voice packet
network delay
packet
jitter
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510574871.9A
Other languages
English (en)
Other versions
CN105119755A (zh
Inventor
胡建强
李博
刘丽
成家雄
同鑫
周芳
高盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Network Technology Co Ltd filed Critical Guangzhou Baiguoyuan Network Technology Co Ltd
Priority to CN201510574871.9A priority Critical patent/CN105119755B/zh
Publication of CN105119755A publication Critical patent/CN105119755A/zh
Application granted granted Critical
Publication of CN105119755B publication Critical patent/CN105119755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5087Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to voice services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/82Criteria or parameters used for performing billing operations
    • H04M15/8207Time based data metric aspects, e.g. VoIP or circuit switched packet data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/56Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for VoIP communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及电子技术领域,公开了一种抖动缓冲区调整方法及装置。其中,该方法包括:获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;根据所述目标统计特征值,计算预接收语音包的预测网络延时;根据所述预测网络延时调整所述抖动缓冲区的长度。实施本发明实施例,能保证通话的流畅度,又能降低通话延时,实时性强。

Description

一种抖动缓冲区调整方法及装置
技术领域
本发明涉及电子技术领域,具体涉及一种抖动缓冲区调整方法及装置。
背景技术
随着互联网日渐普及,通过互联网实现的新型网络电话(Voice Over InternetProtocol,VOIP),因为成本低、易扩充等特点越来越受到人们的关注。然而,相比传统电话的稳定性,网络电话由于互联网本身的网络抖动,造成语音包晚于期望的播放时间到达,使得通话卡顿,继而降低通话质量。
为了对抗互联网络的这种不稳定性,接收端通常创建一个抖动缓冲区,语音包在抖动缓冲区中积攒一段时间后开始播放,通过调整抖动缓冲区的大小,使得语音包总能在到达后播放,保证语音的流畅度,然而通常为了保证语音的流畅度,因此将抖动缓冲区设置的过大,这样虽然保证了通话流畅度,但是却使得通话延时明显增加,实时性不强。
发明内容
本发明实施例公开了一种抖动缓冲区调整方法及装置,能够通过计算当前网络中预接收语音包的预测网络延时灵活调整抖动缓冲区的大小,既能保证通话的流畅度,又能降低通话延时,实时性强。
本发明实施例第一方面公开一种抖动缓冲区调整方法,包括:
获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
根据所述目标统计特征值,计算预接收语音包的预测网络延时;
根据所述预测网络延时调整所述抖动缓冲区的长度。
本发明实施例第二方面公开一种抖动缓冲区调整装置,包括:
获取单元,用于获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
计算单元,用于根据所述目标统计特征值,计算预接收语音包的预测网络延时;
第一调整单元,用于根据所述预测网络延时调整所述抖动缓冲区的长度。
本发明实施例中,获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,根据目标统计特征值,计算预接收语音包的预测网络延时,根据预测网络延时调整抖动缓冲区的长度。这种抖动缓冲区的调整方式能够通过计算预接收语音包的预测网络延时灵活调整抖动缓冲区的大小,既能保证通话的流畅度,又能降低通话延时,实时性强。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种抖动缓冲区调整方法的流程图;
图2是本发明实施例公开的另一种抖动缓冲区调整方法的流程图;
图3是本发明实施例公开的一种抖动缓冲区示意图;
图4是本发明实施例公开的一种抖动缓冲区调整装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对本发明实施例中的一些专用名词进行解释:
网络延时:即是语音包从发送端到接收端的传输时间。
播放延时:即是语音包最终播放的时间与该语音包从发送端进行发送的时间之差。
本发明实施例公开了一种抖动缓冲区调整方法及装置可以应用于互联网的VOIP电话中,在VOIP电话中,语音数据在网络传输中是以语音包的形式进行传输的,由于存在网络抖动,导致各个语音包的网络延时不同,若某一个语音包的网络延时过长,则在播放时会导致通话卡顿。因此通常为语音包设置抖动缓冲区以解决通话卡顿,不流畅的问题,如图3所示,即语音包到达接收端后,先在抖动缓冲区中暂存,调整各个语音包的间隔以及顺序,然后再播放抖动缓冲区中的语音包,这样以确保各个语音包在在播放前到达,从而解决通话卡顿的问题,为了能够确保通话流畅,传统方法中通常将抖动缓冲区调整得很大,但是将抖动缓冲区调整得过大,会导致通话延时增大,实时性差。在本发明实施例中,可以根据历史接收语音包的网络延时对应的统计特征值实时预测当前网络中预接收语音包的网络延时,并根据当前网络中语音包的预测网络延时动态调整抖动缓冲区的大小,从而降低通话延时,实时性强,并且确保通话流畅。
请参阅图1,图1是本发明实施例公开的一种抖动缓冲区调整方法的流程图。如图1所示,该方法可以包括以下步骤。
S100、获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
本发明实施例中,历史接收语音包可以包括当前时间单元以及当前时间单元之前所接收的语音包,目标统计特征值可以包括目标均值和目标标准差。
具体的,在计算历史接收语音包的目标统计特征值时,可以采用以下计算方式,需要说明的是,以下计算方式采用迭代计算方式,即是将与当前语音包相邻的第一语音包对应的网络延时的统计特征值与当前语音包的网络延时的加权平均值作为当前语音包对应的网络延时的目标统计特征值:
m(i)=(1-a)*m(i-1)+a*d(i)
v(i)=(1-a)*v(i-1)+a*abs(d(i)-m(i))
其中,d(i)是第i个语音包的网络延时,第i个语音包即当前语音包,如图3所示,标号为4的语音包即是当前语音包,m(i)、m(i-1)分别是第i、(i-1)个语音包的网络延时的均值,第(i-1)个语音包即第一语音包,如图3所示,标号为3的语音包即是第一语音包,v(i)、v(i-1)分别是是第i、(i-1)个语音包的网络延时的标准差,a为更新速率,0<a<1,abs()表示取绝对值。接收端每接收到一个语音包,即采用上述公式进行更新,m(0)=d(0),v(0)=0。
上述可知,m和v将反映近期语音包样本的平均水平和波动大小,同时和越近的样本相关性越大。为了更快地响应网络的变化,在网络延时增加(即是d(i)>m(i))时取较大的a值,这样m和v更新得越快,和最近的样本相关性越大。
可选的,实际网络经常会出现网络抖动突然变得很大,即是网络突然卡了一下,然后连续n个语音包几乎同时到达的情况,从网络延时上看,某个语音包网络延时突然变得非常大,然后该语音包后面若干个包的网络延时几乎线性减小。通过语音包的网络延时的值可以判断发生这种情况的时刻。具体的,判断发生的条件为:
abs(d(i)–d(i-1))>2*v(i-1)+800
即是当前接收语音包的网络延时与第一语音包的网络延时差值大于预设阈值,上述预设阈值设置为2*v(i-1)+800;这只是一种举例,还可以是其它预设阈值,在此不作限定。
当出现某一个语音包的网络延时明显增加,当前语音包对应的网络延时的目标均值m更新方式调整为:
m(i)=m(i-1)+d(i)–d(i-1)
其中,标准差v的更新方式不变,只是更新速率a可以取一个较大的值。这样可以适应网络延时的突然增大。
若网络延时恢复,则仍然按照原来的目标均值和目标标准差的更新方式;
其中,判断恢复的条件为:x(i)=x(i-1)/2+(2*d(i)–d(i-1)–d(i-2))/8,x(i)<64;
其中,x(i)、x(i-1)分别表示每次第i个语音包、(i–1)个语音包网络延时的变化大小,x(i)初始值为0。
S101、根据所述目标统计特征值,计算预接收语音包的预测网络延时;
本发明实施例中,预接收语音包可以是发送端向接收端发送的,但接收端还未接收的语音包,预接收语音包的预测网络延时能够表明当前网络状况,将抖动缓冲区大小调整为与当前网络状况相适应的大小,既可以保证通话流程,又可以减小通话延时。
本发明实施例中,为了预测该预接收语音包的预测网络延时,需要根据与预接收语音包的网络延时关联度最大的历史接收语音包对应的网络延时的统计特征值进行预测,通常关联度最大的历史接收语音包为接收端所接收的语音包中接收时间离当前时间最近的语音包,例如可以是接收端刚接收的语音包,即是当前语音包。当前语音包对应的网络延时的目标统计特征值用于表示历史接收语音包的加权统计特征,例如,目标统计特征值可以为目标均值,用于表示历史接收语音包的网络延时的平均水平,统计特征值也可以为标准差,用于表示历史接收语音包的网络延时的波动大小。
本发明实施例中,当计算出目标统计特征值后,即根据所计算得到的目标统计特征值计算下一个预接收语音包的预测网络延时,并将该预测网络延时确定为抖动缓冲区中待播放语音包的播放延时。
具体的,目标统计特征值可以包括目标均值和目标标准差,根据目标统计特征值计算预接收语音包的预测网络延时的计算方式可以是采用如下公式:
d_(i+1)=m(i)+b*v(i)
其中,d_(i+1)为预接收语音包的预测网络延时,m(i)为当前语音包对应的网络延时的目标均值,v(i)为当前语音包对应的网络延时的目标标准差,b为权值因子,其中0<b<5,为了更加准确,通常b取4。
有时候因为v(i)过大,导致d_(i+1)很大,可以通过限制d_(i+1)和d(i)的差值或者取较小的b值来限制d_(i+1)的大小。
在对抖动缓冲区的长度进行调整的过程中,将所计算得到的预接收语音包的预测网络延时确定为抖动缓冲区中待播放语音包的播放延时,从而对抖动缓冲区进行调整。
S102,根据所述预测网络延时调整所述抖动缓冲区的长度。
本发明实施例中,预接收语音包的预测网络延时确定为抖动缓冲区中待播放语音包的播放延时,基于待播放语音包的发送时间和播放延时,可以对抖动缓冲区的长度进行调整,如图3所示,标号为1的语音包即是待播放语音包。本发明实施例中,抖动缓冲区的长度调整不是通过直接计算长度来调整的,而是通过计算预播放语音包的预计播放时间来调整的。
具体的,将预接收语音包的预测网络延时d_(i+1)作为待播放语音包的播放延时,即从发送待播放语音包到最终播放的时间之差,显然,播放延时等于待播放语音包的网络延时加上待播放语音包在抖动缓冲区中停留的时间。通过待播放语音包的播放延时和待播放语音包的发送时间可以得到待播放语音包的预计播放时间,如果预计播放时间大于当前时间,则需要增加抖动缓冲区长度,否则需要减小抖动缓冲区长度。
本发明实施例中,获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,根据目标统计特征值,计算预接收语音包的预测网络延时,根据预测网络延时调整抖动缓冲区的长度。这种抖动缓冲区的调整方式能够通过计算预接收语音包的预测网络延时灵活调整抖动缓冲区的大小,既能保证通话的流畅度,又能降低通话延时,实时性强。
请参阅图2,图2是本发明实施例公开的另一种抖动缓冲区调整方法的流程图。如图2所示,该方法可以包括以下步骤。
S200、获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
S201,根据所述目标统计特征值,计算预接收语音包的预测网络延时;
本发明实施例步骤S200-S201请参照图1的实施例步骤S100-S101,在此不再赘述。
S202、将所述预测网络延时确定为抖动缓冲区中待播放语音包的播放延时;
本发明实施例中,预接收语音包的预测网络延时确定为抖动缓冲区中待播放语音包的播放延时,基于待播放语音包的发送时间和播放延时,可以对抖动缓冲区的长度进行调整,如图3所示,标号为1的语音包即是待播放语音包。本发明实施例中,抖动缓冲区的长度调整不是通过直接计算长度来调整的,而是通过计算预播放语音包的预计播放时间来调整的。
S203,根据所述待播放语音包的发送时间和所述播放延时,调整所述抖动缓冲区的长度。
可选的,若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间小于当前时间,则减小所述抖动缓冲区长度;
本发明实施例中,当根据待播放语音包的发送时间和播放延时所确定的待播放语音包的预计播放时间小于当前时间,则说明该待播放语音包早就应该播放,可延至当前时间还未播放,说明抖动缓冲区过长,不能适应当前网络延时状况,因此需要减小抖动缓冲区长度。
可选的,所述减小所述抖动缓冲区长度包括:删除所述抖动缓冲区内的静音包;或者,增加所述缓冲区内语音包的播放速度;
本发明实施例中,当出现抖动缓冲区长度过大,需要减小抖动缓冲区长度时,可以删除抖动缓冲区内语音信息不丰富的语音包(例如:静音包),以减少调整带来的语音质量改变。当通过删除静音包不足以及时缩短抖动缓冲区长度时,可以通过增加播放速度(即变语速)来将抖动缓冲区的语音包快速播完,这样既避免了通话延时长的问题,又有效保留了语音信息。
可选的,若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间大于当前时间,则增加所述抖动缓冲区长度。
本发明实施例中,当根据待播放语音包的发送时间和播放延时所确定的待播放语音包的预计播放时间大于当前时间,则说明该待播放语音包当前时间不能播放,需要等待一段时间后才能播放,即是抖动缓冲区过小,不能适应当前网络延时状况,可能出现语音包的到达时间晚于播放时间,因此需要增加抖动缓冲区长度。
可选的,所述增加所述抖动缓冲区长度包括:在所述抖动缓冲区增加静音包;或者,减小所述缓冲区内语音包的播放速度。
本发明实施例中,当出现抖动缓冲区长度过小,需要增加抖动缓冲区长度时,可以在抖动缓冲区中增加静音包。当通过增加静音包不足以及时增加抖动缓冲区长度时,可以通过减小抖动缓冲区中语音包播放速度(即变语速)来将抖动缓冲区的语音包进行播放,这样可以有效增加抖动缓冲区的长度。
本发明实施例中,获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,根据目标统计特征值,计算预接收语音包的预测网络延时,根据预测网络延时调整抖动缓冲区的长度。这种抖动缓冲区的调整方式能够通过计算预接收语音包的预测网络延时灵活调整抖动缓冲区的大小,既能保证通话的流畅度,又能降低通话延时,实时性强。
请参阅图4,图4是本发明实施例公开的一种抖动缓冲区调整装置的结构图。如图4所示,该抖动缓冲区调整装置包括:
获取单元100,用于获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
本发明实施例中,历史接收语音包可以包括当前时间单元以及当前时间单元之前所接收的语音包,目标统计特征值可以包括目标均值和目标标准差。
具体的,在计算历史接收语音包的目标统计特征值时,可以采用以下计算方式,需要说明的是,以下计算方式采用迭代计算方式,即是将与当前语音包相邻的第一语音包对应的网络延时的统计特征值与当前语音包的网络延时的加权平均值作为当前语音包对应的网络延时的目标统计特征值:
m(i)=(1-a)*m(i-1)+a*d(i)
v(i)=(1-a)*v(i-1)+a*abs(d(i)-m(i))
其中,d(i)是第i个语音包的网络延时,第i个语音包即当前语音包,如图3所示,标号为4的语音包即是当前语音包,m(i)、m(i-1)分别是第i、(i-1)个语音包的网络延时的均值,第(i-1)个语音包即第一语音包,如图3所示,标号为3的语音包即是第一语音包,v(i)、v(i-1)分别是是第i、(i-1)个语音包的网络延时的标准差,a为更新速率,0<a<1,abs()表示取绝对值。接收端每接收到一个语音包,即采用上述公式进行更新,m(0)=d(0),v(0)=0。
上述可知,m和v将反映近期语音包样本的平均水平和波动大小,同时和越近的样本相关性越大。为了更快地响应网络的变化,在网络延时增加(即是d(i)>m(i))时取较大的a值,这样m和v更新得越快,和最近的样本相关性越大。
可选的,实际网络经常会出现网络抖动突然变得很大,即是网络突然卡了一下,然后连续n个语音包几乎同时到达的情况,从网络延时上看,某个语音包网络延时突然变得非常大,然后该语音包后面若干个包的网络延时几乎线性减小。通过语音包的网络延时的值可以判断发生这种情况的时刻。具体的,判断发生的条件为:
abs(d(i)–d(i-1))>2*v(i-1)+800
即是当前接收语音包的网络延时与第一语音包的网络延时差值大于预设阈值,上述预设阈值设置为2*v(i-1)+800;这只是一种举例,还可以是其它预设阈值,在此不作限定。
当出现某一个语音包的网络延时明显增加,当前语音包对应的网络延时的目标均值m更新方式调整为:
m(i)=m(i-1)+d(i)–d(i-1)
其中,标准差v的更新方式不变,只是更新速率a可以取一个较大的值。这样可以适应网络延时的突然增大。
若网络延时恢复,则仍然按照原来的目标均值和目标标准差的更新方式;
其中,判断恢复的条件为:x(i)=x(i-1)/2+(2*d(i)–d(i-1)–d(i-2))/8,x(i)<64;
其中,x(i)、x(i-1)分别表示每次第i个语音包、(i–1)个语音包网络延时的变化大小,x(i)初始值为0。
计算单元101,用于根据所述目标统计特征值,计算预接收语音包的预测网络延时;
本发明实施例中,预接收语音包可以是发送端向接收端发送的,但接收端还未接收的语音包,预接收语音包的预测网络延时能够表明当前网络状况,将抖动缓冲区大小调整为与当前网络状况相适应的大小,既可以保证通话流程,又可以减小通话延时。
本发明实施例中,为了预测该预接收语音包的预测网络延时,计算单元101需要根据与预接收语音包的网络延时关联度最大的历史接收语音包对应的网络延时的统计特征值进行预测,通常关联度最大的历史接收语音包为接收端所接收的语音包中接收时间离当前时间最近的语音包,例如可以是接收端刚接收的语音包,即是当前语音包。当前语音包对应的网络延时的目标统计特征值用于表示历史接收语音包的加权统计特征,例如,目标统计特征值可以为目标均值,用于表示历史接收语音包的网络延时的平均水平,统计特征值也可以为标准差,用于表示历史接收语音包的网络延时的波动大小。
本发明实施例中,当计算出目标统计特征值后,即根据所计算得到的目标统计特征值计算下一个预接收语音包的预测网络延时,并将该预测网络延时确定为抖动缓冲区中待播放语音包的播放延时。
具体的,目标统计特征值可以包括目标均值和目标标准差,根据目标统计特征值计算预接收语音包的预测网络延时的计算方式可以是采用如下公式:
d_(i+1)=m(i)+b*v(i)
其中,d_(i+1)为预接收语音包的预测网络延时,m(i)为当前语音包对应的网络延时的目标均值,v(i)为当前语音包对应的网络延时的目标标准差,b为权值因子,其中0<b<5,为了更加准确,通常b取4。
有时候因为v(i)过大,导致d_(i+1)很大,可以通过限制d_(i+1)和d(i)的差值或者取较小的b值来限制d_(i+1)的大小。
在对抖动缓冲区的长度进行调整的过程中,将所计算得到的预接收语音包的预测网络延时确定为抖动缓冲区中待播放语音包的播放延时,从而对抖动缓冲区进行调整。
第一调整单元102,用于根据所述预测网络延时调整所述抖动缓冲区的长度。
本发明实施例中,预接收语音包的预测网络延时确定为抖动缓冲区中待播放语音包的播放延时,第一调整单元102基于待播放语音包的发送时间和播放延时,可以对抖动缓冲区的长度进行调整,如图3所示,标号为1的语音包即是待播放语音包。本发明实施例中,抖动缓冲区的长度调整不是通过直接计算长度来调整的,而是通过计算预播放语音包的预计播放时间来调整的。
具体的,将预接收语音包的预测网络延时d_(i+1)作为待播放语音包的播放延时,即从发送待播放语音包到最终播放的时间之差,显然,播放延时等于待播放语音包的网络延时加上待播放语音包在抖动缓冲区中停留的时间。通过待播放语音包的播放延时和待播放语音包的发送时间可以得到待播放语音包的预计播放时间,如果预计播放时间大于当前时间,则需要增加抖动缓冲区长度,否则需要减小抖动缓冲区长度。
进一步可选的,第一调整单元102可以包括确定单元和第二调整单元;
确定单元,用于将所述预测网络延时确定为抖动缓冲区中待播放语音包的播放延时;
本发明实施例中,预接收语音包的预测网络延时确定为抖动缓冲区中待播放语音包的播放延时,基于待播放语音包的发送时间和播放延时,可以对抖动缓冲区的长度进行调整,如图3所示,标号为1的语音包即是待播放语音包。本发明实施例中,抖动缓冲区的长度调整不是通过直接计算长度来调整的,而是通过计算预播放语音包的预计播放时间来调整的。
第二调整单元,用于根据所述待播放语音包的发送时间和所述播放延时,调整所述抖动缓冲区的长度。
可选的,若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间小于当前时间,则减小所述抖动缓冲区长度;
本发明实施例中,当根据待播放语音包的发送时间和播放延时所确定的待播放语音包的预计播放时间小于当前时间,则说明该待播放语音包早就应该播放,可延至当前时间还未播放,说明抖动缓冲区过长,不能适应当前网络延时状况,因此需要减小抖动缓冲区长度。
可选的,所述减小所述抖动缓冲区长度包括:删除所述抖动缓冲区内的静音包;或者,增加所述缓冲区内语音包的播放速度;
本发明实施例中,当出现抖动缓冲区长度过大,需要减小抖动缓冲区长度时,可以删除抖动缓冲区内语音信息不丰富的语音包(例如:静音包),以减少调整带来的语音质量改变。当通过删除静音包不足以及时缩短抖动缓冲区长度时,可以通过增加播放速度(即变语速)来将抖动缓冲区的语音包快速播完,这样既避免了通话延时长的问题,又有效保留了语音信息。
可选的,若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间大于当前时间,则增加所述抖动缓冲区长度。
本发明实施例中,当根据待播放语音包的发送时间和播放延时所确定的待播放语音包的预计播放时间大于当前时间,则说明该待播放语音包当前时间不能播放,需要等待一段时间后才能播放,即是抖动缓冲区过小,不能适应当前网络延时状况,可能出现语音包的到达时间晚于播放时间,因此需要增加抖动缓冲区长度。
可选的,所述增加所述抖动缓冲区长度包括:在所述抖动缓冲区增加静音包;或者,减小所述缓冲区内语音包的播放速度。
本发明实施例中,当出现抖动缓冲区长度过小,需要增加抖动缓冲区长度时,可以在抖动缓冲区中增加静音包。当通过增加静音包不足以及时增加抖动缓冲区长度时,可以通过减小抖动缓冲区中语音包播放速度(即变语速)来将抖动缓冲区的语音包进行播放,这样可以有效增加抖动缓冲区的长度。
本发明实施例中,获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,根据目标统计特征值,计算预接收语音包的预测网络延时,根据预测网络延时调整抖动缓冲区的长度。这种抖动缓冲区的调整方式能够通过计算预接收语音包的预测网络延时灵活调整抖动缓冲区的大小,既能保证通话的流畅度,又能降低通话延时,实时性强。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例公开的一种抖动缓冲区调整方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种抖动缓冲区调整方法,其特征在于,包括:
获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
根据所述目标统计特征值,计算预接收语音包的预测网络延时;
根据所述预测网络延时调整所述抖动缓冲区的长度;
其中,所述目标统计特征值包括目标均值和目标标准差;
若所述当前时间单元接收的当前语音包的网络延时与第一语音包的网络延时差值小于预设阈值,所述目标均值为所述第一语音包对应的网络延时的均值与所述当前语音包的网络延时的加权平均值;
若所述当前时间单元接收的当前语音包的网络延时与所述第一语音包的网络延时差值大于预设阈值,所述目标均值根据所述第一语音包对应的网络延时的均值、所述第一语音包的网络延时以及所述当前语音包的网络延时所确定;若由所述当前语音包的网络延时与所述第一语音包的网络延时差值大于预设阈值的情况切换为满足网络延时恢复条件,所述目标均值为所述第一语音包对应的网络延时的均值与所述当前语音包的网络延时的加权平均值,所述网络延时恢复条件包括:x(i)=x(i-1)/2+(2*d(i)–d(i-1)–d(i-2))/8,x(i)<64;所述x(i)为所述当前语音包的网络延时的变化大小,所述x(i-1)为所述第一语音包的网络延时的变化大小,所述d(i)为所述当前语音包的网络延时,所述d(i-1)为所述第一语音包的网络延时,所述d(i-2)为第二语音包的网络延时;
其中,所述第一语音包为与所述当前时间单元相邻的历史时间单元所接收的语音包,所述第二语音包为在所述第一语音包之前的且相邻的语音包。
2.如权利要求1所述的方法,其特征在于,所述根据所述预测网络延时调整所述抖动缓冲区的长度,包括:
将所述预测网络延时确定为抖动缓冲区中待播放语音包的播放延时;
根据所述待播放语音包的发送时间和所述播放延时,调整所述抖动缓冲区的长度。
3.如权利要求2所述的方法,其特征在于,所述根据所述待播放语音包的发送时间和所述播放延时,调整所述抖动缓冲区的长度,包括:
若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间小于当前时间,则减小所述抖动缓冲区长度;
若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间大于当前时间,则增加所述抖动缓冲区长度。
4.如权利要求3所述的方法,其特征在于,所述减小所述抖动缓冲区长度包括:删除所述抖动缓冲区内的静音包;或者,增加所述缓冲区内语音包的播放速度;
所述增加所述抖动缓冲区长度包括:在所述抖动缓冲区增加静音包;或者,减小所述缓冲区内语音包的播放速度。
5.一种抖动缓冲区调整装置,其特征在于,包括:
获取单元,用于获取用于表示历史接收语音包网络延时的加权统计特征的目标统计特征值,所述历史接收语音包包括当前时间单元以及所述当前时间单元之前所接收的语音包;
计算单元,用于根据所述目标统计特征值,计算预接收语音包的预测网络延时;
第一调整单元,用于根据所述预测网络延时调整所述抖动缓冲区的长度;
其中,目标统计特征值包括目标均值和目标标准差;
若所述当前时间单元接收的当前语音包的网络延时与第一语音包的网络延时差值小于预设阈值,所述目标均值为所述第一语音包对应的网络延时的均值与所述当前语音包的网络延时的加权平均值;
若所述当前时间单元接收的当前语音包的网络延时与所述第一语音包的网络延时差值大于预设阈值,所述目标均值根据所述第一语音包对应的网络延时的均值、所述第一语音包的网络延时以及所述当前语音包的网络延时所确定;若由所述当前语音包的网络延时与所述第一语音包的网络延时差值大于预设阈值的情况切换为满足网络延时恢复条件,所述目标均值为所述第一语音包对应的网络延时的均值与所述当前语音包的网络延时的加权平均值,所述网络延时恢复条件包括:x(i)=x(i-1)/2+(2*d(i)–d(i-1)–d(i-2))/8,x(i)<64;所述x(i)为所述当前语音包的网络延时的变化大小,所述x(i-1)为所述第一语音包的网络延时的变化大小,所述d(i)为所述当前语音包的网络延时,所述d(i-1)为所述第一语音包的网络延时,所述d(i-2)为第二语音包的网络延时;
其中,所述第一语音包为与所述当前时间单元相邻的历史时间单元所接收的语音包,所述第二语音包为在所述第一语音包之前的且相邻的语音包。
6.如权利要求5所述的装置,其特征在于,所述第一调整单元包括:
确定单元,用于将所述预测网络延时确定为抖动缓冲区中待播放语音包的播放延时;
第二调整单元,用于根据所述待播放语音包的发送时间和所述播放延时,调整所述抖动缓冲区的长度。
7.如权利要求6所述的装置,其特征在于,所述第二调整单元具体用于:
若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间小于当前时间,则减小所述抖动缓冲区长度;
若根据所述发送时间和所述播放延时所确定的所述待播放语音包的预计播放时间大于当前时间,则增加所述抖动缓冲区长度。
8.如权利要求7所述的装置,其特征在于,所述减小所述抖动缓冲区长度包括:删除所述抖动缓冲区内的静音包;或者,增加所述缓冲区内语音包的播放速度;
所述增加所述抖动缓冲区长度包括:在所述抖动缓冲区增加静音包;或者,减小所述缓冲区内语音包的播放速度。
CN201510574871.9A 2015-09-10 2015-09-10 一种抖动缓冲区调整方法及装置 Active CN105119755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510574871.9A CN105119755B (zh) 2015-09-10 2015-09-10 一种抖动缓冲区调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510574871.9A CN105119755B (zh) 2015-09-10 2015-09-10 一种抖动缓冲区调整方法及装置

Publications (2)

Publication Number Publication Date
CN105119755A CN105119755A (zh) 2015-12-02
CN105119755B true CN105119755B (zh) 2018-06-19

Family

ID=54667653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510574871.9A Active CN105119755B (zh) 2015-09-10 2015-09-10 一种抖动缓冲区调整方法及装置

Country Status (1)

Country Link
CN (1) CN105119755B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107529097A (zh) * 2016-06-20 2017-12-29 北京信威通信技术股份有限公司 一种自适应调整视频缓冲大小的方法及装置
CN107070805A (zh) * 2017-03-22 2017-08-18 上海华为技术有限公司 一种流量控制的方法及节点
CN107450534B (zh) * 2017-07-28 2020-11-27 珞石(山东)智能科技有限公司 用于处理机器人网络通信抖动的鲁棒规划系统
CN110300429A (zh) * 2018-03-23 2019-10-01 中国移动通信集团广东有限公司 调整缓存长度的方法、装置、电子设备和存储介质
US20210343304A1 (en) * 2018-08-31 2021-11-04 Huawei Technologies Co., Ltd. Method for Improving Voice Call Quality, Terminal, and System
CN109379168B (zh) * 2018-11-23 2021-04-13 竞技世界(北京)网络技术有限公司 一种用于前端实时语音聊天的语音平滑播放方法
CN113162812A (zh) * 2020-01-07 2021-07-23 阿里巴巴集团控股有限公司 语音处理方法、直播的语音播放方法、装置、设备及系统
CN111711992B (zh) * 2020-06-23 2023-05-02 瓴盛科技有限公司 Cs语音下行链路抖动的校准方法
CN116249101A (zh) * 2021-12-07 2023-06-09 华为技术有限公司 数据传输方法和数据传输装置
CN114222194A (zh) * 2021-12-17 2022-03-22 浙江大华技术股份有限公司 一种视频码流调整方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677953A (zh) * 2004-04-02 2005-10-05 华为技术有限公司 适配网络尖峰的动态抖动缓存的实现方法
CN101582832A (zh) * 2008-05-17 2009-11-18 红杉树(杭州)信息技术有限公司 VoIP抖动缓冲区的动态处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848525B2 (en) * 2009-06-10 2014-09-30 Genband Us Llc Methods, systems, and computer readable media for providing adaptive jitter buffer management based on packet statistics for media gateway

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677953A (zh) * 2004-04-02 2005-10-05 华为技术有限公司 适配网络尖峰的动态抖动缓存的实现方法
CN101582832A (zh) * 2008-05-17 2009-11-18 红杉树(杭州)信息技术有限公司 VoIP抖动缓冲区的动态处理方法

Also Published As

Publication number Publication date
CN105119755A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN105119755B (zh) 一种抖动缓冲区调整方法及装置
US7711841B2 (en) Systems and methods for reducing the effects of variations on the playback of streaming media
CN103888381A (zh) 用于控制抖动缓冲器的装置和方法
WO2017000719A1 (zh) 一种基于队列时延的拥塞控制方法及装置
KR102543881B1 (ko) 송신 디바이스, 송신 방법 및 프로그램
CN105142002B (zh) 音/视频直播方法、装置及控制方法、装置
US10103999B2 (en) Jitter buffer level estimation
US20230300090A1 (en) Adaptive resizing of audio jitter buffer based on current network conditions
CN103685070A (zh) 一种调整抖动缓存大小的方法及装置
CN109495660A (zh) 一种音频数据的编码方法、装置、设备和存储介质
WO2017059678A1 (zh) 实时语音通话中的实时语音接收设备及降低延迟的方法
JP4076981B2 (ja) 通信端末装置およびバッファ制御方法
EP1826959A1 (en) Apparatus for absorbing fluctuations in the packet transmission rate of a communications network
US20160308632A1 (en) Data processing
KR101217208B1 (ko) 휴대단말의 프로토콜 계층간 데이터 전송 제어방법
CN100417129C (zh) 语音传输过程中动态调整抖动缓存的实现方法
CN111787268B (zh) 音频信号的处理方法、装置、电子设备及存储介质
WO2020230609A1 (ja) 通信制御システム、通信制御方法、通信制御装置および通信制御プログラム
US20130113874A1 (en) Bit rate control apparatus and method thereof
CN113179220A (zh) 一种数据传输方法、装置和计算机可读存储介质
JP4174017B2 (ja) ジッタバッファ制御方法及びip電話機
WO2017095276A1 (en) Method and receiving device for adapting a play-out rate of a jitter buffer
Yu et al. Quality-based jitter buffer algorithm using adaptive variable-size window
KR101418354B1 (ko) 음성 통신 시스템에서 플레이아웃 스케줄링 방법 및 장치
KR100354479B1 (ko) 실시간 네트워크 음성 대화를 위한 오디오 데이터 버퍼링방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 510000 South Village Town, Panyu District, Guangzhou City, Guangdong Province, 79 Wanbo Second Road Wanbo Business District Wanda Business Square North District B-1 25 floors

Patentee after: GUANGZHOU BAIGUOYUAN NETWORK TECHNOLOGY Co.,Ltd.

Address before: 511442 25 floors, B-1 Building, North Wanda Commercial Plaza, Wanbo Business District, 79 Wanbo Second Road, Nancun Town, Panyu District, Zhuhai City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230927

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 510000 South Village Town, Panyu District, Guangzhou City, Guangdong Province, 79 Wanbo Second Road Wanbo Business District Wanda Business Square North District B-1 25 floors

Patentee before: GUANGZHOU BAIGUOYUAN NETWORK TECHNOLOGY Co.,Ltd.