第六章 图像编码版权所有,1997 (c) Dale Carnegie & Associates,Inc.
CHAPTER 6
IMAGE ENCODING
§ 1 基本概念
§ 2 简单编码方法
§ 3 预测编码方法
§ 4 变换编码方法
§ 5 压缩标准
§ 6.1 基本概念
§ 6.1.1 数据冗余
数据图像压缩中的关键概念,数据是用来表示信息的,信息包括有用信息和无用信息,设 n1,n2分别代表表达相同信息的 2个数据集合中的信息载体单元的个数,相对数据冗余 RD定义为:
RD = 1-1/CR; CR称为压缩率,CR = n1/ n2 ;
数据冗余有编码冗余、象素间冗余和心理视觉冗余。
一、编码冗余
图像编码需要建立码本来表达图像数据;
码本 Codebook,用来表达一定量的信息或一组事件所需的一系列符号集合,如字母、数字等;
码字 Codeword,对每个信息或事件所赋的码符号序列,符号个数称为码字的长度;
当 编码中 没有利用图像的概率特性时,就会产生编码冗余;
§ 6.1.1 数据冗余 (续 1)
二、象素间冗余
象素间冗余常称为空间冗余或几何冗余,类似的,帧间冗余是图像序列间的冗余;
具有象素间冗余的图像中,象素的值可由其邻近象素的值预测出来;
减少象素间冗余的转换常称为映射( mapping)。
三、心理视觉冗余
根据马赫带效应,眼睛并不是对所有视觉信息有相同的敏感度,
有些信息可以认为是信息视觉冗余的,去掉这些信息无关紧要;
如电视广播中的隔行扫描。
§ 6.1.2 图像保真度和质量对图像编码中信息损失的测度称为逼真度准则一、客观保真度准则(可用编码输入图与解码输出图的函数表示)
1.均方根误差 rms
令 f( x,y) 代表输入图像,f ‘( x,y) 代表输出图像;
均方误差为 erms = ( 1/MN) {∑∑[f ‘( x,y) - f( x,y) ]2 }1/2
2,均方信噪比 SNR( Signal to Noise Ratio)
SNR = ∑∑f ‘ (x,y)2 / ∑∑[f ‘ (x,y) -f (x,y)]2
3,峰值信噪比 PSNR
PSNR = 10*log{fmax2 / ∑∑[f ‘ (x,y) -f (x,y)]2 }; fmax = 255;
§ 6.1.2 图像保真度和质量(续 1)
二、主观保真度准则
用主观方法来评价图像的质量,例如电视图像质量的评价尺度。
§ 6.1.3 通用图像编码模型
通用图像编码模型图示:
去冗余 增强抗噪能力
输入图 信源编码器 信道编码器 信道 信道解码器 信源解码器 输出图
无噪声时,信道编码器和解码器都不需要;
一、信源编码器和信源解码器结构
信源编码器 信源解码器
映射器 量化器 符号编码器 信道 符号解码器 反映射器
减少象素间冗余 减少心理视觉冗余 减少编码冗余
二、信道编码器和信道解码器
通过把可控制的冗余加入信道编码后的码字,减少信道噪声的影响。如汉明( Hamming) 提出的信道编码技术。
§ 6.1.4 信息论简介(略)
基本编码定理
1,无失真编码定理;
2,信道编码定理:
3,信源编码定理:
§ 6.2 简单编码方法
§ 6.2.1 熵、平均码字长度和编码效率一、图像熵的定义( Entropy)
设图像灰度级集合为 {a1,a2,…,aM},对应的概率分别为
{p(a1),p(a2),…,p(aM)},且 ∑p(aM)=1;熵定义为
H= -∑p(ai) log p(ai); i=1,..,M
表示各个灰度级比特数的统计平均值,熵是编码所需比特数的下限
(至少需要的比特数)。
二、平均码字长度设 Bi为第 I个码字 ai的长度 (二进制代码的位数 );其概率为 p(ai),则平均码字长度定义为 R = ∑ Bi p(ai) ; i=1,..,M
三、编码效率编码效率定义为? = H / R %;
§ 6.2.2 变长编码方法变长编码以熵编码方法为主,只减少编码冗余;
§ 6.2.2.1 哈夫曼编码一、算法说明哈夫曼编码也称为紧凑码,是根据输入符号的出现概率实现变长熵编码;
设输入符号为 {a1,a2,…,aN},p(a1)?p(a2)?…? p(aN),正向最末两位相加,
并重排序,反向分配码字;编码使得码长 l(a1)? l(a2)? …? l(aN);
二、算法举例 消减次数初始信源 符号 概率 码字 1 2 3 4
a2 0.4 1 0.4 1 0.4 1 0.4 1 0.6 0
a6 0.3 00 0.3 00 0.3 00 0.3 00 0.4 1
a1 0.1 011 0.1 011 0.2 010 0.3 01
a4 0.1 0100 0.1 0100 0.1 011
a3 0.06 01010 0.1 0101
a5 0.04 01011
§ 6.2.2.1 哈夫曼编码(续 1)
上述编码后的码本为 {a1,011; a2,1; a3,01010; a4,0100;
a5,01011; a6,00}
编码和解码算法能用简单的查表方式(或二叉树)实现,从左到右解码;
三,哈夫曼编码 特点
1,块码,固定次序的码符号; 2,即时码,不需考虑其后的符号解码; 3,唯一码,只有一种方式解。
四、效率计算
熵 H = 2.1434 bit/字符
平均码字长度 R = 2.2 bit/字符
效率? = H / R % = 97.3 %
§ 6.2.2.2 亚最优变长码
§ 6.2.2.2 亚最优变长码亚最优变长码通过牺牲编码效率,来换取编码计算的简便。
一,B码
B码的组成:每个码字由两部分位符组成,信息位符和接续位符;
接续位符记为 C,作用是将码字分开;信息位符,二进制数码;
例如 B2码,每个接续符 C后有 2个信息位符,第一个 C为 0,以后码字中交替为 0或 1;(同一个码字中的接续符 C相同设 B2码,a1 C00 a8 C00C11 a15 C10C10
则 a1 a8 a15 可编码为 000 100111 010010 当 a1接续位为 0时或 100 000011 110110 当 a1接续位为 1时
§ 6.2.2.2 亚最优变长码 (续 1)
二、截断哈夫曼码(改型)
原理:只对最可能出现的 M( M?J) 个符号进行哈夫曼编码,剩余的码采用定长码并加前缀构成;
例如,有 a1,…,a21共 21个符号,J=21,设 M=12,按概率排序排在后面的 21-12=9个符号用一个哈夫曼码作为前缀码,添加 0000-
1000共构成 9个 码;前缀码是以 概率 ∑p(ai),i=13,…,21 在哈夫曼编码中所得的编码。
举例,按概率排序后 9个符号的概率和为 0.2,参加前 12个符号一起进行哈夫曼编码,该概率的编码为 10,则 截断哈夫曼码的结果为 按概率排序的前 12个符号仍采用哈夫曼编码,后 9个以 10作为前缀码,
依概率先后顺序添加 0000-1000构成,即 10 0000,10 0001,…10
1000 。
§ 6.2.3 游程编码游程编码,RLC( Run Length Coding),亦称为行程编码。
对画面不太复杂的图像采用行程编码可以得到很大的压缩;如天气形势图等。
游程:沿扫描行的特定方向计算同一灰度连续有多少个像素称为游程。
游程编码的原理:把图像数据映射成灰度值 r 和其游程 l,把每一行图像都映射成( li,ri) 的集合,用( li,ri) 可以不丢失地恢复原图像。
步骤:从左到右扫描一行图像,得到灰度和游程( li,ri),连续写入文件,直到图像所有行处理完成。
§ 6.2.5 算术编码算术编码不存在源符号和码字之间的一一对应关系;
一、原理和方法从整个符号序列出发,采用递推形式连续编码,由于编码过程中,只用到加法和移位运算,故得名。
二、举例已知信源符号 {a1,a2,a3,a4},概率 p(ai)={0.2,0.2,0.4,0.2},符号序列为 a1
a2 a3 a3 a4,求其算术编码。
a4 0.2 0.08 0.072 0.0688
0.16 0.072 0.688 0.06752
a3
a2 0 08 0.056 0.0624
a1 0.04 0.048 0.0592,
0 0 0.04 0.056 0.0624
§ 6.3 预测编码预测编码是基于像素间的相关性。
预测编码的思想是,提取每个像素中的新信息,并对它们编码来消除像素间冗余;
新信息的含义定义为该像素的当前或现实值与预测值的差。
预测编码分为无损预测编码和有损预测编码。
§ 6.3.1 无损预测编码一,无损预测编码示意图系统组成,一个编码器和一个解码器,各带一个相同的预测器。
系统示意图:
输入图像 fn en
∑ 符号编码器 压缩图像预测器 整数舍入 fn’ ( 数据)
压缩图像 en +
符号解码器 ∑ 解压图像
fn’ +
预测器过程说明,fn (n=1,2,…,n)为像素序列,编码器中预测器根据若干个过去的输入产生当前输入的预计值,舍入输出为整数 fn’ ;
§ 6.3.1 无损预测编码(续 1)
计算预测误差 en,这个误差经符号编码器用变长码进行编码输出;
解码器根据接收到的变长码重建 en,并执行 fn = en + fn’ 操作;
前值预测器:将 m个先前的像素进行线性组合得到预测,即
fn’ = round[ ∑ai fn-i ],i =1,…,m
m为线性预测器的阶,ai为预测系数,n表示空间坐标变化的方向数,
round为舍入函数。
n=1,fn’(x,y) = round[∑ai f(x,y-1) ],
fn’(x,y)是当前行( x行)扫描到的先前像素的函数;
m=1时,最简单的线性预测,
fn’(x,y) = round[aif(x,y-1)],称为前值预测器;
§ 6.3.2 有损预测编码
一,有损预测编码是在无损预测编码系统的基础上,增加了量化器构成,
量化器插在符号编码器和预测误差产生处之间;图中 en’为量化误差,fn^
为过去的预测和,fn’ = en’ + fn^为反馈环的输入,也是解码器的输出,
这样在解码器的输出端不会产生误差。
二,DM德尔塔 调制方法
DM是一种简单的有损预测编码方法,其预测器和量化器分别为:
预测器,fn^= a fn-1’,a为小于等于 1的预测系数;
量化器,en’ = +c,当 en’? 0; 否则 en’ = -c ; c为一个正的常数。
这种方法由于预测器误差和量化误差会引起颗粒噪声或斜率过载现象。
解决上述问题的方法有差值脉冲码调制法 DPCM和最优量化法等。
§ 6.4 变换编码
§ 6.4.1 系统示意图变换编码的编解码系统示意图如下:
输入图像 构造子图像 正变换 量化 符号编码 压缩图像压缩图像 符号解码 反变换 合并子图像 解压图像
§ 6.4.2 变换选择正交变换具有熵保持、能量保持、去相关等性质;
许多图像变换 DCT,DFT等都可以用于变换编码;
选择变换取决于 1,可容许的重建误差; 2,计算要求,软硬件实现;
DCT信息集中能力较强,计算复杂性不大,应用较多。
§ 6.4 变换编码 (续 1)
§ 6.4.3 子图像尺寸选择子图像的尺寸对编码误差和计算复杂度有影响;
一般子图像尺寸为 2的整数次幂,选择 8*8,16*16较多;
也有采用动态选择的方案,如四叉树分割图像等;
§ 6.4.4 比特分配截断误差:保留系数的精度,系数截断;
系数保留准则:最大方差准则,称为分区编码;
最大幅度准则,称为域值编码;
对变换子图像的系数截断、量化和编码的全过程称为比特分配;
§ 6.4 变换编码 (续 2)
一,分区编码 根据信息论中的不确定性原理,具有最大方差的变换系数带有最多的图像信息,应当保留;
典型的分区模块中,具有最大方差的系数集中在图像变换的原点处,如 DCT的 DC分量块在左上角;
每个系数编码所需的比特数:
策略 1:分配相同数量的比特;简单策略 2:分配几种固定数量的比特;
二,域值编码适应方法,子图像保留的变换系数的位置不是固定的,(块中最大变换系数的贡献最大,其位置不固定),随子图像的不同而不同;
对变换子图像取域值的方法有:
1,对所有子图像用一个全局域值;
2,对各个子图像分别用不同的域值;
3,根据子图像中各系数的位置选取域值;
§ 6.5 图像编码标准
由 ISO或 CCITT( 国际电话电报咨询委员会)制定图像压缩的国际标准;
压缩技术的优劣评价标准包括以下几方面:
1)信息压缩比;
2)算法的难易和执行速度
3)重现精度
一、二值图像压缩标准
G3或 G4 采用 2D非自适应编码方式,压缩率约为 15,1
JBIG 采用自适应技术,编码效率高于 G3,G4
二、静止图像压缩标准
JPEG 采用了混合编码方法
§ 6.5 图像编码标准(续 1)
在 JPEG中,定义了三种编码系统
1)基于 DCT的有损编码基本系统
2)用于高压缩比、高精度或渐进重建应用的扩展编码系统
3)用于无失真应用场合的无损系统
JPEG中压缩比及图像保真度是可调节的,供用户选择;压缩率可达 25,1,适应于不同的应用场合。
压缩过程,1) DCT计算;
2)量化;
3)变长码赋值;
JPEG2000也已制定。
§ 6.5 图像编码标准(续 2)
三、序列图像压缩标准用于运动灰度图像或彩色图像压缩 ;
H.261序列灰度图像压缩标准,电视会议等应用场合也称为 P× 64标准,采用 DCT压缩方法及帧间冗余减少方法;
MPEG I 第一个运动图像压缩标准,用于数字多媒体压缩图像;
MPEG II 视频传输压缩标准,普通电视、高清晰度电视传输压缩标准;
MPEG IV 多媒体内容描述界面;