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

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的音频采样数据合并成一帧。

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

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

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

6. 码率

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

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

7. 编码格式

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

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

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

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

相关推荐
cuijiecheng20184 小时前
音视频入门基础:FLV专题(12)——FFmpeg源码中,解析DOUBLE类型的ScriptDataValue的实现
ffmpeg·音视频
SEU-WYL9 小时前
基于深度学习的视频摘要生成
人工智能·深度学习·音视频
兔云程序18 小时前
字节跳动收购Oladance耳机:强化音频技术,加速VR/AR生态布局
ar·音视频·vr
jndingxin20 小时前
OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍
人工智能·opencv·音视频
芯橦1 天前
【瑞昱RTL8763E】音频
单片机·嵌入式硬件·mcu·物联网·音视频·visual studio code·智能手表
9527华安1 天前
FPGA实现PCIE视频采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
fpga开发·音视频·pcie·xdma·ov5640·hdmi
speop1 天前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
cuijiecheng20181 天前
音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现
ffmpeg·音视频
Envyᥫᩣ1 天前
《ASP.NET Web Forms 实现视频点赞功能的完整示例》
前端·asp.net·音视频·视频点赞
HJ_SDK2 天前
探索私有化聊天软件:即时通讯与音视频技术的结合
音视频