WO2023102575A1 - Data-driven systems and methods of automatic brightness control - Google Patents

Data-driven systems and methods of automatic brightness control Download PDF

Info

Publication number
WO2023102575A1
WO2023102575A1 PCT/US2023/011160 US2023011160W WO2023102575A1 WO 2023102575 A1 WO2023102575 A1 WO 2023102575A1 US 2023011160 W US2023011160 W US 2023011160W WO 2023102575 A1 WO2023102575 A1 WO 2023102575A1
Authority
WO
WIPO (PCT)
Prior art keywords
brightness
display screen
display device
power consumption
brightness value
Prior art date
Application number
PCT/US2023/011160
Other languages
French (fr)
Inventor
Mao-Ter Chen
Yen-Liang Kuo
Pai-Han HUANG
Original Assignee
Innopeak Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Innopeak Technology, Inc. filed Critical Innopeak Technology, Inc.
Priority to PCT/US2023/011160 priority Critical patent/WO2023102575A1/en
Publication of WO2023102575A1 publication Critical patent/WO2023102575A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/10Intensity circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0606Manual adjustment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0626Adjustment of display parameters for control of overall brightness
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/14Detecting light within display terminals, e.g. using a single or a plurality of photosensors
    • G09G2360/144Detecting light within display terminals, e.g. using a single or a plurality of photosensors the light being ambient light

Definitions

  • the disclosed technology relates generally to controlling the adjustment of display brightness levels in devices, and more particularly, implementing more accurate brightness level control based on data analytics regarding ambient light levels, user-set brightness levels/adjustments, and device power consumption.
  • the power source(s), e.g., battery supply, that powers such portable devices when operating remotely from a non-battery power source may also be impacted since effectuating brighter levels typically consumes more power/drains the battery supply more quickly versus effectuating lower brightness levels.
  • a display device may consider various objective factors and data to adjust brightness values of its corresponding display.
  • the objective factors and data can comprise ambient light values in an environment where the portable device is located, historical user interaction data with the portable device, and battery power consumption value relative to the brightness value.
  • One type of interaction data may include is predicted to interact with an auto-brightness function of device (e.g., given ambient light).
  • Another type of interaction data may include a user's historical adjustment to a desired brightness level after an automatic brightness function (e.g., autosetting brightness by the device), including determining a delta value between the devicedetermined brightness value and the user-adjusted brightness value.
  • a display device comprises a display screen; an ambient light detection module configured to detect environmental brightness conditions; a power consumption module configured to detect a power consumption level that correlates to a functionality performed by the display device; a memory; and one or more processors that are configured to execute machine readable instructions stored in the memory to determine an adjustment event of a first brightness value of the display screen to a second brightness value of the display screen, wherein the second brightness value is adjusted by an user; search a curve associated with the adjustment event, wherein the curve correlates the power consumption level with a delta value between the first brightness value of the display screen and the second brightness value of the display screen; and update a brightness value of the display screen corresponding to the curve.
  • the update of the brightness value may help to reduce the power consumption level while maintaining the delta value in performing the functionality of the display device.
  • FIG. 1 illustrates an schematic view of a display device, in accordance with some examples of the disclosure.
  • FIG. 2 illustrates example components of an ambient light detection module of the portable device, in accordance with some examples of the disclosure.
  • FIG. 3 illustrates a process for incorporating the ambient light detection module, power consumption, and user-set brightness levels in implementing automatic brightness control, in accordance with some examples of the disclosure.
  • FIG. 4 illustrates one or more light curves compared to user-set brightness levels, in accordance with some examples of the disclosure.
  • FIG. 5 illustrates an energy curve in comparison with a cumulative user percentage, in accordance with some examples of the disclosure.
  • FIG. 6 an example computing system that may be used to implement various features of embodiments described in the present disclosure.
  • FIG. 7 an example computing system that may be used to implement various features of embodiments described in the present disclosure.
  • the use of mobile or otherwise portable devices that include one or more displays often need to adjust or optimize the brightness characteristic(s) of such displays.
  • these devices may move to various environments.
  • the ambient lighting conditions of these environments may impact the brightness to which a user may set his/her display. That is, if the ambient lighting conditions in a location where the user is operating his/her device are relatively bright, the device's display tends to become washed out in appearance.
  • the device's display can be set to a commensurately lower brightness level because sufficient contrast between the display and the low ambient lighting conditions can be achieved without a need for the display to be set to a relatively bright level.
  • a user may wish to adjust the brightness of the display depending on the source(s) of light creating the ambient lighting conditions, e.g., whether or not a light source(s) is projecting light directly (or indirectly) onto a display, and so on. That is, a bright light source, such as the sun, shining directly onto a display may also result in a washed out viewing experience, unless the user increases the brightness level of the display.
  • ALC automated ambient light correction
  • conventional devices can detect the ambient light of an environment using an embedded ambient light sensor disposed under the display of the device.
  • the ambient light sensor can be used to detect the ambient light intensity, so that the device can control the brightness of the display screen according to the detected ambient light intensity, thus the brightness of the display screen is adapted to the external environment.
  • not all users prefer the same amount of brightness. Other factors should be considered when programmatically and automatically adjusting the brightness of the display screen.
  • FIG. 1 illustrates a schematic view of a display device, in accordance with some examples of the disclosure.
  • the display device is an electronic device, such as a cellphone, a tablet, a laptop or other suitable apparatuses.
  • display device 100 includes display screen component 120, circuit board 130, housing 140, and sensor unit 150.
  • Display screen component 120 is coupled to housing 140 to provide a display surface of display device 100.
  • Display screen component 120 serves as a front cover of display device 100 to define an enclosed space together with housing 140. Also, the display screen component 120 serves as the display surface of display device 100 for displaying information such as images, video, and texts.
  • Display screen component 120 may include display screen 121 disposed on the surface of display device 100 and sensor unit 150 disposed at a side of the display screen. For example, display screen component 120 may be transparent to receive a light transmission, and sensor unit 150 may sense an ambient light intensity through display screen component 120.
  • Display screen component 120 also comprises sensor unit 150.
  • Sensor unit 150 may include a signal emitter, a signal receiver, and an ambient-light sensor.
  • the signal emitter can transmit a detecting "Signal A" outward from display screen component 120.
  • the detecting Signal A is reflected into a reflected "Signal B" after touching an external object (for example, a user's face), then transmitted to the signal receiver.
  • the signal emitter of sensor unit 150 may be an infrared emitter for emitting or receiving an infrared light.
  • the signal receiver may output the received signal to a processor (embedded with circuit board 130) of display device 100 to be processed, after the signal receiver receives the reflected Signal B.
  • the processor may use the received signal, for example, for controlling the display screen of display device 100 to light up or reduce the brightness of the light transmission through display screen 121.
  • the ambient-light sensor can sense the intensity of an ambient light incident on the ambientlight sensor from a periphery of display screen 121.
  • the ambient light can be sensed by the ambient-light sensor of sensor unit 150.
  • the sensing of the ambient light may or may not pass through display screen 121 (e.g., the ambient light is sensed through the periphery of display device 100), and the brightness of the display screen 121 may be adapted to the environment, thereby reducing damages to the user's eyes.
  • FIG. 2 illustrates example components of an ambient light detection module of the portable device, in accordance with some examples of the disclosure.
  • the components of display device 100 illustrated in FIG. 1, including processor embedded with circuit board 130, may execute machine readable instructions to operate the components described herein to perform ambient light detection functionality.
  • ambient light detection component 210 may help detect ambient light intensity.
  • a control module may control a region of display screen 121 to display electronic information (e.g., color, picture, etc.).
  • the region may be facing sensor unit 150 in display screen 121 of display device 100 and, in some examples, the region may be preset to a particular area on display screen 121.
  • the control module may control the region of display screen 121 to display the predetermined picture or color.
  • the predetermined picture or color may comprise a pure color picture where all parts of the predetermined picture are the same (e.g., a full black image).
  • control module may control the preset region of the display screen to display the predetermined picture in response to an event.
  • the event may comprise, for example, when there is a need to detect the ambient light intensity or in response to a triggering event.
  • the triggering event may comprise, for example, a user instruction, a time point, or system operation.
  • control module may control the region of display screen 121 to display the predetermined picture or color all the time.
  • an obtaining module may obtain an ambient light intensity value detected by sensor unit 150.
  • the obtaining module may control sensor unit 150 to detect a current ambient light intensity value.
  • the obtaining module obtains the ambient light intensity value detected by sensor unit 150.
  • sensor unit 150 when sensor unit 150 detects the ambient light intensity value, external environment light (e.g., visible light) enters the ambient light sensor through display screen 121.
  • display screen 121 displays information
  • display screen 121 itself is also illuminated and light emitted by display screen 121 is also visible light.
  • the light emitted by display screen 121 may also enter sensor unit 150, thus affecting detection result of sensor unit 150.
  • the region of display screen 121 emits less light when the predetermined picture or color displayed by the region is a pure color picture (e.g., a full black image).
  • the region of display screen 121 may emit the least amount of light so that display screen 121 has the least influence on sensor unit 150. This can allow the influence of display screen 121 on sensor unit 150 to be reduced and the accuracy of light detection by sensor unit 150 to be improved.
  • a response module is provided.
  • the response module may control display screen 121 to respond according to the ambient light intensity value. For example, after the obtaining module obtains the ambient light intensity value detected by sensor unit 150, light intensity of external environment may be determined according to the ambient light intensity value.
  • the response module may control display screen 121 to respond according to the ambient light intensity value. For example, the response module may control brightness of display screen 121 according to the light intensity of external environment, such that the brightness of display screen 121 is adapted to the external environment light.
  • sensor unit 150 comprises more than one light sensor.
  • the obtaining module may obtain an ambient light intensity value detected by each light sensor and calculate the average value of the ambient light intensity values detected by light sensors.
  • the response module may control the display screen to respond according to the average value.
  • FIG. 3 illustrates a process for incorporating the ambient light detection module, power consumption, and user-set brightness levels in implementing automatic brightness control, in accordance with some examples of the disclosure.
  • Power consumption component 320 is configured to track current and energy consumed by display screen 121.
  • the current and energy consumption is tracked directly by measurements or an estimation system. Measurements can be completed with embedded current meters within the circuit board.
  • the estimation system can be implemented by a predefined model build from a testing lab with usages of display as inputs (e.g., brightness, fps, etc.).
  • User-set brightness level component 330 is configured to detect the user's perception of the brightness of display screen 121.
  • the user may interact with a settings component of display device 100 to manually control the brightness of display screen 121.
  • the user can increase the brightness or decrease the brightness when display device 100 is displaying electronic information (e.g., color, picture, etc.), which can adjust the light emitted through display screen 121 by display screen component 120.
  • the manual control of the brightness of display screen 121 may be tracked and stored.
  • Logging module 340 is configured to receive various sensor data and information from components of display device 100, including data from ambient light detection component 210 of FIG. 2 (e.g., using control module, obtaining module, and response module), power consumption component 320, and user-set brightness level component 330. Logging module 340 may determine a default brightness value, a current brightness value, and a delta value of how the brightness is determined or adjusted by one component or another.
  • logging module 340 may determine the delta value of the two brightness levels as 3%.
  • logging module 340 may track the standard usage of display device 100, including drafting and sending text messages, streaming data via a network, playing audio or video files, and the like. Each of these functionalities may be identified by a relative amount of time that display device 100 is performing this function or a relative amount of power consumed when performing the functionality. In some examples, each of the functionalities may correspond with a standard usage indicator (or other unique identifier of the functionality). The standard usage indicator may be identified for the particular electronic device and correlated to a corresponding power consumption curve, as described with FIG. 5 below.
  • Curve plotting module 350 is configured to receive data from logging module 340 and generate one or more analyses from the data, including one or more data curves.
  • the light adjustment curve may be customized to fit individual user's needs of the brightness of display screen 121.
  • the curve may be determined by lab experiments to determine the brightness values that make up this curve (e.g., as a testing effort).
  • FIG. 4 An illustrative light curve compared to the user-set brightness level is provided in FIG. 4.
  • multiple light curves are provided as a mapping of the lux value to the level of brightness set by the user.
  • the x-axis of the curve corresponds with the lux value or the unit of illuminance of the light received at display device 100.
  • the lux may be used as a measure of the intensity of the brightness of the light, as perceived by the human eye, that bounces back from or passes through a surface.
  • the y-axis of the curve corresponds with the user-set brightness of display screen 121.
  • Current curve 410 illustrates the measured data from ambient light detection component 210 of FIG. 2 (e.g., using control module, obtaining module, and response module), power consumption component 320, and user-set brightness level component 330, which is logged and plotted by logging module 340.
  • the other curves may be plotted to help plot the minimal distance between the brightness of display screen 121 and ambient light intensity.
  • plotting the optimal relationship curve is the comparison between the brightness setting and ambient light intensity, which minimized over all distances between the user-set brightness level to the curve.
  • the curves may be generated by applying a linear regression function 420, a logarithmic regression function 430, a weighted linear regression function 440, or a weighted logarithmic regression function 450 to current curve 410.
  • current curve 410 is determined by lab experiment or other testing process to identify the correlation between the lux value and the level of brightness set by the user. Multiple display devices may be tested to determine this data, and a single curve may be applied to a single device, after the curve for the plurality of the display devices are determined.
  • the weighted functions may be weighted based on whether the user adjusted the brightness or not. For instances where the user adjusted the default brightness of display screen 121, the value may be decreased when determining the overall curve. For instances where the user did not adjust the default brightness of display screen 121, the value may be increased when determining the overall curve. In either of these examples, the default values corresponding with no user interaction may have a greater effect on the overall curve determination.
  • Curve plotting module 350 is also configured to compare each of these curve values to power consumption values (e.g., determined by power consumption component 320 and stored/aggregated/tracked by logging module 340 of FIG. 3). For example, curve plotting module 350 may determine that current curve 410 has greater power consumption than any of the other curves, including the curve generated by applying a linear regression function 420, a logarithmic regression function 430, a weighted linear regression function 440, or a weighted logarithmic regression function 450. [0039] Curve plotting module 350 is also configured to generate a particular type of curve from current curve 410. The curve may comprise, for example, a regression fitting curve plotted by minimizing an overall mean square error (MSE). Various regression curves are provided in FIG. 4 for illustrative purposes and further described herein.
  • MSE mean square error
  • curves illustrated in example 500 of FIG. 5 may compare each power consumption curve with a cumulative user percentage that measures the user's acceptance of the brightness of display screen 121.
  • current curve 510 is a mapping of the user's acceptance of the brightness of display screen 121, such that about 65% of users are satisfied with the brightness of display screen 121 with 4000 mAh energy consumption of the device.
  • additional curves are determined and plotted in correlation with current curve 510 using, for example, a weighted linear regression function 520 and a weighted logarithmic regression function 530, the system can determine an optimal brightness of display screen 121 that is acceptable to a percentage of users and also uses less power. In comparison with other approaches, the data-driven curve is able to save from about 5% to about 10% energy.
  • model generation and selection module 360 is configured to select one of the curves generated by curve plotting module 350 to implement at display device 100.
  • the curve determined for display device 100 may be selectively implemented to set a new default brightness level that is predicted to be acceptable to the user and also reduce the power consumption by the device to achieve the acceptable brightness level.
  • Model generation and selection module 360 is also configured to select the curve based on a standard usage indicator of display device 100. For example, when the operation of the display device 100 is determined to exceed a threshold value for streaming data (e.g., a first functionality), a first curve may be selected to optimize power usage for streaming data. Similarly, when the operation of the display device 100 is determined to exceed a threshold value for drafting and transmitting text messages (e.g., a first functionality), a second curve may be selected to optimize power usage for drafting and transmitting text messages, rather than the first curve determination.
  • model generation and selection module 360 by default collects limited adjustment events. For example, about the first one hundred adjustment events are used to generate the weighted curve.
  • model generation and selection module 360 collects adjustment events from about the first week to about the fourth week of a usage of a display device. If a collecting period is shorter than a week, a regression model is not accurate. If a collecting period is longer than fourth week, the user cannot distinguish a more detailed brightness. In some embodiments, model generation and selection module 360 uses evaluation methods to check a quality of the regression model, such as mean absolute error (MAE), mean squared error (MSE), root mean squared error (RMSE), and R-square.
  • MAE mean absolute error
  • MSE mean squared error
  • RMSE root mean squared error
  • model generation and selection module 360 keeps collecting adjustment events and fixing the model accordingly. However, in some cases when the user's behavior changes, model generation and selection module 360 starts to reestablish a new regression model. In some embodiments, the change of the user's behavior is triggered by a per-determined performance of the regression model.
  • FIG. 6 an example computing system that may be used to implement various features of embodiments described in the present disclosure.
  • Computing component 610 may be, for example, a mobile or otherwise portable device capable of processing data and adjusting brightness values of a display screen.
  • the computing component 610 includes one or more hardware processors 612 and machine- readable storage medium 614.
  • computing component 610 may be an embodiment of display device 100 of FIG. 1.
  • Hardware processor 612 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 614. Hardware processor 612 may fetch, decode, and execute instructions, such as instructions 620-640, to perform automatic brightness control of the display during run-time. As an alternative or in addition to retrieving and executing instructions, hardware processor 612 may include one or more electronic circuits that include electronic components for performing the functionality of one or more instructions, such as a field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other electronic circuits.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • a machine-readable storage medium such as machine-readable storage medium 614, may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
  • machine-readable storage medium 614 may be, for example, Random Access Memory (RAM), non-volatile RAM (NVRAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like.
  • RAM Random Access Memory
  • NVRAM non-volatile RAM
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • machine-readable storage medium 614 may be a non- transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals.
  • machine-readable storage medium 614 may be encoded with executable instructions, for example, instructions 620-640.
  • computing component 610 may also comprise a display screen, an ambient light detection module configured to detect environmental brightness conditions and corresponding brightness value of the display screen, and a power consumption module configured to detect a power consumption level that correlates to a functionality performed by the display device.
  • Hardware processor 612 may execute instruction 620 to determine an adjustment event of the brightness value of the display screen to a second brightness value of the display screen.
  • the user may initiate the adjustment to the second brightness value.
  • the event may comprise, for example, when there is a need to detect the ambient light intensity or in response to a triggering event.
  • the triggering event may comprise, for example, a user instruction, a time point, or system operation.
  • Hardware processor 612 may execute instruction 630 to determine a curve associated with the adjustment event.
  • the curve may correlate the power consumption level with a delta value between the brightness value of the display screen and the second brightness value of the display screen.
  • the curve may be plotted to help plot the minimal distance between the brightness of display screen and ambient light intensity, which minimized over all distances between the user-set brightness level to the curve.
  • the curves may be generated by applying a linear regression function, a logarithmic regression function, a weighted linear regression function, or a weighted logarithmic regression function to the current curve values. Other curve determinations may be implemented as discussed throughout the disclosure.
  • Hardware processor 612 may execute instruction 640 to update a default brightness value of the display screen corresponding to the curve to reduce the power consumption level while maintaining the delta value in performing the functionality of the display device.
  • the curve may be selectively implemented to set the new default brightness level that is predicted to be acceptable to the user and also reduce the power consumption by the device to achieve the acceptable brightness level. This can result in an overall reduction in energy consumption at multiple devices as well as fewer users that manually adjust the brightness setting (e.g., indicating better default settings at each device).
  • FIG. 7 is an example computing component that may be used to implement various features of embodiments described in the present disclosure.
  • FIG. 7 depicts a block diagram of an example computer system 700 in which various of the embodiments described herein may be implemented.
  • the computer system 700 includes a bus 702 or other communication mechanism for communicating information, one or more hardware processors 704 coupled with bus 702 for processing information.
  • Hardware processor(s) 704 may be, for example, one or more general purpose microprocessors.
  • the computer system 700 also includes a main memory 706, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 702 for storing information and instructions to be executed by processor 704.
  • Main memory 706 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 704.
  • Such instructions when stored in storage media accessible to processor 704, render computer system 700 into a specialpurpose machine that is customized to perform the operations specified in the instructions.
  • the computer system 700 further includes a read only memory (ROM) 708 or other static storage device coupled to bus 702 for storing static information and instructions for processor 704.
  • ROM read only memory
  • a storage device 710 such as a solid state disk (SSD), magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 702 for storing information and instructions.
  • the computer system 700 may be coupled via bus 702 to a display 712, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user.
  • a display 712 such as a liquid crystal display (LCD) (or touch screen)
  • An input device 714 is coupled to bus 702 for communicating information and command selections to processor 704.
  • cursor control 716 is Another type of user input device
  • cursor control 716 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 704 and for controlling cursor movement on display 712.
  • the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.
  • the computing system 700 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software codes that are executed by the computing device(s).
  • This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, bitstreams, data, databases, data structures, tables, arrays, and variables.
  • the word “component,” “module,” “system,” “database,” data store,” and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, C or C++.
  • a software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software components may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts.
  • Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
  • a computer readable medium such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution).
  • Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device.
  • Software instructions may be embedded in firmware, such as an EPROM.
  • hardware components may be comprised of connected logic units, such as gates and flipflops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
  • the computer system 700 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 700 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 700 in response to processor(s) 704 executing one or more sequences of one or more instructions contained in main memory 706. Such instructions may be read into main memory 706 from another storage medium, such as storage device 710. Execution of the sequences of instructions contained in main memory 706 causes processor(s) 704 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
  • non-transitory media refers to any media that store data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media may comprise non-volatile media and/or volatile media.
  • Non-volatile media includes, for example, optical or magnetic disks, such as storage device 710.
  • Volatile media includes dynamic memory, such as main memory 706.
  • non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
  • Non-transitory media is distinct from but may be used in conjunction with transmission media.
  • Transmission media participates in transferring information between non-transitory media.
  • transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 702.
  • transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • the computer system 700 also includes communication interface 718 coupled to bus 702.
  • Communication interface 718 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks.
  • communication interface 718 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 718 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN).
  • LAN local area network
  • Wireless links may also be implemented.
  • communication interface 718 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • a network link typically provides data communication through one or more networks to other data devices.
  • a network link may provide a connection through local network to a host computer or to data equipment operated by an Internet Service Provider (ISP).
  • ISP Internet Service Provider
  • the ISP in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet.”
  • Internet Internet
  • Local network and Internet both use electrical, electromagnetic or optical signals that carry digital data streams.
  • the signals through the various networks and the signals on network link and through communication interface 718, which carry the digital data to and from computer system 700, are example forms of transmission media.
  • the computer system 700 can send messages and receive data, including program code, through the network(s), network link and communication interface 718.
  • a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface 718.
  • the received code may be executed by processor 704 as it is received, and/or stored in storage device 710, or other non-volatile storage for later execution.
  • Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware.
  • the one or more computer systems or computer processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS).
  • SaaS software as a service
  • the processes and algorithms may be implemented partially or wholly in application-specific circuitry.
  • the various features and processes described above may be used independently of one another, or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations.
  • a circuit might be implemented utilizing any form of hardware, software, or a combination thereof.
  • processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a circuit.
  • the various circuits described herein might be implemented as discrete circuits or the functions and features described can be shared in part or in total among one or more circuits. Even though various features or elements of functionality may be individually described or claimed as separate circuits, these features and functionality can be shared among one or more common circuits, and such description shall not require or imply that separate circuits are required to implement such features or functionality.
  • a circuit is implemented in whole or in part using software, such software can be implemented to operate with a computing or processing system capable of carrying out the functionality described with respect thereto, such as computer system 700.

Abstract

Systems and methods are provided for implementing more accurate brightness level control based on data analytics regarding ambient light levels, user-set brightness levels/adjustments, and device power consumption. Such adjustments/control can be performed in accordance with data analytics reflecting observed user adjustments relative to ambient light and automatically-implemented brightness levels, and in consideration of power consumption/preservation.

Description

DATA-DRIVEN SYSTEMS AND METHODS OF AUTOMATIC BRIGHTNESS CONTROL
Technical Field
[0001] The disclosed technology relates generally to controlling the adjustment of display brightness levels in devices, and more particularly, implementing more accurate brightness level control based on data analytics regarding ambient light levels, user-set brightness levels/adjustments, and device power consumption.
Description of Related Art
[0002] With the advent of portable devices, the accessing/using/processing of data, communicating while on-the-go, and other advantages arising from the freedom and mobility provided by such portable devices has become ubiquitous. Along with that freedom and mobility, however, comes the need to interact with such portable devices in various environments under various conditions. An aspect of that interaction involves adjusting the brightness level of a display(s) to comport with a user's desired brightness level and/or power consumption characteristics of a portable device. For example, operating characteristics of a portable device's user interface (Ul), such as the aforementioned display, are typically adjustable by users of such portable devices to account for various environmental conditions (bright/sunny conditions, low light conditions, etc.). The power source(s), e.g., battery supply, that powers such portable devices when operating remotely from a non-battery power source may also be impacted since effectuating brighter levels typically consumes more power/drains the battery supply more quickly versus effectuating lower brightness levels.
Brief Summary
[0003] In accordance with some embodiments, a display device (may consider various objective factors and data to adjust brightness values of its corresponding display. For example, the objective factors and data can comprise ambient light values in an environment where the portable device is located, historical user interaction data with the portable device, and battery power consumption value relative to the brightness value. One type of interaction data may include is predicted to interact with an auto-brightness function of device (e.g., given ambient light). Another type of interaction data may include a user's historical adjustment to a desired brightness level after an automatic brightness function (e.g., autosetting brightness by the device), including determining a delta value between the devicedetermined brightness value and the user-adjusted brightness value.
[0004] In accordance with one embodiment, a display device is provided. The display device comprises a display screen; an ambient light detection module configured to detect environmental brightness conditions; a power consumption module configured to detect a power consumption level that correlates to a functionality performed by the display device; a memory; and one or more processors that are configured to execute machine readable instructions stored in the memory to determine an adjustment event of a first brightness value of the display screen to a second brightness value of the display screen, wherein the second brightness value is adjusted by an user; search a curve associated with the adjustment event, wherein the curve correlates the power consumption level with a delta value between the first brightness value of the display screen and the second brightness value of the display screen; and update a brightness value of the display screen corresponding to the curve. The update of the brightness value may help to reduce the power consumption level while maintaining the delta value in performing the functionality of the display device.
[0005] These illustrative embodiments are mentioned not to limit or define the disclosure, but to provide examples to aid understanding thereof. Additional embodiments are discussed in the Detailed Description, and further description is provided there.
Brief Description of the Drawings
[0006] The present disclosure, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The figures are provided for purposes of illustration only and merely depict typical or example embodiments.
[0007] FIG. 1 illustrates an schematic view of a display device, in accordance with some examples of the disclosure.
[0008] FIG. 2 illustrates example components of an ambient light detection module of the portable device, in accordance with some examples of the disclosure.
[0009] FIG. 3 illustrates a process for incorporating the ambient light detection module, power consumption, and user-set brightness levels in implementing automatic brightness control, in accordance with some examples of the disclosure. [0010] FIG. 4 illustrates one or more light curves compared to user-set brightness levels, in accordance with some examples of the disclosure.
[0011] FIG. 5 illustrates an energy curve in comparison with a cumulative user percentage, in accordance with some examples of the disclosure.
[0012] FIG. 6 an example computing system that may be used to implement various features of embodiments described in the present disclosure.
[0013] FIG. 7 an example computing system that may be used to implement various features of embodiments described in the present disclosure.
[0014] The figures are not exhaustive and do not limit the present disclosure to the precise form disclosed.
Detailed Description
[0015] As alluded to above, the use of mobile or otherwise portable devices that include one or more displays (or Uls that include displays) often need to adjust or optimize the brightness characteristic(s) of such displays. For example, these devices may move to various environments. The ambient lighting conditions of these environments (whether indoors or outdoors) may impact the brightness to which a user may set his/her display. That is, if the ambient lighting conditions in a location where the user is operating his/her device are relatively bright, the device's display tends to become washed out in appearance. In contrast, when the ambient lighting conditions are relatively low, the device's display can be set to a commensurately lower brightness level because sufficient contrast between the display and the low ambient lighting conditions can be achieved without a need for the display to be set to a relatively bright level. As another example, a user may wish to adjust the brightness of the display depending on the source(s) of light creating the ambient lighting conditions, e.g., whether or not a light source(s) is projecting light directly (or indirectly) onto a display, and so on. That is, a bright light source, such as the sun, shining directly onto a display may also result in a washed out viewing experience, unless the user increases the brightness level of the display.
[0016] Conventional devices attempt to address the above-described variance(s) with automated ambient light correction (ALC). In particular, such conventional devices can detect the ambient light of an environment using an embedded ambient light sensor disposed under the display of the device. The ambient light sensor can be used to detect the ambient light intensity, so that the device can control the brightness of the display screen according to the detected ambient light intensity, thus the brightness of the display screen is adapted to the external environment. However, not all users prefer the same amount of brightness. Other factors should be considered when programmatically and automatically adjusting the brightness of the display screen.
[0017] Accordingly, embodiments of the disclosed technology are directed to systems and methods of adjusting or otherwise controlling brightness levels of a device's display(s). Such adjustments/control can be performed in accordance with data analytics reflecting observed user adjustments relative to ambient light and automatically-implemented brightness levels, and in consideration of power consumption/preservation. [0018] FIG. 1 illustrates a schematic view of a display device, in accordance with some examples of the disclosure. In some embodiment, the display device is an electronic device, such as a cellphone, a tablet, a laptop or other suitable apparatuses. As illustrated in FIG. 1, display device 100 includes display screen component 120, circuit board 130, housing 140, and sensor unit 150. Display screen component 120 is coupled to housing 140 to provide a display surface of display device 100. Display screen component 120 serves as a front cover of display device 100 to define an enclosed space together with housing 140. Also, the display screen component 120 serves as the display surface of display device 100 for displaying information such as images, video, and texts. Display screen component 120 may include display screen 121 disposed on the surface of display device 100 and sensor unit 150 disposed at a side of the display screen. For example, display screen component 120 may be transparent to receive a light transmission, and sensor unit 150 may sense an ambient light intensity through display screen component 120.
[0019] Display screen component 120 also comprises sensor unit 150. Sensor unit 150 may include a signal emitter, a signal receiver, and an ambient-light sensor. The signal emitter can transmit a detecting "Signal A" outward from display screen component 120. The detecting Signal A is reflected into a reflected "Signal B" after touching an external object (for example, a user's face), then transmitted to the signal receiver. In some examples, the signal emitter of sensor unit 150 may be an infrared emitter for emitting or receiving an infrared light. For emitting, the signal receiver may output the received signal to a processor (embedded with circuit board 130) of display device 100 to be processed, after the signal receiver receives the reflected Signal B. The processor may use the received signal, for example, for controlling the display screen of display device 100 to light up or reduce the brightness of the light transmission through display screen 121. For receiving an infrared light, the ambient-light sensor can sense the intensity of an ambient light incident on the ambientlight sensor from a periphery of display screen 121. The ambient light can be sensed by the ambient-light sensor of sensor unit 150. In either example, the sensing of the ambient light may or may not pass through display screen 121 (e.g., the ambient light is sensed through the periphery of display device 100), and the brightness of the display screen 121 may be adapted to the environment, thereby reducing damages to the user's eyes.
[0020] FIG. 2 illustrates example components of an ambient light detection module of the portable device, in accordance with some examples of the disclosure. In illustration 200, the components of display device 100 illustrated in FIG. 1, including processor embedded with circuit board 130, may execute machine readable instructions to operate the components described herein to perform ambient light detection functionality. In some examples, ambient light detection component 210 may help detect ambient light intensity.
[0021] At block 220, a control module is provided. The control module may control a region of display screen 121 to display electronic information (e.g., color, picture, etc.). The region may be facing sensor unit 150 in display screen 121 of display device 100 and, in some examples, the region may be preset to a particular area on display screen 121. The control module may control the region of display screen 121 to display the predetermined picture or color. For example, the predetermined picture or color may comprise a pure color picture where all parts of the predetermined picture are the same (e.g., a full black image).
[0022] In some examples, the control module may control the preset region of the display screen to display the predetermined picture in response to an event. The event may comprise, for example, when there is a need to detect the ambient light intensity or in response to a triggering event. The triggering event may comprise, for example, a user instruction, a time point, or system operation. In some examples, the control module may control the region of display screen 121 to display the predetermined picture or color all the time.
[0023] At block 230, an obtaining module is provided. The obtaining module may obtain an ambient light intensity value detected by sensor unit 150. For example, when the region of display screen 121 displays the predetermined picture or color by the control module, the obtaining module may control sensor unit 150 to detect a current ambient light intensity value. The obtaining module obtains the ambient light intensity value detected by sensor unit 150.
[0024] In some examples, when sensor unit 150 detects the ambient light intensity value, external environment light (e.g., visible light) enters the ambient light sensor through display screen 121. When display screen 121 displays information, display screen 121 itself is also illuminated and light emitted by display screen 121 is also visible light. The light emitted by display screen 121 may also enter sensor unit 150, thus affecting detection result of sensor unit 150. In comparing this situation with the process of displaying a predetermined picture or color, the region of display screen 121 emits less light when the predetermined picture or color displayed by the region is a pure color picture (e.g., a full black image). When the pure color picture is a full black picture, the region of display screen 121 may emit the least amount of light so that display screen 121 has the least influence on sensor unit 150. This can allow the influence of display screen 121 on sensor unit 150 to be reduced and the accuracy of light detection by sensor unit 150 to be improved.
[0025] At block 240, a response module is provided. The response module may control display screen 121 to respond according to the ambient light intensity value. For example, after the obtaining module obtains the ambient light intensity value detected by sensor unit 150, light intensity of external environment may be determined according to the ambient light intensity value. The response module may control display screen 121 to respond according to the ambient light intensity value. For example, the response module may control brightness of display screen 121 according to the light intensity of external environment, such that the brightness of display screen 121 is adapted to the external environment light.
[0026] In some examples, sensor unit 150 comprises more than one light sensor. In this case, the obtaining module may obtain an ambient light intensity value detected by each light sensor and calculate the average value of the ambient light intensity values detected by light sensors. The response module may control the display screen to respond according to the average value.
[0027] FIG. 3 illustrates a process for incorporating the ambient light detection module, power consumption, and user-set brightness levels in implementing automatic brightness control, in accordance with some examples of the disclosure. In illustration 300, the components of display device 100 illustrated in FIG. 1, including processor embedded with circuit board 130 and ambient light detection component 210 of FIG. 2, may execute machine readable instructions to operate the components described herein in implementing automatic brightness control for display device 100.
[0028] Power consumption component 320 is configured to track current and energy consumed by display screen 121. In some examples, the current and energy consumption is tracked directly by measurements or an estimation system. Measurements can be completed with embedded current meters within the circuit board. When an estimation system is implemented, the estimation system can be implemented by a predefined model build from a testing lab with usages of display as inputs (e.g., brightness, fps, etc.).
[0029] User-set brightness level component 330 is configured to detect the user's perception of the brightness of display screen 121. For example, the user may interact with a settings component of display device 100 to manually control the brightness of display screen 121. The user can increase the brightness or decrease the brightness when display device 100 is displaying electronic information (e.g., color, picture, etc.), which can adjust the light emitted through display screen 121 by display screen component 120. The manual control of the brightness of display screen 121 may be tracked and stored.
[0030] Logging module 340 is configured to receive various sensor data and information from components of display device 100, including data from ambient light detection component 210 of FIG. 2 (e.g., using control module, obtaining module, and response module), power consumption component 320, and user-set brightness level component 330. Logging module 340 may determine a default brightness value, a current brightness value, and a delta value of how the brightness is determined or adjusted by one component or another.
[0031] As an illustrative example, if the default brightness value is set to 75% (e.g., determined by ambient light detection component 210) and the user turns down the brightness to 72% as the current brightness value (e.g., determined by user-set brightness level component 330), logging module 340 may determine the delta value of the two brightness levels as 3%.
[0032] Other functionalities may be logged by logging module 340 as well. For example, logging module 340 may track the standard usage of display device 100, including drafting and sending text messages, streaming data via a network, playing audio or video files, and the like. Each of these functionalities may be identified by a relative amount of time that display device 100 is performing this function or a relative amount of power consumed when performing the functionality. In some examples, each of the functionalities may correspond with a standard usage indicator (or other unique identifier of the functionality). The standard usage indicator may be identified for the particular electronic device and correlated to a corresponding power consumption curve, as described with FIG. 5 below.
[0033] Curve plotting module 350 is configured to receive data from logging module 340 and generate one or more analyses from the data, including one or more data curves. In some examples, the light adjustment curve may be customized to fit individual user's needs of the brightness of display screen 121. In other examples, the curve may be determined by lab experiments to determine the brightness values that make up this curve (e.g., as a testing effort).
[0034] An illustrative light curve compared to the user-set brightness level is provided in FIG. 4. In illustration 400, multiple light curves are provided as a mapping of the lux value to the level of brightness set by the user. For example, the x-axis of the curve corresponds with the lux value or the unit of illuminance of the light received at display device 100. The lux may be used as a measure of the intensity of the brightness of the light, as perceived by the human eye, that bounces back from or passes through a surface. The y-axis of the curve corresponds with the user-set brightness of display screen 121.
[0035] Current curve 410 illustrates the measured data from ambient light detection component 210 of FIG. 2 (e.g., using control module, obtaining module, and response module), power consumption component 320, and user-set brightness level component 330, which is logged and plotted by logging module 340. The other curves may be plotted to help plot the minimal distance between the brightness of display screen 121 and ambient light intensity. In some examples, plotting the optimal relationship curve is the comparison between the brightness setting and ambient light intensity, which minimized over all distances between the user-set brightness level to the curve. The curves may be generated by applying a linear regression function 420, a logarithmic regression function 430, a weighted linear regression function 440, or a weighted logarithmic regression function 450 to current curve 410. [0036] In some examples, current curve 410 is determined by lab experiment or other testing process to identify the correlation between the lux value and the level of brightness set by the user. Multiple display devices may be tested to determine this data, and a single curve may be applied to a single device, after the curve for the plurality of the display devices are determined.
[0037] In some examples, the weighted functions (e.g., weighted linear regression function 440 and weighted logarithmic regression function 450) may be weighted based on whether the user adjusted the brightness or not. For instances where the user adjusted the default brightness of display screen 121, the value may be decreased when determining the overall curve. For instances where the user did not adjust the default brightness of display screen 121, the value may be increased when determining the overall curve. In either of these examples, the default values corresponding with no user interaction may have a greater effect on the overall curve determination.
[0038] Curve plotting module 350 is also configured to compare each of these curve values to power consumption values (e.g., determined by power consumption component 320 and stored/aggregated/tracked by logging module 340 of FIG. 3). For example, curve plotting module 350 may determine that current curve 410 has greater power consumption than any of the other curves, including the curve generated by applying a linear regression function 420, a logarithmic regression function 430, a weighted linear regression function 440, or a weighted logarithmic regression function 450. [0039] Curve plotting module 350 is also configured to generate a particular type of curve from current curve 410. The curve may comprise, for example, a regression fitting curve plotted by minimizing an overall mean square error (MSE). Various regression curves are provided in FIG. 4 for illustrative purposes and further described herein.
[0040] Additional comparisons of curves to power consumption are illustrated in FIG. 5. The curves illustrated in example 500 of FIG. 5 may compare each power consumption curve with a cumulative user percentage that measures the user's acceptance of the brightness of display screen 121.
[0041] For example, current curve 510 is a mapping of the user's acceptance of the brightness of display screen 121, such that about 65% of users are satisfied with the brightness of display screen 121 with 4000 mAh energy consumption of the device. When additional curves are determined and plotted in correlation with current curve 510 using, for example, a weighted linear regression function 520 and a weighted logarithmic regression function 530, the system can determine an optimal brightness of display screen 121 that is acceptable to a percentage of users and also uses less power. In comparison with other approaches, the data-driven curve is able to save from about 5% to about 10% energy.
[0042] Returning to FIG. 3, model generation and selection module 360 is configured to select one of the curves generated by curve plotting module 350 to implement at display device 100. The curve determined for display device 100 may be selectively implemented to set a new default brightness level that is predicted to be acceptable to the user and also reduce the power consumption by the device to achieve the acceptable brightness level. Collectively across many electronic devices, the reduction in power consumption while still maintaining an acceptable brightness level can result in an overall reduction in energy consumption at each device as well as fewer users that manually adjust the brightness setting (e.g., indicating better default settings at each device).
[0043] Model generation and selection module 360 is also configured to select the curve based on a standard usage indicator of display device 100. For example, when the operation of the display device 100 is determined to exceed a threshold value for streaming data (e.g., a first functionality), a first curve may be selected to optimize power usage for streaming data. Similarly, when the operation of the display device 100 is determined to exceed a threshold value for drafting and transmitting text messages (e.g., a first functionality), a second curve may be selected to optimize power usage for drafting and transmitting text messages, rather than the first curve determination. In some embodiments, model generation and selection module 360 by default collects limited adjustment events. For example, about the first one hundred adjustment events are used to generate the weighted curve. If the number is one order of magnitude greater than that value, a user cannot distinguish a more detailed brightness, resulting in a waste of resources. If the number is one order of magnitude smaller than that value, a regression model is not accurate. In some embodiments, model generation and selection module 360 collects adjustment events from about the first week to about the fourth week of a usage of a display device. If a collecting period is shorter than a week, a regression model is not accurate. If a collecting period is longer than fourth week, the user cannot distinguish a more detailed brightness. In some embodiments, model generation and selection module 360 uses evaluation methods to check a quality of the regression model, such as mean absolute error (MAE), mean squared error (MSE), root mean squared error (RMSE), and R-square. Unless the quality of the regression model meets a pre-determined performance, model generation and selection module 360 keeps collecting adjustment events and fixing the model accordingly. However, in some cases when the user's behavior changes, model generation and selection module 360 starts to reestablish a new regression model. In some embodiments, the change of the user's behavior is triggered by a per-determined performance of the regression model.
[0044] FIG. 6 an example computing system that may be used to implement various features of embodiments described in the present disclosure. Computing component 610 may be, for example, a mobile or otherwise portable device capable of processing data and adjusting brightness values of a display screen. In the example implementation of FIG. 6, the computing component 610 includes one or more hardware processors 612 and machine- readable storage medium 614. In some embodiments, computing component 610 may be an embodiment of display device 100 of FIG. 1.
[0045] Hardware processor 612 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 614. Hardware processor 612 may fetch, decode, and execute instructions, such as instructions 620-640, to perform automatic brightness control of the display during run-time. As an alternative or in addition to retrieving and executing instructions, hardware processor 612 may include one or more electronic circuits that include electronic components for performing the functionality of one or more instructions, such as a field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other electronic circuits.
[0046] A machine-readable storage medium, such as machine-readable storage medium 614, may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, machine-readable storage medium 614 may be, for example, Random Access Memory (RAM), non-volatile RAM (NVRAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, and the like. In some embodiments, machine-readable storage medium 614 may be a non- transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals. As described in detail below, machine-readable storage medium 614 may be encoded with executable instructions, for example, instructions 620-640.
[0047] In some examples, computing component 610 may also comprise a display screen, an ambient light detection module configured to detect environmental brightness conditions and corresponding brightness value of the display screen, and a power consumption module configured to detect a power consumption level that correlates to a functionality performed by the display device.
[0048] Hardware processor 612 may execute instruction 620 to determine an adjustment event of the brightness value of the display screen to a second brightness value of the display screen. The user may initiate the adjustment to the second brightness value. The event may comprise, for example, when there is a need to detect the ambient light intensity or in response to a triggering event. The triggering event may comprise, for example, a user instruction, a time point, or system operation.
[0049] Hardware processor 612 may execute instruction 630 to determine a curve associated with the adjustment event. The curve may correlate the power consumption level with a delta value between the brightness value of the display screen and the second brightness value of the display screen. In some examples, the curve may be plotted to help plot the minimal distance between the brightness of display screen and ambient light intensity, which minimized over all distances between the user-set brightness level to the curve. The curves may be generated by applying a linear regression function, a logarithmic regression function, a weighted linear regression function, or a weighted logarithmic regression function to the current curve values. Other curve determinations may be implemented as discussed throughout the disclosure.
[0050] Hardware processor 612 may execute instruction 640 to update a default brightness value of the display screen corresponding to the curve to reduce the power consumption level while maintaining the delta value in performing the functionality of the display device. For example, the curve may be selectively implemented to set the new default brightness level that is predicted to be acceptable to the user and also reduce the power consumption by the device to achieve the acceptable brightness level. This can result in an overall reduction in energy consumption at multiple devices as well as fewer users that manually adjust the brightness setting (e.g., indicating better default settings at each device). [0051] FIG. 7 is an example computing component that may be used to implement various features of embodiments described in the present disclosure. FIG. 7 depicts a block diagram of an example computer system 700 in which various of the embodiments described herein may be implemented. The computer system 700 includes a bus 702 or other communication mechanism for communicating information, one or more hardware processors 704 coupled with bus 702 for processing information. Hardware processor(s) 704 may be, for example, one or more general purpose microprocessors.
[0052] The computer system 700 also includes a main memory 706, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 702 for storing information and instructions to be executed by processor 704. Main memory 706 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 704. Such instructions, when stored in storage media accessible to processor 704, render computer system 700 into a specialpurpose machine that is customized to perform the operations specified in the instructions.
[0053] The computer system 700 further includes a read only memory (ROM) 708 or other static storage device coupled to bus 702 for storing static information and instructions for processor 704. A storage device 710, such as a solid state disk (SSD), magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 702 for storing information and instructions.
[0054] The computer system 700 may be coupled via bus 702 to a display 712, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user. An input device 714, including alphanumeric and other keys, is coupled to bus 702 for communicating information and command selections to processor 704. Another type of user input device is cursor control 716, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 704 and for controlling cursor movement on display 712. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.
[0055] The computing system 700 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software codes that are executed by the computing device(s). This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, bitstreams, data, databases, data structures, tables, arrays, and variables.
[0056] In general, the word "component," "module," "system," "database," data store," and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, C or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software components may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts.
Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution). Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components may be comprised of connected logic units, such as gates and flipflops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
[0057] The computer system 700 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 700 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 700 in response to processor(s) 704 executing one or more sequences of one or more instructions contained in main memory 706. Such instructions may be read into main memory 706 from another storage medium, such as storage device 710. Execution of the sequences of instructions contained in main memory 706 causes processor(s) 704 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
[0058] The term "non-transitory media," and similar terms, as used herein refers to any media that store data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 710. Volatile media includes dynamic memory, such as main memory 706. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
[0059] Non-transitory media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between non-transitory media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 702. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
[0060] The computer system 700 also includes communication interface 718 coupled to bus 702. Communication interface 718 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface 718 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 718 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, communication interface 718 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0061] A network link typically provides data communication through one or more networks to other data devices. For example, a network link may provide a connection through local network to a host computer or to data equipment operated by an Internet Service Provider (ISP). The ISP in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet." Local network and Internet both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link and through communication interface 718, which carry the digital data to and from computer system 700, are example forms of transmission media.
[0062] The computer system 700 can send messages and receive data, including program code, through the network(s), network link and communication interface 718. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface 718. [0063] The received code may be executed by processor 704 as it is received, and/or stored in storage device 710, or other non-volatile storage for later execution.
[0064] Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware. The one or more computer systems or computer processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service" (SaaS). The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The various features and processes described above may be used independently of one another, or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate, or may be performed in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The performance of certain of the operations or processes may be distributed among computer systems or computers processors, not only residing within a single machine, but deployed across a number of machines.
[0065] As used herein, a circuit might be implemented utilizing any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logical components, software routines or other mechanisms might be implemented to make up a circuit. In implementation, the various circuits described herein might be implemented as discrete circuits or the functions and features described can be shared in part or in total among one or more circuits. Even though various features or elements of functionality may be individually described or claimed as separate circuits, these features and functionality can be shared among one or more common circuits, and such description shall not require or imply that separate circuits are required to implement such features or functionality. Where a circuit is implemented in whole or in part using software, such software can be implemented to operate with a computing or processing system capable of carrying out the functionality described with respect thereto, such as computer system 700.
[0066] As used herein, the term "or" may be construed in either an inclusive or exclusive sense. Moreover, the description of resources, operations, or structures in the singular shall not be read to exclude the plural. Conditional language, such as, among others, "can," "could," "might," or "may," unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps.
[0067] Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. Adjectives such as "conventional," "traditional," "normal," "standard," "known," and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. The presence of broadening words and phrases such as "one or more," "at least," "but not limited to" or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.

Claims

Claims What is claimed is:
1. A display device comprising: a display screen; an ambient light detection module configured to detect environmental brightness conditions; a power consumption module configured to detect a power consumption level that correlates to a functionality performed by the display device; a memory; and one or more processors that are configured to execute machine readable instructions stored in the memory to: store an adjustment event of a first brightness value of the display screen to a second brightness value of the display screen, wherein the second brightness value is adjusted by an user, search a curve associated with the adjustment event, wherein the curve correlates the power consumption level with a delta value between the first brightness value of the display screen and the second brightness value of the display screen, and update a brightness value of the display screen corresponding to the curve.
2. The display device of claim 1, wherein the adjustment event is performed after an automatic brightness function.
- 27 -
3. The display device of claim 1, wherein the adjustment event by the user changes automatically-implemented brightness levels to the second brightness value.
4. The display device of claim 1, wherein the user's historical adjustment is tracked by a logging module of the display device.
5. The display device of claim 1, wherein the functionality performed by the display device and correlated to the power consumption level includes drafting and sending text messages, streaming data via a network, or playing audio or video files.
6. The display device of claim 1, wherein the instructions further comprising: applying a weighted function to the curve associated with the adjustment event, wherein the curve is a regression fitting curve plotted by minimizing an overall mean square error (MSE).
7. A computer-implemented method comprising: determining a default brightness value using an ambient light detection module of a display device, wherein the ambient light detection module is configured to detect environmental brightness conditions and corresponding brightness value of a display screen of the display device; storing an adjustment event of a brightness value of the display screen to a second brightness value of the display screen, wherein a user initiates the adjustment to the second brightness value; determining a power consumption level using a power consumption module of the display device, wherein the power consumption module is configured to detect the power consumption level that correlates to a functionality performed by the display device; searching a curve associated with the adjustment event, wherein the curve correlates the power consumption level with a delta value between the first brightness value of the display screen and the second brightness value of the display screen; and updating the default brightness value of the display screen corresponding to the curve.
8. The computer-implemented method of claim 7, wherein the adjustment event is based on the user's historical adjustment to a desired brightness level after an automatic brightness function.
9. The computer-implemented method of claim 7, wherein the adjustment event is based on the ambient light and automatically-implemented brightness levels.
10. The computer-implemented method of claim 7, wherein the user's historical adjustment is tracked by a logging module of the display device.
11. The computer-implemented method of claim 7, wherein the functionality performed by the display device and correlated to the power consumption level includes drafting and sending text messages, streaming data via a network, or playing audio or video files.
12. The computer-implemented method of claim 7, further comprising: applying a weighted function to the curve associated with the adjustment event, wherein the curve is a regression fitting curve plotted by minimizing an overall mean square error (MSE).
13. A non-transitory machine-readable storage medium comprising instructions executable by a processor, the instructions programming the processor to: determine a brightness value using an ambient light detection module of a display device, wherein the ambient light detection module is configured to detect environmental brightness conditions and corresponding brightness value of a display screen of the display device; determine an adjustment event of the brightness value of the display screen to a second brightness value of the display screen, wherein a user initiates the adjustment to the second brightness value; determine a power consumption level using a power consumption module of the display device, wherein the power consumption module is configured to detect the power consumption level that correlates to a functionality performed by the display device; determine a curve associated with the adjustment event, wherein the curve correlates the power consumption level with a delta value between the brightness value of the display screen and the second brightness value of the display screen; and update a default brightness value of the display screen corresponding to the curve to reduce the power consumption level while maintaining the delta value in performing the functionality of the display device.
14. The non-transitory machine-readable storage medium of claim 13, wherein the adjustment event is based on the user's historical adjustment to a desired brightness level after an automatic brightness function.
15. The non-transitory machine-readable storage medium of claim 13, wherein the adjustment event is based on the ambient light and automatically-implemented brightness levels.
16. The non-transitory machine-readable storage medium of claim 13, wherein the user's historical adjustment is tracked by a logging module of the display device.
17. The non-transitory machine-readable storage medium of claim 13, wherein the functionality performed by the display device and correlated to the power consumption level includes drafting and sending text messages, streaming data via a network, or playing audio or video files.
18. The non-transitory machine-readable storage medium of claim 13, the instructions further programming the processor to: apply a weighted function to the curve associated with the adjustment event, wherein the curve is a regression fitting curve plotted by minimizing an overall mean square error (MSE).
- 31 -
PCT/US2023/011160 2023-01-19 2023-01-19 Data-driven systems and methods of automatic brightness control WO2023102575A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2023/011160 WO2023102575A1 (en) 2023-01-19 2023-01-19 Data-driven systems and methods of automatic brightness control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2023/011160 WO2023102575A1 (en) 2023-01-19 2023-01-19 Data-driven systems and methods of automatic brightness control

Publications (1)

Publication Number Publication Date
WO2023102575A1 true WO2023102575A1 (en) 2023-06-08

Family

ID=86613177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/011160 WO2023102575A1 (en) 2023-01-19 2023-01-19 Data-driven systems and methods of automatic brightness control

Country Status (1)

Country Link
WO (1) WO2023102575A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234398A (en) * 2023-11-06 2023-12-15 荣耀终端有限公司 Screen brightness adjusting method and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118182A1 (en) * 2000-12-22 2002-08-29 Visteon Global Technologies, Inc. Automatic brightness control system and method for a display device using a logarithmic sensor
US20100039414A1 (en) * 2000-03-13 2010-02-18 Bell Cynthia S Automatic brightness control for displays
CN101789230A (en) * 2009-01-24 2010-07-28 联想(北京)有限公司 Electronic equipment and display device screen brightness adjusting method thereof
US20160119613A1 (en) * 2014-10-27 2016-04-28 Sharp Kabushiki Kaisha Display system with specular reflective mode
US20160314760A1 (en) * 2015-04-24 2016-10-27 Apple Inc. Display with Continuous Profile Peak Luminance Control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100039414A1 (en) * 2000-03-13 2010-02-18 Bell Cynthia S Automatic brightness control for displays
US20020118182A1 (en) * 2000-12-22 2002-08-29 Visteon Global Technologies, Inc. Automatic brightness control system and method for a display device using a logarithmic sensor
CN101789230A (en) * 2009-01-24 2010-07-28 联想(北京)有限公司 Electronic equipment and display device screen brightness adjusting method thereof
US20160119613A1 (en) * 2014-10-27 2016-04-28 Sharp Kabushiki Kaisha Display system with specular reflective mode
US20160314760A1 (en) * 2015-04-24 2016-10-27 Apple Inc. Display with Continuous Profile Peak Luminance Control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BALASUBRAMANIAN A.V. SAI, N. RAVI SHANKAR, S. SUBBARAMAN, R. RENGARAJ: "A Novel Fuzzy Logic Based Controller to Adjust the Brightness of the Television Screen with Respect to Surrounding Light", WORLD ACADEMY OF SCIENCE, ENGINEERING AND TECHNOLOGY, vol. 2, no. 3, 1 January 2008 (2008-01-01), XP093071633, DOI: 10.5281/zenodo.1075242 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234398A (en) * 2023-11-06 2023-12-15 荣耀终端有限公司 Screen brightness adjusting method and electronic equipment
CN117234398B (en) * 2023-11-06 2024-04-05 荣耀终端有限公司 Screen brightness adjusting method and electronic equipment

Similar Documents

Publication Publication Date Title
US10761642B2 (en) Method, mobile terminal and non-transitory computer-readable storage medium for adjusting scanning frequency of touch screen
KR102597680B1 (en) Electronic device for providing customized quality image and method for controlling thereof
US9449561B1 (en) Light sensor obstruction detection
CN108874128B (en) Proximity detection method and apparatus, electronic apparatus, storage medium, and device
US11140325B2 (en) Method and electronic device for controlling plurality of cameras
US20100207872A1 (en) Optical displacement detecting device and operating method thereof
US8674331B2 (en) Electronic apparatus and control method
CN108873005B (en) Proximity detection method and apparatus, electronic apparatus, storage medium, and device
CN108881875B (en) Image white balance processing method and device, storage medium and terminal
WO2023102575A1 (en) Data-driven systems and methods of automatic brightness control
US11605965B2 (en) Electronic device for adaptive power management
US11107440B2 (en) System and method for dynamic backlight and ambient light sensor control management with semi-supervised machine learning for digital display operation
US11615764B2 (en) Electronic device and method for controlling brightness of display
EP3398013A1 (en) Method for controlling infrared illuminator and related image-recording device
US10789171B2 (en) Information processing method and device, and method and device for displaying dynamic information
US20100207886A1 (en) Apparatus and method for reducing battery power consumption in a portable terminal
KR20200089593A (en) Method to obtain outside luminance using camera sensor and electronic device applying the method
CN110609977B (en) Bottom noise adjusting and processing method and device based on proximity sensor and computer equipment
CN111182115A (en) Anomaly detection method and device for proximity sensor and mobile terminal
EP3654624B1 (en) Screen state control method and device, storage medium, and mobile terminal
CN109510896B (en) Proximity sensor selection method and device, storage medium and electronic device
CN110636222B (en) Photographing control method and device, terminal equipment and storage medium
KR101359006B1 (en) Ambient light sensor utilizing mobile communication device and control method
US20230206881A1 (en) Method and apparatus for detecting ambient light under display screen and electronic device
US20150363004A1 (en) Improved tracking of an object for controlling a touchless user interface

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23727912

Country of ref document: EP

Kind code of ref document: A1