调制编码及解码

申请号 CN200880114724.1 申请日 2008-10-23 公开(公告)号 CN101849361A 公开(公告)日 2010-09-29
申请人 国际商业机器公司; 发明人 T·米特尔霍尔泽;
摘要 本 发明 提供了用于调制编码二进制输入数据流的方法及装置。将四进位枚举编码 算法 应用到输入比特流以产生一连串四进位输出符号。所述四进位算法运算以同时编码所述输入比特流的奇数及偶数交错中的相应广义斐波纳契码。然后交错每个连续四进位输出符号的位,从而产生具有全局且交错的连串长度约束的输出比特流。使所述四进位输出符号的位反相将产生具有(G,I)约束的输出比特流,如在反向串连调制系统中所使用的PRML(G,I)码中那样。本发明还提供了对应的解码系统。
权利要求

1.一种用于调制编码二进制输入数据流的方法,所述方法包括:
将四进位枚举编码算法应用到输入比特流以产生一连串四进位输出符号,所述四进位算法运算以同时编码所述输入比特流的奇数及偶数交错中的相应广义斐波纳契码;及
交错每个连续四进位输出符号的位以产生输出比特流。
2.如权利要求1中所述的方法,包括使所述四进位输出符号的所述位反相以产生(G,I)约束的输出比特流。
3.如权利要求1中所述的方法,其中所述四进位算法运算以同时编码所述奇数及偶数交错中的同一斐波纳契码。
4.如权利要求1中所述的方法,其中所述或每个斐波纳契码的基数具有有限跨距。
5.如权利要求1中所述的方法,其中自所述输入比特流中的一连串M位字产生包含一连串2N位码字的输出比特流,并且其中所述四进位算法包括:对于每个M位字,将输入值初始化为所述M位字值,并且然后,对于i=1至N中的每个迭代i,执行以下操作:
(a)计算用于将可能输入值的范围分割为四个子范围的分割索引;
(b)比较所述输入值与所述分割索引以判定哪个子范围包含所述输入值;
(c)根据包含所述输入值的子范围而产生值的四进位输出符号;及
(d)通过减去包含所述输入值的子范围的下边界值来更新所述输入值。
6.如权利要求5中所述的方法,其中自第一对及第二对部分字典式索引计算所述分割索引,每个对的所述部分字典式索引取决于根据迭代数i选择的相应斐波纳契基数。
7.如权利要求5中所述的方法,其中M=2N-1。
8.如权利要求7中所述的方法,其中N=118,且其中所述四进位算法运算以编码所述奇数及偶数交错中的同一广义斐波纳契码,所述广义斐波纳契码具有j=7约束且具有由以下所定义的基数,所述基数具有有限跨距L=9:
Bn29=512      对于n=1、2、…、5
Bn29=496      对于n=6、7、…、9
Bn29=505-n    对于n=10、11、…、118。
9.如权利要求5中所述的方法,其中M=2N-3。
10.如权利要求9中所述的方法,其中N=100,且其中所述四进位算法运算以编码所述奇数及偶数交错中的同一广义斐波纳契码,所述广义斐波纳契码具有j=5约束且具有由图6的表所定义的基数,所述基数具有有限跨距L=9。
11.如权利要求9中所述的方法,其中N=200,且其中所述四进位算法运算以编码所述奇数及偶数交错中的同一广义斐波纳契码,所述广义斐波纳契码具有j=6约束且具有由图7的表所定义的基数,所述基数具有有限跨距L=9。
12.一种用于解码通过如权利要求1中所述的调制编码方法而产生的输出比特流的方法,所述方法包括:
解交错所述输出比特流的位以产生一连串四进位符号;及
将四进位枚举解码算法应用到所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此恢复所述二进制输入数据流。
13.一种用于调制编码二进制输入数据流的装置,所述装置包括:
四进位编码器,其用于将四进位枚举编码算法应用到输入比特流以产生一连串四进位输出符号,所述四进位算法运算以同时编码所述输入比特流的奇数及偶数交错中的相应广义斐波纳契码;及
多路复用器,其用于交错每个连续四进位输出符号的位以产生输出比特流。
14.如权利要求13中所述的装置,包括:反相器,其用于使所述四进位输出符号的所述位反相以产生(G,I)约束的输出比特流。
15.如权利要求13中所述的装置,其中所述四进位编码器适于同时编码所述奇数及偶数交错中的同一斐波纳契码。
16.如权利要求13中所述的装置,其中所述或每个斐波纳契码的基数具有有限跨距L,且其中所述四进位编码器适于作为宽度为2L+2的滑动窗口编码器而操作。
17.如权利要求13中所述的装置,其中所述四进位编码器适于编码所述输入比特流中的一连串M位字,使得所述输出比特流包含一连串2N位码字,所述四进位编码器适于应用四进位算法,所述四进位算法包括:对于每个M位字,将输入值初始化为所述M位字值,并且然后,对于i=1至N中的每个迭代i,执行以下操作:
(a)计算用于将可能输入值的范围分割为四个子范围的分割索引;
(b)比较所述输入值与所述分割索引以判定哪个子范围包含所述输入值;
(c)根据包含所述输入值的子范围而产生值的四进位输出符号;及
(d)通过减去包含所述输入值的子范围的下边界值来更新所述输入值。
18.如权利要求17中所述的装置,其中所述四进位编码器适于自第一对及第二对部分字典式索引计算所述分割索引,每个对的所述部分字典式索引取决于根据迭代数i选择的相应斐波纳契基数。
19.如权利要求17中所述的装置,其中M=2N-1。
20.如权利要求19中所述的装置,其中N=118,且其中所述四进位编码器适于编码所述奇数及偶数交错中的同一广义斐波纳契码,所述广义斐波纳契码具有j=7约束且具有由以下所定义的基数,所述基数具有有限跨距L=9:
Bn29=512      对于n=1、2、…、5
Bn29=496      对于n=6、7、…、9
Bn29=505-n    对于n=10、11、…、118。
21.如权利要求17中所述的装置,其中M=2N-3。
22.如权利要求21中所述的装置,其中N=100,且其中所述四进位编码器适于编码所述奇数及偶数交错中的同一广义斐波纳契码,所述广义斐波纳契码具有j=5约束且具有由图6的表所定义的基数,所述基数具有有限跨距L=9。
23.如权利要求21中所述的装置,其中N=200,且其中所述四进位编码器适于编码所述奇数及偶数交错中的同一广义斐波纳契码,所述广义斐波纳契码具有j=6约束且具有由图7的表所定义的基数,所述基数具有有限跨距L=9。
24.一种用于解码通过如权利要求13中所述的调制编码装置而产生的输出比特流的装置,所述解码装置包括:
解多路复用器,其用于解交错所述输出比特流的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此恢复所述二进制输入数据流。
25.一种数据存储系统,所述系统包括:
如权利要求13中所述的调制编码装置,其用于调制编码包含一连串M位字的二进制输入数据流以产生包含一连串2N位码字的输出比特流;
记录通道,其包含存储介质及记录/重现机构,所述记录/重现机构用于在所述存储介质上记录所述一连串码字且用于读取所述存储介质以产生重现后的信号
检测器装置,其用于检测所述重现后的信号中的一连串2N位字;
解多路复用器,其用于解交错所检测的2N位字的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到每个2N位字的所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此产生一连串M位数据字。
26.一种磁带驱动器,其包含如权利要求25中所述的数据存储系统,其中所述存储介质包括磁带。
27.一种数据存储系统,所述系统包括:
如权利要求14中所述的调制编码装置,其用于调制编码包含一连串M位字的二进制输入数据流以产生包含一连串2N位码字的输出比特流;
预编码器,其用于1/(1+D2)编码来自所述调制编码装置的所述输出比特流以产生预编码后的比特流;
ECC编码器,其用于错误校正编码所述预编码后的比特流以产生ECC编码后的比特流;
记录通道,其包含存储介质及记录/重现机构,所述记录/重现机构用于在所述存储介质上记录所述ECC编码后的比特流且用于读取所述存储介质以产生重现后的信号;
检测器装置,其用于检测所述重现后的信号中的一连串2N位字并且包括用于校正所检测的2N位字中的错误的ECC解码器;
解多路复用器,其用于解交错所检测的2N位字的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到每个2N位字的所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此产生一连串M位数据字。
28.一种磁带驱动器,其包含如权利要求27中所述的数据存储系统,其中所述存储介质包括磁带。
29.一种数据重现系统,其用于重现由实施如权利要求1中所述的调制编码方法的记录系统记录在存储介质上的数据,所述数据重现系统包括:
读取机构,其用于读取所述存储介质以产生重现后的信号;
检测器装置,其用于检测所述重现后的信号中的一连串2N位字;
解多路复用器,其用于解交错所检测的2N位字的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到每个2N位字的所述四进位符号以同时解码由所述调制编码方法的所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此产生一连串M位数据字。

说明书全文

技术领域

发明一般地涉及用于调制编码输入数据的方法及装置和涉及对应的调制解码系统。

背景技术

调制码用于数据存储系统中以消除记录数据中的不良位序列,例如,在重现过程中引起错误的位序列。不良位序列的一个实例为具有同一值的长位连串。另一实例为在比特流中的交替位置中(即,在比特流的奇数(O)或偶数(E)交错(...EOEOEO...)中)具有同一值的长位连串。举例而言,形式为0a0b0c0d0...(其中,a、b、c等可为0或1)的长序列将通常为不良的。调制码将某一形式的约束强加于不良位序列在编码后的比特流中的出现。举例而言,一些调制码强加所谓的j约束,由此将编码后的比特流中的连续1连串的最大长度限于预定值j。其他调制码将约束强加于连续0的最大连串长度(run-length)。此被称作k或G约束,由此将连续0的最大连串长度分别限于值k或G。后者的码类型的一个实例由基于PRML(部分响应最大似然)的记录系统(如磁带驱动器及光学存储系统)中所使用的PRML(G,I)码提供。除了″全局″或G约束以外,这些码强加″交错″或I约束。这将奇数与偶数交错中的每个内的0的最大连串长度限于值I。当然,I约束的比特流必然是G约束的,其中G=2I。
PRML(G,I)码对于反向串连(RC)调制方案特别有用,其中在错误校正编码(ECC)之前执行调制编码。在RC方案中减少了错误传播,因为ECC解码器在调制解码器之前对重现操作。即,如果ECC解码器不产生错误,则不存在通过调制解码器的错误传播。因此,RC允许使用长调制码(即,具有长码字长度的码),从而促进高速率码及接近选定约束的容量而操作的编码器的设计。然而,为了有用,这些码需要具有基于有效编码及解码算法的实际实施。
美国专利第5,760,718号中揭示了用于在编码后的比特流中强加k约束的实际编码器。其实施了基于广义斐波纳契(Fibonacci)码的类别的枚举编码技术。在T.M.Cover的″Enumerative Source Encoding″(IEEE Trans.Inform.Theory,第19卷第73至77页,1973年1月)中讨论了枚举编码。在W.H.Kautz的″Fibonacci Codes for Synchronisation Control″(IEEETrans.Inform.Theory,第11卷第284至292页,1965年4月)中讨论了斐波纳契码。虽然为了详细论述而对前述论文进行参考,但此处有用的是给出这些技术的简要解释以帮助待描述的本发明的理解。
简言之,枚举编码是基于码字的字典式排序而将输入字映射至输出码字的过程。也就是说,如果根据二进制值来排序X个二进制代码字的集合,则每个码字可根据其在排序后的集合中的位置而被指派自1至X的数。如果这些指派的数1至X中的每个接着定义二进制输入字的值,则X个二进制输入字中的每个都与对应码字相关联。枚举编码是根据此类型的方案而将输入字映射至输出码字的过程。虽然基本编码原理足够简单,但实际上的问题在于设计有效编码器以用于自二进制输入字生成码字。如果存在(例如)2100个码字,则对于有效编码器设计的需要很容易地是显而易见的。
斐波纳契码的特征在于权重(亦被称作基数)集合,其定义二进制码字表示中的相应位置处的二进制1的值。也就是说,二进制码字中的给定位置处的1表示该位置的斐波纳契基数的值,而不是通常的2的幂。作为一简单实例,考虑由N=7个基数的集合所定义的斐波纳契码,这些基数由{wn}=1,2,3,5,8,13,21给出。可看出,基数满足线性递归
wn+1=wn+wn-1                对于n=2、3、...、6
(N=7)位斐波纳契码字的完全集合可表示wN+1=(13+21)=34个可能值。由于34≥25,所以此简单斐波纳契码可通过枚举编码过程而将5位输入编码为长度为N=7的码字。此编码过程由以下定义:
u=∑xi wN-i+1            对于i=1至7
其中u为输入字值,且(x1,x2,...,x7)为输出码字。通过自输入字值中连续地减去斐波纳契基数来执行编码过程,如附图的图1所说明的。具体地说,数u被连续地减少基数wn中的任一者(按递减值次序进行),不给出负结果。如果给定权重wN-i+1实际上自移动差(running difference)中被减去,则xi=1。否则,xi=0。
图1的考虑表明此简单斐波纳契码强加j=1约束,即,不多于一个连续1可出现于码字中。在广义斐波纳契码的情况下,对于n=1至N的基数wn满足下列线性递归(不等式)
wn+1≤wn+wn-1+…+wn-j,对于n=j+1、j+2、...、N-1
其中指定正整数j定义码的j约束。此类广义斐波纳契码中的码字的最大数目由以下给出:
wN+1=wN+wN-1+…+wN-j。
如同图1的简单码,广义斐波纳契码中的二进制码字(x1,x2,…,xN)通过利用基数{wn}来表示输入u(0≤u<wN+1)而获得,即,
u=∑xi wN-i+1。
为了实施目的,如以上所参考的US 5,760,718中所描述的,基数被选择为具有有限跨距(span)L,即,
wn=Bn 2n-1
其中Bn在范围2-L≤Bn≤1内且具有L位表示。在跨距为L的基数的情况下,可使用自∑uk2k的最高有效位移动至最低有效位的(L+1)位宽窗口而以滑动窗口方式来执行编码。
基于与US 5,760,718的理念类似的枚举编码理念,美国专利第7,064,687号及第7,071,851号揭示了针对PRML(G,I)码设计的编码器及解码器。它们得自广义斐波纳契码。具体地说,输入比特流被分离为其奇数及偶数交错,且两个交错接着由单独斐波纳契编码器编码。由于斐波纳契码将j约束强加于连串的1,所以编码器输出的位反相导致两个编码后的比特流,每个都具有连串的0上的约束。多路复用器接着交错编码后的比特流以给出单个(G,I)约束的输出比特流,其中G=2I,其中I等于用于原始斐波纳契码的j的值。在US 7,064,687的调制编码器中,需要短区编码器以在奇数与偶数交错的分离之前编码输入数据位的子集。这将初始约束强加于输入比特流以将可能输入限制为两个斐波纳契编码器。虽然这提供了实际实施,但对用于短区块码的有效布尔逻辑的需要使得难以达到用于所得PRML(G,I)码的极高速率。

发明内容

本发明的第一方面提供一种用于调制编码二进制输入数据流的方法,所述方法包括:
将四进位(4-ary)枚举编码算法应用到输入比特流以产生一连串四进位输出符号,所述四进位算法运算以同时编码所述输入比特流的奇数及偶数交错中的相应广义斐波纳契码;及
交错每个连续四进位输出符号的位以产生输出比特流。
如先前所述,在现有技术中,两个单独二进制编码算法对输入比特流的分离的奇数及偶数交错独立地运算。对比而言,在本发明的调制技术的情况下,四进位枚举编码算法对形成(奇/偶交错的)输入比特流的一连串二进制输入位进行运算,以同时将奇数及偶数交错斐波纳契编码为具有四进位输出符号的单个枚举码。此单个码在本文中将被称作″交错的斐波纳契码″。根据以上所论述的枚举编码原理,交错的斐波纳契码的四进位算法因此根据值而将输入比特流的M位字映射到具有四进位符号的排序后的输出码字集合。四进位符号各自由两个平行位表示,且它们接着针对一连串输出符号而被交错以产生具有斐波纳契编码的奇数及偶数交错的二进制输出流。先前所解释的斐波纳契码的固有特性提供了具有全局且交错的连串长度约束的输出比特流。虽然可设想需要1的最大连串长度上的约束的应用,但位反相导致适合于以上所论述的PRML码的(G,I)约束。
自前述内容将看出,与由现有技术所需要的两个编码器相比,在本发明的调制技术的情况下,单个四进位枚举编码器足以生成输出比特流的奇数及偶数交错两者。此外,不需要短区块编码器。此外,调制技术使能充分地利用基本广义斐波纳契码的所有码字,且因此易于达到PRML(G,I)码的最大可能长度。这导致用于PRML码的最高可能速率。对比而言,归因于在设计用于短区块码的有效布尔逻辑时的困难,达到此最大长度对于US 7,064,687的调制编码器将很难,尤其在高于13/14的速率下。
对于诸如PRML码的应用(其中四进位输出符号的位被反相),当然可在符号位的交错之前或之后执行反相。
一般而言,由四进位算法在输出的奇/偶交错中所编码的斐波纳契码可为不同码或相同码,但更通常地,将使用相同码。在任一情况下,在优选实施例中,基本斐波纳契码(多个)的基数具有有限跨距,从而允许以滑动窗口方式来执行编码过程。
本发明的第二方面提供一种用于解码通过根据本发明的第一方面的调制编码方法而产生的输出比特流的方法。解码方法包括:
解交错所述输出比特流的位以产生一连串四进位符号;及
将四进位枚举解码算法应用到所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此恢复所述二进制输入数据流。
本发明的第三方面提供用于调制编码二进制输入数据流的装置。调制编码装置包括:
四进位编码器,其用于将四进位枚举编码算法应用到输入比特流以产生一连串四进位输出符号,所述四进位算法运算以同时编码所述输入比特流的奇数及偶数交错中的相应广义斐波纳契码;及
多路复用器,其用于交错每个连续四进位输出符号的位以产生输出比特流。
本发明的第四方面提供用于解码由根据本发明的第三方面的调制编码装置所产生的输出比特流的装置。解码装置包括:
解多路复用器,其用于解交错所述输出比特流的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此恢复所述二进制输入数据流。
本发明的第五方面提供一种数据存储系统,所述系统包括:
根据本发明的第三方面的调制编码装置,其用于调制编码包含一连串M位字的二进制输入数据流以产生包含一连串2N位码字的输出比特流;
记录通道,其包含存储介质及记录/重现机构,所述记录/重现机构用于在所述存储介质上记录所述一连串码字且用于读取所述存储介质以产生重现后的信号
检测器装置,其用于检测所述重现后的信号中的一连串2N位字;
解多路复用器,其用于解交错所检测的2N位字的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到每个2N位字的所述四进位符号以同时解码由所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此产生一连串M位数据字。
在此类数据存储系统中,调制装置中所产生的一连串2N位码字在被记录在通道中之前通常将经历各种进一步处理步骤,如在PRML系统的情况下的预编码及ECC编码。在优选实施例中,在反向串连调制方案中使用PRML(G,I)码,由此所述数据存储系统包括:预编码器,其用于1/(1+D2)编码来自所述调制编码装置的所述输出比特流以产生预编码后的比特流;及ECC编码器,其用于错误校正编码所述预编码后的比特流以产生ECC编码后的比特流以便提供给所述记录通道。所述检测器装置然后包括用于校正重现后的信号中所检测到的2N位字中的错误的ECC解码器。
当然,可设想允许读取记录介质而不写入介质的系统,一个实例为只读CD或DVD播放器。此类系统可因此使用体现本发明的解码装置而不必具有对应编码装置。具体地说,本发明的第六方面提供一种数据重现系统,其用于重现由实施根据本发明的第一方面的调制编码方法的记录系统记录在存储介质上的数据。数据重现系统包括:
读取机构,其用于读取所述存储介质以产生重现后的信号;
检测器装置,其用于检测所述重现后的信号中的一连串2N位字;
解多路复用器,其用于解交错所检测的2N位字的位以产生一连串四进位符号;及
四进位解码器,其用于将四进位枚举解码算法应用到每个2N位字的所述四进位符号以同时解码由所述调制编码方法的所述四进位编码算法应用到所述奇数及偶数交错的所述广义斐波纳契码,由此产生一连串M位数据字。
一般而言,在本文中参考本发明的一方面的实施例来描述特征的情况下,可在本发明的另一方面的实施例中提供对应的特征。

附图说明

现在将通过实例的方式参考附图描述本发明的优选实施例,这些附图是:
图1示出了使用简单斐波纳契码的编码过程;
图2为体现本发明的数据存储系统的示意性方块图;
图3为图2系统的调制编码器的方块图;
图4为图2系统的调制解码器的方块图;
图5给出由图3的调制编码器所实施的编码算法的操作中所执行的处理步骤的分解;
图6及图7将图3的调制编码器的实施例中所使用的相应斐波纳契码的基数制成表;且
图8比较调制编码器的实施例中所使用的三个PRML(G,I)码。

具体实施方式

图2的方块图为体现本发明的数据存储系统的示意性表示,其展示记录/重现过程中所涉及的主要组件。在此实施例中,数据存储系统为磁带驱动器(整体指示于1处),且因此具有记录通道2,记录通道2具有用于读取及写入至磁带4的读取/写入头3。在记录侧上,磁带驱动器1具有调制编码装置,其形式为PRML(G,I)编码器5、预编码器6及整体指示于7处的ECC编码器。ECC编码器7包括RS(Reed-Solomon)奇偶发生器8及部分交错器9。在重现侧上,驱动器1包括检测器装置,整体指示于11处且包含检测器12及ECC解码器13,连同调制解码器14。
在操作中,将待记录的数据以包含一连串M位数据字的输入比特流的形式提供给PRML编码器5。编码器5执行如以下所详述的输入数据的调制编码,以产生包含一连串2N位码字的(G,I)约束的编码后的比特流。如在基于PRML(G,I)码的调制系统中所通常存在的,编码后的比特流接着经受由预编码器6所进行的1/(1+D2)预编码,其中″+″此处表示模2加法。根据先前所论述的反向串连概念,在此实施例中,在调制编码之后执行ECC编码。在此情况下,ECC编码涉及来自预编码器6的码字流中的奇偶符号的部分交错。由奇偶发生器8以已知方式自2N位码字生成不受约束的RS奇偶符号。这些符号接着由部分交错器9插入编码后的比特流中的期望点处。在通道2中的通常信号处理之后,所得的ECC编码后的比特流接着被记录在磁带4上。在重现时,在通常重现信号处理之后,通过读取磁带4而获得的重现后的信号被提供给检测器12。检测器12通常为软输入/硬输出检测器(如Viterbi检测器),或软输入/软输出检测器,其提供对于每个所记录位的似然测量,且以已知方式来检测重现后的信号中的2N位字。接着由ECC解码器13以已知方式执行奇偶检查及错误校正处理。所得的一连串2N位字接着被提供给调制解码器14,其如以下所详述而操作以产生对应于原始输入数据的一连串M位字。
现将参考图3及图4来详细地描述磁带驱动器1的调制编码器5及解码器14的操作。虽然原则上可用软件硬件与软件的组合来实施这些组件,但实际上,为了操作的简单性及速度起见,用硬连线逻辑的实施方案为优选的。自本文中的描述,合适的实施方式将对本领域技术人员显而易见。
如图3所说明,PRML(G,I)编码器5包含四进位枚举编码器16、多路复用器17及反相器18。简要地,编码器16将四进位枚举编码算法应用到输入比特流以实施如以上所定义的交错的斐波纳契码。即,编码器16操作以同时将输入比特流的奇数及偶数交错中的相应广义斐波纳契码编码为具有四进位输出符号的单个枚举码。对于输入比特流中的每个M位字,编码器16生成一连串N个四进位输出符号,如图中的粗线所指示。四进位符号都由两个位表示。多路复用器17然后针对一连串四进位符号交错这些位以产生用于每个输入M位字的2N个位的二进制输出流。反相器18然后执行位反相,使得所得的调制编码后的比特流由满足如以上所解释的(G,I)约束的一连串2N位码字组成。
根据枚举编码原理,由编码器16所实施的四进位枚举编码算法根据输入字的值而将输入M位字直接映射到四进位码字。此实施例的四进位算法在编码器16中被应用为迭代过程,对于每个迭代步骤i,其产生一个由二进制输出对(xoi,xei)所表示的四进位符号。对于用以同时编码两个基本斐波纳契码(每个具有N个定义的基数{wn},n=1至N)的交错的斐波纳契码IF,算法根据uIF而将值为uIF=∑uk2k(k=0至M-1)的输入字(uM-1,uM-2…,u0)映射至四进位码字((xo1,xe1),(xo2,xe2),…,(xoN,xeN))。具体地说,给定以下范围内的输入uIF
0≤uIF<(wN+1)2
算法如下。
初始化:Uo=wN+1,Ue=wN+1,u=uIF。
For i=1to N do{
Compute partial lexicographic indices vo,ve and partitioning indicesN00,N01,N10:
vo=min{wN-i+1,Uo},ve=min{wN-i+1,Ue}
N00=vove,N01=voUe,N10=N01+(Uo-vo)ve
Compute time-i output(xoi,xei)and update input u:
if u<N00,                    then xoi=0,xei=0
else if N00≤u<N01            then xoi=0,xei=1,u=u-N00
else if N01≤u<N10,          then xoi=1,xei=0,u=u-N01
else                           xoi=1,xei=1,u=u-N10
Update upper bounds:
Uo=min{wN-i+1,Uo-xoi wN-i+1},Ue=min{wN-i+1,Ue-xei wN-i+1}
}
以上的考虑展示算法基本上涉及将输入值u初始化为M位字值uIF,且接着,对于i=1至N的每个迭代i,计算变量N00、N01、N10的值,且通过将输入值u与N00、N01、N10相比较来生成输出符号(xoi,xei)。变量N00、N01、N10在本文中被称作″分割索引″,因为其用于将每个迭代的可能输入值u的范围分割为四个子范围:
u<N00;
N00≤u<N01;
N01≤u<N10;及
u≥N10。
对于每个迭代,可能输入值u的范围为0≤u<UoUe,其中Uo及Ue为在更新之前迭代i处的奇数及偶数上界。由于初始输入值nIF为M位字,且由于0≤uIF<2M≤(wN+1)2,所以第一迭代i=1的分割索引将可能M位值的范围分割为四个。更详细地,输出符号(xoi,xei)的生成涉及以下步骤:
(a)计算分割索引N00、N01、N10;
(b)比较当前输入值u与分割索引以判定以上所定义的四个子范围中的哪个子范围包含该输入值;
(c)根据哪个特定子范围包含输入值来设置(xoi,xei)的两个位;且接着
(d)通过自u的当前值中减去包含u的该值的子范围的下边界值来更新输入值。(此处,如果u处于最低子范围内,则将不改变更新后的输入值,因为下边界值接着为零)。
自第一及第二对″部分字典式索引″vo、ve及Uo、Ue计算分割索引N00、N01、N10。索引vo、ve在下文中被称作下部部分字典式索引,且上界Uo、Ue在下文中被称作上部部分字典式索引。这些值对被称作部分索引,因为:对的每个值与来自反相器18的二进制输出流的奇数及偶数交错中的相应一个相关联,并且因此实际上,与交错的斐波纳契码中的基本斐波纳契码中的一个或另一个相关联。如以上算法中所指示的,每个对vo、ve及Uo、Ue的部分字典式索引取决于根据迭代数i所选择的相应斐波纳契基数(即,wN-i+1)。注意,如果基本斐波纳契码不同,则来自一个码的适当基数将用于计算vo、Uo,且来自另一个码的适当基数将用于ve及Ue。然而,在编码器16的优选实施例中,基本斐波纳契码相同,且以下将描述特别优选的实例。此外,在优选实施例中,基本斐波纳契码具有如先前定义的具有有限跨距L的基数。在此情况下,如将对本领域技术人员显而易见的,编码器16作为宽度为2L+2的滑动窗口编码器而操作。
图4展示对应于PRML(G,I)编码器5的调制解码器14。如所说明,解码器14包括反相器20、解多路复用器21及四进位解码器22。反相器20接收从重现后的信号所检测到的一连串2N位字,且使位反相以将二进制输出流提供至解多路复用器21。这将解交错所接收二进制流的奇数及偶数位以产生用于每个检测的2N位字的一连串N个四进位输出符号(xo,xe)。每组N个四进位符号接着由四进位解码器22解码以恢复对应于原始输入数据流中的M位字的输出M位字。四进位解码器22实施由编码器16所应用的编码算法的反转,且因此应用四进位枚举解码算法以同时解码由四进位编码器所应用的交错的斐波纳契码的基本斐波纳契码。在连续迭代步骤中,算法处理连续四进位符号的位对(xoi,xei)。具体地说,给定奇数及偶数交错中的基本斐波纳契码的码字xo1、xo2、...、xoN及xe1、xe2、...、xeN,算法如下。
初始化:UoN=wN+1,UeN=wN+1,u=0
预处理(预计算及存储所有上部部分字典式索引):
For i=1to N-1do{
UoN-i=min{wN-i+1,UoN-i+1-xoiwN-i+1},UeN-i=min{wN-i+1,UeN-i+1-xeiwN-i+1}
}
For i=N down to 1 do{
Compute lower partial lexicographic indices vo,ve and partitioningindices N00,N01,N10:
vo=min{wN-i+1,Uoi},ve=min{wN-i+1,Uei}
N00=vove,N01=vo Uei,N10=N01+(Uoi-vo)ve
Update enumerative index(=decoder output)u:
If       (xoi=0,xei=0)then    u=u
else if  (xoi=0,xei=1)then    u=u+N00
else if  (xoi=1,xei=0)then    u=u+N01
else                             u=u+N10
}
如前文,如果基本斐波纳契码不同,则对vo、ve及Uoi、Uei的奇数及偶数索引的基数wN-i+1可不同,且在基数具有有限跨距L的优选情况下,解码器作为宽度为2L+2的滑动窗口解码器而操作。
图5的表作为每个迭代所需的不同类型的处理步骤的数目的分解,给出了四进位编码器操作的复杂性级别的指示。关键的复杂性在于所需的乘法的数目。如表中所示,在斐波纳契基数具有有限跨距L的情况下,仅需要(L+1)位数目的三个乘法。由于不需要(L+1)位数目的比较,所以解码算法的复杂性甚至更小。就存储需求而言,在奇数及偶数交错中的基本斐波纳契码为相同的情况下(具有跨距为L的基数),四进位编码器仅需要存储N个L位基数元素。解码器另外需要存储为L位数目的2N个上部部分字典式索引。
应了解,以上所描述的四进位枚举编码技术导致高度有效的调制编码及解码系统。这些技术允许充分地利用基本广义斐波纳契码的所有码字,从而促进达到PRML(G,I)码的最大可能长度。这允许达到PRML码的最高可能速率。码速率中的所得增益支持使用非约束的符号的部分交错,如在图2的RC方案中那样。此外,高速率编码技术导致其自身与基于LDPC(低密度奇偶检查)码或增强(turbo)编码方案(需要软信息自检测器至编码器的消息传递)的ECC技术一起使用。现将参考图6至图8来描述本发明的实施例的优选PRML码的特定实例。
以下将描述三个速率(2N-P)/2N码(即,M=2N-P)。在每一情况下,交错的斐波纳契码中的两个基本斐波纳契码都相同。在第一码中,P=1。跨距为L=9的基本j=7广义斐波纳契码的基数wn=Bn2n-1(n=1、2、N=118)由以下定义:
Bn29=512        对于n=1、2、......、5
Bn29=496        对于n=6、7、......、9
Bn29=505-n      对于n=10、11、......、118。
这些基数提供长度236及速率235/236的交错的斐波纳契码。所得PRML码满足在码字内及跨越串连码字的码字边界的I=7及G=14约束。此PRML码支持在由至少16个位位置所间隔的任何期望位置处的8位RS奇偶字节的部分符号交错。此类不受约束的字节的插入使调制约束弱化至I=11及G=22。通过使用少于N=118个基数元素而获得的任一PRML码满足与较长码相同的调制约束,且可易于构建具有相同约束的较短PRML码,例如,速率223/224码。
在第二及第三码中,P=3。通过选择此形式的码速率(即,(2N-3)/2N),有可能分别设计长度为200及400的两个极高速率码。这些码中的第一个为速率197/200的PRML(G=10,I=5)码。此码由基本广义斐波纳契码的基数及j分布(proffle)充分地定义,其中N=100且j=5,在图6的表中被陈列。第二个为速率397/400的PRML(G=12,I=6)码。对于此码,基本广义斐波纳契码的基数(其中N=100且j=6)在图7的表中被陈列。基本斐波纳契码的j约束分布为码字内的j(n)=6,即,对于n=6、7、...、199。在边界处,适用以下j约束:
在左边界处:j(1)=1、j(2)=2、j(3)=3、j(4)=3、j(5)=4、j(6)=5;
在右边界处:j(200)=3。
因此,在码字内及跨越码字边界适用j=6约束。所得PRML码因此满足在码字内及跨越码字边界的约束G=12及I=6。
以上所描述的三个码具有如由图8的比较表所表明的下列特征属性:PRML(G=14,I=7)码具有最高速率但最弱约束;PRML(G=10,I=5)码具有最紧约束但最低速率;PRML(G=12,I=6)码为两个其他码的良好折衷,这在于:其具有中间强度的约束且几乎达到PRML(14,7)码的速率。所有三个码均支持在足够间隔的任何插入位置处的非约束奇偶符号的部分符号交错。
虽然以上已描述本发明的优选实施例,但可在不脱离本发明的范围的情况下进行许多改变及修改
QQ群二维码
意见反馈