CN107682730B - 图层叠加处理方法、图层叠加处理装置和视频处理器 - Google Patents
图层叠加处理方法、图层叠加处理装置和视频处理器 Download PDFInfo
- Publication number
- CN107682730B CN107682730B CN201710838359.XA CN201710838359A CN107682730B CN 107682730 B CN107682730 B CN 107682730B CN 201710838359 A CN201710838359 A CN 201710838359A CN 107682730 B CN107682730 B CN 107682730B
- Authority
- CN
- China
- Prior art keywords
- layer
- superposition
- cache
- image data
- processing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明实施例公开了一种图层叠加处理方法、一种图层叠加处理装置和一种视频处理器,该图层叠加处理方法包括:根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存;切换第二缓存作为叠加缓存、并切换所述第一缓存连通输出接口;以及根据所述图层参数表中所述多个待叠加图层的优先级对所述多个待叠加图层的对应第二输出部分的图像数据进行逐层叠加处理、并将对应所述第二输出部分的图像数据的逐层叠加处理结果数据写入作为叠加缓存的所述第二缓存。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种图层叠加处理方法、一种图层叠加处理装置和一种视频处理器。
背景技术
图层数目是衡量视频处理器的一项重要指标,数目众多的图层叠加能力、绚丽的图层效果均能够很大程度上提升产品竞争力。因此如何提升图层叠加处理能力是目前研究的热点。
在相关技术中,当需要通过一个接口显示多个图层的叠加效果时,以四个图层的叠加方法为例,其需要四个处理缓存,分别用于存储四个独立的图层处理单元(例如Scaler)处理后的图像数据,这四个处理缓存的大小根据实际情况设置。为保证图像数据叠加时不出现位置的偏差,四个处理缓存的数据需要在同一个时序产生单元的驱动下,根据每个图层的位置严格同步地读出。
叠加时,分步骤两两图层分别叠加。首先将优先级最低及次低的两个图层的图像数据在第一阿尔法叠加单元中进行叠加,得到叠加结果数据。之后叠加结果数据再和优先级第三低图层的图像数据在第二阿尔法叠加单元中进行叠加,但为了保证处理时的数据同步,优先级第三低图层的图像数据需要经由延迟单元延迟后再进入第二阿尔法叠加单元与第一次叠加的结果进行再次叠加,否则会出现图层位置不对的情况。最后一个图层的图像数据的处理方式与前述图层的处理方法一致,其也需要经由延迟单元延迟后与第二次叠加的结果同步进入第三阿尔法叠加单元中,进行最终的叠加。
通过以上叠加处理方式,最终实现了四个图层的透明叠加处理。可以看到,当叠加的图层更多时,需要更多的阿尔法叠加单元,且不同优先级的图层所需延迟的时间不一样,优先级高的图层,其所需延迟的时间更长,否则会出现图层位置不对的情况;由此可见,其导致系统图层叠加处理能力有限。
发明内容
本发明的实施例提供一种图层叠加处理方法、一种图层叠加处理装置和一种视频处理器,以实现提升系统图层叠加处理能力的技术效果。
一方面,提供了一种图层叠加处理方法,包括:根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存;切换第二缓存作为叠加缓存、并切换所述第一缓存连通输出接口;根据所述图层参数表中所述多个待叠加图层的优先级对所述多个待叠加图层的对应第二输出部分的图像数据进行逐层叠加处理、并将对应所述第二输出部分的图像数据的逐层叠加处理结果数据写入作为叠加缓存的所述第二缓存。
在本发明的一个实施例中,所述第一输出部分和所述第二输出部分为相邻的两个图像数据输出行。
在本发明的一个实施例中,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:根据所述图层参数表中所述多个待叠加图层的优先级从高到低逐个判断所述多个待叠加图层是否具有对应所述第一输出部分的图像数据;以及获取所述多个待叠加图层中判断结果为“是”的待叠加图层的对应所述第一输出部分的图像数据进行逐层叠加处理。
在本发明的一个实施例中,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:从缓存中读取出本次逐层叠加处理优先级最高的第一待叠加图层的对应所述第一输出部分的图像数据;将所述第一待叠加图层的对应所述第一输出部分的图像数据和前景数据进行阿尔法叠加,得到第一叠加处理结果数据写入作为叠加缓存的所述第一缓存,其中所述前景数据为0;从缓存中读取第二待叠加图层的对应第一输出部分的图像数据,并与从所述第一缓存中读取出来的所述第一叠加处理结果数据进行阿尔法叠加,得到第二叠加处理结果数据写入作为叠加缓存的所述第一缓存,其中所述第二待叠加图层的优先级低于所述第一待叠加图层的优先级。
在本发明的一个实施例中,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:从缓存中读取出目标待叠加图层的对应所述第一输出部分的第一图像数据,并同步从另一缓存中读取出对应所述目标待叠加图层的所述第一图像数据的逐像素点叠加系数数据;基于所述逐像素点叠加系数数据,对所述目标待叠加图层的所述第一图像数据和从作为叠加缓存的所述第一缓存读取出来的叠加处理结果数据进行阿尔法叠加处理。
在本发明的一个实施例中,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:获取目标待叠加图层的对应所述第一输出部分的图像数据,其中所述目标待叠加图层为纯色图像、且所述目标待叠加图层的对应所述第一输出部分的图像数据为直接用参数指定的颜色数据;对所述目标待叠加图层的对应所述第一输出部分的图像数据和从作为叠加缓存的所述第一缓存读取出来的叠加处理结果数据进行阿尔法叠加处理、并将新的叠加处理结果数据写入作为叠加缓存的所述第一缓存。
在本发明的一个实施例中,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:获取目标待叠加图层的对应所述第一输出部分的第一图像数据,其中所述目标待叠加图层为纯色图像、且所述目标待叠加图层的所述第一图像数据为直接用参数指定的颜色数据;生成对应目标待叠加图层的所述第一图像数据的逐像素点叠加系数数据,其中所述逐像素点叠加系数数据的分布为:所述目标待叠加图层的中心区域的逐像素点叠加系数为1、且所述目标待叠加图层的边缘区域的逐像素点叠加系数沿远离所述中心区域的方向逐渐减小至0;基于生成的所述逐像素点叠加系数数据,对所述目标待叠加图层的所述第一图像数据和从作为叠加缓存的所述第一缓存读取出来的叠加处理结果数据进行阿尔法叠加处理、并将新的叠加处理结果数据写入作为叠加缓存的所述第一缓存。
在本发明的一个实施例中,所述图层叠加处理方法,在根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存之前,还包括:检测参数更新请求;当检测到有参数更新请求后,将第一内存中的图层参数读取出来写入第二内存,以更新所述图层参数表。
在本发明的一个实施例中,所述图层叠加处理方法,在根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存之前,还包括:对所述图层参数表中的所述多个待叠加图层按照优先级高低进行排序,生成排序后图层索引表写入第三内存。
再一方面,提供一种视频处理器,包括微控制器和连接所述微控制器的可编程逻辑器件,所述可编程逻辑器件用于执行前述任意一种图层叠加处理方法。
另一方面,提供一种图层叠加处理装置,包括:第一多路选择单元;多个处理缓存,连接所述第一多路选择单元的输入端、且用于缓存多个待叠加图层的图像数据;图层参数表,用于存储所述多个待叠加图层的参数;状态机,连接所述第一多路选择单元的选择控制端和所述图层参数表;叠加处理单元,连接所述第一多路选择单元的输出端和所述状态机,用于在所述状态机的调度下按照所述图层参数表中所述多个待叠加图层的优先级经由所述第一多路选择单元从所述多个处理缓存中获取所述多个待叠加图层的对应目标输出部分的图像数据、进行逐层叠加处理;第二多路选择单元,其输出端连接输出接口、且其选择控制端连接所述状态机;第一叠加缓存,连接所述第二多路选择单元的一输入端和所述叠加处理单元;第二叠加缓存,连接所述第二多路选择单元的另一输入端和所述叠加处理单元;时序产生单元,连接所述叠加处理单元、所述第一叠加缓存和所述第二叠加缓存;其中,所述第一叠加缓存和所述第二叠加缓存中之一者连通所述叠加处理单元以缓存逐层叠加处理结果数据时,另一者通过所述第二多路选择单元连通所述输出接口。
在本发明的一个实施例中,所述图层叠加处理装置还包括:叠加系数缓存,连接所述叠加处理单元、且用于缓存目标待叠加图层的逐像素点叠加系数。
在本发明的一个实施例中,所述目标输出部分为图像数据输出目标行。
在本发明的一个实施例中,所述叠加处理单元包括:逐像素点叠加系数生成子单元,用于生成目标待叠加图层的逐像素点叠加系数数据。
在本发明的一个实施例中,所述叠加处理单元包括:叠加系数计算子单元,用于计算目标待叠加图层的逐像素点叠加系数和全局叠加系数的乘积。
上述技术方案可以具有如下一个或多个优点:多个待叠加图层经由状态机控制经由第一多路选择单元按照优先级高低顺序送入作为处理核的叠加处理单元并结合第一缓存和第二缓存交替对接叠加处理单元,其可以实现逐层叠加处理,因此根据不同的图层数目,只需要增加相应的处理缓存并修改第一多路选择单元逻辑即可,从而增强了系统的叠加处理能力和适用范围;再者,所需延迟固定,减少了因延迟造成的时序对齐问题;此外在增加纯色图层、阴影等特征的时候,并不需要增加额外的资源,提高了系统的可扩展性和竞争力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A、1B及1C为本发明实施例的一种图层叠加处理装置的不同实施方式的结构框图。
图2为本发明实施例的一种图层叠加处理流程。
图3为本发明实施例的一种四个图层叠加的效果示意图。
图4为本发明实施例的一种视频处理器的架构示意图。
图5为本发明实施例的一种图层叠加处理方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1A-1C,其为本发明实施例的一种图层叠加处理装置的不同实施方式的结构框图。本发明实施例提出的一种图层叠加处理装置20,不仅能够实现普通的多图层间的透明叠加,还能够实现诸如边框、阴影等多种图层效果,并且支持图层的逐像素点(PerPixel)阿尔法叠加功能,以实现异形窗口等特殊的造型。
具体地,如图1A所示,本实施例的图层叠加处理装置20包括:多个处理缓存21、多路选择单元(MUX)23、图层参数表24、状态机25、叠加处理单元26、时序产生单元27、叠加缓存28a、叠加缓存28b和多路选择单元29。此外,如图1B所示,图层叠加处理装置20还可以包括叠加系数缓存22,相应的叠加处理单元26包括叠加系数计算子单元261;或者如图1C所示,图层叠加处理装置20的叠加处理单元26包括叠加系数计算子单元261和逐像素点叠加系数生成子单元263。
其中,多个处理缓存21连接多路选择单元23的输入端,分别用来缓存多个图层的图像数据,其例如是经由前端图像缩放单元(Scaler)处理后的结果数据。叠加系数缓存22连接叠加处理单元26,用于存储从DDR(也即一种动态随机存储器)请求出来的逐像素点叠加系数数据。图层参数表24用于存储多个图层的开关状态(也即表示某图层是否参与叠加处理)、叠加位置(也即图层在叠加时的目标起始位置)、大小等属性参数。状态机25是实现叠加处理过程的调度状态机,其连接多路选择单元23的选择控制端、叠加处理单元26及多路选择单元29的选择控制端。叠加处理单元26用于实现相关图层的叠加运算,其连接多路选择单元23的输出端、叠加缓存28a和叠加缓存28b。时序产生单元27用于产生输出和内部处理所需要的各种时序信号,其例如连接叠加处理单元26、叠加缓存28a和叠加缓存28b。叠加缓存28a、28b连接多路选择单元29的输入端,其例如用于交替缓存叠加处理结果数据(典型地包括图像数据和叠加系数数据)以及交替输出叠加处理结果数据。多路选择单元29的输出端连接输出接口。具体而言,叠加缓存28a和叠加缓存28b中之一者连通叠加处理单元26以缓存逐层叠加处理结果数据时,另一者通过多路选择单元29连通所述输出接口。
承上述,叠加处理单元26在状态机25的调度下,按照图层参数表24中图层的优先级经由多路选择单元23从各个处理缓存21中获取待叠加图层的图像数据,并与从叠加缓存28a或28b中读取出来的已经叠加好的图像数据和其对应的叠加系数数据,进行再次叠加。通过这种逐层叠加的方式,最终实现多个图层例如十六个图层的逐层叠加。叠加后的结果,通过状态机25对多路选择单元29的控制下并结合时序产生单元27对叠加缓存28a、28b的驱动作用,逐行从叠加缓存28a、28b交替读出显示。
如果某个图层支持逐像素点叠加,则叠加的时候,也要从叠加系数缓存22(参见图1B)里面读取该图层对应的逐像素点叠加系数数据,并将其用于图层叠加,这样就可以实现逐像素点透明叠加;在此情形下,叠加处理单元26则需要用到叠加系数计算子单元261,以计算该图层的逐像素点叠加系数和全局叠加系数的乘积。
图1A-1C所示图层叠加处理装置20,其采用了一个叠加处理单元26作为处理核,就能够实现多个图层的叠加处理工作。如果需要增加叠加的图层数目,则只需要增加相应的处理缓存,并在图层参数表24中添加相应的图层参数即可。状态机25会遍历参数表24中所有的图层参数,并根据图层的开关状态逐层叠加处理。相比现有技术中的叠加方案,所采用的图层叠加处理装置的内部元件规模降低了,修改的难度也降低了。
其次,在图1A-1C所示图像叠加处理装置20中,整个装置的延迟相对固定,不需要根据图层的数目调整延迟长度,提高了内部元件的通用程度。
再次,在图1B-1C所示图像叠加处理装置20中,还能够实现图层的逐像素点Alpha叠加功能,通过这个功能,能够实现各种异形造型,提高了系统的演示效果,增加了功能的丰富程度。
为便于更清楚地理解图1A-1C所示的图层叠加处理装置20的工作原理,下面也以四个图层的叠加方式为例进行说明。其中,图2示出图层叠加处理流程,图3为四个图层叠加的效果示意图,图4为进行图层叠加所采用的视频处理器架构示意图。
如图2所示,VS为场同步信号,DE为数据使能信号。在图层叠加前,各图层的参数由微控制器例如MCU先写到可编程逻辑器件例如FPGA的内存RAM0中,然后再发起一个参数更新请求。FPGA在每帧的开始时,先检测是否存在来自MCU的参数更新请求,如果存在,则将RAM0的图层参数读取出来并写入到自己的内存RAM1中,也即复制图层参数至图层参数表24,完成图层参数的更新。参数更新完成后,即可开始正常的叠加处理流程。每次叠加之前,首先要按照图层参数表24中的各个图层的优先级,对内存RAM1中的图层参数表24的内容进行排序,也即优先级排序;具体的优先级排序可以是按照图层参数中的z值大小进行,例如z值越小优先级越高,之后把对应地址写入内存RAM2中的排序后图层索引表。排序完成后开始进行图层的叠加处理,叠加处理是按行进行的,也即进行逐行图层叠加。
以各个待叠加图层的对应图像输出第一行的图像数据的逐层叠加处理为例,FPGA先从内存RAM1中读取优先级最高的图层的参数,并判断该图层是否在输出时序的第一行上;如果否,则继续判断优先级次高的图层是否在输出时序的第一行上,直至判断结果为是,以得到本次逐层叠加处理的最高优先级图层;反之,如果是,则开始从相对应的处理缓存21中读取需要的行图像数据CurData。读取的行图像数据CurData送入叠加处理单元26中,根据图层参数中设定的全局叠加系数(Alpha系数)CurAlpha与前景数据OldData(优先级最高的图层的前景数据为0,其例如叠加缓存28a中的上电初始化后数据)进行阿尔法叠加。叠加的公式如下:
NewData=CurData*CurAlpha*(1-OldAlpha)+OldData…公式1)
NewAlpha=CurAlpha*(1-OldAlpha)+OldAlpha…(公式2)
当开始计算第一层时,OldData和OldAlpha均为0,叠加处理完成的结果数据NewData、NewAlpha写入叠加缓存28a中,这样本次逐层叠加处理中优先级最高的图层的对应图像输出第一行的图像数据叠加处理就完成了。
第一图层(例如图层2)的对应图像输出第一行的图像数据的叠加处理完成后,开始进行第二图层(例如图层0)的对应图像输出第一行的图像数据的叠加处理,叠加处理的方法与前面的基本一致,区别在于在从相对应的处理缓存21中读取第二图层的对应图像输出第一行的图像数据作为CurData时,还需要将刚才写入叠加缓存28a中的前述叠加处理结果数据NewData、NewAlpha读取出来分别作为当前叠加处理的OldData、OldAlpha,对齐后送入叠加处理单元26再进行一次叠加处理。叠加处理完成的结果,仍然写回刚才的叠加缓存28a。
图层1及图层3的对应图像输出第一行的图像数据的叠加方法与前述图层0的对应图像输出第一行的图像数据的叠加方式一致,最终等到全部待叠加图层的对应图像输出第一行的图像数据叠加处理完成后,对应图像输出第一行的图像数据的处理完成。此时进行叠加缓存28a、28b切换,也即将与叠加处理单元26对接的叠加缓存28a替换成叠加缓存28b,叠加缓存28a经由状态机25切换至连通多路选择单元29的输出,以供读出显示叠加处理完成的对应图像输出第一行的图像数据。切换完成后,继续开始对应图像输出第二行的图像数据的叠加处理。值得一提的是,此处为方便说明,其是假定图层0-3均具有对应图像输出第一行的图像数据;可以理解的是,在实际应用中,部分图层也许并没有对应图像输出第一行的图像数据。至于判断某个图层是否具有对应图像输出目标行的图像数据,则可以根据该图层在图层参数表24中的叠加位置参数所表征的叠加起始位置是否包含该目标行号来确定。
后面对应图像输出其他行的图像数据的叠加流程与对应图像输出第一行的图像数据完全一致。通过这样的方法,就可以实现多个图层的逐层叠加,例如四个图层的叠加,叠加效果如图3所示。
当某个图层支持AlphaMap(对应逐像素点叠加)时,只需要在状态机25的控制下,从FPGA的外部存储器例如DDR中提前读取该图层的每一行图像数据的逐像素点叠加系数数据到叠加系数缓存22中,叠加时读取图层的行图像数据的时候,同时读取叠加系数缓存22中的逐像素点叠加系数数据,一同送入叠加处理单元26中进行处理即可。此时公式2中的CurAlpha满足公式4:
CurAlpha=PerPixelAlpha*GlblAlpha…(公式3)
其中,PerPixelAlpha为读取自叠加系数缓存22中的逐像素点叠加系数,GlblAlpha为该图层的全局叠加系数,公式3中的计算过程由叠加处理单元26中的叠加系数计算子单元261来执行。
当某个图层为纯色图层例如边框(Border)时,处理流程类似,只不过此时不需要从处理缓存21中读取新的数据,而是直接用参数指定的颜色数据替代CurData即可,处理完成的图像数据,仍然写入叠加缓存28a或28b中,等待下一个图层的叠加使用。
阴影(Shadow)的生成与纯色图层叠加类似,只不过阴影的边缘呈现出逐渐模糊的趋势。这种效果只需要在叠加处理单元26中增加该图层的PerPixelAlpha生成功能即可,也即需要用到图1C所示的逐像素点叠加系数生成子单元263和叠加系数计算子单元261。生成的PerPixelAlpha的分布规律为:在图层中心区域为1,在图层边缘区域沿远离中心区域的方向逐渐减小至0。通过这种方式,就可以实现类似边缘模糊的效果。
通过以上方式,就完成了多个例如四个图层的叠加。当叠加的图层数目需要增加时,仅仅需要增加处理缓存21、修改多路选择单元(Mux)23的规模并由MCU多发送所增加的图层的参数即可。其他的处理流程完全一致,不需要额外的修改。
另外,值得一提的是,图4所示视频处理器中的微控制器例如MCU需要做到按帧处理所有图层的参数,有一帧时间处理;MCU只访问RAM0中的图层参数;可编程逻辑器件例如FPGA在每帧开始时根据参数更新请求拷贝RAM0中的图层参数至RAM1中的图层参数表24并对图层优先级进行排序得到排序后图层索引表保存至RAM2;当然在其他实施例中,图层优先级排序可以在MCU中完成以简化FPGA硬件设计。再者,如果待叠加图层是纯色,可以不消耗DDR带宽,而直接用参数指定的颜色数据作为待叠加图层的图像数据。
综上所述,本发明前述实施例中所描述的图层叠加实现方式,可以具备以下一个或多个优点:
i)增强了适用性:根据不同的图层数目,只需要增加相应的处理缓存21,并修改多路选择单元23逻辑即可,其他地方保持不动,从而增强了系统适用范围;
ii)延迟固定:相比相关技术中的图层叠加方式会随着图层数目的增加而导致延迟需要增加的问题,本发明实施例的叠加处理方式,图层叠加部分每次均比输出的时序提前一行进行,延迟固定,减少了因延迟造成的时序对齐问题;
iii)图层效果丰富:本发明实施例的叠加处理方式,在增加纯色图层、阴影(Shadow)等特征的时候,并不需要增加额外的资源,提高了系统的可扩展性和竞争力。
此外,值得说明的是,在前述实施例中,各个图层的叠加是逐行进行的,但本发明并不以此为限,也可以多行、逐列、甚至是逐帧进行;而且此处值得一提的是【行】和【列】为可互换概念。
最后,由前述实施例的描述可知,本发明实施例提出的一种图层叠加处理方法,可包括如图5所示的步骤:
S51:根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分(例如前一个图像输出行)的图像数据进行逐层叠加处理、并将对应所述第一输出部分的图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存(例如叠加缓存28a);
S53:切换第二缓存(例如叠加缓存28b)作为叠加缓存、并切换所述第一缓存连通输出接口;
S55:根据所述图层参数表中所述多个待叠加图层的优先级对所述多个待叠加图层的对应第二输出部分(例如后一个图像输出行)的图像数据进行逐层叠加处理、并将对应所述第二输出部分的图像数据的逐层叠加处理结果数据写入作为叠加缓存的所述第二缓存。
其中,各个步骤S51、S53和S55的具体细节可参考前述实施例的相关说明,在此不再赘述。
进一步地,在步骤S51之前,还可以包括步骤:检测参数更新请求;以及当检测到有参数更新请求后,将第一内存(例如图4所示的RAM0)中的图层参数读取出来写入第二内存(例如图4所示的RAM1),以更新所述图层参数表。此外,在步骤S51之前,还可以包括步骤:对所述图层参数表中的所述多个待叠加图层按照优先级高低进行排序,生成排序后图层索引表写入第三内存(例如图4所示的RAM2)。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和/或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)的一个或多个处理器执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种图层叠加处理方法,其特征在于,包括:
根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存;
切换第二缓存作为叠加缓存、并切换所述第一缓存连通输出接口;
根据所述图层参数表中所述多个待叠加图层的优先级对所述多个待叠加图层的对应第二输出部分的图像数据进行逐层叠加处理、并将对应所述第二输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的所述第二缓存。
2.如权利要求1所述的图层叠加处理方法,其特征在于,所述第一输出部分和所述第二输出部分为相邻的两个图像数据输出行。
3.如权利要求1所述的图层叠加处理方法,其特征在于,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:
根据所述图层参数表中所述多个待叠加图层的优先级从高到低逐个判断所述多个待叠加图层是否具有对应所述第一输出部分的图像数据;
获取所述多个待叠加图层中判断结果为“是”的待叠加图层的对应所述第一输出部分的图像数据进行逐层叠加处理。
4.如权利要求1所述的图层叠加处理方法,其特征在于,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:
从缓存中读取出优先级最高的第一待叠加图层的对应所述第一输出部分的图像数据;
将所述第一待叠加图层的对应所述第一输出部分的图像数据和前景数据进行阿尔法叠加,得到第一叠加处理结果数据写入作为叠加缓存的所述第一缓存,其中所述前景数据为0;
从缓存中读取第二待叠加图层的对应所述第一输出部分的图像数据,并与从所述第一缓存中读取出来的所述第一叠加处理结果数据进行阿尔法叠加,得到第二叠加处理结果数据写入作为叠加缓存的所述第一缓存,其中所述第二待叠加图层的优先级低于所述第一待叠加图层的优先级。
5.如权利要求1所述的图层叠加处理方法,其特征在于,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:
从缓存中读取出目标待叠加图层的对应所述第一输出部分的第一图像数据,并同步从另一缓存中读取出对应所述目标待叠加图层的所述第一图像数据的逐像素点叠加系数数据;
基于所述逐像素点叠加系数数据,对所述目标待叠加图层的所述第一图像数据和从作为叠加缓存的所述第一缓存读取出来的叠加处理结果数据进行阿尔法叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存。
6.如权利要求1所述的图层叠加处理方法,其特征在于,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:
获取目标待叠加图层的对应所述第一输出部分的图像数据,其中所述目标待叠加图层为纯色图像、且所述目标待叠加图层的对应所述第一输出部分的图像数据为直接用参数指定的颜色数据;
对所述目标待叠加图层的对应所述第一输出部分的图像数据和从作为叠加缓存的所述第一缓存读取出来的叠加处理结果数据进行阿尔法叠加处理、并将新的叠加处理结果数据写入作为叠加缓存的所述第一缓存。
7.如权利要求1所述的图层叠加处理方法,其特征在于,所述根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存包括:
获取目标待叠加图层的对应所述第一输出部分的第一图像数据,其中所述目标待叠加图层为纯色图像、且所述目标待叠加图层的所述第一图像数据为直接用参数指定的颜色数据;
生成对应目标待叠加图层的所述第一图像数据的逐像素点叠加系数数据,其中所述逐像素点叠加系数数据的分布为:所述目标待叠加图层的中心区域的逐像素点叠加系数为1、且所述目标待叠加图层的边缘区域的逐像素点叠加系数沿远离所述中心区域的方向逐渐减小至0;
基于生成的所述逐像素点叠加系数数据,对所述目标待叠加图层的所述第一图像数据和从作为叠加缓存的所述第一缓存读取出来的叠加处理结果数据进行阿尔法叠加处理、并将新的叠加处理结果数据写入作为叠加缓存的所述第一缓存。
8.如权利要求1所述的图层叠加处理方法,其特征在于,在根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存之前,还包括:
检测参数更新请求;
当检测到有参数更新请求后,将第一内存中的图层参数读取出来写入第二内存,以更新所述图层参数表。
9.根据权利要求1所述的图层叠加处理方法,其特征在于,在根据图层参数表中多个待叠加图层的优先级对所述多个待叠加图层的对应第一输出部分的图像数据进行逐层叠加处理、并将对应所述第一输出部分的所述图像数据的逐层叠加处理结果数据写入作为叠加缓存的第一缓存之前,还包括:
对所述图层参数表中的所述多个待叠加图层按照优先级高低进行排序,生成排序后图层索引表写入第三内存。
10.一种视频处理器,包括微控制器和连接所述微控制器的可编程逻辑器件,所述可编程逻辑器件用于执行如权利要求1至9任意一项所述的图层叠加处理方法。
11.一种图层叠加处理装置,其特征在于,包括:
第一多路选择单元;
多个处理缓存,连接所述第一多路选择单元的输入端、且用于缓存多个待叠加图层的图像数据;
图层参数表,用于存储所述多个待叠加图层的参数;
状态机,连接所述第一多路选择单元的选择控制端和所述图层参数表;
叠加处理单元,连接所述第一多路选择单元的输出端和所述状态机,用于在所述状态机的调度下按照所述图层参数表中所述多个待叠加图层的优先级经由所述第一多路选择单元从所述多个处理缓存中获取所述多个待叠加图层的对应目标输出部分的图像数据、进行逐层叠加处理;
第二多路选择单元,其输出端连接输出接口、且其选择控制端连接所述状态机;
第一叠加缓存,连接所述第二多路选择单元的一输入端和所述叠加处理单元;
第二叠加缓存,连接所述第二多路选择单元的另一输入端和所述叠加处理单元;
时序产生单元,连接所述叠加处理单元、所述第一叠加缓存和所述第二叠加缓存;
其中,所述第一叠加缓存和所述第二叠加缓存中之一者连通所述叠加处理单元以缓存逐层叠加处理结果数据时,另一者通过所述第二多路选择单元连通所述输出接口。
12.如权利要求11所述的图层叠加处理装置,其特征在于,还包括:
叠加系数缓存,连接所述叠加处理单元、且用于缓存目标待叠加图层的逐像素点叠加系数。
13.如权利要求11所述的图层叠加处理装置,其特征在于,所述目标输出部分为图像数据输出目标行。
14.如权利要求11所述的图层叠加处理装置,其特征在于,所述叠加处理单元包括:
逐像素点叠加系数生成子单元,用于生成目标待叠加图层的逐像素点叠加系数数据。
15.如权利要求11所述的图层叠加处理装置,其特征在于,所述叠加处理单元包括:
叠加系数计算子单元,用于计算目标待叠加图层的逐像素点叠加系数和全局叠加系数的乘积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710838359.XA CN107682730B (zh) | 2017-09-18 | 2017-09-18 | 图层叠加处理方法、图层叠加处理装置和视频处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710838359.XA CN107682730B (zh) | 2017-09-18 | 2017-09-18 | 图层叠加处理方法、图层叠加处理装置和视频处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107682730A CN107682730A (zh) | 2018-02-09 |
CN107682730B true CN107682730B (zh) | 2020-02-07 |
Family
ID=61137440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710838359.XA Active CN107682730B (zh) | 2017-09-18 | 2017-09-18 | 图层叠加处理方法、图层叠加处理装置和视频处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682730B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020215207A1 (zh) * | 2019-04-23 | 2020-10-29 | 华为技术有限公司 | 处理图层的方法和装置 |
CN112583996A (zh) * | 2019-09-29 | 2021-03-30 | 北京嗨动视觉科技有限公司 | 视频处理方法和视频处理装置 |
CN112835660A (zh) * | 2019-11-23 | 2021-05-25 | 西安诺瓦星云科技股份有限公司 | 媒体图层展示方法、装置及系统、存储介质 |
CN113282852A (zh) * | 2020-02-20 | 2021-08-20 | 北京沃东天骏信息技术有限公司 | 编辑网页的方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321240A (zh) * | 2008-06-25 | 2008-12-10 | 华为技术有限公司 | 多图层叠加的方法及其装置 |
CN103686304A (zh) * | 2013-12-09 | 2014-03-26 | 华为技术有限公司 | 一种图层合成方法、装置及终端设备 |
CN103841359A (zh) * | 2012-11-23 | 2014-06-04 | 中兴通讯股份有限公司 | 一种视频多画面合成方法、装置和系统 |
CN105243028A (zh) * | 2015-09-06 | 2016-01-13 | 珠海全志科技股份有限公司 | 一种降低图像缩小处理时系统峰值带宽的方法和装置 |
CN105894440A (zh) * | 2016-03-30 | 2016-08-24 | 福州瑞芯微电子股份有限公司 | 一种图像多层数据处理方法和装置 |
CN106357998A (zh) * | 2015-11-18 | 2017-01-25 | 深圳艾科创新微电子有限公司 | 一种osd图形显示处理装置 |
CN106604061A (zh) * | 2016-10-14 | 2017-04-26 | 乐视控股(北京)有限公司 | 一种视频数据处理方法及装置 |
-
2017
- 2017-09-18 CN CN201710838359.XA patent/CN107682730B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321240A (zh) * | 2008-06-25 | 2008-12-10 | 华为技术有限公司 | 多图层叠加的方法及其装置 |
CN103841359A (zh) * | 2012-11-23 | 2014-06-04 | 中兴通讯股份有限公司 | 一种视频多画面合成方法、装置和系统 |
CN103686304A (zh) * | 2013-12-09 | 2014-03-26 | 华为技术有限公司 | 一种图层合成方法、装置及终端设备 |
CN105243028A (zh) * | 2015-09-06 | 2016-01-13 | 珠海全志科技股份有限公司 | 一种降低图像缩小处理时系统峰值带宽的方法和装置 |
CN106357998A (zh) * | 2015-11-18 | 2017-01-25 | 深圳艾科创新微电子有限公司 | 一种osd图形显示处理装置 |
CN105894440A (zh) * | 2016-03-30 | 2016-08-24 | 福州瑞芯微电子股份有限公司 | 一种图像多层数据处理方法和装置 |
CN106604061A (zh) * | 2016-10-14 | 2017-04-26 | 乐视控股(北京)有限公司 | 一种视频数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107682730A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682730B (zh) | 图层叠加处理方法、图层叠加处理装置和视频处理器 | |
JP4568711B2 (ja) | 複数のグラフィックス処理装置を用いたビデオ処理 | |
US8749667B2 (en) | System and method for maintaining maximum input rate while up-scaling an image vertically | |
JP5546593B2 (ja) | 画像表示装置及びその制御方法 | |
WO2019127941A1 (zh) | 手写输入内容的显示方法、电子设备及计算机存储介质 | |
US9460489B2 (en) | Image processing apparatus and image processing method for performing pixel alignment | |
CN108241211A (zh) | 一种头戴显示设备及图像渲染方法 | |
CN112399095A (zh) | 视频处理方法、装置和系统 | |
JP6442867B2 (ja) | 画像処理装置、撮像装置、及び画像処理方法 | |
CN113892134A (zh) | 具有优化的性能的多媒体系统 | |
JP2007241738A (ja) | 画面合成装置 | |
US20120203942A1 (en) | Data processing apparatus | |
US10951870B2 (en) | Digital image conversion method and apparatus, storage medium, and device | |
US8885939B2 (en) | Image processing apparatus configured to perform image processing for plural images and control method thereof | |
WO2020000538A1 (zh) | 一种增强对比度的装置及显示器 | |
JP2003186740A (ja) | メモリ制御装置、及びメモリ制御方法 | |
JP4683384B2 (ja) | メモリ制御方法、グラフィックプロセッサおよび情報処理装置 | |
JP2010081024A (ja) | 画像補間処理装置 | |
JP2007018222A (ja) | メモリアクセス制御回路 | |
WO2007055067A1 (ja) | 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法 | |
US20120144150A1 (en) | Data processing apparatus | |
JP6564625B2 (ja) | データ転送装置およびデータ転送方法 | |
JP2013126130A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP3482255B2 (ja) | 画像データ処理装置およびそれを用いた情報システム | |
WO2014013657A1 (ja) | 映像信号処理装置および映像信号処理方法 |
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 |