第5章 预测

本文深入探讨了视频编码中去除空间和时间冗余的关键技术,包括帧内预测、帧间预测、运动估计等。详细介绍了亮度与色度预测模式、运动模型、匹配准则、快速运动估计方法以及分像素运动估计与补偿。同时,阐述了多参考帧预测、图像分块编码、双向预测编码等策略,并对比了各种编码算法的复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/xkfz007/archive/2012/07/29/2613824.html

1. 预测技术

  • 目的:去除空间冗余和时间冗余。
  • 视频存在大量的空间冗余和时间冗余
    • 空间冗余:用帧内预测编码去除
      • 基于块的帧内预测
    • 时间冗余:用帧间预测编码去除
      • 基于块匹配(Block Matching)的帧间预测
  • 预测后得到去除大部分空间或时间冗余的残差

2. 空间冗余

  • 图像空间相邻像素具有很强的相关性。
  • 帧内预测技术去除空间冗余

3. 亮度预测模式

4. 色度预测模式

5. 时间冗余

  • 视频图像在时间上有较强的相关性,即存在时间冗余
  • 去除时间冗余的编码技术
    • 运动估计(Motion Estimation,ME)
      • 为待编码块搜索最相似的预测块
      • 记录运动矢量(Motion Vector,MV)
      • 记录预测残差:
    • 运动补偿(Motion Compensation,MC)
      • 根据运动矢量获取预测块
      • 根据预测残差计算重构块:

6. 运动模型

(1)平移

7. 匹配准则

8. 匹配准则简化

  • 简化技术方法
    • 分别计算当前块和预测块的象素值和
    • 根据简化形式,比较当前块和预测块
    • 如果用简化准则对预测块和当前块比较的结果比以前最好的结果差,可以确定预测效果不好,不必对预测块再进行比较。

9. 运动估计

  • 去除视频图像的时间冗余
  • 运动估计在搜索范围内为当前块寻找匹配最好的预测块
  • 全搜索方式的运动估计计算复杂度高

10. 全搜索复杂度分析

  • 图像大小:MxM
  • 预测块大小:NxN
  • 搜索范围:(-R,R)
  • 每个搜索点象素比较个数:N2
  • 搜索点个数(2R+1)2
  • 在搜索范围内的象素比较个数总和N2(2R+1)2
  • 一帧图像所有块的全搜索象素比较个数总和N2(2R+1)2(M/N)2=(2R+1)2M2
  • 例:M=512,N=4,R=8,帧率:30帧/秒

    (2R+1)2M2

    =172X5122

    = 75759616次/帧

    = 75759616x30次/秒

    =2272788480次/秒

    采用SSD匹配准则:每次象素比较需1个减法,1个乘法,1个加法,则上述全搜索计算每秒需要2272788480x2次加减法和2272788480次乘法操作。

11. 快速运动估计

  • 在保持预测精度的同时减少运动估计的搜索次数。
    • 三步搜索(Three Step Search,TSS)
    • 二维Log搜索(2D Logarithmic Search,2DLOG)
    • 正交搜索(Orthogonal Search Algorithm,OSA)
    • 十字搜索(Cross Search Algorithm,CSA)
    • 新三步搜索(New Three Step Search,NTSS)
    • 四步搜索(Four Step Search,FSS)
    • 共轭方向搜索(Conjugate Direction Search,CDS)
    • 梯度下降搜索(Gradient Descent Search,GDS)
    • 层次块搜索(Hierarchical Block Matching Algorithm,HBMA)

12. 三步搜索

  • 由粗到精搜索最优点,初始步长为R/2.
  • 第一步:检查起始点和其周围步长为R/2的8个点,将最优点作为第二步的起始点;
  • 第二步:以新的起始点为中心检查其周围步长为R/4的8个点,找到最优点作为第三步的起始点;
  • 第三步:以新的起始点为中心检查其周围步长为R/8的8个点,找到最优点,如果R/8=1则搜索终止,最优点位置的预测块作为最优的预测块,否则重复该过程直到R/n2=1;
  • 三步搜索方法检查点的个数为1+8log2(d+1),当d=8时,检查点个数为9+8+8=25

13. 二维Log搜索

  • 每一步采用十字搜索模式
  • 如果每一步的最优点为中心点或者搜索窗的边界点,搜索步长减半,否则搜索步长不变
  • 当搜索步长为1时,中心点周围的8个点都要检查
  • 两个搜索路径一个需要5+3+3+8=19,另外一个需要5+3+2+3+2+8=23

14. 正交搜索

  • 起始搜索步长R/2,从起始点开始水平搜索三个点,得到最优点并沿着最优点垂直方向搜索相邻的两个点,得到最优点,以搜索步长为R/4再以同样的方式先水平再垂直搜索,当步长为1时停止搜索
  • 搜索方法检查点的个数为1+4log2(d+1),当d=8时,检查点个数为3+2+2+2+2+2=13。

 

15. 十字搜索

  • 起始搜索步长R/2,从起始点开始以"X"形十字搜索,当搜索步长降为1时,如果上一步的最优点为中心点,左上点或右下点,则这一步搜索以"+"形状十字搜索,然后结束搜索,否则还是以"X"形十字搜索,然后结束搜索。
  • 十字搜索方法检查点的个数为1+4log22d,当d=8时,检查点个数为5+4+4+4=17

16. 新三步搜索

  • 与三步搜索方法不同的是,考虑到运动矢量高的中心分布特点,新三步搜索方法,除了围绕起始点为中心搜索步长为R/2的8个点之外,在起始点周围增加了步长为1的8个搜索点,如果最优点为步长为1的8个搜索点之一,则在最优点邻近的三个点中搜索最优点,然后结束搜索,否则,和三步搜索方法过程一样
  • 其中一个搜索路径需要检查点个数为17+3=20,另一个需要17+8+8=33。

 

17. 块梯度下降搜索

  • 该方法以起始点为中心搜索8个步长为1的相邻点,确定最优点,再以最优点为中心搜索8个步长为1的相邻点,如此循环下去,不限制搜索步骤,但当搜索得到的最优点为中心点或者到搜索窗的边界,搜索终止。

18. 层次块搜索

  • 对编码图像和参考图像下采样,分别得到编码图像和参考图像的下采样图像,未经采样处理的编码图像和参考图像属于第0层,一次下采样的编码图像和参考图像属于第1层,对第1层图像再进行下采样得到的编码图像和参考图像属于第2层,依次重复上述过程,得到第n层下采样的编码图像和参考图像。
  • 然后在n层下采样参考图像的搜索范围中找到与下采样编码图像块最佳匹配块的MV,该MV作为n-1层的运动估计搜索范围的中心点,依次重复上述过程,直到n=0为止,此时得到的最佳匹配块就是编码图像的预测块,其对应的MV为最终的最优MV。

19. 搜索算法复杂度比较

20 . 分像素运动估计与运动补偿

  • 时域运动位置更可能在整象素之间,即分像素上。
  • 利用相邻的整象素可以估计出分象素的值
    • 常用线性或双线性插值得到分象素的值。
  • 分象素运动估计有更高的预测精度,但复杂度也更高,
    • 1/2分象素运动估计,图像存储空间增加4倍,运动矢量需要放大2倍,1/4分象素运动估计,图像存储空间增加16倍,运动矢量需要放大4倍,计算复杂度也成倍增加。

 

21. 分像素插值

 

22. 多参考帧预测

  • 有更多的候选图像,搜索更精确的预测块
  • 需要更多的参考图像存储空间
  • 码流需要标识参考帧索引的语法元素

 

23. 图像分块编码

  • 视频内容的运动非常复杂,图像分块编码可以更好的提高运动预测精度,提高压缩效率。
  • 要在编码块大小和附信息(MV,Mode)编码比特数之间权衡,小的编码块大小会有更好的预测但有更多的附信息比特数。

23. 双向预测编码

24. B帧有更好的编码效率

  • B帧有更好的编码效率
    • 新出现的对象参考将来的帧有更好的预测效果
    • 前后两个预测的平均值可以减少预测方差

25. 全局运动估计

  • 基于全局仿射运动模型
  • 预测精度不如基于块的运动估计
  • MV数目少,适合简单运动场景的运动估计

### 关于无人驾驶车辆模型预测控制第5的内容总结 #### 一、节概述 第五主要围绕基于动力学的主动转向控制展开研究,重点探讨如何通过模型预测控制(Model Predictive Control, MPC)实现对无人车的动力学行为的有效管理。该部分内容不仅涉及理论推导,还包括仿真实验验证以及与其他方法的效果对比分析[^3]。 #### 二、核心内容解析 1. **动力学建模** 动力学模型是实施MPC的基础之一。书中采用了一种精确描述车辆横向动态特性的四轮车辆模型,并将其简化为适合实时计算的形式。此过程需考虑轮胎侧偏刚度、质心位置等因素的影响。 2. **控制器设计** 控制器的设计遵循标准MPC框架,定义状态变量(如横摆角速度、侧向偏差)、输入变量(如前轮转角),并构建相应的代价函数来衡量跟踪误差与控制努力之间的权衡关系。特别地,在目标函数中加入了针对控制量变化率惩罚项以提升驾驶平顺性[^4]。 3. **仿真环境配置** 设置初始条件包括但不限于车辆起始坐标(x,y),航向角度ψ及初速v等参数值;同时指定参考路径供后续比较评估使用。此外还需明确边界限制比如最大允许加减速范围或者最小转弯半径等等[^2]。 4. **性能评价指标** 对比不同方案下的轨迹追踪精度、响应时间和能耗效率等方面的表现差异,最终得出结论表明经过改进后的算法能够显著改善整体表现水平相比原始版本有所提高。 #### 三、注意事项说明 需要注意的是原书籍中的某些部分可能存在表述不清甚至错误之处因此读者在实际操作过程中可能遇到一定困难需要自行调整修正才能顺利完成整个流程测试工作。 ```python import numpy as np from scipy.optimize import minimize def mpc_cost_function(u, x_ref, A, B, Q, R): """ 定义用于优化求解的目标函数 参数: u (ndarray): 当前时刻到未来若干采样周期内的控制序列 x_ref (ndarray): 参考轨迹的状态向量 A,B (matrix): 系统离散化后的状态空间矩阵 Q,R (matrix): 权重矩阵 返回: float: 计算得到的成本数值 """ cost = 0 state = np.zeros((A.shape[0],)) for i in range(len(u)): control_input = u[i] # 更新系统状态 next_state = A @ state + B @ control_input error = x_ref[:,i] - next_state # 积累成本 cost += error.T @ Q @ error + control_input.T @ R @ control_input state = next_state return cost ``` 上述代码片段展示了简单的MPC成本函数实现方式,其中包含了对未来一段时间内所有控制动作及其对应产生的状态转移所造成的总损失进行量化的过程[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值