背景技术
图1、2表示数据写入至光盘的格式化以及其错误修正程序(errorcorrecting process)。首先说明光盘的错误修正程序。
如图1A所示,记录在DVD的信息的实体架构包括多数据区段。由起始位置开始,一个数据区段20依序包括此数据区段20的起始位置的识别信息(ID)21、用以修正在识别信息21的识别信息错误校正码(ID informationerror correction code,IED)22、储备数据(RSV)23、主数据(DATA)24、以及用来检测识别信息21、识别信息错误校正码22、储备数据23以及用以检测ID 21、IED 22、RSV 23以及主数据24错误的错误检测码(EDC)25。依序排列的多数据区段20构成被记录的数据。
图1B表示藉由多个数据区段(如图所示一个数据区段标示为20)来建立ECC(error correction code)区块的编码程序。如图所示,是以16个数据区段建立一个ECC区块为例。为了形成一ECC格式,每一个数据区段包含ID 21、IED 22、RSV 23、主数据24以及EDC。各数据区段20首先被划分成12个数据列33并沿着Y轴以12列的形式排列(各数据列33分属一列,如图1B右侧所示),其中,每一个数据列包括172字节(byte)。
对于每一数据列而言,具有10字节的ECC内码(inner-code Parity,PI)31被加在数据列33的末端,以构成一个修正区块34,如图1B右侧所示。在此阶段,ECC内码31所加入的修正区块34沿着Y轴方向排列成12列。在这之后,以16个数据区段来重复此程序。因此,可以获得192(=12×16)列的修正区块34。
接下来,重复产生16个ECC外码(outer-code parity,PO)32,并加入于每一垂直分割的数据行。这里需注意,ECC内码32也被加入至修正区块34中的部分ECC内码31。
根据上述的程序,产生了包括16个数据区段的ECC区块30,如图1B右侧所示。此时,包含在一个ECC区块30内的信息总量,以下列式子表示:
(172+10)字节×(192+16)列=37856字节
其中的主数据24由下列式子表示:
2048字节×16=32768字节
在图1B的ECC区块30中,每一个字节以[D#.*]来表示。例如,[D1.0]指示位在第1列及第0行,[D190.170]指示位在列190及行170。因此,内码31位于各列的行172至181,而外码32位于各行的列192至207。修正区块34连续地记录于一光盘片中。
ECC区块30包括内码PI 31及外码PO 32,如图1B的右侧所示,图1B中沿着X轴方向排列的数据由内码PI 31所修正,且沿着Y轴方向排列的数据由外码PO 32所修正。因此,可以达到沿着ECC区块30内的两轴来执行错误修正。
更具体的说明,例如,假使包括外码31而一共具有182字节且连续地记录至光盘片的某些修正区块34,因光盘的物理性损伤而被破坏时,以Y轴方向而言,在一行中只有一个与外码32相关的字节数据遗失。因此,藉由使用在每一行的外码32来完成错误修正,既使是一个修正区块34完全地被破坏,也能够正确地由损坏位置来重制信息。
图2说明实际记录一包含于ECC区块30的数据区段20的方法。在图2中,以[D#.*]所指示的数据对应至图1B中右侧的数据。在图2中,记录数据区段20的时间上的程序,藉由编码器来执行。
当记录ECC区块30至一光盘片中时,首先,ECC区块30中的修正区块34的多数据列33沿着X轴方向排成一列,如图2的最上层所示,且ECC区块30接着被分散以分割成16个记录区段40(如图2的第二上层所示)。此时,一个记录区段40具有2366字节(=37856字节/16),包含数据区段20、外码PO 31及内码PI 32的总字节。然而,数据区段20内的识别信息21(参阅图1A)为在每一记录区段40的起始位置。
记录区段40被划分成多数据节41且标头H附加于每一数据节41,其中,每一数据节41包括数据及具有91字节。接着,藉由将具有多对数据节41及标头H的记录区段40由8位调制为16位,使得由一个数据节41产生一个同步帧42。此时,一个同步帧42由标头H’及数据节43所组成(如图2的中层所示)。更进一步地,一个同步帧42的数据量如下式所表示:
91字节×8×(16/8)=1456字节
然后,数据是以连续同步帧42的方式写入光盘。此时,一个记录区段40包括26个同步帧42。
使用所披露的实体格式以存储至一光盘片,当重制数据时,执行8至16解调器及结合(图2),以有效执行错误修正来重制原本的ECC区块30,以达到正确地重制数据。
如图3所示,美国专利5,815,472披露了一种信息记录装置,其是记录至如前所述的光盘片(如DVD-R)。以下的假设是在所述的实施例中,烧录讯号(Pre-Pit)为先形成在数据所要记录的信息轨道。接着,在记录的时间上,光盘片1的位置信息藉由检测烧录讯号而获得。因此,可得知DVD-R的记录位置。传统信息记录装置S包括拾音器(pick-up)2、放大器(AMP)3、译码器4、讯号电路5、轴电路(spindle circuit)6、伺服电路7、处理器(CPU)8、烧录讯号译码器9、电力控制电路11、激光驱动电路12以及接口13,如IDE总线。数据记录信号SR通过接口13由外部主机14输入至记录装置S。此外,烧录讯号译码器具有DRAM 10。
图4表示传统DVD光盘的编码流程。首先,通过接口13自主机14读取主数据,并将主数据写入至DRAM 10中(步骤S1)。接着,读取在DRAM 10的主数据(步骤S2)。接着,产生2字节的识别信息错误校正码(IED)以修正在4字节的识别信息的错误(步骤S3)。然后,产生了代表著作权的6字节储备数据(RSV)(步骤S4)。接下来,产生4字节的错误检测码(EDC)以修正在主数据的错误(步骤S5)。接着,混编(scramble)主数据(步骤S6),混编主数据可以减少规律的位图案造成大数字数据总和的可能性。因此,即获得数据区段。10字节的内码PI附加于16个数据区段的每一列中(步骤S7)。识别信息ID、识别信息错误校正码IED、储备数据RSV、错误检测码EDC、混编的主数据及内码PI存储在DRAM(步骤S8)。再次读取存储在DRAM的数据以产生16字节的外码PO(步骤S9),且外码PO存储在分散16个数据区段之间的DRAM中(步骤S10)。最后,读取存储在DRAM的数据以写入至DVD光盘中(步骤S11)。
然而,传统技术将导致大量数据在光学驱动IC及存储缓冲器(DRAM)间传送。由于内码PI与外码PO是根据储存在DRAM 10的混编主数据而产生,因此,必须先读取储存于DRAM 10的原始主数据并执行混编后,再重新储存至DRAM 10。再者,当主数据必须重复使用时,混编的主数据必须再次解混编(descramble)以产生对应的内码PI与外码PO。因此,光盘的记录速度受限于存储缓冲器的频宽。藉由增加存储器总线的时钟速度可增加光盘的记录速度,但是却增加了能量消耗。
具体实施方式
本发明提供一编码方法以减少存储器的数据存取时间以及占用频宽。根据本发明所披露的光学编码方法,是先产生外码P0,再产生内码PI。为了实现上述方法,本发明提供了一种垂直混编方法。
混编程序可以下式表示:
D’K=DK^SK(for K=0 to 2047) 方程式(1)
其中,D’K为混编后的数据字节;DK为主数据字节;SK为对应DK的混编字节;而符号“^”代表“异或(Exclusive OR)”运算。
一ECC区块是由16数据区段构成,一数据区段依序包括12字节的数据信息(2字节ID,4字节IED,以及6字节RSV),2048字节主数据以及4字节EDC。
图5A与图5B分别显示一数据区段结构,其中B0,0~B0,11分别为一字节数据信息的籽数值(seed value),B11,168~B11,171分别为一字节EDC的籽数值。D0~D2047为主数据,S0~S2047为对应的混编字节,而S0为主数据的启始籽数值。
记录单元为具有16数据区段的ECC区块是广为人知的,为了详细说明如何执行垂直混编以产生外码PO,本发明仅藉由单一数据区段说明。
图6显示根据本发明实施例所述的纪录方法的操作流程图。
410:由存储器读取主数据;
420:执行垂直混编以产生外码PO;
430:混编主数据以产生内码PI;以及
440:将依序附加数据信息、内码PI、以及外码PO的混编主数据储存至光盘片。
必须注意的是,在本发明中,外码PO藉由执行垂直混编以于内码PI之前产生。
图7显示单位元回授移位寄存器500以产生混编字节SK(K=0~2047)。图8显示根据DVD协议以产生混编字节SK的启始籽数值。此为本领域的技术人员所熟知,因此在此不再详述。
在此具有两种方法以于各混编字节衍生垂直混编。一传统方式是由启始籽数值S0依序衍生各混编字节。因此,由启始籽数值S0产生S1,接着由S1产生S2,其它混编字节可以相同方式产生。在得到所有混编字节S0~S2047后,执行垂直混编以产生外码PO(例如藉由垂直混编S160,S332,~S1880以产生PO0)。由上可知,混编字节是依序产生,而后才执行垂直混编,因此并未减少数据存取时间。
如图7所示,为了执行上述方法,当单位元回授移位寄存器500重复执行8次,下一个混编字节可由最后一个已知混编字节而得。
本发明根据单位元回授移位寄存器500重复执行8次位移后提供一第一混编字节计算方程式(方程式(2)),因此下一个混编字节可藉由将最后一个已知混编字节带入方程式(2)而得:
nr[0]=r[3]^r[7];nr[1]=r[4]^r[8];
nr[2]=r[5]^r[9];nr[3]=r[6]^r[10];
nr[4]=r[7]^r[11];nr[5]=r[8]^r[12];
nr[6]=r[9]^r[13];nr[7]=r[10]^r[14];
nr[8]=r[0];nr[9]=r[1];nr[10]=r[2];
nr[11]=r[3];nr[12]=r[4];nr[13]=r[5];
nr[14]=r[6]。 方程式(2)
其中,r[0]~r[14]为最后一个已知混编字节Sx,nr[0]~nr[14]为下一个未知混编字节Sx+1(x=0~2046),而符号“^”代表“异或(ExclusiveOR)”运算。
例如,图8是以十六进制显示移位寄存器500的启始值。将图8的启始值代入方程式(2),可得下一个混编字节S1(nr[0]~nr[7]),接下来将混编字节S1代入方程式(2),可得下一个混编字节S1,其它混编字节可以相同方式产生。
为了简化计算程序,本发明提供一第二混编字节计算方程式(方程式(3))。各混编字节可垂直产生,接下来,执行垂直混编程序以产生外码PO。例如,将已知启始籽数值S0代入方程式(3),则可得混编字节S172,再者依次为S344,S516,…S1892,接下来垂直混编S0,S172,S344,S516,…S1892以产生外码PO12。
以下显示第二混编字节计算方程式(方程式(3))。方程式(3)系预测重复执行方程式(2)172次的结果,因此172字节的后的混编字节可藉由方程式(3)而得:
nr[0]=r[1]^r[3]^r[5]^r[7]^r[8]^r[10]^r[11]^r[12]^r[13];
nr[1]=r[2]^r[4]^r[6]^r[8]^r[9]^r[11]^r[12]^r[13]^r[14];
nr[2]=r[0]^r[3]^r[5]^r[7]^r[9]^r[10]^r[11]^r[12]^r[13]^r[14];
nr[3]=r[0]^r[1]^r[4]^r[6]^r[8]^r[10]^r[12]^r[13]^r[14];
nr[4]=r[0]^r[1]^r[2]^r[5]^r[7]^r[9]^r[13]^r[14];
nr[5]=r[0]^r[1]^r[2]^r[3]^r[6]^r[8]^r[10]^r[11]^r[14];
nr[6]=r[0]^r[1]^r[2]^r[3]^r[4]^r[7]^r[9]^r[12];
nr[7]=r[1]^r[2]^r[3]^r[4]^r[5]^r[8]^r[12]^r[13];
nr[8]=r[2]^r[3]^r[4]^r[5]^r[6]^r[9]^r[11]^r[14];
nr[9]=r[0]^r[3]^r[4]^r[5]^r[6]^r[7]^r[10]^r[11]^r[12];
nr[10]=r[1]^r[4]^r[5]^r[6]^r[7]^r[8]^r[11]^r[12]^r[13];
nr[11]=r[2]^r[5]^r[6]^r[7]^r[8]^r[9]^r[12]^r[13]^r[14];
nr[12]=r[0]^r[3]^r[6]^r[7]^r[8]^r[9]^r[10]^r[11]^r[13]^r[14];
nr[13]=r[0]^r[1]^r[4]^r[7]^r[8]^r[9]^r[10]^r[12]^r[14];
nr[14]=r[0]^r[1]^r[2]^r[5]^r[8]^r[9]^r[10]^r[13]。 方程式(3)
其中,r[0]~r[14]为最后一个已知混编字节Sx,nr[0]~nr[14]为下一个未知混编字节Sx+172(x=0),而符号“^”代表“异或(Exclusive OR)”运算。
例如,将图8的启始值代入方程式(3),可得下一个混编字节S172(nr[0]~nr[7]),接下来将混编字节S172代入方程式(3),可得下一个混编字节S334,其它混编字节可以相同方式产生。
参阅图5B,根据本发明所述垂直产生外码PO的方法如下。以PO0为例,产生PO0的步骤包括:由启始籽数值S0左移12字节以产生数据区段的第一启始籽数值B0,0(例如ID的第一字节的启始籽数值)。必须注意的是,启始籽数值S0可为以第一启始籽数值B0,0执行方程式(2)12次后的结果,并因为“异或”运算,第一启始籽数值B0,0并非为唯一值(例如根据方程式(2),若nr[0]为1或r[3]或r[7]为1),接下来将已知第一启始籽数值B0,0代入方程式(3)以得混编字节S160,接下来将混编字节S160代入方程式(3)以得知混编字节S332…。当得到所有第一行C0的混编字节,将主数据以及对应混编字节代入方程式(1)以得到混编数据。最后执行垂直混编程序以得到PO0。
以PO13为例,产生PO13的步骤包括:将启始籽数值S0代入方程式(1)以得到下一个混编数据S1。接下来将已知混编数据S1代入方程式(2)以得混编字节S173,接下来将混编字节S173代入方程式(2)以得混编字节S345,其它混编字节可以相同方式产生。当得到所有第一行C13的混编字节,将主数据以及对应混编字节代入方程式(1)以得到混编数据。最后执行垂直混编程序以得到PO13。
根据本发明,藉由代入第一已知启始籽数值S0至方程式(3)可先预测PO12。同样的,根据本发明,藉由根据启始籽数值S0得知启始籽数值B0,0可先得知PO0,接下来可得知外码PO。
必须注意的是,本发明并未受限于上述方法。例如,藉由代入S1至方程式(3)可先得知S173,或藉由代入其它R2中的混编字节至方程式(2)至少一次。
其它外码PO0~PO172可以类似的方法得知,在此不予赘述以精简说明。
本发明提供垂直产生混编字节的方法,并提供一垂直混编方法以产生外码PO。因此,减少了存储器存取时间以及存储器频宽。
本发明虽以较佳实施例披露如上,然其并非用以限定本发明的范围,本领域技术人员在不脱离本发明的精神和范围的前提下,可做若干的更动与润饰,因此本发明的保护范围以本申请的权利要求为准。