对本书、视频等任何 MATLAB 问题,作者做到有问必答! 你买的不仅仅是书,更是一种 “ 有问必答 ” 的服务!
投稿请联系: 视频版权归作者所有,请勿翻录
» 第一步:购买该书(当当、亚马逊等均有销售) » 第二步:拿到书籍以后,封面上有卡,如下图 所示: » 根据封面提示,验证密码,即可享受作者 “ 有 问必答 ” 服务! » 有问必答网址 : 刮开即可看到密码
图像压缩编码是专门研究图像数据压缩的技术,就是尽量减少表示数据图 像所需要的数据量。随着当今信息社会的飞速发展,图像数据的存储和传 输技术越来越扮演着日益重要的角色。特别是网络及通信技术的发展使得 图像的存储、处理和传输问题更加突出,从而促进数据压缩技术成为数字 图像处理中的一项关键技术。本章主要介绍图像压缩编码的基础知识,重 点讲解常用的图像压缩编码方法,如霍夫曼编码、香农编码、算术编码、 行程编码和预测编码及编码方法的 MATLAB 实现,最后介绍了静态图像压 缩标准 JPEG 标准。
数字图像通常需要很大的比特数,这给图像的传输和存储带来相当大的困 难。例如用 8bit 存储一幅 的灰度图像的比特数为 256K 。而一部 60 分 钟的彩色电影,如果每秒放映 24 帧,数字化后每帧包含 像素,每像 素的 R 、 G 、 B 分量分别占 8bit ,则这样一部电影的总比特数为 64800M ,若 用一张 600M 的 CD 存储则需要 100 多张 CD 光盘来存储。由此可见对图像数 据进行压缩显得非常必要。减少存储空间、缩短传输时间这成为促进图像 压缩编码技术发展的主导因素。图像压缩是通过编码来实现的,所以通常 将压缩与编码统称为图像的压缩编码。图像压缩编码从本质上来说就是对 要处理的图像数据按照一定的规则进行变换和组合,从而达到以尽可能少 的数据来表示尽可能多的数据信息。
霍夫曼在 1952 年提出了一种构造最佳码的方法,称之为霍夫曼编码 ( Huffman )。霍夫曼编码是一种无损的统计编码方法,利用信息符号概 率分布特性的改变字长进行编码。霍夫曼编码适用于多远独立信源,对于 多元独立信源来说它是最佳码。本小节主要介绍霍夫曼编码的基本原理及 其 MATLAB 实现方法。
霍夫曼编码是一种利用信息符号概率分布特性的变字长的编码方法,即对 于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编 以长字长的码。如果码字长度严格按照所对应符号出现概率大小逆序排列, 则编码结果的平均码字长度一定小于任何其他排列形式。霍夫曼编码则是 严格按照信源符号出现的概率大小来构造码字,因此这种编码方式形成的 平均码字长度最短。
霍夫曼编码系统主要分为压缩对象输入、概率统计、构造 Huffman 树、生 成 Huffman 树、压缩编码环节组成,如图所示霍夫曼编解码系统构成。编 程思路依据霍夫曼的编程步骤进行,实现对数据的压缩及其压缩参数的计 算。
香农编码也是一种常见的可变字长编码,解决了霍夫曼编码过程中需要多 次排序的问题。本小节主要介绍了香农编码的基本原理及其 MATLAB 实现 方法。
香农编码的理论基础是符号的码字长度 Ni 完全由该符号出现的概率来决定, 即: 其中 D 为编码时所用的数值。当信源符号出现的概率为 2 的负幂次方时, 采用香农编码同样能达到 100% 的编码效率。 香农编码的具体方法如下: 1 .将信源符号按其出现的概率从大到小排序; 2 .按照上式计算出各个概率对应的码字长度; 3 .计算累加概率,其定义为: 4 .把各个累加概率由十进制转化为二进制,取该二进制数的前位作为对 应信源符号的码字。
算术编码是 20 世纪 80 年代提出的一种无损数据压缩编码方法,也是一种熵 编码方法。该方法克服了霍夫曼编码中对自信息量所占码位为小数的信息 压缩效果不理想的问题,在图像数据压缩标准,如 JPEG 中起到重要作用。 本小节主要介绍了算术编码的基本原理及其 MATLAB 实现方法。
算术编码的基本思想是把整个信息源表示为实数线上的 0-1 之间的一个区 间,其长度等于该序列的概率;然后在该区间内选择一个代表性的小数, 将其转化为二进制作为实际的编码输出。消息序列中的每个元素都要缩短 为一个区间。消息序列中的元素越多,所得到的区间就越小。当区间变小 时,就需要更多的数位来表示这个区间,通过算术运算得到最终的编码, 因而称之为算术编码。采用算术编码,每个符号的平均编码长度可以为小 数。
算术编码在图象数据压缩标准 ( 如 JPEG) 中扮演了重要的角色。在算术编码 中,消息用 0 到 1 之间的实数进行编码,算术编码用到两个基本的参数:符 号的概率和它的编码间隔。图所示算术编码系统构成。
行程编码是一种无损数据压缩编码方法。该压缩编码技术直观和经济,运 算也相当简单,因此解压缩速度很快。行程编码适用于计算机生成的图形 图像,对减少存储容量很有效果。本小节主要介绍了行程编码的基本原理 及其 MATLAB 实现方法。
行程编码的基本原理是用一个符号值或串长代替具有相同值的连续符号 (连续符号构成了一段连续的 “ 行程 ” 。行程编码因此而得名),使符号长 度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次 记录该代码及相同代码重复的个数,从而实现数据的压缩。
行程编码的方法与霍夫曼编码、算术编码等方法相比,算法实现相对简单, 图 10.8 所示行程编码系统。
预测编码应用了现代统计学和控制理论的时间序列分析概念,是有损压缩 中的重要方法之一。该编码方法简单,易于硬件实现。本小节主要介绍预 测编码中具有代表性的编码方法差分脉冲编码调制方法的基本原理及其 MATLAB 实现方法。
预测编码是根据某一种模型,利用以前的(已收到)一个或几个样值,对 当前的(正在接收的)样本值进行预测,将样本实际值和预测值之差进行 编码。如果模型足够好,图像样本时间上相关性很强,一定可以获得较高 的压缩比。具体来说,从相邻像素之间有很强的相关性特点考虑,比如当 前像素的灰度或颜色信号,数值上与其相邻像素总是比较接近,除非处于 边界状态。那么,当前像素的灰度或颜色信号的数值,可用前面已出现的 像素的值,进行预测(估计),得到一个预测值(估计值),将实际值与 预测值求差,对这个差值信号进行编码、传送,这种编码方法称为预测编 码方法。
对图像数据压缩来说,预测编码方法是从相邻象素之间有很强的相关性特 点考虑的。
随着计算机网络技术的发展,图像通信已越来越受到广泛的关注,这就需 要对图像数据进行标准化传输,制定图像压缩编码的标准显得尤为重要。 在静态图像编码标准中,常用的有 JPEG 、 JBIG 等。本小节主要介绍静态 图像的 JPEG 标准及其算法实现。
JPEG 是由 CCITT( 国际电报电话咨询委员会 ) 和 ISO( 国际标准化组织 ) 两个组 织联合组建的图片专家组 (Joint Photographic Experts Group ) 。该组织于 1991 年建立并通过第一个适用于连续色调静止数字图像压缩的国际标准 (ISO ) ,称为国际 JPEG 标准建议,从而统一了用于彩色传真、静 止图像、可视会议、电子出版物等图像的压缩和传输格式。该标准广泛应 用于计算机和通信等领域,例如电视图像压缩、多媒体通信、多媒体计算 机、图像数据库等。经 JPEG 压缩的图像,可在不太影响图像质量的前提 下,得到很高的压缩比。该标准既可以用软件实现,也可以用硬件实现。 由于 JPEG 优良的品质,使得它在短短的几年内就获得极大的成功,随着 JPEG 芯片价格下降, JPEG 的应用正日益普及。
JPEG 压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损 压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。 JPEG 算 法框图如图所示,压缩编码大致分成三个步骤: 1 .使用正向离散余弦变换 (forward discrete cosine transform , FDCT) 把空 间域表示的图变换成频率域表示的图。 2 .使用加权函数对 DCT 系数进行量化,这个加权函数对于人的视觉系统 是最佳的。 3 .使用霍夫曼可变字长编码器对量化系数进行编码。
数字图像压缩编码技术是多媒体技术的重要组成部分。本章主要介绍了数 字图像压缩编码的基础,包括图像压缩编码的必要性、图像冗余信息、编 码参数及基于保真度准则的评价;还介绍了霍夫曼编码及其在 MATLAB 中 的实现方法、算术编码及其在 MATLAB 中的实现、行程编码及其在 MATLAB 中的实现、预测编码及其在 MATLAB 中的实现和小波编码及其 在 MATLAB 中的实现。由于 MATLAB 在数字图像压缩和编码中应用十分 广泛,本章均给出各种编码方法的 MATLAB 实现例程,为用户提供实践支 持。最后本章介绍了静态图像的编码标准 JPEG 标准及其算法实现步骤。
10.1 设输入图像的灰度级出现的概率对应为。试进行霍夫曼编码,并计算 编码效率、压缩比和冗余度。 10.2 在 MATLAB 中编写一个实现霍夫曼编码的程序,要求对实际图像进行 压缩编码,并计算熵、平均码长和编码效率。 10.3 设输入图像的灰度级出现的概率对应为。试进行香农编码,并计算编 码效率、压缩比和冗余度。 10.4 假设信息源出现的概率对应为,写出对信息源进行算术编码和解码的 过程。