音频筑基:为啥一个压缩率概念,中文搜索结果都是错的?

news2024/11/16 6:03:14

音频筑基:为啥一个压缩率概念,中文搜索结果都是错的?

    • 缘起
    • 概念分析
    • 小结

缘起

最近看一些数据压缩类的文章,对不同场合下表达的压缩率概念分歧,产生了疑问。有的说,压缩率越小越好,有的又说,压缩率越大越好。

到底如何,我们一探究竟。省流不看版,可直接拉到最后看小结。

概念分析

用中文关键词压缩率,谷歌一下结果有的是讲气体压缩(不在此文讨论范围),而讲数据压缩的呢,把我搅更晕了。不管是搜狗百科,还是百度百科,还是CSDN,定义都是:

压缩率(Compression rate),描述压缩文件的效果名,是文件压缩后的大小与压缩前的大小之比,例如:把100m的文件压缩后是90m,压缩率为90/100*100%=90%。

压缩率一般是越小越好,但是压得越小,解压时间越长。

我就不太理解了,直觉来看,压缩率衡量压缩的能力,不是越大越好吗?

于是,用英文关键词compression ratio搜索了下,维基百科给出的结果是:

Data compression ratio is defined as the ratio between the uncompressed size and compressed size.

在这里插入图片描述

维基百科中文,link

也即压缩率定义:

  • cr = uncompress_size / compress_size,
    • cr, compression ratio
    • 压缩率一般大于1,越大越好。
    • 举例:比如原始文件15M,压缩后为1M,压缩率为:15:1
  • 相似概念:空间节省率 = sr = 1-compress/uncompress
    • sr, saving ratio
    • 范围[0, 1), 越大越好,一般不超过1。
    • 续前例:节省率sr=1-1/15=14/15=93%
  • 相互转换:sr = 1-1/cr=(cr-1)/cr

小结

综上,百度百科等说压缩率越小越好的,应该这么理解:比如50%,表示100M的文件,压缩后为50M,分子越小压缩率越高。应该是想说overall compressed size,相当于归一化了单位,来看压缩后的文件大小。 但这个不是主流的压缩率定义,注意区分。

压缩率常被误用为:cr = compressed/uncomressed,从而有越小越好的概念。错误的人说多了,好像就对了。

核心点:

  • 业界常用两种定义
    • cr = uncompress_size / compress_size,压缩率一般大于1,越大越好。
    • sr = 1-compress/uncompress=1-1/cr,空间节省率一般小于1,越大越好。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信刻光盘摆渡机——完全物理隔离,安全合规

信刻光盘摆渡机是一款跨网安全数据摆渡设备,用于不同等级网络之间数据跨网安全传输的需求,采用智能光盘机械手臂,模拟人工取放光盘,在保持物理隔离的条件下,安全合规实现网间信息系统数据库及文件同步、网间信息数据交…

下载B站视频作为PPT素材

下载B站视频作为PPT素材 1. 下载原理2. 网页分析3. 请求页面,找到数据4. 数据解析5. 音频、视频下载6. 合并音频与视频7. 完整代码 其实使用爬虫也不是第一次了,之前从网站爬过图片,下载过大型文件,如今从下载视频开始才想到要写一…

搭建自己的GPT

搭建自己的GPT 文章说明核心代码效果展示源码下载 文章说明 目前GPT的使用比较主流,现有开源大模型,可以拉取到本地进行部署,搭建属于自己的GPT对话工具;主要用于熟悉大模型的本地搭建;本文采用开源的Ollama进行服务提…

MyBatis中的#{}和${}区别、ResultMap使用、MyBatis常用注解方式、MyBatis动态SQL

#{}和${}区别: #{}:是占位符,采用预编译的方式sql中传值,防止sql注入,如果我们往sql中列值传递一般使用 #{}。 ${}:采用字符串拼接的方式直接拼接到sql语句中,一般不用于sql列值传递&#xf…

高可用 Go 服务开发

高可用的含义是尽量减少服务的不可用(日常维护或者突发系统故障)时长,提升服务的可用时长。如何衡量一个服务的可用性呢?或许你也听说过,通常企业可能会要求服务的可用性能能够达到三个 9(也就是 99.9%)或者 4个 9 &am…

C# 自动化抢购脚本:基于商品链接的实现方案

实现思路: 启动参数: options.AddArgument("start-maximized"); 用于启动浏览器时使其窗口最大化。 创建 EdgeDriver 实例: EdgeDriver driver new EdgeDriver(options); 用于初始化 WebDriver 实例。导航到 URL: driver.Navigate().GoToUrl("请输入…

详谈进程等待

目录 前言1. 进程等待的必要性1.1 进程等待的定义 2. 如何进行进程等待2.1 wait 单进程2.2 wait 多进程2.3 status && 退出情况2.3.1 status 参数构成2.3.2 简证 status 参数构成2.3.3 进程等待失败2.3.4 宏调用查看退出信息 3. 进程等待的原理 前言 本篇文章继上一篇…

一款免费且功能强大的图像查看和编辑软件

IrfanView是一款免费且功能强大的图像查看和编辑软件,以其小巧的体积、快速的运行速度和丰富的功能而闻名。它不仅支持多种图像格式,如JPEG、PNG、BMP、GIF等,还支持视频和音频文件的播放。 IrfanView的主要特点包括: 广泛的文件…

Tomcat启动过程是怎么样的?

一、Tomcat 启动流程 步骤: 1、启动tomcat,需要调用 bin/startup.bat (在linux 目录下,需要调用 bin/startup.sh),在startup.bat 脚本中,调用了catalina.bat。 2、在catalina.bat 脚本文件中,调用了BootS…

【栈与递归】-------简单了解

1.递归的定义: 若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的 例如: 链表的结构,树的结构等等 若一个过程直接地或间接地调用自己, 则称这个过程是递归的过程。 例如&#xf…

不确定性环境下的自动驾驶汽车行为决策方法

在高度交互的复杂驾驶环境中考虑不确定性因素的影响,做出合理的决策,是当前决策规划系统须解决的主要问题之一。本文提出了一种不确定性环境下的自动驾驶汽车行为决策方法,为消除不确定性的影响,将行为决策过程转化为部分可观察马…

如何使用ssm实现基于jsp的快递管理系统的开发

TOC ssm226基于jsp的快递管理系统的开发jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规…

达梦数据库的系统视图v$db_object_cache

达梦数据库的系统视图v$db_object_cache 达梦数据库(DM Database)中的 V$DB_OBJECT_CACHE 视图提供了数据库对象缓存的相关信息。这些信息包括缓存中的各种数据库对象(如表、索引、存储过程等)的具体状态和属性。通过 V$DB_OBJEC…

基于SpringBoot的滴答拍摄影项目

你好,我是计算机专业的学生,专注于摄影项目的开发与实现。如果您对我的项目感兴趣或有任何建议,欢迎随时联系我。 开发语言 Java 数据库 MySQL 技术 SpringBoot框架 工具 MyEclipse、Tomcat服务器 系统展示 首页 管理员功能模块 用…

网络安全-安全渗透简介和安全渗透环境准备

文章目录 前言1. 安全渗透简介1.1 什么是安全渗透?1.2 安全渗透所需的工具1.3 渗透测试流程 2. 使用 Kali Linux 进行安全渗透2.1 下载ISO镜像2.2 下载VMware Workstaion软件2.3 Kali Linux简介2.4 准备Kali Linux环境2.5 Kali Linux初始配置2.6 VIM鼠标右键无法粘贴…

石碑文字全排列重组(华为od机考题)

一、题目 1.原题 有一个考古学家发现一个石碑, 但是很可惜,发现时其已经断成多段, 原地发现n个断口整齐的石碑碎片。 为了破解石碑内容, 考古学家希望有程序能帮忙计算复原后的石碑文字组合数, 你能帮忙吗&#xff1…

C# 三种定时器的用法

目录 1.System.Timers.Timer 2.System.Windows.Forms.Timer 3.System.Threading.Timer 4.简单的封装 这里介绍三种常用的定时器,方便查阅资料或直接复制使用。 1.System.Timers.Timer System.Timers.Timer 类定义了一个计时器,该计时器按固定间隔触…

大二必做项目贪吃蛇超详解之上篇win32库介绍

文章目录 1. 游戏背景2. 游戏效果演示3. 项目目标4. 前置知识5. Win32 API5. 1 控制台程序(Console)5. 2 控制台屏幕上的坐标 COORD5. 3 GetStdHandle5. 4 GetConsoleCursorlnfo5. 4. 1 CONSOLE_CURSOR_INFO5. 4. 2 SetConsoleCursorlnfo 5. 5 SetconsoleCursorPosition5. 6 Ge…

“汤姆猫除了不会捉杰瑞啥都会”之作为Web服务器,tomcat的常用部署方式 (Tomcat+memcached实现高可用)

目录 企业级WEB应用服务器TOMCAT一、tomcat的功能介绍1.1 安装 Tomcat1.2 tomcat的文件结构和组成1.3 生成tomcat的启动文件 二、结合反向代理实现tomcat部署2.1 常见部署方式介绍2.2 利用 nginx 反向代理实现2.3 实现tomcat中的负载均衡2.3.1 HTTP的无状态,有连接和…

Linux驱动学习之中断与等待队列

本篇分为设备树部分和API接口部分 设备树 想要使用中断,设备树中需要有两个属性: interrupts // 表示要使用哪一个中断, 中断的触发类型等等。 interrupt-parent // 这个中断要接到哪一个设备去? 即父中断控制器是谁 父中…