可迅速回复的适应性步阶脉码调变压缩编译码方法及装置 【技术领域】
本发明涉及一种可迅速回复的适应性步阶脉码调变压缩编译码方法及装置,尤指一种可有效降低压缩资料储存至内存的错误比率,且于输出资料错误时可迅速回复的ADPCM编/译码方法及装置。
背景技术
在数字数据压缩技术方面,目前大都以脉码调变(PCM)为基础的压缩编译码方式为主,并依操作在“频域”(frequency domain)或“时域”(time domain)而有所不同,就“时域”型态的数字数据压缩编译码技术而言,其基本架构如图3所示,主要于一内存80的输入端及输出端分设一ADPCM编码器70及一ADPCM译码器90;其压缩的过程令输入资料Di先经ADPCM编码器70编码后存入内存80;又解压缩的过程则是由内存80读出资料后由ADPCM译码器90译码后输出;其中:
该ADPCM编码器70的基本架构如图4所示,主要由一量化器71、一反量化器72、一预测器73及一步阶适应器74组成。
至于其工作方式,由位在内部的预测器73预估出下一笔资料的大小(Px),再与输入讯号(Di)相减(通过减法器92达成),以产生一个代表Px、Di两者间的误差值(Perr),理想的情况下,该误差值应仅为一个微量值,其再经量化器71以步阶适应器74提供的“固定”或“可变”的步阶(Step Size)配合一既定(固定)的分辨率条件下,将其量化后产生一压缩输出码(Code);而前述的反量化器72、预测器73再加上一加法器91等同于一ADPCM译码器(即如图5所示地ADPCM译码器90),而将译码器设置在编码器中,主要为还原资料以印证其正确性之用。故反量化器72于收到压缩输出码(Code)后,会以步阶适应器74提供的相同步阶值(Delta)与相同的分辨率条件进行反量化而送出一Qperr讯号。其后,再通过加法器91与预测器80回送的预估值(Px)相加,以产生预测器80的输入讯号(Qx)。然后,重复前述与输入讯号(Di)相减、对误差值(Perr)量化与反量化验证步骤,直到结束为止。
由上述说明可了解ADPCM压缩编译码技术的基本架构与工作原理,且同时可了解ADPCM不论在编码或译码过程中,均与步阶适应器74、预测器73息息相关,因而一旦由内存80读出的资料出现错误时,将会连带的影响到ADPCM译码器90的输出值。以音乐光盘(AUDIO CD)为例,将会造成译码出来的数据发散,造成爆音,且由于ADPCM的编码方式采取相邻两样本之间差别作纪录,当前一个样本出错,后面的样本将跟着出错,因此,前述因资料发散所造成的爆音,将会持续一段相当长的时间以后才可能恢复(区段结束),或甚至永远无法回复。
由上述可知,既有ADPCM压缩编译码技术在读出资料错误时无法迅速回复的缺点,犹待进一步检讨,并谋求可行的解决方案。
【发明内容】
本发明主要目的在于克服现有技术的不足与缺陷,提供一种在输出资料错误时可迅速回复的ADPCM编/译码方法。
为达成前述目的采取的主要技术手段是于ADPCM编码器储存压缩资料至内存的过程中周期地储存其压缩编码相关参数;
又内存送出资料至ADPCM译码器的解压缩过程中,同时输出前述储存参数至ADPCM译码器;
当内存输出的资料有误,而使ADPCM译码器解出的资料发散时,可根据内存所送出压缩编码时的相关参数,及时对输出数据进行校正,强迫DPCM译码器设定在相同的状态,如此可使输出资料在短时间内回复正常。
前述的相关参数系指步阶值(Deta)与反量化误差值、预估值的运算结果(Qx)。
本发明次一目的在于提供一种可有效降低压缩资料储存至内存错误比率的ADPCM编/译码方法。
为达成前述降低错误率的目的采取的技术手段是在ADPCM编码器输出压缩资料至内存前先作格雷码(Gray Code)编码,再储存至内存;
又自内存读出资料时,先进行格雷码译码,再送至ADPCM译码器进行译码;
因格雷码系由二进制代码相邻两位互斥而得,其任意两个相邻编码只有一个位改变,可降低信号变动频率,故可以减少储存至内存资料的错误比率。
【附图说明】
图1为本发明一较佳实施例的方块图;
图2为本发明又一较佳实施例的方块图;
图3为既有ADPCM编/译码压缩技术的基本架构示意图;
图4为既有ADPCM编码器的方块图;
图5为既有ADPCM译码器的方块图。
图中符号说明
61 格雷码编码器 62 格雷码译码器
70 ADPCM编码器 71 量化器
72 反量化器 73 预测器
74 步阶适应器 80 内存
90 ADPCM译码器
【具体实施方式】
下面结合附图和实施例详细说明本发明的具体实施方式。
如图1所示,为本发明一较佳实施例的系统方块图,其包括一内存80及分别与该内存80连接的ADPCM编码器70及ADPCM译码器90;其中:
该ADPCM编码器70先对输入资料Di进行编码后,再储存至内存80;
该ADPCM译码器90对内存80读出的资料进行译码。
又本发明主要是将ADPCM编码器70对输入数据Di进行压缩编码时的相关参数以适当的间距时间周期性地存入内存80,该相关参数分别为步阶值(Delta)及ADPCM编码器70中内设的预测器输入信号(Qx);有关步阶值(Delta)与预测器输入信号(Qx)所代表意义,请参阅参阅图4所示:
该ADPCM编码器70由其预测器73预估出下一笔资料的大小(Px),再与输入讯号(Di)通过减法器92相减,以产生一个代表Px、Di两者间的误差值(Perr),再经量化器71以步阶适应器74提供的步阶值(Delta)配合一分辨率条件将其量化后产生一压缩输出码(Code)。
该反量化器72接收压缩输出码(Code)后,以步阶适应器74提供相同的步阶值(Delta)与相同分辨率条件进行反量化,而送出-Qperr讯号通过加法器91与预测器73回送的预估值(Px)相加,以产生预测器73的输入讯号(Qx)。
经由上述可知,步阶值(Delta)与预测器73的输入讯号(Qx)(即经反量化的误差值(Qperr)与预测值(Px)的运算值)为压缩编码及验证资料正确性的重要参数。其亦储存至内存80,并随资料由内存80读出时一并送至ADPCM译码器90,即可在读出资料一并参考该参数进行DPCM译码作业,故而纵使资料出现错误,仍因前述参数的及时校正,而使资料在最短时间内回复至正常,以解决传统方式所造成的长时间错误问题。
至于回复时间的长短,则依照内存80储存参数的周期而定。
基于内存80可利用空间的考虑,本发明利用一般内存中闲置而无法被完全利用的0.5%空间储存压缩编码的相关参数(实际上仅占用约0.2%的空间),其意味着本发明并不是每次都将相关参数储存,因其将占用太多的内存空间。一个可行实施例,是令每次储存的间隔为8192次,约为0.016秒(即8K)左右。换言之,当由内存80读出的一笔资料发生错误时,最多只须0.016秒之后即可回复,故有效缩短读出资料发生错误的时间,以听觉而论,即为合理的范围。
又请参阅图2所示,是本发明又一较佳实施例,其包括内存80与ADPCM编码器70、ADPCM译码器90等组件,基本架构与前一实施例大致相同,该ADPCM编码器70仍将压缩编码时的相关参数:步阶值(Delta)与预测器73的输入讯号(Qx)随压缩资料周期性地储存至内存80中,并在资料由内存80读出时,一并送出相关参数至ADPCM译码器90。
除此以外,本实施例中,于ADPCM编码器70与内存80间设一格雷码(Gray Code)编码器61,又于内存80与ADPCM译码器90间设一格雷码(Gray Code)译码器62;由此
令ADPCM编码器70输出压缩资料至内存80前先作格雷码(GrayCode)编码,再储存至内存80;
又自内存80读出资料时,先进行格雷码译码,再送至ADPCM译码器90进行译码。
而对压缩数据进行格雷码编码,及对读出待解压缩数据进行格雷码译码,因格雷码由二进制代码相邻两位互斥而得,其虽属于非加权码,不适合运算,但因编码方式是任意两相邻编码只有一个位改变,可明显降低信号变化频率,以降低数据传输期间的错误率。
由上述可知,本发明于ADPCM编码器将压缩资料送入内存储存时,周期性地储存压缩编码时的相关参数,并随数据读出时一并送至ADPCM译码器,以在读出资料错误时,可在最短时间内回复;另配合一格雷码编码手段可进一步降低数据传输期间的错误比率,故本发明相较于既有的ADPCM编/译码压缩技术在资料正确性已有显著增进。