基于双极性场的运动估计的运动补偿去隔行方法及系统与流程

文档序号:14943024发布日期:2018-07-13 21:33

本发明涉及视频图像处理领域,特别是涉及一种基于双极性场的3DRS(3-Dimension Recursive Search,三维递归搜索)运动估计的运动补偿去隔行方法及系统。



背景技术:

基于隔行扫描(Interlaced Scanning)的视频信号的传统电视系统从20世纪30年代出现到现在已经沿用了数十年,现在大部分的视频系统主要都以PAL(Phase Alteration Line,逐行倒相),NTSC(National Television Standards Committee,国家电视标准委员会)制式来记录或者转换视频。隔行扫描技术就是把每一帧图像分割为顶场(Top Field)和底场(Bottom Field)进行隔行显示场图像,隔行扫描的行扫描频率为逐行扫描频率的一半,视频信号的频谱以及传送视频信号的信道带宽也是逐行扫描的一半。由于视觉暂留效应,人眼将会看到平滑的运动而不是闪动的半帧图像,这就在主观认为图像质量下降不多的情况下,有效的增加了信道的利用率,由于早期通信技术不发达,为了节省有限的带宽,在传统的模拟信号电视中普遍采用隔行扫描的技术。但是,隔行扫描有一些缺点:运动物体模糊、边界闪烁、羽化、画面抖动、斜边有锯齿等缺陷现象。

随着数字电视和高清晰度电视技术的发展和成熟以及人们对视频质量要求的逐步提高,逐行扫描方式已经成为数字电视扫描方式的首选方案,当前新型的平板显示终端也都是支持逐行扫描的显示器件。但是在此之前遗留了大量的以隔行扫描方式记录的视频文件,因此就需要将其转换为逐行扫描的视频文件,去隔行技术就是将隔行扫描信号转换为逐行扫描信号的一种视频格式转换技术。

目前,去隔行技术主要分为三大类:基于空域2D插值技术的去隔行、基于时域2D插值技术的去隔行以及基于时空域3D插值技术的去隔行。空域2D插值就是通过场内信息还原待处理像素点;时域2D插值就是利用不同场之间的相关性还原图像;时空域3D插值就是综合利用场间和场内信息进行插值,其算法主要有:内容自适应、运动自适应和运动补偿等算法,其中运动补偿算法能很好的保留运动物体的时域和空域细节,是目前最先进的去隔行算法。

一方面,很多视频处理技术中都会用到运动估计(Motion Estimation)来寻找正确的运动矢量(Motion Vector),比如MPEG-2视频帧间预测编码中的运动补偿,以及去隔行处理当中的运动补偿去隔行。所谓运动估计,是寻找与当前处理的块匹配(Block Match)最好的参考块。目前采用最多的是全搜索(FS),另外还有三步法(TSS),四步法(FSS),钻石法(DS),多层金字塔3DRS等快速算法。但是这些算法都有缺陷,全搜索计算复杂度太高;三步法(TSS),四步法(FSS),钻石法(DS)收敛速度慢;而多层金字塔3DRS计算复杂度高,需要多层反复搜索才能达到一定的收敛速度。

另一方面,目前市场上的运动补偿去隔行方法,首先在同极性场(连续相邻的顶场-顶场或者底场-底场)内做的运动估计计算出当前场的运动矢量场,然后再根据当前场的运动矢量映射到参考场中的像素作为当前场的去隔行的运动补偿插值像素,但是,该方法存在一个致命的问题:通常相邻两场(异极性场)之间的运动是不一致的,不能简单的通过同极性场运动进行运动补偿,容易造成补偿错误,比如:同极性场间是重复帧(repeat frame),异极性场间有运动,此时通过同极性场运动估计出的运动矢量(即0Mv矢量)进行异极性场补偿插值去隔行,会导致去隔行图像效果闪烁,羽化等图像缺陷,从而导致人眼观看此类图像会感到不舒服,视觉疲劳。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种基于双极性场的运动估计的运动补偿去隔行方法及系统,以解决现有技术中的同极性场重复帧场景的去隔行闪烁问题现象,以及同极性场运动矢量和异极性场运动矢量在时间域中不一致导致去隔行出现错误、锯齿、羽化问题现象。

本发明之另一目的在于提供一种基于双极性场的运动估计的运动补偿去隔行方法及系统,以克服现有运动估计技术存在的计算复杂度高和收敛速度慢的问题。

为达上述及其它目的,本发明提出一种基于双极性场的运动估计的运动补偿去隔行方法,包括如下步骤:

步骤一,对输入的同极性场图像cf和p2之间进行3DRS运动估计进行第一次搜索得到收敛的当前场cf的同极性场运动矢量场,其中,cf表示当前场图像,p2表示运动估计的参考场图像;

步骤二,对图像p2'和p1之间进行3DRS运动估计进行第二次搜索,进一步精确运动矢量搜索,使其收敛于真实运动矢量,得到当前插值场p1的异极性场运动矢量场,其中p1表示当前输入的场图像,p2'为异极性场运动估计的参考帧图像;

步骤三,根据异极性场的运动矢量投影到参考帧p2'上,找到与当前块匹配最好的参考块像素对当前补偿插值场p1进行运动补偿去隔行,输出当前去隔行结果。

优选地,步骤一进一步包括如下步骤:

对输入的场图像cf按照图像块单元切分,其中cf为当前场图像;

将输入的p1场块运动矢量作为当前场的时域候选矢量,以切分的图像块为基本单位和p2场图像信号为参考场,基于空域、时域、0Mv、随机运动候选矢量的多类候选矢量选取和优化进行同极性场3DRS运动估计,其中p1表示前一场图像,p2表示前前场图像;

输出当前场cf的同极性块运动矢量场。

优选地,所述同极性场3DRS运动估计进一步包括如下步骤:

步骤S2.1,根据切分的当前图像块cfblk的块空间位置坐标,进行空域候选矢量,时域候选矢量,0Mv候选矢量以及随机运动候选矢量的多类候选矢量选择;

步骤S2.2,计算各候选矢量的SAD值;

步骤S2.3,根据各候选矢量的SAD值计算各候选矢量的惩罚量;

步骤S2.4,根据各候选矢量的SAD值与各候选矢量的惩罚量选择最优候选矢量;

步骤S2.5,根据选择的最优候选矢量计算自适应搜索步长因子;

步骤S2.6,根据更新候选基矢量和自适应搜索步长因子选择最优更新候选矢量,并将其输出到当前场的块运动矢量缓存中作为下一个图像块的空域候选矢量、邻域候选矢量和下一图像场的时域候选矢量。

优选地,于步骤S2.2中,根据当前图像块cfblk的位置,以及空域候选矢量、时域候选矢量、0Mv候选矢量、随机运动候选矢量的运动大小,分别将其投影到同极性场p2上,得到对应的图像块记为p2blk,分别计算其对应图像块与前图像块cfblk的时域距离,符号记为SAD。

优选地,步骤2.3进一步包括:

根据各候选矢量的类型分别计算各自的惩罚因子;

计算各候选矢量同当前块的邻域运动矢量的距离;

根据各惩罚因子及各候选矢量与当前块的邻域运动矢量的距离分别计算各候选矢量的惩罚量。

优选地,步骤S2.4进一步包括:

根据计算获得的各候选矢量的SAD以及各候选矢量的惩罚量,计算得到各候选矢量对应的图像块匹配值SADP

根据各候选矢量约束后的SADP值,选择最优的候选矢量。

优选地,于步骤S2.5,更新搜索步长因子计算公式如下:

β=max[1,min(βmax,λ·SADmin)]

其中,λ为步长因子的预设系数,βmax为步长因子的预设最大阈值,β表示自适应搜索步长因子,SADmin为最优候选矢量。

优选地,步骤2.6进一步包括:

根据更新候选基矢量和自适应搜索步长因子,计算出更新候选矢量Ui;

根据步骤S2.2分别计算出更新候选矢量Ui对应的SAD值;

根据更新候选矢量的SAD值,选择出最优的更新候选矢量。

优选地,步骤二进一步包括如下步骤:

对输入的场图像p1按照图像块单元切分,其中p1表示前一场图像;

对场级别图像块进行场内插值,得到帧级别图像块;

以场内插值后图像块为基本单位和p2'为参考场,以输入的p1场块运动矢量为当前场的时域候选矢量,进行异极性场3DRS运动估计;其中p2'为异极性场运动估计的参考帧图像;

输出异极性场p1的块运动矢量场。

为达到上述目的,本发明还提供一种基于双极性场的运动估计的运动补偿去隔行系统,包括:

同极性场运动估计单元,用于对输入的同极性场图像cf和p2之间进行3DRS运动估计进行第一次搜索得到收敛的当前场cf的同极性场运动矢量场,其中,cf表示当前场图像,p2表示前前场图像;

异极性场运动估计单元,用于对图像p2'和p1之间进行3DRS运动估计进行第二次搜索,进一步精确运动矢量搜索,使其收敛于真实运动矢量,得到当前插值场p1的异极性场运动矢量场,其中p1表示前一场图像,p2'表示经过运动补偿后得到的前前帧图像;

运动补偿去隔行单元,用于根据异极性场的运动矢量投影到参考帧p2'上,找到与当前块匹配最好的参考块像素对当前补偿插值场p1进行运动补偿去隔行,输出当前去隔行结果。

与现有技术相比,本发明一种基于双极性场的运动估计的运动补偿去隔行方法及系统通过同极性场3DRS运动估计进行第一次运动矢量搜索,使运动矢量场快速收敛,然后做异极性场3DRS运动进行第二次运动矢量搜索,进一步精确化当前场运动补偿的运动矢量,使其收敛到真实的运动矢量,最后根据异极性场3DRS搜索的矢量场进行运动补偿插值去隔行处理,解决了同极性场重复帧场景的去隔行闪烁问题现象,以及同极性场运动矢量和异极性场运动矢量在时间域中不一致导致去隔行出现错误、锯齿、羽化问题现象。

附图说明

图1为本发明一种基于双极性场的运动估计的运动补偿去隔行方法的步骤流程图;

图2为本发明具体实施例中步骤S1的细部流程图;

图3为本发明具体实施例中对输入的场图像的分块示意图;

图4为本发明具体实施例中步骤S102的同极性场3DRS运动估计的流程图;

图5为本发明具体实施例中多类候选矢量选择的详细示意图;

图6为本发明具体实施例中邻域运动矢量示意图;

图7为本发明具体实施例中更新候选基矢量示意图;

图8为本发明具体实施例中步骤S2的细部流程图;

图9为本发明具体实施例中的运动补偿示意图;

图10为本发明一种基于双极性场的运动估计的运动补偿去隔行系统的系统架构图;

图11为图10之基于双极性场的运动估计的运动补偿去隔行的工作示意图;

图12为本发明具体实施例中同极性场运动估计单元的示意图;

图13为本发明具体实施例中异极性场运动估计单元的示意图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

由于运动矢量场的收敛速度和准确度直接会影响运动补偿去隔行的图像效果,根据运动矢量场的时域空域的相关性,本发明提出了基于空域、时域、0Mv、随机运动候选矢量的多类运动候选矢量选取和优化,大大地加速3DRS收敛速度,这是本发明的关键点之一,解决了以往的基于3DRS方法搜索运动矢量收敛速度慢的难解问题。图1为本发明一种基于双极性场的运动估计的运动补偿去隔行方法的步骤流程图。如图1所示,本发明一种基于双极性场的运动估计的运动补偿去隔行方法,包括如下步骤:

步骤S1,对输入的同极性场图像cf和p2之间进行3DRS运动估计进行第一次搜索得到收敛的当前场cf的运动矢量场(同极性场运动矢量场)。

具体地,如图2所示,步骤S1进一步包括:

步骤S101,对输入的场图像cf按照图像块(H′blk×W′blk大小的像素块)单元切分,其中cf(current field)为当前输入的场图像。

本发明具体实施例采用的图像分辨率以实例说明(当然不限于其它分辨率大小),输入帧图像像素分辨率大小为1920×1080,输入场图像像素分辨率大小为540×1920,图像块分辨率大小为W′blk×H′blk(其中H′blk=4,W′blk=8),图像数据是在YCbCr颜色空间的亮度Y分量进行计算的。具体地,对输入的场图像的分块示意图如图3所示,cf为当前输入的场图像,p2为运动估计的参考场图像,场图像分辨率设为1920×540像素,将图像按照像素块(8×4大小的像素块)单元切分,总共有M×N(其M=1920/8=240,N=1080/4=135)个图像块(block);cf(j,i)表示cf场图像的第i行第j列像素;cfblk表示当前场cf图像中第n行第m列块(n取值范围是{0,1,...,N-1},m取值范围是{0,1,...,M-1}),cfblk(l,k)表示当前块cfblk的第k行第l列像素。

步骤S102,对输入的p1场块运动矢量(这里是一种迭代算法,当前正在搜索cf场的运动矢量,说明前一场p1的运动矢量已经搜索完毕,第一次循环的p1场运动矢量一般初始化全部为0矢量)作为当前场的时域候选矢量,以切分的图像块为基本单位和p2场图像信号为参考场,基于空域、时域、0Mv、随机运动等候选矢量的多类候选矢量选取和优化进行同极性场3DRS运动估计,其中p1表示前一场图像,p2表示前前场图像,p2'表示经过运动补偿后得到的前前帧图像。

图4为本发明具体实施例中步骤S102的同极性场3DRS运动估计的流程图。如图4所示,步骤S102进一步包括:

步骤S2.1,多类候选矢量选择,即根据当前图像块cfblk的块空间位置坐标,进行空域候选矢量,时域候选矢量,0Mv候选矢量以及随机运动候选矢量的多类候选矢量选择,多类候选矢量选择的详细示意图如图5所示。具体地,

S0、S1、S2、S3分别表示为当前块的第n-1行第m-1列、第n-1行第m列、第n-1行第m+1列、第n行第m-1列的当前场已经过同极性场搜索出来的块运动矢量,称之为当前块cfblk的空域候选矢量。

T0、T1、T2、T3、T4、T5、T6、T7、T8分别表示为当前块的第n-1行第m-1列、第n-1行第m列、第n-1行第m+1列、第n行第m-1列、第n行第m列、第n行第m+1列、第n+1行第m-1列、第n+1行第m列、第n+1行第m+1列的前一场p1经过异极性场运动估计搜索出来的块运动矢量,称之为当前块cfblk的时域候选矢量。

0Mv表示运动大小为0的运动矢量,即0Mv=(0,0),称之为当前块cfblk的0Mv候选矢量。

Rnd0、Rnd1分别表示为随机运动矢量,随机运动矢量大小符号记为RandMv=(x,y),其中x属于运动矢量水平方向搜索窗[-32,32]范围内的随机值,y属于运动矢量垂直方向搜索窗[-16,16]范围内的随机值,称Rnd0、Rnd1为当前块cfblk的随机运动候选矢量。

步骤S2.2,计算各候选矢量的SAD。具体地,根据当前图像块cfblk的位置,以及空域候选矢量、时域候选矢量、0Mv候选矢量、随机运动候选矢量的运动大小,分别将其投影到同极性场p2上,得到对应的图像块记为p2blk,分别计算其对应图像块与前图像块cfblk的时域距离,符号记为SAD,计算公式如下:

根据SAD值的大小可知,如果SAD值越小,说明对应参考图像块与当前图像块的时域距离越相近,也就是说参考图像块与当前图像块匹配程度越高;如果SAD值越大,说明对应参考图像块与当前图像块的时域距离越不同,也就是说参考图像块与当前图像块匹配程度越低。

根据公式(1)则可以计算得各候选矢量的SAD值,符号分别记为SADS0、...、SADS3、SADT0、SADT1、...、SADT8、SAD0Mv、SADRnd0、SADRnd1。

步骤S2.3,根据各候选矢量的SAD计算各候选矢量的惩罚量。

理论上讲,当前图像块的真实运动矢量对应参考图像块匹配程度最高,即对应的SAD值最小,但是由于图像会受到整个视频通路的各环节的影响,如视频拍摄端的大气噪声,拍摄系统噪声,视频传输中的视频压缩和解压缩,视频的通信传输等,都会影响和改变图像像素值的变化,在图像的高频部分容易出现采样误差和编解码误差,在图像的低频部分容易出现噪声干扰,以及图像块的划分导致的碎片效应,最终往往导致真实运动矢量对应得SAD值并不一定是最小的。如果直接只仅仅根据SAD值大小搜索出的运动矢量场,运动矢量场的一致性会非常的糟糕,尤其是在物体边界处会出现运动矢量的多重和杂乱特点,导致运动补偿的图像效果闪烁、抖动、羽化等错误。因此需要根据运动矢量局部连续和分片光滑的形态学特征进行对SAD值进行约束,即增加惩罚量,使3DRS搜索的运动矢量在局部空间具有很好的一致性,增加去隔行图像的运动一致性,减少图像闪烁和抖动现象。

在本发明具体实施例中,惩罚量计算过程如下:

首先,根据各候选矢量的类型分别计算各自的惩罚因子,公式如下:

其式中,ηS为空域候选矢量的预设门限阈值,λSi为空域候选矢量的预设系数因子,αS为空域候选矢量的惩罚因子;ηT为时域候选矢量的预设门限阈值,λTi为时域候选矢量的预设系数因子,αT为时域候选矢量的惩罚因子;η0为0Mv候选矢量的预设门限阈值,λ0为0Mv候选矢量的预设系数因子,α0为0Mv候选矢量的惩罚因子;ηR为随机运动候选矢量的预设门限阈值,λRi为随机运动候选矢量的预设系数因子,αR为随机运动候选矢量的惩罚因子。

其次,计算各候选矢量同当前块的邻域运动矢量的距离,如图6,计算公式如下:

D=||Mv-S0||+||Mv-S2||+||Mv-T6||+||Mv-S8|| (3)

其式中,Mv表示候选矢量,S0、S2、T6、T8表示当前图像块的邻域运动矢量,D表示Mv候选矢量同当前块的邻域运动矢量的距离。

根据公式(3),可以分别计算出各候选矢量同邻域运动矢量的距离,符号分别记为:DS0、...、DS2、DT0、...、DT8、D0Mv、DRnd0、DRnd1。

最后,根据分别计算各候选矢量的惩罚量,计算公式如下:

P=α·D (4)

其式中,α表示候选运动矢量的惩罚因子,D表示候选运动矢量的邻域矢量距离,P表示候选矢量的惩罚量,例如:PS0=αS0·DS0,其它候选矢量类同。

根据公式(4),可以分别计算出各候选矢量的惩罚量,符号分别记为:PS0、...、PS2、PT0、...、PT8、P0Mv、PRnd0、PRnd1。

步骤S2.4,根据各候选矢量的SAD值与各候选矢量的惩罚量选择最优候选矢量。

具体地,步骤S2.4过程如下:

首先,根据步骤S2.2和步骤S2.3计算结果,可以得到各候选矢量的对应得图像块匹配值,计算公式如下:

SADP=SAD+P (5)

其式中,SAD表示步骤S2.2计算出的各候选矢量的SAD值,P表示步骤S2.3计算出的各候选矢量的惩罚量,例如:其它候选矢量类同。

根据公式(5),可以分别计算出各候选矢量约束后的SADP值,符号分别记为:

其次,根据各候选矢量约束后的SADP值,选择最好的候选矢量,计算公式如下:

SADmin对应的候选矢量就是最终选择的最优候选矢量,符号记为MvCand

步骤S2.5,根据选择的最优候选矢量计算更新步长因子,即自适应搜索步长因子。

如果多类候选矢量中没有当前图像块真正的运动矢量,若仅仅通过2个随机候选矢量去迭代和命中,3DRS的收敛速度会非常的慢,而且在特殊情形下会不收敛,尤其是物体的短时大运动,比如动作片里的激斗动作片段。因此,需要增加一种机制保证加速3DRS搜索收敛速度,本发明提出了基于动态自适应可变步长的3DRS的Update(更新)策略,可以保证3DRS快速收敛。其核心思想是判断当前最后候选矢量MvCand的SADmin值大小,如果SADmin值比较小,说明MvCand对应的参考图像块同当前块匹配程度高,真实运动矢量同MvCand差异比较小,只需要在MvCand附近再搜索一次即可很容易得到真正的运动矢量;如果SADmin值比较大,说明MvCand对应的参考图像块同当前块匹配程度低,真实运动矢量同MvCand差异比较大,在MvCand附近没有真正的运动矢量,需要在MvCand距离比较远的地方再搜索一次才可能得到真正的运动矢量;所以根据SADmin值的大小动态自适应调整更新搜索步长进行再一次搜索运动矢量。Update(更新)搜索步长因子计算公式如下:

β=max[1,min(βmax,λ·SADmin)] (7)

其式中,λ为步长因子的预设系数,βmax为步长因子的预设最大阈值,β表示自适应搜索步长因子。

步骤S2.6,根据更新候选基矢量和自适应搜索步长因子选择最优更新候选矢量,并将其输出到当前场的块运动矢量缓存中作为下一个图像块的空域候选矢量、邻域候选矢量,和下一图像场的时域候选矢量。

首先,请参考图7,Update(更新)候选基矢量分别是(-1,-1),(-1,0),(-1,1),(0,-1),(0,1),(1,-1),(1,0),(1,1),符号分别记为根据Update(更新)候选基矢量和自适应搜索步长因子,可以计算出Update(更新)候选矢量,计算公式如下:

其式中,表示为第i个Update(更新)候选基矢量,Ui表示经过自适应步长因子调整后的Update(更新)候选矢量。

其次,根据步骤S2.2的计算过程,分别计算出Update(更新)候选矢量Ui对应的SAD值,符号分别记为其中i∈{0,1,...,6}。

最后,根据Update(更新)候选矢量的SAD值,选择出最优的Update(更新)候选矢量,计算公式如下:

SADbest对应得矢量就是最终选择的最优Update(更新)候选矢量,符号记为Mvbest,并将其输出到当前场的块运动矢量缓存中作为下一个图像块的空域候选矢量、邻域候选矢量,和下一图像场的时域候选矢量。

步骤S103,输出当前场cf的同极性块运动矢量(Block Motion Vector)场。本发明以块级别为单位进行块匹配,可以降低噪声对运动估计的负面影响,增加3DRS的运动矢量搜索稳定性,同时对图像的矢量场可以实现维数缩减,而且可以大大减少硬件资源的消耗(控制硬件成本)。

步骤S2,对图像p2'和p1之间进行3DRS运动估计进行第二次搜索,进一步精确运动矢量搜索,使其收敛于真实运动矢量,得到当前插值场p1的运动矢量场(异极性场运动矢量场),其中p1表示当前输入的场图像,p2'表示经过运动补偿后得到的前前帧图像。

这里需说明的是,本发明中的“当前场”是针对当前处理过程来说的,由于插值补偿和运动估计是在不同场图像上做的,本步骤的当前处理过程是异极性场运动矢量搜索,即p2’和p1之间是进行异极性场运动矢量搜索,求解的是p1场图像上的运动矢量,因此称p1为异极性运动估计的当前场图像,对于后面的运动补偿来说,也是对p1场图像进行运动补偿处理,因此称p1为运动补偿的当前场图像,即当前插值场图像。在步骤S1的运动估计中,cf场图像称为运动估计的当前场图像,同时参考p2场图像(cf和p2是同极性关系,p1和p3是同极性关系,cf和p1,p1和p2,p2和p3之间都是异极性关系,总之,隔场之间是同极性关系,相邻场之间是异极性关系),搜索得到的是cf场图像的运动矢量,在运动补偿中,p1场图像为运动补偿的当前场图像,使用的是p1场图像的运动矢量,同时参考p2’进行的运动补偿处理。

具体地,如图8所示,步骤S2进一步包括如下步骤:

步骤S201,对输入的场图像p1按照图像块(H′blk×W′blk大小的像素块)单元切分。在本实施例中,p1表示前一场图像,即当前输入的场图像,p2表示前前场图像,p2'表示经过运动补偿后得到的前前帧图像,即为异极性场运动估计的参考帧图像(前一场去隔行的结果,第1场为场内插值去隔行结果替代),在本发明具体实施例中,p1场图像分辨率为1920×540像素,p2'帧图像分辨率为1920×1080像素,将图像按照前述步骤101进行单元切分,在此不予赘述。

步骤S202,对场级别图像块进行场内插值,得到帧级别图像块(即2H′blk×W′blk大小的像素块);具体地,取p1场图像中的一个图像块,分辨率大小为8×4像素,将其垂直方向进行二维图像插值,具体的方法可选择双线性插值,bicubic插值,方向插值等,插值后的图像块分辨率为8×8像素。

步骤S203,以场内插值后图像块为基本单位和p2'为参考场,以p1场块运动矢量(Block Motion Vector)为时域候选矢量,进行异极性场3DRS运动估计。具体地,当前块图像为p1场图像中的图像块的垂直方向插值出的8×8像素块,p2'为参考帧图像,p1场块运动矢量场为时域候选矢量,根据前述步骤S1的类似过程进行计算出同极性场运动矢量场,以实现异极性场3DRS运动估计,在此不予赘述。

步骤S204,输出异极性场p1的异极性块运动矢量(Block Motion Vector)场。可见,本发明之异极性场3DRS运动估计,在同极性场运动估计的基础上,对p1和p2'进行异极性场运动估计,同时基于异极性场的运动矢量再一次搜索,可以进一步精确运动矢量结果,解决同极性场重复帧场景的去隔行闪烁问题现象,以及同极性场运动矢和异极性场运动矢在时间域中运动矢不一致导致去隔行出现闪烁,错误和锯齿等问题现象。

步骤S3,根据异极性场的运动矢量投影到参考帧p2'上,找到与当前块匹配最好的参考块像素对当前补偿插值场p1进行运动补偿去隔行,输出当前去隔行结果,记为p1'。

具体地,根据基于异极性场的运动估计搜索出的精确运动矢量,对p1场图像进行运动补偿去隔行,如图9所示,将当前块运动矢量Mv=(x,y)投影到参考帧p2'上,找到在p2'投影的像素值补偿到p1对应隔行位置,本发明基于异极性场的运动估计搜索出的精确运动矢量,进行运动补偿去隔行,很好的解决了同极性场运动矢和异极性场运动矢在时间域中运动矢不一致导致去隔行出现闪烁,错误和锯齿等问题现象。

图10为本发明一种基于双极性场的运动估计的运动补偿去隔行系统的系统架构图,图11为图10之基于双极性场的运动估计的运动补偿去隔行系统的工作示意图。如图10及图11所示,本发明一种基于双极性场的运动估计的运动补偿去隔行系统,包括:

同极性场运动估计单元90,用于对输入的同极性场图像cf和p2之间进行3DRS运动估计进行第一次搜索得到收敛的当前场cf运动矢量场(同极性场运动矢量场)。

具体地,如图12所示,同极性场运动估计单元90包括:

第一场图像分块单元901,用于对输入的场图像cf按照图像块(H′blk×W′blk大小的像素块)单元切分;cf(current field)表示当前场图像。

同极性场3DRS运动估计单元902,用于对输入的p1场块运动矢量(Block Motion Vector)作为当前场的时域候选矢量,以切分的各图像块为基本单位和p2为参考场,进行同极性场3DRS运动估计,p1表示前一场图像,p2表示前前场图像,p2'表示经过运动补偿后得到的前前帧图像。同极性场3DRS运动估计单元902进一步包括:

多类候选矢量选择单元902a,用于根据当前图像块cfblk的块空间位置坐标,进行空域候选矢量,时域候选矢量,0Mv候选矢量以及随机运动候选矢量的多类候选矢量选择;

SAD计算单元902b,用于计算各候选矢量的SAD。具体地,SAD计算单元902b根据当前图像块cfblk的位置,以及空域候选矢量、时域候选矢量、0Mv候选矢量、随机运动候选矢量的运动大小,分别将其投影到同极性场p2上,得到对应的图像块记为p2blk,分别计算其对应图像块与当前图像块cfblk的时域距离,符号记为SAD,计算公式如下:

根据SAD值的大小可知,如果SAD值越小,说明对应参考图像块与当前图像块的时域距离越相近,也就是说参考图像块与当前图像块匹配程度越高;如果SAD值越大,说明对应参考图像块与当前图像块的时域距离越不同,也就是说参考图像块与当前图像块匹配程度越低。

根据公式则可以计算得各候选矢量的SAD值,符号分别记为SADS0、...、SADS3、SADT0、SADT1、...、SADT8、SAD0Mv、SADRnd0、SADRnd1。

惩罚量计算单元902c,用于根据各候选矢量的SAD值计算各候选矢量的惩罚量P;

首先,根据各候选矢量的类型分别计算各自的惩罚因子

其次,计算各候选矢量同当前块的邻域运动矢量的距离;

最后,根据各候选运动矢量的惩罚因子以及各候选运动矢量的邻域矢量距离分别计算各候选矢量的惩罚量。

最优候选矢量选择单元902d,用于根据各候选矢量的SAD和各候选矢量的惩罚量P选择最优候选矢量。

具体地,最优候选矢量选择单元902d过程如下:

首先,根据SAD计算单元902b和惩罚量计算单元902c的计算结果,可以得到各候选矢量的对应得图像块匹配值SADP

其次,根据各候选矢量约束后的SADP值,选择最优的候选矢量SADmin,符号记为MvCand

更新补偿因子计算单元902e,用于根据最优候选矢量计算自适应搜索步长因子β。

如果多类候选矢量中没有当前图像块真正的运动矢量,若仅仅通过2个随机候选矢量去迭代和命中,3DRS的收敛速度会非常的慢,而且在特殊情形下会不收敛,尤其是物体的短时大运动,比如动作片里的激斗动作片段。因此,需要增加一种机制保证加速3DRS搜索收敛速度,本发明提出了基于动态自适应可变步长的3DRS的Update(更新)策略,可以保证3DRS快速收敛。其核心思想是判断当前最后候选矢量MvCand的SADmin值大小,如果SADmin值比较小,说明MvCand对应的参考图像块同当前块匹配程度高,真实运动矢量同MvCand差异比较小,只需要在MvCand附近再搜索一次即可很容易得到真正的运动矢量;如果SADmin值比较大,说明MvCand对应的参考图像块同当前块匹配程度低,真实运动矢量同MvCand差异比较大,在MvCand附近没有真正的运动矢量,需要在MvCand距离比较远的地方再搜索一次才可能得到真正的运动矢量;所以根据SADmin值的大小动态自适应调整Update搜索步长进行再一次搜索运动矢量。

最优更新矢量选择单元902f,用于根据更新候选基矢量和自适应搜索步长因子β选择最优更新候选矢量。最优更新矢量选择单元902f的过程具体如下:

首先,根据Update(更新)候选基矢量和自适应搜索步长因子,可以计算出Update(更新)候选矢量Ui;

其次,根据SAD计算单元902b的计算过程,分别计算出Update(更新)候选矢量Ui对应的SAD值,符号分别记为其中i∈{0,1,...,6}。

最后,根据Update(更新)候选矢量的SAD值,选择出最优的Update(更新)候选矢量SADbest,符号记为Mvbest,并将其输出到当前场的块运动矢量缓存中作为下一个图像块的空域候选矢量、邻域候选矢量,和下一图像场的时域候选矢量。

第一输出单元903,用于输出当前场cf的块运动矢量场。本发明以块级别为单位进行块匹配,可以降低噪声对运动估计的负面影响,增加3DRS的运动矢量搜索稳定性,同时对图像的矢量场可以实现维数缩减,而且可以大大减少硬件资源的消耗(控制硬件成本)。

异极性场运动估计单元91,用于对图像p2'和p1之间进行3DRS运动估计进行第二次搜索,进一步精确运动矢量搜索,使其收敛于真实运动矢量,得到当前插值场p1的运动矢量场(异极性场运动矢量场)。具体地,如图13所示,异极性场运动估计单元91进一步包括:

第二图象块切分单元910,用于对输入的场图像p1按照图像块(H′blk×W′blk大小的像素块)单元切分;具体地,p1为当前输入的场图像,p2'为异极性场运动估计的参考帧图像(前一场去隔行的结果,第1场为场内插值去隔行结果替代),在本发明具体实施例中,p1场图像分辨率为1920×540像素,p2'帧图像分辨率为1920×1080像素,将图像按照前述步骤101进行单元切分,在此不予赘述。

场图象块插值单元911,用于对场级别图像块进行场内插值,得到帧级别图像块(2H′blk×W′blk大小的像素块);具体地,取p1场图像中的一个图像块,分辨率大小为8×4像素,将其垂直方向进行二维图像插值,具体的方法可选择双线性插值,bicubic插值,方向插值等,插值后的图像块分辨率为8×8像素。

异极性场3DRS运动估计单元912,用于以场内插值后图像块为基本单位和p2'为参考场,以p1场块运动矢量(Block Motion Vector)为时域候选矢量,进行异极性场3DRS运动估计。具体地,当前块图像为p1场图像中的图像块的垂直方向插值出的8×8像素块,p2'为参考帧图像,p1场块运动矢量场为时域候选矢量,根据前述同极性场3DRS运动估计单元902的类似过程进行计算出同极性场运动矢量场,以实现异极性场3DRS运动估计,在此不予赘述。

第二输出单元913,用于输出当前场p1的异极性块运动矢量场。本发明之异极性场3DRS运动估计,在同极性场运动估计的基础上,对p1和p2'进行异极性场运动估计,同时基于异极性场的运动矢量再一次搜索,可以进一步精确运动矢结果,解决同极性场重复帧场景的去隔行闪烁问题现象,以及同极性场运动矢和异极性场运动矢在时间域中运动矢不一致导致去隔行出现闪烁,错误和锯齿等问题现象。

运动补偿去隔行单元92,用于根据异极性场的运动矢量投影到参考帧p2'上,找到与当前块匹配最好的参考块像素对当前补偿插值场p1进行运动补偿去隔行,输出当前去隔行结果,记为p1'。

具体地,运动补偿去隔行单元92根据基于异极性场的运动估计搜索出的精确运动矢量,对p1场图像进行运动补偿去隔行,将当前块运动矢量Mv=(x,y)投影到参考帧p2'上,找到在p2'投影的像素值补偿到p1对应隔行位置。基于异极性场的运动估计搜索出的精确运动矢量,进行运动补偿去隔行,很好的解决了同极性场运动矢和异极性场运动矢在时间域中运动矢不一致导致去隔行出现闪烁,错误和锯齿等问题现象。

需说明的是,于图11中,display表示对p1进行运动补偿去隔行后得到p1’,然后将p1’送到显示器显示,Online表示可以支持视频采集端在线输入cf场图像,说明比从内存中输入cf场图像的方式架构更省硬件资源,也利于硬件实现该双极性场运动估计的架构,在此不予赘述。

综上所述,本发明一种基于双极性场的运动估计的运动补偿去隔行方法及系统通过同极性场3DRS运动估计进行第一次运动矢量搜索,使运动矢量场快速收敛,然后做异极性场3DRS运动进行第二次运动矢量搜索,进一步精确化当前场运动补偿的运动矢量,使其收敛到真实的运动矢量,最后根据异极性场3DRS搜索的矢量场进行运动补偿插值去隔行处理,解决了同极性场重复帧场景的去隔行闪烁问题现象,以及同极性场运动矢量和异极性场运动矢量在时间域中不一致导致去隔行出现错误、锯齿、羽化问题现象。

与现有技术相比,本发明具有如下优点:

1、本发明根据运动矢量场的时域空域的相关性,提出了基于空域、时域、0Mv、随机运动候选矢量的多类运动候选矢量选取和优化,大大的加速3DRS收敛速度,这也是本发明的关键点之一,解决了以往的基于3DRS方法搜索运动矢量收敛速度慢的难解问题。

2、本发明提出了基于运动矢量局部连续和分片光滑的形态学特征约束,使3DRS搜索的运动矢量在局部空间具有很好的一致性,增加去隔行图像的运动一致性,减少图像闪烁和抖动现象。

3、本发明提出了基于动态自适应可变步长的3DRS的更新策略,可以进一步大大加快3DRS收敛速度。

4、本发明在3DRS搜索的运动矢量结果的基础上,同时基于异极性场的运动矢量再一次搜索,可以进一步精确运动矢量结果,解决同极性场重复帧场景,异极性场运动矢在时间域中运动矢不一致导致去隔行出现闪烁,错误和锯齿等问题现象。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1