CN100485773C - 一种便携式移动终端快速降低屏幕亮度的方法 - Google Patents
一种便携式移动终端快速降低屏幕亮度的方法 Download PDFInfo
- Publication number
- CN100485773C CN100485773C CNB2006100453473A CN200610045347A CN100485773C CN 100485773 C CN100485773 C CN 100485773C CN B2006100453473 A CNB2006100453473 A CN B2006100453473A CN 200610045347 A CN200610045347 A CN 200610045347A CN 100485773 C CN100485773 C CN 100485773C
- Authority
- CN
- China
- Prior art keywords
- value
- integral shift
- color
- mask
- screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
本发明提出了一种便携式移动终端快速降低屏幕亮度的方法,二次幂转换包括屏幕象素的颜色值向低位进行整体移位的步骤,以及把整体移位得到的值与颜色分量的高位为0的掩码进行屏蔽操作的步骤,对于非二次幂转换,可以由已知的二次幂来拟和,本发明利用大多数CPU中ALU(运算器)的加法与移位的效率远大于乘除法的特性,可以大大提高计算速度,可以应用在大屏幕大范围的亮度调节过程中。
Description
技术领域
本发明涉及带彩色光栅显示设备的各种便携式移动终端、PDA设备改变屏幕亮度的方法,更具体地说,是涉及带屏幕缓冲区位图并可以进行图形显示的设备降低屏幕亮度的方法。
背景技术
目前在大多数带屏幕缓冲区的小型便携式手持设备上,如移动终端或PDA等电子产品,经常需要快速地局部改变设备的屏幕亮度。这种大量重复的功能经常用于界面间的切换或信息提示,比如在移动终端上,当删除电话本时,出现—个提示用户是否确定该删除操作的对话框,这时背景界面的亮度通常变暗,从而更好地突出对话框,使用户关注对话框的内容。在许多带彩色显示屏手持设备上经常可以发现此类界面切换的应用。
在掌上电脑设备上降低屏幕亮度所使用的常规方法,就是通过对原象素的颜色进行RGB三原色的单色分离,然后再进行浮点数的乘法计算每个单色的颜色值,最后利用或运算和移位运算得到最终的结果。
如图1所示,为一般的掌上电脑等手持设备屏幕亮度值改变的常规方法,方法步骤为:
第一步是对屏幕原16bit的颜色值进行分离,它其实包括了两种操作,即逻辑与和逻辑移位的操作。利用逻辑与进行掩码操作获得对应的颜色位,然后利用移位操作使高位的颜色分量(这里是R、G)变换到低位,从而取得三个颜色分量的参考值。
第二步是颜色变换步骤,也是最耗费时间的操作步骤。根据要求的亮度值,对屏幕上的原颜色分量进行调整,使每个颜色分量都调整到指定的颜色亮度。对于屏幕亮度减半的操作,可以用每个颜色分量的值乘以0.5,一般地说,亮度值并非整数,所以这里牵涉到了实数运算或者除法运算。这对于一般常规类型的CPU都是一个比较大的消耗。
第三步是颜色组合操作,根据得到的每个颜色分量调整值,利用移位运算和逻辑或运算重新组合成为新的颜色值。
这对于具备高速率的CPU与带宽很高的显卡配置的手持设备来说,是一种常用的改变屏幕亮度的方法。但对于移动终端如手机等基于ARM7或更低端平台的设备来说,应用该方法就会大大影响此类设备的运行速度,同时占用大量的CPU时间。
发明内容
为了解决在便携式移动终端中降低屏幕亮度影响低速设备的运行速度,占用大量CPU时间的问题,本发明提出了一种快速降低屏幕亮度的方法,考虑了一般CPU的特点,利用大多数CPU中ALU(运算器)的加法与移位的效率远大于乘除法的特性,本发明可以大大提高计算速度。
一种便携式移动终端快速降低屏幕亮度的方法,二的指数次幂变换包括以下步骤:
屏幕象素的颜色值向低位进行整体移位的步骤;
把整体移位得到的值与颜色分量的高位为零的掩码进行屏蔽操作的步骤,其中整体移位的次数和掩码高位为零的位数相同。
采用二的指数次幂变换,二的指数次幂变换中指数的数值是颜色值向低位整体移位的次数,也是掩码中颜色分量的高位为0的位数。即如果2的-1次幂变换,颜色值向低位整体移位1次,掩码的最高1位为0;如果2的-2次幂变换,颜色值向低位整体移位2次,掩码的最高1位和次高1位都为0。
屏幕亮度降低一半可以采用二的指数次幂变换,包括以下步骤:
1)屏幕象素的颜色值向低位整体移动一位的步骤;
2)把整体移位后得到的值与颜色分量的最高位为0的掩码进行屏蔽操作的步骤。
对于非二的指数次幂变换包括以下步骤:
1)通过已知的二的指数次幂拟和出非二的指数次幂的步骤;
2)按照二的指数次幂变换对屏幕象素的颜色值进行整体移位的步骤;
3)把每一个整体移位后得到的值与对应的掩码进行屏蔽操作的步骤,其中整体移位的次数和掩码高位为零的位数相同;
4)把屏蔽后的颜色值进行相加的步骤。
屏幕亮度降低到0.75,采用非二的指数次幂变换,包括以下步骤:
1)通过2的-1次幂和-2次幂拟和出0.75的步骤;
2)按照二的指数次幂变换对屏幕象素的颜色值进行整体移位,一个是向低位整体移位1次,另一个是向低位整体移位2次的步骤;
3)把整体移位1次后得到的值与颜色分量的最高位为0的掩码进行屏蔽,并把整体移位2次后得到的值与颜色分量的最高位和次高位为0的掩码进行屏蔽操作的步骤;
4)把两次屏蔽后的颜色值进行相加的步骤。
利用本发明中的方法降低屏幕亮度,特别是对于大屏幕中成千上万的象素同时进行计算的时候,可以大大提升运算的速度,与常规的方法相比,占用CPU时钟周期数少,效果十分显著。
附图说明
图1为背景技术中降低屏幕亮度的步骤示意图;
图2为手持设备常用的16bit屏幕象素的表示图;
图3为本发明中快速降低屏幕亮度二的指数次幂变换的流程图;
图4为本发明中屏幕亮度降低一半的示意图;
图5为本发明中非二的指数次幂变换的流程图;
图6为本发明中屏幕亮度降低到0.75的示意图;
图7为本发明的快速降低屏幕亮度过程与背景技术中降低亮度过程占用CPU时钟周期数的直线图。
具体实施方式
下面结合附图和实施例对本发明做进一步的描述。
便携式移动终端的显示设备上具有显示缓冲区,显示缓冲区的功能是用以刷新屏幕。在屏幕的刷新过程中有一个矛盾,即速度与精度的矛盾。对于便携式移动终端在出现信息提示,需要背景界面亮度变暗的应用上,屏幕变化的反应速度是最重要的,所以对于低速便携式移动终端,最好采用一种减少占用CPU计算时间,提高反应速度的方法来达到所需要的屏幕亮度。
一般便携式移动终端显示设备的颜色以RGB三原色表示,即红、绿、蓝三种颜色以R-G-B按位表示,本发明中降低屏幕亮度的方法适用于各种bit的屏幕象素方式,实施例中采用便携式移动终端常用的16bit的颜色象素方式。16bit的颜色方案根据屏幕特性也分为几种,最常见的就是5-5-5与5-6-5两种颜色表示方案,字节高低位的问题在这里不必考虑,因为字节高低位的问题不影响计算方法的最终结果。5-5-5的方式是分别采用5bit来表示颜色的R、G、B三个分量,然后把三个分量组成一个完整的RGB颜色空间的象素方式,最高位(或最低位)补0。5-6-5的颜色表示方法与此类似,但它考虑了人眼对绿色光的敏感度要远大于其他颜色分量,所以把G分量多用一位bit来表示,从而正好组成16bit的颜色表示值。在实例中便携式移动终端的屏幕每个象素是基于5-6-5的颜色表示方式。
如图2所示,是16bit的屏幕象素的颜色示意图,基于5-6-5的颜色表示方式,图中前5个方框表示的是R红色分量在16bit字中的位置,中间6个方框表示的是G绿色分量在16bit字中的位置,最后5个方框表示的是B蓝色分量在16bit字中的位置。各个颜色分量之间用箭头来表示位置的隔开。另外,二进制中值为1的位置用1来表示,值为0的位置用留空来表示,实心方框表示屏蔽掩码的位置,被实心方框屏蔽掉的颜色位置的值为0
如图3所示,为二的指数次幂的快速改变屏幕颜色亮度的过程,对于快速降低颜色亮度过程,采用二的指数次幂变换的步骤如下:步骤301,把屏幕象素的颜色值向低位进行整体移位,因为是亮度值是二的指数次幂,所以可以直接改变移位次数得到需要的亮度。移位后进行步骤302,把整体移位得到的亮度值与每个颜色分量的高位为0的掩码进行屏蔽操作即可得到所需亮度颜色。
采用二的指数次幂变换,2的其他次幂的数值是颜色值向低位整体移位的次数,也是掩码中颜色分量的高位为0的位数。即如果2的-1次幂变换,颜色值向低位整体移位1次,掩码的最高1位为0;如果2的-2次幂变换,颜色值向低位整体移位2次,掩码的最高1位和次高1位都为0。
这里需要注意的是,掩码是预先计算好的,这对于提高速度是必要的。对于整体移位次数为1的变化,在这里掩码是R、G、B红绿蓝三个颜色分量的第一位bit值为0,其他为1。即掩码为0111101111101111B(二进制)=0x7BEF(十六进制)。屏蔽掉颜色分量的高位值的原因是第一步整体移位操作时,高位分量移入低位分量的,所以需要把每个颜色分量的最高一位bit值屏蔽掉。
如图4所示,屏幕亮度降低一半可以采用二的指数次幂变换,包括步骤401,屏幕象素的颜色值向低位整体移动一位;步骤402,把整体移位后得到的值与颜色分量的最高位为0的掩码进行屏蔽操作。最后得到亮度降低一半后的象素颜色值为0001100010100111。
二的指数次幂的快速改变颜色亮度的方法与一般方法相比,步骤少,相应的占用CPU时间少,计算速度大大提高。
如图5所示,对于非二的指数次幂变换包括,步骤501通过已知的二的指数次幂拟和出非二的指数次幂;步骤502按照二的指数次幂变换对屏幕象素的颜色值进行整体移位;步骤503把每一个整体移位后得到的值与对应的掩码进行屏蔽操作;步骤504把屏蔽后的颜色值进行相加。
如图6所示,为非二次羃的双次加法逼近0.75亮度的过程示意图,在屏幕亮度降低的操作中,采用二的指数次幂的降低屏幕亮度方法经常可以满足要求,对于特殊的情况,即亮度值是非二的指数次幂的情形。非二的指数次幂的方法比前一种二的指数次幂的情况要稍微复杂一些。
两种方法的基本解决思路是一样的,但第二种情况需要逼近非二的指数次幂,所以可以先计算出这个非二的指数次幂如何由已知的二的指数次幂的值拟和出来,例如0.75=0.5+0.25,0.825=0.5+0.25+0.125,对于屏幕亮度降低到0.75的要求,可以分别计算2的-1次幂与-2次幂的颜色值,然后两次计算结果相加即可。在示意图中,可以看到具体如下,由2的-1次幂和-2次幂拟和出0.75;步骤602.对屏幕象素的颜色值进行整体移位,一个是向低位整体移位1次,另一个是向低位整体移位2次;步骤603,把每一个整体移位得到的亮度值与对应的掩码进行屏蔽操作;步骤604,把两个屏蔽后的颜色值相加,即可得到所需亮度颜色。
为了看出本发明的效果,可以把快速改变亮度过程与一般的改变亮度过程的CPU周期数做一个对比。传统方法是从屏幕缓冲区中逐个读出象素RGB三种颜色分量(即高5位bit,中间6位bit,低5位bit),然后分别乘以一个小于1的比例因子(或者是使用除法运算)得到新的颜色分值,再利用新的颜色分量重新构造适合设备的RGB象素值。
下面计算一下传统方法的运算量,从屏幕象素颜色中取出每个颜色分量至少需要三次赋值,三个分量乘以小于1的因子至少需要三次乘法运算,重新构造RGB象素值至少需要两次移位(获得高位分量)、两次与运算(去掉分量需要截断的部分)、两次或运算(重新构造)与一次赋值,所以可以得到按照常规方法计算每个象素需耗时为:
T=3×Ta+3×Tdiv+2×Toa+2×Too+Ta
其中,Ta:赋值操作需要的时钟周期数,Tdiv:乘法操作需要的时钟周期数,Toa:与操作需要的时钟周期,Too或操作需要的时钟周期。可见,屏幕亮度改变时每一个象素都需要T时间长度。
而采用二的指数次幂的减低亮度方法,现以亮度减低一半(即2的-1次幂)为例,以屏幕象素颜色值为0x396F(十六进制)为例。
第一步,整体向低位移1位,得到屏幕象素颜色值为0x1CB7(十六进制)。这一步可以得到亮度减半的颜色分量,但绿色部分与蓝色部分的高位还有移位后残留的象素值,这些高频分量是应该被过滤掉的噪声值,需要进行进一步处理才能把实际值过滤出来。
第二步,将获得的象素值与预先计算好的颜色掩码进行逻辑与的操作,对于2的-1次幂,移位后蓝色段与绿色段的最高位肯定应该是0,所以只需要一个每个色段最高位是0的全掩码即可。对于5-6-5的象素颜色表示方式,预先计算相应的掩码应该是0111101111101111(bin),即0x7BEF,所以第二步操作即把第一步得到的结果与上述掩码进行与操作即可。采用本发明的二的指数次幂方法,处理一个象素需耗时为:
T=Ts+Toa
其中,Ts:移位操作需要的时钟周期数。与传统方法相比较,降低屏幕亮度时计算一个象素颜色值所需要的时间减少了3×Ta+3×Tdiv+Toa+2×Too—Ts个时钟周期数,而对于一般便携式移动终端上常用的160×128象素的屏幕来说,采用本发明就大大降低了运算的强度,提高了速度。
对于2的其他次幂,只要改变整体移位的位数与修改掩码就可以了。步骤简单,从而可以大大降低运算强度。
其次考虑非二的指数次幂的精度逼近方法,对于非2次幂的情况的处理,考虑因子为0.75的情况。这里我们可以作一个分解0.75=0.5+0.25,即一个2的-1次幂与一个2的-2次幂,所以可以用如上的方法分别计算然后进行相加,因为这个因子是小于1的,所以不会有进位,因而可以很容易的进行处理。又因为加法的运算量大大小于除法的运算量,所以仍然可以得到相当可观的速度提升。
对于其他的值,一般的三次加法就足够接近了。由于屏幕亮度一般的是有级数限制的,而利用3次加法的数学逼近已经可以对亮度级的区间作足够精细的划分,所以本发明中这种快速的实现方法仍然是非常方便的。对于三次加法,仍然可以节约3×Tdiv+Too—Toa—3×Ts—2Tadd个时钟周期,其中Too、Toa、Ts相对于Tdiv来说都可以忽略不计,所以实际节约了3Tdiv—2Tadd个时钟周期,而一般的Tdiv也比Tadd大很多,因此屏幕反应速度仍是相当的快。
本发明最大的优点在于速度,可以实现一般的需要硬件才能够实现的大范围降低便携式移动终端屏幕亮度的功能,却基本上不影响正常程序的运行。特别是应用在大屏幕大范围的亮度调节过程中,本发明可以起到极佳的效果。
如图7所示,是采用快速方法与背景技术的方法,随象素值增加而增长的CPU时钟周期数的示意图,这里假设实数运算或除法运算是一般运算的10倍(在实际的CPU中,往往这一差距更大)。图中横坐标代表象素数,单位是千,纵坐标代表CPU时钟周期数,单位是万,图中的四条直线,分别是按照常规方法、3次拟和、2次拟和,2次幂的方法作出的象素数与CPU时钟周期数的关系图,可以看到,随着屏幕的象素数值增长,快速方法所需要的CPU时钟周期数明显低于背景技术中的CPU时钟周期数,尤其是采用二的指数次幂的方法来降低屏幕亮度。所以对于一般点阵象素屏的亮度变换,采用本发明可以极大地提高显示效率,节约CPU时钟周期。
Claims (5)
1.一种便携式移动终端快速降低屏幕亮度的方法,其特征在于二的指数次幂变换包括以下步骤:
屏幕象素的颜色值向低位进行整体移位的步骤;
把整体移位得到的值与颜色分量的高位为零的掩码进行屏蔽操作的步骤,其中整体移位的次数和掩码高位为零的位数相同。
2.根据权利要求1所述的便携式移动终端快速降低屏幕亮度的方法,其特征在于二的指数次幂变换中指数的数值是颜色值向低位整体移位的次数,也是掩码中颜色分量的高位为0的位数。
3.根据权利要求1或2所述的便携式移动终端快速降低屏幕亮度的方法,其特征在于屏幕亮度降低一半包括以下步骤:
屏幕象素的颜色值向低位整体移动一位的步骤;
把整体移位后得到的值与颜色分量的最高位为零的掩码进行屏蔽操作的步骤。
4.一种便携式移动终端快速降低屏幕亮度的方法,其特征在于非二的指数次幂变换包括以下步骤:
通过已知的二的指数次幂拟和出非二的指数次幂的步骤;
按照二的指数次幂变换对屏幕象素的颜色值进行整体移位的步骤;
把每一个整体移位后得到的值与对应的掩码进行屏蔽操作的步骤,其中整体移位的次数和掩码高位为零的位数相同;
把屏蔽后的颜色值进行相加的步骤。
5.根据权利要求4所述的一种便携式移动终端快速降低屏幕亮度的方法,其特征在于屏幕亮度降低到0.75包括以下步骤:
通过2的-1次幂和-2次幂拟和出0.75的步骤;
按照二的指数次幂变换对屏幕象素的颜色值进行整体移位,一个是向低位整体移位1次,另一个是向低位整体移位2次的步骤;
把整体移位1次后得到的值与颜色分量的最高位为0的掩码进行屏蔽,并把整体移位2次后得到的值与颜色分量的最高位和次高位为0的掩码进行屏蔽操作的步骤;
把两次屏蔽后的颜色值进行相加的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100453473A CN100485773C (zh) | 2006-07-13 | 2006-07-13 | 一种便携式移动终端快速降低屏幕亮度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100453473A CN100485773C (zh) | 2006-07-13 | 2006-07-13 | 一种便携式移动终端快速降低屏幕亮度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1905709A CN1905709A (zh) | 2007-01-31 |
CN100485773C true CN100485773C (zh) | 2009-05-06 |
Family
ID=37674807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100453473A Expired - Fee Related CN100485773C (zh) | 2006-07-13 | 2006-07-13 | 一种便携式移动终端快速降低屏幕亮度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100485773C (zh) |
-
2006
- 2006-07-13 CN CNB2006100453473A patent/CN100485773C/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
利用MMX优化64K色Alpha混合算法. 云风.GamesRes技术文档资料库 dev.gameres.com. 2001 |
利用MMX优化64K色Alpha混合算法. 云风.GamesRes技术文档资料库 dev.gameres.com. 2001 * |
Also Published As
Publication number | Publication date |
---|---|
CN1905709A (zh) | 2007-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102663975B (zh) | 显示装置 | |
CN106228581B (zh) | 通过gpu将像素格式由argb转换为nv12的方法及系统 | |
JP5896497B2 (ja) | 画像の色相を決定するための方法およびワイヤレスハンドヘルドデバイス | |
CN106503004A (zh) | 一种信息处理方法及装置、终端 | |
CN108053797A (zh) | 一种显示装置的驱动方法及驱动装置 | |
CN107978289A (zh) | 一种显示装置的驱动方法及驱动装置 | |
CN101667411A (zh) | 一种动态背光控制方法及装置 | |
US11651719B2 (en) | Enhanced smoothness digital-to-analog converter interpolation systems and methods | |
US11443677B2 (en) | Display panel, display method thereof, and display apparatus | |
CN111341275A (zh) | 一种显示控制方法、显示装置和存储介质 | |
CN102065208B (zh) | 一种数字音视频信号串行解串器的实现方法 | |
CN106133791A (zh) | 用于颜色压缩的群聚和编码 | |
CN106057155B (zh) | 一种降低液晶显示模组功耗的控制方法及装置 | |
CN100485773C (zh) | 一种便携式移动终端快速降低屏幕亮度的方法 | |
CN104639925A (zh) | 一种rgb信号到rgbw信号的图像转换方法及装置 | |
CN101694764A (zh) | 具动态调整机制的平面显示装置与其图像显示方法 | |
CN103021375B (zh) | 影像亮度调整电路 | |
CN111161164A (zh) | 图像处理装置、方法及显示装置 | |
CN107358904B (zh) | 将rgb图像显示在rgbw面板上的方法及装置 | |
Lin et al. | Pade approximation applied to transient simulation of lossy coupled transmission lines | |
CN104021579A (zh) | 图片变色方法及装置 | |
CN107734386A (zh) | 一种基于mipi协议的视频图像缩小的方法及其系统 | |
CN100535983C (zh) | 可适应的伽马转换装置与相关方法 | |
CN104424900B (zh) | 用于液晶显示器的数据压缩系统及其省电方法 | |
TWI597703B (zh) | 顯示記錄資訊產生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090506 Termination date: 20190713 |