色键实现方法和装置制造方法及图纸

技术编号:8537124 阅读:192 留言:0更新日期:2013-04-04 22:07
本发明专利技术公开了一种色键实现方法,包括以下步骤:对源图层进行预处理,将符合色键过滤条件的像素的alpha分量置零,其中所述色键过滤条件为非透明的颜色值;将预处理后的源图层与目标图层进行alpha混合模式的图层间拷贝。本发明专利技术突破了色键只能由硬件实现的限制,对于不支持硬件色键的平台,也可以实现色键功能,从而可支持更丰富多彩的应用。

【技术实现步骤摘要】

本专利技术涉及广电及数字有线电视领域的图形处理,特别是一种色键实现方法和装置
技术介绍
首先介绍与本专利技术相关的一些概念。图层(surface):主要结构是指向一个映射内存的buffer,这块内存中存放的就是需要组成图像的每个像素的颜色数据。创建图层时用参数指定width,height, pitch, pixel format。pixel format指图层像素格式,一旦创建便不能改变,常用格式为 ARGB8888。参见图1,图层内的每个像素有其像素格式,pitch为每个像素所占内存的字节数,width * height * pitch也就决定了图层大小,即该图层所占内存空间的大小。像素格式(pixel format):像素色彩按分量的大小和排列。这种格式以每个像素所使用的总位数以及用于存储像素色彩的红、绿、蓝和alpha分量的位数指定。常用的像素格式有 ARGB1555,ARGB8888。例如 ARGB8888 按照 | Alpha | Red | Green | Blue 各分量都是8位,那么一个像素的大小就是32位,即4字节。alpha分量计算机图形学中度量像素不透明度的单位 。具有最大alpha值的像素是不透明的,alpha值为零的像素是透明的,而具有中间值的像素是半透明的,并且透明度由最大alpha值到最小值之间均匀递增。图层间拷贝(blit):图层的核心就是一块存有像素数据的内存,图层间拷贝可以理解为把一个图层的一堆像素拷贝到另一个目标图层上,那么这个目标图层就像贴纸一样被贴上一层新的图像。数据从一个图层复制到另一个图层时,产生缩放、颜色格式变化、透明位指定等等的变化。而在拷贝的时候若加上特效,特效的本质就是拷贝的过程中对像素进行处理,然后把处理过后的“图像”给“贴”到目标图层。例如色键功能(下文还将述及), 就是判断源图层每个像素是否符合色键设置,若符合不拷贝该像素,若不符合则拷贝过去。alpha混合(alpha blending):即半透明混合,是图层间拷贝的一种特效处理,是组合同时使用像素颜色和alpha值的两个图像以确定最后产生的像素的颜色的方法。其使得一个图像可以呈现在另一个图像的上面,从而产生两个图像混合显示的效果。例如,当混合两个像素时,两个像素的颜色组成元素首先乘以其alpha值,然后,底部像素乘以顶部像素的alpha值的倒数,并加到顶部像素中以形成最终的混合颜色。如果源图层某区域像素的alpha值为0,那么在进行alpha混合的图层间拷贝后,该区域相当于被透明掉直接显示目标图层的内容。色键(color key):如上已述及,色键功能是一种用电子技术方法所完成的特技功能,是一种键控特技效果。简单来说,就是把图像中一种或几种特定的颜色变成透明的以便合成。色键用于选择像素以实现透明或半透明效果的颜色值。例如,当在图形中使用硬件图层拷贝时,矩形区域中除设置为色键的值以外的所有像素都拷贝。这样便在表面创建出了非矩形的子图形。使用色键,可以在另一平面上显示图片时使选定的前景像素显示或选定的背景像素来覆盖,形象地讲,就是把一个图片的某种颜色扣掉,再叠加到另一幅图片上。现有的图层间拷贝的色键功能均依靠硬件来实现。对于硬件色键而言,是在图层拷贝参数中添加色键设置,而在进行拷贝时候使用硬件来实现色键功能。其中,源图层拷贝到目标图层时,逐个像素进行对比,若符合色键设置条件则滤掉该像素,合并后图层该位置的像素为目标图层的对应像素,否则为源图层的对应像素。然而,部分平台并不具有硬件色键功能。此外,有的平台的硬件只有ARGB模式色键功能,没有RGB模式色键功能。
技术实现思路
本专利技术的一个目的就是针对现有技术的不足,提供一种方法,可以在硬件不支持色键时实现色键功能。本专利技术的另一目的是提供一种相应的实现色键功能的装置。为实现上述目的,本专利技术采用以下技术方案一种色键实现方法,包括以下步骤对源图层进行预处理,将符合色键过滤条件的像素的alpha分量置零,其中所述色键过滤条件为非透明的颜色值;将预处理后的源图层与目标图层进行alpha混合模式的图层间拷贝。所述色键过滤条件为色键像素的RGB分量或色键像素的ARGB分量。优选地,在进行所述预处理之前,备份源图层。所述alpha混合以硬件或软件方式实现。·一种色键实现装置,包括预处理模块,对源图层进行预处理,将符合色键过滤条件的像素的alpha分量置零,其中所述色键过滤条件为非透明的颜色值;图层间拷贝模块,将预处理后的源图层与目标图层进行alpha混合模式的图层间拷贝。本专利技术有益的技术效果在于本专利技术提供了色键软实现的方法,即通过对源图层进行预处理,将符合色键条件的像素的alpha分量预先置0,然后在拷贝时做一次alpha混合,将源图层与目标图层进行 alpha混合,使图层间拷贝实现色键功能。通过上述方法实现色键,其所能获得的图层混合效果与硬件色键相同。本专利技术突破了色键只能由硬件实现的限制,对于不支持硬件色键的平台,也可以通过本专利技术来实现该功能,从而可支持更丰富多彩的应用。附图说明图1为图层的结构示意图2为本专利技术一个实施例的色键实现方法的流程图;具体实施方式以下通过实施例结合附图对本专利技术进行进一步的详细说明。请参阅图2,在一个实施例里,在图层间拷贝之前,先进行图层预处理。具体来说,在需处理的图层区域内逐个像素遍历与色键值作对比,将符合色键过滤条件的像素的alpha值设为O。应注意的是,当过滤的色键为0x00000000时,并不需要对图层做预处理,因为这种情况满足0x00000000色键的像素本身的alpha值就为0,再赋一次值只会影响性能。色键可分RGB或ARGB两种模式,RGB模式表示当图层像素的RGB分量与指定色键像素的RGB分量相同时,视为该像素需要过滤掉。ARGB模式大致相同,表示当图层像素的 ARGB分量即整个像素与色键像素的ARGB分量相同时,视该像素需要过滤掉。在本专利技术的一个实施例里,可将色键像素的RGB分量作为色键过滤条件,从而克服现有平台只有ARGB模式硬件色键功能而没有RGB模式色键功能的缺点。接下来,将经预处理的源图层与目标图层进行alpha混合模式的图层间拷贝操作。由于alpha混合是对透明度的混合处理,即当源图层像素的alpha值为0,那么混合后的像素就是目标图层对应的像素,即将源图层该像素透明化。优选地,当一个应用中创建了若干张图层,对于要与其他图层进行多次拷贝的源图层先进行一次预处理,然后便可多次在图层拷贝中执行alphablend混合以达到色键效果。为避免多次对图层做预处理而影响性能,图层预处理独立于图层拷贝进行,两者可以放在两个函数中实现,即使用一个预处理函数做预处理,然后循环使用拷贝函数进行贴图。由于预处理会对源图层像素造成一定的破坏,优选地,预处理之前可以先备份一张源图层以便必要时可以还原,供后续该图层作其他作用。在一个具体实施例里,图层预处理可采用以下典型代码 switch (colorkey—flag )I本文档来自技高网
...

【技术保护点】
一种色键实现方法,其特征在于,包括以下步骤:对源图层进行预处理,将符合色键过滤条件的像素的alpha分量置零,其中所述色键过滤条件为非透明的颜色值;将预处理后的源图层与目标图层进行alpha混合模式的图层间拷贝。

【技术特征摘要】
1.一种色键实现方法,其特征在于,包括以下步骤 对源图层进行预处理,将符合色键过滤条件的像素的alpha分量置零,其中所述色键过滤条件为非透明的颜色值; 将预处理后的源图层与目标图层进行alpha混合模式的图层间拷贝。2.如权利要求1所述色键实现方法,其特征在于,所述色键过滤条件为色键像素的RGB分量或色键像素的ARGB分量。3.如权利要求1所述色键实现方法,其特...

【专利技术属性】
技术研发人员:徐佳宏王燕林舜仰
申请(专利权)人:深圳市茁壮网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1