基于应用层前向纠错技术的实时流传输系统及其方法与流程

文档序号:12131377阅读:225来源:国知局
基于应用层前向纠错技术的实时流传输系统及其方法与流程

本发明涉及一种实时流媒体技术领域,特别是涉及一种基于应用层前向纠错技术的实时流传输系统及其方法。



背景技术:

网络视频、远程控制、网络电话等都是基于实时流技术进行传输的。实时流技术需要专属的流媒体服务器和与之匹配的传输协议,并要求较高的网络通信带宽条件,以保证实时流传输的质量。

当前我们常使用的实时流媒体技术主要是使用UDP传输协议或者RTP传输协议,而UDP传输协议在数据传输过程中不够稳定,会出现丢包的问题,使得用户在使用实时流媒体技术时体验下降,另外,由于RTP传输协议是建立在不进行任何拥塞控制的UDP传输协议基础上,因此,RTP传输协议同样存在丢包的问题。

故,有必要提出一种克服现有技术种种缺失的基于应用层前向纠错技术的实时流传输系统及其方法,以解决实时流传输过程中的丢包的问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种可解决实时流传输过程中的丢包问题的基于应用层前向纠错技术的实时流传输系统及其方法,进而提升实时流媒体技术的用户体验。

为实现上述目的及其他相关目的,本发明提供一种基于应用层前向纠错技术的实时流传输系统,其应用于基于网络的服务器、转发节点与用户终端中,其中,该服务器用于响应该用户终端的请求发送至少一源视频数据,其特征在于,所述基于应用层前向纠错技术的实时流传输系统包括:接收补零模块,设置于该转发节点中,用以通过该网络以一特定传输协议接收该服务器所发送的所有源视频数据,并将不满足一特定数据长度的源视频数据做补零处理,进而将所接收的所有源视频数据生成数据长度相同的数据包,以作为源数据包;编码组合模块,设置于该转发节点中,用以采用一应用层前向纠错编码对该接收补零模块所生成的源数据包进行编码处理,以生成修复数据包,并将源数据包和修复数据包组合成为一编码数据包;组帧发送模块,设置于该转发节点中,用以将该编码组合模块所产生的编码数据包进行数据包组帧,以生成发送包,并通过该网络以所述特定传输协议将所生成的发送包予以发送;接收解析模块,设置于该用户终端中,用以通过该网络以所述特定传输协议接收该组帧发送模块所发送的发送包,并对所述发送包进行解析处理,以解析出所述编码数据包;以及解码合并模块,设置于该用户终端中,用以采用所述应用层前向纠错编码对所解析出的编码数据包进行解码处理,以解码出所述的源数据包,并对解码出的属于同一源视频数据的源数据包进行合并处理,以恢复为所述源视频数据,而供用户在用户终端播放。其中,该组帧发送模块进一步包括:分别在编码数据包的每一个源数据包和修复数据包前面增加一个18字节的头字段以完成数据包组帧过程,进而生成所述发送包。

优选地,在本发明的基于应用层前向纠错技术的实时流传输系统的一实施例中,该组帧发送模块进一步包括:将所生成的发送包通过该网络以单播方式予以发送;在本发明的基于应用层前向纠错技术的实时流传输系统的另一实施例中,该组帧发送模块进一步包括:将所生成的发送包通过该网络以组播方式予以发送。

此外,本发明还提供一种基于应用层前向纠错技术的实时流传输方法,其应用于基于网络的服务器、转发节点与用户终端中,其中,该服务器用于响应该用户终端的请求发送至少一源视频数据,其特征在于,所述基于应用层前向纠错技术的实时流传输方法包括:1)在该转发节点侧,通过该网络以一特定传输协议接收该服务器所发送的所有源视频数据,并将不满足一特定数据长度的源视频数据做补零处理,进而将所接收的所有源视频数据生成数据长度相同的数据包,以作为源数据包;2)在该转发节点侧,采用一应用层前向纠错编码对所生成的源数据包进行编码处理,以生成修复数据包,并将源数据包和修复数据包组合成为一编码数据包;3)在该转发节点侧,将所产生的编码数据包进行数据包组帧,以生成发送包,并通过该网络以所述特定传输协议将所生成的发送包予以发送;4)在该用户终端侧,通过该网络以所述特定传输协议接收该转发节点所发送的发送包,并对所述发送包进行解析处理,以解析出所述编码数据包;以及5)在该用户终端侧,采用所述应用层前向纠错编码对所解析出的编码数据包进行解码处理,以解码出所述的源数据包,并对解码出的属于同一源视频数据的源数据包进行合并处理,以恢复为所述源视频数据,而供用户在用户终端播放。其中,上述步骤3)进一步包括:在该转发节点侧,分别在编码数据包的每一个源数据包和修复数据包前面增加一个18字节的头字段以完成数据包组帧过程,进而生成所述发送包。

在本发明的基于应用层前向纠错技术的实时流传输方法的一实施例中,上述步骤3)进一步包括:将所生成的发送包通过该网络以单播方式予以发送;在本发明的基于应用层前向纠错技术的实时流传输方法的另一实施例中,上述步骤3)进一步包括:将所生成的发送包通过该网络以组播方式予以发送。

其中,该特定传输协议可例如为UDP传输协议或者RTP传输协议,但不以此为限。该应用层前向纠错编码为里所码(Reed-solomon codes;RS)或者喷泉编码等,而该喷泉编码支持Raptor和RaptorQ两种模式。该用户终端可例如为手机、平板电脑或者台式电脑等。

如上所述,本发明提出一种基于应用层前向纠错技术的实时流传输系统及其方法,主要是在转发节点侧对服务器所发送的源视频数据进行补零处理,以生成数据长度相同的源数据包,然后应用应用层前向纠错编码对源数据包进行编码处理,以生成修复数据包,并将源数据包和修复数据包组合成为一编码数据包,再经过数据包组帧处理,而生成发送包,并予以发送至用户终端;在用户终端对所接收的发送包进行相应的解析、解码与合并处理,以恢复所有的原始的源视频数据,进而供用户在用户终端播放,籍由应用层前向纠错编码在应用层这种端到端模式的应用来解决网络丢包问题。

附图说明

图1显示为本发明的基于应用层前向纠错技术的实时流传输系统的方块示意图。

图2显示为应用本发明的基于应用层前向纠错技术的实时流传输系统的头字段结构图。

图3显示为本发明的基于应用层前向纠错技术的实时流传输方法的操作流程示意图。

图4a~4d显示为应用本发明的基于应用层前向纠错技术的实时流传输方法的一具体实施例的数据补零、编码与组帧的数据包格式示意图,其中,图4a是显示源视频数据;图4b是显示源数据包;图4c是显示编码数据包;图4d是显示发送包。

元件标号说明

1 服务器

2 转发节点

21 接收补零模块

22 编码组合模块

23 组帧发送模块

3 用户终端

31 接收解析模块

32 解码合并模块

S10~S15 步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

请参阅图1,本发明提供一种基于应用层前向纠错技术的实时流传输系统,其应用于基于网络的服务器1、转发节点2与用户终端3中,其中,该服务器1用于响应该用户终端3的请求发送至少一源视频数据。如图1所示,本发明的基于应用层前向纠错技术的实时流传输系统包括接收补零模块21、编码组合模块22、组帧发送模块23、接收解析模块31以及解码合并模块32。其中,该用户终端3可例如为手机、平板电脑或者台式电脑等,而该源视频数据的格式不限定,可例如为ASF格式、MOV格式、WMV格式、RM格式、RMVB格式以及SWF格式等。以下即对本发明的基于应用层前向纠错技术的实时流传输系统进行详细说明。

如图1所示,该接收补零模块21是设置于该转发节点2中,用以通过该网络以一特定传输协议接收该服务器1所发送的所有源视频数据,并将不满足一特定数据长度的源视频数据做补零处理,进而将所接收的所有源视频数据生成数据长度相同的数据包,以作为源数据包。其中,该特定传输协议为UDP传输协议或RTP传输协议等,但不以此为限。

该编码组合模块22是设置于该转发节点2中,用以采用一应用层前向纠错编码对该接收补零模块21所生成的源数据包进行编码处理,以生成修复数据包,并将源数据包和修复数据包组合成为一编码数据包。其中,该应用层前向纠错编码可例如为里所码或者喷泉编码等,但不以此为限,而该喷泉编码支持Raptor和RaptorQ两种模式。

该组帧发送模块23是设置于该转发节点2中,用以将该编码组合模块22所产生的编码数据包进行数据包组帧,以生成发送包,并通过该网络以上述特定传输协议将所生成的发送包予以发送。更详而言之,该组帧发送模块23的数据包组帧过程是分别在编码数据包的每一个源数据包和修复数据包前面增加一个如图2所示的18字节的头字段,而生成所述发送包,其中,图2所示的头字段中各栏位所代表的具体含义如表1所示;此外,在一个实施例中,上述所生成的发送包可以通过该网络以单播方式予以发送,但不以此为限,在其他实施例中,上述所生成的发送包也可以通过该网络以组播方式予以发送。

表1

该接收解析模块31是设置于该用户终端3中,用以通过该网络以上述特定传输协议接收该组帧发送模块23所发送的发送包,并对所述发送包进行解析处理,以解析出所述编码数据包。

该解码合并模块32是设置于该用户终端3中,用以采用上述应用层前向纠错编码对所解析出的编码数据包进行解码处理,以解码出所述的源数据包,并对解码出的属于同一源视频数据的源数据包进行合并处理,以恢复为所述源视频数据,而供用户在用户终端3播放。

请参阅图3,是显示应用如上所述的基于应用层前向纠错技术的实时流传输系统执行基于应用层前向纠错技术的实时流传输操作步骤。

如图3所示,首先,执行步骤S10,在服务器1侧,响应该用户终端3的请求发送至少一源视频数据。其中,该源视频数据的格式不限定,可例如为ASF格式、MOV格式、WMV格式、RM格式、RMVB格式以及SWF格式等。接着,进行步骤S11。

在步骤S11中,在转发节点2侧,通过该网络以一特定传输协议接收该服务器1所发送的所有源视频数据,并将不满足一特定数据长度的源视频数据做补零处理,进而将所接收的所有源视频数据生成数据长度相同的数据包,以作为源数据包。其中,该特定传输协议为UDP传输协议或RTP传输协议等,但不以此为限。接着,进行步骤S12。

在步骤S12中,在转发节点2侧,采用一应用层前向纠错编码对所生成的源数据包进行编码处理,以生成修复数据包,并将源数据包和修复数据包组合成为一编码数据包。其中,该应用层前向纠错编码可例如为里所码或者喷泉编码等,但不以此为限,而该喷泉编码支持Raptor和RaptorQ两种模式。接着,进行步骤S13。

在步骤S13中,在转发节点2侧,将所产生的编码数据包进行数据包组帧,以生成发送包,并通过该网络以前述特定传输协议将所生成的发送包予以发送。具体而言,上述数据包组帧的过程是在编码数据包的每一个源数据包和修复数据包前面增加一个如图2所示的18字节的头字段,而成为所述发送包;此外,在一个实施例中,上述所生成的发送包可以通过该网络以单播方式予以发送,但不以此为限,在其他实施例中,上述所生成的发送包也可以通过该网络以组播方式予以发送。接着,进行步骤S14。

在步骤S14中,在用户终端3侧,通过该网络以前述特定传输协议接收该转发节点2所发送的发送包,并对所接收的发送包进行解析处理,以解析出上述编码数据包。接着,进行步骤S15。

在步骤S15中,在用户终端3侧,采用前述应用层前向纠错编码对所解析出的编码数据包进行解码处理,以解码出所述的源数据包,并对解码出的属于同一源视频数据的源数据包进行合并处理,以恢复为所述源视频数据,而供用户在用户终端3播放。

为更详尽了解应用本发明在转发节点2侧如何对源视频数据进行补零、编码以及组帧的过程,以下以同时接收到的源视频数据有4段(分别是具有40个字节长的源视频数据1、具有45个字节长的源视频数据2、具有30个字节长的源视频数据3、以及具有38个字节长的源视频数据4)且特定数据长度为45个字节并配合上述步骤S11~S13与图4a~4d为例进行说明,首先,在执行步骤S11时,在转发节点2侧,按45个字节的长度对所接收的如图4a所示的4段源视频数据分别进行补零处理,将不满足前述45个字节的长度的源视频数据1、3以及4做补零处理,进而将所接收的所有源视频数据生成数据长度相同的数据包,以作为如图4b所示的源数据包1、2、3、4;接着,在执行步骤S12时,在转发节点2侧,采用一应用层前向纠错编码对所生成的源数据包进行编码处理,以生成修复数据包,并将源数据包和修复数据包组合成为一如图4c所示的编码数据包;然后,在执行步骤S13时,在转发节点2侧,将所产生的编码数据包进行数据包组帧,即分别在编码数据包的每一个源数据包和修复数据包前面增加一个如图2所示的18字节的头字段,而生成一如图4d所示的发送包,并通过该网络将所生成的发送包予以发送。

综上所述,本发明提供一种基于应用层前向纠错技术的实时流传输系统及其方法,主要是将应用层前向纠错编码透明地应用在IP层之上的应用层,可以很好的解决网络丢包问题,进而保证实时流传输质量,大大提升实时流媒体技术的用户体验。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1