多图层叠加的方法及其装置转让专利

申请号 : CN200810125778.X

文献号 : CN101321240B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓安刚罗传藻

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供一种多图层叠加的方法和装置。所述多图层叠加的方法包括获取当前图层的数据以及需要叠加图层的数据;对所述获取的需要叠加图层的数据进行边框处理;将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。通过本发明实施例提供的技术方案,能够实现快速调整视频或者图像的透明度以及解决图像叠加后可能会发生图层不清晰的问题。

权利要求 :

1.一种多图层叠加的方法,其特征在于,所述方法包括:获取当前图层的数据以及需要叠加图层的数据;

对所述获取的需要叠加图层的数据进行边框处理,包括:在需要叠加图层上添加边框、或者调整已有边框的大小和式样;

根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。

2.根据权利要求1所述的多图层叠加的方法,其特征在于,所述根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理包括:根据设置的全局象素透明度数值计算需要叠加图层的叠加透明度数值;

根据所述需要叠加图层的叠加透明度数值,将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。

3.根据权利要求2所述的多图层叠加的方法,其特征在于,所述根据设置的全局象素透明度数值计算需要叠加图层的叠加透明度数值包括:获取需要叠加图层的各个象素点对应的象素值;

将获取的各个象素点对应的象素值分别与设置的全局象素透明度数值相乘,得到需要叠加图层的各个象素点的叠加透明度数值。

4.根据权利要求2所述的多图层叠加的方法,其特征在于,根据所述需要叠加图层的叠加透明度数值,将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果包括:根据所述需要叠加图层的叠加透明度数值,采用透明叠加的方法,得到叠加后的图像结果。

5.根据权利要求1所述的多图层叠加的方法,其特征在于,所述获取当前图层的数据包括:根据工作启动信号,图层读写控制单元向图层输入单元发送图像宏块数据申请命令;

根据所述图像宏块数据申请命令,图层输入单元从外部存储器读取当前图层中的图像宏块的数据,并返回给图层读写控制单元。

6.一种多图层叠加的装置,其特征在于,包括:

第一图层数据获取单元,用于获取当前图层的数据;

第二图层数据获取单元,用于获取需要叠加图层的数据;

边框处理单元,用于对所述获取的需要叠加图层的数据进行边框处理,包括在需要叠加图层上添加边框、或者调整已有边框的大小和式样;

叠加单元,用于根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。

7.根据权利要求6所述的多图层叠加的装置,其特征在于,所述多图层叠加的装置还包括:叠加透明度数值单元,用于根据设置的全局象素透明度数值,计算需要叠加图层的叠加透明度数值;

所述叠加单元具体用于根据所述需要叠加图层的叠加透明度数值,将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。

8.根据权利要求7所述的多图层叠加的装置,其特征在于,叠加透明度数值单元进一步包括:象素值获取单元,用于获取需要叠加图层的各个象素点对应的象素值;

全局象素透明度数值设置单元,用于设置全局象素透明度数值;

计算单元,用于将获取的各个象素点对应的象素值分别与设置的全局象素透明度数值相乘,得到需要叠加图层的各个象素点的叠加透明度数值。

9.根据权利要求6所述的多图层叠加的装置,其特征在于,还包括:输出单元,用于输出所述叠加单元所得到的叠加后的图像结果。

说明书 :

技术领域

本发明涉及多媒体技术领域,特别涉及一种多图层叠加的方法及其装置。

背景技术

目前多图层叠加技术广泛应用于大量的视频设备中。在数字广播、手持设备、视频监控等领域也有着大量的应用。所谓多图层叠加是将多路视频或者图像相混合进行叠加,从而可以在一个画面里面看见多路的视频或者图像,而不需要额外的显示设备。现有的多路视频或者图像混合叠加技术主要采用透明叠加(即alpha叠加)的方法。
现有的多路视频或者图像叠加的方案为直接混合方案:先将相同位置的两路视频或者图像通过各自对应的输入单元分别写入到各自对应的缓存单元中,然后由各自对应的读写控制单元将两路视频或者图像同步读出,经过叠加单元处理后从输出单元输出叠加后的图像。
如果需要改变其中一路视频或者图像的透明比例的时候,需要通过叠加单元改变这一路视频或者图像的所有象素值的alpha数值,因此会导致系统使用复杂,响应速度慢;而且,在两路视频或者图像的亮度和色度比较接近的情况下,经过透明叠加后的一路视频或者图像会淹没在另外一路视频或者图像里面,不容易分辨。
因此,在进行本发明创造过程中,发明人发现现有技术中至少存在如下问题:现有技术上提供的技术方案中,图像透明度调整过程复杂且多路视频或者图像叠加后可能会发生图层不清晰的问题。

发明内容

本发明实施例提供了一种多图层叠加的方法及其装置,能够实现快速调整视频或者图像的透明度以及解决图像叠加后可能会发生图层不清晰的问题。
本发明实施例提供一种多图层叠加的方法,其包括:
获取当前图层的数据以及需要叠加图层的数据;
对所述获取的需要叠加图层的数据进行边框处理,包括:在需要叠加图层上添加边框、或者调整已有边框的大小和式样;
根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。
本发明实施例还提供一种多图层叠加的装置,其包括:
第一图层数据获取单元,用于获取当前图层的数据;
第二图层数据获取单元,用于获取需要叠加图层的数据;
边框处理单元,用于对所述获取的需要叠加图层的数据进行边框处理,包括在需要叠加图层上添加边框、或者调整已有边框的大小和式样;
叠加单元,用于根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。
通过本发明实施例提供的多图层叠加的方法及其装置,对需要叠加图层的数据进行边框处理,因此能够避免图像叠加后可能会发生图层不清晰的问题;且可以通过调整全局象素值,实现快速调整视频或者图像的透明度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明多图层叠加的方法一个实施例的信令流程图;
图2为本发明多图层叠加的装置一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种多图层叠加的方法,其包括:
获取当前图层的数据以及需要叠加图层的数据;
对所述获取的需要叠加图层的数据进行边框处理;
根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。
通过本发明上述实施例提供的多图层叠加的方法,对需要叠加图层的数据进行边框处理,因此能够避免图像叠加后可能会发生图层不清晰的问题;且可以通过调整全局象素值,实现快速调整视频或者图像的透明度。
请参照图1,为本发明多图层叠加的方法一个实施例的信令流程图。本实施例中实现的是两个图层的叠加,其中,第一图层为当前图层,第二图层为需叠加至当前图层上的图层。在第一图层的坐标(0,0)处开始叠加第二图层,其中,第一图层为720×480的视频,第二图层为32×32的屏幕显示的调节菜单(OSD,On Screen Display)。
其具体过程包括:
步骤201:接收外部的启动信号后,多图层叠加装置开始工作;
步骤202:获取当前图层,即第一图层中的图像宏块的数据,包括图像宏块的大小、坐标、边界信息、象素值等;
获取第一图层中的图像宏块的数据的过程具体包括:
第一图层读写控制单元向第一图层输入单元发送当前图层的图像宏块数据申请命令;
第一图层输入单元根据所述图像宏块数据申请命令,从外部存储器读取第一图层中的图像宏块的数据;
第一图层输入单元将读取到的第一图层中的图像宏块的数据发送给第一图层读写控制单元。
步骤203:缓存所获取的第一图层中的图像宏块的数据;
缓存所获取的第一图层中的图像宏块的数据具体方式为:
第一图层读写控制单元将接收的第一图层的图像宏块数据输入到对应的第一缓存单元进行缓存。
步骤204:根据配置的多个图层的大小和位置关系,判断第一图层是否需要叠加第二图层,如果是,则获取第二图层中的图像宏块的数据,包括图像宏块的大小、坐标、边界信息、象素值等;
获取第二图层中的图像宏块的数据具体包括:
第二图层读写控制单元向第二图层输入单元发送图像宏块数据申请命令;
第二图层输入单元根据所述图像宏块数据申请命令,从外部存储器读取第二图层中的图像宏块的数据;
第二图层输入单元将读取到的第二图层中的图像宏块的数据发送给第二图层读写控制单元。
本实施例中,需要在第一图层的坐标(0,0)处叠加第二图层,即大小为32×32的OSD图层。
第二图层输入单元可以通过视频高性能总线,向外部存储器发送数据读取信号,外部存储器根据所述数据读取信号返回图像宏块的各项数据,包括图像宏块的大小,坐标,边界信息、象素值等。
例如,本实施例中,第二图层为32×32的OSD图层,在外部存储器中,第二图层包括两个图像宏块,每个图像宏块的大小为16×32,表示宏块的高度为16行,宽度为32个象素。
步骤205:缓存所获取的第二图层中的图像宏块的数据;
缓存所获取的第二图层中的图像宏块的数据具体方式为:
第二图层读写控制单元将所述第二图层输入单元从外部存储器读取的图像宏块数据,写入到第二缓存单元中进行缓存。
本实施例中,第二图层读写控制单元将第二图层输入单元读取的第一个宏块的数据,写入到第二缓存单元中,然后继续将第二图层输入单元读取的第二个宏块的数据,写入到第二缓存单元中。
本实施例中,第二缓存单元大小能够存储两个图像宏块数据,因此第二缓存单元可以存储所述第二图层的图像宏块。
步骤206:对第二图层的图像宏块进行边框处理;
对第二图层的图像宏块进行边框处理具体包括:
第二图层读写控制单元将第二缓存单元中存储的第二图层的图像宏块的数据读出,并发送到边框处理单元;
边框处理单元对输入的第二图层的图像宏块进行边框处理,例如在第二图层的边缘上添加边框,或者调整已有边框的大小和式样等,所述边框的大小和式样可以由配置单元进行配置。
步骤207:对第二图层宏块的各个象素点对应的alpha值进行处理,得到第二图层各个象素点的叠加透明度数值;
计算第二图层各个象素点对应的alpha值具体包括:
边框处理单元将处理过的第二图层的图像宏块的数据发送给象素处理单元;
象素处理单元获取第二图层的各个象素点对应的alpha值;
将第二图层的各个象素点对应的alpha值分别与全局alpha值相乘,得到第二图层的各个象素点的叠加透明度数值,所述全局alpha值用来快速调整第二图层的各个象素点的叠加透明度数值,可以由全局alpha值设置单元进行调整。
步骤208:根据计算所得的第二图层各个象素的叠加透明度数值,将第二图层宏块和第一图层宏块进行叠加,输出叠加的图像内容。
具体包括:
第一图层读写控制单元将第一缓存单元中存储的第一图层的图像宏块的数据读出,发送至叠加单元,且象素处理单元将经过处理的第二图层的图像宏块的数据发送至叠加单元;
根据计算所得的第二图层各个象素的叠加透明度数值,采用透明叠加的方法,得到叠加后的图像结果。
该方法的计算公式如下面公式1所示:
result=α×source2+(1-α)×source1(1)
上述公式1中的source1表示第一图层的一个象素点的值,source2表示第二图层的另一个象素点的值,result表示透明叠加后的结果,α为第二图层该象素点的叠加透明度数值。经过alpha叠加后的图像,在多路视频或者图像叠加的区域中,既可以看到source1中的内容,也可以看到source2中的内容。本实施例中,实现的是两个图层的叠加,对于三个以上图层的叠加,其实现原理基本相同:首先获取当前图层数据,以及每个需要叠加的图层数据,然后对每个需要叠加的图层进行边框处理和叠加透明度数值计算,最后和当前图层进行叠加处理。
通过本发明上述实施例提供的多图层叠加的方法,对需要叠加图层的数据进行边框处理,因此能够避免图像叠加后可能会发生图层不清晰的问题;且可以通过调整全局象素透明度数值,实现快速调整视频或者图像的透明度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
请参照图2,为本发明多图层叠加的装置一个实施例的结构图。本实施例中,为实现两个图层的叠加的装置。
所述多图层叠加的装置包括第一图层数据获取单元31、第二图层数据获取单元32、边框处理单元33、叠加透明度数值单元34、叠加单元35。
所述第一图层数据获取单元31,用于获取当前图层的数据;
所述第二图层数据获取单元32,用于根据第一图层数据获取单元31获取的当前图层的数据,获取需要叠加图层的数据;
所述边框处理单元33,用于对所述第二图层数据获取单元32获取的需要叠加图层的数据进行边框处理;
所述叠加单元35,用于根据设置的全局象素透明度数值将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。
所述叠加透明度数值单元34,用于根据设置的全局象素透明度数值,计算需要叠加图层的叠加透明度数值;所述叠加单元35具体用于根据所述需要叠加图层的叠加透明度数值,将当前图层和经过边框处理的需要叠加的图层进行叠加处理,得到叠加后的图像结果。
所述多图层叠加的装置还可以包括输出单元39,用于输出所述叠加单元35所得到的叠加后的图像结果。
所述多图层叠加的装置还可以包括:
第一缓存单元36,用于对第一图层数据获取单元31所获取的当前图层的数据进行缓存;
第二缓存单元37,用于对第二图层数据获取单元32所获取的需要叠加图层的数据进行缓存。
所述第一图层数据获取单元31可以进一步包括:
第一图层读写控制单元311,根据工作启动信号,发送图像宏块数据申请命令;
第一图层输入单元312,根据所述图像宏块数据申请命令,从外部存储器读取当前图层中的图像宏块的数据,并返回给第一图层读写控制单元311。
所述多图层叠加的装置还可以包括判断单元38,用于根据第一图层数据获取单元31获取的当前图层的数据,判断当前图层是否需要叠加图层。
所述第二图层数据获取单元32可以进一步包括:
第二图层读写控制单元321,如果判断单元38的判断结果为当前图层需要叠加图层,则发送图像宏块数据申请命令;
第二图层输入单元322,根据所述图像宏块数据申请命令,从外部存储器读取当前图层中的图像宏块的数据,并返回给第二图层读写控制单元321。
所述叠加透明度数值单元34进一步包括:
象素值获取单元341,用于获取需要叠加图层的各个象素点对应的象素值;
全局象素透明度数值设置单元342,用于设置全局象素透明度数值;
计算单元343,用于将获取的各个象素点对应的象素值分别与设置的全局象素透明度数值相乘,得到需要叠加图层的各个象素点的叠加透明度数值。
通过本发明上述实施例提供的多图层叠加的装置,边框处理单元对需要叠加图层的数据进行边框处理,因此能够避免图像叠加后可能会发生图层不清晰的问题;且叠加透明度数值单元可以通过调整全局象素透明度数值,实现快速调整视频或者图像的透明度。
通过本发明实施例提供的多图层叠加的方法和装置,对需要叠加图层的数据进行边框处理,因此能够避免图像叠加后可能会发生图层不清晰的问题;且可以通过调整全局象素透明度数值,实现快速调整视频或者图像的透明度。
以上对本发明所提供的一种多图层叠加的方法和装置的进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明所揭示的技术方案;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。