1. Introduction
Recent advances in mobile technology have enabled people to use their mobile devices such as smartphones and tablet PCs anytime, anywhere. Organic light-emitting diode (OLED) displays become widely used as their display devices because they have many advantages compared with liquid crystal display (LCD) displays such as wide viewing angles, high picture quality, thin form factor and so on [
1].
Display is known to be one of the biggest energy consumers in mobile devices. Although OLED has no backlight, consuming relatively lower power than LCD with backlight, it still consumes a high proportion of power in mobile devices [
1]. For example, it is known to account for as much as two-thirds of the power used by the device, which makes its effective power management essential. In addition, the tendency to use smartphones with large displays makes this power problem worse.
Each pixel in OLED is composed of light emitting diodes with three primary colors (red, green, and blue), and a combination of these colors allows the representation of a specific color. The amount of power consumed by the OLED display is then highly dependent on the intensity of these colors; thus, a pixel with white color with the highest intensity consumes the highest power, whereas that with black color consumes the lowest power [
1,
2]. Therefore, reducing their intensity is known as an effective way to reduce OLED power consumption and most of the OLED power management schemes were developed using this property. For example, some methods converted the colors of graphical user interface (GUI) objects with high power consumption to the color with low power consumption [
2]; some other methods have shrunken bright areas in the display by using dimming techniques [
3,
4]; several methods made use of alpha blending techniques to reduce the brightness level [
5]. However, these kinds of methods may degrade quality-of-experience (QoE) perceived by users.
Power capping for smartphones is an important issue for users as well as application developers. For users, if the remaining battery capacity is low, it is very necessary to minimize the consumed power and use it within the specified power limit. It is thus essential to develop application programs to run within its power budget, which requires exact power estimation depending on the application characteristics. What is more, in many cases, OLED power reduction may entail QoE degradation, and effective compromise of this tradeoff is mandatory.
Games are one of the most popular applications in smartphones and typically consist of several GUI objects. By changing the colors of the GUI objects to those with low power consumption, OLED power can be effectively reduced [
2,
6]. However, most of the previous works took no account of power capping issues and color preference. In particular, although QoE is highly dependent on the results of personalized color preference [
7,
8], to the best of our knowledge, there was no attempt that tackles this issue in terms of OLED power optimization.
This paper proposes a new power management scheme for GUI applications with multi-color objects in OLED-based mobile devices. To derive power model against GUI object colors, power was actually measured, while to take account of personal color preference, a color preference model is presented based on Euclidean distance in CIELAB color space. Based on the color preferences and power values of each GUI object, an optimization problem is formulated to reflect users’ color preference as much as possible subject to the power budget. Then, a dynamic programming algorithm is proposed to select the optimal color for each GUI object. To examine the effect of color preference on power consumption, we extensively evaluate our scheme in terms of power and color preference on a commercial smartphone.
The rest of this paper is organized as follows:
Section 2 reviews related work,
Section 3 presents system model, and
Section 4 proposes a new power management algorithm,
Section 5 presents experimental results, and
Section 6 concludes the paper.
2. Related Work
As OLED displays in smartphones are gaining popularity, many studies have been conducted to reduce their power consumption. For example, several color-conversion techniques have been presented using the relationship between color usage and OLED power consumption. Dong and Zhong [
2] developed a web browser that allows color transformation based on a color-mapping table that reflects user preferences. To avoid high computational overhead on smartphones, this mapping table is constructed offline on a cloud server. Li et al. [
6] developed an automatic way to rewrite a web application that produces energy-efficient web pages based on a program analysis of the structure of the web-application implementation. Linares-Vasquez et al. [
9] also developed a color-conversion technique that generates color palettes using a multi-objective optimization technique. This technique produces color maps by optimizing the contrast while using consistent colors with respect to the original color palette. Chang et al. [
10] presented an OLED power-saving scheme under scrolling operations for web browsers based on the generation of power-saving color-transformation maps for web pages. Most of the studies mentioned above, however, were developed specifically for web applications.
Some previous studies made use of partial dimming techniques in which a portion of the display is darkened to reduce power consumption. Tan et al. [
3] proposed a technique that darkens relatively non-focused display areas to take account of user usage patterns. Chen et al. [
4] presented a method for darkening the touched part by tracking the touch of the finger on the smartphone. Ginny et al. [
11] proposed a dynamic local dimming scheme that dims the display region of non-critical application windows by making use of context switching information among applications. Lin et al. [
12] developed an app called ShiftMask that enhances the display region of users’ interests, while dimming the remainder of the screen. To find the regions of interests, it kept track of visual attention, changes in view focus, screen scrolling, etc. Yeh et al. [
13] presented a visual-attention-based pixel dimming technique to achieve power saving for real-time video playback. For this purpose, they extracted a motion vector from each frame to partially dim unnoticeable parts of the video frames.
Alternatively, some previous works have attempted to minimize image quality degradation during the process of color conversion. Li et al. [
14] presented a scheme to change the display color of regions that are not classified as regions of interest by making use of edge-detection algorithms. Lin et al. [
15] proposed a power saving scheme that minimizes image distortion incurred during the dimming process by analyzing humans’ focus of attention. Yan et al. [
16] presented a scheme called ShutPix, which is a power-saving display system for OLED smartphones that can optimally shut off the redundant subpixels before the content is displayed. Pagliari et al. [
17] focused on reducing overheads required for image quality enhancement during the process of color conversion, which is necessary for OLED power minimization.
Parameters used in video processing affect OLED power consumption. By exploiting this property, Lin et al. [
15] adjusted the degree of brightness in GUI applications by reducing the brightness of display areas that are not attracting the interest of the user at a given moment. Chen et al. [
18] developed a video-recording system called MORPh that optimizes the parameters of video clips during the video-recording phase to reduce OLED energy consumption in video playback. Park and Song [
19] presented an alpha-blending scheme specifically for video playback, wherein the brightness factors are dynamically adjusted by considering QoE. Refresh rates in display systems also have a significant impact on OLED power consumption. Kim et al. [
20] presented a scheme that optimally adjusts the refresh rates according to the content frame rate. This allows for the elimination of redundant display updates, thereby minimizing OLED power consumption.
A QoE metric is the result of personal preferences, which need to be reflected in power optimization. For example, Yan et al. [
21] examined how the use of dynamic backlight scaling policies employed in LCD power optimization affects QoE and proposed the combination of different backlight scaling techniques. However, to the best of our knowledge, no OLED power management scheme has been reported that limits power consumption based on personal color preferences.
4. Color Selection Algorithm
4.1. Problem Formulation
Based on the color preferences and power model in the previous section, we here formulate an optimization problem that selects the color of each GUI object to maximize the overall color preference score while limiting the overall smartphone power consumption. Let
be the selection parameter indicating that the
-th color is selected for the
i-th GUI object,
. Then, the overall color preference score for all the GUI objects can be calculated as
. The objective of the problem is to limit the smartphone power consumption by
. We can then formulate the color selection problem
that determines the value
,
for GUI object
i,
, as follows:
The
is NP-hard because it may correspond to a multiple-choice knapsack problem [
25]. In a multiple-choice knapsack problem, there is a limited-weight knapsack; each object has different items, each of which has a weight and a profit. This problem then determines the item of each object to be included into the knapsack to maximize the total profit of the objects in the knapsack, subject to the limited knapsack weight. The
has a finite number of GUI objects that can be filled with one of the
different colors, where each color
j for each GUI object
i also has
and
values. Then, the
determines the color of each object to maximize the overall color preference score, subject to the power budget
.
4.2. Color Selection Algorithm
Here, we present a dynamic-programming algorithm called color selection algorithm (CSA) that provides an optimal solution for the . The CSA basically builds a table that contains a tuple composed of a maximum color preference score and its color index for each GUI object i and power value, m, (here, the minimum unit of power value is set to 1 mW). Let be the maximum color preference score that can be achieved for the GUI objects from 1 to i when the power value is m, . It then uses a recurrence relationship between two consecutive GUI objects, i and , to find the values of , so as to fill the entire table. Given that represents the maximum color preference score, represents the optimal color preference score achieved over all the GUI objects when the power budget is .
The CSA also records the color index for each object i that achieves the maximum color preference score of so that the algorithm can find the values of after all the columns in the table are filled using recurrence. Let be the color index for object i that should be selected to produce the value of when the power value is m. Therefore, the CSA is composed of three phases, namely initialization, recurrence establishment, and color determination:
Initialization: To fill the initial values for the entire table that stores tuples of (,), the values of , are all initialized to 0 and 1, respectively, . Next, for all the values of m, , the values of and for the first GUI object are initialized according to the following steps:
- (a)
It first finds the color indices of the first object that satisfies .
- (b)
Among these colors, the index of the color with the maximum value of can be chosen for .
- (c)
is then set to .
Recurrence establishment: In this phase, a recurrence relationship is established to find the values of from the second GUI object, . The recurrence relationship between and can be found as follows:
- (a)
For all color indices of j, , the values of are calculated.
- (b)
Then, the value, , is compared with the value of . Then, the value of is updated with the larger value between these two values.
- (c)
can be then calculated as .
Color determination: After completing the recurrence process, we can find the value of that contains the maximum color preference score achieved over all the GUI objects when the power is limited by . Given that contains the color index for the th GUI object to achieve the maximum color preference score, the value of is set to . Next, the backtracking phase starts to find the color indices of the previous GUI objects, from object to 1, step by step. For example, suppose that the backtracking step chooses as the color index of GUI object . Then, the color index of the i-th GUI object can be set to because the value of is allocated for the power of the GUI object . This backtracking step needs to be run until the color index of the first GUI object can be found.
Algorithm 1 shows the details of the algorithm including an initialization step (lines 2–14), a recurrence establishment step (lines 15–27), and a backtracking step (lines 28–33). The recurrence establishment step in turn includes nested “for" loops, which incur time complexity,
, (lines 15–27). The algorithm builds a table that contains a tuple composed of (
,
) for the GUI objects from 1 to
i when the energy limit is
m. The initialization step fills the table for the first GUI object (lines 8–14), and based on recurrence, it fills remaining columns, (lines 15–27) so that
represents the optimal color preference score achieved for energy limit,
. Since the color index,
for each column is stored in the table, the color index of each GUI object can be found using a backtracking technique (lines 15–27).
Algorithm 1 Color Selection Algorithm (CSA) |
- 1:
Temporary variables: and - 2:
for to do - 3:
for to do - 4:
- 5:
- 6:
end for - 7:
end for - 8:
for to do - 9:
Find a set S for all the color indices of the first object satisfying ; - 10:
if then - 11:
- 12:
- 13:
end if - 14:
end for - 15:
for to do - 16:
for to do - 17:
- 18:
for to do - 19:
if then - 20:
if then - 21:
- 22:
- 23:
end if - 24:
end if - 25:
end for - 26:
end for - 27:
end for - 28:
, - 29:
whiledo - 30:
- 31:
- 32:
- 33:
end while
|
4.3. Use of CSA Algorithm
Figure 1 shows two display images before and after the CSA is applied when
.
Table 3 shows the color and CIE color coordinate values selected for each GUI object, which indicates that the CSA aims at minimizing color differences.
Some existing mobile applications have multi-color objects. Since our color preference model is mainly developed for single-color GUI objects, it cannot be applied directly to the multi-color objects. One way to extend this model to support multicolored objects is to divide each GUI object into multiple segments of a single color, so that each segment can be an individual object of a single color. Since the pixel-wise power value for each color is already available, the power values of the segments can be easily derived regardless of the shape of each segment.
6. Conclusions
We proposed a method that considers the color preferences of the users to limit the power consumption of applications with multiple GUI objects. First, we developed a color preference model to derive a color preference score for each color based on a color difference model in the CIELAB color space and an OLED power model to derive the power consumption of each color based on real power measurements. A color selection problem was formulated to maximize the overall color preference score while limiting the power consumption of the smartphone, and a dynamic programming algorithm was presented to derive an optimal combination of colors for each GUI object.
Experimental results show that the CSA can reduce the total power consumption of an OLED smartphone by up to 27.3% when less than 10% in color preference score degradation is allowed. They also demonstrated that our scheme is accurate in terms of power limitations, achieving a maximum average difference of 2.15% compared to real measurements. The scheme can also maximize the overall color preference score by choosing the colors that achieve the highest score at the lowest power consumption. As our future works, we plan to apply machine learning techniques to derive a color preference model based on measured preference data.