使用运动估计和补偿的帧速率转换的制作方法

文档序号:7764999阅读:141来源:国知局
专利名称:使用运动估计和补偿的帧速率转换的制作方法
使用运动估计和补偿的帧速率转换技术领域
本申请总体上涉及处理视频信息。
背景技术
视频可能具有给定的帧速率。视频由连续的静止帧构成。帧速率是每秒的帧的数 目。一些显示器使用与输入视频的帧速率不同的帧速率。这样,帧速率转换将帧速率 变高或变低以便输入帧速率与显示器的帧速率匹配。


附图1是本发明一个实施例的示意性的描述;附图2是根据一个实施例可以如何给像素块分配运动估计搜索位置权重的指示;附图3是根据本发明的一个实施例的分层的运动估计的流程图;附图4是根据本发明的一个实施例的帧插值的流程图;以及附图5是根据本发明的一个实施例的最后的像素插值的流程图。
具体实施例方式将帧速率转换用于改变视频序列的帧速率。一般的帧速率转换算法应用是将影片 内容从M帧每秒转换到60帧每秒以用于全国电视系统委员会(NTSC)系统,或从25帧每 秒转换到50帧每秒以用于逐行倒相(PAL)系统。高清晰度电视支持120帧每秒或240帧 每秒的显示,这也需要帧速率的上转换。根据一些实施例,帧速率转换算法可以补偿在视频 序列中描述的运动。在一个实施例中,使用双向的、分层的运动估计和运动补偿。“双向的”意味着在前 向和后向的方向上估计相同的两个锚定帧(在此称为前一帧和后一帧)之间的运动。分层 的运动估计指的是用所提供的视频信息的增加的分辨率来细化运动估计的情况。双向的分 层的运动估计和补偿之后可以是最终的插值阶段,该阶段处理从运动估计和补偿阶段出现 的各种问题以改善插值图象的质量。参照附图1,帧速率转换算法10包括运动估计块12和帧插值块14。这样,输入的 前一帧可以去到块12和块14,就如同输入的后一帧一样。以输出帧速率插值14接收输入 帧速率和输出帧速率。它还接收运动矢量。基于所有这些信息,它提供帧速率正确的输出, 正如所示的。在两个或更多个相邻的帧之间通过从一个帧到另一个帧对区域进行匹配,来进行 运动估计。这些进行匹配的区域通常是该帧内较小的矩形的像素块。进行双向的运动估计 以获得两组运动矢量(一组从基础帧到后一帧,一组从基础帧到前一帧)。在一些实施例 中,使用双向运动估计可以得到更可靠的运动矢量。然后将最后的运动矢量的组用于在正 确的时间戳处插入帧。时间戳以帧速率为基础。
运动估计计算运动矢量,运动矢量表示视频帧序列内的描述的图像对象的平移和 旋转运动。使用块匹配技术,针对mXn的块获得单个的运动矢量。典型的相似性度量是块 之间的绝对差值和(SAD),但是也可以使用其他的相似性度量。给矩形块内的所有像素分配 相同的运动矢量。在一些实施例中,分层的运动估计引擎基于绝对差值、分辨率层次以及到搜索块 的距离来使用能量最小化。在一些实施例中,分层的运动估计可以通过独立地工作在原始 的视频帧的低分辨率版本上并且在运动矢量的位置逐步地增加分辨率,来允许增加运动范 围,并且同时增加其值的置信度。例如,在运动估计超过了阈值的时候可以检测到快速的或剧烈的运动帧。在一些 实施例中,可以将快速运动作为插值的特殊情况。用户可以为运动矢量设置运动矢量置信 度阈值级别。随着运动的增加,置信度通常降低。运动估计引擎以不同的分辨率层次针对大小为mXn的块计算运动矢量。在每个 分辨率层次,在搜索窗口内细化来自较低分辨率层次的运动矢量。可以基于距离加权的绝 对差值和来获得代价函数。代价函数可以用于计算最小代价函数。相比于具有相同代价的 更远的运动矢量,可以将优选权给予更接近基础运动矢量的运动矢量。在一些实施例中,这 样可以避免矢量分歧。在一个实施例中,将相同的权重给予具有类似颜色的像素。在一些实 施例中,可以将更多优选权给予更接近中心像素的像素,意味着它们可以具有较小的权重。 一般地,更接近的运动矢量更可靠。这样,参照附图2,作为一个例子,其中m和η是5,基础像素被表示为具有权重因 子(wt_faCtor) = 1.0。在这个例子中,紧接着包围的像素具有权重因子1.05,并且最后一 组包围的像素具有权重因子1. 1025。当然,这仅仅是一个例子,并且不同的分配权重的方式 以及使用的具体的权重都可以不同。可以通过使代价函数最小化来计算运动矢量,其中代价函数说明与中心像素的距 离以及搜索范围内的绝对差值和。如下可以针对P X q的窗口大小计算绝对差值和的代价 函数MV (dx, dy) = arg min (SAD_C0ST)Γ IKxJKy SAD_COST = \ Yj AD {AD step_cnt) i*Wt_ factor其中,AD是绝对差值和的窗口的对应像素位置之间的绝对差值。Wt_faCtor是权 重因子,step_Cnt是分辨率层次之间的间隔。例如,层次为5对应于原始的1/32的分辨率。参照附图3,可以用硬件、软件或固件来实现根据本发明的一个实施例的序列。在 软件或固件实现的实施例中,它可以由计算机执行的指令构成。可以将指令存储在有形的 计算机可读介质中,例如光学的、磁性的或半导体的存储器中。最初,如块观中所示,前一帧和后一帧用于生成分层图像。在这个四遍的例子中, 如在沈处所示的,分层图像包括完全分辨率图像、一半分辨率图像、四分之一分辨率图像 以及八分之一分辨率图像。系统以八分之一分辨率图像在块M处开始。在本例中,在第3层,块大小是8X8,这意味着每8X8的像素集合有一个运动矢 量。SAD窗口是包围8X8块的12X12的窗口。这样,搜索范围是士4个像素,在每个位置 计算出12X12窗口的SAD。然后将来自于第3层的运动矢量提供给运动估计第2层(块22),运动估计第2层接收四分之一分辨率图像。在这个情况下,搜索范围可以是士 10个像 素,作为一个例子,块大小可以是16X16,并且搜索窗口可以是16X16。将来自运动估计第2层(块2 的输出提供给运动估计第1层(块20),运动估计 第1层接收一半分辨率图像以及来自第2层的运动矢量。块大小是16X 16并且SAD窗口 是16X 16,但是搜索范围是士21个像素。第1层运动估计将运动矢量输出到运动估计第0层(块18),运动估计第0层还 接收完全分辨率图。块大小是16X 16并且SAD窗口是16X 16,但是搜索范围是士43个像 素。如在沈处所示的,完全分辨率图包括比一半分辨率多75%,一半分辨率只包括原始分 辨率的四分之一。类似地,四分之一分辨率只接收一半分辨率的分辨率的四分之一,八分之 一分辨率只接收四分之一分辨率的四分之一。然后来自块18的输出以运动矢量的形式提供给块16,在块16中针对8X8的块大 小和12X12的SAD窗口来细化运动矢量,以生成大小8X8的运动矢量。在分层运动估计中,可以使用r遍运动估计,每一遍具有不同的(例如,增加的) 分辨率。作为一个例子,可以使用4遍的分层运动估计。该运动估计开始于最粗的层,在这 个例子中名为第3层,并且在每个随后的步骤被细化。第3层可以对应于原始分辨率的1/8 分辨率。在最粗的层(第r层),在像素的搜索范围内的每个位置计算绝对差值和代价。在 一个实施例中,在这个分辨率层次,可以获得最小的绝对差值和代价以及次最小的绝对差 值和代价。在一些实施例中,如果这两个代价之间的差值太小,那么在同一层,针对当前块可 以使用来自于相邻块的最佳运动矢量。在一个实施例中,如果该差值在最小绝对差值和的 给定百分比内,则认为该差值太小。在一个实施例中,作为一个例子,可以从以前分析的相邻的上侧块和左侧块中得 到最佳运动矢量。上侧块是在目标块紧挨着的上方的块,左侧块是在目标块紧挨着的左边 的块。如果已经将来自于前一帧的运动矢量转换为运动场(motion field),可以将它们视 为用于得到最佳运动矢量的候选以作为对一致性的额外检查。在一个实施例中,通过记录 四个或五个最普通的和最可靠的运动矢量,来将它们转换成运动场。
在某些情况下,这个方法可以比递归的方法更强大,递归的方法可能传播错误或 遭受较慢的转换跃迁(conversion transition)。在下一更高的分辨率层次(r-Ι),在像素的搜索范围内细化来自较低层的运动矢 量。从第r-2层继续进行的细化步骤使用来自于相邻的四个较低分辨率块的最佳运动矢 量。这样,一组块(一行的左上侧、右上侧以及正下方又一行的左下侧和右下侧)可以表示 四个块,这四个块不分享来自于较低分辨率图像的相同的运动矢量。左上侧块使用相同的模式在相邻的四个块中选择最佳的作为基础运动矢量。然后 在像素的搜索范围内将基础运动矢量进行细化。从第r-2层到第0层接着采用这些递归步 骤。在第0层运动估计之后,可以使用细化步骤来从相邻的四个运动矢量中选择最佳运动 矢量。可以在前向和后向两个方向上使用这个运动估计步骤,以提高运动矢量的整体的一 致性和稳健性,在一些实施例中。可以在插值步骤期间使用这些双向的运动矢量。帧插值步骤包括在正确的时间戳处插入帧,通常填入所需要的额外的帧以构成更 高的帧速率。此外,时间戳以帧速率为基础。在一个实施例中,帧插值步骤具有三个块双向的运动补偿、空缺填充以及插值。在运动补偿步骤中,在应用运动补偿之前,将从运动估 计弓I擎获得的运动矢量缩放到正确的时间戳。在运动补偿阶段,识别三种不同类别的像素,并且将所识别的像素给予三种标记 中的一种标记。没有运动补偿值的像素标记为空缺像素。对于靠近边缘的像素可能出现空 缺像素,其使得在后一帧中没有像素匹配该空缺像素。空缺像素具有最低的置信水平。像 素也可以与多个运动矢量相关联,其标记为多对一或M20。它们具有中等置信水平。一对一 像素(020)是与前向或相反方向中的另一个像素相匹配的像素。这些像素具有最高的置信 值。在多对一映射像素的情况中,可以基于相邻的像素来细化运动矢量。计算前向和 后向运动补偿图像,并且计算在每个像素处的对应的运动估计误差,例如,作为大小为P X q 的窗口中的所有三个颜色分量的绝对差值和。例如,可以进行3 X 3误差计算,其中,使用前 一帧中的九个像素和后一帧中的九个像素的组来插入中间像素。在一个实施例中,可以使用邻居像素信息对在运动补偿步骤之后标记为空缺的像 素进行插值。在空缺填充中,可以从相邻的运动矢量递归地填充空缺。具有最小的绝对差 值和代价的运动矢量可以用于当前像素。参照附图4,将来自于运动估算步骤的前向运动矢量提供给块30,其中对前向运 动矢量进行缩放。即,在块36中,前向运动矢量可以乘以缩放因子t,并且使用Ι-t对后向 运动矢量进行缩放。缩放因子t缩放到正确的时间戳。接下来,在块32中生成前向运动补 偿图像,其中计算出每个像素的运动补偿误差。同样地,在块38中,由于计算出每个像素的 运动补偿误差,生成了后向运动补偿图像。接下来,进行空缺填充步骤34。最后,生成最终 插入的帧,正如在块40中所示出的,并且在下文进行描述。参照附图5,最终的像素插值开始于块42,其中针对前向(CntF020)和后向 (CntB020)插值帧两者,计算在当前像素邻域内的一对一(020)像素的数目(CNT)。如果前 向运动矢量(Fwd Mvs)和后向运动矢量(Bwd Mvs)的绝对值低于阈值(MV_FWD_TH或MV_ BWD_TH),并且像素标记不是空缺像素,那么从前向和后向插入像素插入像素,正如在菱形 44中所示出的。如在块44中确定的,如果前向运动矢量(Fwd Mvs)大于阈值(MV_FWD_TH),并且后 向运动矢量(Bwd Mvs)小于阈值(MV_BWD_TH),那么在菱形46处的检查判断前向像素标记 和后向像素标记是否是相同的。例如,它们可能都是一对一像素。在菱形46处的检查还判 断一对一像素的前向计数是否大于阈值以及一对一像素的后向计数是否大于阈值。如果是 这样的,那么在块48,将输出像素设置为等于前向运动补偿像素和后向运动补偿像素的平 均。相比于多对一像素,可以将优选权给予一对一像素(如果这些像素对于前向插值像素 和后向插值像素两者是相同的,不论对于一对一还是用于多对一),然后可以使用平均像素 值作为最终输出。否则,在菱形50处的检查判断前向像素标记是否是一对一以及后向像素的计数 是否大于一对一的阈值。如果是,在块52处将输出像素设置为等于前向运动补偿像素。否 则,在菱形M处的检查判断后向像素标记是否是一对一的以及后向一对一像素的计数是 否大于阈值。如果是,在块62将输出像素设置为等于后向运动补偿像素。否则,在菱形56处的检查判断前向像素标记是否是多对一(M20)以及后向一对一像素的计数是否大于阈值。如果是,在块62将输出像素设置为等于前向运动补偿像素。否则,在菱形58处的检查判断后向像素标记是否是多对一以及后向一对一像素 的计数是否大于阈值。如果是,那么在块62将输出像素设置为等于后向运动补偿像素。否 则,在块60将输出像素设置为等于前向运动补偿像素、后向运动补偿像素和alpha混合像 素的中间值。如果前向运动矢量不小于前向运动矢量阈值,并且后向运动矢量不小于后向 运动矢量阈值,则这也是结果。alpha混合像素是在零运动处的相邻帧的像素的混合,其由与时间戳的接近程度 进行加权。基于时间戳在哪里来进行混合。基于从插值帧到前一帧的距离以及从后一帧到 插值帧的距离,来相应地进行混合。如果前向和后向运动补偿像素是相同的,那么中间值将 采用这个值,否则,中间值采用alpha混合像素值。无论是哪种情况,在块64应用低通滤波器。 在一些实施例中,运动补偿的双向和分层的多分辨率方法的组合,以及对特殊情 况的适当处理,其结果是,检测最终帧的双向补偿版本,并且允许生成相对高质量的插值 帧,而没有由于弱的运动估计或插值弓I起的典型损伤。在此描述的图形处理技术可以用各种硬件结构实现。例如,可以将图形功能集成 在芯片组内。可替换地,可以使用离散图形处理器。仍然作为另一个实施例,可以通过通用 处理器(包括多核处理器)来实现图形功能。在整个说明书中提及的“一个实施例”或“实施例”意味着结合实施例描述的特 定的特征、结构或特性包括在本发明中包含的至少一个实现中。这样,出现的短语“一个实 施例”或“在实施例中”不一定指的是同一实施例。此外,可以以不同于举例说明的特定实 施例的其它适当的形式来得到特定的特征、结构或特性,并且所有的这些形式可以包含在 本发明的权利要求中。虽然已经针对有限数目的实施例描述了本发明,那些本领域中的普通技术人员将 会意识到许多的修改和由此的变形。其意图是所附的权利要求覆盖所有这些修改和变形, 因为其落入本发明的真正精神和保护范围内。
权利要求
1.一种方法,包括通过对一个帧中的像素进行与在另一个帧中的匹配像素的数量有关的标记,来进行第 一帧速率的连续帧之间的运动估计;以及使用所述运动估计和所述像素标记在具有不同于所述第一帧速率的第二帧速率的帧 中插入像素。
2.根据权利要求1所述的方法,包括对在另一个帧中没有匹配像素的像素进行标记。
3.根据权利要求1所述的方法,包括对在另一个帧中只有一个匹配像素的像素进行标记。
4.根据权利要求1所述的方法,包括对在另一个帧中有多个匹配像素的像素进行标记。
5.根据权利要求1所述的方法,其中,估计运动包括基于连续帧之间的相似性度量以 及运动矢量到基础运动矢量的距离,来确定代价函数。
6.根据权利要求5所述的方法,其中,如果所述代价函数是不确定的,则使用在当前考 虑的块上方的以前的块以及在当前考虑的块左边的以前的块,来获得所述运动矢量。
7.根据权利要求1所述的方法,其中,所述运动估计是双向的。
8.根据权利要求7所述的方法,其中,所述运动估计是多分辨率的。
9.根据权利要求8所述的方法,其包括使用代价函数和分辨率因子,所述代价函数对 到匹配块的距离进行加权。
10.根据权利要求1所述的方法,其包括使用块匹配准则,其中所述块匹配准则使用 大于块的大小的绝对差值和窗口。
11.一种存储由计算机执行以进行下列操作的指令的计算机可读介质使用运动估计以及在运动估计期间进行的像素标记在帧中插入像素,从而转换视频帧 的帧速率;以及其中,进行像素标记包括基于后续帧中与以前的帧中的像素相对应的像素的数量,来 标记像素。
12.根据权利要求11所述的介质,进一步存储进行以下操作的指令如果像素在后续 帧中没有匹配像素,则用一个唯一的标记来标记所述像素。
13.根据权利要求11所述的介质,进一步存储进行以下操作的指令如果像素在后续 帧中只匹配一个像素,则用唯一的标记来标记这些像素。
14.根据权利要求11所述的介质,进一步存储进行以下操作的指令如果像素在后续 帧中匹配多个像素,则用唯一的标记来标记所述像素。
15.根据权利要求11所述的介质,进一步存储进行以下操作的指令基于连续帧之间 的相似性度量以及运动矢量到基础运动矢量的距离,来作为所述运动估计的一部分确定代 价函数。
16.根据权利要求15所述的介质,进一步存储进行以下操作的指令使用其代价函数 不确定的块上方的以前的块以及其代价函数不确定的块左边的以前的块,来获得运动矢量。
17.根据权利要求11所述的介质,进一步存储进行以下操作的指令进行双向的运动 估计。
18.根据权利要求17所述的介质,进一步存储进行以下操作的指令进行多分辨率的 运动估计。
19.根据权利要求18所述的介质,进一步存储进行以下操作的指令在四个相邻块中 选择最佳候选以作为用于下一个较高分辨率的基础运动矢量,其中所述四个相邻块不分享 来自于较低分辨率的相同运动矢量。
20.根据权利要求11所述的介质,进一步存储进行以下操作的指令对在接下来的帧 中只有一个匹配像素的像素的数量进行计数,并且使用该数量来确定如何针对所述帧速率 转换来插入像素。
21.一种装置,包括运动估计单元,其用于通过对像素进行与在后续帧中的匹配像素的数量有关的标记, 来进行第一帧速率的连续帧之间的运动估计;以及插值单元,其用于使用所述运动估计和所述像素标记在具有不同于所述第一帧速率的 第二帧速率的帧中插入像素。
22.根据权利要求21所述的装置,其中,所述运动估计单元用于对在后续帧中没有匹 配像素的像素进行标记。
23.根据权利要求21所述的装置,所述运动估计单元用于对在后续帧中只有一个匹配 像素的像素进行标记。
24.根据权利要求21所述的装置,所述运动估计单元用于对在后续帧中有多个匹配像 素的像素进行标记。
25.根据权利要求21所述的装置,其中,所述运动估计单元用于基于连续帧之间的相 似性度量以及运动矢量到基础运动矢量的距离,来确定代价函数。
26.根据权利要求25所述的装置,所述运动估计单元用于如果所述代价函数是不确 定的,则使用在进行估计的块上方的以前的块以及在所述进行估计的块左边的以前的块, 来获得所述运动矢量。
27.根据权利要求21所述的装置,其中,所述运动估计单元是双向的。
28.根据权利要求27所述的装置,其中,所述运动估计单元是多分辨率的。
29.根据权利要求观所述的装置,其中,所述运动估计单元用于在四个相邻块中选择 最佳候选以作为用于下一个较高分辨率的基础运动矢量,其中所述四个相邻块不分享来自 于较低分辨率的相同运动矢量。
30.根据权利要求21所述的装置,所述插值单元用于对在接下来的帧中只有一个匹 配像素的像素的数量进行计数,并且使用该数量来确定如何针对到所述第二帧速率的帧速 率转换来插入像素。
全文摘要
可以使用运动估计结果实现帧速率转换。特定地,作为运动估计的一部分,可以基于在后续帧中的匹配像素的数量来标记像素。例如,可以标记像素关于它们是否没有匹配像素、有一个匹配像素或有多个匹配像素。然后可以使用运动估计和像素标记来插入像素以用于帧速率转换。
文档编号H04N5/14GK102055947SQ20101054072
公开日2011年5月11日 申请日期2010年9月26日 优先权日2009年11月9日
发明者J·E·卡尔维德斯, M·苏贝达尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1