CN106031144B - 生成运动补偿视频帧的方法和设备 - Google Patents
生成运动补偿视频帧的方法和设备 Download PDFInfo
- Publication number
- CN106031144B CN106031144B CN201480076393.2A CN201480076393A CN106031144B CN 106031144 B CN106031144 B CN 106031144B CN 201480076393 A CN201480076393 A CN 201480076393A CN 106031144 B CN106031144 B CN 106031144B
- Authority
- CN
- China
- Prior art keywords
- vector
- field
- frame
- bck
- fwd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 296
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000013598 vector Substances 0.000 claims abstract description 478
- 230000002123 temporal effect Effects 0.000 claims description 46
- 238000001914 filtration Methods 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 39
- 230000008439 repair process Effects 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000000903 blocking effect Effects 0.000 description 8
- 238000002156 mixing Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- -1 side selectors Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
Abstract
本发明涉及一种用于基于原始视频序列的四个连续帧生成运动补偿视频帧的方法(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)来生成所述运动补偿视频帧。
Description
技术领域
本发明涉及一种用于生成运动补偿视频帧的方法和设备。本发明还涉及图像或视频处理领域中的运动向量插值,或更具体地,涉及具有应用到帧率转换器或图像插值设备中的运动补偿的图像插值领域。
背景技术
运动补偿视频插值用于提高视频质量,例如,用于在视频处理等情况下提供无抖动视频或用于在视频压缩等情况下减少数据量。图1示出了运动补偿视频插值100的方法。运动补偿视频插值100通常包括运动估计101和运动补偿103。视频输入102存储在视频帧存储器中,该视频帧存储器存储视频输入102的帧104、106、108、110。运动估计101和运动补偿103通过处理视频输入102的帧104、106、108、110来将插值视频112作为输出提供。
运动补偿视频插值通常后跟运动估计(motion estimation,ME)步骤。存在许多基于ME块的算法,例如,块匹配、3DRS、光流、相位相关等。这些ME算法可以用于运动补偿视频插值。运动估计器为帧的待插值的每个像素块计算运动向量,图像在时间上位于数字电视序列的两个相邻帧之间。像素块必须包括至少一个像素。从像素块的已计算好的运动向量以及从为先前源图像计算的运动向量的投影并包括考虑的像素,计算图像的每个插值像素块的运动向量。运动补偿视频插值通常要求真实的运动向量。基于块的运动估计引起方块效应。
为了降低方块效应,使用重叠块运动补偿(overlapped block motioncompensated,OBMC)方案。OBMC在以下示例中简略描述。在示例中,通过变量1≤I≤9来索引的OBMC中涉及9个块。每个块的大小为8*8。左上块通过索引i=1来标记,中心块通过i=5来标记,右下块通过索引i=9来标记。
在分块运动补偿(block motion compensation,BMC)图像重建中,每个块与一个运动向量关联,通过从经由运动向量偏移的前一帧复制和粘贴8*8块来获得像素预测。在复制和粘贴流程中,BMC中不会发生块重叠。OBMC使用大小为16*16的称为窗口支持域的放大块。16*16窗口支持函数通过双线性形状描述。
预测像素强度的OBMC线性估计器可以写为
其中,是相对于帧坐标的绝对像素位置,是相对于块内当前块的坐标的像素位置,是块i的运动向量,Wi是块i的加权系数,是先前重建的像素强度。
“H.Watanabe和S.Singhal著的“窗式运动补偿(Windowed motioncompensation)”,SPIE的视频通信与图像处理(Visual Comm.Image Processing,VCIP)的会刊的第1605卷第582-589页”描述了一种仅在重建中使用传统BMC运动搜索以及应用OBMC的方法。该方法对交叉对象和/或未覆盖区域的插值像素的运动向量会产生错误。
在大多数情况下,对复制-粘贴过程使用双线性插值。
在前一帧Iold与当前帧Inew之间有待插值帧Iα的情况下,先前定义的运动向量指向各个帧的帧点。该帧点可为像素或位于4个像素之间的点。根据方程式(2)使用8个像素执行双线性插值,8个像素即为前一帧的4个像素和当前帧的4个像素。
其中,V1、V2、V3和V4指定前一帧的像素,V5、V6、V7和V8指定当前帧的像素,α1,...,α8是加权因子,表示所述像素到图像点的接近。考虑到运动估计不会没有误差,对移动的这种补偿插值包括图像覆盖和未覆盖区域中的可见缺陷。这些缺陷要么不出现要么出现在两个连续帧之间,因为不可能存在像素间的匹配。
帧插值算法广泛用于帧率转换器以便,例如以30帧/秒至120帧/秒,在数字电视机处创建免抖动视频。实时帧运动补偿算法会克服下文描述的问题。第一个问题是可见方块效应,因为运动估计具有低空间分辨率,即,块。第二个问题是覆盖和未覆盖区域的可见效应。覆盖和未覆盖区域要么不出现要么出现在两个连续帧之间,因为不可能存在这两个帧之间的匹配。第三个问题是实时硬件实施的算法优化。
美国专利US 4771331描述了一种运动补偿领域插值方法,该方法允许在数字电视序列的每两个传输场之间插值若干场。通过使用平移位移物体的模型,应用分层结构化位移估计器来处理相对大的位移。这为待插值场的每个图像元素提供了具有整数组件的位移向量。使用变化检测器来确保未变化区域中的零位移向量。双系数时空滤波器对待插值的场的每个图像元素进行插值。该方法对穿过物体和/或未覆盖区域中插值像素的运动向量会产生错误。
美国专利US 2007/0121725描述了一种运动补偿帧插值装置和一种方法,该方法包括物体和未覆盖区域的运动向量插值模块以便为穿过物体和/或未覆盖区域中的插值像素的运动向量生成信息。覆盖区域的运动向量插值模块为穿过覆盖区域的插值像素的运动向量生成信息。运动向量计数器记录穿过插值像素的运动向量的数目。运动向量插值的缓冲区缓冲穿过物体和/或未覆盖区域以及覆盖区域中插值像素的运动向量的信息。视频数据插值模块生成物体和/或未覆盖区域以及覆盖区域中插值像素的视频数据。未公开用于检测覆盖和未覆盖区域的算法。
美国专利US 8223839 B2描述了一种对运动估计向量中的误差不敏感的运动补偿视频插值。文件提议了一种运动补偿视频插值方法,在该方法中,插值步骤根据所考虑像素的估计运动向量的幅度和/或可靠性指数而变化。用于插值的像素的数目和与这些像素关联的加权因子根据估计运动向量的幅度和/或可靠性指数而变化。未公开用于为运动向量的幅度选择邻近像素和阈值的算法。
发明内容
本发明的目的是提供一种在成对的连续帧之间插值新帧的方法。
该目的由独立权利要求的特征来实现。另外的实施形式在从属权利要求、描述内容和附图中显而易见。
运动补偿帧插值方法包括修复覆盖/未覆盖区域中的误差运动向量,这通过以下方式来进行:将坏的内部向量,即旧前向或新后向向量,分别替换为倒置的外部向量,即旧后向或新前向向量。为了获得运动向量,在插值帧的时间位置处执行向量投影和包括投影的覆盖/未覆盖区域的正确向量的选择。在所述插值帧的所述时间位置处选择正确的插值图像侧包括所述投影的覆盖/未覆盖区域。方块效应的问题得以解决,如将在下文所示的(参见根据第一方面的方法的第六可能实施形式)。
为了详细描述本发明,将使用以下术语、缩略语和符号:
ME:运动估计。
OBMC:重叠块运动补偿。
BMC:分块运动补偿。
覆盖区域可定义为可在前一帧中出现但在未来帧中被移动物体“覆盖”、掩盖或替代的背景区域。
未覆盖区域可定义为在前一帧中被移动物体覆盖但由于移动物体的移动而在未来帧中“未被覆盖”的背景区域。
根据第一方面,本发明涉及一种用于基于原始视频序列的四个连续帧在原始序列的在成对连续帧之间生成运动补偿视频帧的方法,所述四个连续帧包括第一帧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之间的插值来生成所述运动补偿视频帧。
通过使用三个连续运动估计对,可以解决覆盖/未覆盖区域中的运动向量修复问题。该方法提供了一种用于免抖动视频的实时算法。注意的是,成对连续帧之间的插值不在运动估计对之间执行:三个连续运动估计对在向量修复部分使用。
根据所述第一方面,在所述方法的第一可能实施形式中,所述方法包括:修复所述运动向量场B_FWD和C_BCK以提供从B到C的修复前向运动向量场REPAIRED_FWD和从C到B的修复后向运动向量场REPAIRED_BCK。
通过修复运动向量场B_FWD和C_BCK,可以提高插值视频帧的准确性。
根据所述第一方面的所述第一实施形式,在所述方法的第二可能实施形式中,将所述REPAIRED_FWD场的每个向量设置为所述B_FWD场的位于同一空间位置的向量,或设置为所述B_BCK场的位于同一空间位置的倒置向量;以及将所述REPAIRED_BCK场的每个向量设置为所述C_BCK场的位于同一空间位置的向量,或设置为所述C_FWD场的位于同一空间位置的倒置向量。
通过应用简单的算术运算可以很容易地计算修复的向量场。
根据所述第一方面的所述第二实施形式,在所述方法的第三可能实施形式中,在所述B_FWD场的对应向量与所述B_BCK场的对应倒置向量之间选择所述REPAIRED_FWD场的每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于所述B_FWD场的B_FWD重合误差场和关于所述B_BCK场的B_BCK重合误差场;在所述C_BCK场的对应向量与所述C_FWD场的对应倒置向量之间选择所述REPAIRED_BCK场的每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于所述C_BCK场的C_BCK重合误差场和关于所述C_FWD场的C_FWD重合误差场。
两个重合误差场的比较容易计算并且在准确性方面提供了明显改进。
根据所述第一方面的所述第三实施形式,在所述方法的第四可能实施形式中,通过原始B_FWD重合场的空间滤波来计算所述B_FWD重合误差场;通过原始B_BCK重合场的空间滤波来计算所述B_BCK重合误差场;通过原始C_BCK重合场的空间滤波来计算所述C_BCK重合误差场;以及通过原始C_FWD重合场的空间滤波来计算所述C_FWD重合误差场。
通过使用重合误差场的空间滤波,可以减少修复的运动向量中的噪声,从而提高插值的精度。
根据所述第一方面的所述第四实施形式,在所述方法的第五可能实施形式中,通过以下方式计算所述原始B_FWD重合场的各个元素:将所述B_FWD场的所述对应向量投影到所述C帧的时间位置中,在所述投影位置处插值所述C_BCK向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;通过以下方式计算所述原始B_BCK重合场的各个元素:将所述B_BCK场的所述对应向量投影到所述A帧的时间位置中,在所述投影位置处插值所述A_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;通过以下方式计算所述原始C_BCK重合场的各个元素:将所述C_BCK场的所述对应向量投影到所述B帧的时间位置中,在所述投影位置处插值所述B_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;以及通过以下方式计算所述原始C_FWD重合场的各个元素:将所述C_FWD场的所述对应向量投影到所述D帧的时间位置中,在所述投影位置处插值所述D_BCK向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离。
对于覆盖/未覆盖区域中的运动向量修复,几何向量投影度量比基于匹配质量的度量更稳健。
注意的是,修复标准存在许多可能实施形式。如下文描述的几何向量投影仅为一个示例。还可以使用其它修复标准,例如,基于运动向量匹配质量的修复标准。
根据所述第一方面的所述第一实施形式,在所述方法的第六可能实施形式中,所述运动补偿视频帧的生成用四个基本运动补偿帧的加权平均数来计算,包括:使用所述REPAIRED_FWD向量场的来自所述B帧的运动补偿、使用所述REPAIRED_BCK向量场的来自所述B帧的运动补偿、使用所述REPAIRED_FWD向量场的来自所述C帧的运动补偿以及使用所述REPAIRED_BCK向量场的来自所述C帧的运动补偿。
通过使用四个基本运动补偿帧的加权平均数,可以提高插值的精确性。
根据所述第一方面的所述第六实施形式,在所述方法的第七可能实施形式中,使用名为侧选择器场和向量选择器场的两个标量场的对应值来计算输出帧的各个元素处的所述四个基本运动补偿帧的权重。
通过使用来自侧和向量选择器场的信息,可以进一步提高插值的准确性。
根据所述第一方面的所述第七实施形式,在所述方法的第八可能实施形式中,使用原始侧差场的空间滤波结果来计算所述侧选择器场,使用原始向量差场的空间滤波结果来计算所述向量选择器场。
通过使用空间滤波,可以降低噪声,从而提高插值的精度。
根据所述第一方面的所述第八实施形式,在所述方法的第九可能实施形式中,使用名为前向本地误差场、前向外地误差场、后向本地误差场和后向外地误差场的四个投影误差场的对应元素来计算所述原始侧差场的元素和所述原始向量差场的元素。
本地和外地投影误差场是提供计算复杂度较低的高度运动补偿的简单纠错措施。
根据所述第一方面的所述第九实施形式,在所述方法的第十可能实施形式中,通过以下方式计算所述前向本地误差场的各个元素:在当前空间位置处获得所述REPAIRED_FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述B帧的时间位置,在所述投影位置处插值所述REPAIRED_FWD向量场的值,以及计算所述原始向量与所述插值向量之间的误差距离;通过以下方式计算所述前向外地误差场的各个元素:在当前空间位置处获得所述REPAIRED_FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述C帧的时间位置,在所述投影位置处插值所述REPAIRED_BCK向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;通过以下方式计算所述后向本地误差场的各个元素:在当前空间位置处获得所述REPAIRED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述C帧的时间位置,在所述投影位置处插值所述REPAIRED_BCK向量场的值,以及计算所述原始向量与所述插值向量之间的误差距离;以及通过以下方式计算所述后向外地误差场的各个元素:在当前空间位置处获得所述REPAIRED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述B帧的时间位置,在所述投影位置处插值所述REPAIRED_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离。
基于几何向量投影度量的误差距离比基于匹配质量的度量更稳健。当通过几何向量重合度量决定修复覆盖/未覆盖区域中的运动向量时,修复比通过使用基于匹配质量的度量进行的修复更稳健。
根据第二方面,本发明涉及一种运动补偿设备,用于基于原始视频序列的四个连续帧生成运动补偿视频帧,所述四个连续帧包括第一帧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之间的插值来生成所述运动补偿视频帧。
使用那种简单的补偿通过仅使用块图像存取以低硬件成本避免或至少降低了方块效应。补偿对于具有低成本硬件实施的实时处理是简单且合适的。
根据第三方面,本发明涉及一种包括可读存储介质的计算机程序产品,所述可读存储介质上存储有供计算机使用的程序代码,所述程序代码基于原始视频序列的四个连续帧提供运动补偿视频帧,所述四个连续帧包括第一帧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之间的插值来生成所述运动补偿视频帧的指令。
所述计算机程序可以灵活地设计,使得需求更新易于实现。计算机程序产品可在一个多核和众核处理系统上运行。
如上所述本发明的各个方面提供了以下优势:通过几何向量重合度量决定覆盖/未覆盖区域中运动向量的修复,这比基于匹配质量的度量更稳健。运动向量和插值帧时间处图像插值侧的选择基于几何向量投影度量,这比基于匹配质量的度量更稳健。通过仅使用块图像存取以低硬件成本避免了方块效应。所有算法对于具有低成本硬件实施的实时处理都是简单且合适的。
因此,本发明的各个方面提供了一种用于视频运动补偿的改进技术,如在下文进一步描述的。
附图说明
本发明的具体实施方式将结合以下附图进行描述,其中:
图2所示为图示根据一实施形式的示例性运动补偿器200的方框图;
图3所示为图示根据一实施形式的可在运动补偿器200的向量修复模块201中使用的示例性内部302和外部301、303向量的示意帧表示图300;
图4所示为图示根据一实施形式的可应用到运动补偿器200的运动修复模块202中的示例性向量修复400的示意帧表示图;
图5所示为图示根据一实施形式的运动补偿器200的运动修复模块202的示例性向量修复结构的示意图500;
图6所示为图示根据一实施形式的可在运动补偿器200的运动修复模块202中计算的几何重合误差的示意图600;
图7所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的侧和向量选择器标准206的示例性计算的示意图700;
图8所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的旧向量投影误差的计算的示意图800;
图9所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的新向量投影误差的计算的示意图900;
图10所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的侧差和向量差的计算的示意图1000;
图11所示为图示根据一实施形式的运动补偿器200的示例性插值器后端205的结构的示意图;
图12所示为图示根据一实施形式的可在运动补偿视频插值设备100的运动补偿器101中使用的运动补偿器单元1204和补偿器单元1206的示意图1200;
图13所示为图示根据一实施形式的运动补偿器200的插值器后端1100的示例性核心插值器1101的结构的方框图;
图14所示为图示根据一实施形式的如图13描绘的核心插值器1101的示例性图像读取1400的示意图;
图15所示为图示根据一实施形式的可用于图14描绘的图像读取1400的补偿器单元1506的示意图1500;
图16所示为图示根据一实施形式的可用于图14描绘的图像读取1400的示例性基本补偿1600的示意图;
图17所示为图示根据一实施形式的可用于图14描绘的图像读取1400的基本图像读取1700的示意图;
图18所示为图示根据一实施形式的可在运动补偿器200的插值器后端1100的回落混合器1103中使用的示例性本地回落呈现计算模块1800的示意图;
图19所示为图示根据一实施形式的可用于图18描绘的本地回落呈现计算模块1800的旧1806和新1808回落呈现的空间插值的回落呈现空间插值1900的示意图;
图20所示为图示根据一实施方式的用于生成运动补偿视频的方法2000的示意图;以及
图21所示为图示根据一实施方式的用于生成运动补偿视频的运动补偿器2100的方框图。
具体实施方式
以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体方面。可以理解的是,在不脱离本发明范围的情况下,可以利用其它方面,并可以做出结构上或逻辑上的改变。因此,以下详细的描述并不当作限定,本发明的范围由所附权利要求书界定。
本文描述的设备和方法可基于运动补偿和运动向量插值。应理解,与描述的方法有关的注解还可适用于执行所述方法的对应设备或系统,反之亦然。例如,如果描述了具体方法步骤,则对应设备可以包括执行所描述的方法步骤的单元,即使这种单元没有在附图中明确描述或图示。此外,应理解,本文所述的各种示例性方面的特征可以相互结合,除非另有具体说明。
所描述的设备和系统可包括集成电路和/或无源电路,并可以根据各种技术制造。例如,电路可设计为逻辑集成电路、模拟集成电路、混合信号集成电路、光电路、存储器电路和/或集成无源电路。
图2所示为图示根据一实施形式的示例性运动补偿器200的方框图。
补偿器200包括向量修复模块201、侧和向量选择器模块203以及插值器后端205。
运动向量、侧选择器、向量选择器和本地回落选择器可为低分辨率,例如每8x8像素一个值,的二维场。该低分辨率可称为运动分辨率。侧和向量选择器206,以及回落选择器210,可为[0,1]范围中的软值。补偿器200可使用来自最后三个前向-后向运动估计以及两个输入图像,即旧和新帧,的四个输入运动场202。向量修复模块201可负责覆盖/未覆盖区域中的向量修复。侧和向量选择器模块203可负责计算插值器后端205使用的侧和向量标准206。插值器后端205可使用旧和新图像208、旧和新修复向量204、侧和向量选择器206以及本地回落选择器210计算最终插值图像212。
图3所示为图示根据一实施形式的可在运动补偿器200的向量修复模块201中使用的示例性内部302和外部301、303向量的示意帧表示图300。帧标示图300包括四个连续帧,这四个连续帧在下文中按它们的时间顺序指定为“更旧帧”321、“旧帧”322、“新帧”323和“更新帧”324。这四个连续帧321、322、323、324还可按它们的时间顺序指定为第一帧A、第二帧B、第三帧C和第四帧D。
向量修复模块201可使用四个运动向量场,或缩写为运动向量或运动场,它们在下文中指定为oldBck(旧后向)或B_BCK 314、oldFwd(旧前向)或B_FWD 313、newBck(新后向)或C_BCK 312、newFwd(新前向)或C_FWD 311。oldFwd 313和newBck 312运动场称为内部向量302,newFwd 311和oldBck 314运动场称为外部向量301、303。
如上文结合图1描述的运动补偿模块101可提供以下三个连续运动补偿对。第一对可包括第一帧A与第二帧B之间的前向运动向量(图3中未描绘)和第二帧B与第一帧A之间的对应于oldBck 314运动向量的后向运动向量。第二对可包括第二帧B与第三帧C之间的对应于oldFwd 313运动向量的前向运动向量和第三帧C与第二帧B之间的对应于newBck312运动向量的后向运动向量。第三对可包括第三帧C与第四帧D之间的对应于newFwd 311运动向量的前向运动向量和第四帧D与第三帧C之间的后向运动向量(图3中未描绘)。
图4所示为图示根据一实施形式的可应用到运动补偿器200的运动修复模块202中的示例性向量修复400的示意帧表示图。帧标示图包括四个连续帧“更旧帧”321、“旧帧”322、“新帧”323和“更新帧”324,如上文结合图3描述的。这四个连续帧321、322、323、324还可按它们的时间顺序指定为第一帧A、第二帧B、第三帧C和第四帧D,如上文结合图3描述的。
运动对oldFwd/oldBck 313、314和newBck/newFwd 312、311可用于修复覆盖/未覆盖区域中的内部向量。可将坏的newBck运动向量312替换为倒置的newFwd运动向量311。可将坏的oldFwd运动向量313替换为倒置的oldBck运动向量314。
旧和新对可用于产生修正的旧和新内部运动,根据图2中的表示提供修复的oldFwd和newBck运动场204。
图5所示为图示根据一实施形式的运动补偿器200的运动修复模块202的示例性向量修复结构的示意图500。运动修复模块202包括用于提供旧和新误差506的第一模块500a和用于提供修复的内部向量516的第二模块500b。
第一模块500a可包括第一块501,第一块501为如上文结合图2和图3指定的各个入前向/后向运动向量对提供oldFwd向量和newBck向量502。第一模块500a可包括第二块503,第二块503基于oldFwd向量和newBck向量502通过几何重合误差计算来提供包括旧误差和新误差的重合误差504。第一模块500a可包括第三块505,第三块505通过重合误差504的空间滤波来提供重合误差的空间滤波版本506。
第二模块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。
旧和新重合误差504以及运动向量520可为运动分辨率下的二维场。
图6所示为图示根据一实施形式的可在运动补偿器200的运动修复模块202中计算的几何重合误差的示意图600。
对于如上文结合图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之间的差计算。
向量差度量可为近似欧氏距离或任何其它度量。可使用某一空间插值,例如,双线性插值,来读取小数位的相反向量。
旧和新重合误差图均可空间滤波。滤波器可为线性或非线性的。
可将旧和新重合误差存储在外部存储队列中以避免重计算,或者,可选地,可在每次运行中重计算。可通过,以修复标准为指导,将坏的内部向量替换为倒置的外部向量来执行覆盖/未覆盖区域中的向量修复。修复标准514可通过使内部重合误差与外部重合误差相对来计算,并且还可以使用如上文结合图5描述的运动估计器的内部和外部匹配质量518。
图7所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的侧和向量选择器标准206的示例性计算的示意图700。
侧选择器和向量选择器206可为可由上文结合图2描述的插值器后端205使用的运动分辨率二维场。选择器206可为[0,1]范围中的软布尔值。
修复的旧和新向量场204可用于在第一模块701中计算投影误差,第一模块701提供旧本地、旧外地、新本地和新外地投影误差702。投影误差702可为标量值。计算可依赖于如下文描述的插值帧α的时间位置。可在第二模块703中使用投影误差702以计算可能带有标量值的侧差(sideDiff)和向量差(vectorDiff)704。可在第三模块705中空间滤波侧差和向量差704,第三模块705提供滤波的侧差和滤波的向量差706。滤波可为线性或非线性的。可在第四模块707中使用滤波的侧差和滤波的向量差706以计算可为软布尔值的侧选择器和向量选择器206。
图8所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的旧向量投影误差的计算的示意图800。
旧帧322在时间t=0接收,新帧323在时间t=1接收。插值帧803在时间t=a提供。旧帧322和新帧323可如上文结合图2和图3描述的来指定。
可通过如图800的上部分图示的以下方法来计算旧本地向量投影误差:
(1)在旧帧322中的当前位置S处读取814旧向量V。
(2)应用812旧向量V,当其穿过插值帧803中的当前位置时。
(3)在新帧323中的投影位置S-Va处读取813旧向量Vnative。
(4)用erroldnative=|V-Vnative|计算811旧本地误差。
可通过如图800的下部分图示的以下方法来计算旧外地向量投影误差:
(1)在旧帧322中的当前位置S处读取824旧向量V。
(2)应用822旧向量V,当其穿过插值帧803中的当前位置时。
(3)在新帧323中的投影位置S+V(1-a)处读取823新向量Vforeign。
(4)用erroldforeign=|V-(-Vforeign)|计算821旧外地误差。
图9所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的新向量投影误差的计算的示意图900。
旧帧322在时间t=0接收,新帧323在时间t=1接收。插值帧803在时间t=a提供。旧帧322和新帧323可如上文结合图2和图3描述的来指定。
可通过如图900的上部分图示的以下方法来计算新本地向量投影误差:
(1)在新帧323中的当前位置S处读取914新向量V。
(2)应用912新向量V,当其穿过插值帧803中的当前位置时。
(3)在旧帧322中的投影位置S-V(1-a)处读取913新向量Vnative。
(4)用errnewnative=|V-Vnative|计算911新本地误差。
可通过如图900的下部分图示的以下方法来计算新外地向量投影误差:
(1)在新帧323中的当前位置S处读取924新向量V。
(2)应用922新向量V,当其穿过插值帧803中的当前位置时。
(3)在旧帧322中的投影位置S+Va处读取923旧向量Vforeign。
(4)用errneworeign=|V-(-Vforeign)|计算921新外地误差。
可在第一模块701中实施图8和图9描述的方法以计算投影误差,如上文结合图7描述的。
投影误差可用于计算侧差和向量差,计算侧差和向量差可带有运动分辨率下的标量二维场,例如,如上文结合图7描述的,其中,第二模块703使用投影误差702计算侧差和向量差704。
图10所示为图示根据一实施形式的可在运动补偿器200的侧和向量选择器标准计算模块203中使用的侧差和向量差的计算的示意图1000。
旧帧322在时间t=0接收,新帧323在时间t=1接收。插值帧803在时间t=a提供。旧帧322和新帧323可如上文结合图2和图3描述的来指定。
可根据以下公式使用如上文结合图8和图9描述的新外地向量投影误差1004、旧外地向量投影误差1002、新本地向量投影误差1001和旧本地向量投影误差1003来计算侧差和向量差:
sideDiff=(errold:native+errnew:foreign)–(errnew:native+errold:foreign) (3)
vectorDiff=(errold:native+errold:foreign)–(errnew:native+errnew:foreign) (4)
然后可对侧差和向量差进行空间滤波。滤波器可为线性或非线性的。侧差可用于计算侧选择器,向量差可用于计算向量选择器。一个示例传递函数可为限于[0,1]范围中的线性缩放。其它算法也是可能的。
图11所示为图示根据一实施形式的运动补偿器200的示例性插值器后端205的结构的示意图。
核心插值器1101可基于向量选择器1102、侧选择器1104、旧图像1114、新图像1110、旧向量1116和新向量1112提供插值图像1106。回落混合器1103可基于插值图像1106、旧图像1114、新图像1110、旧回落选择器1126、新回落选择器1122和时间位置1118提供最终图像1108。
可如上文结合图2和图3描述的来指定图像1110、1114和运动向量1112、1116。可图上文结合图2和图5至图9描述的在侧和向量选择器标准计算模块203中计算向量选择器1102和侧选择器1104。
插值器后端205可包括核心插值器1101和回落混合器1103。旧和新向量、向量选择器1102、侧选择器1104以及旧1126和新1122回落选择器可为运动分辨率下的二维场。旧1114和新1110图像、插值图像1106和最终图像1108可为全分辨率彩色图像。
图12所示为图示根据一实施形式的可在运动补偿视频插值设备100的运动补偿器101中使用的运动补偿器单元1204和补偿器单元1206的示意图1200。
可单元分辨率定义运动向量。单元1204可定义为例如大小为8x8像素的运动估计器101的基本块。向量值的空间位置可为如图12描绘的运动估计器单元1204的中心。可在同一空间位置处,即,在运动估计器单元1204的中心处,定义侧选择器、向量选择器和本地回落选择器。
为了避免方块效应,插值器后端205可使用空间混合,空间混合是所有控制标准的空间插值和运动向量的空间图像混合。最简单的可能空间混合可为双线性的,要求四个相邻值。为了减少图像读取的次数,可将补偿器目标单元1206相对于运动估计器单元1204移动1/2单元,从而仅接触2x2个相邻值,即,向量值或控制标准值。在没有这种移动的情况下,会需要3x3个相邻值。
图13所示为图示根据一实施形式的运动补偿器200的插值器后端1100的示例性核心插值器1101的结构的方框图。
可执行四次基本补偿1301、1303、1305、1307:通过旧向量1302对旧图像1308的第一基本补偿1305;通过新向量1304对旧图像1308的第二基本补偿1307;通过旧向量1302对新图像1306的第三基本补偿1301;以及通过新向量1304对新图像1306的第四基本补偿1303。
可在插值帧的当前空间位置处读取旧和新向量1302、1304,如上文结合图8和图9描述的。另外,可使用空间运动混合1309、1311、1313。四次基本补偿1301、1303、1305、1307的结果1310可为四个图像单元,例如,8x8像素块。可根据向量选择器1309、1313和侧选择器1311混合这四个图像单元。向量选择器1309、1313可控制基于旧向量的与基于新向量的补偿之间的混合,侧选择器1311可控制基于旧图像的与基于新图像的补偿之间的混合。
由于向量和侧选择器可以单元分辨率定义,所以在补偿器单元内部可使用如下文描述的双线性插值等来插值这些标准。
αX,αY可定义为补偿器单元内部的像素的相对坐标,范围为[0,1)。一个示例性双线性插值可根据方程式(5):
V′=〖linerp(αY,linerp(αX,V〗00,V10),linerp(αX,V01,V11))
linerp(α,A,B)=A+α(B-A) (5)
这里,V是插值标准,例如,侧选择器、向量选择器或本地回落选择器。V′是为补偿器单元中具有相对坐标αX,αY的像素计算的标准的值。V00,V01,V10,V11是单元角处的标准的已知值。
图14所示为图示根据一实施形式的如图13描绘的核心插值器1101的示例性图像读取1400的示意图。
核心插值器1101可执行四次基本补偿1402、1403、1404、1405,每次执行四次基本图像读取1406、1407、1408、1409。第一基本补偿1402可通过旧向量读取旧图像。第二基本补偿1403可通过新向量读取旧图像。第三基本补偿1404可通过旧向量读取新图像。第四基本补偿1405可通过新向量读取新图像。
第一基本图像读取V00 1406可通过阿尔法(alpha)投影到图像并且使用双三次或另一插值来读取图像单元。第二基本图像读取V10 1407可通过阿尔法投影到图像并且使用双三次或另一插值来读取图像单元。第三基本图像读取V01 1408可通过阿尔法投影到图像并且使用双三次或另一插值来读取图像单元。第四基本图像读取V11 1409可通过阿尔法投影到图像并且使用双三次或另一插值来读取图像单元。阿尔法可为如上文结合图11指定的时间位置1118。阿尔法可对应如上文结合图8至图9描述的时间位置t=a。
图15所示为图示根据一实施形式的可用于图14描绘的图像读取1400的补偿器单元1506的示意图1500。
基本补偿可为由单个向量执行的来自单个图像侧的运动补偿。基本补偿可要求空间运动混合以避免方块效应。为了减少图像读取的次数,可将补偿器单元相对于运动估计器单元1504移动1/2单元,从而仅接触四个向量。可通过如上文结合图15描述的图像读取V00、V10、V01和V11来读取补偿器单元的边缘。
图16所示为图示根据一实施形式的可用于图14描绘的图像读取1400的示例性基本补偿1600的示意图。
可如下文描绘执行补偿器单元1610的空间运动混合。获得四个角落向量V00,V01,V10,V11,然后读取由这些向量引用的四个图像单元1601、1602、1603、1604I00,I01,I10,I11,最后以双线性方式根据单元内像素位置使用加权将这四个图像单元混合以获得插值单元1620。可如下执行基本补偿。αX,αY可定义为补偿器单元内部的相对像素坐标,范围为[0,1)。然后,可使用以下方程式进行插值:
result(αX,αY)=linerp(αY,linerp(αX,I00(αX,αY),I10(αX,αY)),linerp(αX,I01(αX,αY),I11(αX,αY)))
linerp(α,A,B)=A+α(B-A) (6)
图17所示为图示根据一实施形式的可用于图14描绘的图像读取1400的基本图像读取1700的示意图。
可如上文结合图2、图3、图8和图9描述的来指定旧帧322、新帧323和插值帧803。
基本图像读取可为图像单元的读取,由单个投影运动向量引用。投影图像位置可为部分的,因此可使用空间图像插值,例如,双三次插值。
V可指定用于补偿的时间前向向量,α可指定范围为[0,1)的插值帧的时间位置,S可指定插值帧的当前空间位置。
基于旧图像的读取1702可在空间位置S-αV处执行,基于新图像的读取1701可在空间位置S+(1-α)V处执行。
图中所示为针对V=+VoldFwd的时间前向向量补偿。对于时间后向向量补偿,对倒置向量,即,V=-VnewBck,图片可有效。
在执行基本补偿时,可使用单元的四个角落向量执行这种投影图像读取,然后混合在一起,如上文结合图16描述的。
图18所示为图示根据一实施形式的可在运动补偿器200的插值器后端1100的回落混合器1103中使用的示例性本地回落呈现计算模块1800的示意图。
本地回落混合器1103可为可处理具有未识别运动的图像区域的整个补偿器200的最终后端。本地回落混合器1103可为旧1126和新1122本地回落选择器,如上文结合图11描述的。旧1126和新1122本地回落选择器可为二维场,具有[0,1]范围中的软值,用于在运动分辨率下的旧和新图像处标记坏的单元。
可在与运动向量相同的空间点处,即,在运动估计器单元的中心处,定义本地回落选择器值。在定义的空间点处,可使用旧和新回落选择器1126、1122来计算旧1806和新1808回落呈现值,旧1806和新1808回落呈现值可为[0,1]范围中的软值。这些旧1806和新1808回落呈现值可具有插值帧时间矩1118处的最终结果中原始旧和新图像的部分的含义。呈现计算可通过从原始图像侧到相对图像侧的线性衰落来执行或可包括某一时间整形。
图19所示为图示根据一实施形式的可用于图18描绘的本地回落呈现计算模块1800的旧1806和新1808回落呈现的空间插值的回落呈现空间插值1900的示意图。
由于可在补偿器单元1901内部以单元分辨率定义旧和新回落呈现1806、1808,所以可例如使用双线性插值来将这些标准空间插值。图19示出了补偿器单元1901中的本地回落呈现1806的插值。P00,P01,P10,P11是单元1901的角落处的已知呈现值,P′是具有相对单元内坐标αX,αY的像素处的插值呈现值。可使用旧和新回落呈现1806、1808的空间插值的值将原始旧和新图像的部分分别混合到如图13描绘的最终结果1310中。
图20所示为图示用于基于原始视频序列的四个连续帧生成运动补偿视频帧的方法2000的示意图,这四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D。方法2000可包括:获取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。方法2000可包括使用这三个连续运动估计对基于帧B与C之间的插值2003来生成运动补偿视频帧。
在一个示例中,方法2000可包括修复2002运动向量场B_FWD和C_BCK以提供从B到C的修复前向运动向量场REPAIRED_FWD和从C到B的修复后向运动向量场REPAIRED_BCK。
该修复可对应于图上文结合图2至图10描述的修复。
在一个示例中,REPAIRED_FWD场的每个向量可设置为B_FWD场的位于同一空间位置的向量,或设置为B_BCK场的位于同一空间位置的倒置向量;REPAIRED_BCK场的每个向量可设置为C_BCK场的位于同一空间位置的向量,或设置为C_FWD场的位于同一空间位置的倒置向量,例如,如上文结合图4描述的。
在一个示例中,在B_FWD场的对应向量与B_BCK场的对应倒置向量之间选择REPAIRED_FWD场的每个向量可基于两个重合误差场的对应元素的比较,这两个重合误差场是关于B_FWD场的B_FWD重合误差场和关于B_BCK场的B_BCK重合误差场;在C_BCK场的对应向量与C_FWD场的对应倒置向量之间选择REPAIRED_BCK场的每个向量可基于两个重合误差场的对应元素的比较,这两个重合误差场是关于C_BCK场的C_BCK重合误差场和关于C_FWD场的C_FWD重合误差场,例如,如上文结合图6描述的。
在一个示例中,可通过原始B_FWD重合场的空间滤波来计述B_FWD重合误差场;可通过原始B_BCK重合场的空间滤波来计算B_BCK重合误差场;可通过原始C_BCK重合场的空间滤波来计算C_BCK重合误差场;以及可通过原始C_FWD重合场的空间滤波来计算C_FWD重合误差场,例如,如上文结合图6描述的。
在一个示例中,可通过以下方式计算原始B_FWD重合场的各个元素:将B_FWD场的对应向量投影到C帧的时间位置中,在投影位置处插值C_BCK向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离;可通过以下方式计算原始B_BCK重合场的各个元素:将B_BCK场的对应向量投影到A帧的时间位置中,在投影位置处插值A_FWD向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离;可通过以下方式计算原始C_BCK重合场的各个元素:将C_BCK场的对应向量投影到B帧的时间位置中,在投影位置处插值B_FWD向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离;以及可通过以下方式计算原始C_FWD重合场的各个元素:将C_FWD场的对应向量投影到D帧的时间位置中,在投影位置处插值D_BCK向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离,例如,如上文结合图8和图9描述的。
在一个示例中,运动补偿视频帧的生成可用四个基本运动补偿帧的加权平均数来计算,包括:使用REPAIRED_FWD向量场的来自B帧的运动补偿、使用REPAIRED_BCK向量场的来自B帧的运动补偿、使用REPAIRED_FWD向量场的来自C帧的运动补偿以及使用REPAIRED_BCK向量场的来自C帧的运动补偿,例如,如上文结合图13描述的。
在一个示例中,可使用名为侧选择器场和向量选择器场的两个标量场的对应值来计算输出帧的各个元素处的四个基本运动补偿帧的权重,例如,如上文结合图7描述的。
在一个示例中,可使用原始侧差场空间滤波结果来计算侧选择器场,以及可使用原始向量差场的空间滤波结果来计算向量选择器场,例如,如上文结合图7描述的。
在一个示例中,可使用名为前向本地误差场、前向外地误差场、后向本地误差场和后向外地误差场的四个投影误差场的对应元素来计算原始侧差场的元素和原始向量差场的元素,例如,如上文结合图8和图9描述的。
在一个示例中,可通过以下方式计算前向本地误差场的各个元素:在当前空间位置处获得REPAIRED_FWD向量场的向量,在插值帧的时间位置处将向量应用到当前空间位置,将向量投影到B帧的时间位置,在投影位置处插值REPAIRED_FWD向量场的值,以及计算原始向量与插值向量之间的误差距离;可通过以下方式计算前向外地误差场的各个元素:在当前空间位置处获得REPAIRED_FWD向量场的向量,在插值帧的时间位置处将向量应用到当前空间位置,将向量投影到C帧的时间位置,在投影位置处插值REPAIRED_BCK向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离;可通过以下方式计算后向本地误差场的各个元素:在当前空间位置处获得REPAIRED_BCK向量场的向量,在插值帧的时间位置处将向量应用到当前空间位置,将向量投影到C帧的时间位置,在投影位置处插值REPAIRED_BCK向量场的值,以及计算原始向量与插值向量之间的误差距离;以及可通过以下方式计算后向外地误差场的各个元素:在当前空间位置处获得REPAIRED_BCK向量场的向量,在插值帧的时间位置处将向量应用到当前空间位置,将向量投影到B帧的时间位置,在投影位置处插值REPAIRED_FWD向量场的值,以及计算原始向量与插值向量的倒置值之间的误差距离,例如,如上文结合图8和图9描述的。
方法2000可在如图21描绘的运动补偿器2100上实施。这一运动补偿器2100可用于基于原始视频序列的四个连续帧生成运动补偿视频帧112,这四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D。运动补偿器2100可包括接收单元2101,用于获取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。运动补偿器2100可包括生成单元2102,用于使用这三个连续运动估计对基于帧B与C之间的插值2002来生成所述运动补偿视频帧112。生成单元2102可包括如上文结合图2和图3至图19描述的块201、203、205。
本文所述的方法、系统和设备可以实施为数字信号处理器(digital signalprocessor,DSP)、微处理器或任意其它侧处理器中的软件或专用集成电路(specificintegrated circuit,ASIC)内的硬件电路。
本发明可以在数字电子电路,或计算机硬件、固件、软件,或其组合中实施,例如,在传统移动设备的可用硬件或专用于处理本文所述方法的新硬件中实施。
本发明还支持包含计算机可执行代码或计算机可执行指令的计算机程序产品,计算机程序产品在执行时使得至少一台计算机执行本文所述的执行和计算步骤,具体而言是如上文结合图20描述的方法2000和上文结合图2至图19描述的技术。这种计算机程序产品可包括可读存储介质,该可读存储介质上存储有供计算机使用的程序代码。
程序代码可用于基于原始视频序列的四个连续帧生成运动补偿视频帧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的前向运动向量场C_FWD和从D到C的后向运动向量场D_BCK。程序产品可包括用于执行以下操作的指令:使用这三个连续运动估计对基于帧B与C之间的插值2002来生成所述运动补偿视频帧。
尽管本发明的特定特征或方面可能已经仅结合几种实现方式中的一种进行公开,但此类特征或方面可以和其它实现方式中的一个或多个特征或方面相结合,只要对于任何给定或特定的应用是有需要或有利。而且,在一定程度上,术语“包括”、“有”、“具有”或这些词的其它变形在详细的说明书或权利要求书中使用,这类术语和所述术语“包含”是类似的,都是表示包括的含义。同样,术语“示例性地”,“例如”仅表示为示例,而不是最好或最佳的。
尽管本文已经图示和描述了具体方面,但是本领域普通技术人员将会理解各种替代和/或等效实施形式可以代替所示出和描述的具体方面,而不脱离本发明的范围。该申请旨在覆盖本文论述的具体实施方式的任何修改或变更。
尽管以下权利要求书中的各元素是借助对应的标签按照特定顺序列举的,除非对权利要求的阐述另有暗示用于实现部分或所有这些元素的特定顺序,否则这些元素并不一定限于以所述特定顺序来实现。
通过以上启示,对于本领域技术人员来说,许多替代产品、修改及变体是显而易见的。当然,所属领域的技术人员容易意识到除本文所述的应用之外,还存在本发明的众多其它应用。虽然已参考一个或多个特定实施例描述了本发明,但所属领域的技术人员将认识到在不偏离本发明的范围的前提下,仍可对本发明作出许多改变。因此,应理解,只要是在所附权利要求书及其等效文句的范围内,可以用不同于本文具体描述的方式来实践本发明。
Claims (11)
1.一种用于基于原始视频序列的四个连续帧生成运动补偿视频帧的方法(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)来生成所述运动补偿视频帧;
修复(2002)所述运动向量场B_FWD和C_BCK,以提供从B到C的修复前向运动向量场REPAIRED_FWD和从C到B的修复后向运动向量场REPAIRED_BCK;
将所述REPAIRED_FWD场的每个向量设置为所述B_FWD场的位于同一空间位置的向量,或设置为所述B_BCK场的位于同一空间位置的倒置向量;以及
将所述REPAIRED_BCK场的每个向量设置为所述C_BCK场的位于同一空间位置的向量,或设置为所述C_FWD场的位于同一空间位置的倒置向量。
2.根据权利要求1所述的方法(2000),其特征在于:
在所述B_FWD场的对应向量与所述B_BCK场的对应倒置向量之间选择所述REPAIRED_FWD场的每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于所述B_FWD场的B_FWD重合误差场和关于所述B_BCK场的B_BCK重合误差场;以及
在所述C_BCK场的对应向量与所述C_FWD场的对应倒置向量之间选择所述REPAIRED_BCK场的每个向量是基于两个重合误差场的对应元素的比较,所述两个重合误差场是关于所述C_BCK场的C_BCK重合误差场和关于所述C_FWD场的C_FWD重合误差场。
3.根据权利要求2所述的方法(2000),其特征在于:
通过原始B_FWD重合场的空间滤波来计算所述B_FWD重合误差场;
通过原始B_BCK重合场的空间滤波来计算所述B_BCK重合误差场;
通过原始C_BCK重合场的空间滤波来计算所述C_BCK重合误差场;以及
通过原始C_FWD重合场的空间滤波来计算所述C_FWD重合误差场。
4.根据权利要求3所述的方法(2000),其特征在于:
通过以下方式计算所述原始B_FWD重合场的各个元素:将所述B_FWD场的所述对应向量投影到所述C帧的时间位置中,在所述C帧中的投影位置处插值所述C_BCK向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;
通过以下方式计算所述原始B_BCK重合场的各个元素:将所述B_BCK场的所述对应向量投影到所述A帧的时间位置中,在所述A帧中的投影位置处插值所述A_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;
通过以下方式计算所述原始C_BCK重合场的各个元素:将所述C_BCK场的所述对应向量投影到所述B帧的时间位置中,在所述B帧中的投影位置处插值所述B_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;以及
通过以下方式计算所述原始C_FWD重合场的各个元素:将所述C_FWD场的所述对应向量投影到所述D帧的时间位置中,在所述D帧中的投影位置处插值所述D_BCK向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离。
5.根据权利要求1所述的方法(2000),其特征在于,所述运动补偿视频帧的生成用四个基本运动补偿帧的加权平均数来计算,包括:
使用所述REPAIRED_FWD向量场对所述B帧的运动补偿,
使用所述REPAIRED_BCK向量场对所述B帧的运动补偿,
使用所述REPAIRED_FWD向量场对所述C帧的运动补偿,以及
使用所述REPAIRED_BCK向量场对所述C帧的运动补偿。
6.根据权利要求5所述的方法(2000),其特征在于:
使用名为侧选择器场和向量选择器场的两个标量场的对应值来计算输出帧的各个元素处的所述四个基本运动补偿帧的权重。
7.根据权利要求6所述的方法(2000),其特征在于,使用原始侧差场的空间滤波结果来计算所述侧选择器场,使用原始向量差场的空间滤波结果来计算所述向量选择器场。
8.根据权利要求7所述的方法(2000),其特征在于,使用名为前向本地误差场、前向外地误差场、后向本地误差场和后向外地误差场的四个投影误差场的对应元素来计算所述原始侧差场的元素和所述原始向量差场的元素。
9.根据权利要求8所述的方法(2000),其特征在于:
通过以下方式计算所述前向本地误差场的各个元素:在当前空间位置处获得所述REPAIRED_FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述B帧的时间位置,在所述REPAIRED_FWD向量场的向量投影在所述B帧的时间位置处插值所述REPAIRED_FWD向量场的值,以及计算所述原始向量与所述插值向量之间的误差距离;
通过以下方式计算所述前向外地误差场的各个元素:在当前空间位置处获得所述REPAIRED_FWD向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述C帧的时间位置,在所述REPAIRED_FWD向量场的向量投影在所述C帧的时间位置处插值所述REPAIRED_BCK向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离;
通过以下方式计算所述后向本地误差场的各个元素:在当前空间位置处获得所述REPAIRED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述C帧的时间位置,在所述REPAIRED_BCK向量场的向量投影在所述C帧的时间位置处插值所述REPAIRED_BCK向量场的值,以及计算所述原始向量与所述插值向量之间的误差距离;
通过以下方式计算所述后向外地误差场的各个元素:在当前空间位置处获得所述REPAIRED_BCK向量场的向量,在所述插值帧的时间位置处将所述向量应用到所述当前空间位置,将所述向量投影到所述B帧的时间位置,在所述REPAIRED_BCK向量场的向量投影在所述B帧的时间位置处插值所述REPAIRED_FWD向量场的值,以及计算所述原始向量与所述插值向量的倒置值之间的误差距离。
10.一种用于基于原始视频序列的四个连续帧生成运动补偿视频帧的运动补偿设备(2100),其特征在于,所述四个连续帧包括第一帧A、第二帧B、第三帧C和第四帧D,所述设备包括:
接收单元(2101),用于获取(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;以及
生成单元(2102),用于使用所述三个连续运动估计对基于所述帧B与C之间的插值(2003)来生成所述运动补偿视频帧;
修复模块,用于修复(2002)所述运动向量场B_FWD和C_BCK,以提供从B到C的修复前向运动向量场REPAIRED_FWD和从C到B的修复后向运动向量场REPAIRED_BCK;将所述REPAIRED_FWD场的每个向量设置为所述B_FWD场的位于同一空间位置的向量,或设置为所述B_BCK场的位于同一空间位置的倒置向量;以及将所述REPAIRED_BCK场的每个向量设置为所述C_BCK场的位于同一空间位置的向量,或设置为所述C_FWD场的位于同一空间位置的倒置向量。
11.一种带有程序代码的可读存储介质,其特征在于,当所述程序代码运行在计算机上时,所述程序代码用于执行根据权利要求1至9中的任一权利要求的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2014/000224 WO2015147689A1 (en) | 2014-03-28 | 2014-03-28 | Method and device for generating a motion-compensated video frame |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106031144A CN106031144A (zh) | 2016-10-12 |
CN106031144B true CN106031144B (zh) | 2019-05-24 |
Family
ID=51845482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480076393.2A Active CN106031144B (zh) | 2014-03-28 | 2014-03-28 | 生成运动补偿视频帧的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9674483B2 (zh) |
EP (1) | EP3111630B1 (zh) |
CN (1) | CN106031144B (zh) |
WO (1) | WO2015147689A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116866583A (zh) * | 2017-05-17 | 2023-10-10 | 株式会社Kt | 对视频解码和编码的方法以及存储压缩视频数据的装置 |
CN107295214B (zh) * | 2017-08-09 | 2019-12-03 | 湖南兴天电子科技有限公司 | 插值帧定位方法及装置 |
CN111047908B (zh) * | 2018-10-12 | 2021-11-02 | 富士通株式会社 | 跨线车辆的检测装置、方法及视频监控设备 |
CN111726614A (zh) * | 2019-03-18 | 2020-09-29 | 四川大学 | 一种基于空域下采样与深度学习重建的hevc编码优化方法 |
CN111491204B (zh) * | 2020-04-17 | 2022-07-12 | Oppo广东移动通信有限公司 | 视频修复方法、装置、电子设备和计算机可读存储介质 |
TWI748459B (zh) * | 2020-05-18 | 2021-12-01 | 瑞昱半導體股份有限公司 | 影像處理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299799A (zh) * | 2008-06-13 | 2008-11-05 | 北京中星微电子有限公司 | 图像检测、修复方法和图像检测、修复装置 |
EP2106136A1 (en) * | 2008-03-28 | 2009-09-30 | Sony Corporation | Motion compensated temporal interpolation for frame rate conversion of video signals |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3663875D1 (en) | 1986-03-08 | 1989-07-13 | Ant Nachrichtentech | Motion compensating field interpolation method using a hierarchically structured displacement estimator |
CA2087946A1 (en) * | 1991-05-24 | 1992-11-25 | Michael Burl | Video image processing |
US8064520B2 (en) * | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
CN100459693C (zh) | 2005-11-08 | 2009-02-04 | 逐点半导体(上海)有限公司 | 一种运动补偿插帧装置及插帧方法 |
FR2907301A1 (fr) | 2006-10-12 | 2008-04-18 | Thomson Licensing Sas | Procede d'interpolation d'une image compensee en mouvement et dispositif pour la mise en oeuvre dudit procede |
EP2224740A1 (en) * | 2009-02-27 | 2010-09-01 | Nxp B.V. | Detecting occlusion |
US8576341B2 (en) * | 2010-03-01 | 2013-11-05 | Stmicroelectronics, Inc. | Occlusion adaptive motion compensated interpolator |
US9148622B2 (en) * | 2011-12-29 | 2015-09-29 | Hong Kong Applied Science and Technology Research Institute Company, Limited | Halo reduction in frame-rate-conversion using hybrid bi-directional motion vectors for occlusion/disocclusion detection |
-
2014
- 2014-03-28 CN CN201480076393.2A patent/CN106031144B/zh active Active
- 2014-03-28 WO PCT/RU2014/000224 patent/WO2015147689A1/en active Application Filing
- 2014-03-28 EP EP14792901.2A patent/EP3111630B1/en active Active
-
2016
- 2016-09-27 US US15/276,896 patent/US9674483B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2106136A1 (en) * | 2008-03-28 | 2009-09-30 | Sony Corporation | Motion compensated temporal interpolation for frame rate conversion of video signals |
CN101299799A (zh) * | 2008-06-13 | 2008-11-05 | 北京中星微电子有限公司 | 图像检测、修复方法和图像检测、修复装置 |
Also Published As
Publication number | Publication date |
---|---|
US20170019624A1 (en) | 2017-01-19 |
EP3111630A1 (en) | 2017-01-04 |
EP3111630B1 (en) | 2021-06-02 |
US9674483B2 (en) | 2017-06-06 |
WO2015147689A1 (en) | 2015-10-01 |
CN106031144A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106031144B (zh) | 生成运动补偿视频帧的方法和设备 | |
JP5645636B2 (ja) | フレーム補間装置及び方法 | |
CN101422047B (zh) | 图像边界处的运动估计方法及显示设备 | |
JP5385969B2 (ja) | 画像の超解像のための方法及び装置 | |
TWI455588B (zh) | 以雙向、局部及全域移動評估為基礎之框率轉換 | |
US8958484B2 (en) | Enhanced image and video super-resolution processing | |
US8724022B2 (en) | Frame rate conversion using motion estimation and compensation | |
US20180176574A1 (en) | Method and system for video frame interpolation based on optical flow method | |
Dikbas et al. | Novel true-motion estimation algorithm and its application to motion-compensated temporal frame interpolation | |
CN101953167A (zh) | 减少光晕的图像插值 | |
JP5534299B2 (ja) | 動き補償において周期的構造に対処する方法および装置 | |
JP4053490B2 (ja) | フレーム補間のための補間画像作成方法及びこれを用いた画像表示システム、補間画像作成装置 | |
JP2004516724A (ja) | ブロックベースの動き補償の精度を改善するための方法 | |
JP2008091979A (ja) | 画像高画質化装置、及びその方法、並びに画像表示装置 | |
JP2006504175A (ja) | フォールバックを用いる画像処理装置 | |
US20110051005A1 (en) | Method And Apparatus For Integrated Motion Compensated Noise Reduction And Frame Rate Conversion | |
TWI490819B (zh) | 影像處理方法及其裝置 | |
JP2012034327A (ja) | フレーム補間装置及び方法、並びにプログラム及び記録媒体 | |
KR100734314B1 (ko) | 움직임 보상 기반의 영상 압축 시스템에서의 영상 신호의공간 해상도 변환 방법 | |
CN103096083B (zh) | 一种运动图像补偿方法及装置 | |
US8787696B1 (en) | Method and apparatus for replacing a block of pixels in a digital image frame to conceal an error associated with the block of pixels | |
WO2012066866A1 (ja) | 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 | |
US8811774B1 (en) | Super resolution using an interpretive scaler | |
KR20050081730A (ko) | 움직임 보상 기반의 영상 신호 프레임율 변환 방법 | |
JP2008245135A (ja) | 補間フレーム作成方法および補間フレーム作成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |