图像压缩与编码.ppt
字符编码(Symbol-BasedCoding)基本原理:子图像编码(字符)每个字符存储其图像码和其在字典中的代码。而图像的数据以三维形式出现。如下图所示JBIG2压缩基本思想:将图像分割成三类子区域文字区域半色调图像区域普通区域位平面编码Bit-planecoding思想:将图像分成一系列的二值图像,然后用上述二值图像的压缩等好方法压缩。#ONE子图像块的变换编码(BlockTransformCoding)思想:先将图像分割成子图像,然后进行线性变换,再进行量化和编码。变换选择PART1傅里叶变换(2)walsh-Hadamardtransform(WHT)例:设有编码输入其频率分布分别为现求其最佳霍夫曼编码。 解:Huffman编码过程下图所示:符号概率x10.4x20.3x30.1x40.1x50.06x60.0410.40.30.10.10.120.40.30.20.130.40.30.340.60.4元素x1x1x2x3x4x5x6概率P(x1)0.40.30.10.10.060.04编码w110001101000101001011本例中对0.6赋予0,对0.4赋予1,0.4传递到x1,所以x1的编码便是1。0.6传递到前一级是两个0.3相加,大值是单独一个元素x2的概率,小值是两个元素概率之和,每个概率都小于0.3,所以x2赋予0,0.2和0.1求和的0.3赋予1。所以x2的编码是00,而剩余元素编码的前两个码应为01。0.1赋予1,0.2赋予0。以此类推,最后得到诸元素的编码如下:经霍夫曼编码后,平均码长为:==0.41+0.302+0.13+0.14+0.065+0.045=2.20(bit)该信源的熵为H=2.14bit,编码后计算的平均码长为2.2bit,非常接近于熵。可见Huffman编码是—种较好的编码。注意:Huffman编码实现短码不作长码的起始部分。Huffman编码是最佳的,其平均码长相同,不影响编码效率和数据压缩性能。由于Huffman码的码长参差不齐,因此,存在一个输入、输出速率匹配问题。解决的办法是设置一定容量的缓冲存储器Huffman码在存储或传输过程中,如果出现误码,可能会引起误码的连续传播Huffman编码对不同信源其编码效率也不尽相同。Huffman编码应用时,均需要与其他编码结合起来使用,才能进一步提高数据压缩比。哥伦布编码(Golombcodes)8.2.3算术编码理论上,用Huffman方法对源数据流进行编码可达到最佳编码效果。但由于计算机中存储、处理的最小单位是“位”,因此,在一些情况下,实际压缩比与理论压缩比的极限相去甚远。算术编码没有延用数据编码技术中用一个特定的代码代替一个输入符号的一般做法,它把要压缩处理的整段数据映射到一段实数半开区间[0,1]内的某一区段,构造出小于1且大于或等于0的数值。这个数值是输人数据流的唯—可译代码。对一个5符号信源A={a1,a2,a3,a3,a4},各字符出现的概率和设定的取值范围如下:字符概率范围a10.2[0.0,0.2)a20.2[0.2,0.4)a30.4[0.4,0.8)a40.2[0.8,1.0)“范围”给出了字符的赋值区间。这个区间是根据字符发生的概率划分的。具体把a1、a2、a3、a4分配在哪个区间范围,对编码本身没有影响,只要保证编码器和解码器对字符的概率区间有相同的定义即可。为讨论方便起见,假定有式中Ns为新于区间的起始位置;Fs为前子区间的起始位置,当前符号的区间左端;Ne为新子区间的结束位置;Fe为前子区间的结束位置;当前符号的区间右端;L为前子区间的长度。按上述区间的定义,若数据流的第一个字符为a1,由字符概率取值区间的定义可知,代码的实际取值范围在[0.2,0.4]之间,即输入数据流的第一个字符决定了代码最高有效位取值的范围。继续对源数据流中的后续字符进行编码。每读入一个新的符号,输出数值范围就进一步缩小。读入第二个符号a2取值范围在区间的[0.4,0.8]内。由于第一个字符a1已将取值区