HEVC中一种新的快速两步子像素运动估计算法
运动估计(ME)是视频编码标准中最耗时的部分之一。 随着快速整像素ME算法变得越来越强大,开发快速子像素ME算法非常重要,因为与整像素ME相比,子像素ME的计算复杂度变得相对显着。 本文提出了一种新的快速亚像素ME算法。 该算法首先通过二阶函数逼近子像素位置的误差表面,并通过最小化半像素精度的函数来预测最小点。 然后,对由前一步骤确定的较小区域中的另一个二阶近似进行建模,以预测最佳子像素位置。 实验结果表明,该方法能够显着降低子像素搜索点,且质量下降可忽略不计。
加速子像素ME过程的一种方法是在最佳整数像素点的位置建模误差表面。张景福等。 [4]将误差曲面建模为单峰,并提出了具有五个参数的二阶函数来近似误差曲面。通过最小化二阶函数以及一些再现过程来获得最佳子像素位置。在[5]中,误差表面由具有六个参数的函数近似,并且通过简单的4连通梯度下降搜索找到最佳子像素位置。 Salih Dikbas等人。 [6]引入了一个具有九个参数的函数来模拟误差表面,并通过找到函数的最小位置来定位最佳子像素位置。本文的其余部分组织如下。在第2节中,对现有的子像素模型进行了简要回顾,提出了一种新颖的两步快速亚像素ME算法。为了测试所提出方法的性能,将其与其他代表性方法进行比较,实验结果显示在第3节中。第4节总结了本文。
已经使用了几个表面模型来近似子像素ME过程中的误差表面,包括9项,6项和5项误差模型。在数学上,它们可以写成如下:
其中参数A,B ,.。。 ,我估计给定模型上的整数像素点的RD成本。 RDcost定义如下
其中SAD(m,n)是相对于运动矢量(m,n)的SAD值,R(m,n)是运动矢量的代价,λ是拉格朗日乘数。 9个整数像素点的位置在图1中给出。
在(1)(2)和(3)中,使用不同数量的参数,并且仅通过加法和位移操作[4] - [6]可以获得所有参数。 很明显,(1)和(2)的最小化非常复杂,并且它们的最小位置不能保证在(-1,1)×(-1,1)区域内。 因此,采用了一些技术和最小位置,如穷举搜索或梯度下降搜索[5]。 但是这两种方法都需要大量的乘法,这非常耗时。 相比之下,(3)非常简单,只需要pointsve点来模拟误差表面。 因此,最小化非常容易,并且最小点的位置可以计算为
为了更好地预测最佳子像素位置,提出了一种基于六个整像素点的快速子像素ME算法。 首先,误差表面由具有五个参数的二阶函数建模。 然后,基于第一步中最小位置的位置选择第6个点,并采用另一个五参数函数来估计较小区域内的误差表面。可以从模型中导出新的预测位置。 第二步。 最后,将最终运动矢量设置为最佳整数像素点,最佳半像素点和最佳四分之一像素点之间具有最小RD成本的点。 该算法的流程图在图2中示出,并且下面讨论细节
2.1。 具有五个整像素点的第一近似
该算法的第一步与[4]相同,它使用五个点P0,P1,P2,P3,P4来模拟误差表面:
其中A1,B1,C1,D1,E1只能通过加法和位移操作来解决[4]。 可以通过以下方式获得第一个预测的最佳子像素位置:
设量化(x,y)是将x量化到最近的子像素位置的操作,精度为y(y = 2表示半像素精度,y = 4表示四分之一像素精度)。首先,(x1,y1) 被量化为半像素精度:
如果(x1,y1)被量化为整数像素位置,则应用另一量化以量化(x1,y1)到四分之一像素精度。 然后,量化点和最佳整数像素点之间具有较小RD成本的点将被视为最终运动矢量,并且算法将立即终止。 否则,将采取以下步骤。
2.2。 具有附加整数像素点和半像素点的第二近似
在所提出的方法的第二步骤中,选择一个以上的整数像素点,并且在较小的区域内执行二阶近似。 基于第一预测位置(x1,y1)选择第6个整数像素点。例如,如果(x1,y1)落在图1中的区域1中,则很可能是最佳子像素 位置也落在区域1.然后P5将被选为第6点。 整数像素点P0,P1,P2,P5和半像素点(xQ1,yQ1)用于模拟区域1中的误差表面。通过P5和(xQ1,yQ1)的附加信息,区域内的更好近似 将实现1。 以下推导都是基于(x1,y1)落在区域1中的假设。因为只有五个点可用,所以只能确定具有五个参数的函数:
请注意,(9)的轮廓是一个椭圆,其轴与旋转的x和y轴良好对齐45°。 为简单起见,我们旋转x-y平面并将四个整数像素位置映射到新位置,如图3所示。从数学上讲,这种转换可以写成:
对于每个区域,有三个可能的最佳半像素点。 在区域1中,它们是:( - 0.5,-0.5),(0,-0.5)和(-0.5,0)。 这些点将被映射到变换空间中的对应点Pcor:(0,0),(1,-1)和(1,1)。 转换后的模型(9)变为
用五个点PT0,PT1,PT2,PT5和Pcor代替(xT,yT):
这五个系数只能通过加法和位移操作来解决。 以Pcor =(1,1)为例:
The minimum position of (11) is:
原始空间中的对应点可以通过(10)的逆变换获得:
此外,量化应用于(x2,y2)以获得最佳的四分之一像素点
2.3。 比较并获得最佳位置
最后,在最佳整数像素位置,最佳半像素位置和最佳四分之一像素位置之间进行比较。将选择具有最小RD成本的一个作为最终运动矢量。
本文提出了一种新颖的两步快速亚像素ME算法。 该算法利用6个整数像素点来估计最佳子像素位置。 首先在大区域内对子像素位置的误差表面进行建模,并获得最佳的半像素点。 然后,利用最佳半像素点和一个附加整数像素点的信息,进一步近似小区域内的误差表面,并通过最小化函数获得最佳四分之一像素点。 选择最佳整数像素点,最佳半像素点和最佳四分之一像素点的RD成本最小的一个作为最终运动矢量。实验结果表明,该算法在维持时大大减少了平均搜索点的数量。 传统分层搜索算法的编码性能