一种基于缓存的多视点视频自适应传输方法与流程

文档序号:11411237阅读:439来源:国知局
一种基于缓存的多视点视频自适应传输方法与流程

本发明涉及互联网多媒体服务领域,更具体是给出了一种自适应传输机制,在带宽起伏不定的互联网环境提供最佳立体视频实时传输服务。



背景技术:

随着互联网以及各个智能终端的快速发展,人们对于视频、音频等多媒体信息的需求日益增多,为了解决各个智能终端间的兼容性和适配性等问题,动态图像专家组(mpeg)与第三代合作伙伴计划(3gpp)于2011联合提出基于http的动态自适应流媒体传输(mpeg-dash)协议。

基于http动态自适应(dash)传输协议的流媒体传输机制,是由客户端驱动,在视频传输前,服务器会将同一视频资源分割成不同的视频切片,并进行不同比特率编码,最终生成一个基于二进制可扩展标记语言(xml)格式的媒体描述文件,它包含了视频切片的比特率、分辨率、时间长度等相应的视频属性信息。客户端根据当前的网络状况、自身硬件的处理能力以及缓存等相关参数根据媒体描述文件所提供的统一资源定位符(url)自适应的选择适应于当前网络状况的下的视频资源下载。

然而随着图像以及摄影技术的发展,3d视频以立体、真实的用户体验质量深受各产品运营商以及研究者的亲睐。在itu-t和iso联合制定的下一代视频编码标准(hevc)中,将3d-hevc作为了hevc的扩展,相对于h264/avc,hevc压缩方案效率提高一倍。在3d-hevc中以多视点加深度(mvd)作为数据的压缩格式,为每个视点编码一个深度信息,用来描述的是拍摄场景中客体离摄像机的距离。编码后的多视点加深度视频流会发送到客户端,客户端会根据深度信息通过深度图像渲染(dibr)合成虚拟视点,进而完成3d视频的重建。

目前已经有很多关于2d-dash自适应方案的研究主要可以分为两类:基于吞吐量自适应和基于缓存自适应。相较之下,3d-dash自适应方案还不够成熟。在目前的3d-dash的研究主要集中在媒体描述文件的格式改进、传输的视点数量对最终呈现的视频质量的影响以、传输视点数量的自适应切换。但是由于多视点编码的原因,在3d环境中,客户端会产生更多的具有不同比特率的多视点比特流版本。因此基于3d-dash的自适应方案相对于2d要求更具有挑战性。

本发明给出一种适用于多视点立体视频的自适应传输控制方法。



技术实现要素:

本发明要解决的技术问题为在无线网络环境下,设计一种由客户端驱动的多视点视频自适应传输控制算法。

本发明采用的技术方案为:

一种基于缓存的多视点视频自适应传输方法,包括以下步骤:

步骤1:服务器分别将各个位置捕捉到的视频流进行独立对称的编码,并以相同的时间间隔分别对编码后的视频流进行视频切片切割,形成多个多视点视频流切片;所述的多个多视点视频流切片按视点加深度分为三种比特流;

步骤2:服务器按照预定规则对多个多视点视频流切片进行打包,并将每个多视点视频流切片的属性信息进行汇总生产媒体描述文件;所述的属性信息包括总比特率、视点数、psnr值和url;

步骤3:在视频下载前,客户端向服务器提出申请,并下载媒体描述文件,通过解析媒体描述文件得到每个多视点视频流切片的属性信息;

步骤4:客户端向服务器申请当前视点数以及总比特率最低的多视点视频流切片,将该多视点视频流切片作为当前多视点视频流切片,并进行下载;

步骤5:客户端判断缓存区的多视点视频流切片是否达到预定值,若是,则执行步骤6;否者,返回步骤4;

步骤6:客户端根据当多视点视频流切片的下载速度,计算当前网络吞吐量,并将计算得到的网络吞吐量作为下一个多视点视频流切片下载期间的网络估计吞吐量;

步骤7:客户端根据当前多视点视频流切片的总比特率、上一个多视点视频流切片下载完成时的缓存余量以及网络吞吐量,计算当前的缓存余量;

步骤8:客户端设置缓存区间的最大值为bmax,并根据当前的的缓存余量计算当前的缓存占用率bl(i);

步骤9:客户端根据当前的缓存占用率和网络估计吞吐量设计多视点视频流切片选择标准的缓存控制器;

步骤10:客户端将网络估计吞吐量和当前的缓存占用率输入到步骤9设计的缓存控制器中,得到多视点视频流切片选择标准;

步骤11:客户端根据多视点视频流切片选择标准,在三种比特流中选择总比特率最接近选择标准的比特流,并在最接近选择标准的比特流中选择psnr值最大的多视点视频流切片;

步骤12:客户端根据步骤11选择的多视点视频流切片,通过媒体描述文件中的url向服务器申请下载该多视点视频流切片,将该多视点视频流切片作为当前多视点视频流切片;返回步骤6,直到下载完成所有的多视点视频流切片;

完成基于缓存的多视点视频自适应传输。

其中步骤9中的缓存控制器为:

其中,为多视点视频切片的选择标准,bl(i)为当前的缓存的占用率,te(i)为网络估计吞吐量。

本发明与背景技术相比的优点为:

(1)在3d-dash应用中充分考虑到缓存对于用户的影响,进而保证了客户端不会出现缓存的上溢和下溢。

(2)向用户提供质量更高的多视点视频,且保证视频切换较为平滑稳定,提高用户的体验质量。

(3)3d环境中使用基于缓存的控制方法,可以更好的保证在3d环境下用户缓存的视频可以稳定在一个安全值,同时保证最大程度的利用带宽。

附图说明

图1为本发明流程图;

图2为本发明服务器系统图;

图3为本发明客户端系统图;

图4为本发明基于dash的自适应传输机制。

具体实施方式

为使本发明的目的技术方案和优点更加清楚,下面结合附图和具体实施方案,对本发明进行进一步的详细描述。

本发明一种基于缓存的多视点视频自适应传输方法,流程图如图1所示,包括以下步骤:

步骤1:资源准备。在视频自适应传输前,服务器端进行多视点视频流的资源预备,如图2服务器的系统框图,本发明的具体实施方案采用3个摄像机以相同的基线距离环形排列,进行视频捕捉,并采用3d-hevc标准对捕捉到的视频流进行独立对称地编码,每个视点被编码成l个比特率播放版本(v1,v2,...,vl)。以相同的时间间隔(8秒)将编码后的视频流切割成n个多视点视频流切片。所述的多视点视频流切片按视点加深度分为:两视点加深度(2vd)、三视点加深度(3vd)和四视点加深度(4vd);使其满足:

1)在现有的无线网络环境下,保证申请的视频质量紧跟网络带宽的变化,以防止缓存溢出造成的视频播放停滞或带宽利用率低等问题。

2)在有限的网络带宽环境下,最大化用户申请的视频质量,以最大化用户体验质量。

3)在网络带宽发生波动时,尽量维持所选择的视频质量稳定,避免造成视频质量频繁切换给用户带来疲惫感。

4)针对于当前的网络环境,选择合适的多视点视频流切片(4vd,3vd,2vd)进行传输,以最大化用户的体验质量。

步骤2:媒体描述文件生成。根据步骤1得到的多视点视频流切片(2vd,3vd,4vd),服务器按照预定规则对n多视点视频流切片进行打包,将各个视频流在客户端渲染的虚拟视点的平均峰值信噪比(psnr)值作为多视点视频流切片切换的客观依据,以贴近用户的真实体验。最终将服务器端多视点视频流切片的总比特率、视点数、psnr值以及url等属性信息汇总到媒体描述文件中;

步骤3:媒体描述文件预下载。如图4基于dash的自适应传输机制,客户端预先向服务器发送httpget请求下载媒体描述文件。并通过解析媒体描述文件获知服务器端每个多视点视频流切片的比特率、视点数、psnr值以及url等属性信息;

步骤4:初始缓存阶段。缓存开始阶段,客户端根据从媒体描述文件中得到的服务器端多视点视频流切片的属性信息,向服务器申请最低等级质量视频且视点数最低(2vd)的多视点视频流切片,将该多视点视频流切片作为当前多视点视频流切片,并进行下载。

步骤5:客户端判断缓存区的多视点视频流切片是否达到预定值,若是,启动客户端自适应传输机制,则执行步骤6;否者,返回步骤4;

步骤6:计算估计吞吐量。如图3所示的自适应客户端,设从申请到当前第i个多视点视频流切片下载完成所需时间t,申请多视点视频切片的总比特率为v,每段多视点视频流切片播放时长为τ,则下载第i个多视点视频流切片期间网络吞吐量表示为:ti(i)=v×τ/t。使用该吞吐量作为进行下一个视频切片下载时的估计吞吐量,即te(i+1)=ti(i)。

步骤7:计算当前缓存余量。设前一个多视点视频切片下载完成时的缓存余量为b(i-1),根据步骤5得到的t和τ,则当前缓存余量计算方式为:b(i)=b(i-1)+τ-t。

步骤8:计算缓存占用率。将缓存区间的最大值设置为bmax,根据步骤7计算得到的当前的缓存余量b(i)计算第i个视频切片下载完成后的缓存占用率bl(i):

步骤9:设计缓存控制器。根据当前的缓存占用率bl(i)和当前的缓存余量b(i),为了使得缓存处于一个比较安全的状态,特将缓存区间设置为4个区间,根据缓存占用率的不同动态的调整安全因子的大小,进而实现对网络估计吞吐量进行控制。最后根据不同的安全因子计算并输出第i个多视点视频切片选择标准

其中,为多视点视频切片的选择标准,bl(i)为当前的缓存的占用率,te(i)为网络估计吞吐量。

步骤10:多视点视频流切片选择标准确定。将计算的得到的网络估计吞吐量te(i)和计算得到的当前的缓存占用率输入到步骤9设计的缓存控制器,输出多视点视频流切片选择标准

步骤11:比特流选择。首先根据步骤10得到的多视点视频流切片选择标准分别在2vd(两视点加深度)、3vd(三视点加深度)和4vd(四视点加深度)这三种比特流中选择总比特率最接近的多视点视频流切片,然后在两个比特流中选择psnr值较大的多视点视频流切片进行传输。

步骤12:视频下载。根据步骤10所选择的视频切片,通过媒体描述文件所提供的url向服务器申请下载该视频切片,等待,直到该视频切片下载完成。将该多视点视频流切片作为当前多视点视频流切片,返回步骤6,直到下载完成本视频所有的多视点视频切片。

完成基于缓存的多视点视频自适应传输。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1