專利名稱:線性分組碼修正系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種線性分組碼修正系統(tǒng)與方法;特別是有關(guān)于一種應(yīng)用于光學(xué)記錄系統(tǒng)的線性分組碼修正系統(tǒng)與方法。
背景技術(shù):
光學(xué)記錄系統(tǒng)在進(jìn)行數(shù)據(jù)的寫入或讀取時(shí),需要先進(jìn)行數(shù)據(jù)的編碼或解碼。以數(shù)字多功能光盤(Digital Versatile Disc,DVD)系統(tǒng)為例,當(dāng)DVD系統(tǒng)在進(jìn)行數(shù)據(jù)的編碼寫入時(shí),是以一個(gè)糾錯(cuò)區(qū)塊(Error CorrectionCode block,ECC block)作為單位,循序?qū)⒁粋€(gè)糾錯(cuò)區(qū)塊中的數(shù)據(jù)寫入至DVD碟片中。
欲寫入至DVD片的數(shù)字?jǐn)?shù)據(jù)是先被分解成多個(gè)2048比特的主要數(shù)據(jù),并暫存至光學(xué)記錄系統(tǒng)的緩沖存儲(chǔ)器中。在DVD系統(tǒng)中,每一個(gè)主要數(shù)據(jù)是具有一代表其位置及號(hào)碼的4比特認(rèn)證數(shù)據(jù)(identification data)以及關(guān)于版權(quán)問題的一6比特版權(quán)管理信息(copyright management information)。DVD系統(tǒng)編碼數(shù)字?jǐn)?shù)據(jù)的第一個(gè)步驟,便是對(duì)于認(rèn)證數(shù)據(jù)進(jìn)行糾錯(cuò)計(jì)算,以獲得2比特的一認(rèn)證糾錯(cuò)碼(identification error detection code)。
在獲得認(rèn)證糾錯(cuò)碼之后,DVD系統(tǒng)便將認(rèn)證數(shù)據(jù)、認(rèn)證糾錯(cuò)碼、版權(quán)管理信息以及主要數(shù)據(jù)暫存至DVD系統(tǒng)的緩沖存儲(chǔ)器中,并在緩沖存儲(chǔ)器中儲(chǔ)存成12×172(12列172行)的區(qū)塊。接著,DVD系統(tǒng)會(huì)將暫存于存儲(chǔ)器中的數(shù)據(jù)讀出,并對(duì)這些數(shù)據(jù)進(jìn)行糾錯(cuò)計(jì)算,以獲得這些數(shù)據(jù)的糾錯(cuò)碼(Errordetection Code,EDC)。
認(rèn)證糾錯(cuò)碼以及糾錯(cuò)碼是采用循環(huán)冗余碼(Cyclic Redundancy Code,CRC)檢測(cè)讀出數(shù)據(jù)是否有錯(cuò)。CRC是用以檢錯(cuò),具有很強(qiáng)的檢錯(cuò)功能,但卻無法對(duì)發(fā)生錯(cuò)誤的數(shù)據(jù)進(jìn)行修補(bǔ),因此熟知CRC皆僅用來檢錯(cuò)。在數(shù)字?jǐn)?shù)據(jù)的編碼過程中,糾錯(cuò)碼的計(jì)算是其中相當(dāng)重要的一個(gè)步驟。
在計(jì)算完糾錯(cuò)碼后,DVD系統(tǒng)會(huì)將主要數(shù)據(jù)自緩沖存儲(chǔ)器中讀出,并將其加擾(scramble),以產(chǎn)生一加擾數(shù)據(jù)(scrambled data),之后再暫存至緩沖存儲(chǔ)器中。此一步驟完成后,便稱之為一加擾數(shù)據(jù)區(qū)段(scrambled data sector)。在完成16個(gè)加擾數(shù)據(jù)區(qū)段后,由于每一個(gè)加擾數(shù)據(jù)區(qū)段僅有糾錯(cuò)碼進(jìn)行糾錯(cuò),但沒有糾錯(cuò)碼進(jìn)行錯(cuò)誤的糾正。因此,DVD系統(tǒng)會(huì)在針對(duì)16個(gè)加擾數(shù)據(jù)區(qū)段進(jìn)行糾錯(cuò)計(jì)算,以獲得16個(gè)加擾數(shù)據(jù)區(qū)段的糾錯(cuò)碼。將糾錯(cuò)碼暫存至緩沖存儲(chǔ)器后,即完成一個(gè)糾錯(cuò)區(qū)塊。
然而在數(shù)據(jù)編碼的過程當(dāng)中,常常容易發(fā)生數(shù)據(jù)更改的問題,例如數(shù)據(jù)在某一比特從0變成1或從1變成0的情況發(fā)生。當(dāng)發(fā)生這種情況時(shí),熟知的編碼技術(shù)就必須從頭計(jì)算糾錯(cuò)碼以及糾錯(cuò)碼,因此造成嚴(yán)重的硬件浪費(fèi)及執(zhí)行時(shí)間的浪費(fèi)。
為了解決此一問題,美國專利第6357030號(hào)特別針對(duì)糾錯(cuò)碼的計(jì)算方式提出一套解決方案。第6357030號(hào)專利中提到可以不用重新計(jì)算整個(gè)糾錯(cuò)區(qū)塊,僅需針對(duì)錯(cuò)誤的位置以及比特變化(0變1或1變0),便可重新計(jì)算出修正糾錯(cuò)碼,在加入原本的糾錯(cuò)碼中即可得到新的糾錯(cuò)碼。
然而第6357030號(hào)專利所揭露的技術(shù)在進(jìn)行更正時(shí),必須重新根據(jù)錯(cuò)誤比特進(jìn)行計(jì)算,以獲得用來修正的修正碼。無法直接快速的填入修正碼,對(duì)于硬件的資源節(jié)省上沒有很大的幫助。而且并未對(duì)糾錯(cuò)區(qū)塊內(nèi)部的糾錯(cuò)碼進(jìn)行更正,因此糾錯(cuò)碼仍須重新進(jìn)行計(jì)算。
發(fā)明內(nèi)容
本發(fā)明的一目的在于提供一種糾錯(cuò)碼的修正方法,可以在數(shù)據(jù)發(fā)生更改時(shí),避免重新計(jì)算糾錯(cuò)碼。
一種糾錯(cuò)碼修正系統(tǒng),當(dāng)一原始數(shù)據(jù)中一認(rèn)證數(shù)據(jù)加入一差錯(cuò)修正數(shù)據(jù)時(shí),用以修正該認(rèn)證數(shù)據(jù)經(jīng)過一認(rèn)證編碼程序所產(chǎn)生的一認(rèn)證糾錯(cuò)碼以及修正該原始數(shù)據(jù)經(jīng)過一數(shù)據(jù)編碼程序產(chǎn)生的一糾錯(cuò)碼。該修正系統(tǒng)包含一編碼模塊以及一修正模塊。該編碼模塊是用以根據(jù)該認(rèn)證編碼程序?qū)υ摬铄e(cuò)修正數(shù)據(jù)進(jìn)行編碼而產(chǎn)生一差錯(cuò)認(rèn)證糾錯(cuò)碼,以及根據(jù)該數(shù)據(jù)編碼程序?qū)υ摬铄e(cuò)修正數(shù)據(jù)以及該差錯(cuò)認(rèn)證糾錯(cuò)碼進(jìn)行編碼而產(chǎn)生一相對(duì)應(yīng)的差錯(cuò)碼。該修正模塊是用以儲(chǔ)存該差錯(cuò)認(rèn)證糾錯(cuò)碼以及該差錯(cuò)碼,并將差錯(cuò)認(rèn)證糾錯(cuò)碼與該認(rèn)證糾錯(cuò)碼做修正運(yùn)算而產(chǎn)生一認(rèn)證糾錯(cuò)取代碼以取代該認(rèn)證糾錯(cuò)碼,最后將該差錯(cuò)碼與該糾錯(cuò)碼做修正運(yùn)算而產(chǎn)生一取代碼以取代該糾錯(cuò)碼。
當(dāng)一原始數(shù)據(jù)發(fā)生了數(shù)據(jù)更改時(shí),透過本發(fā)明可以直接找出造成數(shù)據(jù)更改的差錯(cuò)修正數(shù)據(jù),以及相對(duì)應(yīng)的差錯(cuò)碼。之后便將該差錯(cuò)碼與原始糾錯(cuò)碼進(jìn)行修正運(yùn)算,而獲得一取代碼來取代原始的糾錯(cuò)碼。因此本發(fā)明不需要重復(fù)進(jìn)行繁復(fù)的數(shù)據(jù)編碼程序,因而可以節(jié)省系統(tǒng)處理數(shù)據(jù)更改的時(shí)間,并且不會(huì)耗費(fèi)硬件的資源。
關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可以藉由以下的發(fā)明詳述及所附附圖得到進(jìn)一步的了解。
圖1是本發(fā)明第一具體實(shí)施例修正系統(tǒng)及一存儲(chǔ)器的示意圖。
圖2是本發(fā)明第二具體實(shí)施例修正系統(tǒng)示意圖。
圖3是本發(fā)明的修正方法的流程圖。
附圖標(biāo)號(hào)說明10、40修正系統(tǒng) 12、42編碼模塊14、44修正模塊 16存儲(chǔ)器20、50原始數(shù)據(jù) 22線性分組碼24預(yù)定修正部分 25線性分組碼的修正部分30、60差錯(cuò)修正數(shù)據(jù) 31、65差錯(cuò)碼32、66取代碼 52糾錯(cuò)碼53認(rèn)證數(shù)據(jù) 54認(rèn)證糾錯(cuò)碼55版權(quán)管理信息 56主要數(shù)據(jù)57認(rèn)證糾錯(cuò)碼的修正部分 59糾錯(cuò)碼的修正部份62認(rèn)證差錯(cuò)修正數(shù)據(jù) 63差錯(cuò)認(rèn)證糾錯(cuò)碼64認(rèn)證糾錯(cuò)取代碼具體實(shí)施方式
請(qǐng)參閱圖1,圖1是本發(fā)明第一具體實(shí)施例的修正系統(tǒng)10及存儲(chǔ)器16的示意圖。當(dāng)光學(xué)記錄系統(tǒng)(未顯示)在編碼暫存一段數(shù)據(jù)后,如果該段數(shù)據(jù)其中一原始數(shù)據(jù)20發(fā)生更改,意即于原始數(shù)據(jù)20中一預(yù)定修正部分24加入了一差錯(cuò)修正數(shù)據(jù)30以做修正時(shí),本發(fā)明則提供一種修正系統(tǒng)10可對(duì)原始數(shù)據(jù)20經(jīng)過一數(shù)據(jù)編碼程序所產(chǎn)生的一線性分組碼22進(jìn)行修正。其中,原始數(shù)據(jù)20與線性分組碼22則是暫存于光學(xué)記錄系統(tǒng)中的一存儲(chǔ)器16中。
修正系統(tǒng)10包含一編碼模塊12以及一修正模塊14。如圖1所示,其中虛線箭頭L11表示編碼模塊12是用以事先根據(jù)該數(shù)據(jù)編碼程序?qū)⒉铄e(cuò)修正數(shù)據(jù)30進(jìn)行編碼而產(chǎn)生一相對(duì)應(yīng)的差錯(cuò)碼31,并將差錯(cuò)碼31儲(chǔ)存至修正模塊14中。修正模塊14將差錯(cuò)碼31與線性分組碼修正部分25做XOR邏輯運(yùn)算產(chǎn)生取代碼32,并將取代碼32寫入并取代線性分組碼22。在本發(fā)明的第一具體實(shí)施例中,編碼模塊12是與熟知光學(xué)記錄系統(tǒng)中用以編碼數(shù)據(jù)的裝置相同,并且因?yàn)椴铄e(cuò)修正數(shù)據(jù)30為事先已知,因此編碼模塊12可以被軟件取代,再將結(jié)果送至修正模塊14即可。意即編碼模塊12可以是一程序模塊,不需另外增加熟知光學(xué)記錄系統(tǒng)的硬件需求。
藉此,本發(fā)明的修正系統(tǒng)10則直接將取代碼32加入取代原始的線性分組碼22,便可以獲得原始數(shù)據(jù)20更改后的線性分組碼。線性分組碼的種類則包含了糾錯(cuò)碼(Error Detection Code,EDC),以及糾錯(cuò)碼中的外部檢查碼(OuterParity Code,PO)及內(nèi)部檢查碼(Inner Parity Code,PI)。如此一來,當(dāng)原始數(shù)據(jù)20發(fā)生更改時(shí),光學(xué)記錄系統(tǒng)就不需要再對(duì)更改后的原始數(shù)據(jù)重新進(jìn)行數(shù)據(jù)編碼程序,可以有效節(jié)省光學(xué)紀(jì)錄系統(tǒng)的硬件資源以及存儲(chǔ)器的頻寬要求。
本發(fā)明第一具體實(shí)施例是針對(duì)原始數(shù)據(jù)20經(jīng)過一次編碼獲得相對(duì)應(yīng)線性分組碼22的情形。如果原始數(shù)據(jù)20內(nèi)包含的數(shù)據(jù),是經(jīng)過編碼處理的數(shù)據(jù)時(shí),其情形會(huì)較為復(fù)雜。請(qǐng)參閱圖2,圖2是本發(fā)明第二具體實(shí)施例的修正系統(tǒng)40的示意圖。本發(fā)明第二具體實(shí)施例中,一原始數(shù)據(jù)50以及其相對(duì)應(yīng)的一糾錯(cuò)碼52是暫存于存儲(chǔ)器16中。原始數(shù)據(jù)50包含了一認(rèn)證數(shù)據(jù)53、一認(rèn)證糾錯(cuò)碼54、一版權(quán)管理信息(copyright management infromation)55以及一主要數(shù)據(jù)56。認(rèn)證數(shù)據(jù)53是用以標(biāo)明主要數(shù)據(jù)56的來源位置。認(rèn)證糾錯(cuò)碼54是用以對(duì)認(rèn)證數(shù)據(jù)53進(jìn)行糾錯(cuò)與驗(yàn)證,其是由認(rèn)證數(shù)據(jù)53經(jīng)過一認(rèn)證糾錯(cuò)碼編碼程序編碼而得。版權(quán)管理信息55是用以標(biāo)明原始數(shù)據(jù)50的版權(quán)。
圖2的實(shí)施例中,原始數(shù)據(jù)50內(nèi)包含了認(rèn)證數(shù)據(jù)53以及認(rèn)證糾錯(cuò)碼54。因此當(dāng)原始數(shù)據(jù)50的一預(yù)定修正部分58發(fā)生更改,即加入一差錯(cuò)修正數(shù)據(jù)60時(shí),如果差錯(cuò)修正數(shù)據(jù)60同時(shí)造成認(rèn)證數(shù)據(jù)53發(fā)生更改,意即差錯(cuò)修正數(shù)據(jù)60包含一認(rèn)證差錯(cuò)修正數(shù)據(jù)62時(shí),則認(rèn)證數(shù)據(jù)53所對(duì)應(yīng)的認(rèn)證糾錯(cuò)碼54亦需隨認(rèn)證數(shù)據(jù)53而更改。如此一來,原始數(shù)據(jù)50相對(duì)應(yīng)的糾錯(cuò)碼52不能直接針對(duì)差錯(cuò)修正數(shù)據(jù)相對(duì)應(yīng)的更改,糾錯(cuò)碼52必須確認(rèn)更改后的認(rèn)證糾錯(cuò)碼后,才獲得整個(gè)原始數(shù)據(jù)更改后的完整內(nèi)容,才可以依據(jù)這個(gè)完整內(nèi)容再進(jìn)行更改。
如圖2所示,修正系統(tǒng)40包含了一編碼模塊42以及一修正模塊44。當(dāng)一差錯(cuò)修正數(shù)據(jù)60加入于原始數(shù)據(jù)50,且差錯(cuò)修正數(shù)據(jù)60包含認(rèn)證差錯(cuò)修正數(shù)據(jù)62以修正認(rèn)證數(shù)據(jù)53時(shí),修正系統(tǒng)40則用以修正認(rèn)證數(shù)據(jù)53經(jīng)過一認(rèn)證編碼程序所產(chǎn)生的認(rèn)證糾錯(cuò)碼54以及用以修正原始數(shù)據(jù)50經(jīng)過一數(shù)據(jù)編碼程序產(chǎn)生的糾錯(cuò)碼52。
如圖2所示,其中虛線箭頭L41表示編碼模塊42會(huì)事先依據(jù)該認(rèn)證糾錯(cuò)碼編碼程序?qū)⒄J(rèn)證碼差錯(cuò)修正數(shù)據(jù)62編碼為一相對(duì)應(yīng)的差錯(cuò)認(rèn)證糾錯(cuò)碼63,修正模塊44則將差錯(cuò)認(rèn)證糾錯(cuò)碼63與認(rèn)證糾錯(cuò)碼的修正部分57做XOR產(chǎn)生認(rèn)證糾錯(cuò)取代碼64以取代原始的認(rèn)證糾錯(cuò)碼54。同樣,虛線箭頭L43則表示編碼模塊42會(huì)事先根據(jù)糾錯(cuò)碼編碼程序?qū)⒉铄e(cuò)修正數(shù)據(jù)62及已編好的差錯(cuò)認(rèn)證糾錯(cuò)碼63編碼而成一對(duì)應(yīng)的差錯(cuò)碼65。修正模塊44則會(huì)儲(chǔ)存差錯(cuò)認(rèn)證糾錯(cuò)碼63以及差錯(cuò)碼65,以便發(fā)生更改時(shí)得以直接進(jìn)行修正運(yùn)算。當(dāng)發(fā)生更改時(shí),修正模塊44將差錯(cuò)碼65與糾錯(cuò)碼的修正部分59做XOR邏輯運(yùn)算而產(chǎn)生取代碼66以取代原始糾錯(cuò)碼52。在本發(fā)明的第二具體實(shí)施例修正系統(tǒng)40中,編碼模塊42是與熟知光學(xué)記錄系統(tǒng)中用以編碼數(shù)據(jù)的裝置相同,并且編碼模塊的功能可以被軟件取代,再將結(jié)果送至修正模塊即可,不需另外增加熟知光學(xué)記錄系統(tǒng)的硬件需求。
藉此,本發(fā)明的修正系統(tǒng)則直接將認(rèn)證糾錯(cuò)取代碼64以及取代碼66加入原始的認(rèn)證糾錯(cuò)碼54以及糾錯(cuò)碼52,便可以獲得發(fā)生數(shù)據(jù)更改后的認(rèn)證糾錯(cuò)碼以及糾錯(cuò)碼。如此一來,當(dāng)發(fā)生數(shù)據(jù)更改時(shí),光學(xué)記錄系統(tǒng)就不需要再對(duì)更改后的數(shù)據(jù)重新進(jìn)行數(shù)據(jù)編碼程序,可以有效節(jié)省光學(xué)紀(jì)錄系統(tǒng)的硬件資源以及存儲(chǔ)器的頻寬要求。
如圖2所示,接下來將以實(shí)例說明本發(fā)明。首先解釋用以計(jì)算認(rèn)證糾錯(cuò)碼的認(rèn)證糾錯(cuò)碼編碼程序。首先可將認(rèn)證數(shù)據(jù)53表示為ID(x),認(rèn)證糾錯(cuò)碼54表示為IED(x),則認(rèn)證糾錯(cuò)碼編碼程序用以計(jì)算認(rèn)證糾錯(cuò)碼的方程序如下IED(x)=Σj=45C0,ix5-j={ID(x)·x2}mod{g(x)}]]>其中,ID(x)=Σj=03C0,jx3-j,]]>g(x)=(x+1)(x+α),α是為多項(xiàng)式p(x)=x8+x4+x3+x2+1的根。
接下來可將新的認(rèn)證數(shù)據(jù)ID_NEW(x)表示為ID(x)+DATA_BIT(x),而此時(shí)認(rèn)證糾錯(cuò)碼應(yīng)隨的更改為新的認(rèn)證糾錯(cuò)碼IED_NEW(x),此時(shí)新的認(rèn)證數(shù)據(jù)與新的認(rèn)證糾錯(cuò)碼的關(guān)系式應(yīng)該表示如下IED_NEW(x)={ID_NEW(x)·x2}mod{g(x)}將ID_NEW(x)=ID(x)+DATA_BIT(x)代入,則得IED_NEW(x)={(ID(x)+DATA_BIT(x))·x2}mod{g(x)}={ID(x)·x2}mod{g(x)}+{DATA_BIT(x)·x2}mod{g(x)}=IED(x)+IED_DATA_BIT(x)其中,IED_DATA_BIT(x)即為差錯(cuò)認(rèn)證糾錯(cuò)碼假設(shè)差錯(cuò)修正數(shù)據(jù)60是修改認(rèn)證數(shù)據(jù)53中的一比特?cái)?shù)據(jù)使其由0轉(zhuǎn)變?yōu)?時(shí),根據(jù)上式計(jì)算,其代表為原來的認(rèn)證數(shù)據(jù)53加上「h020000」,此「h020000」即為本發(fā)明所稱的差錯(cuò)修正數(shù)據(jù)60。如果再將「h020000」代入方程序中,則會(huì)得到其所代表的差錯(cuò)認(rèn)證糾錯(cuò)碼63為「h3e3c」。
接下來描述本發(fā)明編碼模塊編碼糾錯(cuò)碼的方法。由于糾錯(cuò)碼必須隨著認(rèn)證數(shù)據(jù)以及認(rèn)證糾錯(cuò)碼更改而更改,如果將認(rèn)證數(shù)據(jù)表示為ID(x),認(rèn)證糾錯(cuò)碼表示為IED(x),版權(quán)管理信息表示為CPR MAI(x),主要數(shù)據(jù)表示為M(x),因此數(shù)據(jù)編碼程序編碼糾錯(cuò)碼的方式可以表示如下EDC(x)=Σi=310bixi=I(x)mod{g(x)}]]>其中,I(x)=ID(x)+IED(x)+CPR_MAI(x)+M(x)=Σi=1651132bixi]]>其中b是為多項(xiàng)式g(x)=x32+x31+x4+1的根。
接下來同樣將新的認(rèn)證數(shù)據(jù)IDN_EW(x)表示為ID(x)+DATA_BIT(x),新的認(rèn)證糾錯(cuò)碼IED_NEW(x)亦隨之表示為IED(x)+IED_DATA_BIT(x),并將新的糾錯(cuò)碼表示為EDC_NEW(x),此時(shí)數(shù)據(jù)編碼程序所用以計(jì)算糾錯(cuò)碼的方程序可以表示為EDC_NEW(x)={ID_NEW(x)+IED_NEW(x)+CPR_MAI(x)+M(x)}mod{g(x)}={ID(x)+IED(x)+CPR_MAI(x)+M(x)}mod{g(x)}+{DATA_BIT(x)+IED_DATA_BIT(x)}mod{g(x)}=EDC(x)+{DATA_BIT(x)+IED_DATA_BIT(x)}mod{g(x)} 由上式可知,新的糾錯(cuò)碼可分解成原先的糾錯(cuò)碼加上修正數(shù)據(jù)以及認(rèn)證糾錯(cuò)修正碼進(jìn)行數(shù)據(jù)編碼計(jì)算而得的修正碼。
假設(shè)差錯(cuò)修正數(shù)據(jù)60是修改認(rèn)證數(shù)據(jù)53中的一比特?cái)?shù)據(jù)使其由0轉(zhuǎn)變?yōu)?時(shí),根據(jù)上式計(jì)算,其代表為原來的認(rèn)證數(shù)據(jù)53加上「h020000」,此「h020000」即為本發(fā)明所稱的差錯(cuò)修正數(shù)據(jù)60。如果再將「h020000」代入方程序中,則會(huì)得到其所代表的差錯(cuò)碼為「hbc8ea19d」。
從上面這個(gè)結(jié)果可以看出,當(dāng)光學(xué)記錄系統(tǒng)在編碼數(shù)據(jù)時(shí),如果發(fā)生已經(jīng)編碼結(jié)束的數(shù)據(jù),其認(rèn)證數(shù)據(jù)中一比特由原先的0轉(zhuǎn)變?yōu)?,則此時(shí)的光學(xué)記錄系統(tǒng)僅需利用本發(fā)明的修正系統(tǒng)40將先前已計(jì)算而得的差錯(cuò)認(rèn)證糾錯(cuò)碼「h3e3c」送到修正模塊44,修正模塊44將差錯(cuò)認(rèn)證糾錯(cuò)碼與認(rèn)證糾錯(cuò)碼的修正部分做XOR邏輯運(yùn)算產(chǎn)生認(rèn)證糾錯(cuò)取代碼以取代原先的認(rèn)證糾錯(cuò)碼。以及將差錯(cuò)糾錯(cuò)碼「hbc8ea19d」送到修正模塊44,修正模塊44將差錯(cuò)糾錯(cuò)碼與糾錯(cuò)碼的修正部分做XOR邏輯運(yùn)算產(chǎn)生取代碼以取代原始糾錯(cuò)碼,不需再重新進(jìn)行計(jì)算認(rèn)證糾錯(cuò)碼編碼程序以及數(shù)據(jù)編碼程序。
因此本發(fā)明的修正系統(tǒng)不需再對(duì)認(rèn)證修正數(shù)據(jù)重新計(jì)算,即可利用先前計(jì)算完成的認(rèn)證糾錯(cuò)修正碼填入至原始的認(rèn)證糾錯(cuò)碼中,較熟知技術(shù)方便許多。
請(qǐng)參閱圖3,圖3是本發(fā)明的修正方法的流程圖。接下來將詳述本發(fā)明的方法流程,本發(fā)明的糾錯(cuò)碼修正方法包含下列步驟步驟S70開始,接收差錯(cuò)修正數(shù)據(jù)60。
步驟S72判斷差錯(cuò)修正數(shù)據(jù)60是否包含認(rèn)證差錯(cuò)修正數(shù)據(jù)62,若是則進(jìn)行步驟S74,若否則進(jìn)行步驟S76。
步驟S74事先根據(jù)認(rèn)證編碼程序?qū)φJ(rèn)證差錯(cuò)修正數(shù)據(jù)62進(jìn)行編碼而產(chǎn)生差錯(cuò)認(rèn)證糾錯(cuò)碼63。
步驟S76根據(jù)數(shù)據(jù)編碼程序?qū)Σ铄e(cuò)修正數(shù)據(jù)60以及差錯(cuò)認(rèn)證糾錯(cuò)碼63進(jìn)行編碼而產(chǎn)生一相對(duì)應(yīng)的差錯(cuò)碼65。
步驟S77儲(chǔ)存差錯(cuò)認(rèn)證糾錯(cuò)碼63以及差錯(cuò)碼63。
步驟S78將差錯(cuò)認(rèn)證糾錯(cuò)碼63與認(rèn)證糾錯(cuò)碼的修正部分57做XOR邏輯運(yùn)算產(chǎn)生認(rèn)證糾錯(cuò)取代碼64。
步驟S79將差錯(cuò)碼65與糾錯(cuò)碼的修正部分59做XOR邏輯運(yùn)算以產(chǎn)生取代碼66。
步驟S80根據(jù)認(rèn)證糾錯(cuò)取代碼64來取代認(rèn)證糾錯(cuò)碼54。
步驟S82根據(jù)取代碼66來取代糾錯(cuò)碼56。
步驟S84結(jié)束。
當(dāng)一原始數(shù)據(jù)在糾錯(cuò)碼編碼完成后,該原始數(shù)據(jù)如果發(fā)生數(shù)據(jù)更改,并且其更改的差錯(cuò)部份為已知,熟知技術(shù)則需要在重復(fù)進(jìn)行繁復(fù)的數(shù)據(jù)編碼程序,以獲得新的糾錯(cuò)碼。透過本發(fā)明的實(shí)行,只要是線性區(qū)塊的編碼(LinearBlock Code),即可以直接找出造成數(shù)據(jù)更改的修正數(shù)據(jù),以及相對(duì)應(yīng)的修正碼后,直接修正發(fā)生更改前的糾錯(cuò)碼而獲得更新后的糾錯(cuò)碼。因此可以節(jié)省系統(tǒng)處理數(shù)據(jù)更改的時(shí)間,并且不會(huì)耗費(fèi)硬件的資源。
藉由以上較佳具體實(shí)施例的詳述,是希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所揭露的較佳具體實(shí)施例來對(duì)本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排于本發(fā)明所欲申請(qǐng)的權(quán)利要求的范疇內(nèi)。因此,本發(fā)明所申請(qǐng)的權(quán)利要求的范疇?wèi)?yīng)該根據(jù)上述的說明作最寬廣的解釋,以致使其涵蓋所有可能的改變以及具相等性的安排。
權(quán)利要求
1.一種修正系統(tǒng),當(dāng)一原始數(shù)據(jù)中一預(yù)定修正部分與一差錯(cuò)修正數(shù)據(jù)作修正時(shí),用以對(duì)該原始數(shù)據(jù)經(jīng)過一數(shù)據(jù)編碼程序所產(chǎn)生的一線性分組碼進(jìn)行修正,該修正系統(tǒng)包含一編碼模塊,用以事先根據(jù)該數(shù)據(jù)編碼程序?qū)⒃摬铄e(cuò)修正數(shù)據(jù)進(jìn)行編碼而產(chǎn)生一相對(duì)應(yīng)的差錯(cuò)碼;以及一修正模塊,用以儲(chǔ)存該差錯(cuò)碼,并將該差錯(cuò)碼與該線性區(qū)段碼做修正運(yùn)算而產(chǎn)生一取代碼,以取代該線性區(qū)段碼。
2.如權(quán)利要求1所述的修正系統(tǒng),其中該編碼模塊為一程序模塊。
3.如權(quán)利要求1所述的修正系統(tǒng),其中該原始數(shù)據(jù)中包含一認(rèn)證數(shù)據(jù)、一認(rèn)證糾錯(cuò)碼以及一主要數(shù)據(jù),該認(rèn)證數(shù)據(jù)是用以標(biāo)明該主要數(shù)據(jù)的來源位置,該認(rèn)證糾錯(cuò)碼是用以對(duì)該認(rèn)證數(shù)據(jù)進(jìn)行糾錯(cuò)與驗(yàn)證。
4.如權(quán)利要求3所述的修正系統(tǒng),其中該認(rèn)證糾錯(cuò)碼是將該認(rèn)證數(shù)據(jù)經(jīng)過一認(rèn)證編碼程序編碼而得。
5.如權(quán)利要求4所述的修正系統(tǒng),當(dāng)該差錯(cuò)修正數(shù)據(jù)包含一認(rèn)證差錯(cuò)修正數(shù)據(jù)以修正該認(rèn)證數(shù)據(jù)時(shí),該編碼模塊會(huì)事先依據(jù)該認(rèn)證編碼程序?qū)⒃撜J(rèn)證差錯(cuò)修正數(shù)據(jù)編碼為一相對(duì)應(yīng)的差錯(cuò)認(rèn)證糾錯(cuò)碼。
6.如權(quán)利要求5所述的修正系統(tǒng),其中該修正模塊是根據(jù)該差錯(cuò)認(rèn)證糾錯(cuò)碼與被修正的認(rèn)證糾錯(cuò)碼做XOR運(yùn)算而產(chǎn)生認(rèn)證糾錯(cuò)取代碼以取代該認(rèn)證糾錯(cuò)碼。
7.如權(quán)利要求6所述的修正系統(tǒng),其中該編碼模塊是事先根據(jù)該數(shù)據(jù)編碼程序?qū)⒃摬铄e(cuò)修正數(shù)據(jù)以及該差錯(cuò)認(rèn)證糾錯(cuò)碼編碼而成該差錯(cuò)碼。
8.如權(quán)利要求1所述的修正系統(tǒng),其中該線性分組碼是為一糾錯(cuò)碼(errordetection code,EDC)。
9.一種糾錯(cuò)碼修正系統(tǒng),當(dāng)一原始數(shù)據(jù)中一認(rèn)證數(shù)據(jù)加入一差錯(cuò)修正數(shù)據(jù)時(shí),用以修正該認(rèn)證數(shù)據(jù)經(jīng)過一認(rèn)證編碼程序所產(chǎn)生的一認(rèn)證糾錯(cuò)碼以及修正該原始數(shù)據(jù)經(jīng)過一數(shù)據(jù)編碼程序產(chǎn)生的一糾錯(cuò)碼,該修正系統(tǒng)包含一編碼模塊,用以根據(jù)該認(rèn)證編碼程序?qū)υ摬铄e(cuò)修正數(shù)據(jù)進(jìn)行編碼而產(chǎn)生一差錯(cuò)認(rèn)證糾錯(cuò)碼;以及根據(jù)該數(shù)據(jù)編碼程序?qū)υ摬铄e(cuò)修正數(shù)據(jù)以及該差錯(cuò)認(rèn)證糾錯(cuò)碼進(jìn)行編碼而產(chǎn)生一相對(duì)應(yīng)的差錯(cuò)碼;以及一修正模塊,用以儲(chǔ)存該差錯(cuò)認(rèn)證糾錯(cuò)碼以及該差錯(cuò)碼;將該差錯(cuò)認(rèn)證糾錯(cuò)碼與該認(rèn)證糾錯(cuò)碼做修正運(yùn)算而產(chǎn)生一認(rèn)證糾錯(cuò)取代碼以取代該認(rèn)證糾錯(cuò)碼;以及將該差錯(cuò)碼與該糾錯(cuò)碼做修正運(yùn)算而產(chǎn)生一取代碼以取代該糾錯(cuò)碼。
10.如權(quán)利要求9所述的修正系統(tǒng),其中該編碼模塊為一程序模塊。
11.一種修正系統(tǒng),包含一編碼模塊以及一修正模塊,該編碼模塊用以根據(jù)一數(shù)據(jù)編碼程序編碼一差錯(cuò)修正數(shù)據(jù)而得一差錯(cuò)碼;該修正模塊用以儲(chǔ)存該差錯(cuò)碼,并將該差錯(cuò)碼與一線性區(qū)段碼進(jìn)行一XOR邏輯運(yùn)算而產(chǎn)生一取代碼以取代該線性分組碼。
12.如權(quán)利要求11所述的修正系統(tǒng),其中該線性分組碼是根據(jù)該數(shù)據(jù)編碼程序編碼一原始數(shù)據(jù)所產(chǎn)生。
13.如權(quán)利要求11所述的修正系統(tǒng),其中該編碼模塊是一程序模塊。
14.如權(quán)利要求11所述的修正系統(tǒng),其中該線性分組碼是為一糾錯(cuò)碼(error detection code,EDC)。
15.如權(quán)利要求11所述的修正系統(tǒng),其中該原始數(shù)據(jù)中包含一認(rèn)證數(shù)據(jù)、一認(rèn)證糾錯(cuò)碼以及一主要數(shù)據(jù),該認(rèn)證數(shù)據(jù)是用以標(biāo)明該主要數(shù)據(jù)的來源位置,該認(rèn)證糾錯(cuò)碼是用以對(duì)該認(rèn)證數(shù)據(jù)進(jìn)行糾錯(cuò)與驗(yàn)證。
16.如權(quán)利要求15所述的修正方法,其中該認(rèn)證糾錯(cuò)碼是由該認(rèn)證數(shù)據(jù)經(jīng)過一認(rèn)證編碼程序編碼而得。
17.如權(quán)利要求16所述的修正系統(tǒng),當(dāng)該差錯(cuò)修正數(shù)據(jù)包含一認(rèn)證差錯(cuò)修正數(shù)據(jù)以修正該認(rèn)證數(shù)據(jù)時(shí),該編碼模塊會(huì)事先依據(jù)該認(rèn)證編碼程序?qū)⒃撜J(rèn)證差錯(cuò)修正數(shù)據(jù)編碼為一相對(duì)應(yīng)的差錯(cuò)認(rèn)證糾錯(cuò)碼。
18.如權(quán)利要求17所述的修正系統(tǒng),其中該修正模塊是根據(jù)該認(rèn)證差錯(cuò)糾錯(cuò)碼與對(duì)應(yīng)的被修正的認(rèn)證糾錯(cuò)碼做XOR邏輯運(yùn)算而產(chǎn)生認(rèn)證糾錯(cuò)取代碼以取代該認(rèn)證糾錯(cuò)碼。
19.如權(quán)利要求18所述的修正系統(tǒng),其中該編碼模塊是事先根據(jù)該數(shù)據(jù)編碼程序?qū)⒃摬铄e(cuò)修正數(shù)據(jù)以及該差錯(cuò)認(rèn)證糾錯(cuò)碼編碼而成該差錯(cuò)碼。
全文摘要
一種修正系統(tǒng),當(dāng)一原始數(shù)據(jù)中一預(yù)定修正部分與一差錯(cuò)修正數(shù)據(jù)作修正時(shí),用以對(duì)該原始數(shù)據(jù)經(jīng)過一數(shù)據(jù)編碼程序所產(chǎn)生的一線性分組碼進(jìn)行修正。該修正系統(tǒng)包含一編碼模塊以及一修正模塊。編碼模塊用以事先根據(jù)該數(shù)據(jù)編碼程序?qū)⒃摬铄e(cuò)修正數(shù)據(jù)進(jìn)行編碼而產(chǎn)生一相對(duì)應(yīng)的差錯(cuò)碼。修正模塊則用以儲(chǔ)存該差錯(cuò)碼,并將該差錯(cuò)碼與該線性區(qū)段碼做修正運(yùn)算而產(chǎn)生一取代碼,以取代該線性區(qū)段碼。因此當(dāng)一光學(xué)記錄系統(tǒng)在進(jìn)行數(shù)據(jù)編碼完成后,如果發(fā)生數(shù)據(jù)更改時(shí),則不需在重復(fù)進(jìn)行繁復(fù)的數(shù)據(jù)編碼程序,可以直接加入取代碼而獲得更新后的線性分組碼。
文檔編號(hào)G11B20/18GK1567464SQ0314235
公開日2005年1月19日 申請(qǐng)日期2003年6月13日 優(yōu)先權(quán)日2003年6月13日
發(fā)明者林利蓮, 吳文義 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司