首页> 中国专利> 用于将附加纠错层嵌入到纠错码中的方法和设备

用于将附加纠错层嵌入到纠错码中的方法和设备

摘要

本发明涉及一种将附加的纠错层嵌入到诸如DVD的乘积码或DVR的监督码这样的纠错码中的方法,其中将信息编码为所述码的码字,并且其中将多个码字排列在一个码块的列中。为了在不损失兼容性的情况下提供一种提高纠错能力的、容易实现的附加纠错层,提出了一种方法,包括步骤:按照预定的相加法则,通过将行符号加在一起,缩减所述码块的每一行的长度,从而得到一个缩减的码块;使用水平纠错码对所述缩减的码块的缩短的行进行编码,以得到水平奇偶校验;将所述水平奇偶校验作为附加层嵌入到所述纠错码中。

著录项

  • 公开/公告号CN1647392A

    专利类型发明专利

  • 公开/公告日2005-07-27

    原文格式PDF

  • 申请/专利号CN03807675.6

  • 发明设计人 M·E·范迪克;K·亚马莫托;

    申请日2003-03-14

  • 分类号H03M13/29;G11B20/18;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人程天正

  • 地址 荷兰艾恩德霍芬

  • 入库时间 2023-12-17 16:25:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-23

    未缴年费专利权终止 IPC(主分类):H03M13/29 授权公告日:20090909 终止日期:20110314 申请日:20030314

    专利权的终止

  • 2009-09-09

    授权

    授权

  • 2005-09-21

    实质审查的生效

    实质审查的生效

  • 2005-07-27

    公开

    公开

说明书

本发明涉及一种将附加纠错层嵌入到纠错码中的方法,其中将信息编码为所述码的码字,并且其中将多个码字排列在码块的列中。本发明还涉及一种对这种纠错码进行解码的方法、相应的设备、存储着这样的代码的码字的存储介质、包含这种码字的信号和用于实现所述方法的计算机程序。

在WO 00/07300中公开了一种用于通过字状态交织来编码多字信息的方法。其中,介绍了一种由两种类型的码字,LDC(长距离码)码字和BIS(突发指示符子码)码字构成的所谓的监督码(picket code),该监督码期望用于DVR(数字视频记录),在光学记录载体上记录数据,尤其是记录视频数据。BIS码字提供了很强大的纠错能力。即使在最坏的情况下,也极不可能不能将它们正确地解码。在BIS列的解码之后,可以识别出错误突发。在应用了清除策略之后,纠错能力较低的LDC码字也可以被正确地解码。

与现有的纠错码(例如DVD中的乘积码)相比,监督码提高了纠正(多个)突发错误的能力。不过,监督码不太能纠正随机错误。因此本发明的一个目的是提供用于提高纠错能力的手段,尤其是提高纠正随机错误的手段,这一手段可以很容易地实现而不会损失与当前纠错码方案的兼容性。所述手段可以应用于任何纠错码,尤其是应用于用于DVR的监督码和用于DVD的乘积码。

这一目的是通过如权利要求1所述的方法来实现的,该方法包括步骤:

-按照预定的相加法则,通过将行符号加在一起,缩短所述码块的每一行的长度,从而得到一个缩减的码块,

-使用水平纠错码对所述缩减的码块的缩短的行进行编码,以得到水平奇偶校验,

-将所述水平奇偶校验作为附加层嵌入到所述纠错码中。

本发明基于这样的总体构思:在码字的码块上产生水平奇偶校验,这些水平奇偶校验排列在所述码块的列中。为了缩减所述码块的字段尺寸,例如,缩减所述码块的每一行的长度,将所述码块中的每一行内的行符号按照预定的相加法则相加。然后可以将所产生的水平奇偶校验作为附加层嵌入在所述码中用于纠错。然后可以使用这一附加层在解码过程中纠正清除、突发错误和解码失败。码块的行长度的缩减给出了在较小的字段上使用纠错码的可能性,从而减小了冗余度的总量。由于所得到的水平奇偶校验是额外受到保护的,因此按照本发明,能够实现用于纠正解码失败和误纠正的高级的纠错能力。

本发明还涉及一种对按照前述的编码方法嵌入附加的纠错层的纠错码进行解码的方法,所述方法包括以下步骤:

-从所述纠错码中提取所述水平奇偶校验,

-通过根据与依照权利要求1所述的编码方法的过程中所使用的所述预定的相加法则相同的方法将行符号加在一起,来缩减所述码块的每一行的长度,从而得到一个缩减的码块,

-使用所述水平奇偶校验对所述缩减的码块的缩短的行进行解码。

再有,本发明涉及如权利要求12和13所述的相应的设备;涉及存储着具有纠错码的码字形式的数据的存储介质,在该纠错码中嵌入有附加纠错层,尤其是诸如CD、DVD或DVR盘之类的光学记录载体;涉及按照权利要求15所述的包括具有码字形式的数据的信号;并且涉及计算机程序,包括当所述程序在计算机上运行时,使得计算机执行权利要求1或10的方法的步骤的程序代码装置。本发明的优选实施例是在从属权利要求中定义的。

优选地,本发明应用于使用尤其是用在DVR中的监督码的方法,其中所述码块是包括LDC码字的LDC块,尤其是排列在所述LDC块的列中的在GF(28)上的[248,216,33]李德所罗门码字,并且其中此外还用到了BIS码字,尤其是在GF(28)上的[62,30,33]李德所罗门码字。优选地,所得到的水平奇偶校验是由附加纠错码进行编码的,即,当使用监督码时,所述水平奇偶校验优选地被编码并写入BIS码字中。

当将本发明应用于包括LDC和BIS码字的监督码时,优选地在通过加入预定数量的具有预定值的符号,在水平方向上扩展所得到的第一中间块而得到第二中间块之前,首先缩减LDC码字的长度。然后所述第二中间块将用作如上面所述的应用预定的相加法则来缩减其长度的码块。在权利要求4和权利要求5中介绍了缩减LDC块的LDC码字的长度的优选方法。为了简便,通过将符号值为零的预定数量的符号加到每一行中来扩展第一中间块的长度,以轻微地缩减所需的计算量。

在权利要求7中定义了一种用于将行符号加在一起来缩减码块的每一行的长度的预定的相加法则的优选实施例。所定义的相加法则对应于在将同一行内并且来自第一或第二部分内的同一列的第一部分的符号和第二部分的符号加在一起之前,将码块中的第二水平部分的每一行旋转不同的符号数量。这产生了最终得到的水平奇偶校验的提高的纠错能力。

本发明还可以很好地应用于乘积码,其中码块包括两个乘积码,尤其是DVD乘积码的块。在优选实施例中,将两个包括诸如在GF(28)上的[182,172,11]码字的DVD乘积码字的DVD码块进行组合,以形成如权利要求1所述的嵌入方法中使用的码块。在这样的应用中,所得到的水平奇偶校验优选的是通过附加奇偶校验码编码的,例如,仅包括含有GF(28)上的数据的[192,182,11]李德所罗门码字,并且所得到的奇偶校验与DVD乘积码字存储在一起。

现在将参照附图对本发明进行更加详细的介绍,其中:

附图1表示监督码的编码过程的示意性表示,

附图2表示按照本发明的编码设备的框图,

附图3表示按照本发明的编码方法的流程图,

附图4表示所述编码方法的编码步骤,

附图5表示按照本发明的解码设备的框图,

附图6表示按照本发明的解码方法的流程图,

附图7表示按照本发明的编码设备的另一个实施例的框图,以及

附图8表示本发明对乘积码的应用。

附图1表示在WO 00/07300中公开的编码方法的示意性表示。首先将从源(可以为主机或应用系统)接收到用户数据分成各自包含2048+4字节的数据帧;如附图1中的框200所示,考虑这些帧中的32个用于下一个编码步骤。在框202中,形成了一个数据块,并且将该数据块每个排列成216行,每行304列。在框204中,通过加上32行奇偶校验,形成了一个长距离码(LDC)块。在框206中,按照152列和496行的格式排列一个ECC簇。这被安排成填充物理簇块218中的标记为ECC的四个部分,这是综合代码格式NTT。

在后续步骤中还要对由记录系统添加的地址和控制数据进行转换。首先在框208中将逻辑地址和控制数据排列成32×18字节。逻辑地址是属于功能性应用的逻辑地址,并且可以指示传送到提供用户程序的持续时间的方面。而且在框210中将物理地址排列成16×9字节。物理地址在诸如光盘这样的记录载体上传送到物理距离。由于重复的重新编号和交叉存取,已经打破了物理和逻辑地址之间的关系。程序中彼此紧紧相随的项目可能会彼此隔开明显的物理距离,并且反之亦然。而且,映射并非均匀进行的。在框212中,将地址结合在24列乘30行的存取块中。在框214中,加入了32行奇偶校验。在框216中,将这些排列成3列和496行的突发指示符子码(BIS)簇。在框218中,这些簇填充三个BIS列。而且加入了一列同步位组,从而形成了155列乘486行的物理簇。如所示的,这些一起形成了16个物理扇区,这些物理扇区分组成496个记录帧。

所介绍的包括LDC码字和BIS码字的纠错码一般被称为监督码并且应用于DVR技术中。有关所述代码的更加详细的内容,尤其是用于所述代码的编码和解码装置、代码格式、交叉存取和映射的方法以及帧格式,可参照WO 00/07300,该专利文献以引用的方式并入本文。

按照本发明的用于编码的设备,尤其是用于将第三纠错层嵌入到附图1中所示的包括LDC和BIS层这两层的监督码中的编码设备的框图,在附图2中示出。在附图3中示出了说明对应的编码方法的步骤的对应的流程图。附图4表示所述步骤对代码的影响。利用这些附图,对将附加的纠错层嵌入到监督码中的过程进行解释。

在第一步骤S11中,将来自信息源10,例如来自传送信道、应用程序或存储介质的用户数据,编码为304个LDC码字,这些码字是伽罗华域GF(28)上的[248,216,33]李德所罗门(RS)码字。这一编码过程是由LDC编码器11执行的,得到了一个LDC块L,该LDC块L包括一个用户数据子块L1和一个奇偶校验数据子块L2。将每个包括216个用户数据符号和32个奇偶校验符号的LDC码字c排列在所述LDC块L的列中。

在下一个步骤S12中,对于每个LDC码字c,由单元12将216个码字符号,例如所述用户数据子块L1的216个用户数据符号,编码为[217,216,2]码字。为了实现这个编码过程,每个LDC码字c可以在31个位置上进行截断,剩下的GF(28)上的304个[217,216,2]RS码字。可替换地,对于每个LDC码字c,可以取216个码字符号,并且可以为这216个符号计算一个总的奇偶校验符号。这样,形成了第一中间码块I1,该第一中间码块I1包括304个[217,216,2]码字rj,其中0≤j≤216。这个第一中间码块I1具有217行 > >r>i>>=>>(>>r>0>i>>,>.>.>.>,>>r>303>i>>)>>,>>>其中0≤i≤216。这些行通过添加2×217-304=130个零得到了扩展,即,通过添加一个零的块I2得到了扩展,产生第二中间码块I,该第二中间码块I包括434列和217行代码符 >>>r>j>i>>=>0>,>>>此时0≤i≤216且0≤j≤433。这个第二中间码块I可以拆分成两半U1和U2,它们每个包括217行和217列。

接下来,通过对第一码块U1的每个行符号按照预定的相加法则,将第二码块U2的行符号加到第一码块U1的代码符号上,将这两个码块U1和U2变换为缩减的码块V1。作为一个具体的实例,在框13中,在单元13中将第二中间码块I2的每一行ri变换为所述缩减的码块V1的较短长度的码向量vi,如下所示:

>>>v>j>i>>=>>r>j>i>>+>>r>>217>+>>(>j>+>i>mod>217>)>>>i>>>>

此时0≤i,j≤216(步骤S13)。

借助GF(28)上的[219,217,3]RS码,通过第三层ECC编码器14在水平方向上对新的码向量vi进行系统地编码(步骤S14),以得到水平奇偶校验V2。这样就得到了一个码块V,该码块V包括219个符号的217个水平[219,217,3]RS码字h。217个向量vi的编码因此产生了217×2=434个奇偶校验符号,这些奇偶校验符号由第三层ECC奇偶校验提取器15提取(步骤S15)。对这些水平奇偶校验进行编码并且由使用[62,30,33]RS码的BIS编码器16将其与来自BIS信息源18的BIS信息一起写入BIS码字中(步骤S16)。这是可行的,因为在监督码的当前格式中,在BIS码字中有576个字节是未定义的,其中434个字节可以用于嵌入所述水平奇偶校验。所述当前格式的剩余部分保持原样;所述第三层仅由这434个额外的水平奇偶校验字节构成。在交织器17中,BIS码字最终被交织在LDC码字中(步骤S17),如WO 00/07300所介绍的那样,这发生在将经过交织的数据流输出到调制器19以备进一步处理之前。由于本发明所提出的第三层与已知的纠错编码和解码方案是兼容的,因此DVR播放器并不必需要执行所述第三层的解码。

应当注意到,所介绍的用于第一和第二码块U1、U2的码元相加的相加法则以及通过添加多个具有零值的符号来实现第一中间码块I1的扩展仅仅是实例而已。也可以使用不同的相加法则,只要该法则是预先制定的并且对最终得到的代码进行解码的解码器已知该法则即可。同理第一中间码块的扩展也是如此。同样也可以采用使用值为一的符号进行的扩展或使用预定的符号序列进行的扩展。例如,也可以采用2×253-304=202个零来扩展第一中间码块I1的每一行,从而产生217个[255,253,3]RS码字。

现在将参照附图5和6更加详细地解释说明对如上面所述的包括第三纠错层的经过扩展的监督码进行的解码过程,附图5是表示按照本发明的解码设备的框图,而附图6是表示按照本发明的解码方法的流程图。监督码是这样进行解码的:对BIS码字进行解码,应用消除策略,并且对LDC码字进行解码。下面将解释按照本发明嵌入在监督码中的第三层如何实现防止一个或两个解码失败和防止LDC码字的一个误纠正。

首先,通过BIS-LDC分离器21由从解调器20接收到的、包括BIS码字和LDC码字的数据流中提取出BIS码字,并且首先由BIS解码器22对该BIS码字进行解码(步骤S21)。其中,应用了仅对错误进行的解码。由于BIS码字通过非常高的纠错能力而得到保护,因此可以假设所有的BIS码字都得到了正确的解码。这样,就知道了附图4中所示的码块V的217个[219,217,3]RS码字中的每一个的两个奇偶校验。此外,这提供了有关突发错误的认识,因为这些突发错误影响相邻的BIS字节,并且这一识别导致在疑为出现突发错误之处清除LDC字节,即,在单元23中声明清除(步骤S22)。现在,LDC码字被LDC解码器24纠正(步骤S23)。不过,汉明距离33可能是不充足的,这是因为需要1个用于纠正每个清除的冗余字节来计算错误值,和用于每个剩余错误的2个冗余字节来计算错误位置加错误值。应当注意到,在没有识别到突发错误的情况下,需要2个字节来纠正每个突发错误字节。在识别出突发错误的情况下,只需要1个字节来纠正所识别到的突发错误字节。

可以假设对于两个遭到破坏的LDC码字,解码失败,即,有两次解码失败。设a和b为对应的列下标。考虑行i,则如果{j,217+(j+i mod 217)}∩{a,b}=Φ,可以按照上面所述的方式计算vji。由于对于给定的i,集合{j,217+(j+imod217)}划分了下标集合{0,...,433},所以除了2个以外的所有坐标vji都可以重构。这样在对应的[219,217,3]RS码字中就剩下最多2个清除。这些清除可以通过使用额外的奇偶校验信息进行纠正,所述额外的奇偶校验信息可以由第三层ECC奇偶校验提取器25从经过解码的BIS码字中提取。

通过利用对所有0≤i,j≤216的vji的知识并且通过使用如上所述的它们的定义,如果{j,217+(j+i mod 217)}≠{a,b},则代码符号rji可以重构。所有的集合{j,217+(j+i mod 217)}相互不等。这样,在最多一行ri还保留有两个未知的坐标。它们对应的列为[217,216,2]码字。通过直接清除纠正,这两个剩下的未知坐标可以重构。如果需要,所有的LDC码字可以完全重构。这样就完成了第三层解码。

总地来说,控制器27依据清除和解码器失败的位置控制第三层ECC解码器28,该第三层ECC解码器28返回纠正字节和解码器失败的位置。为了实现第三层的解码,缩减的码块V1是按照由单元26进行编码期间所使用的相加法则进行重构的。此外,提供了单元29来实施反向“相加技巧”,以重构码块U1和U2的行。最终,基于错误的位置,提供了LDC解码器30,用于通过仅对清除进行解码的方式,对第一中间码块I1的截断的LDC码字进行解码。所得到的数据流最终输出到调制器31,以进行进一步的处理。

对于解码而言,应对很多的情况加以区分。首先,解码器失败的数量可以用于区分两种情况(步骤S24)。如果仅有一次解码失败(S27),则不需要使用由[217,216,2]码结构给出的奇偶校验检查。实际上,[219,217,3]RS码中的两个奇偶校验之一是一个总奇偶校验检查。连同上述的用于计算码向量v的公式一起,这就意味着形式∑jrji的奇偶校验对每个i来说都可用。就是说,行ri的全部奇偶校验皆可用。所以,如果由于解码失败而对一列进行了清除,那么仍可以使用这个总奇偶校验来直接重构这一列。

[219,217,3]RS码字的其它奇偶校验需要用作额外的检查,从而检测出一个解码失败连同一个误纠正的状况。设a为与解码失败对应的列的下标,并且设b为与误纠正对应的列的下标。设E为第b列中错误位置的集合。如果任何一个集合{j,217+(j+i mod 217)}(0≤j≤216)都不等于{a,b},则向量vi(i∈E)含有一个清除和一个错误。所有的集合{j,217+(j+i mod 217)}都相互不等。因此,对于E中的最多一个下标i而言,向量vi不会一起包含一个清除和一个错误。如下面将要说明的那样,列b含有至少两个错误,就是|E|≥2。因此,有至少一行v1含有一个清除和一个解码失败。这将通过使用[219,217,3]RS码结构检测出来。

如果有一个LDC码字的误纠正并且没有解码失败(S25),那么重构得到的向量vi含有最多一个错误,这个错误可以通过使用BIS列中的奇偶校验检测出来。通过比较错误在向量vi中的位置(有至少两个错误),可以如下所述地找出哪个LDC码字被误纠正。假设由多个行ri组成的第二中间码块I2的列b对应于误纠正的LDC码字。这一列是[217,216,2]中的码字并且因此含有至少两个错误。设E为第b列中的错误位置的集合:

-在b≤216的情况下:这意味着对于i∈E而言,所有的向量vbi都是不正确的,并且将通过使用[219,217,3]码结构加以纠正。没有其它的码向量vji会被纠正。经过纠正的码向量全部共享共同的下标j=b。这就给出了b,于是就能够针对i∈E重构 >>>r>b>i>>=>>v>b>i>>+>>r>>217>+>>(>b>+>i>mod>217>)>>>i>>.>>>

-在b>216的情况下:现作对于i∈E而言,所有的码向量 >>>v>>b>->i>mod>217>>i>>=>>r>>b>->i>mod>217>>i>>+>>r>>217>+>b>>i>>>>都是不正确的。对于这些vb-i mod 217i而言,上标加上下标等于b模217。换句话说,它们处于对角线上。所以,在它们的纠正之后,通过检查那条对角线包含错误来给出b。如前所述,因此就能够重构所有的码符号rji了。

为了区分这两种情况,我们需要能够区分错误是在线上还是对角线上。这是可行的,因为存在至少两个错误。

为了完备,对三个解码失败进行检测(S26)是直接可行的。此外,可以检测到两个误纠正(S28),因为vji中的错误可能不在一条线或一条对角线上。

通过假设没有LDC码字的误纠正发生,可以简化解码策略。而且,由于一次解码失败纠正比两次解码失败纠正简单得多,因此可以以不利用按照本发明的第三层的完整纠错能力为代价,选择仅执行一次解码失败纠正。为了纠正2次216个已清除LDC字节,需要至少432个冗余奇偶校验检查字节。按照本发明的方法使用432个冗余字节并且因此几乎是最优的。

按照本发明,意欲引入一种用于DVD的乘积码结构。在编码期间得到的额外的水平奇偶校验存储在BIS列中。可以在解码期间,在BIS解码之后,无错误地得到这些水平奇偶校验,因为这些BIS列受到非常好的保护。不过,问题是,什么类型的乘积结构是允许的,并且什么类型的保护是需要的。

在仅针对错误的体制下,在突发识别之后,有一个具有过多错误的LDC码字。一倍的清除数量加上两倍的错误数量超过了其32字节的冗余度。意欲增加额外的乘积结构,从而可以纠正两个这样的LDC码字(再多就不行了,因为在BIS列中只有576个字节可用,并且再少就会比DVD乘积码差)。如果LDC码字在突发识别之后具有过多的错误,那么误纠正的可能性是极小的,相反会检测到无法纠正该LDC码字。仅需要纠正这样的纠正的LDC码字中的216个数据字节。共有304个LDC码字。应将这些码字看作矩阵中的列。如果再添加2列,从而使每行具有距离3,那么问题就解决了,因为可以检测到这两个不能解码的LDC码字,可以对它们进行清除并且使用这两个奇偶校验列来纠正它们。

不过,这并不象说的这样容易。希望行码字具有长度306、维数(=数据字节数量=LDC数据列的数量)304、距离3。并且还希望使用8位符号的字节。这样的RS码是不存在的。对于未扩展的RS码而言,在具有最小距离至少为3的字节上,最大长度是28-1。在用于纠正两个LDC码字的乘积码中,所需要的额外字节的最小数量为至少216×2=432字节(有216行,并且为了纠正一个字节的清除,需要一个字节)。

下面将利用不同的情况给出按照本发明的解码过程如何工作的另一种解释说明。这些情况是:

A)在第一矩阵(U1)中清除两个217字节的LDC列;

B)在第二矩阵(U2)中进行同样的操作;

C)在第一矩阵中清除一个217字节的LDC列,并且在第二矩阵中也清除一个这样的LDC列;

D)在第一矩阵中的一个217字节的LDC列是有错误的(在不太可能的情况下,LDC码字被误纠正,并且无法检测到过多错误的存在,这会导致清除掉的217字节的LDC列);

E)在第二矩阵中的一个217字节的LDC列是有错误的。

根据A):U1中的两个清除的列会导致V中的两个清除的列。可以通过来自经纠正的LDC码字的数据字节来计算V的所有其它字节。如果没有LDC码字被误纠正(即情况A),那么V的所有其它字节都具有正确的值。存储在BIS区域中的2个奇偶校验列也同样没有错误(如前面所解释的)。所以,可以纠正V的每一行中的这两个清除,因为在具有奇偶校验的行上的RS码字具有距离3。由于已知了矩阵U2’(该矩阵是通过在应用相加运算之前在水平方向上按照一定数量的位置来移位每一行的符号而导出的),可以从经纠正的V中减去U2’来得到U1。这样,所有的LDC数据字节现在都得到了纠正。如果还有误纠正的LDC码字,那么将面临这样的问题:既可能检测到无法纠正V的所有行,也可能进行误纠正。

根据B):U2中两个清除的列会导致U2’中两条清除的对角线,并且因此会在V中导致相同的情况。与情况A相同,在V中,每行具有两个清除。可以纠正V,减掉已知的U1以得到U2’。可以移位矩阵U2’中的行来得到U2。因此,所有的LDC数据字节现在都得到了纠正。

根据C):U1中的一个清除的列会导致V中的一个清除的列。U2中的一个清除的列会导致U2’中的一个清除的对角线,并且因此在V中得到同样的结果。所以,在V中,具有一个清除的列和一个清除的对角线。需要额外注意:清除的列和清除的对角线只在一个位置上重叠。这意味着,除了具有一个清除的一行之外,V的所有行都具有两个清除。与情况A和B中的情况一样,可以纠正V。但是如何找回U1和U2’呢?如果一个位置在U1中清除了而在U2’中没有清除,那么这一位置在U2’中的值可以从这一位置在V中的值中减掉,从而得到U1中清除位置的值。同样,可以重构U2’中清除而在U1中没有清除的位置。面临这样一个问题:在U1和U2’中只有一个在两个矩阵中都得到了清除的位置。在U1和U2’中这个位置仍然是清除的。所以除了U1中的单个清除和U2中的单个清除之外,可以重构矩阵U1和矩阵U2(在进行了行移位之后)。由于具有来自LDC码字的第一个217个字节的矩阵U1中的217个行,因此U1中每一列是一个具有最小距离2的RS码字。这足以纠正所述单个的清除。同样地,可以纠正U2中的单个清除。

根据D)和E):如果在LDC码字中有误纠正,那么有至少33(=最小距离)个字节有错误。如果仅保持217个字节而放弃31个字节,那么可以确定地知道还剩下至少2个错误。在D和E的情况下,具有一个误纠正的LDC码字。这导致在U1的一个列中有至少2个错误或者导致在U2的一个列中有至少2个错误。在这两种情况下,这导致了在V的所有各行中有至少2个错误。这些错误都可以得到纠正,因为连同存储在BIS区域中的奇偶校验一起,每个带有奇偶校验的行的距离为3。这意味着可以每行纠正1个错误。一旦V得到了纠正,那么剩下的问题就是在U1和U2中的列是误纠正的。

根据D):错误存在于U1的列中,因此它们出现在V的列中。有至少2个错误:所以可以识别它们是否位于一列中。如果是,可以知道U2’,将其从经纠正的V中减掉以得到U1。所有错误再次得到纠正:U1和U2都得到了重构。

根据E):错误存在于U2的列中,因此它们出现在U2’的对角线上并且因此也出现在V的对角线上。有至少两个错误:所以可以识别它们是否定位在一条对角线上(与列相比)。如果是,那么可以知道U1,从经纠正的V中将其减掉,就得到了U2。所有的错误再次得到纠正。

在更加一般的情况下,可以使用任意的监督码,该监督码具有GF(q)上的m个[n,k,d]RS码字,即,LDC码字。对于m个码字中的每一个而言,k个码字位置被编码成GF(q)上的[k+p,k,p+1]RS码字。这些RS码字将会构成一个矩阵{Rij}0≤i≤k+p-1,0≤j≤m-1。对于每个0≤i≤k+p-1,将数字的集合{0,...,m-1}划分为非空集合Si,w,0≤w≤si。对于0≤i≤k+p-1和0≤w≤si-1计算 >>>V>>i>,>w> >=>>Σ>>j>∈>>S>>i>,>w> > >>R>>i>,>w> >.>>>对于每个i,通过计算pi个奇偶校验符号,将{Vi,w}0≤w≤si-1系统地编码为距离为D的码字。∑0≤i≤k+p-1pi个奇偶校验符号存储在BIS列中。

假设集合Si,w满足下述的约束条件。对于所有的0≤j≤m-1并且对于所有不包含j且具有D-1个元素的集合F,#{对于w,i:Si,w∩F≠φ,从而j∈Si,w}≤pi

于是多达D-1个LDC码字的解码失败可以得到纠正。解码失败和误纠正的组合也可以得到纠正。使用上面所介绍的方法:借助前一段落中的公式计算Vi,w。如果可以,使用pi个奇偶校验通过清除纠正来恢复未知的Vi,w,除了与解码失败对应的列中的最多p项之外,通过使用Vi,w的公式,矩阵R的所有项都得到了重构,并且最终可使用这些列中的冗余信息来完全重构矩阵R,并且,如果需要,可以重构所有的LDC码字。

本发明也可以应用于乘积码。在DVD中,乘积码用于在水平方向以及垂直方向上扩展矩阵D。对奇偶校验的奇偶校验保证了大的乘积距离。在实践中,对沿写入方向定位的行进行解码。如果受到过多随机错误或突发错误的影响,会出现解码失败。应当恢复垂直冗余度,以避免造成误纠正和解码失败。

在上面介绍的监督码的扩展中,矩阵R扮演了矩阵D的角色。而且形成了一种乘积码;不过,由于假设水平奇偶校验受到BIS码字的高度保护而没有遭到破坏,因此不需要对奇偶校验的奇偶校验。现在,列可能会受到解码失败或误纠正的影响。引入上面介绍的“相加技巧”是因为RS码的长度受到字段大小的限制。现在将总体上参照附图7和8说明如何使用这一“相加技巧”来为乘积码提供可替换的方案。

第一种直接扩展是,将表示第三层的额外水平奇偶校验的列编码为码字,从而保证较大的最小距离(如果存在无法无错误地恢复这些列的很大可能性的话)。作为例子,将“相加技巧”应用于交换了行和列角色之后的DVD块D1、D2,每个DVD块D1、D2为172乘192矩阵,如附图8所示。在由单元42组合这两个DVD块D1、D2之前或之后,其所有的列将由DVD编码器41编码为GF(28)上的2×192个[182,172,11]RS码字,从而得到一个组合DVD块D3,该块D3为182乘(2×192)矩阵。所要编码的数据是从信息源40得到的。现在按前述方式对这个组合DVD块D3进行划分。就是,在单元43中,针对0≤i≤181且0≤j≤191计算 >>>V>j>i>>=>>r>j>i>>+>>r>>192>+>>(>j>+>i>mod>192>)>>.>>i>>>>然后由第三层ECC编码器44在水平方向上对所得到的矩阵V1进行编码,从而得到GF(28)上的182个[208,192,17]RS码字,给出了一个矩阵V。奇偶校验矩阵V2形成了16个182字节的列。这些奇偶校验码由一个奇偶校验提取器45进行提取并且随后由奇偶校验编码器46编码为GF(28)上的16个[192,182,11]RS码字,给出了一个对奇偶校验块V3的奇偶校验。然后由输出单元47将扩展矩阵D3和这16个码字一起输出到调制器48,以进行进一步处理,例如,将其写在盘上。如果按照公知的方法对2个DVD块进行交织,则需要9664(=2×(192×10+182×16))个奇偶校验符号。通过使用这种按照本发明的“相加技巧”,仅需要6912(=2×192×10+192×16)个奇偶校验符号。

在解码过程中,首先对所有列进行解码,这可能会导致解码失败和误纠正。如前所述,这种情况会通过重构矩阵V而继续造成尽可能多遗留的清除。现在,使用了水平代码结构来纠正矩阵V中的清除和错误。于是在识别误纠正的列的同时必须要尽可能多地重构矩阵D3。垂直奇偶校验将表明如何完整地重构矩阵D3。

需要比较一下两个交织的DVD块的性能和所提出的方法的性能。在垂直方向上,两种方法是同样强有力的。在水平方向上,按照所提出的方法,需要每行超过16个奇偶校验。不过即使具有14个额外的奇偶校验(将16增加到30个奇偶校验),也可以节省冗余数量。这样,对于提高纠错能力而言,所提出的方法是切实且有用的工具。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号