发明内容
为达到上述目的,本发明采取如下技术措施:
根据本发明的一个方面,提供一种光盘驱动装置的编码/解码系统,用以对一数据执行光盘或数字声像光盘的编码/解码操作,数据暂存在一个数据缓冲区中,其特征在于,包括:
一个C1码的地址标记器,用以依照C1码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个C2码的地址标记器,用以依照C2码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个CD P/Q码的地址标记器,用以依照CD P/Q码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个DVD内部/外部码的地址标记器,用以依照DVD内部/外部码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个可调式RS码的编码/解码器,可选择与C1码的地址标记器、C2码的地址标记器、CD P/Q码的地址标记器与DVD内部/外部码的地址标记器之一电连接;
其中,当编码/解码系统进行编码时,可调式RS码的编码/解码器利用RS码的一个生成程序多项式产生包括2T个字符的奇偶码的N个字符的第一代码字,其中,2T与N的值随所选择的这些地址标记器而改变;
其中,生成程序多项式为:
G(x)=∏k=0~(2T-1)(x+αk)
α为有限信息组GF(28)的码子单元,且为下列的原生成多项式的根:
P(x)=x8+x4+x3+X2+X1。
根据本发明的另一个方面,提供一种光盘驱动装置的编码/解码系统,用以对一数据执行光盘或数字声像光盘的编码/解码操作,数据暂存在一个数据缓冲区中,其特征在于,包括:
一个C1码的地址标记器,用以依照C1码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个C2码的地址标记器,用以依照C2码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个CD P/Q码的地址标记器,用以依照CD P/Q码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个DVD内部/外部码的地址标记器,用以依照DVD内部/外部的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个可调式RS码的编码/解码器,可选择与C1码的地址标记器、C2码的地址标记器、CD P/Q码的地址标记器与DVD内部/外部码的地址标记器之一电连接;
其中,当系统进行解码时,可调式RS码的编码/解码器接收包括2T个字符的奇偶码的N个字符的第一代码字,并产生数个出错值Sk,k=0~15,k为正整数、一个错误-擦除定位多项式与一个错误-擦除估计值多项式,并得到一个错误值,以完成错误校正,其中,这些出错值Sk,k>=2T设定为0,而且,2T与N的值随着所选择的地址标记器而改变;
其中,这些出错值由下式产生:
Sk=∑i=0-N-1riaik,k=0~2T-1;
其中ri(i=0~N-1)代表该代码字中的N个字符;
α为有限信息组GF(28)的码子单元,且为下列的原生成程序多项式的根:
P(x)=x8+x4+x3+X2+X1。
根据本发明的又一个方面,提供一种光盘驱动装置的编码/解码系统,用以对数据执行光盘或数字声像光盘的编码/解码,数据暂存在一个数据缓冲区中,其特征在于,包括:
一个C1码的地址标记器,用以依照C1码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个C2码的地址标记器,用以依照C2码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个CD P/Q码的地址标记器,用以依照CD P/Q码的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个DVD内部/外部码的地址标记器,用以依照DVD内部/外部的地址标记器中所记录的存取顺序对数据缓冲区进行存取;
一个可调式RS码的编码/解码器,可选择与C1码的地址标记器、C2码的地址标记器、CD P/Q码的地址标记器与DVD内部/外部码的地址标记器之一电连接;可调式RS码的编码/解码器包括:
一个错误校正码编码器/出错值产生器,当系统进行编码时,该错误校正码编码器/出错值产生器利用RS码的一个生成程序多项式产生一个2T个字符的奇偶码,并输出N个字符的一代码字,2T与N的值随所选择的地址标记器而改变;当系统进行解码时,错误校正编码器/出错值产生器产生数个出错值Sk,k=0~15,k为正整数,这些出错值Sk,k>=2T设定为0;
一个错误-擦除定位/估计值多项式产生器,用以产生一个错误-擦除定位多项式与一个错误-擦除估计值多项式;
一个Forney出错值产生器,连接至错误校正码编码器/出错值产生器,用以产生一个擦除定位多项式与一个Forney修正出错值多项式,Forney出错值产生器用以产生错误-擦除定位/估计值多项式产生器所需的初始值;
一个Chien搜寻单元,用以得到错误-擦除定位多项式的根,以求得错误位置并得到一错误值;
一个第一开关,连接至可调式RS码的编码/解码器的输出端,当进行编码时,第一开关切换至与错误校正码编码器/出错值产生器相连,进行解码时,第一开关切换至Chien搜寻单元;
一个第二开关,连接至错误-擦除定位/估计值多项式产生器,当需擦除时,第二开关切换至与Forney出错值产生器相连,否则切换至与错误校正码编码器/出错值产生器相连;
其中,生成程序多项式为:
G(x)=∏k=0~(2T-1)(x+αk);
出错值是由下式产生:
Sk=∑i=0-N-1riaik,k=0~2T-1;
其中ri(i=0~N-1)代表代码字中的N个字符;而α为有限信息组GF(28)的码子单元,且为下列原生成程序多项式的根:
P(x)=x8+x4+x3+X2+X1。
根据本发明的再一个方面,提供一种可调式RS码的编码/解码器,可选择与一个C1码的地址标记器、一个C2码的地址标记器、一个CD P/Q码的地址标记器与一个DVD内部/外部码的地址标记器之一电连接,其特征在于,包括:
一个错误校正码编码器/出错值产生器,当可调式RS码的编码/解码器进行编码时,错误校正码编码器/出错值产生器利用RS码的一生成程序多项式产生一2T个字符的奇偶码,并输出N个字符的代码字,其中,2T与N的值随所选择的地址标记器而改变;
一个错误-擦除定位/估计值多项式产生器,用以产生错误-擦除定位多项式与错误-擦除估计值多项式;
一个Forney出错值产生器,连接至错误校正码编码器/出错值产生器,用以产生一擦除定位多项式与一Forney修正出错值多项式,Forney出错值产生器用以产生错误-擦除定位/估计值多项式产生器所需的初始值;
一个Chien搜寻单元,用以得到错误-擦除定位多项式的根,以求得错误位置并得到一错误值;
一个第一开关,连接至可调式RS码的编码/解码器的输出端,当进行编码时,第一开关切换至错误校正码编码器/出错值产生器,当进行解码时,第一开关切换至Chien搜寻单元;
一个第二开关,连接至错误-擦除定位/估计值多项式产生器,当有擦除存在时,第二开关切换至Forney出错值产生器,否则切换至错误校正码编码器/出错值产生器;
其中,生成程序多项式为:
G(x)=∏k=0~(2T-1)(x+αk);
该些出错值由下式产生:
Sk=∑i=0-N-1riaik,k=0~2T-1;
其中ri(i=0~N-1)代表代码字中的N个字符;α为有限信息组GF(28)的码子单元,且为下列原生成程序多项式的根:
P(x)=x8+x4+x3+X2+X1
当可调式RS码的编码/解码器进行解码时,错误校正码编码器/出错值产生器产生数个出错值Sk(k=0~15,k为正整数),其中,出错值Sk,k>=2T设定为0。
具体实施方式
请参照图2A、2B,其表示交错内插RS码(Cross InterleaveReed-Solomon Code,CIRC)的编码与解码的示意图。CIRC最常在CD中使用。CIRC包括两种RS码:C1码与C2码。图2A表示进行CIRC的编码操作示意图。首先,将24个字符(Symbol)的信息输入延迟单元202中,对某些特定的字符延迟两个字符的时间后,再将数据输入至C2编码器204以进行C2编码的操作。在C2编码的操作中,产生了4个字符的P奇偶码(Parity Code),并输出包含24个字符(Symbol)的信息数据与4个字符的P奇偶码的28个字符的代码字(Codeword)。
接着将这28个字符的代码字输入至交叉单元206,以进行交叉。交叉操作是使这28个字符的代码字输入至C1编码器208。在C1编码中,产生4个字符的Q奇偶码,并得到32个字符的代码字。最后,这32个字符的代码字经过延迟单元210将部分字符延迟一个字符的时间之后,输出32个字符的代码字。
如图2B所示,其表示进行CIRC的解码操作的示意图。首先,32个字符的代码字输入至延迟单元212,使部分字符延迟一个字符的时间。接着,在C1解码器214中,由32个字符中的4个字符的Q奇偶码,来检测并校正此32个字符的错误。4个字符的Q奇偶码可以校正此28个字符中的2个错误。若错误太多而使Q奇偶码无法将所有的错误校正完毕的话,则C1解码器214输出一个擦除旗标EF1,用于指示28个字符的代码字中仍存在有错误。
接着,将此28个字符的代码字输入至解交叉单元216,解交叉操作是将28个字符分别延迟不同的时间单位,之后,再将解交叉后的28个字符输入至C2解码器218,由28个字符中的4个字符的P奇偶码,检测并校正其他24个字符的错误。4个字符的P奇偶码可以校正28个字符中的最多4个错误。若错误太多而使P奇偶码无法将所有的错误校正完毕的话,则C2解码器218亦输出一个擦除旗标EF2,用以指示该24个字符的代码字仍有错误存在。最后,再将此24个字符的代码字输入延迟单元220,并将部分字符延迟两个字符的时间。之后,输出此24个字符的代码字。其中,擦除旗标EF1经过延迟单元222处理之后,与擦除旗标EF2同时输入逻辑运算单元224,以进行逻辑运算,并输出一个数据错误信号(unreliable dataflag)UDF,用以指示28个字符的代码字中尚有错误存在。
在C1解码器214中,其接收的32个字符的代码字中,包括4个字符的奇偶码。而C1编码208则接收28个字符的代码字,并产生了4个字符的奇偶码。兹将C1码的编码/解码器中所使用代码字的代码字长度(codeword length)定义为32个字符,其中,每个字符为8位元。C1码的编码/解码器所使用的生成程序多项式(generator polynomial)为:
GC1(x)=∏k=0-3(x+αk);
在C2解码器218中,其接收的28个字符的代码字中,包括4个字符的奇偶码。而C2编码器204则接收24个字符的代码字,并产生了4个字符的奇偶码。将C2码的编码/解码器中所使用代码字的代码字长度定义为28个字符,且其使用的生成程序多项式为:
GC2(x)=∏k=0-3(x+αk);
在现有的CD P/Q码的编码/解码器110中的P编码/解码器中所使用的代码字的代码字长度为26个字符。其生成程序多项式为:
GP(x)=∏k=0-1(x+αk);
并且,在现有的CD P/Q码的编码/解码器110中的Q编码/解码器中所使用的代码字长度为45个字符。其生成程序多项式为:
GQ(x)=∏k=0-1(x+αk);
请参照图3,其为DVD的错误校正码(Error Correction Code,ECC)区块数据格式(format)的示意图。DVD的数据通常使用二维乘积码来增加其对错误的容忍度。在图3中,一个ECC区块数据包括有172行乘以192列个码子单元的数据,例如码子单元B0.0~B191.171。这些172行乘以192列的数据在纵向产生16列的外部奇偶码(outer-code parity)PO,如图3中的码子单元B192.0~B207.171。然后,172行乘以192列的数据与16列的外部奇偶码PO则产生了10行的内部奇偶码(inner-code parity)PI,如图3中的码子单元B0.172~B207.181。
其中,由第j行的外部奇偶码PO中的码子单元Bi,j(i=192-207)可得到多项式R1i(x):
R1j(x)=∑i=192~207Bi,j·x207-i
当中,第j行的外部奇偶配PO中的码子单元Bi,j(i=192-207)由下式求得:
R1j(x)=(I1i(x)·x16)·MOD(GPO(x))
I1j(x)=∑i=0~191Bi,j·x191-i
GPO(x)=IIk=0~15(x+αk);
另外,由第i列的内部奇偶码PI中的码子单元Bi,j(j=172-181)可得到多项式R2i(x):
R2i(x)=∑j=172~181Bi,j·x181-j
其中,第i列的内部奇偶码PI中的码子单元Bi,j(,j=172-181)
由下式求得:
R2i(x)=(I2i(x)·x16)·MOD(GPI(x))
I2j(x)=∑j=0~171Bi,j·x171-i
(GPI(x))=∏k=0~9(x+αk)
如果编码/解码系统使用到突切区域码(Burst Cutting Area Code,BCA Code),用以记录DVD制作完成时的相关信息的话,则本发明的编码/解码系统则更包括一个BCA ECC码的编码/解码器。BCAECC码的编码/解码器中所使用的代码字长度为16个字符,且其所使用的生成程序多项式如下:
GBCA(x)=∏k=0-3(x+αk);
其中,α为有限信息组GF(28)的码子单元,且皆为下列的原生成程序多项式(primitive polynomial)的根:
P(x)=x8+x4+x3+x2+x1
综合以上所述,可归纳如下:
(1)C1码的编码/解码器中使用的代码字长度为32个字符,且生成程序多项式为:
GC1(x)=∏k=0-3(x+αk)
(2)C2码的编码/解码器中使用的代码字长度为28个字符,且其生成程序多项式为:
GC2(x)=∏k=0-3(x+αk)
(3)CD P编码/解码器中使用的代码字长度为26个字符,且其生成程序多项式为:
GP(x)=∏k=0-1(x+αk)
(4)CD Q编码/解码器中使用的代码字长度为45个字符,且其生成程序多项式为:
GQ(x)=∏k=0-1(x+αk)
(5)DVD外部编码/解码器中使用的代码字长度为208个字符,且其生成程序多项式为:
GPO(x)=∏k=0-15(x+αk)
(6)DVD外部编码/解码器中使用的代码字长度为182个字符,且其生成程序多项式为:
GPI(x)=∏k=0-9(x+αk)
(7)BCA ECC码的编码/解码器中使用的代码字长度为16个字符,且其生成程序多项式为:
GBCA(x)=∏k=0-3(x+αk)
所以,在CD的C1码的编码/解码器、C2码的编码/解码器及CD P/Q码的编码/解码器与DVD的DVD外部码的编码/解码器、DVD内部码的编码/解码器及BCA ECC码的编码/解码器中,其所使用的代码字长度不同,所使用的生成程序多项式均符合生成程序多项式的一般式如下:
G(x)=∏k=0-(2T-1)(x+αk) (*)
其中,在C1码的编码/解码器、C2码的编码/解码器与BCAECC码的编码/解码器中,T值为2;在CD P/Q码的编码/解码器中,T值为1;在DVD外部码的编码/解码器、DVD内部码的编码/解码器中,T值为分别为8与5。
并且,α为有限信息组GF(28)的码子单元,且为下列的原生成程序多项式(primitive polynomial)的根:
P(x)=x8+x4+x3+x2+x1
因为在CD的C1码的编码/解码器、C2码的编码/解码器与CDP/Q码的编码/解码器、DVD的DVD内部/外部码的编码/解码器与BCA ECC码的编码/解码器中,所使用的α同为有限信息组GF(28)的码子单元。所以,当从CD模式切换至DVD模式或从DVD模式切换至CD模式时,并不需要进行不同的RS码间的信息组转换。
因此,对于不同的RS编码/解码器,可以经由改变代码字的代码字长度与上述的T值,合并成一个RS编码/解码器。而不同的T值,亦代表解码时所计算的出错值(Syndromes)的个数不同。
请参照图4,其表示本发明实施例的一种光盘驱动装置中的编码/解码系统的电路框图。请同时参考图1,在图1中,在CD/DVD的编码/解码系统中,每个编码/解码器所使用的代码字长度与对数据缓冲区102存取数据的顺序是不相同的。每个编码/解码器对数据缓冲区102存取数据的顺序可各记录在一个地址标记器(addressmapper)中。所以,可以将图1中的编码/解码器分别拆成一个标记器与一个可调式RS码的编码/解码器的组合。又因为每个编码/解码器所使用的生成程序多项式均满足(*)式的生成程序多项式的一般式,所以,可以经由改变2T的值,使所有的编码/解码器可共同使用同一个可调式RS码的编码/解码器。
如图1与图4所示,C1码的编码/解码器116可以用C1码的地址标记器402与可调式RS码的编码/解码器404替代;C2码的编码/解码器112可以用C2码的地址标记器406与可调式RS码的编码/解码器404替代;CD P/Q码的编码/解码器110可以用CD P/Q码的地址标记器408与可调式RS码的编码/解码器404替代;BCA ECC码的编码/解码器122可以用BCA ECC码的地址标记器410与可调式RS码的编码/解码器404替代;而DVD内部/外部码的编码/解码器120可以用DVD内部/外部码的地址标记器412与可调式RS码的编码/解码器404替代。
其中,C1码的地址标记器402用以依照C1码的地址标记器402中所记录的存取顺序对数据缓冲区414进行数据存取。C2码的地址标记器406用以依照C2码的地址标记器406中所记录的存取顺序对数据缓冲区414进行数据存取。CD P/Q码的地址标记器408用以依照CD P/Q码的地址标记器408中所记录的存取顺序对数据缓冲区414进行数据存取。BCA ECC码的地址标记器410依照BCAECC码的地址标记器410中所记录的存取顺序对数据缓冲区414进行数据存取。而DVD内部/外部码的地址标记器412则用以依照DVD内部/外部码的地址标记器412中所记录的存取顺序对数据缓冲区414进行数据存取。
此外,可调式RS码的编码/解码器404则可选择与C1码的地址标记器402、C2码的地址标记器406、CDP/Q码的地址标记器408与DVD内部/外部码的地址标记器412之一电连接。当编码/解码系统进行编码时,可调式RS码的编码/解码器404利用RS码的生成程序多项式产生2T个字符的奇偶码,并输出N个字符的代码字,其中,2T与N的值随着所选择的这些地址标记器而改变。当编码/解码系统进行解码时,可调式RS码的编码/解码器404产生数个计算出错值Sk(k=0~15,k为正整数)、一个错误-擦除定位多项式(error-erasure locator polynomial)与一个错误-擦除估计值多项式(error-erasure evaluator polynomial),并得到一个错误值(errorvalue),以完成错误校正。其中,计算出错值Sk,k>=2T,设定为0。
因为图1的交叉/解交叉单元114的过程亦可视为对数据缓冲区102的一种特定存储器的存取顺序,所以交叉/解交叉过程亦可使用一个地址标记器来完成。在图4中,此地址标记器则可合并至C1码的地址标记器402或是C2码的地址标记器406。因此,交叉/解交叉过程可以在C1码的地址标记器402对数据缓冲区414进行数据存取时同时完成。这样,可以降低对数据缓冲区414的数据存取次数,并降低CIRC编码/解码过程中的等待时间。
在图4中,本发明亦使用了与传统作法相同的系统总线101及107、循环冗余核对产生器及校正确认器104、随机函数发生器/解随机函数发生器106、光学储存媒体108与静态随机存储器118,其上相关的工作过程不再详述。
请参考图5,其为图4中可调式RS码的编码/解码器的电路框图。经由开关502可选择连接C1码的地址标记器402、C2码的地址标记器406、CD P/Q码的地址标记器408、BCA ECC码的地址标记器410与DVD内部/外部码的地址标记器412之一的输出端。当要进行编码时,可调式RS码的编码/解码器404将所接收到的数据传送至错误校正编码器/计算出错值产生器504中,产生器504利用生成程序多项式产生奇偶码,并输出包括奇偶码的代码字。
可调式RS码的编码/解码器中还包括开关506与反相器508,用以选择将数据直接输入至产生器504,或是经触发之后,再输入至产生器504。
当进行编码程序时,产生器504所产生的代码字是经由开关506与开关507传回C1码的地址标记器402、C2码的地址标记器406、CD P/Q码的地址标记器408、BCA ECC码的地址标记器410与DVD内部/外部码的地址标记器412之一。当然,开关502与开关507所选择的地址标记器应为同一个地址标记器。而且产生器504中所使用的生成程序多项式或代码字的代码字长度,亦应随着所选择的地址标记器而改变。
也就是说,产生器504所使用的生成程序多项式为下式:
G(x)=∏k=0~(2T-1)(x+αk)
其中,当错误校正码的编码器/计算出错值产生器504接收C1码的地址标记器402、C2码的地址标记器406或BCA ECC码的地址标记器410所传送的数据时,T值为2;当产生器504接收CDP/Q码的地址标记器408所传送的数据时,T值为1;而当产生器504接收DVD内部/外部码的地址标记器412所传送的数据时,T值分别为5(执行内部编码/解码时)与8(执行外部编码/解码时)。
当进行解码程序时,数据处理的流程可以有两种流程。第一种流程,可调式RS码的编码/解码器404将所接收到的数据传送至产生器504后,再经过Forney出错值产生器510、错误-擦除定位/估计值多项式发生器(error-erasure locator/evaluator polynomialgenerator)512与Chien搜寻单元(Chien search)514的处理之后,将所得结果输出。第二种流程是,可调式RS码的编码/解码器404将所接收到的数据传送至产生器504后,再经过错误-擦除定位/估计值多项式产生器512与Chien搜寻单元514的处理之后,将所得结果输出。其中,可调式RS码的编码/解码器404是使用开关516来选择使用两种数据处理流程之一。
可调式RS码的编码/解码器404执行解码的过程包括下列步骤(代码字的长度为N个字符,其中包括2T个奇偶码,N与2T的值随着所选择的地址标记器而改变):
(a)接收一个代码字之后,计算出分别对应至生成程序多项式的2T个根的2T个出错值(Syndromes)S0、S1、Si…S2T-1。这些出错值为:
Sk=∑i=0~N-1rixi|x=α`k=∑i=0~N-1riαik k=0~2T-1
其中,ri(i=0~N-1)代表代码字中的N个字符。
而出错值多项式S(x)则为:
S(x)=∑i=0~2T-1Sixi
(b)根据e个已知的擦除定位,计算出擦除定位多项式
Λ(x):
Λ(x)=∑k=1~e(x+αjk);
并计算出Forney的修正出错值多项式T(x):
T(x)=S(x)Λ(x)mod(x2T) (**)
多项式T(x)是用以得到执行步骤(c)时所需的初始值。
(c)使用Euclidean演算法,以得:到错误-擦除定位多项式σ(x)和错误-擦除估计值多项式ω(x)。
当deg(Λ(x))>deg(T(x))时,表示没有任何错误存在。所以,不需要执行上述演算法。
当要开始执行上述演算法时,首先,引入四个多项式:
μi(x)、λi(x)、Ri(x)及Qi(x),并将其初始多项式设定如下:
μ0(x)=Λ(x) R0=x2T
λ0(x)=0 Q0(x)=T(x)
利用下列递回公式计算多项式μi(x)、λi(x)、Ri(x)及Qi(x)(设i=1,每完成一次递回计算后,i值加1)
Q1(x)=σ1-1Qi-1(x)+
σi-1Ri-1(x)]
μ1(x)=σ1-1μi-1(x)+
σi-1λi-1(x)]
其中,ai-1及bi-1分别为多项式Ri(x)及Qi(x)的最高次项的系数。
其中,1i-1=deg(Ri-1(x))-deg(Q(x)),当1i-1<0时,σi-1=0,否则,σi-1=1。
当deg(λi(x))>deg(Ri(x))时,则设错误-擦除定位多项式σ(x)=λi(x),错误-擦除估计值多项式ω(x)=Ri(x)。
(d)用Chien搜寻技术,求得错误-擦除定位多项式U(x)的根。当错误位置求出后,可接着求出错误值。
(f)最后,将错误值加到字符上,完成错误校正程序。
其中,α为有限信息组GF(28)的码子单元,且皆为下列原生成程序多项式的根:
P(x)=x8+x4+x3+x2+x1
其中,ECC编码器/计算出错值产生器504用以执行步骤(a),输出计算出错值S0、S1…S15,其中,部分计算出错值可设定为0。Forney出错值产生器510用以执行步骤(b)的部分,用以产生一擦除定位多项式与一个Forney的修正出错值多项式。错误-擦除定位/估计值多项式产生器512用以执行步骤(c),并利用(b)所得的初始值,以产生错误-擦除定位多项式与错误-擦除估计值多项式。而Chien搜寻单元514用以执行步骤(d)与步骤(f),以得到错误-擦除定位多项式的根,得到一错误值,并进行校正。
当计算出错值时,由(*)式可得到所要计算的出错值的个数为2T,2T的最大值为16。亦即当进行DVD外部解码时,最多将会产生16个出错值。所以,ECC编码器/出错值产生器504设定成同时可产生16个出错值S0、S1…S15。当进行其他解码操作时,若所需使用的出错值小于16,可以将Sk(k=0~15)中,k值大于2T的出错值设定为0。例如,在C1解码中,只需计算出错值S0至S3,所以可以将S4到S15均设定为0。
当图2B中有擦除旗标产生时,表示有擦除存在。擦除与错误的差别在于,所以校正的错误位置与值都是未知的;而所要校正的擦除值的位置是已知的,只有值是未知的。
所以,当擦除存在时,则必须使用Forney出错值产生器510来得到擦除定位多项式,以产生初始值。该初始值并经由开关516传送给错误-擦除定位/估计值多项式产生器512。而当擦除不存在时,则不须使用到Forney出错值产生器510。错误校正码编码器/出错值产生器504在计算出错值之后,直接经由开关516传送给错误-擦除定位/估计值多项式产生器512。开关516使没有擦除情况时,免去Forney出错值产生器510所需的计算时间,因而降低了等待时间。
当然,用以计算错误-擦除定位多项式、错误-擦除估计值多项式的演算法,除了本发明的实施例中所述的Euclidean演算法之外,亦可使用其他演算法,例如Berlekamp演算法(其为现有技术)。而且,如果要提高编码/解码速度时,更可使用两个以上的可调式RS码的编码/解码器。
总而言之,当2T值改变时:(1)须将出错值Sk(k=0~15)中,k值大于等于2T的出错值Sk设定为0。(2)计算Forney的修正出错值多项式T(x)=S(x)Γ(x)mod(x2T)时,其计算结果将随2T值改变。(3)当运用Euclidean演算法以求得错误-擦除定位多项式与错误-擦除估计值多项式时,其计算过程中所需的初始值将随2T值改变。而当运用Berlekamp演算法求得错误-擦除定位多项式与错误-擦除估计值多项式时,其计算过程中,除了所需的初始值将随2T值改变外,计算过程中的递回运算次数亦随2T改变。
当代码字长度改变时,计算出错值Sk=∑I=0~N-1rixi时的N值改变。且Chien搜寻技术亦随着代码字的长度而有相应调整。
与现有技术相比,本发明具有如下效果:
本发明上述实施例所公开的光盘驱动装置的编码/解码系统,仅使用一套共享的RS编码/解码器,所以可降低成本,提高硬件效率。而且,本发明中交叉/解交叉的操作结合在C1码的编码/解码或C2码的编码/解码的操作中,这样可降低等待时间。
上述内容是利用实施例说明本发明的技术特征,并非用于限制本发明的保护范围,即使有人在本发明构思的基础上稍作变动,仍应属于本发明的保护范围内。