The present systems and methods relate generally to computers and computer-related technology. More specifically, the present systems and methods relate to reducing power consumption in a device through a content adaptive display.
Electronic devices typically include a display. A display type may use a liquid crystal display (LCD) because of its low-cost, readability and low power consumption. Without a backlight, an LCD has poor readability with low ambient light levels. An LCD may include a backlight to light the display and thereby enhance readability. A backlight, which is typically an incandescent light, consumes more electrical power than the LCD itself. A typical portable electronic device is battery-powered. Conservation of battery power is important to increase the operating duration of the device. Activating the backlight for the LCD display consumes a significant amount of battery power and therefore decreases the operating time of the device.
A method for reducing power consumption in a device through a content adaptive display is described. A frame of an image is received. A backlight value is calculated. A scaling factor is calculated. The backlight value is applied to a backlight. The scaling factor is applied to a matrix of pixels to obtain a scaled matrix of pixels. The scaled matrix of pixels is displayed.
An apparatus for reducing power consumption through a content adaptive display is also described. The apparatus includes a processor and memory in electronic communication with the processor. Instructions are stored in the memory. The instructions are executable to: receive a frame of an image; calculate a backlight value; calculate a scaling factor; apply the backlight value to a backlight; apply the scaling factor to a matrix of pixels to obtain a scaled matrix of pixels; and display the scaled matrix of pixels.
A system that is configured to reduce power consumption in a device through a content adaptive display is also described. The system includes a means for processing and a means for receiving a frame of an image. A means for calculating a backlight value and a means for calculating a scaling factor are also described. A means for applying the backlight value to a backlight and a means for applying the scaling factor to a matrix of pixels to obtain a scaled matrix of pixels are also described. A means for displaying the scaled matrix of pixels is also described.
A computer readable medium is also described. The medium is configured to store a set of instructions executable to: receive a frame of an image; calculate a backlight value; calculate a scaling factor; apply the backlight value to a backlight; apply the scaling factor to a matrix of pixels to obtain a scaled matrix of pixels; and display the scaled matrix of pixels.
Various configurations of the present systems and methods are now described with reference to the Figures, where like reference numbers indicate identical or functionally similar elements. The aspects of the present systems and methods, as generally described and illustrated in the Figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of several configurations of the present systems and methods, as represented in the Figures, is not intended to limit the scope of the systems and methods, as claimed, but is merely representative of the aspects of the systems and methods.
Many features of the configurations disclosed herein may be implemented as computer software, electronic hardware, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various components will be described generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present systems and methods.
Where the described functionality is implemented as computer software, such software may include any type of computer instruction or computer executable code located within a memory device and/or transmitted as electronic signals over a system bus or network. Software that implements the functionality associated with components described herein may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across several memory devices.
As used herein, the terms “a configuration,” “configuration,” “configurations,” “the configuration,” “the configurations,” “one or more configurations,” “some configurations,” “certain configurations,” “one configuration,” “another configuration” and the like mean “one or more (but not necessarily all) configurations of the disclosed systems and methods,” unless expressly specified otherwise.
The term “determining” (and grammatical variants thereof) is used in an extremely broad sense. The term “determining” encompasses a wide variety of actions and therefore “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like.
The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.”
Power saving may be a constant concern for portable electronic or mobile devices. Power may be saved while not significantly reducing the quality of operation or service of the device. In one configuration, a backlight of a liquid crystal display (LCD) consumes a large amount of power of the device. The LCD display may consume from about 30% to 50% of the total power of the device depending on the status of the device. Backlight scaling may be used to reduce the amount of backlight for the LCD display while minimizing its impact on the perceived brightness and distortion on the display. The scaling process may be adaptive in order to accommodate for the frequent change of content on the LCD display.
Luminance of the LCD display may be a function of the luminance of the backlight and the transmittance of an LCD matrix. The luminance of the LCD display may be represented by:
L=t(x)bl (1)
In the above equation, L may represent the luminance of the LCD display, bl may represent the luminance of the backlight and t(x) may represent the transmittance of the LCD matrix. The transmittance of the LCD matrix may be approximated as a function of a pixel grayscale level x. A display may have the same luminance when the backlight is scaled down (dimmed) by a factor, β, while the transmittance (or value of one or more pixels) of the LCD matrix is scaled up by a factor, τ. In one configuration, τ=1/β. In another configuration, τ=(1/β)(1/γ), where γ is the display characteristic parameter.
The power of the backlight may be a function of its luminance (i.e., brightness). In portable or mobile devices, backlight brightness may be controlled through a Pulse Width Modulation (PWM) method, which makes brightness a linear function of backlight power. By reducing the backlight by a factor of β, the overall display may consume less power by a factor close to β.
The MSM 108 may also communicate a scaling factor 114 to an LCD matrix 106. The LCD matrix 106 may include the pixels associated with the input frame 110 arranged in a matrix formation. In one configuration, each pixel within the LCD matrix 106 may include a value for different colors. For example, a single pixel may include a value for each color of red, blue and green. The scaling factor 114 may be used to determine the intensity of each color value associated with a pixel. For example, the scaling factor 114 may indicate that the value for the color red should be increased for one or more pixels within the LCD matrix 106. An adjusted LCD matrix 118 may be portrayed on the display 102. In one configuration, the LCD matrix 106 may include multiple input frames which may each be adjusted to an adjusted LCD matrix 118 and placed on the display 102 to form an image.
In another configuration, backlight B 109 may emit a light source that has been altered by a function of (β). The function of (β) may cause the light source to include a brightness of less intensity than the light source emitted from backlight A 103. The light source from backlight B 408 may illuminate LCD matrix B 115 which includes input frame B 113. Input frame B 113 may be made up of one or more pixels. The original value of each pixel may be a function of (x). In one configuration, the value of each pixel in input frame B 113 may be altered by a scaling factor. In one configuration, the scaling factor is a function of (x, β). In other words, the scaling factor may be a function of the brightness intensity of the light source emitted from backlight B 109. The emitted light source from backlight B 109 may illuminate LCD matrix B 115 to produce image B 117. Image B 117 may be displayed on a display, such as display 102.
The previously calculated backlight value may be applied 208 to a backlight. The backlight may use the backlight value to alter the brightness intensity of a light source. In addition, the previously calculated scaling factor may be applied 210 to a matrix of pixels, such as an LCD matrix. The LCD matrix may use the scaling factor to alter the brightness intensity of one or more values associated with one or more pixels in the LCD matrix. In one configuration, the input frame is displayed 212 on a display. The displayed input frame may include an adjusted LCD matrix that has been adjusted by the scaling factor. The displayed input frame may also be illuminated by the light source emitted from the backlight. The light source may include the brightness intensity indicated by the calculated backlight value.
In one configuration, software 303 may write an input frame 310 of an image to a media display processor (MDP) 316, which may be part of an MSM 308. The MDP 316 may use the input frame 310 to update a display 302. The adaptive backlight control 320 may also receive the input frame 310. In one configuration, the input frame 310 is “snooped” by the adaptive backlight control 320 when the software 303 writes this frame 310 to the MDP 316. The adaptive backlight control 320 may calculate a backlight value 312 for the input frame 310. The backlight value 312 may indicate the minimum brightness intensity that may be used to illuminate the input frame 310 on the display. The backlight value 312 may be provided to an LCD module 322. The module 322 may include a pulse width modulation (PWM) backlight control 324. The PWM 324 may control the brightness of a light source emitted from a backlight 304. The PWM 324 may communicate the backlight value 312 to a direct current (DC)-DC converter 326. The DC-DC converter 326 may convert the backlight value 312 into a format that is readable by the backlight 304. The backlight 304 may then emit a light source to the display 302. The light source may be adjusted to the brightness intensity indicated by the backlight value 312.
The adaptive backlight control 320 may also provide gamma table information 328 to the MDP 316. The gamma table information 328 may include information relating to the backlight value 312. In one configuration, the gamma table information 328 may be provided to a gamma table 318. The gamma table 318 may include a programmable look up table (LUT). The gamma table 318 may use the gamma table information 328 to determine a scaling factor 314 that is communicated to an LCD matrix 306. The LCD matrix 306 may include the input frame 310. The scaling factor 314, as previously stated, may indicate a value for the one or more pixels of the input frame 310 in the LCD matrix 306. The LCD matrix 306 may use the scaling factor 314 to adjust the one or more pixels and an adjusted input frame may be portrayed by the display 302. In another configuration, the scaling factor 314 may be communicated directly to the LCD module 322. The module 322 may then be instructed to apply the scaling factor 314 to individual LCD matrix points within the LCD matrix 306.
In one configuration, the information provided from the histogram may be used to select 406 a maximum distortion level for the input frame. The maximum distortion level may be selected 406 by categorizing the image. For example, the image may be categorized as low key images with short or long tails, wide images or high key images with short or long tails. In one configuration, information available in an image histogram may be utilized to obtain the image categorization. Based on this available information, the maximum distortion level may be found for an algorithm. The maximum distortion level may indicate the amount of distortion that a particular image may possess without significantly altering the visual aspects of the image.
Image categorization may utilize different quintiles of an image based on its histogram.
Categorizing 404 the image from a histogram may allow an algorithm to select 406 the maximum distortion level based on the image category. In one configuration, a long tail low key image may yield a maximum distortion level of 5%. In another configuration, a wide image may yield a maximum distortion level of 20%. In yet another configuration, a high key image may yield a maximum distortion level of 40%. Additional image categorization may yield a maximum distortion level of 10%. Once again, these values corresponding to the maximum distortion level are used merely as examples.
Using the maximum distortion level and the original values of the pixels included in the input frame, a minimum backlight level may be calculated 408. The minimum backlight level may indicate the minimum amount of light that is emitted from a backlight in order to properly illuminate the input frame. In one configuration, the perceived output distortion of the input frame may be less than the distortion level defined by a user.
Using the calculated minimum backlight level, a pixel scaling factor may be calculated 410. The pixel scaling factor may indicate the amount the pixels associated with the input frame that will be adjusted on the grayscale. For example, the pixel scaling factor may indicate that the input frame is adjusted to the right side of the grayscale, thus increasing the brightness intensity of each pixel. Alternatively, the pixel scaling factor may indicate that the input frame is adjusted to the left side of the grayscale, decreasing the brightness intensity of each pixel. In one configuration, the pixel scaling factor is calculated 410 as a function of the minimum backlight level. For example, the pixel scaling factor may indicate that the input frame should be adjusted on the grayscale to increase the brightness of each pixel in order to compensate for the decrease in the brightness intensity of the light source emitted from the backlight.
The input frame may be transformed 412 in accordance with the pixel scaling factor. In other words, the pixels of the input frame may increase or decrease in brightness. In addition, the brightness intensity of the light source emitted from the backlight may be changed 414 according to the calculated minimum backlight level. The transformed input frame may be displayed 416 by illuminating the frame with the backlight. In one configuration, the transformed frame is displayed on the display 102.
In one configuration, the histogram 502 may be shifted by a scaling factor 510 amount to provide a transformed histogram 504. In other configurations, the histogram 502 may be transformed to the transformed histogram 504 by multiplication (i.e., scaling that spreads the histogram 502). In addition, monotonically increasing Affine transforms may also be applied to the histogram 502 in order to obtain the transformed histogram 504. The scaling factor 510 may be calculated as a function of the change in brightness intensity of the light source emitted from a backlight. In other words, the scaling factor 510 may be proportional to the change in brightness intensity of the light source. The transformed histogram 504 may be shifted to the right side of the grayscale level 508. The corresponding 800 pixels previously mentioned may now include a brightness on the grayscale level 508 of the transformed histogram 504 between 125 and 200. The transformed histogram 504, in the depicted configuration, may indicate that the pixels of the transformed histogram 504 may be brighter than the pixels indicated by the histogram 502.
As shown, the device 802 may include the processor 860 which controls operation of the device 802. A memory 862, which may include both read-only memory (ROM) and random access memory (RAM), may provide instructions and data to the processor 860. A portion of the memory 862 may also include non-volatile random access memory (NVRAM). Memory 862 may also include flash memory, an optical disk, registers, a hard disk, a removable disk, or any other types of memory.
The device 802, which may be embodied in a wireless communication device, such as a cellular telephone. The device 802 may also include a transmitter 864 and a receiver 866 to allow transmission and reception of data between the device 802 and a remote location. The transmitter 864 and receiver 866 may be combined into a transceiver 868. An antenna 870 is electrically coupled to the transceiver 868.
The device 802 may also include a signal detector 872 used to detect and quantify the level of signals received by the transceiver 868. The signal detector 872 detects such signals as total energy, pilot energy per pseudonoise (PN) chips, power spectral density, and other signals. The device 802 may also include a display 874 that may be used to display instructions to a user as well as user-entered data. In one configuration, the display 874 displays the time and date and calling party telephone number for incoming calls received by the transceiver 868. This information provides visual cues to the user and thereby assists the user in the operation of the device 802.
The device may include a backlight controller 882 to control a backlight 880 for the display 874. Various alternative configurations of the backlight controller 882 may be used to control the backlight 880 and reduce power consumption in the device 802. In addition, different display types may use a different form of lighting, such as side-lighting of an LCD or an LED display. The term “backlight” may encompass any form of display illumination whether it is the display itself or an external source.
Electrical components of the device 802 may receive power from a battery 884. The battery 884 may be a rechargeable battery. In other configurations, the device 802 may include a connector (not shown) for the connection of an external power source, such as an automobile power adapter, alternate current (AC) power adapter, or the like.
The various components of the device 802 are coupled together by a bus system 878 which may include a power bus, a control signal bus, and a status signal bus in addition to a data bus. However, for the sake of clarity, the various busses are illustrated in
Information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the configurations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present systems and methods.
The various illustrative logical blocks, modules, and circuits described in connection with the configurations disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the configurations disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art. A storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the present systems and methods. In other words, unless a specific order of steps or actions is required for proper operation of the configuration, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the present systems and methods. The methods disclosed herein may be implemented in hardware, software or both. Examples of hardware and memory may include RAM, ROM, EPROM, EEPROM, flash memory, optical disk, registers, hard disk, a removable disk, a CD-ROM or any other types of hardware and memory.
While specific configurations and applications of the present systems and methods have been illustrated and described, it is to be understood that the systems and methods are not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations which will be apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems disclosed herein without departing from the spirit and scope of the systems and methods.