CN109819178B - 一种用于帧处理的方法和装置 - Google Patents

一种用于帧处理的方法和装置 Download PDF

Info

Publication number
CN109819178B
CN109819178B CN201711166344.XA CN201711166344A CN109819178B CN 109819178 B CN109819178 B CN 109819178B CN 201711166344 A CN201711166344 A CN 201711166344A CN 109819178 B CN109819178 B CN 109819178B
Authority
CN
China
Prior art keywords
frame
processing unit
processing
processed
thread
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
CN201711166344.XA
Other languages
English (en)
Other versions
CN109819178A (zh
Inventor
李木火
王进
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.)
Rainbow Software Co ltd
Original Assignee
Rainbow Software Co ltd
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 Rainbow Software Co ltd filed Critical Rainbow Software Co ltd
Priority to CN201711166344.XA priority Critical patent/CN109819178B/zh
Priority to US16/196,708 priority patent/US10904536B2/en
Publication of CN109819178A publication Critical patent/CN109819178A/zh
Application granted granted Critical
Publication of CN109819178B publication Critical patent/CN109819178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio

Abstract

本发明提供了一种用于帧处理的方法和装置,应用于图像处理领域,该方法包括:第一处理单元接收第一帧;所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元;在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之前,所述第一处理单元接收第三帧。上述方法能够使得在固定帧率情况下且每帧处理能力不变的情况下不会出现卡顿的情况。

Description

一种用于帧处理的方法和装置
技术领域
本发明涉及一种用于图像处理的方法和装置,具体地,涉及一种用于帧处理的方法和装置。
背景技术
在手机内置相机应用程序或第三方相机类应用程序中,一般帧率约25帧/秒,即帧与帧之间的时间间隔约40毫秒。如果要在预览中增加额外的处理,例如,对帧图像中的人脸做美化,那么就应该在40毫秒内完成,这样才不会降低预览的帧率。以人脸美化为例,如果为了获得更好的美化效果,每帧的处理时间超过40毫秒,则会导致预览卡顿;如果为了能在40毫秒之内完成人脸美化而减少美化的处理量,则美化效果不好。
发明内容
本发明提供的一种用于帧处理的方法和装置,能够解决现有技术中在固定帧率情况下每帧处理时间过长导致卡顿的问题。
本发明的第一方面提供一种用于帧处理的方法,所述方法包括:第一处理单元接收第一帧;所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元,由所述第二处理单元处理所述第一帧或由所述第二处理单元与其他处理单元处理所述第一帧;在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之前,所述第一处理单元接收第三帧。
根据本发明的第一方面,在本发明的第一方面的第一可执行方式中,发送给所述第一处理单元的所述第一帧、第二帧和第三帧为周期性发送,所述第一帧与第二帧之间的时间间隔为第一周期,所述第二帧和第三帧之间的时间间隔为所述第一周期。
根据本发明的第一方面或本发明的第一方面的第一可执行方式,在本发明的第一方面的第二可执行方式中,所述处理包括:图像处理。
根据本发明的第一方面或本发明的第一方面的第一可执行方式或本发明的第一方面的第二可执行方式,在本发明的第一方面的第三可执行方式中,所述第一处理单元接收第一帧,包括:所述第一处理单元接收来自于摄像装置的第一帧。
根据本发明的第一方面或本发明的第一方面的第一可执行方式到第三可执行方式中任一可执行方式,在本发明的第一方面的第四可执行方式中,在所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元之前,所述方法还包括:所述第一处理单元处理所述第一帧。
根据本发明的第一方面或本发明的第一方面的第一可执行方式到第四可执行方式中任一可执行方式,在本发明的第一方面的第五可执行方式中,所述第二处理单元与其他处理单元处理所述第一帧,包括:所述第二处理单元处理所述第一帧;或,所述第二处理单元处理所述第一帧,所述第二处理单元将所述第一帧发送给所述第三处理单元,由所述第三处理单元继续处理所述第一帧。
根据本发明的第一方面或本发明的第一方面的第一可执行方式到第五可执行方式中任一,在本发明的第一方面的第六可执行方式中,所述方法还包括:所述第一处理单元向摄像装置发送所述来自于第三处理单元的已处理的第二帧;所述第一处理单元向所述摄像装置发送所述由所述第二处理单元处理的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧。
根据本发明的第一方面的第六可执行方式,在本发明的第一方面的第七可执行方式中,在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之后,所述方法还包括:所述第一处理单元处理接收到的所述第一帧。
根据本发明的第一方面或本发明的第一方面的第一可执行方式到第七可执行方式中任一,在本发明的第一方面的第八可执行方式中,所述方法还包括:所述第一处理单元将所述第三帧发送给第三处理单元进行处理。
本发明的第二方面提供一种用于帧处理的装置,所述装置包括:该装置包括第一处理单元,第二处理单元以及第三处理单元,所述第一处理单元,用于接收第一帧;所述第一处理单元,还用于在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给所述第二处理单元,由所述第二处理单元处理所述第一帧或由所述第二处理单元与其他处理单元处理所述第一帧;所述第一处理单元,还用于在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之前,接收第三帧。
根据本发明的第二方面,在本发明的第二方面的第一可执行方式中,发送给所述第一处理单元的所述第一帧、第二帧和第三帧为周期性发送,所述第一帧与第二帧之间的时间间隔为第一周期,所述第二帧和第三帧之间的时间间隔为所述第一周期。
根据本发明的第二方面或本发明的第二方面的第一可执行方式,在本发明的第二方面的第二可执行方式中,所述处理包括:图像处理。
根据本发明的第二方面或本发明的第二方面的第一可执行方式或本发明的第二方面的第二可执行方式,在本发明的第二方面的第三可执行方式中,所述第一处理单元,具体用于接收来自于摄像装置的第一帧。
根据本发明的第二方面或本发明的第二方面的第一可执行方式到第三可执行方式中任一可执行方式,在本发明的第二方面的第四可执行方式中,所述第一处理单元,还用于在所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元之前,处理所述第一帧。
根据本发明的第二方面或本发明的第二方面的第一可执行方式到第四可执行方式中任一可执行方式,在本发明的第二方面的第五可执行方式中,所述第二处理单元,具体用于处理所述第一帧;或,所述第二处理单元,具体用于处理所述第一帧,所述第二处理单元将所述第一帧发送给所述第三处理单元,由所述第三处理单元继续处理所述第一帧。
根据本发明的第二方面或本发明的第二方面的第一可执行方式到第五可执行方式中任一,在本发明的第二方面的第六可执行方式中,所述第一处理单元,具体用于向摄像装置发送所述来自于第三处理单元的已处理的第二帧;所述第一处理单元,具体用于向所述摄像装置发送所述由所述第二处理单元处理的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧。
根据本发明的第二方面的第六可执行方式,在本发明的第二方面的第七可执行方式中,所述第一处理单元,还用于在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之后,处理接收到的所述第一帧。
根据本发明的第二方面或本发明的第一方面的第一可执行方式到第七可执行方式中任一,在本发明的第二方面的第八可执行方式中,所述第一处理单元,还用于将所述第三帧发送给第三处理单元进行处理。
本发明的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如本发明的第一方面、本发明的第一方面的第一可执行方式到本发明的第一方面的第八可执行方式中任一可执行方式中所述方法的步骤。
本发明的第四方面提供一种用于帧处理的装置,包括存储器、第二处理器以及存储在所述存储器中并可在所述第二处理器上运行的计算机程序,所述计算机程序被第二处理器执行时实现如本发明的第一方面、本发明的第一方面的第一可执行方式到本发明的第一方面的第八可执行方式中任一可执行方式所述方法的步骤。
本发明提供的一种用于帧处理的方法和装置,能够使得在固定帧率情况下且每帧处理能力不变的情况下不会出现卡顿的情况。
附图说明
图1为本发明实施例一提供的一种用于帧处理的方法的流程图;
图2为本发明实施例一提供的一种用于帧处理的方法的时序图;
图3为本发明实施例一提供的再一种用于帧处理的方法的时序图;
图4为本发明实施例一提供的还一种用于帧处理的方法的时序图;
图5为本发明实施例一提供的又一种用于帧处理的方法的时序图;
图6为本发明实施例二提供的一种用于帧处理的装置结构示意图;
图7为本发明实施例三提供的一种用于帧处理的装置结构示意图;
图8为本发明实施例四提供的一种用于帧处理的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述。
本发明的说明书和权利要求书中上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。
其中,本发明实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或“例如”的任何实施例或设计方案不应该被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
应当说明的是,为了图示的简洁和清楚起见,附图中所示的元件没有必要按照比例进行绘制。例如,为了清楚,可以相对于其他元件,增大一些元件的尺寸。另外,在认为合适的地方,可以在附图间重复附图标记,以指示相对应或类似的元件。
下面结合附图1对本发明实施例一提供的一种用于帧处理的方法进行详细阐述。如图1所示,该方法包括:
步骤101,第一处理单元接收第一帧。
所述第一处理单元接收第一帧,包括:所述第一处理单元接收来自于摄像装置的第一帧。具体地,上述的第一帧可以为摄像装置的预览图像中的一帧。上述的接收第一帧可以是接收来自摄像装置的第一帧,也可以是接收来自存储装置的第一帧,该存储装置可以为RAM(Random Access Memory随机存取存储器)或闪存Flash Memory或ROM(Read-OnlyMemory只读存储器)等。
步骤102,所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元,由所述第二处理单元处理所述第一帧或由所述第二处理单元与其他处理单元处理所述第一帧。
步骤103,在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之前,所述第一处理单元接收第三帧。
可选的,上述的第一处理单元、第二处理单元以及第三处理单元可以分别是同一多核处理器或不同处理器的不同的核,也可以是同一单核处理器的不同线程或进程,也可以是同一多核处理器的不同线程或进程,也可以是不同的处理器。具体地,如图2所示,I,J,和K分别为上述的第一处理单元、第二处理单元以及第三处理单元。可选的,本发明实施例以I,J,和K分别为不同线程为例进行详细描述。
所述第一帧、第二帧和第三帧可以为摄像装置周期性发送给所述第一处理单元的连续帧,上述的发送周期可以为第一周期T,所述第一帧与第二帧之间的时间间隔为T,所述第二帧和第三帧之间的时间间隔为T。具体地,如图2所示,F1为第一帧,F0为第二帧,F2为第三帧。
上述的处理可以为图像处理。具体地,该图像处理可以包括为图像增加特效,人脸美化、背景虚化等。
可选的,在所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元之前,所述方法还包括:所述第一处理单元处理所述第一帧。具体地,如图2所示,线程I接收F1帧,在将F1帧发送给线程J之前,所述线程I处理F1帧,该处理过程为I1。由于线程I需要接收线程K处理完毕的F0帧,因此,线程I需要在接收F0帧之前将F1帧发送给线程J。同样的,线程I需要在接收F1帧之前将F2帧发送给线程K。
所述第二处理单元与其他处理单元处理所述第一帧,包括:所述第二处理单元处理所述第一帧;或,所述第二处理单元处理所述第一帧,所述第二处理单元将所述第一帧发送给所述第三处理单元,由所述第三处理单元继续处理所述第一帧。具体地,如图2所示,线程J在接收到线程I进行了部分处理的F1帧之后,继续对F1帧进行处理直到处理完毕,该过程为J1。在另一个例子中,可以由第二处理单元和第三处理单元处理所述F1帧,如图5所示,线程J在接收到线程I进行了部分处理的F1帧之后,继续对F1帧进行处理,该过程为J1,然后将尚未处理完毕的F1帧发送给线程K继续处理直到处理完毕,线程K处理的过程为K1。
进一步的,所述第一处理单元向所述摄像装置发送所述由所述第二处理单元处理的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧。具体地,如图2所示,当线程J对F1帧处理完毕以后,将处理完成的F1帧发送给线程I,线程I在接收到线程J处理完成的F1帧之后将其发送给摄像装置,由摄像装置在预览屏幕显示出来。在另一个例子中,如图5所示,F1帧由线程K完成处理,之后由线程K将处理完成的F1帧发送给线程I,线程I在接收到线程K处理完成的F1帧之后将其发送给摄像装置,由摄像装置在预览屏幕显示出来。
可选的,所述第一处理单元向摄像装置发送所述来自于第三处理单元的已处理的第二帧。具体地,如图2所示,线程I在接收到线程K发送的线程K处理完的F0帧之后,将其发送给摄像装置。
可选的,所述方法还包括:所述第一处理单元将所述第三帧发送给第三处理单元进行处理。具体地,如图2所示,线程I在接收到F2帧之后,将该F2帧发送给线程K进行处理,该过程为K2。可选的,线程I可以在接收到F2帧之后先对其进行处理,再将尚未处理完毕的F2帧发送给线程K继续进行处理。
可选的,在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之后,所述方法还包括:所述第一处理单元处理接收到的所述第一帧。具体地,如图4所示,线程I在接收到线程J处理后的F1帧之后,继续对F1帧进行处理直至处理完成,该过程为图中的I1。
总体来说,第一处理单元在接收来自摄像装置的帧之后,可以对其进行部分处理再发送给其他处理单元,也可以什么都不做直接发送给其他处理单元进行处理;和/或,第一处理单元在接收到其他处理单元发送的帧之后,当该帧没有处理完成时,可以做一部分处理再发送给摄像装置,或者,当该帧已经处理完成时,可以什么都不做直接发送给摄像装置。
在本发明提供的其他实施例中,如图3所示,线程I在接收到来自摄像装置的F1帧之后,直接将其发送给线程J来处理。线程J在处理完成之后发送给线程I,由线程I将处理完成的F1帧发送给摄像装置。其中,在线程I接收到F1帧之后,线程I接收到来自线程K的由线程K处理完成的F0帧,并将其发送给摄像装置。在线程I接收到来自于线程J的处理完成的线程F1之前,线程I接收来自于摄像装置F2帧,并将该F2帧发送给K线程进行处理。在图3的实施例中,减少了线程之间传送的次数,并且流程简单,复杂度低。
另一方面,如图4所示,图4中的实施例与图3中的实施例不同的是,J线程对F1帧的处理没有完成,而是将该还没有处理完成的F1帧发送给线程I,由线程I继续对其进行处理直至完成,再发送给摄像装置。
另一方面,如图5所示,图5中的实施例与图2中的实施例不同的是,J线程在接收到I线程发送的F1帧之后进行处理,并没有处理完成,而是将尚未完成处理的F1帧发送给K线程,由K线程完成处理之后再发送给线程I。上述的没有处理完成是指整体处理没有完成,J1处理阶段可以是完成了某个部分的处理。图5的实施例可以提高处理资源配置的灵活性。
本发明实施例提供的一种用于帧处理的方法,能够使得在固定帧率情况下且每帧处理能力不变的情况下不会出现卡顿的情况,并且不会降低进行帧处理后的帧率。
下面结合附图6对本发明实施例二提供的一种用于帧处理的装置600进行详细阐述。如图6所示,该装置600包括第一处理单元601,第二处理单元602以及第三处理单元603。
所述第一处理单元601,用于接收第一帧。
所述第一处理单元,具体用于接收来自于摄像装置的第一帧。具体地,上述的第一帧可以为摄像装置的预览图像中的一帧。上述的接收第一帧可以是接收来自摄像装置的第一帧,也可以是接收来自存储装置的第一帧,该存储装置可以为RAM(Random AccessMemory随机存取存储器)或闪存Flash Memory或ROM(Read-Only Memory只读存储器)等。
所述第一处理单元601,还用于在接收来自于由第三处理单元603处理的第二帧之前将所述第一帧发送给所述第二处理单元602,由所述第二处理单元602处理所述第一帧或由所述第二处理单元602与其他处理单元处理所述第一帧。
所述第一处理单元601,还用于在所述第一处理单元601接收由所述第二处理单元602处理后的所述第一帧或由所述第二处理单元602与其他处理单元处理的所述第一帧之前,接收第三帧。
可选的,上述的第一处理单元、第二处理单元以及第三处理单元可以分别是同一多核处理器或不同处理器的不同的核,也可以是同一单核处理器的不同线程或进程,也可以是同一多核处理器的不同线程或进程,也可以是不同的处理器。具体地,如图2所示,I,J,和K分别为上述的第一处理单元、第二处理单元以及第三处理单元。可选的,本发明实施例以I,J,和K分别为不同线程为例进行详细描述。
所述第一帧、第二帧和第三帧可以为摄像装置周期性发送给所述第一处理单元的连续帧,上述的发送周期可以为第一周期T,所述第一帧与第二帧之间的时间间隔为T,所述第二帧和第三帧之间的时间间隔为T。具体地,如图2所示,F1为第一帧,F0为第二帧,F2为第三帧。
上述的处理可以为图像处理。具体地,该图像处理可以包括为图像增加特效,人脸美化、背景虚化等。
可选的,所述第一处理单元,还用于在所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元之前,处理所述第一帧。具体地,如图2所示,线程I接收F1帧,在将F1帧发送给线程J之前,所述线程I处理F1帧,该处理过程为I1。由于线程I需要接收线程K处理完毕的F0帧,因此,线程I需要在接收F0帧之前将F1帧发送给线程J。同样的,线程I需要在接收F1帧之前将F2帧发送给线程K。
所述第二处理单元,具体用于处理所述第一帧;或,所述第二处理单元,具体用于处理所述第一帧,所述第二处理单元将所述第一帧发送给所述第三处理单元,由所述第三处理单元继续处理所述第一帧。具体地,如图2所示,线程J在接收到线程I进行了部分处理的F1帧之后,继续对F1帧进行处理直到处理完毕,该过程为J1。在另一个例子中,可以由第二处理单元和第三处理单元处理所述F1帧,如图5所示,线程J在接收到线程I进行了部分处理的F1帧之后,继续对F1帧进行处理,该过程为J1,然后将尚未处理完毕的F1帧发送给线程K继续处理直到处理完毕,线程K处理的过程为K1。
所述第一处理单元,具体用于向所述摄像装置发送所述由所述第二处理单元处理的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧。具体地,如图2所示,当线程J对F1帧处理完毕以后,将处理完成的F1帧发送给线程I,线程I在接收到线程J处理完成的F1帧之后将其发送给摄像装置,由摄像装置在预览屏幕显示出来。在另一个例子中,如图5所示,F1帧由线程K完成处理,之后由线程K将处理完成的F1帧发送给线程I,线程I在接收到线程K处理完成的F1帧之后将其发送给摄像装置,由摄像装置在预览屏幕显示出来。
所述第一处理单元,具体用于向摄像装置发送所述来自于第三处理单元的已处理的第二帧。具体地,如图2所示,线程I在接收到线程K发送的线程K处理完的F0帧之后,将其发送给摄像装置。
所述第一处理单元,还用于将所述第三帧发送给第三处理单元进行处理。具体地,如图2所示,线程I在接收到F2帧之后,将该F2帧发送给线程K进行处理,该过程为K2。可选的,线程I可以在接收到F2帧之后先对其进行处理,再将尚未处理完毕的F2帧发送给线程K继续进行处理。
所述第一处理单元,还用于在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之后,处理接收到的所述第一帧。具体地,如图4所示,线程I在接收到线程J处理后的F1帧之后,继续对F1帧进行处理直至处理完成,该过程为图中的I1。
总体来说,第一处理单元在接收来自摄像装置的帧之后,可以对其进行部分处理再发送给其他处理单元,也可以什么都不做直接发送给其他处理单元进行处理;和/或,第一处理单元在接收到其他处理单元发送的帧之后,当该帧没有处理完成时,可以做一部分处理再发送给摄像装置,或者,当该帧已经处理完成时,可以什么都不做直接发送给摄像装置。
在本发明提供的其他实施例中,如图3所示,线程I在接收到来自摄像装置的F1帧之后,直接将其发送给线程J来处理。线程J在处理完成之后发送给线程I,由线程I将处理完成的F1帧发送给摄像装置。其中,在线程I接收到F1帧之后,线程I接收到来自线程K的由线程K处理完成的F0帧,并将其发送给摄像装置。在线程I接收到来自于线程J的处理完成的线程F1之前,线程I接收来自于摄像装置F2帧,并将该F2帧发送给K线程进行处理。在图3的实施例中,减少了线程之间传送的次数,并且流程简单,复杂度低。
另一方面,如图4所示,图4中的实施例与图3中的实施例不同的是,J线程对F1帧的处理没有完成,而是将该还没有处理完成的F1帧发送给线程I,由线程I继续对其进行处理直至完成,再发送给摄像装置。
另一方面,如图5所示,图5中的实施例与图2中的实施例不同的是,J线程在接收到I线程发送的F1帧之后进行处理,并没有处理完成,而是将尚未完成处理的F1帧发送给K线程,由K线程完成处理之后再发送给线程I。上述的没有处理完成是指整体处理没有完成,J1处理阶段可以是完成了某个部分的处理。图5的实施例可以提高处理资源配置的灵活性。
本发明实施例提供的一种用于帧处理的装置,能够使得在固定帧率情况下且每帧处理能力不变的情况下不会出现卡顿的情况,并且不会降低进行帧处理后的帧率。
下面结合图7具体描述本发明实施例三提供的一种用于帧处理的装置700,该装置700包括一种计算机可读存储介质701,所述计算机可读存储介质701存储有计算机程序,所述计算机程序被第一处理器702执行时实现如实施例一的方法的步骤。如图5所示,可选的,该装置700可以包括总线。
关于本实施例中部件功能的描述可以参见实施例一或二。
本发明实施例提供的一种用于帧处理的装置,能够使得在固定帧率情况下且每帧处理能力不变的情况下不会出现卡顿的情况,并且不会降低进行帧处理后的帧率。
下面结合图8具体描述本发明实施例四提供的一种用于帧处理的装置800,该装置800包括存储器801、第二处理器802以及存储在所述存储器801中并可在所述第二处理器802上运行的计算机程序,所述计算机程序被第二处理器802执行时实现如实施例一所述方法的步骤。可选的,如图8所示,该装置800还包括总线。
本发明实施例提供的一种用于帧处理的装置,能够使得在固定帧率情况下且每帧处理能力不变的情况下不会出现卡顿的情况,并且不会降低进行帧处理后的帧率。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述装置/终端设备中的执行过程。
所述装置/终端设备可以是手机、平板电脑、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述装置/终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,本发明的示意图仅仅是装置/终端设备的示例,并不构成对装置/终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述装置/终端设备还可以包括输入输出设备、网络接入设备、总线等。
上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述装置/终端设备的控制中心,利用各种接口和线路连接整个装置/终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述装置/终端设备的各种功能。所述存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如视频数据、图像等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
上述各个实施例中的目标物体的成像可以目标物体的局部成像,也可以整体成像。无论是局部成像,或整体成像都适用或对局部成像,或整体成像相应做出调整后适用本发明提供的方法或装置,上述调整本领域普通技术人员不需要付出创造性劳动,应属于本发明的保护范围。

Claims (16)

1.一种用于帧处理的方法,其特征在于,所述方法包括:
第一处理单元接收来自于摄像装置的第一帧;
所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元,由所述第二处理单元处理所述第一帧或由所述第二处理单元与其他处理单元处理所述第一帧;
在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之前,所述第一处理单元接收来自于摄像装置的第三帧,并将所述第三帧发送给所述第三处理单元处理;
在所述第一处理单元接收所述第三帧之前,且在所述第一处理单元将所述第一帧发送给第二处理单元之后,接收所述第三处理单元处理的所述第二帧;
所述第一处理单元接收来自于摄像装置的第一帧与接收来自于摄像装置的第二帧之间的时间间隔与所述第一处理单元接收来自于摄像装置的第一帧与接收来自于摄像装置的第三帧之间的时间间隔相等。
2.根据权利要求1所述的方法,其特征在于,
所述摄像装置发送给所述第一处理单元的所述第一帧、第二帧和第三帧为周期性发送,所述第一处理单元接收来自于摄像装置的第二帧与接收来自于摄像装置的第一帧之间的时间间隔为第一周期,所述第一处理单元接收来自于摄像装置的第一帧与接收来自于摄像装置的第三帧之间的时间间隔为所述第一周期。
3.根据权利要求1或2所述的方法,其特征在于,
所述处理包括:图像处理。
4.根据权利要求1所述的方法,其特征在于,在所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元之前,所述方法还包括:
所述第一处理单元处理所述第一帧。
5.根据权利要求1所述的方法,其特征在于,所述第二处理单元与其他处理单元处理所述第一帧,包括:
所述第二处理单元处理所述第一帧;或,
所述第二处理单元处理所述第一帧,所述第二处理单元将所述第一帧发送给所述第三处理单元,由所述第三处理单元继续处理所述第一帧。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一处理单元向摄像装置发送所述来自于第三处理单元的已处理的第二帧;
所述第一处理单元向所述摄像装置发送所述由所述第二处理单元处理的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧。
7.根据权利要求6所述的方法,其特征在于,在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之后,所述方法还包括:
所述第一处理单元处理接收到的所述第一帧。
8.一种用于帧处理的装置,其特征在于,该装置包括第一处理单元,第二处理单元以及第三处理单元,
所述第一处理单元,用于接收来自于摄像装置的第一帧;
所述第一处理单元,还用于在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给所述第二处理单元,由所述第二处理单元处理所述第一帧或由所述第二处理单元与其他处理单元处理所述第一帧;
所述第一处理单元,还用于在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之前,接收来自于摄像装置的第三帧,并将所述第三帧发送给所述第三处理单元处理;还用于在接收所述第三帧之前,且在将所述第一帧发送给第二处理单元之后,接收所述第三处理单元处理的所述第二帧;
所述第一处理单元接收来自于摄像装置的第一帧与接收来自于摄像装置的第二帧之间的时间间隔与所述第一处理单元接收来自于摄像装置的第一帧与接收来自于摄像装置的第三帧之间的时间间隔相等。
9.根据权利要求8所述的装置,其特征在于,
所述摄像装置发送给所述第一处理单元的所述第一帧、第二帧和第三帧为周期性发送,所述第一处理单元接收来自于摄像装置的第二帧与接收来自于摄像装置的第一帧之间的时间间隔为第一周期,所述第一处理单元接收来自于摄像装置的第一帧与接收来自于摄像装置的第三帧之间的时间间隔为所述第一周期。
10.根据权利要求8或9所述的装置,其特征在于,
所述处理包括:图像处理。
11.根据权利要求8所述的装置,其特征在于,
所述第一处理单元,还用于在所述第一处理单元在接收来自于由第三处理单元处理的第二帧之前将所述第一帧发送给第二处理单元之前,处理所述第一帧。
12.根据权利要求8所述的装置,其特征在于,
所述第二处理单元,具体用于处理所述第一帧;或,
所述第二处理单元,具体用于处理所述第一帧,所述第二处理单元将所述第一帧发送给所述第三处理单元,由所述第三处理单元继续处理所述第一帧。
13.根据权利要求8所述的装置,其特征在于,
所述第一处理单元,具体用于向摄像装置发送所述来自于第三处理单元的已处理的第二帧;
所述第一处理单元,具体用于向所述摄像装置发送所述由所述第二处理单元处理的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧。
14.根据权利要求13所述的装置,其特征在于,
所述第一处理单元,还用于在所述第一处理单元接收由所述第二处理单元处理后的所述第一帧或由所述第二处理单元与其他处理单元处理的所述第一帧之后,处理接收到的所述第一帧。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被第一处理器执行时实现如权利要求1-7任一权利要求所述方法的步骤。
16.一种用于帧处理的装置,包括存储器、第二处理器以及存储在所述存储器中并可在所述第二处理器上运行的计算机程序,其特征在于,所述计算机程序被第二处理器执行时实现如权利要求1-7任一权利要求所述方法的步骤。
CN201711166344.XA 2017-11-21 2017-11-21 一种用于帧处理的方法和装置 Active CN109819178B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711166344.XA CN109819178B (zh) 2017-11-21 2017-11-21 一种用于帧处理的方法和装置
US16/196,708 US10904536B2 (en) 2017-11-21 2018-11-20 Frame processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711166344.XA CN109819178B (zh) 2017-11-21 2017-11-21 一种用于帧处理的方法和装置

Publications (2)

Publication Number Publication Date
CN109819178A CN109819178A (zh) 2019-05-28
CN109819178B true CN109819178B (zh) 2022-07-08

Family

ID=66534623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711166344.XA Active CN109819178B (zh) 2017-11-21 2017-11-21 一种用于帧处理的方法和装置

Country Status (2)

Country Link
US (1) US10904536B2 (zh)
CN (1) CN109819178B (zh)

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2016348C (en) * 1989-05-10 2002-02-05 Kenichi Asano Multiprocessor type time varying image encoding system and image processor
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
US7123769B2 (en) * 2001-11-09 2006-10-17 Arcsoft, Inc. Shot boundary detection
US6992707B2 (en) * 2002-03-06 2006-01-31 Hewlett-Packard Development Company, L.P. Delayed encoding based joint video and still image pipeline with still burst mode
US7456833B1 (en) * 2005-06-15 2008-11-25 Nvidia Corporation Graphical representation of load balancing and overlap
US7675550B1 (en) * 2006-04-28 2010-03-09 Ambarella, Inc. Camera with high-quality still capture during continuous video capture
US20080152014A1 (en) * 2006-12-21 2008-06-26 On Demand Microelectronics Method and apparatus for encoding and decoding of video streams
JP4907487B2 (ja) * 2007-10-24 2012-03-28 株式会社リコー 画像処理装置、画像処理方法及び該方法を実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体
CN101256668B (zh) * 2008-03-12 2012-09-05 中兴通讯股份有限公司 一种计算均衡的多核进行视频滤波的方法
JP5213486B2 (ja) * 2008-03-14 2013-06-19 株式会社ソニー・コンピュータエンタテインメント 対象物追跡装置および対象物追跡方法
US8331619B2 (en) * 2008-03-14 2012-12-11 Sony Computer Entertainment Inc. Image processing apparatus and image processing method
US8615039B2 (en) * 2009-05-21 2013-12-24 Microsoft Corporation Optimized allocation of multi-core computation for video encoding
KR101292668B1 (ko) * 2009-10-08 2013-08-02 한국전자통신연구원 멀티프로세서기반의 영상 복호화 장치 및 방법
US8767124B2 (en) * 2010-07-13 2014-07-01 Thomson Licensing Method of picture-in-picture for multimedia applications
US9582920B2 (en) * 2010-08-31 2017-02-28 Apple Inc. Systems, methods, and computer-readable media for efficiently processing graphical data
US8655093B2 (en) * 2010-09-02 2014-02-18 Edge 3 Technologies, Inc. Method and apparatus for performing segmentation of an image
US9148669B2 (en) * 2011-03-10 2015-09-29 Sony Corporation High performance AVC encoder on a multi-core platform
US20130077690A1 (en) * 2011-09-23 2013-03-28 Qualcomm Incorporated Firmware-Based Multi-Threaded Video Decoding
US20140002617A1 (en) * 2012-06-27 2014-01-02 The Board Of Trustees Of The University Of Illinois Particle tracking system and method
EP2685645B1 (en) * 2012-07-09 2016-04-27 Alcatel Lucent Methods and device for processing digital data frames and transport frames for reduction of transport bandwidth
US20140139635A1 (en) * 2012-09-17 2014-05-22 Nec Laboratories America, Inc. Real-time monocular structure from motion
US9386318B2 (en) * 2012-12-12 2016-07-05 Apple Inc. Lossless image compression using differential transfer
US9172923B1 (en) * 2012-12-20 2015-10-27 Elemental Technologies, Inc. Sweep dependency based graphics processing unit block scheduling
CN205680129U (zh) * 2013-08-06 2016-11-09 菲力尔系统公司 红外成像系统
US20150103909A1 (en) * 2013-10-14 2015-04-16 Qualcomm Incorporated Multi-threaded video encoder
GB2523736B (en) * 2014-02-19 2020-03-25 Advanced Risc Mach Ltd Rate control in video encoding
US9417911B2 (en) * 2014-03-12 2016-08-16 Live Planet Llc Systems and methods for scalable asynchronous computing framework
KR101693416B1 (ko) * 2015-03-09 2017-01-05 한국전자통신연구원 영상 부호화 방법 및 영상 복호화 방법과 상기 방법을 이용한 영상 부호화 장치 및 영상 복호화 장치
WO2016179830A1 (en) * 2015-05-14 2016-11-17 Intel Corporation Fast mrf energy optimization for solving scene labeling problems
US20170054982A1 (en) * 2015-08-19 2017-02-23 Hitachi, Ltd. Real time video stream processing systems and methods thereof
WO2017049430A1 (en) * 2015-09-21 2017-03-30 Qualcomm Incorporated Camera preview
TW201725908A (zh) * 2016-01-07 2017-07-16 鴻海精密工業股份有限公司 視頻解碼方法
US10297053B1 (en) * 2016-05-10 2019-05-21 Pixar Scalable multi-threaded evaluation of vectorized data flow graphs
JP6674701B2 (ja) * 2016-09-28 2020-04-01 ルネサスエレクトロニクス株式会社 画像処理モジュール、および半導体システム
US10104288B2 (en) * 2017-02-08 2018-10-16 Aspeed Technology Inc. Method and apparatus for generating panoramic image with stitching process
US10474900B2 (en) * 2017-09-15 2019-11-12 Snap Inc. Real-time tracking-compensated image effects

Also Published As

Publication number Publication date
US10904536B2 (en) 2021-01-26
US20190158853A1 (en) 2019-05-23
CN109819178A (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
KR102149187B1 (ko) 전자 장치와, 그의 제어 방법
CN109068059B (zh) 一种调用相机的方法、移动终端及存储介质
KR102010712B1 (ko) 왜곡 보정 방법 및 단말기
US20190073749A1 (en) Method and apparatus for image processing
CN108600783A (zh) 一种帧率调节方法、装置及终端设备
CN108600675B (zh) 通道路数扩展方法、设备、网络录像机及存储介质
CN112954212A (zh) 视频生成方法、装置及设备
CN108174084A (zh) 全景视频处理方法及终端设备
CN108777810B (zh) 视频数据存储方法、装置、设备及存储介质
CN108922478B (zh) 一种背光亮度调节方法、系统及显示设备
CN109819178B (zh) 一种用于帧处理的方法和装置
CN112165572A (zh) 图像处理方法、装置、终端及存储介质
CN110097520B (zh) 图像处理方法和装置
CN110704201A (zh) 多媒体数据共享方法及终端设备
CN111179369A (zh) 一种基于安卓系统的gpu渲染方法及装置
CN109308690B (zh) 一种图像亮度均衡方法及终端
CN110677671A (zh) 一种图像压缩方法、装置及终端设备
CN112887605B (zh) 图像防抖方法、装置及电子设备
DE102015002125A1 (de) Streaming-Komprimierungs-Antialiasing-Vorgehensweise bei deferred Shading
CN114554269A (zh) 数据处理方法、电子设备及计算机可读存储介质
CN114677464A (zh) 图像处理方法、图像处理装置、计算机设备及存储介质
CN113992909A (zh) 一种mipi d-phy接口摄像头模组的测试系统及方法
CN110910439B (zh) 图像分辨率估计方法、装置及终端
CN110418197B (zh) 一种视频转码方法、装置和计算机可读存储介质
CN113873026A (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