首页> 中国专利> 在解码交错RS码过程中使用的纠错方法与纠错装置

在解码交错RS码过程中使用的纠错方法与纠错装置

摘要

本发明涉及一种在解码交错RS码(CIRC)过程中使用的纠错方法和实现所述方法的装置,该纠错方法可以校正作为C1码字C1_CDW

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-02-17

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2007-04-18

    授权

    授权

  • 2002-12-25

    实质审查的生效

    实质审查的生效

  • 2002-11-20

    实质审查的生效

    实质审查的生效

  • 2001-08-22

    公开

    公开

说明书

本发明涉及通过利用解码交错RS码(CIRC)的方法用于校正数据流中的错误的方法与装置。

目前存在提高音频记录和回读系统以及其它通信方法的质量的需要。

记录介质的一个问题是介质上的瑕疵会导致某些区域不能正确地记录数字数据或导致某些数据不能被可靠回读。结果,在回读数据以及传输数字数据的过程中会产生错误。在数字数据的记录、回读以及传输期间,在数字数据中产生错误的几率为某个有限几率。通常,数据由二进制单位构成,二进制单位组(例如:8个二进制单位)构成数据字节,字节组(例如:2个)构成数据字。此外,将数据安排到数据块中(例如:32个或28个字节块)。

存在两种不同类型的错误,第一种错误为单比特错误,单比特错误即二进制位的两个可能数值之一被其相反的数值代替,这种错误会随机出现在数字数据中。第二种错误包括一连串差错位,这种错误即群组错误,这些群组的长度及其发生频率也是随机的。

通常,在压缩音频光盘中使用的一种纠错码即所谓CIRC纠错码。CIRC为交错RS码的缩写。CIRC采用两步处理过程。在通过第一编码器时,24个代表数据多项式的连续数据字节除以生成多项式。在此过程中,附加了四个奇偶字节,这样得到24个数据字节附加4个奇偶字节(C1码)的块。此连续字节串被插入或分散到其它编码数据字节中。

插入数据通过第二个编码器。除了由于交错而使字节存在于不同序列中、奇偶字节与数据字节一起被编码、28个字节块(24个字节加4个奇偶字节)被编码而非对24个字节块进行编码以及4个附加奇偶字节被附加之外,第二个编码器与第一个编码器相同。第二编码过程的结果是由24个数据字节和8个奇偶字节构成的32个字节块(C2码)。

关于CIRC纠错码,对其各码元均由8比特组成的24个数据码元(字节)进行(28、24)RS码的编码处理。在典型的音频应用中,各音频采样包括16比特并分别由两个8比特的码元构成。因此,各8比特码元或者为两个立体声音频数据通道之一的音频采样的上边声道或者为下边声道。

用光学方法记录编码数据,然后回读。回读编码数据之后,可能会由于记录、回读或传输问题而存在单比特错误或群组错误。

传统纠错方法因用于解码CIRC而众所周知。例如,US-A-4546474、US-A-4476562以及US-A-4497058专利所公开的这种方法。根据解码CIRC错误的传统方法,该处理过程是根据所谓删除式纠错方法进行的。在删除式纠错方法中,利用指针信息指出错误码元的地址。关于上述C1和C2码,最多可以对两个错误进行检测并校正。然而,如果已知错误所在的地址,则最多可以进行4次删除式纠错。因此,为了提高纠错能力,纠错时优先采用删除式纠错方法。此外,还发现删除式纠错方法对校正群组错误特别有效。

根据用于解码CIRC错误的传统方法,在C1解码器中,最多可以对两个错误进行校正。如果出现三个错误或更多个错误,当然就不能进行校正,将C1指针信息送到下一级的C2解码器,这样利用C1指针信息,在C2解码器中进行纠错。

在解码过程,多次使用CIRC纠错码会提高纠错系统的纠错能力。然而,传统解码方法(CIRC解码器)不能对CIRC码块进行多次处理。为了解决此问题,我们既可以对传统CIRC解码器提供允许进行多次处理的附加装置或设备也可以设法使传统CIRC解码器可用于多次处理。

US-A-4852099专利公开了一种对CIRC码进行多次处理的方法(传统CIRC解码器)。该已知方法采用删除式纠错方法来提高纠错系统的纠错能力。它建议以特定的顺序进行两次C1解码和C2解码。例如,其顺序可以为:C1解码,随后C2解码,随后C1解码,随后C2解码。

根据此实例,为C1解码器提供C1码字,在C1解码器中实际进行(32、28)RS码解码。最多可以对两个错误进行纠错。如果C1解码器检测到三个或更多个错误,则对C1码字内的所有码元设置C1指针。然后,在去交错处理级,进一步对通过C1解码器校正的数据和错误指针进行处理。将去交错器的输出送到C2解码器。利用C1指针信息,在C2解码器中最多进行4次删除式纠错。在C2解码器中完成删除式纠错后,将C1指针清除而且不向第二C2解码循环传送指针信息。

在第二次循环中,将C2解码器输出的数据送到数字复用器,数字复用器将该数据返回其被再现时的排列。因此,第二解码循环处理与第-解码循环处理相对应。通过利用此解码方法,可以对CIRC码进行多次处理,但是需要附加硬件(数字复用器块)。

US-A-4637021专利公开了另一种利用对CIRC的多次处理来解码CIRC的方法。通过利用C1解码器和C2解码器对数字数据块进行处理实现检错和纠错。为了将处理数据的速率提高到最高,解码器C1和解码器C2同时对存储在系统存储器的数据进行操作,同时C1解码器对C2解码器的数据头部进行操作。根据所公开的CIRC纠错码的解码方法,在第一级,C1解码过程最多进行两次纠错的错误处理,根据从C1解码器获得的C1指针信息,第二级的C2解码过程最多进行两次纠错。在这种情况下,指针信息不能用于提高纠错系统的纠错能力。C1指针信息被用于检验解码过程的质量。

根据US-A-4852099所公开的方法,C1解码器和C2解码器根据下列顺序从系统存储器读取数据字节。第一C1解码器处理数据字节(32个字节)的C1块。然后,第一C2解码器处理经C1解码器处理的数据字节(28字节)的C2块;这样就完成了第一回合的处理。第二C1解码器处理经第一回合处理的数据字节,而第二C2解码器处理经第一回合和第二C1解码器处理的数据字节;这样就完成了第二回合的处理。解码器循环包括完成第一回合的处理和第二回合的处理。在各解码器循环的末尾,递增地址计数器,并重复解码器循环。当输入缓冲器中的数据(C1块)就绪时,就立即将新数据写入存储单元。因此,在操作期间,四个解码器持续通过存储器进行读取直到对有效数据进行了处理。

通过利用去交错器装置和一种控制数据的特殊方法,可以实现根据US-A-4852099专利用于解码CIRC的方法。在系统存储器(256×32字节)中提供去交错器块,而且去交错器块包括两个分块:C1存储块(128×32字节)和C2存储块(128×32字节)。C1存储块包括112行至239行的地址,C2存储块包括240行至255行以及0行至111行的地址。系统存储器是环形的。低编号系统存储地址在高编号存储地址之后,如图1所示。

根据已知方法,第一C1解码器处理32数据字节的C1存储块。首先,设置C1解码器读取112地址的C1存储块。在各后续解码器循环中(由C1解码器和C2解码器经过两个回合完成),设置C1解码器读取下一个后续更高地址的C1存储块。因此,对于第二循环,将C1存储块定位到地址113。

第一C2解码器处理28数据字节的C2存储块。最初,设置C2解码器读取系统存储器中0地址的C2存储块。构建C2存储块的这些字节沿系统存储器的对角线排列(参考图1)。构建C2存储块的这些字节被转变为连续解码循环。

第二C1回合开始时,设置C1解码器读取系统存储器中地址240的C1存储块。第二C2回合开始时,最初,设置C2解码器读取系统存储器内地址113的C2存储块。通过系统存储器,连续进行4个解码回合(一个解码器循环)。如果未处理的数据仍然在系统存储器中,则继续进行解码循环。如果系统存储器中的所有数据均被校正,这样就完成了纠错系统的操作。

上述用于解码CIRC纠错码的方法具有如下缺点:

a)在256个循环期间(在每个解码器循环中存在4个解码回合),对系统存储器中的数据进行处理。如果对系统存储器中的所有数据进行了校正,就完成了纠错系统的操作。当在输入缓冲器中有足够数据可用时,为了将C1存储块写入系统存储器而中断系统存储器的处理。在系统存储器处理期间(256个循环),可以进行多次中断。因此,不能对系统存储器中的任何数据进行两次处理(第一C1、C2回合以及第二C1、C2回合)。

b)需要同时使用两个解码器(C1解码器和C2解码器)对存储在系统存储器内的数据进行解码。因此,需要附加硬件。

c)RS码的删除式纠错方法不能与上述方法一起使用。

本发明的一个目的是公开一种用于解码交错RS码(CIRC)的方法和装置,该方法和装置可以对数据流进行有效纠错同时可以降低硬件费用。

本发明的另一个目的是提供一种用于解码交错RS码(CIRC)的方法和装置,该方法和装置通过利用所谓删除式纠错方法对数据流中的错误进行校正。

根据本发明的一个方面,提供一种在解码交错RS码(CIRC)的处理过程中使用的纠错方法,该方法可以对在存储块中以地址Nij(i=0,…,217;j=0,…,31)被存储为C1-码字C1_CDWK(K=0,…,108)和C2-码字C2_CDWK的数据中的错误进行校正,各所述地址Nij含有所述数据的数据字节,该方法包括下列步骤:

a1)利用基于下式的解码器装置从所述地址Nij读取所述C1-码字C1_CDWk并进行解码:

C1_CDWkj=Nij其中K=0,…,108,j=0,…,31,并且i=k+109,而且C1_CDWk为所述C1-码字C1_CDWk中在地址j的数据字节;

a2)至少对所述C1-码字C1_CDWk进行部分校正;

b1)利用基于下式的所述解码器装置从所述地址Nij读取所述C2码字C2_CDWk并进行解码:

C2_CDWmj=Nij其中m=0,…,108,j=0,…,28,并且i=m+4*j,其中C2_CDWmj为所述C2-码字C2_CDWm内在地址j的数据字节;

b2)至少对所述C2-码字C1_CDWk进行部分校正。

这种方法提供了读取并解码C1码字和C2码字的新颖方式。这意谓着这种新方法含有定义哪个数据字将被用作C1解码和C2解码以及关于处理顺序的特定规则。与传统系统存储器相比,该去交错器装置的系统存储器尺寸较小。此外,实现根据本发明方法,只需要单一CIRC解码器。

以C1码字方式对大量群组错误进行校正的方法,对于低输入差错率非常有效。

根据本发明的另一个方面,在权利要求13公开了一种运行上述纠错方法的新颖装置。

在相关非独立权利要求中公开了根据独立权利要求的本发明的优势特征。

附图的简要说明

本发明的典型实施例示于附图并在以下的说明中作了更消息描述。

图1示出与传统纠错方法一起使用的系统存储器的实例;

图2示出适于实现本发明方法的CIRC解码器的方框图;

图3示出根据本发明包括存储块B1和存储块B2的存储块的图解说明;

图4示出根据本发明方法的流程图;

图5示出图3所示的具有扇区的存储块;

图6示出图5所示的具有移动到存储块B2的存储块B1的存储块;以及

图7示出将传统纠错方法的结果与根据本发明的纠错方法的结果分别进行比较的说明图。

典型实施例1.系统组成部分

图2示出根据本发明的CIRC解码器的方框图。

将数据采集部分输出的数据流存储到输入逻辑电路1。输入逻辑电路1可以将109个C1码字(32字节)存储到输入缓冲器中。当在输入缓冲器中有足够数据可用时,将数据块(109×32)写入系统存储器2,系统存储器2优先为RAM。系统存储器2被划分为两个存储块B1、B2用于存储数据字节。

与从传统CIRC解码器得知的相同,“1个码元的延迟”单元3用于延迟数据。

进行读、写或纠错操作、在系统存储器2中寻址并确定存储器地址的装置包含在定时与控制单元4内。

为了更好地理解本发明,如图3所示,可以把系统存储器2内的数据字节认为是二维笛卡尔坐标系中的单元。这种假设与系统存储器2的真实硬件装置无关。

各垂直线或i轴地址含有32字节的C1码字(参考图3)。各水平线或j轴表示在各j轴地址有8比特字节。从左向右依序对各j地址的字节进行编号。这是以RS码的体系结构为根据的。奇偶字节位于地址28至31。

根据图2,传统RS解码器5被连接到系统存储器2和定时与控制单元4。在传统RS解码器5中,实现了所谓RS码的删除式纠错方法。根据2*t+E<d,其中t为码字中错误数,E为删除数,d为RS码的汉明距离,RS解码器5可以对4个删除或2个错误或错误与删除的任意组合。对于压缩音频光盘应用,d为4。

在读、写以及纠错操作期间,利用定时与控制单元4实现在系统存储器2中进行寻址、确定地址并实现对传输的数据字节的控制。

“2码元延迟”单元6实现2码元的延迟。CIRC解码器的第二解码器循环写入输出缓冲器7之后,纠错C2码字。2.根据本发明的纠错方法的详细操作过程

参考图4,以下将详细说明对CIRC纠错码进行多次处理的新解码方法的操作过程。在步骤410和步骤420,当输入逻辑电路中有足够数据可用时,将数据块(109×32字节)写入系统存储器2的i地址109、110、…、217(参考图3)。

首先,将B1存储块的回合计数器初始化为1(参考图4中的步骤430)。然后,在步骤440,分析是否满足条件Count_ps=2?如果分析的结果是NO,那么进入步骤450。在步骤450,此时位于C1级的RS解码器5被设置为读取i地址109的C1码字(32字节,对沿j地址的j=0、1、…、31)。在后续各C1解码器循环中,设置RS解码器5转发并读取在逐个更高i地址的C1码字。因此,在第二C1解码器循环期间,设置RS解码器5在i地址110。以同样的方式,连续进行寻址直到对所有j地址(j=0、1、…、31)读取i地址217。

在各C1解码器循环中,RS解码器5试图最多校正两个错误。如果出现三个或更多个错误,当然就不能校正,将删除标志配置到C1码字的所有未校正的数据字节。将删除标志存储到系统存储器2的附加存储块(未示出)。

通常,RS解码器5(在C1级)连续进行109个解码与校正循环(参考图4中的步骤450)。然后,对B1存储块(参考图3)进行全面处理,即完成C1解码的第一回合。此后,将此时在C2级的RS解码器5设置为读取i地址0的C2码字(28字节)(参考图4中的步骤460)。沿B1存储块和B2存储块的对角线读取C2码字。在读取操作过程中对C2码字的寻址是根据下列算法进行的:

for(cycle=0;cycle<=108;++cycle){for(j=0;j<28;++j)}{i=cycle+4*j; (1) C2_CDW[j]=memory[i][j]; } }

其中memory[i][j]为系统存储器2中的地址。

在各C2解码器循环中,根据下列条件:2*t+E<d,其中t为码字中的错误数,E为删除数,d为RS码的汉明距离,RS解码器5试图校正最多4个删除或2个错误或错误和删除的组合。

在C1解码循环期间赋予的删除信息(C1指针信息)用于C2解码与校正操作。在步骤460,不可校正的C2码字未被标记,即未赋予删除标志。

总之,RS解码器5(在C2级)连续进行109个C2解码与校正循环(参考图4所示的步骤460)。完成这些操作之后,对109个C2码字进行处理并完成C2解码的第一回合。109个C2解码与校正循环完成之后,计数器Count_ps(回合计数器,参考图4中的步骤470)的内容增加并变成2。

在进行步骤440期间,再一次分析是否满足条件Count_ps=2?如果分析的结果是YES,则必需进行步骤480并清除B1存储块中所有数据字节的删除标志。然后,在进行步骤490期间,再一次设置RS解码器5(C1级)读取i地址109的C1码字。在各后续C1解码器循环中,设置RS解码器5转发并读取逐个更高i地址的C1码字。因此,在第二C1解码器循环期间,将RS解码器5设置到i地址110。以同样的方式连续进行寻址直到i地址217。在各C1解码器循环期间,RS解码器5试图最多校正两个错误。如果发生三个或更多个错误,当然不能校正,将删除标志赋予C1码字所有未校正的字节。

总之,RS解码器5(在C1级)再一次连续进行109个解码与校正循环(参考图4中的步骤490)。然后,对B1存储块进行全面处理,即完成C1解码过程的第二回合。此后,再一次设置RS解码器5(在C2级)读取i地址0的C2码字(28字节)。在步骤500,沿B2存储块和B1存储块的对角线读取C2码字。在读取操作过程中,根据上述算法(1)完成对C2码字的寻址。

通过各C2解码器循环,RS解码器5再一次试图校正最多4个删除或2个错误或错误与删除的组合。如果RS解码器5不能校正当前C2码字,就对数据字节进行标志。因此,将处理C2码字写入输出缓冲器7(参考图2)。

RS解码器(在C2级)连续进行109个C2解码与校正循环。对109个C2码字处理后,完成C2解码的第二回合。然后,将具有删除信息的B1存储块移动到系统存储器2的B2存储块(参考图4中的步骤510)。在定时与控制单元4产生信号DONE。该信号给出系统存储器2内的所有数据字节已被恰好处理两次的信息。再一次完成步骤410。3.群组纠错

以下将说明利用本发明方法的群组纠错过程。A)对具有高输入错误率的C1码字群组错误的校正(C1码字被全部或接近全部破坏)

结合群组错误说明根据本发明的CIRC纠错码纠错方法的详细操作过程。假定B2存储块已被校正(在先前级)并且在B2存储块中不存在错误。B1存储块由输入逻辑电路1载入。在i地址130、…、140,存在群组错误(参考图5,存在11个被破坏的C1码字)。

RS解码器5(在C1级)开始试图连续解码并校正B1存储块中的109个C1码字。i地址130、…、140的码字不能被校正,并因此被标志(对于各C1码字中的各字节赋予删除标志)。

然后,RS解码器5(在C2级)开始试图连续解码并校正B1存储块和B2存储块内的109个C2码字。在此操作期间,RS解码器5(在C2级)必需从存储扇区2B1和1B2读取字节(参考图5)。完成RS解码器5的第一回合后,(109个C1回合和109个C2回合),对存储扇区2B1内i地址(130至140)的标志字节进行校正,而对存储扇区1B1内i地址(130至140)的标志字节不进行校正。

在第二回合,RS解码器5(在C1级)试图连续解码并校正B1存储块内的109个C1码字。再一次对地址130、…、140的码字进行标志,但事实上,此时错误只出现在存储扇区1B1。然后,RS解码器5(在C2级)开始试图连续解码并校正B1存储块和B2存储块内的109个C2码字。

在下一级,将具有存储信息的校正B1存储块拷贝到系统存储器中的B2存储块(参考图6)。此后,将新数据块从输入逻辑电路载入B1存储块并且CIRC解码器再一次启动。现在,在存储扇区1B2内仍有(存在)剩余错误(具有删除信息的字节)。RS解码器5(C1级)启动并试图对B1存储块内的109个C1码字连续进行解码和校正。

然后,RS解码器5(在C2级)启动并试图对B1存储块和B2存储块内的109个C2码字进行连续解码和校正。在此级,存储扇区1B2内的错误(在i地址21,…,31的剩余错误)被校正。

实现本发明方法的CIRC解码器可以校正具有高输入错误率的14个破坏C1码字(极限值)。B)具有第低输入错误率的C1码字群组错误的校正(各C1码字均具有3至6个错误)

如果破坏的C1码字具有低输入错误率,那么实现本发明方法的CIRC解码器工作非常有效。以下对此作说明。

在C2码字纠错(CIRC解码器的第一回合)过程中,RS解码器5(在C2级)可以校正任意随机删除组合(最多4个删除),即在CIRC解码器的第二回合期间,RS解码器5(在C1级)可以校正在CIRC解码器(在C1级)的第一回合期间未校正的任意C1码字。因此,在CIRC解码器的第二回合期间,可以校正在CIRC解码器(在C2级)的第一回合期间未校正的任意C2码字。

可以参考图7对此作说明。在图7中,分别示出2个CIRC解码器即1个传统CIRC解码器和1个实现本发明方法的CIRC解码器的纠错结果。传统CIRC解码器的纠错结果用实线示出,实现本发明方法的CIRC解码器的纠错结果用虚线示出。

示出了对下列错误组合的纠错结果:

1.在各C1码字中具有3个错误的20个C1码字群组错误。

2.在各C1码字中具有4个错误的20个C1码字群组错误。

3.在各C1码字中具有5个错误的20个C1码字群组错误。

4.在各C1码字中具有6个错误的20个C1码字群组错误。

5.在各C1码字中具有3个错误的30个C1码字群组错误。

6.在各C1码字中具有4个错误的30个C1码字群组错误。

7.在各C1码字中具有5个错误的30个C1码字群组错误。

8.在各C1码字中具有6个错误的30个C1码字群组错误。

9.在各C1码字中具有3个错误的40个C1码字群组错误。

10.在各C1码字中具有4个错误的40个C1码字群组错误。

11.在各C1码字中具有5个错误的40个C1码字群组错误。

12.在各C1码字中具有6个错误的40个C1码字群组错误。

在各C1码字中具有数目不同的错误的20个C1码字的群组错误的校正结果示于图7(由小圆表示)。实现本发明方法的CIRC解码器可以校正在各C1码字中具有3个和4个错误的20个C1码字的群组错误。如果在各C1码字中存在5个或6个错误,则实现本发明方法的CIRC解码器就不能对这20个C1码字的群组错误进行校正。然而,实现本发明方法的音频数据CIRC解码器的输出删除率非常低。

与传统CIRC解码器相比,实现本发明方法的CIRC解码器对30个C1码字的群组错误进行校正具有更好的纠错特性。实现本发明方法的CIRC解码器可以校正在各C1码字中具有3个错误的30个C1码字群组错误。在实现本发明方法的CIRC解码器的音频数据的输出删除率也更低(校正结果由方框表示)。实现本发明方法的CIRC解码器的优点是随着输入错误率的进一步提高而降低输出删除率。

传统CIRC解码器和实现本发明方法的CIRC解码器的极限值均为14个C1码字群组错误(全部破坏的)。在这种情况,传统CIRC解码器的纠错特性与实现本发明方法的CIRC解码器的纠错特性无异。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号