PCM原始音频数据格式介绍

一 什么是PCM

PCM全称Pulse-Code Modulation,翻译一下是脉冲调制编码。在音视频中,PCM是一种用数字表示采样模拟信号的方法。要将一段音频模拟信号转换为数字表示,包含如下三个步骤:

  1. Sampling(采样)
  2. Quantization(量化)
  3. Coding(编码)

通常,我们可以通过一条曲线在坐标中显示连续的模拟信号,如下图所示:
在这里插入图片描述

为了更容易理解PCM,取其中一段来说明。
在这里插入图片描述
假设这表示一段一秒的音频模拟信号。

在这里插入图片描述

二 Sampling(采样)

Sampling(采样)处理,实际上就是让采样数据能够完全表示原始信号,且采样数据能够通过重构还原成原始信号的过程,如上图。
将采样后的图拿出来单独解释
在这里插入图片描述
红色曲线:表示原始信号。
蓝色垂直线段:表示当前时间点对原始信号的一次采样。采样是一系列基于振幅(amplitude和相同时间间隔的样本。这也是为什么采样过程被称为PAM的原因。
PAM:(Pulse Amplitude Modulation)是一系列离散样本之的结果

采样率(Sample rate)
每秒钟的样本数也被称之为采样率(Sample rate)。在Sampling图示案例中,采样率为每秒34次。意味着在一秒的时间内,原始信号被采样了34次(也就是蓝色垂直线段的数量)。

通常,采样率的单位用Hz表示,例如1Hz表示每秒钟对原始信号采样一次,1KHz表示每秒钟采样1000次。1MHz表示每秒钟采样1百万次。

根据场景的不同,采样率也有所不同,采样率越高,声音的还原程度越高,质量就越好,同时占用空间会变大。

例如:通话时的采样率为8KHz,常用的媒体采样率有44KHz,对于一些蓝光影片采样率高达1MHz。

三 Quantization(量化)

原始信号采样后,需要通过量化来描述采样数据的大小。如图:
在这里插入图片描述

量化处理过程,就是将时间连续的信号,处理成时间离散的信号,并用实数表示。这些实数将被转换为二进制数用于模拟信号的存储和传输。

在图例中,如果说采样是画垂直线段的话,那么量化就是画水平线,用于衡量每次采样的数字指标。如图
在这里插入图片描述
图中,每条横线表示一个等级(level)。

为了更好的描述量化过程,先来介绍一下bit-depth(位深):用来描述存储数字信号值的bit数。较常用的模拟信号位深有:

8-bit:2^8 = 256 levels,有256个等级可以用于衡量真实的模拟信号。 16-bit:2^16 = 65,536
levels,有65,536个等级可以用于衡量真实的模拟信号。 24-bit:2^24 = 16,666,216
levels,有16,666,216个等级可以用于衡量真实的模拟信号。

显而易见,位深越大,对模拟信号的描述将越真实,对声音的描述更加准确。

在当前例子中,如果用为8-bit位深来描述的话,就如下图所示:
在这里插入图片描述

化的过程就是将一个平顶样本四舍五入到一个可用最近level描述的过程。如图中黑色加粗梯形折线。量化过程中,我们将尽量让每个采样和一个level匹配,因为每个level都是表示一个bit值。

图中,第9次采样的平顶样本对应的level用十进制表示为255,也就是二进制的1111 1111。

四 Encoding(编码)

在这里插入图片描述
在编码这一步,我们会将时间线上的每个sample数据转化为对应的二进制数据。

采样数据经过编码后产生的二进制数据,就是PCM数据。PCM数据可以直接存储在介质上,也可以在经过编解码处理后进行存储或传输。

五 PCM数据常用量化指标

  1. 采样率(Sample rate):每秒钟采样多少次,以Hz为单位。详见:**采样率(Sample rate)**一节。
  2. 位深度(Bit-depth):表示用多少个二进制位来描述采样数据,一般为16bit。详见:**Quantization(量化)**一节。
  3. 字节序:表示音频PCM数据存储的字节序是大端存储(big-endian)还是小端存储(little-endian),为了数据处理效率的高效,通常为小端存储。
  4. 声道数(channel
    number):当前PCM文件中包含的声道数,是单声道(mono)、双声道(stereo)?此外还有5.1声道等。
  5. 采样数据是否有符号(Sign):要表达的就是字面上的意思,需要注意的是,使用有符号的采样数据不能用无符号的方式播放。

以FFmpeg中常见的PCM数据格式s16le为例:它描述的是有符号16位小端PCM数据。s表示有符号,16表示位深,le表示小端存储。

六 原文链接

PCM原始音频数据格式介绍

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值