Encoder, decoder, system, and method for determining tone mapping curve parameters
By employing a method to determine tone mapping curve parameters using anchor points, the flexibility and efficiency of HDR video frame tone mapping are improved, leading to optimized tone mapping with enhanced perceptual quality and local contrast.
Patent Information
- Application Number
- JP2024065991
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-04-16
- Publication Date
- 2025-09-17
- Estimated Expiration
- 2040-05-08
Smart Images

Figure 0007741236000011 
Figure 0007741236000012 
Figure 0007741236000013
Abstract
Description
[Technical Field]
[0001] The present disclosure generally relates to the field of video processing, and more particularly to high dynamic range (HDR) video and image processing. To this end, a method for determining one or more curve parameters of a tone mapping curve, an encoder for encoding HDR video frames, a decoder for decoding HDR video frames, and a system including the encoder and decoder are disclosed. In particular, the one or more curve parameters of the tone mapping curve may be generated based on a pair of previously acquired anchor points. [Background technology]
[0002] Generally, in digital imaging, dynamic range can refer to the range of brightness in a scene being photographed, the limits of the range of brightness that a given digital camera or film can capture, or the range of brightness that a display can show.
[0003] The dynamic range of a typical real-world scene is often 10 -3 nit~10 6 nits. In contrast, consumer displays typically have a much smaller dynamic range. Therefore, when a real-world scene is required to be displayed on a display, it is often necessary to scale down the high dynamic range of the real-world scene to a lower dynamic range for the display, a process called tone mapping. Tone mapping is generally a nonlinear mapping process.
[0004] For HDR image and video processing, nits or cd / m 2 To convert an optical signal into an electrical signal between 0 and 1, a perceptual quantization (PQ) curve is often used. The formula for a typical PQ curve is given below:
number
[0005] L' represents the electrical signal in the PQ domain and is contained in or includes values within the range [0,1], which are often referred to as PQ values or values in the PQ domain.
[0006]
number
[0007] The input of the PQ transfer function is an optical signal in the linear domain, and the output is an electrical signal in the PQ domain. There is a one-to-one mapping, so if no quantization is applied, the input and output values are actually equal; they just lie in two different domains: the linear domain and the PQ domain.
[0008] Furthermore, the PQ electro-optical transfer function (OETF) is often used for quantization. HDR images in the linear domain are first converted to the PQ domain and then quantized to 10 or 12 bits. Images in the PQ domain may be compressed by a codec for storage or transmission. Quantization in the PQ domain is more consistent with the human visual system because it is nonlinear. If quantization were performed in the linear domain, the perceptual distortion would be much greater.
[0009] Some conventional methods for tone mapping are based on using multiple points to determine the tone mapping curve to be used. Furthermore, some conventional methods are based on using a first curve (e.g., a linear curve) in the low light region, a second curve (e.g., a parabola) for the mid-tone range, and a third curve (e.g., a linear curve) in the high light region.
[0010] However, the problem with the conventional method is that the values of the points, or different parts of the various tone mapping curves themselves, cannot be freely selected, which greatly limits the flexibility of the final shape of the tone mapping curve.
[0011] Another problem with the conventional method is that it is quite difficult to select the curve parameters of the tone mapping curve.
[0012] Therefore, there is a need for improved methods for tone mapping. Summary of the Invention [Means for solving the problem]
[0013] In consideration of the above-mentioned problems and drawbacks, embodiments of the present disclosure aim to improve conventional methods, encoders, decoders, and systems for tone mapping, respectively. The objective is to provide a method for determining one or more curve parameters of a tone mapping curve to obtain an improved tone mapping curve suitable for tone mapping of HDR video frames. In particular, the embodiments provide greater flexibility for obtaining the final shape of the tone mapping curve. The embodiments are also efficient and resource-saving.
[0014] This object is achieved by the embodiments of the present invention as set forth in the attached independent claims. Advantageous developments of the disclosed embodiments are further defined in the dependent claims.
[0015] In particular, embodiments of the present invention may include obtaining a pair of anchor points, fine-tuning the anchor points, and using the fine-tuned anchor points to generate curve parameters for a tone mapping curve.
[0016] A first aspect of the present disclosure provides a method for determining one or more curve parameters of a tone mapping curve, the method including the steps of obtaining an HDR video frame and metadata associated with the HDR video frame; obtaining a pair of anchor points based on the HDR video frame and the metadata, where the pair of anchor points includes a first anchor point and a second anchor point of the tone mapping curve; and generating one or more curve parameters of the tone mapping curve based on the pair of anchor points.
[0017] The method may be performed (e.g., fully or partially) by an electronic device such as an encoder, a decoder, a system comprising an encoder and a decoder, an HDR system, an HDR television (TV), HDR color grading software, an HDR video transcoder, etc.
[0018] The method may be used to determine one or more curve parameters of a tone mapping curve. The tone mapping curve may be an adaptive HDR tone mapping curve. For example, the tone mapping curve (e.g., parameters of the tone mapping curve) may be adaptively determined for different HDR video frames. The tone mapping curve may represent a mapping (e.g., performed by a decoder) of input luminance values (x coordinates) to output luminance values (y coordinate values).
[0019] An example of a tone mapping curve of the present disclosure may be the base curve of the China Ultra-HD Video Industrial Alliance (CUVA) HDR standard.
[0020] Furthermore, HDR video frames and metadata associated with the HDR video frames may be obtained. For example, the HDR video frames may be in or converted to a perceptual quantizer (PQ) domain. Furthermore, the metadata associated with the HDR video frames may be derived or extracted from the HDR video frames. The metadata may be or include statistical data defining luminance characteristics of the HDR frames, for example, derived or extracted from HDR frames and / or other HDR frames of the same scene.
[0021] For example, the tone mapping curve may be a base curve of the CUVA HDR standard, and the metadata may include "MinSource" and "MaxSource" values as defined in the CUVA HDR standard.
[0022] In some embodiments, the method further comprises obtaining a pair of anchor points in the PQ domain.
[0023] Overall, the method of the first aspect provides an efficient and resource-saving method for obtaining one or more curve parameters of a tone mapping curve, where the curve parameters enable a decoder to obtain a tone mapping curve that can be optimized for tone mapping of HDR video frames. Thus, an improved tone mapping curve can be obtained for tone mapping of HDR video frames.
[0024] In one embodiment of the first aspect, the step of obtaining a pair of anchor points includes the steps of obtaining a plurality of (e.g., at least two, three, or four) pairs of anchor points; generating a piecewise linear curve for each pair of the plurality of pairs of anchor points; performing tone mapping on the HDR video frame based on each of the piecewise linear curves to obtain a plurality of tone-mapped HDR video frames; and selecting, based on the plurality of tone-mapped HDR video frames, a pair of anchor points for generating one or more curve parameters from among the plurality of pairs of anchor points.
[0025] For example, in some embodiments, multiple pairs of anchor points (e.g., at least two pairs of anchor points) may be obtained. Furthermore, a piecewise linear curve may be generated based on each pair of anchor points, i.e., at least two piecewise linear curves may be generated. Furthermore, for each piecewise linear curve, tone mapping for the HDR video frame may be performed, thereby obtaining at least two tone-mapped HDR video frames. Based on these, a pair of anchor points for generating the tone mapping curve may be selected based on, for example, a criterion representing or indicating a quality measure of or for each of the tone-mapped HDR frames obtained using the piecewise linear curve (e.g., local contrast, a color distortion model, or a perceptual quality model of the frame, particularly the HDR frame).
[0026] In one embodiment of the first aspect, the step of obtaining a pair of anchor points includes the steps of obtaining a plurality of (e.g., at least two, three, or four) pairs of anchor points; The method includes constructing a piecewise linear curve for each pair of anchor points, estimating a change in local contrast of the HDR video frame for each of the piecewise linear curves, and selecting the pair of anchor points that results in the highest local contrast.
[0027] In one embodiment of the first aspect, obtaining a pair of anchor points includes obtaining a plurality of (e.g., at least two, three, or four) pairs of anchor points including an initial pair of anchor points; constructing a piecewise linear curve for each pair of anchor points; estimating a change in local contrast of the HDR video frame for each of the piecewise linear curves compared with the local contrast of the HDR video frame tone mapped using the piecewise linear curve constructed using the initial pair of anchor points; and selecting a pair of anchor points that results in the highest local contrast.
[0028] Selection of a pair of anchor points for generating curve parameters from among multiple pairs of anchor points allows for improving the tone mapping curve, for example, determining one or more curve parameters of the tone mapping curve that improve the perceptual quality, e.g., contrast, of the HDR video frame after tone mapping.
[0029] In a further embodiment of the first aspect, the piecewise linear curve for each pair of anchor points connects the predetermined minimum anchor point with the respective first anchor point, connects the respective first anchor point with the respective second anchor point, and connects the respective second anchor point with the predetermined maximum anchor point.
[0030] In a further embodiment of the first aspect, the step of selecting a pair of anchor points for generating the one or more curve parameters includes determining a local contrast for each of the plurality of tone-mapped HDR video frames to obtain a plurality of local contrasts; and selecting, from among the plurality of pairs of anchor points, a pair of anchor points for generating the one or more curve parameters based on the plurality of local contrasts.
[0031] For example, multiple local contrasts may be obtained for multiple tone-mapped HDR video frames (i.e., local contrast for each tone-mapped HDR video frame). Further, a pair of anchor points that results in the largest or highest local contrast may be selected (e.g., the selected pair of anchor points is the pair of anchor points used to obtain the tone-mapped HDR video frame with the largest local contrast).
[0032] Selection of a pair of anchor points from among multiple pairs of anchor points for generating one or more curve parameters based on local contrast may result in an improved tone mapping curve.
[0033] In a further embodiment of the first aspect, the step of obtaining the plurality of pairs of anchor points comprises the steps of obtaining an initial pair of anchor points and obtaining further pairs of anchor points based on the initial pair of anchor points.
[0034] In some embodiments, the x and y coordinate values of the second anchor point of any pair are always greater than the x and y coordinate values of the respective first anchor point.
[0035] In a further embodiment of the first aspect, the x-coordinate value of the first anchor point of the further pair of anchor points is the same as the x-coordinate value of the first anchor point of the initial pair of anchor points, and / or the x-coordinate value of the second anchor point of the further pair of anchor points is the same as the x-coordinate value of the second anchor point of the initial pair of anchor points.
[0036] In a further embodiment of the first aspect, the y-coordinate value of the first anchor point of the further pair of anchor points is different from the y-coordinate value of the first anchor point of the initial pair of anchor points, and / or the y-coordinate value of the second anchor point of the further pair of anchor points is the same as the y-coordinate value of the second anchor point of the initial pair of anchor points.
[0037] In a further embodiment of the first aspect, the x-coordinate value of a first anchor point of the initial pair of anchor points is selected within a range between a predetermined minimum threshold and a predetermined central threshold, and / or the x-coordinate value of a second anchor point of the initial pair of anchor points is selected within a range between a predetermined central threshold and a predetermined maximum threshold.
[0038] In some embodiments, the predetermined minimum threshold may be, for example, a luminance value at which human visual cone cells can still perceive color, also referred to below as "minCone", and may in particular have a value of 0.15.
[0039] Furthermore, the predetermined central threshold may be, for example, a minimum human skin tone luminance value (hereinafter also referred to as "midLight") of the HDR video frame, in particular, having a value of 0.35. Furthermore, the predetermined maximum threshold may be, for example, a diffuse white luminance value (hereinafter also referred to as "defusingLight") as an upper threshold.
[0040] By selecting the initial anchor points as described above, an improved tone mapping curve can be obtained.
[0041] In a further embodiment of the first aspect, the y-coordinate value of the first anchor point of the initial pair of anchor points is equal to the x-coordinate value of the first anchor point of the initial pair of anchor points.
[0042] In a further embodiment of the first aspect, the y-coordinate value of the second anchor point of the initial pair of anchor points is calculated based on a histogram of luminance values of the HDR video frame.
[0043] For example, in some embodiments, the histogram of luminance values of an HDR video frame may be a histogram of pixels between "minCone" and "maxSource".
[0044] In a further embodiment of the first aspect, the method further includes the steps of calculating a number of pixels having luminance values between a predetermined minimum threshold and a predetermined maximum threshold, comparing the calculated number of pixels with values of histogram bins of a histogram of luminance values, and, if the values of the one or more histogram bins are greater than the calculated number, clipping pixel luminance values in the one or more histogram bins that are greater than a predetermined maximum display luminance value and setting a y-coordinate value of a second anchor point to an average value of the luminance values of all pixels belonging to the one or more histogram bins that are greater than the calculated number, and, if the values of the one or more histogram bins are not greater than the calculated number, clipping pixel luminance values of pixels between the predetermined center threshold and a predetermined maximum threshold and setting a y-coordinate value of the second anchor point to an average value of the luminance values of all pixels in the HDR video frame between the predetermined center threshold and the predetermined maximum threshold.
[0045] In a further embodiment of the first aspect, the method further comprises generating a tone mapping curve based on the one or more curve parameters.
[0046] In a further embodiment of the first aspect, the tone mapping curve is:
number
[0047] In a further embodiment of the first aspect, the method further comprises receiving the metadata and the HDR video frame.
[0048] In a further embodiment of the first aspect, the method further comprises transmitting one or more curve parameters as further metadata.
[0049] In a further embodiment of the first aspect, the method is performed by an encoder and / or a decoder.
[0050] A second aspect of the present disclosure provides an encoder for encoding HDR video frames, the encoder being configured to perform a method according to the first aspect and / or any of the embodiments of the first aspect.
[0051] The encoder of the second aspect achieves the benefits and advantages described with respect to the method of the first aspect.
[0052] A third aspect of the present disclosure provides a decoder for decoding HDR video frames, the decoder being configured to perform a method according to the first aspect and / or any of the embodiments of the first aspect.
[0053] The decoder of the third aspect achieves the benefits and advantages described with respect to the method of the first aspect.
[0054] A fourth aspect of the present disclosure provides a system for generating a tone mapping curve, the system comprising an encoder according to the second aspect and / or any of its embodiments, and a decoder according to the third aspect and / or any of its embodiments.
[0055] A fifth aspect of the present disclosure provides a computer program comprising program code for performing the method according to the first aspect and / or any of its embodiments.
[0056] A sixth aspect of the present disclosure provides a non-transitory storage medium having stored thereon executable program code which, when executed by a processor, causes the method according to the first aspect and / or any of its embodiments to be performed.
[0057] It should be noted that all devices, elements, units, and means described in this application can be implemented with software or hardware elements, or any kind of combination thereof. All steps performed by various entities described in this application, and functions described as being performed by various entities, are intended to mean that the respective entities are adapted or configured to perform the respective steps and functions. In the following description of specific embodiments, even if a specific function or step performed by an external entity is not reflected in the description of the specific detailed element of that entity that performs the specific step or function, it should be apparent to those skilled in the art that these methods and functions can be implemented with respective software or hardware elements, or any kind of combination thereof.
[0058] The above-described aspects and embodiments are explained in the following description of specific embodiments in connection with the accompanying drawings. [Brief explanation of the drawings]
[0059] [Figure 1] 1 shows a schematic diagram of a device (in particular an encoder for encoding HDR video frames or a decoder for decoding HDR video frames) according to an embodiment of the present invention; [Figure 2A] 1 shows a diagram illustrating an example tone mapping curve. [Figure 2B] 1 shows a diagram illustrating an example tone mapping curve. [Figure 2C] 1 shows a diagram illustrating an example tone mapping curve. [Figure 3A] FIG. 1 shows a diagram illustrating exemplary metadata. [Figure 3B] FIG. 1 shows a diagram illustrating exemplary metadata. [Figure 4] 1 shows a flowchart of a method for generating one or more curve parameters of a tone mapping curve by an encoder and transmitting the generated curve parameters to a decoder. [Figure 5] 10 shows a flowchart of a method for generating one or more curve parameters of a tone mapping curve by a decoder. [Figure 6] 1 shows a flowchart of a method for selecting a pair of anchor points for generating one or more curve parameters of a tone mapping curve. [Figure 7] FIG. 10 shows a diagram illustrating an example of obtaining an initial first anchor point. [Figure 8] FIG. 10 shows a diagram illustrating an example of obtaining an initial second anchor point, for example, an initial pair of anchor points. [Figure 9] FIG. 10 shows a diagram illustrating an example of a piecewise linear curve generated for a pair of anchor points. [Figure 10] 10A and 10B show diagrams illustrating examples of tone mapping curves generated based on curve parameters generated based on piecewise linear curves (shown for comparison). [Figure 11] 1 shows a flowchart of a method for determining one or more curve parameters according to one embodiment of the present invention. [Figure 12] An example pipeline for the HDR dynamic tone mapping process is shown. DETAILED DESCRIPTION OF THE INVENTION
[0060] FIG. 1 shows a schematic diagram of a device 100 according to an embodiment of the present invention. The device 100 may be an encoder for encoding HDR video frames. Alternatively, the device 100 may be a decoder for decoding HDR video frames. A system may further be formed comprising at least one such encoder and one such decoder. The device 100 may be configured to perform a method 1100 (see also the schematic diagram shown in FIG. 11 ) for generating one or more curve parameters 131, 132 of a tone mapping curve 130. For example, the curve parameters 131 and 132 may be parameters m_a and m_p, respectively, as described above. The tone mapping curve 130 may be used to tone map the HDR video frames. In particular, an embodiment of the present invention may be implemented in block 1201 or 1204 of a pipeline 1200 as shown in FIG. 12 . In particular, the method 1100 may be performed in block 1201 or 1204 of the pipeline 1200.
[0061] Device 100 is configured to obtain HDR video frames 111 and metadata 112 associated with HDR video frames 111. Device 100 may receive metadata 112 and HDR video frames 111, for example, separately. However, device 100 may also extract metadata 112 from HDR video frames 111. In particular, metadata 112 may be dynamic metadata, that is, metadata 112 may change for each HDR video frame 111 and / or for each scene of the HDR video.
[0062] Device 100 is further configured to obtain a pair of anchor points 120. The pair of anchor points 120 includes a first anchor point 121 and a second anchor point 122 of tone mapping curve 130. In particular, device 100 may obtain the pair of anchor points 120 based on the acquired HDR video frame 111 and / or the acquired metadata 112. Device 100 may also be configured to select the pair of anchor points 120 from among the multiple anchor points 120, for example, from among multiple candidate pairs of anchor points 120. When the pair of anchor points 120 is used to approximate a tone mapping curve and a tone mapping operation is performed based on the approximated tone mapping curve, the selection may be based on the pair of anchor points 120 that provides the highest local contrast.
[0063] Furthermore, the device 100 may be configured to generate one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) of the tone mapping curve 130 based on the pair of anchor points 120. The one or more curve parameters 131, 132 may thereby define the tone mapping curve 130.
[0064] If device 100 is a decoder, it may further generate a tone mapping curve 130 based on one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p). Furthermore, device 100 may then perform tone mapping on HDR video frame 111 using the generated tone mapping curve 130. The decoder or decoding device may include or be connected to a display, and may output the tone-mapped HDR video frame to the display.
[0065] If device 100 is an encoder, it may transmit one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) as further metadata 322b (see examples in FIGS. 3 and 4; further metadata may also be referred to as artistic metadata). To this end, device 100 may use the curve parameters 131, 132 as further metadata 322b, include this further metadata 322b in the obtained metadata 112 to obtain extended metadata, and then transmit the extended metadata. For example, this transmission may be to a decoder, which may then extract one or more curve parameters 131, 132 from the further metadata 322b and then generate a tone mapping curve 130 based thereon. Generation of a tone mapping curve is typically only required for displaying HDR video frames. Thus, for example, if an encoder or encoding device includes or is connected to a display and outputs tone-mapped HDR video frames to the display, the encoder may also generate a tone mapping curve, but may only determine one or more curve parameters of the tone mapping curve (e.g., for transmission or storage) and not generate the tone mapping curve or the respective tone-mapped HDR video itself.
[0066] In particular, the tone mapping curve 130 may be the so-called "Phoenix" tone mapping curve described below.
[0067] Device 100 (encoder or decoder) may include processing circuitry (not shown in FIG. 1 ) configured to execute, perform, or initiate various operations of device 100 described herein. The processing circuitry may include hardware and software. The hardware may include analog or digital circuits, or both analog and digital circuits. The digital circuits may include components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or general-purpose processors. In one embodiment, the processing circuitry includes one or more processors and non-transitory memory coupled to the one or more processors. The non-transitory memory may hold executable program code that, when executed by the one or more processors, causes device 100 to execute, perform, or initiate operations or methods described herein.
[0068] In particular, the device 100 may comprise a processor for executing a computer program including program code for performing the method 1100, i.e. for controlling the device 100 to perform the steps described above.
[0069] Reference is made to Figures 2A, 2B, and 2C, which show examples of tone mapping curves 130 that may be generated by a decoder, and in particular, which show exemplary tone mapping curves 130A, 130B, and 130C in the PQ domain (x-axis or coordinate: input luminance in the PQ domain, y-axis or coordinate: output / tone-mapped luminance in the PQ domain).
[0070] The obtained tone mapping curve 130 may be referred to as a "Phoenix curve" and, as explained above in the Overview of the Invention section,
number
[0071] For the "Phoenix Curve," the parameter "m_b" may be fixed to the minimum display luminance (the minimum display luminance value in the PQ domain, in other words, the PQ value of the minimum display luminance), the parameter m_n may be 1, and the parameter m_m may be 2.4. Furthermore, the remaining two variables are the parameters m_a and m_p, which may be, or may be included in, one or more of the curve parameters 131 and 132 mentioned above. That is, the device 100 may be configured to generate the parameters m_a and m_p of the tone mapping curve 130.
[0072] In particular, the curve parameter m_p represents a brightness control factor (in particular, a larger value of m_p represents a brighter tone mapping), and the curve parameter m_a is a scaling factor that controls the maximum output brightness of the output pixel (obtained by tone mapping using the tone mapping curve 130).
[0073] Other embodiments using the "Phoenix Curve" may use other parameters, for example, m_m may be in the range of 1 to 5 and m_n may be in the range of 0.5 to 2.
[0074] Embodiments may use other non-linear tone mapping curves (other than the "Phoenix curve") and approximate the non-linear tone mapping curves by a piecewise linear curve with two adaptive anchor points to determine an optimal pair of anchor points (e.g., in terms of perceptual quality) for these other non-linear tone mapping curves.
[0075] The tone mapping curve 130 may be generated in the PQ domain. In other words, the input L and output of the tone mapping curve 130 may both refer to PQ values. The input L may range from 0 to 1, where a PQ value of 0 is 0 nit in the linear domain and a PQ value of 1 is 10,000 nit in the linear domain. Furthermore, the output value may range from 0 to a PQ value that is less than or equal to the maximum display luminance in the PQ domain. The minimum and maximum display luminances depend on the actual display and may vary from display to display. Encoder and / or decoder embodiments know or at least assume the minimum and maximum display luminances of the display for which one or more parameters of the tone mapping curve are determined.
[0076] The exemplary tone mapping curves 130A, 130B, and 130C shown in FIGS. 2A-2C may be generated by the decoder based on, among other things, different maximum input luminances (e.g., associated with the HDR video frame 111) and maximum display luminances (e.g., displays to which the HDR video frame 111 is to be tone mapped). Further, by way of example, m_p=5.0. Tone mapping curve 130A may be generated by the decoder based on a maximum input luminance of 10,000 nits and a maximum display luminance of 500 nits. Furthermore, tone mapping curve 130B may be generated by the decoder based on a maximum input luminance of 10,000 nits and a maximum display luminance of 1,000 nits. Furthermore, tone mapping curve 130C may be generated by the decoder based on a maximum input luminance of 4,000 nits and a maximum display luminance of 1,000 nits.
[0077] Reference is now made to FIGS. 3A and 3B, which illustrate diagrams illustrating exemplary metadata 112. In particular, metadata 112 for a first mode is illustrated in FIG. 3A, and metadata 112 for a second mode is illustrated in FIG. 3B. The method 1100 according to an embodiment of the present invention may be performed in the first mode or the second mode, thereby allowing the encoder and decoder to operate in these different modes. By way of example, with reference to the CUVA HDR standard, the first mode is hereinafter referred to as the “automatic mode,” and the second mode is hereinafter referred to as the “artistic mode.” In both modes, one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) may be generated based on the HDR video frame 111 and / or the metadata 112, as described above. In particular, the “artistic mode” does not imply that the generation of the curve parameters 131, 132 is performed manually. Conventionally, in the artistic mode, one or more curve parameters may be manually designed and inserted into the metadata 112. However, according to embodiments of the present invention, the curve parameters 131, 132 (e.g., the curve parameters m_a and m_p) may be generated automatically by the device 100 and / or the method 1100 even in the artistic mode. Thus, the term "artistic mode" in this disclosure does not imply that a human artist or colorist is involved in generating one or more of the curve parameters 131, 132.
[0078] · Automatic mode: mode flag tone_mapping_mode=0. In this first mode, the acquired metadata 112 may include so-called “basic metadata” 312 as shown in FIG. 3A , for example, with reference to the CUVA HDR standard. Furthermore, one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) may be calculated based on the basic metadata 312 (included in the metadata 112), particularly in a decoder, which is the device 100. The basic metadata 312 may include typical image statistics, for example, with respect to the HDR video frame 111, a minimum luminance value, a maximum luminance value, an average luminance value, and / or a variance of luminance values (e.g., of the HDR frame 111). The basic metadata 312 may include a minimum set of parameters that may be sufficient to calculate the curve parameters 131 and 132 (e.g., curve parameters m_a and m_p). For example, the basic metadata 312 may include four parameters (with reference to the CUVA HDR standard) as follows: minimum_maxrgb_pq: The minimum of the maxrgb values of all pixels in the frame. The value is in the PQ domain. ·average_maxrgb_pq: The average value of the maxrgb values of all pixels in the frame. variance_maxrgb_pq: The difference between the 90th percentile maxRGB value of all pixels in the frame and the 10th percentile maxRGB value of all pixels in the frame. maximum_maxrgb_pq: The maximum value of the maxrgb values of all pixels in the frame. The value is in the PQ domain.
[0079] Here, the maxrgb value of a pixel is the maximum of the pixel's R, G, and B values. The values are in the PQ domain. Also, all four parameters given above are in the PQ domain (hence the value names ending in _pq).
[0080] These parameters of the basic metadata 312 may be transmitted by the encoder and received by the decoder (e.g., when both the encoder and the decoder operate in automatic mode) and may be used as a basis by the decoder to generate one or more curve parameters 131, 132, i.e., to first obtain a pair of anchor points 120 based on the basic metadata 312, and then generate the curve parameters 131, 132 based on the pair of anchor points 120, as described above.
[0081] Additionally, the metadata 112 may optionally include color metadata 322a (e.g., color adjustments or weighting factors). In a first mode, one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) of the tone mapping curve 130 (e.g., the "Phoenix" curve) can be calculated based on the basic metadata 312 of the metadata 112 and, optionally, based on the color metadata 322a.
[0082] Artistic mode (mode flag tone_mapping_mode=1): In this second mode, one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) may be determined in the encoder and then added to the metadata 112 (in particular to the basic metadata 312 and optionally also to the color metadata 322a), in particular as further metadata 322b. The generated curve parameters 131, 132 (e.g., curve parameters m_a and m_p) may be embedded in the further metadata 322b included in the metadata 112. The metadata 112, and therefore also the further metadata 322b, may then be provided to the decoder. The decoder (in artistic mode) may obtain the further metadata (e.g., one or more curve parameters 131, 132, e.g., curve parameters m_a and m_p) directly from the bitstream (e.g., by parsing the artistic mode metadata directly from the bitstream) and thus does not need to determine the one or more curve parameters 131, 132 from the basic metadata and the HDR video frame. This allows for reduced complexity and / or processing power at the decoder.
[0083] The additional metadata 322b may be specifically referred to as artistic mode metadata 322b (with reference to the CUVA HDR standard). The additional metadata 322b may also include cubic spline parameters such as "TH1, TH2, TH3, TH_strength" in addition to the generated tone mapping curve parameters 131, 132 (which are, for example, the calculated "Phoenix" curve parameters m_a, m_p). TH1 and TH3 are the x-values of the start and end points of the cubic spline curve. The y-value is the same as the corresponding point on the Phoenix curve. TH2 is an x-value between these. TH_strength is the y-value of the cubic spline curve at TH2, which may control the height of the cubic spline curve. In the range from TH1 to TH3, a cubic spline curve may be used that can replace the basic tone mapping curve (Phoenix curve). Furthermore, one or more non-overlapping ranges of cubic spline curves may be supported.
[0084] The decoder may generate the tone mapping curve 130 based on the further metadata 322b. In particular, the decoder may use one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) included in the further metadata 322b for generating the tone mapping curve 130. For example, the decoder may extract one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) from the further metadata 322b. In particular, the decoder may also discard these curve parameters 131, 132 included in the further metadata 322b and, for example, calculate new one or more curve parameters 131, 132 based on the base metadata 312 (e.g., if the decoder does not support "artistic mode").
[0085] In summary, the difference between the first mode (e.g., automatic mode) and the second mode (e.g., artistic mode) is that in the first mode, basic metadata 312 (of the metadata 112) is sent to the decoder, which generates one or more curve parameters 131, 132 based on this, while in the second mode, one or more curve parameters 131, 132 are calculated in the encoder, embedded in the metadata 112 as further metadata 322b, and sent to the decoder.
[0086] Figure 4 shows an embodiment of the present invention, where a method 1100 is performed by an encoder in a second mode (e.g., artistic mode). In particular, Figure 4 shows a flowchart of a method 400 performed by a system of an encoder and a decoder (which may be a conventional decoder), where the encoder generates one or more curve parameters 131, 132 and transmits the generated one or more curve parameters 131, 132 to the decoder as further metadata 322b.
[0087] In the following, method 400 is illustratively described with respect to this system, and without limiting the present disclosure, some of the steps (i.e., steps S401 to S404) are performed by the encoder and some of the steps (i.e., steps S405 to S406) are performed by the decoder.
[0088] In step S401, the encoder obtains the metadata 112, including the basic metadata 312. For example, the encoder 100 may obtain an HDR frame 111 (of an HDR video source) and extract the metadata 112, in particular the basic metadata 312, from the HDR video frame 111.
[0089] For example, the encoder may thereby obtain one or more of the following parameters: a maximum display luminance MaxDisplay(PQ value), a minimum display luminance MinDisplay(PQ value), and an RGB domain pixel buffer f[Nframe][3] of the current HDR video frame 111. f[Nframe][3] may be a 2-d array, where Nframe is the number of the pixel in the current HDR video frame 111, and 3 represents the three color channels, namely R, G, and B. For example, f
[11] [0] may be the R value of the 12th pixel in raster scan order, f
[11] [1] is G, and f
[11] [2] is B.
[0090] In step S402, the encoder obtains a pair of anchor points 120 as described above (a more detailed description of how the pair of anchor points 120 may be obtained / selected is provided further below). For example, the encoder may calculate two anchor points, including the first anchor point 121 and the second anchor point 122 described above. As described below, the encoder may select the pair of anchor points 120 (e.g., based on a tone mapping that produces the highest local contrast) or may fine-tune the pair of anchor points 120.
[0091] In step S403, the encoder generates one or more curve parameters 131 and 132 (e.g., curve parameters m_a and m_p) of the tone mapping curve 130 based on the pair of anchor points 120. For example, the encoder may calculate the curve parameters m_a and m_p described above with respect to the Phoenix curve based on the pair of anchor points 120.
[0092] In another example, the encoder may generate a curve parameter set P that includes one or more of the following parameters (as described above): m_p, m_m, m_n, m_b, K1, K2, K3. tone_mapping where m_p and m_a may be non-trivial, and all other parameters may be preset (m_m: 2.4; m_n: 1; K1, K2, K3 are all 1).
[0093] In step S404, the encoder obtains / generates the extended metadata 112, which includes the further metadata 322b. For example, the encoder may embed the further metadata 322b (exemplarily referred to herein as artistic mode metadata) into the metadata 112, i.e., add it to the basic metadata 312. The further metadata 322b includes one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p). Furthermore, the encoder may transmit the extended metadata 112, which includes the basic metadata 312 and the further metadata 322b, to the decoder.
[0094] In step S405, the decoder obtains the curve parameters 131, 132. For example, the decoder may extract one or more curve parameters 131, 132 (e.g., parameters m_a and m_p) from the obtained extended metadata 112, in particular from the further metadata 322b.
[0095] In step S406, the decoder generates the tone mapping curve 130. For example, the decoder may generate the tone mapping curve 130 based on the curve parameters 131, 132 (obtained in step S405). For example, the decoder may generate a Phoenix curve as one or more curve parameters 131, 132 based on m_a and m_p.
[0096] 5 illustrates another embodiment of the present invention, in which a method 1100 is performed in a decoder in a first mode (e.g., an automatic mode). In particular, FIG. 5 illustrates a flowchart of a method 500 performed by a system of an encoder (which may be a conventional encoder) and a decoder, where the decoder generates one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p).
[0097] In the following, the method 500 is exemplarily described to be described in relation to this system, and without limiting the present disclosure, step S501 is performed by an encoder, and steps S502-S504 are performed by a decoder.
[0098] In step S501, the encoder obtains the metadata 112. For example, the encoder may obtain an HDR video frame 111 (e.g., from an HDR video source) and may extract the metadata 112, in particular the basic metadata 312, from the HDR video frame 111. The encoder may then provide the metadata 112 and the HDR video frame 111 to a decoder. That is, the decoder may receive the metadata 112 and the HDR video frame 111.
[0099] In step S502, the decoder obtains a pair of anchor points 120. For example, the decoder may obtain the pair of anchor points 120 based on the received HDR video frame 111 and / or the basic metadata 312. The pair of anchor points 120 may include a first anchor point 121 and a second anchor point 122. As described below, the encoder may select the pair of anchor points 120 (e.g., based on a tone mapping that produces the highest local contrast) or may fine-tune the pair of anchor points 120.
[0100] In step S503, the decoder generates one or more curve parameters 131 and 132 (e.g., curve parameters m_a and m_p) of the tone mapping curve 130 based on the pair of anchor points 120. For example, the decoder 200 may calculate the curve parameters m_a and m_p of a Phoenix curve from the pair of anchor points 120.
[0101] In step S504, the decoder may generate the tone mapping curve 130. For example, the decoder may generate the tone mapping curve 130 based on the obtained curve parameters m_a and m_p, i.e., the decoder may generate a Phoenix curve as described above.
[0102] With respect to Figure 4 compared to Figure 5, it may be possible that the HDR video frame 111 at the decoder is different from the HDR video frame 111 at the encoder, for example, due to video compression. At the encoder side, method 1100 may be performed before encoding, thus processing the original HDR video frame 111. Performing method 1100 at the encoder may reduce complexity (since the encoder may use the original HDR video frame to determine one or more curve parameters, it is performed only once at the encoder and not at each decoder, and may provide better parameters and therefore better quality). However, at the decoder, it may be the encoded and compressed HDR video frame 111 that may be decoded and processed by method 1100.
[0103] Reference is now made to Figure 6, which illustrates a flowchart of an exemplary method 600 for determining a pair of anchor points 120 for generating one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p), as described above. In particular, method 600 illustrates an example of selecting a pair of anchor points 120 and fine-tuning the pair of anchor points 120 (e.g., based on tone mapping that produces the highest local contrast), as also described above. The pair of anchor points 120 for generating one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) is selected from among multiple pairs of anchor points 120. Generally speaking, the method 600 includes the steps of obtaining (by the device 100) a plurality of pairs of anchor points 120, generating a piecewise linear curve 901 for each pair of the plurality of pairs of anchor points 120, performing tone mapping on the HDR video frame 111 based on each of the piecewise linear curves 901 to obtain a plurality of tone-mapped HDR video frames, and selecting, based on the plurality of tone-mapped HDR video frames, a pair of anchor points 120 from the plurality of pairs of anchor points 120 for generating one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p).
[0104] Method 600 may be performed by an encoder or a decoder. In the following, method 600 is illustratively described as a method generally performed by device 100 (e.g., as shown in FIG. 1 ), without limiting the disclosure.
[0105] In steps S601a and S601b, the device 100 obtains an initial pair of anchor points 120, in particular, initial anchor point 1 (ie, initial first anchor point 121) and initial anchor point 2 (ie, initial second anchor point 122).
[0106] FIG. 7 shows an example of the initial first anchor point 121 obtained.
[0107] For example, the y-coordinate value of the initial first anchor point 121 may be equal to the x-coordinate value of the initial first anchor point 121. The x-coordinate value of the first initial anchor point 121 may be selected within a range between a predetermined minimum threshold and a predetermined center threshold.
[0108] In particular, the initial first anchor point 121 may be expressed as (L3, F3N), where L3 is the x-coordinate value of the initial first anchor point and F3N is the y-coordinate value of the initial first anchor point. Thus, in one embodiment, L3 may be equal to the value of Average_dark (PQ value) in metadata 112, and F3N may be equal to the value of Perceptual_dark (PQ value) of the target display. In other embodiments, the values of L3 and F3N are equal and may be calculated using the following formula:
number
[0109] Embodiments may be configured to use predetermined thresholds that represent or take into account the characteristics of the human visual system or human vision. For example, the minimum threshold may be set to a threshold luminance level below which the cones of the human visual system no longer perceive color (e.g., minCone) and therefore provide less information. Accordingly, the first anchor point is selected to be greater than the minimum threshold, e.g., greater than minCone. The center and maximum thresholds may be selected to be related to color perception. For example, the center threshold may be set to a value that represents or is for human skin color, e.g., a lower threshold for human skin color (e.g., midLight), and the maximum threshold may be set to a value that represents white (e.g., defusingLight). Accordingly, the second anchor point is selected between these two values so that skin color and white are better controlled by the second anchor point. In one embodiment, the minimum threshold may be set to minCone, the center threshold may be set to midLight, and the maximum threshold may be set to defusingLight. Other embodiments may use only one or more of the above thresholds and / or additional thresholds.
[0110] 8 shows a diagram illustrating an example of a obtained initial pair of anchor points 120, including an initial first anchor point 121 and an initial second anchor point 122. The x-coordinate value of the initial second anchor point 122 may be selected within a range between a predetermined center threshold and a predetermined maximum threshold.
[0111] In particular, the initial second anchor point 122 may be expressed as [M1, N1N], where M1 is the x-coordinate value of the initial second anchor point and N1N is the y-coordinate value of the initial second anchor point. M1 may be equal to average_midLight (PQ value) in the metadata 112, or may be calculated by averaging all maxRGB values within the range from midLight (i.e., the center threshold) to defusingLight (i.e., the maximum threshold). Furthermore, defusingLight = midLight + (MaxSource - midLight) * ratio, where the ratio may be preset to 4 / 6. Furthermore, MaxSource may be the maximum value of the maxRGB values of the source image (HDR video frame 111). MinSource may be the minimum value of the maxRGB values of the source image (HDR video frame 111). The calculation of the defusingLight value may be based on the lower threshold of the defuse white range, as recommended, for example, in the BT2048 standard.
[0112] Furthermore, the y-coordinate value of the initial second anchor point 122 may be calculated based on a histogram of the luminance values of the HDR video frame 111.
[0113] In particular, N1N may be the value of Perceptual_midLight (PQ value) or may be calculated based on a histogram of all maxRGB values in the range (midLight, defusingLight), specifically as follows:
[0114] First, device 100 may calculate a histogram of maxRGB values in the range of (minCone, MaxSource), and the histogram bin size may be set to (MaxSource-minCone)*V / U, where U and V are positive integers, and it is recommended that U be 6, and V be less than or equal to 3. Furthermore, device 100 may calculate the number of pixels having maxRGB values in the range of (midLight, defusingLight) and name it Half_Num. Furthermore, if the number of samples in a histogram bin is greater than Half_Num, this bin is called a HISA bin.
[0115] In this specification, a HISA bin represents the peak portion of the histogram. In other words, a HISA bin contains a larger portion of pixels than other bins. Therefore, if a HISA bin exists, it is more important than other bins because it contains significantly more pixels. Therefore, the anchor point calculation is based on pixels within the HISA bin. If a HISA bin does not exist, this means that the histogram is flat, all bins contain a similar number of pixels, and no bin is more important than others. In this case, the anchor point 2 calculation is not directed to a specific histogram bin, but is based on all pixels between midLight and defusingLight.
[0116] Device 100 may then calculate N based on the HISA bins, if there is more than one HISA bin:
number
number
number
number
[0117] In general, in one embodiment, device 100 may calculate the number of pixels having a luminance value between a predetermined minimum threshold and a predetermined maximum threshold. Furthermore, device 100 may compare the calculated number of pixels with the histogram bin values of a luminance value histogram. If the values of one or more histogram bins are greater than the calculated number, pixel luminance values in one or more histogram bins greater than a predetermined maximum display luminance value are clipped, and the y-coordinate value of the second anchor point is set to the average value of the luminance values of all pixels belonging to one or more histogram bins greater than the calculated number. If the values of one or more histogram bins are not greater than the calculated number, pixel luminance values between a predetermined center threshold and a predetermined maximum threshold are clipped, and the y-coordinate value of the second anchor point is set to the average value of the luminance values of all pixels in HDR video frame 111 between the predetermined center threshold and the predetermined maximum threshold.
[0118] In step S602, the device 100 calculates one or more further candidates for the first anchor point 121 and the second anchor point 122, i.e., one or more further pairs of anchor points 120. In particular, the device 100 may obtain one or more further pairs of anchor points 120 based on the initial pair of anchor points 120.
[0119] For example, device 100 may obtain more candidates for the second anchor point 122 expressed as (M1,N1N-M1*MaxDisplay*E / (MaxSource*10)), and may obtain more candidates for the first anchor point 121 expressed as (L3,F3N*MaxDisplay*F / (MaxSource*10). Device 100 may select different values of E and F to obtain more candidate pairs of anchor points 120. The value range of E may be between [1, 20], and the value range of F may be between [1, 10].
[0120] When further anchor points 121, 122 are selected (by device 100), the x-coordinate value of the first anchor point 121 of the further pair of anchor points 120 may be the same as the x-coordinate value of the initial first anchor point 121, and / or the x-coordinate value of the second anchor point 122 of the further pair of anchor points 120 may be the same as the x-coordinate value of the initial second anchor point 122 of the initial pair of anchor points.
[0121] Furthermore, the y-coordinate value of the first anchor point 121 of the further pair of anchor points 120 may be different from the y-coordinate value of the initial first anchor point 121, and / or the y-coordinate value of the second anchor point 122 of the further pair of anchor points 120 may be the same as the y-coordinate value of the initial second anchor point 122.
[0122] In step S603, device 100 generates a piecewise linear curve 901 for each pair of anchor points 120, i.e., for each of multiple pairs of anchor points 120, including the initial pair of anchor points 120 and one or more further pairs of anchor points 120. In this regard, FIG. 9 shows a diagram illustrating an exemplary piecewise linear curve 901 generated for a pair of anchor points 120.
[0123] As a result, the piecewise linear curve 901 for each pair of anchor points 120 connects the predetermined minimum anchor point 902 with the respective first anchor point 121, connects each first anchor point 121 with the respective second anchor point 122, and connects each second anchor point 122 with the predetermined maximum anchor point 902.
[0124] For example, the device 100 may select a pair of candidate anchor points 121, 122 with (minSource, minDisplay), i.e., the minimum anchor point 902, and (maxSource, maxDisplay), i.e., the maximum anchor point 902, and generate a piecewise linear curve 901 for this pair of anchor points 120. This piecewise linear curve 901 may be used as a candidate for approximating the final tone mapping curve 130.
[0125] In step S604, device 100 performs tone mapping and calculates local contrast using piecewise linear curve 901. Generally speaking, device 100 may perform tone mapping on HDR video frame 111 based on each of piecewise linear curves 901 to obtain multiple tone-mapped HDR video frames. Device 100 may also determine a local contrast for each of the multiple tone-mapped HDR video frames to obtain multiple local contrasts.
[0126] For example, different values of E and F may result in different pairs of anchor points 120 and therefore different piecewise linear curves 901. Furthermore, each piecewise linear curve 901 may be used to tone map the current HDR video frame 11, and the local contrast is calculated. The local contrast may be calculated for the tone-mapped HDR video frame as follows: 1) Device 100 may divide the tone-mapped HDR video frame into smaller patches. The patch size may be 8x8, 16x16, 32x32, or 64x64. 2) For each image patch, device 100 may calculate the maximum maxRGB value of all pixels and the minimum maxRGB value of all pixels, and the local contrast is the difference between the maximum and minimum values. 3) The device 100 may average the local contrast of all the patches and select it as the local contrast value for the tone-mapped HDR video frame.
[0127] In step S605, device 100 may then select a pair of anchor points 120 for generating one or more curve parameters 131, 132 (e.g., curve parameters m_a and m_p) from among the pairs of anchor points 120 based on the plurality of tone-mapped HDR video frames, in particular based on the plurality of local contrasts. For example, device 100 may select a pair of anchor points 120 that results in the highest local contrast.
[0128] For example, device 100 may separately select values E and F that result in maximum local contrast for the tone-mapped HDR video frame and calculate final anchor points 121 and 122, i.e., [L3,F3], [M1,N1].
[0129] In step S606, the device 100 may obtain some preset parameters of the tone mapping curve 130.
[0130] In step S607, for the tone mapping curve 130, the device 100 calculates the curve parameters 131, 132, for example, it may calculate the parameters m_p and m_a.
[0131] For example, device 100 may use a selected pair of anchor points [L3,F3] and [M1,N1] and the following equations to calculate m_a and m_p:
number
[0132] Furthermore, the device 100 may generate a tone mapping curve 130. An example of the tone mapping curve 130 based on one or more curve parameters 131, 132. Optionally, the device 100 may also additionally transmit preset parameters of the tone mapping curve 130.
[0133] For comparison, FIG. 10 shows a tone mapping curve 130 generated based on one or more generated curve parameters 131, 132, and a piecewise linear curve 901 generated based on a selected pair of anchor points 121, from which one or more curve parameters 131, 132 have been generated.
[0134] 11 shows a flowchart of a method 1100 according to an embodiment of the present invention for determining one or more curve parameters 131, 132. The method 1100 may be performed by the device 100, i.e., the encoder or the decoder, as described above.
[0135] The method 1100 includes a step S1101 of obtaining an HDR video frame 111 and metadata 112 associated with the HDR video frame 111.
[0136] The method 1100 further includes a step S1102 of obtaining a pair of anchor points 120 based on the HDR video frame 111 and the metadata 112, where the pair of anchor points 120 includes a first anchor point 121 and a second anchor point 122 of the tone mapping curve 130.
[0137] The method 1100 further includes a step S1103 of generating one or more curve parameters 131, 132 of the tone mapping curve 130 based on the pair of anchor points 120. The one or more curve parameters 131, 132 may be, for example, curve parameters m_a and m_p, respectively.
[0138] FIG. 12 shows an example signal processing pipeline 1200 for an HDR dynamic tone mapping process. The input of the system is HDR video, e.g., an HDR video frame of an HDR video. Typically, this HDR video may be the output of a post-production stage where a colorist has used a color grading system to edit the video for better quality or for a specific artistic intent. HDR video has a high peak brightness, often 1000 nits or 2000 nits, and in the near future, 4000 nits or 10,000 nits. Furthermore, the pixel values of the video are in the PQ domain.
[0139] In the HDR pre-processing block 1201, the HDR video remains the same as the input. However, metadata is calculated. Furthermore, in the HDR video encoding block 1202, the HDR video is compressed, for example, by a video codec, such as H.265 or any other video standard (national, international, or proprietary). Furthermore, metadata is embedded in the header of the video stream transmitted from the encoder to the decoder (or stored in a storage medium for later retrieval by the decoder). In the HDR video decoding block 1203, the decoder receives the HDR video bitstream, decodes the compressed video, and extracts the metadata from the header.
[0140] Furthermore, the HDR dynamic tone mapping block 1204 performs tone mapping to adapt the HDR video to the display capabilities.
[0141] The present disclosure has been described in connection with various exemplary embodiments and implementations. However, other variations can be understood and effected by those skilled in the art in practicing the claimed disclosure, from a study of the drawings, the disclosure, and the independent claims. In the claims and the description, the word "comprises" does not exclude other elements or steps, and the indefinite articles "a" or "an" do not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous embodiment. [Explanation of symbols]
[0142] 100 Devices, Encoders, Decoders 111 HDR video frames 112 Extended Metadata 120 anchor points 121 First anchor point, initial anchor point, candidate anchor point 122 Second anchor point, candidate anchor point 130 Tone Mapping Curves 130A Tone Mapping Curve 130B Tone Mapping Curve 130C Tone Mapping Curve 131 Tone Mapping Curve Parameters 132 Tone Mapping Curve Parameters 312 Basic Metadata 322a Color Metadata 322b More Metadata 901 Piecewise linear curve 902 anchor point 1200 Signal Processing Pipeline Block 1201 Block 1202 Block 1203 1204 Block
Claims
1. 1. A method for determining one or more curve parameters of a tone mapping curve, the method comprising: obtaining a high dynamic range HDR video frame and metadata associated with the HDR video frame; obtaining a pair of anchor points based on the HDR video frame and the metadata, the pair of anchor points including a first anchor point and a second anchor point of the tone mapping curve; generating the one or more curve parameters of the tone mapping curve based on the pair of anchor points, the tone mapping curve comprising: L^'=m_a((m_p×L^(m_n)) / ((m_p-1)×L^(m_n)+1))^(m_m)+m_b where L is the luminance of an input pixel of the HDR video frame, m_a, m_b, m_m, m_n, and m_p are parameters of the tone mapping curve, specifically m_n=1, m_m=2.4, and m_b is the determined perceptual quantization PQ value, and the one or more curve parameters include m_p and m_a calculated based on the pair of anchor points; A method comprising:
2. the x-coordinate value of the first anchor point of the pair of anchor points is selected within a range between a predetermined minimum threshold and a predetermined central threshold; and / or The method of claim 1 , wherein the x-coordinate value of the second anchor point of the pair of anchor points is selected within a range between the predetermined center threshold and a first predetermined maximum threshold.
3. 3. The method of claim 2, wherein the x-coordinate value of the first anchor point of the pair of anchor points is an average value of maximum R, G, B values of a portion of pixels of the HDR video frame, the maximum R, G, B values of the portion of pixels being between the predetermined minimum threshold and the predetermined center threshold.
4. The method of claim 3 , wherein the predetermined minimum threshold is 0.15 and the predetermined central threshold is 0.
35.
5. The method of claim 2 , wherein a y-coordinate value of the first anchor point of the pair of anchor points is equal to the x-coordinate value of the first anchor point of the pair of anchor points.
6. 3. The method of claim 2, wherein the x-coordinate value of the second anchor point of the pair of anchor points is an average value of maximum R, G, B values of a portion of pixels of the HDR video frame, the maximum R, G, B values of the portion of pixels being between the predetermined center threshold and the first predetermined maximum threshold.
7. The method of claim 6 , wherein the y-coordinate value of the second anchor point of the pair of anchor points is calculated based on a histogram of luminance values of the HDR video frame.
8. The method comprises: calculating the number of pixels having a luminance value between the predetermined central threshold and the first predetermined maximum threshold; comparing the histogram bin values of the histogram of luminance values with the calculated number of pixels; and setting a y-coordinate value of the second anchor point based on a result of the comparison; The method of claim 7, comprising:
9. 9. The method of claim 8, further comprising, if the value of one or more of the histogram bins is greater than the calculated number, setting a y-coordinate value of the second anchor point to the average value of the luminance values of all pixels belonging to the one or more histogram bins greater than the calculated number.
10. 9. The method of claim 8, further comprising: if the value of one or more of the histogram bins is not greater than the calculated number, setting the y-coordinate value of the second anchor point to an average value of the luminance values of all pixels in the HDR video frame between the predetermined central threshold and a second predetermined maximum threshold.
11. 11. The method of claim 9 or 10, wherein if the luminance value of a pixel is greater than or equal to a predetermined maximum display luminance value, the predetermined maximum display luminance value is used instead of the luminance value of the pixel to calculate the average value.
12. 11. The method of claim 7, wherein the histogram bin size of the histogram is set to (MaxSource-minCone)*V / U, where U and V are positive integers, specifically U=6 and V is less than or equal to 3, MaxScore is a predetermined maximum display luminance value, and minCone is equal to the predetermined minimum threshold.
13. generating the tone mapping curve based on the one or more curve parameters; 11. The method of any one of claims 1 to 4 and 6 to 10, further comprising:
14. The method comprises: receiving the metadata and the HDR video frames; 11. The method of any one of claims 1 to 4 and 6 to 10, comprising:
15. The method comprises: transmitting said one or more curve parameters as further metadata.
11. The method of any one of claims 1 to 4 and 6 to 10, comprising:
16. An encoder for encoding HDR video frames, the encoder being configured to perform the method of any one of claims 1 to 15.
17. A decoder for decoding HDR video frames, the decoder being configured to perform the method of any one of claims 1 to 14.
18. 1. A system for generating a tone mapping curve, the system comprising: an encoder according to claim 16; a decoder according to claim 17; A system comprising:
19. A computer program comprising a program code for performing the method of any one of claims 1 to 15 when the computer program is executed by a processor.
20. 1. A computer-readable recording medium containing an encoded bitstream to be decoded by an image decoding device, the bitstream comprising: encoded data for high dynamic range (HDR) video frames and metadata associated with the HDR video frames; encoded data of a pair of anchor points, the pair of anchor points including a first anchor point and a second anchor point of a tone mapping curve obtained based on the HDR video frame and the metadata; encoded data of one or more curve parameters of said tone mapping curve; Including, The tone mapping curve is: L^'=m_a((m_p×L^(m_n)) / ((m_p-1)×L^(m_n)+1))^(m_m)+m_b wherein L is a luminance of an input pixel of an HDR video frame, m_a, m_b, m_m, m_n, and m_p are parameters of the tone mapping curve, specifically m_n=1, m_m=2.4, and m_b is a determined perceptual quantization PQ value, and the one or more curve parameters include m_p and m_a calculated based on the pair of anchor points.
Citation Information
Patent Citations
Imaging apparatus
JP2007228451A
Tone curve mapping for high dynamic range images
JP2020510913A
JPP7476354B