H264编码标准中为什么需要亚像素数据 在H.264中,为了提高运动估计的精度,除了在整像素级别上进行搜索外,还会在亚像素级别(如1/2像素和1/4像素)上进行搜索,以找到最佳匹配块。在进行亚像素估计时,需要对非整数像素点进行插值计算。H.264标准中定义了多种插值方法,如六抽头滤波器,用于生成1/2像素和1/4像素的插值值。亚像素级别的运动矢量估计可以提高编码的精确度,因为它允许更精细地描述物体的运动。这通常会导致更小的残差和更低的码率,同时保持视频质量。但是,亚像素运动估计的计算成本较高,因为它需要更多的计算来确定最佳匹配块。 亚像素与整像素位置关系 1/2像素处理算法 在x264 中滤波 filter 部分提前计算出来,在x264_frame_filter函数中调用hpel_filter函数(根据不同架构会有不同版本的汇编实现)来实现。x264 中半像素插值算法通过相应整像素点进行 6 抽头滤波得到,权重为(1/32, -5/32,5/8,5/8, -5/32,,1/32)示意图: