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

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

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

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


PCM 与预测编码(上)


内容介绍

一、脉冲编码调制(PCM)

二、增量调制(DM )


一、脉冲编码调制(PCM)

1.脉冲编码调制

Pulse Code Modulation 的缩写,是概念上最简单、理论上最完善的编码系统,是最早研制成功、使用最为广泛的编码系统,但是这并没有刻意的对数据进行压缩,因此也是数据量最大的编码方法。

PCM是对每个采样信号的整个幅度进行量化编码,具有对任意波形进行编码的能力,实际上是对模拟信号进行采样和量化的一种编码。采样即为要采取多少个点,而量化是每一个点用多少位表示,而PCM恰好实现采样和量化的过程。

如下图:在水平轴上每隔一段时间采样——给定一个脉冲,每一个采样的点的位置是脉冲的一个波,脉冲是否跟曲线有交点,然后把点采集。在水平轴画若干线,此线的距离为量化的步长。此步长两线之间间隔的越小,量化所需要的位数越高。具有点之后,可以把原始的信号恢复。

image.png

2.PCM编码框架

以声音为例,模拟声音作为输入,第一步进行防失真的滤波器,滤波器可以理解为用来过滤掉声音频带以外的信号。音频信号是20-20000赫兹,则低于20赫兹和20000赫兹的会被去除。而波形编码器即采样过程,就是每一个脉冲和每一个原始信号求救;量化器具有量化步长,每一个原始信号的值需要跟量化的步长求商,补偿越小商越大,所需要的位数越多。则量化阶的大小就是量化间隔决定量化的精度。

3.PCM编码有损

如果满足采样定理,信号本身可以还原,但因为量化时是四舍五入的,即采样时并不是每个点都恰好落在水平线上,只要不在线上就进行四舍五入,因此量化时是有信息损失的。

4.量化分类

量化可以分为均匀量化和非均匀量化,所谓的均匀量化是采用相等的量化间隔对采样得到的信号作量化。如左图:量化的步长是一样的

image.pngimage.png

如右图:而非均匀量化(也称作非线性量化)的量化阶的步长一开始很小,而到后面会变大,小信号可以用小间隔来做量化,而大的而输入信号用大的间隔作量化。换言之,变化剧烈的、敏感的应该精细化描述;如果变化本身很小、信号大时量化阶可以增大。一旦量化阶增大,数据就会变小,此时就可以对数据进行压缩。非线性量是减少数据量的一个有效途径,但是需要判断正确什么时候变大什么时候变小。


二、增量调制(DM )

由上引申出 DM,是属于早期在电话中使用的,因为那时无法做到精细的描述,能够大概把声音还原,因为传输的速率是有限的,所以声音只要不失真即可(失真在这里通俗理解为说的是什么,听到的是什么即可,至于是否动听悦耳无需讲究)。

增量调制也叫△调制(是 Delta Modulation 的缩写),是预测编码的一种算法,是PCM 算法的一种变形。

编码思想是对实际的采样信号与预测的采样信号之差的极性进行编码。这里的极性指大于等于零或者是小于零。如果差值是非负,则用“1”来表示;相反用“0”来表示。换言之,△方法并不是把值保存,而是把差值的正负用“0”和“1”表示。这样采样点用1位来表示即可,因此也称作“1位系统”。

如图:

image.png

用当前的一个点来预测下一个点,例如当前点为零实际上也为零,但也代表为非负,因此非负就用“1”来表示。而“1”表示加一个△,即下一个步长加一个△。按照如此应为红线 但实际上为蓝线。蓝色值减去红色点的值的差值为大于零,因为增加一个△并没有达到原始数据的变化,所以仍为“1”。

为“1”之后再增加一个△,但蓝色线仍在红色线之上。因为实际采样值比预测值要大,所以极性仍是大于等于零,即仍为“1”。所以下一步再增加一个△,然后依次增长。增长到第六点时,预测值比实际值要大,所以实际值减去预测值的值小于零,小于零的极性用“0”表示,“0”表示减去一个△。到第七点时预测值比实际值还要大,此时选择继续减去一个△;到第八点时预测值要小于实际值,此时用“1”表示。“1”表示增加一个△,发现增加后预测值比实际值要大,则下一步再减去一个△,依次类推,最后得到图形。

由图可知,红色线已经大致把蓝色线描述出来,但是描述的并不准确。前期线段斜率过载,即曲线的斜率大于1时,无论怎么增加△都不能超过蓝色线的变化;到了后期线段基本不变的时候,两者的差值要么为1要么为0,因此称此现象为“粒度噪声”。

噪声在两个问题的根源:前面原始信号变化很快,增加缓慢后增加△的步长就会变小。

如果一开始增加很大的步长,则红色线会很快超过蓝色线;相反基本不变的时候增加或减少△应该会变小一点,则不需要每次都变化,这是后面根据信号的变化是否能够自适应的调整△值的内容

相关文章
一文读懂Can总线错误处理
一文读懂Can总线错误处理
一文读懂Can总线错误处理
|
搜索推荐 算法 数据挖掘
十个最全网站营销方法案例分析
本文探讨了10种网站营销策略:SEO优化提升搜索引擎排名;内容营销建立品牌信任;社交媒体营销扩大影响力;搜索引擎广告吸引目标用户;电子邮件营销促进销售;网站设计优化提升用户体验;移动端优化适应移动设备;数据分析驱动策略优化;视频营销吸引关注;合作伙伴营销扩展品牌覆盖。AokSend提供高效验证码发信服务,助力企业营销。选择合适策略,持续优化,以实现最佳营销效果。
|
11月前
|
人工智能 安全 物联网
《龙蜥操作系统:开启自主创新的新纪元》
在数字化时代,操作系统作为信息技术核心,至关重要。龙蜥操作系统由国内顶尖团队研发,旨在打破国外技术垄断,实现自主可控。其具备高度安全性、卓越性能、良好兼容性和强大可扩展性,广泛应用于企业级应用、个人用户及物联网领域,并展现出广阔发展前景。通过持续技术创新、生态建设和国际化发展,龙蜥操作系统正推动我国信息技术产业迈向新高度。
354 1
|
存储 监控 NoSQL
【MongoDB 专栏】MongoDB 分片策略与最佳实践
【5月更文挑战第10天】MongoDB 分片是应对大数据量的扩展策略,涉及哈希和范围分片两种策略。分片架构包含分片服务器、配置服务器和路由服务器。最佳实践包括选择合适分片键、监控调整、避免热点数据等。注意数据分布不均和跨分片查询的挑战。通过实例展示了如何在电商场景中应用分片。文章旨在帮助理解并优化 MongoDB 分片使用。
475 3
【MongoDB 专栏】MongoDB 分片策略与最佳实践
|
语音技术 开发者 Python
python之pyAudioAnalysis:音频特征提取分析文档示例详解
python之pyAudioAnalysis:音频特征提取分析文档示例详解
1132 0
|
Python Windows
最新最详细的Python开发环境搭建以及PyCharm的安装配置教程【图+文】(一)
本文介绍 Python 开发环境的安装,PyCharm 的安装(Professional版本,Community版本)
1506 0
最新最详细的Python开发环境搭建以及PyCharm的安装配置教程【图+文】(一)
|
人工智能 算法 大数据
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
AI:互联网程序设计竞赛之蓝桥杯大赛的简介、奖项设置、大赛内容以及蓝桥杯与ACM(ICPC)的四个维度对比之详细攻略
|
安全 Java Maven
SpringBoot自定义classloader加密保护class文件
最近针对公司框架进行关键业务代码进行加密处理,防止通过jd-gui等反编译工具能够轻松还原工程代码,相关混淆方案配置使用比较复杂且针对springboot项目问题较多,所以针对class文件加密再通过自定义的classloder进行解密加载,此方案并不是绝对安全,只是加大反编译的困难程度,防君子不防小人,整体加密保护流程图如下图所示
516 2
|
定位技术
激光雷达A1M8与STM32通信
激光雷达A1M8与STM32通信
401 0
|
自然语言处理 算法
【数字IC手撕代码】Verilog固定优先级仲裁器|题目|原理|设计|仿真
【数字IC手撕代码】Verilog固定优先级仲裁器|题目|原理|设计|仿真
【数字IC手撕代码】Verilog固定优先级仲裁器|题目|原理|设计|仿真

热门文章

最新文章