基于fec的选择重传系统及其重传方法

文档序号:7945655阅读:241来源:国知局

专利名称::基于fec的选择重传系统及其重传方法
技术领域
:本发明属于网络通信
技术领域
,涉及FEC的选择重传方法,可用于实时多媒体传输及其它数据传输。
背景技术
:随着多媒体技术以及通信网络的迅速发展,多媒体应用已成为Internet不可或缺的一部分,也逐渐成为人们日常生活的一部分。很多实时多媒体应用如视频会议、网络电话及流媒体播放器等不断涌现,这些应用不仅方便了信息交流还丰富了人们的娱乐生活。虽然目前多媒体应用有了很大的进步,但存在私有性,不够灵活,不能给用户提供满意的视觉体验,如RealPlayer及WindowsMediaPlayer。随着视频压縮技术的不断发展,如MPEG-4和&264标准的出现,其利用帧间时间相关性和图像空间相关性获得高水平的压缩,增加了传输效率,但受误码扩散的影响比较大。同时由于网络环境的带宽条件、分组丢失率或者比特错误率等因素影响了多媒体流的传输性能,导致媒体播放质量下降,因此必须对传输的视频数据使用多种差错控制方法。对多媒体应用实现差错控制有开环和闭环两种方式。闭环方式主要利用现有网络条件的反馈信息自适应错误控制,主要方法是重传,但闭环方式会增加传输时延。开环方式不需要反馈信息,在前向信道中实现差错控制,但发端不能预测丢包情况,主要方法有FEC和交织等,在编码端对信息交织降低突发丢包的影响,传输过程中利用FEC为信息增加了冗余抗丢包等技术实现的。该方式时延较小,但在误码率高或者网络条件很差的情况下,FEC差错控制对突发丢包事件的作用比较差,而且不能预测突发丢包长度,所以难于实现突发丢包差错控制。开环方式在一定条件下可以有效的提高数据传输质量,但会引入较大的开销和较高的计算复杂度,且算法灵活性差,特别是针对时变的传输网络。曾一度时期人们认为闭环重传方法由于需要反馈而引起较长的时延不能满足实时传输的要求,因此致力于开环的研究,通过增加数据冗余减轻丢包的影响。但对于大多数多媒体应用允许一定的时延,尤其是具有播放缓存的应用中,如果反馈信息只需要很小的带宽要求和处理代价,这样闭环的优点逐渐显现出来。另外特别是对服务质量要求严格的多媒体应用,如医生通过Internet网络视频远程检查疾病,重传方法必不可少。Dempsey等人证明了多媒体通信中基于重传错误控制的可行性之后,人们提出了各种闭环方法,特别是混合自动请求重传方法HARQ。根据其重传内容的不同,HARQ可分为Type-IHARQ、Type-IIHARQ和Type-IIIHARQ三类1.Type-IHARQ是简单地将自动请求重传ARQ与前向纠错码FEC技术结合,对于收到的数据包先进行解码纠错,若能纠正其中的错误则接受此包;否则,丢弃此包并向发送端请求重发该数据包。2.Type-IIHARQ的特点是重传的数据与正常传输的数据不同,它只包含FEC编码的校验冗余数据,不包含信息数据,在接收端保存出错的数据包并与重传的冗余校验数据进行合并解码。3.Type-IllHARQ是指重传的数据包包含与原数据包相同的信息数据和不同FEC编码的冗余校验数据,每次重传的数据包可直接解码,如果不能正确解码,则与先前传输的出错数据包合并成一个具有更大冗余度的数据包进行解码。所述的Type-1HARQ由于对错误和丢失的数据包全部进行重传,没有充分利用解码失败后的FEC的冗余信息,因而重传的数据量很大。所述的Type-IIHARQ和Type-IIIHARQ都属于递增冗余型的HARQ,重传的数据具有盲目性,也就是说重传的一部分数据可能对解码完全没有贡献,因而重传的数据量也较大。
发明内容本发明的目的是克服上述技术的缺点,提出了基于FEC的选择重传系统及重传方法,以减小重传数据量和消除重传数据的盲目性,提高网络带宽的利用率。为实现上述目的,本发明提供的选择重传系统包括封装器用于对重传数据分组和非重传数据分组用设定数据包格式进行封装,并传给FEC编码器;FEC编码器用FEC对封装后的数据分组进行编码,并把编码后的数据通过正向信道送往FEC解码器;FEC解码器用于恢复丢失的数据分组,把恢复出的数据分组送往解封装器,把没有恢复出的数据分组的序号和校验分组送往重传分组解码器和重传分组判断器;解封装器根据设定数据包格式对封装器封装的数据解封装,得出重传数据分组和非重传数据分组,并把重传数据分组送往重传分组解码器,把非重传数据分组送往缓冲区;重传分组解码器利用校验分组和重传数据分组恢复出全部数据分组,并把恢复出的数据分组送往解封装器;重传分组判断器用于选择需要重传的数据分组的序号,并通过反向信道送往封装器;缓冲区用于暂时存储恢复出的数据分组。为实现上述目的,本发明提供的选择重传方法,包括如下步骤(1)利用FEC对U个数据分组编码,得出V个校验分组,U〉0,v〉0;(2)发送端发送FEC编码后的u个数据分组和v个校验分组;(2)接收端收到w'个数据分组和v'个校验分组,w'《w,v^v;(3)FEC对接收端收到的w'个数据分组和i/个校验分组进行解码,恢复出一部分丢失的数据分组和校验分组,剩余没有恢复的n个数据分组和k个校验分组;(4)根据没有恢复的校验分组的个数k和数据分组的个数n,构造大小为"x^的矩阵D,如果第i个校验分组校验第j个数据分组,则D[i][j卜l,否则D[i][j]:O,(5)将矩阵D通过初等列变换化简成左下三角型矩阵E;(6)找出所有满足三角型矩阵五W[5hO条件的s的值,组成重传序列4,^,..,^,作为重传的数据包序号,s为一个变量,取值范围为从l到n;(7)将数据包序列Z,,Z2,…,Zm进行重传;(8)解码端接收到序列为21,22,...,2的数据分组,恢复出全部丢失的数据分组。本发明与现有技术相比具有如下优点1)本发明中的选择重传系统由于采用了特定的数据包格式对分组进行传输,使非重传分组和重传分组能够在同一个正向信道中传输,而且能被同一个FEC校验,因此复杂度低,易于实现。2)本发明的选择重传方法由于采用将矩阵D化简成左下三角型矩阵E,并找出所有满足三角型矩阵条件的s的值,组成重传序列21,22,...,2,与现有Type-IHARQ相比充分利用了FEC分组之间的校验关系,减少了不必要的分组重传;与现有6Type-IIHARQ和Type-IIIHARQ相比重传的分组不具有盲目性,也就是说每一个重传的分组对解码端的数据恢复都有贡献。图1是本发明基于FEC的选择重传系统框图;图2是本发明结合选择重传的FEC数据包封装格式;图3是本发明重传分组信息位置的组成;图4是本发明基于FEC的选择重传方法流程图;图5是FEC解码失败后的偶图。具体实施例方式参照图l,本发明的选择重传系统主要由封装器、FEC编码器、FEC解码器、解封装器、重传分组解码器、重传分组判断器和缓冲区组成。其中封装器用于对重传数据分组和非重传数据分组用设定数据包格式进行封装,并传给FEC编码器。数据包封装格式如图2所示,该封装数据包由重传标志位和载荷两部分组成,当数据包的重传标志位为真时,数据包中的载荷为数据信息;当数据包的重传标志位为假时,该数据包中的载荷为重传数据分组的位置信息。重传分组的位置信息部分的封装格式如图3所示,它是由FEC内某一数据包的序号和要求重传的分组序号两部分组成。FEC编码器用FEC对封装后的数据进行编码,并把编码后的数据通过正向信道送往FEC解码器。FEC解码器用于恢复丢失的数据分组,并分别把恢复出的数据分组送往解封装器,把没有恢复出的数据分组的序号和校验分组送往重传分组解码器和重传分组判断器。解封装器根据图2和图3所示的数据包格式对封装器封装的数据解封装,得出重传数据分组和非重传数据分组,并分别把重传数据分组送往重传分组解码器,把非重传数据分组送往缓冲区。解封装的过程是当解封装器检测到某个数据包的重传标志位为真时,从该数据包中提取出重传数据包的位置信息。假设提取到一个重传数据包的重传信息,本组FEC的序号t和重传数据包的序号Z,则按照重传信息找到重传数据包和重传数据包的重传序号本组FEC内第t个数据包就是重传数据包,序号z就是重传数据包的重传序号。重传分组解码器利用校验分组和重传数据分组恢复出全部数据分组,并把7恢复出的数据分组送往解封装器。重传分组判断器用于选择需要重传的数据分组的序号,并通过反向信道送往封装器,重传分组判断器由校验矩阵计算单元、矩阵变换单元和重传分组序号单元组成。校验矩阵计算单元将计算出的数据分组和校验分组的关系矩阵送往矩阵变换单元;矩阵变换单元通过初等列变换将接收到的矩阵转换成左下三角矩阵,并送往重传分组序号单元;重传分组序号单元对左下三角矩阵进行行搜索得出重传分组序号。缓冲区用于暂时存储恢复出的数据分组。系统的工作原理如下,如图l所示FEC解码器解码失败,把没有恢复出的数据分组的序号和校验分组送往重传分组解码器和重传分组判断器;重传分组判断选择需要重传的数据分组的序号,并通过反向信道送往封装器;封装器对重传数据分组和非重传数据分组用设定数据包格式进行封装,并传给FEC编码器;FEC对封装后的数据分组进行编码,并把编码后的数据通过正向信道送往FEC解码器;FEC解码器解码成功,并把数据传送给解封装器;解封装器对收到的数据解封装得到重传数据分组,并传送给重传分组解码器;重传分组解码器根据收到的重传数据分组成功恢复丢失的数据分组,并把恢复出的数据分组送往解封装器,解封装器对数据分组进行解封装,解封装器最后将数据送往缓冲区或者重传分组解码器。参照图4,本发明的选择重传步骤如下步骤l,发送端用FEC编码并发送。发送端利用FEC对u个数据分组编码,得出v个校验分组,u〉0,vX),并将编码后的u个数据分组和v个校验分组发送到接收端。步骤2,接收端接收数据并解码。接收端收到"'个数据分组和v'个校验分组,"'《w,v'《v,FEC对接收端收到的w'个数据分组和v'个校验分组进行解码,恢复出一部分丢失的数据分组和校验分组,剩余没有恢复的n个数据分组和k个校验分组。步骤3,选择重传的数据分组序号。(3.1)构造解码失败矩阵D。FEC解码失败后的偶图形式如图6所示,11,^2,^3,...,1,,是没有恢复出的数据分组,q,C2,C3,…,Q是保护《,Z2,Z3,…,A的校验分组。图6中由于每个校验分组所校验的数据分组数目都大于2,因此FEC解码失败。图6中偶图可以用矩阵的形式表示出来式中X为[y,X2...X],C为[C,C2...C」,矩阵D大小为"xl其表示如下<table>tableseeoriginaldocumentpage9</column></row><table>《y是矩阵D中的元素,其值为O或为l,xS",:^t如果《"l,则表示图2中偶图中的Cj和X,相连,如果^^=0,则表示图2中偶图中的C,和X,不相连。(3.2)将矩阵D通过初等列变换化简成左下三角型矩阵E。(3.2.1)初始变量x为l,x代表矩阵D的第x行;(3.2.2)找出矩阵D的第X行《,《2,《3,《4,《5,…,。"中为l的元素的位置,并将它放入消去序列C!,C2,…,G中,例如果第X行的第3个元素《fl,则将3放入消去序列q,C2,…,G中,如果《3=0,则不将3放入消去序列q,C2,…,6中;(3.2.3)计算出消去序列^^2,...,~中元素的个数1~,如果r为零,则转到(3.2.4);否则,则先将矩阵D的第q列和第x列交换,再分别将矩阵D的第6^,...,cv列元素与D的第x列元素进行异或运算,并将其结果放回矩阵D的第C2,C3,…,c^歹lJ,再转到(3.2.4);(3.2.4)如果变量x等于矩阵D的行数n,则完成将矩阵D向左下三角型矩阵E的化简,否则x的值加l并转到(3.2.2);(3.3)对矩阵E行搜索找出重传分组序号。左下三角型矩阵E大小为")a,其表示如下-.00...0...00...00c32e,3..00e2e"3'.e朋'..0e是矩阵E左下角的元素,其值取0或者1,如&取1时矩阵E符合左下三角型矩阵的条件,^取0时矩阵E也符合左下三角型矩阵的条件。(3.3.1)定义变量s,s代表左下三角矩阵E中某元素的位置,如当s的值为l时,^表示^;(3.3.2)初始化s为l;(3.3.3)如果e^的值为0,则将s的值加入序列重传序列^,Z2,…,Z^中,例如果&=0,则把1加入到序列21,22,...,^中;(3.3.4)如果s的值与矩阵E的行数n相等,则重传序列^,22,...,2"1就是重传数据包的标号,否则s的值加l,并转到(3.3.2)。步骤4,重传选择出的数据分组,并恢复丢失的全部数据分组。(4.1)接收端将重传序列^,22,...,^通过反向信道传送到发送端;(4.2)发送端收到重传序列21,22,...,2:,,并根据收到的重传序列重传数据分组;(4.3)解码端接收到序列为4,^,…,4的数据分组,恢复出全部丢失的数据分组。本发明的效果通过一下实验进一步说明1)实验条件一个分组长度为980,冗余度为8.2。/。高效Tornado码A;一个平均丢包率为O.05的信道C;一个平均丢包率为O的信道D;2)实验内容l实验h10将9000000个数据分组从发送端传送到接收端,正向信道为信道C,反向信道为信道D,经过信道C的数据用码A进行保护,接收端用本发明的选择重传方法计算反馈信息,计算出重传数据分组的个数为1724。实验29000000个数据分组从发送端传送到接收端,正向信道为信道C,反向信道为信道D,经过信道C的数据用码A进行保护,接收端用现有Type-1HARQ方法计算反馈信息,计算出重传数据分组的个数为9075。3)实验结果实验1和实验2相比,本发明提出的选择重传方法和Type-IHARQ相比可以减少81.0%的重传数据分组。权利要求1.一种基于FEC的选择重传系统,包括封装器用于对重传数据分组和非重传数据分组用设定数据包格式进行封装,并传给FEC编码器;FEC编码器用FEC对封装后的数据分组进行编码,并把编码后的数据通过正向信道送往FEC解码器;FEC解码器用于恢复丢失的数据分组,把恢复出的数据分组送往解封装器,把没有恢复出的数据分组的序号和校验分组送往重传分组解码器和重传分组判断器;解封装器根据设定数据包格式对封装器封装的数据解封装,得出重传数据分组和非重传数据分组,并把重传数据分组送往重传分组解码器,把非重传数据分组送往缓冲区;重传分组解码器利用校验分组和重传数据分组恢复出全部数据分组,并把恢复出的数据分组送往解封装器;重传分组判断器用于选择需要重传的数据分组的序号,并通过反向信道送往封装器;缓冲区用于暂时存储恢复出的数据分组。2.根据权利要求l所述的选择重传系统,其中重传分组判断器包括校验矩阵计算单元用于计算出数据分组和校验分组的关系矩阵,并送往矩阵变换单元;矩阵变换单元通过初等列变换将接收到的矩阵转换成左下三角矩阵,并送往重传分组序号单元;重传分组序号单元由左下三角矩阵得出重传分组序号。3.根据权利要求l所述的选择重传系统,其中封装器中所述的设定数据格式,由重传标志位和载荷两部分组成,当数据包的重传标志位为真时,该数据包中的载荷为数据信息;当数据包的重传标志位为假时,该数据包中的载荷为重传数据分组的位置信息。4.一种基于FEC的选择重传方法,包括如下步骤(1)利用FEC对u个数据分组编码,得出v个校验分组,u>0,v>0;(2)发送端发送FEC编码后的u个数据分组和v个校验分组;(3)接收端收到"'个数据分组和v'个校验分组,w'《",v'Sv;(4)FEC对接收端收到的2/个数据分组和v'个校验分组进行解码,恢复出一部分丢失的数据分组和校验分组,剩余没有恢复的n个数据分组和k个校验分组;(5)根据没有恢复的校验分组的个数k和数据分组的个数n,构造大小为"x^的解码失败矩阵D,如果第i个校验分组校验第j个数据分组,则D[i,,否则D[i][JhO,(6)将解码失败矩阵矩阵D通过初等列变换化简成左下三角型矩阵E;(7)找出所有满足三角型矩阵五W[5h0条件的s的值,组成重传序列Z,,Z2,…,Z^作为重传的数据包序号,s为一个变量,取值范围为从l到n;(8)将数据包序列4,22,...,2;进行重传;(9)解码端接收到序列为^,22,...,4,的数据分组,恢复出全部丢失的数据分组。5.根据权利要求4所述的选择重传方法,其中步骤(6)所述的将矩阵D通过初等列变换化简成左下三角型矩阵,按如下步骤进行(5a)定义两个变量x和y,x代表矩阵D的第x行,y代表矩阵D的第y列;(5b)将变量x初始为l;(5c)找出所有满足W=1(;cSA:)条件的y的值,组成消去序列c,,c2,c一该序列中元素的个数为r,如果r为零,则转到(5d);否则,则先将矩阵D的第q列和第例交换,再分别将矩阵D的第6,^.,c,列元素与D的第i列元素进行异或运算,并将其结果放回矩阵0的第。^3...,^列,再转到(5d);(5d)如果变量x等于矩阵D的行数n,则完成将矩阵D向左下三角型矩阵E的化简,否则x的值加l并转到(5c)。6.根据权利要求4所述的选择重传方法,其中步骤(7)所述的找出所有满足三角型矩阵五IXIW^条件的s,组成重传序列《,Z2,…,4,按如下步骤进行(6a)将变量s初始为l;(6b)如果£[^1[5|=0,则将s的值添加到重传序列^,Z2,…,Z^中;(6c)如果s的值与n相等,则重传序列^,4,...,21就是重传数据包的标号,否贝'Js的值加l,并转到(6b)。全文摘要本发明公开了一种基于FEC的选择重传系统及其重传方法,它属于网络通信
技术领域
,涉及FEC的选择重传方法,主要解决现有重传方法重传数据量和盲目性大的缺点。其系统由封装器、FEC编码器、FEC解码器、解封装器、重传分组解码器、重传分组判断器和缓冲区组成。如果FEC解码器解码失败,重传分组判断器选择出需要重传的数据分组的序号,并送往封装器;封装器对收到数据进行封装,并传给FEC编码器;FEC编码器把编码后的数据通过正向信道送往FEC解码器;FEC解码器把解码后的数据送往解封装器;解封装器把解封装后的数据送往重传分组解码器;重传分组解码器把恢复出的数据送往缓冲区。本发明具有复杂度低和易于实现的优点,可用于实时多媒体传输及其它数据传输。文档编号H04L1/18GK101562512SQ20091002272公开日2009年10月21日申请日期2009年5月27日优先权日2009年5月27日发明者古立峰,彬宋,浩秦申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1