基于svc的p2p流媒体系统中的数据分片传输、调度方法及系统的制作方法

文档序号:7988613阅读:188来源:国知局
基于svc的p2p流媒体系统中的数据分片传输、调度方法及系统的制作方法
【专利摘要】本发明涉及基于SVC的P2P流媒体系统中的数据分片传输、调度方法及系统,所述数据分片传输方法包含:步骤101)将基于SVC的P2P视频流媒体系统中的基础层及增强层的各层数据以数据大小为单位进行等分,得到若干等分数据片;步骤102)依据如下步骤为上述等分数据片添加时间标签,并将等分数据片和为各等分数据片添加的时间标签相联合后进行传输:步骤102-1)将每层数据以解码为单位划分成若干PTU,即一个PTU对应分层中的一个解码单位,并对每层的PTU按照播放的时间顺序依次编号,形成PTU的序列号;步骤102-2)依据播放时间单位PTU为各等分数据片添加时间标签PTUSeq-inSeq,时间标签中的“PTUSeq”表示该等分数据片所属的PTU的序列号,inSeq表示该等分数据片在所属PTU的所有分片中的序列号。
【专利说明】基于SVC的P2P流媒体系统中的数据分片传输、调度方法及系统
【技术领域】
[0001]本发明涉及计算机网络、多媒体通信和P2P技术,具体涉及一种基于SVC的P2P流媒体系统中的数据分片传输、调度方法及系统。
【背景技术】
[0002]将可扩展视频编码(SVC, Scalable Video Coding)技术与P2P技术相结合可以方便地实现异构终端之间的视频数据共享。SVC将视频编码为一个基础层和一个或多个增强层,层间数据在解码时具有向下依赖关系:基础层可独立解码并获得一个基本质量的视频,而某个增加层的解码则需要基础层和所有较低的增强层,并且解码的增强层越多用户观看的视频质量越高。相比于传统的视频编码,在P2P流媒体系统中应用SVC可以获得两方面的好处:一方面,用户能够根据自身情况动态调整下载的增强层数目,从而实现视频质量自适应;另一方面,不同类型的终端之间也可以共享部分层的数据,从而大大提高数据分享效率。如何在P2P流媒体系统中传输SVC视频数据已经成为当前的研究的热点,本专利主要解决应用于P2P流媒体系统中的SVC数据分片问题。
[0003]在传统的P2P流媒体系统中,视频数据以分片为单位进行共享:单层视频数据被分为等大小的分片,客户端以一定调度规则确定分片的下载顺序并下载分片,同时客户端每下载完一个分片即可将该分片上传给其他用户。与传统的P2P视频流媒体系统相同,基于SVC的P2P视频流媒体系统也以分片为单位共享数据。不同的是,为了便于层间数据同步,在基于SVC的P2P视频流媒体系统中多采用基于播放时长的分片方法:将SVC的各个分层以一定播放时长为单位进行分片,层内每个分片播放时长相同,层间每个分片的播放时长也相同。这种分片方法被称为等时长分片。
[0004]综上所述,现有技术的等大小分片方法实现方法简单,但却不能满足SVC数据在解码播放时的层间同步需求。等时长分片能够满足SVC数据在解码播放时的层间同步需求,然而,播放时长相同的分片在数据量大小上却不相同。最新的研究表明,等时长分片方法产生的SVC分片在数据量大小上差距巨大,尤其是较低层分片的数据量往往会比较高层分片大很多。在丢包率相同的条件下,较大的分片会比较小的分片更容易丢失,尤其是在移动网络这种整体丢包率较高的环境中。对SVC数据来说,由于解码依赖性的存在,较低层分片比较高层分片更加重要,较低层分片的丢失会引起视频质量的显著下降,严重影响用户体验。因此,现有的基于SVC的P2P视频流媒体系统中的等时长分片方法存在着较底层分片容易丢失从而导致接收端视频质量下降的缺点。

【发明内容】

[0005]本发明的目的在于,为克服上述问题本发明提供了一种基于SVC的P2P流媒体系统中的数据分片传输、调度方法及系统。
[0006]为实现上述目的,本发明提供了一种基于SVC的P2P视频流媒体系统中数据分片传输方法,所述方法包含:
[0007]步骤101)将基于SVC的P2P视频流媒体系统中的基础层及增强层的各层数据以数据大小为单位进行等分,得到若干等分数据片;
[0008]步骤102)依据如下步骤为上述等分数据片添加时间标签,并将等分数据片和为各等分数据片添加的时间标签相联合后进行传输:
[0009]步骤102-1)将每层数据以解码为单位划分成若干PTU,即一个PTU对应分层中的一个解码单位,并对每层的PTU按照播放的时间顺序依次编号,形成PTU的序列号;
[0010]其中,PTU为播放时间单位;
[0011]步骤102-2)依据播放时间单位PTU为各等分数据片添加时间标签PTUSeq-1nSeq,所述时间标签中的“PTUSeq”表示该等分数据片所属的PTU的序列号,inSeq表示该等分数据片在所属PTU的所有分片中的序列号。
[0012]上述步骤101)和102)之间还包含:
[0013]获取每个等分数据片的播放时间的步骤。
[0014]每个分层在逻辑上被划分为相等数量的PTU,而不同分层中具有相同序列号的PTU则作为一个完整的解码播放单位。
[0015]上述时间标签信息存放于视频的索引信息中。
[0016]本发明还提供一种基于上述的数据分片传输方法的数据请求调度方法,所述方法包含:
[0017]步骤101)客户端通过P2P索引信息,获知每个分片的时间标签;
[0018]步骤102)当按序播放时,客户端根据时间标签逐层请求数据,具体方法是:在每一层内,根据时间标签按照PTUSeq从小到大的顺序请求数据分片;在同一个PTU内,按照inSeq从小到大的顺序请求数据分片;步骤103)当拖动播放时,在定位到视频的某一时间点播放时,客户端根据时间标签定位并请求需要下载的数据,具体方法是:首先判断定位到视频的某一时间点的视频数据属于哪一个PTU,然后逐层请求该PTU内的所有数据分片以及前一个PTU内的最后一个数据分片。
[0019]此外,本发明还提供了一种基于SVC的P2P视频流媒体系统中数据分片传输系统,所述系统包含:
[0020]等分模块,用于将基于SVC的P2P视频流媒体系统中的基础层及增强层的各层数据以数据大小为单位进行等分,得到若干等分数据片;
[0021]时间标签生成模块,该模块用于为等分模块得到的各等分片添加时间标签,所述的时间标签的生成测量为:
[0022]步骤102-1)将每层数据以解码为单位划分成若干PTU,即一个PTU对应分层中的一个解码单位,并对每层的PTU按照播放的时间顺序依次编号,形成PTU的序列号;
[0023]其中,PTU为播放时间单位;
[0024]步骤102-2)依据播放时间单位PTU为各等分数据片添加时间标签PTUSeq-1nSeq,所述时间标签中的“PTUSeq”表示该等分数据片所属的PTU的序列号,inSeq表示该等分数据片在所属PTU的所有分片中的序列号。
[0025]上述系统还包含:
[0026]播放时间获取模块,用于获取每个等分数据片的播放时间,并将获得的时间提供给时间标签生成模块。
[0027]每个分层在逻辑上被划分为相等数量的PTU,而不同分层中具有相同序列号的PTU则作为一个完整的解码播放单位。
[0028]上述时间标签信息存放于视频的索引信息中。
[0029]与现有技术相比,本发明的技术优势在于:
[0030]本发明提出了一种全新的带时间标签的等大小分片方法,该方法避免了现有技术单纯采用等大小分片方法和等时长分片方法的不足,能够在满足SVC数据层间同步需求的同时,解决等时长分片方法引起的较底层分片容易丢失的问题,从而提高较低层分片的传输成功率,保证了用户的观看体验。
[0031]总之,与传统的等大小分片方法相比,带时间标签的等大小分片方法通过提供每个分片的播放时间信息,能够满足SVC数据在解码和播放时的层间同步;与流行的等时长分片方法相比,带时间标签的等大小分片方法能够解决较底层分片容易丢失的问题,从而提高较低层分片的传输成功率,保证了用户的观看体验;
【专利附图】

【附图说明】
[0032]图1为本发明产生的带时间标签的分片。
[0033]图2为本发明生成等分数据片的时间标签方法的流程图;
[0034]图3是本发明提供的基于带时间标签的数据片的请求调度方法的流程示意图。
【具体实施方式】
[0035]下面结合附图和【具体实施方式】对本发明的技术方案进行详细阐述。
[0036]本发明提出的带时间标签的等大小分片方法的实现方法如图2所示,具体包含如下四个步骤:
[0037]I)将SVC视频中的数据依照其分层的不同分离开;
[0038]2)将每一层的数据分为等大小的分片;
[0039]3)对原SVC视频进行分析,得到所有分片的播放时间信息;
[0040]4)为每一个分片加上时间标签,存放在P2P索引信息中。
[0041]实现带时间标签的等大小分片方法的关键在于如何为每个分片产生时间标签。本发明定义一个概念名为PTU(Playback Time Unit,播放时间单位),一个PTU包含固定数量GOP中的数据,可被视为分层中的一个解码单位。实际上,PTU类似于等时长分片方法产生的分片。在本发明中,每个分层可以在逻辑上被划分为相等数量的PTU,而不同分层中具有相同序列号的PTU则可被视为构成了一个完整的解码播放单位。直观地,在每个分层中,一个PTU可能包含一个以上的分片,而一个分片也可能跨越一个以上的PTU。因此本发明作如下规定,“某个分片属于某个PTU”是指该分片的起始位置位于该PTU中,而“某个PTU中的分片”则是指所有属于该PTU的分片。于是,可以使用PTUSeq-1nSeq作为分层中某个分片的时间标签,其中PTUSeq表不该分片所属PTU的序列号,inSeq表不该分片在所属PTU的所有分片中的序列号。例如,假设一个分片的起始位置位于第i个PTU,而它是这个PTU中的第j个分片,那么它的时间标签就是i_j。
[0042]在本发明中,在为每个分片添加时间标签之前,必须知道每个分片的播放时间信息。这些信息可以通过分析原始的SVC视频获得。只要确定了 PTU长度和分片大小,每个分片的播放时间信息也就能随之确定。
[0043]图1给出了本发明所产生的带时间标签分片的一个例子。在图1中,长方块代表等大小的分片,长方块上方的尺标和数字分别表示PTU的起始位置和序列号。每个分片的时间标签显示在每个长方块中。根据这些时间标签,可以得知这些等大小分片的播放时间信息。例如,O层中的时间标签2-1表示该分片是基础层中的第3个PTU中的第2个分片。根据这些播放时间信息,分片调度算法就能够很好地解决不同层间等大小分片的同步问题。
[0044]具体的分片调度方法如图3所示,具体描述如下:
[0045]a)客户端通过P2P索引信息,获知每个分片的时间标签信息。
[0046]b)在正常播放时,客户端根据时间标签信息逐层请求数据,具体方法是:在每一层内,根据时间标签信息按照PTUSeq从小到大的顺序请求数据分片;在同一个PTU内,按照-1nSeq从小到大的顺序请求数据分片。
[0047]c)在定位到视频的某一时间点播放时,客户端根据时间标签信息定位并请求需要下载的数据,具体方法是:首先判断该属于哪一个PTU,然后逐层请求标签为该PTU内的所有数据分片以及前一个PTU内的最后一个数据分片。比如,对于图1中的基础层数据分片,当定位到属于第3个PTU的时间点时,则应该请求标签为“0-1 ”和“ 2-0 ”、“ 2-1 ”和“ 2-2 ”的数据分片。
[0048]在P2P内容共享系统中,客户端在下载一个内容文件之前会先获取其索引信息。例如,在BitTorrent中,一个内容文件的.torrent文件包含着内容描述,文件名,MD5校验和,分片的序列号和HSAH校验值等信息。客户端会先获取.torrent文件,再根据索引信息调度分片下载过程。现有的基于SVC的P2P流媒体系统也采取这样的机制,使用.torrent文件来储存和发布P2P索引信息。
[0049]在本发明中,分片的时间标签也将添加到视频的索引信息中。显然,添加这些时间标签会增加索引信息的数据量,即.torrent文件的大小。通过对许多SVC视频文件的分析,发现每个时间标签信息的大小可被设为3个字节,其中2字节用来储存PTUSeq值,剩余I字节用来储存inSeq值。这样的设置能够提供足够大小的空间以满足大部分SVC视频文件的需要。如前所述,一个SVC视频的.torrent文件中记录了每个分片的HSAH校验值,每个HSAH校验值占据的空间大小约为20字节,而.torrent文件中的数据几乎全部是分片HSAH校验值记录。因此,使用额外的3字节记录每个分片的时间标签将只不过使整个.torrent文件的大小增加了大约15%。考虑到.torrent文件通常都很小(几十到几百个千字节),所以本发明产生的时间标签的数据量也是很小的,几乎不会对P2P流媒体系统中的数据分发产生影响。
[0050]需要说明的是,以上介绍的本发明的实施方案提供的是P2P SVC流媒体系统中带时间标签的等大小分片方法可以运行的一种方法,该实施例的说明只是用于帮助理解本发明的方法及其核心思想而并非限制。本领域的一般技术人员应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围内。
【权利要求】
1.一种基于SVC的P2P视频流媒体系统中数据分片传输方法,所述方法包含: 步骤101)将基于SVC的P2P视频流媒体系统中的基础层及增强层的各层数据以数据大小为单位进行等分,得到若干等分数据片; 步骤102)依据如下步骤为上述等分数据片添加时间标签,并将等分数据片和为各等分数据片添加的时间标签相联合后进行传输: 步骤102-1)将每层数据以解码为单位划分成若干PTU,即一个PTU对应分层中的一个解码单位,并对每层的PTU按照播放的时间顺序依次编号,形成PTU的序列号; 其中,PTU为播放时间单位; 步骤102-2)依据播放时间单位PTU为各等分数据片添加时间标签PTUSeq-1nSeq,所述时间标签中的“PTUSeq”表示该等分数据片所属的PTU的序列号,inSeq表示该等分数据片在所属PTU的所有分片中的序列号。
2.根据权利要求1所述的基于SVC的P2P视频流媒体系统中数据分片传输方法,其特征在于,所述步骤101)和102)之间还包含: 获取每个等分数据片的播放时间的步骤。
3.根据权利要求1所述的基于SVC的P2P视频流媒体系统中数据分片传输方法,其特征在于,每个分层在逻辑上被划分为相等数量的PTU,而不同分层中具有相同序列号的PTU则作为一个完整的解码播放单位。
4.根据权利要求1所述的基于SVC的P2P视频流媒体系统中数据分片传输方法,其特征在于,所述时间标签信息存放于视频的索引信息中。
5.一种基于权利要求1所述的数据分片传输方法的数据请求调度方法,所述方法包含:步骤101)客户端通过P2P索引信息,获知每个分片的时间标签; 步骤102)当按序播放时,客户端根据时间标签逐层请求数据,具体方法是:在每一层内,根据时间标签按照PTUSeq从小到大的顺序请求数据分片;在同一个PTU内,按照inSeq从小到大的顺序请求数据分片;步骤103)当拖动播放时,在定位到视频的某一时间点播放时,客户端根据时间标签定位并请求需要下载的数据,具体方法是:首先判断定位到视频的某一时间点的视频数据属于哪一个PTU,然后逐层请求该PTU内的所有数据分片以及前一个PTU内的最后一个数据分片。
6.一种基于SVC的P2P视频流媒体系统中数据分片传输系统,所述系统包含: 等分模块,用于将基于SVC的P2P视频流媒体系统中的基础层及增强层的各层数据以数据大小为单位进行等分,得到若干等分数据片; 时间标签生成模块,该模块用于为等分模块得到的各等分片添加时间标签,所述的时间标签的生成测量为: 步骤102-1)将每层数据以解码为单位划分成若干PTU,即一个PTU对应分层中的一个解码单位,并对每层的PTU按照播放的时间顺序依次编号,形成PTU的序列号; 其中,PTU为播放时间单位; 步骤102-2)依据播放时间单位PTU为各等分数据片添加时间标签PTUSeq-1nSeq,所述时间标签中的“PTUSeq”表示该等分数据片所属的PTU的序列号,inSeq表示该等分数据片在所属PTU的所有分片中的序列号。
7.根据权利要求6所述的基于SVC的P2P视频流媒体系统中数据分片传输系统,其特征在于,所述系统还包含: 播放时间获取模块,用于获取每个等分数据片的播放时间,并将获得的时间提供给时间标签生成模块。
8.根据权利要求6所述的基于SVC的P2P视频流媒体系统中数据分片传输系统,其特征在于,每个分层在逻辑上被划分为相等数量的PTU,而不同分层中具有相同序列号的PTU则作为一个完整的解码播放单位。
9.根据权利要求6所述的基于SVC的P2P视频流媒体系统中数据分片传输系统,其特征在于,所述时间标签信息存放于视频的索引信息中。
【文档编号】H04N21/63GK103905918SQ201210589996
【公开日】2014年7月2日 申请日期:2012年12月28日 优先权日:2012年12月28日
【发明者】乐阳, 张棪, 周旭, 白帆, 宋俊平 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1