Standardized brightness control for user awareness of visual media

By analyzing visual content and environmental information, and adjusting the brightness of the display device using a multi-layer presentation system, the problem of inconsistent brightness adjustment in the existing technology is solved, and a higher quality viewing experience is achieved.

CN120569775APending Publication Date: 2025-08-29SNAP INC
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202480008413.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-01-20
Filing Date
2024-01-19
Publication Date
2025-08-29

AI Technical Summary

Technical Problem

When adjusting the brightness of visual content, existing display devices cannot provide a consistent and high-quality viewing experience based on the characteristics and environmental conditions of different content items, resulting in inconsistent viewing effects.

Method used

By analyzing various characteristics and environmental information of visual content, a multi-layer presentation system is used to adjust the perceived brightness of visual content, including parameter control of the background layer, visual media layer and filter layer, to achieve dynamic and content-specific brightness adjustments.

Benefits of technology

It provides a consistent viewing experience under different content items and environmental conditions, improving the user's viewing quality and fluency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120569775A_ABST
    Figure CN120569775A_ABST
Patent Text Reader

Abstract

Systems and methods include receiving visual content for display on a display device, the visual content including a plurality of layers, the plurality of layers including a background layer and a visual media layer, the plurality of layers being arranged in a presentation layer stack; evaluating the visual content to determine at least one display parameter; determining a desired brightness level for displaying visual content on a display of the display device based on the at least one display parameter; determining an adjustment to a display parameter of the presentation layer stack to achieve a desired brightness level for displaying visual content; generating adjusted visual content based on adjusting the display parameters of the presentation layer stack; and causing the adjusted visual content to be presented on a display device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This patent application claims the benefit of priority to U.S. patent application serial number 18 / 157,403, filed on January 20, 2023, which is incorporated herein by reference in its entirety. Technical Field

[0003] The present disclosure generally relates to facilitating the display of visual content on a display device. Background Art

[0004] Mobile devices are a key part of everyday communication, entertainment, and work, where videos, visual images, and written materials are presented on displays. Users use such devices under a variety of conditions characterized by changes in lighting or location. Furthermore, users can view or interact with multiple content items during a user session, each of which exhibits a variety of image-level features or media stream-level transitions. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] To easily identify the discussion of any particular element or action, the highest digit or digits in a reference number refer to the figure number in which the element is first introduced.

[0006] In the drawings, which are not necessarily drawn to scale, similar reference numerals may describe similar components in different views. To easily identify the discussion of any particular element or action, the highest-order digit or digits in a reference numeral refer to the figure in which the element is first introduced. Some examples are shown by way of example and not limitation in the figures of the accompanying drawings, in which:

[0007] Figure 1 is a diagrammatic representation of a device display system according to some examples.

[0008] Figure 2 is an illustration of layers for presenting content on a mobile device, according to some examples.

[0009] Figure 3 is an illustration of a configuration including a filter layer applied to a presentation layer stack, according to some examples.

[0010] Figure 4 is an illustration of a configuration including a filter layer and a background layer applied to a presentation layer stack, according to some examples.

[0011] Figure 5 is an illustration of applying blending modes to achieve user-perceived stacking of multiple presentation layers according to some examples.

[0012] Figure 6Methods for a decision engine in a display controller are shown according to some examples.

[0013] Figure 7 Methods for a decision engine in a display controller are shown according to some examples.

[0014] Figure 8 Methods for a decision engine in a display controller are shown according to some examples.

[0015] Figure 9 is a diagrammatic representation of a networked environment in which the present disclosure may be deployed, according to some examples. DETAILED DESCRIPTION

[0016] Mobile devices are a key part of everyday communication, entertainment, and work, with videos, visual images, and written materials presented on displays. Common display technologies uniformly adjust or control the brightness of the display screen for all applications or uses. For example, traditional display devices (e.g., mobile devices, smartphones, etc.) are configured to adjust the brightness level of their displays based on ambient lighting conditions or user preferences. Screens can be designed to display in a variety of conditions, potentially automatically set or controlled by the user: the user can choose to reduce brightness to save energy or achieve a more comfortable viewing experience, or increase brightness for additional visibility. Existing mobile devices include ambient light sensors and / or cameras to determine ambient lighting or other environmental information. This environmental information is used to adjust the brightness level of the display (e.g., screen) for operation within the current environment or location. For example, an ambient light sensor can provide an ambient score that determines the display mode, such as reduced brightness, dark mode, true tone, night time, and other settings. Such adjustments take into account the ambient light in which the device operates and attempt to change the display mode based on the ambient score. Additionally, these adjustments can be time-based, switching to adjust the monitor or screen based on local sunset or sunrise. Such adjustments are made to the device's display to uniformly adjust the brightness level of the entire display. This can be accomplished by increasing or decreasing the backlight intensity of the display in a display device or by other means in a non-backlit display.

[0017] However, the viewing experience can be characterized by a variety of situations and / or conditions. The user can change position, affecting the brightness setting. The user can be relatively still, but watch different videos or scroll through various visual content as part of a video content stream (for example, when using an application on a mobile phone to continuously watch video clips). The first video can have a low brightness level, while the subsequent videos have a higher brightness level. The video and / or other content can alternatively or additionally be different in color or tone. In addition, the brightness, color or tone of the visual content item can change significantly from one frame to the next. Many current applications or services allow users to watch visual content (for example, videos, photos) created by other users, where content creation is completed in different lighting environments with different types of equipment (for example, camera, flash). For example, a video captured at night may be darker than a video captured during the day.

[0018] Conventional display controls apply brightness controls to the device and utilize generalized brightness adjustments to change the display of visual content. Such generalized controls may be effective when the visual content presented on the display is generated in a consistent manner so that the brightness level of each of the visual content items is relatively similar, but may otherwise lead to an inconsistent and diminished viewing experience. For example, each visual content item will be presented at a consistent brightness level (e.g., an increased or decreased brightness level) for all viewing conditions, such as the ambient lighting conditions in which the user is viewing content on the display device. This solution can create an environment-specific user perception of content, but it does not change the brightness levels of individual visual content items. For example, some visual content may appear brighter or darker than other visual content.

[0019] The example embodiments disclosed herein address technical problems associated with providing a consistent, high-quality viewing experience when a user scrolls through or otherwise views different content items on a display device, where the content items are created in different lighting environments and / or have different brightness levels. Such technical problems are addressed by a device display system and method that controls the perceived brightness level of each content item to provide a consistent viewing experience. The system adjusts the perceived brightness of visual content based on analyzing visual content rather than just environmental information. In some examples, the system implements a method for digitally controlling the perception created by a display device by providing automatic, dynamic, and relevant control of displayed content based on a set of viewing criteria. Such automatic control provides an enhanced viewer experience in the context of various applications and services that implement media creation and / or consumption.

[0020] In some examples, the device display system analyzes received or retrieved visual content, determines an initial brightness level for the visual content, and determines a desired brightness level for the visual content before displaying the visual content. The display device can present visual content (images, videos, and / or other media) using multiple presentation layers arranged in a stack. The device display system uses the relationships between the layers and / or adjustments to the layers to achieve a desired user perception, such as a desired perceived brightness level, by digitally controlling and / or adjusting the multiple presentation layers of the visual content.

[0021] Adjusting the perceived display of individual visual content items on a display device is based on an evaluation or analysis of various aspects of the visual content. The evaluation results are used to adjust display parameters of one or more presentation layers. Example aspects include brightness, opacity, and / or tinting of an image, contrast, or other characteristics of an image in a continuous video stream. Various adjustable or controllable parameters include opacity, color, and / or shading, number of layers, or other parameters of one or more given layers. In some examples, the system incorporates layer stacking processing that modifies the presentation layer stack by adding, removing, and / or reordering layers to provide an enhanced perception of the displayed content. In some examples, the layer stack is modified by applying additional layer parameters to at least one of the layers of the visual content. In some examples, the layer stack modification adjusts one or more of the current parameters of at least one presentation layer. Adjusting the perceived display can also use information about the environment in which the visual content is being viewed. In some examples, the system can also incorporate conventional overall brightness adjustments, such as using the general brightness setting of the display device.

[0022] In some examples, the system evaluates the initial brightness and / or other characteristics of the visual content. The perceived brightness or brightness level can start as the initial brightness evaluated and / or be modified to achieve the desired brightness level. The system modifies the perceived brightness of the visual content by adjusting the opacity of the visual media layer, adding and / or adjusting the color, brightness or shading of the background layer of the visual content, applying or adjusting a filtered layer on the visual media layer, and / or a combination thereof. The system can reduce the perceived brightness of the visual content by reducing the opacity of the visual media layer, thereby increasing the visibility of the dark background layer through the visual media layer. As another example, the system can increase the perceived brightness of the visual content by increasing the opacity of the visual media layer, thereby reducing the visibility of the dark background layer through the visual media layer.

[0023] In some examples, multiple interfaces or multiple types of visual media are viewed sequentially or in close proximity in time or space. In such examples, the previous visual content (or interface) presented to the user can be analyzed. For example, the brightness level of the previous visual content can be used to determine the desired brightness level of the subsequently presented visual content.

[0024] In some examples, the system uses a graduated level of control to facilitate smooth transitions in the user's perception of visual content, including, for example, adjusting the perceived brightness level immediately or after a given period of time. Adjusting the perceived brightness level of each visual content item provides a consistent user experience because the perceived brightness level of each visual content item is standardized, regardless of the brightness level of the original visual content.

[0025] By using one or more strategies, such as parameter adjustment and / or addition, layer stacking and / or reordering, and others, the device display system achieves perceived brightness adjustment and / or perceived brightness levels that correspond to desired user perception of visual content.

[0026] Figure 1 is a diagrammatic representation of a device display system 100 for displaying visual content on a display device, the system being configured to adjust the perceived brightness of the visual content, according to some examples. Device display system 100 presents visual content to a user, for example, via display module 102 .

[0027] In some examples, image 160 illustrates an image presented on a smartphone or other display device. Image 160 is created using multiple layers, as shown in presentation layer stack 162. In digital control systems, such as photo editing systems, a layer is an abstraction that represents a series of pixelated, flat layers. These layers are pixel-based and can be edited or modified by a digital processor. Example layers include an image layer (containing an image for display) and / or a background layer. The layers of presentation layer stack 162 are defined to have a hierarchical structure relative to one another: for example, an image layer can be positioned between multiple other layers. Visual media is presented on the image layer, referred to herein as the visual media layer. Visual media can include images, video frames, etc. In some examples, by default, these layers resemble layers of transparent paper, with each layer placed on top of each other to form a layer stack. When a layer presents visual media or content, it is a visual media layer. Layers above and below the visual media layer are designed to present images for user presentation and / or user interaction with the device. A background layer (or backing layer) is a layer that can be positioned below the visual media layer in the stack. In some examples, the background layer can be colored in various ways, such as using a solid color, uneven coloring, or other color configurations. In some examples, the background layer is a solid color background layer with a default color of black. Similarly, the opacity value and / or brightness value of the background layer can vary throughout the background layer, or can remain unchanged throughout the background layer. The color information, brightness (or brightness level), and / or opacity information of the background layer can be determined based on a sampling of the visual media content (e.g., in the visual media layer), such as, for example, color sampling, sampled opacity values, etc.

[0028] In some examples, the digital layers are transparent by default and / or are adjustable by the designer. In some examples, the device display system 100 digitally controls the layers of the presentation layer stack (e.g., presentation layer stack 162) based on specific information, including but not limited to the color sampling of the visual media, the content of the images presented in the visual image layer or visual media layer, the sequence of the presented video images, the environment in which the user views the displayed visual content, etc. The device display system 100 system controls the hierarchy and the relationship of the layers based on these and other viewing criteria.

[0029] The device display system 100 includes a display module 102 for presenting visual content to a user. The visual content displayed via the display module 102 is arranged as a set of layers, including a background layer, a visual media layer, and / or a plurality of other layers, which may include filter layers. The display module 102 may be part of a display device, such as a mobile device, a television, a smartphone, a tablet, a computer monitor, a human-machine interface (HMI), etc. For example, the display device may include Figure 1 Some or all of the components of the device display system 100 shown. The display module 102 of the device display system 100 uses backlight technology such as a light crystal diode (LCD) display or other display technology such as an organic light emitting diode (OLED) to illuminate / present visual content. In some examples, the device display system 100 can combine these or other technologies to adjust the perceived brightness of the visual content based on the displayed visual content or visual content stream, environmental conditions, or other conditions under which the display device operates. The device display system 100 does not rely on a display device brightness control, although it can use such information. The device display system 100 adjusts the perceived brightness of the content to be displayed on the display device.

[0030] The display controller 104 controls the visual content for display and is coupled to the display module 102 (e.g., the display controller 104 corresponds to a display content controller). The display module 102 publishes visual content in response to the display controller 104. The display controller 104 is controlled by a main controller 106 (e.g., a perception controller). The main perception controller 106 acts as a central processing unit for operational control of the device display system 100 and interfaces with the devices of which the device display system 100 is a part. The perception controller 106 processes data, instructions, commands, and other information within the device display system 100. The controller 106 is coupled to the sensor 108, the camera system 110, the ambient light sensor system 112, and the visual content processing unit 120.

[0031] The device display system 100 maintains settings in the display controller 104 to control the brightness and / or parameters of the display module 102, such as adjusting the screen brightness in response to data received from the ambient light sensor system 112 or the camera system 110. These settings can be provided to the display controller 104 based on user input and / or the selection module 114, or can be determined by the device display system 100 (e.g., by the controller 106 and / or the display controller 104).

[0032] The display controller 104 controls the background layer, visual media layer, intermediate layer, and / or filter layer to create a presentation of visual content to the user. The display controller 104 controls the perceived brightness of the displayed content by adjusting display parameters of the visual content. Display parameters can refer to parameters of a group of layers (e.g., a presentation layer stack) or to parameters of one or more individual layers. Aggregate-level parameters characterize the order of layers, the layer hierarchy (e.g., layout) of the presentation stack, modifications or adjustments to the order or hierarchy of layers, decisions regarding the inclusion or application of one or more filter layers, etc. Layer-level parameters can refer to the opacity, color, and / or shading, etc., of individual layers of the visual content.

[0033] The display controller 104 receives visual content and / or evaluates brightness levels and / or other parameters of the visual content from the visual media input module 122 to determine control strategies for the presentation layer. The visual media input module 122 may receive or access visual content and / or other information from a local data store (e.g., display memory 118), an external source via an application installed on the device display system 100, from the Internet or other network, from the camera system 132, and the like.

[0034] During the analysis, the display controller 104 evaluates parameters of the visual content to determine the relationship between the current brightness level of the visual content and the desired brightness level of the visual content. For example, the display controller 104 can determine the current brightness level of the visual content by analyzing pixels of the visual content, such as by determining pixel values ​​or other color calculation methods. The display controller 104 can determine a value indicating the current brightness level of the visual content. The display controller 104 can compare this value with a threshold or value range indicating the desired brightness level of the visual content. The perceived brightness level of the visual content can be initialized to the current brightness level of the visual content. The display controller 104 can determine whether and how to adjust the perceived brightness level based on a comparison of the current brightness level value with a threshold or value range indicating the desired brightness level of the visual content to be presented to the user. The threshold value can be a static value or a value dynamically determined based on various inputs (e.g., sensor input indicating the current ambient lighting conditions of the device display system 100, previously presented visual content, the brightness difference between the current visual content and the previously presented visual content (e.g., to facilitate smooth transitions between content items, etc.), etc.). In some examples, if the current brightness value drops below a threshold, display controller 104 determines that the perceived brightness level of the visual content should be increased (e.g., from the current brightness level to at least the threshold). If the value is greater than the threshold, display controller 104 determines that the perceived brightness level of the visual content should be decreased (e.g., from the current brightness level to at least the threshold). If the value falls within a specified range of the threshold, display controller 104 determines that the perceived brightness level of the visual content should not be changed.

[0035] Display controller 104 may provide data indicating the results of the analysis to visual content processing unit 120. Example outputs may indicate whether the perceived brightness level of the visual content should be modified, whether the perceived brightness level should be increased or decreased, and / or the degree to which the perceived brightness level should be increased or decreased.

[0036] The visual content processing unit 120 receives the output of the display content analysis module 116, for example, via the display controller 104, and adjusts the display parameters of the visual content accordingly to achieve a desired brightness level for the visual content. In some examples, the display parameters are adjusted to achieve a pre-specified degree of change to the current brightness level (or perceived brightness level, as described above). The control decision can be implemented by operating on circuitry or computer-readable media in the display content analysis module 116, the visual content processing unit, or a combination of the two. Each of the display content analysis module 116 and the visual content processing unit 120 can include a computer processing unit. The control decision and policy determine whether to make an adjustment and then implement the adjustment accordingly by instructing the brightness control module 142, the layer control module 146, and / or the stack control module 148 (e.g., the stack hierarchy control module). The brightness control module 142 is adapted to adjust the opacity, color, and / or shading of one or more layers of the visual content. For example, the brightness control module 142 reduces the opacity of a visual media layer to increase the visibility of a darker background layer to reduce the perceived brightness of the visual content. Alternatively, brightness control module 142 increases the opacity of the visual media layer to reduce the visibility of the background layer to increase the perceived brightness of the visual content. As another example, brightness control module 142 can darken or brighten a filter layer applied above the visual media layer to correspondingly reduce or increase the perceived brightness of the visual content. Layer control module 146 controls the application of additional layers to the presentation layer used to display the visual content. Stack control module 148 controls changes in the composition of stacked layers and / or adjusts the stacking order of presentation layers (e.g., the stacking hierarchy of presentation layers).

[0037] Display controller 104 is coupled to or may be integrated with display memory 118. Display memory 118 stores information about previous visual media, such as parameter settings, control decisions, and / or policies. This information may also be used to determine current display controls for current visual content, such as a lookup table of control conditions. The adjusted presentation layer for displaying the visual content is provided to display module 102, which causes the visual content to be displayed to the user. In some examples, the user can select different options for presenting the visual content, where these options are provided to display controller 104 as preferences for specific types of adjustments. This option allows the user to select which adjustments and controls of the presentation layer are preferred.

[0038] In some examples, brightness control module 142 can adjust the opacity of the visual media layer and / or insert or modify the color, shading (or brightness) of the background layer to reduce the perceived brightness of the visual content. In some examples, brightness control module 142 can add a filter layer above the visual media layer that provides finer control over the perception of color and / or contrast of the visual content displayed to the user. Display controller 104 communicates with controller 106 to control the various layers published or presented on display module 102.

[0039] The device display system 100 has a main controller or processor that communicates with a perception controller 106 coupled to a display controller 104 to provide information from various sensors (including sensor 108, camera system 110, or ambient light sensor system 112). In some examples, the device display system 100 uses ambient light sensor data to make general brightness adjustments to the display module 102 and / or visual content processing unit 120 to make content-specific brightness adjustments using the presentation layer. In some examples, the display controller 104 uses ambient light sensor data and / or visual content analysis to make decisions to change the perceived brightness level of the visual content presented on the display module 102. In some examples, the display controller 104 uses a camera to provide general brightness adjustments to the display module 102. In some examples, a user of the display device can override the decision of the display controller 104 and implement specific controls or policies for adjusting brightness. In addition to brightness control, the display controller 104 can also implement control of a portion of a full-screen image, such as for picture-in-picture, where a first adjustment for visual content on a first portion of the display screen is different from a second adjustment applied to a second portion or window of the display screen. In some examples, the system provides overlay colors for visual content and / or controls color filters that reside above a visual media layer or other presentation layer.

[0040] Display controller 104 includes modules for controlling various layers in a presentation layer stack (as shown in image 160, which is composed of multiple layers in presentation layer stack 162). Display controller 104 includes multiple modules or units for controlling various aspects of the display, including a decision engine 170 for determining and implementing controls based on visual content and viewing criteria. Decision engine 170 determines how an image is presented on display module 102 (e.g., on a display screen). Decision engine 170 receives information from color sampling module 150, user preference unit 152, viewing environment unit 154, sensor 156, visual flow module 158, or visual content standards module 172. For example, visual content standards module 172 provides decision engine 170 with information regarding the use of various inputs and / or the priority of each input. Once decision engine 170 determines the desired perception and the controls to achieve it, decision engine 170 controls various modules, such as blending module 140, brightness control module 142, dimming control 144, layer control module 146, and / or stack control module 148. In some examples, the system can implement alternative content-based controls to implement various user perceptions. In some examples, the system can store a mapping of visual content and visual flow data for specific adjustments to the opacity of a background layer or the use of filters.

[0041] In some examples, color sampling module 150 samples the colors of the visual media to identify one or more dominant colors, and this information is provided to decision engine 170 to help determine one or more colors for a background layer of the presentation layer stack. In some examples, user preference unit 152 provides preference information received from a user or determined by system 100 based on previous user control of the display to decision engine 170. Viewing environment unit 154 determines the lighting conditions or other conditions under which the user is viewing the visual media. For example, the module can determine whether the user is viewing the visual media during the day, at night, indoors or outdoors, in a moving vehicle (e.g., a car, a train, etc.), or other conditions. This information is provided to decision engine 170, which uses it to determine background layer colors, filter selections, dimming controls, and the like. Decision engine 170 also receives information from sensors on the device housing the display device or module 102, such as information about ambient light conditions or other environmental conditions. Additionally, the visual flow module 158 provides information about brightness, color, or other differences from one frame to the next, which is useful in modern mobile applications because short videos are viewed consecutively and / or have individual characteristics that differ from other videos.

[0042] In some examples, the display controller 104 includes a visual content criteria module 172 that is provided to the decision engine 170 and guides the operation and decisions of the decision engine 170. The visual content criteria module 172 may have predetermined settings or controls for content that meets various criteria. When such criteria are detected, the visual content criteria module 172 provides one or more predetermined controls to the decision engine 170. These predetermined controls may be stored in a lookup table or other memory storage device.

[0043] As described below, the decision engine 170 controls various modules. The blending module 140 applies blending techniques to multiple layers to achieve desired perceptual conditions. The brightness control module 142 can be applied to any layer in the layer and / or used to adjust the background layer. It can operate to dim or brighten any layer in the layer (including the visual media layer). The layer control module 146 can add and / or control filter layers, overlay layers, or other layers. The stack control module 148 determines the stacking hierarchy that defines the relationship between the layers in the presentation layer stack.

[0044] Overall, the display controller 104 and / or the decision engine 170 control the presentation layer stack 162 to improve user perception and / or user experience. The analysis and control of the parameters of the presentation layer enables a smooth experience for the user to view changing visual content, such as by scrolling or sliding, flipping through the screen, etc.

[0045] Figure 2 is an illustration of layers for presenting content on a mobile device, according to some examples. In some examples, visual content is presented for display as a set of presentation layers, where control of one or more individual layers determines a user's perception of the visual content (e.g., overall and / or at the level of each layer). Figure 2 A display layer configuration 200 is shown that includes a visual media layer 202 that displays visual content or images on a background layer 204 (e.g., a base layer) of a defined uniform color. In some examples, the color and / or brightness of the background layer 204 is determined and / or dynamically adjusted based on sampling the coloring of the visual content presented at the visual media layer 202.

[0046] In some examples, the visual media content may be an outdoor scene with green as the dominant color component in the image (e.g., see Figure 2 In some examples, to improve user perception, the shading calculation of background layer 204 is influenced by the green color of the visual media and / or may be determined by the previous and / or next frame of the visual content to be displayed.

[0047] For a first user perception A, element 220, corresponding to a display with an opaque visual media layer, has a default opaque visual media layer 202 over background layer 204. Visual media layer 202 is not adjusted but rather appears as received, with no changes to brightness, opacity, or color. User perception A corresponds to a clear, crisp image. The color of background layer 204 can be adjusted based on sampling of visual media layer 202.

[0048] For the second user perception B, element 222 corresponding to a display of a semi-transparent (dimmed) visual media layer with the same visual media content has the same colored background layer 204, because the background layer color is a function of the same visual media. Visual media layer 202 is adjusted to reduce its opacity to achieve user perception B. Background layer 204 is the same color as in perception A, but the adjustment of visual media layer 202 results in user perception B. The adjustment reduces the opacity of visual media layer 202; additional and / or alternative modifications of visual components may be implemented to achieve a desired user perception.

[0049] For the third user perception C, element 224 corresponding to the display with the clearest visual media layer (in some examples, dimmed) uses background layer 204 of the same color as in perceptions A and B (again, the color of the background layer is a function of the same visual media). Visual media layer 202 is adjusted to reduce its opacity to achieve user perception C; additional and / or alternative modifications of visual components may be implemented to achieve a desired user perception.

[0050] Comparing user perceptions A, B, and C illustrates the changes in user perception achieved by adjusting the visual parameters of visual media layer 202. Perception is controlled by adjusting the display and color inputs to visual media layer 202. Comparing user perceptions A, B, and C illustrates the changes in user perception achieved by adjusting the visual parameters of visual media layer 202. The layers of the presentation layer stack are digitally controlled with respect to color and opacity relative to the image content, the viewing environment, the relationship to other frames, and the relationship of the layers to each other. Because these layers are digitally controlled to adjust color, brightness, opacity components, and other visual components, all of these controls affect the user's perception of the display and, therefore, alter the characteristics of the visual content.

[0051] Figure 3 is an illustration of a configuration 300 including a filter layer applied to a presentation layer stack, according to some examples. Figure 3 Shown is a visual media layer 302 that remains constant, and a filter layer 306 that is adjusted to achieve different user perspectives. In some examples, additional layers may be used, such as a background layer (not shown).

[0052] For user perception D, a transparent filter layer 306 is added to the visual media layer 302 (see element 330). The resulting image is clear and crisp.

[0053] For user perception E, filter layer 306 is dimmed and added to visual media layer 302 (see element 342). User perception E corresponds to a darker view of the visual media.

[0054] Filter layer 306 is further dimmed to an almost completely opaque state (see element 344 ) for user perception F. The visual component of the opacity of filter layer 306 is adjusted to a low transparency. In some examples, filter layer 306 can be dynamically adjusted relative to the color sampling of visual media layer 302 .

[0055] The advanced filter layer 306 can apply a blend of two or more layers to achieve a desired result. Blending modes are used in digital display technology to determine how to blend two or more layers to achieve a composite display. Blending allows for darkening or lightening of an image, or allows for different colors (e.g., RGB) to be used with a base color (e.g., the base color of a background layer). An example blending mode is a dissolve mode, which takes random pixels from one or more layers and adds them to a given layer to achieve an effect. A color burn mode can invert a background by dividing it with the filter layer color and inverting it with the visual media layer. Alternatively, a color burn mode can divide an inverted background layer by either the filter layer or the visual media layer and then invert the result. An overlay mode applied to a filter layer makes the visual media appear brighter or darker depending on the coloring applied to the filter layer.

[0056] Figure 4 is an illustration of a configuration 400 including a filter layer and a background layer applied to a presentation layer stack, according to some examples.

[0057] Configuration 400 includes a visual media layer 402 sandwiched between a background layer 404 and a filter layer 406. Different user perceptions can be achieved by adjusting the color and / or brightness of the background layer 404 (e.g., based on the image color and / or brightness of the visual media layer 402), and / or applying the filter layer 406, wherein the color and opacity are controlled so that the visual media appears as desired. In some examples, the filter layer 406 is dynamically adjusted relative to the visual media layer 402 and / or other viewing criteria.

[0058] Figure 4 Example perceptions G, H, and I are shown.

[0059] For perception G, display 410 has a first tint and opacity of filter layer 406. Background layer 404 can be a default color, such as black, or can be a color and / or brightness derived from sampling the visual image content of visual media layer 402.

[0060] For perception H (shown by display 420 ), filter layer 406 is dimmed, with the same background layer 404 . Background layer 404 has a color and / or brightness based on the sampling of visual media layer 402 .

[0061] For perception I (shown by display 430 ), filter layer 406 is further dimmed to darken the presentation of visual media layer 402 (eg, image layer).

[0062] Figure 5 is an illustration of applying blending modes to achieve user-perceived stacking of multiple presentation layers according to some examples. Figure 5 Elements including a status bar 514 (overlay), a title bar 554, an overlay interface 556, visual media elements 512 or 558, a visual media container 560, a tab bar / home indicator 562, an application window 564, and the like are shown. As shown at least by elements 510 and 570, these layers can be used to build an overall user perception. For example, visual media element 512 can correspond to visual content seen toward the middle of a layer, while visual media container 560 corresponds to a hierarchical container (similarly for child elements 558 and 560 that are part of element 570). Element 562 can correspond to a tab bar / home indicator element (shown in conjunction with a separate layer), element 554 can correspond to a title bar, element 514 can correspond to an overlay (or status bar), and the like. By using a blending mode such as an overlay mode or other modes, the device display system can configure a desired user perception based on the presentation layer stack.

[0063] Figure 6A method 600 for a decision engine 170 in a display controller 104 is shown, according to some examples. The method can be implemented by the decision engine 170 and / or by the display controller 104. The decision engine 170 begins by receiving visual media, such as a video stream (at operation 602) and sampling the colors of the visual media (at 604) to identify dominant colors (using a method for sampling pixels in a frame or series of frames to identify colors and hues). Visual content analysis (at 606) identifies viewing criteria for the presented visual image. Sensor input (e.g., for ambient light conditions, etc.) is received (at 606). The decision engine 170 determines whether to adjust the background layer color based on the color samples (at 610), and then performs color adjustments on the background layer (at 612). In some examples, the decision engine determines whether to adjust the opacity and / or brightness or shading of the background layer color based on, for example, the sampled opacity and / or brightness and / or color values ​​of the visual content. The decision engine 170 determines whether to add one or more filters to the presentation layer stack (at 614), and if so, determines the filters and positions within the presentation layer stack (at 616). The filters are applied at 618. The decision engine 170 determines whether to make adjustments to the visual media layer (at 620). If so, it determines a dimming control corresponding to how much the visual media layer should be dimmed (at 622) and adjusts the visual media layer accordingly (at 624). Possible adjustments to the media layer include dimming, increasing or decreasing opacity, and the like. The decision engine 170 determines whether the layers should be blended (at 626), determines a blending mode (at 628), and / or applies a blending mode (at 630).

[0064] Figure 7 A method 700 is shown for use with the decision engine 170 in the display controller 104, according to some examples. The method may be implemented by the decision engine 170 and / or by the display controller 104.

[0065] The decision engine 170 may receive visual media data (at operation 702), ambient light sensor data (at 704), camera data (at 706), and / or determine whether a display adjustment is desired (at 708). At 710, a decision is made to adjust the visual media layer to dim the display. The amount of opacity or dimming is determined at 714. Display instructions are sent to the display device (at 716) to adjust the display (at 718). The visual media is displayed (at 712) with or without the determined adjustment.

[0066] Figure 88. The method may be implemented by the decision engine 170 and / or by the display controller 104. The decision engine 170 receives current visual media data at 802 and / or retrieves previous visual media data and / or decision engine control decisions within a time window at 804. The decision engine 170 then determines a next set of controls for the presentation layer stack at 806 and makes adjustments based on the next set of controls at 808.

[0067] Figure 9 is a diagrammatic representation of a networked environment in which the present disclosure may be deployed, according to some examples. For example, according to some examples, Figure 9 A messaging system 900 for exchanging data (e.g., messages and associated content) over a network is shown, within which a device display system 100 may be implemented. The messaging system 900 includes multiple instances of a client device 902, each of which hosts an application including a messaging client 904. Each messaging client 904 is communicatively coupled to messaging clients 904 on other client devices 902 and other instances of a messaging server system 908 via a network 906 (e.g., the Internet). The device display system 100 may be implemented and / or hosted at the level of the client device 902. Some or all of the functionality of the device display system 100 may be implemented or hosted at the level of the messaging server system 908 (e.g., see image processing server 916, etc.) and in other parts of the networked environment described herein.

[0068] The messaging client 904 can communicate and exchange data with another messaging client 904 and with a messaging server system 908 via the network 906. The data exchanged between the messaging clients 904 and between the messaging client 904 and the messaging server system 908 includes functions (e.g., commands for activating functions) and payload data (e.g., text, audio, video, or other multimedia data).

[0069] The messaging server system 908 provides server-side functionality to the messaging clients 904 via the network 906. Although certain functionality of the messaging system 900 is described herein as being performed by the messaging clients 904 or by the messaging server system 908, the location of certain functionality within the messaging clients 904 or within the messaging server system 908 may be a matter of design choice. For example, it may be technically preferable to initially deploy certain technologies and functionality within the messaging server system 908 but to later migrate such technologies and functionality to the messaging client 904 where the client device 902 has sufficient processing power.

[0070] The messaging server system 908 supports various services and operations provided to the messaging clients 904. Such operations include transmitting data to and receiving data from the messaging clients 904, and processing data generated by the messaging clients 904. By way of example, this data may include message content, client device information, geolocation information, media enhancements and overlays, message content persistence conditions, social network information, and live event information. Data exchange within the messaging system 900 is activated and controlled by functionality available through the UI of the messaging clients 904.

[0071] Turning now specifically to the messaging server system 908, an application program interface (API) server 910 is coupled to an application server 912 and provides a programming interface to the application server 912. The application server 912 is communicatively coupled to a database server 918, which facilitates access to a database 920 that stores data associated with messages processed by the application server 912. For example, the database 920 stores audio content from voice chat messages associated with corresponding sender identifiers, with or without associated text. For purposes of this description, a voice chat message includes an audio message (or a reference to an audio message) and an associated textual representation of the audio. The audio content from the voice chat message may persist until an instruction is received at the messaging system to delete the voice chat message.

[0072] Similarly, web server 924 is coupled to application server 912 and provides a web-based interface to application server 912. To this end, web server 924 handles incoming network requests via Hypertext Transfer Protocol (HTTP) and / or several other related protocols.

[0073] The application program interface (API) server 910 receives and transmits message data (e.g., commands and message payloads) between the client device 902 and the application server 912. Specifically, the application program interface (API) server 910 provides a set of interfaces (e.g., routines and protocols) that can be called or queried by the messaging client 904 to activate the functionality of the application server 912. The application program interface (API) server 910 exposes various functions supported by the application server 912, including: account registration; login functionality; sending messages from a particular messaging client 904 to another messaging client 904 via the application server 912, sending media files (e.g., images or videos) from the messaging client 904 to the messaging server 914, and possible access by another messaging client 904; setting up collections of media data (e.g., stories); retrieving a friend list of a user of the client device 902; retrieving such collections; retrieving messages and content; adding and removing entities (e.g., friends) to an entity graph (e.g., a social graph); locating friends within a social graph; and opening application events (e.g., related to the messaging client 904).

[0074] The application server 912 hosts many server applications and subsystems, including a messaging server 914, an image processing server 916, or a social network server 922, among others. The messaging server 914 implements messaging processing technologies and functions, particularly those related to the aggregation and other processing of content (e.g., text and multimedia content) included in messages received from multiple instances of the messaging client 904. Text and media content from multiple sources can be aggregated into collections of content (e.g., referred to as stories or galleries). These collections are then made available to the messaging client 904. Given the hardware requirements for other processor- and memory-intensive processing of data, such processing can also be performed on the server side by the messaging server 914.

[0075] The application servers 912 also include an image processing server 916 that is dedicated to performing various image processing operations, typically with respect to images or videos (e.g., such as within the payload of messages sent from or received at the messaging server 914). The image processing server 916 may implement and / or host some of the functionality of the device display system 100.

[0076] The social network server 922 supports various social networking functions and services and makes these functions and services available to the messaging server 914. To this end, the social network server 922 maintains and accesses an entity graph within the database 920. Examples of functions and services supported by the social network server 922 include identifying other users with whom a particular user in the messaging system 900 has relationships or who the particular user is "following," and also identifying interests and other entities of a particular user.

[0077] As described herein, a device display system with a perception controller is used to adjust the perceived brightness level of visual content based on the visual content. Adjustments can be made to the various layers, multiple layers, stacking order, filter layers, and combinations thereof in the presentation layer stack. In this way, the visual content is ready for publication to provide an enhanced user experience. For example, the device display system modifies the visual content to cause a perceived adjustment to the brightness of the displayed content. The device display system can modify the perceived brightness of the visual content by adjusting the opacity of the visual media layer, adding and / or adjusting the color or shadow of the background layer of the visual content, applying or adjusting a filtered layer, and / or a combination thereof on the visual media layer. The device display system can reduce the perceived brightness of the visual content by reducing the opacity of the visual media layer, thereby increasing the visibility of the dark background layer through the visual media layer. As another example, the device display system can increase the perceived brightness of the visual content by increasing the opacity of the visual media layer, thereby reducing the visibility of the dark background layer through the visual media layer.

[0078] The present invention can be implemented in a mobile device or other computing device with a display. As used herein, computer-readable storage media refers to both machine storage media and transmission media. The terms machine-readable medium, computer-readable medium, and device-readable medium mean the same thing and can be used interchangeably in this disclosure. Machine storage media refers to a single or multiple storage devices and media (e.g., centralized or distributed databases, and associated caches and servers) that store executable instructions, routines, and data. Therefore, the term should be considered to include, but is not limited to, solid-state memory and optical and magnetic media, including memory inside or outside the processor. Specific examples of machine storage media, computer storage media, and device storage media include: non-volatile or non-transitory memory, including, for example, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGA, and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms machine storage media, device storage media, and computer storage media mean the same thing and can be used interchangeably in this disclosure.

[0079] Example

[0080] Example 1 is a method comprising: receiving visual content for display on a display device, the visual content comprising a plurality of layers, the plurality of layers comprising a background layer and a visual media layer, the plurality of layers being arranged in a presentation layer stack; evaluating the visual content to determine at least one display parameter; determining, based on the at least one display parameter, a desired brightness level for displaying the visual content on a display of the display device; determining an adjustment to the display parameters of the presentation layer stack to achieve the desired brightness level for displaying the visual content; generating adjusted visual content based on the adjustment to the display parameters of the presentation layer stack; and causing the adjusted visual content to be presented on the display device.

[0081] In Example 2, the subject matter of Example 1 includes, wherein adjusting the display parameter comprises modifying a brightness level of the background layer.

[0082] In Example 3, the subject matter of Example 2 includes, wherein modifying the brightness level of the background layer comprises adjusting an opacity of the background layer to increase visibility of the modified visual content.

[0083] In Example 4, the subject matter of Examples 1 to 3 includes, wherein adjusting the display parameter comprises applying a filter layer to the presentation layer stack.

[0084] In Example 5, the subject matter of Examples 2 to 4 includes, wherein adjusting the display parameter comprises reordering a set of layers of the presentation layer stack.

[0085] In Example 6, the subject matter of Examples 1 to 5 includes evaluating an ambient light score; and using the ambient light score in evaluating the visual content to determine a desired brightness level for displaying the visual content.

[0086] In Example 7, the subject matter of Examples 1 to 6 includes, wherein evaluating the visual content further comprises evaluating the visual content relative to previous visual content.

[0087] In Example 8, the subject matter of Example 7 includes, wherein evaluating the visual content further comprises evaluating the visual content relative to a flow of visual content.

[0088] In Example 9, the subject matter of Examples 4 to 8 includes, wherein applying the filter layer to the presentation layer stack comprises selecting the filter layer based on an initial brightness level of the visual content and a desired brightness level for displaying the visual content.

[0089] In Example 10, the subject matter of Example 9 includes, wherein applying the filter layer to the presentation layer stack further comprises updating an opacity of the filter layer.

[0090] In Example 11, the subject matter of Examples 1 to 10 includes, wherein adjusting a display parameter of the presentation layer stack comprises determining a configuration for the presentation layer stack.

[0091] In Example 12, the subject matter of Examples 1 to 11 includes determining a desired brightness level for displaying the visual content on a display of the display device based on a brightness level of at least one previously presented visual content.

[0092] In Example 13, the subject matter of Examples 11-12 includes, wherein determining the desired brightness level for displaying visual content on a display of the display device is further based on an ambient light score determined based on sensor data describing a current environment of the display device.

[0093] Example 14 is at least one machine-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations for implementing any of Examples 1-13.

[0094] Example 15 is an apparatus comprising means for implementing any one of Examples 1 to 13.

[0095] Example 16 is a system implementing any one of Examples 1 to 13.

[0096] Example 17 is a display device comprising: one or more computer processors; and one or more computer-readable media storing instructions, wherein the instructions, when executed by the one or more computer processors, cause the display device to perform operations, the operations comprising: receiving visual content for display on the display device, the visual content comprising multiple layers, the multiple layers comprising a background layer and a visual media layer, the multiple layers being arranged in a presentation layer stack; evaluating the visual content to determine at least one display parameter; based on the at least one display parameter, determining a desired brightness level for displaying the visual content on a display of the display device; determining an adjustment to the display parameters of the presentation layer stack to achieve the desired brightness level for displaying the visual content; generating adjusted visual content based on adjusting the display parameters of the presentation layer stack; and causing the adjusted visual content to be presented on the display device.

[0097] In Example 18, the subject matter of Example 17 includes a display controller comprising: a decision engine for determining a desired brightness level; a visual content module for analyzing visual content to extract parameters and providing the extracted parameters to the decision engine; and a background layer module, enabling the background layer module to receive instructions from the decision engine and apply the instructions to adjust the brightness of the background layer.

[0098] In Example 19, the subject matter of Example 18 includes, a sensor module, enabling the sensor module to receive sensor information from a sensor and provide the sensor information to the decision engine.

[0099] In Example 20, the subject matter of Example 19 includes, wherein the sensor information comprises an ambient light score.

[0100] In Example 21, the subject matter of Examples 18 to 20 includes the visual flow module, such that the visual flow module is capable of evaluating the visual content relative to previous visual content and identifying parameters of the previous visual content to provide to the decision engine.

[0101] In Example 22, the subject matter of Examples 17 to 21 includes, wherein adjusting a display parameter of the presentation layer stack comprises determining an order of layers in the presentation layer stack.

[0102] Example 23 is at least one non-transitory machine-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations for implementing any one of Examples 17 to 22.

[0103] Example 24 is an apparatus comprising means for implementing any one of Examples 17 to 22.

[0104] Example 25 is a system implementing any one of Examples 17 to 22.

[0105] Example 26 is a method of implementing any one of Examples 17 to 22.

[0106] Example 27 is a method comprising: accessing visual content for display on a display device, the visual content comprising multiple layers; determining a desired brightness level for displaying the visual content; evaluating the visual content to determine at least one display parameter; and in response to evaluating the desired brightness level associated with the at least one display parameter: determining an adjustment to display parameters of the multiple layers to achieve the desired brightness level for displaying the visual content; generating adjusted visual content based on adjusting the display parameters of the multiple layers; and causing the adjusted visual content to be presented on the display device.

[0107] In Example 28, the subject matter of Example 27 includes, wherein the plurality of layers comprises a background layer and a visual media layer.

[0108] In Example 29, the subject matter of Example 28 includes, wherein adjusting the display parameters of the plurality of layers further comprises changing an opacity of the visual media layer.

[0109] In Example 30, the subject matter of Examples 28-29 includes, wherein adjusting the display parameters of the plurality of layers further comprises adjusting a color of the background layer based on a color sampling of the visual media layer.

[0110] In Example 31, the subject matter of Examples 28 to 30 includes, wherein adjusting the display parameter comprises modifying an opacity level of the background layer.

[0111] In Example 32, the subject matter of Examples 27 to 31 includes, wherein the plurality of layers are arranged in a presentation layer stack.

[0112] In Example 33, the subject matter of Example 32 includes, wherein adjusting the display parameter comprises reordering a set of layers in a presentation layer stack.

[0113] In Example 34, the subject matter of Examples 32-33 includes, wherein adjusting the display parameter further comprises adding a filter layer to the presentation layer stack.

[0114] In Example 35, the subject matter of Example 34 includes, wherein adding the filter layer to the presentation layer stack further comprises selecting the filter layer based on an initial brightness level of the visual content and a desired brightness level for displaying the visual content.

[0115] In Example 36, the subject matter of Example 35 includes updating the opacity of the filter layer.

[0116] Example 37 is at least one non-transitory machine-readable medium comprising instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations for implementing any one of Examples 27 to 36.

[0117] Example 38 is an apparatus comprising means for implementing any one of Examples 27 to 36.

[0118] Example 39 is a system implementing any one of Examples 27 to 36.

[0119] Example 40 is a method of implementing any one of Examples 27 to 36.

[0120] Glossary

[0121] "Carrier signal" refers to any intangible medium capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communication signals or other intangible media to facilitate communication of such instructions. Instructions may be transmitted or received over a network using a transmission medium via a network interface device.

[0122] "Client device" refers to any machine that interfaces with a communications network to obtain resources from one or more server systems or other client devices, for example. A client device may be, but is not limited to, a mobile phone, a desktop computer, a laptop computer, a portable digital assistant (PDA), a smartphone, a tablet computer, an ultrabook, a netbook, a laptop computer, a multiprocessor system, a microprocessor-based or programmable consumer electronics product, a game console, a set-top box, or any other communications device that a user may use to access a network.

[0123] "Communications network" refers to, for example, one or more parts of a network, which may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), the Internet, a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a Plain Old Telephone Service (POTS) network, a cellular telephone network, a wireless network, The coupling may be a network, another type of network, or a combination of two or more such networks. For example, the network or a portion of the network may include a wireless network or a cellular network, and the coupling may be a code division multiple access (CDMA) connection, a global system for mobile communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling may implement any of various types of data transmission technologies, such as single carrier radio transmission technology (1xRTT), evolution data optimized (EVDO) technology, general packet radio service (GPRS) technology, enhanced data rates for GSM evolution (EDGE) technology, the third generation partnership project (3GPP) including 3G, fourth generation wireless (4G) networks, universal mobile telecommunications system (UMTS), high speed packet access (HSPA), world wide interoperability for microwave access (WiMAX), long term evolution (LTE) standards, other data transmission technologies defined by various standards setting organizations, other long distance protocols, or other data transmission technologies.

[0124] "Component" refers to a device, physical entity or logic having boundaries defined by function or subroutine calls, branch points, APIs or other technologies provided for dividing or modularizing specific processing or control functions. A component can be combined with other components via its interface to perform machine processing. A component can be a packaged functional hardware unit designed for use with other components, and can be part of a program that generally performs a specific function of a related function. A component can constitute a software component (e.g., a code implemented on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit that can perform certain operations and can be configured or arranged in certain physical ways. In various examples, one or more computer systems (e.g., an independent computer system, a client computer system or a server computer system) or one or more hardware components (e.g., a processor or a processor group) of a computer system can be configured by software (e.g., an application or an application part) to operate to perform certain operations as described herein. Hardware components can also be implemented mechanically, electronically or in any suitable combination thereof. For example, a hardware component can include a dedicated circuit system or logic that is permanently configured to perform certain operations. The hardware component can be a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The hardware component can also include a programmable logic or circuit system that is temporarily configured to perform certain operations by software. For example, the hardware component can include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or specific component of a machine) that is uniquely customized to perform the configured function, rather than a general-purpose processor. It should be understood that the decision to mechanically implement the hardware component in a dedicated and permanently configured circuit system or in a temporarily configured (e.g., configured by software) circuit system can be driven for cost and time considerations. Accordingly, the phrase "hardware component" (or "hardware-implemented component") should be understood to include tangible entities, that is, entities that are physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in some way or perform certain operations described herein. Considering an example in which a hardware component is temporarily configured (e.g., programmed), each of the hardware components does not need to be configured or instantiated at any one moment. For example, in the case where a hardware component includes a general-purpose processor that is configured by software to become a special-purpose processor, the general-purpose processor can be configured as different special-purpose processors (e.g., including different hardware components) at different times. For example, the software configures one or more specific processors accordingly to constitute a specific hardware component at one time and to constitute different hardware components at different times. Hardware components can provide information to other hardware components and receive information from other hardware components. Therefore, the described hardware components can be considered to be communicatively coupled.When there are multiple hardware components at the same time, communication can be achieved by signal transmission (for example, by appropriate circuits and buses) between two or more hardware components or among two or more hardware components. In the example that multiple hardware components are configured or instantiated at different times, the communication between such hardware components can be achieved, for example, by storing information in a memory structure that multiple hardware components can access and retrieving information in the memory structure. For example, a hardware component can perform an operation, and the output of the operation is stored in a memory device coupled to its communication ground. Then, other hardware components can access the memory device at a subsequent time to retrieve the stored output and process it. The hardware component can also initiate communication with an input device or an output device, and can operate on resources (for example, the collection of information). The various operations of the example methods described herein can be performed at least in part by being temporarily configured (for example, by software) or permanently configured to perform one or more processors of the related operations. Whether it is a temporary configuration or a permanent configuration, such a processor can constitute a processor-implemented component that operates to perform one or more operations or functions described herein. As used herein, "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the method described herein can be implemented at least in part by a processor, wherein specific one or more processors are examples of hardware. For example, at least some of the operation of the method can be performed by one or more processors or the parts implemented by the processor. In addition, one or more processors can also operate to support the execution of the related operations in the "cloud computing" environment or operate as "software as a service" (SaaS). For example, at least some of the operation can be performed by a group of computers (as an example of a machine including a processor), wherein these operations can be accessed via a network (for example, the Internet) and via one or more appropriate interfaces (for example, API). The execution of certain operations in the operation can be distributed between the processors, not only resides in a single machine, but also deployed across multiple machines. In some examples, the parts implemented by the processor or the processor can be located in a single geographical location (for example, in a home environment, an office environment or a server cluster). In other examples, the parts implemented by the processor or the processor can be distributed across multiple geographical locations.

[0125] "Computer-readable storage media" refers to, for example, both machine storage media and transmission media. Thus, these terms encompass both storage devices / media and carrier / modulated data signals. The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and may be used interchangeably in this disclosure.

[0126] A "transient message" is a message that is accessible for a limited duration, for example. A transient message can be text, an image, a video, or the like. The access time for a transient message can be set by the message sender. Alternatively, the access time can be a default setting or a setting specified by the recipient. Regardless of the setting technique, the message is transient.

[0127] “Machine storage media” refers to, for example, a single or multiple storage devices and media (e.g., centralized or distributed databases, and associated caches and servers) that store executable instructions, routines, and data. Thus, the term should be taken to include, but is not limited to, solid-state memory and optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media, and device storage media include: non-volatile memory, including, for example, semiconductor memory devices such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGAs, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms “machine storage media,” “device storage media,” and “computer storage media” mean the same thing and may be used interchangeably in this disclosure. The terms “machine storage media,” “computer storage media,” and “device storage media” expressly exclude carrier waves, modulated data signals, and other such media, at least some of which are encompassed by the term “signal media.”

[0128] “Non-transitory computer-readable storage medium” refers to a tangible medium that is capable of storing, encoding, or carrying instructions for execution by a machine, for example.

[0129] "Signal medium" refers to any intangible medium that is capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communication signals or other intangible media that facilitate the communication of software or data. The term "signal medium" should be taken to include any form of modulated data signals, carrier waves, etc. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. The terms "transmission medium" and "signal medium" mean the same thing and may be used interchangeably in this disclosure.

[0130] A "user device" refers to a device that is, for example, accessed, controlled, or owned by a user and with which the user interacts to perform actions or interact with other users or computer systems.

Claims

1. A method comprising: receiving visual content for display on a display device, the visual content comprising a plurality of layers, the plurality of layers comprising a background layer and a visual media layer, the plurality of layers being arranged in a presentation layer stack; evaluating the visual content to determine at least one display parameter; determining a desired brightness level for displaying the visual content on a display of the display device based on the at least one display parameter; determining an adjustment to a display parameter of the presentation layer stack to achieve a desired brightness level for displaying the visual content; generating adjusted visual content based on adjusting display parameters of the presentation layer stack; as well as The adjusted visual content is caused to be presented on the display device.

2. The method according to claim 1, wherein Adjusting the display parameters includes modifying a brightness level of the background layer.

3. The method according to claim 2, wherein: Modifying the brightness level of the background layer includes adjusting the opacity of the background layer to increase visibility of the adjusted visual content.

4. The method according to claim 1, wherein Adjusting the display parameters includes applying a filter layer to the presentation layer stack.

5. The method according to claim 2, wherein: Adjusting the display parameter includes reordering a set of layers of the presentation layer stack.

6. The method according to claim 1, further comprising: Evaluate the ambient light score; as well as The ambient light score is used in evaluating the visual content to determine a desired brightness level for displaying the visual content.

7. The method according to claim 1, wherein Evaluating the visual content further includes evaluating the visual content relative to previous visual content.

8. The method according to claim 7, wherein: Evaluating the visual content further includes evaluating the visual content relative to a visual content stream.

9. The method according to claim 4, wherein: Applying a filter layer to the presentation layer stack includes: The filter layer is selected based on an initial brightness level of the visual content and a desired brightness level for displaying the visual content.

10. The method according to claim 9, wherein: Applying a filter layer to the presentation layer stack further includes updating an opacity of the filter layer.

11. The method according to claim 1, wherein Adjusting the display parameters of the presentation layer stack includes: A configuration for the presentation layer stack is determined.

12. The method according to claim 1, further comprising: A desired brightness level for displaying the visual content on a display of the display device is determined based on a brightness level of at least one previously presented visual content.

13. The method according to claim 11, wherein Determining a desired brightness level for displaying the visual content on a display of the display device is further based on an ambient light score determined based on sensor data describing a current environment of the display device.

14. A display device comprising: one or more computer processors; as well as One or more computer-readable media storing instructions that, when executed by the one or more computer processors, cause the display device to perform operations comprising: receiving visual content for display on a display device, the visual content comprising a plurality of layers, the plurality of layers comprising a background layer and a visual media layer, the plurality of layers being arranged in a presentation layer stack; evaluating the visual content to determine at least one display parameter; determining a desired brightness level for displaying the visual content on a display of the display device based on the at least one display parameter; determining an adjustment to a display parameter of the presentation layer stack to achieve a desired brightness level for displaying the visual content; generating adjusted visual content based on adjusting display parameters of the presentation layer stack; and The adjusted visual content is caused to be presented on the display device.

15. The display device according to claim 14, further comprising a display controller, the display controller comprising: a decision engine for determining the desired brightness level; a visual content module configured to analyze the visual content to extract parameters and provide the extracted parameters to the decision engine; as well as The background layer module is configured to receive instructions from the decision engine and apply the instructions to adjust the brightness of the background layer.

16. The display device according to claim 15, further comprising: A sensor module is provided, so that the sensor module can receive sensor information from a sensor and provide the sensor information to the decision engine.

17. The display device according to claim 16, wherein The sensor information includes the ambient light score.

18. The display device according to claim 15, further comprising: A visual flow module is configured to enable the visual flow module to evaluate the visual content relative to previous visual content and identify parameters of the previous visual content to provide to the decision engine.

19. The display according to claim 14, wherein Adjusting the display parameters of the presentation layer stack includes: Determines the order of layers in the presentation layer stack.

20. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a display device, cause the display device to perform operations comprising: receiving visual content for display on a display device, the visual content comprising a plurality of layers, the plurality of layers comprising a background layer and a visual media layer, the plurality of layers being arranged in a presentation layer stack; evaluating the visual content to determine at least one display parameter; determining a desired brightness level for displaying the visual content on a display of the display device based on the at least one display parameter; determining an adjustment to a display parameter of the presentation layer stack to achieve a desired brightness level for displaying the visual content; generating adjusted visual content based on adjusting display parameters of the presentation layer stack; as well as The adjusted visual content is caused to be presented on the display device.

Citation Information

Cited By

  • Normalized brightness control for user perception of visual media

    US12646487B2