用于SVC-DASH点播系统的动态缓存调度方法、设备及存储设备技术方案

技术编号:19970862 阅读:28 留言:0更新日期:2019-01-03 16:31
本发明专利技术提供了用于SVC‑DASH点播系统的动态缓存调度方法、设备及存储设备,其方法包括:在动态的缓存空间里面对分片进行横向堆叠,实现更好的点播效果,解决异构网络中网络质量频繁波动对用户观看体验的不良影响;采用分片按层索取的模型,提高视频播放的流畅度和平稳度,同时加入动态缓存机制,加快视频质量的提升速度,并且通过增加调度的容错性和提升带宽的利用率,进一步提升视频质量的平稳度。用于SVC‑DASH点播系统的动态缓存调度设备及存储设备,用于实现用于SVC‑DASH点播系统的动态缓存调度方法。本发明专利技术的有益效果是:与现有的SVC‑DASH调度方法相比,本发明专利技术的技术方案在质量的提升速度、质量的平均等级、视频播放流畅度以及播放质量的平稳度方面均有更好的表现。

Dynamic Cache Scheduling Method, Equipment and Storage Device for SVC-DASH VOD System

The invention provides a dynamic buffer scheduling method, equipment and storage device for SVC DASH VOD system. The methods include: stacking fragments horizontally in dynamic buffer space to achieve better VOD effect, solving the adverse effect of frequent network quality fluctuations on user's viewing experience in heterogeneous networks, and adopting a fragmented layer-by-layer retrieval model to improve video playback. The smoothness and smoothness are enhanced by adding dynamic caching mechanism to speed up the improvement of video quality, and the smoothness of video quality is further improved by increasing the fault tolerance of scheduling and improving the utilization of bandwidth. The dynamic cache scheduling device and storage device for SVC DASH VOD system are used to implement the dynamic cache scheduling method for SVC DASH VOD system. The beneficial effect of the present invention is that, compared with the existing SVC DASH scheduling method, the technical scheme of the present invention has better performance in terms of quality improvement speed, average quality level, video playback fluency and playback quality smoothness.

【技术实现步骤摘要】
用于SVC-DASH点播系统的动态缓存调度方法、设备及存储设备
本专利技术涉及音视频应用领域,尤其涉及用于SVC-DASH点播系统的动态缓存调度方法、设备及存储设备。
技术介绍
现如今,网络内容的分发和传输正在显著增长,而其中视频内容占据了很大比例。据思科VNI(CiscoVNI)预测,到2021年,年度全球IP流量将达到3.3ZB,而视频流量将占据82%的比例,占据主导地位。在视频的传输方面,面对终端和网络的异构性,我们需要针对不同的设备和变化的网络提供不同质量的视频。HTTP自适应码流(HAS)技术应运而生,客户端能够根据自身情况挑选不同质量的视频分片,而DASH作为HAS的一员,凭借自己的诸多优势,已经发展成为当今最先进的视频流传播技术。同时,由于H.264/SVC(scalablevideocoding)能够极大地节约服务器存储空间,而且拥有更灵活的调节模式,近年来越来越多的SVC-DASH方案被提出。然而,一些问题仍然存在,比如在频繁波动的网络环境中会出现视频质量频繁切换甚至出现视频中断等现象,严重影响用户观看体验。现有的SVC-DASH解决方案大多是通过带宽预测或者简单的横向堆叠来调整视频质量。本专利技术提供了一种基于SVC-DASH的动态缓存调度方法。从而应对带宽的频繁抖动对视频质量的负面影响,同时针对现有SVC-DASH解决方案存在的不足做进一步的改进。
技术实现思路
为了解决上述问题,本专利技术提供了用于SVC-DASH点播系统的动态缓存调度方法、设备及存储设备,用于SVC-DASH点播系统的动态缓存调度方法,主要包括以下步骤:S101:获取SVC格式的视频源,将视频源均匀分离成n个视频分片;并根据视频源的质量层级,将每一个视频分片均匀分离成m个视频块,将每个视频分片的m个视频块堆叠成m层,并将所有视频块存储于服务器中;每一个视频块对应有一个分片号i和一个层序号j;其中,m和n均为大于等于1的整数;i的取值范围为[1,n],j的取值范围为[1,m];初始化i和j的值为1;S102:初始化缓存区参数:设定缓存区高度Lmax的变化范围为[1,m],设定缓存区长度Bmax的变化范围为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Lmax的值为m,Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、[1,2]…[1,Bmax]、[2,1]…[2,Bmax]…[Lmax,Bmax]依序排列,用来存储所述视频块;S103:下载分片号为i,层序号为j的视频块到第一个空的存储块,S104:完成所述视频块的下载后,更新缓存区缓存状态数据和平均网络带宽avgBW;所述缓存状态数据包括缓存区各层视频块的下载个数和缓存区中最新被下载的视频块的分片号;S105:根据平均带宽avgBW调整缓存区高度Lmax;S106:根据缓存状态数据调整缓存区长度Bmax;S107:判断是否下载结束或者视频客户端被关闭;若是,则到步骤S109;若否,则到步骤S108;S108:遍历缓存区的所有存储块,查找第一个空的存储块,根据缓存区缓存状态数据确定下一个被下载的视频块的分片号i和层序号j;返回到步骤S103;S109:结束缓存程序,完成动态缓存调度。进一步地,所述步骤S105中,根据平均网络带宽avgBW调整缓存区高度Lmax的具体步骤为:S201:判断平均网络带宽avgBW是否大于等于第k-1层视频的码率Qk-1;若是,则缓存区高度Lmax的值为k;若否,则到步骤S202;其中,k为整数,取值范围为[1,m],且k的初始值取最大值m;S202:将k更新为k-1,判断k是否为1;若是,则缓存区高度Lmax的值为1;若否,则返回步骤S201;进一步地,所述步骤S106中,根据缓存状态数据调整缓存区长度Bmax的具体步骤为:S301:判断条件Bmax>buffer_len1≥min与buffer_lenLmax<buffer_len1是否同时成立;若是,则将Bmax更新为Bmax-1;若否,则到步骤S302;其中,buffer_len1为缓存区中第1层视频块的下载个数,buffer_lenLmax为缓存区最高层视频块的下载个数;S302:判断条件Bmax=buffer_len1<max与buffer_lenLmax=buffer_len1是否同时成立;若是,则将Bmax更新为Bmax+1;若否,则Bmax值不变。进一步地,所述步骤S108中,根据缓存区高度Lmax、缓存区长度Bmax和缓存状态调整下一个被下载的视频块所对应的分片号i和层序号j的具体步骤为:S401:判断缓存区是否有剩余存储块的层,从缓存区第一层开始判断,令判断层数p=1;S402:判断p是否小于等于Lmax;若是,则到步骤S403;若否,则到步骤S406;S403:判断缓存区中第p层是否有空余存储块;若是,则到步骤S405;若否,则到步骤S404;S404:将p更新为p+1,返回步骤S402;S405:将层序号j赋值为p,判断第p层是否有视频块;若是,则i等于第p层最新下载的视频块的分片号加1;若否,则i等于缓存区第1层第一个分片号;S406:判断缓存区第一层的最后一个视频块的分片号是否为n;若是,结束下载;若否,则到步骤S407;S407:将下载线程挂起,并设置i为缓存区第1层最后一个分片号的下一号,层序号j为1;循环判断缓存区是否出现空余存储块,一旦出现空余存储块,则继续下载;在缓存视频分片的同时,解码播放线程将持续从缓存区中取出视频分片至客户端进行解码播放,每当取走一个视频分片,缓存区中剩余的视频分片依次前移。一种存储设备,所述存储设备存储指令及数据用于实现用于SVC-DASH点播系统的动态缓存调度方法。用于SVC-DASH点播系统的动态缓存调度设备,包括:处理器及所述存储设备;所述处理器加载并执行所述存储设备中的指令及数据用于实现用于SVC-DASH点播系统的动态缓存调度方法。本专利技术提供的技术方案带来的有益效果是:与现有的SVC-DASH调度方法相比,本专利技术的技术方案在质量的提升速度、质量的平均等级、视频播放流畅度以及播放质量的平稳度方面均有更好的表现。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例中用于SVC-DASH点播系统的动态缓存调度方法的流程图;图2是本专利技术实施例中视频缓存区模型的示意图;图3是本专利技术实施例中用于SVC-DASH点播系统的动态缓存调度方法的详细流程图;图4是本专利技术实施例中视频缓存区模型1的示意图;图5是本专利技术实施例中视频缓存区模型2的示意图;图6是本专利技术实施例中视频缓存区模型3的示意图;图7是本专利技术实施例中视频缓存区模型4的示意图;图8是本专利技术实施例中视频缓存区模型5的示意图;图9是本专利技术实施例中硬件设备工作的示意图。具体实施方式为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。本专利技术的实施例提供了用于SVC-DASH点播系统的动态缓存调度方法、设备及存储设备,用于图2所示的视频缓存区模型。请参考图1,图1是本专利技术实施例中用于SVC-DA本文档来自技高网...

【技术保护点】
1.用于SVC‑DASH点播系统的动态缓存调度方法,其特征在于:包括以下步骤:S101:获取SVC格式的视频源,将视频源均匀分离成n个视频分片;并根据视频源的质量层级,将每一个视频分片均匀分离成m个视频块,将每个视频分片的m个视频块堆叠成m层,并将所有视频块存储于服务器中;每一个视频块对应有一个分片号i和一个层序号j;其中,m和n均为大于等于1的整数;i的取值范围为[1,n],j的取值范围为[1,m];初始化i和j的值为1;S102:初始化缓存区参数:设定缓存区高度Lmax的变化范围为[1,m],设定缓存区长度Bmax的变化范围为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Lmax的值为m,Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、[1,2]…[1,Bmax]、[2,1]…[2,Bmax]…[Lmax,Bmax]依序排列,用来存储所述视频块;其中,[1,1]、[2,1]…[Bmax,1]为缓存区第一层,[1,2]、[2,2]…[Bmax,2]为缓存区第二层,[1,j]、[2,j]…[Bmax,j]为缓存区第j层,[1,Lmax]、[2,Lmax]…[Bmax,Lmax]为缓存区第Lmax层;S103:下载分片号为i,层序号为j的视频块到第一个空的存储块,S104:完成所述视频块的下载后,更新缓存区缓存状态数据和平均网络带宽avgBW;所述缓存状态数据包括缓存区各层视频块的下载个数和缓存区中最新被下载的视频块的分片号;S105:根据平均带宽avgBW调整缓存区高度Lmax;S106:根据缓存状态数据调整缓存区长度Bmax;S107:判断是否下载结束或者视频客户端被关闭;若是,则到步骤S109;若否,则到步骤S108;S108:遍历缓存区的所有存储块,查找第一个空的存储块,根据缓存区缓存状态数据确定下一个被下载的视频块的分片号i和层序号j;返回到步骤S103;S109:结束缓存程序,完成动态缓存调度。...

【技术特征摘要】
1.用于SVC-DASH点播系统的动态缓存调度方法,其特征在于:包括以下步骤:S101:获取SVC格式的视频源,将视频源均匀分离成n个视频分片;并根据视频源的质量层级,将每一个视频分片均匀分离成m个视频块,将每个视频分片的m个视频块堆叠成m层,并将所有视频块存储于服务器中;每一个视频块对应有一个分片号i和一个层序号j;其中,m和n均为大于等于1的整数;i的取值范围为[1,n],j的取值范围为[1,m];初始化i和j的值为1;S102:初始化缓存区参数:设定缓存区高度Lmax的变化范围为[1,m],设定缓存区长度Bmax的变化范围为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Lmax的值为m,Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、[1,2]…[1,Bmax]、[2,1]…[2,Bmax]…[Lmax,Bmax]依序排列,用来存储所述视频块;其中,[1,1]、[2,1]…[Bmax,1]为缓存区第一层,[1,2]、[2,2]…[Bmax,2]为缓存区第二层,[1,j]、[2,j]…[Bmax,j]为缓存区第j层,[1,Lmax]、[2,Lmax]…[Bmax,Lmax]为缓存区第Lmax层;S103:下载分片号为i,层序号为j的视频块到第一个空的存储块,S104:完成所述视频块的下载后,更新缓存区缓存状态数据和平均网络带宽avgBW;所述缓存状态数据包括缓存区各层视频块的下载个数和缓存区中最新被下载的视频块的分片号;S105:根据平均带宽avgBW调整缓存区高度Lmax;S106:根据缓存状态数据调整缓存区长度Bmax;S107:判断是否下载结束或者视频客户端被关闭;若是,则到步骤S109;若否,则到步骤S108;S108:遍历缓存区的所有存储块,查找第一个空的存储块,根据缓存区缓存状态数据确定下一个被下载的视频块的分片号i和层序号j;返回到步骤S103;S109:结束缓存程序,完成动态缓存调度。2.如权利要求1所述的用于SVC-DASH点播系统的动态缓存调度方法,其特征在于:在步骤S105中,根据平均网络带宽avgBW调整缓存区高度Lmax的具体步骤为:S201:判断平均网络带宽avgBW是否大于等于第k-1层视频的码率Qk-1;若是,则缓存区高度Lmax的值为k;若否,则到步骤S202;其中,k为整数,取值范围为[1,m],且k的初始值取最大值m;S202:将k更新为k-1,判断k是否为1;若是,则...

【专利技术属性】
技术研发人员:余林琛蒋宇浩涂大喜
申请(专利权)人:中国地质大学武汉
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1