导航:首页 > 信息技术 > 无损字典压缩编码技术有哪些

无损字典压缩编码技术有哪些

发布时间:2023-06-26 23:25:09

❶ 压缩算法原理

哈夫曼
哈夫曼编码是无损压缩当中最好的方法。它使用预先二进制描述来替换每个符号,长度由特殊符号出现的频率决定。常见的符号需要很少的位来表示,而不常见的符号需要很多为来表示。

哈夫曼算法在改变任何符号二进制编码引起少量密集表现方面是最佳的。然而,它并不处理符号的顺序和重复或序号的序列。

2.1 原理
我不打算探究哈夫曼编码的所有实际的细节,但基本的原理是为每个符号找到新的二进制表示,从而通常符号使用很少的位,不常见的符号使用较多的位。

简短的说,这个问题的解决方案是为了查找每个符号的通用程度,我们建立一个未压缩数据的柱状图;通过递归拆分这个柱状图为两部分来创建一个二叉树,每个递归的一半应该和另一半具有同样的权(权是 ∑ N K =1 符号数 k , N 是分之中符号的数量,符号数 k 是符号 k出现的次数 )

这棵树有两个目的:

1. 编码器使用这棵树来找到每个符号最优的表示方法

2. 解码器使用这棵树唯一的标识在压缩流中每个编码的开始和结束,其通过在读压缩数据位的时候自顶向底的遍历树,选择基于数据流中的每个独立位的分支,一旦一个到达叶子节点,解码器知道一个完整的编码已经读出来了。

压缩后的数据流是 24 位(三个字节),原来是 80 位( 10 个字节)。当然,我应该存储哈夫曼树,这样解码器就能够解码出对应的压缩流了,这就使得该例子中的真正数据流比输入的流数据量大。这是相对较短的数据上的副作用。对于大数据量来说,上面的哈夫曼树就不占太多比例了。

解码的时候,从上到下遍历树,为压缩的流选择从左 / 右分支,每次碰到一个叶子节点的时候,就可以将对应的字节写到解压输出流中,然后再从根开始遍历。

2.2 实现
哈夫曼编码器可以在基本压缩库中找到,其是非常直接的实现。

这个实现的基本缺陷是:

1. 慢位流实现

2. 相当慢的解码(比编码慢)

3. 最大的树深度是 32 (编码器在任何超过 32 位大小的时候退出)。如果我不是搞错的话,这是不可能的,除非输出的数据大于 2 32字节。

另一方面,这个实现有几个优点:

1. 哈夫曼树以一个紧密的形式每个符号要求 12 位(对于 8 位的符号)的方式存储,这意味着最大的头为 384 。

2. 编码相当容易理解

哈夫曼编码在数据有噪音的情况(不是有规律的,例如 RLE )下非常好,这中情况下大多数基于字典方式的编码器都有问题。

❷ 无损数据压缩的无损压缩编码技术

最早阐述和实现这种编码的是Shannon(1948年)和Fano(1949年),因此被称为香农-范诺(Shannon-Fano)算法。
这种方法采用从上到下的方法进行编码。首先按照符号出现的频度或概率排序,例如,A、B、C、D和E,如表1所示。然后使用递归方法分成两个部分,每一部分具有近似相同的次数。按照这种方法进行编码得到的总位数为91。压缩比约为1.3 : 1。
表1 Shannon-Fano算法举例表 符号 出现的次数(Pi) log2(1/P) 分配的代码 需要的位数 A 15 (0.375) 1.4150 00 30 B 7 (0.175) 2.5145 01 14 C 7 (0.175) 2.5145 10 14 D 6 (0.150) 2.7369 110 18 E 5 (0.125) 3.0000 111 15 词典编码(dictionary encoding)的根据是数据本身包含有重复代码这个特性。例如文本文件和光栅图像就具有这种特性。词典编码法的种类很多,归纳起来大致有两类。
第一类词典法的想法是企图查找正在压缩的字符序列是否在以前输入的数据中出现过,然后用已经出现过的字符串替代重复的部分,它的输出仅仅是指向早期出现过的字符串的“指针”。这里所指的“词典”是指用以前处理过的数据来表示编码过程中遇到的重复部分。这类编码中的所有算法都是以Abraham Lempel和Jakob Ziv在1977年开发和发表的称为LZ77算法为基础的,例如1982年由Storer和Szymanski改进的称为LZSS算法就是属于这种情况。
第二类算法的想法是企图从输入的数据中创建一个“短语词典(dictionary of the phrases)”,这种短语不一定是像“严谨勤奋求实创新”和“国泰民安是坐稳总统宝座的根本”这类具有具体含义的短语,它可以是任意字符的组合。编码数据过程中当遇到已经在词典中出现的“短语”时,编码器就输出这个词典中的短语的“索引号”,而不是短语本身。

❸ 编码技术的种类

什么方面的编码啊?
有压缩编码,文字编码,语音编码,数据编码太多了
就说压缩:
无损压缩编码种类
哈夫曼编码
算术编码
行程编码
Lempel
zev编码
(2)有损压缩编码种类
预测编码:DPCM,运动补偿频率域方法:正文变换编码(如DCT),子带编码
空间域方法:统计分块编码
模型方法:分形编码,模型基编码
基于重要性:滤波,子采样,比特分配,矢量量化
信息量压缩方法,也称有损压缩,失真度编码或熵压缩编码

阅读全文

与无损字典压缩编码技术有哪些相关的资料

热点内容
篮球技术不到位怎么办 浏览:930
集体土地确权怎么交易 浏览:492
美团技术服务费折扣系数怎么续 浏览:313
涂料产品检测哪些 浏览:287
亚马逊上传的产品怎么清理 浏览:42
微分子技术用到护肤品中会怎么样 浏览:68
如何找到小程序推送消息 浏览:298
美股没有盘前交易说明什么 浏览:64
地图产品怎么传递 浏览:721
枣庄智慧经营代理哪里有店 浏览:766
制作微信小程序时摄氏度如何表达 浏览:891
数字程序卡哪里有卖 浏览:122
流沙有哪些市场 浏览:625
大数据把多少小企业搞死 浏览:101
apachedruid是什么数据库 浏览:590
手机程序包换了怎么办 浏览:650
如何清除王者荣耀微信数据 浏览:504
网络扶贫产品有哪些 浏览:384
上技术学院需要准备什么 浏览:589
数据类型哪些是字符型 浏览:35