用于数字数据信道编码和信 道解码的设备和方法 本发明涉及信道编码和信道解码的设备和方法,特别是涉及经简化的用于数字数据信道编码和信道解码的设备和方法,可满足预定的编码条件(constraints)并提高8至14调制(EFM)编码的效率。
数字数据信道编码是一种克服信道或记录介质中的固有限制并提高系统坚固性(robustness)的技术。特别是在光记录设备中,由于信道编码中连续的零的最小数直接影响凹坑(pit)的尺寸,因此信道编码本身影响到记录密度。
最广为了解的信道编码是限制一系列代码中两个1之间连续的0的最小数和最大数的行程限制(RLL)编码。连续的0数量被称为行程。
RLL编码的特征在于其参数,即(d、k)或(d、k、m、n),其中d表示最小行程,k表示最大行程、m表示输入到编码器中的数据位数、n表示从该编码器输出码字的位数。此处,d是在光记录介质中确定用于记录数据地凹坑的最小长度的系数,d值最好较大。然而,当d随着给定的n增加时,可用的码字数降低,导致m降低。因此,确定编码器效率的m/n值降低,从而降低编码器输出速率。
EFM代码(2、10、8、17)被采用于光盘(compact disk)。为产生该代码,选择256个满足条件d=2和k=10的14bit的码字。为在链接(concatenated)时满足该行程条件,在码字之间插入3个合并位。
当满足d和k的条件时,插入合并位以减少数字和数变化(DSV),以便降低DC值变化并可靠地再现所记录的信号。
播放期间,K影响到抽取包括在信号中的定时信息的锁相环。K值最好较小。然而,K值的减小降低了编码效率。由于K比d对编码特性影响小,K的微小的增加或降低对编码特性没有明显影响。另外,一旦K足够大,该编码的效率随K增加。
该编码效率明显地影响到记录介质的效率。由于信道编码本身增加冗余,记录介质的效率增加与编码效率成比例。
由于EFM编码具有三个合并位,其编码效率为8/17,它小于EFM-plus编码或8至15编码的效率。因此,近来发展的光记录设备采用具有更高编码效率的8/16或8/15的编码代替EFM编码。然而,为实施这种编码,需要一与光盘的编码表不同的另一种编码表和更复杂的电路。因此,不能将它们用在现有记录设备中。另外,一个能够播放公共光盘的可互换设备还应装配一个额外的解码器。
为克服上述问题,本发明目的是提供利用减小了合并位数的EFM编码进行信道编码和信道解码的方法,以保持解码器对常规EFM编码的兼容性,并提高编码效率。
本发明的另一个目的是提供利用简单电路进行高效率编码和解码代码的设备。
为达到上述第一个目的,提供一种将数字数据信道编码成(d、k、m、n)代码的方法,其中d表示最小行程、k表示最大行程、m表示输入字的位数、和n表示码字的位数,该方法包括步骤;(a)使用预定编码表将所接收的m位输入字编码成位数大于m但小于n的信道代码;(b)通过加入(d-1)位的合并位链接2个连续的信道代码以得到n位的码字;(c)指定该连续信道代码中第一信道代码的第(n-d)位和第二信道代码的第(d+1)位作为识别位;和(d)依据d和K的条件调节信道代码和合并位;其中当违反d的条件时转换合并位以及第一信道代码的最后一位和第二信道代码的第一位,当违反k的条件时转换识别位和合并位。
另外还提供一种对按(d、k、m、n)代码编码的数字数据进行信道解码的方法,其中d表示最小行程,k表示最大行程、m表示输入字的位数,和n表示码字的位数,该方法包括步骤;(a)接收一个n位的码字;(b)确定在步骤(a)接收的码字中所加入的用于链接两个连续信道代码的(d-1)位合并位的状态,并识别两个连续信道代码的第一信道代码的第(n-d)位和第二信道代码的第(d+1)位的比特,依据d和k条件的有效性转换识别位以及第一信道代码的最后bit和第二信道代码第一比特;和(c)从步骤(b)转换的码字中分离该合并位,并利用预定解码表将该码字解码成原始的m比特数据。
为达到上述第二个目的,提供一种按(d、k、m、n)代码进行数字数据信道编码的设备,其中d表示最小行程、k表示最大行程、m表示输入字的位数、n表示码字的位数,该设备包括:一个实(real)编码器,用于利用编码预定表将m位的输入字编码成(n-d+1)位的信道编码;第一锁存装置,用于锁存从该实编码器输出的当前信道代码;第二锁存装置,用于锁存一个n位的码字,该码字是由(d-1)位的合并位扩展的第一锁存装置的输出;第一检测装置,用于通过确定从实编码器输出的信道代码中零的行程检测违反k的条件的情况;第二检测装置,用于从第一和第二锁存装置的输出中检测违反d的条件的情况;以及转换装置,用于依据第一和第二检测装置的输出转换第一和第二锁存装置的输出以及该合并位。
另外还提供一种对按(d、k、m、n)代码编码的数字数据进行信道解码的设备,其中d表示最小行程、k表示最大行程、m表示输入字的位数,和n表示码字的位数,该设备包括;第一锁存装置,用于存储n位的输入码字;第二锁存装置,用于存储从第一锁存装置输出的码字并从第一锁存装置的输出中分离(d-1)位的合并位;控制信号发生装置,用于确定作为识别位的第一锁存装置(d+1)位和第二锁存装置第(n-2d+1)位、以及合并位的状态,响应于该确定以便产生控制信号;转换装置,用于根据该控制信号转换第一和第二锁存装置的输出;和一个实解码器,用于利用预定解码表将第二锁存装置输出的经转换的信道代码解码成原始的m位数据。
通过参考附图详细描述本发明的优选实施例将使本发明的上述目的和优点更加明显;
图1是根据本发明的数字数据信道编码器的方框图;
图2是根据本发明的数字数据信道解码器的方框图;
下面将描述实现本发明中建议的信道编码和信道解码方法所需的条件(constraints)和规则。
条件1
使所链接的两个(d、k、m、n)码字的前一个是Cp,后一个是Cn。如果Cp的最后bit和Cn的第一bit都是1并且加入一个合并位,即使将0作为合并位也不能满足d等于2的条件。
条件2
当Cp最后的“1”bit和Cn第一的“1”bit之间0的数大于k时,该合并位应包括一个“1”以满足k的条件。
当条件1和2都满足时应确定合并位以减少DSV值。用于降低DSV值的DSV控制方法对本领域普通技术人员是已知的。在将信号记录到记录介质之前,将该信号中的1和下一个1的时间点之间的信号值转换成1或-1。DSV值表示该信号的累积(accumulated)值并通过向该信号中插入一个附加位使该信号反相来改变其DSV值。将依据该DSV值通过插入0或1附加位来降低DSV值的过程称为DSV控制。用3比特的合并位在常规光盘中进行DSV控制是已知的。
条件3
为控制该DSV值,应将一个“0”或“1”加入到预定位置而不对代码值或编码效率产生任何影响。当满足d和k的条件与合并位的值无关时,用该合并位控制该DSV值。虽然DSV控制不同于一般设备类型中的其它情况,通过实践了解到平均每隔20个码字的DSV控制可防止DSV值增加到100或更大。然而,在许多情况下,将一个DSV控制比特插入到每个码字的预定位置。
为通过加入单个合并位来满足上述三个条件,要使用下面的编码和解码规则。
编码规则
1、利用EFM编码表将输入的每8位为一单元的数据转换成14位的码字。
2、假设两个连续码字的前一个是Cp而后一个Cn,当Cp的最后一位和Cn的第一位都是1时,将合并位设定为1,并将Cp的最后一位和Cn的第一位转换成0。
即,如果X表示具有任意值的比特,M表示该合并位,两个码字的组合,例如
″XXXXXXXXXXX001M100XXXXXXXXXXX″
被转换成
″XXXXXXXXXXX0001000XXXXXXXXXXX.″
3、如果包括该合并位的两个码字Cp和Cn组合的行程达到14或更大,则将合并位设定为1并将Cp的第12位和Cn的第3位转换成1。这里将Cp的第12位和Cn的第3位称为识别位p.
例如,将两个码字的组合
″XXXXX100000000M0000000100XXXX″
转换成
″XXX0010000010010010000100XXXX.″
4、如果所链接的两个码字Cp和Cn的识别位之一是0,并且该识别位之间的所有位也是0。则选择一个0或1使00000+000000000000作为合并位以便降低DSV。
即,该规则应用于形式为
″XXXXXXXXXXX100M000XXXXXXXXXXX″
或 ″XXXXXXXXXXX000M001XXXXXXXXXXX.″
的序列。
根据上述编码规则编码的序列按下面的规则解码。
解码规则
1、如果合并位是1并且Cp的最后一位和Cn的第一位都是0,则将Cp的最后一位和Cn的第一位转换成1。
2、如果合并位是1并且两个识别位是1,则将识别位转换成0。
3、利用EFM解码表消除该合并位并将其它14位解码成原始数据。
使用上述编码和解码规则的(2、13、8、15)代码表现出8/15的编码效率并可与(2、10、8、17)EFM编码共用该编码表。
下面将更详细地描述该编码和解码规则。
当k为13时,不使用诸如在1后连续具有9个0的代码,以便当链接始端或末端为“0”的码字时满足k的条件。
10010000000000
00010000000000
10001000000000
01001000000000
00001000000000
00000000001001
00000000001000
00000000010010
00000000010001
00000000010000因此,在违反k的条件的情况下,Cp最低有效位部分或Cn最高有效位部分中连续的0的数至少为5。
由于常规EFM代码是(2、10、8、17)代码,k应为10或更大。然而,考虑到DSV控制,用识别位执行DSV控制或指示违反k是否会造成混乱,k不适合为10、11或12。即,当所链接的序列是下列形式时,
XXX00100000000M00100XXXXXXXXX
XXXXXXXXX00100M00000000100XXX
XXX00100000000M000100XXXXXXXX
XXXXXXXX001000M00000000100XXX
XXX00100000000M0000100XXXXXXX
XXXXXXX0010000M00000000100XXX
XXXX0010000000M000100XXXXXXXX
XXXXXXXX001000M0000000100XXXX
XXXX0010000000M0000100XXXXXXX
XXXXXXX0010000M0000000100XXXX
XXXXX001000000M0000100XXXXXXX
XXXXXXX0010000M000000100XXXXX
识别位之一不能转换成“1”因此,其它识别位被转换之后,所链接的序列将具有下列形式
XXXXXXXXX001001000XXXXXXXXXXX
或
XXXXXXXXXXX000100100XXXXXXXXX
结果是,不能将用于指示违反k的条件的识别和合并位与控制DSV值的识别和合并位区别开来。
如果将k变为13以使解决该问题,如前所述,k的增加不影响该编码特性。
如果k是13,当违反k的条件时,总可将Cp和Cn的识别位转换成1。即在违反k的条件的所有链接的序列中,至少Cp的最后5位和Cn的最前5位是0。因此,当Cp的第12位和Cn的第3位转换成1时,则满足了d的条件。
另外,为满足条件d=2,如果Cp最后两位中的任何一位是1,Cp的第12位则应该是0;如果Cn最前两位中的任何一位是1,Cn的第3位则应该是0。
因此,如果违反了d或k的条件则将合并位设定为1。除此之外,当违反k的条件时将Cp的第12位和Cn的第3位转换成1,而当违反d的条件时将Cp的最后一位和Cn的第一位转换成0。因此,当合并位为1时,可通过确定Cp的第12位和Cn的第3位是1还是Cp的最后一位和Cn的第一位是1来确定违反了哪一个条件。
在违反d或k条件的两种情况下,如果在解码前按上述解码规则恢复为已转换的位,解码器可使用EFM解码表对该码字解码。
为了控制DSV值,应依据该DSV值将合并位转换成1或0。当合并位为1时,为满足d和k的条件必须从其中辨别。当Cp的第12位或Cn的第3位中的任何一位为1时,解码器则确定该合并位针对DSV控制被设定为1。结果是,当该合并位为1时,解码器根据Cp的第12位和Cn的第3位确定转换哪一个位。从而解释了为何将Cp的第12位和Cn的第3位称为识别位的原因。
另外,当满足k并且合并位两侧0的数大于5时,例如,
XXXXXXXXX00000M00000XXXXXXXXX,″可通过将合并位、Cp的第12位和Cn的第3位转换成1或根据该DSV将它们保留为0以进行附加DSV控制。
这些种类的转换仅当Cp的第12位和Cn的第3位不违反d和k的条件时是可能的。特别是,当它们全部被转换成1时,该结果与违反k的条件的代码转换的结果相同。因此,在恢复所转换位的过程中,不需要附加电路或改变解码规则。
这种情况下,由于将11或更大的行程分成约为4的较短行程,因此信号波形变得更稳定。
当不进行DSV控制时,通过如下改进的编码和解码规则可将编码参数改变成(2、11、8、15)。
无控制编码规则
1、利用EFM编码表将输入的以每8位为一单元的数据转换成14位的码字。
2、假设两个连续码字的前一个是Cp和后一个是Cn,当Cp的最后一位和Cn的第一位都是1时,将合并位设定为1并将Cp的最后一位和Cn的第一位转换成0。
3、如果包括该合并位的两个码字Cp和Cn组合的行程大于12。仅当不违反d的条件时将合并位设定为1并将或Cp的第12位或Cn的第3位转换成1。
对通过上述编码规则编码的序列按如下解码规则解码。
无控制解码规则
1、如果合并位是一个1并且Cp的最后一位和cn的第一位都是0,则将Cp的最后一位和Cn的第一位转换成1。
2、如果合并位1,并且至少Cp的第12位和Cn的第3位之一是1,则将Cp的第12位和Cn的第3位都转换成0。
3、利用EFM解码表消除该合并位并将其它14位解码成原始数据。
当违反k的条件时改变上述规则。即由于k被限定为11,如果所链接序列的行程是12或13,Cp则可能以“1000”或“10000”结束。或Cn以“0001”或“00001”结束。此处,当Cp的第12位和Cn的第3位都不能转换成1时会出现某些情况。
虽然EFM代码满足k=10的条件,将k设定为11以防止解码器产生错误。即当码字被链接为
″XXX00100000000M00100XXXXXXXXX″
或
″XXXXXXXXX00100M00000000100XXX,″
时,解码器会出现将所有识别位转换成0的错误。因此,将k改变成11以避免上述情况。
很明显,当如上所述对数据进行编码时,应按上述解码规则进行解码。即,当不需要DSV控制时,可将k降低到11。然而,上面描述的附加DSV控制在这种情况下也是可能的。
按上述规则的编码和解码方法可用于d等于或大于2和n等于或大于d+1两倍的情况,以及编码和解码设备可与EFM编码共用编码表。
通用的编码规则用Cp的第(n-d)位和Cn的第(d+1)位作为识别位。为满足k的条件,依据所链接序列的行程转换识别位以及合并位的一位。为满足d的条件,依据该行程转换识别位以及Cp的最后一位和Cn的第一位。因此可产生一个控制DSV值并满足d和k条件的代码。
根据d的条件获得识别位的位置,以便当因d的原因而违反k的条件时,将识别位设置为1不会违反d的条件。当这些位和合并位被转换为1时,来自合并位的第(d+1)位不违反d的条件。另外,当违反d的条件时,即使当一个识别位的相邻位不是1时,该识识别位保持为0。
k应总是大于合并位的数与除该合并位的代码最大行程之和。另外,由于因为当识别位和合并位中的一位转换为1以便进行DSV控制时不应违反d的条件,k应比小于表达式1的数大1。
2d+MBN+2d+2 ...(1)其中第一个2d表示识别位为1时所链接序列的前一个码字的识别位左侧的比特和后一个码字的识别位右侧的比特中不导致违反d的条件的最小零数;MBN是合并位的数;2d+2表示在使合并位和识别位之间的比特中不导致违反d的条件的0的数。
在编码表中,从0开始至Cp或Cn中第一个1之间0的数量,或从Cp或Cn的最后一个1到0结尾之间0的数量称为边界行程或k的边界条件,并定义为kb。
kb+MBN+2d+1 ...(2)
当表达式2的结果大于表达式1的结果时,k应比小于表达式2的结果的数大1。这是由于表达式2是满足kb并解决违反k而不违反d的条件的固有问题的0的最小数。
如果编码表的k是kt并且kt大于表达式1或2的结果kt则变成最终代码的k。
简言之,一个代码的k应大于表达式3、4和5的最大值。
(2d+MBN+2d+2)-1...(3)
(kb+MBN+2d+1)-1,或...(4)
kt …(5)
合并位的最小数是在两个识别位都设定为0的链接序列中可解决除“|M|”外任何违反d的条件的0的最小数,即d-1。
当不进行DSV控制时,则确定k的最小值为表达式5、6和7的最大值。
kb+MBN+d ...(6)
3d+1+MBN ...(7)
在上述利用EFM编码表的(2、13、8、15)代码中,根据表达式2的结果将k设定成13。
对于另一个例子,可链接一个(3、12、8、19)代码。这种情况下,一个合并位有两位。当违反d的条件,即Cp的最后一位和Cn的第一位都是1时,将合并位的第一位设定为1并将Cp的最后一位和Cn的第一位转换成0。当违反k的条件时,将合并位的第一位设定为1,来自Cp和Cn合并位的第4位分别转换成1。
该代码在DSV控制中比d=2的代码更有效。这是由于,如果满足d和k的条件而与该合并位无关,利用合并位的第二位作为DSV控制标记,可从其它情况辨别出针对DSV控制将合并位设定为1的情况。因此,可比d=2的情况更频繁地控制DSV值。
如结合d=2的情况所描述的,根据合并位和识别位通过恢复所转换的信道代码位进行解码。
一个d=3、m=8和n=19的编码表具有256×19位。
由于限定了可用代码的数量,通常,通过向信道代码分配多个数据信息以及考虑状态转变来提高编码效率。与之相比,本发明所中建议的新方法原理和结构简单,并构成一个更有效的编码。
现在参考图1和2描述对数字数据编码和解码的设备的实施例。
图1中,利用常规EFM编码表110将输入数据转换成14位的信道码字。EFM编码表110一般存储在ROM中可并称为实编码器。
EFM编码表110的输出存储在Cn寄存器120。第一和第三位转换后,Cn寄存器120的输出作为前一个码字Cp存储在Cp寄存器150中。Cn和Cp寄存器120和150包括一D触发器。此处,Cp寄存器150的长度为15位并在第15位存储一个合并位M。
检测Cp和Cn寄存器120和150中接收的信道代码行程的行程检测器130检测EFM编码表110输出中连续的0的数并确定是否违反k的条件。可将一个通用计数器用作行程检测器130,当输入一个“0”时其计数值加1,当输入一个“1”时其计数器复位,这对本领域普通技术人员是已知的。
当违反k的条件时,行程检测器130向“或”门141、145和146输出“1”。因此,在违反k的条件的情况下,“或”门141的输出总是“1”并输入到Cp寄存器150的第15位。Cp的第12位输入到“或”门145的另一个输入端,Cn的第3位输入到“或”门146的另一个输入端。“或”门145和146的输出是1。
当违反d的条件时,Cp寄存器150的第15位和Cn寄存器120的第1位为1,因此“与”门142输出1。作为违反d的条件的指示信号,即“与”门142用来检测违反d的条件的情况。“与”门142的输出输入到“或”门141的另一个输入端以使合并位M变为1。“与”门142的输出在倒相器143中反相并输入到“与”门144和147以使代码Cp的最后一位和代码Cn的第一位转换成0。
Cp寄存器150的输出在并串转换器中转换成一系列n位的码字。所转换的码字输入到DSV控制器170,用于在上述条件下控制DSV值并作为编码数据输出。
图2说明本发明的解码器。下面参考该图描述该解码器的工作。
图2中,编码数据输入到串并转换器210。此处,如果数据是在记录期间由不归零反相(NRZI)调制来调制的,则将该NRZI数据在播放期间恢复成原始的不归零(NZR)数据。然后输入到串并转换器210。
串并转换器210将串行码字以一个15位为单元转换成并行数据。该并行码字存储在Cn寄存器220中。然后,根据合并位M的状态依次转换Cn寄存器220的输出,并输入到Cp寄存器240。
也就是说,作为Cp寄存器240第12位和Cn寄存器220第3位的识别位以及该合并位用来确定转换哪个信道位。为说明该判定,将Cp寄存器240的第12位和Cn寄存器220的第3位输入到“与”门232和“或非”门231。因此,当这两个位为1时,“与”门232输出1,二者都为0时“或非”门231输出1。
“与”门232的输出输入到“与非”门234。Cp寄存器240的最后一位,即合并位M输入到“与非”门234的另一个输入端。当合并位是“1”并且“与”门232的输出为“1”时(即Cp寄存器240的第12位和Cn寄存器220的第3位都是1时),“与非”门234输出0。
当“与非”门234的输出为0时,“与”门236和237分别将Cp寄存器240的第12位和Cn寄存器220的第3位转换成0。
简言之,当两个输入代码Cp和Cn的识别位以及合并位为1时,即表示在解码期间不满足k的条件时,“与”门232、236和237以及“与非”门234将两个识别位转换成0。
同时,当合并位为“1”并且Cp寄存器240的第12位和Cn寄存器220的第3位都是0时“与”门233输出1。当“与”门233输出1时,“或”门235和238将都是0的Cp寄存器240的最后一位和Cn寄存器220的第一位转换成1。
简言之,当合并位为“1”并且识别位为0,即表示不满足d的条件时,“或非”门231、“与”门233和“或”门235和238将Cp寄存器240的最后一位和Cn寄存器220的第一位转换成1。
将依据Cp寄存器240第12和Cn寄存器220第3位状态转换的Cp寄存器240的输出通过常规EFM解码表250解码成原始数据。EFM解码表250存储在ROM中并可称为实解码器。
在本发明中,提高了光盘(compact disk)中使用EFM编码的编码效率。通过该EFM编码构成了比与EFM编码具有相似编码效率的EFM-plus编码或8-15编码更简单的编码和解码设备。另外,本发明可用于光记录设备,并与常规光盘播放器和解码器兼容。
如上所述,由于本发明与EFM编码共用编码和解码表,在可重放光盘的可互换设备的制造中减少了所需的电路。另外,改善了编码效率,使本发明适用于高密度记录。