导航:首页 > 文件处理 > 算术编码是失真的图像压缩编码

算术编码是失真的图像压缩编码

发布时间:2022-04-11 20:19:47

A. 请问有关\"手机中的图像压缩技术\"这个题目,谁有资料可以告诉我一下么谢谢!

近年来,随着新型传感技术的发展,遥感影像的时间、空间和光谱分辨率不断提高,随着航天遥感技术的迅速发展,相应的数据规模呈几何级数增长。遥感数据量日益庞大,有限的信道容量与传输大量遥感数据的需求之间的矛盾日益突出给数据的传输和存储带来了极大的困难。数据压缩技术作为解决这一问题的有效途径,在遥感领域越来越受到重视,尤其对于遥感图象数据来说。一般说来,图象分辨率越高,相邻采样点的相关性越高,数据水分也越大。对遥感数据进行压缩,有利于节省通信信道,提高信息的传输速率;数据压缩之后有利于实现保密通讯,提高系统的整体可靠性。

一般地,图像压缩技术可分为两大类:无损压缩技术和有损(率失真)压缩技术。无损压缩利用数据的统计冗余进行压缩,可完全恢复原始数据而不引入任何失真,但压缩率受到数据统计冗余度的理论限制,一般为2:1到5:1。这类方法广泛用于文本数据、程序和特殊应用场合的图像数据(如指纹图像、医学图像等)的压缩。由于压缩比的限制,仅使用无损压缩方法不可能解决图像和数字视频的存储和传输问题。有损压缩方法利用了人类视觉对图像中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响较小,却换来了大得多的压缩比。有损压缩广泛应用于语音、图像和视频数据的压缩。在多媒体应用中常用的压缩方法有;PCM(脉冲编码调制)、预测编码、变换编码(主成分变换或K-L变换、离散余弦变换MT等)、插值和外推法(空域亚采样、时域亚采样、自适应)、统计编码(Huffman编码、算术编码、Shannon-Fano编码、行程编码等)、矢量量化和子带编码等;混合编码是近年来广泛采用的方法。新一代的数据压缩方法,如基于模型的压缩方法、分形压缩和小波变换方法等也己经接近实用化水平。

在遥感信息处理领域,根据信息处理的阶段性,遥感图像压缩又可分为星上无损压缩、星上有损压缩和地面遥感数据压缩。为了最大限度地保持遥感传感器所获取的目标信息,星上压缩一般采用无损压缩方法。但当信息量大到无损压缩难以满足要求时,也考虑失真量较小的有损压缩,即高保真压缩方法。同时,为了适应遥感数据采样率较高的特点,星上压缩的实时性要求较高,因而要求压缩方法计算简单,硬件复杂度低。

二.目前数据压缩方法标准概述

经常使用的无损压缩方法有Shannon-Fano编码法、Huffman编码法、游程(Run-length)编码法、LZW编码法(Lempel-Ziv-Welch)和算术编码法等。

数据压缩研究中应注意的问题是,首先,编码方法必须能用计算机或VLSI硬件电路高速实现;其次,要符合当前的国际标准。

下面介绍三种流行的数据压缩国际标准。

1、JPEG-静止图像压缩标准

这是一个适用于彩色和单色多灰度或连续色调静止数字图像的压缩标准。它包括基于DPCM(差分脉冲编码调制、DCT(离散余弦变换)和Huffman编码的有损压缩算法两个部分。前者不会产生失真,但压缩此很小;后一种算法进行图像压缩是信息虽有损失但压缩比可以很大。 JPEG标准实际上有三个范畴:

1)基本顺序过程Baseline Sequential processes) 实现有损图像压缩,重建图像质量达到人眼难以观察出来的要求。采用的是8x8像素自适应DCT算法、量化及Huffman型的墒编码器。

2)基于DCT的扩展过程(Extended DCT Based Process) 使用累进工作方式,采用自适应算术编码过程。

3)无失真过程(Losslesss Process)采用预测编码及Huffman编码(或算术编码),可保证重建图像数据与原始图像数据完全相同。

其中JPEG有以下五种方法:

(l)JPEG算法

基本JPEG算法操作可分成以下三个步骤:通过离散余弦变换(DCT)去除数据冗余;使用量化表对以DCT系数进行量化,量化表是根据人类视觉系统和压缩图像类型的特点进行优化的量化系数矩阵;对量化后的DCT系数进行编码使其熵达到最小,熵编码采用Huffman可变字长编码。(2)离散余弦变换(3)量 化

(4)游程编码(5)熵编码

2、MPEG-运动图像压缩编码

MPEG(Moving Pictures Experts Group)标准分成两个阶段:第一个阶段(MPEG-I)是针对传输速率为 lMb/s到l.5Mb/s的普通电视质量的视频信号的压缩;第二个阶段(MPEG-2)目标则是对每秒30帧的720x572分辨率的视频信号进行压缩;在扩展模式下,MPEG-2可以对分辨率达1440Xl152高清晰度电视(HDTV)的信号进行压缩。但是MPEG压缩算法复杂、计算量大,其实现一般要专门的硬件支持。

MPEG视频压缩算法中包含两种基本技术:一种是基于l6x16子块的运动补偿技术,用来减少帧序列的时域冗余;另一种是基于DCT的压缩,用于减少帧序列的空域冗余,在帧内压缩及帧间预测中均使用了DCT变换。运动补偿算法是当前视频图像压缩技术中使用最普遍的方法之一。

3、 H.261-视频通信编码标准

电视电话/会议电视的建议标准H.261常称为Px64K标准,其中P是取值为 1到30的可变参数;P=l或2时支持四分之一中间格式(QCIF:Quarter Cmmon Intermedia Format)的帧率较低的视频电话传输;P>=6时支持通用中间格式(CIF:Common Intermediate Format)的帧率较高的电视会议数据传输。Px64K视频压缩算法也是一种混合编码方案。

三.遥感影像数据压缩的有效方法――小波压缩

1.针对高分辨率遥感影像,采用先进的图象压缩技术,实现对遥感影像的高保真快速压缩,以解决大规模影像的传输和存储问题。近年来,随着新型传感技术的发展,遥感影像的时间、空间和光谱分辨率不断提高,相应的数据规模呈几何级数增长,给数据的传输和存储带来了极大的困难。一般说来,图象分辨率越高,相邻采样点的相关性越高,数据水分也越大。对遥感数据进行压缩,有利于节省通信信道,提高信息的传输速率;数据压缩之后有利于实现保密通讯,提高系统的整体可靠性随着INTERNET连到千家万户,遥感图象正在逐渐成为信息传递的重要媒介。目前大多使用小波压缩处理遥感图像数据。

2 小波分析基本理论及其在图像压缩中的应用

与傅里叶变换相似,小波变换是一种同时具有时—频二维分辨率的变换。其优于傅氏变换之处在于它具有时域和频域“变焦距”特性,十分有利于信号的精细分析。第一个正交小波基是Harr于1910年构造的;但Harr小波基是不连续的。到80年代,Meyer, Daubechies等人从尺度函数的角度出发构造出了连续正交小波基。1989年,Mallat等人在前人大量工作的基础上提出多尺度分析的概念和基于多尺度分析的小波基构造方法,将小波正交基的构造纳入统一的框架之中,使小波分析成为一种实用的信号分析工具。
该方法先对遥感图像进行小波分解,然后以纹理复杂程度作为区域重要性度量,通过对纹理复杂的重要区域进行标量编码来保证恢复图像的质量,通过对平坦区(即不重要区)进行矢量编码来提高压缩比。实验结果表明该方法具有压缩率较高,图像恢复质量好,速度快等优点,十分适合遥感数据的高保真压缩。

小波变换在压缩中提供了如下优点:(1) 多尺度分解提供了不同尺度下图像的信息,并且变换后的能量大部分集中在低频部分,方便了我们对不同尺度下的小波系数分别设计量化编码方案,在提高图像压缩比的情况下保持好的视觉效果和较高的PSNR。(2) 小波分解和重构算法是循环使用的,易于硬件实现.

JPEG的8×8分块压缩方法压缩纹理复杂的块时恢复误差较大,具有比较明显的方块效应,而基于小波变换的图像压缩方法较好地克服了方块效应的影响。通过对不同区域采用不同编码方法,可以较好地保持原图的纹理信息,并达到较高的压缩比.

3. 自适应标量、矢量混合量化编码方案

基于小波分解的图像压缩方法的一个重要因素是量化方案的选择。一般说来,量化方法分为标量量化和矢量量化两种。近年来,人们开始研究将标量、矢量量化相结合的方法,以同时获取较高的压缩比、恢复质量和时间性能,这是图像压缩技术的一个重要发展方向。
标量量化的关键是去相关和编码。目前主要的去相关技术是预测方法,如DPCM预测;而编码仍以熵编码为主。标量量化的特点是可保持较高的图像恢复质量,但压缩率一般较低。目前最有效的基于小波分解的矢量量化方法有法国M. Barlaud等人提出的PLVQ塔式格型矢量量化方法和美国J. M. Shapiro提出的EZW方法。这两种方法编码效率较高,但计算非常复杂,不能适用于实时性要求较高的场合。
本文提出的编码方案对图像小波细节子图划分为4×4的块,采用块内的方差作为块的纹理复杂度和重要性度量,对纹理复杂的重要块用较多的位进行编码,而对于较平坦的区域用较少的位进行编码。这实际上相当于将各块的元素组成一个矢量,对不重要的子块采用矢量编码方案,而对重要子块采用标量编码,使得各子块的恢复误差大致平衡。
本压缩方法的具体步骤如下。
(1) 对图像进行3层小波分解,对LL3子图进行熵编码,对HH1不编码(解码时以0填充)。
(2) 把小波分解图的其它各细节子图按4×4块划分,设定阈值0<T0<T1<T2。将方差小于T0的块划分为平坦区;方差大于T0小于T1的块划分为次平坦区;方差大于T1小于T2的块划分为次纹理区;方差大于T2的块划分为纹理区。
(3) 按各块在图中的位置进行块的类别编码。由于块的类别数为4,采用两位编码。对不同类别的块采用下述编码方案:
● 对于平坦区,假设其均值为0,可认为块中所有元素均为0;
● 对于次平坦区,用1位表示整个块的均值,对于块中每个元素再各用1位进行编码,即块中大于均值的元素对应码号为1,否则对应码号为0;
● 对于次纹理区,用2位表示整个块的均值,对于块中每个元素再各用2位进行编码,把块中各元素值对应到0—3这4个码号上去;
● 对于纹理区,用6位表示整个块的均值,用6位表示块内方差,对块中每个元素再各用5位进行编码,把块中各元素值对应到0—31这32个码号上去。
(4) 对上述结果进行算术编码。
上述算法对于原图4×4块的128位数据,平坦区只用2位编码,次平坦区用19位编码,次纹理区用36位编码,纹理区用2+16×5+6+6=94位编码。

四. 算法关键问题

4.1 小波基的选取

多尺度分析中小波基的选择注意5个方面的因素。我们选择了4组小波基对应的二次镜面滤波器(QMF)研究它们的性质: (1) Battle和Lemarie的27-系数滤波器(简称B-L小波);(2) I. Daubechies的4-系数滤波器(简称D-4小波);(3) I. Daubechies的20-系数滤波器(简称D-20小波);(4) Antonini的一组双正交小波基对应的滤波器。
(1) 正交性。用正交小波基由多尺度分解得到的各子带数据分别落在相互正交的L2(R2)的子空间中,使各子带数据相关性减小。但能准确重建的、正交的、线性相位、有限冲击响应滤波器组是不存在的,此时一般放宽正交性条件为双正交。
(2) 支撑集。为了得到有限长度的滤波器组h(n),g(n);避免滤波过程中的截断误差,要求小波基是紧支集的。

(3) 对称性。对称滤波器组具有两个优点:(1)人类的视觉系统对边缘附近对称的量化误差较非对称误差更不敏感;(2)对称滤波器组具有线性相位特性,对图像边缘作对称边界扩展时,重构图像边缘部分失真较小,有利于复杂特性的分析(如序列目标检测和分类)〔9〕。

(4) 规则性(Regularity)。

(5) 消失矩阶数。

可见,本系统采用的双正交小波基具有良好的性能。

4.2 阈值的选取

本方法的一个关键因素是3个阈值T0,T1和T2的选取。直观地说,3个阈值越大,压缩比越高,而图像恢复质量越差。另外,根据人类的视觉生理、心理特点以及实验结果,不同级别的小波分解系数所含的能量是不同的,因而在图像重构时其重要性也有差异,应区别对待。级别越高,小波系数所含能量越大,量化应越精细。在矢量编码方案中,一般采取级别高的小波子图矢量维数低就是这个道理。通过对不同级别的子图采用不同的阈值可以实现对不同级别子图的区别对待,即级别越高,阈值越小。
进一步,上述3个阈值的选取有两条途径: 一是由用户根据需要交互地给出,而由系统给出一个较优的缺省值。通过对图遥感图像进行实验可以获得各阈值与压缩系统性能指标PSNR和CR(峰值信噪比和压缩比)的关系。

另一种方法是通过对小波分解子图进行统计分析后自适应获得,由前面的讨论我们认为这是不必要的,理由有二: (1) 不同阈值的选取以及同一设定对不同图像造成的压缩性能影响不太大;(2) 自适应选取方法时间性能大大降低,不适合于实时性要求较高的场合。

4.3 算法的实时性问题

目前小波分解已经有快速算法,并可用硬件实现,使研制基于小波分解的实时图像压缩技术成为可能,这对于星上数据压缩具有十分重要的意义。为了提高编码过程的速度,我们没有采用一般用于度量数据能量的方差指标,而代之以4×4子块的块内数据变化范围(即最大最小值之差),从而减少了一次对块中所有元素的扫描,且避免了求方差时的乘法运算,只需作16次浮点数比较(即减法)操作,缩短了编码时间,而图像恢复质量基本没有下降。
另外,对于多波段遥感数据,我们先对它们进行K-L变换,然后对各K-L变换子图使用上述方法进行压缩,效果良好。

4.4 实验结果分析

以上方法在保持较高的保真度情况下压缩比远高于无损压缩,而压缩比和PSNR值均优于JPEG方法。显然,在性能基本不变的情况下,使用变化范围的方法速度要快约40%。该方法在多波段遥感数据的高保真压缩方面也具有良好的效果。

五.图象压缩方法比较:

与现有的彩色序列图象压缩与解压算法相比,我们的算法有了很大的改进。根据遥感图像局部相关性较弱、纹理复杂丰富的特点,提出了基于小波分析理论的自适应标量、矢量混合量化压缩方法。该方法根据遥感图像小波变换后高频子图的局部块纹理强弱将这些块划分为4类,对平坦块进行高倍压缩,对纹理块进行高保真压缩,使各块的恢复误差大致平衡。其主要特点是避免了矢量编码过程中的码书训练和码书搜索,因而时间性能好,并且对单幅图像的压缩比和峰值信噪比(PSNR)优于JPEG方法。此方法与K-L变换去波段相关技术相结合,应用于多波段遥感图像压缩领域,收到了良好的效果。

B. 算术编码的介绍

算术编码,是图像压缩的主要算法之一。 是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0 ≤ n &lt; 1.0)的小数n。

C. 图像压缩编码方法有哪几类

总的来说可以分为:有损编码、无损编码或者分为变换编码、统计编码。
有损编码
有损编码又称为不可逆编码,是指对图像进行有损压缩,致使解码重新构造的图像与原始图像存在一定的失真,即丢失了了部分信息。由于允许一定的失真,这类方法能够达到较高的压缩比。有损压缩多用于数字电视、静止图像通信等领域。
无损编码
无损压缩又称可逆编码,是指解压后的还原图像与原始图像完全相同,没有任何信息的损失。这类方法能够获得较高的图像质量,但所能达到的压缩比不高,常用于工业检测、医学图像、存档图像等领域的图像压缩中[15]。
预测编码
预测编码是利用图像信号在局部空间和时间范围内的高度相关性,以已经传出的近邻像素值作为参考,预测当前像素值,然后量化、编码预测误差。预测编码广泛应用于运动图像、视频编码如数字电视、视频电话中[ ]。
变换编码
变换编码是将空域中描述的图像数据经过某种正交变换(如离散傅里叶变换DFT、离散余弦变换DCT、离散小波变换DWT等)转换到另一个变换域(频率域)中进行描述,变换后的结果是一批变换系数,然后对这些变换系数进行编码处理,从而达到压缩图像数据的目的。
统计编码
统计编码也称为熵编码,它是一类根据信息熵原理进行的信息保持型变字长编码。编码时对出现概率高的事件(被编码的符号)用短码表示,对出现概率低的事件用长码表示。在目前图像编码国际标准中,常见的熵编码方法有哈夫曼(Huffman)编码和算术编码。

D. 3级计算机网络问题,高手进

分辨率1024*768的真彩色图像,像素分辨率为32bit,如果以每秒25帧动态显示,则需要的通信带宽约为()
A.1.544Mbps B.2.048Mbps C.630Mbps D.184Mbps

本题答案:C.630Mbps

这是计算机常识,不需要高手解决的

讲解及分析: 只要计算下每秒传输数据量即可,假设为K

则 K = (1024 x 768 x 25 x 32)/(2的20次方)
= (768 x 25 x 32) /1024
= 600Mb (注意单位是Mb,若单位为MB,则需用600除以8)

这样的数据传输要求是非常高的,对存储和传输介质都提出了相当大的挑战,在实际传输中我们一般对数据进行压缩,消除数据冗余。

例如,存数一副中等分辨率(640x480)的真彩色(224色)图像大约需0.9MB(640x480x24/8)存储空间,若要达到每秒25帧的全动态显示,每秒所需存储容量约为22.5MB,一张600MB的光盘也只能存放约27秒的图像数据,这就要求必须对图像数据进行压缩。所谓图像压缩,就是以一定的图像失真为代价,按照某种方法从给定的图像信息中推出简化的数据表达的过程,从而达到减少数据量的目的。由于原始图像信息存在很大冗余度,而一定范围内的图像失真人的眼睛是觉察不出的,这就是的图像数据能够得以压缩。常见的图像压缩算法有预测编码、哈夫曼(Huffman)编码、算术编码、游程编码、Lempel-Zev编码、离散余弦变换编码、离散K-L变换编码、小波变换编码等。现行图像压缩标准,如H.261、JPEG、MPEG一般都是多种方法的混合使用,压缩比可达几倍、几十倍乃至几百倍,为了得到更高的压缩比,除了继续发掘一些经典方法的潜力外,人们也在研究新一代压缩方法,如分析-合成编码ASC(Analysis-Synthesis Coding)、分形编码(Fractal Coding)等。

我国浙江大学和清华大学在该领域的科研实力不错,有兴趣的同学可以报考该方面的研究生,为我国计算机事业多做贡献;

吴文俊院士、孙家广院士、石青云院士、鲍虎军研究员等都是国内从事该方面研究的顶级专家

E. 什么是信源在允许一定失真的条件下,信源熵所能压缩的极限

1.统计编码原理──信息量和信息熵

根据香农信息论的原理,最佳的数据压缩方法的理论极限是信息熵。如果要求在编码过程中不丢失信息量,即要求保存信息熵,这种信息保持的编码又叫熵保存编码,或叫熵编码。熵编码是无失真压缩。当然在考虑人眼失真不易察觉的生理特性时,有些图像编码不严格要求熵保存,信息允许通过部分损失来换取高的数据压缩比。这种编码属于有失真数据压缩。
信息是用不确定性的量度定义的,也就是说信息被假设为由一系列的随机变量所代表,它们往往用随机出现的符号来表示。我们称输出这些符号的源为“信源”。也就是要进行研究与压缩的对象。 信息量

信息量指从N个相等可能事件中选出一个事件所需要的信息度量或含量,也可以说是辨别N个事件中特定事件过程中所需提问“是”或“否”的最小次数。
例如:从64个数(1~64的整数)中选定某一个数(采用折半查找算法),提问:“是否大于32?”,则不论回答是与否,都消去半数的可能事件,如此下去,只要问6次这类问题,就可以从64个数中选定一个数,则所需的信息量是 =6(bit)。 我们现在可以换一种方式定义信息量,也就是信息论中信息量的定义。
设从N中选定任一个数X的概率为P(x),假定任选一个数的概率都相等,即P(x)=1/N,则信息量I (x)可定义为:

上式可随对数所用“底”的不同而取不同的值,因而其单位也就不同。设底取大于1的整数α,考虑一般物理器件的二态性,通常α取2,相应的信息量单位为比特(bit);当α=e,相应的信息量单位为奈特(Nat);当α=10,相应的信息量单位为哈特(Hart)。显然,当随机事件x发生的先验概率P(x)大时,算出的I(x)小,那么这个事件发生的可能性大,不确定性小,事件一旦发生后提供的信息量也少。必然事件的P(x)等于1, I(x)等于0,所以必然事件的消息报导,不含任何信息量;但是一件人们都没有估计到的事件(P(x)极小),一旦发生后,I(x)大,包含的信息量很大。所以随机事件的先验概率,与事件发生后所产生的信息量,有密切关系。I(x)称x发生后的自信息量,它也是一个随机变量。
P(x)大时,算出的I(x)小 必然事件的P(x)等于1, I(x)等于0。
P(x)小时,算出的I(x)大 必然事件的P(x)等于0, I(x)等于1。
I(x)称x发生后的自信息量,它也是一个随机变量。
信息熵

现在可以给“熵”下个定义了。信息量计算的是一个信源的某一个事件(X)的自信息量,而一个信源若由n个随机事件组成,n个随机事件的平均信息量就定义为熵(Entropy)。
熵的准确定义是:信源X发出的xj(j=1,2,……n), 共n个随机事件的自信息统计平均(求数学期望),即

H(X)在信息论中称为信源X的“熵 (Entropy)” ,它的含义是信源X发出任意一个随机变量的平均信息量。

更详细的说,一般在解释和理解信息熵有4种样式
(1) 当处于事件发生之前,H(X)是不确定性的度量;
(2) 当处于事件发生之时,是一种惊奇性的度量;
(3) 当处于事件发生之后,是获得信息的度量;
(4) 还可以理解为是事件随机性的度量. 下面为了掌握信息熵的概念,我们来做一道计算题。
例如:以信源X中有8个随机事件,即n=8。每一个随机事件的概率都相等,即P(x1)=P(x2)=P(x3)……P(x8)=1/8 ,计算信源X的熵。
应用“熵”的定义可得其平均信息量为3比特

再例: 信源X中有17个随机事件,即n=17。每一个随机事件的概率分别为:

计算信源X的熵。
信息熵的计算公式:

信源X的熵:

定长码与变长码
定长码(fixed-length code)即采用相同的位数(bit)对数据进行编码。大多数存储数字信息的编码系统都采用定长码。如我们常用的ASCII码就是定长码,其码长为1字节(Byte)。汉字国标码也是定长码,其码长为2字节(Byte)。变长码(variable-length code)即采用不相同的位数(bit)对数据进行编码,以节省存储空间。例如,不同的字符或汉字出现的概率是不同的,有的字符出现的概率非常高,有的则非常低。根据统计,英文字母中“E”的使用概率约为13%,而字母“Z”的使用概率则为0.08%。又如大多数图像常含有单色的大面积图块,而且某些颜色比其他颜色出现更频繁。为了节省空间,在对数据进行编码时,就有可能对那些经常出现的数据指定较少的位数表示,而那些不常出现的数据指定较多的位数表示。这样从总的效果看还是节省了存储空间。用这种方法得到的代码,其码的位数,也即码长就是不固定的,故称为变长码。香农-范诺编码,以及霍夫曼编码,都是变长码。
2.赫夫曼(Huffman)编码基本原理:按信源符号出现的概率大小进行排序,出现概率大的分配短码,出现概率小的则分配长码。(定长码采用相同的码长对数据进行编码,如ASCII码是定长码,其码长为1字节。)
定理:在变长码中,对于出现概率在的信息符号编以短字长的码,对于出现概率小的信息符号以长字长的码,如果码字长度严格按照符号概率的大小的相反顺序排列,则平均码字长度一定小于按任何其他符号顺序排列方式得到的码字长度。
定理证明

设最佳排列方式的码字平均长度为 ,则有:

式中 为信源符号 出现的概率, 是符号 的编码长度。规定 , 。如果将 的码字与 的码字互换,其余码字不变,经过这样的互换以后,平均码字长度变成 ,即

因为 ,所以 ,也就是说 最短。证毕。
Huffman编码的编码步骤

① 概率统计(如对一幅图像,或m幅同种类型图像作灰度信号统计),得到n个不同概率的信息符号。
② 将n个信源信息符号的n个概率,按概率大小排序。
③ 将n个概率中,最后两个小概率相加,这时概率个数减为n-1个。
④ 将n-1个概率,按大小重新排序。
⑤ 重复③,将新排序后的最后两个小概率再相加,相加和与其余概率再排序。
⑥ 如此反复重复n-2次,得到只剩两个概率序列。
⑦ 以二进制码元(0.1)赋值,构成霍夫曼码字。编码结束。

利用Huffman编码方式对信源进行编码

已知信源:
编码结果:平均码长: =(0.35+0.20)×2+(0.15+0.10+0.10)×3+(0.06+0.04)×4=2.55(bit)(对于等长码则需要3比特)。

Huffman编码的特点

(1)平均码长 (熵);
(2)平均码长 bits(等长码需要的比特数);
(3)保证解码的唯一性,短码字不构成长码字的前缀;
(4)在接收端需保存一个与发送端相同的赫夫曼码表。 Huffman不足方面:(1)构造出的码不唯一,其原因是:一是在给两个分支赋值时,可以是左支(或上支)为0,也可以是右支(或下支)为0,造成编码的不唯一;二是当两个消息的概率相等时,谁前谁后也是随机的,构造出来的码字也不唯一。
(2)编码码字字长参差不齐,因此硬件实现起来不大方便。
(3)编码对不同信编码效率是不同的。在概率颁很不均匀时,Huffman编码才会有显着的效果,在信源颁均匀的情况下,一般不使用Huffman编码。
3.算术编码(Arithmetic Coding)算术编码方法也是利用信源概率分布特性、能够趋近熵极限的编码的方法。算术编码不按符号编码,即不是用一个特定的码字与输入符号之间建立一一对应的关系,而是从整个符号序列出发,采用递推形式进行连续编码,用一个单独的浮点数来表示一串输入符号。算术编码是将被编码的信息表示成实数0和1之间的一个间隔。信息越长编码表示它的间隙就越小,表示这一间隙所须二进位就越多,大概率符号出现的概率越大对应于区间愈宽,可用长度较短的码字表示;小概率符号出现概率越小层间愈窄,需要较长码字表示。它的编码方法比Huffman编码方式要复杂,但它不需要传送像Huffman编码中的Huffman码表,同时算术编码还有自适应的优点,所以算术编码是实现高效压缩数据中很有前途的编码方法。特点:方法比较复杂,具有自适应能力(随着编码符号流中01出现的概率的变化将自适应的改变)。在信源符号概率接近时,算术编码比Huffman编码效率要高。 算术编码与解码举例

假设信源符号为{00, 01, 10, 11},这些符号的概率分别为{ 0.1, 0.4, 0.2, 0.3 },根据这些概率可把间隔[0,1)分成4个子间隔:[0, 0.1), [0.1, 0.5), [0.5, 0.7), [0.7, 1),其中[x,y)表示半开放间隔,即包含x不包含y。上面的信息可综合在下表中。 表 信源符号,概率和初始编码间隔 符号00011011概率0.10.40.20.3初始编码间隔[0,0.1)[0.1,0.5)[0.5,0.7)[0.7,1)
如果二进制消息序列的输入为:10 00 11 00 10 11 01。编码时首先输入的符号是10,找到它的编码范围是[0.5, 0.7)。由于消息中第二个符号00的编码范围是[0, 0.1),因此它的间隔就取[0.5, 0.7)的第一个十分之一作为新间隔[0.5, 0.52)。依此类推,编码第3个符号11时取新间隔为[0.514, 0.52),编码第4个符号00时,取新间隔为[0.514, 0.5146),… 。消息的编码输出可以是最后一个间隔中的任意数。整个编码过程如下图示:
表: 编码过程步骤 输入符号编码间隔 编码判决110[0.5, 0.7)符号的间隔范围[0.5, 0.7) 200[0.5, 0.52)[0.5, 0.7)间隔的第一个1/10311[0.514, 0.52)[0.5, 0.52)间隔的最后三个1/10400[0.514, 0.5146)[0.514, 0.52)间隔的第一个1/10510[0.5143, 0.51442)[0.514, 0.5146)间隔的第六个1/10开始的两个1/10611[0.514384, 0.51442)[0.5143, 0.51442)间隔的最后三个1/10701[0.5143836, 0.514402)[0.514384, 0.51442)间隔的从第二个1/10开始的四个1/108从[0.5143876, 0.514402中选择一个数作为输出:0.51439
表:译码过程步骤间隔译码符号 译码判决 1[0.5, 0.7)100.51439在间隔 [0, 1) 第六个1/102[0.5, 0.52)000.51439在间隔 [0.5, 0.7)的第一个1/103[0.514, 0.52)110.51439在间隔[0.5, 0.52)的第八个1/104[0.514, 0.5146)000.51439在间隔[0.514, 0.52)的第一个1/105[0.5143, 0.51442)100.51439在间隔[0.514, 0.5146)的第七个1/106[0.514384, 0.51442)110.51439在间隔[0.5143, 0.51442)的第八个1/107[0.5143876, 0.514402)010.51439在间隔[0.5143876, 0.514402)的第二个1/108译码的消息:10 00 11 00 10 11 01译码器的译码过程应无限制地运行下去。在译码器中需要添加一个专门的终止符,当译码器看到终止符时就停止译码。在算术编码中需要注意的几个问题:
①由于实际的计算机的精度不可能无限长,运算中出现溢出是一个明显的问题,但多数机器都有16位、32位或者64位的精度,因此这个问题可使用比例缩放方法解决。
②算术编码器对整个消息只产生一个码字,这个码字是在间隔[0, 1)中的一个实数,因此译码器在接受到表示这个实数的所有位之前不能进行译码。
③算术编码也是一种对错误很敏感的编码方法,如果有一位发生错误就会导致整个消息译错。

算术编码可以是静态的或者自适应的。在静态算术编码中,信源符号的概率是固定的。在自适应算术编码中,信源符号的概率根据编码时符号出现的频繁程度动态地进行修改,在编码期间估算信源符号概率的过程叫做建模。需要开发自适应算术编码的原因是因为事先知道精确的信源概率是很难的,而且是不切实际的。当压缩消息时,不能期待一个算术编码器获得最大的效率,所能做的最有效的方法是在编码过程中估算概率。因此动态建模就成为确定编码器压缩效率的关键。
算术编码的实现相应地比Huffman编码复杂,但当与信号源符号的出现概率接近时,算术编码的效率高于Huffman编码。在图像测试中表明,算术编码效率比Huffman效率高5%左右。

F. 多媒体数据压缩算术研究 论文笔记

多媒体图像压缩技术
姓名:Vencent Lee
摘要:多媒体数据压缩技术是现代网络发展的关键性技术之一。由于图像和声音信号中存在各种各样的冗余,为数据压缩提供了可能。数据压缩技术有无损压和有损压缩两大类,这些压缩技术又各有不同的标准。
一、多媒体数据压缩技术
仙农(C.E.Shannon)在创立信息论时,提出把数据看作是信息和冗余度的组合。早期的数据压缩之所以成为信息论的一部分是因为它涉及冗余度问题。而数据之所以能够被压缩是因为其中存在各种各样的冗余;其中有时间冗余性、空间冗余性、信息熵冗余、先验知识冗余、其它冗余等。时间冗余是语音和序列图像中常见的冗余,运动图像中前后两帧间就存在很强的相关性,利用帧间运动补兴就可以将图像数据的速率大大压缩。语音也是这样。尤其是浊音段,在相当长的时间内(几到几十毫秒)语音信号都表现出很强的周期性,可以利用线性预测的方法得到较高的压缩比。空间冗余是用来表示图像数据中存在的某种空间上的规则性,如大面积的均匀背景中就有很大的空间冗余性。信息熵冗余是指在信源的符号表示过程中由于未遵循信息论意义下最优编码而造成的冗余性,这种冗余性可以通过熵编码来进行压缩,经常使用的如Huff-man编码。先验知识冗余是指数据的理解与先验知识有相当大的关系,如当收信方知道一个单词的前几个字母为administrato时,立刻就可以猜到最后一个字母为r,那么在这种情况下,最后一个字母就不带任何信息量了,这就是一种先验知识冗余。其它冗余是指那些主观无法感受到的信息等带来的冗余。
通常数据压缩技术可分为无损压缩(又叫冗余压缩)和有损压缩(又叫熵压缩)两大类。无损压缩就是把数据中的冗余去掉或减少,但这些冗余量是可以重新插入到数据中的,因而不会产生失真。该方法一般用于文本数据的压缩,它可以保证完全地恢复原始数据;其缺点是压缩比小(其压缩比一般为2:1至5:1)。有损压缩是对熵进行压缩,因而存在一定程度的失真;它主要用于对声音、图像、动态视频等数据进行压缩,压缩比较高(其压缩比一般高达20:1以上。最新被称为“E—igen—ID”的压缩技术可将基因数据压缩1.5亿倍)。对于多媒体图像采用的有损压缩的标准有静态图像压缩标准(JPEG标准,即‘JointPhotographicExpertGroup’标准)和动态图像压缩标准(MPEG标准,即‘MovingPictureExpertGroup’标准)。
JPEG利用了人眼的心理和生理特征及其局限性来对彩色的、单色的和多灰度连续色调的、静态图像的、数字图像的压缩,因此它非常适合不太复杂的以及一般来源于真
实景物的图像。它定义了两种基本的压缩算法:一种是基于有失真的压缩算法,另一种是基于空间线性预测技术(DPCM)无失真的压缩算法。为了满足各种需要,它制定了四种工作模式:无失真压缩、基于DCT的顺序工作方式、累进工作方式和分层工作方式。
MPEG用于活动影像的压缩。MPEG标准具体包三部分内容:(1)MPEG视频、(2)MPEG音频、(3)MP系统(视频和音频的同步)。MPEG视频是标准的核心分,它采用了帧内和帧间相结合的压缩方法,以离散余变换(DCT)和运动补偿两项技术为基础,在图像质量基不变的情况下,MPEG可把图像压缩至1/100或更MPEG音频压缩算法则是根据人耳屏蔽滤波功能。利用音响心理学的基本原理,即“某些频率的音响在重放其频率的音频时听不到”这样一个特性,将那些人耳完全不到或基本上听到的多余音频信号压缩掉,最后使音频号的压缩比达到8:1或更高,音质逼真,与CD唱片可媲美。按照MPEG标准,MPEG数据流包含系统层和压层数据。系统层含有定时信号,图像和声音的同步、多
分配等信息。压缩层包含经压缩后的实际的图像和声数据,该数据流将视频、音频信号复合及同步后,其数据输率为1.5MB/s。其中压缩图像数据传输率为1.2M压缩声音传输率为0.2MB/s。
MPEG标准的发展经历了MPEG—I,MPEG一2、MPEG一4、MPEG-7、MPEG一21等不同层次。在MPEG的不同标准中,每—个标准都是建立在前面的标准之上的,并与前面的标准向后的兼容。目前在图像压缩中,应用得较多的是MPEG一4标准,MPEG-是在MPEG-2基础上作了很大的扩充,主要目标是多媒体应用。在MPEG一2标准中,我们的观念是单幅图像,而且包含了一幅图像的全部元素。在MPEG一4标准下,我们的观念变为多图像元素,其中的每—个多图像元素都是独立编码处理的。该标准包含了为接收器所用的指令,告诉接收器如何构成最终的图像。

上图既表示了MPEG一4解码器的概念,又比较清楚地描绘了每个部件的用途。这里不是使用单一的视频或音频解码器,而是使用若干个解码器,其中的每一个解码器只接收某个特定的图像(或声音)元素,并完成解码操作。每个解码缓冲器只接收属于它自己的灵敏据流,并转送给解码器。复合存储器完成图像元素的存储,并将它们送到显示器的恰当位置。音频的情况也是这样,但显然不同点是要求同时提供所有的元素。数据上的时间标记保证这些元素在时间上能正确同步。MPEG一4标准对自然元素(实物图像)和合成元素进行区分和规定,计算机生成的动画是合成元素的一个例子。比如,一幅完整的图像可以包含一幅实际的背景图,并在前面有一幅动画或者有另外一幅自然图像。这样的每一幅图像都可以作最佳压缩,并互相独立地传送到接收器,接收器知道如何把这些元素组合在一起。在MPEG一2标准中,图像被看作一个整体来压缩;而在MPEG一4标准下,对图像中的每一个元素进行优化压缩。静止的背景不必压缩到以后的I帧之中去,否则会使带宽的使用变得很紧张。而如果这个背景图像静止10秒钟,就只要传送一次(假设我们不必担心有人在该时间内切人此频道),需要不断传送的仅是前台的比较小的图像元素。对有些节目类型,这样做会节省大量的带宽。MPEG一4标准对音频的处理也是相同的。例如,有一位独唱演员,伴随有电子合成器,在MPEG一2标准下,我们必须先把独唱和合成器作混合,然后再对合成的音频信号进行压缩与传送。在MPEG一4标准下,我们可以对独唱作单独压缩,然后再传送乐器数字接口的声轨信号,就可以使接收器重建伴音。当然,接收器必须能支持MIDI放音。与传送合成的信号相比,分别传送独唱信号和MIDI数据要节省大量的带宽。其它的节目类型同样可以作类似的规定。MPEG一7标准又叫多媒体内容描述接口标准。图像可以用色彩、纹理、形状、运动等参数来描述,MPEG一7标准是依靠众多的参数对图像与声音实现分类,并对它们的数据库实现查询。
二、多媒体数据压缩技术的实现方法
目前多媒体压缩技术的实现方法已有近百种,其中基于信源理论编码的压缩方法、离散余弦变换(DCT)和小波分解技术压缩算法的研究更具有代表性。小波技术突破了传统压缩方法的局限性,引入了局部和全局相关去冗余的新思想,具有较大的潜力,因此近几年来吸引了众多的研究者。在小波压缩技术中,一幅图像可以被分解为若干个叫做“小片”的区域;在每个小片中,图像经滤波后被分解成若干个低频与高频分量。低频分量可以用不同的分辨率进行量化,即图像的低频部分需要许多的二进制位,以改善图像重构时的信噪比。低频元素采用精细量化,高频分量可以量化得比较粗糙,因为你不太容易看到变化区域的噪声与误差。此外,碎片技术已经作为一种压缩方法被提出,这种技术依靠实际图形的重复特性。用碎片技术压缩图像时需要占用大量的计算机资源,但可以获得很好的结果。借助于从DNA序列研究中发展出来的模式识别技术,能减少通过WAN链路的流量,最多时的压缩比率能达到90%,从而为网络传送图像和声音提供更大的压缩比,减轻风络负荷,更好地实现网络信息传播。
三、压缩原理
由于图像数据之间存在着一定的冗余,所以使得数据的压缩成为可能。信息论的创始人Shannon提出把数据看作是信息和冗余度(rendancy)的组合。所谓冗余度,是由于一副图像的各像素之间存在着很大的相关性,可利用一些编码的方法删去它们,从而达到减少冗余压缩数据的目的。为了去掉数据中的冗余,常常要考虑信号源的统计特性,或建立信号源的统计模型。图像的冗余包括以下几种:
(1) 空间冗余:像素点之间的相关性。
(2) 时间冗余:活动图像的两个连续帧之间的冗余。
(3) 信息熵冗余:单位信息量大于其熵。
(4) 结构冗余:图像的区域上存在非常强的纹理结构。
(5) 知识冗余:有固定的结构,如人的头像。
(6) 视觉冗余:某些图像的失真是人眼不易觉察的。
对数字图像进行压缩通常利用两个基本原理:
(1) 数字图像的相关性。在图像的同一行相邻像素之间、活动图像的相邻帧的对应像素之间往往存在很强的相关性,去除或减少这些相关性,也就去除或减少图像信息中的冗余度,即实现了对数字图像的压缩。
(2) 人的视觉心理特征。人的视觉对于边缘急剧变化不敏感(视觉掩盖效应),对颜色分辨力弱,利用这些特征可以在相应部分适当降低编码精度,而使人从视觉上并不感觉到图像质量的下降,从而达到对数字图像压缩的目的。
编码压缩方法有许多种,从不同的角度出发有不同的分类方法,比如从信息论角度出发可分 为两大类:
(1)冗余度压缩方法,也称无损压缩,信息保持编码或熵编码。具体讲就是解码图像和压缩 编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。
(2)信息量压缩方法,也称有损压缩,失真度编码或熵压缩编码。也就是讲解码图像和原始图像是有差别的,允许有一定的失真。
应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分类为:
(1)无损压缩编码种类 •哈夫曼编码 •算术编码 •行程编码 •Lempel zev编码
(2)有损压缩编码种类 •预测编码:DPCM,运动补偿 •频率域方法:正文变换编码(如DCT),子带编码 •空间域方法:统计分块编码 •模型方法:分形编码,模型基编码 •基于重要性:滤波,子采样,比特分配,矢量量化
(3)混合编码 •JBIG,H261,JPEG,MPEG等技术标准
衡量一个压缩编码方法优劣的重要指标
(1)压缩比要高,有几倍、几十倍,也有几百乃至几千倍;
(2)压缩与解压缩要快,算法要简单,硬件实现容易;
(3)解压缩的图像质量要好。
四、JPEG图像压缩算法
1..JPEG压缩过程

JPEG压缩分四个步骤实现:
1.颜色模式转换及采样;
2.DCT变换;
3.量化;
4.编码。
2.1.颜色模式转换及采样
RGB色彩系统是我们最常用的表示颜色的方式。JPEG采用的是YCbCr色彩系统。想要用JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为YCbCr颜色模式的数据。Y代表亮度,Cb和Cr则代表色度、饱和度。通过下列计算公式可完成数据转换。
Y=0.2990R+0.5870G+0.1140B
Cb=-0.1687R-0.3313G+0.5000B+128
Cr=0.5000R-0.4187G-0.0813B+128
人类的眼晴对低频的数据比对高频的数据具有更高的敏感度,事实上,人类
的眼睛对亮度的改变也比对色彩的改变要敏感得多,也就是说Y成份的数据是比较重要的。既然Cb成份和Cr成份的数据比较相对不重要,就可以只取部分数据来处理。以增加压缩的比例。JPEG通常有两种采样方式:YUV411和YUV422,它们所代表的意义是Y、Cb和Cr三个成份的资料取样比例。
2.2.DCT变换
DCT变换的全称是离散余弦变换(Discrete Cosine Transform),是指将一组光强数据转换成频率数据,以便得知强度变化的情形。若对高频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人类的眼睛却是不容易辨认出来。
压缩时,将原始图像数据分成8*8数据单元矩阵,例如亮度值的第一个矩阵内容如下:

JPEG将整个亮度矩阵与色度Cb矩阵,饱和度Cr矩阵,视为一个基本单元称作MCU。每个MCU所包含的矩阵数量不得超过10个。例如,行和列采样的比例皆为4:2:2,则每个MCU将包含四个亮度矩阵,一个色度矩阵及一个饱和度矩阵。
当图像数据分成一个8*8矩阵后,还必须将每个数值减去128,然后一一代入DCT变换公式中,即可达到DCT变换的目的。图像数据值必须减去128,是因为DCT转换公式所接受的数字范围是在-128到+127之间。
DCT变换公式:

x,y代表图像数据矩阵内某个数值的坐标位置
f(x,y)代表图像数据矩阵内的数个数值
u,v代表DCT变换后矩阵内某个数值的坐标位置
F(u,v)代表DCT变换后矩阵内的某个数值
u=0 且 v=0 c(u)c(v)=1/1.414
u>0 或 v>0 c(u)c(v)=1
经过DCT变换后的矩阵数据自然数为频率系数,这些系数以F(0,0)的值最大,称为DC,其余的63个频率系数则多半是一些接近于0的正负浮点数,一概称之为AC。
3.3、量化
图像数据转换为频率系数后,还得接受一项量化程序,才能进入编码阶段。
量化阶段需要两个8*8矩阵数据,一个是专门处理亮度的频率系数,另一个则是
针对色度的频率系数,将频率系数除以量化矩阵的值,取得与商数最近的整数,
即完成量化。
当频率系数经过量化后,将频率系数由浮点数转变为整数,这才便于执行最
后的编码。不过,经过量化阶段后,所有数据只保留整数近似值,也就再度损失
了一些数据内容,JPEG提供的量化表如下:

2.4、编码
Huffman编码无专利权问题,成为JPEG最常用的编码方式,Huffman编码通常是以完整的MCU来进行的。
编码时,每个矩阵数据的DC值与63个AC值,将分别使用不同的Huffman编码表,而亮度与色度也需要不同的Huffman编码表,所以一共需要四个编码表,才能顺利地完成JPEG编码工作。
DC编码
DC是彩采用差值脉冲编码调制的差值编码法,也就是在同一个图像分量中取得每个DC值与前一个DC值的差值来编码。DC采用差值脉冲编码的主要原因是由于在连续色调的图像中,其差值多半比原值小,对差值进行编码所需的位数,会比对原值进行编码所需的位数少许多。例如差值为5,它的二进制表示值为101,如果差值为-5,则先改为正整数5,再将其二进制转换成1的补码即可。所谓1的补码,就是将每个Bit若值为0,便改成1;Bit为1,则变成0。差值5应保留的位数为3,下表即列出差值所应保留的Bit数与差值内容的对照。

在差值前端另外加入一些差值的霍夫曼码值,例如亮度差值为5(101)的位数为3,则霍夫曼码值应该是100,两者连接在一起即为100101。下列两份表格分别是亮度和色度DC差值的编码表。根据这两份表格内容,即可为DC差值加上霍夫曼码值,完成DC的编码工作。

AC编码
AC编码方式与DC略有不同,在AC编码之前,首先得将63个AC值按Zig-zag排序,即按照下图箭头所指示的顺序串联起来。

63个AC值排列好的,将AC系数转换成中间符号,中间符号表示为RRRR/SSSS,RRRR是指第非零的AC之前,其值为0的AC个数,SSSS是指AC值所需的位数,AC系数的范围与SSSS的对应关系与DC差值Bits数与差值内容对照表相似。
如果连续为0的AC个数大于15,则用15/0来表示连续的16个0,15/0称为ZRL(Zero Rum Length),而(0/0)称为EOB(Enel of Block)用来表示其后所
剩余的AC系数皆等于0,以中间符号值作为索引值,从相应的AC编码表中找出适当的霍夫曼码值,再与AC值相连即可。
例如某一组亮度的中间符为5/3,AC值为4,首先以5/3为索引值,从亮度AC的Huffman编码表中找到1111111110011110霍夫曼码值,于是加上原来100(4)即是用来取[5,4]的Huffman编码1111111110011110100,[5,4]表示AC值为4的前面有5个零。
由于亮度AC,色度AC霍夫曼编码表比较长,在此省略去,有兴趣者可参阅相关书籍。
实现上述四个步骤,即完成一幅图像的JPEG压缩。

G. 实现视频图像数据压缩的主要理论依据是什么

实现视频图像数据压缩的主要理论依据是香农提出的信息论。

随着计算机技术和网络通信技术的飞速发展,实时可视化通信、多媒体通信、网络电视、视频监控等业务越来越受到大家的关注。这样,图像压缩技术就成为急需解决的问题。

数字图像需要大量数据来表示,因此必须对其进行数据压缩,但在压缩的过程中,也会对传输介质、传输方法和存储介质等提出较高要求。常用的图像数据压缩方法主要有哈夫曼编码、行程编码、算术编码、离散余弦变换编码以及混合编码等。

(7)算术编码是失真的图像压缩编码扩展阅读:

图像压缩是图像存储、处理和传输的基础,它是用尽可能少的数据来进行图像的存储和传输。图像数据是可以被压缩的,支持这一理论的依据,允许图像编码有一定的失真;图像数据的冗余性。

大多数情况下,并不要求经压缩后的图像和原图完全相同,而允许有少量失真,只要这些失真不被人眼察觉就可以接受。这给压缩比的提高提供了有利的条件,可允许的失真愈多,可实现的压缩效率就愈高。

因为图像数据具有可压缩性,有大量的所谓统计性质的多余度,从而产生生理视觉上的多余度,去掉这部分图像数据并不影响视觉上的图像质量,甚至去掉一些图像细节对于实际图像的质量也无致命的影响。

H. 下列不属于无失真图像压缩编码方法的是:

前三个肯定无失真,卡尔曼编码没听过,只能选它了。

I. 数字图像处理及算术编码(或DCT压缩编码)仿真实现

这些都是很简单的功能,为什么不自己编程试试呢?
风之风信子会帮你解决这一次的问题,谁帮你引导以后的路呢?

%Date: 2011年9月26日20:25:53
%Function: 3*3均值滤波平滑
%Written by 风之风信子

clc;
clear;
clear all;
I=imread('peppers.png');
%这里改成你的路径,
%切记图像不能放在汉字文件夹
%路径例子:d:\matlab\moon_light_shadow.jpg
J=rgb2gray(I);
%彩色变黑白
imshow(J);
h=(1/9)*[1 1 1;1 1 1;1 1 1];
I2=imfilter(J,h);
%滤波(就是求平均的过程)
figure,imshow(I2);

%%%%直方图均衡化 matlab实现:
clc;
clear all;
I = imread('d:\Image\hill_histogram.jpg');
I=rgb2gray(I);
J = histeq(I);
subplot(221);imshow(I);
subplot(222); imshow(J);
subplot(223); imhist(I,64)
subplot(224); imhist(J,64)

%%%%DCT编码 matlab实现:

R=imread('d:\Image\car.jpg'); %装入原始图像
I=rgb2gray(R); %转换成灰度图像
J=dct2(I); %
colormap(jet(256));
J(abs(J)<100)=0; %将DCT变换值小于10的元素设为0
K=idct2(J);
figure; subplot(121);imshow(I,[0,255]);
title(' original'); %显示原图像
subplot(122);imshow(K,[0,255]);
title('IDCT ');%显示反变

阅读全文

与算术编码是失真的图像压缩编码相关的资料

热点内容
歌词滚动效果android 浏览:14
程序员一天的六场战斗 浏览:797
自制压缩泵的做法 浏览:622
androidstring变量 浏览:247
数学乘法速算法 浏览:986
压缩包制作后照片顺序怎么改 浏览:680
fibonacci数列算法 浏览:775
产品经理要和程序员吵架吗 浏览:252
grub2命令行 浏览:618
无法获取加密卡信息 浏览:774
云服务器网卡充值 浏览:509
编程就是软件 浏览:49
服务器如何添加权限 浏览:437
引用指针编程 浏览:851
手机加密日记本苹果版下载 浏览:64
命令行括号 浏览:176
java程序升级 浏览:490
排序算法之插入类 浏览:227
gcccreate命令 浏览:73
海尔监控用什么app 浏览:64