CN103607667A - 一种p2p流媒体系统中的svc视频文件的分片方法 - Google Patents
一种p2p流媒体系统中的svc视频文件的分片方法 Download PDFInfo
- Publication number
- CN103607667A CN103607667A CN201310573949.6A CN201310573949A CN103607667A CN 103607667 A CN103607667 A CN 103607667A CN 201310573949 A CN201310573949 A CN 201310573949A CN 103607667 A CN103607667 A CN 103607667A
- Authority
- CN
- China
- Prior art keywords
- burst
- subfile
- svc
- file
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
技术领域
本发明涉及一种SVC视频文件的分片方法,具体涉及一种P2P流媒体系统中的SVC视频文件的分片方法,属于视频文件处理技术领域。
背景技术
近年来,P2P流媒体技术已经在互联网上取得了巨大成功,在世界范围内获得了广泛的应用。随着移动通信技术和移动设备的发展,P2P技术在移动网络中也即将得到广泛的应用。另外,随着三网融合技术的发展,用户将使用多种终端通过多种网络进行共享和互动,因此,如何实现异构网络中异构终端的P2P交互与共享是一个亟待解决的问题。而SVC(Scalable Video Coding,可扩展视频编码)技术则是这一问题的最佳解决方案。
采用SVC技术时,视频被编码一次即可生成多个分层,包括一个基本层和多个增强层。其中基本层可独立解码,产生一个基本质量的视频。而增强层在基本层解码完成的基础上进行解码,能够在空间、时间和质量三个维度上对视频质量进行扩展。当在P2P系统中应用SVC技术时,不同类型的终端通过获取不同数目的增强层来获得相应质量的视频。同时,由于不同类型终端上各层信息的一致性,获取不同质量视频的终端之间可以实现数据的共享与交互,因此可以大大提高P2P网络数据分发的效率。
在P2P系统中,为了提高数据分发效率并跟踪每个用户都拥有什么,文件被分为分片在网络中传输。为了充分发挥SVC的优势,当对SVC视频数据进行分片时也需要采用与单层视频数据不同的分片方法。在传统的P2P系统中,单层视频数据一般被分为等大小的分片在网络中分发,客户端每接收到一个分片即可对分片进行解码播放,并获得单一质量的视频。然而为了便于视频质量的调整和用户之间的数据共享,SVC视频一般以层为单位进行分片,此时需要考虑的则是层间的同步和协调问题,而传统的等大小的分片方法不能满足这一需求。目前针对SVC格式的视频,研究者多采用基于时长的分片方法,即将SVC视频数据的各层以特定的播放时长进行分片,以便于层间数据的同步。然而,由于此时各分片的数据量大小各不相等,为了实现分片的传输与校验,服务器需要将各分片的大小信息进行统计并分发给每个客户端,因此会增大服务器和网络的开销,影响视频的同步与协调质量。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供一种降低服务器和网络开销、提高视频的同步和协调质量的P2P流媒体系统中的SVC视频文件的分片方法。
技术方案:本发明所述的一种P2P流媒体系统中的SVC视频文件的分片方法,所述SVC视频文件被封装为至少一个NAL单元,每个NAL单元包括一个原始字节序列负载RBSP和一组对应于视频编码的NAL头信息,所述NAL头信息中包括空间层标识值D、时间层标识值T、质量层标识值Q,所述分片方法包括如下步骤;
S1、读取SVC视频数据,在NAL头信息中提取三元组值(D,T,Q),将三元组值(D,T,Q)相等的NAL单元存储在同一子文件中,同时统计并存储每个子文件的文件大小C(i,j,k),其中,(i,j,k)的取值对应(D,T,Q)的值;
S2、将每个子文件均分为N个分片,预设每个分片的最大取值为Smax,最小取值为Smin,则分片数N为符合下式的任意一个整数:且每个子文件中的分片数N相等;
S3、根据步骤S2中计算得到的分片数N,对每个子文件进行分片,每个分片的大小为并且采用数据填充的方式使每个子文件中的每个分片大小相等。
本发明技术方案的进一步限定为,所述SVC视频文件为JSVM编码文件,其存储格式为H.264/AVC,JSVM编码、H.264/AVC格式的文件,是目前P2P流媒体系统中常用的SVC视频文件,也是在视频的同步和协调中对服务器和网络开销最大的SVC视频文件,此种SVC视频文件的分片是本领域技术人员急需解决却又一直无法克服的技术问题。
进一步地,所述SVC视频文件包括非视频数据,在步骤S1中,对于所述非视频数据存储于三元组值(D,T,Q)为(0,0,0)的子文件中。SVC视频文件通常包括包括一个基本层和多个增强层,基本层的三元组值(D,T,Q)为(0,0,0),因此,非视频数据存储于基本层所在的子文件中,不影响视频数据的播放,进一步节约网络开销。
进一步地,步骤S1中,统计子文件的文件大小的方法为:累计存储于该子文件中的每个NAL单元的大小,对子文件的大小的计算方法有很多,但是,因为每个NAL单元的头信息中均存储了该NAL单元的大小,直接获取此数据进行累加,取得的子文件的大小精准,并且节约的计算量,加快的分片的速度。
进一步地,步骤S3中,采用数据填充的方式使每个子文件中的每个分片大小相等的方法为:将每个子文件从头开始进行分片,每个分片的大小为当最后一个分片大小小于S(i,j,k)时,在该视频信息的尾部增加内容为0的字节,使该分片大小等于S(i,j,k),采用在最后一个分片处进行数据填充的方法,既保证了每个分片的大小相等,又减少了视频数据的繁冗,保证了视频数据重组的准确及播放的流畅。
有益效果:为了解决以上问题,本发明提出了一种P2P流媒体系统中的SVC视频文件的分片方法,将每个子文件内分片大小相等,实现层间数据的同步性,同时,使所有子文件的分片数目相同,减轻服务器负担和网络开销,提高视频的同步和协调质量;本发明的方法算法简单,需要参数少,处理速度快,并且数值精确,不需要大量植入代码,便于网络应用。
附图说明
图1为本发明提供的一种P2P流媒体系统中的SVC视频文件的分片方法的流程图;
图2为本发明所述的SVC视频文件的NAL单元的图像的编码顺序示意图;
图3为本发明所述的SVC视频文件的NAL单元的分片过程示意图;
图4为本发明所述的分片后的SVC视频文件的重组示意图;
图5为本实施例中视频片段1分片结果示意图;
图6为本实施例中视频片段2分片结果示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例:本实施例的方法针对的SVC视频文件为JSVM编码文件,其存储格式为H.264/AVC,JSVM编码、H.264/AVC格式的文件,因为此类型的文件是目前P2P流媒体系统中常用的SVC视频文件,也是在视频的同步和协调中对服务器和网络开销最大的SVC视频文件,此种SVC视频文件的分片是本领域技术人员急需解决却又一直无法克服的技术问题。
使用JSVM编码后的SVC视频文件在传输或存储之前首先被映射或封装进NAL(NetworkAbstract Layer)单元,每个NAL单元包括一个原始字节序列负载RBSP(Raw Byte SequencePayload)和一组对应于视频编码的NAL头信息,所述NAL头信息中包括空间层标识值D、时间层标识值T、质量层标识值Q。因此,整体上看,一个H.264/SVC格式的视频文件格式如表1所示:
表1:
NAL中存储的视频信息的顺序与图像编码顺序一致,NAL单元的图像编码顺序如图2所示,一个GOP(Group ofPicture)中图像的编码顺序如图2中的序号所示,此时编码后的视频文件中图像信息的顺序如表2所示:
表2:
当在P2P流媒体系统中应用SVC技术之后,为了便于客户端调节视频质量(即增减请求的增强层数目)和提高视频数据的分享效率,需要将属于同一分层的视频数据存储在一个子文件中。
针对上述类型的SVC视频文件,本实施例提供一种P2P流媒体系统中的SVC视频文件的分片方法,包括如下步骤;
S1、读取SVC视频数据,在NAL头信息中提取三元组值(D,T,Q),将三元组值(D,T,Q)相等的NAL单元存储在同一子文件中,同时统计并存储每个子文件的文件大小C(i,j,k),其中,(i,j,k)的取值对应(D,T,Q)的值。
所述SVC视频文件包括非视频数据,在步骤S1中,对于所述非视频数据存储于三元组值(D,T,Q)为(0,0,0)的子文件中。SVC视频文件通常包括包括一个基本层和多个增强层,基本层的三元组值(D,T,Q)为(0,0,0),因此,非视频数据存储于基本层所在的子文件中,不影响视频数据的播放,进一步节约网络开销。
统计子文件的文件大小的方法为:累计存储于该子文件中的每个NAL单元的大小,对子文件的大小的计算方法有很多,但是,因为每个NAL单元的头信息中均存储了该NAL单元的大小,直接获取此数据进行累加,取得的子文件的大小精准,并且节约的计算量,加快的分片的速度。
一般而言,分片越小,数据在P2P网络中的分发效率越高,客户端播放的流畅性越好,然而网络传输开销越大。反之,分片越大,网络开销降低,但是数据分发效率也低。为了在网络传输开销和数据分发效率之间取得平衡,设定最大取值Smax,最小取值Smin,从而计算得到事宜的每个子文件中的分片数N。
本实施例中,采用数据填充的方式使每个子文件中的每个分片大小相等的方法为:将每个子文件从头开始进行分片,每个分片的大小为当最后一个分片大小小于S(i,j,k)时,在该视频信息的尾部增加内容为0的字节,使该分片大小等于S(i,j,k),采用在最后一个分片处进行数据填充的方法,既保证了每个分片的大小相等,又减少了视频数据的繁冗,保证了视频数据重组的准确及播放的流畅。
本实施例中SVC视频文件的NAL单元的分片过程示意图如图3所示。
SVC视频文件分片之后,系统记录S(i,j,k),并将所有S(i,j,k)值连同参数N一同写入P2P流媒体系统的torrent文件中,分发给客户端。客户端接收到分片的SVC视频文件后,为了与目前的解码器兼容,需要将接收到的多个子文件重组之后才能进行解码播放。视频文件的重组过程示意图如图4所示,根据客户端需求和接收到的分层情况重组视频数据,然后将重组后的视频数据送入解码器解码。
据统计,在同一子文件内,各帧数据量大小相差相对较小,因此当将某一子文件分为相等大小的分片时,各分片的播放时长相差不大。如果各子文件均分为相等数目的分片,则分片的播放时长近似相等,此时根据分片的序号可以实现近似的层间数据同步。需要指出的是,由于此时各层内分片大小相等,则服务器只需采集各层分片大小并分发给客户端,因此对服务器和网络的开销大大降低。
为验证本发明提出方法的有效性,使用本发明所提分片算法对三个SVC格式的视频文件进行分片。这三个视频文件具有不同的特性,其中前两个视频片段内容较为平缓,图像间变化幅度较小,第三个视频片段内容切换较频繁,运动比较剧烈。将第一和第三个视频片段每层分为30个分片,而第二个视频片段每层分为20个分片。
首先对比本专利所提算法与等大小和基于时长的分片算法的网络开销。使用等大小分片算法时,为了实现层间数据同步,需要记载每个分片的时间信息。假设存储每个分片的时间戳信息需要2个字节,则用来记载第一个视频片段中分片的时间戳信息需要540字节(2×30×9=540,其中30为每层分片个数,9为总层数)。使用基于时长的分片算法时,需要记录每个分片的大小信息,假设存储每个分片大小信息也需要2个字节,则用来记录所有分片大小信息也是需要540字节。假设网络中有10000个用户,时间戳信息或分片大小信息需要分发给每个用户,此时这些信息需要占用的网络资源为5.4M字节。需要指出的是,该视频片段的播放时长仅为5分钟,如果按播放时长为120分钟来算,这些额外信息占用的网络资源会非常多。当使用本专利所提算法时,只需记录各层分片大小和各层分片片数。假设各层分片大小用2字节表示,记载各层分片片数也需要2字节,则需要记录额外信息的空间为20(2×9+2=20,其中9为总层数)字节,相比于其他两种算法的540字节大大减小。当网络节点数越多时,本发明节省的网络资源也就越多,优势就越明显。
其次,通过实验来验证本专利算法产生分片的层间同步性。两个视频片段的分片结果分别如图5、6所示。图中横坐标为分片序号,纵坐标为每个分片中包含的第一帧的序号。从图5可以看出,当视频内容变化较为平缓时,各层中序号相同的分片中包含的帧数基本一致,此时采用分片的顺序号进行层间数据同步可以实现良好的性能。从图6可以看出,当视频内容变化较为剧烈时,不同层中序号相同的分片中包含的帧数稍有差别,但差距不大,因此采用分片顺序号进行层间数据同步的性能可以接受。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (5)
1.一种P2P流媒体系统中的SVC视频文件的分片方法,所述SVC视频文件被封装为至少一个NAL单元,每个NAL单元包括一个原始字节序列负载RBSP和一组对应于视频编码的NAL头信息,所述NAL头信息中包括空间层标识值D、时间层标识值T、质量层标识值Q,其特征在于,所述分片方法包括如下步骤;
S1、读取SVC视频数据,在NAL头信息中提取三元组值(D,T,Q),将三元组值(D,T,Q)相等的NAL单元存储在同一子文件中,同时统计并存储每个子文件的文件大小C(i,j,k),其中,(i,j,k)的取值对应(D,T,Q)的值;
2.根据权利要求1所述的一种P2P流媒体系统中的SVC文件的分片方法,其特征在于,所述SVC视频文件为JSVM编码文件,其存储格式为H.264/AVC。
3.根据权利要求1所述的一种P2P流媒体系统中的SVC文件的分片方法,其特征在于,所述SVC视频文件包括非视频数据,在步骤S1中,对于所述非视频数据存储于三元组值(D,T,Q)为(0,0,0)的子文件中。
4.根据权利要求1所述的一种P2P流媒体系统中的SVC文件的分片方法,其特征在于,步骤S1中,统计子文件的文件大小的方法为:累计存储于该子文件中的每个NAL单元的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573949.6A CN103607667A (zh) | 2013-11-15 | 2013-11-15 | 一种p2p流媒体系统中的svc视频文件的分片方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573949.6A CN103607667A (zh) | 2013-11-15 | 2013-11-15 | 一种p2p流媒体系统中的svc视频文件的分片方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103607667A true CN103607667A (zh) | 2014-02-26 |
Family
ID=50125864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310573949.6A Pending CN103607667A (zh) | 2013-11-15 | 2013-11-15 | 一种p2p流媒体系统中的svc视频文件的分片方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103607667A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105307050A (zh) * | 2015-10-26 | 2016-02-03 | 何震宇 | 一种基于hevc的网络流媒体应用系统及方法 |
CN106658229A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN106658228A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN106658230A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN107094141A (zh) * | 2017-04-28 | 2017-08-25 | 山东交通学院 | 一种p2p流媒体系统中的svc视频文件分片及调度方法 |
CN107124414A (zh) * | 2017-04-28 | 2017-09-01 | 山东交通学院 | 一种基于svc数据特性的p2p流媒体分片及调度方法 |
CN107135215A (zh) * | 2017-04-28 | 2017-09-05 | 山东易构软件技术股份有限公司 | 一种基于svc的p2p流媒体不等时长分片及调度方法 |
CN109246185A (zh) * | 2018-07-31 | 2019-01-18 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761776A (zh) * | 2012-08-01 | 2012-10-31 | 重庆大学 | 基于SVC的P2PVoD系统的视音频同步方法 |
-
2013
- 2013-11-15 CN CN201310573949.6A patent/CN103607667A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761776A (zh) * | 2012-08-01 | 2012-10-31 | 重庆大学 | 基于SVC的P2PVoD系统的视音频同步方法 |
Non-Patent Citations (2)
Title |
---|
乐阳: "《应用可伸缩视频编码技术的P2P流媒体分片算法研究》", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
宋俊平等: "《考虑SVC数据特性的P2P流媒体分片算法》", 《高技术通讯》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105307050A (zh) * | 2015-10-26 | 2016-02-03 | 何震宇 | 一种基于hevc的网络流媒体应用系统及方法 |
CN105307050B (zh) * | 2015-10-26 | 2018-10-26 | 何震宇 | 一种基于hevc的网络流媒体应用系统及方法 |
CN106658229A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN106658228A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN106658230A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN107094141A (zh) * | 2017-04-28 | 2017-08-25 | 山东交通学院 | 一种p2p流媒体系统中的svc视频文件分片及调度方法 |
CN107124414A (zh) * | 2017-04-28 | 2017-09-01 | 山东交通学院 | 一种基于svc数据特性的p2p流媒体分片及调度方法 |
CN107135215A (zh) * | 2017-04-28 | 2017-09-05 | 山东易构软件技术股份有限公司 | 一种基于svc的p2p流媒体不等时长分片及调度方法 |
CN107094141B (zh) * | 2017-04-28 | 2020-06-02 | 山东交通学院 | 一种p2p流媒体系统中的svc视频文件分片及调度方法 |
CN107135215B (zh) * | 2017-04-28 | 2020-08-11 | 山东易构软件技术股份有限公司 | 一种基于svc的p2p流媒体不等时长分片及调度方法 |
CN109246185A (zh) * | 2018-07-31 | 2019-01-18 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
CN109246185B (zh) * | 2018-07-31 | 2021-03-12 | Oppo广东移动通信有限公司 | 文件下载方法及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103607667A (zh) | 一种p2p流媒体系统中的svc视频文件的分片方法 | |
EP2387241A1 (en) | Grid encoded media asset data | |
EP3095247B1 (en) | Robust live operation of dash | |
WO2018014523A1 (zh) | 一种媒体数据的获取方法和装置 | |
US20150095450A1 (en) | Utilizing multiple switchable adaptation sets for streaming media data | |
CN101917613A (zh) | 一种流媒体采集编码服务系统 | |
KR20150131175A (ko) | Http를 통한 동적 적응형 스트리밍에서 미디어 세그먼트들의 손실 존재시의 회복력 | |
WO2019128668A1 (zh) | 视频码流处理方法、装置、网络设备和可读存储介质 | |
US11223841B2 (en) | Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image | |
CN110740334A (zh) | 一种帧级别的应用层动态fec编码方法 | |
WO2023142716A1 (zh) | 编码方法、实时通信方法、装置、设备及存储介质 | |
CN111193936B (zh) | 视频流传输方法、装置、电子设备及计算机可读存储介质 | |
US20210352347A1 (en) | Adaptive video streaming systems and methods | |
Zeng et al. | TVSR‐OR: Tile‐based 360‐degree video streaming over real time streaming protocol with optimized read | |
Gürler et al. | Peer-to-peer system design for adaptive 3D video streaming | |
CN116634151A (zh) | 视频处理方法、装置、计算机设备、存储介质及程序产品 | |
CN102158696A (zh) | 一种基于扩展窗喷泉码的立体视频传输方法 | |
WO2023071469A1 (zh) | 视频处理方法、电子设备及存储介质 | |
CN109451293A (zh) | 一种开放基站计算能力的自适应立体视频传输方法 | |
CN103918258A (zh) | 减少视频编码中的数据量 | |
Li et al. | Soft transmission of 3D video for low power and low complexity scenario | |
CN107094141B (zh) | 一种p2p流媒体系统中的svc视频文件分片及调度方法 | |
Quinlan et al. | ALD: adaptive layer distribution for scalable video | |
Liu et al. | Scalable 3D video streaming over P2P networks with playback length changeable chunk segmentation | |
US10271075B2 (en) | Cloud encoding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140226 |
|
RJ01 | Rejection of invention patent application after publication |