存储的数字数据中数据误差的检测和 隐蔽方法及有关设备 本发明涉及用可靠性较低的存储装置临时存储多位数字数据的一种方法和有关设备。
在多位数字数据处理过程中,往往需要临时存储多位数字数据。存储装置就是用来作这存储的。通常,从这类存储装置检索出的数据必须是与原先存储的数据一模一样的复制品。但在某些应用场合,虽然高度要求所检索的数据为原先存储的数据的复制器,但这种要求并非是强制性的。
这类应用场合的一个实例是影象摄录机、无带电话回话机或无带录音机之类设备中数字形式声频数据的处理。这类应用场合不要求例如计算机的存储器所要求的那种绝对保真度。在这类设备中,模拟声频信号用一系列多位数字抽样表示,各抽样的二进制值表示相应的模拟声频信号值。这类抽样可例如用耦合到模拟声频信号源地模/数转换器或用数字光盘播放机产生。在这类声频信号的处理过程中,表示声频信号的一系列数字抽样存入存储装置中,以后加以检索以进一步进行处理。
在上述应用场合,对所检索的数据不要求相对于原先存储的数据的绝对保真度,因而可以采用非十全十美、叫做声频读/写存储器(ARAM)的存储装置。这种不太完美的存储装置比十全十美的存储装置便宜。由于所检索的抽样容许有某些程度的不保真,因而用这类存储装置可以降低声频设备的价格而觉察不到在性能方面的下降。现有技术的这类系统对数据存储引起的误差和检索误差不进行处理。但这在有误差出现时会严重降低设备的性能。因此总希望能有一种处理因采用这类存储器而产生的误差的方法。
按照本发明的原理提出的方法和设备,可以检测和隐蔽所存储数字抽样中的误差。先是接收多位数字输入抽样,计算对应于该输入抽样且具预定二进制位数的误差检测码。接着用误差检测码代替输入抽样的预定数量的二进制位从而产生多位数字存储抽样,再将存储抽样存入存储装置中。原先存储的抽样从存储装置中检索之后加以分析,以检测有无误差产生。若检测出误差,就差生一代替抽样代替被检索的抽样,这种代替抽样通过某些措施(例如内插处理)将误差隐蔽起来。不然就产生所检索的抽样。
应用本发明的设备可以采用ARAM之类不太完美的存储装置来存储不要求绝对保真度的数字抽样。这样做既降低了设备的造价又使这类系统性能的降低不引人注目。
附图中:
图1是本发明用以将数据写入存储装置中的设备的方框图;
图2是本发明用以从存储装置读取原先写入的数据的设备的方框图;
图3是图2所示读取设备的一部分更详细的方框图;
图4和图5的波形图有助于理解图3所示读取设备的那一部分的工作过程。
图1是本发明用以将数据写入存储装置中的设备的方框图。图1中,数据源10按周知的方式产生连续的多位数字抽样流,各抽样由多个按周知方式从最低有效位(LSB)到最高有效位(MSB)排列的二进制位组成。数字抽样在数据源10的输出端依次产生。除LSB外,数据源10的输出端耦合到误差检测码(EDC)发生器30和存储装置20各自的输入端。EDC发生器30的输出提供给存储装置20的LSB输入端,代替数字数据源的LSB。
EDC发生器30可以是何一种周知的能产生其中一个的多误差检测码位的发生器,在所举的实施例中为奇偶发生器。通常,EDC发生器30产生的一定数量的误差检测码位在数据源10的数据字存入存储装置20之前代替该数据字同数量的LSB。其余的误差检测码位的应用与奇偶发生器30和单奇偶检验位有关,但本技术领域的行家们都知道,任何一个周知的能检测任何数目的误差检测码位的误差检测码都可作为代用品。
工作时,存储装置20是个不太完美的存储装置,其某些存储单元在从这些存储单元检索数据时产生错误的结果。为检测存储器20的误差而不致增加所要求的存储容量的情况下,减小数字数据流所表示的数字数据的分辨率(例如减小1个数据位),并用误差检测码(例如取奇偶检验位的形式)代替该数据位。举例说,数字声频信号为16位时,从各抽样除去LSB,从而得出分辨率为15位的声频信号。如上所述,在某些声频应用场合(例如电话回话机),用户是觉察不出分辨率的下降的。
奇偶发生器30按周知的方式给加到其输入端的全值(16位)数字抽样产生奇偶校验位(减去任何待废除的任何二进制位)。在所举的实施例中,奇偶校验位为奇数奇偶校验位,但也可以采用偶数奇偶校验位。此奇偶校验位附到分辨率减小(15位)的数字声频信号抽样上作为其LSB。奇偶校验位的性质是其逻辑“1”值和逻辑“0”值大致相等。因此,此二进制位附加到数字抽样作为LSB引起的直流偏差即使在寂静时间也是可以忽略不计的。此外,采用奇偶校验位作为LSB还会产生合乎需要的高频振动作用。此奇偶编码的数字抽样存入存储装置控制器(图中未示出)按周知方式控制的存储单元中。
图2是本发明用以从存储装置20读取原先写入的数据的设备方框图。图2中,存储装置20是图1中所示的同一个存储装置。存储装置20的输出端耦合到误差检测器60和误差校正器40各自的输入端。误差检测器60相当于(图1的)误差检测码发生器30,它可以是任何一种能指示误差检测码发生器30所编码的数据完整性的电路。在所举的实施例中,误差检测码发生器是个奇偶发生器,误差检测器是个奇偶校验电路60。误差校正器40的多位输出端按下面即将谈到的方式产生误差经校正的连续多位数字抽样(图中用粗信号线表示),且耦合到利用电路50的相应输入端。误差检测器60的输出端耦合到误差校正器40的控制输入端。
工作时,存储装置20从其由存储器控制器(图中未示出)按周知方式控制的存储单元中检索数据信号抽样。所检索的抽样的二进制位可以和原先存储的抽样的不同。误差检测器60对所检索的抽样进行数据完整性的校验,并在所检索的抽样中检测出误差时产生误差信号。此误差信号提供给误差校正器40,由误差校正器40根据误差信号进行校正,这在下面将更详细地绍。误差校正器40产生连续的多位数字抽样流,这些抽样不是表示原来存储的数据信号就是起减小因存储装置20的误差(例如因上一个良好数据抽样与下一个良好数据抽样之间的线性内插处理)而引入信号的噪声作用。误差校正器40将该抽样流提供给利用电路50。误差检测器60和误差校正器40在从存储装置20有缺陷的存储单元检索数字抽样时起联合校正作用。利用电路50处理误差校正过的数据流。举例说,在无带录音机中,利用电路可以包括数/模转换器、声频放大器和扬声器。
图3是图2所示误差校正器40更详细的方框图,图4和图5的波形图有助于理解该设备所述部分的工作过程。图3中,粗信号线表示传送多位数字信号的信号通路,细信号线表示传送单一二进制位数字信号或时钟信号的信号通路。图3中,输入端48耦合到存储器20(图2)的输出端。输入端48耦合到奇偶校验电路60的输入端和第一锁存器41的数据输入端。第一锁存器41的输出端耦合到第二锁存器42的数据输入端和加法器43的输入端。第二锁存器42的输出端耦合到多路调制器44的第一数据输入端和加法器43的第二输入端。加法器43的输出端通过2分频电路45耦合到多路调制器44的第二数据输入端。加法器43和2分频电路45合起来形成平均值电路46。多路调制器44的输出端耦合到输出端49。输出端49耦合到(图2的)利用电路50的输入端。
奇偶校验电路60的奇偶校验差错输出端耦合到控制电路47的误差输入端E。时钟脉冲发生器(图中未示出)耦合到控制电路47的时钟输入端C。控制电路47的第一选通输出端S1耦合到第一锁存器41的控制输入端,控制电路47的第二选通输出端S2耦合到第二锁存器42的控制输入端,控制电路47的多路调制器控制信号输出端SEL则耦合到多路调制器44的控制输入端。
现在结合图4和图5所示的波形图说明图3所示的设备的工作过程。工作时,时钟脉冲发生器(图中未示出)产生与存储器20按周知的方式产生的数字数据抽样同步的时钟信号。参看图4。抽样序列展示在最上行DATAIN。列举的第一抽样为S0,其次为S1,如此类推。控制电路47误差输入端E处的误差信号展示在图4的第二行ERROR。此信号低时,表明相应的抽样中没有误差出现,而信号高时则表明奇偶校验电路60检测出奇偶校验差错。
各抽样的误差信号由控制电路47求出其信号值。当误差信号表明没有误差出现时,控制电路47给第一锁存器41提供选通信号STROBE1,如图4的第三行所示。在第一选通信号STROBE1的下降沿处,第一锁存器41锁存来自输入数据输入端48的信号,并将其按周知的方式提供给其输出端。第一锁存器41的输出如图4中的第四行所示。
同样,控制电路47给第二锁存器42提供第二选通信号STROBE2,如图4的第四行所示。第二锁存器42根据第二选通信号STROBE2的下降沿锁存来自第一锁存器41输出端的信号,并按周知的方式将其提供给其输出端。第二锁存器42的输出如图4的第六行所示。
此外,控制电路47还给多路调制器44的控制输入端提供多路调制器控制信号SELECT,如图4的第七行所示。多路调制器控制信号SELECT低时,多路调制器系调节得使其将来自第二锁存器42输出端的信号传送给输出端49。多路调制器控制信号SELECT高时,多路调制器44调节得使其将来自平均值电路46输出端的信号传送到输出端49。
只要奇偶校验电路60没有检测出奇偶校验差错,控制电路47就不断地分别给第一和第二锁存器41和42提供第一和第二选通信号(STROBE1和STROBE2),且多路调制器控制信号保持低态,将多路调制器调节得使其将第二锁存器42来的信号传送到输出端49。在此工作状态下,第一和第二锁存器41和42起流水线寄存器的作用,输入的抽样DATA IN则通过差错处理器40而延迟,但没有任何改变。
但若控制电路47的误差输入端E处的误差信号ERROR表明有奇偶校验差错出现,则当时在输入端48处的抽样无效。在此情况下,没有任何选通信号STROBE1提供给第一锁存器41,但锁存器41继续锁存最新的良好抽样。但第二选通信号STROBE2无论来自控制电路47的误差信号ERROR的状态如何仍然提供给第二锁存器。此外,保持多路调制器控制信号SELECT处于低态,以便调节多路调制器44使其将来自第二锁存器42的信号传送到输出端49。
参看图4。误差信号ERROR在抽样S0的抽样时间401期间处于低态,表明抽样S0是一良好的抽样。与此相应,第一选通信号STROBE1的后沿402将来自输入端48(DATA INPUT)的良好抽样S0锁存入第一锁存器41中,出现在锁存器41的输出端,如波形LATCH 41中所示。与此同时,第二选通信号STROBE2的后沿403将来自第一锁存器41的前符号(无标号)锁存入第二锁存器42中,出现在锁存器42的输出端,如波形LATCH42中的示。此外,多路调制器控制信号SELECT在该抽样时间408处于低态,因而第二锁存器42的输出信号提供给利用电路50。
但抽样S1经奇偶校验电路60校验知其奇偶性不良时,就令误差信号ERROR在抽样S1在404的持续时间期间处于高态,以表明这一点。误差信号ERROR高时,控制电路47不产生第一选通信号STROBE1。因此,在后沿402之后的抽样时间中的410没有选通信号。这样防止不良抽样S1锁存入第一锁存器41中,而早先的良好抽样S0则仍然留在第一锁存器41的输出端。
然而,第二锁存器42继续接收第二选通信号STROBE2,将来自在第一锁存器41输出端的信号以正常方式锁存入其输出端。举例说,第二选通信号STROBE2的后沿406促使第二锁存器42锁存仍然留在第一锁存器41输出端的信号S0,将其提供给其输出端LATCH42。
若单一孤立的抽样是不良的,就是说若不良抽样之后的下一个抽样是良好的,如奇偶校验电路60来的奇偶校验误差信号ERROR的412处所示,则第一锁存器41和第二锁存器42都再次按正常方式接收选通信号。举例说,在图4中,在不良抽样S1之后,第一选通信号STROBE1的后沿414促使第一锁存器41将下一个良好抽样S2锁存在数据输入端48,再将其提供给其输出端LATCH 41,第二选通信号STROBE2的后沿416则促第二锁存器42锁存信号S0,再将其提供输出端LATCH42。第一锁存器的输出信号为最新的良好抽样S2,第二锁存器42的输出信号为以前的良好信号S0。如上所述,没有锁存中间的不良抽样。这时,平均值电路46产生表示第一和第二锁存器41和42分别锁存的两个信号S0和S2的平均值的信号。不良抽样之后的第一良好抽样锁存入第一锁存器41中时,在此抽样时间在418提供给多路调制器44的多路调制器控制信号调节多路调制器44使其将来自平均值电路46的信号耦合到输出端49上。这样,若个别抽样不良,就用平均值为其周围两个良好抽样的平均值的抽样取代。
图5的波形说明图3所示的电路按不同的输入信号情况工作的过程。图5中,在一行的两个抽样S1和S2中检测出奇偶校验误差。图3的电路直到接收第二不良抽样S2为止的工作过程与图4所示电路的工作过程类似,因而下面不再详细说明。奇偶校验误差信号ERROR的时间502表明抽样S2也含奇偶校验误差。由于抽样S2也不良,因此和前面一样,第一选通信号STROBE1没有提供给第一锁存器41。这样,在第一选通信号STROBE1的504处没有选通信号出现,以前的良好抽样S0仍然留在第一锁存器41中。但在第二选通信号STROBE2的506处,第二锁存器42将第一锁存器41的上一个良好抽样S0再锁存起来,再将其提供给输出端LATCH42。这时,第一锁存器41和第二锁存器42都含有上一个良好抽样。在时间510,多路调制器控制信号SELECT保持低态,因而调节多路调制器使其继续将来自第二锁存器42的信号传送给输出端44。只要在输入端48收到抽样,这种情况就会持续下去。
在时间508,奇偶校验差错信号ERROR低,表明下一个抽样不含奇偶校验差错。如上所述,与此相应,第一选通信号STROBE1的后沿S12将最新的良好抽样53锁存入锁存器41中,由锁存器41将其传送给其输出端LATCH41。这时,第一锁存器41含有最新的良好抽样S3,第二锁存器42含有上一个良好抽样S0。此外,这时平均值电路46产生该两抽样平均值的信号。和前面所述的一样,第一良好抽样在事前收到不良抽样之后锁存入第一锁存器41时,514处的多路调制器控制信号就变高,从而调节多路调制器44使其将来自平均值电路45的信号耦合到输出端49。这样,收到一系列不良抽样时,就在输出端重复上一个良好抽样,直到收到另一个良好抽样为止。接着,在误差校正器40恢复其正常工作状态之前产生一个含上一次收到的良好抽样和新收到的良好抽样的平均值的抽样。
上面是就分立元件制成的实施例说明本发明的。本技术领域的行家们都知道,本发明也可以用编程得存取存储装置20并履行程序如上述那样处理数据的微处理器付诸实施的。