專利名稱:編碼數(shù)字信號的解碼裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對編碼數(shù)字信號進(jìn)行解碼的裝置和方法,特別涉及對從如光盤的記錄媒體再現(xiàn)的其上加有糾錯數(shù)據(jù)的編碼數(shù)字視頻信號進(jìn)行解碼和錯誤校正的裝置和方法。
眾所周知,根據(jù)各種不同的視頻標(biāo)準(zhǔn),如MPEG(移動圖形專家組)標(biāo)準(zhǔn),移動圖形,即運動視頻以一個可變速率被數(shù)字化、編碼和記錄在一個記錄媒體上。MPEG標(biāo)準(zhǔn)要求三種類型的編碼圖形內(nèi)部編碼圖形(I-圖形或I-幀);正向預(yù)測編碼圖形(P圖形或P-幀);以及雙向預(yù)測編碼圖形(B圖形或B-幀)。這三種圖形的組合形成了公認(rèn)的一個圖形組或GOP。盡管MPEG標(biāo)準(zhǔn)通常也適用于音頻(如聲音)數(shù)據(jù),但其它編碼形式,如ATAC(輔助變換聲音編碼)也被用于對聲音數(shù)據(jù)進(jìn)行數(shù)字化和壓縮編碼。
首先參照
圖1,示出了一種用于以可變速率從光盤再現(xiàn)數(shù)據(jù)的數(shù)據(jù)再現(xiàn)裝置1。數(shù)據(jù)再現(xiàn)裝置1包括一個拾取設(shè)置3,它向光盤2上提供一激光束以本領(lǐng)域中一種公知方式再現(xiàn)記錄在光盤上的數(shù)據(jù)。拾取設(shè)備3將一個再現(xiàn)信號S1供給包括在一解調(diào)系統(tǒng)5中的解調(diào)電路6,該解調(diào)系統(tǒng)5由一個系統(tǒng)控制器4控制。再現(xiàn)信號S1被解調(diào)并通過一個扇區(qū)檢測電路7被提供給一個ECC(錯誤校正碼)電路8,它檢測并校正所提供的信號中的錯誤。扇區(qū)檢測電路7在再現(xiàn)信號中檢測新扇區(qū),但是如果沒有檢測到扇區(qū)號或地址,則向一個軌道跳躍確定電路9提供一個扇區(qū)號錯誤信號。同樣,如果ECC電路8在信號中檢測到一個不可校正的錯誤,則向軌道跳躍確定電路9提供一個錯誤信號。
ECC電路8以一種將要討論的方式檢測和校正提供數(shù)據(jù)中的錯誤,并將錯誤校正數(shù)據(jù)提供給一個環(huán)形緩中區(qū)存儲器10,該存儲器10按照環(huán)形緩沖區(qū)控制電路11提供的寫指針WP的地址存儲數(shù)據(jù)。存儲器10還按照控制電路11提供的讀指針RP的地址讀出存在此中的數(shù)據(jù)。眾所周知,控制電路11從扇區(qū)檢測電路7提供的扇區(qū)信號中產(chǎn)生寫地址(寫指針WP)并根據(jù)系統(tǒng)控制器4提供的控制信號和數(shù)據(jù)分離電路13提供的代碼請求信號R10,產(chǎn)生讀地址(讀指針RP)。
環(huán)形緩沖區(qū)存儲器10將存于其中的數(shù)據(jù)提供給數(shù)據(jù)分離電路13中的首標(biāo)分離電路14,它從提供數(shù)據(jù)的每個包(pack)中分離出一個包首標(biāo)還從該數(shù)據(jù)包括的每個子包(packet)中分離出一個子包首標(biāo),并將分離的首標(biāo)提供給一個分離電路控制器15。電路控制器15向切換電路16提供一個切換器控制信號以使得供給輸入端G的視頻數(shù)據(jù)通過端子H1被提供給一個視頻碼緩沖區(qū)17,并使得提供給輸入端G的音頻數(shù)據(jù)通過端子H2被提供給一個音頻碼緩沖區(qū)19。首標(biāo)中的流識別信息(流ID)標(biāo)識子包中的數(shù)據(jù)類型(如視頻或音頻)。
視頻碼緩沖區(qū)17存儲提供的視頻數(shù)據(jù),并根據(jù)存在緩沖區(qū)17中的數(shù)據(jù)量產(chǎn)生和向數(shù)據(jù)分離電路13提供一個代碼請求信號R1。根據(jù)視頻解碼器18提供的代碼請求信號R1′,視頻碼緩沖區(qū)17向視頻解碼器18輸出存儲的數(shù)據(jù)。視頻解碼器18對讀出的視頻數(shù)據(jù)解碼以產(chǎn)生一個數(shù)字視頻信號并將其輸出到輸出端OUT1。
同樣,音頻碼緩沖區(qū)19存儲提供的音頻數(shù)據(jù)并根據(jù)存在緩沖區(qū)19中的數(shù)據(jù)量產(chǎn)生和向數(shù)據(jù)分離電路13提供一個代碼請求信號R2。音頻碼緩沖區(qū)19根據(jù)音頻解碼器20提供的代碼請求信號R2′向音頻解碼器20輸出存儲數(shù)據(jù)。音頻解碼器20對讀出的音頻數(shù)據(jù)解碼以產(chǎn)生一個數(shù)字音頻信號并將其輸出到輸出端OUT2。
如前面所提到的,解調(diào)系統(tǒng)5通過解調(diào)電路6對再現(xiàn)信號S1解調(diào)。解調(diào)電路6利用公知的RF處理將拾取設(shè)備3提供的信號S1切換成二進(jìn)制信號以檢測EFM+同步格式(如8,16切換)。一個基于線性勻速方法(CLV)的“粗”伺服機(jī)構(gòu)處理基于所檢測到的同步格式的信號S1。然后在扇區(qū)檢測電路7檢測到信號S1中的EFM+同步首標(biāo)之后,一個PLL(鎖相環(huán))伺服機(jī)構(gòu)處理該同步首標(biāo),并且當(dāng)檢測電路7連續(xù)檢測到幾個同步首標(biāo)時,檢測電路7提供的數(shù)據(jù)S2在ECC電路8中被去交錯。
參照圖2,示出了ECC電路8的方塊圖,其中ECC電路8由4個隨機(jī)存取存儲器,RAM24、RAM26、RAM28和RAM30以及三個錯誤校正碼(ECC)解碼器25、27和29構(gòu)成。如將要討論的,解碼器25、27和29利用三個錯誤檢測/校正序列數(shù)據(jù)C11(也稱作第一C1序列)、數(shù)據(jù)C2和包括了C1/C2卷積Reed-Solomon代碼(即C1RC Plus代碼)的數(shù)據(jù)C12(也稱作第二C1序列)來檢測和校正數(shù)據(jù)S2中的錯誤。這些數(shù)據(jù)序列包括在EFM+解調(diào)數(shù)據(jù)S2中。數(shù)據(jù)S2被提供給按地址順序00,01,…,A8和A9(這里稱之為一個“EFM+寫”)存儲數(shù)據(jù)的RAM24,并在數(shù)據(jù)S2的兩幀被存入RAM24之后,RAM24按地址順序00′,02′,…,A8′,01,03,…,A9(這里稱之為一個“C1讀”)將數(shù)據(jù)的第一存儲幀提供給解碼器25以便于對數(shù)據(jù)的C1序列去交錯,如圖3所示。解碼器25接收讀出數(shù)據(jù)并通過識別數(shù)據(jù)的錯誤位置和校正模式,從RAM24中讀出錯誤數(shù)據(jù)(即C1讀),將讀出數(shù)據(jù)與校正格式進(jìn)行異或邏輯加,以及將結(jié)果數(shù)據(jù)寫入RAM26(此處稱之為“C1寫”)來校正S2數(shù)據(jù)中的錯誤,如圖4所示。解碼器25在C2碼序列長度上對數(shù)據(jù)的C1序列解碼(從而錯誤檢測/校正S2數(shù)據(jù))。
在C1序列數(shù)據(jù)被解碼后(在整個C2碼序列長度上),數(shù)據(jù)的C2序列被“ECC”解碼。按地址順序00′,01′,02′,03′,…,A9′讀出存在RAM26中的數(shù)據(jù)(稱之為“C2讀”)并將讀出數(shù)據(jù)提供給順序?qū)ψx出的C2序列數(shù)據(jù)解碼的解碼器27。解碼器27為每個不可校正數(shù)據(jù)幀產(chǎn)生一個“不可校正錯誤”,標(biāo)記,并在提供解碼后的S2數(shù)據(jù)的同時,將不可校正錯誤標(biāo)記提供給解碼器29,以便于允許從數(shù)據(jù)流中擦除(即刪去)這個不可校正的數(shù)據(jù)。解碼器27中的錯誤檢測/校正與解碼器25相似。并且當(dāng)數(shù)據(jù)是不可校正時產(chǎn)生一個C1不可校正錯誤標(biāo)記。
在解碼器27對利用C2數(shù)據(jù)的數(shù)據(jù)解碼后,解碼數(shù)據(jù)被存入RAM28中(稱之為“C2寫”),如圖5所示。此后,RAM28按地址順序00′,01,02,03,…,A9讀出包括了其內(nèi)存儲數(shù)據(jù)的C12序列的數(shù)據(jù)(稱之為“C12讀”),并將讀出數(shù)據(jù)供給解碼器29。與C2不可校正錯誤標(biāo)記相類似,為了擦除(即刪去)基于數(shù)據(jù)C12序列的不可校正的錯誤,產(chǎn)生和利用一個C12不可校正錯誤標(biāo)記。解碼器29對數(shù)據(jù)(利用C12數(shù)據(jù))進(jìn)行錯誤檢測/校正并將數(shù)據(jù)按順序00,01,02,03,…,A9存入RAM30中(稱之為“C12寫”),如圖6所示。如前述,存在RAM30中的數(shù)據(jù)被按00,01,02,03,…,A9的順序讀出(稱之為“OUT讀”),解擾并提供給環(huán)形緩沖區(qū)存儲器10。
根據(jù)下列等式并利用一個沿C1數(shù)據(jù)方向的數(shù)據(jù)次序Dn和基于RAM24,26,28,30的數(shù)據(jù)地址的“C1碼單元”中的幀號Fn,產(chǎn)生數(shù)據(jù)的存儲地址RA,如圖7所示。以下這些方程中的所有數(shù)字用十六進(jìn)制表示。
Dn數(shù)據(jù)號(00-A9)Fn幀號(00-B9)RARAM地址(0000-7FFF)Fna=Fn+46+01如果(ECC格式=C2),F(xiàn)na=Fna+Dn如果(Fna>FF),F(xiàn)na=Fna+46-100 ……(1)(Dn=00)且(00<Dn<80)RA=[(Fna)×80]+Dn[60] ……(2)(Dn=80)且(80<Dn<A0)RA=[(Fna+18)×20]+Dn[40] ……(3)(Dn=A0)且(A0<Dn<AF)RA=[(Fna+BA-100)×10]+Dn[30] ……(4)如前所述,利用分別解碼數(shù)據(jù)C11,C2和C12序列的解碼器25,27和29,對CIRC Plus代碼進(jìn)行錯誤檢測/校正解碼,并且解碼結(jié)果數(shù)據(jù)被記錄在RAM26,28和30中。但是,由于輸出錯誤校正數(shù)據(jù)的時間是不固定的,所以需要提供兩個計數(shù)器用于數(shù)據(jù)傳輸和錯誤校正,這將導(dǎo)致不必要的復(fù)雜結(jié)構(gòu)。而且,利用三個獨立的存儲器器件。即RAM24,26和28來分別對數(shù)據(jù)的C11,C2和C12序列解碼,也會導(dǎo)致不希望的大存儲器存儲能力。
參照圖8A,示出了幾個不同信號的時序圖。如果利用一個單一的存儲器件在讀幀時鐘(圖8A中的RFCK信號)的一個時鐘周期內(nèi)傳送C11數(shù)據(jù)的兩個幀,則需要兩個單獨的幀計數(shù)器來執(zhí)行傳送數(shù)據(jù)和校正錯誤這兩個獨立功能。而且,即使只在數(shù)據(jù)傳輸過程中輸出時鐘,在數(shù)據(jù)傳輸和校正錯誤時也需要兩個單獨的幀計數(shù)器,如圖8B所示。
因此,本發(fā)明的一個目的是提供一種用于對一個編碼數(shù)字信號解碼的裝置和方法,它克服了上述設(shè)備的缺點。
本發(fā)明的另一個目的是提供一種以有效和簡便方式對加有錯誤檢測/校正數(shù)據(jù)的編碼數(shù)字視頻信號解碼的裝置和方法。
本發(fā)明的另一個目的是提供一種對加有錯誤檢測/校正數(shù)據(jù)的編碼數(shù)字視頻信號解碼的裝置和相應(yīng)方法,其中利用一個存儲量相對較小的隨機(jī)存取存儲器對一個再現(xiàn)數(shù)字視頻信號進(jìn)行錯誤校正。
本發(fā)明的其它目的、優(yōu)點和特征對本領(lǐng)域技術(shù)人員來說是顯然的,并且將在后面的權(quán)利要求中特別指出新的特征。
依據(jù)本發(fā)明的最佳實施例,提供了一種裝置和方法,用于將加有糾錯數(shù)據(jù)(即C1/C2卷積Reed-Solomon代碼)的編碼數(shù)據(jù)存入第一存儲器,檢測存在第一存儲器中的編碼數(shù)據(jù)中的錯誤(即可校正錯誤),確定檢測到的編碼數(shù)據(jù)中的錯誤位置,提供對應(yīng)于那些錯誤的錯誤校正格式,將錯誤的確定位置以及所提供的錯誤校正格式存入第二存儲器,從第一存儲器中讀出與存在第二存儲器中的錯誤位置相對應(yīng)的編碼數(shù)據(jù),并利用存在第二存儲器中的錯誤校正格式對讀出的對應(yīng)于錯誤位置的編碼數(shù)據(jù)進(jìn)行解碼以產(chǎn)生校正解碼數(shù)據(jù)。
作為本發(fā)明的一個方面,加上錯誤校正數(shù)據(jù)的編碼數(shù)據(jù)包括一個錯誤校正碼C11序列,一個錯誤校正碼C2序列以及一個錯誤校正碼C12序列,并且錯誤校正碼C11,C2和C12序列在讀出的錯誤校正碼C11,C2和C12序列被解碼之前,順序地從第一存儲器中讀出。
作為本發(fā)明的另一方面,利用內(nèi)部碼對檢測到的每行數(shù)據(jù)中的錯誤逐個解碼,利用外部碼對檢測到的每列數(shù)據(jù)中的錯誤逐個解碼,并且利用內(nèi)部碼對數(shù)據(jù)行再次進(jìn)行錯誤校正。
依據(jù)本發(fā)明的另一個實施例,提供了一種裝置和方法,用于從一個記錄媒體再現(xiàn)其上加上有錯誤校正數(shù)據(jù)的編碼視頻數(shù)據(jù),在第一存儲器中存入其上加有錯誤校正數(shù)據(jù)的編碼數(shù)據(jù),檢測存在第一存儲器中的編碼數(shù)據(jù)中的錯誤,確定檢測到的編碼數(shù)據(jù)中的錯誤位置,提供對應(yīng)于那些錯誤的錯誤校正格式,在第二存儲器中存入確定的錯誤位置以及所提供的錯誤校正格式,從第一存儲器讀出與存在第二存儲器中的錯誤位置相對應(yīng)的編碼數(shù)據(jù),并利用存在第二存儲器中的錯誤校正格式對讀出的與錯誤位置相對應(yīng)的編碼數(shù)據(jù)進(jìn)行解碼以產(chǎn)生校正解碼數(shù)據(jù)。
下面參照附圖詳細(xì)說明本發(fā)明,本說明是示例性的并不意味著本發(fā)明僅限于此,其中相同的參考標(biāo)號表示相同的元件或部分。附圖中圖1是用于從光盤以可變速率再現(xiàn)數(shù)據(jù)的裝置的方框圖;圖2是圖1中ECC電路8的方框圖;圖3是用于說明ECC電路8的C1讀操作的表格;圖4是用于說明ECC電路8的C1寫和C2讀操作的表格;
圖5是用于說明ECC電路8的C12讀和C2寫操作的表格;圖6是用于說明ECC電路8的C12寫和OUT(輸出)讀操作的表格;圖7是用于理解圖2中RAM30尋址的表格;圖8A和8B是圖2中ECC電路的各種信號和操作的時序圖;圖9是本發(fā)明解碼裝置實施例中用于從光盤以可變速率再現(xiàn)數(shù)據(jù)的裝置的方框圖;圖10是圖9中本發(fā)明ECC電路50的方框圖;圖11是圖9中本發(fā)明解調(diào)系統(tǒng)35的方框圖;圖12是用于說明圖10中RAM51尋址的表格;圖13是用于理解圖10中本發(fā)明ECC電路50的各種操作的表格;圖14是本發(fā)明圖10中ECC電路50和圖11中電路35的各種信號和解碼操作的時序圖;圖15示出了本發(fā)明的各種信號和傳輸及校正操作的時序圖;圖16是本發(fā)明在一個錯誤校正過程中各種信號的時序圖;圖17示出了在本發(fā)明的錯誤校正過程中圖10所示的RAM51的存儲器讀寫數(shù)量;圖18是示出了RAM51讀/寫存取優(yōu)先級的各種信號的時序圖;圖19是依據(jù)本發(fā)明另一實施例的扇區(qū)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的簡圖;圖20簡要說明了本發(fā)明ECC塊的數(shù)據(jù)結(jié)構(gòu);圖21簡要說明外部碼(P0)奇偶數(shù)據(jù)如何與扇區(qū)數(shù)據(jù)交叉;圖22是未調(diào)制數(shù)據(jù)的一個32K字節(jié)塊的數(shù)據(jù)結(jié)構(gòu)的簡圖;圖23是本發(fā)明解調(diào)電路的方框圖;圖24簡要說明一個未調(diào)制物理扇區(qū)的數(shù)據(jù)結(jié)構(gòu);圖25是每個數(shù)據(jù)扇區(qū)的數(shù)據(jù)結(jié)構(gòu)的簡圖;圖26簡要說明本發(fā)明的數(shù)據(jù)存儲操作;圖27A到27F是本發(fā)明在EFM解調(diào)數(shù)據(jù)的寫操作過程中的各種信號波形;圖28是本發(fā)明的“鎖定”操作的流程圖;圖29是本發(fā)明的SCSY信號發(fā)生操作的流程圖;圖30是本發(fā)明主-FMSY信號發(fā)生操作的流程圖;圖31A至31H是在本發(fā)明的塊檢測操作啟動過程中的信號波形;
圖32A到32H是本發(fā)明的塊檢測操作啟動之后的信號波形;圖33A到33H在本發(fā)明的“SUE”傳輸操作過程中的信號波形;圖34示出了扇區(qū)信息的數(shù)據(jù)結(jié)構(gòu);圖35是本發(fā)明中IEC連續(xù)性檢測和確定操作的流程圖;圖36是本發(fā)明中ID連續(xù)性確定操作的流程圖;圖37是SALK發(fā)生操作流程圖;圖38A到38D是在本發(fā)明的錯誤校正操作過程中的信號波形;圖39A到39I也是在本發(fā)明的錯誤校正操作過程中的信號波形;圖40A到40E是本發(fā)明的ECC處理控制操作的時序圖;圖41A到41E也是本發(fā)明的ECC處理控制操作的時序圖;圖42A到42E是本發(fā)明的ECC處理控制操作的附加時序圖;圖43是本發(fā)明RAM控制器傳輸操作的流程圖;圖44是本發(fā)明的錯誤校正電路的方框圖;圖45示出了本發(fā)明錯誤校正操作的結(jié)果;圖46A到46G是本發(fā)明總線仲裁操作的信號波形;圖47示出了在本發(fā)明的塊校正操作過程中RAM存取的數(shù)量;以及圖48A到48F是在本發(fā)明的錯誤校正結(jié)果輸出操作過程中的信號波形。
參照圖9,示出了一種用于實施本發(fā)明解碼裝置的從光盤以可變速率再現(xiàn)數(shù)據(jù)的裝置(下文稱數(shù)據(jù)再現(xiàn)裝置40)的方框圖。與圖1所示的數(shù)據(jù)再現(xiàn)裝置1相似,數(shù)據(jù)再現(xiàn)裝置40包括一個拾取設(shè)備3,它向光盤2提供激光束以用一種本領(lǐng)域公知的方式再現(xiàn)記錄在光盤2上的數(shù)據(jù)。拾取設(shè)備3向解調(diào)系統(tǒng)35中的解調(diào)電路6提供一再現(xiàn)信號S1,該解調(diào)系統(tǒng)35由一個系統(tǒng)控制器4控制。再現(xiàn)信號S1被解調(diào)并提供給扇區(qū)檢測電路7,它從每個扇區(qū)起檢測地址并將該地址提供給環(huán)形緩沖區(qū)控制電路11,還將信號中的數(shù)據(jù)提供給一個ECC(錯誤校正碼)電路50。ECC電路50以本發(fā)明將討論的方式檢測和校正錯誤。扇區(qū)檢測電路7檢測再現(xiàn)信號中的新扇區(qū),但是如果沒有檢測到一個扇區(qū)號或地址,或者如果沒有發(fā)生連續(xù)檢測(將討論),則通過環(huán)形緩沖區(qū)控制電路11向一個軌道跳躍確定電路9提供一個扇區(qū)號錯誤信號,同樣,如果ECC電路50在信號中檢測到一個不可校正的錯誤(將討論),則通過系統(tǒng)控制器4向軌道跳躍確定電路9提供一個錯誤信號。
ECC電路50檢測所提供的數(shù)據(jù)中的錯誤并利用數(shù)據(jù)中的一個冗余位來校正檢測到的錯誤,錯誤校正數(shù)據(jù)被提供給環(huán)形緩沖區(qū)存儲器10,它是一個FIFO(先進(jìn)先出)型存儲設(shè)備。存在存儲器10中的數(shù)據(jù)被提供給多路數(shù)據(jù)分離電路13,然后ECC電路50檢測所提供的數(shù)據(jù)中的扇區(qū)首標(biāo)數(shù)據(jù)并通過檢測電路7將扇區(qū)首標(biāo)數(shù)據(jù)提供給系統(tǒng)控制器4。如前所述,如果ECC電路50不能校正數(shù)據(jù)中的錯誤,則向系統(tǒng)控制器4提供一個錯誤信號。
軌道跳躍確定電路9監(jiān)視環(huán)形緩沖區(qū)控制電路11的輸出,并且當(dāng)需要一個磁道跳躍時,電路9向一個尋道伺服電路22提供一個磁道跳躍信號JP1以在光盤2上執(zhí)行一次拾取設(shè)備3的再現(xiàn)位置的磁道跳躍。同樣,當(dāng)扇區(qū)檢測電路7提供一個扇區(qū)號錯誤信號或ECC電路50提供一個錯誤信號(前面提及的)時,系統(tǒng)控制器4控制軌道跳躍確定電路9向?qū)さ浪欧娐?2提供一個磁道跳躍信號以引起拾取設(shè)備3的再現(xiàn)位置的磁道跳躍。
ECC電路50檢測和校正所提供的數(shù)據(jù)中的錯誤,并將錯誤校正數(shù)據(jù)提供給環(huán)形緩沖區(qū)存儲器10,它按照與環(huán)形緩沖區(qū)控制電路11提供的寫指針WP相對應(yīng)的地址存儲這些數(shù)據(jù)。環(huán)形緩沖區(qū)存儲器10還按照與控制電路11提供的讀指針RP相對應(yīng)的地址讀取其內(nèi)存儲的數(shù)據(jù)??刂齐娐?1從扇區(qū)檢測電路7提供的扇區(qū)信號產(chǎn)生寫地址(寫指針WP)并根據(jù)系統(tǒng)控制器4提供的控制信號和數(shù)據(jù)分離電路13提供的代碼請求信號R10產(chǎn)生讀地址(讀指針RP)。
環(huán)形緩沖區(qū)存儲器10向數(shù)據(jù)分離電路13中的首標(biāo)分離電路14提供其內(nèi)存儲的數(shù)據(jù),電路14從所提供的數(shù)據(jù)的每個包中分離出包首標(biāo),還從數(shù)據(jù)中的每個子包中分離出子包首標(biāo),并且這些分離出的首標(biāo)被提供給一個分離電路控制器15。電路控制器15向切換電路16提供一個切換器控制信號,以使得供給輸入端子G的視頻數(shù)據(jù)通過端子H1被提供給一個視頻碼緩沖區(qū)17,并使得提供給輸入端G的音頻數(shù)據(jù)通過端子H2被提供給音頻碼緩沖區(qū)19。首標(biāo)中的流識別信息(流ID)標(biāo)識子包中的數(shù)據(jù)類型(如視頻,音頻)。
視頻碼緩沖區(qū)17存儲所提供的視頻數(shù)據(jù),并根據(jù)存入緩沖區(qū)17的數(shù)據(jù)量,產(chǎn)生和向數(shù)據(jù)分離電路13提供一個代碼請求信號R1。視頻碼緩沖區(qū)17根據(jù)視頻解碼器18提供的代碼請求信號R1′向視頻解碼器18輸出所存儲的數(shù)據(jù)。視頻解碼器18對讀出的視頻數(shù)據(jù)解碼以產(chǎn)生一個數(shù)字視頻信號并在輸出端OUT1輸出該數(shù)字視頻信號。
同樣,音頻碼緩沖區(qū)19存儲所提供的音頻數(shù)據(jù),并根據(jù)存入緩沖區(qū)19的數(shù)據(jù)量產(chǎn)生和向數(shù)據(jù)分離電路13提供一個代碼請求信號R2。音頻碼緩沖區(qū)19根據(jù)音頻解碼器20提供的代碼請求信號R2′向音頻解碼器20輸出所存儲的數(shù)據(jù)。音頻解碼器20對讀出的音頻數(shù)據(jù)解碼以產(chǎn)生一個數(shù)字音頻信號并在輸出端OUT2輸出該數(shù)字音頻信號。
如果在視頻解碼器18中,一給定時間內(nèi)的被解碼數(shù)據(jù)量由于簡單屏幕的連續(xù)數(shù)據(jù)處理等而減少,則從存儲器10讀出數(shù)據(jù)的速率也減小。如果發(fā)生這種情況,則存在上溢出的可能性。此時,軌道跳躍確定電路9根據(jù)寫和讀指針WP和RP計算當(dāng)前存儲器10中存儲的數(shù)據(jù)量,如果計算出的數(shù)據(jù)量超過了某一預(yù)定值,電路9則向?qū)さ浪欧娐?2提供一個適當(dāng)?shù)能壍捞S指令以便于阻止存儲器10的上溢出。
如果扇區(qū)檢測電路7提供一個扇區(qū)號錯誤信號或ECC電路50提供一個錯誤信號,軌道跳躍確定電路9同樣根據(jù)寫和讀指針WP和RP確定環(huán)形緩沖區(qū)存儲器10中保存的數(shù)據(jù)量,并確定在光盤2從當(dāng)前軌道位置進(jìn)行了單個完整的旋轉(zhuǎn)之前,電路13完成從存儲器10讀數(shù)據(jù)所要求的數(shù)據(jù)量。
而且,即使以盡可能的最快傳輸速率讀取存儲器10的數(shù)據(jù),但是如果存儲器10中包含大量數(shù)據(jù),那么仍要防止存儲器10下溢出。此時,通過軌道跳躍確定電路9向?qū)さ浪欧娐?2輸出適當(dāng)?shù)能壍捞S指令和確定錯誤發(fā)生的位置,軌道跳躍確定電路9確定不可校正的數(shù)據(jù)是可彌補的,即從光盤重新讀取,以便于再次再現(xiàn)該數(shù)據(jù)。
參照圖10,示出了ECC電路50的方框圖,它由一個隨機(jī)存取存儲器(RAM)51(它是一個環(huán)形緩沖區(qū)型存儲器),一個錯誤校正碼(ECC)解碼器52和一個錯誤寄存器53組成。如所述,ECC解碼器52檢測和校正數(shù)據(jù)中的錯誤并且錯誤寄存器53存儲不可校正錯誤標(biāo)記、錯誤校正格式和錯誤位置。圖11是帶有隨機(jī)存取存儲器接口(RMIF)電路48和CLV控制電路46的解調(diào)系統(tǒng)35的方框圖。利用一個對從光盤讀取的再現(xiàn)信號S1進(jìn)行RF和二進(jìn)制處理的RF處理電路42(在解調(diào)電路6中)和一個檢測EFM+同步格式的解調(diào)電路44實現(xiàn)錯誤校正碼解碼(下文稱ECC解碼)。當(dāng)檢測到一個EFM+同步格式,CLV控制電路46允許進(jìn)程伺服機(jī)構(gòu)工作。同樣,當(dāng)檢測到一個EFM+同步格式時,一個PLL(鎖相環(huán))伺服機(jī)構(gòu)被控制處理再現(xiàn)信號。最后,當(dāng)連續(xù)檢測到幾個同步格式時,解調(diào)電路6提供的解調(diào)數(shù)據(jù)S2通過RMIF電路48存入ECC電路50的RAM51中的幀單元中。存在RAM51中的數(shù)據(jù)通過一個輸出控制(OCTL)電路56被提供給存儲器10。ECC電路50還產(chǎn)生并通過RMIF電路48向RAM51提供寫地址。通過RMIF電路48將從RAM51中讀出的數(shù)據(jù)提供給ECC控制部件54和ECC解碼部件55(包括在ECC解碼器52中)。
如果檢測到的錯誤是可校正的,則從ECC解碼部件55向ECC控制部件54提供它在數(shù)據(jù)中的位置(即錯誤位置)和錯誤校正格式(來自校正碼),并且每幀的每個可校正錯誤的錯誤位置和錯誤校正格式被輸出到存儲這些錯誤數(shù)據(jù)的錯誤寄存器53。然后,通過首先從錯誤寄存器53讀取錯誤位置和糾錯格式,從RAM51讀取對應(yīng)于錯誤位置的錯誤數(shù)據(jù),將錯誤數(shù)據(jù)邏輯異或地加到校正格式上(“異或”或EXOR),并將結(jié)果值回寫到RAM51中,來校正每個錯誤。如果檢測到的錯誤是不可校正的,則將包含不可校正錯誤的幀的不可校正錯誤標(biāo)記存入錯誤寄存器53以便于完成后序的擦除(即刪除)操作。
如前所述,用于每個糾錯碼序列,即C11數(shù)據(jù)序列(第一C1序列),C2序列和C12數(shù)據(jù)序列(第二C1序列)的錯誤位置和校正格式被累加存入錯誤寄存器53中。當(dāng)錯誤位置和校正格式被存入錯誤寄存器53時,ECC控制部件54以前面討論的方式糾錯。
如圖12所示,根據(jù)存在RAM51中的數(shù)據(jù)確定數(shù)據(jù)存儲地址RA,其利用了C1序列數(shù)據(jù)的順序Dn,C1代碼單元中的幀號Fn和下列等式,其中所有數(shù)字用十六進(jìn)制表示Dn數(shù)據(jù)號(00-A9)Fn幀號(00-B9)RARAM地址(0000-7FFF)Fna=Fn+46+01如果(ECC格式=C2),F(xiàn)na=Fna+Dn如果(Fna>FF),F(xiàn)na=Fna+46-100……(5)(Dn=00)且(00<Dn<80)RA=[(Fna)×80]+Dn[60] ……(6)(Dn=80)且(80<Dn<A0)RA=[(Fna+18)×20]+Dn[40] ……(7)(Dn=A0)且(A0<Dn<AF)
RA=[(Fna+BA-100)×10]+Dn[30] ……(8)參照圖13,可看到,當(dāng)例如幀182被提供給并存入RAM51(稱這為“EFM+寫”)時,(幀174,175等的)數(shù)據(jù)的C11序列被同時以00,02,…,A9的順序提供給解碼器52(稱之為“C11讀”)。數(shù)據(jù)的C2序列被傳輸?shù)浇獯a器52(稱之為“C2讀”)。并且數(shù)據(jù)的C12序列被傳輸?shù)浇獯a器52(稱為“C12讀”)。一個已被解碼的第一幀1(用于所有數(shù)據(jù)序列C11,C2和C12)被提供給OCTL電路56(稱之為“OUT讀”)。數(shù)據(jù)序列C11,C2和C12的供給(即傳輸)以固定的時間間隔被連續(xù)執(zhí)行,換言之,給定一個具有每周期1168個周數(shù)的時鐘信號RFCK,長度為170字節(jié)的糾錯碼在每個時鐘周期內(nèi)可被傳輸三次。
存在RAM51中的C11,C2和C12數(shù)據(jù)序列在時鐘RFCK的一個周期內(nèi)都被傳輸?shù)浇獯a器52。存在RAM51中的糾錯碼數(shù)據(jù)(簡稱ECC數(shù)據(jù))沒有變化,并且如果檢測到一個錯誤并發(fā)現(xiàn)它為可校正的,則將一個錯誤位置和一個糾錯格式作為一個錯誤結(jié)果“ER”提供給錯誤寄存器53。然后通過將存在錯誤寄存器53中的糾錯格式和RAM51提供的基于錯誤位置的錯誤數(shù)據(jù)進(jìn)行邏輯異或地相加(稱之為“EXOR操作”),并接著將結(jié)果值存入RAM51中的適當(dāng)位置上,ECC電路50進(jìn)行糾錯。最后,解碼數(shù)據(jù)S10被提供給緩沖區(qū)存儲器10并且扇區(qū)首標(biāo)數(shù)據(jù)SH被提供給扇區(qū)檢測電路7。
圖14示出了傳輸、錯誤結(jié)果輸出和糾錯操作的時序圖。如圖所示,在C12序數(shù)數(shù)據(jù)被傳輸?shù)紼CC解碼部件55之后(標(biāo)識為“C12R”),ECC控制部件54(圖11)校正C11序列數(shù)據(jù)中的錯誤(標(biāo)識為“C11W”)。然后,在將下一個幀的C11序列數(shù)據(jù)從RAM51提供給解碼器52之后,ECC控制部件54校正當(dāng)前幀的C2數(shù)據(jù)序列中的錯誤(標(biāo)識為“C12W”)。最后,在提供了下一個幀的C2數(shù)據(jù)序列之后,ECC控制部件54校正當(dāng)前幀的C12數(shù)據(jù)序列中的錯誤(標(biāo)識為“C12W”)。從而,將ECC數(shù)據(jù)的三個序列從RAM51連續(xù)傳輸?shù)紼CC解碼部件55(即C11R,C2R和C12R),并接著須經(jīng)過ECC錯誤糾正(即C11W,C2W和C12W),所有這些操作在時鐘RFCK的一個周期內(nèi)執(zhí)行。還可以看到在時鐘RFCK的每個周期內(nèi),ECC數(shù)據(jù)的C11,C2和C12序列中的每一個從RAM51以固定的時間間隔被輸出。
ECC傳輸碼長NCYC為170個周期(即NCYC=170),且一個奇偶性傳輸碼長PCYC最大為14個周期(即PCYC=14),從下面等式可看出向錯誤寄存器53提供錯誤結(jié)果的間隔被設(shè)置成一個395個周期的ECC操作時鐘(ECCK)NCYC碼長(170)PCYC奇偶性長度(最大14)2×NCYC+3×PCYC+13=395 ……(9)(ECC電路50的)RMIF電路48對用于與數(shù)據(jù)的C1(即C11和C12)和C2序列相對應(yīng)的字符量的ECCK時鐘脈沖計數(shù),以便于在時鐘RFCK的一個周期內(nèi)進(jìn)行三次輸出,使之與C11R,C2R和C12R數(shù)據(jù)傳輸同步。此時,在數(shù)據(jù)的C12序列的傳輸過程中輸出數(shù)據(jù)的C11序列的結(jié)果,在數(shù)據(jù)的C11和C2序列的傳輸過程中分別輸出C2和C12序列的結(jié)果。
圖15是在時鐘RFCK的一個周期內(nèi)以C11,C2和C12順序輸出ECCK時鐘時和只傳輸數(shù)據(jù)的C11序列時的時序圖。如圖所示,利用一個幀計數(shù)器對數(shù)據(jù)傳輸量(如C11)和錯誤校正量(如[C11])計數(shù)。
圖16是ECC電路50的錯誤輸出的時序圖。如圖所示,在接收C1和C2數(shù)據(jù)(即當(dāng)起始脈沖信號ESTT變?yōu)楦邥r)后的395個ECCK時鐘周期,代表ECC結(jié)果輸出時刻的“OSTT”信號發(fā)生了,在OSTT信號上升之后的三個時鐘周期,一個選通信號OCORRECT為高(即等于“1”),并且在OCORRECT選通為高時,錯誤格式EDX和錯誤位置EAX分別作為數(shù)據(jù)ODATA[70]和OORIG[70]被輸出。圖16的時序圖說明了存在三個錯誤(ED0,ED1,ED2)的情形。當(dāng)解碼部件55識別出C1和C2數(shù)據(jù)的起始時,起始脈沖信號ESTT變?yōu)楦?,并且OCORRECT選通被用于獲取ECC結(jié)果ODATA[70]和OORIG[70]。如前所述,錯誤格式(EDX)和錯誤位置(EAX)存在錯誤寄存器53中,并且在完成了向解碼器52的數(shù)據(jù)傳輸之后,這些錯誤被校正。
參照圖17,示出了在RFCK的一個時鐘周期段(即1個幀)內(nèi)進(jìn)行RAM51的存儲器讀寫數(shù)(即ECCK時鐘周期段)。如前所述,在時鐘ECCK的1168個時鐘周期內(nèi)執(zhí)行EFM+,C11,C2,C12和OUT操作。如圖17所示,在一個時鐘周期內(nèi)將扇區(qū)同步格式存入RAM51,并在170+/-α個時鐘周期內(nèi)存入EFM+數(shù)據(jù)。在170個時鐘周期內(nèi)(從RAM51)讀取C11序列數(shù)據(jù),在“8+8”時鐘周期內(nèi)執(zhí)行C11校正(讀和寫),在一個時鐘周期內(nèi)存儲C11校正結(jié)果和“SUB”(將討論),在一個時鐘周期內(nèi)讀取一個扇區(qū)同步格式,在20個時鐘周期內(nèi)讀取首標(biāo)數(shù)據(jù),并在1+(14)個時鐘周期內(nèi)寫入從首標(biāo)數(shù)據(jù)進(jìn)行扇區(qū)信息讀操作的結(jié)果。
在170個時鐘周期內(nèi)從RAM51讀取數(shù)據(jù)的C2序列,在14+14個時鐘周期內(nèi)校正C2數(shù)據(jù)中的錯誤,并在一個時鐘周期內(nèi)存儲校正后的C2數(shù)據(jù)。在170個時鐘周期內(nèi)讀取數(shù)據(jù)的C12序列,在8+8個時鐘周期內(nèi)校正C12數(shù)據(jù)中的錯誤(讀和寫),并在一個時鐘周期內(nèi)存儲校正后的C12數(shù)據(jù)。
最后,在一個時鐘周期內(nèi)讀取ECC解碼數(shù)據(jù)的扇區(qū)信息,在一個時鐘周期內(nèi)讀取C11數(shù)據(jù)的校正結(jié)果,在一個時鐘周期內(nèi)讀取C2數(shù)據(jù)的校正結(jié)果,在一個時鐘周期內(nèi)讀取C12數(shù)據(jù)的校正結(jié)果,并在170個時鐘周期內(nèi)執(zhí)行OUT操作(即將所有數(shù)據(jù)從RAM51傳輸?shù)酱鎯ζ?0)。上述所有操作是在時鐘RFCK的一個時鐘周期內(nèi)的1168個ECCK時鐘周期中的948個ECCK時鐘周期內(nèi)執(zhí)行的。
上述的SUB操作是關(guān)于首標(biāo)數(shù)據(jù)的讀取和向圖9的扇區(qū)檢測電路7傳輸一個4字節(jié)的同步碼和16字節(jié)的首標(biāo)數(shù)據(jù)。扇區(qū)檢測電路7從首標(biāo)數(shù)據(jù)中抽取扇區(qū)地址,執(zhí)行一CRC操作,執(zhí)行一所謂的“規(guī)整”(FW)操作,并將結(jié)果傳輸?shù)较到y(tǒng)控制器4。系統(tǒng)控制器4只在已經(jīng)ECC解碼的C11序列數(shù)據(jù)中標(biāo)識扇區(qū)首標(biāo)數(shù)據(jù)SH。如圖14所示,在C11數(shù)據(jù)被糾錯(C11W)后提供了SUB信息。從而,在C2和C12序列被解碼前獲得了定位信息(即在盤2上的定位)。
上述飛輪操作是關(guān)于保護(hù)和內(nèi)插子程序,它能在即使幾次沒有檢測到同步信號的情況下保持“鎖定”狀態(tài)。系統(tǒng)控制器4確定再現(xiàn)的扇區(qū)是否是所需的扇區(qū),并且當(dāng)在再現(xiàn)的RF信號中連接檢測到幾個同步格式,特別是幾個主和子同步格式時,規(guī)整操作采用一個“EW鎖”。
下列等式示出了用于從和向RAM51讀與寫的“幀單元”操作(稱之為“JOB操作”)的執(zhí)行條件JOB的幀計數(shù)和執(zhí)行條件(SUB包括在C11中)C11的執(zhí)行條件Fn(EFM+)-Fn(C11)>1C2的執(zhí)行條件 Fn(C11)-Fn(C2)>169C12的執(zhí)行條件Fn(C2)-Fn(C12)>0OUT的執(zhí)行條件Fn(C12)-Fn(OUT)>0 ……(10)
假設(shè)“JOBXXX”的幀計數(shù)為Fn(XXX),那么當(dāng)所有幀單元XXX的JOB操作完成時,F(xiàn)n(XXX)加1。此時,假設(shè)“SUB”被包括在數(shù)據(jù)的C11序列中。
如前所述,當(dāng)連續(xù)幾次檢測到同步信號時,同步格式FW被“鎖定”。此時,一個存儲器寫啟動信號MWENS被設(shè)置為高并且EFM+解調(diào)數(shù)據(jù)的寫操作被初始化。如果連接幾次沒有檢測到同步信號,則同步格式FW被解鎖,存儲器寫啟動信號MWENS被設(shè)置為低以阻止EFM+數(shù)據(jù)的寫,并且每個幀計數(shù)器被重新設(shè)置為0。
圖18是本發(fā)明的糾錯處理過程中,RAM51的各種讀請求和讀確認(rèn)信號的時序圖。如圖所示,每4個信號C11M的周期提供一個OUT請求信號OUTREQ并且按OUTREQ(OUT請求),EFMREQ(EFM+請求)和ECCREQ(ECC請求)的順序提供請求信號。當(dāng)“XXX ACK”(一個特定的確認(rèn)信號)為高時執(zhí)行一個特定的“JOB”。而且,在時鐘RFCK的上升沿和存在一個特定的JOB執(zhí)行條件時輸出ECC數(shù)據(jù)。如圖14所示,以下列順序執(zhí)行ECC數(shù)據(jù)的讀/寫操作和“SUB”C11R,C2W,C2R,C12W,C12R,C11W和SUB。
從前面的論述中可以看到,對于各種C11,C2,C12和OUT操作,只要同步FW被鎖定,F(xiàn)n(C11)和Fn(OUT)之間的計數(shù)值是固定的,MWENS信號保持為高,并且滿足用于每個JOB的執(zhí)行條件。
本發(fā)明的數(shù)據(jù)解碼裝置40,如圖9所示,將再現(xiàn)(信號RFCK)過程中的通道位速率設(shè)置成大于在盤上記錄過程中的26.6Mbit/s的參考通道位速率的值,以確信數(shù)據(jù)能從緩沖區(qū)存儲器10中被讀出并提供給多路數(shù)據(jù)分離電路13。
如前所述,從解碼器52提供錯誤位置、校正格式和不可校正數(shù)據(jù)標(biāo)記,并將其存入錯誤寄存器53中。通過將存在RAM51中的ECC數(shù)據(jù)和校正格式異或邏輯地加來順序校正錯誤,并且不改變存在RAM51中的ECC數(shù)據(jù),從而消除了為ECC解碼數(shù)據(jù)提供另一個存儲器的必要。此外,從上面論述可以看到只需要一個解碼器52來校正ECC數(shù)據(jù)的C11,C2和C12序列中的所有錯誤。
另外,圖9中實現(xiàn)圖9和10所示的解碼電路的電路只提供了一個幀計數(shù)器(用于數(shù)據(jù)傳輸和糾錯操作),一個用于保存再現(xiàn)的數(shù)據(jù)的存儲器51,從而再現(xiàn)數(shù)據(jù)無需象圖2所示的設(shè)備那樣從第一存儲器傳輸?shù)降诙鎯ζ?,到第三存儲器,并且利用存在表中的值,存儲設(shè)備51是可尋址的。
最后,上述解碼電路35可被操作在時鐘RFCK的一個周期內(nèi)糾正ECC數(shù)據(jù)的C11,C2和C12序列中的所有錯誤。從而,以固定的時間間隔提供糾錯后的C11,C2和C12數(shù)據(jù)。
圖19至22說明了依據(jù)本發(fā)明另一實施例的一種記錄數(shù)據(jù)格式,其中以32K字節(jié)的簇為單元記錄數(shù)據(jù)。圖19說明了一個總數(shù)為2064字節(jié)的扇區(qū)的數(shù)據(jù)結(jié)構(gòu),該扇區(qū)由大約2K字節(jié)(2,060字節(jié))數(shù)據(jù)和4字節(jié)檢錯碼(EDC)組成。依據(jù)本發(fā)明,以圖20所示方式組合16個扇區(qū)(每個為2064字節(jié)),其中每個扇區(qū)由12×172字節(jié)數(shù)據(jù)組成,16個扇區(qū)組合形成192×172字節(jié)數(shù)據(jù)(即12×16×176字節(jié)數(shù)據(jù))。16字節(jié)的外部奇偶性碼PO(或簡稱外部碼PO)被加到扇區(qū)數(shù)據(jù)的每一列,并且10字節(jié)的內(nèi)部奇偶性碼PI被加到每個扇區(qū)數(shù)據(jù)行以及PO奇偶性數(shù)據(jù)的每一行。
外部碼行(包括16×172字節(jié)的PO數(shù)據(jù)和16×10字節(jié)的PI數(shù)據(jù))被分成單獨的16行,每行182字節(jié),每行182字節(jié)行被插入16個相應(yīng)的用數(shù)0至15表示的扇區(qū)(包括12×182字節(jié))中的一個之下,如圖21所示。從而每個扇區(qū)由13×182字節(jié)構(gòu)成,16個扇區(qū)共208×182字節(jié)(16×13×182)。圖21所示的數(shù)據(jù)進(jìn)一步被分成兩部分,每部分為91字節(jié),如圖22所示,并且每組91字節(jié)為1幀的數(shù)據(jù),共208×2幀。一個兩字節(jié)的幀同步信號FS被加到每個91字節(jié)的幀上,如圖22所示,以產(chǎn)生416個(208×2)93字節(jié)的幀。416個幀形成一簇(或一個ECC塊)數(shù)據(jù)。從上面的論述可看出,一個“實際上的”扇區(qū)(不包括“頂部”數(shù)據(jù))的大小為2K字節(jié),一簇(一個ECC塊)由16個扇區(qū)構(gòu)成并且一個扇區(qū)包括24幀。所以數(shù)據(jù)以簇為單元被記錄到光盤2上。
參照圖23,示出了解調(diào)電路35的詳細(xì)方塊圖,用于本發(fā)明的數(shù)據(jù)再現(xiàn)裝置40再現(xiàn)具有上述記錄數(shù)據(jù)格式的數(shù)據(jù)的情況。如前所述,解調(diào)電路35由解調(diào)電路6、扇區(qū)檢測電路7和ECC電路50構(gòu)成。解調(diào)電路6包括一個RF處理電路130和一個EFM+解調(diào)電路131。扇區(qū)檢測電路7可包括一個SBCD電路134、一個RAM控制器135和一個RAM137。ECC電路50可包括RAM控制器135、一個ECC控制電路136、RAM137、一個ECC核心電路138和一個OCTL(輸出控制)電路139。
RF處理電路130接收拾取設(shè)備3(圖9中示出)提供的信號S1,將信號S1切換成一個二進(jìn)制信號,并將二進(jìn)制信號提供給EFM+解調(diào)電路131。EFM+解調(diào)電路131解調(diào)信號并檢測其中的同步格式。根據(jù)EFM+調(diào)節(jié)電路131提供的同步格式,CLV控制電路132控制一個驅(qū)動接口(IF)電路133。子碼(SBCD)電路134檢測EFM+解調(diào)電路131提供的信號中的扇區(qū),并且RAM控制器135(相應(yīng)于圖11中的RMIF電路48)控制RAM137的讀和寫操作。RAM137臨時存儲在ECC控制電路136的糾錯過程中提供的數(shù)據(jù),ECC核心電路138(相應(yīng)于圖11中的ECC解碼部件55)利用Reed-Solomon代碼(PI和PO)產(chǎn)生提供給ECC控制電路136的ECA、ECD和SFLG信號(將要討論的),并且ECC控制電路136利用所提供的ECA,ECD和SFLG信號校正數(shù)據(jù)中的錯誤。OCTL電路139對錯誤檢測碼解擾并輸出數(shù)據(jù)。一個主機(jī)CPU140(相應(yīng)于圖9中的系統(tǒng)控制器4)控制解調(diào)電路35的每個電路的操作。
如前所述,CLV控制電路132控制一個驅(qū)動接口(IF)電路133。CLV控制電路132允許一個粗伺服機(jī)構(gòu)根據(jù)檢測到的同步格式處理信號S1以進(jìn)一步檢測同步碼,如圖24所示的碼SY0到SY7。同樣,如前面提到的,一個PLL(鎖相環(huán))相位伺服機(jī)構(gòu)處理該信號。參照圖24,示出了一例光盤2的物理扇區(qū)的數(shù)據(jù)結(jié)構(gòu)。每個物理扇區(qū)由26個同步幀(2列13行同步幀)構(gòu)成,并且每個同步幀包括調(diào)制前的32通道位(2個16位字節(jié))的同步碼(SY0-SY7),其后是1456通道位(91個16位字節(jié))(表示為調(diào)制前的位)的數(shù)據(jù)段。第一同步幀的數(shù)據(jù)段包括ID信息(如一個扇區(qū)號),用于ID(IED)的錯誤檢測碼和主數(shù)據(jù)。作為每個同步幀的第一32通道位存儲的同步格式的低22位具有位格式“0001000000000000010001”,它的格式是唯一的并且沒有出現(xiàn)在數(shù)據(jù)中。
左列第一同步幀的后面有11個同步幀,這些幀中的每一個具有同步格式和之后的主數(shù)據(jù),這些幀后面的一個幀具有同步格式和之后的PO奇偶性數(shù)據(jù)(即左列最后一個同步幀)。右列中的每個同步幀包括主數(shù)據(jù)及PI奇偶性數(shù)據(jù),但右列第十二同步幀包括EDC(錯誤檢測碼)和PI奇偶性數(shù)據(jù),并且右列最后一個同步幀(第十三個)包括PO和PI對偶性數(shù)據(jù)兩者。
圖25說明了不帶有PI和PO奇偶性數(shù)據(jù)的扇區(qū)數(shù)據(jù)結(jié)構(gòu)。如圖所示,一個扇區(qū)由一個4字節(jié)ID碼(即扇區(qū)號),一個用于ID碼的2字節(jié)錯誤檢測碼,6字節(jié)的保留數(shù)據(jù),加擾的主數(shù)據(jù)以及4字節(jié)EDC(錯誤檢測碼)。如前所述,16個扇區(qū)和PI及PO數(shù)據(jù)以圖20-21所示的方式組合在一起,并且加上了幀同步碼FS,如圖22所示。幀同步碼以SYx(X=0,1,2,…,7)表示,如圖24所示,并且,由于一個ECC塊由16個扇區(qū)構(gòu)成,所以扇區(qū)物理地址的低4位被設(shè)置為0000-1111,ECC塊的第一扇區(qū)的物理地址的低4位為0000。
利用以扇區(qū)物理地址的低4-7位所指定的值為初始值,通過將主數(shù)據(jù)與所產(chǎn)生的加擾數(shù)據(jù)異或邏輯地加,來對圖25所示的扇區(qū)的主數(shù)據(jù)加擾。
利用下述定義和信號名描述本發(fā)明Block-top(塊頂)當(dāng)一個SYLK信號為高時,此信號在一個扇區(qū)的起始處變?yōu)楦摺?br>
C11M具有11.2896MHz頻率的系統(tǒng)操作時鐘。
DSTB(數(shù)據(jù)選通)一個在主數(shù)據(jù)作為流數(shù)據(jù)SD被輸出時為高的數(shù)據(jù)選通信號。
ECA(糾錯地址)一個指示錯誤位置(即地址)的糾錯地址。
ECCK(ECC時鐘)一個用于ECC核心電路138的操作時鐘。
ECD(糾錯數(shù)據(jù))在與錯誤數(shù)據(jù)異或邏輯地相加后變成正確數(shù)據(jù)的糾錯數(shù)據(jù)。
ECDE(ECC代碼數(shù)據(jù)末端)一個指示輸入數(shù)據(jù)末端的控制信號。
ECOD(ECC錯誤代碼)當(dāng)一個錯誤不可校正時此信號為高。
ECOR(ECC校正)一個指示帶有可校正數(shù)據(jù)(ECA,ECD)的數(shù)據(jù)輸出的選通信號。
ECYE(ECC周期末端)一個指示輸入碼數(shù)據(jù)周期末端的控制信號。
EDT(ECC數(shù)據(jù))從RAM137讀出并提供給ECC控制電路136用于糾錯的數(shù)據(jù)。
ESTB(錯誤選通)在糾錯結(jié)果ER的傳輸過程中為高的糾錯結(jié)果選通信號。
ESTT(ECC開始)一個指示開始輸入數(shù)據(jù)的控制信號。
EFM+W Frame(EFM+寫幀計數(shù)器)此信號代表一個將被寫入RAM137的主幀。
HDEN(首標(biāo)數(shù)據(jù)使能)用于扇區(qū)首標(biāo)數(shù)據(jù)的選通信號。
主-FMSY(主幀同步)此信號在每個PI行的主同步(前導(dǎo)同步)為高。
MWEN(存儲器寫使能)此信號使EFM+解調(diào)數(shù)據(jù)能寫入RAM137。
MWRQ(EFM寫請求)此信號請求向RAM137寫入EFM+解調(diào)數(shù)據(jù)。
OUTE(輸出標(biāo)記)一個內(nèi)插(輸出)標(biāo)記。
OSTT(ECC輸出開始)在ESTT信號以特定的代碼序列變?yōu)楦咧蟮?77個ECCK時鐘周期內(nèi)輸出這個信號。
RDT(讀數(shù)據(jù))在到RAM137的讀數(shù)據(jù)總線上的數(shù)據(jù)。
SALK(扇區(qū)地址鎖)此信號表示已正確檢測的扇區(qū)地址(ID)。
SAUL(扇區(qū)地址解鎖)一個與SALK極性相反的信號。
SCSY(扇區(qū)同步)此信號在一個SY0幀變?yōu)楦咭灾甘疽粋€扇區(qū)的開始。
SD(流數(shù)據(jù))解碼輸出數(shù)據(jù)。
SDCK(流數(shù)據(jù)時鐘)一個流數(shù)據(jù)時鐘。
SFLG(扇區(qū)標(biāo)志)用于PI1校正的ECC不可校正標(biāo)志。
SINF(扇區(qū)信息)一個在扇區(qū)開始處變?yōu)楦叩纳葏^(qū)信息選通信號。
SUB(SUB數(shù)據(jù))被傳輸?shù)絊BCD電路134并包括一個ID和一個IEC的數(shù)據(jù)。
SYLK(同步鎖)在連續(xù)檢測到三個同步碼時,此信號變?yōu)楦摺?br>
SYUL(同步解鎖)此信號極性與SYLK信號相反。
WDT(寫數(shù)據(jù))向RAM137的寫數(shù)據(jù)總線上的數(shù)據(jù)。
XHWE(扇區(qū)首標(biāo)寫啟動)此信號啟動從SBCD電路134寫入RAM137的扇區(qū)信息的輸出。
如圖26所示,根據(jù)RAM控制器135提供的各種控制信號,解調(diào)數(shù)據(jù)(圖23所示的由電路131解調(diào))被存入RAM137中。圖26說明了一個ECC塊。而且RAM控制器35通過指定的行和列值從RAM137中讀出所需數(shù)據(jù),其中值(M,N)表示從中讀出位于第M行第N個字節(jié)的數(shù)據(jù)。
如前所述,SBCD電路134標(biāo)識根據(jù)同步碼的類型和連續(xù)性從光盤2再現(xiàn)的扇區(qū)的開始處。在標(biāo)識了扇區(qū)的開始處之后,以前導(dǎo)數(shù)據(jù)為首的解調(diào)數(shù)據(jù)被順序存入RAM137中。圖27A到27F是示出存儲解調(diào)數(shù)據(jù)過程中各種信號SCSY、主-FMSY、SUB、MWEN、EFM+W幀和PI1幀的值的時序圖,下面將進(jìn)一步描述這些信號。
圖28是解調(diào)電路131的同步“鎖定”操作的流程圖。其中在步驟SP1確定是否在每個同步幀中檢測了同步碼(如圖24所示的SY0到SY7),如果是,則在指令SP2中,表示被連續(xù)檢測到的同步碼數(shù)的SClock加1,并且表示連續(xù)檢測失敗次數(shù)的SCunlock被重新置為0。然后在步驟SP3確定SClock是否等于3?;蛘撸瑩Q言之,是否連續(xù)檢測到三個同步碼,如果否,則程序返回到步驟SP1,但如果SClock等于3,則在指令SP4,信號SYLK被設(shè)置為高以指明同步鎖定狀態(tài)被初始化,并在返回SP1以繼續(xù)檢測下一個同步碼之前,在指令SP5將SCLock設(shè)置為等于2。
但是,如果在步驟SP1確定沒有檢測到一個同步碼,則在指令SP6中SCunlock加1而SClock被重新置為0。然后在步驟SP7確定SCunlock是否等于3,或者換言之,是否連續(xù)三次沒有檢測到一個同步碼,如果沒檢測到同步碼的次數(shù)小于3,則程序返回步驟SP1,但如果三次未檢測到同步碼,則信號SYLK在指令SP8被置為低,并且在返回步驟SP1之前,在指令SP9將SCunlock置為2(以保持SYLK為低值)。在圖28的流程圖中,在鎖定(或解鎖)同步碼之前的檢測次數(shù)被設(shè)為3,但應(yīng)理解也可利用其它數(shù)字。
圖29是信號SYLK為高(即鎖定狀態(tài)被初始化)時EFM+解調(diào)電路131的操作流程圖。首先,在步驟SP21確定是否檢測到同步碼SY0(其位于每個扇區(qū)的開頭,如圖24所示),如果是,則在指令SP22,在一個預(yù)定的時間段內(nèi)將信號SCSY設(shè)為高以指示扇區(qū)的開頭,如圖27A所示,并且在步驟SP23確定信號SYLK是否被設(shè)置為低。如果否(即信號SYLK為高),則程序返回SP21,如果在步驟SP21確定未檢測到同步碼SY0,則過程進(jìn)行到指令SP23(即指令SP22被跳過),最后,如果信號SYLK在步驟SP23為高,程序中止。
圖30是信號SYLK變?yōu)楦邥rEFM+解調(diào)電路131的操作流程圖。首先在步驟SP31確定是否檢測到“主幀”中的“主幀”同步碼,其中一個“主”幀由圖24所示的兩個橫向同步幀構(gòu)成,并且左側(cè)同步幀中的每個同步碼被看作“主幀”同步碼。如果檢測到一個“主幀”同步碼,如圖27B所示,在指令SP32發(fā)生信號主-FMSY,但如果未檢測到“主幀”同步碼,指令SP32被跳過。然后在步驟SP33確定信號SYLK是否為低,如果否(即SYLK為高),則程序返回SP31,但如果在步驟SP33信號SYLK為低,則中止發(fā)生信號主-FMSY(以及程序)。參照圖24和27B,在每次檢測到主幀(兩個橫向同步幀)時,EFM+解調(diào)電路131發(fā)生信號主-FMSY。
參照圖27A和27D,在解調(diào)電路131接收到信號SCSY時,RAM控制器135設(shè)置信號MWEN為高,開始將被檢測的扇區(qū)存入RAM137。RAM控制器135利用一個EFM+W幀計數(shù)器(未示出)對主幀(圖24所示)計數(shù)以產(chǎn)生一個主幀計數(shù)“EFM+W Frame”,如圖27所示。RAM控制器135還包括一個PI1幀計數(shù)器(未示出)以保持傳輸?shù)絉AM137的主幀數(shù)并且其計數(shù)如圖27F所示。當(dāng)?shù)谝恢鲙?,?biāo)為0并如圖24的頂行所示,被存入RAM137時,第一主幀還根據(jù)RAM控制器135的控制信號被提供給ECC控制電路136并且第一主幀被傳輸?shù)接糜谛U峁?shù)據(jù)中錯誤(稱之為“PI1”處理或校正)的ECC核心電路138。PI1校正之后,數(shù)據(jù)被存回RAM137。
在PI1校正之后,主幀號0中的ID和IED數(shù)據(jù)被存入RAM137,并通過數(shù)據(jù)總線與圖27C所示的信號SUB(0)同步地被供給SBCD電路134。如前所述,ID和IED數(shù)據(jù)只位于每個扇區(qū)的開頭(圖24),從而此數(shù)據(jù)傳輸只用于主幀號0。然后SBCD電路134檢測被再現(xiàn)的物理扇區(qū)的地址(ID)。同樣如前所述,被檢測的物理扇區(qū)的地址的低4位允許檢測ECC塊的前導(dǎo)扇區(qū)。
圖31A到31H是在ID被傳輸后,在塊開頭的檢測過程中的各種信號的時序圖;圖32A到32H是檢測過程之后的時序圖;圖33A到33F是ID處理過程的傳輸時序圖。后面將進(jìn)一步討論圖31到33。
首先參照圖33A到33F,從RAM控制器133輸出圖33A所示的信號HDEN,并將其提供給SBCD電路134以標(biāo)識從RAM137讀出ID和IED數(shù)據(jù)的時間。在這段時間中,從RAM137讀取四個字節(jié)的ID數(shù)據(jù)和2個字節(jié)的IED數(shù)據(jù)并在與圖33F所示的時鐘C11M(頻率為11.2896MHz)同步讀取數(shù)據(jù)RDT時,圖33C所示,將它們提供給SBCD電路134。如圖33B所示,信號SFLG為低并從ECC核心電路138被提供給ECC控制電路136以標(biāo)識ID和IED數(shù)據(jù)通過“PI1校正”被校正,但如果該數(shù)據(jù)是不可校正,則信號SFLG被設(shè)置為高。當(dāng)ID(扇區(qū)地址)被接收時,根據(jù)來自主CPU140的各種控制信號(如用于內(nèi)插標(biāo)志的發(fā)生格式、起始扇區(qū)和終止扇區(qū)),SBCD電路134產(chǎn)生對應(yīng)于該ID的扇區(qū)信息SI。例如,對于具有被指定為將被輸出的數(shù)據(jù)的扇區(qū)的ID來說,扇區(qū)信息位5被設(shè)為1,位4被設(shè)為0。
圖34是扇區(qū)信息(SI)的數(shù)據(jù)結(jié)構(gòu)圖。扇區(qū)信息SI包括下列位位7一個內(nèi)插標(biāo)志(OUTF)發(fā)生格式(1內(nèi)插標(biāo)志發(fā)生格式)的設(shè)置位6ECC塊的前導(dǎo)扇區(qū)(1當(dāng)物理扇區(qū)地址的低4位為0時)(1前導(dǎo)扇區(qū))位5起始扇區(qū)(1當(dāng)物理扇區(qū)地址與主CPU40指定的起始扇區(qū)地址匹配時)(1起始扇區(qū))位4終止扇區(qū)(1當(dāng)物理扇區(qū)地址與主CPU40指定的終止扇區(qū)地址匹配時)(1終止扇區(qū))位3一個解擾初始化地址的位3(一個物理扇區(qū)地址的第7位)位2一個解擾初始化地址的位2(一個物理扇區(qū)地址的第6位)位1一個解擾初始化地址的位1(一個物理扇區(qū)地址的第5位)位0一個解擾初始化地址的位0(一個物理扇區(qū)地址的第4位)當(dāng)ID和IED數(shù)據(jù)以圖35到37所示流程圖中的方式被處理時(將被討論),ECC控制電路136設(shè)置的信號XHWE為低,如圖33D所示。信號XHWE使扇區(qū)信息SI作為寫數(shù)據(jù)WDT(8位)從SBCD電路134提供給用于存儲的RAM137,16個扇區(qū)的扇區(qū)信息SI被存入RAM137中以便于對應(yīng)16個PI行,如圖26所示。從而,當(dāng)一個PI行號被指定時,即可得到相應(yīng)一扇區(qū)信息。
接著參照圖35,一個SBCD電路134的操作流程圖,以確定是否獲得3個(或多個)具有有效ID的連續(xù)扇區(qū)。首先在步驟SP41確定IED數(shù)據(jù)是否是可接受的(即基于IED數(shù)據(jù),ID是否是有效的),如果是,在指令SP42值SALock加1以指明具有一個“正?!盜D扇區(qū)數(shù),并且值SAunlock被重新設(shè)置為0以標(biāo)識具有無效(不正常)ID的連續(xù)扇區(qū)數(shù)(即ID中的一個錯誤)。然后在步驟SP43確定SAlock是否等于3,如果否,過程返回步驟SP41。如果SAlock等于3(即三個具有有效ID的扇區(qū)被連續(xù)再現(xiàn)),則在指令SP44將一個標(biāo)志IECOK設(shè)為高,并在返回步驟SP41之前,在指令SP45將SAlock設(shè)置為2。
如果在步驟SP41,IED被確定為無效,則在指令SP46,值SAunlock加1且值SAlock被重新設(shè)置為0。然后在步驟SP47確定SAunlock是否等于3,如果否,則程序返回步驟SP41,但如果SAunlock等于3(即三個連續(xù)的扇區(qū)具有一個失常的IED檢驗結(jié)果),則在指令SP48標(biāo)志IECOK被設(shè)置為低,并在返回步驟SP41之前,在指令SP49將SAunlock置為2。
如上所述,如果三個或多個連續(xù)IED檢驗產(chǎn)生了一個正常結(jié)果(即有三個或多個連續(xù)的有效ID),則SBCD電路134將標(biāo)志IECOK設(shè)置為高,并且如果三個或多個連續(xù)IED檢驗產(chǎn)生了失常的結(jié)果(即有三個或多個連續(xù)的無效ID),則設(shè)置標(biāo)志IECOK為低。
圖36是確定了順序加1的ID(地址)的連續(xù)性時SBCD電路134的操作流程圖,首先在步驟SP61確定是否檢測到一個ID,如果是,則為了比較當(dāng)前的ID(存入的ID)和一個后續(xù)ID,在指令SP62將該ID存入存儲器。然后在步驟SP63確定當(dāng)前被處理的ID是否具有大于以前存入被處理的ID為1的值,如果是,則在指令SP64,值NS加1(表示另一個正確的ID被檢測到)并且值NNS被重新置為0。然后在步驟SP65確定NS是否等于3,如果否,則程序返回步驟SP61,但是如果NS等于3,則在返回步驟SP61之前,在指令SP66設(shè)置標(biāo)志AS為高以指明連續(xù)被檢測的ID是有效的,并在指令SP67設(shè)置NS為2。
如果在步驟SP61沒有檢測到ID或在步驟SP63當(dāng)前被檢測的ID不大于以前被檢測的ID為1,則在步驟SP68確定標(biāo)志SALK是否為高,并且如將被進(jìn)一步討論的,當(dāng)三個或多個連續(xù)的IED檢驗為有效并且保持三個或更多ID的連續(xù)性時,SALK被設(shè)置為高。如果在SP68,標(biāo)志SALK為高,則在指令SP69內(nèi)插該ID。即,由于未檢測到ID或檢測到的ID是不連續(xù)的,所以以前被檢測的ID加1以產(chǎn)生一個新ID并且所產(chǎn)生的新ID被用于代替被檢測的ID(如果它已被檢測)。如果標(biāo)志SALK為低,則跳過指令SP69,然后在指令SP70,NNS加1且NS被重新置0。在步驟SP71確定NNS是否等于3。如果否,則程序返回SP61,但是,如果NNS等于3,則在返回SP61之前,在指令SP72標(biāo)志AS被設(shè)為低,并在指令SP73,NNS被設(shè)為2。如前所述,當(dāng)ID是有效并連續(xù)時,SBCD電路134設(shè)置標(biāo)志AS為高,當(dāng)ID不連續(xù)時,設(shè)置標(biāo)志AS為低。
圖37是SBCD電路134利用標(biāo)志IECOK和AS產(chǎn)生標(biāo)志SALK的操作流程圖。首先在步驟SP81確定標(biāo)志IECOK是否為高,如果是,則在步驟SP82中確定標(biāo)志AS是否為高,如果標(biāo)志AS為高,則在指令SP83中設(shè)置標(biāo)志ASLK為高。如果標(biāo)志IECOK為低或標(biāo)志AS為低,則在指令SP84中標(biāo)志SALK被設(shè)置為低,程序返回SP81。
如前所述,如果3個或更多連續(xù)的“IEC”是“正?!钡牟⑶胰绻?個或更多的ID被連續(xù)計數(shù),則SBCD電路134設(shè)置標(biāo)志SALK為高,但是如果3個或更多連續(xù)IEC是“失?!钡?,或如果3個連續(xù)的ID檢測失效,則標(biāo)志SALK被設(shè)置為低。
主CPU140參照上述SALK和ID數(shù)據(jù)的值檢測激光束輻照位置(即光盤2上的存取位置)。
在圖35的流程圖中PI1校正的結(jié)果能被加到用于SAcock或SAunlock的情況。此外盡管SAcock或SAuncock的次數(shù)被設(shè)置為3,但是也可以被主CPU140設(shè)置為其它不同的值。
如果在SALK為低(SALK為高)時,SYLK變?yōu)榈?SYUL為高),則EFM+解調(diào)數(shù)據(jù)從EFM+解調(diào)電路31到RAM37的寫和ECC控制都會重新復(fù)位。解鎖狀態(tài)被順序取消(SAUL為低)并且SYLK被設(shè)置為高,此后RAM137中EFM+解調(diào)數(shù)據(jù)的寫入(存儲)被恢復(fù)。
如果必要主CPU140能夠執(zhí)行“解鎖”。例如,為了復(fù)位ECC控制,主CPU能在一次軌道跳躍之后初始化解鎖狀態(tài)。解鎖狀態(tài)能被主CPU140取消或在沒有主CPU140的干預(yù)下被自動取消。
如果SYLK為高(即鎖定狀態(tài))且扇區(qū)信息的位6為1以指明扇區(qū)的開頭(看圖34),則SBCD電路134保持“塊頂”為高直到SYLK變?yōu)榈?即直到鎖定被解除),如圖31A到31H的時序圖所示。如果塊頂被設(shè)置,則在信號SCSY和主-FMSY都已變?yōu)楦?在扇區(qū)開頭)時,EFM+W幀的值從12變到0。即對于每個主幀,EFM+W幀的值重復(fù)地從0,1,2,…,12變化。
如果塊頂為高,則EFM+W幀的值連續(xù)加1,甚至得到值13之后,如圖32A到32H所示。從而,每個ECC塊的主幀中的數(shù)據(jù)以不同的地址被順序存入RAM137中,如圖26所示。
在執(zhí)行PI1校正的同時,EFM+解調(diào)數(shù)據(jù)被順序地和相似地寫入RAM137中。當(dāng)完成了一個ECC塊(208行數(shù)據(jù))中的數(shù)據(jù)的PI1校正時,執(zhí)行PO列方向上的ECC處理(即“PO校正”)。但是,為了正確地從存儲器讀出PO列方向上的數(shù)據(jù),首先PO行必須去交叉(參照圖21)。如果從存儲器讀出對應(yīng)于圖26所示的第N個字節(jié)的列,則在交叉的PO行被跳躍過的同時,向下讀取這一列的數(shù)據(jù),并且只在對應(yīng)于第N個字節(jié)的同一列中的PO行的代碼被讀取和提供給ECC核心電路138。當(dāng)ECC核心電路138完成了PO校正時(除了圖26右端第10個PI列以外的所有列,即172列已被處理),執(zhí)行PI2校正。為了改進(jìn)糾錯性能,PI行方向上的ECC處理被執(zhí)行兩次。
在PO校正過程中,依據(jù)一個在PI1校正結(jié)果基礎(chǔ)上產(chǎn)生的錯誤標(biāo)志(PI1標(biāo)志)執(zhí)行消除校正。在PI2校正過程中,也利用一個在PO校正結(jié)果基礎(chǔ)上產(chǎn)生的錯誤標(biāo)志(PO標(biāo)志)執(zhí)行消除校正。執(zhí)行這些消除校正以改進(jìn)糾錯性能,如前所述。
數(shù)據(jù)的PI序列(完成了PI2校正之后)從RAM137被傳輸?shù)絆CTL電路139,并利用圖34所示的扇區(qū)信息的位3到0,每個扇區(qū)的主數(shù)據(jù)被解擾。此外,OCTL電路139執(zhí)行EDC(錯誤檢測碼)相關(guān)計算并在這些計算結(jié)果的基礎(chǔ)上,將出現(xiàn)的錯誤標(biāo)記加到主數(shù)據(jù)上(即確定所需扇區(qū)中是否存在錯誤)。根據(jù)判定結(jié)果,主CPU140判定是否應(yīng)從光盤2再次再現(xiàn)特殊數(shù)據(jù)。如果是,光盤2被重新訪問。如果不需再次再現(xiàn)數(shù)據(jù),則扇區(qū)中的數(shù)據(jù)(包括錯誤)被提供給多路數(shù)據(jù)分離電路13(圖9)。
ECC核心電路138包括通用Reed-Solomon代碼錯誤校正LSI,它能對碼長,奇偶校驗數(shù)量和校正方式(或者只是普通校正,或者包括普通和消除校正)編程。ECC核心電路138還能使多級編碼和連續(xù)編碼數(shù)據(jù)(多個碼長不同的碼序列)被實時解碼。Reed-Solomon代碼錯誤校正LSI包括諸如SONY公司的商用CXD307-111G,并且利用這些LSI形成的ASIC(專門用途的集成電路)被稱為一個ECC內(nèi)核,ECC內(nèi)核被用于圖23所示的ECC核心電路138。
圖38A到38D是在本發(fā)明的糾錯操作過程中各種信號的時序圖。圖38A所示的控制信號ESTT指示代碼的開頭(PI或PO行),圖38B所示的控制信號ECDE指示代碼的結(jié)尾(PI或PO行),圖38C所示的控制信號ECYE指示代碼(PI或PO行)周期的結(jié)尾。這三個信號從RAM控制器135通過ECC控制電路136被提供到ECC核心電路138,并且ECC核心電路138利用所提供的控制信號來標(biāo)識從RAM137提供的數(shù)據(jù)。如圖38A到38D所示,PI代碼在位于信號ESTT和ECDE的發(fā)生(脈沖)之間的182個ECCK時鐘周期內(nèi)被傳輸。PO代碼也是在位于信號ESTT和ECDE的發(fā)生(脈沖)之間的208個ECCK時鐘周期內(nèi)被傳輸。
如果PI行中的代碼和PO列中的代碼具有不同的碼長,則可通過使代碼周期長度適應(yīng)于PI行和PO列碼長中較長的碼長來以與代碼序列無關(guān)的相同時序(圖38A到38D所示)輸入將被校正的數(shù)據(jù)(EDT)和用于消除校正的錯誤標(biāo)志(PI1,PI2和PO標(biāo)志)。在公開的實施例中,代碼周期長度是208,為PO列代碼的長度。各種參數(shù)可使用任意值,參數(shù)包括碼長和奇偶校驗的數(shù)量。即,當(dāng)改變一種設(shè)置時,向ECC核心電路138提供新的設(shè)置數(shù)據(jù)以允許這個電路在信號ESTT為高時根據(jù)提供的數(shù)據(jù)自動修改內(nèi)部設(shè)置。
利用477ECCK周期輸出數(shù)據(jù)校正的結(jié)果,如下列等式所示通過量=2×NCYC+3×PCYC+13=2×208+3×16+13=477(ECCK)在上述等式中,NCYC代表PI行和PO列中較長的碼長,PCYC表示較大的奇偶校驗數(shù)量。在圖38A到38D中,在由輸出數(shù)據(jù)所需的時間量確定的信號ESTT(圖38A)的時刻之后(即在輸出校正結(jié)果時),信號OSTT(圖38D)從ECC核心電路138被提供給ECC控制電路136。在公開的實施例中,信號OSTT在信號ESTT發(fā)生后被延遲了477個ECCK時鐘周期。
圖39A到39I是在糾錯過程中各種信號,包括ECCK、ESTT、EDT、OSTT、ECOR、“O.CODEERR”、ECD和ECA的時序圖。如果執(zhí)行了錯誤檢測并發(fā)現(xiàn)一個檢測到的錯誤是可校正的,則ECC核心電路138在信號OSTT變?yōu)楦邥r(圖39E所示)向ECC控制電路136提供一個具有低值的“O.CODEERR”信號(圖39G所示)。此后,在信號ECOR為高時(圖39F所示)提供一個8位數(shù)據(jù)ECD[70],如圖39H所示,它識別錯誤格式(即與錯誤數(shù)據(jù)異或邏輯加以獲得正確數(shù)據(jù)的數(shù)據(jù))和一個8位錯誤位置ECA[70],如圖39I所示,它標(biāo)識錯誤發(fā)生的位置(地址)。
在前面討論過的消除校正方式中,對應(yīng)于一個錯誤標(biāo)志EFLG(看圖39C)被輸入到的位置的錯誤位置數(shù)據(jù)(ECA[70])被確認(rèn)將要輸出,但如果該位置的數(shù)據(jù)是正確的,則錯誤格式EDC[70]被設(shè)為00(16進(jìn)制)。
如果該錯誤是不可校正的,信號OSTT(圖39E)被設(shè)為高,同時信號“O.CODEERR”(圖39G)被設(shè)為高,并且信號ECOR(圖39F)被抑制變?yōu)楦?圖39F未示出)。此外,信號ECOD(圖39G)的輸出被鎖存直到信號OSTT(圖39E)再次變?yōu)楦邽橹?,而信號ECOR(圖39F)、ECD[70](圖39H)以及ECA[70](圖39I)繼續(xù)被輸出直到信號OSTT(圖39E)變成高態(tài)為止。
圖40到42是ECC處理過程中各種信號的時序圖。如將討論的,圖40B,41B和42B中所示的參考PI1-R,PO-R和PI2-R中的每一個表明用于糾錯的數(shù)據(jù)EDT[70]和EFLG(圖39C)的PI1,PO和PI12序列從RAM137通過ECC控制電路136被傳輸?shù)紼CC核心電路138的時刻。如圖40A,41A和42A所示,信號MWPQ被提供182次以便于將數(shù)據(jù)EFM+W(具有182字節(jié))寫入由EFM+解調(diào)電路131提供并存在RAM137中的一個PI行中,從而一個PI行中的EFM+解調(diào)數(shù)據(jù)被存入RAM137中。在一個PI行中的數(shù)據(jù)被存儲的同時,已存入RAM137中的一個ECC塊中的數(shù)據(jù)被讀出并通過ECC控制電路136被提供給ECC核心電路138。即在一個PI行中的數(shù)據(jù)以相對較低的速率被存入RAM137的同時,另一個已被存入的PI行或PO列中的數(shù)據(jù)以較高的速率被讀取三次。如果在扇區(qū)開頭的PI行中的數(shù)據(jù)被傳輸,則子碼數(shù)據(jù)(ID和IEC)區(qū)也被讀。讀寫操作以如下方式實現(xiàn)當(dāng)執(zhí)行一種操作時,另一種操作被抑制發(fā)生。
如果,例如執(zhí)行一個ECC塊的PI1校正,則在執(zhí)行一個PI行中數(shù)據(jù)的寫入時間周期內(nèi)讀取一個PI行中的數(shù)據(jù),即,一個PI行中的數(shù)據(jù)從RAM137中被讀出并通過ECC控制電路136提供給ECC核心電路138。如圖40B、41B和42B所示,208個ECCK周期被用于讀取PI1校正所需的數(shù)據(jù)PI1-R,并且這個ECCK周期數(shù)與具有最長的數(shù)據(jù)長度的PO列的長度相適應(yīng)。且為了傳輸PI行中的數(shù)據(jù),實際上只有182個ECCK周期被用于數(shù)據(jù)傳輸,而其余部分沒有被利用。
圖43是ECC校正過程中讀/寫操作的流程圖。在指令SP101,RAM控制器135從RAM137向ECC核心電路138傳輸一個PI行中的數(shù)據(jù)。在公開的實施例中,PI代碼(一次奇偶校驗)和P代碼(一次奇偶校驗)被加到每個ECC塊上,并且來自相同ECC塊的數(shù)據(jù)PO-R的PO序列或讀取數(shù)據(jù)PI2-R的PI2序列直到完成了來自第一ECC塊數(shù)據(jù)的第一PI序列的校正和回寫后才被傳輸。從而,在后繼的2×208個ECCK周期內(nèi)不傳輸數(shù)據(jù)。而且,如果上述數(shù)據(jù)之后有子碼數(shù)據(jù)(SUB),則子碼數(shù)據(jù)也被傳輸。
在指令SP101中,RAM控制器135順序傳輸?shù)谝籈CC塊的一個PI行中的數(shù)據(jù),并且如果有子碼數(shù)據(jù)則在指令SP102中傳輸子碼數(shù)據(jù)。在步驟SP103中確定第一ECC塊的208個行中的PI1-R數(shù)據(jù)是否被傳輸,如果否,則程序返回SP101。如果是,則在指令SP104中從一個后繼ECC塊傳輸PI1-R并傳輸?shù)谝籈CC塊的兩行PO-R(在每個182周期內(nèi))。然后在步驟SP105確定第一ECC塊的172列中的PO數(shù)據(jù)是否已被傳輸,如果否,則重復(fù)指令SP104,如果是,則在指令SP106傳輸來自第一ECC塊的數(shù)據(jù)PI2-R的PI2序列(看圖42A到42E)。而且在圖41B所示的第一ECC塊的數(shù)據(jù)PO-R被傳輸?shù)耐粫r刻傳輸數(shù)據(jù)PI2-R。此處的數(shù)據(jù)PI1-R屬于下一個ECC塊(第二ECC塊)。第一ECC塊的208個PI行中的PI2-R以這種方式被傳輸,并且在完成了第一ECC塊的PI1-R,PO-R和PI2-R處理時,在步驟SP107,RAM控制器135得到一個肯定的結(jié)果。然后過程返回指令SP101。
只在數(shù)據(jù)傳輸過程中從RAM控制器135向ECC核心電路138提供時鐘ECCK(圖39A)。此外,在傳輸?shù)臄?shù)據(jù)被輸入后的477個ECCK時鐘周期輸出傳輸數(shù)據(jù)的校正結(jié)果。從而,在傳輸此序列后的下兩個序列(圖40B,41B和42B)時,判定該序列數(shù)據(jù)是否包含一個錯誤(圖40C,41C和42C)的結(jié)果被輸出。輸出數(shù)據(jù)被存入一個ERR FIFO電路136B中,如圖44所示(將要討論)。
當(dāng)從RAM137向ECC控制電路136輸入將被糾錯的數(shù)據(jù)時,如上所述,電路136執(zhí)行一個PI行中的數(shù)據(jù)的PI1校正并在此后的477個ECCK時鐘周期輸出該結(jié)果(看圖40C,41C和42C)。結(jié)果數(shù)據(jù)被傳輸?shù)讲⑴R時存入ERRFIFO 136B,它被用作ECC控制電路136的一個緩中區(qū),如下所述。這個數(shù)據(jù)從ERR FIFO 136B中被讀出,作為被糾錯數(shù)據(jù)傳回RAM137并作為數(shù)據(jù)PI1-W存入其中,如圖41D和42D所示。(已完成了PO或PI2校正的)數(shù)據(jù)也作為數(shù)據(jù)PO-W或PI2-W被存入RAM137中。利用了182個SDCK時鐘周期的時間段還讀出用于每個PI行的糾錯后的數(shù)據(jù)并從OCTL電路139輸出,如圖40E,41E和42E所示。
參照圖44,示出了糾錯過程中信號流的方塊圖。ECC控制電路136包括一個ERR COUNT(差錯計數(shù)器)136A,一個ERR FIFO(差錯先進(jìn)先出存儲器)136B,一個FLAG RAM(標(biāo)志隨機(jī)存取存儲器)136C和EX-OR(異或)電路136D。EFM+解調(diào)電路131提供的解調(diào)數(shù)據(jù)根據(jù)RAM控制器135提供的控制信號被存入RAM137中。存在每個扇區(qū)開頭的SUB數(shù)據(jù)(ID和IEC)從RAM137被讀出并提供給產(chǎn)生扇區(qū)信息SI的SBCD電路134,如圖34所示。SBCD電路134提供扇區(qū)信息并將其存入RAM137中。
RAM控制器135通過ECC控制電路136向ECC核心電路138提供存于RAM137中的一個PI行的數(shù)據(jù)。如圖44所示,為方便起見,EDT數(shù)據(jù)被直接提供給ECC核心電路138。當(dāng)一個PI行中的數(shù)據(jù)被供給ECC核心電路138時,電路138利用PI代碼產(chǎn)生8位錯誤校正數(shù)據(jù)ECD(圖39H)和8位的錯誤校正地址ECA(圖39I)。從ECC核心電路138提供該錯誤校正數(shù)據(jù)ECD和錯誤校正地址ECA并將其存入ECC控制電路136中的ERR FIFO136B。
然后,為了校正該錯誤,RAM控制器135讀取該PI行中的數(shù)據(jù)EDT并將其供給EX-OR電路136D。ERR FIFO136B向EX-OR電路136D提供錯誤校正數(shù)據(jù)ECD和錯誤校正地址ECA。EX-OR電路136D通過在錯誤校正地址ECA指定的位上將錯誤校正數(shù)據(jù)ECD和從RAM控制器135讀取的數(shù)據(jù)EDT異或邏輯加在一起來校正錯誤。數(shù)據(jù)(錯誤已被校正)被存回RAM137中。此外,ECC核心電路138根據(jù)ECD和ECA產(chǎn)生一個錯誤校正結(jié)果ER(8位),如圖45所示。該錯誤校正結(jié)果ER被提供給并存入ERRCOUNT136A中。錯誤校正結(jié)果ER被存入RAM137以便于與該PI行相對應(yīng),如圖26所示。
錯誤校正結(jié)果ER的8位分別表示下列信息位7不可校正的錯誤標(biāo)志(0可校正;1不可校正);位6標(biāo)識序列是否來自一個PI行或一個PO列(0PI,1PO);位5識別該序列是一個PI1序列還是一個PI2序列(0PI1,1PI2);位4校正數(shù)量的最高有效位(MSB);位3校正量的第二MSB;位2校正量的第三MSB;位1校正量的第四MSB;位0校正量的最低有效位MSB。
表示該數(shù)據(jù)是否為可校正的判定結(jié)果的PI1錯誤標(biāo)志(位7)作為部分錯誤校正結(jié)果ER被存入ERR COUNT 136A中,也被存入FLAG RAM 136C中。用于208個PI行的PI1校正被執(zhí)行,如圖26所示。
然后,RAM控制器135從RAM137讀取第一PO列中的數(shù)據(jù)的208個字節(jié)并將其作為EDT通過ECC控制電路136提供給ECC核心電路138。存在FLAG RAM136C中的PI1標(biāo)志被提供給ECC核心電路138,它利用格式PO和PI1標(biāo)志產(chǎn)生用于正?;蛳U囊粋€ECD和一個ECA。該ECD和ECA數(shù)據(jù)從ECC核心電路138中被提供給ECC控制電路136中的ERRFIFO 136B并存于其中。由ECC核心電路138根據(jù)ECD和ECA產(chǎn)生的這個PO列的錯誤校正結(jié)果ER也被傳輸?shù)讲⒋嫒隕RR COUNT 136A。對應(yīng)于錯誤校正結(jié)果ER位7的PO標(biāo)志也被存入FLAG RAM 136C中。
從RAM137中讀出的這個PO列中的數(shù)據(jù)EDT被提供給EX-OR電路136D。從ERR FIFO 136B也向EX-OR電路136D提供ECD和ECA數(shù)據(jù)。EX-OR電路136D通過將ECD和EDT數(shù)據(jù)異或邏輯加在一起來校正錯誤以便于與ECA數(shù)據(jù)指定的地址位相對應(yīng)。糾錯后的數(shù)據(jù)被存回RAM137中。此外,這個PO列的錯誤校正結(jié)果ER從ERR COUNT 136A中被讀取并存入RAM137中。這個PO列的錯誤校正結(jié)果ER被順序?qū)懙脚c從頂端開始的172個PI行相對應(yīng)的位置上。對于172個PO列,這樣的一PO校正被執(zhí)行。
如果在PI1和PO校正之后執(zhí)行了PI2校正,則第一PI行中的數(shù)據(jù)作為EDT數(shù)據(jù)從RAM137中被讀取并提供給ECC核心電路138。存在FLAGRAM136C中的PO標(biāo)志被讀取并提供給ECC核心電路138。ECC核心電路138利用PO標(biāo)志和奇偶校驗PI產(chǎn)生ECD和ECA數(shù)據(jù),并將該數(shù)據(jù)提供給并存入ECC控制電路136的ERR FIFO 136B中。存在ERR FIFO 136B中的ECD及ECA和提供給EX-OR電路136D并從RAM137中讀取的PI列中的數(shù)據(jù)異或邏輯地加在一起以便于校正錯誤。糾錯后的數(shù)據(jù)被存回RAM137中。
ECC核心電路138還根據(jù)ECD和ECA數(shù)據(jù)產(chǎn)生錯誤校正結(jié)果ER并將該數(shù)據(jù)供給和存入ERR COUNT 136A中。PI2標(biāo)志(位5)也被存入FLAGRAM136C中。
已被存入ERR COUNT 136A的PI2行的錯誤校正結(jié)果ER被讀出并存入RAM137中。RI2行的錯誤校正結(jié)果ER被寫到與208個PI行中的每一個相對應(yīng)的位置上。
圖46A到46G是用于訪問RAM137的總線仲裁時序圖。為了請求將經(jīng)EFM+解調(diào)的數(shù)據(jù)向RAM137中的寫操作,信號EFMREQ(圖46A)從EFM+解調(diào)電路131被提供給RAM控制器135。信號OUTREQ(圖46B)從OCTL電路139被提供給RAM控制器135以請求經(jīng)ECC處理的數(shù)據(jù)從RAM137的讀操作。為訪問RAM137,從ECC控制電路136向RAM控制器135提供信號ECCREQ(圖46C)以將數(shù)據(jù)傳輸?shù)紼CC核心電路138來校正錯誤,或向SBCD電路134輸出一個傳輸SUB(一個ID和一個IEC)的請求。
RAM控制器135為這三個信號預(yù)置優(yōu)先級,并且如果同時提出這些請求,則RAM控制器135根據(jù)其優(yōu)先級順序向RAM137輸出一個ACK(確認(rèn))信號。信號EFMACK(圖46D),OUTACK(圖46E)和ECCACK(圖46F)分別表示信號EFMREQ,OUTREQ和ECCREQ請求的確認(rèn)。在公開的實施例中,按照OUTREQ,EFMPEQ和ECCREQ的順序設(shè)置優(yōu)先級。從而,RAM控制器135根據(jù)優(yōu)先級輸出一個對應(yīng)于REQ信號的ACK信號,如圖46A到46G所示。這些信號與用作系統(tǒng)時鐘的信號C11M(圖46G)同步被接收。
如前所述,在每個特定的周期內(nèi),根據(jù)信號EFMREQ,ECCREQ或OUTREQ可授權(quán)一次對RAM137的訪問。但是,這個周期可隨RAM137的類型或配置或訪問速率而變化。
圖47示出了對RAM137讀或?qū)懙脑L問量,這些訪問被請求執(zhí)行一個ECC塊中數(shù)據(jù)的PI1、PI2和PO校正。如圖47所示,每個ECC塊所請求執(zhí)行PI1、PO和PI2校正的對RAM137的訪問量為214,716,并且每個主幀的平均值為1,033。例如,在EFM+解調(diào)數(shù)據(jù)的寫過程中,每個主幀對RAM137的訪問量為182,并且ECC執(zhí)行周期長度為208字節(jié)(208個主幀),從而每個塊需要37,856(182×208)次訪問。上述值是通過計算每個操作所需的訪問量并將這些計算出的值相加在一起而得出的。
圖48A到48F是在通過OCTL電路139從RAM137傳輸錯誤校正結(jié)果ER的過程中各種信號的時序圖。比圖48A所示的信號超前的時鐘信號SDCK(182周期)的時間基準(zhǔn)如圖40E、41E和42E所示。時鐘SDCK(圖48A)被用作一個系統(tǒng)時鐘以將ER數(shù)據(jù)作為一個流數(shù)據(jù)輸出。選通信號SINF(圖48B)在扇區(qū)開頭變?yōu)楦卟⒈砻鞅粋鬏數(shù)臄?shù)據(jù)是扇區(qū)信息(SI)。選通信號ESTB(圖48C)被選通以表明錯誤校正結(jié)果ER將被傳輸。在每個PI行中,為PI1、PO和PI2序列的每個錯誤校正結(jié)果ER分配一個字節(jié),所以整個結(jié)果數(shù)據(jù)占用了三個字節(jié)。由于這個數(shù)據(jù)是按照與所存儲的順序相同的順序被輸出的,如圖26所示,所以通過參照數(shù)據(jù)的位5和6來識別與特殊結(jié)果相關(guān)的序列,如圖45所示。對于沒有輸出PO校正結(jié)果的PI行來說,當(dāng)結(jié)果被輸出時,選通ESTB變?yōu)榈汀?br>
當(dāng)如圖48E所示的信號SD[70]為主數(shù)據(jù)時,選通信號DSTB(圖48D)變?yōu)楦?。信號SINF,ESTB和DSTB由OCTL電路139產(chǎn)生。在利用182SDCK時鐘周期輸出沿PI行方向的數(shù)據(jù)之前,扇區(qū)信息SI和錯誤校正結(jié)果ER被立刻輸出,如圖48E所示。錯誤標(biāo)志OUTG(內(nèi)插標(biāo)志)表明主數(shù)據(jù)中包括一個錯誤并在被輸出之前,根據(jù)存于FLAG RAM 136C中的PI和PO不可校正的錯誤標(biāo)志,OUTG與主數(shù)據(jù)相加,如圖44所示。OCTL電路139根據(jù)SBCD電路134產(chǎn)生的扇區(qū)信息的位4和5(看圖34)判定扇區(qū)中的數(shù)據(jù)(已被解碼)是否應(yīng)被輸出。扇區(qū)信息的位4和5分別表示扇區(qū)的開頭和結(jié)尾(看圖34)。從而OCTL電路139將位4為0,位5為1的扇區(qū)數(shù)據(jù)作為指定扇區(qū)中的數(shù)據(jù)(將被輸出的數(shù)據(jù))輸出。
OCTL電路還判定諸如現(xiàn)有的用于主數(shù)據(jù)或EDC結(jié)果的錯誤標(biāo)志是否符合主CPU140預(yù)置的條件,如果符合,則輸出解碼后的數(shù)據(jù)。如果不符合,則不輸出解碼后的數(shù)據(jù)并且主CPU140接到錯誤通知。例如,將被輸出的數(shù)據(jù)應(yīng)滿足下列條件(1)該數(shù)據(jù)被指定輸出;(2)根據(jù)ECC結(jié)果沒有檢測到錯誤;(3)沒有錯誤標(biāo)志被加到主數(shù)據(jù);如果上述條件被滿足,則該數(shù)據(jù)被輸出。此外,如果必要的話,主CPU140還可抑制數(shù)據(jù)的輸出。
在本發(fā)明的上述實施例中,根據(jù)傳輸時鐘ECCK從存儲器中讀出在信號MWRQ的182個周期內(nèi)從RAM137傳輸?shù)紼CC核心電路138的數(shù)據(jù)(即數(shù)據(jù)PI1-R,PO-R和PI2-R)(看圖40A到40E,41A到41E和42A到42E)。從而,在數(shù)據(jù)傳輸期間內(nèi)一個給定的時間段中止(即不提供)傳輸時鐘ECCK,數(shù)據(jù)的傳輸即被抑制。在這個“中止”期間,可以利用ERR FIFO(錯誤寄存器)136B中的錯誤位置信息和校正格式,從RAM137中讀出相應(yīng)的數(shù)據(jù)來允許EX-OR電路136執(zhí)行異或邏輯加法糾錯并將糾錯后的數(shù)據(jù)回寫到RAM137中,僅ECC核心電路138和能被用于每個數(shù)據(jù)(PI1-R,PO-R和PI2-R)的錯誤寄存器(ERR FIFO)就能使ECC過程被執(zhí)行。
當(dāng)數(shù)據(jù)(PI1-R,PO-R和PI2-R)被傳輸時,在時鐘MWRQ的第一個周期中,數(shù)據(jù)PIL-R和PO-R被傳輸(看圖41A到41E),當(dāng)完成了通過ECC控制電路136向ECC核心電路138的PO-R第二行數(shù)據(jù)的傳輸時,RAM控制器135執(zhí)行PI1錯誤校正(PI1-W)。當(dāng)在時鐘MWRQ的下一個182個周期過程中完成PIL-R的傳輸時,RAM控制器135校正在時鐘MWRQ的第一個182個周期中被傳輸?shù)牡谝籔O行中的錯誤,然后在第二個182個周期中完成了PIL-R的第一列的傳輸時,校正在第一個182個周期中被傳輸?shù)牡诙O行中的錯誤。從而防止了在同一時間執(zhí)行多種操作。因此,RAM控制器135只需要一個PI計數(shù)器(用于寫和讀)、一個PO讀計數(shù)器(用于傳輸)和一個PO寫計數(shù)器(用于校正)。
上述實施例還用于一種具有簡化的結(jié)構(gòu)配置的數(shù)據(jù)再現(xiàn)裝置,它包括一個存儲錯誤位置和校正格式的用于一個碼序列的寄存器(ERR FIFO)和最少數(shù)量的用于RAM控制器135的計數(shù)器。
由于一個ECC塊是通過將水平方向上的PI碼與垂直方向上的PO碼相加而構(gòu)成的,所以數(shù)據(jù)能沿行的方向被存儲以使一個水平行中的數(shù)據(jù)在被存好之后被傳輸,從而與通過第一幀(第一行)和第二幀(第二行)交錯寫數(shù)據(jù)的方法相比,減小了ECC處理時間。
如前所述,從存儲器中順序讀出要解碼的編碼數(shù)據(jù)并將計算出的錯誤位置和校正格式存入一個錯誤寄存器以利用讀出的校正格式和錯誤數(shù)據(jù)校正錯誤。這種校正數(shù)據(jù)的技術(shù)提供了一種簡單而有效的解碼方法。這種技術(shù)還用于一種包括一個簡化的ECC解碼器的數(shù)據(jù)再現(xiàn)設(shè)備,它不需要現(xiàn)有技術(shù)所需的那么多的存儲器。
在結(jié)合最佳實施例顯示和詳細(xì)說明了本發(fā)明的同時,應(yīng)注意本領(lǐng)域的普通技術(shù)人員能夠在不偏離本發(fā)明構(gòu)思和范圍的情況下對本發(fā)明做出各種改變,例如,盡管在實施例中描述在時鐘MWRQ的182個周期中數(shù)據(jù)被傳輸三次,但本發(fā)明不應(yīng)僅限于此,可通過諸如減少RAM137的存取時間將數(shù)據(jù)在此期間內(nèi)傳輸四次或更多。
另一個例子是盡管當(dāng)前討論面向?qū)σ訡1/C2卷積Reed-Solomon代碼編碼的數(shù)據(jù)進(jìn)行解碼,但本發(fā)明并不僅限于這種類型的編碼/解碼,還可適用于其它類型的編碼系統(tǒng)。
因此,這意謂著本發(fā)明所附權(quán)利要求應(yīng)被理解為包含以上說明的實施例、上述變化以及與其等效的所有變化。
權(quán)利要求
1.用于對加有糾錯數(shù)據(jù)的編碼數(shù)據(jù)進(jìn)行解碼的裝置,包括存儲裝置,用于存儲加有糾錯數(shù)據(jù)的編碼數(shù)據(jù);解碼裝置,用于檢測存在所述存儲裝置中的編碼數(shù)據(jù)中的錯誤、確定所述錯誤在所述編碼數(shù)據(jù)中的位置、并輸出對應(yīng)于所述錯誤的錯誤校正格式;錯誤寄存器存儲裝置,用于存儲被確定的所述錯誤位置和輸出的錯誤校正格式;以及控制裝置,用于控制所述存儲裝置讀出對應(yīng)于存在所述錯誤寄存器存儲裝置中的所述錯誤位置的存儲的編碼數(shù)據(jù)、并控制所述解碼裝置利用存在所述錯誤寄存器存儲裝置中的所述錯誤校正格式對讀出的編碼數(shù)據(jù)解碼以產(chǎn)生校正后的解碼數(shù)據(jù)。
2.如權(quán)利要求1所述的裝置,其中所述解碼裝置根據(jù)存在存儲裝置中的糾錯數(shù)據(jù)產(chǎn)生所述錯誤校正格式。
3.如權(quán)利要求1所述的裝置,其中所述解碼裝置被操作以檢測可校正錯誤和不可校正錯誤,并只確定可校正錯誤在編碼數(shù)據(jù)中的位置。
4.如權(quán)利要求1所述的裝置,其中加有糾錯數(shù)據(jù)的所述編碼數(shù)據(jù)是C1/C2卷積Reed-Solomon類型代碼。
5.如權(quán)利要求4所述的裝置,其中所述加有糾錯數(shù)據(jù)的編碼數(shù)據(jù)包括錯誤校正碼的C11序列、錯誤校正碼的C2序列和錯誤校正碼的C12序列;并且所述控制裝置控制所述存儲裝置將存入的錯誤校正碼的C11,C2和C12序列順序地提供給所述解碼裝置,并在錯誤校正碼的序列被提供給所述控制裝置之后,控制所述解碼裝置對所提供的錯誤校正碼的C11,C2和C12序列順序地進(jìn)行解碼。
6.如權(quán)利要求1所述的裝置,其中所述存儲裝置是一個先進(jìn)先出型存儲設(shè)備。
7.如權(quán)利要求1所述的裝置,還包括用于提供具有一預(yù)定時鐘周期的系統(tǒng)時鐘的裝置;并且其中在所述系統(tǒng)時鐘的第一預(yù)選數(shù)個時鐘周期內(nèi),從所述存儲裝置讀出被存儲的編碼數(shù)據(jù)并將其提供給所述解碼裝置;并且在所述系統(tǒng)時鐘的第二預(yù)選數(shù)個時鐘周期內(nèi),所述解碼裝置對讀出的數(shù)據(jù)解碼。
8.如權(quán)利要求1所述的裝置,其中所述編碼數(shù)據(jù)由數(shù)據(jù)行和列構(gòu)成;并且所述糾錯數(shù)據(jù)包括加到數(shù)據(jù)的每個所述行上的內(nèi)部碼和加到數(shù)據(jù)的每個所述列上的外部碼。
9.如權(quán)利要求8所述的裝置,其中所述控制裝置控制所述解碼裝置利用所述內(nèi)部碼對存在所述存儲裝置中的每行編碼數(shù)據(jù)中檢測到的錯誤依次解碼;然后控制所述解碼裝置利用所述外部碼對存在所述存儲裝置中的每列編碼數(shù)據(jù)中檢測到的錯誤依次解碼;以及然后控制所述解碼裝置利用所述內(nèi)部碼對編碼數(shù)據(jù)中每個以前被解碼的行中檢測到的錯誤依次解碼。
10.如權(quán)利要求8所述的裝置,其中所述存儲裝置首先向所述解碼裝置提供存入的編碼數(shù)據(jù)塊以檢測塊中的錯誤,并以由存儲裝置控制的順序提供與所述錯誤位置相對應(yīng)的塊中的編碼數(shù)據(jù)。
11.如權(quán)利要求10所述的裝置,其中所述控制裝置控制所述解碼裝置對在所提供的塊中的每一行中檢測到的錯誤解碼以產(chǎn)生第一校正后的解碼數(shù)據(jù)并控制所述存儲裝置存入所述第一校正后的解碼數(shù)據(jù),并接著控制所述解碼裝置對在所提供的塊中的每一列中檢測到的錯誤解碼以產(chǎn)生第二校正后的解碼數(shù)據(jù)并控制所述存儲裝置存入所述第二校正后的解碼數(shù)據(jù)。
12.如權(quán)利要求8所述的裝置,其中所述外部碼包括外部碼行,每個所述外部碼行在兩個數(shù)據(jù)行之間交錯;所述解碼裝置包括用于對加有糾錯數(shù)據(jù)的編碼數(shù)據(jù)去交錯的裝置。
13.用于對加有糾錯數(shù)據(jù)的編碼數(shù)據(jù)進(jìn)行解碼的方法,包括步驟在第一存儲器中存儲加有糾錯數(shù)據(jù)的編碼數(shù)據(jù);檢測存在第一存儲器中的編碼數(shù)據(jù)中的錯誤;確定所述錯誤在所述編碼數(shù)據(jù)中的位置;提供對應(yīng)于所述錯誤的錯誤校正格式;在第二存儲器中存儲被確定的所述錯誤位置和所提供的錯誤校正格式;從第一存儲器讀出對應(yīng)于存在第二存儲器中的錯誤位置的編碼數(shù)據(jù);以及利用存在第二存儲器中的所述錯誤校正格式對讀出的與所述錯誤位置相對應(yīng)的編碼數(shù)據(jù)解碼以產(chǎn)生校正后的解碼數(shù)據(jù)。
14.如權(quán)利要求13所述的方法,其中根據(jù)存在第一存儲器中的糾錯數(shù)據(jù)產(chǎn)生所述錯誤校正格式。
15.如權(quán)利要求13所述的方法,其中通過檢測存在第一存儲器中的編碼數(shù)據(jù)中的可校正錯誤實現(xiàn)檢測步驟。
16.如權(quán)利要求13所述的方法,其中加有糾錯數(shù)據(jù)的所述編碼數(shù)據(jù)是C1/C2卷積Reed-Solomon類型代碼。
17.如權(quán)利要求16所述的方法,其中加有糾錯數(shù)據(jù)的所述編碼數(shù)據(jù)包括錯誤校正碼的C11序列、錯誤校正碼的C2序列和錯誤校正碼的C12序列;并且在讀出的錯誤校正碼的C11,C2和C12序列被解碼之前,從第一存儲器順序讀出錯誤校正碼的C11,C2和C12序列。
18.如權(quán)利要求13所述的方法,其中所述編碼數(shù)據(jù)由數(shù)據(jù)行和列構(gòu)成;并且所述糾錯數(shù)據(jù)包括加到數(shù)據(jù)的每個所述行上的內(nèi)部碼和加到數(shù)據(jù)的每個所述列上的外部碼。
19.如權(quán)利要求18所述的方法,其中通過利用所述內(nèi)部碼對存在第一存儲器中的每行編碼數(shù)據(jù)中檢測到的錯誤依次解碼、利用所述外部碼對存在第一存儲器中的每列編碼數(shù)據(jù)中檢測到的錯誤依次解碼;以及利用所述內(nèi)部碼對編碼數(shù)據(jù)中每個以前被解碼的行中檢測到的錯誤依次解碼來實現(xiàn)所述解碼步驟。
20.如權(quán)利要求18所述的方法,其中所述第一存儲步驟存儲一個編碼數(shù)據(jù)塊;通過檢測塊中的錯誤實現(xiàn)所述檢測步驟;并且通過從第一存儲器中讀出塊中與錯誤位置相對應(yīng)的編碼數(shù)據(jù)實現(xiàn)所述讀取步驟。
21.如權(quán)利要求20所述的方法,其中檢測并解碼存在帶一存儲器中的塊中的每一行中的錯誤以產(chǎn)生第一校正后的編碼數(shù)據(jù),然后檢測并解碼存在第一存儲器中的塊中的每一列中的錯誤以產(chǎn)生第二校正后的編碼數(shù)據(jù)。
22.如權(quán)利要求18所述的方法,其中所述外部碼包括外部碼行,每個所述外部碼行在兩個數(shù)據(jù)行之間交錯;所述解碼方法包括對加有糾錯數(shù)據(jù)的所述編碼數(shù)據(jù)去交錯的步驟。
23.用于從一個記錄介質(zhì)再現(xiàn)和解碼加有糾錯數(shù)據(jù)的編碼視頻信號的裝置,包括從記錄介質(zhì)再現(xiàn)加有糾錯數(shù)據(jù)的編碼視頻數(shù)據(jù)的裝置;存儲裝置,用于存儲被再現(xiàn)的加有糾錯數(shù)據(jù)的編碼視頻數(shù)據(jù);解碼裝置,用于檢測存在所述存儲裝置中的編碼視頻數(shù)據(jù)中的錯誤、確定所述編碼視頻數(shù)據(jù)中所述錯誤的位置、并輸出與所述錯誤相對應(yīng)的錯誤校正格式;錯誤寄存器存儲裝置,用于存儲所確定的所述錯誤的位置和被輸出的錯誤校正格式;以及控制裝置,用于控制所述存儲裝置讀出與存在所述錯誤寄存器存儲裝置中的所述錯誤位置相對應(yīng)的存儲的編碼視頻數(shù)據(jù),并控制所述解碼裝置利用存在所述錯誤寄存器存儲裝置中的所述錯誤校正格式對讀出的編碼視頻數(shù)據(jù)解碼以產(chǎn)生校正后的解碼視頻數(shù)據(jù)。
24.用于從一個記錄介質(zhì)再現(xiàn)和解碼加有糾錯數(shù)據(jù)的編碼視頻信號的方法,包括步驟從一個記錄介質(zhì)再現(xiàn)加有糾錯數(shù)據(jù)的編碼視頻數(shù)據(jù);在第一存儲器中存儲加有糾錯數(shù)據(jù)的編碼視頻數(shù)據(jù);檢測存在第一存儲器中的編碼視頻數(shù)據(jù)中的錯誤;確定所述錯誤在所述編碼視頻數(shù)據(jù)中的位置;提供與所述錯誤相對應(yīng)的錯誤校正格式;在第二存儲器中存入所確定的所述錯誤位置和所提供的錯誤校正格式;從第一存儲器中讀出與存在第二存儲器中的所述錯誤位置相對應(yīng)的編碼視頻數(shù)據(jù);以及利用存在第二存儲器中的錯誤校正格式對讀出的與所述錯誤位置相對應(yīng)的編碼視頻數(shù)據(jù)解碼以產(chǎn)生校正后的解碼視頻數(shù)據(jù)。
全文摘要
一種對加有諸如C1/C2卷積Reed-Solomon類型糾錯數(shù)據(jù)的編碼數(shù)據(jù)(如數(shù)字視頻信號)解碼的數(shù)字信號解碼器及一種包含該解碼器的數(shù)字信號再現(xiàn)裝置。該解碼器檢測在第一存儲器中存儲的編碼數(shù)據(jù)中的可校正錯誤、確定檢測到的錯誤在編碼數(shù)據(jù)中的位置,并提供與那些錯誤相應(yīng)的糾錯格式;在第二存儲器中存儲錯誤位置和糾錯格式;利用第二存儲器中糾錯格式解碼從第一存儲器中讀出與錯誤位置相應(yīng)的編碼數(shù)據(jù)以產(chǎn)生校正后的解碼數(shù)據(jù)。
文檔編號H03M13/29GK1167981SQ9612385
公開日1997年12月17日 申請日期1996年12月25日 優(yōu)先權(quán)日1995年12月25日
發(fā)明者市川高廣 申請人:索尼公司