丢帧检测方法和装置与流程

文档序号:12628233阅读:2477来源:国知局
丢帧检测方法和装置与流程

本发明涉及图像处理技术领域,特别涉及一种丢帧检测方法和装置。



背景技术:

渲染,即对图片按照预设规则进行着色,在渲染过程中,图片文件或者视频文件是由一帧一帧的图片组成的,然而,由于存储时候出现的异常,或者是数据传输过程中存在的异常,经常会出现渲染后的文件出现丢帧。

一旦最终渲染得到的文件存在丢帧,势必会影响最终渲染后的图片数据或者是渲染后的视频数据的效果,如果丢失的帧没有被有效检测出来,也就很难提高渲染后成像的效果。

由此可见,如何有效检测出丢帧对渲染结果有着重要的影响。针对该问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种丢帧检测方法和装置,以达到简单高效检测出丢帧的目的。

本发明实施例提供了一种丢帧检测方法,该方法包括:检测预先建立的多个文件夹中是否都存储有渲染帧,其中,所述预先建立的多个文件夹中的各个文件夹都与一个渲染帧对应;如果检测到有一个或多个文件夹中未存储渲染帧,则确定存在丢帧;如果检测到所有的文件夹中都存储有渲染帧,则确定不存在丢帧。

在一个实施例中,按照以下方式建立所述多个文件夹:获取待渲染作业;根据所述待渲染作业中待渲染帧的数量确定建立的文件夹个数;根据所述待渲染作业中各个待渲染帧的作业参数和帧参数,生成每个渲染帧所对应的文件夹名称。

在一个实施例中,在确定存在丢帧之后,还包括:根据检测出的未存储渲染帧的文件夹的名称,确定丢失的渲染帧;将用于指示丢失的渲染帧的指示信息,携带在报警信息和日志文件进行输出。

在一个实施例中,在确定不存在丢帧之后,还包括:按照预设的顺序对所述多个渲染帧进行视频编辑。

在一个实施例中,在检测预先建立的多个文件夹中是否都存储有渲染帧之前,还包括:对待渲染作业中的各个待渲染帧进行渲染操作,得到多个渲染帧;根据所述多个渲染帧的名字,确定所述多个渲染帧中是否存在丢帧;如果确定存在丢帧,则将所述多个渲染帧存放至所述预先建立的多个文件夹中。

本发明实施例还提供了一种丢帧检测装置,该装置包括:检测模块,用于检测预先建立的多个文件夹中是否都存储有渲染帧,其中,所述预先建立的多个文件夹中的各个文件夹都与一个渲染帧对应;第一确定模块,用于在检测到有一个或多个文件夹中未存储渲染帧的情况下,确定存在丢帧;第二确定模块,用于在检测到所有的文件夹中都存储有渲染帧的情况下,确定不存在丢帧。

在一个实施例中,所述检测模块包括:作业获取单元,用于获取待渲染作业;个数确定单元,用于根据所述待渲染作业中待渲染帧的数量确定建立的文件夹的个数;名称生成单元,用于根据所述待渲染作业中各个渲染帧的作业参数和帧参数,生成每个渲染帧所对应的文件夹的名称。

在一个实施例中,所述第一确定模块包括:渲染帧确定单元,用于在确定存在丢帧之后,根据检测出的未存储渲染帧的文件夹的名称,确定丢失的渲染帧;文件输出单元,用于将用于指示丢失的渲染帧的指示信息,携带在报警信息和日志文件进行输出。

在一个实施例中,所述第二确定模块具体用于在确定不存在丢帧之后,按照预设的顺序对所述多个渲染帧进行视频编辑。

在一个实施例中,所述第一确定模块包括:渲染单元,用于在检测预先建立的多个文件夹中是否都存储有渲染帧之前,对待渲染作业中的各个待渲染帧进行渲染操作,得到多个渲染帧;丢帧确定单元,用于根据所述多个渲染帧的名字,确定所述多个渲染帧中是否存在丢帧;存放单元,用于在确定存在丢帧的情况下,将所述多个渲染帧存放至所述预先建立的多个文件夹中。

在本发明实施例中,为每个预先建立的文件夹匹配一个渲染帧,然后检测预先建立的多个文件夹中是否都存储有渲染帧,从而确定是否存在丢帧。因为文件夹和渲染帧是一对一的关系,因此,如果检测到某个文件中不存在渲染帧,则可以确定存在丢帧,通过上述方式解决了现有技术中无法实时准确检测出丢帧,导致渲染结果不能生成图片,渲染帧序列丢帧的技术问题,达到了有效检测丢帧,提高渲染效果的目的。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1是本发明实施例的一种丢帧检测方法的流程图;

图2是本发明实施例的一种丢帧检测方法的另一种方法流程图;

图3是本发明实施例的一种丢帧检测装置的一种结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

为了对本发明更为清楚的理解,下面先对出现的几个名词进行解释如下:

1)待渲染作业:一个镜头,或者一段场景在渲染时,需要提交成一个作业,即还没有进行渲染作业的场景;

2)帧:一个待渲染作业往往要分成多个帧,每个帧就是一张图片;

3)待渲染帧:待渲染作业的一个帧;

4)渲染帧:将待渲染作业进行渲染处理后所得到的渲染作业的一个帧;

5)丢帧:渲染名词,是指渲染帧丢失的状态。

考虑到在渲染过程中会出现的丢帧现象,发明人提出了通过检测预先建立的多个文件夹中是否存储有渲染帧的方法,来判断是否存在丢帧。具体的,在本实施例中,提出了一种丢帧检测方法,如图1所示,可以包括以下步骤:

步骤101:检测预先建立的多个文件夹中是否都存储有渲染帧,其中,所述预先建立的多个文件夹中的各个文件夹都与一个渲染帧对应;

渲染指的是在电脑绘图中,用软件将模型生成图像的过程。模型是用严格定义的语言或者数据结构对三维物体进行的描述,它包括几何、视点、纹理以及照明信息。渲染是计算机动画的最后一道工序,也是最终使图像符合3D场景的阶段。可以应用多种软件进行图像的渲染,如:各动画软件所自带的渲染引擎,还有诸如RenderMan等软件。在建筑设计、动画制作的过程中,可以利用3DS MAX、MAYA等软件制作好模型以及动画帧之后,将设计内容利用软件本身或者辅助软件(如:lightscape、vray等)制作成最终效果图或者动画。

其中,可以按照以下方式建立上述保存图像渲染结果的多个文件夹:

S1-1-1:获取待渲染作业;

其中,待渲染作业指的是还没有进行渲染的图片。

S1-1-2:根据待渲染作业中待渲染帧的数量确定建立的文件夹个数;

待渲染作业是由多个待渲染帧组成的,可以根据组成待渲染作业的待渲染帧的数量来确定建立的文件夹个数。若待渲染作业是由500个待渲染帧组成,那么,建立的文件夹个数也为500个。

S1-1-3:根据所述待渲染作业中各个待渲染帧的作业参数和帧参数,生成每个渲染帧所对应的文件夹名称。

可以根据待渲染作业中各个渲染帧的作业参数和帧参数等客观参数,生成每个渲染帧所对应的文件夹名称。当渲染帧存在层参数时,所对应的文件夹也会相应的存在子文件夹,相应的,可以根据待渲染作业中各个渲染帧的作业参数和帧参数等客观参数,生成每个渲染帧所对应的子文件夹名称。

例如,当待渲染作业是由500个待渲染帧组成的时,可以分别根据这500个待渲染帧的作业参数和帧参数,依次生成500个文件夹来存放渲染后的待渲染帧,即渲染帧。值得注意的是,由于可能存在的丢帧现象,因而渲染帧的数目为小于等于500个。通过检测500个文件夹中渲染帧的存储情况确定是否丢帧。

在本实施例中,可以先为每个预先建立的文件夹分别匹配一个渲染帧,通过检测预先建立的多个文件夹中是否每个文件夹中都存储有相应的渲染帧,从而确定是否存在丢帧。即,可以通过文件扫描的方式检测多个文件夹中是否存储有渲染帧,从而确定是否存在丢帧。

进一步地,进行丢帧检测时,可以根据和上述建立多个文件夹相同的方法来确定用于进行丢帧检测的文件夹的名称。即,可以根据待渲染作业中各个渲染帧的作业参数和帧参数所生成的文件夹名称,对根据S1-1-1至S1-1-3所得到的具有相应文件夹名称的多个文件夹进行扫描,以确定所得到的多个文件夹中是否都存储有渲染帧。当待渲染帧中存在层参数时,此时,如果根据待渲染作业中各个渲染帧的作业参数和帧参数所生成的文件夹中存在子文件夹,同样的,可以通过扫描子文件夹中是否存储有渲染帧的方式确定是否丢帧。例如,有一个3帧的待渲染作业,首先根据待渲染作业中各个待渲染帧的作业参数和帧参数建立3个文件夹,文件夹名称分别为渲1、渲2和渲3,将这3帧的待渲染作业进行渲染后的结果按帧排列后依次放入渲1、渲2和渲3中,采用文件扫描法时,根据待渲染作业中各个待渲染帧的作业参数和帧参数可以得到用于丢帧检测的文件夹名称分别为渲1、渲2和渲3,检测和渲1、渲2和渲3对应的进行渲染后的3个文件夹中是否存在渲染帧。

在一个实施方式中,可以通过云计算技术进行渲染帧是否丢失的识别,其中,云计算技术指的是,通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统,经过该系统的计算分析之后将处理结果回传给用户。通过云计算技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,从而可以提高计算速度。图片信息的分析过程由各个计算节点,即各个执行渲染过程的计算机来完成并汇总。举例而言,如果当前待渲染帧的个数为500,为了提高识别速度,可以通过500个计算节点完成图片的分析过程,即,每个计算节点完成对一个渲染帧的检测,从而可以实现待渲染作业丢帧情况的实时检测,即,渲染一帧就检测一帧,最终将检测结果进行汇总,大大缩短了采用单一服务器进行丢帧结果检测时的程序时间。

在本实施例中,在为每个预先建立的文件夹匹配一个渲染帧,然后检测预先建立的多个文件夹中是否都存储有渲染帧之前,可以先通过参数定位法进行丢帧的检测。具体的,可以包括以下步骤:

S1-2-1:对待渲染作业中的各个待渲染帧进行渲染操作,得到多个渲染帧;

当待渲染作业是由500个待渲染帧组成时,对这500个待渲染帧进行渲染后,得到帧数目小于等于500的渲染帧,将这些渲染帧保存至相同的文件夹中。其中,这些渲染帧的名字是根据500个待渲染帧的场景参数等主观参数确定。

S1-2-2:根据多个渲染帧的名字,确定多个渲染帧中是否存在丢帧;

根据和S1-2-1中确定渲染帧名字相同的方法来确定用于进行丢帧检测的渲染帧的名字。运用参数定位法进行丢帧检测时,可以根据确定出的用于进行丢帧检测的渲染帧的名字,对文件夹中的渲染帧进行扫描,确定S1-2-1中多个渲染帧是否存在丢帧的情况。

S1-2-3:如果确定存在丢帧,则将多个渲染帧存放至预先建立的多个文件夹中。

当利用参数定位法检测到丢帧时,若场景参数等主观参数不精确时,由主观参数确定的渲染帧名字也会比较模糊,可能会导致渲染帧存在却检测不到的情况发生。例如,当3帧的待渲染文件渲染后得到的渲染帧的名字为帧1和帧3时,采用参数定位法时,由于参数不全,会产生得到的渲染帧名字为帧1、帧2和帧4的情况,此时,因为用于丢帧检测的帧名为帧4,而渲染后的帧名为帧3,会导致误认为除了帧2,帧4也丢失的情况发生。因而,可以在利用参数定位法检测到丢帧后,重新将待渲染作业渲染得到的多个渲染帧存储至多个文件夹中,利用文件扫描的方法确定是否存在丢帧。

步骤102:如果检测到有一个或多个文件夹中未存储渲染帧,则确定存在丢帧;

当确定存在丢帧之后,可以根据检测出的未存储渲染帧的文件夹的名称,确定丢失的渲染帧;同时,将用于指示丢失的渲染帧的指示信息,携带在报警信息和日志文件进行输出。

步骤103:如果检测到所有的文件夹中都存储有渲染帧,则确定不存在丢帧。

当检测到不存在丢帧的情况时,可以按照预设的顺序对多个渲染帧进行视频编辑,从而形成动画。其中,预设的顺序可以是待渲染作业中待渲染帧的排列顺序。

下面结合一具体实施例对上述丢帧检测方法进行说明,然而值得注意的是,给具体实施例仅是为了更好地说明本发明,并不构成对本发明的不当限定。

在本例中,采用文件扫描的方式来进行丢帧检测。当检测到丢帧,可以将用于指示丢失的渲染帧的指示信息,携带在报警信息和日志文件进行输出。具体的,如图2所示,可以包括以下步骤:

步骤201:在本地磁盘创建作业帧目录;

步骤202:将渲染结果保存至本地磁盘的作业帧目录下面;

步骤203:检测作业帧文件是否存在;

步骤204:如果检测出作业帧存在,则不丢帧,如果不存在,则丢帧;

步骤205:如果得到正常结果,则从本地磁盘将结果复制到存储上,并设定作业为完成状态;如果丢帧,则设定为失败。

在上例中,通过文件扫描的方式进行丢帧检测,可以避免大规模的渲染帧文件检测;同时,根据渲染作业中各个渲染帧的作业参数和帧参数来确定作业帧目录的名字,可以避免由于参数模糊所引起的丢帧检测正确性。通过文件扫描的方式可以有效识别是否丢帧。

基于同一发明构思,本发明实施例中还提供了一种丢帧检测装置,如下面的实施例所述。由于丢帧检测装置解决问题的原理与丢帧检测方法相似,因此丢帧检测装置的实施可以参见丢帧检测方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本发明实施例的丢帧检测装置的一种结构框图,如图3所示,可以包括:检测模块301、第一确定模块302、第二确定模块303,下面对该结构进行说明。

检测模块301,可以用于检测预先建立的多个文件夹中是否都存储有渲染帧,其中,所述预先建立的多个文件夹中的各个文件夹都与一个渲染帧对应;

第一确定模块302,可以用于在检测到有一个或多个文件夹中未存储渲染帧的情况下,确定存在丢帧;

第二确定模块303,可以用于在检测到所有的文件夹中都存储有渲染帧的情况下,确定不存在丢帧。

在一个实施例中,所述检测模块可以包括:作业获取单元,可以用于获取待渲染作业;个数确定单元,可以用于根据所述待渲染作业中待渲染帧的数量确定建立的文件夹的个数;名称生成单元,可以用于根据所述待渲染作业中各个渲染帧的作业参数和帧参数,生成每个渲染帧所对应的文件夹的名称。

在一个实施例中,所述第一确定模块可以包括:渲染帧确定单元,可以用于在确定存在丢帧之后,根据检测出的未存储渲染帧的文件夹的名称,确定丢失的渲染帧;文件输出单元,可以用于将用于指示丢失的渲染帧的指示信息,携带在报警信息和日志文件进行输出。

在一个实施例中,所述第二确定模块具体可以用于在确定不存在丢帧之后,按照预设的顺序对所述多个渲染帧进行视频编辑。

在一个实施例中,所述第一确定模块可以包括:渲染单元,可以用于在检测预先建立的多个文件夹中是否都存储有渲染帧之前,对待渲染作业中的各个待渲染帧进行渲染操作,得到多个渲染帧;丢帧确定单元,可以用于根据所述多个渲染帧的名字,确定所述多个渲染帧中是否存在丢帧;存放单元,可以用于在确定存在丢帧的情况下,将所述多个渲染帧存放至所述预先建立的多个文件夹中。

从以上的描述中,可以看出,本发明实施例实现了如下技术效果:为每个预先建立的文件夹匹配一个渲染帧,然后检测预先建立的多个文件夹中是否都存储有渲染帧,从而确定是否存在丢帧。因为文件夹和渲染帧是一对一的关系,因此,如果检测到某个文件中不存在渲染帧,则可以确定存在丢帧,通过上述方式解决了现有技术中无法实时准确检测出丢帧,导致渲染结果不能生成图片,渲染帧序列丢帧的技术问题,达到了有效检测丢帧,提高渲染效果的目的。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1