读数据压缩入门笔记01_数据压缩导读

 

1. 建立在数据压缩上的世界

1.1. 数据压缩技术最让人惊异之处在于,它与过去40年里个人计算的很多重大改变有关,但很少有人知道这一点

1.2. 我们当下生活在其中的这个计算世界,完全建立在数据压缩算法之上

1.3. 图像的压缩

1.3.1. 1978年

1.3.2. 图像语料库

1.3.2.1. 1972年11月《花花公子》杂志中莱娜•瑟德贝里(Lena Söderberg)

1.4. 音乐的压缩

1.4.1. 1996年

1.4.2. WAV

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. 视频的压缩

1.5.1. 2001年

1.5.2. YouTube

1.5.2.1. MOV

1.6. 基因图谱

1.6.1. 2008年

1.6.2. 单个基因组序列就包含了大量的数据,仅仅是描述人类基因组成的数据就超过了14GB

1.6.3. BWT是最有效的存储DNA信息的压缩格式,甚至无须解压就能对数据进行操作

1.7. 压缩与经济

1.7.1. 压缩后的文件会变得更小

1.7.1.1. 同样的数据传输所需的时间会变短,相应的费用也会减少

1.7.1.2. 分发者的分发成本会降低,消费者的支出也会减少

2. 克劳德•香农

2.1. 硕士论文题为《继电器与开关电路的符号分析》

2.1.1. 为基于开关的现代电路计算奠定了基础

2.2. 1948年发表了《通信的数学理论》

2.2.1. 论述了发送者怎样对要发送的信息进行编码才能达到最佳效果

2.2.2. 开创了信息论(information theory)这一全新的学术领域

2.3. 发明了一种度量消息所携带信息内容的方法

2.3.1. 信息熵(information entropy)

3. 什么是数据压缩

3.1. 用最紧凑的方式来表示数据

3.2. “在保证信息能恢复的前提下,我们能将消息变得多么紧凑”

3.3. 根据现代信息论的观点,在压缩数据以减少总二进制位数的时候存在一个临界点,如果超过了这个值,我们就不能将压缩后的数据唯一正确地恢复为原来的数据流。

3.3.1. 我们的压缩目标就是尽可能地减少总二进制位数以接近这个临界值,并且不超过这个值

4. 消息编码方式

4.1. 对每一个特定的消息来说,都有一个最佳的编码方式,这里的“最佳”指的是传递消息时用到的字母或者符号(也可以说是二进制位,即信息的单位)最少

4.2. “字母表”与“摩尔斯码”是其中常见的两种

5. 数据压缩思路

5.1. 减少数据中不同符号的数量

5.1.1. 即让“字母表”尽可能小

5.2. 用更少的位数对更常见的符号进行编码

5.2.1. 即最常见的“字母”所用的位数最少

6. 数据压缩考虑因素

6.1. 不同数据的处理方法不同

6.1.1. 压缩一本书中的文字和压缩浮点型的数

6.2. 有些数据必须经过转换才能变得更容易压缩

6.3. 数据可能是偏态的

6.3.1. 夏天的整体气温偏高

6.3.1.1. 高气温出现的频率比接近零度的气温出现的频率高很多

7. 数据压缩算法

7.1. 变长编码(variable-length codes,VLC)

7.2. 统计压缩(statistical compression)

7.3. 字典编码(dictionary encodings)

7.4. 上下文模型(context modeling)

7.5. 多上下文模型(multicontext modeling)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/25692.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching 论文精读

Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching 论文链接:[2305.13310] Matcher: Segment Anything with One Shot Using All-Purpose Feature Matching (arxiv.org) 代码链接:aim-uofa/Matcher: Matcher: Segment Anyt…

图的邻接矩阵表示

设图有n个顶点,则邻接矩阵是一个n*n的方阵;若2个顶点之间有边,则方阵对应位置的值为1,否则为0; 看几个例子; 此图的邻接矩阵是 0 1 1 1 1 0 1 0 1 1 0 1 1 0…

计算机网络基础知识(七)—— 什么是HTTPS协议?你听我“瞎掰”

文章目录 01 | 工作原理02 | SSL/TLS协议2.1 | 握手协议2.2 | 更换密码协议(Change Cipher Spec Protocol)2.3 | 警告协议(Alert Protocol)2.4 | 应用数据协议(Application Data Protocol) 03 | 加密算法3.…

南大通用数据库-Gbase-8a-报错集锦-02-metadata is incomplete on localhost

一、版本信息 名称值CPUIntel(R) Core(TM) i5-1035G1 CPU 1.00GHz操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2Gbase8a版本8.6.2-R43 二、问题原因 由于gbase.table_distribution存储了所有引擎为express的表元数据信息,如果此表出现数据损坏&a…

【五】设计模式~~~创建型模式~~~单例模式(Java)

【学习难度:★☆☆☆☆,使用频率:★★★★☆】 5.1. 模式动机 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一…

Hystrix 服务熔断

书籍,人,借阅服务之间相互调用, 高度耦合, 一旦一个服务故障, 其他服务会雪崩, 和多米诺骨牌一样 Hystrix 熔断器, 保险丝 服务降级 提供补救措施发给请求者, 服务可用, 能力下降了 borrow-service 导入依赖 <dependency><groupId>org.springframework.cloud&l…

【MySQL新手到通关】第六章 时间日期函数

文章目录 1.获取日期时间函数1.1 获取当前日期时间1.2 获取当前日期1.3 获取当前时间 2.日期格式化★★★2.1 日期转指定格式字符串2.2 字符串转日期 3.日期间隔3.1 增加日期间隔 ★★★3.2 减去一个时间间隔★★★3.3 日期相差天数&#xff08;天&#xff09;3.4 相差时间&…

使用Chat gpt提高Android开发效率

简介 在过去几周里&#xff0c;我进行了一项令人大开眼界的实验&#xff0c;将 Chat-GPT&#xff08;我使用的是 Bing Chat&#xff0c;它在后台使用了 GPT-4&#xff0c;并且可以免费使用&#xff09;融入到我的日常 Android 开发工作流程中&#xff0c;以探索它是否能够提高…

DAY04_JDBC快速入门JDBC API详解SQL防注入数据库连接池JDBC综合练习

目录 1 JDBC1.1 JDBC概念1.2 JDBC本质 1.3 JDBC好处 2 JDBC快速入门2.1 编写代码步骤2.2 具体操作 3 JDBC API详解3.1 DriverManager3.2 Connection3.2.1 获取执行对象3.2.2 事务管理 3.3 Statement3.4 ResultSet3.4.1 ResultSet案例 3.5 PreparedStatement3.5.1 SQL注入3.5.2 …

hutool文件导出

hutool文件导出 需求&#xff1a;管理员设置会议&#xff0c;参加会议会根据管理员设置的会议要求&#xff0c;用户参加会议填写相关数据&#xff0c;并且生成一个动态的excel数据并导出 示例&#xff1a; 每场都可以自定义报名字段 根据需求与前端约定 字段名称&#xff08;n…

Koa学习1:初始化项目

前言 作为前端开发者&#xff0c;最适合我们的后端就是node了&#xff0c;node的框架挺多的。选择Koa是因为国内用的挺多的、关于这方面的教程也很多、而且比较适合小项目。 学习教程是&#xff1a;【杰哥课堂】-项目实战-NodeKoa2从零搭建通用API服务 写这些文章&#xff0…

javascript基础九:说说Javascript中的继承?如何实现继承?

一、是什么 继承&#xff08;inheritance&#xff09;是面向对象软件技术当中的一个概念 如果一个类别B“继承自”另一个类别A&#xff0c;就把这个B称为“A的子类”&#xff0c;而把A称为“B的父类别”也可以称“A是B的超类” 继承的优点 继承可以使得子类具有父类别的各种属性…

Java 版 spring cloud 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…

【企业化架构部署】Apache网页优化

文章目录 一、Apache网页优化概述1.优化内容2.网页压缩2.1gzip概述2.2作用2.3Apache的压缩模块概述mod_gzip模块与mod_deflate模块 3.配置网页压缩功能3.1启用网页压缩功能步骤3.2具体操作步骤 4.配置网页缓存功能4.1启用网页压缩功能步骤4.2具体操作步骤 二、Apache安全优化1.…

设计模式之~工厂系列(简单工厂、工厂方法、抽象工厂)

目录 简单工厂模式 工厂方法模式 简单工厂 VS 工厂方法 抽象工厂模式&#xff1a; 拓展&#xff1a; 利用简单工厂模式优化抽象工厂 利用反射抽象工厂 进行优化 反射配置文件抽象工厂进行优化 简单工厂模式 优点&#xff1a;简单工厂模式的最大优点在于工厂类包含…

计算机专业主要学习什么

2020计算机专业主要学习什么 1计算机专业都学习哪些方面的知识 1、可视化编程 掌握编程方法和可视化技术&#xff0c;熟悉一个可视化平台及其软件开发技术。能够获取Delphi编程人员系列&#xff0c;Java Basic或VB开发专家认证。 就业方向&#xff1a;企业&#xff0c;政府&…

vue前端分页功能怎么实现

Vue前端分页功能可以通过以下几个步骤实现&#xff1a; 1. 安装分页组件库&#xff08;如vue-pagination-2&#xff09;&#xff1a; bash npm install vue-pagination-2 2. 在Vue项目中引入并注册分页组件&#xff1a; javascript import Vue from vue; import Pagination fr…

传地址给组件并让该组件用到地址在背景图片中的方法

问题 这是我在开发中遇到的问题。在网站的分页面中&#xff0c;背景图片的格式几乎一模一样。只是上面的文字和图片不一样而已。 所以我希望写一个组件&#xff0c;然后页面只需要传入背景图片地址和标题就可以显示出相关内容。 于是我动手写了&#xff0c;大致思路是一个盒…

判断点在多边形内算法的C++实现

本篇博客介绍了使用射线法判断点在多边形内部还是外部的算法&#xff0c;并通过C做了具体实现 1. 算法思路 判断平面内点是否在多边形内有多种算法&#xff0c;其中射线法是其中比较好理解的一种&#xff0c;而且能够支持凹多边形的情况。该算法的思路很简单&#xff0c;就是…

AMEYA360:纳芯微推出车规级耐高压、三线霍尔开关及锁存器NSM101x系列

纳芯微推出全新三线制车规霍尔效应开关/锁存器NSM101x系列&#xff0c;为数字位置检测提供高精度的解决方案&#xff0c;可被广泛应用于汽车执行器等的位置检测。 NSM101x产品系列包含了3个产品型号&#xff0c;即NSM1011(单极霍尔开关)、NSM1012(全极霍尔开关)、NSM1013(霍尔锁…