音视频处理 - 音频概念详解,码率,采样率,位深度,声道,编码

news2024/9/21 22:02:27

1. 音频采样

与视频不同,音频的最小单位不是一帧,而是一个采样。

采样是当前一刻声音的声音样本,样本需要经过数字转换才能存储为样本数据。

真实声音是连续的,但是在计算机中,声音是离散且均匀的声音样本。

2. 位深度

数字转换时会根据位深度转换,位深度就是存储单个样本数据的大小,位深度越大,记录的样本数据精度就越高。

网络视频、音频文件一般位深度为 16bit,常用位深度还有 8bit、24bit 等。

这里需要一提的是,位深度越大虽然意味着声音还原度越高,但是过高的位深度,如 32bit、64bit 或以上,可能需要特殊的软件和硬件设备才能播放。

3. 声道

音频有单声道、双声道、立体声等。

每个声道的声音样本都会单独记录,一般双声道的采样数是单声道的两倍,多声道同理。

多个声道的样本数据一般会按声道排列顺序记录,播放时,程序会根据排列顺序将声音用不同的扬声器播放。

4. 采样率

采样率是采样的频率,与视频的帧率类似,是一秒钟对声音的采样个数,如果是双声道,那么 1 秒采样的个数是采样率的两倍,多声道同理。

普遍认为,流畅且不失真的音频,要求采样率达到 40KHz 以上,这个采样率是人类听觉频率上限的两倍,一般 CD 品质音频的采样率是 44.1KHz,网络视频、视频文件一般是 48KHz。

常见的音频采样率:
    1. 8KHz             音频通话或监控
    2. 22.05KHz\24KHz   FM 调频广播
    3. 44.1KHz          CD 品质
    4. 48KHz            一般网络电影或视频

5. 单个音频帧

理论上,音频并不需要音频帧的概念,因为音频采样数据和采样率已经可以把音频播放描述清楚了。

但是音视频文件播放时,为了保证音视频同步,程序需要根据每帧的播放时间戳进行有序播放。

但是每个音频采样数据太小了,如果每个采样数据都记录播放时间戳的话,那么就得不偿失了。毕竟一个时间戳数据的大小比一个音频采样数据都大,所以就有了音频帧的概念。

音频帧实际上就是把一小段时间的音频采样数据打包起来,如每20ms的音频采样数据合并成一帧。

这里的具体时间间隔是具体编码码格式决定的,一般不需要特别关心。

image

和视频帧一样,每一帧音频帧也会记录播放时间戳 PTS,程序播放时会根据播放时间戳 PTS 播放音频帧。

音频帧的播放是比较特别的,因为一帧音频包含的是一小段时间的音频采样,所以实际上音频帧的播放时间戳只是这一小段音频的开始播放时间,里面的采样数据会根据采样频率连续播放。

6. 码率

音频码率,也就是常听到的音频比特率,码率就是一秒钟的数据量大小。

在不压缩的情况下,音频码率的大小=采样率位深度声道数。

7. 编码格式

编码格式实际上是压缩数据的方式,常用的编码格式有 wav、mp3、aac 等,音频编码格式有有损、无损压缩之分。

mp3、aac 这些编码格式是有损压缩,其中mp3支持的最大码率是 320Kbps,而 wav 编码格式是无损压缩,虽然压缩后的码率可能会比降低,但是它在播放时能无损还原采样数据。

最后值得一提的是,在网络音频文件、音频直播时,需要考虑限制码率,限制码率的目的是为了限制数据量的大小,避免带宽、流量等问题。

音频编码格式一般采用 aac,音频码率一般设置为 128Kbps 就可以了。

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

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

相关文章

【倪琴仲尼式-雷伴】全新倪诗韵精品杉木古琴

试音中的用弦:梦音,视频录音无任何处理,所见即所得。 现琴比照片更好看。倪琴吊牌、琴额后面的编码和倪琴官网上的序列号是一一对应的,可查。 雷伴,“伴”字取意陪伴、相伴、依随。栗壳色,纯鹿角霜生漆工艺…

反射率光纤光谱仪检测汽车后视镜反射率

反射率光纤光谱仪是一种用于测量材料表面反射率的精密仪器,它通过光纤传输光信号,并利用光谱仪进行分析,以确定材料的光学特性。反射率光纤光谱仪的工作原理基于相对反射率的计算,它涉及到光源、光纤、光谱仪等关键组件。 后视镜能…

使用ES5进行win10系统封装

一、概述 为什么那时候会折腾这个呢,因为我平时用的一般是PE或者直接刻录安装系统,但是这样类似于每次安装完系统后都需要进行一些优化设置,比如电源选项、资源管理器设置、办公软件安装等等,我也听说过ghost但是没有实际用过不过…

Apache Hive的部署与体验

一、Apache Hive概述 什么是分布式SQL计算? 以分布式的形式,执行SQL语句,进行数据统计分析。Apache Hive是做什么的? 很简单,将SQL语句翻译成MapReduce程序,从而提供用户分布式SQL计算的能力。传统MapRed…

[2023] 14届

1.日期统计 题意 1.日期统计 - 蓝桥云课 (lanqiao.cn) 思路 用dfs扫 对每一个位进行限制 花了一个小时 注意把答案枚举出来 对应一下看到底对不对 code #include<iostream> #include<cstdio> #include<stack> #include<vector> #include<al…

一文看懂算法交易(二)

国内T0算法哪家强&#xff1f;算法交易费用是多少&#xff1f;算法交易哪些平台好&#xff1f; 我们接上文今天给大家继续分享&#xff0c;我们昨天大致了解了什么是算法交易&#xff0c;国内的算法总线大概有些啥&#xff0c;算法交易的类型。那么我们今天再普及下&#xff0c…

neo4j使用详解(三、cypher插入语法——最全参考)

1.插入语法 create, merge, set, delete, remove, create unique, load csv(import) 除插入语法外另外的语法详情请博主其他文章&#xff1a; 查询语法 其他语法 1.1.create语法 创建单个节点: create(n) # (ID:n) 创建带标签的节点: create (n:Person) # (ID:n, label:Perso…

Tableau项目实战-网站流量统计分析

数据介绍 网站流量分析.xlsx 1、页面指标分析 页面指标主要有网站流量指标、用户行为指标、用户浏览网站的方式等。 页面访问次数 访客完整打开网站页面进行访问的次数,访问次数是网站访问速度的衡量标准。 平均停留的时间 平均访问时长是用户访问网站的平均停留时间。 …

力扣HOT100 - 42. 接雨水

解题思路&#xff1a; 动态规划 感觉不是很好想 class Solution {public int trap(int[] height) {int n height.length;if (n 0) return 0;int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i…

基于Springboot Vue医院管理系统+数据库脚本+文档(万字)

项目效果视频: 基于Springboot Vue医院管理系统 一、 项目介绍 角色&#xff1a;管理员、患者、医生 基于springboot vue实现的医院管理系统&#xff0c;有管理员、医生和患者三种角色。系统拥有丰富的功能&#xff0c;能够满足各类用户的需求&#xff0c;系统提供了登录和注册…

javaWeb学生宿舍管理系统

一、摘要 本博客介绍了如何使用Spring Boot和MySQL构建一个功能完善的JavaWeb学生宿舍管理系统。该系统分为三个角色&#xff1a;管理员、宿管和学生。管理员拥有对整个系统的全面管理权限&#xff0c;包括学生管理、宿舍管理、入住管理和管理员管理&#xff1b;宿管负责宿舍的…

线上linux服务器升级nginx

一个nginx版本空包 一个pcre文件 一个zlib文件 ./configure配置文件 make编译 make install复制所有文件到nginx 如果nginx -v无版本号 检查环境变量cat /etc/profile 编辑 环境变量vi /etc/profile 按i进入编辑模式 按esc进入查看模式 因为path中并未使用%JAVA_HOME%字样…

QMT量化交易上手

文章目录 QMT介绍基本使用代码初始化股票和行情交易量化策略示例相关链接QMT介绍 QMT是迅投公司出品量化交易客户端软件,目前只能运行在windows机器上,分为QMT 和 miniQMT两种模式,后者可以采用python API做程序化交易,极大方便了广大散户。这点上比同花顺/通信达好很多。…

在 IntelliJ IDEA 中使用 Terminal 执行 git log 命令后的退出方法

前言 IntelliJ IDEA 是一款广受欢迎的集成开发环境&#xff0c;它内置了强大的终端工具&#xff0c;使得开发者无需离开IDE就能便捷地执行各种命令行操作&#xff0c;包括使用 Git 进行版本控制。在 IDEA 的 Terminal 中执行 git log 命令时&#xff0c;由于该命令会显示项目的…

微信登录开发

1、h5页面增加一个微信登录&#xff0c;省去手机号验证码登录的繁琐。 首先需要开通服务号&#xff0c;我用的是公司的服务号&#xff0c;开发的小伙伴可以去找领导开通。开通后把自己的微信号加进去就可以进行下面的步骤了。 在微信开发者平台上的公众号设置中去设置业务域名、…

四、C语言中的数组:二维数组

四、C语言中的数组&#xff1a;二维数组 本章的学习内容如下&#xff1a; 四、C语言中的数组&#xff1a;数组的创建与初始化 四、C语言中的数组&#xff1a;数组的输入与元素个数 C语言—第6次作业—十道代码题掌握一维数组 四、C语言中的数组&#xff1a;二维数组 我们可以…

力扣刷题44-46(力扣0062/0152/0198)

62. 不同路径 题目描述&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff0c;机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总共有多少条不同的路径&#xff1f; 思路&#xff1a; 其实就是问(0,0)->(m-1,n-1)一共有几条路。 第一个…

30岁失业的我,选择职场转型,进入AIGC工程师领域,重新开始

去年&#xff0c;刚满30岁的我又一次被公司辞退了&#xff0c;由于学历不高&#xff0c;简历也不出彩&#xff0c;尽管半个月来投了一份又一份的简历&#xff0c;但仍然是石沉大海&#xff0c;我终于不得不开始思考一个以前被我一直刻意压制的想法——职场转型。 尽管知道这条…

docker (一)

1&#xff0c;什么是docker 首先我们可以好好的看看docker的那个可能的图标&#xff0c;你想象到了什么&#xff1f; ... docker是一个开源的应用容器引擎&#xff0c;有Docker公司&#xff08;前dotCloud公司&#xff09;开发&#xff0c;基于Apache2.0开源授权协议发行。该…

碳实践|企业组织碳排放源识别方法、案例分析,及注意事项

在上一章中讲到“界、源、算、质、查”五步法实现企业组织碳的完整核算流程&#xff0c;本章将针对其中的“源”- “识别排放源”这一步骤来展开,主要分析其识别方法、实操案例&#xff0c;并列举注意事项。 企业识别碳排放源是指在组织边界内找到产生碳排放的设施&#xff0c;…