计算机系统应用  2019, Vol. 28 Issue (3): 165-171   PDF    
基于两段直线模型的低功耗高画质显示驱动算法研究及其FPGA实现
黄成强, 樊爱均, 康帅     
遵义师范学院 物理与电子科学学院, 遵义 563006
摘要:由于手机电池电量有限, 显示面板功耗过大引起的频繁充电问题严重地影响了智能手机的用户体验. 本文提出了一种基于两段直线模型的低功耗高画质显示驱动算法. 首先, 将输入图像从RGB空间转换到YUV空间. 随后, 计算亮度平均值和最大值. 在此基础上构建两段直线模型, 并根据该模型产生新亮度分量. 最后, 将YUV空间转换到RGB空间, 得到处理后的图像. 实验结果表明, 相比于NPC和ACSC算法, 提出算法处理所得图像的MSE分别降低了30.9%和29.9%. 此外, 本算法产生的显示功耗最低. 该算法研究已通过FPGA验证, 结果表明, 处理后的图像显示效果优越.
关键词: 智能手机    显示功耗    视觉效果    算法复杂度    
Low-Power and High-Quality Display Driving Algorithm Based on Two-Line Model and Related FPGA Realization
HUANG Cheng-Qiang, FAN Ai-Jun, KANG Shuai     
School of Physics and Electronic Science, Zunyi Nomal University, Zunyi 563006, China
Foundation item: National Natural Science Foundation of China (61741123, 11464052); 2018 Key Science and Technology Fund of Science and Technology Bureau of Guizhou Province (QKH-Basic [2018]1424); 2017 Talent Program of Science and Technology Bureau of Guizhou Province (ZKH-Talent [2017]13); Major Project of Education Bureau of Guizhou Province (QJH KY [2015]407); Doctorate Fund of Zunyi Normal University (ZS BS[2015]07); The Regional First-Class Discipline of Guizhou Province (QJKYF[2018]216); Major Research Project of Innovative Group of Education Bureau of Guizhou Province (QJH KY[2018]028)
Abstract: The short life of battery becomes the bottleneck that greatly undermines user’s experience of smart phones due to the high power loss on display panel. To overcome the challenge, a low-power and high-quality display driving algorithm based on two-line model is proposed in this study. Firstly, the original image is converted from the RGB space to the YUV space. Subsequently, the average and maximum luminance values are calculated to enable the two-line model to be established based on the corresponding average and maximal luminance values. Finally, the YUV space is converted back to the RGB space and the renewed image is obtained after generating the renewed luminance under the assistance of the two-line model. The experimental results show that the MSE of image processed by the proposed algorithm is 30.9% and 29.9% lower than that processed by the NPC and the ACSC, respectively, with the lowest power consumption. Moreover, the proposed algorithm has been successfully verified on an FPGA board without causing a significant degradation of visual effect.
Key words: smart phone     display power     visual effect     algorithm complexity    

近年来, 消费电子产品的应用越来越广泛[1,2]. 尤其是智能手机为人们的日常生活带来了很多便利之处 [3,4]. 它已被视为一个不可代替的计算工具、移动通信平台和个人数字辅助系统[5]. 根据2017年度国际数据集团(IDC)的报告, 全世界范围内智能手机的出货量是14.62亿. 然而, 手机电池电量有限[6], 功耗过大引起较高的频繁充电问题严重地影响了用户体验. 智能手机的功耗主要由中央处理单元(CPU)功耗和显示功耗两部分组成. 文献[7]对CPU功耗开展了研究. 一直以来, 针对显示功耗的研究是移动设备研究中的重要课题之一[8]. 尤其是随着显示面板分辨率的提高, 显示功耗的影响越来越大. 统计数据显示, 手机电池中40-80%的电量被消耗于显示面板. 因此, 低功耗显示技术的研究至关重要. 近年来该领域的研究也是业界的热点. 其中较为常用的是像素点功耗控制(NPC)算法[9]. 该算法提出, 如果总功耗大于阈值, 各像素点的灰阶将乘以一个缩放因子. 该算法有两个缺陷. 首先, 如果条件不满足功耗限制将不会执行. 然而, 在条件不满足的情况下也存在个别或多个像素单元极亮的情况, 这类像素单元的功耗较大使得屏幕加速老化. 此外, 显示面板中所有像素单元的灰阶都被缩放, 无论是高亮度点还是低亮度点. 然而, 在功耗限制中不必对所有像素单元进行缩放. 因为高亮像素单元对功耗起决定性作用, 对这部分像素单元进行缩放即可. 对于低亮度单元, 保留其灰阶不必将有利于保持图像的视觉效果. 文献[10]提出了增强型像素点功耗控制算法. 其中, 考虑到了局部功耗限制. 然而, 所有像素单元都被缩放, 低灰阶部分的图像信息仍然丢失严重. 文献[11]提出了基于色彩空间转换的低功耗显示技术(ACSC). 其中, 新的亮度是原亮度与亮度偏移值之差. 改算法的起缺点是图像中的低亮度部分仍然被减低, 导致视觉效果不理想. 此外, 业界还提出很多功耗优化方法, 诸如针对静态图像的动态电压扫描(DVS)[12], 以及颜色重组[13]. 然而, 这些技术忽略了显示失真对用户视觉效果的影响, 无法提升用户体验[1416].

虽然传统算法降低了显示功耗, 但是视觉效果下降明显. 因此, 本文提出了一种低功耗高画质的显示驱动算法.

本文余下部分的组织机构如下: 第1节阐述提出的算法; 第2节展示实验结果; 第3节是现场可编程逻辑门阵列(FPGA)验证; 最后, 在第4节给出结论.

1 提出的算法 1.1 算法概述

所提出算法的流程图如图1所示. 首先, 输入图像从RGB空间转换到YUV空间[17]. 其中, Y代表亮度信息, UV代表颜色信息. 随后, 计算亮度平均值 ${Y_{\rm {av}}}$ 和最大值 ${Y_{\max }}$ . 该算法的关键在于关键两段直线模型, 并根据该模型产生新亮度分量 $Y'$ . 最后, 将YUV空间转换到RGB空间, 得到处理后的图像. 本文提出的方法有两个创新点: (1)由于采用了基于直线的模型实现功耗限制, 只需要一次运算, 不需要平方等较为复杂的运算, 使得硬件复杂度得到降低. 处理速度得到提升, 使得该算法适用于实时处理场景. (2) 本算法对高亮度部分图像细节进行针对性的功耗限制处理, 保留了低亮度部分. 因此, 在实现功耗限制的同时, 图像的视觉效果得到改善.

图 1 算法流程图

1.2 RGB 转换为YUV

在YUV空间中, 亮度分量和色度分量分离. 因此, 不存在亮度与色度的相互混淆和影响. 在对图像进行低功耗处理的过程中, 应该且仅应该改变亮度信息, 不应该改变色度信息. 另外一方面, 通过处理Y通道能够实现功耗的降低. 因此, 本文选择YUV空间来实现低功耗高画质显示驱动. 第一步就是RGB到YUV的转换, 如式(1).

$\left\{ \begin{array}{l} Y = 0.257R + 0.504G + 0.098B + 16\\ U = - 0.148R - 0.291G + 0.439B + 128\\ V = 0.439R - 0.368G - 0.071B + 128 \end{array} \right.$ (1)

其中, RGB分别代表三基色通道的灰阶. Y是亮度分量, UV是色度分量.

1.3 计算亮度平均值和亮度最大值

Yav表示亮度平均值. 在低功耗高画质图像处理中, 它是一个重要的参数. 为了改善处理所得图像的视觉效果, 不需要处理原图像中所有的像素单元. 例如, 低亮度部分图像细节不会导致功耗的增加, 如果不处理这部分图像细节, 就保持了这部分的视觉效果. 因此, 针对低亮度部分像素单元, 本文提出的算法不作处理. 然而, 关键点在于寻找一个分水岭亮度. 对于亮度低于该亮度的像素单元不作处理, 对于亮度高于该亮度的像素单元, 做低功耗处理. 如果分水岭亮度值过高, 处理所得图像的视觉效果好而功耗降低较小. 否则, 视觉效果变差而功耗限制的强度加大. 通过大量的研究, Yav被选作分水岭亮度值, 如式(2)所示:

${Y_{\rm {av}}} = \frac{1}{{W \times H}}\sum\limits_{i = 0}^{W - 1} {\sum\limits_{j = 0}^{H - 1} {Y(i,\;j)} } $ (2)

其中, W是图像的横向分辨率, H是纵向分辨率. Y(i, j)是第i列第j行像素单元的亮度值. Yav是原图像的平均亮度.

Ymax是另外一个重要的参数, 因为两段直线模型的终点. 其表达式如式(3)所示:

${Y_{\max }} = \mathop {\max }\limits_{i = 0,1,\cdots,W - 1,\;j = 0,1,\cdots,H - 1} Y(i,\;j)$ (3)
1.4 构建两段直线模型

低功耗直线模型如图2所示. 其中横坐标Y表示原图像的亮度, 纵坐标Yoffset表示亮度偏移量.

图 2 低功耗直线模型

1) 低亮度部分

新亮度是由原亮度与亮度偏移量之差决定的. 前文提到, 对于亮度小于Yav的像素单元, 不作处理. 因此, 当Y<Yav时, Yoffset=0.

2) 中亮度部分

Y>Yav时, 随着亮度值得增大, 高亮度导致的功耗越来越大. 为了降低功耗而不致于引起明显的视觉效果弱化, 亮度偏移量也应该逐渐增大. 鉴于直线模型可以大大降低运算量, 本文采用直线模型. 在AB段直线, 如果斜率偏大, 则视觉效果丢失严重. 如果斜率偏小, 则功耗限制不足. 由于AB段代表的图像灰阶不是导致功耗增加的主要因素, 在确定斜率的过程中, 应当考虑的主要因素是视觉效果优化. 因此, AB段直线斜率偏小. 将斜率定为0.25, 可以实现视觉效果视觉效果的优化. 此外, 一个数乘以0.25, 相当于将存放这个数的寄存器右移两位, 而不需要使用乘法器, 这就大大简化了硬件复杂度. 因此, 得到第一段直线:

AB段:

${Y_{\rm{offset}}} = 0.25(Y - {Y_{\rm{av}}})$ (4)

3) 高亮度部分

经过实验发现, 如果一味地采用AB段直线, 虽然低亮度部分达到了理想的效果, 但是在高亮度部分却存在功耗限制强度不够的问题. BC段直线对应的图像灰阶较大, 对应的显示功耗偏大, 在确定BC段直线斜率的过程中, 应当考虑的主要因素是功耗限制. 将BC段直线的斜率定为0.5, 可以实现高亮度部分功耗的限制. 此外, 一个数乘以0.5, 相当于将存放这个数的寄存器右移一位, 而不需要使用乘法器, 这就大大简化了硬件复杂度. 因此, 得到第二段直线, 即BC段:

${Y_{\rm{offset}}} = 0.5(Y - {Y_{\rm{high}}})$ (5)

其中, YhighYavYmax的中间值:

${Y_{\rm {high}}} = 0.5({Y_{\rm{av}}} + {Y_{\max }})$ (6)

直线AB与BC相交, 得到交点B:

$B(2{Y_{\rm{high}}} - {Y_{\rm{av}}},\;0.5({Y_{\rm{high}}} - {Y_{\rm{av}}}))$

综上所述, 得到基于两段直线的低功耗模型为:

${Y_{\rm{offset}}} = \left\{ \begin{array}{l} 0,\;Y \le {Y_{\rm{av}}}\\ 0.25(Y - {Y_{\rm{av}}}),\;{Y_{\rm{av}}} < Y \le 2{Y_{\rm{high}}} - {Y_{\rm{av}}}\\ 0.5(Y - {Y_{\rm{high}}}),\;Y > 2{Y_{\rm{high}}} - {Y_{\rm{av}}} \end{array} \right.$ (7)
1.5 更新灰阶

在上述两段直线模型的基础上, 得到新亮度Y', 如式(8):

$Y' = Y - {Y_{\rm{offset}}}$ (8)

YUV空间的其它两个分量UV保持不变, 将YUV转换到RGB, 得到结果图像.

$\left\{ \begin{array}{l} R' = 1.164(Y' - 16) + 1.596(V - 128)\\ G' = 1.164(Y' - 16) - 0.813(V - 128) - 0.391(U - 128)\\ B' = 1.164(Y' - 16) + 2.018(U - 128) \end{array} \right.$ (9)
2 实验结果 2.1 主观评估

4张kodim图像的视觉效果对比如图3所示. 明显可以看出, 经过NPC[9]和ACSC[11]算法处理所得图像变暗, 视觉效果减弱. 这是因为原图像中所有像素单元的灰阶都被降低了. 本算法处理所得图像的视觉效果更好. 这是因为本算法对高亮度像素单元做针对性的处理, 而保留低亮度部分的图像细节. 总之, 通过本算法的处理, 在保持视觉效果的同时实现了功耗限制.

2.2 客观评估

1) 评估参数

(1)功耗(PD)

PD是显示面板的功耗, 根据文献[17], 它可以被表示为:

$PD = (1/N) \cdot \sum\limits_{i = 0}^W {\sum\limits_{j = 0}^H {[{\omega _r}{R^2}(i,\;j) + } } {\omega _g}{G^2}(i,\;j) + {\omega _b}{B^2}(i,\;j)]$ (10)

其中, N图像中像素个数, W是图像的水平分辨率, H为垂直分辨率. R(i, j)、G(i, j)和B(i, j)分别是RGB三通道中第i列, 第j行像素单元的灰阶. ${\omega _r}$ ${\omega _g}$ ${\omega _b}$ 分别是各个通道的功耗系数.

(2) 均方误差(MSE)

功耗限制不可避免地影响着图像在显示面上的视觉效果, 需要一个参数对视觉效果进行评估. 因此, 引入均方误差MSE:

$\begin{array}{l} MSE = \dfrac{1}{{W \times H}}\displaystyle\sum\limits_{i = 0}^W {\displaystyle\sum\limits_{j = 0}^H {{\rm {sqrt}} \{ {{[R'(i,\;j) - R(i,\;j)]}^2} } } \\ \;\;\;\;\;\;\;\;\;\;\;\;\;+{[G'(i,\;j) - G(i,\;j)]^2} + {[B'(i,\;j) - B(i,\;j)]^2}\} \end{array}$ (11)

其中, R'(i, j)、G'(i, j)和B'(i, j)分别是原图像中RGB三通道中第i列, 第j行像素单元的灰阶. R'(i, j)、G'(i, j)和B'(i, j) 分别是处理后图像中RGB三通道中第i列, 第j行像素单元的灰阶. W是图像的水平分辨率, H为垂直分辨率. MSE越小, 说明处理后图像与原图像之间的差异越小, 图像的视觉效果就越好.

2) 实验结果

表1是相同MSE下的PD对比, 表中所采用的是10张kodim图像, 分辨率为521×768. 可以看出, 在保持视觉效果相同的情况下, 本算法处理所得图像的功耗最低.

表2是相同PD下的MSE对比, 表中所采用的同样是是10张kodim图像. 可以看出, 在保持功耗相同的情况下, 本文算法处理所得图像的视觉效果最佳. 所提出算法的MSE分别比NPC和ACSC算法降低30.9%和29.9%.

图 3 不同算法处理所得图像视觉效果对比, 从左到右依次是原图、NPC、ACSC和提出算法处理所得图像

3 FPGA验证 3.1 显示驱动电路系统

已在型号为Cyclone II系列EP2C35F672C6的FPGA开发板上实现了基于两段直线模型的低功耗高画质图像处理电路系统. 图4是应用RGBG型有源矩阵有机发光二极体(AMOLED)显示面板的图像显示系统.

表 1 相同MSE下的PD对比

表 2 相同PD下的MSE对比

图 4 低功耗高画质图像显示驱动系统

首先, 将原图像的数据存储在同步动态随机存取存储器的一块存储区. 然后, 使用基于两段直线模型的低功耗高画质图像处理算法处理这些原图像数据, 并将新数据存储与同步动态随机存储器(SDRAM)的另外一块存储区. 最后, 通过图像显示驱动模块, 将这些新数据输入屏端, 实现显示.

3.2 FPGA验证

1) FPGA验证实物系统

FPGA验证的实物系统如图5所示, 主要包括FPGA芯片、SDRAM芯片、通用输入输出口(GPIO)、转接板、AMOLED显示面板和电源. 首先, 将原图像数据存放在SDRAM的一块存储区. 电源模块提供正负5 V电源和正负3.3 V电源, 确保AMOLED显示面板要正常工作. 随后, 通过联合测试工作组(JTAG)接口将低功耗高画质图像处理电路系统和显示驱动电路系统烧录到FPGA芯片. 低功耗高画质图像处理电路系统先工作, 对原图像进行处理, 并将结果图像数据存储到SDRAM的另外一块存储区. 处理完毕之后, 显示驱动电路系统开始工作. 显示驱动电路通过开发板内部数据总线将SDRAM内待显示的图像数据传输到FPGA芯片, 再根据图像显示驱动时序将这些数据传输到GPIO端口. 最后, GPIO上的数据通过转接板上的pin脚传输到AMOLED面板的各个像素单元, 实现图像的显示.

2) 屏端图像显示对比

处理前后屏端图像显示对比如图6所示, 其中(a)为处理前的显示效果, (b)为处理后的显示效果. 对比(a)和(b), 几乎看不到明显的视觉效果下降. 对比(a)和(b)的高亮部分图像细节, 可以发现亮度的降低, 使得处理所得图像的显示功耗降低了. 因此, 所提出的算法在保持视觉效果的同时实现的功耗限制.

图 5 FPGA验证实物系统

图 6 处理前后屏端图像显示对比

4 结论

本文针对以智能手机为代表的消费类电子产品中显示面板功耗过大引起的频繁充电问题, 提出了一种基于两段直线模型的低功耗高画质显示驱动算法. 本文提出的方法中, 由于采用了基于直线的模型实现功耗限制, 只需要一阶运算, 不需要平方等较为复杂的运算, 使得硬件复杂度得到降低. 此外, 本算法对高亮度部分图像细节进行针对性的功耗限制处理, 保留了低亮度部分, 因此视觉效果得到改善. 实验结果表明, 相比于NPC和ACSC算法, 所提出算法处理所得图像的MSE分别降低了30.9%和29.9%. 此外, 本算法产生的显示功耗最低. 该算法研究通过FPGA验证, 结果表明, 本算法在保持原图像视觉效果的同时, 实现了功耗限制.

参考文献
[1]
Yun J, Ahn IY, Sung NM, et al. A device software platform for consumer electronics based on the internet of things. IEEE Transactions on Consumer Electronics, 2015, 61(4): 564-571. DOI:10.1109/TCE.2015.7389813
[2]
Oh E, Son SY. A framework for consumer electronics as a service (CEaaS): A case of clustered energy storage systems. IEEE Transactions on Consumer Electronics, 2017, 63(2): 162-168. DOI:10.1109/TCE.2017.014846
[3]
Yürür O, Liu CH, Perera C, et al. Energy-efficient and context-aware smartphone sensor employment. IEEE Transactions on Vehicular Technology, 2015, 64(9): 4230-4244. DOI:10.1109/TVT.2014.2364619
[4]
Vashist SK, Van Oordt T, Schneider EM, et al. A smartphone-based colorimetric reader for bioanalytical applications using the screen-based bottom illumination provided by gadgets. Biosensors and Bioelectronics, 2015, 67: 248-255. DOI:10.1016/j.bios.2014.08.027
[5]
Lin FD, Ye WG. Operating system battle in the ecosystem of smartphone industry. Proceedings of 2009 International Symposium on Information Engineering and Electronic Commerce. Ternopil, Ukraine. 2009. 617–621.
[6]
Beak S, Chio S, Rhee S, et al. Energy charging circuits in Bluetooth environment for smart phone. Proceedings of 2011 IEEE International Conference on Consumer Electronics. Las Vegas, NV, USA. 2011. 109–110.
[7]
Rumi MA, Asaduzzaman, Hasan DMH. CPU power consumption reduction in Android smartphone. Proceedings of the 3rd International Conference on Green Energy and Technology. Dhaka, Bangladesh. 2015. 1–6.
[8]
Chen X. Smartphone power consumption characterization and dynamic optimization techniques for OLED display [Ph.D. Dissertation]. Pittsburgh, USA: University of Pittsburgh, 2016.
[9]
Arkhipov A, Lee K. Using net power control for AMOLED TV. International Meeting on Information Display Symposium Digest. 2007, 7(1): 47–50.
[10]
Jang K, Jo H, Yuk J, et al. The enhancement net power control for lifetime improvement of AMOLED. Proceedings of 2012 IEEE International Symposium on Circuits and Systems. Seoul, South Korea. 2012. 3246–3249.
[11]
Seo HJ, Heo YS, Han SH, et al. A design of automatic current limit block for OLED display driver IC. Proceedings of 2010 International Conference on Information and Communication Technology Convergence. Jeju, South Korea. 2010. 547–548.
[12]
Shin D, Kim Y, Chang N, et al. Dynamic voltage scaling of OLED displays. Proceedings of the 48th ACM/EDAC/IEEE Design Automation Conference. New York, NY, USA. 2011. 53–58.
[13]
Dong M, Choi YSK, Zhong L. Power-saving color transformation of mobile graphical user interfaces on OLED-based displays. Proceedings of 2009 ACM/IEEE International Symposium on Low Power Electronics and Design. San Fancisco, CA, USA. 2009. 339–342.
[14]
Iranli A, Lee W, Pedram M. HVS-aware dynamic backlight scaling in TFT-LCDs. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2006, 14(10): 1103-1116. DOI:10.1109/TVLSI.2006.884151
[15]
Chen X, Zeng J, Chen YR, et al. Fine-grained dynamic voltage scaling on OLED display. Proceedings of the 17th Asia and South Pacific Design Automation Conference. Sydney, NSW, Australia. 2012. 807–812.
[16]
Dong M, Zhong L. Chameleon: A color-adaptive web browser for mobile OLED displays. IEEE Transactions on Mobile Computing, 2012, 11(5): 724-738. DOI:10.1109/TMC.2012.40
[17]
Jack K. Video Demystified. 4th ed. Burlington, MA Oxford: Newnes, 2005. 18–19.