一种融合图像缩放与颜色空间转换的方法

文档序号:2584655阅读:147来源:国知局
专利名称:一种融合图像缩放与颜色空间转换的方法
技术领域
本发明涉及一种计算机图像处理技术,尤其涉及一种用于嵌入式设备的融合图像缩放与颜色空间转换的方法。
背景技术
在嵌入式图像视频处理系统中,图像缩放与颜色空间转换是很占用系统资源的模块。常用的方式是将图像在YUV色彩空间进行处理,处理完以后把图像转换为RGB空间显示。比如在全屏显示时就要将图像进行放大处理,然后对放大后的图像进行RGB空间的转换。当然也可以先做颜色空间转换再在RGB域缩放图像,理论上计算开销一样,但实际上后者将会消耗更多的CPU资源。
公开日为2005年02月16日、公开号为CN158U80的专利文献公开了这样的技术方案一种颜色转换装置与方法,用以将一第一颜色空间转换成一第二颜色空间,包含有多个查询表,其用以记录关于该第一颜色空间与该第二颜色空间的对应关系,与一个转换器, 其利用该查询表以将该第一颜色转换成该第二颜色,一灰度系数修正电路被用以进行灰度系数修正。但是,该方案适合用硬件电路来实现,其里面设置的多级查找表,在软件实现上, 与一般的用查找表实现YUV到RGB颜色空间转换并没有实质性的性能提升。又如
公开日为2007年07月18日、公开号为CN101000686的专利文献,公开的技术方案是一种基于主成分分析的颜色调整方法,此方法由三个步骤组成首先用主元分析方法提取目标图片的颜色空间主成分轴;其次对颜色放缩的差值进行三次样条插值,形成查找表,利用查找表技术对要处理的图片像素进行一一映射,完成颜色调整。通过对目标图片的颜色空间进行主元分析,从而实现颜色调整方法的针对性,使此方法能够适合于不同的颜色调整需求。而采用三次样条插值技术,使得颜色调整更具有可控性,避免单一的颜色调整方法造成的颜色失真。这种用主成分分析(PCA)做彩色调整的方法,计算复杂度高, 将需要较多的系统资源和开销。

发明内容
本发明主要是解决现有技术所存在的在嵌入式图像视频处理系统中,图像缩放与颜色空间转换严重占用系统资源、计算开销大等技术问题,提供一种图像缩放与颜色空间转换的方法,它融合图像缩放与颜色空间转换为一体,在嵌入式设备上使系统性能得到大幅提升。本发明针对现有技术问题主要是通过下述技术方案得以解决的,一种融合图像缩放与颜色空间转换的方法,在进行YUV颜色空间缩放的同时,使用颜色空间转换算法完成 YUV420颜色空间到RGB565颜色空间的转换,该方法包括以下步骤
A)输入源图像亮度数据pY、色度数据pU、pV和源图像宽度和高度尺寸;
B)输入目标图像尺寸宽度和高度;
C)根据源图像、目标图像尺寸计算图像水平和垂直缩放比例;D)对目标图像的每两行数据中的每两列数据,根据缩放比例,分别用线性插值计算缩放之后的色度分量d_U、d_V ;
E )根据缩放比例,从第一个2x2窗口开始,分别用双线性插值计算2x2窗口左上角、右上角、左下角、右下角4个点的缩放之后的亮度值d_Lll、d_L12、d_L21、d_L22 ;
F)根据d_U、d_V、d_Lll用查表法进行颜色空间转换,计算当前2x2窗口内左上角对应点的的r、g、b值;
G)根据d_U、d_V、d_L12用查表法进行颜色空间转换,计算当前2x2窗口内右上角对应点的的r、g、b值;
H)根据d_U、d_V、d_L21用查表法进行颜色空间转换,计算当前2x2窗口内左下角对应点的的r、g、b值;
I)根据d_U、d_V、d_L22用查表法进行颜色空间转换,计算当前2x2窗口内右下角对应点的的r、g、b值;
J)分别将当前2x2窗口内四个点的r、g、b值重新拼装为4个RGB565格式,并存储在当前RGB565数据指针地址里面;
K)将当前窗口平移到下一个2x2窗口 ; 对应点的r、g、b值中,r是红色值,g是绿色值,b是蓝色值。本发明是在完成颜色空间缩放的同时完成颜色空间转换。考虑到YUV420的图像采样格式,4个Y分量公用1对U、V分量,U、V数据量是Y的一半,因此,在完成U、V分量缩放后,可以一次进行4个Y分量的缩放。缩放完成之后存放在6个临时的变量里面(4个 Y临时变量和U、V临时变量)。这6个临时变量分别表示了缩放之后的4个像素点的YUV 分量,之后立即使用查表法进行色彩空间的转换,一轮循环完成当前2x2窗口左上角、右上角、左下角、右下角4个点的色彩空间转换,也即完成4个点的目标像素的计算,之后拼装成 RGB565格式,依次循环完成其他目标像素的计算、拼装。为了更加有效的利用系统的寄存器资源,避免频繁的栈操作,在进行4个亮度信号和两个色度信号U、V缩放时,先进行色度信号U、V的缩放,再进行4个亮度信号Y的缩放,这样能避免数据之间的依赖性,大幅提高效率。同时,考虑到人眼对色度分量的不敏感性,对色度分量d_U、d_V采用线性插值,而非双线性插值,总共减少了 4次线性插值运算。在这样的处理过程中,除节省了一个大的缓存空间(一帧图像的存储空间)外,通过优选缩放顺序、色度插值算法等措施,经过在平台上实际测试,整体性能得到大幅提升。作为优选,颜色空间转换算法是 r = Y + 1.4075 * (V-128)
g = Y - 0.3455 * (U - 128) - 0.7169 * (V - 128) b = Y + 1. 779 * (U - 128) YUV颜色空间到RGB颜色空间的转换采用上述公式进行,计算公式简单,为实现快速算法,采用查表来代替乘法,最后把计算结果饱和到0到255之间。饱和的操作也采用查找表的方式,这样可以省略判断跳转的开销,在有高速缓冲存储器(Cache Memory)的平台上能够提高处理速度。作为优选,查表法所使用的表格是将浮点数转换为整数操作,表格里面的值是每一个取值在-1 到127的整数与一个常数相乘的结果,表的每个元素采用short型变量。表格的构造是浮点转换为定点操作和乘法操作。因为颜色转换过程涉及4个乘法,所以总共需要4个表格。表格里面的值是每一个取值在-1 到127的整数与一个常数相乘的结果,这样也避免了减法操作。表的每个元素采用short型变量,则4个表格总的大小为2K。作为优选,查表法所使用的表格是将4个用于常数乘法的表格合并为一个表格。 这4个用于常数乘法的表格即为颜色转换过程涉及的4个乘法表格,合并为一个表格后只需要一次表格的加载操作,实际查表的时候只需要加一个常数的偏移即可,进一步提高处理效率。本发明带来的有益效果是,融合图像缩放与颜色空间转换为一体,有效地减少系统资源占用和系统开销,同时通过优化缩放顺序、表格合并、优选算法等措施,使嵌入式设备系统性能大幅提升。


图1是本发明的一种图像缩放与颜色空间转换处理流程图。
具体实施例方式下面通过实施例,并结合附图,对本发明的技术方案作进一步具体说明。实施例本实施例在基于ARM的嵌入式平台上进行。如图1所示,本发明是一种融合图像缩放与颜色空间转换的方法,是在进行YUV颜色空间缩放的同时,完成YUV420颜色空间到RGB565颜色空间的转换。步骤如下所述1)通过视频图像解码获取亮度、色度数据pY、pU、pV的3个分量和宽度s_width,高度s_height尺寸数据;2)输入目标图像宽度 d_width和高度d_height尺寸;3)根据宽度s_width和高度s_height、宽度d_width和高度d_height计算图像水平和垂直缩放比例;4)对目标图像的每两行数据中的每两列数据 (2x2窗口),根据缩放比例,分别用线性插值计算缩放之后的色度分量d_U、d_V ;5)根据缩放比例,分别用双线性插值计算当前2x2窗口左上角、右上角、左下角、右下角4个点的缩放之后的亮度值d_Lll、d_L12、d_L21、d_L22 ;6)根据d_U、d_V、d_Lll用查表法进行颜色空间转换,计算当前2x2窗口内左上角对应点的的r、g、b值;7)根据d_U、d_V、d_L12用查表法进行颜色空间转换,计算当前2x2窗口内右上角对应点的的r、g、b值;8)根据d_U、d_V、 d_L21用查表法进行颜色空间转换,计算当前窗口内左下角对应点的的r、g、b值;9) 根据d_U、d_V、d_L22用查表法进行颜色空间转换,计算当前2x2窗口内右下角对应点的的 r、g、b值;10)分别将当前窗口内四个点的r、g、b值重新拼装为4个RGB565格式,并存储在当前RGB565数据指针地址里面;11)将当前窗口平移到下一个2x2窗口继续上述步骤计算下一组目标图像点。颜色空间转换的算法采用r = Y + 1.4075 * (V-128), g = Y - 0. 3455 * (U -128) - 0.7169 * (V - 128),b = Y + 1. 779 * (U - 1 ),计算结果饱和到 到 255 之间。乘法的操作和饱和的操作都采用查找表的方式。总共需要5个查找表,其中4个用于代替乘法的操作,一个用于饱和运算。乘法表格构造首先是浮点转换为定点操作,其次是乘法操作。4个乘法共需要4 个表格。表格里面的值是每一个取值在-1 到127的整数与一个常数相乘的结果。这样也避免了减法操作。表的每个元素采用short型变量,则4个表格总的大小为观。在基于ARM的嵌入式平台上,把4个表格合并为一个表格,这样只需要一次表格的加载操作,实际查表的时候只需要加一个常数的偏移,并且用一条ARM指令就可以实现。采用全ARM汇编语言实现。所以本发明具有融合图像缩放与颜色空间转换为一体,有效地减少系统资源占用和系统开销,使嵌入式设备系统性能大幅提升等特征。
权利要求
1.一种融合图像缩放与颜色空间转换的方法,其特征在于在进行YUV颜色空间缩放的同时,使用颜色空间转换算法完成YUV420颜色空间到RGB565颜色空间的转换,该方法包括以下步骤输入源图像亮度数据PY、色度数据PU、pV和源图像宽度和高度尺寸;输入目标图像尺寸宽度和高度;根据源图像、目标图像尺寸计算图像水平和垂直缩放比例;对目标图像的每两行数据中的每两列数据,根据缩放比例,分别用线性插值计算缩放之后的色度分量d_U、d_V ;根据缩放比例,从第一个窗口开始,分别用双线性插值计算窗口左上角、右上角、左下角、右下角4个点的缩放之后的亮度值d_Lll、d_L12、d_L21、d_L22 ;根据d_U、d_V、d_Lll用查表法进行颜色空间转换,计算当前2x2窗口内左上角对应点的的r、g、b值;根据d_U、d_V、d_L12用查表法进行颜色空间转换,计算当前2x2窗口内右上角对应点的的r、g、b值;根据d_U、d_V、d_L21用查表法进行颜色空间转换,计算当前2x2窗口内左下角对应点的的r、g、b值;根据d_U、d_V、d_L22用查表法进行颜色空间转换,计算当前2x2窗口内右下角对应点的的r、g、b值;分别将当前2x2窗口内四个点的r、g、b值重新拼装为4个RGB565格式,并存储在当前 RGB565数据指针地址里面;将当前窗口平移到下一个窗口;所述对应点的r、g、b值中,r是红色值,g是绿色值,b是蓝色值。
2.根据权利要求1所述一种融合图像缩放与颜色空间转换的方法,其特征在于所述颜色空间转换算法是r = Y + 1.4075 *(V_128) g = Y - 0.3455 *(U - 128) - 0.7169 *(V - 128) b = Y + 1· 779 * (U - 128)。
3.根据权利要求1所述一种融合图像缩放与颜色空间转换的方法,其特征在于所述查表法所使用的表格是将浮点数转换为整数操作,表格里面的值是每一个取值在到 127的整数与一个常数相乘的结果,表的每个元素采用short型变量。
4.根据权利要求1或3所述一种融合图像缩放与颜色空间转换的方法,其特征在于 所述查表法所使用的表格是将4个用于常数乘法的表格合并为一个表格。
全文摘要
本发明公开了一种融合图像缩放与颜色空间转换的方法,目的在于解决现有技术所存在的在嵌入式图像视频处理系统中,图像缩放与颜色空间转换严重占用系统资源、计算开销大等技术问题,提供一种融合图像缩放与颜色空间转换的方法,它在进行YUV颜色空间缩放的同时,使用颜色空间转换算法完成YUV420颜色空间到RGB565颜色空间的转换。它有效地减少系统资源占用和系统开销,同时通过优化缩放顺序、表格合并、优选算法等措施,使嵌入式设备系统性能大幅提升。
文档编号G09G5/02GK102280096SQ20111019797
公开日2011年12月14日 申请日期2011年7月15日 优先权日2011年7月15日
发明者陈长国 申请人:杭州米加科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1