目录
图像压缩编码的必要性?数字图像中,信息的冗余来源于什么?(可能性?)
预测编码中,DPCM, DELTA M(增量编码)编码的过程分别是什么样的?
变换编码的原理,变换编码中为什么要采用游程编码,什么是游程编码?
图像压缩编码的必要性?数字图像中,信息的冗余来源于什么?(可能性?)
图像的数据量非常大,若不编码,512*512*8(3bit)的黑白图像就需要256KB的空间存储,为了有效地传输和存储图像,为了减少信号占用的各种信号空间,必须压缩图像数据。
可能性一:信号中的冗余
- 结构上:空间冗余,时间冗余:图像信号的相邻像素间、相邻行间、相邻帧间存在很强的相关性,可以信息压缩。相邻像素间、相邻行间的冗余称为空间冗余;相邻帧间的冗余称为时间冗余。统称为结构冗余。
- 统计上:统计冗余:出现概率高的信号采用短码编码,出现概率低的信号采用长码编码,从而节省码字
可能性二:人眼的视觉特性
- 通过视觉的生理学、心理学特性分析可知,允许经过压缩编码的复原图像在客观上有一定的失真,只要失真在主观上是难以察觉的
信源编码/信道编码的目标分别是什么,图像编码属于?
信源编码器:减少或消除输入图像中的结构冗余、统计冗余及心理视觉冗余,解决有效性问题,力图用最少的码传递最多的信息量。图像编码属于信源编码
信道编码的任务是解决可靠性问题。也就是尽量使处理过的信号在传输过程中不出错或少出错,既使出了错也要有能力尽量纠正错误。
信源编码器:(并不是3种操作都必须包括)
- 转换器:减少结构冗余;
- 量化器:减少心理视觉冗余,该步操作是不可逆的;
- 符号编码器:减少统计冗余;
PCM编码的位数跟编码信噪比的关系是什么?
线性PCM编码器的建模结果:
假设灰度值为0-7,那么用三位编码(自然二进制码/格雷码),n=3,信噪比为(11+18)dB
每增加一位码可得到6dB的信噪比得益。
PS:非线性PCM编码采用瞬时压缩扩张技术提高小信号时信噪比
- 方案一在采样后(一般硬件)非线性压缩,后在输出端前非线性扩张;
- 方案二数字化非线性压扩,一般与编译码在同一个过程,eg.μ特性 A 特性——13折线(A=87.6)
(图)一半的13折线(另一半对称)
什么是预测编码及统计编码方法?分别致力于消除什么冗余?
熵编码【统计编码:根据像素灰度值出现概率的分布特性而进行的压缩编码】(P[概率]大码短,P小码长):从空间域去除统计冗余,例如信号值分布不均匀等:霍夫曼 Huffman码 / 香农-费诺 Shannon-Fano码
预测编码DPCM【预测编码是根据离散信号之间存在着一定关联性的特点,利用前面一个或多个信号预测下一个信号进行,然后对实际值和预测值的差(预测误差)进行编码。】:从空间域去除结构(时、空)冗余
PS:变换编码:从频域去除冗余
怎么计算信源的熵,平均码长,编码效率及冗余度?
信源的熵(信源的不确定度):
平均码字长度:
编码效率=1-冗余度:
- 信源发出的信息中,每个符号所含的熵=
,H为信源的熵H:平均每个消息有多少信息量
- 所用编码(实际)可承载的最大信息量=
, n为A【字母集合】中的可选字符数,a为进制数一般为2进制编码
eg.编码只有{0,1}则n=2,最大信息量 ;编码有{00,01,10,11}则n=4,最大信息量
例题:一个信源X和一个字母集合A(编码)如下
可得:信源的熵
平均码长,因为每一个长度都是1,所以
所以 ,
=======
编码方法选 A= {0,1}, n=2,,计算编码效率
平均码长,
,最后得效率
PS:
熵的性质:
(1)熵是一个非负数,即总有H(s)≥0。
(2)当其中一个符号sj的出现概率p(sj)=1时,其余符号si(i≠j)的出现概率p(si) =0,H(s)=0。
(3)当各个si出现的概率相同时,则最大平均信息量为log2 q。
(4)熵值总有H(s) ≤ log2 q。
信息量:从N个数选定一个数s的概率为p(s),则S的信息量为:
哈夫曼编码的过程
具有最优变长编码性质,平均码长最短,接近熵值,是一种无失真编码。
例题:信号源 s={s1, s2, s3, s4, s5, s6},其概率分布为p1=0.4 p2=0.3 p3=0.1 p4=0.1 p5=0.06 p6=0.04,求最佳Huffman码。
方法:
- 重复”概率排序,最小两概率合成“直至只剩两个相加为1的概率为止
- 要么大概率为0,小概率为1,要么大概率为1,小概率为0,
这个图画完之后我们就开始给S1赋值,我们0.4概率的S1从一路风光最后名落第二,S1=1
然后是S2=00,S3=011
以此类推:S4=0100,S5=01010,S6=01011 必须这样的顺序才可以满足单义性。
再来一题:
x1=0 x2=110 x3=100 x4=1111 x5=1011 x6=1010 x7=11101 x8=11100
香农-费诺编码的过程。
仙农编码的步骤如下:
- 统计出各个灰度出现的概率;
- 从上到下把上述概率按从大到小的顺序排列;
- 从序列中的某个位置将序列分成两个子序列并尽量使两个子序列概率和近似相等。给前面的一个子序列赋值为0,后面的一个子序列赋值为1;
- 重复步骤3直到各个子序列不能再分;
- 分配码字,将每个元素所属子序列的值串起来,就可以得到各个灰度级的仙农编码。
例题:一幅图像的灰度级别及概率如下图所示,求其仙农编码结果及编码效率。
S7=00;S6=01;S5=100;S4=101;S3=1100;S2=1101;S1=1110;S0=1111
变长编码必须满足什么性质?
变长编码是统计编码中最为主要的一种方法。编码的基本限制就是码字要有单义性和非续长性(给一串的码,只能唯一的分割)。
- 单义性代码是指任意一个有限长的码字序列只能被分割成一个一个的码字,而任何其他分割方法都会产生一些不属于码字集合中的码字。符合这个条件的代码就叫单义代码。
- 非续长代码是指任意一个码字都不是其他码字的续长。换句话说,就是码字集合中的任意一个码字都不是由其中一个码字在后面添上一些码元构成的。
非续长一定单义,单义不一定非续长
e.g.
码Ⅰ/Ⅱ 不单义 可续长;码三单义非续长;码四单义可续长。
预测编码中,DPCM, DELTA M(增量编码)编码的过程分别是什么样的?
DPCM简单说就是对预测新信息和真实新信息的差编码
其中最重要的就是预测器了,是若干个前值的线性组合,其次是量化器。
DELTA M :
收端只需要译码然后低通滤波即可。
变换编码的原理,变换编码中为什么要采用游程编码,什么是游程编码?
变换编码是冗余压缩的过程,主要通过三个步骤来实现:
1、正交变换:空间域像块中像素间存在很强的相关性,能量分布比较均匀;正交变换后变换域系数间近似是统计独立的,相关性基本解除,并且能量主要分布在直流和少数低频系数上。一般采用8×8和6×6的像块。
2、非均匀量化:编码的时候,对高低频成分分别用不同的粗细量化等级,甚至于对很高的频率成分舍去不传,从而使码率明显减少。高频成分:采用少的量化比特数;低频成分:采用多的量化比特数。
3、Z形扫描和游程编码:减少码字长度
游程编码的思想:用适当的扫描方式,将已量化的DCT系数矩阵变为一维序列,使序列中连零的数目尽量多,对游程的长度进行编码以代替逐个传送这些零值,从而实现数据压缩。
Z形扫描时游程编码实现之一。
编码方法:将一维序列转化为一个由二元数组(run,level)组成的数组序列。Run表示连零的长度,level表示这串连零之后出现的一个非零值。当剩下的所有系数都是零时,用一个符号EOB(End of Block)来表示。
例:DCT变换后的系数矩阵如下表,求Z形扫描游程编码,设量化因子为16。
正交变换的比较:
- DCT的信息压缩能力比DFT和沃尔什-哈达玛(WHT)变换的能力要强;
- WHT是最容易实现的;
- DCT在信息压缩能力和计算复杂性之间提供了很好的平衡,因此,许多变换编码均以DCT变换为基础;
- DCT变换具有使用单一的集成电路就可以实现,可以将最多的信息包装在最少的系数之中。
跳过白色块编码
一维WBS编码:将图像的每条扫描线分成若干等长的段,每段有N个像素。这些扫描线段有三种形式:全是0像素;全是1像素;由0和1像素混合组成。 对全部是0像素的空白段用1bit“0”表示;对于其他像素段采用N十1个比特编码,即第一个比特人为地规定为1,其余N比特采用直接编码。
二维WBS编码:假设像素块尺寸为M×N,全部为白色的像素块用“0”表示,非全白像素块用(M×N+1)个比特码表示。其中第一个比特为“1”。其余M×N个比特采用直接编码。
各种编码国际标准缩写的含义
根据各标准所处理图象的类型不同,可将它们分成两大系列:
1、用于压缩静止图像的标准JPEG; (Joint Photo-Graphic Expert Group)联合图像专家组
2、用于压缩运动图像的标准MPEG和H.26X (Moving Picture Expert Group)运动图像专家组
MPEG-1:适用光盘 MPEG-2:使用数字电视DVD
……