Image adjustment based on local contrast
By generating local contrast maps and α masks, and dynamically selecting intensity data calculation methods, the problem of poor image intensity conversion in tone mapping is solved, achieving high-quality image intensity data generation that adapts to conversions with different dynamic ranges.
Patent Information
- Application Number
- CN202210044927.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-22
- Filing Date
- 2022-01-14
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2042-01-14
AI Technical Summary
Existing tone mapping techniques struggle to efficiently convert image intensity between different dynamic ranges, and when adjusting images, they cannot dynamically select intensity data calculation methods based on local contrast, resulting in poor output quality.
By generating local contrast maps and α masks, intensity data calculation methods such as MaxRGB and Luma are dynamically selected to generate mixed intensity data, and the application area of different methods is determined by the local contrast values.
It improves the overall quality of image intensity data, adapts to different dynamic range conversions, and enhances the visual effect of images.
Smart Images

Figure CN114820337B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a method, a processor and a computer readable storage medium for local contrast based tone mapping. BACKGROUND
[0002] Tone mapping is an image processing technique for mapping the colors of one (input) image to the colors of another (output) image.
[0003] Tone mapping is sometimes used to meet different dynamic ranges of image processing media. For example, a photosensitive pixel of a camera can generate a set of intensities within a certain dynamic range. Other types of image processing media such as displays or printers can have different dynamic ranges. Tone mapping can be used to convert image intensities between these different dynamic ranges so that they are used appropriately. One common tone mapping algorithm compresses low input intensity ranges and high input intensity ranges by mapping them to relatively narrow output intensity ranges, respectively, while mapping intermediate input intensity ranges to a relatively wide output intensity range. Some examples of dynamic ranges include high dynamic range “HDR”, standard dynamic range “SDR” and low dynamic range “LDR”.
[0004] Tone mapping can additionally or alternatively be used to provide specific visual effects. For example, a more aesthetically pleasing image can be provided by adjusting colors, in particular skin tones.
[0005] Images can be encoded in various color models. One common color model is the RGB color model, which defines each pixel in an image in terms of intensities of each of the red, green and blue channels. Another common color model is the YUV color model, which defines each pixel in an image in terms of a luminance Y and two chrominance components U (for blue projection) and V (for red projection) of that image. Luma represents luminance or intensity. Color models YUV, YCbCr and YPbPr also represent pixels in terms of luminance and chrominance components, and are also commonly used to encode color images.
[0006] In general, tone mapping can thus involve adjusting intensities and / or chrominances of pixels or sub-pixels in an image to produce an improved output. SUMMARY
[0007] According to a first aspect of the present disclosure, there is provided a method for generating mixed intensity data for processing by a processor, the method comprising the steps of: generating a local contrast map based on image data, the local contrast map comprising a plurality of contrast values; generating alpha masks by associating an alpha mask value to each contrast value; generating first intensity data using a first intensity calculation method and second intensity data using a second intensity calculation method; generating the mixed intensity data by blending based on the alpha mask values relative to at least one of the first intensity data and the second intensity data; and outputting the mixed intensity data to the processor.
[0008] According to a second aspect of the present disclosure, there is provided a processor for generating mixed intensity data for processing by another processor, the processor comprising: an input module for obtaining image data; a contrast image generation module for generating a local contrast map based on image data, the local contrast map comprising a plurality of contrast values; an alpha mask generation module for generating alpha masks by associating an alpha mask value to each contrast value; an intensity data generation module for generating first intensity data using a first intensity calculation method and second intensity data using a second intensity calculation method; a mixed intensity data calculation module for generating the mixed intensity data by blending based on the alpha mask values relative to at least one of the first intensity data and the second intensity data; and an output module for outputting the mixed intensity data to the other processor.
[0009] According to a third aspect of the present disclosure, there is provided a non-transitory computer readable storage medium comprising a set of computer readable instructions stored thereon which, when executed by at least one processor, cause the at least one processor to generate mixed intensity data for processing by another processor, the instructions comprising: generating a local contrast map based on image data, the local contrast map comprising a plurality of contrast values; generating alpha masks by associating an alpha mask value to each contrast value; generating first intensity data using a first intensity calculation method and second intensity data using a second intensity calculation method; generating the mixed intensity data by blending based on the alpha mask values relative to at least one of the first intensity data and the second intensity data; and outputting the mixed intensity data to the other processor. BRIEF DESCRIPTION OF DRAWINGS
[0010] Other features and advantages will become apparent from the following description of preferred embodiments, given by way of example only, with reference to the accompanying drawings.
[0011] Other features and advantages will become apparent from the following description of preferred embodiments, given by way of example only, with reference to the accompanying drawings.Figure 1 is a flowchart of a method for generating blending intensity data according to an example;
[0012] Figure 2 is a representation of a range filter and image data according to an example;
[0013] Figure 3 is a representation of a local contrast mapping according to an example;
[0014] Figure 4 is a schematic of an alpha mask map according to an example;
[0015] Figure 5 is a schematic of generating blending intensity data for output according to an example;
[0016] Figure 6 is a schematic of a processor for generating blending intensity data according to an example; and
[0017] Figure 7 is a schematic of a system according to an example. DETAILED DESCRIPTION
[0018] Details of methods and apparatuses according to the examples will become apparent from the following descriptions, with reference to the following drawings. In this description, for the purposes of explanation, numerous specific details of certain examples are set forth. Reference in this specification to “an example,” or similar language, indicates that a feature, structure, or characteristic described in connection with the example is included in at least that one example, but not necessarily in other examples. It should also be noted that some examples are described schematically, where certain features are omitted and / or certain features necessarily simplified in order to facilitate explanation and understanding of the concepts upon which the examples are based.
[0019] Tone mapping has multiple uses in different fields such as consumer media, computer vision, and machine learning, and is a main function for several systems such as image processing, automotive applications, and digital media. Tone mapping generally involves the implementation of intensity data computation methods that can be used to create a grayscale representation of an image using an RGB color model or other appropriate color model such as RAW or YUV. This is often used to inform the perceived brightness of an image according to the human visual system, while also providing dimensionality reduction, thereby reducing computational complexity.
[0020] As previously mentioned, each of the intensity calculation algorithms has its respective advantages and disadvantages. For example, using a method such as MaxRGB to create intensity data replaces each pixel with the maximum value of its color channels, maintaining knowledge of the peak value for each pixel. This can allow the intensity calculation algorithm to apply modifications to the source image, and the knowledge of the peak value can mitigate unwanted effects such as color shifts, clipping, or artifacts. Other intensity data calculation methods, such as the Luma intensity calculation method, replace each pixel value with a weighted average of its respective color channels (also known as luminance). This is less susceptible to noise spikes and objectively more accurately describes the human visual system. It will be appreciated that other intensity data calculation methods can be used when generating intensity data.
[0021] Given that each method, and other methods for producing intensity data, has its different advantages and disadvantages, it is desirable to use different methods for different portions of the image data to obtain the best overall intensity data output. Dynamically selecting which method to use can improve the overall quality of the intensity data output, and can be achieved by using the local contrast value to discern which method is most suitable.
[0022] Figure 1 is a flowchart of a method 100 for generating hybrid intensity data according to an example. At item 110, a local contrast map is generated that includes a plurality of contrast values, each contrast value representing a single pixel of input image data. The input image can be received from one or more sensors, such as a camera configured to capture visual data of a surrounding image. Alternatively, in some examples, the image data is stored on a memory associated with the system and is retrieved from the memory for processing by a processor configured to implement the method as will be described in further detail below.
[0023] The image data can take several forms. For example, the image data can use an RGB color model, a YUV color model, a RAW color model, or any other appropriate color model. It will be appreciated that other types of image data can also be used, such as image files processed in a given file format such as JPEG, PNG, or GIF.
[0024] In one example, generating the local contrast map at item 110 can involve using a difference between a peak and a valley based on a neighborhood of surrounding pixels of the image data to generate a representation of the image data. This involves using a range filter as a non-linear filtering operation, and will be described in further detail below in connection with Figure 2Further details are described. By generating a local contrast map, the ability to discriminate and / or indicate differences in a particular region from its grayscale equivalent is improved. For example, an image data region (such as RGB image data) can be defined as having a small local contrast if all three color channels represent the same or similar values. Conversely, a region of image data can have a large local contrast if it has one or more channels containing values that are significantly greater or less than their counterparts. Thus, regions of the local contrast map with larger contrast values are more challenging to convert to grayscale. An example of a local contrast map is shown in Figure 3 and will be described in further detail below.
[0025] After generating the local contrast map at item 110, the method proceeds to item 120 of generating an alpha mask. The alpha mask includes an upper threshold and a lower threshold that are used to determine which of the intensity data calculation methods to use. For example, the intensity data calculation methods can be MaxRGB and Luma as described above.
[0026] The first lower threshold can be used to identify an upper boundary of contrast values in the local contrast map, and when generating the intensity data, the MaxRGB method can be used for any pixels for which the corresponding contrast value reaches the lower threshold. Similarly, the upper threshold can be used to identify a lower boundary of contrast values in the local contrast map, and when generating the intensity data, the Luma method can be used for any pixels for which the corresponding contrast value is above the upper threshold. It will be appreciated that the intensity data calculation methods can be different or applied differently. For example, the opposite of the above example can be correct in that the Luma method is used for pixels for which the corresponding contrast value reaches the lower threshold, and the MaxRGB method is used for pixels for which the corresponding contrast value is above the upper threshold.
[0027] For contrast values that are between the upper threshold and the lower threshold, a hybrid intensity data can be used based on both intensity data calculation methods, as will be described in further detail below. That is, the alpha mask values define a weighting of the first intensity data and the second intensity data.
[0028] After generating the alpha mask, at least first intensity data and second intensity data are generated at item 130. The first intensity data and the second intensity data are generated based on the input image data 100 and each of the intensity data calculation methods. This enables selection of portions of the intensity data according to the alpha mask at item 140 to create hybrid intensity data. The generation of the first intensity data and the second intensity data can occur in the order shown in the method 100 of Figure 1 It will be appreciated, however, that the generation of the intensity data can occur in parallel with items 110 and 120.
[0029] At term 140, after the intensity data and the alpha mask have been generated, blended intensity data is generated. The blended intensity data is formed from portions of each of the first and second intensity data as indicated by the alpha mask. Thus, where the contrast value of a given pixel is below the lower threshold in the alpha mask, the corresponding pixel in the first intensity data is used, and where the contrast value of a given pixel is above the upper threshold in the alpha mask, the corresponding pixel of the second intensity data is used. Pixels whose contrast value is between the upper and lower thresholds use a weighted combination of the corresponding pixels in the first and second intensity data, whereby the weighting is defined by the alpha mask value.
[0030] Once the blended intensity data has been generated, the blended intensity data is output at term 150. The output of the blended intensity data can involve storing the blended intensity data to a memory, passing the blended intensity data to another processor, such as a neural processing unit or a graphics processor, or outputting the blended intensity data for display.
[0031] Figure 2 is a representation 200 of a range filter 210 and image data 220 according to an example. In this example, the range filter 210 is a 3x3 window arranged to slide over each pixel within the image data 220 according to arrows A and B, and produces a local contrast map comprising a plurality of contrast values corresponding to each pixel in the image data 220. It will be appreciated that the range filter 210 can be any NxN size window. Figure 2
[0032] The range filter 210 is arranged to slide over the image data 220 pixel by pixel, such that when the range filter 210 is positioned over a given pixel, the contrast value associated with the pixel X0 is based on the difference between the maximum and minimum pixel values within the area covered by the range filter. Thus, for the pixel X0, the difference between the maximum and minimum of the pixel values for the pixels X0, X1, Y0 and Y1.
[0033] These pixel values can be based on the colour values of each pixel. For example, if the image data 220 is image data using an RGB colour model, the R, G and B values of each of these pixels can be averaged over all pixels covered by the range filter 210, and the difference between each pixel calculated. If the average of the R, G and B values are the same or similar, this means that there is a small local contrast, however, if they are different, this can be indicative of a greater local contrast.
[0034] The range filter 210 is arranged to move over the image data 220 pixel by pixel as indicated by arrows A and B, such that a local contrast map comprising a contrast value associated with each pixel of the image data 22 is produced. Figure 3 An example of such a local contrast map is shown in FIG. 3.
[0035] Figure 3 is a representation of a local contrast map 300 according to an example. The local contrast map 300 comprises pixels corresponding to pixels of image data (such as Figure 2 image data 220) of FIG. 2. Figure 3 In the example local contrast map 300 of FIG. 3, the contrast value associated with each pixel of the image data is in the range 0 to 1, where 0 indicates a low local contrast - that is, the difference between the maximum and minimum values in the region covered by the range filter is low, and where 1 indicates a high local contrast in the region. Values between 0 and 1 indicate intermediate contrasts between low and high local contrasts. It will be appreciated that the range of contrast values can exist in a range greater than the 0 to 1 range depicted in FIG. 3. Figure 3
[0036] Figure 4 is a schematic diagram of an alpha mask map 400 according to an example. The alpha mask map 400 is used to indicate which of two methods can be used when generating a given portion of blended intensity data based on a local contrast map (such as the local contrast map 300 shown in FIG. 3), and is generated according to the methods described in relation to Figure 3 Figure 2
[0037] The alpha mask map 400 contains at least three portions, namely a first portion 410, a second portion 420 and a third portion 430. Each portion indicates which intensity data is used for a given region based on the associated contrast value indicated in the local contrast map 300. The boundary between the first portion 410 and the second portion 420 is indicated by a first lower threshold 415, and the boundary between the second portion 420 and the third portion 430 is indicated by a second upper threshold 425.
[0038] The first portion 410 of the alpha mask map 400 indicates that first intensity data 440 is used for a given portion of the local contrast map 300. The first intensity data 440 is used to indicate a region (not shown) of blended intensity data in which the corresponding region in the local contrast map 300 has a contrast value below the lower threshold 415.
[0039] Similarly, the third portion 430 of the alpha mask map 400 indicates that second intensity data 450 is used for a given portion of the local contrast map 300. The second intensity data 450 is used to indicate a region (not shown) of blended intensity data in which the corresponding region in the local contrast map 300 has a contrast value above the upper threshold 425.
[0040] The second portion 420 of the alpha mask map 400 is used to indicate a blending between the first intensity data 440 and the second intensity data 450. For example, as shown in Figure 4 the contrast values in the local contrast map 300 have a value between the lower threshold 415 and the upper threshold 425, a corresponding blend between the first intensity data 440 and the second intensity data 450. Figure 4 The example 400 shown in FIG. 4 provides a linear relationship between the first threshold 415 and the second threshold 425, however it should be understood that other relationships such as a power curve, a lookup table, or a tunable linear equation can be used to provide an associated blend between the first intensity data 440 and the second intensity data 450.
[0041] For example, in the case where the contrast values in the local contrast map 300 are between 0 and 1 as shown in Figure 3 a contrast value of 0 would indicate that the first intensity data 440 is used for the corresponding portion when generating the blended intensity data, and a contrast value of 1 would indicate that the second intensity data 450 is used for the corresponding portion when generating the blended intensity data. If the lower threshold 415 is 0.2 and the upper threshold 425 is 0.7, then according to the alpha mask map 400 and the relationship indicated between the first threshold 415 and the second threshold 425, portions of the local contrast map 300 that have a local contrast value between 0.2 and 0.7 would use a blend of the first intensity data 440 and the second intensity data 450. In this example, the intermediate blended intensity data 460 would be generated by combining 470 the first intensity data 450 and the second intensity data 450 in a related ratio. In Figure 4 the example shown in FIG. 4, the relationship between the first threshold 415 and the second threshold is linear, so continuing the previous example values, if a portion of the local contrast map 300 has a contrast value of 0.5, then according to the alpha blending policy defined by the alpha mask map 400, the intermediate blended intensity data 460 can represent 50% of the first intensity data 440 and 50% of the second intensity data 450.
[0042] Figure 5 is a schematic diagram 500 of generating blended intensity data for output according to an example. An image is first received as input 510, which can be any image type and include image data using RGB, YUV, or RAW color models. Based on this input 510, a contrast image 520 is generated, such as the local contrast map 300 described above with respect to FIG. 3. The contrast image 520 is then used to generate an alpha mask map 530, such as the alpha mask map 400 described above with respect to FIG. 4. The alpha mask map 530 is then used to generate the blended intensity data 540, such as the intermediate blended intensity data 460 described above with respect to FIG. 4. Figure 3The described contrast image (300) includes multiple contrast values. Each contrast value represents at least one pixel in the input image data; however, each contrast value can represent a set of pixels in the image data, depending on the desired output settings. Contrast values are generated using an N×N dimensional range filter, which for each given pixel indicates the difference between the maximum and minimum values within the N×N dimensional range filter region. For example, in the case where the input image is an image using the RGB color model, the R, G, and B values of each pixel can be averaged over all pixels covered by the range filter, and the differences between each pixel can be calculated. If the average values of the R, G, and B values are the same or similar, this indicates a small local contrast; however, if they are different, this may indicate a large local contrast. The smaller the local contrast, the lower the contrast value. That is, in Figure 3 In the exemplary local contrast mapping 300, when the contrast is in the range of 0 to 1, the smaller the local contrast, the closer the contrast value of a given pixel is to 0, and the higher the local contrast, the closer the contrast value of a given pixel is to 1.
[0043] Once the local contrast mapping has been generated, an α mask 530 is generated. The α mask can take several forms, however... Figure 4 As shown in Example 400, the α mask can be a graph indicating a mapping between contrast values and intensity data generated using different intensity data calculation methods. The α mask can indicate contrast values, i.e., pixels or regions of image data, where a first intensity data calculation method will produce the most desired result, and contrast values, where a second intensity data calculation method will produce the most desired result. These are represented by upper and lower thresholds, as referenced above. Figure 4 As described. The intermediate value, i.e., the value between the upper threshold and the lower threshold, indicates the α-mixing strategy for pixels and / or regions used to generate mixed intensity data. For example, by combining first intensity data generated by a first intensity data calculation method and second intensity data calculated by a second intensity data calculation method according to predefined relationships such as power curves, lookup tables, or adjustable linear equations, more desirable overall mixed intensity data can be produced.
[0044] The mixed intensity data is then generated 540 based on the first intensity data and the second intensity data generated by the first intensity calculation method 550 and the second intensity calculation method 560, and the previously generated alpha mask and contrast image. The first intensity data can be calculated 550 using the first intensity data calculation method and the second intensity data can be calculated 560 substantially in parallel with the generation of the contrast image and alpha mask in order to speed up the processing. Alternatively, the first intensity data and the second intensity data can be calculated substantially sequentially. Once the mixed intensity data is generated 540 based on the first intensity data and the second intensity data, the alpha mask and the contrast image can be output 570 for further processing. For example, the mixed intensity data can be output to another processor, such as an image signal processor, central processing unit, digital signal processor, graphics processing unit, or neural processing unit. The mixed intensity data can also be output 570 to a display or other device for inspection by a user, and in some examples, the mixed intensity data can be written to a memory device for future recall.
[0045] While the above-described examples refer to the use of only two intensity data calculation methods, it will be appreciated that more than two intensity data calculation methods can be used. In this case, the generated alpha mask will include a third threshold and subsequent thresholds, each threshold indicating a boundary between the use of intensity data generated using an intensity data calculation method according to the desired mixed intensity data output to be produced. Figures 1 to 5
[0046] Figure 6 is a schematic diagram of a processor 600 for generating mixed intensity data according to an example. The processor 600 can comprise a number of modules and / or units for processing input. It will be appreciated that the processor 600 can be a standalone processor or form part of a system, such as a system-on-chip (SOC) capable of a number of other tasks and processes.
[0047] The processor 600 comprises an input module 610 arranged to receive image data. The image data can be received from a sensor, such as a camera, or from a memory, such as a memory associated with a system of which the processor 600 is a part. Once received, the image data is used by a contrast image generation module 620 arranged to generate a local contrast map based on the pixel data in the obtained image data. The local contrast map comprises a plurality of contrast values representative of pixels and / or regions of the image data. These contrast values are based on the difference between the maximum and minimum values associated with a given pixel or region and its surrounding pixels or regions based on an NxN dimensional range filter, as described above with reference to Figure 2 and Figure 3
[0048] After generating the local contrast map, an alpha mask is generated by the alpha mask generation module 630. The alpha mask generation module 630 determines which contrast values will be associated with the application of a given intensity data generated using two or more intensity data calculation methods. The alpha mask includes at least an upper threshold and a lower threshold indicating upper and lower contrast values for which the given intensity data is applied by, for example, the Luma and MaxRGB methods described above with reference to Figure 4 The first and second intensity data calculation methods described are computed.
[0049] The processor 600 also includes an intensity data generation module 640. The intensity data generation module generates multiple intensity data using different methods, such as the Luma and MaxRGB methods described above. The intensity data generation module 640 includes a single unit for generating intensity data using each of these methods. For example, the intensity data generation module 640 can include a Luma unit 642, a MaxRGB unit 644, and any number of other units 646 for computing intensity data using other intensity data calculation methods. The generation of intensity data can occur sequentially or in parallel with other computations, i.e., the intensity data generation module 640 can run independently of other modules of the processor 600.
[0050] The processor 600 also includes a hybrid intensity data calculation module 650 for generating hybrid intensity data. The hybrid intensity data calculation module 650 uses the output of the local contrast map module 620, the alpha mask generation module 630, and the multiple intensity data computed by the units 642, 644, 646 of the intensity data generation module 640. The hybrid intensity data calculation module 650 outputs the hybrid intensity data using an output module 660 for further processing by another processor (not shown).
[0051] Figure 7 is a schematic diagram of a system 700 according to an example. The system 700 includes a processor 710, such as the processor 600 described above with reference to Figure 6 The system 700 can also include one or more input and / or storage devices 720, such as an image sensor or memory for capturing or storing image data used by the processor 710. A memory access controller connected to the memory can also be provided. The memory access controller can include a dynamic memory controller. The memory controller is configured to manage the flow of data to and from the memory. The memory may, for example, include a disk or optical disk and a disk drive or a solid state drive (SSD) or non-volatile RAM (NVRAM). In some examples, the memory includes synchronous dynamic random access memory (SDRAM). For example, the memory can include double data rate synchronous dynamic random access memory (DDR-SDRAM).
[0052] The system 700 also includes one or more other processors 730 that can be used to process the blended intensity data generated by the processor 710. The processors can be any suitable processor, such as a display signal processor that outputs the blended intensity data to a display, an image signal processor, a central processing unit, a graphics processing unit, and / or a neural processing unit. The additional processors can depend on the particular implementation of the system 700. For example, the system 700 can be used to implement tone mapping applications, in automotive applications such as self-driving vehicles, and other image / video processing applications such as image enhancement or edge and feature detection.
[0053] The processor 710 and one or more of the input and / or storage devices 720, other processors 730, and other components (not shown) can be interconnected, for example, using a system bus 740, but it will be appreciated that at least one of the processor 710 and the other components 720, 730 of the system 700 can be directly connected to one another, so that an output of one component is directly connected to an input of another in a pipeline. This allows for the transfer of data between various components. The system bus 740 can be or include any suitable interface or bus. For example, an Advanced Microcontroller Bus Architecture (AMBA) can be used. Advanced Microcontroller Bus Architecture An interface, such as an Advanced eXtensible Interface (AXI).
[0054] It will be appreciated that the system 700 can be a system on a chip (SOC) that is specifically designed for performing a particular task, such as tone mapping or automotive applications, as described above.
[0055] Examples of the methods described above can be provided by a non-transitory computer-readable storage medium including a set of computer-readable instructions stored thereon that, when executed by at least one processor, cause the at least one processor to perform the method. In other words, examples of the methods described above can be provided by a computer program product. The computer program product can be provided by a dedicated hardware or hardware capable of running software in cooperation with appropriate software. When provided by a processor, these operations can be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors that share the load of the processor. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of running software, and can implicitly include, without limitation, digital signal processor “DSP” hardware, GPU hardware, NPU hardware, read only memory “ROM” for storing software, random access memory “RAM”, NVRAM, etc. Furthermore, specific implementations of the present disclosure can take the form of a computer program product accessible from a computer-usable or computer-readable storage medium providing program code for use by or in connection with a computer or any instruction execution system. For the purpose of this specification, a computer-usable or computer-readable storage medium can be any apparatus that can include, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system or apparatus or a propagation medium. Examples of the computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory “RAM”, a read-only memory “ROM”, a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk - read only memory “CD-ROM”, compact disk - read / write “CD-R / W”, Blu-Ray, and DVD.
[0056] The above exemplary implementations should be understood as illustrative examples of the application. Additional implementations are also contemplated. For example, implementations described in relation to a method can also be implemented as a computer program product, a computer-readable storage medium, a system, or an apparatus. Accordingly, it should be understood that features described in relation to any one implementation can be used individually or in combination with other features described, and can also be used in combination with one or more features of another implementation or a combination of other implementations. Furthermore, equivalents and modifications not described above can also be employed without departing from the scope of the disclosure defined in the appended claims.
Claims
1. A method for generating blended intensity data for processing by a processor, the method comprising the steps of: generating a local contrast map based on image data, the local contrast map comprising a plurality of contrast values; generating an alpha mask by associating an alpha mask value to each of the contrast values, wherein generating the alpha mask comprises: associating a first alpha mask value for a given contrast value if the given contrast value does not exceed a first threshold value; associating a second alpha mask value for the given contrast value if the given contrast value exceeds a second threshold value; and associating a third alpha mask value if the given contrast value exceeds the first threshold value and does not exceed the second threshold value, the third alpha mask value being between the first alpha mask value and the second alpha mask value; generating first intensity data using a first intensity calculation method and second intensity data using a second intensity calculation method, wherein the first intensity calculation method and the second intensity calculation method are different; generating the blended intensity data by blending values from at least one of the first intensity data and the second intensity data based on the alpha mask values; and outputting the blended intensity data to the processor.
2. The method for generating blended intensity data for processing by a processor of claim 1, further comprising creating combined intensity data based on a weighting of the first intensity data and the second intensity data associated with the third alpha mask value.
3. The method for generating blended intensity data for processing by a processor of claim 2, wherein generating the blended intensity data comprises, for each contrast value of a contrast image: blending relative to the first intensity data if the contrast value is associated with the first alpha mask value; blending relative to the second intensity data if the contrast value is associated with the second alpha mask value; and blending relative to the combined intensity data if the contrast value is associated with the third alpha mask value.
4. A processor for generating blended intensity data for processing by another processor, the processor comprising: an input module for obtaining image data; a contrast image generation module for generating a local contrast map based on image data, the local contrast map comprising a plurality of contrast values; an alpha mask generation module for generating an alpha mask by associating an alpha mask value to each of the contrast values, wherein the alpha mask generation module: associates a first alpha mask value for a given contrast value if the given contrast value does not exceed a first threshold value; associates a second alpha mask value for the given contrast value if the given contrast value exceeds a second threshold value; and associates a third alpha mask value if the given contrast value exceeds the first threshold value and does not exceed the second threshold value, the third alpha mask value being between the first alpha mask value and the second alpha mask value. an intensity data generation module to generate first intensity data using a first intensity calculation method and to generate second intensity data using a second intensity calculation method, wherein the first intensity calculation method and the second intensity calculation method are different; a blended intensity data calculation module to generate the blended intensity data by blending with respect to at least one of the first intensity data and the second intensity data based on the alpha mask values; and an output module to output the blended intensity data to the other processor.
5. The processor for generating blended intensity data for processing by another processor of claim 4, wherein the blended intensity data calculation module creates combined intensity data based on a weighting of the first intensity data and the second intensity data associated with the third alpha mask value.
6. The processor for generating blended intensity data for processing by another processor of claim 5, wherein for each contrast value of the contrast image, the blended intensity data calculation module: selects from the first intensity data if the contrast value is associated with the first alpha mask value; selects from the second intensity data if the contrast value is associated with the second alpha mask value; and selects from the combined intensity data if the contrast value is associated with the third alpha mask value.
7. The processor for generating blended intensity data for processing by another processor of claim 4, wherein outputting the blended intensity data to the other processor comprises outputting the blended intensity data to at least one of: a display processor; an image signal processor; a central processing unit; a graphics processing unit; a neural processing unit; or a digital signal processor.
8. A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon that, when executed by at least one processor, cause the at least one processor to perform the method of any one of claims 1 to 3.
Citation Information
Patent Citations
Apparatus and method for local contrast enhanced tone mapping
US20100177203A1