CN107103636B - 多表示相关图的系统和方法 - Google Patents

多表示相关图的系统和方法 Download PDF

Info

Publication number
CN107103636B
CN107103636B CN201610837615.9A CN201610837615A CN107103636B CN 107103636 B CN107103636 B CN 107103636B CN 201610837615 A CN201610837615 A CN 201610837615A CN 107103636 B CN107103636 B CN 107103636B
Authority
CN
China
Prior art keywords
representation
node
tasks
type
task
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
Application number
CN201610837615.9A
Other languages
English (en)
Other versions
CN107103636A (zh
Inventor
E·D·帕普
S·布莱森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DreamWorks Animation LLC
Original Assignee
DreamWorks Animation LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DreamWorks Animation LLC filed Critical DreamWorks Animation LLC
Publication of CN107103636A publication Critical patent/CN107103636A/zh
Application granted granted Critical
Publication of CN107103636B publication Critical patent/CN107103636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)

Abstract

公开了用于多表示相关图的系统和方法。可利用处理器来访问相关图的第一表示。相关图的第一表示可以具有第一类型并且包括多个节点。可利用处理器来检测相关图的第一表示从第一状态到第二状态的转变。响应于检测到相关图的第一表示从第一状态转变到第二状态,可以更新相关图的第二表示。第二表示可具有不同于第一类型的第二类型并且包括对应于多个节点的多个任务。第二表示可进一步包括对应于第一表示的一个或多个连接的一个或多个相关。

Description

多表示相关图的系统和方法
技术领域
本公开涉及计算机生成动画,更具体地涉及用于计算机生成动画的相关图的评估。
背景技术
媒体制作典型地使用相关图来渲染动画中的场景,将动画中的场景制成动画,或者以其它方式描述动画中的场景。相关图可以包括对诸如输入属性的输入数据执行计算以及产生诸如输出属性的输出数据的互连节点的系统。节点可以具有多个输入属性以及多个输出属性,以及其它属性。
随着媒体制作创建了越来越多的现实主义动画,用于支持这些动画的相关图中的节点的复杂度和数量显著地增加。结果,评估相关图所需的时间和计算资源同样增加。因此,需要更高效的相关图评估。
发明概述
公开了用于多表示相关图的系统和方法。在示例的方法中,可以利用处理器来访问相关图的第一表示。相关图的第一表示可以具有第一类型并且包括多个节点。可利用处理器来检测相关图的第一表示从第一状态到第二状态的转变。响应于检测到相关图的第一表示从第一状态转变到第二状态,可以更新相关图的第二表示。第二表示可以具有不同于第一类型的第二类型并且包括对应于多个节点的多个任务。
附图说明
通过参考以下结合随附的附图进行的说明,能够最佳地理解本申请,其中相似的部件由相似的标记来指代。
图1A-1C图示出根据本发明的实施方案的渲染帧序列。
图2A图示出根据本发明的实施方案的相关图的示范性的著作表示。
图2B图示出根据本发明的实施方案的相关图的示范性的评估表示。
图3A图示出根据本发明的实施方案对相关图的著作表示的示范性的修改。
图3B图示出根据本发明的实施方案的相关图的评估表示的示范性的更新。
图4图示出根据本发明的实施方案用于更新相关图的评估表示的示范性的过程。
图5图示出根据本发明的实施方案的示范性的控制值访问层级。
图6图示出根据本发明的实施方案的示范性的动画系统。
发明详述
提供下面的说明以使本领域普通技术人员能够制作和使用各个实施方案。具体的设备、技术和应用的描述仅提供作为实施例。对本文所描述的实施例的各种修改对于本领域普通技术人员而言将显而易见,并且本文限定的一般原理可应用于其它的实施例和应用,而不偏离本技术的精神和范围。因此,公开的技术不意在限于本文所描述和显示的实施例,而是与符合权利要求的范围相一致。
图1A-1C图示出根据本发明的实施方案的帧序列。序列中的每个帧是利用相同图来提供(例如,渲染)的,相关图尤其描述了在序列期间的图示的人物。将意识到,虽然在本文进行了帧的描述,但是可以提供其它图像类型,诸如字段或图片。在一些实例中,通过调节相关图中所包含的节点的属性的值来提供帧。通过实施例的方式,可以通过调节相关图中所包含的变换节点的输入属性的值来实现人物的颈部的移动。
在一些实施例中,可以编辑具有单一表示的相关图并且随后进行评估以提供帧序列。例如,相关图可被编辑而使得相关图包括节点(例如,变换节点)和与节点关联的属性(例如,输入属性,输出属性)。一般地,属性可以是指能够通过系统来控制的节点的参数。输入属性包括可以由系统或者由另一节点设定的节点的属性,并且输出属性包括可由系统读取或者由另一节点访问的节点的属性。通过实施例的方式,因为变换节点可以确定沿着X、Y和Z轴线中的一个或多个的元素的标度、旋转和/或位置,变换节点的输入属性(例如,旋转输入属性)的值的变化可以引起该变换模式的输出属性(例如,旋转显示输出属性)的值的变化。
为了确定输出属性的值,可以对变换节点进行评估。评估可以包括节点的一个或多个函数和/或输入属性的一个或多个值的例如计算、执行或运算。例如,变换节点可以利用矩阵相乘来确定一个或多个输出属性的值,并且因此,可以确定人物颈部的位置。当节点的具体输出属性的值被请求时,该系统可以评估节点以计算具体的输出属性。这可以称为评估节点的输出属性。可选地,可评估节点以计算节点的全部输出属性。当相关图被评估时,人物颈部的变换节点的输出属性的值的变化可以通过相关图传播。在该实施例中,这可以引起人物输出属性的值的变化,导致当帧序列被提供时人物颈部的移动的出现。
因为人物腿部的变换模式的输入属性在整个序列期间不变化,所以人物腿部的位置在整个序列期间也不变化。因此,一旦已经对于第一帧评估了与人物腿部关联的变换模式,变换模式的值可以存储(例如,高速缓存)以用于后续帧且无需对于每个后续帧进行再评估。一般地,例如利用本文称为“脏列表”的数据结构来跟踪需要再评估的节点。需要再评估的那些节点被标识为脏列表中的“脏的”。典型地,响应于节点的输入属性的值变化,节点被标识为脏的。因为一个或多个其它节点的输入属性可依赖于脏节点的输出属性的值,所以一个或多个下游节点可同样标识为脏的。脏列表可如2012年9月6日提交的美国专利申请13/605,966“优化图评估”中所描述的,该申请全文通过引用合并于此。在本文中提及到“脏节点”,其意在是指那些一个或多个属性被标识为脏的节点。一旦已经评估了脏节点,其不再视为脏的。典型地,评估过程可以包括评估规划,其中需要评估的节点或脏节点被标识且此后被评估。在一些实施例中,以及如下文更详细说明的,可以跟踪对应于节点且需要评估的任务,而不是节点本身,或者同节点本身一起。
单一表示相关图包括大量的数据,包括但不限于对应于各种节点、节点参数、属性和属性之间的连接(输出属性与输入属性之间的连接)的数据。结果,单一表示相关图的评估经常计算上要求高。因为在一些实例中期望频繁地和/或比使用单一表示相关图的情况下典型地更高效地编辑和评估相关图,单一表示相关图的使用可能不适合于全部基于相关图的应用。
因此,在一些实施例中,多表示相关图或者具有多个表示的相关图可用于提供帧序列。例如,相关图的第一表示(例如,著作表示)可用于著作相关图,并且相关图的第二表示(例如,评估表示)可用于评估相关图。
图2A-B图示出根据本发明的实施方案的相关图的多个表示。图2A例如图示出相关图的示范性的著作表示200。著作表示200包括节点202-210,其中每个节点都可以包括如所描述的一个或多个属性(例如,输入属性)。如图所示,节点的每个属性可以连接到相同或不同节点的一个或多个其它属性。通过实施例的方式,节点202的第一输出属性可以连接到节点206的输入属性,节点202的第二输出属性可以连接到节点208的输入属性。作为另一实施例,节点206的第一和第二输出节点可以连接到节点210的相应的输入节点。在一些实施例中,著作表示200可用于实现单一表示相关图。
著作表示200的每个节点可以是具有一个或多个节点类型的节点。通过实施例的方式,著作表示200的每个节点可以是运算节点、输入节点、选择节点、约束节点、模拟节点、输出节点或其组合或子组合。将意识到,列举的本文规定的节点的类型不意在限制,节点的一个或多个其它类型可用于实现著作表示200的节点。在一些实施例中,节点的属性可基于节点的类型。例如,选择节点可以具有多个输入属性,选择属性(例如,选择一个或多个特定输入)以及一个或多个输出属性。通过该方法,选择模式可充当多路复用器。
在著作表示200的著作过程中,可以添加、去除和/或修改一个或多个节点。此外,节点可以连接到一个或多个其它节点,与一个或多个其它节点断开连接,与值相关联,或者其任意组合。将意识到,虽然本文将节点称为连接、断开连接和/或与值相关联,在一些实施例中这可以分别称为节点的属性连接、断开连接和/或与值相关联。通过实施例的方式,如果第一节点和第二节点连接,则这可以称为第一节点的输出属性与第二节点的输入属性连接。
图2B图示出根据本发明的实施方案的相关图的示范性的评估表示250。评估表示250包括任务252-260。如更详细说明的,每个任务可取决于一个或多个其它任务。通过实施例的方式,任务256可依从于任务252,并且任务258依从于任务252和任务254。
在评估表示250的评估过程中,可以评估一个或多个任务,例如,计算用于提供帧的一个或多个值。因为评估的任务可能依从于其它任务,所以评估任务可以包括评估该任务所依从的一个或多个“上游”任务。通过实施例的方式,因为任务260依从于任务256,258,评估任务260可以包括评估任务256,258中的至少一个。在其它实施例中,评估任务260可以不包括评估任务256,258中的任一个。类似地,因为任务256,258中的每一个依从于任务252,254,评估任务256,258中的任一个可包括评估任务252,254中的至少一个。在其它实施例中,评估任务256,258中的任一个可以包括不评估任务252,254中的任一个。
在一些实施方案中,评估表示可基于对应的著作表示。评估表示250可以例如利用著作表示200来提供(例如,生成)。在一些实施例中,评估表示250的一个或多个任务可对应于著作表示200的一个或多个节点。节点202-210中的每一个可以分别对应于例如任务252-260。而且,评估表示250的一个或多个连接可以对应于著作表示200的一个或多个相关性。连接222和连接224可以分别对应于相关性272和相关性277,并且连接232,234中的一个或多个可以对应于相关性282。
虽然评估表示250被图示为具有多个任务,但是其中每个任务可以对应于著作表示200的相应的节点,在一些实施例中,评估表示250的每个任务可不对应于相应的节点。评估表示250可以包括例如对应于著作表示200的单个节点的多个任务,或者可以包括不对应于著作表示200的任一个节点的一个或多个任务。类似地,在一些实施方案中,评估表示250的相关性可以不分别对应于著作表示200的连接。著作表示200的多个连接可以对应于评估表示250的单一相关性,和/或著作表示200的单一连接可对应于评估表示250的多个相关性。此外,可以通过任何方式来转换对应的连接和相关性。作为实施例,虽然连接222与节点206,208(回忆起这些节点对应于任务256,258)相关联,但是对应于连接222的相关性272与任务254,256相关联(回忆起这些任务对应于节点204,206)。节点以及与任务的连接和相关性的转换分别可以基于一个或多个优化过程,如下文进一步详述。通过该方法转换的连接在本文可称为“捷径”。
如所描述的,需要评估的节点可称为脏节点,并且评估可以包括评估规划,其中脏节点被标识而使得在评估过程中仅评估脏节点。类似地,对应于脏节点的任务在本文可称为脏任务,并且评估规划可以包括标识脏任务而使得在评估过程中仅评估脏任务。
图3A-3B图示出根据本发明的实施方案的对著作表示的修改可导致评估表示的更新的方式。参考图3A,著作表示300包括节点302-308,其中每个节点可以连接到一个或多个其它节点。例如,节点302分别经由连接326和312连接到节点304和306,节点304进一步经由连接320连接到节点306。
参考图3B,评估表示350可对应于著作表示300。评估表示350可包括任务352-358,它们分别对应于著作表示300的节点302-308。任务352-358中的每一个进一步可依从于一个或多个其它任务。任务354和358例如可以分别经由相关性376和362而依从于任务352。任务356可以经由相关性370而依从于任务354。评估表示350的相关性376、362和370可以分别对应于著作表示300的连接326、312和320。
在一些实施例中,著作表示300可例如由用户来修改以提供著作表示325。可以通过删除节点306和连接320以及添加节点310和连接322来修改著作表示300。同样可以添加节点302与节点304之间的额外的连接324。
响应于著作表示300被修改而提供著作表示325,评估表示350可被更新以提供评估表示375。例如,通过删除任务356和相关性370以及添加任务360和相关性372来更新评估表示350。
在一些实施例中,可以实时地更新评估表示350。因此,对于著作表示300的每个变型例,可以作为响应而更新(例如,自动更新)评估表示350。因此,参考图3A-B,在一些实施例中,可以响应于连接320的删除而第一次更新评估表示350(例如,去除相关性370),响应于节点306的删除而第二次更新评估表示350(例如,去除任务356),响应于节点310的添加而第三次更新评估表示350(例如,添加任务360),以及响应于连接322的添加而第四次更新评估表示350(例如,添加相关性372)。在一些实施例中,响应于连接324的添加,可以不更新评估表示375。将意识到,实现每次修改的次序仅为示例的目的而提供,可以按任意次序来实现对著作表示300的修改。在一些实施例中,响应于对著作表示300做出的特定次数的修改,可以更新评估表示350。例如,响应于著作表示300的每2次修改而更新评估表示。
同样可通过其它方式来更新评估表示350。作为实施例,可以周期性地更新评估表示350。可以在预定时间段已经经过之后和/或在著作表示300没有修改已经经过了预定时间段之后,可以实现更新。例如,响应于在15秒的时间段内没有修改著作表示300,可以更新评估表示350。在一些实施方案中,响应于用户请求,可以更新评估表示350。作为又一实施例,可以基于著作表示300的更新的类型来选择性地更新评估表示350。例如,可以仅响应于著作表示300的节点的添加或删除来更新评估表示350。
在一些实施例中,对评估表示所做的更新是依照一组更新规则来做出的。这些更新规则可以掌控在评估表示更新期间任务和相关性被添加、去除和/或修改的方式。表1图示出依照一个或多个所述实施方案可以使用的示范性的更新规则列表。下面阐述表1中所阐述的每个规则的进一步的说明。
表1
Figure GDA0003251410350000071
Figure GDA0003251410350000081
响应于著作表示中节点的添加,例如,可以将任务选择性地添加到评估表示中。响应于著作表示中节点的删除,可以从评估表示中选择性地删除任务。类似地,著作表示中连接的添加或删除可以导致从评估表示中选择性地添加或闪存相关性。
因为添加到著作表示的每个节点可具有特定类型,所以响应于节点的添加而添加到评估表示中的每个任务可具有与添加节点的类型对应的类型。响应于运算节点添加到著作表示中,例如,运算任务或者包含评估函数的任务可以添加到对应的评估表示中。任务的评估函数可对应于运算节点的运算。为确保任务的后续评估,任务被标记为脏的。
响应于著作表示中输入节点的添加,输入任务或者构造为提供单值的任务可以添加到对应的评估表示中。例如,任务可以提供静态值,可以提供基于一个或多个其它任务的输出的值,和/或可以提供由动画曲线或外部实体(例如,位于相关图之外的实体)所提供的值。为确保任务的后续评估,任务被标记为脏的。
响应于选择节点添加到著作表示,选择任务或者提供了单一输出的任务可以添加到相应的评估表示中。如所描述的,在一些实施例中,选择节点可充当多路复用器。在选择任务的评估规划过程中,对选择节点的上游相关性是否基于选择指标进行验证做出判定。为评估的目的,忽略了按选择指标没有被选定的选择节点的输入。因此,通过选择任务提供的输出可仅对应于在评估规划时按选择指标选定的选择节点的输入,从而减少需要评估的上游任务的数量。为确保任务的后续评估,该任务被标记为脏的。
响应于著作表示中约束节点的添加,约束任务可以添加到相应的评估表示中。为确保任务的后续评估,任务被标记为脏的。在约束任务的评估规划期间,对约束任务的父任务为脏的做出判定。如果父任务不是脏的,则父任务的值(例如,位置)从内部值高速缓存取回。如果父任务是脏的,则规则父任务进行评估(例如,就像脏的一样处理)。
响应于模拟节点添加到著作表示中,模拟任务可以添加到对应的评估表示中。典型地,虽然模拟节点可以访问当前帧的一个或多个值,但是模拟节点同样可以访问一个或多个其它帧的值。因此,在模拟任务的评估规划过程中,对另一帧(例如,相关帧)的值是否是脏的做出判定。如果相关帧的值不是脏的,评估规划被恢复。如果相关帧的值是脏的,则对于另一帧规划模拟任务的评估。为确保任务的后续评估,任务被标记为脏的。
在一些实施例中,本文所描述的节点可以将具有特定类型的值提供给其它节点。以此方式提供的值的类型可以包括浮点、整数、字符串以及本领域现在或将来可知的其它类型。为确保节点之间的兼容性,在一些实施例中,值适配器节点插入节点之间以执行类型转换。值适配器节点可以例如将整数转换成浮点。因此,响应于值适配器节点添加到著作表示,评估表示的任务可以被修改和/或被配置为修改接收到的值的类型(例如,整数到浮点)。而且,在一些实施方案中,值适配器不添加到著作表示中,而是需要类型转换的连接被标识出,并且评估表示的任务被相应地更新。通过这种方式,类型不兼容可被解决,而不将额外的节点添加到著作表示。
对著作表示的其它修改可以同样引起对应评估表示被更新。响应于著作表示中的节点的删除,可以从对应的评估表示中删除对应于删除节点的任务。在一些实施例中,同样可以删除与任务相关联的一个或多个相关性。
响应于著作表示的节点之间的连接的添加,相关性可以选择性地添加到对应的评估表示中。例如,响应于添加节点之间的连接,相关性可以添加在对应于节点的任务之间。在一些实施例中,仅当任务不再共享相关性的情况下才添加相关性。无论是添加相关性还是相关性预先存在,位于相关性下游的全部任务被标记为脏的。
响应于著作表示的连接的删除,可以从对应的评估表示中选择性地删除相关性。例如,如果在节点之间删除的连接是两个节点之间的唯一连接,则删除两个任务之间的相关性。在对应于与删除的连接关联的节点的任务下游的全部任务被标记为脏的。
在一些实施例中,连接的删除同样可以导致一个或多个相关性添加到评估表示中。可以优化评估表示的相关性,结果,可以固定和/或删除一个或多个相关性。如果由于删除的连接而使得一个或多个存在的优化不再可实施,则相关性可以添加到评估表示中以维持著作表示到评估表示的正确转换。
响应于著作表示的节点的值被设定(例如,设定输入属性的值),一个或多个任务可被标记为脏的。例如,节点的值可被设定成特定值(或者输入)并且使得位于与节点对应的任务下游的全部任务被标记为脏的。此外,在一些实施例中,如果模拟节点的值被设定,则一个或多个其它帧(例如,相关帧)中的任务同样可以被标记为脏的。
可变全局缺省块502可以为任意数量的值类型提供缺省值。作为实施例,可变全局缺省块可以提供用于系统的每个浮点、整数和/或字符串的缺省值。
节点类型缺省块504可以为特定类型的节点的任意数量的值类型提供缺省值。例如,节点类型缺省块504可以为全部的输入节点提供系统的每个浮点、整数和/或字符串的缺省值。在一些实施例中,通过节点类型缺省块504提供的缺省值可以替代由可变全局缺省块502提供的值。如本文所描述的实施例的相关图可以使用任意数量的节点类型缺省块504。在一些实施例中,节点类型缺省块504可用于相关图所使用的每个值类型,并且在其它实施例中,节点类型缺省块可用于不足相关图所使用的全部值类型。
在一些实施例中,通过可变全局缺省块502和节点类型缺省块504所提供的值不针对具体节点进行复制,而是在数据结构(例如,表)中进行维护。因此,通过存储在数据结构中的单值,可以维护和/或调节每个缺省值。通过以此方式提供缺省值,通过调节单值可以修改每个缺省值,并且因此,可以减少需要存储在存储器中的值的数量。这在存储相对大的向量值诸如在计算机动画应用中使用的那些向量值时尤其有益。
节点实例块506可以为特定节点提供任意数量的值类型的值。例如,节点类型缺省块504可以提供节点的每个浮点、整数和/或字符串的值。在一些实施例中,由节点实例块506提供的值可以取代由可变全局缺省块502和节点类型缺省块504所提供的值。著作表示的任意数量的节点可以与相应的节点实例块506相关联,使得可以分别指定每个节点的值。
在一些实施例中,节点可以与多个维度的值相关联。节点可以参考和/或提供多个帧中的多个属性的值。例如,如所描述的,可以渲染帧序列中的帧。在帧评估期间生成的值可以针对著作表示的一个或多个节点进行存储,尤其是,可以针对一个或多个节点的一个或多个属性进行存储。在该序列的后续帧中,例如,存储的值可以被重用以进行评估,其中属性的值保持不变。可以存储任意数量的帧以及任意数量属性的值。通过该方法,可以减少评估期间的计算要求。
转回图3,在一些实施例中,可以实现评估表示的一个或多个元素,使得评估表示的评估被优化。该优化可以最小化评估规划的一个或多个方面并且结果提供计算上更高效的评估,尤其是在需要对相应的著作表示进行频繁修改的应用中。
在一些实施方案中,可以优化评估表示的相关性。在一些实例中,例如,著作表示的一个或多个连接无需对应于评估表示的相应的相关性。参考图3A,修改著作表示300以提供著作表示325可以包括在节点302与304之间添加连接324。然而,因为节点302和304已经共享连接310,所以无需将额外的相关性添加到相应的评估表示中。通过该方法,节点之间的多个连接可以对应于相应的任务之间的单一相关性,并且结果,在评估规划过程中需要考虑更少的相关性。
同样,可通过其它方式来优化相关性。参考图2A-2B,例如,节点206的输入经由连接222连接到节点208的输入。节点208的输入进一步经由连接224连接到节点224的输出。因此,虽然节点206的输入连接到节点208的输入,但是通过节点206的输入接收到的输入由节点204的输出来提供。因此,当转换到相应的评估表示时,对应于节点206的任务256可以依从于与节点204对应的任务254,没有实现任务256与258之间的相关性。而且,因为任务256不依从于任务258,所以任务256,258中的每一个可以并行地评估。
同样可以优化评估表示的任务。例如,如果更新评估表示而使得评估表示的任务具有单一上游任务或单一下游任务,则任务可与单一上游任务或单一下游任务组合。
图4示出了根据本发明的实施方案的用于更新相关图的评估表示的示范性的过程400。在步骤405中,访问相关图的第一表示。第一表示可以例如是著作表示,诸如图2A的著作表示200或图3A的著作表示300。访问第一表示可以包括查看第一表示和/或修改第一表示。例如,可以通过添加节点到第一表示或者从第一表示删除节点,添加连接到第一表示或者从第一表示删除连接,或者设定第一表示的一个或多个节点的值,来修改第一表示。在一些实施例中,访问第一表示可以包括初始地生成第一表示。
在步骤410中,检测到相关图的第一表示从第一状态到第二状态的转变。该转变可以例如包括检测步骤405中的第一表示的访问。例如,可以检测到第一表示的一次或多次修改。在另一实施例中,检测转变可以包括检测到更新到相关图的第二表示的用户请求。在又一实施例中,检测到转变可以包括确定在预定时间段内没有修改第一表示。
在步骤415中,响应于检测到相关图的第一表示从第一状态到第二状态的转变,可以更新相关图的第二表示。相关图的第二表示可以例如是评估表示,诸如图2B的评估表示250以及图3B的评估表示350。更新相关图的第二表示可以包括添加任务到第二表示或者从第二表示中删除任务,添加相关性到第二表示或者从第二表示中删除相关性,或者优化第二表示的一个或多个任务或相关性。
在一些实施例中,可以基于第一表示从第一状态到第二状态到的转变来更新第二表示。例如,响应于检测到第一表示中的节点的添加或删除,任务可以分别添加到第二表示或者从第二表示中删除。类似地,响应于第一表示中的连接的添加弧删除,相关性可以分别选择性地添加到第二表示中或者从第二表示删除。在一些实施例中,可以依照一组更新规则来更新第二表示。例如,更新规则可以规定响应于第一表示的修改而更新第二表示的方式。
过程400可利用诸如图6的系统600的一个或多个系统来执行。除了一个或多个其它步骤之外,可以任选地对过程400中的操作进行组合、划分、重定序和/或执行。
此外,已经结合图形处理应用,尤其是结合动画渲染应用描述了过程400。然而,本领域技术人员将意识到,过程400可应用于多个其它的应用,包括但不限于数据库管理应用、可视或并行编程语言,以及硬件开发工具。
图6示出了可用于实现上述的相关图评估过程的示范性的动画系统600。该过程可以通过例如硬件或存储在非暂态计算机可读存储介质中的软件来实现。该系统可被配置为评估相关图、相关图内的节点、或者相关图的输出属性。该系统可被进一步配置为接收来自用户的输入以及基于该评估来显示动画的图形、图像或场景。
动画系统600可被配置为接收来自输入设备620的用户输入。输入设备620可以是任意接收来自用户的输入且将其传送给动画系统600的设备。例如,输入设备可以是键盘、鼠标、平板设备、指示笔等。本领域技术人员将认识到还可以使用其它类型的输入设备。
动画系统600可被配置为输出图形、图像或动画给显示设备630。显示设备630可以是任意接收来自动画系统600的数据以及将其呈现给用户的设备。例如,显示设备630可以是液晶显示器,一组发光二极管、投影仪等。本领域技术人员将认识到,还可以使用其它类型的输出设备。
动画系统600可以包括中央处理单元602。中央处理单元602可以包括一个或多个处理核。中央处理单元602可与输入设备620耦合且能够与输入设备620通信。虽然图示出动画系统600具有一个中央处理单元602,但是动画系统600可具有多个处理单元。动画系统600还可以包括图形处理单元604。图形处理单元604专用于处理图形相关的数据。图形处理单元604可以包括单个处理核或多个处理核。虽然图示出动画系统600具有一个图形处理单元604,但是动画系统600可具有多个图形处理单元。中央处理单元602和/或图形处理单元604可与输出设备630耦合且能够将数据传送给输出设备630。
在一个实施例中,动画系统600可以包括一个或多个处理器以及存储在诸如存储器或存储设备的非暂态计算机可读存储介质中的指令,当通过一个或多个处理器执行时,所述指令执行用于评估如本文所述的相关图的输出属性的过程。在本文所述的实施方案的上下文中,“非暂态计算机可读存储介质”可以是任何能够包含或存储程序以便由指令执行系统、装置或设备使用或者与指令执行系统、装置或设备相结合的介质。非暂态计算机可读存储介质可包括但不限于,电子的、磁的、光的、电磁的、红外的或半导体的系统、装置或设备、便携式计算机盘(磁的)、随机存取存储器(RAM)(磁的)、只读存储器(ROM)(磁的)、可擦除可编程只读存储器(EPROM)(磁的)、诸如CD、CD-R、CD-RW、DVD、DVD-R或DVD-RW的便携式光盘,或诸如压缩闪存卡、安全数字卡、USB存储器设备、记忆棒等闪速存储器。
动系统600可以包括易失性存储器606和/或任何非暂态计算机可读存储介质,它们与中央处理单元602通信。易失性存储器606可以是例如随机存取存储器,诸如动态随机存取存储器或静态随机存取存储器、或任何其它类型的易失性存储器。易失性存储器606可以用于在动画系统600的操作过程中用于存储数据或指令。本领域技术人员将认识到,还可以使用其它类型的易失性存储器。
动画系统600还可以包括与中央处理单元602通信的非易失性存储器608,其是非暂态计算机可读存储介质。非易失性存储器608可以包括闪速存储器、硬盘、磁存储设备、只读存储器等。非易失性存储器608可用于存储动画数据、相关图数据、计算机指令或任何其它信息。本领域技术人员将认识到,还可以使用其它类型的非易失性存储器。
动画系统600不限于上述的设备、配置和功能。例如,虽然单个易失性存储器606、非易失性存储器608、中央处理单元602、图形处理单元604、输入设备620和输出设备630被图示出,多个任意的此类设备可实现在动画系统600之内或之外。另外,动画系统600可以包括用于访问有关诸如内网或因特网的网络的信息的网络存取设备。本领域技术人员将认识到,可以使用动画系统600的其它配置。
虽然本文描述了各个示范性的实施方案。在非限制意义上参考这些实施例。提供这些以图示出公开的技术的更广泛可应用的方面,可以进行各种改变,并且可以替代等同内容,而不偏离各个实施方案的真正的精神和范围。另外,可以做出许多修改以将特定的情形、材料、物质构成、过程、处理动作或步骤适应各个实施方案的目标、精神或范围。此外,本领域技术人员将意识到,本文所描述和图示的各个变型例中的每一个具有离散的组件和特征,这些离散的组件和特征可轻易地与多个实施方案中的任一个的特征分开或组合,而不偏离各个实施方案的范围或精神。

Claims (28)

1.一种执行图形处理的方法,包括:
利用一个或多个处理器,访问相关图的第一表示,所述相关图的所述第一表示具有第一类型且包括多个节点,其中相关图是用于渲染一个或多个动画帧的相关图;
利用所述一个或多个处理器来检测所述相关图的所述第一表示从第一状态到第二状态的转变;
响应于检测到所述相关图的所述第一表示从所述第一状态到所述第二状态的转变,利用所述一个或多个处理器来更新所述相关图的第二表示,所述第二表示具有不同于所述第一类型的第二类型且包括对应于所述多个节点的多个任务;其中:
所述更新包括标记所述多个任务中的至少一个,以指示所述多个任务中的至少一个需要评估,其中:
所述标记基于与相关图的第一表示的转变对应的规则;
所述标记包括确定相关图的第一表示的转变类型;以及
所述规则将所述多个任务中的至少一个任务与相关图的第一表示的确定的转换类型相关联;以及
基于相关图的更新的第二表示来渲染所述一个或多个动画帧。
2.如权利要求1所述的方法,其中所述第一表示是著作表示,所述第二表示是评估表示。
3.如权利要求1所述的方法,其中所述多个任务中的第一任务与第二任务之间的相关基于所述多个节点中的第一节点与第二节点之间的连接。
4.如权利要求1所述的方法,其中检测所述相关图的所述第一表示从所述第一状态到所述第二状态的转变包括:
检测所述相关图的所述第一表示中的新节点。
5.如权利要求4所述的方法,其中更新所述第二表示包括:
确定所述新节点的类型;以及
将任务添加到所述第二表示,所述任务对应于所述新节点并且基于所述新节点的类型。
6.如权利要求1所述的方法,还包括优化所述多个任务的相关性。
7.如权利要求6所述的方法,其中优化所述多个任务的相关性包括将多个连接与相关性相关联。
8.如权利要求1所述的方法,其中优化所述多个任务的相关性包括将多个相关性与连接相关联。
9.如权利要求1所述的方法,其中所述多个节点中的第一节点的值与值类型缺省值相关联,并且所述多个任务中的第二节点的值与节点类型缺省值相关联。
10.如权利要求1所述的方法,其中所述相关图对应于一个或多个三维对象。
11.一种存储一个或多个程序的非暂时性计算机可读存储介质,所述一个或多个程序包括指令,当由电子设备的一个或多个处理器执行时,所述指令使得电子设备:
利用一个或多个处理器,访问相关图的第一表示,所述相关图的所述第一表示具有第一类型且包括多个节点,其中相关图是用于渲染一个或多个动画帧的相关图;
利用所述一个或多个处理器来检测所述相关图的所述第一表示从第一状态到第二状态的转变;
响应于检测到所述相关图的所述第一表示从所述第一状态到所述第二状态的转变,利用所述一个或多个处理器来更新所述相关图的第二表示,所述第二表示具有不同于所述第一类型的第二类型且包括对应于所述多个节点的多个任务;其中:
所述更新包括标记所述多个任务中的至少一个,以指示所述多个任务中的至少一个需要评估,其中:
所述标记基于与相关图的第一表示的转变对应的规则;
所述标记包括确定相关图的第一表示的转变类型;以及
所述规则将所述多个任务中的至少一个任务与相关图的第一表示的确定的转换类型相关联;以及
基于相关图的更新的第二表示来渲染所述一个或多个动画帧。
12.如权利要求11所述的非暂时性计算机可读存储介质,其中所述第一表示是著作表示,所述第二表示是评估表示。
13.如权利要求11所述的非暂时性计算机可读存储介质,其中所述多个任务中的第一任务与第二任务之间的相关基于所述多个节点中的第一节点与第二节点之间的连接。
14.如权利要求11所述的非暂时性计算机可读存储介质,其中用于检测所述相关图的所述第一表示从所述第一状态到所述第二状态的转变的指令包括用于下述的指令:
检测所述相关图的所述第一表示中的新节点。
15.如权利要求14所述的非暂时性计算机可读存储介质,其中用于更新所述第二表示的指令包括用于下述的指令:
确定所述新节点的类型;以及
将任务添加到所述第二表示,所述任务对应于所述新节点并且基于所述新节点的类型。
16.如权利要求11所述的非暂时性计算机可读存储介质,还包括用于优化所述多个任务的相关性的指令。
17.如权利要求16所述的非暂时性计算机可读存储介质,其中用于优化所述多个任务的相关性的指令包括用于将多个连接与相关性相关联的指令。
18.如权利要求11所述的非暂时性计算机可读存储介质,其中所述多个节点中的第一节点的值与值类型缺省值相关联,并且所述多个任务中的第二节点的值与节点类型缺省值相关联。
19.如权利要求11所述的非暂时性计算机可读存储介质,其中所述相关图对应于一个或多个三维对象。
20.一种电子设备,包括:
一个或多个处理器;
一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于以下目的的指令:
访问相关图的第一表示,所述相关图的所述第一表示具有第一类型且包括多个节点,其中相关图是用于渲染一个或多个动画帧的相关图;
检测所述相关图的所述第一表示从第一状态到第二状态的转变;
响应于检测到所述相关图的所述第一表示从所述第一状态到所述第二状态的转变,利用所述一个或多个处理器来更新所述相关图的第二表示,所述第二表示具有不同于所述第一类型的第二类型且包括对应于所述多个节点的多个任务;其中:
所述更新包括标记所述多个任务中的至少一个,以指示所述多个任务中的至少一个需要评估,其中:
所述标记基于与相关图的第一表示的转变对应的规则;
所述标记包括确定相关图的第一表示的转变类型;以及
所述规则将所述多个任务中的至少一个任务与相关图的第一表示的确定的转换类型相关联;以及
基于相关图的更新的第二表示来渲染所述一个或多个动画帧。
21.如权利要求20所述的电子设备,其中所述第一表示是著作表示,所述第二表示是评估表示。
22.如权利要求20所述的电子设备,其中所述多个任务中的第一任务与第二任务之间的相关基于所述多个节点中的第一节点与第二节点之间的连接。
23.如权利要求20所述的电子设备,其中检测所述相关图的所述第一表示从所述第一状态到所述第二状态的转变包括:
检测所述相关图的所述第一表示中的新节点。
24.如权利要求23所述的电子设备,其中更新所述第二表示包括:
确定所述新节点的类型;以及
将任务添加到所述第二表示,所述任务对应于所述新节点并且基于所述新节点的类型。
25.如权利要求20所述的电子设备,还包括所述指令用于优化所述多个任务的相关性的指令。
26.如权利要求25所述的电子设备,还包括所述指令用于优化所述多个任务的相关性包括将多个连接与相关性相关联。
27.如权利要求20所述的电子设备,其中所述多个节点中的第一节点的值与值类型缺省值相关联,并且所述多个任务中的第二节点的值与节点类型缺省值相关联。
28.如权利要求20所述的电子设备,其中所述相关图对应于一个或多个三维对象。
CN201610837615.9A 2015-09-21 2016-09-21 多表示相关图的系统和方法 Active CN107103636B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/860,631 US10297064B2 (en) 2015-09-21 2015-09-21 Multi-representation dependency graphs
US14/860,631 2015-09-21

Publications (2)

Publication Number Publication Date
CN107103636A CN107103636A (zh) 2017-08-29
CN107103636B true CN107103636B (zh) 2021-11-30

Family

ID=57326160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610837615.9A Active CN107103636B (zh) 2015-09-21 2016-09-21 多表示相关图的系统和方法

Country Status (3)

Country Link
US (1) US10297064B2 (zh)
EP (1) EP3144896B1 (zh)
CN (1) CN107103636B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10008019B2 (en) 2015-04-15 2018-06-26 Autodesk, Inc. Evaluation manager for 3D animation scenes
US11227448B2 (en) * 2017-11-14 2022-01-18 Nvidia Corporation Cloud-centric platform for collaboration and connectivity on 3D virtual environments
US12100112B2 (en) 2018-08-10 2024-09-24 Nvidia Corporation Cloud-centric platform for collaboration and connectivity on 3D virtual environments

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154215A (en) * 1997-08-01 2000-11-28 Silicon Graphics, Inc. Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics
CN1689046A (zh) * 2003-05-09 2005-10-26 微软公司 通过动画对象实例来支持图形显示元素的动画制作的系统
US6995765B2 (en) * 2001-07-13 2006-02-07 Vicarious Visions, Inc. System, method, and computer program product for optimization of a scene graph
CN101192150A (zh) * 2006-11-28 2008-06-04 三星电子株式会社 渲染设备和方法
WO2014062950A1 (en) * 2012-10-17 2014-04-24 Microsoft Corporation Code dependency calculation
CN103875032A (zh) * 2011-09-06 2014-06-18 梦工厂动画公司 优化图表评估

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2400291A (en) * 2003-04-05 2004-10-06 Autodesk Canada Inc Image processing using switch nodes
US7441230B2 (en) 2005-10-07 2008-10-21 Lucasfilm Entertainment Company Ltd. Method of utilizing product proxies with a dependency graph
US9691171B2 (en) * 2012-08-03 2017-06-27 Dreamworks Animation Llc Visualization tool for parallel dependency graph evaluation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154215A (en) * 1997-08-01 2000-11-28 Silicon Graphics, Inc. Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics
US6995765B2 (en) * 2001-07-13 2006-02-07 Vicarious Visions, Inc. System, method, and computer program product for optimization of a scene graph
CN1689046A (zh) * 2003-05-09 2005-10-26 微软公司 通过动画对象实例来支持图形显示元素的动画制作的系统
CN101192150A (zh) * 2006-11-28 2008-06-04 三星电子株式会社 渲染设备和方法
CN103875032A (zh) * 2011-09-06 2014-06-18 梦工厂动画公司 优化图表评估
WO2014062950A1 (en) * 2012-10-17 2014-04-24 Microsoft Corporation Code dependency calculation

Also Published As

Publication number Publication date
US20170084061A1 (en) 2017-03-23
CN107103636A (zh) 2017-08-29
EP3144896A1 (en) 2017-03-22
EP3144896B1 (en) 2020-01-08
US10297064B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
US10878604B2 (en) Generating a triangle mesh for an image represented by curves
EP4120199A1 (en) Image rendering method and apparatus, and electronic device and storage medium
US9135739B2 (en) Optimizing graph evaluation
CN105528418B (zh) 一种设计文档生成方法及装置
US10877846B2 (en) Performing a closure merge operation
EP2880632B1 (en) Temporal dependencies in dependency graphs
KR20170037636A (ko) 데이터 계통 요약
EP2790156B1 (en) Generalized instancing for three-dimensional scene data
CN107103636B (zh) 多表示相关图的系统和方法
JP7451015B2 (ja) オブジェクト検出のための訓練データの生成
Nan Easy3D: a lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
US20230315779A1 (en) Image Tracing System and Method
US10990505B2 (en) Stipulated overrides with violation resolution
US20150269781A1 (en) Rapid Virtual Reality Enablement of Structured Data Assets
Vilgertshofer et al. A graph transformation based method for the semi-automatic generation of parametric models of shield tunnels
Madges et al. AnimDiff: Comparing 3D animations for revision control
JP7128408B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム
WO2023194907A1 (en) Image tracing system and method
Steeger et al. Instanced Rendering of Parameterized 3D Glyphs with Adaptive Level-of-Detail using three. js
Stamatakis et al. Flexible navigation through a multi-dimensional parameter space using Berkeley DB snapshots
CN114330001A (zh) 绝缘子串模型参数化构建方法、装置和计算机设备
CN118502744A (zh) 金融领域应用系统的可视化构建方法、装置、计算机设备、可读存储介质
US20170300321A1 (en) Computer code quality assurance through a scene attribute filter system
CN111026385A (zh) 一种专利权利要求布局的存储及图形化展示方法及系统
CN116416194A (zh) 图像建模平台的处理方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant