光盘驱动装置的编码/解码系统的制作方法

文档序号:6780531阅读:260来源:国知局
专利名称:光盘驱动装置的编码/解码系统的制作方法
技术领域
本发明涉及电子计算机技术,特别是一种光盘驱动装置的编码/解码系统,其适用于数字音频(CD)与视频光盘(Digital VideoDisk,DVD)双系统的编码/解码电路。
CD与DVD双系统的光盘驱动装置同时具有CD编码/解码功能或DVD编码/解码功能。若CD与DVD双系统光盘驱动装置中的编码/解码系统的硬件具有更高效率时,则其所占用的空间将会随之减小。
错误校正码(Error Correction Codes,ECC)在数字存储系统中是很必要的。目前,最常使用的错误校正码是Reed-Solomon(RS)码。RS码是一种(N,K)区块码。亦即是,当输入K个字符的信息时,此K个字符的信息资料会被编成N个字符的代码字。其中,N个字符的代码字中包括2T=N-K个字符的奇偶码(ParityCode),且这些字符均为有限信息组(finite field)GF(2m)中的码子单元(element),其中每个单元为m位元。
K个字符中的每一个字符分别代表多项式I(x)的系数。2T个字符的奇偶码分别代表多项式R(x)的系数。N个字符的代码字则分别代表多项式C(x)的系数。多项式R(x)由下式求得R(x)=(I(x)·Xm)·MOD(G(x))其中,G(x)为生成程序多项式(generator polynomial),其为G(x)=∏k=0-(2T-1)(x+ak)这样,可得到多项式C(x)为C(x)=(I(x)·Xm)+R(x)完成编码之后,解码过程包括下列几个步骤首先,计算出错值(Syndromes)Si。接着,计算出错误定位多项式(error locatorpolynomial)及错误值多项式(error value polynomial)。然后,计算出错误值多项式的根,并求出错误值以对有错误的字符进行纠正。


图1所示,其表示现有的CD/DVD驱动装置中的编码/解码系统。当执行写入操作时,数据从主机端传送出来,并经由系统总线101储存至数据缓冲区102。一循环冗余核对(Cyclic RedundancyCheck,CRC)产生器及校正确认器104读取数据缓冲区102的数据之后,产生一个CRC字符,将数据连同此CRC字符再次储存至数据缓冲区102中。随机函数发生器(randomizer)/解随机函数发生器(derandomizer)106读取连同CRC字符的数据,将其随机处理,再将处理后的数据储存至数据缓冲区102中。
当所使用的光学储存媒体(optical storage medium)108为CD时,则将储存在数据缓冲区102的数据再经过CD P/Q码的编码/解码器110、C2码的编码/解码器112、交叉/解交叉单元(interleave/deinterleave)114与C1码的编码/解码器116的处理之后,再将数据写入CD中。而且,处理过程中更经由系统总线117使用一个静态随机存储器(Static Random Access Memory)118来暂存数据。
当所使用的光学储存媒体108为DVD时,则将储存在数据缓冲区102的数据经过DVD内部/外部(inner/outer)码编码/解码器120的处理之后,再将数据写入DVD中。若DVD制作完成时,用以记录数据的相关信息发生突切区(Burst Cutting Area,BCA)的话,则经过BCA ECC码的编码/解码器122处理之后,一并写入DVD中。
其中,CD P/Q码的编码/解码器110、C2码的编码/解码器112、交叉/解交叉单元114、C1码的编码/解码器116、DVD内部/外部码的编码/解码器120、BCA ECC码的编码/解码器122中均各使用一个生成程序多项式,而且,其所使用的代码字长度亦不尽相同。
读取CD/DVD的过程即将写入CD/DVD的操作反向执行。
在图1的现有CD/DVD驱动装置的错误校正系统中,存在下列缺点(1)当此编码/解码系统为CD模式时,DVD内部/外部的编码/解码器120与BCA ECC编码器/解码呈闲置状态。反过来说,当此错误校正系统为DVD模式时,则CD P/Q码的编码/解码器110、C2码的编码/解码器112、交叉/解交叉单元114与C1码的编码/解码器116则呈闲置状态。不管是CD模式或是DVD模式,均有部分电路呈闲置状态,并未使系统有效地使用。
(2)当此编码/解码器系统为CD模式时,交叉/解交叉单元114在进行交叉/解交叉的操作时,需要一段额外的数据缓冲区102的存取时间。在需要连续的音频/视频(audio/video)的多媒体应用中,这将使等待时间(latency)加长。
本发明的目的在于提供一种成本低等待时间短的光盘驱动装置的编码/解码电路,仅使用一套共享的可调式RS码的编码/解码器,可提高硬件效能,而且,本发明中交叉/解交叉操作结合在C1编码/解码的操作或C2码的编码/解码操作中,可缩短等待时间。
为达到上述目的,本发明采取如下技术措施本发明的一种光盘驱动装置的编码/解码系统,用以对一数据执行光盘或数字声像光盘的编码/解码操作,数据暂存在一个数据缓冲区中,其特征在于,包括一个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+ak)a为有限信息组GF(28)的码子单元,且为下列的原生成多项式的根P(x)=x8+x4+x3+X2+X1。
结合附图及实施例对本发明的结构特征详细说明如下附图简单说明图1现有CD/DVD储存装置中编码/解码系统的电路框图;图2A、2B内插RS码的编码与解码操作状态的示意图;图3DVD的错误校正码区块数据的格式示意图;图4本发明实施例的一种光盘驱动装置的编码/解码系统的电路框图;图5图4所示实施例中可调式RS码的编码/解码器的电路框图。
请参照图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+ak);在C2解码器218中,其接收的28个字符的代码字中,包括4个字符的奇偶码。而C2编码器204则接收24个字符的代码字,并产生了4个字符的奇偶码。将C2码的编码/解码器中所使用代码字的代码字长度定义为28个字符,且其使用的生成程序多项式为GC2(x)=∏k=0-3(x+ak);在现有的CD P/Q码的编码/解码器110中的P编码/解码器中所使用的代码字的代码字长度为26个字符。其生成程序多项式为GP(x)=∏k=0-1(x+ak);并且,在现有的CD P/Q码的编码/解码器110中的Q编码/解码器中所使用的代码字长度为45个字符。其生成程序多项式为GQ(x)=∏k=0-1(x+ak);请参照图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中的码子单元Bij(i=192-207)可得到多项式R1j(x)R1j(x)=∑i=192~207Bij·x207-i当中,第j行的外部奇偶配PO中的码子单元Bij(i=192-207)由下式求得R1j(x)=(I1j(x)·x16)·MOD(GPO(x))I1j(x)=∑i=0~191Bij·x191-iGPO(x)=∏k=0~15(x+ak);另外,由第i列的内部奇偶码PI中的码子单元Bij(j=172-181)可得到多项式R2i(x)R2i(x)=∑j=172~181Bij·x181-j其中,第i列的内部奇偶码PI中的码子单元Bij(j=172-181)由下式求得R2i(x)=(I2i(x)·x16)·MOD(GPI(x))I2j(x)=∑j=0~171Bij·x171-i(GPI(x))=∏k=0~9(x+ak)如果编码/解码系统使用到突切区域码(Burst Cutting Area Code,BCA Code),用以记录DVD制作完成时的相关信息的话,则本发明的编码/解码系统则更包括一个BCA ECC码的编码/解码器。BCAECC码的编码/解码器中所使用的代码字长度为16个字符,且其所使用的生成程序多项式如下GBCA(x)=∏k=0-3(x+ak)其中,a为有限信息组GF(28)的码子单元,且皆为下列的原生成程序多项式(primitive polynomial)的根P(x)=x8+x4+x3+x2+x1综合以上所述,可归纳如下(1)C1码的编码/解码器中使用的代码字长度为32个字符,且生成程序多项式为
GC1(x)=Πk=0-3(x+ak)(2)C2码的编码/解码器中使用的代码字长度为28个字符,且其生成程序多项式为GC2(x)=∏k=0-3(x+ak)(3)CD P编码/解码器中使用的代码字长度为26个字符,且其生成程序多项式为GP(x)=∏k=0-1(x+ak)(4)CD Q编码/解码器中使用的代码字长度为45个字符,且其生成程序多项式为GQ(x)=∏k=0-1(x+ak)(5)DVD外部编码/解码器中使用的代码字长度为208个字符,且其生成程序多项式为GPO(x)=∏k=0-15(x+ak)(6)DVD外部编码/解码器中使用的代码字长度为182个字符,且其生成程序多项式为GPI(x)=∏k=0-9(x+ak)(7)BCA ECC码的编码/解码器中使用的代码字长度为16个字符,且其生成程序多项式为GBCA(x)=∏k=0-3(x+ak)所以,在CD的C1码的编码/解码器、C2码的编码/解码器及CD P/Q码的编码/解码器与DVD的DVD外部码的编码/解码器、DVD内部码的编码/解码器及BCA ECC码的编码/解码器中,其所使用的代码字长度不同,所使用的生成程序多项式均符合生成程序多项式的一般式如下G(x)=∏k=0-(2T-1)(x+ak)(*)其中,在C1码的编码/解码器、C2码的编码/解码器与BCAECC码的编码/解码器中,T值为2;在CD P/Q码的编码/解码器中,T值为1;在DVD外部码的编码/解码器、DVD内部码的编码/解码器中,T值为分别为8与5。
并且,a为有限信息组GF(28)的码子单元,且为下列的原生成程序多项式(primitive polynomial)的根P(x)=x8+x4+x3+x2+x1因为在CD的C1码的编码/解码器、C2码的编码/解码器与CDP/Q码的编码/解码器、DVD的DVD内部/外部码的编码/解码器与BCA ECC码的编码/解码器中,所使用的a同为有限信息组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+ak)
其中,当错误校正码的编码器/计算出错值产生器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=a`k=∑i=0~N-1riaikk=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+ajk);并计算出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)=0Q0(x)=T(x)利用下列递回公式计算多项式μi(x)、λi(x)、Ri(x)及Qi(x)(设i=1,每完成一次递回计算后,i值加1)Ri(x)=[σi-1bi-1Ri-1(x)+σi-1ai-1Qi-1(x)]-X|li-1|[σ-i-1bi-1Ri-1(x)+σi-1ai-1Qi-1(x)]]]>λi(x)=[σi-1bi-1λi-1(x)+σi-1ai-1μi-1(x)]-X|li-1|[σ-i-1bi-1λi-1(x)+σi-1ai-1μi-1(x)]]]>Q1(x)=σi-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码的编码/解码的操作中,这样可降低等待时间。
上述内容是利用实施例说明本发明的技术特征,并非用于限制本发明的保护范围,即使有人在本发明构思的基础上稍作变动,仍应属于本发明的保护范围内。
权利要求
1.一种光盘驱动装置的编码/解码系统,用以对一数据执行光盘或数字声像光盘的编码/解码操作,数据暂存在一个数据缓冲区中,其特征在于,包括一个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+ak)a为有限信息组GF(28)的码子单元,且为下列的原生成多项式的根P(x)=x8+x4+x3+X2+X1。
2.根据权利要求1所述的编码/解码系统,其特征在于,在进行解码时,所述可调式RS码的编码/解码器接收包括2T个字符的奇偶码的N个字符的第二代码字,并产生数个出错值Sk,k=0~15,k为正整数、一个错误—擦除定位多项式与一个错误—擦除估计值多项式,并得到一个错误值,以完成错误校正,其中,这些出错值Sk,k≥2T设定为0;这些出错值由下式产生S4=∑i=0-N-1riaik,k=0~2T-1;其中ri(i=0~N-1)代表该代码字中的N个字符。
3.根据权利要求1所述的编码/解码系统,其特征在于,所述可调式RS码的编码/解码器包括一个错误校正码编码器/出错值产生器,当系统进行编码时,错误校正码编码器/出错值产生器利用生成程序多项式产生奇偶码,并输出该代码字;当系统进行解码时,错误校正码编码器/出错值产生器输出这些出错值Sk,k=0~15,k为正整数;一个错误—擦除定位/估计值多项式产生器,用以产生错误—擦除定位多项式与错误—擦除估计值多项式;一个Forney出错值产生器,连接至错误校正码编码器/出错值产生器,用以产生一个擦除定位多项式与一个Forney的修正出错值多项式,Forney出错值产生器用以产生错误一擦除定位/估计值多项式产生器所需的初始值;一个Chien搜寻单元,用以得到错误—擦除定位多项式的根,以求得错误位置并得到一错误值;一个第一开关,用以选择错误校正码编码器/出错值产生器的输出或Chien搜寻单元的输出作为所述可调式RS码的编码/解码器的输出;一个第二开关,用以选择错误校正码编码器/出错值产生器的输出或Forney出错值产生器的输出,并输入至错误—擦除定位/估计值多项式产生器。
4.根据权利要求3所述的编码/解码系统,其特征在于,所述可调式RS码的编码/解码器还包括一个反相器,其与可调式RS码的编码/解码器的一输入端连接;一个第三开关,用以选择地将可调式RS码的编码/解码器的输入端连接至错误校正码/出错值产生器,或将反相器的输出端连接至错误校正码编码器/出错值产生器。
5.根据权利要求3所述的编码/解码系统,其特征在于,所述C1码的地址标记器或C2码的地址标记器为一种对所述数据缓冲区进行存取时,可同时完成交叉/解交叉操作的地址标记器。
6.根据权利要求3所述的编码/解码系统,其特征在于,还包括一个突切区错误校正码的地址标记器,用以依照突切区错误校正码的地址标记器中所记录的存取顺序对所述数据缓冲区进行存取。
7.根据权利要求6所述的编码/解码系统,其特征在于,所述可调式RS码的编码/解码器接收所述C1码的地址标记器、C2码的地址标记器或突切区错误校正码的地址标记器传送的数据时,所述T值为2;可调式RS码的编码/解码器接收CD P/Q码的地址标记器传送的数据时,T值为1;可调式RS码的编码/解码器接收DVD内部/外部码的地址标记器传送的数据时,T值为分别为5与8。
8.一种光盘驱动装置的编码/解码系统,用以对一数据执行光盘或数字声像光盘的编码/解码操作,数据暂存在一个数据缓冲区中,其特征在于,包括一个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个字符;a为有限信息组GF(28)的码子单元,且为下列的原生成程序多项式的根P(x)=x8+x4+x3+X2+X1。
9.根据权利要求8所述的编码/解码系统,其特征在于,系统进行编码时,所述可调式RS码的编码/解码器利用RS码的一生成程序多项式产生包括2T个字符的奇偶码的N个字符的第二代码字;其中,该生成程序多项式为G(x)=∏k=0~(2T-1)(x+ak)。
10.一种光盘驱动装置的编码/解码系统,用以对数据执行光盘或数字声像光盘的编码/解码,数据暂存在一个数据缓冲区中,其特征在于,包括一个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+ak);出错值是由下式产生Sk=∑i=0-N-1riaik,k=0~2T-1;其中ri(i=0~N-1)代表代码字中的N个字符;而a为有限信息组GF(28)的码子单元,且为下列原生成程序多项式的根P(x)=x8+x4+x3+X2+X1
11.根据权利要求10所述的编码/解码系统,其特征在于,所述可调式RS码的编码/解码器还包括一个反相器,与可调式RS码的编码/解码器的一输入端相连,并将所接收的数据反相后输出;一个第三开关,用以选择地将可调式RS码的编码/解码器的该输入端连接至所述错误校正码/出错值产生器,或将反相器的输出端连接至错误校正码编码器/出错值产生器。
12.根据权利要求11所述的编码/解码系统,其特征在于,所述C1码的地址标记器或C2码的地址标记器为在所述数据缓冲区进行存取时,可同时完成交叉/解交叉操作的地址标记器。
13.根据权利要求11所述的编码/解码系统,其特征在于,还包括一个突切区错误校正码的地址标记器,用以依照突切区错误校正码的地址标记器中所记录的存取顺序对所述数据缓冲区进行存取。
14.根据权利要求11所述的编码/解码系统,其特征在于,当所述可调式RS码的编码/解码器接收所述C1码的地址标记器、C2码的地址标记器或突切区错误校正码的地址标记器传送的数据时,T值为2;可调式RS码的编码/解码器接收CD P/Q码的地址标记器传送的数据时,T值为1;可调式RS码的编码/解码器接收DVD内部/外部码的地址标记器传送的数据时,T值为分别为5与8。
15.一种可调式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+ak);该些出错值由下式产生Sk=∑i=0-N-1riaik,k=0~2T-1;其中ri(i=0~N-1)代表代码字中的N个字符;a为有限信息组GF(28)的码子单元,且为下列原生成程序多项式的根P(x)=x8+x4+x3+X2+X1当可调式RS码的编码/解码器进行解码时,错误校正码编码器/出错值产生器产生数个出错值Sk(k=0~15,k为正整数),其中,出错值Sk,k≥2T设定为0。
16.根据权利要求15所述的可调式RS码的编码/解码器,其特征在于,还包括一个反相器,与可调式RS码的编码/解码器的一输入端连接,并将所接收的数据反相后输出;一个第三开关,用以选择地将可调式RS码的编码/解码器的该输入端连接至所述错误校正码/出错值产生器,或将反相器的输出端连接至错误校正码编码器/出错值产生器。
17.根据权利要求15所述的可调式RS码的编码/解码器,其特征在于,还可选择与一个突切区错误校正码的地址标记器电连接。
18.根据权利要求15所述的可调式RS码的编码/解码器,其特征在于,可调式RS码的编码/解码器接收所述C1码的地址标记器、C2码的地址标记器或突切区错误校正码的地址标记器传送的数据时,T值为2;当可调式RS码的编码/解码器接收CD P/Q码的地址标记器传送的数据时,T值为1;当可调式RS码的编码/解码器接收DVD内部/外部码的地址标记器传送的数据时,T值为分别为5与8。
19.一种光盘驱动装置的编码/解码系统,用以对一数据执行光盘或数字声像光盘的编码/解码,该数据暂存在一个数据缓冲区中,其特征在于,包括一个CD码的地址标记器,用以依照CD码的地址标记器中所记录的存取顺序对数据缓冲区进行数据存取;一个DVD内部/外部码的地址标记器,用以依照DVD内部/外部码的地址标记器中记录的存取顺序对数据缓冲区进行数据存取;一个可调式RS码的编码/解码器,可选择地与CD码的地址标记器与DVD内部/外部码的地址标记器之一电连接;其中,系统进行编码时,可调式RS码的编码/解码器利用RS码的一生成程序多项式产生包括2T个字符的奇偶码的N个字符的第一代码字,其中,2T与N的值随着所选择的地址标记器而改变;其中,生成程序多项式为G(X)=∏k=0~(2T-1)(x+ak);a为有限信息组GF(28)的码子单元,且为下列的原多项式的根P(x)=x8+x4+x3+x2+x1。
20.根据权利要求19所述的编码/解码系统,其特征在于,所述CD码的地址标记器,包括一个C1码的地址标记器,用以依照C1码的地址标记器中所记录的存取顺序对所述数据缓冲区进行数据存取;一个C2码的地址标记器,用以依照C2码的地址标记器中所记录的存取顺序对数据缓冲区进行数据存取;一个CD P/Q码的地址标记器,用以依照CD P/Q码的地址标记器中所记录的存取顺序对数据缓冲区进行数据存取。
全文摘要
一种光盘驱动装置的编码/解码系统,包括:C1码、C2码、CDP/Q码、DVD内部/外部码的地址标记器与可调式RS码的编码/解码器,编码/解码器可选择与地址标记器之一电连接。进行编码时,编码/解码器利用RS码的生成程序多项式产生含2T个字符的奇偶码,并输出N个字符的代码字,2T与N的值随所选的地址标记器改变。解码时,编码/解码器产生出错值S
文档编号G11B20/10GK1331470SQ0010970
公开日2002年1月16日 申请日期2000年6月29日 优先权日2000年6月29日
发明者谢嘉鸿 申请人:扬智科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1