1. Field of the Invention
One or more aspects of the present invention generally relate to backlit displays and, more particularly, to reducing power consumption of backlit displays by reducing an amount of backlighting.
2. Description of the Related Art
Liquid crystal display (LCD) screens used in notebook computers are commonly backlit to make them easier to read.
The LCD material 102, has electro-optic properties that cause the polarization of light which passes through the LCD material 102 to twist. This twisting may be controlled by applying a voltage waveform to the LCD material 102 for each pixel in an array of pixels. Typically, an electronic circuit that controls the array of pixels operates by accepting a digital control value for each pixel in the array of pixels. The control circuit will apply a voltage waveform to the LCD material 102 for a pixel based on the digital control value for the pixel. Generally, the control circuit is configured so that smaller digital control values result in application of a voltage waveform which causes the LCD material 102 to twist the light in such a way that more of the light it is blocked by the second polarizer 112, causing the pixel to appear darker. Conversely, larger digital control values result in application of a voltage waveform which causes the LCD material 102 to twist the light in such a way that less of the light it is blocked by the second polarizer 112, causing the pixel to appear brighter.
From a power consumption standpoint, LCD backlighting may be far from efficient. For example, while the backlighting element 108 may be set to a bright level to illuminate the LCD material 102, depending on the digital values of pixels to be displayed, the LCD material 102 may be in a twisting configuration which causes a substantial portion of the light passing through the LCD material 102 to be blocked by the second polarizer 112. In particular, cinematic lighting used in movies may result in a relatively dim screen overall, resulting in an inefficient use of backlighting. Thus, LCD backlighting may be particularly inefficient when viewing movies, such as DVD movies, on an LCD screen of a notebook computer. In fact, power consumption of a backlit LCD may account for a large portion of overall power consumption of a notebook computer. The inefficiencies due to LCD backlighting may lead to reduced battery life, which may be particularly problematic, for example, when viewing DVD movies on long airline flights.
Conventional approaches to reducing power consumption of a backlit LCD are typically limited to reducing an amount of backlighting (i.e., dimming). For example, a notebook computer may be configured to dim the backlighting in response to detecting a power supply has been unplugged from an AC power supply and that the notebook is being powered from a battery. However, by dimming the backlighting without adjusting pixel values to compensate for dimming the backlighting, the overall brightness of the LCD, as perceived by a user, may be undesirably reduced.
Accordingly, a need exists for an improved method and apparatus for reducing power of backlit displays while maintaining an overall perceptible level of brightness of the display.
Aspects of the present invention generally provide methods and apparatus for reducing power of a backlit display by dimming the backlighting and boosting the amplitude of pixel data to be displayed on the display.
According to some aspects of the present invention, the backlighting may be dimmed by a first scale factor and values of pixels to be displayed on the display may be boosted by a second scale factor inversely proportional to the first scale factor. The first and second scale factors may be constant values. Alternatively, either one or both of the first and second scale factors may be determined based on the pixel values for one or more frames to be displayed on the display or that have already been displayed on the display. For example, the first and second scale factors may be determined based maximum pixel values or an average linear amplitude of pixel values for one or more frames of pixels.
One or more other aspects of the present invention may include an integrated circuit for processing graphics. The integrated circuit may include a buffer for receiving a frame of pixels that have been gamma pre-compensated and a circuit coupled with the buffer for transforming values of the pixels from gamma space to linear space. The integrated circuit may be configured to transform the values of pixels from gamma space to linear space by raising the values of the pixels to a power of GAMMA. The integrated circuit may also be configured to receive a value of GAMMA via an application programming interface (API).
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical aspects of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective aspects.
Aspects of the present invention generally provide methods and apparatus for reducing power consumption of backlit displays by reducing an amount (i.e., dimming) of backlighting of the display and adjusting values of pixels to pass more light to compensate for the dimming. The methods and apparatus may be used to reduce the power consumption of any type of backlit displays, including backlit LCD displays, used in a variety of products, such as notebook computers, portable DVD players, personal digital assistants (PDAs), video cameras, and digital cameras.
In general, the pixel value scale factor (SCALEPIXEL) may be inversely proportional to the backlighting scale factor:
SCALEPIXEL=1/SCALEBL.
For example, if the backlighting scale factor is between 0 and 1 (e.g., so an amount of backlighting is reduced), the pixel value scale factor may be greater than one (e.g., so a pixel value is boosted). However, according to some aspects of the present invention, pixel values may be decreased to pass more light. Accordingly, a pixel value scale factor may also be less than one.
At step 204, the backlighting is dimmed according to the backlighting scale factor. The backlighting may be dimmed relative to an original (e.g., full scale) amount according to the following equation:
BLDIM=BLFULL
where BLFULL
At step 206, the values of pixels to be displayed on the display are boosted according to the pixel scale factor to compensate for the dimming. For example, a single pixel value may be boosted according to the following equation:
PVBOOST=PVORIG*SCALEPIXEL
where PVBOOST is the boosted pixel value and PVORIG is the original (unboosted) pixel value. The effect of boosting pixel values is illustrated in
As illustrated, the original pixel values of
As used herein, the term pixel value generally refers to a value that is indicative of a brightness of the pixel. Because pixel data may be represented in a variety of color formats, such as RGB (Red, Green, Blue) and YCrCb (luminance-chrominance components), pixel value formats may vary accordingly. Some color formats, may include a separate component corresponding to luminance (e.g., the Y component of YCrCb). For other formats, a luminance value may be a weighted combination of components (e.g., Red, Green, and Blue). Accordingly, boosting pixel values may require boosting a single component (e.g., Y for YCrCb format), or may require boosting multiple components (e.g., red, green, and blue for RGB format). Commonly, a graphical processing system will process video signals in more than one format.
For example, as illustrated in
A decoder 402 may receive an MPEG encoded video stream and decode the video stream into individual frames 406 sent to a frame buffer 404. The DVD video stream may be displayed in an overlay window on top of a primary (e.g., a standard PC desktop) window. Accordingly, individual frames 406 of the video stream may be sent to an overlay buffer 408, where they may be later combined with a primary frame from a primary buffer 414 via a combiner 416.
Because the MPEG algorithm operates on images represented in YUV color space, the system 400 may also include a color space converter 410 to convert a decoded image from YUV color space to RGB color space. Further, video signals are commonly gamma pre-compensated to account for non-linearities exhibited in cathode ray tube (CRT) screens. Due to the non-linearities, the screen intensity is not linear with respect to a pixel value input, and may be approximated by the following equation:
INTENSITY=k(PV)ψ
where k is a constant, PV is a linear pixel value, and gamma (ψ) is typically between 1.7 and 3.0, depending on the monitor. To compensate for this non-linearity, pixel values are often pre-compensated according to the following equation:
PVψ=(PV)1/ψ
Accordingly, the pixel values for the frames 406 in the frame buffer 404 may be gamma compensated.
However, because digitally controlled LCDs do not typically exhibit the same non-linear behavior associated with CRT monitors, it may be desirable to de-gamma compensate the pixel values before sending them to the display. Accordingly, the graphics processing system 400 may also include a de-gamma module 412 to transform gamma-compensated pixel values back to linear space. The de-gamma module may apply the following equation to pixel values of a frame from the overlay buffer:
PVLIN=(PVψ)ψ.
Subsequently, a linear scale factor may be applied to boost the pixel value, resulting in a desired linear increase in brightness.
Alternatively, pixel values may be boosted prior to performing the de-gamma function on the pixel values. In other words, rather than apply a linear scale factor the scale factor would be gamma compensated:
SCALEψ=(SCALELIN)1/ψ
Accordingly, whereas the linear scale factor for the pixel values may be inversely proportional to backlighting scale factor, the gamma compensated scale factor may be inversely proportional to the inverse gamma:
SCALEψk(1/SCALEBL)1/ψ.
An additional step to convert from a linear scale factor to a gamma compensated scale factor may be used with some performance penalty.
The value of gamma used by the de-gamma module 408 may be adjustable. Further, the de-gamma function may be performed in hardware or software. To perform the de-gamma function in hardware, a value for gamma may be passed to the graphics processing system, for example, via an application program interface (API). Alternatively, a constant value of gamma may be used for the de-gamma function. For example, because a default value of 2.2 is often assumed for gamma pre-compensation, the de-gamma module 408 may use a gamma of 2.2. Further, to simplify equations, gamma may be approximated with a constant value of 2 (e.g., hardware and software may have an easier time performing squares and square roots).
Other elements of system 400 may also be implemented as hardware or software. For example, a pixel boost module 420 used to boost pixel values may be part of the combiner 416. The pixel boost module 420 may boost pixel values during a scanout routine, in which pixel values are sent to the display. Alternatively, pixel values may be boosted in software. For example, a software algorithm may boost pixel values of frames 406 in the frame buffer 404.
System 400 may include any suitable means to adjust an amount of backlighting. For example, the system 400 may include a pulse width modulated (PWM) output 418. The amount of backlighting may be adjusted by varying a duty cycle of the PWM output 418. The duty cycle of the PWM output 418 may be varied, for example, via an API call. As illustrated, a simple resistor and capacitor may be coupled with the PWM output 418 to generate an analog signal suitable for a backlighting element. Alternatively, system 400 may generate an analog signal directly.
Dimming/boosting operations 500 begin at step 502. At step 504, the backlight is dimmed by a constant scale factor. Steps 506-518 represent an outer loop of operations that may be performed for each frame, while steps 508-516 represent an inner loop of operations that may be performed for each pixel in a frame. Depending on the implementation used to perform the operations 500, the operations of steps 508-516 may be performed on multiple pixels in parallel.
At step 510, if the pixel values in the frame have been gamma compensated, the pixel value is de-gamma compensated at step 512. At step 514, the pixel value is boosted by a constant scale factor and clamped (e.g., to avoid screen wrap). As previously described, the operations of de-gamma compensation and boosting the pixel values may be performed in hardware or software and may be performed at various points in processing. For example, pixel values may be boosted during a scanout routine.
At step 516, if there are more pixels, the operations of steps 508-514 are repeated. At step 518, if there are more frames, the operations of steps 506-516 are repeated. Otherwise, operations 500 end at step 520.
While operations 500 work to maintain brightness by boosting the pixels, an overall brightness of the display may be reduced due to clamping of pixel values at step 514. The reduction in brightness due to clamping pixel values may or may not be perceptible, depending on the number of pixel values clamped. However, to compensate for pixel value clamping, the scale factor used for boosting the pixels may be increased responsive to a measured amount of clamping.
For example,
However, at step 608, a pixel value scale factor is calculated based on an average linear amplitude of the pixel values in the frame. At steps 610-614, each pixel value is boosted using the calculated pixel value scale factor.
Blocks 608A and 608B illustrate exemplary operations for calculating a pixel value scale factor based on an average linear amplitude of the pixel values of a frame using different techniques for calculating the average linear amplitude. As illustrated in block 608A, an average linear amplitude for the frame of pixels may be calculated in the looped operations of steps 620-626. At step 622, a linear amplitude is calculated for each pixel, and at step 624, the calculated linear amplitudes for each pixel are accumulated. The accumulated linear amplitudes for each pixel may be normalized to a value between 0 and 1. At step 628, the pixel value scale factor is then calculated based on the accumulated linear amplitudes for each pixel.
For some aspects, rather than calculate a linear amplitude for each pixel value, linear amplitudes may be calculated for pixel values of a set of sampled pixels. The number and location of the set of sampled pixels may be chosen in an effort to provide an accurate estimate of the average linear amplitude of the frame.
Further, as illustrated in block 608B, rather than calculate a linear average for each pixel, DC terms corresponding to an average linear amplitude for blocks of pixels in a frame may be obtained at step 632 and accumulated at step 634. For example, DC terms for a block of 8×8 pixels may be provided as part of an MPEG encoded video stream. At step 638, the pixel value scale factor is then calculated based on the accumulated DC terms. Because each block may represent several pixels (e.g., 8×8), the operations of block 608B may require less processing time (i.e., fewer times through the loop) time than the operations of block 608A.
The pixel value scale factor may be calculated in an effort to maintain the calculated average linear amplitude for the frame of pixels after dimming the backlighting the same as before dimming. The average linear amplitude after scale may be calculated by the following equation:
LA=SCALEBL*LABOOST
where LA represents the average linear amplitude for the pixel values before scale and LABOOST represents the average linear amplitude of the pixel values after boosting the pixel values with the pixel value scale factor. Due to clamping, the linear amplitude after boosting may be reduced:
LABOOST=SCALEPV*LA−LOSSCLAMPING.
Combining the two equations above, absent any loss due to clamping, the average linear amplitude may be calculated by the following equation:
LA=SCALEBL*SCALEPV*LA.
Accordingly, absent any loss due to clamping, the average linear amplitude may be maintained by setting SCALEPV to 1/SCALEBL. However, if pixel values are clamped, the equation becomes:
where the first term in brackets represents the linear amplitude of pixel values unclamped after scale (i.e., L<=1/SCALEPV), while the second term represents the linear amplitude of pixel values clamped after scale (i.e., L>1/SCALEPV), which are clamped to 1.
A loss in linear amplitude due to clamped pixels may be calculated by the following equation:
where the first term represents the boosted pixel value before clamping.
Accordingly, the linear amplitude after boost may be rewritten as:
LABOOST−LA−LOSSCLAMPING
so the equation for linear amplitude may be rewritten as:
LA=SCALEBL*SCALEPV*(LA−LOSSCLAMPING)
Solving for SCALEPV yields the following equation:
SCALEPV=(1/SCALEBL)*[LA/(LA−LOSSCLAMPING)].
Thus, the term in brackets represents an increase in the pixel value scale factor based on the amount of loss due to clamping.
According to other aspects of the present invention, the average linear amplitude for a previous frame may be used to calculate the pixel value scale factor. An advantage to this approach is that the linear amplitudes of pixel values of a current frame may be calculated and accumulated prior to boosting the pixel values (e.g., during scanout), which may avoid an extra loop through the pixels. In other words, the current frame of pixel values may be used to predict the average linear amplitude of the next frame. This approach may produce acceptable results, particularly if there is little variation from frame to frame. As another alternative, an average linear amplitude may be pre-calculated for pixel values of a frame in a frame buffer, prior to displaying the frame.
According to other aspects of the present invention, the pixel value scale factor may be constant and the backlighting scale factor may be calculated in an effort to maintain an average linear amplitude of a frame of pixels. In other words, the backlighting scale factor may be increased (i.e., so the backlighting is brighter) to compensate for a loss in average linear amplitude due to clamping.
For still other aspects, as illustrated in
The backlighting scale factor may calculated, at step 708, using the calculated average linear amplitude. For example, assuming the average linear amplitude is normalized to a value between 0 and 1, the backlighting scale factor may be set to the normalized average linear amplitude:
SCALEBL=LA
The pixel value scale factor may be calculated, for example, as:
SCALEPV=(k/SCALEBL)−ε
where a factor k may be calculated to account for clamping loss, as previously described, and ε may allow for other adjustments. For example, the pixel value scale factor may be reduced by to allow an amount of headroom in an effort to prevent clipping from one frame to the next. A value of ε may be determined, for example, based on a previous frame of pixel values.
For some aspects scale factors for dimming backlight and boosting pixel values may be based on a maximum value of one or more pixels in a frame, rather than an average linear amplitude. For example,
Operations 800 begin at step 802. Steps 804-818 represent looped operations performed for each frame. At step 806, pixel values are sampled to determine a maximum pixel value. At step 808, a backlighting scale factor and pixel value scale factor are calculated based on the determined maximum pixel value. At step 810, the backlighting is dimmed using the backlighting scale factor and the pixel values are boosted at steps 812-816.
As illustrated by steps 830-838, each pixel value in a frame may be sampled to determine the maximum pixel value. The backlighting scale factor may then be simply set to the maximum pixel value (normalized between 0 and 1) at step 840. The pixel value scale factor may be set to the inverse of the maximum pixel value at step 842. An advantage to setting the pixel value scale factor to the inverse of the maximum pixel value is that it may guarantee no clamping of pixel values during the scale operations of steps 812-816.
However, because a single pixel value may determine the backlighting scale factor, as illustrated in
Therefore, variations of the operations 800 illustrated in
SCALEBL=MAXN
Alternatively, the backlighting scale factor may be set to an average of the N maximum pixel values:
The value of N may be varied in either case, for example, to provide a tradeoff between image quality due to clamping and power savings. The pixel value scale factor may be set to an inverse of the backlighting scale factor.
As illustrated in
Steps 906 through 924 represent looped operations performed for each frame. At step 907, the backlighting and pixel value scale factors are determined using the maximum pixel value of the previous frame. As previously described, assuming a normalized maximum pixel value between 0 and 1, the backlighting and pixel value scale factors may simply be set to the maximum pixel value and the inverse of the maximum pixel value, respectively.
At step 908, the backlighting is dimmed using the backlighting scale factor. Steps 914-924 represent looped operations performed for each pixel in the current frame. At step 914, the current pixel value is compared against the current maximum pixel value for the frame (which is initialized to 0 at step 910). If the current pixel value is greater than the current maximum value, the current maximum value is set to the current pixel value at step 916. At step 918, the current pixel value is boosted using the pixel value scale factor. At step 920, the boosted pixel value is sent to the display.
Operations 900 may use the maximum pixel value from the previous frame to predict the maximum value of the current frame. An advantage to technique may be that the maximum pixel value may be determined during a scanout routine (steps 912-922). Thus, a separate scan through the pixel values to determine the maximum pixel value may be avoided, potentially improving performance.
However, if the current frame includes pixel values above the maximum value of the previous frame, these pixel values may be clamped. For some aspects, the backlighting scale factor may be increased (i.e., less dimming) and the pixel value scale factor decreased to allow an amount of headroom for pixel values above the maximum value of the previous frame, in an effort to reduce clipping. As previously described, backlighting and pixel value scale factors may also be determined based on N sampled maximum pixel values for the previous frame.
Further, according to some aspects, maximum pixel values from more than one previous frame may be factored into determining scale factors for backlighting and pixel values. For example, as illustrated in
A response time of a backlighting element may be relatively slow when compared to pixel value changes. As a consequence, the backlighting element may not be able to change backlighting fast enough to keep up changes in scaled pixel values. Accordingly, a length of the low pass filter 1000 may be chosen according to a response time of a backlighting element. For example, a backlighting element may take up to 150 ms to respond to change over the entire backlighting range. Assuming a frame rate of 24 fps, the backlighting element may require approximately 4 frames to change the backlighting full scale. Accordingly, a filter length may be set to at least 4, such that the data-dependent parameters (e.g., max values, average linear amplitudes, etc.) of at least four frames are filtered.
Further, according to some aspects, operations may include monitoring the amount of change in a backlighting scale factor from a previous value to a current value based on pixel data (e.g., maximum values or average linear amplitude) of a current frame to determine whether to use the filtered output or not. For example, if the change to the backlighting scale factor based on pixel data from the current frame is small enough that the backlighting may respond fast enough to make the change in one frame, the backlighting scale factor based on pixel data from the current frame value may be used. Alternatively, a backlighting scale factor based on the filtered output may be generated.
As previously described, a predetermined amount of loss in screen brightness due to pixel value clamping (“clamping loss”) may be an acceptable penalty for a reduction in power savings. According to some aspects of the present invention, backlighting and pixel value scale factors may be adjusted in an attempt to maintain clamping loss within a predetermined range. For example,
At step 1106, the backlighting is dimmed using the backlighting scale factor. At step 1108, for each frame, pixel values are boosted using the pixel value scale factor and clamped at step 1110. At step 1112, the loss of screen brightness due to clamping pixel values is measured. As previously described, loss of screen brightness may be determined by summing an amount of linear amplitude loss due to each clamped pixel value. At step 1114, if there are no more frames, the operations 1100 end at step 1116.
Otherwise, at step 1118, the clamping loss is compared to a high threshold value. If the clamping loss exceeds the high threshold value, the pixel value scale factor is decreased and the backlighting scale factor is increased at step 1120. Decreasing the pixel value scale factor may reduce the amount of clamping, and the associated loss in screen brightness (at the expense of power savings). The pixel value scale factor and backlighting scale factors may be decreased and increased, respectively, using any suitable increments. For example, the increments may represent a fixed percentage of an overall range of the scale factors.
If the clamping loss does not exceed the high threshold value, at step 1122, the clamping loss is compared to the low threshold value. If the clamping loss falls below the low threshold value, the pixel value scale factor is increased and the backlighting scale factor is decreased at step 1124. Decreasing the backlighting scale factor may result in increased power savings.
The high and low thresholds may be adjustable based on a desired result. For example, for aggressive power savings, the high threshold may be set relatively high. Alternatively, for higher quality images, with less clamping, the high threshold may be set relatively low. The low threshold may also be set relatively low to maintain a low pixel value scale factor and minimize clamping. In either case, the difference between the high and low threshold values may be chosen to provide an amount of hysteresis and avoid rapid changes in backlighting, which may be noticeable and distracting to a viewer.
Further, according to some aspects, changes in the scale factors may only be made at scene changes in an effort avoid noticeable changes in brightness. In other words, scene changes typically are typically accompanied by a corresponding change in frame brightness, so any change in brightness due to changing the backlighting dimming and/or boosting the pixel values may be less noticeable. In fact, scene changes may be detected based on a change in average linear amplitude (e.g., above a given threshold) from one frame to another.
While the foregoing is directed to aspects of the present invention, other and further aspects of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow. In the claims, the order in which steps and/or operations are listed do not imply any particular order for performing the steps, unless specifically stated in the claim.
This application is a divisional of U.S. patent application Ser. No. 11/619,160, filed Jan. 2, 2007, which is a divisional of U.S. patent application Ser. No. 10/316,521, filed Dec. 11, 2002, issued as U.S. Pat. No. 7,176,878 on Feb. 13, 2007.
Number | Name | Date | Kind |
---|---|---|---|
4873516 | Castleberry | Oct 1989 | A |
4998045 | Ruby | Mar 1991 | A |
5526050 | King et al. | Jun 1996 | A |
5646702 | Akinwande et al. | Jul 1997 | A |
5903261 | Walsh et al. | May 1999 | A |
6452582 | Rolston | Sep 2002 | B1 |
6621482 | Fuller | Sep 2003 | B2 |
6654082 | Sohda et al. | Nov 2003 | B1 |
6801220 | Greier et al. | Oct 2004 | B2 |
6841947 | Berg-Johansen | Jan 2005 | B2 |
7002546 | Stuppi et al. | Feb 2006 | B1 |
7154468 | Linzmeier et al. | Dec 2006 | B2 |
7176878 | Lew et al. | Feb 2007 | B2 |
7327866 | Bae et al. | Feb 2008 | B2 |
7573457 | Daly | Aug 2009 | B2 |
7729510 | Zakrzewski et al. | Jun 2010 | B2 |
20010033260 | Nishitani et al. | Oct 2001 | A1 |
20020085155 | Arikawa | Jul 2002 | A1 |
20020180687 | Webber | Dec 2002 | A1 |
20030001815 | Cui | Jan 2003 | A1 |
20030161531 | De Grandi | Aug 2003 | A1 |
20040113906 | Lew et al. | Jun 2004 | A1 |
20050110740 | Linzmeier et al. | May 2005 | A1 |
20050122287 | Nishitani et al. | Jun 2005 | A1 |
20050128352 | Gryskiewicz | Jun 2005 | A1 |
20050156871 | Ikeda | Jul 2005 | A1 |
20090073108 | Gorog | Mar 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
Parent | 11619160 | Jan 2007 | US |
Child | 11955276 | US | |
Parent | 10316521 | Dec 2002 | US |
Child | 11619160 | US |