1、第六章 图像的编码技术,6.1 研究背景,一、信息传输方式发生了很大的改变通信方式的改变 文字+语音图像+文字+语音通信对象的改变 人与人人与机器,机器与机器,6.1 研究背景,二、图像传输与存储需要的信息量空间图像的传输与存储中,问题最多的,也是最常用的包括了数字视频信号和传真信号。 下面我们对其分别进行讨论。,6.1 研究背景,1. 彩色视频信息 对于电视画面的分辨率640*480的彩色图像,每秒30帧,则一秒钟的数据量为:640*480*24*30=221.12M 所以播放时,需要221Mbps的通信回路。,6.1 研究背景,实时传输:在宽带网上(10M)实时传输的话,需要压缩到原来数据
2、量的0.045。即0.36bit/pixel。存储: 1张CD可存640M如果不进行压缩,1张CD则仅可以存放2.89秒的数据。存2小时的信息则需要压缩到原来数据量的0.0004,即:0.003bit/pixel。,6.1 研究背景,2.传真 如果只传送2值图像,以200dpi的分辨率传输,一张A4稿纸的数据量为:1654*2337*1=3888768bit 按目前14.4K的电话线传输速率,需要传送的时间是:270秒(4.5分) 按每分钟4元计算:18元,6.1 研究背景,由于通信方式和通信对象的改变带来的最大问题是:传输带宽、速度、存储器容量的限制。 给我们带来的一个难题,也给了我们一个机
3、会:如何用软件的手段来解决硬件上的物理极限。,图像通信系统模型,调制: 将各种数字基带信号转换成适于信道传输的数字调制信号(已调信号或频带信号); 解调: 在接收端将收到的数字频带信号还原成数字基带信号。 编码信道:指编码器输出端到译码器输入端的部分。从编码器输出端到译码器输入端,可以用一个对数字序列进行变换的方框来概括。,6.2 数据冗余的概念,我们从一个互动游戏来体会数据冗余的概念。 在下面的例子中,用一种最好的方式来发送一封电报。,6.2 数据冗余的概念,你的妻子,Helen,将于明天晚上6点零5分在上海的虹桥机场接你。(23*2+10=56个半角字符) 你的妻子将于明天晚上6点零5分在
4、虹桥机场接你(20*2+2=42个半角字符)Helen将于明晚6点在虹桥接你(10*2+6=26个半角字符),结论:只要接收端不会产生误解,就可以减少承载信息的数据量。,6.2 数据冗余的概念,描述语言 1) “这是一幅2*2的图像,图像的第一个像素是红的,第二个像素是红的,第三个像素是红的,第四个像素是红的”。,2)“这是一幅2*2的图 像,整幅图都是红色的”。,由此我们知道,整理图像的描述方法可以达到压缩的目的。,6.2 图像中的数据冗余,图像冗余无损压缩的原理,从原来的16*3*8=284bits压缩为:(1+3)*8=32bits,6.2 图像中的数据冗余,图像冗余有损压缩的原理,6.
5、2 图像中的数据冗余,实际图像中冗余信息的表现(灰度图),6.3 图像中的视觉冗余,图像的视觉冗余 (彩色),(248,27,4),(251,32,15),(248,27,4),(248,27,4),6.4 图像中数据冗余压缩原理,由于一幅图像存在数据冗余和主观视觉冗余,我们的压缩方式就可以从这两方面着手开展。因为有数据冗余,当我们将图像信息的描述方式改变之后,可以压缩掉这些冗余。因为有主观视觉冗余,当我们忽略一些视觉不太明显的微小差异,可以进行所谓的“有损”压缩。,6.5 图像的压缩编码,第一代压缩编码 八十年代以前,主要是根据传统的信源编码方法。 第二代压缩编码 八十年代以后,突破信源编码
6、理论,结合分形、模型基、神经网络、小波变换等数学工具,充分利用视觉系统生理心理特性和图像信源的各种特性。,6.5 图像的压缩编码,6.5 图像的压缩编码,6.6 行程编码(RLE编码),行程编码是一种最简单的,在某些场合是非常有效的一种无损压缩编码方法。 虽然这种编码方式的应用范围非常有限,但是因为这种方法中所体现出的编码设计思想非常明确,所以在图像编码方法中都会将其作为一种典型的方法来介绍。,6.6.1 行程编码的基本原理,通过改变图像的描述方式,来实现图像的压缩。将一行中灰度值相同的相邻像素,用一个计数值和该灰度值来代替。,6.6.2 行程编码方法,举例说明:aaaa bbb cc d e
7、eeee fffffff (共22*8=176 bits) 4a3b2c1d5e7f (共12*8=96 bits)压缩率为:96/176=54.5%,6.6.3 传真中的行程编码方法,传真件中一般都是白色比较多,而黑色相对比较少。所以可能常常会出现如下的情况:600W 3b 570w 12b 4w 3b 3000w上面的行程编码所需用的字节数为:因为:204830004096所以:计数值必须用12 bit来表示,6.6.3 传真中的行程编码方法,对于: 600W 3b 570w 12b 4w 3b 3000w需要的数据量为:12*7=84 bit因为只有白或黑,而且排版中一定要留出页边距,所
8、以可以只传输计数值即可。,6.6.3 传真中的行程编码方法,现在我们就希望对其进行改善既然已经可以预制知白色多黑色少,可以对白色和黑色的计数值采用不同的位数。以这个例子,可以定义:白色:12 bit,黑色:4 bit所需字节数为:4*12+3*4=60bit比原来的RLE方式120bit减少了60bit,相当于又提高了压缩比为 60/120=50% 。,6.7 Huffman 编码(熵编码),行程编码要获得好的压缩率的前提是,有比较长的相邻像素的值是相同的。 熵是指数据中承载的信息量。 所谓的熵编码是指在完全不损失信息量前提下最小数据量的编码。,6.7.1 Huffman 编码的基本原理,为了
9、达到大的压缩率,提出了一种方法就是将在图像中出现频度大的像素值,给一个比较短的编码,将出现频度小的像数值,给一个比较长的编码。,6.7.1 Huffman 编码的基本原理,例:aaaa bbb cc d eeeee fffffff 4 3 2 1 5 7如果不进行特殊的编码,按照图像像素的描述,需要的数据量为:22*8=176 bits,6.7.1 Huffman 编码的基本原理,aaaa bbb cc d eeeee fffffff4 3 2 1 5 7按照熵编码的原理进行编码:f=0 e=10 a=110 b=1111 c=11100 d=11101这里的编码规则是长短不一的异字头码,6.
10、7.1 Huffman 编码的基本原理,由:f=0 e=10 a=110 b=1111 c=11100 d=11101 aaaa bbb cc d eeeee fffffff 1011011011011111111111111100111001110110101010100000000 数据量:7*1+5*2+4*3+3*4+2*5+1*5=56 bit 压缩率为:56/176=31 .8%,6.7.2 Huffman 编码方法,首先求出图像中灰度分布的灰度直方图; 根据该直方图,对其按照分布概率从小到大的顺序进行排列; 每一次从中选择出两个概率为最小的节点相加,形成一个新的节点,构造一个称为
11、“Huffman树”的二叉树; 对这个二叉树进行编码,就获得了Huffman编码码字。,6.7.2 Huffman 编码方法,例如:aaaa bbb cc d eeeee fffffff 分布为:a:4/22 b:3/22 c:2/22d:1/22 e:5/22 f:7/22 排序为:d, c, b, a, e, f1/22 2/22 3/22 4/22 5/22 7/22,6.7.2 Huffman 编码方法,c,b,a,f,e,7/22,5/22,4/22,2/22,1,0,f=11 e=01 a=00 b=101 c=1001 d=1000,d,1/22,3/22,6/22,22/22,
12、13/22,9/22,3/22,1,0,1,0,1,0,1,0,6.7.3 Huffman 编码效率,对这个例子,计算出经过Huffman编码后的数据为: 1010101010001001001000100010000111111111101010101010101共 7*2+5*2+4*2+3*3+2*4+1*4=53 bit 比前面我们给出的编码得到的56bit的数据量还小,压缩率为30.1%。,6.7.4 图像压缩中的Huffman 编码,Huffman编码在图像压缩中的实现我们知道,对一幅图像进行编码时,如果图像的大小大于256时,这幅图像的不同的码字就有可能是很大,例如极限为256个
13、不同的码字。 这时如果采用全局Huffman编码则压缩效率不高。甚至与原来的等长编码的数据量相同。,6.7.4 图像压缩中的Huffman 编码,常用的且有效的方法是:将图像分割成若干的小块,对每块进行独立的Huffman编码。例如:分成 的子块,就可以大大降低不同灰度值的个数(最多是64而不是256)。,Huffman编码效率示例,8*8分块的编码效率为47.27%,16*16分块的编码效率约为61%,全图的编码效率为91.47%,6.8 DCT变换编码,问题的提出:行程编码与Huffman编码的设计思想都是基于对信息表述方法的改变,属于无损压缩方式。虽然无损压缩可以保证接收方获得的信息与发
14、送方相同,但是其压缩率一定有一个极限。因此,采用忽略视觉不敏感的部分进行有损压缩是提高压缩率的一条好的途径。,6.8 DCT变换编码,DCT变换编码的设计思想:DCT变换是希望在接收方不产生误解的前提下进行一定的信息丢失。由前面所讲到的频域变换得到的启示,就是将低频与高频部分的信息,分别按照不同的数据承载方式进行表述。,6.8 DCT变换编码,DCT变换:,正变换:,逆变换:,其中:,6.8 DCT变换编码,DCT变换编码方法:,DCT变换,DCT逆变换,原图像,除以量化矩阵,取整,1)编码过程:,2)解码过程:,压缩图像,乘以量化矩阵,取整,压缩 图像,解压 图像,6.8 DCT变换编码,H
15、uffman:42bits; 编码效率32.8%,Huffman:16bits; 编码效率:12.5%,例:,原图像为:,除以量化矩阵,取整,6.8 DCT变换编码,原图,解压图,6.9 混合编码,设计思想:每一种编码方式都有其擅长的一点,以及局限的一点,混合编码的思想就是将两种以上的编码方式的优点进行综合,达到提高编码效率的目的。,6.9 混合编码,混合编码实现的可能性及有效性分析回顾一下讲过的几个内容的特点: 1)行程编码: 擅长于重复数字的压缩。 2)Huffman编码:擅长于像素个数分布不均匀情 况下的编码。 3)DCT变换: 擅长分离视觉敏感与不敏感的部分。,6.9 混合编码,例:a
16、aaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7行程编码:4a3b2c1d5e7f (共6*(8+3)= 66Bits ),176,66,6.9 混合编码,aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7 Huffman编码:f=01 e=11 a=10 b=001 c=0001 d=00001010101010001001001000100010000111111111101010101010101(共 7*2+5*2+4*2+3*3+2*4+1*4=53 bits)
17、,176,66,53,6.9 混合编码,aaaa bbb cc d eeeee fffffff (共22*8=176 bits) 4 3 2 1 5 7 Hufman与行程编码混合:41030012000110000511701 (共:3+2+3+3+3+4+3+4+3+2+3+2=35 bits),176,66,53,35,100%,37.5%,30.1%,9.9%,6.10 图像压缩的实例,1,一次小波变换,DCT变换.行程编码,Huffman编码,一次小波变换,Huffman编码,变字长行程编码,2,差值编码,算法1,算法 2,现代压缩编码示例,原图,JPEG 100:1,混合编码 400:1,混合编码 600:1,