图像编码静止图像压缩(精选八篇)
图像编码静止图像压缩 篇1
常用的图像文件格式中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年.
噪声图像的分形压缩编码研究 篇2
以256×256的Lena灰度图像为例(噪声均为零均值的高斯白噪声),在对图像进行分割时,取B=4,D=8。表1给出了用分形压缩算法对噪声图像编码的结果。图2和图3给出噪声方差为50时的噪声图像和分形压缩图像。
从表1中可以明显看出,当图像被高斯白噪声污染后,分形编码算法的性能明显降低,一是编码时间大大增加,而且噪声方差越大,编码时间越长,这主要是因为图像被污染的程度越大,图像信息损害的就越厉害,图像的分形特性遭到破坏,在编码过程中寻找匹配块的难度就越大、时间越久,分形算法的编码效率大大降低。二是重构图像信噪比降低,图像质量严重恶化,尤其是方差增大时,图像质量恶化更严重,如方差为200时,重构图像的信噪比降低了24.36(如图3所示),图像的一些信息特征已经不存在了。因此要提高含噪声图像的编码效率和信噪比,就必须对图像先进行去噪处理,同时要保证图像的分形特点。由于小波已被广泛地用于图像处理并获得良好的效果,所以利用小波方波对图像进行去噪处理。
图像压缩编码方法综述 篇3
1 图像压缩技术发展历程
自1948年提出电视信号数字化后,人们就开始了对图像压缩编码的研究工作,至今已有50多年的历史了。上个世纪五十年代和六十年代的图像压缩技术由于受到电路技术等的制约,仅仅停留在预测编码、亚采样和内插复原等技术的研究,对视觉特性也做了一些重要的工作。1966年,J.B.O Neal对比分析了DPCM和PCM,并提出了对电视的实验数据进行编码,1969年进行了线性预测编码的实际实验。1969年美国召开第一届“图像编码会议”标志着图像编码作为一门独立的学科诞生。
近十年来,图像编码技术得到了迅速的发展和广泛的应用,并日臻成熟,其标志就是几个关于图像编码的国际标准的制定,即ISO/IEC关于静止图像的编码标准JPEG,CCITT关于电视电话/会议电视的视频编码标准H.261和ISO/IEC关于活动图像的编码标准MPEG-1,MPEG-2。这些标准图像编码算法融合了各种性能优良的传统图像编码方法,是对传统编码技术的总结,代表了当前图像编码的发展水平。
2 图像压缩原理
数字图像压缩系统无论采用什么具体结构和技术,其基本过程是一致的,一般可以概括成图1所示的基本框图。压缩过程从原理上讲有三个基本环节:变换、量化、编码这三个环节都有数据压缩的任务。
首先对原始图像进行映射变换,这里的变换是广义的,变换的作用是将原始图像在一个新的域中用另一种新的形式表述。对变换器的要求是:有效地压缩数据,同时信息保真度要高,还要求是广义可逆的,还要方法简单,经济实用。经过映射变换,如时域预测、频域变换或其它变换,原始图像数据特性被改变,变得更利于压缩编码。接下来,变换后形成的参数进入熵减阶段,这个阶段就是量化过程。量化器的引入是图像编码产生失真的根源。对量化器的要求是:在一定程度的客观或主观误差允许下,总的量化级数要尽量的少,同时也应便于实现。最后,对量化后的符号进行熵编码。熵编码器是用来消除符号编码冗余度的,它一般不产生失真,常用的熵编码方法有分组码、行程码、变长码和算术码等。编码器的编码方式应和信号或符号流的分布特性相适应以求得较大的压缩比。熵编码后的信息码流被送入存储设备或通过信道传输。
以上三个步骤既相互联系又相互制约,对不同的编码技术来说,其图像变换的模型、量化器的设计、熵编码所采取的措施都是不同的。图像压缩的解码是编码的逆过程,这里不再赘述。
3 图像压缩分类
根据压缩后的图像能否完全恢复将图像压缩方分为两种:一种是无损压缩;另一种是有损压缩。
3.1 无损压缩
利用无损压缩方法消除或减少的各种形式的冗余可以重新插入到数据中,因此,无损压缩是可逆过程,也称无失真压缩。为了消除或减少数据中的冗余度,常常要用信源的统计特性或建立信源的统计模型,因此许多实用的无损压缩技术均可归结为统计编码方法。统计编码方法中常用的有Huffman编码、算术编码、RLE(Run Length Encoding)编码等。此外统计编码技术在各种有损压缩方法中也有广泛的应用。
3.2 有损压缩
有损压缩法压缩了熵,信息量会减少,而损失的信息量不能再恢复,因此有损压缩是不可逆过程。有损压缩主要有两大类:特征提取和量化方法。特征提取的编码方法如模型基编码、分形编码等。量化是有损压缩最基本的形式,其优点是可以得到比无损压缩高得多的压缩比。有损压缩只能用于允许一定程度失真的情况,比如对图像、声音、视频等数据的压缩。
无损压缩和有损压缩结合形成了混合编码技术,它融合了各种不同的压缩编码技术,很多国际标准都是采用混合编码技术,如JPEG,MPEG等标准。利用混合编码对自然景物的灰度图像进行压缩一般可压缩几倍到十几倍,而对于自然景物的彩色图像压缩比将达到几十甚至上百倍。
4 图像压缩编码方法
根据编码方法的不同,Kunt等人在1985年提出了“第一代”图像编码和“第二代”图像编码的概念,“第一代”图像编码技术是以信息论和数字信号处理为理论基础,旨在去除图像数据中的线性相关性的一类编码技术。这类技术去除客观和视觉的冗余信息的能力已经接近极限,其压缩比不高,而“第二代”图像压缩编码技术是指不局限于信息论的框架,要求充分利用人的视觉生理心理和图像信源的各种特征,能获得高压缩比的一类编码技术。
4.1“第一代”图像编码方法
4.1.1 熵编码
熵编码是纯粹基于信号特性的编码技术,它是一种无损编码,解码后能无失真的恢复原始图像,其基本原理是给出概率较大的符号一个短码字,而给出概率小的符号一个长码字,这样使得最终的平均码长较小。由Shannon信息定论可知:图像的熵值是保存信息量的前提下能进行编码的每像素平均码元数的下限,这种信息熵保持编码叫熵编码。
1)霍夫曼编码。在无损压缩的编码方法中,霍夫曼编码是一种有效的编码方法。它是霍夫曼博士在1952年根据可变长最佳编码定理提出的。依据信源数据中各信号出现的频率分配不同长度的编码。其基本思想是在编码过程中,对出现频率越高的值,分配越短的编码长度,相应地对出现频率越低的值则分配较长的编码长度,它是一种无损编码方法。采用霍夫曼编码方法的实质是针对统计结果对字符本身重新编码,而不是对重复字符或重复子串编码,得到的单位像素的比特数最接近图像的实际熵值。
2)算术编码。算术编码方法与霍夫曼编码方法相似,都是利用比较短的代码取代图像数据中出现比较频繁的数据,而利用比较长的代码取代图像数据中使用频率比较低的数据从而达到数据压缩的目的。其基本思想是将被编码的数据序列表示成0和1之间的一个间隔(也就是一个小数范围),该间隔的位置与输入数据的概率分布有关。信息越长,表示间隔就越小,因而表示这一间隔所需的二进制位数就越多(由于间隔是用小数表示的)。算术压缩算法中两个基本的要素为源数据出现的频率以及其对应的编码区间。其中,源数据的出现频率、编码区间则决定算术编码算法最终的输出数据。
3)行程长度编码。行程长度编码是一种相当简单的编码技术,常用RLE表示。它是沿扫描线统计具有相同颜色值的像素个数,然后用两个数值来表示具有相同颜色值的这些像素:(n,m),n表示像素值,m表示像素的个数,称为行程长度。
4)LZW编码。LZW编码原理是将每一个字节的值都要与下一个字节的值配成一个字符对,并为每个字符对设定一个代码。当同样的一个字符对再度出现时,就用代号代替这一字符对,然后再以这个代号与下个字符配对。LZW编码原理的一个重要特征是,代码不仅仅能取代一串同值的数据,也能够代替一串不同值的数据。在图像数据中若有某些不同值的数据经常重复出现,也能找到一个代号来取代这些数据串。在此方面,LZW压缩原理是优于RLE的。
4.1.2 预测编码
预测编码方式是目前应用比较广泛的编码技术之一。常见的DPCM(Differential Pulse Code Modulation),ADPCM(Adaptive DifferentialPulse Code Modulation)等都属于预测编码方式的编码技术。通常,图像的相邻像素值具有较强的相关性,观察一个像素的相邻像素就可以得到关于该像素的大量信息。这种性质导致了预测编码技术。采用预测编码时,传输的不是图像的实际像素值(色度值或亮度值),而是实际像素和预测像素值之差,即预测误差。预测编码分为无失真预测编码和有失真预测编码。无失真预测编码是指对预测误差不进行量化,所以不会丢失任何信息。有失真编码要对预测误差进行量化处理,而量化必然要产生一定的误差。
4.1.3 变换编码
变换编码是将图像时域信号变换到系数空间(频域)上进行处理的方法。在时域空间上具有很强相关的信息,在频域上反映出在某些特定的区域内能量常常被集中在一起或者是系数矩阵的分布具有某些规律,从而可以利用这些规律分配频域上的量化比特数而达到压缩的目的。变换编码的目的在于去掉帧内或帧间图像内容的相关性,它对变换后的系数进行编码,而不是对图像的原始像素进行编码。
4.1.4 矢量量化编码
利用相邻图像数据间的高度相关性,将输入图像数据序列分组,每一组m个数据构成m维矢量,一起进行编码,即一次量化多个点。矢量量化编码属于有损压缩编码,它的缺点是复杂度随矢量维数呈指数增加,数据量和计算量都很大。
4.2“第二代”图像编码方法
4.2.1 子带编码
子带编码的基本思想是使用一组带通滤波器把输入图像的傅立叶频谱分成若干个连续的频段,每个频段称为子带。对每个子带中的图像信号采用单独的编码方案去编码。采用对每个子带分别编码的优点是:第一,对每个子带信号分别进行自适应控制,量化阶的大小可以按照每个子带的能量电平加以调节。具有较高能量电平的子带用大的量化阶去量化,以减少总的量化噪声。第二,可根据每个子带信号在感觉上的重要性,对每个子带分配不同的位数,用来表示每个样本值。例如,在低频子带中,为了保护图像的边缘轮廓结构,就要求用较小的量化阶、较多的量化级数,即分配较多的位数来表示样本值。而图像中的噪声及图像的细节,通常出现在高频子带中,对它分配较少的位数。第三,各子带的量化噪声都局限在本子带内,即使某个子带内的信号能量较小,也不会被其他子带的量化噪声掩盖掉。
4.2.2 分形编码
分形概念是由美国数学家B.B.Mandelbrot在1975年研究不规则形状及性质时首先提出的。而利用分形作图像压缩是在1987年由F.Barnsley首先提出来的。其基本思想是寻找图像内部的自相似性,并以一定的变换来模拟,然后以变换的存储代替原图像的存储。解码时,只需将变换重复作用于初始图像,利用迭代函数系统(Iterated Function System,IFS)的理论,经过若干次迭代就可以得到原图像较好的近似。
4.2.3 小波变换图像压缩
1989年,S.G.Mallat将小波变换用于多分辨率图像的描述这个过程称为小波分解。它是继傅立叶变换之后在图像压缩中的又一里程碑,它解决了很多傅立叶变换不能解决的问题。与傅立叶变换一样,小波变换的基本思想也将图像信号变为一簇基函数的加权和,而这一簇基函数是通过基本函数的平移和伸缩构成的。小波变换作为正交变换不会产生能量损失,即对小波变换后的图像进行针对性的处理才是实现压缩的关键。小波分解得到的水平和垂直细节图像的高频分量系数大部分为零,可采用非均匀量化。对系数出现概率大的用细量化,对出现概率小的系数采用粗量化。由于人眼对高频分量不敏感,可采用粗量化或舍弃。为了进一步提高压缩比,可对上述经过处理的小波系数采用游程编码或Huffman编码对图像进行压缩。小波变换是可逆的,通过重构算法,图像数据能够被完全恢复。
4.2.4 模型基编码
基于模型的编码技术是近几年来发展起来的一种低比特率编码方法。它利用了计算机视觉和计算机图形学中的方法和理论。其基本出发点是在编、解码两端分别建立相同的模型。基于这个模型,在编码器中用图像分析算法提取景物的参数,例如形状参数、运动参数等。景物的这些参数被编码后通过信道传输到解码端,由解码器接收到的参数利用图像合成技术再重建图像。根据信源模型和编码方法的不同,模型基图像编码分为区域基编码、分割基编码、物体基编码、知识基编码和语义基编码等。
4.2.5 神经网络
用于图像编码该研究是试图初步模仿人的视觉系统某些局部的初级功能,并将其研究成果应用到图像编码领域。将神经网络应用到图像压缩领域有两种方法:一种是直接应用,包括反向误差传播型神经网络(Back Propagation)和自组织映射(Self Organization Map)神经网络。另外一种方法是将它与经典的编码方法相结合,构成很多间接应用神经网络的编码方法。
5 图像压缩性能评价
还原图像质量是评价图像压缩编码方法的最为重要的标准之一,它包括两方面的含义:一方面是图像的逼真度,即还原图像与原始图像的偏离程度;另一方面是图像的可懂度,即图像能向人或机器提供特征信息的能力。
对于限失真编码,原图像与还原图像之间存在着差异,差异的大小意味着恢复图像的质量不相同。但是,由于人的视觉冗余度的原因,则对有些差异的灵敏度较低,这就产生了两种判别标准:一种是客观判别标准,它建立在原始图像与还原图像之间的误差上;另一种是主观评价标准,通过用人的肉眼对图像打分而得到。
5.1 主观评价
主观评价采用平均判分MOS(Mean Option Score)或多维计分等方法进行测试,所评价出的图像质量不仅与图像本身特征有关,也与观察者特性以及观察者的环境条件有关。组织一群足够多(至少应有20名)的观察者(包括一般观众及专业人员),通过观察来评定图像的质量。观察者将还原图像与原图像相对比,比较损伤程度,可参照表1,给评定的图像打上一定的质量等级,最后用平均的方法得到图像的分数。这样的评分虽然很花时间,但比较符合实际。
5.2 客观评价
对图像质量进行定量描述是一个比较复杂的问题,进展比较缓慢,一方面是因为人们还没有充分了解视觉感知的过程和方法;另一方面是由于图像是多维信号,很难用确定的几个统计参数来表示其特征。彩色图像由于量纲数增多,而且必须满足人眼对彩色的视觉感知,因此对彩色图像逼真度进行定量表示是一个更加复杂的问题。目前应用得较多的是对灰度级图像逼真度的定量表示。一个合理的尺度应该与图像的主观测试结果相吻合或密切相关,要求便于计算分析而且简单易行。
设一个原始图像为{g(x,y),0≤x≤M-1,0≤y≤N-1},相应压缩后的还原图像为{f(x,y),0≤x≤M-1,0≤y≤N-1},可以用以下几种指标来评价图像的质量。
1)均方误差:
2)规范化均方误差:
3)信噪比:
4)峰值信噪比:
5)压缩比=压缩后图像的比特数/压缩前图像的比特数,压缩率=1/压缩比
可以看出,以上的评价完全取决于原始图像与重建图像每个像素上灰度值的误差,这种评价在主观感觉上也有一定的参考意义。常用的客观评价指标为PSNR,一般,当PSNR超过30dB时,人的主观感觉很难找出其差异。主观评价与客观评价之间有一定的联系,但不能完全等同。客观评价比较方便,很具有说服力。由于主观评价很直观,比较符合人的视觉效果及实际,故在制定国际标准时常被采用。
6 结束语
随着新科技的不断发展,对图像压缩的要求会越来越高。全新的图像压缩理论、算法和相应的实现技术必将会不断产生,同时将研究现有的方法有机地结合能解决很多图像处理问题。
摘要:图像压缩编码在图像处理中起着至关重要的作用,该文首先介绍了图像压缩技术的发展历程和原理;然后对图像压缩的两代编码方法进行了汇总和分析,并根据图像压缩性能评价标准对图像压缩编码方法进行了展望。
关键词:图像压缩,子带编码,分形,小波变换,模型基,神经网络
参考文献
[1]张春田,苏育挺,张静.数字图像压缩编码[M].北京:清华大学出版社,2004.
[2]姚敏.数字图像处理[M].北京:机械工业出版社,2006.
[3]黄伟,龚沛曾.图像压缩中的几种编码方法[J].计算机应用研究,2003,20(8):67-69.
[4]Timo Kaukorznta,etal.A fast exact gla based on code vector activity detection[J].IEEE Trans On Image Processing,2000,9(8):1337-1342.
[5]LigtenbergA,VetterliM.A discrete Fourier-cosine trasform chip.IEEE J.on Selected Areasin Co-mmun,1986,SAC-4(1):49-61.
[6]赵军,吴中福,李华,等.基于预测的无损图像压缩技术[J].计算机应用研究,2001,18(5):11-14.
[7]闫阳,张正炳.基于小波变换的图像压缩编码[J].现代电子技术,2005,28(3):85-87.
[8]李明水,欧珊瑚,张珩.分形图像压缩方法研究的新进展[J].工程图学学报,2004,25(2):143-152.
[9]练华,宋宝瑞.基于小波变换的分形图像编码[J].上海交通大学学报,2004,38(4):637-640.
[10]刘国文,王志良,解仑.基于神经网络的几种新的数据压缩方案[J].自动化技术与应用,2003,22(7):18-21.
基于图像压缩与编码技术的研究 篇4
1、图像压缩编码原理
图像压缩编码的原理如图1所示。图中模拟图像信号经过PCM编码器后, 再经过压缩编码器、信道编码器送至传输信道。在接收端现则完成它的逆过程。而图像压缩编码是依据图像信号本身的结构和统计上存在冗余和人们视觉特性行的。
图像信号固有的统计表明:相邻相素之间、相邻行之间和相邻帧之间都存在着较强的相关性。利用编码方法在一定程度上消除这些相关性, 以便实现图像信息的数据压缩, 尽量去掉那些无用的冗余信息, 保持有效数据的压缩编码。另一方面, 图像最终是由人眼 (或经过观测仪器) 来看的。根据视觉的生理学、心理学特性, 可以允许图像最终经过压缩编码后所得的图像有一定的失真, 只要这种失真是一种人们难以觉察的。这种压缩编码属于信息非保持编码。这样, 既实现了图像信息的数据压缩, 又能使人们的主观视觉看不出经过压缩编码处理后复原图像的区别。因些, 用信息非保持编码比起仅用信息保持编码, 有更多的数据压缩。
2、图像压缩编码的分类
实现图像压缩编码的方法有很多, 对这些方法的分类也有很多。根据恢复图像的准确度可以将图像压缩编码分为三类:信息保持编码、保真度编码和特征提取。从实现方式来分, 图像压缩编码可分为概率匹配编码、变换编码和识别编码三大类。图像通信中主要应用变换编码, 包括帧内和帧间预测变换, 去除空间和时间上的相关性。函数变换也能将图像间的相关性大量去掉, 因而其压缩效率很高, 并且有很多函数变换及快速算法, 可以保证实时处理。为了获得最佳压缩编码效果, 一般是多种方法兼用, 或以某种方法为主而融入其他方法。
3、常用的图像压缩编码方法
3.1 霍夫曼 (Huffman) 编码
霍夫曼编码是霍夫曼于1952年提出的一种编码方法, 它的基本原理是对那些出现概率较大的信源符号编以较短的代码, 而对于那些出现概率较小的信源符号编以较长的代码。霍夫曼编码方法在各种静止和活动图像编码中广泛应用, 静止图像编码的JPE G, 活动图像编码的H.261、MPEG-1和MP EG-2等国际标准都建议用霍夫曼编码作为统计编码。这种编码码。
3.2 预测变换编码
预测变换编码的原理是利用图像信号的空间和时间冗余特性一, 用已知相邻像素 (或图像块) 来预测当前像素值, 再对预测误差进行量化、编码和传输。预测算法的选取与图像信号的概率分布有关。在实际工作中, 要根据大量的统计结果, 采用简化的概率分布形式设计最佳的预测器, 有时要根据需要还要用自适应预测器, 以便更好的描述图像信号的局部特性, 提高预测效率。预测编码有两种:一种是帧内预测编码, 另一种是帧间预测编码, 前者是在一幅图像内进行预测, 以消除图像在空间域的相关性;后者是在多幅图像中进行预测, 以消除在时间域上的相关性。
3.3 游程长度编码
游程长度编码中的对象不再是每个信源符号本身, 而是每种信源符号在信息流中连续出现的长度。以黑白二值图像为例。图像中每一个扫描行由若干段连续的白像素和连续的黑像素组成, 分别称为白长和黑长。白长和黑长总是交替出现, 这种现象在黑白文件传真更为明显。对于不同长度的白长和黑长, 根据出现的概率不同来分别编成不同长度的码字。在一般的视频信号中也有类式的情况, 若干个相同亮度或色度的像素相连。不仅如此, 人们还常常通过函数变换有意识地构造成片的零值元素, 这时同样可以根据长度编码, 而不必对每个像素单独编码, 从而大大压缩了编码速度。
4、几种压缩技术
4.1 JPEG压缩
JPEG是Joint Photographic Expert G roup的缩写, 主要用于计算机静止图像的压缩, 在用于活动图像时, 其算法仅限于帧内, 便于编辑。采用JPEG标准可以得到不同压缩比的图像, 使图像的质量在得到保证的情况下, 可以从每个像素24bit减到每个像素1bit, 甚至更小。其原理为:在JPEG算法中, 先对图像进行分块处理, 一般把图像分成互不重叠的大小的块, 再对每一块进行二维离散余弦变换 (DCT) 。变换后的系数基本上要保持不相关, 要求系数矩阵的能量集中在低频区, 根据量化表进行量化, 量化的结果保留了低频部分的系数, 去掉了高频部分的系数。量化后的系数按zigzag扫描重新组织, 然后进行哈夫曼编码。JPEG的特点如下:
优点: (1) 形成了国际标准; (2) 具有中端和高端比特率上的良好图像质量。
缺点: (1) 由于对图像进行分块, 在高压缩比时产生严重的方块效应; (2) 系数进行量化, 是有损压缩; (3) 压缩比不高, 小于50。
4.2 JEPG2000压缩
JPEG2000是由ISO/IEC JTCISC29标准化小组负责制定的全新静止图像压缩标准。一个最大改进是它采用小波变换代替了余弦变换。其压缩原理及特点是:PEG2000编码过程主要分为以下几个过程:预处理、核心处理和位流组织。预处理部分包括对图像分片、直流电平 (DC) 位移和分量变换。核心处理部分由离散小波变换、量化和熵编码组成。位流组织部分则包括区域划分、码块、层和包的组织。JPEG2000格式的图像压缩比可在现在的JPEG基础上再提高10%~30%, 而且压缩后的图像显得更加细腻平滑。对于目前的JPEG标准, 在同一个压缩码流中不能同时提供有损和无损压缩, 而在JPEG2000系统中, 通过选择参数, 能够对图像进行有损和无损压缩。现在网络上的JPEG图像下载时是按“块”传输的, 而JPEG2000格式的图像支持渐进传输, 这使用户不必接收整个图像的压缩码流。由于JPEG2000采用小波技术, 可随机获取某些感兴趣的图像区域 (R OI) 的压缩码流, 对压缩的图像数据进行传输、滤波等操作。
4.3 小波变换图像压缩
小波变换图像压缩原理:小波变换用于图像编码的基本思想就是把图像根据Malla t塔式快速小波变换算法进行多分辨率分解。其具体过程为:首先对图像进行多级小波分解, 然后对每层的小波系数进行量化, 再对量化后的系数进行编码。小波图像压缩是当前图像压缩的热点之一, 已经形成了基于小波变换的国际压缩标准, 如MPEG-4标准, 及如上所述的PEG2000标准。
4.4 分形图像压缩
1988年, Barnsley通过实验证明分形图像压缩可以得到比经典图像编码技术高几个数量级的压缩比。1990年, Barnsley的学生A.E.Jacquin提出局部迭代函数系统理论后, 使分形用于图像压缩在计算机上自动实现成为可能。其原理为:分形压缩主要利用自相似的特点, 通过迭代函数系统 (Iterate d Function System, IFS) 实现。其理论基础是迭代函数系统定理和拼贴定理。分形图像压缩把原始图像分割成若干个子图像, 然后每一个子图像对应一个迭代函数, 子图像以迭代函数存储, 迭代函数越简单, 压缩比也就越大。同样解码时只要调出每一个子图像对应的迭代函数反复迭代, 就可以恢复出原来的子图像, 从而得到原始图像
除了以上几种常用的图像压缩方法以外, 还有:NNT (数论变换) 压缩、基于神经网络的压缩方法、Hibert扫描图像压缩方法、自适应多相子带压缩方法等
5、结语
图像压缩与编码技术研究了几十年, 取得了很大的成绩, 但还存在着很多不足之处, 值得我们进一步研究和探讨。虽然小波图像压缩和分形图像压缩是当前研究的热点, 但二者也有各自的缺点, 在今后的研究中, 要与人眼视觉特性相结合。总而言之, 图像压缩与编码技术是一个非常有发展前途的研究领域, 这一领域的突破对于我们的信息生活和通信事业的发展具有深远的影响。
参考文献
[1]周宁, 汤晓军, 徐维朴.JPEG2000图像压缩标准及其关键算法[J].现代电子技术, 2002, (12) :1-5.
[2]吴永辉, 俞建新.JPEG2000图像压缩算法概述及网络应用前景[J].计算机工程, 2003, 29 (3) :7-10.
[3]A Said, W A Pearlman.A new fast and efficient image codec based on set partitioning in hierarchical?trees[J].IEEE Trans.on Circuits and Systems for Video Tech.1996, 6 (3) :243-250.
基于哈夫曼编码的图像压缩技术研究 篇5
哈夫曼编码在图像压缩应用中具有非常重要的意义, 哈夫曼编码是一种实用的无损压缩技术, 经过多年的不断改进, 已经形成了系统的理论和方法。目前主要有两种类型的哈夫曼编码方式, 即静态哈夫曼编码和动态哈夫曼编码。
图像压缩编码技术可以追溯到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.
图像编码静止图像压缩 篇6
现代社会是信息社会,通过视觉获取的信息占人类获取信息的80%以上,因此,图像成为了信息社会的重要支柱元素[1]。而遥感技术作为人类获取地球信息的主要手段,具有覆盖区域大、持续时间长、成像质量高、不受地理条件影响等特点。在区域规划、资源普查和灾害预防领域都发挥巨大的不可替代的作用[2]。
遥感技术的迅猛发展,产生了海量的遥感图像数据,这些数据对传统的信息传输、存储和处理过程都带来了巨大的挑战。其中,对遥感图像数据进行压缩编码处理是解决这一问题的重要途径[3]。国际上已经出现的高清图像压缩编码标准,如H.264和JPEG2000等,大多针对通用问题,对遥感图像的处理效果还有较大的提升空间。为此,本文提出一种基于小波变换的遥感图像压缩算法,总结遥感图像的高低频系数特征,并据此先验知识来提高算法性能。
1算法原理
1.1小波变换原理
小波分析是20世纪80年代后期发展起来的新兴学科,具有良好的时频伸缩性能,在图像处理、信号分析、量子力学及非线性系统领域具有广泛的应用[4]。在图像压缩处理中,图像中的局部特征,如边缘和纹理等,是人们感兴趣的,而这些也是小波变换所擅长处理的。
对于平方可积空间L2( R) 中的2个函数f,g∈ L2( R) ,定义其内积为:
对于函数 ψ∈L2( R) ,如果其满足容许性条件:
则称 ψ 为一个“基小波”。将 ψ 进行伸缩和平移变换可以得到一个小波族:
函数f∈L2( R) 关于该小波族的连续小波变换定义( CWT) 为:
对小波族中的参数a,b取离散值:
式中,m,n ∈ Z,a0≠0,记 ψm,n( x) = a0-m / 2ψ ( a0-mx - nb0) ,那么函数f ∈ L2( R ) 的离散小波变换( DWT) 为:
1.2小波滤波器的特性
小波变换的快速实现通常由小波滤波器来完成,因此,小波滤波器的选择对遥感图像的压缩编码效果影响很大[5]。要获得较好的压缩编码效果,需要根据待处理的图像来选择小波基,选取时考虑的因素主要有紧支撑性、消失矩、正则性和对称性等。 目前在图像压缩编码领域广泛应用的小波有CDF9/7双正交小波和样条5 /3小波。
图像压缩算法的主要性能指标为压缩质量和压缩时间,对应到算法实现上为小波变换的能量聚集特性和算法复杂度。利用以上2种滤波器处理实际获取的100余幅常见的遥感图像,利用CDF9 /7滤波器处理后,低频子带的能量比约为95%±1%,而利用样条5 /3滤波器处理的低频子带能量约为91%± 2%。显然,CDF9 / 7滤波器比样条5 / 3滤波器具有更好的能量聚集性能。
对于长度为M的一维实信号,如果分析滤波器与综合滤波器的长度分别为L和 ,那么J级DWT所需的浮点数加法运算次数为:
据此可以得到2种滤波器的计算复杂度。其中CDF9 / 7滤波器进行N点运算需要5N次乘法和8N次加法( 低通) ,4N次乘法和6N次加法( 高通) ; 而样条5 /3滤波器需要3N次乘法和4N次加法( 低通) ,1N次乘法和2N次加法( 高通) 。
从以上分析可以看出,5 /3滤波器的运算量较少,但是能量聚集性不高,可用于实时性要求较高的场合,CDF9 /7滤波器的运算量较大,但是能量聚集性较好,可用于实时性要求不高,但对图像质量要求高的场合。
1.3遥感图像小波变换系数的特点
图像压缩编码技术的关键是如何根据小波变换系数的特点,利用各种先验信息和估计信息调整变换系数,使其在有效提高压缩比的同时保留尽可能多的图像信息。这样,在确定编码算法之前,需要先分析图像小波系数的特点,以此指导编码算法。根据理论分析和实验计算,遥感图像的小波变换系数的主要特征包括: 良好的空间局部化特征、方向选择特性、细节信息的统计特性、细节信息的空间聚集性和子带间系数的相似性等[6]。
由于小波变换对于高频子图上的细节信息采用逐渐细化的空间采样步长,对低频模糊信息采用较为稀疏的采样。这样无论是高频或低频系数都反映了原始图像在某个区域上的局部信息,因此小波变换具有较好的空间局部化特征,如图1所示。
小波变换把图像的高频信息划分为3个子带, LH子带主要包含原图像水平方向的高频成分,HL子带主要包含垂直方向的高频信息,而HH子带是图像中对角线方向上高频信息的表征。图2显示了该特性。由于人眼视觉系统对水平和垂直方向上的误差较为敏感,对对角线方向上的误差较不敏感,所以在对高频子带编码时要优先考虑水平和垂直方向[7]。
根据相关理论,图像进行小波变换后各个高频子带分量的灰度统计分布非常相似,基本符合拉普拉斯分布。而且,高频系数具有较小的动态范围,大部分值为零。可以利用系数分布的直方图,设计最优的量化器来对图像进行编码[8]。
小波变换系数中绝对值大于某一阈值T的系数,称为重要系数。这些系数集中了该子带的大部分能量,对图像处理的意义较大。遥感图像经过小波变换后,高频分量的系数大部分都为零,即不重要的。而重要系数大部分都集中在图像的边缘和纹理区域,如图3所示。利用这一特性可以提高压缩算法的性能。
图像的细节分量是对图像的边缘和纹理信息的描述,因此同一级次不同方向上的细节分量存在相似性,同一方向不同级次下的细节分量也存在相似性[9]。根据实验统计,2种情况的相关系数分布为0.93和0.89。
1.4图像压缩编码算法
由上述分析可知,遥感图像经过小波变换后的能量大部分集中在最低频的子带中,并且各子带的能量与其频率成反比关系。在同级的子带中,水平或者竖直方向的细节子带比对角线方向所含的能量高。
本文算法的处理流程如图4所示。
算法步骤如下:
1根据大量遥感图像的统计数据,确定各高频子带小波系数的权重经验值wdkn,其中n表示分解级数,dk表示子带方向。简单处理时可以近似取:
2对最低频子带应用DPCM无损编码方案进行编码,保留最重要的信息。
3根据给定的图像压缩率、各级子带的小波系数统计特性( 最大值、平均值、非零值数量) 和各子带的权重值,为每个子带设置初始门限T,并设定门限增量值dt。
4统计各子带大于门限值T的重要系数数量, 如果大于预期值E,则增加门限值T = T+dt,重新进行统计。
5根据各级子带的最终门限值T和重要系数数量,确定量化值Q。
6对各级子带进行重要系数位置、幅度和正负符号的编码,对非重要系数的区域合并编码。
2实验结果分析
为了验证本文算法的性能,选取100幅遥感图像,利用本文算法和成熟的SPIHT算法分别进行压缩编码。在重构图像的峰值信噪比( PSNR) 相近的情况下,算法运行时间如图5所示。本文算法在相同的压缩比下,所需的运行时间降低了约50%。由此可见,本文算法在相同性能的条件下,运算速度大大优于现有的通用算法。
3结束语
本文研究利用小波变换对遥感图像进行压缩编码的问题。首先分析了不同小波滤波器的性能特点,确定了小波函数的选用原则。然后重点对遥感图像的统计特性进行分析,发现遥感图像具有良好的空间局部化特征、方向选择特性、细节信息的统计特性、细节信息的空间聚集性和子带间系数的相似性等特征,据此设计了算法参数的优选过程,并基于遥感图像的先验知识和小波系数的统计特性设计了图像的快速压缩编码算法。与传统的SPIHT算法相比,本文算法在相同性能的情况下,运算速度提高了1倍。因此,本文算法非常适于遥感图像的实时编码处理,对于现代大数据遥感应用具有重要意义。
摘要:遥感技术在人民生活和社会生产的应用非常广泛。随之而来的海量遥感数据对信息的传输、处理和存储都是巨大的挑战,应对这个问题的重要方法之一就是对图像进行压缩编码处理。提出一种基于小波变换的压缩编码方法,利用遥感图像的先验知识来提高算法的压缩性能和效率。实验结果表明,新算法性能较传统压缩算法提高约1倍。
关键词:遥感图像,小波变换,压缩编码,先验知识,高频系数
参考文献
[1]阮秋琦.数字图像处理[M].北京:电子工业出版社,2011:221-232.
[2]STACY N J,CRAIG D W,STARCOMLYNSKA J,et al.The Global Hawk UAV Australian Deployment Imaging Radar Sensor Modifications and Employment for Maritime Surveillance[J].IEEE IGARSS’02,2002,2:24-28.
[3]MALLAT S G.Multifrequency Channel Decomposition of Images and Wavelet Models[J].IEEE Trans.ICASSP,1989,37(12):2 091-2 110.
[4]DAUBECHIES I.Orthonormal Bases of Compactly Supported Wavelets[J].Comm.Pure and Appl.Math.1988,41:909-969.
[5]SWELDENS W.The Lifting Scheme:a Construction of Second Generation Wavelets[J].SIAM J.Math.Anal,1997,29(2):511-546.
[6]彭媛,崔艳平,高娟.一种新的彩色图像压缩方法[J].无线电通信技术,2013,39(2):87-89.
[7]马文波.基于小波变换的航空遥感图像压缩方法研究与实现[D].北京:北京理工大学,2007.
[8]SHAPRIO J M.Embedded Image Coding Using Zerotree of Wavelet Coefficients[J].IEEE Trans.on Signal Processing,1993,41(12):3 445-3 462.
[9]BILGIN A,SEMENTILLI P,MARCELLIN M.Progressive Image Coding Using Trellis Coded Quantization[J].IEEE Trans.on Image Processing,1999,8(11):1 638-1 643.
[10]何国栋,丁绪星,秦慧平,等.一种新的图像自适应阈值去噪方法[J].无线电通信技术,2014,40(2):60-62.
[11]LAI Y K,JAY K.A Harr Wavelet Approach to Compressed Image Quality Measurement[J].Journal of Visual Communication and Image Representation,2000,11(1):17-40.
图像编码静止图像压缩 篇7
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.
图像编码静止图像压缩 篇8
网格编码量化(TCQ)是基于网格编码调制(TCM),借鉴了TCM的扩展信号空间和子集划分思想的一种量化方法,并且在对无记忆信源的处理中体现出了良好的性能和适中的复杂度,不失为一种优秀的量化算法[1]。然而,由于实际应用中信源具有各自独特的参数及属性,采用经典网格的TCQ算法在处理某些信源,如图像的小波系数时往往不能达到理论上的性能。因此,已有的文献中出现了许多改进网格编码量化性能的方法,如通用网格编码量化(Uniform TCQ,UTCQ),预测网格编码量化(Predictive TCQ,PTCQ),熵受限网格编码量化(Entropy-Constrained TCQ,ECTCQ)等。
在文献[2]中提出了可以通过改变TCQ算法中网格(trellis)的结构来提高算法的量化性能。文献[3]介绍了多级TCQ(Multistage TCQ,MSTCQ)的概念。综合上述两种观点,提出了一种能够利用已经处理的序列对TCQ的网格进行自适应的调整,以提高量化性能的自适应网格编码量化(ADTCQ)算法,并将其应用于JPEG2000图像压缩。
1 TCQ简介
网格编码量化(TCQ)的思想来源于网格编码调制(TCM)。在网格编码调制中,通过集合划分映射理论来达到被调信号点之间的欧氏距离最大,网格编码量化也遵循状编码调制扩展信号空间和集合分割的思想,将R位量化的对应2R阶量化器扩展为2R+1阶。
由于采用扩展的码字空间,TCQ可以被认为是矢量量化(Vector Quantization)的一种最简单的形式。假设要以R比特编码率的TCQ对一个无记忆的均匀信源进行量化,首先通过扩展生成具有2R+1个码字的均匀码书。接着将扩展的量化码书分为4个子集D0,D1,D2,D3,每个子集由2R-1个码字组成,并且按照…D0D1D2D3…的顺序分布,从最小码字到最大码字,如图1所示。
图2给出了基于Ungerboeck结构的四状态TCQ网格图。如图2所示,网格中子集的状态划分必须与由网格路径卷积编码生成的子集号相一致,同时右侧的网格状态也必须与卷积编码的寄存器状态相吻合。假如当前状态是0,如果当前输入是0,则下一个状态仍然为0,同时量化码字从子集D0中选取;如果当前输入是1,则下一个状态为2,量化码字从子集D2中选取,其他情况依次类推。量化器输出的每R比特中,1比特用于确定一条网格中的路径(量化信号所在的子集),余下的R-1比特用于选择子集中的一个码字。
对于给定的数据序列,Viterbi算法(VA)被用来选择输入数据序列的网格路径,使得输入数据序列与输出码字序列的均方误差(MSE)最小。
2 自适应网格编码量化(ADTCQ)
如前文所述,文献[2]在以往的TCQ改进算法仅对量化码书和子集划分做优化的基础上,提出了要对网格结构进行优化的想法,选取了模拟退火算法(Simulated Annealing)对网格进行优化,之后用经过训练得到的网格结构对序列进行量化,量化性能比使用Ungerboeck网格的TCQ算法有明显的提高。由此,提出了一种基于网格结构优化对TCQ进行改进的方法,不过与文献[2]中仍然使用一个固定的网格结构处理所有数据序列不同,本文提出的算法采用的是可变TCQ网格结构,以类似于自适应算术编码中利用已编码的符号概率分布改变符号对应的区间长度的思路,希望TCQ算法能够根据已处理的数据序列(或者是已重构的数据序列)所包含的信息对网格结构做出自适应调整,从而在后续的处理过程中更好地符合数据序列特性,提高量化性能。
然而与可以做到无损变换的算术码不同的是,TCQ是一种有损变换算法,在反量化端无法得到与量化端同样多的信息用来调整网格结构。这个限制导致了如果仅仅使用单级TCQ无法在反量化端对网格结构作出和量化端相同的调整。在这里注意到码率为R比特,采用均匀分布码书的TCQ量化误差可以分为两个部分:一部分是包含2R+1个码字的标量量化码书产生的标量量化误差,一旦码书给定,那么这部分误差也随之确定,可以通过编写复杂码书减小这部分误差;另一部分是利用Viterbi算法寻找幸存路径带来的误差,不妨称之为“网格误差”,其取值范围是码字间距的某些整数倍,如0、±1、±2等。网格误差体现的是所采用的网格与数据序列的“匹配程度”,这部分误差越小说明网格与序列越“匹配”,在相同码书下量化性能越好。
那么,可以利用TCQ的量化误差所包含的信息来控制网格结构的调整。因此,提出了自适应网格编码量化(ADTCQ)算法,它拥有类似于文献[3]中的多级TCQ结构,并且利用第2级TCQ(第1级TCQ的量化误差)调整第1级TCQ的网格结构。具体调节方法如下:
(1) 首先将网格转化为向量形式。任意一个网格都可以由网格中箭头所代表的向量组成。以图2中的网格为例,可以看作由向量(S0,D0,S0),(S1,D2,S0)等8个向量组成,其中Si和Di分别表示某时刻网格所处的状态和对应的量化子集。向量的第一个元素表示当前时刻所处的寄存器状态,第二、第三个元素分别是选择该路径分之后下一时刻所处的寄存器状态和对应量化子集。
(2) 统计量化(反量化)过程中的状态-子集(St,Dt+1),以及子集-子集(Dt,Dt+1)数据,每当Viterbi算法完成一个幸存路径计算后开始调节网格。
(3)对于组成网格的每个向量,以(St,Dt+1)数据为依据,计算转移概率分布,选出该状态下一个数据所属子集的最优、次优选项。
Dnew,1=Di|(St,Di)=max(St,Dj)i,j=0~3
Dnew,2=Di|(St,Di)=max(St,Dj)i,j=0~3
Dj≠Dnew,1
并将新子集与原子集进行比较,若交换两者带来的增益小于某一个阈值ρthre则不进行交换,否则用新子集取代原子集,更新网格向量为(St,Dnew,1(Dnew,2),St+1,1(St+1,2)),其中St+1,1(St+1,2)的值将在步骤(4)确定。
(4) 如果网格向量的前两个元素没有发生改变,则不改变第三个元素St+1,即下一时刻的寄存器状态(或状态图的路径分支);若发生Dt+1改变,则计算对于新的向量(St,Dnew,1(Dnew,2),St+1,1(St+1,2)),各状态作为后续状态St+1的误差期望d(St+1,i):
选取误差期望最小的状态作为新后续状态,得到调整过的网格向量(St,Dnew,1(Dnew,2),St+1,1(St+1,2)),更新网格结构。
(5) 利用修改过的网格进行后续的量化(反量化),在Viterbi算法每完成一个幸存路径计算后重复步骤(2)~(4)。
图3给出了ADTCQ的量化端和反量化端的示意图。量化器的工作流程如下。
首先将码率分配为两部分分别用于两级TCQ的量化:第一部分直接用于对由信源来的数据序列做TCQ量化,如图3中量化器的TCQ模块,得到数据序列x的量化数据序列x′0;第二部分码率用于对残差序列做TCQ量化,如图3中量化器的TCQR(TCQ-on-Residual)模块,得到残差序列e的量化残差序列e′,残差序列e由数据序列x和x′0的本地重构序列比较得到。以量化残差序列e′的本地重构序列作为控制信号参与调节TCQ模块所使用的网格结构。量化器的输出由量化数据序列x′0及量化残差序列e′组合而成。
反量化器的工作流程与量化器类似。
首先将反量化器的输入拆分为量化数据序列x′0及量化残差序列e′,分别对其进行TCQ反量化得到重构数据序列
3 实验结果
表1给出了不同量化方法在图像压缩中的PSNR性能,分别是JPEG2000采用四子集四状态网格编码量化(TCQ)及JPEG2000采用自适应网格编码量化(ADTCQ)对下列测试图像进行了压缩:Baboon(512×512),Barbara(512×512),Boat(512×512),Flower(512×512),Jet(512×512),Lena(512×512),Peppers(512×512),以及Reagan(512×512)。
图4给出了原始测试图像FLOWER以及比特率为0.2bpp时采用四子集四状态TCQ和ADTCQ的重构图像,可以明显看出采用了自适应网格编码量化的重构图像在主管图像质量上也优于网格编码量化的重构图像,采用ADTCQ的重构图像要更加接近原始图像。
以上实验结果均是基于JPEG2000编解码器Jasper software,版本号:1.900.1。TCQ和ADTCQ均采用了四子集四状态网格,其余的相关参数均采用了Jasper的默认参数:如图像分块大小为64×64像素,对图像进行离散小波变换(DWT)采用了五级分解(六个分辨率等级)以及双正交的9/7小波滤波器。
此外,还对采用四子集八状态网格的TCQ算法及ADTCQ算法的性能进行了分析。与四子集四状态ADTCQ算法相比,四子集八状态ADTCQ算法对于同等条件TCQ算法带来的PSNR增益要小于四子集四状态下的增益。
从实验结果不难看出在对图像进行JPEG2000压缩时,本文提出的自适应网格编码量化算法(ADTCQ),几乎在所有比特率下都获得了优于标准TCQ的PSNR性能。相对于标准TCQ,本文的算法在不同的比特率下性能提高了0.02dB到2.2dB。
4 结束语
本文提出了一种能够根据已处理数据序列自适应地调节网格结构的网格编码量化算法——自适应网格编码量化(ADTCQ),并且给出了该算法在JPEG2000图像压缩应用中的一些示例。从实验结果可以很直观发现,本文提出的算法比标准TCQ算法的量化性能有了很明显的提高。
摘要:提出了一种对网格编码量化(TCQ)算法进行改进的方法—自适应网格编码量化算法(ADTCQ),并将其应用于JPEG2000图像压缩。自适应网格编码量化算法(ADTCQ)采用了多级TCQ的结构,并且通过利用已处理的数据对网格结构做出自适应调整。实验结果显示,应用于图像压缩时自适应网格编码量化(ADTCQ)算法的性能要明显优于标准TCQ算法。
关键词:自适应网格编码量化,多级TCQ,图像压缩,JPEG2000
参考文献
[1]Marcellin MW,Fischer TR.Trellis Coded Quantization of Memo-ryless and Gauss-Markov Sources[J].IEEE Transactions on Com-munications,Jan.1990,38(1):82-93.
[2]Kuruoglu E E,Ayanoglu E.The Design of Finite-State machines for Quantization Using Simulated Annealing[J].DIMACS Series in Dis-crete Mathematics and Theoretical Computer Science,1993,14.
[3]Aksu A,Salehi M.Multistage trellis coded quantization(MS-TCQ)de-sign and performance[J].IEE Proc.Commun.,Apr.1997,144(2).
[4]Marcellin M W,Lepley M A,Bilgin A,et al.An Overview of Quantization in JPEG2000[J].Signal Process.:Image Com-mun.,Jan.2002,17(1):73-84.
[5]Samuel.S.Cheng,Zixiang Xiong and Jian Qiao Huang.Trellis co-ded color quantization of images[J].International Conference on Image Processing,Oct.1999,4:310-313.
相关文章:
骨折图像01-07
图像参数01-07
图像旋转01-07
化学图像01-07
图像融合01-07
学校常态化安全教育01-07
文明生产工作要常态化01-07
矿井生产本质安全化论文01-07
安全精益化管理01-07
基于图像SIFT特征的图像检索方法01-07