An adaptive SVC DASH playback method for interlayer backfilling is proposed. Firstly, SVC encoding data set is constructed, then HTTP file server is built. The client module cooperation method and steps of SVC DASH playback method are described. The adaptive algorithm for interlayer backfilling is described in detail from the sequence number search of backfilling fragments and the quality determination of backfilling.
【技术实现步骤摘要】
一种层间回填自适应SVC-DASH播放方法
本专利技术涉及一种动态自适应流媒体方法
技术介绍
近年来,在线流媒体视频服务得到广泛的应用。在线视频业务在整个因特网的数据流量正占据着越来越大的比重。基于HTTP的自适应流技术克服了基于RTP/RTSP的流媒体传输部署难、不兼容防火墙等问题和HTTP渐进式下载无法动态调整视频质量的问题,被广泛用于提供商用高质量的视频服务。市场上有多种流媒体技术,MPEG-DASH(DASH:DynamicAdaptiveStreamingoverHTTP)协议可以兼容市场上主流自适应流媒体技术,受到业界和研究界的关注。传统的自适应流媒体技术通过在服务端存储大量高级视频编码(AdvancedVideoCoding,AVC)以提供视频服务,但AVC编码冗余非常大。可扩展视频编码(ScalableVideoCoding,SVC)以其一次编码可多次按需适配的高可扩展性成为视频编码领域的研究热点。相比于AVC编码,SVC编码的方法能够大大减少视频提供商在视频服务端的存储容量。
技术实现思路
本专利技术要解决现有技术的上述缺点,提供一种层间回填自适应SVC-DASH播放方法。本专利技术基于DASH框架,设计面向SVC编码的流媒体客户端自适应播放方法。现有的基于SVC编码的自适应决策方法主要根据客户端吞吐量或者缓存预测下一视频片段的质量等级,然后根据视频质量等级串行下载片段的基础层和增强层。基于吞吐量预测方法在带宽变化时会带来片段质量频繁切换的问题。基于缓存的预测方法则为了维持高缓存而一直下载较低质量等级的视频片段,引起观看视频的整体用户体验QO ...
【技术保护点】
1.一种层间回填自适应SVC‑DASH播放方法,包括以下步骤:步骤1,创建SVC编码数据集;1.1视频格式转换;选择YUV、AVI等任意格式视频源,将其转化为MPEG‑DASH协议需要的H.264视频格式;采用FFMPEG,MediaCoder开源工具实施视频编码转换;1.2视频分割;SVC编码将每个视频片段分割为一层基础层和多层增强层,且基础层和多个增强层可以通过不同的组合方式解码出不同视频质量的媒体流;将步骤1.1生成的H.264格式视频分割成固定时长τ秒,一般为2~10秒的多个视频片段,每个视频片段由一层基础层和多个增强层构成;根据生成的视频片段序号、片段时长、视频片段帧率、片段层下载链接、片段层文件大小等信息构造一个MPD文件,MPD文件是DASH视频描述文件;视频片段分割采用JSVM、SVC_Demux_Mux开源工具;步骤2,搭建基于SVC编码的HTTP视频文件服务器;利用现有的服务端技术Apache,nginx,tomcat搭建SVC编码的文件服务器,并将MPD文件中的
【技术特征摘要】
1.一种层间回填自适应SVC-DASH播放方法,包括以下步骤:步骤1,创建SVC编码数据集;1.1视频格式转换;选择YUV、AVI等任意格式视频源,将其转化为MPEG-DASH协议需要的H.264视频格式;采用FFMPEG,MediaCoder开源工具实施视频编码转换;1.2视频分割;SVC编码将每个视频片段分割为一层基础层和多层增强层,且基础层和多个增强层可以通过不同的组合方式解码出不同视频质量的媒体流;将步骤1.1生成的H.264格式视频分割成固定时长τ秒,一般为2~10秒的多个视频片段,每个视频片段由一层基础层和多个增强层构成;根据生成的视频片段序号、片段时长、视频片段帧率、片段层下载链接、片段层文件大小等信息构造一个MPD文件,MPD文件是DASH视频描述文件;视频片段分割采用JSVM、SVC_Demux_Mux开源工具;步骤2,搭建基于SVC编码的HTTP视频文件服务器;利用现有的服务端技术Apache,nginx,tomcat搭建SVC编码的文件服务器,并将MPD文件中的<BaseURL>项修改为服务器的存储视频数据集的网络地址;步骤3,层间回填自适应播放方法的SVC-DASH客户端模块及交互;SVC-DASH客户端包括:用户交互模块、下载模块、缓存管理模块、自适应决策模块、片段合成模块以及播放控制模块共六个模块;用户交互模块是用户和客户端之间进行交互的接口,用户选择SVC编码的DASH视频源,下载并解析DASH视频源的MPD文件;自适应决策模块采用层间回填自适应方法决策出可以从视频文件服务器端下载的视频片段层;下载模块将决策出的视频片段层文件下载交由缓存管理模块;缓存管理模块负责将下载的片段层存储到缓存区;片段合成模块负责从缓存区内取出片段基础层和多层增强层进行合成,并交给播放控制模块;播放控制模块将片段合成模块合成的H.264片段加载至Mplayer播放器播放的主文件中,通过Mplayer播放器进行播放;播放控制模块需要保证当缓存区为空时,主动暂停Mplayer播放器播放视频,等待缓存区填充入新的片段后再通知Mplayer播放器继续播放视频;各个模块之间协作步骤如下:3.1用户交互模块获取视频源MPD并解析处理;首先用户通过用户交互模块添加可播放的视频源的MPD下载地址,检查MPD下载地址是否有效,如果无效,则重新进行添加MPD下载地址;如果有效则根据MPD下载地址从服务端下载MPD文件;当客户端下载好MPD文件后,将MPD文件通过XML技术进行解析,获取MPD文件包含的信息,并发送给自适应决策模块、下载模块和播放模块;3.2层间回填自适应决策;首先自适应决策模块采用层间回填自适应方法确定需要下载的片段层,然后下载模块根据自适应决策的片段层从服务端进行下载;层间回填自适应方法是在SVC-DASH的框架下,根据缓存填充状态预测下一次下载的片段层,并返回给下载模块进行下载;当缓存区处于未填满状态时,通过下载新片段的基础层进行填充缓存;当缓存区填满时,通过回填算法确定下载的片段层;相关定义如下:定义片段层为(i,j),i为视频片段序号,j为质量等级,其中j∈[0,M],当j=0时,视频片段仅含基础层;当j>0时,视频片段含有1个基础层和j个增强层,M为片段i所含增强层总数;定义last_chunk,last_chunk是一个长度为2的一维数组,其中last_chunk[0]记录最新下载的片段序号,last_chunk[1]记录上次回填的片段序号;3.2.1缓存区处于未填满状态时,添加新片段基础层;last_chunk[0]=last_chunk[0]+1,i=last_chunk[0],j=0;返回片段层(i,j);否则,转3.2.2...
【专利技术属性】
技术研发人员:熊丽荣,尤日晶,沈树茂,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。