紧凑的插中的制作方法

文档序号:6606629阅读:268来源:国知局
专利名称:紧凑的插中的制作方法
技术领域
本发明一般地涉及计算机-辅助动画,具体地涉及中间帧的计算机-辅助生成,所 述中间帧在关键帧之间填充动画序列。
背景技术
众所周知,能够通过创建单独的静态图像(帧)来创建动画视觉呈现,并且众所周 知,在例如长片电影中,需要大量的手工劳动以创建每个帧。通常,所作的是首先绘制在关 键动作点处帧的子组(动画术语为“关键帧”),之后创建剩余的“中间帧”以填充关键帧之 间的过渡运动。“插中(inbetweening) ”是典型动画制作流水线中的一个过程,其中,动画师制作 在关键帧处的绘图,其捕获动画运动的要点,之后“中间帧动画师”美工在每对关键帧之间 的指定时间间隔绘制中间帧,这些中间帧填充过渡运动。在一般情形下,中间帧基于两个或 者更多关键帧。一般来说,每个帧具有关联时间,通过根据与帧关联的时间按顺序显示帧来播放 动画。邻近的帧之间的时间差不需要相同,但通常是相同的,例如对于长片来说就是如此, 在长片中,每个帧被设计成在前一帧显示之后的第1/24秒显示。当然,帧通常不是瞬间显 示的,并且相同的动画能够以不同的速度播放,但是为了生成动画的目的,通常只要参照帧 的“动画时间”就足够了。例如,只要知道一个关键帧在时间t = 0,另一个关键帧在时间t =1,而中间帧将在时间t = 1/3生成就足够了,而无需考虑时间的单位。中间帧,或者“插中(inbetweens) ”,当其在非常相似的关键帧之间的动画序列中 时,被认为是“紧凑”的。绘制紧凑的插中对于美工来说是乏味的,因为他们需要最大程度的 精准度和最小程度的美工诠释。在动画包括三维场景的二维演示的情形下,场景中运动的 物体能够旋转或者改变形状,并且优选地,这种运动在动画中以自然的方式演示(例如根 据物理规律或者根据动画中的角色或者物体的人造的或者想象的“物理”)。此处,紧凑的 插中定义为形状上相似的具有很少或几乎没有拓扑变化的插中(例如,由在角色的一部分 在一个绘图中可见而在另一个绘图中不可见的情况下的可见性变化所产生的),但是应该 理解,类似的问题存在于非紧凑的插中中,并且可能藉由此处提出的类似的解决方案获益。手动产生中间帧是既困难又费时的,需要熟练专业人士的多个小时的高强度劳 动。此外,其花费是总生产预算的很大一部分。全长的长片动画可能需要超过一百万个绘 图的插中,典型比例为每个关键帧有3-4个插中。因此,研究者长期寻求一种自动化的解决 方案。虽然近四十年中此领域中有大量的工作,但是没有明确的解决方案。部分是因为问 题是不适定的——没有用于制作高质量插中的简明的规则集,特别是对于复杂运动和变化 的遮蔽的情形。美工依赖于他或她对于嵌入动画角色的3D世界的视角,以及对于获得所需 美感的艺术洞察力。为了获得三维世界,凭绘图是不充分的,即便是可能的,因为大多数情 况下角色有他们自己的、不明确的物理规律和变形(deformation)。参考文献
前述的方法和问题的一般性描述以及此领域的术语的例子可以在文献中找到,例如以下引用的参考文献[Alexa]Alexa, Μ. , Cohen-Or, D. , Levin, D. , “ As-Rigid-as-Possible Shape Interpolation, “ Proceedings ofACMSIGGRAPH2000,Computer Graphics Proceedings, Annual Conference Series,157-164 (2000) ·[Baxter]Baxter,W.,Barla,P.,and Anjyo,K. ~L, ” Compatible Embedding For 2D Shape Animation, “ Tech. Rep. ,0LMTRE-2008-001, OLM Digital, Inc. (2008).[Bregler]Bregler,C,Loeb,L. ,Chuang,E. ,and Deshpande,H.,〃 Turning to the Masters :Motion Capturing Cartoons, ” ACM Transactions on Graphics 21,3 (July), 399-407(2002).[Burtnyk71]Burtnyk, N.,and Wein, M., ” Computer Generated Key Frame Animation," J. Soc. Motion Picture and Television Engineers 80,3,149-153 (1971)·[Burtnyk76]Burtnyk, N.,and Wein, M.,” Interactive Skeleton Techniques for Enhancing Motion Dynamics in Key Frame Animation, “ Communications of the ACM, v. 19,n. 10,pp. 564-569,Oct. (1976).[Carr]Carr, J. C. ,Beatson, R. K,Cherrie, J. B. ,Mitchell,T. J. ,Fright, W. R., McCallum,B. C.,and Evans,Τ. R.," Reconstruction and Representation of 3D Objects with Radial Basis Functions," Proceedings ofACM SIGGRAPH2001,Computer Graphics Proceedings,Annual Conference Series,67-76,August (2001) ·[Catmul1]Catmul1,E.,“ The Problems of Computer Assisted Animation,“ in Proceedings of SIGGRAPH 1978, ACM Press/ACM SIGGRAPH, Computer Graphics Proceedings,Annual Conference Series,ACM, v. 12,n. 3,348-353,August (1978).[de Juan] de Juan, C. N.,and Bodenheimer, B., ” Re-using Traditional Animation :Methods for Semi-Automatic Segmentation and Inbetweening, “ in Proceedings of Symposium on Computer Animation 2006,Eurographics/ACM SIGGRAPH, 100-102(2005).[Durand]Durand,C. X., “ The ' Toon ' Project -Requirements for a Computerized 2D Animation System, “ Computers & Graphics 15,2,285-293 (1991) ·[Fekete]Fekete,J.,Bizouarn, E.,Cournaire, Ε.,Galas,Τ.,and Taillefer, F. , “ TicTacToon :A Paperless System for Professional 2D Animation, “ in Proceedings of SIGGRAPH 1995, ACM Press/ACMSIGGRAPH, Computer Graphics Proceedings,Annual ConferenceSeries,ACM,79-90,Sept. (1995).[Fu]Fu,H.,Tai,C. -L.,and Au,0. K. -C, ” Morphing with Laplacian Coordinates and Spatial-Temporal Texture,“ in Proceedings of Pacific Graphics 2005,100-102(2005).[Johnston] Johnston, 0.,and Thomas,F.,The Illusion of Life :Disney Animation, Disney Press (1995).[Kochanek]Kochanek,D.,Bartels,R.,and Booth,K.,” A Computer System for Smooth Key Frame Animation,“ Tech. Rep. CS-82-42,University of Waterloo(1982).
[Kort]Kort, Α. , “ Computer aided inbetweening, “ in NPAR ! 02 Proceedings of the 2nd International Symposium on Non-photorealistic Animation and Rendering,ACM,125-132(2002)[Lasseter]Lasseter, J. , ” Principles of Traditional Animation Applied to 3D Computer Animation, “ in Proceedings of SIGGRAPH 1987, ACM Press/ ACM SIGGRAPH, Computer Graphics Proceedings, Annual Conference Series, ACM, 35-44(1987).[Levoy]Levoy, Μ. , ” A Color Animation System :Based on the Multiplane Technique, “ in SIGGRAPH ' 77 -Proceedings of the 4th Annual Conference on Computer Graphics and Interactive Techniques,ACM,New York,NY,USA,65-71 (1977) ·[Melikhov]Melikhov, K. ,Tian, F. ,Seah, H. S. ,Chen, Q. ,and Qiu, J. , “ Frame Skeleton Based Auto-Inbetweening in Computer Assisted Cel Animation, “ in CW' 04 !Proceedings of the 2004 International Conference on Cyberworlds, IEEE Computer Society,216-223 (2004).[Miura]Miura, Τ. , Iwata, J.,and Tsuda, J.,“ An Application of Hybrid Curve Generation :Cartoon Animation by Electronic Computers" in AFIPS' 67 (Spring) Proceedings of the April 18 20,1967, Spring Joint Computer Conference, ACM, New York, NY, USA,141-148 (1967).[Noris]Noris,G. , 〃 Computer Assisted Cartooning, 〃 Master' s thesis, ETH Swiss FederalInstitute of Technology (2008).[Pervouchine]Pervouchine,V. ,Leedham,G.,and Melikhov,K.,“ Handwritten Character Skeletonisation for Forensic Document Analysis, “ in SAC ' 05 Proceedings of the 2005 ACM Symposium on Applied Computing, ACM, New York, NY, USA,754-758(2005).[Reeves]Reeves, W. , “ Inbetweening for Computer Animation Utilizing Moving Point Constraints, “ in Proceedings of SIGGRAPH 1981, ACM Press/ ACM SIGGRAPH, Computer Graphics Proceedings, Annual Conference Series, ACM, 263-270(1981).[Sederberg] Sederberg,T. W.,and Greenwood, E., "A Physically Based Approach to 2d Shape Blending, in Proceedings of SIGGRAPH 1992, ACM Press/ACM SIGGRAPH, Computer Graphics Proceedings,Annual Conference Series,ACM, Vol. 26, 25-34(1992).[Singh] Singh,K.,and Fiume, EX., “ Wires :A Geometric Deformation Technique," in Proceedings of ACM SIGGRAPH 1998,Computer Graphics Proceedings, Annual Conference Series,405-414(1998).[Sumner] Sumner, R. W.,Zwicker,M.,Gotsman,C,and Popovic, J.,“ Mesh Based Inverse Kinematics,“ ACM Transactions on Graphics 24,3 (Aug. ),488-495 (2005) ·[Surazhsky]Surazhsky, T. , and Elber, G. , ” Metamorphosis of Planar Parametric Curves Via Curvature Interpolation,〃 International Journal of ShapeModeling,8,2,201-216(2002) ·传统插中 存在用于关键绘图对的自动的和半自动的插中的已知技术。插中是一种艺术,对 于完美的最终产品,美工的输入可能总是必需的。然而,如果这种乏味的和高精准度的任务 能够交给计算机,并且仍允许用户输入,该过程将是更高效的,并且可能使美工能够有更多 时间把精力集中到需要他们的创造才华和专门技能以产生最高质量的结果的地方。2D制造工作流程概述虽然一些基础机制已经从数字技术的发明中获益,当今的2D制作仍遵循与传统 动画几乎一样的基本工作流程。[Johnston]。在这一工作流程中,情节串联图板提供故事 或者剧本的视觉表示。在布置中,设计每个场景的上演,包括建立布景,选择和安排角色以 及道具元素,和制定相机运动和剪切。基于布置绘图,背景被绘制在他们自己的图层。动画 序列通过基于绘图生成的帧图像表示,其中,每个帧具有一个动画时间。随后,角色和效果动画在多个阶段中完成。首先,动画师制作制定动作显著点的一 个绘图子组,即,关键帧。这些极限的绘图通常是捕捉动画的精神、流畅性和弧线的“核心” 形式。清稿美工负责取得这些核心绘图并且制作保持忠实于原动作的整洁线条。清稿美工 也负责保持角色“与模型一致(on model)”,从而所有绘图,即使是那些由不同动画师完成 的绘图,保持一致的外观。产生中间帧是之后插中美工的工作。在此处的很多例子中,仅考虑中间帧处于其 中的动画序列中的两个关键帧来绘制中间帧,但是不排除考虑更多较远(在时间上)的关 键帧来创建某些中间帧。在任何情形下,好的中间帧需要产生无缝的运动。形成中间帧的 过渡绘图应该保持忠于关键帧中指定的动作,并且不应该有损情节。美工在工作时快速翻 动绘图以确保连续性和流畅性。最后这些绘图转到用颜色填充区域的墨水和画笔。为此, 多数绘制的区域表示必须保持封闭的封闭区域。每个关键绘图可以具有一个或者多个与之关联的时间表。动画师使用这些表以指 定应该在关键帧之间产生多少插补绘图,以及以怎样的间隔产生。绘图的不同部分可以具 有不同的时间表。例如,一个角色的手可能狂打手势而身体的其他部分缓慢地移动。因此, 仅两个关键帧可能就足以指定身体的移动,而在相同的时期内,为了精确地限定手的动作, 几个关键帧可能是必需的。由关键帧呈现的场景的范围很广。当需要插中用于明显不同的关键帧时,需要高 级的艺术技能和诠释以制作令人满意的过渡帧。在这些情形下,可能要进行进一步的“细 分”,其中美工在出现特殊绘图问题的范围内制作那些帧。紧凑的插中需要较少的艺术诠 释-但是需要相当多的技术技巧以准确地放置线条。这些绘图通常被美工认为是既费时又 乏味的。中间帧代表了绘图、预算和制作时间的很大一部分。典型的长片可能每帧平均4 个绘图(对于不同的角色、道具等)。对于每秒显示24帧的80分钟的长片,这意味着每个 作品460,800个绘图。如果这些帧的四分之一由动画师完成,那么有345,600个绘图需要 插中美工完成。实际上,实际的数字大得多——因为在任何阶段在到达最终版本前通常完 成多个绘图,每个全长作品很容易就总计超过一百万插补的绘图。参考,例如,[Johnston]。作为研究领域,自动化2D的问题追溯到超过四十年前的计算机图形的开端[Miura] 0虽然这是该领域的旗舰问题,如今该问题大体上仍未解决。自动化插中中的很多 挑战已经被充分定义,包括3D角色的2D投影中固有的信息损失和模糊、包含隐藏表面的 运动、在存在遮蔽和拓扑变化的情况下的对应的指定[Catmull]、轮廓随时间的轨迹的计算 [Reeves]、以及当在物体运动中存在旋转分量时经常发生的不自然的畸变[Kochanek]。
很多早期的方法是基于轮廓的。它们需要用户直接识别邻近关键帧的轮廓之间的 对应(例如,[Miura], [Burtnyk71], [Levoy], [Durand]),并且不处理遮蔽或者拓扑变化。 Reeve的方法[Reeves]中的对应通过一批称作移动点的曲线来标示,这些曲线由用户草拟 并且连接关键帧以指定轨迹和动态。使用一种立方度量空间混合算法找到剩余点的位置, 但是需要试探法以完成由关键帧轮廓和移动点轨迹限定的画片网络。[Kort]提出一种用户引导的插中系统,该系统自动识别对应并且计算插中,但是 允许用户修正不需要的对应、轨迹或者时间。该方法限于通过不变的图层解决遮蔽的这类 动画。违背该不变性的图层不能被插补。[de Juan]提出一种基于图形的方法,该方法旨在 重新使用之前创建的2D动画。与之前的方法不同,他们的系统是基于图像的,而不是基于 轮廓的。在完成的动画帧中的角色被从背景中分割出来,并且划分成图层。通过图层轮廓 的径向基函数(RBF)插补完成插中,接着使内部纹理形变(morphing)。RBF插补需要将形 状合适地对齐,并且未对齐可能产生假象。[Sumner]中描述的MeshlK系统包括基于边界的 插补方案,其不需要对齐,但是其不解决内部纹理形变。如[Baxter]所示的,相容的嵌入使最大刚性插补成为可能,如[Alexa]和[Fu]所 示的,该最大刚性插补自然地混合形状的边界和它的内部纹理。类似的方法也已被用于卡 通捕捉和重新使用[Bregler]。然而,基于纹理混合的方法对模糊的假象敏感,除非非常小 心对齐内部纹理特征。最后一类插中系统采用基于骨架的方法用于关键帧插补。在Burtnyk和Wein的 早期工作中[Burtnyk76],关键帧部分被嵌入到骨架结构中,其被直接动画模拟以使嵌入的 形状变形。该方法是[Singh]的“绑定”系统(“Wires” system)的先驱,其被设计用于3D 变形。Melikhov和同事的[Melikhov]插中作品使用骨架概念使围绕手绘线条的纹理变形。 他们致力于简单,从而非美工能够使用该系统。Fekete和同事的[Fekete]评估无纸2D动 画系统环境中的自动化插中并且指出几个优点和缺点。减少手绘插中和增加动画重新使用 的优势被需要指定对应、与棘手的时间指定斗争的和建立模板模型所弱化。他们的结论是 自动化插中不比手动执行该工作快。鉴于上述各点,用于生成中间帧或者辅助美工生成中间帧的改进的方法和装置是 需要的。

发明内容
提供了一种用于在长片动画中插中的互动工具,其中,通过分析关键帧的元素以 识别轮廓、确定对应的轮廓对、和计算轮廓对的连续轮廓动作以用于将轮廓从第一关键帧 中的位置移动至第二关键帧中的第二轮廓的位置,中间帧至少部分地由计算机生成,其中, 连续的轮廓动作能够通过两个轮廓的端点的运动和调整连续端点动作来限定,从而在关键 帧中重合的两个或者更多轮廓的端点在连续的轮廓动作中仍保持重合,或者至少在误差界 限内重合,从而端点将在误差界限内沿着相同的路径,而无论使用端点的邻近轮廓的连续轮廓动作中的哪个。计算机-辅助动画系统可提供用于生成中间帧的方法,其中,中间帧是动画序列中的图像,将在美工绘制的两个关键帧之间按序显示,并且其中,中间帧将至少最初部分地 由计算机生成。该方法可包括接收一组至少两个关键帧,包括第一关键帧和第二关键帧,其 中该第一关键帧将在动画序列中位于包括至少一个生成的中间帧的中间帧组之前,该第二 关键帧将在动画序列中位于该中间帧组之后;分析该组关键帧的元素以识别由该组关键帧 表示的图像中的轮廓,其中,轮廓是可部分地通过连续的线条或者曲线段、和该线条或者曲 线段上的端点以及零个或者更多额外的样本点表示的图像特征,每个样本点、或者样本点 之间的曲线能够具有与之关联的宽度、颜色和/或其他线条属性,其中,分析的结果是生成 轮廓的存储列;确定对应的轮廓对,一个轮廓对包括所述一组关键帧的第一关键帧的第一 轮廓和该组关键帧的第二关键帧的第二轮廓;对于多个对应的轮廓对中的每一对,计算连 续的轮廓动作以用于将所述第一关键帧中的所述轮廓对的所述第一轮廓的端点移动至所 述第二关键帧中的所述轮廓对的所述第二轮廓的端点的位置,其中,该连续的轮廓动作由 所述第一轮廓的端点和所述第二轮廓的端点限定;调整重合的轮廓的连续轮廓动作从而该 调整使得该连续轮廓动作在端点处重合,或者至少在误差界限内重合,从而该端点能够在 误差界限内沿相同路径运动,而无论使用该端点的邻近轮廓的连续轮廓动作中的哪个;确 定用于所需中间帧的相对于所述第一关键帧和所述第二关键帧的动画时间的动画时间;基 于所述所需中间帧的所述动画时间和连续的轮廓动作,确定端点的位置;根据至少所述确 定的端点的位置,自动生成所述所需中间帧的轮廓;以及以允许所述所需中间帧的后续电 子编辑的形式存储所述自动生成的轮廓。轮廓变形过程也是可能的,其中,对于中间帧,基于所述第一关键帧中的轮廓、所 述第二关键帧中的轮廓、轮廓的分段表示、该中间帧中的端点位置和切线约束,使所述第一 关键帧中的轮廓变形。在具体实施例中,轮廓由一列线段长度和角度表示,该列线段长度和 角度使用由线段的邻近节点定义的局部坐标限定从一个端点到另一个端点的路径,而轮廓 变形是计算该列线段的形状改变以匹配新的端点位置和切线约束的过程。该切线约束能够 使得轮廓的在端点处的切线保持第一轮廓在端点处的切线角和另一个具有与该第一轮廓 重合的端点的切线角之间的所需的关系。此处描述的系统提供互动的插中旨在产生用于紧凑的插中的全自动的结果。对于 更复杂的情形,该框架提供美工以自然的方式引导系统以高效地产生优质结果的环境。提 供了基于仅两个关键帧的曲线端点轨迹的生成和用于引导半自动计算对应和用于匹配显 著点的单个轮廓输入。此处提出的插补方法是基于-轮廓的,其很好地适于紧凑的插中。以下详细的描 述连同附图将提供本发明的本质和优势的更好的理解。


为了完全理解本发明,参照附图。这些附图不应理解为限制本发明的范围,通过使 用附图,更详细地描述目前描述的实施例和目前理解的本发明的最佳实施方式图1示出了具有两个关键帧和三个中间帧的动画序列;图2示出了动画管理的示例性系统;
图3示出了可以被插中美工使用的工作流程过程的实施例;图4示出了包括遮蔽轮廓的动画序列,和轮廓位置序列的显示;图5A-5F提供了各种工具中可能的编辑操作的图示样子的例子;图5A示出了对应 编辑器可能显示的视图;图5B示出了显著点编辑器可能显示的视图;图5C示出了时间指 定编辑器可能显示的图像;图5D示出了轨迹编辑器可能显示的视图;图5E示出了遮蔽线 条绘制编辑器可能显示的视图;图5F示出了细分(breakdown)插入编辑器可能显示的视 图;图6示出了曲线平均;
图7示出了基于曲线的运动的例子;图8示出了两个关键帧和一个中间帧中的轮廓图;图9示出了螺线;图10示出了用于匹配端点的轮廓变形;图11示出了在用户输入以指导对应后的插补和最终结果。
具体实施例方式此处描述的系统生成,或者辅助生成,中间帧。如此,用户界面可能被提供以接受 动画师的输入,并且可以包括输出设备和/或存储器,以允许生成的中间帧连同关键帧的 显示和查看,从而人类动画师能够评估自动生成的中间帧的质量。动画序列的一个例子由图1中的花序列示出。其中,关键帧由“A”和“E”标记,帧 B、C、D为中间帧。注意,指定的时间不是线性的(即,不是均勻间隔的;在一些实施例中,这 是必需的,而在其他实施例中,不是必需的)。对于该关键帧组,可能包括对应校正轮廓,并 且添加附加的显著点(以改进该插中过程)。更高复杂度的图像可能包括拓扑和遮蔽挑战,需要附加的显著点编辑。该构架使 得用户能够选择所需的区域并且自己在自动的环境下无缝地完成绘图。如果有美工想要自 己完成的部分绘图,例如主要角色的动画面部特写镜头,这将是重要的。在一些实施例中, 在为一个图像生成轮廓列后,并且可能在生成中间帧后,美工可能添加显著点到关键帧的 轮廓上,以指示需要仔细处理的显著点。在一些实施例中,插中系统将具有一个显著点的轮廓转换为具有两个显著点的轮 廓,即在显著点处打断,之后处理中间帧而不区分显著点-至-端点的点和初始的端点。在 其他实施例中,添加显著点不打断轮廓,而是用于生成中间帧的逻辑考虑显著点的位置。典 型地,当显著点被添加到从该显著点的一侧到另一侧具有连续的曲率的轮廓上时,该连续 性应该被保持。如此处解释的,当使该显著点任一侧的轮廓变形以拟合在中间帧中的端点 位置时,能够通过考虑切线约束来实现。图2示出了根据本发明的一个实施例的用于动画管理的示例性系统100。在目前 描述的实施例中,计算机系统100典型地包括监视器110,计算机120,键盘130,用户输入设 备140,计算机界面150,以及类似物。图像和帧能够通过扫描仪(未示出)输入,通过网络 或者其他界面接收,存储在存储器或者硬盘存储器中,或者直接绘制在提供这类功能系统 中。该界面和/或存储器也可能被用于提供关于图像的元数据。在各种的实施例中,显示器/监视器110可以体现为CRT显示器、IXD显示器、等离子体显示器、直接-投影或者背面-投影DLP、微显示器、或者类似物。在各种的实施例中, 监视器110可以用于直观地显示用户界面、图像、或者类似物以及是互动平台的一部分,该 互动平台接收美工输入,显示中间帧生成和元数据的结果等,并且接受另外的输入。在本实施例中,用户输入设备140典型地体现为计算机鼠标、跟踪球、跟踪板、操 纵杆、无限遥控器、绘图板、声音指令系统、眼球跟踪系统、以及类似物。用户输入设备140 典型地使得用户能够通过指令,例如点击按钮或者类似物以及移动输入,例如指出目标的 曲线或者结合,来选择出现在监视器110上的物体、图标、文字和类似物。
计算机界面150的实施例典型地包括以太网卡,调制解调器(电话、卫星、电缆、 ISDN)、(非同步的)数字用户线路(DSL)单元、火线接口、USB接口、以及类似物。例如,计 算机界面150可以耦接到计算机网络、火线总线、或者类似物。在其他实施例中,计算机界 面150可以被物理地集成在计算机120的主板上和/或包括软件驱动、或者类似物。在不同实施例中,计算机120典型地包括常见的计算机组件例如处理器160、和记 忆存储设备诸如随机存取存储器(RAM) 170、磁盘驱动器180、和互连上述组件的系统总线 190。RAM 170或者其他存储器可能保存了将由一个或者多个处理器执行的计算机指令以 作为在软件中实现的、用于达到此处描述的功能的机制。在一个实施例中,计算机120包括 Intel的单核TM或者多核TM微处理器。此外,在本实施例中,计算机120典型地包括基于 UNIX的操作系统。RAM170和磁盘驱动器180是被配置成存储本发明的实施例的计算机可读有形媒 体的例子,包括实现此处描述的技术的计算机-可执行的代码、数据例如图像文件、包括物 体的几何描述的物体/场景模型、图像、关于图像和用户输入以及建议的元数据、过程描 述、渲染引擎、可执行的计算机代码、和/或类似物。其他种类的有形媒体可以包括磁存储 媒体例如软盘、网络硬盘、或者可移动硬盘,光存储媒体例如CD-ROM、DVD、全息存储器、和/ 或条形码,半导体存储器例如闪存、只读存储器(ROM)、电池支持的易失性存储器、网络存储 设备,以及类似物。在不同实施例中,计算机系统100也可以包括使利用例如HTTP、TCP/IP、RTP/RTSP 协议以及类似物的网络的通讯成为可能的软件。在本发明的替代的实施例中,也可以使用 其他通讯软件和传输协议,例如IPX、UDP或者类似物。在本发明的一些实施例中,图形处理器单元或者“GPU”,也可以用于加速各种操 作。这类操作可以包括确定轮廓列,轮廓配对,轮廓运动、轮廓变形或者其他过程。图2是能够体现本发明的计算机系统的典型示例。对于本领域技术人员显而易 见的是,很多其他硬件和软件配置适用于本发明。例如,该计算机可以是台式、手提式,机 架式或平板式构造。此外,计算机可以是一系列网络计算机。进一步地,可以考虑使用其 他微处理器,例如Intel的Xeon ,Pentium 或者Itanium 微处理器;AMD的Turion 64 或者Opteron 微处理器;以及类似物。进一步地,可以考虑其他种类的操作系统,例如 Microsoft Corporation 的 Vista 或者 WindowsXP 或者类似的、Sun Microsystem 的 S0lariSTM、LinUX、UniX、或者类似的。在又一些其他实施例中,以上描述的技术可以在芯片 或者辅助的处理板上实现。很多种用于计算设备的配置能够用于实现此处描述的各种方 法。进一步地,具有不同级别计算能力的处理组件,例如微处理器、图形处理器、RISC处理 器、嵌入式处理器、或者类似的也能够用于实现各种实施例。
使用系统100,两个手绘的关键帧可能被矢量化,并且他们的轮廓被映射到图形结 构,系统100将确定该两个产生的图形的轮廓之间的对应并且计算根据缺省时间表计算的 中间帧的初始路径。虽然该标准操作有时是充分的,美工的审美需求和架构本身的模糊度 通常需要一些用户介入。系统100能够采用定制工作流程,该工作流程使得这类改变能被 有效地表达,这在下面描述在两个关键帧的更普遍的情形中,系统读入该两个关键帧的绘图,即“关键绘图”。 关键绘图可能是手绘并数字化的,数字式生成的和/或由动画师使用用户界面工具生成 的,该用户界面工具使得动画师能够绘制并且添加关于绘图的元数据。关键帧的元数据可 能包括以下指示哪些特征为轮廓(轮廓列),哪些轮廓连接到其他轮廓(轮廓图形),在构 架坐标空间(或者相对坐标空间)中的轮廓的两个(或者可能一个)端点的位置,沿轮廓 的一个或者多个显著点的位置(轮廓不需要具有中间的显著点),和一列限定各个轮廓的 样本点,在每个样本点处具有关联的线的宽、颜色、或者其他线条属性(轮廓细节)连同动 画指示元数据(例如,动画师输入以使中间帧的自动生成偏离缺省生成的数据)。一些元数据可能由系统100仅根据关键绘图自动生成,一些元数据可能包括由美 工或者动画师在审核缺省生成的结果后修改的自动生成的元数据,一些元数据可能完全由 美工输入。各个轮廓的形状或者给定点(端点,其他显著点,等)的轨迹能够直接通过绘图界 面指定。能够调整时间表以反映所需的场景流畅性。能够解决对应中的不定性,能够调整或 者添加显著点,其中,显著点是用户能够为其提供元数据的轮廓上的点(通常为样本点)。 遮蔽轮廓的出现或者消失的行为能够被指定。不是所有样本点都需要是显著点,不是所有 显著点都需要是样本点,但后者更为普遍。使用系统100,插入对于角色、道具、效果和之后清稿修形的动画帧的过程最初是 自动化的,但是以这样一种方式通过包括会在该过程重新运动时带来不同的结果的元数 据,该系统的人用户之后能够修改结果。使用这些工具,通过在适合处和有利处提供工具以 帮助自动化该过程,插中美工更高效。插中的好的动画通常是插中美工再认和再现关键帧之间的场景中的动作的弧线 运动的结果。系统100在其自动化途径中考虑到该准则,在一些实施例中,缺省使用自然弧 线,例如对数螺线或者其他自然曲线,来移动轮廓。能够使用此处描述的一种新颖的插补, 该插补基于仅一对关键帧捕获运动的自然弧线。此处描述的一些方法采用半自动对应算法,该算法仅需要在模糊情形下的用户输 入,从而大部分轮廓对应,即一个关键帧中的轮廓与另一个关键帧中的轮廓的配对,在美工 需要作编辑之前就是正确的。插中是自动的并且被设计成沿着自然运动弧线。然而,系统 100也支持可选的轨迹重绘界面,该界面使得任何轨迹由美工指定,覆盖自动过程确定的轮 廓端点或者显著点的缺省轨迹。此处描述的方法能够超越图层的制约而操作,并且建议的工作流程使得遮蔽模糊 通过简单的用户界面得以解决。核心过程插中美工可能使用的工作流程过程的一个实施例如图3所示。应当理解该过程 关系到计算机系统和/或计算设备(系统300),该计算机系统和/或计算设备允许用户互动并且具有能够每秒执行多次计算的引擎,因为没有某种计算辅助该工作流程过程不易完成。如图3所示,系统300以图形创建(关联一个关键帧的轮廓和该关键帧中的其他轮廓, 该关联基于哪些轮廓附于哪些其他的轮廓或者具有一些其他的约束关系,可能也包括解构 图像成轮廓)开始该过程。一旦创建完,该系统比较两个关键帧的图形以找到“对应”或者 轮廓对,其中第一帧中的一个轮廓对应于第二帧中的一个轮廓。根据元数据和关键帧本身, 系统能够自动地计算中间帧并且将该帧呈现给插中美工,该美工之后能够使用下述工具的 一个或者多个来增加、删除或者修改元数据并且重新运行自动插中计算。典型地,图形创建器302,自动对应生成器304和插中计算引擎306无需用户输入 就能运行以生成初始中间帧,该帧在显示设备上被呈现给用户,即插中美工,该用户之后能 够使用工具来改变帧。图3中提供的用户工具的例子为-对应编辑器310,其向用户展示两个关键帧和轮廓对的指示,并且接受旨在改变 这些对应的用户输入;-显著点编辑器312(可能是一个独特的编辑器或者只是一个共用编辑器的独特 的模式),其呈现轮廓和它们的显著点并且接受旨在增加、修改和/或删除显著点的用户输 入;-时间指定编辑器314;-轨迹编辑器316,其接受指定对轮廓的端点或者其他显著点的轨迹的改变的用 户输入;-遮蔽线条绘制编辑器318;以及-细分插入编辑器320。这些工具的一些、全部或者没有一个可能被用于给定的实例。现描述一个示例性 工作流程。应当理解这些用户工具的每一个可能是硬件、软件和/或固件,典型地耦接到图 形显示器和用户输入硬件(其可能以触摸屏、触摸板或者类似物的形式集成),从而该工具 能够向用户呈现该用户对用于中间帧的元数据所做的改变的视图,该改变是通过使用与这 些工具相关联的输入设备实现的。如前面所提到的,插中过程的输入是动画的两个关键帧,每个关键帧是轮廓的图 形,但使用超过两个关键帧不是不可能。该图形优选地没有任何自交叉并且可以具有多个 相连的组件。使用图形编辑器303、或者以上列出的用户工具中的任一个的所有编辑,能够 使用鼠标点击或者通过使用美工-友好的向导轮廓。这些向导轮廓提供为不同操作的点击 轮廓或者显著点对的替代物,因为当使用笔和板输入设备时点击通常是不方便的。当自动对应匹配无法正确匹配整个特征,美工有机会使用对应编辑器310修整该 对应(通过从由对应跟踪过程(CTP,以下更详细的描述)匹配的组中删除轮廓,和通过扩 展处理的轮廓组(通过反复提供新的源,运行CTP,以及在附加的组上执行插中))。该新的 CTP遍历不需要覆盖之前的中间帧,并且一旦发现具有已存在的对应的轮廓时CTP能够停 止。当用户需要比轮廓-至-轮廓对应更严格的对应时,用户可以通过沿着轮廓插入 显著点在图形中限定附加的节点,从而有效地(或者实际上,取决于实施)将轮廓断为两个 较小的轮廓。在局部最大曲率处,例如在指部的尖端或者尾部的末端,通常需要显著点。用 户使用显著点编辑器312通过,例如,在轮廓上某处点击或者从轮廓上一点至它的对应轮廓上另一点画曲线,输入这些显著点。后者将两个接触的轮廓断为四个,在新显著点处限定 两个新端点,也可能随时间限定新图形节点的轨迹(对应新显著点的轨迹)。用户也可能需要合并邻近的轮廓,由此删除端点。当一帧中的一个轮廓应该对应 另一帧中的两个邻近轮廓时该操作是有用的,该两个邻近轮廓通过与另一轮廓的接点被分 害I]。这能通过在两个邻近轮廓上点击,或者通过将它们与向导轮廓连接来实现。在实践中,一组插中的时间在插中步骤之前被指定。该时间信息也可以以字符时 间图表文件格式,通过时间指定编辑器314指定,并且与输入关键绘图一起载入。然而,为 了全面的灵活性,用户可以在计算插中之前和之后调整时间参数化设置。如果他们已经计 算,他们将为即刻反馈而即时更新。任何为节点自动计算的轨迹可以由用户使用轨迹编辑器316编辑。输入序列可以 是用户邻近原来的轨迹绘制轮廓,并且一旦抬笔,该轮廓改变大小和朝向从而在两个关键 帧中的一个端点的位置之间适应,并且代替该端点的轨迹。由此改变影响的邻近的插中能 够立即被计算。当动画处于回放模式时,这些轨迹也可以被重新绘制,使得用户可以看见该 改变是怎样实时影响运动的。
在一个关键帧中轮廓为部分或者全部遮蔽、但在下一个或者之前的关键帧中并非 如此的情形下,图形连通性将是局部不相容的。然而,用户可以使用遮蔽线条编辑器318来 以匹配对应关键帧的拓扑为目的通过绘制将轮廓扩展至经过交点,如同不存在遮蔽。在传 统的工作流程中绘制这类遮蔽线条以辅助动画师保持形状一致并非不常见。随后,增加的轮廓与相同帧中的其他轮廓相交,产生N+1个子轮廓,其中N是交点 的数目。每个子轮廓具有独立的可见性切换。缺省地,每个子轮廓在每个交点处切换可见 性,其在常见的简单情形下,例如图4中,效果很好。如图所示,图4(a)和4(b)代表两个关 键帧。在图4(a)的关键帧中,花左边的花瓣是被遮蔽的,而在图4(b)中不是这样,因此一 个好的插中过程将在适当的时候填充花瓣的边。为了辅助这一点,用户能够指定遮蔽的轮 廓,如图4(c)所示,从而未遮蔽的中间帧包括该轮廓,如图4(d)所示,图4(d)是所有中间 帧轮廓的重叠。当更多控制是必需的时,用户可以选择特定的子轮廓以手动地切换可见性。如果 这样的轮廓被加入中间帧,可见性能随着时间自动传送到后续的对应的子轮廓。为了更进 一步的灵活性,产生的插中子轮廓也可以分别切换。当两个关键帧或者关键帧子组太不相似而无法分类为“紧凑”,并且没有足够的对 应以充分利用用户工具,用户可以选择细分插入编辑器320以为整个帧或者仅为不紧凑的 子组插入附加的关键帧。这是传统上所知的“细分”。这使得用户能够仅在需要处产生细 分,但是保持紧凑的插入轮廓的剩余部分。对于紧凑插中,自动过程通常产生充足的结果。涉及美工介入的更困难情况的处 理可能涉及这些工具以快速地产生在多数常见条件下的合理的结果,这些结果之后能由美 工引导或者编辑。图5A-5F提供了各种工具中可能的编辑操作的图示样子的例子。图5A示出了对 应编辑器可能显示的视图。图5B示出了显著点编辑器可能显示的视图。图5C示出了时间 指定编辑器可能显示的视图。图5D示出了轨迹编辑器可能显示的视图。图5E示出了遮 蔽线条绘制编辑器可能显示的视图。图5F示出了细分插入编辑器可能显示的视图。在每个例子中,有三个视图,其中最左边的视图是编辑前的中间帧,中间的视图示出了执行的操 作,最右边的视图是编辑后的中间帧。为了最 少地限制关键帧美工,系统100能够把手绘关键帧的数字扫描作为输入以 及支持直接绘制关键帧,使用例如关键帧编辑器330 (示于图3中),330可能是传统的关键 帧编辑器。因为单个绘图能够被存储为轮廓图形,图形创建器302可能包括执行矢量化步骤 以识别轮廓的功能。作为替代,轮廓的指示可能源自别处。对应轮廓的端点(和可能其他 显著点)的图形节点是轮廓会合或者终止处的接点,并且图形边对应轮廓本身。在一个具 体数据结构中,每个端点包括指向其附带的轮廓的指针,这些轮廓围绕该端点逆时针排序。 轮廓S能够以分段的线性曲线表达,其具有样本点Vi和沿轮廓的每个样本点处关联的宽度 Ti,其中i e 1,...,n。将轮廓的“基”定义为连接其端点的线条,所述端点为样本点义和 \。附加的显著点为样本点V」,其中1 > j > η。如上所述,插中计算引擎的输入包括一对连续的关键帧和描述这些帧如何被分段 成由轮廓连接的节点的图形的元数据(当然,该引擎仅使用元数据是完全可能,其中这些 关键帧被完全缩减为元数据,例如,一列轮廓、它们的样本点的位置、曲线描述、宽度、颜色
寸J O轮廓能够通过细致取样的分段线性曲线代表。用户可通过从每一关键帧中选择一 对对应的轮廓,或者通过经由选择套索选择区域,开始自动对应。当使用套索时,在选择区 域内的最相似的轮廓对被自动选取。该初始对提供用于对应跟踪过程(CTP)的源。在每个 关键帧中,始于选择的轮廓,该CTP以深度优先的顺序在两个方向遍历该关键帧,遵守围绕 节点的附带的轮廓的环形顺序。该遍历对两个关键帧执行。当检测到连通性不相容或者当 两个对应的轮廓太不相似时,该递归停止。在一个实施例中,该相似度量标准为两个轮廓Stl和S1之间的基于两个不同因子& 和Ea的误差Ε,其中&是两个轮廓之间的弧长差异,Ea是当两个轮廓被纳入端点队列时该 两个轮廓限定的区域面积,如本部分随后描述的。之后如式1所示计算Ε,其中L是弧长,并 且比较E和Te以确定两个轮廓是否被认为相似。E (S0, S1) = (Ea+E2l) / ((L (S0) +L (S1) )2)(式 1)插中引擎将在由CTP匹配的轮廓的子图形上操作。在紧凑插中中,两个关键帧通 常具有相同的拓扑和相似的轮廓。在这种情形下,CTP为关键帧的全部连接的组件建立轮 廓-至-轮廓对应。在更复杂的情形下,特别是关键帧具有不同拓扑的情形,美工能够使用 用户工具以提供进一步的对应源,再次运行CTP,然后为关键帧缺失的部分计算插中。当使 用套索选择时,执行连续的CTP遍历,每次计算未被前次遍历覆盖的剩余轮廓中的最佳源。 这会一直持续到没有任何具有E (Stl, S1) > Te的轮廓对剩余。缺省地,用弧长上的均勻间隔对光滑(子分割)形式的关键轮廓进行重新取样,使 得每个关键帧上匹配的轮廓具有相同数目的样本点。该重新取样限定缺省的样本_至-样 本对应。美工可以插入一对或多对匹配特征(显著)点,匹配对的每个轮廓上各一个。这 些插入的点典型地被用于强制显著点的对应。每个插入的显著点可能分裂轮廓从而在轮廓 图形中成为一个新节点。基于-轮廓的插中
如以下更详细地描述的,中间帧能够基于两个(或更多)关键帧和轮廓图形生成。 对于每个轮廓,该轮廓是“移动的”。此处的轮廓运动过程包括确定轮廓的端点在关键帧之 间的的轨迹,或者至少确定端点在与正在生成的中间帧关联的某个时间,t,的位置。能够 沿着螺线,螺线的平均(例如,会合于一个端点的多个轮廓的平均),或者沿着由从会合于 一个端点的多个轮廓的每一个的螺线参数的平均中取得的参数限定的螺线,或者其他变化 完成轮廓运动。对于端点的给定的中间帧位置,能够使轮廓变形以适应那些中间帧端点并 匹配切线约束。切线约束的一个例子是中间帧中的会合于一个端点的两个轮廓之间的角 度需要满足在一个或者更多关键帧中该两个轮廓之间的某种限定的关系。例如,在中间帧 中的切线角可能是关键帧中的切线角的加权平均,权重因子是中间帧和关键帧之间的相对 时间。在一个具体例子中,其中在两个关键帧中两个轮廓会合于一个端点并且都与通过该 端点的一条线相切(即,两个轮廓之间的图像没有弯曲(bend)),该条件应该仍适用于中间 帧,因为插中通常不应该引入关键帧中不存在的弯曲。创建端点轨迹
插中引擎可能使用用于创建端点轨迹的两个低级过程中的一个螺旋端点运动的 平均或者螺线参数的平均。螺旋端点运动考虑在初始关键帧中的两个端点Jtl和Ktl以及在最终关键帧中的两个匹配端点J1 和K115能够计算将Jci带到J1和将Kci带到K1的对数螺线A(t)(如图6所示),列举如下。对 数螺线的总角度α是矢量JtlKtl和J1K1之间的角度。总缩放比例P为I J1Kj I/ J0K0I |。 螺线中心(固定点)F通过求解式2中所示的线性系统计算,其中R(a)是按角度α的旋 转,S(P)是按比例P的均勻缩放。FJ1 = R{a)s{p)FJ0 (式 2)当JtlKtl = J1K1时,该系统行列式为0(并且固定点在无穷远处),这对应于单纯平 移并且相应地处理。根据该对数螺线运动从初始关键帧起运动的任意点Ptl在时间t的位 置p(t)由式3示出。p(t) = A{t)p0 =F + R(at、s(y两(式 3)点Pl从最终关键帧的反向运动得到的结果如式4所示。P(t) = (l-t)P^F + R(-at^p^)两(式 4)如此,能够限定单个轮廓的端点的运动。通常,单个端点为多于一个轮廓的端点, 并且在误差界限内,该端点应该沿着相同的轨迹,而无论使用该端点的邻近轮廓的连续轮 廓运动的哪个。现在描述由引擎使用以实现这一点的两个示例性方法。在一个变化例中,引擎如此为端点生成轨迹,通过第一轮廓的该端点的轨迹和第 二轮廓的与该第一轮廓的该端点重合的端点的轨迹(并且若有的话同样适用于其他的轮 廓),随后确定那些个轨迹的平均,使得能够将共同的轨迹用于会合的所有轮廓的端点(从 而在所有中间帧中,连接的轮廓仍保持连接)。在另一个变化例中,不是对轨迹进行平均,而是每个轨迹由一组参数代表,这组参 数,当被应用于曲线函数时,确定轨迹。为共享一个端点的每个轮廓的轨迹计算一组参数, 并且对这些参数进行平均,,并且将该平均值应用到曲线函数。
这样,对于使用螺线运动的轮廓运动,代替为每个轮廓计算螺线运动以及使每个 端点的运动为邻近的轮廓的螺线运动的平均,为每个轮廓计算螺线参数α和ρ并随后平 均。最终结果是端点运动实际上是螺线运动,而不仅是从螺线运动计算出的曲线。螺线运动平均给定参照上面的两个端点J tl,K0, J1和K1,使用以上解释的螺线运动过程,能够计 算将Jtl带到J1和将Ktl带到K1的对数螺线A (t)。在时间t,螺线运动如式5所示将Jtl置于 J (t),如式6所示将Ktl置于K (t)。j(t) =F +(式 5)κ( =F +ψκ0 (式 6)当选择的子图形具有单独轮廓时,每个节点具有单独的候选位置,因此该单独轮 廓的两个节点沿着该唯一的螺线运动。现在,考虑具有几个附带的轮廓Si的节点P。每 个轮廓的螺线运动提出一个在时间t的P的候选位置Pi (t)。引擎计算P(t)为加权平均 Σ ω&α),其中Σ Qi = I并且…与两个关键帧中端点Si之间的距离成比例。如文中别 处描述的,最终节点轨迹可以由美工编辑。螺线运动参数平均作为替代,不使用为不同轮廓计算的不同点的加权平均,插中引擎能够平均曲线 的参数。例如,在上述例子中,轮廓Stl的端点的螺线能够由通过求解线性系统而计算出的 对数螺线的总角度α、总缩放比例P、和螺线中心F代表。类似地,与轮廓Stl的端点重合 的另一个轮廓,S1,的端点的螺线能够以相似的方式代表。用作端点的轨迹的“平均”曲线 可能是由此参数α和P的平均所限定的曲线。轮廓变形当两个匹配的关键帧轮廓和在时间t的当前轮廓的两个端点的位置J(t)和K(t) 可用时,插中引擎能够为将要生成的所需的中间帧计算当前轮廓的形状。最简单的方法可 能是使用对应的关键边之间的边长的线性插补和对应的关键样本点之间的边_边角之间 的线性插补,如[Sederberg]中提出的。可以不费力地重建新的曲线使其具有插补的边长 和角度。此为曲率插补[Surazhsky]的离散形式。然后,曲线可以被简单地拟合(即,旋转, 缩放和平移)以便其端点匹配J(t)和K(t)。在另一个方法中,插中引擎简单地通过A(t)变换初始轮廓以及通过A—1 (1-t)变换 最终轮廓。变换后的轮廓将具有相同的端点,但是可能具有不同的形状。中间帧的当前轮 廓能够被计算为使用用权重(i-t)和t的曲线平均过程所得的两个轮廓的平均。提醒注意,该方法不同于基于局部Laplace坐标[Fu]的方法,因为其不需要求解 所需的曲线。两个例子示于图7中,其中,两个关键帧以粗线绘制。在该“摇摆”情形下,用 户指定了特征_点对以建立尾部的末端之间的对应。为了平均具有重合端点的两个或者更多曲线,引擎依下运行。其通过在曲线的端 点之间添加边使每个曲线封闭。在每个曲线i上,对于每个样本点Ci(除端点之外),计算 在由沿着曲线的两个在前点Ai和Bi限定的局部框架中的样本点的坐标(Xi,yi),如式7和 8所示。χ =(式 7)_. ( f \_λy = AiCl- R - UBi (式 8)
ν J y之后,引擎将平均曲线的每个样本点C的局部坐标计算为输入曲线中对应的样本 点Ci的局部坐标的加权平均。现在,始于两个端点,从这些插补的坐标,重建平均曲线的在 一个时间的拟样本点,如式9所示。C = A + x^ + y,R{-\AB ( ζ 9)
)接着,引擎以沿着曲线的逆序执行该过程,由此获得C的第二候选位置。之后,其 计算这两个位置的线性混合,如图6所示。如其中所示的,在每个共同端点在局部坐标中插 补具有重合端点的分段线性曲线(轮廓)。在任意时间t,能够分别从左图和右图重新创建 插补的轮廓(较暗的线),然后混合(中间的图)以产生保持固定在端点的曲线。该混合比 例随着沿各个曲线的相对弧长参数的平均而线性变化,在曲线的起点给前向重建更多权重 以及在曲线的终点给逆向创建更多权重。在一些实施例中,轮廓由样本的分段线性链(“折线”)限定,其中限定对于给定时 间的曲线的样本的参数是通过对限定初始和最终曲线中的对应样本的参数的插补来计算 的。轮廓能够是Euclidean坐标、曲率插补、和/或Laplace坐标、或其他曲线的线性插补。 该插补能够在邻近边的坐标系统中的每个样本的局部坐标上操作,或者能够使用全局坐标 系统。一个特别的实施例为使用Euclidean标作的线性插补以结合局部坐标的两个插补, 每个由沿着曲线的不同方法计算。该线性结合中的权重可以随着时间和沿着曲线的位置变 化替代的轮廓变形在另一个方法中,为了平均具有重合端点的两个或者更多曲线,引擎改为使用以 下三步运行1)本征形状插补在第一关键帧中代表轮廓的曲线在存储器中以始于一个端点 并向着另一个端点的一个角度和边长的序列表示。当然,在端点像目标中间帧从第一关键 帧向第二关键帧移动一样移动时,该曲线可能不与端点对齐。2)曲线拟合因为重建的曲线未必通过螺线运动所限定的端点,对该重新创建的 曲线进行缩放和旋转以修正这一点。3)切线对准翘曲(warping)执行扭转翘曲,或者类似的翘曲以确保在轮廓端点 处的连续性,或者,若不然,以满足切线约束。在多数情况下这些结果非常类似于曲线平均,但是第三步在某些情形下在接点产 生更好的结果。具体实施现在在此部分中更详细地描述使用端点和其他样本点的螺线轨迹的轮廓变形。图 8示出了在第一关键帧中的轮廓(图8(a))、在第二关键帧中的对应的轮廓(图8(c))和动 画引擎可能为中间帧生成的计算的轮廓(图8(b))。如别处解释的,动画系统可以使得美工 能够提供影响该过程的其他输入,但是在此例子中,未示出。在此例子中,对于第一关键帧的时间标度为t = 0,对于第二关键帧的时间标度为 t = 1,对于中间帧的时间标度为某个中间值t。在此例子中,使用t = 0.5,但是其他值将用于其他时间。作为过程的部分,关键帧的图像以一组轮廓表示,并且确定对应。在图8的 例子中,有四个轮廓,标为Si、S2、S3和S4,其中Sn是指第一关键帧中的轮廓,Sn'是指第 二关键帧中的轮廓,Sn"是指中间帧中生成的轮廓。提醒注意,在该具体例子中,每个对应 轮廓由具有相同数目的对应的内部样本点的折线近似,但是在其他例子中,可能并非如此, 和/或由于遮蔽或其他原因可能存在没有对应的轮廓。图中的黑点指示轮廓终结处或者两 个或者更多轮廓会合处的轮廓端点。
在某些情况下,例如在S2和S3之间,端点分裂了平滑曲线。端点的存在可能是因 为该端点早期由美工或者由计算机过程确定为“显著点”以强制对应或者以直接地控制轮 廓的运动。当两个附带的轮廓在两个关键帧中平滑地会合时,该平滑度应该在所有中间帧 中保持。这能够通过切线约束完成。在某些情况下,两个轮廓例如Sl和S2也可以在具有超过两个附带的轮廓的端点 处平滑地会合(S4也在该端点处会合)。这可能是由于,例如,S4被连续的S1-S2-S3的廓 影遮蔽。再次,在S1-S2接点处的平滑度应该在中间帧中保持。这些要求和偏好由艺术考虑驱使,因此在由其他考虑驱使的作品中通常不会发现 这些约束的技术解决方法。例如,其他人提供了针对给定形状之间的形变问题的解决方案, 但是有不同的解决方案。一般而言,轮廓和端点的图形(图8仅为一个例子)形成一维复 合体,其将平面分裂为多个区域,每个区域具有不连通的的和非流型边界。因此,此处提出 的插中问题明显不同于平面的二维-流型区域之间的形变的相关问题,该形变的相关问题 可能用于为动画而对封闭的区域进行形变或者用于医学断层图像插补以及类似的。例如, 那些致力于通过使二维-流型区域的相容三角形变来尽量保持刚度的技术,或者基于医学 分解的技术可能无法被简单地用于解决插中问题。一个原因是插中图形通常呈现部分遮蔽。例如,两个相击的手掌之间所见的背景 躯干部分的变化不遵循任何刚度-保持规则。为了克服这点,使曲线的网络形变可能优于 使封闭区域的边界形变。为了满足此处描述的各种约束,开发了一种新的插中方法,该方法能够由计算机 或者计算设备运行以自动地或者半自动地生成中间帧。在这样一个用于计算在时间t的中 间帧的过程中,首先识别两个关键帧,并且确定该关键帧和时间t之间的相对时间(时间t 可能仅由为0和1之间的一个数字表示,或者对于中间帧的不同部分可能变化),然后在具 有一致拓扑和建立了对应的两个连续关键帧的子图形上运行该过程。在一个具体实施例中计算在时间t的中间帧的过程包括以下五个步骤,在该例子 中1.计算所有端点的当前的(即,在时间t上)位置。2.计算所有轮廓的本征形状。3.变换这些轮廓以便其终端匹配其对应的端点。4.计算在每个轮廓的每个终端处所需的切向。5.使这些轮廓翘曲以便端点切线匹配所需的切向。该过程结合“轮廓运动”和“轮廓变形”过程。步骤1和3限定轮廓运动(在步骤 3中,变换的结果是轮廓末端匹配其对应端点的当前时间t的位置),步骤2、4和5限定轮 廓变形,即,使轮廓变形以拟合在其他步骤中计算的确定的端点。
关于步骤1,能够通过考虑在两个关键帧的每一个中的两个端点来确定轮廓的端 点的“当前的”位置。因为动画美工偏好自然的、弧形的运动,此例子中使用对数螺线,但是 也可以使用其他螺线。对于该过程,当被用于近似形状的屏幕投影的运动时,对数螺线可 能易于获得比Archimedean螺线更真实的结果,其中,该形状接近或者远离视点,并因此由 于透视法而以非线性的方式变大或者缩小。将初始边Atl-Btl(的两个端点)映射到最终边 A1-B1 (的两个对应端点)上的对 数螺线运动的一个例子如图9所示。端点的轨迹如上方的 曲线(对于在不同时间的端点A)和下方的曲线(对于在不同时间的端点B)所示。给定端点的初始位置A0和最终位置A1,引擎能够通过对数螺线运动计算端点在时 间t的位置At,该运动是按照角度at的旋转R(cit)和按照因子Pt的缩放S(Pt)的结 合,两个均相对于固定点F。该过程包括以下步骤(1)对于附在端点A上的每个轮廓Si,计算Stl和S1的弧长的和Li ;之后,计算这些 长度的总和Lt和权重
,Hω(2)对于每个具有端点A和B的轮廓Si,计算;^和:^之间的角度一和缩放比(3)接着,计算加权的平均角度α =Σ ω、1和缩放比例ρ =Σ ω、1 ;以及(4)最后,通过求解线性系统$ = A(Ct)1S(P)^;的两个未知数,即F的坐标,计算
固定点F。关于步骤2,给定轮廓S的初始形状Stl和最终形状S1,计算轮廓在时间t将具有的 本征形状St。在一个方法中,St始于该轮廓的端点的一个现在已知的点At,并且沿着边长和 样本点角度所限定的途径行进,该边长和样本点角度是通过Stl和S1上对应量的线性插补计 算的。[Sederberg]提出相关的方法。提醒注意,轮廓S的两个端点移动的情形通常不是 这样的情形在遍历所有边长和样本点角度之后,路径的端点会恰好落在相对的端点上。一 个例子示于图10(a)中,其示出了两个关键帧轮廓(着色较暗的)之间的三个中间帧。在 左边的端点匹配,而在右边的端点不匹配。因为该示例曲线包括一个内部轮廓样本点(由 此,两个路径,每个由一列边长和样本点角度限定,C代表内部轮廓样本点),中间曲线正好 在样本点上(由线段Ctl-C1表示),但是是不连续的。步骤3通过,例如,轮廓变换解决该问题,其中,通过按照角度Z (AtB,AtBt)围绕At 旋转和随后的相对于At的按照I |AtBt| / |AtB I的均勻缩放,变换如以上所述的重建的轮 廓的本征形状S。在变换之后,对于每个中间帧,轮廓S的最后的样本点现在位于所需的地 方Bt,如图10(b)所示。仅使用前三个步骤以产生中间帧获得保持轮廓图形的连续性的令 人满意的形变,但是可能无法保持邻近轮廓的平滑度。这由后两个步骤解决。在步骤4中,假设在端点处的切线的角度随着时间呈指数变化,并且通过对轮廓 在两个关键帧中的极坐标表示进行插补来计算轮廓在端点处所需的切向。在步骤5中,为了确保邻近的轮廓在形变过程中保持平滑的连接,使它们翘曲以确保在它们端点处的切线匹配当前中间帧的所需的切向。一个例子示于图10(c)中。用于执行该步骤的过程为“移动”轮廓S的每介端点P至P+(PfP)+ (Pk-P),或着相当于至 Pl+(Pk-P)。这能够通过如下地计算1\和&完成。假设在At处的实际的和所需的法线之间的角 度为c^。假设d是轮廓的总弧长,< 是At和P之间的轮廓部分的弧长。&是P通过围绕At 旋转角度α Lcos2 (( π /2) (dL/d))所得的图像。Pk是P通过围绕Bt旋转角度α Ecos2 (( π /2) ((dE)/d))所得的图像,其中α κ是在Bt处实际法线和所需法线之间的角度。此方法是快速的,因为它不需要数值迭代或者其他优化,并且产生确保通过轮廓 之间的平滑接点的法线连续性和保持两个关键帧中出现的特征的令人满意的结果。美工输入虽然此处描述的系统能够计算动画的连续模型,其中该模型对两个这类轮廓图形 进行插补,美工可能偏好允许控制这样一个动画模型而不必需通过控制点或者抽象参数控 制模型的直观的工具,因为这类功能可见性与美工给过程带来的高度专业的轮廓_绘制技 能不匹配。美工对此处描述的系统的输入可能是,例如,关键帧和插中轮廓的一组矢量化模 型,或者由美工绘制的以引导或者覆盖自动过程的端点轨迹。美工可能希望控制跨越关键帧的动画的连续性。通过使用用于共同端点轨迹的插 补曲线模型,即"J"曲线”,能够编程地强制实现当端点通过关键帧时其轨迹中的速率连续 性。然而,美工习惯于使用时间表(该表指定关键帧之间的时间间隔)以获得对关键帧之间 的速率的精确控制。他们可能更喜欢保持这种控制。基于四个或者更多关键帧自动地调整 连续的中间帧之间的间隔可能产生惊人的或者无法接受的结果。在这种情形下,可能更倾 向于限制插中以仅从两个关键帧(所需中间帧的一个在前帧和一个在后帧)计算中间帧, 并且尽量产生这些中间帧随时间的稳定演变。不费力地将该问题分解为计算对应的轮廓之 间的独立的形变是行不通的,因为这样的方法不能保持轮廓的连通性和在轮廓接点处的平 滑度。结果分析此处描述的插中引擎和编辑工具使得能够在可能的情况下全自动产生插中。随着 绘图中的复杂程度的增加,系统支持来自美工的直观和直接输入以引导该自动操作,从而 致力于具有互动或者“触摸时代”水平的目的,以反映由关键帧呈现的绘图问题的复杂度。在用户需要,或者被要求,对系统进行引导的情况下,他/她绘制一系列“引导轮 廓”和/或通过鼠标点击来指示编辑并且将引导轮廓和鼠标点击的总数用作“互动计数”, 如果一对关键帧中的每一个具有η个轮廓并且存在k个中间帧,那么在全手动系统中,美工 将必须手绘kn个轮廓以产生插中。如果系统产生可接受的全自动的结果,那效率上就是 100%的增益。如果用户需要执行i次互动以引导系统,增益则为(kn-i)/kn。在测试运行 中,在一个关键帧中平均有153个轮廓,而自动生成插中伴随有16次互动,结果是96%的效 率增益。在运动为纯刚性体运动的情形下,很可能不需要编辑,因此将有100%的效率增 益。图4展示了更具挑战性的拓扑问题。困难的一个例子是当存在遮蔽时在某些帧中的连 续的轮廓被断为多个分离的轮廓。图4中最右边的绘图是自动生成的轨迹的可视化表示, 示出了通过插补生成的平滑弧线。
有些时候,该自动过程不能为所有轮廓正确地建立对应。图11示出了初始插补 (位于左方)以及在用户手动指定三个对应以引导匹配之后的最终结果(位于右方)。如已经描述的,半自动插中系统能够生成插中图像以照现状使用或者用于美工的 进一步编辑。在生成中间帧期间,系统考虑到中间帧和在其任一侧的关键帧之间的在时间 轴上的时间,以及将一个关键帧的轮廓映射到另一个关键帧的轮廓的图形。对于一对轮廓, 该轮廓能够随着时间从其在第一关键帧中的位置移动到其在第二关键帧中的位置,从而限 定其在中间帧的时间的位置。轮廓运动可能由轮廓的端点走的路径限定。这些端点能够沿 着螺线或者其他路径。在超过一个轮廓的多个端点附于第一关键帧和第二关键帧中的共同 端点的情形下,路径能够是这样的以致在运动过程中该多个端点保持附于该共同端点,即, 通过沿相同路径(或者几乎相同)而行,所有附于共同端点的多个端点保持附于(或者几 乎如此)该共同端点。路径可以是多个端点如果独立移动将走的路径的平均,或者这些独 立的路径可以是参数化的并且共同路径由曲线限定,该曲线使用的参数是每个独立路径的 参数的平均值。 平均值能够是加权平均的。除了轮廓运动,能够通过该插中系统实现轮廓变形,从而当轮廓的形状在关键帧 中不一致时使轮廓变形。轮廓变形可以通过曲线平均或者本征形状插补、以匹配端点的变 换和切线翘曲来完成。例如,在两个关键帧之间的轮廓的简单刚性变换不满足约束的情形 下,可以变换轮廓,从而即使当共同端点移动时,会合于共同端点的端点对于中间帧来说亦 是如此,并且会合于共同端点的轮廓之间的切线关系也得以保持(其可能包括或者可能不 包括平滑地移动角)。该系统也可能提供用户输入,从而使得美工能够查看基于输入关键帧生成的自动 的中间帧,然后编辑结果,直接地或者通过允许美工输入对关键帧、轮廓、轮廓图形、和/或 关于关键帧、轮廓的元数据等的更改,并且使系统自动重新生成基于这些编辑的输入生成 的自动中间帧。在阅读本公开后,本领域的普通技术人员能够联想到更多的实施例。在其他实施 例中,能够有利地进行以上公开的发明的结合或者子-结合。例如,任何由非刚性材料(包括肉)制作的物体的形状在运动中变化。挤压和拉 伸技术注意,通常极端地,这一重要的警示物体的体积必须保持恒定。插中的绘图应该在 可能时保持该不变量,在一些实施例中,考虑这点。对于更极端的运动,特别是对于表式大 量滴状斑点的例如高亮和阴影的效果的插中,基于形状的方法可能证明为更加强大。在又 一个实施例中,能够使用混合方法以包括在轮廓和形状层次两者上的变形。组件的示例性布置仅为示例目的而示出,并且应该理解在本发明的替换实施例中 将考虑结合、附加、重新布置、和类似的。从而,尽管本发明是相对于示例性实施例来描述 的,本领域的普通技术人员将认识到众多变化例是可能的。例如,此处描述的过程可以通过硬件组件、软件组件、和/或其任意组合实施。相 应地,说明书和附图应该被认为是示例性的而非限制性的。然而,这是显然的,即在不偏离 权利要求中阐明的本发明的更广的精神和保护范围的前提下,可以做出各种更改和变化, 并且本发明旨在覆盖所有落入所附权利要求保护范围的更改例和等同例。
权利要求
一种在计算机 辅助动画系统中用于生成多个中间帧的方法,其中,中间帧是动画序列中的一个图像,该中间帧将在由美工绘制的两个关键帧中间按序显示,并且其中,该多个中间帧将最初至少部分地由计算机生成,该方法包括接收一组至少两个关键帧,该至少两个关键帧包括第一关键帧和第二关键帧,该第一关键帧在所述动画序列中处于包括至少一个生成的中间帧的中间帧组之前,该第二关键帧在所述动画序列中处于该中间帧组之后;分析所述一组关键帧的元素,以识别该组关键帧所表示的图像中的轮廓,其中,轮廓是可部分地通过具有端点以及零个或者更多额外的样本点的连续的曲线段而表示的图像特征,该连续的曲线段具有与之关联的宽度,其中,分析的结果是生成轮廓的存储列;确定对应的轮廓对,一个轮廓对包括所述一组关键帧的第一关键帧的第一轮廓和该组关键帧的第二关键帧的第二轮廓;对于多个对应的轮廓对中的每一对,计算连续的轮廓运动,用于移动所述第一关键帧中的所述轮廓对的所述第一轮廓的端点至所述第二关键帧中的所述轮廓对的所述第二轮廓的端点的位置,其中,该连续的轮廓运动由所述第一轮廓的端点和所述第二轮廓的端点的运动限定;对于多个共同端点中的每一个,调整所述会合的轮廓的所述连续的轮廓运动从而该调整使得该连续的轮廓运动在该共同端点处重合,或者至少在误差界限内重合,从而该共同端点会在误差界限内沿相同路径运动,而无论使用该共同端点的轮廓的连续轮廓运动中的哪个,其中,共同端点是所述第一关键帧和/或第二关键帧中的两个或者更多轮廓的端点;确定用于所需中间帧的相对于所述第一关键帧和所述第二关键帧的动画时间的动画时间;基于所述所需中间帧的所述动画时间和连续的轮廓运动,确定端点的位置;根据至少所述确定的端点的位置,自动生成所述所需中间帧的轮廓;以及以允许所述所需中间帧的后续电子编辑的形式存储所述自动生成的轮廓。
2.根据权利要求1所述的方法,其中,根据至少所述确定的共同端点的位置自动生成 所述所需中间帧的轮廓还包括,根据至少所述确定的共同端点的位置以及所述第一和/或 所述第二轮廓的非-端点样本点的位置,自动生成所述所需中间帧的轮廓,该轮廓按照一 个轮廓变形过程而变形,该过程至少在所述第一轮廓的形状与所述第二轮廓的形状不重合 时使轮廓变形。
3.根据权利要求2所述的方法,其中,使用超过一个轮廓变形的结合完成轮廓_变形。
4.根据权利要求3所述的方法,其中,所述轮廓-变形的结合包括始于所述第一轮廓并 移向所述第二轮廓的位置的轮廓变形和始于所述第二轮廓并移向所述第一轮廓的位置的 轮廓变形。
5.根据权利要求4所述的方法,其中,所述轮廓_变形的结合包括四个轮廓变形,两个 用于第一至第二轮廓方向,另两个用于第二至第一轮廓方向,其中,每两个变形组包括采用 始于轮廓的第一端点的轮廓的表示的变形和采用始于轮廓的第二端点的轮廓的表示的变 形。
6.根据权利要求4所述的方法,其中 所述第二轮廓通过反向轮廓_运动变换;在该变换之后,计算轮廓-变形以形成变形的轮廓;以及该变形的轮廓通过所述轮廓_运动的一部分变换。
7.根据权利要求1所述的方法,其中,调整所述连续轮廓运动包括,求相对于所述第一 轮廓而确定的所述端点的所述连续轮廓运动和相对于所述第二轮廓而确定的所述端点的 所述连续轮廓运动的平均。
8.根据权利要求1所述的方法,其中,所述至少两个关键帧恰好为两个关键帧。
9.根据权利要求1所述的方法,还包括显示所述生成的中间帧图像;接受来自美工的修改输入;以及根据所述修改输入修改所述中间帧图像。
10.根据权利要求9所述的方法,其中,所述修改输入包括对端点轨迹的修改和对轮廓 对的修改。
11.根据权利要求1所述的方法,其中,确定对应的轮廓对包括可选地合并每个关键帧 组的邻近的轮廓到各自的一个轮廓,识别所述第一关键帧的多个轮廓,和将其中的每个轮 廓匹配至所述第二关键帧的一个轮廓。
12.根据权利要求1所述的方法,其中,每个端点运动是对对应的附带的轮廓对进行插 补的轮廓运动的加权平均,其中,所述轮廓运动被约束为时间和相似变换之间的映射。
13.根据权利要求12所述的方法,其中,所述映射为螺线。
14.根据权利要求12所述的方法,其中,所述映射为对数螺线。
15.根据权利要求1所述的方法,其中,根据至少所述确定的端点的位置自动生成所述 所需中间帧的轮廓还包括,根据至少确定的端点的位置和所述第一和/或所述第二轮廓的 非_端点样本点的位置,生成所述所需中间帧的轮廓,该轮廓按照一个轮廓变形过程而变 形,该过程至少在所述第一轮廓的形状与所述第二轮廓的形状不重合时使轮廓变形,并且 其中,轮廓-变形通过一个或更多轮廓变形完成。
16.根据权利要求15所述的方法,其中,所述第一轮廓通过施加变形的一部分而变形, 该部分逐渐地使所述第一轮廓变形成为所述第二关键帧中的对应的轮廓的形状,其中所述 变形从时间的前面至时间的后面或者从时间的后面至时间的前面从右至左地逐渐地弯曲 和拉伸该第一轮廓的形状,并且其中,该变形的所述一部分对应于所述中间帧和所述第一 关键帧之间的时延与所述第二关键帧和所述第一关键帧之间的时延的比例。
17.根据权利要求16所述的方法,其中,所述变形过程从第一端点至第二端点以及从 所述第二端点至所述第一端点施加,并且其中,产生的轮廓被混合成唯一的轮廓。
18.根据权利要求17所述的方法,其中,所述混合通过加权平均每个上述的产生的轮 廓上的对应的样本完成,其中,该权数随着沿着该轮廓的该样本的位置变化。
19.根据权利要求16所述的方法,其中,所述弯曲所述轮廓通过使用所有轮廓的表示 完成,其中每个样本通过形状描述项表示,该形状描述项以沿所述轮廓的多个相邻样本表 达。
20.根据权利要求19所述的方法,其中,所述形状描述项包括坐标系统中所述样本的 坐标,该坐标系统由沿所述轮廓的两个在前样本或者由沿所述轮廓的两个在后样本限定。
21.根据权利要求20所述的方法,其中,通过权衡所述轮廓样本,包括所述轮廓端点,被当作一个循环,获得所述在前和在后样本。
22.根据权利要求1所述的方法,还包括接受来自美工的指示轮廓匹配,端点匹配,轮 廓取向,和/或端点轨迹的输入。
23.根据权利要求1所述的方法,还包括接受来自美工的指示轮廓划分的输入。
24.根据权利要求1所述的方法,其中,可用关联的厚度表示的样本点也可用关联的色 彩属性表示。
25.根据权利要求1所述的方法,其中,确定所述一组关键帧的一个关键帧的轮廓和该 组关键帧的另一个关键帧的轮廓之间的对应由美工完成。
26.根据权利要求1所述的方法,其中,确定所述一组关键帧的一个关键帧的轮廓和该 组关键帧的另一个关键帧的轮廓之间的对应由计算机硬件或计算机软件完成。
27.一种在计算机-辅助动画系统中用于生成多个中间帧的方法,其中,中间帧是动画 序列中的图像,该动画序列将在由美工绘制的两个关键帧中间按序显示,并且其中,该多个 中间帧将最初至少部分地由计算机生成,该方法包括接收一组至少两个关键帧,该至少两个关键帧包括第一关键帧和第二关键帧,该第一 关键帧在所述动画序列中处于包括至少一个生成的中间帧的中间帧组之前,该第二关键帧 在所述动画序列中处于该中间帧组之后;分析所述一组关键帧的元素,以识别由该组关键帧表示的图像中的轮廓,其中,轮廓是 可部分地通过连续的曲线段、该连续的曲线段上的两个端点以及零个或者更多附加的样本 点所表示的图像特征,该连续的曲线段具有与之关联的宽度,其中,分析的结果是生成轮廓 的存储列;确定对应的轮廓对,一个轮廓对包括所述一组关键帧的第一关键帧的第一轮廓和该组 关键帧的第二关键帧的第二轮廓;对于多个对应的轮廓对中的每一对,计算轮廓变形以用于使所述第一关键帧中的所述 轮廓对的所述第一轮廓变形而拟合所述第二关键帧中的所述第二轮廓的位置,其中,该轮 廓变形按照轮廓变形过程实现,该过程至少在所述第一轮廓的形状与所述第二轮廓的形状 不重合时使轮廓变形;确定用于所需中间帧的相对于所述第一关键帧和所述第二关键帧的动画时间的动画 时间;基于所述所需中间帧的所述动画时间和连续的轮廓运动,确定端点的位置;自动使所述所需中间帧的轮廓变形以拟合所述端点;以及以允许所述所需中间帧的后续电子编辑的形式存储所述自动变形的轮廓。
28.根据权利要求27所述的方法,其中,轮廓变形包括曲线平均。
29.根据权利要求27所述的方法,其中,轮廓变形包括四个轮廓变形,两个用于第一至 第二轮廓方向,而另两个用于第二至第一轮廓方向,其中,每一个两个变形的组包括一个采 用始于轮廓的第一端点的轮廓的表示的变形和一个采用始于轮廓的第二端点的轮廓的表 示的变形。
30.根据权利要求27所述的方法,其中,轮廓变形包括本征形状插补;变换该轮廓以匹配端点;以及切线翘曲以匹配端点切线或者其他切线约束。
31. 一种计算机-辅助动画系统,包括输入以用于接收至少两个关键帧,包括第一关键帧和第二关键帧,从而该计算机_辅 助动画系统将生成至少一个中间帧的初始表示,其中,中间帧是动画序列中的图像,该动画 序列将在所述第一关键帧和所述第二关键帧中间按序显示;逻辑以用于读入轮廓的存储的描述或者分析该关键帧组的元素,以识别由该关键帧组 所表示的图像中的轮廓,其中,轮廓是能够部分地通过连续的曲线段、该曲线段上的两个端 点和零个或者更多样本点来表示的图像特征,这些点具有与之关联的宽度和零个或者更多 附加的属性,以产生所述轮廓的存储的描述;逻辑以用于读入或者确定对应的轮廓对,轮廓对包括该关键帧组的第一关键帧的第一 轮廓和该关键帧组的第二关键帧的第二轮廓;逻辑以用于为多个对应的轮廓对的每一对计算连续轮廓运动,其中,连续轮廓运动 描述所述第一关键帧中的所述轮廓对的所述第一轮廓到所述第二关键帧的所述第二轮廓 的位置的运动,其中,所述连续轮廓运动由所述第一轮廓的端点和所述第二轮廓的端点限 定;逻辑以用于为多个共同端点中的每一个计算连续轮廓运动调整,其中,共同端点是所 述第一关键帧中两个或者更多轮廓会合处的点,并且在所述第二关键帧中具有对应的共同 端点,使得该调整的结果是所述连续的轮廓运动在所述共同端点处重合,或者至少在误差 界限内重合,从而所述共同端点能够在误差界限内沿相同路径运动,而无论使用该共同端 点的轮廓的连续轮廓运动中的哪个;逻辑以用于基于所述所需中间帧的动画时间和连续的轮廓运动确定共同端点的位置;逻辑以用于根据至少所述确定的端点的位置,自动生成所述所需中间帧的轮廓;以及 电子存储以用于以允许所述所需中间帧的后续电子编辑的形式存储表示所述自动生 成的轮廓的数据。全文摘要
本发明提供了一种紧凑的插中。具体来说涉及一种用于插画的工具,其中,中间帧至少部分地由计算机如下生成分析关键帧的元素以识别轮廓,确定对应的轮廓对,计算用于每个轮廓对的由两个轮廓的端点限定的载体限定的轮廓运动,并且对于共同端点,调整会合轮廓的连续的轮廓运动使得该调整的结果是连续的轮廓运动在共同端点处重合从而该共同端点沿着相同的路径,以及当轮廓被轮廓运动移动时使轮廓变形,其中变形为多个变形的加权结合,每个重建使用由关键帧上对应样本的形状描述的插值所得到的形状描述,其中根据依沿轮廓的样本的环形顺序的邻近样本点计算该形状描述。
文档编号G06T13/00GK101964116SQ201010237848
公开日2011年2月2日 申请日期2010年7月23日 优先权日2009年7月24日
发明者B·怀特德, J·罗西格纳克, M·西蒙斯 申请人:迪士尼企业公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1