具有抖动提取的处理设备和包括这种设备的装备的制作方法

文档序号:7676796阅读:140来源:国知局
专利名称:具有抖动提取的处理设备和包括这种设备的装备的制作方法
技术领域
本发明涉及数字图像处理领域,更具体的,涉及视频序列的数字图像的稳定化。

背景技术
如本领域的技术人员所知,已经提出了图像稳定化算法,以在保留必需的摄像机运动的同时,去除不期望的摄像机运动或抖动,从而提供更加愉悦的观察感受。这里,“不期望的摄像机运动或抖动”是指添加至摄像机的期望的运动的所有不利的图像位置波动,诸如平移和/或旋转。
在多数数字图像稳定化(或DIS)算法中,将3个主要步骤连续应用于视频序列的数字图像。第一步骤在于确定视频序列的两幅连续的图像帧(在时刻t和(t—1))之间的运动估计。第二步骤在于根据相应的已确定的运动估计来确定每一幅图像帧的抖动。第三步骤在于根据每一幅图像帧的全局运动参数来对抖动进行过滤(去除),以便去除不期望的运动。
在专利文献US 2003/0090593和US 2004/0001147中重点描述了这种数字图像稳定化算法的示例。这些已知的数字图像稳定化算法的第一和第三步骤很容易实现。困难出现在第二步骤,第二步骤的目的是从期望的运动中分离出不期望的运动。由于这些困难,这些算法或提供静态或准静态视频序列的较弱的稳定化和全景/移动(panoramic/traveling)视频序列较好(有效)衔接,或提供静态或准静态视频序列的较强(有效的)稳定化和不稳定的全景/移动视频序列。


发明内容
因此,本发明的目的是,通过根据视频序列中出现的运动的类型来自适应地调节抖动提取方法,以至少部分地改进上述情况。
为此,本发明涉及一种用于稳定数字视频序列的图像帧的处理设备,该处理设备包括处理装置,该处理装置被设置为,针对视频序列的每一幅图像帧,根据该图像帧的全局运动参数来确定抖动,该图像帧的全局运动参数是根据视频序列的该图像帧和前一帧之间的运动估计来确定的;并且用于从所确定的全局运动参数中去除所述抖动,以去除存在于图像帧中的不期望的运动。
该处理设备的特征在于,其处理装置被设置为 -用于根据该视频序列的该图像帧的所确定的全局运动参数和至少一幅先前图像帧之一的所确定的全局运动参数,来确定运动类型(所述运动存在于视频序列中),然后 -用于根据该所确定的运动类型,在至少两种抖动提取技术中选择选定抖动提取技术,以及 -用于使用该选定抖动提取技术来确定抖动。
根据本发明的处理设备可以包括可以分离或组合地考虑的附加特征,特别是 -其处理装置可以被设置用于至少在第一抖动提取技术和第二抖动提取技术中选择选定抖动提取技术,该第一抖动提取技术适于准静态视频序列的强稳定化,该第二抖动提取技术适于全景视频序列的平滑衔接; 其处理装置可以被设置为a)计算包括当前图像帧的K1幅连续图像帧的所选K1个确定的全局运动参数的第一和,以及计算包括当前图像帧的K2幅连续图像帧的所选K2个确定的全局运动参数的第二和,其中K2<K1(例如K2=K1/2),然后,b)比较包括当前图像帧的这些K1幅连续图像帧的第一和的符号,然后,c)将该第一和的符号与第二和的符号进行比较,然后,d)当K1个第一和具有不同的符号时、或K1个第一和具有相同符号并且第一和与第二和具有不同的符号时,将与第一抖动提取技术相关联的第一运动类型与当前图像帧相关联,或当K1个第一和具有相同的符号并且第一和第二和具有相同的符号时,将与第二抖动提取技术相关联的第二运动类型与当前图像帧相关联; ●其处理装置可以被设置为,针对表示场景的每一幅图像帧,计算第一值,该第一值表示该场景在所选参考中的实际位置,然后计算第二值,该第二值表示包括当前图像帧的连续图像帧的K1个确定的第一值的平均值,然后将该第一值的平均值与所述第一和相加来获得第三值,该第三值表示该场景在所选参考中的目标位置,然后,通过从与当前图像帧相对应的第一值减去同样与当前图像帧相对应的第三值,来计算与当前图像帧相对应的抖动; ○其处理装置可以被设置为,针对每一幅图像帧,计算第四值和第五值,该第四值表示由先前图像帧所表示的场景在所选参考中的校正位置,该第五值表示由先前图像帧所表示的场景在所选参考中的目标位置,然后从第四值中减去第五值来获得第六值,然后从与当前图像帧相对应的抖动中减去第六值来获得要从所确定的全局运动参数去除的校正抖动; ○其处理装置可以被设置为,针对每一幅图像帧,计算第七值,该第七值表示由当前图像帧所表示的场景在所选参考中的校正位置,然后从第七值中减去第四值来获得第八值,该第八值表示当前图像帧的校正全局运动参数,然后对第八值的符号与当前图像帧的全局运动参数或第二和的符号进行比较,当所述符号一致时,使用当前图像帧的所计算的抖动或校正抖动,或当所述符号不一致时,使用先前图像帧的所计算的抖动或校正抖动; ●K1可以是小于或等于表示所述视频序列平均帧率的参数值的整数; -该处理设备可以包括第一计算装置,该第一计算装置被设置为,针对视频序列的每一幅图像帧,确定该视频序列的当前图像帧和前一帧之间的运动估计,然后根据所确定的运动估计来确定当前图像帧的全局运动参数; -该处理设备可以包括第二计算装置,该第二计算装置被设置为,从与当前图像帧相对应的所确定的全局运动参数中去除抖动或校正抖动,以去除存在于该当前图像帧中的不期望的运动; -该处理设备可以构成集成电路的至少一部分。
本发明还提供了第一电子装备,该第一电子装备包括用于获取数字视频序列的图像帧的装置,以及如上述之一的处理设备。例如,这样的第一电子装备可以是数字摄像机或具有视频获取装置的通信装备。
本发明还提供了第二电子装备,该第二电子装备包括用于接收数字视频序列的图像帧以进行处理的装置,以及如上述之一的处理设备。例如,这样的第二电子装备可以是通信装备或数字视频解码器或数字视频记录器或数字视频编码器。



下文中通过验证详细的说明书和附图,本发明的其它特征和优点将变得显而易见,其中 图1示意性并功能性地示出了根据本发明的数字摄像机的实施例的示例,其中包括处理设备的实施例的示例,以及 图2示意性并功能性地示出了根据本发明的数字视频记录器的实施例的示例,其中包括处理设备的实施例的示例。

具体实施例方式 图1示出了根据本发明的处理设备D的实施例的示例。在这个示例中,处理设备D是电子装备E1的一部分,该电子装备E1还包括获取装置AM,提供该获取装置AM用于获取要处理(即稳定)的数字视频序列的图像帧,以及用于显示已处理的视频序列的显示器装置DM。例如,该电子装备E1是数字摄像机,但是本发明不限于这类获取装备。事实上,例如,该电子装备还可以是具有视频获取装置的通信装备,诸如移动电话或个人数字助理(PDA)。
在图2示出的变型中,处理设备D是电子装备E2的一部分,该电子装备E2还包括数据接收装置RM,提供该数据接收装置RM用于接收表示要处理(即稳定)的数字视频序列的图像帧的数字数据,以及用于至少临时存储已处理的视频序列的存储装置SM。例如,该电子装备E2是适于连接至数字摄像机或通信装备或通信网络的数字视频解码器或数字视频记录器或数字视频编码器,但是本发明不限于这类接收装备。事实上,例如,该电子装备E2还可以是诸如移动电话或个人数字助理(PDA)的通信装备。
根据本发明的处理设备D至少包括处理模块PM,该处理模块PM被设置为用于确定(估计)几乎存在于视频序列的每一幅图像帧中的抖动(或不期望的运动)。该抖动可以表示平移和/或旋转。
为了确定这样的抖动,处理模块PM需要每一幅图像帧的所谓的全局运动参数。全局运动参数可以是全局运动矢量GMV或旋转。事实上,必须从每一幅图像帧的已确定的全局运动参数中去除抖动,以便去除其包含的不期望的运动,从而有助于视频图像的稳定化。回想到,连续的值GMV(t)包含期望的运动和不期望(或不需要)的运动(即抖动)。通过第一计算模块CM1来确定这样的GMV,如图1和2所示出,该第一计算模块CM1可以是处理设备D的一部分,或连接至处理设备D的电子装备E1或E2的一部分。
向第一计算模块CM1馈送表示要处理(即稳定)的数字视频序列的图像帧的数字数据,传统上,该第一计算模块CM1被设置为,针对视频序列的每一幅图像帧,确定该(当前)图像帧(在时刻t)和前一图像帧(在时刻t-1)之间的运动估计,然后,根据该运动估计来确定表示该图像帧与前一图像帧相比的位置差异的全局运动参数。本领域的技术人员已知的任一项技术可以用于输出图像帧的GMV。
根据本发明,处理模块PM被设置为,针对数字视频序列的每一幅图像帧,根据该视频序列的当前图像帧和至少一幅先前图像帧的全局运动参数(由第一计算模块CM1确定的GMV和/或旋转)来确定该每一幅图像帧的运动类型。处理模块PM还被设置为根据其对当前图像帧所确定的运动类型,在至少两种抖动提取技术中选择一种选定抖动提取技术,并且最后使用该选定抖动提取技术来确定与当前图像帧相对应的抖动。
例如,处理模块PM在至少第一抖动提取技术和第二抖动提取技术之间进行其选择,以选择选定抖动提取技术,该第一抖动提取技术适于静态或准静态视频序列的强稳定化,该第二抖动提取技术适于全景(或移动)视频序列的平滑衔接。
为了选择技术,处理模块PM可以实现下文中描述的4个步骤,这些步骤旨在确定存在于当前图像帧中的运动是与静态或准静态视频序列的运动相对应,还是与全景(或移动)视频序列的运动相对应。
全景帧的检测是基于对由第一计算模块MC1输出的输入视频序列的GMV的监控。更准确地,全景帧的检测所基于的事实是在输入视频序列中全景运动的情况下,运动沿着唯一方向,因此若干连续GMV具有相同的符号。然而,由于抖动存在于输入视频序列中,因此必须要考虑若干个GMV,使得不期望的抖动被平滑消除,并没有纳入考虑中。
出于这个目的,在第一步骤中,处理模块PM可以计算包括当前图像帧(时刻t)的视频序列的K1幅连续图像帧的所选K1个已确定的全局运动参数GMV(t)的第一和S1(t),以及计算包括当前图像帧(时刻t)的视频序列的K2幅连续图像帧的所选K2个已确定的全局运动参数GMV(t)的第二和S2(t),其中K2<K1。以下给出S1(t)和S2(t)的表达式 例如,可以选择K2=K1/2。
优选地,K1是由表达式K1=(FR*RE)/1000定义的整数,其中“/”是整数除法,FR是输入视频序列的平均帧率,RE是定义了在全景运动情况下计算的反应性(即检测全景运动所需的最小时间)的时间常数(例如,用毫秒表示)。RE的值可以在例如650至690之间,更优选地,可以等于667,667是实现稳定性和反应性之间良好折衷的值(但是其它RE值也是可能的)。K1的值越高,算法能找到的全景运动越少。
在第二步骤中,处理模块PM对包括当前图像帧的K1幅连续图像帧的第一和S1(t-K1),S1(t-K1+1),S1(t-K1+2),...,S1(t-1),S1(t)的各自的符号进行比较。
在第三步骤中,处理模块PM将与当前图像帧相对应的该第一和S1(t)的符号和同样与当前图像帧相对应的第二和S2(t)的符号相比较。
最后,在第四步骤中,处理模块PM使用两个比较结果来确定当前图像帧的运动类型。更准确地,可能发生以下三种情况 —如果K1个第一和S1(t-K1),S1(t-K1+1),S1(t-K1+2),...,S1(t-1),S1(t)具有不同的符号,则处理模块PM将与第一抖动提取技术相关联的第一运动类型与当前图像帧相关联, —如果K1个第一和S1(t-K1),S1(t-K1+1),S1(t-K1+2),...,S1(t-1),S1(t)具有相同的符号,并且当前图像帧的第一和S1(t)和第二和S2(t)具有不同的符号,则处理模块PM也将第一运动类型与当前图像帧相关联, 一如果K1个第一和S1(t-K1),S1(t-K1+1),S1(t-K1+2),...,S1(t-1),S1(t)具有相同的符号,并且当前图像帧的第一和S1(t)和第二和S2(t)具有相同的符号,则处理模块PM将与第二抖动提取技术相关联的第二运动类型与当前图像帧相关联。
因此,第一运动类型与静态或准静态视频序列相对应,而第二运动类型与全景(或移动)视频序列相对应。
可以使用任意第一抖动提取技术(适于静态或准静态视频序列的强稳定化),下文中将重点描述两种提取技术。
第一抖动提取技术可以开始于对全局运动矢量GMV(t)进行积分的阶段,该全局运动矢量表示在时刻t当前图像帧相对于先前图像帧的运动的方向和幅度,其具有衰减系数a(E)(该衰减系数a(E)是取决于表达式E的可变自适应因子),以便输出被称作积分运动矢量的修改的矢量IMV(t),该矢量IMV(t)表示根据其运动校正而要应用至当前图像帧的最终运动矢量校正。以下表达式给出了积分运动矢量IMV(t) IMV(t)=a(t,t-1,...).IMV(t-1)+GMV(t), 其中,IMV(t-1)是与在当前图像帧之前的图像帧相对应的积分运动矢量。
例如,衰减因子a(E)取决于最后两个全局运动矢量GMV(t-1)和GMV(t)之和。这允许跟踪期望运动的开始部分(通常,由于最后的全局运动矢量GMV(t-1)太不稳定,实质上不能使用)。
可以采用以下的方式来构建衰减因子a(E)和最后两个全局运动矢量之和(GMV(t)+GMV(t-1))之间对应表 —较低的GMV的值意味着能够较强地稳定序列的较高的衰减因子值,正如假设静态期望运动; —较高的GMV的值意味着较低的衰减因子a(E),则序列更精确的与原始运动衔接。
可以提出一些附加特征。例如,具有独立于y矢量过滤的x矢量过滤是有利的。此外,还可以提供界限之外的检测所述检测允许检查IMV校正是否不高于与许可的额外输入区域相对应的给定阈值,并且允许对其进行校正,使其保持在允许的范围内,例如+/-16画面元素(或像素)。
这样的技术是对文献“Fast digital image stabilizer based onGray-coded bit-plane matching”,IEEE Transactions on ConsumerElectronics,Vol.45,n°3,August 1999,pp.598-603中所描述技术的改进。
在一种变型中,可以提供第一抖动提取技术,不仅可以用于提取平移性质的抖动,而且可以用于提取旋转性质的抖动。这种变型需要特定的全局运动矢量GMV,可以如下文中所述来获得该全局运动矢量GMV。
运动估计阶段可以再分为3个子阶段 —针对由数字摄像机提供的图像的特定部分(角落、区域等),计算和产生所谓的“块运动矢量”(下文中称“BMV”),例如,所述BMV匹配当前图像和先前图像之间的宏块, —截除BMV以执行仿射(affine)运动搜索,以及 —求解方程组并确定拒绝准则,以获得从BMV导出的表示摄像机运动的全局运动参数(平移矢量和旋转角度)。
产生BMV的第一子阶段包括以下的4个步骤 第一步骤是关于产生二进制图像帧。
将“1比特图像”用于运动估计,这是由于其显著降低了存储器的限制,此外,可以非常有效地计算参考和搜索块之间的失真函数。通过使用易于实现的“XOR”运算来计算失真函数,即“绝对差之和”(下文称作“SAD”)。使用图像帧的“格雷编码比特平面”分解。如下创建格雷编码比特平面 将在某位置处的像素亮度表示为 Flum(x,y)=aN-12N-1+aN-22N-2+...+ak2k+...+a121+a020 (1), 其中,x和y是所述平面的坐标,ak(0≤k≤N-1)是0或1。例如,为了确定概念,在这种情况下,由于使用8比特亮度图像,N=8。
从以下的方程计算第4格雷比特码g4 其中,符号

表示“异或”运算,并且ak是由等式(1)给出的“基2”表示的第k比特。
将与最初产生的图像帧(例如由获取装置AM产生的图像帧)相对应的第4格雷编码比特平面或二进制图像帧记录在存储器装置中。
第二步骤涉及块定位和纹理指示符。
例如,将表示风景的所述二进制图像帧Img分成例如6个区域,A1到A6,该6个区域根据两条平行线分别规则地分布在图像的顶部和底部。每一个区域,A1到A6包含例如16×16像素的9个宏块(下文中称“MB”)(在图像的格式已知为QCIF图像格式的情况下)。
和8比特图像的二值化一起,针对1比特图像的每一个二进制MB计算可靠性测量。通过简单地对16×16像素块中的“1”的个数进行计数来执行所述测量。将具有极低纹理(即与“0”相比,“1’的比例太多或太少)的MB标记为不可靠,并不在该MB上执行运动估计。例如,一些块非常同质(homogenous),并且这些块非常容易导致错误估计的运动矢量。
第三步骤是关于块匹配搜索策略。所述策略包括以下子步骤。
在执行全搜索块匹配的区域中,存在可变数量的块运动矢量(BMV)。
预测值和搜索范围为了进一步简化每一个区域中的候选矢量的个数,仅每一MB行的第一个矢量具有扩展的搜索区域。其余块将具有减小搜索窗口,该搜索窗口以从先前可靠的BMV获得的预测值运动矢量为中心。如果所选的相邻MV不可靠,则使用上一个有效的MV作为预测值(假定处理顺序为从左到右、从上到下)。
拒绝可能不可靠的MV已经添加了用于拒绝一些可能不可靠的运动矢量的机制。特别是在光线改变的情况下,运动搜索将产生结果,但是该结果可能完全错误所匹配的块非常不同,并且产生的矢量更多指向“较少不同的块”而非“最相似的块”。因此,选择拒绝SAD大于特定阈值(下文中称作SAD_threshold)的MV。
加速块匹配搜索该阈值还用于加速运动搜索。先前,应用下列机制针对每一个MB搜索位置,对MB中的每两行将当前SAD与当前最小SAD相比较。如果当前SAD超过所述最小SAD,则对于这个位置的搜索停止。因此,通过将当前最小SAD初始化为SAD_threshold,可以进一步加速匹配过程。
第4步骤是关于子像素运动估计。
执行子像素搜索的一种方式是内插8比特图像以创建子像素样本,并且对该扩展的图像应用二值化过程。然后,二进制的扩展图像的匹配为运动矢量提供了子像素精确度。
第二子阶段在于截除BMV以便执行仿射运动搜索。
从前面的步骤已经获得BMV集合,该集合是当前图像和先前图像之间相对应的点的集合。为了获得全局仿射运动参数,求解该方程组。利用多于3对的两帧之间相对应的点,可以得到方程最小二乘解,给出全局仿射运动参数。为了获得可靠的结果,需要使用更多的矢量(多达54个矢量),从而创建超定(over-determined)方程组。
然而,最小二乘算法对异常值非常敏感,正确去除这些异常值是运动估计过程的关键步骤。采用下文中描述的3个步骤来实现该关键步骤。
1、基于其SAD来去除更多BMV拒绝SAD超过特定阈值(下文中称为SAD_threshold_low)的矢量(该阈值当然应低于之前在“运动估计”中使用的阈值)。
2、去除局部异常值首先局部地去除每一个区域的异常值。存在6个区域并且每个区域中有多达9个矢量。
现在将解释对矢量的一个坐标的处理,例如针对x坐标。对于区域中的每一个矢量k(0≤k≤有效矢量个数),从该矢量到区域中的所有其它矢量(i)来计算绝对差之和sum_diff[k] sum_diff[k]=∑iabs(value[k]-value[i])(2) 然后执行以下计算 average_diff=(∑ksum_diff[k])/number_of_valid_vectors (2-2) 其中,average_diff是区域上的绝对差之和的平均。
最后,拒绝准则sum_diff_[k],如下 sum_diff_[k]>(number_of_valid_vectors/α)+β*average_diff (2-3) 其中,α和β是预定义阈值。
对x和y矢量值独立地进行该计算。如果任何矢量坐标验证了该方程(2-3),则拒绝所述矢量。
3、去除全局异常值使用所有运动矢量在图像级实现异常值拒绝过程使用与局部异常值拒绝过程相同的原理。局部步骤是必要的,因为一些矢量能够在全局步骤创建群集(cluster),因此如果可能的话首先应在局部步骤将这些矢量去除。由于该区域具有非常少数量的矢量或包括不能与全局运动相应的运动目标,因此全局拒绝允许去除在第一阶段后仍保留的异常值。然而为了避免例如在高度旋转运动的情况下拒绝太多的矢量,对阈值α和β的限制较小。
第三子阶段是关于求解方程组和确定拒绝准则。
求解超定方程组(通过高斯-约旦(Gauss-Jordan)方法求解一次联立方程),该方程组为 X=ax+by+e Y=cx+dy+f 其中x和y是二进制图像的坐标。
最小均方求解给出6个参数a、b、c、d、e和f。对该方程组的变换进行建模,如平移(平移矢量(Tx,Ty))+旋转(旋转角度θ)+摄像机变焦(缩放因子r),这些方程相应的表示为 X=rcosθx-rsinθy+Tx Y=rsinθx+rcosθy+Ty 因此,计算旋转角度θ,并同时检查方程组的解给出的参数a、b、c和d的一致性。
-执行第一项检查来确定是否近似满足以下方程 a2+b2=c2+d2(等式两边均等于r2),当以下不等式成立时结果为否定 (a2+b2)-(c2+d2)>max_diff_zoom_factor(3) 其中,max_diff_zoom_factor是预定变焦参数; -执行第二项检查来确定是否两个方程产生近似相同的旋转角度,当以下不等式成立时结果为否定 |θ1-θ2|>max_angle_difference (4) 其中,max_angle_difference是预定的旋转角度参数,θ1=arctan(-b/a)和θ2=arctan(c/d)。
此外,如果另一个预定的旋转角度参数(表示为medium_angle_difference)与以下不等式相匹配 medium_angle_difference<|θ1-θ2|<max_angle_difference(4-2),则选择所找到的最小旋转角度作为θ的值。
如果结果被认为一致,则因此获得平移矢量(Tx=c,Tx=f)和由θ=(θ1+θ2)/2给出的旋转角度θ。
由于方程(3)或(4)其中任一成立,如果方程组求解失败,则将旋转角度设为0。对于平移矢量,取BMV的中值(在异常值去除过程之后)。
运动过滤阶段在运动估计阶段之后进行。在该运动过滤阶段中,优选地,对平移矢量和旋转角度分别进行过滤。一旦发现平移和旋转的理想校正,就执行界限检查。因此,所述运动滤阶段包括3个主要步骤。
第一步骤在于过滤平移。
采用一致的方式在序列过程上将期望运动与抖动分离是一个复杂的问题。对于实时应用来说,主要的限制是不允许任何延时,这意味着一些帧不能存储在存储器装置中,并且运动最好是已知的。如已经回顾的那样,平移矢量的过滤方法本质上是已知的。
因此,没有必要更详细地描述这样的方法。
第二步骤在于对旋转角度矢量进行过滤。
由于期望旋转角度矢量的变化比平移矢量更确定,因此采用不同的并更简单的方式对旋转角度进行过滤。在由摄像机提供的图像序列上累加运动估计给出的角度。该过程尝试对其进行补偿。通过对完整序列上的所有旋转角度求和来计算累加角度,例如,在帧n (Accθ)[n]=∑(1≤k≤n)θ[k] 原始累加角度定义为原始旋转角度(由运动估计过程给出)之和。校正的累加角度定义为校正的累加角度(如下文中所描述,在由界限检查步骤的截断之后)之和。
通常,由于界限检查步骤,如果用户决定任意倾斜摄像机,则补偿全部旋转角度是不可行的,或甚至是有利的。当回到初始位置时,与原始序列相比,新的角度“固定”位置(与校正的累加角度相对应)可能是略微倾斜的。为了避免这种情况,将由运动估计所测量的原始累加角度存储并保存在存储器装置中。对于特定数量的连续帧,如果校正的累加角度与原始累加角度偏离太大,则添加额外的校正以将校正的序列带回接近用户所期望的位置。
第三步骤在于界限检查。
在“界限检查步骤”期间,检查“旋转+平移校正”(下文中称“R+T”)以确定是否所述校正不大于与许可的额外输入区域相对应的预定允许阈值。如果是,则进一步校正“R+T”以使其保持在允许的范围内(例如,为了确定概念,该范围是±8个像素的边界)重点首先放在平移校正上(模拟的额外区域比实际的区域略小),接着截断旋转角度以使其保持在图像的所允许的额外界限范围内。
下文将描述详细的过程。
首先,平移(帧的中心从O到O′)图像帧F(下文中称“帧”)平移矢量VT。给出新中心O′的位置,在必须计算特定角度之前,仅能旋转帧F(帧F’)。
在最终的帧创建过程中,例如一个数字摄像机E1的捕捉器AM产生具有额外输入区域Ai(边界大小等于1)的帧F。如果创建稳定帧F′的旋转角度太大,则在旋转后的帧中会出现孔洞。
帧F包括限定向用户显示的图像的内部矩形ABCD。
现在将解释的是,如何在考虑剪裁图像的一个顶角(例如A,左上角)的情况下进行界限检查步骤,但是,该过程对其它顶角是一致的,必须对这些顶角中的每一个重复进行该过程。考虑边界大小为1的情况,其目的是计算旋转图像边界与点A交叉的限制角度。
沿着顺时针方向或逆时针方向,每个要考虑的顶角存在两个可能限制角度。
这两个限制角之间包括了任何角度,所述任何角度不会导致孔洞的产生(考虑顶角A再次,必须检查其余顶角)。
根据以下方程来计算第一限制角度θ1A而不在点A附近产生孔洞(第一种情况) θ1A=α1A-ArcCos((O′M)/LA) 其中,α1A=ArcCos((nl/2-1+Vy))/LA),LA是替换后的中心O′与顶角A之间的距离(从帧大小、边界大小1、以及平移矢量VT可以很容易地计算),Vy是矢量VT的y值,并且O′M=nl/2(其中np和nl分别是所捕捉的帧F的宽度和高度)。
计算另一限制角度θ2A而不在点A附近产生孔洞(第二种情况) θ2A=α2A-ArcCos((O′N)/LA) 其中,α2A=ArcCos((np/2-1+Vx))/LA),Vx是矢量VT的x值,并且O′N=np/2。
因此,通过4个顶角A、B、C和D,获得8个角度。然后计算正角度的最小值和负角度的最大值。如果需要,则将由运动估计给出的旋转角度截断为两个最终角度中的一个。
可以使用任意第二抖动提取技术(适于全景视频序列的平滑衔接),下文中重点描述一种技术。
第二抖动提取技术的目的是针对视频的每一幅图像帧,输出可以从当前图像帧的全局运动参数中去除的抖动,以允许其跟随输入视频序列的全局运动。输入视频序列运动的“平均运动”满足该要求。因此,必须以图像帧的当前和实际运动与该图像帧期望的平均运动之间的差来计算抖动。
为了定义当前图像帧的实际和期望运动,使用所谓的累加运动矢量或AMV。
回想到,由于AMV表示场景在(固定的)参考中的位置,因此AMV是通常用于DIS环境中的量。“场景”在这里是指在视频序列中由例如数字摄像机E1的获取装置AM所覆盖的整个视野。如果GMV(t)表示了表示在时刻t的场景的当前图像帧和表示在时刻t-1的相同场景的先前图像帧之间的位置差,则AMV(t)表示从视频序列起点开始的连续GMV的和,从而表示了场景在参考中的位置。
期望的运动可以定义为相同AMV的平滑消除的版本(使用简单的移动平均过滤器)。
可以说明,移动平均的计算引入偏移。更准确地,由于实现限制需要零延时,因此在时刻t,平均AMV表示在时刻t减去平均时间段的时刻输入视频序列的平滑消除的位置。由于运动与全景序列相对应,因此该偏移可能相当大,这取决于获取装置AM的速度。因此,如果直接从所测量的运动中减去平均运动,则偏移和抖动相加,从而导致相当大的计算出的抖动。该计算出的抖动很可能超过允许的限制(例如对于CIF格式可以等于16个像素),并且被截断保持在该值。在这种情况下,可以跟随运动,但是不能补偿任何抖动。
因此,为了克服该问题,必须对运动进行外插。为了实现该效果,根据以下表达式,定义表示场景在所选参考中的目标位置的(第三)值desiredAMV(t) 其中,realAMV(t)是表示场景在所选参考中的实际和所测量位置的(第一)值,S1(t)是之前定义的第一和(表示从时刻(t-K)开始已经被添加至realAMV(t)的运动量)。
只要抖动具有大致的零期望并且输入视频序列的运动与大致恒定速度的全景/移动相对应,则可以相当有信心的认为,desiredAMV(t)也已经被增大至该量。
为了计算(第三)值desiredAMV(t),处理模块PM首先针对视频序列的每一幅图像帧计算第一值realAMV(t),然后计算(第二)值,该(第二)值表示包括当前图像帧的K1幅连续图像帧的K1个已确定的第一值的平均值,最后将该第一值平均值与当前图像帧的第一和S1(t)相加。
处理模块PM可以通过从realAMV(t)直接减去desiredAMV(t)来获得抖动jitter(t)=realAMV(t)-desiredAMV(t),但是有利的是,当从第一抖动提取技术切换至第二抖动提取技术时,可以采用不同的方式。事实上,在这种情况下,处理模块PM必须计算调节值[shift(t)],以便在每次从第一抖动提取技术切换至第二抖动提取技术时减轻输出视频序列(即已稳定的视频序列)中产生的“跳跃”。因此,每次处理模块PM决定从第一抖动提取技术切换至第二抖动提取技术时,该处理模块PM计算由以下表达式定义的(第六)调节值shift(t) shift(t)=correctedAMV(t-1)-desiredAMV(t-1) 其中,correctedAMV(t-1)是表示由先前图像帧所表示的场景在所选参考中的已校正位置的(第四)值(在时刻t-1),desiredAMV(t-1)是表示由先前图像帧所表示的场景在所述参考中的目标位置的(第五)值(在时刻t-1)。
只要处理模块PM没有改变抖动提取技术,随后的shift(t)值保持恒定。
最后,处理模块PM计算由以下表达式定义的校正抖动 correctedjitter(t)=realAMV(t)-desiredAMV(t)-shift(t) 当从第二抖动提取技术切换回至考虑其先前值来计算抖动的第一抖动提取技术(如在上述描述的第一抖动提取技术的情况)时,不需要调节。然而,对于其他类型的第一抖动提取技术,这样的调节是必要的。
无论使用何种抖动提取技术,当抖动或校正抖动已经由处理模块PM计算时,提供第二计算模块CM2用于将该抖动从相对应的全局运动参数中去除,以便去除存在于当前图像帧中不期望的运动。如图1和2所示出的,计算模块CM2可以是处理设备D的一部分,或电子装备E1或E2的一部分并连接至处理设备D。
在从相应的全局运动参数中去除抖动或校正抖动之前,处理模块PM优选地检查校正的全局运动参数是否具有与当前运动GMV(t)相同的符号。出于该目的,处理模块PM计算(第七)值correctedAMV(t),该(第七)值表示由当前图像帧所表示的场景在所选参考中的校正的位置,然后从(第七)值correctedAMV(t)中减去(第四)值correctedAMV(t-1)以获得表示当前图像帧的校正的全局运动参数的(第八)值。
接着,将该第八值(correctedAMV(t)-correctedAMV(t-1))的符号和全局运动参数GMV(t)的符号进行比较。
该比较可以采用以下伪代码来表达 GMV(t)x(correctedAMV(t)-correctedAMV(t-1))<0 如果符号一致,则处理模块PM向第二计算模块CM2发送当前图像帧的所计算的抖动(jitter(t))或校正抖动(correctedjitter(t))。
如果符号不一致,则处理模块PM将校正的运动(在时刻t)截断为0,这可以采用如下的伪码来表达 correctedAMV(t)←correctedAMV(t-1)),和 correcledjitter(t)[或jitter(t)]←realAMV(t)-correctedAMV(t) 该比较类型在每次抖动发生时容易导致全景序列中间的静止阶段,并因此降低期望的运动平滑度。因此,为了避免实际的反校正(例如,如果全景停止或反转其方向),处理模块PM可以将该第八值(correctedAMV(t)-correctedAMV(t-1))的符号与第二和S2(t)的符号进行比较。该第二和S2(t)表示短期平均,比长期平均S1(t)更能够对运动的改变做出反应。
该比较的变型可以采用如下的伪码来表达 S2(t)x(correctedAMV(t)-correctedAMV(t-1))<0 如果符号一致,则处理模块PM向第二计算模块CM2发送当前图像帧的所计算的抖动(jitter(t))或校正抖动(correctedjitter(t))。
如果符号不一致,则处理模块PM将校正的运动(在时刻t)截断为0,可以采用如下的伪码来表达 correctedAMV(t)←correctedAMV(t-1)),和 correctedjitter(t)[或jitter(t)]←realAMV(t)-corrected4MV(t) 优选地,处理设备D构成集成电路IC的至少一部分。可以采用CMOS技术或当前在芯片厂使用的任何技术来实现这样的集成电路。然而,还可以通过软件模块或硬件和软件模块的组合来定义处理设备D。
本发明特别的优势在于实时稳定化的情况,即当不能将帧存储在存储器装置时,从而在没有延时的情况下,必须逐一地立即稳定这些帧。
本发明不限于上述仅作为示例的处理设备和电子设备的实施例,但是本发明涵盖本领域的技术人员在权利要求的范围内的可以设想的所有可选实施例。
权利要求
1、一种用于数字视频序列的图像帧稳定化的处理设备(D),包括处理装置(PM),所述处理装置(PM)用于针对视频序列的每一幅图像帧,根据所述图像帧的全局运动参数来确定抖动,其中所述全局运动参数是根据所述视频序列的所述图像帧和前一图像帧之间的运动估计来确定的;并从所确定的全局运动参数中去除所述抖动,以去除存在于所述图像帧中的不期望的运动,
其特征在于,所述处理装置(PM)被设置为根据所述视频序列中所述图像帧的所确定的全局运动参数和至少一幅先前图像帧的所确定的全局运动参数,来确定存在于所述视频序列中的运动的类型,然后根据所确定的运动类型,在至少两种抖动提取技术之间选择选定抖动提取技术,并使用所述选定抖动提取技术来确定所述抖动。
2、根据权利要求1所述的处理设备,其特征在于,所述处理装置(PM)被设置用于从至少包括第一抖动提取技术和第二抖动提取技术的组中选择选定抖动提取技术,所述第一抖动提取技术适于准静态视频序列的强稳定化,所述第二抖动提取技术适于全景视频序列的平滑衔接。
3、根据权利要求2所述的处理设备,其特征在于,所述处理装置(PM)被设置为a)计算包括当前图像帧的K1幅连续图像帧的所选K1个确定的全局运动参数的第一和,以及计算包括当前图像帧的K2幅连续图像帧的所选K2个确定的全局运动参数的第二和,其中K2<K1;然后,b)比较包括当前图像帧的所述K1幅连续图像帧的第一和的符号;然后,c)将所述第一和的符号与所述第二和的符号进行比较;然后,d)当所述K1个第一和具有不同的符号时、或所述K1个第一和具有相同符号并且所述第一和与所述第二和具有不同的符号时,将与所述第一抖动提取技术相关联的第一运动类型与当前图像帧相关联,或者当所述K1个第一和具有相同的符号并且所述第一和与所述第二和具有相同的符号时,将与所述第二抖动提取技术相关联的第二运动类型与当前图像帧相关联。
4、根据权利要求3所述的处理设备,其特征在于,K2等于K1/2。
5、根据权利要求3和4之一所述的处理设备,其特征在于,所述处理装置(PM)被设置为针对表示场景的每一幅图像帧,计算第一值,所述第一值表示所述场景在所选参考中的实际位置;然后计算第二值,所述第二值表示包括当前图像帧的连续图像帧的K1个确定的第一值的平均值;然后将所述第一值的平均值与所述第一和相加,来获得第三值,所述第三值表示所述场景在所述所选参考中的目标位置;然后,通过从与所述当前图像帧相对应的所述第一值中减去同样与所述当前图像帧相对应的所述第三值,来计算与所述当前图像帧相对应的抖动。
6、根据权利要求5所述的处理设备,其特征在于,所述处理装置(PM)被设置为针对每一幅图像帧,计算第四值和第五值,所述第四值表示由先前图像帧所表示的场景在所述所选参考中的校正位置,所述第五值表示由先前图像帧所表示的场景在所述所选参考中的目标位置;然后从所述第四值中减去所述第五值,来获得第六值;然后从与所述当前图像帧相对应的所述抖动中减去所述第六值,来获得要从所确定的全局运动参数中去除的校正抖动。
7、根据权利要求6所述的处理设备,其特征在于,所述处理装置(PM)被设置为针对每一幅图像帧,计算第七值,所述第七值表示由当前图像帧所表示的场景在所述所选参考中的校正位置;然后从所述第七值中减去所述第四值,来获得所述第八值,所述第八值表示所述当前图像帧的校正全局运动参数;然后对所述第八值的符号与所述当前图像帧的所述全局运动参数的符号进行比较,当所述符号一致时,使用所述当前图像帧的所计算的抖动或所述校正抖动,或当所述符号不一致时,使用所述先前图像帧的所计算的抖动或所述校正抖动。
8、根据权利要求6所述的处理设备,其特征在于,所述处理装置(PM)被设置为针对每一幅图像帧,计算第七值,所述第七值表示由当前图像帧所表示的场景在所述所选参考中的校正位置;然后从所述第七值中减去所述第四值,来获得所述第八值,所述第八值表示所述当前图像帧的校正全局运动参数;然后对所述第八值的符号与所述第二和的符号进行比较,当所述符号一致时,使用所述当前图像帧的所计算的抖动或所述校正抖动,或当所述符号不一致时,使用所述先前图像帧的所计算的抖动或所述校正抖动。
9、根据权利要求8所述的处理设备,其特征在于,K1是小于或等于表示所述视频序列平均帧率的参数值的整数。
10、根据权利要求1至9之一所述的处理设备,其特征在于,所述处理设备包括第一计算装置(CM1),所述第一计算装置被设置为,针对所述视频序列的每一幅图像帧,确定所述视频序列的所述图像帧和前一图像帧之间的所述运动估计,然后根据所确定的运动估计来确定所述图像帧的所述全局运动参数。
11、根据权利要求10所述的处理设备,其特征在于,所述处理设备包括第二计算装置(CM2),所述第二计算装置被设置为,从与当前图像帧相对应的所确定的全局运动参数中去除所述抖动或校正抖动,以去除存在于所述当前图像帧中的不期望的运动。
12、根据权利要求11所述的处理设备,其特征在于,所述处理设备构成集成电路的至少一部分。
13、一种电子装备(E1),包括用于获取数字视频序列的图像帧的装置,其特征在于,所述电子装备(E1)包括根据权利要求1到12中任一项所述的处理设备(D)。
14、根据权利要求13所述的电子装备,其特征在于,所述电子装备选自至少包括数字摄像机和具有视频获取装置的通信装备的组。
15、一种电子装备(E2),所述电子装备(E2)包括用于接收要处理的数字视频序列的图像帧的装置,其特征在于,所述电子装备(E2)包括根据权利要求1到12中任一项所述的处理设备(D)。
16、根据权利要求15所述的电子装备,其特征在于,所述电子装备选自至少包括通信装备、数字视频解码器、数字视频记录器以及数字视频编码器的组。
全文摘要
本发明提供了一种在例如数字摄像机的电子装备(E1)中用于数字视频序列的图像帧稳定化的处理设备(D)。所述处理设备(D)包括处理装置(PM),所述处理装置(PM)被设置为用于针对视频序列的每一幅当前图像帧,根据所述视频序列的当前图像帧的全局运动参数和至少一幅先前图像帧之一的全局运动参数,来确定存在于所述视频序列中的运动类型。所述参数是根据所述视频序列的当前图像帧和前一图像帧之间的运动估计来确定的。所述运动确定之后接着是,根据所确定的运动类型,在至少两种抖动提取技术中选择选定抖动提取技术。使用选定抖动提取技术来确定要从所确定的全局运动参数中去除的抖动,以去除存在于当前图像帧中的不期望的运动。
文档编号H04N5/232GK101502099SQ200780016766
公开日2009年8月5日 申请日期2007年5月3日 优先权日2006年5月9日
发明者安托万·德罗乌特 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1