前沿
图像压缩是减一图图像所需数据量的计数及科学。
图像压缩是指:减少给定信息量所需数据量的处理。包含不相关或者重复信息的表示为冗余数据。
二维灰度主要受下面三种主要类型的数据冗余影响:
①编码冗余:编码用于表示信息实体或者事件集合的符号系统。每个信息或者事件赋予一个编码序列,称之为码字。每个码字中符号数量就是码字的长度。在多数的二维灰度图像中,用于表示灰度的8比特编码所包含的比特数要比表示该灰度所需要的比特数多。
②空间和时间冗余:因为多数二维灰度阵列的像素是空间的(即每一个像素类似于或取决于相邻像素),在相关像素表示中,信息没有必要重复。
③不相关冗余:多数二维阵列中包含一些被人们视觉系统忽略或者无用的信息。它是冗余的。
图像信息量度
信息熵是用来衡量一个随机变量出现的期望值,一个变量的信息熵越大,那么他出现的各种情况也就越多,也就是包含的内容多,我们要描述他就需要付出更多的表达才可以,也就是需要更多的信息才能确定这个变量。信息熵衡量了一个系统的复杂度,比如当我们想要比较两门课哪个更复杂的时候,信息熵就可以为我们作定量的比较,信息熵大的就说明那门课的信息量大,更加复杂。一个具有概率 P(E) 的随机事件 E 可以说成 包含 I(E) 单位的信息。
如果 P(E) = 1 (即事件总会发生), I(E) =0。并认为它没有信息。因为该事件没有不确定性,所以该事件发生通信过程中不会传递任何信息。
上式中,信息的底决定了度量信息所用的单位。如果用 m 为底为对数,则这种度量称为 m 元单位。如果 底 是 2 ,则信息单位是比特。如果 P(E)=1/2,那么
I(E) =-
log
2
(1/2)
比特。也就是说,当两个出现概率相等的事件之一发生时,传达的信息是 1 比特。
从一个简单的可能时间的集合 {a1,a2,a3....aJ},给定一个独立统计的信源,与该集合相联系的概率为 {p(a1),p(a2),....,p(aJ)},满足:
信源输出的平均信息称为该信源的熵(信源的不确定性):
它定义了观察单个信源输出得到的平均信息量。
编码冗余
对于离散图像,可以假定一个离散随机变量
r
k 表示图像的灰度级,并且每个
r
k 出现的概率为 Pr( rk )
L:图像的灰度级
n:图像的像素总数
n
k:第 k 个灰度级出现的次数
如果用于表示每个 rk 值的比特数为 l( rk ),则表达每个像素所需的平均比特数为:
也就是说,将表示每个灰度级值所用的比特数和灰度级出现的概率相等,将所得乘积相加后得到不同的灰度值的平均码字长度。根据无失真编码定理,如果某种编码的平均比特数越接近于熵,则编码冗余越少。
例子:变长编码
rk :归一化的像素值
计算原图的熵:
H =-(0.19*log2(0.19+0.25*log2(0.25)+0.21*log2(0.21)+0.16*log2(0.16)+0.08*log2(0.08)+0.06*log2(0.06)+0.06*log2(0.06)+0.03*log2(0.03)+0.02*log2(0.02))=
2.558
采用自然二进制编码:Lavg = 3*1= 3
采用 code2 编码,平均比特数就为: Lavg = 2*0.19+2*0.25+2*0.21+3*0.16+4*0.08+5*0.06+6*0.03+6*0.02 =2.7
实现压缩基本原理
概率比较大的rk 分配比较短的编码长度,概率比较小的rk 分配比较长的编码长度,