用来解码错误更正码方块的方法及其相关装置的制作方法

文档序号:7539608阅读:179来源:国知局
专利名称:用来解码错误更正码方块的方法及其相关装置的制作方法
技术领域
本发明提供一种解码方法以及相关的解码装置,尤指一种用来对一错误更正码方块进行解码的解码方法以及其相关解码装置。
背景技术
由于DVD盘片具有轻巧的体积以及大量的储存空间,使得DVD盘片成为现在人们大量使用的储存媒体。一般来说,当使用者要使用储存于DVD盘片的数据时,会先从DVD中读取盘片数据。由于从DVD读取出来的盘片数据可能具有很多错误,并且DVD盘片数据是由原始数据经过8对14调制而产生,因此必须先利用EFM+解调器对读取出来的盘片数据进行解调以形成列数据(row data)。如前所述,由于读取出来的盘片数据会具有一些错误,这也代表了列数据中也包含有一些错误。
因此,每个列数据都会先储存于一个存储器缓冲器;而当储存于缓冲器的列数据足够时,列数据便会形成一个完整的错误更正码方块(errorcorrection code block,ECC block),接着错误更正码方块便会经过理德所逻门乘积码(Reed Soloman Product Code,RSPC)解码以更正列数据上的错误,进而得到最初的原始数据。
在此请参阅图1,图1为错误更正码方块100的示意图。如图1所示,错误更正码方块100包含有208列(rows)与192行(columns),其中每一列可以称为一个PI字码(codeword),并且每一行可以称为一个PO字码。此外,208列中的前192列是由对DVD盘片数据进行编码而产生,而208列中的后16列为外部校正码(outer-code parity,PO)数据,其用来校正PO字码上面的错误数据。相同地,192行中的前182行是由对DVD盘片数据进行编码而产生,而192行中的后10行为内部校正码(inner-code parity,PI)数据,其用来校正PI字码上面的错误数据。
如前所述,为了更正错误更正码方块100上所包含的错误数据,我们会对错误更正码方块100进行解码,这些更正错误数据的详细操作将在以下的揭露中陈述。
请参阅图2,图2为解码装置200的示意图。解码装置200包含有一存储器缓冲器210,用来储存前述的错误更正码方块100;一与该存储器缓冲器210耦接的征状值(syndrome)计算装置220,用来计算每个字码的征状值;一错误更正装置230,耦接于该存储器缓冲器210以及该征状值计算装置220,用来更正储存于存储器缓冲器210中每个字码上的错误数据;以及一控制器240,耦接于该错误更正装置230以及该征状值计算装置220,用来控制整个解码装置200的运作。此外,解码装置200的详细功能与运作将于下文详述。
在此请参阅图3,图3为利用图2所示的解码装置200来更正错误更正码方块100上错误数据的流程图。其包含有下列步骤步骤300开始;步骤302对所有的PI字码进行解码操作;步骤304对所有的PO字码进行解码操作;步骤306如果所有的PI与PO字码都已可解码,则接至步骤312;否则,接至步骤308;步骤308计算反复解码PI/PO字码的次数,若该次数大于一预设值,则接至步骤310;否则,接至步骤302;步骤310解码失败;步骤312解码完成。
首先,解码装置200开始对错误更正码方块100进行解码(步骤302)。接着,解码装置200开始对每个PI字码进行PI解码操作,以更正PI字码上的错误数据。现在以PI解码操作为例子加以说明,首先,PI解码操作会先运作于列数据1(第一个PI字码)上,这代表征状值计算装置220会从存储器缓冲器210读取列数据1并且计算列数据1的征状值。如业界所已知,征状值计算装置220会利用一多项式来计算列数据1的征状值;此外,若计算出来的征状值等于0,这代表列数据1为一可解码数据,或称列数据1为无错误数据;另一方面,如果计算出来的征状值不等于0,这代表了列数据1必须经过更正。因此,错误更正装置230会接收计算出来的征状值,并且利用该征状值来计算错误位置与对应错误位置的错误值,接着错误更正装置230会根据错误位置以从存储器缓冲器210读取错误数据,并且将错误值与错误数据进行一异或(XOR)运算,以更正错误。
很明显地,经由上述的错误更正操作可以对列数据1上的一些错误进行更正。此外,相同的错误更正操作也会在列数据2上执行,即,列数据2上的错误更正操作也包含计算列数据2的征状值,决定列数据2的错误值以及错误位置,根据错误值与错误位置来更正列数据2上的一些错误数据。对于整体PI字码的解码操作而言,这样的错误更正操作会依此类推地于列数据3、4、...、至列数据208。因此,在对所有PI字码执行PI解码操作之后,错误更正码方块的一些错误便可以由此更正。
在此请注意,由于PI解码的错误更正机制有其限制,举例来说,对于每个PI字码来说,一次的错误更正解码可能只能更正几个错误,因此,在整个PI解码操作完成之后,可能还是会有一些错误存在于错误更正码方块之中。所以,在执行过PI解码之后,接着便须执行PO解码。
相同地,每个PO字码的错误也是经由类似上述的解码操作更正(步骤304)。PO解码操作包含有计算一PO字码(行数据)的征状值,根据计算出来的征状值计算出错误位置与错误值,根据错误值与错误位置来更正PO字码上的一些错误数据。相同地,这样的PO解码操作也是循序的一行行执行于行数据1至行数据172。很明显地,在步骤302与步骤304之后,错误更正码方块100中有部分的错误已经更正了,因此,理论上只须反复的执行302与步骤304,便可以更正错误更正码方块100内所有的错误数据。
但是,在此请注意,如果ECC方块100内包含了太多的错误数据,以致PI/PO数据没有办法将DVD的原始数据还原,因此在本例中,控制器240会计算步骤302与304执行的次数(步骤306),并且当重复执行的次数大于一预设值时,控制器240便会认定ECC方块100是没有办法解码的,也即前述ECC方块100具有过多的错误数据。举例来说,当反复执行的次数大于该预设值时,控制器240会认定整体的解码操作失败(步骤310);另一方面,若反复执行的次数仍小于该预设值,解码装置200便会反复的执行步骤302与304,直至ECC方块100中所有的错误都被更正,亦即ECC方块100可解码,以及DVD的原始数据可以还原为止(步骤312)。
然而,前述的解码操作有一些效能上的问题。举例来说,当每一次执行PI/PO解码操作,不管已知一特定字码的征状值等于0,都必须要计算所有PI/PO字码的征状值。换句话说,这种反复计算征状值的解码方式会消耗掉大量的系统资源,并且进而使得解码操作效率降低。

发明内容
因此本发明的主要目的之一在于提供一种对一错误更正码方块进行解码的解码方法以及其相关解码装置,以解决现有技术中的问题。
根据本发明一较佳实施例,是揭露一种用来解码一错误更正码方块(error correction code block,ECC block)的方法,该方法包含有提供复数个旗标,其中每个旗标是用来将该错误更正码方块的至少一数据线标示为一无错误数据线;以及侦测对应一特定数据线的一旗标是否已经被设定(asserted),如果该旗标已经被设定,则略过该特定数据线的一征状值(syndrome)的计算。
根据本发明的另一较佳实施例,其揭露一种用来解码一错误更正码方块(error correction code block,ECC block)的解码装置,该解码装置包含有一储存装置,用来储存该错误更正码方块以及复数个旗标,其中每个旗标是用来将该错误更正码方块至少一数据线标示为一无错误数据线;一征状值计算装置;以及一控制器,电连接至该储存装置以及该征状值计算装置,用来侦测对应一特定数据线的一旗标是否已经被设定,如果该旗标已经被设定,则控制该征状值计算装置以略过该特定数据线的一征状值(syndrome)的计算。
本发明可以避免对无错误字码反复进行征状值计算的操作。如此可以节省解码操作的执行时间以及系统资源。换句话说,比起已知的解码方式,本发明不但提供一个更有效率的解码方式,而且此解码方式只须消耗更少的系统资源。


图1为现有技术错误更正码方块的示意图。
图2为现有技术解码装置的示意图。
图3为利用图2所示的解码装置来更正图1的错误更正码方块上错误数据的流程图。
图4为本发明解码装置的示意图。
图5为本发明错误更正码方块的示意图。
图6A以及图6B为本发明PI解码操作的流程图。
图7A与图7B为本发明PO解码操作的流程图。
图8为本发明更正图5所示的ECC方块另一实施例的方法流程图。
图9A与图9B为对应图8所示的解码流程的PI解码的流程图。
图10A与图10B为对应图8所示的解码流程的PO解码的流程图。
主要组件符号说明错误更正码方块 100、500 解码装置 200、400存储器缓冲器210、410征状值计算装置220、420错误更正装置230、440控制器240、450旗标设定电路430
具体实施例方式
请参阅图4,图4为本发明解码装置400的示意图。如图4所示,解码装置400包含一存储器缓冲器410,一征状值计算装置420,一旗标设定电路430,一错误更正装置440,以及一控制器450。其中,控制器450耦接于征状值计算装置420、旗标设定电路430以及错误更正装置440。存储器缓冲器410耦接至征状值计算装置420以及错误更正装置440。此外,错误更正装置440耦接至征状值计算装置420以及旗标设定电路430。以及征状值计算装置420耦接至旗标设定电路430。在本实施例中,存储器缓冲器410、征状值计算装置420、错误更正装置440大体上与前述的解码装置200中的各项同名组件具有相同的结构与操作。而解码装置400中其它组件的功能与操作将于以下的揭露中陈述。
在此请参阅图5,图5为本发明错误更正码方块500的示意图。如图5所示,ECC方块500与前述的ECC方块100类似。两者的差别在于ECC方块500另包含有复数个旗标。在此请注意,在本实施例中,旗标可以是一个1位的寄存器(register),其用来标示一个特定字码的状况,前述的旗标可以储存于存储器中或是寄存器中。
举例来说,在解码错误更正码方块500的操作之中,如前所述,必须对一特定字码进行计算以得出征状值,以及如果计算出来的征状值等于0,这代表了该特定字码理论上应为一无错误字码。因此,在本发明中,如果计算出来的征状值等于0,旗标设定电路430便会设定该特定字码所对应的旗标。如此一来,控制器450便可根据旗标来对整体的解码装置400进行控制,以决定是否要对该特定字码进行解码,亦即对该特定字码进行解码操作或略过该特定字码的解码操作。换句话说,若旗标已经被设定,则该旗标所对应的字码就会被视为无错误字码,因此本发明解码装置400便可以省略对无错误的字码进行的重复解码操作。也就是说,本发明解码装置400仅仅只处理那些未设定旗标的字码,也就是那些可能具有错误的字码。很明显地,这样的做法可以提升整体的解码效率。
如图5所示,ECC方块500具有复数个错误,图中以X标示。此外,具有错误的字码会与没有设定的旗标对应,这代表这些字码中包含有一些错误。因此,控制器450便可以根据这些旗标来控制解码装置400。
请参阅图6A以及图6B。图6A以及图6B为PI解码操作的流程图。其包含有下列步骤步骤600开始;步骤602侦测目前正在执行的解码操作是否为一重复的解码操作?如果目前正在执行的解码操作为一重复的解码操作,则接至步骤604;否则,接至步骤608;步骤604读取对应列数据i的旗标;步骤606侦测旗标是否已经被设定(asserted)?若是,则接至步骤622否则接至步骤608;步骤608计算列数据i的征状值;步骤610侦测计算出来的征状值是否为0?若计算出来的征状值等于0,则接至步骤618;否则接至步骤612;步骤612更正列数据i上的错误;步骤616侦测列数据i是否已可解码?若列数据i已可解码,则接至步骤618;否则接至步骤620;步骤618设定(assert)列数据i的旗标,并且接至步骤614;步骤614重设(deassert)行数据j的旗标,其中错误是位于坐标(i,j)上,接着接至步骤622;步骤620重设列数据i的旗标;步骤622是否所有列数据都可解码?如果所有列数据都可解码,则接至步骤626;否则,接至步骤624;步骤624定义i=i+1,接着回到步骤602;
步骤626结束。
首先,PI解码操作开始(步骤600)。控制器450侦测目前正在执行的PI解码操作是否为一重复解码操作(步骤602),由于所有的旗标在第一次PI解码操作后便会被设定(亦即设定为1)或被重设(亦即设定为0),这代表每一个旗标都可用来标示每个字码现在的状态。
因此,如果目前PI解码操作为第一次的PI解码操作,控制器450会直接利用征状值计算装置420来计算目前字码(current codeword)的征状值(步骤608),例如,目前字码用列数据i表示,其中i为正整数。
另一方面,若目前PI解码操作并非第一次的解码操作,那么所有旗标应该已经在第一次PI解码操作时就已经有对应的设定,譬如前述的设定为1或设定为0。因此,控制器450会先读取目前PI字码所对应的旗标(步骤604),以侦测该旗标是否已经被设定(步骤606);如果该旗标已经被设定,控制器450便可以由此得知无须处理目前PI字码。因此,解码装置400会直接执行步骤622以判定是否所有PI字码都已经处理完毕。若是,则结束这整个流程(步骤626);若否,处理下个PI字码,亦即,在步骤624之中,定义i=i+1以取得下一个PI字码。
另一方面,如果旗标并未被设定,控制器450可藉此得知解码装置400需要对目前PI字码进行处理,因此,控制器450会利用征状值计算装置420来计算目前PI字码的征状值(步骤608)。
在执行步骤608之后,控制器450会侦测计算出来的征状值是否为0(步骤610);若征状值为0,这代表目前PI字码为一无错误的字码,因此,控制器450会控制旗标设定电路430以设定目前PI字码的旗标(步骤618)。接着,解码装置400会执行步骤622以判定是否所有PI字码都已经处理完毕。若是,则结束这整个流程(步骤626);若否,继续执行下一个PI字码,亦即,执行步骤624以通过定义i=i+1来取得下一个PI字码。
此外,如果计算出来的征状值不等于0,这代表目前PI字码具有至少一个错误,因此控制器450会控制错误更正装置440以更正PI字码上的错误(步骤612)。接着,控制器450会侦测目前PI字码是否已经可以解码,换句话说,控制器450会侦测目前PI字码是否为一无错误字码(步骤616)。在此同时,如果目前PI字码无法解码,这代表目前PI字码仍然具有错误,因此控制器450会控制旗标设定电路430以重设对应目前PI字码的旗标(步骤620)。另一方面,如果目前PI字码已可解码,控制器450会控制旗标设定电路430以设定对应目前PI字码的旗标(步骤618)。此外,由于PI字码上的数据已经被更正了,这代表特定位置上所储存的值有所变化,也连带影响到了对应该特定位置的PO字码的征状值。举例来说,如果坐标(i,j)的数据被视为一个错误,而错误更正装置对坐标(i,j)的数据进行更正,那么对于行数据j来说,行数据j的征状值也随之改变。因此,在本实施例中,控制器450会控制旗标设定电路430以根据错误位置将特定的PO字码的旗标重设。换句话说,旗标设定电路430会重设行数据j的旗标(步骤614)。接着,解码装置400执行步骤622以判定是否所有PI字码都已经处理完毕。若是,则结束这整个流程(步骤626);若否,处理下一个PI字码,亦即,在步骤624之中,定义i=i+1以取得下一个PI字码。
在此请注意,在步骤602中,控制器450可以计算PI解码操作的重复次数。与前述的现有技术类似,当重复次数大于一预设值时,控制器450可以停止整个解码操作。如此的相对应变化,也属本发明的范畴。
请参阅图7A以及图7B。图7A与图7B为本发明PO解码操作的流程图。其包含下列步骤步骤700开始;步骤702侦测目前正在执行的解码操作是否为一重复的解码操作?如果目前正在执行的解码操作为一重复的解码操作,则接至步骤704;否则,接至步骤708;步骤704读取对应行数据j的旗标;
步骤706侦测旗标是否已经被设定(asserted)?若是,则接至步骤722;否则接至步骤708;步骤708计算行数据j的征状值;步骤710侦测计算出来的征状值是否为0?若计算出来的征状值等于0,则接至步骤718;否则接至步骤712;步骤712更正行数据j上的错误;步骤71 6侦测行数据j是否已可解码?若行数据j已可解码,则接至步骤718;否则接至步骤720;步骤718设定(assert)行数据j的旗标,并且接至步骤714;步骤714重设(deassert)列数据i的旗标,其中错误是位于坐标(i,j)上,接着接至步骤722;步骤720重设行数据j的旗标;步骤722是否所有行数据都可解码?如果所有行数据都可解码,则接至步骤726;否则,接至步骤724;步骤724定义j=j+1,接着回到步骤702;步骤726结束。
在此请注意,PO解码操作的流程大体上与前述的PI解码操作对称。首先,在所有的PI字码都进行前述的PI解码操作之后,PO解码操作便开始执行(步骤700)。控制器450侦测目前正在执行的PO解码操作是否为一重复解码操作(步骤702),由于所有的旗标在前述的PI解码或前一次PO解码操作后便会被设定(亦即设定为1)或被重设(亦即设定为0);相同地,每一个旗标是用来标示每个字码目前的状态。
因此,假设目前PO解码操作为第一次的PO解码操作,这代表理论上所有旗标都为重设状态,此时控制器450会直接利用征状值计算装置420来计算目前字码(current codeword)的征状值(步骤708),在这里的目前字码是以行数据j表示,其中j为正整数。
另一方面,若目前PO解码操作并非第一次的解码操作,那么代表所有旗标应该已经在先前的PO/PI解码操作时就已经有对应的设定,譬如前述的设定为1或设定为0。因此,控制器450会先读取目前PO字码(行数据j)所对应的旗标(步骤704),以侦测该旗标是否已经被设定(步骤706);如果该旗标已经被设定,控制器450便可以由此得知无须处理目前PO字码。因此,解码装置400会直接执行步骤722以判定是否所有P0字码都已经处理完毕。若是,则结束这整个流程(步骤726);若否,处理下一个PO字码,亦即,在步骤724之中,定义j=j+1以取得下一个PO字码。
另一方面,如果旗标并未被设定,控制器450可藉此得知解码装置400需要对目前PO字码进行处理,因此,控制器450会利用征状值计算装置420来计算目前PO字码的征状值(步骤708)。在执行步骤708之后,控制器450会侦测计算出来的征状值是否为0(步骤71 0);若征状值为0,这代表目前PO字码为一无错误的字码,因此,控制器450会控制旗标设定电路430以设定目前PO字码的旗标(步骤718)。这代表了下一次PO解码时无须再次对行数据j进行处理。接着,解码装置400会执行步骤722以判定是否所有PO字码都已经处理完毕。若是,则结束这整个流程(步骤726);若否,继续执行下一个PO字码,亦即,执行步骤724以通过定义j=j+1来取得下一个PO字码。
此外,如果计算出来的征状值不等于0,这代表目前PO字码具有至少一个错误,因此控制器450会控制错误更正装置440以更正PO字码上的错误(步骤712)。接着,控制器450会侦测目前PO字码是否已经可以解码;换句话说,控制器450会侦测目前PO字码是否为一无错误字码(步骤716)。在此同时,如果目前PO字码无法解码,这代表目前PO字码仍然具有错误,因此控制器450会控制旗标设定电路430以重设对应目前PO字码的旗标(步骤720)。另一方面,如果目前PO字码已可解码,控制器450会控制旗标设定电路430以设定对应目前PO字码的旗标(步骤718)。此外,由于PO字码上的数据已经被更正了,这代表特定位置上所储存的值有所变化,也连带影响到了对应该特定位置的PI字码的征状值。举例来说,如果坐标(i,j)的数据被视为一个错误,而错误更正装置对坐标(i,j)的数据进行更正,那么对于列数据i来说,列数据i的征状值也随之改变。因此,在本实施例中,控制器450会控制旗标设定电路430以根据错误位置将特定的PI字码的旗标重设。换句话说,旗标设定电路430会重设列数据i的旗标(步骤714)。接着,解码装置400执行步骤722以判定是否所有PO字码都已经处理完毕。若是,则结束这整个流程(步骤726);若否,处理下个PO字码,亦即,在步骤724之中,定义j=j+1以取得下一个PO字码。
在此请注意,在步骤702中,控制器450可以计算PO解码操作的重复次数。与前述的现有技术类似,当重复次数大于一预设值时,控制器450可以停止整个解码操作。如此的相对应变化,也属本发明的范畴。
当PO解码操作完成后,如前所述,ECC方块500中有许多错误数据已经经过更正。因此,整个流程可以再次接至步骤600以执行PI解码操作。这与前述的步骤302~308类似。换句话说,PI解码操作与PO解码操作可以执行数次以更正ECC方块500中所有错误数据。或者,当解码操作重复执行的次数大于一预设值,停止整个解码操作并视为解码失败。
请参阅图8,图8为本发明更正图5所示的ECC方块另一实施例的方法流程图。其包含有下列步骤步骤800开始;步骤801将对应PI/PO字码的所有旗标初始化;步骤802对所有的PI字码进行解码操作;步骤804对所有的PO字码进行解码操作;步骤806若所有的PI/PO字码都为可解码的字码,则接至步骤812;否则,接至步骤808;步骤808计算解码PI/PO字码的重复次数,若该次数大于一默认值,则接至步骤810;否则接至步骤802;步骤810解码失败;步骤812解码完成。
相较于图3所示的流程图,图8所示的流程进一步包含有一步骤801。因此,在第一次执行解码操作之前,对应PI/PO字码的所有旗标都会被重设(deasserted)。此外,在此请注意,步骤802~812与前述的步骤302~312相同,故不另赘述于此。
在此请参阅图9A与图9B。图9A与图9B为对应图8所示的解码流程的PI解码的流程图。其包含有下列步骤步骤900开始;步骤904读取对应列数据i的旗标;步骤906侦测旗标是否已经被设定(asserted)?若是,则接至步骤922;否则接至步骤908;步骤908计算列数据i的征状值;步骤910侦测计算出来的征状值是否为0?若计算出来的征状值等于0,则接至步骤918;否则接至步骤912;步骤912更正列数据i上的错误,并接至步骤916;步骤916侦测列数据i是否已可解码?若列数据i已可解码,则接至步骤918,否则接至步骤920;步骤918设定(assert)列数据i的旗标,并接至步骤914;步骤914重设(deassert)行数据j的旗标,其中错误是位于坐标(i,j)上,接着接至步骤922;步骤920重设列数据i的旗标;步骤922是否所有列数据都可解码?如果所有列数据都可解码,则接至步骤926;否则,接至步骤924;步骤924定义i=i+1,接着回到步骤904;
步骤926结束。
在本实施例中,请注意,由于所有的旗标在第一次解码操作之前就已经被全部重设,因此移除对应图6A的步骤602。因此,本实施例无须侦测目前的PI解码操作是否为一个重复解码操作,便可直接在步骤904中对旗标进行读取。
此外,步骤904~926完全与图6A与图6B所示的步骤604~626相同,故不另赘述于此。
在此请参阅图10A与图10B。图10A与图10B为对应图8所示的解码流程的PO解码的流程图。其包含有下列步骤步骤1000开始;步骤1004读取对应行数据j的旗标;步骤1006侦测旗标是否已经被设定(asserted)?若是,则接至步骤1022;否则接至步骤1008;步骤1008计算行数据j的征状值;步骤1010侦测计算出来的征状值是否为0?若计算出来的征状值等于0,则接至步骤1018;否则接至步骤1012;步骤1012更正行数据j上的错误,并接至步骤1016;步骤1016侦测行数据j是否已可解码?若行数据j已可解码,则接至步骤1018;否则接至步骤1020;步骤1018设定(assert)行数据j的旗标,并接至步骤1014;步骤1014重设(deassert)列数据i的旗标,其中错误是位于坐标(i,j)上,接着接至步骤1022;步骤1020重设行数据j的旗标;步骤1022是否所有行数据都可解码?如果所有行数据都可解码,则接至步骤1026;否则,接至步骤1024;步骤1024定义j=j+1,接着回到步骤1004;
步骤1026结束。
在本实施例中,由于所有的旗标在第一次解码操作之前就已经被全部重设,因此移除了对应图7A的步骤702。因此,本实施例无须侦测目前的PO解码操作是否为一个重复解码,便可直接在步骤1004中对旗标进行读取的动作。
此外,步骤1004~1026完全与图7A与图7B所示的步骤704~726相同,故不另赘述于此。
在此请注意,本发明并未限制旗标的数目。亦即一个旗标可以对应一个字码集合,一个字码集合包含有复数个字码。换句话说,本发明解码装置仍可以先侦测旗标,然后再解码对应未设定的旗标的字码集合。如此的相对应变化,也不违背本发明的精神。
在此请注意,前述从DVD盘片读取出来的ECC方块仅为本发明的一实施例,而非对本发明的限制。换句话说,本发明可应用于任何需要对ECC方块进行解码的机制之中。
此外,前述PI/PO字码的解码操作也仅为本发明的一实施例,而非本发明的限制。换言之,本发明可以应用于其它的ECC方块的解码机制。例如,PI/PO解码操作是奠基于多项式以计算出每个字码的征状值,以及其错误值与错误位置。但是在一些实施例中,可能有其它用于计算征状值的多项式,并且前述的字码的定义也不会仅限制于水平或是竖直方向的数据线,例如,可以是一斜的数据线。如此的相对应变化,也不违背本发明的精神。
相较于现有技术,本发明可以避免对无错误字码反复进行征状值计算的操作。如此可以节省解码操作的执行时间以及系统资源。换句话说,相较于已知的解码方式,本发明不但提供一个更有效率的解码方式,而且还提供一个消耗更少系统资源的解码方式。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,都应属本发明的涵盖范围。
权利要求
1.一种用来解码一错误更正码方块的方法,其特征在于,该方法包含有提供复数个旗标,其中每个旗标是用来将该错误更正码方块的至少一数据线标示为一无错误数据线;以及侦测对应一特定数据线的一旗标是否已经被设定,以及,如果该旗标已经被设定,则略过该特定数据线的一征状值的计算。
2.如权利要求1所述的方法,其特征在于,所述每个数据线对应一字码。
3.如权利要求1所述的方法,其特征在于,所述侦测该旗标是否已经设定的步骤进一步包含若该旗标还未被设定,计算该特定数据线的该征状值,若该征状值不等于一预定值,则更正该特定数据线上至少一位置的数据,以及若计算出的该征状值等于该预定值或该数据线已可解码,则设定该旗标。
4.如权利要求3所述的方法,其特征在于,所述更正该特定数据线上至少一位置的数据的步骤进一步包含重设对应该位置的一第二数据线的一旗标。
5.如权利要求4所述的方法,其特征在于,所述特定数据线为一PI字码,以及所述第二数据线为对应该位置的一PO字码。
6.如权利要求4所述的方法,其特征在于,所述特定数据线为一PO字码,以及所述第二数据线为对应该位置的一PI字码。
7.如权利要求1所述的方法,其特征在于,所述每个旗标是用来将一数据线集合标示为一无错误数据线集合,该数据线集合包含有该错误更正码方块中复数条数据线,以及侦测该旗标是否已经被设定的步骤进一步包含如果该旗标还未被设定,则计算一特定数据线集合的该特定数据线的征状值,若该征状值不等于一预定值,则更正该特定数据线中至少一位置的数据,以及若该特定数据线集合中所有数据线的征状值都等于该预定值时或所有数据线都可解码时,则设定该旗标。
8.如权利要求7所述的方法,其特征在于,所述更正该特定数据线的数据的步骤进一步包含重设对应于该位置的一第二数据线的一旗标。
9.如权利要求8所述的方法,其特征在于,所述特定数据线为一PI字码,以及所述第二数据线为对应该位置的一PO字码。
10.如权利要求8所述的方法,其特征在于,所述特定数据线为一PO字码,以及所述第二数据线为对应该位置的一PI字码。
11.如权利要求1所述的方法,其特征在于,所述错误更正码方块是应用于光学储存系统。
12.一种用来解码一错误更正码方块的解码装置,其特征在于,该解码装置包含有一储存装置,用来储存该错误更正码方块以及复数个旗标,其中每个旗标是用来将该错误更正码方块至少一数据线标示为一无错误数据线;一征状值计算装置;以及一控制器,电连接至所述储存装置以及所述征状值计算装置,用来侦测对应一特定数据线的一旗标是否已经被设定,以及如果该旗标已经被设定,则控制该征状值计算装置以略过该特定数据线的一征状值的计算。
13.如权利要求12所述的解码装置,其特征在于,所述每个数据线对应一字码。
14.如权利要求12所述的解码装置,其特征在于,该解码装置进一步包含一错误更正装置,耦接至所述控制器;以及一旗标设定电路,耦接至所述控制器;其中若该旗标还未设定,则该控制器进一步控制该征状值计算装置来计算该特定数据线的征状值,若该征状值不等于一预定值,则该控制器控制该错误更正装置以更正该特定数据线上至少一位置的数据,以及若该征状值等于该预定值或该数据线已可解码,则该控制器控制该旗标设定电路以设定该旗标。
15.如权利要求14所述的解码装置,其特征在于,所述控制器进一步控制该旗标设定电路以重设对应该位置的一第二数据线的旗标。
16.如权利要求15所述的解码装置,其特征在于,所述特定数据线为一PI字码,以及所述第二数据线为对应该位置的一PO字码。
17.如权利要求15所述的解码装置,其特征在于,所述特定数据线为一PO字码,以及所述第二数据线为对应该位置的一PI字码。
18.如权利要求12所述的解码装置,其特征在于,该解码装置进一步包含一错误更正装置,耦接于所述控制器;以及一旗标设定电路,耦接于所述控制器;其中每个旗标是用来将具有复数条数据线的一数据线集合标示为一无错误数据线集合,以及若该旗标还未被设定,则该控制器另控制该征状值计算装置以计算该特定数据线的征状值,若该征状值不等于一预定值,则该控制器控制该错误更正装置来更正该特定数据线上至少一位置的数据,以及若该特定数据线集合的所有征状值都等于该预定值或该特定数据线集合的所有数据线都可解码,则该控制器控制该旗标设定电路以设定该旗标。
19.如权利要求18所述的解码装置,其特征在于,所述控制器进一步控制该旗标设定电路以重设对应该位置的一第二数据线的旗标。
20.如权利要求19所述的解码装置,其特征在于,所述特定数据线为一PI字码,以及所述第二数据线为对应该位置的一PO字码。
21.如权利要求19所述的解码装置,其特征在于,所述特定数据线为一PO字码,以及所述第二数据线为对应该位置的一PI字码。
22.如权利要求12所述的解码装置,其特征在于,所述错误更正码方块是应用于光学储存系统。
全文摘要
本发明提供一种用来解码错误更正码方块的方法及其相关装置,该方法包含有提供复数个旗标,其中每个旗标是用来将该错误更正码方块的至少一数据线标示为一无错误数据线;以及侦测对应一特定数据线的一旗标是否已经设定,以及,如果该旗标已经设定,则略过该特定数据线的一征状值的计算。本发明可以避免对无错误字码反复进行征状值计算的操作。如此可以节省解码操作的执行时间以及系统资源。换句话说,比起已知的解码方式,本发明不但提供一个更有效率的解码方式,而且此解码方式只须消耗更少的系统资源。
文档编号H03M13/00GK1983433SQ20061016459
公开日2007年6月20日 申请日期2006年12月8日 优先权日2005年12月12日
发明者谢嘉鸿, 刘碧海 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1