1/4像素运动估计
运动估计的理论基础就是活动图像邻近帧中的景物存在着一定的相关性。因此在压缩编码中不需要传递每一帧的所有信息,而只需要传递帧与帧之间差值就可以了(可以想象,如果画面背景是静止的,那么只需要传递很少的数据)。在视频编码的运动估计步骤中,会查找与当前宏块或者子宏块“长得像”的宏块作为“匹配块”,然后编码传输匹配块的位置(运动矢量,参考帧)和当前宏块与匹配块之间的微小差别(残差数据)。例如下图中,当前宏块中一个“车轮”在参考帧中找到了形状同样为一个“轮子”的匹配块。
四分之一像素内插方式
HEVC的1/4像素内插的方法和H.264是不一样的。H.264首先通过6抽头的滤波器获得半像素点,然后通过线性内插的方式获得1/4像素点。HEVC则在半像素点使用了8抽头的滤波器,在1/4像素点使用了7抽头的滤波器。以上面四分之一像素插值示意图为例,分别记录一下H.264和HEVC各个差值点的计算方法。【H.264像素插值方式】
H.264的水平半像素点q2插值公式为:
q2= round( (A1 – 5*A2 + 20*A3 + 20*A4 – 5*A5 + A6 ) / 32)
PS:垂直半像素点q8,对角线半像素点q10的计算方法是类似的。
H.264的1/4像素点q1插值公式为:
q1=round((A3+q2)/2)
PS:其它1/4像素点的计算方法也是类似的,都是通过整像素点和半像素点线性内插获得。
【HEVC像素插值方式】
HEVC的半像素点q2插值公式为:
q2= round( (–A0 + 4*A1 – 10*A2 + 58*A3 + 17*A4 – 5*A5 + A6 ) / 32)
HEVC的1/4像素点q1插值公式为:
q1= round( (–A0 + 4*A1 – 11*A2 + 40*A3+ 40*A4 – 11*A5 + 4*A6 – A7 ) / 32)
HEVC的3/4像素点q3插值公式为:
q3= round( (A1 – 5*A2 + 17*A3 + 58*A4 – 10*A5 + 4*A6 – A7 ) / 32)
PS:其它1/4像素点的计算方法也是类似的。
转载于http://blog.csdn.net/leixiaohua1020/article/details/46414483