数字图像处理

第十五章图像压缩和编码

CH15

图像压缩和编码

一、序言二、无损压缩技术三、图像的无失真编码方法四、预测压缩技术五、变换压缩技术六、活动图像压缩技术七、图像压缩编码的新进展要点总结上机实习

1  序言  1)图像压缩编码的目的

1  序言  目的:节省图像存储容量;减少传输信道容量;缩短图像加工处理时间.原因:图像像素之间、行之间、帧之间有较强的相关性.从统计的观点,某点像素的灰度与其邻域灰度有密切关系;从信息论关系,减少图像信息中冗余信息.

1  序言  2)图像压缩编码的分类(1)无损编码又称为信息保持编码.要求编码—解码过程中能够无误差的重建图像.如在医学图像应用中.(2)有损编码常被称为保真度编码.常用在图像的信宿为人眼的应用中,如数字电视、可视电话等.(3)特征抽取编码是另一种有损编码.常用在图像的信宿为计算机的应用中,这是只需要保留计算机处理的信息特征.如图像识别.

1  序言  3)图像压缩编码的具体方法(1)熵编码:信息保持编码;(2)预测法:信息保持编码、保真度编码(更常用);(3)变换法:特征保持编码;(4)其他编码法

2  无损压缩技术

1)基本概念

2  无损压缩技术

2)变长最佳编码定理和唯一可译代码

2  无损压缩技术

2  无损压缩技术

3)哈夫曼编码方法(Huffman)

2  无损压缩技术

2  无损压缩技术

Huffman编码讨论(1)

Huffman编码是唯一可译码.短的码不会成为更长码的启始部分;(2)

Huffman编码的平均码长接近于熵;(3)缺点:与计算机的数据结构不匹配;(4)缺点:需要多次排序,耗费时间.

2  无损压缩技术

Huffman编码Huffman编码最优性扩展Huffman编码自适应Huffman编码Will

be  learnt

in  Multimedia

Technology

(请课后自学……)

2  无损压缩技术

4)香农编码法(Fano-Shannon)

2  无损压缩技术

2  无损压缩技术

Fano-Shannon编码讨论(1)

Fano-Shannon编码是唯一可译码.短的码不会成为更长码的启始部分;(2)

Fano-Shannon编码的平均码长接近于熵;编码效率略低于Huffman编码.

3  图像的无失真编码方法

1)白块跳过编码WBS2)行程长度编码3)比特平面编码4)二值图像编码的国际标准G3和G4

3  图像的无失真编码方法

0)压缩比直接编码一幅图像所需比特数取决于幅面大小及分辨率.设C为采用某种方法编码前后的

压缩比

3  图像的无失真编码方法

1)白块跳过编码WBS原理对于一般白纸黑字的文件,总是白的面积大.因此跳过白的行程,只对黑行程编码就可以压缩数据.一维WBS编码将每一扫描行分成若干段,每段包含n个像素.对于全白段,给最短码字如0;而对于黑白相间或全黑段,不进行压缩.为区别全白段和有黑段,在编码前加1作为标志位.

3  图像的无失真编码方法

一维WBS编码平均码长例

3  图像的无失真编码方法

常用图像WBS编码平均码长

3  图像的无失真编码方法

二维WBS编码将图像分成M*N大小的块,全白块以0编码,其他同一维WBS编码.

为什么3

图像的无失真编码方法

自适应WBS编码根据图像局部结构或统计特性,改变像素块尺寸大小;一维情况下,首先判断该行是否有1024个连续白像素;否则判断是否有64,16,4个连续白像素;否则直接编码;在每一行编码前要加上N为多少的代码.自适应WBS编码可以有效增加图像的

压缩比,但增加了编码设备的复杂性.

3  图像的无失真编码方法

2)行程长度编码(RLC,Run-Length

Coding)原理:二值图像从左到右扫描图像时,连续白点和连续黑点总是交替出现.将连续像素的数目称为行程长度(Run-Length),分别为白长和黑长.方法:统计所有行程长度出现的概率,然后采用Huffman编码.在每一行的行首加标志位,确定是白长还是黑长.以后黑长和白长交替出现.

3  图像的无失真编码方法

3)比特平面编码思想:对于灰度或彩色图像,如果每个像素用k位表示,将相同位上的0,1取出,就可以形成k个N*N的二值图像.将每一个二值图像称为一个比特平面.方法:对于比特平面采用前述的无失真二值图像压缩技术.

希望连续的0/1出现的概率增大.

Lena图像的比特平面

3  图像的无失真编码方法

问题:采样自然二进制码,将导致数据相关性减小.如灰度127和128,对应自然二进制码分别为01111111和10000000.较小的灰度变化导致比特平面的突变.解决方法:采用格雷码(Gray).

3  图像的无失真编码方法

自然二进制码

格雷码

自然二进制码

格雷码

000

000

100

110

001

001

101

111

010

011

110

101

011

010

111

100

3  图像的无失真编码方法

4)传真国际标准G3和G4(1)G3采用一维行程长度编码;(2)行程采用Huffman编码;(3)0-63之间的行程,用单个码字即终止码表示;(4)大于63的游长用一个形成码和一个终止码组合表示.形成码表示实际行程对64的倍数;(5)G3能达到15:1的压缩比;(6)G4采用二维行程程度编码,压缩比比G3提高30%.

4  预测压缩技术

1)基本思想2)预测误差的熵编码3)DPCM预测编码4)最佳线性预测5)有失真预测编码6)最佳量化

4  预测压缩技术

1)基本思想图像相邻像素间存在很强的相关性,通过观察其相邻像素取值,可以预测一个像素的大概情况.预测值和实际值存在误差,称为预测误差.预测误差的方差必然比原图像像素的方差小,因此对预测误差进行编码必然压缩其平均码长.对预测误差进行编码的技术称为DPCM(差分脉冲编码调制).

请结合熵的定义思考这个结论

4  预测压缩技术

2)预测误差的熵编码对比一幅图像和其差分图像的标准差和熵.从Lenna和Bob的差分图像的直方图看:不同图像的差分图像直方图分布形态大致相同,只是方差有所不同.

4  预测压缩技术

Lenna差分图象

4  预测压缩技术

Bob差分图象

4  预测压缩技术

3)DPCM预测编码预测器的阶数对当前像素进行预测的像素集合中的像素个数,称为预测器的阶数.理论上预测器的阶数越大越好,当阶数大于3时其性能的改变非常有限.预测器的系数如一个3阶预测器中,各像素的权重称为预测器的系数.其既可以固定不变,也可以变化.

如何预测4

预测压缩技术

4)最佳线性预测目的:寻找使预测器的某种误差函数为最小的线性预测器;准则:均方预测误差最小化.

4  预测压缩技术

最常用的一阶DPCM编码器在实际中最常用的是一阶DPCM编码器,此时有唯一的一个预测系数1.

4  预测压缩技术

为实现无失真编码,通常对差分图像进行熵编码(通常是Huffman编码);预测误差熵编码的步骤:建立码表和编码.通常采用一个通用码表,节省建立专用码表时间,由此带来压缩比损失较小;编码:若对差分图像所有灰度建立码表,则项数较多.通常对-16~16采用Huffman编码,其他直接用前缀+实际灰度值.

4  预测压缩技术

采用同一扫描行中前几个像素值进行预测,称为一维预测;采用同一行或前几行像素值进行预测,称为二维预测;采用前几行和前几帧像素值进行预测,称为三维预测.

4  预测压缩技术

5)有失真预测编码由于预测误差的方差远比像素取样值小,因此需要对预测误差重新量化.

减少需编码信息符号的数目

4  预测压缩技术

由于量化器存在量化误差,因此带量化器的DPCM系统是有失真预测编码.

4  预测压缩技术

6)最佳量化由于预测误差满足拉普拉思分布,在量化比特数b确定情况下,根据量化误差的均方值最小原则设计.(参见CH2),从而使判决电平和量化电平满足于其中量化比特数b确定取决于信噪比.

4  预测压缩技术

自适应量化:将图像分割为图像方块,按各自标准差进行量化.但需要将各块的方差编码发送给接收端.另一种方法:将图像方块方差大小分为4类:平坦区域,纹理区域,缓变区域和陡峭区域.每一类方块采用不同的量化器.

5  变换压缩技术

1)基本概念将在空域上描述的图像,经过某种变换(通常采用傅立叶变换,沃尔什变换等),在某种变换域里进行描述.在变换域里,首先降低了图像的相关性;其次通过某种图像处理(如频域的二维滤波)以及熵编码,则可进一步压缩图像的编码比特率.

5  变换压缩技术

2)变换压缩原理框图

5  变换压缩技术

3)常用图像变换技术讨论傅立叶变换和余弦变换傅立叶变换及频谱移中后,其能量集中在中心附近.中心数据又称为直流分量,代表全图数值的算术平均值.其编码误差来源有:变换系数经过量化器而引起的量化误差.常使高频分量为0,导致图像模糊.

6  静止图像编码国际标准JPEG

1)JPEG基本系统2)FDCT和IDCT3)量化与反量化4)对量化系数的处理和组织5)熵编码6)应用举例

6  静止图像编码国际标准JPEG

1)JPEG基本系统以8*8的图像块为基本单位进行编码;将RGB转换为亮度-色差颜色系统,并重新采样;

6  静止图像编码国际标准JPEG

YIQ(NTSC制)与YUV(PAL制)Y:指颜色的明视度、亮度、灰度值;I或U:指色调;Q或V:指饱和度.Y=0.299R+0.587G+0.114BI=0.596R-0.247G-0.322BQ=0.211R-0.523G+0.312BU=0.148R-0.289G+0.473BV=0.615R-0.515G-0.1B

6  静止图像编码国际标准JPEG

思想:人对亮度比对色彩敏感,在光线不足的情况下,所观察物体都是黑白的.因此可以对色调和饱和度做粗略处理.方法:对8*8图像块矩阵,Y成分数据不变,U每2*2个数据求平均,V每2*1个数据求平均.称为YUV421系统.除此,还有YUV422,

411,

420等系统.

6  静止图像编码国际标准JPEG

2)FDCT与IDCT思想:人眼对低频数据比对高频数据敏感.根据8*8的二维DCT定义

6  静止图像编码国际标准JPEG

称F(0,0)为直流系数,其他为交流系数.JPEG标准不规定FDCT和IDCT的算法.

6  静止图像编码国际标准JPEG

3)量化与反量化思想:将每个DCT系数除以各自量化步长并四舍五入后取整,得到量化系数.JPEG系统分别规定了亮度分量和色度分量的量化表,显然色度分量相应的量化步长比亮度分量大.

6  静止图像编码国际标准JPEG

4)对量化系数的处理和组织思想:JPEG采用定长和变长相结合的编码方法.直流系数:通常相邻8*8图像块的DC分量很接近,因此JPEG对量化后的直流分量采用无失真DPCM编码.通常JPEG要保存所需比特数和实际差值.交流系数:经过量化后,AC分量出现较多的0.JPEG采用对0系数的行程长度编码.而对非0值,则要保存所需位数和实际值.

6  静止图像编码国际标准JPEG

ZIG-ZAG排序:为使连续的0个数增多,采用Z形编码.

6  静止图像编码国际标准JPEG

5)熵编码对于直流系数的差值,采用Huffman编码.JPEG标准为亮度和色度分量分别拟定了Huffman码表.对于交流0系数的行长,采用Huffman编码.同样JPEG标准为亮度和色度分量分别拟定了Huffman码表.计算每像素的平均比特称为码率.0.25

—  0.50图像质量中等,满足某些应用0.50

—  0.75质量好,满足多数应用0.75

—  1.50极好,满足大多数应用1.50

—  2.0与原始图像质量一样

6  静止图像编码国际标准JPEG

6)应用举例Lenna图像的一个8*8方块

只举亮度块为例.

6  静止图像编码国际标准JPEG

经过FDCT后的变换系数矩阵

6  静止图像编码国际标准JPEG

根据亮度量化表量化后得到的量化系数矩阵

6  静止图像编码国际标准JPEG

假设上一编码块的直流量化系数为77,则直流差值为2.则该图像块编码为

6  静止图像编码国际标准JPEG

反量化

6  静止图像编码国际标准JPEG

反变换

6  静止图像编码国际标准JPEG

编码比特率与质量因子通常在图像传输时要求固定比特率,JPEG通过设定一个质量控制因子Q,在量化时用该因子与量化表中的量化步长相乘作为实际的量化步长.则要求较高比特率时,Q取较小值如0.1;否则取大值.Q与比特流一起传送给解码端.

6  静止图像编码国际标准JPEG

压缩率9.2

6  静止图像编码国际标准JPEG

压缩率18.4

6  静止图像编码国际标准JPEG

压缩率51.6

7  图像压缩编码新进展

H.261:用于电视电话和电视会议;码率128kbps——384kbps;MPEG1:用于数字存储媒体(如VCD),码率为1——1.5Mbps,适合通讯网络;MPEG2:用于数字电视和高清晰度电视(如CCTV

Ch  5),码率为1.5——30Mbps;MPEG4:用于64Kbps以下带宽的音视编码,实现基于内容的编码;其他编码方法:子带编码、小波编码JPEG2000、分形编码和基于模型的编码等.

要点总结

掌握基本压缩技术的分类和他们各自的基本原理;掌握熵编码的Huffman和香农编码方法;掌握白块跳过编码和行程长度编码;掌握预测编码技术,及无失真和有失真预测编码的区别;掌握变换编码技术;了解JPEG标准的基本步骤,并能解释之.

上机实习

阅读有关Jpeg压缩标准的相关文献,利用Jpeg的源码实现图像的压缩存储(将bmp格式图像转成jpeg文件格式).

习题  1)设某一幅图像共有8个灰度级,各灰度级出现概率分别为:试对此图像进行Huffman编码和香农编码.并比较两种编码方法的效率.

习题  2)设有一幅8*8图像,其灰度级分布见图所示.(1)对该图像进行Huffman编码,并计算编码效率和压缩比;(2)对该图像的差分图像进行Huffman编码,并计算编码效率和压缩比;(3)比较(1)(2)的结果.

香农编码的gui编码_编码香农编码相关推荐

  1. python编码问题无法复现_彻底解决Python编码问题

    1. 基本概念 字符集(Character set) 解释:文字和符合的总称 常见字符集: Unicode字符集 ASCII字符集(Unicode子集) GB2312字符集 编码方法(Encoding ...

  2. python编码用什么软件_彻底解决Python编码问题

    1. 基本概念 字符集(Character set) 解释:文字和符合的总称 常见字符集: Unicode字符集 ASCII字符集(Unicode子集) GB2312字符集 编码方法(Encoding ...

  3. 修复mysql编码错乱的数据_关于MySQL数据库编码修复相关问题

    本篇主要是本人在实际开发过程中遇到的MySQL字符编码等bug修复相关问题. 在使用下列语句在执行数据库表通过flask-sqlacodegen 进行ORM映射成模型类的时候发生的bug: flask ...

  4. 硬编码是什么意思_饰品上那些编码和数字你都知道是什么意思吗?

    很多妹子问燕子,那么多首饰的样子,上面各种编码,都代表的是什么意思啊?不同类型和价格怎么匹配呢?今天给大家细说一下首饰的种类和区别,以后再挑选的时候心里也有个数 - 黄金饰品 - ▲常见的黄金饰品一般 ...

  5. unicode字符编码表下载_详解字符编码(上)

    作者 | 张奎 字符编码相关问题是软件开发过程中的常见问题,本文对字符编码的概念进行了介绍,并针对字符编码的常见问题给出了解释. 字符编码概念 下面以一个例子来引入对字符编码的介绍,汉字"柯 ...

  6. python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码

    python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码 一.PyCharm 设置作者信息模板 1.File---Settings---在搜索框中搜索:File and C ...

  7. lzw编码过程详解_编码拓展——封装、编码、码率

    有小伙伴想要更多知道编码封装这一块 那就继续写写吧 什么是封装?什么是编码 不知道大家有没有试过 "明明都是 mp4,为什么这个能够导入剪辑软件,那个则不能?"的情况. ok,下面 ...

  8. 商品和服务税收分类编码表_如何设置客户编码和商品编码?(附操作图)

    作为企业的财务人员,开具发票首先要正确选择商品和服务税收分类编码,那么该如何设置客户编码和商品编码呢?下面小编一步一的来教你. 增加客户编码方法 1.登陆开票软件(用开票员.管理员都可以) 2.点'系 ...

  9. python编码解码的过程_使用Python过程中的编码和解码

    编码和解码的问题纠结了我很久了,对他一直只有是是而非的理解,好像是那么回事,但是又不懂,今天终于来认真解决一下这个问题,总结一下大神们的回答,做一下笔记. 首先,我们知道,计算机中的所有数据都以二进制 ...

  10. python2默认编码_解决Python2.x编码之殇

    Python编码问题一直困扰了我许久,之前有过一些总结,但并不系统,比较凌乱.当然python2.x编码问题本身,便是剪不断理还乱.本篇将系统介绍python2.x编程中会遇到的一些编码问题,并给出解 ...

最新文章

  1. ls -l |wc -l命令多统计一行
  2. Nature:揭示大脑中的免疫记忆
  3. HDU 1873 看病要排队(结构体+优先队列)
  4. Linux中的进程组及会话
  5. XgBoost使用及调参教程
  6. java annotation应用_Java Annotation高级应用
  7. linux下tomcat6.0与jdk安装详细步骤
  8. markdown 中的一些 html 使用属性
  9. [简明python教程]学习笔记2014-04-28 23:45:56
  10. c#winform演练 ktv项目 在dataGridView中显示歌曲列表
  11. 中国双导体发热电缆行业市场供需与战略研究报告
  12. SQLite学习手册(索引和数据分析/清理)-转
  13. Qt5学习笔记之串口助手二:发送接收实现
  14. 法兴用数字证明中国期货市场是真正的投机市
  15. 练气第一层 踏入计算机修真界
  16. c语言程序发生算术溢出,谈谈C语言的溢出
  17. 用python实现微信定时发送图片
  18. 关于Java事务原理的探讨
  19. 如何制作电子画册?教你快速上手 | 云展网
  20. 中国计算机专业的大学生相比于美国差在哪里?

热门文章

  1. Chpater 5 大规模MIMO信道估计与导频设计
  2. Centos7 虚拟机迁移及扩容
  3. 液压传动与气动技术【1】
  4. 百度SEO站群超简约实惠的个人简历模板源码
  5. python ipo模型是什么意思_IPO里的估值模型是什么情况?
  6. upload漏洞专题
  7. 浅谈PMSM电机控制之Clark变换(详细推导及MATLAB仿真)
  8. 「00后缩写黑话翻译器」登上GitHub热榜,中年网民终于能看懂年轻人的awsl
  9. js实现批量打印工资条,后台采用java开发(项目总结篇)
  10. 前端直传阿里云OSS