Implementations described herein pertain to adjusting an electronic display and, in particular, to methods and apparatuses for adjusting brightness and/or refresh rates in display regions based on information associated with a location at which a user is looking on the display.
There are many techniques for adjusting brightness of display screens. For example, a screen saver may temporarily replace stationary, bright images on a display screen with moving figures to prevent screen burnout and to increase screen lifespan. An energy saver may turn off or dim a brightly lit screen in order to save energy. However, these techniques for controlling display brightness depend on user inactivity at a keyboard, mouse, and/or device that receives inputs and thus, can inconveniently erase all images on the screen, if the user does not use the keyboard, mouse, and/or device for an extended period of time. In addition, these techniques do not properly handle bistable display screens, which require little energy to maintain displayed images but a lot of energy to refresh the images.
According to one aspect, a method may comprise determining an area at which a user gazes on a display screen and identifying on the display screen, based on the location, a screen region that does not overlap the area. The method may further comprise darkening the identified screen region.
Additionally, the method may further comprise determining a size and a location of the identified screen region and a size and a location of a screen region which overlaps the area.
Additionally, the method may further comprise determining a distance from the identified screen region to the area.
Additionally, the method may further comprise determining a brightness level of the identified screen region.
Additionally, the method may further comprise determining colors of pixels in the identified screen region.
Additionally, darkening the identified screen region may include displaying the determined colors.
Additionally, determining the area at which the user gazes may include determining the location based on eye-tracking data.
Additionally, the method may further comprise monitoring a position of an eye of the user and generating the eye-tracking data based on the monitored position.
Additionally, determining the area at which the user gazes may include estimating the location based on user inputs.
According to another aspect, a device may comprise one or more processors to obtain an area at which a user gazes on a display screen, identify one or more portions of the display screen, select at least one identified portion that includes at least part of the area, and dim at least one portion that is not selected and that does not include at least part of the area.
Additionally, the area may cover on the display screen a visually acute portion of a visual field of the user.
Additionally, the one or more identified screen portions may be contiguous.
Additionally, the one or more identified screen portions may not be contiguous.
Additionally, the device may further comprise an eye-tracking logic to monitor a position of an eye of the user and determine eye-tracking data based on the monitored position.
Additionally, the one or more processors may be further configured to determine a size and a position of at least one of the one or more identified portions.
Additionally, the one or more processors may be further configured to determine a distance from the area to one of the one or more identified portions.
Additionally, the one or more processors may be further configured to generate a luminance value for at least one portion that is not selected and that does not include at least part of the area.
Additionally, the one or more processors may be further configured to produce colors for pixels in at least one portion that is not selected and that does not include at least part of the area.
Additionally, the one identified portion includes an entire area of the display screen.
According to yet another aspect, a device may comprise means for determining an area at which a user looks on a display screen, means for detecting one or more screen divisions that include the area, and means for reducing a brightness of a portion of the display screen other than the detected one or more screen divisions.
According to a further aspect, a device may comprise one or more processors to locate an area at which a user gazes on a display screen, identify one or more portions of the display screen, select at least one identified portion that includes at least part of the area, and refresh the display screen by updating the selected portion and not updating at least one identified portion that does not include at least part of the area.
Additionally, the area may cover\ on the display screen a visually acute portion of a visual field of the user.
According to a further aspect, a method may comprise determining an area at which a user gazes on a display screen, identifying screen regions that overlap the area on the display screen, and refreshing the display screen by updating the identified screen regions and not updating screen regions that do not overlap the area.
Additionally, determining the area at which the user gazes may include locating the area based on eye-tracking data.
Additionally, the method may further comprise tracking a direction of an eye of the user and generating the eye-tracking data based on the tracked direction.
According to a further aspect, a method may comprise locating an area at which a user gazes on a display screen, identifying on the display screen a screen region that does not overlap the area, darkening the identified screen region, and refreshing the display screen by updating a screen region that overlaps the area and not updating the identified screen region.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the teachings described herein, together with the description, and explain the teachings. In the drawings,
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
CPU 204 may include one or more processors, microprocessors, and/or processing logic capable of controlling device 100. GPU 206 may include a graphics rendering device, such as a dedicated graphics card and/or an integrated graphics processor that may use a portion of memory 202. GPU 206 may perform computation, manipulation and display of graphics and may control the brightness and refresh rates of display screen 212, with or without participation from CPU 204. Input/output devices 208 may include a printer, keyboard, mouse, speaker, microphone, digital camera, digital video camera, and/or other types of devices for converting physical events or phenomena to and/or from digital signals that pertain to device 100.
Eye-tracking logic 210 may include hardware and/or software for determining a location on display screen 212 at which a user is looking. Eye-tracking logic 210 may use various techniques for determining the location on display screen 212. For example, eye-tracking logic 210 may track a user's eye movements. In this case, eye-tracking logic 210 can include, or operate in conjunction with, a video camera to determine movements of a user's eye. In another implementation, eye-tracking logic 210 may use cursor movements or text inputs to estimate a location at which a user is looking. In this case, it may be assumed that if the user moves a cursor to or enters text at a particular location on display screen 212, the user is likely to be looking at that location on display screen 212.
Display screen 212 may include a device that can display signals generated by device 100 as images on a screen. Examples of display screens include a liquid crystal display (LCD) screen, cathode ray tube (CRT) display screen, organic light-emitting diode (OLED) display screen, surface-conduction electron-emitter display (SED) screen, plasma display screen, field emission display (FED) screen, and bistable display screen. In practice, device 100 may include one or more display screens.
Communications interface 214 may provide an interface through which components of device 100 can communicate with one another.
Display screen 212 may include liquid crystal display 304, light guide 306, and light source 308. Liquid crystal display 304 may include a matrix of pixels, each of which includes red, blue, and green sub-pixels. When light 310 passes through a sub-pixel, it illuminates the sub-pixel to a particular brightness (i.e., luminance), which may be a function of two factors: intensity of light 310 and sub-pixel driver/control signals (not shown) that affect color shading. Light guide 306 may include a device for receiving light rays from light source 308 and for diffusing the light rays within its body. Light guide 306 may uniformly illuminate liquid crystal display 304. Light source 308 may include a device for illuminating liquid crystal display 304. In
In an alternative implementation, display screen 212 may include a bistable display screen (not shown). A bistable display screen requires little energy to maintain displayed images but a lot of energy to update or refresh the images.
At block 406, screen regions within display screen 212 may be determined. A “screen region,” as used herein, may be defined as a screen area that may be treated as a unit for adjusting screen brightness. Determining screen regions may include determining the size and location of each screen region.
Screen regions may be determined in accordance with a specific strategy. For example, if the strategy is to decrease the brightness of or to set completely dark entire display screen 212 when a user's eye does not gaze at display screen 212, a screen region may be determined as a whole display screen.
In another example, screen regions may be determined based on general properties of a human eye, illustrated in
In another example,
Comparing a display screen with small screen regions, as in
One consideration may be that, with smaller screen regions, it is possible to dim a greater percentage of the display screen area than with larger screen regions. For example, in
Another consideration in dividing display screen 212 into small screen regions may be that, with small screen regions, it is possible to dim different screen regions to more than one brightness level. For example, in
Another consideration in dividing display screen 212 into small screen regions may be that, with small screen regions, it is possible to adjust the brightness of display screen 212 when foveal area 506 (
The above-described consideration suggests implementations in which determining screen regions may include determining first a screen region which contains foveal point 508 as its center and then determining other screen regions, such that foveal area 506 overlaps at most with one screen region. In such implementations, the location of foveal point 508 is needed to determine the screen region which contains foveal point 508.
Yet another consideration in dividing display screen 212 into small screen regions may be that increasing the number of screen regions increases computational cost associated with adjusting the brightness of display screen 212. For example, if determining a single screen region shown in
In implementing the present embodiment, it is possible to cap the computational cost by setting a lower limit on the size of screen regions. Generally, the lower limit can be set to a value roughly in the order of diameter 510 of foveal area 506, because diameter 510 provides an estimation of the approximate screen region size at which making screen regions smaller is not likely to significantly increase the percentage of display screen area that may be dimmed. However, if diameter 510 is smaller than the image resolving distance of eye-tracking logic 210, the lower limit can be set to the resolving distance.
If the computational cost does not impose a significant burden on CPU 204 and/or GPU 206, it is possible to determine screen regions which are much smaller than foveal area 506. In such scenario, the brightness of display screen 212 can be adjusted so that the brightness levels to which pixels are calibrated closely tracks visual acuity curve 512 in
Referring back to
At block 410, based on the screen location, screen regions which contain foveal area 506 or foveal point 508 may be identified. For example, screen region 604 in
In addition, depending on the type of display screen 212 included in device 100, the overall brightness of each pixel in the screen regions that overlap foveal area 506 may be determined. If device 100 includes a liquid crystal display, when the luminance of light source 308 is reduced, the entire display screen can be dimmed. To compensate for the loss in brightness in foveal area 506, the color shades of the sub-pixels in foveal area 506 may be re-calculated and the sub-pixels re-shaded, such that the color and brightness of each pixel in foveal area 506 may remain relatively constant. Such a maneuver may require the overall brightness of each pixel or each group of pixels to be determined and stored as references in memory 202. If device 100 does not include a liquid crystal display screen but includes another type of display screen 212, it may not be necessary to determine the overall brightness of each pixel.
At block 412, the effective distance of each screen region from foveal area 506 may be obtained. An effective distance may be a symbol or a number that is mapped, by a function, to a real number that approximately correlates with the distance from the centroid of a screen region to the centroid of foveal area 506. The term “centroid,” as used herein, may refer to any point that may represent the center of a screen region, and the term may or may not be consistent with the mathematical definition of centroid. For example, in
At block 414, a darkness level may be assigned to each screen region. Assigning a darkness level to a screen region may include assigning a numerical value, which indicates the reduced level of brightness, to the screen region based on the effective distance of the screen region. The numerical value may also indicate a level of degradation of visual acuity away from foveal point 508.
Applying a darkness level to a screen region, at block 416, may include using the assigned numerical value to determine colors for each pixel. The manner of using the assigned numerical value to determine colors may depend on what the numerical value represents and the specific strategy, method, steps, or processes that are employed to arrive at the colors that reflect the darkness level. The determined colors can be stored in one or more buffers in memory 202.
If device 100 includes a liquid crystal display, it may be necessary to use, in conjunction with the assigned numerical values, the overall brightness for each pixel in determining the colors. Further, if the liquid crystal display includes many lamps underneath a light guide that emits more light near a lamp, backlight in screen regions that the user is not looking may be reduced by decreasing the brightness of the lamps in those screen regions.
If device 100 includes an OLED display screen, when determining the colors, green color may be weighted more heavily. For OLED display screens, emitting green color consumes less energy than emitting other colors.
At block 418, using the determined colors, display screen 212 may be redrawn, to reflect the brightness adjustment.
Blocks 404-418 may be repeated periodically to reflect changes in the location of foveal point 508, though not necessarily in the order that blocks 404-418 have been described above.
At block 706, screen regions within display screen 212 may be determined in accordance with specific strategies and implementation considerations. Strategies and implementation considerations similar to those discussed above with regard to block 406 in
At block 708, the screen location of foveal area 506 or foveal point 508 may be produced based on eye-tracking data in a manner similar to that described above with respect to block 408. Based on the screen location, screen regions which contain foveal area 506 or foveal point 508 may be identified at block 710 in a manner similar to that described with regard to block 410. At block 712, the effective distance of each screen region from foveal area 506 may be obtained in a manner similar to that described with respect to block 712
At block 714, a numerical value, which indicates a reduced rate of screen refresh, may be assigned to each screen region that does not overlap foveal area 506. The numerical value may also reflect a level of degradation of visual acuity away from foveal point 508.
At block 716, the assigned numerical values may be used to determine whether to update pixels within each screen region when display screen 212 is refreshed.
At block 718, display screen 212 is refreshed based on the results of block 716. When display screen 212 is refreshed, only the screen regions that overlap foveal area 506 may be updated. The screen regions that do not overlap foveal area 506 may not be updated. Preventing updates of the screen regions that do not overlap foveal area 506 may have the effect of decreasing refresh rates in the same screen regions.
Blocks 704-716 may be repeated periodically to reflect changes in the location of foveal point 508, though not necessarily in the order that blocks 704-716 have been described above.
Many changes to the adjustment processes described above for screen brightness and for screen refresh rates may be implemented. In an alternative implementation of the brightness adjustment process, at block 406 in
Similar changes to the process shown in
In yet another implementation, both screen refresh rates and screen brightness may be adjusted, if device 100 includes a bistable display screen and a display screen with internal light sources or, alternatively, a hybrid of a bistable display screen and a display screen with internal light sources. For the hybrid, the adjustment processes for screen brightness and for screen refresh rates may be combined into one. The combined process may include blocks 402-418 and blocks 714-718.
In other implementations, at block 406 or block 706, determining screen regions may include determining a screen region which contains foveal point 508 as its center and then determining other remaining screen regions. In such implementations, block 408/708 may precede block 406/706, because the location of foveal point 508 may be used to determine the screen region which contains foveal point 508.
Further, many of the computations within each block may be performed in parallel, depending on the number of processors, microprocessors, processing logic, and/or graphics processors included in CPU 204 and/or GPU 206. For example, two processors in CPU 204 and/or GPU 206 may concurrently perform computations for block 414 or block 714. Each processor may handle a different set of screen regions. Similar parallel processing may be performed for each of blocks, 406/706 and 410/710-418/718.
In one implementation, device 100 may provide specialized hardware and software support for adjusting the brightness of display screen 212. For example, CPU 206 may include specialized hardware/software components for performing brightness transformations of display screen regions. In addition, software components may provide different buffering schemes for fast graphics operations.
The following example illustrates processes involved in adjusting display screen brightness in accordance with implementations described with respect to
Assume that device 100 includes a 1280×1024 CRT display screen. After powering up, a program is automatically started on device 100. The program implements a screen determining strategy that partitions the display screen into two equal areas.
When a user fixes her eyes to screen coordinates (320, 512), measured in pixels, eye-tracking logic 210 provides eye-tracking data. Based on the eye-tracking data, the location of a foveal point on the display screen is computed as screen coordinates (320, 512).
In the example, screen regions are determined as 1×2 rectangles, as shown in
For each of screen regions 602 and 604, an effective distance is computed. For example, based on the fact that the center of screen region 602 is located at screen coordinates (320, 512), effective distance d from screen region 602 to the foveal area is computed as 0. Similarly, effective distance d from screen region 604 to the foveal area is computed as 640.
The effective distances are then used to assign brightness level 1.0 to screen region 602 and brightness level 0.5 to screen region 604. In this example, brightness level is the ratio of desired color intensity, in red, green, and blue (RGB) value, to the color intensity without any brightness adjustment.
Assuming that all pixels without any brightness adjustments in screen regions 602 and 604 have the RGB color value of (255, 0, 0), applying brightness level 1.0 to screen region 602 yields the RGB value of (255, 0, 0) for all pixels in screen region 602. Applying brightness level 0.5 to screen region 604 yields the ROB value of (128, 0, 0) for all pixels in screen region 604.
On the CRT display screen, colors (255, 0, 0) and (128, 0, 0) are displayed for screen regions 602 and 604, respectively. When the user moves her eyes from screen coordinates (320, 512) to (960, 512) on the display screen, the eye-tracking logic detects the change and the program restarts the screen brightness adjustment process.
The foregoing description of embodiments provides illustration, but is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the teachings.
For example, while series of blocks have been described with regard to processes illustrated in
It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
It should be emphasized that the term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.
Further, certain portions of the invention have been described as “logic” that performs one or more functions. This logic may include hardware, such as a processor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
Number | Name | Date | Kind |
---|---|---|---|
4836670 | Hutchinson | Jun 1989 | A |
4950069 | Hutchinson | Aug 1990 | A |
4973149 | Hutchinson | Nov 1990 | A |
5185597 | Pappas et al. | Feb 1993 | A |
5186629 | Rohen | Feb 1993 | A |
5471542 | Ragland | Nov 1995 | A |
5559533 | Hicok et al. | Sep 1996 | A |
5583795 | Smyth | Dec 1996 | A |
5598565 | Reinhardt | Jan 1997 | A |
5668571 | Pai et al. | Sep 1997 | A |
5835083 | Nielsen et al. | Nov 1998 | A |
5844544 | Kahn et al. | Dec 1998 | A |
5898423 | Tognazzini et al. | Apr 1999 | A |
6067069 | Krause | May 2000 | A |
6152563 | Hutchinson et al. | Nov 2000 | A |
6204828 | Amir et al. | Mar 2001 | B1 |
6323884 | Bird et al. | Nov 2001 | B1 |
6603491 | Lemelson et al. | Aug 2003 | B2 |
6664955 | Deering | Dec 2003 | B1 |
6731315 | Ma et al. | May 2004 | B1 |
6791531 | Johnston et al. | Sep 2004 | B1 |
6876397 | Funakoshi et al. | Apr 2005 | B2 |
7082577 | Brosnahan | Jul 2006 | B1 |
7401920 | Kranz et al. | Jul 2008 | B1 |
7509592 | Martinez | Mar 2009 | B1 |
7656413 | Khan et al. | Feb 2010 | B2 |
20020190946 | Metzger | Dec 2002 | A1 |
20030052903 | Weast | Mar 2003 | A1 |
20030135288 | Ranganathan et al. | Jul 2003 | A1 |
20030146897 | Hunter | Aug 2003 | A1 |
20040017472 | Gorodnichy | Jan 2004 | A1 |
20040056900 | Blume | Mar 2004 | A1 |
20040070565 | Nayar et al. | Apr 2004 | A1 |
20040233146 | Nguyen | Nov 2004 | A1 |
20040240709 | Shoemaker | Dec 2004 | A1 |
20050024586 | Teiwes et al. | Feb 2005 | A1 |
20050175218 | Vertegaal et al. | Aug 2005 | A1 |
20060101293 | Chandley et al. | May 2006 | A1 |
20060109242 | Simpkins | May 2006 | A1 |
20060256083 | Rosenberg | Nov 2006 | A1 |
20070146294 | Nurmi et al. | Jun 2007 | A1 |
20070146344 | Martin et al. | Jun 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20080111833 A1 | May 2008 | US |