新四季網

用來解碼錯誤更正碼方塊的方法及其相關裝置的製作方法

2023-10-22 13:06:17 2

專利名稱:用來解碼錯誤更正碼方塊的方法及其相關裝置的製作方法
技術領域:
本發明提供一種解碼方法以及相關的解碼裝置,尤指一種用來對一錯誤更正碼方塊進行解碼的解碼方法以及其相關解碼裝置。
背景技術:
由於DVD碟片具有輕巧的體積以及大量的儲存空間,使得DVD碟片成為現在人們大量使用的儲存媒體。一般來說,當使用者要使用儲存於DVD碟片的數據時,會先從DVD中讀取碟片數據。由於從DVD讀取出來的碟片數據可能具有很多錯誤,並且DVD碟片數據是由原始數據經過8對14調製而產生,因此必須先利用EFM+解調器對讀取出來的碟片數據進行解調以形成列數據(row data)。如前所述,由於讀取出來的碟片數據會具有一些錯誤,這也代表了列數據中也包含有一些錯誤。
因此,每個列數據都會先儲存於一個存儲器緩衝器;而當儲存於緩衝器的列數據足夠時,列數據便會形成一個完整的錯誤更正碼方塊(errorcorrection code block,ECC block),接著錯誤更正碼方塊便會經過理德所邏門乘積碼(Reed Soloman Product Code,RSPC)解碼以更正列數據上的錯誤,進而得到最初的原始數據。
在此請參閱圖1,圖1為錯誤更正碼方塊100的示意圖。如圖1所示,錯誤更正碼方塊100包含有208列(rows)與192行(columns),其中每一列可以稱為一個PI字碼(codeword),並且每一行可以稱為一個PO字碼。此外,208列中的前192列是由對DVD碟片數據進行編碼而產生,而208列中的後16列為外部校正碼(outer-code parity,PO)數據,其用來校正PO字碼上面的錯誤數據。相同地,192行中的前182行是由對DVD碟片數據進行編碼而產生,而192行中的後10行為內部校正碼(inner-code parity,PI)數據,其用來校正PI字碼上面的錯誤數據。
如前所述,為了更正錯誤更正碼方塊100上所包含的錯誤數據,我們會對錯誤更正碼方塊100進行解碼,這些更正錯誤數據的詳細操作將在以下的揭露中陳述。
請參閱圖2,圖2為解碼裝置200的示意圖。解碼裝置200包含有一存儲器緩衝器210,用來儲存前述的錯誤更正碼方塊100;一與該存儲器緩衝器210耦接的徵狀值(syndrome)計算裝置220,用來計算每個字碼的徵狀值;一錯誤更正裝置230,耦接於該存儲器緩衝器210以及該徵狀值計算裝置220,用來更正儲存於存儲器緩衝器210中每個字碼上的錯誤數據;以及一控制器240,耦接於該錯誤更正裝置230以及該徵狀值計算裝置220,用來控制整個解碼裝置200的運作。此外,解碼裝置200的詳細功能與運作將於下文詳述。
在此請參閱圖3,圖3為利用圖2所示的解碼裝置200來更正錯誤更正碼方塊100上錯誤數據的流程圖。其包含有下列步驟步驟300開始;步驟302對所有的PI字碼進行解碼操作;步驟304對所有的PO字碼進行解碼操作;步驟306如果所有的PI與PO字碼都已可解碼,則接至步驟312;否則,接至步驟308;步驟308計算反覆解碼PI/PO字碼的次數,若該次數大於一預設值,則接至步驟310;否則,接至步驟302;步驟310解碼失敗;步驟312解碼完成。
首先,解碼裝置200開始對錯誤更正碼方塊100進行解碼(步驟302)。接著,解碼裝置200開始對每個PI字碼進行PI解碼操作,以更正PI字碼上的錯誤數據。現在以PI解碼操作為例子加以說明,首先,PI解碼操作會先運作於列數據1(第一個PI字碼)上,這代表徵狀值計算裝置220會從存儲器緩衝器210讀取列數據1並且計算列數據1的徵狀值。如業界所已知,徵狀值計算裝置220會利用一多項式來計算列數據1的徵狀值;此外,若計算出來的徵狀值等於0,這代表列數據1為一可解碼數據,或稱列數據1為無錯誤數據;另一方面,如果計算出來的徵狀值不等於0,這代表了列數據1必須經過更正。因此,錯誤更正裝置230會接收計算出來的徵狀值,並且利用該徵狀值來計算錯誤位置與對應錯誤位置的錯誤值,接著錯誤更正裝置230會根據錯誤位置以從存儲器緩衝器210讀取錯誤數據,並且將錯誤值與錯誤數據進行一異或(XOR)運算,以更正錯誤。
很明顯地,經由上述的錯誤更正操作可以對列數據1上的一些錯誤進行更正。此外,相同的錯誤更正操作也會在列數據2上執行,即,列數據2上的錯誤更正操作也包含計算列數據2的徵狀值,決定列數據2的錯誤值以及錯誤位置,根據錯誤值與錯誤位置來更正列數據2上的一些錯誤數據。對於整體PI字碼的解碼操作而言,這樣的錯誤更正操作會依此類推地於列數據3、4、...、至列數據208。因此,在對所有PI字碼執行PI解碼操作之後,錯誤更正碼方塊的一些錯誤便可以由此更正。
在此請注意,由於PI解碼的錯誤更正機制有其限制,舉例來說,對於每個PI字碼來說,一次的錯誤更正解碼可能只能更正幾個錯誤,因此,在整個PI解碼操作完成之後,可能還是會有一些錯誤存在於錯誤更正碼方塊之中。所以,在執行過PI解碼之後,接著便須執行PO解碼。
相同地,每個PO字碼的錯誤也是經由類似上述的解碼操作更正(步驟304)。PO解碼操作包含有計算一PO字碼(行數據)的徵狀值,根據計算出來的徵狀值計算出錯誤位置與錯誤值,根據錯誤值與錯誤位置來更正PO字碼上的一些錯誤數據。相同地,這樣的PO解碼操作也是循序的一行行執行於行數據1至行數據172。很明顯地,在步驟302與步驟304之後,錯誤更正碼方塊100中有部分的錯誤已經更正了,因此,理論上只須反覆的執行302與步驟304,便可以更正錯誤更正碼方塊100內所有的錯誤數據。
但是,在此請注意,如果ECC方塊100內包含了太多的錯誤數據,以致PI/PO數據沒有辦法將DVD的原始數據還原,因此在本例中,控制器240會計算步驟302與304執行的次數(步驟306),並且當重複執行的次數大於一預設值時,控制器240便會認定ECC方塊100是沒有辦法解碼的,也即前述ECC方塊100具有過多的錯誤數據。舉例來說,當反覆執行的次數大於該預設值時,控制器240會認定整體的解碼操作失敗(步驟310);另一方面,若反覆執行的次數仍小於該預設值,解碼裝置200便會反覆的執行步驟302與304,直至ECC方塊100中所有的錯誤都被更正,亦即ECC方塊100可解碼,以及DVD的原始數據可以還原為止(步驟312)。
然而,前述的解碼操作有一些效能上的問題。舉例來說,當每一次執行PI/PO解碼操作,不管已知一特定字碼的徵狀值等於0,都必須要計算所有PI/PO字碼的徵狀值。換句話說,這種反覆計算徵狀值的解碼方式會消耗掉大量的系統資源,並且進而使得解碼操作效率降低。

發明內容
因此本發明的主要目的之一在於提供一種對一錯誤更正碼方塊進行解碼的解碼方法以及其相關解碼裝置,以解決現有技術中的問題。
根據本發明一較佳實施例,是揭露一種用來解碼一錯誤更正碼方塊(error correction code block,ECC block)的方法,該方法包含有提供複數個旗標,其中每個旗標是用來將該錯誤更正碼方塊的至少一數據線標示為一無錯誤數據線;以及偵測對應一特定數據線的一旗標是否已經被設定(asserted),如果該旗標已經被設定,則略過該特定數據線的一徵狀值(syndrome)的計算。
根據本發明的另一較佳實施例,其揭露一種用來解碼一錯誤更正碼方塊(error correction code block,ECC block)的解碼裝置,該解碼裝置包含有一儲存裝置,用來儲存該錯誤更正碼方塊以及複數個旗標,其中每個旗標是用來將該錯誤更正碼方塊至少一數據線標示為一無錯誤數據線;一徵狀值計算裝置;以及一控制器,電連接至該儲存裝置以及該徵狀值計算裝置,用來偵測對應一特定數據線的一旗標是否已經被設定,如果該旗標已經被設定,則控制該徵狀值計算裝置以略過該特定數據線的一徵狀值(syndrome)的計算。
本發明可以避免對無錯誤字碼反覆進行徵狀值計算的操作。如此可以節省解碼操作的執行時間以及系統資源。換句話說,比起已知的解碼方式,本發明不但提供一個更有效率的解碼方式,而且此解碼方式只須消耗更少的系統資源。


圖1為現有技術錯誤更正碼方塊的示意圖。
圖2為現有技術解碼裝置的示意圖。
圖3為利用圖2所示的解碼裝置來更正圖1的錯誤更正碼方塊上錯誤數據的流程圖。
圖4為本發明解碼裝置的示意圖。
圖5為本發明錯誤更正碼方塊的示意圖。
圖6A以及圖6B為本發明PI解碼操作的流程圖。
圖7A與圖7B為本發明PO解碼操作的流程圖。
圖8為本發明更正圖5所示的ECC方塊另一實施例的方法流程圖。
圖9A與圖9B為對應圖8所示的解碼流程的PI解碼的流程圖。
圖10A與圖10B為對應圖8所示的解碼流程的PO解碼的流程圖。
主要組件符號說明錯誤更正碼方塊 100、500 解碼裝置 200、400存儲器緩衝器210、410徵狀值計算裝置220、420錯誤更正裝置230、440控制器240、450旗標設定電路430
具體實施例方式
請參閱圖4,圖4為本發明解碼裝置400的示意圖。如圖4所示,解碼裝置400包含一存儲器緩衝器410,一徵狀值計算裝置420,一旗標設定電路430,一錯誤更正裝置440,以及一控制器450。其中,控制器450耦接於徵狀值計算裝置420、旗標設定電路430以及錯誤更正裝置440。存儲器緩衝器410耦接至徵狀值計算裝置420以及錯誤更正裝置440。此外,錯誤更正裝置440耦接至徵狀值計算裝置420以及旗標設定電路430。以及徵狀值計算裝置420耦接至旗標設定電路430。在本實施例中,存儲器緩衝器410、徵狀值計算裝置420、錯誤更正裝置440大體上與前述的解碼裝置200中的各項同名組件具有相同的結構與操作。而解碼裝置400中其它組件的功能與操作將於以下的揭露中陳述。
在此請參閱圖5,圖5為本發明錯誤更正碼方塊500的示意圖。如圖5所示,ECC方塊500與前述的ECC方塊100類似。兩者的差別在於ECC方塊500另包含有複數個旗標。在此請注意,在本實施例中,旗標可以是一個1位的寄存器(register),其用來標示一個特定字碼的狀況,前述的旗標可以儲存於存儲器中或是寄存器中。
舉例來說,在解碼錯誤更正碼方塊500的操作之中,如前所述,必須對一特定字碼進行計算以得出徵狀值,以及如果計算出來的徵狀值等於0,這代表了該特定字碼理論上應為一無錯誤字碼。因此,在本發明中,如果計算出來的徵狀值等於0,旗標設定電路430便會設定該特定字碼所對應的旗標。如此一來,控制器450便可根據旗標來對整體的解碼裝置400進行控制,以決定是否要對該特定字碼進行解碼,亦即對該特定字碼進行解碼操作或略過該特定字碼的解碼操作。換句話說,若旗標已經被設定,則該旗標所對應的字碼就會被視為無錯誤字碼,因此本發明解碼裝置400便可以省略對無錯誤的字碼進行的重複解碼操作。也就是說,本發明解碼裝置400僅僅只處理那些未設定旗標的字碼,也就是那些可能具有錯誤的字碼。很明顯地,這樣的做法可以提升整體的解碼效率。
如圖5所示,ECC方塊500具有複數個錯誤,圖中以X標示。此外,具有錯誤的字碼會與沒有設定的旗標對應,這代表這些字碼中包含有一些錯誤。因此,控制器450便可以根據這些旗標來控制解碼裝置400。
請參閱圖6A以及圖6B。圖6A以及圖6B為PI解碼操作的流程圖。其包含有下列步驟步驟600開始;步驟602偵測目前正在執行的解碼操作是否為一重複的解碼操作?如果目前正在執行的解碼操作為一重複的解碼操作,則接至步驟604;否則,接至步驟608;步驟604讀取對應列數據i的旗標;步驟606偵測旗標是否已經被設定(asserted)?若是,則接至步驟622否則接至步驟608;步驟608計算列數據i的徵狀值;步驟610偵測計算出來的徵狀值是否為0?若計算出來的徵狀值等於0,則接至步驟618;否則接至步驟612;步驟612更正列數據i上的錯誤;步驟616偵測列數據i是否已可解碼?若列數據i已可解碼,則接至步驟618;否則接至步驟620;步驟618設定(assert)列數據i的旗標,並且接至步驟614;步驟614重設(deassert)行數據j的旗標,其中錯誤是位於坐標(i,j)上,接著接至步驟622;步驟620重設列數據i的旗標;步驟622是否所有列數據都可解碼?如果所有列數據都可解碼,則接至步驟626;否則,接至步驟624;步驟624定義i=i+1,接著回到步驟602;
步驟626結束。
首先,PI解碼操作開始(步驟600)。控制器450偵測目前正在執行的PI解碼操作是否為一重複解碼操作(步驟602),由於所有的旗標在第一次PI解碼操作後便會被設定(亦即設定為1)或被重設(亦即設定為0),這代表每一個旗標都可用來標示每個字碼現在的狀態。
因此,如果目前PI解碼操作為第一次的PI解碼操作,控制器450會直接利用徵狀值計算裝置420來計算目前字碼(current codeword)的徵狀值(步驟608),例如,目前字碼用列數據i表示,其中i為正整數。
另一方面,若目前PI解碼操作並非第一次的解碼操作,那麼所有旗標應該已經在第一次PI解碼操作時就已經有對應的設定,譬如前述的設定為1或設定為0。因此,控制器450會先讀取目前PI字碼所對應的旗標(步驟604),以偵測該旗標是否已經被設定(步驟606);如果該旗標已經被設定,控制器450便可以由此得知無須處理目前PI字碼。因此,解碼裝置400會直接執行步驟622以判定是否所有PI字碼都已經處理完畢。若是,則結束這整個流程(步驟626);若否,處理下個PI字碼,亦即,在步驟624之中,定義i=i+1以取得下一個PI字碼。
另一方面,如果旗標並未被設定,控制器450可藉此得知解碼裝置400需要對目前PI字碼進行處理,因此,控制器450會利用徵狀值計算裝置420來計算目前PI字碼的徵狀值(步驟608)。
在執行步驟608之後,控制器450會偵測計算出來的徵狀值是否為0(步驟610);若徵狀值為0,這代表目前PI字碼為一無錯誤的字碼,因此,控制器450會控制旗標設定電路430以設定目前PI字碼的旗標(步驟618)。接著,解碼裝置400會執行步驟622以判定是否所有PI字碼都已經處理完畢。若是,則結束這整個流程(步驟626);若否,繼續執行下一個PI字碼,亦即,執行步驟624以通過定義i=i+1來取得下一個PI字碼。
此外,如果計算出來的徵狀值不等於0,這代表目前PI字碼具有至少一個錯誤,因此控制器450會控制錯誤更正裝置440以更正PI字碼上的錯誤(步驟612)。接著,控制器450會偵測目前PI字碼是否已經可以解碼,換句話說,控制器450會偵測目前PI字碼是否為一無錯誤字碼(步驟616)。在此同時,如果目前PI字碼無法解碼,這代表目前PI字碼仍然具有錯誤,因此控制器450會控制旗標設定電路430以重設對應目前PI字碼的旗標(步驟620)。另一方面,如果目前PI字碼已可解碼,控制器450會控制旗標設定電路430以設定對應目前PI字碼的旗標(步驟618)。此外,由於PI字碼上的數據已經被更正了,這代表特定位置上所儲存的值有所變化,也連帶影響到了對應該特定位置的PO字碼的徵狀值。舉例來說,如果坐標(i,j)的數據被視為一個錯誤,而錯誤更正裝置對坐標(i,j)的數據進行更正,那麼對於行數據j來說,行數據j的徵狀值也隨之改變。因此,在本實施例中,控制器450會控制旗標設定電路430以根據錯誤位置將特定的PO字碼的旗標重設。換句話說,旗標設定電路430會重設行數據j的旗標(步驟614)。接著,解碼裝置400執行步驟622以判定是否所有PI字碼都已經處理完畢。若是,則結束這整個流程(步驟626);若否,處理下一個PI字碼,亦即,在步驟624之中,定義i=i+1以取得下一個PI字碼。
在此請注意,在步驟602中,控制器450可以計算PI解碼操作的重複次數。與前述的現有技術類似,當重複次數大於一預設值時,控制器450可以停止整個解碼操作。如此的相對應變化,也屬本發明的範疇。
請參閱圖7A以及圖7B。圖7A與圖7B為本發明PO解碼操作的流程圖。其包含下列步驟步驟700開始;步驟702偵測目前正在執行的解碼操作是否為一重複的解碼操作?如果目前正在執行的解碼操作為一重複的解碼操作,則接至步驟704;否則,接至步驟708;步驟704讀取對應行數據j的旗標;
步驟706偵測旗標是否已經被設定(asserted)?若是,則接至步驟722;否則接至步驟708;步驟708計算行數據j的徵狀值;步驟710偵測計算出來的徵狀值是否為0?若計算出來的徵狀值等於0,則接至步驟718;否則接至步驟712;步驟712更正行數據j上的錯誤;步驟71 6偵測行數據j是否已可解碼?若行數據j已可解碼,則接至步驟718;否則接至步驟720;步驟718設定(assert)行數據j的旗標,並且接至步驟714;步驟714重設(deassert)列數據i的旗標,其中錯誤是位於坐標(i,j)上,接著接至步驟722;步驟720重設行數據j的旗標;步驟722是否所有行數據都可解碼?如果所有行數據都可解碼,則接至步驟726;否則,接至步驟724;步驟724定義j=j+1,接著回到步驟702;步驟726結束。
在此請注意,PO解碼操作的流程大體上與前述的PI解碼操作對稱。首先,在所有的PI字碼都進行前述的PI解碼操作之後,PO解碼操作便開始執行(步驟700)。控制器450偵測目前正在執行的PO解碼操作是否為一重複解碼操作(步驟702),由於所有的旗標在前述的PI解碼或前一次PO解碼操作後便會被設定(亦即設定為1)或被重設(亦即設定為0);相同地,每一個旗標是用來標示每個字碼目前的狀態。
因此,假設目前PO解碼操作為第一次的PO解碼操作,這代表理論上所有旗標都為重設狀態,此時控制器450會直接利用徵狀值計算裝置420來計算目前字碼(current codeword)的徵狀值(步驟708),在這裡的目前字碼是以行數據j表示,其中j為正整數。
另一方面,若目前PO解碼操作並非第一次的解碼操作,那麼代表所有旗標應該已經在先前的PO/PI解碼操作時就已經有對應的設定,譬如前述的設定為1或設定為0。因此,控制器450會先讀取目前PO字碼(行數據j)所對應的旗標(步驟704),以偵測該旗標是否已經被設定(步驟706);如果該旗標已經被設定,控制器450便可以由此得知無須處理目前PO字碼。因此,解碼裝置400會直接執行步驟722以判定是否所有P0字碼都已經處理完畢。若是,則結束這整個流程(步驟726);若否,處理下一個PO字碼,亦即,在步驟724之中,定義j=j+1以取得下一個PO字碼。
另一方面,如果旗標並未被設定,控制器450可藉此得知解碼裝置400需要對目前PO字碼進行處理,因此,控制器450會利用徵狀值計算裝置420來計算目前PO字碼的徵狀值(步驟708)。在執行步驟708之後,控制器450會偵測計算出來的徵狀值是否為0(步驟71 0);若徵狀值為0,這代表目前PO字碼為一無錯誤的字碼,因此,控制器450會控制旗標設定電路430以設定目前PO字碼的旗標(步驟718)。這代表了下一次PO解碼時無須再次對行數據j進行處理。接著,解碼裝置400會執行步驟722以判定是否所有PO字碼都已經處理完畢。若是,則結束這整個流程(步驟726);若否,繼續執行下一個PO字碼,亦即,執行步驟724以通過定義j=j+1來取得下一個PO字碼。
此外,如果計算出來的徵狀值不等於0,這代表目前PO字碼具有至少一個錯誤,因此控制器450會控制錯誤更正裝置440以更正PO字碼上的錯誤(步驟712)。接著,控制器450會偵測目前PO字碼是否已經可以解碼;換句話說,控制器450會偵測目前PO字碼是否為一無錯誤字碼(步驟716)。在此同時,如果目前PO字碼無法解碼,這代表目前PO字碼仍然具有錯誤,因此控制器450會控制旗標設定電路430以重設對應目前PO字碼的旗標(步驟720)。另一方面,如果目前PO字碼已可解碼,控制器450會控制旗標設定電路430以設定對應目前PO字碼的旗標(步驟718)。此外,由於PO字碼上的數據已經被更正了,這代表特定位置上所儲存的值有所變化,也連帶影響到了對應該特定位置的PI字碼的徵狀值。舉例來說,如果坐標(i,j)的數據被視為一個錯誤,而錯誤更正裝置對坐標(i,j)的數據進行更正,那麼對於列數據i來說,列數據i的徵狀值也隨之改變。因此,在本實施例中,控制器450會控制旗標設定電路430以根據錯誤位置將特定的PI字碼的旗標重設。換句話說,旗標設定電路430會重設列數據i的旗標(步驟714)。接著,解碼裝置400執行步驟722以判定是否所有PO字碼都已經處理完畢。若是,則結束這整個流程(步驟726);若否,處理下個PO字碼,亦即,在步驟724之中,定義j=j+1以取得下一個PO字碼。
在此請注意,在步驟702中,控制器450可以計算PO解碼操作的重複次數。與前述的現有技術類似,當重複次數大於一預設值時,控制器450可以停止整個解碼操作。如此的相對應變化,也屬本發明的範疇。
當PO解碼操作完成後,如前所述,ECC方塊500中有許多錯誤數據已經經過更正。因此,整個流程可以再次接至步驟600以執行PI解碼操作。這與前述的步驟302~308類似。換句話說,PI解碼操作與PO解碼操作可以執行數次以更正ECC方塊500中所有錯誤數據。或者,當解碼操作重複執行的次數大於一預設值,停止整個解碼操作並視為解碼失敗。
請參閱圖8,圖8為本發明更正圖5所示的ECC方塊另一實施例的方法流程圖。其包含有下列步驟步驟800開始;步驟801將對應PI/PO字碼的所有旗標初始化;步驟802對所有的PI字碼進行解碼操作;步驟804對所有的PO字碼進行解碼操作;步驟806若所有的PI/PO字碼都為可解碼的字碼,則接至步驟812;否則,接至步驟808;步驟808計算解碼PI/PO字碼的重複次數,若該次數大於一默認值,則接至步驟810;否則接至步驟802;步驟810解碼失敗;步驟812解碼完成。
相較於圖3所示的流程圖,圖8所示的流程進一步包含有一步驟801。因此,在第一次執行解碼操作之前,對應PI/PO字碼的所有旗標都會被重設(deasserted)。此外,在此請注意,步驟802~812與前述的步驟302~312相同,故不另贅述於此。
在此請參閱圖9A與圖9B。圖9A與圖9B為對應圖8所示的解碼流程的PI解碼的流程圖。其包含有下列步驟步驟900開始;步驟904讀取對應列數據i的旗標;步驟906偵測旗標是否已經被設定(asserted)?若是,則接至步驟922;否則接至步驟908;步驟908計算列數據i的徵狀值;步驟910偵測計算出來的徵狀值是否為0?若計算出來的徵狀值等於0,則接至步驟918;否則接至步驟912;步驟912更正列數據i上的錯誤,並接至步驟916;步驟916偵測列數據i是否已可解碼?若列數據i已可解碼,則接至步驟918,否則接至步驟920;步驟918設定(assert)列數據i的旗標,並接至步驟914;步驟914重設(deassert)行數據j的旗標,其中錯誤是位於坐標(i,j)上,接著接至步驟922;步驟920重設列數據i的旗標;步驟922是否所有列數據都可解碼?如果所有列數據都可解碼,則接至步驟926;否則,接至步驟924;步驟924定義i=i+1,接著回到步驟904;
步驟926結束。
在本實施例中,請注意,由於所有的旗標在第一次解碼操作之前就已經被全部重設,因此移除對應圖6A的步驟602。因此,本實施例無須偵測目前的PI解碼操作是否為一個重複解碼操作,便可直接在步驟904中對旗標進行讀取。
此外,步驟904~926完全與圖6A與圖6B所示的步驟604~626相同,故不另贅述於此。
在此請參閱圖10A與圖10B。圖10A與圖10B為對應圖8所示的解碼流程的PO解碼的流程圖。其包含有下列步驟步驟1000開始;步驟1004讀取對應行數據j的旗標;步驟1006偵測旗標是否已經被設定(asserted)?若是,則接至步驟1022;否則接至步驟1008;步驟1008計算行數據j的徵狀值;步驟1010偵測計算出來的徵狀值是否為0?若計算出來的徵狀值等於0,則接至步驟1018;否則接至步驟1012;步驟1012更正行數據j上的錯誤,並接至步驟1016;步驟1016偵測行數據j是否已可解碼?若行數據j已可解碼,則接至步驟1018;否則接至步驟1020;步驟1018設定(assert)行數據j的旗標,並接至步驟1014;步驟1014重設(deassert)列數據i的旗標,其中錯誤是位於坐標(i,j)上,接著接至步驟1022;步驟1020重設行數據j的旗標;步驟1022是否所有行數據都可解碼?如果所有行數據都可解碼,則接至步驟1026;否則,接至步驟1024;步驟1024定義j=j+1,接著回到步驟1004;
步驟1026結束。
在本實施例中,由於所有的旗標在第一次解碼操作之前就已經被全部重設,因此移除了對應圖7A的步驟702。因此,本實施例無須偵測目前的PO解碼操作是否為一個重複解碼,便可直接在步驟1004中對旗標進行讀取的動作。
此外,步驟1004~1026完全與圖7A與圖7B所示的步驟704~726相同,故不另贅述於此。
在此請注意,本發明並未限制旗標的數目。亦即一個旗標可以對應一個字碼集合,一個字碼集合包含有複數個字碼。換句話說,本發明解碼裝置仍可以先偵測旗標,然後再解碼對應未設定的旗標的字碼集合。如此的相對應變化,也不違背本發明的精神。
在此請注意,前述從DVD碟片讀取出來的ECC方塊僅為本發明的一實施例,而非對本發明的限制。換句話說,本發明可應用於任何需要對ECC方塊進行解碼的機制之中。
此外,前述PI/PO字碼的解碼操作也僅為本發明的一實施例,而非本發明的限制。換言之,本發明可以應用於其它的ECC方塊的解碼機制。例如,PI/PO解碼操作是奠基於多項式以計算出每個字碼的徵狀值,以及其錯誤值與錯誤位置。但是在一些實施例中,可能有其它用於計算徵狀值的多項式,並且前述的字碼的定義也不會僅限制於水平或是豎直方向的數據線,例如,可以是一斜的數據線。如此的相對應變化,也不違背本發明的精神。
相較於現有技術,本發明可以避免對無錯誤字碼反覆進行徵狀值計算的操作。如此可以節省解碼操作的執行時間以及系統資源。換句話說,相較於已知的解碼方式,本發明不但提供一個更有效率的解碼方式,而且還提供一個消耗更少系統資源的解碼方式。
以上所述僅為本發明的較佳實施例,凡依本發明權利要求所做的均等變化與修飾,都應屬本發明的涵蓋範圍。
權利要求
1.一種用來解碼一錯誤更正碼方塊的方法,其特徵在於,該方法包含有提供複數個旗標,其中每個旗標是用來將該錯誤更正碼方塊的至少一數據線標示為一無錯誤數據線;以及偵測對應一特定數據線的一旗標是否已經被設定,以及,如果該旗標已經被設定,則略過該特定數據線的一徵狀值的計算。
2.如權利要求1所述的方法,其特徵在於,所述每個數據線對應一字碼。
3.如權利要求1所述的方法,其特徵在於,所述偵測該旗標是否已經設定的步驟進一步包含若該旗標還未被設定,計算該特定數據線的該徵狀值,若該徵狀值不等於一預定值,則更正該特定數據線上至少一位置的數據,以及若計算出的該徵狀值等於該預定值或該數據線已可解碼,則設定該旗標。
4.如權利要求3所述的方法,其特徵在於,所述更正該特定數據線上至少一位置的數據的步驟進一步包含重設對應該位置的一第二數據線的一旗標。
5.如權利要求4所述的方法,其特徵在於,所述特定數據線為一PI字碼,以及所述第二數據線為對應該位置的一PO字碼。
6.如權利要求4所述的方法,其特徵在於,所述特定數據線為一PO字碼,以及所述第二數據線為對應該位置的一PI字碼。
7.如權利要求1所述的方法,其特徵在於,所述每個旗標是用來將一數據線集合標示為一無錯誤數據線集合,該數據線集合包含有該錯誤更正碼方塊中複數條數據線,以及偵測該旗標是否已經被設定的步驟進一步包含如果該旗標還未被設定,則計算一特定數據線集合的該特定數據線的徵狀值,若該徵狀值不等於一預定值,則更正該特定數據線中至少一位置的數據,以及若該特定數據線集合中所有數據線的徵狀值都等於該預定值時或所有數據線都可解碼時,則設定該旗標。
8.如權利要求7所述的方法,其特徵在於,所述更正該特定數據線的數據的步驟進一步包含重設對應於該位置的一第二數據線的一旗標。
9.如權利要求8所述的方法,其特徵在於,所述特定數據線為一PI字碼,以及所述第二數據線為對應該位置的一PO字碼。
10.如權利要求8所述的方法,其特徵在於,所述特定數據線為一PO字碼,以及所述第二數據線為對應該位置的一PI字碼。
11.如權利要求1所述的方法,其特徵在於,所述錯誤更正碼方塊是應用於光學儲存系統。
12.一種用來解碼一錯誤更正碼方塊的解碼裝置,其特徵在於,該解碼裝置包含有一儲存裝置,用來儲存該錯誤更正碼方塊以及複數個旗標,其中每個旗標是用來將該錯誤更正碼方塊至少一數據線標示為一無錯誤數據線;一徵狀值計算裝置;以及一控制器,電連接至所述儲存裝置以及所述徵狀值計算裝置,用來偵測對應一特定數據線的一旗標是否已經被設定,以及如果該旗標已經被設定,則控制該徵狀值計算裝置以略過該特定數據線的一徵狀值的計算。
13.如權利要求12所述的解碼裝置,其特徵在於,所述每個數據線對應一字碼。
14.如權利要求12所述的解碼裝置,其特徵在於,該解碼裝置進一步包含一錯誤更正裝置,耦接至所述控制器;以及一旗標設定電路,耦接至所述控制器;其中若該旗標還未設定,則該控制器進一步控制該徵狀值計算裝置來計算該特定數據線的徵狀值,若該徵狀值不等於一預定值,則該控制器控制該錯誤更正裝置以更正該特定數據線上至少一位置的數據,以及若該徵狀值等於該預定值或該數據線已可解碼,則該控制器控制該旗標設定電路以設定該旗標。
15.如權利要求14所述的解碼裝置,其特徵在於,所述控制器進一步控制該旗標設定電路以重設對應該位置的一第二數據線的旗標。
16.如權利要求15所述的解碼裝置,其特徵在於,所述特定數據線為一PI字碼,以及所述第二數據線為對應該位置的一PO字碼。
17.如權利要求15所述的解碼裝置,其特徵在於,所述特定數據線為一PO字碼,以及所述第二數據線為對應該位置的一PI字碼。
18.如權利要求12所述的解碼裝置,其特徵在於,該解碼裝置進一步包含一錯誤更正裝置,耦接於所述控制器;以及一旗標設定電路,耦接於所述控制器;其中每個旗標是用來將具有複數條數據線的一數據線集合標示為一無錯誤數據線集合,以及若該旗標還未被設定,則該控制器另控制該徵狀值計算裝置以計算該特定數據線的徵狀值,若該徵狀值不等於一預定值,則該控制器控制該錯誤更正裝置來更正該特定數據線上至少一位置的數據,以及若該特定數據線集合的所有徵狀值都等於該預定值或該特定數據線集合的所有數據線都可解碼,則該控制器控制該旗標設定電路以設定該旗標。
19.如權利要求18所述的解碼裝置,其特徵在於,所述控制器進一步控制該旗標設定電路以重設對應該位置的一第二數據線的旗標。
20.如權利要求19所述的解碼裝置,其特徵在於,所述特定數據線為一PI字碼,以及所述第二數據線為對應該位置的一PO字碼。
21.如權利要求19所述的解碼裝置,其特徵在於,所述特定數據線為一PO字碼,以及所述第二數據線為對應該位置的一PI字碼。
22.如權利要求12所述的解碼裝置,其特徵在於,所述錯誤更正碼方塊是應用於光學儲存系統。
全文摘要
本發明提供一種用來解碼錯誤更正碼方塊的方法及其相關裝置,該方法包含有提供複數個旗標,其中每個旗標是用來將該錯誤更正碼方塊的至少一數據線標示為一無錯誤數據線;以及偵測對應一特定數據線的一旗標是否已經設定,以及,如果該旗標已經設定,則略過該特定數據線的一徵狀值的計算。本發明可以避免對無錯誤字碼反覆進行徵狀值計算的操作。如此可以節省解碼操作的執行時間以及系統資源。換句話說,比起已知的解碼方式,本發明不但提供一個更有效率的解碼方式,而且此解碼方式只須消耗更少的系統資源。
文檔編號H03M13/00GK1983433SQ20061016459
公開日2007年6月20日 申請日期2006年12月8日 優先權日2005年12月12日
發明者謝嘉鴻, 劉碧海 申請人:聯發科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀