您现在的位置:网站首页答辩论文工学论文电子论文

基于DCT变换的图像编码算法研究

  • 简介:(基于DCT变换的图像编码算法研究 毕业设计 98页 39403字 包括开题报告 文献综述 任务书 程序 外文翻译 论文正文30页)摘要:目前,图像已经成为人们获取日常信息的重要来源,但随着信息时代的发展,网络资源日益紧缺的矛盾也逐渐体现出来。所以,图像压缩...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载
基于DCT变换的图像编码算法研究 毕业设计 98页 39403字 包括开题报告 文献综述 任务书 程序 外文翻译 论文正文30页)

摘要:目前,图像已经成为人们获取日常信息的重要来源,但随着信息时代的发展,网络资源日益紧缺的矛盾也逐渐体现出来。所以,图像压缩编码成了缓解这一矛盾的重要手段。
从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去掉确定的信息,也就是用一种更接近信息本质的描述来代替原有冗余的描述。
文中研究的基于离散余弦变换(DCT)的图像编码采取了多种编码方式,包含有行程编码(Run Length Coding)和哈夫曼(Huffman)编码,具有很高的压缩比。在编码前,先对数据进行分块,分成8*8的子块,然后对每个子块进行DCT及量化,保留能量大的低频信号,丢弃高频信号以达到压缩的目的。最后对量化的系数进行熵编码,就完成了整个编码过程。解码时,经过熵解码,反量化,反离散余弦变换(IDCT)后就可以得到重建图像了。在整个图像压缩编码过程中,量化是引起图像数据损失的主要原因,所以可以调节量化程度来改变重建图像的精度。
用VC++实现图像编解码算法,程序的编码部分能把一张BMP格式的24位真彩色图象进行编码,压缩成以二进制形式保存的文件;通过相应的解码程序又可以把图象解压缩出来。

关键词:离散余弦变换;量化; Huffman编码



Research of Image Coding Algorithm Based on DCT
Abstract: At present, the image has become more and more important that it is source of people’s daily information, but with the development of the information age, the contradiction of network resource shortage have gradually appeared. So image coding has become an important means to solve the problem.
From the perspective of information theory, compression means to get rid of the redundant information. In other words, it means to reserve the uncertain information but get rid of the certain information.
Image coding algorithm based on discrete cosine transform (DCT) takes some kinds of encoding technology including run length coding and huffman coding, so it has high compression ratio. Before coding, the image is divided into some small blocks, each of which consists of 8*8 pixels, firstly. Secondly, each block is transformed into 8*8 DCT coefficients. Thirdly, these coefficients will be quantified. The low-frequency signals that have more energy are reserved and others are rejected. Finally, the quantified coefficients will be coded to complete the whole process. While decoding,data stream are readed,entropy decoded,inverse-quantified and then IDCT , at last, the retrieval image will be got. In the entire process of image compression, quantization is the main reason that caused the image data loss, so the quantization can be adjusted to change the precision of retrieval image.
The image encoding and decoding and the specific realization of program are on Visual C++ platform. The encoding part of this program can encode a picture whose format is 24-bits-ture-color BMP and save the relevant data as binary format. The decoding program can decode the compression data and reconstruct the origin image.

Keywords: DCT; Quantify; Huffman encode
Classification: TP3




目 次
摘要 I
目次 III
1 绪论 1
1.1 图像压缩的必要性 1
1.2 图像数据压缩的可行性 1
1.3 图像压缩技术的发展和现状 1
1.3.1 图像编码技术发展历史 1
1.3.2 经典图像压缩方法 2
1.3.3 图像压缩的新方法 3
2 基于DCT变换的图像编码算法实现及流程 6
2.1 构造子图像 6
2.1.1子图像尺寸选择 6
2.1.2图像的填充 6
2.2 正交变换 7
2.2.1 正交变换原理 7
2.2.2 正交变换的特性 7
2.2.4 正交变换的选择 8
2.3 DCT变换 8
2.3.1 DCT变换概述 9
2.3.2 一维DCT算法 10
2.3.3 二维DCT算法 10
2.3.4 实现图像变换的DCT公式 11
2.4 量化 12
2.4.1 量化的概念 12
2.4.2 变换系数的截取 13
2.4.3 变换系数的量化 13
2.4.4 图像压缩编码有损和无损的实现 14
2.5 熵编码 14
2.5.1 编码顺序Zigzag 14
2.5.2 哈夫曼编码简介 15
2.5.3实现图像压缩算法的哈夫曼编码 16
2.6 静态图像压缩程序编写 17
3 压缩效果的评价 20
4 结束语 24
参考文献 25
附录A 27
作者简历
学位论文数据集


1 绪论

1.1 图像压缩的必要性
随着数字化信息时代的到来和多媒体计算机技术的发展,使得人们所面对的各种数据量剧增,数据压缩技术的研究受到人们越来越多的重视。特别是计算机网络技术的广泛应用,更促进了数据压缩技术和相关理论的研究和发展。网络的出现使我们进入了全球一体化的信息时代。网络中传递的语音、图形、图像、数据等多种媒体的传输、处理、存储、检索技术成为网络技术的重要组成部分,而压缩编码是网络技术中基础性技术。
众所周知,原始数字图像在计算机中会占用大量的存储空间。例如,一副1024*1024的24位真彩色图像要占用3MB存储空间,这对许多需要大量存储视频图像信息的应用领域会造成很大困难。因而快速的图像压缩算法,特别是解压缩算法,对于许多以图像数据位基础的应用场合具有非常重要的意义。
数字图像传输是图像编码与压缩技术的另一个重要应用领域。随着现代社会对通信业务要求的不断增长,图像通信和通信网容量的矛盾日益突出。特别是具有庞大数据量的数字图像信息更是难以传输和存储,极大地制约了图像通信的发展,已经成为图像通信发展中的瓶颈。图像压缩技术的应用为传真、视频点播、电视会议、医用图像传输等领域带来了巨大经济效益。
1.2 图像数据压缩的可行性
经研究发现,与音频数据一样,图像数据中存在着大量的冗余,原因在于原始图像数据是高度相关的。通过去除那些冗余数据可以节约文件所占的码字从而极大地降低原始图像数据量,解决图像数据量巨大的问题,达到数据压缩的目的。图像数据压缩技术就是研究如何利用图像数据的冗余性来减少图像数据量的方法。因此,进行图像压缩研究的起点是研究图像数据的冗余性。
从信息论[1]观点来看,图像作为一个信源,描述信源的数据是信息量(信源熵)和信息冗余量之和。信息冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。可见冗余量减少可以减少数据量而不减少信源的信息量。从数学上讲,图像可以看作一个多维函数,压缩描述这个函数的数据量实质是减少其相关性。另外在一些情况下,允许图像有一定的失真,而并不妨碍图像的实际应用,那么数据量压缩的可能性就更大了。
1.3 图像压缩技术的发展和现状
1.3.1 图像编码技术发展历史
自1948年提出的电视信号数字化设想后, 即开始了图像压缩的研究,到现在已有50多年的历史。20世纪五六十年代的图像压缩编码主要集中在预测编码、哈夫曼编码等技术的研究,还不成熟。1969年在美国召开的第一届“图像编码会议”标志着图像编码作为一门独立学科的诞生。到了七八十年代,图像压缩技术的主要成果体现在变换编码技术上, 矢量量化编码技术也有较大的发展。80年代末,小波变换理论、分形理论、人工神经网络理论、视觉仿真理论建立,人们开始突破传统的信源编码理论, 图像压缩编码向着更高的压缩率和更好的压缩质量的方向发展,进入了一个崭新的发展时期[2]。
1.3.2 经典图像压缩方法
(1)统计编码
统计编码又称熵编码,它是对于有不同概率的事件分配以不同长度的码字,对概率大的事件分配以短的码字,从而使平均码字最短。统计编码实现事件出现的概率与码字长度的最佳匹配。典型的统计编码法有哈夫曼编码(Huffman)、算术编码和行程编码等。
①哈夫曼编码
哈夫曼编码是由哈夫曼在1952年提出的一种编码方法。这种方法是根据信源中各种符号出现的概率进行编码,出现概率越高的符号为其设计的码字越短,出现概率越小的符号,则对应的码字越长,从而达到较少的平均码长。理论研究表明,哈夫曼编码是接近于信源熵的编码方法。因为哈夫曼编码较为简单有效,所以得到了广泛的应用。但是产生哈夫曼编码要对原始数据扫描两遍,数据压缩和还原速度都较慢。另外哈夫曼编码对于位的增减都反应敏感。
②算术编码
算术编码[3]完全抛弃了用特殊字符代替输入字符的思想。在算术编码中,输入的字符信息用0到1之间的字数进行编码,它用到两个基本的参数:符号的频率及其编码间隔。对于输入的字符信息,算术编码后形成一个唯一的浮点数。算术编码的特点是,(1)算术编码在自适应模式下,不必预先统计符号概率;(2)当信源中符号的概率比较接近时,算术编码的效率优于哈夫曼编码;(3)算术编码的实现比哈夫曼编码复杂一些。
③游程编码
游程编码是相对简单的编码技术,主要思路是将一个相同值的连续串用一个代表值和串长。在进行图像编码时,定义特定方向上具有相同灰度的相邻元为一轮,其延续长度称之为延续的行程,简称为游程。游程的中点位置由前一游程的中点位置确定,这样就可以由游程来表示图像数据。由于游程是一个变化的数值,各种长度的游程出现的频率不同,因此在许多场合下,对游程采用哈夫曼编码进一步压缩,以进一步去除相关性,提高压缩比。
(2)预测编码
预测编码的理论基础是现代统计学和控制论。预测编码是根据某一模型利用以往的样本值,对于新样本值进行预测,然后将样本的实际值与其预测值相减得到一个误差值,对这一误差值进行编码,如果模型足够好且样本序列在时间上的相关性较强,那么误差信号的幅度将远小于原始信号,从而可以用较少的数据类对其差值量化得到较大的数据压缩结果。现在常用的方法是差分脉冲编码调制(DPCM)法。利用预测编码的方法压缩图像数据的空间和时间冗余性,这种方法直观、简捷、易于实现,它的不足在于压缩能力有限。
(3)变换编码
变换编码先对图像进行某种函数变换,从一种表示空间变换到另一种表示空间,然后在变换后的域上,对变换后信号进行编码。
目前在图像压缩中经常使用的变换有:
①Karhunen-Loeve变换(KLT)。
它是一种最优变换。KLT可以有效地去除原始数据的相关性,从而实现高效压缩。但是由于KLT变换的核不是固定的,是随原始数据而变的,并且不存在快速算法,限制了它在实际上的应用,一般常作为其他方法的参照。
②离散余弦变换(DCT)。
对于像素间呈现高度相关的典型图像,DCT的性能与KLT的性能没有实质的区别。DCT的快速实现算法也已经实现。与Walsh- Hadamard变换相比,DCT具有更强的信息集中能力,并且易于软硬件的实现,正是由于这些优点,DCT已经成为当前图像压缩中应用最广泛的技术。
③Walsh- Hadamard变换(WHT)。
与DCT相比,WHT的压缩方面的性能要逊色许多,但由于实现起来算法简单,且具有简洁的去相关能力,以及特别有利于硬件实现,使得WHT也成为一种比较流行的算法。
1.3.3 图像压缩的新方法
经典的压缩算法理论已经比较成熟,并且已经出台了基于DCT等技术的国际压缩标准,如JPEG、MPEG、H.261等。然而随着人们对这些传统编码方法的深入研究和应用,也发现了这些方法的许多缺点,如高压缩比时恢复图像出现严重的方块效应、人眼视觉系统的特性不易被引入到压缩算法中。为克服传统压缩方法的上述缺点,人们提出了几种新的编码方法:基于小波变换的压缩方法、分形压缩方法和神经网络压缩方法 [4] 。
(1)小波
小波变换的理论是在20世纪80年代后期兴起的新的数学分支,他是继Fourier变换后又一里程碑式的发展。小波图像压缩的基本思想是:对原始图像进行小波变换,转换成小波域上的系数,然后对小波系数进行量化编码。由于小波变换后原始图像的能量主要集中在少部分的小波系数上, 所以通过略去某一阈值以下的系数, 只保留那些能量较大的系数就可达到图像压缩的目的[2]。
图像经过小波变换后生成的小波图像的数据总量与原图像的数据量相等,即小波变换本身并不具有压缩功能。之所以将它用于图像压缩, 是因为生成的小波图像具有与原图像不同的特性, 表现在图像的能量主要集中于低频部分, 而水平、垂直和对角线部分的能量则较少。小波变换的作用是对图像进行多分辨率分解,即把原始图像分解成不同空间、不同频率的子图像,分解级数越多,图像的分辨率等级也就越多。低频部分可以称作亮度图像,水平、垂直和对角线部分可以称作细节图像。对所得的4个子图,根据人类的视觉生理和心理特点分别作不同的量化和编码处理。
与传统纯频域分析的傅里叶变换不同, 同离散余弦变换(DCT)图像编码方法相比,小波变换能够有效地消除方块效应的存在以及方块效应对后继图像编码的影响, 并且还可以保证在较高压缩比下恢复图像的质量。同时,小波变换方法还能基本上消除蚊式噪声。由于其具有这些优点,所以小波分析
迅速成为图像压缩领域的热点,并取代DCT用于JPEG-2000、MPEG- 4、MPEG- 7等新的图像编码标准。
(2)分形
分形的概念是数学家Mandelbrot于1975年提出的称为分形的结构一般都存在内在的几何规律性,即“比例自相似性”。在一定的标度范围内,对景物图像的局部区域进行放大,会发现其不规则程度与景物本身是一样的或极其近似的。分形图像压缩的思想就是利用原始图像所具有的自相似性,构造一个迭代函数系统( IFS )。利用IFS 抽取图像的自相似性, 即用图像中的一个子块经过自仿射分形变换来逼近同一图像中的另一子块,达到基于分形的图像压缩目的[4]。
分形理论在图像压缩编码中的应用是一个非常诱人的研究领域,其主要特点是在获得高压缩比的同时能保持较好的解码图像质量、运算速度与提高图像分辨率的关系不大,选择适当的分形模型完全可以构造出清晰的边缘细节、解码过程快捷等。但目前,分形编码还未完全实用化,其主要困难在于传统空域的分形压缩有很多瓶颈,例如,运算复杂度太大、收敛过程较难预测和控制、高压缩倍率时的块状效应等。尽管自动图像压缩算法的改进工作已持续了十几年,但编码时间、压缩比以及压缩效果仍不够理想,远没有达到分形本身应该达到的效果,因而,在当前图像压缩编码中还不占主导地位。为了能真正发挥分形高压缩比的潜力,必须寻求IFS 码算法的突破,找到编码实现的快速算法。
(3)神经网络
人工神经网络在图像压缩中的应用越来越引起人们的注意,和一些传统的压缩方法相比,人工神经网络技术具有良好的容错性、自组织性和自适应性,因此在图像压缩过程中,不必借助于某种预先确定的数据编码算法,神经网络能根据图像本身的信息特点,自主地完成图像编码和压缩[9]。
目前, 在图像压缩中, 使用较多的是三层BP(Back2Propagation) 网络,如图所示。将图像先分成n个小块,对应于输入的n 个神经元, 压缩后的数据对应于隐含层m个神经元,m≤n。通过BP训练算法,调整网络权重,使重建图像尽可能地相似于原始图像,经过训练后BP神经网络便可直接用来进行数据压缩。BP网络用于数据压缩类似于图像的KL变换。
但是,目前人工神经网络的工作原理还不清楚,神经网络的图像编码方法的研究目前仅处于一个初级阶段, 需要解决的问题还很多,如完善人工神经网络的理论体系,弄清楚神经网络的工作原理,找到适合图像数据高效压缩,充分利用视觉信息处理机制的神经网络模型和学习算法。
查看评论 已有0位网友发表了看法
  • 验证码: