第五讲无损数据压缩
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 数据压缩技术
▪ 压缩技术简史 ▪ 压缩技术基础 ▪ Huffman编码 ▪ 算术编码 ▪ LZ77和LZW算法 ▪ JPEG算法 ▪ 通用压缩工具比较
第五讲无损数据压缩
压缩编码分类(信息)
• 无损压缩
– 指使用压缩后的数据进行重构(或者叫做还原,解压缩), 重构后的数据与原来的数据完全相同。
图像(GIF/TIFF/JPEG)
存储(压缩池)
电报、传真(CCITT)
通讯(Modem/网络协议)
第五讲无损数据压缩
压缩编码分类(原理)
• 预测编码:PCM,DPCM,DM,LPC • 统计编码:huffman,shannon,REL,词
典编码 • 模型编码 • 变换编码 • 子带编码
第五讲无损数据压缩
码1
abc
码2
daca或ddb或abca
第五讲无损数据压缩
压缩技术起源
信息压缩技术的起源…… 比计算机的发明早几千年……
第五讲无损数据压缩
信息论
信息存在冗余
通过采用一定 的模型和编码方法, 可以降低这种冗余度
贝尔实验室的 Claude Shannon 和 MIT 的 R.M.Fano 几乎同时提出了最早的对符号进行有效编码 从而实现数据压缩的 Shannon-Fano 编码方法。
字典编码时代:LZ77和LZ78压缩算法
第五讲无损数据压缩
LZW算法
Terry Welch
1984 年 发表论文:“高性能数据压缩技术” A Technique for High-Performance Data Compression
Welch 实现了 LZ78 算法的一个变种 —— LZW算法
UNIX:使用 LZW 算法的 Compress 程序 MS-DOS:ARC 程序,以及PБайду номын сангаасWare、PKARC 等仿制品。
第五讲无损数据压缩
通用数据压缩
80年代中期以后,对LZ77算法进行改进
Haruyasu Yoshizaki(Yoshi) 的 LHarc Robert Jung 的 ARJ
80 年代初,Huffman 编码又在 CP/M 和 DOS 系统 中实现,其代表程序叫 SQ
Huffman时代:60 年代、70 年代乃至 80 年代的早期
第五讲无损数据压缩
接近极限——熵
80年代早期,数学家们设计出算术编码方法(Arithmetic Coding) 算术编码是部分匹配预测(Predication by Partial matching, PPM)技术的变体
第五讲无损数据压缩
矢量图像 PostScript WMF CAD等
压缩技术的应用
人工智能(专家系统/知识树)
编译(JAVA)
程序设计(算法/空间和时间效率)
全文索引(倒排索引表)
密码学(消除数据的原始特征)
文件系统(压缩扇区)
数据库(B+树)
音频(MP3)
视频(MPEG/RM)
归档(TAR/ZIP)
第五讲无损数据压缩
D.A.Huffman
1952 年 发表论文:“最小冗余度代码的构造方法” A Method for the Construction of Minimum Redundancy Codes
UNIX 系统上一个不太为现代人熟知的压缩程序 COMPACT 就是 Huffman 0 阶自适应编码的具体实现
等长编码:24*8=192bit 如用后3位进行编码 只需要3*24=72bit
– d=01100100 – e=01100101
压缩比为:
– 空=00100000
第五讲无损数据压缩
等长与不等长编码
• 不等长编码方法
– 字符 次数 概率 码字 字长 – E 8 1/3 0 1 – D 4 1/6 100 3 – C 4 1/6 101 3 – 空 4 1/6 110 3 – A 2 1/12 1110 4 – B 2 1/12 1111 4
需要空间:
1*8+3*4+3*4 +3*4+2*4+2* 4=60
平均码长=总 位数/字符出 现次数 =60/24=2.5
第五讲无损数据压缩
不等长码唯一性问题
– 字符 码1 码2 码3 –A 0 0 0 – B 10 10 01 – C 110 11 011 – D 1110 01 111
对序列010110译码
压缩编码分类(长度)
• 等长编码
– ASCII编码
• 不等长编码
– 编码长度是不等长的 – 常见编码如Huffman编码
第五讲无损数据压缩
等长与不等长编码
• 例如:符号序列x=“aa bb cccc dddd
eeeeeeee
• 采用ASCII编码:
– a=01100001 – b=01100010 – c=01100011
第五讲无损数据压缩
压缩技术分类
通用数据压缩(均为无损压缩)
多媒体数据压缩(无损和有损压缩)
基于统计模型 的压缩技术
基于字典模型 的压缩技术
图像压缩
音频和视频压缩 MPEG等
Huffman 算术编码 编码
LZ77 LZ78
二值图像
CCITT
JBIG等
LZW
灰度图像
FELICS
JPEG等
彩色图像 RLE编码 JPEG等
可以证明,算术编码得到的压缩效果可以最大地减小 信息的冗余度,用最少量的符号精确表达原始信息内容
但是,在同样的计算机系统上,算术编码虽然可以得到 最好的压缩效果,却要消耗也许几十倍的计算时间
第五讲无损数据压缩
以色列人
Jacob Ziv 和 Abraham Lempel
1977 年 发表论文:“顺序数据压缩的一个通用算法” A Universal Algorithm for Sequential Data Compression 1978 年 发表论文:“通过可变比率编码的独立序列的压缩” Compression of Individual Sequences via Variable-Rate Coding
– 无损压缩算法一般压缩比2~4。 – 常用的无损压缩算法有霍夫曼(Huffman)算法和
LZW(Lenpel-Ziv & Welch)压缩算法。
• 有损压缩
– 指使用压缩后的数据进行重构,重构后的数据与原来 的数据有所不同,但不影响人对原始资料表达的信息 造成误解。
– 图像和声音的压缩就可以采用有损压缩,因为其中包 含的数据往往多于我们的视觉系统和听觉系统所能接 收的信息,丢掉一些数据而不至于对声音或者图像所 表达的意思产生误解,但可大大提高压缩比。
▪ 压缩技术简史 ▪ 压缩技术基础 ▪ Huffman编码 ▪ 算术编码 ▪ LZ77和LZW算法 ▪ JPEG算法 ▪ 通用压缩工具比较
第五讲无损数据压缩
压缩编码分类(信息)
• 无损压缩
– 指使用压缩后的数据进行重构(或者叫做还原,解压缩), 重构后的数据与原来的数据完全相同。
图像(GIF/TIFF/JPEG)
存储(压缩池)
电报、传真(CCITT)
通讯(Modem/网络协议)
第五讲无损数据压缩
压缩编码分类(原理)
• 预测编码:PCM,DPCM,DM,LPC • 统计编码:huffman,shannon,REL,词
典编码 • 模型编码 • 变换编码 • 子带编码
第五讲无损数据压缩
码1
abc
码2
daca或ddb或abca
第五讲无损数据压缩
压缩技术起源
信息压缩技术的起源…… 比计算机的发明早几千年……
第五讲无损数据压缩
信息论
信息存在冗余
通过采用一定 的模型和编码方法, 可以降低这种冗余度
贝尔实验室的 Claude Shannon 和 MIT 的 R.M.Fano 几乎同时提出了最早的对符号进行有效编码 从而实现数据压缩的 Shannon-Fano 编码方法。
字典编码时代:LZ77和LZ78压缩算法
第五讲无损数据压缩
LZW算法
Terry Welch
1984 年 发表论文:“高性能数据压缩技术” A Technique for High-Performance Data Compression
Welch 实现了 LZ78 算法的一个变种 —— LZW算法
UNIX:使用 LZW 算法的 Compress 程序 MS-DOS:ARC 程序,以及PБайду номын сангаасWare、PKARC 等仿制品。
第五讲无损数据压缩
通用数据压缩
80年代中期以后,对LZ77算法进行改进
Haruyasu Yoshizaki(Yoshi) 的 LHarc Robert Jung 的 ARJ
80 年代初,Huffman 编码又在 CP/M 和 DOS 系统 中实现,其代表程序叫 SQ
Huffman时代:60 年代、70 年代乃至 80 年代的早期
第五讲无损数据压缩
接近极限——熵
80年代早期,数学家们设计出算术编码方法(Arithmetic Coding) 算术编码是部分匹配预测(Predication by Partial matching, PPM)技术的变体
第五讲无损数据压缩
矢量图像 PostScript WMF CAD等
压缩技术的应用
人工智能(专家系统/知识树)
编译(JAVA)
程序设计(算法/空间和时间效率)
全文索引(倒排索引表)
密码学(消除数据的原始特征)
文件系统(压缩扇区)
数据库(B+树)
音频(MP3)
视频(MPEG/RM)
归档(TAR/ZIP)
第五讲无损数据压缩
D.A.Huffman
1952 年 发表论文:“最小冗余度代码的构造方法” A Method for the Construction of Minimum Redundancy Codes
UNIX 系统上一个不太为现代人熟知的压缩程序 COMPACT 就是 Huffman 0 阶自适应编码的具体实现
等长编码:24*8=192bit 如用后3位进行编码 只需要3*24=72bit
– d=01100100 – e=01100101
压缩比为:
– 空=00100000
第五讲无损数据压缩
等长与不等长编码
• 不等长编码方法
– 字符 次数 概率 码字 字长 – E 8 1/3 0 1 – D 4 1/6 100 3 – C 4 1/6 101 3 – 空 4 1/6 110 3 – A 2 1/12 1110 4 – B 2 1/12 1111 4
需要空间:
1*8+3*4+3*4 +3*4+2*4+2* 4=60
平均码长=总 位数/字符出 现次数 =60/24=2.5
第五讲无损数据压缩
不等长码唯一性问题
– 字符 码1 码2 码3 –A 0 0 0 – B 10 10 01 – C 110 11 011 – D 1110 01 111
对序列010110译码
压缩编码分类(长度)
• 等长编码
– ASCII编码
• 不等长编码
– 编码长度是不等长的 – 常见编码如Huffman编码
第五讲无损数据压缩
等长与不等长编码
• 例如:符号序列x=“aa bb cccc dddd
eeeeeeee
• 采用ASCII编码:
– a=01100001 – b=01100010 – c=01100011
第五讲无损数据压缩
压缩技术分类
通用数据压缩(均为无损压缩)
多媒体数据压缩(无损和有损压缩)
基于统计模型 的压缩技术
基于字典模型 的压缩技术
图像压缩
音频和视频压缩 MPEG等
Huffman 算术编码 编码
LZ77 LZ78
二值图像
CCITT
JBIG等
LZW
灰度图像
FELICS
JPEG等
彩色图像 RLE编码 JPEG等
可以证明,算术编码得到的压缩效果可以最大地减小 信息的冗余度,用最少量的符号精确表达原始信息内容
但是,在同样的计算机系统上,算术编码虽然可以得到 最好的压缩效果,却要消耗也许几十倍的计算时间
第五讲无损数据压缩
以色列人
Jacob Ziv 和 Abraham Lempel
1977 年 发表论文:“顺序数据压缩的一个通用算法” A Universal Algorithm for Sequential Data Compression 1978 年 发表论文:“通过可变比率编码的独立序列的压缩” Compression of Individual Sequences via Variable-Rate Coding
– 无损压缩算法一般压缩比2~4。 – 常用的无损压缩算法有霍夫曼(Huffman)算法和
LZW(Lenpel-Ziv & Welch)压缩算法。
• 有损压缩
– 指使用压缩后的数据进行重构,重构后的数据与原来 的数据有所不同,但不影响人对原始资料表达的信息 造成误解。
– 图像和声音的压缩就可以采用有损压缩,因为其中包 含的数据往往多于我们的视觉系统和听觉系统所能接 收的信息,丢掉一些数据而不至于对声音或者图像所 表达的意思产生误解,但可大大提高压缩比。