一种FEC数据的处理方法及系统

申请号 CN200910243107.8 申请日 2009-12-28 公开(公告)号 CN102111233B 公开(公告)日 2014-03-26
申请人 华为软件技术有限公司; 发明人 徐晋; 许鑫; 雷琼;
摘要 一种FEC数据的处理方法,包括:发送端将FEC数据封装为TS报文,在该TS报文中设置FEC标识信息,并将该TS报文封装为RTP报文;向终端侧发送RTP报文。接收端接收所述的RTP报文;如果具备前向纠错FEC解码功能,则根据接收到的RTP报文中的TS报文中的FEC标识信息识别FEC数据,并根据FEC数据对丢失的媒体报文进行还原;如果不具备FEC解码功能,则将RTP报文去掉报文头后进行处理。本 发明 实施例 还提供了一种FEC数据的发送处理装置和接收处理装置,以及一种处理FEC数据的系统。由于将FEC数据先使用TS格式封装,再使用RTP格式封装传输,因此避免了解码出现异常的情况,提高了媒体服务的 质量 。
权利要求

1.一种FEC数据的处理方法,其特征在于,所述方法包括:
将前向纠错FEC数据封装为传送流TS报文,在所述TS报文中设置FEC标识信息,并将所述TS报文封装为实时传送协议RTP报文;
向终端侧发送所述RTP报文;
接收所述的RTP报文;
如果具备前向纠错FEC解码功能,则通过接收到的所述RTP报文中的TS报文中的FEC标识信息识别FEC数据,并根据所述FEC数据,对丢失的媒体报文进行还原;
如果不具备FEC解码功能,则将所述RTP报文去掉报文头,识别出所述RTP报文中携带的数据不是媒体数据,丢弃所述数据。
2.根据权利要求1所述的方法,其特征在于,所述TS报文中还携带FEC参数,所述FEC参数至少包括:
FEC算法类型、FEC冗余率、FEC包标识符、FEC符号大小和FEC符号数量。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述TS报文中设置FEC标识信息包括:
在报文类型为节目映射表PMT的TS报文中设置FEC数据类型信息;
或者,
在TS报文的包标识符PID字段设置FEC数据类型信息。
4.根据权利要求1所述的方法,其特征在于,如果具备前向纠错FEC解码功能,则该方法还包括:
通过解析所述RTP报文中的TS报文,根据TS报文中的FEC标识信息确定所述TS报文中携带FEC参数;
获取所述FEC参数;
根据所述FEC数据和FEC参数对丢失的媒体报文进行还原。
5.一种FEC数据的处理系统,其特征在于,所述处理系统包括FEC数据发送处理装置和FEC数据接收处理装置,其中:
所述FEC数据发送处理装置进一步包括:
TS报文封装模,用于对前向纠错FEC数据进行封装,生成传输流TS报文,并在所述TS报文中设置FEC标识信息;
RTP报文封装模块,用于对所述TS报文封装模块生成的所述TS报文进行封装,生成RTP报文;
报文发送模块,用于向终端侧发送所述RTP报文封装单元生成的所述RTP报文;
所述FEC数据接收处理装置进一步包括:
报文接收模块,用于接收所述的RTP报文;
数据处理模块,如果所述FEC数据接收处理装置具备FEC解码功能,则所述数据处理模块用于通过所述RTP报文中的TS报文中的FEC标识信息识别FEC数据,并根据所述FEC数据,对丢失的媒体报文进行还原;如果所述FEC数据接收处理装置不具备FEC解码功能,则所述数据处理模块用于将所述RTP报文去掉报文头,识别出所述RTP报文中携带的数据不是媒体数据,丢弃所述数据。
6.根据权利要求5所述的系统,其特征在于,所述TS报文封装模块还用于将FEC参数封装进所述TS报文中,所述FEC参数至少包括:FEC算法类型、FEC冗余率、FEC包标识符、FEC符号大小和FEC符号数量。
7.根据权利要求5所述的系统,其特征在于所述TS报文封装模块在所述TS报文中设置FEC标识信息时,具体用于;在报文类型为节目映射表PMT的TS报文中设置FEC数据类型信息;或者,在TS报文的包标识符PID字段设置FEC数据类型信息。
8.根据权利要求5所述的系统,其特征在于,如果所述FEC数据接收处理装置具备FEC解码功能,则该装置的数据处理模块还用于通过解析所述报文接收模块接收到的所述RTP报文中的TS报文,根据TS报文中的FEC标识信息确定所述TS报文中携带FEC参数;获取FEC参数以便对丢失的媒体报文进行还原。

说明书全文

一种FEC数据的处理方法及系统

技术领域

[0001] 本发明实施例涉及网络通信技术领域,尤其涉及一种FEC数据的处理方法及系统。

背景技术

[0002] 在交互式网络媒体服务系统中,内容分发网络和终端之间通过IP(Internet Protocol,因特网协议)网络互联,使用UDP(User Datagram Protocol,用户数据报协议)报文来传输媒体数据。UDP报文在经过多个承载网设备后可能出现随即丢失,造成终端侧的画面破损或者声音停顿。
[0003] FEC(Forward Error Correction,前向纠错)技术通过服务器侧对媒体数据进行纠错编码,加入冗余信息一并发送,终端侧进行反向FEC解码,对丢失的报文进行恢复。
[0004] 现有的带内传输的FEC技术中,将RTP(Real-time Transport Protocol,实时传送协议)报文头中的PT(Payload Type,净荷类型)字段作为FEC数据的识别标志,通过将FEC冗余信息封装到RTP报文中进行传送。
[0005] 发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
[0006] 现有的带内传输FEC方案中,如果接收端不支持FEC解码功能,则可能导致接收端侧解码异常,使得画面或者声音出现异常,降低用户的收听/收看效果。

发明内容

[0007] 本发明的实施例提供了一种FEC数据的处理方法及系统,从而避免接收端可能出现的解码异常。
[0008] 本发明的目的是通过以下技术方案实现的:
[0009] 一种FEC数据的处理方法,所述方法包括:
[0010] 将前向纠错FEC数据封装为传送流TS报文,在所述TS报文中设置FEC标识信息,并将所述TS报文封装为实时传送协议RTP报文;
[0011] 向终端侧发送所述RTP报文;
[0012] 接收所述的RTP报文;
[0013] 如果具备前向纠错FEC解码功能,则通过接收到的所述RTP报文中的TS报文中的FEC标识信息识别FEC数据,并根据所述FEC数据,对丢失的媒体报文进行还原;
[0014] 如果不具备FEC解码功能,则将所述RTP报文去掉报文头,识别出所述RTP报文中携带的数据不是媒体数据,丢弃所述数据。
[0015] 一种FEC数据的处理系统,所述处理系统包括FEC数据发送处理装置和FEC数据接收处理装置,其中:
[0016] 所述FEC数据发送处理装置进一步包括:
[0017] TS报文封装模,用于对前向纠错FEC数据进行封装,生成传输流TS报文,并在所述TS报文中设置FEC标识信息;
[0018] RTP报文封装模块,用于对所述TS报文封装模块生成的所述TS报文进行封装,生成RTP报文;
[0019] 报文发送模块,用于向终端侧发送所述RTP报文封装单元生成的所述RTP报文;
[0020] 所述FEC数据接收处理装置进一步包括:
[0021] 报文接收模块,用于接收所述的RTP报文;
[0022] 数据处理模块,如果所述FEC数据接收处理装置具备FEC解码功能,则所述数据处理模块用于通过所述RTP报文中的TS报文中的FEC标识信息识别FEC数据,并根据所述FEC数据,对丢失的媒体报文进行还原;如果所述FEC数据接收处理装置不具备FEC解码功能,则所述数据处理模块用于将所述RTP报文去掉报文头,识别出所述RTP报文中携带的数据不是媒体数据,丢弃所述数据。
[0023] 由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,由于将FEC数据先进行TS封装并在TS报文中设置FEC标识信息,再进行RTP封装传送,因此当接收端不支持FEC解码功能时,也不会由于无法识别FEC数据而造成解码异常,因此提高了媒体服务质量,改善了用户的收听/收看效果。附图说明
[0024] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1为本发明实施例提供的处理过程示意图;
[0026] 图2为本发明实施例中TS报文格式示意图;
[0027] 图3为本发明一个实施例提供的处理过程示意图;
[0028] 图4为本发明另一个实施例提供的处理过程示意图;
[0029] 图5为本发明另一个实施例提供的处理过程示意图;
[0030] 图6为本发明一个具体应用实施例的处理过程示意图;
[0031] 图7为本发明实施例提供的FEC数据发送处理装置的结构示意图;
[0032] 图8为本发明实施例提供的FEC数据接收处理装置的结构示意图;
[0033] 图9为本发明实施例提供的处理FEC数据的系统结构示意图。

具体实施方式

[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 交互式网络媒体服务系统中,内容分发网络和终端侧之间通过IP网络互联。所述交互式网络媒体服务系统是指使用UDP报文进行媒体数据传送的系统,例如IPTV(Internet Protocol Television,IP电视)系统、DTV(Digital Television,数字电视)系统等。所述的媒体数据是指视频数据、音频数据、字幕数据和手语数据等。本发明实施例提供一种在交互式网络媒体服务系统中进行FEC数据处理的方法。如图1所示,在内容分发网络侧,本发明实施例提供的方法包括:
[0036] S101、将前向纠错FEC数据封装为传送流TS报文,在TS报文中设置FEC标识信息,并将所述TS报文封装为实时传送协议RTP报文;
[0037] S102、向终端侧发送所述RTP报文。
[0038] 在终端侧,本发明实施例提供的方法包括:
[0039] S103、接收上述的RTP报文;
[0040] S104、如果具备前向纠错FEC解码功能,则根据FEC标识信息识别FEC数据,并根据FEC数据对丢失的媒体报文进行还原;如果不具备FEC解码功能,则将所述RTP报文去掉报文头,识别出所述RTP报文中携带的数据不是媒体数据,丢弃该数据。
[0041] 其中,所述的FEC数据具体包括根据对媒体数据进行FEC编码获得的冗余数据。所述的FEC标识信息用来标识TS报文中携带的是FEC数据。作为举例而非限定,在TS报文中设置FEC标识信息具体实现方式可以是,在报文类型为PMT(Program Map Table,节目映射表)的TS报文中增加FEC数据类型,并将数据类型设置为FEC数据类型;还可以是对TS报文的PID(Packet Identifier,包标识符)字段进行扩展,增加FEC数据类型,并将TS报文的PID字段设置为所述FEC数据类型。
[0042] 上述本发明实施例提供的FEC数据处理方法既可以应用在带外传输的FEC数据处理技术中,也可以应用在带内传输的FEC数据处理技术中。且优选地用于带内传输方式中。
[0043] 上述本发明实施例中,S102和S103具体可以由媒体内容源设备执行,也可以由内容分发网络中单独的服务器执行。S103和S104具体可以由终端侧的机顶盒执行,也可以由终端执行,作为举例而非限定,所述终端是指手机、个人计算机、掌上电脑等设备。S104中解码处理的操作具体可以由机顶盒或者终端上的解码芯片执行。
[0044] 上述本发明实施例提供的方法中,由于在内容分发网络侧将FEC数据先进行TS封装,且在TS报文中设置了FEC标识信息,再进行RTP封装传送,因此当终端侧不支持FEC解码功能时,由于FEC数据的格式与媒体数据的格式不同,不会由于无法识别FEC数据而造成解码异常,因此提高了媒体服务质量,改善了用户的收听/收看效果。而且提高了带内传输方式的兼容性。
[0045] 现有的FEC带内传输方式中还存在的一个问题是:终端侧的FEC编码参数通过与内容分发网络进行信令交互的方式获取,终端侧可能无法及时获取FEC编码参数,导致无法解码FEC数据进行丢包还原。因此,现有的FEC带内传输方式存在FEC编码参数自适应性较差的问题。为解决这一问题,本发明实施例的内容分发网络侧中,上述携带FEC数据的TS报文中还携带FEC参数,该FEC参数具体包括:FEC算法类型、FEC冗余率、FEC包标识符(FEC PID)、FEC符号大小(FEC Symbol Size)和FEC符号数量(FEC Symbol Num)等等。上述的FEC参数在TS报文有效负载中的位置可以是FEC数据之前,也可以是FEC数据之后。其中,FEC算法类型用来指示采用何种FEC算法对媒体数据进行编/解码;FEC冗余率是指冗余信息占未经FEC编码的媒体数据的比例;FEC包标识符是指FEC数据的标识信息;FEC Symbol是FEC编码的最小处理单元,FEC Symbol Size是指最小处理单元的大小,以字节为单位;FEC Symbol Num是指一次进行FEC编码的FEC符号的数量;FEC Payload Type是指携带FEC数据的RTP报文Payload Type字段的取值。相应的,在终端侧接收到上述RTP报文后,如果终端侧具备FEC解码功能,则通过解析所述RTP报文中的TS报文,根据TS报文中的FEC标识信息确定所述TS报文中携带FEC数据和FEC参数;获取所述FEC数据和FEC参数,以便根据该FEC数据和FEC参数对丢失的媒体报文进行还原。本发明实施例提供的技术方案中,上述的FEC参数还可以包括FEC净荷类型(FEC Payload Type),该FEC净荷类型参数设置在封装FEC数据的RTP报文头中,用来识别FEC数据。如果终端侧支持FEC解码功能,可直接根据RTP报文中的FEC净荷类型识别FEC数据。
[0046] TS报文的长度是188字节,其报文结构如图2所示,上述本发明实施例中将FEC数据封装为TS报文具体实现方式可以是将所述需要封装的FEC数据分装在若干个TS报文中进行封装,即封装为TS报文流,且所述TS报文流中还包括数据类型是PAT(Program Association Table,节目关联表)的TS报文和报文类型为PMT的TS报文。
[0047] 以下至说明书第10页的内容将对本发明实施例在实际应用过程中的具体实现方式进行详细的说明。
[0048] 首先对TS报文的结构进行简单介绍。在如图2所示的TS报文格式中,TS报文的长度是188字节,分为首部(即报文头)和有效负载。本发明实施例中,将需要封装的FEC数据和FEC参数作为TS报文的有效数据进行封装。TS的报文头包括:
[0049] 8比特的同步字节,取值为0×47,表示TS报文开始;
[0050] 1比特的传送错误指示器,通过设定的取值表示传送分组中有不可纠正的错误;
[0051] 1比特的有效负载起始指示器,是PES(Packetized Elementary Stream,打包基础流)或者PSI(Program Special Information,节目特殊信息流)的有效负载起始标志;
[0052] 1比特的传送优先级,取值通常为0;
[0053] 13比特的PID,用于区分TS报文的数据类型;
[0054] 2比特的传送加扰控制,取值00表示不加扰;
[0055] 2比特的调整字段控制,指示是否存在调整字段或者有效负载;
[0056] 4比特的连续计数器,从0~16循环递增,如果没有有效负载,则不进行计数;
[0057] 可变字节的调整字段,根据调整字段控制标志位,确定报文头是否包括调整字段。
[0058] 其中,PID的取值为0表示该TS报文是PAT。PAT中的“网络/节目映射PID”字段是PMT的PID,PMT用来定义数据的类型,包括音频数据、视频数据、字幕数据、手语数据等。PMT中的“N循环”部分用来定义数据类型。本发明实施例对PMT进行扩展,在PMT的“N循环”部分增加对FEC数据类型的定义。还可以对TS报文的PID字段进行扩展,通过设置特殊取值表示FEC数据类型,从而增加对FEC数据类型的定义。
[0059] 下面以一个实施例对内容分发网络进行FEC数据带内传输的实现方法进行详细说明,如图3所示,该处理过程包括:
[0060] S301、根据FEC冗余率、FEC算法类型、FEC Symbol Size和FEC SymbolNum对待发送的媒体数据进行FEC编码后发送;
[0061] S302、对上述媒体数据对应的FEC数据和FEC参数进行TS封装:将FEC数据和FEC参数封装到TS报文的有效负载中,并在TS报文中设置FEC数据标识信息,该标识信息具体可以是上述PMT中的“N循环”部分扩展的FEC数据类型,也可以是上述TS报文的PID字段中扩展的FEC数据类型;
[0062] S303、将携带上述FEC数据和FEC参数的TS报文进行RTP封装;
[0063] S304、将得到的RTP报文经过与上述媒体数据相同的端口发送。
[0064] 其中,FEC参数由内容分发网络侧确定。
[0065] 通过对TS报文中PID字段进行扩展或者对PMT进行扩展,增加FEC数据类型,并将FEC数据先进行TS封装,再进行RTP封装传送,而无需在RTP报文头中的PT字段对FEC数据进行标识。
[0066] 上述本发明实施例中,内容分发网络侧通过扩展的PMT或者扩展的TS报文的PID字段对FEC数据进行标识,并将FEC数据先进行TS封装,在进行RTP封装发送,较之现有技术中在RTP报文头中通过PT标识FEC数据,避免了由于终端侧不具备FEC解码功能而造成的解码异常。
[0067] 下面以一个实施例对具备FEC解码功能的终端侧对带内传输的FEC数据进行处理的实现方法进行详细说明,如图4所示,该处理过程包括:
[0068] S401、通过与内容分发网络侧进行信令交互后确定媒体数据接收端口,并绑定该端口用来接收FEC数据;
[0069] S402、接收内容分发网络侧发送的RTP报文,该RTP报文可能是媒体数据,也可能是FEC数据,且媒体数据和FEC数据均经过TS封装后封装在RTP报文中;
[0070] S403、对上述接收到的RTP报文中的TS报文进行解析,根据PAT和PMT获取媒体数据的PID和FEC数据的PID,以及媒体数据参数(例如媒体数据编码格式、图像大小等)和FEC参数(例如FEC算法类型、FEC冗余率、FEC PID、FEC Symbol Size和FEC Symbol Num等);
[0071] S404、根据所述媒体数据的参数对解码芯片进行初始化;
[0072] S405、根据FEC数据标识信息确定携带FEC数据的报文,获取FEC数据并缓存,并对媒体数据的RTP报文进行乱序重排,检查媒体数据是否有丢包,如果发现丢包,使用缓存的FEC数据对丢包进行还原处理;
[0073] S406、将还原得到的媒体数据和接收到的媒体数据发送给解码芯片;
[0074] S407、解码芯片按照上述初始化设定的方式,对媒体数据进行解码。
[0075] 上述处理过程是支持FEC解码功能的终端侧对接收到的RTP报文进行处理的具体实施方式。
[0076] 下面以另一个实施例对不具备FEC解码功能的终端侧对带内传输的FEC数据进行处理的实现方法进行详细说明,如图5所示,该处理过程包括:
[0077] S501、通过与内容分发网络侧进行信令交互后确定媒体数据接收端口,该端口也用来接收FEC数据;
[0078] S502、接收内容分发网络侧发送的RTP报文,该RTP报文可能是媒体数据,也可能是FEC数据,且媒体数据和FEC数据均经过TS封装后封装在RTP报文中;
[0079] S503、对上述接收到的RTP报文中的TS报文进行解析,根据PAT和PMT获取媒体数据的PID,以及媒体数据参数(例如媒体数据编码格式、图像大小等);
[0080] S504、根据上述媒体数据参数对解码芯片进行初始化;
[0081] S505、去掉RTP报文头,将接收到的携带媒体数据的TS报文和携带FEC数据的TS报文发送给解码芯片;
[0082] S506、解码芯片按照上述初始化设定的方式,对接收到的媒体数据进行解码,由于携带FEC数据的TS报文的数据类型标识信息与携带媒体数据的TS报文的数据类型标识信息不同,即FEC数据的编码格式与媒体数据不同,因此解码芯片识别到FEC数据并非媒体数据后丢弃。
[0083] 下面的一个具体应用场景中实现EFC数据带内传输为例,详细描述本发明实施例提供的方法。在该具体应用场景中,IPTV系统的内容源设备A向终端侧的机顶盒B和机顶盒C发送媒体流数据,其中,机顶盒B支持FEC解码功能,机顶盒C不支持FEC解码功能。其处理过程如图6所示,具体实现方式如下:
[0084] S601、机顶盒B和机顶盒C分别通过与内容源设备A进行信令交互后确定媒体数据接收端口,且机顶盒B绑定该端口用来接收FEC数据,机顶盒C也通过该端口接收FEC数据;
[0085] S602、内容源设备A根据FEC冗余率、FEC算法类型、FEC Symbol Size和FEC Symbol Num对待发送的媒体数据进行FEC编码后分别发送给机顶盒B和机顶盒C;
[0086] S603、内容源设备A对上述媒体数据对应的FEC数据和FEC参数进行TS封装:将FEC数据和FEC参数封装到TS报文的有效负载中,并在TS报文中设置FEC数据标识信息,该标识信息具体可以是上述PMT中的“N循环”部分扩展的FEC数据类型,也可以是上述TS报文的PID字段中扩展的FEC数据类型;
[0087] S604、将携带上述FEC数据和FEC参数的TS报文进行RTP封装;
[0088] S605、将得到的RTP报文经过与上述媒体数据相同的端口分别发送给机顶盒B和机顶盒C;
[0089] S606、机顶盒B接收内容源设备A发送的RTP报文,该RTP报文可能是媒体数据,也可能是FEC数据,且媒体数据和FEC数据均经过TS封装后封装在RTP报文中;
[0090] S607、机顶盒B对上述接收到的RTP报文中的TS报文进行解析,根据PAT和PMT获取媒体数据的PID和FEC数据的PID,以及媒体数据参数(例如媒体数据编码格式、图像大小等)和FEC参数(例如FEC算法类型、FEC冗余率、FEC PID、FEC Symbol Size和FEC Symbol Num等);
[0091] S608、机顶盒B根据上述媒体数据的参数对本地解码芯片进行初始化;
[0092] S609、机顶盒B根据FEC数据标识信息确定携带FEC数据的报文,获取FEC数据并缓存,并对媒体数据的RTP报文进行乱序重排,检查媒体数据是否有丢包,如果发现丢包,使用缓存的FEC数据对丢包进行还原处理;
[0093] S610、机顶盒B将还原得到的媒体数据和接收到的媒体数据发送给本地解码芯片;
[0094] S611、机顶盒B的本地解码芯片按照上述初始化设定的方式,对媒体数据进行解码;
[0095] S612、机顶盒C接收内容源设备A发送的RTP报文,该RTP报文可能是媒体数据,也可能是FEC数据,且媒体数据和FEC数据均经过TS封装后封装在RTP报文中;
[0096] S613、机顶盒C对上述接收到的RTP报文中的TS报文进行解析,根据PAT和PMT获取媒体数据的PID,以及媒体数据参数(例如媒体数据编码格式、图像大小等);
[0097] S614、机顶盒C根据上述媒体数据参数对本地解码芯片进行初始化;
[0098] S615、机顶盒C去掉RTP报文头,将接收到的携带媒体数据的TS报文和携带FEC数据的TS报文发送给本地解码芯片;
[0099] S616、机顶盒C的本地解码芯片按照上述初始化设定的方式,对接收到的媒体数据进行解码,由于携带FEC数据的TS报文的数据类型标识信息与携带媒体数据的TS报文的数据类型标识信息不同,即FEC数据的编码格式与媒体数据不同,因此解码芯片识别到FEC数据并非媒体数据后丢弃。
[0100] 上述处理过程是不支持FEC解码功能的终端侧对接收到的RTP报文进行处理的具体实施方式。由于FEC数据的编码格式与媒体数据不同,因此解码芯片不会将FEC数据当作媒体数据进行解码,避免了解码异常的发生。
[0101] 如果在带外传输的FEC数据处理过程中应用本发明实施例提供的方法,可参照上述本发明各实施例提供的数据处理过程,在本发明实施例中,带外传输与带内传输进在数据传输端口上有所区别。带外传输方式中,携带FEC数据的RTP报文和携带媒体数据的RTP报文使用不同的IP端口进行传输。而在内容分发网络对FEC数据的处理过程,以及在终端侧对FEC数据的处理过程可参照上述各实施例中提供的处理过程。
[0102] 实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0103] 本发明实施例还提供了一种FEC数据发送处理装置,其结构如图7所示,具体实现结构包括:
[0104] TS报文封装模块701,用于对前向纠错FEC数据进行封装,生成传输流TS报文,并在所述TS报文中设置FEC标识信息;RTP报文封装模块702,用于对所述TS报文封装模块生成的所述TS报文进行封装,生成RTP报文;报文发送模块703,用于向终端侧发送所述RTP报文封装单元生成的所述RTP报文。其中,所述的FEC数据具体包括根据对媒体数据进行FEC编码获得的冗余数据。所述的FEC标识信息用来标识TS报文中携带的是FEC数据。作为举例而非限定,在TS报文中设置FEC标识信息具体实现方式可以是,在PMT中增加FEC数据类型,并将数据类型设置为FEC数据类型;还可以是对TS报文的PID字段进行扩展,增加FEC数据类型,并将TS报文的PID字段设置为所述FEC数据类型。
[0105] 上述FEC数据发送处理装置在内容分发网络侧,具体可以是内容媒体源中的一个模块,也可以是独立的服务器。
[0106] 其中,所述TS报文封装模块701还用于将FEC参数封装进所述TS报文中,所述FEC参数包括:FEC算法类型、FEC冗余率、FEC包标识符、FEC符号大小和FEC符号数量。本发明实施例提供的技术方案中,上述的FEC参数还可以包括FEC净荷类型(FEC Payload Type),该FEC净荷类型参数设置在封装FEC数据的RTP报文头中,用来识别FEC数据。如果终端侧支持FEC解码功能,可直接根据RTP报文中的FEC净荷类型识别FEC数据。
[0107] 上述本发明实施例提供的装置中,所述TS报文封装模块701在所述TS报文中设置FEC标识信息时,具体用于;在报文类型为PMT的TS报文中设置FEC数据类型信息;或者,在TS报文的PID字段设置FEC数据类型信息。
[0108] 本发明实施例还提供一种FEC数据的接收处理装置,其结构如图8所示,具体实现结构包括:
[0109] 报文接收模块801,用于接收上述FEC数据的发送处理装置发送的RTP报文;数据处理模块802,如果所述接收处理装置具备FEC解码功能,则所述数据处理模块用于通过所述RTP报文中的TS报文中的FEC标识信息识别FEC数据,并根据所述FEC数据,对丢失的媒体报文进行还原;如果所述接收处理装置不具备FEC解码功能,则所述数据处理模块用于将所述RTP报文去掉报文头,识别出所述RTP报文中携带的数据不是媒体数据,丢弃所述数据。
[0110] 上述本发明实施例提供的FEC数据的接收处理装置在终端侧,具体可以是机顶盒,也可以是终端。
[0111] 如果上述接收处理装置具备FEC解码功能,则该装置中的数据处理模块802还用于通过解析所述报文接收模块701接收到的所述RTP报文中的TS报文,根据TS报文中的FEC标识信息确定所述TS报文中携带FEC参数;获取所述FEC参数以便对丢失的媒体报文进行还原。
[0112] 上述本发明实施例提供的FEC数据发送处理装置,将FEC数据先进行TS封装,且在TS报文中设置了FEC标识信息,再进行RTP封装传送,因此当FEC数据接收处理装置不支持FEC解码功能时,由于FEC数据的格式与媒体数据的格式不同,不会由于无法识别FEC数据而造成解码异常,因此提高了媒体服务质量,改善了用户的收听/收看效果。而且提高了带内传输方式的兼容性。
[0113] 本发明实施例还提供一种处理FEC数据的系统,其结构如图9所示,具体实现结构包括一个上述任意所述的FEC数据发送处理装置,和至少一个上述任意所述的FEC数据接收处理装置。其中,FEC数据发送处理装置和FEC数据接收处理装置之间通过因特网进行通信,FEC数据发送处理装置及FEC数据接收处理装置的具体实现方式可参考上述描述,这里不再赘述。
[0114] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
QQ群二维码
意见反馈