多媒体技术基础第3版Q-A(5)
时间:2025-07-08
时间:2025-07-08
多媒体的一本好书
输入字符流 a输出码字 a
b
a
b
c
b-aba
b
a
b
a
a-aaa
a-a
a
a…
c
baba
练习表2-5
步骤 位置
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) …
词典
a b c ab ba abc cb bab baba aa aaa aaa …
输出码字
(1) (2) (4) (3) (5) (8) (1) (10) (11) …
… …
2.7 LZ78算法和LZ77算法的差别在哪里?
(1) LZ77编码算法的核心是查找从前向缓冲存储器开始的最长的匹配串(2.4.2 LZ77算法)。
(2) LZ78的编码思想是不断地从字符流中提取新的缀-符串(String),通俗地理解为新“词条”,然后用“代号”也就是码字(Code word)表示这个“词条”。这样一来,对字符流的编码就变成了用码字(Code word)去替换字符流(Charstream),生成码字流(Codestream),从而达到压缩数据的目的。(2.4.4 LZ78算法)
2.8 LZSS算法和LZ77算法的核心思想是什么?它们之间有什么差别?
(1) LZSS通过输出真实字符解决了在窗口中出现没有匹配串的问题,但这个解决方案包含有冗余信息。(2.4.3 LZSS算法)
(2) LZ77编码算法的核心是查找从前向缓冲存储器开始的最长匹配串(2.4.2 LZ77算法)
2.9 LZW算法和LZ78算法的核心思想是什么?它们之间有什么差别?
(1) LZW算法和LZ78算法的核心思想都是不断地从字符流中提取新的缀-符串(String),通俗地理解为新“词条”,然后用“代号”也就是码字(Code word)表示这个“词条”。这样一来,对字符流的编码就变成了用码字(Code word)去替换字符流(Charstream),生成码字流(Codestream),从而达到压缩数据的目的。(2.4.4 LZ78算法)
(2) 在编码原理上,LZW与LZ78相比有如下差别:① LZW只输出代表词典中的缀-符串(String)的码字(code word)。这就意味在开始时词典不能是空的,它必须包含可能在字符流中出现的所有单个字符,即前缀根(Root)。② 由于所有可能出现的单个字符都事先包含在词典中,每个编码步骤开始时都使用一字符前缀(one-character prefix),因此在词典中搜索的第1个缀-符串有两个字符。③ 新前缀开始的字符是先前缀-符串(C)的最后一个字符,这样在重构词典时就不需要在码字流中加入额外的字符。(2.4.5 LZW算法)