参考文献 24
引言
随着采集设备更新的加速化,图像数据量呈几何增长,人们对图像质量、尺寸、读取速度的要求越来越高。
物理的传输带宽和存储介质都是有限的资源,在传递大量的图像信息时,如果可以在保证信息正确性的基础上实现图像的压缩,不仅能够节省物理存储资源,也可以增大图像在信道中的传输效率。尤其是在如今的互联网中,图像的重要性更加凸显,无论是购物还是社交聊天,图像都不可或缺,实现图像的高效压缩成为非常重要的课题。影响图像压缩效果的因素众多,压缩算法将成为主要突破口之一。
1 选题背景
1.1 图像压缩简介
图像数据中或多或少存在着冗余是图像可进行压缩主要原因。Shannon首先提出把数据看作是信息和冗余度[ ]的组合。冗余度是指一副图像的每个像素之间或多或少存在着一定的相关性,而通过编码的方法,可以减少或消除相关性,从而减少冗余数据完成压缩。
图像压缩[ ]实际是一个对像素进行编码和解码的过程,即将图像经过压缩算法后进行存储或传输,打开图像时再利用对应解压算法进行图像的解码,从而还原图像数据。图像压缩过程如图 1所示。
图 1 图像压缩过程
1.2 研究状况
1.2.1 国外现状
1.2.2 国内现状
2 待研究算法简介
2.1 哈夫曼编码
哈夫曼编码(Huffman Coding)[ ]是Huffman于1952年提出一种编码方法,该方法完全根据字符出现概率大小来构造Huffman树,对Huffman树进行编码时使概率较高的数据采用较短的编码,而概率较低的数据采用较长的编码。哈夫曼树构造过程如下:
(1)对给定的权值 ,其中 ,构成 个Huffman树初始节点集合 ,其中 是以 为权值孩子的根结点。
(2)选取 中两棵权值最小的树作为构造新哈夫曼树的左右子树,新哈夫曼树的根结点的权值为其左右孩子的权值之和。
(3)从 中删除已构造的两个节点,并把新节点以升序排列加入到集合 中。
(4)重复(2)和(3)两步,直到集合 所有节点都已经构造完成。
2.2 行程编码
行程编码(RLE, Run Length Encoding)。将像素矩阵的扫描过程中颜色值相同的相邻像素用一个记数值(标记相同像素块大小)和对应像素的像素灰度值来代替。如矩阵 经行程压缩后表示为 ,可以用4个键值对表示10个像素块(假设每个像素消耗一个存储空间)的内容,消耗8个存储空间,达到压缩目的。故此,形成编码针对图像中颜色相对单一且集中的色块有较好的压缩效果,但当图像中存在多种颜色且较为分散时,则会适得其反。如矩阵 压缩后表示为 ,10个像素需要7个键值对表示,每一个键值对都需要花费两倍的存储空间,最终消耗14个存储空间,失去压缩效果。
2.3 离散余弦变换编码
离散余弦变换(DCT,Discrete Cosine Transform)[ ],属于变换编码,是将空间域内一个像素组成的像素块经过正交变换后,生成一个同样大小的频域矩阵,频域矩阵中相关性基本解除,能量主要集中在左上方。通过对频域量化和滤波操作可实现压缩。
二文离散余弦变换的公式[ ]如公式 1:公式 1
二文离散余弦逆变换的公式为公式 2:公式 2
3 前期准备
在进行此次课题之前,需要进行一些前期准备工作,具体准备内容如下:
3.1 开发环境及配置
本次课题全程使用JAVA语言进行开发,需要安装JDK作为JAVA运行环境,同时安装Eclipse作为开发平台。对于压缩后的信息,使用SQL Server进行存储,便于后期对其进行分析。 java数字图像压缩算法效率对比及其优化+源程序(2):http://www.youerw.com/jisuanji/lunwen_24774.html