嵌入式图像压缩编码

2024-06-26

嵌入式图像压缩编码(精选八篇)

嵌入式图像压缩编码 篇1

数字化图像由于具有较高的分辨率, 占用较大的存储空间。为了满足图像存储和远程快速传输的要求, 必须对图像进行压缩。近年来, 各种编码方案被用于有损数据压缩, 包括预测编码、子带编码、变换编码和矢量量化[1,2]。由于小波变换对波形“变化点”特别敏感, 各种基于小波变换的编码方法相继提出。随着零树结构的引入, 基于小波零树的图像压缩编码算法获得了很大的成功, 其基本思想是:采用单一门限值, 将小波系数判决为孤立系数和零树, 然后对孤立系数和零树进行熵编码。1993年Shapiro提出了“嵌入式小波系数零树图像编码 (Embedded zerotree wavelet, EZW) ”方法以后, 小波零树编码得到广泛关注[2]。

2 嵌入式小波系数零树图像编码 (EZW) 算法

零树编码算法是一种简单、有效的小波变换编码算法, 它是一种标量量化与熵编码相结合的编码算法。主要由小波变换、零树量化和熵编码三部分组成[3]。在小波变换部分我们可以利用小波分解的多分辨率特性进行多级分解。分解后的图像, 大部分能量集中在低频子带, 只有少部分能量零散地分布在各高频子带内的轮廓部分。

EZW编码算法是以零树结构为理论基础, 通过逐次逼近量化完成嵌入编码的[3]。而所谓逐次逼近量化就是要通过逐次使用阈值序列来决定重要系数。其算法主要步骤如下[4]:

(1) 初始化:令门限T为大于 的最小的2的整数次幂, ci, j是小波系数。

(2) 显著性图编码:以事先定义的方式扫描所有系数, 若―|ci, j|>T, 则输出一个符号。当解码输入这个符号时, 它设ci, j=±1.5T。

(3) 细化:为了细化系数, 将显著系数的二进制表示多送出1位。当解码器收到这一位后, 把当前系数值增加±0.25T。

(4) 令T=T/2, 如果需要更多的迭带, 则回到第2步。

3 实验结果

在实验中, 使用512×512×8的Lena图像作为实验图像。所有的实验是用Matlab仿真实现的。图1为实验结果。其中:CR为图像压缩比;PSNR为峰峰信噪比,

由图1可见, EZW编码方法在确保图像高保真的压缩质量的情况下, 取得了较好的压缩效果, 在峰峰信噪比为36.596d B时, 压缩比达到3.4015, 编码时间仅为4.05秒。

4 讨论

本文的实验结果表明了基于嵌入式小波系数零树编码的图像压缩方法克服了传统编码复杂和编码时间过长的缺点, 确保了图像高保真的压缩质量, 取得了较好的压缩效果。

EZW压缩技术其压缩比的潜力令人瞩目, 是一种很有发展希望的压缩技术, 在挖掘图像压缩技术的压缩比方面还需要继续深入研究。

摘要:文章介绍了一种基于嵌入式小波系数零树编码的图像压缩算法, 利用小波变换后能量高度集中于低频带的分布特点进行图像压缩进编码, 克服了传统编码复杂和编码时间过长的缺点, 有效提高了编码效率。实验表明, 此方法在无诊断失真的情况下可获得较好的压缩效果, 在远程图像快速传输和图像压缩中有重要的潜在应用价值。

关键词:小波,零数,图像压缩

参考文献

[1]A.K.Jain.Image data compression:A review.Proc.IEEE, 1981, 69:349-389.

[2]J.D.Villasenor.Alternatives to the discrete cosine transform for irreversible tomographic image compression.IEEE Trans.Med.Imag, 1993, 12:803-811.

[3]J.M.Shapiro.Embedded image coding using zerotrees of wavelet coefficients.IEEE Trans.On Signal Processing, 1993;41 (12) :3445

噪声图像的分形压缩编码研究 篇2

以256×256的Lena灰度图像为例(噪声均为零均值的高斯白噪声),在对图像进行分割时,取B=4,D=8。表1给出了用分形压缩算法对噪声图像编码的结果。图2和图3给出噪声方差为50时的噪声图像和分形压缩图像。

从表1中可以明显看出,当图像被高斯白噪声污染后,分形编码算法的性能明显降低,一是编码时间大大增加,而且噪声方差越大,编码时间越长,这主要是因为图像被污染的程度越大,图像信息损害的就越厉害,图像的分形特性遭到破坏,在编码过程中寻找匹配块的难度就越大、时间越久,分形算法的编码效率大大降低。二是重构图像信噪比降低,图像质量严重恶化,尤其是方差增大时,图像质量恶化更严重,如方差为200时,重构图像的信噪比降低了24.36(如图3所示),图像的一些信息特征已经不存在了。因此要提高含噪声图像的编码效率和信噪比,就必须对图像先进行去噪处理,同时要保证图像的分形特点。由于小波已被广泛地用于图像处理并获得良好的效果,所以利用小波方波对图像进行去噪处理。

嵌入式图像压缩编码 篇3

简单的说EZW编码过程做了两件事, 一是使用小波变换技术, 对图像信号完成多分辨率分析;其次, 从小波变换结果中提取出内嵌的零树, 进而完成量化和编码。

EZW编码采用可变长编码, 随着编码长度的增加, 每像素细节信息越多;解码时, 若接收的每像素编码越多, 则解码后的图像就越接近源图像, 这就是EZW及SPIHT、JPEG2000等的核心压缩机制。

显然, 从成本、效率角度看, 每像素编码长度不是越长越好, 但是, 若编码长度短了, 则解码后的图像又不容易满足人的视觉要求。下面尝试通过一系列实验, 结合客观指标和人眼直观判断, 找到一些基于嵌入零树小波编码的图像压缩参数的经验数据, 能够平衡编码长度和人的视觉要求。

1 EZW图像压缩原理

1.1 DWT的多分辨率分析原理

下面以一维空间为例, 说明DWT的原理。其中, 函数x (t) 为某一维图像, 可以将它想象一条斑斓的七彩直线, 或者深浅不一的黑色线。

且, 函数集合

分别为V0和W0中的基, 它们正交。相应的, 一维图像函数x (t) 在V0空间上的投影 (近似影像) 为:

其中,

1.2 EZW压缩原理及算法思想

如图1, 为三层DWT多分辨率分析产物的结构, 左上角空白方块为LL3。

设, LL3, LH3, HL3, HH3的像素分别组成n×n的矩阵, 则, 整幅图就是由“嵌在其中”3×n×n个四叉树再加上LL3构成的, 这些四叉树成为零树。易知, 在二维图像的多分辨率分析形成的细节空间中存在大量的“零”值。若将全为“零”的分支“砍”掉, 显然节省了空间, 可以实现压缩。这些所谓的“零”值都是相对于设定的阈值“2n”来确定的, EZW算法中有一套机制来设置该阈值。

总体而言, EZW算法采用一种渐进式的可变码长的算法。在编码时, 对图像的概貌信息先进行编码, 随之逐步添加细节信息。每像素编码的长度越长, 细节信息添加的越多。在解码时, 每像素获得的bit越多, 图像的细节信息呈现的越多。

2 EZW图像压缩的客观指标

1) MSE:指均方误差, 定义如下

其中, X (i, j) 为压缩前像素值, Xc (i, j) 为压缩再解压后像素值。此指标值越小越好, 该值越小表示误差越小。

2) PSNR:指峰值信噪比, 定义如下

此指标值越大越好, 该值越高, 表示解压缩后图像质量越高。

3) CR:指图像的压缩率。

4) BPP:指图像每像素使用的比特数。

3 EZW图像压缩实验结果分析

3.1 图像EZW压缩解压缩实验结果

下面的图像采用的256×256像素的图像。实验中采用了lighthous, woman, trees, fl owers四个分别代表风景、人物、树木、花草的源图像, 其中将人物woman的实验图像作为示例展现如图2。

3.2 结果分析

将实验的各项数据分类罗列在表1中, 如下。

分析表1下面的数据, 并结合人眼直观判断, 可以有如下结论:

1) Steps在10~16之间将取得压缩率 (CR, BPP) 和人眼主观感觉的一个均衡, 即:

a) 若, Steps<10, 则, CR, BPP值很好, 但, 人眼主观感觉不能接受;

b) 若, Steps>16, 则, 人眼主观感觉超好, 但, CR, BPP值不好;

c) 当, 10≤Steps≤1时, 此时, PSNR大概在30d B至40d B之间。

2) 细节丰富的图像, 如trees图像, 误差MSE总是偏大的 (当然, 相应的PSNR总是偏小的) 。

3) 无论如何, 每幅图像, 在Steps逐渐增大的过程中, 确实实现了图像的“渐进 (progressive) ”清晰, 这是EZW的重要特性, 在JPEG2000也有类似特性。

上面提到的参数Steps就是阈值2n中的n值。

4 总结

通过上面的实验, 可以看到, 在EZW压缩算法中, Steps参数取值在10~16是合理的, 不至于压缩成本过高, 又能为人眼所接受。若为成本考虑, Steps参数取值可以左移靠近10;而若想更清晰一些, 则Steps参数取值可右移靠近16。

基于woman图像, 对上述结论进一步验证, 结果如表2和图3所示。

结合人眼观察图3和表2的数据, 在参数Steps=11, 12时, 确实可以取得压缩率 (CR, BPP) 和人眼主观感觉的一个均衡。

摘要:基于小波变换的多分辨率分析技术, 是基于EZW的图像压缩、传输、解压缩工作的基础之一。在多分辨率分析的产物中提取出内嵌的零树, 并进行可变长度的量化、编码, 则是该工作的另一基础。渐进的、可变长度的编、解码是EZW技术的关键特征, 编码长度越长, 传输的源图像的信息越多, 则解码后的目标图像越接近源图像。在基于EZW的图像压缩、传输、解压缩的过程中, 如何在编码量 (即编码长度) 和人的视觉要求间取得一个平衡, 就是一个问题。下面通过一系列实验, 结合客观指标和人眼直观判断, 尝试找到基于嵌入零树小波编码的图像压缩参数Steps的经验数据, 从而平衡编码长度和人的视觉要求。

关键词:多分辨率分析,离散小波变换,嵌入零树小波编码算法,图像压缩

参考文献

[1]郭慧杰, 赵保军.基于能量树编码的小波图像压缩算法[J].激光与红外, Vol.42, No.10, Oct.2013.

[2]吴德龄, 胡栋.基于不对称树结构的3D-SPIHT算法改进[J].计算机技术与发展, Vol.20, No.8, Aug.2010.

[3]Adams M D.The JPEG-2000 Still Image Compression Standard[M].2005.

[4]A.Said, W.A.Pearlman, A new fast and efficient image codec based on set partitioning in hierarchical trees[J], IEEE Transactions on Circuits and Systems for Video Technology, Vol.6, Jun.1996.

静止图像压缩编码简介 篇4

常用的图像文件格式中JPEG以占用空间小, 图像质量高等特点而广为用户采用。

上世纪80年代ISO和CCITT两大标准组织共同推出JPEG压缩算法, 它定义了连续色调、多级灰度、静止图像的数字图像压缩算法, 是国际上彩色、灰度、静止图像的第一个国际标准。离散余弦 (DCT) 则是最小均方误差条件下得出的最佳正交变换, 作为多项图像编码国际标准的核心算法而得到广泛应用。其中最著名的算法即为JPEG图像压缩算法。DCT算法变换核是余弦函数, 计算速度较快, 质量劣化程度低, 满足图像压缩和其他处理的要求。

按照灰度层次, 图像可分为两类:第一类为有灰度层次图像;第二类成为二值图像, 即仅黑白层次图像。电视图像、照片传真、静止图像属于有灰度图像。而文件传真、二值静止图像则属于二值图像范畴。

经过几十年人们对图像压缩技术的不断研究, 并且随着软硬件技术的不断发展, 人们已经能够实现大量的图像压缩算法。早期的图像编码主要基于信息论的理论基础, 压缩效果不理想。最近几年随着相关领域科学的发展, 人们的研究重点已经转向视觉生理学和景物分析新的方向上, 实现了图像编码技术由第一代向第三代的跨越, 实现了非常高的压缩比, 极限情况下能达到千分之一。

以最小的代价实现特定质量的图像的传输是图像编码的核心, 又称为图像压缩, 广泛应用于图像的存储、传输和交换。在相关过程中对图像信号中存在的冗余都进行压缩编码, 能够最大程度实现图像编码的本质。

预测编码、熵编码和变换编码是最常用的编码算法。如果编码后无信息丢弃, 称为无失真编码;若编码后信息有丢弃, 则称为有失真编码。这是另外一种编码分类的标准。

预测编码法和变换编码法是图像统计压缩编码算法的两大类。预测编码法包括增量调制法 (法) 及差分预测编码法 (DPCM法) 等。差分预测编码法 (DPCM法) 是图像通信中常用的算法, 还有其他等等混合应用的各种方法, 此处不做介绍。

静止的、不变的、称为静止图像, 一般从设备屏幕上看长时间保持不变。被摄事务一般是静止或者某一特定时刻保持静止的。按照应用场景的不同, 传输文件、模型、图片等静止图像时常用静止图像传输;现场实时监控则常用凝固图像传输。

要求如下:

(1) 清晰度:图像清晰度更高, 从而满足人眼对观察图像细节的要求, 而不是利用通常电影的原理。

(2) 显示方式:逐渐浮现。即先传模糊的整体图像, 再逐渐传输显示细节, 从而使观看者不用等待太久时间, 适应窄带传输的场景。

(3) 抗干扰:在较长传输过程中, 编码方法要有较强的抗干扰噪声能力, 防止图像呈现在终端上时质量低下。

以下为对静态图像编码技术的介绍:

(1) 预测编码:由相邻像素间相关性出发, 通过前面像素值预测当前像素值, 并经过实际数据的运算得到预测误差, 而该误差通常接近实际值。因此对预测误差直接进行单符号的熵编码或对预测误差进行量化再进行熵编码是更高效率的计算方法, 最主要的算法则是简称为DPCM的差分脉冲编码。

(2) 变换编码:是目前几乎所有的图像、视频和视频等的压缩标准的核心编码算法。而新近发展的更多图像压缩技术中, 该编码也是核心的基础算法, 在实际中得到广泛应用。

JPEG是“Join Photographic Expert Group”的首字母简写, 可将每24比特的单彩色像素图像压缩至2比特, 而保持较高的图像质量。其定义的编码系统主要有以下三种:a DCT有损编码基本系统, 大部分压缩应用场景下均采用该系统。b可扩展编码系统:用于高压缩、高精度、渐进重建应用。c无损系统:应用于无失真场合。

JPEG标准一般用于自然景象、连续色调数字图像编、解码。

简单归纳为:两种工作方式 (顺序方式、渐进方式) 、三种级别 (基本系统、扩展系统、无失真系统) 。

顺序方式:将图像的行和列分割成四方小块, 从左到右、由上而下逐行逐列对所有的小块进行编码运算。并且解码时也按编码顺序逐块解码。这两个过程均一次完成。

渐进方式:整个图像需要经过多次编码运算才能完成, 初次编码时质量低于最终要求的质量。逐次编码, 质量逐次提升。解码时首先解码出较低质量全幅图像, 增加附加信息后再次解码, 重复若干次, 最终得到满足质量要求。解码过程可随时终止。

基本系统:以离散余弦变换为核心, 以顺序工作为方式, 用于一般精度。按照要求, 每个压缩编码器均实现了基本算法功能。

扩展系统:在若干方面增强并减少一些限制条件后就成为“扩展系统”。

无失真系统:以DPCM技术为基础, 压缩比较低, 但是能实现压缩时不失真。

JPEG标准是多年来图像压缩编码的研究成果。虽然DCT是它的核心, 但它同时也采用了DPCM、自适应量化、游程编码、可变长熵编码等多种技术, 所以应该说是一种混合算法。

参考文献

[1]Castleman, Kenneth R.Digital image processing.北京:清华大学出版社, 2003.

[2]Kenneth.R.Castleman.Digital Image Procession, 北京:清华大学出版社, 1998.

[3]孙兆林.MATLAB6.x图像处理[M].北京:清华大学出版社, 2002.

[4]朱秀昌, 刘峰, 胡栋.数字图像处理与图像通信[M].北京:北京邮电大学出社, 2002.

[5]薛永林, 刘珂, 李凤亭.并行处理JPEG算法的优化[J].电子学报, 2002, 30 (2) :160-162.

[6]林福宗.图像文件格式 (上) ——Windows编程.清华大学出版社, 1996年.

[7]李振辉, 李仁各編著.探索图像文件的奧秘.清华大学出版社, 1996年.

[8]黎洪松, 成宝译.JPEG静止资料压缩标准.学苑出版社, 1996年.

嵌入式图像压缩编码 篇5

关键词:图像压缩,MATLAB仿真,Huffman编码

数字图像压缩要求在保证图像重建质量的前提下,用尽可能少的数据量表示、存储和传输图像数据。数字图像压缩的基本思想是消除图像数据中存在的相关冗余和心理视觉冗余。图像压缩的过程,也称为图像编码,是消除冗余的过程;而与之相对应的是图像解压缩过程,是重建原始图像的过程,也称为图像解码。通常,根据图像解码后的数据是否与原始图像数据完全一致,将图像压缩编码分为无损压缩和有损压缩。

1 图像编码标准

近十年来,随着计算机行业的迅猛发展,图像编码技术也得到了迅速发展和广泛应用,并且日益成熟,其标志就是几个图像编码标准的相继指定。这些编码标准融合了各种性能优良的图像编码算法,代表了目前图像编码的发展水平。

(1)JPEG:JPEG是由国际标准化组织(ISO)提出,面向静止图像的编码标准,它规定了静止画面编码中所使用的技术。JPEG标准定义了两种压缩算法:基于DCT的有失真压缩算法和基于空间线性预测技术(DPCM)的无失真压缩算法。JPEG算法的平均压缩比为15:1,当压缩比大于50倍时将可能出现方块效应。

(2)H.261:H.261是CCITT针对可视电话、会议电视和窄带ISDN等要求实时编解码和低延迟应用提出的一个编码标准。

(3)H.263:1995年ITU-T推出H.263标准.这个标准的标题是“低于64kbit/s的窄带信道的视频编码”,用于极低比特率的视频编码,由于H.263是在H.261标准的基础上发展起来的,其信源编码算法的核心仍是H.261建议中所采用的DPCM+DCT混合编码方法。

(4)MPEG标准:MPEG系列标准是由国际标准化组织与国际电工委员会共同制定的。该标准由几种伴音压缩数据和图像数据的复用、图像数据的压缩以及伴音的压缩三部分组成。MPEG系列标准适用于不同带宽和数字影像质量的要求,具有很好的兼容性,压缩比高可达200:1,数据的损失小。主要包括MPEG-l、MPEG-2、MPEG-4和MPEG-7。

2 图像传输中的视频编码技术

图像数据量极大,允许有一定的传输差错率,但对实时性要求较高,希望延时尽量小,因此传输图像特别是活动图像较传输话音和数据困难的多。为了有效的压缩视频信号,并能很好地适应通信网络传输,国际上提出了很多方案,其中比较好的有分层编码和可变比特率编码两种技术,下面简要介绍。

(1)分层编码技术:分层编码将信号分成重要性不同的子信号,对各子信号独立进行编码和传输,每一高层使用低层的信息来构造符合该层质量要求的图像。分层编码使得视频业务可以满足各级用户的需要.通过选择适当的层.用户可以得到缩小的图像质量。分层编码还具有误差遮蔽能力,如果高层信息中有错误,可以用下一层中的信息代替,这种遮蔽效应非常适合于图像在传输中信元丢失所引起的无误差。

(2)可变比特率编码技术:视频信源本身的信息量变化不定,采用某种方法对图像信号进行压缩编码后,其比速率将随时间变化,若要使其输出码流的比特率固定不变,就必须按信源的高峰信息量去配置信道带宽,然而很多时候信源并不出现高峰信息量,为了保证固定码率,通常要插入填充码,因此固定比特率编码将造成通信资源的极大浪费。采用可变比特率编码,就是按信源本身的信息量去分配和使用比特,从而减少冗余度,实现通信资源的有效利用。

3 MATLAB仿真实现

现将一幅灰度图像进行压缩编码,首先把图像分成8×8的像素块,分块进行DCT变换后,根据JPEG标准量化表对变换系数进行量化后,再对直流系数(DC)进行预测编码,对交流系数(AC)进行Zig2Zag扫描和可变长编码,然后进行熵编码,输出压缩图像的比特序列,实现了图像压缩。在接收端经过熵解码、DC系数和AC系数可变长解码、反量化后,再进行反DCT变换得到重建图像。用MATLAB7.0对标准灰度图像进行JPEG压缩与重建,并分析实验结果得出结论。

(1)RLE编码:原图是128×128的jpg格式灰度图像,基于DCT的JPEG图像压缩,按照DCT—量化—DC系数、AC系数的Z型编码—熵编码,然后解码的步骤进行,首先熵编码采用的相对简单的RLE编码,最后得到的结果如图1所示。

原始图像在进行编码之前,需要分割成8×8的图像块,可是解码后,可以看到大体的形状,但是图块化很明显。

(2)Huffman编码:基于DCT的JPEG图像压缩,按照DCT—量化—DC系数、AC系数的Z型编码—熵编码,然后解码的步骤进行,其中熵编码采用的是哈夫曼(Huffman)编码方法。实验结果如图2所示。

相比较两种编码方式的仿真实验结果,采用RLE编码方法,解码后得到的输出图像,大体上形状和原始图像相似,但图像的块状化比较严重,相对于RLE编码的仿真结果,哈夫曼(Huffman)编码方法最终得到的解码后的图像效果比较好。

参考文献

[1]计文平,郭宝龙.数字视频压缩编码的国际标准[J].计算机应用研究,2003,20(4):1-5.

[2]章毓晋.图像处理和分析[M].北京:清华大学出版社,2004

基于哈夫曼编码的图像压缩技术研究 篇6

哈夫曼编码在图像压缩应用中具有非常重要的意义, 哈夫曼编码是一种实用的无损压缩技术, 经过多年的不断改进, 已经形成了系统的理论和方法。目前主要有两种类型的哈夫曼编码方式, 即静态哈夫曼编码和动态哈夫曼编码。

图像压缩编码技术可以追溯到1948年提出的电视信号数字化, 到今天已经有60多年的历史了。在此期间出现了很多种图像压缩编码方法, 本课题主要研究基于哈夫曼编码对图像进行无损压缩, 基于哈夫曼编码的图像无损压缩过程通常分为两步, 即去除相关和编码。去除相关就是要去除图像数据的冗余部分, 降低信源熵, 这是对图像数据的压缩过程;编码就是对去除冗余后的图像数据重新用一种新的符号编码代替, 这也是对图像数据的重编码进行存储的过程。

1 哈夫曼编码原理

1.1 理论基础

为了节省空间, 在对数据进行编码时, 可以对那些经常出现的数据指定较少的位数表示, 而那些不常出现的数据指定较多的位数表示, 从而降低冗余, 这样从总的效果看就节省了存储空间。

基于哈夫曼编码图像压缩的基本原理是频繁使用的数据用较短的代码代替, 较少使用的数据用较长的代码代替, 每个数据的代码各不相同, 这是一种典型的无损编码方式。这些代码都是二进制码, 且码字长度是不均匀的、平均码率可以接近信息源熵值的一种编码。编码过程是先对图像数据扫描一遍, 计算出各种像素出现的概率, 按概率的大小建立最优二叉树 (二叉树的叶子节点刚好表示的图像中的某种像素) 并给二叉树的每个分支赋特定权值 (0或1) , 然后通过遍历二叉树读取从根节点到叶子节点的路径权值字符串, 即给每种像素指定了不同长度的唯一编码, 由此得到一张该图像所有像素的哈夫曼编码表。编码后的图像数据记录的是每个像素的码字, 而码字与实际像素值的对应关系记录在码表中, 码表是附在图像文件中的。

基于哈夫曼编码图像压缩技术借用了热力学中的名词“熵” (Entropy) 来表示一条信息中真正需要编码的信息量:如考虑用0和1组成的二进制数码为含有n个符号的某条信息编码, 假设符号En在整条信息中重复出现的概率为Pn, 则该符号的熵也即表示该符号所需的位数为:En=-log2 (Pn) , 整条信息的熵也即表示整条信息所需的位数:E=ΣEn。

1.2 编码具体过程

1.2.1 建立最优二叉树的过程

(1) 如下图所示, 在每个结点上标出信源字母的概率Pj, 1≤j≤8。

(2) 找出两个具有最小概率的节点, 在本例中是0.01和0.04, 把它们放在同一个父节点的两个字节点上。

(3) 在其父结点上标出子节点的概率之和, 如图所示, 应是0.01+0.04=0.05。进行下一轮找最小概率节点, 由于这个父节点代表了原来的两个节点, 因此现在只考虑7个节点。

(4) 在这7个节点中还没有产生父节点, 在其中找两个最小概率的, 这里是0.05和0.05, 把它们放在同一个父节点的两个子节点上, 并在其父节点上标上子节点的概率之和0.05+0.05=0.1。

(5) 继续这样的合并, 每一步都将两个节点合并到一个父节点之下, 对于两个概率相同的可以任意挑选一个, 直到形成的父节点为1为止, 此节点即为根节点。

1.2.2 编码过程

分别给建成的最优二叉树中每个节点的左右分支分别标0和1, 作为权值, 这样, 从根节点到每一个叶子节点有一条唯一的路径, 读出每条路径上的权值就会产生一个对应节点的唯一码字。如图1所示, 二叉树左右分支的0、1标号并不是确定的, 本例中左分支是1, 右分支是0, 也可以相反, 如图2所示。

上面这两种Huffman编码方式的平均码长分别为:

可见, 尽管这两种编码设定不同, 但它们都有相同的平均码长, 要真正实现压缩还得对新的编码进行按位存储。

2 哈夫曼编码具体实施

2.1 压缩思想

由于进行的是无损压缩, 所以要扫描图像的所有像素点, 压缩过程分为四步:①扫描统计像素出现的概率并按大小排列;②建立最优二叉树;③哈夫曼编码;④保存编码。

经过哈夫曼编码后的图像中的不同像素分别用不同长度二进制编码表示, 接下来的工作就是保存重编码后的像素, 由于无损压缩中编码前后一幅图像的像素点数是相同的, 如果仍然以像素为单位保存图像数据就无法实现压缩功能, 能够实现压缩是因为编码前后表示像素的二进制编码的位数有所变化, 所以, 应该对重编码后的二进制位按位存储, 由于VB6.0中没有移位运算, 但是可以通过乘2、除2操作实现左移、右移。当编码结束后, 各像素的哈夫曼编码存放在hufbm (1 to 256) 中, 在保存时, 把所有像素的哈夫曼编码连成一串, 然后每8位 (字节) 转换为整型数据, 存储的是转换后的整型数据。

2.2 解压思想

压缩文件的文件结构如表1在文件头部分可利用像素与文件头的偏移量距离位置计算文件头和全表的长度, 从而得到哈夫曼编码树的起始位置。

解码过程:

(1) 指向huffman树的树根。

(2) 根据当前一位编码为0或1从而指向左或右儿子节点。

(3) 判断该节点的左, 右儿子是否是空 (即为0) 不是则向后扫描一个编码, 执行上一步, 如是则完成一个解码, 该叶子节点的数组下标即为像素值, 继续解下一个。

在解码过程中需要把按位存储的编码读取出来, 这个过程就是按位读取, 由于压缩的文件长度大多小于30K, 那么编码部分必将小于30K, VB6.0中字符型 (string) 的变量最长可达65535个字符, 所以可将编码部分一次性读取, 构造一个自定义函数dtoo (s as byte) , 该函数的功能是将byte型的变量转变成8位二进制数。

至此, 关于哈夫曼编码的几个重要模块的实现算法已经介绍完, 通过模块测试都能达到预期效果, 把这几个模块集成即可形成一个基于哈夫曼编码的图像压缩系统 (其中使用了一些用户自定义类型、变量和关于图像的信息的常量, 都在程序的公用模块中有定义) 。

3 结语

图像压缩技术, 是当前很热门和实用的信息技术, 图像压缩技术研究了几十年, 取得了很大的成绩, 但还有许多不足, 值得我们进一步研究。Huffman编码压缩作为一种简单高效的编码方法, 在文本, 图像, 音频等压缩技术中都有着广泛的应用。从整个课题中可以看到, Huffman编码算法只对图像压缩一次, 要想提高压缩比, 可以对图像进行两次压缩或多次压缩。另外, 还可以与人眼视觉特性相结合实现有损压缩。总之, 图像压缩是一个非常有发展前途的研究领域, 这一领域的突破对于我们的信息生活和通信事业的发展有着深远的意义。

摘要:哈夫曼编码是一种数据编码方式, 以哈夫曼树——即最优二叉树, 用带权路径长度最小的二叉树, 对数据进行重编码, 经常应用于数据压缩。在计算机信息处理中, “哈夫曼编码”是一种一致性编码法 (又称“熵编码法”) , 用于数据的无损压缩。本文主要介绍了基于哈夫曼编码图像压缩技术的原理、算法、过程, 并利用VB6.0作为编程开发工具, 开发了一个对256色BMP图像进行压缩/解压缩的软件系统, 验证了算法的合理性和可行性。

关键词:哈夫曼编码,二叉树,熵,无损压缩

参考文献

[1]田青图像压缩技术[J].警察技术, 2002 (1) :30~31.

[2]王新成.高级图像处理技术[M].第一版, 北京, 中国科学技术出版社, 2001.

[3]孙仲康, 等.数字图像处理及其应用[M].北京, 国防工业出版社, 1985.

嵌入式图像压缩编码 篇7

随着计算机技术、现代通信技术和电信网络技术的迅猛发展,图像的数字化带来海量数据处理,因此,对图像数据的处理——编码压缩以便存储、传输便成为该领域首要解决的核心问题之一。图像的压缩及编码受清晰度、色彩度、失真度等约束,也就有了很大的挑战性和必要性。

表1描述了几种重要的未经压缩信源信号的原始数据速率[4]。可见,海量的数据必须作压缩处理。图像数据可进行压缩的可能性:原始图像数据是高度相关的,存在着很大的冗余度;据人眼的生理特性-视觉冗余度:对亮度信号的分辨率高于颜色的空间分辨率,可对图像作主观图像质量几乎没有下降的处理。图像数据压缩技术就是研究如何利用数据的冗余性来减少图像数据量的方法。

2 图像压缩

图像数据的压缩分无失真(或无损)编码和限失真(或有损)编码[1],前者不会丢失数据信息,但压缩率较小;后者会造成失真,但这些失真可以控制在一定的限度内,不致影响使用效果。为此,尽可能提高压缩比同时又保证图像的质量是亟需研究、解决的课题。作者对静态图像的国际压缩标准——JPE G深入的研究、探讨和改进,该方案有较高的压缩比、信噪比等良好性能。JPEG是公认的最佳的静态图像压缩标准,但因含噪图像的去除相关性差的“瓶颈”,本文提出一种鉴于数字图像的噪声模型,对图像去噪处理后再作JPEG基本系统图像压缩编码的方案,见图1。

3 噪声模型

通常图像的生成、传输或变换(如成像、复制、扫描、数字化和传输等)过程中,总会受到各种噪声干扰,因此数字图像中含有各种大量噪声。空间图像上表现在为一些斑点,使原本连续的灰度变得忽大忽小,轮廓变得模糊、位移以致使人形成错像。这样对数字图像的分析、观察和处理造成不利。

噪声实际上是一种相对图像数据的无效数据,从而使各像素之间的相关性大大降低,而图像压缩的核心即去除像素间的相关性,对含噪的图像处理效果是很差的,原因是图像中的噪声对图像的编码压缩起了破坏作用。要对信号中的噪声进行有效的处理,就需要建立噪声模型,如何建立高效、快速的模型是值得研究的课题。去除噪声[2]的常用方法有两类:空域和频域,空域中采用邻域平均,频域中采用低通滤波。从频谱分析可知,噪声频谱通常在高频段,因此,本文采用二维低通滤波器去除噪声的方法,相应在空间域中的操作即:图像和系统响应函数进行卷积:

g(m,n)为去噪后图像,H为滤波器响应函数(模板矩阵),f(m,n)为含噪图像。该实验H采用以下几个模板。

实验结果表明,以上噪声模型取得了良好去噪效果(具体见图4、5)。对高频成分的干扰图像,用此方法可以大大提高图像的信噪比,得到较高的压缩比及图像的其他处理要求。

4 JPEG编解码

JPEG(联合图像专家组)是由国际标准组织(ISO)和国际电话电报咨询委员会(CCITT)为静态图像建立的第1个国际数字图像压缩标准,JPEG是目前静态图像压缩格式中压缩比最高的。JPEG编码按工作模式可分为[2]:(1)基于DCT变换的顺序型操作模式;(2)基于DCT渐进型操作模式;(3)基于DPCM的无损编码(顺序型)操作模式;(4)基于多分辨率编码的(渐进型)操作模式。基于DCT变换的顺序型操作模式是JPEG标准的核心,它是JPEG标准的基本系统,操作简单且、的图像编码高效,应用场合广泛。本实验在去噪模型的基础上对JPEG的基本系统作了研究和探讨。

4.1 JPEG编码

编码原理[3]见图2。

(1)FDCT

JPEG处理的图像源是以帧为单位,而通常BMP图像的组成单位是RGB的,需先转换成YCr Cb格式:一个亮度分量,两个色度分量。这样原图像就变换成3帧数据,JPEG分别对每一帧进行编码,JPEG的最小处理单元是8×8的图像子块。8×8点的方块经过二维的DCT变换:

M=N=8代入上式FDCT,得到正向DC T。

(2)量化

量化即经过DCT变换的图像的每个系数根据量化表除以各自对应的量化步长,得到量化系数。量化步长的大小决定了图像失真度的大小,量化是失真的本源:

此处取整采用四舍五入的方式,S(u,v)为量化表。JPEG通过对每个DCT系数量化步长设计,结合人类视觉特性:人眼视觉系统的频率响应随空间频率增加而下降,而且对两个色度分量比亮度分量要快得多,为此JPEG推荐了亮度分量和色度分量量化表的系数[5]。

(3)熵编码

经量化器处理的系数被分成直流(DC)和交流(AC)系数,F(0,0)即为DC系数,除F(0,0)以外的是AC系数。因为经过DCT变换、量化,8×8的方块的绝大部分系数变成了0,据编码经验知,连续0的个数越多编码效率越高,为此JPEG采用了Z形扫描方式。JPEG基本系统的熵编码采用平均压缩比最高的Huffman编码[5]。

4.2 JPEG解码

解码原理[3]见图3。压缩后的图像数据是JPEG专有格式,比其他图像格式占存储空间要小得多,尤其对像素相关性较强的图像。相对应Huffman编码,熵解码器用同一编码表。解码的数据经反量化:

得到较连续的能量幅度,再经逆DCT变换(IDCT)(M=N=8,C(x)同上),还原为8×8的像素块,拼接这些像素块即得到JPEG解压的重建图像。

5 实验与结论

本文采用两幅图:灰度较为均衡的Lena图和灰度级变化较大的Darwin图。试验结果见图4、图5,评价恢复图像质量时一般用以下公式。

(1)峰值信噪比(PSNR):

(2)归一化均方误差e(NMSE):

其中,为原始图像,为重建复原图像,J、K为图像的总行数和总列数。本实验采用的两幅源图像是256×256×256 bmp。

(3)均方根误差RMSE:

(4)压缩比(CR):CR=压缩前图像大小(bit)/压缩后图像大小(bit)。

在评估标准中,为减小计算工作量没有使用归一化均方误差:NMSE,而是采用均方根误差:RMSE。各项指标结果如表2。分析以上数据可以较直观地看出:在未使用该方案的含噪原始图像,JPEG压缩比较小;而采用本文的噪声模型作预处理后再用JPEG压缩后,压缩比由原来4倍增加到6倍多,效果很明显。均方根误差(RMSE)和信噪比(PSNR)也得到相应的改善。另外,所采用的噪声模型的种类不同,处理效果各有区别。这是因为所含噪声的不同,模型处理(卷积运算)结果就不同本文采用的两幅实验图像含随机噪声,试验可知:模型1(H1)相对其他模型有更好的适应性。所以建立合适的模型以便更好地去除噪声显得尤为重要,无论是对于数字图像处理,还是其他领域,都是一个很值得研究的方向。从表2还可得知,两幅图的处理结果有一定差别:原因是Lena图的灰度较为均衡、丰富,而Darwin图的灰度级变化大。由JPEG的压缩原理得知:Lena图比Da r win图的压缩比要大,相应地RMSE和PSNR两指标也不同。

6结束语

本算法研究方案实现了较高压缩比、信噪比等良好性能,具有广泛的应用价值。改算法思想同样适用于其他压缩算法。特别是强调处理效果而无苛刻时间要求的情况,如美术工艺、医学图像等静态图像的加工处理均可采用该算法思想:即先用噪声模型对含噪图像预处理,再用其他压缩算法压缩以得到更高的压缩比。随着对静态图像压缩技术的要求的更一步提高,静态图像压缩算法的研究将有更大突破。

参考文献

[1]张春田,苏育挺,张静等.数字图像压缩编码[M].北京:清华大学出版社,2006

[2]吴乐南,徐孟侠.数据压缩[M].北京:电子工业出版社,2005.

[3]沈振元,聂志泉,赵雪荷.通信系统原理[M].西安电子科技大学出版社,2004.

[4]GIBSON J D,BERGER T,LOOKABAUGH T,etal.多媒体数字压缩原理与标准[Z].北京:电子工业出版社,2000.

嵌入式图像压缩编码 篇8

K-L变换 (Karhunen-Loeve Transform) 是建立在统计特性基础上的一种变换, 也称特征向量变换、主分量变换或霍特林 (Hotelling) 变换。K-L变换的突出优点是去相关性好, 它根据具体的图像统计特性 (图像的协方差矩阵) 来决定它的变换矩阵, 对图像有最好的匹配效果, 能将信号在变换域的相关性全部解除, 是最小均方误差意义下的最佳变换。K-L在数字图像压缩技术中占有重要地位。

(一) K-L变换理论基础

如果一个离散信号由N个样值组成, 则它可以表示为一个N维向量, 设以X表示它, 即

对X进行正交变换

其中, Y是变换后的向量 (变换系数向量) , T是变换矩阵。Y也是一个N维向量, 表示为:

由图像样值序列组成的随机向量的协方差矩阵定义为:

协方差矩阵主对角线上的元素是各随机变量的方差, 它反应了各随机变量的能量大小, 而主对角线以外的各个元素则是表示两个变量ix和xj之间相关程度的协方差。

变换系数矩阵Y的协方差矩阵

变换矩阵T是由X协方差矩阵ΣX的特征向量{Φi}组成, 可知ΣY为对角线矩阵, 即变换后向量Y的各个分量yi是完全不相关的。

(二) K-L变换应用于图像压缩及实验结果

K-L变换应用于由N个样值组成的图像X的有损压缩时, 通常将对应于ΣX最小的 (N-M) 个特征值的特征向量置为O, 由其余的特征向量组成逆变换矩阵, 此时变换后矩阵Y有 (N-M) 个分量被舍弃。由此造成的均方误差为 (iλi=M, M+1, L, N-1为ΣX的 (N-M) 个最小的特征值) 。

K-L变换应用于图像压缩编解码框图如图1所示。

编码后恢复原图像需要保存的数据为:数据信息 (包括原始图像的大小、表示颜色要用到的位数等) 、逆变换矩阵、变换后的系数矩阵、熵编码表。其中逆变换矩阵和变换后的系数矩阵是经过熵编码后的数据。

1. K-L变换矩阵选取

对一幅M×N的图像进行K-L变换, 其变换矩阵T大小为MN×MN, 该矩阵大小远远大于原始图像数据矩阵。而要在解码时恢复原图像, 不但需要变换后的系数矩阵Y, 还需要知道逆变换矩阵TT, 这样不但达不到任何数据压缩的效果, 还极大的增加了数据量。即使仅保留一个最大的特征值, 此时Y中不为零的元素个数为1, TT中不为零的元素个数M×N, 这样仍达不到压缩数据的要求。另外, 当ΣX太大时, 变换矩阵求解非常困难, 甚至无法求解。

要解决上述问题, 可以考虑将图像分成若干个小块, 对每个小块分别进行K-L变换。如何确定每个图像块的大小呢?从统计学上来说, 在15~20个像素之后, 像素间的相关性开始下降, 因此每个数据块选为16×16的大小最为合适。但是综合考虑计算量与系统复杂性, 以及系统实现的难易程度, 最终选择8×8块。

将图像X分成若干个不重叠的8×8数据块 (当图像垂直和水平方向的像素数不是8的倍数时补0, 使之均为8的倍数) , 对任一数据块

此时有

如果分别对Xi进行K-L变换, 变换矩阵个数为N个, 每个矩阵大小为64×64, 该数据量还是远大于原图像。可以将K-L变换进行适当的变形, 达到数据压缩的目的。

可求出ΣX为一个64×64的矩阵, 进而很容易求出变换矩阵T。从ΣX的求解过程可以看出, 该变换矩阵对于该图像的任意一个数据块都适用。

经实验表明, 图像数据经这样的变换矩阵T变换后虽不能完全消除各系数之间的相关性, 但也能起到很好的去相关性效果。

2. 量化编码

经对K-L变换的变换矩阵及变换后系数矩阵的数据研究表明:

(1) 变换矩阵系数均在-0.5~+0.5之间;

(2) 变换后系数均在-2048~+2047之间, 并且大部分数据都在100以内, 大于100的系数极为分散。

由以上数据规律可以看出, 可以将变换矩阵系数都以1/250为量化间隔进行均匀量化。刚好每个量化后的系数可以用7位有符号二进制数表示, 再加上符号位, 正好一个字节。

变换后的系数由于数据比较分散, 且大数据量较少, 故可以提高小数据的精度, 适当降低大数据的精度, 将其按照A律13折线压扩特性进行7级非均匀量化], 每个系数也可以表示为7位有符号二进制数。

量化后数据经过熵编码进一步对图像数据进行压缩, 这是一个无损压缩编码过程。在本课题中, 熵编码采用Huffman编码。

3. 实验结果与分析

对大小为256×256×8 bit的Lena灰度图像进行压缩编码。当特征值保留个数分别为1、2、4、8、16时, 经K-L变换压缩编码的压缩比CR和峰值信噪比PSNR如表1所示。

峰值信噪比定义为:

σe2为均方误差, 定义为:

式中, M和N分别为图像垂直和水平方向的像素数;S (i, j) 和S' (i, j) 分别为原始图像和编解码后重建图像在 (i, j) 点的像素值。

Lena原图 (未压缩BMP格式) 为大小为65KB, 转换成JPEG图片的大小为5.4KB, 压缩比为12.0, 峰值信噪比为35.68d B, 比保留16个特征值的压缩性能[8]稍差。

Lena原始图像和保留特征值个数为1、2、4、8、16的编解码后重建图像如图1所示。

由图2可以看出, 当保留8个特征值时, 还原图像在视觉效果上和原始图像没有什么分别。

(三) 结论

K-L变换由于变换矩阵过大, 并不能直接应用于普通数字图像的压缩编码。必须经过适当的变形, 才能应用到实际的压缩编码中。

本文采用的K-L变换, 并不是完全的K-L变换, 并不能全部消除变换后系数间的相关性, 各数据块之间相关性没有消除, 数据块内也可能存在极弱的相关性。即使如此, 该方法应用于图像的压缩编码中效果也极其明显。在相同的压缩比时, 图像质量高于JPEG图像, 或在相同的图像质量下, 有更大的压缩比。

K-L变换要根据图像的统计特性来决定它的变换矩阵, 对图像有高度的依赖性, 没有快速算法。并且求协方差矩阵的特征向量的运算量比较大, 因此编码速度比较慢。K-L变换比较适合实时性要求不是很高的应用。

参考文献

[1]张春田, 苏育挺, 张静.数字图像压缩编码[M].北京:清华大学出版社, 2006.

[2]华中理工大学数学系.概率论与数理统计[M].北京:高等教育出版社, 2002.

[3]求是科技.Visual C++音视频编解码技术及实践[M].北京:人民邮电出版社, 2006.

[4]樊昌信, 徐饼祥, 吴成柯, 等.通信原理 (第五版) [M].北京:国防工业出版社, 2001.

上一篇:全髋关节置换术后下一篇:虚假数据过滤