一种图层合成优化方法和装置的制造方法

文档序号:10686801阅读:400来源:国知局
一种图层合成优化方法和装置的制造方法
【专利摘要】本发明提供了一种图层合成优化方法和装置,所述方法包括以下步骤:首先图层标识单元对未发生变化的图层添加标识信息;而后图层标识判断单元判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。由于对未变化的图层添加标识信息,当进行图层合成时候,若待合成的图层存在着标识信息,则不对该图层对应的帧缓冲区中的数据进行搬运,即该图层不参与下一帧画面的合成,从而节省了图层合成过程中系统资源的占用率,降低了功耗。
【专利说明】
一种图层合成优化方法和装置
技术领域
[0001]本发明涉及计算机技术领域,特别涉及一种图层合成优化方法和装置。
【背景技术】
[0002]Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,Andro i d平台手机的全球市场份额已经达到78.1%。
[0003]以Android4.4显示系统为例,其显示画面是以帧为单位进行显示,每个画面往往包含有多个图层,因而在显示每一帧画面时就需要对这些图层进行合成。安卓系统在显示下一帧画面时,不管图层有没发生变化,均会将所有图层再次合成形成新的图层数据,进而进行显示。这样大大增加了图层合成过程中对系统资源的占用率,导致系统运行时功耗增加。

【发明内容】

[0004]为此,需要提供一种图层显示的技术方案,用以解决现有安卓系统由于在进行下一帧画面显示时,会对相较于上一帧没有发生变化的图层也进行合成,导致系统资源占用率高、功耗大等问题。
[0005]为实现上述目的,发明人提供了一种图层合成优化装置,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据;
[0006]所述图层标识单元用于对未发生变化的图层添加标识信息;
[0007]所述图层标识判断单元用于判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元用于从该图层对应的图层缓冲区中获取该图层数据,图层合成单元用于对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。进一步地,所述图层包括一个或多个元素,则所述未发生变化的图层包括图层上元素的形状、大小、位置均未发生变化的图层。
[0008]进一步地,所述装置还包括显示单元,所述显示单元用于对显示缓冲区中的图层数据予以显示。
[OOO9 ]进一步地,所述图层合成单元为安卓系统的SurfaceF I inger模块。
[0010]发明人还提供了一种图层合成优化方法,所述方法应用于图层合成优化装置,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据;所述方法包括以下步骤:
[0011 ]图层标识单元对未发生变化的图层添加标识信息;
[0012]图层标识判断单元判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。
[0013]进一步地,所述图层包括一个或多个元素,则所述未发生变化的图层包括图层上元素的形状、大小、位置均未发生变化的图层。
[0014I 进一步地,所述装置还包括显示单元,所述方法包括:
[0015]显示单元对显示缓冲区中的图层数据予以显示。
[0016]进一步地,所述图层合成单元为安卓系统的SurfaceFlinger模块。
[0017]上述技术方案所述的图层合成优化方法和装置,所述方法应用于图层合成优化装置,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据;所述方法包括以下步骤:首先图层标识单元对未发生变化的图层添加标识信息;而后图层标识判断单元判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。由于在图层合成之前,对未变化的图层添加标识信息,当进行图层合成时候,若待合成的图层存在着标识信息,则不对该图层对应的帧缓冲区中的数据进行搬运,即该图层不参与下一帧画面的合成,从而节省了图层合成过程中系统资源的占用率,降低了功耗。
【附图说明】
[0018]图1为本发明一实施方式涉及的图层合成优化装置的示意图;
[0019]图2为本发明一实施方式涉及的图层合成优化方法的流程图;
[0020]附图标识说明:
[0021]101、图层标识单元;
[0022]102、图层标识判断单元;
[0023]103、图层数据获取单元;
[0024]104、图层合成单元;
[0025]105、图层缓冲区;
[0026]106、显示缓冲区;
[0027]107、显示单元。
【具体实施方式】
[0028]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0029]请参阅图1,为本发明一实施方式涉及的图层合成优化装置的示意图。图层合成优化装置所述装置包括图层标识单元101、图层标识判断单元102、图层数据获取单元103、图层合成单元104、图层缓冲区105和显示缓冲区106;每一图层对应一图层缓冲区105,所述图层缓冲区105用于缓存图层数据;
[0030]所述图层标识单元101用于对未发生变化的图层添加标识信息;
[0031]所述图层标识判断单元102用于判断待合成的图层中是否有标识信息,若是则图层数据获取单元103不从该图层对应的图层缓冲区105中获取图层数据,否则图层数据获取单元103用于从该图层对应的图层缓冲区105中获取该图层数据,图层合成单元用于对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。
[0032]在使用图层合成优化装置时,首先图层标识单元101对未发生变化的图层添加标识信息。所述标识信息可以为数字、字母,也可以为字符串等。在本实施方式中,所述图层包括一个或多个元素,则所述未发生变化的图层包括图层上元素的形状、大小、位置均未发生变化的图层。在其他实施例中,所述图层的元素还包括图层的aIpha (透明度)、aIpha模式、可见区域、显示屏幕坐标、图层数据缓存地址、虚宽、实宽、Z-ORDER等,则未变化的图层包括该图层的alpha(透明度)、alpha模式、可见区域、显示屏幕坐标、图层数据缓存地址、虚宽、实宽、Z-ORDER均未发生变化的图层。
[0033]而后图层标识判断单元102判断待合成的图层中是否有标识信息,若是则图层数据获取单元103不从该图层对应的图层缓冲区105中获取图层数据,否则图层数据获取单元103从该图层对应的图层缓冲区105中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。当待合成的图层中存在着标识信息时,说明该图层为未发生变化的图层,因而在进行下一帧画面合成时,该图层可以不参与合成,从而降低图层合成时对系统资源的占用率。当待合成的图层不存在标识信息,说明该图层已发生变化,需要参与下一帧画面的合成,因而图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,而后图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。所述需要合成到显示缓存区的所有图层数据是指除OVERLAY层之外的图层数据,OVERLAY层是指通过直接透传给显示控制器的图层数据,即无需进行合成即可在显示单元上显示的图层数据。
[0034]在本实施方式中,所述图层合成单元为安卓系统的SurfaceFlinger模块。所述SurfaceFl inger模块包括2D硬件加速合成模块和GPU合成模块。在本实施方式中,所述装置还包括显示单元107,所述显示单元107用于对显示缓冲区中的图层数据予以显示。例如图层的总层数为n,装置硬件所支持的图层的显示层数为m,若需要对η个图层进行显示,则需要对图层进行合成,待合成的图层数为n-m。对于现有安卓系统而言,即使这n-m个图层没有发生任何变化,系统也要求将n-m图层的图层数据重新合成到显示缓冲区(即显示缓冲区)中,增加了系统资源占用率和功耗。而本发明通过对未发生变化的图层添加标识信息,当判断待合成图层存在标识信息时,则不对具有标识信息的图层进行合成,降低了系统资源占用率,节省了功耗。
[0035]以及发明人还提供了一种图层合成优化方法,请参阅图2,为本发明一实施方式涉及的图层合成优化方法的流程图。所述方法应用于图层合成优化装置,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据;所述方法包括以下步骤:
[0036]首先进入步骤S201图层标识单元对未发生变化的图层添加标识信息。所述标识信息可以为数字、字母,也可以为字符串等。在本实施方式中,所述图层包括一个或多个元素,则所述未发生变化的图层包括图层上元素的形状、大小、位置均未发生变化的图层。在其他实施例中,所述图层的元素还包括图层的alpha(透明度)、alpha模式、可见区域、显示屏幕坐标、图层数据缓存地址、虚宽、实宽、Z-ORDER等,则未变化的图层包括该图层的alpha(透明度)、alpha模式、可见区域、显示屏幕坐标、图层数据缓存地址、虚宽、实宽、Z-ORDER均未发生变化的图层。
[0037]而后进入步骤S202图层标识判断单元判断待合成的图层中是否有标识信息,若是则进入步骤S203图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则进入步骤S204图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。当待合成的图层中存在着标识信息时,说明该图层为未发生变化的图层,因而在进行下一帧画面合成时,该图层可以不参与合成,从而降低图层合成时对系统资源的占用率。当待合成的图层不存在标识信息,说明该图层已发生变化,需要参与下一帧画面的合成,因而图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,而后图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。所述需要合成到显示缓存区的所有图层数据是指除OVERLAY层之外的图层数据,OVERLAY层是指通过直接透传给显示控制器的图层数据,即无需进行合成即可在显示单元上显示的图层数据。
[0038]在本实施方式中,所述图层合成单元为安卓系统的SurfaceFlinger模块。所述Surf aceFl inger模块包括2D硬件加速合成模块和GPU合成模块。在本实施方式中,所述装置还包括显示单元,而后可以进入步骤S205显示单元对显示缓冲区中的图层数据予以显示。例如图层的总层数为n,装置硬件所支持的图层的显示层数为m,若需要对η个图层进行显示,则需要对图层进行合成,待合成的图层数为n-m。对于现有安卓系统而言,即使这n-m个图层没有发生任何变化,系统也要求将n-m图层的图层数据重新合成到显示缓冲区(即显示缓冲区)中,增加了系统资源占用率和功耗。而本发明通过对未发生变化的图层添加标识信息,当判断待合成图层存在标识信息时,则不对具有标识信息的图层进行合成,降低了系统资源占用率,节省了功耗。
[0039]上述技术方案所述的图层合成优化方法和装置,所述方法应用于图层合成优化装置,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据;所述方法包括以下步骤:首先图层标识单元对未发生变化的图层添加标识信息;而后图层标识判断单元判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。由于在图层合成之前,对未变化的图层添加标识信息,当进行图层合成时候,若待合成的图层存在着标识信息,则不对该图层对应的帧缓冲区中的数据进行搬运,即该图层不参与下一帧画面的合成,从而节省了图层合成过程中系统资源的占用率,降低了功耗。
[0040]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0041]本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、R0M、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0042]上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0043]这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0044]这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0045]尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
【主权项】
1.一种图层合成优化装置,其特征在于,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据; 所述图层标识单元用于对未发生变化的图层添加标识信息; 所述图层标识判断单元用于判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元用于从该图层对应的图层缓冲区中获取该图层数据,图层合成单元用于对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。2.如权利要求1所述的图层合成优化装置,其特征在于,所述图层包括一个或多个元素,则所述未发生变化的图层包括图层上元素的形状、大小、位置均未发生变化的图层。3.如权利要求1所述的图层合成优化装置,其特征在于,所述装置还包括显示单元,所述显示单元用于对显示缓冲区中的图层数据予以显示。4.如权利要求1所述的图层合成优化装置,其特征在于,所述图层合成单元为安卓系统的 SurfaceFlinger 模块。5.—种图层合成优化方法,其特征在于,所述方法应用于图层合成优化装置,所述装置包括图层标识单元、图层标识判断单元、图层数据获取单元、图层合成单元、图层缓冲区和显示缓冲区;每一图层对应一图层缓冲区,所述图层缓冲区用于缓存图层数据;所述方法包括以下步骤: 图层标识单元对未发生变化的图层添加标识信息; 图层标识判断单元判断待合成的图层中是否有标识信息,若是则图层数据获取单元不从该图层对应的图层缓冲区中获取图层数据,否则图层数据获取单元从该图层对应的图层缓冲区中获取该图层数据,图层合成单元对需要合成到显示缓冲区的所有图层数据进行合成,并将合成后的图层数据存储于显示缓冲区中。6.如权利要求5所述的图层合成优化方法,其特征在于,所述图层包括一个或多个元素,则所述未发生变化的图层包括图层上元素的形状、大小、位置均未发生变化的图层。7.如权利要求5所述的图层合成优化方法,其特征在于,所述装置还包括显示单元,所述方法包括: 显示单元对显示缓冲区中的图层数据予以显示。8.如权利要求5所述的图层合成优化方法,其特征在于,所述图层合成单元为安卓系统的 SurfaceFlinger 模块。
【文档编号】G06F3/14GK106055294SQ201610348087
【公开日】2016年10月26日
【申请日】2016年5月23日
【发明人】郑阳, 邱恩
【申请人】福州瑞芯微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1