高清视频的高效传送及编解码的系统的制作方法

文档序号:7866142阅读:185来源:国知局
专利名称:高清视频的高效传送及编解码的系统的制作方法
技术领域
本发明涉及一种流媒体传送及编解码领域,尤其涉及一种高清视频的高效传送及编解码的系统。
背景技术
通常,用户点播后,服务器响应组织数据并将数据发送至目的用户,累积数据达到缓冲数据量才开始播放,这个过程时长为响应时间。目前,流媒体播放响应时间过长。根据TubeMogul数据显示在视频缓冲的时间内,81%的用户会选择离开,因此,短响应时间对于流媒体系统十分重要。对等网络(P2P)络技术与流媒体技术的结合,将流媒体服务质量提高到了一个新的高度,典型的应用如国内的PPlive、PPstream等,它有效地减低了内容服务器的分发任务负担,P2P技术优点包括对等性强,扩展性强,健壮性高,性价比高,负载均衡。但是P2P系统架构的流媒体服务器面对资源点频繁加入和退出时,其稳定性严重不 足。

发明内容
鉴于以上内容所述,本发明有必要提供一种在P2P系统架构的流媒体服务器面对资源点频繁加入和退出时扩展性和稳定性良好的高清视频的高效传送及编解码的系统。一种高清视频的高效传送及编解码的系统,包括收集服务器,用于对流媒体数据进行同步调整,所述流媒体数据包括音频数据以及视频数据;内容服务器,接收客户端的请求时向客户端传送流媒体数据包;业务服务器,用于向播放节点传递其存储的播放信息;组织服务器,用于对新加入的播放节点进行引导,对已经加入的播放节点进行组织;客户端,用于接收所述流媒体数据包,并根据编号将流媒体数据包中的视频数据与音频数据以交替的方式进行分析,并以MPEG21或H. 264压缩算法进行解压缩,按照时间戳同步解码播放流媒体数据包中的音频数据与视频数据;将所述流媒体数据包通过网络传送至各播放节点的客户端时,播放节点先向邻居节点预约流媒体数据包;当预约的流媒体数据包到达时,将所述多媒体整数据包传送到预约该数据包的播放节点。进一步,所述对流媒体数据进行同步调整包括收集流媒体数据流中的音频数据与视频数据,并对收集的音频数据与视频数据进行编码;编码后对现场收集的音频数据与视频数据分成不同长度的多媒体数据包,并将音频数据与视频数据包打上时间戳;将打上时间戳的音频数据与视频数据包进行编码并压缩成流媒体数据包。
进一步,所述收集服务器对收集的音频数据以及视频数据分成不同长度的多媒体数据包,并将多媒体数据包打上时间戳时,其根据参考时钟生成音频数据与视频数据的时间信息,将多媒体数据包打上时间戳;对于现场收集的音频数据与视频数据,采用收集时间戳,对于非现场收集的音频数据与视频数据,提取多媒体数据包中的时间戳。进一步,将所述流媒体数据包通过网络传送至各播放节点的客户端时,包括将播放节点加入到网络中的步骤为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括IP地址、端口号、NAT类型和带宽;判断所述新加入播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点的队列的队尾;判断所述新加入的播放节点的是否小于预定值,是则按序列号顺序加入到弱播放 节点的队列的相信位置,否则将该播放节点加入到强播放列的相应位置。进一步,所述预定值为多媒体数据源节点的I. 2至I. 5倍。进一步,所述客户端播放流媒体数据包中的音频数据时,将音频数据的时间戳与参考时钟的当前时间对比,当音频数据已经达到播放时间时,解码播放音频数据。进一步,所述客户端播放流媒体数据包中的视频数据时,将视频数据的时间戳与当前正在播放的音频数据的时间进行对比,当音频数据同时播放时,同步播放该视频数据。进一步,所述播放节点先向邻居节点预约流媒体数据包包括按多媒体数据包的编号对多媒体数据进行分组,并设置组内编号;按组内编号随机请求邻居节点,预约组内的多媒体数据包;所述预约不成功,则重新选择邻居节点,否则继续预约,直到组内所有的多媒体数据包都预约完成。进一步,所述播放节点加入网络后还包括通过网络命令交互获得邻居节点的运行信息;当预约的流媒体数据包到达时,采用TOSH策略将所述多媒体整数据包传送到预约该数据包的播放节点。进一步,所述多媒体数据包大小为900至1200字节。MPEG21算法主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用离散余弦变换DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。H. 264压缩算法支持一幅图像划分成片,片中宏块的数目是任意的。在非FMO模式下,片中的宏块次序是同光栅扫描顺序,灵活宏块排序FMO (Flexible MacroblockOrdering)模式下比较特殊。片的划分可以适配不同的最大传送单元MTU (MaximumTransmission Unit)尺寸,也可以用来交织分组打包。本发明通过直接收集并编码多媒体数据,将多媒体数据分隔成900至1200字节的多媒体数据包,采用PUSH策略进行小包传送,从而的提高传送效率。在传送过程中,播放节点先向邻居节点预约流媒体数据包;预约时按多媒体数据包的编号对多媒体数据进行分组,并设置组内编号;按组内编号随机请求邻居节点,预约组内的多媒体数据包;所述预约不成功,则重新选择邻居节点,否则继续预约,直到组内所有的多媒体数据包都预约完成。通过该方式,有效的增强了传送过程中的稳定性。


图I为本发明高清视频的高效传送及编解码的系统中客户端播放流媒体数据包的流程示意图;图2为本发明高清视频的高效传送及编解码的系统中客户端解码播放音频数据时启动音频数据播放流程示意图;图3为本发明高清视频的高效传送及编解码的系统中客户端解码播放视频数据时启动视频数据播放流程示意图;图4为本发明高清视频的高效传送及编解码的系统中多媒体数据包预约请求流程不意图;
图5为本发明高清视频的高效传送及编解码的系统中数据包完整性检验的方法的流程示意图。
具体实施例方式结合以下具体实施方式
对本发明的一种高清视频的高效传送及编解码的系统作进一步的描述。具体实施例为进一步详细说明本发明,非限定本发明的保护范围。一种高清视频的高效传送及编解码的系统,发送端与客户端,所述发送端用于收集流媒体数据,并将收集后的数据发送至客户端,所述流媒体数据包括音频数据以及视频数据,发送端与客户端在传送层使用TCP协议,可有效提高在传送过程中的稳定性。发送端拥有固定的公网IP地址,在某个固定的TCP端口进行监听,当接收到客户端的数据请求时,将压缩后形成的流媒体数据包包含到TCP报文的内容部分并发送给客户端,若发送端和客户端都没有固定的公网IP地,则需要利用具有公网IP地址的第三方服务器实现数据中转。本发明的高清视频的高效传送及编解码的系统的传送方法包括如下步骤步骤001,所述发送端收集多媒体数据并进行同步调整,收集多媒体数据流中的音频数据与视频数据,收集的任务是由收集服务器完成的,收集服务器采用多媒体技术直接从待播放的媒体中抓取多媒体数据流中的的数据,如,音频数据与视频数据,并对收集的音频数据与视频数据进行编码。步骤002,所述收集服务器将编码后的音频数据与视频数据切分成非常小的多媒体数据包,大小在900至1200KB之间。对每个分割后的多媒体数据包的编号称为PacketID。然后对每个多媒体数据包添加包头和PacketID等信息。此步骤中,对于在现场收集的流媒体数据,按照音频数据和视频数据的区别,将其分为不同长度的多媒体数据包,一般视频数据按照帧的单位计数,音频数据按照时间计数,并同时根据参考时钟生成两个媒体数据的时间信息,在数据编码之前将这些多媒体数据包打上时间戳。对于非现场收集的数据,采用提取多媒体文件中的时间戳的方法。在一般情况下不会改变这些多媒体数据包的性质,如音频数据的时间片;但是在某些情况下,可能会改变,如由于需要做第二次压缩,可能将上述的音频数据的时间片进行拉长或者减缩。发送端将同步调整后的多媒体数据包一般按照“视频数据包、音频数据包、视频数据包、音频数据包……”如此交替的方式编码生成一个交给P2P系统的大的流媒体数据包。
步骤003,发送端采用MPEG21或H. 264压缩算法,将打上时间戳音频数据与视频数据包编码并压缩成流媒体数据包;步骤004,将所述压缩后的流媒体数据包通过网络传送至各播放节点的客户端。上述服务器将添加包头和PacketID等信息的多媒体数据包连续地传送至内容服务器。内容服务器接收到客户端的请求时,向客户端传送多媒体数据包。传送时,播放节点先向邻居节点预约流媒体数据包;当预约的流媒体数据包到达时,采用PUSH策略将所述多媒体整数据包传送到预约该数据包的播放节点。所述内容服务器还包括进行网络编码,为系统提供网络丢包请求ARQ (Automatic Repeat-reQuest,自动重传)支撑。其中,步骤004中所述播放节点想要播放流媒体数据包,必须先加入P2P媒体直播网络。节点从业务服务器获取播放信息,向组织服务器请求加入。组织服务器对新加入的播放节点进行引导,对已经加入的播放节点进行组织,包括节点新增、节点删除以及节点丢失等。尤其是在新加入播放节点时,会按照该节点的NAT和带宽信息对该节点进行有效引导。组织服务器维护一个节点队列,以便引导新节点有组织地加入已有的P2P媒体直播网 络中。首先新节点加入时的步骤如下,节点加入后,为新加入的节点分配一个序列号ID,并将所述的序列号ID与该播放节点信息绑定,即该序列号和播放节点信息共同作为该节点的属性,所述播放节点信息包括IP地址、端口号、NAT类型和带宽等。然后判断所述新加入的播放节点的NAT类型,若类型为无法穿透NAT类型,由于防火墙和路由器的限制,做了 NAT的网络地址转换,其他的网络节点无法主动与该节点建立连接,说明节点连通性很差,为了不影响网络的整体性能,则将该播放节点加入到弱播放节点队列的末尾,该判定由NAT检测服务器完成。判定所述新加入的播放节点的带宽是否小于预定值,一般为多媒体原始带宽的
I.2至I. 5倍,认为带宽能力强的节点。则将该播放节点按节点序列号ID加入到播放节点队列的相应位置,反正加入到弱播放节点队列的相应位置,该判断操作由带宽检测服务器完成。步骤005,所述客户端接收到所述流媒体数据包后,一般根据编号将流媒体数据包按照“视频数据包、音频数据包、视频数据包、音频数据包……”如此交替的方式进行分析流媒体数据包,并解压缩;在解压缩完毕的流媒体数据上打上时间戳,然后进行播放。请参阅图1,所述客户端按照时间戳同步解码播放流媒体数据包具体过程如下判断是否到流媒体数据包的末尾,如果是,则从该流媒体数据包中取出一个流媒体数据包,如果否,则结束该过程;判断取出的数据为音频数据还是视频数据,若为音频数据,则加入到音频播放列队,若为视频数据,则加入到视频播放列队。请参阅图2,本发明的在解码播放音频数据时启动音频数据播放流程,具体过程包括判断音频播放队列中是否有数据,如果没有,则继续进行判断,如果有,则从中提取一个音频数据包,并将该音频数据的时间戳与参考时钟的当前时间对比,判断音频数据是否已经到了播放时间,如果否,则继续进行对比,如果是,则解码音频数据,然后重头开始判断音频播放队列中是否有数据,直到整个播放过程完成。请参阅图3,本发明的在解码播放视频数据时启动视频数据播放流程,具体过程包括判断视频播放队列中是否有视频数据,如果没有,则继续判断播放列表是否视频数据,如果有,则从视频播放列表中提取一个视频播放数据包,判断视频数据的时间戳与当前正在播放的音频数据的时间戳是否为同时播放,如果否,继续判断视频数据的时间戳与当前正在播放的音频数据的时间戳是否为同时播放,如果是,就同步播放视频数据并返回继续判断视频播放队列中是否有视频数据。通过在播放端同步解码播放流媒体数据包中音视频数据包,使得系统的后开发免受现有播放器和解码器的影响,从而提高多媒体数据包的编解码灵活性。在P2P系统中,由于播放节点的网络状况和运行状况都是时刻变化的,在网络不稳定时会造成数据传送错误。所以在播放节点加入后,一方面将网络中的peer节点可以实时地通过网络命令交互获得周围邻居节点的运行状态,并根据邻居节点的运行状态调整本节点的算法策略,同时,通过节点之间的学习与信息交换,可获得更多有数据的节点,从而有效增加了传送过程中的稳定性。由于多媒体数据包被分割成900至1200KB大小的音频数据或视频数据,传送过程中采用PUSH策略进行传送,在采用I3USH策略前,播放节点向其邻居节点发送多媒体数据包预约请求,当请求的数据包达到邻居节点时,邻居节点采用PUSH的方式将该数据包传送给 发送请求播放的节点。多媒体数据包预约前,需对多媒体数据包进行分组,将PacketID按Γ16分组,每组按f 16进行编号,成为SlicelD。通过此方式完成对传送数据流中的多媒体数据进行分组,对网络中传送的数据流的多媒体数据包完成分组操作后,将流粒度缩小到分组流。在这种分组状态下,任何一个节点需要向其他若干节点请求数据,并请求之后,网络中的任意链路所要传送的数据量不再需要多媒体码率的整数倍,从而提高节点的传送效率,并且保证带宽的利用率得到提高。结合图4,多媒体数据包预约请求,播放节点获取自身维护的数据源指导表;开始预订组内第i个多媒体数据包,从数据源指导表中随机选取一个邻居节点A,其中,随机算法优选转轮盘算法,向节点A发送预约第i个多媒体数据包请求,若A返回预约成功,则判断该组内数据包是否请求完毕,若完毕,则结束预订请求,否则继续请求下一个多媒体数据包,若节点A返回预约不成功,则将节点A移除数据源指导表,从数据源指导表中重新取另一个邻居节点继续预约,直到所有组内多媒体数据包预约完毕。本发明多媒体数据进行播放前,还会接到对数据包进行完整性检验。采用网络缓冲区对网络到达的多媒体数据包进行缓冲处理,数据缓冲区实际上是一个以PacketID为键值的有序队列。播放列表接到多媒体数据包后,立即PUSH到数据缓冲区,在缓冲区内通过PacketID做排序操作依次插入。通常越是最新出现的数据包区域,数据包的无序性越明显,并称该区域为无序区域,越是老数据区域,数据包的完整和有序性越明显,并称该区域为稳定区域。网络无序区域与稳定区域可能同时存在未达到的数据包,但是这两个区域内的未到达数据包表明的信息不一样,无序区域未到达数据包可能正在传送途中,在一定时间后会到达;但是稳定区域未到达的数据包通常以及在传送途中已经丢失,若不及时采取措施将永远丢失。数据包完整性检验的方法的流程,如图5所示,是由播放节点中完整性检查扫描线程完成的。该线程定时启动,然后根据上一次执行的情况和本次运行所确定的网络稳定区域,确定需要进行扫描的指定区域之后,开始以PacketID为索引进行多媒体数据包扫描过程,如果PacketID对应的数据包不存在,则需要将该PacketID放入到丢包队列中。扫描完毕后,会得到一个PacketID列表,若收到该列表说明此时客户端未接收到数据包,即需要对重新请求获取数据包。由于丢包列表的大小可能存在比较大的情况,若仅向一个目标节点请求,则可能是该目标节点负载突然增大而影响其稳定性,故需要将该列表且分成若干小份,然后依旧利用轮盘赌算法从数据源指导列表中选择相应的若干节点进行丢包请求。本发明通过直接收集并编码多媒体数据,将多媒体数据分隔成900至1200字节的多媒体数据包,采用PUSH策略进行小包传送,从而提高传送效率。在传送过程中,播放节点先向邻居节点预约流媒体数据包;预约时按多媒体数据包的编号对多媒体数据进行分组,并设置组内编号;按组内编号随机请求邻居节点,预约组内的多媒体数据包;所述预约不成功,则重新选择邻居节点,否则继续预约,直到组内所有的多媒体数据包都预约完成。通过该方式,有效的增强了传送过程中的稳定性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种闻清视频的闻效传送及编解码的系统,包括 收集服务器,用于对流媒体数据进行同步调整,所述流媒体数据包括音频数据以及视频数据; 内容服务器,接收客户端的请求时向客户端传送流媒体数据包; 业务服务器,用于向播放节点传递其存储的播放信息; 组织服务器,用于对新加入的播放节点进行引导,对已经加入的播放节点进行组织; 客户端,用于接收所述流媒体数据包,并根据编号将流媒体数据包中的视频数据与音频数据以交替的方式进行分析,并以MPEG21或H. 264压缩算法进行解压缩,按照时间戳同步解码播放流媒体数据包中的音频数据与视频数据; 其特征在于将所述流媒体数据包通过网络传送至各播放节点的客户端时,播放节点时先向邻居节点预约流媒体数据包;当预约的流媒体数据包到达时,将所述多媒体整数据包传送到预约该数据包的播放节点。
2.如权利要求I所述高清视频的高效传送及编解码的系统,所述对流媒体数据进行同步调整包括 收集流媒体数据流中的音频数据与视频数据,并对收集的音频数据与视频数据进行编码; 编码后对现场收集的音频数据与视频数据分成不同长度的多媒体数据包,并将音频数据与视频数据包打上时间戳; 将打上时间戳的音频数据与视频数据包进行编码并压缩成流媒体数据包。
3.根据权利要求I所述的高清视频的高效传送及编解码的系统,其特征在于所述收集服务器对收集的音频数据以及视频数据分成不同长度的多媒体数据包,并将多媒体数据包打上时间戳,根据参考时钟生成音频数据与视频数据的时间信息,将多媒体数据包打上时间戳;对于现场收集的音频数据与视频数据,采用收集时间戳,对于非现场收集的音频数据与视频数据,提取多媒体数据包中的时间戳。
4.根据权利要求I所述的高清视频的高效传送及编解码的系统,将所述流媒体数据包通过网络传送至各播放节点的客户端之前,需要将播放节点加入到网络中 为新加入的播放节点分配一个序列号,并将所述序列号与该播放节点信息绑定,所述播放节点信息包括=IP地址、端口号、NAT类型和带宽; 判断所述新加入播放节点的NAT类型,若类型为无法穿透NAT类型,则将该播放节点加入到弱播放节点的队列的队尾; 判断所述新加入的播放节点的是否小于预定值,是则按序列号顺序加入到弱播放节点的队列的相信位置,否则将该播放节点加入到强播放列的相应位置。
5.根据权利要求4所述的高清视频的高效传送及编解码的系统,其特征在于所述预定值为多媒体数据源节点的I. 2至I. 5倍。
6.根据权利要求3所述的高清视频的高效传送及编解码的系统,其特征在于所述客户端播放流媒体数据包中的音频数据时,将音频数据的时间戳与参考时钟的当前时间对t匕,当音频数据已经达到播放时间时,解码播放音频数据。
7.根据权利要求6所述的高清视频的高效传送及编解码的系统,其特征在于所述客户端播放流媒体数据包中的视频数据时,将视频数据的时间戳与当前正在播放的音频数据的时间进行对比,当音频数据同时播放吋,同步播放该视频数据。
8.根据权利要求I所述的高清视频的高效传送及编解码的系统,所述播放节点先向邻居节点预约流媒体数据包包括 按多媒体数据包的编号对多媒体数据进行分组,并设置组内编号; 按组内编号请求邻居节点,预约组内的多媒体数据包; 所述预约不成功,则重新选择邻居节点,否则继续预约,直到组内所有的多媒体数据包都预约完成。
9.根据权利要求I所述的高清视频的高效传送及编解码的系统,所述播放节点加入网络后还包括 通过网络命令交互获得邻居节点的运行信息; 当预约的流媒体数据包到达时,采用PUSH策略将所述多媒体整数据包传送到预约该数据包的播放节点。
10.根据权利要求I至9任一项所述的高清视频的高效传送及编解码的系统,其特征在于所述多媒体数据包大小为900至1200字节。
全文摘要
本发明涉及一种高清视频的高效传送及编解码的系统,包括发送端与客户端,所述发送端用于收集流媒体数据,对收集的流媒体数据进行编码,并将收集后的数据发送至客户端,所述流媒体数据包括音频数据以及视频数据,所述发送端将所述流媒体数据包通过网络传送至各播放节点的客户端;传送时,播放节点先向邻居节点预约流媒体数据包;当预约的流媒体数据包到达时,采用PUSH策略将所述多媒体整数据包传送到预约该数据包的播放节点;所述客户端接收到所述流媒体数据包后,根据编号将流媒体数据包进行分析和解压缩,可有效地提高P2P系统架构的流媒体服务器面对资源点频繁加入和退出时,数据包的传送效率以及稳定性。
文档编号H04N21/63GK102970615SQ20121047723
公开日2013年3月13日 申请日期2012年11月21日 优先权日2012年11月21日
发明者姚巍, 陈中华, 林伟雄, 孙戈, 孙菁 申请人:联想中望系统服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1