首页 / 专利库 / 视听技术与设备 / 视频编码层 / 一种基于SVC数据特性的P2P流媒体分片及调度方法

一种基于SVC数据特性的P2P流媒体分片及调度方法

阅读:255发布:2020-05-08

专利汇可以提供一种基于SVC数据特性的P2P流媒体分片及调度方法专利检索,专利查询,专利分析的服务。并且本 发明 的基于SVC数据特性的P2P流媒体分片方法,包括:a).SVC视频数据分层及求取每层的数据量大小;b).求数据量最大层分片包含的GOP数量;c).求除数据量最大层外其余层分片中GOP数量;d).对各个分层进行分片;e). 基础 层二次分片;f).分片信息的存放。本发明的分片及调度方法,根据数据量最大层含有的GOP数量确定其余层分片含有的数量,使得各层之间的等时间长度分片具有很大的相关性,有利于各层数据的同步。通过对基础层中数据量较大的分片进行二次分片,能消除数据量较大的分片,将数据量差距控制在一定范围内,可有效降低重要性高的基础层数据在网络传输过程中的丢包率,有利于客户获取高 质量 、稳定的视频画面。,下面是一种基于SVC数据特性的P2P流媒体分片及调度方法专利的具体信息内容。

1.一种基于SVC数据特性的P2P流媒体分片方法,其特征在于,通过以下步骤来实现:
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).基础层二次分片,SVC视频基础层(0,0,0)按照步骤d)进行分片后,判断基础层(0,
0,0)的每个分片大小,对于数据量s(Pi)>1.33Z的分片Pi,通过公式(4)和公式(5)进行基于等时间长度的二次分片处理:
式中,Pi,j为对分片Pi进行二次分片处理后得到的第j个子分片,GOPk为分片Pi中的第k个GOP,m(0,0,0)为基础层(0,0,0)进行等时间长度分片时每个分片的GOP数量,Ni为对分片Pi进行二次分片后得到的子分片数量,s(Pi)为分片Pi的数据量大小;Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小;
f).分片信息的存放,将每层SVC视频数据中包含的分片信息存放于各层的P2P索引信息中,用1个字节的空间存储对层进行等时间长度分片时的时长m(d,t,q),用个字节空间A来表示基础层(0,0,0)进行了等时间长度分片后得到的各个分
片进行二次分片的信息,用2个字节的空间来表示每一个分片数据量大小。
2.根据权利要求1所述的基于SVC数据特性的P2P流媒体分片方法,其特征在于:步骤a)中SVC视频的空间分层数目a、时间分层数目b和质量分层数目c的取值与网络宽带和终端能的差异性大小成正比,a∈[1,2],b∈[3,5],c∈[1,2]。
3.根据权利要求1或2所述的基于SVC数据特性的P2P流媒体分片方法,其特征在于:步骤b)和步骤e)中Z的取值范围为:Z∈[64K,1M]。
4.根据权利要求1或2所述的基于SVC数据特性的P2P流媒体分片方法,其特征在于:步骤f)中所述的分片信息的存放通过以下步骤来实现:
在字节空间A中,每2位表示一个进行了等时间长度分片后得到的分片进行二次分片的信息,00表示未进行二次分片,01、10、11分别表示进行了二次分片后得到的子分片数量为
2、3、4,表示进行了二次分片信息的位在字节空间A中的位置次序与分片在视频数据中的存储位置次序相同,字节空间A的有效位数为 位,无效位数为
位,无效位用0填充。
5.一种基于权利要求1所述的基于SVC数据特性的P2P流媒体分片方法的数据请求调度方法,其特征在于,通过以下步骤来实现:
1).客户端选择订阅需要播放的SVC视频分层,获取P2P索引信息;
2).当按序播放时,客户端按照播放顺序逐层请求数据分片,具体步骤如下:
2-1).首先确定客户端请求播放的SVC视频分层中,对各层进行等时间长度分片时的最大时长mmax(d,t,q),GOP数量与时长对应;
2-2).以T为时间周期逐层同步请求数据分片,在第n个同步时间周期内,请求的各层数据分片数为Pcount(d,t,q),其通过公式(6)和公式(7)进行求取:
T=N×mmax(d,t,q)       (7)
式中,Pcount(d,t,q)为客户端在请求数据的第n个同步时间周期内,对层(d,t,q)请求的数据分片数,n、N均为正整数,T为请求数据分片的同步时间周期,是各层进行等时间长度分片的最长时长mmax(d,t,q)的整数倍,A(i)为字节空间A中表示层(0,0,0)的第i个分片进行二次分片信息的值;
2-3).在同一个时间周期T中所请求的视频分层的全部分片都收到以后,送给解码器解码并播放,同时开始下载后一个时间周期T内的各层数据分片;
3).当拖动播放时,在定位到视频的某一时间点t′播放时,客户端根据P2P索引中的分片时间信息定位并请求需要下载的数据分片,具体步骤如下:
3-1).首先判断定位到视频的某一时间点t′的视频数据属于哪一个GOP;
3-2).获取该GOP处于视频每个分层的第几个分片,其通过公式(8)、公式(9)进行获取:
式中,np为查找的GOP在SVC视频层(d,t,q)中所处的分片位置,ng为时间点t′在SVC视频中所处的GOP位置,m(d,t,q)为SVC视频中层(d,t,q)进行等时间长度分片后每一个分片包含的GOP数量,A(i)为字节空间A中表示层(0,0,0)的第i个分片进行二次分片信息的值;
3-3).从SVC视频的各层中依次下载这些分片,得到播放所需要的数据。

说明书全文

一种基于SVC数据特性的P2P流媒体分片及调度方法

技术领域

[0001] 本发明涉及一种流媒体分片及调度方法,更具体的说,尤其涉及一种基于SVC数据特性的P2P流媒体分片及调度方法。

背景技术

[0002] 随着移动互联网的发展和三网融合产业的兴起,终端之间的数据共享将更加频繁与普遍,当前互联网上广泛应用的P2P流媒体技术将获得更大的发展空间,但如何在异构的环境中传输和共享视频数据成为当前P2P流媒体系统所面临的主要问题。为了解决这一问题,多种自适应技术被提出,包括转码(transcoding)、联播(simulcast)、多描述编码(multiple description coding)和可扩展视频编码(SVC,Scalable Video Coding)等。其中SVC由于其高效的编码效率、方便的自适应性和高共享度而成为这一问题的最佳解决方案。
[0003] SVC将视频编码为一个基础层和一个或多个增强层,层间数据在解码时具有向下依赖关系:基础层可独立解码并获得一个基本质量的视频,而某个增强层的解码则需要基础层和所有较低的增强层,并且解码的增强层越多用户观看的视频质量越高。相比于传统的视频编码,在P2P流媒体系统中应用SVC可以获得两方面的好处:一方面,用户能够根据自身情况动态调整下载的增强层数目,从而实现视频质量自适应;另一方面,不同类型的终端之间也可以共享部分层的数据,从而大大提高数据分享效率。如何在P2P流媒体系统中稳定、高效传输SVC视频数据已经成为当前急需解决的问题,本专利主要解决应用于P2P流媒体系统中的SVC数据分片问题。
[0004] 在传统的P2P流媒体系统中,视频数据以分片为单位进行共享:单层视频数据被分为数据量等大小的分片,客户端以一定调度规则确定分片的下载顺序并下载分片,同时客户端每下载完一个分片即可将该分片上传给其他用户。与传统的P2P视频流媒体系统相同,基于SVC的P2P视频流媒体系统也以分片为单位共享数据。然而为了便于视频质量的调整和用户之间的数据共享,SVC视频一般以层为单位进行分片,此时需要考虑的则是层间的同步和协调问题,而传统的数据量等大小的分片方法不能满足这一需求。在基于SVC的P2P视频流媒体系统中多采用时间长度等大小的分片方法:将SVC的各个分层以一定播放时长为单位进行分片,层内每个分片播放时长相同,层间每个分片的播放时长也相同。
[0005] 时间长度等大小分片方法能够满足SVC数据在解码播放时的层间同步需求,然而,播放时长相同的分片在数据量大小上却不相同,尤其是较低层分片的数据量往往会比较高层分片大很多。在丢包率相同的条件下,较大的分片会比较小的分片更容易丢失,尤其是在移动网络这种整体丢包率较高的环境中。对SVC数据来说,由于解码依赖性的存在,较低层分片比较高层分片更加重要,较低层分片的丢失会引起视频质量的显著下降,严重影响用户体验。采用等时长分片方法,不同分层中分片的数据量大小差距很大,这会导致P2P网络系统中数据传输的不稳定。

发明内容

[0006] 本发明为了克服上述技术问题的缺点,提供了一种基于SVC数据特性的P2P流媒体分片及调度方法。
[0007] 本发明的基于SVC数据特性的P2P流媒体分片方法,其特别之处在于,通过以下步骤来实现:
[0008] 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):
[0009]
[0010] 式中,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单元的数目;
[0011] b).求数据量最大层分片包含的GOP数量,通过比较步骤a)中求取的每一层的数据量大小,找出SVC视频各分层中数据量最大的层(d′,t′,q′);通过公式(2)求取数据量最大层(d′,t′,q′)按等时间长度分片时每一个分片所包含的合适画面组GOP数量m(d′,t′,q′):
[0012]
[0013] 式中,m(d′,t′,q′)为数据量最大层(d′,t′,q′)中每一个分片所包含的GOP数量,s(d′,t′,q′)为层(d′,t′,q′)的数据量大小,M为分层后SVC视频的每一层包含的GOP数量,Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小,符号为向上取整;
[0014] c).求除数据量最大层外其余层分片中GOP数量,通过公式(3)求取除数据量最大层(d′,t′,q′)外其余层(d,t,q)中每一个分片所包含的GOP数量m(d,t,q):
[0015]
[0016] 式中,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′,符号 为向上取整;
[0017] 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};
[0018] 前 个分片包含的GOP数量均为m(d,t,q),如果某个层的最后一个分片包含的GOP数量与前面分片包含的GOP数量不相等,其包含的GOP数量为
符号 为向下取整;
[0019] e).基础层二次分片,SVC视频基础层(0,0,0)按照步骤d)进行分片后,判断基础层(0,0,0)的每个分片大小,对于数据量s(Pi)>1.33Z的分片Pi,通过公式(4)和公式(5)进行基于等时间长度的二次分片处理:
[0020]
[0021]
[0022] 式中,Pi,j为对分片Pi进行二次分片处理后得到的第j个子分片,GOPk为分片Pi中的第k个GOP,m(0,0,0)为基础层(0,0,0)进行等时间长度分片时每个分片的GOP数量,Ni为对分片Pi进行二次分片后得到的子分片数量,s(Pi)为分片Pi的数据量大小;Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小;
[0023] f).分片信息的存放,将每层SVC视频数据中包含的分片信息存放于各层的P2P索引信息中,用1个字节的空间存储对层进行等时间长度分片时的时长m(d,t,q),用个字节空间A来表示基础层(0,0,0)进行了等时间长度分片后得到的各个分片进行二次分片的信息,用2个字节的空间来表示每一个分片数据量大小。
[0024] 本发明的基于SVC数据特性的P2P流媒体分片方法,步骤a)中SVC视频的空间分层数目a、时间分层数目b和质量分层数目c的取值与网络宽带和终端能的差异性大小成正比,a∈[1,2],b∈[3,5],c∈[1,2]。
[0025] 本发明的基于SVC数据特性的P2P流媒体分片方法,步骤b)和步骤e)中Z的取值范围为:Z∈[64K,1M]。
[0026] 本发明的基于SVC数据特性的P2P流媒体分片方法,步骤f)中所述的分片信息的存放通过以下步骤来实现:
[0027] 在字节空间A中,每2位表示一个进行了等时间长度分片后得到的分片进行二次分片的信息,00表示未进行二次分片,01、10、11分别表示进行了二次分片后得到的子分片数量为2、3、4,表示进行了二次分片信息的位在字节空间A中的位置次序与分片在视频数据中的存储位置次序相同,字节空间A的有效位数为 位,无效位数为位,无效位用0填充。
[0028] 本发明的基于SVC数据特性的P2P流媒体分片的数据请求调度方法,其特征在于,通过以下步骤来实现:
[0029] 1).客户端选择订阅需要播放的SVC视频分层,获取P2P索引信息;
[0030] 2).当按序播放时,客户端按照播放顺序逐层请求数据分片,具体步骤如下:
[0031] 2-1).首先确定客户端请求播放的SVC视频分层中,对各层进行等时间长度分片时的最上时长mmax(d,t,q),GOP数量与时长对应;
[0032] 2-2).以T为时间周期逐层同步请求数据分片,在第n个同步时间周期内,请求的各层数据分片数为Pcount(d,t,q),其通过公式(6)和公式(7)进行求取:
[0033]
[0034] T=N×mmax(d,t,q)   (7)
[0035] 式中,Pcount(d,t,q)为客户端在请求数据的第n个同步时间周期内,对层(d,t,q)请求的数据分片数,n、N均为正整数,T为请求数据分片的同步时间周期,是各层进行等时间长度分片的最长时长mmax(d,t,q)的整数倍,A(i)为字节空间A中表示层(0,0,0)的第i个分片进行二次分片信息的值;
[0036] 2-3).在同一个时间周期T中所请求的视频分层的全部分片都收到以后,送给解码器解码并播放,同时开始下载后一个时间周期T内的各层数据分片;
[0037] 3).当拖动播放时,在定位到视频的某一时间点t′播放时,客户端根据P2P索引中的分片时间信息定位并请求需要下载的数据分片,具体步骤如下:
[0038] 3-1).首先判断定位到视频的某一时间点t′的视频数据属于哪一个GOP;
[0039] 3-2).获取该GOP处于视频每个分层的第几个分片,其通过公式(8)、公式(9)进行获取:
[0040]
[0041]
[0042] 式中,np为查找的GOP在SVC视频层(d,t,q)中所处的分片位置,ng为时间点t′在SVC视频中所处的GOP位置,m(d,t,q)为SVC视频中层(d,t,q)进行等时间长度分片后每一个分片包含的GOP数量,A(i)为字节空间A中表示层(0,0,0)的第i个分片进行二次分片信息的值。
[0043] 3-3).从SVC视频的各层中依次下载这些分片,得到播放所需要的数据。
[0044] 本发明的有益效果是:本发明的基于SVC数据特性的P2P流媒体分片及调度方法,首先获取SVC视频的分层和每层的数据量大小,然后求取数据量最大层采用等时间长度分片时每个分片所含有的GOP数量,再根据数据量最大层含有的GOP数量确定其余层分片含有的数量,使得各层之间的等时间长度分片具有很大的相关性,有利于保证客户所下载多层数据的同步。通过对基础层中数据量较大的分片进行二次分片,能消除数据量较大的分片,整体上将各层分片的数据量大小差距控制在一定范围内,增强了P2P网络系统中数据传输的稳定性,可有效降低重要性高的基础层数据在网络传输过程中的丢包率,有利于客户获取高质量、稳定的视频画面。附图说明
[0045] 图1为本发明的基于SVC数据特性的P2P流媒体分片方法的流程图
[0046] 图2为除数据量最大层之外的各层分片时间长度求取示意图;
[0047] 图3为除数据量最大层之外的各层等时间长度分片的数据量大小与Z的差值示意图;
[0048] 图4为二次分片信息存储空间示意图;
[0049] 图5为同步周期分片请求示意图。

具体实施方式

[0050] 下面结合附图与实施例对本发明作进一步说明。
[0051] 如图1所示,给出了本发明的基于SVC数据特性的P2P流媒体分片方法的流程图,根据NAL单元头信息对SVC视频分层并求取各层数据量大小,基于P2P系统中分片数据量的合理大小求取SVC视频数据量最大层中等时间长度的分片应包含的GOP数量,基于SVC视频各层与数据量最大层的数据量大小关系求取各层中等时间长度的每个分片包含的GOP数量,根据SVC视频各层每个分片包含的GOP数量对每层进行等时间长度分片,统计SVC视频基础层中每个分片的大小并对数据量较大的分片进行基于等时间长度的二次分片处理,将每层SVC视频的等时间长度分片时长、各分片数据量大小、基础层二次分片信息存放于P2P索引信息中。本发明的基于SVC数据特性的P2P流媒体分片方法,其特征在于,通过以下步骤来实现:
[0052] 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):
[0053]
[0054] 式中,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单元的数目;
[0055] 在实际应用时,应根据网络宽带和终端能力的差异性合理设置a、b、c的值,a、b、c的取值与网络宽带和终端能力的差异性大小成正比,但a、b、c的取值不易过大,否则会增加终端分片调度的复杂性,在异构网络环境下,a∈[1,2],b∈[3,5],c∈[1,2],可满足一般系统的应用。
[0056] b).求数据量最大层分片包含的GOP数量,通过比较步骤a)中求取的每一层的数据量大小,找出SVC视频各分层中数据量最大的层(d′,t′,q′);通过公式(2)求取数据量最大层(d′,t′,q′)按等时间长度分片时每一个分片所包含的合适画面组GOP数量m(d′,t′,q′):
[0057]
[0058] 式中,m(d′,t′,q′)为数据量最大层(d′,t′,q′)中每一个分片所包含的GOP数量,s(d′,t′,q′)为层(d′,t′,q′)的数据量大小,M为分层后SVC视频的每一层包含的GOP数量,Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小,符号为向上取整;
[0059] 通过公式(2)可求取以数据量Z对数据量最大层(d′,t′,q′)进行等数据量大小分片时每个分片平均包含的GOP数量m(d′,t′,q′),m(d′,t′,q′)为精确值向上取整,Z的值取决于系统的网络带宽和各终端能力,在具体实施时,Z∈[64K,1M]。
[0060] c).求除数据量最大层外其余层分片中GOP数量,通过公式(3)求取除数据量最大层(d′,t′,q′)外其余层(d,t,q)中每一个分片所包含的GOP数量m(d,t,q):
[0061]
[0062] 式中,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′,符号 为向上取整;
[0063] 如图2所示,给出了除数据量最大层之外的各层分片时间长度求取示意图,若n∈N时,则 在图2中,当时, 的值为8;如图3所示,给出了除数据量最大层之外的各层等时间长度分片的数据量大小与Z的差值示意图,若层(d,t,q)中每个GOP的数据量相等,以m(d,t,q)为时长对层(d,t,q)进行等时间长度分片,则每个分片的数据量必在[Z-0.33Z,Z+0.33Z],即[0.67Z,1.33Z]之内,在图3中, 时,每个分片的数据量为Z-0.273Z=0.727Z,将各层分片的平均数据量限制在[0.67Z,1.33Z]之间,可降低P2P系统节点中数据量的突发性,提升系统的整体性能;通过公式(3)得到的对每层进行等时间长度分片的GOP数量之间成2n(n∈N)倍数关系,使得客户端请求的SVC视频各层数据之间具有较强的时间相关性,保证了客户端多层数据下载的同步。
[0064] 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};
[0065] 前 个分片包含的GOP数量均为m(d,t,q),如果某个层的最后一个分片包含的GOP数量与前面分片包含的GOP数量不相等,其包含的GOP数量为
符号 为向下取整;
[0066] e).基础层二次分片,SVC视频基础层(0,0,0)按照步骤d)进行分片后,判断基础层(0,0,0)的每个分片大小,对于数据量s(Pi)>1.33Z的分片Pi,通过公式(4)和公式(5)进行基于等时间长度的二次分片处理:
[0067]
[0068]
[0069] 式中,Pi,j为对分片Pi进行二次分片处理后得到的第j个子分片,GOPk为分片Pi中的第k个GOP,m(0,0,0)为基础层(0,0,0)进行等时间长度分片时每个分片的GOP数量,Ni为对分片Pi进行二次分片后得到的子分片数量,s(Pi)为分片Pi的数据量大小;Z为传统未分层编码技术采用等数据量大小分片时P2P流媒体系统中分片的合理大小;
[0070] SVC视频基础层(0,0,0)内GOP的数据量大小各不相同,但对于每一个数据量较大的分片而言,其内部数据量大小分布相比分片之间要更均匀;通过进行最多一分为四的等时间长度二次分片处理,对于采用码率控制技术编码的基础层,能消除数据量较大的分片,对于未采用码率控制技术编码的基础层,能消除大部分数据量较大的分片,且将极少数数据量过大的分片分割为数据量较小的分片;当网络丢包率高时,能够减少因基础层部分分片过大而导致成功传输概率过小的现象,进一步提高重要性高的基础层(0,0,0)在P2P系统中的稳定传输。
[0071] f).分片信息的存放,将每层SVC视频数据中包含的分片信息存放于各层的P2P索引信息中,用1个字节的空间存储对层进行等时间长度分片时的时长m(d,t,q),用个字节空间A来表示基础层(0,0,0)进行了等时间长度分片后得到的各个分片进行二次分片的信息,用2个字节的空间来表示每一个分片数据量大小。
[0072] 如图4所示,给出了二次分片信息存储空间示意图,步骤f)中所述的分片信息的存放通过以下步骤来实现:
[0073] 在字节空间A中,每2位表示一个进行了等时间长度分片后得到的分片进行二次分片的信息,00表示未进行二次分片,01、10、11分别表示进行了二次分片后得到的子分片数量为2、3、4,表示进行了二次分片信息的位在字节空间A中的位置次序与分片在视频数据中的存储位置次序相同,字节空间A的有效位数为 位,无效位数为位,无效位用0填充。
[0074] 一个SVC视频的Torrent文件中记录了每个分片的HSAH校验值,每个HSAH校验值占据的空间大小约为20字节,而Torrent文件中的数据几乎全部是分片HSAH校验值记录,本发明最多使用额外的2+1/4=2.25字节记录每个分片的时间和数据量大小信息,使整个Torrent文件的大小增加了大约11%,而Torrent文件大小通常很少超过1M,所以本发明产生的额外索引数据量也是很小的,Torrent文件又是在文件下载/流媒体播放前从可靠的地方通过C/S传输模式得到的(如在网站上通过FTP下载),下载的速度有足够的保障,因此增加的数据量所造成的性能上的影响很小,可以忽略。
[0075] 本发明的基于SVC的P2P流媒体不等时长分片方法的数据请求调度方法,其特征在于,通过以下步骤来实现:
[0076] 1).客户端选择订阅需要播放的SVC视频分层,获取P2P索引信息;
[0077] 2).当按序播放时,客户端按照播放顺序逐层请求数据分片,具体步骤如下:
[0078] 2-1).首先确定客户端请求播放的SVC视频分层中,对各层进行等时间长度分片时的最上时长mmax(d,t,q),GOP数量与时长对应;
[0079] 2-2).以T为时间周期逐层同步请求数据分片,在第n个同步时间周期内,请求的各层数据分片数为Pcount(d,t,q),其通过公式(6)和公式(7)进行求取:
[0080]
[0081] T=N×mmax(d,t,q)   (7)
[0082] 式中,Pcount(d,t,q)为客户端在请求数据的第n个同步时间周期内,对层(d,t,q)请求的数据分片数,n、N均为正整数,T为请求数据分片的同步时间周期,是各层进行等时间长度分片的最长时长mmax(d,t,q)的整数倍,A(i)为字节空间A中表示层(0,0,0)的第i个分片进行二次分片信息的值;
[0083] 如图5所示,给出了同步周期分片请求示意图,层(0,0,0)在第1个同步时间周期内需要请求8+1+3+2+1=15个分片。
[0084] 2-3).在同一个时间周期T中所请求的视频分层的全部分片都收到以后,送给解码器解码并播放,同时开始下载后一个时间周期T内的各层数据分片;
[0085] 3).当拖动播放时,在定位到视频的某一时间点t′播放时,客户端根据P2P索引中的分片时间信息定位并请求需要下载的数据分片,具体步骤如下:
[0086] 3-1).首先判断定位到视频的某一时间点t′的视频数据属于哪一个GOP;
[0087] 3-2).获取该GOP处于视频每个分层的第几个分片,其通过公式(8)、公式(9)进行获取:
[0088]
[0089]
[0090] 式中,np为查找的GOP在SVC视频层(d,t,q)中所处的分片位置,ng为时间点t′在SVC视频中所处的GOP位置,m(d,t,q)为SVC视频中层9d,t,q)进行等时间长度分片后每一个分片包含的GOP数量,A(i)为字节空间A中表示层(0,0,0)的第i个分片进行二次分片信息的值。
[0091] 3-3).从SVC视频的各层中依次下载这些分片,得到播放所需要的数据。
[0092] 本发明引入未分层编码技术分片的合理数据量大小,对数据量最大层进行等时间长度分片,针对SVC视频各层数据量的巨大差距,以数据量最大层分片的时间长度为基础,引入2的指数函数对SVC视频的各层进行等时间长度分片,实现了各层在时间上的整体同步,并整体上将各层分片的数据量大小差距控制在一定范围内,增强了P2P网络系统中数据传输的稳定性;考虑了基础层在SVC视频中的重要地位,对基础层个别数据量较大的分片进行等时间长度的二次分片,确保基础层在P2P系统中的稳定传输;用2位表示基础层一个进行了等时间长度分片后得到的分片进行二次分片的信息,节省了存储空间,降低了客户端对SVC视频各层同步调度的复杂性,是一种行之有效的基于SVC数据特性的P2P流媒体分片及调度方法。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈