1、第八章课后习题【8.1】求概率分布为 (1/3,1/5,1/5,2/15,2/15)信源的二元霍夫曼码。讨论此码对于概率分布为(1/5,1/5,1/5,1/5,1/5)的信源也是最佳二元码。解:概率分布为(1/3,1/5,1/5,2/15,2/15)信源二元霍夫曼编码过程如下:同样,对于概率分布为(1/5,1/5,1/5,1/5,1/5)的信源,编码过程如下:可见,二者的码字完全相同。【8.2】设二元霍夫曼码为 (00,01,10,11)和(0,10,110,111),求出可以编得这样霍夫曼码的信源的所有概率分布。解:二元霍夫曼编码的过程必定是信源缩减的过程,编码为 (00,01,10,11)
2、的信源,其码树如下图所示。假设四个信源符号的概率分别是 p1, p2, p3, p4 ,假设 p1 3p2 3 p3 3 p4 ,则必定有如下条件成立 p p + p1 34 p p + p2 34 又 p1 + p2 + p3 + p4 = 1 ,即 p3 + p4 3 13 ,因此要构造上述编码,必定要满足 1 p3 + p4 3 3 p p + p1 34 p p + p2 34 而编码为(0,10,110,111)的码树如下图所示:如果按上述情况进行编码,必定要满足 p2 p1 , p3 +p4 1 。因此完成上述编码的概率分布为: 3 1 p1 3 p2 p1 p +p LC ,而平
3、均码长 LC =T , LC = T ,可得 nn T T (2) a = 1时,所有码字的码长相 ,均为li =k ;a = 2时,所有码字的码长相 ,均为li= k +1;而 1 a 2 时,信源符号个 是于 2k 2k +1 的currency1 , 码树上,是 长度为 k的 上出分 , 为长度为 k + 1的码字(第(3)题 所 的码长要是 L -1= k ,要是 L= k + 1)。设码长为 k的 为 x,k则码长为 k + 1的 的分 定为(2 -x) 2 ,而码字的个 为: kk +1 kx +(2 -x) 2 = 2 -x = a2 因此有 -l -lii.r =.2 -kkk
4、ii1= x2 +(2 -x) 2 2 -kk -k= x2 +(2 -x) 2 = 1 (3)已第(2) 题 以 ,此 。(4)根据第(2) 题 的分析可 L= k + 1, 有 u + v = a2k v = 2k +1 -2u 解得 k +1 ku = 2 -a2 kk +1 k +1v= 2a2 -2 = (a -1)2 编码后的平均码长为 1 +1L = ( )() a2 akakkkkk1)21(221-+-+= 1 ka + 2a -2a 2 = k + 2 a 【8.9】有 幅已离散 化后的图像,图像的灰度 化分成 8级,见下表。表字为相像素上的灰度级。 1 1 1 1 1 1
5、 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 有 无损无噪二元信 ,单时 (秒)内传输 100个二元符号。(1) 图像通过给定的信 传输, 考虑图像的任统计 ,并二元长码, 要长时 才 传完这幅图像(2)考虑图像的统计 ( 考虑图像的像素 的依赖 ),求此图像的信源熵
6、 H (S),并对灰度级进行霍夫曼最佳二元编码,平均个像素 二元码符号来表示这时 时 才 传完这幅图像(3) 论上简要 这幅图像还可以压缩,而 平均个像素所 的二元码符号 可以 于 H (S) 。解:(1)二元 长码, 考虑信源符号的统计 ,平均个灰度 要 3二进制表示, 10*10的图像上,共 300二进制表示,以秒传输 100计算,共 3秒钟传输。(2)统计图像 灰度级的出次 : 1 2 3 4 5 6 7 8 40 17 10 10 7 6 5 5 如果考虑信源符号的统计 ,对上述灰度级进行编码,如下图所示。得如下码字: 1 2 3 4 5 6 7 8 40 17 10 10 7 6 5
7、 5 0 100 1010 1011 1100 1101 1110 1111 1 3 4 4 4 4 4 4平均码长为: L =0.4 + 0.51+ 0.43*4 = 2.63 10*10的图像上,共 263二进制表示,以秒传输 100计算,共 2.63秒钟传输完。(3)计算(2) 题时,并未考虑像素灰度级 的依赖关系,例如,灰度 1后 跟灰度 1和 2,并未有其 灰度值。这样得 的信源熵 H ¥ H (S) ,而根据 第 定 , 对信源进行扩展时,其平均码长 L逼近于 H ¥ H (S) ,因此,该图像可以进 步压缩,平均个像素所 要的二元码符号 L . H¥ H (S) 。【8.10】有
8、 个 有 8个的无记忆信源,其概率 自为 0.2, 0.15, 0.15, 0.1, 0.1, 0.1, 0.1, 0.1。试编成 种 元延长码, 的平均码长相同,但 有 同的码长的方差,并计算平均码长和方差, 哪 种码更实。解:进行 元编码, 增补 个概率为 0的信源符号, 种编码方法如下所示。图 1 图 2 平均码长为: L =0.2 + 0.3 + 0.3 + 0.6 + 0.6 = 2 编码 1的码方差为: s12 = E(li -L )2 = 0.2 + 0.1+ 0.1 = 0.4 s22 = E(li -L )2 = 0 虽然 种编码的平均码长相同,但由于编码 2的码方差较 ,因
9、此编码 2更实 。【8.11】设有 个信源 X和Y如下: X xxxx xxx 12 3 4 567 =.P(x)0.2 0.19 0.18 0.17 0.15 0.1 0.01. Y y1 y2 y3 y4 y5 y6 y7 y8 y9 =.P( y)0.49 0.14 0.14 0.07 0.07 0.04 0.02 0.02 0.01. (1)分别霍夫曼码编成二元 长惟 可译码,并计算其编码效率;(2)分别 编码法编成二元 长惟 可译码,并计算编码效率;(3)分别费诺编码方法编成二元 长惟 可译码,并计算编码效率;(4) XY 种 同信源来 较这 种编码方法的 缺 。解:第 个信源:信源
10、熵为: H (X) = -. P(x)log P(x) = 2.60868 对其进行二元霍夫曼编码,如下所示: 000 0.2 0.39 0 01 0.19 1 0100 0.18 0.35 0101 0.17 1 0.61 0 1110 0.15 0.26 01110 0.1 1 0.11 111110.01 1 平均码长为: L= 0.39* 2 + 0.55*3 + 0.11* 4 = 2.72 码符号/信源符号编码效率为:H (X )h= 0.95907L 对其进行费诺编码,如下所示: 00 010 011 0.2 0.19 0.18 0 0 1 0 1 10 0.17 0 110 1
11、110 1111 0.15 0.1 0.01 1 1 0 1 0 1 平均码长为: L= 0.4 + 0.37 *3 + 0.34 + 0.45 + 0.44 = 2.74 码符号/信源符号编码效率为: H (X )h= 0.95207L 对其进行 编码,如下所示。概率码长累积概率分布二进制 码字 0.2 3 0 0.0 000 0.19 3 0.2 0.001100110011 001 0.18 3 0.39 0.011000111101 011 0.17 3 0.57 0.100100011110 100 0.15 3 0.74 0.101111010111 101 0.1 4 0.89
12、0.111000111101 1110 0.01 7 0.99 0.111111010111 1111111 其平均码长为: L= 0.89*3 + 0.4 + 0.07 = 3.14 码符号/信源符号编码效率为: H (X )h= 0.83079L 第二个信源:信源熵为: H (Y) = -. P(y)log P(y) = 2.31356 对其进行二元霍夫曼编码,如下所示。平均码长为: L= 0.49 + 0.28*3 + 0.18* 4 + 0.02*5 + 0.03*6 = 2.33 码符号/信源符号编码效率为: H (Y )h= 0.99294L 对其进行费诺编码,如下所示。 0 0.
13、49 0 100 0.14 0 101 0.14 0 1 1100 0.07 0 1101 0.07 0 1 1110 0.04 0 11110 0.02 0 111110 0.02 0 111111 0.01 1 1 1 1 1 1 平均码长为: L= 0.49 + 0.28*3 + 0.18* 4 + 0.02*5 + 0.03*6 = 2.33 码符号/信源符号编码效率为:H (Y )h= 0.99294L 对其进行 编码,如下所示:概率码长累积概率分布二进制 码字 0.49 2 0 0.0 00 0.14 3 0.49 0.011111010111 011 0.14 3 0.63 0.
14、101000010100 101 0.07 4 0.77 0.110001010001 1100 0.07 4 0.84 0.110101110000 1101 0.04 5 0.91 0.111010001111 11101 0.02 6 0.95 0.111100110011 111100 0.02 6 0.97 0.111110000101 111110 0.01 7 0.99 0.111111010111 1111110 平均码长为: L= 0.49* 2 + 0.28*3 + 0.14* 4 + 0.04*5 + 0.04* 6 + 0.01* 7 = 2.89 编码效率为: H (
15、Y )h= 0.80054L 上述编码 可以 出,霍夫曼编码的平均码长最,编码效率最 , 编码的平均码长最长,其编码效率最低,费诺编码居 。【8.12】信源符号集 A =1,2,K,q,其概率分布为 p1, p2,K, pq 。以下方法对信源符号进行编码。首 概率分布按 顺序排列 p13 p2 3 K 3 pq ,定义累积分布函 D i-1 Fi =. pk k =1 Fi是所有 于i符号的概率和。于是符号i的码字是取 Fi的二进制 的 li ,有尾 进 第li ,其 li = log1 。p i (1) 这样编得的码是即时码;(2) : H (S) L H (S) +1;(3)对于概率分布为
16、 (0.5,0.25,0.125,0.125)的信源进行编码,求其 码字;(4)( 3) 所得的码是否 此信源的霍夫曼码巧完全 致试 这种完全 致的 般 。解:(1)按 所取的累积分布函 , 得 C-F(si ) 3 0 二者的差必然 于第li 上的权值,因此有 0 C -F(si ) 2-li i而li = log1 ,得log 1 li log 1 +1,即 2-l P(si ) ,可得 ppp i ii F(si ) C F(si ) + 2-li 画出累积分布函 的图像,如下图所示。可以,最后所得的码字取值区 并无重叠,根据二进制 的 ,可得 重叠的区 其二进制 的前缀部分是 同的,所
17、以,这样得 的码 定满足 长码的前缀条件,因此是即时码。(2)根据li = logp 1 ,得log p1 li log p 1 +1,因此有 i ii ip logip 1 i ip l ip log ip 1 + ip 边进行统计平均得 ( )H S L ( )H S 1+ (3)对概率分布为(0.5,0.25,0.125,0.125)的信源进行编码,过程如下:码字概率码长累积分布二进制 0 0.5 1 0 0.0 10 0.25 2 0.5 0.1 110 0.125 3 0.75 0.11 111 0.125 3 0.875 0.111 (4)该码字 此信源的霍夫曼编码完全 致,即 身
18、构造成该信源的紧致码,其 因是其码长 为log P(1 si) ,信源的 验概率 为 2的幂次方分布,构成 第 定 下限成立的条件,因此必然可以构造出紧致码。【8.14】已 二元信源0,1,其 p0 = 18 , p1 = 87 ,试对其进行算术编码,并计算此序列的平均码长 11111110111110 解:序列的概率为: 12 2 . 7 .12 . 1 .2 P(s= 11111110111110) = p1 p0 =. . 8 . 8 . 编码时对该序列的码长值为: 1 8 li=log = 12*log + 2*3 =8.311= 9 P(s) 7 码字码树上的相对置如下图所示:因此可
19、得码序列的累积分布函 为: F (S) = 1-P(11111111) -P(1111111011111) . 7 .8 . 7 .12 1 = 1-. -. 8 . 8 . 8 = 0.631213929 累积分布函 为二进制 ,得 0.101000011001,取 后 9,并进行进 ,得上述序列的编码为 101000100。平均码长为 L= 9 = 0.6429 码符号/信源符号14 编码效率为: H (S) 0.54356h = = 84.555%L 0.6429 【8.15】对输入 据流 000010110011100001001101111分别 LZ-77算法LZ-78算法,LZW算
20、法K-Y算法进行编码,并计算 种方法的压缩率。解: LZ-77编码,所得的编码序列为: (0,0,0) (1,3,1) (0,0,1) (2,2,1) (6,3,1) (5,3,0) (13,3,0) (9,3,1) (14,3,eof) LZ-78编码,其分段顺序为:0, 00,01,011,001,1,10,000,100,11,0111,11 字典的建立过程如下:字典编号储条目序列 1 0 (0,0) 2 00 (1,0) 3 01 (1,1) 4 011 (3,1) 5 001 (2,1) 6 1 (0,1) 7 10 (7,0) 8 000 (2,0) 9 100 (7,0) 10
21、11 (6,1) 11 0111 (4,1) (10,eof) LZW编码,过程如下:基 字典 1 2 0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 00 000 01 10 011 100 0111 1000 001 1001 11 101 111 11 1 3 1 2 5 6 7 8 3 8 2 6 13 13,eof K-Y算法:令 D0=0,D1=1, 读入 4个,0000,前后相 ,因此暂时编码 D2D2 其 D2=D0D0继续输入 D2D2 D1D0D1D0,出重复情况,令 D1D0=D3=10,则该序列 为:D2D2 D3D3,继续输入,得 D2D2 D3D3D0D1D1D1D2D2令 D4=D2D2=0000,上序列 为: D4D3D3D0D1D1D1D4D1D0D0D1令 D5=D0D1,上序列 为: D4D3D3D5D1D1D4D1D0D5D1 令 D6=D5D1上序列 为: D4D3D3D6D1D4D1D0D6D0D1D1D1D1令 D7=D1D1=11,上序列 为 D4D3D3D6D1D4D1D0D6D0D7D7其 D0=0,D1=1,D2=00,D3=10,D4=0000,D5=01,D6=011,D7=11 上述序列以及字典接收方即可。