一种移动多媒体广播帧间数据的保护方法及装置的制作方法

文档序号:7743295阅读:94来源:国知局
专利名称:一种移动多媒体广播帧间数据的保护方法及装置的制作方法
技术领域
本发明涉及移动多媒体广播技术,尤其涉及一种移动多媒体广播帧间数据的保护方法及装置。
背景技术
随着通信技术的发展,移动多媒体广播技术的应用越来越广。在中国移动多媒体广播(CMMB, China Mobile Multimedia Broadcasting)标准《移动多媒体广播第2部分 复用》中规定,采用复用子帧封装视频、音频等流媒体数据,进行传送。移动多媒体广播系统在进行无线数据传输过程中,噪声的干扰将会引起信号的变形和失真。因此,CMMB标准中在物理层采用信道编码来改善系统性能。但是,由于每个音视频业务被封装在不同复用帧的复用子帧内,而且,CMMB标准中的复用帧是分时隙传送的, 具体的讲,每个音视频业务所占的时隙持续时间通常在IOOms左右,在每一秒中的同一个时隙传送相同的音视频业务。因此,在干扰强度一定的条件下,如果对正常信号持续长时间的干扰,则接收端接收到的某个复用帧内的误码率往往比较高。如果复用帧内的误码率超出了系统的纠错能力范围后,接收端就不能利用携带某个音视频数据的各个复用子帧的数据恢复出该音视频业务的数据。如此,影响了移动多媒体广播系统的传输效率以及容错性。

发明内容
有鉴于此,本发明的主要目的在于提供一种移动多媒体广播帧间数据的保护方法及装置,以解决在复用帧内误码较高时无法恢复出错误的帧数据的缺陷。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种移动多媒体广播帧间数据的保护方法,包括在移动多媒体广播系统的发送端设置一个缓冲区;对于需要做复用子帧帧间数据保护的业务,在携带该业务的数据的多个复用子帧向外发送之前,将封装在各个复用子帧内的数据采用前向纠错编码(FEC)算法进行保护, 之后再向外发送复用子帧。上述方案中,所述将封装在各个复用子帧内的数据采用FEC算法进行保护,具体为将待传送的携带需要保护的业务的复用子帧放入缓冲区,当缓冲区内的复用子帧个数达到m个后,把m个复用子帧携带的数据作为一组,分为k个源数据块,之后采用预先定义的FEC算法,从k个源数据块编码出n-k个冗余编码数据块,并用循环冗余码校验 (CRC)算法得到与源数据块相关的CRC值和与冗余编码数据块相关的CRC值;将n-k个冗余编码数据块分配给m个复用子帧,之后将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造。上述方案中,所述方法进一步包括确定处理到携带所述业务的数据的最后一个复用子帧,结束当前处理流程。
上述方案中,所述将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造,具体为将所述冗余编码数据块、以及辅助信息封装到复用子帧的数据段内;重新构建后的复用子帧内构造前已有的数据仍都放在原来的位置。上述方案中,所述复用子帧为携带了同一个移动多媒体广播业务的、在时间上具有先后关系的复用子帧。上述方案中,所述辅助信息包括与源数据块相关的CRC值、与冗余编码数据块相关的CRC值、块大小、以及序号。上述方案中,所述辅助信息进一步包括源数据块的位置信息;和/或,FEC编码参数。本发明还提供了一种移动多媒体广播帧间数据的保护装置,包括缓冲区、算法模块、以及发送模块;其中缓冲区,用于存放携带需要保护的业务的数据的多个复用子帧,并存放算法模块采用FEC算法保护后的数据,并在存放算法模块采用FEC算法保护后的数据后,触发发送模块;算法模块,用于对存放在缓冲区内的所述多个复用子帧内的数据进行FEC算法, 并在FEC算法完成后将保护后的数据再重新封装到缓冲区里的相应各个复用子帧内;发送模块,用于在算法模块将保护后的数据再重新封装到缓冲区里的相应各个复用子帧内后,发送各个复用子帧。上述方案中,所述算法模块,具体用于对存放在缓冲区内的所述多个复用子帧内的数据进行FEC算法,得到源数据块和冗余编码数据块,再对采用FEC算法得到的源数据块和冗余编码数据块进行CRC算法,得到与源数据块相关的CRC值、以及与冗余编码数据块相关的CRC值,并将FEC算法和CRC算法后得到的冗余数据块、以及辅助信息,封装到缓冲区里的相应各个复用子帧内。上述方案中,所述装置还包括判断模块,用于在发送模块发送重新封装的复用子帧后,确定处理到携带所述业务的数据的最后一个复用子帧,结束处理流程。本发明提供的移动多媒体广播帧间数据的保护方法及装置,在移动多媒体广播系统的发送端设置一个缓冲区,对于需要做复用子帧帧间数据保护的业务,在携带该业务的数据的多个复用子帧向外发送之前,将封装在各个复用子帧内的数据采用FEC算法和CRC 算法进行保护,然后再向外发送;当接收端接收到的复用子帧数据发生错误时或者复用子帧丢失时,只要所接收到的同一组复用子帧内的正确编码数据块个数不小于k,接收端就可以利用前向纠错解码算法恢复出这一组的原始的复用子帧的数据,如此,可以解决移动多媒体广播传播中通常出现的由于长干扰导致复用帧内误码率较高而无法恢复复用子帧数据的问题,进而提升了移动多媒体广播系统的传输效率以及容错性。


图1为本发明实现移动多媒体广播帧间数据的保护方法流程示意图;图2为本发明实施例的实现方法流程示意图3为本发明实施例中前向纠错删除编码过程的示意图;图4为本发明实施例重新构造后的封装了冗余编码数据块和辅助信息的复用子帧的内部结构示意图;图5为本发明移动多媒体广播帧间数据的保护装置结构示意图。
具体实施例方式本发明的基本思想是在移动多媒体广播系统的发送端设置一个缓冲区;对于需要做复用子帧帧间数据保护的业务,在携带该业务的数据的多个复用子帧向外发送之前, 将封装在各个复用子帧内的数据采用FEC算法进行保护,之后再向外发送复用子帧。当接收端接收到的复用帧内数据发生错误或出现丢失时,可以利用复用子帧帧间的保护信息, 恢复出被误码或丢失了的该业务的原始数据。下面结合附图及具体实施例对本发明再作进一步详细的说明。本发明实现移动多媒体广播帧间数据的保护方法流程图如图1所示,包括以下步骤步骤101 在移动多媒体广播的发送端设置一个缓冲区;这里,所述缓冲区的大小可以存放m个复用子帧;所述m值可以根据时延限制、保护强度、以及FEC算法的复杂度等进行设置。步骤102 将待传送的携带需要保护的业务的复用子帧放入缓冲区,当缓冲区内的复用子帧个数达到m个后,执行步骤103 ;本步骤中,所述需要保护的业务可以由管理员进行配置,例如管理员将某些认为重要的业务确定为需要保护的业务;所述复用子帧为携带了同一个移动多媒体广播业务的、在时间上具有先后关系的复用子帧;复用子帧放入缓冲区后,根据时间的先后顺序,发送端会给每个复用子帧配置一个相应的序号;序号为整数,从O开始,最大到X,X 一般选择为m的整数倍-1。步骤103 把m个复用子帧携带的数据作为一组,分为k个源数据块,之后采用预先定义的FEC算法,从k个源数据块编码出n-k个冗余编码数据块,并用循环冗余码校验 (CRC)算法得到与源数据块相关的CRC值和与冗余编码数据块相关的CRC值;这里,所述η值为编码数据块的个数;k、η均为整数,其取值取决于对所保护的业务的数据的保护级别,保护级别越高,(n-k)/n的取值也就越大,k<n;优选的关系为每个复用子帧所携带的数据分为a个源数据块,a为整数,满足 aXm = k ;在采用FEC算法时,需要将源数据块和冗余编码数据块都取统一块大小L,L的取值与FEC算法的编码参数相关;复用子帧中a个源数据块按照L大小等长划分,在划分过程中,如果剩下的数据大小小于L时,则将剩余数据作为一个源数据块,将该源数据块尾部填充对齐到L大小后参与运算,通常用填充零来实现尾部对齐;每个源数据块可以都有一个与其相关的CRC值,每个冗余编码数据块可以都有一个与其相关的CRC值;在实际应用中,为了使处理过程简化,还可以是封装到一个复用子帧内的所有源数据块具有一个与其相关的CRC值,封装到一个复用子帧内的所有冗余编码数据块具有一个与其相关的CRC值。
6
步骤104 将n-k个冗余编码数据块平均分配给m个复用子帧,之后将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造,之后执行步骤105;这里,所述将n-k个冗余编码数据块平均分配给m个复用子帧,具体可以为b Xm =k-n, b称为分配给每个复用子帧冗余编码数据块的个数,b为整数;所述将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造,具体为将所述冗余编码数据块、以及辅助信息封装到复用子帧的数据段内,通过标志字段指示所封装的数据是冗余编码数据块或者是辅助信息,比如采用数据段内的数据单元类型来指示;重新构建后的复用子帧内构造前已有的数据仍都放在原来的位置,具体的讲,视频段的数据仍放在是频段内,音频段的数据仍放在音频段内,数据段内的数据仍放在数据段内,而有关字段,例如复用子帧头的数据段长度、数据段头等,则会根据重新构造导致的实际变动进行变化;所述辅助信息包括与源数据块相关的CRC值、与冗余编码数据块相关的CRC值、 L值、以及序号;所述与源数据块相关的CRC值,具体用于接收端对接收到的复用子帧内的源数据块用CRC算法算出接收到的与每个源数据块相关的CRC值;接收端将计算出的与每个源数据块相关的CRC值与接收到的与每个源数据块相关的CRC值相比较,判断所接收到的复用子帧内的每个源数据块是否有错误;所述与冗余编码数据块相关的CRC值,具体用于接收端对接收到的复用子帧内的冗余编码数据块用CRC算法算出接收到的与每个冗余编码数据块相关的CRC值;接收端将计算出的与每个冗余编码数据块相关的CRC值与接收到的与每个冗余编码数据块相关的CRC值相比较,判断所接收到的复用子帧内的每个冗余编码数据块是否有错误;接收端可以通过所述L值知道组内各个编码数据块的大小,从而可以根据L值计算出与源数据块相关的CRC值和冗余编码数据块相关的CRC值;接收端可以通过所述序号知道接收到的复用子帧是属于哪一个组,具体地,接收端通过c与m的比值取整后可以知道接收的复用子帧的分组号,c为复用子帧的序号,取值范围为0到X,即每处理一个子帧序号增加1,到达X后回绕到0重新开始计数,如果复用子帧的序号为c,所处理子帧所在分组可大致这样计算,分组号Y = [c/m],[]表示取整;接收端还可以通过所述序号知道是否发生了复用子帧的丢失;发送端和接收端可以事先通过其它方式约定接收端具有与发送端相对应的前向纠错解码算法;所述辅助信息可以进一步包括源数据块的位置信息,接收端可以据此知道每个源数据块所在的位置信息;和/或,m、k、η、a、以及b,接收端可以据此进行与发送端相对应的前向纠错解码算法;所述m、k、η、a、以及b,称为FEC编码参数。步骤105 将这m个已经进行数据保护的复用子帧从缓冲区输出,执行发送操作, 之后执行步骤106 ;步骤106 判断是否处理到携带该业务的数据的最后一个复用子帧,如果是,则结束当前处理流程,否则,执行步骤102。本发明提供的移动多媒体广播帧间数据的保护方法,当接收端接收到的复用子帧数据发生错误时或者复用子帧丢失时,可以利用帧间保护信息,采用前向纠错解码就可以恢复出被误码了的或者丢失了的所保护业务的原始数据。对于一组编码数据块,前向纠错解码算法能从任意k个正确的编码数据块中恢复出k个源数据块。具体的讲,当每个源数据块都有一个与其相关的CRC值,每个冗余编码数据块都有一个与其相关的CRC值时,通过辅助信息中的每个与源数据块相关的CRC值可以检测出复用子帧内对应的源数据是否发生错误,如果有哪个复用子帧内的源数据块发生错误时, 接收端将该源数据块标记为删除;根据序号可以检测出复用子帧是否丢失,如果有哪个复用子帧丢失时,接收端将该复用子帧内的所有源数据块和所有的冗余编码数据块标记为删除;同样的,根据每个与冗余编码数据块相关的CRC值可以检测出复用子帧内对应的冗余编码数据块是否发生错误,如果有哪个冗余编码数据块发生错误时,接收端将该冗余编码数据块标记为删除;当封装到一个复用子帧内的所有源数据块具有一个与其相关的CRC值,封装到一个复用子帧内的所有冗余编码数据块具有一个与其相关的CRC值时,通过辅助信息中的与所有源数据块相关的CRC值可以检测出复用子帧内对应的源数据是否发生错误,如果有哪个复用子帧内的源数据块发生错误时,接收端将该复用子帧内的所有源数据块标记为删除;根据序号可以检测出复用子帧是否丢失,如果有哪个复用子帧丢失时,接收端将该复用子帧内的所有源数据块和所有的冗余编码数据块标记为删除;根据与所有冗余编码数据块相关的CRC值可以检测出复用子帧内对应的冗余编码数据块是否发生错误,如果有哪个复用子帧内的冗余编码数据块发生错误时,接收端将该复用子帧内的所有冗余编码数据块标记为删除;只要所接收到的同一组复用子帧内的正确编码数据块个数不小于k,接收端就可以利用前向纠错解码算法恢复出这一组的原始的复用子帧的数据,如此,可以解决移动多媒体广播传播中通常出现的由于长干扰导致复用帧内误码率较高而无法恢复复用子帧数据的问题,进而提升了移动多媒体广播系统的传输效率以及容错性。下面选用复用子帧中某业务的视频段数据,作为需要实施帧间数据保护的数据, 对这部分数据执行FEC算法,具体实现过程如图2所示,包括以下步骤步骤201 在移动多媒体广播的发送端设置一个缓冲区,该缓冲区可以缓存3个复用子帧。步骤202 将待传送的携带该业务视频段数据的复用子帧放入缓冲区,当缓冲区内的复用子帧个数达到3个后,执行步骤203。步骤203 把3个复用子帧携带的数据作为一组,分为6个源数据块,之后采用预先定义的FEC算法,从6个源数据块编码出3个冗余编码数据块,并用CRC算法得到与源数据块相关的CRC值和与冗余编码数据块相关的CRC值;这里,FEC算法为前向纠错删除编码算法。具体的讲,图3为本发明实施例中前向纠错删除编码算法过程的示意图,如图3所示,首先根据3个复用子帧中最大的视频段大小确定编码数据块大小,将最大视频段大小的一半向上取整后的值作为编码数据块大小;其它复用子帧的视频段数据,按照编码数据块的大小分为2个块,不足块大小的剩余数据按实际大小成一个编码数据块,但在执行前向纠错删除编码算法时,不足块大小的编码数据块要用0填充对齐后再参与前向纠错删除编码算法,图3中斜线填充表示数据填充对齐;之后,对6个编码数据块实施前向纠错删除编码算法,生成3个冗余编码数据块,并用CRC算法得到与源数据块相关的CRC值和与冗余编码数据块相关的CRC值;封装在一个复用子帧内的两个源数据块具有有一个与其相关的CRC值,每个冗余编码数据块都有一个与其相关的CRC值。步骤204 将3个冗余编码数据块平均分配给3个复用子帧,之后将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造,之后执行步骤105;图4为实施例重新构造后的封装了冗余编码数据块和辅助信息的复用子帧的内部结构,从图中可以看出,该业务视频段的数据仍然放在视频段内,辅助信息和冗余编码数据块都封装在数据段内的数据单元内,在封装时,数据段内的数据单元类型可以指示所封装的数据是否为冗余编码数据块或辅助信息;所述辅助信息包括与源数据块相关的CRC值、冗余编码数据块相关的CRC值、L 值、以及序号;其中,与源数据块相关的CRC值,具体用于接收端对接收到的复用子帧内的源数据块用CRC算法算出接收到的与每个复用子帧内的所有源数据块相关的CRC值;接收端将计算出的与每个复用子帧内的所有源数据块相关的CRC值与接收到的与复用子帧内的所有源数据块相关的CRC值相比较,判断所接收到的复用子帧内的源数据块是否有错误;与冗余编码数据块相关的CRC值,具体用于接收端对接收到的复用子帧内的冗余编码数据块用CRC算法算出接收到的与每个冗余编码数据块相关的CRC值;接收端将计算出的与每个冗余编码数据块相关的CRC值与接收到的与每个冗余编码数据块相关的CRC 值相比较,判断所接收到的复用子帧内的每个冗余编码数据块是否有错误;接收端可以通过L值知道组内各个编码数据块的大小,从而可以根据L值计算出与源数据块相关的CRC值和冗余编码数据块相关的CRC值;接收端可以通过序号知道接收到的复用子帧是属于哪一个组,并且通过序号可以知道是否发生了复用子帧的丢失;发送端和接收端可以事先通过其它方式约定接收端具有与发送端相对应的前向纠错删除解码算法;前向纠错删除编码算法有关的参数,发送端和接收端也可以事先通过其他方式约定,不包括在辅助信息中;源数据块的位置信息,可通过视频段的位置信息以及L值推导出来,因此也可以不包括在辅助信息中;视频段的位置信息可以从子帧头中得到;步骤205 将这3个已经进行数据保护的复用子帧从缓冲区输出,执行发送操作, 之后执行步骤206 ;步骤206 判断是否处理到携带该业务视频数据的最后一个复用子帧,如果是,则结束当前处理流程,否则,执行步骤202。本实施例提供的方案,在复用子帧内视频段数据发生错误或丢失时,接收端可以从同一组的任意6个正确的编码数据块中恢复出原来的6个源数据块数,也就是说,可以恢复出所有3个复用子帧的视频段数据,从而达到数据保护的目的。
以上所述方案中的复用子帧帧间指的是不同复用帧内的复用子帧的帧间。基于上述方法,本发明还提供一种多媒体广播帧间数据的保护装置,如图5所示, 包括缓冲区51、算法模块52、以及发送模块53 ;其中,缓冲区51,用于存放携带需要保护的业务的数据的多个复用子帧,并存放算法模块52采用FEC算法保护后的数据,并在存放算法模块52采用FEC算法保护后的数据后,触发发送模块53 ;算法模块52,用于对存放在缓冲区51内多个复用子帧内的数据进行FEC算法,以便保护相应业务的数据,并在FEC算法完成后将保护后的数据再重新封装到缓冲区51里的相应各个复用子帧内;发送模块53,用于在算法模块52将保护后的数据再重新封装到缓冲区51里的相应各个复用子帧内后,发送各个复用子帧。其中,所述算法模块52,具体用于对存放在缓冲区51内的多个复用子帧内的数据进行FEC算法,得到源数据块和冗余编码数据块,再对采用FEC算法得到的源数据块和冗余编码数据块进行CRC算法,得到与源数据块相关的CRC值、以及与冗余编码数据块相关的CRC值,并将FEC算法和CRC算法后得到的冗余数据块、以及辅助信息,封装到缓冲区51里的相应各个复用子帧内。所述装置还可以包括判断模块,用于在发送模块53发送重新封装的复用子帧后,确定处理到携带业务的数据的最后一个复用子帧,结束处理流程。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种移动多媒体广播帧间数据的保护方法,其特征在于,该方法包括在移动多媒体广播系统的发送端设置一个缓冲区;对于需要做复用子帧帧间数据保护的业务,在携带该业务的数据的多个复用子帧向外发送之前,将封装在各个复用子帧内的数据采用前向纠错编码(FEC)算法进行保护,之后再向外发送复用子帧。
2.根据权利要求1所述的方法,其特征在于,所述将封装在各个复用子帧内的数据采用FEC算法进行保护,具体为将待传送的携带需要保护的业务的复用子帧放入缓冲区,当缓冲区内的复用子帧个数达到m个后,把m个复用子帧携带的数据作为一组,分为k个源数据块,之后采用预先定义的FEC算法,从k个源数据块编码出n-k个冗余编码数据块,并用循环冗余码校验(CRC)算法得到与源数据块相关的CRC值和与冗余编码数据块相关的CRC值;将n-k个冗余编码数据块分配给m个复用子帧,之后将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括确定处理到携带所述业务的数据的最后一个复用子帧,结束当前处理流程。
4.根据权利要求2所述的方法,其特征在于,所述将分配给每个复用子帧的冗余编码数据块、以及辅助信息封装到对应复用子帧内,对每个复用子帧进行重新构造,具体为将所述冗余编码数据块、以及辅助信息封装到复用子帧的数据段内;重新构建后的复用子帧内构造前已有的数据仍都放在原来的位置。
5.根据权利要求1至4任一所述的方法,其特征在于,所述复用子帧为携带了同一个移动多媒体广播业务的、在时间上具有先后关系的复用子帧。
6.根据权利要求2至4任一所述的方法,其特征在于,所述辅助信息包括与源数据块相关的CRC值、与冗余编码数据块相关的CRC值、块大小、以及序号。
7.根据权利要求6所述的方法,其特征在于,所述辅助信息进一步包括源数据块的位置信息;和/或,FEC编码参数。
8.一种移动多媒体广播帧间数据的保护装置,其特征在于,该装置包括缓冲区、算法模块、以及发送模块;其中缓冲区,用于存放携带需要保护的业务的数据的多个复用子帧,并存放算法模块采用 FEC算法保护后的数据,并在存放算法模块采用FEC算法保护后的数据后,触发发送模块;算法模块,用于对存放在缓冲区内的所述多个复用子帧内的数据进行FEC算法,并在 FEC算法完成后将保护后的数据再重新封装到缓冲区里的相应各个复用子帧内;发送模块,用于在算法模块将保护后的数据再重新封装到缓冲区里的相应各个复用子帧内后,发送各个复用子帧。
9.根据权利要求8所述的装置,其特征在于,所述算法模块,具体用于对存放在缓冲区内的所述多个复用子帧内的数据进行FEC算法,得到源数据块和冗余编码数据块,再对采用FEC算法得到的源数据块和冗余编码数据块进行CRC算法,得到与源数据块相关的CRC 值、以及与冗余编码数据块相关的CRC值,并将FEC算法和CRC算法后得到的冗余数据块、 以及辅助信息,封装到缓冲区里的相应各个复用子帧内。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括判断模块,用于在发送模块发送重新封装的复用子帧后,确定处理到携带所述业务的数据的最后一个复用子帧,结束处理流程。
全文摘要
本发明公开了一种移动多媒体广播帧间数据的保护方法,包括在移动多媒体广播系统的发送端设置一个缓冲区;对于需要做复用子帧帧间数据保护的业务,在携带该业务的数据的多个复用子帧向外发送之前,将封装在各个复用子帧内的数据采用前向纠错编码(FEC)算法进行保护,之后再向外发送复用子帧。本发明还同时公开了一种移动多媒体广播帧间数据的保护装置,采用本发明的方法和装置,接收端就可以利用前向纠错解码算法恢复出所保护业务的原始的复用子帧的数据,如此,可以解决移动多媒体广播传播中通常出现的由于长干扰导致复用帧内误码率较高而无法恢复复用子帧数据的问题,进而提升了移动多媒体广播系统的传输效率以及容错性。
文档编号H04N7/64GK102196273SQ20101012130
公开日2011年9月21日 申请日期2010年3月10日 优先权日2010年3月10日
发明者张建强, 彭甘里, 童登金 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1