CN110300429A - 调整缓存长度的方法、装置、电子设备和存储介质 - Google Patents
调整缓存长度的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110300429A CN110300429A CN201810246776.XA CN201810246776A CN110300429A CN 110300429 A CN110300429 A CN 110300429A CN 201810246776 A CN201810246776 A CN 201810246776A CN 110300429 A CN110300429 A CN 110300429A
- Authority
- CN
- China
- Prior art keywords
- length
- buffer storage
- voice packet
- delay
- caching
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 150
- 239000000872 buffer Substances 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000001934 delay Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 12
- 239000012556 adjustment buffer Substances 0.000 description 20
- 238000001514 detection method Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 206010044565 Tremor Diseases 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
Abstract
本发明实施例提供一种调整缓存长度的方法、装置、电子设备和存储介质。所述方法包括根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;根据所述时延抖动中的最大时延,确定建议缓存长度;根据所述建议缓存长度,调整当前周期的缓存的长度。所述方法通过上一周期的语音包的到达时间,得到准确的时延,能够准确的计算建议缓存长度,从而自适应调整当前周期的缓存的长度,消除时延抖动,提升语音质量。
Description
技术领域
本发明实施例涉及通信技术领域,特别是一种调整缓存长度的方法、装置、电子设备和存储介质。
背景技术
VoLTE(Voice Over LTE,基于LTE网络的语音业务)是4G(4rd-Generation,第四代移动通信技术)承载语音的一种方式,也是大多数部署LTE(Long Term Evolution,长期演进)网络运营商普遍采用的语音服务方式。
通常VoLTE的语音质量采用MOS(Mean Opinion Score,语音质量的平均意见值)打分来评估,MOS是衡量通信系统语言质量的重要指标。
MOS分值越高代表语音质量越好。一般来讲,MOS值在4左右,说明通话质量良好,低于3的话就说明通话质量比较差。
通过主被叫发送的语音包,经过MOS评估输出MOS分值。MOS分值的高低受网络时延、抖动和丢包等因素的影响。
除丢包外,语音包传输时延及时延抖动超过一定值时会影响MOS。
图1为现有技术中时延与MOS的关系图。
如图1所示,时延越大对VoLTE的MOS影响越大,当时延超过350ms时,语音的MOS将下降到3.5以下;当时延超过450ms时,语音MOS下降到3.0以下。
时延抖动也是影响MOS的因素之一,变化的时延被称作抖动(Jitter)。
图2为现有技术中时延抖动与MOS的关系图。
如图2所示,当时延抖动超过61.3ms时,语音MOS下降到3.5以下;当时延抖动大于101.46ms时,语音MOS在3.0以下。
当前移动网基站中,保障语音MOS的主要方法是通过将VoLTE数据流赋予一个低时延要求的QCI(Quality of Service Class Identifier,服务质量等级标识)=1,在调度上遵循3GPP(3rd Generation Partnership Project,第三代合作伙伴计划)TS23.203所要求的时延小于100ms、误码率小于1%的QoS(Quality of Service,服务质量)标准。
由于无线重选及信道调度等因素造成数据包传输时延及抖动,一般是通过设置一个固定长度的包延迟缓存(pdb,packet delay budget),通过对接收数据包做适当的缓存,来消除语音包的时延抖动,提高MOS分值。
缓存长度的设置对于语音包的缓存非常重要,现有技术中设置缓存长度的方式为:
通过本端和远端的RLF(Radio Link Failure,无线链路失败)定时器变化,来预测未来的抖动延迟,从而调整缓存长度。
该方法通过自适应无线环境的变化,动态调整缓存区长度,可以在时延消抖和分组数据丢失之间取得较好的均衡。
但VoLTE语音包的时延抖动,除了受无线环境的影响,还和设备抗干扰性能、网络重传、核心网络处理时延变动以及网络路由变化等诸多因素的影响,单纯通过无线环境一个因素,无法准确预测VoLTE语音包的时延抖动,从而导致计算的缓存长度的准确性比较低。
发明内容
针对现有技术的缺陷,本发明实施例提供一种调整缓存长度的方法、装置、电子设备和存储介质。
一方面,本发明实施例提供一种调整缓存长度的方法,所述方法包括:
根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;
根据所述时延抖动中的最大时延,确定建议缓存长度;
根据所述建议缓存长度,调整当前周期的缓存的长度。
另一方面,本发明实施例提供一种调整缓存长度的装置,所述装置包括:
获取模块,用于根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;
确定模块,用于根据所述时延抖动中的最大时延,确定建议缓存长度;
调整模块,用于根据所述建议缓存长度,调整当前周期的缓存的长度。
另一方面,本发明实施例还提供一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上方法的步骤。
另一方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上方法的步骤。
由上述技术方案可知,本发明实施例提供的调整缓存长度的方法、装置、电子设备和存储介质,所述方法通过上一周期的语音包的到达时间,得到准确的时延,能够准确的计算建议缓存长度,从而自适应调整当前周期的缓存的长度,消除时延抖动,提升语音质量。
附图说明
图1为现有技术中时延与MOS的关系图;
图2为现有技术中时延抖动与MOS的关系图;
图3为本发明实施例提供的一种调整缓存长度的方法的流程示意图;
图4为本发明又一实施例提供的VoLTE自适应消抖缓存原理图;
图5为本发明又一实施例提供的时延抖动检测流程图;
图6为本发明又一实施例提供的一种调整缓存长度的装置的结构示意图;
图7为本发明又一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。
图3示出了本发明实施例提供的一种调整缓存长度的方法的流程示意图。
如图3所示,本发明实施例提供的方法具体包括以下步骤:
步骤11、根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;
可选地,本发明实施例提供的方法在调整缓存长度的装置上实现,调整缓存长度的装置可为基站。
可选地,主被叫双方通话交换语音包实现通话,例如,主叫将生成的语音包发送至主叫侧基站,主叫侧基站通过核心网将语音包传送至被叫侧基站,通过被叫侧基站将语音包转发至被叫,使得被叫接收语音包。
本发明实施例中,基站可表示主叫侧基站,也可表示被叫侧基站,当基站表示主叫侧基站时,终端为主叫,主叫侧基站接收主叫发送的语音包;当基站表示被叫侧基站时,终端为被叫,被叫侧基站接收被叫发送的语音包。
可选地,针对每一语音包,基站检测语音包到达基站的时间,即到达时间,并将到达时间记录至本地。
可选地,检测语音包的到达时间,与协议规定的校准时钟进行比较,计算出语音包的时延。
可选地,VOLTE的协议中规定终端发送语音包的周期,即校准时钟,校准时钟包括多个发送时间(post time)。
可选地,校准时钟是VOLTE的协议中规定的终端发送语音包的标准时间,举例来说,VOLTE的协议中规定通话中终端每20ms发送一个语音包,根据语音包到达基站的顺序,由此可推测终端发送语音包的发送时间。但实际上终端发送语音包的时间是有偏差的,可能会晚一点,也可能会早一点。
可选地,基站周期性的进行MOS评估,检测当前周期的语音包的到达时间。
可选地,周期的长短可根据实际情况设置,例如可为一分钟。
可选地,将每个VoLTE语音包的到达时间记为ti,其中,i表示语音包到达的顺序,其中i=0,1,2,…,N-1。
可选地,时延表示网络一端传送到另一端需要的时间,在本实施例中为终端传送到基站需要的时间。
可选地,基站每接收一个语音包,记录到达时间,根据语音包到达的顺序,以校准时钟为基准,推断语音包的发送时间,计算到达时间和发出时间的时间差,这个时间差就是时延。
可选地,将时延的变化称作时延抖动。也就是说,时延抖动是一个数据序列,包括多个语音包的时延。
可选地,基站将上一周期内所有语音包的时延按照时间顺序排列,得到时延抖动,从而可观测出时延的变化情况。
步骤12、根据所述时延抖动中的最大时延,确定建议缓存长度;
可选地,基站接收语音包,记录语音包的到达时间,还将语音包缓存至本地的缓存,以供后续对语音包进行解析。
可选地,基站是否可以成功解析语音包,与缓存的长度有关,长度表示缓存空间的容量大小。
若缓存的长度足够,则基站可将接收的语音包进行缓存、解析。
若缓存的长度不够,则基站无法缓存接收的语音包,即使已经接收,基站也只能丢弃这个语音包。
可选地,缓存的长度是根据语音包的时延的大小确定的。
可选地,一个周期结束后,当前周期基站对上一个周期内的时延抖动序列中的N-1个时延由小到大依次排序,得到最大时延。其中,当前周期是上一周期的下一个周期。
可选地,根据最大时延与语音包的比特率,计算建议缓存长度,所述建议缓存长度是当前周期应当预留的缓存的长度。
步骤13、根据所述建议缓存长度,调整当前周期的缓存的长度。
可选地,上一周期的最大时延反映了上一周期最多需要预留的缓存空间。
可选地,根据上一周期的时延抖动中最大时延,得到的建议缓存长度,并将上一周期计算得到的建议缓存长度,作为当前周期的缓存的长度。
可选地,语音包的到达时间表示语音包实际到达基站的时间点,相较于现有技术只考虑无线环境作为影响时延的因素,语音包实际到达时间是所有因素共同作用的结果,根据语音包实际到达时间来计算时延,相当于考虑了所有的因素,可实时、客观、准确的反映当前周期内语音包的时延情况,准确的确定建议缓存长度,从而可自适应调整当前周期的缓存的长度,降低了语音包在缓存的滞留时间,降低了语音包的传送时延,可以有效的提升VoLTE的MOS感知指标。
本发明实施例提供的调整缓存长度的方法,通过上一周期的语音包的到达时间,得到准确的时延,能够准确的计算建议缓存长度,从而自适应调整当前周期的缓存的长度,消除时延抖动,提升语音质量。
在上述实施例的基础上,本发明又一实施例提供的调整缓存长度的方法,根据上一周期内每一语音包的到达时间,获取时延抖动的步骤具体为:
根据每一语音包的到达时间,获取每两个语音包的时间间隔;
根据上一周期内语音包的时间间隔,获取平均时间间隔;
根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动。
确定时延抖动的方式有多种,本发明实施例以其中一种方式为例进行说明。
可选地,根据上一周期内每一语音包的到达时间,计算每两个语音包的到达时间的差值,即时间间隔。
可选地,计算时间间隔的公式:
Δti=ti-ti-1(i=1,2,…,N-1)
可选地,基站根据一个周期内每两个语音包到达基站的时间间隔Δti,求Δti的平均值,即平均时间间隔。
可选地,计算平均时间间隔的公式:
可选地,根据平均时间间隔、第i个语音包与i-1个语音包的时间间隔Δti,得到第i个语音包的时延
可选地,根据每个语音包的时延,得到周期内的时延抖动。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的调整缓存长度的方法,根据周期内语音包的时间间隔,得到准确的平均时间间隔,根据所述平均时间间隔可计算得到所述时延抖动。
在上述实施例的基础上,本发明又一实施例提供的调整缓存长度的方法,根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动的步骤具体为:
计算所述平均时间间隔和每两个语音包的时间间隔的方差,并将所述方差作为所述时延抖动。
确定时延抖动的方式有多种,本发明实施例以其中一种方式为例进行说明。
为了直观表现当前周期内每两个语音包到达基站的时间与平均时间间隔的差异性,对每两个语音包的时间间隔与平均时间间隔求方差,以得到时延抖动。
可选地,时延抖动δi的计算方式为:
可选地,针对任两个语音包的时间间隔,均可以得到一个时延,在一个周期内,计算得到N-1个时延δi(i=1,2,…,N-1),从而得到时延抖动。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的调整缓存长度的方法,通过求方差的方式,可以直观表现当前周期内每两个语音包的时间间隔与平均时间间隔的差异性,从而得到时延抖动。
在上述实施例的基础上,本发明又一实施例提供的调整缓存长度的方法,根据所述时延抖动中的最大时延,确定建议缓存长度的步骤具体为:
根据所述时延抖动中满足置信空间的最大时延,计算建议缓存长度。
确定最大时延的方式有多种,本发明实施例以其中一种方式为例进行说明。
可选地,预先设置时延抖动的置信区间(T_PERCENT),置信区间描述了时延这一测量值的可信度。
举例来说,时延抖动包括100个时延,置信区间为90%,说明100个时延中有90%的时延是可以信任的。
可选地,置信区间设置的越大,丢包率越低,MOS分值越高。
可选地,获取第(N-1)*T_PERCENT%个时延抖动δT,δT表示满足置信空间的最大时延,即排序后最后一个可以信任的时延。
其中,当(N-1)*T_PERCENT%不为整数,则向上取整。
举例来说,N-1为10,T_PERCENT%为85%,则(N-1)*T_PERCENT%=8.5,向上取整为9。
可选地,根据满足置信空间的最大时延δT,确定缓存语音包的建议缓存长度LT。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的调整缓存长度的方法,根据时延抖动中满足置信空间的最大时延,可以合理控制建议缓存长度。
在上述实施例的基础上,本发明又一实施例提供的调整缓存长度的方法,根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
根据所述建议缓存长度,在当前周期的静默期调整缓存的长度。
调整缓存的长度的方式有多种,本发明实施例以其中一种方式为例进行说明。
现有技术中,基站随机实时调整缓存的长度,可能存在这样的情况:一个周期应当接收100个语音包,基站预留了100个语音包的空间,在接收到第3个语音包后,开始调整缓存的长度,将缓存的长度调整为可缓存10个语音包,那么后续的90个语音包将没有空间进行缓存,没有空间缓存则意味着必须丢弃这些语音包,也就是说,实时调整缓存的长度很可能导致基站丢包。
可选地,在确定建议缓存长度之后,还应在合适的时机调整缓存的长度。
可选地,合适的时机是VOLTE通话的静默期。
可选地,可将VOLTE通话划分为通话期和静默期,通话期是指通话期间有一方在说话的时间,双方交换语音包,静默期是指通话期间无人说话的时间,双方交换静音包。
可选地,基站确定VOLTE通话是否处于静默期的方式是是否捕获到静音包。
可选地,基站接收静音包后,解析得到静默帧,从而确定此时处于静默期,通话连续的关键是通话期的语音包的交互,静默期无语音包传输,在静默期启动调整语音包的缓存的长度,不会影响到语音包的缓存。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的调整缓存长度的方法,基站选择通话的语音静默期调整缓存的长度,避免了调整时语音丢包的问题。
在上述实施例的基础上,本发明又一实施例提供的调整缓存长度的方法,根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
若所述建议缓存长度大于最大允许长度,则将所述最大允许长度作为当前周期的缓存的长度。
调整缓存的长度的方式有多种,本发明实施例以其中一种方式为例进行说明。
可选地,在将建议缓存长度应用至当前周期的缓存之前,还需进行缓存动态校正。
可选地,缓存动态校正主要是根据前述步骤输出的建议缓存长度,以及预先设置的最大允许长度L_MAX,动态控制当前周期的语音包的缓存的长度。
可选地,将建议缓存长度与最大允许长度进行比较。
当建议缓存长度>最大允许长度L_MAX时,则当前周期的缓存的长度取值L_MAX。
若所述建议缓存长度小于等于最大允许长度,则将所述建议缓存长度作为当前周期的缓存的长度。
当建议缓存长度≤最大允许长度L_MAX时,则可将缓存的长度取值为建议缓存长度。
可选地,缓存最大长度L_MAX是预先设置的常量,可根据实际情况设置。
根据现网大量数据分析,最大允许长度L_MAX与期望MOS的建议设置呈负相关。
若直接启动缓存调整,当建议缓存长度超过最大允许长度时,导致空间溢出的问题。
本发明实施例其他步骤与前述实施例步骤相似,本发明实施例不再赘述。
本发明实施例提供的调整缓存长度的方法,将建议缓存长度与最大允许长度进行比较,避免出现超过最大允许长度的情况出现,从而避免空间溢出的问题。
为了更充分理解本发明的技术内容,在上述实施例的基础上,详细说明本发明实施例提供的调整缓存长度的方法。
本发明实施例通过检测语音包到达时间,统计语音包到达时间,并根据到达时延统计方差的置信区间,计算出VoLTE语音包建议缓存长度。同时在连续静音包到达时刻,启动建议缓存长度调整。
本发明实施例的技术方案,通过直接检测语音包到达时间的变化,生成语音包到达时延概率模型,并计算时延概率方差来确定建议缓存长度,解决了直接通过计算平均抖动时延来确定建议缓存长度而引起部分丢包的问题;由于采用的是直接检测包到达时间,考虑的因素包括网络端到端时延影响的所有因素,避免了只考虑无线环境对包传输时延的影响。
同时,本发明实施例的技术方案通过检测语音包的类型,并选择在语音静默期调整建议缓存长度,避免了调整缓存时造成语音丢包的问题。
本发明实施例的技术方案,通过合理的统计分析语音包到达时延的抖动,并自适应调整建议缓存长度,可以有效的降低语音包的时延抖动。
通过现网试点优化调整建议缓存长度,证明可以有效改善MOS及语音丢包。
在区域试点测试发现,通过合理优化语音建议缓存长度pdb,可以降低RTP(Real-time Transport Protocol,实时传输协议)丢包0.08个百分点,MOS3.0以上占比提升3.89个百分点,效果显著。
表1为通过调整建议缓存长度,对MOS的改善试点效果。
表1
由此可见,本发明实施例申请所述的VoLTE自适应消抖方法,可以有效提升VoLTE业务的MOS值和语音感知。
A)原理及理论说明
本发明实施例提出的是一种通过检测VoLTE语音包到达时间,生成数据包到达时延的统计模型,并根据到达时延统计方差的置信区间,计算出VoLTE语音包建议缓存长度,并在检测到连续语音静默期间,调整VoLTE语音建议缓存长度的方法和装置。
图4为本发明又一实施例提供的VoLTE自适应消抖缓存原理图。
本发明实施例所述的装置包括两个部分:包时延抖动探测和建议缓存长度校正器。包时延抖动探测器主要是探测和计算VoLTE语音包的到达时延及抖动;建议缓存长度校正器是检测根据包时延抖动探测到的VoLTE语音包时延及抖动,在检测到连续VoLTE语音静音帧后,动态校正VoLTE语音包的建议缓存长度。
本发明实施例通过实时检测VoLTE语音包的到达时延及抖动,并根据检测结果,动态调整建议缓存长度,消除了VoLTE语音包到达时间波动对语音产生的顿卡现象。同时合理有效的控制缓存长度,降低了VoLTE语音包在缓存的滞留时间,降低了VoLTE语音包的传送时延,可以有效的提升VoLTE的MOS感知指标。
B)包时延抖动探测
包时延抖动探测器,主要是记录VoLTE语音包的到达时刻,通过分析计算包到达时延的抖动偏差,以T_JITTER_DETECT(缓存检测周期)为周期计算输出需要调整的包建议缓存长度L(可通过设置最大包建议缓存长度L_MAX控制缓存上限,通过置信区间T_PERCENT设置在满足T%概率下的最大抖动时延作为调整建议缓存长度)。
图5为本发明又一实施例提供的时延抖动检测流程图。
具体工作流程如下:
1)以校准时钟为基准,计算T_JITTER_DETECT每个VoLTE语音包的到达时刻ti(i=0,1,2,…,N-1)。其中i表示包到达的顺序。
2)根据检测到的包到达时刻ti(i=0,1,2,…,N-1)计算包到达时刻的时延抖动,计算算法为:
i.先根据到达时刻计算每个包的到达时间间隔Δti=ti-ti-1(i=1,2,…,N-1);
ii.根据到达时间间隔Δti计算抖动检测评估周期内的平均时间间隔
iii.由前面的计算结果,计算每个到达间隔的时延方差δi,作为每次时延抖动,计算方法为:
3)将步骤2)计算的到的N-1个时延抖动数据δi(i=1,2,…,N-1)由小到大一次排序,第(N-1)*T%(T%=T_PERCENT)个抖动数据δT,即为建议输出的建议缓存长度LT。当(N-1)*T%不为整数时则上上取整。
C)缓存动态校正
缓存动态校正主要是根据B)所述输出的建议缓存长度LT,以及所设置的最大允许缓存长度L_MAX动态控制VoLTE语音包建议缓存长度。
1、建议缓存长度调整取值算法如下:
当建议缓存长度LT>最大允许长度L_MAX时,建议缓存长度调整取值L=L_MAX。
当建议缓存长度LT≤最大允许长度L_MAX时,建议缓存长度调整取值L=LT。
2、建议缓存长度调整时刻选择:
缓存校正器检测语音静默帧,在一个包检测评估周期T_JITTER_DETECT内,如果连续检测到N_VAD个静默帧时,则将当前建议缓存长度调整为上一个包检测评估周期内输出的缓存建议长度L。
当一个包检测评估周期T_JITTER_DETECT内,没有连续检测到N_VAD个静默帧时,则本次建议缓存长度不做调整。
D)自适应消抖装置常量设置建议
本发明实施例所述的根据包时延抖动动态调整VoLTE语音建议缓存长度,涉及包缓存最大长度L_MAX、包检测评估周期T_JITTER_DETECT、以及缓存调整连续检测静默帧N_VAD、包时延抖动置信区间T_PERCENT等常量设置。这些常量涉及自适应消抖装置的调整灵敏度,与期望VoLTE的MOS相关。
根据现网大量数据分析,最大允许长度L_MAX与期望MOS的建议设置如下表2。
表2
期望MOS | 最大允许长度L_MAX |
4.0 | 250ms |
3.5 | 350ms |
3.0 | 450ms |
当期望MOS在4.0以上时,最大允许缓存长度L_MAX不超过250ms;当期望MOS在3.0以上时,最大允许缓存长度L_MAX不超过450ms。
其它常量设置与时延抖动、MOS的关联定性关系如下表3。
表3
MOS | 时延抖动 | T_JITTER_DETECT | N_VAD | T_PERCENT |
提升 | 小 | 小 | 小 | 大 |
降低 | 大 | 大 | 大 | 小 |
当包抖动检测周期T_JITTER_DETECT缩短,或者缓存调整连续检测静默帧N_VAD要求降低,或者包时延抖动置信区间T_PERCENT加大,均会对降低时延抖动、提升MOS有益;反之亦然。
但这些常量的设置,需要综合考虑时延和灵敏度等因素。如包抖动检测周期T_JITTER_DETECT缩短,会降低缓存调整的灵敏度,在调整周期内难以找到满足要求的连续静默帧数量,从而错过调整机会,反过来又影响了时延抖动。
本发明实施例提出基于语音包时延抖动检测的VoLTE动态缓存调整方法:通过实时检测VoLTE语音包的到达时延抖动,依据统计概率置信区间动态调整VoLTE的语音建议缓存长度,实时动态评估VoLTE语音包的端到端时延,并合理控制建议缓存长度,达到既消除语音时延抖动,又最大化降低缓存时延,提升VoLTE语音MOS。
通过检测VoLTE语音的静默帧,并选择在连续静默帧期间调整建议缓存长度,其它有效语音帧则保持原有的建议缓存长度。有效避免缓存调整时造成的语音包丢失,保证在缓存调整期间VoLTE的语音MOS不受干扰。
本发明实施例综合运用语音包时延抖动检测及VoLTE语音包缓存调整的方法,形成VoLTE自适应消抖的缓存调整方法及装置,并输出装置模型、算法流程和常量控制测量,有利于促进投入实际生产使用,改善VoLTE的客户感知。
本发明实施例基于实时VoLTE语音包端到端时延的检测结果,能够实时、客观、准确的反映VoLTE语音包的抖动情况,解决了现有技术的方案中对VoLTE语音包时延抖动考虑因素不全、评估不准确的问题,对于最终输出的缓存调整建议、降低VoLTE语音包时延抖动、改善VoLTE语音MOS起到关键作用。
通过选择在语音静默期调整缓存,有效的避免了现有语音缓存调整所造成的语音丢包的问题,避免了装置引入的额外丢包预算,进一步提升了语音缓存消抖后对VoLTE的MOS提升效果。
图6示出了本发明又一实施例提供的一种调整缓存长度的装置的结构示意图。
参照图6,在上述实施例的基础上,本发明实施例提供的调整缓存长度的装置,所述装置包括获取模块61、确定模块62和调整模块63,其中:
获取模块61用于根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;确定模块62用于根据所述时延抖动中的最大时延,确定建议缓存长度;调整模块63用于根据所述建议缓存长度,调整当前周期的缓存的长度。
本发明实施例提供的调整缓存长度的装置,可用于执行上述方法实施例的方法,本实施不再赘述。
本发明实施例提供的调整缓存长度的装置,确定模块通过上一周期的语音包的到达时间,得到准确的时延,能够准确的计算建议缓存长度,调整模块自适应调整当前周期的缓存的长度,提升语音质量。
图7示出了本发明又一实施例提供的一种电子设备的结构示意图。
参阅图7,本发明实施例提供的电子设备,所述电子设备包括存储器(memory)71、处理器(processor)72、总线73以及存储在存储器71上并可在处理器上运行的计算机程序。其中,所述存储器71、处理器72通过所述总线73完成相互间的通信。
所述处理器72用于调用所述存储器71中的程序指令,以执行所述程序时实现如图3的方法。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:
根据上一周期内每一语音包的到达时间,获取时延抖动的步骤具体为:
根据每一语音包的到达时间,获取每两个语音包的时间间隔;
根据上一周期内语音包的时间间隔,获取平均时间间隔;
根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动的步骤具体为:
计算所述平均时间间隔和每两个语音包的时间间隔的方差,并将所述方差作为所述时延抖动。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:根据所述时延抖动中的最大时延,确定建议缓存长度的步骤具体为:
根据所述时延抖动中满足置信空间的最大时延,计算建议缓存长度。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
根据所述建议缓存长度,在当前周期的静默期调整缓存的长度。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
若所述建议缓存长度大于最大允许长度,则将所述最大允许长度作为当前周期的缓存的长度。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:若所述建议缓存长度小于等于最大允许长度,则将所述建议缓存长度作为当前周期的缓存的长度。
本发明实施例提供的电子设备,可用于执行上述方法实施例的方法对应的程序,本实施不再赘述。
本发明实施例提供的电子设备,通过所述处理器执行所述程序时实现通过上一周期的语音包的到达时间,得到准确的时延,能够准确的计算建议缓存长度,从而自适应调整当前周期的缓存的长度,消除时延抖动,提升语音质量。
本发明又一实施例提供的一种存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现如图3的步骤。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:
根据上一周期内每一语音包的到达时间,获取时延抖动的步骤具体为:
根据每一语音包的到达时间,获取每两个语音包的时间间隔;
根据上一周期内语音包的时间间隔,获取平均时间间隔;
根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动的步骤具体为:
计算所述平均时间间隔和每两个语音包的时间间隔的方差,并将所述方差作为所述时延抖动。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:根据所述时延抖动中的最大时延,确定建议缓存长度的步骤具体为:
根据所述时延抖动中满足置信空间的最大时延,计算建议缓存长度。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
根据所述建议缓存长度,在当前周期的静默期调整缓存的长度。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
若所述建议缓存长度大于最大允许长度,则将所述最大允许长度作为当前周期的缓存的长度。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:若所述建议缓存长度小于等于最大允许长度,则将所述建议缓存长度作为当前周期的缓存的长度。
本发明实施例提供的存储介质,所述程序被处理器执行时实现上述方法实施例的方法,本实施不再赘述。
本发明实施例提供的存储介质,通过上一周期的语音包的到达时间,得到准确的时延,能够准确的计算建议缓存长度,从而自适应调整当前周期的缓存的长度,消除时延抖动,提升语音质量。
本发明又一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;
根据所述时延抖动中的最大时延,确定建议缓存长度;
根据所述建议缓存长度,调整当前周期的缓存的长度。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本领域技术人员可以理解,实施例中的各步骤可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种调整缓存长度的方法,其特征在于,所述方法包括:
根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;
根据所述时延抖动中的最大时延,确定建议缓存长度;
根据所述建议缓存长度,调整当前周期的缓存的长度。
2.根据权利要求1所述的方法,其特征在于:根据上一周期内每一语音包的到达时间,获取时延抖动的步骤具体为:
根据每一语音包的到达时间,获取每两个语音包的时间间隔;
根据上一周期内语音包的时间间隔,获取平均时间间隔;
根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动。
3.根据权利要求2所述的方法,其特征在于:根据所述平均时间间隔和每两个语音包的时间间隔,得到所述时延抖动的步骤具体为:
计算所述平均时间间隔和每两个语音包的时间间隔的方差,并将所述方差作为所述时延抖动。
4.根据权利要求1所述的方法,其特征在于:根据所述时延抖动中的最大时延,确定建议缓存长度的步骤具体为:
根据所述时延抖动中满足置信空间的最大时延,计算建议缓存长度。
5.根据权利要求1所述的方法,其特征在于:根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
根据所述建议缓存长度,在当前周期的静默期调整缓存的长度。
6.根据权利要求1所述的方法,其特征在于:根据所述建议缓存长度,调整当前周期的缓存的长度的步骤具体为:
若所述建议缓存长度大于最大允许长度,则将所述最大允许长度作为当前周期的缓存的长度。
7.根据权利要求6所述的方法,其特征在于:若所述建议缓存长度小于等于最大允许长度,则将所述建议缓存长度作为当前周期的缓存的长度。
8.一种调整缓存长度的装置,其特征在于,所述装置包括:
获取模块,用于根据上一周期内每一语音包的到达时间,获取时延抖动,所述时延抖动包括多个时延;
确定模块,用于根据所述时延抖动中的最大时延,确定建议缓存长度;
调整模块,用于根据所述建议缓存长度,调整当前周期的缓存的长度。
9.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-7任意一项的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1-7任意一项的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810246776.XA CN110300429A (zh) | 2018-03-23 | 2018-03-23 | 调整缓存长度的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810246776.XA CN110300429A (zh) | 2018-03-23 | 2018-03-23 | 调整缓存长度的方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110300429A true CN110300429A (zh) | 2019-10-01 |
Family
ID=68026085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810246776.XA Pending CN110300429A (zh) | 2018-03-23 | 2018-03-23 | 调整缓存长度的方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110300429A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110809288A (zh) * | 2019-11-04 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种网络拥塞控制方法、装置、设备及介质 |
CN111711992A (zh) * | 2020-06-23 | 2020-09-25 | 瓴盛科技有限公司 | Cs语音下行链路抖动的校准方法 |
CN114124850A (zh) * | 2022-01-26 | 2022-03-01 | 浙江宇视系统技术有限公司 | 一种网络通信方法及装置、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215669A1 (en) * | 2005-03-25 | 2006-09-28 | Sreekanth Gangadharan | System, method and apparatus for controlling a network post-demultiplexing function |
CN101304557A (zh) * | 2008-04-25 | 2008-11-12 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
CN101582832A (zh) * | 2008-05-17 | 2009-11-18 | 红杉树(杭州)信息技术有限公司 | VoIP抖动缓冲区的动态处理方法 |
CN103685070A (zh) * | 2013-12-18 | 2014-03-26 | 广州华多网络科技有限公司 | 一种调整抖动缓存大小的方法及装置 |
CN104410587A (zh) * | 2014-11-13 | 2015-03-11 | 京信通信系统(中国)有限公司 | 一种接收缓冲区容量控制方法及装置 |
CN105119755A (zh) * | 2015-09-10 | 2015-12-02 | 广州市百果园网络科技有限公司 | 一种抖动缓冲区调整方法及装置 |
-
2018
- 2018-03-23 CN CN201810246776.XA patent/CN110300429A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060215669A1 (en) * | 2005-03-25 | 2006-09-28 | Sreekanth Gangadharan | System, method and apparatus for controlling a network post-demultiplexing function |
CN101304557A (zh) * | 2008-04-25 | 2008-11-12 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
CN101582832A (zh) * | 2008-05-17 | 2009-11-18 | 红杉树(杭州)信息技术有限公司 | VoIP抖动缓冲区的动态处理方法 |
CN103685070A (zh) * | 2013-12-18 | 2014-03-26 | 广州华多网络科技有限公司 | 一种调整抖动缓存大小的方法及装置 |
CN104410587A (zh) * | 2014-11-13 | 2015-03-11 | 京信通信系统(中国)有限公司 | 一种接收缓冲区容量控制方法及装置 |
CN105119755A (zh) * | 2015-09-10 | 2015-12-02 | 广州市百果园网络科技有限公司 | 一种抖动缓冲区调整方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110809288A (zh) * | 2019-11-04 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 一种网络拥塞控制方法、装置、设备及介质 |
CN110809288B (zh) * | 2019-11-04 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 一种网络拥塞控制方法、装置、设备及介质 |
CN111711992A (zh) * | 2020-06-23 | 2020-09-25 | 瓴盛科技有限公司 | Cs语音下行链路抖动的校准方法 |
CN111711992B (zh) * | 2020-06-23 | 2023-05-02 | 瓴盛科技有限公司 | Cs语音下行链路抖动的校准方法 |
CN114124850A (zh) * | 2022-01-26 | 2022-03-01 | 浙江宇视系统技术有限公司 | 一种网络通信方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200266839A1 (en) | Media Controller with Buffer Interface | |
CN110300429A (zh) | 调整缓存长度的方法、装置、电子设备和存储介质 | |
CN107171969B (zh) | 一种数据传输方法、装置及系统 | |
US10805196B2 (en) | Packet loss and bandwidth coordination | |
US8804773B2 (en) | Method and apparatus for managing voice call quality over packet networks | |
KR100984982B1 (ko) | 서비스 품질을 지원하는 통신 시스템에서의 승인 제어 및 자원 할당 | |
US10757033B2 (en) | Traffic control method, traffic control apparatus and server | |
US6452950B1 (en) | Adaptive jitter buffering | |
EP2074761B1 (en) | Playout based delay scheduler | |
US8358589B2 (en) | Buffer module, receiver, device and buffering method using windows | |
WO2018010119A1 (zh) | 一种视频业务资源分配方法及装置 | |
CN101997729A (zh) | 网络控制方法和装置 | |
CN101854308A (zh) | VoIP系统高音质服务网络自适应实现方法 | |
Khorov et al. | SEBRA: SAND-enabled bitrate and resource allocation algorithm for network-assisted video streaming | |
CN109981214B (zh) | 一种传输控制方法和装置 | |
Wisniewski et al. | On delimiting video rebuffering for stream-switching adaptive applications | |
US11121976B2 (en) | System, device, and method for providing distributed quality-of-service control and policy enforcement | |
CN109511176A (zh) | 调度请求处理方法、装置及存储介质 | |
CN110620939B (zh) | 一种网络状态确定方法、装置、电子设备及存储介质 | |
CN105959974B (zh) | 一种预测空口带宽的方法和装置 | |
Li et al. | Adaptive playout scheduling for VoIP using the K-Erlang distribution | |
US20180317142A1 (en) | Allocating radio resources in a cellular network | |
CN107483359A (zh) | 动态带宽分配的方法、装置及系统 | |
CN109981482A (zh) | 音频处理方法及装置 | |
CN105743806B (zh) | 用于tcp协议的基于能量阈值的语音缓冲丢包处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191001 |