读数据压缩入门笔记07_自适应统计编码

这篇具有很好参考价值的文章主要介绍了读数据压缩入门笔记07_自适应统计编码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

读数据压缩入门笔记07_自适应统计编码文章来源地址https://www.toymoban.com/news/detail-562633.html

1. 位置对熵的重要性

1.1. 为了计算概率总需要多遍历一次数据集,而在计算出整个数据集中各符号的出现概率后,还要继续处理这些数值

1.1.1. 如果是相对较小的数据集,那么这些就不是什么问题

1.2. 随着要压缩的数据集变大,统计编码的结果与熵的偏差也会越来越大

1.2.1. 数据集的不同部分有着不同的概率特征

1.3. 如果处理的是流数据,比如视频流或音频流,由于整个数据集没有“结尾”,因此就不能“遍历两次”

1.4. 数据中总会存在某种类型的局部偏态(locality-dependent skewing)

1.4.1. 在数据流中,字符Q可能会在前三分之一部分出现很多次,而在后三分之二部分则一次也没有出现

1.5. 如果数据流中存在很多局部偏态的情况的话,将数据流分为N块并且每块都单独压缩,那么得到的结果可能会比将数据流整体压缩得到的结果小

1.6. 局部性很重要(locality matters)

1.6.1. 数据流一般以线性的方式生成,因此数据流中很有可能会出现某一部分的特征与其他部分完全不同的情况

2. "动态”或“自适应”统计编码算法

2.1. 具有适应数据流熵的局部特性能力的统计编码算法

2.2. 构成了大多数重要的、高性能的、高压缩率的多媒体数据流(如图片、视频及音频)压缩算法的基础

2.3. 自适应统计编码的关键在于其符号码字对应表并非一成不变,相反,可以根据读到的符号动态地生成VLC

3. 自适应VLC编码

3.1. 仅遍历一次数据集,但是过程要更复杂

3.1.1. 符号码字对应表并非必须一成不变,相反,可以根据读到的符号更新它

3.2. VLC表是静态的

3.3. 动态创建VLC表

3.3.1. 每读取一个符号,编码器都会问

3.3.1.1. 这个符号之前出现过吗?

3.3.1.2. 如果出现过,那么输出当前分配的码字,并更新其出现的概率

3.3.1.3. 如果没有,则进行一些特殊处理

3.3.1.3.1. 动态概率表
3.3.1.3.2. 重置
3.3.1.3.3. 字面值

4. 自适应算术编码

4.1. 其编码步骤与概率表之间的交互很简单

4.2. 只要编码器与解码器在更新概率的正确顺序上达成一致,就能根据需要更新概率表

5. 自适应哈夫曼编码

5.1. Faller于1973年提出

5.2. 1985年高德纳又对此算法做出重大改进

5.3. 所有现代的版本都是建立在Vitter于1987年提出的方法之上

5.4. 哈夫曼树结构的处理比较复杂

5.5. 自适应哈夫曼算法没有每次都重新生成完整的树,而是在读取和处理符号时调整现有的树

5.6. 每读取一个符号都必须要做

5.6.1. 更新概率

5.6.2. 对树的大量结点变换位置并重新排序,以使它们与概率的变化同步

5.6.3. 使树的结构满足哈夫曼树的要求

6. 优点

6.1. 有生成符号码字对应表的能力,无须将符号码字对应表显式地存储在数据流中

6.1.1. 数据流变小后,计算性能就能有所提高

6.2. 有实时压缩数据的能力,无须再将整个数据集作为一个整体来处理

6.2.1. 可以有效地处理更大的数据集

6.2.2. 不用事先知道要处理的数据集有多大

6.3. 有适应信息局部性的能力,即邻近的符号会对码字的长度有影响,这可以显著提高压缩率

7. 其他

7.1. 大多数的统计编码算法主要关注的是图片(WebP)和视频(WebM、H.264)文件的压缩

7.2. 如果处理的是少量的数据,那么简单的静态统计编码算法就可以工作得很好

7.3. 如果处理的是大量的数据或者多媒体数据,而且运行时的性能很重要,那么采用自适应统计编码算法是正确的选择

到了这里,关于读数据压缩入门笔记07_自适应统计编码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 读数据压缩入门笔记10_通用压缩和序列化

    1.2.3.1. 如果今天多云,那么明后两天会下雨的概率是多少? 1.2.5.1. 要使马尔可夫链算法变得实用,就必须要解决内存消耗问题与计算性能问题,即使用最佳链来编码 1.4.3.1. 在PPMZ算法中,对于符号如何去响应匹配,人们尝试了多种类型的上下文 1.4.6.1. 缺点是在进行数据压

    2024年02月16日
    浏览(40)
  • 读数据压缩入门笔记03_VLC

    14.4.1.1. 不知道最大的整数会是多大 14.4.3.1. 相应的码字就由两部分组成,即与此整数相当的2的次幂再加上余数 14.4.4.1. 找出最大的整数N,使其满足2 N<n<2 (N+1),并且将n表示为n=2^N+L这样的形式 14.4.4.1.1. L=n-2^N 14.4.4.1.2. n=12,2 3=8,2 4=16,2 3<n<2 4,N=3 14.4.4.1.3. L=12-2^3=4 14.4.4.2

    2024年02月07日
    浏览(111)
  • 读数据压缩入门笔记05_字典转换

    5.3.1.1. 对数据集越了解,你就越能从中选择出最适合的LZ变换 5.3.2.1. Terry Welch于1984年提出的,它采用了LZ78算法的思想 5.3.2.2. 首个在计算机中广泛采用的通用数据压缩方法

    2024年02月09日
    浏览(33)
  • 读数据压缩入门笔记06_上下文转换

    3.3.1.1. 如果这两个符号是相同的,那么行程继续 3.3.1.2. 如果不相同,那么当前行程终止 8.6.1.1. 真实数据中普遍存在 9.3.1.1. 事实上符号之间的顺序很重要 9.3.4.1. lexicographical permutation 9.3.4.2. BWT会打乱数据流中符号的顺序,并试图让相同的符号簇彼此靠近 9.3.4.3. 找出原始数

    2024年02月09日
    浏览(52)
  • 读数据压缩入门笔记02_二进制和熵

    2024年02月06日
    浏览(88)
  • transformer学习笔记:Positional Encoding(位置编码)

    对于任何一门语言,单词在句子中的位置以及排列顺序是非常重要的,它们不仅是一个句子的语法结构的组成部分,更是表达语义的重要概念。一个单词在句子的位置或排列顺序不同,可能整个句子的意思就发生了偏差。举个例子来说: I  do not  like the story of the movie, but I 

    2023年04月08日
    浏览(56)
  • 【动手深度学习-笔记】注意力机制(四)自注意力、交叉注意力和位置编码

    紧接上回:【动手深度学习-笔记】注意力机制(三)多头注意力 在注意力机制下,我们将词元序列输入注意力汇聚中,以便同一组词元同时充当查询、键和值。 具体来说,每个查询都会关注所有的键-值对并生成一个注意力输出。 像这样的,查询、键和值来自同一组输入的

    2024年01月16日
    浏览(49)
  • 相对位置编码之RPR式:《Self-Attention with Relative Position Representations》论文笔记

    😄 额,本想学学XLNet的,然后XLNet又是以transformer-XL为主要结构,然后transformer-XL做了两个改进:一个是结构上做了segment-level的循环机制,一个是在attention机制里引入了相对位置编码信息来避免不同segment的同一位置采用相同的绝对位置编码的不合理。但无奈看到相对位置编码

    2024年02月17日
    浏览(41)
  • WPF 入门笔记 - 07 - MVVM示例

    滴咚,大家好久不见💖。好就没写东西了,鸽着鸽着就无了😭。。。 回到正题,上篇文章说完命令提了一嘴 MVVM 模式直接就上 MVVMLight 这些程序的框架了,虽然也没说多少,但还是有点不好过渡,这篇对 MVVM 做一些系统学习,同时复习一下前几篇博文中的内容,完成一个采

    2024年02月13日
    浏览(53)
  • 《Unity Shader 入门精要》笔记07

    Unity中通常使用两种方法来实现透明效果:第一种是试用 透明度测试(Alpha Test) ,这种方法其实无法得到真正的半透明效果;另一种是 透明度混合(Alpha Blending) 。 由于深度缓冲的存在,可以让不透明物体不考虑他们渲染顺序也能得到正确的排序效果。但是实现透明效果需

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包