参考书《数据压缩导论(第4版)》 P121 7、8
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。对解码所得到的序列进行编码,确保得到相同的三元组序列。
答:(1)根据题意可知:C(a)=1,C(b)=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 |
(2)由于窗口的大小为20,先行缓冲区的大小为10,所以编码如下:输入ratatatatatbabratbatbabrat
输入 | 输出 |
||ratatatatatbabratbatbabrat | <0,0,3> |
|r|atatatatatbabratbatbabrat | <0,0,1> |
|ra|tatatatatbabratbatbabrat | <0,0,4> |
|rat|atatatatbabratbatbabrat | <2,8,2> |
ra|tatatatatb|abratbatbabrat | <3,1,2> |
rata|tatatatbab|ratbatbabrat | <0,0,3> |
ratat|atatatbabr|atbatbabrat | <6,4,4> |
ratatatata|tbabratbat|babrat | <9,5,4> |
综上可知:编码输出的三元组与解码输入的三元组完全一样。
8、给定一下初始词典和接收序列,构建一个LZW词典,并对所发送的序列进行编码。
接收序列:4,5,3,1,2,8,2,7,9,7,4
答:(1)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
解码的序列为:T
(2)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
解码的序列为:TH
(3)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
解码的序列为:THI
(4)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
解码的序列为:THIS
(5)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
解码的序列为:THIS-
(6)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
9 | S- |
解码的序列为:THIS IS
(7)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
9 | S- |
10 | -I |
解码的序列为:THIS IS-
(8)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
9 | S- |
10 | -I |
11 | IS- |
解码的序列为:THIS IS HI
(9)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
9 | S- |
10 | -I |
11 | IS- |
12 | -H |
解码的序列为:THIS IS HIS-
(10)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
9 | S- |
10 | -I |
11 | IS- |
12 | -H |
13 | HIS |
解码的序列为:THIS IS HIS HI
(11)输入4,5,3,1,2,8,2,7,9,7,4
索引 | 条目 |
1 | S |
2 | - |
3 | I |
4 | T |
5 | H |
6 | TH |
7 | HI |
8 | IS |
9 | S- |
10 | -I |
11 | IS- |
12 | -H |
13 | HIS |
14 | S-H |
解码的序列为:THIS IS HIS HIT
最后序列为:THIS IS HIS HIT