数据压缩方法

文档序号:7534028阅读:496来源:国知局
专利名称:数据压缩方法
技术领域
本发明涉及图像压缩方法,特别涉及用于地震数据图像压缩的改进JPEG方法。
背景技术
图像压缩的JPEG标准算法(Pennebaker和Mittchell,1993)由下列3个针对二维阵列的每个8×8像素块的步骤组成1.利用离散余弦变换对8×8像素块进行变换。
2.将变换系数量化(标度和舍入)为小整数。
3.对比特进行编码,从而利用几个比特表示出现频率最高的整数。
解压缩算法逆向完成这些步骤。两种算法可以容易地扩展到压缩与解压缩任意维数的阵列。


图1示出了未经压缩的地震数据的二维阵列。图1的32位浮点二维阵列是从三维地震勘察数据中抽取的等时层面。图2示出了同一阵列的放大子集。
图3示出了利用JPEG型算法压缩与解压缩整个二维阵列之后的同一放大子集。整个阵列的压缩比为103∶1,这意味着32位浮点的原始阵列包含了103倍于压缩阵列的比特。
对于如此大的压缩比,这种JPEG型算法产生了图3所示的可见分块效应。在较低压缩比之下,块与块之间的这些不连续性不易发觉,但是仍然不能忽视,特别是在解压缩之后作进一步的处理或判读工作时。
由于在独立地压缩与解压缩每个8×8样本块时没有考虑保持块之间连续性,所以形成了图3内的分块效应。
尽管会产生分块效应,但是将如此小的数据子集独立地压缩与解压缩仍然是需要的。特别是这可以访问大压缩阵列的一小部分而无需解压缩整个阵列。这还使得压缩算法适于处理数据幅值和频谱的空间变化。在基于子波变换的压缩方法(例如Bradley等人,1993;Wickerhauser,1994)中没有的这样的特点。本申请着手解决的问题是既具备这些特点,又没有分块效应。
解决此问题的一种方案是利用交叠的块进行数据压缩,因此可以不借助邻近块边界的数值就可以计算出解压缩的样本值。Yeo和Liu(1995)为使JPEG算法适于三维医学图像的空间表示,采用了该方案。遗憾的是,利用交叠块增加了压缩块数,这增加了计算时间并降低了压缩比。
说明书内引用的现有技术材料包括Bradley,J.N.,C.M.,和Hopper,T.,1993,用于灰度指纹图像压缩的FBI子波/标量量化标准Visual Information Processing II,SPIE Proceedings,293-304.(ftp∥ftp.c3.lanl.gov/pub/WSQ.)Jawerth,B.,和Sweldens,W.,1995,双正交平滑局部三角基J.FourierAnal.Appl.,2(http∥cm.belllabs.com/who/wim/papers/-papers.html)Jawerth,B.,Liu,Y.和Sweldens,W.,1996,借助平滑局部三角基的信号压缩(http∥cm.belllabs.com/who/wim/papers/-papers.html)Malvar,H.S.,和Staelin,D.H.,1989,无分块效应的LOT变换编码IEEETransactions on Acoustic,Speech,and Signal Processing,37,no.4,553-559Malvar,H.S.,1990,高效变换/子带编码的重叠变换IEEE Transactionson Acoustic,Speech,and Signal Processing,38,no.6,969-978Pennebaker,W.B.,和Mitchell,J.L.,1993,JPEG静止图像数据压缩标准Van Nostrand Reinhold.
Prince,J.P.,和Bradley,A.B.,1956,基于抵消时域混叠的分析/合成滤波器组设计IEEE Transactions on Acoustic,Speech,and Signal Processing,34,no.5,1153-1161Wickerhauser,M.V.,1994,自适应子波分析,从理论到软件A.K.Peter
Yeo,B.,和Liu,B.,1995,基于DCT压缩三维标量数据的空间表示IEEETransactions on Visualization and Computer Graphics,1,no.1,29-4
发明内容本发明的主要目标是提供一种用于数据压缩的改进JPEG算法。
本发明的一个重要目标是提供一种改进的JPEG数据压缩算法,它可以用于压缩小子集数据但不会产生分块效应。
本发明的数据压缩方法利用了针对离散余弦变换和量化变换系数的霍夫曼编码的JPEG算法。
附图的简要说明图1示出了从三维地震勘察数据中抽取的等时层面,这里的图像是未经压缩的32位浮点二维阵列;图2为图1二维阵列的放大子集;图3示出了直接利用JPEG算法压缩与解压缩后的图2数据,图中出现分块效应,即单独压缩的8×8样本块之间的不连续性;图4示出了利用抑制分块效应的JPEG型算法压缩与解压缩后的图2数据;图5示出了与长度为32的逆DCT-III对应的矩阵CIII-1,这里的黑色像素对应正值,白色像素对应负值;图6示出了与长度为8的逆分块DCT-III对应的矩阵;图7示出了图6逆分块DCT-III矩阵的列11和19,在这里诸如样本15与16之间的不连续性在JPEG压缩时产生分块效应,并且由于下面方程(1c)所定义的函数b(j)内的不连续性,每条余弦内的第一样本都偏离曲线;图8示出了通过展开图7所示截断余弦曲线获得的平滑渐变余弦曲线,它们是图9逆折叠DCT-III矩阵中的列11和9;图9示出了对应逆折叠DCT-III的矩阵,这里矩阵的列在块与块之间交叠,其数值平滑地减少为零,因此这些列的加权和消除了分块效应;图10示出了展开逆分块DCT-III操作的矩阵,在这里图9的矩阵等于此处矩阵与图6所示矩阵之积;图11示出了展开操作,它对跨越DCT块边界的样本值作配对组合与替换,折叠是该操作的逆操作;图12示出了解压缩块A内高亮度显示样本的步骤,首先需要对块A、B、C和D进行解码、去量化和逆DCT-III处理,随后将4个高亮度显示样本展开,在这里折叠与展开操作是将跨越DCT块边界的样本作配对混合。
实施发明的较佳方式本发明是一种改进的数据压缩方法,它在用JPEG型算法压缩期间将相邻块的数据复合。许多作者以各种形式描述了JPEG型数据压缩方法(例如Princen和Bradley,1986;Malvar和Staelin,1989;Malvar,1990;Wickerhauser,1994;Jawerth等人,1995)。JPEG型数据压缩的优点是可提供压缩比,但是仅仅略微增加计算时间。
图4示出了压缩与解压缩之后图1二维阵列的同一子集,利用的是基于下述本发明方法的第二JPEG型算法。整个阵列的压缩比为112∶1。解压缩数据中没有分块效应。
现有JPEG型算法与本发明新提出的JPEG型算法之间的差别在于对JPEG标准定义的分块离散余弦变换作了改进。本发明算法中的改进减轻了分块效应,与此同时又保持了现有JPEG型算法的所需特征。
现有JPEG压缩中所用的变换是称为DCT-II的离散余弦变换。按照本发明,采用了称为DCT-III的不同的离散余弦变换。(要了解离散余弦变换的种类,可参见Wickerhauser,1994,P84)。
DCT-III正向DCT-III定义为z(k)=Σj=0M-1y(j)b(j)2Mcos[π(2k+1)j2M],]]>k=0,1,…,M-1 (1a)而相应的逆变换为y(j)=Σj=0M-1z(k)b(j)2Mcos[π(2k+1)j2M],]]>j=0,1,…,M-1 (1b)
这里

正变换与逆变换可以用矩阵乘积表示,如z=CIIIy和y=CIII-1z,这里矩阵CIII内的单元CIII(k,j)=b(j)2Mcos[π(2k+1)j2M]-----(2)]]>图5示出了逆变换矩阵CIII-1,M=32。任意32个实数矢量都可以表示为该矩阵列的加权和。
在一维压缩算法中,样本值矢量可以只用矩阵CIII-1的几列逼近。每列的权重由矢量z的变换系数给定。高压缩比要求z内许多系数接近零。这种小系数将被量化为零,从而可以利用少量位高效编码。
JPEG标准描述了二维图像而不是一维矢量的压缩。JPEG压缩中所用现有的DCT-II为二维变换。但是由于多维数据的离散余弦变换相当于沿每个数据维一维变换的级联,所以为简化起见只描述一维变换。
分块DCT-III对于诸如断面序列的长数据矢量,对整个矢量进行一个离散余弦变换不可能生成许多微小的变换系数。因此与JPEG一样采用分块DCT,变换长度M=8,并且填充数据矢量设定为零,或根据需要设定为8的整数倍的长度N。图6示出了对应逆分块DCT-III的矩阵,N=32并且M=8。除了更适合压缩之外,分块变换的效率也更高,而计算代价仅随数据矢量长度N线性增加。
与JPEG压缩中所用的现有DCT-II一样,DCT-III具有几个有用的性质。首先,DCT-III将实数变换为实数,因此无需复数运算。而且与现有的DCT-II一样,DCT-III为酉变换CIII-1=CIIIT。[由上述方程(1)可预见该性质]。对应图6的正分块DCT-III矩阵仅仅是逆分块DCT-III的转置。
另一个有用的性质是逆DCT-III等价于正DCT-IICIII-1=CII。DCT-III与DCT-II之间的这种关系和选择变换长度M=8可以通过简单交换正算法与逆算法便能使用JPEG压缩中高度优化的DCT-II算法。
上述所有这些信息都是有用的,但是为什么不简单采用现有JPEG的DCT-II呢?答案是按照本发明DCT-III的改进避免了JPEG压缩引起的分块效应。
只有当在矢量逼近中采用图6所示矩阵列的子集时才出现分块效应。例如假设仅仅利用两列高度压缩这样的矢量,其指数k=11和k=19。如图7所示,这两列的任意非平凡组合都在逼近中样本指数j=15与j=16之间产生不连续性。这种不连续性在利用JPEG算法压缩的图像中形成可以觉察到的分块效应。
折叠DCT-III为了避免因在压缩中采用分块DCT-III引起的分块效应,采用图8所示平滑渐变余弦曲线代替图7所示分块余弦曲线。将图9所示的完全逆变换矩阵与图6所示逆分块DCT-III矩阵进行比较。每条余弦曲线内的样本数增加至16(尾部的样本不算),因此相邻块内的余弦曲线现在交叠在一起,并且每条余弦曲线平滑地趋于零。这些余弦曲线的加权和不会产生图7所示的不连续性。
对应这些渐变余弦的变换经常被称为局部余弦变换或者交叠正交变换(Wickerhauser,1994,P.370;图8与Wickerhauser的图11.5有一定的相似之处)。这些变换被称为折叠余弦变换,其名称反映了它们的计算方法。具体而言,按照本发明的压缩算法中所用的变换是折叠DCT-III。对应图9所示矩阵的逆变换称为逆折叠DCT-III。
折叠是一种利用高度优化的分块(M=8)DCT算法实现平滑、渐变的16样本余弦的方法。Wickerhauser(1994,p.103)将该方法描述为“由几个人独立作出的惊人观察”,并且讨论了在压缩中的应用。本发明压缩中采用的折叠操作虽然是Wickerhauser描述的多种方式中的一种,但是也受到了Jawerth和Swelsdens(1995)和Jawerth等人(1996)著述的启发。后者讨论了特别与压缩相关的折叠操作。
折叠的巧妙和效率在于图9所示逆折叠DCT-III矩阵是图10所示展开矩阵与图6所示逆分块DCT-III矩阵之积。由于展开矩阵的每行与每列包含了不超过2个的非零元素,所以除了逆分块DCT-III的计算代价以外,展开的计算代价微不足道。
特别是图6、9或10所示的矩阵实际上从没构造出来。操作是在样本值上进行的,其效果与这些矩阵的乘积是一样的。对于图6所示的逆分块DCT-III矩阵,该操作是JPEG压缩中所用的高效正分块DCT-II算法。对于图10所示的展开矩阵,如图11所示,该操作是跨越指数j=8,16…的块边界样本值的配对混合。
折叠操作是简单的逆展开操作,它将同一样本值作不同的配对复合。由于折叠与展开边界的中心在块边界周围,所以这些操作可以用偏移样本值最简洁地定义为yI(j)=y(IM+j)。符号I是块指数而j是块内样本指数。
随后借助下列方程完成折叠yI(j)=f(j)xI(j)+f(-j)xI(-j),yI(-j)=f(j)xI(-j)-f(-j)xI(j),I=1,2,…,N/M-1,j=1,2,…,M/2-1,yI(j)=xI(j),否则 (3a)并借助下列方程完成展开xI(j)=f(j)yI(j)-f(-j)yI(-j),xI(-j)=f(j)yI(-j)-f(-j)yI(j),I=1,2,…,N/M-1,j=1,2,…,M/2-1,xI(j)=yI(j),否则(3b)这里的折叠函数f(j)被定义为f(j)=sin[π4(1+2jM)],--(3c)]]>将方程(3b)应用于图6所示的矩阵列计算得到了图8的平滑渐变余弦曲线与图9的这种余弦曲线的矩阵。
首先借助方程(3a)计算y(j),然后借助方程(1a)计算8个样本中每个块的z(k)就确定了样本值x(j)的正折叠DCT-III。同样,首先借助方程(1b)计算每个块的y(j),然后借助方程(3b)计算x(j)就确定了逆折叠DCT-III。
如Wickerhauser(1994,p.105)、Jawerth和Swelsdens(1995)以及Jawerth等人(1996)所述,可以采用虽然不同但是原理相似的折叠操作。选择方程(3)定义的折叠操作基于两个理由。
首先折叠操作是酉操作。图10所示展开矩阵是对应折叠矩阵(未画出)的转置。为了确证这种性质,请注意方程(3c)的折叠函数满足f2(j)+f2(-j)=1,并且将方程(3a)和(3b)的折叠与展开操作表示为2×2矩阵的乘积。解析地求出2×2折叠矩阵的逆矩阵以考察其是否等于转置矩阵,而转置矩阵等于2×2的展开矩阵。由于矩阵由跨越边界的2×2样本值混合组成,因此整个折叠操作是酉操作。
其次,按照本发明的折叠操作确保了常数函数(例如x(j)=1)在每个块内产生仅对于k=0是非零的变换系数zI(k),因此提高了恒定的(或者变化缓慢的)数据的压缩比。Jawerth等人(1996)称正折叠DCT-III实现了“恒定的分辨率”。
为了确证折叠DCT-III的第二种性质,解析地将方程(3a)的折叠操作应用于恒定样本值xI(j)=1,并确证结果是

,这里CIII(k,j)在方程(2)中定义。换句话说,选定的折叠函数使得恒定样本值折叠为精确地(在标度因子

内)与DCT-III的第一(k=0)余弦值匹配。由于该余弦与变换的所有其它余弦正交,所以在正折叠DCT-III之后只有每个块内k=0的变换系数非零。每个非零系数的值为

更为确切地说,除了第一和最后的块,其他块都保持这种性质。虽然可以通过将折叠与展开矩阵修改为矩阵角部不为单位值从而使得第一和最后块的分辨率恒定,但是这些块内的压缩比小一些是能够接受的,并且还保持了严格的酉折叠与展开操作。
与用于JPEG压缩的DCT-II之比较由于DCT-II的第一余弦(例如图5内矩阵的第一行)为常数,所以JPEG压缩所用的正DCT-II无需折叠就实现恒定的分辨率。实际上,这就是JPEG压缩标准指定DCT-II而非DCT-III的理由。由于无需修改标准的JPEG算法就可以在JPEG压缩之前进行折叠并在JPEG解压缩之后进行展开,所以可以考虑对DCT-II利用折叠技巧。
遗憾的是,方程(3)的折叠与展开操作对DCT-II并不适合。具体而言,方程(3b)不会产生如图8所示的平滑渐变余弦曲线。
Jawerth等人(1995)描述了适合于DCT-II的不同折叠与展开操作,这些操作保持了恒定的分辨率。但是这些操作不是酉操作。实际上它们是病态条件的,将会放大块边界附近样本值的不连续性,从而减小压缩效率。
相反,与方程(1)的正和逆DCT-III一样,方程(3)的折叠与展开操作是酉操作。如果F表示折叠矩阵,则正折叠DCT-III可以表示为z=CIIIFx,并且注意到zTz=xTFTCIIITCIIIFx=xTF-1CIII-1CIIIFx=xTxΣk=0N-1z2(k)=Σj=0N-1x2(j)---(4)]]>换句话说,折叠DCT-III变换之后的样本值平方和等于折叠DCT-III前的和。该信息可以用来估计量化变换系数过程中引入的解压缩数据的失真。
量化和编码如上所述,本发明压缩算法中所用的变换仅仅是JPEG压缩中所用变换的逆变换,但是引入的折叠抑制了分块效应。所用的量化和编码方法也由JPEG压缩中所用方法修改而来。以下描述JPEG方法与本发明之间的差异。
量化由于JPEG压缩是针对图像的,所以压缩之前的数据不是8位就是12位(彩色图像用红绿蓝三重色样本表示)。在借助DCT-II进行二维变换之后,由于二维DCT-II之后最大的样本值比变换前最多大8倍,所以每个样本的8位数据可能需要11位。通常情况下,DCT-II之后的最大样本值最多是变换前的MD/2倍,这里D为变换的维数。换句话说,|z|maxsMD/2|x|max(5)当数据与DCT-II中所用其中一个余弦(例如恒定的第一余弦CII(k=0,j))匹配时达到上限。
同样的因子MD/2也可应用于本发明压缩算法所用的折叠DCT-III上。因此借助折叠DCT-III变换8位整数数据之后,本发明的方法对二维压缩中的11位整数和三维压缩中的13位整数进行量化和编码。
JPEG压缩算法与本发明方法中的量化步骤是一种减少编码位数的标度操作,而且正是这种位数的减少导致压缩和随后解压缩数据的失真。在这种有损压缩方法中,相对高压缩比而言这样的失真是可以接受的。
在JPEG压缩中,每块内的变换系数的量化是不同的,表示大波数(空间频率)所用的位数比小波数的少。JPEG压缩中与波数相关的标度通常针对人类视觉而优化。
在本发明的压缩方法中,波数的量化是相等的。因此不会引入与波数相关的量化才有的误差。等量化的理由是对于地震数据,经常对大波数感兴趣。例如地震数据的子表面断层图像对应于大波数。另一个理由是地震数据通常由计算机算法分析,它们与人的视觉系统无关。
局部量化当压缩8位图像数据时,样本值介于-128与+127之间;并且可以假定小幅值的数据块是无意义的并在压缩期间将它们量化为零而不会有问题。特别是JPEG标准假定对于整幅图像只允许有一组量化标度因子。如上所述,这些标度因子相对块内不同的系数(不同的波数)变化,但是对于每个块都采用同样的一组标度因子。就这个意义而言,JPEG量化是全局性的。
当压缩32位浮点数据时,比较好的是进行局部量化,其标度因子随着块的不同而不同。在压缩这类数据之前,最大样本幅值|x|max可能是未知的,并且在压缩前读取每个样本以确定该值的代价是高昂的。另外小幅值可能不能假定为无意义的;特别是地震数据经常在确认假定有效之前需要作可观的处理。因此虽然对于块内所有变化系数的量化采用的是一个标度因子,但是块与块之间的标度因子是变化的。具体而言,在上述方程(5)中,|z|max表示每个变换块内的最大系数,并且对于每块计算不同的标度因子。
局部量化产生比全局量化更低的压缩比(每个样本的位数更多)。显而易见的原因是需要额外的位来存储每个被压缩块的量化标度因子。比较间接的原因是局部量化可以量化为零的样本比全局量化更少。因此在本发明的压缩算法中既允许选择局部量化也允许选择全局量化。
局部量化无法处理单个块内动态范围较大的情况。例如,未处理地震数据中的低幅值反射可能隐藏在高幅值表面波的下面。在混杂高幅值噪声的块内,即使是局部量化,本发明的压缩算法也可能将低幅值信号量化为零,从而无法在解压缩之后恢复这样的信号。因此在压缩之前应该衰减高幅值噪声。
压缩的虚拟存储器虚拟存储器给人以存储器空间大于物理可用空间的假象。这种假象特别适合于这样的应用,它们访问的数据常常在最近被访问过的其他数据附近。这类应用具有良好的引用局域性。
借助二维或三维阵列进行处理的应用常常具有良好的引用局域性。例如地震数据解释应用显示了来自三维阵列的连续二维层面数据。借助足够快的局部解压缩算法可以解压缩包含所需分层样本的块而无需解压缩整个三维阵列。本发明的压缩算法特别适用于这类应用。
这类应用的关键是能够压缩或解压缩大阵列的一个子集而无需压缩或解压缩整个阵列。对于基于分块DCT-II的压缩而言,就象JPEG压缩中所用的方法一样,很容易达到这种要求。具体而言,为了解压缩一个样本,只需解码、去量化和逆DCT-II包含该样本的块。一旦完成一个样本的解压缩,则就完成了块内所有样本的解压缩。假定引用局域性,则节省了解压缩该块其他样本的计算代价。
对于本发明基于折叠DCT-III的压缩算法,需要一些额外的处理。考虑二维压缩和图12所示的四块8×8样本。为了解压缩对应块A内实心圆圈的样本,需要(1)解码、去量化和逆DCT-III所有四块(A、B、C和D),以及(2)展开对应实心圆圈的四个样本。跨越块边界的展开如图11所示并且由方程(3b)描述,它首先对一个维数上的第一个块展开,然后再展开另一个块。虽然需要四个块,但是一旦完成块A内样本的解压缩,则解压缩邻近样本所需的大部分工作即告完成。而且如果假定引用局域性,则无需额外的计算。
本发明的量化步骤与JPEG另一个差异源于本发明需要量化32位浮点数据,这些数据的动态范围大于8或12位的图像数据。为了将浮点值z量化为具有B+I位(包括符号位)的整数i,采用了以下算法i={zxs-1/2,z≥0,zxs+1/2,z≥0,--(6)]]>
这里s为量化标度因子。为了避免溢出,要求|i|<2B。该限制与方程(6)导出下列标度因子方程s=(2B-1/2)(1-∈)|z|max--(7)]]>这里ε为浮点小正数,即利用浮点运算从1减去的最小正数,用于获得不等于1的数。
霍夫曼编码JPEG压缩标准可以有两种编码量化生成整数的方法,即霍夫曼编码和算术编码,其他许多编码方法也是可行的。由于JPEG的霍夫曼编码计算速度快,所以被用于本发明的压缩算法中,并且这种编码实现简单,可以免费使用。
但是霍夫曼编码和解码算法遵循的是JPEG规范。JPEG标准规定了DC(k=0)变换系数的特殊编码。JPEG压缩充分利用了相邻块之间的这些DC系数常常高度相关的特点。基于两个理由,本发明的方法未采用这种特殊处理(1)特殊处理引入了块与块的依赖性,这使单个块的压缩与解压缩复杂化;以及(2)地震数据的DC系数一般比较小(虽然小,但是由于采用了短M=8变换,所以很少能忽略)。因此DC系数就象其他(AC)系数那样编码。
局部压缩JPEG型算法的主要优点是无需处理全部多维阵列即可压缩或使用其一部分。相反,基于小波变换的压缩算法缺乏这个特点(例如参见Bradley等人,1993;Wickerhauser,1994)。虽然JPEG标准并不直截了当地支持这种特征,但是JPEG压缩中采用的分块DCT-II使得这种特征的实现更为容易。该能力在本发明的基于折叠DCT-III的压缩算法中得到了充分发挥。
阵列中的每个数据块可以被类推为虚拟存储器的页面。对于二维压缩,每个页面包含64=8×8个样本;对于三维压缩,每个页面包含512=8×8×8个样本。当样本页面被调用时进行解压缩,并在调出页面时压缩波数。解压缩页面的工作组保存在存储器内,而大多数页面仍然处于压缩状态并且存储在存储器或磁盘内(如果存储在磁盘上,则可以对页面进行组合以提高I/O效率)。如果工作组的长度足够,并且应用具有良好的引用局域性,则可以将压缩和/或解压缩每个页面的计算代价分摊到这些页面内大多数样本的访问上。
总结在根据本发明对JPEG压缩算法的适用性修改中可以重复使用算法中的许多部分。通过简单地将正和逆变换互换就可以对长度为8的DCT重复使用JPEG方法。JPEG量化方法经过修改避免了对小波数的优先处理,并且处理了数据幅值在块与块之间的变化。在正DCT之前也可以跨越块边界折叠样本值,并且在逆DCT之后展开这样的值。这种折叠与展开抑制了JPEG算法压缩图像内可觉察的分块效应。
为了比较本发明方法与其他算法的性能,采用特定压缩比下计算时间和失真作为性能比较的两个指标。作为初步基准程序,我们倾向于采用前述本发明算法的实现方案。在较宽的压缩比范围内,本发明方法的计算时间大约是小波算法的一半而失真基本相同(Diller 1997,私人通信)。本发明方法的计算时间比小波方法短的结果是可信的(因为本发明采用了较少的乘法和加法运算,并且更多地以局部方式使用存储器)。
权利要求
1.一种压缩N个样本的一维阵列的方法,样本表征了地球的特征,所述方法的特征在于包含以下步骤(a)将所述阵列x分割为具有M个样本的块,这里M<N;(b)根据下列方程折叠跨越每个块边界l的样本xI(j)=x(/M+j)yI(j)=f(j)xI(j)+f(-j)xI(-j),yI(-j)=f(j)xI(-j)-f(-j)xI(j),I=1,2,…,N/M-1,j=1,2,…,M/2-1,yI(j)=xI(j),否则这里f(j)=sin[π4(1+2jM)],]]>(c)根据下列方程式将阵列y每个块内的折叠样本进行变换z(k)=Σj=0M-1y(j)b(j)2Mcos[π(2k+1)j2M],]]>k=0,1,…,M-1这里
(d)对阵列z的每个块内的已变换样本进行量化以生成整数;以及(e)将所述整数编码为代表压缩阵列的位流。
2.如权利要求1所述的方法,其特征在于将所述方法应用于多维阵列,其中沿阵列的每个维数应用步骤(a)分块、(b)折叠和(c)变换作为操作的级联。
3.如权利要求2所述的方法,其特征在于压缩所述多维阵列的子集。
4.如权利要求3所述的方法,其特征在于所述多维阵列代表地震信号。
5.如权利要求1所述的方法,其特征在于进一步包含解压缩所述压缩阵列的步骤,它包括与步骤(a)~(e)顺序相反的步骤。
6.如权利要求5所述的方法,其特征在于将所述方法应用于多维阵列,其中沿阵列的每个维数以相反的顺序应用步骤(a)分块、(b)折叠和(c)变换作为操作级联。
7.如权利要求6所述的方法,其特征在于解压缩所述多维阵列的子集。
8.如权利要求7所述的方法,其特征在于所述多维阵列代表地震信号。
全文摘要
在根据本发明对JPEG压缩算法的适用性修改中可以重复使用算法中的许多部分。通过简单地将正和逆变换互换就可以对长度为8的DCT重复使用JPEG方法。JPEG量化方法经过修改避免了对小波数的优先处理,并且处理了数据幅值在块与块之间的变化。在正DCT之前也可以跨越块边界折叠样本值,并且在逆DCT之后展开这样的值。这种折叠与展开抑制了JPEG算法压缩图像内可觉察的分块效应。
文档编号H03M7/40GK1261967SQ98806856
公开日2000年8月2日 申请日期1998年5月6日 优先权日1997年5月7日
发明者I·D·黑尔 申请人:界标制图有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1