This relates generally to electronic devices, and, more particularly, to electronic devices with displays.
Electronic devices often include displays. If care is not taken, displays may be damaged by displaying bright content for prolonged periods of time, displays may be operated with brightness levels that consume excessive power, user preferences may not be taken into account when adjusting display brightness, and displayed content may exhibit visible artifacts. Addressing these concerns while displaying content with a pleasing appearance is challenging.
An electronic device may be provided with a display. A content generator on the electronic device may provide content to be displayed on the display.
Control circuitry in the electronic device may be used in implementing a tone mapping engine. The tone mapping engine may select a content-luminance-to-display luminance mapping to be used in displaying content on the display from the content generator. The content-luminance-to-display-luminance mapping may be characterized by tone mapping parameters such as a black level, a reference white level, and a specular white level.
During operation, the tone mapping engine may adjust the tone mapping parameters based on ambient light levels, user brightness settings, content statistics, and display characteristics.
An illustrative electronic device of the type that may be provided with a display is shown in
Control circuitry 12 is configured to execute instructions for implementing desired control and communications features in device 10. For example, control circuitry 12 may be used in determining pixel luminance levels that are to be used in displaying content for a user. Pixel luminance levels may be based, for example, on ambient light conditions, user-adjusted display brightness settings, statistical information associated with content that is being displayed, and display characteristics. Control circuitry 12 may be configured to perform these operations using hardware (e.g., dedicated hardware such as integrated circuits and thin-film circuits) and/or software (e.g., code that runs on control circuitry 12). Software code for performing control and communications operations for device 10 may be stored on non-transitory computer readable storage media (e.g., tangible computer readable storage media). The software code may sometimes be referred to as software, data, program instructions, instructions, or code. The non-transitory computer readable storage media may include non-volatile memory such as non-volatile random-access memory (NVRAM), one or more hard drives (e.g., magnetic drives or solid state drives), one or more removable flash drives or other removable media, other computer readable media, or combinations of these computer readable media or other storage. Software stored on the non-transitory computer readable storage media may be executed on the processing circuitry of control circuitry 12 during operation of device 10.
Input-output circuitry 16 in device 10 may be used to allow data to be supplied to device 10 from a user or external equipment, may be used to gather environmental data, and may be used to supply data to external equipment and output for a user. Input-output circuitry 16 may include input-output devices 30 such as buttons, joysticks, scrolling wheels, touch pads, key pads, keyboards, microphones, speakers, tone generators, vibrators, cameras, sensors, light-emitting diodes and other status indicators, touch sensitive displays (e.g., touch sensors overlapping pixel arrays in displays), data ports, etc. As shown in
Power may be supplied to control circuitry 12 and other resources in device 10 using one or more power sources such as power source 18. Power source 18 may be an alternating-current (AC) source such as a wall outlet (mains supply) and/or a direct-current (DC) source such as a battery. During operation, control circuitry 12 can detect whether power is being received from an AC or DC source and can monitor the charge state of the battery.
Device 10 may include one or more internal and/or one or more external displays such as illustrative display 14. Display 14 may be mounted in a common housing with device 10 (e.g., when device 10 is a mobile device such as a cellular telephone, wristwatch device, tablet computer, or laptop computer or when device 10 is an all-in-one device such as a television or desktop computer). In other configurations, display 14 may be coupled to device 10 wirelessly or with a cable (e.g., when device 10 is a desktop computer or a set-top box).
In general, device 10 may be any suitable type of device. Device 10 may, for example, be a computing device laptop computer, a computer monitor containing an embedded computer, a tablet computer, a cellular telephone, a media player, or other handheld or portable electronic device, a smaller device such as a wrist-watch device, a pendant device, a headphone or earpiece device, a device embedded in eyeglasses or other equipment worn on a user's head, or other wearable or miniature device, a television, a computer display that does not contain an embedded computer, a gaming device, a navigation device, an embedded system such as a system in which electronic equipment with a display is mounted in a kiosk or automobile, equipment that implements the functionality of two or more of these devices, or other electronic equipment. Device 10 (e.g., a portable device) may be exposed to a variety of environmental conditions. For example, ambient light levels and therefore display glare may vary as a portable device is moved between indoors and outdoors environments (as an example).
Electronic device may have a housing. The housing, which may sometimes be referred to as an enclosure or case, may be formed of plastic, glass, ceramics, fiber composites, metal (e.g., stainless steel, aluminum, etc.), other suitable materials, or a combination of any two or more of these materials. The housing may be formed using a unibody configuration in which some or all of the housing is machined or molded as a single structure or may be formed using multiple structures (e.g., an internal frame structure, one or more structures that form exterior housing surfaces, etc.). In laptop computers and other foldable devices, a first portion of the housing may rotate relative to a second portion of the housing (e.g., a display housing in a laptop computer may rotated about a hinge axis relative to a base housing in the laptop computer).
Display 14 may be mounted in the housing. Display 14 may have a rectangular outline and be surrounded by four peripheral edges, may have a shape that is circular or oval, or may have other suitable outlines. Display 14 may be a touch screen display that incorporates a layer of conductive capacitive touch sensor electrodes or other touch sensor components (e.g., resistive touch sensor components, acoustic touch sensor components, force-based touch sensor components, light-based touch sensor components, etc.) or may be a display that is not touch-sensitive. Capacitive touch screen electrodes may be formed from an array of indium tin oxide pads or other transparent conductive structures.
Display 14 may have an array 28 of pixels 36 for displaying images for a user (e.g., video, graphics, text, etc.). Display driver circuitry 26 (e.g., thin-film transistor circuitry on display 14 and/or one or more timing-controller integrated circuits and/or other display driver integrated circuits) may be used to display images on pixel array 28. Pixel array 28 may include, for example, hundreds or thousands of rows and hundreds or thousands of columns of pixels 36. To display color images, each pixel 36 may include subpixels of different colors. For example, each pixel 36 may include, red, green, and blue subpixels or subpixels of different colors. By varying the relative intensity of light emitted by each subpixel in a pixel, pixel output color can be adjusted. The color cast (white point) of each pixel can be adjusted by modifying the gain associated with each subpixel.
The pixel array of display 14 may be formed from liquid crystal display (LCD) components, an array of electrophoretic display pixels, an array of plasma display pixels, an array of organic light-emitting diode pixels or other light-emitting diodes, an array of electrowetting display pixels, or pixels based on other display technologies. Display 14 may be backlit with an array of locally dimmable light-emitting diodes or other suitable backlight structures. Display 14 may display images with a standard dynamic range (e.g., images that exhibit a contrast ratio of about 1,000:1 between their brightest and darkest pixel luminance values) and/or may display images with a high dynamic range (e.g., images that exhibit a contrast ratio of about 10,000:1 or more between their brightest and darkest luminance values).
During operation, content generators in device 10 (e.g., operating system functions and/or applications running on control circuitry 12) may generate content for display on the pixel array of display 14. As an example, electronic device 10 may include one or more standard dynamic range (SDR) content generators (e.g., games or other code rendering content, content players, etc.) and/or more high dynamic range (HDR) content generators (e.g., games or other code rendering content, content players, etc.). A luminance value mapping engine such as tone mapping engine 24 may be used to provide content generators with tone mapping parameters (sometimes referred to as luminance value mapping parameters) indicating how the content generators should map content luminance values to display luminance values and/or may be used to directly perform content-luminance-to-display-luminance mapping operations on content luminance values from the content generators. For example, tone mapping engine 24 may supply content generators with tone mapping parameters such as a black level, reference white level, and specular white level to use in producing display luminance values for use in displaying images with pixels 36. Tone mapping engine 24 may be implemented using code running on control circuitry 12 of
Standard dynamic range content is often encoded in grey levels (e.g., 0-256 bits), where 0 corresponds to dark black and 256 corresponds to bright white. High dynamic range content is often encoded in luminance levels for each pixel (generally to be displayed for standard viewing conditions such as dim viewing conditions). Device 10 may experience changes in ambient lighting conditions, user brightness settings may be adjusted up and down by a user, the content being displayed on display 14 may exhibit changes such as changes in average pixel luminance, burn-in risk, image quality, and other conditions related to the presentation of content on display 10 may change over time. Device 10 may use tone mapping engine 24 to ensure that content is rendered appropriately for displaying on display 14 in view of these potentially changing conditions and other criteria such as the characteristics of display 14.
In each of these curves, low content luminance values are associated with black and low grey levels and high content luminance values are associated with white and high gray levels. At a given black content luminance level (e.g., BC1), curve 38 is associated with a display pixel luminance value of DL1 visible to the user for a content luminance value of CL1, curve 40 is associated with a display pixel luminance value of DL2 for content luminance CL1, and curve 42 is associated with a display pixel luminance value DL3 for content luminance CL1. The luminance level DL2 is brighter than luminance level DL1, because curve 40 is associated with a brighter set of output luminances from pixels 36 than curve 38. Similarly, luminance level DL3 is brighter than luminance level DL2 because curve 42 is associated with a brighter set of output luminances from pixels 36 than curve 40. White image pixels (e.g., pixels at content luminance level CL2) are all associated with the same display luminance level DL4 (e.g., the brightest output available from pixels 36 in display 14), so the mappings of curves 38, 40, and 42 will all produce a display luminance of DL4 for a content luminance of CL2.
In general, display characterization may involve user studies, modeling, and laboratory testing that helps establish desired tone mapping schemes for device 10 under a variety of operating conditions (e.g., user brightness settings, ambient light levels, and other operating conditions). These tone mapping schemes can then be implemented by tone mapping engine 24.
With one illustrative configuration, tone mapping engine 24 can select a desired tone mapping curve based on operating conditions such as display brightness settings (e.g., user defined brightness settings and brightness levels set by device 10 to accommodate a normal power operating mode and a low-power operating mode), ambient conditions (ambient light level and ambient light color), content statistics (e.g., information on average pixel luminance and burn-in risk or other information on operating conditions having a potential impact on display lifetime, quality information, dynamic range information etc.), and display characteristics (e.g., display limitations such as maximum achievable pixel luminance, power constraints (e.g., due to thermal limitations and/or other considerations), whether device 10 is operating on DC power (power from the battery in source 18 of device 10) or AC power, etc.
During operation, tone mapping engine 24 may obtain information on these operating conditions and may take suitable action to ensure that display 14 displays images satisfactorily. Tone mapping engine 24 may, as an example, remap content so that luminance values that are too high when output from a content generator are reduced by engine 24 before these values are used by display 14. In some situations, luminance values associated with specular highlights may, as an example, be clipped using a soft clipping arrangement to ensure that pixels 36 are not driven too strongly for display 14. Tone mapping engine 24 may also provide content generators such as content generators 20 and/or 22 with tone mapping parameters that inform the content generators of a desired content-luminance-to-display-luminance mapping curve to be used in displaying images on display 14.
The use of tone mapping parameters to define content-luminance-to-display-luminance mapping curves is shown in
Ambient conditions 56 may include a current ambient light level measured with ambient light sensor 32 and/or a current ambient color (e.g., a color temperature, set of color coordinates, etc.) measured with ambient light sensor 32. As environmental brightness increases, display brightness can be increased to compensate for screen glare. As environmental color shifts (e.g., as a user moves device 10 from a warm indoor lighting environment to a cold outdoor lighting environment), the white point (color cast) of display 14 can be cooled accordingly to avoid undesired color cast effects in displayed images.
Brightness settings information 58 may include a user-selected brightness level and may include a brightness level determined by control circuitry 12 based on power consumption considerations. User brightness settings may be adjusted based on user input from a user on a touch screen, based on user keyboard input, and/or based on other user input. Power-consumption-based brightness level adjustments may be made by control circuitry 12 to help extend battery life. For example, control circuitry 12 may lower the brightness level for display 14 when device 10 enters a low power mode due to thermal conditions such as in response to detection that a temperature level measured with sensor 34 has exceeded a predetermined level, due to detection of a low battery level measured with control circuitry 12, based on detection that a user has placed device 10 in a low power mode to extend battery life, etc. In low power mode, control circuitry 12 may lower the current display brightness setting, may impose a cap on the brightness level, and/or may reduce the luminance of specular highlights or may make other adjustments that help reduce the power consumption of display.
Content statistics 60 may be gathered by analyzing frames of image data produced by content generator(s) 64 that are being displayed on display 14. Control circuitry 14 (e.g., a microprocessor, display driver integrated circuits, graphics processing unit circuitry, and/or other control circuitry in device 10) may, for example, maintain running averages of image luminance values (e.g., a running average pixel luminance value for images being displayed on display 14 over multiple image frames) and/or may maintain historical luminance information in a more granular fashion (e.g., on blocks of one or more pixels within pixel array 28) to quantify burn-in risk for each of these blocks. Other content statistics such as information on content quality such as bit depth, dynamic range of image input data (e.g., minimum, mean, and maximum value), compression type and amount, data rate, noise level, metadata-specified quality factors, and other content quality metrics can also be gathered and provided to tone mapping engine 24.
Display characteristics 62 may also be used by tone mapping engine 24. Display characteristics 62 may include information on physical display limitations for display 14. For example, display characteristics 62 may include information on the characteristics of pixel array 28 and display 14 (e.g., maximum achievable specular white level, display resolution, contrast ratio, bit depth, etc.). These display characteristics may be stored in control circuitry 12 during manufacturing (e.g., when display 14 is built into device 10) and/or may be obtained from display 14 when display 14 is coupled to device 10 (e.g., when display 14 is a stand-alone display). A user may also supply control circuitry 12 with display characteristics information (e.g., by entering this information using a keyboard or other input-output device). In some configurations, display characteristics may be set by default and/or retrieved from a database of display characteristics maintained in device 10 (e.g., a database of stand-alone display models).
During operation, content generators 64 may produce content to be displayed on display 14. Content generators 64 may, for example, render game images in a video game, may retrieve stored movie data and provide corresponding video frames to be displayed on display 14, may produce still image frames associated with an operating system function or application program, and/or may produce other content for displaying on display 14. The content from content generators 64 may include standard dynamic range content and/or high dynamic range content.
Tone mapping engine 24 may use information on ambient conditions 56, brightness settings information 58, content statistics 60, and/or display characteristics 62 to determine how original content values should be mapped to display content values (e.g., to determine how to map content luminance values to display luminance values in accordance with mapping curves of the type described in connection with
In some configurations, content generators 64 may be capable of adjusting content luminance values internally. In these situations, tone mapping engine 24 can supply content generators 64 with tone mapping parameters such as a black level, reference white level, and specular white level. The tone mapping parameters inform content generators 64 of an appropriate mapping curve to use in supplying content 66 to display 14.
In other configurations, content generators 64 may not be capable of adjusting content luminance values internally or it may otherwise be desirable to implement tone mapping separately from the tone mapping functions of content generators 64. In these circumstances, content 66 from content generator 64 may be provided to tone-mapping engine 24. Tone mapping engine 24 may then apply a desired content-luminance-to-display luminance mapping (e.g., a mapping defined by the tone mapping parameters BL, RW, and SW) to ensure that the luminance of content 66 is adjusted appropriately (e.g., so that content 66 is remapped in accordance with a desired content-luminance-to-display luminance mapping to produce corresponding remapped content 68 for displaying on display 14). In mapping the luminance values of content 66 to the new (remapped) luminance values of content 68, the content-luminance-to-display luminance mapping that is used by engine 24 may follow pre-defined parameters (e.g., default) tone mapping parameters or may use the same tone mapping parameters that engine 24 would provide to a content generator that is capable of adjusting content luminance values by applying the desired mapping internally.
The new black level after a measured ambient light level change may, for example, be based on the current black level, a current low gray level, display contrast ratio, and the measured ambient light level or may be based on the current black level and the measured ambient light level. The black level may be increased with increases in ambient brightness to increase visibility of dark areas of an image while content is being subjected to display glare. The new reference white level may increase with increase in ambient light level as shown by curve 70, so that the visibility of content is increased when in brighter viewing conditions. The specular white level may also increase with increases in ambient light level as shown by curve 72 and may be limited by the maximum luminance level of display 14. A time constant (transition period) may be associated with changes in these settings so that changes do not appear too rapidly on display 14 as a function of changes in ambient light level.
Ambient light color measurements may be gathered using ambient light sensor 32. Information on ambient light color such as color measurements from ambient light sensor 32 may be used by control circuitry 12 in adjusting the color cast (white point) for images displayed on display 14. In warm ambient lighting environments, control circuitry 12 can warm the color of images displayed on display 14 (e.g., the white point for display 14 can be warmed) and in cold ambient lighting environments, control circuitry 12 can cool the color of image displayed on display 14 (e.g., the white point for display 14 can be cooled). Image color can be adjusted by engine 24 (e.g., engine 24 can supply content generators 64 with color adjustments such as a desired white point setting to be applied to the content produced by content generators 64) and/or a white point setting can be applied using other code running on circuitry 12 (as an example).
When displaying high dynamic range content on display 14, the headroom of the content (i.e., the range between the specular white level and the reference white level of the content) may affect the amount of color correction that is visually pleasing to the user. To avoid undesired visual artifacts in images displayed on display 14 and thereby make content on display 14 more visually appealing, the strength of the color corrections that are applied in device 10 can be reduced as a function of increasing headroom.
During operation, control circuitry 12 may monitor input-output circuitry 16 such as touch sensors, buttons, keyboard keys, microphones, and other input-output devices 30 for user input. In response to adjustment of a selectable touch screen slider button or key press input, control circuitry 12 may change a user-defined brightness setting for display 14. User display adjustments may, as an example, be used to increase display brightness when a user desires to make display 14 more visible under current viewing conditions. The display brightness adjustments may, for example, be used by engine 24 to increase the current value of reference white (RW). Configurations in which display brightness adjustments are also used in adjusting BL and SW values may also be used.
Content quality may impact the tone mapping parameters that are used. For example, high dynamic range effects may be most visually appealing when content quality Q is high. As shown by curve 80 in
Engine 24 may, if desired, adjust the headroom that is being used to display content on display 14 based on content statistics 60 such as information on dynamic range, minimum luminance, maximum luminance, average luminance, and/or information on the content (e.g., frame statistics produced by engine 24 in real time based on analysis of the frames of content being displayed). As an example, engine 24 may maintain a running average of the pixel luminance of the frames of content being displayed. The running average may, as an example, be determined using equation 1, where RefWhite(t) is the reference white level at time t, τ represents a scaling factor between 0 and 1, APL %/100 represents the average pixel luminance (in percent) divided by 100, and HS is equal to a suitable number of stops of headroom change (e.g., 3 stops or other suitable value).
RefWhite(t)=RefWhite(t−1)−τ(RefWhite(t−1)−(HS−APL %/100)) (1)
The value of RefWhite(t) in equation 1 may be used in determining how long bright content appears on display 14 regardless of the position of that content on display 14. If desired, burn-in risk can be determined by evaluating frames of content for the presence of persistently bright areas. Consider, as an example, the illustrative image frames (F1 . . . FI . . . FN) of
Engine 24 may use information such as average pixel luminance information and burn-in risk information in dynamically adjusting content mapping to display mapping curves for display 14 (e.g., by dynamically adjusting tone mapping parameters such as SW, RW, and/or BL).
Consider, as an example, the scenario of
An example of the response of engine 24 to detection of elevated burn-in risk BIR is shown in
If desired, engine 24 may make tone mapping adjustments based on the characteristics of display 14. These display characteristics may serve as constrains on the optimization decisions made by engine 24. Examples of display characteristics that may be taken into account by engine 24 in determining appropriate values for the tone mapping parameters (e.g., to adjust the tone mapping curve applied to the content being displayed) include the contrast ratio of display 14, the bit depth of display 14, and the maximum specular white luminance level achievable by display 14. If the contrast ratio of display 14 is low, engine 24 may, as an example, impose an upper limit on SW to ensure that displayed content is visually appealing. If the bit depth supported by display 14 is higher (e.g., more than 9 bits), high dynamic range content may be displayed with a large headroom value. If the bit depth supported by display 14 is lower (e.g., if display 14 supports a bit depth of 9 bits), headroom may be lowered (e.g., headroom may be lowered to a headroom amount that is suitable for 9 bit displays). More headroom may also be provided when display 14 is operating on AC power from power source 18 rather than DC power. If desired, engine 24 may also adjust tone mapping parameters based on other criteria (e.g., information on the color gamut supported by display 14, information on power constraints for display 14, information on the sensitivity of display 14 to burn-in effects, etc.). Display characteristics information for engine 24 may be supplied to engine 24 manually, may be supplied to engine 24 via unidirectional and/or bidirectional communications between control circuitry 12 and display 14 (e.g., when display 14 is coupled to control circuitry 12 with a cable or wirelessly), and/or may be stored in control circuitry 12 during manufacturing (e.g., based on known circuit characteristics, default pixel attributes, and/or pixel performance metrics and/or other display characteristics that are measured with test equipment during manufacturing). If desired, control circuitry 12 may retrieve information on display characteristics from a database containing display characteristics for various models and manufacturers of displays and/or containing default display characteristics to be used when control circuitry 12 does not identify the specific model of display 14 that is coupled to control circuitry 12.
During the operations of block 100, control circuitry 12 (e.g., tone mapping engine 24 and/or other code running on device 10) may use input-output circuitry 16 to gather brightness settings information 58 and/or other user input (e.g., from a touch sensor, button, and/or other input-output device 30), to gather information on ambient conditions 56 such as ambient light sensor readings (e.g., ambient light level information and/or ambient color information from ambient light sensor 32) and to gather temperature measurements (e.g., from temperature sensor 34). Control circuitry 12 may gather display characteristics 62 (e.g., from display 14, from a user, from a database, etc.) and may analyze content from content generator(s) 64 such as content generators 20 and/or 22 to produce content statistics 60. Content statistics 60 may include information on content quality, burn-in risk, average pixel luminance for frames of content, and other content statistics.
During the operations of block 102, tone mapping engine 24 may select a tone mapping curve (e.g., a content-luminance-to-display-luminance mapping such as one of the illustrative mappings of
During the operations of block 104, the selected tone mapping parameters may be supplied to content generators 64 for use by content generators 64 (e.g., so that content generators 64 supply content to display 14 that is compliant with the selected tone mapping curve) and/or engine 24 may use the selected tone mapping curve to remap content to appropriate luminance values. The strength of color adjustments (e.g., color cast corrections of the type described in connection with
As indicated by block 106, content with luminance values adjusted by engine 24 and/or content generators 64 in accordance with the selected tone mapping parameters may be displayed on display 14. As indicated by line 108, the operations of
The foregoing is merely illustrative and various modifications can be made by those skilled in the art without departing from the scope and spirit of the described embodiments. The foregoing embodiments may be implemented individually or in any combination.
This application claims the benefit of provisional patent application No. 62/505,678, filed May 12, 2017, which is hereby incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
8107756 | Chen et al. | Jan 2012 | B2 |
9514508 | Ballestad et al. | Dec 2016 | B2 |
20100171751 | Kim | Jul 2010 | A1 |
20140375704 | Bi | Dec 2014 | A1 |
20150054807 | Ballestad | Feb 2015 | A1 |
20150243200 | Pan | Aug 2015 | A1 |
20170034520 | Rosewarne | Feb 2017 | A1 |
20180204542 | Saito | Jul 2018 | A1 |
Entry |
---|
Mantiuk et al., “Display Adaptive Tone Mapping” Sharp Laboratories of America, Proceedings of ACM SIGGRAPH, ACM Transactions on Graphics (TOG) TOG Homepage, vol. 27, Issue 3, Article No. 68, Aug. 2008. (https://www.cl.cam.ac.uk/˜rkm38/pdfs/mantiuk08datm.pdf>. |
Rempel et al., “Video Viewing Preferences for HDR Displays Under Varying Ambient Illumination” APGV '09 Proceedings of the 6th Symposium on Applied Perception in Graphics and Visualization, pp. 45-52, 2009. (http://vccimaging.org/Publications/Rempel2009VVW/Rempel2009VVW.pdf>. |
Number | Date | Country | |
---|---|---|---|
20180330695 A1 | Nov 2018 | US |
Number | Date | Country | |
---|---|---|---|
62505678 | May 2017 | US |