一种在智能手机中处理图形的方法

文档序号:6510203阅读:282来源:国知局
一种在智能手机中处理图形的方法
【专利摘要】一种智能手机,其包括图形处理单元,所述图形处理包括:像素更新域确定模块,最小含域获取模块,最小含域对应目标计算模块,以及图像数据处理模块,其中,像素更新域确定模块确定源图形区中像素更新域;最小含域获取模块获取源图形区中变化数据区的最小含域;最小含域对应目标计算模块计算所述最小含域在目标图形区中的对应位置及大小;图像数据处理模块将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据。
【专利说明】一种在智能手机中处理图形的方法
【技术领域】
[0001]本发明属于图像处理领域,尤其涉及一种在智能手机中处理图形的方法。
【背景技术】
[0002]目前,智能手机在图形显示方面面临挑战,在复杂的图形数据处理过程中时刻都进行着图形区间数据更新过程。
[0003]由于涉及显示图形的大小或宽高比例不同,许多产品需要支持多种显示标准、制式,一般产品的图形系统不可能维持支持几种显示标准的图形绘制过程,而是通过把统一绘制的图形用户接口(Graphical User Interface,⑶I)图形交给显示区显示时进行最后的处理,即绘制图形区与显示图形区的数据需要动态更新,以满足要求。
[0004]但是,图形区中的像素数据只能以整数进行运算处理,数据更新过程中源图形区中位置的数据不能简单地直接对应目标图形区中位置的数据,这样就造成不同大小或宽高比例的图形区之间动态局部更新数据的技术难题。
[0005]现有技术中,为了完成两个图形区中的局部数据更新,通常的方法是:每当源图形区中有数据变化时就进行两个图形区内数据的整体更新,即源图形区中图形数据整体处理成目标图形区中需要的大小及宽高比例,整体更新的方法避免了考虑单个像素在目标图形区中的对应位置而使更新过程简单。
[0006]上述整体更新图形的方法由于每次都有大量不需要更新的像素数据被更新,每次造成巨大的数据运算及数据处理量,极大地降低目标图形区的数据更新过程,降低了图形系统的效率。
[0007]由于智能手机运算资源宝贵,因此,如何简化目标图形区的数据更新过程,提高图形系统的效率,成为智能手机中的图像处理需要解决的问题之一。

【发明内容】

[0008]本发明实施例的目的在于提供一种在智能手机中处理图形的方法,旨在解决现有技术中由于图形数据的更新需要巨大的数据运算及数据处理量,降低目标图形区的数据更新过程,以及降低了图形系统的效率的问题。
[0009]一种在智能手机中处理图形的方法,所述方法包括以下步骤:
[0010]在源图形区中确定像素更新域;
[0011]在源图形区中获取所述像素更新域的最小含域;
[0012]计算所述最小含域在目标图形区中的对应位置及大小;其中,所述计算出的目标图形区中的对应位置的坐标、宽和高均是精确整数;
[0013]按照计算出目标图形区中的对应位置及大小将最小含域内的像素数据处理成目标图形区中的图像数据并进行更新。
[0014]一种图形处理单元,包括:
[0015]像素更新域确定模块,最小含域获取模块,最小含域对应目标计算模块,以及图像数据处理模块,其中,
[0016]像素更新域确定模块确定源图形区中像素更新域;
[0017]最小含域获取模块获取源图形区中变化数据区的最小含域;
[0018]最小含域对应目标计算模块计算所述最小含域在目标图形区中的对应位置及大小;
[0019]图像数据处理模块将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据。
[0020]一种智能手机,包括:图形处理单元,其中,所述图形处理单元包括:像素更新域确定模块,最小含域获取模块,最小含域对应目标计算模块,以及图像数据处理模块,其中,
[0021]像素更新域确定模块确定源图形区中像素更新域;
[0022]最小含域获取模块获取源图形区中变化数据区的最小含域;
[0023]最小含域对应目标计算模块计算所述最小含域在目标图形区中的对应位置及大小;
[0024]图像数据处理模块将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据。
[0025]本发明实施例通过获取源图形区中变化数据区的最小含域,计算该最小含域在目标图形区中的对应位置及大小,其中,所述计算出的目标图形区中的对应位置的坐标、宽和高均是精确整数;并将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据并完成更新,不需要大`量的数据运算及数据处理量,加快了目标图形区的数据更新过程,提高了图形系统的效率,节约了智能手机宝贵的计算资源。
【专利附图】

【附图说明】
[0026]图1是本发明实施例提供的方法的流程图;
[0027]图2是本发明实施例提供的图形区间局部数据更新时的最小含域的范围示意图;
[0028]图3是本发明实施例提供的智能手机的结构图。
【具体实施方式】
[0029]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0030]本发明实施例通过获取源图形区中变化数据区的最小含域,计算该最小含域在目标图形区中的对应位置及大小,其中,所述计算出的目标图形区中的对应位置的坐标、宽和高均是精确整数;并将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据并完成更新。
[0031]图1示出了本发明实施例提供的方法的流程,详述如下。
[0032]在步骤SlOl中,确定源图形区中像素更新域;
[0033]其中,图形系统能随时自动获知当前是否有数据变化,并且能根据判断的情况准确的界定源图形区中像素更新域^”,《,!!丨^^代表坐标^汕分别代表宽度和高度。一般源图形区的数据变化都是由图形系统中的业务应用触发的新图形场景绘制造成的,譬如由消息触发的新场景等。当然,在图形系统中,不停变化的图形显示,大多数都是局部数据在变化。
[0034]在步骤S102中,获取源图形区中变化数据区的最小含域。
[0035]作为本发明的实施例,本发明方法将最小含域定义为:在目标图形区大小及比例条件限制下,源图形区中完成像素更新区域更新时需要处理的最小矩形区域。
[0036]其中,该最小含域满足两个特点:一是最小含域的起点坐标{X,Y}分别按照目标图形区的条件计算出来的对应起点坐标{X’,Y’ }中乂’与Y’均是精确整数,即计算中不含有小数位;二是最小含域的宽W和高H分别按照目标图形区的大小及比例计算出来的对应宽W’和高H’均是精确整数。由于最小含域在数学上满足这些特点,所以每次局部数据更新时,按照邻域计算出来的区域在目标图形区中刚好对应图形中每个像素的边界,即更新过程中不会出现含有小数的像素操作。
[0037]在具体实施过程中,假设源图形区的整体宽度为ww、高度为hh;记目标图形区的整体宽度为WW,高度为HH,计算源图形区中像素变化区域{x,y,w,h}的最小含域{X,Y,W,H}的步骤为:
[0038](I).分别计算源图形区与目标图形区的宽度(ww与Wff)和高度(hh与HH)的最大公约数Mw和Mh ;本发明实施例采用辗转相除法计算两个数字的最大公约数可采用。
[0039]辗转相除法求两个数的最大公约数的步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数。当然,如果最后的除数是1,那么原来的两个数是互质数。
[0040](2).分别计算区域{X,y,w, h}对应的最小含域{X,Y,W,H}中的项数值,具体计算公式是:
[0041]记Zw = ww/Mw ;Zh = hh/Mh ;INT 为取整操作
[0042]X = INT (x/Zw) *Zw ;
[0043]Y = INT (y/Zh) *Zh ;
[0044]如果Zw 古 I, W = INT((w+ (x_X) + (Zw-1))/Zw)*Zw ;否则 W = w ;
[0045]如果Zh 关 1,H = INT ((h+(y-Y) +(Zh-1) )/Zh)*Zh ;否则 H = h ;
[0046]在步骤S103中,计算源图形中最小含域在目标图形区中的对应位置及大小。
[0047]即按照目标图形区的大小及比例,计算源图形区中最小含域{X,Y,W,H}在目标图形区中的对应区域{X,,Y,,W,,H,}。具体计算公式是-X = X*ffff/ww -X = Y*HH/hh ;W,=W*Wff/ww ;H’ = H*HH/hh ;通过该步骤的计算得到的更新区的位置(X’,V )及宽高(W’,H’ )的数值均是精确的整数,这样符合像素操作的物理特性要求。
[0048]在步骤S104中,将源图形区中域内像素数据处理成目标图形区中域内图像数据并更新。
[0049]其中,源图形区{X,Y,W,H}域中是像素数据,即一个图像数据块,目标图形区{X’,Y’,W’,H’ }域中也是像素数据,即一个图像数据块。由于图像块{X,Y,W,H}与图像块{X’,Y’,W’,H’ }大小不同,所以需要把图像块{X,Y,W,H}中的像素数据处理成符合图像块{X’,Y,,W,,H,}大小的图像数据。
[0050]然后,将处理的结果数据实际更新到目标图形区中{X’,Y’,W’,H’ }域内,即完成一次更新。
[0051]当然,在具体实施过程中,也可以直接将最后进行了缩放处理的结果数据放置于目标图形区的{X’,Y’,W’,H’ },这样就可以减少一次数据复制。
[0052]请参阅图2,该图示出了图形区间局部数据更新时应该更新的最小含域的范围。
[0053]其中,图2中a图示意了源图形中数据变化域从数学意义上计算出来的目标区域区,由于像素数据的物理特性,带有小数的区域实际上不能实现,并且舍去小数后的结果与目标结果会有很大累计差别,即想直接更新数据实际上行不通的;
[0054]图2中b图和c图示意了源图形中两个不同的数据变化域计算出来的最小含域,b图刚好是a图的解决方案。其中,b图中黑色虚线区为数学上计算的像素更新区,与该黑色虚线区相邻的黑色实线框为实际的像素更新区,即最小邻域;b图黑色虚线区为数学上计算的像素更新区,与该黑色虚线区紧邻的小黑色实线区为实际的像素更新区,即最小邻域。
[0055]从图2中可以看出一个区域的最小含域与其所在的位置及宽高均有关系,并且计算出的含域位置及宽高在横向和纵向均满足最小含域的条件,这样就保证了由含域计算出来的目标图形区的目标区域正好落在各个像素的边界上。
[0056]由于本发明实施例通过源图形区中更新域的最小含域来更新处理、更新图像数据,这比将整个图形区的数据整体处理并且更新一次的整体更新方法,极大地减少了需要处理的像素数据量。特别是当源图形区中只有少数几个像素更新或小范围内数据有变化时,最小含域会比整个源图形区小得多。
[0057]而且,由于本发明实施例大大减少了需要处理的像素数据量,每次更新时,自然也就大大减少了图像处理过程的计算量,极大地降低了系统消耗,极大地提高了图形区数据更新的效率。
[0058]下面以具体的例子来说明本发明提供的图形处理方法的具体流程。
[0059]试用实现中设置机顶盒图形系统中的GUI图形都是按PAL制式标准进行绘制,绘制区720X576。按PAL显示模式时显示区是720X576 ;按NTSC显示模式时显示区是720X480 ;按高清显示模式时显示区是1344X756。
[0060]机顶盒中PAL制式标准绘制的图形在高清显示模式下显示。
[0061]首先确定源图形区中像素更新域{x, y, w, h};
[0062]当前绘制区中{x = 101, y = 101, w = 100, h = 100}区域数据需要更新。根据文中的计算方法,各种数据初始值分别应该是:ww = 720,hh = 576 ;ffff = 1344,HH = 756。
[0063]其次,在源图形区中寻找{x,y,w,h}像素域的最小含域{X,Y,W,H},其步骤为:
[0064](I).分别计算源图形区与目标图形区的宽度(ww与Wff)和高度(hh与HH)的最大公约数Mw和Mh。根据上文描述的辗转相除法计算两个数的最大约数算法,计算出数的:ww与 Wff 的 Mw = 48,hh 与 HH 的 Mh = 36 ;
[0065](2).分别计算区域{X,y, w, h}对应的最小含域{X,Y,W,H}中的项数值,具体计算:
[0066]Zw = ww/Mw = 720/48 = 15 ;
[0067]Zh = hh/Mh = 576/36 = 16 ;
[0068]X = INT (x/Zw) *Zw = INT (101/15) *15 = 90 ;
[0069]Y = INT(y/Zh)*Zh INT(101/16)*16 = 96 ;[0070]因为 Zw 关 1,
[0071 ]所以 W = INT ((w+ (x-X) + (Zw-1)) /Zw) *Zw = INT ((100+(101-90) + (15-1))/15) *15=120 ;
[0072]因为Zh 关 1,
[0073]所以H= INT((h+(y-Y) + (Zh-l))/Zh)*Zh = INT ((100+(101-96) + (16-1))/16) *16=112 ;
[0074]完成以上步骤后,最终计算获得{x = 101, y = 101, w = 100, h = 100}像素域的最小含域是{X = 90,Y = 96,W = 120,H = 112}。
[0075]然后,计算源图形区中最小含域{X,Y,W,H}在目标图形区中的对应域{X’,Y’,W’,H,};
[0076]根据前文的所述,具体计算:
[0077]X,= X*ffff/ww = 90*1344/720 = 168 ;
[0078]Y,= Y*HH/hh = 96*756/576 = 126 ;
[0079]W,= ff*ffff/ww = 120*1344/720 = 224 ;
[0080]H,= H*HH/hh = 112*756/576 = 147 ;
[0081]显然,最终得到的更新域{X,=168,Y,= 126,W,= 224,Hj = 147}的位置(X,,V )及宽高(W’,H’ )的数值均是精确整数,所有的计算过程中没有误差,这一切都为最终像素数据的精确更新提供了数学层面的技术保障。
[0082]将源图形区中{X,Y,W,H}域内像素数据处理成目标图形区中{X’,Y’,W’,H’ }域内图像数据,其中,该处理过程可以为放大或缩小。
[0083]由于是在图形区中处理以像素为单位的图形数据。即{X,Y,W,H}域和{X’,Y’,W’,H’}域内的数据实质是一个个完整的图像块,也可以看作是一帧帧的图形位图数据。以此数据为基础构建成基于内存中的图像数据体,然后按照当前{X,Y,W,H}域和{X’,Y’,W’,H’ }域大小关系,采用图像处理的方法进行图像块整体放大或缩小,即将图像块{X = 90,Y=96,ff = 120,H = 112}像素数据处理成目标图像块{X,= 168,Y,= 126,W,= 224,H,=147}。
[0084]最后,将处理的结果数据实际更新到目标图形区中{X’,Y’,W’,H’ }域内,即完成
一次更新。
[0085]由于图像块正好是按目标图形区{X’ = 168,Y,= 126,W’ = 224,H’ = 147}处的图像大小及格式进行处理的,所以直接将结果图像块覆盖在{X’ = 168,Y’ = 126,W’ =224,H,= 147}即可。
[0086]图3示出了本发明实施例提供的智能手机的结构。
[0087]其中,像素更新域确定模块11确定源图形区中像素更新域。
[0088]最小含域获取模块12获取源图形区中变化数据区的最小含域。
[0089]其中,该最小含域为在目标图形区大小及比例条件限制下,源图形区中完成像素更新区域更新时需要处理的最小矩形区域。
[0090]在具体实施过程中,该最小含域的起点坐标分别按照目标图形区的条件计算出来的对应起点坐标均是整数,而且,该最小含域的宽和高分别按照目标图形区的大小及比例计算出来的对应宽和高均是整数。[0091]最小含域对应目标计算模块13计算该最小含域在目标图形区中的对应位置及大小。具体的计算过程在前文已述,此处不再赘述,
[0092]图像数据处理模块14将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据。
[0093]本发明实施例通过获取源图形区中变化数据区的最小含域,计算该最小含域在目标图形区中的对应位置及大小,其中,所述计算出的目标图形区中的对应位置的坐标、宽和高均是精确整数;并将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据并完成更新,不需要大量的数据运算及数据处理量,加快了目标图形区的数据更新过程,提高了图形系统的效率。
[0094]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种智能手机,其包括图形处理单元,所述图形处理包括: 像素更新域确定模块,最小含域获取模块,最小含域对应目标计算模块,以及图像数据处理模块,其中, 像素更新域确定模块确定源图形区中像素更新域; 最小含域获取模块获取源图形区中变化数据区的最小含域; 最小含域对应目标计算模块计算所述最小含域在目标图形区中的对应位置及大小;图像数据处理模块将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据。
2.如权利要求1所述的智能手机,其特征在于,所述最小含域获取模块计算最小含域时,包括: 计算源图形区整体宽度与目标图形区整体宽度的最大公约数; 计算源图形区整体高度与目标图形区整体高度的最大公约数; 按照上述计算出的最大公约数计算像素更新域对应的最小含域的值。
3.如权利要求1所述的智能手机,其特征在于,所述最小含域对应目标计算模块按照以下公式进行计算:
X’ = X*ffff/ww ;Y’ = Y*HH/hh ;W’ = ff^ffff/ww ;H’ = H*HH/hh ; 其中,X,Y分别为最小含域的坐标,`W,H分别为最小含域的高和宽,X’,Y’,分别为计算出的最小含域在目标图形区中的对应位置的坐标,W’,H’分别为计算出的最小含域在目标图形区中的对应位置的高和宽,ww和hh分别为源图形区的整体宽度和高度;ffff和HH分别为目标图形区的整体宽度为高度。
4.一种在智能手机中处理图形的方法,其特征在于,所述方法包括以下步骤: 在源图形区中确定像素更新域; 在源图形区中获取所述像素更新域的最小含域; 计算所述最小含域在目标图形区中的对应位置及大小;其中,所述计算出的目标图形区中的对应位置的坐标、宽和高均是精确整数; 按照计算出目标图形区中的对应位置及大小将最小含域内的像素数据处理成目标图形区中的图像数据并进行更新。
5.如权利要求4所述的方法,其特征在于,所述在源图形区中获取所述像素更新域的最小含域的步骤为: 计算源图形区整体宽度与目标图形区整体宽度的最大公约数; 计算源图形区整体高度与目标图形区整体高度的最大公约数; 按照上述计算出的最大公约数计算像素更新域对应的最小含域的值。
6.如权利要求4所述的方法,其特征在于,所述计算最小含域在目标图形区中的对应位置及大小时,
X,= X*ffff/ww ;Y,= Y*HH/hh ;W,= ff^ffff/ww ;H,= H*HH/hh ; 其中,X,Y分别为最小含域的坐标,W,H分别为最小含域的高和宽,X’,Y’,分别为计算出的最小含域在目标图形区中的对应位置的坐标,W’,H’分别为计算出的最小含域在目标图形区中的对应位置的高和宽,ww和hh分别为源图形区的整体宽度和高度;ffff和HH分别为目标图形区的整体宽度和高度。
7.一种图形处理单元,包括: 像素更新域确定模块,最小含域获取模块,最小含域对应目标计算模块,以及图像数据处理模块,其中, 像素更新域确定模块确定源图形区中像素更新域; 最小含域获取模块获取源图形区中变化数据区的最小含域; 最小含域对应目标计算模块计算所述最小含域在目标图形区中的对应位置及大小;图像数据处理模块将源图形区中最小含域内的像素数据处理成目标图形区中对应域内的图像数据。
8.如权利要求7所述的图形处理单元,其特征在于,所述最小含域获取模块计算最小含域时,包括: 计算源图形区整体宽度与目标图形区整体宽度的最大公约数; 计算源图形区整体高度与目标图形区整体高度的最大公约数; 按照上述计算出的最大公约数计算像素更新域对应的最小含域的值。
9.如权利要求7所述的图形处理单元,其特征在于,所述最小含域对应目标计算模块按照以下公式进行计算:
X’ = X*WW/ww; Y'= Y*HH/hh ;W' =W*WW/ww ;H'= H*HH/hh ; 其中,X,Y分别为最小含域的坐标,W,H分别为最小含域的高和宽,X’,Y’,分别为计算出的最小含域在目标图形区中的对应位置的坐标,W’,H’分别为计算出的最小含域在目标图形区中的对应位置的高和宽,ww和hh分别为源图形区的整体宽度和高度;WW和HH分别为目标图形区的整体宽度为高度。
【文档编号】G06F9/44GK103500086SQ201310397657
【公开日】2014年1月8日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】黄家旺 申请人:张家港保税区润桐电子技术研发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1