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

技术编号:19970860 阅读:41 留言: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, device and storage device for SVC DASH VOD system. The method includes: according to the buffer state of the buffer, the length of the buffer is dynamically adjusted to improve the fluency and stability of video playback. 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 video playback fluency and playback quality smoothness without losing video quality.

【技术实现步骤摘要】
用于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点播系统的动态缓存调度方法,主要包括以下步骤:S101:获取SVC格式的视频源,将视频源均匀分离成n个视频分片;并根据视频源的质量层级,将每一个视频分片均匀分离成m个视频块,将每个视频分片的m个视频块堆叠成m层,并将所有视频块存储于服务器中;每一个视频块对应有一个分片号i和一个层序号j;其中,m和n均为大于等于1的整数;i的取值范围为[1,n],j的取值范围为[1,m];初始化i和j的值为1;S102:初始化缓存区参数:设定缓存区高度Lmax的值为m,设定缓存区长度Bmax的值为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、[2,1]…[Bmax,1]、[1,2]…[Bmax,2]…[Bmax,Lmax]依序排列,用来存储所述视频块;其中,[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:完成所述视频块的下载后,更新缓存区缓存状态数据;所述缓存状态数据包括缓存区各层视频块的下载个数和缓存区中最新被下载的视频块的分片号;S105:根据缓存状态数据调整缓存区长度Bmax;S106:判断是否下载结束或者视频客户端被关闭;若是,则到步骤S108;若否,则到步骤S107;S107:遍历缓存区的所有存储块,查找第一个空的缓存块,根据第一个空的缓存块确定下一个被下载的视频块的分片号i和层序号j;返回到步骤S103;S108:结束缓存程序,完成动态缓存调度。进一步地,所述步骤S105中,根据缓存状态数据调整缓存区长度Bmax的具体步骤为:S201:判断条件Bmax>buffer_ken1≥min与buffer_lenm<buffer_len1是否同时成立;若是,则将Bmax更新为Bmax-1;若否,则到步骤S202;其中,buffer_len1为缓存区中第1层视频块的下载个数,buffer_lenm为缓存区最高层视频块的下载个数;S202:判断条件Bmax=buffer_len1<max与buffer_lenm=buffer_len1是否同时成立;若是,则将Bmax更新为Bmax+1;若否,则Bmax值不变。进一步地,所述步骤S106中,当所有视频分片均下载完后,代表下载结束。进一步地,所述步骤S107中,根据缓存区高度Lmax、缓存区长度Bmax和缓存状态调整下一个被下载的视频块所对应的分片号i和层序号j的具体步骤为:S301:判断缓存区是否有剩余存储块的层,从缓存区第一层开始判断,令判断层数p=1;S302:判断p是否小于等于Lmax;若是,则到步骤S303;若否,则到步骤S306;S303:判断缓存区中第p层是否有剩余存储块;若是,则到步骤S305;若否,则到步骤S304;S304:将p更新为p+1,返回步骤S302;S305:将层序号j赋值为p,判断第p层是否有视频块;若是,则i等于第p层最新下载的视频块的横坐标加1;若否,则i等于缓存区第1层第一个视频块的横坐标;S306:判断缓存区第一层的最后一个视频块的横坐标是否为n;若是,结束下载;若否,则到步骤S307;S307:将下载线程挂起,并设置i为缓存区第1层最后一个视频块的横坐标的下一号,层序号j为1;循环判断缓存区是否出现空存储块,一旦出现空存储块,则继续下载;在缓存视频分片的同时,解码播放线程将持续从缓存区中取出视频分片至客户端进行解码播放,每当取走一个视频分片,缓存区中剩余的视频分片依次前移。一种存储设备,所述存储设备存储指令及数据用于实现用于SVC-DASH点播系统的动态缓存调度方法。用于SVC-DASH点播系统的动态缓存调度设备,包括:处理器及所述存储设备;所述处理器加载并执行所述存储设备中的指令及数据用于实现用于SVC-DASH点播系统的动态缓存调度方法。本专利技术提供的技术方案带来的有益效果是:与现有的SVC-DASH调度方法相比,本专利技术的技术方案在不损失视频质量的情况下,在视频播放流畅度和播放质量的平稳度方面均有更好的表现。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例中用于SVC-DASH点播系统的动态缓存调度方法的流程图;图2是本专利技术实施例中视频缓存区模型的示意图;图3是本专利技术实施例中用于SVC-DASH点播系统的动态缓存调度方法的详细流程图;图4是本专利技术实施例中硬件设备工作的示意图。具体实施方式为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。本专利技术的实施例提供了用于SVC-DASH点播系统的动态缓存调度方法、设备及存储设备,用于图2所示的视频缓存区模型。请参考图1,图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的值为m,设定缓存区长度Bmax的值为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、本文档来自技高网...

【技术保护点】
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的值为m,设定缓存区长度Bmax的值为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、[2,1]…[Bmax,1]、[1,2]…[Bmax,2]…[Bmax,Lmax]依序排列,用来存储所述视频块;其中,[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:完成所述视频块的下载后,更新缓存区缓存状态数据;所述缓存状态数据包括缓存区各层视频块的下载个数和缓存区中最新被下载的视频块的分片号;S105:根据缓存状态数据调整缓存区长度Bmax;S106:判断是否下载结束或者视频客户端被关闭;若是,则到步骤S108;若否,则到步骤S107;S107:遍历缓存区的所有存储块,查找第一个空的缓存块,根据第一个空的缓存块确定下一个被下载的视频块的分片号i和层序号j;返回到步骤S103;S108:结束缓存程序,完成动态缓存调度。...

【技术特征摘要】
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的值为m,设定缓存区长度Bmax的值为[min,max],缓存区的缓存面积是长度为Bmax,高度为Lmax的矩形区域;初始化Bmax的值为max;将缓存区划分为Lmax*Bmax个存储块,这些存储块按照坐标[1,1]、[2,1]…[Bmax,1]、[1,2]…[Bmax,2]…[Bmax,Lmax]依序排列,用来存储所述视频块;其中,[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:完成所述视频块的下载后,更新缓存区缓存状态数据;所述缓存状态数据包括缓存区各层视频块的下载个数和缓存区中最新被下载的视频块的分片号;S105:根据缓存状态数据调整缓存区长度Bmax;S106:判断是否下载结束或者视频客户端被关闭;若是,则到步骤S108;若否,则到步骤S107;S107:遍历缓存区的所有存储块,查找第一个空的缓存块,根据第一个空的缓存块确定下一个被下载的视频块的分片号i和层序号j;返回到步骤S103;S108:结束缓存程序,完成动态缓存调度。2.如权利要求1所述的用于SVC-DASH点播系统的动态缓存调度方法,其特征在于:在步骤S105中,根据缓存状态数据调整缓存区长度Bmax的具体步骤为:S201:判断条件Bmax>buffer_len1≥min与buffer_lenm<buffer_len1是否同时成立;若是...

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

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

1