04数据压缩基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤2:对信源符号赋值 平均码长 L avg=1.946
霍夫曼码的特点 1,块码(组码) 2,即时码 3,唯一可解码
霍夫曼码改型
亚最优 牺牲编码效率来换取编码速度
截断霍夫曼码
前M个符号用霍夫曼编码 其余用前缀码+定长码(自然码)
平移霍夫曼码
分组:相同符号数 用霍夫曼编码编第1组 其余组用平移符号+第一组霍夫曼码
用RLE编码方法得到的代码为:80315084180。
代码中用黑体表示的数字是行程长度,黑体字后面的数字代表象素的颜色值。 例如黑体字50代表有连续50个象素具有相同的颜色值,它的颜色值是8。
译码时按照与编码时采用的相同规则进行,还原后得到的数据与压缩 前的数据完全相同。
词典编码
词典编码的思想
第一类词典法的想法是企图查找正在压缩的字符序列是 否在以前输入的数据中出现过,然后用已经出现过的字符串 替代重复的部分,它的输出仅仅是指向早期出现过的字符串 的“指针”。
3.接收端需保存一个与发送端相同的霍夫曼码表。
霍夫曼(Huffman)编码
字母 A B C D E
频率 25% 15% 10% 20% 30%
编码 01 110 111 10 00
信源消减 信源符号集 B = {b1 , b2 , b3 , b4} 概率矢量 u = {0.1,0.38,0.22,0.3} 步骤1:信源消减
ቤተ መጻሕፍቲ ባይዱ典编码
词典编码的思想
第二类算法的想法 是企图从输入的数据中 创建一个“短语词典 (dictionary of the phrases)”,这种短语可 以是任意字符的组合。 编码数据过程中当遇到 已经在词典中出现的“短 语”时,编码器就输出这 个词典中的短语的“索引 号”,而不是短语本身。
霍夫曼码改型
霍夫曼(Huffman)编码
依赖于信源的统计特性,必须先统计得到信源 的概率特性才能编码,这就限制了实际的应用。
缺乏构造性,即它不能用某种数学方法建立起 消息和码字之间的一一对应关系,而只能通过 某种查表的方法建立起它们的对应关系。
如果消息数目很多,那么所需存储的码表也很 大,这将影响系统的存储量及编、译码速度。
数据压缩基础
数据压缩编码技术概述
多媒体数据压缩的必要性和可行性
衡量多媒体数据压缩技术的指标: 压缩比 算法简单,压缩解压缩速度快 尽可能地恢复原始数据
压缩方法分类 无损压缩:Huffman编码、游程编码、算术编码、LZW编码 有损压缩:预测编码、变换编码、模型编码、基于重要性的编
码、混合编码
新一代的数据压缩方法:矢量量化和子代编码、基于模型的压 缩、分形压缩、小波变换压缩等等。
数据压缩的好处
时间域压缩──迅速传输媒体信源 频率域压缩──并行开通更多业务 空间域压缩──降低存储费用 能量域压缩──降低发射功率
数据压缩技术实现的衡量标准
压缩比要大 恢复后的失真小 压缩算法要简单、速度快 压缩能否用硬件实现
多媒体数据压缩技术分类
平均信息量编码──可逆压缩──去冗 余 ──统计特性
算数编码练习
初始信源: a1:0.1, a2:0.4, a3:0.5, 码串:a1,a1,a2,a3
游程RLE编码
RLE(run length encoding)编码的概念
00000000 111 888 • • • • • • 888 1111 00000000
8个 0 3个 1 50个 8 4个 1 8个 0
压缩的必要性
音频、视频的数据量很大,如果不进行处理,计算机 系统几乎无法对它进行存取和交换。
例如,一幅具有中等分辨率(640×480)的真彩色 图像(24b/像素),它的数据量约为7.37Mb/帧,一个 700MB(Byte)的硬盘只能存放约100帧图像。若要达到 每秒25帧的全动态显示要求,每秒所需的数据量为184Mb, 而且要求系统的数据传输率必须达到184Mb/s。对于声音 也是如此,若采用16b样值的PCM编码,采样速率选为 44.1kHZ,则双声道立体声声音每秒将有176KB的数据量。
无损数据压缩
主要介绍目前用得最多和技术最成熟的 无损压缩编码技术,包括:
霍夫曼编码 算术编码 游程编码RLE 词典编码LZW
霍夫曼(Huffman)编码
霍夫曼(Huffman)在1952年提出了另一种编码方法,即从 下到上的编码方法。
几个个问题值得注意: 1.霍夫曼码没有错误保护功能;
2.霍夫曼码是可变长度码,因此很难随意查找或调用压缩 文件中间的内容,然后再译码;
1个算术码字要赋给整个信源符号序列,而每个 码字本身确定了0和1之间的1个实数区间
算术编码过程只需用到加法和移位运算
算术编码
码串: b1; b2; b3; b4
b4=0.3 b3=0.22 b2=0.38 b1=0.1
0.000010012 0.0351562510
算术编码
在算术编码中需要注意的几个问题: 1. 由于实际计算机精度不可能无限长,运算中溢出是明显的问题,但多 数机器都有16位、32位或者64位的精度,因此可使用比例缩放法解决。 2. 算术编码器对消息只产生一个码字,这个码字是在[0, 1)中的一个实 数,因此译码器在接受到表示这个实数的所有位之前不能进行译码。 3. 算术编码也是一种对错误很敏感的编码方法,如果有一位发生错误就 会导致整个消息译错。
源编码──不可逆压缩──有失真编码 特征提取等
两种压缩技术不互斥,两种压缩技 术的结合,可以达到最高可能的压缩率。
多媒体数据压缩技术分类
无损压缩是指使用压缩后的数据进行重构 (或者叫做还原,解压缩),重构后的数据与原 来的数据完全相同;无损压缩用于要求重构的 信号与原始信号完全一致的场合。
有损压缩是指使用压缩后的数据进行重 构,重构后的数据与原来的数据有所不同,但 不会使人对原始资料表达的信息造成误解。有 损压缩适用于重构信号不一定非要和原始信号 完全相同的场合。
初始信源:
a1:0.1, a2:0.4, a3::0.06, a4: 0.1, a5: 0.04, a6: 0.3.
练习
练习
算术编码
只需要用到加法和位移运算 从整个符号序列出发
算术编码不再是块码,采用递推形式连续编码
算术编码的特点:
1种从整个符号序列出发,采用递推形式连续编 码的方法
不存在源符号和码字间的一一对应关系