音视频编解码——脉冲编码调制(PCM)

脉冲编码调制(Pulse Code Modulation,PCM)是一种数字信号编码技术,用于将模拟信号转换为数字信号,主要包括抽样、量化和编码3个过程。

所谓脉冲编码调制(PCM),不只是一种量化的手段,而应该描述成一种数字调制手段,即一种将模拟信号通过采样、量化和编码后变成数字信号从而得以在数字信道中进行传播的一种手段。PCM广泛应用于音频和视频领域,是数字通信和存储中常用的基础技术之一。

 

脉冲编码调制:将经量化后的脉冲信号变为二进制码组的过程,建立量化电平与二进制码组的一一对应关系。 

一、PCM的原理如下:

1、采样(Sampling):
PCM首先对模拟信号进行采样,即在时间上均匀地选取一系列采样点。采样频率决定了每秒采样的次数,它对于保留原始模拟信号的频率范围和细节非常重要。常见的音频采样频率为44.1 kHz(用于CD音质)或48 kHz(用于数字音频工作站和视频)。更高的采样频率可以提供更好的音频质量,但也会增加数据量。

PCM采样过程中,采样频率必须满足奈奎斯特采样定理(Nyquist Sampling Theorem)。该定理指出,为了准确地重构原始模拟信号,采样频率必须至少是信号最高频率的两倍。如果采样频率低于奈奎斯特频率,会发生采样失真,导致重构的信号失真。

2、量化(Quantization):
量化是将连续的模拟信号值映射为离散的数字值的过程。在PCM中,量化将每个采样点的模拟信号值映射为离散的数字量化级别。量化级别的数量由量化位数决定,例如,16位PCM使用65536个量化级别。

量化位数决定了量化级别的数量,即数字化的精度。常见的量化位数为16位、24位或32位。较高的量化位数可以提供更高的动态范围和更低的量化误差,但也会增加数据量。

量化过程引入了量化误差,这被称为量化噪声。量化噪声是由于将连续的模拟信号离散化为有限数量的量化级别而产生的,即量化级别与原始模拟信号值之间的差异。量化噪声通常具有均匀分布或高斯分布的特性。较高的量化位数可以减小量化误差,提高信号的准确性。信噪比(Signal-to-Noise Ratio,SNR)用于衡量量化误差对信号质量的影响,表示信号的强度与量化误差的比值。较高的信噪比表示较低的量化误差和更好的信号质量。

在PCM中,常用的量化方法是线性量化,即将模拟信号值均匀地映射到量化级别。线性量化可以简化编码和解码过程,但在低信号强度区域可能会浪费比特,而在高信号强度区域可能会引入较大的量化误差。为了解决这个问题,可以使用非线性量化方法,如μ律和A律。这些方法在低信号强度区域提供更高的量化精度,而在高信号强度区域提供较低的量化精度。 

3、编码(Encoding):
编码是将量化后的数字值表示为二进制码字的过程。在PCM中,使用二进制表示量化级别。例如,对于16位PCM,每个采样点的量化级别用16位二进制数表示。

PCM编码方法的选择原则:简单、易于理解和实现;具有较强的抗干扰能力。

常用的PCM编码方法:

自然二进制码:简单、易于理解和实现

格雷码:具有较强的抗干扰能力

折叠码: 适合于小信号取值概率大的语音信号抗干扰

4、信道传输:
PCM编码后的数字信号可以通过数字信道进行传输,如数字音频接口(如S/PDIF)或网络传输。

5、解码(Decoding):
在接收端,PCM信号经过解码过程将二进制码字转换为量化级别。解码过程是编码过程的逆过程。

解码过程包括以下步骤:

①从PCM编码数据中读取每个样本。

②根据采样率和量化比特数,将每个样本转换为对应的数字值。

③对于每个数字值,应用解码算法以还原其原始的幅度值。

 PCM的解码算法通常用于将经过PCM编码的数字信号转换回模拟信号。以下是一些常见的PCM解码算法:

①、直接解码:
直接解码是最简单的PCM解码算法之一。它涉及将PCM编码数据转换为对应的数字值,然后使用这些数字值作为模拟信号的幅度值。这种解码方式不涉及滤波或其他信号处理步骤,直接输出数字值作为模拟信号。

②、插值解码:
插值解码算法用于在解码后的离散样本之间进行插值,以恢复模拟信号的连续性。它可以使用线性插值、多项式插值或其他插值方法来估计样本之间的值。插值解码算法可以提高信号的平滑性和连续性。

③、预测解码:
预测解码算法使用先前的样本值和预测模型来预测当前样本的值。它通过对预测误差进行编码和解码来实现。预测解码算法常用于压缩编码中,以减小解码后的信号与原始信号之间的差异。

④、ADPCM(自适应差分脉冲编码调制)解码:
ADPCM解码算法是一种改进的PCM解码算法,用于处理动态范围较大的信号。它基于差分编码和预测误差的自适应调整,用于恢复原始信号的幅度值。

PCM本身并不是一种压缩编码技术,它是一种无损编码,可以保留原始信号的完整性。然而,由于PCM需要较大的数据传输带宽和存储空间,为了实现更高的压缩比,可以结合使用压缩编码技术,如无损压缩算法(如FLAC)或有损压缩算法(如MP3、AAC)。这些算法可以通过去除信号中的冗余信息或利用人耳或人眼的特性来减小数据量,但会引入一定的失真。

6、重构(Reconstruction):
重构是将量化级别转换为模拟信号的过程,即重构过程用于将解码后的数字信号转换回模拟信号。通过使用重构滤波器,将量化级别转换为连续的模拟信号,以便于音频播放或视频显示。

重构过程包括以下步骤:

①使用重构滤波器对解码后的数字信号进行滤波。重构滤波器的作用是去除量化噪声并还原信号的平滑性。

②将滤波后的信号通过一个恢复放大器进行放大,使其达到与原始信号相同的幅度范围。

③最终得到的模拟信号即为PCM信号的重构。

在PCM重构过程中,常用的重构滤波器包括以下几种:

①、低通滤波器(Low-pass Filter):
低通滤波器用于去除解码后数字信号中的高频成分,以还原信号的平滑性和连续性。它允许通过低频成分,而阻断高频成分。

②、插值滤波器(Interpolation Filter):
插值滤波器用于在解码后的离散样本之间进行插值,以恢复模拟信号的连续性。插值滤波器可以根据离散样本之间的差异来估计中间点的值,从而实现平滑的信号重构。

③、重构滤波器组(Reconstruction Filter Bank):
重构滤波器组是一组滤波器,用于将解码后的数字信号分解为不同的频带,并对每个频带进行滤波和重构。这种滤波器组常用于多通道音频解码和重构,例如立体声音频的解码。

④、预留滤波器(Post-filter):
预留滤波器用于通过降低解码后数字信号的量化噪声来改善重构信号的质量。它可以应用一些降噪技术,如自适应滤波或声学模型,以提高信号的清晰度和自然度。

PCM的位速和数据率:

位速(Bit Rate)是指单位时间内传输或处理的比特数。在PCM中,位速取决于采样频率和量化位数的乘积。例如,对于16位PCM和44.1 kHz的采样频率,位速为16位 × 44,100 Hz = 705,600 bps。数据率(Data Rate)是指单位时间内传输的数据量,通常以字节或比特为单位。数据率等于位速除以8(如果以字节为单位)。因此,对于上述例子,数据率为705,600 bps / 8 = 88,200 bytes per second。

PCM的动态范围:
动态范围是指信号中最大和最小值之间的幅度范围。在PCM中,动态范围受到量化位数的限制。较高的量化位数可以提供更大的动态范围,允许更小的信号细节被保留。

PCM的误差传播:
在PCM中,量化误差会在编码和解码过程中传播。这意味着解码后的信号可能会有一些累积的误差。为了减小误差传播的影响,可以使用补偿技术,如循环冗余校验(CRC)或前向纠错编码(FEC)。

总结起来,PCM的解码和重构过程涉及从PCM编码数据中读取样本,并将其转换为对应的数字值。然后,通过解码算法还原样本的原始幅度值。接下来,通过重构滤波器滤波和恢复放大器放大,将解码后的数字信号转换回原始的模拟信号,从而实现PCM信号的解码和重构。

这里再次声明,PCM是一种将模拟信号经过采样,量化,编码转换为数字信号的一种调制方式,而非只是一种编码方式,其采用的是二进制编码方式。 

二、PCM的优点和缺点:

优点:无损编码,不会引入额外的失真,可以保留原始信号的完整性。简单、可靠,易于实现和解码。适用于需要高保真度的应用,如音频录制和音频制作。

缺点:需要较大的数据传输带宽和存储空间,因此无法实现高压缩比,相对较低的数据压缩效率。在一些应用中可能会采用更高级的压缩编码技术,如MP3或AAC,以实现更高的压缩比和更有效的数据传输。

三、PCM的应用:

PCM广泛应用于音频和视频领域。在音频方面,PCM被用于音频录制、音频传输(如CD、数字音频接口)和音频存储(如WAV文件格式)。在视频方面,PCM被用于视频编码中的音频部分,如AVI文件格式中的音频编码。

猜你喜欢

转载自blog.csdn.net/qq_42233059/article/details/134904772