发明内容
本发明的目的在于针对现有光盘数据恢复解决方案的不足,并结合离标盘本身的特点,提供一种新的光盘数据恢复方法。该方法采用经过优化的信号处理方案,可以简化对系统硬件的要求,降低光盘数据恢复工作的成本。
本发明的另外一个目的是提供一种用于实现该光盘数据恢复方法的光盘数据恢复系统。该系统与普通光盘驱动器不同,它以准确恢复光盘数据为主要目的,不需要满足实时性和随机性方面的要求。
为实现上述的发明目的,本发明采用下述的技术方案:
一种光盘数据恢复方法,基于读盘机、信号采集装置和主机实现,其特征在于包括如下步骤:
1)设定光盘数据恢复参数;
2)所述读盘机根据所述恢复参数读取光盘的指定区域,并对读取的光盘信号进行处理以得到扇区数据;
3)保存所述扇区数据;
4)检测所述读盘机获得扇区数据的过程中产生错误的数量,当一定扇区内的错误数量超过阈值时,计算所述扇区对应的光盘区域,并将该区域的位置存储于错误位置存储器;
5)待所述读盘机读取完光盘的指定区域后,如果所述错误位置存储器中没有错误区域的信息,则转入步骤10;否则,从所述错误位置存储器中读取一个错误所在的光盘位置,并将其从所述错误位置存储器中去除;
6)所述读盘机重新读取该错误所在的光盘区域的光盘信号;
7)所述信号采集装置采集来自所述读盘机的模拟高频信号,经模数转换之后存储起来;
8)在所述主机中,对于存储起来的数字高频信号进行处理,获得新的扇区数据;
9)用步骤8输出的新扇区数据取代已存储的由读盘机检测得到的扇区号相同的扇区数据,并衔接为一个整体,然后转至步骤5;
10)将步骤9获得的扇区数据转换为用户数据,并通过文件系统生成步骤生成文件系统以对外输出。
其中,所述步骤8中,所述主机对数字高频信号的处理包括均衡运算步骤和检测运算步骤。
所述步骤8中,所述主机对数字高频信号的处理还包括解码运算步骤。
所述步骤8中的均衡运算通过人工神经网络均衡算法实现。
或者,所述步骤8中的均衡运算通过多阶Volterra均衡算法实现。
所述步骤8中的检测运算通过Viterbi检测器算法实现。
在所述主机中内置多个可选算法,在信号处理过程中,根据步骤4)中输出的错误数目,如果发现某一光盘区域在某一信号处理算法下无法达到数据恢复要求时,可以切换使用其他信号处理算法,直至实现数据恢复要求或最少的错误数目。
在所述信号采集装置为异步采样时,在所述主机中对数据进行同步插值处理。
一种光盘数据恢复系统,包括读盘机,用于实现上述的光盘数据恢复方法,其特征在于:
所述光盘数据恢复系统还包括信号采集装置和主机,所述读盘机与所述信号采集装置和主机顺次连接;
所述主机包括硬盘存储器和微处理器,该主机分别与所述信号采集装置和所述读盘机相连接;
所述主机中的微处理器通过所述硬盘存储器获得数字高频信号,进行处理以输出扇区数据,该数据用于取代所述硬盘存储器中由读盘机检测得到的扇区号相同的扇区数据,然后将该扇区数据转换为文件系统对外输出。
其中,所述读盘机由光盘驱动器替代。
所述主机中还包括用于获取物理扇区数据的解码器。
所述信号采集装置为输出数字高频信号和物理扇区数据的数据采集/信号处理电路。
本发明所提供的光盘数据恢复方法及光盘数据恢复系统可以解决离标盘的数据恢复问题。在舍弃实时性和随机性要求的情况下,将具体的信号处理工作交给主机来完成,从而易于实现更优更复杂的信号处理算法。与完全基于硬件实现的光盘数据复杂算法相比较,本发明具有可实现性强和成本低的特点。
具体实施方式
本发明所提供的光盘数据恢复方法及其系统是为了解决离标盘的数据恢复问题而专门提出的。
在图2所示的光盘数据恢复系统中,包括顺序连接的读盘机11,信号采集装置12和执行信息处理及解码任务的主机13。
读盘机11具有使光盘旋转所需的主轴电机及其驱动电路、光学头组件,可提供聚焦伺服和道跟踪伺服的电路。它接收来自主机13的控制命令,对外输出模拟高频信号。该读盘机11可以用普通光盘驱动器来替代。普通光盘驱动器也可以完成聚焦伺服,道跟踪伺服和信号二值化检测(如PRML检测)等功能,它与读盘机的不同点在于,读盘机11不必具有将物理扇区数据解码到记录扇区数据和用户扇区数据的功能,并可以完成指定半径位置的光盘信号扫描。
信号采集装置12主要包括将模拟信号数字化所需的模数转换电路。它接收来自读盘机的模拟高频信号,将其模数转换之后,向主机13输出数字高频信号。信号采集装置根据采样时钟来源可以分为外时钟形式和内时钟形式,外时钟形式的信号采集装置,采样时钟来自信号采集装置之外,如可以来自读盘机产生的时钟信号,外时钟形式的时钟可以进一步分为与输入的模拟高频信号同步的时钟信号和与输入的模拟高频信号异步的时钟信号;内时钟形式的信号采集装置,时钟来自采集装置本身,也可以分为与输入的模拟高频信号同步的时钟信号,如通过锁相环电路产生的同步时钟信号,或与输入的模拟高频信号异步的时钟信号,如来自晶振的时钟信号。根据信号采集装置时钟同步与异步的不同方式,数字高频信号可以分为数字同步高频信号和数字异步高频信号。
主机13为可运行软件程序的计算处理设备,如个人电脑、工作站或单片机等。该主机内部至少具有一个微处理器和一个硬盘存储器,它通过包括IDE接口,USB接口或IEEE1394接口在内的通信接口与信号采集装置12连接。主机在本光盘数据恢复系统中主要执行数字信号处理及解码工作。数字信号处理用于将输入的数字高频信号,通过一定的算法处理,生成物理扇区数据;解码是指将物理扇区数据转换为记录扇区数据和把记录扇区数据转换为用户扇区数据的过程,其输出为用户扇区数据,即用户数据。
图3是上述光盘数据恢复系统的第一实施例的系统结构示意图。其中,实线框表示纯硬件单元进行的处理,虚线框表示通过软件实现的虚拟单元进行的处理,下同。在本实施例中,读盘机11通过驱动主轴电机使光盘1旋转,驱动光学头组件发出激光,通过聚焦伺服电路、道跟踪伺服电路将光学头发出的激光聚焦在记录层并跟踪信息轨道。返回的激光信号转换为电信号后通过电路输出模拟高频信号。数据采集卡14接收来自读盘机11的模拟高频信号,在时钟的驱动下模数转换电路将模拟高频信号转换为数字高频信号。主机13接收来自数据采集卡14的数据,执行相应的数字信号处理和解码工作,对数字高频信号进行运算并产生物理扇区数据,物理扇区数据通过解码运算之后,输出恢复后的用户数据。
上述在主机13中进行的数字信号处理是实现本发明所述光盘数据恢复方法的关键所在。下面将通过具体的实施例对这一数字信号处理过程展开详细的说明。
在对光盘上采集的数据进行数字信号处理和解码的过程中,均衡运算17、检测运算18、目标信道处理19和延迟处理20是其中发挥关键作用的运算步骤。通过这些运算步骤可以将数字高频信号转换为物理扇区数据,并经过解码后对外输出。
其中,检测运算是对经均衡运算后的数字高频信号进行PRML(部分响应最大似然)检测,输出物理扇区数据,其目标信道为adaptive PR(1,2,2,1)。输出的物理扇区数据经过目标信道处理后,生成理想数字高频信号。另外,均衡后的数字高频信号经过延迟处理后与经过目标信道处理而输出的理想数字高频信号进行比较得到均衡误差。
主机13的ATAPI接口21接收来自读盘机的物理扇区数据。在光盘数据不存在错误的情况下,物理扇区衔接步骤22并不工作,物理扇区数据直接存入硬盘存储器23。而在记录扇区转换器判断出光盘数据存在错误的情况下,读盘机11对错误区域逐个进行重新读取,从而产生采样的数字高频信号,在进行处理后得到新的物理扇区数据以替换原有包含错误的物理扇区数据。在这种情况下,物理扇区衔接步骤22开始工作,将ATAPI接口得到的物理扇区数据与检测运算输出的物理扇区数据进行衔接,因为检测运算输出的物理扇区数据是在经过优化处理的均衡算法得出的,具有更少的误码率,因此在衔接过程中,用检测运算输出的物理扇区数据取代在光盘同一区域由读盘机11解码得到的物理扇区数据(通过ATAPI接口21得到)。硬盘存储器23存储物理扇区数据衔接后的结果,再经过物理扇区转换步骤24将硬盘存储器23中的物理扇区数据转换成记录扇区数据,并通过记录扇区转换步骤25进行检错纠错等处理,将记录扇区转换为用户扇区数据,同时在记录扇区转换步骤中,输出检测出的错误数目(如DVD标准中的PI错误,PO错误或EDC错误)。
当一个或连续数个记录扇区内的错误数目超过某一阈值时,记录扇区转换步骤将启动错误位置计算步骤29,错误位置计算步骤29根据错误出现的记录扇区位置计算需要扫描的光盘的半径范围,并将结果储存在错误位置存储器28中,指定半径区域读信号命令发生器27依次读取错误位置存储器28中的错误项,并通过ATAPI接口21向读盘机11发出读取光盘指定半径区域信号的命令。
上述步骤完成之后,通过文件系统生成步骤26将记录扇区转换步骤25所输出的用户扇区数据转换成文件系统(如光盘映像格式文件),即最终结果。
在上述的数字信号处理过程中,两个关键性的步骤就在于均衡运算17和检测运算18。它们的运算复杂度和运算结果直接决定了整个光盘数据恢复方法的优劣。下面分别对这两个步骤加以详细的说明。
首先介绍均衡运算步骤17。前已述及,目前已发表的资料显示,使用非线性自适应均衡器可以在更大的光盘翘屈量下实现达到标准要求的原始误码率。因此,进行均衡运算所具体使用的算法以非线性均衡处理算法为主。
图4介绍了一种非线性均衡处理算法的示例。这种非线性均衡处理算法是基于人工神经网络实现的。在图4的示例中,人工神经网络包含三层,它们分别是:
1.输入层30,包含3个神经元I1,I2和I3;
2.隐藏层31,包含2个神经元T1和T2;
3.输出层32,包含1个神经元O。
该人工神经网络的结构符合如下规则:
1.每一层的神经元,其输出将到达下一层所有的神经元;
2.每一个神经元的输入,都对应一个输入权重w;
3.输入层的每个神经元,都只有一个输入,且其对应的权重w为1。
每个神经元的输出由下式计算得到:
其中
xi为该神经元的第i个输入,wi表示第i个输入的权重,此神经元的输入总数为k,θ为该神经元的阈值。wi和θ构成了这个神经元的系数。
当使用人工神经网络均衡算法进行计算时,从硬盘存储器16读取的数字高频信号首先通过去直流环节33除去直流分量,在再经过随后的延迟线34,将连续的3个数字高频信号并行输入到输入层30,信号由输入层30经过隐藏层31到达输出层32,由输出层32的输出为该人工神经网络均衡算法的输出。
上述的人工神经网络均衡算法中,各个神经元的参数可以通过反向传播算法(Back propagation)不断进行优化,以达到最佳均衡效果。
人工神经网络的实现形式很多,不限于图4所述的情况,可以增加输入层和隐藏层的神经元数,也可以采用多个隐藏层。更多神经元构成的均衡算法可以有效降低数字高频信号的非线性码间串扰。这种人工神经网络均衡算法将有关的运算交由主机13来完成,使得该人工神经网络算法具有灵活和易于实现的特点。而现有技术中采用硬件实现的人工神经网络规模庞大,如果输入层有17个神经元,隐藏层有30个神经元,则需要使用540个乘法器和48个非线性单元,实施起来难度很大。
图5给出了另外一种非线性均衡算法的示例。该均衡算法通过3阶Volterra均衡器实现。从硬盘存储器16读取的数字高频信号经过去直流环节33,同时输入到11拍1次均衡器35,7拍2次均衡器36,和7拍3次均衡器37。用加法器对3个均衡器的输出求和即得到数字高频信号并输出。
1次均衡器35的算法公式如下,其中y1(n)为1次均衡器输出信号,x(n)为去直流后的数字高频信号,h1(i1)为1次均衡器系数:
2次均衡器36的算法公式如下,其中y2(n)为2次均衡器输出信号,h2(i1,i2)为2次均衡器系数:
3次均衡器37的算法公式如下,其中y2(n)为3次均衡器输出信号,h2(i1,i2)为3次均衡器系数:
以上三个均衡器的乘法器总数(除去对称项)为319个,如果采用软件方式实现,在主机中完成运算,则可以使用计算机语言中的条件循环语句实现交叉项相乘,与纯硬件实现时所需要的319个乘法器相比较,较大幅度地降低了系统复杂度,同时提高了信号检测能力。
另外,在均衡运算采用3阶Volterra均衡器的情况下,可以根据均衡误差采用最速下降法更新Volterra均衡运算系数,以得到最优的Volterra均衡运算系数,实现自适应Volterra均衡运算。
需要说明的是,本发明所使用的非线性均衡算法也可以用窗口长度很长的线性均衡算法来代替。例如一种自适应线性均衡器,具有33拍。
输入x(n)与输出y(n)的关系是:
其中h(n)为此线性均衡器的系数。采用最小均方误差LMS(leastmean square)算法,根据输入、输出和均衡误差,不断更新均衡器系数,可以达到自适应均衡器的功能。均衡器误差为均衡器输出与理想输出的差值。
由于检测运算步骤18所处理的数据是经过特定的均衡算法优化处理过的,再加上该检测运算本身也是采用经过优化的检测算法,因此经过上述处理后输出的物理扇区数据能够具有更少的误码率。
在本发明中,首选的检测算法是通过Viterbi检测器实现的。另外,二值化切分器(Slicer)检测算法或者有限延迟树搜索(FDTS,fixed delaytree search)检测算法都可以用来代替Viterbi检测算法。
图6是二值化切分器(slicer)的示意图,它可以用来取代Viterbi检测器,将数字化高频信号检测为二值化信号。数字化高频信号经去直流后,通过图6中的比较器与中间电平(0电平)进行比较得到二值化信号。图7表示了数字化高频信号与二值化切分器输出的二值化信号的对应关系。
有限延迟树搜索(FDTS)检测器同样可以取代Viterbi检测器。FDTS也是利用PRML原理将数字化高频信号解码成二值化信号。如图8所示,根据所有可能的τ+1长度的二值化序列(共2τ+1个)计算出相应的2τ+1个理想高频数字化序列,分别对应2τ+1个分支。上边部分的分支,对应ak-2=+1的决策,下半部分对应ak-2=-1的决策。这2τ+1个分支分别与输入的τ+1个数字化高频信号计算欧氏距离(Euclidean distance),最小距离分支所在的部分(上半部分或下半部分)被保留,另一部分被舍弃,然后树状结构向下再延伸一层,开始下一个决策过程。
基于上面描述的光盘数据恢复方法,本光盘数据恢复系统的第一实施例的具体工作过程包括如下的步骤:
1.用户设定光盘数据恢复参数。
用户可以通过对光盘数据恢复的工作方式进行控制(如选择全盘数据恢复或光盘部分区域数据恢复),或对工作过程参数等进行设定(如Volterra均衡器收敛速度设定等)。
2.指定半径区域读信号命令发生器27根据用户的设定发出读光盘指定半径区域信号命令,该读光盘指定半径区域信号命令通过ATAPI接口21被传递到读盘机11;此时,数据采集卡14、USB接口15、硬盘存储器16暂不工作。由均衡运算17,检测运算18,目标信道运算19和延迟运算20组成的信号处理步骤暂不进行。
3.读盘机11将光学头移动到光盘指定半径区域读取光盘信号,并对读取的光盘信号进行处理以得到物理扇区数据,物理扇区数据经过ATAPI接口21交由物理扇区衔接处理步骤22进行处理。物理扇区衔接处理步骤22中,将接收到的物理扇区数据存储于硬盘存储器23,再通过物理扇区转换步骤24对存储于硬盘存储器23中的物理扇区数据进行解调制等处理以得到记录扇区数据,随后通过记录扇区转换步骤25对记录扇区数据进行检错纠错等处理,生成用户扇区数据。
4.错误位置计算步骤29检测记录扇区转换步骤25输出的错误数据,当一个或连续数个记录扇区内的错误数目超过某一阈值时,则计算该区域对应的光盘半径范围,并将错误区域的半径范围存储于错误位置存储器28。
5.待读盘机11完成了读光盘指定半径区域信号命令后,如果错误位置存储器28中没有错误信息,则转入下述的步骤10;否则,指定半径区域读信号命令发生器27从错误位置存储器28中读取一个错误所在的光盘半径范围,并将其从错误位置存储器28中去除。
6.指定半径区域读信号命令发生器27通过ATAPI接口21向读盘机11发出读取指定半径区域信号的命令。
7.读盘机11将光学头移动到指定半径区域读取光盘信号,同时数据采集卡14开始采集来自读盘机11的模拟高频信号。此时,ATAPI接口21停止向物理扇区数据衔接步骤22传递物理扇区数据。数据采集卡14采集的数字高频信号通过USB接口15存储于另一个硬盘存储器16。
8.对于存储于硬盘存储器16中的数字高频信号,首先进行均衡处理,随后利用检测算法对均衡后的数字高频信号进行检测以输出物理扇区数据,目标信道处理步骤的输出与延迟处理步骤的输出的差值为均衡误差,用于控制更新进行均衡运算时所采用的系数,以实现自适应系数调整;
9.物理扇区数据衔接步骤22用检测运算所输出的物理扇区数据取代硬盘存储器23中由读盘机检测得到的扇区号相同的物理扇区数据(因为软件得到的物理扇区数据误码更低)。然后跳至步骤5,直至错误信息全部清除;
10.启动物理扇区转换步骤,读取硬盘存储器23中的物理扇区数据,将其转换为记录扇区数据,再由记录扇区转换步骤25将记录扇区数据转换为用户数据,用户数据通过文件系统生成步骤26生成文件系统。此时,如果存在不可修复的错误,只能得到部分恢复的文件系统。
需要说明的是,上述的硬盘16和硬盘23也可以是主机内的同一块硬盘,在该硬盘的不同存储区域分别存放属于硬盘16和硬盘23的数据。
图9显示了作为图2中信号采集装置12的数据采集卡14的结构图。该数据采集卡14包括模数转换器4,数字锁相环5,和数据缓存及接口电路38。工作时,输入信号经模数转换器4,将模拟高频信号采集成数字高频信号,数字锁相环5和模数转换器5形成闭环系统,控制模数转换器的采样时钟与模拟高频信号同步,实现同步采样。数字缓存及接口电路38将采样的数字高频信号通过USB接口传递给主机13。
主机13的USB接口15接收来自数据采集卡14的数字高频信号,并将数字高频信号存储于硬盘存储器16。
另外,作为一种特殊情况,读盘机11和数据采集卡14也可以合而为一。现有的部分读盘机产品就具有这样的功能。
在本发明所提供的光盘数据恢复系统中,由于主要的信号处理及解码工作是在主机中利用软件所实现的算法完成的,而且前面也已经提到,该数据恢复系统不需要满足实时性和随机性的要求,而以准确恢复光盘数据为主要目的,因此,上述的信号处理及解码工作可以以离线方式完成,即先将信号采集装置12输出的数字高频信号存储于存储器中,如硬盘,再由主机13进行复杂的运算,以牺牲实时性和随机性为代价而获得对数字高频信号的最优处理。
图10为本发明的第二具体实施例的结构图。本实施例与第一实施例的区别在于数据采集卡14为异步采样,即数据采集卡采样时钟与输入的模拟高频信号不同步,存储于硬盘存储器16的数据为异步数字高频信号。在第一实施例中,数据采集采用同步方式,因此需要采用PLL电路,实现时钟同步,也就是时钟频率是物理扇区数据传输波特率的整数倍,而且相位差保持相同。此时,由于电路中采用了同步采集,则后续主机就不用进行软件同步处理。而在本实施例中,由于电路中是异步采样方式,因此在主机进行数据处理时,需要另外加入了数字插值锁相环处理步骤40,也就是同步插值处理步骤。这一步骤的目的是采用插值的方法输出同步数字高频信号。
图11为本发明的第三具体实施例的结构图。本实施例与第一实施例的区别在于数据采集卡14被替换为数据采集/信号处理电路41,即在本实施例所述的数据采集/信号处理电路中,包含了数据采集和硬件信号处理功能,可以输出数字高频信号和物理扇区数据。另一个不同点在于,读盘机11不提供物理扇区数据,硬件检测到的物理扇区数据由数据采集/信号检测电路41通过USB接口提供。本实施例的其它部分与第一实施例相同。
图12为本发明的第四具体实施例的结构图。在该实施例中,读盘机11不必具有读取指定光盘半径区域的功能,但可通过读取盘片可恢复部分的数字扇区号对光学头进行定位。因此与第一实施例不同的是,两者衔接数据的对象不同。在第一实施例中,衔接的数据是物理扇区数据,而本实施例中,衔接的数据是用户扇区数据。在第四实施例中,与硬件上的改动相对应,光盘数据恢复的过程也在某些步骤上存在改动:
第一,在步骤2中,由指定区域读信号命令发生器27根据用户的设定发出读光盘指定区域信号命令;
第二,读盘机11对指定区域读取的光盘信号进行二值化检测(如PRML检测等)得到物理扇区数据,经转换得到用户扇区数据和每个记录扇区错误数目,用户扇区数据通过ATAPI接口21传输至主机13,并存储于硬盘存储器23中;记录扇区错误数目经过ATAPI接口21传递到错误位置判别器42,当一个或连续数个记录扇区内的错误数目超过某一阈值时,将错误的记录扇区号依次存储于错误扇区存储器43中;
第三,读盘机11完成了读光盘指定区域信号命令后,如果错误扇区存储器43中有错误扇区,则指定区域读信号命令发生器27读取错误扇区存储器43中的一个错误记录扇区的扇区号,读取后从错误扇区存储器43中去掉这个扇区号;
第四,读盘机11将光学头移动到指定区域读取光盘信号,同时数据采集卡14采集来自读盘机11的模拟高频信号;此时,ATAPI接口21不传递用户扇区数据到硬盘存储器23;
第五,通过检测运算步骤所输出的物理扇区数据被存储于另一硬盘存储器47;
第六,用户扇区数据衔接步骤46中,用来自记录扇区转换步骤44的用户数据对硬盘存储器23中的相同扇区数据进行替换,然后由读盘机11继续寻找错误扇区存储器43中有无错误扇区,直至没有错误扇区为止。
图13为本发明的第五具体实施例的结构示意图。该实施例与第一实施例的区别在于信号处理环节包含多个可选算法48-1至48-n。不同算法在信号恢复能力,算法复杂度,及处理不同信号的能力等方面都会有所不同。在信号处理过程中,根据记录扇区转换步骤中输出的错误数目,如果发现某一光盘区域在某一信号处理算法下无法达到数据恢复要求时,可以切换使用其他信号处理算法,直至达到数据恢复要求或最少的错误数目。
图14为图2所示的光盘数据恢复系统的另外一种实现形式。在该实施例中,解码器39由硬件实现,通过主机接口,硬件解码器39获取来自主机信号处理软件49输出的物理扇区数据,经解码输出用户数据。此种结构在硬件成本略有增加的同时可以实现硬件快速解码,而信号处理仍在主机内通过有关的软件49来完成,这样易于实现经优化的信号处理算法。
此外,如果在读盘机11或信号采集装置12中加入硬件的信号处理及解码电路,对于可以硬件恢复数据的光盘区域采用硬件信号处理和解码,仅对无法纠正误码的区域采用软件形式的信号处理及解码器。这样可以将硬件的高速度和软件的优化处理能力结合起来,达到更好的实用效果。
以上对本发明所述的光盘数据恢复方法及光盘数据恢复系统进行了详细的说明。对于本领域的技术人员来说,在不背离权利要求的精神和范围的情况下对它进行的各种显而易见的改变都在本专利的保护范围之内。