1.数据压缩的基本理论
数据压缩简单地说就是研究对各种信源,包括数据、声音、视频、静止图像、电影或各种信号的有效数字表达方法。它通过去除信源数据的各种冗余达到压缩的目的。信源数据中的冗余信息主要包括自信息熵冗余、互信息熵冗余和听视觉心理冗余。
(1)自信息熵冗余 自信息熵冗余是指对信源中出现概率相差很大的数据都采用相同的比特数进行编码。由信息论中的有关理论可知,为表示信源中的一个数据,只需要按其信息熵的大小分配相应的比特数即可。然而压缩前信源中的每一个数据一般都用相同的比特数表示,这样必然存在冗余。
(2)互信息熵冗余 这种冗余是指可以从已出现的信源数据减小对未出现的信源数据的不确定性。这种冗余包括:图像内相邻像素间存在空间冗余;运动图像相邻帧存在时间冗余;多光谱图像中,谱间相邻的像素间存在谱间冗余;某些图像存在非常强的纹理结构或是图像的各部分间存在着自相似性,则形成了像素间的结构冗余;在CAD文件压缩等特殊应用中,由于数据间存在一些固有的联系,则形成了知识冗余。
(3)听视觉心理冗余 很多情况下,信源数据的最终接受者是人。由于人耳和人眼的分辨能力有限,一些信源信息的损失对人的主观感觉的影响微乎其微,因此可以允许压缩后
的数据有一定的失真,这就是听视觉心理冗余。数据压缩的一般步骤如图8-10所示。首
先信源要经过去冗余阶段,通常由时域预测,
频域变换或其他等价变换组成;去冗余后的
参数进入熵减阶段,这个阶段通常是一个量
化阶段;最后,量化器的输出进行无损编码。
对于不同的信源,当采用不同的处理方法时
压缩步骤是不同的。例如,对于计算机文件数据仅需要无损编码步骤;而对于初始形态为模拟形式的图像、音频、视频和其他信号则需要首先经过量化采样,获得时间和幅值离散的采样数据。采样数据在去冗余后通常会产生数据分布范围和频率的改变,因此还需要再次量化才能进入无损编码阶段。例如在JPEG压缩算法中,对不同频率的变换系数采用不同的量化步长重新量化,以提高压缩比。
图8-10 数据压缩的一般步骤
2.数据压缩的主要方法
数据压缩方法可以分为传统编码方法和现代编码方法。
(1)传统编码方法
1)基于字典的方法。基于字典的方法包括行程编码和LZW编码。使用此类方法时,从一个空的符号串表开始,每当表中没有的字符串第一次出现时,该串被存于表中,并将分配给它的码字一同保存。当这个串再次出现时则只保存它的代码,这样就去掉了冗余信息。(www.xing528.com)
2)统计编码。统计编码利用消息或消息序列出现概率的分布特性,注重寻找概率与码字长度之间的最优匹配。用较短的码字表示频繁出现的字符,用较长的代码表示不常出现的字符,此类方法包括霍夫曼编码和算术编码方法。
3)量化法。量化是一种最直观的数据压缩方法,分为标量量化和矢量量化。标量量化是把原信源中的数据分布量化成较小的级别。矢量量化是把数据分块,把每个数据块看作矢量进行量化。这两种量化过程都要建立量化查找表,对每一个输入数据在表中查找和它最相近的量化值作为输出。量化是有损压缩方法。
4)预测编码。预测编码就是用已经编码传送的信号来预测实际要传送的信号,从实际传送的信号中减去预测的信号值,传送它们的差值。由于差值一般要小于原数据,因此可以达到数据压缩的目的。根据预测后量化器的不同,预测编码可以是无损的,也可以是有损的。
5)变换编码。变换编码将原始数据“变换”到另一个更为紧凑的表示空间,使数据在变换域上最大限度的不相关。它是先将信号数据分割成一系列子块,然后再对这些子块进行线性正交变换。变换本身并不能带来压缩,但由于变换系数一般具有良好的性质,只要采用合适的量化和熵编码方法就可以获得较好的压缩效果。
(2)现代编码方法 现代编码方法与传统编码方法相比,在同样压缩比的条件下,重建信号的主观质量有显著改进,或者在重建信号质量接近的情况下,用现代编码方法可获得较高的压缩比。现代编码方法主要有以下几种。
1)小波编码。小波编码是一种特殊的子带编码方法。子带编码方法使用不同类型的一维或二维线性数字滤波器,对数据进行整体分解,然后根据信号特性和人类视觉特性对不同频段的数据进行粗细不同的量化处理,以达到更好的压缩效果。由于子带编码是对整个信号进行的,因此不存在方块效应。在此方法中,合理地选择和设计正交镜像滤波器(quadra-ture mirror filter,QMF)组是实现的关键。小波变换(wavele ttransform,WT)和子带分解的根本区别是小波滤波器是正则的,具有一定的光滑性。
2)基于分形的编码。基于分形(fractal)的编码方法是近年来引起很多关注和争议的一种压缩方法,它的主要理论根据是拼贴定理。分形的基本概念是依据自相似性,自然图像能够由分形生成。目前该方法主要应用于图像压缩。
3)基于模型的编码。基于模型的编码(model based coding)方法也是另一种被认为较有前景的编码方法。其编码过程是对信号的分析过程,而其解码过程是对信号的合成过程。基于模型的编码方法是建立在对信号分析、理解、识别基础上的,有望得到可观的压缩效率。此方法成功的关键是建立模型库。如何建立未知物体的模型仍然处于探索和研究之中。
4)基于区域分割的编码。基于区域分割与合并的视频(图像)编码方法,是根据图像的空间域特征将图像分成纹理和轮廓两部分,然后分别对它们进行编码。该方法一般可分为三步来完成,即预处理、编码和滤波。预处理将图像分割成纹理和轮廓两部分。选取分割方法是关键,它直接影响图像编码的效果。分割之后图像成为一系列相连的小区域。对纹理可采用预测编码和变换编码,对轮廓则采用链码方法进行编码。这种方法较好地保存了对人眼十分重要的边缘轮廓信息,因此在压缩比很高时解码图像质量仍然很好。
5)基于神经网络的编码。神经网络法是模仿人脑处理问题的方法,基于神经网络的编码就是通过各种人工神经元网络模型对数据进行非线性压缩。人工神经网络是一个非线性动态网络,工作过程一般分训练和工作两个阶段。训练阶段就是使用一些训练图像和训练算法,调整网络的权重,使重建图像的误差最小。目前直接用于图像压缩编码的神经网络主要有误差反向传播(back propagation,BP)型和自组织映射型(kohonen型)。
3.管道漏磁检测数据压缩方法的选择
由于漏磁检测原理的限制,管道漏磁检测得到的结果是非定量化的。在工程实践中,目前一般采用经验的方法,即通过对已知缺陷情况的管道进行检测,建立检测结果和实际缺陷间对应关系的数据库,在评价实际的检测结果时,把检测数据与数据库中类似的数据进行比较,就可以知道对应缺陷的情况。因此在对比分析时,要求缺陷数据曲线的形状保持准确。另一方面,管道漏磁检测的目的是要为管道强度、寿命评价提供所需的参数,所需主要参数是腐蚀区域缺陷的有效长度和最大深度。为了得到缺陷各部分的长度和深度,也需要保持缺陷处检测曲线的精确性。
在利用经验获得缺陷信息以及在管道强度评价时都需要精确的漏磁数据。由于这些检测相关的数据可以通过数据变化率和数据动态范围等特征从总检测数据中被分离出来,因此可以在数据压缩时对这部分数据采用无损压缩方法,而对其他数据采用高压缩比的有损压缩方法,从而在保证检测精度的同时获得满意的压缩效果。
适合于管道漏磁检测数据的数据压缩方法,一方面要能够满足检测结果评价对数据压缩方法的要求,另一方面要便于通过硬件(FPGA)实现,算法复杂度低,实时性好。
在传统编码方法中,行程编码一般用于数据类型较少的场合,如二值传真编码。LZ编码在编码初期压缩效率很低,一般用于大文件压缩,而且需要一个比较复杂的数据结构,不适合硬件实现;算术编码需要浮点乘法器,在FPGA中实现有困难;使用预测编码时,如果设计比较简单的预测器,在运算过程中避免了乘除法运算并且使预测结果为整数,可以实现无损压缩,而且可以方便地用硬件实现;变换编码运算较繁,而且一般是有损压缩;霍夫曼编码是无损的,而且在FPGA中,很容易用编码器实现。
在现代编码方法中,基于分形的编码、基于模型的编码、基于区域分割的编码和基于神经网络的编码充分利用了计算机图形学、计算机视觉、人工智能与模式识别等相关学科的研究成果,为视频(图像)压缩编码方法开创了新的领域。但是由于这些编码方法增加了分析的难度,所以大大增加了实现的复杂性。例如,基于分形的编码方法由于图像分割、迭代函数系统代码的获得是非常困难的,因而实现起来时间长,算法非常复杂。基于模型的编码方法则仅限于人头肩像等基本的视频(图像),进一步的发展有赖于新的数学方法和其他相关学科的发展。基于神经网络的编码方法其工作机理至今仍不清楚,硬件研制不成功,所以在视频(图像)编码中的应用研究进展缓慢,目前多与其他方法结合使用。从当前发展情况来看,这几种编码方法仍处于深入研究的阶段。小波编码具有较好的时频局域化特性,可实现对高频信号的短时观察、对低频信号的长时观察,因此该方法非常适用于信号的数据压缩处理。优秀的数据压缩方法多采用混合编码方法,以尽量去处数据中的各种冗余。小波编码由于在量化和编码时利用了小波变换系数的良好特性,具有很好的压缩效果。小波编码为当前视频(图像)编码首选方法,在JPEG2000和MPEG4等国际标准中,都采用小波编码作为核心。通过选择合适的滤波器组和编码方法,小波编码可以做到无损压缩,并且易于硬件实现。
综上所述,在诸多数据压缩方法中,霍夫曼编码、预测编码、小波编码等方法比较适合于管道漏磁检测数据压缩的要求。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。