《数据压缩导论(第4版)》P121
....................................................
7.使用LZ77算法对一个序列进行编码。给定C(a)=1,C(b)=2,C(r)=3,C(t)=5。对以下三元组序列进行解码:
<0,0,3><0,0,1><0,0,4><2,8,2><3,1,2><0,0,3><6,4,4><9,5,4>
假定窗口的大小为20,先行缓冲区的大小为10。对解码所得到的序列进行编码,确保得到相同的三元组序列。
解:又题意窗口大小为20,前向缓冲区大小为10,搜索窗口大小10。
C(a) = 1, C( ) = 2, C(r) = 3, C(t) = 4
解码过程如下:
序列 | 输出 |
<0,0,3> | r |
<0,0,1> | ra |
<0,0,4> | rat |
<2,8,2> | ratatatatatb |
<3,1,2> | ratatatatatbab |
<0,0,3> | ratatatatatbabr |
<6,4,4> | ratatatatatbabratbat |
<9,5,4> | ratatatatatbabratbatbabrat |
编码过程为:
输入 | 输出 |
||ratatatatat a rat at a rat | <0, 0, 3> |
|r|atatatatat a rat at a rat | <0, 0, 1> |
|ra|tatatatat a rat at a rat | <0, 0, 4> |
|rat|atatatat a rat at a rat | <2, 8, 2> |
ra|tatatatat |a rat at a rat | <3, 1, 2> |
rata|tatatat a |rat at a rat | <0, 0, 3> |
ratat|atatat a r|at at a rat | <6, 4, 4> |
ratatatata|t a rat at| a rat | <9, 5, 4> |
可得出:编码输出的三元组与解码输入的三元组完全一样
8.给定以下初始词典和接收序列,构建一个LZW词典,并对所发送的序列进行解码。
接收序列:4,5,3,1,2,7,9,7,4
初始词典:
答:接收序列:4,5,3,1,2,8,2,7,9,7,4
解码过程如下表:
输入 | 输出 |
4 | T |
5 | TH |
3 | THI |
1 | THIS |
2 | THIS_ |
8 | THIS IS |
2 | THIS IS_ |
7 | THIS IS HI |
9 | THIS IS HIS_ |
7 | THIS IS HIS HI |
4 | THIS IS HIS HIT |
故:
所接收序列:4,5,3,1,2,8,2,7,9,7,4,的解码的序列为:THIS IS HIS HIT。