数字图像处理~图像编码_第1页
数字图像处理~图像编码_第2页
数字图像处理~图像编码_第3页
数字图像处理~图像编码_第4页
数字图像处理~图像编码_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图像编码

1图像编码的基本知识2图像压缩编码的方法3

哈夫曼编码4

香农-范诺编码5

行程编码6算术编码7离散小波变换DWT8离散余弦变换DCT1图像编码的基本知识

数字化后的图像信息数据量非常大,图像压缩利用图像数据存在冗余信息,去掉这些冗余信息后可以有效压缩图像。

1.空间(像素间、几何):在同一幅图片中,规则物体和规则背景(所谓规则是指表面有序的,而不是完全杂乱无章的排列)的表面物理特性具有相关性,这些相关性的光成像结果在数字化图像中就表现为数据冗余。2.时间冗余。在序列图像(电视图像、运动图像)中,相邻两帧图像之间有较大的相关性。3.信息熵冗余。信息熵冗余也称为编码冗余,如果图像中平均每个像素使用的比特数大于该图像的信息熵,则图像中存在冗余,称为信息熵冗余。4.结构冗余。有些图像(例如墙纸、草席等)存在较强的纹理结构,称为结构冗余。5.知识冗余。有许多图像对其理解与某些基础知识有相关大的相关性,例如:人脸的图像有固定的结构,嘴的上方有鼻子,鼻子的上方有眼睛,鼻子位于正脸图像的中线上等。这些规则性的结构可由先验知识和背景知识得到,称此类冗余为知识冗余。6.心理视觉冗余。人类的视觉系统对于图像场的注意是非均匀和非线性的,特别是视觉系统并不是对图像场的任何变化都能感知,即眼睛并不是对所有信息都有相同的敏感度。有些信息在通常的视觉感觉过程中与另外一些信息相比来说并不是那么重要,这些信息可认为是心理视觉冗余的,去除这些信息并不是明显地降低所感受到的图像的质量。1图像编码的基本知识

2图像压缩编码的方法

图像压缩编码分为有损压缩和无损压缩。无损压缩无信息损失,解压缩时能够从压缩数据精确地恢复原始图像;有损压缩不能精确重建原始图像,存在一定程度的失真。根据编码原理将图像编码分为:(1)熵编码:无损编码,给出现概率较大的符号赋予一个短码字,而给出现概率较小的符号赋予一个长码字,从而使得最终的平均码长很小。2图像编码的方法(2)预测编码:基于图像数据的空间或时间冗余特性,用相邻的已知像素(或像素块)来预测当前像素(或像素块)的取值,然后再对预测误差进行量化和编码。(3)变换编码:将空间域上的图像变换到另一变换域上,变换后图像的大部分能量只集中到少数几个变换系数上,采用适当的量化和熵编码就可以有效地压缩图像。(4)混合编码:综合了熵编码、变换编码或预测编码的编码方法。如JPEG标准和MPEG标准。

(1)Huffman编码原理:整体的大部分字符是由较短的编码从而保证文件出现频率高低的顺序分别赋以由短到长的代码,先统计数据中各字符出现的概率,再按字符所构成。3哈夫曼编码编码思想①将信源符号按概率递减顺序排列;②将两个最小的概率加起来作为新符号的概率;③重复步骤①和②,直到概率和等于1;④完成上述步骤后沿路径返回进行编码。寻找从每一信源符号到概率为1处的路径,每层有两个分支,分别大的概率赋予0和小的概率为1,从而得到每个符号的编码。3010402020402002020303020402040(1)

统计出每级灰度出现的频率:灰度值:010203040出现频率:1/161/167/163/164/16霍夫曼编码举例3010402020402002020303020402040哈夫曼编码(2)从左到右把上述频率按从小到大的顺序排列。灰度值:010304020出现频率:1/161/163/164/167/163010402020402002020303020402040哈夫曼编码(3)

选出频率最小的两个值(1/16,1/16)作为二叉树的两个叶子节点,将频率和2/16作为它们的根节点,新的根节点再参与其它频率排序:

2/163/165/167/161/161/162/163010402020402002020303020402040哈夫曼编码(4)

选出频率最小的两个值(2/16,3/16)作为二叉树的两个叶子节点,将频率和5/16作为它们的根节点,新的根节点再参与其它频率排序:

4/165/167/161/161/162/163/165/163010402020402002020303020402040哈夫曼编码(5)

选出频率最小的两个值(4/16,5/16)作为二叉树的两个叶子节点将频率和9/16作为它们的根节点,新的根节点再参与其它频率排序:7/169/161/161/162/163/165/164/169/163010402020402002020303020402040哈夫曼编码(6)最后两个频率值(7/16,9/16)作为二叉树的两个叶子节点,将频率和1作为它们的根节点。1/161/162/163/165/164/169/167/1613010402020402002020303020402040哈夫曼编码(7)分配码字。将形成的二叉树的左节点标0,右节点标1。把从最上面的根节点到最下面的叶子节点途中遇到的0,1序列串起来,就得到了各级灰度的编码.

010030140020011103010402020402002020303020402040哈夫曼编码各灰度的编码如下:灰度值:204030100哈夫曼编码:01011111011100则图所示的图像哈夫曼编码为:1111010100101100000111111010100010030140020011104香农-范诺编码香农-范诺编码的理论基础是符号的码字长度完全由该符号出现的概率来决定。

香农-范诺编码与Huffman编码相反,采用从上到下的方法。香农-范诺(二分法)编码具体步骤:(1)首先将编码字符集中的字符按照出现频度和概率进行排序。后面的赋值为1直至不可再分,即每一个叶子对应一个字符。(3)编码(从根结点开始)。(2)用递归的方法分成两部分,使两个部分的概率和接近于相等。给前一个子集合赋值为0,

如:设一副灰度级为8的图象中,各灰度所对应的概率分别为0.04,0.05,0.06,0.07,0.10,0.10,0.18,0.40,现在对其进行二分法香农-范诺编码?编码举例s0,s1,s2,s3,s4,s5,s6,s7s2,s3,s4,s5,s6,s7s0,s10.580.42s2,s3s4,s5,s6,s7s0s1s4,s5s6,s7s2s3s4s5s6s7s00.40s1s2s3s4s5s60.180.100.100.07s70.060.050.040.200.220.130.0901010101010101S0:00S1:01S2:100S3:101S4:1100S5:1101S6:1110S7:11115行程编码行程编码基本方法(RLE)

行程编码又称行程长度编码(RunLengthEncoding,RLE),是一种熵编码,其编码原理是将具有相同值的连续串用其串长和一个代表值来代替,该连续串就称为行程,串长称为行程长度。RLE编码简单直观,编码/解码速度快,因此许多图形、均采用此方法。图像和视频文件,如.BMP、.TIFF及AVI等格式文件的压缩定长行程编码:编码的行程长度所用的二进制位数固定。变长行程编码:不同范围的行程长度用不同编码位,需要增加标志位来表明所使用的二进制位数。3,,12,4,,9,,1,行程编码基本方法例如:aabbbcddddd的行程长度编码为2a3b1c5d。二值图变长行程编码的一种方法

3124911111001001001111110010010011

(不知道各行程应在何处分断)可以定义:可表示行程长度值编码编码长度1-40??35-810???59-16110????717-321110?????933-6411110??????1165-128111110???????13

如:1100的编码为:1100-1=1011(十进制11)??行程编码为:1101011

01011010110111101000000

31249111110010010011

10101111100000101101011

0111101000000还原方法:从符号串左端开始往右搜索,遇到第一个0时停下来,计算这个0的前面有几个1。设1的个数为K,则在0后面读K+2个符号,这K+2个符号所表示的二进制数加上1的值就是第1个行程的长度。开始搜索第一个0该0前1的个数为0读0+2个字符10+01=11第二个0该0前1的个数为2读2+2个字符1011+0001=1100第三个0该0前1的个数为0读0+2个字符11+01=100第四个0该0前1的个数为2读2+2个字符1000+0001=1001第五个0该0前1的个数为0读0+2个字符00+01=01(1)0101110110111110000000000000开始搜索第一个0该0前1的个数为0读0+2个字符10+01=11第二个0该0前1的个数为2读2+2个字符1011+0001=1100第三个0该0前1的个数为0读0+2个字符11+01=100第四个0该0前1的个数为2读2+2个字符1000+0001=1001第五个0该0前1的个数为0读0+2个字符00+01=01(1)0101110110111110000000000000RLE所能获得的压缩比主要取决于图像反之,压缩比就越小。块越大,本身的特点。若图像中具有相同颜色的图像图像块数目越少,则压缩比就越高,行程编码适合于对二值图像的编码,如果图像是由很多块颜色或灰度相同的大面积区域组成的,采用行程编码可以达到很大的压缩比。通常,为了达到比较好的压缩效果,一般不单独使用行程编码,而是和其他编码方法结合使用。如:在JPEG中,就综合使用了行程编码以及哈夫曼编码。

6算术编码是一种从整个符号序列出发,采用递推形式连续编码的方法,与建立在符号和码字对应基础上的块码不同,在算术编码中,源符号和码字间的一一对应关系并不存在。1个算术码字要赋给整个信源符号码字,而每个码字本身确定了0和1之间的1个实数区间。 算术编码具体方法是将被编码的信源消息表示成实数轴0-1之间的一个间隔,消息越长,编码表示的间隔就越小,即这一间隔所采用算术编码每个符号的平均编码长度可以为小数。需的二进制位数就越多。算术编码算术编码对信源“baacc”进行算术编码(1)计算信源中各符号出现的概率P(a)=0.4,P(b)=0.2,

P(c)=0.4。(2)将数据序列中的各数据符号在区间[0,1]内的间隔(赋值范围)设定为a=[0,0.4),

b=[0.4,0.6),c=[0.6,1.0]。算术编码(3)第一个被压缩的符号为“b”,其初始间隔为[0.4,0.6);(4)第二个被压缩的符号为“a”,由于前面的符号“b”的取值区间被限制在[0.4,0.6)范围内,所以“a”的取值范围应在前一符号间隔[0.4,0.6)的[0,0.4)子区间内:

起始位为0.4+0×(0.6-0.4)=0.4终止位为0.4+0.4×(0.6-0.4)=0.48即“a”的实际编码区间在[0.4,0.48)之间。算术编码(5)第三个被压缩的符号为“a”,由于前面的符号“a”的取值区间被限制在[0.4,0.48)范围内,所以“a”的取值范围应在前一符号间隔[0.4,0.48)的[0,0.4)子区间内:

起始位为0.4+0×(0.48-0.4)=0.4终止位为0.4+0.4×(0.48-0.4)=0.432即“a”的实际编码区间在[0.4,0.432)之间。算术编码(6)第四个被压缩的符号为“c”,其取值范围应在前一符号间隔[0.4,0.432)的[0.6,1]子区间内:起始位为0.4+0.6×(0.432-0.4)=0.4192终止位为0.4+1×(0.432-0.4)=0.432

即“c”的实际编码区间在[0.4192,0.432]之间。算术编码(6)第五个被压缩的符号为“c”,其取值范围应在前一符号间隔[0.4192,0.432)的[0.6,1]子区间内:

起始位为0.4192+0.6×(0.432-0.4192)=0.42688终止位为0.4192+1×(0.432-0.4192)=0.432即“c”的实际编码区间在[0.42688,0.432]之间。算术编码(7)把区间[0.42688,0.432]用二进制形式表示为[0.0110110101001,0.011011101000011]。(8)在这个区间中找出其编码最短的二进制作为算术编码。可以看出,0.0110111是此区间最短的编码,且算术编码中任一数据序列的编码都含有“0.”,在编码时,可以不考虑“0.”,故把0110111其作为数据序列“baacc”的算术编码。解码如下:(0.42688-0)/1=0.42688b(0.42688-0.4)/0.2=0.1344a(0.1344-0)/0.4=0.336a(0.336-0)/0.4=0.84c(0.84-0.6)/0.4=0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论