生成运动补偿视频帧的方法和设备的制造方法

文档序号:10664042阅读:329来源:国知局
生成运动补偿视频帧的方法和设备的制造方法
【专利摘要】本发明涉及一种用于基于原始视频序列的四个连续帧生成运动补偿视频帧的方法(2000),所述四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,所述方法包括:获取(2001)三个连续运动估计对,其中,第一对包括从A到B的前向运动向量场A_FWD和从B到A的后向运动向量场B_BCK,第二对包括从B到C的前向运动向量场B_FWD和从C到B的后向运动向量场C_BCK,以及第三对包括从C到D的前向运动向量场C_FWD和从D到C的后向运动向量场D_BCK;以及使用所述三个连续运动估计对基于所述帧B与C之间的插值(2003)来生成所述运动补偿视频帧。
【专利说明】
生成运动补偿视频帧的方法和设备
技术领域
[0001] 本发明涉及一种用于生成运动补偿视频帧的方法和设备。本发明还涉及图像或视 频处理领域中的运动向量插值,或更具体地,涉及具有应用到帧率转换器或图像插值设备 中的运动补偿的图像插值领域。
【背景技术】
[0002] 运动补偿视频插值用于提高视频质量,例如,用于在视频处理等情况下提供无抖 动视频或用于在视频压缩等情况下减少数据量。图1示出了运动补偿视频插值100的方法。 运动补偿视频插值100通常包括运动估计101和运动补偿103。视频输入102存储在视频帧存 储器中,该视频帧存储器存储视频输入102的帧104、106、108、110。运动估计101和运动补偿 103通过处理视频输入102的帧104、106、108、110来将插值视频112作为输出提供。
[0003] 运动补偿视频插值通常后跟运动估计(motion estimation,ME)步骤。存在许多基 于ME块的算法,例如,块匹配、3DRS、光流、相位相关等。这些ME算法可以用于运动补偿视频 插值。运动估计器为帧的待插值的每个像素块计算运动向量,图像在时间上位于数字电视 序列的两个相邻帧之间。像素块必须包括至少一个像素。从像素块的已计算好的运动向量 以及从为先前源图像计算的运动向量的投影并包括考虑的像素,计算图像的每个插值像素 块的运动向量。运动补偿视频插值通常要求真实的运动向量。基于块的运动估计引起方块 效应。
[0004] 为了降低方块效应,使用重叠块运动补偿(overlapped block motion compensated,0BMC)方案。0BMC在以下示例中简略描述。在示例中,通过变量1彡I彡9来索引 的0BMC中涉及9个块。每个块的大小为8*8。左上块通过索引i = 1来标记,中心块通过i = 5来 标记,右下块通过索引i = 9来标记。
[0005] 在分块运动补偿(block motion compensation,BMC)图像重建中,每个块与一个 运动向量关联,通过从经由运动向量偏移的前一帧复制和粘贴8*8块来获得像素预测。在复 制和粘贴流程中,BMC中不会发生块重叠。0BMC使用大小为16*16的称为窗口支持域的放大 块。16*16窗口支持函数通过双线性形状描述。
[0006] 预测像素强度的0BMC线性估计器可以写为
[0008] 其中,f是相对于帧坐标的绝对像素位置,4是相对于块内当前块的坐标的像素位 置,g是块i的运动向量,Wi是块i的加权系数,f是先前重建的像素强度。
[0009] "H.Watanabe 和 S.Singhal 著的"窗式运动补偿(Windowed motion compensation)",SPIE的视频通信与图像处理(Visual Comm. Image Processing,VCIP)的 会刊的第1605卷第582-589页"描述了一种仅在重建中使用传统BMC运动搜索以及应用0BMC 的方法。该方法对交叉对象和/或未覆盖区域的插值像素的运动向量会产生错误。
[0010] 在大多数情况下,对复制-粘贴过程使用双线性插值。
[0011]在前一帧1。1(1与当前帧1_之间有待插值帧14勺情况下,先前定义的运动向量指向 各个帧的帧点。该帧点可为像素或位于4个像素之间的点。根据方程式(2)使用8个像素执行 双线性插值,8个像素即为前一帧的4个像素和当前帧的4个像素。
[0013] 其中,V1、V2、V3和V4指定前一帧的像素,V5、V6、V7和V8指定当前帧的像素, ^,...,α8是加权因子,表示所述像素到图像点的接近。考虑到运动估计不会没有误差,对移 动的这种补偿插值包括图像覆盖和未覆盖区域中的可见缺陷。这些缺陷要么不出现要么出 现在两个连续帧之间,因为不可能存在像素间的匹配。
[0014] 帧插值算法广泛用于帧率转换器以便,例如以30帧/秒至120帧/秒,在数字电视机 处创建免抖动视频。实时帧运动补偿算法会克服下文描述的问题。第一个问题是可见方块 效应,因为运动估计具有低空间分辨率,即,块。第二个问题是覆盖和未覆盖区域的可见效 应。覆盖和未覆盖区域要么不出现要么出现在两个连续帧之间,因为不可能存在这两个帧 之间的匹配。第三个问题是实时硬件实施的算法优化。
[0015] 美国专利US 4771331描述了一种运动补偿领域插值方法,该方法允许在数字电视 序列的每两个传输场之间插值若干场。通过使用平移位移物体的模型,应用分层结构化位 移估计器来处理相对大的位移。这为待插值场的每个图像元素提供了具有整数组件的位移 向量。使用变化检测器来确保未变化区域中的零位移向量。双系数时空滤波器对待插值的 场的每个图像元素进行插值。该方法对穿过物体和/或未覆盖区域中插值像素的运动向量 会产生错误。
[0016] 美国专利US 2007/0121725描述了一种运动补偿帧插值装置和一种方法,该方法 包括物体和未覆盖区域的运动向量插值模块以便为穿过物体和/或未覆盖区域中的插值像 素的运动向量生成信息。覆盖区域的运动向量插值模块为穿过覆盖区域的插值像素的运动 向量生成信息。运动向量计数器记录穿过插值像素的运动向量的数目。运动向量插值的缓 冲区缓冲穿过物体和/或未覆盖区域以及覆盖区域中插值像素的运动向量的信息。视频数 据插值模块生成物体和/或未覆盖区域以及覆盖区域中插值像素的视频数据。未公开用于 检测覆盖和未覆盖区域的算法。
[0017] 美国专利US 8223839 Β2描述了一种对运动估计向量中的误差不敏感的运动补偿 视频插值。文件提议了一种运动补偿视频插值方法,在该方法中,插值步骤根据所考虑像素 的估计运动向量的幅度和/或可靠性指数而变化。用于插值的像素的数目和与这些像素关 联的加权因子根据估计运动向量的幅度和/或可靠性指数而变化。未公开用于为运动向量 的幅度选择邻近像素和阈值的算法。

【发明内容】

[0018] 本发明的目的是提供一种在成对的连续帧之间插值新帧的方法。
[0019] 该目的由独立权利要求的特征来实现。另外的实施形式在从属权利要求、描述内 容和附图中显而易见。
[0020] 运动补偿帧插值方法包括修复覆盖/未覆盖区域中的误差运动向量,这通过以下 方式来进行:将坏的内部向量,即旧前向或新后向向量,分别替换为倒置的外部向量,即旧 后向或新前向向量。为了获得运动向量,在插值帧的时间位置处执行向量投影和包括投影 的覆盖/未覆盖区域的正确向量的选择。在所述插值帧的所述时间位置处选择正确的插值 图像侧包括所述投影的覆盖/未覆盖区域。方块效应的问题得以解决,如将在下文所示的 (参见根据第一方面的方法的第六可能实施形式)。
[0021] 为了详细描述本发明,将使用以下术语、缩略语和符号:
[0022] ME:运动估计。
[0023] 0BMC:重叠块运动补偿。
[0024] BMC:分块运动补偿。
[0025] 覆盖区域可定义为可在前一帧中出现但在未来帧中被移动物体"覆盖"、掩盖或替 代的背景区域。
[0026] 未覆盖区域可定义为在前一帧中被移动物体覆盖但由于移动物体的移动而在未 来帧中"未被覆盖"的背景区域。
[0027] 根据第一方面,本发明涉及一种用于基于原始视频序列的四个连续帧在原始序列 的在成对连续帧之间生成运动补偿视频帧的方法,所述四个连续帧包括第一帧A、第二帧B、 第三帧C和第四帧D,所述方法包括:获取三个连续运动估计对,其中,第一对包括从A到B的 前向运动向量gA_FWD和从B到A的后向运动向量场B_BCK,第二对包括从B到C的前向运动向 量场B_FWD和从C到B的后向运动向量场C_BCK,第三对包括从C到D的前向运动向量场C_FWD 和从D到C的后向运动向量场D_BCK;以及使用所述三个连续运动估计对基于所述帧B与C之 间的插值来生成所述运动补偿视频帧。
[0028] 通过使用三个连续运动估计对,可以解决覆盖/未覆盖区域中的运动向量修复问 题。该方法提供了一种用于免抖动视频的实时算法。注意的是,成对连续帧之间的插值不在 运动估计对之间执行:三个连续运动估计对在向量修复部分使用。
[0029] 根据所述第一方面,在所述方法的第一可能实施形式中,所述方法包括:修复所述 运动向量场以提供从B到C的修复前向运动向量场REPAIRED_FWD和从C到B的 修复后向运动向量场REPAIRED_BCK。
[0030] 通过修复运动向量场,可以提高插值视频帧的准确性。
[0031]根据所述第一方面的所述第一实施形式,在所述方法的第二可能实施形式中,将 所述REPAI RED_FWD场的每个向量设置为所述B_FWD场的位于同一空间位置的向量,或设置 为所述B_BCK场的位于同一空间位置的倒置向量;以及将所述REPAIRED_BCK场的每个向量 设置为所述C_BCK场的位于同一空间位置的向量,或设置为所场的位于同一空间位 置的倒置向量。
[0032] 通过应用简单的算术运算可以很容易地计算修复的向量场。
[0033] 根据所述第一方面的所述第二实施形式,在所述方法的第三可能实施形式中,在 所述B_FWD场的对应向量与所述B_BCK场的对应倒置向量之间选择所述REPAIRED_FWD场的 每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于所述B_ FWD场的B_FWD重合误差场和关于所述8_80(场的B_BCK重合误差场;在所述C_BCK场的对应 向量与所述C_FWD场的对应倒置向量之间选择所述REPAIRED_BCK场的每个向量是基于两个 重合误差场的对应元素的比较,所述两个重合误差场是关于所述C_BCK场的C_BCK重合误差 场和关于所述C_FWD场的C_FWD重合误差场。
[0034]两个重合误差场的比较容易计算并且在准确性方面提供了明显改进。
[0035] 根据所述第一方面的所述第三实施形式,在所述方法的第四可能实施形式中,通 过原始B_FWD重合场的空间滤波来计算所述8_?10重合误差场;通过原始8_80(重合场的空 间滤波来计算所述B_BCK重合误差场;通过原始(:_80(重合场的空间滤波来计算所述(:_80( 重合误差场;以及通过原始C_FWD重合场的空间滤波来计算所重合误差场。
[0036] 通过使用重合误差场的空间滤波,可以减少修复的运动向量中的噪声,从而提高 插值的精度。
[0037] 根据所述第一方面的所述第四实施形式,在所述方法的第五可能实施形式中,通 过以下方式计算所述原始B_FWD重合场的各个元素:将所述B_FWD场的所述对应向量投影到 所述C帧的时间位置中,在所述投影位置处插值所述(:_80(向量场的值,以及计算所述原始 向量与所述插值向量的倒置值之间的误差距离;通过以下方式计算所述原始B_BCK重合场 的各个元素:将所述B_BCK场的所述对应向量投影到所述A帧的时间位置中,在所述投影位 置处插值所述A_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的 误差距离;通过以下方式计算所述原始C_BCK重合场的各个元素:将所述C_BCK场的所述对 应向量投影到所述B帧的时间位置中,在所述投影位置处插值所述8_?10向量场的值,以及 计算所述原始向量与所述插值向量的倒置值之间的误差距离;以及通过以下方式计算所述 原始C_FWD重合场的各个元素:将所述C_FWD场的所述对应向量投影到所述D帧的时间位置 中,在所述投影位置处插值所述0_8〇(向量场的值,以及计算所述原始向量与所述插值向量 的倒置值之间的误差距离。
[0038] 对于覆盖/未覆盖区域中的运动向量修复,几何向量投影度量比基于匹配质量的 度量更稳健。
[0039] 注意的是,修复标准存在许多可能实施形式。如下文描述的几何向量投影仅为一 个示例。还可以使用其它修复标准,例如,基于运动向量匹配质量的修复标准。
[0040] 根据所述第一方面的所述第一实施形式,在所述方法的第六可能实施形式中,所 述运动补偿视频帧的生成用四个基本运动补偿帧的加权平均数来计算,包括:使用所述 REPAI RED_FWD向量场的来自所述B帧的运动补偿、使用所述REPAI RED_BCK向量场的来自所 述B帧的运动补偿、使用所述REPAIRED_FWD向量场的来自所述C帧的运动补偿以及使用所述 REPAIRED_BCK向量场的来自所述C帧的运动补偿。
[0041] 通过使用四个基本运动补偿帧的加权平均数,可以提高插值的精确性。
[0042] 根据所述第一方面的所述第六实施形式,在所述方法的第七可能实施形式中,使 用名为侧选择器场和向量选择器场的两个标量场的对应值来计算输出帧的各个元素处的 所述四个基本运动补偿帧的权重。
[0043] 通过使用来自侧和向量选择器场的信息,可以进一步提高插值的准确性。
[0044] 根据所述第一方面的所述第七实施形式,在所述方法的第八可能实施形式中,使 用原始侧差场的空间滤波结果来计算所述侧选择器场,使用原始向量差场的空间滤波结果 来计算所述向量选择器场。
[0045] 通过使用空间滤波,可以降低噪声,从而提高插值的精度。
[0046] 根据所述第一方面的所述第八实施形式,在所述方法的第九可能实施形式中,使 用名为前向本地误差场、前向外地误差场、后向本地误差场和后向外地误差场的四个投影 误差场的对应元素来计算所述原始侧差场的元素和所述原始向量差场的元素。
[0047] 本地和外地投影误差场是提供计算复杂度较低的高度运动补偿的简单纠错措施。
[0048] 根据所述第一方面的所述第九实施形式,在所述方法的第十可能实施形式中,通 过以下方式计算所述前向本地误差场的各个元素:在当前空间位置处获得所述REPAIRED_ FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所 述向量投影到所述B帧的时间位置,在所述投影位置处插值所述REPAIRED_FWD向量场的值, 以及计算所述原始向量与所述插值向量之间的误差距离;通过以下方式计算所述前向外地 误差场的各个元素:在当前空间位置处获得所述REPAIRED_FWD向量场的向量,在所述插值 帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述C帧的时间 位置,在所述投影位置处插值所述REPAIRED_BCK向量场的值,以及计算所述原始向量与所 述插值向量的倒置值之间的误差距离;通过以下方式计算所述后向本地误差场的各个元 素:在当前空间位置处获得所述REPAIRED_BCK向量场的向量,在所述插值帧的时间位置处 将所述向量应用到所述当前空间位置,将所述向量投影到所述C帧的时间位置,在所述投影 位置处插值所述REPAIRED_BCK向量场的值,以及计算所述原始向量与所述插值向量之间的 误差距离;以及通过以下方式计算所述后向外地误差场的各个元素:在当前空间位置处获 得所述REPAIRED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当 前空间位置,将所述向量投影到所述B帧的时间位置,在所述投影位置处插值所述 REPAIRED_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距 离。
[0049] 基于几何向量投影度量的误差距离比基于匹配质量的度量更稳健。当通过几何向 量重合度量决定修复覆盖/未覆盖区域中的运动向量时,修复比通过使用基于匹配质量的 度量进行的修复更稳健。
[0050] 根据第二方面,本发明涉及一种运动补偿设备,用于基于原始视频序列的四个连 续帧生成运动补偿视频帧,所述四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,所 述设备包括:接收单元,用于获取三个连续运动估计对,其中,第一对包括从A到B的前向运 动向量gA_FWD和从B到A的后向运动向量场B_BCK,第二对包括从B到C的前向运动向量场B_ FWD和从C到B的后向运动向量场C_BCK,第三对包括从C到D的前向运动向量场C_FWD和从D到 C的后向运动向量场D_BCK;以及生成单元,用于使用所述三个连续运动估计对基于所述帧B 与C之间的插值来生成所述运动补偿视频帧。
[0051] 使用那种简单的补偿通过仅使用块图像存取以低硬件成本避免或至少降低了方 块效应。补偿对于具有低成本硬件实施的实时处理是简单且合适的。
[0052]根据第三方面,本发明涉及一种包括可读存储介质的计算机程序产品,所述可读 存储介质上存储有供计算机使用的程序代码,所述程序代码基于原始视频序列的四个连续 帧提供运动补偿视频帧,所述四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,所述 程序代码包括:用于获取三个连续运动估计对的指令,其中,第一对包括从A到B的前向运动 向量场A_FWD和从B到A的后向运动向量场B_BCK,第二对包括从B到C的前向运动向量场B_ FWD和从C到B的后向运动向量场C_BCK,第三对包括从C到D的前向运动向量场C_FWD和从D到 C的后向运动向量场D_BCK;以及用于使用所述三个连续运动估计对基于所述帧B与C之间的 插值来生成所述运动补偿视频帧的指令。
[0053]所述计算机程序可以灵活地设计,使得需求更新易于实现。计算机程序产品可在 一个多核和众核处理系统上运行。
[0054] 如上所述本发明的各个方面提供了以下优势:通过几何向量重合度量决定覆盖/ 未覆盖区域中运动向量的修复,这比基于匹配质量的度量更稳健。运动向量和插值帧时间 处图像插值侧的选择基于几何向量投影度量,这比基于匹配质量的度量更稳健。通过仅使 用块图像存取以低硬件成本避免了方块效应。所有算法对于具有低成本硬件实施的实时处 理都是简单且合适的。
[0055] 因此,本发明的各个方面提供了一种用于视频运动补偿的改进技术,如在下文进 一步描述的。
【附图说明】
[0056] 本发明的【具体实施方式】将结合以下附图进行描述,其中:
[0057]图2所示为图示根据一实施形式的示例性运动补偿器200的方框图;
[0058]图3所示为图示根据一实施形式的可在运动补偿器200的向量修复模块201中使用 的示例性内部302和外部301、303向量的示意帧表示图300;
[0059]图4所示为图示根据一实施形式的可应用到运动补偿器200的运动修复模块202中 的示例性向量修复400的示意帧表示图;
[0060] 图5所示为图示根据一实施形式的运动补偿器200的运动修复模块202的示例性向 量修复结构的示意图500;
[0061] 图6所示为图示根据一实施形式的可在运动补偿器200的运动修复模块202中计算 的几何重合误差的示意图600;
[0062] 图7所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的侧和向量选择器标准206的示例性计算的示意图700;
[0063] 图8所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的旧向量投影误差的计算的示意图800;
[0064] 图9所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的新向量投影误差的计算的示意图900;
[0065]图10所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的侧差和向量差的计算的示意图1000;
[0066]图11所示为图示根据一实施形式的运动补偿器200的示例性插值器后端205的结 构的示意图;
[0067]图12所示为图示根据一实施形式的可在运动补偿视频插值设备100的运动补偿器 101中使用的运动补偿器单元1204和补偿器单元1206的示意图1200;
[0068]图13所示为图示根据一实施形式的运动补偿器200的插值器后端1100的示例性核 心插值器1101的结构的方框图;
[0069]图14所示为图示根据一实施形式的如图13描绘的核心插值器1101的示例性图像 读取1400的示意图;
[0070] 图15所示为图示根据一实施形式的可用于图14描绘的图像读取1400的补偿器单 元1506的示意图1500;
[0071] 图16所示为图示根据一实施形式的可用于图14描绘的图像读取1400的示例性基 本补偿1600的示意图;
[0072] 图17所示为图示根据一实施形式的可用于图14描绘的图像读取1400的基本图像 读取1700的示意图;
[0073]图18所示为图示根据一实施形式的可在运动补偿器200的插值器后端1100的回落 混合器1103中使用的示例性本地回落呈现计算模块1800的示意图;
[0074]图19所示为图示根据一实施形式的可用于图18描绘的本地回落呈现计算模块 1800的旧1806和新1808回落呈现的空间插值的回落呈现空间插值1900的示意图;
[0075]图20所示为图示根据一实施方式的用于生成运动补偿视频的方法2000的示意图; 以及
[0076] 图21所示为图示根据一实施方式的用于生成运动补偿视频的运动补偿器2100的 方框图。
【具体实施方式】
[0077] 以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式 示出可以实施本发明的具体方面。可以理解的是,在不脱离本发明范围的情况下,可以利用 其它方面,并可以做出结构上或逻辑上的改变。因此,以下详细的描述并不当作限定,本发 明的范围由所附权利要求书界定。
[0078] 本文描述的设备和方法可基于运动补偿和运动向量插值。应理解,与描述的方法 有关的注解还可适用于执行所述方法的对应设备或系统,反之亦然。例如,如果描述了具体 方法步骤,则对应设备可以包括执行所描述的方法步骤的单元,即使这种单元没有在附图 中明确描述或图示。此外,应理解,本文所述的各种示例性方面的特征可以相互结合,除非 另有具体说明。
[0079] 所描述的设备和系统可包括集成电路和/或无源电路,并可以根据各种技术制造。 例如,电路可设计为逻辑集成电路、模拟集成电路、混合信号集成电路、光电路、存储器电路 和/或集成无源电路。
[0080] 图2所示为图示根据一实施形式的示例性运动补偿器200的方框图。
[00811补偿器200包括向量修复模块201、侧和向量选择器模块203以及插值器后端205。 [0082] 运动向量、侧选择器、向量选择器和本地回落选择器可为低分辨率,例如每8x8像 素一个值,的二维场。该低分辨率可称为运动分辨率。侧和向量选择器206,以及回落选择器 210,可为[0,1]范围中的软值。补偿器200可使用来自最后三个前向-后向运动估计以及两 个输入图像,即旧和新帧,的四个输入运动场202。向量修复模块201可负责覆盖/未覆盖区 域中的向量修复。侧和向量选择器模块203可负责计算插值器后端205使用的侧和向量标准 206。插值器后端205可使用旧和新图像208、旧和新修复向量204、侧和向量选择器206以及 本地回落选择器210计算最终插值图像212。
[0083]图3所示为图示根据一实施形式的可在运动补偿器200的向量修复模块201中使用 的示例性内部302和外部301、303向量的示意帧表示图300。帧标示图300包括四个连续帧, 这四个连续帧在下文中按它们的时间顺序指定为"更旧帧"321、"旧帧"322、"新帧"323和 "更新帧"324。这四个连续帧321、322、323、324还可按它们的时间顺序指定为第一帧六、第二 帧B、第三帧C和第四帧D。
[0084]向量修复模块201可使用四个运动向量场,或缩写为运动向量或运动场,它们在下 文中指定为oldBck(旧后向)SB_BCK 314、oldFwd(旧前向)SB_FWD 313、newBck(新后向) SC_BCK 312、newFwd(新前向)SC_FWD SlUoldFwd 313和newBck 312运动场称为内部向 量302,newFwd 311和oldBck 314运动场称为外部向量301、303。
[0085]如上文结合图1描述的运动补偿模块101可提供以下三个连续运动补偿对。第一对 可包括第一帧A与第二帧B之间的前向运动向量(图3中未描绘)和第二帧B与第一帧A之间的 对应于〇ldBck 314运动向量的后向运动向量。第二对可包括第二帧B与第三帧C之间的对应 于oldFwd 313运动向量的前向运动向量和第三帧C与第二帧B之间的对应于newBck312运动 向量的后向运动向量。第三对可包括第三帧C与第四帧D之间的对应于newFwd 311运动向量 的前向运动向量和第四帧D与第三帧C之间的后向运动向量(图3中未描绘)。
[0086]图4所示为图示根据一实施形式的可应用到运动补偿器200的运动修复模块202中 的示例性向量修复400的示意帧表示图。帧标示图包括四个连续帧"更旧帧" 321、"旧帧" 322、"新帧" 323和"更新帧" 324,如上文结合图3描述的。这四个连续帧321、322、323、324还 可按它们的时间顺序指定为第一帧A、第二帧B、第三帧C和第四帧D,如上文结合图3描述的。
[0087]运动对oldFwd/oldBck 313、314和newBck/newFwd 312、311 可用于修复覆盖/未覆 盖区域中的内部向量。可将坏的newBck运动向量312替换为倒置的newFwd运动向量311。可 将坏的oldFwd运动向量313替换为倒置的oldBck运动向量314。
[0088]旧和新对可用于产生修正的旧和新内部运动,根据图2中的表示提供修复的 oldFwd 和 newBck 运动场 204〇
[0089]图5所示为图示根据一实施形式的运动补偿器200的运动修复模块202的示例性向 量修复结构的示意图500。运动修复模块202包括用于提供旧和新误差506的第一模块500a 和用于提供修复的内部向量516的第二模块500b。
[0090] 第一模块500a可包括第一块501,第一块501为如上文结合图2和图3指定的各个入 前向/后向运动向量对提供oldFwd向量和newBck向量502。第一模块500a可包括第二块503, 第二块503基于oldFwd向量和newBck向量502通过几何重合误差计算来提供包括旧误差和 新误差的重合误差504。第一模块500a可包括第三块505,第三块505通过重合误差504的空 间滤波来提供重合误差的空间滤波版本506。
[0091] 第二模块500b可包括第一块511,第一块511为插值中使用的各个内部/外部向量 对,即,为如上文结合图2和图3指定的oldFwd/oldBck对和newFwd/newBck对,提供内部误差 和外部误差512。第二模块500b可包括第二块513,第二块513基于内部误差和外部误差512 以及基于可选内部和外部质量518来提供修复标准514,可选内部和外部质量518可由运动 估计器101提供,如上文结合图1描述的。第二模块500b可包括第三块515,第三块515通过, 以修复标准514为指导,将坏的内部向量替换为倒置的外部向量520来提供修复的内部向量 516。可如上文结合图2和图3描述的来指定内部向量和外部向量520。
[0092]旧和新重合误差504以及运动向量520可为运动分辨率下的二维场。
[0093]图6所示为图示根据一实施形式的可在运动补偿器200的运动修复模块202中计算 的几何重合误差的示意图600。
[0094] 对于如上文结合图2和图3指定的各个入内部fwd〈->bck运动场对,可以为oldFwd 向量313和newBck向量312两者计算几何重合误差。可通过以下方式计算重合误差:将运动 向量投影到相反侧,在投影位置处读取相反向量,以及将倒置的相反向量与原始向量进行 对比。上图所示为读取oldFwd向量313指向的位置处的newBck向量312。旧误差603可用 oldFwd向量313与倒置的newBck向量312之间的差计算。下图所示为读取由newBck向量312 指向的位置处的oldFwd向量313。新误差604可用newBck向量312与倒置的oldFwd向量313之 间的差计算。
[0095]向量差度量可为近似欧氏距离或任何其它度量。可使用某一空间插值,例如,双线 性插值,来读取小数位的相反向量。
[0096]旧和新重合误差图均可空间滤波。滤波器可为线性或非线性的。
[0097]可将旧和新重合误差存储在外部存储队列中以避免重计算,或者,可选地,可在每 次运行中重计算。可通过,以修复标准为指导,将坏的内部向量替换为倒置的外部向量来执 行覆盖/未覆盖区域中的向量修复。修复标准514可通过使内部重合误差与外部重合误差相 对来计算,并且还可以使用如上文结合图5描述的运动估计器的内部和外部匹配质量518。 [0098]图7所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的侧和向量选择器标准206的示例性计算的示意图700。
[0099] 侧选择器和向量选择器206可为可由上文结合图2描述的插值器后端205使用的运 动分辨率二维场。选择器206可为[0,1]范围中的软布尔值。
[0100]修复的旧和新向量场204可用于在第一模块701中计算投影误差,第一模块701提 供旧本地、旧外地、新本地和新外地投影误差702。投影误差702可为标量值。计算可依赖于 如下文描述的插值帧α的时间位置。可在第二模块703中使用投影误差702以计算可能带有 标量值的侧差(sideDiff)和向量差(vectorDiff)704。可在第三模块705中空间滤波侧差和 向量差 7〇4,第三模块705提供滤波的侧差和滤波的向量差706。滤波可为线性或非线性的。 可在第四模块707中使用滤波的侧差和滤波的向量差706以计算可为软布尔值的侧选择器 和向量选择器206。
[0101]图8所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的旧向量投影误差的计算的示意图800。
[0102]旧帧322在时间t = 0接收,新帧323在时间t = l接收。插值帧803在时间t = a提供。 旧帧322和新帧323可如上文结合图2和图3描述的来指定。
[0103]可通过如图800的上部分图示的以下方法来计算旧本地向量投影误差:
[0104] (1)在旧帧322中的当前位置S处读取814旧向量V。
[0105] (2)应用812旧向量V,当其穿过插值帧803中的当前位置时。
[0106] (3)在新帧323中的投影位置S-Va处读取813旧向量Vnative3。
[0107] (4)用err〇ldnatiVe= I V-Vnative I 计算811 旧本地误差。
[0108] 可通过如图800的下部分图示的以下方法来计算旧外地向量投影误差:
[0109] (1)在旧帧322中的当前位置S处读取824旧向量V。
[0110] (2)应用822旧向量V,当其穿过插值帧803中的当前位置时。
[0111] (3)在新帧323中的投影位置S+V(l-a)处读取823新向量Vfcireign。
[0112] (4)用err-gr^ I V-(-Vforeign) I 计算821 旧外地误差。
[0113] 图9所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的新向量投影误差的计算的示意图900。
[0m]旧帧322在时间t = 0接收,新帧323在时间t = l接收。插值帧803在时间t = a提供。 旧帧322和新帧323可如上文结合图2和图3描述的来指定。
[0115] 可通过如图900的上部分图示的以下方法来计算新本地向量投影误差:
[0116] (1)在新帧323中的当前位置S处读取914新向量V。
[0117] (2)应用912新向量V,当其穿过插值帧803中的当前位置时。
[0118] (3)在旧帧322中的投影位置S-V(l-a)处读取913新向量Vnative。
[01 19] (4)用errnewnative= I V-Vnative I 计算911新本地误差。
[0120] 可通过如图900的下部分图示的以下方法来计算新外地向量投影误差:
[0121] (1)在新帧323中的当前位置S处读取924新向量V。
[0122] (2)应用922新向量V,当其穿过插值帧803中的当前位置时。
[0123] (3)在旧帧322中的投影位置S+Va处读取923旧向量Vfcireign。
[0124] (4)用errneworeign= I V-(-Vforeign) I 计算921 新外地误差。
[0125] 可在第一模块701中实施图8和图9描述的方法以计算投影误差,如上文结合图7描 述的。
[0126] 投影误差可用于计算侧差和向量差,计算侧差和向量差可带有运动分辨率下的标 量二维场,例如,如上文结合图7描述的,其中,第二模块703使用投影误差702计算侧差和向 量差704。
[0127] 图10所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计 算模块203中使用的侧差和向量差的计算的示意图1000。
[0128] 旧帧322在时间t = 0接收,新帧323在时间t = 1接收。插值帧803在时间t = a提供。 旧帧322和新帧323可如上文结合图2和图3描述的来指定。
[0129] 可根据以下公式使用如上文结合图8和图9描述的新外地向量投影误差1004、旧外 地向量投影误差1002、新本地向量投影误差1001和旧本地向量投影误差1003来计算侧差和 向量差:
[01 30] S ideDlff - ( err〇ld:native+errnew: foreign) _ ( errnew:native+err〇ld: foreign) ( 3 )
[01 31 ] VGCtorDlff - ( ΘΓΓοΙ??:native+err〇ld: foreign) _ ( errnew:native+errnew: foreign) ( 4)
[0132] 然后可对侧差和向量差进行空间滤波。滤波器可为线性或非线性的。侧差可用于 计算侧选择器,向量差可用于计算向量选择器。一个示例传递函数可为限于[0,1]范围中的 线性缩放。其它算法也是可能的。
[0133] 图11所示为图示根据一实施形式的运动补偿器200的示例性插值器后端205的结 构的示意图。
[0134] 核心插值器1101可基于向量选择器1102、侧选择器1104、旧图像1114、新图像 1110、旧向量1116和新向量1112提供插值图像1106。回落混合器1103可基于插值图像1106、 旧图像1114、新图像1110、旧回落选择器1126、新回落选择器1122和时间位置1118提供最终 图像1108。
[0135] 可如上文结合图2和图3描述的来指定图像1110、1114和运动向量1112、1116。可图 上文结合图2和图5至图9描述的在侧和向量选择器标准计算模块203中计算向量选择器 1102和侧选择器1104。
[0136] 插值器后端205可包括核心插值器1101和回落混合器1103。旧和新向量、向量选择 器1102、侧选择器1104以及旧1126和新1122回落选择器可为运动分辨率下的二维场。旧 1114和新1110图像、插值图像1106和最终图像1108可为全分辨率彩色图像。
[0137] 图12所示为图示根据一实施形式的可在运动补偿视频插值设备100的运动补偿器 101中使用的运动补偿器单元1204和补偿器单元1206的示意图1200。
[0138] 可单元分辨率定义运动向量。单元1204可定义为例如大小为8x8像素的运动估计 器101的基本块。向量值的空间位置可为如图12描绘的运动估计器单元1204的中心。可在同 一空间位置处,即,在运动估计器单元1204的中心处,定义侧选择器、向量选择器和本地回 落选择器。
[0139] 为了避免方块效应,插值器后端205可使用空间混合,空间混合是所有控制标准的 空间插值和运动向量的空间图像混合。最简单的可能空间混合可为双线性的,要求四个相 邻值。为了减少图像读取的次数,可将补偿器目标单元1206相对于运动估计器单元1204移 动1/2单元,从而仅接触2x2个相邻值,即,向量值或控制标准值。在没有这种移动的情况下, 会需要3x3个相邻值。
[0140]图13所示为图示根据一实施形式的运动补偿器200的插值器后端1100的示例性核 心插值器1101的结构的方框图。
[0141] 可执行四次基本补偿1301、1303、1305、1307:通过旧向量1302对旧图像1308的第 一基本补偿1305;通过新向量1304对旧图像1308的第二基本补偿1307;通过旧向量1302对 新图像1306的第三基本补偿1301;以及通过新向量1304对新图像1306的第四基本补偿 1303〇
[0142] 可在插值帧的当前空间位置处读取旧和新向量1302、1304,如上文结合图8和图9 描述的。另外,可使用空间运动混合1309、1311、1313。四次基本补偿1301、1303、1305、1307 的结果1310可为四个图像单元,例如,8x8像素块。可根据向量选择器1309、1313和侧选择器 1311混合这四个图像单元。向量选择器1309、1313可控制基于旧向量的与基于新向量的补 偿之间的混合,侧选择器1311可控制基于旧图像的与基于新图像的补偿之间的混合。
[0143] 由于向量和侧选择器可以单元分辨率定义,所以在补偿器单元内部可使用如下文 描述的双线性插值等来插值这些标准。
[0144] αχ,αΥ可定义为补偿器单元内部的像素的相对坐标,范围为[0,1)。一个示例性双线 性插值可根据方程式(5):
[0145] V7 =Hlinerp(aY, linerp(ax,Vl]oo,Vio), linerp(ax,Voi,Vn))
[0146] linerp(a,A,B) =A+a(B_A) (5)
[0147] 这里,V是插值标准,例如,侧选择器、向量选择器或本地回落选择器。V是为补偿 器单元中具有相对坐标αχ,αγ的像素计算的标准的值。¥〇〇,¥()1,¥1(),¥11是单元角处的标准的 已知值。
[0148] 图14所示为图示根据一实施形式的如图13描绘的核心插值器1101的示例性图像 读取1400的示意图。
[0149] 核心插值器1101可执行四次基本补偿1402、1403、1404、1405,每次执行四次基本 图像读取1406、1407、1408、1409。第一基本补偿1402可通过旧向量读取旧图像。第二基本补 偿1403可通过新向量读取旧图像。第三基本补偿1404可通过旧向量读取新图像。第四基本 补偿140 5可通过新向量读取新图像。
[0150] 第一基本图像读取Voo 1406可通过阿尔法(alpha)投影到图像并且使用双三次或 另一插值来读取图像单元。第二基本图像读取V1Q 1407可通过阿尔法投影到图像并且使用 双三次或另一插值来读取图像单元。第三基本图像读取VQ1 1408可通过阿尔法投影到图像 并且使用双三次或另一插值来读取图像单元。第四基本图像读取Vn 1409可通过阿尔法投 影到图像并且使用双三次或另一插值来读取图像单元。阿尔法可为如上文结合图11指定的 时间位置1118。阿尔法可对应如上文结合图8至图9描述的时间位置t = a。
[0151] 图15所示为图示根据一实施形式的可用于图14描绘的图像读取1400的补偿器单 元1506的示意图1500。
[0152] 基本补偿可为由单个向量执行的来自单个图像侧的运动补偿。基本补偿可要求空 间运动混合以避免方块效应。为了减少图像读取的次数,可将补偿器单元相对于运动估计 器单元1504移动1/2单元,从而仅接触四个向量。可通过如上文结合图15描述的图像读取 VooJKKVtn和Vn来读取补偿器单元的边缘。
[0153] 图16所示为图示根据一实施形式的可用于图14描绘的图像读取1400的示例性基 本补偿1600的示意图。
[0154] 可如下文描绘执行补偿器单元1610的空间运动混合。获得四个角落向量VQQ,V01, Vio,Vn,然后读取由这些向量引用的四个图像单元160116(^16(^16041()(),111^), In,最 后以双线性方式根据单元内像素位置使用加权将这四个图像单元混合以获得插值单元 1620。可如下执行基本补偿。α χ,αΥ可定义为补偿器单元内部的相对像素坐标,范围为[0,1)。 然后,可使用以下方程式进行插值:
[0155] result(ax,aY) = linerp(aY,linerp(ax,Ι00(αχ,αγ),Ιι〇(αχ,αγ)),linerp(a x,1〇1 (αχ,αγ),Ιιι(αχ,αγ)))
[0156] linerp(a,Α,Β) =Α+α(Β_Α) (6)
[0157] 图17所示为图示根据一实施形式的可用于图14描绘的图像读取1400的基本图像 读取1700的示意图。
[0158] 可如上文结合图2、图3、图8和图9描述的来指定旧帧322、新帧323和插值帧803。
[0159] 基本图像读取可为图像单元的读取,由单个投影运动向量引用。投影图像位置可 为部分的,因此可使用空间图像插值,例如,双三次插值。
[0160] V可指定用于补偿的时间前向向量,a可指定范围为[0,1)的插值帧的时间位置,S 可指定插值帧的当前空间位置。
[0161] 基于旧图像的读取1702可在空间位置S-aV处执行,基于新图像的读取1701可在空 间位置S+(l-a)V处执行。
[0162] 图中所示为针对V = +V〇idFwd的时间前向向量补偿。对于时间后向向量补偿,对倒置 向量,即,V = -VnewBck,图片可有效。
[0163] 在执行基本补偿时,可使用单元的四个角落向量执行这种投影图像读取,然后混 合在一起,如上文结合图16描述的。
[0164] 图18所示为图示根据一实施形式的可在运动补偿器200的插值器后端1100的回落 混合器1103中使用的示例性本地回落呈现计算模块1800的示意图。
[0165] 本地回落混合器1103可为可处理具有未识别运动的图像区域的整个补偿器200的 最终后端。本地回落混合器1103可为旧1126和新1122本地回落选择器,如上文结合图11描 述的。旧1126和新1122本地回落选择器可为二维场,具有[0,1]范围中的软值,用于在运动 分辨率下的旧和新图像处标记坏的单元。
[0166] 可在与运动向量相同的空间点处,即,在运动估计器单元的中心处,定义本地回落 选择器值。在定义的空间点处,可使用旧和新回落选择器1126、1122来计算旧1806和新1808 回落呈现值,旧1806和新1808回落呈现值可为[0,1]范围中的软值。这些旧1806和新1808回 落呈现值可具有插值帧时间矩1118处的最终结果中原始旧和新图像的部分的含义。呈现计 算可通过从原始图像侧到相对图像侧的线性衰落来执行或可包括某一时间整形。
[0167] 图19所示为图示根据一实施形式的可用于图18描绘的本地回落呈现计算模块 1800的旧1806和新1808回落呈现的空间插值的回落呈现空间插值1900的示意图。
[0168] 由于可在补偿器单元1901内部以单元分辨率定义旧和新回落呈现1806、1808,所 以可例如使用双线性插值来将这些标准空间插值。图19示出了补偿器单元1901中的本地回 落呈现1806的插值。?〇〇,?()1,?1(),?11是单元1901的角落处的已知呈现值#是具有相对单元 内坐标α χ,αγ的像素处的插值呈现值。可使用旧和新回落呈现1806、1808的空间插值的值将 原始旧和新图像的部分分别混合到如图13描绘的最终结果1310中。
[0169] 图20所示为图示用于基于原始视频序列的四个连续帧生成运动补偿视频帧的方 法2000的示意图,这四个连续帧包括第一帧Α、第二帧Β、第三帧C和第四帧D。方法2000可包 括:获取2001三个连续运动估计对,其中,第一对包括从Α到Β的前向运动向量场A_FWD和从Β 到A的后向运动向量场B_BCK,第二对包括从B到C的前向运动向量场B_FWD和从C到B的后向 运动向量场C_BCK,第三对包括从C到D的前向运动向量场C_FWD和从D到C的后向运动向量场 D_BCK。方法2000可包括使用这三个连续运动估计对基于帧B与C之间的插值2003来生成运 动补偿视频帧。
[0170] 在一个示例中,方法2000可包括修复2002运动向量场以提供从B到C 的修复前向运动向量场REPAIRED_FWD和从C到B的修复后向运动向量场REPAIRED_BCK。 [0171]该修复可对应于图上文结合图2至图10描述的修复。
[0172] 在一个示例中,REPAIRED_FWD场的每个向量可设置SB_FWD场的位于同一空间位 置的向量,或设置为B_BCK场的位于同一空间位置的倒置向量;REPAI RED_BCK场的每个向量 可设置SC_BCK场的位于同一空间位置的向量,或设置为C_FWD场的位于同一空间位置的倒 置向量,例如,如上文结合图4描述的。
[0173] 在一个示例中,在B_FWD场的对应向量与B_BCK场的对应倒置向量之间选择 REPAIRED_FWD场的每个向量可基于两个重合误差场的对应元素的比较,这两个重合误差场 是关于B_FWD场的B_FWD重合误差场和关于B_BCK场的B_BCK重合误差场;在(:_80(场的对应 向量与C_FWD场的对应倒置向量之间选择REPAI RED_BCK场的每个向量可基于两个重合误差 场的对应元素的比较,这两个重合误差场是关于C_BCK场的C_BCK重合误差场和关于C_FWD 场的C_FWD重合误差场,例如,如上文结合图6描述的。
[0174] 在一个示例中,可通过原始B_FWD重合场的空间滤波来计述B_FWD重合误差场;可 通过原始8_80(重合场的空间滤波来计算B_BCK重合误差场;可通过原始C_BCK重合场的空 间滤波来计算C_BCK重合误差场;以及可通过原重合场的空间滤波来计算C_FWD重 合误差场,例如,如上文结合图6描述的。
[0175] 在一个示例中,可通过以下方式计算原始B_FWD重合场的各个元素:将^?10场的 对应向量投影到C帧的时间位置中,在投影位置处插值C_BCK向量场的值,以及计算原始向 量与插值向量的倒置值之间的误差距离;可通过以下方式计算原始B_BCK重合场的各个元 素:将B_BCK场的对应向量投影到A帧的时间位置中,在投影位置处插值A_FWD向量场的值, 以及计算原始向量与插值向量的倒置值之间的误差距离;可通过以下方式计算原始C_BCK 重合场的各个元素:将(:_80(场的对应向量投影到B帧的时间位置中,在投影位置处插值B_ FWD向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离;以及可通过以下 方式计算原始C_FWD重合场的各个元素:场的对应向量投影到D帧的时间位置中,在 投影位置处插值0_8〇(向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距 离,例如,如上文结合图8和图9描述的。
[0176] 在一个示例中,运动补偿视频帧的生成可用四个基本运动补偿帧的加权平均数来 计算,包括:使用REPAIRED_FWD向量场的来自B帧的运动补偿、使用REPAIRED_BCK向量场的 来自B帧的运动补偿、使用REPAIRED_FWD向量场的来自C帧的运动补偿以及使用REPAIRED_ BCK向量场的来自C帧的运动补偿,例如,如上文结合图13描述的。
[0177] 在一个示例中,可使用名为侧选择器场和向量选择器场的两个标量场的对应值来 计算输出帧的各个元素处的四个基本运动补偿帧的权重,例如,如上文结合图7描述的。
[0178] 在一个示例中,可使用原始侧差场空间滤波结果来计算侧选择器场,以及可使用 原始向量差场的空间滤波结果来计算向量选择器场,例如,如上文结合图7描述的。
[0179] 在一个示例中,可使用名为前向本地误差场、前向外地误差场、后向本地误差场和 后向外地误差场的四个投影误差场的对应元素来计算原始侧差场的元素和原始向量差场 的元素,例如,如上文结合图8和图9描述的。
[0180] 在一个示例中,可通过以下方式计算前向本地误差场的各个元素:在当前空间位 置处获得REPAIRED_FWD向量场的向量,在插值帧的时间位置处将向量应用到当前空间位 置,将向量投影到B帧的时间位置,在投影位置处插值REPAIRED_FWD向量场的值,以及计算 原始向量与插值向量之间的误差距离;可通过以下方式计算前向外地误差场的各个元素: 在当前空间位置处获得REPAI RED_FWD向量场的向量,在插值帧的时间位置处将向量应用到 当前空间位置,将向量投影到C帧的时间位置,在投影位置处插值REPAIRED_BCK向量场的 值,以及计算原始向量与插值向量的倒置值之间的误差距离;可通过以下方式计算后向本 地误差场的各个元素:在当前空间位置处获得REPAIRED_BCK向量场的向量,在插值帧的时 间位置处将向量应用到当前空间位置,将向量投影到C帧的时间位置,在投影位置处插值 REPAIRED_BCK向量场的值,以及计算原始向量与插值向量之间的误差距离;以及可通过以 下方式计算后向外地误差场的各个元素:在当前空间位置处获得REPAIRED_BCK向量场的向 量,在插值帧的时间位置处将向量应用到当前空间位置,将向量投影到B帧的时间位置,在 投影位置处插值REPAIRED_FWD向量场的值,以及计算原始向量与插值向量的倒置值之间的 误差距离,例如,如上文结合图8和图9描述的。
[0181] 方法2000可在如图21描绘的运动补偿器2100上实施。这一运动补偿器2100可用于 基于原始视频序列的四个连续帧生成运动补偿视频帧112,这四个连续帧包括第一帧A、第 二帧B、第三帧C和第四帧D。运动补偿器2100可包括接收单元2101,用于获取2001三个连续 运动估计对,其中,第一对包括从A到B的前向运动向量场A_FWD和从B到A的后向运动向量场 B_BCK,第二对包括从昭IjC的前向运动向量场B_FWD和从C到B的后向运动向量场C_BCK,第三 对包括从C到D的前向运动向量场C_FWD和从D到C的后向运动向量场D_BCK。运动补偿器2100 可包括生成单元2102,用于使用这三个连续运动估计对基于帧B与C之间的插值2002来生成 所述运动补偿视频帧112。生成单元2102可包括如上文结合图2和图3至图19描述的块201、 203、205。
[0182] 本文所述的方法、系统和设备可以实施为数字信号处理器(digital signal processor,DSP)、微处理器或任意其它侧处理器中的软件或专用集成电路(specific integrated circuit,ASIC)内的硬件电路。
[0183] 本发明可以在数字电子电路,或计算机硬件、固件、软件,或其组合中实施,例如, 在传统移动设备的可用硬件或专用于处理本文所述方法的新硬件中实施。
[0184] 本发明还支持包含计算机可执行代码或计算机可执行指令的计算机程序产品,计 算机程序产品在执行时使得至少一台计算机执行本文所述的执行和计算步骤,具体而言是 如上文结合图20描述的方法2000和上文结合图2至图19描述的技术。这种计算机程序产品 可包括可读存储介质,该可读存储介质上存储有供计算机使用的程序代码。
[0185] 程序代码可用于基于原始视频序列的四个连续帧生成运动补偿视频帧112,这四 个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,例如,如上文结合图2至图4描述的。程 序代码可包括用于执行以下操作的指令:获取2001三个连续运动估计对,其中,第一对包括 从A到B的前向运动向量场A_FWD和从B到A的后向运动向量场B_BCK,第二对包括从B到C的前 向运动向量场B_FWD和从C到B的后向运动向量场C_BCK,第三对包括从C到D的前向运动向量 gC_FWD和从D到C的后向运动向量场D_BCK。程序产品可包括用于执行以下操作的指令:使 用这三个连续运动估计对基于帧B与C之间的插值2002来生成所述运动补偿视频帧。
[0186] 尽管本发明的特定特征或方面可能已经仅结合几种实现方式中的一种进行公开, 但此类特征或方面可以和其它实现方式中的一个或多个特征或方面相结合,只要对于任何 给定或特定的应用是有需要或有利。而且,在一定程度上,术语"包括"、"有"、"具有"或这些 词的其它变形在详细的说明书或权利要求书中使用,这类术语和所述术语"包含"是类似 的,都是表示包括的含义。同样,术语"示例性地","例如"仅表示为示例,而不是最好或最佳 的。
[0187] 尽管本文已经图示和描述了具体方面,但是本领域普通技术人员将会理解各种替 代和/或等效实施形式可以代替所示出和描述的具体方面,而不脱离本发明的范围。该申请 旨在覆盖本文论述的【具体实施方式】的任何修改或变更。
[0188] 尽管以下权利要求书中的各元素是借助对应的标签按照特定顺序列举的,除非对 权利要求的阐述另有暗示用于实现部分或所有这些元素的特定顺序,否则这些元素并不一 定限于以所述特定顺序来实现。
[0189] 通过以上启示,对于本领域技术人员来说,许多替代产品、修改及变体是显而易见 的。当然,所属领域的技术人员容易意识到除本文所述的应用之外,还存在本发明的众多其 它应用。虽然已参考一个或多个特定实施例描述了本发明,但所属领域的技术人员将认识 到在不偏离本发明的范围的前提下,仍可对本发明作出许多改变。因此,应理解,只要是在 所附权利要求书及其等效文句的范围内,可以用不同于本文具体描述的方式来实践本发 明。
【主权项】
1. 一种用于基于原始视频序列的四个连续帧生成运动补偿视频帧的方法(2000),其特 征在于,所述四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,所述方法包括: 获取(2001)三个连续运动估计对,其中,第一对包括从A到B的前向运动向量场A_FWD和 从昭IjA的后向运动向量场B_BCK,第二对包括从昭IjC的前向运动向量场B_FWD和从C到B的后 向运动向量场C_BCK,第三对包括从C到D的前向运动向量场C_FWD和从D到C的后向运动向量 gD_BCK;以及 使用所述三个连续运动估计对基于所述帧B与C之间的插值(2003)来生成所述运动补 偿视频帧。2. 根据权利要求1所述的方法(2000 ),其特征在于,包括: 修复(2002)所述运动向量以提供从B到C的修复前向运动向量场 REPAIRED_FWD和从C到B的修复后向运动向量场REPAIRED_BCK。3. 根据权利要求2所述的方法(2000),其特征在于: 将所述REPAI RED_FWD场的每个向量设置为所述B_FWD场的位于同一空间位置的向量, 或设置为所述B_BCK场的位于同一空间位置的倒置向量;以及 将所述REPAIRED_BCK场的每个向量设置为所述C_BCK场的位于同一空间位置的向量, 或设置为所述C_FWD场的位于同一空间位置的倒置向量。4. 根据权利要求3所述的方法(2000 ),其特征在于: 在所述B_FWD场的对应向量与所述B_BCK场的对应倒置向量之间选择所述REPAI RED_ FWD场的每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于 所述B_FWD场的B_FWD重合误差场和关于所述8_80(场的B_BCK重合误差场;以及 在所述C_BCK场的对应向量与所述C_FWD场的对应倒置向量之间选择所述REPAI RED_ BCK场的每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于 所述C_BCK场的C_BCK重合误差场和关于所场的C_FWD重合误差场。5. 根据权利要求4所述的方法(2000),其特征在于: 通过原始8_?10重合场的空间滤波来计算所述8_?10重合误差场; 通过原始8_80(重合场的空间滤波来计算所述8_80(重合误差场; 通过原始(:_80(重合场的空间滤波来计算所述(:_80(重合误差场;以及 通过原重合场的空间滤波来计算所重合误差场。6. 根据权利要求5所述的方法(2000),其特征在于: 通过以下方式计算所述原始B_FWD重合场的各个元素:将所述B_FWD场的所述对应向量 投影到所述C帧的时间位置中,在所述投影位置处插值所述(:_80(向量场的值,以及计算所 述原始向量与所述插值向量的倒置值之间的误差距离; 通过以下方式计算所述原始B_BCK重合场的各个元素:将所述B_BCK场的所述对应向量 投影到所述A帧的时间位置中,在所述投影位置处插值所述六_?10向量场的值,以及计算所 述原始向量与所述插值向量的倒置值之间的误差距离; 通过以下方式计算所述原始C_BCK重合场的各个元素:将所述C_BCK场的所述对应向量 投影到所述B帧的时间位置中,在所述投影位置处插值所述8_?10向量场的值,以及计算所 述原始向量与所述插值向量的倒置值之间的误差距离;以及 通过以下方式计算所述原始C_FWD重合场的各个元素:将所述C_FWD场的所述对应向量 投影到所述D帧的时间位置中,在所述投影位置处插值所述0_8〇(向量场的值,以及计算所 述原始向量与所述插值向量的倒置值之间的误差距离。7. 根据权利要求2所述的方法(2000),其特征在于,所述运动补偿视频帧的生成用四个 基本运动补偿帧的加权平均数来计算,包括: 使用所述REPAIRED_FWD向量场对所述B帧的运动补偿, 使用所述REPAIRED_BCK向量场对所述B帧的运动补偿, 使用所述REPAIRED_FWD向量场对所述C帧的运动补偿,以及 使用所述REPAIRED_BCK向量场对所述C帧的运动补偿。8. 根据权利要求7所述的方法(2000),其特征在于: 使用名为侧选择器场和向量选择器场的两个标量场的对应值来计算输出帧的各个元 素处的所述四个基本运动补偿帧的权重。9. 根据权利要求8所述的方法(2000),其特征在于,使用原始侧差场的空间滤波结果来 计算所述侧选择器场,使用原始向量差场的空间滤波结果来计算所述向量选择器场。10. 根据权利要求9所述的方法(2000),其特征在于,使用名为前向本地误差场、前向外 地误差场、后向本地误差场和后向外地误差场的四个投影误差场的对应元素来计算所述原 始侧差场的元素和所述原始向量差场的元素。11. 根据权利要求10所述的方法(2000),其特征在于: 通过以下方式计算所述前向本地误差场的各个元素:在当前空间位置处获得所述 REPAI RED_FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间 位置,将所述向量投影到所述B帧的时间位置,在所述投影位置处插值所述REPAIRED_FWD向 量场的值,以及计算所述原始向量与所述插值向量之间的误差距离; 通过以下方式计算所述前向外地误差场的各个元素:在当前空间位置处获得所述 REPAI RED_FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间 位置,将所述向量投影到所述C帧的时间位置,在所述投影位置处插值所述REPAIRED_BCK向 量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离; 通过以下方式计算所述后向本地误差场的各个元素:在当前空间位置处获得所述 REPAI RED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间 位置,将所述向量投影到所述C帧的时间位置,在所述投影位置处插值所述REPAIRED_BCK向 量场的值,以及计算所述原始向量与所述插值向量之间的误差距离; 通过以下方式计算所述后向外地误差场的各个元素:在当前空间位置处获得所述 REPAI RED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间 位置,将所述向量投影到所述B帧的时间位置,在所述投影位置处插值所述REPAIRED_FWD向 量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离。12. -种用于基于原始视频序列的四个连续帧生成运动补偿视频帧的运动补偿设备 (2100 ),其特征在于,所述四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,所述设备 包括: 接收单元(2101),用于获取(2001)三个连续运动估计对,其中,第一对包括从A到B的前 向运动向量场A_FWD和从B到A的后向运动向量场B_BCK,第二对包括从B到C的前向运动向量 gB_FWD和从C到B的后向运动向量场C_BCK,第三对包括从C到D的前向运动向量场C_FWD和 从D到C的后向运动向量场D_BCK;以及 生成单元(2102),用于使用所述三个连续运动估计对基于所述帧B与C之间的插值 (2003)来生成所述运动补偿视频帧。13. -种带有程序代码的计算机程序,其特征在于,当所述计算机程序运行在计算机上 时,所述程序代码用于执行根据权利要求1至11中的任一权利要求的方法。
【文档编号】H04N7/01GK106031144SQ201480076393
【公开日】2016年10月12日
【申请日】2014年3月28日
【发明人】阿列克谢·维兰提诺维奇·门德兰克, 斯奇·米凯洛维奇·赛德诺
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1