VC++数字图像压缩算法研究与实现(HUFFMAN编码)(4)
时间:2016-12-03 11:50 来源:毕业论文 作者:毕业论文 点击:次
预测编码:预测编码是利用图像信号在局部空间和时间范围内的高度相关性,以已经传出的近邻像素值作为参考,预测当前像素值,然后量化、编码预测误差。它们较适合于声音、图像数据的压缩,因为这些数据由采样得到,相邻样值之间的差相差不会很大,可以用较少位来表示。通常,图像的相邻像素值具有较强的相关性,观察一个像素的相邻像素就可以得到关于该像素的大量信息,这种性质导致了预测编码技术。采用预测编码时,传输的不是图像的实际像素值(色度值或亮度值),而是实际像素和预测像素值之差,即预测误差。预测编码分为无失真预测编码和有失真预测编码。无失真预测编码是指对预测误差不进行量化,所以不会丢失任何信息。有失真编码要对预测误差进行量化处理,而量化必然要产生一定的误差。 变换编码:变换编码是将空域中描述的图像数据经过某种正交变换(如离散傅里叶变换DFT、离散余弦变换DCT、离散小波变换DWT等)转换到另一个变换域(频率域)中进行描述,变换后的结果是一批变换系数,然后对这些变换系数进行编码处理,从而达到压缩图像数据的目的。 2.4图像压缩编码的比较与分析 霍夫曼编码与算术编码的比较与分析:算术编码与霍夫曼编码方法相似,都是利用比较短的代码取代图像数据中出现比较频繁的数据,而利用比较长的代码取代图像数据中使用频率比较低的数据从而达到数据压缩的目的。算术编码相对于霍夫曼编码,不需要很多内存,容易部署,尤其适用于自适应模型。霍夫曼编码,只适合静态或半静态模型的场合。算术编码的缺点是用于静态或半静态模型时,速度比霍夫曼编码慢,还有算术编码只能从开始解码,不能直接从中间某个位置开始解码,也就是不能随机访问,但是霍夫曼编码可以。在全文检索系统中,编码速度和随机访问都很重要。因此算术编码可能不适合在包含有大量文本和图像的时候,霍夫曼可能多用于文本编码,而算术编码则可能多用于图像编码。 预测编码与变换编码的比较与分析:预测编码认为冗余度是数据固有的,通过对信源建模来尽可能精确地预测源数据,去除图像的时间冗余度。但是冗余度有时与不同的表达方法也有很大的关系,变换编码是将原始数据“变换”到另一个更为紧凑的表示空间,去除图像的空间冗余度,可得到比预测编码更高的数据压缩。 变换编码是将图像时域信号变换到系数空间(频域)上进行处理的方法。在时域空间上具有很强相关的信息,在频域上反映出在某些特定的区域内能量常常被集中在一起或者是系数矩阵的分布具有某些规律,从而可以利用这些规律分配频域上的量化比特数而达到压缩的目的。变换编码的目的在于去掉帧内或帧间图像内容的相关性,它对变换后的系数进行编码,而不是对图像的原始像素进行编码。 先对信号进行某种函数变换, 从一种信号(空间)变换到另一信号(空间)然后再对变换后的信号进行编码。比如将时城信号变换到频域,就是因为声音和图像的大部分信号都是低频信号,在频域中信号能比较集中,换为频域信号后再进行采样、编码,可以达到压缩数据的效果。可以看出预测编码和变换编码相比:预测编码主要在时空域上进行,变换编码则主要在变换域上进行。采用变换编码的有DEF(傅立叶变换)、DTC(离散余弦变换等)。 3. 霍夫曼编码的图像压缩 3.1霍夫曼编码的具体过程 1.建立最优二叉树。首先统计信息源中各符号出现的频率,然后按符号出现的概率从大到小排序; (责任编辑:qin) |