




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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码哈夫曼编码是一种利用信息符号概率分布特性的变字长的编码方法。对于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编以长字长的码。这样可使码的平均长度具有最小值,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码。例方法:将信源符号按出现概率从大到小排成一列,然后把最末两个符号的概率相加,合成一个概率。把这个符号的概率与其余符号的概率按从大到小排列,然后再把最末两个符号的概率加起来,合成一个概率。重复上述做法,直到最后剩下两个概率为止。从最后一步剩下的两个概率开始逐步向前进行编码。每步只需对两个分支各赋予一个二进制码,如对概率大的赋予码元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的最佳码长,则根据信息论有:字符x、y的最佳码长分别为1.58bit和0.588bi;这表明,要获得最佳编码效果,需要采用小数码字长度,这是不可能实现的;即采用哈夫曼方法对{x,y}的码字分别为0和1,也就是两个符号信息的编码长度都为1。对于出现概率大的字符y并未能赋予较短的码字;实际编码效果往往不能达到理论效率;为提高编码效率,Elias等人提出了算术编码算法。算术编码的特点
算术编码是信息保持型编码,它不像哈夫曼编码,无需为一个符号设定一个码字;算术编码分为固定方式和自适应方式两种编码;选择不同的编码方式,将直接影响到编码效率;自适应算术编码的方式,无需先定义概率模型,适合于无法知道信源字符概率分布的情况;当信源字符出现的概率比较接近时,算术编码效率高于哈夫曼编码的效率,在图像通信中常用它来取代哈夫曼编码;实现算术编码算法的硬件比哈夫曼编码复杂。编码原理
算术编码方法是将被编码的信源消息表示成0-1之间的一个间隔,即小数区间,消息越长,编码表示它的间隔就越小;以小数表示间隔,表示的间隔越小所需的二进制位数就越多,码字就越长。反之,间隔越大,编码所需的二进制位数就少,码字就短。算术编码将被编码的图像数据看作是由多个符号组成的字符序列,对该序列递归地进行算术运算后,成为一个二进制分数;接收端解码过程也是算术运算,由二进制分数重建图像符号序列。编码举例设图像信源编码可用a、b、c、d这4个符号来表示,若图像信源字符集为{dacba},信源字符出现的概率分别如下表所示,采用算术编码对图像字符集编码。算术编码的基本步骤(1)根据已知条件和数据可知,信源各字符在区间[0,1]内的子区间间隔分别如下:a=[0.0,0.4)b=[0.4,0.6)c=[0.6,0.8)d=[0.8,1.0)(2)计算中按如下公式产生新的子区间:
(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.88(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.864(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.8576
(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.85568经过上述计算,字符集{dacba}被描述在实数[0.8544,0.85568)子区间内,即该区间内的任一实数值都惟一对应该符号序列{dacba};因此,可以用[0.8544,0.85568)内的一个实数表示字符集{dacba}。[0.8544,0.85568)子区间的二进制表示形式为:[0.1101101010000110,0.1101101100001101);在该区间内的最短二进制代码为0.11011011,去掉小数点及其前的字符,从而得到该字符序列的算术编码为11011011。算术编码可以通过硬件电路实现,在上述乘法运算,可以通过右移来实现,因此在算术编码算法中只有加法和移位运算。算术编码效能
根据上述运算结果,编码11011011惟一代表字符序列{dacba},因此,平均码字长度为:
bit/字符(3)行程编码
RLE编码——RunLengthEncoding概念:行程:具有相同灰度值的像素序列。编码思想:去除像素冗余。用行程的灰度和行程的长度代替行程本身。例:设重复次数为iC,重复像素值为iP 编码为:iCiPiCiPiCiP 编码前:aaaaaaabbbbbbcccccccc
编码后:7a6b8c由于一幅图像中有许多颜色相同的图块,用一整数对存储一个像素的颜色值及相同颜色像素的数目(长度)。例如:(G,L)
长度颜色值编码时采用从左到右,从上到下的排列,每当遇到一串相同数据时就用该数据及重复次数代替原来的数据串。000000003333333333222222222226666666111111111111111111111111555555555555888888888888888888555555555555553333222222222222222222(0,8)(3,10)(2,11)(6,7)(1,18)(1,6)(5,12)(8,18)(5,14)(3,4)(2,18)18*7的像素颜色仅用11对数据分析:对于有大面积色块的图像,压缩效果很好直观,经济,是一种无损压缩对于纷杂的图像,压缩效果不好,最坏情况下,会加倍图像容量
一维行程编码将图像逐行排列成一个一维矩阵,然后对其像素进行行程编码。例:图像中某一行的灰度值为40,40,40,40,40,232,232,232,232,232,0,0,0,0,0,0,0,0,93,93,93,93,56,93,93,93,93,93灰度统计:用3bit表示行程长度,8bit表示灰度,则编码为:5,40,5,232,7,0,1,0,4,93,1,56,5,93二维行程编码排列方式1实际将图像分成一定大小的子块,对图像的每个子块进行编码排列方式2。在变换编码中常用,例DCT变换编码例:对图像行程编码。用8bit表示一个灰度,其原始数据量:N0=8×64=512bit按一维行程编码:最大行程为5,可用3bit表示。用8bit表示一个灰度,则数据量:N1=(3+8)×46=506bit按排列方式一进行二维行程编码:最大行程为9,将其拆成7和2两个行程,则仍可用3bit表示。用8bit表示一个灰度,则数据量:N2=(3+8)×41=451bit按方式二进行行程编码对图像先作DCT并将其系数量化取整将上述结果按F=F+1处理,使系数落在[0,255]范围。然后按排列方式二编码:1,66,1,0,1,2,61,1最大行程为61,用6bit表示,系数值用8bit,则数据量为:N3=(6+8)×4=56bit
变换编码的基本原理是将空域中的图像信号,变换到另外一些正交空间中去,用变换系数来表示原始图像,并对变换系数进行编码。一般来说在变换域里描述要比在空域简单,因为图像的相关性明显下降。尽管变换本身并不带来数据压缩,但变换图像的能量大部分只集中于少数几个变换系数上,采用量化和熵编码则可以有效地压缩图像的编码比特率。(4)变换编码
图像信息经过变换处理,相邻像元之间的相关性明显下降,有利于图像的编码压缩。图像频谱中的变换系数,表示图像在不同空间频率上的相对幅度,而且某一空间频率所包含的信息来自整个图像,频谱能量主要集中在低频部分,谱能量随频率的增加而迅速下降,变换编码受噪声干扰的影响较小。图象的变换编码,随着数字信号处理技术的发展,特别是快速变换的算法和大规模集成电路(LSI)的出现,使它具有实际应用的可能。
变换编码的特点
变换本身不能直接减少数码率,只有通过适当的编码,才能利用变换来压缩图像数据。例,设一幅8x8的图像信息如下图并对其进行二维Walsh变换上面的例子说明,原始信号的能量分布是相当分散的,经过变换后却相当集中,而且主要集中在少数的频率谱上。对极大部分区域来说,它的谱能量为零。为了达到数据的压缩,即选出能量集中的区域进行编码,而放弃不集中的区域。变换编码的基本原理——举例原始图像
相应的DCT系数5255 6166 706164736359 6690 1098569726259 6811314410466736358 7112215410670696761 681041268868707965 6070 776858758571 6459 556165838779 6968 65767894-415-29-62 2555 -20-1 37-21-62 911 -7-6 6-46877-25-30 107 -5-501335-15-9 60 311-8-13-2-1 1-4 1-1013-3-1 02 -1-4-12-12 -31 -2-1-1-1-2-1 -10 -1变换编码的基本步骤(1)图像分块,用一个可逆线性变换(如傅立叶变换)把图像映射到变换系数集合。(2)对该系数集合进行量化和编码。对于大多数图像,重要系数的数量是比较少,且图像失真较小。(3)在接收端对接收到的码流进行解码,分离出各变换系数,且对舍去的系数用“0”来代替,然后求反变换,恢复各图像子块。变换编码的基本步骤编码、解码流程构造子图象正交变换量化编码解码反正交变换合并子图象变换编码的一般系统框图输入输出实现变换压缩算法的主要问题变换的选择子图尺寸的选择量化和编码主要问题一:变换的选择
1、可以选择的变换1)K-L变换(KLT)2)离散傅立叶变换(DFT)
3)离散余弦变换(DCT)
4)Walsh-Hadamard变换(WHT)5)小波变换2、对变换的评价按信息封装能力排序:KLT,DCT,DFT,WHT,HRT若输入是广义平稳序列,则存在一种最佳的正交变换——卡洛变换。所谓最佳:1.变换系数互不相关;2.数值较大的方差出现在少数系数中,即能量高度集中。这样,可在允许的总的均方误差一定的条件下,将数据减到最少。主要问题二:子图尺寸的选择子图尺寸的选择有两个原则:1)如果n是子图的维数,n应该是2的整数次方。为便于降低计算复杂度。2)
n一般选为8x8或16x16。由实践得到:随着n的增加,块效应相应减少。主要问题三:量化和编码1)系数选择---区域法
---阈值法
2)所选系数的量化和编码选择能量集中的区域进行编码,舍弃能量为零和零星能量区域,从而达到数据压缩的目的,这就是区域编码。
a)
区域法下图是16×16、6比特图像数据阵列下图是原点在中心、与前图相对应的傅里叶变换域频谱下图是原点在中心、与前图相对应的傅里叶变换域频谱可见,在傅里叶变换域中,大部分区域谱能量为零,谱能量主要集中在中心附近少数频率谱上。因此,针对变换系数矩阵的这一特点,我们可以选择能量集中的区域进行编码,舍弃能量为零和零星能量区域。区域编码的压缩效率与编码区域的选定有一定关联。在原始图像事先经过滤波、滤波器的频率特性已知的情况下,运用此方法还是比较适宜的。如果对变换域内的能量分布不十分清楚,或者说希望对变换域内的所有变换系数作某种规则的编码,则区域编码就显得力不从心。b)
阈值法阈值编码是不按区域,而是按变换系数的幅度进行编码。它将变换系数与门限值相比较,大于门限的给予编码,否则舍弃。这种方法有一定的自适应能力,可以得到较区域编码好的图像质量。右图(a)为8×8图像子块的灰度分布,经沃尔什变换后,变换系数分布如图(b)示。假定代表像素位置的行号、列号均以4位表示,阈值大于零,变换系数统一以7比特编码,即(行号-4bit,列号-4bit,变换系数-7bit)则对于(b)的编码结果为000000000111101001000100100000编码输出总码长为30比特。有3种对变换子图像取阈值的方法:对所有子图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购买阜阳货车合同范本
- 酒楼承包酒席合同范本
- 湖北工程职业学院《体育产品概论》2023-2024学年第二学期期末试卷
- 2024-2025学年广东省汕头市潮南实验学校校高考生物试题(甲卷)含解析
- 2024-2025学年上海市杨浦区交大附中高考模拟冲刺卷(提优卷)(二)生物试题理试题含解析
- 大兴安岭职业学院《交际韩语》2023-2024学年第二学期期末试卷
- 2025届江苏省扬州市高邮市八校联考初三物理试题下学期期中考试物理试题含解析
- 辽宁金融职业学院《数字产品UI设计》2023-2024学年第二学期期末试卷
- 浙江工商大学《群体遗传学导论》2023-2024学年第二学期期末试卷
- 广东舞蹈戏剧职业学院《学前教育现代教育技术》2023-2024学年第二学期期末试卷
- 2024带病体保险创新研究报告
- 3.28百万农奴解放纪念日演讲稿1500字2篇
- 员工节能环保培训课件
- 《精益生产培训》课件
- 学校招生工作培训方案
- 访谈记录表模板
- 初高中物理的区别以及如何学好高中物理课件
- 工程结构静力试验
- MQL4命令中文详解手册
- 国家开放大学《人文英语3》章节测试参考答案
- 撤销冒名登记(备案)申请表
评论
0/150
提交评论