Inverse tone mapping with adaptive bright spot attenuation.
Through the adaptive inverse color mapping method, the overbrightness problem caused by improper bright area processing is solved, and the comfortable display of HDR images on the display device is achieved, thereby improving the user experience.
Patent Information
- Application Number
- JP2022577737
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-26
- Filing Date
- 2021-06-04
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2041-06-04
AI Technical Summary
When converting low dynamic range (LDR) or standard dynamic range (SDR) images into high dynamic range (HDR) images, existing technologies improperly handle bright areas, resulting in the display device being unable to display effectively, resulting in overly bright areas and affecting the user experience.
An adaptive inverse color mapping method is used to analyze the brightness distribution of the image and dynamically adjust the attenuation function of the bright area to ensure that the brightness of the bright area is within the target range and avoid overbrightness.
Effectively adjust the brightness of bright areas to make HDR images more comfortable on display devices, avoid overly bright areas, and improve user experience.
Smart Images

Figure 0007744937000013 
Figure 0007744937000014 
Figure 0007744937000015
Abstract
Description
[Technical Field]
[0001] At least one of the present embodiments relates generally to the field of high dynamic range imaging, and more particularly to methods and apparatus for extending the dynamic range of low or standard dynamic range images, with a particular focus on how to automatically and adaptively attenuate bright regions in the resulting high dynamic range image to a specific target luminance. [Background technology]
[0002] Recent advances in display technology are beginning to allow for an expanded dynamic range of color, brightness, and contrast in displayed images. The term image, as used herein, refers to image content, which may be, for example, video or a still picture or image.
[0003]
[0003] Techniques that allow for an extended dynamic range in the luminance or brightness of an image are known as high dynamic range (HDR) imaging. Although some HDR display devices are emerging, as well as image cameras that can capture images with increased dynamic range, the amount of HDR content available remains very limited. A solution is needed to extend the dynamic range of existing content, thereby enabling it to be efficiently displayed on HDR display devices.
[0004] To prepare conventional (called LDR for low dynamic range or SDR for standard dynamic range) content for HDR display devices, a reverse or inverse tone mapping operator (ITMO or ITM) can be used. ITMO enables the generation of HDR images from conventional (LDR or SDR) images by using an algorithm that processes the luminance information of pixels in the image with the goal of restoring or recreating the appearance of the corresponding original scene. In general, ITMO takes a conventional image as input, globally expands the luminance range of colors in this image, and then locally processes highlights or bright areas (i.e., bright spots) to improve the HDR appearance of colors in the image.
[0005] To enhance bright areas in an image, it is known to create a brightness expansion map (or gain function) that associates each pixel of an SDR image with an expansion value and apply it to the brightness of this pixel to obtain a corresponding HDR image. However, even when applying the best possible brightness gain function (and even when applying a fixed brightness gain function that is not specifically adapted to the SDR image), the resulting HDR image may be poorly graded. In particular, highlights or bright areas covering a large area in an SDR image may result in overly bright areas in the corresponding HDR image. Therefore, some HDR display devices may not be able to properly display such HDR images. In practice, these HDR images exceed their display capacity, so display devices apply more or less efficient algorithms to locally or globally reduce the brightness of HDR images. Large bright areas in the corresponding HDR image may dazzle a viewer or at least make their HDR viewing experience uncomfortable if not managed by the display device. Therefore, it is preferable to attenuate the brightness of these areas in a controlled manner.
[0006] It would be desirable to overcome the above drawbacks.
[0007] It would be particularly desirable to define an inverse tone mapping method that allows bright regions to be automatically and adaptively attenuated to a specific extended target luminance. Summary of the Invention
[0008] In a first aspect, one or more of the present embodiments provide a method for inverse tone mapping, the method comprising the steps of: obtaining an image, referred to as the current image; obtaining a gain function, referred to as the initial gain function of a first inverse tone mapping function; and, if analysis of the current image indicates that at least one pixel of the current image having a luminance value at least equal to a luminance value corresponding to a predetermined percentage of the pixels of the current image has an extended luminance value resulting from application of the first inverse tone mapping function to the current image that is higher than a target extended luminance value, applying a second inverse tone mapping function to the current image, the second inverse tone mapping function corresponding to the first inverse tone mapping function with the gain function replaced by a modified gain function, the modified gain function being a function derived from the initial gain function in which the gain given by the initial gain function is attenuated by a decay function, the decay function being an increasing function of luminance values weighted by a weighting factor that controls the strength of the attenuation, the weighting factor being dependent on the statistical distribution of luminance values in a histogram of the current image between a maximum luminance value and the luminance value corresponding to the predetermined percentage.
[0009] In one embodiment, the method includes the steps of viewing the histogram in descending order of luminance values, starting with the maximum luminance value; calculating an intermediate weighting factor for each viewed luminance value while the viewed luminance value is at least equal to a luminance value according to a predetermined percentage, and when a result of applying a first inverse tone mapping function to the viewed luminance value is at least equal to a target extended luminance value; and setting the value of the weighted factor to a value corresponding to the maximum of the calculated intermediate weighting factors.
[0010] In one embodiment, the intermediate weighting coefficient depends on the intermediate extended target luminance value, which is a weighted sum between the extended target luminance value and the result of applying the first inverse tone mapping function to the viewed luminance value, and each weight in the weighted sum depends on a value representing the proportion of pixels in the current image that have a luminance value higher than the viewed luminance value.
[0011] In one embodiment, the value representing the percentage of pixels in the current image that have a luminance value higher than the viewed luminance value also depends on the maximum allowed consumption luminance value.
[0012] In one embodiment, the method includes applying a first inverse tone mapping function to the current image if the number of pixels in the current image having a higher luminance value than the viewed luminance value is lower than a predetermined minimum number of pixels.
[0013] In one embodiment, the current image belongs to a video sequence and the method includes detecting a scene cut in the current video sequence, wherein the weighting factor controls the strength of the attenuation also depending on at least one other weighting factor that controls the strength of the attenuation calculated for another image of the video sequence preceding the current image, and no scene cut has been detected between the current image and the other image.
[0014] In one embodiment, the method includes verifying the monotonicity of a first inverse tone mapping curve obtained using a second inverse tone mapping function, and if the first inverse tone mapping curve is not monotonic, modifying at least one parameter of the second inverse tone mapping function to obtain a monotonic second inverse tone mapping curve.
[0015] In a second aspect, one or more of the present embodiments provide a device for inverse tone mapping, the device comprising electronic circuitry adapted to: obtain an image, referred to as the current image; obtain a gain function, referred to as the initial gain function of a first inverse tone mapping function; and apply a second inverse tone mapping function to the current image if analysis of the current image indicates that at least one pixel of the current image having a luminance value at least equal to a luminance value according to a predetermined percentage of the pixels of the current image has an extended luminance value that would result from application of the first inverse tone mapping function to the current image that is higher than a target extended luminance value, the second inverse tone mapping function corresponding to the first inverse tone mapping function with the gain function replaced by a modified gain function, the modified gain function being a function derived from the initial gain function in which the gain given by the initial gain function is attenuated by a decay function, the decay function being an increasing function of luminance values weighted by a weighting factor that controls the strength of the attenuation, the weighting factor depending on the statistical distribution of luminance values in a histogram of the current image between a maximum luminance value according to the predetermined percentage and the luminance values.
[0016] In one embodiment, the electronic circuitry views the histogram in descending order of luminance value from the largest luminance value, and calculates an intermediate weighting factor for each viewed luminance value when a result of applying the first inverse tone mapping function to the viewed luminance value is at least equal to the target extended luminance value while the viewed luminance value is at least equal to a luminance value according to a predetermined percentage; It is further adapted to set the value of the weighting factor to a value corresponding to the maximum of the calculated intermediate weighting factors.
[0017] In one embodiment, the intermediate weighting coefficient depends on the intermediate extended target luminance value, which is a weighted sum between the extended target luminance value and the result of applying the first inverse tone mapping function to the viewed luminance value, and each weight in the weighted sum depends on a value representing the proportion of pixels in the current image that have a luminance value higher than the viewed luminance value.
[0018] In one embodiment, the value representing the percentage of pixels in the current image that have a luminance value higher than the viewed luminance value also depends on the maximum allowed consumption luminance value.
[0019] In one embodiment, the electronic circuitry is further adapted to apply a first inverse tone mapping function to the current image if the number of pixels in the current image having a higher luminance value than the viewed luminance value is lower than a predetermined minimum number of pixels.
[0020] In one embodiment, the current image belongs to a video sequence, and the electronic circuit is also adapted to detect a scene cut within the current video sequence, and the weighting factor controls the strength of the attenuation also depending on at least one other weighting factor that controls the strength of the attenuation calculated for another image of the video sequence preceding the current image, and no scene cut has been detected between the current image and said other image.
[0021] In one embodiment, the electronic circuit is further adapted to verify the monotonicity of the first inverse tone mapping curve obtained using the second inverse tone mapping function, and if the first inverse tone mapping curve is not monotonic, modify at least one parameter of the second inverse tone mapping function to obtain a monotonic second inverse tone mapping curve.
[0022] In a third aspect, one or more of the present embodiments provides an apparatus comprising a device according to the second aspect.
[0023] In a fourth aspect, one or more of the present embodiments provides a signal generated by the method of the first aspect, or by the device of the second aspect, or by the apparatus of the third aspect.
[0024] In a fifth aspect, one or more of the present embodiments provide a computer program comprising program code instructions for carrying out the method according to the first aspect.
[0025] In a sixth aspect, one or more of the present embodiments provide information storage means for storing program code instructions for implementing a method according to the first aspect. [Brief explanation of the drawings]
[0026] [Figure 1] 1 illustrates an example of a situation in which the embodiments described below can be implemented. [Figure 2] 1 illustrates schematically an example of a hardware architecture of a processing module in which various aspects and embodiments may be implemented. [Figure 3] FIG. 1 is a block diagram of an example system in which various aspects and embodiments may be implemented. [Figure 4] 1 illustrates a high-level representation of various embodiments of methods for improving the inverse tone mapping method; [Figure 5A] Three examples of ITM curves are shown. [Figure 5B] Three examples of ITM curves are shown. [Figure 5C] Three examples of ITM curves are shown. [Figure 6A] 10 illustrates a first embodiment of a step of determining whether a current SDR image requires bright spot attenuation during an ITM process. [Figure 6B] 10 illustrates a second embodiment of the step of determining whether the current SDR image requires bright spot attenuation during the ITM process. [Figure 7] 10 illustrates a schematic diagram of a method for obtaining a first threshold value used to determine whether a current SDR image requires bright spot attenuation. [Figure 8] 10 illustrates a schematic diagram of a method for obtaining a second threshold value used to determine whether a current SDR image requires bright spot attenuation. [Figure 9A] 10 illustrates schematically a first embodiment of applying an ITM function based on a modified gain function. [Figure 9B] 10 illustrates schematically a second embodiment of applying an ITM function based on a modified gain function. [Figure 10] 10 illustrates a schematic diagram of a method for calculating an attenuation intensity factor used to calculate a modified gain function. [Figure 11A] 1 is a graphical representation of the payoff function G(). [Figure 11B] 1 is a graphical representation of an extended luminance value curve (i.e., an ITM curve). [Figure 12A] A graphical representation of the gain function G() is compared with a modified gain function Gbs() that allows for bright spot attenuation. [Figure 12B] The ITM curves obtained using the gain function G() and the modified gain function Gbs() are compared. [Figure 13A] We show non-monotonic ITM curves obtained by introducing bright spot decay into the ITM function. [Figure 13B] We present a correction of the ITM curve that can ensure the monotonicity of the ITM curve. [Figure 14] 10 illustrates a method for ensuring monotonicity of an ITM curve. DETAILED DESCRIPTION OF THE INVENTION
[0027] There are different kinds of inverse tone mapping methods. For example, in the field of local tone mapping algorithms, WO 2015 / 096955 proposes the steps of obtaining, for each pixel P of an SDR (or LDR) image, a pixel dilation value E(P) as follows: exp and inverse tone mapping (P) to the image. Y exp (P)=Y(P) E(P) ×[Y enhance (P)] (Equation 1) During the ceremony, ●Y exp (P) is the extended luminance value of pixel P. Y(P) is the luminance value of pixel P in the SDR (or LDR) image. ●Y enhance(P) is the brightness enhancement value for pixel P in the SDR (or LDR) image. E(P) is the pixel expansion value for pixel P.
[0028] The set of values E(P) at all pixels of an SDR (or LDR) image forms an expansion map or expansion function or gain function for the image. This gain function can be generated in different ways. For example, a method might low-pass filter the luminance value Y(P) of each pixel P to obtain the low-pass filtered luminance value Y(P). low (P) and applying a quadratic function to the low-pass filtered luminance values, said quadratic function being defined by parameters a, b and c according to the following equation: E(P)=a[Y low (P)] 2 +b[Y low (P)]+c
[0029] Another method based on WO 2015 / 096955 that facilitates hardware implementation uses the following formula:
[0030]
number
[0031] The above equation can be expressed as follows:
[0032]
number
[0033] Document ITU-R BT.2446-0 discloses how to convert SDR (or LDR) content into HDR content using the same kind of formulas. Y'exp (P)=Y”(P) E(Y”(P)) During the ceremony, ●Y' is in the range [0...1] ●Y”=255.0×Y' ●When Y”≦T, E=a1Y” 2 +b1Y”+c1 ●When Y”>T, E=a2Y” 2 +b2Y”+c2 ●T=70 ●a1=1.8712e-5, b1=-2.7334e-3, c1=1.3141 ●a2=2.8305e-6, b2=-7.4622e-4, c2=1.2528
[0034] As can be seen above, the gain function is based on a power function whose exponent depends on the luminance value of the current pixel or on a filtered version of this luminance value.
[0035] More generally, any global expansion method can be expressed as an ITM function of the form: for all input values different from zero (zero at the input causes the output to be logically zero): Y exp =Y G(Y) (Formula 2) where G() is the gain function of luminance Y.
[0036] Similarly, all local expansion methods can be expressed in the following way for all input values different from zero:
[0037]
number
[0038] In either case (global or local), the gain function is monotonic to match the input SDR image.
[0039] Some inverse tone mapping (ITM) methods use a gain function G() based on predetermined expansion parameters (e.g., as described in the ITU-R BT.2446-0 document) without any adaptation to the image content. EP 3249605 A1 discloses a method for inverse tone mapping of images that can automatically adapt to the image content. The method uses a set of profiles that form templates. These profiles are pre-determined in a learning phase, which is an offline process. Each profile is defined by visual features, such as a luminance histogram, to which a gain function is associated.
[0040] During the training phase, profiles are determined from a large number of reference images that have been manually graded by a colorist, who then manually sets inverse tone mapping parameters and generates gain functions for these images. The reference images are then clustered based on these generated gain functions. Each cluster is processed to extract a representative histogram of luminance and a representative gain function associated with it, thus forming a profile resulting from that cluster.
[0041] When new SDR content is received, a histogram is determined for an SDR image of the new SDR content. Each calculated histogram is then compared to each histogram stored in the templates resulting from the learning phase to find the histogram that best matches the template. For example, the distance between the calculated histogram and each of the histograms stored in the templates is calculated. A gain function associated with the template histogram that best matches the calculated histogram is then selected and used to perform inverse tone mapping on the image (or images) corresponding to the calculated histogram. In this way, the best gain function of the template matched to the SDR image is applied to output a corresponding HDR image.
[0042] As mentioned above, even when applying the best possible gain function, the inverse tone mapping operation may produce an HDR image that contains very bright regions (or highlights) that may exceed the capabilities of the display device or may be objectionable to the user.
[0043] To solve the above problem, EP 3503019 A1 discloses a method for attenuating bright areas to a predetermined target luminance value, provided that at least a predetermined percentage of the pixels in the input image have a luminance value higher than the input luminance whose enhancement value is equal to the target luminance value. Nevertheless, this method relies on a fixed threshold, i.e., it is applied to the entire input image, which may result in a flickering effect or at least a sudden change in the overall brightness of the enhanced image. This may be the case, for example, when a credits list with high luminance values rolls in at the end of the content, causing the attenuation.
[0044] The various embodiments described below aim to improve this situation by adaptively and smoothly attenuating the brightest regions to a predetermined target brightness as soon as the proportion of pixels contained in these regions is greater than a predetermined percentage.
[0045] FIG. 1 illustrates an example of a situation in which the embodiments described below can be implemented.
[0046] 1, device 1, which may be a camera, a storage device, a computer, or any device capable of delivering SDR content, transmits SDR content to system 3 using communication channel 2. Communication channel 2 may be a wired (e.g., Ethernet) or wireless (e.g., WiFi, 3G, 4G, or 5G) network link.
[0047] SDR content includes fixed images or video sequences.
[0048] System 3 converts the SDR content into HDR content, i.e., applies inverse tone mapping to the SDR content to obtain the HDR content.
[0049] The acquired HDR content is then transmitted using a communication channel 4, which may be a wired or wireless network, to a display system 5. The display system then displays the HDR content.
[0050] In one embodiment, the system 3 is included in a display system 5 .
[0051] In one embodiment, device 1, system 3, and display system 5 are all included in the same system.
[0052] In one embodiment, the display system 5 is replaced by a storage device that stores HDR content.
[0053] FIG. 2 illustrates schematically an example of the hardware architecture of a processing module 30 included in system 3 and capable of implementing different aspects and embodiments. The processing module 30 comprises a processor or CPU (Central Processing Unit) 300, which may include, by way of non-limiting example, one or more microprocessors, general-purpose computers, special-purpose computers, and processors based on multi-core architectures, connected by a communication bus 305; a random access memory (RAM) 301; a read-only memory (ROM) 302; a storage unit 303, which may include non-volatile memory and / or volatile memory, including, but not limited to, electrically erasable programmable read-only memory (EEPROM), read-only memory (ROM), programmable read-only memory (PROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash, magnetic disk drive, and / or optical disk drive, or a storage media reader and / or network-accessible storage device, such as an SD (Secure Digital) card reader and / or hard disk drive (HDD); and at least one communication interface 304 for exchanging data with other modules, devices, systems, or equipment. The communication interface 304 may include, but is not limited to, a transceiver configured to transmit and receive data over a communication channel. The communication interface 304 may include, but is not limited to, a modem or a network card.
[0054] The communications interface 304 allows, for example, the processing module 30 to receive SDR content and provide HDR content.
[0055] The processor 300 can execute instructions loaded into the RAM 301 from a ROM 302, an external memory (not shown), a storage medium, or a communication network. When the processing module 30 is powered on, the processor 300 can read and execute instructions from the RAM 301. These instructions form a computer program that causes the processor 300 to implement, for example, the inverse tone mapping method described below in relation to FIG. 4.
[0056] All or part of the algorithms and steps of the inverse tone mapping method may be implemented in software form by execution of a set of instructions by a programmable machine such as a DSP (Digital Signal Processor) or a microcontroller, or in hardware form by a machine or dedicated component such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
[0057] FIG. 3 illustrates a block diagram of an example system 3 in which various aspects and embodiments may be implemented. System 3 may be embodied as a device including various components, described below, configured to perform one or more of the aspects and embodiments described herein. Examples of such devices include, but are not limited to, various electronic devices, such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set-top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers. The elements of system 3, singly or in combination, may be embodied in a single integrated circuit (IC), multiple ICs, and / or individual components. For example, in at least one embodiment, system 3 includes a processing module 30 that implements an inverse tone mapping method. In various embodiments, system 3 is communicatively coupled to one or more other systems or other electronic devices, for example, via a communication bus or via dedicated input and / or output ports.
[0058] Input to processing module 30 may be provided via various input modules, as shown in block 32. Such input modules may include, but are not limited to, (i) a radio frequency (RF) module that receives, for example, RF signals transmitted over the air from a broadcast station, (ii) a component (COMP) input module (or set of COMP input modules), (iii) a universal serial bus (USB) input module, and / or (iv) a high definition multimedia interface (HDMI) input module. Other examples not shown in FIG. 3 include composite video.
[0059] In various embodiments, the input modules of block 32 have associated respective input processing elements, as known in the art. For example, the RF module may be associated with appropriate elements to (i) select a desired frequency (also referred to as selecting a signal or bandlimiting a signal to a frequency band), (ii) downconvert the selected signal, (iii) bandlimit again to a narrower frequency band to select a signal frequency band, which in particular embodiments may be referred to (for example) as a channel, (iv) demodulate the downconverted and bandlimited signal, (v) perform error correction, and (vi) demultiplex to select a desired stream of data packets. The RF module of various embodiments includes one or more elements that perform these functions, such as a frequency selector, a signal selector, a band limiter, a channel selector, a filter, a downconverter, a demodulator, an error corrector, and a demultiplexer. The RF section may include, for example, a tuner that performs various of these functions, including downconverting a received signal to a lower frequency (e.g., an intermediate frequency or a frequency near baseband) or to baseband. In one set-top box embodiment, the RF module and its associated input processing elements receive RF signals transmitted over a wired (e.g., cable) medium and perform frequency selection by filtering, downconverting, and re-filtering to a desired frequency band. Various embodiments rearrange the order of the above-described (and other) elements, remove some of these elements, and / or add other elements that perform similar or different functions. Adding elements may include inserting elements between existing elements, such as inserting an amplifier and an analog-to-digital converter. In various embodiments, the RF module includes an antenna.
[0060] Additionally, the USB module and / or HDMI module may include respective interface processors for connecting system 3 to other electronic devices via USB and / or HDMI connections. It should be understood that various aspects of input processing, e.g., Reed-Solomon error correction, may be implemented, for example, in a separate input processing IC or within processing module 30, as appropriate. Similarly, aspects of USB or HDMI interface processing may be implemented in a separate interface IC or within processing module 30, as appropriate. The demodulated, error corrected, and demultiplexed stream is provided to processing module 30.
[0061] The various elements of system 3 may be provided within a unitary housing, where the various elements may be interconnected and transmit data between them using any suitable connection arrangement, such as an internal bus known in the art, including an inter-IC (I2C) bus, wiring, and printed circuit boards. For example, in system 3, processing module 30 is interconnected to the other elements of system 3 by bus 305.
[0062] The communication interface 304 of the processing module 30 enables the system 3 to communicate over a communication channel 2. The communication channel 2 may be implemented, for example, in a wired and / or wireless medium.
[0063] In various embodiments, data is streamed or otherwise provided to system 3 using a wireless network, such as a Wi-Fi network, e.g., an IEEE 802.11 (IEEE refers to the Institute of Electrical and Electronics Engineers) network. The Wi-Fi signal in these embodiments is received via communication channel 2 and communication interface 304, which are compatible with Wi-Fi communication. Communication channel 3 in these embodiments is typically connected to an access point or router that provides access to external networks, including the Internet, to enable streaming applications and other over-the-top communications. Other embodiments provide streamed data to system 3 using a set-top box that delivers data via the HDMI connection of input block 32. Still other embodiments provide streamed data to system 3 using the RF connection of input block 32. As noted above, various embodiments provide data in a non-streaming manner. Additionally, various embodiments use wireless networks other than Wi-Fi, such as a cellular network or a Bluetooth network.
[0064] System 3 can provide output signals to various output devices, including displays 5, speakers 6, and other peripheral devices 7. Display 5 in various embodiments includes, for example, one or more of a touchscreen display, an organic light-emitting diode (OLED) display, a curved display, and / or a foldable display. Display 5 can be for a television, tablet, laptop, mobile phone, or other device. Display 5 can also be integrated with other components (e.g., as in a smartphone) or separate (e.g., an external monitor for a laptop). Display device 5 is compatible with HDR content. Other peripheral devices 7, in various example embodiments, include one or more of a standalone digital video disc (or digital versatile disc) (DVR, or digital versatile disc, as an abbreviation for both terms), a disc player, a stereo system, and / or a lighting system. Various embodiments use one or more peripheral devices 7 that provide functionality based on the output of system 3. For example, a disc player functions to play the output of system 3.
[0065] In various embodiments, control signals are communicated between system 3 and display 5, speakers 6, or other peripheral devices 7 using signaling such as AV.Link, Consumer Electronics Control (CEC), or other communication protocols that enable inter-device control with or without user intervention. Output devices may be communicatively coupled to system 3 by dedicated connections via respective interfaces 33, 34, and 35. Alternatively, output devices may be connected to system 3 using communication channel 2 via communication interface 304. Display 5 and speakers 6 may be incorporated into a single unit with other components of system 3 within an electronic device such as a television. In various embodiments, display interface 5 includes a display driver, such as, for example, a timing controller (TCon) chip.
[0066] Alternatively, the display 5 and speakers 6 may be separate from one or more of the other components, for example, if the RF module of input 32 is part of a separate set-top box. In various embodiments in which the display 5 and speakers 6 are external components, the output signal may be provided via a dedicated output connection, including, for example, an HDMI port, a USB port, or a COMP output.
[0067] Various implementations involve applying an inverse tone mapping method. As used herein, inverse tone mapping may encompass all or part of the processes typically performed on a received SDR image or video stream to produce a final HDR output suitable for a display. In various embodiments, such processes include one or more of the processes typically performed by an image or video decoder, such as a JPEG decoder or H.264 / AVC (ISO / IEC14496-10-MPEG-4 Part 10, Advanced Video Coding), H.265 / HEVC (ISO / IEC23008-2-MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265), or H.266 / VVC (Versatile Video Coding), which are being developed by a joint collaborative team of experts from ITU-T and ISO / IEC known as the Joint Video Experts Team (JVET) decoder.
[0068] Where a figure is presented as a flowchart, it should be understood that the figure also provides a block diagram of the corresponding apparatus. Similarly, where a figure is presented as a block diagram, it should be understood that the figure also provides a flowchart of the corresponding method / process.
[0069] Implementations and aspects described herein may be implemented in, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Even if discussed only in the context of a single implementation (e.g., discussed only as a method), the implementation of the discussed feature may also be implemented in other forms (e.g., an apparatus or a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. A method may be implemented in, for example, a processor, where a processor refers to a general processing device including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include, for example, communication devices such as computers, mobile phones, handheld / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end users.
[0070] References to "one embodiment" or "embodiment" or "one implementation" or "implementation," as well as other variations thereof, mean that a particular feature, structure, characteristic, etc. described in connection with an embodiment is included in at least one embodiment. Thus, appearances of the phrases "in one embodiment" or "in an embodiment" or "in one implementation" or "in an implementation" appearing in various places throughout this specification, as well as any other variations thereof, do not necessarily all refer to the same embodiment.
[0071] Additionally, the application may refer to "determining" various information. Determining information may include, for example, one or more of estimating information, calculating information, predicting information, retrieving information from memory, or retrieving information from, for example, another device, module, or user.
[0072] Additionally, the application may refer to "accessing" various information. Accessing information may include, for example, one or more of receiving information, retrieving information (e.g., from a memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information.
[0073] Additionally, the application may refer to "receiving" various information. Receiving, like "accessing," is intended to be a broad term. Receiving information may include, for example, one or more of accessing information or retrieving information (e.g., from a memory). Furthermore, "receiving" generally involves in some way, for example, storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information.
[0074] The use of any of " / ", "and / or", "at least one of", "one or more", e.g., "A / B", "A and / or B", "at least one of A and B", "one or more of A and B" should be understood to be intended to encompass the selection of only the first listed alternative (A), or the selection of only the second listed alternative (B), or the selection of both alternatives (A and B). As a further example, "A, B, and / or C" and "at least one of A, B, and C", "one or more of A, B, and C" are intended to encompass the selection of only the first listed alternative (A), or the selection of only the second listed alternative (B), or the selection of only the third listed alternative (C), or the selection of only the first and second listed alternatives (A and B), or the selection of only the first and third listed alternatives (A and C), or the selection of only the second and third listed alternatives (B and C), or the selection of all three alternatives (A, B, and C). This can be expanded to include as many items as listed, as would be apparent to one of ordinary skill in this and related arts.
[0075] As will be apparent to one skilled in the art, implementations or embodiments can produce various signals formatted to carry information that can be stored or transmitted, for example. The information can include, for example, instructions for performing a method or data produced by one of the described implementations or embodiments. For example, a signal can be formatted to convey an HDR image or video sequence of a described embodiment. Such a signal can be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or as a baseband signal. Formatting can include, for example, encoding the HDR image or video sequence into an encoded stream and modulating a carrier with the encoded stream. The information carried by the signal can be, for example, analog or digital information. The signal can be transmitted over a variety of different wired or wireless links, as is known. The signal can be stored on a processor-readable medium.
[0076] 4 shows a high-level overview of various embodiments of the inverse tone mapping method. In the various embodiments described below, it is assumed that a gain function G() is defined for the current SDR image. This gain function is expressed as Y' G(Y’) is defined such that Y is monotonic and Y' is a gammadized version of the linear luminance value Y.
[0077] In various embodiments, a histogram of the luminance values Y' of the SDR image is used to detect the amount of information at high luminance levels.
[0078] As an example, in the rest of the document, it is assumed that the target LMax (i.e., the target maximum luminance value) of ITMO is 1000 nits, and the current input SDR image is an 8-bit image, with a value of 255 corresponding to 100 nits.
[0079] In that case, the ITM function can be written as follows:
[0080]
number
[0081]
number
[0082] Y SDR ' and Y HDR Both ' are gamma-ized and Y SDR and Y HDR Both are linear, e.g.: Y SDR =(Y SDR ' / 255) 2.4 ×100 Y HDR =(Y HDR ' / 1000) 2.4 ×1000
[0083] In step 41, processing module 30 obtains an SDR image, called the current SDR image.
[0084] In step 42, processing module 30 obtains a gain function G(), referred to as the initial gain function G(), of the ITM function of Equation 4. Once obtained, the gain function G() makes it possible to obtain an ITM curve from the ITM function of Equation 4.
[0085] Figures 5A, 5B, and 5C show three example ITM curves obtained from Equation 4 targeting a 1000 nit display. The SDR input is in the range [0...255] (which means that for non-8-bit images, it needs to be normalized within the range [0;255]), and the output is normalized within the range [0;1000]. The curve in Figure 5A shows that a maximum input value of 255 (corresponding to 100 nits) produces an output equal to 1000, corresponding to 1000 nits when linearized. The curve in Figure 5B shows a maximum value near 700, which corresponds to 425 nits when linearized, and the curve in Figure 5C shows a maximum value near 1200, which corresponds to 1550 nits when linearized.
[0086] The curve in Figure 5A does not produce clipped values, but can produce some dazzling effects if the input image contains large bright (quasi-white) areas. The curve in Figure 5B does not produce dazzling effects, whatever the input. The curve in Figure 5C can potentially produce a much more dazzling effect than the curve in Figure 5A if the input image contains large areas with high values (not just quasi-white areas).
[0087] In step 43, processing module 30 determines whether bright spot attenuation is required for the current SDR image. Bright spot attenuation consists in reducing the luminance of overly bright regions of an HDR image derived from the SDR image to a target extended luminance value BSTarget. Bright spot attenuation is applied if at least a predetermined percentage of the pixels of the current SDR image have luminance values higher than luminance value Y', where Y' is an extended value obtained by applying the inverse tone mapping function of Equation 4 to the luminance value Y', which, when linearized, is equal to the target extended luminance value BSTarget. Step 43 is described in detail in relation to Figures 6, 7, and 8. In other words, bright spot attenuation is applied if analysis of the current SDR image indicates that at least a percentage (P) of the pixels of the HDR image resulting from application of the first inverse tone mapping function to the current SDR image have extended luminance values, when linearized, higher than the target extended luminance value BSTarget.
[0088] If no bright spot attenuation is required for the current SDR image, step 43 is followed by step 44. During step 44, processing module 30 applies a first ITM function to the current SDR image to obtain an HDR image. The first ITM function is, for example, the ITM function of Equation 4 based on an initial gain function G().
[0089] Otherwise, the current SDR image requires bright spot attenuation, and step 43 is followed by step 45. During step 45, processing module 30 applies a second ITM function to the current SDR image to obtain an HDR image. The second ITM function corresponds, for example, to the ITM function of Equation 4, in which the initial gain function is replaced by the modified gain function Gbs(). Embodiments of obtaining and applying the modified gain function Gbs() are described in detail in relation to FIGS. 6A, 7, 8, and 9A, 6B, 9B, 10, 11A, 11B, 12A, 12B, 13A, 13B, and 14.
[0090] FIG. 6A shows a schematic diagram of a first embodiment of the step of determining whether the current SDR image requires bright spot attenuation during the ITM process.
[0091] The process of FIG. 6A corresponds to a first embodiment of step 43 of FIG.
[0092] In step 430, the processing module 30 calculates a first threshold value TH1, which is the gammadized luminance value Y SDR ', where a predetermined percentage P of the pixels of the current SDR image have luminance values that are greater than or equal to this threshold luminance value TH1. The calculation of the first threshold TH1 is described in more detail below in connection with FIG.
[0093] In step 431, the processing module 30 calculates a second threshold value TH2, which is the linearized value of the extended luminance value Y HDR The last gammadized luminance value Y' that is less than or equal to the target extended luminance value BSTarget SDR '(Y SDR In other words, the second threshold TH2 corresponds to the Y HDR '≦BSTarget' and (Y+1) HDR Validate '>BSTarget', where 'BSTarget' is a gammadized version of BSTarget. Details of the calculation of the second threshold TH2 are described below in conjunction with FIG.
[0094] In step 432, processing module 30 compares the first threshold TH1 with the second threshold TH2. If TH1>TH2, processing module 30 determines in step 433 that the current SDR image requires bright spot attenuation during the ITM process. Otherwise, processing module 30 determines in step 434 that the current SDR image does not require bright spot attenuation during the ITM process.
[0095] 7 is a schematic diagram showing how to determine the first threshold value TH1. The method in FIG. 7 corresponds to step 430 in FIG.
[0096] In step 4301, the processing module 30 initializes the value Psum. Psum is the result of multiplying the percentage P (represented as a value between 0 and 1) defined above by the total number of pixels in the current SDR image. The total number of pixels in the current SDR image is equal to the sum of all bins in the histogram Histo of the current SDR image.
[0097] [Number]
[0098] TH1 is the first value of Y (in the order of decreasing from "255" to 0), and in this case, SDR which is calculated as follows.
[0099] [Number] In step 4302, the processing module 30 initializes the variable k to "255" and initializes the variable sum to 0.
[0100] In step 4303, the processing module 30 compares the variable sum with the value Psum. If sum < Psum, step 4305 follows after step 4303. During step 4305, the processing module 30 increases the value of the variable sum by the value Histo[k] of the histogram Histo at position k.
[0101] sum = sum + Histo[k] sum = sum + Histo[k]
[0102] In step 4306, the processing module 30 decrements the variable k by one unit. Step 4303 follows after step 4306.
[0103] If sum ≥ Psum in step 4303, the processing module 30 sets the value of the first threshold TH1 to the value of the variable k.
[0104] FIG. 8 shows a schematic diagram of how the second threshold value TH2 is determined.
[0105] The method of FIG. 8 corresponds to step 431 of FIG.
[0106] In step 4310, the processing module 30 initializes a variable k to zero.
[0107] In step 4312, the processing module 30 sets the variable Kexp to the value k G(k) Set to. Kexp=k G(k)
[0108] In step 4313, the processing module 30 compares the variable Kexp with the gamma-modified target expanded luminance value BSTarget'.
[0109] If Kexp≦BSTarget′, the processing module 30 increments the variable k by one unit in step 4314. Step 4314 is followed by step 4312.
[0110] Otherwise, if Kexp>BSTarget', the processing module 30 sets the value of the second threshold TH2 to the value of the variable k-1.
[0111] FIG. 9A illustrates a first embodiment of the step of calculating and applying an ITM function based on a modified gain function.
[0112] The process of FIG. 9A corresponds to a first embodiment of step 45 of FIG.
[0113] EP 3503019 A1 proposes the following modified gain function Gbs() to perform bright spot attenuation: Gbs(Y')=G(Y')-hlCoef * (Y' / 255) γ (Formula 5) Here, the preferred value for γ is 6. hlCoef is the attenuation intensity coefficient used to control the intensity of the bright spot attenuation during the ITM process. As can be seen, the modified gain function Gbs() adjusts the gain G(Y') provided by the initial gain function G() to the attenuation function hlCoef * (Y' / 255) γ The decay function is an increasing function of the luminance values Y' weighted by a decay strength coefficient hlCoef that controls the strength of the spot decay.
[0114] In a first embodiment of step 45, the processing module 30 calculates the attenuation intensity coefficient hlCoef as follows:
[0115]
number
[0116] In step 453, the processing module applies an ITM function based on the modified gain function Gbs() to the current SDR image. The modified gain function Gbs() is obtained using the attenuation intensity coefficient hlCoef obtained in step 451 of equation (5). The ITM function is, for example, the ITM function of equation (4) as follows:
[0117]
number
[0118] Figure 11A is a graphical representation of the gain function G(). Applying the gain function of Figure 11A to an input image with luminance values between 0 and 255 results in the curve of extended luminance values (i.e., the ITM curve) shown in relation to Figure 11B.
[0119] Figure 12A compares a graphical representation of the gain function G() with a modified gain function Gbs() (represented by a dashed line) that allows for bright spot attenuation to be performed. Figure 12B compares the resulting curve of extended brightness values with the gain function G() and the modified gain function Gbs() (also in dashed lines).
[0120] As shown, the initial gain function G() can be used to obtain extended luminance values above 1000 nits, but applying the modified gain function Gbs() ensures that the extended luminance values do not exceed the 1000 nit limit.
[0121] It can be noticed that even though the attenuation intensity factor hlCoef is calculated only for one luminance value (ie for TH1), the attenuation intensity factor hlCoef is valid for all possible luminance values.
[0122] It can also be noticed that if TH1 had a different value, the attenuation intensity coefficient hlCoef would have been different as well as the modified gain function Gbs(). This means that the modified gain function Gbs() that allows for bright spot attenuation is somewhat adaptive, but not enough to prevent flickering or drastic overall brightness changes.
[0123] It can also be noticed that the closer the first threshold TH1 is to the second threshold TH2, the less bright areas the modified gain function Gbs() allows to attenuate compared to the initial gain function G(). This is because the attenuation intensity coefficient is calculated at the threshold TH1, not at the highest brightness value Y' in the histogram Histo[]. This can lead to situations where bright points are not attenuated and high brightness values are clipped as a result.
[0124] As mentioned above, the attenuation intensity coefficient hlCoef is calculated at a threshold value TH1. Thus, the calculated attenuation intensity coefficient hlCoef is valid when the majority of pixels, represented by the percentage P, have brightness values located around TH1. However, if the majority of these pixels correspond to higher brightness values (i.e., >TH1 or even >>TH1), the calculated attenuation intensity coefficient hlCoef does not adequately represent these pixels.
[0125] Furthermore, it is interesting to introduce a smooth transition zone between the "attenuated" and "unattenuated" states, which can prevent flickering when passing alternately from an SDR image requiring spot attenuation to an image not requiring spot attenuation (which can occur if the proportion of pixels with a luminance value equal to "255" instead exceeds the percentage P and the other luminance values Y' in the histogram histo[] do not represent a significant enough number of pixels to trigger spot attenuation).
[0126] A second embodiment of steps 43 and 45 will now be described with reference to Figures 6B, 10 and 9B, which may reduce the occurrence of flicker by introducing a smooth transition zone between the "attenuated" and "unattenuated" states.
[0127] FIG. 6B illustrates a second embodiment of the step of determining whether the current SDR image requires bright spot attenuation during the ITM process.
[0128] The process of FIG. 6B corresponds to a second embodiment of step 43 of FIG.
[0129] In step 430', the processing module 30 calculates the first threshold value TH1 as described in relation to step 430.
[0130] In step 431', the processing module 30 calculates the attenuation intensity coefficient hlCoef implementing the method described below in connection with FIG.
[0131] In step 432', the processing module 30 determines whether the attenuation intensity coefficient hlCoef is different from zero.
[0132] If hlCoef=0, the processing module 30 considers that no bright spot attenuation is necessary, in which case the processing module 30 applies a step 433' identical to step 433.
[0133] If hlCoef≠0, processing module 30 considers that the current SDR image requires bright spot attenuation during the ITM process. In that case, processing module 30 applies step 434′, which is identical to step 434.
[0134] FIG. 9B illustrates a second embodiment of applying an ITM function based on a modified gain function.
[0135] In step 453', the processing module applies an ITM function based on a modified gain function Gbs() to the current SDR image. The modified gain function Gbs() is obtained using the attenuation intensity coefficient hlCoef obtained in step 431' of equation (5). The ITM function is, for example, the ITM function of equation (4) as follows:
[0136]
number
[0137] FIG. 10 shows a schematic diagram of a method for calculating the attenuation intensity coefficient hlCoef used to calculate the modified gain function.
[0138] The method of FIG. 10 corresponds to step 431' of FIG. 6B.
[0139] In step 431A, the processing module 30 initializes the following: ● When the variable k is less than "255", k is changed from "255" to TH1, ● Set the variable SumOfHiBins to 0, ● Attenuation strength coefficient hlCoef to 0, ● Decrement from γ to 6.
[0140] In step 431B, the processing module compares the variable k with a first threshold value TH1.
[0141] If k≧TH1, step 431B is followed by step 431C. During step 431C, the processing module 30 increments the variable SumOfHiBins of the values of the histogram histo[k].
[0142] In step 431D, the variable alpha is set to sumOfHiBins / Psum. alpha=sumOfHiBins / Psum
[0143] As a reminder:
[0144]
number
[0145] In step 431E, if the variable alpha>1, then alpha is set to 1 in step 431F. Otherwise, the variable alpha is not changed. Steps 431E and 431F are followed by step 431G.
[0146] During a step 431G, an expansion value Kexp of k is calculated. Kexp=k G(k)
[0147] In step 431H, the expansion value Kexp is compared to the gamma-ized target expansion luminance value BSTarget'.
[0148] If Kexp≧BSTarget′, the processing module 30 calculates a new target expanded luminance value BSTarget′[k] during step 431I. BSTarget'[k]=(1-alpha) * Kexp+alpha * BSTarget'
[0149] As can be seen, the target luminance is redefined for each value of k in function of the expansion value Kexp and the gammadized expanded target luminance value BSTarget'. The smaller alpha is (i.e., the percentage of pixels with luminance values greater than or equal to k is low compared to the percentage P), the closer the new gammadized expanded target luminance value BSTarget'[k] is to the expansion value Kexp. The larger alpha is (i.e., the percentage of pixels with luminance values greater than or equal to k is high compared to the percentage P), the closer the new gammadized expanded target luminance value BSTarget'[k] is to the gammadized target luminance value BSTarget'.
[0150] In step 431J, the processing module 30 calculates a new attenuation intensity coefficient hlCoef[k] for the luminance value k.
[0151]
number
[0152] As can be seen, the higher the term log(BSTarget'[k]) / (log(k), the lower the decay intensity coefficient hlCoef[k]. Therefore, the maximum value for the decay intensity coefficient hlcoef[k] is obtained when BSTarget'[k] is equal to BStarget', and the minimum value for the decay intensity coefficient hlcoef[k] is obtained when BSTarget[k] is equal to the expansion value Kexp. In other words, the maximum value for the decay intensity coefficient hlCoef[k] is obtained when the proportion of pixels having values equal to or greater than k is high compared to the percentage P. The minimum value for the decay intensity coefficient hlCoef[k] is obtained when the proportion of pixels having values equal to or greater than k is low compared to the percentage P.
[0153] In step 431K, the processing module 30 determines whether the variable k is equal to "255". If the answer is no, step 431L follows step 431K. If the answer is yes, step 431M follows step 431K.
[0154] During step 431M, the processing module 30 sets the value of the attenuation intensity coefficient hlCoef to the value hlCoef[k], and sets the value hlCoefPos to the value k.
[0155] After step 431M, step 431N follows, and during step 431N, k is decremented by one unit of i.
[0156] During step 431L, the processing module 30 compares the value of hlCoef[k] with the current value of the attenuation intensity coefficient hlCoef.
[0157] [[ID=I5]] If hlCoef[k]>hlCoef, the processing module 30 executes step 431M. Otherwise, the processing module 30 executes step 431N.
[0158] As seen in steps 431K, 431L, and 431M, the attenuation intensity coefficient hlCoef[k] is compared with the last calculated value of the attenuation intensity coefficient hlCoef, and the maximum value is held and stored in hlCoef, similar to the corresponding value of k stored in the variable hlCoefPos. When k = 255, this comparison cannot be performed. In that specific case, hlCoef = hlCoef
[0255] , and hlCoefPos = 255. These iterations continue until TH1, but stop immediately when kexp < BSTarget’, which means that the extended value of k is not high enough to be attenuated.
[0159] After step 431N, step 431B follows.
[0160] If k < TH1 in step 431B or kexp < BSTarget’ in step 431H, the processing module 30 executes step 431O.
[0161] During step 431O, the processing module 30 determines whether the attenuation intensity coefficient hlCoef is equal to 0. hlCoef = 0 means that all the bins of the histogram histo larger than TH1 are empty (there are no pixels with luminance values larger than TH1 in the current SDR image). If yes, the processing module 30 sets the value of hlCoef to TH1. The method of FIG. 10 ends at step 431Q. If the attenuation intensity coefficient hlCoef is different from 0, step 431Q follows immediately after step 431O.
[0162] The test of step 432’ (hlCoef≠0) is equivalent to checking whether the extended luminance value obtained by applying the inverse tone mapping function of Equation 4, which is higher than the target extended luminance value BSTarget, to at least one pixel of the current image having a luminance value Y’ equal to at least TH1 when the pixel is linearized. In fact, hlCoef being equal to 0 after the execution of the method of FIG. 10 means that the processing module 30 could not find at least one pixel of the current SDR image having an extended luminance value higher than BSTarget’. This test is actually performed for each luminance value k when browsing the histogram in descending order from “255” to TH1, during steps 431B and 431H. It can be noticed that the test of step 431H is equivalent to the test of k < TH2.
[0163] In the method of FIG. 10, a new value hlcoef[k] is calculated as soon as a luminance value k is found in the histogram histo that has an extended luminance value kexp that is equal to or greater than the gamma-scaled target extended luminance value BSTarget'. Setting this new value hlcoef[k] higher than hlCoef reveals that the attenuation strength coefficient hlCoef previously calculated for previous luminance values in the histogram histo is not sufficient to efficiently attenuate the bright regions of the current SDR image during the ITM process. Indeed, in that case, processing module 30 determines that the bright region contains more pixels than determined for the previous value of luminance k. A stronger attenuation is needed, prompting replacement of the current value of hlCoef by hlCoef[k]. One advantage of the method of FIG. 10 is that if a small bright region appears in an image and continues to expand in subsequent images, this bright region is increasingly attenuated from image to image until it contains a percentage of pixels equal to (or just above) the percentage P (i.e., when sumOfHiBins is higher than Psum). Thus, a smooth transition between the "attenuated" and "unattenuated" states is obtained. If this bright area contains a proportion of pixels equal to percentage P, its expansion value is set to BSTarget'. This is not the case in EP 3 503 019 A1, where the expansion value is suddenly attenuated, which can cause a flickering effect in the video sequence.
[0164] In one example, assume BSTarget'=862 and consider the increasingly bright region at k=250, but there are no other bins in the histogram up to TH2 (i.e., the extended value of TH2 is BSTarget'). Then, one implementation of the method of FIG. 10 is as follows: ●Percentage of pixels in bright areas = 0 → alpha = 0 → BSTarget'[Y'] = Yexp' = 250 1.254 =1016→hlCoef=0; Percentage of pixels in bright areas = 0.25 * Psum→alpha=0.25→BSTarget'[Y']=0.25 *862+0.75 * 1016=977→Gbs(Y')=log(977) / log(250)=1.247→hlCoef=0.0079; Percentage of pixels in bright areas = 0.5 * Psum→alpha=0.5→BSTarget'[Y']=0.5 * 862+0.5 * 1016=939→Gbs(Y')=log(939) / log(250)=1.240→hlCoef=0.0158; Percentage of pixels in bright areas = 0.75 * Psum→alpha=0.75→BSTarget'[Y']=0.75 * 862+0.25 * 1016=900→Gbs(Y')=log(900) / log(250)=1.232→hlCoef=0.0248; ● Proportion of pixels in bright areas>Psum→alpha=1→BSTarget'[Y']=862→Gbs(Y')=log(862) / log(250)=1.224→hlCoef=0.0338; As can be seen, the attenuation intensity coefficient hlCoef increases with the percentage of pixels in the bright area (up to the value in EP 3503019 A1), thus resulting in a smooth increase in the bright spot attenuation.
[0165] Another advantage of the method of Figure 10 is that the damping intensity coefficient hlCoef stored in the loop is the largest damping intensity coefficient calculated during a complete iteration. This means that if 75% of Psum is at "250" (G=1.254 in this example) and 25% of Psum is at "240" (G=1.239 in this example), or if 25% of Psum is at "250" and 75% of Psum is at "240", the final damping intensity value hlCoef will not be the same. In the first case, At Y'=250, the percentage of pixels in the bright area is 0.75 * Psum→alpha=0.75→BSTarget'
[0250] =0.75 * 862+0.25 *1016=900→Gbs(250)=log(900) / log(250)=1.232→hlCoef
[0250] =0.0248; At Y'=240, the percentage of pixels in the bright area is 0.75 * Psum+0.25 * Psum=Psum→BSTarget'
[0240] =862→Gbs(240)=log(862) / log(240)=1.233→hlCoef
[0240] =0.0086; ●→Select hlCoef for Y'=250:hlCoef=0.0248; In the second case, At Y'=250, the percentage of pixels in the bright area is 0.25 * Psum→alpha=0.25→BSTarget'[Y']=0.25 * 862+0.75 * 1016=977→Gbs(Y')=log(977) / log(250)=1.247→hlCoef=0.0079; At Y'=240, the percentage of pixels in the bright area is 0.25 * Psum+0.75 * Psum=Psum→BSTarget'
[0240] =862→Gbs(240)=log(862) / log(240)=1.233→hlCoef
[0240] =0.0086; ●→Select hlCoef for Y'=240:hlCoef=0.0086; That is, the amount of spot attenuation (i.e. the value of the attenuation intensity coefficient hlCoef) depends on the statistical distribution of the pixel brightness values in the histogram histo of TH1 and 255. At each iteration, the number of pixels corresponding to the current value of k is added to sumOfHiBins, the maximum value of hlCoef[k] is stored, and the method keeps a "memory" of what happened with respect to previous values of k (with respect to previous bins of the histogram histo).
[0166] In one embodiment, when the ITM curve is adapted to be very high beyond the maximum approved consumption luminance value Lmax (e.g., Lmax = 1000 nit), if kexp > Lmax, alpha is alpha Lmax / kexp is replaced by
[0167] In one embodiment, when adapted to allow for some specular (e.g., empty stars, sparks, or any kind of very small bright object), alpha is calculated as follows alpha=(SumOfHiBins - specularPassThrough) / (Psum - specularPassThrough)
[0168] specularPassThrough is a part of Psum and is equal to, for example, 20%. Next, at value k, if SumOfHiBins < specularPassThrough, alpha becomes negative and is set to 0. In this case, BSTarget[k] is equal to Kexp, and thus the attenuation intensity coefficient hlCoef is equal to 0. As long as sumOfHiBins is lower than specularPassThrough, the hotspot attenuation is not applied. specularPassThrough = 0 enables searching for the embodiment of FIG. 10
[0169] As described above, the method of FIG. 4, thanks to the method for calculating the attenuation intensity coefficient hlCoef, enables reducing the flickering effect in the video sequence to which the ITM process is applied. In one embodiment, additional improvement is obtained by introducing temporal filtering into the method of FIG. 4. In this embodiment, the histogram histo is used to detect scene cuts within the video sequence by measuring the distance between the histograms of two consecutive images. As described above, the attenuation intensity coefficient hlCoef is used to calculate the modified gain function Gbs() for application to the current SDR image using Equation 5 Gbs(Y’) = G(Y’) - hlCoef‘ * (Y’ / 255) γ
[0170] The above equation can be written as follows: G(Y')-hlCoef[hlCoefPos] * (Y' / 255) γ
[0171] If a scene cut is detected in the current SDR image, processing module 30 stores hlCoef and hlCoefPos in variables hlCoefRec and hlCoefPosRec, respectively.
[0172] If no scene cut is detected in the current SDR image, processing module 30 stores hlCoef and hlCoefPos in variables hlCoefCur and hlCoefPosCur, respectively. Processing module 30 then blends hlCoefCur (respectively hlCoefPosCur) to hlCoefRec (respectively hlCoefPosRec) calculated on the SDR images preceding the current SDR image and after the SDR image where the last scene cut was detected to generate a new value for hlCoefRec (respectively hlCoefPosRec). Depending on the relative values of hlCoefCur and hlCoefRec, the blending process can take two forms: 1. hlCoefCur≧hlCoefRec: In this situation, more spot attenuation must be applied to the current SDR image. If hlCoefRec=0 (no spot attenuation has been applied to the SDR images preceding the current SDR image until the last scene cut), then hlCoefPosRec=hlCoefPosCur. If hlCoefRec≠0 (some spot attenuation has been applied to the SDR image preceding the current SDR image until the last scene cut), then hlCoefPosRec=hlCoefPosCur * bsAttack+hlCoefPosRec * (1-bsAttack). In both cases, hlCoefRec=hlCoefCur* bsAttack + hlCoefRec * (1 - bsAttack). bsAttack is a weighting factor between 0 and 1. The closer bsAttack is to 1, the greater the influence of the new values of hlCoef and hlCoefPos. In one example, bsAttack is set to 0.05 at 25 frames per second to obtain a smoothing effect in bright regions. 2. hlCoefCur < hlCoefRec: In this situation, the decay of the highlight points that must be applied to the current SDR image is reduced. hlCoefRec = hlCoefCur * bsRelease + hlCoefRec * (1 - bsRelease). When hlCoefCur ≠ 0: hlCoefPosRec = hlCoefPosCur * bsRelease + hlCoefPosRec<老实说,我不太明确你提供的文本中“ * ”之后的内容是否完整准确,因为你提供的原始文本似乎在这里有一些格式上的不清晰。我先按照你提供的内容继续翻译。如果你发现翻译有问题,请随时告诉我。 (1 - bsRelease). bsRelease is a value between 0 and 1. The closer bsRelease is to 1, the greater the influence of the new values of hlCoef and hlCoefPos. In one example, bsRelease = 0.05 at 25 frames per second to have a smoothing effect in bright regions.
[0173] In embodiments involving temporal filtering, hlCoefRec replaces hlCoef of Equation 5 to enable the calculation of Gbs().
[0174] The monotonicity of the ITM function is an important property. In some cases, the use of the modified gain function Gbs() can prevent the ITM function from becoming monotonic. The loss of monotonicity can occur for very high values of the decay gain coefficient hlCoef and / or γ, when the extended target luminance value BSTarget is very low, or when the original ITM curve is very high. Two different cases can occur, namely, the case where the curve is not monotonic at the maximum luminance value Y’, or the case where the curve loses monotonicity at some intermediate luminance value Y’ and recovers at a higher luminance value Y’.
[0175] FIG. 13A shows a typical field case where the ITM curve (dashed line) is not monotonic.
[0176] In FIG. 13A, the first solid curve represents the ITM curve without bright spot decay, and the second dashed curve represents the result of decaying the first curve, resulting in a non-monotonic curve.
[0177] In this example, both hlCoef and γ, especially γ, have very high values: hlCoef=0.07 and γ=12.
[0178] If hlCoefPos is equal to "255", this means that hlCoef was calculated at luminance value Y'=255, and processing module 30 only needs to decrease γ to search for monotonicity (the value of Yexp' does not change when γ changes for Y'=255). For example, using γ=9, the dashed expansion curve is monotonic again.
[0179] FIG. 13B shows a correction of the ITM curve that makes it possible to ensure the monotonicity of the ITM curve.
[0180] In Figure 13B, the first curve is identical to the first curve in Figure 13A. The dashed curve is the result of modifying the parameter γ in the ITM function, which makes it possible to obtain the second curve in Figure 13A.
[0181] If hlCoefPos≠255, the processing module 30 needs to modify both hlCoef and γ to search for monotonicity while maintaining the same Yexp' value in hlCoefPos. For example, if hlCoefPos=243 and Yexp'=748, the processing module needs to reduce γ and hlCoef to find monotonicity. This can be done recursively. For example, with hlCoef=0.063 and γ=9.8, the curve is again monotonic while Yexp' remains the same (Yexp'=748).
[0182] In one embodiment, the process of Figure 9B is complemented by optional step 452. During step 452, the ITM curve obtained when using bright spot attenuation is tested for monotonicity, and a correction is applied to the ITM curve, if necessary, to ensure the monotonicity of the ITM curve.
[0183] FIG. 14 represents schematically a method that makes it possible to guarantee the monotonicity of the ITM curve.
[0184] In step 4521, the processing module 30 determines whether the ITM curve obtained by introducing the modified gain function Gbs() into Equation 4 is monotonic. The ITM curve is monotonic if Yexp(k)≦Yexp(k+1) for any k between 0 and 254.
[0185] If the ITM curve is monotonic, then in step 4525 no correction is applied to the ITM function.
[0186] If the ITM function is not monotonic, processing module 30 determines whether hlCoefPos=255 in step 4522. If yes, processing module 30 changes only γ, e.g., γ is recursively decreased until the ITM function becomes monotonic.
[0187] If hlCoefPos≠255, processing module 30 modifies hlCoef and γ to ensure monotonicity of the ITM curve while maintaining the same expanded luminance value Yexp′ at luminance value Y′=hlCoefPos, which can alternatively be done by applying a recursive process of reducing hlCoef and γ.
[0188] Several embodiments have been described above. The features of these embodiments may be provided alone or in any combination. Furthermore, the embodiments may include one or more of the following features, devices, or aspects, alone or in combination, across various claim categories and types: A television, set-top box, mobile phone, tablet, or other electronic device that executes at least one of the described embodiments. ●A television, set-top box, mobile phone, tablet, or other electronic device that performs at least one of the described embodiments and displays the resulting image (e.g., using a monitor, screen, or other type of display). ●A television, set-top box, mobile phone, tablet, or other electronic device that tunes to a channel (e.g., using a tuner) to receive a signal including an encoded video stream and performs at least one of the described embodiments. ●A television, set-top box, mobile phone, tablet, or other electronic device that receives a signal containing an encoded video stream wirelessly (e.g., using an antenna) and performs at least one of the described embodiments.
Claims
1. 1. A method for inverse tone mapping, comprising: A step of acquiring a current image (41); obtaining (42) an initial gain function of a first inverse tone mapping function; Obtaining a target brightness value (TH1); applying (45, 453) a second inverse tone mapping function to the current image in response to at least one pixel of the current image having a luminance value equal to or greater than the target luminance value (TH1) having an extended value higher than a target extended luminance value (BSTarget') resulting from application of the first inverse tone mapping function to the current image (43), wherein the second inverse tone mapping function corresponds to the first inverse tone mapping function with the gain function replaced by a modified gain function; wherein the modified gain function is a function derived from the initial gain function in which the gain given by the initial gain function is attenuated by a decay function, the decay function being an increasing function of luminance values weighted by a weighting factor (h1Coef) that controls the strength of the attenuation, the weighting factor depending on the statistical distribution of luminance values in a histogram of the current image between a maximum luminance value and the target luminance value (TH1). method.
2. viewing the histogram in descending order of luminance value from the maximum luminance value; calculating (431J) a middle weighting factor (hlCoef[k]) for each viewed luminance value when a result of applying the first inverse tone mapping function (431G) to the viewed luminance value is greater than or equal to the target extended luminance value (BSTarget') while the viewed luminance value is greater than or equal to the target luminance value (TH1); and setting the value of said weighting factor (hlCoef) to a value corresponding to the maximum value of said calculated intermediate weighting factors (431M); The method of claim 1 , comprising:
3. 3. The method of claim 2, wherein the intermediate weighting coefficient depends on an intermediate extended target luminance value, which is a weighted sum (431I) between the extended target luminance value and the result (431G) of applying the first inverse tone mapping function to the viewed luminance value, and each weight of the weighted sum depends on a value representing the proportion of pixels (alpha) of the current image having a luminance value higher than the viewed luminance value.
4. 4. The method of claim 3, wherein the value representing the percentage of pixels (alpha) of the current image having a luminance value higher than the viewed luminance value also depends on a maximum authorized consumption luminance value.
5. 4. The method of claim 3, further comprising applying the first inverse tone mapping function to the current image if the number of pixels (SumOfHiBins) in the current image having a luminance value higher than the viewed luminance value is lower than a predetermined number of pixels.
6. 2. The method of claim 1, wherein the current image belongs to a video sequence, the method comprising detecting a scene cut within the current video sequence, the weighting factor controlling the strength of the attenuation also depending on at least one other weighting factor controlling the strength of the attenuation calculated for another image of the video sequence preceding the current image, and no scene cut has been detected between the current image and the other image.
7. 2. The method of claim 1, further comprising: verifying monotonicity of a first inverse tone mapping curve obtained using the second inverse tone mapping function; and, if the first inverse tone mapping curve is not monotonic, modifying at least one parameter of the second inverse tone mapping function to obtain a monotonic second inverse tone mapping curve.
8. The method of claim 1 , wherein the target luminance value depends on a predetermined percentage (P) of the pixels of the current image.
9. 1. A device for inverse tone mapping, comprising: Get the current image (41); obtaining (42) an initial gain function of the first inverse tone mapping function; Obtain a target brightness value (TH1), applying a second inverse tone mapping function to the current image (45, 453) in response to at least one pixel of the current image having a luminance value equal to or greater than the target luminance value (TH1) having an extended luminance value higher than a target extended luminance value (BSTarget') resulting from application of the first inverse tone mapping function to the current image (43); an electronic circuit adapted to the second inverse tone mapping function corresponds to the first inverse tone mapping function in which the gain function is replaced by a modified gain function, the modified gain function being a function derived from the initial gain function in which the gain given by the initial gain function is attenuated by a decay function, the decay function being an increasing function of luminance values weighted by a weighting factor (h1Coef) that controls the strength of the attenuation, the weighting factor depending on the statistical distribution of luminance values in a histogram of the current image between a maximum luminance value and the target luminance value (TH1); device.
10. The electronic circuit viewing the histogram in descending order of brightness value from the maximum brightness value; calculating (431J) a middle weighting factor (hlCoef[k]) for each of the viewed luminance values when a result of applying the first inverse tone mapping function (431G) to the viewed luminance values is greater than or equal to the target luminance value (BSTarget'), while the viewed luminance values are greater than or equal to the target luminance value (TH1); and setting the value of the weighting factor (hlCoef) to a value corresponding to the maximum value of the calculated intermediate weighting factors (431M); 10. The device of claim 9, also adapted to:
11. 11. The device of claim 10, wherein the intermediate weighting coefficient depends on an intermediate extended target luminance value, which is a weighted sum (431I) between the extended target luminance value and the result (431G) of applying the first inverse tone mapping function to the viewed luminance value, and each weight of the weighted sum depends on a value representing the proportion of pixels (alpha) of the current image having a luminance value higher than the viewed luminance value.
12. The method of claim 11 , wherein the value representing the percentage of pixels (alpha) of the current image having a luminance value higher than the viewed luminance value also depends on a maximum authorized consumption luminance value.
13. The device of claim 11 , further comprising applying the first inverse tone mapping function to the current image if a number of pixels (SumOfHiBins) in the current image having a luminance value higher than the viewed luminance value is lower than a predetermined number of pixels.
14. 10. The device of claim 9, wherein the current image belongs to a video sequence, the electronic circuit is also adapted to detect a scene cut within the current video sequence, and the weighting factor controls the strength of the attenuation also in dependence on at least one other weighting factor that controls the strength of the attenuation calculated for another image of the video sequence preceding the current image, and no scene cut has been detected between the current image and the other image.
15. 10. The device of claim 9, further comprising: verifying monotonicity of a first inverse tone mapping curve obtained using the second inverse tone mapping function; and if the first inverse tone mapping curve is not monotonic, modifying at least one parameter of the second inverse tone mapping function to obtain a monotonic second inverse tone mapping curve.
16. The device of claim 9 , wherein the target luminance value depends on a predetermined percentage (P) of the pixels of the current image.
17. An apparatus comprising the device of claim 9.
18. Non-transitory information storage means for storing program code instructions for implementing the method of any one of claims 1 to 8.
Citation Information
Patent Citations
Improved inverse tone mapping method and corresponding device
EP3503019A1
High dynamic range, visual dynamic range, and wide color gamut video tiered compression
JP2012520619A
Method and device for inverse tone mapping
JP2018110373A
Method for tone-adapting image to target peak luminance of target display device
JP2019008789A
Method and device for inverse tone mapping
US20180115742A1