当前位置:文档之家› 基于DCT的图像压缩编码算法的研究

基于DCT的图像压缩编码算法的研究

基于DCT的图像压缩编码算法的研究
基于DCT的图像压缩编码算法的研究

课程研究书

学生姓名:专业班级:

指导教师:工作单位:

题目:基于DCT的图像压缩编码算法的研究

初始条件:MATLAB软件平台

设计任务与要求:

图像通信之前需要进行数据量压缩,编程实现JPEG图像压缩标准的主要环节,完成压缩和解压过程,计算压缩比。

将彩色图像进行颜色空间转换、对不同的颜色分量进行不同的采样、对于3个分量进行8×8的DCT变换、对DCT系数矩阵按照JPEG推荐的量化表进行量化;对量化后的系数进行Z形扫描,最后进行熵编码,形成码流,计算比特数,和压缩比。解压从量化后的DCT系数表开始逆向进行。

指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录

摘要 (3)

Abstract (4)

1概述 (5)

1.1 MATLAB 及其图像处理工具箱 (5)

1.2 JPEG图像压缩编码 (5)

1.3 DCT离散余弦变换 (6)

2 基于DCT的图像压缩编码算法原理 (7)

2.1 基于DCT的图像压缩编码算法流程 (7)

2.2 颜色空间的转换和采样 (7)

2.3 二维离散余弦变换 (8)

2.4 DCT系数的量化 (9)

2.5 量化系数的编排 (10)

2.6 DC系数的编码 (11)

2.7 AC系数的编码 (12)

2.8 霍夫曼编码 (13)

3 基于DCT图像压缩的MATLAB实现 (14)

3.1数字图像文件的读写 (14)

3.2基于DCT图像压缩编码的MATLAB实现流程 (16)

4 仿真结果与分析 (17)

5 心得体会 (20)

参考文献 (21)

附录 (22)

摘要

图像压缩是关于用最少的数据量来表示尽可能多的原图像的信息的一个过程。对于图像来说,如果需要进行快速或实时传输以及大量存储,就需要对图像数据进行压缩,在同等的用心容量下.如果图像数据压缩后再传输,就可以传输更多的图像信息,也就可以增加通信的能力。变换编码是把图像中的各个像素从一种空间变换到另一种空间.然后针对变换后的信号进行量化与编码操作的一种图象压缩编码技术。

基于DCT变换的JPEG图像压缩编码算法进行研究,通过对比分析各种软件特性选取了MATLAB进行实验仿真,重点介绍了压缩编码的具体过程和方法 ,详细介绍了编码中DCT变换、量化、熵编码等模块的原理和数学推导以及各模块的功能分析,基于DCT 变换的JPEG 图像压缩方法简单、方便,既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB仿真出来的结果较好的反应了其编码算法原理。

关键词:图像压缩技术 DCT变换 JPEG图像 MATLAB图像处理工具箱

Abstract

Image compression is about the least amount of data used to represent a process as much as possible the original image information. For images, if the need for rapid or real-time transmission and a lot of storage , you need to compress the image data , in the same intentions capacity. If the image data is compressed and transmitted, the more image information can be transmitted, it can increase the capacity of communication. An image coding operation is then quantized and converted to a signal for the compression coding technology.

DCT- based JPEG image compression algorithm to study a variety of software features selected MATLAB simulation experiment , focusing on the specific process and compression encoding method , detailing the coding DCT, quantization and entropy coding analysis by comparing theory and mathematical derivation and functional analysis of each module, DCT- JPEG image compression method based on simple, convenient, can guarantee a higher compression ratio , but also ensures better image quality , the application of MATLAB simulation out results better reflect its coding theory algorithms.

Keywords: image compression technology, DCT transform, JPEG image, MATLAB Image Processing Toolbox

1 概述

1.1 MATLAB软件简介

MATLAB(矩阵实验室)是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

图像处理工具箱(Image Processing Toolbox)提供了一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可进行图像压缩、空间转换、图像增强、特征检测、降噪、图像分割和图像配准等功能。工具箱中大部分函数均以开放式 MATLAB 语言编写,这意味着可以检查算法、修改源代码和创建自定义函数。本次课程设计使用MATLAB图像处理工具箱对基于DCT的JPEG图像压缩编码理论算法进行仿真。

1.2 JPEG图像压缩编码技术

在满足一定保真度的要求下,对图像数据的进行变换、编码和压缩,去除多余数据减少表示数字图像时需要的数据量,以便于图像的存储和传输。即以较少的数据量有损或无损地表示原来的像素矩阵的技术,也称图像编码.

图像压缩编码可分为两类:一类压缩是可逆的 ,即从压缩后的数据可以完全恢复原来的图像 ,信息没有损失 ,称为无损压缩编码;另一类压缩是不可逆的 ,即从压缩后的数据无法完全恢复原来的图像 ,信息有一定损失 ,称为有损压缩编码。

在众多的图像压缩编码标准中,JPEG(Joint Photographic Experts Group)是联合图像专家组的缩写,文件后辍为jpg或jpeg,是最常用的图像文件格式,由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且JPEG是一种很灵活的格式,具有调节图像质量的

功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。它适用于不同类型、不同分辨率的彩色和黑白静止图像。

1.3 DCT离散余弦变换

在JPEG图像压缩算法中,有一种离散余弦变换(DCT,Discrete Cosine Transform)为基础的有损压缩算法。DCT变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。

DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。图像经DCT变换以后,DCT系数之间的相关性就会变小,而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。

发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT 变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换,最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。在实验中,先将输入的原始图像分为8*8块,然后再对每个块进行二维DCT变换。

2 基于DCT 的图像压缩编码算法原理

2.1 基于DCT 的图像压缩编码算法流程

在编码过程中,首先将输入图像颜色空间转换后分解为8×8大小的数据块,然后用正向二维DCT 把每个块转变成64个DCT 系数值,其中1个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT 系数进行量化,最后将变换得到的量化的DCT 系数进行编码和传送,这样就完成了图像的压缩过程。

在解码过程中,形成压缩后的图像格式,先对已编码的量子化的DCT 系数进行解码,然后求逆量化并把DCT 系数转化为8×8样本像块(使用二维DCT 反变换),最后将操作完成后的块组合成一个单一的图像。这样就完成了图像的解压过程。

基于DCT 编码的JPEG 编码压缩过程框图,如图2-1所示。

图2-1 基于DCT 编码的JPEG 压缩流程图

2.2颜色空间的转换和采样

JPEG 文件使用的颜色空间为1982年推荐的电视图像数字化标准CCIR 601(现为ITU-RB T.601)。在这个色彩空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。JPEG 只支持YCbCr 颜色模式,其中Y 代表亮度,CbCr 代表色度。全彩色图像RGB 模式转换到YCbCr 模式,用下组公式

0.2990.5870.114()/1.402()/1.772Y R G B Cr R Y Cb B Y =++??

=-??=-? (2 - 1) 其逆变换为:

1.4020.3440.7141.772R Y Cr G Y Cb Cr B Y Cb =+??

=--??=+?

(2 - 2)

JPEG 是以8×8的块为单位来进行处理的,由于人眼对亮度Y 的敏感度比色度CbCr 的敏感度大的多,所以采用缩减取样的方式,通常采用YUV422取样,即对于16×16的

块,Y 取4个8×8的块,CbCr 各取2个8×8的块。也有YUV411方式,Y 取4个8×8的块,CbCr 各取1个8×8的块。YUV422取样方式,数据减少1/3。YUV411取样方式,数据减少1/2,图2-2所示。

图2-2 YUV422取样示意图

2.3 二维离散余弦变换

在傅里叶级数展开式中,如果展开的函数是实偶函数,那么傅里叶级数中只包含余弦项,在将其离散化由此可导出余弦变换,或称之为离散余弦变换(DCT ,Discrete Cosine Transform)。

二维离散余弦正变换公式为:

()()()()???

??+??? ??+=∑∑

-=-=ππv N y u N x y x f N v c u c v u F N y N x 212cos 212cos ,2,1

1

0 (2 - 3) 式中,1,,1,0,,,-=N v u y x 。???

??====其它

1

0,02

1

)()(v u v c u c

二维离散余弦逆变换公式为

()()()()???

??+??? ??+=∑∑

-=-=ππv N y u N x v u F v c u c N y x f N v N u 212cos 212cos ,2,1

1

(2 - 4)式中,1,,1,0,,,-=N v u y x 。

JPEG 采用的是8×8大小的子块的二维离散余弦变换。在编码器的输入端,把原始图像顺序地分割成一系列8×8的子块,子块的数值在-128到127之间。采用余弦变换获得64个变换系数。

()()()()7

7

1

2121,,cos cos 41616x y x y F u v c u c v f x y u v ππ==++????

= ?

?????∑

∑ (2 - 5)式中,7,,1,0,,, =v u y x 。

在MATLAB的图像处理工具箱中,可以直接调用dct2和idct2来实现二维离散余弦变换及其反变换。

1、dct2函数实现图像的二维离散余弦变换,其语法为:F=dct2(f)

2、idct2函数实现图像的二维离散余弦逆变换,其语法为:F=idct2(f)

在MATLAB图像处理工具箱中,有一个对图像进行块操作的函数blkproc,利用这个函数,可以直接实现图像一系列8×8子块的DCT变换。其语法格式为:

B = blkproc(A,[m n],fun, parameter1,,parameter2, ...)

B = blkproc(A,[m n],[mborder nborder],fun,...)

B = blkproc(A,'indexed',...)

8×8的图像经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。由于该低频分量包含了图像的主要信息(如亮度),而高频与之相比,就不那么重要了,所以我们可以忽略高频分量,从而达到压缩的目的。将高频分量去掉,这就要用到量化,它是产生信息损失的根源,由于左上角的值较小,右上角的值较大,这样就起到了保持低频分量,抑制高频分量的目的这里的量化操作,就是将某一个值除以量化表中对应的值。

2.4 DCT系数的量化

在基于DCT变换的图像压缩编码方法中,对DCT系数必须做量化处理。量化过程是一个多对一的映射,例如对一个8×8块的64个DCT变换系数分别除以量化步长后取整。由于大多数DCT变换系数量化后变为零,因而量化是对经过DCT变换后的频率系数进行量化,其目的是减小非0系数的幅度以及增加0值系数的数目,它是图像质量下降的最主要原因。

对于基于DCT的JPEG图像压缩编码算法使用的均匀量化器进行量化,因此使用了量化表,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小。量化会产生误差,上图是综合大量的图像测试的实的就是将高频部分变成接近于0,以便以后处理。JPEG可以在压缩比和图像质量间作取舍,方法就是改变量化值。如果量化值放大一倍,更多的系数量化为0,提高压缩比。

亮度和色度因为代表的图像的信息量不同,亮度代表了图像的低频分量,色度代表了图像的高频分量,要分别对亮度和色度进行量化,所以量化表也是不同的。JPEG压缩色度和亮度量化表如表2-1所示。

表2-1 JPEG压缩色度和亮度量化表

2.5 量化系数的编排

在经过DCT变换后,低频分量集中在左上角,其中F(0,0)代表了直流(DC)系数,即8×8子块的平均值,要对它单独编码。由于两个相邻的8×8子块的DC系数相差很小,所以对它们采用差分编码DPCM,可以提高压缩比,对相邻的子块DC系数的差值进行编码。量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排。

DCT变换后低频分量多呈圆形辐射状向高频率衰减,对于大部分图像都有很好的结果。表中可以看出,高频部分对应的量化值大,可以看成按Z字形衰减。因此,量化系数按Z字形扫描读数,这样就把一个8×8的矩阵变成一个1×64的矢量,频率较低的系数放在矢量的顶部。量化后的DCT系数的编排如图2-3所示。

图2-3 量化DCT系数的编排

量化后的DCT系数的序号如表2-2所示。

表2-2 量化DCT系数的序号

2.6 DC系数的编码

差分脉冲编码调制(DPCM,Differential Pulse Code Modulation),是一种对模拟信号的编码模式,先根据前一个抽样值计算出一个预测值,再取当前抽样值和预测值之差作为编码用。此差值称为预测误差。抽样值和预测值非常接近(因为相关性强),预测误差的可能取值范围比抽样值变化范围小。所以可用少几位编码比特来对预测误差编码,从而降低其比特率。这是利用减小冗余度的办法,降低了编码比特率。

在8×8子块的64个变换系数经量化后,按直流系数DC和交流系数AC分成两类处理。坐标u=v=0的直流系数DC实质上就是空域图像中64个像素的平均值。图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8×8图像块的DC系数值变化不大,JPEG算法使用了差分脉冲调制编码技术。

对DC系数编码进行差分脉冲编码就是对相邻图像块之间量化DC系数的差值(Delta)进行编码。采用差值脉冲编码的主要原因是由于在连续色调的图像中,其差值多半比原值小,对差值进行编码所需的位数,会比对原值进行编码所需的位数少许多。例如差值为5,它的二进制表示值为101,如果差值为-5,则先改为正整数5,再将其二进制转换成1的补数即可。在差值前端另外加入一些差值的霍夫曼码值,例如亮度差值为5(101)的位数为3,则霍夫曼码值应该是100,两者连接在一起即为100101。所谓1的补数,就是将每个Bit若值为0,便改成1;Bit为1,则变成0。差值5应保留的位数为3,列出差值所应保留的Bit数与差值内容的对照。

2.7 AC 系数的编码

DCT 变换所得系数除直流系数之外的其余63个系数称为交流系数(AC 系数)。量化AC 系数的特点是1× 64矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的行程长度编码(RLE)对它们进行编码。

所谓行程编码(Run-Length Encoding)就是指仅存储一个像素值以及具有相同颜色的像素数目的图像数据编码方式,或称游程编码,常用RLE(Run-Length Encoding)表示。该压缩编码技术相当直观和经济,运算也相当简单,因此解压缩速度很快。RLE 压缩编码尤其适用于计算机生成的图形图像,对减少存储容量很有效果。

在AC01到AC63中,找出每一个非0的AC 值,将其表示成(NN/SS)VV 的形式,其中:NN 表示该AC 值前的0的个数。而SS 、VV 与DC 的定义一样。如果连续的非0超过15个时,增加一个扩展字节:(15/0)表示连续16个0。另外若有一串0延伸到AC63,一律用(0/0)表示结束。63个AC 系数采用行程编码的方式如图2-4所示。

图2-4 AC 编码格式

对于AC 系数,有两个符号。符号

1为行程和尺寸,(0,0)和(15

,0)是两个比较特殊的情况。(0,0)表示块结束标志EOB ,(15,0)表示ZRL ,当行程长度超过15时,用增加ZRL 的个数来解决,所以最多有三个ZRL(3×16+15=63)。

对于DC 系数,也有两个符号。符号1为尺寸(Size),符号2为幅度值(Amplitude)。 对于AC 系数,符号1和符号2分别进行编码。零行程长度超过15个时,有一个符号(15,0),块结束时只有一个符号(0,0)。

对符号1进行Huffman 编码(亮度,色差的Huffman 码表不同),对符号2进行变长整数(VLI)编码。举例来说:Size=6时,Amplitude 的范围是-63~-32,以及32~63,对绝对值相同,符号相反的码字之间为反码关系。所以AC 系数为32的码字为100000,33的码字为100001,-32的码字为011111,-33的码字为011110。符号2的码字紧接于符号1的码字之后。对于DC 系数,Y 和UV 的Huffman 码表也不同。

第一字节

第二字节

2.8 霍夫曼编码

Huffman编码过程的几个步骤:

(l)将信号源的符号按照出现概率递减的顺序排列。(注意,一定要递减)

(2)将最下面两个最小出现概率进行合并相加,得到结果作为新符号的出现概率。

(3)重复进行步骤1和2直到概率相加的结果等于1为止。

(4)在合并运算时,概率大的符号用编码0表示,概率小的符号用编码1表示。

(5)记录下概率为1处到当前信号源符号之间的0,l序列,得到每个符号的编码。

一串信号源S={s1,s2,s3,s4,s5}对应概率为p={40,30,15,10,5},按照递减的格式排列概率后,根据第二步,会得到一个新的概率列表,依然按照递减排列,注意:如果遇到相同概率,合并后的概率放在下面!最后概率最大的编码为0,最小的编码为1,所以,编码结果为:

s1=1

s2=00

s3=010

s4=0110

s5=0111

霍夫曼编码的特点:

(1)编出来的码都是异字头码,保证了码的唯一可译性。

(2)由于编码长度可变。因此译码时间较长,使得霍夫曼编码的压缩与还原相当费时。

(3)编码长度不统一,硬件实现有难度。

(4)对不同信号源的编码效率不同,当信号源的符号概率为2的负幂次方时,达到100%的编码效率;若信号源符号的概率相等,则编码效率最低。

(5)由于0与1的指定是任意的,故由上述过程编出的最佳码不是唯一的,但其平均码长是一样的,故不影响编码效率与数据压缩性能。

3 基于DCT图像压缩的MATLAB实现

MATLAB图像处理工具箱支持四种图像类型,分别为RGB图像(真彩色图像)、索引图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。

MATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。下面就图像处理的基本过程讨论工具箱所实现的常用功能。

MATLAB为用户提供了专门的函数来从图像格式的文件中读写图像数据。这种方法不像其他编程语言,需要编写复杂的代码,只需要简单地调用MATLAB提供的函数即可。

3.1数字图像文件的读写

(1) 图像文件的读取。MATLAB中利用函数imread来实现图像文件的读取操作。其语法格式为:

A=imread(filename,fmt)

[X,map]=imread(filename,fmt)

[…]=imread(filename)

Filename:图像文件名;fmt:图像文件格式。

A = imread(filename,fmt) 读取图像到A,如果文件是包含灰度图像,A是二维矩阵,如果文件是包含真彩色图像(RGB),A是三维矩阵(M-by-N-by-3)。文件必须在当前目录下,或在matlab的路径上。如果imread不能够找到名称为filename的文件,那么它将找一名为filename. fmt的文件

[X,map] = (imread filename,fmt) 把图像filename读入与它相关的图像色彩信息写入map,图像色彩信息值在范围[0,1]中自动地重新调整。

[…] = imread(filename)这种方式是试图得到文件的格式从文件所包含的信息。

(2) 图像文件的输出。MATLAB中利用函数imwrite来实现图像文件的输出和保存操作。其语法格式为:

Imwrite(A,filename,fmt)

Imwrite(X,map,filename,fmt)

Imwrite(…,filename)

Imwrite(A,filename,fmt)把图像A 写入图像文件filename。

Imwrite(X,map,filename,fmt)把X和它的相关色彩信息map写入filename。

Imwrite(…,filename)把图像写入图像文件filename,并推测可能的格式用来做filename的扩展名,扩展名必须是fmt中一合法名。

(3) 图像文件的显示。在MATLAB中,可以调用image函数来显示图像,其语法格式为:

Image(C)

Image(C) 把矩阵C 转成一图像。C 可以是一M×N 或M×N×3维的矩阵,且可以是包含double, uint8,或uint16 数据。image是用来显示附标图像,即显示的图像上有x、y坐标轴的显示,可以看到图像的像素大小。但可以加上axis off命令即可把坐标去掉。

在MATLAB的图像处理工具箱中,还提供了一个应用很广泛的图像显示函数,即imshow函数,其调用格式为:

Imshow(I,n)

Imshow(I,[low high])

Imshow(BW)

Imshow(X,map)

imshow(RGB)

imshow filename

Imshow(I,n)显示一幅n个灰度级的图像I。

Imshow(I,[low high])一定灰度范围内显示灰度图像,low和high参数分别为数据数组的最小值和最大值。

Imshow(BW)显示二进制图像。

Imshow(X,map)显示索引图像,其中X代表索引图像的数据矩阵,map为颜色映射表。

imshow filename 显示一幅在当前目录下的合法文件。

imshow(RGB)显示RGB图像。RGB是一个m×n×3的数组。对于RGB中的每个像素(r,c),imshow显示数值(r,c,1:3)所描述的颜色。

例如下面的程序:

imread(‘zyj.bmp’);

imshow(I),title(‘图像读出’)

3.2基于DCT图像压缩编码的MATLAB实现的流程

DCT变换是数字图像处理中重要的变换,很多重要的图像算法、图像应用都是基于DCT变换的,如JPEG图像编码方式。对于大尺寸的二维数值矩阵,倘若采用普通的DCT变换来进行,其所花费的时间将是让人难以忍受甚至无法达到实用。而要克服这一难点,DCT变换的快速算法是比较好的选择。

就目前而言,DCT变换的快速算法无非有以下两种方式:

(1)由于FFT算法的普便采用,直接利用FFT来实现DCT变换的快速算法相比来说就相对容易。但是此种方法也有不足:计算过程会涉及到复数的运算。由于DCT变换前后的数据都是实数,计算过程中引入复数,而一对复数的加法相当于两对实数的加法,一对复数的乘法相当于四对实数的乘法和两对实数的加法,显然是增加了运算量,也给硬件存储提出了更高的要求。

(2)直接在实数域进行DCT快速变换。显然,这种方法相比于前一种而言,计算量和硬件要求都要优于前者。

输入图片;分成8*8的像素块,进行DCT变换;输入量化表,对变换系数量化;对量化系数进行扫描;选择一幅图对其进行不同的压缩比变换;反量化;反DCT变换;显示所选图像的信噪比。如图3-1所示。

图3-2 基于DCT的图像压缩编码的MATLAB实现的流程图

4 MATLAB仿真结果与分析

(1)彩色空间的采样和转换,在YCbCr颜色模式中Y代表亮度,CbCr代表色度,将原始全彩图像RGB模式转换到YCbCr模式

图4-1 彩色空间的采样和转换

(2)采用了JPEG的核心离散余弦变换算法。DCT是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像,DCT产生的系数很容易被量化,因此能获得好的块压缩。

图4-2 DCT量化处理

(3)变换后的频域图像进行反量化得到复原图像,保留DCT变换系数,运用逆DCT变换,对图像进行重构,分别得到原图像的三个解压分量图像

图4-3 解压分量图像

(4)DCT算法的快速算法容易实现;而且DCT算法是对称的,利用逆DCT算法解压缩图像,得到YCrCb的图像

图4-4 解压分量的YCrCb图像

(5)最后得到的还原图片

图4-5 还原图片

仿真结果说明了压缩比增大时,图像的质量会降低,并且图像的信噪比会变小。利用MATLAB仿真软件来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。

5 心得体会

通过本次课程设计,我巩固了课堂的理论知识,并利用所学到的理论知识正确分析图像处理的基于DCT的图像压缩编码算法问题,认识到了MATLAB的功能强大,使得我们在使用的时直接调用库函数并赋予实际参数就能解决许多实际问题,提高了编程效率。也让我熟悉了工作环境,,并通过图像变换掌握了图像和信号处理的方法和步骤,这些使我收获颇多。

同时我也发现了自身的很多不足之处。毕竟是从实践中积累实际的经验,而不是简单的理论学习阶段中的分析,我也犯了一些错误。通过这样的实践对我们现在的学习以及将来的工作都是很大的帮助,而且也提高了自我分析问题的能力,培养了自主解决困难的素养。对此,我由衷地感谢本次课程设计,在课上学得的,我将发挥到其它中去,也将在今后的学习和工作中不断提高、完善;在此间发现的不足,我将努力改善,通过学习、实践等方式不断提高,争取在今后的学习、工作中有更大的进步。

图像压缩编码方法

图像压缩编码方法综述 概述: 近年来, 随着数字化信息时代的到来和多媒体计算机技术的发展, 使得人 们所面对的各种数据量剧增, 数据压缩技术的研究受到人们越来越多的重视。 图像压缩编码就是在满足一定保真度和图像质量的前提下,对图像数据进行变换、编码和压缩,去除多余的数据以减少表示数字图像时需要的数据量,便于 图像的存储和传输。即以较少的数据量有损或无损地表示原来的像素矩阵的技术,也称图像编码。 图像压缩编码原理: 图像数据的压缩机理来自两个方面:一是利用图像中存在大量冗余度可供压缩;二是利用人眼的视觉特性。 图像数据的冗余度又可以分为空间冗余、时间冗余、结构冗余、知识冗余 和视觉冗余几个方面。 空间冗余:在一幅图像中规则的物体和规则的背景具有很强的相关性。 时间冗余:电视图像序列中相邻两幅图像之间有较大的相关性。 结构冗余和知识冗余:图像从大面积上看常存在有纹理结构,称之为结构 冗余。 视觉冗余:人眼的视觉系统对于图像的感知是非均匀和非线性的,对图像 的变化并不都能察觉出来。 人眼的视觉特性: 亮度辨别阈值:当景物的亮度在背景亮度基础上增加很少时,人眼是辨别 不出的,只有当亮度增加到某一数值时,人眼才能感觉其亮度有变化。人眼刚 刚能察觉的亮度变化值称为亮度辨别阈值。 视觉阈值:视觉阈值是指干扰或失真刚好可以被察觉的门限值,低于它就 察觉不出来,高于它才看得出来,这是一个统计值。 空间分辨力:空间分辨力是指对一幅图像相邻像素的灰度和细节的分辨力,视觉对于不同图像内容的分辨力不同。 掩盖效应:“掩盖效应”是指人眼对图像中量化误差的敏感程度,与图像 信号变化的剧烈程度有关。 图像压缩编码的分类: 根据编码过程中是否存在信息损耗可将图像编码分为: 无损压缩:又称为可逆编码(Reversible Coding),解压缩时可完全回复原始数据而不引起任何失真; 有损压缩:又称不可逆压缩(Non-Reversible Coding),不能完全恢复原始数据,一定的失真换来可观的压缩比。 根据编码原理可以将图像编码分为: 熵编码:熵编码是编码过程中按熵原理不丢失任何信息的编码。熵编码基

基于MATLAB 的图像压缩处理其实现

基于MATLAB 的图像压缩处理及其实现 一.图像压缩的概念 从实质上来说,图像压缩就是通过一定的规则及方法对数字图像的原始数据进行组合和变换,以达到用最少的数据传输最大的信息。 二.图像压缩的基本原理 图像数据之所以能被压缩,就是因为数据中存在着大量冗余信息,另外还有相当数量的不相干信息,这为数据压缩技术提供了可能。 数据压缩技术就是利用数据固有的冗余性和不相干性,将一个大的数据文件转化成较小的文件,图像技术压缩就是要去掉数据的冗余性。 图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。 由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。

三.图像的编码质量评价 在图像编码中,编码质量是一个非常重要的概念,怎么样以尽可能少的比特数来存储或传输一幅图像,同时又让接收者感到满意,这是图像编码的目标。对于有失真的压缩算法,应该有一个评价准则,用来对压缩后解码图像质量进行评价。常用的评价准则有两种:一种是客观评价准则;另一种是主观评价准则。主观质量评价是指由一批观察者对编码图像进行观察并打分,然后综合所有人的评价结果,给出图像的质量评价。而对于客观质量评价,传统的编码方法是基于最小均方误差(MSE)和峰值信燥比(PSNR)准则的编码方法,其定义如下 MSE= (1) PSNR=101g( (2) 式中:Nx,Nr图像在x方向和Y方向的像素数,f(i,j)——原图像像素的灰度值,f(i,j)--处理后图像像素的灰度值。对于主观质量,客观质量评价能够快速有效地评价编码图像的质量,但符合客观质量评价标准的图像不一定具有较好的主观质量,原因是均方误差只是从总体上反映原始图像和压缩图像的差别,但对图像中的所有像点同等对待,因此并不能反映局部和人眼的视觉特性。对于图像信号,人眼是最终的信号接受者,因此在压缩时不仅要以MSE作为评价标准,还应当考虑到人的主观视觉特性。

jpeg编码原理

一、JPEG算法概要 JPEG(Joint Photographic Experts Group)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。 JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。例如,在VCD 和DVD-Video电视图像压缩技术中,就使用JPEG的有损压缩算法来取消空间方向上的冗余数据。为了在保证图像质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG2000标准,这个标准中将采用小波变换(Wavelet)算法。 JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。 压缩编码大致分成三个步骤: 1、使用正向离散余弦变换(Forward Discrete Cosine Transform,FDCT)把空间域表示的图变换成频率域表示的图。 2、使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。 3、使用霍夫曼可变字长编码器对量化系数进行编码。 译码或者叫做解压缩的过程与压缩编码过程正好相反。 JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在

图像压缩编码实验报告

图像压缩编码实验报告 一、实验目的 1.了解有关数字图像压缩的基本概念,了解几种常用的图像压缩编码方式; 2.进一步熟悉JPEG编码与离散余弦变换(DCT)变换的原理及含义; 3.掌握编程实现离散余弦变换(DCT)变换及JPEG编码的方法; 4.对重建图像的质量进行评价。 二、实验原理 1、图像压缩基本概念及原理 图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类: (1)无损压缩编码种类 哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。(2)有损压缩编码种类 预测编码,DPCM,运动补偿; 频率域方法:正交变换编码(如DCT),子带编码; 空间域方法:统计分块编码; 模型方法:分形编码,模型基编码; 基于重要性:滤波,子采样,比特分配,向量量化; (3)混合编码 JBIG,H.261,JPEG,MPEG等技术标准。 2、JPEG 压缩编码原理 JPEG是一个应用广泛的静态图像数据压缩标准,其中包含两种压缩算法(DCT和DPCM),并考虑了人眼的视觉特性,在量化和无损压缩编码方面综合权衡,达到较大的压缩比(25:1以上)。JPEG既适用于灰度图像也适用于彩色图像。其中最常用的是基于DCT变换的顺序式模式,又称为基本系统。JPEG 的压缩编码大致分

图像压缩方法综述

图像压缩方法综述 陈清早 (电信科学技术研究院PT1400158) 摘要:图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合,从而达到以尽可能少的数据流(代码)来表示尽可能多的数据信息。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。图像压缩分为无损图像压缩和有损图像压缩或者分为变换编码、统计编码。在这里,我们简单的介绍几种几种图像压缩编码的方法,如:DCT编码、DWT编码、哈夫曼(Huffman)编码和算术编码。 关键字:图像压缩;DCT压缩编码;DWT压缩编码;哈夫曼编码;算术编码 1引言 在随着计算机与数字通信技术的迅速发展,特别是网络和多媒体技术的兴起,大数据量的图像信息会给存储器的存储容量、通信信道的带宽以及计算机的处理速度增加极大的压力。为了解决这个问题,必须进行压缩处理。图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。信息时代带来了“信息爆炸”,使数据量大增,无论传输或存储都需要对数据进行有效的压缩。因此图像数据的压缩就显得非常重要。 在此,我们主要介绍变换编码的DCT编码和DWT编码和统计编码的哈夫曼(Huffman)编码和算术编码。 2变换编码 变换编码是将空域中描述的图像数据经过某种正交变换转换到另一个变换域(频率域)中进行描述,变换后的结果是一批变换系数,然后对这些变换系数进行编码处理,从而达到压缩图像数据的目的。主要的变换编码有DCT编码和DWT编码 1.1DCT编码 DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。也就是说,图像变换本身并不能压缩数据,但变换后图像大部分能量集中到了少数几个变换系数上,再采用适当的量化和熵编码便可以有效地压缩图像。量化是对经过DCT变换后的频率系数进行量化,其目的是减小非“0”系数的幅度以及增加“0”值系数的数目,它是图像质量下降的最主要原因。 图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。 由于图像可看成二维数据矩阵,所以在图像编码中多采用二维正交变换方式,然而其正交变换的计算量太大,所以在实用中变换编码并不是对整幅图像进行变换和编码,而是将图像分成若

图像压缩原理

1、为什么要对图像数据进行压缩?其压缩原理是什么? 答:(1)数字图像如果不进行压缩,数据量是比较大的,例如一幅分辨率为1024×768的静态真彩色图像,其数据量为1024×768×24=2.25(MB)。这无疑对图像的存储、处理、传送带来很大的困难。事实上,在图像像素之间,无论在行方向还是列方向,都存在一定的相关性。也就是说,在一般图像中都存在很大的相关性,即冗余度。静态图像数据的冗余包括:空间冗余、时间冗余、结构冗余、知识冗余和视觉冗余、图像区域的相同性冗余、纹理的统计冗余等。图像压缩编码技术就是利用图像数据固有的冗余性和相干性,将一个大的图像数据文件转换为较小的同性质的文件。 (2)其压缩原理: 空间冗余、时间冗余、结构冗余、和视觉冗余。 2、图像压缩编码的目的是什么?目前有哪些编码方法? 答:(1)视频经过数字化处理后易于加密、抗干扰能力强、可再生中继等诸多优点,但是由于数字化的视频数据量十分巨大,不利于传输和存储。若不经压缩,数字视频传输所需的高传输率和数字视频存储所需的巨大容量,将成为推广数字电视视频通信的最大障碍,这就是进行视频压缩编码的目的。 (2)目前主要是预测编码,变换编码,和统计编码三种编码方法。 3、某信号源共有7个符号,概率分别为0.2,0.18,0.1,0.15,0.07,0.05,0.25,试进行霍夫曼编码,并解释是否进

行了压缩,压缩比为多少? 0000 0001 000 00 111 110 10 0.05 0.07 0.1 0.2 0.18 0.15 0.25 0.05×4+0.07×4+0.1×3+0.2×2+0.18×3+0.15×3+0.25×2=2.67

浅析图像压缩编码方法

Computer Knowledge and Technology 电脑知识 与技术第6卷第23期(2010年8月)浅析图像压缩编码方法 徐飞 (闽西职业技术学院,福建龙岩364021) 摘要:该文描述了图像压缩编码的概念,原理以及主要分类,介绍了目前常见的三种图像压缩编码方法的原理,特点以及简单讨论了其中两种方法的MATLAB 代码实现。 关键词:图像压缩编码;编码原理;编码分类;编码方法;MATLAB 中图分类号:TP301文献标识码:A 文章编号:1009-3044(2010)23-6584-03 Analysis of the Image Compression Coding Method XU Fei (Minxi Vocational &Technical College,Longyan 364021,China) Abstract:This paper is mainly about the concept,principle and classification of image compression coding,introduces the concepts and characteristic of three kinds of image compression coding methods that are common used,and discusses how to using matlab to accomplish the two common methods which mentions in the front. Key words:image compression coding;coding principle;coding classification;coding method;MATLAB 现代社会是信息社会,随着信息技术的发展,图像信息被广泛应用于多媒体通信、计算机系统和网络中。因为对图像的要求越来越高,图像信息量也越来越大,所以在传输之前需要进行信息处理,必须采用合适的方法对其进行压缩,因此有必要对图像压缩编码方法进行研究。 1图像压缩编码 1.1概述 图像压缩编码就是在满足一定保真度和图像质量的前提下,对图像数据进行变换、编码和压缩,去除多余的数据以减少表示数字图像时需要的数据量,便于图像的存储和传输。即以较少的数据量有损或无损地表示原来的像素矩阵的技术,也称图像编码。 1.2图像压缩编码原理 图像数据的压缩机理来自两个方面:一是利用图像中存在大量冗余度可供压缩;二是利用人眼的视觉特性。 1.2.1图像数据的冗余度 1)空间冗余: 在一幅图像中规则的物体和规则的背景具有很强的相关性。 2)时间冗余:电视图像序列中相邻两幅图像之间有较大的相关性。 3)结构冗余和知识冗余: 图像从大面积上看常存在有纹理结构,称之为结构冗余。 4)视觉冗余:人眼的视觉系统对于图像的感知是非均匀和非线性的,对图像的变化并不都能察觉出来。 1.2.2人眼的视觉特性 1)亮度辨别阈值:当景物的亮度在背景亮度基础上增加很少时,人眼是辨别不出的,只有当亮度增加到某一数值时,人眼才能感觉其亮度有变化。人眼刚刚能察觉的亮度变化值称为亮度辨别阈值。 2)视觉阈值:视觉阈值是指干扰或失真刚好可以被察觉的门限值,低于它就察觉不出来,高于它才看得出来,这是一个统计值。3)空间分辨力:空间分辨力是指对一幅图像相邻像素的灰度和细节的分辨力,视觉对于不同图像内容的分辨力不同。 4)掩盖效应:“掩盖效应”是指人眼对图像中量化误差的敏感程度,与图像信号变化的剧烈程度有关。 1.3图像压缩编码的分类 根据编码过程中是否存在信息损耗可将图像编码分为: 1)无损压缩:又称为可逆编码(Reversible Coding),解压缩时可完全回复原始数据而不引起任何失真; 2)有损压缩:又称不可逆压缩(Non-Reversible Coding),不能完全恢复原始数据,一定的失真换来可观的压缩比。 根据编码原理可以将图像编码分为: 1)熵编码:熵编码是编码过程中按熵原理不丢失任何信息的编码。熵编码基本原理是给出现概率大的信息符号赋予短码字,出收稿日期:2010-06-10 作者简介;徐飞(1982-),男,福建龙岩人,闽西职业技术学院,助教,理学学士,主要研究方向为数字图象,软件开发,软件测试。ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.23,August 2010,pp.6584-6586,6589E-mail:eduf@https://www.doczj.com/doc/bf4232252.html, https://www.doczj.com/doc/bf4232252.html, Tel:+86-551-56909635690964

JPEG图像压缩原理

JPEG编码 JPEG是联合图象专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织(ISO)和CCITT联合制定的静态图象的压缩编码标准。和相同图象质量的其它常用文件格式(如GIF,TIFF,PCX)相比,JPEG是目前静态图象中压缩比最高的。我们给出具体的数据来对比一下。例图采用Windows95目录下的Clouds.bmp,原图大小为640*480,256色。用工具SEA(version1.3)将其分别转成24位色BMP、24位色JPEG、GIF(只能转成256色)压缩格式、24位色TIFF压缩格式、24位色TGA压缩格式。得到的文件大小(以字节为单位)分别为:921,654,17,707,177,152,923,044,768,136。可见JPEG比其它几种压缩比要高得多,而图象质量都差不多(JPEG处理的颜色只有真彩和灰度图)。 正是由于JPEG的高压缩比,使得它广泛地应用于多媒体和网络程序中,例如HTML语法中选用的图象格式之一就是JPEG(另一种是GIF)。这是显然的,因为网络的带宽非常宝贵,选用一种高压缩比的文件格式是十分必要的。 JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基线系统(Baseline),以下将针对这种格式进行讨论。 1.JPEG的压缩原理 JPEG的压缩原理其实上面介绍的那些原理的综合,博采众家之长,这也

正是JPEG有高压缩比的原因。其编码器的流程为: 图9.3 JPEG编码器流程 解码器基本上为上述过程的逆过程: 图9.4 解码器流程 DCT 下面对正向离散余弦变换(FDCT)变换作几点说明。 (1)对每个单独的彩色图像分量,把整个分量图像分成8×8的图像块,如图所示,并作为两维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。 (2)DCT变换使用下式计算: 它的逆变换使用下式计算:

图像压缩与编码

实验项目3、图像压缩与编码 一、实验目的 (1)理解图像压缩编码的基本原理; (2)掌握用程序代码实现DCT变换编码; (3)掌握用程序代码实现游程编码。 二、实验原理及知识点 1、图像压缩编码 图像信号经过数字化后,数据量相当大,很难直接进行保存。为了提高信道利用率和在有限的信道容量下传输更多的图像信息,必须对图像进行压缩编码。 图像压缩技术标准一般可分为如下几种:JPEG压缩(JPEG Compression)、JPEG 2000 、H.26X标准(H.26X standards)以及MPEG标准(MPEG standards)。数字压缩技术的性能指标包括:压缩比、平均码字长度、编码效率、冗余度。 从信息论角度分,可以将图像的压缩编码方法分为无失真压缩编码和有限失真编码。前者主要包括Huffman编码、算术编码和游程编码;后者主要包括预测编码、变换编码和矢量量化编码以及运动检测和运动补偿技术。 图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。 2、游程编码 某些图像特别是计算机生成的图像往往包含许多颜色相同的块,在这些块中,许多连续的扫描行或者同一扫描行上有许多连续的像素都具有相同的颜色值。在这些情况下就不需要存储每一个像素的颜色值,而是仅仅存储一个像素值以及具有相同颜色的像素数目,将这种编码方法称为游程(或行程)编码,连续的具有相同颜色值的所有像素构成一个行程。 在对图像数据进行编码时,沿一定方向排列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量。游程编码记录方式有两种:①逐行记录每个游程的终点列号:②逐行记录每个游程的长度 3、DCT变换编码 变换编码是在变换域进行图像压缩的一种技术。图1显示了一个典型的变换编码系统。 压缩 图像输入图 像N×N 图1 变换编码系统 在变换编码系统中,如果正变换采用DCT变换就称为DCT变换(离散余弦变换)编码系统。DCT用于把一幅图像映射为一组变换系数,然后对系数进行量化和编码。对于大多数的正常图像来说,多数系数具有较小的数值且可以被粗略地量化(或者完全抛弃),而产生的图像失真较小。

图像压缩技术的综述

题目:图像压缩技术的综述 学生姓名:徐欢学号: 系别:计算机与信息学院专业:计算机科学与技术 入学年份:年月 导师姓名:陈蕴谷职称学位:讲师硕士研究生 导师所在单位:中国科学院合肥物质研究院 完成时间年月 .引言 随着多媒体技术和通讯技术的不断发展,多媒体娱乐、信息高速公路等不断对信息数据的存储和传输提出了更高的要求,也给现有的有限带宽以严峻的考验,特别是具有庞大数据量的数字图像通信,更难以传输和存储,极大地制约了图像通信的发展,因此图像压缩技术受到了越来越多的关注。图像压缩的目的就是把原来较大的图像用尽量少的字节表示和传输,并且要求复原图像有较好的质量。利用图像压缩,可以减轻图像存储和传输的负担,使图像在网络上实现快速传输和实时处理。 图像数据是用来表示图像信息的,如果不同的方法为表示相同的信息使用了不同的数据量,那么使用较多数据量的方法中,有些数据必然代表了无用的信息,或者是重复的表示了其他数据表示的信息,前者成为数据冗余,后者成为不相干信息。图像压缩编码的主要目的,就是通过删除冗余的或者是不相干的信息,以尽可能地的数码率来存储和传输数字图像数据。 图像压缩编码技术可以追溯到年提出的电视信号数字化,到今天已经有多年的历史了。在此期间出现了很多种图像压缩编码方法,特别是到了年代后期以后,由于小波变换理论,分形理论,人工神经网络理论,视觉仿真理论的建立,图像压缩技术得到了前所未有的发展,其中分形图像压缩和小波图像压缩是当前研究的热点。本文对当前最为广泛使用的图像压缩算法进行综述,讨论了它们的优缺点以及发展前景。 图像编码基础 图像编码压缩是指在满足一定图像质量的条件下,用尽可能少的数据量来表示图像。编码技术比较系统的研究始于信息论,从此理论出发可以得到数据压缩的两种基本途径。一种是联合信源的冗余度也寓于信源间的相关性之中,去除他

图像压缩编码

Discussion on Wavelet B ases Selection for Digital Image Compression H AN Fang2f ang,XU Shuang,ZHENG De2zhong (College o f Electric Engineering,Yanshan Univer sity,Qinhuangdao Hebei066004,China) Abstract: This paper studies the selection of optimal wavelet bases.The merits of biorthog onal spline wavelets are dis2 cussed and dem onstrated.C ontinuity of spline derivatives assures wavelets sm ooth and symmetry of biorthog onal wavelets makes the filters have linear phase.Those features can reduce distortion and guarantee the reconstructed images quality. K ey w ords: Optimal wavelet bases;Image com pression;S pline wavelets;Biorthog onal wavelets 关于数字图像压缩中小波基选择问题的探讨① 韩芳芳,徐 爽,郑德忠 (燕山大学,电气工程学院,河北 秦皇岛 066004) 摘要:针对数字图像压缩编码中最优小波基的选择问题,论证了双正交样条小波基的优点,并对其进行了推导。样条小波的导数连续性保证了小波基的光滑性,双正交对偶小波的对称性使得滤波器具有线性相位,可减小失真,保证重构图像的质量。 关键词:最优小波基;图像压缩;样条小波;双正交小波 中图分类号:T N919 文献标识码:A 文章编号:1004-1699(2004)01-0154-04 图像是人类感知信息的重要途径之一。然而图像经过采样及量化编码后数据量巨大,给传输与存储带来很多困难,因而需要对图像数据进行有效的压缩。在F ourier分析基础上发展起来的小波分析,提供了一种自适应的时域和频域同时局部化的分析方法,通过伸缩和平移等运算功能进行多尺度细化分析,能够有效地从信号中提取信息。小波分析用于数字图像压缩,压缩比高,压缩速度快,压缩后信号与图像的特征不变,且在传递过程中可以抗干扰。因此小波分析成为数字图像处理及压缩编码的有力工具。 如何选择最优小波基是图像压缩编码中所面临的一个棘手问题。对于图像信号而言,一方面要对巨大的数据量进行有效压缩,另一方面,要保持重建图像的质量满足视觉要求。小波基的选择存在一些标准,如平滑性、逼近精度、支撑大小和滤波频率等,如何最佳的组合这些特征是一个难点所在。 1 小波基的选择问题 如何最合理、快速的选择小波基,目前这方面的研究并无定论。在小波基的选择中,一般较为看重以下几方面: 平滑性与消失矩。消失矩表明了小波变换后的能量集中程度,消失矩阶数很大时,精细尺度下的高频部分数值有许多是小得可以忽略的(奇异点除外)[1]。从重构图像质量角度而言,平滑性的影响要 2004年3月 传 感 技 术 学 报 第1期 ①收稿日期:2003211210 作者简介:韩芳芳(1978-)女,硕士研究生,主要研究方向为视频信号压缩编码; 徐 爽(1978-)女,硕士研究生,主要研究方向为信号处理与语音编码; 郑德忠(1952-)男,教授,博士生导师,河北省人工智能学会副理事长,中国电子协会高级会员,主要从事信号 处理和先进控制等方面的研究工作,已在国内外发表论文50余篇。qhdzdz@https://www.doczj.com/doc/bf4232252.html,.

图像压缩(JPEG)编码算法及压缩过程的实现

秋风,秋雨,秋天的景色 ?博客园 ?首页 ?博问 ?闪存 ?新随笔 ?联系 ?订阅 ?管理 随笔- 234 文章- 0 评论- 22 图象压缩(JPEG)编码算法及压缩过程的实现转 图象压缩(JPEG)编码算法及压缩过程的实现 摘要 本文首先介绍了静态图像压缩(JPEG)编码算法的基本原理、压缩的实现过程及其重要过程的离散余弦变换(DCT)算法的实现原理及软件实现的例程,其次着重介绍了压缩过程中的DCT、量化和编码三个重要步骤的实现原理。 关键词:图像压缩有损压缩 JPEG 离散余弦变换 DCT 量化 第一章图像压缩编码的综述 1.1 图象压缩的目的和方法 图象的数字化表示使得图象信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是数字图像的表示需要大量的数据,必须进行数据的压缩。即使采用多种方法对数据进行了压缩,其数据量仍然巨大,对传输介质、传输方法和存储介质的要求较高。因此图象压缩编码技术的研究显得特别有意义,也正

是由于图象压缩编码技术及传输技术的不断发展、更新,推动了现代多媒体技术应用的迅速发展。 1.1.1 图象压缩的目的 图象采样后,如果对之进行简单的8bit量化和PCM编码,其数据量是 巨大的。以CIF(Common Intermediate Format)格式的彩色视频信号为例,若采样速率为25帧/秒,采样样点的Y、U、V分量均为8bit量化,则一秒钟的数据量为: 352×288×3×8×25=60.83Mbit 要传输或存储这样大的数据量是非常困难的,必需对其进行压缩编码,在满足实际需要的前提下,尽量减少要传输或存储的数据量。 虽然数字图象的数据量巨大,但图象数据是高度相关的。一幅图象的内部相邻象素之间,相邻行之间的视频序列中相邻图象之间有大量冗余信息—空间相关性和时间相关性,可以使用各种方法尽量去除这些冗余信息,减少图象的数据量。 除了时间冗余和空间冗余外,在一般的图象数据中还存在信息熵冗余、结构冗余、知识冗余和视觉冗余。各种冗余就是压缩图象数据的出发点。图象编码的目的就在于采用各种方法去除冗余,以尽量少的数据量来表示个重建图象。 1.1.2图象压缩的几种方法 1.统计和字典的压缩方法 常规程序和计算机熵的数据对于那些基于利用统计变种的压缩,效果很好,这些统计变种表现在单个符号的频率以及符号或短语字符串的频率等方面,而基于字典的系统实际山就是假扮统计程序。可是遗憾的是,这类压缩对于连续色调图象的作用并不很好。 这些程序的主要问题产生于这样的一个事实:照片图象的象素广泛地分布在整个范围。如果将图象中的彩色用频率分布画出,那么频率分布图中,没有我们在统计压缩的成功的情况下所看到的“尖峰”状,实际上,如果延长这个分布图,那么从类似于电视那样的生活图象源中得出的分布图会趋于平展。这意味着,每个象素代码彼此是大约相同的出现机会,决定不存在挖掘熵差的任何机会。 基于字典的压缩程序的运行也有类似的问题,基于扫描照片的图象决定没有任何类型的数据特征以产生相同的短语的多次出现。例如,一个栅格化的图象,

图像压缩编码

小波变换在图像压缩中的应用 学院精密仪器与光电子工程学院 专业光学工程 年级2014级 学号1014202009 姓名孙学斌

一、图像压缩编码 数字图像 图像是自然界景物的客观反映。自然界的图像无论在亮度、色彩,还是空间分布上都是以模拟函数的形式出现的,无法采用数字计算机进行处理、传输和存储。 在数字图像领域,将图像看成是由许多大小相同、形状一致的像素(Picture Element简称Pixel组成)用二维矩阵表示。图像的数字化包括取样和量化两个主要步骤。在空间将连续坐标离散化的过程为取样,而进一步将图像的幅度值整数化的过程称为量化。 图像编码技术 数据压缩就是以较少的数据量表示信源以原始形式所代表的信息,其目的在于节省存储空间、传输时间、信号频带或发送能量等。其组成系统如图所示。 过程应尽量保证去除冗余量而不会减少或较少减少信息量,即压缩后的数据要能够完全或在一定的容差内近似恢复。完全恢复被压缩信源信息的方法称为无损压缩或无失真压缩,近似恢复的方法称为有损压缩或有失真压缩。 图像压缩编码的必要性与可行性 1.图像压缩编码的必要性 采用数字技术会使信号处理技术性能大为提高,但其数据量的增加也是十分惊人的。图像数据更是多媒体、网络通信等技术重点研究的压缩对象。不加压缩的图像数据是计算机的处理速度、通信信道的容量等所无法承受的。 如果将上述的图像信号压缩几倍、十几倍、甚至上百倍,将十分有利于图像的存储和传输。可见,在现有硬件设施条件下,对图像信号本身进行压缩是解决上述矛盾的主要出路。 2.图像压缩编码的可能性 图像数据量大,同时冗余数据也是客观存在的。在有些图像中可压缩的可能性很大。一般图像中存在着以下数据冗余因素。 (1)编码冗余 编码冗余也称信息熵冗余。去除信源编码中的冗余量可以在对信息无损的前提下减少代表信息的数据量。对图像进行编码时,要建立表达图像信息的一系列符号码本。如果码本不能使每个像素所需的平均比特数最小,则说明存在编码冗余,就存在压缩的可能性。 (2)空间冗余

基于MATLAB-的图像压缩处理及其实现

基于MATLAB-的图像压缩处理及其实现

基于MATLAB 的图像压缩处理及其实现 一.图像压缩的概念 从实质上来说,图像压缩就是通过一定的规则及方法对数字图像的原始数据进行组合和变换,以达到用最少的数据传输最大的信息。 二.图像压缩的基本原理 图像数据之所以能被压缩,就是因为数据中存在着大量冗余信息,另外还有相当数量的不相干信息,这为数据压缩技术提供了可能。 数据压缩技术就是利用数据固有的冗余性和不相干性,将一个大的数据文件转化成较小的文件,图像技术压缩就是要去掉数据的冗余性。 图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。 由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。

三.图像的编码质量评价 在图像编码中,编码质量是一个非常重要的概念,怎么样以尽可能少的比特数来存储或传输一幅图像,同时又让接收者感到满意,这是图像编码的目标。对于有失真的压缩算法,应该有一个评价准则,用来对压缩后解码图像质量进行评价。常用的评价准则有两种:一种是客观评价准则;另一种是主观评价准则。主观质量评价是指由一批观察者对编码图像进行观察并打分,然后综合所有人的评价结果,给出图像的质量评价。而对于客观质量评价,传统的编码方法是基于最小均方误差(MSE)和峰值信燥比(PSNR)准则的编码方法,其定义如下 MSE=1 NxNy ∑∑[f(i,j)?f(i,j)]2 Nj j=0 Ni i=0 (1) PSNR=101g(255×255 MSE ) (2) 式中:Nx,Nr图像在x方向和Y方向的像素数,f(i,j)——原图像像素的灰度值,f(i,j)--处理后图像像素的灰度值。对于主观质量,客观质量评价能够快速有效地评价编码图像的质量,但符合客观质量评价标准的图像不一定具有较好的主观质量,原因是均方误差只是从总体上反映原始图像和压缩图像的差别,但对图像中的所有像点同等对待,因此并不能反映局部和人眼的视觉特性。对于图像信号,人眼是最终的信号接受者,因此在压缩时不仅要以MSE作为评价标准,还应当考虑到人的主观视觉特性。

图像压缩综述

图像压缩综述 摘要:随着信息时代的不断发展,数字图像处理技术得到了广泛的应用,而作为数字图像处理技术的重要组成部分——数字图像压缩,也得到了迅猛的发展。本文从数字图像压缩的概念、发展历史、图像压缩的必要性和可能性、图像压缩标准、图像压缩基本方法和图像压缩效果评价等方面进行了综述。 引言 在当前这个信息化社会中,新信息技术革命使人类被日益增多的多媒体信息所包围。多媒体信息主要是由图像、文本和声音三大元素组成。图像作为其主要元素之一,发挥着越来越重要的作用。而传输和存储图像需要占用大量的数据空间,这严重影响了传输速率和实时处理量,极大地制约了图像通信的发展。其中,数据量最大的是数字视频数据。未经处理的数字视频信息需要消耗巨大的存储资源,以主流高清视频为例,在分辨率为1280×720,帧率为30帧每秒的视频应用中,存储一分钟的视频信息,需要约18.5G(以常4:2:0视频,每像素12比特)比特存储空间,一部120分钟高清电影约需要2225G比特的存储空间。可见未经处理的视频信息量非常大,为了满足存储和传输需求,视频信息的压缩是十分必要的。在同等的通信容量下,如果图像数据可以压缩之后再传输,就可以使传输的数据量变得很小,也就能够增加通信能力。因此图像压缩编码技术受到了越来越多的关注及广泛的应用。如数码相机、USB摄像头、可视电话、视频点播、视频会议系统、数字监控系统等等,都使用到了图像或视频的压缩技术。 数字图像压缩是以尽可能少的比特数代表图像或图像中所包含的信息量的技术,图像通过压缩处理去掉其中的数据冗余、符号冗余、视觉冗余等各种冗余信息,提高传输速率,节省存储空间。 1图像压缩的发展历史 自1948年提出的电视信号数字化设想后, 即开始了图像压缩的研究,到现在已有60多年的历史。20世纪五六十年代的图像压缩编码主要集中在预测编码、哈夫曼编码等技术的研究,还不成熟。1969年在美国召开的第一届“图像编码会议”,标志着图像编码作为一门独立学科的诞生。到了七八十年代,图像压缩技术的主要成果体现在变换编码技术上, 矢量量化编码技术也有较大的发展。80年代末,小波变换理论、分形理论、人工神经网络理论、视觉仿真理论建立,人们开始突破传统的信源编码理论, 图像压缩编码向着更高的压缩率和更好的压缩质量的方向发展,进入了一个崭新的发展时期。 2图像压缩的可能性 图像之所以能够进行压缩有以下几个方面的原因: 一是原始图像数据是高度相关的,存在很大的数据冗余。如图像内相邻像素之间的空间冗余度、系列图像前后帧之间的时间冗余度、多光谱遥感图像各频谱间的频率域冗余度等,它们造成了大量的比特数浪费,消除这些冗余就可以节约码字,大大减少数据量,达到数据压 缩的目的。 二是信源符号出现的概率不同,若用相同码长表示不同出现概率的符号,就会造成符号冗余度。如果采用可变长编码技术,对出现概率高的符号用短码字,对出现概率低的符号用长码字表示,就可以消除符号冗余度,从而节约码字。 三是人眼具有视觉冗余,允许图像编码有一定的失真。人类视觉系统(HVS)是有缺陷的,人眼对于某些失真不敏感难以察觉。在许多场合中,并不要求经压缩及复原以后的图像和原始图像完全相同,可以允许有少量的失真,只要这些失真并不被人眼所察觉即可。这就为压缩比的提高提供了十分有利的条件,这种有失真的编码称为限失真编码。在多数应用中,人眼往

图像压缩编码的方法概述

图像压缩编码的方法概述摘要:在图像压缩的领域,存在各种各样的压缩方法。不 同的压缩编码方法在压缩比、压缩速度等方面各不相同。本文从压缩方法分类、压缩原理等方面分析了人工神经网络压缩、正交变换等压缩编码方法的实现与效果。 关键词:图像压缩;编码;方法 图像压缩编码一般可以大致分为三个步骤。输入的原始图像首先需要经过映射变换,之后还需经过量化器以及熵编码器的处理最终成为码流输出。 一、图像压缩方法的分类 1.按照原始信息和压缩解码后的信息的相近程度分为以下两类:(1)无失真编码又称无损编码。它要求经过编解码处理后恢复出的图像和原图完全一样,编码过程不丢失任何信息。如果对已量化的信号进行编码,必须注意到量化所产生的失真是不可逆的。所以我们这里所说的无失真是对已量化的信号而言的。特点在于信息无失真,但压缩比有限。(2)限失真编码中会损失部分信息,但此种方法以忽略人的视觉不敏感的次要信息的方法来得到高的压缩比。图像的失真怎么度量,至今没有一个很好的评判标准。在由人眼主观判读的情况下,唯有人眼是对图像质量的最有利评判者。但是人眼视觉机理到现在为止仍为被完全掌握,所以我们很难得到一个和主观评价十分相符的客观标准。目前用的最多的仍是均方误差。这个失真度量标准并不好,之所以广泛应用,是因为方便。

2.按照图像压缩的方法原理可分为以下三类:(1)在图像编码过程中映射变换模块所做的工作是对编码图像进行预测,之后将预测差输出供量化编码,而在接受端将量化的预测差与预测值相加以恢复原图,则这种编码方法称为预测编码。预测编码中,我们只对新的信息进行编码。并且是利用去除邻近像素之间的相关性和冗余性的方法来达到压缩的目的。(2)若压缩编码中的映射变换模块用某种形式的正交变换来代替,则我们把这种方式的编码方法称为变换编码。在变换编码中常用的变换方法有很多,我们主要用到的有离散余弦变换(DCT),离散傅立叶变换(DFT)和离散小波变换(DWT)等。(3)混合编码,LZW算法以及近些年来的一些新的压缩编码方法,最主要的有分形编码算法、小波变换压缩算法、基于模型的压缩算法等。 3.按照压缩对象来分,我们可将图像压缩方法分为静止图像压缩和运动图像压缩。它们所采用的压缩编码标准有所不同,对于静止图像压缩而言,采用的是JPEG、JPEG2000标准;而对运动的图像进行压缩时,我们则采用的是、、、MPEG-1、MPEG-2、MPEG-4、MPEG-7等。 二、常用的图像压缩方法 图像压缩方法至研究开始至今,已经有将近70年的发展了,随着科技的不断发展和人们越来越高的期望和要求,使得图像压缩技术也在不断的发展着,不断的进步着,各种各样的方法层出不穷,争对不同的要求我们可以选择不同的方法对图像进行压缩,以达到

实验四 图像压缩编码

系:信息与机电工程系专业:电子信息工程年级: 2013级 姓名:学号: 136710093 实验课程:数字图像处理 实验室号:_ 实验设备号:实验时间: 2015.6.16 指导教师签字:成绩: 实验四图像压缩编码 一、实验目的 1.了解有关数字图像压缩的基本概念 2.理解有损压缩和无损压缩的概念; 3.理解图像压缩的主要原则和目的; 4.了解几种常用的图像压缩编码方式。 5.进一步熟悉DCT的概念和原理; 6.掌握对灰度和彩色图像作离散余弦变换和反变换的方法; 7.掌握利用MATLAB软件进行图像压缩。 二、实验原理 1、图像压缩原理 图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。 信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。 编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。 (1).冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。 (2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是

说解码图像和原始图像是有差别的,允许有一定的失真。 应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类: (1)无损压缩编码种类 哈夫曼(Huffman )编码,算术编码,行程(RLE )编码,Lempel zev 编码。 (2)有损压缩编码种类 预测编码,DPCM ,运动补偿; 频率域方法:正交变换编码(如DCT),子带编码; 空间域方法:统计分块编码; 模型方法:分形编码,模型基编码; 基于重要性:滤波,子采样,比特分配,向量量化; (3)混合编码。 有JBIG ,H261,JPEG ,MPEG 等技术标准。 本实验主要利用MATLAB 程序进行离散余弦变换(DCT )压缩。 2、离散余弦变换(DCT)图像压缩原理 离散余弦变换DCT 在图像压缩中具有广泛的应用,它是JPEG 、MPEG 等数据压缩标准的重要数学基础。 和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式))相比,JPEG 是目前静态图像中压缩比最高的。JPEG 比其他几种压缩比要高得多,而图像质量都差不多(JPEG 处理的图像只有真彩图和灰度图)。正是由于其高压缩比,使得JPEG 被广泛地应用于多媒体和网络程序中。JPEG 有几种模式,其中最常用的是基于DCT 变换的顺序型模式,又称为基本系统(Baseline)。 用DCT 压缩图像的过程为: (1)首先将输入图像分解为8×8或16×16的块,然后对每个子块进行二维DCT 变换。 (2)将变换后得到的量化的DCT 系数进行编码和传送,形成压缩后的图像格 式。 2-DCT 变换公式如下: ]16 )12(cos 16)12(cos ),()()([41),(7070ππv y u x y x f v E u E v u C x y ++=∑∑==

相关主题
文本预览
相关文档 最新文档