编码数字信号的解码装置和方法

文档序号:449974阅读:605来源:国知局
专利名称:编码数字信号的解码装置和方法
技术领域
本发明涉及对编码数字信号进行解码的装置和方法,特别涉及对从如光盘的记录媒体再现的其上加有纠错数据的编码数字视频信号进行解码和错误校正的装置和方法。
众所周知,根据各种不同的视频标准,如MPEG(移动图形专家组)标准,移动图形,即运动视频以一个可变速率被数字化、编码和记录在一个记录媒体上。MPEG标准要求三种类型的编码图形内部编码图形(I-图形或I-帧);正向预测编码图形(P图形或P-帧);以及双向预测编码图形(B图形或B-帧)。这三种图形的组合形成了公认的一个图形组或GOP。尽管MPEG标准通常也适用于音频(如声音)数据,但其它编码形式,如ATAC(辅助变换声音编码)也被用于对声音数据进行数字化和压缩编码。
首先参照

图1,示出了一种用于以可变速率从光盘再现数据的数据再现装置1。数据再现装置1包括一个拾取设置3,它向光盘2上提供一激光束以本领域中一种公知方式再现记录在光盘上的数据。拾取设备3将一个再现信号S1供给包括在一解调系统5中的解调电路6,该解调系统5由一个系统控制器4控制。再现信号S1被解调并通过一个扇区检测电路7被提供给一个ECC(错误校正码)电路8,它检测并校正所提供的信号中的错误。扇区检测电路7在再现信号中检测新扇区,但是如果没有检测到扇区号或地址,则向一个轨道跳跃确定电路9提供一个扇区号错误信号。同样,如果ECC电路8在信号中检测到一个不可校正的错误,则向轨道跳跃确定电路9提供一个错误信号。
ECC电路8以一种将要讨论的方式检测和校正提供数据中的错误,并将错误校正数据提供给一个环形缓中区存储器10,该存储器10按照环形缓冲区控制电路11提供的写指针WP的地址存储数据。存储器10还按照控制电路11提供的读指针RP的地址读出存在此中的数据。众所周知,控制电路11从扇区检测电路7提供的扇区信号中产生写地址(写指针WP)并根据系统控制器4提供的控制信号和数据分离电路13提供的代码请求信号R10,产生读地址(读指针RP)。
环形缓冲区存储器10将存于其中的数据提供给数据分离电路13中的首标分离电路14,它从提供数据的每个包(pack)中分离出一个包首标还从该数据包括的每个子包(packet)中分离出一个子包首标,并将分离的首标提供给一个分离电路控制器15。电路控制器15向切换电路16提供一个切换器控制信号以使得供给输入端G的视频数据通过端子H1被提供给一个视频码缓冲区17,并使得提供给输入端G的音频数据通过端子H2被提供给一个音频码缓冲区19。首标中的流识别信息(流ID)标识子包中的数据类型(如视频或音频)。
视频码缓冲区17存储提供的视频数据,并根据存在缓冲区17中的数据量产生和向数据分离电路13提供一个代码请求信号R1。根据视频解码器18提供的代码请求信号R1′,视频码缓冲区17向视频解码器18输出存储的数据。视频解码器18对读出的视频数据解码以产生一个数字视频信号并将其输出到输出端OUT1。
同样,音频码缓冲区19存储提供的音频数据并根据存在缓冲区19中的数据量产生和向数据分离电路13提供一个代码请求信号R2。音频码缓冲区19根据音频解码器20提供的代码请求信号R2′向音频解码器20输出存储数据。音频解码器20对读出的音频数据解码以产生一个数字音频信号并将其输出到输出端OUT2。
如前面所提到的,解调系统5通过解调电路6对再现信号S1解调。解调电路6利用公知的RF处理将拾取设备3提供的信号S1切换成二进制信号以检测EFM+同步格式(如8,16切换)。一个基于线性匀速方法(CLV)的“粗”伺服机构处理基于所检测到的同步格式的信号S1。然后在扇区检测电路7检测到信号S1中的EFM+同步首标之后,一个PLL(锁相环)伺服机构处理该同步首标,并且当检测电路7连续检测到几个同步首标时,检测电路7提供的数据S2在ECC电路8中被去交错。
参照图2,示出了ECC电路8的方块图,其中ECC电路8由4个随机存取存储器,RAM24、RAM26、RAM28和RAM30以及三个错误校正码(ECC)解码器25、27和29构成。如将要讨论的,解码器25、27和29利用三个错误检测/校正序列数据C11(也称作第一C1序列)、数据C2和包括了C1/C2卷积Reed-Solomon代码(即C1RC Plus代码)的数据C12(也称作第二C1序列)来检测和校正数据S2中的错误。这些数据序列包括在EFM+解调数据S2中。数据S2被提供给按地址顺序00,01,…,A8和A9(这里称之为一个“EFM+写”)存储数据的RAM24,并在数据S2的两帧被存入RAM24之后,RAM24按地址顺序00′,02′,…,A8′,01,03,…,A9(这里称之为一个“C1读”)将数据的第一存储帧提供给解码器25以便于对数据的C1序列去交错,如图3所示。解码器25接收读出数据并通过识别数据的错误位置和校正模式,从RAM24中读出错误数据(即C1读),将读出数据与校正格式进行异或逻辑加,以及将结果数据写入RAM26(此处称之为“C1写”)来校正S2数据中的错误,如图4所示。解码器25在C2码序列长度上对数据的C1序列解码(从而错误检测/校正S2数据)。
在C1序列数据被解码后(在整个C2码序列长度上),数据的C2序列被“ECC”解码。按地址顺序00′,01′,02′,03′,…,A9′读出存在RAM26中的数据(称之为“C2读”)并将读出数据提供给顺序对读出的C2序列数据解码的解码器27。解码器27为每个不可校正数据帧产生一个“不可校正错误”,标记,并在提供解码后的S2数据的同时,将不可校正错误标记提供给解码器29,以便于允许从数据流中擦除(即删去)这个不可校正的数据。解码器27中的错误检测/校正与解码器25相似。并且当数据是不可校正时产生一个C1不可校正错误标记。
在解码器27对利用C2数据的数据解码后,解码数据被存入RAM28中(称之为“C2写”),如图5所示。此后,RAM28按地址顺序00′,01,02,03,…,A9读出包括了其内存储数据的C12序列的数据(称之为“C12读”),并将读出数据供给解码器29。与C2不可校正错误标记相类似,为了擦除(即删去)基于数据C12序列的不可校正的错误,产生和利用一个C12不可校正错误标记。解码器29对数据(利用C12数据)进行错误检测/校正并将数据按顺序00,01,02,03,…,A9存入RAM30中(称之为“C12写”),如图6所示。如前述,存在RAM30中的数据被按00,01,02,03,…,A9的顺序读出(称之为“OUT读”),解扰并提供给环形缓冲区存储器10。
根据下列等式并利用一个沿C1数据方向的数据次序Dn和基于RAM24,26,28,30的数据地址的“C1码单元”中的帧号Fn,产生数据的存储地址RA,如图7所示。以下这些方程中的所有数字用十六进制表示。
Dn数据号(00-A9)Fn帧号(00-B9)RARAM地址(0000-7FFF)Fna=Fn+46+01如果(ECC格式=C2),Fna=Fna+Dn如果(Fna>FF),Fna=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)如前所述,利用分别解码数据C11,C2和C12序列的解码器25,27和29,对CIRC Plus代码进行错误检测/校正解码,并且解码结果数据被记录在RAM26,28和30中。但是,由于输出错误校正数据的时间是不固定的,所以需要提供两个计数器用于数据传输和错误校正,这将导致不必要的复杂结构。而且,利用三个独立的存储器器件。即RAM24,26和28来分别对数据的C11,C2和C12序列解码,也会导致不希望的大存储器存储能力。
参照图8A,示出了几个不同信号的时序图。如果利用一个单一的存储器件在读帧时钟(图8A中的RFCK信号)的一个时钟周期内传送C11数据的两个帧,则需要两个单独的帧计数器来执行传送数据和校正错误这两个独立功能。而且,即使只在数据传输过程中输出时钟,在数据传输和校正错误时也需要两个单独的帧计数器,如图8B所示。
因此,本发明的一个目的是提供一种用于对一个编码数字信号解码的装置和方法,它克服了上述设备的缺点。
本发明的另一个目的是提供一种以有效和简便方式对加有错误检测/校正数据的编码数字视频信号解码的装置和方法。
本发明的另一个目的是提供一种对加有错误检测/校正数据的编码数字视频信号解码的装置和相应方法,其中利用一个存储量相对较小的随机存取存储器对一个再现数字视频信号进行错误校正。
本发明的其它目的、优点和特征对本领域技术人员来说是显然的,并且将在后面的权利要求中特别指出新的特征。
依据本发明的最佳实施例,提供了一种装置和方法,用于将加有纠错数据(即C1/C2卷积Reed-Solomon代码)的编码数据存入第一存储器,检测存在第一存储器中的编码数据中的错误(即可校正错误),确定检测到的编码数据中的错误位置,提供对应于那些错误的错误校正格式,将错误的确定位置以及所提供的错误校正格式存入第二存储器,从第一存储器中读出与存在第二存储器中的错误位置相对应的编码数据,并利用存在第二存储器中的错误校正格式对读出的对应于错误位置的编码数据进行解码以产生校正解码数据。
作为本发明的一个方面,加上错误校正数据的编码数据包括一个错误校正码C11序列,一个错误校正码C2序列以及一个错误校正码C12序列,并且错误校正码C11,C2和C12序列在读出的错误校正码C11,C2和C12序列被解码之前,顺序地从第一存储器中读出。
作为本发明的另一方面,利用内部码对检测到的每行数据中的错误逐个解码,利用外部码对检测到的每列数据中的错误逐个解码,并且利用内部码对数据行再次进行错误校正。
依据本发明的另一个实施例,提供了一种装置和方法,用于从一个记录媒体再现其上加上有错误校正数据的编码视频数据,在第一存储器中存入其上加有错误校正数据的编码数据,检测存在第一存储器中的编码数据中的错误,确定检测到的编码数据中的错误位置,提供对应于那些错误的错误校正格式,在第二存储器中存入确定的错误位置以及所提供的错误校正格式,从第一存储器读出与存在第二存储器中的错误位置相对应的编码数据,并利用存在第二存储器中的错误校正格式对读出的与错误位置相对应的编码数据进行解码以产生校正解码数据。
下面参照附图详细说明本发明,本说明是示例性的并不意味着本发明仅限于此,其中相同的参考标号表示相同的元件或部分。附图中图1是用于从光盘以可变速率再现数据的装置的方框图;图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是本发明解码装置实施例中用于从光盘以可变速率再现数据的装置的方框图;图10是图9中本发明ECC电路50的方框图;图11是图9中本发明解调系统35的方框图;图12是用于说明图10中RAM51寻址的表格;图13是用于理解图10中本发明ECC电路50的各种操作的表格;图14是本发明图10中ECC电路50和图11中电路35的各种信号和解码操作的时序图;图15示出了本发明的各种信号和传输及校正操作的时序图;图16是本发明在一个错误校正过程中各种信号的时序图;图17示出了在本发明的错误校正过程中图10所示的RAM51的存储器读写数量;图18是示出了RAM51读/写存取优先级的各种信号的时序图;图19是依据本发明另一实施例的扇区数据的数据结构的简图;图20简要说明了本发明ECC块的数据结构;图21简要说明外部码(P0)奇偶数据如何与扇区数据交叉;图22是未调制数据的一个32K字节块的数据结构的简图;图23是本发明解调电路的方框图;图24简要说明一个未调制物理扇区的数据结构;图25是每个数据扇区的数据结构的简图;图26简要说明本发明的数据存储操作;图27A到27F是本发明在EFM解调数据的写操作过程中的各种信号波形;图28是本发明的“锁定”操作的流程图;图29是本发明的SCSY信号发生操作的流程图;图30是本发明主-FMSY信号发生操作的流程图;图31A至31H是在本发明的块检测操作启动过程中的信号波形;
图32A到32H是本发明的块检测操作启动之后的信号波形;图33A到33H在本发明的“SUE”传输操作过程中的信号波形;图34示出了扇区信息的数据结构;图35是本发明中IEC连续性检测和确定操作的流程图;图36是本发明中ID连续性确定操作的流程图;图37是SALK发生操作流程图;图38A到38D是在本发明的错误校正操作过程中的信号波形;图39A到39I也是在本发明的错误校正操作过程中的信号波形;图40A到40E是本发明的ECC处理控制操作的时序图;图41A到41E也是本发明的ECC处理控制操作的时序图;图42A到42E是本发明的ECC处理控制操作的附加时序图;图43是本发明RAM控制器传输操作的流程图;图44是本发明的错误校正电路的方框图;图45示出了本发明错误校正操作的结果;图46A到46G是本发明总线仲裁操作的信号波形;图47示出了在本发明的块校正操作过程中RAM存取的数量;以及图48A到48F是在本发明的错误校正结果输出操作过程中的信号波形。
参照图9,示出了一种用于实施本发明解码装置的从光盘以可变速率再现数据的装置(下文称数据再现装置40)的方框图。与图1所示的数据再现装置1相似,数据再现装置40包括一个拾取设备3,它向光盘2提供激光束以用一种本领域公知的方式再现记录在光盘2上的数据。拾取设备3向解调系统35中的解调电路6提供一再现信号S1,该解调系统35由一个系统控制器4控制。再现信号S1被解调并提供给扇区检测电路7,它从每个扇区起检测地址并将该地址提供给环形缓冲区控制电路11,还将信号中的数据提供给一个ECC(错误校正码)电路50。ECC电路50以本发明将讨论的方式检测和校正错误。扇区检测电路7检测再现信号中的新扇区,但是如果没有检测到一个扇区号或地址,或者如果没有发生连续检测(将讨论),则通过环形缓冲区控制电路11向一个轨道跳跃确定电路9提供一个扇区号错误信号,同样,如果ECC电路50在信号中检测到一个不可校正的错误(将讨论),则通过系统控制器4向轨道跳跃确定电路9提供一个错误信号。
ECC电路50检测所提供的数据中的错误并利用数据中的一个冗余位来校正检测到的错误,错误校正数据被提供给环形缓冲区存储器10,它是一个FIFO(先进先出)型存储设备。存在存储器10中的数据被提供给多路数据分离电路13,然后ECC电路50检测所提供的数据中的扇区首标数据并通过检测电路7将扇区首标数据提供给系统控制器4。如前所述,如果ECC电路50不能校正数据中的错误,则向系统控制器4提供一个错误信号。
轨道跳跃确定电路9监视环形缓冲区控制电路11的输出,并且当需要一个磁道跳跃时,电路9向一个寻道伺服电路22提供一个磁道跳跃信号JP1以在光盘2上执行一次拾取设备3的再现位置的磁道跳跃。同样,当扇区检测电路7提供一个扇区号错误信号或ECC电路50提供一个错误信号(前面提及的)时,系统控制器4控制轨道跳跃确定电路9向寻道伺服电路22提供一个磁道跳跃信号以引起拾取设备3的再现位置的磁道跳跃。
ECC电路50检测和校正所提供的数据中的错误,并将错误校正数据提供给环形缓冲区存储器10,它按照与环形缓冲区控制电路11提供的写指针WP相对应的地址存储这些数据。环形缓冲区存储器10还按照与控制电路11提供的读指针RP相对应的地址读取其内存储的数据。控制电路11从扇区检测电路7提供的扇区信号产生写地址(写指针WP)并根据系统控制器4提供的控制信号和数据分离电路13提供的代码请求信号R10产生读地址(读指针RP)。
环形缓冲区存储器10向数据分离电路13中的首标分离电路14提供其内存储的数据,电路14从所提供的数据的每个包中分离出包首标,还从数据中的每个子包中分离出子包首标,并且这些分离出的首标被提供给一个分离电路控制器15。电路控制器15向切换电路16提供一个切换器控制信号,以使得供给输入端子G的视频数据通过端子H1被提供给一个视频码缓冲区17,并使得提供给输入端G的音频数据通过端子H2被提供给音频码缓冲区19。首标中的流识别信息(流ID)标识子包中的数据类型(如视频,音频)。
视频码缓冲区17存储所提供的视频数据,并根据存入缓冲区17的数据量,产生和向数据分离电路13提供一个代码请求信号R1。视频码缓冲区17根据视频解码器18提供的代码请求信号R1′向视频解码器18输出所存储的数据。视频解码器18对读出的视频数据解码以产生一个数字视频信号并在输出端OUT1输出该数字视频信号。
同样,音频码缓冲区19存储所提供的音频数据,并根据存入缓冲区19的数据量产生和向数据分离电路13提供一个代码请求信号R2。音频码缓冲区19根据音频解码器20提供的代码请求信号R2′向音频解码器20输出所存储的数据。音频解码器20对读出的音频数据解码以产生一个数字音频信号并在输出端OUT2输出该数字音频信号。
如果在视频解码器18中,一给定时间内的被解码数据量由于简单屏幕的连续数据处理等而减少,则从存储器10读出数据的速率也减小。如果发生这种情况,则存在上溢出的可能性。此时,轨道跳跃确定电路9根据写和读指针WP和RP计算当前存储器10中存储的数据量,如果计算出的数据量超过了某一预定值,电路9则向寻道伺服电路22提供一个适当的轨道跳跃指令以便于阻止存储器10的上溢出。
如果扇区检测电路7提供一个扇区号错误信号或ECC电路50提供一个错误信号,轨道跳跃确定电路9同样根据写和读指针WP和RP确定环形缓冲区存储器10中保存的数据量,并确定在光盘2从当前轨道位置进行了单个完整的旋转之前,电路13完成从存储器10读数据所要求的数据量。
而且,即使以尽可能的最快传输速率读取存储器10的数据,但是如果存储器10中包含大量数据,那么仍要防止存储器10下溢出。此时,通过轨道跳跃确定电路9向寻道伺服电路22输出适当的轨道跳跃指令和确定错误发生的位置,轨道跳跃确定电路9确定不可校正的数据是可弥补的,即从光盘重新读取,以便于再次再现该数据。
参照图10,示出了ECC电路50的方框图,它由一个随机存取存储器(RAM)51(它是一个环形缓冲区型存储器),一个错误校正码(ECC)解码器52和一个错误寄存器53组成。如所述,ECC解码器52检测和校正数据中的错误并且错误寄存器53存储不可校正错误标记、错误校正格式和错误位置。图11是带有随机存取存储器接口(RMIF)电路48和CLV控制电路46的解调系统35的方框图。利用一个对从光盘读取的再现信号S1进行RF和二进制处理的RF处理电路42(在解调电路6中)和一个检测EFM+同步格式的解调电路44实现错误校正码解码(下文称ECC解码)。当检测到一个EFM+同步格式,CLV控制电路46允许进程伺服机构工作。同样,当检测到一个EFM+同步格式时,一个PLL(锁相环)伺服机构被控制处理再现信号。最后,当连续检测到几个同步格式时,解调电路6提供的解调数据S2通过RMIF电路48存入ECC电路50的RAM51中的帧单元中。存在RAM51中的数据通过一个输出控制(OCTL)电路56被提供给存储器10。ECC电路50还产生并通过RMIF电路48向RAM51提供写地址。通过RMIF电路48将从RAM51中读出的数据提供给ECC控制部件54和ECC解码部件55(包括在ECC解码器52中)。
如果检测到的错误是可校正的,则从ECC解码部件55向ECC控制部件54提供它在数据中的位置(即错误位置)和错误校正格式(来自校正码),并且每帧的每个可校正错误的错误位置和错误校正格式被输出到存储这些错误数据的错误寄存器53。然后,通过首先从错误寄存器53读取错误位置和纠错格式,从RAM51读取对应于错误位置的错误数据,将错误数据逻辑异或地加到校正格式上(“异或”或EXOR),并将结果值回写到RAM51中,来校正每个错误。如果检测到的错误是不可校正的,则将包含不可校正错误的帧的不可校正错误标记存入错误寄存器53以便于完成后序的擦除(即删除)操作。
如前所述,用于每个纠错码序列,即C11数据序列(第一C1序列),C2序列和C12数据序列(第二C1序列)的错误位置和校正格式被累加存入错误寄存器53中。当错误位置和校正格式被存入错误寄存器53时,ECC控制部件54以前面讨论的方式纠错。
如图12所示,根据存在RAM51中的数据确定数据存储地址RA,其利用了C1序列数据的顺序Dn,C1代码单元中的帧号Fn和下列等式,其中所有数字用十六进制表示Dn数据号(00-A9)Fn帧号(00-B9)RARAM地址(0000-7FFF)Fna=Fn+46+01如果(ECC格式=C2),Fna=Fna+Dn如果(Fna>FF),Fna=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,可看到,当例如帧182被提供给并存入RAM51(称这为“EFM+写”)时,(帧174,175等的)数据的C11序列被同时以00,02,…,A9的顺序提供给解码器52(称之为“C11读”)。数据的C2序列被传输到解码器52(称之为“C2读”)。并且数据的C12序列被传输到解码器52(称为“C12读”)。一个已被解码的第一帧1(用于所有数据序列C11,C2和C12)被提供给OCTL电路56(称之为“OUT读”)。数据序列C11,C2和C12的供给(即传输)以固定的时间间隔被连续执行,换言之,给定一个具有每周期1168个周数的时钟信号RFCK,长度为170字节的纠错码在每个时钟周期内可被传输三次。
存在RAM51中的C11,C2和C12数据序列在时钟RFCK的一个周期内都被传输到解码器52。存在RAM51中的纠错码数据(简称ECC数据)没有变化,并且如果检测到一个错误并发现它为可校正的,则将一个错误位置和一个纠错格式作为一个错误结果“ER”提供给错误寄存器53。然后通过将存在错误寄存器53中的纠错格式和RAM51提供的基于错误位置的错误数据进行逻辑异或地相加(称之为“EXOR操作”),并接着将结果值存入RAM51中的适当位置上,ECC电路50进行纠错。最后,解码数据S10被提供给缓冲区存储器10并且扇区首标数据SH被提供给扇区检测电路7。
图14示出了传输、错误结果输出和纠错操作的时序图。如图所示,在C12序数数据被传输到ECC解码部件55之后(标识为“C12R”),ECC控制部件54(图11)校正C11序列数据中的错误(标识为“C11W”)。然后,在将下一个帧的C11序列数据从RAM51提供给解码器52之后,ECC控制部件54校正当前帧的C2数据序列中的错误(标识为“C12W”)。最后,在提供了下一个帧的C2数据序列之后,ECC控制部件54校正当前帧的C12数据序列中的错误(标识为“C12W”)。从而,将ECC数据的三个序列从RAM51连续传输到ECC解码部件55(即C11R,C2R和C12R),并接着须经过ECC错误纠正(即C11W,C2W和C12W),所有这些操作在时钟RFCK的一个周期内执行。还可以看到在时钟RFCK的每个周期内,ECC数据的C11,C2和C12序列中的每一个从RAM51以固定的时间间隔被输出。
ECC传输码长NCYC为170个周期(即NCYC=170),且一个奇偶性传输码长PCYC最大为14个周期(即PCYC=14),从下面等式可看出向错误寄存器53提供错误结果的间隔被设置成一个395个周期的ECC操作时钟(ECCK)NCYC码长(170)PCYC奇偶性长度(最大14)2×NCYC+3×PCYC+13=395 ……(9)(ECC电路50的)RMIF电路48对用于与数据的C1(即C11和C12)和C2序列相对应的字符量的ECCK时钟脉冲计数,以便于在时钟RFCK的一个周期内进行三次输出,使之与C11R,C2R和C12R数据传输同步。此时,在数据的C12序列的传输过程中输出数据的C11序列的结果,在数据的C11和C2序列的传输过程中分别输出C2和C12序列的结果。
图15是在时钟RFCK的一个周期内以C11,C2和C12顺序输出ECCK时钟时和只传输数据的C11序列时的时序图。如图所示,利用一个帧计数器对数据传输量(如C11)和错误校正量(如[C11])计数。
图16是ECC电路50的错误输出的时序图。如图所示,在接收C1和C2数据(即当起始脉冲信号ESTT变为高时)后的395个ECCK时钟周期,代表ECC结果输出时刻的“OSTT”信号发生了,在OSTT信号上升之后的三个时钟周期,一个选通信号OCORRECT为高(即等于“1”),并且在OCORRECT选通为高时,错误格式EDX和错误位置EAX分别作为数据ODATA[70]和OORIG[70]被输出。图16的时序图说明了存在三个错误(ED0,ED1,ED2)的情形。当解码部件55识别出C1和C2数据的起始时,起始脉冲信号ESTT变为高,并且OCORRECT选通被用于获取ECC结果ODATA[70]和OORIG[70]。如前所述,错误格式(EDX)和错误位置(EAX)存在错误寄存器53中,并且在完成了向解码器52的数据传输之后,这些错误被校正。
参照图17,示出了在RFCK的一个时钟周期段(即1个帧)内进行RAM51的存储器读写数(即ECCK时钟周期段)。如前所述,在时钟ECCK的1168个时钟周期内执行EFM+,C11,C2,C12和OUT操作。如图17所示,在一个时钟周期内将扇区同步格式存入RAM51,并在170+/-α个时钟周期内存入EFM+数据。在170个时钟周期内(从RAM51)读取C11序列数据,在“8+8”时钟周期内执行C11校正(读和写),在一个时钟周期内存储C11校正结果和“SUB”(将讨论),在一个时钟周期内读取一个扇区同步格式,在20个时钟周期内读取首标数据,并在1+(14)个时钟周期内写入从首标数据进行扇区信息读操作的结果。
在170个时钟周期内从RAM51读取数据的C2序列,在14+14个时钟周期内校正C2数据中的错误,并在一个时钟周期内存储校正后的C2数据。在170个时钟周期内读取数据的C12序列,在8+8个时钟周期内校正C12数据中的错误(读和写),并在一个时钟周期内存储校正后的C12数据。
最后,在一个时钟周期内读取ECC解码数据的扇区信息,在一个时钟周期内读取C11数据的校正结果,在一个时钟周期内读取C2数据的校正结果,在一个时钟周期内读取C12数据的校正结果,并在170个时钟周期内执行OUT操作(即将所有数据从RAM51传输到存储器10)。上述所有操作是在时钟RFCK的一个时钟周期内的1168个ECCK时钟周期中的948个ECCK时钟周期内执行的。
上述的SUB操作是关于首标数据的读取和向图9的扇区检测电路7传输一个4字节的同步码和16字节的首标数据。扇区检测电路7从首标数据中抽取扇区地址,执行一CRC操作,执行一所谓的“规整”(FW)操作,并将结果传输到系统控制器4。系统控制器4只在已经ECC解码的C11序列数据中标识扇区首标数据SH。如图14所示,在C11数据被纠错(C11W)后提供了SUB信息。从而,在C2和C12序列被解码前获得了定位信息(即在盘2上的定位)。
上述飞轮操作是关于保护和内插子程序,它能在即使几次没有检测到同步信号的情况下保持“锁定”状态。系统控制器4确定再现的扇区是否是所需的扇区,并且当在再现的RF信号中连接检测到几个同步格式,特别是几个主和子同步格式时,规整操作采用一个“EW锁”。
下列等式示出了用于从和向RAM51读与写的“帧单元”操作(称之为“JOB操作”)的执行条件JOB的帧计数和执行条件(SUB包括在C11中)C11的执行条件Fn(EFM+)-Fn(C11)>1C2的执行条件 Fn(C11)-Fn(C2)>169C12的执行条件Fn(C2)-Fn(C12)>0OUT的执行条件Fn(C12)-Fn(OUT)>0 ……(10)
假设“JOBXXX”的帧计数为Fn(XXX),那么当所有帧单元XXX的JOB操作完成时,Fn(XXX)加1。此时,假设“SUB”被包括在数据的C11序列中。
如前所述,当连续几次检测到同步信号时,同步格式FW被“锁定”。此时,一个存储器写启动信号MWENS被设置为高并且EFM+解调数据的写操作被初始化。如果连接几次没有检测到同步信号,则同步格式FW被解锁,存储器写启动信号MWENS被设置为低以阻止EFM+数据的写,并且每个帧计数器被重新设置为0。
图18是本发明的纠错处理过程中,RAM51的各种读请求和读确认信号的时序图。如图所示,每4个信号C11M的周期提供一个OUT请求信号OUTREQ并且按OUTREQ(OUT请求),EFMREQ(EFM+请求)和ECCREQ(ECC请求)的顺序提供请求信号。当“XXX ACK”(一个特定的确认信号)为高时执行一个特定的“JOB”。而且,在时钟RFCK的上升沿和存在一个特定的JOB执行条件时输出ECC数据。如图14所示,以下列顺序执行ECC数据的读/写操作和“SUB”C11R,C2W,C2R,C12W,C12R,C11W和SUB。
从前面的论述中可以看到,对于各种C11,C2,C12和OUT操作,只要同步FW被锁定,Fn(C11)和Fn(OUT)之间的计数值是固定的,MWENS信号保持为高,并且满足用于每个JOB的执行条件。
本发明的数据解码装置40,如图9所示,将再现(信号RFCK)过程中的通道位速率设置成大于在盘上记录过程中的26.6Mbit/s的参考通道位速率的值,以确信数据能从缓冲区存储器10中被读出并提供给多路数据分离电路13。
如前所述,从解码器52提供错误位置、校正格式和不可校正数据标记,并将其存入错误寄存器53中。通过将存在RAM51中的ECC数据和校正格式异或逻辑地加来顺序校正错误,并且不改变存在RAM51中的ECC数据,从而消除了为ECC解码数据提供另一个存储器的必要。此外,从上面论述可以看到只需要一个解码器52来校正ECC数据的C11,C2和C12序列中的所有错误。
另外,图9中实现图9和10所示的解码电路的电路只提供了一个帧计数器(用于数据传输和纠错操作),一个用于保存再现的数据的存储器51,从而再现数据无需象图2所示的设备那样从第一存储器传输到第二存储器,到第三存储器,并且利用存在表中的值,存储设备51是可寻址的。
最后,上述解码电路35可被操作在时钟RFCK的一个周期内纠正ECC数据的C11,C2和C12序列中的所有错误。从而,以固定的时间间隔提供纠错后的C11,C2和C12数据。
图19至22说明了依据本发明另一实施例的一种记录数据格式,其中以32K字节的簇为单元记录数据。图19说明了一个总数为2064字节的扇区的数据结构,该扇区由大约2K字节(2,060字节)数据和4字节检错码(EDC)组成。依据本发明,以图20所示方式组合16个扇区(每个为2064字节),其中每个扇区由12×172字节数据组成,16个扇区组合形成192×172字节数据(即12×16×176字节数据)。16字节的外部奇偶性码PO(或简称外部码PO)被加到扇区数据的每一列,并且10字节的内部奇偶性码PI被加到每个扇区数据行以及PO奇偶性数据的每一行。
外部码行(包括16×172字节的PO数据和16×10字节的PI数据)被分成单独的16行,每行182字节,每行182字节行被插入16个相应的用数0至15表示的扇区(包括12×182字节)中的一个之下,如图21所示。从而每个扇区由13×182字节构成,16个扇区共208×182字节(16×13×182)。图21所示的数据进一步被分成两部分,每部分为91字节,如图22所示,并且每组91字节为1帧的数据,共208×2帧。一个两字节的帧同步信号FS被加到每个91字节的帧上,如图22所示,以产生416个(208×2)93字节的帧。416个帧形成一簇(或一个ECC块)数据。从上面的论述可看出,一个“实际上的”扇区(不包括“顶部”数据)的大小为2K字节,一簇(一个ECC块)由16个扇区构成并且一个扇区包括24帧。所以数据以簇为单元被记录到光盘2上。
参照图23,示出了解调电路35的详细方块图,用于本发明的数据再现装置40再现具有上述记录数据格式的数据的情况。如前所述,解调电路35由解调电路6、扇区检测电路7和ECC电路50构成。解调电路6包括一个RF处理电路130和一个EFM+解调电路131。扇区检测电路7可包括一个SBCD电路134、一个RAM控制器135和一个RAM137。ECC电路50可包括RAM控制器135、一个ECC控制电路136、RAM137、一个ECC核心电路138和一个OCTL(输出控制)电路139。
RF处理电路130接收拾取设备3(图9中示出)提供的信号S1,将信号S1切换成一个二进制信号,并将二进制信号提供给EFM+解调电路131。EFM+解调电路131解调信号并检测其中的同步格式。根据EFM+调节电路131提供的同步格式,CLV控制电路132控制一个驱动接口(IF)电路133。子码(SBCD)电路134检测EFM+解调电路131提供的信号中的扇区,并且RAM控制器135(相应于图11中的RMIF电路48)控制RAM137的读和写操作。RAM137临时存储在ECC控制电路136的纠错过程中提供的数据,ECC核心电路138(相应于图11中的ECC解码部件55)利用Reed-Solomon代码(PI和PO)产生提供给ECC控制电路136的ECA、ECD和SFLG信号(将要讨论的),并且ECC控制电路136利用所提供的ECA,ECD和SFLG信号校正数据中的错误。OCTL电路139对错误检测码解扰并输出数据。一个主机CPU140(相应于图9中的系统控制器4)控制解调电路35的每个电路的操作。
如前所述,CLV控制电路132控制一个驱动接口(IF)电路133。CLV控制电路132允许一个粗伺服机构根据检测到的同步格式处理信号S1以进一步检测同步码,如图24所示的码SY0到SY7。同样,如前面提到的,一个PLL(锁相环)相位伺服机构处理该信号。参照图24,示出了一例光盘2的物理扇区的数据结构。每个物理扇区由26个同步帧(2列13行同步帧)构成,并且每个同步帧包括调制前的32通道位(2个16位字节)的同步码(SY0-SY7),其后是1456通道位(91个16位字节)(表示为调制前的位)的数据段。第一同步帧的数据段包括ID信息(如一个扇区号),用于ID(IED)的错误检测码和主数据。作为每个同步帧的第一32通道位存储的同步格式的低22位具有位格式“0001000000000000010001”,它的格式是唯一的并且没有出现在数据中。
左列第一同步帧的后面有11个同步帧,这些帧中的每一个具有同步格式和之后的主数据,这些帧后面的一个帧具有同步格式和之后的PO奇偶性数据(即左列最后一个同步帧)。右列中的每个同步帧包括主数据及PI奇偶性数据,但右列第十二同步帧包括EDC(错误检测码)和PI奇偶性数据,并且右列最后一个同步帧(第十三个)包括PO和PI对偶性数据两者。
图25说明了不带有PI和PO奇偶性数据的扇区数据结构。如图所示,一个扇区由一个4字节ID码(即扇区号),一个用于ID码的2字节错误检测码,6字节的保留数据,加扰的主数据以及4字节EDC(错误检测码)。如前所述,16个扇区和PI及PO数据以图20-21所示的方式组合在一起,并且加上了帧同步码FS,如图22所示。帧同步码以SYx(X=0,1,2,…,7)表示,如图24所示,并且,由于一个ECC块由16个扇区构成,所以扇区物理地址的低4位被设置为0000-1111,ECC块的第一扇区的物理地址的低4位为0000。
利用以扇区物理地址的低4-7位所指定的值为初始值,通过将主数据与所产生的加扰数据异或逻辑地加,来对图25所示的扇区的主数据加扰。
利用下述定义和信号名描述本发明Block-top(块顶)当一个SYLK信号为高时,此信号在一个扇区的起始处变为高。
C11M具有11.2896MHz频率的系统操作时钟。
DSTB(数据选通)一个在主数据作为流数据SD被输出时为高的数据选通信号。
ECA(纠错地址)一个指示错误位置(即地址)的纠错地址。
ECCK(ECC时钟)一个用于ECC核心电路138的操作时钟。
ECD(纠错数据)在与错误数据异或逻辑地相加后变成正确数据的纠错数据。
ECDE(ECC代码数据末端)一个指示输入数据末端的控制信号。
ECOD(ECC错误代码)当一个错误不可校正时此信号为高。
ECOR(ECC校正)一个指示带有可校正数据(ECA,ECD)的数据输出的选通信号。
ECYE(ECC周期末端)一个指示输入码数据周期末端的控制信号。
EDT(ECC数据)从RAM137读出并提供给ECC控制电路136用于纠错的数据。
ESTB(错误选通)在纠错结果ER的传输过程中为高的纠错结果选通信号。
ESTT(ECC开始)一个指示开始输入数据的控制信号。
EFM+W Frame(EFM+写帧计数器)此信号代表一个将被写入RAM137的主帧。
HDEN(首标数据使能)用于扇区首标数据的选通信号。
主-FMSY(主帧同步)此信号在每个PI行的主同步(前导同步)为高。
MWEN(存储器写使能)此信号使EFM+解调数据能写入RAM137。
MWRQ(EFM写请求)此信号请求向RAM137写入EFM+解调数据。
OUTE(输出标记)一个内插(输出)标记。
OSTT(ECC输出开始)在ESTT信号以特定的代码序列变为高之后的477个ECCK时钟周期内输出这个信号。
RDT(读数据)在到RAM137的读数据总线上的数据。
SALK(扇区地址锁)此信号表示已正确检测的扇区地址(ID)。
SAUL(扇区地址解锁)一个与SALK极性相反的信号。
SCSY(扇区同步)此信号在一个SY0帧变为高以指示一个扇区的开始。
SD(流数据)解码输出数据。
SDCK(流数据时钟)一个流数据时钟。
SFLG(扇区标志)用于PI1校正的ECC不可校正标志。
SINF(扇区信息)一个在扇区开始处变为高的扇区信息选通信号。
SUB(SUB数据)被传输到SBCD电路134并包括一个ID和一个IEC的数据。
SYLK(同步锁)在连续检测到三个同步码时,此信号变为高。
SYUL(同步解锁)此信号极性与SYLK信号相反。
WDT(写数据)向RAM137的写数据总线上的数据。
XHWE(扇区首标写启动)此信号启动从SBCD电路134写入RAM137的扇区信息的输出。
如图26所示,根据RAM控制器135提供的各种控制信号,解调数据(图23所示的由电路131解调)被存入RAM137中。图26说明了一个ECC块。而且RAM控制器35通过指定的行和列值从RAM137中读出所需数据,其中值(M,N)表示从中读出位于第M行第N个字节的数据。
如前所述,SBCD电路134标识根据同步码的类型和连续性从光盘2再现的扇区的开始处。在标识了扇区的开始处之后,以前导数据为首的解调数据被顺序存入RAM137中。图27A到27F是示出存储解调数据过程中各种信号SCSY、主-FMSY、SUB、MWEN、EFM+W帧和PI1帧的值的时序图,下面将进一步描述这些信号。
图28是解调电路131的同步“锁定”操作的流程图。其中在步骤SP1确定是否在每个同步帧中检测了同步码(如图24所示的SY0到SY7),如果是,则在指令SP2中,表示被连续检测到的同步码数的SClock加1,并且表示连续检测失败次数的SCunlock被重新置为0。然后在步骤SP3确定SClock是否等于3。或者,换言之,是否连续检测到三个同步码,如果否,则程序返回到步骤SP1,但如果SClock等于3,则在指令SP4,信号SYLK被设置为高以指明同步锁定状态被初始化,并在返回SP1以继续检测下一个同步码之前,在指令SP5将SCLock设置为等于2。
但是,如果在步骤SP1确定没有检测到一个同步码,则在指令SP6中SCunlock加1而SClock被重新置为0。然后在步骤SP7确定SCunlock是否等于3,或者换言之,是否连续三次没有检测到一个同步码,如果没检测到同步码的次数小于3,则程序返回步骤SP1,但如果三次未检测到同步码,则信号SYLK在指令SP8被置为低,并且在返回步骤SP1之前,在指令SP9将SCunlock置为2(以保持SYLK为低值)。在图28的流程图中,在锁定(或解锁)同步码之前的检测次数被设为3,但应理解也可利用其它数字。
图29是信号SYLK为高(即锁定状态被初始化)时EFM+解调电路131的操作流程图。首先,在步骤SP21确定是否检测到同步码SY0(其位于每个扇区的开头,如图24所示),如果是,则在指令SP22,在一个预定的时间段内将信号SCSY设为高以指示扇区的开头,如图27A所示,并且在步骤SP23确定信号SYLK是否被设置为低。如果否(即信号SYLK为高),则程序返回SP21,如果在步骤SP21确定未检测到同步码SY0,则过程进行到指令SP23(即指令SP22被跳过),最后,如果信号SYLK在步骤SP23为高,程序中止。
图30是信号SYLK变为高时EFM+解调电路131的操作流程图。首先在步骤SP31确定是否检测到“主帧”中的“主帧”同步码,其中一个“主”帧由图24所示的两个横向同步帧构成,并且左侧同步帧中的每个同步码被看作“主帧”同步码。如果检测到一个“主帧”同步码,如图27B所示,在指令SP32发生信号主-FMSY,但如果未检测到“主帧”同步码,指令SP32被跳过。然后在步骤SP33确定信号SYLK是否为低,如果否(即SYLK为高),则程序返回SP31,但如果在步骤SP33信号SYLK为低,则中止发生信号主-FMSY(以及程序)。参照图24和27B,在每次检测到主帧(两个横向同步帧)时,EFM+解调电路131发生信号主-FMSY。
参照图27A和27D,在解调电路131接收到信号SCSY时,RAM控制器135设置信号MWEN为高,开始将被检测的扇区存入RAM137。RAM控制器135利用一个EFM+W帧计数器(未示出)对主帧(图24所示)计数以产生一个主帧计数“EFM+W Frame”,如图27所示。RAM控制器135还包括一个PI1帧计数器(未示出)以保持传输到RAM137的主帧数并且其计数如图27F所示。当第一主帧,标为0并如图24的顶行所示,被存入RAM137时,第一主帧还根据RAM控制器135的控制信号被提供给ECC控制电路136并且第一主帧被传输到用于校正所提供数据中错误(称之为“PI1”处理或校正)的ECC核心电路138。PI1校正之后,数据被存回RAM137。
在PI1校正之后,主帧号0中的ID和IED数据被存入RAM137,并通过数据总线与图27C所示的信号SUB(0)同步地被供给SBCD电路134。如前所述,ID和IED数据只位于每个扇区的开头(图24),从而此数据传输只用于主帧号0。然后SBCD电路134检测被再现的物理扇区的地址(ID)。同样如前所述,被检测的物理扇区的地址的低4位允许检测ECC块的前导扇区。
图31A到31H是在ID被传输后,在块开头的检测过程中的各种信号的时序图;图32A到32H是检测过程之后的时序图;图33A到33F是ID处理过程的传输时序图。后面将进一步讨论图31到33。
首先参照图33A到33F,从RAM控制器133输出图33A所示的信号HDEN,并将其提供给SBCD电路134以标识从RAM137读出ID和IED数据的时间。在这段时间中,从RAM137读取四个字节的ID数据和2个字节的IED数据并在与图33F所示的时钟C11M(频率为11.2896MHz)同步读取数据RDT时,图33C所示,将它们提供给SBCD电路134。如图33B所示,信号SFLG为低并从ECC核心电路138被提供给ECC控制电路136以标识ID和IED数据通过“PI1校正”被校正,但如果该数据是不可校正,则信号SFLG被设置为高。当ID(扇区地址)被接收时,根据来自主CPU140的各种控制信号(如用于内插标志的发生格式、起始扇区和终止扇区),SBCD电路134产生对应于该ID的扇区信息SI。例如,对于具有被指定为将被输出的数据的扇区的ID来说,扇区信息位5被设为1,位4被设为0。
图34是扇区信息(SI)的数据结构图。扇区信息SI包括下列位位7一个内插标志(OUTF)发生格式(1内插标志发生格式)的设置位6ECC块的前导扇区(1当物理扇区地址的低4位为0时)(1前导扇区)位5起始扇区(1当物理扇区地址与主CPU40指定的起始扇区地址匹配时)(1起始扇区)位4终止扇区(1当物理扇区地址与主CPU40指定的终止扇区地址匹配时)(1终止扇区)位3一个解扰初始化地址的位3(一个物理扇区地址的第7位)位2一个解扰初始化地址的位2(一个物理扇区地址的第6位)位1一个解扰初始化地址的位1(一个物理扇区地址的第5位)位0一个解扰初始化地址的位0(一个物理扇区地址的第4位)当ID和IED数据以图35到37所示流程图中的方式被处理时(将被讨论),ECC控制电路136设置的信号XHWE为低,如图33D所示。信号XHWE使扇区信息SI作为写数据WDT(8位)从SBCD电路134提供给用于存储的RAM137,16个扇区的扇区信息SI被存入RAM137中以便于对应16个PI行,如图26所示。从而,当一个PI行号被指定时,即可得到相应一扇区信息。
接着参照图35,一个SBCD电路134的操作流程图,以确定是否获得3个(或多个)具有有效ID的连续扇区。首先在步骤SP41确定IED数据是否是可接受的(即基于IED数据,ID是否是有效的),如果是,在指令SP42值SALock加1以指明具有一个“正常”ID扇区数,并且值SAunlock被重新设置为0以标识具有无效(不正常)ID的连续扇区数(即ID中的一个错误)。然后在步骤SP43确定SAlock是否等于3,如果否,过程返回步骤SP41。如果SAlock等于3(即三个具有有效ID的扇区被连续再现),则在指令SP44将一个标志IECOK设为高,并在返回步骤SP41之前,在指令SP45将SAlock设置为2。
如果在步骤SP41,IED被确定为无效,则在指令SP46,值SAunlock加1且值SAlock被重新设置为0。然后在步骤SP47确定SAunlock是否等于3,如果否,则程序返回步骤SP41,但如果SAunlock等于3(即三个连续的扇区具有一个失常的IED检验结果),则在指令SP48标志IECOK被设置为低,并在返回步骤SP41之前,在指令SP49将SAunlock置为2。
如上所述,如果三个或多个连续IED检验产生了一个正常结果(即有三个或多个连续的有效ID),则SBCD电路134将标志IECOK设置为高,并且如果三个或多个连续IED检验产生了失常的结果(即有三个或多个连续的无效ID),则设置标志IECOK为低。
图36是确定了顺序加1的ID(地址)的连续性时SBCD电路134的操作流程图,首先在步骤SP61确定是否检测到一个ID,如果是,则为了比较当前的ID(存入的ID)和一个后续ID,在指令SP62将该ID存入存储器。然后在步骤SP63确定当前被处理的ID是否具有大于以前存入被处理的ID为1的值,如果是,则在指令SP64,值NS加1(表示另一个正确的ID被检测到)并且值NNS被重新置为0。然后在步骤SP65确定NS是否等于3,如果否,则程序返回步骤SP61,但是如果NS等于3,则在返回步骤SP61之前,在指令SP66设置标志AS为高以指明连续被检测的ID是有效的,并在指令SP67设置NS为2。
如果在步骤SP61没有检测到ID或在步骤SP63当前被检测的ID不大于以前被检测的ID为1,则在步骤SP68确定标志SALK是否为高,并且如将被进一步讨论的,当三个或多个连续的IED检验为有效并且保持三个或更多ID的连续性时,SALK被设置为高。如果在SP68,标志SALK为高,则在指令SP69内插该ID。即,由于未检测到ID或检测到的ID是不连续的,所以以前被检测的ID加1以产生一个新ID并且所产生的新ID被用于代替被检测的ID(如果它已被检测)。如果标志SALK为低,则跳过指令SP69,然后在指令SP70,NNS加1且NS被重新置0。在步骤SP71确定NNS是否等于3。如果否,则程序返回SP61,但是,如果NNS等于3,则在返回SP61之前,在指令SP72标志AS被设为低,并在指令SP73,NNS被设为2。如前所述,当ID是有效并连续时,SBCD电路134设置标志AS为高,当ID不连续时,设置标志AS为低。
图37是SBCD电路134利用标志IECOK和AS产生标志SALK的操作流程图。首先在步骤SP81确定标志IECOK是否为高,如果是,则在步骤SP82中确定标志AS是否为高,如果标志AS为高,则在指令SP83中设置标志ASLK为高。如果标志IECOK为低或标志AS为低,则在指令SP84中标志SALK被设置为低,程序返回SP81。
如前所述,如果3个或更多连续的“IEC”是“正常”的并且如果3个或更多的ID被连续计数,则SBCD电路134设置标志SALK为高,但是如果3个或更多连续IEC是“失常”的,或如果3个连续的ID检测失效,则标志SALK被设置为低。
主CPU140参照上述SALK和ID数据的值检测激光束辐照位置(即光盘2上的存取位置)。
在图35的流程图中PI1校正的结果能被加到用于SAcock或SAunlock的情况。此外尽管SAcock或SAuncock的次数被设置为3,但是也可以被主CPU140设置为其它不同的值。
如果在SALK为低(SALK为高)时,SYLK变为低(SYUL为高),则EFM+解调数据从EFM+解调电路31到RAM37的写和ECC控制都会重新复位。解锁状态被顺序取消(SAUL为低)并且SYLK被设置为高,此后RAM137中EFM+解调数据的写入(存储)被恢复。
如果必要主CPU140能够执行“解锁”。例如,为了复位ECC控制,主CPU能在一次轨道跳跃之后初始化解锁状态。解锁状态能被主CPU140取消或在没有主CPU140的干预下被自动取消。
如果SYLK为高(即锁定状态)且扇区信息的位6为1以指明扇区的开头(看图34),则SBCD电路134保持“块顶”为高直到SYLK变为低(即直到锁定被解除),如图31A到31H的时序图所示。如果块顶被设置,则在信号SCSY和主-FMSY都已变为高(在扇区开头)时,EFM+W帧的值从12变到0。即对于每个主帧,EFM+W帧的值重复地从0,1,2,…,12变化。
如果块顶为高,则EFM+W帧的值连续加1,甚至得到值13之后,如图32A到32H所示。从而,每个ECC块的主帧中的数据以不同的地址被顺序存入RAM137中,如图26所示。
在执行PI1校正的同时,EFM+解调数据被顺序地和相似地写入RAM137中。当完成了一个ECC块(208行数据)中的数据的PI1校正时,执行PO列方向上的ECC处理(即“PO校正”)。但是,为了正确地从存储器读出PO列方向上的数据,首先PO行必须去交叉(参照图21)。如果从存储器读出对应于图26所示的第N个字节的列,则在交叉的PO行被跳跃过的同时,向下读取这一列的数据,并且只在对应于第N个字节的同一列中的PO行的代码被读取和提供给ECC核心电路138。当ECC核心电路138完成了PO校正时(除了图26右端第10个PI列以外的所有列,即172列已被处理),执行PI2校正。为了改进纠错性能,PI行方向上的ECC处理被执行两次。
在PO校正过程中,依据一个在PI1校正结果基础上产生的错误标志(PI1标志)执行消除校正。在PI2校正过程中,也利用一个在PO校正结果基础上产生的错误标志(PO标志)执行消除校正。执行这些消除校正以改进纠错性能,如前所述。
数据的PI序列(完成了PI2校正之后)从RAM137被传输到OCTL电路139,并利用图34所示的扇区信息的位3到0,每个扇区的主数据被解扰。此外,OCTL电路139执行EDC(错误检测码)相关计算并在这些计算结果的基础上,将出现的错误标记加到主数据上(即确定所需扇区中是否存在错误)。根据判定结果,主CPU140判定是否应从光盘2再次再现特殊数据。如果是,光盘2被重新访问。如果不需再次再现数据,则扇区中的数据(包括错误)被提供给多路数据分离电路13(图9)。
ECC核心电路138包括通用Reed-Solomon代码错误校正LSI,它能对码长,奇偶校验数量和校正方式(或者只是普通校正,或者包括普通和消除校正)编程。ECC核心电路138还能使多级编码和连续编码数据(多个码长不同的码序列)被实时解码。Reed-Solomon代码错误校正LSI包括诸如SONY公司的商用CXD307-111G,并且利用这些LSI形成的ASIC(专门用途的集成电路)被称为一个ECC内核,ECC内核被用于图23所示的ECC核心电路138。
图38A到38D是在本发明的纠错操作过程中各种信号的时序图。图38A所示的控制信号ESTT指示代码的开头(PI或PO行),图38B所示的控制信号ECDE指示代码的结尾(PI或PO行),图38C所示的控制信号ECYE指示代码(PI或PO行)周期的结尾。这三个信号从RAM控制器135通过ECC控制电路136被提供到ECC核心电路138,并且ECC核心电路138利用所提供的控制信号来标识从RAM137提供的数据。如图38A到38D所示,PI代码在位于信号ESTT和ECDE的发生(脉冲)之间的182个ECCK时钟周期内被传输。PO代码也是在位于信号ESTT和ECDE的发生(脉冲)之间的208个ECCK时钟周期内被传输。
如果PI行中的代码和PO列中的代码具有不同的码长,则可通过使代码周期长度适应于PI行和PO列码长中较长的码长来以与代码序列无关的相同时序(图38A到38D所示)输入将被校正的数据(EDT)和用于消除校正的错误标志(PI1,PI2和PO标志)。在公开的实施例中,代码周期长度是208,为PO列代码的长度。各种参数可使用任意值,参数包括码长和奇偶校验的数量。即,当改变一种设置时,向ECC核心电路138提供新的设置数据以允许这个电路在信号ESTT为高时根据提供的数据自动修改内部设置。
利用477ECCK周期输出数据校正的结果,如下列等式所示通过量=2×NCYC+3×PCYC+13=2×208+3×16+13=477(ECCK)在上述等式中,NCYC代表PI行和PO列中较长的码长,PCYC表示较大的奇偶校验数量。在图38A到38D中,在由输出数据所需的时间量确定的信号ESTT(图38A)的时刻之后(即在输出校正结果时),信号OSTT(图38D)从ECC核心电路138被提供给ECC控制电路136。在公开的实施例中,信号OSTT在信号ESTT发生后被延迟了477个ECCK时钟周期。
图39A到39I是在纠错过程中各种信号,包括ECCK、ESTT、EDT、OSTT、ECOR、“O.CODEERR”、ECD和ECA的时序图。如果执行了错误检测并发现一个检测到的错误是可校正的,则ECC核心电路138在信号OSTT变为高时(图39E所示)向ECC控制电路136提供一个具有低值的“O.CODEERR”信号(图39G所示)。此后,在信号ECOR为高时(图39F所示)提供一个8位数据ECD[70],如图39H所示,它识别错误格式(即与错误数据异或逻辑加以获得正确数据的数据)和一个8位错误位置ECA[70],如图39I所示,它标识错误发生的位置(地址)。
在前面讨论过的消除校正方式中,对应于一个错误标志EFLG(看图39C)被输入到的位置的错误位置数据(ECA[70])被确认将要输出,但如果该位置的数据是正确的,则错误格式EDC[70]被设为00(16进制)。
如果该错误是不可校正的,信号OSTT(图39E)被设为高,同时信号“O.CODEERR”(图39G)被设为高,并且信号ECOR(图39F)被抑制变为高(图39F未示出)。此外,信号ECOD(图39G)的输出被锁存直到信号OSTT(图39E)再次变为高为止,而信号ECOR(图39F)、ECD[70](图39H)以及ECA[70](图39I)继续被输出直到信号OSTT(图39E)变成高态为止。
图40到42是ECC处理过程中各种信号的时序图。如将讨论的,图40B,41B和42B中所示的参考PI1-R,PO-R和PI2-R中的每一个表明用于纠错的数据EDT[70]和EFLG(图39C)的PI1,PO和PI12序列从RAM137通过ECC控制电路136被传输到ECC核心电路138的时刻。如图40A,41A和42A所示,信号MWPQ被提供182次以便于将数据EFM+W(具有182字节)写入由EFM+解调电路131提供并存在RAM137中的一个PI行中,从而一个PI行中的EFM+解调数据被存入RAM137中。在一个PI行中的数据被存储的同时,已存入RAM137中的一个ECC块中的数据被读出并通过ECC控制电路136被提供给ECC核心电路138。即在一个PI行中的数据以相对较低的速率被存入RAM137的同时,另一个已被存入的PI行或PO列中的数据以较高的速率被读取三次。如果在扇区开头的PI行中的数据被传输,则子码数据(ID和IEC)区也被读。读写操作以如下方式实现当执行一种操作时,另一种操作被抑制发生。
如果,例如执行一个ECC块的PI1校正,则在执行一个PI行中数据的写入时间周期内读取一个PI行中的数据,即,一个PI行中的数据从RAM137中被读出并通过ECC控制电路136提供给ECC核心电路138。如图40B、41B和42B所示,208个ECCK周期被用于读取PI1校正所需的数据PI1-R,并且这个ECCK周期数与具有最长的数据长度的PO列的长度相适应。且为了传输PI行中的数据,实际上只有182个ECCK周期被用于数据传输,而其余部分没有被利用。
图43是ECC校正过程中读/写操作的流程图。在指令SP101,RAM控制器135从RAM137向ECC核心电路138传输一个PI行中的数据。在公开的实施例中,PI代码(一次奇偶校验)和P代码(一次奇偶校验)被加到每个ECC块上,并且来自相同ECC块的数据PO-R的PO序列或读取数据PI2-R的PI2序列直到完成了来自第一ECC块数据的第一PI序列的校正和回写后才被传输。从而,在后继的2×208个ECCK周期内不传输数据。而且,如果上述数据之后有子码数据(SUB),则子码数据也被传输。
在指令SP101中,RAM控制器135顺序传输第一ECC块的一个PI行中的数据,并且如果有子码数据则在指令SP102中传输子码数据。在步骤SP103中确定第一ECC块的208个行中的PI1-R数据是否被传输,如果否,则程序返回SP101。如果是,则在指令SP104中从一个后继ECC块传输PI1-R并传输第一ECC块的两行PO-R(在每个182周期内)。然后在步骤SP105确定第一ECC块的172列中的PO数据是否已被传输,如果否,则重复指令SP104,如果是,则在指令SP106传输来自第一ECC块的数据PI2-R的PI2序列(看图42A到42E)。而且在图41B所示的第一ECC块的数据PO-R被传输的同一时刻传输数据PI2-R。此处的数据PI1-R属于下一个ECC块(第二ECC块)。第一ECC块的208个PI行中的PI2-R以这种方式被传输,并且在完成了第一ECC块的PI1-R,PO-R和PI2-R处理时,在步骤SP107,RAM控制器135得到一个肯定的结果。然后过程返回指令SP101。
只在数据传输过程中从RAM控制器135向ECC核心电路138提供时钟ECCK(图39A)。此外,在传输的数据被输入后的477个ECCK时钟周期输出传输数据的校正结果。从而,在传输此序列后的下两个序列(图40B,41B和42B)时,判定该序列数据是否包含一个错误(图40C,41C和42C)的结果被输出。输出数据被存入一个ERR FIFO电路136B中,如图44所示(将要讨论)。
当从RAM137向ECC控制电路136输入将被纠错的数据时,如上所述,电路136执行一个PI行中的数据的PI1校正并在此后的477个ECCK时钟周期输出该结果(看图40C,41C和42C)。结果数据被传输到并临时存入ERRFIFO 136B,它被用作ECC控制电路136的一个缓中区,如下所述。这个数据从ERR FIFO 136B中被读出,作为被纠错数据传回RAM137并作为数据PI1-W存入其中,如图41D和42D所示。(已完成了PO或PI2校正的)数据也作为数据PO-W或PI2-W被存入RAM137中。利用了182个SDCK时钟周期的时间段还读出用于每个PI行的纠错后的数据并从OCTL电路139输出,如图40E,41E和42E所示。
参照图44,示出了纠错过程中信号流的方块图。ECC控制电路136包括一个ERR COUNT(差错计数器)136A,一个ERR FIFO(差错先进先出存储器)136B,一个FLAG RAM(标志随机存取存储器)136C和EX-OR(异或)电路136D。EFM+解调电路131提供的解调数据根据RAM控制器135提供的控制信号被存入RAM137中。存在每个扇区开头的SUB数据(ID和IEC)从RAM137被读出并提供给产生扇区信息SI的SBCD电路134,如图34所示。SBCD电路134提供扇区信息并将其存入RAM137中。
RAM控制器135通过ECC控制电路136向ECC核心电路138提供存于RAM137中的一个PI行的数据。如图44所示,为方便起见,EDT数据被直接提供给ECC核心电路138。当一个PI行中的数据被供给ECC核心电路138时,电路138利用PI代码产生8位错误校正数据ECD(图39H)和8位的错误校正地址ECA(图39I)。从ECC核心电路138提供该错误校正数据ECD和错误校正地址ECA并将其存入ECC控制电路136中的ERR FIFO136B。
然后,为了校正该错误,RAM控制器135读取该PI行中的数据EDT并将其供给EX-OR电路136D。ERR FIFO136B向EX-OR电路136D提供错误校正数据ECD和错误校正地址ECA。EX-OR电路136D通过在错误校正地址ECA指定的位上将错误校正数据ECD和从RAM控制器135读取的数据EDT异或逻辑加在一起来校正错误。数据(错误已被校正)被存回RAM137中。此外,ECC核心电路138根据ECD和ECA产生一个错误校正结果ER(8位),如图45所示。该错误校正结果ER被提供给并存入ERRCOUNT136A中。错误校正结果ER被存入RAM137以便于与该PI行相对应,如图26所示。
错误校正结果ER的8位分别表示下列信息位7不可校正的错误标志(0可校正;1不可校正);位6标识序列是否来自一个PI行或一个PO列(0PI,1PO);位5识别该序列是一个PI1序列还是一个PI2序列(0PI1,1PI2);位4校正数量的最高有效位(MSB);位3校正量的第二MSB;位2校正量的第三MSB;位1校正量的第四MSB;位0校正量的最低有效位MSB。
表示该数据是否为可校正的判定结果的PI1错误标志(位7)作为部分错误校正结果ER被存入ERR COUNT 136A中,也被存入FLAG RAM 136C中。用于208个PI行的PI1校正被执行,如图26所示。
然后,RAM控制器135从RAM137读取第一PO列中的数据的208个字节并将其作为EDT通过ECC控制电路136提供给ECC核心电路138。存在FLAG RAM136C中的PI1标志被提供给ECC核心电路138,它利用格式PO和PI1标志产生用于正常或消除校正的一个ECD和一个ECA。该ECD和ECA数据从ECC核心电路138中被提供给ECC控制电路136中的ERRFIFO 136B并存于其中。由ECC核心电路138根据ECD和ECA产生的这个PO列的错误校正结果ER也被传输到并存入ERR COUNT 136A。对应于错误校正结果ER位7的PO标志也被存入FLAG RAM 136C中。
从RAM137中读出的这个PO列中的数据EDT被提供给EX-OR电路136D。从ERR FIFO 136B也向EX-OR电路136D提供ECD和ECA数据。EX-OR电路136D通过将ECD和EDT数据异或逻辑加在一起来校正错误以便于与ECA数据指定的地址位相对应。纠错后的数据被存回RAM137中。此外,这个PO列的错误校正结果ER从ERR COUNT 136A中被读取并存入RAM137中。这个PO列的错误校正结果ER被顺序写到与从顶端开始的172个PI行相对应的位置上。对于172个PO列,这样的一PO校正被执行。
如果在PI1和PO校正之后执行了PI2校正,则第一PI行中的数据作为EDT数据从RAM137中被读取并提供给ECC核心电路138。存在FLAGRAM136C中的PO标志被读取并提供给ECC核心电路138。ECC核心电路138利用PO标志和奇偶校验PI产生ECD和ECA数据,并将该数据提供给并存入ECC控制电路136的ERR FIFO 136B中。存在ERR FIFO 136B中的ECD及ECA和提供给EX-OR电路136D并从RAM137中读取的PI列中的数据异或逻辑地加在一起以便于校正错误。纠错后的数据被存回RAM137中。
ECC核心电路138还根据ECD和ECA数据产生错误校正结果ER并将该数据供给和存入ERR COUNT 136A中。PI2标志(位5)也被存入FLAGRAM136C中。
已被存入ERR COUNT 136A的PI2行的错误校正结果ER被读出并存入RAM137中。RI2行的错误校正结果ER被写到与208个PI行中的每一个相对应的位置上。
图46A到46G是用于访问RAM137的总线仲裁时序图。为了请求将经EFM+解调的数据向RAM137中的写操作,信号EFMREQ(图46A)从EFM+解调电路131被提供给RAM控制器135。信号OUTREQ(图46B)从OCTL电路139被提供给RAM控制器135以请求经ECC处理的数据从RAM137的读操作。为访问RAM137,从ECC控制电路136向RAM控制器135提供信号ECCREQ(图46C)以将数据传输到ECC核心电路138来校正错误,或向SBCD电路134输出一个传输SUB(一个ID和一个IEC)的请求。
RAM控制器135为这三个信号预置优先级,并且如果同时提出这些请求,则RAM控制器135根据其优先级顺序向RAM137输出一个ACK(确认)信号。信号EFMACK(图46D),OUTACK(图46E)和ECCACK(图46F)分别表示信号EFMREQ,OUTREQ和ECCREQ请求的确认。在公开的实施例中,按照OUTREQ,EFMPEQ和ECCREQ的顺序设置优先级。从而,RAM控制器135根据优先级输出一个对应于REQ信号的ACK信号,如图46A到46G所示。这些信号与用作系统时钟的信号C11M(图46G)同步被接收。
如前所述,在每个特定的周期内,根据信号EFMREQ,ECCREQ或OUTREQ可授权一次对RAM137的访问。但是,这个周期可随RAM137的类型或配置或访问速率而变化。
图47示出了对RAM137读或写的访问量,这些访问被请求执行一个ECC块中数据的PI1、PI2和PO校正。如图47所示,每个ECC块所请求执行PI1、PO和PI2校正的对RAM137的访问量为214,716,并且每个主帧的平均值为1,033。例如,在EFM+解调数据的写过程中,每个主帧对RAM137的访问量为182,并且ECC执行周期长度为208字节(208个主帧),从而每个块需要37,856(182×208)次访问。上述值是通过计算每个操作所需的访问量并将这些计算出的值相加在一起而得出的。
图48A到48F是在通过OCTL电路139从RAM137传输错误校正结果ER的过程中各种信号的时序图。比图48A所示的信号超前的时钟信号SDCK(182周期)的时间基准如图40E、41E和42E所示。时钟SDCK(图48A)被用作一个系统时钟以将ER数据作为一个流数据输出。选通信号SINF(图48B)在扇区开头变为高并表明被传输的数据是扇区信息(SI)。选通信号ESTB(图48C)被选通以表明错误校正结果ER将被传输。在每个PI行中,为PI1、PO和PI2序列的每个错误校正结果ER分配一个字节,所以整个结果数据占用了三个字节。由于这个数据是按照与所存储的顺序相同的顺序被输出的,如图26所示,所以通过参照数据的位5和6来识别与特殊结果相关的序列,如图45所示。对于没有输出PO校正结果的PI行来说,当结果被输出时,选通ESTB变为低。
当如图48E所示的信号SD[70]为主数据时,选通信号DSTB(图48D)变为高。信号SINF,ESTB和DSTB由OCTL电路139产生。在利用182SDCK时钟周期输出沿PI行方向的数据之前,扇区信息SI和错误校正结果ER被立刻输出,如图48E所示。错误标志OUTG(内插标志)表明主数据中包括一个错误并在被输出之前,根据存于FLAG RAM 136C中的PI和PO不可校正的错误标志,OUTG与主数据相加,如图44所示。OCTL电路139根据SBCD电路134产生的扇区信息的位4和5(看图34)判定扇区中的数据(已被解码)是否应被输出。扇区信息的位4和5分别表示扇区的开头和结尾(看图34)。从而OCTL电路139将位4为0,位5为1的扇区数据作为指定扇区中的数据(将被输出的数据)输出。
OCTL电路还判定诸如现有的用于主数据或EDC结果的错误标志是否符合主CPU140预置的条件,如果符合,则输出解码后的数据。如果不符合,则不输出解码后的数据并且主CPU140接到错误通知。例如,将被输出的数据应满足下列条件(1)该数据被指定输出;(2)根据ECC结果没有检测到错误;(3)没有错误标志被加到主数据;如果上述条件被满足,则该数据被输出。此外,如果必要的话,主CPU140还可抑制数据的输出。
在本发明的上述实施例中,根据传输时钟ECCK从存储器中读出在信号MWRQ的182个周期内从RAM137传输到ECC核心电路138的数据(即数据PI1-R,PO-R和PI2-R)(看图40A到40E,41A到41E和42A到42E)。从而,在数据传输期间内一个给定的时间段中止(即不提供)传输时钟ECCK,数据的传输即被抑制。在这个“中止”期间,可以利用ERR FIFO(错误寄存器)136B中的错误位置信息和校正格式,从RAM137中读出相应的数据来允许EX-OR电路136执行异或逻辑加法纠错并将纠错后的数据回写到RAM137中,仅ECC核心电路138和能被用于每个数据(PI1-R,PO-R和PI2-R)的错误寄存器(ERR FIFO)就能使ECC过程被执行。
当数据(PI1-R,PO-R和PI2-R)被传输时,在时钟MWRQ的第一个周期中,数据PIL-R和PO-R被传输(看图41A到41E),当完成了通过ECC控制电路136向ECC核心电路138的PO-R第二行数据的传输时,RAM控制器135执行PI1错误校正(PI1-W)。当在时钟MWRQ的下一个182个周期过程中完成PIL-R的传输时,RAM控制器135校正在时钟MWRQ的第一个182个周期中被传输的第一PO行中的错误,然后在第二个182个周期中完成了PIL-R的第一列的传输时,校正在第一个182个周期中被传输的第二PO行中的错误。从而防止了在同一时间执行多种操作。因此,RAM控制器135只需要一个PI计数器(用于写和读)、一个PO读计数器(用于传输)和一个PO写计数器(用于校正)。
上述实施例还用于一种具有简化的结构配置的数据再现装置,它包括一个存储错误位置和校正格式的用于一个码序列的寄存器(ERR FIFO)和最少数量的用于RAM控制器135的计数器。
由于一个ECC块是通过将水平方向上的PI码与垂直方向上的PO码相加而构成的,所以数据能沿行的方向被存储以使一个水平行中的数据在被存好之后被传输,从而与通过第一帧(第一行)和第二帧(第二行)交错写数据的方法相比,减小了ECC处理时间。
如前所述,从存储器中顺序读出要解码的编码数据并将计算出的错误位置和校正格式存入一个错误寄存器以利用读出的校正格式和错误数据校正错误。这种校正数据的技术提供了一种简单而有效的解码方法。这种技术还用于一种包括一个简化的ECC解码器的数据再现设备,它不需要现有技术所需的那么多的存储器。
在结合最佳实施例显示和详细说明了本发明的同时,应注意本领域的普通技术人员能够在不偏离本发明构思和范围的情况下对本发明做出各种改变,例如,尽管在实施例中描述在时钟MWRQ的182个周期中数据被传输三次,但本发明不应仅限于此,可通过诸如减少RAM137的存取时间将数据在此期间内传输四次或更多。
另一个例子是尽管当前讨论面向对以C1/C2卷积Reed-Solomon代码编码的数据进行解码,但本发明并不仅限于这种类型的编码/解码,还可适用于其它类型的编码系统。
因此,这意谓着本发明所附权利要求应被理解为包含以上说明的实施例、上述变化以及与其等效的所有变化。
权利要求
1.用于对加有纠错数据的编码数据进行解码的装置,包括存储装置,用于存储加有纠错数据的编码数据;解码装置,用于检测存在所述存储装置中的编码数据中的错误、确定所述错误在所述编码数据中的位置、并输出对应于所述错误的错误校正格式;错误寄存器存储装置,用于存储被确定的所述错误位置和输出的错误校正格式;以及控制装置,用于控制所述存储装置读出对应于存在所述错误寄存器存储装置中的所述错误位置的存储的编码数据、并控制所述解码装置利用存在所述错误寄存器存储装置中的所述错误校正格式对读出的编码数据解码以产生校正后的解码数据。
2.如权利要求1所述的装置,其中所述解码装置根据存在存储装置中的纠错数据产生所述错误校正格式。
3.如权利要求1所述的装置,其中所述解码装置被操作以检测可校正错误和不可校正错误,并只确定可校正错误在编码数据中的位置。
4.如权利要求1所述的装置,其中加有纠错数据的所述编码数据是C1/C2卷积Reed-Solomon类型代码。
5.如权利要求4所述的装置,其中所述加有纠错数据的编码数据包括错误校正码的C11序列、错误校正码的C2序列和错误校正码的C12序列;并且所述控制装置控制所述存储装置将存入的错误校正码的C11,C2和C12序列顺序地提供给所述解码装置,并在错误校正码的序列被提供给所述控制装置之后,控制所述解码装置对所提供的错误校正码的C11,C2和C12序列顺序地进行解码。
6.如权利要求1所述的装置,其中所述存储装置是一个先进先出型存储设备。
7.如权利要求1所述的装置,还包括用于提供具有一预定时钟周期的系统时钟的装置;并且其中在所述系统时钟的第一预选数个时钟周期内,从所述存储装置读出被存储的编码数据并将其提供给所述解码装置;并且在所述系统时钟的第二预选数个时钟周期内,所述解码装置对读出的数据解码。
8.如权利要求1所述的装置,其中所述编码数据由数据行和列构成;并且所述纠错数据包括加到数据的每个所述行上的内部码和加到数据的每个所述列上的外部码。
9.如权利要求8所述的装置,其中所述控制装置控制所述解码装置利用所述内部码对存在所述存储装置中的每行编码数据中检测到的错误依次解码;然后控制所述解码装置利用所述外部码对存在所述存储装置中的每列编码数据中检测到的错误依次解码;以及然后控制所述解码装置利用所述内部码对编码数据中每个以前被解码的行中检测到的错误依次解码。
10.如权利要求8所述的装置,其中所述存储装置首先向所述解码装置提供存入的编码数据块以检测块中的错误,并以由存储装置控制的顺序提供与所述错误位置相对应的块中的编码数据。
11.如权利要求10所述的装置,其中所述控制装置控制所述解码装置对在所提供的块中的每一行中检测到的错误解码以产生第一校正后的解码数据并控制所述存储装置存入所述第一校正后的解码数据,并接着控制所述解码装置对在所提供的块中的每一列中检测到的错误解码以产生第二校正后的解码数据并控制所述存储装置存入所述第二校正后的解码数据。
12.如权利要求8所述的装置,其中所述外部码包括外部码行,每个所述外部码行在两个数据行之间交错;所述解码装置包括用于对加有纠错数据的编码数据去交错的装置。
13.用于对加有纠错数据的编码数据进行解码的方法,包括步骤在第一存储器中存储加有纠错数据的编码数据;检测存在第一存储器中的编码数据中的错误;确定所述错误在所述编码数据中的位置;提供对应于所述错误的错误校正格式;在第二存储器中存储被确定的所述错误位置和所提供的错误校正格式;从第一存储器读出对应于存在第二存储器中的错误位置的编码数据;以及利用存在第二存储器中的所述错误校正格式对读出的与所述错误位置相对应的编码数据解码以产生校正后的解码数据。
14.如权利要求13所述的方法,其中根据存在第一存储器中的纠错数据产生所述错误校正格式。
15.如权利要求13所述的方法,其中通过检测存在第一存储器中的编码数据中的可校正错误实现检测步骤。
16.如权利要求13所述的方法,其中加有纠错数据的所述编码数据是C1/C2卷积Reed-Solomon类型代码。
17.如权利要求16所述的方法,其中加有纠错数据的所述编码数据包括错误校正码的C11序列、错误校正码的C2序列和错误校正码的C12序列;并且在读出的错误校正码的C11,C2和C12序列被解码之前,从第一存储器顺序读出错误校正码的C11,C2和C12序列。
18.如权利要求13所述的方法,其中所述编码数据由数据行和列构成;并且所述纠错数据包括加到数据的每个所述行上的内部码和加到数据的每个所述列上的外部码。
19.如权利要求18所述的方法,其中通过利用所述内部码对存在第一存储器中的每行编码数据中检测到的错误依次解码、利用所述外部码对存在第一存储器中的每列编码数据中检测到的错误依次解码;以及利用所述内部码对编码数据中每个以前被解码的行中检测到的错误依次解码来实现所述解码步骤。
20.如权利要求18所述的方法,其中所述第一存储步骤存储一个编码数据块;通过检测块中的错误实现所述检测步骤;并且通过从第一存储器中读出块中与错误位置相对应的编码数据实现所述读取步骤。
21.如权利要求20所述的方法,其中检测并解码存在带一存储器中的块中的每一行中的错误以产生第一校正后的编码数据,然后检测并解码存在第一存储器中的块中的每一列中的错误以产生第二校正后的编码数据。
22.如权利要求18所述的方法,其中所述外部码包括外部码行,每个所述外部码行在两个数据行之间交错;所述解码方法包括对加有纠错数据的所述编码数据去交错的步骤。
23.用于从一个记录介质再现和解码加有纠错数据的编码视频信号的装置,包括从记录介质再现加有纠错数据的编码视频数据的装置;存储装置,用于存储被再现的加有纠错数据的编码视频数据;解码装置,用于检测存在所述存储装置中的编码视频数据中的错误、确定所述编码视频数据中所述错误的位置、并输出与所述错误相对应的错误校正格式;错误寄存器存储装置,用于存储所确定的所述错误的位置和被输出的错误校正格式;以及控制装置,用于控制所述存储装置读出与存在所述错误寄存器存储装置中的所述错误位置相对应的存储的编码视频数据,并控制所述解码装置利用存在所述错误寄存器存储装置中的所述错误校正格式对读出的编码视频数据解码以产生校正后的解码视频数据。
24.用于从一个记录介质再现和解码加有纠错数据的编码视频信号的方法,包括步骤从一个记录介质再现加有纠错数据的编码视频数据;在第一存储器中存储加有纠错数据的编码视频数据;检测存在第一存储器中的编码视频数据中的错误;确定所述错误在所述编码视频数据中的位置;提供与所述错误相对应的错误校正格式;在第二存储器中存入所确定的所述错误位置和所提供的错误校正格式;从第一存储器中读出与存在第二存储器中的所述错误位置相对应的编码视频数据;以及利用存在第二存储器中的错误校正格式对读出的与所述错误位置相对应的编码视频数据解码以产生校正后的解码视频数据。
全文摘要
一种对加有诸如C1/C2卷积Reed-Solomon类型纠错数据的编码数据(如数字视频信号)解码的数字信号解码器及一种包含该解码器的数字信号再现装置。该解码器检测在第一存储器中存储的编码数据中的可校正错误、确定检测到的错误在编码数据中的位置,并提供与那些错误相应的纠错格式;在第二存储器中存储错误位置和纠错格式;利用第二存储器中纠错格式解码从第一存储器中读出与错误位置相应的编码数据以产生校正后的解码数据。
文档编号H03M13/29GK1167981SQ9612385
公开日1997年12月17日 申请日期1996年12月25日 优先权日1995年12月25日
发明者市川高广 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1