Embodiments of the inventive subject matter generally relate to the field of adjusting display screen brightness, and more particularly, to adjusting display screen brightness based on multi-point light intensity analysis.
Display screens such as on mobile devices such as smartphones typically include a form of backlighting to enable users to perceive displayed content such as text and images. The effective visibility is determined by the contrasts effectuated by the display screen backlighting.
Dynamic brightness control is an important feature for balancing energy conservation and screen visibility for mobile devices such as smartphones. Since the display screen backlight is a primary consumer of electrical power (battery or power cord), it is generally desired for the backlight to be maintained at the minimal level required to provide adequate visual clarity for a user so that the backlight strength is balanced with the user's need to clearly discern display screen content. One approach to achieving this balance is to use an ambient light sensor on the mobile device to detect the current ambient light intensity and to adjust the screen brightness level (i.e., the backlight intensity) as a function of the detected ambient brightness.
A method is disclosed for controlling a display screen brightness level for an electronic device. In one embodiment, the electronic device determines a first ambient light level and associates the first ambient light level with a first priority weight value. The electronic device further determines a second ambient light level and associates the second ambient light level with a second priority weight value. A display controller within the electronic device sets the display screen brightness level based, at least in part, on the first ambient light level, the second ambient light level, and at least one of the first and second priority weight values.
The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The description that follows includes example systems, methods, techniques, instruction sequences and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
As described and depicted in further detail with reference to the figures, embodiments are directed to providing a method, system, device, and program product for controlling levels of display screen brightness that account for multiple ambient light sensor inputs. In one embodiment, an electronic device such as a handheld mobile device or a laptop computer includes a display controller that receives ambient light input from at least two sources. For example, the electronic device may comprise an ambient light sensor that detects an ambient light level in radial proximity to the electronic device itself. The electronic device may be wirelessly connected to an external ambient light sensor that is incorporated onto a user wearable device, such as eyeglasses and/or a wristband. In an embodiment, the display controller is configured to associate priority weight values to sensed light levels received from each of the ambient light sensors. The priority weight values may include pre-specified default values that may be assigned by user application or otherwise pre-programmed. In an embodiment, the display controller normalizes the multiple received ambient light level values based on pre-programmed and/or dynamic system variables. The priority weight values may be dynamically adjusted based on respectively sensed ambient light levels and/or systemic or environmental factors. The normalized and weighted ambient light values may then be processed by the display controller to determine or adjust a display screen brightness level. The wearable device(s) onto which the external ambient light sensor is incorporated may be strategically selected to provide optimal, multi-point ambient light sensing coverage in a particular environment. The depicted embodiments therefore provides enhanced input options and processing and utilization of the multiple input options to optimize display screen brightness control.
Display screen 105 includes material and components for rendering visually perceptible images based on signals from a display controller (shown in
In the depicted embodiment, mobile device 102 further includes an ambient light sensor 104 that detects lights levels in a radial area 106 proximate to mobile device 102. Ambient light sensor 104 may include, for example, a photodetector that detects levels of and/or variations in levels of ambient luminescence such as may be sensed/detected in terms of illuminance (lux). As depicted and described in further detail with reference to
The input from ambient light sensor 104 may be processed to improve display viewability and/or reduce energy consumption. However, the detection range is directional and limited to the radial area proximate to where it is mounted on mobile device 102. For example, if ambient light sensor 104 is mounted substantially co-planar to display screen 105 (such that the sensor is facing the user's eyes when in use), the light sensor is limited to primarily measuring ambient luminescence originating from behind a user which is helpful to determine a potential glare effect and adjust display functions, including screen brightness, accordingly. However, the display side mounted sensor would have limited sensitivity to ambient light levels originating from behind and/or the sides of mobile device 102, which may substantially determine the user's optical sensitivity.
In an embodiment, a display screen brightness control system further includes at least one additional ambient light sensor that is positioned separately from a host electronic device on which the subject display screen is mounted. For example,
External light sensor 110 may be an ambient light sensor such as a photodetector that detects light levels within a radial area 112 proximate to eyeglasses 108. Furthermore, light sensor 110 may be communicatively coupled to mobile device 102 via a short-range RF connection such as Bluetooth®. When eyeglasses 108 are worn by a user holding mobile device 102, ambient light sensor 110 is positioned proximate to the user's eye level. Therefore, when activated, ambient light sensor 110 detects light level values which are transmitted to mobile device 102 to be processed in combination with light level values sensed locally by ambient light sensor 104.
External light sensor 116 may be an ambient light sensor such as a photodetector that detects light levels within a radial area 118 proximate to wristband 114 and may be communicatively coupled to mobile device 102 via a short-range RF connection such as Bluetooth®. When wristband 114 is worn on one of the user's wrists (of the handling holding mobile device 102 or the other hand), ambient light sensor 116 provides an alternate position and angle for light level detection. When activated, ambient light sensor 116 detects light level values which are transmitted to mobile device 102 to be processed in combination with light level values sensed locally by ambient light sensor 104 and/or external ambient light sensor 110.
Mobile device 102 may further include components and logic for setting a screen brightness level (e.g., adjusting the luminous output of a screen light or backlight) based on multiple input light levels, such as from ambient light sensors 104, 110, and/or 116. Furthermore, and as depicted and described in further detail with reference to
System memory 204 stores application programs 208, as well as system programs and supporting data that control operations of device 200. The system software stored within system memory 204 includes an operating system (OS) 206 that coordinates activities among hardware components and utility program software that performs system management tasks. OS 206 may be a flexible, multi-purpose OS such as the Android OS found in smartphones, or may be an embedded OS having more specialized functions such as may loaded within a minimal form factor audio device. OS 206 generally comprises code for managing and providing services to hardware and software components within device 200 to enable program execution. Among other code and instructions, OS 206 includes process management code comprising instructions for interfacing application code with system hardware and software. OS 206 may further include memory management code for allocating and managing memory for use by application and system-level programs. OS 206 further includes I/O system management code including device drivers that enable the system's hardware to communication with external computer systems.
Mobile device 200 further comprises a display controller 215, which may be a microcontroller that interfaces a display screen unit 217 with the host processor 202 and generally controls display screen functions. Mobile device 200 also includes a screen brightness control system comprising ambient light input components, ambient light data processing components, and screen brightness actuator components. The ambient light input components comprise an ambient light sensor 218 and an external ambient light input 225. The ambient light data processing components include multi-input feedback processor 220 within display controller 215. Feedback processor 220 may comprise components and logic configured to process sensed ambient light levels from multiple sensors including local ambient light sensor 218 and from external ambient light input 225. The screen brightness actuator components include an LED driver unit 216 that controls the current flow through one or more backlights (not depicted) within display screen unit 217.
In an embodiment, sets of special purpose registers may be allocated within display controller 215 to store ambient light levels (e.g., quantified values indicated an amount or intensity of received light) from multiple input sources. As depicted in
Once activated, the screen brightness control portion of the display system begins receiving light level input data from the local ambient light sensor (step 304) and processes the data to set and/or adjust the screen brightness level accordingly as shown at step 306. The detection and processing of local light levels may be performed periodically or substantially continuously. Regardless of the frequency of light level detection, the display controller may dependently or independently determine the frequency with which the screen brightness is adjusted in accordance with programmed parameters. In addition to receiving locally detected light levels, the display controller receives light level values detected by external sensors (step 308), such as ambient light sensors 110 and 116 in
In an embodiment, the screen brightness control portion of the display controller utilizes the light level data received from at least two of the ambient light sensors and the respectively associated priority weight values to set and/or adjust the display screen brightness. As part of the setting/adjustment process, and as shown at step 310, the display controller may adjust one or more of the priority weight values associated with the received light level values. As depicted and described in further detail with reference to
The process continues as shown at step 408 with the display controller comparing two or more of the received and normalized ambient light level values to determine environmental lighting conditions with respect to relative positioning of the light sensors. For example, the display controller may compare a level light value originally received from the local sensor and a light level originally received from an external sensor to determine whether, based on the difference, the prioritization weight values associated with one or both light level values should be adjusted. For example, and as shown at steps 410 and 412, if the external ambient light level exceeds the locally sensed level, the priority weight factor associated with the external light level may be increased. The increase may be a pre-determined increment or may be in proportion to the magnitude of the difference between the light levels. Following adjustment of the priority weight value(s) or in response to determining that the difference between the locally sensed light level value and an externally sensed value does not exceed a specified threshold, the process continues as shown at steps 414 with the multi-input brightness control logic generating an aggregate light level value. In one embodiment, the aggregate value comprises a weighted average of two or more of the light level values weighted in accordance with the associated priority weight values. The display controller then signals a screen brightness actuator to adjust the screen brightness level based on the aggregate light level value as shown at step 416 following which the process may resume at step 402.
As will be appreciated by one skilled in the art, aspects of the present inventive subject matter may be embodied as a system, method or computer program product. Accordingly, aspects of the present inventive subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present inventive subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Aspects of the present inventive subject matter are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the inventive subject matter. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Number | Name | Date | Kind |
---|---|---|---|
20110282468 | Ashdown | Nov 2011 | A1 |
20130088523 | Wu | Apr 2013 | A1 |
20130120330 | Kang et al. | May 2013 | A1 |
20150134249 | Yen | May 2015 | A1 |
20160098973 | Yang | Apr 2016 | A1 |
20160209903 | Imana | Jul 2016 | A1 |
20160239190 | Forutanpour | Aug 2016 | A1 |
Number | Date | Country |
---|---|---|
5542409 | Jul 2014 | JP |
Number | Date | Country | |
---|---|---|---|
20170039958 A1 | Feb 2017 | US |