最近在做RDOQ算法优化和硬件系统结构设计,建立其时序模型,估算算法的硬件复杂度。在做这部分工作的同时,博主学习了HEVC算法所有的算法原理,为了便于形成完整的知识体系结构,将相关的知识点框架总结如下:
一、帧内预测,
利用当前图像内已经编码的像素生成预测值,生成预测值之后,和原始的值相减,得到残差,后续的变换量化等操作就是基于残差进行处理的。
二、帧内预测的大致流程
- 1.遍历所有的预测模式,得到每种模式下的残差信号,再对残差信号进行Hadamard变换计算SATD值
- 2.利用SATD值计算每种预测模式的率失真代价,选取率失真代价最小的几种模式(与PU大小相关)为预测模式集
- 3.将已编码相邻块的预测模式补充到预测模式集中
- 4.遍历模式集合中的所有模式,并对残差信号进行正常编码(熵编码),计算率失真代价
- 5.选取最优的预测模式作为该PU的最优模式
- 6.当亮度块的模式确定之后,把该模式以及DC、planar、水平方向模式、垂直方向模式作为色度块的候选模式,选取最优的模式即可
三、HEVC的帧内预测
-
支持五种大小的PU(PU就是预测单元,由CU分割得来):4x4~64x64
-
每一种PU都有35种预测模式,包括planar模式(模式0) ,DC模式(模式1)和33种角度模式,模式2-17是水平