按照纠错码,(例如Reed-Solomon码),把代表例如声音(被采样、量化、编码、和调制的音频信号)的数字信息细分成码字,此码字包含数据字符(包含实际信息)和冗余字符(为了能检错和纠错,按照纠错码的规则而加上的)。一个不正确的字符(也就是待纠错的字符),当其在码字中的位置为已知时,就被叫做删除码。码字中的一个不正确的字符,当其在码字中的真正值和位置为未知时,就被叫做误码。所采用的纠错码具有最小距离,叫做d。这样,只要表达式2t+e<d成立,对每个码字就可纠正t个误码和e个删除码。理论上能纠错的最大误码个数,叫做T
max,当d为奇数,等于
;而当d为偶数,等于
。所以2T
max=(d-1)-((d-1)对2的模)。有关纠错码的更基础的知识可参考“数字音频的技术”(“The Art ofDigital Audio”),J.Watkinson,Focal Press,London,1988,Chapter7,pp.201-247。
在数字盒式录音机(DCC)中,数字信息由纠错码方式所保护。不同的Reed-Solomon码用于数据信道和一个辅助信道。一个码字包含24个8比特字符。对于数据信道,应用由一个C1码(256元素伽罗华域上的RS(24,20,5)码)和一个C2码(256元素伽罗华域上的RS(32,26,7)码)组成的乘积码。对于辅助信道,应用一个单一码,256元素伽罗华域上的R5(24,18,7)码。上述的所有码均可用相同的纠错电路进行译码。对C1码能纠正的误码的最多个数是2。在用于C2码的纠错技术中,一次纠正3个错码是无意义的。这仅仅导致非常小的性能改进。然而,已经发现,对辅助信道一次纠正3个错码是有用的。对辅助信道进行纠错的次数仅为对C1码和C2码进行纠错次数的一部分。因此,在本申请中有充裕的纠错时间藉重复进行2-误码纠错去按照本发明进行3-误码纠错。这将在后面详细阐述。
图1为按照本发明的一种方法的流程图。该方法利用纠正至多T个误码的已知装置(其输入为码字和删除数据,也就是说是删除码在码字中的个数和位置),其中T值小于等于Tmax。
此方法从方块1开始;在该瞬间的输入由待纠错的码字和在该码字中的删除码组成,也就是在有错误字符的码字中的位置。按照本发明,每个码字至多T个误码可被纠错。当T小于Tmax,剩余奇偶校验字符可用于,例如,附加检测余量。在方块2中,藉已知的纠错电路执行一步纠错步骤可至多纠正T-1个误码。接着,在方块3中检验该纠错步骤是否成功。如果成功,进入方块4:停止;显然,码字包含了至多T-1个误码,均能被纠错。如果不成功,则进入方块5:检验删除码的个数(注意此数值已在方块1中给定)是否小于或等于{2(Tmax-T)+((d-1)对2的模)}。这样,对d为奇数,检验删除码的个数是否小于等于2(Tmax-T);对d为偶数,检验删除码的个数是否小于等于2(Tmax-T)+1。如果不满足上述条件,则进入方块6:停止;显然,因为{2T+e}>{2T+2(Tmax-T)+((d-1)对2的模)}={2Tmax+((d-1)对2的模)}={d-1},以致于不再能满足{2T+e}<d,所以该码字不能放纠错;按照本方法,这类误码不能被纠正。
为了举例说明,特给出以下例子:设最小距离d等于9;那样,理论上能纠正的误码最大个数为Tmax=4。设至多T=3个误码需要纠错;然后,将剩余奇偶校验符号用作为,例如,附加检测余量。按照本方法,藉纠错电路可纠错至多T=3个误码,该电路适于对每个码字至多纠正T-1=2个误码。首先在方块2中完成一步纠错步骤,对2个误码进行纠错,然后在方块3中检验纠错步骤是否已成功。若已成功,运算已完成:该码字包含至多2个误码和至多4个删除码。若未成功,就在方块5中检验删除码的个数是否小于或等于2·(4-3)+0=2。这是因为这种情况下要纠错3个误码才有意义。当删除码的个数大于2(Tmax-T)+((d-1)对2的模),2T+e>=d时,则按照本方法,该码字就不能被纠错。
当删除码的个数足够小,则流程进到方块7。待纠错码字的第一个字符定义为假想的删除码。在这种情况下,在给定已知的删除码(显然,此数必须是零)和假想的删除码后,在方块8中藉至多纠正T-1个误码的装置完成一步纠错步骤。在方块9中,检验纠错步骤是否成功。若已成功,则进到方块10:停止;显然,该码字包含T个误码,其中之一位于假想删除码的位置,因此按照本发明的纠错是成功的。若未成功,则进到方块11:检验码字的所有符号是否都作为假想的删除码轮过一遍。如果都已轮过,则进到方块12:停止;显然,码字包含多于T个误码,因而按照本方法,该码字不能被纠错。如果没有都轮过,则进到方块13:定义待纠错码字的下一个字符号为假想的删除码。接着进到方块8。这样,每次给定删除码和一个假想的删除码,重复执行一步对T-1个误码的纠错步骤。
在码字的所有字符均轮流作为一个假想的删除码之前,迭代过程就可以结束:迭代过程中最后一次的T-1个误码的纠错步骤是不必要的,因为在最后一次的T-1个误码的纠错步骤之前,发生T个误码的事件中,至少有一个误码必定已作为假想的删除码处理过。
需注意到,当删除码的个数足够小时(方块5),也可能在方块7和方块13中定义不止一个假想删除码,例如,每次两个接连的删除码。这样可提供以下好处:迭代次数会小得多(实质上可减半)。但不足之处是误纠的风险会增加。举例:对于d=7,Tmax=3,T=3,E=0和二个假想删除码的情形,在至多纠正T-1=2个误码的一次纠错步骤时,一个误纠会使四个字符被修改。解决此问题的适当步骤是当修改的字符数大于T时就不纠错。
也需注意到,在图1所示方法的方块1中的第一次纠错步骤常常是成功的,这是由于T个误码的出现概率比T-1个误码的出现概率小得多。因此,在检验(方块5)试图一步纠错T个误码是否有意义之前,先试图单独一步纠正T-1个误码是有利的。
图2显示按照本发明的装置的具体形式。外部存储器1(例如,一个随机存取存储器)包含一系列码字,其中每个码字包含,例如,24个字符或比特。外部存储器1并不一定必要构成按照本发明的装置的部件。在控制单元(图上未画出)的控制下,数据可与存储器2交换,存储器2就是所谓的纠错-随机存取存储器。在纠错-随机存取存储器中,待纠错的码字被存储和纠错。纠过错的码字再送回到外部随机存取存储器中。在外部随机存取存储器中,提供带有能假设三种不同值的标记的字符。这些标记由两个附加比特来代表。标记位的值表示以下意义:2:有关字符是一个删除码;1:有关字符不是一个删除码,而是码字的一部分,该码字在第一步纠错步骤时,被发现其包含至多{2(Tmax-T)+((d-1)对2的模)}个删除码,且到此为止是不能纠错的;0:有关字符不是一个删除码,也不属于这样一个码字,该码字在第一步纠错步骤时被发现其包含至多{2(Tmax-T)+((d-1)对2的模)}个删除码,且到此为止是不能纠错的。
为了初始化,所有标记位均预置为数值0。
待纠错码字的所有字符从外部随机存取存储器转移到纠错-随机存取存储器中。在纠错-随机存取存储器中对每个字符都有一个附加比特备用,以记忆该有关字符是否一个删除码。删除码数据来源于,例如,解调器或(当采用一个乘积码时)第一码的译码器。进一步,在纠错-随机存取存储器中也被记下具有标记值为1的字符是否随码字到达以及码字中删除码的个数是否大于{2(Tmax-T)+(d-1)对2的模}。在完整的码字写入纠错-随机存取存储器以后,执行纠正(T-1)个误码的步骤。接着,码字返还到外部随机存取存储器,返回标记的值取决于最靠近的一步纠错步骤的结果,也取决于具有标记的值为1的字符是否到达以及取决于删除码的个数,这将在后面描述。
若码字是能纠错的,则所有组成的字符均得到值为0的标记。
若码字是不能纠错的,且没有标记值为1的字符到达以及删除码的个数不大于{2(Tmax-T)+((d-1)对2的模)},则第一字符给一个值为2的标记,而其它字符均给值为1的标记。
若码字是不能纠错的,且有标记值为1的字符已经到达,则所有字符均给值为1的标记,但按照在纠错-随机存取存储器中的有关附加比特确定为删除码的字符后面紧跟的字符除外;该字符给一个值为2的标记。
在控制单元的控制下,装置执行上述程序25次(对于具有24个字符长度的码字);这样按照本发明的误码纠错就可完成:藉至多纠正T-1个误码的装置完成了对T个误码的纠错。结果为:--若2T+e<d,则纠错成功,码字的所有字符均给值为0的标记;--若2T+e>=d,及e<={2(Tmax-T)+((d-1)对2的模)},则该误码模型不能被纠错,码字的所有字符均给值为1的标记;--若2T+e>=d,及e>{2(Tmax-T)+((d-1)对2的模)},则该误码模型不能被纠错,码字的所有字符均给值为2的标记。
在本发明的具体形式中,所考虑的码在字符级别上是系统规则的。此限制并不是必须的。本发明也能用于这样的码,在这些码中不可能以是/否形式来区分数据字符和冗余字符。本发明还能进一步值得注意地用于包含几个比特的字符,例如2,4或8比特。当用同一个硬件对几种不同最小距离的码进行译码时,本发明特别有吸引力,这几种码是定义在同一个伽罗华域上,且具有各自的生成多项式,其第一生成多项式是第二生成多项式的因子。这是因为生成多项式能写成无穷因子乘积,每个因子定义多项式的一个零点。结果,第二生成多项式定义了由第一生成多项式定义的码的一个子码。另一方面,码字间的最小距离并不必须在给定码的全空间都是同一的。如果只需对码字的相当小的部分实行迭代试验法,则本发明的优点变得更为明显。所描述的情况是其第一个例子,其中大部分码字属于具有相当小的最小距离的码,而只有一小部分码字属于有较大的最小距离的码。另一个例子是在多数情况下,直接译码造成全部纠错,余下的情况仅代表小的剩余项。本发明的基本概念包含“强加”一个删除码能计算有关删除码的错误字符,以及此外,检测其正确性,若不正确,再检测藉有关错误字符完成的纠错。这种检测可以基于两方面:一方面,除所述的纠错以外,可以有一个附加的检测可能性,其中码的最小距离是足够的。即使当最小距离全部“用尽”,在一些事件中,例如在大力简化的就如在描述过的所有情况中应用的Reed-solomon码的事件中附加检测可是肯定或者是可能的。这是因为这里的码字长度通常大大小于256个字符。最大距离可区分码,而不是Reed-Solomon码,本来也是已知的。除了强加的删除码或不加删除码以外,本发明还可与外面提供的删除码一起应用,例如来源于以前的数字处理步骤或一种不同的检测的外部删除码。在所有字符轮过一遍以后,或者在适当的纠错被检测到时,试验法可以停止。在这方面需要注意到,即使在明显正确的纠错情况下,也会得到不正确的结果。按照迭代试验法,所有字符可按系统规则的序列进行处理。在一些字符为“真正”不正确的事件以前出现概率较高的基础上,把优先权给予这些字符也是可能的,或者因为一些字符已经由外部告知是删除码,而把这些字符排除在外。在给定的情况下,在字符级别上所描述的运算可与在比特级别上附加的步骤结合起来,例如对单比特误码的纠错步骤。该用法常用在构成消费者娱乐产品的器件中,其中字符至少部分代表音频和/或视频信息流。值得注意数字音频信息易受误码影响,它是非常令人烦恼的。在这方面的应用为,例如,小型软盘音频及其派生设备,和数字小型盒式系统(DCC)。