hevc帧内planer预测模式和角度预测模式

41 篇文章 0 订阅

帧内planer预测模式

planer预测模式适用于纹理相对平缓的图像区域,对于各个编码宏块而言,它不但能保持图像宏块边界良好的连续性。而且可以利用平面梯度信号随像素值的变化趋势而变化,在Planer预测模式下,可以将预测像素Px,y 看作水平,垂直两个方向上的预测值的平均值,如图3-5所示计算方法如下:

Px,yH = (N - x)*R(0,y) + x* R(N + 1,0)

Px,yV = (N-y)*R(x,0) + y * R(0, N+1)

Px,y = (Px,yH + Px,yV + N) >> log2N + 1

 

分别计算Px,yH和Px,yV,然后通过Px,yH和Px,yV计算得到最终的像素点的值Px,y。

当宏块以Planer预测模式进行预测编码时,它右上方和左下方的预测像素值会被编码到信号流中,这两个像素再分别与左侧和上侧的参考像素进行线性差值,中间的预测像素可以通过边界双线性插值获得。

如下图所示为4x4大小的PU的Planer预测模式算法示意图,其中,A,BC,D,E为PU上侧的参考图像,F,G,H,I,J为PU左侧的参考图像,左上角的像素位置作为0点,横轴为X轴,纵轴为Y轴。

利用左上角的参考像素E和左侧的参考像素F,G,H,I 可以推导出来右侧的像素K L M N,即

K = E-F

L = E-G

M = E- H

N = E- l

利用左下角的参考像素J以及上侧的参考像素A,B,C可以推导出下侧的参考像素O,P,Q,R 即。

O = J - A

P = J-B

Q = J -C

R = J -D

 PU第I行像素的预测值的计算方式如下所示,其中,N为当前PU的宽度n = log2N + 1

Px,1 = (N*Rx,0 + N*F + Rx,5 + x * K + N) >>n

PU第2行像素的预测值的计算公式为

Px,2 = (N*Rx,0 + N * G + 2 Rx,5 + x*L + N) >>n

PU第3行像素的预测值的计算式为

Px,3 = (N*Rx,0 + N*H + 3*Rx,5 + x*M + N)>>n

PU第4行像素预测值的计算式为

Px,4 = (N*Rx,0 + N * I + 4 Rx,5 + x*T + N) >>n

角度预测模式

33种角度预测模式可以划分为水平预测模式和垂直预测模式两种,其中,水平预测模式包括模式2~17,垂直预测模式包括模式18~34,每种预测模式都相当于在水平或者垂直方向上进行了一次偏移,不同角度对应偏移值不同。

   如图3-1所示,当前PU中像素的预测值Px,y是通过给定预测方向在1/32像素精度的标准下在参考像素Rx,y中的投影,选取举例该位置最近的两个参考像素进行线性插值运算得到的。以垂直预测方向为例,预测值的计算公式为。

Px,y = [(32 - Wy)*Ri,0 + Wy * Ri + 1,0 + 16] >> 5

其中,参数Wy,Cy与i的计算式分别为

Wy = (y * d)&31

Cy = (y*d)>>5

I = x + Cy

其中,Wy为对应参考像素Ri,0和Ri+1,0之间的投影位置的两个参考样本的加权,d表示当前预测方向参考像素方向的位移,i用于计算参考像素的位置坐标,对于水平预测模式,若要计算PU中像素的预测值,只要把公式中的x,y互换就可以了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值