一种支持动态参数的特技插件的方法和装置的制作方法

文档序号:6340936阅读:119来源:国知局
专利名称:一种支持动态参数的特技插件的方法和装置的制作方法
技术领域
本发明实施例涉及非线性编剪辑软件及视音频后期特效处理与合成软件领域,特别涉及一种支持动态参数的特技插件的方法和装置。
背景技术
在非线性编剪辑软件及视音频后期特效处理与合成软件中,我们往往需要有针对性的开发一些相应的特技插件,以配合用户完成一些具体的功能。由于编辑素材的多样性, 以及功能的复杂性的增加,往往需要更多来自于与用户的交互,这样才能得到更精准的结果,因此,能在特技插件中动态的添加(删除)一些相关联的调节参数已经越来越重要了。考虑到每一个具体特技都具备一个完整的功能,而这些功能都存在一定的差异性,对于实现每种特技能动态的添加(删除)参数的方法都不同,操作起来非常复杂,效率低。

发明内容
本发明实施例提供一种支持动态参数的特技插件的方法和装置,以实现提供一套完整的机制用于实现特技能动态的添加(删除)参数。为达到上述目的,本发明实施例一方面提供一种支持动态参数的特技插件的方法,包括对于每一个特技插件,都有其对应的参数,每个参数在不同的特技里代表的含义也不尽相同,这些参数呈树形结构保存,特技节点为参数树的根节点,每一个参数对应于参数树中的一个叶子节点。当我们要添加一个新的节点时,首先根据特技名称找到其特技的跟节点,然后根据参数的性质信息找到其在参数树中对应的父节点的参数地址,再通过参数在父节点中的位置确定其所在次序,构建出相应的参数地址,然后根据此参数地址创建一个新的叶子节点添加到参数树中,同样的,如果要删除一个动态节点,首先根据节点的信息获得其在参数树中的参数地址,然后将其从参数树中删除。另一方面,本发明实施例还提供一种支持动态参数的特技插件的装置,包括获取模块,用于获得特技的参数树信息;寻找模块,用于寻找动态参数所在父节点的信息;添加动态节点模块,用于添加动态节点时,创建一个新的叶子节点添加到参数中;删除动态节点模块,用于删除动态节点时,从参数树中删除该节点。与现有技术相比,本发明实施例具有以下优点通过本发明实施例,提供了一套完整的机制用于实现特技能动态的添加(删除)参数,使得添加得到的动态节点和静态节点具备相同的编辑功能,也可以进行关键帧曲线的调节,从而增加了特技插件的可交互性和可操作性。


图1为本发明实施例一中支持动态参数的特技插件的方法的流程图;图2为本发明实施例二中支持动态参数的特技插件的方法的具体实现流程图;图3为本发明实施例三中支持动态参数的特技插件的装置的结构图。
具体实施例方式如图1所示,为本发明实施例一提供的支持动态参数的特技插件的方法的流程图。对于每一个特技插件,都有其对应的参数,每个参数在不同的特技里代表的含义也不尽相同,这些参数呈树形结构保存在相应特技的参数树上,并一一对应一个位置,称之为参数在参数树中的参数地址,参数地址用用变量Index标记该参数在同级参数中次序。 特技节点为参数树的根节点,每一个参数对应于参数树中的一个叶子节点。S101,获得特技的参数树信息。S102,如果是添加一个新的动态节点,当我们要添加一个新的节点时,首先根据特技名称找到其特技的根节点,然后根据参数的性质信息找到其在参数树中对应的父节点的参数地址,再通过参数在父节点中的位置确定其所在次序,构建出相应的参数地址,然后根据此参数地址创建一个新的叶子节点添加到参数树中。S103,如果要删除一个动态节点,首先根据节点的信息获得其在参数树中的参数地址,然后将其从参数树中删除。我们将参数划分为两大类静态参数这一类参数是特技的基本参数,由特技本身的属性确定,只能对这类参数进行编辑,但不能进行添加或删除。静态参数的Index都为0。动态参数这类参数为在特技在实际使用过程中,由用户或系统根据实际需要创建,并由用户和系统进行维护,不仅可以编辑这类参数,同时还可以对这类参数进行添加或删除操作。动态参数的Index记录其在父节点下的次序,顺序排列。由于特技之间的差异性,对于特技自定义的动态参数所代表的含义也都不尽相同,因此为了能统一的对这类参数进行调度,我们将这类参数定义为抽象数据类型信息对象,并将这类参数的信息保存在特技的参数树对应节点的句柄上。这样,当我们添加(删除)一个动态参数时,我们首先在特技的参数树上插入(删除)一个叶子节点,并创建一个相应的句柄,然后再创建一个与之对应的抽象数据类型信息对象,并将创建得到的抽象数据类型信息对象保存到节点句柄上,供我们操作使用。这样,我们操作这个动态添加的节点和操作这个特技的静态节点就变的一致了。具体的流程如下如图2所示,为本发明实施例二提出的支持动态参数的特技插件的方法的具体实现流程图,可以包括S201,获得特技的参数树信息。S202,寻找动态参数所在父节点的信息。如果是添加动态节点,跳转到步骤S203,如果是删除节点,跳转到步骤S208。S203,根据操作类型确定参数的父节点信息ParentNode。S204,计算添加节点的Index信息。S205,构建参数地址 ParamAdder。S206,根据得到的ParamAdder信息,将其插入到ParentNode下,得到插入的动态参数节点node。S207,创建一个相应的类型信息对象数据ArbitraryData,并将其保存到Node的句柄上。S208,获得删除动态参数的同类参数中的hdex。S209,计算当前动态参数的参数地址ParamAdder。S210,从参数树中根据ParamAdder找到对应的动态参数的节点信息Node。S211,从参数树中删除该节点Node。这样,添加得到的动态节点和静态节点具备相同的编辑功能,也可以进行关键帧曲线的调节,从而增加了特技插件的可交互性和可操作性。如图3所示,为本发明实施例三提供的支持动态参数的特技插件的装置结构图, 包括获取模块31,用于获得特技的参数树信息;寻找模块32,用于寻找动态参数所在父节点的信息;添加动态节点模块33,用于创建一个新的叶子节点添加到参数中,具体包括如果是添加一个新的动态节点,当我们要添加一个新的节点时,首先根据特技名称找到其特技的根节点,然后根据参数的性质信息找到其在参数树中对应的父节点的参数地址,再通过参数在父节点中的位置确定其所在次序,构建出相应的参数地址,然后根据此参数地址创建一个新的叶子节点添加到参数树中;删除动态节点模块34,用于从参数树中删除该节点,具体包括如果要删除一个动态节点,首先根据节点的信息获得其在参数树中的参数地址,然后将其从参数树中删除。其中,添加动态节点模块33可以包括计算子模块331,用于从父节点信息中获得动态节点的个数,然后计算当前添加的节点的Index ;生成新节点子模块332,用于根据得到的hdex信息得到新添加节点的参数地址, 并依此生成一个新的节点;创建模块333,用于创建一个抽象数据类型信息对象数据;保存模块334,用于将创建得到的抽象数据类型信息对象信息保存在节点的句柄上。其中,删除动态节点模块34可以包括计算子模块341,用于从父节点信息中获得动态节点的个数,然后计算当前添加的节点的Index ;生成新节点子模块342,用于根据得到的hdex信息得到新添加节点的参数地址, 并依此生成一个新的节点;创建模块343,用于创建一个抽象数据类型信息对象数据;
保存模块344,用于将创建得到的抽象数据类型信息对象信息保存在节点的句柄上。这样,添加得到的动态节点和静态节点具备相同的编辑功能,也可以进行关键帧曲线的调节,从而增加了特技插件的可交互性和可操作性。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种支持动态参数的特技插件的方法,其特征在于,包括获得特技的参数树信息;寻找动态参数所在父节点的信息;如果是添加动态节点,创建一个新的叶子节点添加到参数中,或如果是删除动态节点, 从参数树中删除该节点。
2.如权利要求1所述的方法,其特征在于,还包括对于每一个特技插件,都有其对应的参数,每个参数在不同的特技里代表的含义不相同,所述参数呈树形结构保存,特技节点为参数树的根节点,每一个参数对应于参数树中的一个叶子节点。
3.如权利要求2所述的方法,其特征在于,所述如果是添加动态节点,创建一个新的叶子节点添加到参数中,具体包括如果是添加一个新的动态节点时,首先根据特技名称找到其特技的根节点,然后根据参数的性质信息找到其在参数树中对应的父节点的参数地址,再通过参数在父节点中的位置确定其所在次序,构建出相应的参数地址,然后根据此参数地址创建一个新的叶子节点, 添加到参数树中。
4.如权利要求2所述的方法,其特征在于,所述当删除动态节点时,从参数树中删除该节点,具体包括首先根据节点的信息获得其在参数树中的参数地址,然后将其从参数树中删除。
5.如权利要求3或4所述的方法,其特征在于,还包括将特技自定义的动态参数定义为抽象数据类型信息对象,并将这类参数的信息保存在特技的参数树对应节点的句柄上。
6.如权利要求3或4所述的方法,其特征在于,所述参数信息记录在相应特技的参数树上,并一一对应一个位置,即参数在参数树中的参数地址,所述参数地址用用变量hdex标记该参数在同级参数中次序。
7.一种支持动态参数的特技插件的装置,其特征在于,包括获取模块,用于获得特技的参数树信息;寻找模块,用于寻找动态参数所在父节点的信息;添加动态节点模块,用于添加动态节点时,创建一个新的叶子节点添加到参数中;删除动态节点模块,用于删除动态节点时,从参数树中删除该节点。
8.如权利要求7所述的装置,其特征在于,所述添加动态节点模块还包括计算子模块,用于从父节点信息中获得动态节点的个数,然后计算当前添加的节点的 Index ;生成新节点子模块,用于根据得到的^dex信息得到新添加节点的参数地址,并依此生成一个新的节点;创建模块,用于创建一个抽象数据类型信息对象数据;保存模块,用于将创建得到的抽象数据类型信息对象信息保存在节点的句柄上。
9.如权利要求7所述的装置,其特征在于,所述删除动态节点模块还包括计算子模块,用于从父节点信息中获得动态节点的个数,然后计算当前添加的节点的 Index ;生成新节点子模块,用于根据得到的Index信息得到新添加节点的参数地址,并依此生成一个新的节点;创建模块,用于创建一个抽象数据类型信息对象数据;保存模块,用于将创建得到的抽象数据类型信息对象信息保存在节点的句柄上。
全文摘要
本发明实施例公开了一种支持动态参数的特技插件的方法和装置,所述方法包括以下步骤获得特技的参数树信息;寻找动态参数所在父节点的信息;如果是添加动态节点,创建一个新的叶子节点添加到参数中,或如果是删除动态节点,从参数树中删除该节点。通过本发明实施例,提供了一套完整的机制用于实现特技能动态的添加或删除参数,使得添加得到的动态节点和静态节点具备相同的编辑功能,也可以进行关键帧曲线的调节,从而增加了特技插件的可交互性和可操作性。
文档编号G06F9/44GK102567000SQ20101061791
公开日2012年7月11日 申请日期2010年12月31日 优先权日2010年12月31日
发明者严玄, 王莉, 韩秀丽 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1