参考书《数据压缩导论(第4版)》 Page 121 7,8
使用LZ77算法对一个序列进行编码。给定C(a)=1,C(b)=2,C(r)=3,C(t)=4。对以下三元组序列进行解码:
<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
又因为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 |
由上表可知输入的编码序列为: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
初始词典:
答:由题目可知
接收序列为: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。