CN103167319A - 一种流媒体的传送处理方法、装置及*** - Google Patents
一种流媒体的传送处理方法、装置及*** Download PDFInfo
- Publication number
- CN103167319A CN103167319A CN2011104232288A CN201110423228A CN103167319A CN 103167319 A CN103167319 A CN 103167319A CN 2011104232288 A CN2011104232288 A CN 2011104232288A CN 201110423228 A CN201110423228 A CN 201110423228A CN 103167319 A CN103167319 A CN 103167319A
- Authority
- CN
- China
- Prior art keywords
- resource
- terminal
- data block
- video resource
- request
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的实施例公开了一种流媒体的传送处理方法、装置及***,涉及视频编码领域,解决了现有技术中SVC技术流媒体的传送处理方法无法实现资源分享的技术问题。本发明的方法主要包括:接收到来自资源拥有节点的视频资源的至少一个AU数据块;从AU数据块中解析出AU数据块的层次标识和时间段头字节标识;根据时间段头字节标识和层次标识更新用于记录视频资源已获取的资源状况的位图信息表;根据位图信息表中的记录确定缺少的AU数据块,并向资源拥有节点请求。本发明实施例主要用于流媒体资源共享。
Description
技术领域
本发明涉及视频编码领域,尤其涉及一种流媒体的传送处理方法、装置及***。
背景技术
SVC(Scalable Vedio Coding,可伸缩视频编码)技术是依据时域可伸缩性、空域可伸缩性、质量可伸缩性三个维度,对输入流媒体流的每一帧进行分层编码,同一个原始帧最终编码形成多个不同层次的数据帧,这些编码后产生的数据帧封装在VCL(Video Coding Layer,视频编码层),并为每一个VCL层次据添加NAL(Network Access Layer,网络提取层)头标识,最终将VCL编码数据封装在网络提取层单元NALU中,如图1所示的NALU单位结构。多个NALU将被组合并最终被封装在接入单元AU(Access Unit)中。如图2所示的接入单元AU结构,每个接入单元AU是对同一帧编码数据的全集,每个接入单位AU包含一组NALU。最终将接入单元AU按序排列完成对整个视频文件的编码。:
现有技术中,对于AU的传送处理方式如下:当终端请求视频文件时,资源服务器依据终端的实时带宽情况从整个接入单元AU流中挑选合适的NALU序列,将这些NALU序列重新拼接最终组成AU子码流响应终端请求,从而完成流媒体文件的请求响应流程,完成视频传输服务。
但是,在实现上述过程中,现有技术中至少存在如下技术问题:
现有技术的分层编码方式在标准的SVC方案中,这种方式使得终端之间可能拥有不同的AU子码流数据,导致终端之间不能共享彼此获得的AU子码流数据,不利于资源共享;此外,由于现有的Bitmap表是一维结构,仅能通过0、1标识终端是否获得相关资源,所以在SVC方案中,终端现有的Bitmap表将无法表示出所获得的基于SVC资源的三个维度的状况,导致不能有效满足SVC共享的技术问题。
发明内容
本发明的实施例提供一种流媒体的传送处理方法、装置及***,以便实现为终端多样化的实际网络提供流媒体服务需求,以及终端之间共享SVC数据资源的目的。
一种流媒体的传送处理方法,包括:
接收到来自资源拥有节点的视频资源的至少一个AU数据块;
从AU数据块中解析出AU数据块的层次标识和时间段头字节标识;
根据时间段头字节标识和层次标识更新用于记录视频资源已获取的资源状况的位图信息表;
根据位图信息表中的记录确定缺少的AU数据块,并向资源拥有节点请求。
其中,当网络中不存在终端可作为资源拥有节点提供服务,所述资源拥有节点为资源服务器时,所述接收到来自资源拥有节点的视频资源的至少一个AU数据块具体包括:
向资源服务器请求视频资源;
接收到来自所述资源服务器的所述视频资源的索引信息和至少一个AU数据块,其中,所述索引信息包括层次标识和所述层次标识应满足的带宽要求;
相应的,所述根据所述位图信息表中的记录确定缺少的AU数据块具体包括:
根据所述索引信息和所述位图信息表中的记录确定缺少且符合资源要求的AU数据块。
其中,当网络中存在终端可作为资源拥有节点提供服务,资源拥有节点为终端时,该方法还包括:
向资源服务器请求视频资源;
接收到来自所述资源服务器的节点列表和所述视频资源的索引信息,所述节点列表中至少包括拥有所述视频资源的终端的地址信息,其中,所述索引信息包括层次标识和所述层次标识应满足的带宽要求;
按照所述终端的地址信息向对应终端请求其位图信息表进而确定所述对应终端拥有的所述视频资源的状况;
根据所述索引信息和所述对应终端拥有的所述视频资源的状况确定符合资源要求的AU数据块,并按照所述终端地址向所述对应终端请求所述视频资源。
此外,该方法还包括:
根据位图信息表的记录将视频资源已获取的资源状况,并当所述已获取的资源状况足够播放所述视频资源时,将自身的地址信息汇报到资源服务器。
一种流媒体的传送处理方法,包括:
按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块;
对每个AU数据块添加时间段头字节标识;
将添加时间段头字节标识的AU数据块发送到请求视频资源的第一终端。
此外,该方法还包括:接收来自所述第一终端的地址信息;
将所述地址信息添加到存储的节点列表中,以便记录网络中拥有所述视频资源的资源拥有节点。
此外,该方法还包括:接收到来自第二终端的获取视频资源的请求;
从节点列表中查找到拥有视频资源的第一终端,并将查找到的所述第一终端的地址信息发送到第二终端。
一种终端,包括:
接收单元,用于接收到来自资源拥有节点的视频资源的至少一个AU数据块;
解析单元,用于从AU数据块中解析出AU数据块的层次标识和时间段头字节标识;
记录单元,用于根据时间段头字节标识和层次标识更新用于记录视频资源已获取的资源状况的位图信息表;
确定单元,用于根据位图信息表中的记录确定缺少的AU数据块,并向资源拥有节点请求。
此外,该终端还包括:请求单元,用于向资源服务器请求视频资源;
相应的,上述接收单元,所述接收单元,还用于当网络中不存在终端可作为资源拥有节点提供服务,所述资源拥有节点为资源服务器时,接收到来自所述资源服务器的所述视频资源的索引信息和至少一个AU数据块;确定单元,还用于根据所述索引信息和所述位图信息表中的记录确定缺少且符合资源要求的AU数据块。
此外,上述接收单元,当网络中存在终端可作为资源拥有节点提供服务,所述资源拥有节点为终端时,接收到来自所述资源服务器的节点列表和所述视频资源的索引信息,所述节点列表中至少包括拥有所述视频资源的终端的地址信息;上述请求单元,还用于按照所述终端的地址信息向对应终端请求其位图信息表进而确定所述对应终端拥有的所述视频资源的状况;上述确定单元,用于根据所述索引信息和所述对应终端拥有的所述视频资源的状况确定符合资源要求的AU数据块,并按照所述终端地址向所述对应终端请求所述视频资源。
进一步,还包括:汇报单元,用于根据位图信息表的记录将视频资源已获取的资源状况,并当所述已获取的资源状况足够播放所述视频资源时,将自身的地址信息汇报到资源服务器。
一种资源服务器,包括:
分割单元,拥有按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块;
添加单元,用于对每个AU数据块添加时间段头字节标识;
发送单元,用于将添加时间段头字节标识的AU数据块发送到请求视频资源的第一终端。
此外,还包括:
生成单元,用于根据视频资源的容量生成索引信息,索引信息用于第一终端根据自身的带宽请求可传送的AU数据块;
发送单元,还用于将索引信息发送到请求视频资源的第一终端。
优选的,还可包括:更新单元,用于将所述地址信息添加到存储的节点列表中,以便记录网络中拥有所述视频资源的资源拥有节点。
查找单元,用于在接收到来自第二终端的获取视频资源的请求时,从节点列表中查找到拥有视频资源的第一终端,并将查找到的所述第一终端的地址信息发送到第二终端。
一种流媒体的传送处理***,包括:第一终端和资源服务器;
所述资源服务器,用于按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块,并对每个所述AU数据块添加时间段头字节标识,再将添加时间段头字节标识的所述AU数据块发送到请求所述视频资源的第一终端;
所述第一终端,用于接收到来自所述资源服务器的视频资源的至少一个AU数据块,从所述AU数据块中解析出所述AU数据块的层次标识和时间段头字节标识,根据所述时间段头字节标识和所述层次标识更新用于记录所述视频资源已获取的资源状况的位图信息表,其中,所述位图信息表中增加了层次标识字段,用于具体记录已获取的资源状况,根据所述位图信息表中的记录确定缺少的AU数据块,并向所述资源服务器。
此外,该***还包括:第二终端;
所述第二终端,用于向所述资源服务器请所述视频资源;
所述资源服务器,还用于在接收到来自所述第二终端的获取所述视频资源的请求时,从所述节点列表中查找拥有所述视频资源的所述第一终端,并将查找到的所述第一终端的地址信息发送到所述第二终端。
本发明实施例提供的方案,通过在服务器侧的对流媒体采用SVC编码后的AU完整码流按时长分割成多个AU数据块,并在AU数据块中扩展时间段头字节标识的方式,实现对各个AU数据块进行标识,有利于根据AU数据块的标识使终端了解到获取到了哪些AU数据块,并且根据获取的状况进行适当请求未得到的AU数据块,进而取得在不同的资源拥有节点中资源共享的技术效果;同时,通过在终端侧在位图信息表中增加层次标识和时间段头字节标识,使该位图信息表可以反映出SVC下资源的获取状况,进而确保终端可以根据该位图信息表确定需要的AU数据块,并向资源拥有节点有目的的请求AU数据块,便于终端之间实现资源共享,AU数据块同步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中网络提取层单元NALU数据结构的示意图;
图2为背景技术中AU组成的结构示意图;
图3为本发明实施例1中一种流媒体的传送处理方法的流程示意图;
图4为本发明实施例1中将AU完整码流切割成AU数据块的示意图;
图5为本发明实施例1中AU数据块的时间段头字节标识、以及段内序号字段后的头信息结构示意图;
图6为本发明实施例1中添加AU数据块时间段头字节标识的过程示意图;
图7为本发明实施例2中提供的流媒体的传送处理方法中终端同步共享AU数据块的场景示意图;
图8为本发明实施例2中终端问同步传输数据的示意图;
图9为本发明实施例3中的终端的结构示意图;
图10为本发明实施例4中的资源服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。并且,以下各实施例均为本发明的可选方案,实施例的排列顺序及实施例的编号与其优选执行顺序无关。
实施例1
本实施例提供一种流媒体的传送处理方法,在本实施例中该方法主要用于描述当某终端,如第一终端首次访问资源服务器请求获取视频时,资源服务器与终端之间的交换过程。如图3所示,该方法包括:
101,资源服务器按时长将流媒体的视频资源编码后的AU完整码流分割成多个AU数据块;
在本实施例提供的方法中,不会影响现有的采用SVC对流媒体进行编码的方式,本发明中的改进仅从编码后产生的AU完整码流开始。
在标准的可伸缩视频编码方案中,资源服务器对原始视频流编码后形成AU完整流,在本实施例中,为了便于共享AU码流,首先采用对上AU完整码流进行适当切割并标记切割得到的AU数据块。
标记分割后的数据块的方式可以分为基于数据块大小分割、基于时长分割。针对于本方案,因为每个帧编码后得到的数据大小不同,基于数据块的大小分割的方式将不可避免地造成数据帧的被迫切割,这种切割将增加***对于维护这部分数据帧的开销,但这部分开销本可以避免。针对此,本方案优选采用等时长分割方式,分割方式如图4所示,因为视频流有一定的帧率,按照帧率可以很方便完成等时长切割任务,最终将整个AU完整码流切割成多个连续的AU数据块,因此,在本发明中,资源服务器以AU数据块为基本单位响应终端请求。借助这种分发方式,可便于终端记录获得的AU数据块情况,从而便于在终端之间共享数据。例如:编码后得到的单个数据帧大小为1000B,假设帧率为25F/S,一秒数据量为25KB=200Kbit。因此优选以2秒等时长切割原始接入单元AU码流形成子AU数据块。同时,本方案假设终端在2秒内带宽能够基本维持稳定,因此在***实现时规定每个子AU数据块内部帧信息以相同空域可伸缩性、时域可伸缩性、质量可伸缩性标准获得、传输。
102,资源服务器对每个AU数据块添加时间段头字节标识;
基于对完整的AU码流进行等时长分段将形成一系列AU数据块,为了便于标识这些AU数据块实现P2P资源共享,本方案中提出在AU数据块头信息中增添“时间段头字节标识”字段标识该AU数据块所属的时间段信息。增加时间段头字节标识后的每个AU头字节信息可参照图5所示。通过增添时间段头字节标识,可以准确标识每个AU数据块。时间段头字节标识的作用在于:通过时间段标号,终端之间可以更准确地进行AU数据块的共享交互。对AU完整码流进行分割到添加时间段头字节标识的示意请参照图6所示。
优选方案中,时间段头字节标识采用两字节标识,可以记录最多65536个时间段信息。因为如果采用单字节标识,可以记录最多256个时间段信息,若以2秒等分出AU数据块,256个AU数据块将最多容纳256*2s=512s=0.14h的视频资源,显然是不能满足实际需要。因此按照本方案的优选方案中提到的采用双字节标识,以2秒等分数据块,65536个数据块将最终容纳65536*2s=131072s=36.41h的视频,已经可以满足现实需要。当终端得到AU数据块文件时,将会记录所获得的AU数据块时间段头字节标识。并该标识信息存储在Bitmap位图表中。
为了保证终端向资源服务器请求资源时,不会因为终端的带宽资源不支持导致终端无法获得请求的视频资源的情况发生,优选地,本实施例还可以包括如下步骤103。
103,资源服务器根据该视频资源的容量生成索引信息,并将索引信息发送到请求视频资源的终端,如第一终端,索引信息包括层次标识和层次标识应满足的带宽要求,用于第一终端根据自身的带宽请求可传送的AU数据块。
具体而言,索引信息是用于表示视频资源的分层次情况以及各分层次传输时所需的最小带宽,在实际应用中,该索引信息是以索引文件的形式存在。通过索引文件终端便可获知何种带宽条件适配传输何种层次标识对应的数据。索引文件通过XML语言定义。一个索引文件的示意如下:
示意说明:该索引文件中定义了视频文件对应的三个层次标识,分别为1、2和3,并且给出了每个层次所需满足的最低带宽信息。如分层1需要10KB/s的最小传输速率。每层次带宽的需要是可以根据该层次的视频资源的大小和时间长度计算出来,例如:若N层次标识的视频资源大小560MB,视频资源时长为100分钟,则用560MB/100/60秒,即可计算出终端请求该N层的视频资源时,必须具备的最低带宽要求。终端将不断端监测自身带宽匹配合适的层次标识,当带宽满足某层次所需的最低传输速率要求时,可进行适时切换,获取不同的层次标识对应的数据,实现SVC编码的质量自适应。此处的索引文件仅在示意终端如何依据带宽情况调整SVC编码的质量自适应。在具体实现时还需将视频文件的AU分块总数目信息,视频编码信息等相关信息添加到索引文件中。
资源服务器在返回索引文件的同时,还可以返回合适的peerlist列表;若网络中并未有任何终端拥有该资源,peerlist可以为空表或者此时不返回peerlist。
104,在终端接收到的peerlias为空或没有peerlist的情况下,则由该资源服务器作为资源拥有节点,提供资源服务,此时执行步骤105;在终端接收到peerlist且不为空的情况下,终端可以确定网络中存在终端可作为资源拥有节点使用,则执行步骤106。
其中,peerlist用来存储各资源拥有节点信息,信息中主要包含可作为资源拥有节点使用的终端的地址信息。终端可以依据peerlist中的节点地址信息与节点进行交互,进而了解该节点拥有的该视频资源的部分是否为终端所属需要的。其中,上述“终端可以依据peerlist中的节点地址信息与节点进行交互”的具体内容可参照下述步骤106。
Peerlist中的各终端的地址信息是各终端在获取到请求的视频资源后,且获取到的视频资源可以满足最低播放条件(例如拥有该视频资源的所有层次为1的部分)时,终端向资源服务器汇报而得来的,具体过程可参照下述步骤110。
105,资源服务器根据终端发送的请求(该请求可以是终端在步骤104中,在网络中没有终端作为资源拥有节点使用的情况下,再次发送的请求,也可以是步骤103中终端首次请求时的请求)将添加时间段头字节标识的AU数据块发送到请求视频资源的终端(设该终端为第一终端),并执行步骤107。
此时,网络中便有第一终端可作为资源拥有节点使用,后继可通过该第一终端将该视频资源分享给第二终端。此处的第一终端应理解为首个从资源服务器获取特定层次特定AU数据块的终端,并不一定是首次向资源服务器提出资源申请的终端。但是由于在分享此之前,需要保证网络中有终端拥有该视频资源,因此,对于首次请求该资源的场景,必须是由资源服务器将该视频资源提供到终端中,即该步骤105是必要的。
106,终端按照资源服务器传送的Peerlist中终端的地址信息向对应终端(设为A终端)请求其位图(Bitmap0信息表进而确定A终端拥有的视频资源的状况,并根据索引信息和A终端拥有的视频资源的状况确定符合资源要求的AU数据块,再按照地址信息向该A终端请求所述视频资源。A终端收到该请求后,将其已获取的视频资源分享到终端。
该106具体而言为:终端1按照peerlist(节点列表)上的地址信息与拥有视频资源的节点(设为终端2)进行交互,请求终端2的Bitmap信息表(关于该Bitmap信息表的说明请见下述步骤108后面的相关内容),终端1通过查询Bitmap信息表可以知道终端2是否拥该视频资源,或者准确的说,还可以知道终端2具体拥,该视频资源的哪些层次。由此,终端1可以准确的向终端2请求其需要的视频资源的部分,终端2在收到该请求后,将对应部分的资源分享到终端1。
107,终端接收到来自资源拥有节点(A终端或资源服务器)的视频资源的至少一个AU数据块;
108,终端从AU数据块中解析出AU数据块的层次标识和时间段头字节标识,并根据时间段头字节标识和层次标识更新用于记录视频资源已获取的资源状况的Bitmap信息表;
该步骤108中包含了本发实施例中的一重要创新点:构造二维Bitmap位图表实现终端之间的资源共享。
具体而言,Bitmap信息表应用于P2P文件共享,Bitmap信息表记录着终端已经得到的AU数据块状况,终端之间共享AU数据块时借助Bitmap信息表可以从不同的终端处获得合理的AU数据块,最终实现AU数据块在终端(peer)之间的共享。但现有的一维Bitmap只能通过0,1记录AU子码流的有无,但在SVC中,终端不仅需要记录AU数据块的有无,还应记录所获得的AU数据块的空间、质量、时间层信息情况,因此现有的一维Bitmap信息表不能有效完成这样的功能。为此本方案提出了改进的二维Bitmap信息表格式,以此有效记录终端获取的AU数据块的实际情况。Bitmap信息表格式参照下表一。
表一
Bitmap信息表在本实施例中是一张二维表,以时间段为单位定义每一行时间段信息,每一行包含两个字段信息:是否获得(占1bit)、层次标识(占10bit,优选方式中,用4bit表示SVC中每个时间段资源的空间层标识、用4bit表示SVC中每个时间段资源的质量层标识、用3bit标识SVC中每个时间段资源的时间层标识)。其中,第一个字段根据终端是否获得相应时间段AU数据块情况进行更新,层次标识由所获得的子AU数据块中对一个NALU包头分析所得:根据子AU数据块中NALU序列的头字节信息提取相关层标识、质量层标识、时间层标识值,进行运算最终生成层次标识填入相应的Bitmap位图文件中。
通过二维Bitmap表,终端不仅可以记录AU数据块的有无,而且可以通过层次标识获知终端所获得AU数据块的层次状况。通过将该Bitmap信息表中记录的层次标识和时间段等信息上报到资源服务器,可以实现AU数据块的资源共享。
改造后的Bitmap二维表,每一行对于一个AU数据块。由上述表一的二维Bitmap信息表可知,将采用11个bit为标记单个AU数据块信息。较之前的一维Bitmap位图表扩大了10倍。在此假设终端得到所有的65536个数据块,假设Bitmap表每行占2B大小,二维表信息最终大小将是65536*2B=131072B=128KB,128KB的数据将不会占据终端过大的存储空间。
终端在获取视频数据资源后,根据获取的AU数据块对Bitmap信息表进行填写。在后续的P2P交互中,终端可借助Bitmap信息表确定缺少的AU数据块,并与其他Peer交互。
109、终端根据Bitmap信息表中的记录确定缺少的AU数据块,并向资源拥有节点请求。资源拥有节点包含A终端和资源服务器。依据104至108步骤获取缺少的AU数据块。
优选地,上述终端根据Bitmap信息表中的记录确定缺少的AU数据块可为:终端根据索引信息和Bitmap信息表中的记录确定缺少且符合资源要求的AU数据块。
具体而言,例如:终端按一维Bitmap方式检查二维Bitmap表格的第一列,从第一列中可以得出终端获取资源情况。定义“0”为未获得,“1”未已获得。如:假设查询第N个数据块是否获得,可以根据二维表行编号值N,查询X[N][1]的值判断。由此,终端可知哪些时间段的AU数据块未得到,并根据终端的带宽以及索引信息中相应未得到的层次要求的带宽,向步骤106中获知的拥有该层次资源的A终端请求。A终端收到该请求后,将其已获取的视频资源分享到终端。
其中,A终端收到该请求后,具体将资源分享到终端的过程可如下:
A终端根据自己的Bitmap信息表中每一行的层次标识,可以获知A终端所拥有的AU数据块的层次标识。若向其请求的终端所需要的层次标识的值小于A终端的层次标识的值,则A终端可以为终端提供服务。否则不能提供服务。
一个具体的实例如下表二所示:
表二
从上述表格二可知:
1、是否获得AU数据块,通过“是否获得”标识可确定;0表示没有获得,1表示已获得;
2、终端拥有#2、#N时间段资源,没有#1时间段资源;
3、因没有#1时间段资源,是否获得位标识为0;此时A终端无法向其他终端提供#1AU资源块。
4、当请求#2时间段资源,#2资源层次标识为0000000010,即表示终端拥有层次为2的#2AU数据块;可以满足层次请求不大于2的AU数据请求。
5、当请求#N时间段资源,#N资源层次标识为0000000101,即表示终端拥有层次为5的#NAU数据块;可以满足层次请求不大于5的AU数据请求。
从上述分析中,可以得出结论:从二维Bitmap信息表中能够获知终端所拥有的时间段资源信息,从而实现在终端之间的资源共享。
110,当终端获取的该视频资源的部分已经足够将该视频播放出来时,将自身的地址信息汇报到资源服务器,以便资源服务器将该地址信息添加到peerlist中,如此,资源服务器便可统计出网络中到底有哪些终端拥有该视频资源。
终端根据Bitmap信息表中的记录可以得知哪些层次的资源已经全部获取。例如:当层次1的资源全部获取到时,便可满足播放该视频资源的条件,即可向资源服务器汇报,通知资源服务器该终端已拥有该视频资源。
当终端获取到该视频资源的AU数据块后,终端根据AU数据块时间段编号重组视频资源,最终实现本地播放。
本实施提供的方案将SVC技术应用于P2P架构下,提出按时长切割AU完整码流为多个AU数据块,并增加AU数据块头标号信息的技术手段,并设计合理、有效的二维Bitmap信息表,最终实现一种在P2P服务架构下SVC解决终端带宽变动、终端多样化的实际网络流媒体服务需求和终端之间共享SVC数据资源的技术效果。
实施例2
本实施例具体结合图7所示的场景,提供一种流媒体的传送处理方法,该方法可以认为是比实施例1更为具体的实例描述。
为了便于描述,在本实施例中设请求的视频资源对应生成的索引信息为:
其中,PeerA节点带宽为65KB/s,可以申请访问层次3的AU数据块资源;其中,PeerB节点带宽为15KB/s,可以申请访问层次1的AU数据块资源;
其中,PeerC节点带宽为35KB/s,可以申请访问层次2的AU数据块资源;
具体方法如下:
PeerA节点向资源服务器申请访问该视频资源,资源服务器检测到目前网络中并未有拥有相应资源的Peer节点,于是为PeerA传输层次3数据;PeerA成为网络中首个拥有层次3视频资源的终端节点
PeerA更新本地Bitmap信息表,并向资源服务器汇报节点信息情况;
PeerB节点向资源服务器申请访问该视频资源,资源服务器检测到目前网络中PeerA拥有相应资源的peer,返回相关PeerA部分相关信息的Peerlist;PeerB节点根据PeerA的Bitmap信息表,向PeerA请求层次1的AU数据块,PeerA传输层次1的AU数据块至PeerB;
PeerB更新本地Bitmap信息表,并向服务器汇报PeerB的节点信息情况;
PeerC节点向资源服务器申请访问该视频资源,资源服务器检测到目前网络中PeerA、B拥有相应资源,返回包含PeerA、B相关信息的Peerlist;PeerC节点根据PeerA、B的Bitmap信息表,向PeerA、B请求层次1,2的AU数据块,PeerA、B传输层次1,2的AU数据块至PeerC;
PeerC更新本地Bitmap信息表,并向资源服务器汇报PeerC的节点信息情况;至此完成资源交换共享流程。
此外,在本实施例中在Peer A,Peer B向Peer C传输层次1的AU数据块时,涉及到同步机制。假设层次1的AU数据块共有10个,其中每个AU数据块均已标记好时间段编号。那么层次1的AU数据块传输同步方式如图8所示:
通过AU分块调度算法,从而可以进行终端之间进行有效的数据同步。
以此处的实例为例,参照图8,Peer C可以从Peer A处获取编号为1至5的A U数据块;从Peer B处获取编号为6至10的AU数据块。如此Peer A、PeerB将不会传输重复的AU数据块,当Peer C缺少某个数据块时可以单独将缺失的AU数据块再次向相关Peer节点发出请求。其中,Peer C如何从Peer A、B获取不同的数据。具体实现时,可根据网络资源状况等设计出各种同步算法。在此不赘述。
实施例3
本实施例提供一种终端,可用作实施例1、2中的终端/peer使用。如图9所示,包括:接收单元31,解析单元32,记录单元33,确定单元34。
接收单元31,用于接收到来自资源拥有节点的视频资源的至少一个AU数据块;解析单元32,用于从AU数据块中解析出AU数据块的层次标识和时间段头字节标识;记录单元33,用于根据时间段头字节标识和层次标识更新用于记录视频资源已获取的资源状况的Bitmap信息表;确定单元34,用于根据Bitmap信息表中的记录确定缺少的AU数据块,并向资源拥有节点请求。
此外,该终端还包括:请求单元34,用于向资源服务器请求视频资源;
相应地,接收单元31,还用于当网络中不存在终端可作为资源拥有节点提供服务,所述资源拥有节点为资源服务器时,接收到来自所述资源服务器的所述视频资源的索引信息和至少一个AU数据块;
相应地,确定单元34,还用于根据索引信息和Bitmap信息表中的记录确定缺少且符合资源要求的AU数据块。
此外,接收单元31,还用于当网络中存在终端可作为资源拥有节点提供服务,所述资源拥有节点为终端时,接收到来自所述资源服务器的节点列表和所述视频资源的索引信息,所述节点列表中至少包括拥有所述视频资源的终端的地址信息;请求单元34,还用于按照所述终端的地址信息向对应终端请求其位图信息表进而确定所述对应终端拥有的所述视频资源的状况;
相应地,确定单元34,用于根据所述索引信息和所述对应终端拥有的所述视频资源的状况确定符合资源要求的AU数据块,并按照所述终端地址向所述对应终端请求所述视频资源。
优选地,还可包括:汇报单元35,用于根据所述位图信息表的记录将所述视频资源已获取的资源状况,并当所述已获取的资源状况足够播放所述视频资源时,汇报到资源服务器。
本实施例中的终端可以根据从AU数据块中解析出层次标识和时间段头字节标识更新Bitmap信息表,且该Bitmap信息表可以用于记录SVC技术的AU数据块,因此便于终端根据该Bitmap信息表中的记录的信息确定需要获取的适合资源,同时也通过向资源服务器汇报终端获取到视频资源的手段使资源服务器掌握网络中各终端获取到的视频资源,并将资源拥有终端的地址信息通过peerlist告知请求的终端,从而实现各终端之间资源分享,资源同步的技术效果。
实施例4
本实施例提供一种资源服务器,该资源服务器可用于与实施例3中的终端进行交换,也可以作为实施例1和实施例2中的资源服务器使用。如图10所示,主要包括:分割单元41,添加单元42,发送单元43。
分割单元41,拥有按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块;添加单元42,用于对每个AU数据块添加时间段头字节标识;发送单元43,用于将添加时间段头字节标识的AU数据块发送到请求视频资源的第一终端。
优选地,还可包括:生成单元44,用于根据视频资源的容量生成索引信息,索引信息用于第一终端根据自身的带宽请求可传送的接入单元数据块;
相应地,发送单元43,还用于将索引信息发送到请求视频资源的第一终端。
优选地,还可包括:更新单元,查找单元。
更新单元,用于将所述地址信息添加到存储的节点列表中,以便记录网络中拥有所述视频资源的资源拥有节点。
查找单元,用于在接收到来自第二终端的获取视频资源的请求时,从节点列表中查找到拥有视频资源的第一终端,并将查找到的所述第一终端的地址信息发送到第二终端。
本实施例提供的资源服务器通过将AU完整码流按时长分割成多个AU数据块,并在每个AU数据块中添加时间段头字节标识的技术手段,使服务器和终端皆可以根据该时间段头字节标识确定具体的资源,进而便于终端仅需向资源服务器或其它终端请求适合的AU数据块,可实现资源分享。
实施例5
本实施例提供一种流媒体的传送处理***,包括第一终端和资源服务器;
其中,资源服务器,用于按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块,并对每个AU数据块添加时间段头字节标识,再将添加时间段头字节标识的AU数据块发送到请求视频资源的第一终端;
第一终端,用于接收到来自资源服务器的视频资源的至少一个AU数据块,从AU数据块中解析出AU数据块的层次标识和时间段头字节标识,根据时间段头字节标识和层次标识更新用于记录视频资源已获取的资源状况的位图信息表,其中,位图信息表中增加了层次标识字段,用于具体记录已获取的资源状况,根据位图信息表中的记录确定缺少的AU数据块,并向资源服务器。
此外,该***还包括:第二终端;
第二终端,用于向资源服务器请视频资源;相应地,资源服务器,还用于在接收到来自第二终端的获取视频资源的请求时,从节点列表中查找拥有视频资源的第一终端,并将查找到的第一终端的地址信息发送到第二终端。
本发明实施例提供的***中,资源服务器的对流媒体采用SVC编码后的AU完整码流按时长分割成多个AU数据块,并在AU数据块中扩展时间段头字节标识的方式,从而可实现对各个AU数据块进行标识,有利于根据AU数据块的标识使终端了解到获取到了哪些AU数据块,并且根据获取的状况进行适当请求未得到的AU数据块,进而取得在不同的资源拥有节点中资源共享的技术效果;同时,通过在第一终端的位图信息表中增加层次标识和时间段头字节标识,使该位图信息表可以反映出SVC下资源的获取状况,进而确保终端可以根据该位图信息表确定需要的AU数据块,并向资源拥有节点有目的的请求AU数据块,便于第一终端与第二终端之间实现资源共享,AU数据块同步。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台设备执行本发明各个实施例的方法。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种流媒体的传送处理方法,其特征在于,包括:
接收到来自资源拥有节点的视频资源的至少一个接入单元AU数据块;
从所述AU数据块中解析出所述AU数据块的层次标识和时间段头字节标识;
根据所述时间段头字节标识和所述层次标识更新用于记录所述视频资源已获取的资源状况的位图信息表,其中,所述位图信息表中增加了层次标识字段,用于具体记录已获取的资源状况;
根据所述位图信息表中的记录确定缺少的AU数据块,并向所述资源拥有节点请求。
2.根据权利要求1所述的流媒体的传送处理方法,其特征在于,当网络中不存在终端可作为资源拥有节点提供服务,所述资源拥有节点为资源服务器时,所述接收到来自资源拥有节点的视频资源的至少一个AU数据块具体包括:
向资源服务器请求视频资源;
接收到来自所述资源服务器的所述视频资源的索引信息和至少一个AU数据块,其中,所述索引信息包括层次标识和所述层次标识应满足的带宽要求;
所述根据所述位图信息表中的记录确定缺少的AU数据块具体包括:
根据所述索引信息和所述位图信息表中的记录确定缺少且符合资源要求的AU数据块。
3.根据权利要求1所述的流媒体的传送处理方法,其特征在于,当网络中存在终端可作为资源拥有节点提供服务,所述资源拥有节点为终端时,该方法还包括:
向资源服务器请求所述视频资源;
接收到来自所述资源服务器的节点列表和所述视频资源的索引信息,所述节点列表中至少包括拥有所述视频资源的终端的地址信息,其中,所述索引信息包括层次标识和所述层次标识应满足的带宽要求;
按照所述终端的地址信息向对应终端请求其位图信息表进而确定所述对应终端拥有的所述视频资源的状况;
根据所述索引信息和所述对应终端拥有的所述视频资源的状况确定符合资源要求的AU数据块,并按照所述终端地址向所述对应终端请求所述视频资源。
4.根据权利要求1至3中任意一项所述的流媒体的传送处理方法,其特征在于,该方法还包括:
根据所述位图信息表的记录将所述视频资源已获取的资源状况;
当所述已获取的资源状况足够播放所述视频资源时,汇报到资源服务器。
5.一种流媒体的传送处理方法,其特征在于,包括:
按时长将视频资源编码后的接入单元完整码流分割成多个AU数据块;
对每个所述AU数据块添加时间段头字节标识;
将添加时间段头字节标识的所述AU数据块发送到请求所述视频资源的第一终端。
6.根据权利要求5所述流媒体的传送处理方法,其特征在于,该方法还包括:
根据所述视频资源的容量生成索引信息,并将所述索引信息发送到请求所述视频资源的第一终端,所述索引信息包括层次标识和所述层次标识应满足的带宽要求,用于所述第一终端根据自身的带宽请求可传送的AU数据块。
7.根据权利要求5所述的流媒体的传送处理方法,其特征在于,该方法还包括:
接收来自所述第一终端的地址信息;
将所述地址信息添加到存储的节点列表中,以便记录网络中拥有所述视频资源的资源拥有节点。
8.根据权利要求7所述的流媒体的传送处理方法,其特征在于,该方法还包括:
接收到来自第二终端的获取所述视频资源的请求;
从所述节点列表中查找到拥有所述视频资源的第一终端,并将查找到的所述第一终端的地址信息发送到所述第二终端。
9.一种终端,其特征在于,包括:
接收单元,用于接收到来自资源拥有节点的视频资源的至少一个AU数据块;
解析单元,用于从所述AU数据块中解析出所述AU数据块的层次标识和时间段头字节标识;
记录单元,用于根据所述时间段头字节标识和所述层次标识更新用于记录所述视频资源已获取的资源状况的位图信息表;
确定单元,用于根据所述位图信息表中的记录确定缺少的AU数据块,并向资源拥有节点请求。
10.根据权利要求9所述的终端,其特征在于,
该终端还包括:请求单元,用于向资源服务器请求视频资源;
所述接收单元,还用于当网络中不存在终端可作为资源拥有节点提供服务,所述资源拥有节点为资源服务器时,接收到来自所述资源服务器的所述视频资源的索引信息和至少一个AU数据块;
所述确定单元,还用于根据所述索引信息和所述位图信息表中的记录确定缺少且符合资源要求的AU数据块。
11.根据权利要求9所述的终端,其特征在于,
该终端还包括:请求单元,用于向资源服务器请求视频资源;
所述接收单元,还用于当网络中存在终端可作为资源拥有节点提供服务,所述资源拥有节点为终端时,接收到来自所述资源服务器的节点列表和所述视频资源的索引信息,所述节点列表中至少包括拥有所述视频资源的终端的地址信息;
所述请求单元,还用于按照所述终端的地址信息向对应终端请求其位图信息表进而确定所述对应终端拥有的所述视频资源的状况;
所述确定单元,用于根据所述索引信息和所述对应终端拥有的所述视频资源的状况确定符合资源要求的AU数据块,并按照所述终端地址向所述对应终端请求所述视频资源。
12.根据权利要求9至11中任意一项所述的终端,其特征在于,还包括:
汇报单元,用于根据所述位图信息表的记录将所述视频资源已获取的资源状况,并当所述已获取的资源状况足够播放所述视频资源时,汇报到资源服务器。
13.一种资源服务器,其特征在于,包括:
分割单元,用于按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块;
添加单元,用于对每个所述AU数据块添加时间段头字节标识;
发送单元,用于将添加时间段头字节标识的所述AU数据块发送到请求所述视频资源的第一终端。
14.根据权利要求13所述的资源服务器,其特征在于,
还包括:生成单元,用于根据所述视频资源的容量生成索引信息,所述索引信息用于所述第一终端根据自身的带宽请求可传送的AU数据块;
所述发送单元,还用于将所述索引信息发送到请求所述视频资源的第一终端。
15.根据权利要求13所述的资源服务器,其特征在于,还包括:
更新单元,用于将所述地址信息添加到存储的节点列表中,以便记录网络中拥有所述视频资源的资源拥有节点。
16.根据权利要求13至15中任意一项所述的资源服务器,其特征在于,还包括:
查找单元,用于在接收到来自第二终端的获取所述视频资源的请求时,从所述节点列表中查找到拥有所述视频资源的第一终端,并将查找到的所述第一终端的地址信息发送到所述第二终端。
17.一种流媒体的传送处理***,其特征在于,包括:第一终端和资源服务器;
所述资源服务器,用于按时长将视频资源编码后的接入单元完整码流分割成多个接入单元AU数据块,并对每个所述AU数据块添加时间段头字节标识,再将添加时间段头字节标识的所述AU数据块发送到请求所述视频资源的第一终端;
所述第一终端,用于接收到来自所述资源服务器的视频资源的至少一个AU数据块,从所述AU数据块中解析出所述AU数据块的层次标识和时间段头字节标识,根据所述时间段头字节标识和所述层次标识更新用于记录所述视频资源已获取的资源状况的位图信息表,其中,所述位图信息表中增加了层次标识字段,用于具体记录已获取的资源状况,根据所述位图信息表中的记录确定缺少的AU数据块,并向所述资源服务器。
18.根据权利要求17所述的流媒体的传送处理***,其特征在于,该***还包括:第二终端;
所述第二终端,用于向所述资源服务器请所述视频资源;
所述资源服务器,还用于在接收到来自所述第二终端的获取所述视频资源的请求时,从所述节点列表中查找到拥有所述视频资源的所述第一终端,并将查找到的所述第一终端的地址信息发送到所述第二终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110423228.8A CN103167319B (zh) | 2011-12-16 | 2011-12-16 | 一种流媒体的传送处理方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110423228.8A CN103167319B (zh) | 2011-12-16 | 2011-12-16 | 一种流媒体的传送处理方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103167319A true CN103167319A (zh) | 2013-06-19 |
CN103167319B CN103167319B (zh) | 2016-06-22 |
Family
ID=48590018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110423228.8A Active CN103167319B (zh) | 2011-12-16 | 2011-12-16 | 一种流媒体的传送处理方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103167319B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635188A (zh) * | 2016-03-31 | 2016-06-01 | 深圳市矽伟智科技有限公司 | 一种可视化内容分发方法及*** |
CN105657470A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市海云天科技股份有限公司 | 一种位图式视频浏览的记录方法及*** |
CN114124940A (zh) * | 2021-11-30 | 2022-03-01 | 上海御渡半导体科技有限公司 | 一种基于udp协议的数据定制传输的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007051425A1 (fr) * | 2005-11-03 | 2007-05-10 | Huawei Technologies Co., Ltd. | Procede de communication multimedia et terminal de celui-ci |
CN101500157A (zh) * | 2008-12-31 | 2009-08-05 | 深圳市同洲电子股份有限公司 | 访问单元转换成传输流的方法及装置 |
US20110208829A1 (en) * | 2010-02-23 | 2011-08-25 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving data |
-
2011
- 2011-12-16 CN CN201110423228.8A patent/CN103167319B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007051425A1 (fr) * | 2005-11-03 | 2007-05-10 | Huawei Technologies Co., Ltd. | Procede de communication multimedia et terminal de celui-ci |
CN101500157A (zh) * | 2008-12-31 | 2009-08-05 | 深圳市同洲电子股份有限公司 | 访问单元转换成传输流的方法及装置 |
US20110208829A1 (en) * | 2010-02-23 | 2011-08-25 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting and receiving data |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657470A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市海云天科技股份有限公司 | 一种位图式视频浏览的记录方法及*** |
CN105635188A (zh) * | 2016-03-31 | 2016-06-01 | 深圳市矽伟智科技有限公司 | 一种可视化内容分发方法及*** |
CN105635188B (zh) * | 2016-03-31 | 2019-07-09 | 深圳市矽伟智科技有限公司 | 一种可视化内容分发方法及*** |
CN114124940A (zh) * | 2021-11-30 | 2022-03-01 | 上海御渡半导体科技有限公司 | 一种基于udp协议的数据定制传输的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103167319B (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101973544B1 (ko) | 멀티미디어 시스템에서 복합 미디어 컨텐츠를 송수신하는 방법 및 장치 | |
CN101321265B (zh) | 对等网络媒体点播跨帧播放方式的实现方法及*** | |
CN100382499C (zh) | 用于流式传输多媒体数据的装置和方法 | |
CN101795297B (zh) | 基于p2p技术的直播时移***及其方法 | |
CN103069492A (zh) | 用于多媒体流传输文件的存储文件格式、存储方法和使用其的客户端装置 | |
CN108924600A (zh) | 直播数据的发送接收方法、装置及电子设备 | |
CN101409630A (zh) | 一种流媒体数据发送接收方法、装置及*** | |
CN104270646A (zh) | 一种基于移动流媒体的自适应传输方法和*** | |
CN101867796B (zh) | 一种视频监控的方法和设备 | |
CN101677325A (zh) | 发布媒体描述信息和获取媒体的方法、装置、*** | |
CN101511010A (zh) | 一种媒体流发送方法及装置 | |
CN104737512B (zh) | 用于在混合网络中传送和接收多媒体数据的装置和方法 | |
CN101155296A (zh) | 数据传输的方法 | |
CN103348691A (zh) | 分发直播内容的方法、设备和*** | |
CN102231860A (zh) | 一种直播时移数据存储方法 | |
CN113596518B (zh) | 一种用于提升倍速播放性能的视频存取方法 | |
CN111629283B (zh) | 一种多流媒体网关服务***及方法 | |
CN103167319A (zh) | 一种流媒体的传送处理方法、装置及*** | |
US7779159B2 (en) | Apparatus and method for providing high speed download service of multimedia contents | |
CN101854224A (zh) | 纠错编码方法、装置和***以及转发控制方法和装置 | |
CN114449291A (zh) | 数据传输方法、设备及计算机存储介质 | |
US9332421B2 (en) | Method and apparatus for random access to multimedia content in wireless communication system | |
CN112153401B (zh) | 视频处理方法、通信设备及可读存储介质 | |
US20110113099A1 (en) | Method for transmitting buffer map and network thereof | |
CN103561013A (zh) | 流媒体的数据分发*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |