首页> 中国专利> 一种双向运动估计方法和视频帧率上转换方法及系统

一种双向运动估计方法和视频帧率上转换方法及系统

摘要

本发明提供了一种双向运动估计方法及系统,获取前一帧图像和当前帧图像后,分别进行基于前向块匹配和基于后向块匹配的双向运动估计,然后根据分别获取到的最小的SAD值和对应的运动矢量得到最终运动矢量,得到的最终运动矢量准确描述了运动物体的运动情况,解决了运动矢量不准确引起的运动物体与背景混淆的现象。本发明还提供了一种视频帧率上转换方法及系统,根据双向运动估计方法及系统获取最终运动矢量,然后进行运动矢量滤波、运动补偿及块效应处理,最后获取的插帧图像消除了运动物体与背景混淆的现象及块效应现象,提高了插帧图像的图像质量,减少了视频画面的不流畅及不连贯等问题,提高了视频视觉效果。

著录项

  • 公开/公告号CN104219533A

    专利类型发明专利

  • 公开/公告日2014-12-17

    原文格式PDF

  • 申请/专利权人 苏州科达科技股份有限公司;

    申请/专利号CN201410495756.8

  • 发明设计人 熊超;章勇;曹李军;陈卫东;

    申请日2014-09-24

  • 分类号H04N19/577(20140101);H04N19/86(20140101);H04N19/132(20140101);H04N19/513(20140101);H04N19/59(20140101);

  • 代理机构11250 北京三聚阳光知识产权代理有限公司;

  • 代理人张建纲

  • 地址 215011 江苏省苏州市高新区金山路131号

  • 入库时间 2023-12-17 03:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-20

    专利权的转移 IPC(主分类):H04N19/577 专利号:ZL2014104957568 登记生效日:20220908 变更事项:专利权人 变更前权利人:苏州科达科技股份有限公司 变更后权利人:苏州科达科技股份有限公司 变更事项:地址 变更前权利人:215011 江苏省苏州市高新区金山路131号 变更后权利人:215011 江苏省苏州市高新区金山路131号 变更事项:专利权人 变更前权利人: 变更后权利人:上海科法达交通设施工程有限公司 上海纬宏科技有限公司

    专利申请权、专利权的转移

  • 2018-01-12

    授权

    授权

  • 2015-01-07

    实质审查的生效 IPC(主分类):H04N19/577 申请日:20140924

    实质审查的生效

  • 2014-12-17

    公开

    公开

说明书

技术领域

本发明涉及视频图像处理领域,具体地涉及一种双向运动估计方法和视 频帧率上转换方法及系统。

背景技术

由于近些年来数字图像处理技术和多媒体信息技术的快速发展,高清视 频会议被广泛地应用在各种会场当中,特别是以1080p高清为代表。1080p 高清技术带来了高质量的画质,但同时,由于高画质的要求,使得在视频信 息传输过程中,网络带宽限制的问题比较突出,在有限网络带宽下,视频的 帧率被迫降低,从而使得整个视频流播放时,画面会出现不流畅,特别是运 动物体的动作不连续。为了解决这个问题,我们需要引入视频帧率上转换方 法,把低帧率转换为高帧率,尽量减少视频画面的不流畅和不连贯等问题, 提高视频视觉效果。

视频帧率上转换技术通过分析相邻帧的相关性来得到插值帧,从而把较 低帧率转换为较高帧率。常用的视频帧率上转换方法大致可以归纳为两个大 类,第一类是没有考虑相邻帧间运动物体的运动状态,比如帧间重复方法和 帧间平均方法。帧间重复方法是指直接对当前帧进行复制作为插值帧,帧间 平均方法是指通过对前后帧求平均得到插值帧,虽然上述两种方法在帧率上 得到了提高,但是容易产生图像运动突变的现象或运动物体边缘模糊的现 象。第二类是考虑了相邻帧间运动物体的运动状态,其中以运动估计与运动 补偿的方法为代表,由于分析了运动物体的运动状态,在提高帧率的前提下, 插值帧的图像质量得到了较大的改善。但是,对于第二类方法而言,通过运 动估计技术可以得到运动物体的运动矢量,运动矢量反映了运动物体在帧间 的运动情况,如果采用运动估计方法得不到准确的运动矢量的话,则插值帧 的图像质量效果可能比第一类方法还要差的。因此,运动估计技术成为视频 帧率上转换方法的关键部分。

常用的运动估计方法有基于块匹配的单向搜索方法、基于块匹配的双向 运动估计方法。基于块匹配的单向搜索方法是指在相邻两帧中进行从前一帧 到当前帧的块匹配搜索(简称前向块匹配)或从当前帧到前一帧的块匹配搜 索(简称后向块匹配)。但是,该方法使得插值帧中的某个像素点对应于多 个运动矢量或者没有运动矢量与之对应,由此可能会产生“重叠”现象和“空 洞”现象。基于块匹配的双向运动估计是Byung-Tae Choi等人提出的,是 指赋予插值帧的当前图像块一个初始的运动矢量,然后以该运动矢量为中心 的一定变化范围内在前一帧和当前帧中对称地进行块匹配搜索,找到使两者 最相似的的位移量作为当前图像块的运动矢量。该方法较好地解决了“重叠” 现象和“空洞”现象,其中被赋予的初始的运动矢量是通过采用单一的前向 或后向块匹配搜索得到,因为该方法只考虑了基于单向的块匹配搜索的双向 运动估计,得到的运动矢量不能完全准确地反映运动物体的运动状态,然而 块匹配的运动矢量不准确会导致插值帧中出现运动物体与背景混淆的现象。

发明内容

为此,本发明所要解决的技术问题在于现有技术中用于视频帧率上转换 的基于单向的块匹配搜索的双向运动估计方法得到的运动矢量不能完全准 确地反映运动物体的运动状态,从而提出一种双向运动估计方法和视频帧率 上转换方法及系统。

为解决上述技术问题,本发明的提供如下技术方案:

一种双向运动估计方法,包括如下步骤:

获取前一帧图像和当前帧图像;

根据前一帧图像和当前帧图像进行基于前向块匹配的双向运动估计,获 取第一SAD值及对应的第一运动矢量,所述第一SAD值为基于前向块匹配的 双向运动估计获取的所有SAD值中最小的SAD值;

根据前一帧图像和当前帧图像进行基于后向块匹配的双向运动估计,获 取第二SAD值及对应的第二运动矢量,所述第二SAD值为基于后向块匹配的 双向运动估计获取的所有SAD值中最小的SAD值;

根据所述第一SAD值、所述第一运动矢量、所述第二SAD值和所述第二 运动矢量获取最终运动矢量。

上述双向运动估计方法,所述根据所述第一SAD值、所述第一运动矢量、 所述第二SAD值和所述第二运动矢量获取最终运动矢量的步骤,包括通过如 下公式计算最终运动矢量:

f=a1*f1+a2*f2

其中,f表示最终运动矢量,a1表示第一运动矢量的权值,a2表示第二 运动矢量的权值,f1表示第一运动矢量,f2表示第二运动矢量,0<a1<1,0< a2<1。

上述双向运动估计方法,所述根据所述第一SAD值、所述第一运动矢量、 所述第二SAD值和所述第二运动矢量获取最终运动矢量的步骤还包括计算 a1和a2的过程,如下:

当SAD1+SAD2=0时,a1=a2=0.5;

当SAD1+SAD2≠0时,a1=1-SAD1/(SAD1+SAD2),a2=1-SAD2/(SAD1+SAD2);

其中SAD1为第一SAD值,SAD2为第二SAD值。

上述双向运动估计方法,所述根据所述第一SAD值、所述第一运动矢量、 所述第二SAD值和所述第二运动矢量获取最终运动矢量的步骤还包括计算 a1和a2的过程,如下:

当SAD1=SAD2=0时,a1=a2=0.5;

当SAD1≠且SAD2≠0时,a1=1-SAD12/(SAD12+SAD22),a2=1-SAD22/(SAD12+ SAD22);

其中SAD1为第一SAD值,SAD2为第二SAD值。

上述双向运动估计方法,所述根据前一帧图像和当前帧图像进行基于前 向块匹配的双向运动估计,获取第一SAD值及对应的第一运动矢量的步骤包 括:

以前一帧图像到当前帧图像进行块匹配搜索,获取运动矢量t1

将所述运动矢量t1作为双向运动估计的初始值;

在所述运动矢量t1的一定阈值范围内进行前一帧图像与当前帧图像的 块匹配搜索,获取所有的SAD值;

将所有的SAD值中选取最小的SAD值作为第一SAD值,第一SAD值对应 的运动矢量为第一运动矢量。

上述双向运动估计方法,所述根据前一帧图像和当前帧图像进行基于后 向块匹配的双向运动估计,获取第二SAD值及对应的第二运动矢量的步骤包 括:

以当前帧图像到前一帧图像进行块匹配搜索,获取运动矢量t2

将所述运动矢量t2作为双向运动估计的初始值;

在所述运动矢量t2的一定阈值范围内进行前一帧图像与当前帧图像的 块匹配搜索,获取所有的SAD值;

将所有的SAD值中选取最小的SAD值作为第二SAD值,第二SAD值对应 的运动矢量为第二运动矢量。

上述双向运动估计方法,所述SAD值为前一帧图像中的图像块与当前帧 图像中的图像块的对应像素点的像素值的绝对差的和。

一种视频帧率上转换方法,包括如下步骤:

T1:利用上述所述的双向运动估计方法获取最终运动矢量;

T2:对插帧图像进行最终运动矢量滤波;

T3:对滤波后的插帧图像进行运动补偿;

T4:对运动补偿后的插帧图像进行块效应处理;

T5:获取最终的插帧图像。

一种双向运动估计系统,包括:

图像获取模块,用于获取前一帧图像和当前帧图像;

第一数据获取模块,用于根据前一帧图像和当前帧图像进行基于前向块 匹配的双向运动估计,获取第一SAD值及对应的第一运动矢量,所述第一SAD 值为基于前向块匹配的双向运动估计获取的所有SAD值中最小的SAD值;

第二数据获取模块,用于根据前一帧图像和当前帧图像进行基于后向块 匹配的双向运动估计,获取第二SAD值及对应的第二运动矢量,所述第二 SAD值为基于后向块匹配的双向运动估计获取的所有SAD值中最小的SAD值;

最终运动矢量获取模块,用于根据所述第一SAD值、所述第一运动矢量、 所述第二SAD值和所述第二运动矢量获取最终运动矢量。

上述双向运动估计系统,最终运动矢量获取模块中包括通过如下公式计 算最终运动矢量:

f=a1*f1+a2*f2

其中,f表示最终运动矢量,a1表示第一运动矢量的权值,a2表示第二 运动矢量的权值,f1表示第一运动矢量,f2表示第二运动矢量,0<a1<1,0< a2<1。

上述双向运动估计系统,最终运动矢量获取模块中还包括计算a1和a2的过程,如下:

当SAD1+SAD2=0时,a1=a2=0.5;

当SAD1+SAD2≠0时,a1=1-SAD1/(SAD1+SAD2),a2=1-SAD2/(SAD1+SAD2);

其中SAD1为第一SAD值,SAD2为第二SAD值。

上述双向运动估计系统,最终运动矢量获取模块中还包括计算a1和a2的过程,如下:

当SAD1=SAD2=0时,a1=a2=0.5;

当SAD1≠且SAD2≠0时,a1=1-SAD12/(SAD12+SAD22),a2=1-SAD22/(SAD12+ SAD22);

其中SAD1为第一SAD值,SAD2为第二SAD值。

上述双向运动估计系统,第一数据获取模块具体包括:

第一前向块匹配子模块,用于以前一帧图像到当前帧图像进行块匹配搜 索,获取运动矢量t1

第一初始值设置子模块,用于将所述运动矢量t1作为双向运动估计的初 始值;

第一双向运动估计子模块,用于在所述运动矢量t1的一定阈值范围内进 行前一帧图像与当前帧图像的块匹配搜索,获取所有的SAD值;

第一数据获取子模块,用于将第一双向运动估计子模块中获取的所有的 SAD值中选取最小的SAD值作为第一SAD值,第一SAD值对应的运动矢量为 第一运动矢量。

上述双向运动估计系统,第二数据获取模块具体包括:

第二后向块匹配子模块,用于以当前帧图像到前一帧图像进行块匹配搜 索,获取运动矢量t2

第二初始值设置子模块,用于将所述运动矢量t2作为双向运动估计的初 始值;

第二双向运动估计子模块,用于在所述运动矢量t2的一定阈值范围内进 行前一帧图像与当前帧图像的块匹配搜索,获取所有的SAD值;

第二数据获取子模块,用于将第二双向运动估计子模块中获取的所有的 SAD值中选取最小的SAD值作为第二SAD值,第二SAD值对应的运动矢量为 第二运动矢量。

上述双向运动估计系统,第一数据子模块和第二数据子模块中,所述 SAD值为前一帧图像中的图像块与当前帧图像中的图像块的对应像素点的像 素值的绝对差的和。

一种视频帧率上转换的系统,包括:

上述所述的双向运动估计系统,用于获取最终运动矢量;

滤波模块,用于对插帧图像进行最终运动矢量滤波;

补偿模块,用于对滤波后的插帧图像进行运动补偿;

块效应处理模块,用于对运动补偿后的插帧图像进行块效应处理;

插帧图像获取模块,用于获取最终的插帧图像。

本发明的上述技术方案相比现有技术具有以下优点:

(1)本发明所述的双向运动估计方法及系统,获取前一帧图像和当前帧 图像后,分别进行基于前向块匹配的双向运动估计和基于后向块匹配的双向 运动估计,然后根据分别获取到的最小的SAD值和对应的运动矢量获取最终 的运动矢量,获取的最终运动矢量准确描述了运动物体的运动情况,解决了 运动矢量不准确引起的运动物体与背景混淆的现象。

(2)本发明所述的视频帧率上转换方法及系统,根据双向运动估计方法 及系统获取最终运动矢量,对插值帧图像进行最终运动矢量滤波,滤波后再 进行运动补偿及块效应处理,最后获取的插帧图像消除了运动物体与背景混 淆的现象及块效应现象,提高了插帧图像的图像质量。减少了视频画面的不 流畅及不连贯等问题,提高了视频视觉效果。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施 例并结合附图,对本发明作进一步详细的说明,其中

图1是本发明一个实施例的一种双向运动估计方法的流程图;

图2是本发明一个实施例的一种双向运动估计示意图;

图3是本发明一个实施例的一种视频帧率上转换方法的流程图;

图4是本发明一个实施例的一种块效应处理示意图;

图5是本发明一个实施例的一种双向运动估计系统框图;

图6是本发明一个实施例的一种视频帧率上转换系统框图。

图中附图标记表示为:1-前一帧图像、2-插帧图像、3-当前帧图像、R1- 第一局部区域、R2-第二局部区域、R3-第三局部区域,B1~B9-图像块。

具体实施方式

实施例1

本实施例提供一种双向运动估计方法,如图1所示,包括如下步骤:

S1:读取前一帧图像pre_img和当前帧图像cur_img。

S2:根据前一帧图像和当前帧图像进行基于前向块匹配的双向运动估 计,获取第一SAD值及对应的第一运动矢量,所述第一SAD值为基于前向块 匹配的双向运动估计获取的所有SAD值中最小的SAD值。

步骤S2具体包括如下步骤:

S21:取出前一帧图像pre_img中的一个4x4大小的图像块,在当前帧 图像cur_img的+/-8像素点的搜索范围内进行相似块匹配,该搜索范围是 以当前图像块左上角坐标为中心的上下左右各8个像素,块匹配准则采用 SAD准则,SAD值为两个图像块的对应像素点的像素值的绝对差的和,公式 如下:

SAD=Σi=14Σi=14|fp(i,j)-fc(i,j)|

其中(i,j)表示图像块内像素点的坐标,fp(i,j)表示前一帧图像中像 素点(i,j)处的像素值,fc(i,j)表示当前帧图像中像素点(i,j)处的像素 值。

在获取的所有SAD值中最小的SAD值对应的偏移量即为当前图像块的运 动矢量(f_mvx,f_mvy),如果出现两个最小的SAD值,则选择离当前图像 块最近的SAD值对应的运动矢量作为运动矢量(f_mvx,f_mvy)。

S22:设定运动矢量(f_mvx/2,f_mvy/2)作为插帧图像interp_img对 应图像块的初始运动矢量。

S23:进行双向运动估计,双向运动估计示意图如图2所示,1为前一 帧图像、2为插帧图像、3为当前帧图像,设定初始运动矢量(f_mvx/2, f_mvy/2)的值的变化范围为+/-2,则可以产生25组候选运动矢量。对于其 中的一组候选运动矢量命名为(tmp_mvx,tmp_mvy),假定当前图像块在插 帧图像中的坐标位置为(w,h),根据运动矢量(tmp_mvx,tmp_mvy)得到 该图像块在前一帧图像的坐标为(w-tmp_mvx,h-tmp_mvy),在当前帧图像 的坐标为(w+tmp_mvx,h+tmp_mvy),接着计算前一帧和当前帧这两个图像 块的SAD值。对于25组候选运动矢量,通过以上的计算,则会产生25个 SAD值。

如果坐标的值存在小数,那么该坐标值对应的像素点的值需要进行内插 计算得到,本实施例采用的内插计算方法为双线性内插方法,过程如下:

假定被内插的像素点的坐标为(x,y),令x的整数部分为x_int,小 数部分为x_frac;令y的整数部分为y_int,小数部分为y_frac。

获取像素点(x,y)邻域的4个像素点的值:

p1=img_data(x_int,y_int)

p2=img_data(x_int+1,y_int)

p3=img_data(x_int,y_int+1)

p4=img_data(x_int+1,y_int+1)

计算4个像素点对应的权值:

w1=(1-x_frac)*(1-y_frac)

w2=x_frac*(1-y_frac)

w3=(1-x_frac)*y_frac

w4=x_frac*y_frac

内插值为:

interp_val=w1*p1+w2*p2+w3*p3+w4*p4

S24:将25个SAD值中选取最小的SAD值作为作为第一SAD值,第一 SAD值对应的运动矢量为第一运动矢量,即为插帧图像中当前图像块的运动 矢量(fwd_mvx,fwd_mvy),如果出现两个或两个以上最小的SAD值,则选 择离当前图像块最近的SAD值对应的运动矢量作为第一运动矢量。

S3:根据前一帧图像和当前帧图像进行基于后向块匹配的双向运动估 计,获取第二SAD值及对应的第二运动矢量,所述第二SAD值为基于后向块 匹配的双向运动估计获取的所有SAD值中最小的SAD值。

步骤S3具体包括如下步骤:

S31:取出当前帧图像cur_img中的一个4x4大小的图像块,在前一帧 图像pre_img的+/-8像素点的搜索范围内进行相似块匹配,该搜索范围是 以当前图像块左上角坐标为中心的上下左右各8个像素,块匹配准则采用 SAD准则,SAD值为两个图像块的对应像素点的像素值的绝对差的和,公式 如步骤S21所示。在获取的所有SAD值中最小的SAD值对应的偏移量即为当 前图像块的运动矢量(b_mvx,b_mvy),如果出现两个最小的SAD值,则选 择离当前图像块最近的SAD值对应的运动矢量作为运动矢量(b_mvx, b_mvy)。

S32:设定运动矢量(-b_mvx/2,-b_mvy/2)作为插帧图像interp_img 对应图像块的初始运动矢量。

S33:设定初始运动矢量(-b_mvx/2,-b_mvy/2)的值的变化范围为+/-2, 则可以产生25组候选运动矢量。对于其中的一组候选运动矢量命名为 (tmp_mvx,tmp_mvy),假定当前图像块在插帧图像中的坐标位置为(w,h), 根据运动矢量(tmp_mvx,tmp_mvy)得到该图像块在前一帧图像的坐标为 (w-tmp_mvx,h-tmp_mvy),在当前帧图像的坐标为(w+tmp_mvx,h+tmp_mvy), 接着计算前一帧和当前帧这两个图像块的SAD值。对于25组候选运动矢量, 通过以上的计算,则会产生25个SAD值。如果坐标的值存在小数,那么该 坐标值对应的像素点的值需要进行内插计算得到,内插计算方法如步骤S23 所示。

S34:将25个SAD值中选取最小的SAD值作为作为第二SAD值,第二 SAD值对应的运动矢量为第二运动矢量,即为插帧图像中当前图像块的运动 矢量(bwd_mvx,bwd_mvy)。如果出现两个或两个以上最小的SAD值,则选 择离当前图像块最近的SAD值对应的运动矢量作为第二运动矢量

S4:根据所述第一SAD值、所述第一运动矢量、所述第二SAD值和所述 第二运动矢量获取最终运动矢量。

步骤S4中,包括通过如下公式计算最终运动矢量:

f=a1*f1+a2*f2

其中,f表示最终运动矢量(mvx,mvy),a1表示第一运动矢量的权值, a2表示第二运动矢量的权值,f1表示第一运动矢量(fwd_mvx,fwd_mvy), f2表示第二运动矢量(bwd_mvx,bwd_mvy),0<a1<1,0<a2<1,最终运动矢 量(mvx,mvy)中的mvx和mvy保留小数部分。

步骤S2和步骤S3没有先后顺序,可以并行处理,在本实施例中,先执 行步骤S2,再执行步骤S3。

步骤S4中,还包括计算a1和a2的过程,如下:

当SAD1+SAD2=0时,a1=a2=0.5;

当SAD1+SAD2≠0时,a1=1-SAD1/(SAD1+SAD2),a2=1-SAD2/(SAD1+ SAD2);

其中SAD1为第一SAD值,SAD2为第二SAD值。

本实施例所述的一种双向运动估计方法,获取前一帧图像和当前帧图像 后,分别进行基于前向块匹配的双向运动估计和基于后向块匹配的双向运动 估计,然后根据分别获取到的最小的SAD值和对应的运动矢量获取最终的运 动矢量,获取的最终运动矢量准确描述了运动物体的运动情况,解决了运动 矢量不准确引起的运动物体与背景混淆的现象。

实施例2

本实施例提供一种双向运动估计方法,实施例2是在实施例1基础上的 变形,其与实施例1不同之处在于所述步骤S4中计算a1和a2的过程。

本实施例步骤S4中,包括计算a1和a2的过程,如下:

当SAD1=SAD2=0时,a1=a2=0.5;

当SAD1≠且SAD2≠0时,a1=1-SAD12/(SAD12+SAD22),a2=1-SAD22/(SAD12+ SAD22);

其中SAD1为第一SAD值,SAD2为第二SAD值。

本实施例所述的一种双向运动估计方法,获取前一帧图像和当前帧图像 后,分别进行基于前向块匹配的双向运动估计和基于后向块匹配的双向运动 估计,然后根据分别获取到的最小的SAD值和对应的运动矢量获取最终的运 动矢量,获取的最终运动矢量准确描述了运动物体的运动情况,解决了运动 矢量不准确引起的运动物体与背景混淆的现象。

实施例3

本实施例提供一种视频帧率上转换的方法,如图3所示,包括如下步骤:

T1:利用实施例1或实施例2中所述的的双向运动估计方法获取最终运 动矢量(mvx,mvy)。假定在插帧图像interp_img中当前图像块的坐标为(w, h),得到以当前图像块为中心的3x3窗口内的9个图像块的一共9组最终运 动矢量(mvx1~mvx9,mvy1~mvy9)。把这9组最终运动矢量依次作为当前图 像块的运动矢量。

T2:对插帧图像进行最终运动矢量滤波。根据运动矢量的值得到当前图 像块在前一帧图像pre_img和当前帧图像cur_img的坐标(w-mvx1~mvx9, h-mvx1~mvx9),(w+mvx1~mvx9,h+mvx1~mvx9),并计算这两个图像块的SAD 值,如果前一帧或当前帧的坐标存在小数部分,则对应的像素点的值需要进 行内插计算,对于这9组运动矢量,得到9个SAD值,最小的SAD值对应的 运动矢量作为当前图像块滤波后的运动矢量(smooth_mvx,smooth_mvy)。

T3:对滤波后的插帧图像进行运动补偿。获取插帧图像interp_img的 当前像素点(x,y)所属图像块的运动矢量(smooth_mvx,smooth_mvy), 计算得到该像素点在前一帧图像pre_img和当前帧图像cur_img对应的像素 点坐标(x-smooth_mvx,y-smooth_mvy)和(x+smooth_mvx,y+smooth_mvy), 并读取像素点的像素值pre_pxl和cur_pxl_,如果以上两组坐标中的值存 在小数部分,则对应的像素点的值需要进行内插计算,则插帧图像 interp_img的插值计算公式为:

interp_pxl=pre_pxl+cur_pxl2.

T4:对运动补偿后的插帧图像进行块效应处理。如图4所示,令图像块 的宽为blk_width,高为blk_height,水平方向偏移为ofst_w,垂直方向 偏移为ofst_h。对于blk_widthxblk_height大小的图像块,左右各扩大 ofst_w,上下各扩大ofst_h,则形成了 (blk_width+2*ofst_w)x(blk_height+2*ofst_h)大小的图像块图像块经过 扩充后,便产生了三类局部区域:第一局部区域R1,第二局部区域R2,第 三局部区域R3,其中块效应处理主要是对第一局部区域R1和第二局部区域 R2进行处理,第三局部区域R3则不变。B1~B9表示未扩充前的图像块,对 应的块运动矢量为(smooth_mvx1~smooth_mvx9, smooth_mvy1~smooth_mvy9)。其中,第一局部区域R1的处理结果以左上角 的第一局部区域R1为例,则块效应的结果等于B1,B2,B4和B5的运动补 偿结果的平均值。第二局部区域R2的处理结果以左边的第二局部区域R2为 例,则块效应的结果等B4与B5的运动补偿结果的平均值。

T5:获取最终的插帧图像。经过步骤T1-T4后获得最终的插帧图像。

本实施例所述的一种视频帧率上转换方法,根据双向运动估计方法获取 最终运动矢量,对插值帧图像进行最终运动矢量滤波,滤波后再进行运动补 偿及块效应处理,最后获取的插帧图像消除了运动物体与背景混淆的现象及 块效应现象,提高了插帧图像的图像质量。减少了视频画面的不流畅及不连 贯等问题,提高了视频视觉效果。

实施例4

本实施例提供一种双向运动估计系统,如图5所示,包括:

图像获取模块,用于获取前一帧图像和当前帧图像;

第一数据获取模块,用于根据前一帧图像和当前帧图像进行基于前向块 匹配的双向运动估计,获取第一SAD值及对应的第一运动矢量,所述第一SAD 值为基于前向块匹配的双向运动估计获取的所有SAD值中最小的SAD值;

第二数据获取模块,用于根据前一帧图像和当前帧图像进行基于后向块 匹配的双向运动估计,获取第二SAD值及对应的第二运动矢量,所述第二 SAD值为基于后向块匹配的双向运动估计获取的所有SAD值中最小的SAD值;

最终运动矢量获取模块,用于根据所述第一SAD值、所述第一运动矢量、 所述第二SAD值和所述第二运动矢量获取最终运动矢量。

所述最终运动矢量获取模块中包括通过如下公式计算最终运动矢量:

f=a1*f1+a2*f2

其中,f表示最终运动矢量,a1表示第一运动矢量的权值,a2表示第二 运动矢量的权值,f1表示第一运动矢量,f2表示第二运动矢量,0<a1<1,0< a2<1。

所述最终运动矢量获取模块中还包括计算a1和a2的过程,如下:

当SAD1+SAD2=0时,a1=a2=0.5。

当SAD1+SAD2≠0时,a1=1-SAD1/(SAD1+SAD2),a2=1-SAD2/(SAD1+SAD2)。

其中SAD1为第一SAD值,SAD2为第二SAD值。

所述第一数据获取模块具体包括:

第一前向块匹配子模块,用于以前一帧图像到当前帧图像进行块匹配搜 索,获取运动矢量t1

第一初始值设置子模块,用于将所述运动矢量t1除以2作为双向运动估 计的初始值;

第一双向运动估计子模块,用于在所述运动矢量t1的一定阈值范围内进 行前一帧图像与当前帧图像的块匹配搜索,获取所有的SAD值;

第一数据获取子模块,用于将第一双向运动估计子模块中获取的所有的 SAD值中选取最小的SAD值作为第一SAD值,第一SAD值对应的运动矢量为 第一运动矢量。

所述第二数据获取模块具体包括:

第二后向块匹配子模块,用于以当前帧图像到前一帧图像进行块匹配搜 索,获取运动矢量t2

第二初始值设置子模块,用于将所述运动矢量t2除以2作为双向运动估 计的初始值;

第二双向运动估计子模块,用于在所述运动矢量t2的一定阈值范围内进 行前一帧图像与当前帧图像的块匹配搜索,获取所有的SAD值;

第二数据获取子模块,用于将第二双向运动估计子模块中获取的所有的 SAD值中选取最小的SAD值作为第二SAD值,第二SAD值对应的运动矢量为 第二运动矢量。

所述第一数据子模块和第二数据子模块中,所述SAD值为前一帧图像中 的图像块与当前帧图像中的图像块的对应像素点的像素值的绝对差的和。

本实施例所述的双向运动估计系统,获取前一帧图像和当前帧图像后, 分别进行基于前向块匹配的双向运动估计和基于后向块匹配的双向运动估 计,然后根据分别获取到的最小的SAD值和对应的运动矢量获取最终的运动 矢量,获取的最终运动矢量准确描述了运动物体的运动情况,解决了运动矢 量不准确引起的运动物体与背景混淆的现象。

实施例5

本实施例提供一种双向运动估计系统,实施例5是在实施例4基础上的 变形,其与实施例4不同之处在于所述最终运动矢量获取模块中计算a1和 a2的过程。

本实施例所述最终运动矢量获取模块中包括计算a1和a2的过程,如下:

当SAD1=SAD2=0时,a1=a2=0.5;

当SAD1≠且SAD2≠0时,a1=1-SAD12/(SAD12+SAD22),a2=1-SAD22/(SAD12+ SAD22);

其中SAD1为第一SAD值,SAD2为第二SAD值。

本实施例所述的双向运动估计系统,获取前一帧图像和当前帧图像后, 分别进行基于前向块匹配的双向运动估计和基于后向块匹配的双向运动估 计,然后根据分别获取到的最小的SAD值和对应的运动矢量获取最终的运动 矢量,获取的最终运动矢量准确描述了运动物体的运动情况,解决了运动矢 量不准确引起的运动物体与背景混淆的现象。

实施例6

本实施例提供一种视频帧率上转换的系统,如图6所示,包括:

实施例4或5所述的双向运动估计系统,用于获取最终运动矢量。

滤波模块,用于对插帧图像进行最终运动矢量滤波;

补偿模块,用于对滤波后的插帧图像进行运动补偿;

块效应处理模块,用于对运动补偿后的插帧图像进行块效应处理;

插帧图像获取模块,用于获取最终的插帧图像。

本实施例所述的视频帧率上转换系统,根据双向运动估计方法及系统获 取最终运动矢量,对插值帧图像进行最终运动矢量滤波,滤波后再进行运动 补偿及块效应处理,最后获取的插帧图像消除了运动物体与背景混淆的现象 及块效应现象,提高了插帧图像的图像质量。减少了视频画面的不流畅及不 连贯等问题,提高了视频视觉效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或 计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、 或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘 存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产 品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图 和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程 和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通 过计算机或其他可编程数据处理设的处理器执行的指令产生用于实现在流程 图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装 置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或 多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步 骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了 基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权 利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号