预测编码(Prediction Coding)
是指利用已编码的一个或多个样本值,根据某种模型或方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。
视频中的每个像素看成一个信源符号,它通常与空域上或时域上邻近的像素具有较强的相关性,因此视频是一种有记忆信源
。
预测编码技术通过预测模型消除像素间的相关性,得到的差值信号可以认为没有相关性,或者相关性很小,因此可以作为无记忆信源
进行编码。
视频预测编码的主要思想
是通过预测来消除像素间的相关性;主要分为帧内预测
和帧间预测
。
帧内预测:
利用当前图像内已编码像素生成预测值。
帧间预测:
利用当前图像之前已编码图像的重建像素生成预测值。
参考像素值获取模块对当前CU相邻参考像素是否可用进行判断。H266沿用大范围边界像素
作为当前CU的参考,当参考像素不可用或不存在时使用默认值填充的方式得等到参考像素值。
H266引用多参考行内预测(Multiple Reference Line Intra Prediction, MRLP
)技术,领域像素可选范围扩展到当前CU上侧三行和左侧三列。
得到邻域像素后,进行平滑滤波或差值滤波,引入模式依赖的帧内平滑(Mode Dependent Smoothing,MDIS
)技术,根据预测模式和CU尺寸进行不同的滤波处理。
单参考行像素:
当参考像素不存在或者不可用时(比如图像边界、Slice边界、Tile边界或尚未编码块),H266使用最邻近的像素进行填充,比如下图A的参考像素不存在,则A所有像素都用B的最下方的像素进行填充。
如果所有区域参考像素都不可用,则用固定值填充;公式Mid=1<<(bitdepth-1)
;如果像素比特深度是8,则固定值是128,如果是10,则固定值是512;比如第一个CU的参考像素就是用固定值填充。
多参考行像素:
MRLP技术允许使用邻近的3行(列)参考像素,选择其中的1行(列)生成预测值,对于不存在或者不可用的像素,采用于单行相同的填充方式。
为了平衡性能,仅允许MPM列表中的模式使用MRLP技术。
MDIS 包含3种滤波器。满足条件下的整数平滑滤波、非整像素下的三次差值滤波器、非整数的高斯差值滤波器。
整数平滑滤波:
是否对参考像素进行滤波由当前CU的大小、预测模式等条件,需要同时满足如下表格中的五个条件才能使用平滑滤波。
序号 | 条件 |
---|---|
1 | 参考行限制:预测过程使用单参考行像素 |
2 | 大小限制:当前CU包含像素的个数大于32 |
3 | 仅对亮度分量使用 |
4 | 不使用ISP模式 |
5 | 模式限制:当前CU选择的模式属于Planar模式或者对角模式 |
滤波方法为3抽头滤波器,抽头系数为[0.25, 0.5, 0.25]
。
根据参考像素值,采用特定的预测模式计算待编码CU每个像素的预测值。H266将角度预测模式扩展到了65种,加上DC模式和Planar模式一共67
种模式称为传统预测模式。
针对宽高不等的方形CU,宽角度帧内预测(Wide Angle Intra Prediction,WAIP
)技术表达了更多的预测方向,模式编码扩展[-14, 80]
。
H266还引入了基于矩阵的帧内预测(Matrix-based Intra Prediction,MIP
)技术,借助神经网络离线训练得到的多个权重矩阵生成预测值,对传统预测模式有效补充。
基于像素距离对部分帧内预测模式的预测值进行修正,H266/VVC使用了位置相关的帧内预测组合(Position Dependent Intra Prediction Combination,PDPC
)技术,借助不同位置的参考像素值修正预测值。
帧内编码工具 | 使用限制说明 |
---|---|
MRLP | 仅在MPM模式中使用、禁用PDPC技术、ISP技术不应用 |
MDIS | 仅应用于亮度分量、仅部分模式应用、MIP技术不应用、CCLM技术不应用 |
WAIP | CU宽高比不为1时可以应用 |
MIP | 色度分量受限使用、禁用MDIS技术、禁用MRLP技术、禁用PDPC技术、ISP技术不应用 |
PDPC | 仅部分模式应用、ISP技术受限应用、MRLP技术不应用、MIP模式不应用 |
ISP | 仅应用于亮度分量、禁用MRLP技术、禁用MIP技术、PDPC技术受限应用 |
CCLM | 仅应用于色度分量、禁用MDIS技术、禁用MRLP技术、禁用PDPC技术 |
MPM | 仅应用于亮度编码过程 |
DM | 仅应用于色度编码过程 |
JVET输出文档:
https://www.itu.int/wftp3/av-arch/jvet-site/
书籍:
新一代通用视频编码H266/VVC:原理、标准与实现[万帅 霍俊彦 马彦卓 杨付正/著]
本系列博客主要是对《新一代通用视频编码H266/VVC:原理、标准与实现》
的学习笔记。