77范文网 - 专业文章范例文档资料分享平台

基于DCT的图像压缩编码算法的研究(2)

来源:网络收集 时间:2019-01-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。它适用于不同类型、不同分辨率的彩色和黑白静止图像。

1.3 DCT离散余弦变换

在JPEG图像压缩算法中,有一种离散余弦变换(DCT,Discrete Cosine Transform)为基础的有损压缩算法。DCT变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。

DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。图像经DCT变换以后,DCT系数之间的相关性就会变小,而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。

发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换,最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。在实验中,先将输入的原始图像分为8*8块,然后再对每个块进行二维DCT变换。

6

2 基于DCT的图像压缩编码算法原理

2.1 基于DCT的图像压缩编码算法流程

在编码过程中,首先将输入图像颜色空间转换后分解为8×8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。

在解码过程中,形成压缩后的图像格式,先对已编码的量子化的DCT系数进行解码,然后求逆量化并把DCT系数转化为8×8样本像块(使用二维DCT反变换),最后将操作完成后的块组合成一个单一的图像。这样就完成了图像的解压过程。

基于DCT编码的JPEG编码压缩过程框图,如图2-1所示。

量化表 码表 原始图像数据分成8*8的小块 DCT变换 量化器 熵编码器 压缩数据 图2-1 基于DCT编码的JPEG压缩流程图

2.2颜色空间的转换和采样

JPEG文件使用的颜色空间为1982年推荐的电视图像数字化标准CCIR 601(现为ITU-RB T.601)。在这个色彩空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。JPEG只支持YCbCr颜色模式,其中Y代表亮度,CbCr代表色度。全彩色图像RGB模式转换到YCbCr模式,用下组公式

?Y?0.299R?0.587G?0.114B?Cr?(R?Y)/1.402 ? (2 - 1) ?Cb?(B?Y)/1.772?其逆变换为:

R?Y?1.402Cr?? ?G?Y?0.344Cb?0.714Cr (2 - 2)

?B?Y?1.772Cb?JPEG是以8×8的块为单位来进行处理的,由于人眼对亮度Y的敏感度比色度CbCr的敏感度大的多,所以采用缩减取样的方式,通常采用YUV422取样,即对于16×16的

7

块,Y取4个8×8的块,CbCr各取2个8×8的块。也有YUV411方式,Y取4个8×8的块,CbCr各取1个8×8的块。YUV422取样方式,数据减少1/3。YUV411取样方式,数据减少1/2,图2-2所示。

图2-2 YUV422取样示意图

Cb Cr Y Y Cb Cr

2.3 二维离散余弦变换

在傅里叶级数展开式中,如果展开的函数是实偶函数,那么傅里叶级数中只包含余弦项,在将其离散化由此可导出余弦变换,或称之为离散余弦变换(DCT,Discrete Cosine Transform)。

二维离散余弦正变换公式为:

2N?1F?u,v??c?u?c?v??Nx?0?2x?1??2y?1? ??fx,ycosu??cos?v?? (2 - 3)??2N2N????y?0u?0,v?0其它N?1?1?式中,x,y,u,v?0,1,?,N?1。c(u)?c(v)??2??1

二维离散余弦逆变换公式为

2N?1f?x,y???Nu?0?2x?1??2y?1???????cucvFu,vcosu??cos?v?? (2 - 4)??2N2N????v?0N?1式中,x,y,u,v?0,1,?,N?1。

JPEG采用的是8×8大小的子块的二维离散余弦变换。在编码器的输入端,把原始图像顺序地分割成一系列8×8的子块,子块的数值在-128到127之间。采用余弦变换获得64个变换系数。

71F?u,v??c?u?c?v??4x?0?2x?1??2y?1?fx,ycosu?cosv?? (2 - 5)???????16??16?y?07式中,x,y,u,v?0,1,?,7。

8

在MATLAB的图像处理工具箱中,可以直接调用dct2和idct2来实现二维离散余弦变换及其反变换。

1、dct2函数实现图像的二维离散余弦变换,其语法为:F=dct2(f) 2、idct2函数实现图像的二维离散余弦逆变换,其语法为:F=idct2(f)

在MATLAB图像处理工具箱中,有一个对图像进行块操作的函数blkproc,利用这个函数,可以直接实现图像一系列8×8子块的DCT变换。其语法格式为:

B = blkproc(A,[m n],fun, parameter1,,parameter2, ...) B = blkproc(A,[m n],[mborder nborder],fun,...) B = blkproc(A,'indexed',...)

8×8的图像经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。由于该低频分量包含了图像的主要信息(如亮度),而高频与之相比,就不那么重要了,所以我们可以忽略高频分量,从而达到压缩的目的。将高频分量去掉,这就要用到量化,它是产生信息损失的根源,由于左上角的值较小,右上角的值较大,这样就起到了保持低频分量,抑制高频分量的目的这里的量化操作,就是将某一个值除以量化表中对应的值。

2.4 DCT系数的量化

在基于DCT变换的图像压缩编码方法中,对DCT系数必须做量化处理。量化过程是一个多对一的映射,例如对一个8×8块的64个DCT变换系数分别除以量化步长后取整。由于大多数DCT变换系数量化后变为零,因而量化是对经过DCT变换后的频率系数进行量化,其目的是减小非0系数的幅度以及增加0值系数的数目,它是图像质量下降的最主要原因。

对于基于DCT的JPEG图像压缩编码算法使用的均匀量化器进行量化,因此使用了量化表,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小。量化会产生误差,上图是综合大量的图像测试的实的就是将高频部分变成接近于0,以便以后处理。JPEG可以在压缩比和图像质量间作取舍,方法就是改变量化值。如果量化值放大一倍,更多的系数量化为0,提高压缩比。

亮度和色度因为代表的图像的信息量不同,亮度代表了图像的低频分量,色度代表了图像的高频分量,要分别对亮度和色度进行量化,所以量化表也是不同的。JPEG压缩色度和亮度量化表如表2-1所示。

表2-1 JPEG压缩色度和亮度量化表

9

亮度量化表 色度量化表 16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99 12 12 14 19 26 58 60 55 18 21 26 66 99 99 99 99 14 13 16 24 40 57 69 56 24 26 56 99 99 99 99 99 14 17 22 29 51 87 80 62 47 66 99 99 99 99 99 99 18 22 37 56 68 109 103 77 99 99 99 99 99 99 99 99 24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99 49 64 78 87 103 121 120 101 99 99 99 99 99 99 99 99 79 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99

2.5 量化系数的编排

在经过DCT变换后,低频分量集中在左上角,其中F(0,0)代表了直流(DC)系数,即8×8子块的平均值,要对它单独编码。由于两个相邻的8×8子块的DC系数相差很小,所以对它们采用差分编码DPCM,可以提高压缩比,对相邻的子块DC系数的差值进行编码。量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排。

DCT变换后低频分量多呈圆形辐射状向高频率衰减,对于大部分图像都有很好的结果。表中可以看出,高频部分对应的量化值大,可以看成按Z字形衰减。因此,量化系数按Z字形扫描读数,这样就把一个8×8的矩阵变成一个1×64的矢量,频率较低的系数放在矢量的顶部。量化后的DCT系数的编排如图2-3所示。

图2-3 量化DCT系数的编排

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于DCT的图像压缩编码算法的研究(2)在线全文阅读。

基于DCT的图像压缩编码算法的研究(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/442840.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: