一种P2P流媒体系统中的SVC视频文件分片及调度方法技术方案

技术编号:16082775 阅读:40 留言:0更新日期:2017-08-25 17:01
本发明专利技术的P2P流媒体系统中的SVC视频文件分片及调度方法,分片方法包括a).求取每一层的数据量大小s(

【技术实现步骤摘要】
一种P2P流媒体系统中的SVC视频文件分片及调度方法
本专利技术涉及一种视频文件分片及调度方法,更具体的说,尤其涉及一种P2P流媒体系统中的SVC视频文件分片及调度方法。
技术介绍
随着移动互联网的发展和三网融合产业的兴起,终端之间的数据共享将更加频繁与普遍,当前互联网上广泛应用的P2P流媒体技术将获得更大的发展空间,但如何在异构的环境中传输和共享视频数据成为当前P2P流媒体系统所面临的主要问题。为了解决这一问题,多种自适应技术被提出,包括转码(transcoding)、联播(simulcast)、多描述编码(multipledescriptioncoding)和可扩展视频编码(SVC,ScalableVideoCoding)等。其中SVC由于其高效的编码效率、方便的自适应性和高共享度而成为这一问题的最佳解决方案。SVC将视频编码为一个基础层和一个或多个增强层,层间数据在解码时具有向下依赖关系:基础层可独立解码并获得一个基本质量的视频,而某个增强层的解码则需要基础层和所有较低的增强层,并且解码的增强层越多用户观看的视频质量越高。相比于传统的视频编码,在P2P流媒体系统中应用SVC可以获得两方面的好处:一方面,用户能够根据自身情况动态调整下载的增强层数目,从而实现视频质量自适应;另一方面,不同类型的终端之间也可以共享部分层的数据,从而大大提高数据分享效率。如何在P2P流媒体系统中传输SVC视频数据已经成为当前急需解决的问题,本专利主要解决应用于P2P流媒体系统中的SVC数据分片问题。在传统的P2P流媒体系统中,视频数据以分片为单位进行共享:单层视频数据被分为数据量等大小的分片,客户端以一定调度规则确定分片的下载顺序并下载分片,同时客户端每下载完一个分片即可将该分片上传给其他用户。与传统的P2P视频流媒体系统相同,基于SVC的P2P视频流媒体系统也以分片为单位共享数据。然而为了便于视频质量的调整和用户之间的数据共享,SVC视频一般以层为单位进行分片,此时需要考虑的则是层间的同步和协调问题,而传统的数据量等大小的分片方法不能满足这一需求。在基于SVC的P2P视频流媒体系统中多采用时间长度等大小的分片方法:将SVC的各个分层以一定播放时长为单位进行分片,层内每个分片播放时长相同,层间每个分片的播放时长也相同。时间长度等大小分片方法能够满足SVC数据在解码播放时的层间同步需求,然而,播放时长相同的分片在数据量大小上却不相同,尤其是较低层分片的数据量往往会比较高层分片大很多。在丢包率相同的条件下,较大的分片会比较小的分片更容易丢失,尤其是在移动网络这种整体丢包率较高的环境中。对SVC数据来说,由于解码依赖性的存在,较低层分片比较高层分片更加重要,较低层分片的丢失会引起视频质量的显著下降,严重影响用户体验。采用等时长分片方法,不同分层中分片的数据量大小差距很大,同一个分层层内分片的数据量大小也各不相同,这会导致P2P网络系统中数据传输的不稳定。
技术实现思路
本专利技术为了克服上述技术问题的缺点,提供了一种P2P流媒体系统中的SVC视频文件分片及调度方法。本专利技术的P2P流媒体系统中的SVC视频文件分片方法,其特征在于,通过以下步骤来实现:a).SVC视频数据分层及求取每层的数据量大小,对于编码后的SVC视频数据,依次读取每一个NAL单元,提取NAL单元头信息中的空间层标识值d、时间层标识值t、质量层标识值q及NAL单元大小,按照d、t、q的值将SVC视频数据分离成若干层,每一层(d,t,q)均由SVC视频数据中所有d、t、q值相等的NAL单元构成,同一层的数据按照SVC视频数据原有的顺序连续存放;通过公式(1)求取每一层的数据量大小s(d,t,q):式中,s(d,t,q)为层(d,t,q)的数据量大小,d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1},a、b、c分别为SVC视频的空间分层数目、时间分层数目和质量分层数目;z(i)为层(d,t,q)中第i个NAL单元的大小,n为层(d,t,q)中NAL单元的数目;b).求数据量最大层分片包含的GOP数量,通过比较步骤a)中求取的每一层的数据量大小,找出SVC视频各分层中数据量最大的层(d′,t′,q′);通过公式(2)求取数据量最大层(d′,t′,q′)按等时间长度分片时每一个分片所包含的合适画面组GOP数量m(d′,t′,q′):式中,m(d′,t′,q′)为数据量最大层(d′,t′,q′)中每一个分片所包含的GOP数量,s(d′,t′,q′)为层(d′,t′,q′)的数据量大小,M为分层后SVC视频的每一层包含的GOP数量,Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小,符号为向上取整;c).求除数据量最大层外其余层分片中GOP数量,通过公式(3)求取除数据量最大层(d′,t′,q′)外其余层(d,t,q)中每一个分片所包含的GOP数量m(d,t,q):式中,m(d,t,q)为SVC视频数据中除数据量最大层(d′,t′,q′)外SVC各视频分层中每一个分片所包含的GOP数量,m(d′,t′,q′)为数据量最大层(d′,t′,q′)中每一个分片所包含的GOP数量,s(d′,t′,q′)为数据量最大层(d′,t′,q′)的数据量大小,s(d,t,q)为层(d,t,q)的数据量大小,d、t、q的值不能同时分别为d′、t′、q′,符号为向上取整;d).对各个分层进行分片,根据层(d,t,q)每个分片包含的GOP数量m(d,t,q)对层(d,t,q)进行等时间长度分片,层(d,i,q)被分成个分片,M为分层后SVC视频的每一层包含的GOP数量;d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1};前个分片包含的GOP数量均为m(d,t,q),如果某个层的最后一个分片包含的GOP数量与前面分片包含的GOP数量不相等,其包含的GOP数量为符号为向下取整;e).二次分片,判断层(d,t,q)中每一个分片的数据量大小,对于分片的数据量s(Pi)≥2Z的分片Pi,通过公式(4)和公式(5)进行基于数据量大小的二次分片处理:式中,Pi,m为对分片Pi进行二次分片处理后得到的第m个子分片,p′i为分片Pi除去第1、2、…、m-1个子分片后的剩余分片,s(Pi)为分片Pi的数据量大小;GOPj为分片p′i中的第j个GOP,s(GOPk)为分片p′i中的第K个GOP的大小,Ni为对分片Pi进行二次分片后得到的子分片数量;Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小;Pi,m由分片P′i中的前j个GOP构成,这j个GOP的数据量大小之和要么等于s(Pi)/Ni要么大于s(Pi)/Ni,但前j-1个GOP数据量大小之和小于s(Pi)/Ni;f).分片信息的存放,将每层SVC视频数据中包含的分片信息存放于各层的P2P索引信息中,用1个字节的空间存储对层进行等时间长度分片时的时长m(d,t,q),用个字节空间A来表示每层进行了等时间长度分片后得到的各个分片是否进行了基于数据量大小的二次分片,用字节空间B来存储经二次分片后得到的分片的GOP数量,用2个本文档来自技高网
...
一种P2P流媒体系统中的SVC视频文件分片及调度方法

【技术保护点】
一种P2P流媒体系统中的SVC视频文件分片方法,其特征在于,通过以下步骤来实现:a).SVC视频数据分层及求取每层的数据量大小,对于编码后的SVC视频数据,依次读取每一个NAL单元,提取NAL单元头信息中的空间层标识值d、时间层标识值t、质量层标识值q及NAL单元大小,按照d、t、q的值将SVC视频数据分离成若干层,每一层(d,t,q)均由SVC视频数据中所有d、t、q值相等的NAL单元构成,同一层的数据按照SVC视频数据原有的顺序连续存放;通过公式(1)求取每一层的数据量大小s(d,t,q):

【技术特征摘要】
1.一种P2P流媒体系统中的SVC视频文件分片方法,其特征在于,通过以下步骤来实现:a).SVC视频数据分层及求取每层的数据量大小,对于编码后的SVC视频数据,依次读取每一个NAL单元,提取NAL单元头信息中的空间层标识值d、时间层标识值t、质量层标识值q及NAL单元大小,按照d、t、q的值将SVC视频数据分离成若干层,每一层(d,t,q)均由SVC视频数据中所有d、t、q值相等的NAL单元构成,同一层的数据按照SVC视频数据原有的顺序连续存放;通过公式(1)求取每一层的数据量大小s(d,t,q):式中,s(d,t,q)为层(d,t,q)的数据量大小,d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1},a、b、c分别为SVC视频的空间分层数目、时间分层数目和质量分层数目;z(i)为层(d,t,q)中第i个NAL单元的大小,n为层(d,t,q)中NAL单元的数目;b).求数据量最大层分片包含的GOP数量,通过比较步骤a)中求取的每一层的数据量大小,找出SVC视频各分层中数据量最大的层(d′,t′,q′);通过公式(2)求取数据量最大层(d′,t′,q′)按等时间长度分片时每一个分片所包含的合适画面组GOP数量m(d′,t′,q′):式中,m(d′,t′,q′)为数据量最大层(d′,t′,q′)中每一个分片所包含的GOP数量,s(d′,t′,q′)为层(d′,t′,q′)的数据量大小,M为分层后SVC视频的每一层包含的GOP数量,Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小,符号为向上取整;c).求除数据量最大层外其余层分片中GOP数量,通过公式(3)求取除数据量最大层(d′,t′,q′)外其余层(d,t,q)中每一个分片所包含的GOP数量m(d,t,q):式中,m(d,t,q)为SVC视频数据中除数据量最大层(d′,t′,q′)外SVC各视频分层中每一个分片所包含的GOP数量,m(d′,t′,q′)为数据量最大层(d′,t′,q′)中每一个分片所包含的GOP数量,s(d′,t′,q′)为数据量最大层(d′,t′,q′)的数据量大小,s(d,t,q)为层(d,t,q)的数据量大小,d、t、q的值不能同时分别为d′、t′、q′,符号为向上取整;d).对各个分层进行分片,根据层(d,t,q)每个分片包含的GOP数量m(d,t,q)对层(d,t,q)进行等时间长度分片,层(d,t,q)被分成个分片,M为分层后SVC视频的每一层包含的GOP数量;d∈{0,1,...,a-1},t∈{0,1,...,b-1},q∈{0,1,...,c-1};前个分片包含的GOP数量均为m(d,t,q),如果某个层的最后一个分片包含的GOP数量与前面分片包含的GOP数量不相等,其包含的GOP数量为符号为向下取整;e).二次分片,判断层(d,t,q)中每一个分片的数据量大小,对于分片的数据量s(Pi)≥2Z的分片Pi,通过公式(4)和公式(5)进行基于数据量大小的二次分片处理:式中,Pi,m为对分片Pi进行二次分片处理后得到的第m个子分片,p′i为分片Pi除去第1、2、…、m-1个子分片后的剩余分片,s(Pi)为分片Pi的数据量大小;GOPj为分片p′i中的第j个GOP,s(GOPk)为分片p′i中的第K个GOP的大小,Ni为对分片Pi进行二次分片后得到的子分片数量;Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小;Pi,m由分片P′i中的前j个GOP构成,这j个GOP的数据量大小之和要么等于s(Pi)/Ni要么大于s(Pi)/Ni,但前j-1个GOP数据量大小之和小于s(Pi)/Ni;f).分片信息的存放,将每层SVC视频数据中包含的分片信息存放于各层的P2P索引信息中,用...

【专利技术属性】
技术研发人员:王成庞希愚
申请(专利权)人:山东交通学院
类型:发明
国别省市:山东,37

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

1