数据调制方法、调制器、记录方法和记录装置 【技术领域】
本发明涉及数据调制方法、调制器、记录方法和记录装置,尤其是,涉及用于调制要记录在光记录介质上的数据的方法和装置,以及使用其的记录方法和装置。
本发明还涉及数据纠错方法和装置,尤其是,涉及用于纠正在要记录在光记录介质上的已调制数据中的错误的方法和装置。
背景技术
在常规的记录系统中,再现单元使用调制码用于减少由相邻的码元之间的干扰所引起再现信号的失真,并且用于实现适当的定时恢复。
调制码可以由(d,k)表示,其称为游程长度受限(Run Length Limit)(RLL)码。在这里,“d”表示可以出现在调制码的1之间的0的最小数目,并且用作减少由相邻的码元之间的干扰所引起的信号失真的约束,“k”表示可以出现在1之间的0的最大数目,并且用作实现定时恢复的约束。
当设计调制码的时候,用于将k的约束施加于调制码的方法包括位翻转方法,其中监视从调制码编码器输出的信道序列,并且当在序列的一位置上检测到序列违反k的约束的时候,将该位置上的数据“0”改变为“1”,以施加k的约束。
也就是说,该位翻转方法向信道序列添加错误以将k的约束施加于信道序列。在该方法中,在将错误记录在记录介质上之前,将错误添加到该信道序列。因此,记录在记录介质上的序列包含错误。
因此,该位翻转方法具有许多问题,因为如果位翻转经常发生,则在解调期间很难重构原始数据,并且即使能够重构原始数据,也存在改善记录密度的限制。特别地,对于用于记录系统的调制码,这些问题是更加严重的,因为由于用于记录系统的调制码的设计特性,在一位中的错误在解码期间引起许多其他位中的错误。
【发明内容】
技术问题
被设计以解决问题的本发明的一个目的在于提供便于重构原始数据的数据调制方法、调制器、记录方法和记录装置,并且可以改善记录密度。
被设计以解决问题的本发明的另一个目的在于提供调制方法和有效地纠正发生在调制方法中错误的数据纠错方法和数据纠错装置。
技术解决方案
可以通过提供数据调制方法来实现本发明的目的,该方法包括:对于输入序列产生信道序列;确定信道序列是否违反游程长度受限(RLL)约束;和当信道序列违反RLL约束的时候,在包括在信道序列的位的位置之中,在违反RLL约束的位置之前的位置上执行位翻转。
执行位翻转可以包括确定位翻转位置,使得在解码期间不发生错误传递。
确定位翻转位置可以包括基于RLL约束违反位置和代码字长度两者确定位翻转位置。
确定位翻转位置可以包括基于违反位置除以代码字长度的余数确定位翻转位置。
该RLL约束可以是关于在信道序列中在1之间出现的0的最大数目的约束,并且可以通过在特定的位置上将位“0”转换为位“1”来执行位翻转。
该数据调制方法可以进一步包括基于位翻转数目的统计检查来设置RLL约束。
对于输入序列产生信道序列可以包括使用调制表对于输入序列产生信道序列。
该调制表可以包括至少一个状态、对应于输入码的代码字和下一个状态。
该调制表可以产生下述信道序列,其中在1之间的0的最小数目是1,在0之间的1的最大数目是无穷大数,并且重复最小跳变游程(RMTR)约束是2。
在本发明的另一个方面中,在此处提供了一种数据调制器,包括:编码器,用于对于输入序列产生信道序列;和位翻转器,用于确定信道序列是否违反RLL约束,并且当信道序列违反RLL约束的时候,在包括在信道序列中的位的位置之中,在违反RLL约束的位置之前的位置上执行位翻转。
该位翻转器可以确定位翻转位置,使得在解码期间不发生错误传递。
位翻转器可以基于在其上违反RLL约束的位置和代码字长度两者确定位翻转位置。
位翻转器可以基于违反位置除以代码字长度的余数确定位翻转位置。
RLL约束可以是关于在信道序列中在1之间出现的0的最大数目的约束,并且位翻转器可以在特定的位置上将位“0”转换为位“1”。
编码器可以基于位翻转数目的统计检查来设置RLL约束。
编码器可以使用调制表对于输入序列产生信道序列。
该调制表可以包括至少一个状态、对应于输入码的代码字和下一个状态。
该调制表可以产生下述信道序列,其中在1之间的0的最小数目是1,在0之间的1的最大数目是无穷大数,并且重复最小跳变游程(RMTR)约束是2。
在本发明的另一个方面中,在此处提供了一种数据调制方法,包括:对于输入序列产生信道序列;确定信道序列是否违反RLL约束;当信道序列违反RLL约束的时候,在包括在信道序列的位的位置之中,在违反RLL约束的位置之前的位置上执行位翻转以产生调制数据;和在记录介质上存储调制数据。
在本发明的另一个方面中,在此处提供了一种数据记录装置,包括:调制单元,用于调制数据以产生调制数据;和光学单元,用于向记录介质发射光以在记录介质上记录调制数据。
本发明具有以下的优点,其不需要用于施加k的约束的辅助表,并且可以容易地在k的约束方面作修改,并且还可以防止由于位翻转造成的错误传递。
在本发明的另一个方面中,在此处提供了一种数据纠错方法,包括:使用奇偶校验矩阵检测接收的数据的错误位;确定错误位是否是由位翻转所引起的错误;和当错误位是由用于施加RLL约束的位翻转所引起的错误的时候,纠正错误位。
确定错误位是否是由位翻转所引起的错误可以包括:检查错误位的值;以及,如果错误位的值是1,确定是否出现接收的数据的RLL约束。
确定是否出现接收的数据的RLL约束可以包括检查在错误位之前和在错误位之后的连续的0位的相应数目。
连续的0位的数目可以是基于施加于接收的数据的重复最小跳变游程(RMTR)约束和RLL约束确定的。
确定错误位是否是由位翻转所引起的错误进一步可以包括检查错误位的检测频率。
以最高频率检测的错误位可以被确定是由位翻转所引起的错误。
纠正错误位可以包括将错误位从1纠正到0。
纠正错误位可以包括转换错误位的概率值的符号。
检测接收的数据的错误位可以包括:从奇偶校验矩阵计算校正子矢量,以及,确定错误是否已经发生在接收的数据中。
在本发明的另一个方面中,在此处提供了一种数据纠错装置,包括:错误检测单元,用于使用奇偶校验矩阵检测接收的数据的错误位;错误确定单元,用于确定错误位是否是由位翻转所引起的错误;和纠错单元,用于当错误位是由用于施加RLL约束的位翻转所引起错误的时候纠正错误位。
错误确定单元可以检查错误位的值,并且如果错误位的值是1,确定是否出现接收的数据的RLL约束。
错误确定单元可以检查在错误位之前和在错误位之后的连续的0位的相应数目,以确定是否出现接收的数据的RLL约束。
连续的0位的数目可以是基于施加于接收的数据的RMTR约束和RLL约束确定的。
错误确定单元可以检查错误位的检测频率。
错误确定单元可以确定以最高频率检测的错误位是由位翻转所引起的错误。
纠错单元可以将错误位从1纠正到0。
纠错单元可以转换错误位的概率值的符号。错误检测单元可以从奇偶校验矩阵计算校正子矢量,并且确定错误是否已经发生在接收的数据中。
有益效果
本发明具有以下的优点,其不需要用于施加k的约束的辅助表,并且可以容易地在k的约束方面作修改,并且还可以防止由于位翻转造成的错误传递。
本发明还具有以下的优点,其在调制码被编码之后有效地纠正在k的约束经由位翻转施加于调制码的过程期间发生的错误。
【附图说明】
该伴随的附图被包括以提供对本发明进一步的理解,其图示本发明的实施例,并且与该说明书一起用于解释本发明的原理。
在附图中:
图1是按照本发明的实施例的数据记录装置的方框图。
图2图示按照本发明实施例在数据调制方法中用于产生信道序列的示例调制表。
图3至5示意地图示当k是10的时候,用于执行位翻转的方法。
图6至8示意地图示在本发明的实施例中,当k是9的时候,用于执行位翻转的方法。
图9至11示意地图示在本发明的实施例中,当k是7的时候,用于执行位翻转的方法。
图12是按照本发明实施例的数据记录装置的方框图。
图13图示按照本发明实施例在数据调制方法中用于产生信道序列的示例调制表。
图14至16示意地图示当k是10的时候,用于执行位翻转的方法。
图17至19示意地图示在本发明的实施例中,当k是9的时候,用于执行位翻转的方法。
图20至22示意地图示在本发明的实施例中,当k是7的时候,用于执行位翻转的方法。
图23是按照本发明实施例的数据再现装置的方框图。
图24是按照本发明实施例的数据纠错装置的方框图。
图25是图示按照本发明实施例的数据纠错方法的流程图。
图26图示了示例奇偶校验矩阵和示例校正子矢量。
图27示意地图示图13的纠错方法。
图28是按照本发明另一个实施例的数据纠错装置的方框图。
图29是按照本发明另一个实施例的数据纠错方法的流程图。
【具体实施方式】
现在将参考伴随的附图详细描述本发明的示例性实施例,使得那些本领域技术人员将容易地实现本发明的以上和其它的方面。在本发明中使用的术语“记录装置”指的是可以往记录介质写入数据或者从其中读取数据的任何装置。在本发明中使用的术语“记录介质”指的是数据已经或者可以记录在其上的任何介质。该记录介质的特定示例是光盘。
图1是按照本发明的示例性实施例的数据记录装置的方框图。现在将参考图1描述按照本发明实施例的数据记录装置。如所示,按照本发明实施例的记录装置包括调制单元1100和光学单元1200。
调制单元1100调制输入数据以产生调制数据,并且该光学单元1200在记录介质1300上记录由调制单元1100产生的调制数据。该光学单元1200可以包括光学拾取器。
如图1所示,该调制单元1100包括编码器110、位翻转器112和预编码器114。
图2图示可以在编码器110上使用的示例调制表。图2的调制表包含具有(1,″,2)的约束的奇偶性补码。也就是说,由调制表产生的信道序列可以包括至少一个在1之间的“0”,并且可以包括无穷大数的0。此外,重复最小跳变游程(RMTR)约束是2。该调制表包括至少一个寄存器,并且每个寄存器包含对应于输入码的代码字和指定下一个寄存器的信息。
当由编码器110产生的信道序列违反游程长度受限(RLL)约束的时候,在包括在信道序列的位的位置之中,在其上违反RLL约束的位置之前的位置上,位翻转器112执行位翻转,以施加RLL约束。稍后将描述该处理的详细说明。
该预编码器114将经由编码器110和位翻转器112产生的数据转换为非归零反向(NRZI)信号,并且将NRZI信号传递给光学单元1200。该光学单元1200使用光学拾取器在记录介质上记录调制的数据。
现在将详细地介绍按照本发明实施例的数据调制方法。首先,使用在图2中图示的调制表产生对应于输入位的信道序列。如上所述,图2的调制表产生(1,″,2)奇偶性补码。
图2图示当编码率是2/3的时候使用的,即,用于对于2位输入码产生3位代码字的调制表。图2还图示当调制表包括5个寄存器的时候的调制方法,每个寄存器被分成5个状态。然而,本发明不限于该调制方法,并且可以适用于使用不同类型的调制表的方法。
如图2所示,在调制表中设置的初始状态上输出对应于初始输入码的代码字,并且然后移动到在调制表中设置的下一个状态,以便顺序地对于后续的输入码产生代码字。
例如,当假设调制码的编码起始于状态S1,并且至调制码编码器的输入序列是[101010]的时候,对于初始输入码[10]的信道码是
,并且按照图2的调制表的下一个状态是S1。因此,对于下一个输入码[10]的信道码也是
。在该过程中产生的信道序列是[000,000,000]。
另一方面,为了实现适当的系统定时恢复,必须将k的约束(即,在1之间出现的0的最大数目的约束)施加于以上述方式产生的信道序列。
在该实施例中,使用位翻转方法施加k的条件。在这里,必须选择位翻转位置,以便在施加k的约束的过程中不违反设计的调制码的其它的约束。
位翻转是一种在将数据记录在记录介质上之前将错误施加于产生的信道序列的方法。因此,记录在该记录介质上的序列包含错误。在按照本发明实施例的调制方法中,错误的数目等于翻转位的数目。
在解码单元中通过纠错算法纠正由位翻转产生的错误。在位翻转数目方面的增加导致在纠错算法的附加信息量方面的增加,从而降低解码效率。因此,必须保持位翻转的数目低于适当的上限。
在这种情况下,基于当“k”的值降低时位翻转的数目增加的事实来确定k的约束。可以基于位翻转数目的统计检查来设置k的约束。最好是,值k被确定为使得位翻转的数目(即,所施加错误的数目)是在纠错码的纠正能力的范围之内。也可以按照出现或者不出现位翻转位置来确定值k,其防止在解码期间发生错误传递。
例如,可以将用于信道序列的值k设置为7-10。下面参考图3至11描述在值k是10、9和7的情况下的位翻转方法。
首先,下面参考图3至5描述在值k是10的情形下的位翻转方法。按照与在信道序列之前的序列和在其之后的序列的关系,使用调制表产生的信道序列可以违反“10”的k的约束。通过对信道序列执行位翻转将k的约束“10”施加于该产生的信道序列。
图3至5图示其中当k是10的时候执行位翻转的示例。当值k被设置为10的时候,确定位翻转位置。在这里,可以选择将k的约束施加于信道序列的位翻转位置,以便在解码期间不会造成错误传递。
为了防止在解码期间的错误传递,可以基于在其上违反k的约束的位置和代码字的长度两者确定位翻转位置。更具体地说,可以通过违反位置除以代码字长度之后的余数确定该位翻转位置。
例如,当违反位置除以代码字长度的余数是0的时候,该位翻转位置是在违反位置之前4位,当余数是1的时候,该位翻转位置是在违反位置之前2位,当余数是2的时候,该位翻转位置是在违反位置之前3位。
在图3的情况下,k的约束“10”的违反位置是第14位位置。基于该调制表的代码字的长度是3。在这里,该位翻转位置是第11位位置,也就是说,在第14位位置(其是违反位置)之前3位,因为违反位置除以代码字长度的余数是2。经由该位翻转,该信道序列变为已经被施加k的约束“10”的序列。在这种情况下,满足了要求在1之间出现至少一个“0”的d的约束(即,d=1)和r的约束(即,r=2),而不会在解码期间引起错误传递。
在图4的情况下,k的约束“10”的违反位置是第13位位置。因此,该位翻转位置是第11位位置,也就是说,在第13位位置(其是违反位置)之前2位,因为违反位置除以代码字长度的余数是1。经由该位翻转,该信道序列变为已经被施加k的约束“10”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),而不会在解码期间引起错误传递。
在图5的情况下,k的约束“10”的违反位置是第12位位置。因此,该位翻转位置是第8位位置,也就是说,在第12位位置(其是违反位置)之前4位,因为违反位置除以代码字长度的余数是0。经由该位翻转,该信道序列变为已经被施加k的约束“10”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),而不会在解码期间引起错误传递。
现在将介绍当值k是9的时候的位翻转方法。按照与在信道序列之前的序列和在其之后的序列的关系,使用调制表产生的信道序列可以违反“9”的k的约束。该位翻转器112通过对信道序列执行位翻转将k的约束“9”施加于产生的信道序列。
图6至8图示其中当k是9的时候执行位翻转的示例。下面参考图6至8详细地描述用于执行位翻转的方法。如上所述,选择用于将k的约束施加于信道序列的位翻转位置,以便在解码期间不会引起错误传递。
首先,选择不会在解码期间引起错误传递的特定的位翻转位置,以将k=9的约束施加于信道序列。为了防止在解码期间的错误传递,可以基于在其上违反k的约束的位置和代码字的长度两者确定位翻转位置。
在图6的情况下,k的约束“9”的违反位置是第13位位置。按照该调制表的代码字的长度是3。在这里,通过违反位置除以代码字长度之后的余数来确定该位翻转位置。
例如,当违反位置除以代码字长度的余数是0的时候,该位翻转位置是在违反位置之前4位,当余数是1的时候,该位翻转位置是在违反位置之前2位,当余数是2的时候,该位翻转位置是在违反位置之前3位。
在图6的情况下,该位翻转位置是第11位位置,也就是说,在第13位位置(其是违反位置)之前2位,因为余数是1。经由该位翻转,该信道序列变为已经被施加k的约束“9”的序列。在这种情况下,满足了d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图7的情况下,k的约束“9”的违反位置是第12位位置。因此,该位翻转位置是第8位位置,也就是说,在第12位位置(其是违反位置)之前4位,因为余数是0。经由该位翻转,该信道序列变为已经被施加k的约束“9”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图8的情况下,k的约束“9”的违反位置是第11位位置。因此,该位翻转位置是第8位位置,也就是说,在第11位位置(其是违反位置)之前3位,因为余数是2。经由该位翻转,该信道序列变为已经被施加k的约束“9”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
现在将介绍当值k是7的时候的位翻转方法。按照与在信道序列之前的序列和在其之后的序列的关系,使用调制表产生的信道序列可以违反“7”的k的约束。位翻转器112通过对信道序列执行位翻转将k的约束“7”施加于产生的信道序列。
图9至11图示其中当k是7的时候执行位翻转的示例。下面参考图9至11详细地描述用于执行位翻转的方法。如上所述,选择用于将k的约束施加于信道序列的位翻转位置,以便在解码期间不会引起错误传递。
首先,选择不会在解码期间引起错误传递的特定的位翻转位置,以将k=7的约束施加于信道序列。为了防止在解码期间的错误传递,可以基于在其上违反k的约束的位置和代码字的长度两者来确定位翻转位置。
在图9的情况下,k的约束“7”的违反位置是第11位位置。按照该调制表的代码字的长度是3。在这里,通过违反位置除以代码字长度之后的余数来确定该位翻转位置。
例如,当违反位置除以代码字长度的余数是0的时候,该位翻转位置是在违反位置之前1位,当余数是1的时候,该位翻转位置是在违反位置之前2位,当余数是2的时候,该位翻转位置是在违反位置之前3位。
在图9的情况下,该位翻转位置是第11位位置,也就是说,在第11位位置(其是违反位置)之前3位,因为余数是2。经由该位翻转,该信道序列变为已经被施加k的约束“7”的序列。在这种情况下,满足了d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图10的情况下,k的约束“7”的违反位置是第10位位置。因此,该位翻转位置是第8位位置,也就是说,在第10位位置(其是违反位置)之前2位,因为余数是1。经由该位翻转,该信道序列变为已经被施加k的约束“7”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图11的情况下,k的约束“7”的违反位置是第9位位置。因此,该位翻转位置是第8位位置,也就是说,在第9位位置(其是违反位置)之前1位,因为余数是0。经由该位翻转,该信道序列变为已经被施加k的约束“7”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在以上示例中,可以看出,即使已经通过执行位翻转将信道序列转换,在解码之后的错误数目等于位翻转的数目。虽然由调制表产生的码包括违反k的约束的许多信道序列,按照以上的方法,可以将每个信道序列转换为满足k的约束、d的约束和RMTR的约束的信道序列。此外,按照本发明实施例的调制方法不需要用于施加k的约束的辅助表。因此,按照该实施例的调制方法可以实现极好的DC抑制性能。
图12是按照本发明实施例的数据记录装置的方框图。现在将参考图12描述按照本发明实施例的数据记录装置。如所示,按照本发明实施例的记录装置包括调制单元2100和光学单元2200。
该调制单元2100调制输入数据以产生调制数据,并且该光学单元2200在记录介质2300上记录由调制单元2100产生的调制数据。该光学单元2200可以包括光学拾取器。
如图12所示,该调制单元2100包括低密度奇偶校验码(LDPC)编码器210、RLL编码器211、位翻转器212和预编码器214。
该LDPC编码器210使用用于执行纠错的LDPC编码方案来编码输入数据。
该RLL编码器211使用RLL码调制从LDPC编码器210输出的数据。图13图示可以在RLL编码器211上使用的示例调制表。图13的调制表包含具有(1,″,2)的约束的奇偶性补码。也就是说,由调制表产生的信道序列可以包括至少一个在1之间的“0”,并且可以包括无穷大数的0。此外,重复最小跳变游程(RMTR)约束是2。该调制表包括至少一个寄存器,并且每个寄存器包含对应于输入码的代码字和指定下一个寄存器的信息。
当由RLL编码器211产生的信道序列违反游程长度受限(RLL)约束的时候,该位翻转器212在包括在信道序列中的位的位置之中违反RLL约束的位置之前的位置上执行位翻转以施加RLL约束。稍后将描述该处理的详细说明。
预编码器214将由RLL编码器211和位翻转器212产生的数据转换为非归零反向(NRZI)信号,并且将NRZI信号传递给光学单元2200。该光学单元2200使用光学拾取器在记录介质2300上记录调制的数据。
现在将详细地介绍按照本发明实施例的数据调制方法。首先,使用在图13中图示的调制表产生对应于输入位的信道序列。如上所述,图13的调制表产生(1,″,2)奇偶性补码。
图13图示当编码率是2/3的时候使用的,即,用于对2位输入码产生3位代码字的调制表。图13还图示当调制表包括5个寄存器的时候的调制方法,每个寄存器被分成5个状态。然而,本发明不局限于这种调制方法,并且可以适用于使用不同类型的调制表的方法。
如图13所示,在调制表中设置的初始状态上输出对应于初始输入码的代码字,并且然后移动到在调制表中设置的下一个状态,以便顺序地对于后续的输入码产生代码字。
例如,当假设调制码的编码起始于状态S1,并且至调制码编码器的输入序列是[101010]的时候,对于初始输入码[10]的信道码是
,并且按照图13的调制表的下一个状态是S1。因此,对于下一个输入码[10]的信道码也是
。在该过程中产生的信道序列是[000,000,000]。
另一方面,为了实现适当的系统定时恢复,必须将k的约束(即,在1之间出现的0的最大数目的约束)施加于以上述方式产生的信道序列。
在该实施例中,使用位翻转方法施加k的条件。在这里,必须选择位翻转位置,以便在施加k的约束的过程中不违反设计的调制码的其它的约束。
位翻转是一种在将数据记录在记录介质上之前将错误施加于产生的信道序列的方法。因此,记录在该记录介质上的序列包含错误。在按照本发明实施例的调制方法中,错误的数目等于翻转位的数目。
在解码单元中通过纠错算法纠正由位翻转产生的错误。在位翻转数目方面的增加导致在纠错算法的附加信息量方面的增加,从而降低解码效率。因此,必须保持位翻转的数目低于适当的上限。
在这种情况下,基于当“k”的值降低时位翻转的数目增加的事实确定k的约束。可以基于位翻转数目的统计检查来设置k的约束。最好是,将值k确定为使得位翻转的数目(即,施加错误的数目)是在纠错码的纠正能力的范围之内。也可以按照出现或者不出现位翻转位置来确定值k,其防止在解码期间发生错误传递。
例如,可以将用于信道序列的值k设置为7-10。下面参考14至22描述在值k是10、9和7的情况下的位翻转方法。
首先,下面参考14至16描述在值k是10的情形下的位翻转方法。按照与在信道序列之前的序列和在其之后的序列的关系,使用调制表产生的信道序列可以违反“10”的k的约束。通过对信道序列执行位翻转将k的约束“10”施加于所产生的信道序列。
图14至16图示其中当k是10的时候执行位翻转的示例。当值k被设置为10的时候,确定位翻转位置。在这里,可以选择用于将k的约束施加于信道序列的位翻转位置,以便在解码期间不会引起错误传递。
为了防止在解码期间的错误传递,可以基于在其上违反k的约束的位置和代码字的长度两者来确定位翻转位置。更具体地说,可以通过违反位置除以代码字长度之后的余数来确定该位翻转位置。
例如,当违反位置除以代码字长度的余数是0的时候,该位翻转位置是在违反位置之前4位,当余数是1的时候,该位翻转位置是在违反位置之前2位,当余数是2的时候,该位翻转位置是在违反位置之前3位。
在图14的情况下,k的约束“10”的违反位置是第14位位置。基于该调制表的代码字的长度是3。在这里,位翻转位置是第11位位置,也就是说,在第14位位置(其是违反位置)之前3位,因为违反位置除以代码字长度的余数是2。经由该位翻转,该信道序列变为已经被施加k的约束“10”的序列。在这种情况下,满足了要求在1之间出现至少一个“0”的d的约束(即,d=1)和r的约束(即,r=2),不会在解码期间引起错误传递。
在图15的情况下,k的约束“10”的违反位置是第13位位置。因此,该位翻转位置是第11位位置,也就是说,在第13位位置(其是违反位置)之前2位,因为违反位置除以代码字长度的余数是1。经由该位翻转,该信道序列变为已经被施加k的约束“10”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图16的情况下,k的约束“10”的违反位置是第12位位置。因此,位翻转位置是第8位位置,也就是说,在第12位位置(其是违反位置)之前4位,因为违反位置除以代码字长度的余数是0。经由该位翻转,该信道序列变为已经被施加k的约束“10”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
现在将介绍当值k是9的时候的位翻转方法。按照与在信道序列之前的序列和在其之后的序列的关系,使用调制表产生的信道序列可以违反“9”的k的约束。该位翻转器212通过对信道序列执行位翻转将k的约束“9”施加于产生的信道序列。
图17至19图示其中当k是9的时候执行位翻转的示例。下面参考图17至19详细地描述用于执行位翻转的方法。如上所述,选择用于将k的约束施加于信道序列的位翻转位置,以便在解码期间不会引起错误传递。
首先,选择不会在解码期间引起错误传递的特定的位翻转位置,以将k=9的约束施加于信道序列。为了防止在解码期间的错误传递,可以基于在其上违反k的约束的位置和代码字的长度两者来确定位翻转位置。
在图17的情况下,k的约束“9”的违反位置是第13位位置。按照调制表的代码字的长度是3。在这里,通过违反位置除以代码字长度之后的余数来确定该位翻转位置。
例如,当违反位置除以代码字长度的余数是0的时候,该位翻转位置是在违反位置之前4位,当余数是1的时候,该位翻转位置是在违反位置之前2位,当余数是2的时候,该位翻转位置是在违反位置之前3位。
在图17的情况下,该位翻转位置是第11位位置,也就是说,在第13位位置(其是违反位置)之前2位,因为余数是1。经由该位翻转,该信道序列变为已经被施加k的约束“9”的序列。在这种情况下,满足了d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图18的情况下,k的约束“9”的违反位置是第12位位置。因此,该位翻转位置是第8位位置,也就是说,在第12位位置(其是违反位置)之前4位,因为余数是0。经由该位翻转,该信道序列变为已经被施加k的约束“9”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图19的情况下,k的约束“9”的违反位置是第11位位置。因此,该位翻转位置是第8位位置,也就是说,在第11位位置(其是违反位置)之前3位,因为余数是2。经由该位翻转,该信道序列变为已经被施加k的约束“9”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
现在将介绍当值k是7的时候的位翻转方法。按照与在信道序列之前的序列和在其之后的序列的关系,使用调制表产生的信道序列可以违反“7”的k的约束。位翻转器212通过对信道序列执行位翻转将k的约束“7”施加于所产生的信道序列。
图20至22图示其中当k是7的时候执行位翻转的示例。下面参考图20至22详细地描述用于执行位翻转的方法。如上所述,选择用于将k的约束施加于信道序列的位翻转位置,以便在解码期间不会引起错误传递。
首先,选择不会在解码期间引起错误传递的特定的位翻转位置,以将k=7的约束施加于信道序列。为了防止在解码期间的错误传递,可以基于在其上违反k的约束的位置和代码字的长度两者来确定位翻转位置。
在图20的情况下,k的约束“7”的违反位置是第11位位置。按照调制表的代码字的长度是3。在这里,通过违反位置除以代码字长度之后的余数来确定该位翻转位置。
例如,当违反位置除以代码字长度的余数是0的时候,该位翻转位置是在违反位置之前1位,当余数是1的时候,该位翻转位置是在违反位置之前2位,当余数是2的时候,该位翻转位置是在违反位置之前3位。
在图20的情况下,该位翻转位置是第11位位置,也就是说,在第11位位置(其是违反位置)之前3位,因为余数是2。经由该位翻转,该信道序列变为已经被施加k的约束“7”的序列。在这种情况下,满足了d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图21的情况下,k的约束“7”的违反位置是第10位位置。因此,该位翻转位置是第8位位置,也就是说,在第10位位置(其是违反位置)之前2位,因为余数是1。经由该位翻转,该信道序列变为已经被施加k的约束“7”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在图22的情况下,k的约束“7”的违反位置是第9位位置。因此,位翻转位置是第8位位置,也就是说,在第9位位置(其是违反位置)之前1位,因为余数是0。经由该位翻转,该信道序列变为已经被施加k的约束“7”的序列。在这种情况下,该位翻转允许满足d和r的约束(即,d=1,r=2),不会在解码期间引起错误传递。
在以上示例中,可以看出,即使已经通过执行位翻转将信道序列转换,在解码之后错误的数目等于位翻转的数目。虽然由调制表产生的码包括违反k的约束的许多信道序列,按照以上的方法,可以将每个信道序列转换为满足k的约束、d的约束和RMTR的约束的信道序列。此外,按照本发明实施例的调制方法不需要用于施加k的约束的辅助表。因此,按照该实施例的调制方法可以实现极好的DC抑制性能。
图23是按照本发明实施例的数据再现装置的方框图。如所示,该数据再现装置包括光学单元2200和解调单元2400。该光学单元2200可以包括光学拾取器,并且该解调单元240包括均衡器216、部分响应最大似然(PRML)解码器218、软输入软输出(SISO)-RLL解码器220、LDPC解码器222、纠错装置224和硬输入硬输出(HIHO)-RLL解码器226。
光学单元2200向记录介质2300发射光,并且接收从记录介质2300反射的光,以读取记录在记录介质2300上的标记的长度和定位,并且输出对应于该标记的长度和定位的RF信号。
均衡器216推动从光学单元2200输出的RF信号,并且切断包括在RF信号中的噪声频率分量,用于均衡RF信号的波形。
PRML解码器218基于从均衡器216接收的RF信号使用PRML方法解码二进制数据。PRML方法是通过将RF信号与所有预期波形比较以识别最靠近于RF信号的预期波形来解码二进制数据的方法。
SISO-RLL解码器220从PRML解码器218接收表示代码字的概率值的数据,并且输出对数似然比(LLR),其是表示数据字的每位的概率的值。
LDPC解码器222接收从SISO-RLL解码器220输出的软值,并且对接收的按照特定的编码方案的软值执行重复软解码,并且输出解码的数据。
纠错装置224检测和纠正由于位翻转的错误。稍后将描述纠错装置224的细节配置和由纠错装置执行的纠错方法。
虽然在图23中将纠错装置224图示为被设置在LDPC解码器222和HIHO-RLL解码器226之间,但纠错装置224还可以被安放在SISO-RLL解码器220和LDPC解码器222之间。
HIHO-RLL解码器226接收从LDPC解码器222输出的软值,并且确定相应的硬值。
图24是按照本发明第一实施例的纠错装置224的方框图。如图24所示,按照该实施例的纠错装置224包括错误检测单元2240、错误确定单元2242和纠错单元2244。
错误检测单元2240从奇偶校验矩阵H计算校正子(syndrome)矢量(S=CHT),并且确定错误是否已经发生在接收的数据中(即,在接收的数据中检测错误)。在这里,T表示转置。
错误确定单元2242确定在错误检测单元2240上检测的错误位是否是由于位翻转引起的错误。在这里,错误确定单元2242检查每个错误位的检测频率,并且确定以相对高频率检测的错误位是由于位翻转引起的错误。
为了确定错误位是否是由于位翻转引起的错误,错误确定单元2242使用奇偶校验方程(其不满足“0”约束)检查错误位的值,并且如果该错误位的值是1,确定是否在接收的数据中出现RLL约束。
此外,错误确定单元2242可以通过检查在错误位之前和之后的连续的“0”位的相应数目,确定是否出现游程长度受限(RLL)约束。也就是说,错误确定单元2242检查连续的0位的相应数目的每个是否等于或者大于预置的数目。如果在错误位之前和之后和在接收的“1”位之前和之后的连续的“0”位的相应数目都等于或者大于预置的数目,通过以“0”替换位值“1”来纠正该接收的位。
在这里,可以基于当数据被调制的时候施加于接收的数据的重复最小跳变游程(RMTR)约束和RLL约束来确定在错误位之前和之后的连续的“0”位的相应数目。
当错误位由位翻转所引起的时候,纠错单元2244将错误位从“1”纠正到“0”。
图25是图示按照本发明第一实施例的数据纠错方法的流程图。现在将参考图25详细描述按照本发明第一实施例的数据纠错方法。
首先,使用奇偶校验矩阵来检查序列C的校正子矢量S(S 100),并且确定该校正子矢量S是否是0(S110)。图26图示示例奇偶校验矩阵和示例校正子矢量。如果该校正子矢量是0,这表示没有错误发生在接收的数据中,或者虽然发生了错误,但还没有检测到错误。因此,在这种情况下,终止数据纠错,并且执行用于数据再现的下一个处理(S120)。另一方面,如果该校正子矢量S不是零失量,这表示在接收的数据中已经发生错误。
如果该校正子矢量不是零失量,即,如果在接收的数据中已经纠正了错误,在包括奇偶校验方程(其不满足零约束)的接收的数据中搜索具有以相对高频率接收的位(即,大多数位)(S130)。以高频率接收的位很可能是由位翻转所引起的错误位。因此,确定以高频率接收的位的每个是否是由位翻转所引起的错误位。
接下来,检查大多数位的每个的位值是否是1(S140)。如果大多数位的位值不是“1”,这不能确定是由位翻转所引起的错误位,因为如上所述,所执行的用于施加k的约束的位翻转将“0”转换为“1”,因此,终止数据误差纠正,并且执行下一个处理(S150)。
如果大多数位的位值是“1”,则确定在接收的位“1”之前和之后的连续的0的相应数目的每个是否等于或者大于预置的数目(S160)。图27示意地图示该处理。在已经如上所述执行用于施加k的约束的位翻转的情形下,特定数目以上的连续的0出现在错误位之前和之后,因为已经按照特定条件对在其上违反k的约束的位位置之前的位执行了位翻转。
因此,如果在接收的位“1”之前和之后的连续的0位的相应数目的每个等于或者大于预置的数目,则可以确定错误位“1”是由位翻转所引起的错误位。因此,将满足该条件的每个错误位的位值从“1”转换为“0”以纠正错误(S170)。
然而,如果接收的位不满足该条件,则不能确定该位是由位翻转所引起的错误位,并且终止纠错,并且执行下一个处理(S180)。
图28是图示按照本发明第二实施例的数据再现装置的方框图。在这里,由相同的附图标记表示与第一实施例相同的单元。
如图28所示,按照该实施例的数据再现装置包括光学单元2200和解调单元2500,并且该解调单元2500包括均衡器216、PRML解码器218、SISO-RLL解码器220、纠错LDPC解码器230和HIHO-RLL解码器226。
按照该实施例的数据再现装置包括通过集成纠错装置和LDPC解码器构成的纠错LDPC解码器230。由于其它的部件类似于第一实施例的部件,现在将描述数据纠错方法,而不必进一步描述数据再现装置的配置。
图29是图示按照第二实施例的数据纠错方法的流程图。在按照该实施例的数据纠错方法中,执行重复解码给定的次数,并且将与在重复解码过程期间怀疑在其上已经发生了位翻转的位位置有关的概率值的符号转换。下面详细地描述该方法。
首先,按照和-积算法对接收的序列C进行解码(S200)。
接下来,使用奇偶校验矩阵检查序列C的校正子矢量S(S210),并且确定校正子矢量S是否是0(S220)。类似于第一实施例,如果校正子矢量是0,这表示错误还没有发生在接收的数据中,或者虽然已经发生了错误,但还没有检测到错误。因此,在这种情况下,终止数据纠错,并且执行用于数据再现的下一个处理(S230)。另一方面,如果该校正子矢量S不是零失量,这表示错误已经发生在接收的数据中。
如果该校正子矢量不是零失量,在包括奇偶校验方程(其不满足零约束)的接收的数据中搜索以相对高频率接收的位(即,大多数位)(S240)。
接下来,检查大多数位的每个的位值是否是1(S250)。如果大多数位的位值不是“1”,这不能被确定为是由位翻转所引起的错误位,因为如上所述,所执行的用于施加k的约束的位翻转将“0”转换为“1”。因此,如果大多数位的位值不是“1”,则确定是否已经完成重复解码而无需执行数据纠错(S260)。
如果大多数位的位值是“1”,则确定在接收的位“1”之前和之后的连续的0的相应数目的每个是否等于或者大于预置的数目(S270)。如果在接收的位“1”之前和之后的连续的0位的相应数目的每个等于或者大于预置的数目,则错误位“1”可以被确定为是由位翻转所引起的错误位。因此,改变满足这样条件的大多数位节点的后验概率和先验概率符号(S280)
然后,确定是否已经完成重复解码(S260)。然后,当已经完成重复解码的时候,执行下一个处理(S230),并且当还没有完成重复解码的时候,按照和-积算法对接收的序列进行解码(S200)。
在该实施例中,进行重复解码以执行如上所述的纠错和解码。按照该实施例的数据纠错方法可以实现极好的解码和纠错性能,因为该方法是基于重复解码和概率执行的。
对于那些本领域技术人员来说显而易见的是,在不脱离本发明的精神或者范围的情况下,可以在本发明中进行各种修改和变化。因此,本发明意欲覆盖本发明的修改和变化,只要其落入所附的权利要求和其等效范围之内。