用于有信息的解码器的增强编码

申请号 CN02820714.9 申请日 2002-07-04 公开(公告)号 CN1572059A 公开(公告)日 2005-01-26
申请人 皇家飞利浦电子股份有限公司; 发明人 L·M·G·M·托休泽; M·W·布鲁姆; C·P·M·J·巴加根;
摘要 本 发明 涉及将包括地址符号(a0,a1,...,ak-1)的地址字(a)编码成代码(C)的代码字(c)方法,如果信息字(m)的至少一个信息字(m1)对于解码所接收的可能损伤的代码字(r)的 解码器 来说是先验已知的,则可以提供增强的纠错能 力 。本发明还涉及解码可能损伤的代码字(r)的方法。为了设计当某些信息符号在解码之前对于解码器已知,则纠错能力增强的代码,根据本发明提出将地址字(a)编码成信息字(m),以使得包括彼此接近的地址的地址字共享多个信息符号,并且所述信息字(m)利用被选择的生成矩阵(G)而被编码成代码字(c),以使所述代码(C)的至少一个子码(C’)的最小汉明距离大于所述代码(C)的最小汉明距离并且所述子码(C’)的子码生成矩阵(G’)是通过忽略来自所述生成矩阵(G)对应于所述至少一个先验已知的信息符号(m1)的至少一行来从所述代码(C)的所述生成矩阵(G)得到。
权利要求

1.一种将包括地址符号(a0,a1,...,ak-1)的地址字(a)编码成代码 C的代码字(c)的方法,用于如果信息字(m)的至少一个信息符号(m1)对于 解码所接收的可能损伤的代码字(r)的解码器来说是先验已知的,则 用于提供增强的纠错能,所述方法包括步骤:
-将地址字(a)编码成信息字(m),以使包括彼此接近的地址的地址 字共享多个信息符号,
-利用选择的生成矩阵(G)将所述信息字(m)编码成代码字(c),以 使所述代码(C)的至少一个子码(C’)的最小汉明距离大于所述代码(C) 的最小汉明距离并且所述子码(C’)的子码生成矩阵(G’)通过忽略所述 生成矩阵(G)对应于所述至少一个先验已知信息符号(m1)的至少一行而 从所述代码(C)的所述生成矩阵(G)得到。
2.根据权利要求1所述的方法,其中地址字(a)被编码成信息字 (m),以使如果地址增加,则从固定的一组至少两个信息符号中至多一 个信息符号改变。
3.根据权利要求2所述的方法,其中如果相应的前一地址符号( ai -1)的最低有效位的位值为1,则多个地址字(a)通过转换地址字(a)的 地址符号(ai)而被编码成信息字(m)。
4.根据权利要求3所述的方法,其中通过计算地址符号(ai)的所有 位和相应的前一地址符号(ai-1)的最低有效位之间的异或结果来转换 地址字(a)的地址符号。
5.根据权利要求1所述的方法,其中包括k个信息符号 (m0,m1,...,mk-1)的信息字(m)被编码成GF(q)上[n,k,n-k+1]里德-索罗 码的代码字(c),所述编码包括步骤:
a)定义父生成多项式(g(p)(x))

其中α是阶数最多为n的GF(q)的非零项并且其中 表示k/2向上取 整,也就是如果k是偶数,则 并且如果k是奇数,则
b)对于0≤i≤k-2的分量,生成多项式(g(i))由下式定义:
g ( l ) ( x ) = β i - 1 g ~ ( i ) ( x ) ,
其中
g ~ ( i ) ( x ) = g ( p ) ( x ) / ( x - z i )
并且
β i = g ~ ( i ) ( z i )
如果i是偶数则适用Zi=αn-k+i/2并且如果i是奇数则适用Zi=α -(i+1)/2;
c)代码字多项式(c(x))可根据下式计算
c ( x ) = Σ i = 0 n - 1 c i x i = Σ i = 0 k - 2 m i g ( i ) ( x ) + m k - 1 g ( p ) ( x ) ,
其中所述代码字多项式(c(x))的系数组成代码(C)中的代码字(c)。
6.根据权利要求1所述的方法,其中所述方法被用于对数字视频 记录(DVR)中使用的地址字编码,特别用于对抖动地址的地址字编码。
7.根据权利要求6所述的方法,其中包括9个信息符号(m0, m1...,m8)的信息字(m)被编码成GF(q)上[15,9,7]里德-索罗门代码的代 码字(c),所述编码包括步骤:
a)定义父生成多项式(g(p)(x))
g ( p ) ( x ) = Π l = - 4 9 ( x - α i ) ,
其中α是阶数最多为n的GF(q)的非零项;
b)对于0≤i≤7定义分量生成多项式(g(i))
g ( i ) ( x ) = β i - 1 g ~ ( i ) ( x ) ,
其中
g ~ ( i ) ( x ) = g ( p ) ( x ) / ( x - z i )
并且 β i = g ~ ( i ) ( z i )
对于i是偶数并且0≤i≤6,适用于zi=αi/2+6
对于i是奇数并且1≤i≤7,适用于zi=α-(i+1)/2;
c)根据下式计算代码字多项式(c(x))
c ( x ) = Σ l = 0 14 c i x i = Σ i = 0 7 m i g ( i ) ( x ) + m 8 g ( p ) ( x ) ,
其中所述代码字多项式(c(x))的系数组成代码(C)中的代码字(c)。
8.一种将代码(C)的可能损伤的代码字(r)解码成包括地址符号 (a0,a1,...,ak-1)的地址字(a)的方法,利用生成矩阵(G)把所述地址字 (a)编码成所述代码(C)的代码字(c)并且如果至少一个信息符号(m1)在 解码之前是先验已知的,则为所述代码(C)提供增强的纠错能力,其特 征在于利用根据权利要求1所述的方法把所述地址字(a)编码成所述代 码字(c)并且在所述可能损伤的代码字(r)中包括的所述至少一个先验 已知的信息符号(m1)的贡献被考虑用于以增强的纠错能力来解码所述可 能损伤的代码字(r)。
9.根据权利要求8所述的方法,包括步骤:
a)将可能损伤的代码字(r)解码成中间代码字(r’),
b)将所述中间代码字(r’)解码成信息字(m),
c)将所述信息字(m)解码成地址字(a)。
10.根据权利要求9所述的方法,其中如果相应的前一信息符号 (mi-1)的最低有效位具有位值1,则所述信息字(m)通过转换信息字(m) 的信息符号(mi)而被解码成地址字(a)。
11.一种用于将包括地址符号(a0,a1,...,ak-1)的地址字(a)编码 成代码(C)的代码字(c)的设备,用于如果信息字(m)的至少一个信 息符号(m1)对于解码接收的可能损伤的代码字(r)的解码器来说是先 验已知的,则提供增强的纠错能力,该设备包括利用根据权利要求1的 方法将所述地址字(a)编码成所述代码字(c)的装置。
12.一种将代码(C)的可能损伤的代码字(r)解码成包括地址符号 (a0,a1,...,ak-1)的地址字(a)的设备,利用生成矩阵(G)把所述地址字 (a)编码成所述代码(C)的代码字(c),并且如果至少一个信息符号(m1) 在解码之前是先验已知的,则为所述代码(C)提供增强的纠错能力,其 中利用根据权利要求1所述的方法把所述地址字(a)编码成所述代码字 (c)并且在所述可能损伤的代码字(r)中包括的所述至少一个先验已知 的信息符号(m1)的贡献被考虑用于以增强的纠错能力来解码所述可能损 伤的代码字(r)。
13.包括程序代码装置的计算机程序产品,用于导致计算机执行权 利要求1和/或9的方法。
14.用于记录用户数据的数据载体,特别是根据用于DVR的标准而 被使用的光数据载体,所述数据载体已经存储了根据权利要求1的方法 而被编码的系统数据项。
15.根据权利要求14所述的数据载体,其中所述系统数据项包括用 于找到所述数据载体上的位置的地址数据和/或定时数据。
16.用于传输用户数据的信号,所述信号包括根据权利要求1所述 的方法而被编码的系统数据项。

说明书全文

发明涉及一种将包含地址符号的地址字编码成代码的代码字的 方法,如果信息字的至少一个信息符号对于解码所接收的、可能损伤的 代码字的解码器来说是先验已知的,可提供增强的纠错能。本发明还 涉及一种将代码的可能损伤的代码字解码成地址字的方法。本发明还涉 及用于对信息字编码的相应设备,用于对可能损伤的代码字解码的相应 设备,实现所述方法的计算机程序,用于记录用户数据的数据载体以及 用于传输用户数据的信号

在欧洲专利申请EP 01 201 841.2(PHNL 10331)中,描述了一种 如果某些信息符号对于解码器已知,则能够增强纠错代码的纠错能力的 方法,其内容合并在此以供参考。可能的应用在光介质的地址检索领 域。光介质的扇区地址是受到纠错码保护的头的一部分。在许多情况 下,当前扇区的头信息的大部分可从以前的读取的扇区和内容表中,或 者从对于读或写头将大致落在的地方的了解中推断出来。

在欧洲专利申请EP 01 201 841.2(PHNL 10331)中描述的方法有 下列问题。假设连续扇区的地址是连续整数的二进制表示。考虑,作为 一个简单例子,8比特地址,具有地址01111111的扇区之后是具有地址 10000000的扇区。如果读或者写头应该落在具有地址01111111的扇区 上,则即使落点的不准确度被限制在一个单一扇区,也没有地址的一个 单一比特对于解码器是已知的,因此在欧洲专利申请EP 01 201 841.2 (PHNL 10331)中所述的方法不能被应用。

因此本发明的一个目的是设计一种如果某些信息符号在解码之前 对于解码器是已知的,则其纠错能力被增强的代码。还有一个目的是从 对于读或写头落在的地方(甚至在连续扇区地址的许多或者甚至全部比 特改变的地方)的大致了解中获益。本发明的另一个目的是提供一种将 地址字编码成代码字的方法以及对由这样的编码方法编码的可能损伤 的代码字进行解码的方法。而且,相应的设备将被提供。

这些目的通过权利要求1所述的编码方法而被实现,根据权利要求 1,地址字被编码成信息字,以使得包含彼此接近的地址的地址字共享 多个信息符号并且这样的信息字利用选定的生成矩阵被编码成代码 字,因此所述代码的至少一个子码的最小汉明距离大于所述代码的最小 汉明距离,并且所述子码的子码生成矩阵通过忽略所述生成矩阵中对应 于所述至少一个先验已知的信息符号的至少一行而从所述代码的所述 生成矩阵中导出。这些目的还通过如权利要求8中所述的解码方法来实 现。

根据本发明,地址字被预处理并且被映射到信息字。因此,如上所 述,当地址递增时导致不止一个最高有效符号改变的情况在地址字根据 这样的预处理被映射到其上的信息字中不会出现。

而且,根据本发明,所述信息字到代码字的映射是这样的以致于如 果信息字的一些信息符号是已知的,则解码器可以增强有效汉明距离。 但是,假设解码器没有被通知哪些符号(如果有的话)实际上对于解码 器是已知的。为了得到这样的有效汉明距离的增强,某个预定(也就是 以前选定的)生成矩阵被使用。所述的预定生成矩阵被用于编码和解 码,也就是其需要被用作标准生成矩阵。换句话说,生成矩阵被选择以 使得子码的最小汉明距离大于完整代码的最小汉明距离。

使用生成矩阵将信息字编码成代码字的概念被广泛使用和了解,例 如来自Richard E.Blahut的“Theory and Practice of Error-Control Codes(错误控制码的理论和实践)”,Addison Wesley,1984年5月, 3.2节。这样的生成矩阵在如CD音频标准的标准中被特别使用和描述。

当使用所述预定生成矩阵时,地址信息可以更可靠地被保护。如果 访问如磁盘的数据载体上某个地址的新命令被给出,如果一部分地址信 息(例如最高有效位)对于解码器已知,则地址检索更可靠,这在写期 间尤其重要。然后解码器可以有效地使用具有增加的最小汉明距离的子 码。但是,如果没有信息符号对于解码器是先验已知的,则检索的代码 字的解码可能与平常一样并且根据本发明使用的代码的汉明距离与已 知代码的汉明距离相同,也就是在解码期间没有具有更大最小汉明距离 的子码可被使用。

当接收可能损伤的代码字,例如从数据载体中读取时,并且在至少 一个信息符号(例如读地址的最高有效位)对于解码器是先验已知的情 况下,解码器首先利用标准的里德-索罗(RS)解码器将可能损伤的 代码字解码成中间代码字。然后所述中间代码字被后处理,也就是解码 成信息字。

在优选实施方案中,所述后处理包括伴随式计算。为获得信息符 号,因此估算中间代码字中对应于信息符号的零位。最后,利用与被用 于将地址字编码成信息字的方法相对应的方法来从所述信息字中获得 地址字。

因为在编码期间的所述地址预处理,所以如果地址被递增,则只有 一个信息符号改变,例如,当从磁盘里面跳到外面时,每次只有一个信 息符号改变。因此,如果跳的准确度是这样的,即实际落点位置的地址 与目标落点位置的地址最多有k个不同,则对于磁盘上的每一跳至少 k-1个信息符号是已知的。

当如上述选择生成矩阵时,如果在解码之前有些信息符号对于解码 器是已知的,则纠错能力可被增强。根据哪些以及多少信息符号对于解 码器来说是已知的,则会有不同等级的改进。

本发明的优选实施方案在所附权利要求书中被定义。在本发明的一 个方面,地址字通过应用格雷码而被编码成信息字。因此如果地址字递 增,则只有一个信息符号改变,也就是对应于连续地址字的信息字只有 一个信息符号不同。维m的关于q的格雷码是一系列q1个不同的关于q 的长度m的串因此任何两个相邻的字具有汉明距离1。

根据本发明,如果相应的前一地址符号的最低有效位的位值为1, 则将地址字编码成信息字优选地通过转换地址字的地址符号来完成。对 于多个地址字完成这样的操作。在其特定优选实施方案中,通过计算地 址符号的所有位和各个以前的地址符号的最低有效位之间的异或结 果,来转换地址字的地址符号,也就是地址符号的所有位被单独输入到 XOR门,前一地址符号的最低有效位被送入该XOR门中作为第二个输 入。但是,应该注意有些地址符号也可能象信息符号那样没有改变,所 述没有改变的符号被用作为辅助符号。

在权利要求5和7中定义了将信息字编码成代码字的步骤的优选实 施方案。对可能损伤的代码字解码的方法以及其特定实施方案在权利要 求8到10中被定义。

本发明的一个有利的应用在地址检索领域,特别是在光介质中。当 利用本发明时,地址或定时信息可被使得地址检索更安全和准确的更高 的纠错能力保护。本发明还可被用于保护串行数据流中的地址信息,其 在例如象电信网或互联网的传输线上被传输。一般地,如果部分信息对 于解码器是先验已知的,则本发明可被用于通过具有改善的-与已知代 码相比-纠错能力的代码来保护信息。

根据本发明用于对信息字编码的设备以及用于对可能损伤的代码 字解码的设备在权利要求11和12中被定义。应该理解这些设备可被进 一步发展并且可以有参考权利要求1的解码方法在上面已经被解释的类 似的实施方案。

用于实现根据本发明的任何或者所有方法的根据本发明的计算机 程序在权利要求13中被定义。

根据本发明的数据载体在权利要求14和15中被定义。这样的数据 载体优选地被用于存储音频、视频或者软件数据并且可能是可记录或者 可重写类型,特别是类似CD或者DVD的光记录载体。本发明的特定应 用是光记录领域,特别是如在DVR(数字视频记录)的标准中被建议的, 优选地被应用在DVR中对抖动(wobble)地址编码的领域中。一般地, 这样的数据载体包括系统数据项,特别是地址数据、定时数据或者位置 数据的系统数据项,其在数据载体生产的地方已经被记录在数据载体上 并且当用于记录用户数据的空数据载体被购买时就已经存在。因此本发 明可被用于对所述系统数据项进行编码。但是,本发明还可被用于对用 户数据进行编码。

而且,在权利要求16中定义一种用于传输利用本发明的方法进行 编码的用户数据的信号,该信号包括系统数据项,例如位置、地址或者 定时数据。

现在将参考附图更详细地解释本发明,其中:

图1显示代码字的传统格式,

图2显示编码和解码方案的框图

图3显示用于根据本发明对信息字编码的设备,

图4显示用于根据本发明解码的设备,

图5显示用于根据本发明编码的设备的另一个实施方案,

图6显示用于根据本发明解码的相应设备,

图7显示根据本发明编码和解码方案的另一个实施方案的框图,

图8显示用于将地址符号编码成信息符号的电路

图9显示用于将信息符号解码成地址符号的电路。

图1显示一个[n,k]码的代码字c的典型方案,例如里德-索罗 门代码。代码字包括:包括k个信息符号的信息字m以及当将所述信息 字m编码成代码字c时生成的包括n-k奇偶符号的奇偶字p。

图2显示利用编码和解码的典型系统的框图。其中用户数据(例如 来自记录在原版带或原版盘上的数据源1的音频或者视频数据)在其被 存储在例如磁盘的数据载体上,或者在其传输信道上(例如在互联网 上)被传输之前,或者在其被再次解码用于将其转发到数据接收器9上, 例如用于重放它们之前被编码。

如所看到的,源1的用户数据首先被源编码器2编码,然后利用ECC 编码器3进行纠错编码并且此后在被编码的用户数据-代码字-被放在 错误在其上被引入代码字的信道5上之前,利用例如EFM调制器的调制 器4调制。信道5在这里应被广泛地理解为,包括传输信道以及为了后 面的重放而在数据载体上存储被编码的数据。

当打算重放数据时,被编码的数据在其被ECC解码器7纠错解码以 及被源解码器8源解码之前首先必须由例如EFM解调器的解调器6解 调。最后被解码的用户数据可被输入到接收器9,例如用于用户数据重 放的播放设备。

然而,这样的通用系统不仅被用于编码和解码用户数据,还被用于 任何类型的数据,如管理数据,特别是地址数据。这样的地址数据被用 来找到数据载体上或者用户数据的数据流中的某个位置。在可记录或者 可重写盘上,这样的地址数据通常在记录任何用户数据之前被预先记录 在空盘上。

本发明涉及数据的编码和解码。其中使用某个预定生成矩阵,其选 择也由根据本发明的方法提到。本发明的特定应用是被用于光记录载体 上的地址的地址检索领域。

图3显示根据本发明用于编码信息字m的设备的实施方案。其中编 码设备10包括编码单元11,用于将包括固定数量的信息符号m1、m2、...mk 的信息字m编码成代码C的代码字c。为获得改进的纠错能力,某个预 定生成矩阵G被用于编码信息字m。这个生成矩阵G只被选择单元12选 择并且定义一次,并且然后在编码设备10和解码设备中被提供或者优 选地被存储,以用于连续使用。

通过利用生成矩阵G,信息字m因此由编码单元11编码成代码字c。 这些代码字c可被提供给写单元13,将代码字c记录在例如CD或者DVD 的光记录载体14上。

利用一个例子,将更详细地解释本发明,特别是生成矩阵G的优先 选择。该例子基于由g(x)=x3+x+1生成的[7,4,3]二进制汉明码C。首先 将解释该代码“正常”的已知使用,在此后将解释根据本发明代码的使 用。

通常,代码C以系统的形式被使用,其对应于有4(一般是k)行 和7(一般是n)列的下面的生成矩阵:

G sys = 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1

信息字m=(m1,m2,m3,m4)被映射到代码字c=m·Gsys。如果第i 个信息符号mi在解码之前对于解码器来说是已知的,则解码器可在解码 之前将mi对接收字r的贡献去掉。这意味着解码器将剩余的接收字r- m·Gsysi(其中Gsysi表示Gsys的第i行)解码成其中第i行被从生成矩阵 Gsys中删除的代码。因为通过删除Gsys的至多3行所获得的代码C的几乎 所有的子码C’仍具有汉明距离3,所以对多达任何3个信息位的了解不 会显著改变对于未知信息位的纠错能力。只有当信息位m1,m3和m4已知 时,恢复m2的汉明距离才增加到4。

根据本发明,用于相同代码C的另一个生成矩阵Gid给出如下:

G id = 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 0 0 = g 1 g 2 g 3 g 4 .

如果(非系统的)生成矩阵Gid被用于代码C的编码,则如果已知 某些信息位或者信息符号(信息符号可包括多于一位),如图4所示的 有信息(informed)的解码器可解码成代码C的更有利的子码C’。例如, 如果解码器知道第一个信息位m1,其可以使用由对应于[7,3,4]单向代 码的Gid的后三行g2,g3,g4所生成的子码C’。作为另一个例子,如果后 三位m2,m3,m4对于解码器来说是已知的,则其可使用由对应于[7,1,7] 重复码的Gid的第一行所生成的子码,因此使得解码器在即使存在3位错 误时也能够可靠地恢复m1。

图4显示用于解码所读取的可能损伤的代码字r的设备。其中解码 设备20接收可能损伤的代码字r,该代码字r被读单元21从数据载体 14中读出。假设在代码字c中被编码的信息字m包括四个信息符号m1, m2,m3,m4并且进一步假设用于先验解码的设备20知道三个信息符号m2, m3,m4,则在第一步所述已知的信息符号m2,m3,m4由编码单元22利用 生成矩阵G编码,所述生成矩阵被存储在存储单元23的编码设备20中 并且已经被用于编码代码字c,后者被存储在数据载体14上并且被读取 为可能损伤的代码字r。对于这样的编码,编码单元22使用对应于已知 的信息符号m2,m3,m4的生成矩阵G的行。

在后续步骤中,这样编码的结果(也就是已知信息符号m2,m3,m4 与其相应的行g2,g3,g4的乘积)由求和单元24相加,给出中间字s。 在减法单元25中,中间字s被从读取代码字r中减去,并且这样相减的 结果被提供给解码单元26。其中通过利用子码生成矩阵G’而生成的子码 C’被解码,其中子码生成矩阵G’是通过在构成装置27中忽略生成矩阵G 中对应于已知信息符号m2,m3,m4的生成矩阵所有行(也就是在本例中 通过忽略行g2,g3,g4)而从生成矩阵G得到,也就是在本例中,子码 生成矩阵G’仅包括生成矩阵G的第一行。作为结果,未知的信息符号m1 可被恢复,以便最终获知完整的信息字m。一般地,因而被包括在可能 损伤的代码字中的所述先验已知的信息符号的贡献被从所述可能损伤 的代码字中减去,并且这种相减的结果被解码。

现在将利用例子来更详细地解释解码的方法。代码C的代码字c被 给出:

     c=m.G=(m1m2m3m4)(g1g2g3g4)T=m1g1+m2g2+m3g3+m4g4.

一般,生成矩阵G包括k行和n列,信息字m包括k列并且代码字 c包括n列。

现在假设信息符号m2,m3,m4对于解码器是先验已知的并且读取代 码字r由被存储的代码字c加上额外的噪声n的总和给出,中间字s首 先被计算为:

             s=m2g2+m3g3+m4g4.

此后读可能损伤的代码字r和中间字s之间的差被计算为:

                   r-s=c+n-s=m1g1+n.

其中如果信息符号m1包括一位,则信息符号m1可仅是0或者1,生 成矩阵G的行g1是固定的并且噪声n是未知的。现在利用以上给出的根 据本发明所选择的生成矩阵Gid,g1被给出为(1111111)因此m1g1只可 能是(0000000)或者(1111111)。如果前面提到的m1g1+n的计算具 有例如(0010011)的结果,则m1g1为(0000000)的可能性将更高, 其导致m1具有位值0的结果。正如从这个例子中可以看出的,尽管在 读取的代码字中有3位错误,这意味着剩余的子码C’的汉明距离是7, 但是信息符号m1可以被确定。

如已经解释的,本发明可被用于保护在光记录载体上使用的地址。 但是,本发明还可被用于保护在任何串行数据流中的地址,该串行数据 流也可以是在传输线上传输的。一般的,本发明可被应用于具有如下所 述的任何应用中,其中信息字应被编码成代码并且其中如果至少一个信 息符号对于解码器是先验已知的,则可获得改善的纠错能力。

现在参考图5和6解释基于代码凿孔的本发明的实施方案。图5说 明将信息字m编码成代码字c的方法,并且图6说明将可能损伤的代码 字r解码成信息字m的方法。

如图5所示,包括k个信息符号的信息字m由编码设备40的编码 单元41利用中间生成矩阵G”进行编码。所述中间生成矩阵G”是从由选 择单元42所选择的生成矩阵G得到的。中间生成矩阵G”因其包括比生 成矩阵G至少多一列而大于生成矩阵G。一般的,生成矩阵G有k行和n 列,而中间生成矩阵G”具有k行和n+k列并且包括在相互不同的位置 具有单一非零项的k列。当利用所述中间生成矩阵G”来对信息字m编 码时,得到具有k+n个符号的中间代码字t。根据所述中间代码字t, 可以通过忽略所述中间代码字t的多个符号来从代码字生成单元44中 得到代码字c。其中要忽略的符号的数量对应于所述中间生成矩阵G” 和所述生成矩阵G的列数之间的差值。因此,得到的代码字c包括n个 符号。但是,应该注意G也可以代替G”直接被用于编码设备中的编码。

在解码期间,包括n个符号的可能损伤的代码字r由图6所示的解 码器接收。在第一步中,接收的字r由扩展单元50扩展为第一个伪代 码字r’。其中已经被用于编码器中的所述中间生成矩阵G”被用于确定 所述伪代码字r’的长度,也就是所述伪代码字r’的符号的数量对应于所 述中间生成矩阵G”的列数(也就是对应于接收字r的n个符号),k个 擦除符号被添加以便获得伪代码字r’。如果G已经代替G”而被直接用 于编码,则伪代码字r’等于添加了k个擦除符号的该接收字r的n个符 号。

此后,在替换单元51中,先验已知的信息符号(例如m1,m5,m6) 在所述伪代码字r’中在对应于所述先验已知的信息符号的位置的擦除 符号的位置处被替换。这意味着擦除符号1,5和6被先验已知的信息 符号m1,m5,m6替换。得到的第二个伪代码字r”此后被输入到解码器单 元52,其优选地是利用所述中间生成矩阵G”将所述第二个伪代码字r” 解码成包括k个符号的信息字m的已知错误和擦除解码器。

根据本发明的这个实施方案,使用了比本发明的其他实施方案更大 的中间生成矩阵G”。但是,这个实施方案的优点是信息符号无需按连 续的顺序先验已知,但是任何先验已知的额外信息符号(无论在信息字 中该信息符号的位置)与如果没有信息符号是先验已知的情况下所使用 的代码相比一般都可以获得增强的最小汉明距离。

基于代码凿孔的实施方案现在将被不同地说明。考虑如下定义的伽 罗瓦域GF(8)上[8,3,6]扩展里德-索罗门代码C。只有当如下情况时 矢量c=(c-1,c0,c1...,c6)在C中

c - 1 = Σ i = 0 6 c i and Σ i = 0 6 c i α ij = 0 for 1 j 4 .

其中,α是满足α3=1+α的GF(8)的元素。

可以看到下列中间生成矩阵G”生成代码C

G = 1 0 0 α 2 1 α 6 α 2 α 6 0 1 0 α 3 1 α 3 α α 0 0 1 α 4 1 α 5 α 5 α 4 .

中间生成矩阵G”的最右边的5列被用作生成矩阵G,即生成矩阵G 是

G = α 2 1 α 6 α 2 α 6 α 3 1 α 3 α α α 4 1 α 5 α 5 α 4 .

由生成矩阵G所生成的代码具有最小汉明距离3。对任何j个信息 符号的了解有效地将最小汉明距离从3增加到3+j。

根据本发明编码和解码方案的另一个实施方案的框图如图7所示。 其中包括k个地址符号a0,a1,...,ak-1的地址字a被送入包括地址预处理 单元61和RS编码器62的编码器60。利用地址预处理单元61,地址字 a被编码成包括k个信息符号m0,m1,...,mk-1的信息字m,因此当地址被递 增时一次只有一个信息符号改变。这通过格雷码,优选地通过当前一符 号ai-1的最低有效位具有位值1时转换信息符号ai来实现。

地址预处理单元61的实施方案如图8所示。如所看到的,其中地 址符号a0,a1,...,a5被映射到信息符号m0,m1,...,m5上。在特定的例子中, 每个地址符号ai包括四个地址位ai0,ai1,ai2,ai3。

类似地,每个信息符号mi包括四个信息字。尽管第一个地址符号a0 的地址位a01,...,a03被直接映射到第一个信息符号m0的信息位上,而每 个连续的地址符号a1,...,a5的地址位被单独地输入到XOR门70,在其中 馈入了前一地址符号的最低有效位作为第二个输入。例如第二个信息符 号m1的最高有效信息位m13是第二个地址符号a1的最高有效位a13和第一 个地址符号a0的最低有效位a00的XOR的结果。

在特定应用中,地址字a包括k=9个地址符号并且信息字m包括k=9 个信息符号,则最高有效地址符号a0和3个辅助地址符号a6,a7,a8(未 示出)保持不变,也就是m0=a0,m6=a6,m7=a7并且m8=a8,而其他地址 符号被映射到如图8所示的信息符号。

信息字m此后通过如图7所示的RS编码单元62而被编码成代码字 c。作为编码单元62,可以使用上述的编码器。但是,编码单元62还可 以被稍微修改

用于实现将包括k个信息符号m0,m1,...,mk-1的信息字m编码成GF(q) 上的[n,k,n-k+1]里德-索罗门码的代码字c的编码器的通用定义如 下:

父生成多项式g(p)(x)给出如下:

其中α是至多n阶的GF(q)的非零元素并且其中 表示k/2的向上取 整,也就是如果k是偶数,则 并且如果k是奇数,则 /2。

对于0≤i≤k-2的分量生成多项式g(i)由下式定义:

g ( i ) ( x ) = β i - 1 g ~ ( i ) ( x ) ,

其中

g ~ ( i ) ( x ) = g ( p ) ( x ) / ( x - z i )

并且

β i = g ~ ( i ) ( z i )

如果i是偶数则适用zi=αn-k+i/2并且如果i是奇数则适用zi= α- (i+1)/2。

代码字多项式c(x)可由下式计算:

c ( x ) = Σ i = 0 n - 1 c i x i = Σ i = 0 k - 2 m i g ( i ) ( x ) + m k - 1 g ( p ) ( x ) ,

其中所述代码字多项式c(x)的系数组成代码C中的代码字c。

作为特定应用,本发明被用于对数字视频记录(DVR)中所使用的地 址字进行编码,特别用于对DVR中所使用的抖动地址的地址字进行编 码。RS编码单元62不使用具有4位符号的非系统[15,9,7]里德-索罗 门码。有9个信息符号m0,...,m8按下列方式被编码到代码字c(x)中:

首先父生成多项式g(p)(x)被定义:

g ( p ) ( x ) = Π i = - 4 9 ( x - α i ) .

对于每个信息符号mi,生成多项式g(i)(x)被定义,该多项式是通 过去掉父生成多项式的一个零并且对结果归一化以使g(i)(zi)=1,而从 父生成多项式g(p)(x)中得到。要被去掉的零zi由下式给出:

对于i是偶数并且0≤i≤6,zi=αi/2+6

对于i是奇数并且1≤i≤7,zi=α-(I+1)/2。

然后对于0≤i≤7生成多项式被计算如下:

g ( i ) ( x ) = β i - 1 g ~ ( i ) ( x ) ,

其中

g ~ ( i ) ( x ) = g ( p ) ( x ) / ( x - z i )

并且

β i = g ~ ( i ) ( z i )

通过生成多项式和父生成多项式,代码字c(x)可由下式计算:

c ( x ) = Σ i = 0 14 c i x i = Σ i = 0 7 m i g ( i ) ( x ) + m 8 g ( p ) ( x ) ,

其中所述代码字多项式c(x)的系数组成代码C中的代码字c。α是本原 多项式P(x)=x4+x+1的原根0010。代码字符号c14首先被记录在盘63上; 代码字符号c5,...,c0的所有位在记录之前都被转换。

在本发明的该特定应用中,地址利用长度为15并且最小汉明距离 d=7的RS码进行编码。一般的,具有k个连续零的非零代码字c具有至 少k+1的权,也就是在至少k+1个位置具有非零符号。因为两个代码字 之间的差也是一个代码字,所以两个代码字在至少k+1个位置不同,也 就是说任意两个代码字之间的最小汉明距离为k+1。在根据本发明所使 用的代码中,所有代码字在α0,...,α5为零,导致最小汉明距离d=7。 如果两个信息字m共同具有一个信息符号mi,则该对应代码字的差矢量 将有一个额外的零。如果这个零扩展了已有的零序列,则共同具有mi 的所有代码字的汉明距离将变成8。换句话说,对于信息符号的预先了 解可增加代码的汉明距离。

每个信息符号mi对应父生成多项式g(p)(x)中的一个零。下表给出 每个信息符号的对应的零因数:     符号     对应的零因数     m7     (x-α-4)     m5     (x-α-3)     m3     (x-α-2)     m1     (x-α-1)     (x-α0)     (x-α1)     (x-α2)     (x-α3)     (x-α4)     (x-α5)     m0     (x-α6)     m2     (x-α7)     m4     (x-α8)     m6     (x-α9)

应该注意,信息符号m8不具有相应的零。如果一个信息符号是已知 的并且其相应的零扩展了已有的零序列,则汉明距离将增加。例如,如 果m0或者m1已知,则汉明距离将变成d=8。如果(m0和m1)或者(m0和 m2)或者(m1和m3)已知,则汉明距离将变成d=9等。

对于本ECC方案的解码方法基本上类似于使用通常(系统)的RS 码的情况。如果可能损伤的代码字r被从数据载体63中读出(或者通 过传输线被接收),则在用于具有汉明距离7的代码的所述应用中其首 先由标准的RS解码器64解码。在解码的该特定方式中,对于某些信息 符号的了解仅被用作(隐含地)解码之后附加校验。如上述,还可能通 过试图比没有这种了解所完成的的情形纠正更多的错误来使用这种了 解。

然后所获得的中间代码字r’被输入到包括RS后处理单元66以及地 址后处理单元67的后处理单元65。在RS后处理单元66中,信息符号 mi可通过估算中间代码字r’中对应于信息符号的零,也就是通过伴随式 计算来得到:

m i = Σ j = 0 14 r j · z i j for 0 i 7 .

在所述例子m8中最后的信息符号是系统符号并且可通过拷贝r’的 最后的有效符号(在例子中是r’14)而直接从中间代码字得到。

在地址后处理单元67中,地址字a此后可利用与预处理地址字所 需的结构(也就是图8所示的预处理单元61)非常类似的图9所示的电 路从信息符号m中得到。

利用所述ECC方案的优点是,当在解码之前部分地址已知时,代码 的距离可被增加。而这是使用该先验了解的驱动选项(drive option)。 如果没有这种了解,则这一步骤可以被跳过,这样给出了平常的解码过 程,其使用某些后处理来计算中间代码字中的地址。

当信息字的某些符号在解码之前已知时可以使用RS码的附加距 离。当进行访问并且驱动器跳的准确度已知时,在目标位置的最高有效 地址符号已知。这个信息可被用于解码。但是,在有些区域中这些符号 之一改变并且也许有两个可能值。甚至存在如下情形,即,如果读/写 头应该落在其中最高有效位的一个或者多个改变的一个点附近,则没有 地址符号是已知的。一个例子是头应该落在具有地址01111111的位置 处。假设使用传统的二进制表示,则下一个位置的地址是10000000,显 示在解码前没有信息符号可被假设为已知。

根据本发明,地址预处理被使用。因此,在从盘里面到外面时每次 只有一个信息符号m0...m5改变。因此,如果跳的准确度使得实际落点位 置的地址与目标落点位置的地址至多k处不同,则对于每一跳至少k-1 个符号是已知的。

为了使用例子来说明,假设将准确地跳到地址100000(十六进制), 以使得可能的落点区域在0Fxxx(十六进制)和10xxx(十六进制)之 间。那么实际落点位置将具有(0000,1111)或者(0001,0000)的(a0,a1)。 因为(a0,a1)=(0001,0000)被编码成(m0,m1)=(0001,1111)并且 (a0,a1)=(0000,1111)被编码成(m0,m1)=(0000,1111),所以m1 在整个范围上具有1111的值。对于m1的了解将增加代码的有效距离。 在用d=7的RS解码器解码以及RS后处理之后,m1可被用于检查解码结 果是否有效。检查m1是否等于1111等同于检查a0和a1是否有有效的组 合,也就是(xxx0,1111)或者(xxx1,0000)。换句话说,应该检查被 解码的地址是否在由驱动器的跳准确度所定义的范围里。

可以赢得的额外距离依赖于驱动器的跳准确度。下表给出了可由磁 盘格式的特定例子区分的三种状态的概述。

跳准确度 可能知道 的符号 汉明距离 最坏的情况 典型的 ±2000磁道 m0m1 d=8 m0或者m1已知。 d=8 ±100磁道 m0m1m2 d=8 当m0未知时,只有对m1的了解将 对汉明距离有贡献。 d=9 ±8磁道 m0m1m2m3 d=9 只有围绕一个半径的区域,其中 m0是未知的,因此需要m3以便到 达d=9。在这种情况下对m3的了 解需要±8磁道的跳准确度。 d=10

这个表显示跳准确度可以与RS码的汉明距离交换。大的寻找有较 小的跳准确度,而小的寻找或者在大的寻找之后的重试具有更大的跳准 确度。

通过解码部分的较小并且直接的某些额外的块,地址因此可以通过 已知的纠错方案更准确地被读取。为从RS码的非系统代码字中得到地 址信息,额外的块是必须的。为使用RS码的优点,解码之后只需在地 址上检查。通过检查被解码的地址是否在因跳准确度而可被预测的范围 之内,解码结果的可靠性显著地增加。这归功于根据本发明使用的RS 码创建的额外距离。

本发明还可被解释如下:如果假设在固定的生成矩阵G和最小汉明 距离d的情况下来使用纠错代码C,则格雷码将地址信息的地址矢量 a=(a0,a1,...,ak-1)以及辅助数据映射到矢量g(a)。矢量g(a)作为信息序 列用于使用G来编码,也就是,a被映射到g(a)G。如果,现在a是地 址矢量,并且Δ是正的整数,则Ia(Δ)被定义为一组索引,其中g(a) 和g(a’)之间具有一个协定,对于任何a’,其地址与a的地址差别至多 Δ。整数Δ可被看做跳准确度;a可被看做读或者写头应该落在其上的 目标地址。

例如,应该考虑8位地址,其中第i个地址对应整数i的二进制表 示,并且认为a=10010010。因为a对应于整数146,所以组Ia(Δ)是索 引{0,1,...,7}的子集,对于它来说对应于146-Δ和146+Δ之间的一个 数的任何矢量a’,g(a’)与g(a)一致。

从目标地址a和跳准确度Δ,大体上可以计算出Ia(Δ)并且用于解 码,对于每个i∈Ia(Δ),g(a’)的第i个信息符号,其中a’是实际落 点位置的地址,等于g(a)的第i个符号。对于给定的目标地址a,Ia(Δ) 的计算会很麻烦。而且,因为Ia(Δ)依赖于a,所以解码大体上也依赖 a。为了避免解码依赖于a,可以使用对于C的传统解码器,它可以解码 多达t个错误,并且可以在事后检查解码结果a’的地址是否与a的地址 至多相差Δ。也就是,关于g(a)的已知信息符号的额外信息没有被用于 解码,而是仅被用于错误检测的目的。

如果b表示对应于实际落点位置的(未被破坏的)地址矢量,则如 果a’≠b,则发生误纠正。这样的误纠正可能有非常不希望的结果,例 如,写会从错误的位置(如果a’=a)开始,甚至可能导致不应该被重写 的数据被重写。如果d(Ia(Δ))表示包括在由Ia(Δ)索引的信息符号中 具有零的C的所有字的代码的最小距离,则因为b的地址与a的地址至 多相差Δ,所以a’和b之间的汉明距离至少为d(Ia(Δ)),并且因此仅 当至少d(Ia(Δ))-t个错误出现时误纠正才会发生。如果d(Ia(Δ))超过 d,则这比出现d-t个错误更不可能。换句话说,误纠正的概率被严重 减少。

为了使d(Ia(Δ))超过d,代码C必须被明智地编码,也就是,矩阵 G必须被明智地选择。一种方法是使用基于代码凿孔的结构。其表示x=(I G),一个kx(n+k)矩阵,其中I表示kxk单位矩阵,也就是在对 线上具有1并且其他地方为零的kxk矩阵。假设由X生成的代码具有 最小距离d。现在考虑关于j个位置意见一致的两个不同的信息矢量, m1和m2。字m1X=(m1|m1G)和m2X=(m2|m2G)在至少d个位置不同。可以推 断出m1G和m2G在至少(d-(k-j))个位置不同。

由G生成的代码C的解码可以完成如下。假设一组J个信息符号已 知。对于长度n的接收矢量,(概念上)k个符号被放置作为前缀。对 应于J的已知的符号被填充;剩余的符号被声明为消去物(erasure)。 接着,对于由X生成的代码的错误和消去物解码器被应用。按这种方式, 对于某些信息符号的了解可被用于纠正比可能没有这种了解时更多的 错误。如果选择将某些信息符号的了解仅用于错误检测,如上所述,则 需要对于C的解码器。这样的解码器可被实现如下。对于接收的矢量, k个消去物被放置为前缀,不管J,并且对于由X生成的代码的错误和 消去物解码器被应用。

QQ群二维码
意见反馈