Method for estimating tone mapping parameters and corresponding apparatus
By estimating and updating the tone mapping parameters, the problem of insufficient number of HDR content is solved, and efficient conversion from SDR content to HDR content is realized, improving the display quality.
Patent Information
- Application Number
- CN202480008703.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-27
- Filing Date
- 2024-01-16
- Publication Date
- 2025-09-02
AI Technical Summary
The existing HDR content is limited in quantity and is difficult to effectively display on high dynamic range display devices. It is necessary to solve the problem of dynamic range expansion of conventional content.
By estimating the tone mapping parameters, especially updating the value pairs representing the tone mapping output fine-tuning function, combining the inverse tone mapping and tone mapping process, the conversion of SDR content to HDR content is realized.
Improve the display quality of conventional content on high dynamic range display devices, achieving better HDR image reconstruction effect.
Smart Images

Figure CN120584356A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of European application number 23305084.8 filed on January 24, 2023, European application number 23305207.5 filed on February 16, 2023, and European application number 23306868.3 filed on October 27, 2023, which are incorporated herein by reference in their entirety. Technical Field
[0003] At least one of the present embodiments generally relates to a method and apparatus for estimating tone mapping parameters. Background Art
[0004] Recent advances in display technology are beginning to allow for extended dynamic ranges of color, brightness, and contrast in images to be displayed (eg, videos, or still pictures or images).
[0005] The technology that allows for an extended dynamic range of brightness or luminance in an image is known as high dynamic range (HDR) imaging. While several HDR display devices and image cameras capable of capturing images with increased dynamic range have emerged, the amount of available HDR content remains very limited. Solutions are needed that allow for extending the dynamic range of existing content so that it can be effectively displayed on HDR display devices.
[0006] In order to prepare conventional (called LDR for low dynamic range, or SDR for standard dynamic range) content for HDR display devices, an inverse or inverse tone mapping operator (ITMO) can be employed. ITMO allows the generation of HDR images from conventional (LDR or SDR) images by using an algorithm that processes the brightness information of the pixels in the image with the goal of restoring or reconstructing the appearance of the corresponding original scene. Typically, ITMO takes a conventional image as input, globally expands the brightness range of the colors of that image, and then locally processes the highlights or bright areas to enhance the HDR appearance of the colors in the image. Summary of the Invention
[0007] In one example, the 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. A second tone mapping parameter comprising a value pair representing a tone mapping output fine-tuning function is then updated.
[0008] The updating of the second tone mapping parameters is responsive to a comparison of the first tone mapping between the current picture and the previous picture.
[0009] In one example, both values of each pair representing the tone mapping output tuning function are updated. In another example, at most one value of each pair is updated. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 illustrates a block diagram of an end-to-end system 1 in which various aspects and embodiments may be implemented;
[0011] Figure 2 illustrates a detailed block diagram of a processing module according to an example;
[0012] Figure 3A illustrates a detailed block diagram of an inverse tone mapping (ITM) module according to one example;
[0013] Figure 3B illustrates a detailed block diagram of an inverse tone mapping (ITM) module according to another example;
[0014] Figure 4 depicts a flow chart of a method for constructing a tone mapping lookup table (TM LUT) according to one example;
[0015] Figure 5 An example of a curve depicting an optoelectronic transfer function (OETF curve);
[0016] Figure 6 An example of a curve depicting an electro-optical transfer function (EOTF curve);
[0017] Figure 7 depicts a flowchart of a tone mapping operator according to an example;
[0018] Figure 8A A brightness mapping curve defined as a piecewise curve consisting of three parts is depicted;
[0019] Figure 8B Depicts examples of ITMO and TMO curves in the perceptual domain;
[0020] Figure 9 depicts a flow chart of a method for estimating tone mapping parameters according to one example;
[0021] Figure 10A depicts a flow chart of a method for updating FTF_X and FTF_Y values according to one example;
[0022] Figure 10B depicts a flow chart of a method for updating FTF_X and FTF_Y values according to another example;
[0023] Figure 11 An example of a curve depicting a fine-tuning function;
[0024] Figure 12 A flow chart depicting a method of deriving values quantized on 8 bits and 12 bits of a fine-tuning function from a floating point value;
[0025] Figure 13 Depicted are the differences in FTF_Y between consecutive frames with floating point values (left) and 8-bit quantized values (right);
[0026] Figure 14A schematically illustrates an example of a hardware architecture for a processing module capable of implementing various aspects and examples;
[0027] Figure 14B A block diagram illustrating an example of a first system in which various aspects and examples are implemented is illustrated;
[0028] Figure 14C A block diagram illustrating an example of a second system in which various aspects and examples are implemented is illustrated. DETAILED DESCRIPTION
[0029] This application describes various aspects, including tools, features, embodiments, models, methods, etc. Many of these aspects are described in detail, and at least in order to illustrate the various characteristics, they are usually described in a manner that may sound restrictive. However, this is for the purpose of describing clearly and does not limit the application or scope of these aspects. In fact, all different aspects can be combined and interchanged to provide additional aspects. In addition, these aspects can also be combined and interchanged with aspects described in earlier applications.
[0030] The aspects described and contemplated herein can be implemented in many different forms. At least one of these aspects generally relates to tone mapping parameter estimation, and at least one other aspect generally relates to transmitting a bitstream comprising the estimated tone mapping parameters or quantized versions thereof. These and other aspects can be implemented as methods, apparatus, computer-readable storage media having stored thereon instructions for estimating tone mapping parameters according to any of the described methods, and / or computer-readable storage media having stored thereon a bitstream generated according to any of the described methods.
[0031] Various methods are described herein, and each method includes one or more steps or actions for realizing the method. Unless the correct operation of the method requires the specific order of steps or actions, the order and / or use of specific steps and / or actions can be modified or combined. Additionally, terms such as "first", "second" etc. can be used to modify elements, components, steps, operations, etc. in various embodiments. Unless specifically required, the use of such terms does not mean the sequencing of the operations modified. Unless otherwise indicated or technically excluded, the aspects described in this application can be used alone or in combination.
[0032] Figure 1 1 illustrates a block diagram of an end-to-end system 1 in which various aspects and embodiments may be implemented. Figure 1 In the embodiment of the present invention, a device (not shown) (e.g., 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. Thus, the encoded SDR content associated with the metadata MD is transmitted to system B. System B is configured to reconstruct HDR content from the obtained encoded data (i.e., the SDR content associated with the metadata MD).
[0033] System A comprises a processing module 10 configured to convert original SDR content into HDR content, i.e., to apply an inverse tone mapping process (ITM) to the original SDR content to obtain 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 as defined in Section 6.2.5 of ETSI document TS 103433-1).
[0034] To this end, the processing module 10 applies a tone mapping process to the HDR content. The entire process is defined as making the SDR content decomposed from the HDR content close to the original SDR content. A lookup table (LUT) can be used to implement SDR to HDR conversion (i.e., inverse tone mapping (ITM)) and HDR to SDR decomposition (tone mapping (TM)). However, the LUT is only given as an example of representing the tone mapping function and the inverse tone mapping function. The aspects described and contemplated in this application can be implemented in many different forms and are not limited to using LUTs to represent the tone mapping function and the inverse tone mapping function.
[0035] The content-dependent metadata MD includes tone mapping parameters (eg white and black level offsets, shadow gain, etc.) and additional parameters, such as characteristics of HDR / SDR pictures.
[0036] An example of the syntax of the SL-HDR tone mapping parameters as defined in section 6.2.5 of ETSI document TS 103433-1 is given below:
[0037]
[0038]
[0039] tmInputSignalBlackLevelOffset indicates the black level offset to be subtracted from the signal and used to calculate the signal gain as the first step in the luminance mapping curve reconstruction process.
[0040] tmInputSignalWhiteLevelOffset indicates the white level offset used to calculate the signal gain as the second step in the luminance mapping curve reconstruction process.
[0041] shadowGain indicates the gain used to adjust the steepness of the brightness mapping curve in its shadow (darker) regions.
[0042] highlightGain indicates the gain used to adjust the steepness of the brightness mapping curve in its highlight (brighter) areas.
[0043] midToneWidthAdjFactor indicates the gain used to adjust the width of the luma mapping curve in its mid-tone region.
[0044] tmOutputFineTuningNumVal specifies the number of pivot points in the piecewise linear tone mapping output fine tuning function ftlum() that maps the local tone mapping input value to the adjusted value. In ETSI document TS103 433-1, tmOutputFineTuningNumVal∈[0;10].
[0045] tmOutputFineTuningX indicates the xi value of the tone mapping output fine-tuning function ftlum().
[0046] tmOutputFineTuningY indicates the yi value of the tone mapping output fine-tuning function ftlum().
[0047] System A also includes an encoder 12 that is configured to encode the SDR content and metadata MD into encoded data, such as into a bitstream. The encoder 12 can be an AVC ((ISO / CEI 14496-10 / ITU-T H.264) encoder, a 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, Generic Video Coding / ITU-T H.266) encoder, or any other encoder (e.g., an ECM encoder). The present aspect is not limited to VVC, ECM, or HEVC, and can be applied to, for example, other standards and proposals (whether pre-existing or developed in the future), as well as extensions of any such standards and proposals (including VVC, ECM, and HEVC). The metadata MD can be carried, for example, in an SEI message (SEI stands for "Supplemental Enhancement Information").
[0048] The coded data can be stored on a storage medium or carried throughout an existing SDR distribution network, with accompanying metadata transmitted on a specific channel or embedded in the SDR bitstream. Therefore, the coded data can be obtained (e.g., received) by system B, which is able to reconstruct HDR content from the obtained coded data. Therefore, system B includes a decoder 14 and a post-processing module 16, the decoder 14 is configured to decode the obtained coded data into SDR content and metadata MD, and the post-processing module 16 is configured to reconstruct HDR content from the SDR content and metadata MD. The decoder 14 can be an AVC decoder, an HEVC decoder, a VVC decoder, or any other decoder. The decoder 14 implements the inverse steps of the encoder 12.
[0049] Figure 2 Detailed block diagram of the processing module 10 according to one example is illustrated. 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.
[0050] 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 TS 103433-1). To this end, the pre-processing module 102 is configured to implement a tone mapping process. The metadata MD allows the system B to perform an SDR to HDR reconstruction of the HDR content.
[0051] In one variant, the inverse tone mapping (ITM) module 100 is configured to generate metadata MD and send it to the pre-processing module 102, for example in the form of a SEI (Supplementary Enhancement Information) message (such as the message defined in Table A.1 of ETSI document TS103433-1v1.4.1).
[0052] Figure 3A A block diagram of an ITM module 100 according to an example is shown. The ITM module 100 includes a module 1000 configured to obtain information representing an inverse tone mapping function. In one example, the information is in the form of an inverse tone mapping lookup table denoted as ITMLUT1. ITM LUT1 is obtained, for example, by analyzing original SDR content, for example in YCbCr format. For example, document ITU-R BT.2446-1 describes in its section 4.2 a method for converting SDR content into HDR content using the following ITM function (also called an expansion function):
[0053] Y′ HDR =Y″ E(Y″)
[0054] Where Y”=255.0×Y', Y' is the input SDR signal in the range [0…1], when Y”≤T, E=a1Y″ 2 +b1Y″+c1, when Y″>T, E=a2Y″ 2 +b2Y″+c2, T=70, a1=1.8712e-5, b1=-2.7334e-3, c1=1.3141, a2=2.8305e-6, b2=-7.4622e-4, and c2=1.2528. As can be seen, the expansion function is based on a power function whose exponent depends on the brightness value of the current pixel. This is called global expansion, which means that all input pixels with the same brightness at the input (SDR input) will have the same brightness at the output (HDR output). Another example of an ITM function is given in the following formula:
[0055] Y HDR (Y)=Y 1.25 *1023 / 255 1.25 (Equation 1)
[0056] Wherein the extended value of Y in the range [0...255] is mapped in the range [0...1023].
[0057] This formula can then be used to fill an ITM LUT1 with 1024 entries for each Y value between 0 and 255. The present principles are not limited to the above-described ITM function. Any other method suitable for deriving an ITM function for converting SDR content to HDR content can be used.
[0058] The ITM module 100 further includes a module 1002 configured to obtain information representing a tone mapping function by inverting the inverse tone mapping function obtained by the module 1000. In one example, inverting the inverse tone mapping function obtained by the module 1000 includes inverting the ITM LUT1 to obtain a so-called TML_LUT1, i.e., a tone mapping LUT for HDR to SDR conversion. In the case where the ITM function is defined by (Equation 1), the tone mapping function can be expressed as follows: Y=(10 (log Y HDR –A) ) 1 / 1.25 , where A = log(1023 / 255 1.25 )=1.710 -3 Then, for each Y between 0 and 1023 HDR values, you can use this formula to fill TML_LUT1 with 1024 entries.
[0059] The ITM module 100 also includes an estimation module 1004 configured to estimate tone mapping parameters (e.g., white level offset and fine-tuning function) from L_LUT1, and a module 1006 configured to obtain a tone mapping LUT (labeled TML_LUT2) that approximates L_LUT1 in response to the estimated tone mapping parameters. In practice, once the tone mapping parameters are estimated, TML_LUT2 that approximates TML_LUT1 can be calculated in response to the estimated tone mapping parameters. More generally, once the tone mapping parameters are estimated, another tone mapping function can be calculated that approximates the tone mapping function obtained at the output of module 1002.
[0060] The ITM module 100 further includes a module 1008 configured to invert the TM L_LUT2 (or, more generally, the tone mapping function obtained at the output module 1006) to obtain an inverse tone mapping LUT (or, more generally, an inverse tone mapping function) denoted as ITMLUT2, 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 then transmitted to the pre-processing module 102. From the estimated tone mapping parameters (some of which may be quantized on 8 or 12 bits), the pre-processing module 102 is able to derive a tone mapping LUT, denoted as TM L_LUT. The pre-processing module 102 is then configured to apply the derived TM L_LUT to the HDR content to derive the SDR content to be transmitted to the encoder 12 along with the metadata MD.
[0061] exist Figure 3B In the variant depicted above, the ITM module 100 is configured to generate metadata MD from the estimated tone mapping parameters and additional parameters (e.g., country code, terminal provider code, proprietary data, etc.). To this end, the processing module 1012 is configured to process the data to place them in a suitable format, for example, in a SL-HDR information SEI message as defined in Table A.1 of ETSI document TS 103433-1 v1.4.1. The MD in the form of an SEI message can then be transmitted to the pre-processing module 102 together with the HDR content.
[0062] Figure 4 A flow chart depicts a method for constructing a TM LUT, designated L_LUT, that can be used by the pre-processing module 102. For a luma value i in [0; LUTSize], the lookup table L_LUT[i] 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.
[0063] In step S400, the input value i is multiplied by
[0064] Then, in step S402, the obtained value is raised to the power of γ. As an example, γ=2.4.
[0065] At step S404, the values obtained at step S402 are then converted to a perceptual domain (also referred to as a perceptually uniform domain) by means of an optoelectronic transfer function (OETF). An example of such an OETF curve is Figure 5In step S406, the values obtained in S404 are tone mapped. The tone mapping is controlled by a number of tone mapping parameters, namely white level offset (WS), shadowGain, highlightGain, midToneWidthAdjFactor and an additional fine-tuning function. In step S408, the obtained values are converted from the perceptually uniform domain back to the linear light domain by applying the electro-optical transfer function (EOTF). Figure 6 An example of such a curve is illustrated above. Then, in step S410, the value is raised to the power of 1 / γ and multiplied by 2 in step S412. N -1, N is an integer to obtain L_LUT[i]. In one example, N=10, in which case L_LUT is quantized on 10 bits.
[0066] Figure 7 A flowchart detailing the tone mapping step S406 according to one example is depicted.
[0067] In step S4060, the input signal Y pus The white level offset WS is adapted as follows: In step S4062, Y is detected in the perceptually uniform domain. bw Apply a brightness mapping curve. The brightness mapping curve is defined as a piecewise curve consisting of three parts, as shown in Figure 8A As shown above. The bottom segment of the curve is linear, and its steepness is determined by shadowGain. The upper segment is also linear, and its steepness is determined by highlightGain. The middle segment is a parabola, which provides a smooth bridge between the two linear segments. The width of the crossover is determined by midToneWidthAdjFactor.
[0068] In other words, the function Map() associated with the brightness mapping curve is defined as follows:
[0069]
[0070] Values SGC, a, b, c, HCG, x SGC and x HGC Defined by equations C.21 to C.29 in section C.2.2.4 of ETSI document TS 103433-1, which is incorporated herein by reference in its entirety.
[0071] Returning to FIG3 , the tone mapping parameters are estimated by module 1004 based on L_LUT1. More precisely, knowing Figure 4The input and output of the tone mapping method shown above can estimate the tone mapping parameters, namely the first tone mapping parameter representing the white level offset (WS) and the second tone mapping parameter including a value pair representing the fine-tuning function. These value pairs are also called pivot points. The other tone mapping parameters use default values, such as black level offset equal to 0, highlight gain equal to 2, and midToneWidthAdjFactor equal to 0. The shadow gain denoted as ShadowGain is defined as follows:
[0072] ShadowGain=Quantif_8bits(4*(expgain-0.5))=0.69, where expgain=0.673 and Quantif_8bits(.) is 8-bit quantization.
[0073] expgain is defined as follows:
[0074]
[0075] in These values for expGain and ShadowGain are given for a 1000 nit HDR source. For 2000 nit HDR, 2000 replaces 1000 in the above equation to determine ShadowGain.
[0076] Fine-tuning function ftlum(x i ) is applied to the input signal x i The output signal yi can be calculated according to the following equation:
[0077]
[0078] The fine-tuning function ftlum() is a piecewise linear function. The samples that explicitly define the fine-tuning function ftlum() are pairs of values denoted (FTF_X, FTF_Y), also known as pivot points. In other words, each pair (FTF_X, FTF_Y) defines the coordinates of a pivot point (or the input and output values of the fine-tuning function).
[0079] To estimate samples for a well-defined fine-tuning function ftlum(), a basic approach consists of using the default values for the tone mapping parameters (e.g., tmInputSignalBlackLevelOffset, tmInputSignalWhiteLevelOffset, shadowGain, highlightGain, and midToneWidthAdjFactor as defined in ETSI document TS103433-1) and fine-tuning the ETSI-based TMOLUT using the (FTF_X, FTF_Y) pair to match the desired TM L_LUT1. The (FTF_X, FTF_Y) pair is thus calculated in such a way that a linear interpolation of these pivot points approximates the ideal fine-tuning function (the function defined by TM L_LUT1).
[0080] This technique works well for still images because the original TMO curve is well estimated. However, over a video sequence, the original ITMO curve may change from one frame to the next. Optimizing the (FTF_X, FTF_Y) pair independently on each frame can produce very small variations in these (FTF_X, FTF_Y) values over the sequence of frames. For some sequences, these variations can be objectionable for both the HDR sequence generated at the output of the ITM module 1010 and the output of the post-processing module 16.
[0081] In comparison, the following reference Figure 9 The disclosed method for estimating tone mapping parameters makes it possible to avoid or at least limit these variations. More precisely, WS and FTF_X and FTF_Y are estimated so that the TMO in the perceptual domain derived from the estimated WS and FTF_X and FTF_Y matches the TMO derived from the ITMO initial curve itself obtained from the ITM LUT1. The TMO is obtained from the ITMO by inverting the X and Y axes. If necessary to achieve HDR perception equal to 1, a linear extrapolation is added. Examples of ITMO and TMO curves in the perceptual domain are given in Figure 8B Depicted above.
[0082] Figure 9 Depicted is a flow chart of a method for estimating tone mapping parameters according to one example.
[0083] In step S500, the current SDR picture I k A first tone mapping parameter representing a white level offset WS[k] is obtained, where k is an index identifying the picture. In one example, the first tone mapping parameter is a white level offset WS[k].
[0084] The white level offset WS[k] is derived from the initial L_LUT1. To do this, determine the minimum X in the HDR perceptual domain.WS value, for which TMO(X WS )=V max , where TMO() is the function applied in S406, which can be derived from L_LUT1. In fact, from L_LUT1, the input and output of S406 can be derived, and thus the TMO curve in the perceptual domain. More precisely, the input of S406 is obtained by applying steps S400 to S404 to i, and the output is obtained by applying the inverse of steps S412, S410 and S408 to L_LUT1[i]. As an example, in Figure 8B (right side), the value V max = 1, and when HDR perception is equal to 0.8, this value is reached for SDR perception. Therefore, WS is calculated as WS = 1 - 0.8 = 0.2. The former ITMO module (1000 in FIG3 ) can decide to apply an automatic highlight level that varies frame by frame depending on the picture content. When the automatic highlight value is modified, the maximum value of the HDR level in the perception domain is modified (see Figure 8B ). Therefore, WS is modified. Changes in other parameters can modify WS, such as the MaxFall value, the diffuse white value (both values are expressed in nits). The MaxFall value can be defined as the maximum frame average light level (i.e., the maximum average brightness level of the image). Therefore, WS is calculated on a frame-by-frame basis.
[0085] In step S502, for the current picture I kThe obtained first tone mapping parameters are compared with corresponding first tone mapping parameters representing the white level offset obtained for the previous picture. In one example, the previous picture is the picture that immediately precedes the current picture in time 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 in each pair, i.e., FTF_X and FTF_Y, are updated in step S506. Otherwise, i.e., if the white level offset WS[k] has not changed, at most one value in each pair (e.g., FTF_Y) is updated. In one example, the FTF_Y value is updated while using the FTF_X value of the previous picture. If L_LUT1, and therefore the ftlum curve, changes, the FTF_Y value may change even if the FTF_X value of the previous frame is used, and is therefore updated by obtaining the FTF_Y corresponding to the FTF_X value from the new ftlum curve. This strategy ensures that the FTF_Y values follow the initial curve described by the (xi,yi) pairs. In a variant, if WS[k] has not changed, the FTF_Y values of the previous frame are used. The FTF_X values are updated. This strategy ensures that the FTF_X values follow the initial curve described by the (xi,yi) pairs.
[0086] exist Figure 9 In another variation not shown above, if WS[k] has not changed, both the FTF_X value and the FTF_Y value of the previous frame are used. In this case, FTF_X and FTF_Y are not updated.
[0087] Figure 10A A flowchart of a method for updating the FTF_X value and the FTF_Y value at S506 is depicted according to one example.
[0088] In step S5060, for each index i in [0, LUT1_size-1], a value pair (xi,yi) is obtained from L_LUT1, where LUT1_size is the size of L_LUT1, xi is the input of the fine-tuning function (S4064), and yi is the output. For this purpose, consider Figure 4 and Figure 7In the step of [0, LUT_size-1], for each index i in [0, LUT_size-1], after applying all processing steps up to and including the tone mapping step described by WS, shadow, midtone and highlight gains (i.e., S400, S402, S404, S4060 and S4062), a floating point value xi in [0, 1] is obtained. The value used in S4060 is the WS obtained in S500. In S4062, the default values are used for shadowGain, highlightGain and midToneWidthAdjFactor.
[0089] The fine-tuning function is responsible for converting the xi value into:
[0090]
[0091] Where yi depends on L_LUT1. In fact, reference Figure 4 , for each index i in [0, LUT_size-1], the output of this 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, the value L_LUT1[i] is first divided by 2 N -1 (the inverse of step S412), then the obtained value is raised to the power of 2.4 (the inverse of step S410), and finally the inverse EOTF (i.e., OETF) is applied. Thus, at S5060, for i in [0, LUT_size-1], a LUT_size pair of (xi, yi) is obtained from L_LUT1.
[0092] The estimation of the pair (FTF_X,FTF_Y) consists in selecting a reduced number of pairs (xi,yi), such as Figure 11 As shown in . Figure 11 11 pairs (FTF_X, FTF_Y) are selected from the entire set of pairs (xi, yi). For this purpose, at S5062, first, at x=t k Interpolate the LUT_size pair of (xi,yi) at position, where t k = k / 255, where k is an integer in [0, 255]. The value 255 is just an example in the case of 8-bit quantization.
[0093] Therefore, the final FTF_X value is the original set {t k , a portion of k} in [0, 255], and corresponds to a quantized value on 8 bits. At S5064, P pairs (FTF_X, FTF_Y) are selected from the interpolated values. In one example, P = 10, i.e., 256 values x = t are selected for FTF_X. k10 values among them. In one variant, fewer than 10 values are selected. In another variant, more than 10 values are selected, for example 20. To this end, the interpolation pairs (xi,yi) are recursively deleted so as to keep a number P of pairs. A criterion based on a cost function is applied to determine which pairs can be deleted. Several cost functions can be used, such as a cost function corresponding to the error function between L_LUT1 based on the estimated parameters and the reconstructed L_LUT, or a cost function corresponding to the error function between an upsampled version of the tone mapping output fine-tuning function with the entire set of pairs (for example 256 pairs) and an upsampled version of the tone mapping output fine-tuning function with the remaining pivot points. The interpolation pairs (xi,yi) are therefore recursively deleted so as to reduce the cost function. More precisely, at each iterative step, the interpolation pair (xi,yi) whose deletion generates the minimum cost function value is selected as the interpolation pair to be deleted.
[0094] The associated floating point FTF values are the result of interpolating the FTF_X values of the original (xi,yi) LUT_size pairs. Therefore, the FTF_Y values do not correspond to quantized values on 8 bits, in the sense that they are not multiples of 1 / 255. If quantization is performed on more or less than 8 bits, other values can be used. As an example, if quantization is performed on 10 bits, then the LUT_size pair of (xi,yi) is first interpolated at x=t k The position is interpolated, where t k = k / 1023, where k is an integer in [0, 1023]. More generally, (xi, yi) is first k The position is interpolated, where t k =k / (2 M -1), where k is in the range [0, 2 M -1], M is an integer.
[0095] Figure 10B Depicted is a method for updating the current picture I in S506 according to another example. k Flowchart of the method for obtaining the FTF_X value and the FTF_Y value.
[0096] In step S5070, for each index i in [0, P-1], where P denotes the number of P pairs (FTF_X, FTF_Y), determine Y using the successive inverse steps of S4062 and S4060. pus,i .
[0097] More precisely, the previous image I is considered as the output of S4062 k-1 FTF_X i is used as input to the inverse step of S4062. The brightness mapping curve considered in this step is the brightness mapping curve of the previous picture I k-1The brightness mapping curve determined above. The input Y of S4062 bw,i So by using FTF_X i As input, reverse the previous image I k-1 The associated brightness mapping curve is derived.
[0098] Then, using the reverse step of S4060, using the previous image I k-1 WS from Y bw,i Export Y pus,i .
[0099] In step S5072, use Y pus,i As the input of S4060, use S4060 and S4062 and the current image I k WS and brightness mapping curves to derive updated FTF_X i .
[0100] Updated FTF_X i is further quantized to k / 255, where k is in [0, 255]. The value 255 is an example in the case of 8-bit quantization.
[0101] In step 5074, for each quantized FTF_X of the current picture i Value determines the floating point value i f . Get the unique i f value, so that for i f Applications S400, S402, S404, S4060, and S4062 provide quantized FTF_X i As the output of S4062.
[0102] For this f Floating point value, L_LUT1[i f ] is calculated by interpolation using L_LUT1[i], where i is an integer.
[0103] Finally, with FTF_X i Associated FTF_Y i is calculated as:
[0104]
[0105] Once passed Figure 10A or Figure 10B The values WS, FTF_X and FTF_Y are estimated by the method of , and the TM LUT2 and its inverse ITM LUT2 are obtained. More precisely, the floating point value of FTF_Y is used to obtain the TM LUT2 and its inverse ITM LUT2 used in the SDR to HDR inverse tone mapping process 1010. More precisely, in step S406, by applying Figure 4 and Figure 7 The method described above uses the estimated parameters (WS, 8-bit quantization point FTF_X, and floating point FTF_Y) to obtain TM L_LUT2. This allows for better quality of HDR pictures.
[0106] In addition, the floating-point value of FTF_Y can be further quantized on 8 bits, and the 8-bit quantized value of FTF_Y is transmitted to the pre-processing module 102 together with the 8-bit quantization point FTF_X value. These 8-bit quantized values (8-bit quantization point FTF_X and 8-bit quantization point FTF_Y) are also encoded and transmitted for use by the post-processing module 16. In fact, according to the ETSI specification, the pre-processing module 16 expects to receive 8-bit values. Any other quantization-generated metadata MD does not comply with the current ETSI specification. For perfect HDR round-trip, the pre-processing module 102 uses the same 8-bit quantization value.
[0107] Alternatively, the FTF_Y value may be quantized on more than 8 bits before being sent to the pre-processing module 102. As an example, the FTF_Y value may be quantized on 12 bits before being sent to the pre-processing module 102. Figure 12 In another example shown, the FTF_Y value quantized on 8 bits is transmitted to the pre-processing module 102 along with the quantization difference, thereby allowing the pre-processing module 102 to reconstruct the FTF_Y value quantized on 12 bits. This can 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, at the expense of 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 FTF_Y value quantized on 8 bits can still be encoded and transmitted to the post-processing module 16 to comply with the current ETSI specification.
[0108] In a variant, X and Y are interchanged. The examples disclosed above apply in the same way. Thus, first, when y=t k Interpolate the LUT_size pair of (xi,yi) at position, 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 , a portion of k} in [0, 255], and corresponds to a quantized value on 8 bits. As disclosed above, at S5064, P pairs (FTF_X, FTF_Y) are selected from the interpolated values. In one example, P = 10, i.e., 256 values y = t are selected for FTF_Y. kIn one variant, fewer than 10 values are selected. In another variant, more than 10 values are selected, for example 20. The associated floating-point FTF_X values are interpolated from the FTF_Y values of the original (xi,yi) LUT_size pairs. Therefore, the FTF_X values do not correspond to quantized values on 8 bits, in the sense that they are not multiples of 1 / 255.
[0109] 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 ITMLUT2 used in the SDR to HDR inverse tone mapping process 1010. More precisely, in step S406, by applying Figure 4 and Figure 7 The method described above uses the estimated parameters (WS, floating point FTF_X, and 8-bit quantization point FTF_Y) to obtain TM L_LUT2. This allows for better quality of HDR pictures.
[0110] In addition, the floating-point value of FTF_X can be further quantized on 8 bits, and the 8-bit quantized value of FTF_X is transmitted to the pre-processing module 102 together with the 8-bit quantization point FTF_Y value. These 8-bit quantized values (8-bit quantization point FTF_X and 8-bit quantization point FTF_Y) are also encoded and transmitted for use by the post-processing module 16. In fact, according to the ETSI specification, the pre-processing module 16 expects to receive 8-bit values. Any other quantization-generated metadata MD does not comply with the current ETSI specification. For perfect HDR round-trip, the pre-processing module 102 uses the same 8-bit quantization value.
[0111] Alternatively, the FTF_X value may be quantized on more than 8 bits before being sent to the pre-processing module 102. As an example, the FTF_X value may be quantized on 12 bits before being sent to the pre-processing module 102. Figure 12 In another example shown, the FTF_X value quantized on 8 bits is transmitted to the pre-processing module 102 along with the quantization difference, thereby allowing the pre-processing module 102 to reconstruct the FTF_X value quantized on 12 bits. The FTF_X value quantized on 8 bits can still be encoded and transmitted to the post-processing module 16 to comply with the current ETSI specification.
[0112] Figure 12 A flow chart of a method for obtaining trim function values quantized on 8 bits and 12 bits from floating point values is depicted.
[0113] x float Is a floating point value (FTF_X value or FTF_Y value), x floatQuantized on 8 bits. The quantized value is marked as x 8b To this end, in step S600, x float Multiply by 255, that is, x = 255 * x float In step S602, the floating point value is converted into an integer value x 8b :x 8b =Int(x+0.5), where Int() is an operator that returns the integer part of its input.
[0114] The obtained value x 8b is the FTF_X value or FTF_Y value quantized on 8 bits.
[0115] The quantization difference is derived so that the value x quantized on 12 bits can be reconstructed 12b To this end, at S604, x 8b Multiply by 15. In the same way, in step S606, the floating point value x float Multiply by 15 and 255. The difference d between the two outputs is obtained in S608 and is in the range of [-7.5; 7.5]. The obtained difference d is then processed in step S610 to obtain Δx 12b , which is in the range [0; 14]. Therefore, Δx 12b =7+Int(d+0.5). Then, the ITM 100 can convert the two values x 8b and Δx 12b Transmitted to the pre-processing module 102.
[0116] In one example, these data are transmitted in an SEI message such as the one disclosed in Table A.1. More precisely, the values FTF_X and FTF_Y quantized on 8 bits are transmitted as tone_mapping_output_fine_tuning_x[i] and tone_mapping_output_fine_tuning_y[i] as shown in the following table (taken from Table A.1).
[0117]
[0118] tone_mapping_input_signal_black_level_offset indicates a black level offset.
[0119] tone_mapping_input_signal_white_level_offset indicates a white level offset.
[0120] shadow_gain_control indicates the adjustment to the shadow (darker) areas of the luminance mapping curve.
[0121] highlight_gain_control indicates the adjustment of the highlight (brighter) area of the brightness mapping curve.
[0122] mid_tone_width_adjustment_factor indicates the adjustment of the mid-tone area of the tone map.
[0123] tone_mapping_output_fine_tuning_num_val indicates the number of pivot points in the piecewise linear tone mapping output fine tuning function ftlum().
[0124] saturation_gain_num_val indicates the number of pivot points to adjust in the piecewise color correction curve.
[0125] tone_mapping_output_fine_tuning_x[i] and tone_mapping_output_fine_tuning_y[i] specify the input and output values for the i-th adjusted pivot point of ftlum().
[0126] In addition, the quantized difference Δx 12b It can 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 (extracted from Table A.1). This part of the message can be used to transmit proprietary data.
[0127]
[0128] 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.
[0129] sl_hdr_extension_6bits may be used to indicate a proprietary solution. In one example, sl_hdr_extension_6bits is set to 0.
[0130] sl_hdr_extension_length specifies the length of the SL-HDR extension data in bytes, excluding the bits used to signal the sl_hdr_extension_length itself.
[0131] sl_hdr_extension_data_byte[i] can have any value. In particular, in this example, these syntax elements are used to transmit Δx 12b More precisely, 2 consecutive bytes sl_hdr_extension_data_byte[i] (ie 16 bits) are used to transmit a tag (on 6 bits) indicating that the following information includes two Δx values for FTF_X or FTF_Y 12b Value, each Δx 12b The value is on 4 bits. In the following table, where the fine-tuning function is defined by 10 pivot points, ΔFTF_Y[k] represents the Δx of the k-th FTF_X pivot point. 12b The value, k, is an integer in the range [0; 9]. The bits marked with an X below are ignored and can therefore take any value.
[0132]
[0133] For all Δx 12b The values and labels are the same. In the example above, the label is equal to 0xF0. ΔFTF_Y[k], k∈[0;9] is the 10 Δx for FTF_Y 12b .
[0134] According to Δx 12b and x 8b , the pre-processing module 102 can reconstruct the value of x quantized on 12 bits (ie, FTF_X or FTF_Y value) as follows: 12b =x 8b / 255+(Δx 12b -7) / (15*255).
[0135] Refer to above Figure 12 The disclosed method can be applied to other examples besides 8 bits and 12 bits, in which case the values 15 and 255 are different.
[0136] Figure 13 Depicts the difference between the FTF_Y[i0] values of consecutive frames. When FTF_Y is a floating point value, the difference is in the range [-0.12, 0.12], as in Figure 12 When FTF_Y is quantized on 8 bits, the difference reaches + / - 1, as shown in Figure 13 This higher difference explains why sometimes annoying variations are observed. By using floating point values to derive the ITM LUT2, the quality of the HDR obtained at the output of module 1010 is improved.
[0137] Figure 14AAn example of the architecture of a processing module 110 included in system A (respectively, system B), in a system or module included in system A (respectively, system B), such as processing module 10, post-processing module 16, encoder 12, decoder 14, ITM module 100, pre-processing module 102, or any one of modules 1000 to 1010, is schematically illustrated. The processing module 110 includes: a processor or CPU (central processing unit) 1100, which includes, as non-limiting examples, one or more microprocessors, general-purpose computers, special-purpose computers, and processors based on multi-core architectures; a random access memory (RAM) 1101; a read-only memory (ROM) 1102; a storage unit 1103, which may include non-volatile memory and / or volatile memory, including but not limited to electrically erasable programmable read-only memory (EEPROM), read-only memory (ROM), programmable read-only memory (PROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, a magnetic disk drive and / or an optical disk drive, or a storage medium reader, such as an SD (Secure Digital) card reader and / or a hard disk drive (HDD) and / or a network-accessible storage device; and at least one communication interface 1104 for exchanging data with other modules, devices, systems, or equipment, connected via a communication bus 1105. The communication interface 1104 may include but is not limited to a transceiver configured to transmit and receive data via a communication network. The communication interface 1104 may include, but is not limited to, a modem or a network card.
[0138] For example, the communication interface 1104 enables, for example, the processing module 110 to receive HDR or SDR data and to output HDR or SDR data and metadata MD.
[0139] The processor 1100 is capable of executing 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 is capable of reading instructions from the RAM 1101 and executing them. These instructions form a computer program that enables, for example, the processor 1100 to implement an inverse tone mapping process or a tone mapping process, including instructions for Figure 4 、 Figure 7 、 Figure 9 and the process described in FIG10 .
[0140] All or some of the algorithms and steps of the process may be implemented in software by executing a set of instructions by a programmable machine such as a DSP (digital signal processor) or a microcontroller, or in hardware by a machine or dedicated components such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
[0141] Figure 14B Illustrated is a block diagram of an example of a system A in which various aspects and embodiments are implemented.
[0142] 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 in this document.
[0143] Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptops, cameras, smartphones, and servers. The elements or modules of system A 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, system A includes a processing module 110 that implements an inverse tone mapping process or tone mapping process, including information about Figure 4 、 Figure 7 、 Figure 9 and the process described in Figure 10. In various embodiments, system A 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.
[0144] Inputs may be provided to the processing module 110 through various input modules, as indicated in block 60. Such input modules include, but are not limited to, (i) a radio frequency (RF) module that receives an RF signal transmitted over the air, for example, by a broadcaster, (ii) a component (COMP) input module (or a set of COMP input modules), (iii) a universal serial bus (USB) input module, and / or (iv) a high-definition multimedia interface (HDMI) input module. Figure 14B Other examples not shown include composite video.
[0145] In various embodiments, the input module of block 60 has associated corresponding input processing elements, as known in the art. For example, the RF module can be associated with elements suitable for the following items: (i) selecting a desired frequency (also referred to as selecting a signal, or limiting a signal to a frequency band), (ii) down-converting the selected signal, (iii) again band-limiting a narrower frequency band to select a signal frequency band that can be referred to as a channel in some embodiments, (iv) demodulating the down-converted and band-limited 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 to perform these functions, such as a frequency selector, a signal selector, a band limiter, a channel selector, a filter, a down-converter, a demodulator, an error corrector, and a demultiplexer. The RF section can include a tuner that performs various of these functions, including, for example, down-converting a received signal to a lower frequency (e.g., an intermediate frequency or a near-baseband frequency) or baseband. Various embodiments rearrange the order of the above-mentioned (and other) elements, remove some of these elements, and / or add other elements that perform similar or different functions. Adding elements can include inserting elements between existing elements, such as, for example, inserting an amplifier and an analog-to-digital converter. In various embodiments, the RF module includes an antenna.
[0146] Additionally, the USB and / or HDMI modules may include corresponding interface processors for connecting System A to other electronic devices across the USB and / or HDMI connections. It should be understood that various aspects of input processing, such as Reed-Solomon error correction, may be implemented, for example, within a separate input processing IC or within processing module 110, as desired. Similarly, various aspects of USB or HDMI interface processing may be implemented within a separate interface IC or within processing module 110, as desired. The demodulated, error-corrected, and demultiplexed stream is provided to processing module 110.
[0147] The various components of system A can be provided within an integrated housing. Within the integrated housing, the various components can be interconnected and data can be transferred between them using a suitable connection arrangement, such as an internal bus known in the art, including an inter-IC (I2C) bus, wiring, and printed circuit boards. For example, in system A, processing module 110 is interconnected with the other components of system A via bus 1105.
[0148] The communication interface 1104 of the processing module 110 allows the system A to communicate over the communication network 111. The communication network 111 may be implemented, for example, within a wired and / or wireless medium.
[0149] In various embodiments, data is streamed to or otherwise provided to System A using a wireless network such as a Wi-Fi network (e.g., IEEE 802.11 (IEEE stands for Institute of Electrical and Electronics Engineers)). The Wi-Fi signal of these embodiments is received via a communication network and communication interface 1104 adapted for Wi-Fi communication. The communication network 111 of these embodiments is typically 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. Still other embodiments use the RF connection of input box 60 to provide streaming data to System A. As indicated above, various embodiments provide data in a non-streaming manner.
[0150] Figure 14C Illustrated is a block diagram of an example of a system B in which various aspects and embodiments are implemented.
[0151] System B can be embodied as a device including various components or modules and configured to generate SDR or HDR content suitable for display on an adapted display device. Examples of such systems include, but are not limited to, various electronic systems such as personal computers, laptops, smart phones, tablet computers, TVs, or set-top boxes. The components of System B can 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, System B includes a processing module 110 that implements decoding of SDR or HDR content. In various embodiments, System B 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.
[0152] Input to the processing module 110 can be provided through various input modules, as already described with respect to Figure 14B Indicated in block 60 of the description.
[0153] The various components of system B can be provided within an integrated housing. Within the integrated housing, the various components can be interconnected and data can be transferred between them using a suitable connection arrangement, such as an internal bus known in the art, including an inter-IC (I2C) bus, wiring, and printed circuit boards. For example, in system B, processing module 110 is interconnected with the other components of system B via bus 1105.
[0154] The communication interface 1104 of the processing module 110 allows the system B to communicate over the communication network 111. The communication network 111 may be implemented, for example, within a wired and / or wireless medium.
[0155] In various embodiments, data is streamed to or otherwise provided to System B using a wireless network such as a Wi-Fi network (e.g., IEEE 802.11 (IEEE stands for Institute of Electrical and Electronics Engineers)). The Wi-Fi signal of these embodiments is received via a communications network 111 and communications interface 1104 adapted for Wi-Fi communications. The communications network 111 of these embodiments is typically 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. Still other embodiments use an RF connection of input box 60 to provide streaming data to System B. As indicated above, various embodiments provide data in a non-streaming manner, for example, when System B is a smartphone or tablet computer. Additionally, various embodiments use wireless networks other than Wi-Fi, such as a cellular network or a Bluetooth network.
[0156] System B may provide output signals to various output devices using the communication network 111 or bus 1105. For example, system B may provide a decoded SDR or HDR signal.
[0157] System B can provide output signals to various output devices, including a display 64 (e.g., if System B is a set-top box that provides a 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 used in a television, tablet computer, laptop computer, cellular phone (mobile phone), or other device. Display 64 can also be integrated with other components (e.g., as in a smartphone) or standalone (e.g., an external monitor for a laptop computer). Display device 64 is compatible with SDR or HDR content. In various examples of embodiments, other peripherals 66 include one or more of a standalone digital video disk (or digital versatile disk) (DVR, for both terms), a disk player, a stereo system, and / or a lighting system. Various embodiments utilize one or more peripherals 66 that provide functionality based on the output of System B. For example, a disk player performs the function of playing the output of System B.
[0158] In various embodiments, control signals are transmitted between system B and the display 64, speaker 65, or other peripheral devices 66 using signaling 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 can be communicatively coupled to system B via dedicated connections through respective interfaces 61, 62, and 63. Alternatively, output devices can be connected to system B using a communication network 111 via communication interface 1104. Display 64 and speaker 65 can be integrated into a single unit with other components of system B in an electronic device such as, for example, a television. In various embodiments, display interface 61 includes a display driver, such as, for example, a timing controller (TCon) chip.
[0159] For example, if the RF module of input 60 is part of a stand-alone set-top box, the display 64 and speaker 65 may alternatively be separate from one or more other components. In various embodiments where the display 64 and speaker 65 are external components, the output signals may be provided via dedicated output connections, including, for example, an HDMI port, a USB port, or a COMP output.
[0160] When a figure is presented as a flow chart, it should be understood that it also provides a block diagram of the corresponding apparatus. Similarly, when a figure is presented as a block diagram, it should be understood that it also provides a flow chart of the corresponding method / process.
[0161] Each embodiment and each aspect described herein can be implemented in, for example, a method or process, a device, a software program, a data stream or a signal. Even if only discussed in the context of a single embodiment form (for example, discussed only as a method), the embodiment of the features discussed can also be implemented in other forms (for example, a device or program). The device can be implemented in, for example, suitable hardware, software and firmware. The method can be implemented in, for example, a processor, which generally refers to a processing device, including, for example, a computer, a microprocessor, an integrated circuit or a programmable logic device. The processor also includes a communication device, such as, for example, a computer, a cellular phone, a portable / personal digital assistant ("PDA"), a smart phone, a tablet computer, and other devices that are convenient for information communication between end users.
[0162] Reference to "one embodiment" or "an embodiment" or "one implementation" or "an implementation" and 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" and any other variations appearing in various places throughout this application are not necessarily all referring to the same embodiment.
[0163] Additionally, the present application may involve "determining" various pieces of information. Determining information may include one or more of the following: estimating information, calculating information, predicting information, retrieving information from a memory, or obtaining information, for example, from another device, module, or user.
[0164] Furthermore, the present application may refer to "accessing" various pieces of information. Accessing information may include one or more of: receiving information, retrieving information (e.g., from a memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information.
[0165] Additionally, the present application may refer to "receiving" various pieces of information. Like "accessing," receiving is intended to be a broad term. Receiving information can include one or more of the following: accessing information or retrieving information (e.g., from a memory). Furthermore, "receiving" is typically involved in one way or another during operations 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.
[0166] It should be appreciated that, for example, in the case of "A / B," "A and / or B," and "at least one of A and B," "one or more of A and B," any of the following uses of " / ," "and / or," and "at least one of," "one or more of," are intended to encompass selecting only the first listed option (A), or only the second listed option (B), or both options (A and B). As further examples, in the case of "A, B, and / or C," and "at least one of A, B, and C," "one or more of A, B, and C," such wording is intended to encompass 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 all three options (A, B, and C). This can be extended to as many items as are listed, as will be apparent to one of ordinary skill in this and related arts.
[0167] As will be apparent to one of ordinary skill in the art, embodiments or examples may produce a variety of signals that are formatted to carry information that can, for example, be stored or transmitted. The information may include, for example, instructions for performing a method, or data generated by one of the described embodiments or examples. For example, a signal may be formatted to carry an HDR or SDR image or video sequence and SL-HDR metadata of the described embodiments. Such a signal may be formatted as, for example, an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or a baseband signal. The formatting may include, for example, encoding an HDR or SDR image or video sequence with SL-HDR metadata in an encoded stream, and modulating a carrier with the encoded stream. The information carried by the signal may be, for example, analog or digital information. As is known, the signal may be transmitted over a variety of different wired or wireless links. The signal may be stored on a processor-readable medium.
[0168] We have described several embodiments above. The features of these embodiments may be provided individually or in any combination.
[0169] In one example, a method for estimating tone mapping parameters is disclosed, comprising:
[0170] - obtaining a first tone mapping parameter representing a white level offset for a current picture with a standard dynamic range;
[0171] - comparing the obtained first tone mapping parameters with corresponding first tone mapping parameters obtained for a previous picture; and
[0172] - in response to the comparing, updating second tone mapping parameters for the standard dynamic range current picture, wherein the second tone mapping parameters comprise a value pair representing a tone mapping output fine-tuning function.
[0173] In one example, comparing the obtained first tone mapping parameters with corresponding first tone mapping parameters obtained for a previous picture includes determining whether the obtained first tone mapping parameters are equal to corresponding first tone mapping parameters obtained for the previous picture.
[0174] In one example, obtaining a first tone mapping parameter representing a white level offset for a current picture with a standard dynamic range includes:
[0175] - obtaining information representative of an inverse tone mapping function suitable for generating a high dynamic range picture from a standard dynamic range current picture;
[0176] - obtaining information representing the tone mapping function by inverting the inverse tone mapping function; and
[0177] - determining a high dynamic range value having a highest output standard dynamic range value of the tone mapping function, wherein a first tone mapping parameter representing a white level shift is equal to one minus the determined high dynamic range value.
[0178] In one example, the information representing the inverse tone mapping function and the information representing the tone mapping function are lookup tables.
[0179] In one example, in response to the comparison, updating the second tone mapping parameters for the standard dynamic range current image includes updating both values in 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 in each pair if the obtained first tone mapping parameter is equal to the corresponding first tone mapping parameter.
[0180] In one example, updating at most one value in each pair includes:
[0181] - obtaining information representing a fine-tuning function from information representing a tone mapping function; and
[0182] - updating at most one value for each pair in response to both the information representative of the tuning function and the other value of the pair determined for a previous picture.
[0183] In one example, updating both values in each pair includes:
[0184] - obtaining information representing a fine-tuning function from information representing a tone mapping function;
[0185] - In response to the information obtained representing the fine-tuning function, at position k / (2 M -1), k and M are integers and k∈[0; 2 M -1]; and
[0186] - Select a subset of interpolation pairs.
[0187] In one example, selecting the subset of interpolation pairs includes recursively deleting value pairs in order to reduce the cost function.
[0188] 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 one of the above examples.
[0189] Also disclosed are methods of using any of the above examples or signals generated using the apparatus.
[0190] A computer program comprising program code instructions is disclosed, which, when executed by a processor, are used to implement the method of any one of the above examples.
[0191] Disclosed is a non-transitory information storage medium storing program code instructions for implementing the method of any one of the above examples.
[0192] Furthermore, embodiments may include one or more of the following features, devices, or aspects, alone or in any combination across the various claim categories and types:
[0193] • A bitstream or signal comprising one or more of said estimated tone mapping parameters, SDR or HDR data and / or SL-HDR metadata, or variations thereof.
[0194] Creating and / or transmitting and / or receiving and / or decoding a bitstream or signal comprising one or more of said estimated tone mapping parameters, SDR or HDR data and / or SL-HDR metadata, or variations thereof.
[0195] • A server, camera, TV, set-top box, cell phone, tablet computer, personal computer, or other electronic device that performs at least one of the described embodiments.
[0196] • A TV, set-top box, cell phone, tablet, personal computer, or other electronic device that performs at least one of the described embodiments and displays the resulting image (e.g., using a monitor, screen, or other type of display).
[0197] A TV, set-top box, cellular phone, tablet, personal computer, or other electronic device that tunes a channel (e.g., using a tuner) to receive a signal comprising encoded SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata and performs at least one of the described embodiments.
[0198] A TV, set-top box, cell phone, tablet, or other electronic device that receives a signal comprising SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata over the air (e.g., using an antenna) and performs at least one of the described embodiments.
[0199] A server, camera, cell phone, tablet, personal computer, or other electronic device that tunes (e.g., using a tuner) a channel to transmit a signal comprising SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata and performs at least one of the described embodiments.
[0200] A server, camera, cell phone, tablet, personal computer, or other electronic device that transmits a signal including SDR or HDR data, estimated tone mapping parameters, and / or SL-HDR metadata over the air (e.g., using an antenna) and performs at least one of the described embodiments.
Claims
1. A method for estimating tone mapping parameters, comprising: Obtaining ( S500 ) a first tone mapping parameter representing a white level shift for a current picture with a standard dynamic range; comparing the obtained first tone mapping parameters with corresponding first tone mapping parameters obtained for a previous picture (S502); and In response to the comparison, second tone mapping parameters are updated (S504, S506) for the standard dynamic range current picture, wherein the second tone mapping parameters include a value pair representing a tone mapping output tuning function.
2. The method of claim 1 , wherein comparing the obtained first tone mapping parameters with corresponding first tone mapping parameters obtained for a previous picture comprises determining whether the obtained first tone mapping parameters are equal to corresponding first tone mapping parameters obtained for the previous picture.
3. The method according to claim 1 or 2, wherein obtaining a first tone mapping parameter representing a white level offset for a standard dynamic range current picture comprises: Obtaining information representing an inverse tone mapping function suitable for generating a high dynamic range picture from a standard dynamic range current picture; Obtaining information representing the tone mapping function by inverting the inverse tone mapping function; and A high dynamic range value having the highest output standard dynamic range value of the tone mapping function is determined, and a first tone mapping parameter representing a white level shift is equal to one minus the determined high dynamic range value. The method according to claim 3 , wherein the information representing the inverse tone mapping function and the information representing the tone mapping function are lookup tables.
5. The method according to any one of claims 3 to 4, wherein in response to the comparison, updating the second tone mapping parameters for the standard dynamic range current picture includes updating both values in 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 in each pair if the obtained first tone mapping parameter is equal to the corresponding first tone mapping parameter.
6. The method of claim 5 , wherein updating at most one value in each pair comprises: obtaining information representing a fine-tuning function from information representing a tone mapping function; and At most one value for each pair is updated in response to both the information representing the tuning function and the other value of the pair determined for a previous picture.
7. The method of claim 5 , wherein updating both values in each pair comprises: obtaining information representing a fine-tuning function from information representing a tone mapping function; In response to the information obtained representing the fine-tuning function, at position k / (2 M -1), k and M are integers and k∈[0; 2 M -1]; and Select a subset of interpolation pairs. The method of claim 7 , wherein selecting a subset of interpolation pairs comprises recursively deleting pairs of values in order to reduce the cost function.
9. 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 the method according to any one of claims 1-8.
10. A signal generated using a method according to any preceding claim from claim 1 to 8 or by using an apparatus according to claim 9.
11. A computer program comprising program code instructions for implementing the method according to any one of claims 1 to 8 when executed by a processor.
12. A non-transitory information storage medium storing program code instructions for implementing the method according to any one of claims 1 to 8.
