转换用于低密度奇偶校验编码的奇偶校验矩阵的方法

文档序号:6546061阅读:205来源:国知局
专利名称:转换用于低密度奇偶校验编码的奇偶校验矩阵的方法
技术领域
本发明涉及一种创建用于纠错的奇偶信息的方法,更具体地讲,涉及一种转换用于低密度奇偶校验编码的奇偶校验矩阵的方法。
背景技术
低密度奇偶校验(LDPC)编码方法已经被广泛用于创建用于纠错的信息。LDPC编码方法用于通过使用仅包含0和1的低密度奇偶校验矩阵H来获得奇偶信息,其中,1的数量远小于0的数量。如果奇偶校验矩阵H的每一行和每一列包含相同数量的1,那么LDPC码是规则的,否则就是不规则的。包括在奇偶校验矩阵H的每一行和每一列中的1的数量分别称为“行秩(rowdegree)”和“列秩(column degree)”。
通过使用LDPC编码方法来创建奇偶信息的方法通常基于下面的方程来被实现方程1HX=0,其中,H是m×n奇偶校验矩阵;X是包括m个消息数据和p个奇偶数据的码字;并且m+p=n(其中,m、n、和p是整数)。
在D.J.Mackay,“Good Error-correction Codes Based on Very SparseMatrices,”IEEE Trans.on Information Theory,Vol.45,No.2,pp.399-431中公开了LDPC编码的基本概念。根据该公开,可以通过利用使用高斯消去法的矩阵处理求解上面的方程1,来创建奇偶信息。但是,这样的矩阵处理需要大量的计算。
最近,引入了一种求解上面的方程1的更方便的方法。根据该方法,奇偶校验矩阵H被转换为重新排列的奇偶校验矩阵H′,其包括特定类型的子块,称为下三角矩阵。转换的奇偶校验矩阵H′用于以顺序的方式创建奇偶信息。在T.Richardson,R.Urbanke,“Efficient Encoding of Low Density Parity CheckCodes,”IEEE Trans.on Information Theory,Vol.47,No.2,pp.638-656,2001中公开了该方法。
现在将参照图1和图2A到图2F来描述转换奇偶校验矩阵H的传统方法。
图1是示出将奇偶校验矩阵H转换为重新排列的奇偶校验矩阵H′的传统方法的流程图,图2A到图2F示出了从图1中显示的每个操作中得出的矩阵。该传统方法称为“贪婪算法”。
在操作110中,矩阵H中的所有与第一行连接的列构成矩阵H的最左列。这里,“与特定行连接的列”是具有该特定行中的1的列,并且可以通过i)交换或ii)移动行或列,来移动连接的列。图2A显示了在执行了操作110之后的矩阵,其中,第一行包括4个1。
在操作120中,当前搜索区域被定义为图2B中的不包括矩阵H中的第一行以及与第一行连接的列的矩阵A1。搜索区域A1用作用于在以下面的方式实现的行搜索或列搜索中确定1的数量的参考区域。
在操作130中,在矩阵A1中发现具有行秩为1的行R1、R2、...Rk。在图2C中,标号R1、R2、...Rk表示搜索区域A1中的具有一个“1”(即,行秩为1)的行。
在操作140中,由搜索的结果来确定具有秩为1的行是否被发现。如果具有秩为1的行被发现,那么操作150、160、170和180被执行。
在操作150中,行R1、R2、...Rk以及与行R1、R2、...Rk连接的列C1、C2、...Cm分别通过行移动和列移动被顺序地移至矩阵A1的左上侧。例如,如果行R1和R2的秩为1,那么与行R1连接的列C1构成矩阵A1的最左列,并且行R1构成矩阵A1的最上行。然后,与行R2连接的列C2构成矩阵A1中的第二最左列,并且行R2构成矩阵A1中的第二最上行。其结果是,如图2D所示,在矩阵A1的左上侧创建了单元矩阵(unit matrix)I1。
在操作160中,表示当前搜索区域中的第一列的索引的当前索引i以在操作130中发现的行的数量k递增。例如,在图2D中,当前索引i为5,行的数量k为2。
在操作170中,如图2E所示,当前搜索区域被更新为不包括搜索区域A1中的单位矩阵I1的矩阵A2。
在操作180中,确定当前索引i是否大于奇偶校验矩阵H的列的数量n。如果当前索引i小于列的数量n,那么再次执行操作130。否则,矩阵转换过程结束。
如果在操作140中没有发现秩为1的行,那么执行操作155、165、175和185。
在操作155中,在矩阵A1中搜索具有最小秩的行Rmin。
在操作165中,与行Rmin连接的列Cmin1、Cmin2、...Cmin1(1是整数)被发现,并且如图2F所示,并且除了列Cmin1、Cmin2、...Cmin1中的一个之外全部构成矩阵H的最左列。
在操作175中,表示当前搜索区域中的第一列的索引的当前索引i以1-1递增。例如,在图2F中,当前索引i为5,列的数量1为3。
在操作185中,如图2G所示,搜索区域被更新为不包括在操作165中被移动的列的矩阵A2。
在操作195中,确定当前索引i是否大于奇偶校验矩阵H的列的数量n。如果当前索引i小于列的数量n,那么再次执行操作130。否则,矩阵转换过程结束。
图2H示出了根据传统方法而生成的转换的矩阵H′。图2H中显示的转换的矩阵H′包括由在对角线方向上相连的单元矩阵组成的单位矩阵(identitymatrix)。通过使用右上块D来执行奇偶信息计算,该右上块D仅被0填充。
作为顺序地计算奇偶信息的必要条件,转换的矩阵H′应该包含具有对角线1的子矩阵,并且该子矩阵应该是下三角矩阵。图2H中的转换的矩阵H′满足该条件。
计算矩阵H中的奇偶信息的负荷随着子矩阵I的大小增加而减少。换句话说,根据该传统方法,随着子矩阵的大小增加,创建奇偶信息的计算负荷减少。
但是,由于图2H中的子矩阵I必须是单位矩阵,所以子矩阵I的大小只能够被增加到有限的程度。换句话说,根据传统技术,由于用于顺序奇偶计算的子矩阵是单位矩阵,所以子矩阵I的大小只能够被增加到有限的量。矩阵I的大小越有限,使用奇偶校验矩阵H来解码的计算量越增加。但是,期望转换的矩阵H′的子矩阵I是下三角矩阵而不是单位矩阵,从而子矩阵I的大小大于图2H中所示的子矩阵I的大小。

发明内容
本发明提供一种通过不以单位矩阵的形式构建子矩阵来生成具有增加了大小的下三角子矩阵的转换的矩阵的方法。
根据本发明的一方面,提供了一种转换用于低密度奇偶校验编码的奇偶校验矩阵的方法,其包括移动该奇偶校验矩阵的行和列,从而该奇偶校验矩阵包括下三角子矩阵。
在本发明的一方面中,该方法包括将与奇偶校验矩阵中的第一行连接的列移至奇偶校验矩阵的左侧;将包括与第一行连接的列和不包括第一行的子矩阵定义为当前搜索区域,并且将当前搜索区域右侧的子矩阵定义为当前补充搜索区域;选择在其中包括在当前搜索区域中的1的数量等于(行秩-1)的行;和如果行被选择,那么通过选择的行之一和与选择的行之一连接的列的行移动和/或列移动,将位于选择的行之一和与选择的行之一连接的列的交叉点的元素移至当前补充搜索区域的左上角。
在本发明的一方面中,移动元素的步骤包括通过列移动使与选择的行之一连接的列构成当前补充搜索区域的最左列,并且通过行移动使选择的行之一构成补充搜索区域中的最上行。
在本发明的一方面中,该方法包括如果没有行被选择,那么将当前补充搜索区域的至少一列移至奇偶校验矩阵的左侧;和更新当前搜索区域以包括已经被移至奇偶校验矩阵的左侧的列,并且通过将位于更新的当前搜索区域的右侧的区域定义为当前补充搜索区域来更新当前补充搜索区域。
在本发明的一方面中,移动当前补充搜索区域的至少一列的步骤包括在包括在当前搜索区域中的行中选择在当前补充搜索区域中包含最小数量的1的条件行;和使与选择的条件行连接的列之一构成奇偶校验矩阵的最左列。
根据本发明的另一方面,提供了一种通过在低密度奇偶校验编码中使用奇偶校验矩阵来创建奇偶信息的方法,其中,奇偶校验矩阵包括子块,其对角线的元素被“1”填充,相对于对角线的上块被“0”填充,并且相对于对角线的下块包含“0”或“1”,并且其中,通过奇偶校验矩阵的行移动和/或列移动来生成该子块。
本发明的另外方面和/或优点将在下面的描述中部分地阐明,并且从描述中部分是清楚的,或者通过本发明的实施可以被理解。


通过结合附图,从实施例的下面描述中,本发明这些和/或其他方面及优点将会变得清楚,并且更易于理解,其中图1是示出将奇偶校验矩阵转换为重新排列的奇偶校验矩阵的传统方法的流程图;图2A到图2H示出了从图1中显示的操作中得出的矩阵;图3是示出根据本发明实施例的生成转换的矩阵的方法的流程图;图4A到图4I示出了从图3中显示的操作中得出的矩阵;和图5A和图5B分别示出了根据传统技术和根据本发明实施例的奇偶校验矩阵的结构。
具体实施例方式
现在将详细描述本发明的实施例,其示例在附图中示出,其中,相同的标号始终表示同一部件。下面通过参照附图来描述这些实施例以解释本发明。
图3是根据本发明实施例的创建转换的矩阵的方法的流程图,图4A到图4I示出了从图3中显示的操作中得出的矩阵。现在将参照图4A到图4I来描述图3中所示的方法。
在操作310中,所有与奇偶校验矩阵H的第一行连接的列构成奇偶校验矩阵H的最左列。这里,“与特定行连接的列”是具有该特定行中的1的列,并且可以通过i)交换或ii)移动行或列,来移动连接的列。
例如,如果列C2、C4、C7、和C15与第一行连接,那么基于当它们被检测到时将它们移至矩阵H的最左侧,然后剩余的列被移至右侧。列C2、C4、C7、和C15的顺序不重要。图4A中的第一子矩阵SB1由操作310的结果而包含1。因为所有包含1的列必须构成矩阵H的最左列,所以第二子矩阵SB2只包含0。
在操作320中,矩阵H中的在第一子矩阵SB1下面的子矩阵A1被定义为当前搜索区域A1。搜索区域用作在行或列搜索中计算行或列的秩的基础。另外,矩阵H中的在当前搜索区域A1右侧的区域被定义为当前补充搜索区域A1′。在图4B中,当前搜索区域子矩阵A1被显示为被斜线填充的块,并且当前补充搜索区域A1′是在当前搜索区域子矩阵A1右侧的矩阵。
在操作330中,在子矩阵A1中具有等于(行秩-1)个1的行R1、R2、...Rk在子矩阵A1中形成。例如,在图4C中,由于行R1的行秩为3,并且在子矩阵A1中包含两个1,所以行R1满足以上条件。另外,由于行R2的行秩为4,并且在子矩阵A1中包含三个1,所以行R2也满足以上条件。
在操作340中,如果由操作330的结果发现至少一个满足以上条件的行,那么执行操作350、360、370、和380。
在操作350中,通过执行行移动和列移动将行R1移至补充矩阵A1′的左上侧。
首先,与行R1连接的列C1构成当前补充搜索区域A1′的最左列(即,矩阵H中的第五列)。最初在列C1左侧的列被顺序地右移。
然后,行R1构成当前补充搜索区域A1′的最上行。最初在行R1上面的行被顺序地下移。
图4D显示了从操作350得出的矩阵。
在操作360中,表示当前搜索区域A1中的第一行的索引的当前索引j以1递增。
在操作370中,当前搜索区域A1和当前补充搜索区域A1′被更新。换句话说,通过将由操作350的结果而移动的行排除并将由操作350的结果而移动的列包括,来将当前搜索区域A1更新为第二当前搜索区域A2。在图4E中,被斜线填充的区域是第二当前搜索区域A2,并且位于第二当前搜索区域A2右侧的区域是第二补充搜索区域A2′。
在操作380中,确定当前索引j是否大于奇偶校验矩阵H的列的数量n。如果当前索引j大于列的数量n,那么矩阵转换过程结束。否则,再次执行操作330。
在操作340中,如果不存在第二当前搜索区域A2中的1在其中的数量等于(行秩-1)的行,那么执行操作355、365、375、385和395。如果由操作330的结果没有发现第二当前搜索区域A2中的1在其中的数量等于(行秩-1)的行,那么操作355到395通过列移动来产生这样的行。
在操作355中,通过搜索第二当前搜索区域A2中的行来寻找在第二补充搜索区域A2′中包含最小数量的1的条件行(conditional row),例如,Rmax1、Rmax2、...Rmax1。这里,1是条件行的数量。
在图4F中,行Ra对应与在第二补充搜索区域A2′中包含最小数量的1的行。
在操作365中,与在操作355中被搜索到的条件行连接的条件列(conditional column)Cmax1、Cmax2、...Cmaxm中的一个被移动以作为奇偶校验矩阵H的最左列。图4G示出了条件列Cmax如何构成矩阵H中的最左列,图4H示出了在移动了条件列Cmax之后的奇偶校验矩阵H。
在操作375中,表示第二当前搜索区域A2中的第一行的索引的当前索引j以1递增。
在操作385中,第二当前搜索区域A2和第二补充搜索区域A2′被更新。换句话说,通过将条件列Cmax加到第二当前搜索区域A2来形成第三当前搜索区域A3,并且位于第三当前搜索区域A3右侧的第三补充搜索区域A3′被设置为第三当前补充搜索区域。图4I示出了形成第三当前搜索区域A3和第三补充搜索区域A3′之后的奇偶校验矩阵H。
在操作395中,确定当前索引j是否大于奇偶校验矩阵H中的列的数量n。如果当前索引j大于列的数量n,那么矩阵转换过程结束。否则,再次执行操作330。
如果由操作330的结果没有发现第二当前搜索区域A2中的1在其中的数量等于(行秩-1)的行,那么操作355、365、375、385和395通过列移动来产生这样的行。这是因为,由于包含具有最小秩的行中的1的列构成奇偶校验矩阵H的最左列,所以包括在当前搜索区域中的1的数量增加。当前搜索区域中的1的数量的增加促进了搜索区域中的1在其中的数量等于(行秩-1)的行的产生。
在图3中所描述的方法中,在操作340到380中,通过搜索区域中的1在其中的数量等于(行秩-1)的行和与该行连接的列的行移动和列移动来产生下三角矩阵。如果这样的行不存在,那么操作355、365、375、385和395被执行以促进产生如上所述的这样的行。
图5A和图5B分别示出了根据传统技术和根据本发明实施例的奇偶校验矩阵的结构。
作为方便地求解方程1以创建奇偶信息的必要条件,转换的奇偶校验矩阵应该包括下三角矩阵形式的子矩阵,其中,i)对角线只被1填充,并且ii)对角线的上子块只被0填充。
参照图5A,根据传统技术生成的奇偶校验矩阵Ha包括满足上面的条件i)和ii)的子矩阵SBa。具体地讲,根据传统技术,该子矩阵的下子矩阵Da_down和上子矩阵Da_up只包含0。
参照图5B,根据本发明实施例生成的奇偶校验矩阵Hb包括与子矩阵SBa类似的满足上面的条件i)和ii)的子矩阵SBb。但是,与传统技术不同,下子矩阵Db_down可以包含0和1。
由行移动和列移动的结果,奇偶校验矩阵被分别转换为根据传统技术和根据本发明实施例的图5A和图5B所示的矩阵。因此,当采用同一奇偶校验矩阵开始时,根据本发明实施例生成的子矩阵SBb可以大于根据传统技术生成的子矩阵SBa。这是因为子矩阵SBa应该是单位矩阵,而子矩阵SBb应该仅是下三角矩阵。
由于求解方程1的计算负荷随着子矩阵SBa或SBb的大小增加而减少,所以当使用根据本发明实施例的用于生成转换的奇偶校验矩阵的方法时,可以减少求解上述方程1的计算负荷。转换的奇偶校验矩阵可用在通信系统中或用在任何数据记录和/或再现装置中,以能够使用该转换的奇偶校验矩阵来执行对数据的纠错。
本发明也可以被实施为能够由计算机执行的计算机可读记录介质上的计算机可读代码。计算机可读记录介质是能够存储其后能够由计算机系统读出的数据的任何数据存储装置。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储装置、和载波(如通过因特网的数据传输)。计算机可读记录介质也可以分布在连接计算机的网络上,从而计算机可读代码以分布式方式被存储和执行。(另外,本发明所属领域的程序员能够容易地理解用于实现本发明的功能程序、代码、和代码段。)根据本发明的一方面,可以基于与传统技术不同的方法通过移动行和列,来生成能够减少创建奇偶信息的计算负荷的奇偶校验矩阵。
虽然本发明是参照其实施例来被具体显示和描述的,但是本领域的技术人员应该理解,在不脱离由所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种修改。示例性的实施例应被理解为只是描述的意义,而不是为了限制的目的。因此,本发明的范围不是由本发明的具体描述所限定,而是由所附权利要求及其等同物所限定,并且在该范围内的所有差别应被理解为包括在本发明内。
权利要求
1.一种转换用于低密度奇偶校验编码的奇偶校验矩阵的方法,其包括移动该奇偶校验矩阵的行和列,从而对角线的元素被“1”填充,相对于对角线的上块的元素被“0”填充,并且相对于对角线的下块是元素包含至少一个“1”。
2.根据权利要求1所述的方法,其中,移动行和列的步骤包括将与奇偶校验矩阵中的第一行连接的列移至奇偶校验矩阵的左侧;将包括与第一行连接的列和不包括第一行的子矩阵定义为当前搜索区域,并且将当前搜索区域右侧的子矩阵定义为当前补充搜索区域;选择在其中包括在当前搜索区域中的1的数量等于(行秩-1)的行;和如果行被选择,那么通过选择的行之一和与选择的行之一连接的列的行移动和/或列移动,将位于选择的行之一和与选择的行之一连接的列的交叉点的元素移至当前补充搜索区域的左上角。
3.根据权利要求2所述的方法,其中,移动元素的步骤包括通过列移动使与选择的行之一连接的列构成当前补充搜索区域的最左列,并且通过行移动使选择的行之一构成补充搜索区域中的最上行。
4.根据权利要求2所述的方法,其中,移动元素的步骤包括使与选择的行之一连接的第一列构成当前补充搜索区域的最左列;和使选择的行之一构成补充搜索区域中的最上行。
5.根据权利要求2所述的方法,还包括更新当前搜索区域以包括在移动元素期间被移动列并且不包括选择的行之一,并且将当前补充搜索区域更新为位于更新的当前搜索区域右侧的子矩阵。
6.根据权利要求5所述的方法,还包括通过更新当前搜索区域和当前补充搜索区域来反复地执行行的选择;和反复地更新当前搜索区域直到达到奇偶校验矩阵的最后一行。
7.根据权利要求2所述的方法,还包括如果没有行被选择,那么将当前补充搜索区域的至少一列移至奇偶校验矩阵的左侧;和更新当前搜索区域以包括被移至奇偶校验矩阵的左侧的至少一列,并且通过将位于更新的当前搜索区域的右侧的区域定义为当前补充搜索区域来更新当前补充搜索区域。
8.根据权利要求7所述的方法,其中,移动当前补充搜索区域的至少一列的步骤包括在包括在当前搜索区域中的行中选择在当前补充搜索区域中包含最小数量的1的条件行;和使当前补充搜索区域的与选择的条件行连接的列之一构成奇偶校验矩阵的最左列。
9.根据权利要求7所述的方法,还包括通过更新当前搜索区域和当前补充搜索区域来反复地执行行的选择;和反复地更新当前搜索区域直到达到奇偶校验矩阵的最后一行。
10.一种创建在数据的纠错中被使用的奇偶信息的方法,包括在低密度奇偶校验编码中使用奇偶校验矩阵,其中,奇偶校验矩阵包括子块,其对角线的元素被“1”填充,相对于对角线的上块被“0”填充,并且相对于对角线的下块包含至少一个“1”;和通过奇偶校验矩阵的行移动和/或列移动来生成该子块。
11.根据权利要求10所述的方法,其中,通过行移动和/或列移动来生成该子块的步骤包括将与奇偶校验矩阵中的第一行连接的列移至奇偶校验矩阵的左侧;将包括与第一行连接的列和不包括第一行的子矩阵定义为当前搜索区域,并且将当前搜索区域右侧的子矩阵定义为当前补充搜索区域;选择在其中包括在当前搜索区域中的1的数量等于(行秩-1)的行;和如果行被选择,那么通过选择的行之一和与选择的行之一连接的列的行移动和/或列移动,将位于选择的行之一和与选择的行之一连接的列的交叉点的元素移至当前补充搜索区域的左上角。
12.根据权利要求11所述的方法,还包括如果没有行被选择,那么将当前补充搜索区域的至少一列移至奇偶校验矩阵的左侧;和更新当前搜索区域以包括被移至奇偶校验矩阵的左侧的至少一列,并且通过将位于更新的当前搜索区域的右侧的区域定义为当前补充搜索区域来更新当前补充搜索区域。
13.一种存储用于实现根据权利要求2所述的方法的程序的计算机可读记录介质。
14.一种产生与记录和/或再现系统一起使用的转换的奇偶校验矩阵H以根据低密度奇偶校验编码方法将数据进行编码来执行纠错的方法,该方法包括识别与奇偶校验矩阵的第一行连接的列;移动连接的列以构成奇偶校验矩阵的最左列;在连接的列中将第一搜索区域设置为奇偶校验矩阵的剩余的行;在非连接的列中将第二搜索区域设置为奇偶校验矩阵的剩余的行;从剩余的行中识别秩行,该秩行在第一搜索区域中包括1的数量比该秩行的行秩小1;在第二搜索区域中移动与识别的秩行连接的秩列以构成第二搜索区域的最左列,并且移动识别的秩行以构成第一和第二搜索区域的最上行;当没有识别出秩行时,从剩余的行中识别在第二搜索区域中包含最小数量的1的条件行;和在第二搜索区域中移动与条件行连接的最大条件列以构成奇偶校验矩阵的最左列。
15.根据权利要求14所述的方法,还包括在连接的列和秩列或最大条件列中将第一搜索区域更新为第一行或秩行下面的剩余的行;在非连接的列中将第二搜索区域更新为第一行或秩行下面的剩余的行,其中,该方法被执行直到达到奇偶校验矩阵的最后一行。
16.根据权利要求15所述的方法,其中,记录和/或再现系统使用具有值1的奇偶校验矩阵对角线元素,并且在达到最后一行以执行纠错之后,相对于对角线元素的奇偶校验矩阵的下块的至少一个元素具有值1。
全文摘要
一种转换用于低密度奇偶校验编码的奇偶校验矩阵的方法,其包括移动该奇偶校验矩阵的行和列,从而该奇偶校验矩阵包括下三角子矩阵。可以通过使用包括下三角子矩阵的转换的奇偶校验矩阵,来降低创建奇偶信息的计算负荷。
文档编号G06F11/10GK1691521SQ20051006465
公开日2005年11月2日 申请日期2005年4月19日 优先权日2004年4月19日
发明者金炫廷, 金其铉, 李胤雨 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1