用于建立变长纠错码的方法和装置的制作方法

文档序号:7507841阅读:274来源:国知局
专利名称:用于建立变长纠错码的方法和装置的制作方法
技术领域
本发明涉及一种建立变长纠错码的方法,所述的方法包括步骤(1)初始化所需的参数码字的最小和最大长度,分别是L1和Lmax,每个码字之间的自由距离dfree(对于一种VLEC码C,所述的距离dfree是所有任意扩展码的集合中的最小汉明距离),所需的码字数量S;(2)生成一种长度为L1、最小距离为bmin的定长码C,其中bmin=min{bk;k=1,2,......,R},bk=与码C的码字长度Lk相关的距离,并定义为C的所有长度为Lk的码字之间的最小汉明距离,并且R=C中不同码字长度的数量,所述的生成步骤创建了一个距离为d、长度为n比特的字的集合W;(3)在集合W中列出并存储所有可能来自C的码字的、距离为dmin的L1元组(对于一种VLEC码C,所述的距离dmin是C的所有可能的不同长度码字对之间的所有发散距离的最小值),并且,如果所述的集合W非空,通过在所有字的末尾附加一个额外的比特,所述的存储步骤用一个新的集合替换了集合W,新的集合具有原集合两倍数量的字,并且每个字的长度为L1+1;(4)删除集合W中所有不满足与C的所有码字距离为cmin的字,所述的距离cmin是码C的最小收敛距离;(5)在没有发现码字或达到了最大比特长度的情况下,减小距离约束以发现更多的字;(6)控制集合W的所有字之间的距离为bmin,发现的字从而被添加进码C;(7)如果没有达到所需的码字数量,重复步骤(1)到(6),直到该方法发现没有进一步继续的可能性,或者发现了所需的码字数量;(8)如果C的码字数量大于S,根据VLEC码的结构计算平均长度AL,AL是通过对每个码字长度以源的概率加权得到的,如果AL比ALmin小,所述的AL变成ALmin,其中ALmin=AL的最小值,并且相应的码结构被保存在存储器中。
本发明还涉及一种相应的装置。
背景技术


图1显示的经典通信链包括,用于对来自源S的信号进行编码的一个源编码器1(SCOD),接着是一个信道编码器2(CCOD),编码信号经过传输后,从而通过信道3被获得,一个信道译码器4(CDEC),以及一个源译码器5(SDEC)。译码信号被试图发送给一个接收者。变长码(VLC)由于其压缩能力经典地被用于源编码,并且相关的信道编码技术克服了真正传输信道的影响(如衰落、噪声等)。然而,由于源编码意在消除冗余性而信道编码重新引入冗余性,已经研究了如何有效地协调这些技术来改进整个系统,同时使复杂度保持在一个可以接受的水平。
在这种方法中提出的解决方案中,变长纠错(LVEC)码表现了变长的优势,同时提供了纠错能力,但是建立这些编码对于短的字母表都非常耗时间(对于更长的字母表信源变得甚至不可用),并且构造复杂度也是一个缺点,如后面将被看到的一样。
首先,必须回忆有关经典VLC的一些定义和属性。一种码C是一个S个码字{c1,c2,c3,...,ci,...,cs}的集合,对于每个码字都定义了一个长度li=|ci|,其中不失一般性,l1≤l2≤l3≤....≤li≤....≤ls。码C中不同码字长度的数量称为R,显然R≤S,并且这些长度被记为L1,L2,L3,...,Li,...LR,其中L1<L2<L3<...<Li<...<LR。一种变长码,或VLC,是由(s1@L1,s2@L2,s3@L3,...,sR@LR,)表示的结构,它相当于s1个长度为L1的码字,s2个长度为L2的码字,s3个长度为L3的码字,......,以及sR个长度为LR的码字。当使用VLC时,对于一个给定的源,压缩效率与从所述的源传输符号所需的比特数量有关。用于估计该效率的测量值通常是编码的平均长度AL,即传输一个字所需的平均比特数,并且当每个符号ai被映射到码字ci时,所述的平均长度由下面的关系式给出AL=Σi=1i=sli·P(ai)---(1)]]>它等价于关系式(2)
AL=Σi=1RLi·(Σj=r(i)+1j=r(i+1)P(ai))---(2)]]>这里,对于一个数据源A,S个源符号由{a1,a2,a3,...,as}表示,并且P(ai)分别是每个这些符号出现的概率,其中∑P(ai)=1(从i=1到i=S)。如果ALmin表示平均长度AL的最小值,很容易看到当达到ALmin时,这些符号以P(a1)≥P(a2)≥P(a3)≥...≥P(ai)≥...≥P(as)的方式被索引。为了以这样一种接收者能够对编码信息进行译码的方式对数据进行编码,VLC必须满足下面的属性非奇异(所有的码字都是不同的,即没有多于一个的源符号被分配给一个码字)并且唯一可被译码(即有可能将任意码字串明确无误地映射回正确的源符号)。
当回顾VLC码的一些通用属性时,对于那些有用的不同距离的介绍和陈述将有助于回忆起用在VLEC编码理论中的纠错属性的概念(a)汉明权重和汉明距离如果w是一个长度为n的字,其中w=(w1,w2,...,wn),w的汉明权重,或简单的为权重,是w中非零符号的数量W(w)W(w)=Σi=1i=nwi||wi||---(3)]]>并且,如果w1和w2是两个同等长度n的字,其中wi=(wi1,wi2,wi3,...,win)并且i=1或2,那么w1和w2之间的汉明距离(或简单的为距离)是w1和w2不同的位置的数量(例如,对于二进制情形,很容易看到H(w1,w2)=W(w1+w2)(4)这里加法是模-2运算)。然而,根据定义,汉明距离被局限于定长码,并且在考虑VLEC码之前将给出其它定义。
(b)令fi=w1iw2i...wni是一种VLEC码C的n个字的连接,那么集合FN={fi|fi|=N}被称为C的N阶扩展编码。
(c)最小块距和整体最小块距与一种VLEC码C的码字长度Lk相关的最小块距bk被定义为C中所有长度为Lk的不同码字之间的最小汉明距离bk=min{H(ci,cj)ci,cj∈C,i≠j,|ci|=|cj|=Lk}for k=1,...,R (5)并且所述的VLEC码C的整体最小块距bmin是对于每个可能的长度为Lk的最小块距值bmin=min{bkk=1,...,R}(6)(d)发散距离和最小发散距离一种VLEC码C的两个不同长度的码字ci=xi1xi2....xili]]>和cj=xj1xj2....xjli,]]>其中ci,cj∈C,li=|cj|and lj=|cj|,并且li>lj,之间的发散距离定义为D(ci,cj)=H(xi1xi2....xili,xj1xj2.......xjlj)---(7)]]>即它也是长度为lj-的码字和更长码字的长度为lj-的前缀之间的汉明距离,并且所述VLEC码C的最小发散距离dmin是C的不等长的所有可能的码字对之间发散距离的最小值dmin=min{D(ci,cj)ci,cj∈C,|ci|≠|cj|}(8)(e)收敛距离和最小收敛距离一种VLEC码C的两个不同长度的码字ci=xi1xi2....xili]]>和cj=xj1xj2....xjll,]]>其中|ci|=li>|cj|=lj,之间的收敛距离定义为C(ci,cj)=H(xili-lj+1xili-lj+2····xil1,xj1xj2····xjlj)---(9)]]>即它也是长度为lj-的码字和更长码字的长度为lj的后缀之间的汉明距离,并且所述VLEC码C的最小收敛距离是C的不等长的所有可能的码字对之间收敛距离的最小值cmin=min{C(ci,cj)ci,cj∈C,|ci|≠|cj|} (10)(f)自由距离一种编码的自由距离dfree是所有任意长路径集合中的最小汉明距离,该路径从某个公共状态Si开始发散并且在另一个公共状态Sj中再次收敛,其中j>idfree=min{H(fi,fj)fi,fj∈FN,N=1,2,....,∞}(11)根据用于VLC的结构模型,因此有可能通过下面的符号来描述VLEC码的结构S1@L1,b1;S2@L2,b2;...;SR@LR,bR;dmin,cmin(12)这里有si个长度为Li、最小块距为bi的码字,对于所有的i=1,2,...,R,(回想起R是不同码字长度的数量),并且最小发散距离和最小收敛距离分别为dmin和cmin。一种VLEC码的最终要的参数是其自由距离dfree,该参数极大地影响了该编码在纠错能力方面的性能,并且可以显示一种VLEC码的自由距离被界定为
dfree≥min(bmin,dmin+cmin)(13)回顾了这些定义,现在就可以更加容易的说明VLEC码构造的现状。第一种VLEC码,称为α-提示码,是1974年引入的,以及这种家族的一种扩展,称为αt1,t2,...,tR-提示码,二者具有相同的基本属性如果β(ci)表示接近ci超过接近任何码字cj的字的集合,j≠i,α(ci)中任何序列都不是另外一个α(ci)中序列的前缀。这些编码的构造非常简单,并且通过调整每个长度码字的数量,重建算法是可调整的,这使得对于一个给定的源和给定的dfree,有可能找到最佳的提示码。然而,最佳的码在压缩性能方面表现很差。
在文档“变长纠错码”中提出了一种允许从一个定长线形块码的生成矩阵构造VLEC码的较新的构造,该文是由曼彻斯特大学的V.Buttigieg于1995年在他的博士论文中提出的。被称为编码-逆码构造,这种算法依赖于行组合和列置换来在最右边的列上形成一种逆码。一旦获得了编码-逆码生成矩阵,就可以通过矩阵乘法简单地得到VLEC码。
然而这种技术具有几个缺点。首先,没有显式的寻找所需的行组合和列置换来获得逆码的方法。此外,构造没有考虑源统计,因此,往往显示它是次优的(通过在VLEC码上进行后处理能够找到一种具有更小平均长度的编码)。在同一个文档中,作者提出了一种改进的方法,称为启发式方法,该方法基于一种计算机搜索来建立一种VLEC码,VLEC码给出对于某个指定源的已知的更好的压缩率以及一个给定的错误保护,即一种具有指定的整体最小块距、最小发散距离和最小收敛距离(以及因此dfree的最小值)和具有与源统计相匹配的码字长度的码C,从而获得对于选定的自由距离和指定源的最小平均码字长度(在实践中,采用bmin=dmin+cmin=dfree,并且dmin[dfree/2])。
下面结合图2到图4的流程图来说明这种启发式方法的主要步骤,该方法使用下面的参数码字的最小长度L1,码字的最大长度Lmax,每个码字之间的自由距离dfree,所需的码字数量S。
为了开始计算机搜索(“开始”),所有所需的参数都必须首先被指定L1(最小码字长度,它必须至少等于或大于所需的最小发散距离),Lmax(最大码字长度),码字之间的不同距离(dfree,bmin,dmin,cmin),以及S(给定的源所需的码字数量),并且当选择这些参数时设置了一些关系Ll≥dminbmin=dfreedmin+cmin=dfree接着执行了该算法的第一个阶段,参考11它包括生成具有最大码字数量的长度为L1的定长码(初始放置在C中)以及最小距离bmin。事实上,该阶段是一个初始化,例如由一种诸如图5所示的贪婪算法(GA)来执行,或由一种图7所示的多数选举算法(MVA)来执行,或由一种新提出的记为GAS(分步贪婪算法)的变种来执行,GAS包括上述两种算法的一个变种。GAS包括GA中使用的搜索方法,这里不是删除一半码字,仅仅删除该组的最后一个码字。这两种算法对于创建一个距离为d、长度为n比特的字的集合w很有用(实际上,可能注意到MVA比GA能发现更多的字,但它对于压缩能力很小的改进都需要太多的时间,如图6和8中的表格所示,这些表格分别对于GA和MVA,比较了使用不同的dfree值所获得的对于图9的表中定义的26个符号英语源的最佳码结构)。
该算法的第二阶段,对应于图2中参考21到24的元素(21+22=操作“A0”;23+24=操作“A2”),包括列出并在称为W的集合中存储所有可能的、与C中码字距离为dmin的L1元组。如果dmin≥bmin,那么W为空。如果由满足到当前码的最小发散距离的所有的字构成的集合W非空(对测试22|W|=0?返回“否”),那么通过向W中所有的字的最右端位置分别附加一个“0”和一个“1”的方式来增加字的长度(步骤24),从而使得W中字的数量加倍,除非超过了最大比特数(对测试23返回“是”)。在所述步骤24的输出,这个修改后的集合W拥有的字的数量是原有集合W的两倍,并且每个字的长度是L1+1。
该算法的第三个阶段,对应于元素31到35(=图2中的操作“A3”),包括删除(步骤31)集合W中所有不满足与C中所有码字距离为cmin(最小收敛距离)的字(即在新的W中仅仅保持并存储那些满足所述的最小收敛距离的字,其它的字被丢弃)。此时,新的集合W是这样一个字的集合,与C中的码字相比,W中的字满足与C中码字所需的最小发散距离和最小收敛距离(dmin和cmin距离)。如果新的集合W非空(对测试32|w|=0?返回“否”),在W中选择(步骤33)最大数量的字来满足最小块距,以确保集合W中所有等长的字具有至少等于bmin的最小距离。在步骤33的结束处,该步骤是用GA或MVA实现的(注意在这里,用于GA或MVA的初始集合是当前的W而不是n元组集合),这样获得的字被添加(步骤34)到C中已有的码字。
如果在步骤21结束时(对测试22|W|=0?返回“是”)没有找到字(即W为空)或者如果达到或超过了最大比特数(对测试23返回“是”),则进入本算法的第四阶段(图3所示的步骤41到46,同时在图3中表示为操作“A1”),它通过插入更多的选择自由来避免过程发生拥塞,更确切地说是通过向W中的字附加额外的比特(同时多个比特)来使得新的组比旧的组包多包含几个比特。如果在最后的组中有足够的码字(连续的测试41和42,用于验证最后组中码字的数量,并且如果有以前的组),其中一些码字从所述的组中被删除(如上所述),这种删除允许减小距离限制并且发现比以前更多的码字。事实上,所描述的经典的启发式方法是以短长度的最大码字开始,用高概率的符号映射这些码字,并且试图获得一种好的压缩率,但是有时候,小长度集合的尺寸与所需的码字数量S不兼容。在这种情况下,放宽几个码字提供了更大的自由度并且允许达到一种能够满足编码对于距离和符号数量的初始需求的情形。重复这个删除过程直到它对各种长度的码字保持最大。如果在步骤31结束时W为空(对测试32|W|=0?返回“是”),重复步骤23、24、31、32。如果没有达到所需的码字数量(对第三阶段结束处提供的测试35返回“否”),必须重复步骤21到24以及31到35,直到所述的步骤要么发现没有进一步发现字的可能,要么达到所需的码字数量。
如果已经到达所需的码字数量(即C的码字数量等于或大于S(对测试35返回“是”),为了计算平均长度AL,这样获得的VLEC码的结构被用在第五部分,包括步骤51到56(图4所示,同时在图4中表示为操作“A4”)。这是通过借助源概率对每个码字长度加权并且与当前的最佳值进行比较完成的。如果该VLEC码的所述的平均长度比AL的最小值(=ALmin)小,那么这个AL就变成ALmin,并且这个新的AL值和相应的码结构被保存在存储器中(步骤51)。这些步骤51及后面的步骤(第五部分;操作“A4”)允许在该算法中回到以前的组,同时该算法的其它阶段总是在当前的组上被执行。用于这种反馈操作的步长为1,即这种反馈操作可以被认为是穷举的。
为了继续最佳VLEC码的搜索,必须避免保持相同的结构,相同的结构将导致算法出现循环。当前代码最后添加的组被删除(步骤52,53),删除较短长度的码字允许发现更长的码字(测试54组中码字的数量大于1?),并且先前的组的一些码字(GVA的一半;MVA中最佳码字)也被删除(步骤55),为了在步骤21(见图2)的开始处重新循环(步骤56)算法并且发现不同的VLEC结构(删除码字的数量取决于用于选择字的方法如果使用GA方法并且想要获得线性码,有必要删除一半码字,而MVA方式仅删除一个最佳的码字,即允许在下面的组中发现更多码字的那个码字)。
然而,这种启发式方法通常不太可能考虑码结构或在处理过程中不太注意(为了不错过任何事情),以致在所述方法的实现中出现了极大的复杂性,此外该方法非常耗时,因而变得无法使用。因此,在2002年10月23日提出的欧洲专利申请02292624.0(PHFR020110)中提出了一种改进的构造方法,借助这种方法,有可能通过避免这些缺陷来减小复杂性,更精确地讲,所述的建立变长纠错码的方法包括步骤(1)初始化所需的参数码字的最小和最大长度,分别是L1和Lmax,每个码字之间的自由距离dfree(对于一种VLEC码C,所述的距离dfree是所有任意扩展码的集合中的最小汉明距离),所需的码字数量S;(2)生成(步骤11)一种长度为L1、最小距离为bmin的定长码C,其中bmin=min{bk;k=1,2,......,R},bk=与码C的码字长度Lk相关的距离,并定义为C的所有长度为Lk的码字之间的最小汉明距离,并且R=C中不同码字长度的数量,所述的生成步骤11创建了一个距离为d、长度为n比特的字的集合W;(3)在集合W中列出并存储(步骤21)所有可能来自C的码字的、距离为dmin的L1元组(对于一种VLEC码C,所述的距离dmin是C的所有可能的不同长度码字对之间的所有发散距离的最小值),并且,如果所述的集合W非空,通过在所有字的末尾附加一个额外的比特,所述的存储步骤因此用一个新的集合替换了集合W,新的集合具有原集合两倍数量的字,并且每个字的长度为L1+1;(4)删除(步骤31)集合W中所有不满足与C的所有码字距离为cmin的字,所述的距离cmin是码C的最小收敛距离;(5)在没有发现码字或达到了最大比特长度的情况下,减小(步骤41)距离约束以发现更多的字;(6)控制集合W的所有字之间的距离为bmin发现的字从而被添加进码C(步骤34);(7)如果(步骤35)没有达到所需的码字数量,重复步骤(1)到(6)(即步骤21到35),直到该方法发现没有进一步继续的可能性,或者发现了所需的码字数量;(8)如果C的码字数量大于S,根据VLEC码的结构计算(操作A4)平均长度AL,AL是通过对每个码字长度以源的概率加权得到的,如果AL比ALmin小,所述的AL变成ALmin,其中ALmin=AL的最小值,并且相应的码结构被保存在存储器中;此外,所述的建立方法是这样的以致最多只有一个比特被添加到集合W中每个字的末尾。
模拟显示,使用经典启发式方法,所获得的最佳编码几乎是无孔的(即在其结构长度中没有长度跳跃)。在前面引述的欧洲专利申请中,因此考虑到大多数好的编码都没有长度跳跃,并且因此,能够相应地减少所检察的VLEC码集合(这减少了该方法的模拟时间和实现复杂度,无须过多修改AL)。遵循这个假设,根据所述的欧洲专利申请,通过在集合W中的每个字的末尾附加多于一个的比特,对该方法进行了修改。图10和11显示了相应的实现(改进的启发式构造方法,也称为“无孔最优化”方法),它们显示了对应于所述方法的流程图的两个部分(与图2到4中相同的元素采用相同的参考标记)。关于图2到4的流程图,关于经典启发式技术的对于改进方法的实现没有用处的部分被取消了(a)如果在步骤31结束时W为空(对测试32|W|=0?返回“是”),下一个阶段现在(见图10)不是步骤(23,24,31,32)的重复,而是,根据所述的“无孔”方法,建立(在所述的重复的位置)到执行操作55(在重复步骤21到24以及31到35之前,删除一些码字,或删除最佳码字)的电路的输入的一个直接连接91,如前面一面,所述的操作55被操作21和后面的操作紧随其后。
(b)该方法的第四阶段现在被减少成一个步骤,操作41,该操作是测试“最后一组中码字的数量=1?”。如果返回“否”,那么从执行步骤55看来,与步骤55(连接91)的输入建立一个直接链接,并且接着是操作21和下面的操作。如果返回“是”,与操作52到54的集合的输入建立一个连接92。
当使用GAS方法选择码字时,图12的表中提供了这样获得的26个符号的英语源的结果。可以看出,当和图13种提供的结果比较时,虽然结果对于dfree=3不完全是最优的(码结构在长度L=11处有一个孔),但是当考虑到对于其它dfree值没有严格的下降并且在2,5和4之间有一个时间增益时,AL的上升确实是可以接受的。当比较本解决方案和图7中的解决方案时,可以应用相同的评论,这里MVA的复杂度效果很明显。类似地,与选择码字的GA方法一起应用无孔最优化将导致时间增益,而对于dfree=3仅仅以轻微的AL上升为代价。最后,图5在另一方面显示了本解决方案对于可接受的时间增益提供了更好的AL,无孔最优化补偿了由GAS引入的几乎所有的复杂度。
然而,使用所述的欧洲专利申请中的方法,会发生这样的情况在生成的VLEC码中有太多的小长度码字。在2003年3月11日提出的另一个欧洲专利申请03290604.2(PHFR030026)中,提出了另一种改进的建立方法,根据该方法,不仅向最后获得的码字组执行组删除,而是更一般地向等于给定长度值的组执行组删除,为了使直接、快速地回到较小的长度成为可能,即在有过多小长度码字的情况下跳过许多算法步骤。更确切地说,用Ls(s表示跳过)表示算法在码字删除阶段将跳回的长度,已经建议当查找要删除的码字时,通过仔细跳转到更低长度来跳过部分的原始启发式算法(然而,当考虑码字组长度L小于预设值Ls时,很明显应用先前的方法会更好,因而在长度为L的组内完成删除)。L1和Ls之间的长度因此被称为“自由长度”,即具有自由度的长度,因为它们在搜索过程中是递减的(当自由长度的数量增加时,模拟时间也随指数增加)。这种方法,被称为“Ls最优化加法”,由图10(先前方法未改变的部分,所谓的无孔最优化方法)和图14(无孔最优化方法的修改部分)的联合形成的流程图所示。
所述的图14是从图11根据下面的指示得到的。删除了当前编码的最后添加的组,但是仅当(步骤61)这个先前的组的码字长度小于或等于(对测试61返回“否”)Ls时(测试61后面的步骤与先前的一样步骤53,54以及55或测试54输出处的52)。如果所述的码字长度大于Ls(对测试61返回“是”),提供了额外的步骤62用于进行到长度为Ls的码字的组并且删除所有超过Ls个比特的组。在步骤62的输出,提供了与先前一样的步骤54,55。实际上,模拟结果显示对于Ls<L(max)能够获得好的压缩率,其中L(max)最大授权的码字长度(可以注意到增加Ls的值将导致AL的值改进,直到达到一个常数最低值——最佳值,这种行为因而提示一种可能的Ls的动态选择,以Ls=L1开始递增其直到达到所述的最低值)。然而,不幸地是,所述的Ls最优化方法似乎不足以在任何情况下减少计算时间。
发明概要因此本发明的一个目标是提出一种改进的构造方法,借助该方法能够避免这个缺点并且能够获得更好的、具有可以接受的计算时间的编码。
为此,本发明涉及一种诸如在说明书的介绍部分定义的方法,此外该方法的特征在于,考虑了对于最佳VLEC码,码字数量的所有分布都具有一条相似的有关钟形类型的曲线,它定义了一种最佳长度值Lm,在该值之前,码字数量随着其长度而增加,而在所述的值Lm之后,码字数量减少,所述的定义允许应用所谓的具有避免曲线边缘的“Ls最优化”方法并且允许在局部工作。
根据一种可能的改进实现,本发明涉及一种类似的方法(即也诸如说明书的介绍部分定义的一样),但是该方法现在为优选的,其特征在于不仅在最后获得的组中实现了删除,而且在给定长度值的组中实现了删除,为了非常迅速地回到较小的长度,并且,考虑对于最佳VLEC码,码字数量的所有分布具有一条相似的有关钟形类型的曲线,它定义了一种最佳长度值Lm,在该值之前,码字数量随着其长度而增加,而在所述的值Lm之后,码字数量减少,所述的定义允许应用所谓的具有避免曲线边缘的“Ls最优化”方法并且允许在局部工作。
本发明的另一个目标是提出一种用于执行所述的构造方法的装置。
为此,本发明涉及一种根据所提出的两种解决方案的任何一个来执行变长纠错码建立方法的装置。
附图简要说明将利用举例的方式结合附图来描述本发明,其中图1描述了一种常规通信信道;图2到4是一个信号流程图的三个部分,该流程图显示了一种用于建立VLEC码的常规方法(称为启发式方法)的主要步骤;图5显示了一种用于初始化图2到4的方法的算法(称为贪婪算法,或GA),图6是张表,它给出了使用所述的图5的算法利用启发式构造方法构造的一个源的不同VLEC码;图7显示了另外一种用于初始化图2到4的方法的算法(称为多数选举算法,或MVA),图8是另一张表,它给出了使用所述图7的算法利用启发式构造方法构造的一个源的不同VLEC码;图9是张表,它给出了26个符号英语源的源符号及其概率之间的对应关系;图10和11是一个流程图的两部分,该流程图显示了图2到4所示的常规方法的一种改进的实现;图12是另一张表,它给出了图6和8的表中所考虑的相同26个符号英语源并使用GAS的不同VLEC码;图13是另一张表,它给出了图12中同一源的不同VLEC码,并使用前面提到的GAS以及根据图10和11显示的改进的建立方法。
图14显示了根据图2到4所示的常规方法的另一种改进,对图11的流程图的修改部分;图15显示了当执行根据本发明的方法时,关于由图10和图14联合形成的流程图,对图10流程图的下面部分所作的修改(关于原始的图10,仅仅显示了下面的修改部分);图16是张表,显示了当执行图14的以前的方法(“Ls最优化”方法)时,对于26个符号英语源所获得的结果;图17是张表,显示了当执行根据本发明的方法时,对于26个符号英语源所获得的结果。
本发明详细说明考虑根据经典启发式方法或修改方法(“无孔最优化”方法,“Ls最优化”方法)所作的一些模拟的结果,结果显示对于在所述的模拟中发现的最佳VLEC码,码字数量的所有分布都具有相似的方面长度为L的码字数量Nc(L)对码字长度L的曲线通常表现为钟形。它意味着,在一个给定长度Lm(m代表中间)之前,码字数量随着长度增加,而在所述的长度之后,码字数量减少。
关于由图10和14联合形成的单个流程图,借助对图10流程图的下面部分所作的修改而因此利用了前面的评论图15显示了根据本发明的方法,必须与图10剩余的上面部分一起考虑(就像下面的段落所描述的图10所述的下面部分如何有助于实现根据本发明的方法)以及与所述的图14一起考虑,以便形成新的与所述方法的实现相对应的单个流程图。这种方法,称为“Lm最优化”,是“Ls最优化”方法的一种适应,并且这种适应是通过引入下面描述的技术措施完成的。
根据所述的措施,向图10所示的解决方案中添加了一种测试电路71(“集合W的尺寸?”),一种测试电路72(“W的字长度?”),以及一种计算电路73(“令W的尺寸=最后组的尺寸”),在电路33和34之间该方法事实上是在电路33之后实现的,其中集合W与各种不同的距离相对应,并且在电路34之前,该电路执行将W的字添加到码C中。在这两个电路33和34之间,根据本发明执行了额外的测试。
首先,假定W中的字长度Lw小于Lm。考虑到有关的曲线,集合W的尺寸必须不小于最后一组的尺寸。如果所述的尺寸小于最后一组的尺寸(对测试71返回“是”),必须重复步骤21到24以及31到35,就如在上面在描述以前的实现时所解释的那样。如果所述的W的尺寸大于最后一组的尺寸或字长度Lw大于Lm(对测试71返回“否”),就执行测试72。
如果字长度Lw大于Lm并且小于L(max)-2,W尺寸必须小于最后一组的尺寸。如果不是(对测试72返回“是”),W中字的数量太高,必须被设置不多于最后一组尺寸,这是在电路73中完成的。接着W中的字被添加到C中(电路34),就像用先前的“启发式”,“无孔最优化”或“Ls最优化”方法那样。如果是(W尺寸小于最后一组的尺寸对测试72返回“否”),在将W中的字添加到码C(电路73)之前什么也不做。为了给该方法一些自由度,这将允许在很小的振荡下发现有关的代码,有关的约束条件不是在全局测试而是在局部测试,即仅仅对于两个长度验证偏差W的长度Lw和最后一组的长度L(last_group)。
通过比较“Ls最优化”方法(图16的表)获得的结果和本发明的“Lm最优化”方法获得的结果,显示图17中的表中,结果显示“Lm最优化”给出了具有小的时间增益的相同最佳编码。这可以通过如下事实解释,具有几个码字的源已被借助“Ls最优化”方法很快地处理,“Lm最优化”特别在大量码字的情况下显示出其优点。
权利要求
1.一种建立变长纠错码的方法,所述的方法包括步骤(1)初始化所需的参数码字的最小和最大长度,分别是L1和Lmax,每个码字之间的自由距离dfree(对于一种VLEC码C所述的距离dfree是所有任意扩展码的集合中的最小汉明距离),所需的码字数量S;(2)生成一种长度为L1、最小距离为bmin的定长码C,其中bmin=min{bk;k=1,2,......,R},bk=与码C的码字长度Lk相关的距离,并定义为C的所有长度为Lk的码字之间的最小汉明距离,并且R=C中不同码字长度的数量,所述的生成步骤创建了一个距离为d、长度为n比特的字的集合W;(3)在集合W中存储所有可能来自C的码字的、距离为dmin的L1元组(对于一种VLEC码C,所述的距离dmin是C的所有可能的不同长度码字对之间的所有发散距离的最小值),并且,如果所述的集合W非空,通过在所有字的末尾附加一个额外的比特,所述的存储步骤用一个新的集合替换了集合W,新的集合具有原集合两倍数量的字,并且每个字的长度为L1+1;(4)删除集合W中所有不满足与C的所有码字距离为cmin的字,所述的距离cmin是码C的最小收敛距离;(5)在没有发现码字或达到了最大比特长度的情况下,减小距离约束以发现更多的字;(6)控制集合W的所有字之间的距离为bmin,发现的字从而被添加进码C;(7)如果没有达到所需的码字数量,重复步骤(1)到(6),直到该方法发现没有进一步继续的可能性,或者发现了所需的码字数量;(8)如果C的码字数量大于S,根据VLEC码的结构计算平均长度AL,AL是通过对每个码字长度以源的概率加权得到的,如果AL比ALmin小,所述的AL变成ALmin,其中ALmin=AL的最小值,并且相应的码结构被保存在存储器中;此外所述建立方法的特征在于,考虑到对于最佳VLEC码,码字数量的所有分布都具有一条相似的有关钟形类型的曲线,它定义了一种最佳长度值Lm,在该值之前,码字数量随着其长度而增加,而在所述的值Lm之后,码字数量减少,所述的定义允许应用所谓的具有避免曲线边缘的“Ls最优化”方法并且允许在局部工作。
2.一种建立变长纠错码的方法,所述的方法包括步骤(1)初始化所需的参数码字的最小和最大长度,分别是L1和Lmax,每个码字之间的自由距离dfree(对于一种VLEC码C,所述的距离dfree是所有任意扩展码的集合中的最小汉明距离),所需的码字数量S;(2)生成一种长度为L1、最小距离为bmin的定长码C,其中bmin=min{bk;k=1,2,......,R},bk=与码C的码字长度Lk相关的距离,并定义为C的所有长度为Lk的码字之间的最小汉明距离,并且R=C中不同码字长度的数量,所述的生成步骤创建了一个距离为d、长度为n比特的字的集合W;(3)在集合W中存储所有可能来自C的码字的、距离为dmin的L1元组(对于一种VLEC码C,所述的距离dmin是C的所有可能的不同长度码字对之间的所有发散距离的最小值),并且,如果所述的集合W非空,通过在所有字的末尾附加一个额外的比特,所述的存储步骤用一个新的集合替换了集合W,新的集合具有原集合两倍数量的字,并且每个字的长度为L1+1;(4)删除集合W中所有不满足与C的所有码字距离为cmin的字,所述的距离cmin是码C的最小收敛距离;(5)在没有发现码字或达到了最大比特长度的情况下,减小距离约束以发现更多的字;(6)控制集合W的所有字之间的距离为bmin,发现的字从而被添加进码C;(7)如果没有达到所需的码字数量,重复步骤(1)到(6),直到该方法发现没有进一步继续的可能性,或者发现了所需的码字数量;(8)如果C的码字数量大于S,根据VLEC码的结构计算平均长度AL,AL是通过对每个码字长度以源的概率加权得到的,如果AL比ALmin小,所述的AL变成ALmin,其中ALmin=AL的最小值,并且相应的码结构被保存在存储器中;此外所述建立方法的特征在于,不仅在最后获得的组中实现了删除,而且在给定长度值的组中实现了删除,为了非常迅速地回到较小的长度,并且,考虑对于最佳VLEC码,码字数量的所有分布具有一条相似的有关钟形类型的曲线,它定义了一种最佳长度值Lm,在该值之前,码字数量随着其长度而增加,而在所述的值Lm之后,码字数量减少,所述的定义允许应用所谓的具有避免曲线边缘的“Ls最优化”方法并且允许在局部工作。
3.根据权利要求1和2中任意一个的VLEC码建立方法,其中Lm的最优值为Lm=Ls+1。
4.一种根据权利要求1到3的任意一个的用于执行变长纠错码建立方法的装置。
全文摘要
本发明涉及一种变长纠错(LVEC)码构造方法,其中主要步骤是定义所有所需的参数,生成具有固定长度L1的编码,在这样获得的集合W中存储所有可能的与码字距离为最小发散距离d
文档编号H03M7/40GK1762102SQ200480007354
公开日2006年4月19日 申请日期2004年3月16日 优先权日2003年3月20日
发明者C·拉米 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1