欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2016104271016
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于DASH的多客户端码率自适应及震荡补偿方法,具体步骤如下:

步骤1.基于缓存的码率估算;

基于缓存模型的自适应算法使用缓存区内的数据量百分比来估算视频码率,从而避开了网络带宽的直接影响,有利于提高视频码率的稳定性;考虑到对数函数模型变化趋势相对比较平缓,能够实现码率估算的平稳增长和减少;因此采用基于缓存的对数模型自适应算法,将缓存分区和对数模型结合,根据缓存区容量的百分比计算所要切换的视频码率;同时将缓存分为三个区间,分别为缓存上溢区间、缓存均衡区间缓存、缓存下溢区间;对数模型为:ξk=a×logb(δk×c)    (1)

式(1)ξk中为第k段所要切换的码率,δk为第k段时刻缓存区内数据量填充的百分比,a为MPD文件中最大码率的值,c为缓存下溢阀值,b为缓存上溢阀值;设定为c=5,b=4则缓存下溢区间为0-20%、缓存均衡区间为20%-80%、缓存上溢区间为80%-100%;

步骤2.基于逻辑斯谛方程模型的平滑处理;

网络的不稳定性,会导致缓存区内的数据量出现一定程度的波动,从而使式(1)计算出来的码率可能出现震荡现象;针对该问题,在平滑处理基础上,设计基于逻辑斯谛(Logistic)方程的平滑因子模型,随缓存状态变化动态调整平滑因子;公式为:BRk=(1-P)×ξk+P×ξk-1    (2)

式(2)中,BRk为平滑后的第k段码率,P为平滑因子;平滑因子计算公式为:

式(3)中:m为逻辑斯谛方程的陡峭参数,β0为逻辑斯谛方程的中心值;

平滑因子P曲线特点分三个阶段:(1)当缓存区内数据量低的时候,P的权重低,更加依赖于实际估算的码率,有利于缓存的上升,脱离视频播放停顿问题;(2)当缓存区开始逐步上升之后,P的权重迅速增长;因为有了一定量的缓存储备,平滑函数可以更好地处理码率估算波动问题,实现码率切换的稳定;(3)对逻辑斯谛方程后面添加一个限制参数的优化,主要体现在第三阶段;基于下面两个方面考虑:当网络带宽突变上升时,会导致缓存区内的数据量加速上升,此时δk变大,如果仅仅依靠逻辑斯谛方程来估算P,则P会大幅度增大,平滑步骤中对历史片段的权重增大;这就会导致平滑过度,使缓存区内的容量急剧上升;另一方面当网络带宽突变下降,情况就会与上面提到的相反,平滑过渡使缓存区内容量急剧下降;而缓存区内数据量的波动会直接影响步骤1的码率估算;因此,在逻辑斯谛方程后面加入了一个限制参数,可以根据δk的变化而动态的改变限制程度,从而避免了上述平滑过渡的情形;

步骤3.震荡检测及补偿;

针对多客户端竞争带宽问题,采用震荡因子,实时检测视频播放过程中出现的震荡情况;在监测到码率剧烈震荡后,码率决策进入补偿状态以避免码率震荡的持续;在补偿机制上,提出根据不同的缓存区状态采用高、中、低三种码率去平滑该时刻码率的震荡问题;同时优化了进入补偿的条件,针对不同的缓存状态下的震荡情况直接选择相应的补偿策略;

3.1震荡检测相关参数及震荡因子计算;

在实施震荡补偿之前,需要对视频播放的过程进行震荡检测;设定了一个滑动窗口机制,在视频片段的切换过程中滑动窗口随之一起移动;当码率发生切换则计一次数,再对码率上切计正数下切计负数,然后在滑动窗口中统计这两种计数;通过这两个不同的计数方式结合平均码率计算方差;当码率稳定正常切换时两个方差的值是相同的,如果出现码率震荡,则这两个值就会出现差异,由此就可以计算出震荡因子;码率切换次数Γk,码率上下切次数φk,质量转换方差σ,震荡方差ω,震荡因子ρi,j公式如下;

其中ξk表示第k段的码率,tk表示第k段的段持续时间,μi,j表示第i段到第j段的平均码率,Γk表示码率切换次数统计,φk表示上下切次数统计;

3.2震荡检测与补偿过程;

根据震荡因子ρi,j来判断是否进入补偿状态,一旦ρi,j超过预先设置的阀值码率决策就会进入补偿状态;考虑缓存区状态对码率决策影响的重要性及视频播放过程中缓存区状态的多样性,提出震荡补偿算法,它能够根据不同的缓存区情况进行三种不同级别的补偿,确保在补偿操作后缓存区仍然处于一个较为均衡的状态;

(S1)是否进入补偿状态的判断;当震荡因子ρi,j超过阈值并且当前不是补偿状态,则开始进入补偿状态;初始化相关参数:滑动窗口内历史数据中的最大缓存百分比maxbuffer,最小缓存百分比minbuffer,其中的最大码率high_quality,最小码率low_quality,以及折中的平均码率mid_quality,初始化补偿次数backoff;

(S2)低补偿状态;进入补偿状态后先判断是否需要进入低补偿状态,如果当前的缓存区容量小于minbuffer则进入低补偿状态,选择最小码率low_quality进行补偿,直到补偿次数backoff减少为0;如果期间缓存区容量大于minbuffer则终止低码率补偿;

(S3)高补偿状态;如果没有进入低补偿状态,则判断是否需要进入高补偿状态,如果当前的缓存区容量大于maxbuffer则进入高补偿状态,选择最大码率high_quality进行补偿,直到补偿次数backoff减少为0;如果期间缓存区容量小于maxbuffer则终止补偿;

(S4)折中补偿状态;如果没有进入以上两种补偿状态,则表示当前缓存区状态比较健康选择折中补偿状态,选择平均码率mid_quality进行补偿,直到补偿次数backoff减少为

0。