一种基于深度强化学习的全景视频边缘协作缓存替换方法

文档序号:26347634发布日期:2021-08-20 20:19阅读:101来源:国知局
一种基于深度强化学习的全景视频边缘协作缓存替换方法

本发明涉及视频内容缓存技术领域,尤其是一种基于深度强化学习的全景视频边缘协作缓存替换方法。



背景技术:

针对全景视频流传输的高带宽和低时延挑战,边缘缓存(edgecaching)技术提供了一种有效的解决方案。边缘缓存技术是一种可以有效支持时延敏感应用的新型范例,在网络边缘部署缓存与计算资源,使得用户请求可以在靠近用户的边缘服务器上处理,而不是传输到云中,从而有效地缩短延迟、缓解主干网络上的数据拥塞。对于具有大量数据回传的网络任务(例如视频、音频、网页等),如果许多用户在不同时间访问其中高度流行的内容,则重复的数据传输将产生大量的网络流量。

研究表明,将全景视频服务与边缘计算结合,把一些高访问率的视频内容缓存在边缘,在用户请求到来时使用本地缓存的视频提供服务,可以显著降低用户访问的回程时间,同时避免重复的数据传输。然而,由于边缘上的缓存和计算功能会带来额外的成本,并且在边缘上部署的资源有限,将边缘计算技术应用在全景视频流传输上,仍然存在诸多挑战。

在边缘协作缓存系统架构中,作为边缘服务器的无线基站可通过互相通信与协作在网络边缘提供存储,以支持高数据速率、延迟敏感的全景视频流。随着边缘缓存的部署,部分用户请求的内容只需从内容交付网络(contentdeliverynetwork,cdn)中下载一次,后续请求可以从本地或相邻边缘服务器中获得,这有效地减少了回程网络中的响应延迟和数据流量。然而,边缘服务器上有限的存储空间给全景视频的内容缓存带来了挑战。此外,为保证用户体验,需要为用户提供不同质量的全景视频内容,自适应码率技术已经被广泛应用于满足异构用户请求和适应波动的网络条件,这导致全景视频具有更多质量的编码版本。因此,高效的缓存方案需要对用户请求的视频内容做出“是否”缓存和“在哪里”缓存的判断。

其次,全景视频具有独特的传输结构,除了考虑与普通视频相同的多码率版本,还需要考虑全景视频中所特有的用户fov以及基于平铺块的划分格式。对于传统的全景视频流,根据特定的用户fov对每个视频进行编码会产生更多的编码版本,而传输观众的fov之外内容会造成带宽的浪费。高效视频编码(highefficiencyvideocoding,hevc)标准的编码工具可用于将每个图像编码成多个独立的平铺块,与fov相关的平铺块在流式传输期间被分配更多的资源,而其他平铺块以较低质量的版本传输或者交付。一些研究考虑利用fov预测信息对基于平铺块的全景视频流进行协作缓存。此外,也有工作提出了一种面向多码率平铺块的全景视频流、非协作、fov感知的边缘缓存算法。然而,以上这些方案都依赖于精确的fov预测结果。虽然将缓存资源用在缓存景视频的fov相关平铺块上可以缓解缓存资源受限的问题,但这些方案对fov预测不准确的适应性较差,这将导致用户观看体验不佳。因此,考虑到全景视频的多个编码版本、多用户的长期利益以及可能的fov预测误差,设计一个有效的基于fov的协作缓存策略具有高度的复杂性和挑战性。



技术实现要素:

本发明所要解决的技术问题在于,提供一种基于深度强化学习的全景视频边缘协作缓存替换方法,高效地利用了边缘上的有限缓存空间,来进一步提高全景视频流传输的质量。

为解决上述技术问题,本发明提供一种基于深度强化学习的全景视频边缘协作缓存替换方法,包括如下步骤:

(1)初始化全景视频边缘协作缓存的系统环境以及用户请求;

(2)在边缘集群的缓存中检索该请求内容zi,判断是否缓存命中;

(3)若缓存未命中,判断是否进行缓存替换;若剩余缓存空间足够缓存该请求内容,则将该内容缓存在集群中;若剩余缓存空间不足,则进行缓存替换;

(4)drl智能体从系统环境中观察状态特征φ(statet),并从主q网络中获得一些动作和其对应的q值;

(5)应用∈-greedy策略从动作空间中选择动作actiont;

(6)在动作actiont被执行之后,drl代理从缓存系统获得即时奖励rewardt和下一个状态statet+1,并且新的状态也被预处理为φ(statet+1);

(7)系统构造(φ(statet),actiont,rewardt,φ(statet+1))的转换关系,然后将其存储到经验回放池m中;

(8)drl智能体根据经验回放池m的采样结果更新两个q网络的网络参数。

优选的,步骤(2)中,在边缘集群的缓存中检索该请求内容zi,判断是否缓存命中具体包括如下步骤:

(21)首先在用户所连接的根基站缓存中检索该请求内容zi;

(22)若在根基站缓存中检索成功,则返回请求内容zi缓存命中;反之,若在根基站缓存中检索失败,则遍历边缘集群中其他节点的缓存,检索该请求内容zi;

(23)若在某一个邻基站缓存中检索成功,则请求内容zi缓存命中;反之,若在所有邻基站缓存中都检索失败,则遍历边缘集群中所有节点的缓存,检索该请求内容zi的其他变体zi′。

(24)若在集群中检索请求内容zi的其他变体zi′成功,则缓存命中;反之,则缓存未命中。

优选的,步骤(3)中,若缓存未命中,判断是否进行缓存替换;若剩余缓存空间足够缓存该请求内容,则将该内容缓存在集群中;若剩余缓存空间不足,则进行缓存替换具体包括如下步骤:

(31)首先检查用户所连接的根基站的缓存是否足够缓存该请求内容zi;

(32)若根基站的剩余缓存空间足够,则在根基站的缓存中缓存内容zi;反之,若在根基站的剩余缓存空间不充分,则遍历边缘集群中其他节点的剩余缓存空间;

(33)若某一个邻基站的剩余缓存空间足够,则在该邻基站的缓存中缓存内容zi;反之,若所有邻基站的剩余缓存空间都不充分,则对请求内容zi进行缓存替换。

优选的,步骤(4)中,drl智能体从系统环境中观察状态特征φ(statet),并从主q网络中获得一些动作和其对应的q值采用以下计算式:

其中cs(t)是t时刻各个平铺块变体在边缘服务器集群中的缓存状态,f(t)是t时刻各个平铺块变体的fov权重状态,分别是所有集群缓存状态和所有fov权重状态的集合。

优选的,步骤(5)中,应用∈-greedy策略从动作空间中选择动作actiont具体包括如下步骤:

(51)对动作空间的描述采用以下计算式:

其中是在t时刻用内容zk替换zi的缓存替换决策,是所有缓存替换决策的集合;

(52)生成一个随机数p;

(53)若p<∈,采用自适应的动作选择方案,将每个基站上fov权重最小的平铺块变体添加到集合{a)中,并从{a)中随机选择一个内容进行替换;

(54)若p>∈,选择当前q值最大的动作;

(55)返回动作actiont。

优选的,步骤(6)中,在动作actiont被执行之后,drl代理从缓存系统获得即时奖励rewardt和下一个状态statet+1,并且新的状态也被预处理为φ(statet+1)具体包括如下步骤:

(61)计算响应一个用户请求的传输成本如下式:

其中,μ0和μ1(μ0>μ1)分别是对应的从边缘和cdn传送视频内容的带宽资源单价,分别为t时刻平铺块变体zi和zi′在基站hk上的缓存状态;

(62)计算响应一个用户请求的质量不匹配水平如下式:

其中分别为t时刻平铺块变体zi和zi′在基站hk上的缓存状态;

(63)计算响应一个用户请求的时延如下式:

其中,d1,d2以及d3(d1<d2<d3)表示从分别从根基站,邻基站和cdn三处传输视频内容的传输时延;

(64)通过加权求和,计算一个用户请求的总成本如下式:

其中,k1,k2以及k3分别为传输成本、质量不匹配水平和传输时延的权重系数;

(65)奖励函数可由下式给出:

其中是被替换的内容zk在t时刻的fov权重,ri,j(t)为处理一个用户请求的宗总成本;

(66)根据上述公式,整个缓存过程的总奖励可表示为:

其中γ为奖励的衰减因子。

优选的,步骤(8)中,drl智能体根据经验回放池m的采样结果更新两个q网络的网络参数具体包括如下步骤:

(81)drl智能体从经验回放池m的采样(φ(statet),actiont,rewardt,φ(statet+1))作为minibatch,结果来计算当前目标q值;

(82)使用均方差损失函数通过神经网络的梯度反向传播来更新q网络的所有参数,其中对主q网络的参数进行即时更新,对目标q网络的参数进行周期性更新。

本发明的有益效果为:本发明充分利用了边缘缓存范例和深度强化学习解决复杂问题的特性,提出的一种基于深度强化学习的全景视频边缘协作缓存替换算法能够联合优化多方面的目标,有效应对有限的边缘缓存、多码率视频版本等挑战,高效地利用了边缘上的有限缓存空间,来进一步提高全景视频流传输的质量。

附图说明

图1为本发明的方法流程示意图。

图2为本发明描述全景视频边缘协作缓存架构的系统模型示意图。

图3为本发明描述向用户传输视频内容的三种机制的示意图。

图4为本发明描述边缘协作缓存替换算法的drl流程示意图。

图5为本发明描述全景视频某一帧中的平铺块变体与fov区域的关系示意图。

具体实施方式

如图1所示,一种基于深度强化学习的全景视频边缘协作缓存替换方法,包括如下步骤:

步骤(1)初始化全景视频边缘协作缓存的系统环境。

步骤(1.1)视频库v中有一组全景视频,每个视频帧被编码成固定数量的矩形平铺块,每个平铺块具有两个质量版本的变体,对应不同的视频分辨率。若以n来表示视频库v中的平铺块总数,则v中共有2n个平铺块变体。视频库v中的第i个平铺块变体表示为zi,zi对应的体积为vi,其中i∈{0,1,2,...,2n-1}。平铺块变体的索引从所有平铺块的高质量版本排列到低质量版本。zi的另一个编码版本可以表示为zi′,其中i′=(i+n)mod2n。

步骤(1.2)t时刻zi在边缘服务器hj的缓存状态可以用二进制变量来表示,其中值1和0分别表示内容zi缓存和不缓存在边缘服务器hj中。因此,整个边缘服务器集群在时刻t的缓存状态可以用矩阵cs(t)表示为:

步骤(1.3)变量表示t时刻用户是否从边缘服务器hj请求内容zi。

步骤(1.4)本发明中所采用的边缘协作缓存框架如图2所示。该网络由m个边缘服务器和存储原始视频内容的cdn服务器组成。每个基站与提供有限缓存存储的边缘缓存服务器相关联,并且可以在集群中的一跳中连接到另一个基站。这些基站形成边缘集群,并通过回程链路共享资源。我们将集群中的基站表示为hj,其总缓存容量限于bj。

步骤(1.5)本发明所提供的三种服务机制如图3所示。根据边缘集群的缓存状态,用户可以从根基站或几个邻基站中的一个,或从cdn服务器获取所请求的视频内容。例如,当边缘服务器hj连接的用户请求内容zi。如果根基站hj在t时刻缓存了内容zi,即则将由边缘服务器hj将内容zi传送给用户。否则,检索集群中的几个邻基站在t时刻的缓存状态,即则所请求的内容将由相邻的边缘服务器hk传送。如果没有在边缘集群的缓存中检索到内容zi,而是其变体zi′,则根据上述优先级传送所请求内容的另一个版本。如果zi和zi′都没有缓存在边缘集群中的任何边缘服务器上,则系统将从cdn下载内容zi并传送给用户。

步骤(2)在边缘集群的缓存中检索该请求内容zi,判断是否缓存命中。

步骤(2.1)首先在用户所连接的根基站缓存中检索该请求内容zi。

步骤(2.2)若在根基站缓存中检索成功,则返回请求内容zi缓存命中;反之,若在根基站缓存中检索失败,则遍历边缘集群中其他节点的缓存,检索该请求内容zi。

步骤(2.3)若在某一个邻基站缓存中检索成功,则请求内容zi缓存命中;反之,若在所有邻基站缓存中都检索失败,则遍历边缘集群中所有节点的缓存,检索该请求内容zi的其他变体zi′。

步骤(2.4)若在集群中检索请求内容zi的其他变体zi′成功,则缓存命中;反之,则缓存未命中。

步骤(3)若缓存未命中,判断是否进行缓存替换。若剩余缓存空间足够缓存该请求内容,则将该内容缓存在集群中;若剩余缓存空间不足,则进行缓存替换。

步骤(3.1)首先检查用户所连接的根基站的缓存是否足够缓存该请求内容zi。

步骤(3.2)若根基站的剩余缓存空间足够,则在根基站的缓存中缓存内容zi;反之,若在根基站的剩余缓存空间不充分,则遍历边缘集群中其他节点的剩余缓存空间。

步骤(3.3)若某一个邻基站的剩余缓存空间足够,则在该邻基站的缓存中缓存内容zi;反之,若所有邻基站的剩余缓存空间都不充分,则对请求内容zi进行缓存替换。

步骤(4)如图4所示,本发明采用深度强化学习的方法决定是否进行缓存替换以及用哪个平铺块变体来替换请求内容zi。对于应用深度强化学习的方法来获取缓存替换策略,本发明使用比普通dqn方法更具有鲁棒性的ddqn方法,在边缘集群中训练drl智能体。drl智能体可以自动收集信息并在后台接受训练,经过足够的迭代,智能地做出缓存替换决策。drl智能体将从系统环境中观察状态特征φ(statet),并从主q网络中获得一些动作和其对应的q值。其中观察状态特征φ(statet)首先需要确定状态空间。

步骤(4.1)状态空间s通常是状态的有限集合。本发明考虑使用用户fov的观看模式来提高缓存内容的利用率。因此,t时刻的系统状态statet由当前的集群缓存状态cs(t)和各平铺块的fov权重状态f(t)组成,即当前系统状态可以表示为

statet=(cs(t),f(t))。

步骤(4.2)利用给定数据集中的用户观看记录,fov权重可以被定义为一个平铺块变体与用户视场的重叠区域的百分比。本发明中计算平铺块变体的fov权重的示意图如图5所示。利用给定数据集中的用户观看记录,fov权重可以被定义为一个图块中视场重叠区域的百分比。t=0时,质量等级较高的zi(0<i<n)的fov权重计算为其中a为zi的面积,表示zi与fov区域的重叠面积。考虑到用户的偏好,我们在t=0时刻设置各平铺块的每个变体具有相同的fov权重,并随着每个请求的到达逐渐改变其数值,即:

因此,t时刻系统的fov权重状态可表示为:

步骤(4.3)据此,可以给出:

其中分别是所有集群缓存状态和所有fov权重状态的集合。

步骤(5)应用∈-greedy策略从动作空间中选择动作actiont,该策略使得智能体去探索更多可能的动作。

步骤(5.1)首先要确定动作空间a,动作空间a是有限动作的集合。为了限制动作空间的大小,本发明限制drl智能体只能选择一个平铺块变体来替换当前请求的内容,或者保持当前边缘缓存状态不变。因此,在本缓存系统中,缓存替换仅在相同质量的平铺块变体之间发生,以防移除一个平铺块变体不能为新到来的内容释放足够的缓存空间。据此,可以给出:

其中是在t时刻用内容zk替换zi的缓存替换决策,是所有缓存替换决策的集合。

步骤(5.2)生成一个随机数p。

步骤(5.3)若p<∈,采用自适应的动作选择方案,将每个基站上fov权重最小的平铺块变体添加到集合{a}中,并从{a}中随机选择一个内容进行替换。

步骤(5.4)若p>∈,选择当前q值最大的动作。

步骤(5.5)返回动作actiont。

步骤(6)在动作actiont被执行之后,drl代理从缓存系统获得即时奖励rewardt和下一个状态statet+1,并且新的状态也被预处理为φ(statet+1)。奖励函数r定义了马尔可夫过程的优化目标。本发明的目标为了减少回程网络中传输的数据量,并从长远来看提高用户请求的体验质量(qoe)。因此,为了计算即时奖励rewardt,首先需要计算响应用户请求的传输成本以及获得的qoe。

步骤(6.1)假设与cdn相关的回程流量相比,边缘集群内的基站之间的流量是可以忽略的,响应用户请求的传输成本可以由下式给出:

其中,μ0和μ1(μ0>μ1)分别是对应的从边缘和cdn传送视频内容的带宽资源单价,分别为t时刻平铺块变体zi和zi′在基站hk上的缓存状态。

步骤(6.2)对于用户的qoe,本发明主要考虑两个影响因素:质量不匹配水平和响应延迟。在本发明所设计的缓存系统中,用户所请求的目标平铺块变体可能与实际接收到的平铺块变体不同,但满足用户的其他偏好,例如低响应时延。因此,当在集群中没有缓存所请求的平铺块变体,而相同平铺块的其他变体的缓存存在时,用户请求的质量不匹配水平可定义为:

其中分别为t时刻平铺块变体zi和zi′在基站hk上的缓存状态。

步骤(6.3)另外,计算响应一个用户请求的时延如下式:

其中,d1,d2以及d3(d1<d2<d3)表示从分别从根基站,邻基站和cdn三处传输视频内容的传输时延。

步骤(6.4)基于上述分析,处理一个用户请求的总成本可表示为:

其中,k1,k2以及k3分别为传输成本、质量不匹配水平和传输时延的权重系数。

步骤(6.5)通常,替换fov权重较低的视频内容具有会带来更高的系统奖励。因此,奖励函数可由下式给出:

其中是被替换的内容zk在t时刻的fov权重,ri,j(t)为处理一个用户请求的宗总成本。

步骤(6.6)根据上述公式,整个缓存过程的总奖励可表示为:

其中y为奖励的衰减因子。

步骤(7)系统构造(φ(statet),actiont,rewardt,φ(statet+1))的转换关系,然后将其存储到经验回放池m中。

步骤(8)drl智能体根据经验回放池m的采样结果更新两个q网络的网络参数

步骤(8.1)drl智能体从经验回放池m的采样(φ(statet),actiont,rewardt,φ(statet+1))作为minibatch,结果来计算当前目标q值。

步骤(8.2)使用均方差损失函数通过神经网络的梯度反向传播来更新q网络的所有参数。其中对主q网络的参数进行即时更新,对目标q网络的参数进行周期性更新。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1