信息论基础与编码课程论文

2026/1/19 19:35:33

真量化编码与熵编码,它能够以较少的比特数获得较好的图像质量。

限失真JPEG编码器原理如图3-2。

图3-2

限失真JPEG译码器原理如图3-3。

图3-3

模拟图像经采样后成为离散化的亮度值然后分成一个个宏块,而一个宏块又分成8?8大小的块,可以用一个矩阵来表示这个块[13]。

?f(0,0)?f(1,0)[f]?????f(N?1,0)f(0,1)f(1,1)f(N?,1)f(0,N?1)?f(1,N?1)??

??f(N?1,N?1)?在这里,N?8,矩阵中元素f(i,j)表示块中第i行、第j列像素的亮度值。把该矩阵看作一个空间域,显然,块中这些亮度值的大小有一定的随机性,无序性,或者说亮度值的分布没有什么特征;DCT变换就是来解决这个问题的,把这些随机的数据变的有序,便于对数据进行编码压缩。

一维DCT正交变换的公式为:

1F(0)?N?f(x)

x?0N?1F(u)?2N?1(2x?1)u? f(x)cos?Nx?02二维DCT正交变换的公式为:

g(x,y,0,0)?1 MN14

g(x,y,u,v)?12(MN)3[cos(2x?1)u?][cos(2y?1)v?]

,N?1)

(u?1,2,,M?1;v?0,1,2,DCT图像压缩可由下面M文件来实现,比较压缩前(图3-4)和压缩后(图3-5)图像[14]。程序运行后,工作区各数值见附录B。

I=imread('qau.tif'); I=im2double(I); T=dctmtx(8);

B=blkproc(I,[8 8],'P1*x*P2',T,T'); mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];

B2=blkproc(B,[8 8],'P1.*x',mask); I2=blkproc(B2,[8 8],'P1*x*P2',T',T); imshow(T) title('qau1') figure; imshow(I2) title('qau2')

15

图3-4 图3-5

通过分析Matlab工作区的数值,我们发现,此类编码方法存在图像失真,但

压缩比相对较高,对于要求保真度较低的图像来说,此方法更合适,且在图像保存与传输过程中,能更好的节约资源。 3.2.2 变换编码

图像数据一般具有较强的相关性,若所选用的正交矢量空间的基矢量与图像本身的主要特征相近,在该正交矢量空间中描述图像数据则会变得更简单。图像经过正交变换后,把握来分散在原空间的图像数据在新的坐标空间中得到集中。对于大多数图像,大量变换系数很小,只要删除接近于零的系数,并且对较小的系数进行粗量化,而保留包含图像主要信息的系数,以此进行压缩编码。在重建图像进行解码(逆变换)时,所损失的将是一些不重要的信息,几乎不会引起图像的失真,图像的变换编码就是利用这些来压缩图像的,这种方法可以得到较高的压缩比[15]。

变换编码首先将一幅N?N大小的图像分割成(N/n)2个子图像。然后对子图像进行变换操作,解除子图像像素间的相关性,达到用少量的变换系数包含尽可能多的图像信息的目的。接下来的量化步骤是有选择地消除或粗量化带有很少信息的变换系数,因为它们对重建图像的质量影响很小。然后是编码,一般用变长码对量化后系数进行解码。解码是编码的逆操作,由于量化是不可逆的,所以在解码中没有对应的模块,其实压缩并不是在变换步骤中取得的,而是在量化变换系数和编码时取得的[16]。

在变换编码中,其性能与所选用的正交变换类型、图像类型、变换块的大小、压缩方式和压缩程度等因素有关,但在变换方式确定之后,变换块的大小选择就显得尤为重要,这是因为大量的图像统计结果显示,大多数图像仅在约20个相

16

邻像素间有较大的相关性,而且一般当子图像尺寸n?16(像素)时,其性能已经改善不大。同时,子图像块过大,其中所包含的像素就越多,变换时所需的计算量也越大,因此一般子图像块的大小选为8?8或16?16[17]。

对图像进行子块划分的另一个好处是:它可以将传输误差所造成的图像损伤限制在子图像的范围之内,从而避免误码的扩散。

除了以上几种编码方法外,还有子带编码、模型基编码、分型编码等等,本文不作详细介绍。

4 总结

由于图像中通常存在冗余,数据量大,不利于传输、处理和存储,所以需要对待处理图像进行压缩编码,以减少描述图像的数据量。压缩可以在不失真地的前提下进行,也可以在允许的失真条件下进行。前者解压后可无失真地得到原图像信息,称为无损压缩编码;而后者只能得到原图像的近似,称为有损压缩编码。

本文从数字图像压缩的理论基础入手,首先对信息论中的信息、信息量和信息熵、图像信息中存在的冗余类型,以及衡量数据压缩性能的重要参数压缩比、平均码字长度、编码效率做个简单介绍,然后介绍了集中熵编码方法,详细介绍了Huffman编码、算术编码等重要的熵编码技术,给出了编码算法、部分MATLAB实现程序和相关的实现例子。在有失真编码中,主要介绍了基于DCT的图像压缩编码和变换编码的主要原理和实现技术。

选择合适的编码方法有利于更好的减少冗余度,起到更优的压缩效果。对比来看,Huffman编码是一种最佳变长码,其平均码长接近于熵值。这种编码由于是异字头码,所以具有唯一性,但是此编码方法容易出现错误传播。由于Huffman编码是可变长度码,因此很难随意查找或调用压缩文件中间的内容。

在信源符号比较接近的情况下,相对于Huffman编码,算术编码效率更高,而且适用于很多实际场合中,但是算术编码方法相对于Huffman编码来说,较复杂。通过实例我们看到,算术编码不需要预先定义概率模型,所以具有较强相关性的图片应采用算术编码,而相关性较小的单个信息源符号宜采用Huffman编码。在编码过程中,应根据具体图像类型来选择相应的编码方法。

17


信息论基础与编码课程论文.doc 将本文的Word文档下载到电脑
搜索更多关于: 信息论基础与编码课程论文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219