Overview of HEVC之5 帧间预测

预测块(PB)的划分:与帧内预测的CB相比, HEVC为帧间预测的CB提供了更多的PB划分形状;

PART_2N×2N的划分模式表示CB不划分;PART_2N×N的划分模式表示CB水平划分成两个相等尺寸的PB;PART_N×2N的划分模式表示CB垂直划分成两个相等尺寸的PB;PART_N×N的划分模式表示CB划分成四个相等尺寸的PB;但是,只有当CB尺寸等于最小允许的CB尺寸时,这种模式才有效;另外,还有四种划分类型将CB划分成两个不同尺寸的PBPART_2N×nU,PART_2N×nD, PART_nL×2N, PART_nR×2N.这些划分类型被称作非对称运动划分;

分像素插值:对于帧间预测编码块(CB)的预测块(PB)像素是从参考图像--以参考图像索引标记--

的对应块区域得到,这个将会被运动矢量的水平和垂直分量所代替;除了当运动矢量是一个整型值时,利用分数像素内插为非整型值的像素位置产生预测像素。和H.264/MPEG-4 AVC一样,HEVC也支持四分之一亮度像素的MV,对于色度像素来说,MV的精度依据色度像素格式来确定,对于4:2:0像素格式,MV的精度为八分之一像素;

HEVC中,亮度像素的分像素插值应用了两种方法:对半像素使用八阶滤波器;对四分之一像素使用7阶滤波器;这一点和H.264/MPEG-4 AVC是不一样的;H.264/MPEG-4 AVC是用的两步插值处理:先使用六阶滤波器,对中间的结果45,在半像素位置生成一个或两个相邻像素的值;然后在整像素和半像素位置取两个值的平均;HEVC对所有分像素位置使用了独立的插值处理,而不用中间的舍入操作,这种方式提高了精度并简化了分像素插值的架构;而且,在HEVC中,使用更长的滤波器,如七阶和八阶滤波器来提高插值精度,而不是像在H.264/MPEG-4 AVC中用的六阶滤波器;对半像素位置使用七阶滤波器,而不像四分之一插值像素位置使用八阶滤波器,是因为四分之一像素位置更接近整像素位置,因此,在八阶插值中,最远的像素相比半像素情况会更远;

在半像素中,相对于整像素的位置是非对称的;实际上,插值滤波器内核的滤波阶值部分是从DCT基本函数等式中推导出来的;

在图7中,标记为大写字母的位置,Ai,j表示在整像素位置有效的亮度像素;因此,其它的标记为小写字母的位置表示非整数像素位置的像素,它们是需要插值生成的;

a0,j, b0,j, c0,j, d0,0, h0,0, n0,0这些像素都是通过在半像素位置时,使用八阶滤波器,在四分之一像素位置,使用七阶滤波器从像素Aij推导而来,推导等式如下:

等式中,B是参考像素的比特深度,通常为8;滤波器系数值如表II中所示,在这些等式中,>>表示算术右移操作;

像素e0,0, f0,0, g0,0, i0,0, j0,0, k0,0, p0,0, q0,0,and r0,0的值是对垂直相邻的像素位置a0,j, b0,j and c0,j使用如下等式得到的:

B等于8时,插值滤波器是独立的;因此,同一值在水平滤波之前已被垂直滤波计算;如果实现得很好,HEVC的运动补偿处理可以只需要16比特的存储空间;

如果编码器有选择了,那么现在进入权值预测处理;H.264/MPEG-4 AVC支持隐示和显示的权值预测;而在HEVC中,只能使用显示的权值预测;缩放和抵消由编码器明确发送的预测值;然后,预测的比特深度调整到参考像素原始比特深度;在单向预测中,插值预测值被舍入,右移,并切断到原始比特深度;在双向预测中,从两个PB中得到的插值预测值先被相加,然后舍入,右移和切断;

H.264/MPEG-4 AVC中,为了获得每个预测像素(位于四分之一像素位置的像素)需要进行三步的舍入操作;如果是双向预测,在最坏的情况下,需要七步的舍入操作;在HEVC中,最多需要两步舍入操作来得到每个位于四分之一像素位置的像素;因此,对于双向预测,最多只需要五步的舍入操作;而且,对于最通常的情况,比特深度B等于8比特时,在最坏情况下整个舍入操作也只需要三步;由于舍入操作步骤的减少,累积的舍入错误会增加,但对于解码器来说,有了更多的灵活性;

      除了在420色度格式下,分像素的精度为1/8,并且滤波器的阶数是4的情况下,对于色度分量的分像素插值处理和亮度分量是相似的;HEVC对八分之一像素位置定义了一个四阶滤波器集,如表III所示

滤波器的系数filter1[i], filter2[i], filter3[i], and filter4[i] with i = _1,. . . , 2分别对应于色度像素的1/8th, 2/8th, 3/8th, and 4/8th分像素位置的插值;对于对称的5/8th, 6/8th, and 7/8th分像素位置,则使用filter3[1_i], filter2[1_i], and filter1[1_i] with i = _1, . . . ,2的镜像值;

合并模式:运动信息通常由水平和垂直运动矢量的位移值,一个或两个(对于B片,每个参考图像列表都有一个索引)参考图像索引组成;HEVC有一种合并模式可以从空域或时域相邻的块来推导运动信息;命名为合并模式是因为这种方式共享了所有的运动信息来形成一个合并区域;

合并模式在概念上和H.264/MPEG-4 AVC中的directskip模式相似;然而,这两者有两个很大的不同点:首先,它把索引信息传输给从多个有效候选中选择来的一个,这是一种MV竞争方案;其次,它显式地标识了参考图像列表和参考图像索引,而direct模式假定这个的值是相同的;

合并模式中的可能候选者由空域相邻候选者,时域相邻候选者,生成的候选者组成。图8显示

5个空域候选者的位置:

对于每个候选者的位置,依据{a1, b1, b0, a0, b2}这个顺序来检查有效性;如果这个块的位置是帧内预测模式,或是超出了当前片或瓦片,就认为它是无效的;

在对空域候选者验证完成后,下面两种类型的冗余被移除:对于当前PU,如果候选者的位置是同一个CU中的第一个PU,这个位置的候选者被排除;因为同样的合并可以通过不对预测单元进行划分来实现;有着完全相同运动信息的候选都也要被移除;

对于时域候选者,参考图像对应PU外的右下位置,如果有效,则可以用作候选者;否则,使用中心位置来代替;这种选择对应位置PU的方法和以前的编码标准类似;而HEVC只是通过传输一个索引来说明哪个参考图像列表被用作对应参考图像,这样的更灵活;

时域候选者的一个问题是存储参考图像的运动信息需要内存开销;这个问题可以通过限制存储时域运动候选者的粒度来解决,如只允许16x16的亮度网格,即使更小的PB结构被用于参考图像对应位置;另外,一个PPS级标志可以允许编码器关闭时域候选者的使用,这对于易出错传输链路的应用很有用;

在片头定义合并候选者的最大数目C;如果发现合并候选者的数目大于C,则只有前C-1个空域候选者和时域候选者保留;否则,如果合并候选者的数目小于C,需要生成额外的候选者直到数目等于C;这样简化了语法解析,并且使其更健壮;因为解析编码数据的能力不依赖于合并候选者的能力;

对于B片,额外的合并候选者,依据参考图像列表0和列表1预定义的顺序,选取两个存在的候选者来得到;例如,第一个生成的候选者使用列表0第一个合并候选者;而第二个生成的候选者使用列表1第一个合并修行者;HEVC以下面的顺序定义了12个已重建的合并候选者组成预定义对的候选者:(0, 1), (1, 0)(0, 2), (2, 0), (1, 2), (2, 1), (0, 3), (3, 0), (1, 3), (3, 1), (2, 3), (3, 2).在它们中间,在移除冗余后,最多可以用五个候选者;

当当前片为P片或合并候选者的数量仍小于C时,参考索引从0到索引数减一的相应的零运动矢量被用于填充合并候选者列表;

HEVC中,当所有的编码块标志等于零时,skip模式被处理成特别的合并模式,在这种特殊情况中,只有skip标志和对应的合并索引传输给解码器;H.264/MPEG-4 AVC B-direct模式也被合并模式代替,因为合并模式允许所有的运动信息从相邻块空域和时域运动信息中残余编码推导得到;

非合并模式的运动矢量预测:当帧间预测CB不能被编码成skip或合并模式时,MV就使用运动矢量预测值与MV的差来编码;和合并模式类似,HEVC允许编码器在多个预测值候选中选择MV预测值;预测值和实际MV间的差值以及候选者的索引被一起传输给解码器;    

在图8中,依据其有效性,在五个候选中间仅选择两个空域运动候选者;依据它们的有效性,第一个空域运动候选者从左位置{a0, a1}集中产生;第二个空域运动候选者从上位置{b0, b1, b2}集中产生;并且是以这个顺序来搜索;

在非合并模式情况下,HEVC允许用于MV预测处理的候选者个数更少,因为编码端可以通过发送编码后的差值来改变MV;而且,因为编码端要执行需要大量计算资源的运动估计,更少的候选者能降低计算复杂度;

如果相邻PU的参考索引不等于当前的PU时,需要对MV进行缩放;依据当前图像和由相邻PU的参考索引指示的参考图像时域距离,对相邻MV进行缩放;当两个空域候选者有相同的MV分量时,需要移除一个冗余的空域候选者;

MV 预测值个数不等于 2 且时域 MV 预测被有被显示关闭时,就可以使用时域 MV 预测候选者;换句话说,意思是当两个空域候选者都有效时,就不能用时域候选者;最后,零运动矢量可以重复使用直到 MV 的预测候选者为 2 ,这样就保证了 MV 预测值的个数为 2 因此,在MV预测在非合并模式中只需要用一个标志来标识;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值