收藏 分享(赏)

数字图像压缩编码方法的研究.docx

上传人:HR专家 文档编号:12111562 上传时间:2021-09-11 格式:DOCX 页数:24 大小:579.30KB
下载 相关 举报
数字图像压缩编码方法的研究.docx_第1页
第1页 / 共24页
数字图像压缩编码方法的研究.docx_第2页
第2页 / 共24页
数字图像压缩编码方法的研究.docx_第3页
第3页 / 共24页
数字图像压缩编码方法的研究.docx_第4页
第4页 / 共24页
数字图像压缩编码方法的研究.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、安徽财经大学(图像处理课程论文)题目:数字图像压缩编码方法的研究学 院:管理科学与工程学院专 业:电子信息工程姓 名:付帅学 号:20122780电话:18326921871任课教师:许晓丽论文成绩:2015年10月数字图像压缩编码方法的研究摘 要:随着各种现代化技术地不断发展,数字图像的数据压缩在数字图像 传输中发挥着关键性的作用。为了方便对各种压缩方法的进行研究、实现和比较, 根据图像的信息在编码中是否有损失将数字图像编码分为有损压缩和无损压缩。 设计以matlab为仿真工具,利用信源概率不相等的特性来去掉图像的冗余以及 用不等长的码字来对信源进行无损压缩编码。而运用某种变换去掉数字图像在

2、空 问和时间上的相关性对信源进行有损压缩编码。利用DC位换和huffman编码对图像的信源进行JEPG码。为了更好地研究和实现各种压缩方法并将这些方法用于教学, 又设计了一个 GUI界面,将全部的压缩编码的方法结合在一起。在设计 GUI时,要特别注意用 handles来进行数据间的传递和静态文本显示的细节。关键词:数字图像;压缩编码;matlab1研究背景1.1 引言随着各种现代化技术的不断发展,图像信息已变为众多领域重要的处理对 象,怎样充分利用信道和具有一定带宽的信道下传输有用的图像信息的问题就出 现了。对原始图像进行存储、记录和传输为其提供了可能,那么必须对数字图像 的信息进行有效的压缩

3、。因此,对图像压缩技术的研究和实现在数字图像传输中 发挥着关键性的作用。1.2 数字图像压缩编码的分类为了方便对各种压缩方法的研究和比较,根据图像的信息在编码中是否有损 失将数字图像编码分为有损压缩和无损压缩1。分类如图1所示:基于FFT变换的图像压缩编码有损压缩 基于DCT变换的图像压缩编码基于HT变换的图像压缩编码 图像压缩 一行程编码(RLE)无损压缩 哈弗曼编码(huffman )线性预测编码(DPCM图1图像压缩的分类图无损压缩就是主要是利用信源概率不相等的特性来去掉图像的冗余以及用 不等长的码字来对信源进行编码。有些失真是人眼所不能察觉的,有损压缩就是利用人眼的这一视觉特性来进 行

4、压缩的。有损压缩是运用某种变换去掉数字图像在空间和时间上的相关性对信 源进行编码。为了解决如何从各种图像压缩算法中选择正确的算法处理实际的压缩问题, 就必须对各种压缩方法的性能进行评价。1.3 图像压缩技术的性能指标这里主要用均方根误差和压缩比的大小来比较各种压缩编码方法的性能。也 可用编码效率、平均码字长度、冗余度。2 1/2(1)(1)均方根误差erms主要是通过计算原始图像数据和解码后图像数据之间 的差异,来体现经压缩编码方法的准确性,其计算公式如(1)如下:1 n merms= nm:;, I(i,j)-I(i,j)A其中,I (i, j)和I(i, j)分别表示原始图像和解码后的图像

5、。(i=1,2,3,4.,N,j=1,2,3,4.,M)(2)压缩比cr:其计算式如公式(2)所示:(2)用其大小来反映压缩编码方法的压缩效果。其中,R (压缩后图像数据大小)小于电(压缩后图像数据大小)的压缩编码方法才是有意义的,则 cr要小于1。1.4 研究内容这里主要是对有损压缩和无损压缩编码方法进行分类研究。并设计以matlab为仿真工具,利用信源概率不相等的特性来去掉图像的冗余以及用不等长的码字 来对信源进行无损压缩编码。而运用某种变换去掉数字图像在空间和时间上的相 关性对信源进行有损压缩编码。利用DCT变换和huffman编码对图像进行JEPG 编码。在仿真软件matlab中用相应

6、的函数计算均方根误差 erms、原始图像数据 大小1和压缩后数据大小n1,通过利用公式cr = r/及计算cr以便衡量压缩编码 的性能。将各种数据绘制成表格加以比较,总结出不同图像所适合的压缩编码。 为了将各种压缩编码的方法应用于教学和锻炼自己对GUI的认识及编程能力,又创建了一个GUI界面将各种压缩编码的实现集合此。2无损压缩编码的研究和实现2.1 行程编码 RLE (Run Length Encoding )行程是指具有相同灰度值的像素序列,其编码思想就是去除掉像素空间冗余,即用行程的行程和灰度的长度来替换行程本身 2。例如:编码前:hhhhhbbmmmmmm 编码后:h5b2m6行程编码

7、如图2所示:图2行程编码系统图对于行程编码的研究,这里选用大小为256父256像素、灰度级为256的 cameraman图像,对其进行行程编码来实现图像压缩的目的。 其中采用RLEncode 函数对图像进行压缩,而用 RLEdecode函数对压缩图像进行复原。显示原始图 像和解压后的图像、用size函数计算的原始图像数据 出和压缩后数据大小小、 均方根误差erms,通过利用公式cr = n/n2计算cr。对大小为256父256像素、灰度级为256的cameraman图像进行行程编解码 结果如图3所示,在其编码白程序中,添加 display(e)语句使其显示cameraman 图像的压缩编码,可

8、得部分编码如下:(1150),(1153),(1152),(1151),(1150),(1151),(1156),(1154),(2151),(1149),(1154),(1152),(1153),(1 152),(3 149),(2 151)此处是对灰度图进行行程编码的,由于灰度图的灰度值不像二值化图像只有 0和1,而cameraman图像没有白色的部分就没有灰度值为 0,则其编码中含除 了 1以外的灰度值。其编解码结果如图3所示图3 cameraman图像进行行程编码结果图由图 3 可得:n1=112224, n2 =65536,则压缩比 cr = n1/n2 =1.7127。对大小为25

9、6 m 256像素、灰度级为256的cameraman图像先进行黑白二值化再行程编解码结果如图4所示,在其编码白程序中,添加 display(e)语句使其 显示二值化cameraman的压缩编码,可得部分编码如下:(1 158),( 08),( 12),( 01),(1 1),( 03),(1 1),(0 1),( 12),( 01),( 1 40),( 01),( 1 14),( 01),( 1 12),( 01)此处是将灰度图转换为黑白二值化图像再进行行程编码的,由于黑白二值化的灰度值只有0和1,则其编码只含有0和1的灰度值。图4黑白二值化cameraman图像进行行程编码结果图由图 4

10、可得:n二6802,2=65536,则压缩比 cr = n/% =0.10379。为了方便比较两种行程编码,将以上两种结果的数据列在表1中,表1如下 所示:表1对灰度图像和二值化图像进行行程编码结果的数据比较表ermscr灰度图6553611222401.7124二值化图像65536680200.10379由表1可以明显看出:均方根误差erms =0,则行程编码是一种无损压缩编码。对灰度图像进行行程编码后图像的大小与原始图像大小相比,其需要更大的存储空间,没不到压缩图像的目的。而对二值化图像进行行程编码后图像的大小 比原始图像小将近10倍,这样更有利于图像的存储和传输。则说明行程编码更 适合于

11、二值化图像和那些连续出现灰度级相同的图像。2.2 哈弗曼编码(Huffman)哈弗曼(Huffman)编码步骤可概括为大到小排列、相加(到只有一个信源 符号为止)、赋码字、得huffman编码,以上均是对于信源符号概率而言的。Huffman编码,这里选用大小为256父256像素、灰度级为256的coin图像, 对其进行huffman编码来实现图像压缩的目的。其中采用huffncode函数对图像进行压缩,而用huffdecode函数对压缩图像进行复原,显示原始图像和解压后的 图像、用size函数计算的原始图像数据 出和压缩后数据大小R、均方根误差erms, 通过利用公式cr =口/2计算cr。对

12、大小为256x 256像素、灰度级为256的boat图像进行huffman编解码可 得5个概率最大的灰度值及其概率大小:M1(145, 0.0213), M2(144, 0.0209),M3(147, 0.0208), M4(146, 0.0207), M5(149, 0.0195),用其对 huffman 编码的步骤100.0415 1 _0. 0 4 0 200. 0 6 15100. 1 0 3进行说明,其编码过程如图5所示:M1 0.0213M2 0.0209M3 0.0208M4 0.0207M5 0.0195图5 huffman 编码过程图由图5可得:经过huffman编码后信源M

13、1、M2、M3、M4、M5的码字分 别为:01、10、00、111、011。由经过编码的码字可得到 huffman编码的特点: 用短的码字对概率大的信源进行编码,而用较长的码字对概率小的信源进行编 码。其运行结果如图6所示:原始富像解码后的图像24均方根误差巳m$二0压缩后数据大小:58936原始图像数据大小士55536图6 对boat图像进行huffman编解码结果图由图 6 可得:n1=58986, n2 =65536,则压缩比 cr = n1/n2 =0.90005。由huffman编解码的运行结果数据可得表 2如下所示:表2 对boat图像进行huffman编解码结果数据表erms=c

14、rHuffman 编码655365898600.90005由上表可得:均方根误差erms =0,则huffman编码为无损压缩编码。对boat 进行hufman编码后的图像大小与原始图像差不多,其压缩比接近于1,则huffman编码对图像没有很好的压缩效果。如信源 M1、M2、M3、M4、M5经过 huffman编码的码字分别为:01、10、00、111、011,是由近似的整数来对其进 行编码的,没有达到预期的效果。2.3 线性预测编码(DPCM,Different Pulse Code Modulation )差值脉冲编码调制(Different Pulse Code Modulation)

15、,即线性预测编码 (DPCM)是对图像的预测误差进行编码的一种无损压缩编码。预测误差是当前 信号的实际值和根据前面的信号对当前信号进行预测得到的预测值的之差。其编解码系统如图7所示:输入图像A预测编码压缩图像符号解伸器符号编码器最接近取整(a)编码器预测器(b)解码器+A压缩图像解码图像图7线性预测编码编解码系统图线性预测编码,这里选用大小为128M128像素、灰度级为256的yun图像, 对其进行行程编码来实现图像压缩的目的。其中采用 LPCencode函数对图像进 行压缩,而用LPCdecode函数对压缩图像进行复原,用 size函数计算的原始图 像数据和压缩后数据大小、均方根误差 erm

16、s并在静态文本框中显示出来。由于线性预测编码是对图像的预测误差进行编码的一种无损压缩编码,也通过显示原始图像和预测误差的直方图,来反映经过预测编码去除图像冗余的情况。对大小为128 M128像素、灰度级为256的yun图像进行DPCM编码的运行结果如图8、9所示:原始图像解码后的图像均方根误差$rn钎0原始图像拊据大小:120 128压细后数指大小:12B 12B图8 对circuit图像进行DPC陶解码结果图图9原始图像和预测误差直方图由图8可得:均方根误差erms =0,则线性预测编码是对图像的预测误差进 行编码的一种无损压缩编码。由图9可得:预测误差的概率分布在零处的峰值很 大,则线性预

17、测编码通过预测和差分消除了大量像素间的冗余。将以上几种无损压缩编码方法运行结果数据汇总在表3中进行比较,表3如下所示:表3无损压缩编码比较表ermscr灰度图RLE6553611222401.7124二值化图RLE65536680200.10379像Huffman655365898600.90005灰度图DPCM16384163840灰度图由于线性预测编码是对预测误差进行编码的,具要与RLE和huffman编码比较得通过预测误差直方图的概率分布来进行。由表3可得:要对黑白二值化图像进行编码,最好选择 RLE编码。而对于灰度图,进行 RLE编码后图像数据 (112224)比原始数据(65536)

18、大很多;进行huffman编码后的图像大小与原 始图像差不多,均没达到好的压缩效果;进行线性预测编码其预测误差的概率分 布在零处的峰值很大,说明消去了很多的冗余。因此,灰度图像要进行无损压缩 编码,最好的选择是进行线性预测编码。3有损压缩编码研究和实现有损压缩主要是对变换编码进行研究的。变换编码是一种基于某种变换的编 码方法,其只对变换域上有用的低频信息进行量化、编码、传输,而丢弃那些没 用的高频分量。变换编码是先将图像分割为n父n个子图像再分别进行变换、量化和编码处 理,而非一次性对图像进行变换和编码。具编解码系统如图10所示:图10变换编码编解码系统图3.1 基于DCT勺图像压缩编码由于在

19、空间域里进行DCT变换编码比在变换域里较复杂,因此DCT变换编 码选择在变换域里进行。经过 DCT变换后信号的能量积聚到少量的系数上,使 其图像的相关性下降了和抗干扰能力增加了,更利于压缩图像的传输。因而,被图像压缩领域广泛的运用。关于基于DCT的图像压缩编码的实现,这里选用大小为 256M 256像素、灰 度级为256的lena图像,对其进行DCT变换来实现图像压缩的目的。编写matlab 程序时,先用blkproc和dctmtx(8)函数对图像进行分割为(2568)2个大小为8M8 的子图像进行DCT,则每一个子图像中均有 64个的傅里叶系数。再量化,用 im2col函数将8M8的图像块排

20、列成向量,根据设置的压缩比 cr确定要变零的系 数个数snum并将最小的snum个变化系数设置为0。接着用col2im函数将向量 重新排列成图像块以便图像的复原,最后用 blkproc和dctmtx(8)函数对新的图像块进行逆DCT变换来恢复图像和计算均方根误差 erms来体现DCT的信息集 中能力。其编解码系统如图11所示:,京始图像 卜-二Jdc何换/幽 |=取整 L=缩图像(a)编码过程压缩图像L二: DCT逆变换::习 取整一二引 解压图像(b)解码过程图11 DCT变换编解码系统图设置压缩比cr=0.5,即对大小为256x256像素、灰度级为256的lena图像进 行2:1的DCT压

21、缩,截取一子图像8,8数据分析其编码,截取的数据如下:5. 08380. 0230-0. 0212-0- 000800050.0018-0.0013-0. 00340. 04530.0222-0.0269C. 0002一1 0004-0.00050. 0006I 00210. 0015口. 00140020一口. 0003口. 0003-0.0011-口. 0022一口. 0023口. 0008-1 03490.0011-0. 00200.00070.00100. 00120. 00090. 00050. 口叩20.00190.0015口. 口口05-0. 0022口. 00680D12G.

22、00100. 0005-0.00110.00120001-0.0Q140, 口。口4-0. 00020. 0001-0,000Q-0.00120. 0009-0, 0006-0. 00070. 0001-0, 00180, 00070, 0015-0, 0005由上可得:全部负数是当中最小即经过量化编码后的数据如下:-0. OOOS -0,0006332个变换系数。-0. 00110.0D020, 00075. 0838Q. 0230Q000.001800口,口田0, 0222Q0. 00020Q0. 0006Q00, 0014000,0003Q000. 000800.001100, 0007

23、0.00100.00120, 00090. 00050, 00020,00190,00150.000500, 0008000. 000500.0012-0. 000100. 000401 0001一1 000000.0009000.0001000. 001900000. 0002比 0007由上可得:量化编码将64个变换系数中最小的32个变换系数变0,而保留32个比较大的变换系数。其运行结果如图12所示:原始图像解码后的图像均方根误差erms-0 147319原始图像数据大小:65536压缩府数据大小:3276g图12进行压缩比为0.5的DCT变换编解码运行结果图设置压缩比cr=0.125,即

24、对大小为256M256像素、灰度级为256的lena图像 进行8:1的DCT压缩,截取一子图像8,8数据分析其编码,截取的数据如下:5.083 区Q 0230-0.0212-0. 0008-1 00050.00180.0013-0.00340.0453Q. 0222-0.02690. 0002-0. 0004-0.0005口. 0006-0.0021-0.00150. 0014-0.0020-0. 0003口. 0003-0.0011-0.0022-0.00230.0008一口. 03490* 0011-0. 0020口.00070.0010口.00120.00090.00055 00020.

25、00190. 0015,0005TO. 00220.0008-0.0012-0.0010。 0005-0,00110.0012-0.QOD1-0.0014口. 00Q4-0.00020.0001-0. 0000-O.OD120. 0009-0, 0006-O.OOOf0.0001-0,0018-0.00070. 0019-0.0006-0. 0008T; oooe-0. OOH0.00020.0007由上可得:5.0838,0.0230,0.0018,0.0453,0.0222,0.0019,0.0015,0.0019 是 8 个比较大的变换系数。经过量化编码的数据如下:5. 03330,02

26、300D0. 0018000. 04530.022200C000Q00000000000000口Q00. 00190. 001500Q000000000QQ00000000.001900C000由上可得:量化编码将64个变换系数中最小的56个变换系数变0,而保留 8个比较大的变换系数。其运行结果如图13所示:原始图像解码后的图像均方根误差erm宫二口 ,055091原始图像数据大小:65536压缩后数据大小:3192图13 进行压缩比为0.125的DCT变换编解码运行结果图3.2 基于哈达玛变换(HT)的图像压缩编码哈达玛变换矩阵有三个优点3:只含+1和-1; 任意两行或两列对应元素相乘后相加

27、为 0,即正交;变换核矩阵使高阶矩阵可通过低阶矩阵来获得。关于基于哈达玛变换的图像压缩编码的实现,在matlab7.0中没有产生哈达玛矩阵的函数hadamard,因此就得编写一个产生哈达玛矩阵的函数hadamard这里选用大小为256父256像素、灰度级为256的lena图像,对其进行哈达 玛变换来实现图像压缩的目的。编写matlab程序时,先用blkproc和hadamard函 数对图像进行分割为(256/8)2个大小为8父8的子图像进行哈达玛变换,则每一 个子图像中均有64个的傅里叶系数,再用im2col函数将8父8的图像块排列成向 量,根据设置的压缩比cr确定要变零的系数个数snum并将

28、最小的snum个变化 系数设置为0,接着要col2im函数将向量重新排列成图像块以便图像的复原,最后用blkproc和hadamard函数对新的图像块进行逆哈达玛变换来恢复图像和计 算均方根误差erms来体现哈达玛变换的信息集中能力。其编解码系统如图14所 示:(a)编码过程压缩图像一二 哈达玛逆变换一二 取整 =a|解压图像(b)解码过程图14 Hadamard变换编解码系统图设置压缩比cr=0.5对大小为256 M 256像素、灰度级为256的lenan图像进行2:1的哈达玛变换压缩,截取一子图像8,8数据分析其编码,截取的数据如下:40.67050. 01180,0588-0.00390

29、.】765-0.0745-0. 15290,00390.0588-0. 0039-0,0039-0.0039HL Q118-0. 0113-0. 0431-0,01180.1451-0, 0275-0,07450. 0039-0, 1294-0,0196-0. 06670,01180.0039-0,01180,01960.0039-0, 00350,01180,0118-0,00390.32550. 02750. 1059-0. 00390;2235-0. 0745-0.1843-0.0118-0.0039-0. 01960,0118-0.00390. 0039-0*0118Y. 01180.

30、0039-0.0118-0.01180. 00390. 00390. 0118-0.019500390.0039-0.0275-0. 0275-0.05880.0039-0. 14510. 0113口. 01180.0118经过量化编码的数据如下:40. S706口. 01181 05880I 1765000. 06880-0.0039Q0000. 1451000. 00390000. 003900.01960. 003900.011B0. 01130.32550.02750.1059-0.00390. 223500-0. 003900. one00. 003900000.00300. 003

31、90. 0118000000. 003900.01180. 0113由上可得:经过量化编码将64个变换系数中最小的32个变换系数变0,而保留32个比较大的变换系数。具运行结果如图15示:原始图像解码后的图像均方根误差enrsH0.045209原始图像数据大小:65536 压缩后数据大小;32768图15进行压缩比为0.5的哈达玛变换编解码运行结果图设置压缩比cr=0.125对大小为256父256像素、灰度级为256的lena图像进行8:1的哈达玛变换压缩,截取一子图像8,8数据分析其编码,截取的数据如下:4Q. G7060.0118口, 0588一口. 00390.1765-0. 0M5一口.

32、 15290.00390. 058S-0,0039-0, 0039-0. 0039-0.0118-0.0118-0. 0431-O.OH80, 1451-0.0275-0.07450. 0039一0.1294-0. 0195-0. 06670.0118口. 0039-0.01180,01950, 0039-0,00390.0H3. 0118-0. 00390. 32550.02750. 1059-Q.叩疆0.2235-。745-0. 1843-0.0118-0, 0039-0,01950,0118-0, 00390,0039-0.0113-0. 011S0,0039一0. 0118-0i011

33、80. 0039U. 00390i0113-0. 0195-0. 0039-0i0039f.0275-0.0275-0. 0588。 0039-0.14510. 0118口. 01180/0118经过量化编码的数据如下:40.670600. 056800.17650000. 053800000000, 14510000000000000000. 325500. 105900.2235000000000000000000000000000由上可得:经过量化编码将64个变换系数中最小的56个变换系数变0,而保留8个比较大的变换系数。具运行结果如图 16所示:解码后的图像均方根误差erm与=0.05

34、5239原始图像数据大小:65536压缩后数据大小士8192图16进行压缩比为0.125的哈达玛变换编解码运行结果图为了方便比较以上两种变换编码集中能量的能力,两种变换均是对大小为256 M256像素、灰度级为256的lena图像进行处理。将以上两种变换编码结果 制作为一张表,表4如下所示:表4三种变换编码结果汇总表cr=小:小:erms=0.5基于DCT的变换编65536327680.0473190.5码基于HT的变换编65536327680.045209码0.125基于DCT的变换编6553681920.0550190.125码6553681920.055239基于HT的变换编码由表4可得

35、:在压缩比相同的情况下(即丢弃的系数个数相同),DCT的均 方根误差erms相对比较小,也就是DCT比HT有更强的信息集中能力。在压缩 比为0.5的情况下,两种变换的均方根误差均比压缩比为0.125的小,也就是压缩比越大其集中信息的能力越强。这是因为图像的有用信息低频信息大多在变换 域的左上角,变换编码只对该区域的变换进行量化、编码、传输,而丢弃那些没 用的高频分量。3.3 小波编码小波变换利用对信号的局域的性质进行分析来提取信号的有用信息,这样可以解决一些傅里叶(Fourier)变换不能解决的问题4。例如:傅里叶(Fourier)变换的局限性。这里采用直接阈值的小波编码法,其是省略小于某一阈

36、值的系数而留下那些 有大能量的系数,以达到压缩图像的效果。有多种方法可以得到阈值,既可以通 过直接赋值,也可以通过函数来产生。这里用 wdcbm2函数来求阈值。其编解码 系统如图17所示:原始图像加噪图像 一学明haar口相匚二二进行小波分解 一 关日勺滤波错,;2计算阈值 匚二二二去噪和压缩图像 匚二 重构图像 二=恢复图像图17直接阈值编码法的编解码系统图在这种方法中用imnoise函数对图像信号进行加噪,用wfilters函数得到haar 滤波器的分解和重构的滤波器,用wavedec2函数和得到的分解滤波器对加噪信号进行2层二维的小波分解并得到分解结构c,s,用wdcbm2函数得到阈值和

37、保 留的系数,用wdencmp对图像进行重构。用size函数计算的原始图像数据n2和 压缩后数据大小R、均方根误差erms,通过利用公式cr = n1/n2计算cr。这里是 用不同的阈值对各个子图像的小波系数进行舍取处理。对lena图像(大小为256 M 256像素、灰度级为256)进行2层二维小波编解 码结果如图18所示:原始图像解码后的图像均方根谩差erms=13.6008原始图像数据大小:65536压缩后数据大小:219图18直接阈值的小波编码法运行结果图由图18可得:n1=218, n2=65536,则压缩比cr= n1/n2 =0.00332641 ,由此数据可得小 波编码有很大的压

38、缩比。将基于DCT的变换编码与小波编码进行比较总结出小波编码的优点,表5如下所示:表5 FFT和小波编码运行结果比较表erms=cr=基于DCT的变换编码65536327680.0473190.5基于DCT的变换编码6553681920.0550190.125小波编码65536613.31310.00332641由上表可得:与DCT相比,小波编码有更高的压缩比,因为小波编码去除 了所有的相关性,这是DCT所不能达到的。虽然小波编码的均方根误差比 DCT 高很多,但是小波编码是去除那些能量比较小的系数,而将那些高能量的系数保 留下来,小能量的系数对图像恢复没有多大的影响。4 JPEG部分压缩算法

39、的研究和实现融合了 DCT , Huffman压缩编码方法和有高压缩比 cr的JPEG是一种有损/无损压缩方 法5,其是联合图像专家组(Joint Photographic Expert Group)的简称6。其编解码方框图 如图19所示:原始图像.DC彼换:二 量化一 Huffman编码- Huffman解码反量化反DC彼换= 恢复图像图19 JPEG编解码方框图这里从【open中选择people图像(大小为256M256像素、灰度级为256) 对其进行JEPG编解码。编写 matlab程序时,除了用到 DCT变换和huffman编 码所有的函数,如:blkproc、dct2(x)、size

40、、idct2(x)、DCHuffmanEncoding、round 等函数,还用到了 ZigZag函数来分别对DC系数和AC系数扫描和编码以及矩 阵系数替换等基本matlab编程语句。最后用set和num2str函数将原始图像数据 n2和压缩后数据大小n1、均方根误差erms在静态文本框中显示出来,并通过利 用公式cr =口/降计算cr。对大小为256X256像素、灰度级为256的people图像进行JEPG编解码结果 如图20所示:均方根误差巳ms=9.6CNB压缩后数据大小:W8原始图像数据大小:65536图20 JEPG编解码结果图由图20可得:n1二108, n2 =65536,则压缩

41、比cr= nJ及=0.001647 ,由此数据可得 JPEG 编码和小波编码一样都有很高的压缩比。将以上DCT变换编码、huffman编码、JEPG编码的结果数据汇制成表6,表6如下所示:表6 DCT、huffman、JEPG编码结果表erms=cr=基于DCT的变换编码65536655360.0473190.5基于DCT的变换编码65536655360.0550190.125Huffman 编码655365898600.90005JEPG编码655361089.60480.001647由表6可得:DCT变换编码是一一种具有高信息集中能力的编码,huffman编码是:一种无损压缩,这里采用 J

42、EPG编码正是集合这两种编码的优点而具有较高的压缩比。5总体设计在matlab环境中,GUI是一种图形窗口,其包含了许多种的对象并提供了集成了GUI所有支持控件的界面设计工具集一一GUIE ,成就了 GUI方便高效的开发。创建一个图形用户界面GUI将各种压缩编码方法结合在一起的具体步骤如下: 启动GUIE :在打开 matlab7.0后,点击file 菜单下的子菜单 new并选择【GUI】项目,打开如图21的界面。GUIDE Quick StartCreate New GUIOpen Exisling GUIGUIDE lemplatasBlank oui (DerauiQ4 GUI with Ui controlsGUI with Axes and MenuModal Question DialogBrowse.O Save on startup as:,AmatlabT. 0(2)wo rhAuntltled .figCancel图21 GUI模板设置界面图在窗口 GUIE Quick Start中,点击OK就可以选择一个空白的模板,将其保存为GUI.fig同时生成了编写功能所要用到M文件。在界面设计工具集 GUIE

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报