读改变未来的九大算法笔记01_数据压缩

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

读改变未来的九大算法笔记01_数据压缩文章来源地址https://www.toymoban.com/news/detail-467949.html

1. 起源

1.1. 香农–法诺编码(Shannon-Fano Coding)

1.1.1. 克劳德·香农

1.1.1.1. 1948年论文创建信息理论领域的贝尔实验室科学家

1.1.2. 麻省理工学院教授罗伯特·法诺(Robert Fano)

1.2. 霍夫曼编码

1.2.1. 大卫·霍夫曼

1.2.1.1. 法诺的一位学生

1.2.2. 一种基础压缩算法,它被广泛用于通信和数据存储系统

1.2.3. Huffman Coding

1.3. LZ77算法

1.3.1. 以色列计算机科学家亚伯拉罕·伦佩尔(Abraham Lempel)

1.3.2. 雅各布·齐夫(Jacob Ziv)

1.3.3. 1977年

2. 错误印象

2.1. 压缩对绝大多数人没有影响

2.2. 事实

2.2.1. 几乎所有软件都是以压缩格式被下载的

2.2.1.1. 这意味着下载和转移文件的速度要比不压缩时快数倍

2.2.2. 你对着电话讲话时,你的声音也经过了压缩

3. 纠错码和压缩算法是同一枚硬币的两面

3.1. 来自冗余的想法

3.1.1. 如果一个文件有冗余,它就比必要的长度长

3.2. 纠错码能被视为向消息或文件中添加冗余的原则性方法

3.3. 压缩算法正好相反:它们会从消息或文件中移除冗余

3.3.1. 基本思想是发现数据中彼此相同的部分,并运用某种把戏更高效地描述这些部分

3.4. 好的压缩算法会移除低效冗余,而纠错编码会增加另一种更高效的冗余

3.5. 首先压缩一条信息,再往里面添加一些纠错码的做法非常常见

4. 无损压缩

4.1. 终极免费午餐

4.2. 无损压缩算法并不能为所有文件节省大量空间

4.3. 一种好的压缩算法能为特定大类的文件节省大量空间

5. 计算机中的数据压缩

6. 行程长度编码

6.1. Run-length Encoding

6.2. 将重复的“行程”和行程的“长度”编码在了一起

6.2.1. ABABAB

6.2.2. 3AB

6.3. 只在压缩非常特殊的数据种类上有用

6.4. 大部分时候只是和其他压缩算法结合起来使用

6.5. 传真机就将行程长度编码和另一种被称为霍夫曼编码的技术结合

6.6. 传真是黑白文件,文件会被转换成许多点,每个点都是非黑即白。当你按顺序阅读这些点(从左到右,从上到下)时,你会遇到大段白点(背景)以及小段黑点(前景文本或笔迹),这让使用行程长度编码变得非常有效

7. 同前把戏

7.1. Same-as-earlier Trick

7.2. 往回数27个字母,然后复制从那一点开始往下的8个字母

7.2.1. back 27,copy 8

7.2.1.1. b27c8

7.3. FG-FG-FG-FG-FG-FG-FG-FG

7.3.1. FG-FG-FG-FG-b8c8

7.3.2. back 2,copy14

7.3.2.1. 数回2个字母,直至抄到第14个字母

7.3.2.2. b2c14

7.3.2.3. FG-b2c14

7.4. Ab1c250

7.4.1. 251个A

8. 更短符号把戏

8.1. Shorter-symbol Trick

8.2. 如果你使用某样东西足够多次,给它起个简短缩写名是很值得的

8.2.1. United States of America

8.2.2. USA

8.3. 两个常用字母的代码被缩短了,代价是用更大的数字增长了不常用符号的代码

8.3.1. 结果是大部分消息的总长度都有所缩短

9. 实施步骤

9.1. 计算机使用同前把戏传输未经压缩的原文件,让文件中绝大多数重复数据由短得多的指令取代,这些指令会返回并拷贝其他地方的数据

9.2. 计算机会检查传输后的文件,选出经常出现的符号。

9.2.1. 用短数字码代表经常用到的符号,用更长的数字码代表极少用到的符号

10. 有损压缩

10.1. 简单且有效的方法是直接“抛弃”一些数据

10.1.1. 会导致解压后的原始文件发生一些小改变

10.2. 抛弃对成品影响很小的信息

10.3. 压缩缺陷

10.3.1. Compression Artifact

10.3.2. 不仅仅是细节的损失,而且有损压缩的某种方法会在接下来的解压中引入明显的新特征

11. 抛弃把戏

11.1. Leave-it-out Trick

11.2. JPEG图像压缩格式

11.2.1. 整张图片划分为8像素×8像素的小方块

11.2.1.1. 每个方块都会被单独压缩

11.2.2. 如果方块恰好只有一种颜色,整个方块就能由一个数字代表,而计算机就能“抛弃”63个数字

11.2.3. 如果方块的大部分是由一种颜色组成的,只有少数像素的颜色略有不同(也许一片天空的灰度都相同),计算机也可以用单个数字代表方块,让方块得到好的压缩结果,并在稍后解压时只出现少量错误

11.2.4. 如果8×8方块从一种颜色渐变为另一种颜色(比如左边是深灰色,右边是浅灰色),那么64个数字也许能被压缩到只有2个:一个深灰的值和一个浅灰的值

11.3. 音频压缩格式

11.3.1. 音频也会被划分成“块”,每个“块”都会被单独压缩

11.3.2. 能利用与人耳有关的已知事实

11.3.2.1. 有些种类的声音对人只有很小的影响或没有影响

11.3.2.2. 压缩算法能在不降低输出质量的情况下消除这些声音

到了这里,关于读改变未来的九大算法笔记01_数据压缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 读改变未来的九大算法笔记08_并非万能的算法

    2.1.1.1. Alonzo Church 2.1.1.2. 在计算理论上的突破性工作至今仍是计算机科学许多方面的基础 2.1.1.3. 单独发现了不可判定问题的存在 2.1.1.3.1. 比图灵早几个月发表了自己的成果 2.1.1.3.2. 邱奇的公式更为抽象,且并未详尽地提及由机器执行的计算 5.3.1.1. 如果输入会崩溃,那么

    2024年02月08日
    浏览(33)
  • 读改变未来的九大算法笔记07_搜索引擎

    1.1.1.1. 惠普(Hewlett-Packard) 1.2.1.1. 从一间卧室开始的,空间很快就不够用了,于是他们转移到了车库 1.3.1.1. 谷歌 1.3.1.1.1. 门洛帕克车库 2.1.1.1. 美国工程师范内瓦·布什(Vannevar Bush) 2.1.1.2. 论文《诚若所思》(As We May Think) 2.1.1.3. 一台被称作麦麦克斯(memex)的机器

    2024年02月08日
    浏览(62)
  • 读改变未来的九大算法笔记09_指尖的精灵

    5.1.2.1. 编译器 5.1.2.2. 程序验证技术 5.2.2.1. 排序算法(快速排序等) 5.2.2.2. 图形算法(迪杰斯特拉最短路径算法等) 5.2.2.3. 数据结构(哈希表等) 5.3.2.1. CPU(中央处理器) 5.3.2.2. 监视器 5.3.2.3. 网络

    2024年02月08日
    浏览(33)
  • 读改变未来的九大算法笔记05_数字签名

    3.3.1.1. 钟大小为11的乘法表 3.5.2.1. 欧几里得算法也能根据钥匙值计算出挂锁值,而这一算法要比暴力破解高效得多。这也是乘法方法被认为不安全的原因 4.2.1.1. 钟大小为22时n的三次方和七次方的值 4.5.1.1. 发明一种高效的分解因子算法只会破坏类RSA机制

    2024年02月08日
    浏览(42)
  • 读数据压缩入门笔记01_数据压缩导读

    1.3.2.1. 1972年11月《花花公子》杂志中莱娜•瑟德贝里(Lena Söderberg) 1.4.2.1. MP3 1.4.2.1.1. Napster音乐共享平台 1.4.2.1.2. iPod 1.4.2.1.2.1. iTunes 1.4.2.1.2.2. iPhone 1.5.2.1. MOV 1.7.1.1. 同样的数据传输所需的时间会变短,相应的费用也会减少 1.7.1.2. 分发者的分发成本会降低,消费者的支

    2024年02月06日
    浏览(34)
  • AIGC的起源:从基础到未来的前景

    博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精通》数据库是开发者必会基础之一~ 🪁 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄

    2024年02月10日
    浏览(33)
  • 向量数据库的崛起:如何改变数据存储与机器学习的未来

      每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与

    2024年04月28日
    浏览(40)
  • 区块链与医疗数据分析:改变人类健康的未来

    医疗数据分析是一项具有重要意义的技术,它可以帮助医生更好地诊断疾病、制定治疗方案,并提高医疗资源的利用效率。然而,医疗数据通常是分散存储在各个医疗机构和医生手中的,这导致数据不完整、不连贯,难以实现大规模的分析和挖掘。 区块链技术是一种去中心化

    2024年04月12日
    浏览(53)
  • WebP格式图像:起源、优势、兼容性及在线压缩方法

    关于作者: 还是大剑师兰特 :曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。 热门专栏 精彩推荐

    2024年03月12日
    浏览(55)
  • 青岛大学_王卓老师【数据结构与算法】Week05_01_栈和队列的定义和特点1_学习笔记

    本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享, 另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–第05周01–3.1栈和队列的定义和特点

    2024年02月15日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包