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月前
|
编解码 语音技术 内存技术
FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频
《FFmpeg开发实战:从零基础到短视频上线》一书中的“5.1.2 把音频流保存为PCM文件”章节介绍了将媒体文件中的音频流转换为原始PCM音频的方法。示例代码直接保存解码后的PCM数据,保留了原始音频的采样频率、声道数量和采样位数。但在实际应用中,有时需要特定规格的PCM音频。例如,某些语音识别引擎仅接受16位PCM数据,而标准MP3音频通常采用32位采样,因此需将32位MP3音频转换为16位PCM音频。
117 0
FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频
|
4月前
|
编解码 iOS开发
视频转换XMedia Recode v3.6.0.1
XMedia Recode是一款免费的视频格式转换软件,支持几乎所有视频格式的转换,基本的有DVD, AVI, MP4, 3GP, WMV, ASF等格式。对于一些特殊格式的视频,不用担心看不到,有了XMedia Recode除了保证转换质量,还能转换为你想要的类型。
20 0
|
7月前
|
存储 编解码
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
《FFmpeg开发实战》书中介绍了音视频编码历史,重点讲述H.264的成功在于其分为视频编码层和网络抽象层。H.264帧类型包括SPS(序列参数集,含视频规格参数),PPS(图像参数集,含编码参数)和IDR帧(立即解码刷新,关键帧)。SPS用于计算视频宽高和帧率,PPS存储编码设置,IDR帧则标志新的解码序列。书中还配以图片展示各帧结构详情,完整内容可参考相关书籍。
296 7
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
|
8月前
|
存储 编解码 缓存
音视频基础: I帧 P帧 B帧 GOP DIR PTS DTS 帧率 码率的介绍
音视频基础: I帧 P帧 B帧 GOP DIR PTS DTS 帧率 码率的介绍
300 0
|
8月前
|
存储 编解码 算法
音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)
音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)
162 0
|
编解码
ffmpeg奇偶场帧Interlace progressive命令和代码处理
ffmpeg奇偶场帧Interlace progressive命令和代码处理
361 0
ffmpeg奇偶场帧Interlace progressive命令和代码处理
|
算法 开发者 内存技术
PCM 与预测编码(上)| 学习笔记
快速学习 PCM 与预测编码(上),介绍了 PCM 与预测编码(上)系统机制, 以及在实际应用过程中如何使用。
PCM 与预测编码(上)| 学习笔记
|
存储 编解码 算法
MPEG 视频(上)| 学习笔记
快速学习 MPEG 视频(上),介绍了 MPEG 视频(上)系统机制, 以及在实际应用过程中如何使用。
MPEG 视频(上)| 学习笔记
|
编解码 并行计算 算法
MPEG 视频(下)| 学习笔记
快速学习 MPEG 视频(下),介绍了 MPEG 视频(下)系统机制, 以及在实际应用过程中如何使用。
MPEG 视频(下)| 学习笔记
|
算法 大数据 开发者
变换编码(上)| 学习笔记
快速学习变换编码(上),介绍了变换编码(上)系统机制, 以及在实际应用过程中如何使用。
 变换编码(上)| 学习笔记