信息论与编码篇---预测编码

📅 发布时间:2026/7/6 4:07:45 👁️ 浏览次数:
信息论与编码篇---预测编码
一、什么是预测编码预测编码Predictive Coding是一种不编码原始数据只编码预测值与实际值之间的差值的压缩方法。核心思想太聪明了既然能猜对大部分就不用说答案只说猜错了多少就像这样原始数据100, 101, 102, 103, 104预测猜下一个和上一个一样100, 101, 102, 103差值0, 1, 1, 1, 1实际-预测传输100第一个 0,1,1,1,1差值二、为什么要用预测编码数据有相关性现实中的数据往往不是随机的图像相邻像素颜色相近语音相邻采样幅度连续变化视频相邻帧内容相似差值比原始值小得多原始值152 153 152 154 153 152 预测值152 152 152 152 152 152用上一个预测 差值 0 1 0 2 1 0差值的范围0-2远小于原始值152-154用更少比特就能表示三、预测编码的基本原理编码器结构原始值 x[n] ──┬─→ [减法] ──→ 差值 e[n] ──→ [量化] ──→ 编码输出 ↑ ↓ │ [预测器] └── 预测值 p[n] ←─┘解码器结构接收差值 ──→ [逆量化] ──→ e[n] ──→ [加法] ──→ 重建值 x[n] ↑ ↓ │ [预测器] └── 预测值 p[n] ←─┘工作流程预测根据历史数据猜当前值求差实际值 - 预测值 差值编码对差值进行编码通常用更少比特更新用实际值更新预测器或用量化后的重建值四、预测器的类型1. 前值预测最简单用上一个值预测当前值预测 p[n] x[n-1] 差值 d[n] x[n] - x[n-1]特点简单适合缓慢变化信号2. 线性预测常用用前面多个值的线性组合预测 p[n] a₁x[n-1] a₂x[n-2] ... aₖx[n-k]特点预测准确需计算系数3. 自适应预测高级预测系数随信号特性变化平稳段用长期统计变化段快速调整特点适应性强效果好五、DPCM差分脉冲编码调制DPCM是最经典的预测编码系统。工作原理语音信号 → [预测器] → 预测值 ↓ 实际值 → [减法] → 差值 → [量化] → 编码量化影响无量化无损压缩如无损音频有量化有损压缩如ADPCM六、ADPCM自适应差分脉冲编码调制ADPCM是DPCM的改进版广泛应用于语音编码。自适应体现在量化器自适应差值大时用大步长差值小时用小步长预测器自适应根据信号特性调整预测系数实际应用电话语音编码32kbps ADPCM对讲机早期多媒体音频七、图像预测编码二维预测图像是二维信号预测可以更聪明当前像素 X已知邻居 A B C D X 预测模式 - 模式1X A水平预测 - 模式2X B对角线预测 - 模式3X (AC)/2平均预测 - 模式4X AC-B平面预测JPEG-LS无损JPEG使用复杂的自适应预测器根据边缘方向选择最佳预测模式。八、视频预测编码视频预测分为两种1. 帧内预测用同一帧内的相邻像素预测当前块 ← 参考上方和左方的像素 预测方向垂直、水平、对角线...2. 帧间预测用前面帧的相似块预测运动补偿当前帧块 ← 参考帧的相似块 运动向量 差值 当前块 - 参考块九、预测编码的优缺点优点✅压缩率高差值动态范围小用更少比特✅利用相关性非常适合连续信号✅实现简单特别是前值预测✅可无损可有损通过控制量化缺点❌误差传播预测错误会影响后续❌对突变敏感剧烈变化时预测不准❌复杂度递进高阶预测计算量大❌需要同步编解码器预测器必须完全一致十、生活中的例子例子1电话语音你打电话时说喂——原始语音每秒8000个采样每个16比特 → 128kbpsADPCM编码32kbps压缩75%还能听清因为语音变化是连续的例子2视频通话你在视频通话中点头大部分背景不变只有头部小范围变化帧间预测只传变化部分例子3GPS轨迹记录你跑步的路线不存每个点坐标存起点 每次移动的差值数据量大幅减少十一、Mermaid总结框图十二、完整例子语音预测编码假设一段语音采样100, 102, 101, 103, 105, 108发送端编码时间 实际值 预测(用上一个) 差值 量化(步长2) 编码 1 100 - 100 100 先传100 2 102 100 2 2 2/21 3 101 102 -1 -1 -1/2≈-0.5→-1 4 103 101 2 2 1 5 105 103 2 2 1 6 108 105 3 3 3/21.5→2 传输100, 1, -1, 1, 1, 2接收端解码收到 重建预测 差值 实际值 100 - 100 100 1 100 2 102 -1 102 -2 100咦和原始101不一样 ...这就是量化造成的误差十三、核心启示不说答案说偏差预测编码的核心智慧预测越准压缩率越高好的预测器是关键量化控制质量可以在压缩率和质量间权衡误差会传播需要小心设计防止误差积累无处不在的应用从电话到视频从语音到图像打个比方不预测像老师让学生抄写整本书存原始值前值预测像老师只说和上一个字一样简单预测自适应预测像聪明的老师根据学生水平调整教学方法高级预测量化像老师允许学生写字稍微潦草点有损压缩预测编码就是这样一个既然能猜对就不说答案只改错的聪明方法