发明内容
本发明实施例提供了一种处理对象的处理方法及装置、一种插件生成方法及装置,用以降低对处理对象进行处理的复杂度,以达到新的效果。
本发明实施例提供的一种处理对象的处理方法,包括:
客户端获取处理对象所需的处理算法对应的插件;
所述客户端对所述插件进行解析,获取处理步骤和每一处理步骤对应的参数;
所述客户端利用所述处理步骤和对应的参数,对处理对象进行处理。
通过该方法,客户端可以获取处理对象所需的处理算法对应的插件对所述插件进行解析,获取处理步骤和每一处理步骤对应的参数,利用所述处理步骤和对应的参数,对处理对象进行处理,从而可以更加便捷地实现对处理对象的处理,以达到新的效果,无需更新或升级相应软件。
较佳地,所述处理对象为多媒体文件。
较佳地,所述处理算法为用于对多媒体文件进行渲染的算法。
较佳地,所述客户端利用所述处理步骤和对应的参数,对处理对象进行处理,包括:
所述客户端从预设的算法库中选取执行每一处理步骤的算法;
所述客户端根据所述每一处理步骤对应的参数,计算对应的参数值;
所述客户端调用执行第一处理步骤的算法,根据该第一处理步骤对应的参数的参数值,对处理对象进行处理,然后再调用执行第二处理步骤的算法,根据该第二处理步骤对应的参数的参数值,对该处理对象进行处理,以此类推,直到调用执行最后处理步骤的算法,根据该最后处理步骤对应的参数的参数值,对处理对象进行处理。
本发明实施例提供的一种插件生成方法,包括:
对处理对象进行处理,记录处理过程中的每一效果对应的步骤;
针对每一效果对应的步骤,结合相应的处理算法,将该效果对应的步骤解析为处理步骤和每一处理步骤对应的参数;
将所述处理步骤和每一处理步骤对应的参数进行打包,生成插件。
较佳地,该方法还包括:将所述插件加入到插件库。
本发明实施例提供的一种处理对象的处理装置,包括:
下载单元,用于获取处理对象所需的处理算法对应的插件;
解析单元,用于对所述插件进行解析,获取处理步骤和每一处理步骤对应的参数;
处理单元,用于利用所述处理步骤和对应的参数,对处理对象进行处理。
较佳地,所述处理对象为多媒体文件。
较佳地,所述处理算法为用于对多媒体文件进行渲染的算法。
较佳地,所述处理单元具体用于:
从预设的算法库中选取执行每一处理步骤的算法;
根据所述每一处理步骤对应的参数,计算对应的参数值;
调用执行第一处理步骤的算法,根据该第一处理步骤对应的参数的参数值,对处理对象进行处理,然后再调用执行第二处理步骤的算法,根据该第二处理步骤对应的参数的参数值,对该处理对象进行处理,以此类推,直到调用执行最后处理步骤的算法,根据该最后处理步骤对应的参数的参数值,对处理对象进行处理。
本发明实施例提供的一种插件生成装置,包括:
处理单元,用于对处理对象进行处理,记录处理过程中的每一效果对应的步骤;
解析单元,用于针对每一效果对应的步骤,结合相应的处理算法,将该效果对应的步骤解析为处理步骤和每一处理步骤对应的参数;
打包单元,用于将所述处理步骤和每一处理步骤对应的参数进行打包,生成插件。
较佳地,所述打包单元还用于:将所述插件加入到插件库。
具体实施方式
本发明实施例提供了一种处理对象的处理方法及装置、一种插件生成方法及装置,用以降低对处理对象进行处理的复杂度,以达到新的效果。
本发明实施例中,以所述处理对象为多媒体文件,所述处理算法为用于对多媒体文件进行渲染的算法为例进行说明,当然对于其他类型的处理对象及相应的处理算法,本发明实施例提供的技术方案同样适用。
为了满足变化越来越丰富的多媒体特效处理需求,本发明实施例设计了一种插件化的开放特效系统框架,为设计师提供一套创作工具,能够将设计师专业的特效处理步骤转化为插件,并通过服务器将插件推送到用户的客户端上。使得创作特效的过程变得简单方便,无需编写代码。客户端可以随时添加新的特效,无需更新软件。
本发明实施例首先对使得处理对象达到特定效果的处理算法进行分析,然后把该算法的处理流程分解成各个处理步骤的叠加,每个步骤的效果取决于选择的参数。然后,将这些步骤和对应的参数打包生成该特定效果对应的插件。后续,在客户端上下载该插件,并对其进行解析,根据得到的步骤和参数,对图片、视频或者声音等处理对象进行处理。由于特定效果对应的插件放在了服务器的数据库中,客户端用户能够方便的浏览和下载。
参见图1,在客户端,本发明实施例提供的一种处理对象的处理方法,包括:
S101、客户端获取处理对象所需的处理算法对应的插件;
S102、所述客户端对所述插件进行解析,获取处理步骤和每一处理步骤对应的参数;
插件中以一种规定好的文件格式对处理流程列表和对应的参数列表进行编码,在解析的时候,只要根据之前定义好的方式读取文件即可。
S103、所述客户端利用所述处理步骤和对应的参数,对处理对象进行处理。
较佳地,所述处理对象为多媒体文件。
较佳地,所述处理算法为用于对多媒体文件进行渲染的算法。
本发明实施例提供的处理对象的处理原理参见图2,客户端从服务器侧的插件库,下载插件,然后进行解析,获取处理步骤和每一处理步骤对应的参数,例如图2中所示的步骤一、步骤二、步骤三、步骤四、步骤五......,以及与每一步骤相对应的参数,即步骤一对应的参数一,步骤二对应的参数二,步骤三对应的参数三,步骤四对应的参数四,步骤五对应的参数五......,这里需要说明的是,每一步骤对应的参数,可以是一个也可以是多个,具体的是指类别,而不是具体的取值,具体的取值,是要根据实际需要而定的,例如,某一参数为图像的灰度或者处理窗口大小等等。
较佳地,所述客户端利用所述处理步骤和对应的参数,对处理对象进行处理,包括:
所述客户端从预设的算法库中选取执行每一处理步骤的算法;
所述客户端根据所述每一处理步骤对应的参数,计算对应的参数值;
所述客户端调用执行第一处理步骤的算法,根据该第一处理步骤对应的参数的参数值,对处理对象进行处理,然后再调用执行第二处理步骤的算法,根据该第二处理步骤对应的参数的参数值,对该处理对象进行处理,以此类推,直到调用执行最后处理步骤的算法,根据该最后处理步骤对应的参数的参数值,对处理对象进行处理。
其中,所述的算法库,是预先存储在客户端本地的算法库,不同步骤需要达到不同的效果,因此需要采用相应的算法进行处理,而这些算法就是预先存储在算法库中的,需要时直接调取即可。
以黑白素描效果处理图片为例,具体的处理流程包括:
从插件库选取黑白素描效果插件;
对所述黑白素描效果插件进行解析,获取到一个处理流程列表和一个相应的参数列表。
举例说明,黑白素描可能有如下文件定义:
上面只是一个示意,实际使用中可以更复杂。在解析的时候,通过xml文件结构,能够方便地知道处理对象名称叫“黑白素描”,有两个步骤,分别是“梯度”和“转换”,而“3”和“彩色转黑白”就是对参数的描述。
在本例中,处理流程列表包含两个步骤:步骤一、计算图像梯度;步骤二、将彩色图像转为灰度。步骤一相应的参数是:参数一、计算梯度使用的滤波窗口大小;步骤二对应的参数是:参数二、彩色转灰度没有参数。
根据流程列表,在多媒体算法库中选取计算梯度算法模块(用于执行步骤一的算法)和彩色转灰度算法模块(用于执行步骤二的算法)。
根据参数列表,设置计算梯度的滤波窗口大小。
利用最终的图像处理算法对图像进行处理,即先调用计算梯度算法,根据设置好的参数,对图像进行一次处理,然后调用彩色转灰度算法对图像进行一次处理。
通过上述过程,将以上算法使用在选定的图片上,对该图片进行处理,从而可以将该图片处理为黑白素描效果的图片。
相应地,参见图3,本发明实施例提供的一种保存在服务器侧的所述插件的生成方法,包括:
S201、对处理对象进行处理,记录处理过程中的每一效果对应的步骤;
S202、针对每一效果对应的步骤,结合相应的处理算法,将该效果对应的步骤解析为处理步骤和每一处理步骤对应的参数;
处理步骤对应的是一些具体算法,以黑白素描为例,“梯度”和“转换”是处理步骤,或者说对应的算法。
以黑白素描为例,在S201中,记录到了对处理对象的处理包含两个步骤,分别是计算图像梯度和彩色图像转换为灰度,同时记录到了对应的参数。根据一个约定好的格式,把这些信息记录到插件(一个或多个文件)中,比如按照下面的格式进行记录:
S203、将所述处理步骤和每一处理步骤对应的参数进行打包,生成插件。
较佳地,该方法还包括:将所述插件加入到插件库。
参见图4,还以黑白素描效果处理图片为例,插件生成流程如下:
采用图像处理工具对图像进行处理,记录处理过程中的每一效果对应的步骤。
针对每一效果对应的步骤,结合相应的处理算法,将该效果对应的步骤解析为处理步骤和每一处理步骤对应的参数。
本例中,步骤包括两个步骤:步骤一、计算图像梯度;步骤二、将彩色图像转为灰度。步骤一相应的参数是:参数一、计算梯度使用的滤波窗口大小;步骤二对应的参数是:参数二、彩色转灰度没有参数。
将解析出的步骤和对应的参数进行打包,生成插件,并加入到插件库中。
综上,本发明实施例中提出将市面上的多媒体文件处理特效抽象成有限处理步骤的排列组合,特效处理=(处理步骤+处理参数)的列表=特效插件。设计师生成插件并上传到云端,用户在客户端无需软件升级可以直接获取和使用插件的流程,该流程参与者都无需涉及程序代码工作。对复杂的多媒体文件处理进行流程化和模块化拆分,对处理方式进行算法封装,将流程和参数打包成插件文件的处理方式,由此更易于实现对处理对象的处理,以实现处理对象的特殊效果。
参见图5,在客户端,本发明实施例提供的一种处理对象的处理装置,包括:
下载单元11,用于获取处理对象所需的处理算法对应的插件;
解析单元12,用于对所述插件进行解析,获取处理步骤和每一处理步骤对应的参数;
处理单元13,用于利用所述处理步骤和对应的参数,对处理对象进行处理。
较佳地,所述处理对象为多媒体文件。
较佳地,所述处理算法为用于对多媒体文件进行渲染的算法。
较佳地,所述处理单元具体用于:
从预设的算法库中选取执行每一处理步骤的算法;
根据所述每一处理步骤对应的参数,计算对应的参数值;
调用执行第一处理步骤的算法,根据该第一处理步骤对应的参数的参数值,对处理对象进行处理,然后再调用执行第二处理步骤的算法,根据该第二处理步骤对应的参数的参数值,对该处理对象进行处理,以此类推,直到调用执行最后处理步骤的算法,根据该最后处理步骤对应的参数的参数值,对处理对象进行处理。
以上各单元均可以由处理器等实体装置实现。
参见图6,在服务器端,本发明实施例提供的一种插件生成装置,包括:
处理单元21,用于对处理对象进行处理,记录处理过程中的每一效果对应的步骤;
解析单元22,用于针对每一效果对应的步骤,结合相应的处理算法,将该效果对应的步骤解析为处理步骤和每一处理步骤对应的参数;
打包单元23,用于将所述处理步骤和每一处理步骤对应的参数进行打包,生成插件。
较佳地,所述打包单元还用于:将所述插件加入到插件库。
以上各单元均可以由处理器等实体装置实现。
本发明实施例中提供的插件生成装置和处理对象的处理装置(插件使用系统)可以运行在各类设备上,例如PC、平板电脑、智能手机等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。