CN104731544A - 叠加系统和叠加方法 - Google Patents
叠加系统和叠加方法 Download PDFInfo
- Publication number
- CN104731544A CN104731544A CN201510140933.5A CN201510140933A CN104731544A CN 104731544 A CN104731544 A CN 104731544A CN 201510140933 A CN201510140933 A CN 201510140933A CN 104731544 A CN104731544 A CN 104731544A
- Authority
- CN
- China
- Prior art keywords
- layer
- superposition
- output terminal
- judging
- channel
- 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.)
- Granted
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例涉及叠加系统和叠加方法,该叠加系统包括:信道矩阵模块、多个数据选择器、多个混合处理模块、输出匹配模块和多个叠加输出端;信道矩阵模块用于将多个图层与多个信道进行匹配;每个数据选择器,用于从多个候选图层中选择一个作为最底图层;每个混合处理模块,与一个信道相连接并与一个数据选择器连接,用于将由信道传输的图层与数据选择器选择的最底图层进行透明混合处理得到输出结果;输出匹配模块,用于将多个混合处理模块的多个输出结果与多个叠加输出端进行匹配,以通过多个叠加输出端中的至少一个输出多个输出结果中的一个或多个。由上可见,本发明实施例的叠加系统可以有效减小占用的芯片面积,降低成本和功耗。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及叠加系统和叠加方法。
背景技术
目前在终端显示模块设计中均采用叠加(overlay,OVLY)显示技术,对于需要显示的图像,先要获取该图像的所有图层(surface),然后对获取的所有图层通过叠加模块进行叠加,再将处理后的结果输出到显示器进行显示。叠加即对图层进行透明混合处理,通常地,叠加包括两种方式:在线叠加和离线叠加。在线叠加为将所有图层进行叠加,叠加完成后将叠加结果直接送给显示器显示;离线叠加为将所有图层进行叠加,叠加完成后将叠加结果先写入内存,再从内存读取叠加结果通过显示器进行显示。
随着终端应用越来越复杂,图像的图层信息也越来越多,例如,某些场景中,图像包括十几个图层,需要对十几个图层进行叠加,此时对系统带宽的要求非常高,由于当系统带宽不能满足在线叠加要求时,需要采用离线叠加,因此现有技术所采用的叠加系统中,不仅包括用于对图层进行在线叠加的在线叠加模块,还包括用于对图层进行离线叠加的离线叠加模块。
由上可见,现有技术中的叠加系统中,包括不止一个叠加模块,芯片面积占用过大,导致成本、功耗都非常不利。
发明内容
本发明实施例提供叠加系统和叠加方法,可以有效减小占用的芯片面积,降低成本和功耗。
第一方面,提供了一种叠加系统,所述叠加系统包括:信道矩阵模块、多个数据选择器、多个混合处理模块、输出匹配模块和多个叠加输出端;
所述信道矩阵模块包括多个输入端和多个输出端,所述信道矩阵模块用于将来自所述多个输入端的多个图层与多个信道进行匹配,并通过所述多个输出端将所述多个图层输出至所述多个信道;
每个数据选择器,用于从多个候选图层中选择一个作为最底图层;
每个混合处理模块,与一个信道相连接并与一个数据选择器连接,用于将由所述信道传输的图层与所述数据选择器选择的最底图层进行透明混合处理得到输出结果;
所述输出匹配模块,用于将所述多个混合处理模块的多个输出结果与所述多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。
结合第一方面,在第一方面的第一种可能的实现方式中,所述数据选择器的多个候选图层包括至少一个基本(base)层。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述数据选择器的多个候选图层包括前一个混合处理模块的输出结果。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述多个叠加输出端包括在线叠加输出端,所述在线叠加输出端与显示器连接。
结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述多个叠加输出端包括离线叠加输出端,所述离线叠加输出端与内存连接。
结合第一方面或第一方面的第一种至第四种中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述多个叠加输出端包括二次叠加输出端,所述二次叠加输出端与所述信道矩阵模块的一个输入端连接。
结合第一方面或第一方面的第一种至第五种中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述混合处理模块包括:
判断单元,用于判断所述混合处理模块的叠加方式是否属于覆盖叠加;
叠加单元,用于当所述判断单元判断出叠加方式属于正常叠加时,将由所述信道传输的图层与所述数据选择器选择的最底图层进行透明混合处理得到输出结果。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述叠加单元还用于当所述判断单元判断出叠加方式属于覆盖叠加时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述信道传输的图层与所述数据选择器选择的最底图层中的至少一个。
结合第一方面的第六种或第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述判断单元,还用于当判断出叠加方式属于非覆盖叠加时,判断叠加方式是否属于全局透明度叠加;
所述叠加单元,还用于当所述判断单元判断出叠加方式属于全局透明度叠加时,当全局透明度的值为0或1时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述信道传输的图层与所述数据选择器选择的最底图层中的至少一个;
所述叠加单元,还用于当全局透明度的值为非0且非1时,确定叠加方式属于正常叠加。
结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述判断单元,还用于当判断出叠加方式不属于全局透明度叠加时,判断由所述信道传输的图层是否和前一帧图像的相同位置的图层相同;
所述叠加单元,还用于当判断出由所述信道传输的图层和前一帧图像的相同位置的图层相同时,统计由所述信道传输的图层的多个像素透明度值,如果多个像素透明度值为全0或全1,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,此时所述被覆盖图层是由所述信道传输的图层;
所述叠加单元,还用于当判断出由所述信道传输的图层和前一帧图像的相同位置的图层不相同时、或当判断出由所述信道传输的图层和前一帧图像的相同位置的图层相同且所述多个像素透明度值为非全0且非全1时,确定叠加方式属于正常叠加。
第二方面,提供了一种叠加方法,所述方法包括:
将多个图层与多个信道进行匹配,并将所述多个图层输出至所述多个信道;
对应于每个信道,从多个候选图层中选择一个作为最底图层;
将由所述每个信道传输的图层与所述每个信道对应的最底图层分别进行透明混合处理得到输出结果;
将多个输出结果与多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。
结合第二方面,在第二方面的第一种可能的实现方式中,所述将由所述每个信道传输的图层与所述每个信道对应的最底图层分别进行透明混合处理得到输出结果,包括:
针对一个信道,判断叠加方式是否属于覆盖叠加;
当判断出叠加方式属于正常叠加时,将由所述一个信道传输的图层与所述一个信道对应的最底图层进行透明混合处理得到输出结果。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述方法还包括:
当判断出叠加方式属于覆盖叠加时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述一个信道传输的图层与所述一个信道对应的最底图层中的至少一个。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
当判断出叠加方式属于非覆盖叠加时,判断叠加方式是否属于全局透明度叠加;
当判断出叠加方式属于全局透明度叠加时,当全局透明度的值为0或1时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述一个信道传输的图层与所述一个信道对应的最底图层中的至少一个;
当全局透明度的值为非0且非1时,确定叠加方式属于正常叠加。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述方法还包括:
当判断出叠加方式不属于全局透明度叠加时,判断由所述一个信道传输的图层是否和前一帧图像的相同位置的图层相同;
当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同时,统计由所述一个信道传输的图层的多个像素透明度值,如果多个像素透明度值为全0或全1,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,此时所述被覆盖图层是由所述信道传输的图层;
当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层不相同时、或当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同且所述多个像素透明度值为非全0且非全1时,确定叠加方式属于正常叠加。
本发明实施例提供了一种叠加系统,所述叠加系统包括:信道矩阵模块、多个数据选择器、多个混合处理模块、输出匹配模块和多个叠加输出端;所述信道矩阵模块包括多个输入端和多个输出端,所述信道矩阵模块用于将来自所述多个输入端的多个图层与多个信道进行匹配,并通过所述多个输出端将所述多个图层输出至所述多个信道;每个数据选择器,用于从多个候选图层中选择一个作为最底图层;每个混合处理模块,与一个信道相连接并与一个数据选择器连接,用于将由所述信道传输的图层与所述数据选择器选择的最底图层进行透明混合处理得到输出结果;所述输出匹配模块,用于将所述多个混合处理模块的多个输出结果与所述多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。由上可见,本发明实施例的叠加系统通过信道矩阵模块和输出匹配模块的两次匹配,可以实现混合处理模块的复用,通过设置多个叠加输出端可以实现多个叠加模块,可以有效减小占用的芯片面积,降低成本和功耗。
附图说明
图1为本发明实施例一提供的叠加系统结构示意图;
图2为本发明实施例二提供的混合处理装置结构示意图;
图3为本发明实施例三提供的叠加方法流程图;
图4为本发明实施例四提供的混合处理方法流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例一提供的叠加系统结构示意图,所述叠加系统包括:信道矩阵(channel matrix)模块101、多个数据选择器102、多个混合处理(blend)模块103、输出匹配(MUX)模块104和多个叠加输出端105;
所述信道矩阵模块101包括多个输入端和多个输出端,所述信道矩阵模块101用于将来自所述多个输入端的多个图层与多个信道进行匹配,并通过所述多个输出端将所述多个图层输出至所述多个信道。信道矩阵模块101具体为一个数据选择器,参照图1,信道矩阵模块101有多个输入端和多个输出端,其中,输入端和输出端的数目相同,输入端用于接收图层数据,输出端用于连接信道,每个信道连接一个混合处理模块103,通过将图层与信道进行匹配,从而实现为混合处理模块103选择进行混合处理的图层。具体可以通过寄存器将图层配置给信道,例如,将图层SUR1配置给信道CH4,将图层SUR2配置给信道CH5。
本发明实施例一中,可以根据叠加处理的需要为信道矩阵模块101设置输入端和输出端的数目,例如,设置输入端和输出端的数目为8,即信道的数目为8,以便在满足大多数叠加场景需要的前提下,减小叠加系统占用的芯片面积,在下面对本发明实施例的说明中均以信道数目为8的情况为例进行说明,但不用于限定本发明。
此外,可以根据需要为信道矩阵模块101的输入端选择接收的图层数据的来源,具体地,图层数据的来源可以为内存,也可以为其中一个叠加输出端105。
每个数据选择器102,用于从多个候选图层中选择一个作为最底图层。
每个混合处理模块103,与一个信道相连接并与一个数据选择器102连接,用于将由所述信道传输的图层与所述数据选择器102选择的最底图层进行透明混合处理得到输出结果。
优选地,所述数据选择器102的多个候选图层可以包括至少一个基本base层,和/或,前一个混合处理模块103的输出结果。
混合处理模块103的数目与信道的数目相同,每个混合处理模块103连接一个信道,用于将所述信道矩阵模块101为所述信道匹配的图层与所述数据选择器102选择的最底图层进行透明混合处理得到输出结果。例如,Blend1连接CH1,当信道矩阵模块101为信道CH1匹配的图层为SUR2时,Blend1用于将SUR2与最底图层进行透明混合处理;Blend2连接CH2,当信道矩阵模块101为信道CH2匹配的图层为SUR3时,Blend2用于将SUR3与最底图层进行透明混合处理;……Blend8连接CH8,当信道矩阵模块101为信道CH8匹配的图层为SUR1时,Blend8用于将SUR1与最底图层进行透明混合处理。
所述输出匹配模块104,用于将所述多个混合处理模块103的多个输出结果与所述多个叠加输出端105进行匹配,以通过所述多个叠加输出端105中的至少一个输出所述多个输出结果中的一个或多个。例如,所述叠加输出端105的数目为3,以便利用该叠加系统可以灵活实现全在线叠加、全离线叠加、混合叠加和在线二次叠加。具体地,通过输出匹配模块104可以将8个混合处理模块103自由分配给3个叠加输出端105,例如,将Blend1、Blend2和Blend3分配给叠加输出端OVLY1_OUT,将Blend4、Blend5和Blend6分配给叠加输出端OVLY2_OUT,将Blend7和Blend8分配给叠加输出端OVLY3_OUT。通过信道矩阵模块101和输出匹配模块104的两次匹配可以实现混合处理模块103的复用,将图层配置给三个独立的叠加模块,并分别通过3个叠加输出端105。这里每个叠加模块是包括8个混合处理模块103中的一个或多个的,可以将所有进行同一类叠加操作的模块,如1个或多个混合处理模块103及相应数据选择器102视作一个独立的叠加模块,其实现的是一个完整的叠加功能。
本发明实施例中,可以为每个叠加模块分别设置最底(base)图层,例如,为OVLY1_OUT设置最底图层base1,其对应第一叠加模块。为OVLY2_OUT设置最底图层base2,其对应第二叠加模块。为OVLY3_OUT设置最底图层base3,其对应第三叠加模块。通过输出匹配模块104将8个混合处理模块103自由分配给3个叠加输出端后,再通过数据选择器102为每个混合处理模块103选择相应的最底图层,除了base1、base2或base3外,混合处理模块103接收的最底图层还可以包括其前一级混合处理模块103的混合处理后图层。
在本发明实施例所提供的叠加系统的一种具体的实施方式中,所述叠加输出端105包括在线叠加输出端,所述在线叠加输出端与显示器连接。这种实施方式可以用于实现全在线叠加,将所有输入图层全部分配给在线叠加模块并通过在线叠加输出端输出,所有输入均来自其他图像处理单元输出的图层(例如,解码、图像处理、图形处理器输出的图层),最大不超过8个输入,例如定义OVLY2为在线叠加模块,系统将全部混合处理模块103分配给OVLY2_OUT,因此全部混合处理模块103及相应数据选择器102属于在线叠加模块OVLY2,OVLY2_OUT直接输送给显示器进行显示。
在本发明实施例所提供的叠加系统的另一种具体的实施方式中,所述叠加输出端105包括离线叠加输出端,所述离线叠加输出端与内存连接。这种实施方式可以用于实现全离线叠加,将信道矩阵模块101的8个输入端中的所有输入端或部分输入端分配给离线叠加模块并通过离线叠加输出端输出叠加结果,由离线叠加模块对输入端获取的图层进行叠加,其输出送至内存,由显示通道读出进行显示。该离线叠加模块包括全部8个混合处理模块103及相应数据选择器102。
优选地,该叠加系统中所述叠加输出端105既包括在线叠加输出端,也包括离线叠加输出端。例如,当用于实现全离线叠加时,可以将信道矩阵模块101的8个输入端中的7个分配给离线叠加模块并通过离线叠加输出端输出叠加结果至内存,由离线叠加模块中包括的7个混合处理模块103对输入端获取的图层进行叠加。将信道矩阵模块101的8个输入端中的1个输入端分配给在线叠加模块并由在线叠加输出端输出叠加结果,该输入端可用于接收离线叠加输出端输出给内存的图层,通过在线叠加输出端连接的显示器进行显示。该在线叠加模块包括一个混合处理模块103及相应数据选择器102。
当该叠加系统中所述叠加输出端105既包括在线叠加输出端,也包括离线叠加输出端时,该叠加系统可以用于实现混合叠加,将其中一部分通道分配给离线叠加,将剩余的通道分配给在线叠加,离线叠加的输出的结果送至内存,由一个在线通道读取其结果和其他在线通道进行在线叠加后输出显示,该混合模式减少了内存的读写操作次数,避免了全离线叠加对内存反复进行读写,采用混合叠加方式在图层数量比较多的场景可以有效降低写内存的次数,可以有效降低系统负载和带宽。
在本发明实施例所提供的叠加系统的另一种具体的实施方式中,所述叠加输出端105包括二次叠加输出端,所述二次叠加输出端与所述信道矩阵模块101的输入端连接,即将部分输出的叠加结果反馈回信道矩阵模块101的输入端。这种实施方式可以用于实现在线二次叠加,其中一个叠加模块的叠加结果不通过一个叠加输出端105送至内存,直接通过该叠加输出端105反馈至信道矩阵模块101并进一步送至另一在线叠加模块进行进一步叠加,并将进一步叠加结果通过另一个叠加输出端105输出,该方式对缩放场景可以有效节省带宽。例如某三个图层要进行相同比例的缩放,可以将这三个图层先通过包括一个或多个混合处理模块103及相应数据选择器102的一个叠加模块进行一次叠加,然后送至缩放模块进行缩放,缩放输出的结果再反馈回信道矩阵模块101,以便通过另一个包括一个或多个混合处理模块103及相应数据选择器102的叠加模块进行二次叠加并输出给需要对接显示器的另一叠加输出端105。如果不进行这类在线二次叠加,则这三个图层需要先离线叠加,这样会增加对内存的写的次数,会增加耗费的系统带宽。本实施例有助于解决先做离线叠加造成的内存的写的次数增加和带宽消耗问题。
本发明实施例提供了一种叠加系统,所述叠加系统包括:信道矩阵模块、多个数据选择器、多个混合处理模块、输出匹配模块和多个叠加输出端;所述信道矩阵模块包括多个输入端和多个输出端,所述信道矩阵模块用于将来自所述多个输入端的多个图层与多个信道进行匹配,并通过所述多个输出端将所述多个图层输出至所述多个信道;每个数据选择器,用于从多个候选图层中选择一个作为最底图层;每个混合处理模块,与一个信道相连接并与一个数据选择器连接,用于将由所述信道传输的图层与所述数据选择器选择的最底图层进行透明混合处理得到输出结果;所述输出匹配模块,用于将所述多个混合处理模块的多个输出结果与所述多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。由上可见,本发明实施例的叠加系统通过信道矩阵模块和输出匹配模块的两次匹配,可以实现混合处理模块的复用,通过设置多个叠加输出端可以实现多个叠加模块,可以有效减小占用的芯片面积,降低成本和功耗。
为了便于理解混合处理模块103如何对图层进行叠加操作,图2为本发明实施例二提供的混合处理装置结构示意图,该装置可以设置于本发明实施例一提供的叠加系统中的混合处理模块103中,所述装置包括:
判断单元201,用于判断所述混合处理模块103的叠加方式是否属于覆盖叠加;
叠加单元202,用于当所述判断单元201判断出叠加方式属于正常叠加时,将由所述信道传输的图层与所述数据选择器102选择的最底图层进行透明混合处理得到输出结果。
优选地,所述叠加单元202还用于当所述判断单元201判断出叠加方式属于覆盖叠加时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述信道传输的图层与所述数据选择器102选择的最底图层中的至少一个。
优选地,所述判断单元201,还用于当判断出叠加方式属于非覆盖叠加时,判断叠加方式是否属于全局透明度叠加;
所述叠加单元202,还用于当所述判断单元201判断出叠加方式属于全局透明度叠加时,当全局透明度的值为0或1时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述信道传输的图层与所述数据选择器102选择的最底图层中的至少一个。0代表全局透明度为完全不透明,1代表全局透明度为完全透明。
所述叠加单元202,还用于当全局透明度的值为非0且非1时,确定叠加方式属于正常叠加。
优选地,所述判断单元201,还用于当判断出叠加方式不属于全局透明度叠加时,判断由所述信道传输的图层是否和前一帧图像的相同位置的图层相同;
所述叠加单元202,还用于当判断出由所述信道传输的图层和前一帧图像的相同位置的图层相同时,统计由所述信道传输的图层的多个像素透明度值,如果多个像素透明度值为全0或全1,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,此时所述被覆盖图层是由所述信道传输的图层。0代表像素完全不透明,1代表像素完全透明。
所述叠加单元202,还用于当判断出由所述信道传输的图层和前一帧图像的相同位置的图层不相同时、或当判断出由所述信道传输的图层和前一帧图像的相同位置的图层相同且所述多个像素透明度值为非全0且非全1时,确定叠加方式属于正常叠加。
图3为本发明实施例三提供的叠加方法流程图,该方法的执行主体为本发明实施例一提供的叠加系统,其结构可参见图1。该方法包括:
步骤301,将多个图层与多个信道进行匹配,并将所述多个图层输出至所述多个信道。
步骤302,对应于每个信道,从多个候选图层中选择一个作为最底图层。
步骤303,将由所述每个信道传输的图层与所述每个信道对应的最底图层分别进行透明混合处理得到输出结果。
步骤304,将多个输出结果与多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。
上述步骤303具体可以由混合处理模块103来执行,图4为本发明实施例四提供的混合处理方法流程图,该方法的执行主体为本发明实施例一提供的叠加系统中的混合处理模块103,其结构可参见图2。该方法包括:
步骤401,针对一个信道,判断叠加方式是否属于覆盖叠加。
其中,混合处理模块103可以根据混合处理模块103中的软件配置的叠加公式进行叠加方式判断。
通用叠加公式如下:
displayColor=sourceColor×alpha/255+backgroundColor×(255–alpha)/255
其中,sourceColor代表一个信道传输的图层的色调,backgroundColor代表该信道对应的最底图层的色调,alpha代表该信道传输的图层的透明度的255倍,其取值从0至255,displayColor代表叠加后图层的色调。
如果是覆盖叠加,则覆盖叠加公式为:
displayColor=sourceColor×255/255+backgroundColor×(255–255)/255
从公式可以看出,backgrondColor图层为被覆盖图层,可以完全不用读取,所以通过提前判断可以降低系统带宽。
步骤402,当判断出叠加方式属于正常叠加时,将由所述一个信道传输的图层与所述一个信道对应的最底图层进行透明混合处理得到输出结果。优选地,所述方法还包括:
步骤403,当判断出叠加方式属于覆盖叠加时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述一个信道传输的图层与所述一个信道对应的最底图层中的至少一个。内建图层也就是预先为该混合处理模块103设置的图层,其可以存储在混合处理模块103内部或外部的一个存储器中。
如果判断是属于覆盖叠加,混合处理模块103中的硬件走覆盖叠加分支,将被覆盖的图层直接覆盖,用全0图层(ARGB所有值全为0)取代被覆盖图层进行叠加。ARGB表示alpha、红色、绿色和蓝色。
步骤404,当判断出叠加方式属于非覆盖叠加时,判断叠加方式是否属于全局透明度叠加。
如果是非覆盖叠加,混合处理模块103可以进一步根据软件的配置的叠加公式进行叠加方式判断,判断叠加方式是属于全局透明度(global alpha)叠加,还是像素透明度(pixel alpha)叠加。
如果是全局透明度叠加方式,则公式演变为:
displayColor=sourceColor×(255-source_global_alpha/255+backgroundColor×(255–source_global_alpha)/255
其中,sourceColor代表一个信道传输的图层的色调,backgroundColor代表该信道对应的最底图层的色调,source_global_alpha代表该信道传输的图层的全局透明度的255倍,其取值从0至255,displayColor代表叠加后图层的色调。如果是像素透明度叠加方式,则公式演变为:
displayColor=sourceColor×(255-source_pixel_alpha/255+backgroundColor×(255–source_pixel_alpha)/255
其中,sourceColor代表一个信道传输的图层的像素的色调,backgroundColor代表该信道对应的最底图层的像素的色调,source_pixel_alpha代表该信道传输的图层的像素透明度的255倍,其取值从0至255,displayColor代表叠加后图层的像素的色调。
其中source_global_alpha为一个常量,可以由本领域技术人员来配置其具体数值,而source_pixel_alpha为一个变量,我们的图像格式中ARGB中的A分量即为该像素的pixel alpha,如何从图像格式中得到A分量是现有技术,此处不做描述。
步骤405,当判断出叠加方式属于全局透明度叠加时,当全局透明度的值为0或1时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述一个信道传输的图层与所述一个信道对应的最底图层中的至少一个;当全局透明度的值为非0且非1时,确定叠加方式属于正常叠加。
如果是全局透明度叠加,走全局透明度叠加流程,判断全局透明度的值是否为0或1,如果是,则根据叠加公式,混合处理模块103中的硬件自动覆盖(MASK)掉被覆盖的图层,用全0图层进行取代进行叠加。如果全局透明度的值为非0且非1,混合处理模块103通过其输入端读取图层并进行正常的叠加操作。
优选地,所述方法还包括:
步骤406,当判断出叠加方式不属于全局透明度叠加,即属于pixel alpha叠加时,判断由所述一个信道传输的图层是否和前一帧图像的相同位置的图层相同。
如果混合处理模块103中的硬件判断是pixel alpha叠加,混合处理模块103中的软件判断由所述一个信道传输的图层是否和前一帧图像的相同位置的图层相同,输出标志给硬件,硬件自动统计每一个图层的pixel alpha值,以便在判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同时,能够获取由所述一个信道传输的图层的pixel alpha值。
步骤407,当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同时,统计由所述一个信道传输的图层的多个像素透明度值,如果多个像素透明度值为全0或全1,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,此时所述被覆盖图层是由所述信道传输的图层。
如果pixel alpha的值为全0或全1,硬件根据叠加公式决定要mask当前图层的操作,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加。如像素透明度值为非全0且非全1,混合处理模块103通过其输入端读取图层并进行正常的叠加操作。
步骤408,当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层不相同时、或当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同且所述多个像素透明度值为非全0且非全1时,确定叠加方式属于正常叠加。
当确定叠加方式属于正常叠加时,混合处理模块103通过其输入端读取图层并进行正常的叠加操作。
通过以上混合处理方法,混合处理模块103可以根据不同叠加方式进行不同叠加操作,提高叠加处理的效率。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种叠加系统,其特征在于,所述叠加系统包括:信道矩阵模块、多个数据选择器、多个混合处理模块、输出匹配模块和多个叠加输出端;
所述信道矩阵模块包括多个输入端和多个输出端,所述信道矩阵模块用于将来自所述多个输入端的多个图层与多个信道进行匹配,并通过所述多个输出端将所述多个图层输出至所述多个信道;
每个数据选择器,用于从多个候选图层中选择一个作为最底图层;
每个混合处理模块,与一个信道相连接并与一个数据选择器连接,用于将由所述信道传输的图层与所述数据选择器选择的最底图层进行透明混合处理得到输出结果;
所述输出匹配模块,用于将所述多个混合处理模块的多个输出结果与所述多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。
2.如权利要求1所述的叠加系统,其特征在于,所述数据选择器的多个候选图层包括至少一个基本base层。
3.如权利要求1或2所述的叠加系统,其特征在于,所述数据选择器的多个候选图层包括前一个混合处理模块的输出结果。
4.如权利要求1至3中任一权利要求所述的叠加系统,其特征在于,所述多个叠加输出端包括在线叠加输出端,所述在线叠加输出端与显示器连接。
5.如权利要求1至4中任一权利要求所述的叠加系统,其特征在于,所述多个叠加输出端包括离线叠加输出端,所述离线叠加输出端与内存连接。
6.如权利要求1至5中任一权利要求所述的叠加系统,其特征在于,所述多个叠加输出端包括二次叠加输出端,所述二次叠加输出端与所述信道矩阵模块的一个输入端连接。
7.如权利要求1至6中任一权利要求所述的叠加系统,其特征在于,所述混合处理模块包括:
判断单元,用于判断所述混合处理模块的叠加方式是否属于覆盖叠加;
叠加单元,用于当所述判断单元判断出叠加方式属于正常叠加时,将由所述信道传输的图层与所述数据选择器选择的最底图层进行透明混合处理得到输出结果。
8.如权利要求7所述的叠加系统,其特征在于,所述叠加单元还用于当所述判断单元判断出叠加方式属于覆盖叠加时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述信道传输的图层与所述数据选择器选择的最底图层中的至少一个。
9.如权利要求7或8所述的叠加系统,其特征在于:
所述判断单元,还用于当判断出叠加方式属于非覆盖叠加时,判断叠加方式是否属于全局透明度叠加;
所述叠加单元,还用于当所述判断单元判断出叠加方式属于全局透明度叠加时,当全局透明度的值为0或1时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述信道传输的图层与所述数据选择器选择的最底图层中的至少一个;
所述叠加单元,还用于当全局透明度的值为非0且非1时,确定叠加方式属于正常叠加。
10.如权利要求9所述的叠加系统,其特征在于:
所述判断单元,还用于当判断出叠加方式不属于全局透明度叠加时,判断由所述信道传输的图层是否和前一帧图像的相同位置的图层相同;
所述叠加单元,还用于当判断出由所述信道传输的图层和前一帧图像的相同位置的图层相同时,统计由所述信道传输的图层的多个像素透明度值,如果多个像素透明度值为全0或全1,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,此时所述被覆盖图层是由所述信道传输的图层;
所述叠加单元,还用于当判断出由所述信道传输的图层和前一帧图像的相同位置的图层不相同时、或当判断出由所述信道传输的图层和前一帧图像的相同位置的图层相同且所述多个像素透明度值为非全0且非全1时,确定叠加方式属于正常叠加。
11.一种叠加方法,其特征在于,所述方法包括:
将多个图层与多个信道进行匹配,并将所述多个图层输出至所述多个信道;
对应于每个信道,从多个候选图层中选择一个作为最底图层;
将由所述每个信道传输的图层与所述每个信道对应的最底图层分别进行透明混合处理得到输出结果;
将多个输出结果与多个叠加输出端进行匹配,以通过所述多个叠加输出端中的至少一个输出所述多个输出结果中的一个或多个。
12.如权利要求11所述的叠加方法,其特征在于,所述将由所述每个信道传输的图层与所述每个信道对应的最底图层分别进行透明混合处理得到输出结果,包括:
针对一个信道,判断叠加方式是否属于覆盖叠加;
当判断出叠加方式属于正常叠加时,将由所述一个信道传输的图层与所述一个信道对应的最底图层进行透明混合处理得到输出结果。
13.如权利要求12所述的叠加方法,其特征在于,所述方法还包括:
当判断出叠加方式属于覆盖叠加时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述一个信道传输的图层与所述一个信道对应的最底图层中的至少一个。
14.如权利要求12或13所述的叠加方法,其特征在于,所述方法还包括:
当判断出叠加方式属于非覆盖叠加时,判断叠加方式是否属于全局透明度叠加;
当判断出叠加方式属于全局透明度叠加时,当全局透明度的值为0或1时,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,所述被覆盖图层为由所述一个信道传输的图层与所述一个信道对应的最底图层中的至少一个;
当全局透明度的值为非0且非1时,确定叠加方式属于正常叠加。
15.如权利要求14所述的叠加方法,其特征在于,所述方法还包括:
当判断出叠加方式不属于全局透明度叠加时,判断由所述一个信道传输的图层是否和前一帧图像的相同位置的图层相同;
当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同时,统计由所述一个信道传输的图层的多个像素透明度值,如果多个像素透明度值为全0或全1,不读取被覆盖图层,采用内建图层替代所述被覆盖图层进行叠加,此时所述被覆盖图层是由所述信道传输的图层;
当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层不相同时、或当判断出由所述一个信道传输的图层和前一帧图像的相同位置的图层相同且所述多个像素透明度值为非全0且非全1时,确定叠加方式属于正常叠加。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510140933.5A CN104731544B (zh) | 2015-03-27 | 2015-03-27 | 叠加系统和叠加方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510140933.5A CN104731544B (zh) | 2015-03-27 | 2015-03-27 | 叠加系统和叠加方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731544A true CN104731544A (zh) | 2015-06-24 |
CN104731544B CN104731544B (zh) | 2018-04-20 |
Family
ID=53455476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510140933.5A Active CN104731544B (zh) | 2015-03-27 | 2015-03-27 | 叠加系统和叠加方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731544B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108648249A (zh) * | 2018-05-09 | 2018-10-12 | 歌尔科技有限公司 | 一种图像渲染方法、装置及智能穿戴设备 |
WO2021036469A1 (zh) * | 2019-08-30 | 2021-03-04 | 南京中兴新软件有限责任公司 | 云化机顶盒透明度叠加方法、云化机顶盒及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499172A (zh) * | 2009-03-06 | 2009-08-05 | 深圳华为通信技术有限公司 | 控件绘制方法及装置 |
CN102005028A (zh) * | 2010-11-18 | 2011-04-06 | 福州瑞芯微电子有限公司 | 使用图像专用dma的图像处理系统 |
CN201853471U (zh) * | 2010-07-12 | 2011-06-01 | 北京景山创新通信技术有限公司 | 一种动态切换lcd刷新频率的装置 |
US20110310302A1 (en) * | 2010-06-17 | 2011-12-22 | Satoru Takeuchi | Image processing apparatus, image processing method, and program |
CN202217260U (zh) * | 2011-09-08 | 2012-05-09 | 福州瑞芯微电子有限公司 | 一种多屏幕显示控制器 |
CN102572304A (zh) * | 2011-12-13 | 2012-07-11 | 广东威创视讯科技股份有限公司 | 一种图像叠加处理方法及装置 |
-
2015
- 2015-03-27 CN CN201510140933.5A patent/CN104731544B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499172A (zh) * | 2009-03-06 | 2009-08-05 | 深圳华为通信技术有限公司 | 控件绘制方法及装置 |
US20110310302A1 (en) * | 2010-06-17 | 2011-12-22 | Satoru Takeuchi | Image processing apparatus, image processing method, and program |
CN201853471U (zh) * | 2010-07-12 | 2011-06-01 | 北京景山创新通信技术有限公司 | 一种动态切换lcd刷新频率的装置 |
CN102005028A (zh) * | 2010-11-18 | 2011-04-06 | 福州瑞芯微电子有限公司 | 使用图像专用dma的图像处理系统 |
CN202217260U (zh) * | 2011-09-08 | 2012-05-09 | 福州瑞芯微电子有限公司 | 一种多屏幕显示控制器 |
CN102572304A (zh) * | 2011-12-13 | 2012-07-11 | 广东威创视讯科技股份有限公司 | 一种图像叠加处理方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108648249A (zh) * | 2018-05-09 | 2018-10-12 | 歌尔科技有限公司 | 一种图像渲染方法、装置及智能穿戴设备 |
CN108648249B (zh) * | 2018-05-09 | 2022-03-29 | 歌尔科技有限公司 | 一种图像渲染方法、装置及智能穿戴设备 |
WO2021036469A1 (zh) * | 2019-08-30 | 2021-03-04 | 南京中兴新软件有限责任公司 | 云化机顶盒透明度叠加方法、云化机顶盒及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104731544B (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202217260U (zh) | 一种多屏幕显示控制器 | |
CN104361556A (zh) | 一种图像合成方法和图像芯片以及图像设备 | |
CN102902499B (zh) | 存储设备的分区显示方法和装置 | |
CN102023843B (zh) | 函数的调用方法、装置及智能卡 | |
CN106909333B (zh) | 显示屏的配屏方法及装置 | |
CN101963895B (zh) | 一种边缘融合处理器、系统及叠加方法 | |
US8421816B1 (en) | Selection of colors | |
CN109785410A (zh) | 一种图层合并方法、装置及相关组件 | |
CN104731544A (zh) | 叠加系统和叠加方法 | |
CN104077091A (zh) | 一种显示处理方法和电子设备 | |
US9406276B2 (en) | Systems and methods for combining images into a file using multiple color palettes | |
CN107133909A (zh) | 一种着色器重组的方法及装置 | |
CN102934064B (zh) | 一种主题显示方法以及相关装置 | |
CN102293011A (zh) | 操作终端、操作终端的画面显示方法 | |
CN107301220A (zh) | 数据驱动视图的方法、装置、设备及存储介质 | |
JPH07168752A (ja) | ディスプレイメモリ構成体 | |
CN104035665B (zh) | 一种对桌面图标进行色彩处理的方法和装置 | |
CN104821154B (zh) | 数据传输的控制系统、方法、芯片阵列及显示器 | |
CN206877987U (zh) | 集成电路 | |
CN112256163B (zh) | 拼接式显示屏配屏方法、装置和系统 | |
CN113141474B (zh) | 视频处理方法、装置和系统 | |
KR20050118224A (ko) | 프로세싱 시스템 및 집적 회로 | |
CN105513000B (zh) | 一种图像处理的方法和装置 | |
US7903124B2 (en) | Individual channel filtering of palettized image formats | |
US20080226180A1 (en) | Method and apparatus for buffering output pixel data of a joint photographic experts group image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |