视频稳定中的运动平滑的制作方法

文档序号:6583628阅读:162来源:国知局

专利名称::视频稳定中的运动平滑的制作方法
技术领域
:概括地说,本发明公开主题涉及稳定视频领域。
背景技术
:许多类型的移动设备(例如摄影机、采用电影模式的静态相机、蜂窝电话和个人数字助理(PDA)中的照相机)容许捕捉图像序列。但是,在多数情况中,在非理想条件下和使用非理想的采集设备捕捉视频。例如,在从移动车辆或使用不稳的手摄影这样的情况中,大多数视频表现出高度的不必要的运动或抖动。即使在正常条件下获取的视频也表现出不必要的晃动。视频稳定旨在从视频中消除不想要的晃动。虽然一些非常昂贵设备提供机械图像稳定,但是通常采用图像处理技术,该技术通常包括在假定主要包括背景信息的图像内,根据预选图像区域来计算图像运动。如果感兴趣的对象正巧在此区域内,那么该对象就违背了该基本假设,背景运动估计将是不正确的。其他数字稳定技术包括通过分别沿着水平和垂直坐标对图像积分来估计横跨整个图像的运动,然后通过在连续帧中的两个一维信号的简单相关来计算运动。这种技术是快速的并能在嵌入图像设备内的硬件中实现,但是该技术往往是不准确的,并可能由于计算在图像内横跨所有对象的平均运动而导致有偏差的运动估计。其他通常平滑图像抖动的方法包括使用多项式拟合、高斯巻积和卡尔曼(Kalman)滤波。通过例子的方式,而不是通过限制的方式在附图中图解说明了本发明的各个实施例,在附图中,相似的标号指代类似的元件。图1以高层框图形式描绘了视频稳定流水线。图2描绘了沿X轴的帧间运动向量和接收到的绝对位置的例子。图3描绘了依照本发明的一个实施例的SG滤波器的平滑操作的例子。图4描绘了依照本发明的一个实施例,在应用运动平滑之后,对沿着X轴的帧曲线的绝对位置进行平滑的例子。图5描绘了依照本发明的一个实施例的用来平滑视频的过程。图6描绘了依照本发明的一个实施例的计算机系统的高层框图。具体实施例方式贯穿于说明书的对"一个实施例"或"实施例"的提及意味着,结合实施例所描述的特定特征、结构或特性包含在本发明的至少一个实施例中。因此,在贯穿此说明书各处出现的短语"在一个实施例中"或"实施例"并非必然全部指同一实施例。此外,特定的特征、结构或特性可以在一个或多个实施例中合并。4图1以高层框图形式描绘了视频稳定流水线100。流水线100包括运动估计102、运动平滑104和运动补偿106。例如,视频稳定流水线100可以符合H.264(高级视频编解码器(AVC)和MPEG-4第IO部分)压縮标准。H.264标准已经由联合视频工作组提出,该工作组包括ITU-TSG16Q.6,其也称作VCEG(视频编码专家组),还包括IS0-IECJTC1/SC29/WGl1(2003),其称作MPEG(移动图像专家组)。视频稳定流水线100可以符合MPEG-2(ISO/IEC13818-1(2000))和VC1(SMPTE421M(2006))以及其他视频编解码器。运动估计102可以从例如存储文件、摄像机和/或来自网络的流式视频接收输入视频流。运动估计102可以输出帧间运动参数。所述参数的数量可以变化,这依赖于使用哪种运动估计模型。例如,平移模型可以产生两个参数,具体为X和Y,它们分别代表沿着X轴和Y轴的帧间运动。旋转_平移_縮放模型可以产生四个参数,这些参数代表帧间旋转、平移和縮放。例如,图2描绘了从时刻0到时刻450的沿着X轴的帧间运动向量和接收到的绝对位置的一个例子。由图2所代表的信息可以从运动估计102中输出。再次参考图l,在一个实施例中,运动平滑104可以使用Savitzky-Golay滤波器来减小视频中出现的抖动。Savitzky-Golay(SG)平滑滤波器是在"SmoothingandDifferentiationofDatabySimplifiedLeastSqimresProcedures,,,SavitzkyA.禾口Golay,M.J.E.1964,AnalyticalChemistry,Vol.36,第1627-1639页中描述的一种FIR滤波器。SG滤波可以在至少K+l个等间距点的分布上执行K阶局部多项式回归,从而为每个点确定平滑值。SG滤波可以用新的值替代所获得的噪声数据的每一个值,该新的值在最小二乘意义上从针对2n+l个相邻点的K阶多项式拟合中获得,其中K《n。当确定了多项式阶数K和窗的大小2n+l时,可以以离线方式预先计算加权系数并将其存储以做将来使用。SG滤波可以使用与一组预先计算的系数之间的线性巻积。SG滤波器可以保留原始谱的高阶矩。这可以导致移除最大数量的噪声,同时保留数据的重要的谱特性。广泛用于图像恢复的修改的Rudin-0sher-Fatemi函数可以用来提供对平滑质量JlV"i必+义J"l/-"l血公式丄其中f(x)代表观测到的噪声数据,u(x)代表恢复(平滑)的数据,常数A是尺度参数。使F(u)最小化的所恢复的u(x)可以用来确定最平滑的视频。函数的第一个积分即正则项,也称作u(x)的"全变分",其使得u(x)成为平滑函数。该正则项讨厌摆动而且它负责消除噪声。第二项,即保真项,驱使u(x)成为对所观测到的数据f(x)的良好近似。u(x)平滑和u(x)对原始f(x)的近似之间会存在折中。表1表示通过在具有抖动的视频上应用不同平滑技术所获得的提出的度量的结果。表1:不同运动平滑技术的提出度量结果<table>tableseeoriginaldocumentpage6</column></row><table>对于从视频中移除抖动而言,Savitzky-Golay平滑滤波器的执行效果会比标准平均FIR滤波器好的多。FIR滤波器往往滤除数据的高频内容中的主要部分,从而连同噪声还平滑了预期的运动模式。主要的是,该稳定系统保留了故意造成的、长时间的照相机运动,而只移除多余的抖动。图3描绘了依照本发明的一个实施例,SG滤波器的平滑操作的一个例子。在时刻t。的圆圈表明作为拟合的多项式曲线p(x)的中心点而计算得到的经滤波的数据。图4描绘了在应用运动平滑之后,对沿着x轴的帧曲线的绝对位置进行平滑的例子。在图402上示出的数据上应用SG滤波可产生图404中所示的曲线。更平滑的曲线可以减小显示视频中的抖动。图5描绘了依照本发明的一个实施例,可以用来平滑视频的过程500。框501可以包括针对每个向量参数确定相对于先前帧的当前帧的绝对位置。当前帧的绝对位置可以等于先前帧的绝对位置加上帧间运动向量参数。框501可以包括针对、(t)确定X(t)=X(t-1)+Vi(t),其中X(t)代表在时刻t的帧的绝对位置、(t)代表从至少一个参数Vjt)、V2(t)……Vp(t)中选出的在时刻t的运动估计模型的向量参数。向量参数Vi(t)可以是以下模型中的多个量参数中的至少一个向量参数平移模型(x和y参数)、平移和旋转模型(x、y和旋转参数)、或仿射映射(例如,保留点之间的共线性和沿着一条线的截距比(ratiosofdistance)的六个参数)。框502可以包括对当前帧应用SG滤波,以确定在时刻t的经平滑的绝对帧位置。所述当前帧可以是使用至少一个向量参数在框501中确定的帧X(t)。框502可以包括为当前帧确定在时刻t的经平滑的绝对帧位置X^(t):Ac(0=Jc,Z(O,其中是以"NumericalRecipesinC:TheArtofScientificComputing,,,Press等人,第650-655页,CambridgeUniversityPress(1992)中描述的方式对预先选择的K和n预先计算的值。使用不同的多项式阶次k和帧大小n可以得到不同的平滑质量。关于几个视频的实验表明,使用k=1,2和n=5±2可以产生好的质量结果。框503可以包括确定要应用的修正量。框503可以包括确定用于稳定视频的、在时刻t的运动估计模型的经修正的参数向量V。。rr(t):Vc。rr(t)=XSG(t)-X(t)框504可以包括对当前帧应用修正。框504可以包括应用图像扭曲(warping)方案改变帧的位置但保持颜色。框504可以包括使用修正向量V。。rr(t)的参数,根据在时刻t的原始未修正帧的绝对位置来确定经平滑的帧I。。(t)。图像扭曲方案可以包括通过使用下面的关系式来将当前帧中的每一个像素(a,b)映射到经修正的帧中的像素(a',b'):(a',b')=M*(a,b)其中M是包括修正向量V。。rr(t)的参数的变换矩阵。例如,对于平移_旋转模型,其中修正向量V。。(t)包括变量m、n和alpha(a),矩阵M可以是cos(alpha),_sin(alpha),0sin(alpha),cos(alpha),0m,n,1作为另一例子,每个像素的图像扭曲可以使用下面关系式(a',b',1)二M氺(a,b,l),其中(a,b,1)是齐次坐标中(a,b)的表示。框505可以包括判断是否帧间运动向量的所有参数Vi(t)都已经应用到当前帧。如果帧间运动向量的所有参数并未全部应用到当前帧,那么框501使用尚未使用的参数、(t)来确定当前帧。例如,在框501-505的第一次迭代中,Vjt)可以是x,然后在第二次迭代中,Vi(t)可以是y。图6描绘了依照本发明的一个实施例的计算机系统600的框图。计算机系统600可以包括主机系统602、总线616和网络接口620。主机系统602可以包括芯片组605、处理器610、主存储器612、存储器614、图形子系统615和总线616。芯片组605可以在处理器610、主存储器612、存储器614、图形子系统615和总线616之间提供相互通信。例如,芯片组605可以包括能够提供与存储器614的相互通信的存储器适配器(未示出)。例如,存储器适配器能够依照下列协议中的任何一种与存储器614通信小型计算机系统接口(SCSI)、光纤信道(FC)、和/或串行高级技术附件(S-ATA)。在一些实施例中,芯片组605可以包括数据移动逻辑,该逻辑能够在主存储器612之内、或在网络接口620和主存储器612之间、或概括地说在计算机系统600的各个组件的任何集合之间执行信息传递。处理器610可以实现为"复杂指令集计算机"(CISC)或"精简指令集计算机"(RISC)处理器、多核、或任何其他微处理器或者中央处理单元。主存储器612可以实现为易失性存储设备,例如但不限制于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储器614可以实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备、闪存存储器、电池备份SDRAM(同步DRAM)和/或网络可访问的存储设备。图形子系统615可以对用于显示的如静态图像或视频等图像执行处理。例如,图形子系统615可以减少视频中的抖动。在一个实施例中,图形子系统615可以使用参考图5描述的技术来减少抖动。总线616可以在至少主机系统602和网络接口620以及其他外围设备(未示出)之间提供相互通信。总线616可以支持串行或并行通信。总线616可以支持节点对节点或一个节点对多个节点(node-to-multi-node)的通信。总线616可以至少与下列规范兼容例如在可以从美国俄勒冈州波特兰的"PCI特别兴趣小组"获取的"外围设备互联(PCI)本地总线规范",修订版3.0,2004年2月2日(以及此后的修订版))中描述的"外围设备互联(PCI)";在"PCI特别兴趣小组"的"PCIExpress基本规范(修订版1.Oa)"(以及此后的修订版)中描述的PCIE邓ress;在可以从美国俄勒冈州波特兰的前述"PCI特别兴趣小组"获得的"PCI-X规范"修订版l.1,2005年3月28日(以及此后的修订版))中描述的PCI-X;和/或"通用串行总线(USB)"(和相关标准)以及其他互连标准。网络接口620能够依照任何可用协议,来提供主机系统602和网络之间的相互通信。网络接口620可以使用总线616与主机系统602相互通信。在一个实施例中,网络接口620可以集成进芯片组605中。本发明中描述的图形和/或视频处理技术可以应用在各种硬件架构中。例如,图形和/或视频功能可以集成进芯片组中。或者,可以使用分立的图形和/或视频处理器。作为再另一实施例,图形和/或视频功能可以由包括多核处理器在内的通用处理器实现。在另一个实施例中,所述功能可以在消费型电子设备中实现。可以将本发明的实施例作为例如计算机程序产品来提供,所述计算机程序产品可以包括一个或多个机器可读介质,在机器可读介质上存储有机器可执行指令,当所述机器可执行指令由一个或多个机器(例如计算机、计算机网络、或其他电子设备)执行时,可以使所述一个或多个机器执行依照本发明的实施例的操作。机器可读介质可以包括但不限制于软盘、光盘、CD-ROM(光盘只读存储器)和磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦写可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存存储器或其他类型的适合于存储机器可执行指令的介质/机器可读介质。附图和前面的描述给出本发明的多个例子。虽然被描述为许多不同的功能项,但是本领域的技术人员应当理解,一个或多个这样的元件可以充分地合并进单个功能元件中。或者,某些元件可以分裂为多个功能元件。来自一个实施例的元件可以添加进另一个实施例中。例如,本发明描述的过程的次序可以改变,且并不限制于本发明所描述的方式。此外,任何流程图的动作都并非必然以所示出的次序实现;也并非必然要执行所有动作。此外那些不依赖于其他动作的动作可以与其他动作并行执行。但是本发明的保护范围绝不是由这些特定例子限制的。可能有许多变化,无论是在说明书中明确给出或者未明确给出,例如结构、尺寸和材料使用上的差别。本发明的保护范围至少与由权利要求给出的广度一致。权利要求一种用于应用滤波的方法,所述方法包括以下步骤接收视频帧的位置信息;对所述位置信息应用Savitzky-Golay滤波;并且提供经滤波的位置信息。2.根据权利要求1所述的方法,其中,所述位置信息包括所述帧的绝对位置。3.根据权利要求1所述的方法,其中,所述应用Savitzky-Golay滤波的步骤包括以下步骤使用向量参数来确定所述帧相对于先前帧的绝对位置;对所述帧应用Savitzky-Golay滤波来确定经平滑的绝对帧位置;确定修正向量;并且根据所述修正向量来对所述帧应用修正。4.根据权利要求3所述的方法,其中,所述使用向量参数来确定所述帧相对于先前帧的绝对位置的步骤包括确定X(t):X(t-l)+Vi(t),其中X(t)代表在时刻t的所述帧的所述绝对位置;并且、(t)代表从至少一个向量参数中选出的在时刻t的运动估计模型的向量参数。5.根据权利要求4所述的方法,其中,所述至少一个向量参数是从一个组中选择的,该组包括平移模型、平移和旋转模型、以及仿射映射。6.根据权利要求4所述的方法,其中,所述对所述帧应用Savitzky-Golay滤波来确定经平滑的绝对帧位置的步骤包括确定&c(0=l>,J(o'其中x(i)包括对于所述参数向量Vi(t)的绝对位置,并且Ci是预先计算的常数。7.根据权利要求6所述的方法,其中,所述确定修正向量的步骤包括确定Vcorr(t)=XSG(t)-X(t)。8.根据权利要求7所述的方法,其中,所述对所述帧应用修正的步骤包括应用图像扭曲方案,以使用所述修正向量V。OT(t)的参数,根据在时刻t的原始帧来确定经平滑的帧。9.一种用于应用滤波的装置,所述装置包括用于接收视频帧的至少一个规格的逻辑;并且用于对所述至少一个视频帧应用Savitzky-Golay滤波的运动平滑逻辑。10.根据权利要求9所述的装置,其中,所述至少一个规格包括所述帧的位置信息。11.根据权利要求9所述的装置,其中,所述运动平滑逻辑用于使用向量参数来确定所述帧相对于先前帧的绝对位置;对所述帧应用Savitzky-Golay滤波来确定经平滑的绝对帧位置;确定修正向量;并且根据所述修正向量来对所述帧应用修正。12.根据权利要求9所述的装置,其中,向量参数是从一个组中选择的,该组包括平移模型、平移和旋转模型、以及仿射映射。13.根据权利要求9所述的装置,其中,为了对所述帧应用修正,所述运动平滑逻辑使用所述修正向量对所述帧的像素应用图像扭曲,以修改所述帧的位置。14.一种用于应用滤波的系统,所述系统包括显示设备;图形处理器,用于对视频应用运动稳定,其中,为了应用运动稳定,所述图形处理器用于接收视频帧的至少一个规格;对所述至少一个视频帧应用Savitzky-Golay滤波;以及向所述显示设备提供所述滤波的视频帧。15.根据权利要求14所述的系统,其中,所述至少一个规格包括所述帧的位置信息。16.根据权利要求14所述的系统,其中,为了应用Savitzky-Golay滤波,所述图形处理器用于使用向量参数来确定所述帧相对于先前帧的绝对位置;对所述帧应用Savitzky-Golay来确定经平滑的绝对帧位置;确定修正向量;并且根据所述修正向量来对所述帧应用修正。17.根据权利要求16所述的系统,其中,向量参数是从一个组中选择的,该组包括平移模型、平移和旋转模型、以及仿射映射。18.根据权利要求16所述的系统,其中,为了对所述帧应用修正,所述运动平滑逻辑使用所述修正向量对所述帧的像素应用图像扭曲,以修改所述帧的位置。全文摘要本发明描述了运动稳定技术。至少由帧位置信息来表示视频帧。可以在帧位置信息上应用Savitzky-Golay滤波。结果得到的经滤波的视频可以具有已减小的可见抖动。文档编号G06T7/20GK101715067SQ20091022145公开日2010年5月26日申请日期2009年9月29日优先权日2008年9月29日发明者L·安茨费尔德申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1