1.本发明属于视频缓存领域,具体涉及一种基于边缘节点的虚拟现实视频缓存方法及装置。
背景技术:2.当前,移动通信技术的飞速发展促使vr视频得到了极为广泛的应用,多家主流视频播放平台,如爱奇艺、youtube等,均提供相应的流媒体服务。然而,与传统的二维视频相比,vr视频的数据量急剧增长,对当前的移动网络环境的传输能力提出了极为严苛的要求。为了降低响应观看vr视频请求的延时,不少方法提出将视频内容提前从云服务器存储至用户周边,即将视频内容提前缓存在用户设备上,如vr头盔或者个人电脑上。当用户观看时,只需对缓存内容进行渲染,便可播放。但是,用户设备的存储容量有限,无法缓存太多的视频内容,用户观看的内容仍需向遥远的云服务器进行请求传输。
3.随着边缘节点的大量部署,存储容量大、距离终端近等优点使得将视频内容缓存在边缘节点成为一种新思路。然而,边缘节点也并不能无节制缓存数据量庞大的vr视频。随意的缓存不仅浪费存储资源,而且很有可能无益于降低响应延时。由于用户的真实视区,即fov,只占据整个vr视频画面的一部分,如果尽可能地缓存用户感兴趣区域的内容,将极大提高缓存效率。然而,如何准确估计用户的感兴趣区域是制定高效缓存策略所面临的难题。
技术实现要素:4.针对上述问题,本发明提出了一种基于边缘节点的虚拟现实视频缓存方法及装置,通过分析历史用户的视点信息,找出vr视频中用户可能感兴趣的区域,并以视点数目作为不同区域的流行度估计,越流行的,越容易被缓存在边缘节点,从而能够降低响应后续观看该vr视频的请求的时延。
5.为实现上述目的,第一方面,本发明提供了一种基于边缘节点的虚拟现实视频缓存方法,包括如下步骤:
6.s1:将vr视频划分成等时长的视频片段;
7.s2:获取每个视频片段的历史视点分布数据;
8.s3:对每个视频片段的视点进行聚类,得到k个观看偏好不同的用户类别及对应的聚类中心,并用与真实视区fov大小一致的k个矩形框表示每类用户的感兴趣区域,作为目标roi;其中,每个矩形框的中心与其对应的聚类中心一致;
9.s4:对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,并选择包含视点数目最多的前n个被搜索的roi作为候选roi;
10.s5:根据每类用户的目标roi和候选roi包含的视点数目,降序确定每个roi的缓存优先级,直至无可用存储资源或者每类用户的目标roi和候选roi均被缓存;
11.s6:经过预设时间,重复执行s2~s5,更新缓存内容。
12.进一步地,所述s3中,k值通过以下方式确定:
13.从k=2开始,以k作为类别数目,执行k-means算法,然后增加k,直到某一用户类别包含的视点数目小于阈值。
14.进一步地,所述s4中,对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,包括:
15.对每一用户类别,在给定搜索范围内,以粒度θ遍历整个搜索范围最外层,记录每次搜索时所对应的roi包含的视点数目;搜索范围减半,按照同样的方式进行搜索,直至搜索范围小于真实视区fov的大小。
16.进一步地,所述s5中,根据每类用户的目标roi和候选roi包含的视点数目,降序确定每个roi的缓存优先级,包括:
17.若第一用户类别的目标roi包含的视点数目大于第二用户类别的目标roi包含的视点数目,且第一用户类别的某一候选roi包含的视点数目等于第二用户类别的某一候选roi包含的视点数目,则第一用户类别的某一候选roi的缓存优先级高于第二用户类别的某一候选roi。
18.进一步地,所述s6中,若存在可用存储资源,则直接缓存新的roi;若无可用存储资源,则用包含视点数目较多的roi替换包含视点数目较少的roi。
19.第二方面,本发明提供了一种基于边缘节点的虚拟现实视频缓存装置,包括:
20.划分模块,用于将vr视频划分成等时长的视频片段;
21.获取模块,用于获取每个视频片段的历史视点分布数据;
22.roi确定模块,用于对每个视频片段的视点进行聚类,得到k个观看偏好不同的用户类别及对应的聚类中心,并用与真实视区fov大小一致的k个矩形框表示每类用户的感兴趣区域,作为目标roi;其中,每个矩形框的中心与其对应的聚类中心一致;以及,对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,并选择包含视点数目最多的前n个被搜索的roi作为候选roi;
23.优先级确定模块,用于根据每类用户的目标roi和候选roi包含的视点数目,降序确定每个roi的缓存优先级,直至无可用存储资源或者每类用户的目标roi和候选roi均被缓存;
24.重复模块,用于经过预设时间,重复执行所述获取模块、roi确定模块和优先级确定模块的操作,更新缓存内容。
25.第三方面,本发明提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法的步骤。
26.第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法的步骤。
27.总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
28.本发明通过分析历史用户的视点轨迹信息,估计vr视频不同区域的流行度,然后根据流行度有选择地将不同的视频内容缓存至用户周边的边缘节点,在一定程度上降低响应观看vr视频请求的延时,缓解了移动网络的传输压力。
附图说明
29.图1是本发明实施例提供的边缘缓存模型示意图;
30.图2是本发明实施例提供的基于边缘节点的虚拟现实视频缓存方法流程图;
31.图3是本发明实施例提供的搜索候选roi示意图。
具体实施方式
32.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
33.在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
34.如图2所示,本发明提供了一种基于边缘节点的虚拟现实视频缓存方法,包括操作s1至s6。
35.操作s1:将vr视频划分成等时长的视频片段。
36.例如,以时长τ进行划分。
37.操作s2:获取每个视频片段的历史视点分布数据。
38.本实施例中,通过统计观看过相同vr视频的用户的历史视点轨迹信息,得到每个视频片段的视点分布。
39.操作s3:对每个视频片段的视点进行聚类,得到k个观看偏好不同的用户类别及对应的聚类中心,并用与真实视区fov大小一致的k个矩形框表示每类用户的感兴趣区域,作为目标roi;其中,每个矩形框的中心与其对应的聚类中心一致。
40.本实施例中,利用k-means算法对每个视频片段的视点进行聚类,得到k个观看偏好不同的用户类别及对应的聚类中心。其中,k值通过以下方式确定:从k=2开始,以k作为类别数目,执行k-means算法,然后增加k,直到某一用户类别包含的视点数目小于阈值ε,以保证聚类的精确性。
41.接着,用与真实视区fov大小一致的k个矩形框表示每类用户的感兴趣区域roi,作为目标roi。其中,每个矩形框的中心与其对应的聚类中心一致,以使矩形框尽可能覆盖更多的视点。
42.操作s4:对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,并选择包含视点数目最多的前n个被搜索的roi作为候选roi。
43.如图3所示,对每一用户类别,在给定搜索范围w内,以粒度θ遍历整个搜索范围最外层,记录每次搜索时所对应的roi包含的视点数目;搜索范围减半,按照同样的方式进行搜索,直至搜索范围小于真实视区fov的大小。选择包含视点数目最多的前n个被搜索的roi作为候选roi,然后降序赋予这些候选roi优先级。图3中,m和n均为整数。同时,需要说明的是,候选roi的大小也与真实视区fov的大小一致。
44.操作s5:根据每类用户的目标roi和候选roi包含的视点数目,降序确定每个roi的缓存优先级,直至无可用存储资源或者每类用户的目标roi和候选roi均被缓存。
45.需要说明的是,当第一用户类别的目标roi包含的视点数目等于第二用户类别的目标roi包含的视点数目,则随机分配第一用户类别的目标roi和第二用户类别的目标roi的缓存优先级。
46.可以理解的是,若第一用户类别的目标roi包含的视点数目大于第二用户类别的目标roi包含的视点数目,且第一用户类别的某一候选roi包含的视点数目等于第二用户类别的某一候选roi包含的视点数目,则第一用户类别的某一候选roi的缓存优先级高于第二用户类别的某一候选roi。
47.操作s6:经过预设时间,重复执行s2~s5,更新缓存内容。
48.随着用户数量的增加,感兴趣区域可能会发生改变,此时需要更新视点统计信息,重新确定感兴趣区域。
49.若存在可用存储资源,则直接缓存新的roi;若无可用存储资源,则用包含视点数目较多的roi替换包含视点数目较少的roi。
50.本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种基于边缘节点的虚拟现实视频缓存方法,其特征在于,包括如下步骤:s1:将vr视频划分成等时长的视频片段;s2:获取每个视频片段的历史视点分布数据;s3:对每个视频片段的视点进行聚类,得到k个观看偏好不同的用户类别及对应的聚类中心,并用与真实视区fov大小一致的k个矩形框表示每类用户的感兴趣区域,作为目标roi;其中,每个矩形框的中心与其对应的聚类中心一致;s4:对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,并选择包含视点数目最多的前n个被搜索的roi作为候选roi;s5:根据每类用户的目标roi和候选roi包含的视点数目,降序确定每个roi的缓存优先级,直至无可用存储资源或者每类用户的目标roi和候选roi均被缓存;s6:经过预设时间,重复执行s2~s5,更新缓存内容。2.如权利要求1所述的基于边缘节点的虚拟现实视频缓存方法,其特征在于,所述s3中,k值通过以下方式确定:从k=2开始,以k作为类别数目,执行k-means算法,然后增加k,直到某一用户类别包含的视点数目小于阈值。3.如权利要求1或2所述的基于边缘节点的虚拟现实视频缓存方法,其特征在于,所述s4中,对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,包括:对每一用户类别,在给定搜索范围内,以粒度θ遍历整个搜索范围最外层,记录每次搜索时所对应的roi包含的视点数目;搜索范围减半,按照同样的方式进行搜索,直至搜索范围小于真实视区fov的大小。4.如权利要求1或2所述的基于边缘节点的虚拟现实视频缓存方法,其特征在于,所述s5中,根据每类用户的目标roi和候选roi包含的视点数目,降序确定每个roi的缓存优先级,包括:若第一用户类别的目标roi包含的视点数目大于第二用户类别的目标roi包含的视点数目,且第一用户类别的某一候选roi包含的视点数目等于第二用户类别的某一候选roi包含的视点数目,则第一用户类别的某一候选roi的缓存优先级高于第二用户类别的某一候选roi。5.如权利要求1或2所述的基于边缘节点的虚拟现实视频缓存方法,其特征在于,所述s6中,若存在可用存储资源,则直接缓存新的roi;若无可用存储资源,则用包含视点数目较多的roi替换包含视点数目较少的roi。6.一种基于边缘节点的虚拟现实视频缓存装置,其特征在于,包括:划分模块,用于将vr视频划分成等时长的视频片段;获取模块,用于获取每个视频片段的历史视点分布数据;roi确定模块,用于对每个视频片段的视点进行聚类,得到k个观看偏好不同的用户类别及对应的聚类中心,并用与真实视区fov大小一致的k个矩形框表示每类用户的感兴趣区域,作为目标roi;其中,每个矩形框的中心与其对应的聚类中心一致;以及,对每一用户类别,给定搜索范围,在其目标roi附近搜索其他可能的roi,并选择包含视点数目最多的前n个被搜索的roi作为候选roi;优先级确定模块,用于根据每类用户的目标roi和候选roi包含的视点数目,降序确定
每个roi的缓存优先级,直至无可用存储资源或者每类用户的目标roi和候选roi均被缓存;重复模块,用于经过预设时间,重复执行所述获取模块、roi确定模块和优先级确定模块的操作,更新缓存内容。7.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
技术总结本发明公开了一种基于边缘节点的虚拟现实视频缓存方法及装置,方法包括:(1)将VR视频划分成等时长的视频片段;(2)获取每个视频片段的历史视点分布数据;(3)利用聚类算法将用户视点聚类,得到每个视频片段中用户的感兴趣区域,作为目标ROI;(4)在这些目标ROI附近进一步搜寻包含较多视点的区域,得到候选ROI;(5)按照包含视点数目的多少,降序缓存上述ROI,直至边缘节点无可用缓存资源或所有ROI都已被缓存。本发明通过分析历史用户的视点信息,找出VR视频中用户可能感兴趣的区域,并以视点数目作为不同区域流行度的估计,越流行的,越容易被缓存在边缘节点,从而能够降低响应后续观看该VR视频的请求的时延。该VR视频的请求的时延。该VR视频的请求的时延。
技术研发人员:杨鹏 杨甦舒 喻莉
受保护的技术使用者:华中科技大学
技术研发日:2022.06.30
技术公布日:2022/11/1