CN113691880B - 一种应用于dash低延迟直播流的带宽测量方法和设备 - Google Patents

一种应用于dash低延迟直播流的带宽测量方法和设备 Download PDF

Info

Publication number
CN113691880B
CN113691880B CN202110980399.4A CN202110980399A CN113691880B CN 113691880 B CN113691880 B CN 113691880B CN 202110980399 A CN202110980399 A CN 202110980399A CN 113691880 B CN113691880 B CN 113691880B
Authority
CN
China
Prior art keywords
queue
data
data size
data packet
calculating
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
CN202110980399.4A
Other languages
English (en)
Other versions
CN113691880A (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.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics 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 Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN202110980399.4A priority Critical patent/CN113691880B/zh
Publication of CN113691880A publication Critical patent/CN113691880A/zh
Priority to PCT/KR2022/010728 priority patent/WO2023027346A1/en
Application granted granted Critical
Publication of CN113691880B publication Critical patent/CN113691880B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种应用于DASH低延迟直播流的带宽测量方法和设备
技术领域
本申请涉及计算机应用技术领域,特别涉及一种应用于DASH低延迟直播流的带宽测量方法和设备。
背景技术
当前,基于超文本传输协议(HTTP)的动态自适应传输流(DASH)已经得到广泛的应用。得益于边下载边播放的特点,DASH也广泛应用于直播流领域,同时随之而来的是低延迟的需求。满足该需求的一个方法是使用HTTP的分块编码传输(Chunked TransferEncoding)。在基于HTTP chunked编码传输的DASH低延迟直播流播放过程中,如何准确测量带宽,一直是一个比较困难的问题。
目前,本领域内能够解决上述问题的相关技术有ACTE,即:Adaptive BitrateStreaming(ABR)for Chunked Transfer Encoding,具体参见https://doi.org/10.1145/3304112.3325611,低延迟分块流的带宽预测(Bandwidth prediction in low-latencychunked streaming)。该技术计算每一个chunk块的传输速率和segment下载的平均速率,当chunk块的传输速率是segment下载的平均速率的80%到120%时,丢掉(即过滤掉)该chunk块的速率,然后依据过滤后的chunk速率计算当前带宽。
本申请的发明人在实现本申请的过程中发现,现有ACTE存在以下技术问题:
a、其每次计算是在整个segment下载结束后进行,当segment下载时间较长时,将影响带宽测量的实时性。
b、该算法直接使用chunk块的传输速率,没有考虑到实际网络传输中,由于网络波动或者服务器性能影响而导致的chunk块的传输速率过大或者过小的情况。
c、该算法使用简单的过滤方法,对于接近于segment下载的平均速率的带宽值,无法做到很好的估计。
d、该算法直接累加多个带宽值,然后除以带宽值的个数,即:求取平均带宽,其准确性并不理想。
发明内容
本申请旨在提供一种应用于DASH低延迟直播流的带宽测量方法和设备,以提高DASH低延迟直播流带宽测量的准确性。
本申请公开了一种应用于DASH低延迟直播流的带宽测量方法,在客户端接收到当前数据包时执行以下操作:
过滤不饱和发送的数据包;
在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
本申请还公开了一种应用于DASH低延迟直播流的带宽测量设备,包括:
过滤模块,用于在接收到当前数据包时过滤不饱和发送的数据包;
带宽计算模块,用于在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
由上述技术方案可见,本申请提出的应用于DASH低延迟直播流的带宽测量技术方案,在客户端接收到数据包时,首先过滤不饱和发送的数据包;然后在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽,能够有效地避免大量数据碎片以及网络波动或者服务器性能造成的瞬间传输速率不稳定的影响,并克服现有计算带宽方法的不足,从而提高DASH低延迟直播流带宽测量的准确性。带宽测量准确性的提高有助于DASH直播流播放时选择准确的分辨率,进而提高用户的观看体验。
附图说明
图1为本申请应用于DASH低延迟直播流的带宽测量方法示意图;
图2为本申请一较佳从接收到的数据包中过滤不饱和发送的数据包的流程示意图;
图3为本申请一较佳在初步过滤后的数据包中寻找数据大小和传输速率的稳定区域,并计算当前带宽的流程示意图;
图4为本申请应用于DASH低延迟直播流的带宽测量设备的组成结构示意图;
图5为本申请实施例三的场景示意图;
图6~图8示出不同直播流码率和网络带宽条件下,本申请技术方案与现有技术的带宽测量结果对比。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
本申请为克服现有技术的不足,提出一种应用于DASH低延迟直播流的带宽测量技术方案,该技术方案通过过滤不饱和数据包,并寻找饱和数据包的稳定区域用以计算带宽。所述稳定区域包括数据包的数据大小的稳定区域以及传输速率的稳定区域。本申请提供的技术方案能够有效地避免大量数据碎片以及网络波动或者服务器性能造成的瞬间传输速率不稳定的影响,并克服现有计算带宽方法的不足,从而提高DASH低延迟直播流带宽测量的准确性。带宽测量准确性的提高有助于DASH直播流播放时选择准确的分辨率,进而提高用户的观看体验。
鉴于现有ATCE算法所存在的问题,本申请基于HTTP Chunked编码传输DASH低延迟直播流的特点,提出一种应用于DASH低延迟直播流的带宽测量方法,该方法应用于客户端,其流程图如图1所示,客户端接收到数据包后,执行以下操作:
步骤1:从接收到的数据包中,初步过滤服务器端的不饱和发送。换言之,过滤掉部分不饱和发送的数据包,也就是过滤掉接收到的数据碎片;
步骤2:在初步过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,基于数据大小以及传输速率的稳定区域计算带宽。
以下结合附图对上述各步骤进行详细说明。
图1所示步骤1是客户端从接收到的数据包中过滤掉部分不饱和发送的数据包,其主要原理在于:计算设定时间内接收到的数据包的数据大小平均值,如果当前接收到的数据包的数据大小小于或者等于该数据大小平均值,则过滤该数据包。本申请提供一种较佳的实现该步骤的流程,其流程图如图2所示,包括以下步骤:
步骤1.1:计算该数据包的传输时间,即:该数据包网络传输所花费的时间。
步骤1.2:将该数据包的数据大小以及传输时间作为一项队列元素插入双向队列Qo的尾部。
步骤1.3:如果插入队列Qo头部的队列元素的时间距离当前时间大于某一设定时间To,则表明队列Qo累积队列元素的时长已大于该设定时间To,此时,应当舍弃一些旧的队列元素,即舍弃队列头部的队列元素,执行步骤1.4;否则,直接执行步骤1.5。
步骤1.4:删除队列Qo头部的队列元素。
步骤1.5:计算队列Qo中数据大小的平均值:Savg=Stotal/count。其中,Stotal是队列Qo中各数据大小的总数,即总数据大小,count是队列Qo中队列元素的个数。
步骤1.6、如果步骤1.1所述数据包的数据大小大于队列Qo中数据大小的平均值Savg,则执行步骤1.7,将该数据包的数据大小以及传输时间作为一项队列元素插入双向队列Qf的尾部。与步骤1.3类似,如果插入队列Qf头部的队列元素的时间距离当前时间大于某一设定时长Tf,则表明队列Qf中累积队列元素的时长已大于该设定时长Tf,此时,应当舍弃队列头部的队列元素,即删除队列Qf头部的队列元素。
通过上述步骤1.1至1.6,客户端可以判断出接收到的数据包是否为不饱和发送的数据包,不饱和发送的数据包的数据大小和传输时间信息将无法进入队列Qf,因而,队列Qf中所缓存的数据包中过滤了不饱和发送的数据包。
图1所示步骤2是客户端在初步过滤后的数据包中寻找数据大小的稳定区域以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。该步骤的流程图如图3所示,包括以下步骤:
步骤2.1:对队列Qf按照数据大小进行排序。
步骤2.2:遍历排序后的队列Qf,获取数据大小相同且个数最多的一组队列元素,并记录这一组队列元素在Qf中的位置:起始位置Pb,结束位置Pe,以及元素个数Cmax
步骤2.3:如果Cmax大于或者等于某一设定数值C,表明所寻找到的这一组队列元素构成数据大小的稳定区域,可以基于此计算带宽,执行步骤2.4;否则,如果Cmax小于该设定数值C,则执行步骤2.7。
步骤2.4:对队列Qf中Pb到Pe区域中的队列元素按传输时间的大小进行排序。
步骤2.5:基于步骤2.4的排序结果获取传输速率的稳定区域。
传输时间反映的是传输速率,本申请基于步骤2.4的排序结果提供以下两种较佳的获取传输速率的稳定区域的方法:
第一种方法:简单计算。例如,直接取排序结果的1/4处和3/4处的若干队列元素构成传输速率的稳定区域。
这里,1/4处和3/4处是根据实验分析出来的较为合理的位置。
最开始和最末尾的位置可能会出现速率过大或者过小的冲击值,应该去掉;
中间1/2处可能出现带宽的突变,不适宜用于计算;
1/4处和3/4处是带宽速率比较稳定的两个区域,使用这些值可以使带宽测量更为准确。
第二种方法:复杂计算,通过计算方差值,获取传输速率的稳定区域。
具体方法如下:
1)计算Pb到Pe区域的中间位置Pm=(Pe–Pb)/2,如果Pm不为整数,可以向上或向下取整。
2)基于步骤2.4的Pb到Pe区域的排序结果,遍历队列Qf中从Pb到Pm-10的队列元素,计算每个队列元素的传输时间及其后面9个数据的传输时间的方差,获取方差最小的一组队列元素。
3)基于步骤2.4的Pb到Pe区域的排序结果,遍历队列Qf中从Pm+1到Pe-10的队列元素,计算每个队列元素的传输时间及其后面9个数据的传输时间的方差,获取方差最小的一组队列元素。
步骤2)和步骤3)所得到的两组队列元素构成传输速率的稳定区域。
步骤2.6:基于步骤2.5获取的传输速率的稳定区域,累加其数据大小得到S,累加其传输时间得到T,返回B=S/T作为当前带宽,结束当前流程。
步骤2.7:用队列Qo计算带宽。
具体的,累加队列Qo中的数据大小得到总数据大小S,累加队列Qo中的传输时间得到总传输时间T,计算B=S/T作为当前带宽。
至此,结束当前流程。
对应于上述方法,本申请还公开了一种设备,图4为本申请应用于DASH低延迟直播流的带宽测量设备的组成结构示意图,该设备包括过滤模块和带宽计算模块,其中:
过滤模块,用于在接收到当前数据包时过滤不饱和发送的数据包;
带宽计算模块,用于在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
较佳的,所述过滤模块具体用于:
计算设定时间To内接收到的数据包的数据大小平均值,如果当前数据包的数据大小小于或者等于所述数据大小平均值,则过滤所述当前数据包。
具体的,所述过滤模块用于执行以下操作:
计算所述当前数据包的传输时间;
将所述当前数据包的数据大小和传输时间插入双向队列Qo的尾部;
如果插入队列Qo头部的队列元素的时间距离当前时间大于所述设定时间To,则删除所述队列Qo头部的队列元素;
计算所述队列Qo中数据大小的平均值;
如果所述当前数据包的数据大小大于所述数据大小的平均值,则将所述当前数据包的数据大小以及传输时间插入双向队列Qf的尾部。
较佳的,所述带宽计算模块具体用于执行以下操作:
对所述队列Qf按照数据大小进行排序;
遍历排序后的所述队列Qf,获取数据大小相同且个数最多的一组队列元素,记录这一组队列元素在队列Qf中的位置:起始位置Pb,结束位置Pe,以及元素个数Cmax
如果所述Cmax大于或者等于设定数值C,则对所述队列Qf中Pb至Pe区域中的队列元素按传输时间的大小进行排序,并基于排序结果获取传输速率的稳定区域,再基于所述传输速率的稳定区域累加其数据大小得到S,累加其传输时间得到T,计算B=S/T作为当前带宽;
如果所述Cmax小于所述设定数值C,则累加队列Qo中的数据大小得到总数据大小S,累加队列Qo中的传输时间得到总传输时间T,计算B=S/T作为当前带宽。
在基于排序结果获取传输速率的稳定区域时,所述带宽计算模块具体用于:
取排序结果的1/4处的N1个队列元素和3/4处的N2个队列元素,以这N1+N2个队列元素构成传输速率的稳定区域;
或者,基于排序结果计算传输时间的方差值,获取传输速率的稳定区域。
下面通过三个较佳实施例,对本申请技术方案的具体实施进行举例说明。
实施例一:
本实施例假设对DASH直播流使用http chunked编码传输,测量其带宽的方案如下:
Step1、客户端接收到数据包,过滤掉部分不饱和发送的数据包,具体包括以下Step1.1至Step1.4:
Step1.1、计算该数据包网络传输所花费的时间,计算方法为:
a、如果是发出请求后第一次接收数据,则传输时间为:当前接收到数据包的时间Tnow-请求数据的时间Tbegin
b、如果不是第一包数据(即不属于上述情况a),则传输时间为:当前接收到数据的时间Tnow-上一次接收数据的时间Tprevious
Step1.2、缓存Step1.1中数据包的数据大小以及生成的传输时间信息到双向队列Qo尾部,如果Qo中累积时间大于某一时间,如1.5s,则弹出队列头部的数据。
Step1.3、计算队列Qo中数据大小的平均值:Savg=Stotal/count。其中,Stotal是队列Qo中的总数据大小,count是队列Qo中队列元素的个数。
Step1.4、如果Step1.1中数据包的数据大小大于Step1.3生成的数据大小的平均值Savg,则缓存该数据包的数据大小以及传输时间信息到双向队列Qf尾部,如果队列Qf中累积队列元素的时间大于某一时间,如1.5s,则弹出队列Qf头部的数据。
Step2、在带宽计算线程中,从Step1生成的队列Qf中寻找稳定区域,具体包括以下Step2.1至Step2.6。循环调用间隔可以依据具体情况设置为250ms,500ms。
Step2.1、对Step1.4生成的队列Qf按数据大小进行排序。
Step2.2、遍历Step2.1排序后的队列Qf,获取数据大小相同且个数最多的一组队列元素,并记录这一组队列元素在队列Qf中的位置:起始位置Pb,Pe,以及元素个数Cmax
Step2.3、如果Step2.2中获取的Cmax小于30,则用Step1.2中生成的队列Qo计算带宽:累加队列Qo中的数据大小得到S,累加队列Qo中的传输时间信息得到T,返回B=S/T为当前带宽;如果Cmax大于等于30,则继续Step2.4。
Step2.4、对Step2.2生成的Pb到Pe区域中的数据按传输时间的大小进行排序。
Step2.5、在Step2.4生成的Pb到Pe区域的排序结果中,取1/4附近的三个队列元素以及3/4附近三个队列元素。
Step2.6、对Step2.5所取的6个队列元素,累加其数据大小得到S,累加其时间信息得到T,返回B=S/T作为当前带宽。
实施例二:
本实施例假设对DASH直播流使用http chunked编码传输,测量其带宽的方案如下:
Step1、客户端接收到数据包,过滤掉部分不饱和发送的数据包,具体包括以下Step1.1至Step1.4:
Step1.1、计算该数据网络传输所花费的时间,计算方法为:
a、如果是发出请求后第一次接收数据,则传输时间为:当前接收到数据包的时间Tnow-请求数据的时间Tbegin
b、如果不是第一包数据,则传输时间为:当前接收到数据的时间Tnow-上一次接收数据的时间Tprevious
Step1.2、缓存Step1.1中数据包的数据大小以及生成的传输时间信息到双向队列Qo尾部,如果Qo中累积时间大于某一时间,如1.5s,则弹出队列头部的数据。
Step1.3、计算队列Qo中数据大小的平均值:Savg=Stotal/count。其中,Stotal是队列Qo中的总数据大小,count是队列Qo中队列元素的个数。
Step1.4、如果Step1.1中数据包的数据大小大于Step1.3生成的数据大小的平均值Savg,则缓存该数据包的数据大小以及传输时间信息到双向队列Qf尾部,如果队列Qf中累积队列元素的时间大于某一时间,如1.5s,则弹出队列Qf头部的数据。
Step2、在带宽计算线程中,从Step1生成的队列Qf中寻找稳定区域,具体包括以下Step2.1至Step2.6。循环调用间隔可以依据具体情况设置为250ms,500ms。
Step2.1、对Step1.4生成的Qf按数据大小进行排序。
Step2.2、遍历Step2.1排序后的队列Qf,获取数据大小相同且个数最多的一组队列元素,并记录这一组队列元素在队列Qf中的位置:起始位置Pb,Pe,以及元素个数Cmax
Step2.3、如果Step2.2中获取的Cmax小于30,则用Step1.2中生成的队列Qo计算带宽:累加队列Qo中的数据大小得到S,累加队列Qo中的传输时间信息得到T,返回B=S/T为当前带宽;如果Cmax大于等于30,则继续Step2.4。
Step2.4、对Step2.2生成的Pb到Pe区域中的数据按传输时间的大小进行排序。
Step2.5、在Step2.4生成的Pb到Pe区域中,计算Pb到Pe区域的中间位置Pm=(Pe–Pb)/2,如果Pm不为整数,则向下取整。
Step2.6、基于Step2.4的Pb到Pe区域的排序结果,遍历队列Qf中从Pb到Pm-10的队列元素,计算每个队列元素的传输时间及其后面9个数据的传输时间的方差,获取方差最小的一组队列元素。
Step2.7、基于Step2.4的Pb到Pe区域的排序结果,遍历队列Qf中从Pm+1到Pe-10的队列元素,计算每个队列元素的传输时间及其后面9个数据的传输时间的方差,获取方差最小的一组队列元素。
Step2.8、对Step2.6和Step2.8生成的两组队列元素,累加其数据大小得到S,累加其时间信息得到T,返回B=S/T作为当前带宽时间。
实施例三:
准确测量带宽有助于选择分辨率匹配的视频流进行播放:
在高带宽时选择高分辨率视频流进行播放,可以在保持播放流畅的前提下,提高视频质量;
在低带宽时选择低分辨率视频流进行播放,可以保证低带宽时,视频的流畅播放。
本实施例通过完整的场景描述,展现本申请所提供的技术方案在现实场景中的意义。图5为本申请实施例三的场景图,参见图5:
Step 1、摄像头录制足球比赛并编码成DASH直播流,保存在DASH直播服务器(DASHLive Server)上,该DASH直播流包含三种码率和分辨率:8Mbps/UHD,5Mbps/FHD,1Mbps/HD。
Step 2、客户端TV,向DASH直播服务器请求播放直播流,DASH直播服务器以HTTPChunked编码传输方式传输DASH媒体文件。
Step 3、初始播放时,由于不清楚带宽大小,为保证视频播放流畅,传输低码率的视频流,1Mbps/HD,该视频分辨率较低,用户体验较差。
Step 4、客户端TV应用本申请提供的技术方案进行带宽计算,得到当前带宽值约为10Mbps。
Step 5、客户端TV向DASH直播服务器请求高码率视频流。
Step 6、DASH直播服务器向客户端TV传输8Mbps/UHD的视频流,视频流播放流畅且分辨率高,用户体验变好。
如果用现有技术,计算得到的带宽将约等于视频流的码率1Mbps,客户端TV不会请求更高分辨率的视频,此时用户只能观看到HD的直播流,体验较差。
图6~图8示出不同直播流码率和网络带宽条件下,本申请技术方案与现有技术的带宽测量结果对比,对比显示本申请技术方案相比于现有带宽测量方法有明显的性能提升。其中:
深色线表示:现有测量方法直接通过数据大小/传输时间得到的带宽值;
浅色线表示:应用本申请技术方案计算得到的带宽值。
图6中,直播流码率为:1500kbps,网络带宽为:800kbps。
现有测量方法的测量结果约为700kbps,本申请方案的测量结果约为750kbps。两者测量结果相差不多,但是本申请方案更接近实际网络带宽。
图7中,直播流码率为:2000kbps,网络带宽为:5000kbps。
现有测量方法的测量结果约为2000kbps,接近直播流码率,无法准确测量网络带宽;而本申请方案的测量结果为4700kbps,接近实际网络带宽。
图8中,直播流码率为:1000kbps,网络带宽:从200kbps到8Mbps循环变化。
现有测量方法测量得到的最大带宽约为3Mbps,无法准确测量最大网络带宽;而本申请方案测量得到的最大带宽约为8Mbps,接近实际最大带宽值。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (8)

1.一种应用于DASH低延迟直播流的带宽测量方法,其特征在于,在客户端接收到当前数据包时执行以下操作:
过滤不饱和发送的数据包;所述过滤不饱和发送的数据包包括:计算设定时间To内接收到的数据包的数据大小平均值,如果当前数据包的数据大小小于或者等于所述数据大小平均值,则过滤所述当前数据包;所述计算设定时间To内接收到的数据包的数据大小平均值,如果当前数据包的数据大小小于或者等于所述数据大小平均值,则过滤所述当前数据包具体包括:计算所述当前数据包的传输时间;将所述当前数据包的数据大小和传输时间插入双向队列Qo的尾部;如果插入队列Qo头部的队列元素的时间距离当前时间大于所述设定时间To,则删除所述队列Qo头部的队列元素;计算所述队列Qo中数据大小的平均值;如果所述当前数据包的数据大小大于所述数据大小的平均值,则将所述当前数据包的数据大小以及传输时间插入双向队列Qf的尾部;
在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
2.根据权利要求1所述的方法,其特征在于,所述在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,基于数据大小以及传输速率的稳定区域计算当前带宽具体包括:
对所述队列Qf按照数据大小进行排序;
遍历排序后的所述队列Qf,获取数据大小相同且个数最多的一组队列元素,记录这一组队列元素在队列Qf中的位置:起始位置Pb,结束位置Pe,以及元素个数Cmax
如果所述Cmax大于或者等于设定数值C,则对所述队列Qf中Pb至Pe区域中的队列元素按传输时间的大小进行排序,并基于排序结果获取传输速率的稳定区域,再基于所述传输速率的稳定区域累加其数据大小得到S,累加其传输时间得到T,计算B=S/T作为当前带宽;
如果所述Cmax小于所述设定数值C,则累加队列Qo中的数据大小得到总数据大小S,累加队列Qo中的传输时间得到总传输时间T,计算B=S/T作为当前带宽。
3.根据权利要求2所述的方法,其特征在于,所述基于排序结果获取传输速率的稳定区域包括:
取排序结果的1/4处的N1个队列元素和3/4处的N2个队列元素,以这N1+N2个队列元素构成传输速率的稳定区域。
4.根据权利要求2所述的方法,其特征在于,所述基于排序结果获取传输速率的稳定区域包括:
计算Pb到Pe区域的中间位置Pm=(Pe–Pb)/2,如果Pm不为整数,对其向上或向下取整;
基于Pb到Pe区域的排序结果,遍历队列Qf中从Pb到Pm-10的队列元素,计算每个队列元素的传输时间及其后9个数据的传输时间的方差,获取方差最小的一组队列元素;
基于Pb到Pe区域的排序结果,遍历队列Qf中从Pm+1到Pe-10的队列元素,计算每个队列元素的传输时间及其后9个数据的传输时间的方差,获取方差最小的一组队列元素;
所获取的两组队列元素构成传输速率的稳定区域。
5.一种应用于DASH低延迟直播流的带宽测量设备,其特征在于,包括:
过滤模块,用于在接收到当前数据包时过滤不饱和发送的数据包;所述过滤模块具体用于:计算设定时间To内接收到的数据包的数据大小平均值,如果当前数据包的数据大小小于或者等于所述数据大小平均值,则过滤所述当前数据包;所述过滤模块具体用于执行以下操作:计算所述当前数据包的传输时间;将所述当前数据包的数据大小和传输时间插入双向队列Qo的尾部;如果插入队列Qo头部的队列元素的时间距离当前时间大于所述设定时间To,则删除所述队列Qo头部的队列元素;计算所述队列Qo中数据大小的平均值;如果所述当前数据包的数据大小大于所述数据大小的平均值,则将所述当前数据包的数据大小以及传输时间插入双向队列Qf的尾部;
带宽计算模块,用于在过滤后的数据包中,寻找数据大小以及传输速率的稳定区域,并基于数据大小以及传输速率的稳定区域计算当前带宽。
6.根据权利要求5所述的设备,其特征在于,所述带宽计算模块具体用于执行以下操作:
对所述队列Qf按照数据大小进行排序;
遍历排序后的所述队列Qf,获取数据大小相同且个数最多的一组队列元素,记录这一组队列元素在队列Qf中的位置:起始位置Pb,结束位置Pe,以及元素个数Cmax
如果所述Cmax大于或者等于设定数值C,则对所述队列Qf中Pb至Pe区域中的队列元素按传输时间的大小进行排序,并基于排序结果获取传输速率的稳定区域,再基于所述传输速率的稳定区域累加其数据大小得到S,累加其传输时间得到T,计算B=S/T作为当前带宽;
如果所述Cmax小于所述设定数值C,则累加队列Qo中的数据大小得到总数据大小S,累加队列Qo中的传输时间得到总传输时间T,计算B=S/T作为当前带宽。
7.根据权利要求6所述的设备,其特征在于,所述带宽计算模块具体用于:
取排序结果的1/4处的N1个队列元素和3/4处的N2个队列元素,以这N1+N2个队列元素构成传输速率的稳定区域。
8.根据权利要求6所述的设备,其特征在于,所述带宽计算模块具体用于:
计算Pb到Pe区域的中间位置Pm=(Pe–Pb)/2,如果Pm不为整数,对其向上或向下取整;
基于Pb到Pe区域的排序结果,遍历队列Qf中从Pb到Pm-10的队列元素,计算每个队列元素的传输时间及其后9个数据的传输时间的方差,获取方差最小的一组队列元素;
基于Pb到Pe区域的排序结果,遍历队列Qf中从Pm+1到Pe-10的队列元素,计算每个队列元素的传输时间及其后9个数据的传输时间的方差,获取方差最小的一组队列元素;
所获取的两组队列元素构成传输速率的稳定区域。
CN202110980399.4A 2021-08-25 2021-08-25 一种应用于dash低延迟直播流的带宽测量方法和设备 Active CN113691880B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110980399.4A CN113691880B (zh) 2021-08-25 2021-08-25 一种应用于dash低延迟直播流的带宽测量方法和设备
PCT/KR2022/010728 WO2023027346A1 (en) 2021-08-25 2022-07-21 Bandwidth measurement method and device for dash low-latency live streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110980399.4A CN113691880B (zh) 2021-08-25 2021-08-25 一种应用于dash低延迟直播流的带宽测量方法和设备

Publications (2)

Publication Number Publication Date
CN113691880A CN113691880A (zh) 2021-11-23
CN113691880B true CN113691880B (zh) 2024-04-16

Family

ID=78582499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110980399.4A Active CN113691880B (zh) 2021-08-25 2021-08-25 一种应用于dash低延迟直播流的带宽测量方法和设备

Country Status (2)

Country Link
CN (1) CN113691880B (zh)
WO (1) WO2023027346A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104995961A (zh) * 2013-03-29 2015-10-21 英特尔Ip公司 漫游情景中wlan选择策略的控制
CN105830451A (zh) * 2013-10-07 2016-08-03 三星电子株式会社 用于内容分发的方法和装置
CN108833996A (zh) * 2018-07-03 2018-11-16 湖北大学 分布式dash系统中服务节点选择、更新和码率自适应方法
CN109040855A (zh) * 2018-09-03 2018-12-18 重庆邮电大学 一种无线dash流媒体码率平滑自适应传输方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8116225B2 (en) * 2008-10-31 2012-02-14 Venturi Wireless Method and apparatus for estimating channel bandwidth
US8812662B2 (en) * 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
HUE043713T2 (hu) * 2013-03-29 2019-09-30 Intel Ip Corp Minõségtudatos sebességillesztési technikák DASH streameléshez
US9807592B2 (en) * 2014-11-13 2017-10-31 Intel Corporation Context-aware resource management for video streaming services
US10454985B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated File format based streaming with dash formats based on LCT
EP3311577B1 (en) * 2015-06-16 2020-05-27 Intel IP Corporation A dynamic adaptive streaming over hypertext transfer protocol (dash) assisting network element (dane) transcoding media content based on a set of metric and status messages received from the dash client and corresponding dash client device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104995961A (zh) * 2013-03-29 2015-10-21 英特尔Ip公司 漫游情景中wlan选择策略的控制
CN105830451A (zh) * 2013-10-07 2016-08-03 三星电子株式会社 用于内容分发的方法和装置
CN108833996A (zh) * 2018-07-03 2018-11-16 湖北大学 分布式dash系统中服务节点选择、更新和码率自适应方法
CN109040855A (zh) * 2018-09-03 2018-12-18 重庆邮电大学 一种无线dash流媒体码率平滑自适应传输方法

Also Published As

Publication number Publication date
CN113691880A (zh) 2021-11-23
WO2023027346A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
CN107623851B (zh) 视频码流传输控制装置及控制方法
US20190075342A1 (en) Codec techniques for fast switching
US9532062B2 (en) Controlling player buffer and video encoder for adaptive video streaming
CN104125429B (zh) 视频数据传输的调节方法及装置
CN107493482B (zh) 一种视频回放方法及装置
WO2013159502A1 (zh) 一种视频质量评估方法和装置
CN106686409B (zh) 一种流媒体码率自适应方法及装置、服务器、终端
CN106688239A (zh) 视频下载方法、装置及系统
EP2589223B1 (en) Video streaming
KR20130110213A (ko) 비디오 데이터 품질 평가 방법 및 장치
FR2908585A1 (fr) Procede et dispositif de transmission de donnees video.
EP2612495A1 (en) Adaptive streaming of video at different quality levels
CN106791860B (zh) 一种自适应视频编码控制系统及方法
KR102012528B1 (ko) 수신 비트율 및 연관된 수신기의 동적 적응 방법
US20170142029A1 (en) Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium
WO2022052566A1 (zh) 视频码率调整方法、装置、电子设备和机器可读存储介质
JP6021385B2 (ja) ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム
CN105898358B (zh) 视频数据的发送方法及装置
CN113691880B (zh) 一种应用于dash低延迟直播流的带宽测量方法和设备
WO2024120214A1 (zh) 一种编码控制方法、装置、设备、存储介质及产品
CN108810468B (zh) 一种优化显示效果的视频传输装置及方法
JP2011061533A (ja) コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム
CN1992886A (zh) 具有带宽适配功能的流媒体服务器
WO2015044104A1 (en) Video traffic management
WO2011029369A1 (zh) 一种视频编解码方法、系统及视频监控系统

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
GR01 Patent grant
GR01 Patent grant