数字总和变化量控制方法与装置 技术领域
本发明是有关于一种数字总和变化量控制方法与装置,且特别是有关于一种利用零数字总和变化量来求得数字总和变化量并得到最佳间隔位的方法与装置。
背景技术
现在的光盘(compact disk,以下简称CD)系统中,模拟(analog)的信号经过取样(sampling)、模拟/数字转换(A/D)而成为许多个16位(16bits)的数据,而此数据再被分割成为2个8位的字节(byte)亦可称之为符号(symbol),由于光驱的光学特性如果将这些符号直接写入CD中,则光驱在读取的时候会有非常多的问题产生。
为了解决这些问题,必须再将每个符号经过八至十四调制(Eight-to-Fourteen-Modulation,以下称之为EFM),使每个符号成为一个长度为14位的数据,称之为频道位(channel bit)数据,而此EFM可用一个内存作为找寻表(look-up table)来轻易达成。其中,每个频道位数据都可以符合光驱的游程长度(run-length)最低3位至最高11位的限制。
由于每个频道位以及下一个频道位的数据在写入时可能会产生不符合游程长度的情况,所以在每个频道位之间必须再插入3位的间隔位(merge bit)来确定存储入CD中的数据都能够完全符合游程长度的限制。
而间隔位有‘000’、‘001’、‘010’与‘100’四种,经由寻找,可找出其中的一或者多个间隔位适合插入频道位之间。
由于CD中的数据存储是在‘0’与‘1’状态变化时烧入一个坑(pit),光驱根据所烧入的坑来转变为不返回至零与倒置(Non-Return-to-Zero-and-Invert,以下简称NRZI)信号。
请参照图1,其所图示为起始值为高电平以及低电平的NRZI信号所对应的数据读取。经由读取CD上坑的位置,光驱可以转换为NRZI信号。而图1中I与II的曲线分别为起始电平为低电平与高电平的NRZI信号,不论起始值为低电平与高电平的NRZI信号均可以得到所对应的频道位数据(efm1、efm2与efm3)以及间隔位(m1、m2与m3),最后可再将间隔位去除,将剩下的14位数据转换回为所对应的符号(SYM1、SYM2与SYM3)。
接下来介绍数字总和变化量(Digital Sum Variation,以下简称DSV),所谓DSV就是每个位根据NRZI信号地低电平赋予一个负号(-1),高电平赋予一个正号(+1),请参照图1,以起始为低电平的NRZI信号曲线I来说明DSV1,由于efm1为‘01001000100000’,对照NRZI信号,起始t0时DSV1为‘0’,接着第一位‘0’在低电平所以DSV1累计为‘-1’,接着三位‘100’在高电平所以DSV1累计为‘+2’(-1+3=2),接着四位‘1000’在低电平所以DSV1累计为‘-2’(-1+3-4=-2),最后六位‘100000’在高电平所以t1时DSV1累计为‘+4’(-1+3-4+6=4)。
依照此原理,在t2时(efm1与m2总和)DSV1累计为‘+5’,在t3时(efm1、m2与efm2总和)DSV1累计为‘-3’,在t4时(efm1、m2、efm2与m3总和)DSV1累计为‘-2’,在t5时(efm1、m2、efm2、m3与efm3总和)DSV1累计为‘0’。而经过比较,起始为高电平的NRZI信号曲线所求得的DSV2和起始为低电平的NRZI信号曲线所求得的DSV1之间仅相差一个负号。
上述为现有的读取CD数据的过程,反之,若将符号经由EFM,再加入间隔位,最后写入CD中变为坑的程序就较为复杂。美国专利号码US5375249,公告日期1994年12月20日,三星电子公司所有的“Eight-to-fourteen-modulation circuit for a digital audio disc system”,利用DSV来找寻最适合的间隔位。
请参照图2,其所图示为现有的以IDSV来寻找最适合的间隔位程序,当efm1与efm2被转换完成后,装置会将所有的间隔位‘000’、‘001’、‘010’与‘100’依次置入频道位efm1与efm2中间,并计算各别的DSV(DSV1、DSV2、DSV3与DSV4)。
首先电路会先判断efm1与efm2之间所插入的间隔位是否违反游程长度的限制,如有违反游程长度的限制则将此间隔位抑制(inhibit),不能够置于efm1与efm2之间。而检测的方式则依次置入四种间隔位然后判断efm1中最后一个‘1’之后至下一个‘1’之间所有‘0’的个数是否在游程长度的限制内,以及判断efm2中第一个‘1’之前至上一个‘1’之间所有‘0’的个数是否在游程长度的限制内。
请参照图2,以频道位efm1‘01001000100000’与efm2‘00100100000000’为例,依次将四个间隔位置入efm1与efm2之间,可以得到以‘000’为间隔位的DSV1值为15,以‘001’为间隔位的DSV2值为-3,以‘010’为间隔位的DSV3值为-5,以‘100’为间隔位的DSV4值为-7,所以选择这些DSV中其绝对值最接近零的‘001’为间隔位(m2)置于频道位efm1与efm2之间。
同理,efm2与efm3之间,可以得到以‘000’为间隔位的DSV1值为-8,经由判断‘001’不符合游程长度的限制,以‘010’为间隔位的DSV3值为0,以‘100’为间隔位的DSV4值为2,所以选择这些DSV中其绝对值最接近零的‘010’为间隔位(m3)置于频道位efm1与efm2之间。而根据所选择的间隔位,最后可获得NRZI信号(起始值为低电平)。
现有的利用DSV来找寻最适合的间隔位装置,除了利用到一个EFM内存作为找寻表,并经EFM后得到14位长度数据的频道位外,必须还要使用另一个相关数据存储器的找寻表来记录每个14位长度数据与各别4个间隔位的相关数据,将相关数据存储器的输出送到间隔位产生器来判断出最好的DSV并选择出间隔位。
而现有的相关数据存储器的找寻表会记录每个14位长度的频道位数据与各别4个间隔位的相关数据,所以其内存大小非常大,相当浪费内存空间,并且间隔位产生器计算DSV的方法过于复杂。
发明内容
因此本发明提供一种数字总和变化量控制装置与方法,其利用零数字总和变化量来计算并求得数字总和变化量,并且可得到在频道位之间最佳间隔位的装置与方法。
本发明提供一种数字总和变化量控制装置,其利用更小的找寻表即可求得数字总和变化量。
本发明提出一种数字总和变化量控制装置,其简述如下
EFM内存接收符号并转换为相对应的频道位。PDSV内存接收符号并转换为相对应的频道位PDSV。游程长度检测抑制电路耦接至EFM内存的输出端,用以接收EFM内存所送出的频道位,并根据间隔位选择信号将多个间隔位做游程长度限制判断,并将不符合该游程长度限制判断的间隔位由INHIB0~3信号传送出去。ODD检测电路耦接至EFM内存的输出端,并根据ODD(t0~femn-1)信号与间隔位选择信号依次计算由初始时间至频道位的区间内所有‘1’的数目,并相对于这些间隔位送出多个ODD(t0~efmn)信号。DSV计算搜寻电路耦接至PDSV内存与ODD检测电路,用以根据间隔位选择信号接收多个ODD(t0~efmn)信号、频道位PDSV、ODD(t0~efmn-1)信号与ZDSVn-1信号,并根据间隔位选择信号计算出特定DSVn,而特DSVn所相对应的ZDSVn信号、最佳间隔位与特定ODD(t0~efmn)信号,并产生间隔位索引信号、ZDSVn信号与特定ODD(t0~efmn)信号输出。第三寄存器耦接至DSV计算搜寻电路,用以接收特定ODD(t0~efmn)信号并更新为ODD(t0~efmn-1)信号。第二寄存器耦接至DSV计算搜寻电路用以接收ZDSVn信号并更新为ZDSVn-1信号。
本发明提出一种数字总和变化量控制方法,其步骤如下
(a)提供频道位,并根据NRZI信号的初始电平计算频道位所对应的频道位PDSV与频道位ODD。
(b)将频道位PDSV设定为前一个频道位ZDSV,将频道位ODD设定为前一个频道位ODD。
(c)提供下一个频道位并根据NRZI信号的初始电平计算下一个频道位所对应的下一个频道位PDSV与下一个频道位ODD。
(d)提供第零间隔位并根据NRZI信号计算第零间隔位所对应的第零间隔位PDSV,并计算第零间隔位ODD,将前一个频道位ODD与第零间隔位ODD做XOR运算得到起始至第零间隔位ODD,将起始至第零间隔位ODD与下一个频道位ODD做XOR运算得到起始经第零间隔位至下一个频道位ODD,将前一个频道位ZDSV加上第零间隔位PDSV乘上-1的前一频道位ODD次方再加上下一个频道位PDSV乘上-1的起始至第零间隔位ODD次方得到第零ZDSV,并在NRZI信号的初始为低电平时,将第零ZDSV与起始经第零间隔位至下一个频道位ODD相加得到第零DSV,在NRZI信号的初始为高电平时,将第零ZDSV与起始经第零间隔位至下一个频道位ODD相减得到第零DSV,将第零间隔位置于前一个频道位与下一个频道位之间,并做游程长度限制判断,并在未通过游程长度限制判断时将第零DSV设定为不考虑值。
(e)提供第一间隔位并根据NRZI信号计算第一间隔位所对应的第一间隔位PDSV,并计算第一间隔位ODD,将前一个频道位ODD与第一间隔位ODD做XOR运算得到起始至第一间隔位ODD,将起始至第一间隔位ODD与下一个频道位ODD做XOR运算得到起始经第一间隔位至下一个频道位ODD,将前一个频道位ZDSV加上第一间隔位PDSV乘上-1的前一频道位ODD次方再加上下一个频道位PDSV乘上-1的起始至第一间隔位ODD次方得到第一ZDSV,并在NRZI信号的初始为低电平时,将第一ZDSV与起始经第一间隔位至下一个频道位ODD相加得到第一DSV,在NRZI信号的初始为该高电平时,将第一ZDSV与起始经第一间隔位至下一个频道位ODD相减得到第一DSV,将第一间隔位置于前一个频道位与下一个频道位之间,并做游程长度限制判断,并在未通过游程长度限制判断时将该第DSV设定为不考虑值。
(f)提供第二间隔位并根据NRZI信号计算第二间隔位所对应的第二间隔位PDSV,并计算第二间隔位ODD,将前一个频道位ODD与第二间隔位ODD做XOR运算得到起始至第二间隔位ODD,将起始至第二间隔位ODD与下一个频道位ODD做XOR运算得到起始经第二间隔位至下一个频道位ODD,将前一个频道位ZDSV加上第二间隔位PDSV乘上-1的前一频道位ODD次方再加上下一个频道位PDSV乘上-1的起始至第二间隔位ODD次方得到第二ZDSV,并在NRZI信号的初始为低电平时,将第二ZDSV与起始经第二间隔位至下一个频道位ODD相加得到第二DSV,在NRZI信号的初始为该低电平时,将第二ZDSV与起始经第二间隔位至下一个频道位ODD相减得到第二DSV,将第二间隔位置于前一个频道位与下一个频道位之间,并做游程长度限制判断,并在未通过该游程长度限制判断时将第二DSV设定为不考虑值。
(g)提供第三间隔位并根据NRZI信号计算第三间隔位所对应的第三间隔位PDSV,并计算第三间隔位ODD,将前一个频道位ODD与第三间隔位ODD做XOR运算得到起始至第三间隔位ODD,将起始至第三间隔位ODD与下一个频道位ODD做XOR运算得到起始经第三间隔位至下一个频道位ODD,将前一个频道位ZDSV加上第三间隔位PDSV乘上-1的前一频道位ODD次方再加上下一个频道位PDSV乘上-1的起始至第三间隔位ODD次方得到一第三ZDSV,并在NRZI信号的初始为低电平时,将第三ZDSV与起始经第三间隔位至下一个频道位ODD相加得到第三DSV,在NRZI信号的初始为高电平时,将第三ZDSV与起始经第三间隔位至下一个频道位ODD相减得到第三DSV,将第三间隔位置于前一个频道位与下一个频道位之间,并做游程长度限制判断,并在未通过游程长度限制判断时将第三DSV设定为不考虑值。
(h)将第零DSV、第一DSV、第二DSV与第三DSV做绝对值运算,并比较第零DSV、第一DSV、第二DSV与第三DSV。
(i)当第零DSV的绝对值最接近零,将下一个频道位设定为前一个频道位,将第零ZDSV设定为前一个频道位ZDSV,将起始经第零间隔位至下一个频道位ODD设定为前一个频道位ODD,跳至步骤(c)。
(j)当第一DSV的绝对值最接近零,将下一个频道位设定为前一个频道位,将第一ZDSV设定为前一个频道位ZDSV,将起始经第一间隔位至下一个频道位ODD设定为前一个频道位ODD,跳至步骤(c)。
(j)当第二DSV的绝对值最接近零,将下一个频道位设定为前一个频道位,将第二ZDSV设定为前一个频道位ZDSV,将起始经第二间隔位至下一个频道位ODD设定为前一个频道位ODD,跳至步骤(c)。
(k)当第三DSV的绝对值最接近零,将下一个频道位设定为前一个频道位,将第三ZDSV设定为前一个频道位ZDSV,将起始经第三间隔位至下一个频道位ODD设定为前一个频道位ODD,跳至步骤(c)。
为让本发明的上述目的、特征、和优点能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:
附图说明
图1其所图示为起始值为高电平以及低电平的NRZI信号所对应的数据读取;
图2其所图示为四个间隔位置于频道位之间并计算DSV以及选择最佳间隔位;
图3a其所图示为NRZI信号起始值为低电平时,所有频道位与间隔位中有奇数个‘1’的情况下DSV与ZDSV比较;
图3b其所图示为NRZI信号起始值为低电平时,所有频道位与间隔位中有偶数个‘1’的情况下DSV与ZDSV比较;
图4其所图示为计算ZDSV的算法;
图5其所图示为NRZI信号起始值为高电平时,所有频道位与间隔位中有奇数个‘1’的情况下DSV与ZDSV比较;
图6其所图示为本发明数字总和变化量控制器的装置方块图;
图7其所图示为本发明DSV计算电路的电路方块图;
图8其所图示为本发明DSV计算电路的电路方块图;以及
第9图其所图示为在DVD系统中计算ZDSV的算法。
具体实施方式
首先介绍零数字总和变化量(Zero Digital Sum Variation,以下简称ZDSV),所谓ZDSV就是根据NRZI信号中每个为‘0’的位在低电平赋予一个负号(-1),高电平赋予一个正号(+1)。请参照图3a,其所图示为NRZI信号起始值为低电平时,所有位中有奇数个‘1’的情况下DSV与ZDSV比较。对照NRZI信号与第一个频道位(efm1),起始时ZDSV为‘0’,接着第一位‘0’在低电平所以ZDSV累计为‘-1’,接着三位‘100’在高电平,其中有二个‘0’,所以ZDSV累计为‘+1’(-1+2=+1),接着四位‘1000’在低电平,其中有三个‘0’,所以ZDSV累计为‘-2’(-1+2-3=-2),最后六位‘100000’在高电平,其中有五个‘0’,所以在t1时ZDSV累计为‘+3’(-1+2-3+5=+3)。
依照此原理,在t2时ZDSV(efm1与m2)累计为‘+1’,在t3时ZDSV(efm1、m2与efm2)累计为‘-3’,在t4时ZDSV(efm1、m2、efm2与m3)累计为‘-3’,在t5时ZDSV(efm1、m2、efm2、m3与efm3)累计为‘3’。
而依照现有的求取DSV的计算方式,在t1时DSV累计为‘+4’,在t2时DSV累计为‘+1’,在t3时DSV累计为‘-3’,在t4时DSV累计为‘-2’,在t5时DSV累计为‘4’。
请参照图3b,其所图示为NRZI信号起始值为低电平时,所有位中有偶数个‘1’的情况下DSV与ZDSV比较。
在t1时ZDSV累计为‘+3’,在t2时ZDSV累计为‘+6’,在t3时ZDSV累计为‘+10’,在t4时ZDSV累计为‘+10’,在t5时ZDSV累计为‘4’。
而在t1时DSV累计为‘+4’,在t2时DSV累计为‘+7’,在t3时DSV累计为‘+11’,在t4时DSV累计为‘+10’,在t5时DSV累计为‘4’。
由以上的二个范例,我们可以得到,所有‘1’的个数为奇数时,NRZI信号变换奇数次,此时DSV与ZDSV相差1,DSV=ZDSV+1,而所有‘1’的个数为偶数时,ZRZI变换偶数次,此时DSV与ZDSV相差0,亦即DSV等于ZDSV。
接下来我们示范如何计算ZDSV以及如何将ZDSV转换为DSV。以下皆以图3a来说明,介绍相关的变量。
GZn(第n群零的数目):在第n个群(Group)之内‘0’的个数,在一连串的频道位与间隔位中,‘1’即用来作为间隔群的符号。请参照图3a,由t0开始计算,第1群有1个‘0’,所以GZ1=1,第2群有2个‘0’,所以GZ2=2,第3群有3个‘0’,所以GZ3=3,....以此类推。
ZDSV(零数位总和变化量):在起始时根据NRZI信号所累积的值,由于起始电平为低电平所以第一个群为负号,可推导出ZDSV=Σx=1nGZx×(-1)x,]]>所以在t5时共有10群,因此得到ZDSV=(-1)×GZ1+(1)×GZ2+(-1)×GZ3+(1)×GZ4+(-1)×GZ5+(1)×GZ6+(-1)×GZ7+(1)×GZ8+(-1)×GZ9+(1)×GZ10=(-1)+(2)+(-3)+(5)+(-2)+(4)+(-9)+(2)+(-3)+(8)=3。PDSV(段)(特定段的零数位总和变化量):部分的(Partial)ZDSV计算,而段(segment)可以是14位长度的频道位efm1、efm2或efm3...,也可以是3个位长度的间隔位m2或m3....,此PDSV仅考虑以频道位或者间隔位的起始处做为第1群的开始,亦即PDSV=Σx=1nGZx×(-1)x:]]>PDSV(efm1)=Σx=14GZx×(-1)x=(-1)+(2)+(-3)+(5)=3]]>
PDSV(m2)=2
PDSV(efm2)=(4)+(-8)=-4
PDSV(m3)=(-1)+(1)=0
PDSV(efm3)=(-1)+(3)+(-8)=-6
ZDSV(段)(由起始值开始计算特定段的零数字总和变化量):与PDSV类似,但其群的计算要从起始时开始计算,亦即PDSV=Σx=mpGZx×(-1)x,]]>式中m为由起始处至段的开始处其群的数目,即ZDSV(efm1)=Σx=14GZx×(-1)x=(-1)+(2)+(-3)+(5)=3]]>ZDSV(m2)=Σx=55GZx×(-1)x=-2]]>ZDSV(efm2)=Σx=67GZx×(-1)x=(4)+(-8)=-4]]>ZDSV(m3)=Σx=78GZx×(-1)x=(-1)+(1)=0]]>ZDSV(efm3)=Σx=810GZx×(-1)x=(1)+(-3)+(8)=6]]>
ODD(区间)(区间内‘1’数目的判断函数):在任何区间中,‘1’的数目总和为奇数个,则ODD(区间)=1,否则ODD(区间)=0,其区间的定义可为t0时间至任意频道位或者间隔位之间作为区间,亦可以将任意频道位或者间隔位作为区间。即:
ODD(efm1)=1;(3个‘1’)
ODD(m2)=1;(1个‘1’)
ODD(efm2)=0;(2个‘1’)
ODD(m3)=1;(1个‘1’)
ODD(efm3)=0;(2个‘1’)
ODD(t0~efm1)=ODD(efm1)=1;(3个‘1’)
ODD(t0~m2)=0;(4个‘1’)
ODD(t0~efm2)=0;(6个‘1’)
ODD(t0~m3)=1;(7个‘1’)
ODD(t0~efm3)=1;(9个‘1’)
由上方程式可以得到一个结论:
ODD(t0~m2)=ODD(efm1)ODD(m2)
=11=0;代表XOR
ODD(t0~efm2)=ODD(t0~m2)ODD(efm2)
=00=0
ODD(t0~m3)=ODD(t0~efm2)ODD(m3)
=01=1
ODD(t0~efm3)=ODD(t0~m3)ODD(efm3)
=10=1
请参照图4,其所图示为计算ZDSV的算法。在第n-1个符号(SYMn-1)经过EFM得到第n-1个频道位efmn-1,第n个符号(SYMn)经过EFM得到第n个频道位efmn,而mn为二频道位间所插入的间隔位。
首先ZDSVn-1与ODD(t0~efmn-1)都可以由起始时开始计算得知,而PDSV(mn)、ODD(mn)、PDSV(efmn)与ODD(efmn)则可以在间隔位与频道位输入时即可得知,并且ZDSV(mn)=PDSV(mn)*(-1)ODD(t0~efmn-1)]]>
ODD(t0~mn)=ODD(t0~efmn-1)ODD(mn);ZDSV(efmn)=PDSV(efmn)*(-1)ODD(t0~mn)]]>
ODD(t0~efmn)=ODD(t0~mn)ODD(efmn)
=ODD(t0~efmn-1)ODD(mn)ODD(efmn)
所以可以得到ZDSVn的通式ZDSVn=ZDSVn-1+ZDSV(mn)+ZDSV(efmn)]]>=ZDSVn-1+PDSV(mn)*(-1)ODD(t0~efmn-1)+PDSV(efmn)*(-1)ODD(t0~mn)]]>
最后可以求得
DSVn=ZDSVn+ODD(t0~efmn)
在群数为奇数时ODD函数为1,所以DSV=ZDSV+1,群为偶数时ODD函数为0,所以DSV=ZDSV。
当NRZI信号起始值为高电平时,其ZDSV与DSV类似。请参照图5,其所图示为NRZI信号起始值为高电平时,所有位中有奇数个‘1’的情况下DSV与ZDSV比较。对照NRZI信号,起始时ZDSV为‘0’,接着第一位‘0’在高电平所以ZDSV累计为‘+1’,接着三位‘100’在低电平,其中有二个‘0’,所以ZDSV累计为‘-1’,接着四位‘1000’在高电平,其中有三个‘0’,所以ZDSV累计为‘+2’,最后六位‘100000’在低电平所以t1时ZDSV累计为‘-3’。
依照此原理,在t2时ZDSV累计为‘-1’,在t3时ZDSV累计为‘+3’,在t4时ZDSV累计为‘+3’,在t5时ZDSV累计为‘-3’。
而在t1时DSV累计为‘-4’,在t2时DSV累计为‘-1’,在t3时DSV累计为‘+3’,在t4时DSV累计为‘+2’,在t5时DSV累计为‘-4’。
同理在NRZI信号起始值为高电平时,所有‘1’的个数为奇数时,ZRZI变换奇数次,此时DSV与ZDSV相差1,DSV=ZDSV-1,所有‘1’的个数为偶数时,ZRZI变换偶数次,此时DSV与ZDSV相差0,亦即DSV等于ZDSV。
接下来我们示范如何计算ZDSV以及如何将ZDSV转换为DSV。以下皆以图5来说明,并介绍相关的变量。
GZn:在第n个群(Group)之内‘0’的个数,而‘1’即是间隔群的符号。由t0开始,第1群有1个‘0’,GZ1=1,第2群有2个‘0’,GZ2=2,第3群有3个‘0’,GZ3=3,....以此类推。
ZDSV:由起始时所累积的值,ZDSV=Σx=1nGZx×(-1)x+1,]]>由于NRZI起始值为正,所以上式的次方项为x+1,所以在t5时ZDSV=(1)+(-2)+(3)+(-5)+(2)+(-4)+(9)+(-2)+(3)+(-8)=-3。
PDSV(段):部分的(Partial)ZDSV计算,而段(segment)可以是14位长度的频道位efm1、efm2或efm3...,也可以是3个位长度的间隔位m2或m3....,此PDSV仅考虑以本身起始处做为第1群的开始,亦即PDSV=Σx=1nGZx×(-1)x+1:]]>PDSV(efm1)=Σx=14GZx×(-1)x+1=(1)+(-2)+(3)+(-5)=-3]]>
PDSV(m2)=-2
PDSV(efm2)=(-4)+(8)=4
PDSV(m3)=(1)+(-1)=0
PDSV(efm3)=(1)+(-3)+(8)=6
ZDSV(段):与PDSV类似,但其群的计算要从起始时开始计算,亦即PDSV=Σx=mpGZx×(-1)x+1,]]>式中m为由起始处至段的开始时所有的群的数目,即ZDSV(efm1)=Σx=14GZx×(-1)x+1=(1)+(-2)+(3)+(-5)=-3]]>ZDSV(m2)=Σx=55GZx×(-1)x+1=2]]>ZDSV(efm2)=Σx=67GZx×(-1)x+1=(-4)+(8)=4]]>ZDSV(m3)=Σx=78GZx×(-1)x+1=(1)+(-1)=0]]>ZDSV(efm3)=Σx=810GZx×(-1)x+1=(-1)+(3)+(-8)=-6]]>
ODD(区间):在区间中,‘1’的数目总和为奇数个,则ODD(区间)=1,‘1’的数目总和为耦数个,则ODD(区间)=0。
所以亦可由图4求出ZDSV的算法。第n-1个符号(SYMn-1)经过EFM得到第n-1个频道位efmn-1,第n个符号(SYMn)经过EFM得到第n个频道位efmn,而mn为二频道位间所插入的间隔位。
首先ZDSVn-1与ODD(t0~efmn-1)都可以由起始时开始计算得知,而PDSV(mn)、ODD(mn)、DSV(efmn)与ODD(efmn)则可以在间隔位与频道位输入时即可得知,并且ZDSV(mn)=PDSV(mn)*(-1)ODD(t0~efmn-1)]]>
ODD(t0~mn)=ODD(t0~efmn-1)ODD(mn);代表XORZDSV(efmn)=PDSV(efmn)*(-1)ODD(t0~mn)]]>
ODD(t0~efmn)=ODD(t0~mn)ODD(efmn)
=ODD(t0~efmn-1)ODD(mn)ODD(efmn)
所以可以得到ZDSVn的通式ZDSVn=ZDSVn-1+ZDSV(mn)+ZDSV(efmn)]]>=ZDSVn-1+PDSV(mn)*(-1)ODD(t0~efmn-1)+PDSV(efmn)*(-1)ODD(t0~mn)]]>
最后可以求得
DSVn=ZDSVn-ODD(t0~efmn)
在群数有奇数个时ODD函数为1,所以DSV=ZDSV-1,群为偶数时ODD函数为0,所以DSV=ZDSV。
请参照图6,其所图示为本发明数字总和变化量控制器的装置方块图。本实施例仅对于NRZI起始值为低电平来做说明,EFM内存100与PDSV内存110为二个内存,用来作为找寻表使用,针对每一个输入的SYMn都可以找出相对应的频道位efmn与PDSV(efmn)。
efmn与PDSV(efmn)得到之后,接着此装置根据间隔位选择信号(mn_SEL)依次将不同的四个间隔位置于efmn与前一个efmn-1之间来做ZDSV与DSV的计算并且判断。
而介于游程长度检测电路130与抑制电路160的方块用来作为判断插入的间隔位是否会违反游程长度的限制,首先游程长度检测电路130会将输入的efmn的14个位作群的判断,将第1群的GZ1当作LRUNn,将最后1群的GZLAST当作RRUNn,以‘01001000100000’作为范例,GZ1=1所以LRUNn=1,GZLAST=5所以RRUNn=5,而第一寄存器150用来存储前一个efmn-1的RRUNn-1,当LRUNn与RRUNn由游程长度检测电路130传送出时,RRUNn传至第一寄存器150,将取代RRUNn-1并且RRUNn-1输出至抑制电路160。
当间隔位选择信号(mn_SEL)依次产生四次的动作输入至抑制电路160时,抑制电路160会读取LRUNn与RRUNn-1,抑制电路160接收到RRUNn-1与LRUNn并根据间隔位选择信号依次将四个间隔位插入RRUNn-1与LRUNn之间,并判断是否有特定的间隔位会违反游程长度的限制。而依次判断四次之后违反游程长度的间隔位会经由INHIBIT0~3信号线被送至搜寻电路170内,而搜寻电路170会先行排除这些间隔位插入efmn-1与efmn后所产生的DSVn,剩下的DSVn再进行判断。
而根据上述所推导的方程式,DSV计算电路300可计算出各别的间隔位插入频道位efmn-1与efmn之间所得到的DSVn,其动作情形如下:
ODD检测电路120接收ODD(t0~efmn-1),以及接收efmn并计算出ODD(efmn),最后根据间隔位选择信号依次将四个各别的间隔位的ODD(mn)计算出来,再依次做ODD(t0~efmn-1)ODD(mn)ODD(efmn)可得到四个ODD(t0~efmn),输入DSV计算电路300内。
DSV计算电路300根据第1个间隔位选择信号,产生ODD(mn)与PDSV(mn),并接收PDSV(efmn)、ODD(t0~efmn)、ZDSVn-1与ODD(t0~efmn-1),接着求出:ZDSVn=ZDSVn-1+ZDSV(mn)+ZDSV(efmn)]]>=ZDSVn-1+PDSV(mn)*(-1)ODD(t0~efmn-1)+PDSV(efmn)*(-1)ODD(t0~mn)]]>
而ODD(t0~mn)=ODD(t0~efmn-1)ODD(mn)
最后求出DSVn=ZDSVn+ODD(t0~efmn),并经由DSVn(m0)信号线输出至搜寻电路170与第一多路复用器220并锁住(latch),而ODD(t0~efmn)再由ODD(t0~efmn)m0信号线输出至第二多路复用器180并锁住。
同理第2个、第3个与第4个间隔位选择信号会各别的经由DSVn(m1)、DSVn(m2)与DSVn(m3)信号线输出至搜寻电路170并由第一多路复用器220锁住,而各别的ODD(t0~efmn)再由ODD(t0~efmn)m1、ODD(t0~efmn)m2与ODD(t0~efmn)m3信号线输出至第二多路复用器180并且锁住。
搜寻电路170先判断由INHIBIT0~3传递的信号,并将此信号相对应的间隔位所产生的DSVn排除,接着判断剩下其它的DSVn,并选定加上绝对值后其DSVn最小者所对应的间隔位,即为所选定的最佳间隔位,所选择的最佳间隔位再经由间隔位索引(mn-index)信号线,回传至第二多路复用器180,而第二多路复用器180会将所选定的最佳间隔位的ODD(t0~efmn)送至第三寄存器190。而由mn-index回传至第一多路复用器220会将所选定的最佳间隔位的DSVn送出,而由于ZDSVn=DSVn-ODD(t0~efmn),所以再经过减法电路210作为DSVn与ODD(t0~efmn)的相减(如果NRZI信号的初始电平为高电平则必须利用加法电路才能够得到ZDSVn),而得到的ZDSVn送至第三寄存器200,而此时存储在第二寄存器220与第三寄存器190的ZDSVn与ODD(t0~efmn),可作为下一个SYMn的ZDSVn-1与ODD(t0~efmn-1),进而继续寻找下一个最佳间隔位的动作。
请参照图7,其所图示为本发明ODD检测电路的电路方块图。假设隔位选择信号mn-SEL选择第0号的间隔位时(m0),多路复用器122会输出ODD(m0),而频道位的efmn经过XOR 124产生ODD(efmn),再经由XOR 126与XOR 128,将ODD(efmn)、ODD(mn)与ODD(t0~efmn-1)做互斥或的处理最后可以得到ODD(t0~efmn),而此步骤为间隔位选择信号mn-SEL选择第0号的间隔位所产生的,故将之命名为ODD(t0~efmn)m0。
同理,当间隔位选择信号mn-SEL选择第1、2与3号的间隔位其会产生ODD(t0~efmn)m1、ODD(t0~efmn)m2与ODD(t0~efmn)m3。
请参照图8,其所图示为本发明DSV计算电路的电路方块图。假设隔位选择信号mn-SEL选择第0号的间隔位时(m0),多路复用器310与多路复用器320会输出PDSV(m0)与ODD(m0),而PDSV(m0)与ODD(m0)分别与ODD(t0~efmn-1)经过XOR 330与XOR 340产生ZDSV(mn)与ODD(t0~mn),而ODD(t0~mn)再与PDSV(efmn)经过XOR 350产生ZDSV(efmn),加法器360将ZDSV(mn)与ZDSV(efmn)相加,加法器370再将ZDSVn-1加入,并根据ODD检测电路120电路所送出的ODD(t0~efmn)m0当做加法器370的进位位(carry bit),最后可以产生DSVn,而此步骤为间隔位选择信号mn-SEL选择第0号的间隔位所产生的,故将之命名为DSVn(m0)存储在寄存器380内,而ODD(t0~efmn)m0亦存储在寄存器380内。
同理,当间隔位选择信号mn-SEL选择第1、2与3号的间隔位,其会依次产生DSVn(m1)与ODD(t0~efmn)m1存储在寄存器381内,产生DSVn(m2)与ODD(t0~efmn)m2存储在寄存器382内,产生DSVn(m3)与ODD(t0~efmn)m3存储在寄存器383内,而这些信号可以送至搜寻电路170做最后的最佳间隔位的选择与判断。
而本发明ZDSV的计算方法亦可以应用在DVD的系统中,在DVD系统中,8位的符号(SYM)亦会经由EFM产生多个16位数据长度的频道位(efm),也就是说,一个8位长度的符号可对应至多个16位数据长度的频道位,如此可以免除间隔位的插入,只要找寻其中一个相对应的频道位,其可以符合游程长度的限制,就可以将数据写入。
请参照第9图,其所图示为在DVD系统中计算ZDSV的算法。第n-1个符号(SYMn-1)经过EFM得到efmn-1,第n个符号(SYMn)经过EFM可得到多个与SYMn对应的符合频道位efmn_i。
首先ZDSVn-1与ODD(t0~efmn-1)为已知,而多个符合频道位efmn_i亦可以求出各别的PDSV(efmn_i)与ODD(efmn_i)。经由计算可以得到ZDSV(efmn_i)=PDSV(efmn_i)*(-1)ODD(t0~efmn-1)]]>
ODD(t0~efmn_i)=ODD(t0~efmn-1)ODD(efmn_i)
所以可以得到ZDSVn_i的通式ZDSVn_i=ZDSVn-1+ZDSV(efmn-1)]]>=ZDSVn-1+PDSV(efmn_i)*(-1)ODD(t0~efmn-1)]]>
最后可以求得
DSVn_i=ZDSVn_1+0DD(t0~efmn_i)
将各别相对于SYMn的所有符合频道位efmn_i都代入上式求得多个DSVn_i,将绝对值最小的DSVn_i所对应的符合频道位efmn_i作为最佳频道位efmn并将数据写入。如此即可利用本发明的ZDSV算出DSV并找出最佳的频道位。
因此,本发明的优点是提出一种数字总和变化量控制装置与方法,其利用零数字总和变化量来计算并求得数字总和变化量,并且可得到最佳间隔位的装置与方法。
本发明的另一优点是提出一种数字总和变化量控制装置,其利用更小的找寻表即可求得数字总和变化量。
综上所述,虽然本发明已以优选实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。