6 图像编码基础
4) 峰值信噪比
PSNR 10 lg 1 MN 2 f max M 1 N 1 ˆ ( x , y ) f ( x , y )] 2 [f x0 y0
其中,f max max{ f ( x , y ), x 0 ,1, 2 , , M 1, y 0 ,1, 2 , , N 1}
X
0
u 10 0 P1
0 u2 0 P2
第四步,将被合并的消息分别赋以1和0或0和1。对最后的 0 X0也即对 u 10 和 u 2 对应的赋以1和0或0和1。
重复上述步骤就可以构成哈夫曼编码。 例 求下述信源的哈夫曼码:
u2 0 .4 u3 0 . 06 u4 0 .1 u5 0 . 04 u6 0 .3
第二步,把最后出现概率最小的消息合并成一个消息,从 而使信源的消息数减少一个,同时把信源中的消息的概率 从大到小排列一次。 得
X1 u 1 ' , u 2 ' , , u M 1 ' P1 ' , P2 ' , , PM 1 '
第三步,重复上述步骤,直到信源最后为X0为止
数据冗余与信息 表达无用信息的数据就叫数据冗余。 数据冗余可用数学定量的描述。设n1和n2分别代表用来 表达相同信息的两个数据集合中的信息载体单位的个数, 那么第一个数据集合(相对于第二个数据集合)的相对 数据冗余RD定义为:
RD 1 1 CR
其中CR为压缩率: R n 1 / n 2 C
2. 主观保真度准则
常用方法是对一组精心挑选的观察者展示以傅典型的 图像并将它们对该图的评价综级量表
值 1
2
3 4
5 6
等级 极好
好
过得去 勉强可以
差 不可用
描
述
具有极高品质的图像,和希望的一样好
高品质的图像,感觉良好,其中的干扰可以接受
[0.0592,0.0624) [0.0624,0.0688) [0.0688,0.072)
[0.06624,0.06752)
[0.0624,0.06368) [0.06368,0.06624)
[0.06752,0.0688)
练 习
1. 求下述信源的哈夫曼编码,以及熵、平均码长、效率和 冗余度。
X u1 0 . 25 u2 0 . 25 u3 0 . 20 u4 0 . 15 u5 0 . 10 u6 0 . 05
6.5
算术编码
算术编码仅用到了算术运算和移位运算,这就是其名 称的由来,它的解码过程可以借助于编码过程来进行。
C R 和 R D 分别在开区间( 0, )和( , 1)
数据冗余的分类
在数字图像压缩中,可以确定三种基本的数据冗余: 编码冗余、像素间冗余、心理视觉冗余。当这三种冗余的 一种或多种得到了减少或消除时,就实现了数据压缩。 1. 编码冗余
利用图像的灰度级直方图来深入了解编码结构,从 而减少表达图像所需的数据量。
6.4.3 亚最优变长码
根据哈夫曼方法的原理,当需要对大量符号进行编码 时,构造最优哈夫曼码的计算量会很大,此时常采用一些 亚最优的变长编码方法。下面仅介绍两种基于哈夫曼方法 的截断哈夫曼码和平移哈夫曼码。
1.截断哈夫曼码 截断哈夫曼码是对哈夫曼码的一种改型。只对最可能 出现的M个符号进行哈夫曼编码,而对其它的码都用在一 个合适的定长码前加一个前缀码来表示。 2. 平移哈夫曼码 平移码由以下几个步骤产生:重新排列信源符号使得 它们的概率单减;将符号总数分成相同大小的符号块;对 所有的块中的各个元素采用同样方法编码;对每个 块加 上专门的平移符号以区别它们。
自动化工程学院电子工程系教研室 王汉萍 主讲
6 图像编码基础
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 数据冗余和压缩 图像保真度 无失真编码定理 哈夫曼编码 算术编码 位平面编码 无损预测编码 有损预测编码
简
介
网上的许多信息是以图像形式存储的,所以对于存 储和通信的需求是无限的。而数据压缩方法比起数据的 存储和传输具有更为突出的实用价值和商用意义。
最常用的变长变码方法有哈夫曼编码和香农-法诺编码。
6.4.1 霍夫曼编码
设原始信源有M个消息,即 可用下述步骤编出哈夫曼码:
u 1 , u 2 , , u M X P1 , P2 , , PM
第一步,把信源X中出现的消息按出现的概率从大到小的 顺序排列即 P1 P2 PM 。
熵: 基本概念 设某个无记忆信源共有M个消息,记作{u 1 , u 2 , , u M } 。其 { 中消息u i ( i 1, 2 , , M ) ,各自出现的概率分别为:P1 , P2 , , PM } 可把这个信源用下式表示: u 1 , u 2 , , u M
X P1 , P2 , , PM
2. 像素间冗余
像素间冗余也称空间冗余或几何冗余,来自图像中 对象之间的结构或几何关系。
如何消除像素间冗余呢? 利用相邻像素间的差异描绘图像,这种变化被认为是 映射。比如行程编码。
3. 心理视觉冗余
心理视觉冗余产生是由于眼睛并不是对所有视觉信息 有相同的敏感度。有些信息在通常的视感觉过程中与另外 一些信息相比来说不那么重要,这些信息可以认为有心理 视觉冗余,去除这些信息不会明显的降低所感受到的图像 质量。 如何消除心理视觉冗余呢? 通过“改进灰度级量化”过程消除心理视觉冗余, 量化的结果导致数据的有损压缩。
变长码都是基于统计模型的,哈夫曼编码和香农-法诺编码都是所谓 的块码,因为它们都将每个信源符号映射成一组固定次序的码符号, 这样在编码时可以一次编一个符号。
从解码的角度:人们常关注两个特性:即时性和唯一性。 (1)即时性(也称非续长性) 任意一个码字都不是其它码字的续长。
(2)唯一性(单义性)
任意一个有限长的码字序列只能被分割成一个一个的码字,而 任何其他分割方法都会产生一些不属于码字集合中的码字。符合这 个条件的代码叫单义代码。 非续长代码一定是单义的,单义代码却不一定是非续长代码。
L avg
l (r
k 0
l 1
k
) p r ( rk )
自然码是每个随机事件用来自m比特二进制技术序列的 2m个m比特二进制码的其中一个来表示,是等长码。当一 幅图像的灰度级直接用自然二进制编码来表示时,冗余总 是存在的。 如何消除编码冗余呢? 采用变长编码,比如哈夫曼编码,香农编码等。
u [ P ( b1 ) P (b2 ) P (b J ) ]
T
香农第一定理(无失真编码定理):
如果不允许失真,什么是图像传输率的最终极限? 无损信源编码编码的平均码字长度可以接近信源的熵, 但不能小于信源的熵。这也是无损信源压缩的极限
n
lim [
L avg n
'
] H (u )
算术编码的过程:
a1 0.2 [0,0.2) [0,0.04) [0.04,0.048) [0.056,0.0592) a2 0.4 [0.2,0.4) [0.04,0.08) [0.048,0.056) a3 0.8 [0.4,0.8) [0.08,0.16) [0.056,0.072) a4 1 [0.8,1) [0.16,0.2) [0.072,0.08)
基本概念: 熵
H ( X ) P ( x ) log
2
P (x)
自信息
I ( E ) log P ( E )
零记忆信源
完全用(B,u)描述,信源符号统计独立的信源就成为零 记忆信源。
B {b1 , b 2 , , b J }, b( j 1,2, , J )称为信源符号 j
N
M
Pi N i
编码效率:
N log
i 1
H (X )
2
n
冗余度:
Rd 1 N log
2
n H (X )
2
N log
n
统计编码的目的就是要设法减小 N ,使得 1 。显然 N 有一个最低限,当 1 时, N 的最低限 H ( X ) / log 2 n 。 可以根据这一准则来衡量编码方法的优劣。
图像压缩所解决的问题是尽量减少表示数字图像时 需要的数据量,减少数据量的基本原理是除去其中多余 的数据。以数学观点来看,实际上就是将二维像素阵列 变换为一个在统计上无关联的数据集合。 图像压缩方法分类: 信息保存型和信息损失型。
6.1 数据冗余和压缩
图像编解码过程
存储
原始图像
编码
编码结果
解码 传输
1 2
根据该信源的消息集合,在字母集 A { a , a , , a } 中选取 ai进行编码。一般情况下取二元字母集 A { 0 ,1} 根据信息 论中熵的定义,可算出该信源的熵为:
n
H ( X ) Pi log
i 1
M
2
Pi
平均码长: 设对应于每个消息的码字由Ni个符号组成,也就是说每 个消息对应的码字长度各为Ni。
香农第二定理(有失真编码定理): 在给定保真度准则的前提下,如何来确定最小的编码 所用数据率(每像素的平均比特数)? 如果允许最大可能的失真,就可获得最小的信息率。 通俗的说,允许的失真度越大,图像的压缩率就越高。
6.4 哈夫曼编码
变长编码是基于统计模型的,也有人称熵编码, 可以减少图像的编码冗余。
M 1 N 1
x0 y0
ˆ ( x , y ) f ( x , y )] 2 [f
3) 均方根信噪比
M 1 N 1
SNR
rms
x0 y0