專利名稱:可抑制電路規(guī)模能進行高速糾錯的糾錯裝置和解碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸系統(tǒng)、特別是用于進行復(fù)合碼等的多維代碼糾錯和檢錯系統(tǒng)的糾錯方法和檢錯裝置、解碼方法和解碼裝置。
隨著作為數(shù)字信號進行具有大信息量的圖像信息等的記錄再現(xiàn)或傳輸,為提高記錄的信息或傳輸?shù)男畔⒌目煽啃远M行糾錯和檢錯變得更重要。特別是,必須進行實時記錄或再現(xiàn)時,為對這樣大量的信息進行糾錯和檢錯,必須進行高速處理。
已有的數(shù)據(jù)傳輸系統(tǒng),如可記錄再現(xiàn)的磁光盤裝置,把由復(fù)合碼構(gòu)成的糾錯碼附加到接收到的數(shù)據(jù)上,在存儲介質(zhì)上進行數(shù)據(jù)的存儲。
之后,在必要時把存儲的數(shù)據(jù)調(diào)出到糾錯裝置,進行糾錯后,用檢錯碼(下面稱EDC)進行檢錯,確認(rèn)沒有差錯后輸出到外部。
同樣,在再現(xiàn)專用光盤裝置中,也是在必要時把存儲的數(shù)據(jù)調(diào)出到糾錯裝置,進行糾錯后,用檢錯碼(下面稱EDC)進行檢錯,確認(rèn)沒有差錯后輸出到外部。已有的糾錯方法中,例如DVD(數(shù)字多功能盤)中,從盤讀出的數(shù)據(jù)被暫時存儲在例如同步動態(tài)隨機存取存儲器(SDRAM)等外部半導(dǎo)體存儲元件的緩沖存儲器中。之后,由糾錯裝置調(diào)出數(shù)據(jù)進行糾錯。
例如,在DVD中,把數(shù)據(jù)排列成長方形,使用附加了縱向(PO方向)和橫向(PI方向)兩個方向的糾錯碼的復(fù)合碼。
圖32是已有的DVD的糾錯復(fù)合碼的格式。
在排列成二維的172字節(jié)(Byte)×192行(row)的信息數(shù)據(jù)上,把附加了橫向10字節(jié)(Byte)的奇偶校驗碼PI(內(nèi)糾錯碼)和縱向的16字節(jié)(Byte)奇偶校驗碼PO(外糾錯碼)的數(shù)據(jù)作為1個數(shù)據(jù)塊。在圖32中,還把橫向叫作PI方向,把縱向叫作PO方向。
圖33表示圖32所示的DVD的糾錯復(fù)合碼(內(nèi)糾錯碼和外糾錯碼)與檢錯碼(EDC)之間的關(guān)系。
上述的一個數(shù)據(jù)塊被分為16個區(qū)段,一個區(qū)段由172字節(jié)×12行的數(shù)據(jù)排列構(gòu)成,這些數(shù)據(jù)排列在其末端含有4字節(jié)的EDC。
圖34表示含有檢錯碼的1個區(qū)段的數(shù)據(jù)排列,這個排列從開頭位開始以降序分布。
一個區(qū)段的數(shù)據(jù)排列成從位數(shù)據(jù)b16511到位數(shù)據(jù)b0的數(shù)據(jù),位數(shù)據(jù)b31~b0對應(yīng)于EDC。
圖35是說明對于具有上述結(jié)構(gòu)的DVD數(shù)據(jù)進行糾錯和檢錯的第一已有示例的結(jié)構(gòu)的簡略框圖。
參照圖35,進行解碼的基本模式例如按下面的步驟進行。
1)經(jīng)數(shù)據(jù)總線3021輸入的信號被存儲在數(shù)據(jù)緩沖存儲器(SDRAM同步動態(tài)隨機存取存儲器)3024中,PI方向糾錯電路3020從數(shù)據(jù)緩沖存儲器3024讀入PI方向的數(shù)據(jù),計算差錯特征信息符。
2)PI方向糾錯電路3020從上述PI方向的差錯特征信息符的值檢出差錯量和出錯位置,對存儲在數(shù)據(jù)緩沖存儲器3024中的數(shù)據(jù)進行糾錯。
3)接著,PO方向糾錯電路3022從數(shù)據(jù)緩沖存儲器3024讀入PO方向的數(shù)據(jù),計算差錯特征信息符。
4)PO方向糾錯電路3022從上述PO方向的差錯特征信息符的值算出差錯量和出錯位置,對存儲在數(shù)據(jù)緩沖存儲器3024中的數(shù)據(jù)進行糾錯。
通過反復(fù)上述處理來糾錯。
5)這些糾錯結(jié)束后,檢錯電路3023從數(shù)據(jù)緩沖存儲器3024讀取數(shù)據(jù),使用檢錯碼確認(rèn)沒有差錯。
在進行以上的處理時出現(xiàn)的問題是在糾錯后不再進行對數(shù)據(jù)緩沖存儲器(SDRAM)3024的存取,為進行檢錯,就必須把更多時間花在糾錯和檢錯處理上。
例如,在圖35所示的結(jié)構(gòu)中,由于在使用從數(shù)據(jù)緩沖存儲器3024讀出的數(shù)據(jù)進行糾錯后,才從數(shù)據(jù)緩沖存儲器3024把數(shù)據(jù)讀入檢錯電路3023,這就使需要較長時間的對來自數(shù)據(jù)緩沖存儲器3024的數(shù)據(jù)的讀寫次數(shù)變多,僅在這項處理中就需要花較長的時間。
為解決這個問題,有例如日本公開專利特開平11-55129號公報中公開的一種方法。
圖36是說明日本公開專利特開平11-55129號公報中公開的進行糾錯及檢錯的第二已有示例的結(jié)構(gòu)的簡略框圖。
在圖36所示的糾錯及檢錯裝置的結(jié)構(gòu)中,采取糾錯電路的數(shù)據(jù)總線和檢錯電路的數(shù)據(jù)總線為并用的結(jié)構(gòu)。
圖37、圖38、圖39和圖40分別是表示圖36所示的糾錯及檢錯裝置的處理簡圖的第一到第四概念圖。
為說明簡便起見,在圖37、圖38中,把進行檢錯的數(shù)據(jù)省略為10列×4行=40個。
使用圖36所示的糾錯和檢錯裝置的檢錯分兩個階段進行。
在第一階段,例如為PI方向的糾錯處理而從緩沖存儲器3034讀入數(shù)據(jù),根據(jù)圖37所示的數(shù)據(jù)排列順序傳輸?shù)紻ATA差錯特征信息符生成電路3036,計算出DATA差錯特征信息符。
算出的DATA差錯特征信息符被存儲在存儲元件3032中。
另一方面,在第一階段中,除了DATA差錯特征信息符的計算外,還使用由PI方向的糾錯電路3030檢測出的差錯量,根據(jù)圖37所示的數(shù)據(jù)排列順序計算出ERROR差錯特征信息符。
在第二階段,進一步使用由PO方向的糾錯電路3032檢查出的差錯量,根據(jù)圖38所示的數(shù)據(jù)排列順序計算出ERROR差錯特征信息符的后續(xù)部分。
最后,如圖39所示,異或邏輯和運算器3035計算這兩個差錯特征信息符,即DATA差錯特征信息符和ERROR差錯特征信息符的異或邏輯和,計算出最后的檢查差錯特征信息符。判斷電路3031根據(jù)這個檢查差錯特征信息符判斷誤差檢出結(jié)果。
因此,為生成檢查差錯特征信息符,由于不必要再次從數(shù)據(jù)緩沖存儲器3034讀入數(shù)據(jù),所以能高速地并行進行糾錯和檢錯處理。
另外,例如在PO方向的糾錯電路3032中,計算糾錯差錯特征信息符時,例如在第3列(COL3)的碼文中沒有差錯時,使省略本應(yīng)接著進行的差錯量和出錯位置的檢出作業(yè),與該省略處理相對應(yīng),如圖37所示,在計算ERROR差錯特征信息符時,對于沒有差錯的碼文,使用偏移值使運算高速化。
但是,為這種偏移值計算,在ERROR差錯特征信息符生成電路3038中,分別對應(yīng)于沿縱向逐行進行運算的情況、從某列開始向相鄰的列移動處理的情況和從某列開始到跳過1列的列移動處理的情況,必須有具有與3種以上的差錯特征信息符相關(guān)的運算通道的運算處理電路,出現(xiàn)電路規(guī)模增大的問題。接著說明在進行糾錯運算時的差錯特征信息符運算中的其它問題。
如上所述,DVD等的已有的糾錯系統(tǒng)中,把數(shù)據(jù)排列成長方形,使用附加了縱向和橫向兩個方向的糾錯碼的復(fù)合碼。
圖41是表示實現(xiàn)上述的糾錯計算的已有的糾錯裝置4000的結(jié)構(gòu)的框圖。
參照圖41,在糾錯裝置4000中,糾錯電路4022首先對讀入到外部存儲器4021的數(shù)據(jù)進行糾錯。
糾錯電路4022從外部存儲器4021讀入數(shù)據(jù)并進行糾錯后,再次在外部存儲器4021中寫入糾錯后的數(shù)據(jù)。
隨后,全部的差錯被修正后,在解密電路4023中接著進行解密運算。
解密電路4023從外部存儲器4021讀取數(shù)據(jù),進行解密變換后,再次把解密后的數(shù)據(jù)寫入外部存儲器4021中。
即進行解碼的基本處理模式按如下順序進行。
1.從外部存儲器(如SDRAM)4021讀入PI方向的數(shù)據(jù),計算差錯特征信息符。
2.由差錯特征信息符的值算出差錯量和出錯位置,在外部存儲器4021上進行糾錯。
3.接著,從外部存儲器4021讀入PO方向的數(shù)據(jù),計算差錯特征信息符。
4.由差錯特征信息符的值算出差錯量和出錯位置,對在外部存儲器4021上存儲的數(shù)據(jù)進行糾錯。
反復(fù)進行這些處理,來糾錯。
5.這些糾錯結(jié)束后,再次從外部存儲器4021讀取數(shù)據(jù)(D′k以D′k表示數(shù)據(jù)Dk被加密處理后的數(shù)據(jù)),解密電路4023根據(jù)下式進行解密處理。
Dk=D′kExor Sk(k=0~2047)……(A1)
這里,S0作為初始值由預(yù)先準(zhǔn)備的表格給出。另外,使用由下式給出的數(shù)據(jù)Sk對數(shù)據(jù)D′k進行解密處理。
T0={7′d0,S0} …(A2)Tn+1[14∶0]={Tn[13∶1],(Tn[14]Exor Tn[10])} …(A3)(n=0~8×2047)Sk=T8k[7∶0]…(A4)這里,式(A2)中,“7′d0”表示7個并列的數(shù)據(jù)“0”,式(A2)的意思是把這7個“0”和作為初始值給出的S0連接起來,把第14位~第0位的15位數(shù)據(jù)作為T0。
式(A3)的意思是通過并列第n步驟中生成的數(shù)據(jù)Tn[14∶0]中的第13位~第0位的數(shù)據(jù)Tn[13∶0]、數(shù)據(jù)Tn[14∶0]中的第14位的數(shù)據(jù)Tn[14]和第10位的數(shù)據(jù)Tn[10]的異或邏輯和運算結(jié)果,在第(n+1)步驟中生成由第14位~第0位的15位構(gòu)成的數(shù)據(jù)Tn+1[14∶0]。
式(A4)表示,在這樣生成的數(shù)據(jù)Tn[14∶0]中,在8的倍數(shù)的步驟中形成的數(shù)據(jù)T8k[14∶0]的第7位~第0位的數(shù)據(jù)與數(shù)據(jù)Sk相當(dāng)。
但是,圖41所示的電路構(gòu)成中,由于外部存儲器的存取量龐大而時間花費長、高速化糾錯和解密處理困難。
接著說明解決這種問題的已有技術(shù)。
圖42是表示作為已有技術(shù)的在日本公開專利特開平10-126279號公報中公開的糾錯裝置5000的結(jié)構(gòu)框圖。
參照圖42,首先,在差錯特征信息符運算電路5032中對被讀入外部存儲器5031的數(shù)據(jù)進行差錯特征信息符運算,該運算是糾錯計算的一部分。
此時,所讀入的數(shù)據(jù)同時被送到解密電路5033進行解密處理。結(jié)束了解密處理的數(shù)據(jù)被寫入外部存儲器5031。
之后,根據(jù)差錯特征信息符運算得到的差錯特征信息符被送到差錯量計算部5034,計算出差錯量和出錯位置。差錯量計算部5034從外部存儲器5031讀出對應(yīng)于這個出錯位置的數(shù)據(jù),進行糾錯后再次被寫入外部存儲器5031。
用這樣的方法,外部存儲器的存取量被減少了2/3,而并非充分減少。
沒有考慮復(fù)合碼特有的反復(fù)處理,很難有效地進行對實際的DVD等的糾錯/解密處理。
即在復(fù)合碼中,通常要在各個方向(PO方向和PI方向)上進行反復(fù)數(shù)次的糾錯。這里,由于進行糾錯的差錯特征信息符計算使用解密前的數(shù)據(jù)來計算,所以如圖42所示,一旦進行解密處理,為了進行下次糾錯,就必須對存儲在外部存儲器5031中的數(shù)據(jù)進行再加密,結(jié)果,運算量、電路規(guī)模都增大了。下面進一步說明糾錯運算中的歐幾里德計算中的問題。
圖43是說明已有的數(shù)據(jù)傳輸系統(tǒng),例如可記錄再現(xiàn)的磁光盤裝置中的糾錯裝置6000的結(jié)構(gòu)的框圖。
參照圖43,數(shù)據(jù)傳輸系統(tǒng)中,在應(yīng)被記錄的數(shù)據(jù)上附加由復(fù)合碼構(gòu)成的糾錯碼,并在記錄媒體上進行數(shù)據(jù)存儲。之后,存儲在記錄媒體中的數(shù)據(jù)必要時被作為接收數(shù)據(jù)提供給糾錯裝置6000,進行糾錯后輸出到外部。
這樣的結(jié)構(gòu)并不限于上述的可記錄再現(xiàn)的磁光盤裝置,在再現(xiàn)專用光盤裝置中同樣如此。
下面,以DVD為例,說明糾錯處理。在DVD中,采用糾錯能力強的里德·索羅門代碼(RS碼)糾錯。
首先,為從盤向糾錯裝置6000送出而被調(diào)出的接收數(shù)據(jù)暫時存儲在半導(dǎo)體存儲元件,如SRAM(靜態(tài)隨機存取存儲器)等的存儲器6010中。之后,為了進行糾錯處理,從存儲器6010調(diào)出數(shù)據(jù),按順序進行下面的處理。
即為了進行使用里德·索羅門代碼的糾錯,通常有下面的5個步驟。
(1)由差錯特征信息符計算電路6020從接收數(shù)據(jù)計算差錯特征信息符。
(2)歐幾里德計算電路6030從差錯特征信息符求出出錯位置多項式、誤差評價多項式。
(3)秦(Chien)檢索電路6040從出錯位置多項式求出出錯位置。
(4)秦(Chien)檢索電路6040從出錯位置多項式、誤差評價多項式和出錯位置求出差錯量。
(5)糾錯電路6050使用出錯位置和差錯量進行糾錯。
在按照糾錯能力強的里德·索羅門代碼的糾錯中,作為在上述步驟(2)中從差錯特征信息符求出出錯位置多項式、誤差評價多項式的方法之一,已知有應(yīng)用求出2個多項式的最大公約數(shù)的歐幾里德互除法的歐幾里德算法。
下面對歐幾里德算法進行詳細(xì)說明。
上述的接收數(shù)據(jù)的接收多項式r(x)按下式表示。
r(x)=rn-1xn-1+rn-2xn-2+……+r1x+r0…(B1)這里,n是碼長。
接著,由差錯特征信息符計算求出的差錯特征信息符多項式表示為下式。
S(x)=S2t-1x2t-1+S2t-2x2t-2+……+S1x+S0…(B2)Sj=Σiriαj×i]]>(i=0,…,n-1,j=0,…,2t-1)…(B3)這里,t是可糾錯的差錯數(shù),α是GF(B2)上的原始多項式的根。例如,在GF(28)的情況下,原始多項式的根的集合的組元以0,1,α1,α2,…,α6表示。
這里,出錯位置多項式σ(x)定義為下式。σ(x)=Πi∈E(x-α-1i)----(B4)]]>這里,E表示差錯集合,i是集合E的要素。1i表示出錯位置。
求差錯特征信息符多項式和出錯位置多項式σ(x)之間的關(guān)系時得到下式。
σ(x)·S(x)≡ω(x)mod x2t…(B5)這里,在上式(B5)中,誤差評價多項式ω(x)是如下表示的多項式。ω(x)=Σi∈Eei·α-1iΠj≠ij∈E(x-α-1i)---(B6)]]>這里j也是集合E的元素,1j也表示出錯位置。或者,把式(B5)換算成等價的式,表示如下。φ(x)·x2t+σ(x)·S(x)=ω(x)…(B7)這里,式φ(x)表示為下式。φ(x)=Σi∈Eei·α1i·2tΠj≠ij∈E(x-α-1i)---(B8)]]>所謂歐幾里德解碼算法是根據(jù)上述關(guān)系式(B7)求出出錯位置多項式σ(x)和誤差評價多項式ω(x)的方法。
即差錯個數(shù)在t個以下時,出錯位置多項式σ(x)和誤差評價多項式ω(x)能從上式(B7)以求出x2t和S(x)的最大公約多項式的歐幾里德互除法唯一地求出。
下面對從上式(B7)求出出錯位置多項式σ(x)和誤差評價多項式ω(x)的過程簡單進行歸納。
換言之,這樣的過程可以求出滿足式(B7)且彼此互素的t次以下的多項式σ(x)和t-1次以下的多項式ω(x)。
首先,對于多項式的遞歸公式Zi(x)表示如下。
Z-1(x)=x2t, Z0(x)=S(x)…(B9)在該式(B9)的前提基礎(chǔ)上,依次產(chǎn)生滿足下式(B10)的多項式Xi(x),Yi(x),Zi(x),反復(fù)進行這樣的動作,直到Y(jié)i(x)在t次以下,Zi(x)在t-1次以下為止。
Xi(x)Z-1(x)+Yt(x)Z0(x)=Zi(x)…(B10)這樣生成的多項式Y(jié)i(x)、Zi(x)分別除以常數(shù)倍,就能夠證明與出錯位置多項式σ(x)和誤差評價多項式ω(x)一致。但是,下面的說明中,繼續(xù)以具有這樣的一致性的情況來說明。
首先,Xi(x),Yi(x)的初始值如下設(shè)定。
X-1(x)=1,X0(x)=0…(B11)Y-1(x)=0,Y0(x)=1…(B12)這時,關(guān)于i=-1,0,式(B10)確實成立。
但是,由于作為Z-1(x)=x2t是t次以上的多項式,并且只要差錯在t個以下,S(x)的次數(shù)便在t次以上,從而Z0(x)=S(x)也是t次以上的多項式。因此,Z-1(x)和Z0(x)的任何一個都不能存在于誤差評價多項式ω(x)中。因此,下面考慮在滿足式(B10)的情況下降低Zi(x)的次數(shù)。假定對于i(=1),下面的式(B13)和(B14)成立。
X1-2(x)Z-1(x)+Yi-2(x)Z0(x)=Zi-2(x)…(B13)Xi-1(x)Z-1(x)+Yi-1(x)Z0(x)=Zi-1(x)…(B14)其中,假設(shè)Zi-1(x)比Zi-2(x)次數(shù)低。
此時,根據(jù)上式(B13)和式(B14),為了降低了次數(shù),當(dāng)把以Zi- 1(x)除Zi-2(x)得到的商作為Qi(x)時,從式(B13)的兩邊減去式(B14)的兩邊乘以Qi(x)的乘積即可。
這樣,根據(jù)式(B13)和(B14),就使Xi(x),Yi(x),Zi(x)與下面的表示相當(dāng)。Zi(x)=Zi-2(x)-Qi(x)Zi-1(x)…(B15)Xi(x)=Xi-2(x)-Q1(x)Xi-1(x)…(B16)Yi(x)=Yi-2(x)-Qi(x)Yi-1(x)…(B17)如果滿足式(B13)和(B14),對于滿足上式(B15)~(B17)的多項式Xi(x),Yi(x),Zi(x),也滿足式(B10)。
而且,由于Zi(x)相當(dāng)于Zi-2(x)除以Zi-1(x)時的余數(shù),因此次數(shù)比Zi- 1(x)低。式(B15)的這種處理對式(9)而言,正相當(dāng)于求出x2t和S(x)的最大公約數(shù)的歐幾里德互除法的處理。
圖44是說明由這樣的歐幾里德互除法求出出錯位置多項式σ(x)和誤差評價多項式ω(x)的處理的流程圖。
在圖44中,作為例子,表示出(182,172,11)RS碼的情況下的解碼算法。
因此,變成用歐幾里德互除法來求出式x2t=x10和以下式表示的差錯特征信息符多項式S(x)的最大公約數(shù)。S(x)=S9x9+S8x8+S7x7+S6x6+S5x5+S4x4+S3x3+S2x2+S1x1+S0…(B18)參照圖7,開始以歐幾里德互除法進行出錯位置多項式σ(x)和誤差評價多項式ω(x)的計算處理時(步驟S10),首先設(shè)定初始值。
首先,對應(yīng)于x10的系數(shù),把變量R0i(i=0,1,…,10)設(shè)定如下。R010=1,R0i=0(i=0,1,…,9)對應(yīng)于S(x)的系數(shù),變量R1i(i=0,1,…,9)設(shè)定如下。R1i=Si(i=0,1,…,9)另外,分別對應(yīng)于Y-1(x)和Y0(x)的系數(shù),變量B0i和B1i(i=0,1,…,5)設(shè)定如下。B0i=0(i=0,1,…,5)B1i=0(i=1,…,5),B10=1如上初始設(shè)定處理結(jié)束(步驟S12)。
接著,求出把R0i作為系數(shù)的多項式的次數(shù),作為N0,把這個多項式的最高次項的系數(shù)作為Q0。求出把R1i作為系數(shù)的多項式的次數(shù),作為N1,把這個多項式的最高次項的系數(shù)作為Q1(步驟S14)。
N1和0進行比較(步驟S16),N1=0時,處理結(jié)束(步驟S30)。另一方面,N1不為0時,進行下面的處理。
進行DN=N0-N1運算,如果DN<0,標(biāo)識符變量FN為1,DN≥0時,標(biāo)識符變量FN為0(步驟S18)。
接著,進行特征變量FN與0的比較,F(xiàn)N=0時,處理移動到步驟S22,FN=1時,處理移動到步驟S28(步驟S20)。
首先,在步驟S20中,在FN=0時,進行下面的處理。
R1i=Q0*R1(i-DN)(i=0,1,…,9)R0i=Q1*R0i(i=0,1,…,9)R110=0B11=Q0*B1(i-DN)(i=0,1,…,5)B01=Q1*B0i(i=0,1,…,5)其中,*運算表示對伽羅瓦體上的元素的乘法運算,(i-DN)為負(fù)時,在左邊的R1i,B1i代入0(步驟S22)。
對于系數(shù),進行下面的運算。
R0i=R0iexor R1i(i=0,1,…,9)B0i=B0iexor B1i(i=0,1,…,5)這里,運算exor表示異或邏輯和運算(步驟S24)。
接著,進行用變量R0i表示的多項式R0x的次數(shù)是否在t(在這個例子中為5)以下的判斷(步驟S26)。如果多項式R0x的次數(shù)在t以下,處理結(jié)束(步驟S30),如果多項式R0x的次數(shù)不在t以下,處理移動到步驟S28。
因此,在步驟S20中,F(xiàn)N=0不成立時,或者在步驟S26中多項式R0x的次數(shù)不在t以下時,分別代入變量R0i的值和變量R1i的值,并且進行分別替代變量B0i的值和變量B1i的值的處理。這樣替代后,處理返回到步驟S14(步驟S28)。
其它的里德·索羅門代碼或更一般地說BCH碼(Bose ChaudhurHpcquenghem code)中的歐幾里德算法的計算相同。
在這樣的計算中,必須有為進行*運算的計算專用的伽羅瓦體的乘法器。
但是,這時的問題是必須配置多個進行高速處理的乘法器。即,如果這些乘法器的個數(shù)多,就增大電路規(guī)模,處理速度可能會快。
乘法運算的次數(shù)減少也是必要的。乘法運算次數(shù)多時,就有消耗電能增多的缺點。
例如,原來,作為進行上述的歐幾里德法的電路結(jié)構(gòu)設(shè)置有1個乘法器,對處理如圖44所示的算法時的電路規(guī)模和處理量估計如下。
乘法器的個數(shù)1乘法運算處理必要的步驟數(shù)2×2t×2t乘法運算次數(shù)2×2t×2t由于這時步驟的數(shù)目與t的2次方成比例,t變大時,就不能實現(xiàn)高速化。
因此,高速處理這樣的歐幾里德法的計算的電路結(jié)構(gòu)公開在例如日本公開專利特開平1-276825號公報中。
日本公開專利特開平1-276825號公報中,對1個寄存器設(shè)置1個乘法器,可力圖實現(xiàn)歐幾里德法計算的高速化。
例如,可糾錯數(shù)為t時,必要的最小寄存器個數(shù)是(2t+1)個。因此,日本公開專利特開平1-276825號公報公開的電路結(jié)構(gòu)中,也可如下估計電路規(guī)模和處理量。
乘法器的個數(shù)2×(2t+1)乘法運算處理必要的步驟數(shù)2t乘法運算次數(shù)2×2t×2t這時,雖能實現(xiàn)高速化,但乘法器個數(shù)多、電路規(guī)模不能縮小。
高速處理這樣的歐幾里德法的計算的其它電路結(jié)構(gòu)例如公開在日本公開專利特開平10-65552號公報中。
日本公開專利特開平10-65552號公報中,例如設(shè)置4個乘法器,可力圖實現(xiàn)歐幾里德法計算的高速化。
例如,可糾錯數(shù)為t時,在日本公開專利特開平10-65552號公報公開的電路結(jié)構(gòu)中,也可如下估計電路規(guī)模和處理量。
乘法器的個數(shù)4乘法運算處理必要的步驟數(shù)2t×2t乘法運算次數(shù)2×2t×2t
由于這時步驟的數(shù)目也與t的2次方成比例,t變大時,出現(xiàn)不能實現(xiàn)高速化的問題。
另外,在上面說明的已有電路結(jié)構(gòu)中,任何一個的乘法運算次數(shù)都是2×2t×2t,因此難以抑制電量消耗。
本發(fā)明的目的是提供一種通過不增大電路規(guī)模、縮短存儲元件的存取時間、以及與誤差停止處理并行地進行檢錯處理,從而能夠縮短檢錯處理時間的糾錯裝置。
本發(fā)明的另一個目的是提供一種可高速處理復(fù)合碼的糾錯和解密的解碼裝置。
本發(fā)明的又一個目的是提供一種不因乘法器個數(shù)增多而使電路規(guī)模增大且能縮短歐幾里德處理所要時間的糾錯裝置和糾錯方法。
本發(fā)明還有一個目的是提供一種通過抑制歐幾里德處理中的乘法運算次數(shù)而能夠降低電路的消耗電能的糾錯裝置和糾錯方法。
簡要地說,本發(fā)明是一種糾錯裝置,配備有糾錯運算器、第一存儲元件和檢錯器。
糾錯運算器對含有糾錯碼的被糾錯數(shù)據(jù)進行糾錯處理。糾錯碼具有可進行數(shù)據(jù)塊的第一方向和第二方向上的糾錯的復(fù)合碼。糾錯運算器含有第一糾錯器和第二糾錯器。第一糾錯器糾正復(fù)合碼的第一方向。第二糾錯器糾正復(fù)合碼的第二方向。
第一存儲元件可存儲被糾錯數(shù)據(jù)。
為確認(rèn)糾錯運算器的糾錯不是誤糾錯,檢錯器進行按檢錯碼的檢錯。檢錯碼是在數(shù)據(jù)塊的第一方向的數(shù)據(jù)上連續(xù)設(shè)置的代碼。檢錯器含有第一邏輯運算器、第一方向檢錯器和第二方向檢錯器。第一邏輯運算器使用通過第一方向的糾錯檢出的差錯量和存儲在第一存儲元件中的數(shù)據(jù)計算出第一檢錯結(jié)果。第一方向檢錯器根據(jù)第一檢錯結(jié)果進行第一方向的糾錯后的檢錯。第二方向檢錯器使用第二方向的糾錯時檢出的差錯量計算出第二檢錯結(jié)果,通過進行第一和第二檢錯結(jié)果的邏輯運算進行第二方向的糾錯后的檢錯。
按照本發(fā)明的其它方案,一種糾錯方法備有有下面的步驟接受含有可進行數(shù)據(jù)塊的第一方向和第二方向糾錯的復(fù)合碼的被糾錯數(shù)據(jù),對第一方向進行糾錯處理的步驟。接受被糾錯數(shù)據(jù),并進行第二方向的糾錯處理的步驟。依次使用糾錯前的被糾錯數(shù)據(jù)和由第一方向的糾錯檢出的差錯量算出第一檢錯結(jié)果的步驟。根據(jù)第一檢錯結(jié)果進行第一方向的糾錯后的檢錯的步驟。使用第二方向糾錯時檢出的差錯量算出第二檢錯結(jié)果,通過進行第一和第二檢錯結(jié)果的邏輯運算,進行第二方向的糾錯后的檢錯的步驟。
根據(jù)本發(fā)明的其它方案,一種含有糾錯用復(fù)合碼的數(shù)據(jù)的解碼裝置,配置有控制器、第一存儲元件、糾錯器和解密部。
控制器控制解碼裝置的動作。第一存儲元件暫時存儲傳送來的數(shù)據(jù)。糾錯器對讀入第一存儲元件的數(shù)據(jù)進行糾錯處理。解密部對存儲在第一存儲元件中的數(shù)據(jù)進行解密處理??刂破魇辜m錯器對讀入第一存儲元件的數(shù)據(jù)進行糾錯處理,把糾錯處理后的數(shù)據(jù)傳送到解密部,對糾錯處理后的數(shù)據(jù)進行解密處理后,將數(shù)據(jù)寫回到第一存儲元件。
根據(jù)本發(fā)明的其它方案,一種解碼裝置,配置有控制器、第一存儲元件、第一糾錯器、解密部和第二糾錯器。
控制器控制解碼裝置的動作。第一存儲元件暫時存儲傳送來的含有糾錯用復(fù)合碼的數(shù)據(jù)。第一糾錯器對從第一存儲元件讀入的數(shù)據(jù)進行第一方向的糾錯處理。解密部對數(shù)據(jù)進行解密處理。第二糾錯器接受第一方向的糾錯處理結(jié)果,在第二方向上進行糾錯處理。
控制器ⅰ)在對從第一存儲元件讀入的數(shù)據(jù)進行第一方向的糾錯處理后使解密部對第一方向糾錯后的數(shù)據(jù)進行解密處理、ⅱ)把解密處理后的數(shù)據(jù)寫回到第一存儲元件、ⅲ)與解密處理并行地使第二糾錯器對存儲在第一存儲元件中的數(shù)據(jù)進行糾錯后將其寫回到第一存儲元件。
根據(jù)本發(fā)明的其它方案,一種歐幾里德計算器,配備有第一存儲部、第二存儲部、控制器、乘法器、選擇器和邏輯運算器。
第一存儲部在基于歐幾里德算法逐步導(dǎo)出表示接收數(shù)據(jù)的差錯量的誤差評價多項式的系數(shù)的運算中存儲對應(yīng)于誤差評價多項式的系數(shù)的第一數(shù)據(jù),而且可進行第一數(shù)據(jù)的移位動作。第二存儲部在基于歐幾里德算法逐步導(dǎo)出表示接收數(shù)據(jù)的出錯位置的出錯位置多項式的系數(shù)的運算中存儲對應(yīng)于出錯位置多項式的系數(shù)的第二數(shù)據(jù),而且可進行第二數(shù)據(jù)的移位動作。控制器根據(jù)對應(yīng)于接收數(shù)據(jù)的差錯特征信息符多項式進行第一和第二存儲部中存儲的數(shù)據(jù)的初始設(shè)定,控制歐幾里德算法處理。乘法器與第一和第二存儲部一體設(shè)置,就歐幾里德算法進行伽羅瓦體上的乘法運算。選擇器由控制器控制,控制乘法器和第一與第二存儲部之間的數(shù)據(jù)傳送。邏輯運算器對于第一與第二存儲部中存儲的數(shù)據(jù)就歐幾里德算法進行邏輯運算。
根據(jù)本發(fā)明的其它方案,一種歐幾里德計算器,配備有第一評價多項式存儲部、第二評價多項式存儲部、控制器、存儲部、乘法器、邏輯運算器和交換器。
第一評價多項式存儲部保持運算過程中的第一系數(shù)數(shù)據(jù),以便逐次執(zhí)行根據(jù)歐幾里德算法導(dǎo)出表示接收數(shù)據(jù)的差錯量的誤差評價多項式的系數(shù)的運算。第二評價多項式存儲部保持導(dǎo)出誤差評價多項式的系數(shù)的運算過程中的第二系數(shù)數(shù)據(jù),并可進行第二系數(shù)數(shù)據(jù)的移位動作。控制器根據(jù)對應(yīng)于接收數(shù)據(jù)的差錯特征信息符多項式進行第一與第二系數(shù)數(shù)據(jù)的初始設(shè)定,控制歐幾里德算法處理。存儲部存儲對應(yīng)于第一系數(shù)數(shù)據(jù)的第一多項式的最高次項系數(shù)與對應(yīng)于第二系數(shù)數(shù)據(jù)的第二多項式的最高次項系數(shù)的倒數(shù)的乘法運算結(jié)果。乘法器對于僅以第二評價多項式存儲部中的第一多項式和第二多項式的次數(shù)差移位的第二系數(shù)數(shù)據(jù)的每一個乘上存儲部的輸出,再次在第二評價多項式存儲部中存儲乘法運算結(jié)果,作為第二系數(shù)數(shù)據(jù)。邏輯運算器將對于從乘法器再次被存儲在第二評價多項式存儲部中的第二系數(shù)數(shù)據(jù)和存儲在第一評價多項式存儲部中的第一系數(shù)數(shù)據(jù)分別進行異或邏輯和運算的結(jié)果存儲在第一評價多項式存儲部中,作為第一系數(shù)數(shù)據(jù)。在與第一系數(shù)數(shù)據(jù)對應(yīng)的第一多項式不在預(yù)定次數(shù)以下的情況下或者說在第一多項式的次數(shù)比第二多項式的系數(shù)更大的情況下,交換器在第一評價多項式存儲部和第二評價多項式存儲部之間交換存儲的數(shù)據(jù)。在第一多項式為預(yù)定次數(shù)以下的情況下,控制器把第一多項式判定為誤差評價多項式。
根據(jù)本發(fā)明的其它方案,一種糾錯方法,備有根據(jù)與接收數(shù)據(jù)對應(yīng)的差錯特征信息符多項式,通過歐幾里德法求出表示差錯存在位置的出錯位置多項式和表示差錯量的誤差評價多項式的步驟;和進行接收數(shù)據(jù)的糾錯的步驟。
求出出錯位置多項式和誤差評價多項式的步驟包括以下步驟把第一系數(shù)數(shù)據(jù)R0i(0≤i≤2t)作為R02t=1,R0i=0(0≤i≤2t-1),把第二系數(shù)數(shù)據(jù)R1i(0≤i≤2t-1)作為R1i=Si(0≤i≤2t-1),把第三系數(shù)數(shù)據(jù)B0i作為B0i=0(0≤i≤t),把第四系數(shù)數(shù)據(jù)B1i作為B1i=0(0≤i≤t),B10=1存儲在存儲部中的第0步驟;求出對應(yīng)于第一系數(shù)數(shù)據(jù)R0i的第一多項式的次數(shù)N0和最高次數(shù)項系數(shù)Q0、求出對應(yīng)于第二系數(shù)數(shù)據(jù)R1i的第二多項式的次數(shù)N1和最高次數(shù)項系數(shù)Q1,而把Q=Q0*(1/Q1)存儲在存儲部中的第一步驟;求出第一和第二多項式的次數(shù)差DN=N0-N1的第二步驟;次數(shù)差DN不足0的情況下,分別改換第一系數(shù)數(shù)據(jù)R0i的值和第二系數(shù)數(shù)據(jù)R1i的值,并且分別改換第三系數(shù)數(shù)據(jù)B0i的值和第四系數(shù)數(shù)據(jù)B1i的值后,把處理移動到第一步驟的第三步驟;對于第二系數(shù)數(shù)據(jù),在(i-DN)大于0的情況下,把第二系數(shù)數(shù)據(jù)R1i作為R1i=Q*R1(i-DN)(0≤i≤2t-1)存儲在存儲部中、在(i-DN)為負(fù)時,把第二系數(shù)數(shù)據(jù)R1i作為0存儲在存儲部中的第四步驟;對于第四系數(shù),在(i-DN)不為負(fù)的情況下,把第四系數(shù)B1i作為B1i=Q*B1(i-DN)(0≤i≤t)存儲在存儲部中、在(i-DN)為負(fù)時把第四系數(shù)B1i作為0存儲在存儲部中的第五步驟;對于第一系數(shù)數(shù)據(jù)和第二系數(shù)數(shù)據(jù),進行R0i=R0iexor R1i(0≤i≤2t-1)R12t=0的運算,對于第三系數(shù)和第四系數(shù)進行B0i=B0iexor B1i(0≤i≤t)的運算的第六步驟;由第一系數(shù)數(shù)據(jù)R0i表示的第一多項式的系數(shù)不在t以下時,進行分別改換第一系數(shù)數(shù)據(jù)R0i的值和第二系數(shù)數(shù)據(jù)R1i的值,并且分別改換第三系數(shù)B0i的值和第四系數(shù)B1i的處理,并把處理移動到第一步驟的第七步驟。
進行接收數(shù)據(jù)的糾錯的步驟中,在第一多項式的次數(shù)在t以下時,把誤差評價多項式作為第一多項式、把出錯位置多項式作為由第三系數(shù)B0i表示的第三多項式,算出出錯位置和差錯量。
因此,本發(fā)明的優(yōu)點在于不增加存儲元件也不增大電路規(guī)模、就能夠縮短對存儲元件的存取時間、并通過與糾錯處理并行地進行檢錯處理,能夠縮短檢錯處理需要的時間。
本發(fā)明的其它優(yōu)點在于由于使用從數(shù)據(jù)緩沖存儲器讀入的糾錯后的數(shù)據(jù)進行解密處理而能夠把對緩沖存儲器的存取減少1/2,因而可對應(yīng)于數(shù)據(jù)的高速處理。
本發(fā)明的其它優(yōu)點在于由于構(gòu)成為在復(fù)合碼處理時,通過以解密處理前的數(shù)據(jù)計算外碼的差錯特征信息符、以解密后的數(shù)據(jù)進行糾錯來把對緩沖存儲器的存取抑制到最小限度的處理,可有效地進行高速處理。
本發(fā)明的其它優(yōu)點在于實現(xiàn)了抑制進行求出出錯位置多項式和差錯量多項式的歐幾里德算法的運算的電路的面積和消耗電能的增加,從而能夠?qū)崿F(xiàn)進行高速的糾錯處理的糾錯裝置。
圖1是表示配置有本發(fā)明的糾錯和并行檢查裝置的盤再現(xiàn)裝置1000的結(jié)構(gòu)的簡略框圖;圖2是說明圖1所示的解碼電路147的結(jié)構(gòu)的簡略框圖;圖3是說明解碼電路中的異或邏輯和電路9的動作的概念圖;圖4是表示檢錯處理中的數(shù)據(jù)處理單位的排列的概念圖;圖5是表示糾錯和檢錯處理中處理的數(shù)據(jù)排列的順序的第一概念圖;圖6是表示糾錯和檢錯處理中處理的數(shù)據(jù)排列的順序的第二概念圖;圖7是說明糾錯和檢錯的處理流程的流程圖;圖8是說明圖7所示的步驟S110的PI方向檢錯處理的流程圖;圖9說明圖7所示的PO方向檢錯處理的第一流程圖;圖10說明圖7所示的PO方向檢錯處理的第二流程圖;圖11是說明PO方向部分檢錯電路8的結(jié)構(gòu)的簡略框圖;圖12是說明PO方向部分檢錯電路8和寄存器7以及PO方向總計檢錯電路6進行的動作的第一流程圖;圖13是說明PO方向部分檢錯電路8和寄存器7以及PO方向總計檢錯電路6進行的動作的第二流程圖;圖14是說明PO方向部分檢錯電路8的結(jié)構(gòu)的簡略框圖;圖15是說明PO方向部分檢錯電路8和寄存器7以及PO方向總計檢錯電路6進行的動作的第一流程圖;圖16是說明PO方向部分檢錯電路8和寄存器7以及PO方向總計檢錯電路6進行的動作的第二流程圖;圖17是表示配備糾錯和解密電路的盤再現(xiàn)裝置1002的結(jié)構(gòu)的簡略框圖;圖18是表示DVD上的糾錯復(fù)合碼的格式的概念圖;圖19是說明解碼電路1100的結(jié)構(gòu)的框圖;圖20是說明解密電路13的結(jié)構(gòu)的框圖;圖21是說明解碼電路1200的結(jié)構(gòu)的簡略框圖;圖22是說明解碼電路1200的動作的流程圖;圖23是表示圖2所示的一個數(shù)據(jù)塊的數(shù)據(jù)中的數(shù)據(jù)排列的概念圖;圖24是表示第一差錯特征信息符計算電路1042的結(jié)構(gòu)的框圖;圖25表示差錯特征信息符用存儲元件1044和第二差錯特征信息符計算電路1045的結(jié)構(gòu)的框圖;圖26是說明解碼電路1300的結(jié)構(gòu)的概略框圖;圖27是說明解碼電路1300的動作的流程圖;圖28是說明糾錯電路200的結(jié)構(gòu)的簡略框圖;圖29是說明歐幾里德計算電路2000的結(jié)構(gòu)的簡略框圖;圖30是歐幾里德計算電路2000中拿出來點線包圍的區(qū)域PP表示的框圖;圖31是表示歐幾里德計算電路2000的處理的流程的流程圖;圖32是已有的DVD糾錯復(fù)合碼的格式;圖33表示DVD的糾錯復(fù)合碼和檢錯碼(EDC)的關(guān)系;圖34表示含有檢錯碼的一個扇區(qū)的數(shù)據(jù)排列,從開頭位開始以降序分配號碼;圖35是說明對于DVD數(shù)據(jù)進行糾錯和檢錯的第一已有示例的結(jié)構(gòu)的簡略框圖;圖36是說明第二已有示例的結(jié)構(gòu)的簡略框圖;圖37是表示圖36所示的糾錯及檢錯裝置的處理簡圖的第一概念圖;圖38是表示圖36所示的糾錯及檢錯裝置的處理簡圖的第二概念圖;圖39是表示圖36所示的糾錯及檢錯裝置的處理簡圖的第三概念圖;圖40是表示圖36所示的糾錯及檢錯裝置的處理簡圖的第四概念圖;圖41是表示已有的糾錯裝置4000的結(jié)構(gòu)的簡略框圖42是表示已有的糾錯裝置5000的結(jié)構(gòu)的簡略框圖;圖43是說明已有的糾錯裝置6000的結(jié)構(gòu)的簡略框圖;圖44是說明已有的歐幾里德算法的處理流程的流程圖。[盤再現(xiàn)裝置1000的結(jié)構(gòu)]圖1是表示配置有本發(fā)明的糾錯和并行檢查裝置的盤再現(xiàn)裝置1000的結(jié)構(gòu)的簡略框圖。
參照圖1,控制電路144的信號讀取電路142解調(diào)由驅(qū)動器驅(qū)動電路149驅(qū)動的驅(qū)動器141從盤讀取的數(shù)據(jù)。伺服電路143根據(jù)在信號讀取電路142中讀取的信號控制驅(qū)動器驅(qū)動電路149。
來自盤的數(shù)據(jù)在信號讀取電路142被解調(diào)后被傳送到解碼電路147中的數(shù)據(jù)緩沖存儲器14。糾錯電路200把傳送來的數(shù)據(jù)糾錯后,由檢錯電路146確認(rèn)沒有差錯后被實施解密處理,信息數(shù)據(jù)經(jīng)接口148被傳送到主PC。
下面的說明中以DVD為例,對與DVD上記錄的數(shù)據(jù)對應(yīng)的復(fù)合碼的糾錯和并行檢查裝置與方法進行說明,但是本發(fā)明并不限定于這種情況,如圖18所示,可適用于對于1個數(shù)據(jù)塊的數(shù)據(jù)配置糾錯復(fù)合碼,并且對于在這一個數(shù)據(jù)塊中的每一區(qū)段上配置規(guī)定的檢錯碼的數(shù)據(jù)的復(fù)合碼的糾錯和并行檢查裝置與方法。圖2是說明圖1所示的解碼電路147的結(jié)構(gòu)的簡略框圖。圖3是說明解碼電路中的異或邏輯和電路9的動作的概念圖。
下面使用圖2進行解碼電路147的結(jié)構(gòu)和動作的說明。
解碼電路147的處理的第一步驟中,經(jīng)數(shù)據(jù)總線13把從信號讀取電路142輸入的數(shù)據(jù)傳送到數(shù)據(jù)緩沖存儲器14。這里,例如把SDRAM作為數(shù)據(jù)緩沖存儲器14使用。
處理的第二步驟中,數(shù)據(jù)緩沖存儲器14讀取的數(shù)據(jù)被傳送到第一方向(PI方向)的糾錯電路10。并且,并行地把相對于例如數(shù)據(jù)塊的至少1行數(shù)據(jù)保存在存儲元件11中。
在第三步驟中,經(jīng)異或邏輯和電路9從存儲元件11向PI方向的檢錯電路3傳送數(shù)據(jù)排列。關(guān)于這些數(shù)據(jù)中的由PI方向糾錯電路10檢出了差錯的數(shù)據(jù),由PI方向糾錯電路10輸出差錯量,如圖3所示,由異或邏輯和電路9計算這些數(shù)據(jù)的異或邏輯和,糾了錯的數(shù)據(jù)排列被傳送到PI方向的檢錯電路3。
在第四步驟中,從PI方向檢錯電路3算出的檢查結(jié)果數(shù)據(jù)被傳送到PI方向判定電路1。
這里,如后面具體說明的那樣,所謂檢查結(jié)果是例如{I(x)mod g(x)}Exor EDC等的計算結(jié)果。
在PI方向檢錯電路3算出的檢查結(jié)果數(shù)據(jù)由存儲元件2保存,用于判定后面說明的PO方向的檢錯結(jié)果。
在第五步驟中,從數(shù)據(jù)緩沖存儲器14向PO糾錯電路12傳送數(shù)據(jù)排列,進行PO方向的糾錯。
在這個實施例中,為提高糾錯的處理速度,設(shè)置成分別配置有PI方向的糾錯電路10和PO方向的糾錯電路12的結(jié)構(gòu)。
此時,關(guān)于被檢出差錯的數(shù)據(jù),由PO方向的糾錯電路12輸出差錯量,關(guān)于無差錯的數(shù)據(jù),從PO方向的糾錯電路12把差錯量作為0的數(shù)據(jù)排列傳送到PO方向的部分檢錯電路8。
在部分檢錯電路8中,如后面詳細(xì)說明的那樣,計算每一列的檢查結(jié)果,在寄存器7中保持該結(jié)果。
由于可在第三步驟的PI方向的糾錯結(jié)束的同一時刻,經(jīng)數(shù)據(jù)總線13從PO方向的糾錯電路12對數(shù)據(jù)緩沖存儲器14進行存取,因此,上述說明的第五步驟也可以在第三步驟的PI方向的糾錯結(jié)束的同一時刻開始。
在第六步驟中,把PO方向的部分檢錯電路8計算的結(jié)果從寄存器7調(diào)出,在PO方向總計檢錯電路6中進行PO方向的檢錯的行方向上的匯總。
在異或邏輯和電路5中運算這些電路高速計算的結(jié)果和保存在存儲元件2中的PI方向的檢錯結(jié)果的異或邏輯和,把其結(jié)果傳送到PO方向誤差判定電路4進行判定。
在第七步驟中,如上面說明的那樣,按照復(fù)合碼進行糾錯,根據(jù)主機要求把數(shù)據(jù)緩沖存儲器14上的表示檢查結(jié)果沒有差錯的信息數(shù)據(jù)傳送到主機PC。
由于這些PI方向和PO方向的檢錯基本上分別與PI方向和PO方向的糾錯并行地進行,因此處理速度非常高,并且由于無論PI方向和PO方向哪一個方向的糾錯執(zhí)行后也并行地結(jié)束檢查,所以在PI方向和PO方向的任一方向的糾錯執(zhí)行后,如果在檢查結(jié)果中判斷為沒有異常,可直接把信息數(shù)據(jù)向主機傳送。
在上面的說明中,是對PI系列的糾錯和PO系列的糾錯各進行一次的結(jié)構(gòu)來說明的,但是本發(fā)明并不限定于這樣的結(jié)構(gòu),即使是這些PI系列的糾錯和PO系列的糾錯進行2次以上的糾錯裝置,本發(fā)明也可適用。接著說明本發(fā)明的差錯計算的計算方法的細(xì)節(jié)。
圖13所示的單位區(qū)段由16512個1位數(shù)據(jù)形成,使用這些數(shù)據(jù)把作為第i個區(qū)段的EDC的EDCi用下式表示。
下面bj是圖13所示的1位數(shù)據(jù)。EDCi(x)]]>=Σj=310bj×xj=I(x)modg(x)---(1)]]>I(x)=Σj=1651132bj×xj---(2)]]>g(x)=x32+x31+x4+1…(3)即進行以多項式g(x)除以由數(shù)據(jù)計算的多項式I(x)時得到的余數(shù)(檢查差錯特征信息符)如果等于EDCi(x),則表示沒有差錯。
圖4是表示對于圖18所示的數(shù)據(jù)結(jié)構(gòu)中除奇偶校驗數(shù)據(jù)之外的16個區(qū)段的檢錯處理中的數(shù)據(jù)處理單位的排列的概念圖。
在圖4中,每個區(qū)段對應(yīng)于處理數(shù)據(jù)的單位為4字節(jié)(Byte),這樣的每一個4字節(jié)的數(shù)據(jù)以i作為區(qū)段序號、以j作為列序號和以k作為行序號,表示為data_ijk。這里,i,j,k分別是正整數(shù),0≤i≤15、0≤j≤42、0≤k≤11。
圖5和圖6是表示下面說明的糾錯和檢錯處理中處理的數(shù)據(jù)排列的順序的第一和第二概念圖。
如上述圖5和6所示,進行檢錯的1個區(qū)段內(nèi)的數(shù)據(jù)處理單位的個數(shù)是43×12=516個,各個數(shù)據(jù)單元data_ijk是32位(8位×4)的值。
用這樣的符號,基本上可進行例如以DVD的格式的驗證。下面說明圖5和6所示的數(shù)據(jù)結(jié)構(gòu)的糾錯。
以I(i,j,k)表示對應(yīng)于各個數(shù)據(jù)單位dataijk的多項式時,對于第i區(qū)段的EDCi按照下式的定義計算。EDCi(x)=I(i,42,11)=I(x)modg(x)…(4)I(x)=I(i,0,0)×x32×515+I(i,1,0)x32×514+…+I(i,42,0)×x32×473+I(i,0,1)×x32×472+…+I(i,41,11)×x32…(5)I(i,j,k)=Σm=031bijkm×xm---(6)]]>這里,bjikm表示在圖13所示的數(shù)據(jù)排列中與數(shù)據(jù)單元data ijk對應(yīng)的位數(shù)據(jù)中從下面位開始的第m位的1位數(shù)據(jù)。
因此,如果{I(x)mod g(x)}Exor I(i,42,11)為0,表示這第i個區(qū)段沒有差錯。這里記號Exor取為執(zhí)行2個相同次數(shù)的多項式的系數(shù)之間的異或邏輯和運算,再列出以上述運算的結(jié)果為系數(shù)的多項式的運算。
這里,使用與以下的多項式Y(jié)相對的函數(shù)fpi對上述計算進行變形。fpi{Y)={Y×x32}mod g(x)…(7)使用這樣的函數(shù)fpi后,上述計算便可作為以下的反復(fù)運算來執(zhí)行。F(i,1,0)=fpi{I(i,0,0)}Exor I(i,1,0)F(i,2,0)=fpi{F(i,1,0)}Exor I(i,2,0)…F(i,0,1)=fpi{F(i,42,0)}Exor I(i,0,1)F(i,42,11)=fpi{F(i,41,11)}ExorI(i,42,11)={I(x)modg(x)}ExorI(i,42,11)…(8)因此,如果F(i,42,11)為0,表示這第i個區(qū)段沒有錯誤。
這里運算fpi與圖5的一個矢量的運算相當(dāng)。這些運算能通過表格化等來高速實行。
另外,第i個區(qū)段的上式(8)的計算可使用與下述多項式Y(jié)相對的函數(shù)fpo來變形。fpo{Y}={Y×x32×43}modg(x)…(9)例如,可變形為下面的兩類反復(fù)計算。ⅰ)第1類計算G(i,j,1)=fpo{I(i,j,0)}Exor I(i,j,1)G(i,j,2)=fpo{G(i,j,1)}Exor I(i,j,2)… G(i,j,11)=fpo{G(i,j,10)}ExorI(i,j,11)…(10)ⅱ)第2類計算H(i,1,11)=fpi{G(i,0,11)}ExorG(i,1,11)H(i,2,11)=fpi{H(i,1,11)}ExorG(i,2,11)… H(i,42,11)=fpi{H(i,41,11)}ExorG(i,42,11)={I(x)modg(x)}Exor I(i,42,11)…(11)這里,第1類運算對應(yīng)于圖2所示的PO方向部分檢錯電路8進行的處理,第2類運算對應(yīng)于PO方向總計檢錯電路6進行的處理。
這里表示僅使用圖6所示的列數(shù)據(jù),PO方向的部分檢錯電路8計算部分差錯特征信息符,之后,根據(jù)來自PO方向部分檢錯電路8的結(jié)果,通過PO方向總計檢錯電路6的匯總運算,便可進行檢錯。
這種運算可以由僅使用第2類fpi和fpo的電路構(gòu)成。
因此,在圖6中,這種運算fpi表示PI方向的矢量運算,fpo表示PO方向的矢量運算。
某列j沒有差錯時,G(i,j,11)不必要作計算,由于值為0,使得與圖19所示的3類差錯特征信息符運算對應(yīng)的多余電路不再必要,就能非常簡單地進行高速運算。圖7是說明以上說明的糾錯和檢錯的處理流程的流程圖。
參照圖7,首先,一旦開始糾錯和檢錯的處理(步驟S100),控制變量CNT的值被初始化為0(步驟S102)。
接著,變量CNT的值僅被增加1(步驟S104),從數(shù)據(jù)緩沖存儲器14向PI方向糾錯電路10提供數(shù)據(jù)(步驟S106),根據(jù)算出的差錯特征信息符,進行PI方向的糾錯處理(步驟S108)。
一旦PI方向的糾錯處理結(jié)束,接著在PI方向檢錯電路3中進行PI方向的檢錯(步驟S110)。
判斷PI方向的檢錯結(jié)果、對全部區(qū)段的PI方向的檢錯結(jié)果EDCPIi(i=0~15)是否為0(步驟S112)。對于全部區(qū)段,如果PI方向的檢錯結(jié)果EDCPIi為0,以全部差錯已被糾正來結(jié)束處理(步驟S122)。
另一方面,即使有1個區(qū)段的PI方向的檢錯結(jié)果EDCPIi不為0時,也從數(shù)據(jù)緩沖存儲器14把數(shù)據(jù)提供給PO方向糾錯電路12(步驟S114)。
進行PO方向的糾錯處理(步驟S116)且PO方向的糾錯結(jié)束時,接著在PO方向部分檢錯電路8和PO方向總計檢錯電路6實行PO方向的檢錯(步驟S118)。
判斷PO方向的檢錯結(jié)果、對全部區(qū)段的PO方向的檢錯結(jié)果EDCPOi(i=0~15)是否為0及控制變量CNT的值是否為2(步驟S120)。對于全部區(qū)段,如果PO方向的檢錯結(jié)果EDCPOi為0,以全部差錯已被糾正來結(jié)束處理,或者變量CNT=2時,以必要次數(shù)的處理已結(jié)束來結(jié)束處理(步驟S122)。
另一方面,如果全部區(qū)段的PO方向的檢錯結(jié)果EDCPOi不是0,且變量CNT=2不成立,處理返回步驟S104(步驟S120)。
在上面的說明中,PI方向的檢錯結(jié)束后,進行PO方向的糾錯處理,但是也可以在PI方向的糾錯結(jié)束后,并行進行PO方向的糾錯處理。
糾錯和檢錯可進行2次,但是根據(jù)系統(tǒng)的動作條件這個次數(shù)也可以是1次或3次以上。
圖8是說明圖7所示的步驟S110的PI方向檢錯處理的流程圖。
首先,開始PI方向檢錯處理(步驟S200),接著,初始化表示區(qū)段序號的區(qū)段序號變量i(i正整數(shù))的值為0(步驟S202)。
接著,處理移動到處理循環(huán)LB201~LE201,該循環(huán)進行16個區(qū)段的EDC檢查。即,從處理循環(huán)LB201到LE201的處理直到對16個區(qū)段都進行了處理才結(jié)束(循環(huán)LB201到LE201)。
首先,把對于第i區(qū)段的區(qū)段EDC值變量EDCPIi的值初始化為0,也把行序號變量k值初始化為0(步驟S204)。這里,區(qū)段EDC值變量EDCPIi是進行式(8)所示的計算的變量。
接著,處理移動到進行各個區(qū)段內(nèi)的EDC檢查的處理循環(huán)LB202~LE202。即,處理循環(huán)LB202到LE202的處理直到對區(qū)段的全部數(shù)據(jù)都進行了處理才結(jié)束(循環(huán)LB202~LE202)。
首先,把列序號變量j的值初始化為0(步驟S206)。
接著,處理移動到進行各個扇區(qū)內(nèi)的每個行的處理的處理循環(huán)LB203~LE203。即,處理循環(huán)LB203到LE203的處理直到對1個數(shù)據(jù)處理單位內(nèi)的行中含有的全部數(shù)據(jù)處理單位的列都進行了處理才結(jié)束(循環(huán)LB203~LE203)。
在處理循環(huán)LB203~LE203中,PI方向檢錯電路3在PI方向上讀取每4個字節(jié)的數(shù)據(jù),將其代入變量data_ijk(步驟S208)。
接著,根據(jù)上式(8)進行運算EDCPIi=fpi{EDCPi}Exor data_ijk…(12)接著,變量j的值僅被增加1,處理移動到數(shù)據(jù)處理單位的下一列(步驟S212)。
對于1個數(shù)據(jù)處理單位的行上含有的全部的數(shù)據(jù)處理單位的列反復(fù)進行步驟S208~S212的處理(循環(huán)LB203~LE203)。
接著,變量k的值僅被增加1,處理移動到數(shù)據(jù)處理單位的下一行(步驟S214)。
直到對區(qū)段內(nèi)的數(shù)據(jù)的處理結(jié)束之前都反復(fù)進行步驟S206~S214的處理(循環(huán)LB203~LE203)。
1個區(qū)段的處理結(jié)束后,變量i的值僅被增加1,處理移動到下一個區(qū)段(步驟S216),處理再次返回到步驟S202。直到全部區(qū)段的處理結(jié)束之前都在反復(fù)進行從步驟S202到步驟S216的處理(循環(huán)LB201~LE201)。
對全部區(qū)段的處理結(jié)束后,PI方向檢錯處理結(jié)束(步驟S218)。
圖9和圖10是說明圖7所示的PO方向檢錯處理的步驟S118的第一和第二流程圖。
首先,一旦PO方向檢錯處理開始(步驟S300),就把列序號變量j的值初始化為0(步驟S302)。
接著,處理移動到進行與全部的列對應(yīng)的部分檢錯的處理循環(huán)LB301~LE301。即,處理循環(huán)LB301到LE301的處理直到對全部的列都進行了處理才結(jié)束(循環(huán)LB301~LE301)。
首先,把區(qū)段號變量i的值初始化為0(步驟S304)。
接著,處理移動到進行對應(yīng)各列的部分檢錯的處理循環(huán)LB302~LE302。
首先,把表示每一列的區(qū)段EDC值的區(qū)段EDC值變量EDCPOij的值和行序號變量k值的初始化為0(步驟S306)。這里,區(qū)段EDC值變量EDCPOij是進行式(10)所示的1類計算的變量。但是,通過下面的說明,在圖9所示的處理中,使用式(10)表示的數(shù)據(jù)但不進行按原樣的處理,使使用差錯量被處理簡單化。
即,接著,處理移動到進行各個區(qū)段的部分檢錯的處理循環(huán)LB303~LE303(循環(huán)LB303~LE303)。
在處理循環(huán)LB303~LE303中,PO方向部分檢錯電路8沿PO方向每4個字節(jié)讀取在檢出差錯的位置以外的其他位置上配置0的數(shù)據(jù),并在檢出差錯的位置把其差錯量代入變量data_ijk(步驟S308)。在檢查的列上沒有檢出差錯時,可省略處理循環(huán)LB302~LE302。
接著,根據(jù)上式(10)進行運算
EDCPOij=fpo{EDCPOij}Exor data_ijk…(13)行序號變量k的值僅被增加1,處理移動到下一行(步驟S312)。
直到對第i個區(qū)段的第j列內(nèi)的數(shù)據(jù)的處理結(jié)束為止,都反復(fù)進行步驟S308~S312(循環(huán)LB303~LE303)。
第i個區(qū)段的第j列的處理結(jié)束后,變量i的值僅被增加1,處理移動到下一區(qū)段(步驟S314),處理再次返回到步驟S306。直到對15個區(qū)段的第j列的處理結(jié)束為止,反復(fù)進行從步驟S306到步驟S314的處理(循環(huán)LB302~LE302)。
對全部的區(qū)段的第j列的處理結(jié)束后,變量j的值僅被增加1,處理移動到下一列(步驟S316),處理再次返回到步驟S304。直到對42個列的處理結(jié)束為止,反復(fù)進行從步驟S304到步驟S316的處理(循環(huán)LB301~LE301)。
參照圖10,循環(huán)LB301~LE301的處理結(jié)束后,接著把變量i的值增加1(步驟S320)。
接著,處理移動到進行總計檢錯的處理循環(huán)LB304~LE304。即,直到對全部的區(qū)段進行過處理為止,反復(fù)進行從處理循環(huán)LB304到LE304的處理(循環(huán)LB304~LE304)。
接著,把對應(yīng)于第i區(qū)段的EDC值變量EDCPOi的值和變量j的值初始化為0(步驟S322)。
接著,處理移動到進行對應(yīng)于各個區(qū)段的總計檢錯的處理循環(huán)LB305~LE305。
在處理循環(huán)LB305~LE305中,PO方向總計檢錯電路6根據(jù)上式(11)在PI方向上進行下面的運算和代入處理(步驟S324)EDCPOi=fpi{EDCPOi}Exor EDCPOij…(14)
接著僅變量j的值被增加1,處理移動到下一列(步驟S326)。
直到對處理中的區(qū)段的全部的列的處理結(jié)束為止,反復(fù)進行步驟S324~S326(循環(huán)LB305~LE305)。
一旦對第i區(qū)段的全部列的處理結(jié)束,接著就由異或的邏輯和運算器5進行下面的運算處理(步驟S328)EDCPOi=EDCPIi Exor EDCPOi這樣,第i區(qū)段是否有差錯存在的判定就由PO方向判定電路4來進行。
控制變量i的值僅被增加1(步驟S330),處理移動到下一區(qū)段,處理再次返回到步驟S322。直到最后區(qū)段的處理結(jié)束為止,一直反復(fù)進行從步驟S322到步驟S330的處理(循環(huán)LB304~LE304)。
一旦循環(huán)LB304~LE304的處理結(jié)束,糾錯、檢查處理結(jié)束,移動到下一個處理(圖7的處理步驟S120)(步驟S320)。在實施例1的說明中,作為檢錯對象的單位區(qū)段由如圖19所示的16512個數(shù)據(jù)(bi)形成,使用這些數(shù)據(jù)用式(1)~(3)表示對第i區(qū)段的EDCi。
在實施例1中的構(gòu)成為計算式(1)表示的該EDCi(x),用式(9)定義的函數(shù)fpo使運算簡單化,如圖9的步驟S310說明的那樣,圖2所示的PO方向部分檢錯電路8進行由式(13)表示的運算。
下面為簡化說明,由下式(15)表示由函數(shù)fpo進行的處理。
fpo{Jk(x)}={Jk(x)×x43×32}mod{g(x)}…(15)這里,Jk(x)是31次多項式。
因此,為執(zhí)行式(15),可使用32位的運算器。但是,在實施例2中,結(jié)構(gòu)為為再提高運算速度,預(yù)先準(zhǔn)備有232種對于數(shù)值的運算結(jié)果的表,根據(jù)這個表進行對應(yīng)于式(15)的運算處理。
如式(10)所示,作為Jk(x)例如被代入用式(6)表示的式子。
圖11是說明以這樣的結(jié)構(gòu)實現(xiàn)的PO方向部分檢錯電路8的結(jié)構(gòu)的簡略框圖。
參照圖11,PO方向部分檢錯電路8包括有接收PO方向糾錯電路12的輸出的異或邏輯和運算電路82;和接收異或邏輯和運算電路82的輸出、根據(jù)對應(yīng)于上述對32位數(shù)據(jù)的232種運算結(jié)果的表,輸出以式(15)表示的運算結(jié)果的表變換電路84;和接收并暫時保持表變換電路84的輸出的寄存電路86。
異或邏輯和運算電路82順序接受由BO方向糾錯電路12給出的I(i,j,k)(k=1~11),并把與保持在寄存電路86中的第一步驟前的表變換電路84的輸出之間的異或邏輯和運算結(jié)果再次提供給表變換電路84。
即,由異或邏輯和運算電路82、表變換電路84和寄存電路86構(gòu)成的處理循環(huán)可進行相當(dāng)于式(10)的運算。
圖12和圖13是說明圖11所示的PO方向部分檢錯電路8和寄存器7以及PO方向總計檢錯電路6進行的動作的流程圖,是與實施例1的圖9和圖10相對比的圖。
圖12和圖13所示的處理與圖9所示的處理的不同點在于在步驟S310’中,對于由BO方向糾錯電路12給出的數(shù)據(jù)data_ijk和異或邏輯和運算電路82對寄存電路86保持的數(shù)據(jù)進行異或邏輯和運算的結(jié)果,通過由表變換電路84進行變換處理,更新EDCPOij的值,進行再次提供給寄存電路86的處理。
由于其他與圖9和圖10所示的處理相同,因此對相同的部分給出相同的標(biāo)號,并省略了對它們的說明。
按照上面的構(gòu)成,由于PO方向部分檢錯電路8根據(jù)預(yù)先設(shè)置的表進行更新變量EDCPOij的值的處理,所以使運算處理高速化,并縮短了糾錯時間。在實施例2中,對于表變換電路84的運算處理結(jié)構(gòu)進行了說明,該表變換電路84根據(jù)預(yù)先計算的結(jié)果生成的表對PO方向部分檢錯電路8進行的處理,也就是式(15)表示的處理作運算處理。
在實施例3中,就更高速地進行式(15)表示的運算處理的結(jié)構(gòu)進行說明。
實施例3的解碼電路的結(jié)構(gòu)也和圖2所示的解碼電路147的結(jié)構(gòu)基本相同。如以下說明的那樣,PO方向部分檢錯電路8的結(jié)構(gòu)不同。
即,在式(15)中,式Jk(x)可分解為下面的式(16)。Jk(x)=Jk·0(x)×x24+Jk·1(x)×x16+Jk·2(x)×x8+Jk·3…(16)即,Jk(x)可分為4份。使用式(16)時,式(15)可變形為下面的式(17)。fpo{Jk(x)}=={Jk·0(x)×x24×x43×32}mod{g(x)}+{Jk-1(x)×x16×x43×32}mod{g(x)}+{Jk-2(x)×x8×x43×32}mod{g(x)}+{Jk·3(x)×x43×32}mod{g(x)}…(17因此,可通過設(shè)計4個表變換電路和3個異或邏輯和運算器來進行運算處理,所述表變換電路對應(yīng)于式(17)的各項根據(jù)后面說明的預(yù)先準(zhǔn)備好的28種表進行PO方向部分檢錯的運算處理,所述異或邏輯和運算器對上述4個表變換電路的輸出進行異或邏輯和運算。
圖14是說明具有這種結(jié)構(gòu)的PO方向部分檢錯電路8的結(jié)構(gòu)的簡略框圖。
參照圖14,實施例3的PO方向部分檢錯電路8含有接收PO方向糾錯電路12來的數(shù)據(jù)data_ijk的異或邏輯和運算電路802;和接收異或邏輯和運算電路802的輸出并分成各8位數(shù)據(jù)的數(shù)據(jù)分割電路804;和分別接收數(shù)據(jù)分割電路804輸出的每個8位的數(shù)據(jù),根據(jù)28種表分別進行計算的表變換電路810,812,814和816,所述28種表已經(jīng)預(yù)先將對應(yīng)于式(17)的各項的運算作了計算;和接收表變換電路810和812的輸出而輸出異或邏輯和運算結(jié)果的異或邏輯和運算電路820,和接受表變換電路814及816的輸出,并輸出異或邏輯和運算結(jié)果的異或邏輯和運算電路822,和接收異或邏輯和運算電路820及822的輸出而對于圖2所示的寄存器7輸出異或邏輯和運算結(jié)果的異或邏輯和運算電路824以及接收異或邏輯和運算電路824的輸出暫時進行存儲的寄存器826。
異或邏輯和運算電路802接收來自PO方向糾錯電路12的數(shù)據(jù)data_ijk和來自寄存器826的輸出,進行異或邏輯和運算處理并將結(jié)果提供給數(shù)據(jù)分割電路804。
圖15和圖16是說明圖14所示的實施例3的PO方向部分檢錯電路8和圖2所示的寄存器7以及PO方向總計檢錯電路6進行的處理的流程圖。
參照圖15和圖16,首先,一旦PO方向檢錯處理開始(步驟S400),列序號變量j的值就被初始化為0(步驟S402)。
接著,處理移動到對全部的列進行部分檢錯處理的處理循環(huán)LB401~LE401。即,處理循環(huán)LB401到LE401的處理直到對全部的列進行了處理才結(jié)束(循環(huán)LB401~LE401)。
首先,把區(qū)段的序號變量i的值初始化為0(步驟S404)。
接著,處理移動到進行對應(yīng)于各列的部分檢錯的處理循環(huán)LB402~LE402。
首先,把表示每列的區(qū)段EDC值的區(qū)段EDC值變量EDCPOij的值和行序號變量k的值都初始化為0(步驟S406)。這里,區(qū)段EDC值變量EDCPOij是進行以式(17)表示的計算的變量。其中,與圖9所示的處理相同,式(17)處理的僅是對應(yīng)于誤差行的數(shù)據(jù)。
接著,處理移動到進行每個區(qū)段的部分檢錯的處理循環(huán)LB403~LE403(循環(huán)LB403~LE403)。
在處理循環(huán)LB403~LE403中,PO方向部分檢錯電路8在每個PO方向上每4個字節(jié)在檢出誤差的位置上讀取其差錯量、在其他位置上讀取配有0的數(shù)據(jù),數(shù)據(jù)分割電路804從該數(shù)據(jù)的前面開始每1個字節(jié)分割一次這個數(shù)據(jù)。下面把每一個這樣分割的1字節(jié)的數(shù)據(jù)表示為變量H1~H4(步驟S408)。對應(yīng)于這樣的處理,把與每一個變量H1~H4對應(yīng)的值提供給表變換電路810~816。
表變換電路810從數(shù)據(jù)分割電路804接收對應(yīng)于變量H1的數(shù)據(jù),根據(jù)與此對應(yīng)的表(運算表)進行變換,從開頭數(shù)的1字節(jié)變換為等于該變換后的值、剩余的3個字節(jié)的位數(shù)據(jù)變換為全部對應(yīng)于0的4個字節(jié)的值,并進行輸出。把表變換電路810輸出的數(shù)據(jù)表示為HA(步驟S410)。對應(yīng)于這種處理,表變換電路810的輸出被提供給異或邏輯和運算電路820。
表變換電路812從數(shù)據(jù)分割電路804接收對應(yīng)于變量H2的數(shù)據(jù),根據(jù)與此對應(yīng)的表(運算表)進行變換,并且變換為從頭開始的第2個字節(jié)的1個字節(jié)的數(shù)據(jù)等于該變換后的值、剩余的3個字節(jié)的位數(shù)據(jù)全部對應(yīng)于0的4個字節(jié)的值來輸出。表變換電路812輸出的數(shù)據(jù)表示為HB(步驟S412)。對應(yīng)于這種處理,表變換電路812的輸出被提供給異或邏輯和運算電路820。
表變換電路814從數(shù)據(jù)分割電路804接收對應(yīng)于變量H3的數(shù)據(jù),根據(jù)與此對應(yīng)的表(運算表)進行變換,并且變換為從頭開始的第3個字節(jié)中的1個字節(jié)的數(shù)據(jù)等于這個變換后的值、剩余的3個字節(jié)的位數(shù)據(jù)全部對應(yīng)于0的4個字節(jié)的值來輸出。表變換電路814輸出的數(shù)據(jù)表示為HC(步驟S414)。對應(yīng)于這種處理,表變換電路814的輸出被提供給異或邏輯和運算電路822。
表變換電路816從數(shù)據(jù)分割電路804接收對應(yīng)于變量H4的數(shù)據(jù),根據(jù)與此對應(yīng)的表(運算表)進行變換,并且變換為從頭開始的第4個字節(jié)中的1個字節(jié)的數(shù)據(jù)等于這個變換后的值、剩余的3個字節(jié)的位數(shù)據(jù)全部對應(yīng)于0的4個字節(jié)的值來輸出。表變換電路816輸出的數(shù)據(jù)表示為HD(步驟S416)。對應(yīng)于這種處理,表變換電路816的輸出被提供給異或邏輯和運算電路822。
接著,區(qū)段EDC值變量EDCPOij的值由異或邏輯和運算電路820、822和824按下式(18)的處理來運算(步驟418)。
EDCPOij=(HA)Exor(HB)Exor(HC)Exor(HD)…(18)行序號變量k的值僅被增加1,處理移動到下一行(步驟S420)。
直到對第i區(qū)段的第j列內(nèi)的數(shù)據(jù)的處理結(jié)束為止,一直反復(fù)進行步驟S408~S412的處理(循環(huán)LB403~LE403)。
參照圖16,一旦第i區(qū)段的第j列的處理結(jié)束,變量i的值僅被增加1,處理移動到下一個區(qū)段(步驟S422),處理再次返回到步驟S406。直到對第15區(qū)段的第j列的處理結(jié)束為止,一直反復(fù)進行步驟S406到步驟S422的處理(循環(huán)LB402~LE402)。
一旦全部區(qū)段的第j列的處理結(jié)束,變量j的值僅被增加1,處理移動到下一列(步驟S424),處理再次返回到步驟S404。直到對第42列的處理結(jié)束為止,一直反復(fù)進行步驟S404到步驟S424的處理(循環(huán)LB401~LE401)。
循環(huán)LB401~LE401的處理結(jié)束后,變量i的值回0(步驟S430)。
接著處理移動到進行總計檢錯的處理循環(huán)LB404~LE404。即,直到對全部的區(qū)段的處理結(jié)束為止,一直反復(fù)進行從處理循環(huán)LB404到LE404的處理(循環(huán)LB404~LE404)。
然后,將與第i個區(qū)段對應(yīng)的EDC值變量EDCPOi的值和變量j的值初始化為0(步驟S432)。
接著處理移動到進行對各個區(qū)段的總計檢錯的處理循環(huán)LB405~LE405。
在處理循環(huán)LB405~LE405中,PO方向總計檢錯電路6在PI方向上根據(jù)上面的式(11)進行下面的運算和代入處理(步驟S434)EDCPOi=fpi{EDCPOi}Exor EDCPOij…(14)接著變量j的值僅被增加1,處理移動到下面一列(步驟S436)。
直到對處理中的區(qū)段的全部列的處理結(jié)束為止,一直反復(fù)進行處理步驟S434~S436的動作(循環(huán)LB405~LE405)。
對于第i區(qū)段的全部列的處理一結(jié)束,接著由異或邏輯和運算器5進行下面的運算處理(步驟S438)EDCPOi=EDCPIi Exor EDCPOi這樣,由PO方向判定電路4進行第i區(qū)段中是否存在差錯的判定。
控制變量i的值僅被增加1(步驟S440),處理移動到下一個區(qū)段,處理再次返回到步驟S432。直到最后的區(qū)段的處理結(jié)束為止,一直反復(fù)進行處理步驟S432~S440的處理(循環(huán)LB404~LE404)。
一旦循環(huán)LB404~LE404的處理結(jié)束,糾錯、檢查處理就結(jié)束,移動到下面的處理(圖7的處理步驟S120)(步驟S442)。
按照以上的處理,也可進行PO方向部分檢錯電路8的處理,而且,由于使用把PO方向部分檢錯處理分成每個8位的表且進行并行處理,可更高速地進行處理。
這里,一般地,函數(shù)fpo把原來的數(shù)據(jù)作為n位,把數(shù)據(jù)的分割數(shù)目作為m(m是n的約數(shù))時,作為表的大小需要有對應(yīng)于2(n/m)個數(shù)據(jù)的大小,表的數(shù)目只需要m個。異或邏輯和運算器的數(shù)目為(m-1)個。
因此,使用根據(jù)這樣分割的表計算的表變換電路,能大幅度降低電路規(guī)模。
根據(jù)本發(fā)明,既不增加存儲元件也不增大電路規(guī)模,就能夠縮短存儲元件的存取時間,而且,并行進行糾錯處理和檢錯處理能夠縮短檢錯處理需要的時間。下面參照
本發(fā)明的實施例4的糾錯和解密電路。
圖17是表示配備本發(fā)明的糾錯和解密電路的盤再現(xiàn)裝置1002的結(jié)構(gòu)的簡略框圖。
參照圖17,控制電路144中的信號讀取電路142解調(diào)驅(qū)動器驅(qū)動電路149驅(qū)動的驅(qū)動器141從盤讀出的數(shù)據(jù)。伺服電路143根據(jù)信號讀取電路142讀取的信號控制驅(qū)動器驅(qū)動電路149。
來自盤的數(shù)據(jù)經(jīng)信號讀取電路142解調(diào)后,被傳送到解碼電路1100中的數(shù)據(jù)緩沖存儲器1011。傳送來的數(shù)據(jù)經(jīng)糾錯電路1012進行糾錯,經(jīng)解密電路1013進行解密處理,信息數(shù)據(jù)經(jīng)接口148被傳送到主機PC。
圖18是表示圖17所示的DVD上的糾錯復(fù)合碼的格式的概念圖。把對二維排列的172×192字節(jié)的信息數(shù)據(jù)上附加了橫向10字節(jié)的奇偶校驗碼PI和縱向的16字節(jié)(Byte)奇偶校驗碼PO的數(shù)據(jù)作為1個數(shù)據(jù)塊。
圖19是說明圖7所示的解碼電路1100的結(jié)構(gòu)的框圖。解碼電路1100的動作由解碼處理控制器1010控制。
下面使用圖19說明解碼電路1100的結(jié)構(gòu)和動作。
在第一步驟,輸入數(shù)據(jù)被傳送到緩沖存儲器1011。這里,例如使用SDRAM作為數(shù)據(jù)緩沖存儲器1011。
在第二步驟,糾錯電路1012從緩沖存儲器1011讀入由進行糾錯的單位構(gòu)成的數(shù)據(jù),例如1個代碼語句的數(shù)據(jù),并進行糾錯處理。這里,糾錯電路1012配置有暫時保存糾錯前的1個代碼語句的數(shù)據(jù)的存儲元件1121和糾錯運算部1122,按糾錯運算部1122得到的糾錯量糾正暫時保存在這個存儲元件1121中的數(shù)據(jù)。
在第三步驟,把這樣得到的并且被暫時保存的糾正后的數(shù)據(jù)傳送到解密電路1013,進行解密處理。
圖20是說明解密電路1013的結(jié)構(gòu)的框圖。異或邏輯和運算電路1052對輸入到解密電路1013的數(shù)據(jù)與解密模式發(fā)生器1051得到的值進行異或邏輯和運算,并輸出去。這里,根據(jù)DVD上預(yù)先存儲的數(shù)據(jù)把初始值S0送到解密模式發(fā)生器1051。
再回到對圖19的解碼電路1100的動作的說明。在第四步驟,把解密處理后的數(shù)據(jù)寫入緩沖存儲器1011中。
通過采取這樣的電路結(jié)構(gòu),可把對數(shù)據(jù)緩沖存儲器1011的存取減少到1/2。因此,可高速處理復(fù)合碼的糾錯和解密。圖21是說明配置有本發(fā)明的實施例2的復(fù)合碼的糾錯與解密電路的解碼電路1200的結(jié)構(gòu)的簡略框圖。即,圖17所示的數(shù)據(jù)再現(xiàn)裝置1002中,可用下面說明的解碼電路1200替代解碼電路1100。
解碼電路1200的動作由解碼處理控制器1010控制。
在實施例5中,考慮到了復(fù)合碼處理中的糾錯的特征,如下面說明的那樣,在使用圖18所示的DVD的復(fù)合碼的糾錯和解密處理等中,可進行更高速的處理。
實施例5的解碼電路1200的復(fù)合碼的糾錯處理適用于例如執(zhí)行復(fù)合碼的內(nèi)碼(PI)后,再執(zhí)行外碼(PO)的情況。
圖22是說明圖21所示的實施例5的解碼電路1200的動作的流程圖。
下面參照圖21和圖22,說明實施例5的解碼電路1200的結(jié)構(gòu)和動作。
處理開始后,首先,在第一步驟,輸入數(shù)據(jù)被傳送到緩沖存儲器1011(步驟S502)。這里,例如把SDRAM用作數(shù)據(jù)緩沖存儲器1011。
在第二步驟,從緩沖存儲器1011讀取進行糾錯必要的例如1個代碼語句的數(shù)據(jù),暫時保存在數(shù)據(jù)用存儲元件1041中(步驟S504)。
接著,在第三步驟,從數(shù)據(jù)用存儲元件1041讀取暫時保存的數(shù)據(jù),第一差錯特征信息符計算電路1042進行差錯特征信息符計算(步驟S506)。
在第四步驟,計算出來的差錯特征信息符的值被送到第一差錯量計算電路1043,計算出差錯量(步驟S508)。
這里,如果不存在差錯,運算上把差錯量作為“0”來對待。
在第五步驟,通過在異或邏輯和運算電路1047中對這樣計算的差錯量和暫時保存在數(shù)據(jù)用存儲元件1041中的數(shù)據(jù)進行異或邏輯和運算,得到被糾錯的全部數(shù)據(jù)(步驟S510)。
在第六步驟,把這樣得到的被糾正過的數(shù)據(jù)送到解密電路1013(步驟S512)。
這里,解密電路1013的結(jié)構(gòu)與實施例1相同。
在第七步驟,在解密電路1013進行解密處理的數(shù)據(jù)被寫回到緩沖存儲器1011(步驟S514)。
另一方面,在第八步驟,第六步驟中送到解密電路1013的數(shù)據(jù)并行地被送到第二差錯特征信息符計算電路1045。另外,通過在差錯特征信息符用存儲元件1044保存差錯特征信息符的中途計算值,在第二差錯特征信息符計算電路1045進行差錯特征信息符計算(步驟S516)。
在第九步驟,這樣計算的差錯特征信息符的值被送到第二差錯量計算電路1046,進行差錯量計算(步驟S518)。
在第十步驟,僅在第二被檢到差錯的位置讀入在第七步驟的緩沖存儲器內(nèi)進行了解密處理的數(shù)據(jù),在異或邏輯和運算電路1048中取出異或邏輯和,將其寫回到緩沖存儲器1011中(步驟S520)。
以下,對以上的處理中的第三步驟(步驟S506)中,第一差錯特征信息符計算電路1042進行的差錯特征信息符計算和在第八步驟(步驟S516)中使用差錯特征信息符用存儲元件1044,并由第二差錯特征信息符計算電路1045進行的差錯特征信息符計算進行更詳細(xì)說明。
即,首先,圖23是表示圖18所示的一個數(shù)據(jù)塊的數(shù)據(jù)中的數(shù)據(jù)排列的概念圖。列方向上排列著ROW0~ROW207共208字節(jié)的數(shù)據(jù),行方向上排列著COL0~COL181共182字節(jié)的數(shù)據(jù),圖24是表示第一差錯特征信息符計算電路1042的結(jié)構(gòu)的框圖。
眾所周知,含有差錯的代碼列的接收多項式y(tǒng)(x)用下式(19)表示時,差錯特征信息符以式(20)給出。
y(x)=ym-1xm-1+ym-2xm-2+…+y1x+y0…(19)Syj=Σn·1i=0yi(αj)i(j=0,...,2t·1)---(20)]]>其中,m是原始多項式的項數(shù),在圖23所示的復(fù)合碼塊中,對PI系列的行代碼糾錯時,m=182,對PO系列的行代碼糾錯時,m=208。
另外,t是可糾正的差錯數(shù),α是原始多項式的根。
以電路實現(xiàn)這種差錯特征信息符計算式的是第一差錯特征信息符計算電路1042。但是,此時不進行單純的和運算,而進行異或邏輯和運算。
第一差錯特征信息符計算電路1042配置有n個由異或邏輯和運算電路1412am和寄存器1412bm以及乘法器1412cm構(gòu)成的電路(既m=0、…、n-1)。
例如,在圖18這樣的DVD的格式中,由于確定有附加10字節(jié)的奇偶校驗碼PI,n=10(0-9),相當(dāng)于式(6)中的j。
圖25表示差錯特征信息符用存儲元件1044和第二差錯特征信息符計算電路1045的結(jié)構(gòu)的框圖。差錯特征信息符用存儲元件1044配備有存儲元件1413bm(m=0~15),第二差錯特征信息符計算電路1045配備有異或邏輯和運算電路1413am(m=0~15)和乘法器1413cm(m=0~15)。
第二差錯特征信息符計算電路1045雖然在實現(xiàn)數(shù)學(xué)式(6)的差錯特征信息符計算這一點上與第一差錯特征信息符計算電路1042相同,但是配置有m個由異或邏輯和運算電路1413am和存儲元件1413bm以及乘法器1413cm構(gòu)成的電路。例如,圖18這樣的DVD格式中,由于規(guī)定須附加16字節(jié)的奇偶校驗碼PO,所以m=16(0-15)。存儲元件1413bm用于逐次存儲差錯特征信息符的計算中間過程值,這里未加以特別的限定,但可由例如SRAM(靜態(tài)隨機存取存儲器)構(gòu)成。
根據(jù)以上結(jié)構(gòu),按照圖21的箭頭表示的步驟說明差錯特征信息符運算動作。
一旦從控制器1010把解碼命令傳送給解碼電路1200,解碼電路1200就對于復(fù)合碼數(shù)據(jù)塊化的1塊數(shù)據(jù)開始糾錯和解密處理。
首先,從緩沖存儲器1011向數(shù)據(jù)用存儲元件1041傳送圖23的ROW0的PI系列的行數(shù)據(jù),由第一差錯特征信息符計算電路1042對PI系列的行符號進行差錯特征信息符計算,由第一差錯量計算電路1043和異或邏輯和運算電路1047實行糾錯運算。
即把圖23所示的復(fù)合碼數(shù)據(jù)塊PI系列的每一行的數(shù)據(jù)yi(i=181~0)依次從緩沖存儲器1011輸入到異或邏輯和電路1412an(n=0~9),把運算結(jié)果暫時存儲在寄存器1412bn(n=0~9)中。之后,對于在寄存器1412bn中存儲的數(shù)據(jù),由乘法器1412cn(n=0~9)作乘以αn的運算,異或邏輯和電路1412an對其結(jié)果和下一數(shù)據(jù)y(i-1)進行運算。反復(fù)這樣的動作來計算出差錯特征信息符。
計算了差錯特征信息符后,由第一差錯量計算電路1043和異或邏輯和運算電路1047進行糾錯運算,然后結(jié)束對這些PI系列的行的糾錯運算。
接著,把每一行被糾正過的數(shù)據(jù)從異或邏輯和運算電路1047傳送到解密電路1013,同時被輸送到第二差錯特征信息符計算電路1045,進行PO方向的糾錯。
來自異或邏輯和運算電路1047的糾正過的數(shù)據(jù)在解密電路1013進行解密處理后被傳送到緩沖存儲器1011,并且被傳送到第二差錯特征信息符計算電路1013。
這里,糾正后的PI系列的行數(shù)據(jù)yi(i=181~10)被依次從異或邏輯和運算電路1047輸入到異或邏輯和電路1413an(n=0~15),將運算結(jié)果存儲在存儲元件1413bn(n=0~15)中。
其中,對于ROW的PI系列行數(shù)據(jù),由于在此以前不存在存儲在存儲元件1413bn(n=0~15)中的數(shù)據(jù),所以,把其值按原樣存儲在存儲元件1413bn中。此時,圖23的ROW的PI系列行數(shù)據(jù)被輸入到第二差錯特征信息符計算電路1045,并把172字節(jié)的數(shù)據(jù)存儲在存儲元件1413bn中。
接著,從緩沖存儲器1011傳送ROW的PI系列行數(shù)據(jù),由第一差錯特征信息符計算電路1042、第一差錯量計算電路1043和異或邏輯和運算電路1047進行對PI系列的行代碼的糾錯運算,解密電路1013對糾正后的ROW1數(shù)據(jù)進行解密,然后傳送到緩沖存儲器1011,在緩沖存儲器1011上進行糾錯。
另一方面,來自異或邏輯和運算電路1047的糾正后的數(shù)據(jù)被傳送到解密電路1013的同時,也被傳送到第二差錯特征信息符計算電路1045。這里,圖9所示的第二差錯特征信息符計算電路1045首先輸入ROW1的PI系列的行數(shù)據(jù)y(181)后,讀出存儲在存儲元件1413bn上的y(181)(ROW0的PI系列數(shù)據(jù)),將其傳送到乘法器1413cn(n=0~15),由乘法器1413cn乘上αn,在異或邏輯和電路1413an對計算結(jié)果和上述ROW1的PI系列行數(shù)據(jù)y(181)進行運算,把結(jié)果的值寫到存儲在存儲元件1413bn上的y(181)上。
以下同樣,每當(dāng)ROW1的PI系列行數(shù)據(jù)y(i)被輸入,便從存儲元件1413bn讀出與之對應(yīng)的數(shù)據(jù),并由異或邏輯和電路1413an進行運算,把結(jié)果的值寫到存儲在存儲元件1413bn上的y(i)上。
這樣,對于存儲元件1413bn,由于僅依次寫入新數(shù)據(jù),所以僅配備存儲172字節(jié)(=182字節(jié)-10字節(jié))×m(=16)個數(shù)據(jù)的很小的存儲容量即可。
反復(fù)進行上述的動作直到圖23的ROW207為止,對復(fù)合碼塊的PI系列的全部行代碼的糾錯運算結(jié)束時,對PO系列的全部行代碼的差錯特征信息符計算就同時結(jié)束。
之后,在第二差錯量計算電路1046中進行差錯量計算,并通過在異或邏輯和運算電路1048中進行與緩沖存儲器1011中的數(shù)據(jù)的異或邏輯和運算,來進行PO方向的糾錯。
因此,根據(jù)上面說明的解碼電路1200的結(jié)構(gòu),能產(chǎn)生下面的效果。
(1)存儲元件1413bn存儲差錯特征信息符計算中間過程,由于依次在輸入新到來的數(shù)據(jù)的每一個數(shù)據(jù)上進行寫入,可僅配備很小的存儲容量,可抑制電路面積和消耗電能的增加。
(2)由于在把來自異或邏輯和運算電路1047的糾錯后的數(shù)據(jù)傳送到解密電路1013的同時,也把其傳送到第二差錯特征信息符計算電路1045,這就減少了對緩沖存儲器1011的存取次數(shù),可實現(xiàn)其糾錯處理的高速化。圖26是說明本發(fā)明的實施例6的解碼電路1300的結(jié)構(gòu)的概略框圖。
實施例6的解碼電路1300的結(jié)構(gòu)與實施例5的解碼電路1200的結(jié)構(gòu)基本相同,如圖24所示,不同點在于還設(shè)計了分支電路1050,進行是否接收異或邏輯和運算電路1047的輸出進行解密處理和是否進行第二差錯特征信息符計算的2個分支處理。由于其它與實施例5的解碼電路1200的結(jié)構(gòu)相同,相同的部分用相同的標(biāo)號表示,不進行重復(fù)說明。
圖27是說明本發(fā)明的實施例3的解碼電路1300的動作的流程圖。
實施例6的說明中,以復(fù)合碼的內(nèi)碼(PI)、外碼(PO)、內(nèi)碼(PI)的順序進行糾錯。
這時,在上述實施例5中,通過進行第一次內(nèi)碼處理時不進行解密處理而把數(shù)據(jù)寫回到緩沖存儲器1011中,進行第二次內(nèi)碼處理時進行解密處理,可不增大電路規(guī)模而實現(xiàn)高速處理。
參照圖26和圖27,首先,一旦處理開始(步驟S600),就把輸入數(shù)據(jù)傳送到緩沖存儲器1011(步驟S602)。
接著,進行第一方向的糾錯處理(步驟S604),在分支電路1050中,對是否進行第二方向的糾錯和這是否是最后的第一方向的糾錯作出判斷(步驟S606、步驟S608)。
判斷為第二方向的糾錯時,進行第二方向的糾錯處理(步驟S610),接著,使用第一糾正處理后的緩沖存儲器的數(shù)據(jù)和差錯量進行糾錯(步驟S612)。
另一方面,判斷是否是最后的第一方向的糾錯(步驟S608),不是最后的第一方向的糾錯時,向緩沖存儲器1011寫入存儲器數(shù)據(jù)(步驟S614),處理返回到步驟S602。
另一方面,是最后的第一方向的糾錯時(步驟S608),實施解密處理(步驟S616),向緩沖存儲器1011寫入數(shù)據(jù)(步驟S618),處理結(jié)束(步驟S620)。
作為復(fù)合碼的處理順序,進行內(nèi)碼(PI)、外碼(PO)、內(nèi)碼(PI)、外碼(PO)這樣的4次糾正處理時,同樣可適用。這時,與上述相同,通過作第一次的內(nèi)碼處理時,不進行解密處理而把數(shù)據(jù)寫回到緩沖存儲器中、第二次內(nèi)碼處理時進行解密處理,可不增大電路規(guī)模而實現(xiàn)高速處理。
即使增加了對于內(nèi)碼或外碼的糾正處理次數(shù),也可作同樣的處理。實施例7的糾錯電路可作為圖1所示的盤再現(xiàn)裝置1000中的糾錯電路200使用。
或者,實施例7的糾錯電路也可作為圖17所示的盤再現(xiàn)裝置1002中的糾錯電路1012使用。
下面的說明中,對實施例7的糾錯電路作為盤再現(xiàn)裝置1000中的糾錯電路200使用的情況作說明。
下面的說明中以DVD為例,對與其上記錄的數(shù)據(jù)對應(yīng)的復(fù)合碼的糾錯和并行檢查裝置與方法進行說明,但是本發(fā)明并不限定于這種情況,也可適用于對歐幾里德法的BCH代碼等的糾錯處理。
為簡便起見,下面的說明也是舉例說明,就與(182,172,11)RS代碼的情況下的解碼算法對應(yīng)的電路結(jié)構(gòu)和算法進行說明。但是,本發(fā)明并不限定于(182,172,11)RS代碼,可適用于更一般的情況。
圖28是說明實施例7的糾錯電路200的結(jié)構(gòu)的簡略框圖。
糾錯電路200的結(jié)構(gòu)除歐幾里德計算電路30由歐幾里德計算電路2000構(gòu)成這一點外,與圖43所示的已有的糾錯電路6000的結(jié)構(gòu)相同。因此,同一部分給出了相同的標(biāo)號,并且不對其作重復(fù)說明。
圖29是說明圖28所示的歐幾里德計算電路2000的結(jié)構(gòu)的簡略框圖。
參照圖29,歐幾里德計算電路2000配置有為求出式(15)中的商多項式Qi(x)和剩余多項式Zi(x)而分別保持與多項式Zi-2(x)或多項式Zi-1(x)對應(yīng)的系數(shù)的運算中間過程的第一評價多項式寄存器組2010和第二評價多項式寄存器群2020,和為求出式(17)中的剩余多項式Y(jié)i(x)而分別保持與多項式Y(jié)i-2(x)或多項式Y(jié)i-1(x)對應(yīng)的系數(shù)的運算中間過程的第一位置多項式寄存器組2030和第二位置多項式寄存器組2040,和把與在第一評價多項式寄存器組2010中存儲的系數(shù)R0i(I=0,1,…,9)相對應(yīng)的多項式的最高次數(shù)項系數(shù)存儲為Q0的寄存器2050,和把與在第二評價多項式寄存器組2020中存儲的系數(shù)R1i(I=0,1,…,9)相對應(yīng)的多項式的最高次數(shù)項系數(shù)存儲為Q1的寄存器2060,和接收寄存器2060內(nèi)的數(shù)據(jù)變換為倒數(shù)的倒數(shù)變換器2070,以及根據(jù)寄存器2050與寄存器2060內(nèi)的數(shù)據(jù)保存計算的值Q=Q0*(1/Q1)的寄存器2080。
歐幾里德計算電路2000配置有控制歐幾里德法的計算處理的控制器2100;接收第一和第二評價多項式寄存器群2010和2020的輸出、第一和第二位置多項式寄存器群2030和2040的輸出、寄存器2050和2080以及倒數(shù)變換器2070的輸出,對應(yīng)于控制器2100的控制向選擇的輸送端傳送數(shù)據(jù)的第一選擇電路2110;接收第一選擇電路2110的輸出進行伽羅瓦體上的乘法運算的乘法器群2200;接收第一選擇電路2110的輸出進行異或邏輯和運算的exor運算器組2210;接收第一選擇電路2110的輸出進行數(shù)據(jù)交換的交換器2230;接收乘法器組2200的輸出、exor運算器群2210的輸出、交換器2230的輸出,對應(yīng)于控制器2100的控制把數(shù)據(jù)向選擇的輸送端輸送的第二選擇電路2300。
如后面說明的那樣,在第二評價多項式寄存器組2020上存儲的數(shù)據(jù)和第二位置多項式寄存器組2040上存儲的數(shù)據(jù)經(jīng)第一選擇電路2110有選擇地提供給乘法器群2200。在第一評價多項式寄存器組2010上存儲的數(shù)據(jù)和第二評價多項式寄存器組2020上存儲的數(shù)據(jù)的組,或者,第一位置多項式寄存器組2030上存儲的數(shù)據(jù)和第二位置多項式寄存器組2040上存儲的數(shù)據(jù)的組中的任何一個經(jīng)經(jīng)第一選擇電路2110有選擇地提供給exor運算器組2210。
在第一和第二評價多項式寄存器組2010和2020以及第一和第二位置多項式寄存器組2030和2040上,根據(jù)差錯特征信息符計算電路20的輸出通過控制器2100進行初始設(shè)定。寄存器2050、2060、2080的存儲內(nèi)容也通過控制器2100的控制被依次更新。
圖30是表示從圖29所示的歐幾里德計算電路2000中拿出點線包圍的區(qū)域PP的框圖,該部分包括第二評價多項式寄存器組2020、第二位置多項式寄存器組2040、寄存器2050,2060,2080、倒數(shù)變換電路2070、第一選擇電路2110的一部分、乘法器組2200、第二選擇電路2300的一部分。
第二評價多項式寄存器組2020配備分別與系數(shù)R1i(i=0,…,9)對應(yīng)的寄存器2020.0~2020.9,第二位置多項式寄存器組2040配備分別與系數(shù)B1i(i=0,…,5)對應(yīng)的寄存器2040.0~2040.5。盡管圖4中未示出,第一評價多項式寄存器組2010配備分別與系數(shù)R0i(i=0,…,9)對應(yīng)的寄存器2010.0~2010.9,第一位置多項式寄存器組2030配備分別與系數(shù)B0i(i=0,…,5)對應(yīng)的寄存器2030.0~2030.5。
第二評價多項式寄存器組2020和第二位置多項式寄存器組2040可通過控制器2100的控制進行存儲的數(shù)據(jù)的移位動作。
第一選擇電路2110配備有選擇器2110.0~2110.7。乘法器組2200配備有乘法器2200.0~2200.9。第二選擇電路2300配備有選擇器2300.0~2300.6。
選擇器2110.i(i=0,…,5)接收寄存器2020.i和寄存器2040.i的輸出,把任何一個提供給乘法器2200.i中的一側(cè)輸入。乘法器2200.i(i=0,…,5)接收寄存器2080的輸出作為另一側(cè)的輸入,把乘法運算結(jié)果提供給選擇器2300.i(i=0,…,5)。
乘法器2200.6~2200.8接收寄存器2020.6~2020.8的輸出作為一側(cè)的輸入。乘法器2200.6~2200.8接收寄存器2080的輸出作為另一側(cè)的輸入,把乘法運算結(jié)果分別提供給寄存器2020.6~2020.8。
選擇器2110.6接收寄存器2020.9的輸出和倒數(shù)變換器2070的輸出把任何一個提供給乘法器2200.9的一側(cè)輸入。選擇器2110.7接收寄存器2050和寄存器2080的輸出把任何一個提供給乘法器2200.9的另一側(cè)輸入。乘法器2200.9把乘法運算結(jié)果提供給選擇器2300.6。選擇器2300.6把乘法器2200.9的輸出提供給寄存器2080或2020.9中的任何一個。
圖31是表示圖29和圖30所示的歐幾里德計算電路2000的處理的流程的流程圖。
參照圖31,由歐幾里德互除法計算出錯位置多項式σ(x)和誤差評價多項式ω(x)的處理開始后(步驟S700),首先,進行初始值設(shè)定。
首先,對應(yīng)于式x2t=x10的系數(shù),在第一評價多項式寄存器組2010中存儲下面的R0i(i=0,1,…,10)。
R010=1,R0i=0(i=0,1,…,9)對應(yīng)于S(x)的系數(shù),在第二評價多項式寄存器組2020中存儲下面的R1i(i=0,1,…,9)。
R1i=Si(i=0,1,…,9)分別對應(yīng)于Y-1(x)以及Y0(x)的系數(shù),在第一位置多項式寄存器組2030和第二位置多項式寄存器組2040中存儲下面的B0i,B1i(i=0,1,…,,5)。
B0i=0(i=0,1,…,5)B0i=0 (i=0,1,…,5),B10=1至此初始設(shè)定處理結(jié)束(步驟S702)。
接著,控制器2100求出以R0i作為作為系數(shù)的多項式次數(shù)N0和這個多項式的最高次數(shù)項的系數(shù)Q0,把值Q0存儲在寄存器2050中。控制器2100求出以R1i作為系數(shù)的多項式次數(shù)N1和這個多項式的最高次數(shù)項的系數(shù)Q1,把值Q1存儲在寄存器2060中。寄存器2060中的數(shù)據(jù)通過倒數(shù)變換器2070進行倒數(shù)變換,經(jīng)選擇器2110.6被提供給乘法器2200.9,同時寄存器2050的輸出經(jīng)選擇器2110.7被提供給乘法器2200.9。乘法器2200.9的乘法運算結(jié)果Q(=Q0*(1/Q1))經(jīng)選擇器2300.6被存儲在寄存器2080中(步驟S704)。
通過控制器2100進行N1和0的比較(步驟S706),當(dāng)N1=0時,處理結(jié)束(步驟S730)。另一方面,N1不為0時,進行到下一處理步驟S708。
通過控制器2100進行DN=N0-N1的運算,如果DN<0,特征變量FN為1,DN≥0,特征變量FN為0(步驟S708)。
接著,由控制器2100進行特征變量FN與0的比較,F(xiàn)N=0時,處理移動到步驟S712,FN=1時,處理移動到步驟S720(步驟S710)。
首先,在步驟S710中,在FN=0時,對存儲在第二評價多項式寄存器組2020中的數(shù)據(jù)僅進行值DN的移位動作,并且由乘法器組2200進行對存儲在第二評價多項式寄存器組2020中的數(shù)據(jù)乘以寄存器2080內(nèi)的數(shù)據(jù)的乘法運算,通過再次將其存儲在第二評價多項式寄存器組2020中來進行下面的處理。
R1i=Q* R1(i-DN)(i=0,1,…,9)此時,(i-DN)為負(fù)時,進行相當(dāng)于在左邊的R1i代入0的處理(步驟S712)。
接著,對存儲在第二位置多項式寄存器組2040中的數(shù)據(jù)僅進行值DN的移位動作,并且由乘法器組2200進行對存儲在第二位置多項式寄存器組2040中的數(shù)據(jù)乘以寄存器2080內(nèi)的數(shù)據(jù)的乘法運算,通過再次將其存儲在第二位置多項式寄存器組2040中來進行下面的處理。
B1i=Q*B1(i-DN)(i=0,1,……,5)但是,(i-DN)為負(fù)時,進行相當(dāng)于在左邊的B1i代入0的處理(步驟S714)。
對于存儲在第一評價多項式寄存器組2010和第二評價多項式寄存器組2020中的數(shù)據(jù)以及第一位置多項式寄存器組2030和第二位置多項式寄存器組2040中的數(shù)據(jù),通過exor運算器組2210進行下面的運算(步驟S716)。
R0i=R0iexor R1i(i=0,1,…,9)R110=0B0i=B0iexor B1i(i=0,1,…,5)接著,判斷以變量R0i表示的多項式R0x的次數(shù)是否為t(這個例子中為5)以下(步驟S718)。多項式R0x的次數(shù)在t以下時,處理結(jié)束(步驟S730),多項式R0x的次數(shù)不在t以下時,處理移動到步驟S720。
因此,在步驟S710中FN不為0時,或者在步驟S718中多項式R0x的次數(shù)不在t以下時,通過交換器2230進行分別代入變量R0i的值和變量R1i的值、并且分別代入變量B0i的值和變量B1i的值的處理。這樣的代入之后,處理返回到步驟S704(步驟S720)。
上面的處理同樣適用于其它的里德·索羅門代碼或更一般的BCH代碼的歐幾里德法的計算。
通過上面的處理,多項式R0x對應(yīng)于誤差評價多項式ω(x)。由變量B0i表示的多項式B0x對應(yīng)于出錯位置多項式σ(x)。
由上述可知,例如在可糾錯數(shù)是t時,實行本發(fā)明的歐幾里德法的電路規(guī)模和處理量估計如下。
乘法器的個數(shù)2t在乘法運算處理中必要的步驟數(shù)4t乘法運算次數(shù)2t×(2t+1)因此,與已有的方法和電路相比,乘法器的個數(shù)和乘法運算中必要的步驟數(shù)僅與t成比例。因此,可實現(xiàn)電路規(guī)模小并且進行高速動作的糾錯裝置。
而且,由于乘法運算次數(shù)被減少,可降低消耗的電能。
權(quán)利要求
1.一種糾錯裝置,配備有對含有糾錯碼的被糾正數(shù)據(jù)進行糾錯處理的糾錯運算器,所述糾錯碼具有可進行數(shù)據(jù)塊的第一方向和第二方向的糾錯的復(fù)合碼,所述糾錯運算器含有糾正所述復(fù)合碼的第一方向的第一糾錯器(10)和糾正所述第二方向的第二糾錯器(12);可存儲所述被糾正數(shù)據(jù)的第一存儲元件(11);為確認(rèn)所述糾錯運算器的糾正不是誤糾正而利用檢錯碼進行檢錯的檢錯器;所述檢錯碼是對所述數(shù)據(jù)塊的第一方向的數(shù)據(jù)連續(xù)地設(shè)置的檢錯碼,所述檢錯器含有使用所述第一方向的糾錯檢出的差錯量和存儲在所述第一存儲元件中的數(shù)據(jù)計算出第一檢錯結(jié)果的第一邏輯運算器(9)、對應(yīng)于所述第一誤差檢出結(jié)果進行第一方向的糾錯后的檢錯的第一方向檢錯器(3)和通過使用所述第二方向的糾錯時檢出的差錯量計算出第二檢錯結(jié)果進行所述第一和所述第二檢錯結(jié)果的邏輯運算,進行所述第二方向的糾錯后的檢錯的第二方向檢錯器(2,5,6,7,8)。
2.根據(jù)權(quán)利要求1的糾錯裝置,還配備有接收并暫時存儲所述被糾正數(shù)據(jù)的第二存儲元件(14),所述第一存儲元件存儲從所述第二存儲元件讀入的代碼語句。
3.根據(jù)權(quán)利要求1的糾錯裝置,所述第二方向檢錯器具有使用所述第二方向的糾錯時檢出的差錯量對在所述數(shù)據(jù)塊的第二方向上排列的每一數(shù)據(jù)算出部分檢查結(jié)果的部分檢錯器(8),和通過在第一方向上把算出的多個所述部分檢查結(jié)果匯總起來而算出第二檢查結(jié)果的總計檢錯器(6)。
4.根據(jù)權(quán)利要求3的糾錯裝置,至少所述第二糾錯器和第一方向檢錯器并行動作。
5.根據(jù)權(quán)利要求3的糾錯裝置,所述第二方向檢錯器還含有接收并存儲所述第一方向檢錯器的檢查結(jié)果的第三存儲元件(2)和接收所述第三存儲元件中存儲的所述第一方向檢錯器的檢查結(jié)果和所述總計檢錯器的檢查結(jié)果并進行所述第二方向的糾錯后的檢錯的第二邏輯運算器(5)。
6.根據(jù)權(quán)利要求1的糾錯裝置,所述第二方向檢錯器通過進行所述第一和所述第二檢錯結(jié)果的異或邏輯和運算進行所述第二方向的糾錯后的檢錯。
7.根據(jù)權(quán)利要求1的糾錯裝置,所述第二方向檢錯器具有使用所述第二方向的糾錯時檢出的差錯量,并根據(jù)表示預(yù)先設(shè)定的所述差錯量和部分檢查結(jié)果之間的對應(yīng)的運算表,對在所述數(shù)據(jù)塊的第二方向上排列的每個數(shù)據(jù)輸出所述部分檢查結(jié)果的部分檢錯器(82,84,86);和通過在第一方向上匯總算出的多個所述部分檢查結(jié)果而算出第二檢查結(jié)果的總計檢錯器(6)。
8.根據(jù)權(quán)利要求7的糾錯裝置,所述部分檢錯器把與所述第二方向的糾錯時檢出的差錯量對應(yīng)的誤差數(shù)據(jù)經(jīng)多個步驟依次接收,所述部分檢錯器含有根據(jù)前一步驟中給出的誤差數(shù)據(jù)輸出部分檢查數(shù)據(jù)和當(dāng)前步驟中給出的誤差數(shù)據(jù)的異或邏輯和運算結(jié)果的異或邏輯和運算器(82)、和接收所述異或邏輯和運算器的輸出,根據(jù)表示預(yù)先設(shè)定的所述誤差數(shù)據(jù)和部分檢查數(shù)據(jù)之間的對應(yīng)的運算表,輸出所述部分檢查數(shù)據(jù)的表運算器(84)、和接收并保持所述表運算器輸出的所述部分檢查數(shù)據(jù),在當(dāng)前步驟中把前面步驟中的所述部分檢查數(shù)據(jù)提供給所述異或邏輯和運算器的數(shù)據(jù)保持裝置(86);所述表運算器根據(jù)最后的步驟給出的所述誤差數(shù)據(jù)對在所述數(shù)據(jù)塊的第二方向上排列的每一數(shù)據(jù)輸出所述部分檢查結(jié)果。
9.根據(jù)權(quán)利要求8的糾錯裝置,所述表運算器含有接收所述異或邏輯和運算器的輸出、分割成預(yù)定數(shù)目的組的數(shù)據(jù)分割裝置(804);和分別接收所述數(shù)據(jù)分割裝置的輸出,根據(jù)表示預(yù)定的所述誤差數(shù)據(jù)與部分檢查數(shù)據(jù)之間的對應(yīng)的運算表,輸出所述部分檢查數(shù)據(jù)的多個子表運算器(810-816);和接收來自所述多個子表運算器的輸出,并輸出所述部分檢查數(shù)據(jù)的部分檢查運算器(820,822,824)。
10.一種糾錯方法,備有下面的步驟接收含有糾錯碼的被糾正數(shù)據(jù)進行所述第一方向的糾錯處理的步驟(S108),所述糾錯碼具有可進行數(shù)據(jù)塊的第一方向和第二方向的糾錯的復(fù)合碼;接收所述被糾正數(shù)據(jù)進行所述第二方向的糾錯處理的步驟(S116);依次使用糾錯前的所述被糾正數(shù)據(jù)和通過所述第一方向的糾錯檢出的差錯量算出第一檢錯結(jié)果的步驟(S210);對應(yīng)于所述第一檢錯結(jié)果進行第一方向的糾錯后的檢錯的步驟(S110);使用所述第二方向糾錯時檢出的差錯量算出第二檢錯結(jié)果,通過進行所述第一和所述第二檢錯結(jié)果的邏輯運算,進行所述第二方向的糾錯后的檢錯的步驟(S118)。
11.根據(jù)權(quán)利要求10的糾錯方法,進行所述第二方向的糾錯后的檢錯的步驟含有使用所述第二方向的糾錯時檢出的差錯量對在所述數(shù)據(jù)塊的第二方向上排列的每一數(shù)據(jù)算出部分檢查結(jié)果的步驟(S310);和根據(jù)在第一方向上匯總算出的多個所述部分檢查結(jié)果算出第二檢查結(jié)果的步驟(S324)。
12.根據(jù)權(quán)利要求10的糾錯方法,進行所述第二方向的糾錯后的檢錯的步驟中,通過進行所述第一和所述第二檢錯結(jié)果的異或邏輯和運算進行所述第二方向的糾錯后的檢錯。
13.一種含有糾錯用復(fù)合碼的數(shù)據(jù)的解碼裝置(1100),配置有控制所述解碼裝置的動作的控制器(1010)、暫時存儲傳送來的數(shù)據(jù)的第一存儲元件(1011)、對讀入所述第一存儲元件的數(shù)據(jù)進行糾錯處理的糾錯器(1012)、對存儲在所述第一存儲元件中的數(shù)據(jù)進行解密處理的解密部(1013);所述控制器使所述糾錯器對讀入所述第一存儲元件的數(shù)據(jù)進行糾錯處理,把所述糾錯處理后的數(shù)據(jù)傳送到所述解密部,對所述糾錯處理后的數(shù)據(jù)進行解密處理后將數(shù)據(jù)寫回到所述第一存儲元件。
14.根據(jù)權(quán)利要求13的解碼裝置,所述糾錯器具有暫時存儲從所述第一存儲元件讀出的用于糾錯處理的單位數(shù)據(jù)的第二存儲元件(1121)、對所述第二存儲元件中的數(shù)據(jù)進行糾錯處理的糾錯運算部(1122)。
15.一種解碼裝置,配置有控制所述解碼裝置的動作的控制器(1010)、暫時存儲傳送來的含有糾錯用復(fù)合碼的數(shù)據(jù)的第一存儲元件(1011)、對從所述第一存儲元件讀入的數(shù)據(jù)進行第一方向的糾錯處理的第一糾錯器(1042,1043,1047)、對所述數(shù)據(jù)進行解密處理的解密部(1013)、接收所述第一方向的糾錯結(jié)果在所述第二方向上進行糾錯處理的第二糾錯器(1044,1045,1046,1048),所述控制器ⅰ)在對從所述第一存儲元件讀入的數(shù)據(jù)進行第一方向的糾錯處理后使所述解密部對第一方向糾錯后的數(shù)據(jù)進行解密處理、ⅱ)把所述解密處理后的數(shù)據(jù)寫回到所述第一存儲元件、ⅲ)與所述解密處理并行地使所述第二糾錯器對存儲在所述第一存儲元件中的數(shù)據(jù)進行糾錯并寫回到所述第一存儲元件。
16.一種解碼裝置,配置有控制所述解碼裝置的動作以反復(fù)進行第一方向的糾錯和第二方向的糾錯的控制器(1010)、暫時存儲傳送來的含有糾錯用復(fù)合碼的數(shù)據(jù)的第一存儲元件(1011)、對從所述第一存儲元件讀入的數(shù)據(jù)進行所述第一方向的糾錯處理的第一糾錯器(1041,1042,1043,1047)、把對所述數(shù)據(jù)進行解密處理的結(jié)果寫回到所述第一存儲元件中的解密部(1013)、接收所述第一方向的糾錯結(jié)果在所述第二方向上進行糾錯處理的第二糾錯器(1044,1045,1046,1048)、接收來自所述第一糾錯器的數(shù)據(jù)在已經(jīng)進行最后進行的第一方向的糾錯時把所述數(shù)據(jù)提供給所述解密部、在沒有進行最后進行的第一方向的糾錯時把所述數(shù)據(jù)寫回到所述第一存儲元件的分支裝置(1050),所述控制器ⅰ)在對從所述第一存儲元件讀入的數(shù)據(jù)進行第一方向的糾錯處理后把所述第一糾錯處理數(shù)據(jù)提供給所述分支裝置、ⅱ)在已經(jīng)進行最后進行的第一方向的糾錯時使所述解密部對第一方向的糾錯后的數(shù)據(jù)進行解密處理,并把所述解密處理后的數(shù)據(jù)寫回到所述第一存儲元件,與所述解密處理并行地使所述第二糾錯器對存儲在所述第一存儲元件中的數(shù)據(jù)進行糾錯,并寫回到所述第一存儲元件、ⅲ)在沒有進行最后進行的第一方向的糾錯時把第一方向的糾錯后的數(shù)據(jù)寫回到所述第一存儲元件的同時,使所述第二糾錯器對存儲在所述第一存儲元件中的數(shù)據(jù)進行糾錯,將其寫回到所述第一存儲元件。
17.根據(jù)權(quán)利要求15的解碼裝置,與所述解密處理并行,所述控制器在對存儲在所述第一存儲元件中的數(shù)據(jù)進行糾錯時,使所述第二糾錯器對所述第一存儲元件中存儲的數(shù)據(jù)中與所述第二糾錯處理中得到的出錯位置相當(dāng)?shù)臄?shù)據(jù)進行糾錯。
18.根據(jù)權(quán)利要求15的解碼裝置,所述第二糾錯器包括接收并暫時存儲所述第一方向的糾錯處理結(jié)果的第二存儲元件(1044)和根據(jù)所述第一糾錯器依次傳送的所述第一方向的糾錯后的數(shù)據(jù)和所述第二存儲元件存儲的數(shù)據(jù),計算在所述第二方向作糾錯的差錯特征信息符,并在所述第二存儲元件中寫入計算結(jié)果的差錯特征信息符計算裝置(1045)。
19.一種歐幾里德計算器,配備有在基于歐幾里德算法逐步導(dǎo)出表示接收數(shù)據(jù)的差錯量的誤差評價多項式的系數(shù)的運算中存儲對應(yīng)于所述誤差評價多項式的系數(shù)的第一數(shù)據(jù),而且可進行所述第一數(shù)據(jù)的移位動作的第一存儲部(2010,2020)、在基于所述歐幾里德算法逐步導(dǎo)出表示所述接收數(shù)據(jù)的出錯位置的出錯位置多項式的系數(shù)的運算中存儲對應(yīng)于所述出錯位置多項式的系數(shù)的第二數(shù)據(jù),而且可進行所述第二數(shù)據(jù)的移位動作的第二存儲部(2030,2040)、根據(jù)對應(yīng)于所述接收數(shù)據(jù)的差錯特征信息符多項式進行所述第一和第二存儲部中存儲的數(shù)據(jù)的初始設(shè)定,控制所述歐幾里德算法處理的控制器(2100)、和與所述第一和第二存儲部一體地設(shè)置并在所述歐幾里德算法中進行伽羅瓦體上的乘法運算的乘法器(2200)、由所述控制器控制,用來控制所述乘法器和所述第一與第二存儲部之間的數(shù)據(jù)傳送的選擇器(2110,2300)、對于所述第一與第二存儲部中存儲的數(shù)據(jù)在述歐幾里德算法中進行邏輯運算的邏輯運算器(2210)。
20.根據(jù)權(quán)利要求19的歐幾里德計算器,所述第一存儲部含有保持第一系數(shù)數(shù)據(jù)的第一評價多項式存儲部(2010)、保持第二系數(shù)數(shù)據(jù)并且可進行所述第二系數(shù)數(shù)據(jù)的移位動作的第二評價多項式存儲部(2020),所述第二存儲部含有保持第三系數(shù)數(shù)據(jù)的第一位置多項式存儲部(2030)、保持第四系數(shù)數(shù)據(jù)并且可進行所述第四系數(shù)數(shù)據(jù)的移位動作的第二位置多項式存儲部(2040);所述控制器根據(jù)所述差錯特征信息符多項式進行所述第一、第二、第三和第四系數(shù)的初始設(shè)定;所述乘法器ⅰ)把作為與所述第一系數(shù)數(shù)據(jù)對應(yīng)的第一多項式的最高次項的系數(shù)和與所述第二系數(shù)數(shù)據(jù)對應(yīng)的第二多項式的最高次項系數(shù)的倒數(shù)的相乘結(jié)果的系數(shù)商乘到僅以所述第二評價多項式存儲部中的所述第一多項式和第二多項式的次數(shù)的差進行了移位動作的所述第二系數(shù)數(shù)據(jù)的每一個上,再次作為所述第二系數(shù)數(shù)據(jù)在所述第二評價多項式存儲部中存儲下來,ⅱ)在僅以所述第二位置多項式存儲部中的所述次數(shù)進行了差移位動作的所述第四系數(shù)的每一個上乘以所述系數(shù)商;所述邏輯運算器對于所述第一系數(shù)數(shù)據(jù)和所述第二系數(shù)數(shù)據(jù),把分別進行異或邏輯和運算的結(jié)果作為所述第一系數(shù)存儲在所述第一評價多項式存儲部中,并且對于所述第三系數(shù)數(shù)據(jù)和所述第四系數(shù)數(shù)據(jù),把分別進行異或邏輯和運算的結(jié)果作為所述第三系數(shù)存儲在所述第一位置多項式存儲部中,所述歐幾里德計算器配備有交換器(2230),在與所述第一系數(shù)數(shù)據(jù)對應(yīng)的所述第一多項式不是預(yù)定次數(shù)以下時,或者說,在所述第二多項式的次數(shù)比所述第一多項式的次數(shù)更大時,把所述第一評價多項式存儲部中存儲的所述第一系數(shù)數(shù)據(jù)與所述第二存儲部中存儲的所述第二系數(shù)數(shù)據(jù)進行交換,并且把存儲在所述第一位置多項式存儲部中的所述第三系數(shù)數(shù)據(jù)與存儲在所述第二位置多項式存儲部中的所述第四系數(shù)數(shù)據(jù)進行交換,在所述第一多項式的次數(shù)在預(yù)定次數(shù)以下時,所述控制器把所述第一多項式判斷為所述誤差評價多項式,把所述第三多項式判斷為所述出錯位置多項式。
21.根據(jù)權(quán)利要求20的歐幾里德計算器,所述選擇器含有由所述控制器控制,有選擇地把所述第二評價多項式存儲部的輸出和所述第二位置多項式存儲部的輸出的任何一個提供給所述乘法器的第一選擇裝置(2200);和由所述控制器控制,有選擇地把所述乘法器的輸出作為所述第二系數(shù)數(shù)據(jù)提供給所述第二評價多項式存儲部,或者作為所述第四系數(shù)數(shù)據(jù)提供給所述第二位置多項式存儲部的第二選擇裝置(2300)。
22.根據(jù)權(quán)利要求21的歐幾里德計算器,所述接收數(shù)據(jù)按照BCH代碼被編碼,在按照所述BCH代碼把可進行糾正的差錯數(shù)設(shè)置為t(t自然數(shù))時,所述控制器把所述第一多項式作為X2t并且把所述第二多項式作為所述差錯特征信息符多項式S(x),進行所述第一和第二系數(shù)數(shù)據(jù)的初始設(shè)定,所述預(yù)定次數(shù)是t。
23.一種歐幾里德計算器,配備有為了逐步實施根據(jù)歐幾里德算法導(dǎo)出表示接收數(shù)據(jù)的差錯量的誤差評價多項式的系數(shù)的運算而保持運算過程中的第一系數(shù)數(shù)據(jù)的第一評價多項式存儲部(2010)、保持導(dǎo)出所述誤差評價多項式的系數(shù)的運算過程中的第二系數(shù)數(shù)據(jù),并可進行所述第二系數(shù)數(shù)據(jù)的移位動作的第二評價多項式存儲部(2020)、根據(jù)對應(yīng)于所述接收數(shù)據(jù)的差錯特征信息符多項式進行所述第一與第二系數(shù)數(shù)據(jù)的初始設(shè)定,控制所述歐幾里德算法的處理的控制器(2100)、存儲對應(yīng)于所述第一系數(shù)數(shù)據(jù)的第一多項式的最高次系數(shù)與對應(yīng)于所述第二系數(shù)數(shù)據(jù)的第二多項式的最高次系數(shù)的倒數(shù)的乘法運算結(jié)果的存儲部(2080)、對于僅以所述第二評價多項式存儲部中的所述第一多項式和所述第二多項式的次數(shù)差來進行移位動作的所述第二系數(shù)數(shù)據(jù)的每一個乘以所述存儲部的輸出,再次在所述第二評價多項式存儲部中存儲乘法運算結(jié)果,作為所述第二系數(shù)數(shù)據(jù)的乘法器(2200)、對于從所述乘法器再次被存儲在所述第二評價多項式存儲部中的所述第二系數(shù)數(shù)據(jù)和存儲在所述第一評價多項式存儲部中的所述第一系數(shù)數(shù)據(jù),將進行異或邏輯和運算的結(jié)果分別存儲在所述第一評價多項式存儲部中,作為所述第一系數(shù)數(shù)據(jù)的邏輯運算器(2210)、在與所述第一系數(shù)數(shù)據(jù)對應(yīng)的所述第一多項式不在預(yù)定次數(shù)以下的情況下或者說在所述第一多項式的次數(shù)比所述第二多項式的系數(shù)更大的情況下,在所述第一評價多項式存儲部和所述第二評價多項式存儲部之間交換存儲的數(shù)據(jù)的交換器(2230),在所述第一多項式為預(yù)定次數(shù)以下的情況下,所述控制器把所述第一多項式判定為所述誤差評價多項式。
24.根據(jù)權(quán)利要求23的歐幾里德計算器,所述接收數(shù)據(jù)按照BCH代碼被編碼,在按照所述BCH代碼把可進行糾正的差錯數(shù)設(shè)置為t(t自然數(shù))時,所述控制器把所述第一多項式作為x2t并且把所述第二多項式作為所述差錯特征信息符多項式S(x),進行所述第一和第二系數(shù)數(shù)據(jù)的初始設(shè)定,所述預(yù)定次數(shù)是t。
25.一種糾錯裝置,包括通過根據(jù)歐幾里德算法的運算求出表示接收數(shù)據(jù)的出錯位置的出錯位置多項式和表示差錯量的誤差評價多項式的歐幾里德計算裝置(2000)、根據(jù)所述出錯位置多項式和所述誤差評價多項式對所述接收數(shù)據(jù)糾錯的糾錯器6050、所述歐幾里德計算裝置具有在逐次導(dǎo)出所述誤差評價多項式的運算中,存儲對應(yīng)于所述誤差評價多項式的系數(shù)的第一數(shù)據(jù),并且可進行所述第一數(shù)據(jù)的移位動作的第一存儲部、在逐次導(dǎo)出所述出錯位置多項式的系數(shù)的運算中,存儲對應(yīng)于所述出錯位置多項式的系數(shù)的第二數(shù)據(jù),并且可進行所述第二數(shù)據(jù)的移位動作的第二存儲部、根據(jù)對應(yīng)于所述接收數(shù)據(jù)的差錯特征信息符多項式進行所述第一和第二存儲部中存儲的數(shù)據(jù)的初始設(shè)定,控制所述歐幾里德算法的處理的控制器、與所述第一存儲部和所述第二存儲部一體設(shè)置的在所述歐幾里德算法中進行伽羅瓦體上的乘法運算的的乘法器、由所述控制器控制,控制所述乘法器和所述第一與第二存儲部之間的數(shù)據(jù)傳送的選擇器、對于所述第一與第二存儲部中存儲的數(shù)據(jù)在所述歐幾里德算法中進行邏輯運算的邏輯運算器。
26.根據(jù)權(quán)利要求25的糾錯裝置所述第一存儲部含有保持第一系數(shù)數(shù)據(jù)的第一評價多項式存儲部和保持第二系數(shù)數(shù)據(jù)并且可進行所述第二系數(shù)數(shù)據(jù)的移位動作的第二評價多項式存儲部,所述第二存儲部含有保持第三系數(shù)數(shù)據(jù)的第一位置多項式存儲部、保持第四系數(shù)數(shù)據(jù)并且可進行所述第四系數(shù)數(shù)據(jù)的移位動作的第二位置多項式存儲部,所述控制器根據(jù)所述差錯特征信息符多項式進行所述第一、第二、第三和第四系數(shù)的初始設(shè)定;所述乘法器ⅰ)把作為與所述第一系數(shù)數(shù)據(jù)對應(yīng)的第一多項式的最高次項的系數(shù)和與所述第二系數(shù)數(shù)據(jù)對應(yīng)的第二多項式的最高次項系數(shù)的倒數(shù)的相乘結(jié)果的系數(shù)商乘到僅以所述第二評價多項式存儲部中的所述第一多項式和第二多項式的次數(shù)的差進行了移位動作的所述第二系數(shù)數(shù)據(jù)的每一個上,再次作為所述第二系數(shù)數(shù)據(jù)在所述第二評價多項式存儲部中存儲下來,ⅱ)在僅以所述第二位置多項式存儲部中的所述次數(shù)差進行了移位動作的所述第四系數(shù)的每一個上乘以所述系數(shù)商;所述邏輯運算器對于所述第一系數(shù)數(shù)據(jù)和所述第二系數(shù)數(shù)據(jù),把分別進行異或邏輯和運算的結(jié)果作為所述第一系數(shù)存儲在所述第一評價多項式存儲部中,并且對于所述第三系數(shù)數(shù)據(jù)和所述第四系數(shù)數(shù)據(jù),把分別進行異或邏輯和運算的結(jié)果作為所述第三系數(shù)存儲在所述第一位置多項式存儲部中;所述歐幾里德計算裝置配備有交換器,在與所述第一系數(shù)數(shù)據(jù)對應(yīng)的所述第一多項式不是預(yù)定次數(shù)以下時,或者說,在所述第二多項式的次數(shù)比所述第一多項式的次數(shù)更大時,把所述第一評價多項式存儲部中存儲的所述第一系數(shù)數(shù)據(jù)與所述第二存儲部中存儲的所述第二系數(shù)數(shù)據(jù)進行交換,并且把存儲在所述第一位置多項式存儲部中的所述第三系數(shù)數(shù)據(jù)與存儲在所述第二位置多項式存儲部中的所述第四系數(shù)數(shù)據(jù)進行交換;在所述第一多項式的次數(shù)在預(yù)定次數(shù)以下時,所述控制器把所述第一多項式判斷為所述誤差評價多項式,把所述第三多項式判斷為所述出錯位置多項式。
27.根據(jù)權(quán)利要求26的糾錯裝置,所述選擇器含有由所述控制器控制,有選擇地把所述第二評價多項式存儲部的輸出和所述第二位置多項式存儲部的輸出的任何一個提供給所述乘法器的第一選擇裝置;和由所述控制器控制,有選擇地把所述乘法器的輸出作為所述第二系數(shù)數(shù)據(jù)提供給所述第二評價多項式存儲部或者作為所述第四系數(shù)數(shù)據(jù)提供給所述第二位置多項式存儲部的第二選擇裝置。
28.根據(jù)權(quán)利要求27的糾錯裝置,所述接收數(shù)據(jù)按照BCH代碼被編碼,在按照所述BCH代碼把可進行糾正的差錯數(shù)設(shè)置為t(t自然數(shù))時,所述控制器把所述第一多項式作為x2t并且把所述第二多項式作為所述差錯特征信息符多項式S(x),進行所述第一和第二系數(shù)數(shù)據(jù)的初始設(shè)定,所述預(yù)定次數(shù)是t。
29.一種糾錯裝置,包括求出表示接收數(shù)據(jù)的出錯位置的出錯位置多項式和表示差錯量的誤差評價多項式的歐幾里德計算裝置、根據(jù)導(dǎo)出的所述出錯位置多項式和所述誤差評價多項式進行所述接收數(shù)據(jù)的糾錯的糾錯器,所述歐幾里德計算裝置具有為逐次進行導(dǎo)出所述誤差評價多項式的系數(shù)的運算而保持運算過程中的第一系數(shù)數(shù)據(jù)的第一誤差評價多項式存儲部,保持在逐次導(dǎo)出所述誤差評價多項式的系數(shù)的運算過程中的第二系數(shù)數(shù)據(jù),并且可進行所述第二數(shù)據(jù)的移位動作的第二誤差評價多項式存儲部、根據(jù)對應(yīng)于所述接收數(shù)據(jù)的差錯特征信息符多項式進行所述第一和第二系數(shù)數(shù)據(jù)的初始設(shè)定,控制所述歐幾里德算法的處理的控制器、存儲與所述第一系數(shù)數(shù)據(jù)對應(yīng)的第一多項式的最高次項系數(shù)和與所述第二系數(shù)數(shù)據(jù)對應(yīng)的第二多項式的最高次項系數(shù)的倒數(shù)的乘法運算結(jié)果的存儲部、對于僅以所述第二評價多項式存儲部中的所述第一多項式和所述第二多項式的次數(shù)差來進行移位動作的所述第二系數(shù)數(shù)據(jù)的每一個乘以所述存儲部的輸出,再次在所述第二評價多項式存儲部中存儲乘法運算結(jié)果,作為所述第二系數(shù)數(shù)據(jù)的乘法器、對于從所述乘法器再次被存儲在所述第二評價多項式存儲部中的所述第二系數(shù)數(shù)據(jù)和存儲在所述第一評價多項式存儲部中的所述第一系數(shù)數(shù)據(jù),將進行異或邏輯和運算的結(jié)果分別存儲在所述第一評價多項式存儲部中,作為所述第一系數(shù)數(shù)據(jù)的邏輯運算器、在與所述第一系數(shù)數(shù)據(jù)對應(yīng)的所述第一多項式不在預(yù)定次數(shù)以下的情況下或者說在所述第一多項式的次數(shù)比所述第二多項式的系數(shù)更大的情況下,在所述第一評價多項式存儲部和所述第二評價多項式存儲部之間交換存儲數(shù)據(jù)的交換器,在所述第一多項式為預(yù)定次數(shù)以下的情況下,所述控制器把所述第一多項式判定為所述誤差評價多項式。
30.根據(jù)權(quán)利要求29的糾錯裝置,所述接收數(shù)據(jù)按照BCH代碼被編碼,在按照所述BCH代碼把可進行糾正的差錯數(shù)設(shè)置為t(t自然數(shù))時,所述控制器把所述第一多項式作為x2t并且把所述第二多項式作為所述差錯特征信息符多項式S(x),進行所述第一和第二系數(shù)數(shù)據(jù)的初始設(shè)定,所述預(yù)定次數(shù)是t。
31.一種糾錯方法,備有根據(jù)與接收數(shù)據(jù)對應(yīng)的差錯特征信息符多項式,按照歐幾里德法求出表示誤差存在位置的出錯位置多項式和表示差錯量的誤差評價多項式的步驟;求出所述出錯位置多項式和所述誤差評價多項式的步驟包括以下步驟把第一系數(shù)數(shù)據(jù)R0i(0≤i≤2t)作為R02t=1,R0i=0(0≤i≤2t-1),把第二系數(shù)數(shù)據(jù)R1i(0≤i≤2t-1)作為R1i=Si(0≤i≤2t-1),把第三系數(shù)數(shù)據(jù)B0i作為B0i=0(0≤i≤t),把第四系數(shù)數(shù)據(jù)B1i作為B1i=0(0≤i≤t),B10=1存儲在存儲部中的第0步驟(S702)、求出對應(yīng)于所述第一系數(shù)數(shù)據(jù)R0i的第一多項式的次數(shù)N0和最高次數(shù)項系數(shù)Q0,求出對應(yīng)于所述第二系數(shù)數(shù)據(jù)R1i的第二多項式的次數(shù)N1和最高次數(shù)項系數(shù)Q1,將Q=Q0*(1/Q1)存儲在所述存儲部中的第一步驟(S704)、求出所述第一和第二多項式的次數(shù)差DN=N0-N1的第二步驟(S708)、所述次數(shù)差DN不足0時,分別改換所述第一系數(shù)數(shù)據(jù)R0i的值和所述第二系數(shù)數(shù)據(jù)R1i的值,并且分別改換所述第三系數(shù)數(shù)據(jù)B0i的值和所述第四系數(shù)數(shù)據(jù)B1i的值后,把處理移動到所述第一步驟的第三步驟(S720)、對于所述第二系數(shù)數(shù)據(jù),在(i-DN)大于0時,作為R1i=Q*R1(i-DN)(0≤i≤2t-1)存儲在所述存儲部中、在(i-DN)為負(fù)時,將所述第二系數(shù)數(shù)據(jù)R1i作為0存儲在所述存儲部中的第四步驟(S712)、對于所述第四系數(shù),在(i-DN)不為負(fù)時,作為B1i=Q*B1(i-DN)(0≤i≤t)存儲在所述存儲部中、在(i-DN)為負(fù)時,將所述第四系數(shù)B1i作為0存儲在所述存儲部中的第五步驟(S714)、對于所述第一系數(shù)數(shù)據(jù)和所述第二系數(shù)數(shù)據(jù),進行R0i=R0iexor R1i(0≤i≤2t-1)R12t=0的運算對于所述第三系數(shù)和所述第四系數(shù)進行B0i=B0iexor B1i(0≤i≤t)的運算的第六步驟(S716)、由所述第一系數(shù)數(shù)據(jù)R0i表示的所述第一多項式的次數(shù)不在t以下時,進行分別改換所述第一系數(shù)數(shù)據(jù)R0i的值和所述第二系數(shù)數(shù)據(jù)R1i的值,并且分別改換所述第三系數(shù)B0i的值和所述第四系數(shù)B1i的處理,并把處理移動到所述第一步驟的第七步驟(S718,S720),還包括在所述第一多項式的次數(shù)在t以下時,把所述誤差評價多項式作為所述第一多項式,把所述出錯位置多項式作為由所述第三系數(shù)B0i表示的第三多項式,算出出錯位置和差錯量,進行所述接收數(shù)據(jù)的糾錯的步驟。
全文摘要
數(shù)據(jù)緩沖存儲器(14)接收并暫時存儲含有可進行第一方向和第二方向的糾錯的復(fù)合碼的數(shù)據(jù)。異或邏輯和運算電路(9)使用由第一方向的糾錯檢出的差錯量并使用存儲元件(11)中存儲的數(shù)據(jù)算出第一檢錯結(jié)果。PI方向檢錯電路(3)對應(yīng)于第一檢錯結(jié)果進行第一方向的糾錯后的檢錯,PO方向部分檢錯電路(8)和PO方向總計檢錯電路(6)使用第二方向的糾錯時檢出的差錯量算出第二檢錯結(jié)果。通過第一和第二檢錯結(jié)果,異或邏輯和運算電路(5)產(chǎn)生最終的檢錯結(jié)果。
文檔編號H03M13/29GK1318836SQ0111197
公開日2001年10月24日 申請日期2001年1月31日 優(yōu)先權(quán)日2000年1月31日
發(fā)明者大山達史, 山內(nèi)英樹, 永井宏樹, 有坂通 申請人:三洋電機株式會社