CN115022684A - 一种quic协议下基于深度强化学习的视频流自适应传输方法 - Google Patents
一种quic协议下基于深度强化学习的视频流自适应传输方法 Download PDFInfo
- Publication number
- CN115022684A CN115022684A CN202210586839.2A CN202210586839A CN115022684A CN 115022684 A CN115022684 A CN 115022684A CN 202210586839 A CN202210586839 A CN 202210586839A CN 115022684 A CN115022684 A CN 115022684A
- Authority
- CN
- China
- Prior art keywords
- video
- bandwidth
- time
- code rate
- adaptive
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 title claims abstract description 53
- 230000002787 reinforcement Effects 0.000 title claims abstract description 36
- 230000007246 mechanism Effects 0.000 claims abstract description 24
- 230000009471 action Effects 0.000 claims description 42
- 230000003044 adaptive effect Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 31
- 239000013598 vector Substances 0.000 claims description 28
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 12
- 239000003795 chemical substances by application Substances 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000003139 buffering effect Effects 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 241000288105 Grus Species 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 239000000654 additive Substances 0.000 claims description 3
- 230000000996 additive effect Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 abstract description 11
- 239000000284 extract Substances 0.000 abstract description 3
- 238000012549 training Methods 0.000 abstract description 3
- 238000000605 extraction Methods 0.000 abstract 1
- 239000004721 Polyphenylene oxide Substances 0.000 description 11
- 229920006380 polyphenylene oxide Polymers 0.000 description 11
- 230000006399 behavior Effects 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
一种QUIC协议下基于深度强化学习的视频流自适应传输方法,结合基于门控循环单元(GRU)和卷积(CNN)的神经网络建立网络轨迹特征的提取模型,利用注意力机制学习不同特征对带宽的影响,预测未来时刻带宽信息;将预测的带宽信息作为码率决策的状态输入,建立QoE奖励模型,采用PPO算法训练强化学习网络,决策最优码率;客户端根据码率自适应决策模块的反馈结果将相应视频下载并播放,实现QUIC下的视频流自适应传输框架。本发明能够保证在QUIC协议下,带宽预测模块能够充分提取网络状态信息,实现长窗口的带宽预测,为码率自适应决策提供有效输入,达到充分利用带宽资源的目的,有效提升用户观看体验质量。
Description
技术领域
本发明属于视频传输技术领域,特别涉及一种QUIC协议下基于深度强化学习的视频流自适应传输方法。
背景技术
随着多媒体技术和智能终端的广泛应用,视频服务已经成为人们的学习工作以及娱乐生活的主要方式之一。在线视频服务商在视频流传输时通常根据网络和用户观看情况来自动调整视频传输的参数,以提升用户的观看体验(QoE)。在视频服务中,由于网络状态处于时刻变化中,动态的网络带宽影响着视频传输的码率决策过程,进而直接影响用户体验(QoE)。因此,如何准确预测用户端的网络带宽,以及如何制定最优的自适应传输策略以提升用户的观看体验是需要解决的主要难点。同时,现有方法也通过结合传输协议优化用户体验,QUIC连接建立延时低,改进了拥塞控制机制,支持连接迁移,在理论上具有比TCP更优的传输效果,正逐渐被应用于流媒体服务中。而现有方法集中于验证QUIC相比于HTTP/2的传输高效性,在QUIC多路复用特性和视频传输的结合以及QUIC下的码率自适应算法研究较为缺乏。
在用户端带宽预测问题上,为了降低视频质量切换延迟并提升用户QoE,需要通过预测用户端的未来网络带宽,并结合当前网络状况来预取相关码率版本的视频块,这是一个时间序列预测问题。在带宽预测中,采用基于门控循环单元(GRU)和基于卷积(CNN)的神经网络提取带宽数据的自相关特征,引入时间戳用来反映带宽数据存在的周期性,并通过注意力机制学习特征权重,进一步提高长期预测的性能,从而为后续视频自适应传输与播放提供较好的带宽估计,保证用户良好的体验质量。
在QUIC协议下的视频流自适应传输与播放问题上,为了提升QUIC下视频流传输的用户QoE,关键在于制定合理的自适应传输策略。基于固定规则的自适应码率算法无法实现自适应码率传输系统的性能最优化,具有一定的局限性。随着机器学习技术的不断发展,另一类基于强化学习的自适应码率实现方法受到关注。这类方法将不同形式的QoE模型定义为奖励函数,基于QoE奖励和网络环境进行码率决策,客户端能够从服务器端获取到当前网络状态下的最优码率的视频文件进行播放。但是由于网络带宽时变,这样容易导致视频的缓冲持续出现,在此基础上,结合QUIC协议0-RTT、多路复用等多种特性,在传输层对视频流的自适应进行进一步优化,很好地满足用户观看需求,提高用户视频观看体验。
据申请人检索和查新,检索到的以下几篇与本发明相关的属于视频传输领域的专利,它们分别是:
1.CN108063961A,一种基于强化学习的自适应码率视频传输方法以及系统。
2.CN112422441A,基于QUIC传输协议的拥塞控制方法和系统。
上述专利1提供了一种基于强化学习的自适应码率视频传输方法以及系统。该方法基于深度神经网络进行码率预测,将需要下载的视频块所对应的状态空间输入到码率预测神经网络,码率预测神经网络输出码率策略;根据码率预测神经网络输出的码率策略下载需要下载的视频块;在每个视频块下载完毕后,计算其所对应的视频播放质量指标并返回给码率预测神经网络;码率预测神经网络依据返回的视频播放质量指标以及最近下载完成的视频块所对应的状态空间进行训练。该发明降低了规则设置和参数调优的人工时间成本,较大提高了视频质量体验。
上述专利2提供了基于QUIC传输协议的拥塞控制方法和系统。所述拥塞控制方法包括:从多个拥塞控制策略中选择目标拥塞控制策略;基于QUIC传输协议与目标终端建立目标QUIC连接;为所述目标QUIC连接匹配所述目标拥塞控制策略,以根据所述目标拥塞控制策略执行拥塞控制操作。也可以为每个待建立的QUIC连接动态选择一个拥塞控制策略,即在复杂易变的网络环境下动态地提供最优的拥塞控制策略,提升网络QoS。
上述相关专利1利用深度强化学习预测将需要下载的视频块对应的状态空间输入到码率预测神经网络,输出码率策略,根据码率策略下载所需视频块。专利1所述状态空间包括视频块吞吐率、下载时间等信息,忽略了网络带宽信息对于视频观看质量的影响以及精确量测,因此当网络带宽变化剧烈时,该方法难以给出较好码率策略,影响用户QoE。专利2提供一种基于QUIC传输协议的拥塞控制策略,适应复杂多变的网络环境,提升网络服务质量。该专利仅在传输层进行优化,缺少将QUIC协议应用到视频自适应流的真实场景中。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种QUIC协议下基于深度强化学习的视频流自适应传输方法,通过在QUIC协议下用户端带宽预测、视频流码率自适应决策,以有效减少视频缓冲时间,提高用户观看体验。
为了实现上述目的,本发明采用的技术方案是:
一种QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,包括如下步骤:
步骤1,服务器端和客户端建立QUIC连接;
步骤2,在服务器端预测网络带宽;
步骤3,将带宽预测结果作为码率自适应决策的状态输入,客户端基于服务器端的码率自适应决策结果,选择码率对应的视频文件下载到缓冲区并解码;并在QUIC协议下,联合优化视频传输与播放,减少播放缓冲时间,提高QoE。
所述步骤1中,Nginx接收到浏览器发送的http请求,将包进行解析;对于静态文件请求,直接访问客户端Nginx配置的静态文件目录,返回客户端请求静态文件;对于动态接口请求,Nginx将请求转发给uWSGI,最后到达Django进行后续处理。
所述步骤2,在服务器端构建长窗口带宽预测模型,利用带宽历史数据预测网络带宽,所述长窗口带宽预测模型包括两个GRU以及一个CNN,并添加注意力机制;其预测方法为:
步骤2.1,将带宽数据抽象为时间序列,利用第一个GRU和CNN提取带宽数据特征,得到包含带宽数据时域特征和空域特征的时空特征矩阵利用连续的第一个和第二个GRU提取带宽数据特征,得到包含带宽数据时域特征的时域特征矩阵H′t;
所述长窗口带宽预测模型利用历史时间窗口中不同时间步的带宽历史数据预测网络带宽。
所述步骤2.1,包括:
将当前时刻t的历史带宽序列Xt输入到第一个GRU中,得到用于带宽预测的中间向量Ht,表征为Ht=GRU(Xt,θt),其中,θt表示GRU内部Gate的参数,包含了权重矩阵及偏置;
将Ht作为CNN的输入,进行卷积处理,提取出历史带宽数据的周期性特征,计算式为其中,W表示过滤器的权重参数,b表示过滤器的偏置项,*表示卷积操作,σ表示激活函数;CNN的输出即将表示为行向量形式如下:
同时,将Ht作为第二个GRU的输入,得到H′t,将表示为行向量形式如下:
H′t=[H′t1,H′t2,…,H′ti,…]
H′ti表示H′t的第i维;
采用sigmoid函数对元素si进行归一化,得到注意力分布,表示为αi=sigmoid(si),αi为元素si对应的权重;结合各元素的权重大小,将注意力分布附加在输入向量上,计算得到注意力机制模型的输出
所述步骤3包括:
步骤3.1,将视频编码并分割成等长度的视频块,将视频块封装成视频文件,将全部视频文件以及媒体描述文件放置在配置好的流媒体服务器上;
步骤3.2,服务器端将带宽预测结果作为码率自适应决策的一个状态空间,码率的选择基于Actor-Critic框架的强化学习算法PPO实现,通过状态state、动作action和奖励reward三个要素的交互,最终得到一个最优的码率自适应策略
步骤3.3,客户端选择码率对应的视频文件下载到缓冲区并解码;并基于Nginx的平台,将QUIC协议的0-RTT特性与多路复用特性应用到视频码率自适应过程中,联合优化视频传输与播放。
所述步骤3.1,采用H.264进行编码,封装的视频文件格式为MPED-DASH。
所述步骤3.2,强化学习算法中,存在agent和环境两个交互对象,当agent采取一个动作action作用在环境上,环境会给予一个奖励reward作为反馈,以表明当前行动的价值;状态state包括第k次请求时的带宽预测值、第k次带宽占用率、第k次请求时剩余未传输的视频块数、过去若干次传输的视频块质量、过去若干个视频块的下载时间和第k次请求时可选择的码率列表;
动作action指下一个视频块可选的视频码率级别,视频码率级别的集合构成动作空间A={300,750,1200,1850,2850,4300}kbp;
为获取奖励reward,对奖励函数建模如下:
QoEk=λq(Rk)-μ((Bk-dk)++L-Δtk)-v|q(Rk)-q(Rk-1)|
s.t.Size(k)<N
其中,QoEk表示第k个视频块的质量,Rk表示第k个视频块的码率级别,Bk表示开始下载的第k个视频块时播放器缓冲区大小,Bk∈(0,Bmax),Bmax表示播放器最大缓冲区大小,dk表示下载第k个视频块的时间,Nk表示下载的第k个视频块的平均网络吞吐量,通过网络带宽预测模块计算得到,Δtk=((Bk-bk)++L-Bmax)+,表示因为缓冲区溢出的等待时延,函数(x)+=max(x,0),(Bk-bk)+表示缓冲区缓存时间;λ、μ、v分别表示视频质量q(Rk)、缓存时间((Bk-dk)++L-Δtk)和视频平滑度|q(Rk)-q(Rk-1)|的加权参数,λ=1,μ=4.3,v=1;Size(k)表示第k个视频块的大小,约束条件Size(k)<N保证第k个视频块的大小不能超过当前的实际网络带宽N。
利用构建的视频块的质量表示模型定义奖励函数,质量表示模型表示为rk=QoEk,基于一个策略所获得的累计折扣奖励如下:
式中,K表示考虑K个连续动作,t表示第t时刻,γ为折扣因子,γ∈[0,1];
定义随机策略πθ作为可选动作上的一个概率分布,定义策略的状态价值函数,表示对当前策略的期望总回报,如下:
其中,πθ(ak|sk)表示当前状态为sk时选择动作ak的概率是多少,πθ(ak|sk)取值范围在0~1之间;
将agent和环境交互若干次形成的三元组<state,action,reward>组合成轨迹集合Dk={s1,a1,r1;s2,a2,r2;…;sk,ak,rk},对于Actor网络,基于目标策略的Actor网络根据轨迹集合进行策略学习,并根据两个Actor网络的KL距离来更新其参数,最大化目标函数和网络参数θ更新如下所示:
其中,π′θ(at|st)表示通过采样的数据得到的选择动作ak的概率,r(θ)衡量了采样前后两个分布的一致性,g(r(θ),ε)表示将r(θ)限制在[1-ε,1+ε]区间之内,ε为超参数,设置为0.2;
对于Critic网络,基于时序差分的方法更新其参数φ,具体计算如下所示:
至此,在PPO算法的基础上实现了视频自适应传输的框架与现有技术相比,本发明的有益效果是:
本发明构建了一种高效的长窗口带宽预测模型,采用GRU与CNN模块并结合注意力机制,提出一种高效的神经网络框架提取网络带宽特征,为后续基于深度强化学习的码率自适应决策提供有效特征输入。通过公开数据集以及真实环境验证,跟当下最新的方法进行比较,验证了所提方法的有效性,可以有效提取带宽特征,提高用户QoE。
本发明首次将QUIC协议的特性与码率自适应决策结合使用。基于强化学习与PPO算法的码率决策方法,能够在复杂网络情况下,在尽可能提高带宽利用率情况下,减少视频缓冲时间,提高视频观看质量。结合QUIC协议优良特性,进一步优化视频传输与播放,为用户提供更好的视频观看体验。
附图说明
图1是本发明结构示意图。
图2是本发明算法流程图。
图3是本发明带宽预测结果图,其中(a)为Ghent数据集预测,(b)为UCC数据集预测。
图4是本发明自适应决策效果对比示意图,其中(a)为单路传输性能对比,(b)为多路传输性能对比。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如附图1和图2所示,本发明为一种QUIC协议下基于深度强化学习的视频流自适应传输方法,在搭建的基于Nginx的平台上,主要实现高效的长窗口带宽预测,进而基于深度强化学习实现自适应码率决策,并结合QUIC协议的0-RTT、多路复用等特性减少视频缓冲,为用户良好的视频观看体验提供保障。
具体地,本发明包括如下步骤:
Step1,服务器端和客户端建立QUIC连接,Nginx接收到浏览器发送的http请求,将包进行解析。对于静态文件请求,直接访问客户端Nginx配置的静态文件目录,返回客户端请求静态文件;对于动态接口请求,Nginx将请求转发给uWSGI,最后到达Django进行后续处理。
Step2,将视频采用H.264等方式进行编码并分割成固定大小(例如4s)的视频块,封装成MPED-DASH或其它格式的视频文件,将生成的全部视频文件以及媒体描述文件MPD放置在配置好的流媒体服务器上。
Step3,在服务器端构建长窗口带宽预测模型,利用带宽历史数据预测网络带宽。
本步骤中,长窗口带宽预测模型包括两个GRU以及一个CNN,利用历史时间窗口中不同时间步的带宽历史数据预测网络带宽。示例地,一般可以根据过去8个历史时刻的带宽数据预测未来4个时刻的带宽信息。
其预测方法为:
将带宽数据抽象为时间序列,序列包含了时间戳的特征,将过去的单维特征预测转化为多维特征预测。本发明利用第一个GRU和CNN提取带宽数据特征,得到包含带宽数据时域特征和空域特征的时空特征矩阵利用连续的第一个和第二个GRU提取带宽数据特征,得到包含带宽数据时域特征的时域特征矩阵H′t。
具体地,将当前时刻t的历史带宽序列Xt输入到第一个GRU中提取带宽数据的时域特征,得到用于带宽预测的中间向量Ht,表征为Ht=GRU(Xt,θt),其中,θt表示GRU内部Gate的参数,包含了权重矩阵及偏置,Xt={x1,x2,…,xt},Xt的每一个元素xi=[x′1,x′2,…,x′p,yi]∈Rn,yi表示i时刻的带宽数据。目标是根据历史带宽序列来预测t+1时刻的带宽数据yt+1,表达式为yt+1=Γ(Xt),Γ(·)表示预测函数。
将Ht作为CNN的输入,进行卷积处理,提取出历史带宽数据的周期性特征,计算式为其中,W表示过滤器的权重参数,b表示过滤器的偏置项,*表示卷积操作,σ表示激活函数;CNN的输出即将表示为行向量形式如下:
同时,将Ht作为第二个GRU的输入,得到H′t,将表示为行向量形式如下:
H′t=[H′t1,H′t2,…,H′ti,…]
H′ti表示H′t的第i维。
Step4,添加注意力机制,将得到的时空特征矩阵和经过连续两个GRU层提取得到的时域特征矩阵作为注意力机制的两个向量,学习时空特征对于预测值的权重贡献。
接着采用sigmoid函数对元素si进行归一化,得到注意力分布,表示为αi=sigmoid(si),αi为元素si对应的权重;结合各元素的权重大小,将注意力分布附加在输入向量上,计算得到注意力机制模型的输出
图3示出了采用本发明方法的带宽预测结果,结合其(a)和(b)可知,与现有方法相比,本发明在用户带宽预测偏差上降低了约10%,这是因为该发明采用LSTM网络和卷积神经网络相结合的模型,很好地提取了带宽数据的时域特征和空域特征,同时基于注意力机制实现了特征的融合,以优化预测精度。
Step5,将得到的带宽预测结果作为码率自适应决策的状态输入,选择合适的码率。
本步骤中,服务器端将带宽预测结果作为码率自适应决策的一个状态空间,码率的选择基于Actor-Critic框架的强化学习算法PPO实现,通过状态state、动作action和奖励reward三个要素的交互,最终得到一个最优的码率自适应策略
在强化学习中,存在agent和环境两个交互对象,agent和环境之间的交互过程可以看作一个马尔可夫决策过程;当agent采取一个动作action作用在环境上,环境会给予一个奖励reward作为反馈,以表明当前行动的价值。
在本发明中,状态state包括第k次请求时的带宽预测值、第k次带宽占用率、第k次请求时剩余未传输的视频块数、过去若干次传输的视频块质量、过去若干个视频块的下载时间和第k次请求时可选择的码率列表。
动作action指下一个视频块可选的视频码率级别,本发明视频码率级别的集合构成的动作空间A={300,750,1200,1850,2850,4300}kbp。
为获取奖励reward,对于第k个视频块,考虑到视频块质量、播放器缓冲区的rebuffering时间、视频块质量切换的平滑度与等待时延的联合优化,建立第k个视频块的质量模型,即奖励函数,建模如下:
QoEk=λq(Rk)-μ((Bk-dk)++L-Δtk)-v|q(Rk)-q(Rk-1)|
s.t.Size(k)<N
奖励函数分析如下,在视频流自适应传输过程中,视频进行多个码率编码后,在时间域上分割成k个固定时长(4s)的视频块,考虑每个视频块的QoE奖励。其中,QoEk表示第k个视频块的质量,用符号R表示视频块的码率集合,Rk表示第k个视频块的码率级别,第k个视频块的质量qk表示为:qk=q(Rk),q(·)表示视频块的质量表示函数。定义了两种不同的质量表示模型:QoElin:qlin(Rk)=Rk,QoEln:qln(Rk)=ln(Rk/Rmin),其中,Rmin表示R中最小的码率。
dk表示下载第k个视频块的时间,Nk表示下载的第k个视频块的平均网络吞吐量,通过网络带宽预测模块计算得到。因此,客户端下载完的第k个视频块时,播放器缓冲区占用BK+1可用BK+1=(Bk-bk)++L-Δtk计算得出。
Δtk=((Bk-bk)++L-Bmax)+,表示因为缓冲区溢出的等待时延,Bk表示开始下载的第k个视频块时播放器缓冲区大小,Bk∈(0,Bmax),Bmax表示播放器最大缓冲区大小,函数(x)+=max(x,0)。(Bk-bk)+表示缓冲区缓存时间;λ、μ、v分别表示视频质量q(Rk)、缓存时间((Bk-dk)++L-Δtk)和视频平滑度|q(Rk)-q(Rk-1)|的加权参数,λ=1,μ=4.3,v=1;Size(k)表示第k个视频块的大小,约束条件Size(k)<N保证第k个视频块的大小不能超过当前的实际网络带宽N。
在视频播放过程中,视频块相邻质量的切换也会影响用户的QoE,因此,在质量模型中加入视频平滑度,由sk=|qk-qk-1|计算得出。
本发明利用构建的视频块的质量表示模型定义奖励函数,质量表示模型表示为rk=QoEk,由于强化学习关注的是基于一个策略所获得的长期累计回报,因此,引入折扣因子γ∈[0,1],得到累计折扣奖励如下:
K表示考虑K个连续动作,t表示第t时刻;
根据随机策略的思想,agent选择一个码率去执行相关的操作,定义随机策略πθ作为可选动作上的一个概率分布;为了评估一个策略πθ的好坏,定义策略的状态价值函数,表示对当前策略的期望总回报,如下:
PPO算法采用off-policy的方式,分别采用行为策略和目标策略实现不同任务。基于行为策略的Actor网络基于一定的概率选择动作,Critic网络基于该Actor的动作评判当前动作的得分,然后该Actor网络根据Critic网络的评分修改所选动作的概率,更新动作策略。而基于目标策略的Actor网络则借助行为策略的采样结果提升算法性能,并最终称为最佳策略。为找到最佳策略,需要不断更新Actor网络参数θ和Critic网络参数φ;
其中,Actor网络和Critic网络的1D-CNN层包含128个filters,每个filter的大小设置为4,且基于目标策略的Actor网络仅用于保存数据,不进行其他计算操作;全连接FC层包含128个units。QoE模型中的参数均设置为1,超参数设置为0.2。
基于Policy Gradients方法,PPO算法对于策略的折扣累计回报的梯度计算如下所示:
其中,πθ(ak|sk)表示当前状态为sk时选择动作ak的概率是多少,πθ(ak|sk)取值范围在0~1之间。
在该模型中,将agent和环境交互若干次形成的三元组<state,action,reward>组合成轨迹集合Dk={s1,a1,r1;s2,a2,r2;…;sk,ak,rk}。对于Actor网络,基于目标策略的Actor网络根据轨迹集合进行策略学习,并根据两个Actor网络的KL(Kullback-Leibler)距离来更新其参数,需要最大化目标函数和网络参数θ更新如下所示:
其中,π′θ(at|st)表示通过采样的数据得到的选择动作ak的概率,r(θ)衡量了采样前后两个分布的一致性,g(r(θ),ε)表示将r(θ)限制在[1-ε,1+ε]区间之内,ε为超参数,设置为0.2。
对于Critic网络,基于时序差分的方法更新其参数φ,具体计算如下所示:
至此,在PPO算法的基础上实现了视频自适应传输的框架。
在该评估中,为了验证所所提自适应传输方法的有效性,在QUIC下与目前具有代表性的码率自适应算法进行比较,将发明提出的基于深度学习的自适应码率算法称为PPO-BP-Q,将其与MPC算法和Pensieve算法进行比较,均采用标准化的QoE作为奖励reward指标,定义公式如下所示:
首先评估了在QUIC的单路传输情况下三种算法的性能表现,如图4中(a)所示,在两种不同的QoE评价模型中,基于强化学习的码率自适应方法比基于固定规则的码率自适应方法,其性能有较大提升,这也说明了QUIC下基于强化学习的码率自适应方法的有效性。在基于强化学习的两种方法中,PPO-BP-Q相比于Pensieve的表现略好,在QoE指标上平均提升了9%。这是由于PPO-BP-Q基于更加精确的带宽预测结果,有效提升了码率决策的性能。
由图4中(b),在多路传输情况下,PPO-BP-Q和Pensieve均在三路传输时取得最优性能,并且本发明提出方法效果最优。
Step6,客户端基于服务器端的码率自适应决策结果,选择合适码率版本的视频文件下载到缓冲区,对视频文件进行解码。并结合步骤1中基于Nginx的平台,将QUIC协议的0-RTT特性与多路复用等特性应用到视频码率自适应过程中,联合优化视频传输与播放行为,减少播放缓冲时间,最大限度提高用户观看体验。
Claims (10)
1.一种QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,包括如下步骤:
步骤1,服务器端和客户端建立QUIC连接;
步骤2,在服务器端预测网络带宽;
步骤3,将带宽预测结果作为码率自适应决策的状态输入,客户端基于服务器端的码率自适应决策结果,选择码率对应的视频文件下载到缓冲区并解码;并在QUIC协议下,联合优化视频传输与播放,减少播放缓冲时间,提高QoE。
2.根据权利要求1所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述步骤1中,Nginx接收到浏览器发送的http请求,将包进行解析;对于静态文件请求,直接访问客户端Nginx配置的静态文件目录,返回客户端请求静态文件;对于动态接口请求,Nginx将请求转发给uWSGI,最后到达Django进行后续处理。
3.根据权利要求1所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述步骤2,在服务器端构建长窗口带宽预测模型,利用带宽历史数据预测网络带宽,所述长窗口带宽预测模型包括两个GRU以及一个CNN,并添加注意力机制;其预测方法为:
步骤2.1,将带宽数据抽象为时间序列,利用第一个GRU和CNN提取带宽数据特征,得到包含带宽数据时域特征和空域特征的时空特征矩阵利用连续的第一个和第二个GRU提取带宽数据特征,得到包含带宽数据时域特征的时域特征矩阵H′t;
4.根据权利要求3所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述长窗口带宽预测模型利用历史时间窗口中不同时间步的带宽历史数据预测网络带宽。
5.根据权利要求3所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述步骤2.1,包括:
将当前时刻t的历史带宽序列Xt输入到第一个GRU中,得到用于带宽预测的中间向量Ht,表征为Ht=GRU(Xt,θt),其中,θt表示GRU内部Gate的参数,包含了权重矩阵及偏置;
将Ht作为CNN的输入,进行卷积处理,提取出历史带宽数据的周期性特征,计算式为其中,W表示过滤器的权重参数,b表示过滤器的偏置项,*表示卷积操作,σ表示激活函数;CNN的输出即将表示为行向量形式如下:
同时,将Ht作为第二个GRU的输入,得到H′t,将表示为行向量形式如下:
H′t=[H′t1,H′t2,…,H′ti,…]
H′ti表示H′t的第i维;
采用sigmoid函数对元素si进行归一化,得到注意力分布,表示为αi=sigmoid(si),αi为元素si对应的权重;结合各元素的权重大小,将注意力分布附加在输入向量上,计算得到注意力机制模型的输出
6.根据权利要求1所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述步骤3包括:
步骤3.1,将视频编码并分割成等长度的视频块,将视频块封装成视频文件,将全部视频文件以及媒体描述文件放置在配置好的流媒体服务器上;
步骤3.2,服务器端将带宽预测结果作为码率自适应决策的一个状态空间,码率的选择基于Actor-Critic框架的强化学习算法PPO实现,通过状态state、动作action和奖励reward三个要素的交互,最终得到一个最优的码率自适应策略
步骤3.3,客户端选择码率对应的视频文件下载到缓冲区并解码;并基于Nginx平台,将QUIC协议的0-RTT特性与多路复用特性应用到视频码率自适应过程中,联合优化视频传输与播放。
7.根据权利要求6所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述步骤3.1,采用H.264进行编码,封装的视频文件格式为MPED-DASH。
8.根据权利要求6所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,所述步骤3.2,强化学习算法中,存在agent和环境两个交互对象,当agent采取一个动作action作用在环境上,环境会给予一个奖励reward作为反馈,以表明当前行动的价值;状态state包括第k次请求时的带宽预测值、第k次带宽占用率、第k次请求时剩余未传输的视频块数、过去若干次传输的视频块质量、过去若干个视频块的下载时间和第k次请求时可选择的码率列表;
动作action指下一个视频块可选的视频码率级别,视频码率级别的集合构成动作空间A={300,750,1200,1850,2850,4300}kbp;
为获取奖励reward,对奖励函数建模如下:
QoEk=λq(Rk)-μ((Bk-dk)++L-Δtk)-v|q(Rk)-q(Rk-1)|
s.t.Size(k)<N
其中,QoEk表示第k个视频块的质量,Rk表示第k个视频块的码率级别,Bk表示开始下载的第k个视频块时播放器缓冲区大小,Bk∈(0,Bmax),Bmax表示播放器最大缓冲区大小,dk表示下载第k个视频块的时间,Nk表示下载的第k个视频块的平均网络吞吐量,通过网络带宽预测模块计算得到,Δtk=((Bk-bk)++L-Bmax)+,表示因为缓冲区溢出的等待时延,函数(x)+=max(x,0),(Bk-bk)+表示缓冲区缓存时间;λ、μ、v分别表示视频质量q(Rk)、缓存时间((Bk-dk)++L-Δtk)和视频平滑度|q(Rk)-q(Rk-1)|的加权参数,λ=1,μ=4.3,v=1;Size(k)表示第k个视频块的大小,约束条件Size(k)<N保证第k个视频块的大小不能超过当前的实际网络带宽N。
10.根据权利要求9所述QUIC协议下基于深度强化学习的视频流自适应传输方法,其特征在于,使用基于Actor-Critic框架的PPO算法寻找所述最优策略PPO算法对于策略的折扣累计回报的梯度计算如下所示:
其中,πθ(ak|sk)表示当前状态为sk时选择动作ak的概率是多少,πθ(ak|sk)取值范围在0~1之间;
将agent和环境交互若干次形成的三元组<state,action,reward>组合成轨迹集合Dk={s1,a1,r1;s2,a2,r2;…;sk,ak,rk},对于Actor网络,基于目标策略的Actor网络根据轨迹集合进行策略学习,并根据两个Actor网络的KL距离来更新其参数,最大化目标函数和网络参数θ更新如下所示:
其中,π′θ(at|st)表示通过采样的数据得到的选择动作ak的概率,r(θ)衡量了采样前后两个分布的一致性,g(r(θ),ε)表示将r(θ)限制在[1-ε,1+ε]区间之内,ε为超参数,设置为0.2;
对于Critic网络,基于时序差分的方法更新其参数φ,具体计算如下所示:
至此,在PPO算法的基础上实现了视频自适应传输的框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586839.2A CN115022684B (zh) | 2022-05-27 | 2022-05-27 | 一种quic协议下基于深度强化学习的视频流自适应传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586839.2A CN115022684B (zh) | 2022-05-27 | 2022-05-27 | 一种quic协议下基于深度强化学习的视频流自适应传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022684A true CN115022684A (zh) | 2022-09-06 |
CN115022684B CN115022684B (zh) | 2023-08-04 |
Family
ID=83070096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210586839.2A Active CN115022684B (zh) | 2022-05-27 | 2022-05-27 | 一种quic协议下基于深度强化学习的视频流自适应传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022684B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544809A (zh) * | 2024-01-10 | 2024-02-09 | 北京科技大学 | 服务器端动态码率生成及推荐网络视频应用方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105531968A (zh) * | 2013-09-11 | 2016-04-27 | 思科技术公司 | 基于网络的自适应速率限制 |
US20170026713A1 (en) * | 2015-03-26 | 2017-01-26 | Carnegie Mellon University | System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
EP3324639A1 (en) * | 2016-11-16 | 2018-05-23 | Vasona Networks, Inc. | A system and method for estimating performance metrics for video streaming |
US20190173935A1 (en) * | 2017-06-20 | 2019-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming |
WO2019245181A1 (ko) * | 2018-06-20 | 2019-12-26 | 네이버 주식회사 | 적응형 데이터 전송을 위한 방법 및 시스템 |
CN111901642A (zh) * | 2020-07-31 | 2020-11-06 | 成都云格致力科技有限公司 | 基于强化学习的实时视频码率自适应调控方法与系统 |
CN112437321A (zh) * | 2020-11-11 | 2021-03-02 | 天津大学 | 一种基于直播流媒体的自适应码率计算方法 |
CN112953922A (zh) * | 2021-02-03 | 2021-06-11 | 西安电子科技大学 | 一种自适应流媒体控制方法、系统、计算机设备及应用 |
CN113242469A (zh) * | 2021-04-21 | 2021-08-10 | 南京大学 | 一种自适应视频传输配置方法和系统 |
CN113596021A (zh) * | 2021-07-28 | 2021-11-02 | 中国人民解放军国防科技大学 | 一种支持神经网络的流媒体码率自适应方法、装置和设备 |
CN113645487A (zh) * | 2021-07-14 | 2021-11-12 | 上海交通大学 | 网络吞吐量预测方法及码率自适应分配方法 |
CN114039870A (zh) * | 2021-09-27 | 2022-02-11 | 河海大学 | 基于深度学习的蜂窝网络中视频流应用实时带宽预测方法 |
-
2022
- 2022-05-27 CN CN202210586839.2A patent/CN115022684B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105531968A (zh) * | 2013-09-11 | 2016-04-27 | 思科技术公司 | 基于网络的自适应速率限制 |
US20170026713A1 (en) * | 2015-03-26 | 2017-01-26 | Carnegie Mellon University | System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control |
EP3324639A1 (en) * | 2016-11-16 | 2018-05-23 | Vasona Networks, Inc. | A system and method for estimating performance metrics for video streaming |
US20190173935A1 (en) * | 2017-06-20 | 2019-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
WO2019245181A1 (ko) * | 2018-06-20 | 2019-12-26 | 네이버 주식회사 | 적응형 데이터 전송을 위한 방법 및 시스템 |
CN111901642A (zh) * | 2020-07-31 | 2020-11-06 | 成都云格致力科技有限公司 | 基于强化学习的实时视频码率自适应调控方法与系统 |
CN112437321A (zh) * | 2020-11-11 | 2021-03-02 | 天津大学 | 一种基于直播流媒体的自适应码率计算方法 |
CN112953922A (zh) * | 2021-02-03 | 2021-06-11 | 西安电子科技大学 | 一种自适应流媒体控制方法、系统、计算机设备及应用 |
CN113242469A (zh) * | 2021-04-21 | 2021-08-10 | 南京大学 | 一种自适应视频传输配置方法和系统 |
CN113645487A (zh) * | 2021-07-14 | 2021-11-12 | 上海交通大学 | 网络吞吐量预测方法及码率自适应分配方法 |
CN113596021A (zh) * | 2021-07-28 | 2021-11-02 | 中国人民解放军国防科技大学 | 一种支持神经网络的流媒体码率自适应方法、装置和设备 |
CN114039870A (zh) * | 2021-09-27 | 2022-02-11 | 河海大学 | 基于深度学习的蜂窝网络中视频流应用实时带宽预测方法 |
Non-Patent Citations (2)
Title |
---|
JOHN SCHULMAN等: "Proximal Policy Optimization Algorithms", 《ARXIV PREPRINT ARXIV:1707.06347》 * |
JOHN SCHULMAN等: "Proximal Policy Optimization Algorithms", 《ARXIV PREPRINT ARXIV:1707.06347》, 28 August 2017 (2017-08-28), pages 1 - 12 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544809A (zh) * | 2024-01-10 | 2024-02-09 | 北京科技大学 | 服务器端动态码率生成及推荐网络视频应用方法及系统 |
CN117544809B (zh) * | 2024-01-10 | 2024-03-26 | 北京科技大学 | 服务器端动态码率生成及推荐网络视频应用方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115022684B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mao et al. | Neural adaptive video streaming with pensieve | |
Huang et al. | Comyco: Quality-aware adaptive video streaming via imitation learning | |
Huang et al. | Stick: A harmonious fusion of buffer-based and learning-based approach for adaptive streaming | |
Sengupta et al. | HotDASH: Hotspot aware adaptive video streaming using deep reinforcement learning | |
Huang et al. | Quality-aware neural adaptive video streaming with lifelong imitation learning | |
CN112954385B (zh) | 一种基于控制论和数据驱动的自适应分流决策方法 | |
Fu et al. | 360SRL: A sequential reinforcement learning approach for ABR tile-based 360 video streaming | |
Cui et al. | TCLiVi: Transmission control in live video streaming based on deep reinforcement learning | |
CN114040257B (zh) | 一种自适应视频流传输播放方法、装置、设备及存储介质 | |
CN116962414A (zh) | 一种基于无服务器计算的自适应视频流传输方法及系统 | |
Sun et al. | Optimal strategies for live video streaming in the low-latency regime | |
Mu et al. | AMIS: Edge computing based adaptive mobile video streaming | |
Tian et al. | Deeplive: QoE optimization for live video streaming through deep reinforcement learning | |
CN115022684B (zh) | 一种quic协议下基于深度强化学习的视频流自适应传输方法 | |
Huo et al. | A meta-learning framework for learning multi-user preferences in QoE optimization of DASH | |
Sun et al. | Tightrope walking in low-latency live streaming: Optimal joint adaptation of video rate and playback speed | |
Wu et al. | Paas: A preference-aware deep reinforcement learning approach for 360 video streaming | |
Li et al. | Fleet: improving quality of experience for low-latency live video streaming | |
Qian et al. | Dam: Deep reinforcement learning based preload algorithm with action masking for short video streaming | |
CN117221403A (zh) | 一种基于用户移动和联邦缓存决策的内容缓存方法 | |
Kim et al. | HTTP adaptive streaming scheme based on reinforcement learning with edge computing assistance | |
Li et al. | Improving Adaptive Real-Time Video Communication Via Cross-layer Optimization | |
Feng et al. | Timely and accurate bitrate switching in http adaptive streaming with date-driven i-frame prediction | |
CN113645487B (zh) | 码率自适应分配方法 | |
Lin et al. | Knn-q learning algorithm of bitrate adaptation for video streaming over http |
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 |