一种应用于DASH低延迟直播流的带宽测量方法和设备技术

技术编号:30968521 阅读:23 留言:0更新日期:2021-11-25 20:43
本申请公开了一种应用于DASH低延迟直播流的带宽测量方法和设备,在客户端接收到数据包时,首先过滤不饱和发送的数据包;然后在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。应用本申请公开的技术方案,能够提高带宽测量的准确性。能够提高带宽测量的准确性。能够提高带宽测量的准确性。

【技术实现步骤摘要】
一种应用于DASH低延迟直播流的带宽测量方法和设备


[0001]本申请涉及计算机应用
,特别涉及一种应用于DASH低延迟直播流的带宽测量方法和设备。

技术介绍

[0002]当前,基于超文本传输协议(HTTP)的动态自适应传输流(DASH)已经得到广泛的应用。得益于边下载边播放的特点,DASH也广泛应用于直播流领域,同时随之而来的是低延迟的需求。满足该需求的一个方法是使用HTTP的分块编码传输(Chunked Transfer Encoding)。在基于HTTP chunked编码传输的DASH低延迟直播流播放过程中,如何准确测量带宽,一直是一个比较困难的问题。
[0003]目前,本领域内能够解决上述问题的相关技术有ACTE,即:Adaptive Bitrate Streaming(ABR)for Chunked Transfer Encoding,具体参见https://doi.org/10.1145/3304112.3325611,低延迟分块流的带宽预测(Bandwidth prediction in low

latency chunked streaming)。该技术计算每一个chunk块的传输速率和segment下载的平均速率,当chunk块的传输速率是segment下载的平均速率的80%到120%时,丢掉(即过滤掉)该chunk块的速率,然后依据过滤后的chunk速率计算当前带宽。
[0004]本申请的专利技术人在实现本申请的过程中发现,现有ACTE存在以下技术问题:
[0005]a、其每次计算是在整个segment下载结束后进行,当segment下载时间较长时,将影响带宽测量的实时性。
[0006]b、该算法直接使用chunk块的传输速率,没有考虑到实际网络传输中,由于网络波动或者服务器性能影响而导致的chunk块的传输速率过大或者过小的情况。
[0007]c、该算法使用简单的过滤方法,对于接近于segment下载的平均速率的带宽值,无法做到很好的估计。
[0008]d、该算法直接累加多个带宽值,然后除以带宽值的个数,即:求取平均带宽,其准确性并不理想。

技术实现思路

[0009]本申请旨在提供一种应用于DASH低延迟直播流的带宽测量方法和设备,以提高DASH低延迟直播流带宽测量的准确性。
[0010]本申请公开了一种应用于DASH低延迟直播流的带宽测量方法,在客户端接收到当前数据包时执行以下操作:
[0011]过滤不饱和发送的数据包;
[0012]在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
[0013]本申请还公开了一种应用于DASH低延迟直播流的带宽测量设备,包括:
[0014]过滤模块,用于在接收到当前数据包时过滤不饱和发送的数据包;
[0015]带宽计算模块,用于在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
[0016]由上述技术方案可见,本申请提出的应用于DASH低延迟直播流的带宽测量技术方案,在客户端接收到数据包时,首先过滤不饱和发送的数据包;然后在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽,能够有效地避免大量数据碎片以及网络波动或者服务器性能造成的瞬间传输速率不稳定的影响,并克服现有计算带宽方法的不足,从而提高DASH低延迟直播流带宽测量的准确性。带宽测量准确性的提高有助于DASH直播流播放时选择准确的分辨率,进而提高用户的观看体验。
附图说明
[0017]图1为本申请应用于DASH低延迟直播流的带宽测量方法示意图;
[0018]图2为本申请一较佳从接收到的数据包中过滤不饱和发送的数据包的流程示意图;
[0019]图3为本申请一较佳在初步过滤后的数据包中寻找数据大小和传输速率的稳定区域,并计算当前带宽的流程示意图;
[0020]图4为本申请应用于DASH低延迟直播流的带宽测量设备的组成结构示意图;
[0021]图5为本申请实施例三的场景示意图;
[0022]图6~图8示出不同直播流码率和网络带宽条件下,本申请技术方案与现有技术的带宽测量结果对比。
具体实施方式
[0023]为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
[0024]本申请为克服现有技术的不足,提出一种应用于DASH低延迟直播流的带宽测量技术方案,该技术方案通过过滤不饱和数据包,并寻找饱和数据包的稳定区域用以计算带宽。所述稳定区域包括数据包的数据大小的稳定区域以及传输速率的稳定区域。本申请提供的技术方案能够有效地避免大量数据碎片以及网络波动或者服务器性能造成的瞬间传输速率不稳定的影响,并克服现有计算带宽方法的不足,从而提高DASH低延迟直播流带宽测量的准确性。带宽测量准确性的提高有助于DASH直播流播放时选择准确的分辨率,进而提高用户的观看体验。
[0025]鉴于现有ATCE算法所存在的问题,本申请基于HTTP Chunked编码传输DASH低延迟直播流的特点,提出一种应用于DASH低延迟直播流的带宽测量方法,该方法应用于客户端,其流程图如图1所示,客户端接收到数据包后,执行以下操作:
[0026]步骤1:从接收到的数据包中,初步过滤服务器端的不饱和发送。换言之,过滤掉部分不饱和发送的数据包,也就是过滤掉接收到的数据碎片;
[0027]步骤2:在初步过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,基于数据大小以及传输速率的稳定区域计算带宽。
[0028]以下结合附图对上述各步骤进行详细说明。
[0029]图1所示步骤1是客户端从接收到的数据包中过滤掉部分不饱和发送的数据包,其主要原理在于:计算设定时间内接收到的数据包的数据大小平均值,如果当前接收到的数据包的数据大小小于或者等于该数据大小平均值,则过滤该数据包。本申请提供一种较佳的实现该步骤的流程,其流程图如图2所示,包括以下步骤:
[0030]步骤1.1:计算该数据包的传输时间,即:该数据包网络传输所花费的时间。
[0031]步骤1.2:将该数据包的数据大小以及传输时间作为一项队列元素插入双向队列Q
o
的尾部。
[0032]步骤1.3:如果插入队列Q
o
头部的队列元素的时间距离当前时间大于某一设定时间T
o
,则表明队列Q
o
累积队列元素的时长已大于该设定时间T
o
,此时,应当舍弃一些旧的队列元素,即舍弃队列头部的队列元素,执行步骤1.4;否则,直接执行步骤1.5。
[0033]步骤1.4:删除队列Q
o
头部的队列元素。
[0034]步骤1.5:计算队列Q
o...

【技术保护点】

【技术特征摘要】
1.一种应用于DASH低延迟直播流的带宽测量方法,其特征在于,在客户端接收到当前数据包时执行以下操作:过滤不饱和发送的数据包;在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。2.根据权利要求1所述的方法,其特征在于,所述过滤不饱和发送的数据包包括:计算设定时间T
o
内接收到的数据包的数据大小平均值,如果当前数据包的数据大小小于或者等于所述数据大小平均值,则过滤所述当前数据包。3.根据权利要求2所述的方法,其特征在于,所述计算设定时间内接收到的数据包的数据大小平均值,如果当前数据包的数据大小小于或者等于所述数据大小平均值,则过滤所述当前数据包具体包括:计算所述当前数据包的传输时间;将所述当前数据包的数据大小和传输时间插入双向队列Q
o
的尾部;如果插入队列Q
o
头部的队列元素的时间距离当前时间大于所述设定时间T
o
,则删除所述队列Q
o
头部的队列元素;计算所述队列Q
o
中数据大小的平均值;如果所述当前数据包的数据大小大于所述数据大小的平均值,则将所述当前数据包的数据大小以及传输时间插入双向队列Q
f
的尾部。4.根据权利要求3所述的方法,其特征在于,所述在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,基于数据大小以及传输速率的稳定区域计算当前带宽具体包括:对所述队列Q
f
按照数据大小进行排序;遍历排序后的所述队列Q
f
,获取数据大小相同且个数最多的一组队列元素,记录这一组队列元素在队列Q
f
中的位置:起始位置P
b
,结束位置P
e
,以及元素个数C
max
;如果所述C
max
大于或者等于设定数值C,则对所述队列Q
f
中P
b
至P
e
区域中的队列元素按传输时间的大小进行排序,并基于排序结果获取传输速率的稳定区域,再基于所述传输速率的稳定区域累加其数据大小得到S,累加其传输时间得到T,计算B=S/T作为当前带宽;如果所述C
max
小于所述设定数值C,则累加队列Q
o
中的数据大小得到总数据大小S,累加队列Q
o
中的传输时间得到总传输时间T,计算B=S/T作为当前带宽。5.根据权利要求4所述的方法,其特征在于,所述基于排序结果获取传输速率的稳定区域包括:取排序结果的1/4处的N1个队列元素和3/4处的N2个队列元素,以这N1+N2个队列元素构成传输速率的稳定区域。6.根据权利要求4所述的方法,其特征在于,所述基于排序结果获取传输速率的稳定区域包括:计算P
b
到P
e
区域的中间位置P
m
=(P
e

P
b
)/2,如果P
m
不为整数,对其向上或向下取整;基于P
b
到P
e
区域的排序结果,遍历队列Q
f
中从P
b
到P
m

10的队列元素,计算每个队列元素的传输时间及其后9个数据的传输时间的方差,获取方差最小的一组队列元素;基于P
b
到P
e
区域的排序结果,遍历队列Q
f
中从P
m
+1到P
e

10的队列元素,计算每个队列元
素...

【专利技术属性】
技术研发人员:汤传吉李磊高锐孙晔
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1