《数据压缩技术原理与范例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Mark Nelson著;贾起东译
  • 出 版 社:北京:科学出版社;龙门书局
  • 出版年份:1995
  • ISBN:7030048466
  • 页数:372 页
图书介绍:

前言 本书的作用 1

第一章 数据压缩简介 2

1.1 读者 2

1.2 为什么用C 2

1.3 用哪种C 3

1.4 现有的记录 5

1.5 全书的结构 6

第二章 数据压缩词汇及其历史 8

2.1 两个领域 8

2.2 数据压缩=建模+编码 8

2.3 萌芽时期 9

2.4 编码 10

2.4.1 改进 11

2.5 建模 12

2.5.1 统计模型 12

2.5.2 字典方案 13

2.6 Ziv和Lempel 14

2.6.1 LZ77 14

2.6.2 LZ78 14

2.7 有损压缩 14

2.8 需要了解的程序 15

第三章 萌芽时期:最小冗余度编码 17

3.1 Shannon-Fano算法 18

3.2 Huffman算法 20

3.3 用C语言实现Huffman算法 22

3.3.1 BITIO C 23

3.4 关于函数原形的说明 29

3.5 MAIN-C,C和MAIN-E,C 30

3.5.1 MAIN-C,C 35

3.5.2 ERRHAND,C 35

3.6 Huffman代码剖析 37

3.6.1 符号计数 37

3.6.2 保存计数 38

3.6.3 建立Huffman树 39

3.6.4 使用Huffman树 39

3.7 压缩代码 40

3.8 合并所有的模块 52

3.8.1 性能 53

4.1 自适应编码 55

第四章 重大改进:自适应Huffman编码 55

4.2 更新Huffman树 56

4.2.1 交换的作用 59

4.2.2 算法 59

4.2.3 一种增强方式 60

4.2.4 转义码 60

4.2.5 溢出问题 61

4.2.6 按比例缩小的优点 64

4.3 代码说明 64

4.3.1 数组的初始化 65

4.3.2 压缩主程序 66

4.3.3 还原主程序 66

4.3.4 对符叫编码 67

4.3.5 更新树 69

4.3.6 解码符号 73

4.4 代码 73

第五章 优于Huffman算术编码 85

5.1 难点 85

5.2 算术编码:前进一步 85

5.2.1 实际情况 88

5.2.2 复杂性 90

5.2.3 解码 91

5.2.4 算术编码的优势 91

5.3.1 压缩程序 92

5.3 代码说明 92

5.3.2 还原程序 93

5.3.3 初始化模型 94

5.3.4 读入模型 96

5.3.5 初始化编码程序 97

5.3.6 编码过程 97

5.3.7 编码程序复位 99

5.3.8 解码过程 99

5.4 概述 101

5.5 代码 101

第六章 统计模型 116

6.1 更高次序的模型 116

6.2 有限上下文模型 116

6.3.1 一个简单例子 117

6.3 自适应模型 117

6.3.2 用转义码表示后退(faltback) 120

6.3.3 改进 122

6.4 最高次序列的模型 122

6.4.1 更新模型 123

6.4.2 转义概率 123

6.4.3 计算板 124

6.4.4 数据结构 125

6.4.5 完成修补:表1和表2 127

6.5 结论 128

6.5.1 增强 128

6.4.7 实现 128

6.4.6 模型刷新 128

6.6 ARITH-N,C清单 129

第七章 基于字典的压缩 155

7.1 一个例子 155

7.2 静态方法与自适应方法 156

7.2.1 自适应方法 156

7.2.2 一个典型例子 157

7.3 起源于以色列 159

7.3.1 历史 159

7.4 ARC:MS-DOS字典压缩的应用领域 160

7.4.1 字典压缩的应用领域 160

7.5 潜在危险——专利 161

7.6 结论 162

8.1 算法 163

第八章 滑动窗口压缩 163

8.1.1 LZ77的问题 166

8.1.2 编码问题 167

8.2 LZSS压缩 167

8.2.1 数据结构 168

8.2.2 平衡操作 170

8.2.3 贪婪与最有可能 171

8.3 代码说明 172

8.3.1 常量和宏 172

8.3.2 全程变量 173

8.4 压缩代码 174

8.4.2 主循环 176

8.4.1 初始化 176

8.4.3 退出代码 178

8.4.4 AssString () 178

8.4.5 DeleteString() 181

8.4.6 二叉树支持函数 182

8.5 还原函数 183

8.5.1 改进 185

8.6 代码 185

第九章 LZ78压缩 194

9.1 LZ77可以改进吗? 194

9.2 进入LZ78 195

9.2.1 LZ78实现 195

9.2.2 LZ78 详述 197

9.3 有效的变体 198

9.4 还原 200

9.4.1 缺陷 201

9.4.2 LZW实现 202

9.4.3 树的维护和搜索 202

9.5 压缩 204

9.6 还原 205

9.7 代码 207

9.8 改进 211

9.9 专利 219

10.1 数字音频的概念 220

10.1.1 基础 220

第十章 语音压缩 220

10.1.2 采样变理 224

10.1.3 基于PC的声音 226

10.2 声音的无损压缩 226

10.2.1 问题和结果 227

10.2.2 有损压缩 229

10.2.3 静止压缩 229

10.3 压扩(cornpanding) 235

10.4 其他技术 242

第十一章 有损的图形压缩 243

11.1 进入压缩 243

11.1.1 统计和字典的压缩方法 244

11.1.2 有损压缩 244

11.1.4 自适应编码 245

11.1.3 差分调制 245

11.2 一个可行的标准JPEG 246

11.2.1 JPEG压缩 246

11.2.2离散作弦变换 247

11.2.3 DCT的详细说明 248

11.3 问题之所在 249

11.4 DCT的实现 250

11.4.1 矩阵相乘 250

11.5 继续改进 252

11.5.1 DCT 的输出 252

11.5.2 量化 253

11.5.3 选择量化矩阵 254

11.6 编码 255

11.6.1 曲徊序列 256

11.6.2 熵编码 257

11.6.3 如何处理颜色 258

11.7 样本程序 258

11.7.1 输入格式 259

11.7.2 代码 259

11.7.3 初始化 260

11.7.4 正向DCT函数 261

11.7.5 WritreDCTData() 262

11.7.6 OutputCode() 263

11.7.7 文件还原 265

11.7.9 输入DCT代码 266

11.7.8 ReadDCTData() 266

11.7.10 逆DCT 267

11.8 完整的代码清单 268

11.9 支持程序 280

11.10 一些压缩结果 284

第二十章 一个归档、软件包 287

12.1 CAR和CARMAN 287

12.1.1 CARMAN命令集 288

12.1.2 CAR文件 289

12.1.3 文件头 289

12.1.4 存贮文件头 290

12.1.5 文件头的CRC 292

12.1.6 命令行的处理 293

12.2 产生文件清单 295

12.2.1 打开归档文件 299

12.3 主处理循环 300

12.3.1 跳过/拷贝输入文件 304

12.3.2 文件插入 305

12.3.3 文件抽取 306

12.3.4 消除 308

12.4 代码 308

附录A 压缩程序的统计 351

附录B 测试程序 355

词汇表 364

参考文献 370

其他资源 371

后记 372