图像处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同理对于离散余弦反变换IDCT,可首先在变换空间将[F(u)]作如 下延拓:
当u=0,1,2,3…,N-1时
=
当u=N,N+1,N+2…,2N-1时 =0
那么,反变换可表示:
=
=
= = 公式(2-6)
由上式可见,IDCT可以由 的2N点的IDFT的快速算法实现。
在计算二维的DCT变换时,可使用下面的计算公式把二维的 DCT变换变成一维的DCT变换:
的函数的和:
这些函数称为DCT变换的基函数。这样,就可以看成是应用于每个 基函数的加权。
2.3 DCT的算法
离散余弦变换可以由定义式出发进行计算。但这样的计算量太 大,在实际应用中很不方便。所以需要寻求一种快速算法。以一维离 散余弦变换为列,对快速算法进行推导。
首先,从定义出发,作如下推导: ==
公式(2-7)
公式(2-8)
3 DCT图像压缩
3.1 DCT图像压缩的原理
图像数据压缩的目的是在满足一定图像质量的条件下,用尽可能少 的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容 量,在信息论中称为信源编码。图像压缩是通过删除图像数据中冗余的 或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程, 解压缩过程就是解码过程。
2.2 DCT的定义
DCT变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为 偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项, 所以称之为离散余弦变换。
二维离散余弦变换DCT(Discrete Cosine Transform)的定义为,假设矩 阵A的大小为M×N。
公式(2-1)
图像数据可以进行压缩有以下几方面的原因。首先,原始图像数据 是高度相关的,存在很大的冗余度。如图像内相邻象素之间的空间冗余 度。序列图像前后帧之间的时间冗余度。多光谱遥感图像各谱间的频率 域冗余度。数据冗余造成比特数浪费,消除这些冗余就可以节约码字, 也就达到了数据压缩的目的。其次,基用相同码长表示不同出现概率的 符号也会造成符号冗余度。如果采用可变长编码技术,对出现概率高的 符号用短码字、对出现概率低的符号用长码字表示,就可消除符号冗余 度,从而节约码字。
假设有一个无记忆的信源,它产生的消息为,,其出现的概率是已知 的,记为。则其信息量定义为:
公式(3-1) 由此可见一个消息出现的可能性越小,其信息量就越多,其出现对 信息的贡献量越大,反之亦然。 信源的平均信息量称为“熵”(entropy),可以表示为:
公式(3-2) 对上式取以2为底的对数时,单位为比特(bits):
经过大量图像信号在频域的统计分析发现,图像数据经DCT变换 后,频谱系数主要成分集中在此较小的范围,且主要位于低频部分。矩 阵左上角数值较大,它代表图像信息的低频分量,是图像信息的主体, 即图像高度变化的主体部分;矩阵右下角部分数值小,它表示图像信息 的高频分量,幅值较小,它主要反映图像的细节部分。所以,对大多数自 然图像DCT 能将最多的信息放到最少的系数上去。因此,DCT变换并不 对数据压缩,它只是为压缩过程的“量化”阶段做准备。
1.4 图像压缩编码的方法
1.4.1 图像压缩编码方法的简介
图像压缩算法就是要在保证图像一定的重建质量的同时,通过去除 冗余数据可以节约文件所占的码字从而极大地降低原始图像数据量,解 决图像数据量巨大的问题,以达到对图像压缩的目的。图像数据压缩技 术就是研究如何利用图像数据的冗余性来减少图像数据量的方法。因 此,进行图像压缩研究的起点是研究图像数据的冗余性。
其中,称为矩阵A的DCT系数。在MATLAB中,矩阵的下标从1开
始而不是从0开始的,所以MATLAB中的矩阵元素A(1,1)和B(1,1)分别
对应于上面定义中的值A00和B00,依此类推。
DCT是一种可逆变换,离散反余弦变换定义如下:
公式(2-2)
上式的含义是任何M×N的矩阵A都可以表示为一系列具有下面形式
的。
DCT是经典谱分析常采用的工具,考察整个时域过程的频域特征或 整个频域过程的时域特征,特别适合静止图像的压缩。图像数据中存在 大量的冗余信息,若去掉这些冗余信息,则使数字化的图像数据量大大 减少。这是通过 DCT 变换来实现的,通过离散余弦的数字运算,将空 间域的图像编码信号变换到频率域。由于绝大部分在空间和时间上变化 的复杂信号,能量主要集中在频率较低的频谱分量中,而对视觉不太敏 感的高频分量携带的能量较低,一般可删去或压缩,所以在频域上的编 码数据总是相对简单。
= (Re是取实部的意思) 公式(2-3)
对时域数据向量做如下列延拓:
当x=0,1,2,……N-1时 =
当x=N,N+1,……2N-1时 =0
则Fe(x)的离散余弦变换可写成下列:
=
公式(2-4)
=
= =wk.baidu.com公式(2-5)
由上式可见:是2N点的离散傅立叶变换。所以在做离散余弦变换 时,可以把序列长度延拓为2N,然后作离散傅立叶变换,产生的结 果取其实部即可得到余弦变换。
图像压缩方法主要分成两种类型:一种是基于空间线性预测技术,即 差分脉冲编码调制的无失真压缩算法,另一种是基于DCT的有失真压缩 算法,并进一步应用熵编码。
a. 无失真预测编码压缩算法
无失真预测编码压缩算法能准确无误地恢复原信息,它只是去掉了 信源的冗余部分,却不能提供较高的压缩比。
b. 基于DCT的有失真压缩编码算法 基于DCT的有失真压缩编码算法包括基本系统和增强系统两种不同层次 的系统。并定义了顺序工作方式和累进工作方式。基本系统只采用顺序 工作方式,熵编码时只能采用Huffman编码,且只能存储两套码表。增 强系统是基本系统的扩充,可采用累进工作方式,熵编码时可选 用Huffman码或算术编码。有失真压缩能提供较高的压缩比,但由于损 失了信源的熵,压缩后的数据是无法准确无误地恢复,而是利用人的视 觉特性使解压缩后的图像看起来与原始图像一样。主要方法有预测编 码、变换编码、模型编码、基于重要性的编码以及混合编码方法等。压 缩比随着编码方法的不同差别较大。二维图像块经过各种正交变换后比 较它们的优越性: DCT、DST、K—L>斜坡变换>哈达码变换、哈尔变 换(随图像块尺寸增大而饱和)。虽然DCT变换在处理过程中需要用乘 法电路,但由于LSI技术发展已使乘法器较为容易实现,所以DCT是正 交变换编码的主要方式。基于DCT编码的过程为先进行DCT正变换,再 对DCT系数进行量化,并对量化后的直流系数和交流系数分别进行差分 编码或行程编码,最后再进行熵编码。
图像经DCT变换以后,DCT系数之间的相关性已经很小,而且大部 分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用, 是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进 行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理 的方式效果不好。为此,发送者首先将输入图像分解为8×8或16×16的 块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量 化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图 像块进行的二维DCT反变换,最后将操作完成后所有的块拼接起来构成 一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,
允许图像编码有一定的失真也是图像可以压缩的一个重要原因。在 许多应用场合,并不要求压缩及复原以后的图像和原图像完全相同,可 以允许有少量失真。只要这些失真并不被人眼所察觉,这就给压缩比的 提高提供了十分有利的条件。图像质量允许的损失愈多,可以实现的压 缩比就愈大。这种有失真的编码称为限失真编码,在多数应用中,人眼 往往是图像信息的最终接收者(信宿)。如果能充分利用人眼的视觉特 性,就可以在保证所要求的图像主观质量的前提下实现较高的压缩比。 这就是利用了视觉冗余度。其实人类的视觉系统(HVS)是有缺陷的。 其对某些失真不敏感,难以觉察。
在发送端,输入的原始图像首先经过DCT变换后,其低频分量都集 中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通 滤波器)。由于该低频分量包含了图像的主要信息,而高频分量与之相 比就不那么重要了,所以可以忽略高频分量,从而达到压缩的目的。将 高频分量去掉就要用到量化,这是产生信息损失的根源。“量化”的主
在编码过程中,将图像分解为8×8的象素块,对这个8×8块进行二维 离散余弦变换,每个块就产生了64个DCT系数,其中一个DC系数位于左 上角,是直流(DC)系数,它表示了8×8 输入矩阵全部值的平均数,其余 63个系数为交流(AC)系数。接下来对DCT系数进行量化, 相邻的8×8 块之间的DC系数有较强的相关性。63个AC系数在8×8矩阵中按 照"Z"字形的次序进行,这样可增加零的连续次数,系数编码后都采用 统一的格式表示。最后将量化的DCT系数进行编码和传送,就形成了压 缩后的图像格式。在解码过程中,先对已编码的量化的系数进行解码,然 后求逆量化并利用二维DCT反变换把DCT系数转化为8×8样本像块,最 后将反变换后的块组合成一幅图像。这样就完成了图像的压缩和解压过 程。
输入图像被分成8×8或16×16的小块,然后对每一小块进行二维 DCT变换,变换后的系数量化、编码并传输;解码量化了的DCT系数, 对每一块计算二维逆DCT变换,最后把结果块拼接成一个完整的图像。 在DCT变换后舍弃那些不严重影响图像重构的接近0的系数。DCT变换的 特点是变换后图像大部分能量集中在左上角,因为左上放映原图像低频 部分数据,右下反映原图像高频部分数据。而图像的能量通常集中在低 频部分。
在接收端,接收到的压缩图像数据首先经过Huffman译码,通过搜 索已生成的Huffman表,根据码字与量化后象素值的对应关系,搜索出 与码字对应的象素值,并转换为二维矩阵。反量化时将以上二维矩阵中 的每一个象素值乘以量化因子Q。最后通过DCT反变换得到重建图像。
3.2 DCT图像压缩的模型
图3-1 DCT图像压缩的模型
3.3 DCT图像压缩的方法
DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。 变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上 进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些 特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些 规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目
1.3 图像压缩编码的必要性和可能性
图像压缩编码的目的是以尽量少的比特数表征图像,同时保持复原 图像的质量,使它符合预定应用场合的要求。压缩数据量、提高有效性 是图像压缩编码的首要目的。图像编码是一种信源编码,其信源是各种 类型的图像信息。
研究表明,在人类所接受到的全部信息中,有70%以上是通过视觉得 到的。和其他信息相比,图像包含的信息量更大、更直观、更确切,因 此具有很高的使用效率和更广泛的适应性。因此在多媒体通信中,数字 图像通信占有很重要的地位。但是由于数字图像的数据量非常巨大,若 不经压缩,数字图像传输所需的高传输速率和数字图像存贮所需的巨大 容量阻碍了图像通信的发展。所以有必要对图像进行压缩编码。
要任务是用有限个离散电平来近似表达已抽取出的信息。在此采用均匀 量化,通过改变程序中的量化因子Q的值以得到不同压缩比的图 像。Huffman编码时,首先对经DCT变换及量化后的图像收据扫描一 遍,计算出各种象素出现的概率;然后按概率的大小指定不同长度的唯 一码字,由此得到一张Huffman表。编码后的图像记录的是每个象素的 码字,而码字与量化后象素值的对应关系记录在码表中。生成的一维字 符矩阵即为实际中要传输的序列,压缩后的图像数据在信道中进行传 输。
2 离散余弦变换DCT
2.1 DCT的基本原理
DCT变换在图像压缩中有很多应用,它是JPEG,MPEG 等数据压缩 标准的重要数学基础。在压缩算法中,先将输入图像划分为8×8 或 16×16,的图像块,对每个图像块作DCT变换;然后舍弃高频的系数, 并对余下的系数进行量化以进一步减少数据量;最后使用无失真编码来 完成压缩任务。解压缩时首先对每个图像块做DCT反变换,然后将图像 拼接成一副完整的图像。
公式(3-3) 在图像压缩 中,压缩比是一个重要的衡量指标。可以定义压缩比为:
C=原始数据的平均比特率(B)/压缩数据的平均比特率(H) 公式(3-4)
DCT变换后系数的量化是引起失真的主要原因,压缩效果与图像内容 本身有较大的关系。
图像编码包括两个阶段,前一个阶段就是利用预测模型或正交模型 对图像信号进行变换;后一个阶段是利用已变换信号的统计特性,对其 分配适当的代码来进行编码传输。