CN115955580B - 基于可伸缩编码的全景视频边缘缓存方法及系统 - Google Patents

基于可伸缩编码的全景视频边缘缓存方法及系统 Download PDF

Info

Publication number
CN115955580B
CN115955580B CN202310242171.4A CN202310242171A CN115955580B CN 115955580 B CN115955580 B CN 115955580B CN 202310242171 A CN202310242171 A CN 202310242171A CN 115955580 B CN115955580 B CN 115955580B
Authority
CN
China
Prior art keywords
video
cache
edge
file
request
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
Application number
CN202310242171.4A
Other languages
English (en)
Other versions
CN115955580A (zh
Inventor
周宇哲
万征
刘学林
董小刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi University of Finance and Economics
Original Assignee
Jiangxi University of Finance and Economics
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangxi University of Finance and Economics filed Critical Jiangxi University of Finance and Economics
Priority to CN202310242171.4A priority Critical patent/CN115955580B/zh
Publication of CN115955580A publication Critical patent/CN115955580A/zh
Application granted granted Critical
Publication of CN115955580B publication Critical patent/CN115955580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种基于可伸缩编码的全景视频边缘缓存方法及系统,该方法包括:客户端进行视点预测得到未来视点预测结果,根据未来视点预测结果和播放视频信息向边缘服务器发送视频获取请求和视频缓存请求;边缘服务器对视频获取请求对应的视频数据进行清晰度自适应响应,根据清晰度自适应响应结果进行视频边缘缓存;边缘服务器根据视频边缘缓存结果在请求缓存文件列表中进行已缓存数据的删除;边缘服务器根据候选可缓存数量对各边缘节点进行缓存规划,直至请求缓存文件列表为空和/或各边缘节点的可缓存空间为零。本发明能自动确定需要获取的视频信息和需要缓存的视频信息,无需对基础层完成长期缓存,降低了全景视频传输过程中的冗余数据。

Description

基于可伸缩编码的全景视频边缘缓存方法及系统
技术领域
本发明涉及数据缓存技术领域,尤其涉及一种基于可伸缩编码的全景视频边缘缓存方法及系统。
背景技术
全景视频是一种360度拍摄、可变视角播放的特殊视频。由于传统视频播放设备生硬的交互逻辑,用户观看体验始终未达到最佳。随着虚拟现实技术(VR)的不断发展,产品化的VR设备逐渐走向市场,VR设备的交互性与沉浸感,使得全景视频迎来了又一次发展机遇,为提高全景视频的播放质量,全景视频缓存的问题越来越受人们所重视。
现有的全景视频缓存过程中,一般是在客户端对视频的基础层完成长期缓存,增强层完成短期缓存,以实现全景视频高质量播放,但由于现有技术需要对基础层完成全部缓存,导致全景视频传输过程中存在大量冗余数据,降低了全景视频缓存效率。
发明内容
本发明实施例的目的在于提供一种基于可伸缩编码的全景视频边缘缓存方法及系统,旨在解决现有的全景视频缓存过程中,存在大量冗余数据的问题。
本发明实施例是这样实现的,一种基于可伸缩编码的全景视频边缘缓存方法,所述方法包括如下步骤:
客户端对用户视点轨迹进行视点预测,得到未来视点预测结果,并根据所述未来视点预测结果和播放视频信息向边缘服务器发送视频获取请求和视频缓存请求;
所述边缘服务器对所述视频获取请求对应的视频数据进行清晰度自适应响应,并根据清晰度自适应响应结果进行视频边缘缓存;
所述边缘服务器根据所述视频缓存请求对请求缓存文件列表进行更新,并根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除;
所述边缘服务器根据候选可缓存数量对各边缘节点进行缓存规划,直至所述请求缓存文件列表为空和/或各边缘节点的可缓存空间为零。
本发明实施例的另一目的在于提出一种基于可伸缩编码的全景视频边缘缓存系统,所述系统包括:客户端和边缘服务器;
所述客户端包括:
视频播放模块,用于完成视频播放调度,将画面呈现给用户,对用户视点轨迹进行视点预测,得到未来视点预测结果;
视角预测模块,用于根据所述未来视点预测结果和播放视频信息向所述边缘服务器发送视频获取请求和视频缓存请求;
所述边缘服务器包括:
自适应响应决策模块,用于对所述视频获取请求对应的视频数据进行清晰度自适应响应,根据清晰度自适应响应结果进行视频边缘缓存,根据所述视频边缘缓存结果将对应的视频文件响应给所述客户端;
预缓存决策模块,用于根据所述视频缓存请求对请求缓存文件列表进行更新,根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除;根据候选可缓存数量对各边缘节点进行缓存规划,直至所述请求缓存文件列表为空和/或各边缘节点的可缓存空间为零。
优选的,所述边缘服务器还包括:
缓存替换模块,用于若所述边缘服务器接收到的缓存文件的数据值大于剩余存储空间,则分别计算已缓存文件的缓存替换收益;
依序删除最小所述缓存替换收益对应的已缓存文件,直至所述缓存文件的数据值小于或等于所述剩余存储空间。
本发明实施例,基于未来视点预测结果和播放视频信息能自动确定需要获取的视频信息和需要缓存的视频信息,使得无需对视频的基础层完成长期缓存,降低了全景视频传输过程中的冗余数据,提高了全景视频缓存效率,通过对视频获取请求对应的视频数据进行清晰度自适应响应,提高了视频的画质,通过候选可缓存数量对各边缘节点进行缓存规划,减少了边缘节点之间的缓存冗余,使得相同的存储空间能够缓存更多的内容,增加了缓存效率,降低了带宽需求。
附图说明
图1是本发明第一实施例提供的边缘网络结构示意图;
图2是本发明第一实施例提供的基于可伸缩编码的全景视频边缘缓存方法的流程图;
图3是本发明第二实施例提供的基于可伸缩编码的全景视频边缘缓存方法的流程图;
图4是本发明第三实施例提供的基于可伸缩编码的全景视频边缘缓存系统的结构示意图;
图5是本发明第三实施例提供的基于可伸缩编码的全景视频边缘缓存系统的具体实施步骤流程图;
图6是本发明第四实施例提供的终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
本实施例采用“云-边-端”经典网络结构,云端为内容分发网络(CDN),云端存储了系统中的所有全景视频文件,在靠近用户的网络边缘设置边缘服务器,包括存储功能和计算功能。客户端为全景视频播放设备,用于播放全景视频和缓存少量视频文件。此外,一个边缘服务器覆盖服务多个用户,一定距离(路由跳数)内的边缘服务器之间共享缓存内容,边缘网络结构示意图请参阅图1。
本实施例的全景视频切分方式为:
首先对全景视频的球形格式使用立方体投影算法投影为二维视频格式,然后从时间维度、空间维度、编码维度分别进行切分得到最小的存储单位。其中时间维度是指对总时长为S秒的全景视频每隔t秒切分一次,最终会得到
Figure SMS_1
个视频片段,在本实施例中t=1,因此,全景视频文件的时间维度编号为0到S-1。空间维度是指对每帧视频进行分割,本实施例对立方体投影后的六个面分别等分四个面,因此,全景视频文件的空间维度编号为0到23。在编码维度方面,本实施例使用可伸缩编码方式将视频编码为一个基础层和若干个增强层,在实施例中涉及一个基础层和两个增强层,因此,全景视频文件的编码维度编号为0到2。
因此,系统中可用于传输的文件集合表示为:
Figure SMS_2
其中,V表示系统中全景视频总数量,S表示每个视频的总时长。作为补充说明的是,s代表时间维度,t代表空间维度,
Figure SMS_3
代表编码维度。
特别的,本实施例选用立方体投影方式目的是为了使得不同视角所覆盖的文件数量尽可能相同,以及每个视频块所涉及的内容量尽可能平均,便于后续缓存收益的评估。选用可伸缩编码方式的目的在于减少视频文件与视频文件之间的冗余,提高缓存效率。
请参阅图2,是本发明第一实施例提供的基于可伸缩编码的全景视频边缘缓存方法的流程图,该基于可伸缩编码的全景视频边缘缓存方法可以应用于任一终端设备或系统,该基于可伸缩编码的全景视频边缘缓存方法包括步骤:
步骤S10,客户端对用户视点轨迹进行视点预测,得到未来视点预测结果,并根据所述未来视点预测结果和播放视频信息向边缘服务器发送视频获取请求和视频缓存请求。
其中,客户端对用户进行视点采集,得到用户视点轨迹,将用户视点轨迹输入预训练后的线性回归模型进行视点预测,以得到未来视点预测结果,该未来视点预测结果中包括未来预设时间内用户的视点坐标,该预设时间可以根据需求进行设置,该步骤中预设时间为3秒,即,该未来视点预测结果包括未来1秒、2秒和3秒的用户的视点坐标。
可选的,该步骤中,所述根据所述未来视点预测结果和播放视频信息向边缘服务器发送视频获取请求和视频缓存请求,包括:
分别获取所述未来视点预测结果中第一预设时长范围和第二预设时长范围内的视点坐标,得到第一视点坐标和第二视点坐标;
其中,该第一预设时长范围和第二预设时长范围可以根据需求进行设置,该步骤的第一预设时长范围设置为0-1秒,第二预设时长范围设置为2-3秒;
分别获取所述第一预设时长范围和所述第二预设时长范围对应的视频时间点,得到第一时间点和第二时间点;
其中,查询当前时间点之后1秒的视频时间点,得到第一时间点,查询当前时间点之后2-3秒的视频时间点,得到第二时间点;
获取在所述第一时间点时,所述播放视频信息在所述第一视点坐标的视频,得到视频获取信息,并根据所述视频获取信息向所述边缘服务器发送视频获取请求;
获取在所述第二时间点时,所述播放视频信息在所述第二视点坐标的视频,得到视频缓存信息,并根据所述视频缓存信息向所述边缘服务器发送视频缓存请求;
其中,使用未来1秒的用户视点,结合播放中的视频信息,得到视频获取信息
Figure SMS_4
,视频获取信息/>
Figure SMS_5
表示请求边缘服务器马上响应的内容;
Figure SMS_6
其中,
Figure SMS_7
表示该文件是否出现在视野中,由此可以发现,本实施例不仅请求了视野内的内容,还请求了视野外的一部分内容,以应对视角预测在某些情况下存在的预测视角偏移。
该步骤中,使用未来2、3秒的用户视点,结合播放中的视频信息,得到视频缓存信息
Figure SMS_8
,视频缓存信息表示请求边缘服务器帮助缓存的内容;
Figure SMS_9
其中,
Figure SMS_10
表示客户端对文件需求的迫切程度,与该文件所属片段和正在播放的视频片段间的时间距离有关,用于区分在边缘缓存时的重要性。
步骤S20,所述边缘服务器对所述视频获取请求对应的视频数据进行清晰度自适应响应,并根据清晰度自适应响应结果进行视频边缘缓存;
其中,边缘服务器提取并区分请求信息,针对视频获取请求进行清晰度自适应响应,可选的,该步骤中,所述边缘服务器对所述视频获取请求对应的视频数据进行清晰度自适应响应,包括:
所述边缘服务器进行带宽预测,得到带宽预测值,并根据所述带宽预测值分别计算所述视频获取请求对应的视频数据中各数据层的预测响应时长,所述视频获取请求对应的视频数据中包括基础数据层和至少一个增强数据层;
若所述基础数据层的预测响应时长小于响应时长阈值,则根据所述增强数据层的预测响应时长对所述基础数据层的预测响应时长进行求和计算,得到总响应时长;
若所述总响应时长小于所述响应时长阈值,则返回执行所述根据所述增强数据层的预测响应时长对所述基础数据层的预测响应时长进行求和计算的步骤,直至所述总响应时长大于或等于所述响应时长阈值;
若所述总响应时长大于或等于所述响应时长阈值,则在所述总响应时长对应的数据层中,删除当前求和的所述增强数据层,得到所述清晰度自适应响应结果;
若所述基础数据层的预测响应时长大于或等于所述响应时长阈值,则将所述基础数据层确定为所述清晰度自适应响应结果;
其中,根据编码层级完成分类,依次针对每类编码层级的文件计算预测响应时长,直到总响应时长超过响应时长阈值或所有文件遍历结束,最终得到清晰度自适应响应结果,预测响应时长是指根据协助缓存节点缓存情况和预测带宽情况预测出来的最小响应时间;
该步骤中,首先估算基础层视野内文件(基础数据层)的预测响应时长,如果该预测响应时长超过响应时长阈值thresholdT,则证明在响应时长阈值thresholdT内无法给予用户响应,因此,只能将基础层视野内文件传输给客户端;
若未超过响应时长阈值thresholdT,则在此基础上继续估算基础层视野外文件(增强数据层)的预测响应时长,并将其累加与响应时长阈值thresholdT做比较,若估算结果超过响应时长阈值,则放弃基础层视野外文件,否则继续依次估算增强1层视野内、增强1层视野外、增强2层视野内、增强2层视野外的预测响应时长,在本实施例中thresholdT=0.8。
进一步地,该步骤中,所述根据所述带宽预测值分别计算所述视频获取请求对应的视频数据中各数据层的预测响应时长采用的公式包括:
Figure SMS_11
其中,
Figure SMS_21
表示预测响应时长,/>
Figure SMS_18
表示当前边缘节点的节点标识,/>
Figure SMS_26
表示边缘节点/>
Figure SMS_17
的协助节点标识集合,/>
Figure SMS_31
表示文件/>
Figure SMS_23
的文件大小,/>
Figure SMS_34
表示是否从边缘节点/>
Figure SMS_15
响应文件/>
Figure SMS_32
,/>
Figure SMS_12
,仅从一个边缘节点响应文件/>
Figure SMS_25
,且
Figure SMS_16
,其中/>
Figure SMS_27
表示边缘节点/>
Figure SMS_20
是否缓存了文件/>
Figure SMS_30
,即仅当边缘节点/>
Figure SMS_14
缓存了文件
Figure SMS_28
才能去响应,/>
Figure SMS_22
表示边缘节点/>
Figure SMS_24
发送给边缘节点/>
Figure SMS_13
所有文件的大小,
Figure SMS_29
表示边缘节点/>
Figure SMS_19
与边缘节点/>
Figure SMS_33
之间的带宽预测值;
Figure SMS_35
其中,
Figure SMS_36
表示最近10个接收到的文件总大小,/>
Figure SMS_37
表示最近接收到的10个文件的总传输时间。
步骤S30,所述边缘服务器根据所述视频缓存请求对请求缓存文件列表进行更新,并根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除。
其中,针对视频缓存请求定期进行边缘预缓存,本实施例中周期为0.5秒,通过视频缓存请求对请求缓存文件列表进行更新,以保障对需要缓存的文件进行缓存,并根据视频边缘缓存结果在请求缓存文件列表中进行已缓存数据的删除,方便了缓存数据的重复缓存。
步骤S40,所述边缘服务器根据候选可缓存数量对各边缘节点进行缓存规划,直至所述请求缓存文件列表为空和/或各边缘节点的可缓存空间为零。
可选的,该步骤中,所述边缘服务器根据候选可缓存数量对各边缘节点进行缓存规划,包括:
分别查询各边缘节点的候选文件数量和可缓存空间,并将候选文件数量最大的且所述可缓存空间大于0的边缘节点确定为目标节点;
分别计算所述目标节点中各候选文件的缓存收益,并根据各候选文件的缓存收益对所述目标节点的可缓存空间进行缓存动态规划;其中,可以基于0/1背包动态规划算法对目标节点的可缓存空间进行缓存动态规划;
根据所述缓存动态规划结果对所述目标节点进行缓存文件设置,并返回执行所述分别查询各边缘节点的候选文件数量和可缓存空间的步骤及后续步骤;
其中,通过缓存动态规划结果对目标节点进行缓存文件设置,使得在不超过可缓存空间限制的条件下选取总缓存收益最大的部分或全部候选文件作为目标节点的缓存文件;
所述边缘服务器根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除。
所述分别计算所述目标节点中各候选文件的缓存收益采用的公式包括:
Figure SMS_38
Figure SMS_39
Figure SMS_40
Figure SMS_41
其中,
Figure SMS_45
为可用缓存空间,/>
Figure SMS_49
为文件缓存收益,/>
Figure SMS_56
表示在边缘节点/>
Figure SMS_46
请求文件/>
Figure SMS_54
的可能性,/>
Figure SMS_61
表示边缘节点/>
Figure SMS_67
缓存文件/>
Figure SMS_48
对边缘节点/>
Figure SMS_50
的缓存收益,
Figure SMS_57
表示边缘节点到云端的带宽预测值,/>
Figure SMS_63
表示目标节点的基础带宽,/>
Figure SMS_43
为时间间隔参数,/>
Figure SMS_53
分别代表文件/>
Figure SMS_60
所属的视频编号和编码层编号,/>
Figure SMS_66
表示在边缘节点/>
Figure SMS_42
的用户对视频/>
Figure SMS_52
所属类的喜爱程度,/>
Figure SMS_59
表示文件/>
Figure SMS_65
是否被边缘节点/>
Figure SMS_44
请求缓存,/>
Figure SMS_51
为有上界的单增函数,/>
Figure SMS_58
为边缘节点/>
Figure SMS_64
与边缘节点/>
Figure SMS_47
之间的带宽预测值,
Figure SMS_55
表示权重参数,用于调节用户群体喜好和感知到的用户需求信息对请求可能性的影响程度,/>
Figure SMS_62
表示可伸缩编码时分层总数,/>
Figure SMS_68
表示客户端对文件需求的迫切程度。
本实施例中,可以把缓存规划决策过程描述为以下最大化可能收益问题:
Figure SMS_69
Figure SMS_70
Figure SMS_71
上述问题为一个有复杂限制的多背包问题,本实施例将对每个节点分别使用0/1背包动态规划算法完成近似求解,边缘节点
Figure SMS_72
的候选文件集合表示为:
Figure SMS_73
;/>
其中,
Figure SMS_74
表示候选文件集合,/>
Figure SMS_75
表示边缘节点/>
Figure SMS_76
的协助节点标识集合,/>
Figure SMS_77
表示边缘节点k的请求缓存文件集合。
将已完成缓存的文件从请求缓存文件列表中删除;
若文件f计划在边缘节点n完成缓存,就需要遍历
Figure SMS_78
中的每一个节点,判断文件f是否在/>
Figure SMS_79
中,若存在,则在集合中删除。
返回执行所述分别查询各边缘节点的候选文件数量和可缓存空间的步骤及后续步骤,直至请求缓存文件列表为空或所有边缘节点可缓存空间为零。
本实施例中,基于未来视点预测结果和播放视频信息能自动确定需要获取的视频信息和需要缓存的视频信息,使得无需对视频的基础层完成长期缓存,降低了全景视频传输过程中的冗余数据,提高了全景视频缓存效率,通过对视频获取请求对应的视频数据进行清晰度自适应响应,提高了视频的画质,通过候选可缓存数量对各边缘节点进行缓存规划,减少了边缘节点之间的缓存冗余,使得相同的存储空间能够缓存更多的内容,增加了缓存效率,降低了带宽需求。
实施例二
请参阅图3,是本发明第二实施例提供的基于可伸缩编码的全景视频边缘缓存方法的流程图,该实施例用于对第一实施例中步骤S40之后的步骤作进一步细化,包括步骤:
步骤S50,若所述边缘服务器接收到的缓存文件的数据值大于剩余存储空间,则分别计算已缓存文件的缓存替换收益;
其中,若边缘服务器接收到的缓存文件的数据值大于剩余存储空间,通过分别计算已缓存文件的缓存替换收益,提高了后续已缓存文件删除的准确性;
可选的,该步骤中,所述分别计算已缓存文件的缓存替换收益采用的公式包括:
Figure SMS_80
Figure SMS_81
其中,
Figure SMS_82
是缓存替换收益,/>
Figure SMS_87
表示历史数据中文件/>
Figure SMS_90
在视野内的概率,/>
Figure SMS_84
为权重系数,用来平衡视野重要性和用户喜好重要性,/>
Figure SMS_88
表示文件/>
Figure SMS_91
在时间
Figure SMS_93
时的活跃程度,/>
Figure SMS_85
为统计时间线,超过/>
Figure SMS_89
秒以前的访问记录不在计算范围内,/>
Figure SMS_92
表示边缘缓存中文件/>
Figure SMS_94
每次被请求的时间,/>
Figure SMS_83
表示用户群体对文件/>
Figure SMS_86
所属视频类的喜爱程度。
步骤S60,依序删除最小所述缓存替换收益对应的已缓存文件,直至所述缓存文件的数据值小于或等于所述剩余存储空间;
其中,通过依序删除最小缓存替换收益对应的已缓存文件,能有效地为接收到的缓存文件提供了存储空间。
本实施例,通过分别计算已缓存文件的缓存替换收益,提高了后续已缓存文件删除的准确性,通过依序删除最小缓存替换收益对应的已缓存文件,能有效地为接收到的缓存文件提供了存储空间,且保障了已缓存数据的最大收益。
实施例三
请参阅图4,是本发明第三实施例提供的基于可伸缩编码的全景视频边缘缓存系统100的结构示意图,包括:客户端10、边缘服务器11和云端12;
云端12包括第一通信模块121;
所述客户端10包括:
视频播放模块101,用于完成视频播放调度,将画面呈现给用户,对用户视点轨迹进行视点预测,得到未来视点预测结果;
视角预测模块102,用于根据所述未来视点预测结果和播放视频信息向所述边缘服务器发送视频获取请求和视频缓存请求;
第三通信模块103,用于与边缘服务器11和云端12进行通信;
所述边缘服务器11包括:
自适应响应决策模块111,用于对所述视频获取请求对应的视频数据进行清晰度自适应响应,根据清晰度自适应响应结果进行视频边缘缓存,根据所述视频边缘缓存结果将对应的视频文件响应给所述客户端;
预缓存决策模块112,用于根据所述视频缓存请求对请求缓存文件列表进行更新,根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除;根据候选可缓存数量对各边缘节点进行缓存规划,直至所述请求缓存文件列表为空和/或各边缘节点的可缓存空间为零。
带宽预测模块113,用于进行带宽预测,得到带宽预测值;
第二通信模块114,用于与客户端10和云端12进行通信。
缓存替换模块,用于若所述边缘服务器接收到的缓存文件的数据值大于剩余存储空间,则分别计算已缓存文件的缓存替换收益;
依序删除最小所述缓存替换收益对应的已缓存文件,直至所述缓存文件的数据值小于或等于所述剩余存储空间。
具体的,请参阅图5,基于可伸缩编码的全景视频边缘缓存系统100的具体实施步骤包括:
步骤S101,客户端将用户视点轨迹输入视点预测模型得到未来视点预测结果,结合播放视频信息向边缘服务器发出请求获取消息和请求缓存消息;
其中,当客户端开始播放第
Figure SMS_95
个片段/>
Figure SMS_96
时,请求获取消息表示请求边缘服务器马上响应的内容,即/>
Figure SMS_97
对应的预测视角视频,请求缓存消息表示请求边缘服务器帮助缓存的内容,即/>
Figure SMS_98
、/>
Figure SMS_99
对应的预测视角视频;
该步骤中,当客户端开始播放第
Figure SMS_100
个片段/>
Figure SMS_101
时,具体包括如下步骤:
步骤S1011,将过去1秒用户视点的运动轨迹输入到线性回归模型中得到未来1秒、2秒、3秒的用户视点;
步骤S1012,使用未来1秒的用户视点,结合播放中的视频信息,得到视频获取信息
Figure SMS_102
步骤S1013,使用未来2、3秒的用户视点,结合播放中的视频信息,得到视频缓存信息
Figure SMS_103
;其中,所述请求缓存消息表示请求边缘服务器帮助缓存的内容;
步骤S102,边缘服务器提取并区分请求信息;
分别执行以下操作:针对请求获取文件执行步骤S103,完成自适应内容响应;针对请求缓存文件定期执行步骤S104、步骤S105,完成边缘预缓存;
具体的,步骤S102中,边缘服务器提取并区分请求信息,分别执行:
S102a,针对请求获取文件执行S103,完成自适应内容响应;
S102b,针对请求缓存文件定期执行步骤S104、S105,完成边缘预缓存,其中,在本实施例中周期为0.5秒;
步骤S103,边缘服务器预测网络带宽,对客户端请求获取内容完成清晰度自适应响应:
将请求获取文件根据编码层级完成分类,并依次针对每类编码层级的文件计算预计最快响应时间,直到总响应时间超过阈值或所有文件遍历结束,最终得到自适应响应结果,其中,预计最快响应时间是指根据协助缓存节点缓存情况和预测带宽情况预测出来的最小响应时间;
边缘服务器根据自适应响应结果,向对应的服务器发出请求。边缘服务器收到文件后执行步骤S106,客户端收到文件后,等待再次执行步骤S101。
具体的,步骤S103包括:
步骤S1031,将请求获取文件根据编码层级完成分类,并依次针对每类编码层级的文件计算预计最快响应时间,直到总响应时间超过阈值或所有文件遍历结束,最终得到自适应响应结果。其中,所述预计最快响应时间是指根据协助缓存节点缓存情况和预测带宽情况预测出来的最小响应时间;
步骤S1032,边缘服务器根据自适应响应结果,向对应的服务器发出请求。边缘服务器收到文件后发给客户端,同时执行S106。客户端收到文件后,等待再次执行S101。
步骤S104,根据边缘缓存情况将已缓存内容从请求缓存文件列表中删除:
边缘服务器集群遍历周期内接收到的请求缓存文件列表,根据集群缓存情况删除列表中已缓存的文件信息。
步骤S105,根据候选可缓存文件数量降序对集群内的每个节点完成缓存规划:
具体的,步骤S105包括:
步骤S1051,计算每个节点的候选文件数量和每个节点的可缓存空间,选择候选文件数量最多且可缓存空间不为零的节点,计算该节点每个候选文件的缓存收益,使用0/1背包动态规划算法,在不超过可缓存空间限制的条件下选取总缓存收益最大的部分或全部候选文件作为缓存文件;
步骤S1052,将已完成缓存的文件从请求缓存文件列表中删除;
步骤S1053,反复执行S1051、S1052,直至请求缓存文件列表为空或所有节点可缓存空间为零。
步骤S1054,根据缓存文件决策,每个边缘服务器向云服务器发出请求,收到文件后执行步骤S106。
步骤S106,边缘服务器根据缓存情况与用户情况对到达文件完成缓存:
边缘服务器收到文件后,若剩余存储空间小于到达文件大小,则计算所有已缓存文件的缓存收益,依次删除收益最小的文件直至到达文件能够写入,否则直接写入存储空间。
本实施例,使用多边缘缓存协作方案,减少距离较近边缘服务器之间的缓存冗余,使得相同的存储空间能够缓存更多的内容,增加缓存效率、降低带宽需求。使用可伸缩编码技术对全景视频进行编码维度的分割,相比传统方式,减少了文件与文件之间的冗余,随着预测时间的不断靠近,每块文件是否真正被需求变得逐渐明确,在此过程中,边缘就可以率先缓存基础层,如果逐渐被确定,则可以追加缓存增强层,用以提升画质,明显追加模式明显优于替换模式。将缓存决策过程和大部分缓存空间转移至边缘,本实施例摆脱了视角预测长周期准确率低的困扰,相比传统做法,本实施例将会缓存更长时间的内容,但只缓存可能需求大的文件,并非将预测视角内全部内容都完成预缓存。
实施例四
图6是本申请第四实施例提供的一种终端设备2的结构框图。如图6所示,该实施例的终端设备2包括:处理器20、存储器21以及存储在所述存储器21中并可在所述处理器20上运行的计算机程序22,例如基于可伸缩编码的全景视频边缘缓存方法的程序。处理器20执行所述计算机程序22时实现上述各个基于可伸缩编码的全景视频边缘缓存方法各实施例中的步骤。
示例性的,所述计算机程序22可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器21中,并由所述处理器20执行,以完成本申请。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序22在所述终端设备2中的执行过程。所述终端设备可包括,但不仅限于,处理器20、存储器21。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器21可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (8)

1.一种基于可伸缩编码的全景视频边缘缓存方法,其特征在于,所述方法包括如下步骤:
客户端对用户视点轨迹进行视点预测,得到未来视点预测结果,并根据所述未来视点预测结果和播放视频信息向边缘服务器发送视频获取请求和视频缓存请求;
所述边缘服务器对所述视频获取请求对应的视频数据进行清晰度自适应响应,并根据清晰度自适应响应结果进行视频边缘缓存;
所述边缘服务器根据所述视频缓存请求对请求缓存文件列表进行更新,并根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除;
所述边缘服务器根据候选可缓存数量对各边缘节点进行缓存规划,直至所述请求缓存文件列表为空和/或各边缘节点的可缓存空间为零;
所述根据所述未来视点预测结果和播放视频信息向边缘服务器发送视频获取请求和视频缓存请求的方法包括如下步骤:
分别获取所述未来视点预测结果中第一预设时长范围和第二预设时长范围内的视点坐标,得到第一视点坐标和第二视点坐标;
其中,第一预设时长范围设置为0-1秒,第二预设时长范围设置为2-3秒;
分别获取所述第一预设时长范围和所述第二预设时长范围对应的视频时间点,得到第一时间点和第二时间点;
其中,查询当前时间点之后1秒的视频时间点,得到第一时间点,查询当前时间点之后2-3秒的视频时间点,得到第二时间点;
获取在所述第一时间点时,所述播放视频信息在所述第一视点坐标的视频,得到视频获取信息,并根据所述视频获取信息向所述边缘服务器发送视频获取请求;
获取在所述第二时间点时,所述播放视频信息在所述第二视点坐标的视频,得到视频缓存信息,并根据所述视频缓存信息向所述边缘服务器发送视频缓存请求;
所述边缘服务器根据候选可缓存数量对各边缘节点进行缓存规划的方法包括如下步骤:
分别查询各边缘节点的候选文件数量和可缓存空间,并将候选文件数量最大的且所述可缓存空间大于0的边缘节点确定为目标节点;
分别计算所述目标节点中各候选文件的缓存收益,并根据各候选文件的缓存收益对所述目标节点的可缓存空间进行缓存动态规划;
根据所述缓存动态规划结果对所述目标节点进行缓存文件设置,并返回执行所述分别查询各边缘节点的候选文件数量和可缓存空间的步骤及后续步骤;
所述边缘服务器根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除。
2.根据权利要求1所述的基于可伸缩编码的全景视频边缘缓存方法,其特征在于,所述边缘服务器对所述视频获取请求对应的视频数据进行清晰度自适应响应的方法包括如下步骤:
所述边缘服务器进行带宽预测,得到带宽预测值,并根据所述带宽预测值分别计算所述视频获取请求对应的视频数据中各数据层的预测响应时长,所述视频获取请求对应的视频数据中包括基础数据层和至少一个增强数据层;
若所述基础数据层的预测响应时长小于响应时长阈值,则根据所述增强数据层的预测响应时长对所述基础数据层的预测响应时长进行求和计算,得到总响应时长;
若所述总响应时长小于所述响应时长阈值,则返回执行所述根据所述增强数据层的预测响应时长对所述基础数据层的预测响应时长进行求和计算的步骤,直至所述总响应时长大于或等于所述响应时长阈值;
若所述总响应时长大于或等于所述响应时长阈值,则在所述总响应时长对应的数据层中,删除当前求和的所述增强数据层,得到所述清晰度自适应响应结果;
若所述基础数据层的预测响应时长大于或等于所述响应时长阈值,则将所述基础数据层确定为所述清晰度自适应响应结果。
3.根据权利要求2所述的基于可伸缩编码的全景视频边缘缓存方法,其特征在于,所述根据所述带宽预测值分别计算所述视频获取请求对应的视频数据中各数据层的预测响应时长采用的公式包括:
Figure QLYQS_1
其中,
Figure QLYQS_7
表示预测响应时长,/>
Figure QLYQS_4
表示当前边缘节点的节点标识,/>
Figure QLYQS_15
表示边缘节点/>
Figure QLYQS_8
的协助节点标识集合,/>
Figure QLYQS_22
表示文件/>
Figure QLYQS_13
的文件大小,/>
Figure QLYQS_24
表示是否从边缘节点
Figure QLYQS_6
响应文件/>
Figure QLYQS_16
,/>
Figure QLYQS_2
,仅从一个边缘节点响应文件/>
Figure QLYQS_19
,且/>
Figure QLYQS_11
,其中/>
Figure QLYQS_18
表示边缘节点/>
Figure QLYQS_12
是否缓存了文件/>
Figure QLYQS_20
,即仅当边缘节点/>
Figure QLYQS_5
缓存了文件/>
Figure QLYQS_21
才能去响应,
Figure QLYQS_10
表示边缘节点/>
Figure QLYQS_23
发送给边缘节点/>
Figure QLYQS_3
所有文件的大小,/>
Figure QLYQS_14
表示边缘节点/>
Figure QLYQS_9
与边缘节点/>
Figure QLYQS_17
之间的带宽预测值;
Figure QLYQS_25
其中,
Figure QLYQS_26
表示最近10个接收到的文件总大小,/>
Figure QLYQS_27
表示最近接收到的10个文件的总传输时间。
4.根据权利要求3所述的基于可伸缩编码的全景视频边缘缓存方法,其特征在于,所述分别计算所述目标节点中各候选文件的缓存收益采用的公式包括:
Figure QLYQS_28
Figure QLYQS_29
Figure QLYQS_30
;/>
Figure QLYQS_31
其中,
Figure QLYQS_35
为可用缓存空间,/>
Figure QLYQS_46
为文件缓存收益,/>
Figure QLYQS_53
表示在边缘节点/>
Figure QLYQS_32
请求文件/>
Figure QLYQS_41
的可能性,/>
Figure QLYQS_48
表示边缘节点/>
Figure QLYQS_55
缓存文件/>
Figure QLYQS_38
对边缘节点/>
Figure QLYQS_40
的缓存收益,/>
Figure QLYQS_47
表示边缘节点到云端的带宽预测值,/>
Figure QLYQS_54
表示目标节点的基础带宽,/>
Figure QLYQS_33
为时间间隔参数,/>
Figure QLYQS_44
、/>
Figure QLYQS_51
分别代表文件/>
Figure QLYQS_58
所属的视频编号和编码层编号,/>
Figure QLYQS_37
表示在边缘节点/>
Figure QLYQS_42
的用户对视频/>
Figure QLYQS_49
所属类的喜爱程度,/>
Figure QLYQS_56
表示文件/>
Figure QLYQS_34
是否被边缘节点/>
Figure QLYQS_43
请求缓存,/>
Figure QLYQS_50
为有上界的单增函数,/>
Figure QLYQS_57
为边缘节点/>
Figure QLYQS_39
与边缘节点/>
Figure QLYQS_45
之间的带宽预测值,/>
Figure QLYQS_52
表示权重参数,
Figure QLYQS_59
表示可伸缩编码时分层总数,/>
Figure QLYQS_36
表示客户端对文件需求的迫切程度。
5.根据权利要求1所述的基于可伸缩编码的全景视频边缘缓存方法,其特征在于,所述根据清晰度自适应响应结果进行视频边缘缓存之后,所述方法还包括:
若所述边缘服务器接收到的缓存文件的数据值大于剩余存储空间,则分别计算已缓存文件的缓存替换收益;
依序删除最小所述缓存替换收益对应的已缓存文件,直至所述缓存文件的数据值小于或等于所述剩余存储空间。
6.根据权利要求5所述的基于可伸缩编码的全景视频边缘缓存方法,其特征在于,所述分别计算已缓存文件的缓存替换收益采用的公式包括:
Figure QLYQS_60
Figure QLYQS_61
其中,
Figure QLYQS_63
是缓存替换收益, />
Figure QLYQS_66
表示历史数据中文件/>
Figure QLYQS_70
在视野内的概率,
Figure QLYQS_64
为权重系数,用来平衡视野重要性和用户喜好重要性,/>
Figure QLYQS_69
表示文件/>
Figure QLYQS_73
在时间/>
Figure QLYQS_76
时的活跃程度,/>
Figure QLYQS_62
为统计时间线,/>
Figure QLYQS_67
表示边缘缓存中文件/>
Figure QLYQS_71
每次被请求的时间,
Figure QLYQS_74
表示用户群体对文件/>
Figure QLYQS_65
所属视频类的喜爱程度,/>
Figure QLYQS_68
表示可伸缩编码时分层总数,
Figure QLYQS_72
表示文件/>
Figure QLYQS_75
的物理大小。
7.一种基于可伸缩编码的全景视频边缘缓存系统,其特征在于,应用如权利要求1至6任一项所述的基于可伸缩编码的全景视频边缘缓存方法,所述系统包括:客户端和边缘服务器;
所述客户端包括:
视频播放模块,用于完成视频播放调度,将画面呈现给用户,对用户视点轨迹进行视点预测,得到未来视点预测结果;
视角预测模块,用于根据所述未来视点预测结果和播放视频信息向所述边缘服务器发送视频获取请求和视频缓存请求;
所述边缘服务器包括:
自适应响应决策模块,用于对所述视频获取请求对应的视频数据进行清晰度自适应响应,根据清晰度自适应响应结果进行视频边缘缓存,根据所述视频边缘缓存结果将对应的视频文件响应给所述客户端;
预缓存决策模块,用于根据所述视频缓存请求对请求缓存文件列表进行更新,根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除;根据候选可缓存数量对各边缘节点进行缓存规划,直至所述请求缓存文件列表为空和/或各边缘节点的可缓存空间为零;
所述视角预测模块还用于:
分别获取所述未来视点预测结果中第一预设时长范围和第二预设时长范围内的视点坐标,得到第一视点坐标和第二视点坐标;
其中,第一预设时长范围设置为0-1秒,第二预设时长范围设置为2-3秒;
分别获取所述第一预设时长范围和所述第二预设时长范围对应的视频时间点,得到第一时间点和第二时间点;
其中,查询当前时间点之后1秒的视频时间点,得到第一时间点,查询当前时间点之后2-3秒的视频时间点,得到第二时间点;
获取在所述第一时间点时,所述播放视频信息在所述第一视点坐标的视频,得到视频获取信息,并根据所述视频获取信息向所述边缘服务器发送视频获取请求;
获取在所述第二时间点时,所述播放视频信息在所述第二视点坐标的视频,得到视频缓存信息,并根据所述视频缓存信息向所述边缘服务器发送视频缓存请求;
所述预缓存决策模块用于:
分别查询各边缘节点的候选文件数量和可缓存空间,并将候选文件数量最大的且所述可缓存空间大于0的边缘节点确定为目标节点;
分别计算所述目标节点中各候选文件的缓存收益,并根据各候选文件的缓存收益对所述目标节点的可缓存空间进行缓存动态规划;
根据所述缓存动态规划结果对所述目标节点进行缓存文件设置,并返回执行所述分别查询各边缘节点的候选文件数量和可缓存空间的步骤及后续步骤;
所述边缘服务器根据视频边缘缓存结果,在所述请求缓存文件列表中进行已缓存数据的删除。
8.根据权利要求7所述的基于可伸缩编码的全景视频边缘缓存系统,其特征在于,所述边缘服务器还包括:
缓存替换模块,用于若所述边缘服务器接收到的缓存文件的数据值大于剩余存储空间,则分别计算已缓存文件的缓存替换收益;
依序删除最小所述缓存替换收益对应的已缓存文件,直至所述缓存文件的数据值小于或等于所述剩余存储空间。
CN202310242171.4A 2023-03-14 2023-03-14 基于可伸缩编码的全景视频边缘缓存方法及系统 Active CN115955580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310242171.4A CN115955580B (zh) 2023-03-14 2023-03-14 基于可伸缩编码的全景视频边缘缓存方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310242171.4A CN115955580B (zh) 2023-03-14 2023-03-14 基于可伸缩编码的全景视频边缘缓存方法及系统

Publications (2)

Publication Number Publication Date
CN115955580A CN115955580A (zh) 2023-04-11
CN115955580B true CN115955580B (zh) 2023-06-06

Family

ID=85906974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310242171.4A Active CN115955580B (zh) 2023-03-14 2023-03-14 基于可伸缩编码的全景视频边缘缓存方法及系统

Country Status (1)

Country Link
CN (1) CN115955580B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106028057A (zh) * 2016-05-05 2016-10-12 北京邮电大学 一种移动ccn中可伸缩编码的自适应流媒体内容的缓存方法
US10062414B1 (en) * 2017-08-22 2018-08-28 Futurewei Technologies, Inc. Determining a future field of view (FOV) for a particular user viewing a 360 degree video stream in a network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6369812B1 (en) * 1997-11-26 2002-04-09 Philips Medical Systems, (Cleveland), Inc. Inter-active viewing system for generating virtual endoscopy studies of medical diagnostic data with a continuous sequence of spherical panoramic views and viewing the studies over networks
WO2016191694A1 (en) * 2015-05-27 2016-12-01 Google Inc. Streaming spherical video
US20170186219A1 (en) * 2015-12-28 2017-06-29 Le Holdings (Beijing) Co., Ltd. Method for 360-degree panoramic display, display module and mobile terminal
CN112714315B (zh) * 2019-10-24 2023-02-28 上海交通大学 基于全景视频的分层缓冲方法及系统
CN112929691B (zh) * 2021-01-29 2022-06-14 复旦大学 多用户全景视频传输方法
CN113282786B (zh) * 2021-05-12 2022-09-30 河海大学 一种基于深度强化学习的全景视频边缘协作缓存替换方法
CN114786034B (zh) * 2022-03-21 2023-06-06 鹏城实验室 一种基于边缘计算的全景视频优化传输方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106028057A (zh) * 2016-05-05 2016-10-12 北京邮电大学 一种移动ccn中可伸缩编码的自适应流媒体内容的缓存方法
US10062414B1 (en) * 2017-08-22 2018-08-28 Futurewei Technologies, Inc. Determining a future field of view (FOV) for a particular user viewing a 360 degree video stream in a network

Also Published As

Publication number Publication date
CN115955580A (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
JP5408257B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム
KR100952190B1 (ko) 캐쉬 관리를 이용한 서버와 클라이언트 단말기 사이의오브젝트 전송 방법 및 대응하는 전송 시스템, 서버 및단말기
CN102165775A (zh) 可缩放媒体递送的精细粒度的客户机侧控制
US20230051652A1 (en) Point cloud data encoding method and decoding method, device, medium, and program product
CN109819336B (zh) 一种基于播放缓存大小分片下载的方法及系统
CN113282786B (zh) 一种基于深度强化学习的全景视频边缘协作缓存替换方法
CN110809167B (zh) 一种视频播放方法、装置、电子设备及存储介质
CN112584119B (zh) 一种基于强化学习的自适应全景视频传输方法及系统
CN113315978A (zh) 一种基于联邦学习的协作式在线视频边缘缓存方法
Wu et al. Paas: A preference-aware deep reinforcement learning approach for 360 video streaming
CN109639813B (zh) 视频文件传输处理方法及装置、电子设备和存储介质
JP6638145B2 (ja) ネットワークシステム、ノード装置、キャッシュ方法及びプログラム
CN115955580B (zh) 基于可伸缩编码的全景视频边缘缓存方法及系统
JP2010191774A (ja) コンテンツ配信システム、コンテンツ配信装置及びコンテンツ配信方法ならびにそのプログラム、データストレージ装置とその処理方法およびプログラム
CN112672227B (zh) 基于边缘节点的业务处理方法、装置、节点以及存储介质
US10320874B2 (en) Site-based server selection
Li et al. Utility-driven joint caching and bitrate allocation for real-time immersive videos
CN111770152A (zh) 一种边缘数据管理方法、介质、边缘服务器和系统
JP2018511131A (ja) オンライン媒体のための階層的なコストベースのキャッシング
KR102235622B1 (ko) IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치
US20160112534A1 (en) Hierarchical caching for online media
CN107609039B (zh) 基于cdn的热门影片在近端缓存服务器的空间分配方法
CN115278290B (zh) 一种基于边缘节点的虚拟现实视频缓存方法及装置
CN116996661B (zh) 三维视频展示方法、装置、设备及介质
WO2023125970A1 (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