Automated real-time high dynamic range content viewing system

By detecting and correcting inconsistent brightness areas in HDR content and using machine learning models to adjust brightness, the problem of unnatural brightness in HDR content creation is solved, and image quality and creation efficiency are improved.

CN113168674BActive Publication Date: 2024-12-31MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201980081034.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-12-05
Filing Date
2019-11-27
Publication Date
2024-12-31
Estimated Expiration
2039-11-27

AI Technical Summary

Technical Problem

During the HDR content creation process, since most content creators use SDR display devices, the brightness values ​​of light sources and light reflections in HDR content are unnatural and inconsistent, affecting the visual quality of the image.

Method used

By detecting incorrect and inconsistent tone bright areas in HDR content, classify and brightness correction using machine learning models, adjust brightness values ​​automatically or manually to match predetermined brightness values, and render visual indicators on the display to ensure brightness Consistency and nature.

Benefits of technology

Improves the visual quality of HDR images, reduces the correction time of content creators between different display devices, and improves the creation efficiency and consistency of HDR content.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113168674B_ABST
    Figure CN113168674B_ABST
Patent Text Reader

Abstract

Methods, systems and computer program products capable of identifying and correcting incorrect and / or inconsistent tones in bright areas of an HDR image are described herein. Bright areas are identified in an image. Bright areas are classified into a specified classification. Brightness values ​​of the bright areas are determined and compared with predetermined brightness values ​​corresponding to the classification. Brightness values ​​of bright areas where mismatches exist are adjusted to match predetermined brightness values. Bright areas including mismatched or incorrect brightness values ​​can be rendered on a display to include a visual indicator indicating that such areas include mismatched brightness values.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] "High dynamic range" (HDR) content refers to content (e.g., images, videos) that contains tones (brightness, depth, or chroma) with a dynamic range (i.e., the ratio between maximum and minimum values) that is considered larger than the standard dynamic range (SDR) (e.g., images / video rendered using a traditional gamma curve). Light sources and light reflections play an important role in the visual quality of HDR content. Therefore, when an HDR image includes features with unnatural and inconsistent brightness values, the visual quality of the image is reduced.

[0002] Some HDR content is "authored" using content authoring tools rather than being captured by a recording device such as a camera. Examples of such authoring scenarios include visual effects ("VFX") in video games, animated films, and movies. HDR content can also be achieved through "auto-authoring" algorithms. This type of HDR content is neither recorded nor manually authored using content authoring tools.

[0003] In many cases, HDR content is authored and / or edited using SDR display devices. For example, video games have been generating HDR images in real time for many years, with the first video game utilizing HDR lighting techniques as early as 1997. To view a game's real-time HDR images on an SDR display, the HDR values ​​in those images must first be processed into a smaller range of brightness and color values. Such processing is often referred to as tone mapping. HDR displays are able to display HDR content natively without the need for tone mapping, which naturally results in better visual quality.

[0004] However, until around 2015, all consumer display devices were SDR and could not natively display HDR content. As a result, the vast majority of consumers still only have SDR display devices. In addition, the current low penetration of HDR displays (especially small-sized displays that can easily fit on a table) means that most video game content creators still use SDR display devices, and in fact, many content creation tools still do not support HDR display devices. In other words, most video game content (including content that is HDR) is still mastered in SDR. As such, during HDR content creation, such HDR content may include unintentional use of unnatural and inconsistent brightness values ​​for light sources and light reflections because game content creators cannot actually view the HDR-native brightness values ​​they are using on the SDR display devices used to create HDR content. This may result in lower quality HDR images when displayed on HDR-capable display devices. Summary of the invention

[0005] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0006] The methods, systems and computer program products described herein are capable of detecting bright areas in HDR content having incorrect and / or inconsistent tones and automatically or manually correcting such tones. Bright areas are identified in an image. Bright areas are classified into a specified classification. Brightness values ​​of bright areas are determined and compared with predetermined brightness values ​​corresponding to the classification. Brightness values ​​of bright areas where mismatches exist are adjusted to match predetermined brightness values. Bright areas including mismatched or incorrect brightness values ​​can be rendered on a display to include a visual indicator indicating that such areas include mismatched brightness values.

[0007] For such mismatched bright areas, manually entered brightness corrections may be received, or corrections may be automatically generated. Such corrections may be applied to the HDR image to produce a corrected HDR image. Corrected brightness values ​​may be generated that match another bright area of ​​the same classification in the same image. In addition to generating corrections to incorrect brightness values, scaling adjustments may also be applied to brightness values ​​across bright areas to generate scaled and adjusted brightness values.

[0008] The identification and classification of bright areas of an image can be performed in various ways, such as by a suitably trained machine learning model. Such a model can be trained using images that include bright areas, which have classifications that can be employed in HDR content (e.g., sun, moon, fire, explosion, specular highlights, etc.). The predetermined brightness values ​​for each class of bright areas can also be determined by a suitably trained machine learning model. Such a model can be trained not only using images of the expected classification, but also with the expected range of brightness values ​​for such classification. Alternatively, the predetermined brightness values ​​can be manually defined by a technical artist, game developer, other content creator, or others.

[0009] Other features and advantages of each example as well as the structure and operation are described in detail below with reference to the accompanying drawings. Note that the ideas and techniques are not limited to the specific embodiments described herein. These examples are presented herein for illustrative purposes only. Additional examples will be apparent to those skilled in the relevant art based on the teachings contained herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The accompanying drawings, which are incorporated herein and constitute a part of the specification, illustrate various embodiments of the present application and, together with the description, further serve to explain the principles of the various embodiments and enable those skilled in the relevant art to make and use the embodiments.

[0011] Figure 1An example HDR content viewing system including an HDR brightness corrector is depicted according to an embodiment.

[0012] Figure 2 An example brightness correction system is depicted in accordance with an embodiment.

[0013] Figure 3 Depicted are two instances of example HDR content of the same classification in the same image authored by two different content creators and having different luminance values, according to an embodiment.

[0014] Figure 4 Depicts an example embodiment after SDR tone mapping is applied. Figure 3 An example of an SDR rendering of HDR content.

[0015] Figure 5 A flow chart of a method for viewing and correcting HDR content according to an embodiment is depicted.

[0016] Figure 6 Depicted is a diagram of a method according to an embodiment of the present invention. Figure 5 Improved flowchart for viewing and correcting HDR content.

[0017] Figure 7 Depicted is a flow chart of a method for automatically determining adjusted brightness values ​​for identified bright areas, according to an embodiment.

[0018] Figure 8 A flow chart of a method for providing a displayed image to a machine learning model to identify the location and size of bright areas according to one embodiment is depicted, the machine learning model being trained to identify bright areas.

[0019] Fig. 9 Depicted is a flow chart of a method for classifying identified bright regions through a machine learning model according to an embodiment.

[0020] Fig.10 Depicted is a block diagram of an example processor-based computer system that may be used to implement various embodiments.

[0021] Features and advantages of the embodiments will become more apparent from the detailed description set forth below when taken in conjunction with the accompanying drawings in which like reference numerals identify corresponding elements. In the accompanying drawings, like reference numerals generally indicate identical, functionally similar, and / or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference numeral. DETAILED DESCRIPTION

[0022] introduction

[0023] The following detailed description discloses several embodiments. The scope of this patent application is not limited to the disclosed embodiments, but includes various combinations of the disclosed embodiments and various modifications to the disclosed embodiments.

[0024] References in the specification to "one embodiment," "an embodiment," "an example embodiment," etc. indicate that the described embodiment may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Furthermore, when a feature, structure, or characteristic is described in conjunction with an embodiment, whether or not explicitly described, it is considered to be within the knowledge of those skilled in the art to implement the feature, structure, or characteristic in conjunction with other embodiments.

[0025] A number of exemplary embodiments are described below. It should be noted that any section / subsection titles provided herein are not intended to be limiting. Various embodiments are described in this document, and any type of embodiment may be included under any section / subsection. In addition, the various embodiments disclosed in any section / subsection may be combined in any manner with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0026] Example Embodiments

[0027] As mentioned above, HDR content is often created using SDR display devices, and in fact, most video game content today is created using SDR displays. In such cases, during content creation, the content creator of the HDR content may not necessarily be able to see the differences between tones on the SDR display, resulting in unnatural and inconsistent brightness values ​​being accidentally used for light sources and light reflections. This can result in poor quality HDR images. In particular, a viewer of the content on an HDR display may see unexplained tonal differences between content features (e.g., two flames) displayed in the same image, thereby reducing the quality of the image from the viewer's perspective.

[0028] Designing for HDR content on SDR display devices can cause further problems. For example, some content creation tools may unnaturally boost the brightness values ​​of some image features by applying linear scalar values ​​in order to enhance certain light sources and visual effects (VFX). Furthermore, different content creators may use different brightness values ​​for the same type of light sources and VFX. Examples are:

[0029] The reflection of the sun on the water may be created to be brighter than the actual sun;

[0030] The light from a candle might be created to be brighter than an incandescent lamp;

[0031] An explosion in one game level might be authored to be brighter than another level authored by a different content creator; and

[0032] The moon may be created to be brighter than a spotlight, even though the moon does not emit light.

[0033] The end result is that even though a final image rendered on an SDR display device may look correct despite including inconsistent and unnatural brightness values, the same image may look highly unnatural and / or inconsistent on an HDR display device.

[0034] To correct these problems, content creators and producers spend a lot of extra time viewing content such as video games on different HDR displays to identify inconsistent and unnatural brightness values. Generally speaking, the entire viewing process is very time consuming. For example, in the case of video games, content creators and producers must go through most of the game levels, or in the case of movies, must watch most of the movie, and the video game or movie may not be fully completed until long after the images contributed by a particular content creator / producer are created. Content created subsequently for the video game or movie may be created to have different brightness values. Therefore, various embodiments enable more efficient HDR content viewing and brightness correction that overcomes these problems. A high-level overview of the HDR content viewing process in the context of a video game according to an example embodiment is now discussed.

[0035] The HDR content viewing process begins with the creation of HDR content by a graphic artist, game developer, or other content creator. Typically, the content creator selects one or more objects in the scene to be rendered using HDR brightness values ​​and defines the brightness values ​​to be applied at runtime. After the creation of the HDR objects in the scene is completed, the video game can be run using the newly created HDR content. When the video game is running, the brightness values ​​defined during content creation can be applied to the HDR objects in the scene (and can also be used to render additional visual effects as needed) to render the final HDR game image (i.e., the final image displayed on the screen). Various embodiments of the automated real-time HDR content viewer can receive the final HDR game image and can operate as follows.

[0036] In one embodiment, the final HDR game image is input to a suitably trained machine learning model to identify the location, size, and brightness value of bright areas in the final HDR game image. In various embodiments, the same machine learning model classifies such bright areas. That is, the model determines the content depicted by each bright area according to a pre-identified category (i.e., fire, sun, moon, headlights, etc.). Embodiments of the automated real-time HDR content viewer may then compare the brightness value of each determined bright area with a predetermined brightness value corresponding to the determined classification. For example, in one embodiment, a list of predetermined brightness values ​​for various HDR object classifications may be provided to the automated real-time HDR content viewer. The mismatch between the determined brightness value of each object and the predetermined brightness value of the classified object indicates that the rendered object may have an unnatural and / or inconsistent brightness value.

[0037] Embodiments further enable rendering of the final HDR game image with visual indicators superimposed on unnatural and inconsistent HDR objects. Thereafter, embodiments may stop processing the HDR image and return control to the content creator to determine the next course of action (e.g., manual correction of the object brightness value). However, in another embodiment, the brightness values ​​of unnatural and inconsistent HDR objects may be automatically adjusted to match predetermined values ​​corresponding to the HDR object classification, and a preview of the final HDR game image is rendered on the display (along with a visual indicator for marking such objects for viewing). Thereafter, the content creator may review the preview rendering of the HDR object and determine whether the automatic brightness adjustment should be accepted, rejected, or modified.

[0038] These and further embodiments of the real-time HDR content viewer may be implemented in various ways. For example, Figure 1 An example HDR content viewing system 100 including an HDR brightness corrector 106 is depicted according to an embodiment. Figure 1 As shown, system 100 includes computing device 102 and display device 108. Computing device 102 includes content editing tool 104 executed on the computing device, which in turn includes brightness corrector 106. Figure 1 Based on the discussion of system 100, other structural and operational embodiments will be apparent to persons skilled in the relevant art(s).

[0039] Below is Figure 1A general description of the embodiments is described in the context of a system 100 and a computing device 102. It should be understood that while described in terms of a computing device 102 operated by a user, the embodiments are not limited to this scenario or computing hardware. For example, the embodiments may operate semi-autonomously or fully autonomously in a variety of hardware environments including, but not limited to, graphics processing units ("GPUs") and other types of computing hardware. It should also be noted that while the description of the embodiments herein is generally expressed in terms of HDR images and video processed in the context of video games, the embodiments may be usefully used to check and correct brightness values ​​in any type of HDR content.

[0040] The computing device 102 of the computing system 100 may include any type of computing device, whether mobile or stationary, such as a desktop computer, a server, a video game console, etc. The computing device 102 may be any type of mobile computing device (e.g., devices, personal digital assistants (PDAs), laptops, notebooks, tablet computers (such as the Apple iPad TM ), netbooks, etc.), mobile phones (e.g., cellular phones, smart phones, such as Microsoft Phone, Apple accomplish Android TM operating system, etc.), wearable computing devices (e.g., including smart glasses (such as Glass TM 、Oculus of Oculus VR etc.), stationary computing devices such as desktop computers or PCs (personal computers), gaming consoles / systems such as Microsoft Sony Nintendo or etc.) and so on.

[0041] In one embodiment, a content editor tool 104 executed on a computing device 102 enables a content editor, game developer, or other qualified person to perform HDR content review for mismatched brightness values ​​of the nature described herein. In one embodiment, a brightness corrector 106 included in the content editing tool 104 can manually, semi-automatically, or fully automatically review and correct incorrect brightness values ​​in the general manner described below.

[0042] As an initial matter, a video or still image including HDR content for viewing may be provided to a content editing tool 104 of a computing device 102 for display and viewing on a display device 108. For example, an HDR image 110 may be loaded or otherwise accessed by the content editing tool 104 and rendered on the display device 108. Once accessible to a brightness corrector 106 of the content editing tool 104, an HDR video and / or image such as the HDR image 110 may, in various embodiments, be operated through the following general steps so that incorrect brightness values ​​are detected and corrected, as discussed further below:

[0043] Identify and classify bright areas

[0044] For each such bright area:

[0045] Determine the brightness value of the area;

[0046] comparing the determined brightness value with a predetermined brightness value corresponding to a bright area classification;

[0047] Optionally: rendering a visual indicator over bright areas requiring correction;

[0048] Optionally: write a log file including a list of bright areas having inappropriate brightness levels and a screenshot of the image / frame containing the visual indicator;

[0049] Accepts manually or automatically generated corrected brightness values ​​for bright areas;

[0050] Correct the brightness of the bright area according to the correction brightness value;

[0051] Figure 1 Various embodiments of the brightness corrector 106 may be configured in various ways to perform such operations. For example, Figure 2 An embodiment of the brightness corrector 106 is depicted. Figure 2 As shown, the brightness corrector 106 includes an image classifier 204, a brightness analyzer 206, an image renderer 208, a brightness adjuster 210, a recorder 214, and a storage component 216. The brightness corrector 106 is described in further detail as follows.

[0052] In various embodiments, the HDR image 110 is received by the image classifier 204. The image classifier 204 is configured to subsequently identify and classify bright areas contained in an image (including a video) such as the HDR image 110. As an initial matter, various embodiments of the image classifier 204 must determine whether a bright area exists in the scene, where the area is located, its size, and the identity of the bright area (e.g., a campfire such as the bright area 112). The image classifier 204 can be configured in various ways to perform these functions, including performing such identification and classification according to machine vision, image recognition, or other algorithms for identifying objects in an image. Various examples of such algorithms include convolutional neural networks, appearance-based methods (e.g., edge matching, divide-and-conquer search, grayscale matching, histograms of receptive field responses, large model libraries), feature-based methods (e.g., explanation trees, pose consistency, pose clustering, invariance, geometric hashing, scale-invariant feature transform (SIFT), speeded-up robust features (SURF)), genetic algorithms, etc. As described in more detail below, machine learning ("ML") algorithms can be usefully used for such identification and classification tasks. In various embodiments, a suitably trained machine learning model included in the image classifier 204 may be provided with an image under review (e.g., the HDR image 110) and generate a list of bright regions 220, including their location, size, and classification. Example HDR and SDR images of various embodiments will now be briefly discussed, and the discussion of how to classify bright regions 220 will continue below. Figure 2 A brightness corrector 106 is described.

[0053] For example, Figure 3 An example HDR content image 300 is depicted that includes content items 302 and 304 having the same classification. In particular, content items 302 and 304 are each bright areas in content image 300 and are both classified as "fire". Figure 3 As shown, content item 302 is created to have an average HDR brightness of 500 nits. On the other hand, content item 304 is created by a different content creator and has an average HDR brightness of 1000 nits. As discussed above, these HDR brightness values ​​represent the expected brightness of each content portion when displayed locally on a display device that supports HDR. The difference in brightness between 500 and 1000 nits is so large that a human viewer will notice this difference on an HDR display device. As mentioned above, such mismatches in content brightness in an image may be caused by the use of SDR displays by various content creators.

[0054] For example, consider Figure 4 , Figure 4 Depicts a method of applying SDR tone mapping to a Figure 3The example HDR content image 300 is SDR rendered into an SDR image 400. Since an SDR display device cannot physically display the entire range of brightness values ​​that may be encoded in an HDR image, the brightness values ​​of the image must be scaled to fit the dynamic range of the SDR display device. Such a scaling process is often referred to as tone mapping. Figure 4 304. The scaled HDR content 402 and 404 of illustrative examples of what content items 302 and 304 might look like after SDR tone mapping and when displayed on an SDR display device. Although the tone-mapped SDR content 402 and 404 do have noticeably different luminance values ​​(i.e., SDR content 402 appears slightly lower in brightness than SDR content 404), the difference may not be enough to be noticeable on an SDR display, or may be within a tolerable range of differences for content of the same classification. For this reason, the luminance values ​​may appear satisfactory to one or both of the creators of content items 302 and 304, and / or be close enough to each other to be substantially the same. However, when HDR content items 302 and 304 are scaled HDR content 402 and 404 as described above, the luminance values ​​may appear to be pleasing to one or both of the creators of content items 302 and 304, and / or be close enough to each other to be substantially the same. Figure 3 A problem may arise when the content items 302 and 304 are displayed as shown in , where the content items 302 and 304 are significantly different from each other.

[0055] Now return to Figure 2 With respect to the described discussion of the brightness corrector 106, recall that the image classifier 204 is configured to identify and classify bright regions in the HDR image 110 and generate a list of bright regions (referred to as bright regions 220) that indicates the location (e.g., by top-left-most pixel coordinates, center pixel coordinates, etc.), size (e.g., a rectangle or other shape identified as a two-dimensional array of pixel coordinates), and classification (e.g., by classification name, classification identifier, etc.) of each brightness region.

[0056] In various embodiments, the list of bright areas 220 is received by the brightness analyzer 206. Each bright area indicated by the bright areas 220 is analyzed by the brightness analyzer 206 to determine the overall brightness value of the bright area. The brightness analyzer 206 can be configured to perform such analysis in a variety of ways, including histogram analysis of color values, operations on monochrome values, averaging values, and the like. For example, various embodiments can set the overall brightness value based on the peak RGB (red-green-blue) value (i.e., the maximum RG or B value) or the peak average value (i.e., the maximum R+B+G / 3 value of each pixel) of the bright area. Alternatively, various embodiments can draw a histogram of the brightness values ​​in the bright area and set the brightness value of the area to the median of the histogram. In other embodiments, a perceptual adjustment factor can also be used to take into account the nonlinearity of human brightness perception.

[0057] After determining the brightness value of each bright area, embodiments of the brightness analyzer 206 are configured to compare each determined brightness value with a predetermined brightness value corresponding to the bright area classification reflected in the list of bright areas 220. For example, a brightness value can be predetermined for each type of bright area that may be encountered in HDR content. In particular, a game designer or content editor may predetermine the brightness values ​​of, for example, fire, explosion, or sun to 1000, 3000, or 10000 nits, respectively. Therefore, embodiments of the brightness corrector 106 may detect a bright area 112 of the HDR image 110, classify the bright area 112 as fire, and determine its brightness value to be 500 nits. In this example, when comparing the value of 500 nits with the predetermined value of 1000 nits, embodiments of the brightness analyzer 206 determine the brightness for correction for the bright area. After performing the above comparison on each detected and classified bright region of the bright regions 220 , the brightness analyzer 206 is configured to generate a list of bright regions that need to be corrected as incorrect bright regions 222 and their locations and sizes.

[0058] After determining the bright area that needs to be corrected, various embodiments may perform the correction in a variety of ways. For example, in one embodiment, the image renderer 208 receives the incorrect bright area 222 and displays it on the display screen (e.g., Figure 1 ) on the display device 108 above the bright area (e.g., Figure 1 112 in the image) to mark such areas for review by the content creator or content editor. Such visualization may have any suitable form, including a semi-transparent highlight on the bright area, an appropriately colored bounding box around the bright area, etc. In one embodiment, in addition to rendering the visualization over the marked bright area, embodiments may also automatically apply a temporary or suggested brightness adjustment to the bright area. Alternatively, the image renderer 208 may be configured to provide a suggested brightness value 224 to the brightness adjuster 210.

[0059] In various embodiments, depending on the configuration of the brightness corrector 106, the brightness adjuster 210 may be configured to operate in different ways. For example, the brightness adjuster 210 may be configured to automatically and permanently apply temporary or suggested brightness values ​​to bright areas to generate a corrected image 226 including corrections to each bright area. Alternatively, the brightness adjuster 210 may be configured to allow a review of previously applied temporary / suggested brightness values ​​and allow such changes to be rejected or accepted. The latter alternative may be performed for various reasons, such as the machine learning model of the image classifier 204 incorrectly identifies parts of the image as having incorrect brightness values, such temporary / suggested brightness values ​​should not be accepted for artistic reasons (e.g., when the suggested brightness adjustment is based on physically real brightness values, but the HDR image being viewed is intended to look "cartoonish"), etc. In another embodiment of the brightness adjuster 210, the suggested brightness value 224 may not be applied to the HDR image as a preview, but is presented to the content editor as a suggested brightness value when accepting a manually input brightness correction value from the content editor or developer. Whether the brightness value is corrected automatically or via manual input of the corrected brightness value, brightness adjuster 210 is configured to apply the corrected brightness value to render corrected image 226 .

[0060] In another embodiment, the brightness corrector 106 may be configured to operate as an automated image testing tool. In such an embodiment, HDR images for viewing may be provided to the brightness corrector 106 in batches, wherein each image is processed by the image classifier 204 as described above to generate a list of bright areas 220 for input to the brightness analyzer 206, which in turn determines incorrect bright areas 222. However, in this embodiment, the incorrect bright areas 222 may or may not be provided to the image renderer 208 for interactive viewing of the image in the manner described above. In addition, the brightness analyzer 206 may generate a log 218 of such bright areas that need to be corrected. The log 218 may include data and metadata about each bright area (e.g., location, size, classification, determined brightness), and may include a screenshot of the output of the image renderer 208 with visualization as described above. In an embodiment, the recorder 214 may be configured to receive the log 218 from the brightness analyzer 206 and process the log 218 for storage in the storage component 216.

[0061] Note that while the above description of various embodiments of the brightness corrector 106 is expressed in terms of various types of lists, it should be understood that various embodiments need not generate or store literal lists, and other types of data structures or devices representing the data described with respect to each of the above-mentioned lists may be employed. In various embodiments, for example, the above-mentioned lists may include any number of different data structures (whether in memory or stored in some manner). Such data structures may include, for example, arrays, associative arrays, linked lists, records, objects (including object methods), stacks, queues, or graphs.

[0062] The brightness corrector 106 can be operated in various ways to perform its functions. For example, Figure 5 A flowchart 500 is depicted of a method for viewing and correcting HDR content according to an embodiment. Figure 1 and 4 To describe Figure 5 However, based on the following Figure 1 and 4

[0046] Given the discussion of flowchart 500 and brightness corrector 106, other structural and operational embodiments will be apparent to those skilled in the relevant art(s).

[0063] like Figure 5 As shown, flowchart 500 begins at step 502. At step 502, in an image, a portion of the image that is a bright area is identified. For example, and continuing to refer to Figure 2 , image classifier 204 may identify one or more bright regions as part of an image in an image such as HDR image 110. As discussed above, image classifier 204 may be configured to perform such identification using a suitably trained machine learning model (discussed in more detail below). For example, image classifier 204 may identify bright regions 302 and 304 in image 300.

[0064] At step 504, the identified bright area is classified into a specified category of a predetermined category set. Figure 2 , the image classifier 204 may be configured to perform classification on each bright region identified in the HDR image 110 , as discussed above, and discussed in further detail below.

[0065] Figure 5 Flowchart 500 continues with step 506. In step 506, the brightness value of the bright area is determined. For example, Figure 2 The image classifier 204 may provide a list of bright regions in the bright regions 220 (including their locations, sizes, and classifications) to the brightness analyzer 206. As discussed above, the brightness analyzer 206 is configured to determine a brightness value for each identified and classified bright region.

[0066] At step 508, the determined brightness value is compared with a predetermined brightness value corresponding to the specified category. Figure 2 As discussed, the brightness analyzer 206 may be configured to compare the determined brightness value of the bright area with a predetermined brightness value corresponding to a specified classification. That is, according to the example discussed above, the brightness analyzer 206 may be configured to compare the brightness value determined for "fire" with a predetermined value of 1000 nits. Figure 2 As shown, the brightness analyzer 206 generates incorrect bright regions 222 that include identified bright regions having brightness values ​​that do not match (eg, exactly or within a predetermined threshold) a predetermined brightness value of the classification of the identified bright regions.

[0067] Figure 5 Flowchart 500 of continues with step 510. In step 510, the determined brightness value is adjusted to an adjusted brightness value for the bright area based on the comparison. For example, and as described above with reference to Figure 2 As discussed, brightness adjuster 210 is configured to automatically or with manual assistance adjust brightness values ​​of bright areas identified in incorrect bright areas 222 as needing correction by brightness analyzer 206 .

[0068] Figure 5 The flowchart 500 ends with step 512. At step 512, an image including bright areas with adjusted brightness values ​​is rendered. For example, and continuing with reference to Figure 2 , the brightness adjuster 210 may be configured to apply the necessary brightness adjustments to generate a corrected image 226, which may in turn be provided to the image renderer 208 for rendering.

[0069] In the foregoing discussion of steps 502-512 of flowchart 500, it should be understood that, at times, such steps may be performed in a different order, or may even be performed simultaneously with other steps. For example, the identification and classification at steps 502 and 504, respectively, may be performed simultaneously by the same machine learning model. Other operational embodiments will be apparent to those skilled in the relevant art. It should also be noted that the above general description of the operation of brightness corrector 106 is for illustration only, and that various embodiments of brightness corrector 106 may include different hardware and / or software, and may operate in a manner different from that described above. In fact, the steps of flowchart 500 may be performed in a variety of ways.

[0070] For example, Figure 6 Depicted is a diagram according to an embodiment of the present invention. Figure 5 500 of the flowchart for viewing and correcting HDR content. Figure 1 , 4 and 5 to describe Figure 6 However, based on the following Figure 1 , 4 From the discussion of flowchart 600 of FIG. 5 , other structural and operational embodiments will be apparent to those skilled in the relevant art(s).

[0071] like Figure 6 As shown, flowchart 600 begins at step 602. At step 602, before adjusting the determined brightness value to an adjusted brightness value, it is determined that the determined brightness value is incorrect based on a difference between the determined brightness value and a predetermined brightness value. For example, and continuing to refer to Figure 2 , the analyzer 206 is configured to compare the brightness value determined at step 506 with a predetermined brightness value corresponding to a specified classification. In an embodiment, the brightness analyzer 206 may be configured to determine a difference between the brightness value determined for a given bright area and the predetermined brightness value corresponding to a specified classification. The brightness analyzer 206 may use the determined difference to determine that the brightness value for the associated bright area is incorrect, for example, where the determined difference exceeds a predetermined threshold in absolute value or percentage form.

[0072] At step 604, in the process of adjusting the determined brightness value, a visual indicator is rendered at a location in the image corresponding to the identified bright area. Figure 2 , the image renderer 208 is configured to render a visual indicator in a location corresponding to the incorrect bright region 222 identified by the brightness analyzer 206. Such a visual indicator may include, for example, a bounding box around the bright region or some other means of illustrating where correction is needed.

[0073] Flowchart 600 ends at step 606. At step 606, in the process of adjusting the determined brightness value, a manually corrected brightness value for the identified bright area (i.e., a brightness value received via manual input into a user interface from a graphic artist, game developer, other content creator, or other person) is received as an adjusted brightness value. For example, and as described above with reference to Figure 2 As discussed in detail, the brightness adjuster 210 of the brightness corrector 106 is configured to accept a manually corrected brightness value for each identified bright area, or an automatically generated corrected brightness value. In one embodiment, the automatically generated corrected brightness value can be used to preview the proposed image changes, which can then be manually accepted, rejected or modified.

[0074] Figure 7 A flow chart of a method for automatically determining adjusted brightness values ​​for identified bright areas according to an embodiment is depicted. Figure 1 ,4 and 5 to describe Figure 7 However, based on the following Figure 1 , 4 From the discussion of flowchart 700 of FIG. 5 , other structural and operational embodiments will be apparent to those skilled in the relevant art(s).

[0075] Figure 7 Flowchart 700 includes step 702. In step 702, before adjusting the determined brightness value to the adjusted brightness value, an adjusted brightness value for the identified bright area is automatically determined. For example, and as described above with reference to Figure 6 As discussed in detail in flowchart 600 of , the brightness adjuster 210 of the brightness corrector 106 is configured to accept a manually corrected brightness value for each identified bright region, or an automatically generated corrected brightness value. In one embodiment, the automatically generated corrected brightness values ​​can be used to preview the proposed image changes, which can then be manually accepted, rejected, or modified. In one embodiment, the automatically generated corrected brightness values ​​can be generated to match the predetermined brightness values ​​(i.e., the brightness values ​​associated with the classification) used by the brightness analyzer 206 to determine that the bright region needs correction.

[0076] As described above, the image classifier 204 may use any of a variety of algorithms to identify and classify bright areas. For example, Figure 8 A flowchart 800 is depicted of a method for a machine learning model for identifying and classifying bright areas according to an embodiment. Figure 1 , 4 and 5 to describe Figure 8 However, based on the following Figure 1 , 4 From the discussion of flowchart 800 of FIG. 5 , other structural and operational embodiments will be apparent to those skilled in the relevant art(s).

[0077] Figure 8 Flowchart 800 includes step 802. In step 802, the displayed image is provided to a machine learning model to identify the location and size of the bright area, and the machine learning model is trained to identify the bright area. For example, and continuing to refer to Figure 2 , the image classifier 204 may be configured to identify the location and size of bright areas within the HDR image 110 by using a suitably trained machine learning model, as discussed in more detail below.

[0078] A trained machine learning model suitable for use by the image classifier 204 can be generated in a variety of ways. For example, to generate such a model, a TensorFlow TMThe video game is executed in a machine learning (ML) application such as to generate training data comprising a video stream of the video game (or some subset of frames of the video stream). Alternatively, a movie or other content including HDR content can be played back within the ML application to train the machine learning model. The training phase generates a machine learning model that is capable of identifying and classifying bright areas in images during real-time gameplay or based on still images extracted therefrom, or images provided in other ways. Alternatively, the machine learning model can be trained on still images extracted from the video game or still images that otherwise contain bright areas of various positions, brightness intensities, and classifications.

[0079] The video streams and / or still images provided to the ML application are typically accompanied by other data or metadata ("training instructions") that identify regions of interest in each frame or image (i.e., classes of HDR content that the ML model is expected to be able to detect and classify once trained). For example, the training instructions may identify the location, intensity, and classification of light sources (such as the sun, moon, fire, explosions, specular highlights, headlights, taillights, license plates, etc.) within each image / frame. In general, all of the various types of light sources in the game, including reflections of light sources on different types of objects, should be included in the training set. Light sources such as these or others determined to be important to a particular game scene may be marked by the content creator / game developer user (or automatically) during the training phase, such as by indicating their location in the video or image frames (e.g., by the user indicating the location of the object with a dot, by drawing a box around the object, etc.).

[0080] In one embodiment, the ML application may be configured to receive and process training videos and / or still images and corresponding training instructions to train a machine language model. The ML application may generate the model using any suitable technique, including supervised ML model generation algorithms, such as supervised vector machines (SVMs), linear regression, logistic regression, naive Bayes, linear discriminant analysis, decision trees, k-nearest neighbor algorithms, neural networks, etc. In one embodiment, the generated model can provide a confidence level indicating whether a specific class of bright areas is identified in a video frame or still image.

[0081] After obtaining a suitably trained ML model, embodiments of the image classifier 204 (which incorporates the ML model) are provided to the model with the scene, video, or still image being developed (e.g., HDR image 110) to detect and classify bright areas in the final HDR game image. In one embodiment, and as discussed above, a list 220 of all such detected and classified bright areas (including details about the classification of the bright areas (e.g., fire vs. sun vs. headlights, etc.), location, and size) may be provided to the brightness analyzer 206.

[0082] Fig. 9 A flowchart 900 of a method for classifying identified bright areas by a machine learning model according to one embodiment is depicted. Figure 1 , 4 and 5 to describe Fig. 9 However, based on the following Figure 1 , 4 From the discussion of flowchart 900 of FIG. 5 , other structural and operational embodiments will be apparent to those skilled in the relevant art(s).

[0083] Fig. 9 Flowchart 900 includes step 902. In step 902, the identified bright regions are classified by a machine learning model. For example, as discussed above, the image classifier 204 may include a suitably trained machine learning model to perform not only the identification of the location and size of bright regions, but also to classify such regions according to their type (i.e., fire vs. sun vs. headlights, etc.).

[0084] Example Computer System Implementation

[0085] The content editor tool 104, the brightness corrector 106, the image classifier 204, the brightness analyzer 206, the image renderer 208, the brightness adjuster 210, the recorder 214, and the flowcharts 500, 600, 700, 800, and / or 900 may be implemented in hardware or in hardware combined with software and / or firmware. For example, the content editor tool 104, the brightness corrector 106, the image classifier 204, the brightness analyzer 206, the image renderer 208, the brightness adjuster 210, the recorder 214, and the flowcharts 500, 600, 700, 800, and / or 900 may be implemented as computer program code / instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, the content editor tool 104, brightness corrector 106, image classifier 204, brightness analyzer 206, image renderer 208, brightness adjuster 210, recorder 214 and flowcharts 500, 600, 700, 800 and / or 900 may be implemented as hardware logic / circuitry.

[0086] For example, in one embodiment, one or more of the content editor tool 104, the brightness corrector 106, the image classifier 204, the brightness analyzer 206, the image renderer 208, the brightness adjuster 210, the recorder 214, and the flowcharts 500, 600, 700, 800, and / or 900 may be implemented together in a SoC in any combination. The SoC may include an integrated circuit chip that includes one or more of the following: a processor (e.g., a central processing unit (CPU), a microcontroller, a microprocessor, a digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or other circuits, and may optionally execute received program code and / or include embedded firmware to perform functions.

[0087] Fig.10 An exemplary implementation of a computing device 1000 in which embodiments may be implemented is depicted. For example, content editor tool 104, brightness corrector 106, image classifier 204, brightness analyzer 206, image renderer 208, brightness adjuster 210, and recorder 214 may each be implemented in one or more computing devices 800 similar to computing device 800 in a fixed or mobile computer implementation, including one or more features and / or alternative features of computing device 800. The description of computing device 1000 provided herein is for illustration only and is not intended to be limiting. Embodiments may also be implemented in other types of computer systems known to those skilled in the relevant art.

[0088] like Fig.10 As shown, computing device 1000 includes one or more processors (referred to as processor circuit 1002), system memory 1004, and bus 1006 that couples various system components including system memory 1004 to processor circuit 1002. Processor circuit 1002 is an electronic and / or optical circuit implemented as a central processing unit (CPU), microcontroller, microprocessor, and / or other physical hardware processor circuit using one or more physical hardware electronic circuit device elements and / or integrated circuit devices (semiconductor material chips or tube dies). Processor circuit 1002 can execute program codes stored in computer-readable media, such as operating system 1030, application program 1032, program code of other programs 1034, etc. Bus 1006 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a local bus of a processor or using any of various bus architectures. System memory 1004 includes read-only memory (ROM) 1008 and random access memory (RAM) 1010. A basic input / output system 1012 (BIOS) is stored in ROM 1008 .

[0089] The computing device 1000 also has one or more of the following drives: a hard disk drive 1014 for reading and writing a hard disk, a disk drive 1016 for reading or writing a removable disk 1018, and an optical drive 1020 for reading or writing a removable optical disk 1022 such as a CD ROM, DVD ROM or other optical media. The hard disk drive 1014, the disk drive 1016, and the optical drive 1020 are connected to the bus 1006 via a hard disk drive interface 1024, a disk drive interface 1026, and an optical drive interface 1028, respectively. These drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the computer. Although a hard disk, a removable disk, and a removable optical disk are described, other types of hardware-based computer-readable storage media such as flash memory cards, digital video disks, RAM, ROM, and other hardware storage media may also be used to store data.

[0090] Several program modules may be stored on a hard disk, a magnetic disk, an optical disk, a ROM, or a RAM. These programs include an operating system 1030, one or more application programs 1032, other programs 1034, and program data 1036. Application programs 1032 or other programs 1034 may include, for example, computer program logic (e.g., computer program code or instructions) for implementing content editor tool 104, brightness corrector 106, image classifier 204, brightness analyzer 206, image renderer 208, brightness adjuster 210, recorder 214, and flowcharts 500, 600, 700, 800, and / or 900 (including any appropriate steps of flowcharts 500, 600, 700, 800, and / or 900) and / or other embodiments further described herein.

[0091] A user may enter commands and information into the computing device 1000 through input devices such as a keyboard 1038 and a pointing device 1040. Other input devices (not shown) may include a microphone, a joystick, a game controller, a satellite dish, a scanner, a touch screen and / or touch pad, a voice recognition system for receiving voice input, a gesture recognition system for receiving gesture input, and the like. These and other input devices are typically connected to the processor circuit 1002 through a serial port interface 1042 coupled to the bus 1006, but may be connected through other interfaces such as a parallel port, a game port, or a universal serial bus (USB).

[0092] A display screen 1044 is also connected to bus 1006 via an interface, such as a video adapter 1046. Display screen 1044 may be external to or incorporated into computing device 1000. Display screen 1044 may display information, as well as serve as a user interface for receiving user commands and / or other information (e.g., by touch, finger gestures, a virtual keyboard, etc.). In addition to display screen 1044, computing device 1000 may also include other peripheral output devices (not shown), such as speakers and printers.

[0093] The computing device 1000 is connected to a network 1048 (e.g., the Internet) through an adapter or network interface 1050, a modem 1052, or other means for establishing communications over the network. The modem 1052, which may be internal or external, may be connected to the bus 1006 via the serial port interface 1042, such as a serial bus. Fig.10 As shown, or another interface type including a parallel interface may be used to connect to bus 1006.

[0094] As used herein, the terms "computer program medium", "computer readable medium" and "computer readable storage medium" are used to refer to physical hardware media, such as a hard disk associated with hard disk drive 1014, a removable disk 1018, a removable optical disk 1022, other physical hardware media (such as RAM, ROM), flash memory cards, digital video disks, zip disks, MEMs, nano-based storage devices, and other types of physical / tangible hardware storage media. Such computer readable storage media are distinguished from and do not overlap with communication media (excluding communication media). Communication media carry computer readable instructions, data structures, program modules or other data in modulated data signals such as carrier waves. The term "modulated data signal" means a signal in which one or more characteristics are set or changed in a manner that encodes information in the signal. As an example and not limitation, communication media include wireless media (such as acoustic, RF, infrared and other wireless media) and wired media. Each embodiment also relates to such communication media that are separate and do not overlap with the embodiments for computer readable storage media.

[0095] As noted above, computer programs and modules (including application programs 1032 and other programs 1034) may be stored on a hard disk, disk, optical disk, ROM, RAM, or other hardware storage medium. Such computer programs may also be received via a network interface 1050, a serial port interface 1042, or any other interface type. These computer programs, when executed or loaded by an application, enable the computer 1000 to implement the features of the various embodiments described herein. Accordingly, such computer programs represent controllers of the computer system 1000.

[0096] The embodiments also relate to computer program products including computer codes or instructions stored on any computer readable medium. Such computer program products include hard drives, optical drives, memory device packages, portable memory sticks, memory cards, and other types of physical storage hardware.

[0097] Additional Example Embodiments

[0098] A method is described herein. The method includes: identifying a bright region in an image that is part of the image; classifying the identified bright region into a specified category of a predetermined set of categories; determining a luminance value of the identified bright region; comparing the determined luminance value with a predetermined luminance value corresponding to the specified category; adjusting the luminance value of the identified bright region to an adjusted luminance value based on the comparison; and rendering the image including the identified bright region having the adjusted luminance value.

[0099] In one embodiment of the above method, the comparison includes: determining that the determined brightness value is incorrect based on the difference between the determined brightness value and the predetermined brightness value; and wherein the adjustment further includes: rendering a visual indicator at a position in the image corresponding to the identified bright area; and receiving a manually corrected brightness value for the identified bright area as the adjusted brightness value.

[0100] In additional embodiments of the foregoing method, adjusting includes automatically determining the adjusted brightness value for the identified bright area.

[0101] In one embodiment of the above method, adjusting includes: adjusting the brightness value of the identified bright area to be the same as the brightness value for a second bright area in the image having the specified classification.

[0102] In another embodiment of the above method, rendering includes: applying linear scaling to the adjusted brightness values ​​to take into account visual effects in the displayed image to generate scaled and adjusted brightness values; and rendering the displayed image including the identified bright area having the scaled and adjusted brightness values.

[0103] In an additional embodiment of the above method, the identifying includes: providing the displayed image to a machine learning model to identify the location and size of the bright area, and the machine learning model is trained to identify the bright area.

[0104] In one embodiment of the above method, the classification includes: classifying the identified bright area by the machine learning model.

[0105] In another embodiment of the above method, the method further comprises: recording information of the identified bright area and information of at least one other bright area in the image for which the adjusted brightness value is determined.

[0106] A system is described herein. In one embodiment, the system includes: one or more processor circuits; one or more memory devices connected to the one or more processor circuits, the one or more memory devices storing computer program logic executed by the one or more processor circuits, the computer program logic including: an image classifier, the image classifier being configured to: identify a bright region as part of a displayed image in a displayed image; and classify the identified bright region into a specified classification of a predetermined classification set; a brightness analyzer, the brightness analyzer being configured to determine a brightness value of the identified bright region and determine a comparison between the determined brightness value and a predetermined brightness value corresponding to the specified classification; an image renderer, the image renderer being configured to render the image including the identified bright region with an adjusted brightness value; and a brightness adjuster, the brightness adjuster being configured to adjust the brightness value of the identified bright region to the adjusted brightness value based on the comparison, the image renderer being further configured to render the image including the identified bright region with the adjusted brightness value.

[0107] In one embodiment of the above-mentioned system, determining the comparison includes: determining that the determined brightness value is incorrect based on the difference between the determined brightness value and the predetermined brightness value; and wherein the brightness adjuster is configured to adjust the brightness value of the identified bright area by receiving a manually corrected brightness value for the identified bright area as the adjusted brightness value.

[0108] In another embodiment of the above system, the brightness adjuster is configured to automatically determine the adjusted brightness value for the identified bright area.

[0109] In an additional embodiment of the above system, the brightness adjuster is configured to adjust the brightness value of the identified bright region to be the same adjusted brightness value as the brightness value for a second bright region in the image having the specified classification.

[0110] In one embodiment of the above system, the image renderer is further configured to: apply linear scaling to the adjusted brightness values ​​to take into account visual effects in the displayed image to generate scaled and adjusted brightness values; and render the displayed image including the identified bright area having the scaled and adjusted brightness values.

[0111] In another embodiment of the above system, the identifying includes: providing the displayed image to a machine learning model to identify the location and size of the bright area, and the machine learning model is trained to identify the bright area.

[0112] In an additional embodiment of the foregoing system, the classifying includes: classifying the identified bright area through the machine learning model.

[0113] In one embodiment of the above system, the system further comprises: a recorder configured to record information of the identified bright area and information of at least one other bright area in the image for which the adjusted brightness value is determined.

[0114] A computer-readable memory device having computer program logic recorded thereon is described herein, and when executed by at least one processor of a computer device, the computer program logic causes the at least one processor to perform operations. In one embodiment of the computer program product, the operations include: identifying a bright region in an image as part of the image; classifying the identified bright region into a specified category of a predetermined set of categories; determining a brightness value of the identified bright region; comparing the determined brightness value with a predetermined brightness value corresponding to the specified category; adjusting the brightness value of the identified bright region to an adjusted brightness value based on the comparison; and rendering the image including the identified bright region having the adjusted brightness value.

[0115] In one embodiment of the above-mentioned computer-readable memory device, the comparison includes: determining that the determined brightness value is incorrect based on the difference between the determined brightness value and the predetermined brightness value; and wherein the adjustment further includes: rendering a visual indicator at a position in the image corresponding to the identified bright area; receiving a manually corrected brightness value for the identified bright area as the adjusted brightness value.

[0116] In another embodiment of the computer readable memory device above, the adjusting includes automatically determining the adjusted brightness value for the identified bright area.

[0117] In an additional embodiment of the computer readable memory device above, adjusting includes adjusting a brightness value of the identified bright region to be the same adjusted brightness value as a brightness value for a second bright region in the image having the specified classification.

[0118] Conclusion

[0119] Although various embodiments of the disclosed subject matter are described above, it should be understood that they are presented by way of example only and not limitation. (s) Those skilled in the relevant art will appreciate that various modifications may be made in form and detail without departing from the spirit and scope of the various embodiments as defined in the appended claims. Accordingly, the scope of the disclosed subject matter should not be limited by any of the exemplary embodiments described above, but should only be limited according to the following claims and their equivalents.

Claims

1. A method for brightness correction, comprising: identifying a bright region in an image that is part of the image; classifying the identified bright region into a specified category of a predetermined category set; determining a brightness value of the identified bright area; comparing the determined brightness value to a predetermined brightness value corresponding to the specified classification, wherein the comparing includes determining that the determined brightness value is incorrect based on a difference between the determined brightness value and the predetermined brightness value; adjusting the brightness value of the identified bright area to an adjusted brightness value based on the comparison; as well as The image including the identified bright areas having the adjusted brightness values ​​is rendered.

2. The method according to claim 1, characterized in that The adjustments further include: rendering a visual indicator at a location in the image corresponding to the identified bright area; and A manually corrected brightness value for the identified bright area is received as the adjusted brightness value.

3. The method according to claim 1, characterized in that The adjustments include: The adjusted brightness value for the identified bright area is automatically determined.

4. The method according to claim 1, characterized in that The adjustments include: The brightness value of the identified bright region is adjusted to be the same adjusted brightness value as the brightness value for a second bright region in the image having the specified classification.

5. The method according to claim 1, characterized in that The rendering includes: applying linear scaling to the adjusted luminance values ​​to account for visual effects in the displayed image to generate scaled and adjusted luminance values; and A displayed image is rendered including the identified bright regions having the scaled and adjusted brightness values.

6. The method according to claim 1, characterized in that The identification includes: The displayed image is provided to a machine learning model to identify the location and size of the bright area, and the machine learning model is trained to identify bright areas.

7. The method according to claim 6, characterized in that The categories include: The identified bright regions are classified by the machine learning model.

8. The method according to claim 1, characterized in that Further including: The information of the identified bright area or the information of the bright area whose adjusted brightness value is determined is recorded.

9. A system for brightness correction, comprising: one or more processor circuits; one or more memory devices connected to the one or more processor circuits, the one or more memory devices storing computer program logic executed by the one or more processor circuits, the computer program logic comprising: An image classifier, the image classifier being configured to: identifying a bright area in the displayed image that is part of the displayed image; and classifying the identified bright region into a specified category of a predetermined category set; a brightness analyzer configured to determine a brightness value of the identified bright area and determine a comparison between the determined brightness value and a predetermined brightness value corresponding to the specified classification, wherein determining the comparison includes determining that the determined brightness value is incorrect based on a difference between the determined brightness value and the predetermined brightness value; an image renderer configured to render the image including the identified bright areas having adjusted brightness values; and A brightness adjuster is configured to adjust the brightness value of the identified bright area to an adjusted brightness value based on the comparison, and the image renderer is further configured to render the image including the identified bright area with the adjusted brightness value.

10. The system according to claim 9, characterized in that The brightness adjuster is configured to adjust the brightness value of the identified bright area by receiving a manually corrected brightness value for the identified bright area as the adjusted brightness value.

11. The system according to claim 9, characterized in that The brightness adjuster is configured to automatically determine the adjusted brightness value for the identified bright area.

12. The system according to claim 9, characterized in that The brightness adjuster is configured to adjust the brightness value of the identified bright region to be the same adjusted brightness value as the brightness value for a second bright region in the image having the specified classification.

13. The system of claim 9, wherein: The image renderer is further configured to apply linear scaling to the adjusted luminance values ​​to account for visual effects in the displayed image to generate scaled and adjusted luminance values; as well as A displayed image is rendered including the identified bright regions having the scaled and adjusted brightness values.

14. The system of claim 9, wherein: The identification includes: The displayed image is provided to a machine learning model to identify the location and size of the bright area, and the machine learning model is trained to identify bright areas.

15. The system of claim 14, wherein: The categories include: The identified bright regions are classified by the machine learning model.

16. The system of claim 9, wherein: Further including: A recorder is configured to record information of the identified bright region and information of at least one other bright region in the image for which an adjusted brightness value is determined.

17. A computer program product comprising a computer readable memory device having computer program logic recorded thereon, the computer program logic, when executed by at least one processor of a computer device, causing the at least one processor to perform operations comprising: identifying a bright region in an image that is part of the image; classifying the identified bright region into a specified category of a predetermined set of categories; determining a brightness value of the identified bright area; comparing the determined brightness value to a predetermined brightness value corresponding to the specified classification, wherein the comparing includes determining that the determined brightness value is incorrect based on a difference between the determined brightness value and the predetermined brightness value; adjusting the brightness value of the identified bright area to an adjusted brightness value based on the comparison; as well as The image including the identified bright areas having the adjusted brightness values ​​is rendered.

18. The computer program product of claim 17, wherein: The adjustments further include: rendering a visual indicator at a location in the image corresponding to the identified bright area; A manually corrected brightness value for the identified bright area is received as the adjusted brightness value.

19. The computer program product of claim 17, wherein: The adjustments include: The adjusted brightness value for the identified bright area is automatically determined.

20. The computer program product of claim 17, wherein: The adjustments include: The brightness value of the identified bright region is adjusted to be the same adjusted brightness value as the brightness value for a second bright region in the image having the specified classification.