PCM 与预测编码(下)| 学习笔记

简介: 快速学习 PCM 与预测编码(下),介绍了 PCM 与预测编码(下)系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算PCM 与预测编码(下)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15680


PCM 与预测编码(下)


内容介绍

一、自适应增量调制(ADM)

二、自适应脉冲编码( APCM )

三、差分脉冲编码调(DPCM )

四、子带编码(SBC )


一、自适应增量调制(ADM)

根据输入信号斜率的变化自动调整量化阶△的大小,使增量调制器的量化阶△能够自适应,同时也能使斜率过载和粒状噪声都减到最小。因此许多研究人员研究了各种各样的方法。

ADM 算法依据:检测到斜率过载时增大量化阶△,而在输入信号的斜率减小时降低量化阶△。

斜率即变化的大小,例如连续两个都为1时,说明步长变小,即在第三个地方加大补偿;相反如果连续两个都在变化,要么1要么0,说明本身原始信号的变化不大,此时步长可以减少。

根据此思想,原来的PCM的原始信号,像1位编码、△编码质量不够高,而PCM编码每个样本是存实际值,而△编码存的是差值的极性。


二、自适应脉冲编码( APCM )

自适应脉冲编码调制(Adaptive Pulse Code Modulation , APCM)是在PCM前面加自适应,其算法思想为根据输入信号幅度大小来改变量化阶大小。可以是瞬时自适应,即量化阶的大小每隔几个样本就改变,也可以在较长时间周期里发生变化,这也取决于算法设计。同时可以根据算法量化器之前自适应还是量化器之后自适应分为前向自适应和后向自适应。

image.png

 

三、差分脉冲编码调制( DPCM )

差分脉冲编码调制 DPCM ( Differential Pulse Code Modulation )

关于让原始信号的值变得更小,以空间冗余为例,会发现连续的蓝天相邻的两个样本之间的颜色值是相同的,比如说都为蓝色,在红绿蓝的分量中蓝色的分量接近255。

假如每个点都用255表示需要八位,而相邻的蓝色基本都在255附近,比如说有250、249、252、251、248。假如把当前的两个样本预测下一个样本,对此两个值求差;例如255的样本预测下一个250,求差为-5;相反用250来预测下一个点,例如用248或者252相减求差。原本在250附近的值就变成0、1、2等值,如果这两个值大面积相同的话,求出来的差变成0。存一个250、255附近的值需要八位,存一个10以内的数字,可能两三位即可,由原来的原始信号的出示的值变成求差值,数据本身没有变化,还原的时候把值加回去即可,这就是差分。

差分脉冲编码调制就是利用样本之间存在的信息冗余进行编码,基本思想是根据过去的样本去估算下一个样本信号的幅度大小,这个值称为预测值,对实际信号值与预测值之差进行量化编码PCM对原始信号进行量化,而 DPCM 对实际值和预测值进行量化减少表示每个样本信号的位数。可以理解为数据压缩变化了一种方式,就可以把数据减少。

如果可以根据差值的大小来自适应改变量化阶的步长,就叫做自适应差分脉冲编码调制( ADPCM )

image.png

使用小的量化阶去编码小的差值,使用大的量化阶去编码大的差值。DPCM已经大大减少,如果利用ADPCM的差值自适应的编程改变量化阶使得进一步更小。

人的视觉系统或者听觉系统对不同频率范围内的信号敏感度不同,比如人对低频范围内的信号很敏感,所以应该给予多的位数。如何对原始信号分成不同的频带,就成为要得到的子带编码。


四、子带编码( SBC )

使用一组带通滤波器(Band-Pass Filter , BPF),把输入信号的频带分成若干个连续的频带,每个频带称为子带;对每个子带中的信号采用单独的编码方案去编码,就把人的视觉、听觉系统对不同信号的感知特性用在编码方法中,人在接受中进行合成来还原信号。即在信道上传送石,将每个子带的代码复合起来,在接收端译码时,将每个子带的代码单独译码,然后组合起来,还原成原来的信号。

如图:编码的时候分开编码,解码的时候分开解完之后在进行合并恢复成原始的信号。

image.png

相关文章
|
3天前
|
开发者
什么是声音的声道概念
什么是声音的声道概念
5 0
|
4天前
|
存储 编解码 算法
音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)
音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)
81 0
|
9月前
|
编解码
ffmpeg奇偶场帧Interlace progressive命令和代码处理
ffmpeg奇偶场帧Interlace progressive命令和代码处理
158 0
ffmpeg奇偶场帧Interlace progressive命令和代码处理
|
算法 开发者 内存技术
PCM 与预测编码(上)| 学习笔记
快速学习 PCM 与预测编码(上),介绍了 PCM 与预测编码(上)系统机制, 以及在实际应用过程中如何使用。
213 0
PCM 与预测编码(上)| 学习笔记
|
开发者
无损压缩编码(下)| 学习笔记
快速学习无损压缩编码(下),介绍了无损压缩编码(下)系统机制, 以及在实际应用过程中如何使用。
95 0
无损压缩编码(下)| 学习笔记
|
算法 开发者
无损压缩编码(上)| 学习笔记
快速学习无损压缩编码(上),介绍了无损压缩编码(上)系统机制, 以及在实际应用过程中如何使用。
100 0
 无损压缩编码(上)| 学习笔记
|
Web App开发 算法 计算机视觉
变换编码(下)| 学习笔记
快速学习变换编码(下),介绍了变换编码(下)系统机制, 以及在实际应用过程中如何使用。
146 0
变换编码(下)| 学习笔记
|
算法 大数据 开发者
变换编码(上)| 学习笔记
快速学习变换编码(上),介绍了变换编码(上)系统机制, 以及在实际应用过程中如何使用。
222 0
 变换编码(上)| 学习笔记
|
存储 编解码 算法
MPEG 视频(上)| 学习笔记
快速学习 MPEG 视频(上),介绍了 MPEG 视频(上)系统机制, 以及在实际应用过程中如何使用。
111 0
MPEG 视频(上)| 学习笔记
|
编解码 并行计算 算法
MPEG 视频(下)| 学习笔记
快速学习 MPEG 视频(下),介绍了 MPEG 视频(下)系统机制, 以及在实际应用过程中如何使用。
100 0
MPEG 视频(下)| 学习笔记