当前位置:首页 > 电子/通信 > 综合/其它 > 第12章图像压缩编码.
第12章图像压缩编码为什么要对图像进行压缩数字图象通常要求很大的比特数,这给图象的传输和存储带来相当大的困难。要占用很多的资源,花很高的费用。如一幅512x512的黑白图象的比特数为512x512x8=2,097,152bit=256k。再如一部90分钟的彩色电影,每秒放映24帧。把它数字化,每帧512x512象素,每象素的R、G、B三分量分别占8bit,总比特数为90x60x24x3x512x512x8bit=97,200M。如一张CD光盘可存600兆字节数据,这部电影光图象(还有声音)就需要160张CD光盘用来存储。对图象数据进行压缩显得非常必要。本章讨论的问题:在满足一定条件下,能否减小图象bit数,以及用什么样的编码方法使之减少。一般原始图像中存在很大的冗余度。用户通常允许图像失真。当信道的分辨率不及原始图像的分辨率时,降低输入的原始图像的分辨率对输出图像分辨率影响不大。用户对原始图像的信号不全都感兴趣,可用特征提取和图像识别的方法,丢掉大量无用的信息。提取有用的信息,使必须传输和存储的图像数据大大减少。可能性常见的数据冗余冗余:信息中存在着多余的数据。例:“你的朋友张三将于明天晚上8点整在华北水利水电大学龙湾湖等你”(28*2+1=57个半角字符)“你的朋友张三将于明天晚上8点在龙湾湖等你”“张三于明晚8点在龙湾湖等你”(12*2+1=25个半角字符)•数字图像的冗余主要表现为编码冗余、像素冗余、视觉心理冗余(1)编码冗余:如果一个图像的灰度级编码,使用了多于实际需要的编码符号,就称该图像包含了编码冗余。例:如果用8位表示该图像的像素,我们就说该图像存在着编码冗余,因为该图像的像素只有两个灰度,用一位即可表示。(2)像素冗余:由于任何给定的像素值,原理上都可以通过它的邻居预测到,单个像素携带的信息相对是小的。对于一个图像,很多单个像素对视觉的贡献是冗余的。这是建立在对邻居值预测的基础上。原始图像越有规则,各像素之间的相关性越强,它可能压缩的数据就越多。例:原图像数据:234223231238235压缩后数据:23411-8-73一些信息在一般视觉处理中比其它信息的相对重要程度要小,这种信息就被称为视觉心理冗余。•(3)视觉心理冗余:33K15K图像压缩的目的图像数据压缩的目的是在满足一定图像质量条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量。图像从结构上大体上可分为两大类,一类是具有一定图形特征的结构,另一类是具有一定概率统计特性的结构。基于不同图像结构特性,应采用不同的压缩编码方法。图像数据压缩技术的重要指标(1)压缩比:图像压缩前后所需的信息存储量之比,压缩比越大越好。(2)压缩算法:利用不同的编码方式,实现对图像的数据压缩。(3)失真性:压缩前后图像存在的误差大小。全面评价一种编码方法的优劣,除了看它的编码效率、实时性和失真度以外,还要看它的设备复杂程度,是否经济与实用。常采用混合编码的方案,以求在性能和经济上取得折衷。随着计算方法的发展,使许多高效而又比较复杂的编码方法在工程上有实现的可能。预测编码图像编码无损压缩编码有损压缩编码哈夫曼编码行程编码算术编码变换编码其他编码方法12.1图像压缩编码方法※无损压缩算法中删除的仅仅是图像数据中冗余的信息,因此在解压缩时能精确恢复原图像,无损压缩的压缩比很少有能超过3:1的,常用于要求高的场合。1.无损压缩编码※有损压缩是通过牺牲图像的准确率以实现较大的压缩率,如果容许解压图像有一定的误差,则压缩率可显著提高。有损压缩在压缩比大于30:1时仍然可重构图像,而如果压缩比为10:1到20:1,则重构的图像与原图几乎没有差别2.有损压缩编码(1)Huffman码哈夫曼编码是一种利用信息符号概率分布特性的变字长的编码方法。对于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编以长字长的码。这样可使码的平均长度qiiilpL1具有最小值,pi--si出现概率,li--对si编码的长度。信号源s={s1,s2,s3,s4,s5,s6},其概率分布为p1=0.4p2=0.3p3=0.1p4=0.1p5=0.06p6=0.04,求最佳Huffman码。方法:i.将信源符号按出现概率从大到小排成一列,然后把最末两个符号的概率相加,合成一个概率。ii.把这个符号的概率与其余符号的概率按从大到小排列,然后再把最末两个符号的概率加起来,合成一个概率。iii.重复上述做法,直到最后剩下两个概率为止。iv.从最后一步剩下的两个概率开始逐步向前进行编码。每步只需对两个分支各赋予一个二进制码,如对概率大的赋予码元0,对概率小的赋予码元1。输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.4输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101S1=1输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101S2=00输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101S3=011输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101S4=0100输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101S5=01010输入S1S2S3S4S5S6输入概率0.40.30.10.10.060.04第一步0.40.30.10.10.1第二步0.40.30.20.1第三步0.40.30.3第四步0.60.40101010101S6=01011哈夫曼编码效率信源熵为:H=-∑Pilog2Pi=-(0.4log20.4+0.3log20.3+2*0.1log20.1+0.06log20.06+0.04log20.04)=2.14比特/符号平均码字长度:R=∑βiPi码字长度R=∑βiPi=0.4×1+0.3×2+0.1×3+0.1×4+0.06×5+0.04×5=2.2比特/符号编码效率:η=H/R(%)η=H/R=2.14/2.2=0.973=97.3%(2)算术编码从理论上分析,采用哈夫曼编码可以获得最佳信源字符编码效果;实际应用中,由于信源字符出现的概率并非满足2的负幂次方,因此往往无法达到理论上的编码效率和信息压缩比;以信源字符序列{x,y}为例设字符序列{x,y}对应的概率为{1/3,2/3},Nx和Ny分别表示字符x和y的最佳码长,则根据信息论有:58.1)31(log2xN588.0)32(log2yN字符x、y的最佳码长分别为1.58bit和0.588bi;这表明,要获得最佳编码效果,需要采用小数码字长度,这是不可能实现的;即采用哈夫曼方法对{x,y}的码字分别为0和1,也就是两个符号信息的编码长度都为1。对于出现概率大的字符y并未能赋予较短的码字;实际编码效果往往不能达到理论效率;为提高编码效率,Elias等人提出了算术编码算法。算术编码的特点算术编码是信息保持型编码,它不像哈夫曼编码,无需为一个符号设定一个码字;算术编码分为固定方式和自适应方式两种编码;选择不同的编码方式,将直接影响到编码效率;自适应算术编码的方式,无需先定义概率模型,适合于无法知道信源字符概率分布的情况;当信源字符出现的概率比较接近时,算术编码效率高于哈夫曼编码的效率,在图像通信中常用它来取代哈夫曼编码;实现算术编码算法的硬件比哈夫曼编码复杂。编码原理算术编码方法是将被编码的信源消息表示成0-1之间的一个间隔,即小数区间,消息越长,编码表示它的间隔就越小;以小数表示间隔,表示的间隔越小所需的二进制位数就越多,码字就越长。反之,间隔越大,编码所需的二进制位数就少,码字就短。算术编码将被编码的图像数据看作是由多个符号组成的字符序列,对该序列递归地进行算术运算后,成为一个二进制分数;接收端解码过程也是算术运算,由二进制分数重建图像符号序列。编码举例设图像信源编码可用a、b、c、d这4个符号来表示,若图像信源字符集为{dacba},信源字符出现的概率分别如下表所示,采用算术编码对图像字符集编码。信源字符abcd出现概率0.40.20.20.2算术编码的基本步骤(1)根据已知条件和数据可知,信源各字符在区间[0,1]内的子区间间隔分别如下:a=[0.0,0.4)b=[0.4,0.6)c=[0.6,0.8)d=[0.8,1.0)(2)计算中按如下公式产生新的子区间:LRightStartEndLLeftStartStartCBNCBN(3)第1个被压缩的字符为“d”,其初始子区间为[0.8,1.0)(4)第2个被压缩的字符为“a”,由于其前面的字符取值区间为[0.8,1.0)范围,因此,字符“a”应在前一字符区间间隔[0.8,1.0)的[0.0,0.4)子区间内,可得:=0.8+0.0×(1.0-0.8)=0.8=0.8+0.4×(1.0-0.8)=0.88NStartNEnd(5)第3个被压缩的字符为“c”,由于其前面的字符取值区间为[0.8,0.88)范围内,因此,字符“c”应在前一字符区间间隔[0.8,0.88)的[0.6,0.8)子区间内,可得:=0.8+0.6×(0.88-0.8)=0.848=0.8+0.8×(0.88-0.8)=0.864NStartNEnd(6)第4个被压缩的字符为“b”,由于其前面的字符取值区间为[0.848,0.864)范围内,因此,字符“b”应在前一字符区间间隔[0.848,0.864)的[0.4,0.6)子区间内,可得:=0.848+0.4×(0.864-0.848)=0.8544=0.848+0.6×(0.864-0.848)=0.8576NStartNEnd(7)第5个被压缩的字符为“a”,由于其前面的字符取值区间为[0.8544,0.8)范围内,因此,字符“a”应在前一字符区间间隔[0.8544,0.8576)的[0.0,0.4)子区间内,可得:=0.8544+0.0×(0.8576-0.8544)=0.8544=0.8544+0.4×(0.8576-0.86544)=0.85568NStartNEnd经过上述计算,字符集{dacba}被描述在实数[0.8544,0.855
本文标题:第12章图像压缩编码.
链接地址:https://www.777doc.com/doc-2153293 .html