用于处理视频图像的系统和方法

文档序号:6552943阅读:217来源:国知局
专利名称:用于处理视频图像的系统和方法
技术领域
本发明总的涉及处理图形图像。
背景技术
许多技术已经被提出,并且在许多情形中已经被实现来执行一个或者多个二维图像到一个或者多个立体三维图像的转换。二维图像到三维图像的转换涉及到为每个三维帧创建一对立体图像。然后使用适合的显示设备,可以将立体图像呈现给观察者的左眼和右眼。根据场景中的对象和场景的观察者之间的计算出的空间关系,相应的立体图像之间的图像信息不同。图像信息中的差别使得观察者能够感觉到三维效果。
在美国专利第6,477,267号(‘267专利)中描述了转换技术的一个例子。在‘267专利中,只对给出的二维图像中所选择的对象进行处理以取得最终三维图像中的三维效果。在‘267专利中,最初是通过描绘对象的轮廓来选择对象以进行这种处理。所选择的对象被分配一“深度”值,该“深度”值代表对象离开观察者的相对距离。针对依赖于所分配的深度值的一对立体图像中的每个图像,执行所选对象的横向位移。本质上,发生“剪切-粘贴”操作以创建三维效果。对象的简单位移在对象的背景中产生了缝隙或者空白区域。‘267专利中公开的系统通过“伸展”对象的背景以填充空白区域来补偿缝隙。
‘267专利有许多局限性。具体地,伸展操作会引起被伸展对象的变形。伸展需要被最小化以减小视觉的异常。伸展量还对应于对象与其背景之间的差别或视差,并且伸展量是其距观察者的相对距离的函数。因此,相互作用的对象的相对距离必须保持较小。
在美国专利第6,466,205号(‘205专利)中描述了转换技术的另一例子。在‘205专利中,对视频帧的序列进行处理以选择对象并且创建所选对象的“单元(cell)”或者“消光(mattes)”,其基本上仅仅包括与它们各自的对象相关的信息。在给定帧中,由另一对象对所选对象的局部遮蔽通过在时间上搜索视频帧序列以识别其中第一对象的相同部分未被遮蔽的其它的帧来处理。因此,即使完整的对象没有出现于任何的单个帧中,也可以为完整的对象创建单元。这种处理的优点是在为了提供三维效果而移置对象时不会出现缝隙或者空白区域。具体地,会成为空白的一部分背景或者其它对象可以用从时间序列中的其它帧获得的图形信息来填充。因此,三维图像的再现可以以有利的方式出现。

发明内容
一些典型的实施例旨在通过处理一系列的二维图像,以生成由该系列的图像所描述的实物世界的表示,从而创建“虚拟世界”。虚拟世界表示包括对象模型,该对象模型指定虚拟世界内对象的位置、对象的几何形状、对象的维数、对象的表面表示和/或其它相关的信息。通过开发虚拟世界表示,可以运用许多图像处理效果。
在一实施例中,可以创建立体图像。为了创建一对立体图像,利用两个不同的相机位置,再现虚拟世界的两个单独的视图,其对应于观察者的左眼和右眼。以这种方式再现的立体图像产生的三维效果比采用公知的转换技术可能得到的感觉质量更好。具体地,使用三维几何学进行表面重构实现了比采用二维相关性时可能实现的更加精确的对象表示。
在一实施例中,通过使用编辑应用软件,将算法分析和手动输入应用于一系列的二维图像上。编辑应用软件的图形用户界面使“编辑者”能够控制图像处理算法和相机重构算法的操作以开始对象模型的创建。运用算法的同时,编辑者可以通过图形用户界面提供用户输入来精致对象模型。通过协调手动和自动图像操作,可以以高效的方式将二维序列转换成虚拟世界表示。因此,诸如二维到三维转换的进一步的图像处理可以以比使用已知处理技术更高效和更精确的方式发生。
上述内容相当广泛地概括了本发明的特征和技术优点,从而使得能更好地理解下面的本发明的详细描述。本发明另外的特征和优点将在下文中描述,其形成本发明权利要求的主题。应该理解,所公开的构思和具体实施例可以被方便地用作修改或设计其它结构以用于实现本发明的相同目的的基础。应该意识到,这种等同的构造并不脱离如所附权利要求所述的发明。在结合附图考虑时,根据下面的描述,将更好地理解与本发明的结构和操作方法有关的、被认为是本发明的特性的新颖特征,以及更多的目的和优点。然而,应该清楚地理解,所提供的每个图只是为了说明和描述的目的,并不是作为本发明的限制的限定。


为了更加完整地理解本发明,现在结合附图,参考下面的描述,其中图1示出了视频序列的关键帧。
图2示出了根据一个典型实施例生成的来自图1所示视频序列的对象的表示。
图3示出了根据一个典型实施例生成的三维场景的俯视图。
图4和5示出了根据一个典型实施例生成的立体图像。
图6示出了根据一个典型实施例,从视频序列开发三维场景模型的一组相关过程。
图7示出了根据一个典型实施例,用于产生纹理数据的流程图。
图8示出了根据一个典型实施例实现的系统。
图9示出了根据一个典型实施例的其中对象可以利用三维模型来表示的一组帧。
具体实施例方式
参考附图,图1示出了根据一些典型实施例可以处理的视频图像序列100。视频图像序列100包括关键帧101-104。在这些关键帧之间可以存在多个其它帧。
如图1所示,球体105具有多个色调和/或色度容量(chromaticcontent)。球体150的一半使用第一色调151来再现,并且球体150的另一半使用第二色调152来再现。球体150通过视频序列100经历旋转变换。因此,在关键帧102中,相对于关键帧101,可以看到更大量的色调151。在关键帧103中,充分的旋转已经发生,使得仅球体150的色调151是可见的。在关键帧104中,与关键帧101中的色调152的位置相比,在球体150的相对侧上,色调152再次变为可见。
盒子160在视频序列100中经历缩放变换。具体地,盒子160遍及视频序列100变得更小。而且,在视频序列100期间,盒子160被平移。最后,盒子160的运动使得盒子160被球体150遮蔽。在关键帧104中,盒子160不再可见。
根据公知的图像处理技术,通过分割或者消光(matting)来自关键帧103的球体150,将产生针对关键帧103的立体图像。用于球体150的被分割或被消光的图像数据将包括单一色调(即色调151)。被分割或者被消光的图像数据可以在立体视图中被替换。另外,可以进行图像填充或者对象伸展以处理由替换导致的空白区域。由于不能精确再现球体150的多色调表面特征,许多公知的图像处理技术的局限性被显现出来。具体地,因为根据公知图像处理技术的立体图像的生成仅使用了经消光的或者经分割的图像数据,所以,在一对立体图像的左、右图像中,公知技术会将球体150再现为单色调对象。然而,这种再现偏离了在三维场景中会实际产生的视图。在实际的三维场景中,右视图可以使得色调152的一部分在球体150的右侧上可见。同样地,左视图可以使得色调152的一部分在球体150的左侧上可见。
当通过在正被处理的图形中创建对象的三维模型从而再现立体图像时,典型的实施例使得能够得到更高的精确度。可以针对盒子160创建单个的三维模型。另外,利用为盒子160创建的模型,可以对盒子160所经历的缩放变换进行编码。图2中所示的盒子160的表示201-204对应于关键帧101-104。另外,需要注意,盒子160没有显式地呈现在关键帧104中。然而,由于缩放变换和平移能够被识别和编码,所以可以为关键帧104创建盒子160的表示204。关键帧中不可见对象的表示的创建有利于使许多效果能够实现。例如,可以选择对象去除操作以去除球体150,由此导致盒子160在最后所得到的经处理的图像中是可见的。
以类似的方式,可以针对球体150选择或创建三维模型。结合该三维模型,可以编码与球体150相关联的旋转变换信息。
使用三维模型和相机重构信息,可以对包括场景内对象的位置的三维场景进行限定。图3示出了场景300的俯视图,场景300包括对应于关键帧103的球体150的三维模型301和盒子160的三维模型302。如图3所示,色调152通常背向观察透视(viewing perspectives),并且色调151通常面向观察透视。然而,因为右视图被轻微地偏移,所以一部分色调152是可见的。同样地,盒子160的三维模型302的较少部分被球体150的三维模型301所遮蔽。
利用三维场景300,可以生成左图像400和右图像500,如图4和图5所示。具体地,三维场景300限定了对于左右视图而言哪些对象是可见的、对象的位置以及对象的大小。通过使用纹理映射技术来将图像数据映射到三维对象上,从而可以在视图中再现对象。经编码的变换信息可以用于以精确的方式执行纹理映射。例如,针对球体150所编码的旋转变换信息使球体150左部分能够在左图像400中包括色调152。变换信息使球体150的右部分能够在右图像500中包括色调152。具体地,使用变换信息,可以将与关键帧102和104中的色调152相关联的图像数据映射到图像400和500中的球体150的适当部分上。同样地,通过使用来自关键帧102的信息和变换信息,盒子160的已经在图像500中变为可见的部分的表面特征可以被适当地再现出来。
为了进一步说明一些实施例的操作,参考图9。图9示出了一组视频帧,其中盒子沿两个轴旋转。使用传统的消光建模技术,要为帧901-904中的每一个创建对象消光,原因是盒子的二维表示在每个帧中都是不同的。然后,为帧901-904中的每一个创建相应的对象消光是一个耗时和繁琐的过程。然而,根据一典型实施例,针对帧901创建对象模型。因为盒子的三维特征不会改变,所以针对帧902-904可以仅限定旋转信息。然后,使用对象模型和变换信息,可以从帧902-904中自动提取盒子的表面特征。因此,一些典型的实施例提供了比传统技术更高效的用于处理视频帧的过程。
图6示出了根据一典型实施例从视频图像限定三维对象的一组相关过程。在过程601中,在所选帧中限定所关心的对象的轮廓。对象的轮廓可以以半自动的方式出现。用户可以手动选择相应对象的边缘的相对少量的点。然后,可以使用边缘跟踪算法识别位于用户所选点之间的对象的轮廓。一般而言,边缘跟踪算法通过确定两点之间的最小路径成本进行操作,其中,路径成本是图像梯度特征的函数。在边缘跟踪期间还可以使用关于所选对象的特定域信息。可以使用一系列的贝塞尔(Bezier)曲线或者其它参数曲线对对象的轮廓进行编码。如有需要,可以使用更多的用户输入来精致曲线。
在过程602中,可执行相机重构。相机重构涉及分析相机与视频序列中的三维场景之间的关系的过程。在这个过程中,可以估计相机的焦距、相机的相对成角透视、相机相对于场景中的对象的位置和方位,以及/或者其它适合的信息。
在过程603中,针对对象,创建三维模型或者从预定义的三维模型库中选择三维模型。可以使用许多适合的模型格式,例如,可以采用构造实体几何(Constructive Solid Geometry)模型,其中,每个对象被表示为对象基元(例如,块、圆柱体、圆锥体、球体等)和对基元的逻辑运算(例如,并集、差分、交集等)的结合。另外或者可替选地,可以采用非均匀有理B样条(NURBS)模型,其中,对象是根据加权控制点、曲线阶(curveorder)和节点向量的集合来被限定。另外,根据运动动画(kinematicanimation)技术,能够限定骨架模型元素以利于与视频序列中对象的复杂运动相关联的图像处理。
在过程604中,限定所关心的对象在关键帧之间经历的变换和平移。具体地,对象的平移或者替换、对象的缩放、对象的旋转、对象的形变等可以被限定。例如,对象在关键帧之间可以增加大小。大小的增加可缘于该对象接近相机或者缘于对象真实地变大(“鼓胀(ballooning)”)。通过对对象是否在大小上有所增加而不是仅仅在三维场景中移动进行精确地编码,随后的处理可以更精确地发生。这个步骤可以利用自动算法和用户输入的结合来执行。例如,可以用运动补偿算法来估计对象的平移。如果对象已经经历了缩放,则用户可以识别出已经发生缩放,并且自动算法可以通过比较关键帧之间的图像轮廓来计算缩放因子。
在过程605中,使用前面步骤中所开发的信息,对视频序列的三维场景中的对象的位置进行限定。位置的限定可以以自动的方式发生。为了编辑或者其它目的,可以接收用户输入以改变对象的位置。另外,如有需要,可以去除一个或者几个对象。
在过程606中,创建表面特性数据结构,如纹理映射。
图7示出了根据一个典型实施例,用于创建特定时间位置的三维对象的纹理映射数据的流程图。用于创建纹理映射数据的流程图起始于步骤701,其中,选中视频帧。所选视频帧识别时间位置,纹理映射生成将针对该时间位置发生。在步骤702中,选中来自所选视频帧的对象。
在步骤703中,识别三维模型中与所选对象在所选帧中可见的部分对应的表面位置。例如,通过采用从初始相机位置到使用相机重构数据的三维模型上的位置的射线跟踪(ray tracing),可以执行可见表面位置的识别。在步骤704中,根据用于三维模型被识别部分的所选帧中的图像数据,创建纹理映射数据。
在步骤706中,识别三维模型与对象在所选帧中最初不可见的部分对应的表面位置。在一个实施例中,在步骤706中识别全部剩余表面位置,由此使得为所选帧创建尽可能多的纹理映射数据。在特定情形中,可能希望限制纹理数据的构造。例如,如果纹理数据在需要时生成,那么可能希望在该步骤中仅识别如下的表面位置(i)对应于对象在所选帧中最初不可见的部分的表面位置,以及(ii)由于根据视点的改变而再现对象的原因,从而变为可见的表面位置。在这种情形中,根据对象的相机距离和最大的两眼间(inter-ocular)常数,可以计算出由于透视改变所暴露的对象表面的量。
在步骤706中,通过使用对象的被限定的模型、对象变换和平移以及相机重构数据,将在步骤705识别的表面位置与所选帧之前和/或之后的帧中的图像数据相互关联。在步骤707中,根据变换、平移和相机重构数据处理来自其它帧的图像数据。例如,如果在帧之间发生缩放变换,那么根据缩放因子可以增加或者减少先前帧或者主体帧中的图像数据。其它适当的处理可以发生。在一个典型实施例中,依赖于相互关联的图像数据在时间域中接近所选帧的程度,可以使用加权平均处理。例如,照明特性在帧之间可能改变。加权平均可以使得较暗的像素被照亮以匹配所选帧中的照明水平。在一个典型实施例中,光源也被建模为对象。当针对光源创建模型时,与被建模的对象相关联的照明效果可以从生成的纹理中除去。然后在再现期间再次引入照明效果。
在步骤708中,根据步骤707中所处理的数据,针对步骤705中所识别的表面位置创建纹理映射数据。因为在图像数据处理中使用了平移、变换和其他适合的信息,所以图像数据从其它帧到三维模型上的纹理映射以相对精确的方式发生。具体地,明显的间断和其它成像假象通常将是观察不到的。
在一个典型实施例中,关联于表示所关心对象的表面特征的纹理数据结构的生成而执行步骤704-707。一组给出的纹理数据结构限定了可以从视频序列恢复的对象的所有表面特征。同样地,因为表面特征会随着时间变化,所以可以针对每个相关帧分配纹理数据结构。因此,纹理数据结构可以被考虑用来抓取与特定对象相关的视频信息。
组合的数据集(对象模型、变换信息、相机重构信息和纹理数据结构)能够从视频序列构造三维世界。三维世界可以被用于支持许多数据处理效果。如前面所提到的,可以创建立体图像。该立体图像可以近似地对应于原始二维视点。可替选地,如果有来自足够多的透视的图像数据可用,那么,立体图像可以从原始视频的视点上被去耦合。另外,可以执行对象去除以便从视频序列的帧去除对象。同样地,可以执行对象插入。
图8示出了根据一个典型实施例用于处理视频图像序列的系统800。系统800可以在适合的计算机平台上实现。系统800包括常规的计算资源,如中央处理单元801、随机存取存储器(RAM)802、只读存储器(ROM)803、用户外围设备(例如,键盘、鼠标等)804和显示器805。系统800进一步包括非易失性存储器806。
非易失性存储器806包括使常规处理资源能够实现一些典型实施例的数据结构和软件代码或者指令。数据结构和代码可以实现例如图6和图7的流程图。
如图8所示,非易失性存储器806包括视频序列807。视频序列807可以以数字格式从另一适合的介质(未显示)得到。可替选地,在来自成像设备(例如录像带播放器(video cassette player)或者视频摄像机)的模拟视频信号被模数变换后,可以得到视频序列807。利用一合适的图像处理算法或者几个算法以及用户输入,对象消光模块814限定所选对象的轮廓。相机重构算法817处理视频序列807以确定视频序列807中的对象与用于抓取图像的相机之间的关系。相机重构算法817将数据存储于相机重构数据811中。
模型选择模块815使得来自于模型库810的模型模板能够与视频序列807中的对象相关联。用于对象的模型选择被存储于对象模型808中。对象精致模块816利用用户输入和自动算法,生成并编码视频序列807中的对象模型808内的转换数据。对象模型808可以表示随时间活动的几何编码形状、变换和位置数据。对象模型808可以是分层的,并且可以具有相关联的模板类型(例如,椅子)。
纹理映射生成模块821生成纹理,该纹理表示视频序列807中的对象的表面特征。纹理映射生成模块821使用对象模块808和相机数据811以生成纹理映射数据结构809。优选地,每一个对象包括用于各自关键帧的纹理映射,对象在视频序列807中透视的数目和对象的遮蔽被给定时,该纹理映射描述尽可能多的表面特征。具体地,纹理映射生成模块821在前面的帧和/或后面的帧中进行搜索从而得到当前帧没有的表面特征数据。平移和变换数据被用于将来自其它帧的表面特征放置于纹理映射数据结构809的合适的部分中。同样地,变换数据可以被用于缩放、形变、或以另外的方式处理来自其它帧的数据,使得经处理的数据与从当前帧得到的纹理数据的特征相匹配。如有需要,纹理精致模块822可以被用于执行所生成的纹理的用户编辑。
场景编辑模块818使用户能够限定经处理的图像数据820如何被创建。例如,如果需要三维效果,那么用户可以限定针对立体图像如何限定左和右透视。可替选地,如有需要,用户可以提供适合的输入来创建具有其它图像处理效果的二维视频序列。对象插入和去除可以通过用户输入的接收而发生,以识别待插入和/或者去除的对象以及针对这些效果的帧。另外,用户可以改变对象位置。
当用户经过场景编辑模块818完成输入数据时,用户可以采用再现算法819来生成经处理的图像数据820。经处理的图像数据820使用对象模型808、纹理映射数据结构809和其它适合的信息而被构造以提供期望的数据处理效果。
虽然已经详细描述了本发明及其优点,但是应该理解,在这里可以进行各种改变、替代和变化,而不背离如所附权利要求所限定的发明。而且,本发明的范围并非旨在限于说明书所描述的过程、机器、制造、事物的合成、装置、方法和步骤的实施例。如同人们从本公开中容易理解的那样,可以利用当前存在的或者以后将要被开发的、能够实现与这里所描述的对应的实施例基本上相同的功能或获得基本上相同的结果的过程、机器、生产、事件的构成、装置、方法或步骤。因此,所附权利要求旨在在其范围内包括这种过程、机器、制造、事物的合成、装置、方法或步骤。
权利要求
1.一种用于处理视频序列的方法,包括限定与所述视频序列的多个帧内的对象相关联的图形数据;将三维模型与所述对象相关联;限定所述对象在所述多个帧之间经历的变换;针对所述多个帧的第一帧生成纹理映射数据,其中,所述生成(i)识别所述三维模型的根据与所述第一帧相关联的相机位置可见的第一部分;(ii)将与所述第一帧相关联的经限定的图形数据包括在用于所述第一部分的纹理映射数据内;(iii)识别所述三维模型的根据与所述第一帧相关联的相机位置不可见的第二部分;(iv)根据所述对象在所述第一帧和至少第二帧之间经历的经限定的变换,处理与所述多个帧中的至少所述第二帧相关联的经限定的图形数据;并且,(v)将所述经处理的图形数据包括在用于所述第二部分的纹理映射数据内。
2.根据权利要求1所述的方法,其中,所述限定变换包括限定所述对象经历的位置上的变化。
3.根据权利要求1所述的方法,其中,所述经限定的变换包括选自列表的至少一个变换,所述列表包括缩放变换、旋转变换和变形变换。
4.根据权利要求1所述的方法,其中,所述限定图形数据包括限定所述对象在所述多个帧中的轮廓。
5.根据权利要求4所述的方法,其中,所述限定轮廓包括经由用户界面从用户接收输入以限定所述对象表面的多个点;以及执行图像处理算法来限定所述多个点之间的边缘。
6.根据权利要求1所述的方法,进一步包括针对所述第一帧生成立体图像,其中,所述生成立体图像包括利用所生成的纹理映射数据从两个透视来再现所述三维模型。
7.根据权利要求1所述的方法,还包括针对所述多个帧中的每一个,重复所述生成纹理映射数据。
8.根据权利要求7所述的方法,还包括利用所述对象模型和所述纹理映射数据,生成立体图像的序列。
9.根据权利要求1所述的方法,还包括针对所述多个帧中的多个对象,重复所述限定图形数据、关联、限定变换以及生成。
10.根据权利要求1所述的方法,还包括通过在所述第一帧中去除至少部分地遮蔽与所述三维模型相关联的所述对象的另一个对象,再现所述第一帧的修改版本。
11.根据权利要求1所述的方法,还包括执行相机重构算法,其中所述生成过程利用由所述相机重构算法生成的数据,限定与所述第二帧相关联的图形数据。
12.根据权利要求1所述的方法,其中,所述生成将用于所述第二部分的数据区分优先次序为距所述第一帧的时间距离的函数。
13.根据权利要求1所述的方法,其中,所述生成使用加权平均来处理所述被识别的图形数据以补偿所述第一和第二帧之间的图像差异。
14.一种用于处理视频序列的系统,包括多个对象模型,利用三维元素来表示所述视频序列中的对象;多个变换数据结构,限定所述对象在所述多个帧之间经历的变换;用于生成纹理映射数据的纹理映射生成算法,其中,针对所述对象模型中的每一个和针对所述多个帧中的每一个,所述算法可用于(i)识别相应对象模型的根据所述多个帧的当前帧的相机位置可见的第一部分;(ii)识别所述相应对象模型的根据所述相机位置不可见的第二部分;(iii)将来自所述当前帧的图形数据包括在用于所述当前帧的所述第一部分的纹理映射数据中;(iv)根据变换数据结构,处理来自不同于所述当前帧的至少一个帧的图形数据;并且,(v)将所述被处理的图形数据包括在用于所述第二部分的纹理映射数据中。
15.根据权利要求14所述的系统,其中,所述多个对象模型对数据进行编码,所述数据限定了用于所述多个帧的三维中的所述多个对象模型的位置。
16.根据权利要求14所述的系统,其中,所述多个对象模型对数据进行编码,所述数据限定了所述多个对象模型的维数。
17.根据权利要求14所述的系统,还包括至少一个相机数据结构,限定了用于抓取所述视频序列的相机的特征。
18.根据权利要求14所述的系统,还包括再现模块,用于使用所述多个对象模型和所述纹理映射数据来再现图像。
19.根据权利要求17所述的系统,还包括场景编辑模块,用于修改对象特征。
20.根据权利要求19所述的系统,其中,所述场景编辑模块接收用户输入以便从待再现的帧中去除对象。
21.根据权利要求19所述的系统,其中,所述场景编辑模块接收用户输入以便将对象插入待再现的帧中。
22.根据权利要求14所述的系统,还包括再现模块,用于利用所述多个对象模型、所述相机数据和所述纹理映射数据来再现图像。
23.根据权利要求14所述的系统,还包括用于重构相机的特征的模块,所述相机用于抓取所述视频序列。
24.根据权利要求14所述的系统,还包括用于构造几何形状的模块,所述几何形状表示所述视频序列中的对象。
全文摘要
一些典型实施例旨在通过处理一系列的二维图像,产生在该系列的图像中所描述的实物世界的表示,从而创建“虚拟世界”。虚拟世界表示包括对象的模型,所述对象模型指定了虚拟世界内对象的位置、对象的几何形状、对象的维数、对象的表面表示、以及/或者其它相关信息。通过开发虚拟世界表示,可以运用许多图像处理效果,如立体图像的生成、对象插入、对象去除、对象平移和/或其它的对象处理操作。
文档编号G06T15/20GK101053000SQ200580037763
公开日2007年10月10日 申请日期2005年9月7日 优先权日2004年9月23日
发明者大卫·A·斯普纳, 托德·辛普森 申请人:转换器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1