`
java_mzd
  • 浏览: 583225 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论
阅读更多

研究图像压缩技术也差不多有一个星期了

今天先做一个小结吧

算是读书笔记

要总结图片压缩知识

先回顾一下当中用到的一些支撑的基础知识

一.色彩空间

颜色可用色彩空间来进行数学模拟,通过色彩空间我们能形象化的表示和产生我们需要的色彩,任何两种色彩空间能通过矩阵变换变形换算

 

RGB色彩空间

计算机和彩色电视都是通过发射3种不同强度的电子束,使屏幕内侧的R/G/B荧光材料发光而产生颜色的,3种颜色相加可以混合出其他颜色

 

任何一种光都能通过R/G/B三色不同分量相加混合而得到

F=r[R]+g[G]+b[B]

HSI颜色空间

它比RGB更符合人的视觉特性 (对亮度敏感远强于对色度的敏感),又因为HSI空间各个分量可以相互独立分开处,因此在图像处理中运行HIS可以简化大量工作量

HIS反映的是人的视觉系统观察颜色的模式,与RGB换算公式

F=(2R-G-B)/(G-B)

I=(R+G+B)/3

S=1-[min(R,G,B)/I]

H=…………

YUV颜色空间

电视信号彩色坐标空间

彩色摄像机得到彩色信号---分色---放大校正得到RGB-----矩阵变换得到YUV

由亮度信号Y和两个色差信号R-Y/B-Y组成,亮度信号和色差信号是可以分离的

 

Y亮度

UV色差信号

彩色电视采用YUV解决了向黑白电视兼容问题

Y=0.3R+0.59G+0.11B

U=-0.15R-0.29G+0.44B

V=0.61R-0.52G-0.096B

CMYK颜色空间

计算机屏幕用RGB颜色空间表示是因为有发光体

而打印和印刷时,纸张是不能发光的

通过CMY颜色空间,利用CMY颜色空间利用能吸收特定的光波而反射其他光波的颜色组合就能显示我们想要的颜色了

 

Cyan

Megenta品红

Yellow

 

 

然后我们需要知道将一幅图片数字化的过程

 

   采样--------------------------------   量化-----------------------编码
  (空间坐标的离散化)              (幅度坐标的离散化)

 

图像各基本属性

1.分辨率---区别图片分辨率和显示分辨率

2.图像深度和颜色类型

颜色类型----1.真彩色----RGB直接决定

                 2.伪彩色----索引

                 3.直接色----RGB索引

图像深度和显示深度区别

 

 

信息熵的概念

在信息论中,熵是不确定性的量度,看以下示例

信息量:一个事件集合X1,X2,…………Xn处于一个基本的概率空间,其相应的概率为P1,P2…………Pn,且事件集的概率和为1。则每个信息的信息量为:I(Xk)=-loga(pk)

定义在一个概率空间中每一事件的概率不相等的平均信息量为信息熵,则信息熵为:H=E{I(XK)}

熵是编码所需比特数的下限,即编码所需最少的比特。编码时,要完全保持原图信息,则一定要用不比熵少的比特数来编码。

 

图像压缩必要性:图片数据的信息量非常大,为了存储方便和在网络上传输方便

可行性:图像的各像素间,无论是在行方向还是在列方向都存在着一定的相关性。相关性,即冗余度。我们只需要应用某处编码方法提取出或者减少这种冗余度,就可达到数据压缩的目的。

   列出几种常见冗余

1.  空间冗余------

 我们压缩的主要冗余,一副图片存储的同一景物表面上各采样点的颜色之间一般存在着空间连贯性,从而产生了空间冗余。我们可以通过改变物体表面颜色存储的方式来利用空间连贯性,从而减少数据量

2.  时间冗余

3.  结构冗余

4.  知识冗余

5.  视觉冗余

研究表面,人类的视觉系统对图像场的敏感性是非均匀和非线性的。(前面已经说过,对亮度的敏感远强于对色差敏感)然而我们在记录数据的时候,通常是按均匀和线性的方式存储的。利用视觉冗余可以在适当降低图片质量的情况下极大提升压缩比。

 

一个压缩系统由编码器和解码器两块内容组成,工作模式大概如下

信源输入f(x,y)----------转换----------------量化---------------符号编码器---------信道传输--------符号解码器----------反向转换

转换是将输入数据转换为可以减少输入图像中像素冗余的数据的集合

量化器通过对转换的图像进行量化,使输出精度与预设的保真度相一致,减少视觉冗余------------如果丢弃部分信息后找出的失真是可以容忍的,则压缩比的增加是有效的-----量化过程是不可逆的,有损主要多此一步

符号编码器是找一种近于熵,又方便计算机处理的编码方式进行编码,生成定长或不定长的编码,用于表示量化器的输出

 

 

 

 

常见各种编码方法

 

(用VISIO做的图,BLOG不支持)

 

 

 

在一个图片中

低频分量决定图像的主要轮廓,高频分量决定细节
图像信号的主要能量集中在低频区域,它反映图片的平均亮度,而细节和边缘信息则集中在高频区域
图像数据经常正交变换后,空域(空间域)中的总能量在变换域中得到保持,但像素之间的相关性下降,能量将会重新分布,并集中在变换域中少数的变换系数上,因此,选择少数的F(U,V)来重建图像f(x,y)就可以达到压缩数据的目的,并将重建图像f(x,y)仅引入较小误差

DCT变换的本质是将数据从时域转换为频域,以便根据人眼对不同频率的敏感程度进行分类---------------色空间转换原理同此(利用人眼对亮度和色度敏感度区别进行分类)

 

好了

会用到的基础知识也讲了这么多了

下面来看看JPEG压缩图像的流程和方法是怎么样的

 

JPEG定义了基本系统(每个编码器都必须实现一个基本顺序编码器的必备系统),拓展系统,特殊无损功能三个层次。

拓展系统包括了各种编码方式,所有这些编码的方法都是基本顺序的拓展。

下面仅讨论用的比较多的基于DCT的顺序模式,其基本流程如下

对源图像进行8X8像素块划分--------(色彩空间转换)--------FDCT计算------------依据量化表量化-----------Z排序--------------熵编码(LRE--------Huffman)

 

关于色彩空间转换,不记得在那篇论文里面看到了,先将RGB转为HSI再利用人眼对色差敏感度的差异HS进行量化(个人觉得很有用,压缩效果(4+1+1)/(4+4+4))

DCT变换其实就是将信号从时域转换为频域信号(关于时域与频域信号不了解,参加《信号与系》),DCT为可逆变换--------- 时域与频域能相互转换

通过FDCT将矩阵转换为频域矩阵后,我们利用JPEG推荐的标准量化表对矩阵进行量化,然后进行Z排序

(推荐量化表根据心理视觉实验得来,接近DC,为低频分量,对于整个图像的作用更明显,因此量化系数值越小,越能保留原理,同理,原理DC,高频--------),因此理解为何进行Z排序-----------Z排序得到XY据00距离相同

 

如果我们实现通过使用不同的量化表来达到不同的压缩效果
量化间隔随频率增加比标准量化表快,为了突出低频数据,适用于突出轮廓的图片,适应于细节越来越少的图象。
量化间隔随频率增加比标准量化表慢,突出高频数据,为了突出图片的细节。适应于细节越来越多的图象。

 

进一步,在JAVA中,我们设置图片压缩质量来进行压缩时,其实只是通过传入的参数quality来重新运算得到量化表,因此,当质量变低,越到后面,对图片大小的影响越小(熵编码等等步骤都未变,后期量化表可变性已很小)

因此在理论上否定了通过一直降低图片质量来降低图片大小的可能

又,如果自己重新设计量化表,则必须研究图像特定,研究量化表特点等等。

 

收获与不足

1.通过这次图像压缩方面的研究,认真的看了大一以为是废课的《多媒体技术应用》看了觉得没用的《级数》,明白了其实很多程序、功能那些神奇的东西都是来自于我们书上最朴素最枯燥的东西。 不是学的没有用,是我们自己不会用。

2.Google了无数次,百度了无数次,看了无数论文(其实也就10来篇啦),算是给自己查资料的方式又上了一课吧。

3.对图像知识算是有了个全方位的认识

 

不足,因为时间、能力(很多东西还是没学)、精力等原因,最后还是没能自己写出一个图像压缩软件出来

而且,也没能找到很好的方法解决自己最初的问题(如何在适当保留图片质量情况下随意压缩照片-----特指自己的远程控制技术中的实现)

 

 

 

 

1
0
分享到:
评论

相关推荐

    变换编码在图像压缩中的应用.pdf

    #### 小结 本文详细介绍了变换编码在图像压缩中的应用,重点讨论了变换编码的基本概念、原理及其在图像压缩中的作用。特别强调了离散余弦变换作为一种有效工具在压缩中的应用。通过对实际图像的压缩实验,验证了...

    哈夫曼编码实现图像压缩

    "哈夫曼编码实现图像压缩" 哈夫曼编码是一种常用的压缩编码算法,采用变长码编码,属于无损压缩算法的一种。这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。在无损压缩的编码范畴中,...

    常用图像滤波算法小结 图像滤波算法.pdf

    图像滤波算法广泛应用于计算机视觉、图像识别、图像压缩、图像增强等领域。例如,在计算机视觉中,图像滤波算法可以用于去除图像中的噪声,提高图像的可读性;在图像识别中,图像滤波算法可以用于去除图像中的噪声,...

    转 图像处理与识别学习小结.docx

    "图像处理与识别学习小结" 图像处理是计算机科学中的一门重要学科,涉及到图像的处理、分析和识别。图像处理的应用非常广泛,包括图像识别、机器视觉、图像压缩、图像恢复等领域。 图像处理的基本概念包括图像的...

    数字图像处理结课报告

    【数字图像处理结课报告】 本报告主要针对数字图像处理初学者,旨在深入理解数字图像的基本类型、文件格式转换以及颜色系统之间的转换。在实验过程中,我们使用MATLAB作为主要工具,通过具体的操作来实现图像的各类...

    基于MATLAB的图像压缩感知毕业设计_说明书.doc

    374.4.2 能量效率考虑 384.4.3 基于分布式压缩感知的无线传感器网络 394.5 实验结果与讨论 404.5.1 一维信号压缩实验 404.5.2 二维图像压缩实验 414.5.3 实验结果分析 424.6 本章小结 44第 5 章 结论与展望 455.1 ...

    数字图像处理结课论文

    5. **信息压缩潜力大**:数字图像中的像素具有较高的相关性,这为信息压缩提供了很大的空间。虽然早期的信息量庞大限制了数字图像处理技术的发展,但随着计算机技术的进步,这个问题已经被有效解决。 #### 三、数字...

    Android异步加载图像小结 (含线程池,缓存方法).doc.zip

    "Android异步加载图像小结(含线程池,缓存方法)"这个文档详细讲解了如何在Android环境中高效、异步地加载图片,同时利用线程池和缓存策略优化性能。以下是对这些知识点的详细说明: 1. **异步加载**: - 异步...

    Android异步加载图像小结 (含线程池,缓存方法).zip

    在Android开发中,异步加载图像是一项至关重要的技术,特别是在处理大数据量的...通过阅读"Android异步加载图像小结 (含线程池,缓存方法).doc"和解压"项目说明.rar"中的示例代码,可以更深入地学习和实践这些技术。

    图像处理和分析基础PDF

    书中以知识点为单元组织,不仅包括基本概念、技术原理和算法介绍,还配有例题讲解、内容小结、自我检测题(含提示和解答)以及参考资料,非常适合远程教育和继续教育的学习需求。此外,本书也可供相关行业的科技工作...

    Android异步加载图像小结 (含线程池,缓存方法).rar

    在Android应用开发中,图像加载是一个常见的...以上就是关于“Android异步加载图像小结(含线程池,缓存方法)”的主要知识点。在实际应用中,开发者应结合项目需求,合理选择和优化这些技术,以提供流畅的用户体验。

    C#数字图像处理算法典型实例.iso

    C#数字图像处理算法典型实例共11章,分别讲述了图像的点运算、几何运算、数学形态学图像处理方法、频率变换、图像平滑与去噪、边缘检测、图像分割、图像压缩编码和彩色图像处理等相关技术。本书的光盘中附有相关章节...

    小波变换在图像处理中的应用毕业论文.doc

    1. **图像压缩**:小波变换能够将图像数据在多尺度上进行分解,低频部分包含图像的主要结构信息,高频部分则包含细节信息。通过选择性地保留重要的高频和低频成分,可以实现高效的图像压缩,同时保持图像的质量。 2...

    《数字图像处理》冈萨雷斯 第三版part1(共1-3部分)

    第8章 图像压缩  前言  8.1 背景知识  8.2 编码冗余  8.2.1 霍夫曼码  8.2.2 霍夫曼编码  8.2.3 霍夫曼解码  8.3 像素间的冗余  8.4 心理视觉冗余  8.5 JPEG压缩  8.5.1 JPEG  8.5.2 JPEG 2000  小结 第...

    小波分析及其在数字图像处理中的应用 [朱希安,曹林 编著] 2012年版

    除此之外,本书采用实例说明小波变换在图像压缩中的应用、小波变换在数字水印中的应用、Gabor小波在人脸识别中的应用、小波树在人脸识别中的应用、Gabor 小波在纹理图像分割中的应用;同时包括基于混沌和幻方置乱的...

Global site tag (gtag.js) - Google Analytics