第一部分 引论 3
第一章 引言 3
1.1 读者 3
1.2 为什么要用C语言 3
1.3 选用哪种C语言:移植性问题 4
1.4 现有的记录 6
1.5 本书结构 6
第二章 数据压缩词汇和历史 9
2.1 两个领域 9
2.2 数据压缩=建模+编码(Modeling+Coding) 9
2.3 萌芽时期 10
2.4 编码 11
2.5 建模 12
2.6 Ziv和Lempel 14
2.7 有损压缩 15
2.8 已知的程序 16
第二部分 基于统计模型的数据压缩 19
第三章 最小冗余度编码 19
3.1 Shannon—Fano算法 20
3.2 Huffman算法 22
3.3 用C语言实现Huffman编码 24
3.4 关于函数原型的说明 31
3.5 MAIN—C.C和MAIN—E.C 32
3.6 程序 41
3.7 压缩代码 45
3.8 合并所有模块程序 60
第四章 自适应Huffman编码 61
4.1 自适应编码(AdaptiveCoding) 61
4.2 更新Huffman树 62
4.3 程序代码 71
4.4 程序 80
5.2 算术编码:一种进步 93
5.1 对Huffman编码的异议 93
第五章 算术编码 93
5.3 代码 99
5.4 小结 108
5.5 代码 108
第六章 统计模型 127
6.1 高阶模型 127
6.2 有限上下文模型 127
6.3 自适应模型 128
6.4 最高阶模型 133
6.5 结论 139
7.1 例子 169
第七章 基于字典的压缩 169
第三部分 基于字典的数据压缩 169
7.2 静态方法与自适应方法的比较 170
7.3 字典压缩的起源 173
7.4 ARC:MS—DOS字典压缩的先驱 174
7.5 潜在威胁——专利 175
第八章 滑动窗口压缩 177
8.1 算法 177
8.2 LZSS压缩 181
8.3 程序 185
8.4 压缩程序 187
8.5 还原函数 196
第九章 LZ78压缩 209
9.1 LZ77能够改进吗 209
9.2 着手LZ78 210
9.3 一个有影响的变体 213
9.4 还原 215
9.5 压缩 218
9.6 还原 219
9.7 程序 221
9.8 改进 226
9.9 专利权 235
10.1 数字音频概念 239
第四部分 有损数据压缩 239
第十章 语音压缩 239
10.2 无损语音压缩(LosslessCompressionofSound) 245
10.3 有损压缩(LossyCompression) 247
10.4 静默压缩(SilenceCompression) 248
10.5 压扩(Companding) 254
10.6 其他技术 261
第十一章 图像压缩 263
11.1 压缩方法概述 263
11.2 一个有效的压缩标准:JPEG 266
11.3 示范程序 277
12.1 CAR和CARMAN 307
第五部分 文件归档原理 307
第十二章 一个归档软件包 307
12.2 生成文件序列 314
12.3 主处理循环 319
12.4 程序代码 327
附录A 数据压缩算法总览 375
附录B 通用压缩软件 377
附录C ZIP文件的格式 409
附录D 两个压缩归档软件的实例 415
词汇表 431