预测编码技术
预测编码(Prediction Coding)
是指利用已编码的一个或多个样本值,根据某种模型或方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。
视频中的每个像素看成一个信源符号,它通常与空域上或时域上邻近的像素具有较强的相关性,因此视频是一种有记忆信源
。
预测编码技术通过预测模型消除像素间的相关性,得到的差值信号可以认为没有相关性,或者相关性很小,因此可以作为无记忆信源
进行编码。
视频预测编码的主要思想
是通过预测来消除像素间的相关性;主要分为帧内预测
和帧间预测
。
帧内预测:
利用当前图像内已编码像素生成预测值。
帧间预测:
利用当前图像之前已编码图像的重建像素生成预测值。
H266/VVC帧内预测编码过程
参考像素获取
参考像素值获取模块对当前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]
。
三次插值滤波器:
在非整像素可以保留更多的细节纹理,满如条件中(使用了MRLP技术或ISP技术、
、使用了Planar模式或对角模式
、 Dist~min~ <=Thr[n]
)其中一个即可使用。
高斯插值滤波器:
滤波效果更加平滑,应用更加广泛,不满足三次插值滤波器时使用。
预测值计算
根据参考像素值,采用特定的预测模式计算待编码CU每个像素的预测值。H266将角度预测模式扩展到了65种,加上DC模式和Planar模式一共67
种模式称为传统预测模式。
针对宽高不等的方形CU,宽角度帧内预测(Wide Angle Intra Prediction,WAIP
)技术表达了更多的预测方向,模式编码扩展[-14, 80]
。
H266还引入了基于矩阵的帧内预测(Matrix-based Intra Prediction,MIP
)技术,借助神经网络离线训练得到的多个权重矩阵生成预测值,对传统预测模式有效补充。
Planar模式:
编号0,适用于像素值缓慢变化的区域,其预测像素可以看成是水平、垂直两个方向预测值的平均值。
DC模式:
编号1,适用于大面积平坦区域,DC模式需要计算出当前CU左侧及上方参考像素的平均值。
传统角度模式:
位于-135°~45°内,水平类模式编号为2 ~ 33,垂直类编号34 ~ 66;每种角度预测模式都相当于在水平或垂直方向做了角度偏移,如下表。
宽角度预测模式:
在H266中,二叉树划分和三叉树划分都会导致非方形CU的出现,传统的角度模式范围可能会限制非方形CU对参考像素的选择。相应的角度偏移如下表。
针对非方形CU,增加宽角度预测模式后,仍使用65重候选角度预测模式,即增加的宽角度预测模式替换了部分传统角度预测模式;一般会根据宽高比来替换不同的传统角度编号。
基于矩阵的预测模式:
传统预测模式及宽角度预测模式都是以像素映射或线性渐变方式计算预测值,无法对不规则纹理做出有效的预测。H266标准使用了MIP技术,采用离线训练神经网络的方法,得到多个固定的权重矩阵,进而利用权重矩阵计算预测值。
参考像素经过处理后得到输入向量,输入向量与权重矩阵相乘得到输出向量,经过进一步排列和上采样得到待编码CU的预测值,如下图流程。
预测值修正
基于像素距离对部分帧内预测模式的预测值进行修正,H266/VVC使用了位置相关的帧内预测组合(Position Dependent Intra Prediction Combination,PDPC
)技术,借助不同位置的参考像素值修正预测值。
该技术将参考像素与预测像素之间的距离作为权重计算修正值,再与预测值加权计算的得到最终的预测值,该过程称为预测值修正
。
PDPC技术仅对部分预测模式进行修正,具体包括Planar模式
、DC模式
、编号[2, 18]
和编号[50, 66]
内的角度预测模式。
帧内子区域划分(Intra Sub-Partitions, ISP)技术
ISP技术旨在充分利用与待预测像素距离相近的参考像素进行预测。根据编码块得到大小,将亮度帧内预测块垂直划分或水平划分为若干个子区域,并按照从左到右、从上到下的额顺序依次进行编码及重建。
ISP技术使得帧内预测编码可以基于CU子区域进行,前一个子区域编码之后的重建像素为下一个子区域提供参考,各子区域共用同一种帧内预测模式。
分量间线性模型预测(Cross-Component Linear Model Prediction, CCLM)技术
在H266中,CU色度分量进行预测编码前,亮度分量已经完成编码获得亮度重建值,因此亮度分量可以作为色度分量预测的参考信息。CCLM技术通过参考像素的亮度重建值和色度重建值建立分量间线性关系,根据待预测像素的亮度重建值计算色度预测值,过程如下图。
亮度分量的最可能模式(Most Probable Mode,MPM)技术
MPM技术充分利用相邻块预测模式之间的相关性,来进行亮度预测模式的编码。
色度分量亮度派生模式(Derived Mode,DM)技术
针对色度预测模式编码,H266使用了DM模式,即直接使用对应位置的亮度预测查模式信息。
H266/VVC帧内预测编码工具使用限制条件
帧内编码工具 | 使用限制说明 |
---|---|
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:原理、标准与实现》
的学习笔记。