Tone mapping with configurable hdr and sdr diffuse white levels
The method addresses the restriction of fixed diffuse white in HDR production by calculating a flexible tone mapping curve, enhancing artistic freedom and image quality in HDR to SDR conversion.
Patent Information
- Application Number
- TW111140848
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-11-08
- Filing Date
- 2022-10-27
- Publication Date
- 2026-07-11
- Estimated Expiration
- 2042-10-26
AI Technical Summary
Current HDR production methods restrict artistic freedom due to fixed limitations on diffuse white, leading to suboptimal HDR content creation and conversion to SDR, which results in unattractive images.
A method and apparatus for generating SDR from HDR video by calculating a flexible tone mapping curve, allowing dynamic adjustment of HDR diffuse white, comprising a first tone mapping curve and a second curve, which can be straight or parabolic, to enhance artistic freedom and improve image quality.
Enables more appealing HDR content creation with greater flexibility and artistic control, overcoming the limitations of fixed diffuse white constraints, resulting in improved image brightness distribution and detail preservation.
Smart Images

Figure IMG-2_DRAW_111140848-A0304-14-0001-1 
Figure IMG-2_DRAW_111140848-A0304-14-0002-2 
Figure IMG-2_DRAW_111140848-A0304-14-0003-3
Abstract
Description
Technical Field
[0001] At least one of these embodiments is generally related to a method and apparatus for generating a standard dynamic range (SDR) video from a high dynamic range (HDR) video, and more specifically to a method and apparatus for defining a tone mapping curve. Prior Technology
[0002] Recent advances in display technology have enabled the display of extended dynamic range colors, brightness, and contrast in images. The term "image" here refers to image content, such as video, still images, or photographs.
[0003] High Dynamic Range (HDR) video consists of video that has an extended dynamic range compared to Standard Dynamic Range (SDR) video. HDR video is captured by HDR capture devices and displayed by display devices, and it can have brighter whites and deeper blacks. To accommodate this, the coding standards that enable HDR allow for higher maximum brightness and use at least 10 bits of dynamic range (compared to the maximum of 8 bits (sometimes 10 bits) used for non-professional SDR (sometimes professional SDR) video) to maintain adapted accuracy across this extended range.
[0004] HDR production is a new field and will involve a transitional phase during which HDR and SDR content will coexist. During this coexistence phase, the same live content will be generated simultaneously in both HDR and SDR versions. Users can then choose to display either the HDR or SDR version of the content based on their preferences or capabilities.
[0005] Current trends in the content production industry: First, create HDR content and then use automated tools to automatically extract SDR content from the HDR content; and... Second, a controlled and safe method should be used for HDR production to avoid delivering substandard HDR content to users, which could be counterproductive to the HDR technology.
[0006] In this regard, the ITU-R document "Report ITU-R BT.2408-3, Guidance for operational practices in HDR television production, 07 / 2019" has introduced some recommendations, hereinafter referred to as the BT.2408-3 report. One important recommendation introduced in the BT.2408-3 report is the limitation on HDR, setting diffuse white to a fixed value equal to "203" nits. This limitation allows the use of fixed 3D-LUTs (lookup tables) to implement SDR to HDR conversion (i.e., Inverse Tone Mapping (ITM)) and HDR to SDR conversion (Tone Mapping (TM)).
[0007] Setting the HDR diffuse whites to a fixed value of "203" nits is a strong constraint for content creators. In fact, due to these limitations, HDR cameras are not used to their full potential, and cinematographers / directors are severely restricted in their choices / artistic intentions.
[0008] The aim is to overcome the aforementioned shortcomings.
[0009] In particular, there is a desire to propose a system that allows for greater flexibility and artistic freedom in the production of HDR / SDR content. Summary of the Invention
[0010] In one first embodiment, one or more of these embodiments provide a method comprising: obtaining high dynamic range data; calculating a first tone mapping curve from the high dynamic range data corresponding to low high dynamic range values of a combined tone mapping curve, the first tone mapping curve ending at a point referred to as a first point, the first point having an abscissa representing a high dynamic range diffuse white and a ordinate representing a standard dynamic range diffuse white, the combined tone mapping curve allowing standard dynamic range data to be obtained from the high dynamic range data; and completing the combined tone mapping curve with a second tone mapping curve for a high standard dynamic range starting from the first point.
[0011] In one embodiment, the second tone mapping curve is a straight line.
[0012] In one embodiment, the second tone mapping curve comprises a parabola.
[0013] In one embodiment, the method further includes using the combined tone mapping curve to compute the standard dynamic range data from the high dynamic range data.
[0014] In one embodiment, the method includes estimating subsequent data representing the combined tone mapping curve.
[0015] In one embodiment, calculating the first tone mapping curve includes: obtaining an intermediate tone mapping curve from the high dynamic range data, wherein a non-linear luminance value of the high dynamic range data smaller than the high dynamic range diffuse white is mapped to a non-linear luminance value of the standard dynamic range data; rescaling the horizontal axis of the intermediate tone mapping curve from a range of luminance values of the high dynamic range data between zero and the high dynamic range diffuse white to a range of luminance values of the high dynamic range data between zero and one of the maximum luminance values of the high dynamic range data; and mapping the vertical axis of the intermediate tone mapping curve to a range of luminance values of the standard dynamic range data between zero and a value depending on the standard dynamic range diffuse white, to obtain the first tone mapping curve.
[0016] In one embodiment, prior to the mapping, the ordinate of the intermediate tone mapping curve is transformed in a perceptually uniform domain, wherein the transformed ordinate value is between zero and a maximum ordinate value corresponding to one of the maximum luminance values of the standard dynamic range data.
[0017] In a second embodiment, one or more of these embodiments provide an apparatus comprising an electronic circuit system configured to: obtain high dynamic range data; compute a first tone mapping curve from the high dynamic range data corresponding to low and high dynamic range values of a combined tone mapping curve, the first tone mapping curve ending at a point called a first point having an abscissa representing a high dynamic range diffuse white and a ordinate representing a standard dynamic range diffuse white, the combined tone mapping curve allowing standard dynamic range data to be obtained from the high dynamic range data; and complete the combined tone mapping curve with a second tone mapping curve for a high standard dynamic range starting from the first point.
[0018] In one embodiment, the second curve is a straight line.
[0019] In one embodiment, the second curve comprises a parabola.
[0020] In one embodiment, the electronic circuitry is further configured to use the combined tone mapping curve to compute the standard dynamic range data from the high dynamic range data.
[0021] In one embodiment, the electronic circuitry is further configured to estimate subsequent data representing the combined tone mapping curve.
[0022] In one embodiment, calculating the first tone mapping curve includes: A midtone mapping curve is obtained from the high dynamic range data, wherein a nonlinear luminance value of the high dynamic range data smaller than the high dynamic range diffuse white is mapped to a nonlinear luminance value of the standard dynamic range data; the horizontal axis of the midtone mapping curve is rescaled from a range of luminance values of the high dynamic range data between zero and the high dynamic range diffuse white to a range of luminance values of the high dynamic range data between zero and one of the maximum luminance values of the high dynamic range data; and the vertical axis of the midtone mapping curve is mapped to a range of luminance values of the standard dynamic range data between zero and a value depending on the standard dynamic range diffuse white, to obtain the first tone mapping curve.
[0023] In one embodiment, the ordinate of the intermediate tone mapping curve is transformed in a perceptually uniform domain, wherein before the mapping, the transformed ordinate value is between zero and a maximum ordinate value corresponding to one of the maximum luminance values of the standard dynamic range data.
[0024] In a third state, one or more of these embodiments provide a signal generated by the method of the first state or by the device of the second state.
[0025] In a fourth state, one or more of these embodiments provide a computer program that includes code instructions for implementing the method according to the first state.
[0026] In a fifth state, one or more of these embodiments provide a non-transitory information storage medium that stores code instructions for implementing the method according to the first state. Simple Explanation of the Diagram
[0027] [Figure 1A] illustrates the scale displaying the brightness values of diffuse white; [Figure 1B] illustrates the scale division of luminance values when diffuse white is fixed at "203" nits; [Figure 2] schematically illustrates the context of various embodiments; [Figure 3A] schematically illustrates an example of the hardware architecture of a processing module capable of implementing various forms and embodiments; [Figure 3B] is a block diagram illustrating an example of a first system implementing various forms and embodiments; [Figure 3C] is a block diagram illustrating an example of a second system implementing various forms and embodiments; [Figure 4] illustrates examples of tone mapping curve construction methods in various embodiments; [Figure 5] provides an example of a tone mapping curve in the context of SL-HDR1; [Figure 6] illustrates the tone mapping curves obtained using the tone mapping curve construction method of SL-HDR1; [Figure 7] illustrates tone mapping curves obtained by tone mapping curve construction methods of various embodiments; [Figure 8] provides an example of a tone mapping lookup table; [Figure 9] illustrates the details of the rescaling procedure applied to the tone mapping lookup table. [Figure 10] provides an example of the shape of a tone mapping curve, which corresponds to the tone mapping lookup table of the transformation in the perceptual uniform domain; [Figure 11] provides an example of the shape of a tone mapping curve that corresponds to a rescaled tone mapping lookup table; [Figure 12] provides an example of a combined TM curve, which is obtained by combining a detailed TM curve with a reflection portion TM curve implemented using straight lines; [Figure 13] provides an example of a combined TM curve, which is obtained by combining a detailed TM curve with a reflection portion TM curve implemented using a parabola; and, [Figure 14] illustrates an example of a procedure used to determine brightness mapping variables. Implementation
[0028] As previously mentioned, the BT.2408-3 report makes several recommendations, particularly regarding the limitations of diffuse white. Diffuse white is defined in the BT.2408-3 report as "the white provided by a card that approximates a perfect reflecting diffuser, which is a spectral gray (not just thermally gray) by minimizing the spectral emphasis region and minimizing the spectral power absorptivity." A "perfect reflecting diffuser" is defined as "an ideal isotropic non-fluorescent diffuser having a spectral radiative factor equal to one at all wavelengths of interest."
[0029] In other words, diffuse white is a luminance level of a video signal, and its division is as follows: • Scenes with all the details correspond to a luminance level below diffuse white; • Speculars: Extremely bright pixels, roughly white, with very little detail, corresponding to a brightness level higher than the diffuse white level.
[0030] [picture] [1A] A scale showing the brightness values of diffuse white. As can be seen, diffuse white divides the set of all possible brightness values into two parts.
[0031] The concept of diffuse white is effective for both HDR and SDR signals.
[0032] The BT.2408-3 report specifies that HDR diffuse white is equal to "203" nits.
[0033] However, the "203" nit limit is only a suggestion, and many content creators do not agree with it.
[0034] In fact, this specification brings a major drawback: HDR content is limited. That is, for typical 1000 nits HDR content, only a small portion of the HDR brightness range [0; 203 nits] is dedicated to scene details, while the largest portion of the HDR brightness range [203; 1000 nits] is reserved for reflections that do not contribute to the details.
[0035] [picture] [1B] illustrates the scale division of luminance values when diffuse white is fixed at "203" nits.
[0036] One reason for this restriction is the need for controlled and "very safe" production of live HDR content. Furthermore, this restriction has the following advantages: The implementation of converting from HDR to SDR (i.e., tone mapping™) is simpler because an HDR diffuse white defined at "203" nits needs to be mapped to an SDR diffuse white that is roughly defined between 90% and 100% of the maximum SDR value (i.e., between 90 and 100 nits). Therefore, tone mapping can be implemented using a very basic static 3D-LUT. The implementation of converting from SDR to HDR (i.e., inverse tone mapping (ITM)) is also simpler for the same reason, and inverse tone mapping can also be implemented with very basic static 3D-LUTs.
[0037] However, the ratio between the brightness value assigned to the details of the scene and the brightness value assigned to the reflective portion caused by diffuse white at "203" nits results in an extremely dark and unattractive HDR image.
[0038] The following embodiments allow for overcoming these drawbacks by proposing a system that allows for greater flexibility and artistic freedom in HDR creation, and thus allows for the creation of more appealing HDR content: • Configurable and dynamic HDR diffuse white level for HDR to SDR (tone mapping); • Used for dynamic conversion from HDR to SDR (tone mapping).
[0039] Figure 2 illustrates the context of various implementations.
[0040] In Figure 2, for example, a source device 20 of an HDR camera generates HDR video and provides this HDR video to an encoding device 21. The encoding device applies a tone mapping (TM) process to the HDR video to generate SDR video. The SDR video is then encoded using a video compression standard, such as AVC (ISO / CEI 14496-10 / ITU-T H264), HEVC (ISO / IEC 23008-2 – MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265), VVC (ISO / IEC 23090-3 – MPEG-I, Multi-Functional Video Coding / ITU-T H.266), or any other video compression standard.
[0041] Encoding device 21 provides (via a communication network) a stream containing encoded SDR video to decoding device 22. Decoding device decodes the encoded SDR video and provides the decoded SDR video to display device 23. Display device 23 is capable of displaying the SDR video.
[0042] In another embodiment, decoding device 22 decodes the encoded SDR video and applies an inverse tone mapping (ITM) procedure to the decoded SDR video to generate HDR video. The generated HDR video is then provided to a display device 23 capable of displaying the HDR video. In this embodiment, for example, encoding device 21 provides post-processing data representing the TM curve along with the SDR data. This post-processing data helps guide the ITM procedure applied by decoding device 22.
[0043] [picture] [3A] A schematic illustration shows an example of the hardware architecture of the processing module 30, which is capable of implementing various programs executed by the encoding device 21 or the decoding device 22. For example, the processing module 30 is adapted to implement the programs described later with respect to FIG4. The processing module 30 includes, via a communication bus 305, a processor or CPU (Central Processing Unit) 300, which includes one or more microprocessors, general-purpose computers, special-purpose computers, and processors based on multi-core architectures, as a non-limiting example; a random access memory (RAM) 301; a read-only memory (ROM) 302; and 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), and static random access memory (DRAM). SRAM, flash memory, disk drives, and / or optical disk drives, or storage media readers (such as SD (Secure Digital) card readers), and / or hard disk drives (HDDs), and / or network-accessible storage devices; at least one communication interface 304 for exchanging data with other modules, devices, or equipment. The communication interface 304 may include, but is not limited to, a transceiver configured to transmit and receive data through a communication channel. The communication interface 304 may include, but is not limited to, a modem or network card.
[0044] If the processing module 30 implements the program of the encoding device 21, the communication interface 304 enables, for example, the processing module 30 to receive HDR video and provide a stream containing encoded SDR video. If the processing module 30 implements the program of the decoding device 22, the communication interface 304 enables, for example, the processing module 30 to receive a stream containing encoded SDR video and provide decoded SDR video or HDR video.
[0045] The processor 300 is capable of executing instructions loaded into the RAM 301 from the ROM 302, external memory (not shown), storage media, or a communication network. When the processing module 30 is powered on, the processor 300 is capable of reading instructions from the RAM 301 and executing them. These instructions form computer programs, which, for example, cause the processor 300 to execute the program of the encoding device 21 (as described later in relation to FIG4) or the program of the decoding device 22.
[0046] All or some of the algorithms and steps of the program executed by the encoding device 21 or the decoding device 22 may be implemented in software form, such as a DSP (Digital Signal Processor) or microcontroller, by executing a set of instructions by a programmable machine, or in hardware form, such as an FPGA (Field Programmable Gate Array) or ASIC (Application Special Purpose Integrated Circuit).
[0047] [picture] [3C] A block diagram illustrating examples of a decoding device 22 that may implement various configurations and embodiments. The decoding device 22 may be embodied as a means comprising the various components described below and configured to perform one or more of the configurations and embodiments described in this document. Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptops, smartphones, tablets, digital multimedia set-top boxes, digital television receivers, personal video recording systems, and connected home appliances. Elements of the decoding device 22 may be embodied individually or in combination in a single integrated circuit (IC), multiple ICs, and / or discrete components. For example, in at least one embodiment, the decoding device 22 includes a processing module 30 that implements a decoding module or an ITM module. However, in another embodiment, the decoding device 22 may include: a first processing module 30 that implements a decoding module; and a second processing module 30 that implements an ITM module; or a processing module 30 that implements both a decoding module and an ITM module. In various embodiments, the decoding device 22 is communicatively coupled to one or more other systems or other electronic devices via, for example, a communication bus or through dedicated input and / or output ports. In various embodiments, the decoding device 22 is configured to implement one or more of the configurations described in this document.
[0048] The decoding device 22 includes at least one processing module 30 capable of implementing a decoding module.
[0049] Inputs to processing module 30 may be provided via various input modules as indicated in input block 32. Such input modules include, but are not limited to, (i) radio frequency (RF) modules that receive, for example, RF signals transmitted through the air by a broadcaster, (ii) component (COMP) input modules (or a set of COMP input modules), (iii) universal serial bus (USB) input modules, and / or (iv) high-definition multimedia interface (HDMI) input modules. Other examples (not shown in FIG. 3C) include composite video.
[0050] In various embodiments, the input module of input block 32 has associated individual input processing elements as known in the art. For example, the RF module may be associated with elements suitable for (i) selecting a desired frequency (also referred to as a selection signal or band limiting of a signal), (ii) downconverting the selected signal, (iii) band limiting it again to a narrower band to select (e.g., a channel in some embodiments), (iv) demodulating the downconverted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a desired data packet stream. The RF module in various embodiments includes one or more elements to perform these functions, such as frequency selectors, signal selectors, band limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers. The RF section may include a tuner that performs various of these functions, including, for example, downconverting the received signal to a lower frequency (e.g., an intermediate frequency or near-baseband frequency) or to baseband. In one set-top box embodiment, the RF module and its associated input processing elements receive RF signals transmitted through wired (e.g., cable) media and perform frequency selection by filtering, down-converting, and re-filtering to the desired frequency band. Various embodiments reconfigure the order of the above (and other) components, remove some of these components, and / or add other components that perform similar or different functions. Adding components may include inserting components between existing components, such as, for example, inserting an amplifier and an analog-to-digital converter. In various embodiments, the RF module includes an antenna.
[0051] Additionally, the USB and / or HDMI modules may include separate interface processors for connecting the decoding device 22 to other electronic devices across USB and / or HDMI connections. It should be understood that various input processing modes (e.g., Reed-Solomon error correction) may be implemented as needed, for example, within a separate input processing IC or within the decoding device 22. Similarly, USB or HDMI interface processing modes may be implemented as needed, either within a separate interface IC or within the processing module 30. Demodulated, error-corrected, and demultiplexed streams are provided to the processing module 30.
[0052] Various components of the decoding device 22 can be provided within an integrated housing. Within the integrated housing, the various components can be interconnected and transmit data therebetween using suitable connection configurations (e.g., internal buses as known in the art, including inter-IC (I2C) buses, wiring, and printed circuit boards). For example, in the decoding device 22, the processing module 30 is interconnected to other components of the decoding device 22 via bus 305.
[0053] The communication interface 304 of the processing module 30 allows the decoding device 22 to communicate over the communication channel 31. The communication channel 31 may be implemented, for example, in wired and / or wireless media.
[0054] In various embodiments, a wireless network (such as Wi-Fi, e.g., IEEE 802.11 (IEEE refers to the Institute of Electrical and Electronics Engineers)) is used to stream or otherwise provide data to the decoding device 22. In these embodiments, the Wi-Fi signal is received via a communication channel 31 tuned for Wi-Fi communication and a communication interface 304. The communication channel 31 in these embodiments is generally connected to an access point or router that provides access to external networks (including the Internet) to allow streaming applications and other over-the-top communications. Other embodiments use a set-top box that delivers data via an HDMI connection through input block 32 to provide streaming data to the decoding device 22. Still other embodiments use an RF connection through input block 32 to provide streaming data to the decoding device 22. As indicated above, various embodiments provide data in a non-streaming manner. Additionally, various embodiments use wireless networks other than Wi-Fi, such as cellular networks or Bluetooth networks.
[0055] The decoding device 22 can provide output signals to various output devices, including display device 23, speaker 36, and other peripheral devices 37. The display device 23 in various embodiments includes one or more of, for example, a touchscreen display, an organic light-emitting diode (OLED) display, a curved display, and / or a foldable display. The display device 23 can be used in televisions, tablet computers, laptops, cell phones (smartphones), or other devices. The display device 23 can also be integrated with other components (e.g., in a smartphone) or be separate (e.g., an external monitor for a laptop). In various examples of embodiments, other peripheral devices 37 include one or more of a standalone digital video disc (or digital versatile disc) (DVR, for both terms), a disc drive, a stereo system, and / or a lighting system. Various embodiments utilize one or more peripheral devices 37 that provide functionality based on the output of the decoding device 22. For example, a disc drive performs the function of playing the output of the decoding device 22.
[0056] In various embodiments, control signals are transmitted between the decoding device 22 and the display device 23, speaker 36, or other peripheral devices 37 using communications such as AV.Link, Consumer Electronics Control (CEC), or other communication protocols that enable device-to-device control with or without user intervention. Output devices may be communicatively coupled to the decoding device 22 via dedicated connections through respective interfaces 33, 34, and 35. Alternatively, output devices may be connected to the decoding device 22 via communication interface 304 using communication channel 31. The display device 23 and speaker 36 may be integrated into a single unit with other components of the decoding device 22 in an electronic device, such as, for example, a television set. In various embodiments, the display interface 33 includes a display driver, such as, for example, a timing controller (TCon) chip.
[0057] For example, if the RF module of input 32 is a separate component of the set-top box, the display device 23 and speaker 36 may alternatively be separate from one or more other components. In various embodiments where the display device 23 and speaker 36 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).
[0058] [picture] [3B] A block diagram illustrating examples of encoding device 21 implementing various schemes and embodiments. Encoding device 21 is very similar to decoding device 22. Encoding device 21 may be embodied as a means including the various components described below and configured to perform one or more of the schemes and embodiments described in this document. Examples of such means include, but are not limited to, various electronic devices such as personal computers, laptops, smartphones, tablets, cameras, and servers. Elements of encoding device 21 may be embodied individually or in combination in a single integrated circuit (IC), multiple ICs, and / or discrete components. For example, in at least one embodiment, encoding device 21 includes a processing module 30 that implements the program of encoding device 21. In various embodiments, encoding device 21 is communicatively coupled to one or more other systems or other electronic devices via, for example, a communication bus or through dedicated input and / or output ports. In various embodiments, encoding device 21 is configured to implement one or more of the schemes described in this document.
[0059] Input to the processing module 30 can be provided through various input modules as indicated in input block 32, which is described in relation to FIG3C.
[0060] Various components of the encoding device 21 can be provided within an integrated housing. Within the integrated housing, the various components can be interconnected and transmit data therebetween using suitable connection configurations (e.g., internal buses as known in the art, including inter-IC (I2C) buses, wiring, and printed circuit boards). For example, in the encoding device 21, the processing module 30 is interconnected to other components of the encoding device 21 via bus 305.
[0061] The communication interface 304 of the processing module 30 allows the encoding device 21 to communicate on the communication channel 31.
[0062] In various embodiments, a wireless network (such as Wi-Fi, e.g., IEEE 802.11 (IEEE stands for Institute of Electrical and Electronics Engineers)) is used to stream or otherwise provide data to encoding device 21. In these embodiments, the Wi-Fi signal is received via a communication channel 31 tuned for Wi-Fi communication and a communication interface 304. In these embodiments, the communication channel 31 is generally connected to an access point or router that provides access to an external network (including the Internet) to allow streaming applications and other overlay communications. Other embodiments use the RF connection of input block 32 to provide streamed data to encoding device 21.
[0063] As indicated above, the various embodiments provide data in a non-streaming manner. Additionally, the various embodiments use wireless networks other than Wi-Fi, such as cellular networks or Bluetooth networks.
[0064] The data provided to the encoding device 21 is, for example, raw HDR video provided by the HDR camera 20 connected to the encoding device 21.
[0065] Encoding device 21 can provide output signals to various output devices (such as decoding device 22) capable of storing and / or decoding output signals.
[0066] Various implementations involve decoding. As used in this application, "decoding" can encompass all or part of a process, for example, executed on a received encoded video stream to produce a final output suitable for a display. In various embodiments, such a process includes one or more of processes generally executed by a decoder (e.g., entropy decoding, inverse quantization, inverse conversion, and prediction).
[0067] Various implementations involve encoding. In a manner similar to the discussion of "decoding" above, the term "encoding" as used in this application may encompass all or part of a process, for example, executed on an input RAW SDR video to produce an encoded SDR video stream. In various embodiments, such a process includes one or more of processes generally performed by an encoder (e.g., segmentation, prediction, transformation, quantization, and entropy coding).
[0068] When a diagram is represented as a flowchart, it should be understood that a corresponding block diagram of the device is also provided. Similarly, when a diagram is represented as a block diagram, it should be understood that a flowchart of the corresponding method / procedure is also provided.
[0069] The embodiments and manner described herein may be implemented, for example, as methods or procedures, devices, software programs, data streams, or signals. Even if discussed only in the context of a single form of embodiment (e.g., discussed only as a method), the embodiments of the features discussed may be implemented in other forms (e.g., devices or programs). Devices may be implemented, for example, in appropriate hardware, software, and firmware. Methods may be implemented, for example, in a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, integrated circuits, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cellular phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate communication of information between end users.
[0070] References to "one embodiment," "an embodiment," "one implementation," or "an implementation," and other variations thereof, refer to a specific feature, structure, characteristic, etc., described in relation to that embodiment, which is included in at least one embodiment. Therefore, the appearance of the phrases "in one embodiment," "in an embodiment," "in one implementation," or "in an implementation," and any other variations appearing throughout this application, do not necessarily all refer to the same embodiment.
[0071] Additionally, this application may relate to various information related to "determination." Determination information may include, for example, estimation information, calculation information, prediction information, information retrieved from memory, or one or more of the following: information obtained from another device, module, or user.
[0072] Furthermore, this application may relate to various types of information access. Accessing information may include, for example, receiving information, retrieving information (e.g., from memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information, or one or more of these.
[0073] Additionally, this application may relate to various aspects of "receiving" information. It is intended that "receiving" be used broadly as well as "accessing." Receiving information may include, for example, accessing information or retrieving information (e.g., from memory). Furthermore, "receiving" generally refers to something in one or more ways during operation (such as, for example, storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information).
[0074] It should be understood that the following use of " / ", "and / or", "at least one of", and "one or more of" in cases such as "A / B", "A and / or B", "at least one of A and B", and "one or more of A and B" is intended to cover selecting only the first listed option (A), or only the second listed option (B), or selecting both options (A and B). As a further example, in the cases of "A, B, and / or C (A, B, and / or C)", "at least one of A, B, and C (A, B, and C)", and "one or more of A, B, and C (A, B, and C)", such phrases are intended to cover selecting only the first listed option (A), or only the second listed option (B), or only the third listed option (C), or only the first and second listed options (A and B), or only the first and third listed options (A and C), or only the second and third listed options (B and C), or selecting all three options (A, B, and C). This can be extended to many items generally listed, as is clear to those skilled in the art.
[0075] Furthermore, as used herein, the term "signal" specifically refers to instructing something to the corresponding decoder. For example, in some embodiments, the encoder signals the use of some encoding tools. In this way, in one embodiment, the same parameters can be used on both the encoder and decoder sides. Thus, for example, an encoder can transmit (explicitly signal) a specific parameter to the decoder so that the decoder can use the same specific parameter. Conversely, if the decoder already has that specific parameter as well as other parameters, it can use a signal without transmitting (implicit signal) to allow only the decoder to know and select the specific parameter. By avoiding the transmission of any actual functionality, bit savings are achieved in various embodiments. It should be understood that signaling can be accomplished in various ways. For example, in various embodiments, one or more syntax elements, flags, etc., are used to signal information to the corresponding decoder. Although the foregoing refers to the verb form of the term "signal," the term "signal" can also be used as a noun herein.
[0076] As will be apparent to those skilled in the art, embodiments can generate various signals formatted to carry information, such as information that can be stored or transmitted. This information may include, for example, instructions for performing a method, or data generated by one of the described embodiments. For example, the signal may be formatted to carry encoded SDR video. This signal may be formatted as, for example, electromagnetic waves (e.g., using the radio frequency portion of the spectrum) or a baseband signal. Formatting may include, for example, encoding the encoded video stream and modulating a carrier wave having the encoded video stream. The information carried by the signal may be, for example, analog or digital information. As is known, the signal can be transmitted via various wired or wireless links. The signal may be stored on a processor-readable medium.
[0077] Various embodiments may refer to bit streams. A bit stream includes, for example, any series or sequence of bits, and does not require data bits to be transmitted, received, or stored, for example.
[0078] Some of the following embodiments relate to the construction of tone mapping curves. A method for constructing tone mapping curves, along with the variables defining these curves, is detailed in paragraph 7.2.3.1 of ETSI TS 103 433-1 v1.4.1, specification for high-performance single-layer high dynamic range (HDR) systems for consumer electronic devices; Part 1: Standard Dynamic Range (SDR) Directly Compatible HDR Systems (SL-HDR1), 08 / 2021, hereinafter referred to as SL-HDR1.
[0079] [picture] [5] Provides an example of a tone mapping curve in the context of SL-HDR1.
[0080] The tone mapping curve is applied to the perceptual uniformity domain and is a piecewise curve comprising three parts: • Bottom section: The bottom section is linear and its steepness is determined by the parameter shadowGain. • Upper section: The upper section is also linear, and its steepness is determined by the parameter highlightGain. • Intermediate Segment: The intermediate segment is a parabola that provides a smooth bridge between two linear segments. The width of the crossing is determined by the parameter midToneWidthAdjFactor.
[0081] An example of the tone mapping curve in FIG. 3 is generated by a method for constructing a tone mapping curve that does not consider HDR diffuse white and does not consider SDR diffuse white.
[0082] The main limitations followed by the TM curve construction method described in SL-HDR1 are: · Mapping the HDR black luminance value (0 nits) to the SDR minimum value (0 nits), defined as the origin; · Mapping the HDR peak luminance value (i.e., the maximum HDR luminance value) to the SDR maximum value (100 nits), defined as the maximum target point; · Defining the TM curve between the origin and the maximum target.
[0083] [Figure] [6] Illustrates the tone mapping curve obtained by the TM curve construction method of SL-HDR1.
[0084] In the TM curve construction method proposed in the following embodiments, HDR diffuse white and SDR diffuse white are considered with the following two additional limitations: · The HDR diffuse white value that is always less than or equal to the HDR peak luminance; · The SDR diffuse white value that is always less than or equal to the SDR maximum value (100 nits).
[0085] The principle of the new TM curve construction method is: · Mapping the HDR black luminance value (0 nits) to the SDR minimum value (0 nits), defined as the origin (the same as the TM curve construction method of SL-HDR1); · Mapping the HDR diffuse white value (0 < HDR diffuse white < HDR peak luminance) to the SDR diffuse white value (0 < SDR diffuse white < SDR maximum value), defined as the diffuse white target; · Defining the TM curve between the source and the diffuse white target. This TM curve construction method of SL-HDR1 is used with a slight modification, which consists of replacing the maximum target point with the diffuse white target point, that is: ○ The HDR peak luminance value is replaced by the HDR diffuse white value, which is the new input parameter; ○ The SDR maximum value (100 nits) is replaced by the SDR diffuse white value, which is the new input parameter; • Defines a mapping curve for the reflective portion between a diffuse white target and the largest target. The corresponding pixel corresponds to the reflective portion of the content.
[0086] [picture] [7] A tone mapping curve obtained by the TM curve construction method of various embodiments is shown.
[0087] The tone mapping curves obtained by the TM curve construction methods of various embodiments are referred to as composite TM curves. As shown in the example of the composite TM curve in Figure 7, this composite TM curve consists of two parts: the first part is called the detail TM curve, and the second part is called the reflection TM curve. The detail TM curve is responsible for mapping the details of the image. The detail TM curve lies between the origin (0,0) and the starting point of the diffuse white target. The reflection TM curve is responsible for mapping the reflection portion of the image. The reflection TM curve can be of any shape: a straight line, a curve, a parabola, etc. The only limitation of the reflection TM curve is that it starts at the starting point of the diffuse white target and terminates at the maximum target end point. Considering that, compared to a normal TM curve, the composite TM mapping curve uses a new control point: the starting point of the diffuse white target.
[0088] [picture] [4] Examples of tone mapping curve construction methods in various embodiments are illustrated. The method in FIG4 is performed, for example, by the processing module 30 of the encoding device 21.
[0089] In step 401, the processing module 30 obtains HDR data representing HDR video content. The HDR data is, for example, the original HDR video content.
[0090] Step 401 is followed by steps 402 and 403, wherein the processing module 30 calculates the detail TM curve from the HDR data as shown in Figure 7.
[0091] In step 402, the processing module 30 calculates the TM curve from the HDR data.
[0092] In one embodiment, step 402 reuses a variant of the SL-HDR1 TM curve construction method. The original SL-HDR1 TM curve construction method uses the maximum peak brightness of the HDR data as the HDR maximum value and maps this maximum peak brightness value of the HDR data to the SDR maximum value, i.e., "100" nits.
[0093] In a variant of the SL-HDR1 TM curve construction method, the HDR maximum peak brightness value is replaced by the HDR diffuse white value, meaning the TM curve construction method now maps the HDR diffuse white value to the SDR maximum value. In this case, HDR values higher than the HDR diffuse white value can be ignored or set to the HDR diffuse white value. In other words, the variant of the SL-HDR1 TM curve construction method is identical to the SL-HDR1 TM curve construction method in all its features, except for the fact that the maximum peak brightness value is replaced by the HDR diffuse white value.
[0094] The output of this variant is a tone-mapped LUT in the γ 2.4 domain; that is, the tone-mapped LUT maps the non-linear luminance values (γ 2.4) of the HDR data to the non-linear luminance values (γ 2.4) of the SDR data. An example of the shape of the TM curve corresponding to this LUT is shown below. [picture] [8] is given. In the example in Figure 8, the TM LUT is the 1001 item LUT: • The horizontal coordinate ranges from "0" to "1000", and each item represents ((HDR brightness value (unit: nits)) / (HDR diffuse white value (unit: nits))) 2.4 * 1000. In other words, each item of the TM LUT in the range [0; 1000] of HDR diffuse white represents the HDR value in [0; HDR diffuse white]. • The vertical axis ranges from "0" to "1023", and each value represents ((SDR brightness value (unit: nits)) / (SDR maximum value (unit: nits))) 2.4 * 1023. The SDR brightness value remains within the range [0; SDR maximum value].
[0095] In step 403, the processing module 30 applies a rescaled TM curve to the one calculated in step 402.
[0096] Rescaling the TM curve is equivalent to rescaling the horizontal axis of the TM LUT from [0; HDR diffuse white] to [0; HDR peak brightness] (that is, extending the range of HDR values from [0; HDR diffuse white] to [0; HDR peak brightness]), while keeping the vertical axis in [0; SDR maximum value] by adding an SDR diffuse white limit.
[0097] [picture] [9] A schematic illustration shows the details of the rescaling procedure applied in step 403.
[0098] In step 4031, the processing module 30 transforms the TM LUT in the perceptual uniform domain. For this purpose, for each abscissa value i between "0" and LUTSize = 1001 (i.e., i... After transforming the vertical coordinate SDR_PU_Y[i], the following calculation is performed: in: • Peak SDR Luminance: Maximum SDR luminance = 100 nits; The SdrOETF(.) function transforms the linear SDR value Yin to the SDR sensing domain value. For example: SdrOETF(Yin) = log(32.(100 / 10000) (1 / 2.4).(Yin) (1 / 2.4)+ 1) / log(32. (100 / 10000) (1 / 2.4)+ 1) · Corresponds to HDR diffuse white value; • The vertical coordinate of SDR_PU_Y[i] ranges from "0" to "1", with the maximum value "1" corresponding to the maximum SDR brightness value of 100 nits.
[0099] [picture]
[10] Provides an example of the shape of a TM curve that corresponds to the TM LUT in the perceptual uniform domain.
[0100] In step 4032, the TM LUT operation of the processing module 30 is performed on a rescaled TM LUT. In other words, the rescaled TM LUT is a rescaled version of the converted TM LUT, wherein: • The rescaled TM LUT has a horizontal coordinate range from "0" to (LUTSize-1), where the horizontal coordinate value (LUTSize-1) corresponds to the HDR peak brightness value (i.e., the maximum brightness value of the HDR data); • The vertical coordinate range has been rescaled from "0" to "1", with the maximum value "1" corresponding to the maximum SDR brightness (=100 nits); The maximum value of the transformed TM LUT horizontal coordinate corresponding to the HDR diffuse white value is now mapped to the integer horizontal coordinate rescalePerceptualInputDiffuseWhitePoint, as follows: rescalePerceptualInputDiffuseWhitePoint = HDR_Diffuse_White / Maximum peak brightness) (1 / 2.4) * LUTSize + 0.5; HDR_Diffuse_White is the value for HDR diffuse white. • The maximum value of the transformed TM LUT ordinate corresponding to the maximum SDR luminance value ("100" nits) is now mapped to the ordinate rescalePerceptualOutput, which is calculated as follows: rescalePerceptualOutput = SdrOETF((SDR_Diffuse_White / 100) (1 / 2.4)) The values of the rescaled TM LUT ordinate SDR_PU_Y_rescaled[i] from horizontal coordinate i=0 to (rescalePerceptualInputDiffuseWhitePoint-1) are calculated as follows: curRescalePerceptualInput= (i / rescalePerceptualInput); SDR_PU_Y_rescaled[i]= SDR_PU_Y[curRescalePerceptualInput]* rescalePerceptualOutput. Where rescalePerceptualInput = (HDR_Diffuse_White / maximum peak brightness) (1 / 2.4)).
[0101] As can be seen, the transformed vertical coordinates Map in [0; rescalePerceptualOutput] to obtain SDR_PU_Y_rescaled[i].
[0102] [picture]
[11] Provides an example of the shape of the TM curve, which corresponds to the rescaled TM LUT.
[0103] As shown in Figure 11, the detail TM curve corresponding to the low SDR (and HDR) value of the combined TM curve ends at the point of the highest SDR value. It has a horizontal axis representing HDR diffuse white (i.e., rescalePerceptualInputDiffuseWhitePoint) and a vertical axis representing SDR diffuse white (i.e., rescalePerceptualOutput).
[0104] In step 404, the processing module 30 performs a rescaled TM LUT on the horizontal coordinate between rescalePerceptualInputDiffuseWhitePoint and (LUTSize-1) and the vertical coordinate between rescalePerceptualOutput and "1". In other words, the processing module completes the current rescaled TM LUT, which only represents the detail TM curve, a portion of which represents the reflection portion TM curve.
[0105] Before completing the rescaling of the TM LUT, if necessary, process module 30 to correct the horizontal coordinate rescalePerceptualInputDiffuseWhitePoint and the vertical coordinate rescalePerceptualOutput.
[0106] Regarding the horizontal coordinate `rescalePerceptualInputDiffuseWhitePoint`, if the last calculated values of the rescaled TM LUT are all equal, that is, if the rescaled TM LUT calculated in step 4032 ends with a horizontal line until `rescalePerceptualInputDiffuseWhitePoint`, then this line needs to be removed. This is accomplished by updating the horizontal coordinate `rescalePerceptualInputDiffuseWhitePoint`. This update involves iterating one by one in reverse order from horizontal coordinate i = `rescalePerceptualInputDiffuseWhitePoint` through the vertical coordinate `SDR_PU_Y_rescaled[i]` of the rescaled TM LUT until a value of horizontal coordinate i is found that is different from the value of the vertical coordinate corresponding to the next value of horizontal coordinate (i-1) (i.e., `SDR_PU_Y_rescaled[i] ≠ `SDR_PU_Y_rescaled[i-1]`)).
[0107] Regarding the ordinate `rescalePerceptualOutput`, if the maximum value of the ordinate of the rescaled TM LUT does not reach the maximum value (i.e., "1"), then the ordinate `SDR_PU_Y_rescaled[rescalePerceptualInputDiffuseWhitePoint - 1]` is lower than the previously calculated theoretical ordinate `rescalePerceptualOutput` value. Therefore, `rescalePerceptualOutput` needs to be updated as follows: rescalePerceptualOutput = min(rescalePerceptualOutput, SDR_PU_Y_rescaled[rescalePerceptualInputDiffuseWhitePoint - 1]) min(x,y) takes the minimum value between x and y.
[0108] The reflective part TM curve can be any shape: straight line, curve, parabola, etc.
[0109] Two examples of the reflection portion TM curve are given in the following cases: a straight line and a parabola: The reflection section TM curve is implemented using a straight line: The detailed TM curve ends at the point (rescalePerceptualInputDiffuseWhitePoint–1, rescalePerceptualOutput), renamed P1(x1, y1), where: · x1= rescalePerceptualInputDiffuseWhitePoint– 1; · y1 = rescalePerceptualOutput.
[0110] The reflection portion TM curve is represented by a straight line between P1 and the last point of the rescaled TM LUT SDR_PU_Y_rescaled (i.e., LUTSize-1], 1). For each abscissa i between rescalePerceptualInputDiffuseWhitePoint and LUTSize (i.e., i∈ [ rescalePerceptualInputDiffuseWhitePoint; LUTSize-1]), the reflection portion TM LUT m_PerceptualDiffuseWhiteLUTY[i] corresponding to the reflection portion TM curve is calculated as follows: m_PerceptualDiffuseWhiteLUTY[i]= rescalePerceptualOutput+ (i- rescalePerceptualInputDiffuseWhitePoint) * specularStep. Where specularStep= (1 - rescalePerceptualOutput) / (LUTSize-1- rescalePerceptualInputDiffuseWhitePoint).
[0111] [picture]
[12] An example of a combined TM curve is provided, which is obtained by combining a detailed TM curve with a reflection portion TM curve implemented using a straight line.
[0112] The reflection portion TM curve implemented using a parabola: Again, the detailed TM curve ends at the point (rescalePerceptualInputDiffuseWhitePoint–1, rescalePerceptualOutput), renamed P1(x1, y1), where: · x1= rescalePerceptualInputDiffuseWhitePoint– 1; · y1 = rescalePerceptualOutput.
[0113] The trend at the end of the detail TM curve can be represented by a straight line with the following formula: (Dtm) Ytm = atm.x + btm; Considering that the reflection portion TM curve is made up of two parts: The straight line between point P2(x2, y2) and the last point of the rescaled TM LUT SDR_PU_Y_rescaled (i.e., LUTSize-1, 1) has the following equation: (Ds)y = as.x + bs; The parabola between points P1 and P2 has the following equation: (Ps)y = ap.x² + bp.x + cp.
[0114] [picture]
[13] An example of a combined TM curve is provided, which is obtained by combining a detail TM curve with a reflection portion TM curve implemented using a parabola.
[0115] In Figure 13: The intersection point between the Ptm1 system (Dtm) and the line (Dy1): y = 1, has the horizontal coordinate xXmax. • The intersection point between PX system (Dtm) and (Ds), the middle of the xX system [x1; x2] of point PX.
[0116] The trend atm of (Dtm) can be calculated from the last calculated value of the rescaled TM LUT SDR_PU_Y_rescaled.
[0117] For example, the trend ATM can be calculated as follows: • Using the two final points: atm = SDR_PU_Y_rescaled[ x1-1] - SDR_PU_Y_rescaled[ x1- 2]; • Using the three final points: atm = (SDR_PU_Y_rescaled[x1-1] - SDR_PU_Y_rescaled[x1-3]) / 2; • Using the four final points: atm = (SDR_PU_Y_rescaled[x1-1] - SDR_PU_Y_rescaled[x1-4]) / 3; • For N final points: atm = (SDR_PU_Y_rescaled[x1-1] - SDR_PU_Y_rescaled[x1-N]) / (N-1); • Or any combination of previous values of atm.
[0118] Next, btm can be calculated: btm = y1 - atm * x1.
[0119] Next, xXmax can be calculated: xXmax = (1 - y1 + atm * x1) / atm.
[0120] The position of point PX depends on the trend or steepness of the straight portion of the reflection section TM curve. In order to establish a consistent parabolic curve (Ps), the xX horizontal coordinate of point PX can only vary between the subsequent value of the horizontal coordinate x1 of point P1 and the previous value of the horizontal coordinate xXmax of point Ptm1, that is, xX is in the range [x1+1, xXmax-1].
[0121] Depending on the xX position, the trend or steepness variation of the straight portion of the reflectance portion TM curve (Ds) refers to different levels of accuracy when mapping reflectance values of HDR content. The steepness of the straight portion of the reflectance portion mapping curve (Ds) can be configured via the value of Specular_Steepness in the range [0; 1], with its fixed PX point xX abscissa, as follows: · If Specular_Steepness= 0, xX = x1+ 1; Otherwise, if Specular_Steepness = 1, xX = xXmax – 1; Otherwise, xX = x1 + 1 + Specular_Steepness* (xXmax - x1 - 2).
[0122] Next, yX and ×2 can be calculated as follows: · yX = atm * xX + btm; x2 = 2 * xX - x1.
[0123] The operations of as and bs are as follows: · as= (1 - yX) / (LUTSize- 1 - xX); · bs= (1000 * yX- xX) / (LUTSize- 1 - xX).
[0124] y2 can be calculated as follows: · y2 = as * x2 + bs.
[0125] Furthermore, ap, bp, and cp can be calculated as follows: · ap= ( as- atm) / 2 / ( x2- x1); · bp= ( y2- y1) / ( x2- x1) - ap* ( x2+ x1); · cp= y1- ap* x1* x1- bp* x1.
[0126] Now that all parameters have been calculated, for each i between x1 and x2 (i.e., i∈ [x1; x2[)), the rescaled TM LUT SDR_PU_Y_rescaled[i] representing the parabolic portion of the reflection TM curve can be calculated as follows: SDR_PU_Y_rescaled[ i] = ap* i* i+ bp* i+ cp; For each i between x2 and LUTSize (i.e., i∈ [x2;LUTSize[]), the rescaled TM LUT SDR_PU_Y_rescaled[i] representing the straight portion of the reflection TM curve can be calculated as follows: SDR_PU_Y_rescaled[i] = as * i + bs; The combination of the straight line portion and the parabolic portion forms the reflection portion TM curve, and the combination of the detail TM curve and the reflection portion TM curve forms the composite TM curve.
[0127] In SL-HDR1, the TM curve is represented by a variable called the luminance mapping variable. The luminance mapping variable is provided, for example, in the form of posterior data to the device responsible for applying tone mapping to HDR data (or the device responsible for applying inverse tone mapping to SDR data).
[0128] In step 405, applied in the context of SL-HDR1, processing module 30 estimates the luminance mapping variable representing the combined TM curve, which is represented by the rescaled TM LUT SDR_PU_Y_rescaled obtained in step 404.
[0129] As described in SL-HDR1, the luminance mapping variable is defined by two sets of parameters: The first set of parameters contains five parameters used to define the brightness mapping curve: tmInputSignalBlackLevelOffset, tmInputSignalWhiteLevelOffset, shadowGain, highlightGain, and midToneWidthAdjFactor. The second set of parameters contains a finite number of pairs (tmOutputFineTuningX[i], tmOutputFineTuningY[i]) used for the tone mapping output fine-tuning function. These pairs define the coordinates of the pivot point, where the first coordinate tmOutputFineTuningX[i] corresponds to the position of the pivot point, and the second coordinate tmOutputFineTuningY[i] corresponds to the value of the pivot point. The number of pivot points is given by the parameter tmOutputFineTuningNumVal.
[0130] [picture]
[14] An example of a procedure used to determine the brightness mapping variable is shown.
[0131] In step 1401, the processing module 30 estimates a first set of parameters. In a first embodiment of step 1401, the first set of parameters is determined by a preset value that varies according to the HDR peak brightness value, regardless of the rescaling TM LUT SDR_PU_rescale[i] value.
[0132] In another embodiment of step 1401, if the combined TM curve obtained by rescaling the TM LUT SDR_PU_rescale is very far from the luminance mapping curve derived from the preset group parameters calculated according to the first embodiment, additional procedures are performed. For example, if the TM curve and the slope height at the origin derived from the luminance mapping curve of the preset group parameters are different, the parameter shadowGain defined in SL-HDR1 is modified for better matching at low luminance levels.
[0133] In steps 1402 and 1403, the processing module 30 recursively determines the second set of parameters by optimizing the position (tmOutputFineTuningX) and value (tmOutputFineTuningY) of the pivot points. In one embodiment of step 1402, the number of pivot points (given by the parameter tmOutputFineTuningNumVal) is fixed at "10", with the maximum possible value based on SL-HDR1. However, the value of the parameter tmOutputFineTuningNumVal can also be less than "10".
[0134] During step 1402, processing module 30 applies an initialization procedure to the pivot points. In this initialization procedure, an initial group of pivot points is defined. The number of pivot points in the initial group can be set to different values, from "10" to the number of points in the rescaled TM LUT SDR_PU_rescal. As an example, the number of pivot points is set to "65". During the initialization procedure, initial values are given to each pivot point.
[0135] In step 1403, processing module 30 recursively deletes pivot points to maintain the number of pivot points in the group equal to tmOutputFineTuningNumVal at the end of step 1403. A criterion based on a cost function is applied to determine which pivot point can be deleted. Several cost functions can be used: • A cost function corresponding to the error function between the rescaled TM LUT SDR_PU_rescal and the rescaled TM LUT SDR_PU_rescal reconstructed based on the estimated parameters; • A cost function, which corresponds to the error function between the upsampled version of the tone map output fine-tuning function with an initial pivot point of "65" and the upsampled version of the tone map output fine-tuning function with the remaining pivot points.
[0136] Of course, in a context different from that of SL-HDR1, the processing module 30 can compute other variables representing the TM curve, which are different from the brightness mapping variables defined in SL-HDR1.
[0137] In step 406, the processing module 30 generates SDR data and a combined TM curve from the HDR data obtained in step 401. In one embodiment, the processing module 30 of the encoding device encodes the SDR data according to the VVC format, for example, and transmits the encoded SDR data along with post-processing data representing luminance mapping variables to the decoding device 22.
[0138] It can be noted that rescaling in step 403 can be avoided by constructing a LUT representing the TM curve in step 402, where the x-axis is in the range [0; HDR diffuse white] and the y-axis is in the range [0; SDR diffuse white]. This LUT (referred to as the Alternate LUT) replaces the rescaling TM LUT in steps 404, 405, and 406 and represents the detail TM curve. Additionally, the TM LUT transformation in the perceptual uniformity domain of step 4031 is optional, and the rescaling in step 4032 is applied directly to the TM LUT.
[0139] Several embodiments have been described above. The features of these embodiments may be provided individually or in any combination. Furthermore, embodiments may include one or more of the following features, devices, or states, individually or in any combination, across various claim categories and types: • Includes one or more of the SDR or HDR data and / or post-processing data or variations thereof in a bitstream or signal. • Establish and / or transmit and / or receive and / or decode bitstreams or signals including one or more of the SDR or HDR data and / or post-processing data or variations thereof. • A server, camera, television, set-top box, mobile phone, tablet computer, personal computer or other electronic device that performs at least one of the described embodiments. • A television, set-top box, mobile phone, tablet computer, personal computer or other electronic device that performs at least one of the described embodiments and displays (e.g., using a monitor, screen or other type of display) the resulting image. • A television, set-top box, mobile phone, tablet computer, personal computer or other electronic device, whose tuning (e.g., using a tuner) channel is used to receive signals including encoded SDR or HDR data and / or post-processing data, and performs at least one of the embodiments described. • A television, set-top box, mobile phone, tablet computer, or other electronic device that receives signals including SDR or HDR data and / or post-processing data through the air (e.g., using an antenna) and performs at least one of the embodiments described. • A server, camera, mobile phone, tablet, personal computer or other electronic device, whose tuning (e.g., using a tuner) channel is used to transmit signals including SDR or HDR data and / or post-processing data, and performs at least one of the embodiments described. • Servers, cameras, mobile phones, tablets, personal computers or other electronic devices that transmit signals including SDR or HDR data and / or post-processing data through the air (e.g., using an antenna) and perform at least one of the embodiments described.
[0140] 20: Source device / HDR camera 21: Encoding device 22: Decoding device 23: Display device 30: Processing Module 31: Communication Channel 32: Input square / Input 33, 34, 35: Interface 36: Speaker 37: Peripheral devices 300: Processor or CPU 301: Random Access Memory (RAM) 302: Read-only memory (ROM) 303: Storage Unit 304: Communication Interface 305: Busbar 401, 402, 403, 404, 405, 406: Steps 1401, 1402, 1403: Steps 4031, 4032: Steps P1: Point P2: Point Ptm1: Point PX: Point
Claims
1. A method for generating Standard Dynamic Range (SDR) video from High Dynamic Range (HDR) video, comprising: obtaining (401) HDR data; and calculating (402, 403) a first tone mapping curve from the HDR data corresponding to low high dynamic range values of a combined tone mapping curve by the following steps: obtaining an intermediate tone mapping curve from the HDR data, wherein luminance values smaller than the HDR diffuse white, represented by the γ 2.4 nonlinear domain of the HDR data, are mapped to luminance values represented by the γ 2.4 nonlinear domain of the SDR data; The abscissas of the intermediate tone mapping curve are rescaled from a range of luminance values of the high dynamic range data between zero and the high dynamic range diffuse white to a range of luminance values of the high dynamic range data between zero and one of the maximum luminance values of the high dynamic range data; and the ordinates of the intermediate tone mapping curve are mapped to a range of luminance values of the standard dynamic range data between zero and a value depending on the standard dynamic range diffuse white to obtain the first tone mapping curve; wherein the first tone mapping curve ends at a first point having an abscissa representing a high dynamic range diffuse white and a ordinate representing a standard dynamic range diffuse white, the combined tone mapping curve allowing standard dynamic range data to be obtained from the high dynamic range data; and the combined tone mapping curve is completed (404) with a second tone mapping curve for the high standard dynamic range starting from the first point.
2. As in request item 1, wherein the second tone mapping curve is a straight line.
3. The method of claim 1, wherein the second tone mapping curve comprises a parabola between the first point and a second point, followed by a straight line to a third point, the third point having an abscissa representing a high dynamic range maximum and a ordinate representing a standard dynamic range maximum, the trend of the parabola being between the trend of the first tone mapping curve at the first point and the trend of the straight line at the second point.
4. The method of request 1, 2 or 3, wherein the method further comprises using the combined tone mapping curve to calculate (406) the standard dynamic range data from the high dynamic range data.
5. The method of request 1, 2 or 3 includes an estimate (405) representing metadata of the combined tone mapping curve, which will be inserted into the video data along with the standard dynamic range data.
6. The method of claim 1, 2 or 3, wherein prior to the mapping, the ordinate of the intermediate tone mapping curve is transformed in a perceptually uniform domain, wherein the transformed ordinate value is between zero and a maximum ordinate value corresponding to one of the maximum luminance values of the standard dynamic range data.
7. An apparatus for generating standard dynamic range (SDR) video from high dynamic range (HDR) video, comprising an electronic circuit system configured to: obtain (401) high dynamic range data; calculate (402, 403) a first tone mapping curve from the high dynamic range data corresponding to a low high dynamic range value of a combined tone mapping curve, the first tone mapping curve ending at a first point having an abscissa representing a high dynamic range diffuse white and a ordinate representing a standard dynamic range diffuse white, the combined tone mapping curve allowing standard dynamic range data to be obtained from the high dynamic range data; and complete (404) the combined tone mapping curve with a second tone mapping curve for a high standard dynamic range starting from the first point, wherein calculating the first tone mapping curve comprises: obtaining an intermediate tone mapping curve from the high dynamic range data, wherein a luminance value smaller than the high dynamic range diffuse white, expressed in the γ 2.4 nonlinear domain of the high dynamic range data, is mapped to the γ 2.4 value of the standard dynamic range data. 2.4 Luminance values represented by the nonlinear domain; The horizontal axis of the intermediate tone mapping curve is rescaled from a range of luminance values of the high dynamic range data between zero and the high dynamic range diffuse white to a range of luminance values of the high dynamic range data between zero and one of the maximum luminance values of the high dynamic range data; and the vertical axis of the intermediate tone mapping curve is mapped to a range of luminance values of the standard dynamic range data between zero and a value depending on the standard dynamic range diffuse white, to obtain the first tone mapping curve.
8. The apparatus of claim 7, wherein the second tone mapping curve is a straight line.
9. The apparatus of claim 7, wherein the second tone mapping curve comprises a parabola between the first point and a second point, followed by a straight line to a third point, the third point having an abscissa representing a high dynamic range maximum and a ordinate representing a standard dynamic range maximum, the trend of the parabola being between the trend of the first tone mapping curve at the first point and the trend of the straight line at the second point.
10. The apparatus of claim 7, 8 or 9, wherein the electronic circuit system is further configured to use the combined tone mapping curve to calculate (406) the standard dynamic range data from the high dynamic range data.
11. The apparatus of claim 7, 8 or 9, wherein the electronic circuit system is further configured to estimate (405) post-processing data representing the combined tone mapping curve, the post-processing data being inserted into the video data along with the standard dynamic range data.
12. The apparatus of claim 7, 8 or 9, wherein the ordinate of the intermediate tone mapping curve is transformed in a perceptual uniform domain, wherein prior to the mapping, the transformed ordinate value is between zero and a maximum ordinate value corresponding to one of the maximum luminance values of the standard dynamic range data.
13. A computer program comprising code instructions for implementing methods such as request 1, 2 or 3.
14. A non-transitory information storage medium that stores code instructions for implementing methods such as request 1, 2 or 3.