基于中心预测的整数像素快速混合搜索方法

文档序号:7684262阅读:155来源:国知局
专利名称:基于中心预测的整数像素快速混合搜索方法
技术领域
本发明属于视频处理方法。

背景技术
近年来,许多学者在降低块匹配运动估计的计算复杂度方面进行了大量的研究,主要集中在开发快速搜索算法上。这些算法大体可分为4类 第一类算法采用均匀分布的搜索点模式,如三步搜索法(TSS)、二维对数法、十字搜索算法等,大大降低了搜索复杂度,但是也降低了运动估计的准确性和视频质量。例如TSS算法搜索时,整个过程采用了统一的搜索模板,使得第一步的步长过大,容易引起误导,从而对小运动效率较低。
第二类算法利用了运动矢量具有的空间分布不均匀特性——中心偏置分布特性,典型的算法有新三步搜索法(NTSS)、四步搜索法(FSS)、菱形搜索法(DS)、六边形搜索等。运动矢量通常总是高度集中分布在搜索窗的中心位置附近,例如NTSS采用中心倾向的搜索点模式不仅提高了匹配速度,而且减少了陷入局部极小的可能性,而采用中止判别技术则大大降低了搜索复杂度,提高了搜索效率;DS算法的特点在于它分析了视频图像中运动矢量的基本规律,选用了大小两种形状的搜索模板。先用大模板搜索,由于步长大,搜索范围广,可以进行粗定位,使搜索过程不会陷于局部最小;当粗定位结束后,可以认为最优点就在大模板周围8个点所围的菱形区域中,这时再用小模板来准确定位,使搜索不致于有大的起伏,所以它的性能优于其它算法。另外,DS搜索时各步骤之间有很强的相关性,模板移动时只需在几个新的检测点处进行匹配计算,所以也提高了搜索速度。此类算法着眼于提高运动较小情况下的搜索功能,但在估计大运动时预测误差仍然较大。
以上两类算法共同的特点都是以搜索窗的中心作为初始搜索中心,并且假设搜索点在接近全局最优点时对应的匹配误差单调下降,当初始搜索中心与全局最优点距离较大时,容易陷入局部极小。
第三类算法利用运动矢量在时域及空域上的相关性来预测运动矢量以选择较好的初始搜索中心,如预测运动矢量场自适应搜索算法、自适应十字架模式搜索算法及改进的预测区域搜索算法等。此类算法旨在利用运动矢量的时空相关性选择一个反映当前块运动趋势的预测点作为初始搜索点,该预测点比搜索窗的中心更靠近全局最优点,更容易满足匹配误差单调性的假设,提高了预测的准确性。但是,此类算法的性能仍然依赖于初始搜索中心预测的可靠性及搜索模板,且与块的局部运动特征密切相关。
第四类算法是利用预测误差的时空相关性及运动活性动态调整搜索范围或中止搜索的算法,典型的算法有具有匹配预判的自适应不规则模板搜索算法、基于时空相关性的自适应搜索范围调整算法、运动自适应搜索算法以及针对新一代视频压缩标准H.264的非对称十字型多层次六边形格点搜索算法(Unsymmetrical-Cross Muti-Hexagon Search,UMHexagonS)等。其中,UMHexagonS算法(Zhibo Chen,Peng Zhou,Yun He,“Fast Integer Pel and Fractional PelMotion Estimation for JVT”.JVT-F017.doc,JVT of ISO/IEC MPEG&ITU-T VCEG 6th MeetingAwaii Island,2002,5-13)采用搜索中心预测、分级搜索和多种搜索模板等策略,并在搜索的过程中引入了中途跳过策略,有效的避免了候选点陷入局部最优的情况,因而能够达到更高的匹配精度。UMHexagonS算法能够在计算复杂度相对于其他算法增加不多的前提下,将编码效率大大提高,是上述算法中综合性能最佳的算法。但该算法搜索路径复杂,搜索模式多样化(包括了非对称十字形、矩形、对称/非对称六边形、菱形),很难设计对应的统一的并行处理结构,因此不适合硬件设计的要求,另外门限的计算过程也过于复杂,不适合于采用硬 件处理,这些都限制了UMHexagonS算法应用于ASIC设计领域。


发明内容
为了克服现有技术UMHexagonS算法复杂、不适合硬件设计的不足,本发明提供一种基于中心预测的整数像素快速混合搜索(CPFMS,Centered Prediction based Fast Mixed Search)算法,在利用运动矢量的时空相关性对最优匹配点位置进行预测的基础上,依次进行“十”字形分布的五点搜索和九点均布的矩形搜索,并在搜索过程中引入搜索截止门限,在保证编码性能的前提下,可以有效的降低H.264运动估计过程的复杂度。
本发明解决其技术问题所采用的技术方案是 第一步、搜索窗中心预测 借鉴UMHexagonS算法中搜索窗中心预测的思想,搜索窗中心预测除了运动矢量的空间域、时间域预测外,结合H.264的变块尺寸和多参考帧运动预测新特性,引入了UpLayer预测和多参考帧预测,另外根据基于中心偏移的快速搜索原理,将零矢量预测也作为一种重要的预测模式作为候选。
对五种预测模式得到的候选点分别计算块匹配失真度(Block Distortion Measure,BDM),选取最小BDM对应的点作为搜索窗中心点。在上述运动矢量的前五种预测方式中,经过实验证明,空间域的预测更为准确,其中UpLayer预测的性能最优,因为这种方式充分利用了不同预测块模式运动矢量之间的相关性。而中值预测性能随着预测块尺寸的减小而增加,这里因为当前块尺寸越小,相关性越小。
在实际应用中,倘若对这些预测模式都执行一遍,计算量和和所耗费的时钟周期都将是一个庞大的数字。同时,如果5种预测模式都执行的话,需要将一帧中所有宏块的所有子块划分模式下的子块对应所有参考帧的运动矢量都存储下来,这无疑又是一个庞大的存储量需求。因此,要全部执行5种预测模式是不可能的,另一方面也没有这样的必要。因为大多数情况下,多种预测模式下得到的多个候选预测矢量都很相近,同时采用多种模式预测会引起很多的重复计算,实际上采用其中的两种或三种模式即可达到预期目标。而且在实际运动估计算法过程中,对于各种情况下的块,并不是每种预测方式都是有效的。例如,对应的块并没有运动矢量,因此相邻帧对应块的预测无法奏效;对于最近的参考帧,不存在多参考帧预测;对于16×16的块Uplayer预测无效等。
基于上述分析,设计了预测模式选择算法,以适应在不同情况下的运动矢量的预测,选择算法如下(1)对于16×8、8×16、8×8尺寸的块仅采用零矢量预测和UpLayer预测;(2)对于4×8、8×4、4×4尺寸的块采用零矢量预测、UpLayer预测和空间域的中值预测;(3)对于16×16尺寸的块,如果对应参考帧1、2、3、4,仅采用零矢量预测和多参考帧预测;(4)对应参考帧0,预测模式在零矢量预测、中值预测、相邻帧对应块的预测三者中进行选择。
第二步、设置搜索门限 在大多数情况下,预测矢量进行择优后总能很好的落在全局最优点附近SAD单调的区域之内。然而会有极少数情况下,预测值与全局最优点偏差较大。如果对当前块的运动矢量预测值与真实的最佳矢量偏差太大,在局部搜索窗内进行有限的搜索会导致陷入局部最小点或边界极值点,影响运动估计精度。因此必须对运动矢量预测是否成功进行有效的判断。最直接的方法是设置一个门限值,以最佳预测矢量对应的点为中心进行搜索而得到的最小SAD与门限比较,如果小于门限则说明SAD已经收敛到一定程度,预测矢量与最优矢量位于同一单调区域内,可以判定预测成功,否则判定预测不成功,需要扩大搜索范围重新进行搜索。在初步判定预测成功的条件下,通过最优点和次优点的SAD与更为严格的门限的比较,可以快速界定搜索方向,从而减少搜索的点数。
在CPFMS算法中,搜索方向快速界定门限T1和预测成功判定门限T2利用块匹配失真SAD的时间域与空间域相关性来计算 T1=SADthrh_1=SADpred(1+β1) (1) T2=SADthrh_2=SADpred(1+β2) (2) 其中SADpred采用Uplayer预测、空间中值预测、相邻帧对应块预测和相邻多参考帧预测四种预测方式得到的SAD择优,选取最小的作为最终的预测值SADpred。调节参数β的值根据实验统计结果来确定。对于16×16(mode 1)、16×8(mode 2)、8×16(mode 3)、8×8(mode 4)、8×4(mode5)、4×8(mode 6)、4×4(mode 7)尺寸的7种块模式,分别有 β1=0.02,0.02,0.02,0.03,0.04,0.04,0.05; β2=0.05,0.10,0.10,0.12,0.125,0.125,0.15。
中途截止门限T3则根据运动补偿残差系数的离散余弦变换DCT的特性,利用直流DC系数的幅值来确定门限。通常DC系数是变换系数块中所有系数幅值最大的,所以如果DC系数量化后为0,则4×4尺寸的模块应为全零块。因此可以用DC系数预测全零块。对于4×4块模式(mode 7),全零块的判断门限定义为 T7=(2qbits-f)/QE[qrem]
<TH7?(2qbits-f)/QE[qrem]TH7 (3) 其中qbits=15+QP/6,而qrem=QP%6,f=(1<<qbits)/6,QE指已定义的量化系数表。QP是量化参数。如果4×4块的SAD小于T7,则可以判断该块为全零块,运动预测搜索至该块对应的点时即可中止。对于其它块模式(mode 1,2,...,6),相应的判断门限定义为 Ti=T7*βi<THi?T7*βiTHi i=1,...,6 (4) 其中βi是比例因子,对大尺寸块按比例放大T7。THi是门限最大值,用于防止全零块误判造成的运动搜索过早截止。因此CPFMS算法的中途截至门限T3设定为全零块的判断门限T3=Ti。
第三步、CPFMS搜索方法步骤 设当前最优匹配点相对于搜索中心点的坐标为(XOPT,YOPT),匹配误差为SADOPT;当前次优点相对于中心点的坐标为(XSOPT,YSOPT),匹配误差为SADSOPT,搜索步骤如下Step1根据中值预测、UpLayer预测、相邻帧预测和多帧参考预测预测的当前宏块运动矢量计算最优预测运动矢量对应匹配点的匹配误差SAD’,如果SAD’<T3,则退出搜索,该匹配点为全局最优匹配点;否则将SAD’和零矢量预测对应的SAD比较,采用误差较小的点作为搜索窗中心点进行步长为2的“十”字形分布的五点搜索,并选择误差较小的点作为第2步的当前最优匹配点。
Step2如果XOPT=0且YOPT=0,则 (1)如果SADOPT>T2,说明全局最优点远离当前最优点,需要增大搜索范围,以当前最优点为搜索中心重新进行步长为2的“十”字形分布的五点搜索; (2)如果SADOPT<T2,且SADOPT<T1,SADSOPT>T1,全局最优点在搜索窗中心附近,以当前最优点为中心点进行步长为1的九点矩形搜索,如图2所示; (3)如果SADOPT<T2,且SADOPT<T1,SADSOPT<T1,全局最优点在搜索窗中心和次优点之间的区域内,以搜索窗中心点(最优点)和次优点之间两点连线中点为中心点进行步长为1的九点矩形搜索,如图3所示。
Step3如果XSOPT=0且YSOPT=0,则 (1)如果SADOPT>T2,说明全局最优点远离当前最优点,需要增大搜索范围,以当前最优点为搜索中心重新进行步长为2的“十”字形分布的五点搜索,如图4所示; (2)如果SADOPT<T2,且SADOPT<T1,SADSOPT>T1,全局最优点在当前最优点附近,则以当前最优点为中心点进行步长为1的九点均布矩形搜索,如图5所示; (3)如果SADOPT<T2,且SADOPT<T1,SADSOPT<T1,全局最优点在当前最优点和次优点之间的区域内,则以搜索窗中心点和最优点之间两点连线中点为中心点进行步长为1的九点均布矩形搜索,如图6所示。
Step4如果当前搜索中心点既不是最优点也不是次优点,则 (1)如果SADOPT>T2或当前最优点和次优点对角分布,说明全局最优点远离当前最优点或搜索到了次优奇点,需要增大搜索范围,以当前最优点为搜索中心重新进行步长为2的“十”字形分布的五点搜索,如图7和图8所示,并回到第2、3、4步构成的循环;否则进行如下步骤; (2)如果SADOPT<T1,SADSOPT>T1,说明全局最优点在当前最优点附近,以当前最优点为中心点进行步长为1的九点均布矩形搜索,如图9所示; (3)如果SADOPT<T1,SADSOPT<T1,说明全局最优点在当前最优点和次优点之间的区域内,以最优点和次优点之间两点连线中点为中心点进行步长为1的九点均布矩形搜索,如图10所示; 在上述搜索过程中的每一步,如果最优点的匹配误差满足SADOPT<T3,当前最优点即为全局最优点,中止搜索即可。
本发明的有益效果是CPFMS算法具有很强的适应性,在小运动、大运动或镜头平移情况下,都能保持优异的压缩性能。与FS算法和UMHexagonS算法相比,具有以下特点 1)亮度信号的PSNR损失较小,对视频重建质量的影响基本可以忽略; 2)比特率增加很小,编码效率基本不变; 3)整数像素精度运动估计的耗时下降明显,提高了编码的速度。
下面结合附图和实施例对本发明进一步说明。



图1是运动矢量预测选择算法流程图。
图2是CPFMS Step2.1的搜索步骤示意图。
图3是CPFMS Step2.2的搜索步骤示意图。
图4是CPFMS Step3.1的搜索步骤示意图。
图5是CPFMS Step3.2的搜索步骤示意图。
图6是CPFMS Step3.3的搜索步骤示意图。
图7是CPFMS Step4.1的搜索步骤示意图。
图8是CPFMS Step4.1的搜索步骤示意图。
图9是CPFMS Step4.2的搜索步骤骤示意图。
图10是CPFMS Step4.3的搜索步骤骤示意图。

具体实施例方式 方法实施例1 在H.264测试程序JM8.0代码中实现CPFMS算法,并与FS算法和UMHexagonS算法相比较来分析本文算法CPFMS的性能。选取5个典型的视频序列,在量化系数QP为18条件下编码100帧进行测试。其中4个测试序列为QCIF格式(176×144),包括Foreman,Carphone,Grandma,Mobile,1个为测试序列CIF格式(352×288)-Bus。所选测试序列具有比较强的代表性,Grandma为小运动或几乎静上序列,Foreman和Carphone为中等运动序列,Foreman的背景是静止的,Carphone则为运动的背景,Mobile和Stefan为大运动序列。测试采用帧频30帧/秒,参考帧取最近的5帧,跳过帧数取0,使用全部7种块模式进行匹配。编码采用IPPP...序列。所有整像素搜索算法的最大可能运动位移均取d=15,码率失真优化模式参数取RDO=0,帧内预测采用全搜索方式。对所有块匹配算法编码后得到的运动估计编码时间(ME time)、平均PSNR和码率进行统计,如表1所示。
表1 QP=18时块匹配算法性能比较 方法实施例2 在H.264测试程序JM8.0代码中实现CPFMS算法,并与FS算法和UMHexagonS算法相比较来分析本文算法CPFMS的性能。选取5个典型的视频序列,在量化系数QP为28条件下编码100帧进行测试。其中4个测试序列为QCIF格式(176×144),包括Foreman,Carphone,Grandma,Mobile,1个为测试序列CIF格式(352×288)-Bus。所选测试序列具有比较强的代表性,Grandma为小运动或几乎静止序列,Foreman和Carphone为中等运动序列,Foreman的背景是静止的,Carphone则为运动的背景,Mobile和Stefan为大运动序列。测试采用帧频30帧/秒,参考帧取最近的5帧,跳过帧数取0,使用全部7种块模式进行匹配。编码采用IPPP...序列。所有整像素搜索算法的最大可能运动位移均取d=15,码率失真优化模式参数取RDO=0,帧内预测采用全搜索方式。对所有块匹配算法编码后得到的运动估计编码时间(ME time)、平均PSNR和码率进行统计,如表2所示。
表2 QP=28时块匹配算法性能比较 方法实施例3 在H.264测试程序JM8.0代码中实现CPFMS算法,并与FS算法和UMHexagonS算法相比较来分析本文算法CPFMS的性能。选取5个典型的视频序列,在量化系数QP为38条件下编码100帧进行测试。其中4个测试序列为QCIF格式(176×144),包括Foreman,Carphone,Grandma,Mobile,1个为测试序列CIF格式(352×288)-Bus。所选测试序列具有比较强的代表性,Grandma为小运动或几乎静止序列,Foreman和Carphone为中等运动序列,Foreman的背景是静止的,Carphone则为运动的背景,Mobile和Stefan为大运动序列。测试采用帧频30帧/秒,参考帧取最近的5帧,跳过帧数取0,使用全部7种块模式进行匹配。编码采用IPPP...序列。所有整像素搜索算法的最大可能运动位移均取d=15,码率失真优化模式参数取RDO=0,帧内预测采用全搜索方式。对所有块匹配算法编码后得到的运动估计编码时间(ME time)、平均PSNR和码率进行统计,如表3所示。
表3 QP=38时块匹配算法性能比较 从表1~表3可以看出,CPFMS算法具有很强的适应性,在小运动、大运动或镜头平移情况下,都能保持优异的压缩性能。与FS相比,具有以下特点 1)亮度信号的PSNR损失平均为0.056dB,最大不超过0.16dB,对视频重建质量的影响基本可以忽略; 2)比特率增加很小,最大不超过3.66%,平均值为0.84%,编码效率基本不变; 3)整数像素精度运动估计的耗时下降明显,对于各种序列,其速度可接近FS的12倍,提高了编码的速度。另外与UMHexagonS算法相比,在重建图像质量和码率接近的情况下,速度提高了1.87倍。
权利要求
1、基于中心预测的整数像素快速混合搜索方法,其特征在于包括下述步骤
(a)采用运动矢量的空间域预测、时间域预测、UpLayer预测、多参考帧预测和零矢量预测进行搜索窗中心预测,对五种预测模式得到的候选点分别计算块匹配失真度,选取最小块匹配失真度对应的点作为搜索窗中心点;
(b)设置搜索方向快速界定门限T1,T1=SADthrh_1=SADpred(1+β1)、预测成功判定门限T2,T2=SADthrh_2=SADpred(1+β2)和中途截止门限T3,T3=Ti;其中SADpred采用Uplayer预测、空间中值预测、相邻帧对应块预测和相邻多参考帧预测四种预测方式得到的最小预测值,对于16×16、16×8、8×16、8×8、8×4、4×8、4×4尺寸的7种块模式,β1=0.02,0.02,0.02,0.03,0.04,0.04,0.05;β2=0.05,0.10,0.10,0.12,0.125,0.125,0.15;T7=(2qbits-f)/QE[qrem]
<TH7?(2qbits-f)/QE[qrem]TH7;其中qbits=15+QP/6,qrem=QP%6,f=(1<<qbits)/6,QE指已定义的量化系数表,QP是量化参数;
(c)进行CPFMS搜索,包括以下步骤
(1)根据中值预测、UpLayer预测、相邻帧预测和多帧参考预测预测的当前宏块运动矢量计算最优预测运动矢量对应匹配点的匹配误差SAD’,如果SAD’<T3,则退出搜索,该匹配点为全局最优匹配点;否则将SAD’和零矢量预测对应的SAD比较,采用误差较小的点作为搜索窗中心点进行步长为2的“十”字形分布的五点搜索,并选择误差较小的点作为第2步的当前最优匹配点;
(2)如果XOPT=0且YOPT=0,则①如果SADOPT>T2,以当前最优点为搜索中心重新进行步长为2的“十”字形分布的五点搜索;②如果SADOPT<T2,且SADOPT<T1,SADSOPT>T1,以当前最优点为中心点进行步长为1的九点矩形搜索;③如果SADOPT<T2,且SADOPT<T1,SADSOPT<T1,以搜索窗中心点和次优点之间两点连线中点为中心点进行步长为1的九点矩形搜索;
(3)如果XSOPT=0且YSOPT=0,则①如果SADOPT>T2,以当前最优点为搜索中心重新进行步长为2的“十”字形分布的五点搜索;②如果SADOPT<T2,且SADOPT<T1,SADSOPT>T1,则以当前最优点为中心点进行步长为1的九点均布矩形搜索;③如果SADOPT<T2,且SADOPT<T1,SADSOPT<T1,则以搜索窗中心点和最优点之间两点连线中点为中心点进行步长为1的九点均布矩形搜索;
(4)如果当前搜索中心点既不是最优点也不是次优点,则①如果SADOPT>T2或当前最优点和次优点对角分布,以当前最优点为搜索中心重新进行步长为2的“十”字形分布的五点搜索,并回到第(2)步构成循环;否则进行如下步骤;②如果SADOPT<T1,SADSOPT>T1,以当前最优点为中心点进行步长为1的九点均布矩形搜索;③如果SADOPT<T1,SADSOPT<T1,以最优点和次优点之间两点连线中点为中心点进行步长为1的九点均布矩形搜索;
在上述搜索过程中的每一步,如果最优点的匹配误差满足SADOPT<T3,当前最优点即为全局最优点,中止搜索即可。
2、根据权利要求的基于中心预测的整数像素快速混合搜索方法,其特征在于所述的步骤(a)对于16×8、8×16、8×8尺寸的块仅采用零矢量预测和UpLayer预测;对于4×8、8×4、4×4尺寸的块采用零矢量预测、UpLayer预测和空间域的中值预测;对于16×16尺寸的块,如果对应参考帧1、2、3、4,仅采用零矢量预测和多参考帧预测;对应参考帧0,预测模式在零矢量预测、中值预测、相邻帧对应块的预测三者中进行选择。
全文摘要
本发明公开了一种基于中心预测的整数像素快速混合搜索方法,采用运动矢量的空间域预测、时间域预测、UpLayer预测、多参考帧预测和零矢量预测进行搜索窗中心预测,对五种预测模式得到的候选点分别计算块匹配失真度,选取最小块匹配失真度对应的点作为搜索窗中心点;设置搜索方向快速界定门限T1、预测成功判定门限T2和中途截止门限T3;根据预测和设置的门限进行CPFMS搜索,寻找全局最优点。本发明具有很强的适应性,与FS算法和UMHexagonS算法相比,亮度信号的PSNR损失较小,对视频重建质量的影响基本可以忽略;比特率增加很小,编码效率基本不变;整数像素精度运动估计的耗时下降明显,提高了编码的速度。
文档编号H04N7/26GK101237580SQ200810017569
公开日2008年8月6日 申请日期2008年2月29日 优先权日2008年2月29日
发明者巍 周, 段哲民, 欣 周 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1