CN112437321B - 一种基于直播流媒体的自适应码率计算方法 - Google Patents
一种基于直播流媒体的自适应码率计算方法 Download PDFInfo
- Publication number
- CN112437321B CN112437321B CN202011256774.2A CN202011256774A CN112437321B CN 112437321 B CN112437321 B CN 112437321B CN 202011256774 A CN202011256774 A CN 202011256774A CN 112437321 B CN112437321 B CN 112437321B
- Authority
- CN
- China
- Prior art keywords
- current
- network
- bandwidth
- code rate
- reward
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 15
- 230000003044 adaptive effect Effects 0.000 title claims description 10
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000012417 linear regression Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000010355 oscillation Effects 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
- H04N21/23655—Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于直播流媒体的自适应码率计算方法,基于网络特征分类的目标缓冲大小决策方式,实现了同时根据缓冲区和吞吐量进行更精准的决策、根据当前缓冲区大小进行快慢播调整为用户带来更流畅的直播体验、在各种网络环境下实现QoE最优化。相较于现有技术,本发明根据当前的网络状况以及缓存大小动态地判断出流媒体直播快播和慢播的时机;带给用户更加流畅的直播观看体验;更加精准地预测当前的网络带宽,为自适应码率决策提供了强力保障;根据当前的网络状况、缓存大小自适应地选择较为合适的码率,使得在当前网络下实现收益最大化;增加了快慢播的切换,保证在不影响观看体验的同时,尽可能的提高QoE。
Description
技术领域
本发明涉及互联网、流媒体技术领域,特别是涉及一种基于直播流媒体的自适应码率算法。
背景技术
为了能够使用户在动态的网络环境中获得更好的用户体验质量(QoE),国内外很多直播平台采用基于HTTP的DASH协议的方式。基本的流程是首先在内容分发网络(CDN)中存储已经按照不同码率编码完毕的视频块,用户所在的客户端会不断地向服务器请求某个特定码率下的视频块,每个被切分的视频块包含几秒钟的视频内容,服务器把相应的视频块传输给客户端,客户端会把收到的相应的视频块保存在本地的缓冲区(Buffer)中。在用户观看直播的过程中,Buffer会实时消耗。因此,当用户的下载速率与码率不相适应的条件下,就会出现Buffer清空或者累计Buffer直至溢出的情况;当用户的带宽远远低于码率的时候就会出现卡顿。于是各个平台通过自适应码率算法根据来根据当前网络状况和Buffer长度来选择合适的码率优化QoE。
ABR算法提高了用户观看直播时的体验质量,但当前的不同的ABR算法仍存在各种缺点,部分功能无法满足用户需求,对于使用者来说就需要对于功能需求进行一定的妥协。传统ABR算法有三种,分别是:Rate-based,Buffer-based,Hybrid。Rate-based算法是根据吞吐量进行估计,之后选择与吞吐量接近或者略低的码率。Buffer-based算法是基于用户的缓冲区进行码率预测,该算法的基本策略是在Buffer小的时候选择相对低的码率,在吞吐量抖动剧烈时较难预测,经常给出不正确的决策,导致QoE下降;具体例如Buffer大的时候选择相对高的码率、在buffer长度较小时比较保守,出现频繁切换码率的现。Hybrid算法是同时基于吞吐量和缓冲区进行码率决策,其基本逻辑是对用户所在的客户端的播放逻辑进行简单的建模,从而利用吞吐量和缓冲区大小来决策适合的码率大小,以便用户可以得到的更佳QoE,运行的过程中的模型参数对实时网络的网络条件比较敏感。
发明内容
本发明针对上述问题,提出了一种直播流媒体的自适应码率算法,基于网络特征分类的目标缓冲大小决策方式,实现了同时根据缓冲区和吞吐量进行更精准的决策、根据当前缓冲区大小进行快慢播调整为用户带来更流畅的直播体验、在各种网络环境下实现QoE最优化。
本发明的一种基于直播流媒体的自适应码率计算方法,具体包括以下步骤:
步骤1:进行预处理,包括:初始化自定义成员变量,读取当前5个切片传输周期的数据,包括码率、当前周期帧数、码率类型数和目标缓冲大小;获取当前传输周期内的帧个数,判定当前传输周期是否存在I帧并进行处理;
步骤2:进行带宽估计,包括:获取过去5个周期的历史带宽和当前周期的带宽;接下来,根据近5个周期的带宽参数采用最小二乘法预测当前的带宽,根据网络状态通过误差估计得到带宽误差,进而做出相应的带宽调整,
步骤3:根据步骤2计算出的5组带宽误差,来判断网络是否震荡网络还是平稳网络,再根据20组带宽的平均带宽来判断当前网络状态,对弱或强带宽周期计数,反馈给下一时刻的网络类型预测;
若满足以下条件:
则判断当前网络状况为弱网;
若满足以下条件:
则判断当前网络状况为强网,
步骤4:通过近5个传输周期的相关参数包括帧数、历史奖励值、惩罚计数和码率,推测下一个传输周期的Reward,公式如下:
其中,Reward是综合评价过去几个周期的直播的QoE以及当前网络状况的指标;
计算每一帧i的Quality[i]、Fluency[i]参数,公式如下:
Quality[i]=Play_t ime_duration*Bitrate
Fluency[i]=-Latency*α-Re buff*β
计算每一个周期的Smooth参数,公式如下:
Smooth=-Switch_number*γ
其中,Quality[i]表示用户播放的当前帧的质量,Fluency[i]表示用户播放当前帧的流畅度,Smooth表示此周期用户观看视频的平滑度,Frame_hum表示每一周期的帧数,Play_time_duration表示每一帧的播放时长,Bitrate表示当前帧的码率,Latency表示当前帧的时延,Rebuff年表示播放当前帧的卡顿时间,Switch_number表示当前周期的码率切换频次,α、β、γ为决策权重参数;
并记录和播放当前帧的即卡顿时间Rebuff;
同时计算前5个周期的加权Reward值,记做past_reward;
步骤5:根据预测所得的Reward对码率大小进行决策:首先把码率设置为0、1、2、3四个档位,分别对应360P、480P、720P、1080P,然后针对负值、不断增加和不断减少三类Reward进行计数,并为三类Reward分别设置阈值;若当前Reward值为负数,计数达到阈值,则将码率设置为最低码率,以保持直播的流畅性,当Reward减少到小于past_reward,并且计数达到阈值时,证明当前网络状况不好,将码率向下调低一档;当Reward逐渐增加到大于past_reward,并且计数达到阈值,此时网络状况良好,将码率向上调高一档;
上述每一次决策以后将Reward计数进行重置;
根据网络类型以及当前的卡顿情况来对目标缓冲区大小进行码率决策,即采用最小二乘法推算未来缓存即为fut_buf,并根据网络类型以及当前Rebuff情况计数;
步骤6:保存当前周期相关参数包括码率、帧数、奖励值、缓冲区大小、卡顿时间以及当前周期决策的Bitrate和target_buffer,并保存至步骤2,用于预测下一刻的带宽大小;其中Bitrate是码率大小,target_buffer是目标缓冲大小。
所述步骤2的带宽预测包括以下算法流程:
步骤2-1:根据近5个周期的带宽参数采用最小二乘法预测当前的带宽,公式如下:
其中,a表示线性回归方程的回归斜率,b表示线性回归方程的回归截距,i表示当前周期的前一个周期的周期数,表示近几个周期的周期数的平均值,bwi表示第i个周期的带宽,表示所预测的当前周期的带宽,表示近5个周期带宽的均值,PST_NUM表示用于计算及预测的周期数;
步骤2-2:根据不同的网络状态通过误差估计做出相应的带宽调整,平稳网络下的调整算法公式如下:
其中,pst_errs表示近几个周期的最大误差;
周期震荡网络下的调整算法公式如下:
当pst_bw[-cycle]<cur_bw时,
当pst_bw[-cycle]≥cur_bw时,
其中,cur_bw表示当前的网络带宽,pst_bw[-cycle]表示近几个周期的网络带宽;调整后的带宽即为带宽预测结果。
相较于现有技术,本发明的一种直播流媒体的自适应码率算法的优点如下:
(1)根据当前的网络状况以及缓存大小动态地判断出流媒体直播快播和慢播的时机;相比Rate_based算法,本发明将缓冲区的状况考虑在内,带给用户更加流畅的直播观看体验;
(2)相比Buffer_based算法,本发明将当前的网络状况考虑在内,更加精准地预测当前的网络带宽,为自适应码率决策提供了强力保障;
(3)根据当前的网络状况、缓存大小自适应地选择较为合适的码率,使得在当前网络下实现收益最大化;相比Hybrid算法,本发明增加了快慢播的切换,保证在不影响观看体验的同时,尽可能的提高QoE。
附图说明
图1为本发明的一种基于直播流媒体的自适应码率计算方法整体流程图。
具体实施方式
下面将结合附图对本发明的实施方式作进一步的详细描述。
如图1所示,为本发明的一种基于直播流媒体的自适应码率计算方法整体流程图。该自适应码率计算方法的流程主要分为六部分,分别是预处理、带宽预测、特征分析、推算决策码率的Reward和目标缓冲区、后处理。具体步骤说明如下:
步骤1:进行预处理操作,包括:初始化自定义成员变量,读取当前5个切片传输周期的数据码率、当前周期帧数、码率类型数和目标缓冲大小;获取当前传输周期内的帧个数,判定当前传输周期是否能存在I帧并进行处理,帧是帧内编码帧,I帧表示关键帧即完整保留这一帧全部画面;处理为解码时只需要本帧数据就可以完成(因为包含完整画面);
步骤2:进行带宽估计:首先,获取过去5个周期的历史带宽和当前周期的带宽;接下来,根据近5个周期的带宽参数采用最小二乘法预测当前的带宽,根据网络状态(强网、中网和弱网)通过误差估计得到带宽误差,进而做出相应的带宽调整,
步骤3:根据步骤2计算出的5组带宽误差,来判断网络是否震荡网络还是平稳网络,再根据20组带宽的平均带宽来判断当前网络状态(弱网、中网和强网),对弱或强带宽周期计数,反馈给下一时刻的网络类型预测;
若满足以下条件:
则判断当前网络状况为弱网;
若满足以下条件:
则判断当前网络状况为强网,
根据大量数据分析,令WEAK_BOUND=0.8Mbs,STRONG_BOUND=1.2Mbs为合理的界值;
步骤4:通过近5个传输周期的相关参数包括帧数、历史奖励值、惩罚计数和码率,推测下一个传输周期的Reward,公式如下:
计算每一帧i的Quality[i]、Fluency[i]参数,公式如下:
Quality[i]=Play_t ime_duration*Bitrate
Fluency[i]=-Latency*α-Re buff*β
计算每一个周期的Smooth参数,公式如下:
Smooth=-Switch_number*γ
经过测试调整确定,当参数采取α=0.005、β=1.5、γ=0.02进行决策时取得的QoE较好。
其中,Quality[i]表示用户播放的当前帧的质量,Fluency[i]表示用户播放当前帧的流畅度,Smooth表示此周期用户观看视频的平滑度,Frame_num表示每一周期的帧数,Play_time_duration表示每一帧的播放时长,Bitrate表示当前帧的码率,Latency表示当前帧的时延,Rebuff年表示播放当前帧的卡顿时间,Switch_number表示当前周期的码率切换频次,;
累积每一帧的质量得分和流畅度得分相加再补充一个平滑度得分,并记录和播放当前帧的Rebuff;Reward是综合评价过去几个周期的直播的QoE以及当前网络状况的指标;
同时计算前5个周期的加权Reward值,记做past_reward(加权规则:离当前周期越近权值越大)用作步骤五中的码率决策;
步骤5:根据预测所得的Reward对码率大小进行决策:首先把码率设置为0、1、2、3四个档位,分别对应360P、480P、720P、1080P,然后针对负值、不断增加和不断减少三类Reward进行计数,并为三类Reward分别设置阈值。若当前Reward值为负数,计数达到阈值,则将码率设置为最低码率,以保持直播的流畅性。当Reward减少到小于past_reward,并且计数达到阈值时,证明当前网络状况不是很乐观,将码率向下调低一档。当Reward逐渐增加到大于past_reward,并且计数达到阈值,此时网络状况良好,将码率向上调高一档。上述每一次决策以后将Reward计数进行重置;
根据网络类型以及当前的卡顿情况来对目标缓冲区大小进行决策:采用最小二乘法推算未来缓存即为fut_buf,并根据网络类型以及当前Rebuff情况计数;
步骤6:保存当前周期相关参数包括码率、帧数、奖励值、缓冲区大小、卡顿时间以及当前周期决策的Bitrate和target_buffer,并保存至步骤2,用于预测下一刻的带宽大小;其中Bitrate是码率大小,target_buffer是目标缓冲大小;
上述步骤2的带宽预测包括以下算法流程:
步骤2-1:首先根据近几个周期的带宽参数采用最小二乘法预测当前的带宽,公式如下:
其中,a表示线性回归方程的回归斜率,b表示线性回归方程的回归截距,i表示当前周期的前一个周期的周期数,表示近几个周期的周期数的平均值,bwi表示第i个周期的带宽,表示所预测的当前周期的带宽,表示近几个周期带宽的均值,PST_NUM表示用于计算及预测的周期数(一般取值为5);
步骤2-2:然后根据不同的网络状态通过误差估计做出相应的带宽调整,平稳网络下的调整算法公式如下:
其中,pst_errs表示近几个周期的最大误差。
周期震荡网络下的调整算法公式如下:
当pst_bw[-cycle]<cur_bw时,
当pst_bw[-cycle]≥cur_bw时,
其中,cur_bw表示当前的网络带宽,pst_bw[-cycle]表示近几个周期的网络带宽;调整后的带宽即为带宽预测结果。
上述步骤5中根据预测所得的Reward对码率大小进行决策的过程,具体包括以下步骤:
步骤5-1:决策Bitrate
首先,把码率设置为0、1、2、3四个档位,分别对应360P、480P、720P、1080P,然后针对负值、不断增加和不断减少三类Reward进行计数,并为三类Reward分别设置阈值。若当前Reward值为负数,计数达到阈值,则将码率设置为最低码率,以保持直播的流畅性。当Reward逐渐减少,并且计数达到阈值时,证明当前网络状况不是很乐观,将码率向下调低一档。当Reward逐渐增加时,并且计数达到阈值,此时网络状况良好,将码率向上调高一档。上述每一次决策以后将Reward计数进行重置。
步骤5-2:决策目标缓冲区
像带宽预测一样仍然采用最小二乘法推算未来缓存即为fut_buf并根据网络类型以及当前Rebuff情况计数决策目标缓冲区。特别地,震荡网络中,强、弱网均会分别对各自的Rebuff情况计数。
目标缓冲大小情况分析条件如表1所示:
表1
表中慢播界slw_ply_bnd和快播界fst_ply_bnd是根据缓冲区大小设置的流媒体直播的快播、慢播的界限。WEAK_COUNT和STRONG_COUNT是震荡网络中强弱网的周期计数,WEAK_THRESHOLD和STRONG_THRESHOLD是强弱网计数的阈值。当缓冲区的大小小于slw_ply_bnd时进行慢播;当缓冲区大小大于fst_ply_bnd时进行快播。
Claims (5)
1.一种基于直播流媒体的自适应码率计算方法,其特征在于,该方法具体包括以下步骤:
步骤1:进行预处理,包括:初始化自定义成员变量,读取当前5个切片传输周期的数据,包括码率、当前周期帧数、码率类型数和目标缓冲大小;获取当前传输周期内的帧个数,判定当前传输周期是否存在I帧并进行处理;
步骤2:进行带宽估计,包括:获取过去5个周期的历史带宽和当前周期的带宽;接下来,根据近5个周期的带宽参数采用最小二乘法预测当前的带宽,根据网络状态通过误差估计得到带宽误差,进而做出相应的带宽调整,
步骤3:根据步骤2计算出的5组带宽误差,来判断网络是否震荡网络还是平稳网络,再根据20组带宽的平均带宽来判断当前网络状态,对弱或强带宽周期计数,反馈给下一时刻的网络类型预测;
若满足以下条件:
则判断当前网络状况为弱网;
若满足以下条件:
则判断当前网络状况为强网,
步骤4:通过近5个传输周期的相关参数包括帧数、历史奖励值、惩罚计数和码率,推测下一个传输周期的Reward,公式如下:
其中,Reward是综合评价过去几个周期的直播的QoE以及当前网络状况的指标;
计算每一帧i的Quality[i]、Fluency[i]参数,公式如下:
Quality[i]=Play_time_duration*Bitrate
Fluency[i]=-Latency*α-Rebuff*β
计算每一个周期的Smooth参数,公式如下:
Smooth=-Switch_number*γ
其中,Quality[i]表示用户播放的当前帧的质量,Fluency[i]表示用户播放当前帧的流畅度,Smooth表示此周期用户观看视频的平滑度,Frame_num表示每一周期的帧数,Play_time_duration表示每一帧的播放时长,Bitrate表示当前帧的码率,Latency表示当前帧的时延,Rebuff年表示播放当前帧的卡顿时间,Switch_number表示当前周期的码率切换频次,α、β、γ为决策权重参数;
并记录和播放当前帧的即卡顿时间Rebuff;
同时计算前5个周期的加权Reward值,记做past_reward;
步骤5:根据预测所得的Reward对码率大小进行决策:首先把码率设置为0、1、2、3四个档位,分别对应360P、480P、720P、1080P,然后针对负值、不断增加和不断减少三类Reward进行计数,并为三类Reward分别设置阈值;若当前Reward值为负数,计数达到阈值,则将码率设置为最低码率,以保持直播的流畅性,当Reward减少到小于past_reward,并且计数达到阈值时,证明当前网络状况不好,将码率向下调低一档;当Reward逐渐增加到大于past_reward,并且计数达到阈值,此时网络状况良好,将码率向上调高一档;
上述每一次决策以后将Reward计数进行重置;
根据网络类型以及当前的卡顿情况来对目标缓冲区大小进行码率决策,即采用最小二乘法推算未来缓存即为fut_buf,并根据网络类型以及当前Rebuff情况计数;
步骤6:保存当前周期相关参数包括码率、帧数、奖励值、缓冲区大小、卡顿时间以及当前周期决策的Bitrate和target_buffer,并保存至步骤2,用于预测下一刻的带宽大小;其中Bitrate是码率大小,target_buffer是目标缓冲大小。
2.如权利要求1所述的一种基于直播流媒体的自适应码率计算方法,其特征在于,所述步骤2的带宽预测包括以下算法流程:
步骤2-1:根据近5个周期的带宽参数采用最小二乘法预测当前的带宽,公式如下:
其中,a表示线性回归方程的回归斜率,b表示线性回归方程的回归截距,i表示当前周期的前一个周期的周期数,表示近几个周期的周期数的平均值,bwi表示第i个周期的带宽,表示所预测的当前周期的带宽,表示近5个周期带宽的均值,PST_NUM表示用于计算及预测的周期数;
步骤2-2:根据不同的网络状态通过误差估计做出相应的带宽调整,平稳网络下的调整算法公式如下:
其中,pst_errs表示近几个周期的最大误差;
周期震荡网络下的调整算法公式如下:
当pst_bw[-cycle]<cur_bw时,
当pst_bw[-cycle]≥cur_bw时,
其中,cur_bw表示当前的网络带宽,pst_bw[-cycle]表示近几个周期的网络带宽;调整后的带宽即为带宽预测结果。
3.如权利要求1所述的一种基于直播流媒体的自适应码率计算方法,其特征在于,所述步骤5中根据预测所得的Reward对码率大小进行决策的过程,具体包括以下步骤:
步骤5-1:决策Bitrate:首先把码率设置为0、1、2、3四个档位,分别对应360P、480P、720P、1080P,然后针对负值、不断增加和不断减少三类Reward进行计数,并为三类Reward分别设置阈值;若当前Reward值为负数,计数达到阈值,则将码率设置为最低码率,以保持直播的流畅性;当Reward逐渐减少,并且计数达到阈值时,证明当前网络状况不好,将码率向下调低一档;当Reward逐渐增加时,并且计数达到阈值,此时网络状况良好,将码率向上调高一档;
上述每一次决策处理之后,将Reward计数进行重置;
步骤5-2:决策目标缓冲区:仍然采用最小二乘法推算未来缓存fut_buf,根据网络类型以及当前Rebuff情况计数决策目标缓冲区。
4.如权利要求1所述的一种基于直播流媒体的自适应码率计算方法,其特征在于,令决策权重参数α=0.005、β=1.5、γ=0.02。
5.如权利要求1所述的一种基于直播流媒体的自适应码率计算方法,其特征在于,令界值WEAK_BOUND=0.8Mbs,STRONG_BOUND=1.2Mbs。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256774.2A CN112437321B (zh) | 2020-11-11 | 2020-11-11 | 一种基于直播流媒体的自适应码率计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256774.2A CN112437321B (zh) | 2020-11-11 | 2020-11-11 | 一种基于直播流媒体的自适应码率计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437321A CN112437321A (zh) | 2021-03-02 |
CN112437321B true CN112437321B (zh) | 2022-04-19 |
Family
ID=74699710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011256774.2A Active CN112437321B (zh) | 2020-11-11 | 2020-11-11 | 一种基于直播流媒体的自适应码率计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437321B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411628B (zh) * | 2021-06-21 | 2022-06-24 | 中国电信股份有限公司 | 直播视频的码率自适应方法、装置、电子设备及可读介质 |
CN114374879B (zh) * | 2022-01-14 | 2023-12-29 | 重庆帮企科技集团有限公司 | 一种移动端视频加载的方法 |
CN115022684B (zh) * | 2022-05-27 | 2023-08-04 | 西安交通大学 | 一种quic协议下基于深度强化学习的视频流自适应传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208390A (zh) * | 2014-06-30 | 2015-12-30 | 杭州海康威视数字技术股份有限公司 | 视频编码的码率控制方法及其系统 |
CN106993237A (zh) * | 2017-04-13 | 2017-07-28 | 中北大学 | 基于mpeg‑dash协议的动态自适应码率选择方法 |
CN107154918A (zh) * | 2016-03-03 | 2017-09-12 | 北京大学 | 基于pid控制的视频直播传输控制方法及系统 |
CN109040855A (zh) * | 2018-09-03 | 2018-12-18 | 重庆邮电大学 | 一种无线dash流媒体码率平滑自适应传输方法 |
CN109218781A (zh) * | 2017-07-07 | 2019-01-15 | 华为软件技术有限公司 | 视频码率控制方法和装置 |
CN110198495A (zh) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027403B2 (en) * | 2001-05-22 | 2006-04-11 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for minimizing error in bandwidth allocation with an optimal number of renegotiations |
JP6481339B2 (ja) * | 2014-11-12 | 2019-03-13 | 富士ゼロックス株式会社 | 帯域幅予測装置、帯域幅予測システム、帯域幅予測プログラム、帯域幅予測方法、及び記録媒体 |
-
2020
- 2020-11-11 CN CN202011256774.2A patent/CN112437321B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105208390A (zh) * | 2014-06-30 | 2015-12-30 | 杭州海康威视数字技术股份有限公司 | 视频编码的码率控制方法及其系统 |
CN107154918A (zh) * | 2016-03-03 | 2017-09-12 | 北京大学 | 基于pid控制的视频直播传输控制方法及系统 |
CN106993237A (zh) * | 2017-04-13 | 2017-07-28 | 中北大学 | 基于mpeg‑dash协议的动态自适应码率选择方法 |
CN109218781A (zh) * | 2017-07-07 | 2019-01-15 | 华为软件技术有限公司 | 视频码率控制方法和装置 |
CN109040855A (zh) * | 2018-09-03 | 2018-12-18 | 重庆邮电大学 | 一种无线dash流媒体码率平滑自适应传输方法 |
CN110198495A (zh) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112437321A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112437321B (zh) | 一种基于直播流媒体的自适应码率计算方法 | |
CN110248247B (zh) | 基于网络吞吐量的嵌入式动态视频播放控制方法及装置 | |
US20130304934A1 (en) | Methods and systems for controlling quality of a media session | |
US20170347159A1 (en) | Qoe analysis-based video frame management method and apparatus | |
CN112953922B (zh) | 一种自适应流媒体控制方法、系统、计算机设备及应用 | |
CN108924667B (zh) | 一种支持QoE最大化的可用带宽自适应视频分片请求方法 | |
CN102238433A (zh) | 控制数字内容的自适应流传输 | |
CN109729437B (zh) | 流媒体自适应传输方法、终端和系统 | |
US8578436B2 (en) | Method for two time-scales video stream transmission control | |
CN112291620A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN108063955B (zh) | 基于状态机的动态自适应视频传输的码率切换方法 | |
CN109714631A (zh) | 一种基于http视频流动态自适应码率选择方法 | |
CN104967884A (zh) | 一种码流切换方法和装置 | |
Zahran et al. | OSCAR: An optimized stall-cautious adaptive bitrate streaming algorithm for mobile networks | |
CN108833995B (zh) | 一种无线网络环境中自适应流媒体的传输方法 | |
CN108810468B (zh) | 一种优化显示效果的视频传输装置及方法 | |
WO2014066975A1 (en) | Methods and systems for controlling quality of a media session | |
CN102369732B (zh) | 视频流传输 | |
CN110072125A (zh) | 视频播放方法及装置 | |
Zhang et al. | A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http | |
CN115988267B (zh) | 一种基于dash的视频码率自适应调整方法及系统 | |
CN108989838B (zh) | 一种基于视频内容复杂度感知的dash码率自适应方法 | |
Araújo et al. | A hybrid energy-aware video bitrate adaptation algorithm for mobile networks | |
Martín et al. | Q-learning based control algorithm for HTTP adaptive streaming | |
CN114827683B (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 |