数字图像处理与应用 Class 16. 20200622
Lecture 16 Compression
--Lossless Image Compression
#Variable length coding(Eliminate coding redundancies)
Huffman coding
Arithmetic coding
#LZW coding (Reduce interpixel redundancies)
#Hybrid Coding
--Lossy Image Compression
Arithmetic coding
源符号和码字之间不存在一一对应关系。
一个完整的源符号序列被分配一个算术码字。
码字定义了0到1之间的实数区间。
随着消息中符号数量的增加,用于表示它的间隔会变小。
而表示间隔所需的信息单位(比特)的数量也会变大。
栗子:
对于编码的信息源为“dacab”,每个源符号的概率为:P(a)=0.4,P(b)=0.2,P(c)=0.2, P(d)=0.2
在编码过程开始时,假设信息源占据整个半开区间[0,1),根据概率将每个符号的初始区间初步细分为四个区域:a=[0,0.4), b=[0.4, 0.6), c=[0.6, 0.8), d=[0.8, 1.0)
对于“d”的第一个编码符号,其初始间隔为[0.8,1.0);
对于第二个符号“a”,因为前一个符号“d”被限制在[0.8,1.0)中,所以“a”的值应该在[0,0.4)子区间[0.8,1.0)中,那么
即符号“da”的编码间隔在[0.8,0.88)。
其中StartN、EndN为新间隔的开始和结束位置,StartB为前间隔的开始位置,LB为前间隔的长度。LeftC和RightC是当前代码间隔的左右边界。
对于第三个符号“c”,它应该在[0.8,0.88)的子区间[0.6,0.8)内,则:
对于第四个符号“a”:
对于第五个符号“b”: