在某些实施例中,可以提供允许基于双向块匹配搜索来创建复杂度可调整的帧速率上转换(FRUC)的迭代方案。这些方法可以提高在每次迭代处所计算出的运动矢量的精度。可以采用以可变的块尺寸进行的迭代搜索。它可以以较大的块尺寸开始,以便找到帧内的全局运动,然后针对局部运动区域,使用更小的块尺寸来继续执行。
【技术实现步骤摘要】
复杂度可调整的帧速率上转换
本专利技术的实施例通常涉及帧速率上转换(FRUC),并且更加具体地涉及复杂度可调整的帧速率上转换。
技术介绍
本专利技术一般涉及帧速率上转换(FRUC)。现代帧速率上转换方案一般是基于时域运动补偿帧内插法(MCFI)。该任务中的一项重要挑战是计算反映真实运动(物体在连续帧之间的运动的实际轨迹)的运动矢量。典型的FRUC方案使用基于块-匹配的运动估计(ME),从而通过对剩余帧能量的最小化来获得结果,但不幸的是,它没有反映真实运动。于是,人们期望用于帧速率上转换的新方法。
技术实现思路
本专利技术提供了一种芯片,包括:FRUC模块,其用于通过一次或多次复杂度可调整的迭代来执行运动估计,每次迭代包括:(a)初始双向运动估计、(b)运动场细化、以及(c)额外的双向运动估计。本专利技术还提供了一种方法,包括:执行分级运动估计操作,以用于根据第一帧与第二帧产生新帧,所述新帧要布置在所述第一帧与所述第二帧之间,所述分级运动估计包括执行两次或更多次处理迭代,每次迭代包括:(a)对所述第一帧和所述第二帧执行初始双向运动估计操作,以产生运动场;(b)对所述第一帧和所述第二帧以及运动场执行运动场细化操作,以及(c)对所细化的第一帧和第二帧执行额外的双向运动估计操作。本专利技术还提供了一种具有指令的me内存存储器设备,当由处理器执行时,执行帧速率上转换,其包括:执行两次或更多次分级运动估计迭代,每次迭代包括:(a)对第一帧和第二帧执行初始双向运动估计操作以产生运动场;(b)针对所述第一帧和所述第二帧以及运动场执行运动场细化操作,以及(c)对所细化的第一帧和第二帧执行额外的双向运动估计操作。附图说明通过举例的方式而不是通过限制的方式,在附图的图片中描绘本专利技术的实施例,在图中,同样的附图标记表示同样的元件。图1是根据某些实施例的帧速率上转换(FRUC)模块的框图。图2A-图2B是描绘帧边界的去除的视图。图3是根据某些实施例,描绘分级运动估计迭代的视图。图4A是根据某些实施例,描绘用于执行双向运动估计迭代的例行程序的视图。图4B是根据某些实施例,描绘用于执行双向梯度搜索的例行程序的视图。图5是根据某些实施例,描绘用于梯度搜索的相关像素位置的视图。图6表示根据某些实施例,用于额外搜索的运动矢量。图7根据某些实施例,描绘了以动态可调整的复杂度进行运动估计的示例。图8是根据某些实施例,包含具有帧速率上转换器的图形处理单元的计算系统的系统图。具体实施方式在某些实施例中,可以提供允许基于双向块-匹配搜索来创建复杂度可调整的帧速率上转换(FRUC)的迭代方案。这些方法可以提高每次迭代处所计算出的运动矢量的精度。可以采用以可变的块尺寸进行的迭代搜索。它可以以较大的块尺寸开始,以便找到帧内的全局运动,然后针对局部运动区域来使用较小的块尺寸来继续执行。在某些实施例中,为了避免由于内插帧上的遮挡(occlusion)而造成的空洞相关的问题,可以使用双向运动估计。利用这种方法,使用所计算的运动矢量的帧内插的复杂度可以改变,例如,当不需要较高帧质量时,该复杂度降低。图1是根据某些实施例,表示帧速率上转换(FRUC)模块100的框图。它接收视频帧数据102,由此它产生要提供给显示器的上转换视频帧信号(或文件)。可以通过任何适合的方式(硬件、软件、结合)和/或在任何合适的应用中使用FRUC模块。例如,对于个人电脑、电视装置等,它可以通过图形处理单元或者通过视频编解码器来实现。此外,它可以用于各种视频格式中,包括但不限于H.264、VC1、以及VP8。在所示实施例中,帧速率上转换器100包括帧预处理部件120、分级运动估计器(ME)部件130、以及双向运动补偿部件140。该运动估计部件130采用(例如,动态地,取决于给定的文件或帧组)一次或多次(M=一个或多个)运动估计迭代132。在某些实施例中,FRUC每次在两个连续帧(帧i、i+1)上工作,直到其按照自己的方式在整个文件的帧上完成工作为止,在i和i+1帧集合之间插入新的帧。所以,如果其在每个第i帧与第i+1帧之间插入内插帧,则对于2x帧速率上转换而言,其使得文件中的帧数量翻倍。(当然,对于2的倍数的不同FRUC,其可以重复1次或多次。)帧部件预处理(120)包含从帧中去除黑色边界(如图2A中所示),并且进一步对这些帧进行扩展以适应最大的块尺寸(图2B和图2C)。帧部件预处理可以包含去除帧的黑色边界并且执行帧扩展。参照图2A,可以执行边界去除。可以通过如下命题来定义边界:如果行或列的所有像素值小于某个预先定义的阈值,则该行或列属于帧的边界。可以对前一帧(i-1帧)应用一种用于检测边界的算法。使用所检测的边界坐标来从前一帧和下一帧两者切除边界。在某些实施例中,可以通过如下方式来执行帧部件预处理工作流程。起初,检测边界。可以如下检测上边界、左边界、下边界、以及右边界:其中,max(X)返回集合X中的最大元素,以及表示亮度帧Y中的矩形区域;l,u-左上区域角的坐标;r,d-右下区域角的坐标。接下来,去除所检测的黑色边界,其中以及可以通过任何合适的方式来执行帧扩展。例如,可以对帧进行填充以适应块尺寸。帧大小应当是可按块尺寸分割的。为了提供该额外的帧内容,可以将行和列加到帧的左边界和下边界(图2B)。然后,可以将多个行和列附加到帧边界上(图2B)。最终扩展在图2C中示出。分级运动估计块有N=M次迭代132。根据所期望的帧质量与处理复杂度之间的权衡,可以使用更多或更少的迭代。每次迭代可以使用不同的参数,例如,随着迭代的进行,可以使用更小的块尺寸来进行双向运动估计任务。图3是根据某些实施例,描绘分级运动估计迭代132的视图。每次分级ME迭代132可以包括按照所示顺序执行的下列阶段:初始双向ME(302)、运动场细化(304)、额外的双向ME(306)、运动场上采样(308)、以及运动场平滑(310)。初始和额外的双向运动估计阶段(302、306)将会具有相关联的参数,包括块尺寸(B[N]、半径(R[N])和惩罚参数(penaltyparameter)。运动场平滑(310)是可选阶段,从而实际上对于每次迭代,具有布尔参数值(是或否)。对于每次连续迭代,这些参数值有可能或者很可能应该有所变化。(这在图7中形象地描绘,其具有M=5次分级运动估计迭代。)块尺寸(B[n])一般应该是2的幂(例如,64x64、32x32等)。(在本说明书内,“n”指的是在ME过程中的阶段。)可能存在其它ME阶段参数,包括R[n]、Penalty[n]、以及FrameBorderThr。R[n]是第n阶段的搜索半径、在梯度搜索中的最大步长(例如,16…32)。Penalty[n]是在梯度搜索中使用的数值,并且FrameBorderThr是用于块帧边界去除的阈值(例如,16…18)。其它参数可以包括:ExpParam和ErrorThr。ExpParam是添加到每张图片边界上以用于扩展的像素数量(例如,0…32),ErrorThr是用于运动矢量可靠性分类的阈值。图4A和图4B示出了用于执行双向运动估计(图4A)和双向梯度搜索(图4B)的例行程序,其中,所述双向梯度搜索可以用于双向运动估计例行程序。该双向运动估计例行程序可以用于分级运动估计本文档来自技高网...

【技术保护点】
一种芯片,包括:FRUC模块,其用于通过一次或多次复杂度可调整的迭代来执行运动估计,每次迭代包括:(a)初始双向运动估计、(b)运动场细化、以及(c)额外的双向运动估计。
【技术特征摘要】
2011.12.22 RU PCT/RU2011/0010201.一种芯片,包括:帧速率上转换器,其用于通过一次或多次复杂度可调整的迭代来执行运动估计,每次迭代包括:(a)初始双向运动估计;(b)运动场细化;以及(c)额外的双向运动估计,其中所述额外的双向运动估计采用针对连续迭代中的每一次而更新的动态搜索半径参数以及惩罚参数。2.如权利要求1所述的芯片,其中,每次迭代的初始双向运动估计阶段使用了不同的梯度搜索块尺寸。3.如权利要求1所述的芯片,其中,所述帧速率上转换器是片上系统SoC中的GPU的一部分。4.如权利要求3所述的芯片,其中,所述GPU要在所述运动估计操作完成之后执行双向运动补偿操作。5.如权利要求1所述的芯片,其中,所述复杂度可调整的迭代包括针对每次迭代在依次变小的块尺寸上进行搜索。6.一种用于帧速率上转换FRUC的方法,包括:执行分级运动估计操作,以用于根据第一帧与第二帧产生新帧,所述新帧要布置在所述第一帧与所述第二帧之间,所述分级运动估计包括执行两次或更多次处理迭代,每次迭代包括:(a)对所述第一帧和所述第二帧执行初始双向运动估计操作,以建立运动矢量;(b)对所述第一帧和所述第二帧以及运动场执行运动场细化操作,以及(c)对所...
【专利技术属性】
技术研发人员:M·吉利穆季诺夫,A·韦谢洛夫,I·格罗霍特科夫,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。