Method for estimating tone mapping parameters and corresponding device

By estimating tone mapping parameters and applying inverse tone mapping operators, SDR content is converted to HDR, addressing the limited availability of HDR content and ensuring high-quality HDR display.

JP2026502653APending Publication Date: 2026-01-23INTERDIGITALCE PATENT HLDG SAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025543043
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-27
Filing Date
2024-01-16
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

The limited availability of high dynamic range (HDR) content hinders efficient display on HDR devices, necessitating solutions to expand the dynamic range of existing low dynamic range (LDR) or standard dynamic range (SDR) content.

Method used

A method for estimating tone mapping parameters, including determining a white level offset and updating a tone mapping output fine-tuning function, to convert SDR content into HDR content using inverse tone mapping operators, with adjustments based on comparisons between current and previous images.

Benefits of technology

Enhances the dynamic range of images by effectively converting SDR content to HDR, ensuring accurate and consistent tone mapping across frames, thereby improving the quality of HDR displays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026502653000001_ABST
    Figure 2026502653000001_ABST
Patent Text Reader

Abstract

A method for estimating tone mapping parameters is disclosed. For a current picture of a standard dynamic range, a first tone mapping parameter representing a white level offset is obtained (S500). Then, the obtained first tone mapping parameter is compared with a corresponding first tone mapping parameter obtained for a previous picture (S502). Finally, for the current picture of the standard dynamic range, a second tone mapping parameter is updated according to the comparison result (S504, S506). Here, the second tone mapping parameter includes a value pair representing a tone mapping output fine-tuning function.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of European Application No. 23305084.8, filed January 24, 2023, European Application No. 23305207.5, filed February 16, 2023, and European Application No. 23306868.3, filed October 27, 2023, which applications are incorporated herein by reference in their entireties.

[0002] At least one of the present embodiments generally relates to a method and apparatus for estimating tone mapping parameters. [Background technology]

[0003] Recent advances in display technology have enabled an increased dynamic range of color, luminance, and contrast for displayed images, such as video, still images, and graphics.

[0004] The technology to expand the dynamic range of an image's brightness is called high dynamic range (HDR) imaging. Although many HDR display devices and image cameras capable of capturing images with a wider dynamic range are emerging, the amount of available HDR content is still very limited. Solutions are needed to expand the dynamic range of existing content so that it can be efficiently displayed on HDR display devices.

[0005] To prepare legacy content (known as LDR for low dynamic range or SDR for standard dynamic range) for HDR display devices, inverse tone mapping operators (ITMOs) can be used. ITMOs allow for the generation of HDR images from legacy (LDR or SDR) images using algorithms that process the luminance information of pixels in the image, with the goal of restoring or recreating the appearance of the corresponding original scene. Typically, ITMOs take a legacy image as input, globally expand the luminance range of colors in this image, and then locally process highlights or bright areas to enhance the HDR appearance of the colors in the image. Summary of the Invention

[0006] In one example, tone mapping parameters are determined from a standard dynamic range image. To this end, a first tone mapping parameter representing a white level offset is obtained. Then, a second tone mapping parameter including a value pair representing a tone mapping output fine tuning function is updated.

[0007] The update of the second tone mapping parameters is performed in response to a comparison of the first tone mapping between the current image and the previous image.

[0008] In one example, both values ​​of each pair representing the tone mapping output refinement function are updated, while in another example, at most one value of each pair is updated. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is a block diagram of an end-to-end system 1 in which various aspects and embodiments can be implemented. [Figure 2] FIG. 2 is a detailed block diagram of a processing module according to one embodiment. [Figure 3A] FIG. 2 illustrates a detailed block diagram of an inverse tone mapping (ITM) module according to one embodiment. [Figure 3B] FIG. 10 shows a detailed block diagram of an inverse tone mapping (ITM) module according to another embodiment. [Figure 4] 1 is a flowchart of a method for constructing a tone mapping lookup table (TM LUT) according to one embodiment. [Figure 5] FIG. 1 is a diagram showing an example of an optoelectronic transfer function curve (OETF curve). [Figure 6] FIG. 1 shows an example of an electro-optical transfer function curve (EOTF curve). [Figure 7] 10 is a flowchart of a tone mapping calculator according to an embodiment. [Figure 8A] FIG. 1 illustrates a luminance mapping curve defined as a piecewise curve consisting of three parts. [Figure 8B] FIG. 1 shows examples of ITMO and TMO curves in the perceptual domain. [Figure 9] 1 is a flowchart of a method for estimating tone mapping according to an embodiment; [Figure 10A] 10 is a flowchart of a method for updating FTF_X and FTF_Y values ​​according to an embodiment. [Figure 10B] 10 is a flowchart of a method for updating FTF_X and FTF_Y values ​​according to another embodiment; [Figure 11] FIG. 10 is a diagram illustrating an example of a curve of a fine-tuning function. [Figure 12] 10 is a flowchart of a method for deriving 8-bit and 12-bit quantized values ​​of a fine-tuning function from floating-point values. [Figure 13] FIG. 10 illustrates the FTF_Y difference between consecutive frames with floating-point values ​​(left) and 8-bit quantized values ​​(right). [Figure 14A] 1 illustrates a schematic diagram of an example hardware architecture of a processing module capable of implementing various aspects and examples. [Figure 14B]1 illustrates a block diagram of an example of a first system for implementing various aspects and examples. [Figure 14C] 1 illustrates a block diagram of an example of a second system in which various aspects and examples may be implemented. DETAILED DESCRIPTION OF THE INVENTION

[0010] This application describes various aspects, including tools, features, embodiments, models, and approaches. Many of these aspects are described with specificity, at least to illustrate individual features, and often in a limiting manner. However, this is for clarity of description only and does not limit the application, or scope, of these aspects. Indeed, all of these different aspects can be combined or interchanged to provide further aspects. Furthermore, these aspects can also be combined or interchanged with aspects described in prior applications.

[0011] The aspects described and discussed in this application may be implemented in a variety of forms. At least one of these aspects generally relates to estimating tone mapping parameters, and at least one other aspect generally relates to transmitting a bitstream including the estimated tone mapping parameters or a quantized version thereof. These and other aspects may be implemented as a method, an apparatus, a computer-readable storage medium having stored thereon instructions for estimating tone mapping parameters according to any of the methods described herein, and / or a computer-readable storage medium having stored thereon a bitstream generated according to any of the methods described herein.

[0012] Various methods are described herein, each of which includes one or more steps or actions for achieving the described method. Unless a specific order of steps or actions is required for proper operation of the method, the order and / or use of specific steps and / or actions may be varied or combined. Furthermore, terms such as "first," "second," etc. may be used in various embodiments to refer to elements, components, steps, actions, etc. The use of these terms does not imply a varied order of actions unless specifically required. Unless otherwise stated or technically precluded, aspects described in this application may be used individually or in any combination.

[0013] FIG. 1 illustrates a block diagram of an end-to-end system 1 in which various aspects and embodiments can be implemented. In FIG. 1, a device (not shown), such as a camera, a storage device, a computer, or any device capable of delivering SDR content, transmits SDR content, referred to as original SDR content, to System A via a communication channel. The communication channel may be a wired (e.g., Ethernet) or wireless (e.g., WiFi, 3G, 4G, or 5G) network link. The original SDR content may be a fixed image or a video sequence. System A is configured to determine and further encode SDR content associated with metadata MD from which HDR content can be reconstructed. The encoded SDR content associated with the metadata MD is then transmitted to System B. System B is configured to reconstruct the HDR content from the obtained encoded data, i.e., the SDR content associated with the metadata MD.

[0014] The system A comprises a processing module 10 configured to convert original SDR content into HDR content, i.e., to apply an inverse tone mapping (ITM) process to the original SDR content to obtain the HDR content. The processing module 10 is further configured to decompose the HDR content into SDR content associated with content-dependent metadata MD, e.g., SL-HDR metadata defined in section 6.2.5 of ETSI document TS103 433-1.

[0015] To this end, the processing module 10 applies a tone mapping process to the HDR content. This entire process is defined so that the SDR content resulting from the decomposition of the HDR content is close to the original SDR content. Look-up tables (LUTs) may be used to perform the SDR-to-HDR conversion (i.e., inverse tone mapping (ITM)) and the HDR-to-SDR decomposition (tone mapping (TM)). However, LUTs are provided only as examples to represent tone mapping functions and inverse tone mapping functions. The aspects described and contemplated in this application can be implemented in many different forms and are not limited to the use of LUTs to represent tone mapping functions and inverse tone mapping functions. The content-dependent metadata MD includes tone mapping parameters (e.g., white and black level offsets, shadow gain, etc.) and additional parameters, such as HDR / SDR picture characteristics.

[0016] Below is an example of the syntax of the SL-HDR tone mapping parameters defined in section 6.2.5 of the ETSI document TS103 433-1:

[0017] [Table 1]

[0018] tmInputSignalBlackLevelOffset indicates the black level offset that is subtracted from the signal and is used to calculate the gain of the signal as the first step in the luminance mapping curve reconstruction process.

[0019] tmInputSignalWhiteLevelOffset indicates the white level offset used to calculate the signal gain as the second step in the luminance mapping curve reconstruction process.

[0020] shadowGain indicates the gain used to adjust the slope of the luminance mapping curve for the shadow (darker) regions.

[0021] highlightGain indicates the gain used to adjust the slope of the luminance mapping curve for highlight (lighter) regions.

[0022] midToneWidthAdjFactor indicates the gain used to adjust the width of the luminance mapping curve in the mid-tone region.

[0023] tmOutputFineTuningNumVal specifies the number of pivot points for the piece-wise linear tone mapping output fine tuning function ftlum() that maps local tone mapping input values ​​to adjusted values. In ETSI document TS103 433-1, tmOutputFineTuningNumVal ∈ [0; 10].

[0024] tmOutputFineTuningX indicates the xi value of the tone mapping output fine tuning function ftlum().

[0025] tmOutputFineTuningY indicates the yi value of the tone mapping output fine tuning function ftlum().

[0026] System A further includes an encoder 12 configured to encode the SDR content and metadata MD into encoded data, e.g., a bitstream. Encoder 12 may be an AVC ((ISO / IEC 14496-10 / ITU-T H.264) encoder, an HEVC (ISO / IEC 23008-2-MPEG-H Part 2, High Efficiency Video Coding / ITU-T H.265) encoder, a VVC (ISO / IEC 23090-3-MPEG-I, Versatile Video Coding / ITU-T H.266) encoder, or any other encoder, e.g., an ECM encoder. This embodiment is not limited to VVC, ECM, or HEVC, and may be applied, e.g., to other standards and recommendations, whether existing or developed in the future, and extensions of such standards and recommendations (including VVC, ECM, and HEVC). The metadata MD may be carried, e.g., in an SEI message (SEI stands for "Supplemental Enhancement Information").

[0027] The encoded data may be stored on a storage medium or may be transmitted over an existing SDR distribution network, either on a specific channel or with metadata embedded in an SDR bitstream. The encoded data may then be acquired (e.g., received) by system B, which can reconstruct HDR content from the acquired encoded data. System B thus includes a decoder 14 configured to decode the acquired encoded data into SDR content and metadata MD, and a post-processing module 16 configured to reconstruct HDR content from the SDR content and metadata MD. Decoder 14 may be an AVC decoder, an HEVC decoder, a VVC decoder, or any other decoder. Decoder 14 performs the reverse steps of encoder 12.

[0028] 2 shows a detailed block diagram of a processing module 10 according to one embodiment. The processing module 10 comprises an inverse tone mapping (ITM) module 100 configured to convert original SDR content into HDR content associated with tone mapping parameters.

[0029] The processing module 10 further comprises a pre-processing module 102 connected to the output of the inverse tone mapping (ITM) module 100. The pre-processing module 102 is configured to decompose the HDR content into SDR content associated with metadata MD, e.g., SL-HDR metadata as defined in section 6.2.5 of ETSI document TS103 433-1. To this end, the pre-processing module 102 is configured to perform a tone mapping process. The metadata MD enables the reconstruction of the HDR content from SDR to HDR by the system B.

[0030] In one variant, the inverse tone mapping (ITM) module 100 is configured to generate the metadata MD and transmit them to the pre-processing module 102 in the form of SEI (Supplemental Enhancement Information) messages, for example those defined in Table A.1 of v1.4.1 of the ETSI document TS103 433-1.

[0031] 3A shows a block diagram of an ITM module 100 according to one embodiment. The ITM module 100 comprises a module 1000 configured to obtain information representing an inverse tone mapping function. In one example, the information is provided in the form of an inverse tone mapping lookup table, denoted ITM LUT1. The ITM LUT1 is obtained by analyzing original SDR content, for example, in YCbCr format. As an example, in section 4.2 of the document ITU-R BT.2446-1, the following ITM function (also called an extension function) is used to convert SDR content to HDR content:

[0032]

number

[0033] Thus, the expansion function is based on a power function whose exponent depends on the luminance value of the current pixel. This is called global expansion, which means that all input pixels with the same luminance at the input (SDR input) will have the same luminance at the output (HDR output). Another example of an ITM function is shown in the following equation:

[0034]

number

[0035] This formula can then be used to fill an ITM LUT1 with 1024 entries for each Y value from 0 to 255. The present principles are not limited to the above ITM function. Any other method suitable for deriving an ITM function for converting SDR content to HDR content may be used.

[0036] The ITM module 100 further comprises a module 1002 configured to obtain information representing a tone mapping function by inverting the inverse tone mapping function obtained by module 1000. In one example, inverting the inverse tone mapping function obtained by module 1000 includes inverting an ITM LUT1 to obtain a so-called TM L_LUT1, i.e., a tone mapping LUT for HDR to SDR conversion. When the ITM function is denoted by (Equation 1), the tone mapping function can be expressed as follows:

[0037]

number

[0038] Then, using this formula, we can calculate Y from 0 to 1023.HDR For each value of , we can fill the TM L_LUT1 with 1024 entries.

[0039] The ITM module 100 further comprises an estimation module 1004 configured to estimate tone mapping parameters (e.g., a white level offset and a fine-tuning function) from L_LUT1, and a module 1006 configured to obtain a tone mapping LUT, denoted TM L_LUT2, that approximates L_LUT1 in response to the estimated tone mapping parameters. Indeed, once the tone mapping parameters have been estimated, a TM L_LUT2 that approximates TM L_LUT1 can be calculated in response to the estimated tone mapping parameters. More generally, once the tone mapping parameters have been estimated, another tone mapping function can be calculated that approximates the tone mapping function obtained at the output of module 1002.

[0040] The ITM module 100 also comprises a module 1008 configured to invert the TM L_LUT2 (or more generally, the tone mapping function obtained in the output module 1006) to obtain an inverse tone mapping LUT (or more generally, an inverse tone mapping function), denoted ITM LUT2, which is ultimately used by the ITM module 1010 to convert the original SDR content into HDR content. The obtained HDR content and the estimated tone mapping parameters are transmitted to the pre-processing module 102. From the estimated tone mapping parameters (some of which may be quantized at 8 or 12 bits), the pre-processing module 102 can derive a tone mapping LUT, denoted TM L_LUT. The pre-processing module 102 is configured to apply the derived TM L_LUT to the HDR content to derive SDR content, which is transmitted to the encoder 12 together with the metadata MD.

[0041] 3B, the ITM module 100 is configured to generate metadata MD from the estimated tone mapping parameters and additional parameters, such as a country code, a terminal provider code, proprietary data, etc. To this end, the processing module 1012 is configured to process the data and put them into an appropriate format, for example, an SL-HDR information SEI message as defined in Table A.1 of ETSI document TS 103 433-1 v1.4.1. The MD in the format of the SEI message may be transmitted to the pre-processing module 102 together with the HDR content.

[0042] 4 shows a flowchart of a method for constructing a TM LUT, denoted L_LUT, that may be used by preprocessing module 102. The lookup table L_LUT for luminance values ​​i in [0;LUTSize] implements a tone mapping function, where LUTSize is the size of the LUT, e.g., LUTSize=1023. For any input value i in [0;LUTSize], the value L_LUT[i] is derived by applying the following steps:

[0043] In step S400, the input value i is

[0044]

number

[0045] In step S402, the obtained value is raised to the power γ. For example, γ=2.4.

[0046] In step S404, the values ​​obtained in S402 are transformed into the perceptual domain (also called the perceptually uniform domain) by an opto-electronic transfer function (OETF). An example of such an OETF curve is shown in Figure 5. In step S406, the values ​​obtained in S404 are tone mapped. The tone mapping is controlled by several tone mapping parameters, namely white level offset (WS), shadow gain, highlightGain, midToneWidthAdjFactor, and further fine-tuning functions. In step S408, the obtained values ​​are transformed from the perceptually uniform domain into the linear optical domain by applying an electro-optical transfer function (EOTF). An example of such a curve is shown in Figure 6. Then, in step S410, the values ​​obtained are raised to the power 1 / γ, and in step S412, the values ​​are multiplied by (2 N −1) to obtain L_LUT[i]. In one example, N=10, in which case L_LUT is quantized with 10 bits.

[0047] FIG. 7 shows a detailed flowchart of step S406 of tone mapping according to one embodiment.

[0048] In step S4060, the input signal Y pus is adjusted by the white level offset WS as follows:

[0049]

number

[0050] In step S4062, a luminance mapping curve is applied to Ybw in the perceptually uniform domain. The luminance mapping curve is defined as a piecewise curve consisting of three sections, as shown in FIG. 8A. The lower section of the curve is linear, and its slope is determined by shadowGain. The upper section is also linear, and its slope is determined by highlightGain. The middle section is parabolic, providing a smooth bridge between the two linear sections. The width of the crossover is determined by midToneWidthAdjFactor. In other words, the function Map() associated with the luminance mapping curve is defined as follows:

[0051]

number

[0052] Values ​​SGC, a, b, c, HCG, x SGC , x HGC is defined by equations C.21 to C.29 in section C.2.2.4 of ETSI document TS103 433-1, the contents of which are incorporated herein by reference.

[0053] Returning to Fig. 3, the tone mapping parameters are estimated from L_LUT1 by module 1004. More precisely, knowing the inputs and outputs of the tone mapping method shown in Fig. 4, it is possible to estimate the tone mapping parameters, namely a first tone mapping parameter representing the white level offset (WS) and a second tone mapping parameter comprising a pair of values ​​representing a fine-tuning function. These value pairs are also called pivot points. The other tone mapping parameters take default values, for example, black level offset equals 0, highlightGain equals 2, and midToneWidthAdjFactor equals 0. The shadow gain, denoted ShadowGain, is defined as follows: ShadowGain = Quantif_8bits(4*(expgain-0.5)) = 0.69 with expgain= 0.673 , Quantif_8bits(.) is 8-bit quantization.

[0054] Expgain is defined as follows:

[0055]

number

[0056] These expgain and ShadowGain values ​​are given for a 1000 nits HDR source. For a 2000 nits HDR, replace 1000 with 2000 in the above formula for determining ShadowGain.

[0057] Fine-tuning function ftlum(x i ) is calculated based on the output signal y i To calculate the input signal x i applies to.

[0058]

number

[0059] The fine-tuning function ftlum() is a piecewise linear function. An example of an explicit definition of the fine-tuning function ftlum() is a pair of values ​​denoted (FTF_X, FTF_Y), also called pivot points. In other words, each pair of values ​​(FTF_X, FTF_Y) defines the coordinates of a pivot point (or the input and output values ​​of the fine-tuning function).

[0060] To estimate samples that explicitly define the fine-tuning function ftlum(), the basic approach consists of using default values ​​for the tone mapping parameters (e.g., tmInputSignalBlackLevelOffset, tmInputSignalWhiteLevelOffset, shadowGain, highlightGain, and midToneWidthAdjFactor defined in ETSI document TS103 433-1) and fine-tuning the ETSI-based TMO LUT using the (FTF_X, FTF_Y) pair to match the desired TM L_LUT1. In this way, the (FTF_X, FTF_Y) pair is calculated such that a linear interpolation of these pivot points approximates the ideal fine-tuning function defined from the TM L_LUT1.

[0061] This approach is effective for still images because the original TMO curve is well estimated. However, in video sequences, the original ITMO curve may change from frame to frame. Optimization of the (FTF_X, FTF_Y) pair achieved independently for each frame may result in slight variations in these (FTF_X, FTF_Y) values ​​across the entire frame sequence. For some sequences, these variations may be problematic in both the HDR sequence generated at the output of the ITM module 1010 and the output of the post-processing module 16.

[0062] In contrast, the tone mapping parameter estimation method disclosed below with reference to FIG. 9 makes it possible to avoid or at least limit these variations. More precisely, WS, FTF_X, and FTF_Y are estimated so that the TMO in the perceptual domain obtained from the estimated WS, FTF_X, and FTF_Y coincides with the TMO obtained from the ITMO initial curve itself obtained from ITM LUT1. The TMO is obtained from the ITMO by inverting the X and Y axes. A linear extrapolation is added, if necessary, to ensure that the HDR perceptual value is equal to 1. Examples of ITMO and TMO curves in the perceptual domain are shown in FIG. 8B.

[0063] FIG. 9 shows a flowchart of a method for estimating tone mapping parameters according to an example.

[0064] In step S500, a first tone mapping parameter representing a white level offset WS[k] is calculated for the current SDR picture I k where k is an index that identifies the picture. In one example, the first tone mapping parameter is a white level offset WS[k].

[0065] The white level offset WS[k] is derived from the initial L_LUT1. For this purpose, the TMO(X WS )=V max The minimum X in the HDR perceptual domain is WSThe value is determined as follows: TMO() is a function applied in S406 and can be derived from L_LUT1. In fact, the input and output of S406, and therefore the TMO curve in the perceptual domain, can be derived from L_LUT1. More precisely, the input of S406 is obtained by applying steps S400-S404 to i, and the output is obtained by applying the inverse of steps S412, S410, and S408 to L_LUT1[i]. For example, in FIG. 8B (right side), when Vmax=1 and the HDR perception is equal to 0.8, this value is reached in SDR perception. Therefore, WS is calculated as WS=1-0.8=0.2. The front ITMO module (1000 in FIG. 3) can determine to apply a different autobrightspot level for each frame depending on the image content. When the autobrightspot value is changed, the maximum value of the HDR level in the perceptual domain is changed (see FIG. 8B). In this way, WS is modified. Variations of other parameters may change WS, such as the MaxFall value, the diffuse white value (both values ​​expressed in nits), etc. The MaxFall value can be defined as the maximum frame average light level (i.e., the maximum average luminance level of the image). Thus, WS is calculated for each frame.

[0066] In step S502, the current picture I kThe first tone mapping parameter obtained for the current picture is compared with the corresponding first tone mapping parameter representing the white level offset obtained for the previous picture. In one example, the previous picture is the picture immediately preceding the current picture in temporal order and is therefore identified by index k-1. In one example, the white level offset WS[k] is compared with the white level offset WS[k-1] obtained for the previous picture. If the white level offset WS[k] has changed, i.e., is different from WS[k-1], both values ​​of each pair, i.e., FTF_X and FTF_Y, are updated in step S506. Otherwise, if the white level offset WS[k] has not changed, at most one value of each pair, e.g., FTF_Y, is updated. In one example, the FTF_X value of the previous picture is used, while the FTF_Y value is updated. If L_LUT1, and therefore the ftlum curve, changes, the FTF_X value from the previous frame is used, but the FTF_Y value may have changed, so it is updated by obtaining the FTF_Y corresponding to the FTF_X value from the new ftlum curve. This strategy ensures that the FTF_Y value follows the initial curve represented by the (xi,yi) pair. As another variation, if WS[k] has not changed, the FTF_Y value from the previous frame is used. The FTF_X value is updated. This strategy ensures that the FTF_X value follows the initial curve represented by the (xi,yi) pair.

[0067] In another variation not shown in Figure 9, if WS[k] has not changed, both the FTF_X and FTF_Y values ​​of the previous frame are used, in which case no updates are made to FTF_X and FTF_Y.

[0068] FIG. 10A shows a flowchart of a method for updating the values ​​of FTF_X and FTF_Y in S506 according to one embodiment.

[0069] In step S5060, for each index i in [0, LUT1_size-1], a pair of values ​​(xi, yi) is obtained from L_LUT1, where LUT1_size is the size of L_LUT1, xi is the input to the fine-tuning function (S4064), and yi is the output. To this end, considering the steps of Figures 4 and 7, for each index i in [0, LUT_size-1], a floating-point value xi in [0,1] is obtained after applying the tone mapping steps described by WS, shadow, midtone, and highlight gain, i.e., all processing steps up to S400, S402, S404, S4060, and S4062. The value used in S4060 is the WS obtained in S500. In S4062, default values ​​are used for shadowGain, highlightGain, and midToneWidthAdjFactor.

[0070] The fine-tuning function is responsible for transforming this xi value as follows:

[0071]

number

[0072] where yi depends on L_LUT1. In fact, referring to Figure 4, for each index i in [0, LUT_size-1], the output of the process is L_LUT1[i]. Therefore, from L_LUT1[i], the output of step S406 can be obtained by applying the inverse steps of S412, S410, and S408. Therefore, first, the value of L_LUT1[i] is multiplied by 2 N Divide by -1 (the inverse of step S412), then raise the obtained value to the power of 2.4 (the inverse of step S410), and finally apply the inverse EOTF (i.e., OETF). Thus, in S5060, L_LUT1 gives LUT_size pairs of (xi, yi), where i is in the range [0, LUT_size-1].

[0073] The estimation of pairs (FTF_X, FTF_Y) involves selecting a small number of pairs (xi, yi), as shown in Figure 11. In Figure 11, 11 pairs (FTF_X, FTF_Y) are selected from the entire set of pairs (xi, yi). For this purpose, in S5062, first, the LUT_size number of (xi, yi) pairs are selected by the following formula: x = t k where t k = k / 255, where k is an integer in the range [0,255]. The value 255 is just an example for 8-bit quantization.

[0074] Therefore, the final FTF_X value is the original set {t k , k is a partition of} in the range [0, 255], corresponding to 8-bit quantized values. In S5064, P pairs (FTF_X, FTF_Y) are selected from the interpolated values. In one example, P=10, i.e., 256 values ​​x=t k , 10 values ​​are selected for FTF_X. In one variant, fewer than 10 values ​​are selected. In another variant, more than 10 values, for example 20, are selected. For this purpose, interpolated pairs (xi, yi) are recursively deleted to maintain P pairs. A criterion based on a cost function is applied to determine which pairs can be deleted. Several cost functions can be used, for example, a cost function corresponding to the error function between L_LUT1 and the reconstructed L_LUT based on the estimated parameters, or a cost function corresponding to the error function between the entire set of pairs, for example, an upsampled version of the tone mapping output refinement function with 256 pairs, and an upsampled version of the tone mapping output refinement function with the remaining pivot points. Thus, interpolated pairs (xi, yi) are recursively deleted to reduce the cost function. More precisely, at each iteration step, the interpolated pair (xi, yi) whose deletion produces the smallest cost function value is selected as the interpolated pair to be deleted.

[0075] The associated floating-point FTF_Y values ​​are the original LUT_SIZE pairs (x i ,y i ) are the interpolated results of the FTF_X values ​​in the 8-bit quantized values. Therefore, the FTF_Y values ​​do not correspond to 8-bit quantized values, in the sense that they are not multiples of 1 / 255. When quantizing with more or less than 8 bits, other values ​​may be used. For example, when quantizing with 10 bits, LUT_size pairs (x i , y i ) first x=t k where t k = k / 1023, where K is an integer in [0,1023]. More generally, (x i ,y i ) first x=t k where t k =k / (2 M -1), and k is in [0,2 M −1] and M is an integer.

[0076] FIG. 10B shows another example of the current picture I k 1 shows a flowchart of a method for updating the FTF_X and FTF_Y values ​​of the

[0077] In step S5070, for each index i in [0, P-1], where P represents the number of P pairs (FTF_X, FTF_Y), the reverse steps of S4062 and S4060 are sequentially performed to obtain Y pus,i is determined.

[0078] More precisely, the previous image I is considered as the output of S4062. k-1 FTF_X i is used as input for the inverse step of S4062. The intensity mapping curve considered in this step is the previous image I k-1 Therefore, the input Y of S4062 is bw,i is FTF_X i as input to the previous image I k-1is derived by inverting the luminance mapping curve associated with

[0079] Next, we use the inverse step of S4060 to generate the previous image I k-1 Using WS of Y bw,i From Y pus,i is derived.

[0080] In step S5072, the updated FTF_X i is Y as input for S4060 pus,i Current image using I k The WS and luminance mapping curves are derived using S4060 and S4062.

[0081] Updated FTF_X i is further quantized to k / 255, where k is in [0,255]. The value 255 is an example for 8-bit quantization.

[0082] In step S5074, each quantized FTF_X of the current picture is i For the value of the floating point value i f is determined. This unique i f The value is i f By applying S400, S402, S404, S4060, and S4062 to the quantized FTF_X as the output of S4062. i is obtained so that

[0083] This i f For floating-point values ​​of L_LUT1[i f ] is calculated by an interpolation means using L_LUT1[i], where i is an integer.

[0084] Finally, FTF_X i FTF_Y associated with i is calculated as follows:

[0085]

number

[0086] Once the values ​​WS, FTF_X, and FTF_Y are estimated by either the method of Fig. 10A or 10B, a TM L_LUT2 and its inverse ITM LUT2 are obtained. More precisely, the floating-point values ​​of FTF_Y are used to obtain the TM L_LUT2 and its inverse ITM LUT2 used in the SDR to HDR inverse tone mapping process 1010. More precisely, the TM L_LUT2 is obtained by applying the methods shown in Fig. 4 and Fig. 7 using the parameters estimated in step S406 (WS, 8-bit quantization point FTF_X, and floating-point FTF_Y). This improves the quality of the HDR image.

[0087] Additionally, the floating-point values ​​of FTF_Y are further quantized by 8 bits, and the 8-bit quantized FTF_Y values ​​are sent to the pre-processing module 102 together with the 8-bit quantized point FTF_X values. These 8-bit quantized values ​​(8-bit quantized point FTF_X and 8-bit quantized point FTF_Y) are also encoded and sent to be used by the post-processing module 16. In fact, according to the ETSI specification, the pre-processing module 16 is expected to receive 8-bit values. Any other quantization would generate metadata MD that is not compliant with the current ETSI specification. To ensure a flawless HDR round trip, the same 8-bit quantized values ​​are used by the pre-processing module 102.

[0088] Alternatively, the FTF_Y values ​​can be quantized with more than 8 bits before being sent to the pre-processing module 102. For example, the FTF_Y values ​​can be quantized with 12 bits before being sent to the pre-processing module 102. In another example shown in FIG. 12 , the 8-bit quantized FTF_Y values ​​are sent to the pre-processing module 102 along with the quantization difference, allowing the pre-processing module 102 to reconstruct the 12-bit quantized FTF_Y values. This may improve SDR accuracy (i.e., reduce the difference between the original SDR content and the SDR content at the output of the pre-processing module 102), while reducing HDR accuracy (i.e., increase the difference between the HDR content at the output of the ITM module 100 and the HDR content reconstructed by the post-processing module 16). The 8-bit quantized FTF_Y values ​​can be encoded to comply with current ETSI specifications and sent to the post-processing module 16.

[0089] In one variant, X and Y are swapped. The embodiments disclosed above apply in a similar manner. Thus, there are LUT_size pairs (x i ,y i ) first y=t k where t k = k / 255, where k is an integer in [0,255]. Therefore, the final FTF_Y value is the original set {t k , k is a partition of { in the range [0, 255], corresponding to 8-bit quantized values. As mentioned above, in S5064, P pairs (FTF_X, FTF_Y) are selected from the interpolated values. In one example, P=10, i.e., 256 values ​​y=t k , 10 values ​​are selected for FTF_Y. In one variation, fewer than 10 values ​​are selected. In another variation, more than 10 values ​​are selected, for example 20. The associated floating-point FTF_X values ​​are then calculated from the original LUT_SIZE pairs (x i ,y i) The FTF_X values ​​are therefore not equivalent to 8-bit quantized values, and in that sense they are not multiples of 1 / 255.

[0090] Once the values ​​WS, FTF_X, and FTF_Y are estimated, the TM L_LUT2 and its inverse ITM LUT2 are obtained. More precisely, the floating-point value of FTF_X is used to obtain the TM L_LUT2 and its inverse ITM LUT2 used in the SDR to HDR inverse tone mapping process 1010. More precisely, the TM L_LUT2 is obtained by applying the methods shown in Figures 4 and 7 using the parameters estimated in step S406 (WS, floating-point FTF_X, and 8-bit quantization point FTF_Y). This improves the quality of the HDR image.

[0091] Additionally, the floating-point values ​​of FTF_X are further quantized by 8 bits, and the 8-bit quantized FTF_X values ​​are sent to the pre-processing module 102 along with the 8-bit quantized point FTF_Y values. These 8-bit quantized values ​​(8-bit quantized point FTF_X and 8-bit quantized point FTF_Y) are also encoded and sent to be used by the post-processing module 16. In fact, according to the ETSI specification, the pre-processing module 16 is expected to receive 8-bit values. Any other quantization would generate metadata MD that is not compliant with the current ETSI specification. To ensure a flawless HDR round trip, the same 8-bit quantized values ​​are used by the pre-processing module 102.

[0092] Alternatively, the FTF_X values ​​can be quantized with more than 8 bits before being sent to the pre-processing module 102. For example, the FTF_X values ​​can be quantized with 12 bits before being sent to the pre-processing module 102. In another example shown by FIG. 12 , the 8-bit quantized FTF_X values ​​are sent to the pre-processing module 102 along with the quantization difference, allowing the pre-processing module 102 to reconstruct the 12-bit quantized FTF_X values. The 8-bit quantized FTF_X values ​​can be encoded to comply with current ETSI specifications and sent to the post-processing module 16.

[0093] FIG. 12 shows a flowchart of a method for obtaining 8-bit and 12-bit quantized fine-tuning function values ​​from floating-point values.

[0094] x float is a floating-point value (FTF_X or FTF_Y value), and x float is quantized to 8 bits. The quantized value is denoted as x8b. For this purpose, x float is multiplied by 255 in step S600, i.e., x=255*x float In step S602, the floating point value is converted to an integer value x8b (x8b=Int(x+0.5)), where Int() is an operator that returns the integer part of its input.

[0095] The obtained value x 8b is the FTF_X or FTF_Y value quantized to 8 bits.

[0096] 12-bit quantized value x 12b To this end, in S604, a quantization difference is derived so that x can be reconstructed. 8b is multiplied by 15. Similarly, in step S606, the floating-point value x floatis multiplied by 15 and 255. The difference d between the two outputs is obtained in S608 and is in the range [-7.5; 7.5]. The obtained difference d is processed in step S610 to obtain Δx 12b is obtained, and Δx 12b is in the range [0;14]. Therefore, Δx 12b =7+Int(d+0.5). Then, x 8b and Δx 12b Both values ​​may be sent by the ITM 100 to the pre-processing module 102.

[0097] In one example, these data are transmitted in SEI messages such as the messages disclosed in Table A.1. More precisely, the 8-bit quantized values ​​FTF_X and FTF_Y are transmitted as tone_mapping_output_fine_tuning_x[ i ] and tone_mapping_output_fine_tuning_y[ i ] as shown in the table below (extracted from Table A.1).

[0098] [Table 2]

[0099] tone_mapping_input_signal_black_level_offset indicates the black level offset. tone_mapping_input_signal_white_level_offset indicates the white level offset. shadow_gain_control indicates the adjustment to the shadow (darker) regions of the luminance mapping curve. highlight_gain_control indicates the adjustment to the highlight (lighter) region of the luminance mapping curve. Mid_tone_width_adjustment_factor indicates the adjustment to the mid-tone region of the tone mapping. tone_mapping_output_fine_tuning_num_val indicates the number of pivot points for the piecewise linear tone mapping output fine tuning function ftlum(). saturation_gain_num_val indicates the number of pivot points that are adjusted in the piecewise color correction curve. tone_mapping_output_fine_tuning_x[i] and tone_mapping_output_fine_tuning_y[i] specify the input and output values ​​of the i-th tuned pivot point of ftlum().

[0100] In addition, the quantized difference Δx 12b may be further transmitted to the pre-processing module 102. In one example, these values ​​are transmitted in the same SEI message as the 8-bit value, more precisely in the last part of the SEI message reproduced below (extract from Table A.1). This part of the message may be used to transmit proprietary data.

[0101] [Table 3]

[0102] sl_hdr_extension_present_flag equal to 1 specifies that sl_hdr_extension_6bits, sl_hdr_extension_length, and sl_hdr_extension_data_byte[ i ] are present. sl_hdr_extension_6bits can be used to indicate a proprietary solution, for example, sl_hdr_extension_6bits is set to 0. sl_hdr_extension_length specifies the length of the SL-HDR extension data in bytes, not including the bits used for signaling the sl_hdr_extension_length itself. sl_hdr_extension_data_byte[ i ] can have any value. In particular, in this embodiment, these syntaxes are 12b More precisely, two consecutive bytes sl_hdr_extension_data_byte[ i ], i.e., 16 bits, are used to transmit the following information: two Δx of FTF_X or FTF_Y. 12b In the table below, ΔFTF_Y[k] is the Δx value of the k-th FTF_X pivot point. 12b represents a value, where k is an integer in the range [0;9] if the fine-tuning function is defined with 10 pivot points. Bits marked X below are ignored and can therefore take any value.

[0103] [Table 4]

[0104] The tag is all Δx 12b In the above example, the tag is equal to 0xF0. DFTF_Y[k], k∈[0;9] is the 10 Δx 12b is.

[0105] Δx 12b and x 8b From the x quantized value, the pre-processing module 102 can reconstruct the 12-bit x value (i.e., the FTF_X value or the FTF_Y value) as follows: 12b =x 8b / 255+(Δx 12b -7) / (15*255).

[0106] The method disclosed above with respect to FIG. 12 may be applied to other examples than 8-bit and 12-bit, in which case the values ​​15 and 255 are different.

[0107] FIG. 13 shows the difference between the FTF_Y[i0] values ​​of consecutive frames. If FTF_Y is a floating-point value, this difference is in the range [-0.12, 0.12], as shown on the left side of FIG. 13. If FTF_Y is quantized with 8 bits, this difference reaches + / - 1, as shown on the right side of FIG. 13. This high difference value is the reason why sometimes obtrusive fluctuations are observed. Using floating-point values ​​to derive ITM LUT2 improves the quality of the HDR obtained at the output of module 1010.

[0108] FIG. 14A schematically illustrates an example of the architecture of a processing module 110 included in system A (or system B) in a system or module included in system A (or system B), such as processing module 10, post-processing module 16, encoder 12, decoder 14, ITM module 100, pre-processing module 102, or any of modules 1000-1010. The processing module 110 comprises a processor or central processing unit (CPU) 1100, including one or more microprocessors, general-purpose computers, special-purpose computers, and processors based on multi-core architectures (as non-limiting examples), connected by a communication bus 1105; a storage unit 1103, which may include non-volatile and / or volatile memory, including, but not limited to, random access memory (RAM) 1101, read-only memory (ROM) 1102, 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 drives, and / or optical disk drives, or storage media readers such as SD (Secure Digital) card readers, hard disk drives (HDD), and / or network-accessible storage devices; and at least one communication interface 1104 for exchanging data with other modules, devices, systems, or equipment. The communication interface 1104 may include, but is not limited to, a transceiver configured to transmit and receive data over a communication network. The communication interface 1104 may include, but is not limited to, a modem or a network card.

[0109] For example, the communication interface 1104 allows the processing module 110 to receive HDR or SDR data and output HDR or SDR data along with metadata MD.

[0110] The processor 1100 can execute instructions loaded into the RAM 1101 from the ROM 1102, an external memory (not shown), a storage medium, or a communication network. When the processing module 110 is powered on, the processor 1100 can read and execute instructions from the RAM 1101. These instructions constitute a computer program that causes the processor 1100 to perform an inverse tone mapping process or a tone mapping process, including, for example, the processes described in relation to Figures 4, 7, 9, and 10.

[0111] All or part of the algorithms and steps of the above processes 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).

[0112] FIG. 14B is a block diagram illustrating an example of a system A in which various aspects and embodiments may be implemented.

[0113] System A may be embodied as a device including the various components and modules described above and configured to perform one or more of the aspects and embodiments described herein.

[0114] Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptop computers, cameras, smartphones, servers, etc. Elements or modules of System A can be implemented, singly or in combination, on a single integrated circuit (IC), multiple ICs, and / or discrete components. For example, in at least one embodiment, System A includes one processing module 110 that performs an inverse tone mapping process or a tone mapping process, including the processes described in connection with Figures 4, 7, 9, and 10. In various embodiments, System A is communicatively coupled to one or more other systems or other electronic devices, for example, via a communication bus or through dedicated input and / or output ports.

[0115] Input to processing module 110 may be provided via various input modules, as shown in block 60. Such input modules may include, but are not limited to, (i) a radio frequency (RF) module for receiving RF signals transmitted over the air by, for example, 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. 14B include composite video.

[0116] In various embodiments, the input modules of block 60 each have corresponding input processing elements, as known in the art. For example, the RF module can be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal or bandlimiting a signal to a frequency band), (ii) downconverting the selected signal, (iii) bandlimiting to a narrower frequency band to select (e.g.,) a signal frequency band (which may be referred to as a channel in certain embodiments), (iv) demodulating the downconverted, bandlimited signal, (v) performing error correction, and (vi) demultiplexing to select a desired data packet stream. The RF module of various embodiments includes one or more elements for performing these functions, such as a frequency selector, a signal selector, a bandlimiter, a channel selector, a filter, a downconverter, a demodulator, an error corrector, and a demultiplexer. The RF section can include a tuner that performs various functions, such as downconverting a received signal to a lower frequency (e.g., an intermediate frequency or a frequency near baseband) or to baseband. In various embodiments, the order of the above (and other) elements may be changed, some of these elements may be removed, and / or other elements that perform similar or different functions may be added. Adding elements may include inserting elements between existing elements, such as an amplifier or an analog-to-digital converter. In various embodiments, the RF module includes an antenna.

[0117] Additionally, the USB module and / or HDMI module may each include an interface processor for connecting System A to other electronic devices via a USB and / or HDMI connection. Various aspects of input processing, such as Reed-Solomon error correction, may be implemented, for example, in a separate input processing IC or in processing module 110, as desired. Similarly, aspects of USB or HDMI interface processing may be implemented in a separate interface IC or in processing module 110, as desired. The demodulated, error corrected, and demultiplexed stream is provided to processing module 110.

[0118] The various elements of System A may be contained within a single unitary housing, where the various elements may be interconnected to transmit data among themselves using suitable interconnections, such as internal buses, wiring, or printed circuit boards known in the art, including the Inter-IC (I2C) bus. For example, in System A, processing module 110 is interconnected with the other elements of System A by bus 1105.

[0119] A communication interface 1104 of the processing module 110 enables System A to communicate over a communication network 111. The communication network 111 may be implemented, for example, within a wired and / or wireless medium.

[0120] In various embodiments, data is streamed or otherwise provided to system A using a wireless network such as a Wi-Fi network (e.g., IEEE 802.11 (IEEE is the Institute of Electrical and Electronics Engineers)). The Wi-Fi signal in these embodiments is received via a communications network suitable for Wi-Fi communication and communications interface 1104. Communications network 111 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. In yet other embodiments, the RF connection of input block 60 is used to provide streaming data to system A. As noted above, in various embodiments, data is provided in a non-streaming manner.

[0121] FIG. 14C illustrates a block diagram of an example system B in which various aspects and embodiments may be implemented.

[0122] System B may be implemented as a device including various components or modules and configured to generate SDR or HDR content adapted for display on an adapted display device. Examples of such systems include, but are not limited to, various electronic systems, such as personal computers, laptop computers, smartphones, tablets, televisions, and set-top boxes. The components of System B may be implemented singly or in combination as a single integrated circuit (IC), multiple ICs, and / or individual components. For example, in at least one embodiment, System B includes a processing module 110 that performs decoding of SDR or HDR content. In various embodiments, System B 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.

[0123] Input to processing module 110 may be provided via various input modules, as shown in block 60 previously described in connection with FIG. 14B.

[0124] The various elements of System B may be provided within a unitary housing in which the various elements are interconnected and data may be transmitted between them using suitable connection configurations, such as internal buses, wiring, or printed circuit boards known in the art, including the Inter-IC (I2C) bus. For example, in System B, processing module 110 is interconnected with the other elements of System B by bus 1105.

[0125] A communication interface 1104 of the processing module 110 enables System B to communicate over a communication network 111. The communication network 111 may be implemented, for example, in a wired and / or wireless medium.

[0126] In various embodiments, data is streamed or otherwise provided to system B using a wireless network such as a Wi-Fi network (e.g., IEEE 802.11 (IEEE is the Institute of Electrical and Electronics Engineers)). The Wi-Fi signal in these embodiments is received via communication network 111 suitable for Wi-Fi communication and communication interface 1104. Communication network 111 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. In still other embodiments, the RF connection of input block 60 is used to provide streaming data to system B. As mentioned above, various embodiments provide data in a non-streaming manner, for example, if system B is a smartphone or tablet. Additionally, various embodiments use wireless networks other than Wi-Fi, such as a cellular network or a Bluetooth network.

[0127] System B can provide output signals to various output devices using communication network 111 or bus 1105. For example, system B can provide a decoded SDR signal or an HDR signal.

[0128] System B can provide output signals to various output devices, such as a display 64 (e.g., if system B is a set-top box providing the decoded SDR or HDR signal to a display device), speakers 65, and other peripherals 66. Display 64 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 64 can be for a television, tablet, laptop, mobile phone, or other device. Display 64 can be integrated with other components (e.g., like a smartphone) or stand alone (e.g., like an external monitor for a laptop). Display device 64 is capable of displaying SDR or HDR content. Other peripherals 66, in various example embodiments, include one or more of a standalone digital video disc (or digital versatile disc) (DVD for both terms), a disc player, a stereo system, and / or a lighting system. Various embodiments use one or more peripherals 66 that provide functionality based on the output of system B. For example, a disc player performs the function of playing the output of system B.

[0129] In various embodiments, control signals are communicated between system B and display 64, speakers 65, or other peripherals 66 using signaling such as AV.Link, CEC (Consumer Electronics Control), or other communication protocols that enable inter-device control with or without user intervention. The output devices can be communicatively connected to system B via dedicated connections via respective interfaces 61, 62, and 63. Alternatively, the output devices can be connected to system B using communication network 111 via communication interface 1104. Display 64 and speakers 65 can be integrated into a unit integrated with other components of system B, for example, in an electronic device such as a television. In various embodiments, display interface 61 includes a display driver, for example, a timing controller (T Con) chip.

[0130] The display 64 and speakers 65 may also be located separately from one or more of the other components, such as when the RF module of input block 60 is part of a separate set-top box. In various embodiments where the display 64 and speakers 65 are external components, the output signal may be provided via a dedicated output connection, such as an HDMI port, a USB port, or a COMP output.

[0131] Where a figure is presented as a flow diagram, 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 flow diagram of the corresponding method / process.

[0132] Implementations and aspects described herein may be implemented as, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Even if described only in the context of a single embodiment (e.g., described only as a method), the described implementation of the features may also be implemented in other forms (e.g., an apparatus or a program). An apparatus may be implemented, for example, as appropriate hardware, software, and firmware. A method may be implemented, for example, as a processor. A processor generally refers to a 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, personal digital assistants (PDAs), smartphones, tablets, and other devices that facilitate communication of information between end users.

[0133] References to "one embodiment" or "an embodiment" or "one implementation" or "an implementation," as well as other variations thereof, mean that a particular feature, structure, characteristic, etc. described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" or "in one implementation" or "in an implementation," as well as other variations thereof, in various places throughout this application do not necessarily all refer to the same embodiment.

[0134] Additionally, the application may refer to "determining" various pieces of information, which may include one or more operations such as, for example, estimating information, computing information, predicting information, retrieving information from memory, or retrieving information from another device, module, or user.

[0135] Additionally, this application may refer to "accessing" various pieces of information, which may include, for example, one or more of receiving information, retrieving information (e.g., from memory), storing information, moving information, copying information, computing information, determining information, predicting information, or inferring information.

[0136] Additionally, this application may refer to "receiving" various information. "Receiving," like "accessing," is a broad term. Receiving information may include one or more operations, such as, for example, accessing information or retrieving information (e.g., from memory). Furthermore, "receiving" typically involves some form of operation, such as storing information, processing information, transmitting information, moving information, copying information, erasing information, computing information, determining information, predicting information, or inferring information.

[0137] For example, in the cases of "A / B," "A and / or B," "at least one of A and B," and "one or more of A and B," use of any of the following " / ," "and / or," "at least one of," and "one or more of" should be understood to encompass selection of only the first listed alternative (A), or selection of only the second listed alternative (B), or selection of both alternatives (A and B). As a further example, in the cases of "A, B, and / or C," "at least one of A, B, and C," and "one or more of A, B, and C," such phrases 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 alternatives (A and B), or the selection of only the first and third alternatives (A and C), or the selection of only the second and third alternatives (B and C), or the selection of all three alternatives (A, B, and C). This may be expanded as many times as the number of listed items, as would be clear to one of ordinary skill in this and related arts.

[0138] As will be apparent to those skilled in the art, implementations or embodiments can generate various signals formatted to carry information, for example, that can be stored or transmitted. This information can include, for example, instructions for performing a method or data generated by any of the described implementations or embodiments. For example, a signal can be formatted to carry an HDR or SDR image or video sequence and SL-HDR metadata of the embodiments described herein. 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 included HDR or SDR image or video sequence along with the SL-HDR metadata into an encoded stream and modulating a carrier wave 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 well known. The signal can be stored on a processor-readable medium.

[0139] Several embodiments have been described above, the features of which may be provided alone or in any combination.

[0140] In one example, a method for estimating tone mapping parameters comprises: Obtaining a first tone mapping parameter representing a white level offset for a standard dynamic range current picture; comparing the obtained first tone mapping parameters with corresponding first tone mapping parameters obtained for a previous picture; updating second tone mapping parameters for the standard dynamic range current picture according to the comparison result, the second tone mapping parameters including a value pair representing a tone mapping output refinement function; It is disclosed that the present invention includes:

[0141] In one example, comparing the obtained first tone mapping parameter with the corresponding first tone mapping parameter obtained for the previous image includes determining whether the obtained first tone mapping parameter is equal to the corresponding first tone mapping parameter obtained for the previous image.

[0142] In one example, for a standard dynamic range current picture, obtaining a first tone mapping parameter representing a white level offset includes: Obtaining information representing an inverse tone mapping function adapted to generate a high dynamic range picture from a standard dynamic range current picture; obtaining information representative of the tone mapping function by inverting the inverse tone mapping function; determining a high dynamic range value at which the output standard dynamic range value of the tone mapping function is maximized, wherein a first tone mapping parameter representing a white level offset is equal to the determined high dynamic range value minus one; Includes.

[0143] In one example, the information representing the inverse tone mapping function and the information representing the tone mapping function are look-up tables.

[0144] In one example, for the current picture in the standard dynamic range, updating the second tone mapping parameters according to the comparison result includes updating both values ​​of each pair if the obtained first tone mapping parameter is not equal to the corresponding first tone mapping parameter, and updating at most one value of each pair if the obtained first tone mapping parameter is equal to the corresponding first tone mapping parameter.

[0145] In one example, updating at most one value in each pair is obtaining information representing a fine-tuning function from information representing a tone mapping function; updating, for each pair, at most one value depending on both the information representing the fine-tuning function and the value of the other of the pair determined for the previous picture; Includes.

[0146] In one example, updating both values ​​of each pair is obtaining information representing a fine-tuning function from information representing a tone mapping function; Depending on the information representing the obtained fine-tuning function, the position k / (2 M −1), where k and M are integers and k∈[0;2 M -1], and selecting a subset of the interpolated pairs; Includes.

[0147] In one example, selecting the subset of interpolated pairs includes recursively eliminating value pairs to reduce a cost function.

[0148] Also disclosed is an apparatus comprising one or more processors and at least one memory coupled to the one or more processors, wherein the one or more processors are configured to perform a method according to any of the examples above.

[0149] Signals generated using the method or using the apparatus of any of the above examples are also disclosed.

[0150] A computer program is disclosed that includes program code instructions for performing the method of any of the above examples when executed by a processor.

[0151] A non-transitory information storage medium having stored thereon program code instructions for performing the method of any of the above examples is disclosed.

[0152] Furthermore, embodiments may include one or more of the following features, devices, or aspects, alone or in any combination, across various claim categories and types: - A bitstream or signal containing one or more of the estimated tone mapping parameters, SDR or HDR data, and / or SL-HDR metadata described herein, or variations thereof. - generating, and / or transmitting, and / or receiving, and / or decoding a bitstream or signal that includes one or more of the estimated tone mapping parameters, SDR or HDR data, and / or SL-HDR metadata described herein, or variations thereof. - a server, camera, television, set-top box, mobile phone, tablet, personal computer, or other electronic device that executes at least one of the embodiments described herein. - a television, set-top box, mobile phone, tablet, personal computer, or other electronic device that performs at least one of the embodiments described herein and displays the resulting images (e.g., using a monitor, screen, or other type of display). - A television, set-top box, mobile phone, tablet, personal computer, or other electronic device that tunes to a channel (e.g., using a tuner) to receive a signal that includes encoded SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata, and that performs at least one of the embodiments described herein. - A television, set-top box, mobile phone, tablet, or other electronic device that receives wirelessly (e.g., using an antenna) a signal containing SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata and performs at least one of the embodiments described herein. - A server, camera, mobile phone, tablet, personal computer, or other electronic device that tunes a channel (e.g., using a tuner) to transmit a signal including SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata and performs at least one of the embodiments described herein. - a server, camera, mobile phone, tablet, personal computer, or other electronic device that wirelessly transmits (e.g., using an antenna) a signal containing SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata and performs at least one of the embodiments described herein.

Claims

1. 1. A method for estimating tone mapping parameters, comprising: Obtaining a first tone mapping parameter representing a white level offset for a standard dynamic range current picture (S500); comparing (S502) the obtained first tone mapping parameters with corresponding first tone mapping parameters obtained for a previous picture; updating (S504, S506) second tone mapping parameters for the standard dynamic range current picture according to the comparison result, wherein the second tone mapping parameters include a pair of values ​​representing a tone mapping output refinement function; A method comprising:

2. 2. The method of claim 1 , wherein comparing the obtained first tone mapping parameter with a corresponding first tone mapping parameter obtained for a previous image comprises determining whether the obtained first tone mapping parameter is equal to the corresponding first tone mapping parameter obtained for the previous image.

3. Obtaining a first tone mapping parameter representing a white level offset for a standard dynamic range current picture includes: Obtaining information representing an inverse tone mapping function adapted to generate a high dynamic range picture from a standard dynamic range current picture; obtaining information representative of a tone mapping function by inverting the inverse tone mapping function; determining a high dynamic range value at which the output standard dynamic range value of the tone mapping function is maximized, wherein a first tone mapping parameter representing a white level offset is equal to the determined high dynamic range value minus one; 3. The method of claim 1 or claim 2, comprising:

4. The method of claim 3 , wherein the information representing the inverse tone mapping function and the information representing the tone mapping function are look-up tables.

5. 5. The method of claim 3, wherein, for a current picture in the standard dynamic range, updating the second tone mapping parameters in response to the comparison result comprises: updating both values ​​of each pair if the obtained first tone mapping parameter is not equal to the corresponding first tone mapping parameter; and updating at most one value of each pair if the obtained first tone mapping parameter is equal to the corresponding first tone mapping parameter.

6. Updating at most one value of each pair is obtaining information representing a fine-tuning function from information representing a tone mapping function; - updating, for each pair, at most one value depending on both the information representing the fine-tuning function and the value of the other of the pair determined for the previous picture; The method of claim 5 , comprising:

7. Updating both values ​​in each pair is obtaining information representing a fine-tuning function from information representing a tone mapping function; Depending on the information representing the obtained fine-tuning function, the position k / (2 M −1), where k and M are integers and k∈[0; M −1], and selecting a subset of the interpolated pairs; The method of claim 5 , comprising:

8. The method of claim 7 , wherein selecting the subset of interpolated pairs comprises recursively eliminating value pairs to reduce a cost function.

9. 9. An apparatus comprising one or more processors and at least one memory connected to said one or more processors, said one or more processors being configured to perform the method of any one of claims 1 to 8.

10. A signal generated using a method according to any one of claims 1 to 8 or using an apparatus according to claim 9.

11. A computer program comprising program code instructions for performing the method of any one of claims 1 to 8 when the computer program is executed by a processor.

12. A non-transitory information storage medium having stored thereon program code instructions for carrying out the method of any one of claims 1 to 8.