CN109831659A - 一种vr视频的缓存方法及系统 - Google Patents
一种vr视频的缓存方法及系统 Download PDFInfo
- Publication number
- CN109831659A CN109831659A CN201811441720.6A CN201811441720A CN109831659A CN 109831659 A CN109831659 A CN 109831659A CN 201811441720 A CN201811441720 A CN 201811441720A CN 109831659 A CN109831659 A CN 109831659A
- Authority
- CN
- China
- Prior art keywords
- visual angle
- cached
- caching
- angular distance
- video
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种VR视频的缓存方法及系统。其中,方法包括:基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;若判定云端和基站中均未存储待缓存视角,则根据云端缓存余量和基站缓存余量,判定将待缓存视角进行直接缓存或更新缓存;若判定将待缓存视角进行更新缓存,则基于视角请求和最大最小距离算法,将待缓存视角进行更新缓存。本发明实施例提供的方法及系统,能够根据VR视频的视角数量和视角请求确定下一时刻缓存的视角,以保证缓存更新后同一视频中同一片段相邻视角的最大距离之和最小,能够在相同缓存容量、相同带宽的前提下,有效提升缓存命中率和降低时延,提高用户体验。
Description
技术领域
本发明实施例涉及数据缓存技术领域,尤其涉及一种VR视频的缓存方法及系统。
背景技术
虚拟现实(Virtual Reality,简称VR)是一种人机界面技术,它能够使用户在虚拟环境中与三维空间进行交互。VR视频基于VR所产生,其有别于传统视频单一的观看视角,可以为用户展示360度的全景镜头,使用户感觉身在其中。随着近年来的快速发展,VR视频在教育、军事训练和娱乐等多个领域备受关注。
当前,针对VR视频的传输方式,主要包括离线传输和无线云传输这两种方式。其中,离线传输方式存在视频分辨率低、用户移动受限以及高性能终端价格昂贵等问题,而无线云传输方式通过将VR视频的计算、渲染和存储等工作放在云端执行,有效降低了对终端的要求,此外,通过无线的方式传输VR视频可以使用户移动的灵活性更强。但是,对于无线云传输方式,VR视频的云端渲染和无线传输会产生额外的处理时延、传输时延以及更高的带宽要求。
基于无线云传输方式,现有的VR视频缓存方法大部分都是直接沿用传统的视频缓存方法,如基于视频流行度的缓存方法等,但该缓存方法依然存在处理时延高、传输时延高以及带宽要求高等缺陷。
发明内容
针对现有技术中存在的技术问题,本发明实施例提供一种VR视频的缓存方法及系统。
第一方面,本发明实施例提供一种VR视频的缓存方法,包括:
基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;
若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;
若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
第二方面,本发明实施例提供一种VR视频的缓存系统,包括:
待缓存视角确定模块,用于基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;
缓存方式判定模块,用于若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;
更新缓存模块,用于若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的一种VR视频的缓存方法及系统,通过视角请求和最大最小距离算法对VR视频进行缓存,根据VR视频的视角数量和视角请求确定下一时刻缓存的视角,以保证缓存更新后同一视频中同一片段相邻视角的最大距离之和最小,能够在相同缓存容量、相同带宽的前提下,有效提升缓存命中率和降低时延,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种VR视频的缓存方法流程图;
图2为本发明实施例提供的一种VR视频的缓存系统的结构示意图;
图3为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地说明本发明实施例,首先对VR视频进行进一步介绍。与普通视频相比,VR视频具有以下特性:
(1)VR视频通常是三维多视图,可以从一个VR视频中提取出6、9或更多个不同的视角内容;
(2)VR视频的每个视角可以由左右相邻的视角合成得到。
基于无线云传输方式,现有的VR视频缓存方法大部分都是直接沿用传统的视频缓存方法,如基于视频流行度的缓存方法等。这些缓存方法并没有考虑VR视频的特性,依然存在处理时延高、传输时延高以及带宽要求高等缺陷。但是对于VR视频来说,如果在确定和更新缓存内容时有针对性地考虑基于左右相邻视角可以合成当前视角这一特性,可以显著提升缓存命中率,降低处理时延、传输时延以及带宽要求。
其次,对基于无线云传输方式的传输系统进行说明。传输系统包括:VR视频源服务器、移动边缘计算(Mobile Edge Computing,简称MEC)缓存服务器、基站和用户终端。其中,VR视频源服务器负责提供VR视频,一个VR视频源服务器中存储有多个VR视频,其中,每个VR视频可分为多个视频片段,每个视频片段可包含多个视角。MEC缓存服务器为接入云中的服务器,主要负责VR视频的渲染、视角合成和缓存,当接收到用户终端发送的视角请求后,会根据云端和用户终端所接入的基站的当前缓存情况进行缓存决策和调度。基站,主要用于接收用户终端发送的视角请求,并将其转发至MEC缓存服务器。用户终端,大部分为PC机,主要用于实时跟踪观看VR视频的用户的视角,以生成视角请求,并发送至基站。
以下将具体说明本发明实施例所提供的一种VR视频的缓存方法。
图1为本发明实施例提供的一种VR视频的缓存方法流程图,该方法的执行主体为MEC缓存服务器,如图1所示,该方法包括:
步骤101,基于接收到的用户终端的视角请求,确定VR视频的待缓存视角。
具体地,当用户想要观看某VR视频时,可在用户终端上选择该VR视频,并使用VR眼镜观看该VR视频。用户在观看该VR视频的过程中,用户终端可实时跟踪用户的视角并获取视角信息。其中,用户的视角可以是用户当前画面的正中心所对应的空间角度,以水平360度、垂直180度的VR视频为例,用户的视角可在水平0度至360度、垂直0度到180度的范围内变化。当用户终端判定视角变化时,即可判定用户需要观看新视角,可以理解的是,为了使用户观看到新视角,终端需要从基站、MEC缓存服务器或VR视频源服务器等处获取新视角。因此,此时用户终端生成携带有待缓存视角(也即新视角)的视角信息的视角请求,并发送至基站。然后,基站将该视角请求转发至MEC缓存服务器。需要说明的是,由于VR视频可分为多个视频片段,每个视频片段可包含多个视角,因此,VR视频的待缓存视角的视角信息可以是该待缓存视角所处的位置,即,其位于哪个VR视频的哪个视频片段,以及在该视频片段中的序号为多少。
MEC缓存服务器接收到该视角请求后,可根据视角请求携带的VR视频的待缓存视角的视角信息,确定待缓存视角。
步骤102,若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存。
具体地,MEC缓存服务器在确定VR视频的待缓存视角后,判定云端或基站中是否存储有该待缓存视角,若云端和基站中均未存储该待缓存视角,则根据云端缓存余量和基站缓存余量,判定将待缓存视角进行直接缓存或更新缓存。需要说明的是,云端指代的是MEC缓存服务器,MEC缓存服务器和基站中通常都缓存有VR视频的部分视角,MEC缓存服务器的缓存余量指的是MEC缓存服务器的总缓存容量与已缓存量的差值,基站的缓存余量指的是基站的总缓存容量与已缓存量的差值。直接缓存指的是MEC缓存服务器直接将待缓存视角缓存至云端或基站,更新缓存指的是MEC缓存服务器将云端已缓存的某一视角删掉后,将待缓存视角进行缓存。
步骤103,若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
具体地,若判定将该待缓存视角进行更新缓存,则首先基于视角请求和最大最小距离算法,确定待替换的已缓存视角,然后从VR视频源服务器中获取该待缓存视角,用待缓存视角替换已缓存视角以进行缓存。
其中,最大最小距离算法(Max-Min-distance,简称MMD)的基本思想为:对待分类模式样本集采取以最大距离原则选取新的聚类中心,以最小距离原则进行模式归类。本发明实施例基于MMD算法的基本思想,结合VR视频的视角特性,将待缓存视角进行更新缓存。
本发明实施例提供的方法,通过视角请求和最大最小距离算法对VR视频进行缓存,根据VR视频的视角数量和视角请求确定下一时刻缓存的视角,以保证缓存更新后同一视频中同一片段相邻视角的最大距离之和最小,能够在相同缓存容量、相同带宽的前提下,有效提升缓存命中率和降低时延,提高用户体验。
在上述各实施例的基础上,本发明实施例对判定以何种方式对待缓存视角进行缓存的判定过程进行说明。即,根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存,包括:
若判定获知云端缓存余量大于或等于第一预设阈值,或,若判定获知云端缓存余量小于第一预设阈值且基站缓存余量大于或等于第二预设阈值,则判定将VR视频的待缓存视角进行直接缓存。
需要说明的是,第一预设阈值和第二预设阈值根据实际应用场景所选定。MEC缓存服务器若判定获知云端的缓存余量大于或等于第一预设阈值,则代表MEC缓存服务器未被占满,即其有空间存缓存待缓存视角。
MEC缓存服务器若判定获知云端的缓存余量小于第一预设阈值,则代表MEC缓存服务器被占满,此时,暂不缓存该待缓存视角,接着判定基站的缓存余量是否大于或等于第二预设阈值,若基站的缓存余量大于或等于第二预设阈值,则代表基站未被占满,此时,将该待缓存视角缓存至基站。
否则,判定将VR视频的待缓存视角进行更新缓存。
具体地,若MEC缓存服务器和基站均被占满,则将VR视频的待缓存视角进行更新缓存,即,MEC缓存服务器将云端已缓存的某一视角删掉后,将待缓存视角进行缓存。
本发明实施例提供的方法,VR视频数据既可以缓存于云端,也可以缓存于本地基站,实现了两级分布式缓存。
在上述各实施例的基础上,本发明实施例对上述实施例中判定过程之后的操作进行说明。即,若判定获知云端缓存余量大于或等于第一预设阈值,之后还包括:将所述待缓存视角缓存至云端;若判定获知云端缓存余量小于第一预设阈值且基站缓存余量大于或等于第二预设阈值,之后还包括:将所述待缓存视角缓存至基站。
本发明实施例提供的方法,VR视频数据既可以缓存于云端,也可以缓存于本地基站,实现了两级分布式缓存。
在上述各实施例的基础上,本发明实施例对更新缓存的具体过程进行说明。即,基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存,包括:
基于所述视角请求,确定所述待缓存视角所属的VR视频的视频片段中的已缓存视角集合;其中,所述已缓存视角集合中的元素为已缓存视角的视角序号,并且,所述已缓存视角集合中的元素按视角序号由小到大的顺序进行排序。
具体地,MEC缓存服务器能够基于视角请求携带的VR视频的待缓存视角的视角信息vf,s,k,确定vf,s,k所属的VR视频f的视频片段s,然后确定视频片段s中的视角集合和已在MEC缓存服务器中缓存的已缓存视角集合其中,k为视角序号,K为集合中的视角个数。
基于最大最小距离算法,在所述已缓存视角集合中,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
在上述各实施例的基础上,本发明实施例对基于最大最小距离算法,在所述已缓存视角集合中,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存进行说明:
分别用所述待缓存视角预替换所述已缓存视角集合中不同的已缓存视角,并在每次预替换后,生成新的视角集合;其中,所述新的视角集合中的元素为待缓存视角的视角序号和所述已缓存视角集合中剔除一个已缓存视角后所剩余的已缓存视角的视角序号,所述新的视角集合中的元素按视角序号由小到大的顺序进行排序。
举个例子,对于VR视频f的视频片段s,若其视角集合已缓存视角集合χ={0,2,5,6,9,14,16,17},待缓存视角的序号为12,则分别:
用序号为12的待缓存视角预替换序号为0的已缓存视角,生成新的视角集合χ1={2,5,6,9,12,14,16,17};用序号为12的待缓存视角预替换序号为2的已缓存视角,生成新的视角集合χ2={0,5,6,9,12,14,16,17};用序号为12的待缓存视角预替换序号为5的已缓存视角,生成新的视角集合χ3={0,2,6,9,12,14,16,17};用序号为12的待缓存视角预替换序号为6的已缓存视角,生成新的视角集合χ4={0,2,5,9,12,14,16,17};用序号为12的待缓存视角预替换序号为9的已缓存视角,生成新的视角集合χ5={0,2,5,6,12,14,16,17};用序号为12的待缓存视角预替换序号为14的已缓存视角,生成新的视角集合χ6={0,2,5,6,9,12,16,17};用序号为12的待缓存视角预替换序号为16的已缓存视角,生成新的视角集合χ7={0,2,5,6,9,12,14,17};用序号为12的待缓存视角预替换序号为17的已缓存视角,生成新的视角集合χ8={0,2,5,6,9,12,14,16};即,对于上述例子,每次均用序号为12的待缓存视角预替换已缓存视角集合χ中不同的已缓存视角,总共预替换了8次,并在每次预替换后,生成新的视角集合,一共生成了8个新的视角集合。
确定每一新的视角集合的最大视角距离和最大视角距离数,以组成最大视角距离集合和最大视角距离数集合。
具体地,首先分别确定χ1的最大视角距离和最大视角距离数,χ2的最大视角距离和最大视角距离数,χ3的最大视角距离和最大视角距离数,χ4的最大视角距离和最大视角距离数,χ5的最大视角距离和最大视角距离数,χ6的最大视角距离和最大视角距离数,χ7的最大视角距离和最大视角距离数,χ8的最大视角距离和最大视角距离数,然后将这8个视角集合中每一视角集合的最大视角距离组成最大视角距离集合,将这8个视角集合中每一视角集合的最大视角距离数组成最大视角距离数集合。
根据所述最大视角距离集合和所述最大视角距离数集合,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
在上述各实施例的基础上,本发明实施例对确定每一新的视角集合的最大视角距离和最大视角距离数,以组成最大视角距离集合和最大视角距离数集合进行说明:
对于每一新的视角集合,确定所述新的视角集合中每相邻的两个视角序号不相邻的视角间的距离以及所述新的视角集合中首尾两个视角序号不相邻的视角间的距离,并作为视角距离,以根据所得到的所有视角距离,确定所述新的视角集合的最大视角距离和最大视角距离数。
具体地,以新的视角集合χ1={2,5,6,9,12,14,16,17}进行说明,每相邻的两个视角序号不相邻的视角指的是:序号2的视角与序号5的视角、序号6的视角与序号9的视角、序号9的视角与序号12的视角、序号12的视角与序号14的视角、序号14的视角与序号16的视角;首尾两个视角序号不相邻的视角指的是:序号17的视角与序号2的视角。即,对于χ1,确定序号2的视角与序号5的视角间的距离作为视角距离2,确定序号6的视角与序号9的视角间的距离作为视角距离2,确定序号9的视角与序号12的视角间的距离作为视角距离2,确定序号12的视角与序号14的视角间的距离作为视角距离1,确定序号14的视角与序号16的视角间的距离作为视角距离1,确定序号17的视角与序号2的视角间的距离作为视角距离2,根据上述6个视角距离,确定χ1的最大视角距离和最大视角距离数。即,若上述6个视角距离分别为{2,2,2,1,1,2},那么,χ1的最大视角距离为2,最大视角距离数为4。
进一步地,此处对视角距离的计算过程进行说明,例如,相邻的两个视角分别为视角a和视角b,则视角a和视角b的距离即视角距离db,a为:
其中,K为视角集合中的视角个数。
此处对最大视角距离的确定过程进行说明:
新的视角集合的最大视角距离Dx,k指该集合中的所有视角距离中的最大值,最大视角距离数集合指该集合中最大视角距离Dx,k的个数。
将所有新的视角集合的最大视角距离组成最大视角距离集合,并将所有新的视角距离集合的最大视角距离数组成最大视角距离数集合。
假设:
对于χ1,其最大视角距离为2,最大视角距离数为4;
对于χ2,其最大视角距离为4,最大视角距离数为1;
对于χ3,其最大视角距离为3,最大视角距离数为1;
对于χ4,其最大视角距离为3,最大视角距离数为1;
对于χ5,其最大视角距离为5,最大视角距离数为1;
对于χ6,其最大视角距离为3,最大视角距离数为1;
对于χ7,其最大视角距离为2,最大视角距离数为4;
对于χ8,其最大视角距离为2,最大视角距离数为3;
则将上述的8个最大视角距离组成最大视角距离集合D={2,4,3,3,5,3,2,2},并将上述的8个最大视角距离数组成最大视角距离数集合C={4,1,1,1,1,1,4,3}。
在上述各实施例的基础上,本发明实施例对根据所述最大视角距离集合和所述最大视角距离数集合,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存进行说明:
确定所述最大视角距离集合中的最小最大视角距离。
具体地,对于最大视角距离集合D,最小最大视角距离为2,对应了x11、χ7和χ8。
若所述最小最大视角距离的数量为1,则将所述最小最大视角距离对应的新的视角集合中的被替换的已缓存视角作为待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
若所述最小最大视角距离的数量大于1,则确定每一最小最大视角距离对应的最大视角距离数,并根据每一最小最大视角距离对应的最大视角距离数,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
具体地,若所述最小最大视角距离的数量大于1,则确定每一最小最大视角距离对应的最大视角距离数,若最大视角距离数中存在一个最小最大视角距离数,则将该最小最大视角距离数对应的新的视角集合中的被替换的已缓存视频删除,以将待缓存视角进行缓存,若最大视角距离数中存在多个最小最大视角距离数,则随机选择一个最小最大视角距离数对应的新的视角集合,以将该新的视角集合中的被替换的已缓存视频删除,并将待缓存视角进行缓存。
对于上述例子,由于最小最大视角距离2不唯一,其对应了χ1、χ7和χ8这三个新的视角集合,因此,确定每一最小最大视角距离对应的最大视角距离数,分别为4、4、3,由于3最小且仅有一个,因此,将χ8中被替换的序号为17的已缓存视角删除,以将序号为12的待缓存视角进行缓存。
图2为本发明实施例提供的一种VR视频的缓存系统的结构示意图,如图2所示,该系统包括:
待缓存视角确定模块201,用于基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;
缓存方式判定模块202,用于若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;
更新缓存模块203,用于若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
本发明实施例提供的系统,具体执行上述各方法实施例流程,具体请详见上述各方法实施例的内容,此处不再赘述。本发明实施例提供的系统,通过视角请求和最大最小距离算法对VR视频进行缓存,根据VR视频的视角数量和视角请求确定下一时刻缓存的视角,以保证缓存更新后同一视频中同一片段相邻视角的最大距离之和最小,能够在相同缓存容量、相同带宽的前提下,有效提升缓存命中率和降低时延,提高用户体验。
图3为本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储在存储器303上并可在处理器301上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种VR视频的缓存方法,其特征在于,包括:
基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;
若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;
若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
2.根据权利要求1所述的方法,其特征在于,根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存,包括:
若判定获知云端缓存余量大于或等于第一预设阈值,或,若判定获知云端缓存余量小于第一预设阈值且基站缓存余量大于或等于第二预设阈值,则判定将VR视频的待缓存视角进行直接缓存;
否则,判定将VR视频的待缓存视角进行更新缓存。
3.根据权利要求2所述的方法,其特征在于,若判定获知云端缓存余量大于或等于第一预设阈值,之后还包括:将所述待缓存视角缓存至云端;
若判定获知云端缓存余量小于第一预设阈值且基站缓存余量大于或等于第二预设阈值,之后还包括:将所述待缓存视角缓存至基站。
4.根据权利要求1所述的方法,其特征在于,基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存,包括:
基于所述视角请求,确定所述待缓存视角所属的VR视频的视频片段中的已缓存视角集合;其中,所述已缓存视角集合中的元素为已缓存视角的视角序号,并且,所述已缓存视角集合中的元素按视角序号由小到大的顺序进行排序;
基于最大最小距离算法,在所述已缓存视角集合中,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
5.根据权利要求4所述的方法,其特征在于,基于最大最小距离算法,在所述已缓存视角集合中,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存,包括:
分别用所述待缓存视角预替换所述已缓存视角集合中不同的已缓存视角,并在每次预替换后,生成新的视角集合;其中,所述新的视角集合中的元素为待缓存视角的视角序号和所述已缓存视角集合中剔除一个已缓存视角后所剩余的已缓存视角的视角序号,所述新的视角集合中的元素按视角序号由小到大的顺序进行排序;
确定每一新的视角集合的最大视角距离和最大视角距离数,以组成最大视角距离集合和最大视角距离数集合;
根据所述最大视角距离集合和所述最大视角距离数集合,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
6.根据权利要求5所述的方法,其特征在于,确定每一新的视角集合的最大视角距离和最大视角距离数,以组成最大视角距离集合和最大视角距离数集合,包括:
对于每一新的视角集合,确定所述新的视角集合中每相邻的两个视角序号不相邻的视角间的距离以及所述新的视角集合中首尾两个视角序号不相邻的视角间的距离,并作为视角距离,以根据所得到的所有视角距离,确定所述新的视角集合的最大视角距离和最大视角距离数;
将所有新的视角集合的最大视角距离组成最大视角距离集合,并将所有新的视角距离集合的最大视角距离数组成最大视角距离数集合。
7.根据权利要求5所述的方法,其特征在于,根据所述最大视角距离集合和所述最大视角距离数集合,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存,包括:
确定所述最大视角距离集合中的最小最大视角距离;
若所述最小最大视角距离的数量为1,则将所述最小最大视角距离对应的新的视角集合中的被替换的已缓存视角作为待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存;
若所述最小最大视角距离的数量大于1,则确定每一最小最大视角距离对应的最大视角距离数,并根据每一最小最大视角距离对应的最大视角距离数,确定待替换的已缓存视角,并用所述待缓存视角替换所述已缓存视角以进行缓存。
8.一种VR视频的缓存系统,其特征在于,包括:
待缓存视角确定模块,用于基于接收到的用户终端的视角请求,确定VR视频的待缓存视角;
缓存方式判定模块,用于若判定云端和基站中均未存储所述待缓存视角,则根据云端缓存余量和基站缓存余量,判定将所述待缓存视角进行直接缓存或更新缓存;其中,所述直接缓存为直接将待缓存视角缓存至云端或基站,所述更新缓存为用待缓存视角替换云端已缓存视角以进行缓存;
更新缓存模块,用于若判定将所述待缓存视角进行更新缓存,则基于所述视角请求和最大最小距离算法,将所述待缓存视角进行更新缓存。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811441720.6A CN109831659B (zh) | 2018-11-29 | 2018-11-29 | 一种vr视频的缓存方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811441720.6A CN109831659B (zh) | 2018-11-29 | 2018-11-29 | 一种vr视频的缓存方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109831659A true CN109831659A (zh) | 2019-05-31 |
CN109831659B CN109831659B (zh) | 2020-05-08 |
Family
ID=66859171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811441720.6A Active CN109831659B (zh) | 2018-11-29 | 2018-11-29 | 一种vr视频的缓存方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831659B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765365A (zh) * | 2019-10-25 | 2020-02-07 | 国网河南省电力公司信息通信公司 | 分布式边云协同缓存策略的实现方法、装置、设备和介质 |
CN112202800A (zh) * | 2020-10-10 | 2021-01-08 | 中国科学技术大学 | C-ran架构中基于强化学习的vr视频边缘预取方法和系统 |
CN112202802A (zh) * | 2020-10-10 | 2021-01-08 | 中国科学技术大学 | C-ran架构中基于强化学习的vr视频多级缓存方法和系统 |
CN113014961A (zh) * | 2019-12-19 | 2021-06-22 | 中兴通讯股份有限公司 | 视频推送及传输方法、视角同步方法及装置、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807931A (zh) * | 2016-03-16 | 2016-07-27 | 成都电锯互动科技有限公司 | 一种虚拟现实的实现方法 |
CN206433094U (zh) * | 2016-12-30 | 2017-08-22 | 上嘉(天津)文化传播有限公司 | 博物馆展陈用远程vr影像数据演示系统 |
US20180108110A1 (en) * | 2016-10-19 | 2018-04-19 | Microsoft Technology Licensing, Llc | Stereoscopic virtual reality through caching and image based rendering |
CN108777802A (zh) * | 2018-06-05 | 2018-11-09 | 网宿科技股份有限公司 | 一种缓存vr视频的方法和装置 |
CN108897495A (zh) * | 2018-06-28 | 2018-11-27 | 北京五八信息技术有限公司 | 缓存更新方法、装置、缓存设备及存储介质 |
-
2018
- 2018-11-29 CN CN201811441720.6A patent/CN109831659B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807931A (zh) * | 2016-03-16 | 2016-07-27 | 成都电锯互动科技有限公司 | 一种虚拟现实的实现方法 |
US20180108110A1 (en) * | 2016-10-19 | 2018-04-19 | Microsoft Technology Licensing, Llc | Stereoscopic virtual reality through caching and image based rendering |
CN206433094U (zh) * | 2016-12-30 | 2017-08-22 | 上嘉(天津)文化传播有限公司 | 博物馆展陈用远程vr影像数据演示系统 |
CN108777802A (zh) * | 2018-06-05 | 2018-11-09 | 网宿科技股份有限公司 | 一种缓存vr视频的方法和装置 |
CN108897495A (zh) * | 2018-06-28 | 2018-11-27 | 北京五八信息技术有限公司 | 缓存更新方法、装置、缓存设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
MINGZHE CHEN等: "Resource Management for Wireless Virtual Reality:Machine Learning Meets Multi-Attribute Utility", 《IEEE》 * |
周一青等: "面向通信与计算融合的5G移动增强_虚拟现实", 《CNKI》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765365A (zh) * | 2019-10-25 | 2020-02-07 | 国网河南省电力公司信息通信公司 | 分布式边云协同缓存策略的实现方法、装置、设备和介质 |
CN113014961A (zh) * | 2019-12-19 | 2021-06-22 | 中兴通讯股份有限公司 | 视频推送及传输方法、视角同步方法及装置、存储介质 |
CN112202800A (zh) * | 2020-10-10 | 2021-01-08 | 中国科学技术大学 | C-ran架构中基于强化学习的vr视频边缘预取方法和系统 |
CN112202802A (zh) * | 2020-10-10 | 2021-01-08 | 中国科学技术大学 | C-ran架构中基于强化学习的vr视频多级缓存方法和系统 |
CN112202800B (zh) * | 2020-10-10 | 2021-10-01 | 中国科学技术大学 | C-ran架构中基于强化学习的vr视频边缘预取方法和系统 |
CN112202802B (zh) * | 2020-10-10 | 2021-10-01 | 中国科学技术大学 | C-ran架构中基于强化学习的vr视频多级缓存方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109831659B (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831659A (zh) | 一种vr视频的缓存方法及系统 | |
US10062414B1 (en) | Determining a future field of view (FOV) for a particular user viewing a 360 degree video stream in a network | |
CN106911780A (zh) | 业务id生成方法、装置及系统 | |
US10748250B2 (en) | Method and apparatus for managing immersive data | |
CN109523621A (zh) | 对象的加载方法和装置、存储介质、电子装置 | |
CN105263050A (zh) | 基于云平台的移动终端实时渲染系统及其方法 | |
KR20040068338A (ko) | 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기 | |
CN113282786B (zh) | 一种基于深度强化学习的全景视频边缘协作缓存替换方法 | |
CN106934058A (zh) | 矢量数据读取方法及系统、矢量数据可视化方法及系统 | |
CN109831806A (zh) | 密集场景下面向用户优先级的基站协同缓存方法 | |
CN108984574A (zh) | 数据处理方法及装置 | |
CN116977531A (zh) | 三维纹理图像的生成方法、装置、计算机设备和存储介质 | |
CN110162410A (zh) | 一种消息处理方法和装置 | |
CN101917481B (zh) | 一种基于空间漫游位置的视频网络地图多级缓存的实现方法 | |
CN106303581A (zh) | 一种视频文件下载处理方法、装置和服务器 | |
CN110290196A (zh) | 一种内容分发方法及装置 | |
CN112233231B (zh) | 一种基于云计算的城市三维实景漫游方法及系统 | |
CN110083761B (zh) | 一种基于内容流行度的数据分发方法、系统及存储介质 | |
Li et al. | Utility-driven joint caching and bitrate allocation for real-time immersive videos | |
CN109635832A (zh) | 一种基于云平台的目标识别方法及系统 | |
CN105872634A (zh) | 视频数据共享的方法及装置 | |
CN115827236A (zh) | 实景三维在云发布过程中负载性能优化方法及系统 | |
CN110089076A (zh) | 实现信息互动的方法和装置 | |
CN114401360A (zh) | 视频的多帧延迟特效生成方法、装置、设备及介质 | |
Hassan et al. | User Profile-Based Viewport Prediction Using Federated Learning in Real-Time 360-Degree Video Streaming |
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 |