This disclosure relates generally to information handling system displays and, more particularly, to heuristic learning for setting automatic display brightness based on an ambient light sensor.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Display devices, such as liquid crystal displays (LCDs) are commonly used to display content to users. The display devices generally have a brightness setting that can be manually adjusted to change the overall luminescence of the display screen, such as by changing the intensity of a backlight used with an LCD or by other means. Some information handling systems include an ambient light sensor (ALS) that is used for automatic brightness settings.
In one aspect, a disclosed method is for brightness control in information handling systems. The method may include receiving an ambient light sensor (ALS) output at an information handling system. In the method, the ALS output may be indicative of ambient light levels in proximity to the information handling system, and the ALS output may be linearly scaled with respect to a display brightness of a display used with the information handling system. The method may also include modifying the display brightness based on a response curve stored for a user of the information handling system and the ALS output, the response curve for calibrating display brightness values positively versus the ALS output, and receiving user input to make a change in the display brightness, the change corresponding to a first brightness difference. In the method, the ALS output may not change after the display brightness is modified based on the response curve and before the user input is received. The method may further include calculating a second brightness difference smaller than the first brightness difference and having the same sign as the first brightness difference, modifying a display brightness value in the response curve corresponding to the ALS output by the second brightness difference to generate an updated response curve, and storing the updated response curve for the user in place of the response curve.
In any of the disclosed embodiments of the method, calculating the second brightness difference may further include calculating the second brightness difference Δ2 from the first brightness difference Δ1 based on the equation Δ2=F×Δ1, where F is a positive confidence factor less than 1.
In any of the disclosed embodiments of the method, modifying the display brightness value in the response curve may not be performed when the second brightness difference value results in any point in the response curve having a negative or zero slope.
In any of the disclosed embodiments of the method, the positive confidence factor F may be selected to prevent any point in the response curve having a negative or zero slope.
In any of the disclosed embodiments of the method, modifying the display brightness may be performed using a timed transition from an old display brightness to a new display brightness over a predetermined time.
In any of the disclosed embodiments of the method, the predetermined time may be shorter when the new display brightness is greater than the old display brightness than when the new display brightness is lower than the old display brightness.
In any of the disclosed embodiments of the method, the user input may be subject to a minimum change sensitivity with respect to the display brightness and a minimum change response interval from a previous user input to change the display brightness. In the method, the user input may not be accepted when the minimum change sensitivity and the minimum change response interval are not satisfied.
Other disclosed aspects include a non-transitory computer-readable medium storing instructions executable by a processor unit, and an information handling system.
For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
In the following description, details are set forth by way of example to facilitate discussion of the disclosed subject matter. It should be apparent to a person of ordinary skill in the field, however, that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments.
As used herein, a hyphenated form of a reference numeral refers to a specific instance of an element and the un-hyphenated form of the reference numeral refers to the collective or generic element. Thus, for example, widget “72-1” refers to an instance of a widget class, which may be referred to collectively as widgets “72” and any one of which may be referred to generically as a widget “72”.
For the purposes of this disclosure, an information handling system may include an instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize various forms of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or another suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components or the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components.
For the purposes of this disclosure, computer-readable media may include an instrumentality or aggregation of instrumentalities that may retain data and instructions for a period of time. Computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive or floppy disk), a sequential access storage device (e.g., a tape disk drive), compact disk, CD-ROM, DVD, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), or flash memory (SSD), as well as communications media such wires, optical fibers, microwaves, radio waves, and other electromagnetic or optical carriers, or any combination of the foregoing.
As noted, certain information handling systems may employ an ALS to monitor ambient light conditions in order to automatically adjust display brightness. For example, Microsoft Windows provides “Adaptive Brightness” as an operating system feature that changes display brightness based on ALS output. However, the implementation of ALS-based automatic display brightness may suffer from poor user experience. Typically ALS-based automatic display brightness may employ fixed static response settings, which are based on artificial lighting conditions and exposed to the operating system. Then, a limited modification of the screen brightness settings based on the environmental lighting conditions is permitted during operation of the information handling system. However, identifying screen brightness settings that satisfy the needs of all demographics of users remains an elusive challenge. For example, different users may be comfortable with very different response curves for lighting and display brightness, such as due to age and vision quality having an impact on a user's comfort level with given lighting and display brightness. Very often, users are bypassing the use of the ALS due to the poor implementation of current ALS-based automatic display brightness.
As disclosed herein, a heuristic learning algorithm is used for setting automatic display brightness based on an ALS. The heuristic learning ALS-based automatic display brightness disclosed herein may enable users to generate and maintain customized response curves for ambient lighting and display brightness that can be used for setting automatic display brightness. The heuristic learning ALS-based automatic display brightness disclosed herein may learn a user's preferences over time in a manner that adapts to a user's individual preferences for screen brightness based versus ambient light conditions.
Particular embodiments are best understood by reference to
Turning now to the drawings,
As shown in
In
As depicted in
Also in
Local storage resource 150 may comprise computer-readable media (e.g., hard disk drive, floppy disk drive, CD-ROM, or other type of rotating storage media, flash memory, EEPROM, or another type of solid state storage media) and may be generally operable to store instructions and data.
In information handling system 100, I/O subsystem 140 may comprise a system, device, or apparatus generally operable to receive and transmit data to or from or within information handling system 100. I/O subsystem 140 may represent, for example, a variety of communication interfaces, graphics interfaces, video interfaces, user input interfaces, and peripheral interfaces, which are not shown for descriptive clarity. As shown, I/O subsystem 140 provides an interface for a display adapter 144, which may provide connectivity for display 148, which may be an external display or a display included with information handling system 100. I/O subsystem 400 may also provide an interface for ALS 146, which may be integrated within information handling system 100.
In operation, information handling system 100 may use ALS 146 to monitor ambient lighting conditions in proximity of information handling system 100. The output from ALS 146 may be used as a reference when user input for setting the brightness of display 148 is received from a user. Based on the user input, a response curve for ambient light versus display brightness may be heuristically adapted and learned for the user.
Turning now to
In
In
As shown in response curve 200, linear brightness 202 is scaled from a minimum value 210 to a maximum value 212 over the entire range of ALS output. In typical implementations of automatic brightness control, a user may be able to adjust the values for minimum value 210, maximum value 212, or both, such as when making manual user input to adjust screen brightness when automatic brightness control is activated. However, because of the fixed linear nature of linear brightness 202, the mere adjustment of minimum value 210, maximum value 212, or both, may only provide limited learning of a user's preferences over the ALS output scale.
In contrast to the static nature of linear brightness 202, heuristic brightness 204 may be an adapted function that has different positive slopes at different points along the ALS output scale. Although heuristic brightness 204 is described having 5 data points herein for clarity, it will be understood that any number of data points may be stored in a response curve in different embodiments. Specifically, the values shown in Table 1 below correspond to response curve 200 in
In
Furthermore, the user input to adapt response curve 200 may be subject to certain limits or filters. For example, linear brightness 202 is a positive function over the ALS output and heuristic brightness 204 may also be constrained to remain a positive function of the ALS output having no points with negative or zero slope, no discontinuities. A smooth interpolation among the data points may be assumed for heuristic brightness 204. In some instances, the value of F may be chosen to maintain heuristic brightness 204 as a positive function of the ALS output, for example, by reducing an absolute value of Δ2 from user input defining Δ1. Furthermore, the user input may be subject to a minimum change sensitivity before acceptance as the first brightness difference Δ1, such as at least 30% brightness, as one example. The user input may also be subject to a minimum change response interval, such as at least 3000 ms, from the last user input for brightness control. In this manner, spurious and other deleterious user input may be avoided.
Additionally, when either linear brightness 202 or heuristic brightness 204 are activated and in effect, a change in the ALS output will automatically trigger a change in the display brightness, according to the respective response curve being applied. For such transitions in display brightness, a transition time using a predetermined time may be applied, instead of an abrupt or sudden change in the display brightness. In this regard, a change to a larger display brightness from a lower display brightness (increase in display brightness) may be associated with a shorter transition time, such as 10 s, 15 s, 30 s, or less than 45 s, as examples. However, a change to a lower display brightness from a larger display brightness (decrease in display brightness) may be associated with a longer transition time, such as 60 s, 90 s, or 180 s, as examples, because the human eye has a longer response time to dilate pupils for low light conditions than to narrow pupils for bright light conditions. It is noted that the transition may be nonlinear in terms of change in display brightness over the transition time.
Furthermore, it is noted that the method described herein may be used in various implementations, including under Microsoft Windows with Adaptive Brightness where the operating system stores linear brightness 202. In such instances, heuristic brightness 204 may be stored by storing differences 206 which are used to calculate heuristic brightness 204 instead of using linear brightness 202, which may be substantially equivalent to replacing linear brightness 202 with heuristic brightness 204.
Referring now to
In
As described herein, a heuristic learning algorithm uses an ALS to determine display brightness settings based on a stored response curve for display brightness for a user. When the user overrides the response curve value for display brightness at a given ALS output, the display brightness setting based on the user input is used to modify the response curve for the ALS output to lesser extent than the user input. Over time the response curve will approach desired user settings for each value of the ALS output.
The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments which fall within the true spirit and scope of the present disclosure. Thus, to the maximum extent allowed by law, the scope of the present disclosure is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.