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

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

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

【背景技术】
[0002] 由于近些年来数字图像处理技术和多媒体信息技术的快速发展,高清视频会议被 广泛地应用在各种会场当中,特别是以1080p高清为代表。1080p高清技术带来了高质量的 画质,但同时,由于高画质的要求,使得在视频信息传输过程中,网络带宽限制的问题比较 突出,在有限网络带宽下,视频的帧率被迫降低,从而使得整个视频流播放时,画面会出现 不流畅,特别是运动物体的动作不连续。为了解决这个问题,我们需要引入视频帧率上转换 方法,把低帧率转换为高帧率,尽量减少视频画面的不流畅和不连贯等问题,提高视频视觉 效果。
[0003] 视频帧率上转换技术通过分析相邻帧的相关性来得到插值帧,从而把较低帧率转 换为较高帧率。常用的视频帧率上转换方法大致可以归纳为两个大类,第一类是没有考虑 相邻帧间运动物体的运动状态,比如帧间重复方法和帧间平均方法。帧间重复方法是指直 接对当前帧进行复制作为插值帧,帧间平均方法是指通过对前后帧求平均得到插值帧,虽 然上述两种方法在帧率上得到了提高,但是容易产生图像运动突变的现象或运动物体边缘 模糊的现象。第二类是考虑了相邻帧间运动物体的运动状态,其中以运动估计与运动补偿 的方法为代表,由于分析了运动物体的运动状态,在提高帧率的前提下,插值帧的图像质量 得到了较大的改善。但是,对于第二类方法而言,通过运动估计技术可以得到运动物体的运 动矢量,运动矢量反映了运动物体在帧间的运动情况,如果采用运动估计方法得不到准确 的运动矢量的话,则插值帧的图像质量效果可能比第一类方法还要差的。因此,运动估计技 术成为视频帧率上转换方法的关键部分。
[0004] 常用的运动估计方法有基于块匹配的单向搜索方法、基于块匹配的双向运动估计 方法。基于块匹配的单向搜索方法是指在相邻两帧中进行从前一帧到当前帧的块匹配搜索 (简称前向块匹配)或从当前帧到前一帧的块匹配搜索(简称后向块匹配)。但是,该方法 使得插值帧中的某个像素点对应于多个运动矢量或者没有运动矢量与之对应,由此可能会 产生"重叠"现象和"空洞"现象。基于块匹配的双向运动估计是Byung-Tae Choi等人提 出的,是指赋予插值帧的当前图像块一个初始的运动矢量,然后以该运动矢量为中心的一 定变化范围内在前一帧和当前帧中对称地进行块匹配搜索,找到使两者最相似的的位移量 作为当前图像块的运动矢量。该方法较好地解决了"重叠"现象和"空洞"现象,其中被赋予 的初始的运动矢量是通过采用单一的前向或后向块匹配搜索得到,因为该方法只考虑了基 于单向的块匹配搜索的双向运动估计,得到的运动矢量不能完全准确地反映运动物体的运 动状态,然而块匹配的运动矢量不准确会导致插值帧中出现运动物体与背景混淆的现象。


【发明内容】

[0005] 为此,本发明所要解决的技术问题在于现有技术中用于视频帧率上转换的基于单 向的块匹配搜索的双向运动估计方法得到的运动矢量不能完全准确地反映运动物体的运 动状态,从而提出一种双向运动估计方法和视频帧率上转换方法及系统。
[0006] 为解决上述技术问题,本发明的提供如下技术方案:
[0007] -种双向运动估计方法,包括如下步骤:
[0008] 获取前一帧图像和当前帧图像;
[0009] 根据前一帧图像和当前帧图像进行基于前向块匹配的双向运动估计,获取第一 SAD值及对应的第一运动矢量,所述第一 SAD值为基于前向块匹配的双向运动估计获取的 所有SAD值中最小的SAD值;
[0010] 根据前一帧图像和当前帧图像进行基于后向块匹配的双向运动估计,获取第二 SAD值及对应的第二运动矢量,所述第二SAD值为基于后向块匹配的双向运动估计获取的 所有SAD值中最小的SAD值;
[0011] 根据所述第一 SAD值、所述第一运动矢量、所述第二SAD值和所述第二运动矢量获 取最终运动矢量。
[0012] 上述双向运动估计方法,所述根据所述第一 SAD值、所述第一运动矢量、所述第二 SAD值和所述第二运动矢量获取最终运动矢量的步骤,包括通过如下公式计算最终运动矢 量:
[0013] f = a1*f1+a2*f2
[0014] 其中,f表不最终运动矢量,ai表不第一运动矢量的权值,a2表不第二运动矢量的 权值,表示第一运动矢量,表示第二运动矢量,〇〈 ai〈l,〇〈%〈1。
[0015] 上述双向运动估计方法,所述根据所述第一 SAD值、所述第一运动矢量、所述第二 SAD值和所述第二运动矢量获取最终运动矢量的步骤还包括计算和a2的过程,如下:
[0016] 当 SADi+SAD2 = 0 时,ai = a2 = 0· 5 ;
[0017] 当 SADi+SAD2 关 0 时,a! = l-SADiASADi+SADj,a2 = l-SADyCSADi+SAD^ ;
[0018] 其中SADi为第一 SAD值,SAD2为第二SAD值。
[0019] 上述双向运动估计方法,所述根据所述第一 SAD值、所述第一运动矢量、所述第二 SAD值和所述第二运动矢量获取最终运动矢量的步骤还包括计算和a2的过程,如下:
[0020] 当 SADi = SAD2 = 0 时,ai = a2 = 0· 5 ;
[0021] 当 SAD!尹且 SAD2 尹 0 时,a! = 1-SAD^ (SAD^+SADj),a2 = 1-SAD2V (SAD^+SADj);
[0022] 其中SADi为第一 SAD值,SAD2为第二SAD值。
[0023] 上述双向运动估计方法,所述根据前一帧图像和当前帧图像进行基于前向块匹配 的双向运动估计,获取第一 SAD值及对应的第一运动矢量的步骤包括:
[0024] 以前一帧图像到当前帧图像进行块匹配搜索,获取运动矢量h ;
[0025] 将所述运动矢量h作为双向运动估计的初始值;
[0026] 在所述运动矢量^的一定阈值范围内进行前一帧图像与当前帧图像的块匹配搜 索,获取所有的SAD值;
[0027] 将所有的SAD值中选取最小的SAD值作为第一 SAD值,第一 SAD值对应的运动矢 量为第一运动矢量。
[0028] 上述双向运动估计方法,所述根据前一帧图像和当前帧图像进行基于后向块匹配 的双向运动估计,获取第二SAD值及对应的第二运动矢量的步骤包括:
[0029] 以当前帧图像到前一帧图像进行块匹配搜索,获取运动矢量t2 ;
[0030] 将所述运动矢量t2作为双向运动估计的初始值;
[0031] 在所述运动矢量t2的一定阈值范围内进行前一帧图像与当前帧图像的块匹配搜 索,获取所有的SAD值;
[0032] 将所有的SAD值中选取最小的SAD值作为第二SAD值,第二SAD值对应的运动矢 量为第二运动矢量。
[0033] 上述双向运动估计方法,所述SAD值为前一帧图像中的图像块与当前帧图像中的 图像块的对应像素点的像素值的绝对差的和。
[0034] 一种视频帧率上转换方法,包括如下步骤:
[0035] T1 :利用上述所述的双向运动估计方法获取最终运动矢量;
[0036] T2 :对插帧图像进行最终运动矢量滤波;
[0037] T3 :对滤波后的插帧图像进行运动补偿;
[0038] T4 :对运动补偿后的插帧图像进行块效应处理;
[0039] T5 :获取最终的插巾贞图像。
[0040] 一种双向运动估计系统,包括:
[0041] 图像获取模块,用于获取前一帧图像和当前帧图像;
[0042] 第一数据获取模块,用于根据前一帧图像和当前帧图像进行基于前向块匹配的双 向运动估计,获取第一 SAD值及对应的第一运动矢量,所述第一 SAD值为基于前向块匹配 的双向运动估计获取的所有SAD值中最小的SAD值;
[0043] 第二数据获取模块,用于根据前一帧图像和当前帧图像进行基于后向块匹配的双 向运动估计,获取第二SAD值及对应的第二运动矢量,所述第二SAD值为基于后向块匹配的 双向运动估计获取的所有SAD值中最小的SAD值;
[0044] 最终运动矢量获取模块,用于根据所述第一 SAD值、所述第一运动矢量、所述第二 SAD值和所述第二运动矢量获取最终运动矢量。
[0045] 上述双向运动估计系统,最终运动矢量获取模块中包括通过如下公式计算最终运 动矢量:
[0046] f =
[0047] 其中,f表示最终运动矢量,ai表示第一运动矢量的权值,a2表示第二运动矢量的 权值,表示第一运动矢量,表示第二运动矢量,〇〈 ai〈l,〇〈%〈1。
[0048] 上述双向运动估计系统,最终运动矢量获取模块中还包括计算和a2的过程,如 下:
[0049] 当 SADi+SAD2 = 0 时,ai = a2 = 0· 5 ;
[0050] 当 SADi+SAD2 关 0 时,a! = l-SADiASADi+SADj,a2 = l-SADyCSADi+SAD^ ;
[0051] 其中SADi为第一 SAD值,SAD2为第二SAD值。
[0052] 上述双向运动估计系统,最终运动矢量获取模块中还包括计算和a2的过程,如 下:
[0053] 当 SADi = SAD2 = 0 时,ai = a2 = 0· 5 ;
[0054] 当 SAD!尹且 SAD2 尹 0 时,a! = 1-SAD^ (SAD^+SADj),a2 = 1_SAD2V (SAD^+SADj);
[0055] 其中SADi为第一 SAD值,SAD2为第二SAD值。
[0056] 上述双向运动估计系统,第一数据获取模块具体包括:
[0057] 第一前向块匹配子模块,用于以前一帧图像到当前帧图像进行块匹配搜索,获取 运动矢量L ;
[0058] 第一初始值设置子模块,用于将所述运动矢量h作为双向运动估计的初始值;
[0059] 第一双向运动估计子模块,用于在所述运动矢量h的一定阈值范围内进行前一帧 图像与当前帧图像的块匹配搜索,获取所有的SAD值;
[0060] 第一数据获取子模块,用于将第一双向运动估计子模块中获取的所有的SAD值中 选取最小的SAD值作为第一 SAD值,第一 SAD值对应的运动矢量为第一运动矢量。
[0061] 上述双向运动估计系统,第二数据获取模块具体包括:
[0062] 第二后向块匹配子模块,用于以当前帧图像到前一帧图像进行块匹配搜索,获取 运动矢量t2 ;
[0063] 第二初始值设置子模块,用于将所述运动矢量t2作为双向运动估计的初始值;
[0064] 第二双向运动估计子模块,用于在所述运动矢量t2的一定阈值范围内进行前一帧 图像与当前帧图像的块匹配搜索,获取所有的SAD值;
[0065] 第二数据获取子模块,用于将第二双向运动估计子模块中获取的所有的SAD值中 选取最小的SAD值作为第二SAD值,第二SAD值对应的运动矢量为第二运动矢量。
[0066] 上述双向运动估计系统,第一数据子模块和第二数据子模块中,所述SAD值为前 一帧图像中的图像块与当前帧图像中的图像块的对应像素点的像素值的绝对差的和。
[0067] 一种视频帧率上转换的系统,包括:
[0068] 上述所述的双向运动估计系统,用于获取最终运动矢量;
[0069] 滤波模块,用于对插帧图像进行最终运动矢量滤波;
[0070] 补偿模块,用于对滤波后的插帧图像进行运动补偿;
[0071] 块效应处理模块,用于对运动补偿后的插帧图像进行块效应处理;
[0072] 插帧图像获取模块,用于获取最终的插帧图像。
[0073] 本发明的上述技术方案相比现有技术具有以下优点:
[0074] (1)本发明所述的双向运动估计方法及系统,获取前一帧图像和当前帧图像后,分 别进行基于前向块匹配的双向运动估计和基于后向块匹配的双向运动估计,然后根据分别 获取到的最小的SAD值和对应的运动矢量获取最终的运动矢量,获取的最终运动矢量准确 描述了运动物体的运动情况,解决了运动矢量不准确引起的运动物体与背景混淆的现象。
[0075] (2)本发明所述的视频帧率上转换方法及系统,根据双向运动估计方法及系统获 取最终运动矢量,对插值帧图像进行最终运动矢量滤波,滤波后再进行运动补偿及块效应 处理,最后获取的插帧图像消除了运动物体与背景混淆的现象及块效应现象,提高了插帧 图像的图像质量。减少了视频画面的不流畅及不连贯等问题,提高了视频视觉效果。

【专利附图】

【附图说明】
[0076] 为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合 附图,对本发明作进一步详细的说明,其中
[0077] 图1是本发明一个实施例的一种双向运动估计方法的流程图;
[0078] 图2是本发明一个实施例的一种双向运动估计示意图;
[0079] 图3是本发明一个实施例的一种视频帧率上转换方法的流程图;
[0080] 图4是本发明一个实施例的一种块效应处理不意图;
[0081] 图5是本发明一个实施例的一种双向运动估计系统框图;
[0082] 图6是本发明一个实施例的一种视频帧率上转换系统框图。
[0083] 图中附图标记表示为:1-前一帧图像、2-插帧图像、3-当前帧图像、R1-第一局部 区域、R2-第二局部区域、R3-第三局部区域,B1?B9-图像块。

【具体实施方式】
[0084] 实施例1
[0085] 本实施例提供一种双向运动估计方法,如图1所示,包括如下步骤:
[0086] S1 :读取前一巾贞图像pre_img和当前巾贞图像cur_img。
[0087] S2:根据前一帧图像和当前帧图像进行基于前向块匹配的双向运动估计,获取第 一 SAD值及对应的第一运动矢量,所述第一 SAD值为基于前向块匹配的双向运动估计获取 的所有SAD值中最小的SAD值。
[0088] 步骤S2具体包括如下步骤:
[0089] S21 :取出前一帧图像pre」mg中的一个4x4大小的图像块,在当前帧图像cur_ img的+/-8像素点的搜索范围内进行相似块匹配,该搜索范围是以当前图像块左上角坐标 为中心的上下左右各8个像素,块匹配准则采用SAD准则,SAD值为两个图像块的对应像素 点的像素值的绝对差的和,公式如下:
[0090]

【权利要求】
1. 一种双向运动估计方法,其特征在于,包括如下步骤: 获取前一帧图像和当前帧图像; 根据前一帧图像和当前帧图像进行基于前向块匹配的双向运动估计,获取第一 SAD值 及对应的第一运动矢量,所述第一 SAD值为基于前向块匹配的双向运动估计获取的所有 SAD值中最小的SAD值; 根据前一帧图像和当前帧图像进行基于后向块匹配的双向运动估计,获取第二SAD值 及对应的第二运动矢量,所述第二SAD值为基于后向块匹配的双向运动估计获取的所有 SAD值中最小的SAD值; 根据所述第一 SAD值、所述第一运动矢量、所述第二SAD值和所述第二运动矢量获取最 终运动矢量。
2. 根据权利要求1所述的双向运动估计方法,其特征在于,所述根据所述第一 SAD值、 所述第一运动矢量、所述第二SAD值和所述第二运动矢量获取最终运动矢量的步骤,包括 通过如下公式计算最终运动矢量: f = a^fi+a^f;, 其中,f表示最终运动矢量,%表示第一运动矢量的权值,a2表示第二运动矢量的权值, 表示第一运动矢量,表示第二运动矢量,〇〈ai〈i,〇〈%〈1。
3. 根据权利要求1或2所述的双向运动估计方法,其特征在于,所述根据所述第一 SAD 值、所述第一运动矢量、所述第二SAD值和所述第二运动矢量获取最终运动矢量的步骤还 包括计算ai和a2的过程,如下: 当 SADi+SAD2 = 0 时,ai = a2 = 0· 5 ; 当 SADi+SAD2 关 0 时,a! = l-SADiASADi+SAD》,a2 = l-SADsASADi+SADj ; 其中SADi为第一 SAD值,SAD2为第二SAD值。
4. 根据权利要求1或2所述的双向运动估计方法,其特征在于,所述根据所述第一 SAD 值、所述第一运动矢量、所述第二SAD值和所述第二运动矢量获取最终运动矢量的步骤还 包括计算ai和a2的过程,如下: 当 SADi = SAD2 = 0 时,ai = a2 = 0· 5 ; 当 SAD!关且 SAD2 关 0 时,ai = l-SAD^ASADj+SAD/),a2 = l-SAD/ASAD^+SAD/); 其中SADi为第一 SAD值,SAD2为第二SAD值。
5. 根据权利要求1-4任一所述的双向运动估计方法,其特征在于,所述根据前一帧图 像和当前帧图像进行基于前向块匹配的双向运动估计,获取第一 SAD值及对应的第一运动 矢量的步骤包括: 以前一帧图像到当前帧图像进行块匹配搜索,获取运动矢量A ; 将所述运动矢量^作为双向运动估计的初始值; 在所述运动矢量h的一定阈值范围内进行前一帧图像与当前帧图像的块匹配搜索,获 取所有的SAD值; 将所有的SAD值中选取最小的SAD值作为第一 SAD值,第一 SAD值对应的运动矢量为 第一运动矢量。
6. 根据权利要求1-5任一所述的双向运动估计方法,其特征在于,所述根据前一帧图 像和当前帧图像进行基于后向块匹配的双向运动估计,获取第二SAD值及对应的第二运动 矢量的步骤包括: 以当前帧图像到前一帧图像进行块匹配搜索,获取运动矢量t2; 将所述运动矢量t2作为双向运动估计的初始值; 在所述运动矢量t2的一定阈值范围内进行前一帧图像与当前帧图像的块匹配搜索,获 取所有的SAD值; 将所有的SAD值中选取最小的SAD值作为第二SAD值,第二SAD值对应的运动矢量为 第二运动矢量。
7. 根据权利要求1-6任一所述的双向运动估计方法,其特征在于,所述SAD值为前一帧 图像中的图像块与当前帧图像中的图像块的对应像素点的像素值的绝对差的和。
8. -种视频帧率上转换方法,其特征在于,包括如下步骤: T1 :利用权利要求1-7任一所述的双向运动估计方法获取最终运动矢量; T2 :对插帧图像进行最终运动矢量滤波; T3 :对滤波后的插帧图像进行运动补偿; T4 :对运动补偿后的插帧图像进行块效应处理; T5 :获取最终的插帧图像。
9. 一种双向运动估计系统,其特征在于,包括: 图像获取模块,用于获取前一帧图像和当前帧图像; 第一数据获取模块,用于根据前一帧图像和当前帧图像进行基于前向块匹配的双向运 动估计,获取第一 SAD值及对应的第一运动矢量,所述第一 SAD值为基于前向块匹配的双 向运动估计获取的所有SAD值中最小的SAD值; 第二数据获取模块,用于根据前一帧图像和当前帧图像进行基于后向块匹配的双向运 动估计,获取第二SAD值及对应的第二运动矢量,所述第二SAD值为基于后向块匹配的双向 运动估计获取的所有SAD值中最小的SAD值; 最终运动矢量获取模块,用于根据所述第一 SAD值、所述第一运动矢量、所述第二SAD 值和所述第二运动矢量获取最终运动矢量。
10. 根据权利要求9所述的双向运动估计系统,其特征在于,最终运动矢量获取模块中 包括通过如下公式计算最终运动矢量: f = a^fi+a^f;, 其中,f表示最终运动矢量,%表示第一运动矢量的权值,a2表示第二运动矢量的权值, 表示第一运动矢量,表示第二运动矢量,〇〈ai〈i,〇〈%〈1。
11. 根据权利要求9或10所述的双向运动估计系统,其特征在于,最终运动矢量获取模 块中还包括计算ai和a 2的过程,如下: 当 SADi+SAD2 = 0 时,ai = a2 = 0· 5 ; 当 SADi+SAD2 关 0 时,a! = l-SADiASADi+SAD》,a2 = l-SADsASADi+SADj ; 其中SADi为第一 SAD值,SAD2为第二SAD值。
12. 根据权利要求9或10所述的双向运动估计系统,其特征在于,最终运动矢量获取模 块中还包括计算叫和a2的过程,如下: 当 SADi = SAD2 = 0 时,ai = a2 = 0· 5 ; 当 SAD!关且 SAD2 关 0 时,ai = l-SAD^ASADj+SAD/),a2 = l-SAD/ASAD^+SAD/); 其中SADi为第一 SAD值,SAD2为第二SAD值。
13. 根据权利要求9-12任一所述的双向运动估计系统,其特征在于,第一数据获取模 块具体包括: 第一前向块匹配子模块,用于以前一帧图像到当前帧图像进行块匹配搜索,获取运动 矢量A ; 第一初始值设置子模块,用于将所述运动矢量^作为双向运动估计的初始值; 第一双向运动估计子模块,用于在所述运动矢量^的一定阈值范围内进行前一帧图像 与当前帧图像的块匹配搜索,获取所有的SAD值; 第一数据获取子模块,用于将第一双向运动估计子模块中获取的所有的SAD值中选取 最小的SAD值作为第一 SAD值,第一 SAD值对应的运动矢量为第一运动矢量。
14. 根据权利要求9-13任一所述的双向运动估计系统,其特征在于,第二数据获取模 块具体包括: 第二后向块匹配子模块,用于以当前帧图像到前一帧图像进行块匹配搜索,获取运动 矢量t2 ; 第二初始值设置子模块,用于将所述运动矢量t2作为双向运动估计的初始值; 第二双向运动估计子模块,用于在所述运动矢量&的一定阈值范围内进行前一帧图像 与当前帧图像的块匹配搜索,获取所有的SAD值; 第二数据获取子模块,用于将第二双向运动估计子模块中获取的所有的SAD值中选取 最小的SAD值作为第二SAD值,第二SAD值对应的运动矢量为第二运动矢量。
15. 根据权利要求9-14任一所述的双向运动估计系统,其特征在于,第一数据子模块 和第二数据子模块中,所述SAD值为前一帧图像中的图像块与当前帧图像中的图像块的对 应像素点的像素值的绝对差的和。
16. -种视频帧率上转换的系统,其特征在于,包括: 权利要求9-15任一所述的双向运动估计系统,用于获取最终运动矢量; 滤波模块,用于对插帧图像进行最终运动矢量滤波; 补偿模块,用于对滤波后的插帧图像进行运动补偿; 块效应处理模块,用于对运动补偿后的插帧图像进行块效应处理; 插帧图像获取模块,用于获取最终的插帧图像。
【文档编号】H04N19/577GK104219533SQ201410495756
【公开日】2014年12月17日 申请日期:2014年9月24日 优先权日:2014年9月24日
【发明者】熊超, 章勇, 曹李军, 陈卫东 申请人:苏州科达科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1