数据译码设备及方法和数据再现设备的制作方法

文档序号:450851阅读:366来源:国知局
专利名称:数据译码设备及方法和数据再现设备的制作方法
技术领域
本发明涉及数据译码设备及方法和数据再现设备,本发明尤其可应用于再现被数字化的、被记录在光盘上的运动图像的那种设备。
已有按照例如运动图像专家组(MPEG)标准进行数字化并以可变速率进行记录的运动图像的光盘。
MPEG为图像数据规定了三类图像帧内编码图像的I图像(帧内图像)、帧间正向预测编码图像的P图像(预测图像)、以及双向预测编码图像的B图像(双向预测图像)。这三类图像形成图像组(GOP)。
虽然MPEG标准还适用于语音数据,但例如加性变换声编码(additivetransform accoustic coding)(ATAC)也被用来数字化语音数据和对其进行压缩编码。ATRAC是注册商标。


图1表示再现以可变速率记录在光盘上的数据的数据译码设备1。数据译码设备1利用拾取头3以激光束照射光盘2,以便根据反射光束再现记录在光盘2上的数据。拾取头3输出的再现信号S1输入给在被系统控制器4控制的译码电路系统5内的解调电路6并在该电路内被解调。被解调电路6解调的数据通过扇区检测电路7输入给执行差错检测和纠正的纠错码(ECC)电路8。
如果扇区检测电路7没有正确地检测到分配给光盘2的扇区的扇区号或地址,就把扇区号差错信号输出给轨迹转移确定电路9。如果发现了不可纠正数据,ECC电路8就输出差错信号给轨迹转移确定电路9。被纠错数据从ECC电路8传送至环形缓冲存储器10并被记录在其内。
环形缓冲器控制电路11然后从扇区检测电路7的输出中读出每一扇区的地址,并在环形缓冲存储器10内规定相应于第一个地址的写地址(以后称为写指针WP)。
被系统控制器4控制的环形缓冲器控制电路11根据来自在环形缓冲器控制电路之外的多路复用数据分离电路13的代码请求信号R10为已被写入环形缓冲存储器10的数据规定读地址(以后称为读指针RP),并读出读指针RP的数据以便把其提供给多路复用数据分离电路13。
多路复用数据分离电路13内的标题分离电路14从环形缓冲存储器10提供的数据中分离小数据包标题和数据包标题,并把它们提供给分离电路控制电路15。分离电路控制电路15根据标题分离电路11提供的数据包标题的流ID(标识符)信息顺序地和周期性地切换和连接开关电路16的输入端G和输出端(切换端)H1和H2,并正确地分离时分多路复用数据以便把其提供给代码缓冲器。
视频代码缓冲器17然后利用余下的内部代码缓冲器产生对于多路复用数据分离电路13的代码请求R1。视频代码缓冲器17存储接收的数据。它还接收来自视频译码器18的代码请求R1并输出其内的数据。视频译码器18根据所提供的数据再现视频信号并从其输出端OUT1进行输出。
音频代码缓冲器19利用余下的内部代码缓冲器产生对于多路复用数据分离电路13的代码请求R2。音频代码缓冲器19存储接收的数据。它还接收来自音频译码器20的代码请求R2并输出其内的数据。音频译码器20根据所提供的数据再现音频信号并从其输出端OUT2进行输出。
如上所述,视频译码器18从视频代码缓冲器17请求数据,视频代码缓冲器17从多路复用数据分离电路13请求数据,多路复用数据分离电路13从环形缓冲器控制电路11请求数据。
在这种情况下,数据沿与请求方向相反的方向从环形缓冲存储器10流出。
以下说明解调电路系统5执行的数据译码。从光盘2读出的再现信号S1被解调电路6利用RF处理变换成为二进制信号。然后粗伺服机构根据信号S1的标记长度的测量结果对再现信号S1起作用。一旦作为系统控制器4接口的扇区检测电路7检测到EFM+同步标题,PLL(锁相环)伺服机构就对同步标题起作用。一旦随后连续地检测到几个同步标题,就对已被进行了EFM+解调的数据S2进行解交错。
如图2所示,EFM+解调数据S2被传送给ECC电路8、被存储在RAM24、然后被包括C1/C2卷积里德一所罗门码(CIRC+)的三个序列C11(第一个C1序列)、C2和C12(第二个C1序列)的ECC译码器25、27和29进行ECC译码。
如图3所示,ECC电路8通过例如按照00、01、......A8和A9的顺序把EFM+解调数据S2写入RAM24(EFM+写)来执行ECC译码,一旦两帧的EFM+解调数据已被存储在RAM24内,就按照00′、02′......、A8′、01、03、......A9的顺序把帧1内的数据传送给ECC译码器25,以便对解交错后的C1序列数据进行ECC译码。
如图4所示,通过从ECC译码器25中读出差错位置和纠正样式(correctionhattern)、从RAM24中读出差错数据(C1读)、把该数据与纠正模式进行异逻辑加以及把所得到的数据器写到RAM26(C1写)来,纠正差错。ECC译码器25在C2代码序列长度内对C1序列数据进行ECC译码。
一旦已在C2代码序列长度内对C1序列数据进行了ECC译码,就能够然后对数据的C2序列进行ECC译码。RAM26内的数据按照00′、01′、02′、03′......A9′的顺序被读出(C2读),ECC译码器27对这一C2序列数据进行ECC译码。每一帧的不可纠正差错标记可与数据同步地传送给下一个ECC译码器,以便执行删除纠正(erasure corrections)。C1不可纠正差错标记被用来对C2序列数据进行删除纠正。纠错操作与对C1所执行的一样。
如图5所示,一旦已把C2序列数据的ECC译码结果写入RAM28(C2写)并已在C1代码序列长度内对C2序列数据进行了ECC译码,就能够然后对C12序列数据进行ECC译码,ECC译码器29按照00′、01、02、03、......A9的顺序对C12序列数据进行ECC译码(C12读)。
C2不可纠正差错标记被记被用来对C12序列数据进行删除纠正。一旦完成了对C12数据的纠错,就如图6所示地按照00、01、02、03......A9的顺序把C12序列数据的ECC译码结果写入RAM30。被译码的ECC的C11、C2和C12序列数据于是被存储在RAM30内,然后按照00、01、02、03、......A9的顺序被读出(OUT读)。然后对数据进行解扰并将其传送给环形缓冲存储器10,以便向其写入所需的扇区数据。
通过从存储在与被用来进行ECC译码的存储器不同的存储器内的再现数据拾取扇区地址来检测被请求读出的输出数据所属的所需扇区。就是说,分配用来对在先前级中被交错的数据进行解交错的存储器(RAM 24)和用来进行ECC译码的存储器(RAM26、28和30),使得对于每一扇区地来说扇区地址位于前端,以便检测扇区地址。这样一来,就从存储器读出的再现数据中检测到扇区地址,并把其作为在系统控制器4对光盘2进行访问时的位置信息。
实际上,环形缓冲器控制电路11利用系统控制器4设定的所需扇区地址来比较并确定被检测的扇区地址。如果被检测的扇区地址与所需扇区地址一致,就把已在ECC电路8中被进行了ECC译码的ECC译码数据S10写入环形缓冲存储器10。
在这种ECC译码方法中,考虑了ECC的交错,在光盘访问时检测到了在该扇区之前几个扇区的一个扇区之后,就写入EFM+解调的再现数据,使得用于进行ECC译码的存储器的开始帧相应于扇区的前端,然后执行ECC译码以便把被译码数据写入环形缓冲存储器10。
在对交错编码数据进行译码的情况下,进行ECC译码所需的时间的时间延迟出现在系统控制器4对光盘进行访问时对扇区地址进行识别和在该扇区的数据被进行了ECC译码之后输出该扇区地址这两个时刻之间。因此,存在这样的问题,即由于因时间延迟在光盘访问期间对扇区地址进行识别时扇区没有被ECC译码,所以不能够确定是否确实把ECC译码数据S10写入到环形缓冲存储器10。
另外,在对交错编码数据进行译码的情况下,还存在这样的问题,即由于分别需要用于检测所需扇区的存储器和诸如用于进行ECC译码的存储器这样的存储介质,所以存储器的容量变得相当大。
还有,为了识别扇区,解交错数据首先被写入RAM24,该RAM24是在任意扇区单元进行译码时所用的存储器。此时,存储从光盘2读出的再现数据,以使扇区的前端相应于存储器的前端,所以存储器的容量必需是扇区容量的N倍。
再则,在把数据写入环形缓冲存储器10的阶段,由于被译码数据的开头不总是扇区的前端,所以必需根据存储在用于ECC译码的存储器(RAM 30)内的ECC译码数据S10再次对所需扇区进行检测。于是除了用于在对光盘进行访问时识别扇区地址的电路外,还必需提供用于识别所需扇区地址的数据的其它电路。这样就出现了电路结构复杂的问题。
考虑到以上所述的一切,本发明的目的是提供能够减少用于ECC译码的存储器的容量和能够加快对所需扇区的访问的数据译码设备及方法以及数据再现设备。
通过提供对被记录在记录介质上的编码数据进行译码的数据译码设备实现了本发明的上述目的和其它目的。该数据译码设备包括译码时使用的用于存储编码数据和存储译码该编码数据而得的译码数据的存储器;检测要从在对编码数据译码的过程中产生的译码数据中读出的数据的数据信息的数据信息检测电路;存储该数据信息的数据信息存储装置;以及根据该数据信息控制译码数据的输出的数据输出控制电路。
此外,根据本发明,在译码被记录在记录介质上的编码数据的数据译码方法中,从记录介质读出的编码数据存储在译码所用的存储器内,根据在译码待存储的编码数据的过程中产生的译码数据来检测待读出数据的数据信息,以及根据该数据信息控制译码数据的输出。
这样一来,在译码被记录在记录介质上的编码数据的过程中,检测了待读出数据的数据信息并将其存储在数据信息存储装置内,由此能够根据与编码数据的译码无关的数据信息控制译码数据的输出。
还有,根据本发明,读出和再现作为被记录在记录介质上的编码数据的视频信号及音频信号的数据再现设备包括数据译码设备,该数据译码设备具有译码时使用的用于存储编码数据和存储译码该编码数据而得的译码数据的存储器;检测要从在对编码数据译码的过程中产生的译码数据中读出的数据的数据信息的数据信息检测电路;存储该数据信息的数据信息存储装置;以及根据与编码数据的译码无关的数据信息来控制译码数据的输出的数据输出控制电路。
这样一来,在译码被记录在记录介质上的编码数据的过程中,检测了待读出数据的数据信息并将其存储在数据信息存储装置内,由此能够根据与编码数据的译码无关的数据信息来控制译码数据的输出,于是能够加速编码数据的再现。
参看附图阅读以下详细描述将使本发明的性质、原理和实用性变得更为清楚,附图中相同的部分用相同的标号或字符来表示。
图1是表示普通数据译码设备的方框图;图2是表示图1的ECC电路的方框图;图3至6是说明图2中的ECC电路所执行的数据译码的表;图7是表示第一实施例的数据再现设备的总体结构的方框图;图8是表示图7中的ECC电路的结构的方框图;图9是表示图7中的解调电路和扇区检测电路以及ECC电路的连接的方框图10是描述存储在图8中的RAM内的数据的表;图11是说明由图8中的ECC电路执行的ECC结果的示意图;图12是说明由图8中的ECC电路执行的执行控制的时序图;图13说明由图8中的ECC电路执行的差错输出的时序图;图14是说明对图8中的ECC电路的RAM进行访问的表;图15是说明对8的ECC电路的RAM进行访问的优先级的图表;图16A和16B是表示再现数据的帧结构的示意图;图17是说明解调数据的扇区格式的示意图;图18是表示扇区信息的表;图19A和19B是表示扇区地址设定的时序图;图20至26是说明扇区检测和数据输出的时序图;图27是表示第二实施例的扇区数据结构的示意图;图28是表示第二实施例的ECC块结构的示意图;图29是表示第二实施例的PO校验码的交错(补码)的示意图;图30是表示第二实施例的在EFM调制之前的32KB数据块结构的示意图;图31是表示第二实施例的调制电路系统的结构的方框图;图32是表示第二实施例的在EFM调制之前的物理扇区结构的示意图;图33是表示第二实施例的扇区数据结构的示意图;图34是说明在第二实施例中如何把数据存储在RAM内的示意图;图35A至35F表示第二实施例的信号波形,说明EFM解调输出向RAM的写入;图36是表示第二实施例的锁定检测过程的流程图;图37是表示第二实施例SCSY信号产生过程的流程图;图38是表示第二实施例的主FMSY信号产生过程的流程图;图39A至39H表示第二实施例的信号波形,说明块顶部检测操作;图40A至40H表示第二实施例的信号波形,说明在块顶部检测之后执行的处理;图41A至41F表示第二实施例的信号波形,说明SUB转换操作;图42是表示第二实施例的扇区信息结构的示意图;图43A至43B是说明第二实施例的扇区地址设定的时序图44是说明第二实施例的IEC连续性检测和确定过程的流程图;图45是表示第二实施例的ID(地址)连续性确定过程的流程图;图46是表示第二实施例的SALK产生过程的流程图;图47A至47D以及48A至48I表示第二实施例的信号波形,说明纠错操作。
图49A至49E、50A至50E以及51A至51E是说明第二实施例的ECC处理控制操作的时序图;图52是表示在第二实施例中RAM控制器如何执行ECC处理的流程图;图53是表示第二实施例的纠错电路系统结构的方框图;图54是表示第二实施例的纠错结果的表;图55A至55G表示第二实施例的信号波形,说明总线仲裁;图56是表示第二实施例的在一个ECC块的纠正期间对RAM的访问次数的表;图57A至57F表示第二实施例的信号波形,说明纠错结果的输出;图58是说明第二实施例的扇区数据输出的流程图。
以下将参看附图描述本发明的最佳实施例(1)第一实施例(1-1)数据再现设备的总体结构图7中的与图1的部件相同的部件用相同的标号来表示,40表示使用本发明的数据译码设备的数据再现设备的总体结构。数据再现设备40通过利用激光束照射光盘2以从反射光束中读出记录数据来以可变速率再现记录在光盘2上的图像数据和语音数据。拾取头3再现的再现信号S1传送给被系统控制器4控制的解调/译码电路系统35内的解调电路6。解调电路6解调再现信号S1并将其输出给扇区检测电路7。
扇区检测电路7从所提供的数据中检测为每一扇区记录的地址并将其输出给环形缓冲器控制电路11,同时与扇区数据同步地把该数据输出给在环形缓冲器控制电路之外的ECC电路50。系统控制器4控制的环形缓冲器控制电路11控制对环形缓冲存储器10的写和读并监视对多路复用数据分离电路13输出的数据的代码请求信号R10。
如果扇区检测电路7没有检测到地址或检测到的地址不是连续的,它就通过环形缓冲器控制电路11把扇区号差错信号输出给轨迹转移确定电路9。
ECC电路50检测扇区检测电路7提供的数据的差错、利用数据所包含的冗余位纠正这些差错并将它们输出给具有FIFO(先进先出)功能的用于轨迹转移的环形缓冲存储器10。环形缓冲存储器10内的数据提供给多路复用数据分离电路13。此时,ECC电路50检测扇区标题数据并通过扇区检测电路7将其传送给系统控制器4。
如果ECC电路50未能纠正数据的差错,它就向系统控制器4输出差错信号。
轨迹转移确定电路9监视环形缓冲器控制电路11的输出,当需要进行轨迹转移时,就把轨迹转移信号JP1输出给跟踪伺服电路22,以便允许拾取头3的再现位置相对于光盘2进行轨迹转移。一旦检测到来自扇区检测电路7的扇区号数差错信号或来自ECC电路50的差错信号,系统控制器4就让轨迹转移检测电路9向跟踪伺服电路22输出轨迹转移信号,实现拾取头3的再现位置的轨迹转移。
多路复用数据分离电路13内的标题分离电路14从环形缓冲存储器10提供的数据中分离小数据包标题和数据包标题,把它们提供给分离电路控制电路15,与此同时,把时分多路复用信号提供给开关电路16的输入端G。开关电路16的输出端(切换端)H1和H2分别与视频代码缓冲器17和音频代码缓冲器19的输入端连接。
当开关电路16将输出端切换至H1时,视频代码输出就经由视频代码缓冲器17传送给视频译码器18,然后从输出端OUT1输出。此外,当开关电路16将输出端切换至H2时,音频代码输出就经由音频代码缓冲器19传送给音频译码器19,然后从输出端OUT2输出。
此外,视频译码器18产生的代码请求信号R1输入给视频代码缓冲器17,然后再输入给多路复用数据分离电路13。
例如,如果视频译码器18每单位时间使用的数据量因对简单屏幕不断的数据处理而减少,则环形缓冲存储器10的读出量就减少。在这种情况下,存储在环形缓冲存储器10内的数据量就增大,会出现溢出。轨迹转移检测电路9于是根据写指针WP和读指针RP计算当前存储在环形缓冲存储器10内的数据量,如果数据量超过预定值,就认为环形缓冲存储器10会溢出,向跟踪伺服电路22输出轨迹转移指令。
一旦检测到来自扇区检测电路7的扇区号差错信号或来自ECC电路50的差错信号,轨迹转移确定电路9就根据写指针WP和读指针RP确定环形缓冲存储器剩余的数据量,还确定在光盘2从当前轨迹位置转过一圈之前多路复用数据分离电路13完成从环形缓冲存储器10的读出所需的数据量(在等待光盘2旋转一圈的时候)。
如果大量数据剩余在环形缓冲器10内,则即使以最高传送速率从存储器10读出数据,该存储器10也不会下溢。于是轨迹转移确定电路9认为通过利用拾取头3再次试图再现出现差错的位置就能够执行差错恢复,并向跟踪伺服电路22输出轨迹转移指令。(1-2)ECC电路ECC译码图8所示的ECC电路译码包括C1/C2卷积里-所罗门码(CIRC Plus)的ECC。ECC电路50包括由环形缓冲存储器组成的RAM(随机存取存储器)51、纠正EFM+解调数据的差错以便对其进行ECC译码的ECC译码器52、以及存有不可纠正差错标记、纠错样式和差错位置的差错寄存器53。
如图8和9所示,通过利用RF处理电路42向从光盘2读出的再现信号S1施加RF和二进制处理、然后通过利用解调电路44检测EFM+同步模式来进行ECC译码。
一旦检测到EFM+同步模式,CLV控制电路46就允许粗伺服机构工作。然后,一旦解调电路44检测到EFM+同步模式,PLLC(锁相环)伺服机构就被允许工作。一旦随后连续地检测到几个同步模式,就通过RMIF(随机存取存储器接口)48以帧为单位地把EFM+解调数据S2写入ECC电路50的RAM 51。然后通过OCTL(输出控制电路)56把数据输出给环形缓冲存储器10。
ECC电路50通过RMIF 48产生RAM 51的写地址。从RAM 51读出的数据通过RMIF 48传送给ECC控制部分54和ECC译码部分55。
如果检测到差错并发现是不可纠正的,CEE译码部分55就把差错位置和纠错样式输出给ECC控制部分54。在这种情况下,为RAM 51的每一帧输出差错位置和纠错图样并把它们存储在差错寄存器53内(图8)。差错的纠正是通过从差错寄存器53读出差错位置和纠正图样、从RAM 51读出相应于差错位置的错误数据、将错误数据与纠正样式进行异或逻辑加(EXOR)并将结果写回RAM51来完成的。
如果检测到不可纠正的差错,就把该帧的不可纠正差错标记存储在差错寄存器53内,以便在随后的电路内执行ECC删除纠正。
因此,对于ECC数据的C11、C2和C12序列的每一个,在差错寄存器53内累积了差错位置和纠正样式作为译码ECC所需的数据。一旦获得了译码ECC所需和足以进行ECC译码的若干差错位置和纠正样式,ECC控制部分54就在它们和存储在RAM 51内的数据之间执行纠错。
可以利用C1数据序列的次序Dn、C1代码单元内的帧号Fn和以下公式根据如图10所示已被写入RAM 51的数据来确定数据存储地址RA。[公式1]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)[公式2](Dn=00)“与”(00<Dn<80)RA=[(Fna)×80]+Dn[60]…(2)[公式3][Dn=80]“与”(AD<Dn<AD)RA=[(Fna+18)×20]+Dn[40] …(3)[公式4](Dn=AD)“与”(80<Dn<AF)RA=[(Fna+BA-100)×10]+Dn[30] …(4)此时,RMIF 48把三个C11、C2和C12序列的ECC译码的结果写入包括在RAM 51内的各个序列的标题数据的帧内的任何地址AA、AB、AC、AD、AE和AF。例如,如果ECC译码结果写入AA、AB和AC,就能够容易地利用帧计数值Fn和数据次序AA、AB和AC产生与三个序列C11、C2和C12的ECC译码结果一致的RAM 51的存储器地址。
在数据再现设备40内,要求获得一定的数据量来保证从环形缓冲存储器10读出至多路复用数据分离电路13。所以设置了RFCK以便在光盘再现时通道位速率的值大于在光盘记录时基准通道位速率26.6Mb/s的值(刻纹)。
例如,如图11所示,当对RAM 51的帧182执行EFM+写(EFM+写)时,C11数据序列按照次序00、02、......、A9同时被传送给ECC译码器52(C11读)。C2数据序列随后被传送给ECC译码器52(C2读),再接着C12数据序列被传送给ECC译码器(C12读)。C11、C2和C12数据序列已被进行了ECC译码的帧1被传送给OCTL 56(输出)。以固定的时间隔不断地执行C11、C2和C12的ECC数据序列的传送。就是说,利用包括1168个基本周期的一个RFCK周期,一旦启动了170字节的代码长度的ECC的传送,就保证了在RFCK周期内完成三次传送。
在一个RFCK周期内把存储在RAM 51内的数据S2的三个C11、C2和C12序列传送给ECC译码器52。在这种情况下,RAM 51内的ECC数据原样保留在RAM 51内。如果ECC译码器52检测到ECC差错并发现是可纠正的,就把差错位置和纠错样式传送给差错寄存器53作为差错结果ER。ECC电路50对从差错寄存器53读出的纠正样式和根据差错位置从RAM 51读出的差错数据进行“异或”逻辑相加(EXOR),把结果写回RAM 51。
彼此分离开的译码数据S10和扇区标题数据SH从ECC电路50被分别传送给环形缓冲存储器10和扇区检测电路7。
图12表示RAM 51内的ECC数据的C11、C2和C12序列的实际传送、差错结果输出和纠错的执行控制时序。ECC控制部分54在ECC数据的C12序列已被传送给ECC译码部分55之后纠正C11数据序列中的差错(C11W)。在下一帧中的C11数据序列已从RAM51被传送给ECC译码器52之后,ECC控制部分纠正当前帧中的C2数据序列中的差错(C2W)。此外,在下一帧中的C2数据序列已被传送之后,ECC控制部分纠正当前帧中的C12数据序列中的差错(C12W)。
这样一来,三个ECC数据序列不断地从RAM 51被传送给ECC译码部分55(C11R、C2R和C12R),然后被进行三个数据序列的ECC纠错(C11W、C2W和C 12W),所以ECC数据读出和纠错都能够在一个RFCK周期内被执行。结果是能够以相对于RFCK固定的时间间隔不断地从RAM51输出ECC数据的C11、C2和C12序列的每一个序列。
当ECC传送代码长度NCYC是170个基本周期和校验代码长度最大是14个基本周期时,就利用以下公式把差错结果被输出给ECC寄存器的时间间隔设定为ECC操作时钟(ECCK)的395个基本周期。[公式5]2×NCYC+3×PCYC+13=2×170+3×14+13=395其中NCYC代码长度(170)RCYC校验码长度(最长14)…(5)ECC电路50中的RMIF 48在对应于C1和C2数据序列的若干个符号期间对ECCK计数,以便与C11R、C2R和C12R数据传送同步地在一个RFCK周期内完成三次输出。这样就保证了在C12数据序列传送期间输出C11序列的结果。还保证了在C11和C2数据序列传送期间输出C2和C12序列的结果。
图13表示ECC电路50的差错输出的时序。如果用作ECC结果的输出定时的OSTT信号在395个ECCK基本周期(由公式5来获得)之后被输出,则在OSTT信号后三个时钟OCORRECT=1,差错样式EDX和差错位置EAX被输出给ODATA[70]和OORIG[70]。这一实例示出三个差错ED0至ED2的输出。ECC开始脉冲信号ESTT是ECC译码部分55利用其来识别C1和C2数据的头部的信号,而OCORRECT信号是用来获得ECC结果ODATA[70]和OORIG[70]的选通信号。
差错样式EDX和差错位置EAX保存在差错寄存器53内,在已完成了当前数据向ECC译码器52的传送之后进行纠错。
图14表示在一个帧(RFCK)周期内ECC操作时钟(ECCK)的数目,即为EFM+、C11、C2、C12和OUT的每一个而访问RAM 51所需的1168个基本周期。EFM+需要一个基本周期写入扇区同步模式和170±α个基本周期用于EFM+解调输出。ECC C11序列需要170个基本周期读出C11数据、8+8个基本周期纠正C11数据的差错以及一个基本周期写入C11数据,在SUB中还需要一个基本周期读出扇区同步模式、20个基本周期读出标题数据以及1+(14)个基本周期写入扇区信息。
ECC C2序列需要170个基本周期读出C2数据、14+14个基本周期纠正C2数据的差错以及一个基本周期写入C2数据。ECC C12序列需要170个基本周期读出C12数据、8+8个基本周期纠正C12数据的差错以及一个基本周期写入C12数据。此外,表示ECC译码结束的OUT需要一个基本周期读出扇区信息、一个基本周期读出C11数据的纠正结果、一个基本周期读出C2数据的纠正结果、一个基本周期读出C12数据的纠正结果以及170个基本周期用于OUT。在C11、C2、C12以及OUT中对RAM 51的存取于是总数其为948个基本周期。
读标题数据、把同步代码(4字节)+标题数据(16字节)传送给扇区检测电路7、然后从标题数据提取扇区地址的SUB执行CRC、执行飞轮(FW)操作并把其传送给系统控制器。系统控制器4利用仅从如图12所示在C11W之后被进行ECC译码的C11数据序列数据(SUB)的数据中提取扇区标题地址数据的扇区检测电路7获得扇区地址,由此在光盘上的位置信息的获得提前了一段对C2和C12序列进行ECC译码所需的时间。
飞轮操作是即使若干次没有检测到同步也能够保持锁定的保护和内插。系统控制器4确定是否所需的扇区。当连续检测到从RF信号获得的二进制信号的几个同步模式、尤其是连续检测到几个主和副同步模式时,飞轮操作就施加FW锁定。
以下公式表示写入存储器地址和RAM 51和从存储器地址和RAM 51读出的帧单元操作(JOB)的执行条件。[公式6]SUB被包括在C11内C11的执行条件Fn(EFM+)-Fn(C11)>1…(6)[公式7]C2的执行条件Fn(C11)-Fn(C2)>169 …(7)[公式8]C12的执行条件Fn(C2)-Fn(C12)>0 …(8)[公式9]OUT的执行条件 Fn(C12)-Fn(OUT)>0 …(9)如果把JOBXXX的帧计数值称为Fn(XXX),则当帧单元XXX的所有JOB都已结束时它就递增1。假定SUB被包括在C11序列内。
在EFM+中,当连续几次检测到同步信号,就锁定同步模式FW。此时,存储器写允许信号MWENS变为“1”,开始写入EFM+解调数据。当连续几次没有检测到同步信号时,就解锁同步模式FW,存储器写允许信号MWENS变为“0”以禁止EFM+写,并将每一个帧计数器复位为零。MWENS是存储器写允许信号,在同步模式FW被锁定时它是“1”,在“1”状态,它执行存储器写入。
图15表示例如当被译码数据的输出OUT每4个C11M周期输出一个请求OUTREQ和当能够按照OUTREQ、EFMREQ和ECCREQ的顺序进行存取时存取RAM 51的定时。当XXXACK(ACKnowleclge(确认))=1时执行预定JOB。ECC数据输出在RFCK的上升沿处被启动并根据JOB执行条件被执行。按照C11R、C2W、C2R、C12W、C12R、C11W和SUB的顺序执行ECC数据的C11、C2和C12序列以及SUB的读和写。
因此,在C11、C2和C12序列以及OUT期间,只要同步FW被锁定、MWENS=1的状态被保持以及每一JOB的执行条件得到满足,就相对于RECK周期固定了计数值Fn(C11)至Fn(OUT)之间的差值。
应用了本发明的数据译码设备40需要保证把环形缓冲器10读出至多路复用数据分离电路13的一定量数据。RFCK于是设定了在再现期间比在光盘记录(刻纹)期间的基准通道位速率26.6Mb/s大的通道位速率。(1-3)扇区检测下面利用图16A和16B至18来描述光盘2的所需扇区的检测和扇区信息的产生。图16A和16B表示帧结构的具体内容和从光盘2读出的再现数据的同步字。如图16B所示,同步字由附加同步S1、C1同步S2和扇区同步S3组成。图17表示解交错之后的扇区格式。
一旦扇区检测电路7检测到同步模式(S1至S3),则在同步模式FW被锁定、然后在扇区标题SH(HEADER)施加了扇区FW之后,就检测到扇区地址SA(ADDRESS)并锁定扇区地址FW。
以下说明图18所示扇区信息中的各位数据。位7表示是否有扇区同步模式S3的检测结果,在检测到扇区同步模式S3的帧中置“1”。位6表示是否有同步代码的检测结果,在由扇区检测电路7在扇区前端的同步代码位置处检测到专门代码“HDCD”的帧中置“1”。位5表示扇区同步的认可,在由扇区检测电路7利用扇区同步模式S3和扇区同步代码SC最后确定为扇区同步并成为内插扇区同步的帧中置“1”。
位4表示CRC校验结果,作为计算各扇区CRC的结果,如果没有检测到差错,就在该位写入“0”。
位3表示C1序列的ECC译码结果,如果没有检测到差错,就置为“0”。作为来自RMIF 48的C11序列的ECC译码的结果,表示数据是否不可纠正的标记被扇区检测电路7检测并被写入位3。
位2表示扇区地址SA的连续性。当当前读出的扇区地址(原始扇区地址RSA)和存储在扇区检测电路7内的扇区地址(当前扇区地址CSA)相同时(实际上是把RSA与前一扇区CSA+1作比较),就认为扇区具有连续性,位2=1。
位1表示开始扇区地址BSA的检测结果,一旦检测到地址BSA就置为“1”。位0表示结束扇区地址ESA的检测结果,一旦检测到地址ESA就置为“1”。
在实际扇区检测中,如图19A所示,系统控制器4利用扇区检测电路7给寄存器(未示出)设定BSA设定模式SACT=1(图25),并设定所需扇区的前端地址BSA和该扇区的结束地址ESA。然后,扇区检测电路7从寄存器(未示出)的再现数据中将它们取出并将它们与锁定了扇区地址FW的扇区地址作比较。一旦确认由比较结果发现的扇区地址就是所需地址,就把比较结果作为扇区信息(位0和1)写入RAM 51。
在SACT=1的情况下,可从帧M输出数据(图24)。但是,在利用扇区地址执行解扰初始化的情况下,必须在初始化之前取出用于解扰的输出扇区地址。该输出扇区地址利用扇区信息的地址连续性进行保护。
此外,把扇区信息与已被ECC电路50进行了ECC译码的数据S10一起输出给OCTL 56,并用其来控制ECC译码数据的数据输出OUT。此时,系统控制器4使光盘访问位置转移轨迹至光盘2的所需扇区之前的位置,把ECC的交错考虑进去。
此外,如果系统控制器4在此时没有规定所需的扇区,就可以通过设定SACT=0在读出ECC译码数据的时刻之后输出数据。
对于每一帧,把是否有扇区信息的位7的扇区同步模式S3的检测结果连同在EFM+解调电路44进行EFM+解调时从再现数据检测的EFM+解调数据一起写入RAM 51,并把该检测结果与标题数据SH一起传送给扇区检测电路7。扇区检测电路7利用表示在每帧中是否有扇区同步模式S3的检测结果来识别光盘2的扇区。此时,一旦光盘2的扇区被扇区检测电路7识别,就从该扇区的标题数据SH中取出扇区地址SA。
在扇区检测电路7中,通过自适应地利用标题数据SH的CRC校验结果、地址连续性以及扇区帧的C1序列的ECC译码结果等对扇区地址SA执行飞轮FW操作。在系统控制器4中,把执行飞轮FW操作来得到保护的、处于扇区地址FW锁定状态的扇区地址SA取出并将其作为光盘2的位置信息ADD来使用。
OCTL 56访问扇区信息的位0和位1。当扇区信息的位1是“1”而位0是“0”时,即当检测到从扇区地址BSA至ESA的扇区时,就可输出系统控制器4所需扇区的数据。如果没有规定扇区地址ESA,位0就保持“0”。在保持位0为“0”期间,ECC译码数据被继续输出给环形缓冲存储器10。这时,例如可以通过利用设置在OCTL 56的数据输出控制寄存器(未示出)来控制数据的输出,而不管位0和位1的状态。
在这种情况下,如图19B所示,除在轨迹转移时刻外,还可以在轨迹转移之后由系统控制器4再次设定开始扇区地址BSA和结束扇区地址ESA。例如,在快进操作时跳过不必要的数据的情况下,在接近光盘的存取位置时,可以在识别了当前扇区地址SA之后再设定扇区地址BSA和ESA。从而,不进行轨迹转移也能够从扇区地址BSA输出数据。
图20表示从锁定同步模式(S1至S3)至读出扇区地址和输出数据的时间关系。在系统控制器4对光盘访问位置进行了轨迹转移之后,一旦在开始EFM+调制之后锁定了同步模式(S1至S3),同步模式锁定SYLK变为“1”。然后所需扇区的扇区地址SA被飞轮FW锁定(当SALK=1时)。然后当ECC译码的C11执行帧大于170时,STOK=1,并可在ECC译码之后输出在这一数据之后的数据。
实际上,在对于包括STOK=1的定时的抖动在内的约173帧期间执行了C2序列的ECC译码之后,在检测到开始扇区地址BSA的时刻把ECC译码数据的有效数据输出给环形缓冲存储器10的下一级的数据选通信号DSTB中,DSTB=1,并开始输出ECC译码数据S10的有效数据。
根据上述结构,在检测实际扇区和数据的输出时,在允许信号“被锁存的MWEN”的状态为“1”(这使EFM+解调数据成为可写入的)的情况下,扇区检测电路7在C11执行之后如图21箭头所示的时刻分析在帧的扇区信息中是否有位7的扇区同步模式、以及是否有同步代码字SC和标题数据SH的数据,然后开始对扇区地址SA的读操作。读出帧时钟RFCK的周期由以下公式得到。[公式10]RFCK(1/11.2896M)×1168=103.45805微秒 …(10)然后,如图22所示,例如,当扇区信息中的位6和7都是“1”的扇区判定条件被满足以及扇区FW被锁定时,检测扇区前端的帧(三个帧)。此外,一旦确认扇区地址的连续性是正确的,则扇区地址SA的判定条件就得到满足,并且扇区地址FW被锁定(三个帧)。结果,SALK在如图中箭头所示的时刻变为“1”(考虑到诸如抖动这样的约一帧的裕度)。如果SALK=1,系统控制器4能够读出FW被锁定的扇区地址。此时,C11序列的ECC译码的帧计数Fn(C11),N用以下公式来表示。[公式11]N=(3+3+1)×14帧…(11)然后,如图23所示,在C11序列的ECC译码的第170个帧之后,当C11、C2和C12序列的ECC译码都被执行和RMIF 48确认某一帧是一要被输出的帧时,则STOK=1,并且在SUB的时间告知扇区检测电路7输出是可能的。
然后,如图24所示,当开始扇区地址BSA在帧M的扇区前端中被检测到时,如果STOK=1,则由于帧M被进行了ECC译码和可被输出,所以扇区信息中的位1被置为“1”,就是说,检测到了是扇区的前端地址的扇区地址BSA,把将为“1”的信号ISTT置为“1”,在结束SUB的时刻扇区信息中的位7至位0从RMIF 48写回RAM 51。此时,当在检测开始扇区地址BSA期间STOK=0时,系统控制器4就认为出错,并且例如从在以前位置之前的一位置处再访问光盘2。
如图25所示,当设定了扇区地址BSA并且SACT变为“1”时,数据选通信号DSTB变为“1”,并可以从帧M按顺序输出ECC译码数据Fn(OUT)(图中箭头所示)。但是,在利用扇区地址SA执行解扰的初始化的情况下,需要预先提取解扰用的输出扇区地址SA。把由扇区信息的地址连续性保护的输出扇区地址SA作为输出扇区地址来使用。
如图26所示,在没有设定扇区地址BSA和ESA的SACT=0的情况下,可以在第170个帧之后从扇区的前端输出数据(图中箭头所示)。因为解扰用的输出扇区地址SA是必需的,所以不能输出第170个帧。所以,等待了最大一个扇区的时间来读取输出扇区地址SA。当利用输出扇区地址SA执行解扰初始化时,DSTB变为“1”,并开始向环形缓冲存储器10的输出。
如此就利用扇区信息检测了扇区并能够控制所需扇区的数据的输出。因此,在RAM 51内设立了用于扇区信息的小存储区,于是能够利用扇区信息保证对所需扇区数据的存取,并能够控制数据的输出而不增加ECC译码所需的存储器。
根据上述结构,在RAM 51内设立了存储检测扇区所用的扇区信息的小区域,以便在ECC电路50中进行译码,这样一来,即使被ECC电路50译码的编码数据是被交错的,也能够利用仅用于ECC译码的存储器容量来执行ECC译码而不需要为扇区检测提供其它存储器。
还有,根据上述实施例,能够利用扇区检测电路7产生的扇区信息和RMIF 48产生的STOK信号,在结束C11序列的ECC译码的时刻判断是否可将数据输出给环形缓冲器10的下一级。于是,系统控制器4能够在识别光盘存取的扇区地址SA的时刻判断是否可立即把扇区数据写入环形缓冲存储器10的下一级,对扇区数据的存取可迅速和可靠地被执行。
再则,根据上述实施例,系统控制器4能够在识别光盘存取的扇区地址SA的OCCRRECT=1时刻(图13)判断是否可将数据输出给环形缓冲存储器10,所以不需要另外提供从存储在RAM 51内的ECC译码数据中检测扇区地址SA的电路,这样就能够简化电路的整个结构。(2)第二实施例(2-1)记录数据格式图27至30表示第二实施例的记录数据格式,在其中数据以一簇(32Kb)作为单元进行记录。以下将详细描述该簇的结构。
两KB(2060字节)的数据作为一个扇区被提取,如图17所示地向其增加4字节的额外开销。这一额外开销包括检测差错的检错码(EDC)。
如图28所示,相应于一个扇区的2064(=2060+4)字节的数据作为12×172(2064)字节的数据来构成。16个数据扇区作为192(=12×16)×172字节的数据来聚集和构成。为沿垂直(列)方向的每一字节给192×172字节的数据增加16字节的外码(PO)作为校验码,为沿水平(行)方向的每一字节给208(=192+16)×172字节的数据和PO校验码增加10字节的内码(PI)作为校验码。
此外,在分块成208(=192+16)×182(=172+10)字节的数据中,16×182字节的外码(PO)行被分成1×182字节的16行,每一行插在各包括12×182字节的16个扇区数据的每一个之下,从0编号至15并被交错,如图29所示。于是一个扇区数据包括13(=12+1)×182字节。
图29所示的208×182字节数据如图30所示地垂直一分为二。把91字节作为1帧来对待,全部数据由208×2帧构成。再给91字节的帧数据的开头增加2字节的帧同步信号(FS)。结果是一帧的数据总数是93字节,全部数据是208×(93×2)字节,如图24所示。这是一个数据族(一个ECC块)。除额外开销部分的实际数据部分的大小是2千字节(=2048×16/1024千字节)。
就是说,在这种情况下,一簇(一个ECC块)由16个扇区组成,一个扇区由24帧组成。这样的数据成簇地被记录在光盘2上。(2-2)数据再现设备和ECC译码图31详细表示当把第二实施例的记录数据格式应用于第一实施例的数据再现设备40时使用的解调电路系统35的结构。解调电路系统35包括解调电路6(RF处理电路130和EFM+解调电路131)、扇区检测电路7(SBCD电路134、RAM控制器135和RAM137)、ECC电路50(RAM控制器135、ECC控制电路136、RAM137、ECC核心电路138和OCTL电路139)、以及外围电路。
在该图中,RF处理电路130接收来自图7所示拾取头3的RF信号的输入、将其变换为二进制信号和把其输出给EFM+解调电路131。EFM+解调电路131在检测同步模式的时候对输入信号施加EFM+解调。CLV控制电路132根据EFM+解调电路131输出的同步模式控制驱动接口(以后简称为“驱动IF”)133。SBCD(子代码)电路134根据EFM+解调电路131的输出检测扇区。RAM控制器135相当于图9的RMIF 48,它控制对RAM137的读写。
RAM 137暂存ECC控制电路136纠错时的数据。ECC核心电路138相当于图9的ECC译码部分55,利用里德-所罗门码(PI和PO)产生ECA、ECD和SGLG,并将它们输出给ECC控制电路136。ECC控制电路136利用ECC核心电路138提供的ECA、ECD和SFLG来实际纠错。OCTL电路139执行解扰、EDC和对输出数据的控制。主CPU 140相当于图7的系统控制器4,它控制设备的每个部分。
光盘2(图7)的再现信号被RF处理电路130变换为二进制值。EFM+解调电路131然后从该二进制值的信号中检测同步模式。在该同步模式的基础上,CLV控制电路132允许粗伺服机构对数据起作用,以进一步检测其内的同步代码(图32的SY0至SY7),还允许PLL(锁相环)相位伺服机构通过驱动接口133对光盘2的旋转起作用。
图32表示光盘2物理扇区结构的一个例子。如图所示,物理扇区包括26个同步帧两个水平同步帧和13个垂直同步帧。各同步帧由32个通道位的同步代码(SY0至SY7)(如果用调制之前的数据位来表示,就是16个位(=2字节))和1456个通道位(如果用调制之前的数据位来表示,就是728个位(=91字节))的数据部分组成。领先的同步帧的数据部分ID包含ID信息(扇区号)、IED(ID的检错码)信息和主数据(main data)。
32个通道位的同步模式的低22个位被定为“0001000000000000010001”,它是不在数据中出现的唯一的模式。
图32左侧的各同步帧的数据部分记录有主数据,该图左侧的最后的同步帧的数据部分记录有PO(校验码)信息。图32右侧的同步帧记录有主数据和PI信息,该图右侧的倒数第二个同步帧记录有EDC和PI(校验码)信息,最后的同步帧记录有PO和PI信息。
图33表示各扇区内不包括PI和PO信息的数据的详情。一个扇区内的数据包括ID(扇区号)(4字节)、IED(ID的检错码(2字节))、RSV(保留区)(6字节)、主数据、EDC(4字节)。主数据被加扰。
16个这种数据扇区集合在一起,如图28所示给它们增加16字节的PO码和10字节的PI码。PO码在16个行中进行交错,以便位于各数据扇区内。如图30所示地给如此获得的数据增加用同步码SYx(x=0,1,2,......,7)表示的FS(帧同步)码,然后对其进行EFM+解调。这就如图32所示地使ECC块的物理扇区由13×2个同步帧组成。由于一个ECC块由16个扇区组成,所以物理扇区地址的低4位是0000至1111之一。因此ECC块的领先扇区的物理地址的低4位是0000。
通过对主数据和利用由物理扇区地址的低4至7位确定的值作为初始值产生的加扰数据进行“异或”逻辑运算加扰主数据。
各种符号被用来表示各个信号,各种符号的意义如下块顶部(块顶部)当SYLK信号是H时,该信号在扇区的开头变成H(高)。C11M(时钟11.2896兆赫)频率为11.2896兆赫的系统操作时钟。DSTB(数据选通)在主数据正在作为流数据SD被输出时是H的数据选通信号。ECA(ERR纠正地址)表示差错位置(地址的纠错地址)。ECCK(ECC时钟)ECC核心电路138的操作时钟。ECD(纠错数据)当与错误数据进行“异或”逻辑运算时成为正确数据的纠错数据。ECDE(ECC代码数据结束)表示输入数据结束的控制器信号。ECOD(ECC代码ERR)该信号在差错被发现是不可纠正的时是H。ECOR(ECC纠正)表示带有可纠正数据(ECA,ECD)的数据的输出的选通信号。ECYE(ECC基本周期结束)表示输入代码数据的基本周期结束的控制器信号。EDT(ECC数据)从RAM 137读出并被传送给ECC控制电路进行纠错的数据。ESTB(差错选通)在纠错结果ER传送期间是H的纠错结果选通信号。ESTT(ECC开始)表示输入数据的开头的控制器信号。EFM+W帧(EFW+写帧计数器)。
该信号代表要被写入RAM 137的主帧。HDEN(标题数据允许)扇区标题数据的选通信号。主-FMSY(主帧同步)该信号在每一PI行的主同步(领先的同步)处是H。MWEN(存储器写允许)该信号使EFM+解调数据可被写入RAM 137。MWRQ(EFM写请求)该信号请求把EFM+解调数据写入RAM 137。OUTE(输出标记)内插(输出标记)。OSTT(ECC输出开始)该信号是在规定的代码序列中的ESTT之后477个ECCK后输出。RDT(读数据)连接到RAM 137的读数据总线上的数据。SALK(扇区地址锁定)该信号表示各扇区地址(ID)已被正确检测。SAUL(扇区地址未锁定)极性与SALK信号相反的信号。SCSY(扇区同步)该信号在SY0帧处变为H,以指出扇区的开始。SD(流数据)流数据(译码输出数据)。SDCK(流数据时钟)流数据时钟。SFLG(扇区标记)PI1纠正用的ECC不可纠正标记。SINF(扇区信息)在扇区开头为H的扇区信息选通信号。SUB(SUB数据)传送给SBCD电路134、包括ID和IEC的数据。SYLK(同步锁定)该信号在已连续检测到三个同步码时变成H。SYUL(同步未锁定)
极性与SYLK信号相反的信号。WDT(写数据)连接到RAM 137的写数据总线上的数据。XHWE(扇区标题写允许)该信号允许将要从SBCD电路134写入RAM 137的扇区信息的输出。
如图34所示,EFM+解调电路137(图31)解调的数据在RAM控制器135的控制下被存储在RAM 137内。该图表示一个块ECC块。在读出存储在RAM 137内的数据时,RAM控制器35通过如图34所示地规定行和列的值就能够获得所需数据。就是说,在图34中,通过规定两个值(M,N)就能够从RAM 137中读出节M行的第N个字节的数据(x)。
当SBCD电路134根据同步码的类型和连续性识别记录在光盘2上的数据的扇区的开头时,就以领先的数据开头,把被EFM+解调电路131解调的数据顺序地存储在RAM 137内。图35A至35F表示有关电路的主要部分的信号的定时关系。
EFM+解调电路131如图36所示地检测同步锁定状态。首先在步骤SP1判断是否在各同步帧中已检测到图32所示的同步码(SY0至SY7)。如果已检测到,处理就到达步骤SP2,将变量SClock递增1和将变量SCunlock置为零。变量SClock表示被连续性检测的同步码的个数,而变量SCunlock表示没有连续检测到同步码的次数。
然后在步骤SP3中判断变量SClock是否等于3。即判断是否连续地检测到三个同步码。如果变量SClock小于3,处理就返回步骤SP1,重复后续的处理。如果在步骤SP3确认变量SClock等于3,就认为已启动了同步锁定状态,在步骤SP4中把SYLK信号置为H。在步骤SP5,处理把变量SClock置为2,然后返回步骤SP1,重复后续处理以便再判断是否已连续检测到三个同步码。
但是,如果在步骤SP1没有检测到同步码,处理就到达步骤SP6,将变量SCunlock递增1和将变理SClock置为零。在步骤SP7中判断变量SCunlock是否等于3。即判断同步码的检测是否已连续失败了三次。如果同步码的检测已连续失败了两次,处理就返回步骤SP1,重复后续处理。如果同步码的检测已连续失败了三次,处理就到达步骤SP8,将SYLK信号置为L(低)。处理再到达步骤SP9,将变量SCunlock置为2。如果在下一个同步码产生时刻没有检测到同步码,就将变量SCunlock置为2以保持SYLK信号为L。处理然后返回步骤SP1。
EFM+解调电路131就如此检测了同步码以监视同步是否被锁定。
虽然上述实施例将基准检测或失败的次数定为3,但连续检测次数Nlock的值和连续失败次数Nunlock的值各可被设定为任意值。
这样一来,当SYLK信号变为H时即如上所述启动了锁定状态时,EFM+解调电路131就执行图37流程图所示的处理。在步骤SP21中判断是否已检测到位于各扇区开头的同步码SY0。如果已检测到,处理就到达步骤SP22,在规定的一段时间内把表示扇区开头的SCSY信号置为H。处理然后到达步骤SP23,判断SYLK信号是否已变为L,如果没有(即信号保持H),处理就返回步骤SP21,重复类似的处理。如果在步骤SP21确认没有检测到同步码SY0,就跳过步骤SP22的处理。
如上所述,EFM+解调电路131在图35A所示各扇区的开头处产生了SCSY信号。
此外,当SYLK信号变为H时,EFM+解调电路131就执行图38流程图所示的处理。首先步骤SP31判断是否已检测到主帧(图32的两个水平同步帧统称为“主帧”)中的同步码(示于图32左侧的那些同步码被称为“主帧同步”)。如果已检测到,处理就到达步骤SP32,让EFM+解调电路131产生图35B所示的主FMSY信号。如果在步骤SP31中确认没有检测到主帧同步,就跳过步骤SP32的处理。
处理然后到达步骤SP33,判断SYLK信号是否已变为L。如果没有(即信号保持H),处理就返回步骤SP31,重复后续处理。如果SYLK信号已变为L,就异常中止主FMSY信号的产生。
EFM+解调电路131就如此每一主帧同步周期(图32两个水平同步帧的时间段)地产生了主FMSY信号。
当SCSY信号由EFM+解调电路131输入时,RAM控制器135就如图35D所示地将MWEN信号置为H,允许开始把当前检测的扇区数据写入RAM 137。在这种情况下,RAM控制器135如图35E所示地利用内置的EFM+W帧计数器(未示出)来计数图32所示的主帧。这一计数值表示从主帧的顶部开始的图32所示的递增主帧号。
RAM控制器135还利用内置PI1帧计数器(未示出)来管理如图35F所示传送给RAM 137的主帧号。
当图32所示第一主帧(编号为0的主帧(图32最上行的主帧))的数据被写入RAM 137时,就在RAM控制器135的控制下向ECC控制电路136提供该主帧中的数据。ECC控制电路然后把数据传送给ECC核心电路138以允许该电路纠正差错。即,执行PI1处理。在PI1纠正之后,将数据写回RAM137。
在PI1纠正(第一次PI纠正)之后,RAM控制器135从存储在RAM 137内的编号为0的主帧的数据中读出ID和IED数据(SUB),并利用图35C的编号为0的SUB信号的定时通过数据总线把这一数据传送给SBCD电路134。ID和IED数据如图32所示地只位于各扇区的开头,所以只从编号0的主帧进行这一传送。SBCD电路134然后检测物理扇区的地址(ID)。
被检测的物理扇区的地址的低4位使ECC块的领先扇区得到检测。
图39A至39H是表示跟在ID传送之后的块顶部检测的时序图。而图40A至40H表示在块顶部检测之后的处理。这些操作描述如下。
图41A至41F是更详细地表示ID传送的定时的时序图。如图41A所示,RAM控制器135向SBCD电路134输出表示从RAM 137读出ID和IED数据的时刻的HDEN信号。此时,ID(4字节)和IED(2字节)数据与频率为11.2896MHz的时钟C11M(图41F)同步地从RAM 137被传送给SBCD电路134,作为包括从第7至第0位的8位的读出数据RDT(图41C)。SFLG信号(=1),它已从ECC核心电路138被提供给ECC控制电路136,表示ID和IED数据已可利用PI1纠正进行纠正(如果是不可纠正的,SFLG信号就是H)。一旦接收到ID(扇区地址),SBCD电路134根据来自主CPU 140的指令(例如内插标记的产生模式、开始扇区和结束扇区)产生相应于该ID(扇区)的扇区信息SI。例如,对于具有被主CPU 140规定作为待输出数据的ID的扇区,扇区信息的位与被置为1,而位4被置为0。
图42表示扇区信息(SI)的结构。如图所示,扇区信息的各个位具有以下意义。
位7内插标记(OUTF)产生模式的设定(1内插标记产生模式)位6ECC块的领先扇区(当物理扇区地址的低4位为0时为1)(1;领先的扇区)位5开始扇区(当物理扇区地址与主CPU 140规定的开始扇区地址一致时为1)(1开始扇区)位4结束扇区(当物理扇区地址与主CPU 140规定的结束扇区地址一致时为1)(1结束扇区)位3解扰初始化地址的位3(物理扇区地址的第7位)位2解扰初始化地址的位2(物理扇区地址的第6位)位1解扰初始化地址的位1(物理扇区地址的第5位)位0解扰初始化地址的位0(物理扇区地址的第4位)在参看图44至46如下所述地利用了4字节的ID和2字节的IED进行校验之后,图41D所示XHWE信号被ECC控制电路136置为L。此时,扇区信息SI从SBCD电路134被传送和写入RAM 137作为8位的写入数据WDT。如图34所示,存储了16个扇区的扇区信息,以便相应于位于其上的16个PI行。因此通过规定被规定的PI行的编号,就能够获得相应的扇区信息。
在实际的扇区检测中,如图43A所示,主CPU 140给SBCD电路134内的寄存器(未示出)设定BSA设定模式,以及设定所需扇区的领先地址BSA和结束地址ESA,SBCD电路134内的该寄存器(未示出)从再现数据中检出它们并将它们与其中锁定了扇区地址FW的扇区地址作比较。根据比较结果确定被检测扇区地址是所需地址,比较结果被写回RAM 137作为扇区信息(位4和5)。
此外,扇区信息与被ECC电路50进行了ECC译码的ECC译码数据一道被输出给OCTL 139,并被用来在输出ECC译码数据时作控制用。此时,主CPU 140把ECC的交错考虑进去,将光盘访问位置轨迹转移至在所需扇区之前的位置。
还有,如果主CPU 140此时没有规定所需扇区,BSA设定模式就会预先被取消,于是就能够从读出ECC译码数据时起输出数据。
扇区信息的位4和5送入OCTL 139,当扇区信息数据4和位5分别是“0”和“1”时,即当已检测到从扇区地址BSA至扇区地址ESA的扇区时,就能够输出至CPU 140所需的扇区的数据。在这种情况下,当扇区地址ESA设有指定时,位0就保持“0”。在保持位0为“0”期间,ECC译码数据被继续输出给环形缓冲存储器10。在这种情况下,例如,可以不考虑位0和1的状态,利用设置在OCTL 139内的数据输出控制寄存器(未示出)来控制数据的输出。
如图43B所示,除在进行轨迹转移时外,主CPU 140在进行了轨迹转移之后也可以再次设定开始扇区地址ESA和结束扇区地址ESA。例如,当接近光盘上的存取位置时,例如,当在快进操作中跳过无关重要的数据时,扇区地址BSA和ESA在确认当前扇区地址SA之后被重新设定。于是不进行轨迹转移就能够从扇区地址BSA输出数据。
以下参看图44至46所示流程图说明SBCD电路134如何校验ID和IED。
SBCD电路134执行图44所示的流程图,判断在正常的(ID无错误)IED校验结果中是否有N个(本实施例为3个)连续扇区。
即在第一个步骤SP41判断所获得的IED校验是否正常。如果是,处理就到达步骤SP42,将表示具有正常ID的扇区的个数的变量SAlock递增1。处理还将表示具有异常ID(ID有差错)的连续扇区的个数的变量SAunlock置为零。
处理然后到达步骤SP43,判断变量SAlock是否等于3。如果确认在步骤SP42中已被递增的变量SAlock不等于3,处理就返回步骤SP41,重复后续处理。如果在步骤SP43确认变量SAlock等于3,即已连续再现了具有正常ID的三个扇区,处理就到达步骤SP44,将标记IECOK置为H。在步骤SP45,处理将变量SAlock置为2,返回步骤SP41重复后续处理以便检测后续IED校验的连续正常结果的个数。
如果在步骤SP41确认IEC是异常的,处理就到达步骤SP46,将变量SAunlock递增1,将变量SAlock置为零。然后在步骤SP47判断变量SAunlock是否等于3,如果不等于,处理就返回步骤SP41,重复后续处理。
如果在步骤SP47确认变量SAunlock等于3,即已连续检测到具有异常IED校验结果的三个扇区,处理就到达步骤SP48,将标记IECOK置为L。如果紧接的IED校验在随后的步骤SP49中产生异常结果,处理就将变量SAunlock置为2,返回步骤SP41,重复后处理以便检测具有异常IED校验结果的三个连续扇区。
如上所述,如果三个或更多连续的IED校验产生正常结果,SBCD电路134就将标记IECOK置为H,如果三个或更多连续的IED校验产生异常结果,它就将标记IECOK置为L。
SBCD电路134还执行图45所示的处理来确定ID(地址)的连续性。一个ECC块中的扇区的ID应被顺序地递增1。这种连续性的确定如下。
首先在步骤SP61中判断是否已检测到ID(扇区地址)。如果已检测到,处理就到达步骤SP62,存储该ID以便将其与后续ID作比较。然后在步骤SP63中判断当前ID是否比最后被检测并在步骤SP62中被存储的ID大1。如果是,处理就到达步骤SP64,将表示已连续检测到正确ID的变量Ns递增1。处理还将表示设有检测到ID或被检测ID不是连续的变量NNs置为零。
然后在步骤SP65判断变量Ns是否等于3,如果不等于(即各被递增1的三个连续ID的检测已失败),处理就返回步骤SP61重复后续处理。如果确认变量Ns等于3,处理就到达步骤SP66,将表示连续ID处于正常状态的标记AS置为H。如果在步骤SP67中检测到后续ID,处理就将变量Ns置为2,返回步骤SP61,重复后续处理以便进一步判断已连续检测到三个连续的正确ID。
如果在步骤SP61中没有检测到ID或在步骤SP63中当前检测的ID不比以前的ID大1(ID被确定为不是连续的),处理就到达步骤SP68,判断标记SALK是否是H。以下参看图32描述标记SALK,当三次或更多次连续的IED校验产生正常结果和当三个或更多的ID的连续性得到保持时,将该标记置为H。
如果在步骤SP68确认标记SALK已被置为H,处理就到达步骤SP69,内插ID。即由于没有检测到ID或被检测的ID不是连续的,所以就给以前的ID增加1来产生新的ID,用该新的ID来代替被检测的ID。如果标记SALK被置为L,就不执行这种内插,跳过步骤SP69的处理。
然后在步骤SP70将变量NNS递增1,将变量Ns置为零。在步骤SP71中判断变量NNs是否等于3,如果不等于,处理就返回步骤SP61,重复后续处理。但是,如果确认变量NNs等于3,处理就到达步骤SP72,将标记AS置为L。如果在步骤SP73中设有检测到后续ID,处理就将变量NNs置为2,返回步骤SP61,得复后续处理以便进一步判断检测ID的三次连续的失败。
如上所述,当ID连续时,SBCD电路134将标记AS置为H,而当ID不连续时,将标记AS置为L。
SBCD电路134利用如上所述产生的两个标记IECOK和AS来产生标记SALK。
即在步骤SP81中判断标记IECOK是否是H,如果是,处理就到达步骤SP82,判断标记AS是否是H。如果在步骤SP82确认标记AS是H,处理就到达步骤SP83,将标记SALK置为H。
如果在步骤SP81确认标记IECOK是L或在步骤SP82确认标记AS是L,处理就到达步骤SP84,将标记SALK置为L。
如上所述,如果三个或更多连续的IEC是正常的和如果三个或更多连续的ID各被递增了1,SBCD电路134就将标记SALK置为H,但如果三个或更多连续的IEC是异常的或如果三个连续ID的检测已失败,就将该标记SALK置为L。
主CPU 140通过参看上述SALK和ID数据的状态检测被激光束照射的位置(光盘2上的访问位置)。
可给图44中的SAlock或SAunlock的状态加上PI1纠正的结果。此外,虽然把SAlock和SAunlock的次数定为3,但主CPU 140可将其设定为不同的值。
如果SYLK在SALK=L(SALK=H)时变为L(SYUL=H),就可以复位EFM+解调数据从EFM+解调电路131向RAM 137的写入和ECC控制。然后取消未锁定状态(SAUL=L),SYLK变为H。然后恢复EFM+解调数据向RAM 137的写入。
未锁定可由主CPU 140强制执行。例如,为了复位ECC控制,主CPU140能够在轨迹转移之后启动未锁定状态。
未锁定状态可由主CPU 140取消或主CPU 140不介入而自动地被取消。
如果SYLK=H(锁定状态)和扇区信息的位6是1(扇区的开头),SBCD电路134就如图39A至39H所示地将块顶部保持为H,直到SYLK变为L(释放锁定)为止。如果位顶部=L,则一旦SCSY和主FMSY二者都变为H(扇区的开头),EFM+W帧的值就从12变为零。就是说,在这种情况下,对每一主帧,EFM+W帧的值得复地从0一直变化到12。
但是,如果块顶部=H,则EFM+W帧的值就继续递增,即使它已达到13,如图40A至40H所示。因此,如图34所示,各ECC块的主帧中的数据被顺序地存储在RAM 137的不同地址处。
在执行PI1纠正期间,顺序和类似地把EFM+解调数据写入RAM 137。一旦完成一个ECC块的数据(208行数据)的PI1纠正,就执行沿PO列方向的ECC处理(PO纠正)。
为了沿PO列方向读出数据,必需对PO行解交错(图29)。因此,如果读出相应于图34所示第N个字节的列,就在跳过被交错的PO行的同时向下地读出该列的数据,读出相应于第N个字节的同一列中的仅PO行的代码并将其提供给ECC核心电路138。
一旦ECC核心电路138已完成PO纠正(除图34右端的(10)个PI列外的所有列,即172个列已被处理),就执行PI2纠正(第二PI纠正)。为了改善纠错性能,执行两次沿PI行方向的ECC处理。
在PO纠正中,根据基于PI1纠正的结果而产生的差错标记(PI1标记)的不同执行删除纠正。在PI2纠正中,也利用基于PO校正的结果而产生的差错标记(PO标记)来执行删除纠正。如上所述地执行这些删除纠正以便改善纠错性能。
已完成了PI2纠正的PI数据序列从RAM 137传送给OCTL电路139,OCTL电路139利用图42所示扇区信息的位3至位0对各个扇区解扰主数据。此外,OCTL电路139执行与EDC有关的计算。根据这些计算结果和给主数据添加的差错标记的存在,判断在所需扇区中是否存在任何差错。在判断的基础上,主CPU 140判断是否应再从光盘2读出数据。如果需要,主CPU 140就试图再次访问光盘2。否则,就把包含差错的扇区的数据输出给多路复用数据分离电路13(图7)。
ECC核心电路138包括通用里德-所罗门码纠错LSI(大规模集成电路),在这种LSI中可以对码长、校验码个数以及纠正方式(仅正常纠正或正常和删除纠正)进行编程。ECC核心电路138还能够实时地对多编码和连续编数据(不同码长的多个代码序列)译码。里德-所罗门纠错LSI包括例如可以SONY(注册商标)购得的CXD307-111G,利用这些LSI组成的ASIC(专用集成电路)被称为ECC核心。ECC核心在图31的ECC核心电路138中使用。
图47A至47D表示在纠错操作期间信号的定时关系。在这些图中,ESTT(图47A)是表示代码(PI或PO行)开头的控制信号,ECDE(图47B)是表示代码(PI或PO行)结束的控制信号。ECYE(图47C)是表示代码(PI或PO行)周期结束的控制信号。这些信号由RAM控制器135通过ECC控制电路136提供给ECC核心电路138。ECC核心电路138利用这些控制信号来区分RAM 137提供的数据。
如图47A至47D所示,PI码在ESTT和EDCE之间的182个ECCK期间内传送。PO码也是在ESTT和ECDE之间的208个ECCK期间内传送。
如果PI行的代码和PO列的代码具有不同的码长,则通过使代码周期长度等于PI行和PO列码长的较长者(本实施例为208个PO列代码),就能够如图36所示地不考虑代码序列而以相同的定时输入待纠正数据(EDT)和擦除纠正的差错标记(PI1、PI2和PO标记)。诸如码长和校验码个数这样的参数的值可随意设定。即当设定改变时,给ECC核心电路138提供新的设定数据就使该电路在ESTT变为H时根据所提供的数据自动地改变内部设定。
使用以下公式所示的477个ECCK周期来输出数据纠正的结果。通过量=2×NCYC+3×PCYC+13=2×208+3×16+13=477(ECCK)在上述公式中,NCYC表示PI行和PO列码长的较长者,PCYC表示较大的校验码个数。如图47A至47D所示,ECC核心电路138在比ESTT(图47A)的定时晚了一个数据输出周期的时间(在这段时间输出纠正结果)后将OSTT(图47D)输出给ECC控制电路136。在本实施例中,OSTT相对于ESTT被延迟了477个ECCK。
如果进行了检错并发现检测出的差错是可纠正的,ECC核心电路138就在OSTT(图48E)变为H时将O.CDDEERR(图48G)=L输出给ECC控制电路136。然后在ECOR(图48F)是H时输出表示差错样式的8位数据(即差错数据与之进行异或逻辑加以获得正确数据的数据)ECD[70](图48H)和差错位置(表示差错出现的位置(地址)的8位数据)ECA[70](图48I)。
在删除纠正方式中,保证输出相应于输入差错标记EFLG(图48C)的位置的差错位置ECA[70](图48I)数据,但是,如果该位置的数据是正确的,则差错样式ECD[70]=OO(H)。
如果差错是不可纠正的,虽然设有在这一时序图中表示出来,但OSTT(图48E)变为H,O.CODEER(图48G)同时变为H,ECOR(图48F)随后被防止变为H。此外,在OSTT(图48E)再变为H之前,ECOD(图48G)的输出被锁存,而ECOR(图48F)、ECD[70](图48H)和ECA[70]继续输出,直到OSTT(图48E)再变为H时为止。
图49A至49E。50A至50E以及51A至51E是表示在ECC处理期间提供的控制的时序图。图49B、50B和51B所示的PI1-R、PO-R和PI2-R各表示把PI1(第一PI纠正)、PO(PO纠正)、PI12(第二PI纠正)数据序列EDT[70]和将要对差错进行纠正的EFLG(图48C)从RAM 137通过ECC控制电路136传送给ECC核心电路138的定时。
如图49A、50A和51A所示,提供了182次MWRQ信号来把一个PI行中的数据EFM+W(182个字节的数据)从EFM+解调电路131写入RAM137,所以一个PI行中的EFM+解调数据被写入RAM 137。在一个PI行的数据被写入的时候,已被写入RAM 137的一个ECC块的数据被读出并通过ECC控制电路136被传送给RAM 137。即在低速把一个PI行的数据写入RAM 137的时候,以三倍的高速读出区写入的另一PI行或PO列的数据。如果传送位于扇区开头的PI行的数据,就还读出子代码数据(ID和IEC)。以这样的方式执行写和读,即当它们之一被执行时,另一个被暂缓。
如果例如执行ECC块的PI1纠正,就在执行一个PI行的数据写入的期间内读出一个PI行的数据。即从RAM 137读出一个PI行的数据并通过ECC控制电路136将其传送给ECC核心电路138。虽然在图49B、50B和51B中,用了208个ECCK来读出PI1纠正的数据PI1-R,但这一数目的ECCK适用于最长数据长度的PO列的长度,实际上为了传送PI行的数据,只有182个ECCK用于数据传送,其余的未被使用。
图52表示RAM控制器135用来向RAM 137写入数据和从RAM 137读出数据以便执行ECC纠正的过程。在步骤SP101,RAM控制器135把一个PI行的数据从RAM 137传送给ECC核心电路138。在本实施例中,给各ECC块添加PI码(对充验码)和PO代码(校验码),所以在已完成第一个ECC块的第一个PI数据序列为纠正和回写之前,不能够传送同一ECC块的PO读出数据序列PO-R或PI2读出数据序列PI2-R。在这种情况下,在后续的2×208个ECCK期间没有数据被传送。然后,如果有跟在上述数据之后的子代码数据(SUB),它就被传送。
于是RAM控制器135在图52的步骤SP101和SP102中顺序地传送第一个ECC块的一个PI行的数据和子代码数据(如果需要的话),在步骤SP103判断是否已传送了第一个ECC块的208行的PI1-R数据,及重复SP101、SP102和SP103的处理,直到获得肯定的结果为止。如果步骤SP103的结果是肯定的,这就意味着已结束了第一个ECC块的208行的所有数据的传送。RAM控制器135然后到达步骤SP104,启动在后续的182个MWRQ期间跟在第一个ECC块之后的第二个ECC块的PI1-R的传送和第一个ECC块的PO-R的传送。
就是说,在后续的182个MWRQ期间,首先传送跟在第一个ECC块之后的第二个ECC块的PI1-R,然后传送两次第一个ECC块的PO-R(传送两次的PO数据)。
在182个MWRQ的每一段时间内执行这些操作。一旦传送了第一个ECC块的172个列的PO数据,RAM控制器135就在图52的步骤SP105中得到肯定的结果,然后如图51A至51E所示,在随后的步骤SP106中传送第一个ECC块的PI2数据序列PI2-R。传送数据PI2-R的定时与传送图50B所示第一个ECC块的数据PO-R的定时相同。此时,数据PI1-R属于下一个ECC块(第二个ECC块)。以这种方式传送第一个ECC块的208个PI行中的PI2-R,当第一个ECC块的PI1-R、PO-R和PI2-R的处理结束时,RAM控制器135在图52的步骤SP107中获得肯定结果,返回步骤SP101,继续对下一个ECC块进行处理。
仅在数据传送期间把ECCK(图48A)从RAM控制器135传送至ECC核心电路138。此外,如上所述,被传送数据的纠正结果在它们被输入477个时钟(ECCK)后被输出。因此,一数据序列是否包含差错的判断结果(图49C、50C和51C)在与该序列隔开一个序列的序列被传送时(40B、50B和51B)被输出。该输出如下所述地被存储在ERR FIFO电路136B(图53)内。
当如上所述把待纠错数据从RAM 137传送至ECC控制电路136时,电路136就执行一个PI行的数据的PI1纠正并在477个ECCK后输出结果(49C、50C和51C)。这些结果如下所述地传送给用作ECC控制电路136的缓冲器的ERR FIFO 136B并暂存于其内。再从ERR FIFO 136B读出这一数据,将其传回给RAM 137作为已完成了纠错的数据,并如图50D和51D所示地将其作为数据PI1-W写入该RAM 137。还分别把已完成了PO或PI2纠正的数据写入RAM 137作为数据PO-W或PI2-W。
如图49E、50E和51E所示,对每一PI行,还利用182个SDCK读出如上所述已完成了纠错的数据,并由OCTL电路139将其输出。
图53是表示在进行纠错时数据的流动的方框图,其内与图31相同的元件具有相同的标号。ECC控制电路136包括ERR计数器136A、ERR FIFO136B、标记RAM 136C和异或电路136D。
EFM+解调电路131输出的解调数据在RAM控制器135的控制下被写入RAM 137。存储在各扇区开头的SUB数据(ID和IEC)从RAM读出并被传送至SBCD电路134。SBCD电路134产生如图42所示的扇区信息。扇区信息从SBCD电路134传送给并写入RAM 137。
RAM控制器135通过ECC控制电路136(纠错装置)(在图53,为说明方便起见,EDT数据被直接提供给ECC核心电路138)把写入RAM 137(存储装置)的一个PI行的数据提供给ECC核心电路138作为包括8位一组的纠错数据EDT。一旦一个PI行的数据被提供给ECC核心电路138,电路138就利用PI代码来产生8位纠错数据ECD(图48H)和8位纠错地址ECA(图48I)。纠错数据ECD和纠错地址ECA由ECC核心电路138传送给ECC控制电路136内的ERR FIFO(先进先出)136B并被写入其内。
然后,为了实际进行纠错,RAM控制器135读出该PI行的数据EDT并将其提供给异或电路136D。向异或电路136D提供ERR FIFO 136B的纠错数据ECD和纠错地址ECA。异或电路136D通过对纠错数据ECD和在由纠错地址ECA规定的位处从RAM控制器135读出的数据EDT进行异或逻辑加来纠正数据。利用RAM控制器135把已进行了纠错的数据写回RAM137。
此外,ECC核心电路138根据ECD和ECA产生图54所示的包括8位数据的纠错结果ER,并将其提供给在ECC控制电路136内的ERR计数器136A,纠错结果ER被存储在ERR计数器136A内。通过RAM控制器135把一个字节的纠错结果ER写入RAM 137,以便相应于图34所示的那一PI行。
图54所示纠错结果ER的8位数据的每一位存储了以下信息。位7不可纠正(0;可纠正/1不可纠正)(如果发现序列中的差错是不可纠正的就为1)位6PO(0PI/1PO)(确定序列是来自PI行还是来自PO列的信息位)位5PI2(0PI1/1PI2)(确定序列是PI1序列还是PI2序列的信息位)位4纠正个数(纠错个数第5位(最高有效位)的值)位3纠正个数(表示纠错个数的4个位的第4位的值)位2纠正个数(表示纠错个数的4个位的第3位的值)位1纠正个数(表示纠错个数的4个位的第2位的值)位0纠正个数(表示纠错个数的4个位的第1位的值)表示根据是否能够利用PI1纠正进行纠正的判断结果的差错标记(PI1标记)(纠错结果ER的位7)被存储在ERR计数器136A内作为纠错结果ER的一部分,还被存储在标记EAM 136C内(标记存储装置)。
对图34所示的208个PI行执行这种PI1纠正。
RAM控制器135然后从RAM 137读出第一个PO列的208个字节数据,并通过ECC控制电路136将其提供给ECC核心电路138作为EDT。还读出已写入标记RAM 136C的PI1标记并将其提供给ECC核心电路138。ECC核心电路138利用模式PO和PI1标记产生用于正常或删除纠正的ECD和ECA。从ECC核心电路138把ECD和ECA提供给在ECC控制电路136内的ERR FIFO136B并将其存储在该ERR FIFO 136B内。ECC核心电路138根据ECD和ECA产生的该PO列的纠错结果ER也被传送给ERR计数器136A并被存储在其内。相应于纠错结果ER的位7的PO标记也被写入标记RAM 136C。
已从RAM 137被读出的该PO列的数据EDT被提供给异或电路136D。还向该异或电路136D提供了来自ERR FIFO 136B的ECD和ECA。异或电路136D通过对ECD和EDT进行异或逻辑加来纠错,以相应于由ECA规定的地址的各位。将已被纠错的数据写回RAM 137。
此外,从ERR计数器136A读出该PO列的纠错结果ER并将其写入RAM137。该PO列的纠错结果ER被顺序地写入相应于如图34所示从顶部开始的172个PI行的位置。
对172个PO列执行这种PO纠正。
如果在PI1和PO纠正之后执行PI2纠正,就从RAM 137读出第一个PI行的数据作为EDT并将其提供给ECC核心电路138。还读出写入标记RAM136C的PO标记并将其提供给ECC核心电路138。ECC核心电路138利用该PO标记和校验码PI来产生ECD和ECA并将它们提供给在ECC控制电路136内的ERR FIFO 136B。
对已写入ERR FIFO 136B的ECD和ECA与提供给异或电路136D和从RAM 137读出的PI列的数据进行异或逻辑加来纠正错误。通过RAM控制器135从异或电路136D把已被进行了纠错的数据写回RAM 137。
ECC核心电路138还根据ECD和ECA产生纠错结果ER并将它们提供给在ECC控制电路136内的ERR代数器136A,它们被存储在其内。还将相应于位7的PI2标记写入标记RAM 136C。
从ERR计数器136A读出已写入其内的PI2行的纠错结果ER并将其写入RAM 137。PI2行的纠错结果ER被写入各相应于图34所示208个PI行的每一行的位置。
对208个PI列执行这种PI2纠正。
图55A至55G是表示对RAM 137进行存取的总线仲裁的时序图。图中的EFMREQ(图55A)是EFM+解调电路131输出给RAM控制器135以请求把EFM+解调数据写入RAM 137的信号。OUTREQ(图55B)是OCTL电路139输出给RAM控制器135以请求从RAM 137读出ECC处理数据的信号。ECCREQ(图55C)是ECC控制电路136输出给RAM控制器135的信号,以访问对RAM 137进行存取,以便把数据传送给ECC核心电路138以允许该电路纠错或以便获得纠错数据;或者输出以请求SUB传送(ID和IEC)到SBCD电路134。
RAM控制器135预先为这三个信号设定优先级,如果同时提出了这些请求,就根据优先级顺序地将ACK(应答)信号输出给RAM 137。EFMACK(图55D)、OUTACK(图55E)和ECCACK(图55F)分别是对EFMREQ、OUTREQ和ECCREQ的确认信号。根据本实施例,优先级按OUTREQ、EFMREQ和ECCREQ的顺序进行设定。因此,如图55A至55G所示,RAM控制器135按照优先级输出相应REQ信号的ACK信号。这些信号与用作系统时钟的C11M(图55G)同步地被接收。
如上所述,根据本发明,在每一规定的周期内根据EFMREQ、ECCREQ和OUTREQ保证了对RAM 137的存取。但可以根据RAM 137的构造或类型或存取速度改变这一周期。
图56表示执行一个ECC块的数据的PI1、PI2和PO纠正所需的对RAM 137进行存取的次数。如图所示,执行PI1、PI2和PO纠正所需的对RAM 137的存取次数是每ECC块214716,每主帧的平均值是1033。例如,在写入EFM+解调数据期间对RAM 137的存取次数是每主帧182,而ECC执行周期长度是208字节(208个主帧),所以每块需要37856(=182×208)次存取。上述值是通过计算每一操作的所需存取次数和把获得的全部值加在一起而获得的。
图57A至57F是表示RAM 137通过OCTL电路139输出纠错结果数据ER的定时的时序图。在图中延长了在图49、50E和51E所示182个SDCK之前的部分的时基。SDCK(图57A)表示把ER作为流数据进行输出的时钟信号。SINF(图57B)是扇区信息选通信号,它在扇区开头处变为H,表示被传送数据是扇区信息(SI)。ESTB(图57C)是纠错结果选通信号,一旦变为H,就表示将传送纠错结果ER。在每一PI行中,给PI1、PO和PI2序列的纠错结果ER的每一个分配了一个字节,所以结果数据共占三个字节。由于该数据按照图34所示其被存储的顺序被输出,所以与某一特定结果相关的序列可通过检查数据的位5和6(图54)来进行识别。对于设有输出PO纠正结果的PI行,当这种结果被输出时,ESTB变为L。
DSTB(图57D)是数据选通信号,当信号SD[70](图57E)是主数据时,它是H。这些信号中的三个信号,即SINF、ESTB和DSTB由OCTL电路139产生。如图57E所示,紧接在利用182个SDCK输出PI行方向的数据之前输出扇区信息SI和纠错结果ER。
OUTG(内插标记)(图57F)是主数据的差错标记,根据存储在图53的标记RAM 136C内的PI和PO不可纠错标记,在输出之前给主数据添加该标记。
OCTL电路139根据SBCD电路134产生的扇区信息的位4和5(图42)确定是否应输出对其已完成了译码的扇区数据。如图42所示,扇区信息的位4和5分别表示结束和开始扇区。OCTL电路139于是输出具有位4=0和位5=1的扇区数据作为规定扇区(数据应被输出的扇区)的数据。
OCTL电路还例如确定主数据或EDC结果的差错标记的存在是否满足主CPU 140预定的条件,如果是,就输出译码数据。否则,它就停止输出译码数据,告诉主CPU 140出现了差错。
例如,数据输出条件如下(1)数据应被规定为待输出的数据。(2)在ECC结果中应没有检测到错误。(3)不应给主数据添加差错标记。如果这些输出条件已得到满足,就最后输出满足所有这些条件的数据。此外,主CPU 140可以不管这些条件而强制禁止输出。
OCTL电路139按照图58所示扇区数据输出过程顺序地输出主数据、扇区信息SI和纠错结果ER。
首先,OCTL电路139在步骤SP111分析存储在扇区信息SI的位4(图42)内的结束扇区检测的结果和存储在位5内的开始扇区检测的结果,然后确认位4为零和位5为1的扇区数据是要被输出的数据。
在紧接的步骤SP112,一旦确认译码数据不是要输出的数据,过程就到达步骤SP114,停止数据输出。相反地,当确认译码数据满足输出条件并且是要输出的数据时,过程就到达步骤SP113。
OCTL电路139在步骤SP113产生各个输出数据的选通信号并按顺序地输出扇区信息SI的选通信号SINF(图57B)、纠错结果ER的选通信号ESTB(图57C)和主数据的选通信号DSBT(图57D)。这样一来,在接着的步骤SP115中,OCTL电路139就按照扇区信息SI、纠错结果ER和主数据的顺序输出数据(D0,D1,D2,......)。当输出了全部扇区数据时,就结束扇区数据输出过程。(2-3)第二实施例的操作和效果在上述结构中,在182个MWRQ(PI1-R,PO-R和PI2-R)(图49A至49E,50A至50E和51A至51E)的期间内从RAM137传送给ECC核心电路138的数据是根据传送时钟(ECCK)从RAM读出的。在这种情况下,通过在数据传送(PI1-R,PO-R和PI2-R)之间停止传送时钟(ECCK)一般规定的时间,则在这停止期间就停止了数据(PI1-R,PO-R和PI2-R)的传送。就是说,可以在数据(PI1-R,PO-R和PI2-R)的序列之间形成不传送数据的时间段。
在停止期间,在执行了PI1纠正(PI1-W)之后,RAM控制器135在SUB的时间(图49B和51B)读出存储在RAM 137的编号为零的主帧内的扇区地址信息(ID)和该ID的检错码(IED)并将它们传送给SBCD电路134。当SBCD电路134检测到扇区地址信息ID时,SBCD电路134就将该扇区的开始扇区地址BSA和结束扇区地址ESA与预先由主CPU 140指定的要输出的所需地址的扇区地址作比较。即,当该扇区是所需扇区时,就把扇区信息SI的位5置为“1”以表示所需地址的开始扇区地址BSA,把结束扇区地址ESA的检测位4置为“0”。在设定了扇区信息SI的位4和5以表示在其中检测了扇区地址信息ID的扇区数据是否所需扇区之后,SBCD电路134就把扇区信息SI存储在RAM 137的一小区域内,以便对应于预定的PI行。
RAM控制器135把在EFM+解调数据被写入RAM 137时被ECC电路50译码的扇区数据传送给OCTL电路139。
OCTL 139根据被传送扇区数据检测扇区信息SI,OCTL 139根据扇区信息SI的位4和位5确定扇区数据是否所需扇区,并控制向环形缓冲器10下一级的输出。
SBCD电路134如此检测了开始扇区地址BSA和结束扇区地址ESA,产生表示扇区是否由主CPU 140预先设定的所需扇区并将其存储在RAM137设置的小区域内。因此,在输出译码数据时,OCTL电路139能够根据扇区信息SI控制译码数据的输出。
这样一来,例如,就能够省略根据被检测的扇区地址信息ID将被检测的扇区地址与主CPU 140预先设定的所需扇区的扇区地址作比较的步骤。
根据上述结构,在把ECC译码的ECC块的数据的主数据输出给环形缓冲器10的下一级时,在ECC译码时预先在扇区信息SI的位4和5上记录了表示扇区数据是否所需扇区的信息,所以能够省略再把扇区地址信息ID与所需扇区的扇区地址作比较以确定是否应输出数据的步骤。
因此,在输出各扇区的ECC译码数据时,不需要设置从ECC译码数据检测扇区地址信息ID并将其与扇区地址作比较的电路,这样就简化了总体电路结构,并能够迅速和可靠地执行对扇区数据的存取。
此外,根据上述实施例,扇区信息SI被存储在RAM 137的一小区域内,这样就不需要专门提供检测扇区用的存储器,从而节省了存储器容量。
还有,根据上述实施例,对PI和PO数据序列进行分块并进行ECC处理,所以不必等待对角线方向C2序列的译码的完成延伸至作为C1和C2序列的编码的下一个ECC块,就能够在完成一个ECC块的译码时立即确认是否能够向环形缓冲存储器10输出数据。(3)其它实施例在上述实施例中,数据的编码是利用C1/C2卷积里德-所罗门码或通过在行方向上增加纠错内码和在列方向上增加纠错外码来完成的,但本发明不受此限制,通过交错或交叉交错而添加了纠错码的编码数据也可被译码。
此外,在上述实施例中,编码数据被用作差错代码,但本发明不受此限制,可被用来对一般的编码数据进行译码。
还有,在上述实施例中,记录在光盘上的编码数据被数据再现设备40译码和再现,但是,本发明不受此限制,本发明可被用来从记录有编码数据的记录介质中读出编码数据,并译码和再现该编码数据。
如上所述,根据本发明,在译码记录在记录介质上的编码数据的过程中,对有待读出数据的数据信息进行检测并将其存储在数据信息存储装置内,这样就可实现能够根据与编码数据的译码无关的数据信息来控制译码数据的输出的数据译码设备和方法。
还有,根据本发明,在译码记录在记录介质上的编码数据的过程中,对有待读出数据的数据信息进行检测并将其存储在数据信息存储装置内,这样就可实现能够根据与编码数据的译码无关的数据信息来控制译码数据的输出并能够快速再现译码数据的数据再现设备。
虽然参照本发明的最佳实施例描述了本发明,但可以作出各种变动和改进对本领域的技术人员而言是显而易见的,在所附的权利要求中将覆盖在本发明的精神和范围内的所有这些变动和改进。
权利要求
1.译码记录在记录介质上的编码数据的数据译码设备,所述设备包括在译码时用来存储所述编码数据和通过译码所述编码数据而得到的译码数据的存储器;从在译码所述编码数据的过程中产生的所述译码数据中检测待读出数据的数据信息的数据信息检测电路;存储所述数据信息的数据信息存储装置;以及根据所述数据信息控制所述译码数据的输出的数据输出控制电路。
2.如权利要求1所述的数据译码设备,其中所述记录介质是光盘记录介质。
3.如权利要求2所述的数据译码设备,其中所述数据信息是在所述光盘记录介质上的扇区信息。
4.如权利要求2所述的数据译码设备,其中所述数据信息检测电路根据所述数据信息检测在所述光盘记录介质上的待读出数据的扇区。
5.如权利要求3所述的数据译码设备,其中所述扇区信息由所述光盘记录介质的扇区地址信息、纠错结果和/或读出扇区地址信息组成。
6.如权利要求1所述的数据译码设备,其中所述存储器具有先进先出(FIFO)功能。
7.如权利要求1所述的数据译码设备,其中所述编码数据是交错编码数据。
8.如权利要求1所述的数据译码设备,其中所述编码数据是纠错码数据。
9.如权利要求8所述的数据译码设备,其中所述纠错码是C1/C2卷积里德-所罗门码。
10.如权利要求1所述的数据译码设备,其中所述纠错码包括沿行方向给编码数据添加的纠错内码和沿列方向给编码数据添加的纠错外码。
11.如权利要求10所述的数据译码设备,在该设备中逐行地对第一块的已被添加了所述纠错内码的行方向的数据进行纠错;逐列地对第一块的已被添加了所述纠错外码的列方向的数据进行纠错;以及再逐行地对第一块的已被添加了所述纠错内码和已被进行了纠错的行方向的所述数据进行纠错。
12.如权利要求10所述的数据译码设备,在该设备中在已分别传送行或列方向的一行或一列所述数据的时刻,根据存储在所述寄存器内的所述差错位置和差错样式执行纠错。
13.译码记录在记录介质上的编码数据的数据译码方法,在该方法中把从所述记录介质中读出的所述编码数据存储在译码时使用的存储器内;从在译码所述编码数据的过程中产生的所述译码数据中检测待读出数据的数据信息;以及存储所述数据信息并根据所述数据信息控制所述译码数据的输出。
14.如权利要求13所述的数据译码方法,其中所述记录介质是光盘记录介质。
15.如权利要求14所述的数据译码方法,其中所述数据信息是在所述光盘记录介质上的扇区信息。
16.如权利要求13所述的数据译码方法,其中所述数据信息检测电路根据所述数据信息检测待读出数据的扇区。
17.如权利要求15所述的数据译码方法,其中所述扇区信息由所述光盘记录介质的扇区地址信息、纠错结果和/或读出扇区地址信息组成。
18.如权利要求16所述的数据译码方法,其中所述存储器具有先进先出(FIFO)功能。
19.如权利要求13所述的数据译码方法,其中所述编码数据是交错编码数据。
20.如权利要求13所述的数据译码方法,其中所述编码数据是纠错码数据。
21.如权利要求20所述的数据译码方法,其中所述纠错码是C1/C2卷积里德-所罗门码。
22.如权利要求13所述的数据译码方法,其中所述纠错码包括沿行方向给编码数据添加的纠错内码和沿列方向给编码数据添加的纠错外码。
23.如权利要求22所述的数据译码方法,在该方法中逐行地对第一块的已被添加了所述纠错内码的行方向的数据进行纠错;逐列地对第一块的已被添加了所述纠错外码的列方向的数据进行纠错;以及再逐行地对第一块的已被添加了所述纠错内码和已被逐行地进行了纠错的行方向的数据进行纠错。
24.如权利要求13所述的数据译码方法,所述数据译码方法对被压缩编码的运动图像数据进行译码。
25.读出和再现被记录在记录介质上的编码数据的视频信号和/或音频信号的数据再现设备,包括数据译码设备,它具有在译码时用来存储所述编码数据和通过译码所述编码数据而得到的译码数据的存储器;从在译码所述编码数据的过程中产生的所述译码数据中检测待读出数据的数据信息的数据信息检测电路;以及根据所述数据信息控制所述译码数据的输出的数据输出控制电路。
26.如权利要求25所述的数据再现设备,其中所述纠错码是C1/C2卷积里德-所罗门码。
27.如权利要求25所述的数据再现设备,其中所述纠纠错码包括沿行方向给编码数据添加的纠错内码和沿列方向给编码数据添加的纠错外码。
28.如权利要求25所述的数据再现设备,在该设备中逐行地对第一块的已被添加了所述纠错内码的行方向的数据进行纠错;逐列地对第一块的已被添加了所述纠错外码的列方向的数据进行纠错;以及再逐行地对第一块的已被添加了所述纠错内码和已被逐行地进行了纠错的行方向的数据进行纠错。
29.如权利要求25所述的数据再现设备,在该设备中在已分别传送行或列方向的一行或一列所述数据的时刻,根据存储在所述寄存器内的所述差错位置和差错样式执行纠错。
全文摘要
减少了译码所用的存储器的容量并快速存取待读出数据的数据译码设备方法和数据再现设备。在译码被记录在记录介质(2)上的编码数据(S2)的数据译码设备(50)和方法中,把从记录介质(2)中读出的编码数据(S2)存储在译码所用的存储器(51)内,从对编码数据(S2)译码的过程中产生的译码数据中检测待读出数据的数据信息,把该数据信息存储在数据信息存储装置内,以及根据该数据信息控制译码数据(S10)的输出,这样就根据与编码数据(S2)的译码无关的数据信息控制了译码数据(S10)的输出。
文档编号H04N5/85GK1170204SQ9711025
公开日1998年1月14日 申请日期1997年2月19日 优先权日1996年2月19日
发明者市川高广, 佐藤重治, 安田一博, 木村悟 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1