专门做排行的网站,wordpress站长地图,舟山建设信息港门户网站,软件ui设计培训学校帧间预测编码简述 帧间预测利用视频时间域的相关性#xff0c;使用邻近已编码图像像素值预测当前图像的像素值#xff0c;能有效去除视频时域冗余。 目前主要的视频编码标准中#xff0c;帧间预测都采用基于块的运动补偿技术#xff0c;不同的编码标准有不同的分块方式。 …帧间预测编码简述 帧间预测利用视频时间域的相关性使用邻近已编码图像像素值预测当前图像的像素值能有效去除视频时域冗余。 目前主要的视频编码标准中帧间预测都采用基于块的运动补偿技术不同的编码标准有不同的分块方式。 为当前图像的每个像素块在之前已编码图像找到一个最佳匹配块这个寻找过程就称为运动估计Motion EstimationME。 用于预测的图像被称为参考图像或参考帧Reference Picture 最佳匹配块到当前块的位移被称为运动矢量Motion VectorMV 当前块与参考块的像素差值被称为预测残差Prediction Residual MV和预测残差信息会编入码流并传递到解码端。 为当前块在参考图像中寻找一个最佳匹配块需要一个准则来判定两个块的匹配程度这个准则就称为运动估计准则常见有最小均方误差MSE、最小平均绝对误差MAD、最大匹配像素数MPC、绝对误差和SAD等。 运动估计搜索是根据匹配准则寻找最优匹配块并获得最优MV的过程常见搜索算法有全搜法、对数搜索法、三步搜索法、UMHexagonS算法、TZSearch算法等等。 在解码端从码流中解析出运动信息后将根据MV得到的参考块作为当前块预测值的过程称为运动补偿Motion CompensationMCMC得到的预测值加上传输到解码端的预测残差就得到了最终的重建值。 编解码端需要确保参考信息的一致即使用重建后的已编码图像作为参考图像因此MC和重建图像过程是编解码端都会实施的步骤。 相邻图像间物体的运动不一定是以整像素为基本单位的因此将运动估计的精度提升到亚像素级别可以提高运动估计的精确度因此亚像素精度运动估计需要对参考像素进行插值操作。
H266/VVC帧间预测编码关键技术
概述
MV的预测及获取新增加的技术
基于历史MV预测History-based MV MredictionHMVP的候选、联合帧内帧间预测技术Combined Inter and Intra PredictionCIIP、带有运动矢量差的Merge技术Merge-Mode with MVDMMVD 、几何划分帧间预测技术Geometric Partitioning ModeGPM、对称运动矢量差分编码Symmetric MVD CodingSMVD、CU级的自适应运动矢量精度Adaptive Motion Vector ResolutionAMVR、基于子块的时域MV预测Sub-block Temporal Motion Vector PredictionSuTMVP 、仿射运动补偿预测Affine Motion Compensated PredictionAMCP、解码端运动矢量细化Decoder Side Motion Vector RefinementDMVR等等。
运动补偿新增加的技术
片级加权运动补偿WP、CU级权重的加权补偿Bi-Prediction with CU-Level WeightBCW、双向光流Bi-Directional optical Flow, BDOF、光流预测细化Prediction Refinement with Optical FlowPROF等等。
帧间编码信息的存储
参考像素MV存储以8x8的尺寸粒度实施通过类似科学技术法的方式对MV进行压缩存储18比特降低到10比特表示。
亚像素插值
H266/VVC采用双线性插值方法插值滤波器为一维滤波器按照先水平方向后垂直方向的顺序完成二维亚像素插值。
亮度分量最高支持1/16像素精度插值统一为8抽头滤波器由基于离散余弦变换的滤波器生成。 色度分量最高支持1/32像素精度插值统一使用4抽头滤波器水平、垂直滤波器系数分别由水平、垂直方向的缩放因子决定。
Merge模式
Merge模式不需要传输MVD和参考帧索引是一种高效的MV编码方法。H266保留了常规Merge模式的同时还引入了CIIP、MMVD、GPM、SbTMVP、仿射Merge等技术。
常规Merge模式
常规Merge模式 直接将MVP运动矢量信息参考图像索引、运动矢量作为当前CU运动矢量信息的帧间编码方式。
Skip模式
Skip模式 是Merge模式的特例直接使用MVP信息作为当前CU的运动矢量不编码MVD信息和预测残差信息。
CIIP
CIIP联合帧内帧间预测模式Combined Inter and Intra Prediction CIIP是联合帧内预测和帧间预测利用帧内预测值和帧间预测值的加权平均值得到当前CU预测值的技术。
MMVD
MMVD Merge模式直接利用MVP作为当前CU的运动矢量信息是运动矢量的高效编码方式。然而视频相邻空域、时域区域CU也会有不同的运动特性常规Merge模式降低了MV的编码比特数但也可能因为不准确的MV造成更大的预测残差。为了权衡运动矢量的准确性和编码比特数H266引入了一种带有运动矢量差的Merge技术MMVD。
GPM
GPM 实际视频内容多种多样当运动物体具有非水平或垂直边缘时常规矩形CU并不能有效匹配预测表达不够高效。针对此问题H266引入几何划分帧间预测模式Gemetric Partitioning ModeGPM允许使用非水平或垂直直线对矩形CU进行划分每个子区域可以使用不同的运动信息进行运动补偿从而提高了预测准确度。 在H266中GPM的运动信息采用Merge方式编码因此也归类为Merge扩展模式。
AMVP
常规AMVP
常规AMVP 是针对运动矢量信息的差分编码技术该模式利用空域、时域上运动矢量的相关性为当前CU建立MVP候选列表。与Merge不同编码端为当前CU建立MVP候选列表针对不同的参考图像构建得到的MVP列表可能不同常规AMVP需要编码参考帧索引、MVP列表索引、MVD。
SMVD
SMVD 在实际场景中物体的运动在短时间内时匀速的对于双向预测并且参考帧位于当前帧两侧的情形前后向运动矢量可能具有对称一致性。因此H266采用对称运动矢量差分编码Symmetric MVD CodingSMVD模式只编码前向MVD后向MVD则根据对称一致性推导得到。
AMVR
AMVR 提高运动矢量精度有利于提高运动补偿效果而运动剧烈场景则需要更大的运动矢量范围同时在提高运动矢量范围和精度时编码运动矢量需要更多的比特数。H266兼顾运动矢量和精度引入CU级的自适应运动矢量精度Adaptive Motion Vector ResolutionAMVR技术该技术允许每个CU自适应选择一种精度表示MVD最高精度为1/16亮度像素最低精度为4亮度像素。
基于子块的帧间预测模式
除了平移运动视频内容还包括旋转、缩放、拉伸等运动。 为了有效表示此类运动传统编码须采用较小的 CU以便使用不同的运动信息对不同小CU进行运动补偿。虽然不同小区域甚至像素具有不同的运动但它们却具有相同的运动模式。因此利用基于子块的帧间预测模式将CU划分成多个子块利用CU的运动信息按照一定规则得到每个子块不同的运动信息可以节省表示此类运动信息所需的比特殊。基于子块的帧间预测模式包括基于子块的时域运动矢量预测技术(SbTMVP)和仿射运动补偿技术。
SbTMVP 基于子块的时域运动矢量预测技术使用同位图像ColPic中参考块的运动信息直接得到当前CU子块的MV信息。
仿射运动补偿技术 包括仿射Merge模式和仿射AMVP模式。
解码端运动矢量细化
DMVR Merge模式可以高效表示运动矢量信息但可能会导致其运动矢量并非使参考块与编码块最匹配。为了改进Merge模式下MV的精确性进一步减少预测残差H266采用了一种基于双边匹配的解码端运动矢量细化技术Decoder-Side Motion Vector Refinement, DMVR。
基于光流场的预测值修正
光流 是指视频帧内容在时域上的瞬时运动速度即像素在时间域上的运动速度。视频中的时间间隔较短的两帧光流也表现为同一目标点在两帧之间的位移即像素的运动矢量。
计算光流对于时域邻近的视频帧同一目标在不同帧上的亮度通常不会发生变化而且运动距离很小因此可以利用图像帧中像素亮度在时间域上的变化及像素空域相关性计算视频帧之间的像素运动信息即光流。
基于光流的预测值修正 当前像素值可以根据参考像素值对应位置、光流值、空域梯度得到。当运动补偿中运动矢量存在较小误差时可以计算运动矢量误差光流值对预测值进行补偿。称为基于光流的预测值修正。
BDOF 采用双向运动补偿的帧间编码块可以利用前向预测参考块和后向预测参考块得到一致性估计前向预测参考块和后向预测参考块间的光流作为运动矢量的修正值这技术称为双向光流Bi-Directional Optical Flow BDOF。
基于光流的仿射预测修正 在H266中仿射运动补偿技术仿射Merge模式、仿射AMVP模式以4x4子块为处理单位每个4x4子块拥有一个共同的运动矢量而仿射运动区域每个像素的运动矢量都不同导致每个像素点的亮度补偿值可能有少许偏差。针对采用仿射运动补偿的编码块光流预测细化Prediciton Refinement with Optical Flow, PROF技术为4x4子块的每个像素计算光流补偿值即像素运动矢量与子块运动矢量的差值然后根据光流计算公式计算每个像素的亮度补偿值。
帧间加权预测
H266/VVC采用Slice级加权预测和CU级加权预测Bi-Prediction with CU-Level Weight BCW。Slice级加权预测所有CU共用同一组参数归为显性Explicit预测BCW每个CU利用索引确定加权值归为默认加权当不使用加权与测试时归为默认加权。
光照强弱出现变化时视频中同场景会出现全局或局部的亮度变化如拍摄的光圈变化人为剪辑的淡入淡出等传统的运动补偿得到的残差较大Slice级加权预测可以有效应对此种场景。Slice级加权预测通过对参考图像的重建像素值做一个线性变换得到预测值。
针对采用双向预测的CUH266引入了CU级双向加权预测BCW技术仅仅使用少量预定义的权值并编码器索引。
帧间预测模式组织结构 参考
JVET输出文档 https://www.itu.int/wftp3/av-arch/jvet-site/ 书籍 新一代通用视频编码H266/VVC原理、标准与实现[万帅 霍俊彦 马彦卓 杨付正/著]
备注
本系列博客主要是对《新一代通用视频编码H266/VVC原理、标准与实现》的学习笔记。