预测编码原理
一幅图像内邻近像素之间有着较强的空间相关性,相邻图像之间也有很强的时间相关性;
预测编码(Prediction Coding)
是指利用已编码的一个或几个样本值,根据某种模型或者方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。
将视频中的每一个像素堪称一个信源符号,它通常与空域上或时域上邻近的像素均具有较强的相关性,因此视频是一种有记忆信源。
联合编码
和条件编码
是两种有记忆信源的有效编码方式。
预测编码技术可以理解成一种特定的条件编码,其利用特定的预测模型反应像素间的依赖关系。
视频预测编码的 主要思想
是通过预测来消除像素间的相关性。
帧内预测编码
帧内预测编码
是指利用视频空间域的相关性,使用当前图像己编码的像素预测当前像素,以达到去除视频空域冗余的目的,然后将预测残差作为后续编码模块的输入,进行下一 步编码处理;
为了选择最合适的帧内预测模式,h264使用拉格朗日率失真优化RDO
进行模式选择,为每一种模式计算其拉格朗日代价;
4x4和8x8模式包含9种预测模式,16x16模式包含4种预测模式;
4种模式:
水平、垂直、DC(所有参考像素的均值)、Plane(水平、垂直的线性滤波器)9种模式:
垂直、水平、DC、左下对角线、右下对角线、垂直向右、水平向下、垂直向左、水平向上
帧间预测编码
帧间预测
是指利用视频时间域的相关性,使用邻近己编码图像像素预测当前图像的像素 ,以达到有效去除视频时域冗余
的目的。
视频序列通常包括较多的时城相关性,因此预测残差通常是“ 平坦的”,即很多残差值接近于“0” 。将残差信号作为后续模块的输入进行变换
、量化
、 扫描
及熵编码
,可实现对视频信号的高效压缩。
目前主要的视频编码标准帧间预测部分都采用了 基于块的运动补偿技术
。
运动估计ME
为当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(Motion Estimation,ME)
,所谓的 ME 就是提取当前图像运动信息的过程。
用于预测的图像就称为参考图像(reference frame)
。
图像中准确分割出运动物体和背景是困难的,最直接的是基于像素为每个像素指定一个运动向量,但复杂度太高,另外一种是基于区域的又很难完全表征出不规则物体出来。所以目前更多的是基于块的运动表示法
,属于基于像素和基于区域的折中方案;
运动估计准则:
主要有最小均方误差MSE、最小平均绝对误差MAD、最大匹配像素数MPC、绝对误差和SAD、最小变换域绝对误差和SATD。
运动向量MV
参考块到当前像素块的位移称为 运动向量(Motion Vector,MV)
。
当前像素块鱼参考块的差值称为 预测残差(Prediction Residual)
。
MVD = MVc - MVp
,MVc表示当前编码块,MVp表示已编码块,MVD表示二者的差值。
MVp(MV预测)
使用相邻已编码块对当前块MV进行预测,将二者差值进行编码,将会大幅节省编码MV所需要的比特数。
主要分为空域预测
、时域预测(主要针对B slice)
;
h264规定了7种大小的运动补偿块:16x16
、16x8
、8x16
、8x8
、8x4
、4x8
、4x4
;并且一个宏块 MB内部允许存在不同大小块的组合。
搜索算法
ME的运算复杂度通常较高,寻找高性能、低复杂度的运动搜索算法显得尤为重要。
还需要亚像素搜索,即1/2
、1/4
、1/8
等(色度为 1/8 像素精度),所以需要对参考像素进行性插值。
半像素用了6抽头滤波器
,1/4在半像素基础上得到。
多参考图像和加权预测
h264标准最多支持15 个参考帧
。
权衡编码效率和编码时间,一般推荐采用4~6个参考图像
。
加权预测
表示预测像素可以用一个或两个参考图像中像素通过与加权系数相乘;加权预测适用于两图像之间像素整体变化且有相同变化规律的情形,如淡入、淡出等效果,h264 主要有 explicit、implicit 两种加权预测。
h265帧内预测
亮度帧内预测模式
5种大小的PU:4x4、8x8、16x16、32x32、64x64。
每一种PU都对应35种预测模式
,Planar模式、DC模式和33种角度模式,所有预测模式都使用相同的预测模板。
h265新增左下方块的边界像素作为当前块的参考,因为h265以四叉树形的编码结构使得这一区域成为可用像素。
帧内编号0:
Planar模式;帧内编号1:
DC模式;帧内编号2~17:
水平类模式;帧内编号18~34:
垂直类模式
Planar模式
适用于像素值缓慢变化的区域,与其他模式相比能够提升视频的主观质量,使用水平和垂直方向两个线性滤波器,将其二者平均值作为当前像素的预测值;;
DC模式
适用于大面积平坦区域,使用左侧和上方的参考像素的平均值;
亮度模式的编码
相邻块的帧内预测模式相同或者相似的概率较大,如果将每个PU的预测模式独立进行编码则会带来不必要的冗余;
h265建立帧内预测模式候选列表candModeList,表中有3个候选预测模式
,用来存储相邻PU的预测模式,如果当前PU最优模式在候选列表里,只需要编码在列表里位置即可,若不在,需要遍历比较,编码最终值;
色度模式的编码
5种模式:
Planar模式、垂直模式、水平模式、DC模式以及对应亮度分量的预测模式,若对应亮度分量的预测模式为前 4 种模式中的一种,则将其替换成角度模式 34。
h265 直接对色度模式编号进行编码,编码规则:
(1). 对应亮度预测模式不是前 4 种模式中的一种,则直接对模式编码进行编码,模式编号:0–Planar 模式、1–垂直模式、2–水平模式、3–DC 模式、4–对应亮度分量模式;
(2). 对应亮度预测模式是前 4 种模式中的一种,分两种情况编码;
(a) 最优色度模式与亮度模式相同,则色度模式为模式 4;
(b) 否则,按照下面表格不同的组合推断出色度模式编码;
帧内预测过程
35种预测模式是在PU的基础上定义,而具体帧内预测过程的实现则是以TU为单位。
h265标注规定PU可以以四叉树形式划分TU,且一个PU内的所有TU共享同一种预测模式。
预测过程:
判断当前TU相邻参考像素是否可用并做相应的处理、对参考像素进行滤波、根据滤波后的参考像素计算当前TU的预测像素值。
如果所有参考区域参考像素都不可用,则参考像素都用固定值填充,固定大小为 128(8Bit)/512(10bit)。
Planar模式下,对于4x4 TU,参考像素不需要进行滤波,其他情况,参考像素都需要进行滤波。
参考像素滤波分为常规滤波
和强滤波
,常规滤波与 h264 相同,强滤波只正对 TU 32x32,同时满足一定的阈值判断。
h265帧间预测
运动估计
基于块运动补偿的视频编码框架中,运动搜索
是最为重要的环节之一,同时也是编码端最耗时的模块。
TZSearch算法
是h265中出现的新技术,相比全搜算法,运动搜索时间仅为全搜索算法的 1/5,性能略下降,相同 PSNR 下比特率仅仅增加了 0.45%。
以AMVP
技术来计算起搜点。
亚像素精度运动估计
实际场景中,由于物体运动的距离不一定是像素的整数倍,因此需要将运动估计得精度提升到亚像素级别。
h265中亮度的半像素采用基于DCT的8抽头滤波器
生成。
h265中亮度的1/4、3/4像素采用基于DCT的7抽头滤波器
生成。
h265中色度需要达到1/8精度,采用基于DCT的4抽头滤波器
生成;
经过亚像素插值之后,所有像素值都被放大为原来的 64 倍
,主要目的是在中间过程中保持一定的精度。
MV预测技术
h265在MV的预测方面提出两种新技术------ Merge技术
和AMVP技术
;
Merge和AMVP区别
Merge可以看成一种编码模式
,在该模式下,当前PU的MV直接由空域 (或时域)上邻近的PU预测得到,不存在MVD
。
AMVP可以看成一种MV预测技术
,编码器只需要对实际MV与预测MV的差值进行编码,因此是存在MVD的
。
二者候选MV列表长度不同, 构建候选MV列表的方式也有所区别。
Merge模式
将以往的跳过预测模式 skip mode 和直接预测模式 Direct mode 的概念进行了整合,采用 Merge 模式时,当前 PU 块的运动信息(包括 MV、参考索引、预测模式)都可以通过相邻 PU 的运动信息推到得到;编码时,当前 PU 块只需要传送融合标记 Merge Flag以及融合索引 Merge Index,无需传送其运动信息
。
为当前PU建立一个MV候选表,表中存在5个候选MV及对应的参考图像,遍历5个候选MV并进行率失真代价计算,选择最小作为该模式下最优MV。
编码器只需要传输最优MV在候选列表中的索引即可,大幅节省了运动信息的编码比特数。
MV候选列表包含空域和时域,空域提供最多4个候选MV,时域最多提供1个候选MV,时域候选列表不能直接使用候选块的运动信息,需要根据于参考图像的位置关系做相应的比例伸缩调整。
候选列表不够5个的时候,需要使用(0,0)进行填补达到规定的数目。
AMVP模式
高级运动向量预测(Advanced Motion Vector Prediction,AMVP)
利用空域、时域上运动向量的相关性,为当前PU建立候选预测MV列表,选择最优预测MV,进行差分编码。
解码端通过建立相同的列表,仅需要运动向量残差MVD与预测MV在该列表中的序号即可计算出当前PU的MV。
AMVP候选MV列表包含空域和时域,列表长度为2。
过程:
空域MV列表5个里选择2个,时域MV列表2个里选择1个,再合并相同的MV,填补(0,0),保留候选列表中的前2个MV,选择最优MV;
加权预测
修正P slice或B slice中运动补偿预测像素。
两种加权预测方法:默认加权预测、Explicit加权预测。
PCM模式
该模式下,编码器直接传输一个CU的像素值,不经过预测、变换等操作,同理,解码端可以直接恢复当前CU的像素值。
主要适用于图像内容极其不规则或量化参数非常小,该模式与传统的帧内–变换–量化–熵编码相比,编码效率可能会更高,此外 PCM还适用无损编码情形。文章来源:https://www.toymoban.com/news/detail-467441.html
参考
新一代高效视频编码H.265HEVC原理、标准与实现 [万帅,杨付正 编著] 2014年版.
T-REC-H.265-202108.文章来源地址https://www.toymoban.com/news/detail-467441.html
到了这里,关于HEVC预测编码介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!