一种基于sse2的图形图像淡入淡出处理方法

文档序号:2583886阅读:271来源:国知局
专利名称:一种基于sse2的图形图像淡入淡出处理方法
技术领域
本发明涉及广播电视领域,特别是涉及一种基于SSE2的图形图像淡入淡出处理方法。
背景技术
多媒体技术中会根据需要对图形图像做各种处理,其中淡入淡出就是比较常用的一种。图形图像的淡入淡出,是一种图形图像的渐显、渐隐的显示方法。图形图像由亮转暗,以至完全隐没,这个过程的末尾叫淡出,也叫渐隐;图形图像由暗变亮,最后完全清晰,这个过程的开端叫淡入,又叫渐显。淡出淡入是图形图像处理中表示时间、空间转换的一种技 巧。而在彩色屏幕上,硬件装置使屏幕上的每个像素发射不同数量的红、绿和蓝光。这几种颜色的数量分别被称为R、G和B值。和它们常常包装在一起的还有第四个透明度值,称为Alpha,即用A表示。Alpha值对屏幕所显示的颜色并没有直接的效果,但它有许多用途,包括混合和透明等等。发明人在实现本发明的过程中,发现现有技术至少存在以下问题现有技术中,每次淡入淡出操作所处理像素点数量为1-2个,函数调用开销较大以及处理效率较低;淡入淡出操作中间参与数据多数以查表方式给出,从而大大增加了缓存缺失的发生,降低了处理速度及效率。

发明内容
本发明实施例要解决的问题是提供一种基于SSE2的图形图像淡入淡出处理方法,提高数据并行处理的效率,每次混合操作4个像素点,降低缓存缺失的发生次数,用直接计算代替查表法。为达到上述目的,本发明提供了一种基于数据流单指令多数据扩展指令集2SSE2的图形图像淡入淡出处理方法,包括读取待处理图形图像数据,选取待处理图形图像数据像素点,对其并行处理;利用RGB Mask方法得到并行计算数据的Alpha值部分,并对所述Alpha值部分进行并行计算,得到Alpha值并行结果;利用RGB Mask方法,合并原有数据的RGB部分和并行计算后的Alpha并行结果,得到完整RGBA值结果。本发明实施例的技术方案具有以下优点,(I)提高了并行计算数据量,每次操作4个像素,大大提高了效率;(2)采用了 RGB Mask分离与合并像素点RGB部分方法,大幅度减少了不必要计算,从而提高了运算速度;(4)舍弃了查表计算方法,更高效的利用了 CPU的性能,从而提高了计算速度,缩短了计算时间。


图I是本发明中一种基于SSE2的图形图像淡入淡出处理方法的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,需要指出的是,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述本发明提供了一种基于SSE2的图形图像淡入淡出处理方法,如图I所示,包括以下步骤步骤S101,读取待处理图形图像数据,选取待处理图形图像数据像素点,对其并行 处理。首先,要读取待处理的图形图像数据,从中任意选择4个相邻像素点。现有技术中只能同时处理12个像素,而由于本发明实施例是基于SSE2提供的128位寄存器,而每个像素点的RGBA值为32位,所以本发明实施例提供的方法可以支持对4个像素点的处理。对选择出的4个相邻像素点对其进行并行处理,即同时对选择出的4个相邻像素点进行处理,通过一个操作命令实现单指令多数据操作。步骤S102,利用RGB Mask方法得到并行计算数据的Alpha值部分,并对所述Alpha值部分进行并行计算,得到Alpha值并行结果。对步骤SlOl选择出的4个相邻像素点,通过RGB MASK得到并行的4个相邻像素点的各自的Alpha值部分,继而得到Alpha值并行结果。(I)每个像素点有RGBA值,排列如下A|R|G|B每个值占8个Bit位(2)方法中每次处理四个连续的像素点(0、1、2、3像素点),那么排列如下RGBA = A3|R 3|G 3|B 3|A2|R2|G2|B2|Al|Rl|Gl|BI|AO|RO|GO|BO(3)方法中避免不了乘法等等的运算,例如像素点的A值,A*X使得结果大于2的8次方,也就是不能存储在原有的8bit中,造成运算的结果失真,RGB Mask方法分离就是解决这一问题。(4) RGB Mask方法分离像素点值原理如下(FF= 11111111 ;00 = 00000000,十六进制)定义常量RGB MASK = FF000000 | FF000000 | FF000000 | FF000000RGB MASK 与 RGBA值做逻辑与运算,得到A3 I 0 I 0 I 0 IA2 | 0 | 0 | 0 | Al | 0 | 0 | 0 | AO | 0 | 0 | 0,这样每个像素A值都有足够bit位可用,保证运算的正常进行。步骤S103,利用RGB Mask方法,合并原有数据的RGB部分和并行计算后的Alpha并行结果,得到完整RGBA值结果。在对当前选取的4个像素点进行运算得到完整的RGBA值结果后,判断当前数据中是否还有未处理的像素点,如果有则直接选取像素点;如果没有则继续读取其他未做处理的图形图像数据。
通过本发明的实施例,提高了并行计算数据量,每次操作4个像素,大大提高了效率,采用了 RGB Mask分离与合并像素点RGB部分方法,大幅度减少了不必要计算,从而提高了运算速度;舍弃了查表计算方法,更高效的利用了 CPU的性能,从而提高了计算速度,缩短了计算时间。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种基于SSE2的图形图像淡入淡出处理方法,其特征在于,包括 读取待处理图形图像数据,选取待处理图形图像数据像素点,对其并行处理; 利用RGB Mask方法得到并行计算数据的Alpha值部分,并对所述Alpha值部分进行并行计算,得到Alpha值并行结果; 利用RGB Mask方法,合并原有数据的RGB部分和并行计算后的Alpha并行结果,得到完整RGBA值结果。
2.如权利要求I所述的基于SSE2的图形图像淡入淡出处理方法,其特征在于,所述选取待处理图形图像数据像素点具体为从所述待处理的图形图像数据中任意选择4个相邻像素点。
3.如权利要求2所述的基于SSE2的图形图像淡入淡出处理方法,其特征在于,所述从 所述待处理的图形图像数据中任意选择4个相邻像素点后同时对选择出的4个相邻像素点进行处理,通过一个操作命令实现单指令多数据操作。
4.如权利要求I所述的基于SSE2的图形图像淡入淡出处理方法,其特征在于,所述合并原有数据的RGB部分和并行计算后的Alpha并行结果后还判断当前数据中是否有未处理的像素点。
5.如权利要求4所述的基于SSE2的图形图像淡入淡出处理方法,其特征在于,当有未处理的像素点时,直接继续选取4个相邻像素点进行处理。
6.如权利要求4所述的基于SSE2的图形图像淡入淡出处理方法,其特征在于,当没有未处理的像素点时,则读取其他未作处理的图形图像数据,从中选取像素点进行处理。
全文摘要
本发明公开了一种基于SSE2的图形图像淡入淡出处理方法,包括读取待处理图形图像数据,选取待处理图形图像数据像素点,对其并行处理;利用RGB Mask方法得到并行计算数据的Alpha值部分,并对所述Alpha值部分进行并行计算,得到Alpha值并行结果;利用RGB Mask方法,合并原有数据的RGB部分和并行计算后的Alpha并行结果,得到完整RGBA值结果。通过本发明提供的方法,提高了并行计算数据量,每次操作4个像素,大大提高了效率,采用了RGB Mask分离与合并像素点RGB部分方法,大幅度减少了不必要计算,从而提高了运算速度;舍弃了查表计算方法,更高效的利用了CPU的性能,从而提高了计算速度,缩短了计算时间。
文档编号G09G5/10GK102750928SQ201110127388
公开日2012年10月24日 申请日期2011年5月17日 优先权日2011年5月17日
发明者吕精华, 廖健, 郑培枫, 饶文辉 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1