数字图像处理读书报告9
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理读书报告9
——图像压缩
——钱增磊
前言:前面几章都是讲解对数字图像的处理方法,这些处理终将为某一目的而执行,其中的很大一应用便是存储和传输,这就用到了图像压缩的技术。我本是视频编解码的研究方向,对于图像压缩技术也靠近本研究方向,当作基础学习。本章主要两个部分,一个是介绍一下压缩技术的基础知识,另一个就是介绍一些常用的压缩方法。
一、基础知识
1、数据冗余
在一幅数字图像中,如果我们用空间像素乖乖的对其顺序编码,那么它会产生庞大的数据量,对于处理起来就会增加很多时间和空间的开销。而一幅图像中往往所表示的信息有多有少,有一些在我们识别和处理的时候是不需要的,这些便为数据冗余,主要有三种:编码冗余、空间和时间冗余以及不相关信息。
编码冗余:在我们标记像素进行编码时,用于表示灰度的8比特编码所包含的比特数要比表示该灰度所需的比特数多,从而产生的冗余;
空间和时间冗余:多数的二维灰度阵列的像素是空间相关的和时间相关的(视频序列中体现),在相关像素的表示中就不需要重复了,从而产生的冗余;
不相关信息:主要指一些被人类视觉系统忽略或者无用的信息。
对于描述图像信息的度量,这里给出熵的定义,对于一个离散的事件,给定一个统计独立随机事件的信源,则每个信源输出的平均信息称为该信源的熵,即:
∑=-=J
j j j a P a P H 1)(log )( 香农第一定理:H n L n avg n =⎥⎦
⎤⎢⎣⎡∞→,lim 其中n avg L ,是表示所有n 个符号组所需的编码符号的平均数,也就是说,用每个信源符号H 信息单位的平均来表示零记忆信源的输出是可能的。
2、图像压缩模型
图像的压缩系统主要由一个编码器和一个解码器构成,编码器执行压缩操作,解码器执行互补操作。对于编码器,一般由映射器、量化器和符号编码器组成,映射器主要将输入图像变化为设计来降低空间和时间冗余的形式,这一操作一般可逆。而量化器是根据保真度准则来降低映射器输出的精度,排除压缩表示的一些无关信息,这一操作一般不可逆。符号编码器便是根据量化后的数据进行编码,这操作也是可逆的。而解码则是一个相反的操作,
由于在量化阶段是个不可逆的操作,所以往往解码的图像会产生不同程度的失真。
3、图像格式及压缩标准
由于压缩方式众多,为了便于统一化管理制定了一些压缩标准。其中静态图像分为二值图像和连续音调,国际支持的条目有CCITT Group3、CCITT Group4、JBIG 、JBIG2、JPEG 、JPEG-LS 、JPEG-2000;视频的条目有DV 、H.261、H.262、H.263、H.264、MPEG-1、MPEG-2、MPEG-4、MPEG-4 A VC 。
二、常用的压缩方法
1、霍夫曼编码
霍夫曼编码对每个信源符号产生了可能最小数量的编码符号,一个信源符号不是图像的灰度,就是一个灰度映射操作的输出(如像素差值等)。
编码过程:
▶它首先对所考虑的符号的概率进行排序,并将具有最小概率的符号合并为一个符号,来替代下次信源化简过程中的符号;
▶其次对每个化简后的信源进行编码,从最小开始。然后依次将合并的信源符号依次展开在进行编码。
它的一个特定是在解码过程中,任何编码符号串只能以一种方式进行解码,可以通过从左到右的方式对该串中的每个符号进行分析来解码。
2、Golomb 编码
它在计算上比霍夫曼编码更为简单,而且要求只能对非负整数进行编码。对于非负整数n 和一个正整数除数0>m ,表示为)(n G m 的n 关于m 的Golomb 编码是商⎣⎦m n /的一元编码和m n mod 的二进制表示的一个合并。其编码过程为:
▶形成商⎣⎦m n /的一元编码(整数q 的一元编码定义为q 个1紧跟一个0)。
▶令⎡⎤m n r m c m k k mod ,2,log 2=-==,并计算截短的余数'
r 。
▶连接二者的结果。
3、算术编码
对于上述两个编码不同,算术编码生成的是非块码,它是给信源符号的整个序列分配了一个单一的算术码字,这个码子本身定义了一个介于0和1之间的实数间隔。当消息中的符号数量增加时,其消息的间隔也变小,而表示间隔所需的信息单位就会增大。它是通过消息的每个符号根据其符号出现的概率来减小该区间的大小的。
从该编码可知,当序列的长度增加的时候,得到的算术编码接近香农第一定理所设定的界限,但是会有两个不利的因素:一个是分开每一个消息而增加的结束指示符数量增加;另一个便是精度的限度,不可无限分下去。于是便采用一种缩放策略和舍入策略来解决这两个问题。缩放则是对每一子区间重新归一化到[0,1);而舍入则是对其进行截短。
为了使得平均码字符号数最小,采用自适应、上下文相关的概率模型,概率就适应被
编码符号的局部统计。
4、LZW 编码
前三种编码是用于消除编码冗余的压缩方法,而Lempel-Ziv-Welch 编码则是致力于消除空间冗余的无误差压缩方法。其编码步骤如下:
▶构建包含被编码信源符号的码书或字典,扫描图像像素,将不在字典中的信源符号序列被放置到算法确定的位置,直至扫描完成,这里指的是序列,而非单个符号;
▶按从左到右、从上到下进行编码,对每一个链接的序列搜索字典,如果找到了,则用新链接且可识别的序列代替它,如果没有找到,则将当前可识别序列的地址作为下一个编码值输出。
这样对于有规律的,较多重复的特征的图像能够得到很好地压缩。这里所要考虑的主要还是字典的容量,由于是动态建立字典,当字典溢出时可通过用刷新该字典或者跟踪并替换使用最少的字典词条来解决。
5、行程编码
如果对于沿行(或列)重复灰度的图像,通常可用相同灰度的行程表示为行程对来压缩,每个行程对指定一个新灰度的开始和具有该灰度的连续像素的数量。该方法为行程编码技术。该方法对于二值图像特别有效。这里定义行程熵:
1
010L L H H H RL ++= 其中0H 为黑色行程信源的熵估计,1H 表示白色行程熵的估计,10,L L 分别表示黑色行程和白色行程的平均值,上式提供了对二值图像的行程使用变长编码时所要求的每像素平均比特数的估计。
6、基于符号的编码
对于一幅图像表示为多幅频繁发生的子图像的一个集合,就可采用该压缩方式。对于每一个子图像定义为符号,该符号存储在一个符号字典中,给定一个三元组),,(i i i t y x ,其中前两个可以称为在图像中每一个符号的位置,而后一个t 则表示该符号在字典中的地址。那么对于重复出现的字符,可以通过该方法不断地调用字典中的符号,大大减少了编码的数量。
其中JBIG2压缩便是采用了这种压缩方法。该压缩标准针对二级图像压缩的国际标准,将一幅图像分割成正文、半色调、和普通内容。其中正文部分采用的便是基于符号的编码;而半色调区域是按规则网络排列的模式组成,有一个个图形组成,于是将该图形也就是灰度的周期模式存储在字典中;普通区域是用MMR 编码压缩的。
7、比特平面编码
基于符号编码和行程编码主要是用于对二值图像的编码,那么对于多级灰度级的图像,可将其分解为一系列的二值图像,然后用上述两种方法进行编码,也就是所谓的比特平面编码。那么对于其分解主要有两种方法,第一种是利用基2的多项式中的系数来编码的方法,