基于霍夫曼编码实现的图像数据无损压缩程序设计文件综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于霍夫曼编码实现的图像数据无损压缩

程序设计

1.前言

现代社会是信息社会,我们无时无刻都在跟信息打交道,如上网查阅图文资料,浏览最新的新闻,QQ聊天或者传送文件等。人类对信息的要求越来越丰富,希望无论何时何地都能够方便、快捷、灵活地通过文字、语音、图像以及视频等多媒体进行通信。在早期的通信领域中,能够处理和传输的主要是文字和声音,因此,早期的计算机和通信设备的处理能力跟人类的需求有相当大的差距。随着通信信道及计算机容量和速度的提高,如今图像信息已成为通信和计算机系统的一种处理对象,成为通信领域市场的热点之一。可是,大数据量的图像信息会给存储器的存储容量、通信干线信道的带宽以及计算机的处理速度增加极大的压力。单纯依靠增加存储器容量、提高通信网络带宽和计算机处理速度来解决问题,在技术和经济上都不太现实。显然,在信道带宽、通信链路容量一定的前提下,采用编码压缩技术,减少传输数据量,是提高通信速度的重要手段。

2.正文

2.1 图像压缩编码的现状和发展趋势

1948年提出电视数字化后,就开始对图像压缩编码技术的研究工作,至今已有50多年的历史。图像压缩的基本理论起源于20世纪40年代末香农的信息理论。香农的编码定理告诉我们,在不产生任何失真的前提下,通过合理的编码,对于每一个信源符号分配不等长的码字,平均码长可以任意接近于信源的熵。在五十年代和六十年代,图像压缩技术由于受到电路技术等的制约,仅仅停留在预测编码、亚采样以及内插复原等技术的研究,还很不成熟。1969年在美国召开的第一届“图像编码会议”标志着图像编码作为一门独立的学科诞生了。到了70年代和80年代,图像压缩技术的主要成果体现在变换编码技术上,矢量量化编码技术也有较大发展,有关于图像编码技术的科技成果和科技论文与日俱增,图像编码技术开始走向繁荣。自80年代后期以后,由于小波变换理论,分形理论,人工神经网络理论,视觉仿真理论的建立,人们开始突破传统的信源编码理论,例如不再假设图像是平稳的随机场。图像压缩编码向着更高的压缩比和更好的压缩质量的道路前进,进入了一个崭新的、欣欣向荣的大发展时期。

如今图像压缩编码技术广泛地被应用在各个领域。如:电视计算机、多媒体出版物、遥感图像数据库等。它已经为开创新的应用领域提供了良好的技术基础。

到目前为止,图像压缩编码技术已经发展到第二代编码技术。

1、第一代编码技术包括建立在shannon的码率失真理论基础上的预测编码、变换编码、统计编码及Oliver提出的PCM编码理论。虽然这些编码技术在中等压缩率的情况下,能提供非常好的图像质量,但在码率非常低得情况下,无法提供令人满意的质量。究其原因是由于这些技术没有利用图像的结构特点,同时也没有考虑人类视觉系统的特性,因此它们也就只能以像素或块作为编码的对象。

2、第二代编码包括基于分形的编码、基于模型的编码、基于区域分割的编码,以及基于神经网络的编码等。这类编码技术不再局限于信息论的框架,充分利用了人类视觉以及图像信源的各种特征,实现从“波形”编码到“模型”编码的转变,获得了更高的压缩比。

2.2 关于数据图像无损压缩编码

图像编码发展至今已经非常成熟了,但新颖的编码方法仍然层出不穷。不管具体的编码形式如何,它们都是力图消除图像中的一种或者多种冗余。根据由压缩数据恢复的图像与原始图像的差别,图像数据压缩可以简单分为两类:“有损压缩”和“无损压缩”。其中无损压缩在信息论中就称为“熵编码”。无损压缩仅仅是删除图像数据中的冗余信息,在可完全恢复原始数据而不引入任何失真的条件下使比特率最小的压缩方法。由于压缩率受到数据统计冗余度的理论限制,压缩比一般为2:1到5:1.在众多的应用中,无损压缩是仅有的可以接受的数据压缩方法,其中的一种应用是医疗或商业文件的归档。在这些应用场合中,有损压缩通常因为法律原因而被禁止。另一种应用是卫星成像处理。还有一类应用是数字X光照相术,这种应用中信息的丢失会导致损坏诊断的精确性。在这一类的情况下,无损压缩的需要是由与其用户和图像性质所推动的。

无损压缩广泛地被应用在各个所需的领域,适应当前多媒体技术发展的需要。可见,这一领域的突破对于通信和多媒体事业的发展将具有深远的影响。经常使用的无损压缩方法有游程编码、霍夫曼编码和算术编码等。

2.21 游程编码原理

游程编码主要用于量化后出现概率大量零系数的情形,利用游程来表示连零码,以降低为表示零码所用的数据量。游程编码往往与其他编码方法结合使用。

游程编码通过将信源中相同符号序列转换成一个计数字段再加上一个重复字符标志实现压缩。译码时按照与编码时采用的相同规则进行,还原后得到的数据与压缩前的数据完全相同。因此,RLE是无损压缩技术。

游程:数字序列中连续出现相同符号的一段。

(1)二元序列的游程:只有“0”和“1”两种符号。连0的个数称为0游程;连1的个数称为1游程。

(2)游程变换:二元序列 000101110010001.、、、、、、可变换成如下游程序列 30 11 10 31 20 11 30 11

当游程很短,也就是像素的灰度频繁改变时,使用行程码不适宜的。

2.22霍夫曼编码原理

霍夫曼编码属于码词长度可变的编码类,是霍夫曼在1952年提出的一种编码方法,即从下到上的编码方法。同其他码词长度可变的编码一样,可区别的不同码词的生成是基于不同符号出现的不同概率。生成霍夫曼编码算法基于一种称为“编码树”(coding tree)的技术。算法步骤如下:

(1)初始化,根据符号概率的大小按由大到小顺序对符号进行排序。

(2)把概率最小的两个符号组成一个新符号(节点),即新符号的概率等于这两个符号概率之和。

(3)重复第2步,直到形成一个符号为止(树),其概率最后等于1。

(4)从编码树的根开始回溯到原始的符号,并将每一下分枝赋值为1,上分枝赋值为0。

以下这个简单例子说明了这一过程。

1).字母A,B,C,D,E已被编码,相应的出现概率如下:

p(A)=0.16, p(B)=0.51, p(C)=0.09, p(D)=0.13, p(E)=0.11

2).C和E概率最小,被排在第一棵二叉树中作为树叶。它们的根节点CE 的组合概率为0.20。从CE到C的一边被标记为1,从CE到E的一边被标记为0。这种标记是强制性的。所以,不同的霍夫曼编码可能由相同的数据产生。

3).各节点相应的概率如下:

p(A)=0.16, p(B)=0.51, p(CE)=0.20, p(D)=0.13

D和A两个节点的概率最小。这两个节点作为叶子组合成一棵新的二叉树。根节点AD的组合概率为0.29。由AD到A的一边标记为0,由AD到D的一边标记为1。如果不同的二叉树的根节点有相同的概率,那么具有从根到节点最短的最大路径的二叉树应先生成。这样能保持编码的长度基本稳定。

4).剩下节点的概率如下:

p(AD)=0.29, p(B)=0.51, p(CE)=0.20

AD和CE两节点的概率最小。它们生成一棵二叉树。其根节点ADCE的组合概率为0.49。由ADCE到AD一边标记为0,由ADCE到CE的一边标记为1。

5).剩下两个节点相应的概率如下:

p(ADCE)=0.49, p(B)=0.51

它们生成最后一棵根节点为ADCEB的二叉树。由ADCEB到B的一边记为1,由ADCEB 到ADCE的一边记为0。

相关文档
最新文档