Method and apparatus for encoding both an HDR image and an SDR image using a color mapping function
By processing the brightness and chromaticity components of the HDR image and using the color mapping function to encode the HDR image and the SDR image into a bitstream, the problem of increasing image transmission bandwidth and difficult to optimize the bit rate in the prior art is solved. Efficient image encoding and decoding are realized.
Patent Information
- Application Number
- CN202111557943.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-06-30
- Filing Date
- 2016-06-27
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2036-06-27
AI Technical Summary
The prior art is difficult to effectively encode and decode color grading versions between high dynamic range images (HDR images) and standard dynamic range images (SDR images), resulting in increased bandwidth and difficult bit rate optimization in traditional infrastructure when transmission.
By performing nonlinear processing of the brightness component and scaling of the chrominance component on the HDR image, intermediate color components are generated, and the SDR image is mapped to the target color space using the color mapping function, thereby encoding the HDR image and the SDR image into a bitstream , including color mapping operations during encoding and decoding.
The encoding method that reduces the bit rate while ensuring image quality is realized, avoiding the problem of increasing bandwidth in the traditional method and improving the efficiency of image transmission.
Smart Images

Figure CN114189691B_ABST
Abstract
Description
[0001] This application is a divisional application of a Chinese patent application with an application date of June 27, 2016, a Chinese national phase entry date of December 29, 2017, and an application number of 201680039146.4 (“Method and device for encoding both an HDR image and an SDR image obtained from the HDR image using a color mapping function”). Technical Field
[0002] The present disclosure relates generally to image / video encoding and decoding. Background Art
[0003] This section is intended to introduce the reader to various technical aspects that may be related to various aspects of the present principles described below and / or claimed. It is believed that this discussion is helpful to provide the reader with background information to enable a better understanding of various aspects of the present principles. Therefore, it should be understood that: These statements should be interpreted in this manner and not as an admission of prior art.
[0004] In the following, an image contains one or several sample (pixel value) arrays of a specific image / video format that specifies all information about the pixel values of the image (or video) and all information that can be used by a display and / or any other device to, for example, visualize and / or decode the image (or video). An image includes at least one component in the form of a first sample array (usually a brightness (luma) component) and possibly at least one other component in the form of at least one other sample array (usually a color component). Or equivalently, the same information can also be represented by a set of color sample arrays, such as the traditional three-primary color RGB representation.
[0005] The pixel value is represented by the value of the vector C, where C is the number of components. Each value of the vector is represented by a number of bits, which defines the maximum dynamic range of the pixel value.
[0006] A standard dynamic range image (SDR image) is a color image whose brightness values are represented with a limited dynamic, which is usually measured in powers of 2 or f-stops. SDR images are encoded in a dynamic range (hereinafter also referred to as "dynamic") with an f-stop of about 10 (i.e., the ratio between the brightest pixel and the darkest pixel in the linear domain is 1000) and in a non-linear domain with a limited number of bits (most commonly 8 or 10 bits in HDTV (High Definition Television System) and UHDTV (Ultra High Definition Television System) for example by using ITU-R BT.709 OEFT (Opto-Electronic Transfer Function) (Rec. ITU-R BT.709-5, April 2002) or ITU-R BT.2020 OETF (Rec. ITU-R BT.2020-1, June 2014)) to reduce the dynamics. This limited non-linear representation does not allow for the correction of the rendering of small signal changes, especially small signal changes in the dark brightness range and the bright brightness range. In high dynamic range images (HDR images), the signal dynamics are much higher (up to 20 f-stops, the ratio between the brightest and darkest pixels is one million), and new nonlinear representations are needed to keep the signal high precision over the entire range. In HDR images, the raw data is usually represented in floating point format (32-bit or 16-bit per component, i.e. floating point or half-float), the most popular format is OpenEXR half-float format (16 bits per RGB component, i.e. 48 bits per pixel); or in long integers (usually at least 16 bits).
[0007] A color gamut is a complete set of colors. The most common usage refers to the set of colors that can be accurately represented within a given environment (e.g., within a given color space) or by a certain output device.
[0008] Sometimes, the color gamut is defined by the RGB primaries and the white point provided in the CIE 1931 color space chromaticity diagram, such as Figure 1 shown.
[0009] The primary colors are usually defined in the so-called CIE1931 color space chromaticity diagram. This is a two-dimensional diagram (x, y) that defines the color independently of the brightness component. Any color XYZ is then projected into this diagram using the following transformation:
[0010]
[0011] The z=1-xy component is also defined, but carries no additional information.
[0012] In this figure, the color gamut is defined by a triangle whose vertices are the (x, y) coordinates of the three primary colors RGB. The white point W is another given (x, y) point belonging to the triangle, usually close to the center of the triangle.
[0013] Color capacity is defined by a color space and the dynamic range of values represented in the color space.
[0014] For example, for UHDTV, the color gamut is defined by the RGB ITU-R Recommendation BT.2020 color space. The older standard ITU-R Recommendation BT.709 defined a smaller color gamut for HDTV. In SDR, the dynamic range is officially defined as up to 100 nits (candelas per square meter) for the color capacity of the encoded data, although some display technologies can show brighter pixels.
[0015] As Danny Pascale extensively explains in "A Review of RGB Color Spaces", a change in gamut (i.e., a transform that maps the three primaries and the white point from one gamut to another) can be performed by using a 3×3 matrix in a linear RGB color space. Furthermore, a space change from XYZ to RGB is performed by a 3×3 matrix. Therefore, regardless of whether RGB or XYZ is the color space, a change in gamut can be performed by a 3×3 matrix. For example, a gamut change from BT.2020 linear RGB to BT.709XYZ can be performed by a 3×3 matrix.
[0016] A high dynamic range image (HDR image) is a color image that expresses brightness values using HDR dynamics that are higher than those of an SDR image.
[0017] HDR dynamics are not yet defined by the standard, but a dynamic range of up to several thousand nits can be expected. For example, HDR color capacity is defined by the RGB BT.2020 color space and a dynamic range from 0 nits to 4000 nits to which values represented in the RGB color space belong. Another example of HDR color capacity is defined by the RGB BT.2020 color space and a dynamic range from 0 nits to 1000 nits to which values represented in the RGB color space belong.
[0018] Color grading an image (or video) is the process of changing / enhancing the color of an image (or video). Typically, color grading an image involves a change in the color capacity (color space and / or dynamic range) of the image or a change in the color gamut. Thus, two differently color graded versions of the same image are: a version of the image where values are represented in different color capacities (or color gamuts); a version of the image where at least one color is changed / enhanced according to a different color. This may involve user interaction.
[0019] For example, in film production, a trichromatic camera is used to capture (video) images as RGB color values consisting of 3 components (red, green and blue). The RGB color values depend on the trichromatic properties (color primaries) of the sensor.
[0020] Then, an HDR color graded version of the captured image (or video) is obtained in order to obtain a theatrical rendering (using a specific theatrical grade). Typically, the values of the first color graded version of the captured image (or video) are expressed according to a standardized YUV format such as BT.2020 (which defines parameter values for UHDTV).
[0021] Generally, the YUV format is implemented by applying a nonlinear function (the so-called Optoelectronic Transfer Function (OETF)) to the linear RGB components to obtain nonlinear components R'G'B', and then applying a color transform (usually a 3×3 matrix) to the obtained nonlinear R'G'B' components to obtain three components YUV. The first component Y is the luminance component, and the two components U, V are chrominance components.
[0022] The colorist then typically works with the director of photography to exercise control over the color values of the first color graded version of the captured image (or video) by fine-tuning / slightly adjusting some color values in order to gradually achieve artistic goals.
[0023] An SDR color graded version of the captured image is also obtained for home version rendering (using a specific home, Blu-ray Disc / DVD rating). Typically, the values of the second color graded version of the captured image are represented according to a standardized YUV format such as ITU-R Recommendation BT.601 (Rec.601), which defines studio encoding parameters for standard digital television for standard 4:3 and widescreen 16:9 aspect ratios, or ITU-R Recommendation BT.709, which defines parameter values for high definition television systems (HDTV).
[0024] Obtaining such an SDR color graded version of the captured image typically comprises shrinking the color volume of a first color graded version of the captured image (e.g. RGB BT.2020 1000 nits as modified by a colorist) so that a second color graded version of the captured image belongs to a second color volume (e.g. RGB BT.709 1000 nits). This is an automatic step using a color mapping function (CMF) (e.g. for mapping RGB BT.2020 format to RGB BT.709) that is typically approximated by a three-dimensional lookup table (also called 3D LUT). Note that all considered YUV formats are characterized using color primary parameters to allow definition of any RGB to YUV and YUV to RGB color mappings.
[0025] The colorist then typically works with the director of photography to exercise control over the color values of the second color graded version of the captured image by fine-tuning / slightly adjusting some color values to gradually achieve the artistic goals of the home version.
[0026] The problem to be solved is to publish both the HDR color graded version and the SDR color graded version of the captured image (or video), i.e., publish a compressed HDR image (or video) representing the color graded version of the captured image (or video), and at the same time publish an associated SDR image (or video) representing the color graded SDR version of the captured image (or video), for example for backward compatibility with conventional SDR displays. The associated SDR image (or video) is sometimes referred to as an imposed SDR image (video).
[0027] A simple and straightforward solution is to simulcast these HDR and SDR color graded images (or videos) on the distribution infrastructure. The disadvantage of this solution is that the required bandwidth is almost doubled compared to the traditional infrastructure suitable for broadcasting SDR images (or videos) such as HEVC Main 10 Profile ("High Efficiency Video Coding", SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Recommendation ITU-T H.265, Telecommunication Standardization Sector of ITU, October 2014).
[0028] Using traditional publishing infrastructure is a requirement for accelerating the emergence of HDR image (or video) publishing. In addition, the bit rate should be minimized while ensuring that both HDR images and SDR images (or videos) have good quality. Summary of the invention
[0029] The following content presents a brief summary of the present disclosure in order to provide a basic understanding of some aspects of the present disclosure. The present disclosure is not an extended overview of the present disclosure. It is not intended to identify key or important elements of the present disclosure. The following summary merely presents some aspects of the present disclosure in a simplified form as a preface to a more detailed description provided later.
[0030] The present principles aim to remedy at least one disadvantage of the prior art by a method for encoding both an HDR image and a first SDR image into at least one bitstream, the method comprising:
[0031] - Obtain a second HDR image from the HDR image by the following operations:
[0032] - obtaining a luminance component by applying a non-linear function to the luminance of the color image such that the dynamics of said luminance component are reduced compared to the dynamics of the luminance of the color image, wherein said non-linear function depends on a modulation value obtained from the luminance of the color image;
[0033] - The two chrominance components are obtained by the following operations:
[0034] - obtaining at least one intermediate color component by scaling each color component by a factor that depends on the luminance component; and
[0035] - deriving the two chrominance components from the at least one intermediate color component;
[0036] The second HDR image is obtained by combining the luminance component and the two chrominance components;
[0037] - obtaining a color mapping function allowing mapping the colors of the second SDR image to the colors of a third SDR image obtained from the first SDR image;
[0038] - encoding information representing the color mapping function into the bitstream; and
[0039] - Encoding a fourth SDR image derived from the first SDR image into the bitstream.
[0040] According to an example of the present principles, the third image and the fourth SDR image are the first SDR image.
[0041] According to an example of the present principles, the fourth SDR image is the first SDR image, and the third SDR image is a decoded version of the encoded first SDR image.
[0042] According to an example of the present principles, the third SDR image is the first SDR image, and the fourth SDR image is obtained by applying a color mapping function to the colors of the second SDR image.
[0043] According to an example of the present principles, the third SDR image is a decoded version of the encoded first SDR image, and the fourth SDR image is obtained by applying a color mapping function to the colors of the second SDR image.
[0044] According to another aspect of the present principles, the present principles relate to a method of decoding an HDR image from at least one bitstream, the method comprising:
[0045] - obtaining a decoded first SDR image from a decoded fourth SDR image obtained by decoding the bitstream;
[0046] - obtaining information representing a color mapping function by decoding the bit stream;
[0047] - obtaining a decoded second SDR image by applying the inverse of the color mapping function to the colors of a decoded third SDR image obtained from the decoded first SDR image; and
[0048] - Obtain a decoded HDR image from the decoded second SDR image by:
[0049] - obtaining a first component by applying a non-linear function to a luminance component obtained from a bitstream, such that the dynamics of said first component are increased compared to the dynamics of the luminance component;
[0050] - obtaining at least one color component from said first component, two chrominance components obtained from the bitstream and a factor depending on the luminance component (L); and
[0051] The decoded image is obtained by combining the at least one color component together.
[0052] According to another aspect of the present principles, the present principles relate to an apparatus for encoding both an HDR image and a first SDR image obtained from the HDR image into at least one bitstream, characterized in that the apparatus comprises a processor configured to:
[0053] - Obtain a second HDR image from the HDR image by the following operations:
[0054] - obtaining a luminance component by applying a non-linear function to the luminance of the color image such that the dynamics of said luminance component are reduced compared to the dynamics of the luminance of the color image, wherein said non-linear function depends on a modulation value obtained from the luminance of the color image;
[0055] - The two chrominance components are obtained by the following operations:
[0056] - obtaining at least one intermediate color component by scaling each color component by a factor that depends on the luminance component; and
[0057] - deriving the two chrominance components from the at least one intermediate color component;
[0058] The second HDR image is obtained by combining the luminance component and the two chrominance components;
[0059] - obtaining a color mapping function allowing mapping the colors of the second SDR image to the colors of a third SDR image obtained from the first SDR image;
[0060] - encoding information representing the color mapping function into the bitstream; and
[0061] - Encoding a fourth SDR image derived from the first SDR image into the bitstream.
[0062] According to another aspect of the present principles, the present principles relate to an apparatus for decoding an HDR image from at least one bitstream, characterized in that the apparatus comprises a processor, the processor being configured to:
[0063] - obtaining a decoded first SDR image from a decoded fourth SDR image obtained by decoding the bitstream;
[0064] - obtaining information representing a color mapping function by decoding the bit stream;
[0065] - obtaining a decoded second SDR image by applying the inverse of the color mapping function to the colors of a decoded third SDR image obtained from the decoded first SDR image; and
[0066] - Obtain a decoded HDR image from the decoded second SDR image by:
[0067] - obtaining a first component by applying a non-linear function to a luminance component (L) obtained from a bitstream, such that the dynamics of said first component are increased compared to the dynamics of the luminance component;
[0068] - obtaining at least one color component from said first component, two chrominance components obtained from the bitstream and a factor depending on the luminance component (L); and
[0069] The decoded image is obtained by combining the at least one color component together.
[0070] According to another aspect of the present principles, the present principles relate to: a device comprising a processor configured to implement the above-mentioned method; a computer program product comprising program code instructions for performing the steps of the above-mentioned method when the program is executed on a computer; a processor-readable medium having instructions stored therein for causing the processor to at least perform the steps of the above-mentioned method; and a non-transitory storage medium carrying instructions of the program code for performing the steps of the above-mentioned method when the program is executed on a computing device.
[0071] The specific nature of the present disclosure as well as other objects, advantages, features and uses of the present disclosure will become apparent from the following description of embodiments in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] In the accompanying drawings, embodiments of the present disclosure are shown. The accompanying drawings show:
[0073] - Figure 1 An example of a CIE 1931 color space chromaticity diagram is shown;
[0074] - Figure 2 A block diagram showing the steps of a method for encoding both an HDR image and an SDR image according to the present principles;
[0075] - Figure 3 An example of an HDR image I according to the present principles is shown. HDR and SDR imagesI SDR1 A diagram of the steps of a method for performing decoding;
[0076] - Figure 4 Shown as Figure 2 The described method for HDR image I HDR and the first SDR image I SDR1 A diagram of example steps of both encoding methods;
[0077] - Figure 5 Shown according to Figure 4 A diagram of the steps of a method for encoding both an HDR image and an SDR image of a variant of .
[0078] - Figure 6 Shown as Figure 2 The described method for HDR image I HDR and the first SDR image I SDR1 A diagram of example steps of a method for performing both encodings;
[0079] - Figure 7 Shown according to Figure 6 A diagram of the steps of a method for encoding both an HDR image and an SDR image according to a variant of;
[0080] - Figures 8a to 8d A diagram showing sub-steps of step 210 according to an example of the present principles;
[0081] - Fig. 9 A diagram showing steps of a method for decoding both an HDR image and an SDR image according to an example of the present principles;
[0082] - Figures 10a to 10c A diagram showing sub-steps of step 210 according to an example of the present principles;
[0083] - Figures 11a to 11d A diagram showing steps of a method for decoding HDR images and SDR images from at least one bitstream according to an example of the present principles;
[0084] - Fig.12 An example of a device architecture according to an example of the present principles is shown; and
[0085] Fig.13 Two remote devices communicating over a communication network are shown according to an example of the present principles;
[0086] Similar or identical elements are referred to by the same reference numbers. DETAILED DESCRIPTION
[0087] The present disclosure will be described more fully below with reference to the accompanying drawings, in which embodiments of the present disclosure are shown. However, the present disclosure may be embodied in a variety of alternative forms and should not be construed as being limited to the embodiments set forth herein. Therefore, although the present disclosure is susceptible to various modifications and alternative forms, specific embodiments are shown in the accompanying drawings only by way of example, and will be described in detail herein. However, it should be understood that the present disclosure is not intended to be limited to the specific forms disclosed, but rather, the present disclosure is intended to cover all variations, equivalents, and / or alternatives that fall within the spirit and scope of the present disclosure as defined by the claims.
[0088] The terms used herein are only for the purpose of describing specific embodiments, rather than being intended to limit the present disclosure. As used herein, the singular forms "one", "an" and "said" are intended to also include plural forms, unless the context clearly gives contrary instructions. It should also be understood that the terms "include", "have" and / or "include" when used in this specification, represent the existence of stated features, integers, steps, operations, elements and / or components, but do not exclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof. In addition, when mentioning that an element "responds to" or "is connected" to another element, it can directly respond to or be connected to another element, or there can be an intermediate element. On the contrary, when mentioning that an element "directly responds to" or "is directly connected" to another element, there is no intermediate element. As used herein, the term "and / or" includes any and all combinations of one or more associated listed items, and can be abbreviated as " / ".
[0089] It should be understood that although the terms "first", "second", etc. can be used to describe various elements in this article, these elements should not be limited by these terms. These terms are only used to distinguish elements from each other. For example, without departing from the teachings of the present disclosure, a first element can be referred to as a second element, and similarly, a second element can also be referred to as a first element.
[0090] Although some diagrams include arrows on communication paths to indicate a primary direction of communication, it should be understood that communication can occur in the opposite direction of the arrows shown.
[0091] Some embodiments are described with respect to block diagrams and operational flow charts in which each block represents a circuit element, a module, or a portion of the following code, a portion of which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in other alternative implementations, the functions annotated in the blocks may not occur in the order annotated. For example, in fact, depending on the functions involved, two blocks shown in succession may be executed substantially simultaneously, or blocks may sometimes be executed in reverse order.
[0092] References herein to "example," "one embodiment," or "embodiment" mean that a particular feature, structure, or characteristic described in conjunction with the embodiment or example may be included in at least one implementation of the present disclosure. The phrases "in one embodiment," "according to an embodiment," "in an example," or "according to an example" appearing in various places in the specification do not necessarily all refer to the same embodiment or example, and separate or alternative embodiments or examples are not necessarily mutually exclusive of other embodiments or examples.
[0093] Reference signs appearing in the claims are by way of illustration only and have no limiting effect on the scope of the claims.
[0094] Although not explicitly described, the present embodiment and its variations may be used in any combination or sub-combination.
[0095] The present principles are described for encoding / decoding images, but extend to encoding / decoding of image sequences (video) since, as described below, each image of the sequence is encoded / decoded sequentially.
[0096] Figure 2 The method for processing an HDR image I according to the present principle is shown. HDR and SDR images I SDR1 A diagram of the steps of both encoding methods.
[0097] As mentioned above, the HDR image I HDR is a color graded version of the captured image (or video) according to the first level, and the first SDR image I SDR1 is a color graded version of the captured image (or video) according to the second level. The constraints on this encoding method are: SDR image I SDR1 The color level should be in the decoder or have the same color as the SDR image I SDR1 The visual content is rendered very close to at least one SDR image of the visual content in order to preserve the artist intent.
[0098] In step 210, the module TM processes the HDR image I HDR Perform tone mapping to obtain a second SDR image I SDR2 .
[0099] The term "tone mapping" refers to the conversion of an HDR image to HDR Any method by which the dynamic range of a target is reduced to a target dynamic range. Figures 8a to 8d , Fig. 9 , Figures 10a to 10c An example of a tone mapping method is given in , but the present disclosure is not limited to a specific tone mapping method.
[0100] In step 220, modules SDR1 to SDR3 receive the first SDR image I SDR1 Obtain a third SDR image I SDR3 .
[0101] In step 230, the module CM obtains a request allowing the second SDR image I SDR2 The color mapping to the third SDR image I SDR3 The color mapping function CMF of the color is used to make the second SDR image I SDR2With the third SDR image I SDR3 Minimize the difference between them.
[0102] For example, by making the image I SDR2 Subtract the third SDR image I from the pixels of SDR3 The color mapping function is obtained by minimizing the mean square error calculated by the pixel value of . The standard HEVC color remapping information SEI message (Appendix D.2.32) gives an example of a color mapping function. The present disclosure is not limited to a specific color mapping function, but can be extended to any kind of mapping function.
[0103] In step 240, the encoder ENC1 encodes information INF representing the color mapping function CMF into the bitstream F1.
[0104] According to an embodiment of the method, the information INF is an index allowing to retrieve the color mapping function CMF from a list of color mapping functions.
[0105] According to an embodiment of the method, the information INF represents parameters of a color mapping function CMF.
[0106] In step 250, modules SDR1 to SDR4 receive the first SDR image I SDR1 Obtain the fourth SDR image I SDR4 .
[0107] In step 260, the encoder ENC2 converts the fourth SDR image I SDR4 Encoded into bitstream F2.
[0108] Figure 3 An example of an HDR image I according to the present principles is shown. HDR and SDR images I SDR1 Diagram of the steps of a method for performing decoding.
[0109] In step 310, the decoder DEC2 obtains a decoded SDR image (referred to as a decoded fourth SDR image I) by decoding the bit stream F2. SDR4 ).
[0110] In step 320, modules SDR4 to SDR1 decode the fourth SDR image I SDR4 Obtain the first decoded SDR image I SDR1 .
[0111] In step 220, modules SDR1 to SDR3 decode the first SDR image I SDR1 Obtain the decoded third SDR image I SDR3 .
[0112] In a step 330, the decoder DEC1 obtains information INF representative of the color mapping function CMF by at least partially decoding the bitstream F1.
[0113] According to a variant, the information INF represents the inverse of the color mapping function CMF.
[0114] In step 340, module AP -1 By applying the decoded third SDR image I SDR3 The color of the color mapping function CMF is the inverse CMF -1 To obtain the decoded second SDR image I SDR2 .
[0115] In step 350, the module ITM processes the decoded second SDR image I SDR2 Apply inverse tone mapping to obtain the decoded HDR image I HDR .
[0116] Inverse tone mapping is Figure 2 The inverse of the tone mapping used in step 210 in .
[0117] Figure 4 Shown as Figure 2 The described method for HDR image I HDR and the first SDR image I SDR1 Figure 2 shows an example of steps of both encoding methods.
[0118] The modules SDR1 to SDR3 and SDR1 to SDR4 are configured so that the SDR image I SDR3 and I SDR4 Equal to SDR image I SDR1 .
[0119] In other words, these modules do not implement any methods.
[0120] In step 230, a color mapping function CMF is then obtained to allow the second SDR image I SDR2 The color mapping is converted to the first SDR image I SDR1 and in step 260, the first SDR image I SDR1 Directly encoded by encoder ENC2.
[0121] According to this example of the present principles, the first SDR image I color graded by the colorist is thus decoded by decoding the bitstream F2. SDR1 Therefore, when the first SDR image I is decoded SDR1 When displayed, the artist’s intent is preserved.
[0122] Figure 5 Shown according to Figure 4 A variation of the HDR image I HDR and SDR images I SDR1 A diagram of the steps of both encoding methods.
[0123] The modules SDR1 to SDR4 are configured so that the fourth SDR image I SDR4 is the first SDR image I SDR1 Thus, by decoding the bitstream F2, the first SDR image I color graded by the colorist is SDR1 Therefore, when the first decoded image I SDR1 When displayed, the artist’s intent is preserved.
[0124] The modules SDR1 to SDR3 are configured to: generate a first SDR image I by using an encoder ENC2 SDR1 The first SDR image I is encoded and decoded by the decoder DEC2 SDR1 Decode to obtain a third SDR image I SDR3 (Step 310).
[0125] In step 230, a color mapping function CMF is then obtained to allow the SDR image I SDR2 The color mapping is encoded into the first SDR image I SDR1 The decoded version of the color.
[0126] According to the encoded first SDR image I SDR1 The decoded version of the first SDR image I SDR1 To determine the color mapping function CMF, resulting in (obtained on the decoding side) a decoded second SDR image I SDR2 , whose content is closer to the second SDR image I used on the encoding side SDR2 Then, from the decoded second SDR image I SDR2 and at the encoding side according to the decoded second SDR image I SDR2 The decoded HDR image obtained by the determined color mapping function has a visual content closer to the visual content of the original HDR image, thereby improving Figure 4 The performance of the HDR encoding / decoding scheme.
[0127] Figure 6 Shown as Figure 2 The described method for HDR image I HDR and the first SDR image I SDR1 Figure 2 shows an example of steps of both encoding methods.
[0128] Modules SDR1 to SDR3 are configured so that the SDR image I SDR3 It is an SDR image. SDR1 .
[0129] In step 230, a color mapping function CMF is then obtained to allow the second SDR image I SDR2 The color mapping is converted to the first SDR image I SDR1 colors.
[0130] The modules SDR1 to SDR4 include a module AP (step 610) for processing a second SDR image I SDR2 Color application (according to SDR image I SDR1 The fourth SDR image I is obtained by using the color mapping function CMF SDR4 .
[0131] Therefore, the fourth SDR image I SDR4 The content is close to the first SDR image I SDR1 Because the color mapping function CMF is determined so that the fourth SDR image I SDR4 and the first SDR image I SDR1 Minimize the difference between them.
[0132] Figure 7 Shown according to Figure 6 A variation of the HDR image I HDR and SDR images I SDR1 A diagram of the steps of both encoding methods.
[0133] The modules SDR1 to SDR3 are configured to: generate a first SDR image I by using an encoder ENC2 SDR1 Encoding is performed (step 260), and the first SDR image I encoded is encoded by the decoder DEC2 SDR1 Decode to obtain a third SDR image I SDR3 (Step 310).
[0134] According to the encoded first SDR image I SDR1 The decoded version of the first SDR image I SDR1 To determine the color mapping function CMF, resulting in (obtained on the decoding side) a decoded second SDR image I SDR2 , whose content is closer to the second SDR image I used on the encoding side SDR2 Then, from the decoded second SDR image I SDR2 and at the encoding side according to the decoded second SDR image I SDR2The decoded HDR image obtained by the determined color mapping function has a visual content closer to the visual content of the original HDR image, thereby improving Figure 6 The performance of the HDR encoding / decoding scheme.
[0135] According to an example of the present principles, in step 210, the module TM processes the HDR image I HDR Apply a tone mapping operator to transform the HDR image I HDR The dynamic range of brightness is reduced to the target dynamic range.
[0136] The invention is not limited to any specific tone mapping operator. The only condition is that the tone mapping operator should be invertible.
[0137] For example, the tone mapping operator defined by Reinhard (Reinhard, E., Stark, M., Shirley, P., and Ferwerda, J., "Photographic tone reproduction for digital images", ACM Transactions on Graphics 21 (July 2002)) or by Boitard et al. (Boitard, R., Bouatouch, K., Cozot, R., Thoreau, D., & Gruson, A. (2012). Temporal coherency for video tone mapping. In AMJ van Eijk, CC Davis, SM Hammel, & A.K. Majumdar (Eds.), Proc. SPIE 8499, Applications of Digital Image Processing (p.84990D-84990D-10)) can be used.
[0138] Figures 8a to 8d A diagram showing sub-steps of step 210 according to an example of the present principles is shown.
[0139] like Figure 8a As shown, the module TM includes a module BAM, which is configured to obtain the HDR image I HDR A backlight image Ba is obtained (step 2101).
[0140] according to Figure 8b In the embodiment of step 2101 shown, the module BAM comprises:HDR Module BI obtains the brightness component L of the backlight image Ba.
[0141] When the HDR image I HDR In the case of the RGB color space, for example in the 709 color space, the luminance component L is obtained by a linear combination given by the following formula:
[0142] L=0.2127.R+0.7152.G+0.0722.B
[0143] According to an embodiment, the backlight image Ba is determined as a shape function ψ given by i A weighted linear combination of :
[0144] Ba=∑ i a i ψ i (1)
[0145] Among them, a i is the weighting coefficient.
[0146] Therefore, determining the backlight image Ba from the brightness component L consists in finding the best weighting coefficients (and also the best shape function if the best weighting system is not known in advance) so as to make the backlight image Ba fit the brightness component L.
[0147] There is a method for finding the weighting coefficient a i For example, the minimum mean square error method can be used to minimize the mean square error between the backlight image Ba and the brightness component L.
[0148] It may be noted that the shape functions may be real physical responses of a display backlight (eg made of LEDs, each shape function then corresponding to the response of one LED), or may be purely mathematical constructions to best fit the luminance component.
[0149] According to Figure 8c In the variation of the present embodiment shown in FIG. 1 , the module BAM further comprises a module BM, which utilizes the HDR image I obtained by the method of the module HL. HDR The average brightness value L mean To modulate the backlight image Ba (given by equation (1)).
[0150] According to an example, the module HL is configured to calculate an average brightness value L over the entire brightness component L mean .
[0151] According to an example, the module HL is configured to calculate the average brightness value L by the following formula: mean :
[0152]
[0153] Wherein, β is a coefficient less than 1, and E(X) is the mathematical expectation value (average value) of the luminance component L.
[0154] This last example is advantageous because in the HDR image I HDR This example avoids the average brightness value L when belonging to a series of images. mean This effect usually results in very annoying temporal average brightness instabilities, influenced by a few pixels with extremely high values.
[0155] The present invention is not limited to the method for calculating the average brightness value L mean A specific embodiment of the invention.
[0156] according to Figure 8d In the variant shown, the module N normalizes the backlight image Ba by the average value E(Ba) of the backlight image Ba (given by equation (1)), so that the backlight image Ba of the HDR image is obtained. gray (with a mid-grey level equal to 1) (or, if the HDR image belongs to a sequence of image groups or a set of images, get the backlight image of all HDR images):
[0157]
[0158] Then, the module BM is configured to utilize the HDR image I by using the following relationship HDR The average brightness value L mean To modulate the backlight image Ba gray :
[0159] Ba mod ≈cst mod .L mean α .Ba gray (2)
[0160] Among them, cst mod is the modulation factor, and α is another modulation factor less than 1 (usually 1 / 3). For example, cst of the backlit image is obtained by least mean square mod ≈1.7.
[0161] In fact, all operations used to modulate the backlight image are linearly dependent on the backlight coefficient a. i Application is used to convert the coefficient a i Transform into new coefficients The correction factor is thus obtained:
[0162]
[0163] The present disclosure is not limited to the use for obtaining HDR images. HDR Any way of obtaining the backlit image Ba.
[0164] In step 2102, Figure 8a In the example, the HDR image I is transformed pixel by pixel. HDR Divide by the backlight image Ba to obtain the second SDR image I SDR2 .
[0165] In step 2103, encoder ENC3 encodes the backlight image Ba into a bitstream F3.
[0166] The HDR image I HDR Dividing by the backlight image Ba reduces the dynamic range of the HDR image. Figures 8a to 8d The described method considers that the HDR image I HDR Tone mapping.
[0167] Fig. 9 A diagram showing steps of a method for decoding both HDR and SDR images, according to an example of the present principles.
[0168] When previously Figures 8a to 8d While the described method encodes both an HDR image and an SDR image, this example allows obtaining both an HDR image and an SDR image.
[0169] In step 350, the module ITM comprises a decoder DEC3, which decodes the bit stream F3 to obtain a decoded backlight image Ba (step 3501). In step 3502, the second SDR image I SDR2 Multiply the decoded backlight image Ba to obtain the decoded HDR image I HDR .
[0170] With the second SDR image I SDR2 By comparison, the second SDR image I SDR2 Multiplying the decoded backlight image Ba increases the dynamic range of the resulting HDR image, i.e., this multiplication operation can be considered as inverse tone mapping.
[0171] Figures 10a to 10c A diagram showing sub-steps of step 210 according to an example of the present principles is shown.
[0172] In this example, the HDR image I HDR It is considered that there is an HDR image I HDR The three color components Ec (c=1, 2 or 3) of the pixel value.
[0173] The present disclosure is not limited to any color space expressing the three components Ec, but extends to any color space such as RGB, CIELUV, XYZ, CIELab.
[0174] Basically, the luminance component L and the two chrominance components C1 and C2 are obtained according to the HDR image I HDR The luminance component and the chrominance component form an SDR color image, and the pixel values of the SDR color image are represented in the color space (L, C1, C2). The SDR color image can be viewed by a conventional SDR display, that is, it has sufficient visual quality to be viewed by a conventional SDR display.
[0175] In step 100a, the module IC obtains the HDR image I by linearly combining the three components Ec. HDR The brightness component Y:
[0176]
[0177] Here, A1 is the first row of a 3×3 matrix A, which defines a color space transformation from a (E1, E2, E3) color space to a (Y, C1, C2) color space.
[0178] In step 130a, the module BMM obtains from the component Y a module value Bm.
[0179] According to the example of step 130a, the modulation value Bm is the average, median, minimum or maximum value of the pixel values of component Y. lin Or in a situation like ln(Y) or Y γ These operations are performed in the nonlinear domain of γ<1.
[0180] In step 110a, module FM obtains the luminance component L by applying a nonlinear function f to the component Y:
[0181] L=f(Bm,Y) (3)
[0182] Applying the non-linear function f to the component Y reduces the dynamic range of the component Y. In other words, the dynamics of the luminance component L are reduced compared to the dynamics of the component Y.
[0183] Basically, the dynamic range of the Y component is reduced in order to represent the brightness value of the L component by using 10 bits.
[0184] According to an embodiment, before applying the nonlinear function f, the component Y is divided by the modulation value Bm:
[0185] L=f(Y / Bm) (4)
[0186] According to an embodiment, the non-linear function f is a gamma function.
[0187]
[0188] Wherein, according to the embodiment of equation (3) or equation (4), Y1 is equal to Y or Y / Ba, B is a constant value, and γ is a parameter (a real value strictly less than 1).
[0189] According to an example, the non-linear function f is an S-Log function.
[0190] L=a.ln(Y1+b)+c
[0191] Where a, b, and c are parameters (real values) of the SLog curve determined so that f(0) and f(1) are invariants, and when extended by a gamma curve less than 1, the derivative of the SLog curve is continuously 1. Therefore, a, b, and c are functions of the parameter γ. Typical values are shown in Table 1.
[0192] Γ a B c 1 / 2.0 0.6275 0.2550 0.8575 1 / 2.4 0.4742 0.1382 0.9386 1 / 2.8 0.3861 0.0811 0.9699
[0193] Table 1
[0194] In an advantageous embodiment, a gamma value close to 1 / 2.5 is effective in terms of HDR compression performance and good viewability of the obtained SDR brightness. Therefore, these three parameters can advantageously take the following values: a=0.44955114, b=0.12123691, c=0.94855684.
[0195] According to an example, depending on the pixel values of the component Y, the non-linear function f is a gamma correction or an SLog correction.
[0196] Applying gamma correction to the luminance component Y boosts dark areas, but does not reduce highlights enough to avoid burning of bright pixels.
[0197] Then, according to an embodiment, the module FM applies a gamma correction or an SLog correction depending on the pixel values of the luminance component Y. The information data Inf may indicate whether a gamma correction or a Slog correction is applied.
[0198] For example, when the pixel value of component Y is less than a threshold value (equal to 1), gamma correction is applied, otherwise SLog correction is applied.
[0199] According to an example, when the method is used to encode several HDR images belonging to a series of images, a modulation value Bm is determined for each HDR image, a group of images (GOP) or a part of an HDR image (such as but not limited to a slice or a transform unit defined in HEVC).
[0200] According to an embodiment, the value Bm and / or the parameters of the non-linear function f (eg a, b, c or γ) and / or the information data Inf are stored in a local or remote memory and / or added to the bitstream F3.
[0201] In step 120a, from the HDR image I HDR At least one color component EC (c=1, 2, 3) is obtained. The color component Ec can be obtained directly from a local or remote memory, or by performing a HDR Obtained by applying a color transform.
[0202] In step 140a, intermediate color components E'c (c=1, 2 or 3) are obtained by scaling each color component Ec by a factor r(L) depending on the luminance component L:
[0203]
[0204] where r(L(i)) is a factor (real value) determined by the module RM (step 150a) that depends on the value of the pixel i of the component L, E c (i) is the value of pixel i of the intermediate color component E'c, and E c (i) is the value of pixel i of color component Ec.
[0205] Scaling by a factor means multiplying by the factor or dividing by the inverse of the factor.
[0206] Scaling each color component E'c by a factor r(L) that depends on the luminance component L preserves the color image I HDR Hues of colors.
[0207] According to the example of step 150a, the factor r(L) is the ratio of the luminance component L to the component Y:
[0208]
[0209] where Y(i) is the value of pixel i of component Y. In fact, the value Y(i) of a pixel of component Y depends explicitly on the value L(i) of the pixel of the luminance component L, so that the ratio can be written as a function of L(i) only.
[0210] This example is advantageous because scaling each color component Ec by a factor r(L) that also depends on component Y preserves the HDR image I HDR The hue of the color and thereby improves the visual quality of the decoded color image.
[0211] More specifically, in colorimetry and color theory, chroma, hue, and saturation refer to the perceived intensity of a particular color. Chroma is the degree of difference between a color and gray. Chroma is the color relative to the brightness of another color that appears white under similar viewing conditions. Saturation is the color of a color relative to the brightness of the color itself.
[0212] Colorful stimuli are bright and intense, while less colorful stimuli appear softer, closer to gray. In the absence of chroma at all, the color is a "neutral" gray (an image with no chroma in any color is called a grayscale image). Any color can be described in terms of its chroma (or hue or saturation), lightness (or brightness), and hue.
[0213] The definition of the hue and saturation of a color depends on the color space used to represent that color.
[0214] For example, when using the CIELUV color space, the saturation s uv Defined as chromaticity With brightness L * The ratio between.
[0215]
[0216] The hue is then given by:
[0217]
[0218] According to another example, when using the CIELAB color space, saturation is defined as the ratio of chroma to brightness:
[0219]
[0220] The hue is then given by:
[0221]
[0222] These equations are reasonable predictors of saturation and hue that are consistent with human perception of saturation, and demonstrate that adjusting lightness in a CIELAB (or CIELUV) color space while maintaining the angle a* / b* (or u* / v*) constant affects the hue, and thus the perception of the same color. In step 140a, the color component Ec is scaled by the same factor to maintain the angle, i.e., the hue.
[0223] Now let us consider: the HDR image I represented in the CIELUV color space HDR And by combining the luminance component L (with the HDR image I HDRCompared with the dynamic range of the brightness of the luminance component L, the dynamic range of the luminance component L is reduced (step 110a)) and the two chrominance components U (= C1) and V (= C2) of the CIELUV color space to form a second SDR image I SDR2 Therefore, humans perceive the second SDR image I differently SDR2 Because the color saturation and hue have changed. Fig.10a The method described determines the second SDR image I SDR2 The chrominance components C1 and C2 of the second SDR image I SDR2 The color tone of the HDR image is best matched to the HDR Hues of colors.
[0224] According to the example of step 150a, the factor r(L) is given by:
[0225]
[0226] This last embodiment is advantageous because it prevents the factor from dropping to zero for very dark pixels, ie it allows the ratio to be invertible whatever the pixel value.
[0227] In step 160a, two chrominance components C1, C2 are obtained from the at least one intermediate color component E'c.
[0228] according to Fig.10b The illustrated embodiment of step 160a obtains at least one intermediate component Dc (c=1, 2 or 3) by applying (step 161b) the OETF to each intermediate color component (E'c):
[0229]
[0230] For example, OETF is defined by ITU-R Recommendation BT.709 or BT.2020 and is described as follows:
[0231]
[0232] This embodiment allows the dynamic range to be reduced according to a specific OETF, but results in a complicated decoding process as described later.
[0233] according to Fig.10c The variant of the example shown approximates the OETF by square roots, ie by taking the square root of each intermediate color component (E'c) (step 161c) to obtain at least one intermediate component Dc (c=1, 2 or 3):
[0234]
[0235] This variant is advantageous because it provides a good approximation of the OETF defined by ITU-R Recommendations BT.709 or BT.2020 and results in a low complexity decoder.
[0236] According to another variant, the OETF is approximated by cube roots, ie by taking the cube root of each intermediate color component (E'c) to obtain at least one intermediate component Dc (c=1, 2 or 3):
[0237]
[0238] This variant is advantageous because it provides a good approximation of the OETF defined by ITU-R Recommendations BT.709 or BT.2020, but it leads to a somewhat more complex decoder than that obtained when approximating the OETF by square roots.
[0239] In step 162b, module LC1 obtains two chrominance components C1 and C2 by linearly combining the three intermediate components Dc:
[0240]
[0241] Where A2 and A3 are the second and third rows of the 3×3 matrix A.
[0242] In such Fig.10a In step 170a shown, the module COM obtains a second SDR image I by combining the luminance component L and the chrominance components C1 and C2. SDR2 .
[0243] Figures 11a to 11d A diagram showing steps of a method for decoding HDR images and SDR images from at least one bitstream, according to an example of the present principles.
[0244] In step 111a, the module DECOMB extracts from the second SDR image I SDR2 Obtain a luminance component L and two chrominance components C1 and C2.
[0245] In step 113a, the module IFM applies a nonlinear function f 1 To obtain the first component Y, the dynamics of the first component Y is increased compared to the dynamics of the luminance component L:
[0246] Y=f -1 (Ba,L) (5)
[0247] Nonlinear function f -1 is the inverse of the nonlinear function f (step 110a).
[0248] So, we define function f based on the example of function f -1 .
[0249] According to an example, the value Bm and / or the nonlinear function f -1 The parameters (eg, a, b, c or γ) and / or the information data Inf are obtained from a local or remote memory (eg, a lookup table) and / or from the bit stream F3, such as Fig.11a shown.
[0250] According to an embodiment, after the nonlinear function f has been applied -1 After that, the brightness component L is multiplied by the modulation value Bm:
[0251] Y=Bm*f -1 (L) (6)
[0252] According to the example, the nonlinear function f -1 is the inverse of the gamma function.
[0253] The component Y is then given by:
[0254]
[0255] Wherein, according to embodiments of equations (5) and (6), Y1 is equal to Y or Y / Bm, B is a constant value, and γ is a parameter (a real value strictly less than 1).
[0256] According to an embodiment, the nonlinear function f -1 is the inverse of the S-Log function. Then, the component Y1 is given by:
[0257]
[0258] According to an embodiment, the non-linear function f is the inverse of the gamma correction or the SLog correction, depending on the pixel value of the component Y. This is represented by the information data Inf.
[0259] In a step 112a, the module ILC obtains at least one color component Ec from the first component Y, the two chrominance components C1, C2 and from a factor r(L) depending on the luminance component L. The decoded HDR image I is then obtained by combining the at least one color component Ec. HDR .
[0260] The factor r(L) may be obtained from a local or remote memory (eg a look-up table) or from a bitstream.
[0261] When applying the common OETF ( Fig.10bIn step 161b) of , the intermediate component Dc is related to the component Y, the two chrominance components C1, C2 and the factor r(L):
[0262]
[0263] as well as
[0264]
[0265] Here, the EOTF (Electro-Optical Transfer Function) is the inverse of the OETF applied in step 161b.
[0266] Equation (7b) provides
[0267]
[0268] Among them, OETF (E c )=D c ,θ i is a constant that depends on the matrix A, and L i is also a linear function of the matrix A. Then, equation (7a) becomes:
[0269] r(L)*Y=A 11 EOTF(D1)+A 12 EOTF(D2)+A 13 EOTF(D3) (9)
[0270] and:
[0271] r(L)*Y=A 11 EOTF(D1)+A 12 EOTF(θ2D1+L2(C1,C2))+A 13 EOTF(θ3D1+L3(C1,C2) (10)
[0272] Equation (10) is an implicit equation related only to D1. Depending on the expression of the EOTF, equation (10) can be solved more or less simply. Once solved, D1 is obtained, and then D2 and D3 are derived from D1 through equation (8). Then, by applying the EOTF to the three obtained intermediate components Dc, the intermediate color component E'c is obtained, that is, E'c=EOTF(Dc).
[0273] In this general case, i.e. when a generic EOTF (without any specific properties) is applied to each intermediate color component E'c, there is no analytical solution to equation (10). For example, when the OETF is ITU-R BT.709 / 2020 OETF, equation (10) can be numerically solved by using the so-called Newton method or any other numerical method to find the roots of the canonical function. However, this leads to a highly complex decoder.
[0274] In this general case, according to Fig.11b In a first example of step 112a shown, in step 1121a, the module ILEC obtains three intermediate color components E'c from the first component Y, the two chrominance components C1, C2 and the factor r(L) as described above. In step 1122a, the three color components Ec are obtained by scaling each intermediate color component E'c by the factor r(L):
[0275] Ec(i)=E′c(i) / r(L(i))
[0276] where r(L(i)) is the factor given by step 150a that depends on the value of pixel i of component L (output of step 111a), and E′ c (i) is the value of pixel i of the intermediate color component E'c, E c (i) is the value of pixel i of color component Ec.
[0277] In fact, the order of step 1121a before step 1122a is that step 161b is followed by step 162b ( Fig.10b ) in the reverse order.
[0278] According to a variation of this first example, the OEFT is a square root function and the EOTF is then a square function.
[0279] According to another variant of this first example, the OEFT is a cube root function and the EOTF is then a cubic function.
[0280] When the OETF used in step 161b satisfies the conversion condition, that is,
[0281] OETF(x×y)=OETF(x)×OETF(y),
[0282] The component Y and the color component Ec are related by the following equation:
[0283]
[0284] where Fc is a component equal to OETF(Ec), and
[0285]
[0286] The conversion condition provides the following formula:
[0287]
[0288] Equation (11) provides
[0289]
[0290] Among them, θ i is a constant that depends on the matrix A, and L i is a linear function that also depends on the matrix A.
[0291] Then, equation (11) becomes:
[0292] Y=A 11 EOTF(F1)+A 12 EOTF(F2)+A 13 EOTF(F3) (13)
[0293] and:
[0294] Y=A 11 EOTF(F1)+A 12 EOTF(θ2F1+L2(C′1,C′2))+A 13 EOTF(θ3F1+L3(C1,C2) (14)
[0295] When OETF meets the conversion conditions, Fig.11c In the second example of step 112a shown in FIG. 1121c, by factoring OETF(r(L(i))) (where OETF is Fig.10b The two chrominance components C1 and C2 are scaled by the function used in step 161b in ( ) to obtain two intermediate components C′1 and C′2:
[0296]
[0297]
[0298] wherein r(L(i)) is the factor given by step 150a that depends on the value of pixel i of component L (output of step 111a), C′1(i), C′2(i) are the values of pixel i of components C′1 and C′2, respectively, and C1(i), C2(i) are the values of pixel i of components C1 and C2, respectively.
[0299] In a step 1122c, the module ILEC obtains the three color components Ec from the first component Y and the two intermediate chrominance components C'1, C'2, as described above.
[0300] According to a variation of this second example, the OEFT is a square root function, and thus the EOTF is a square function. Then, in step 1122c, by factoring Scaling the two chrominance components C1 and C2 to obtain two intermediate components C'1 and C'2:
[0301]
[0302]
[0303] Equation (11) becomes:
[0304]
[0305] as well as
[0306]
[0307] Such conversion provides:
[0308]
[0309] Equation (14) becomes:
[0310]
[0311] as well as
[0312]
[0313] Equation (17) is a second-order equation that can be solved analytically. The analytical solution leads to Fig.11d A specific embodiment of step 1122c is shown. This embodiment is advantageous because it allows an analytical expression of the EOPTF (the inverse of the OETF) and therefore an expression of the decoded components of the HDR image. Furthermore, the EOTF is a square function of low complexity processing on the decoding side.
[0314] In step 11221c, the module SM obtains the second component S by combining the two intermediate chrominance components C′1, C′2 and the first component Y:
[0315]
[0316] where k0, k1, and k2 are parameter values, and Represents the component C′ c (c=1 or 2) squared.
[0317] In step 11222c, module LC2 obtains three solution components Fc by linearly combining the intermediate chrominance components C'1, C'2 and the second component S:
[0318]
[0319] where C is a 3×3 matrix defined as the inverse of matrix A.
[0320] In step 11223c, three color components Ec are obtained by squaring each intermediate color component (Dc):
[0321]
[0322] The matrix A determines the HDR image I HDR A transformation is encoded from the color space (E1, E2, E3) in which the pixel values of the HDR image to be encoded are represented to the color space (Y, C1, C2).
[0323] Such a matrix depends on the HDR image to be encoded I HDR color gamut.
[0324] For example, when the HDR image to be encoded is represented in the BT709 color space defined by ITU-R Rec.801, the matrix A is given by:
[0325]
[0326] And, the matrix C is given by:
[0327]
[0328] According to a variation of this second embodiment, the OETF is a cube root function, and the EOTF is a cubic function. Then, Fig.11c In step 1121c, the factor Scaling the two chrominance components C1 and C2 to obtain two intermediate components C'1 and C'2:
[0329]
[0330]
[0331] The EOTF is then a cubic function, thus resulting in equation (17) for F1 being a more complex third order equation which can be solved analytically by the so-called Cardano method.
[0332] There are also very complex analytical solutions for fourth order equations (Ferrari's method), but as stated by the Abel-Ruffini theory, there are no analytical solutions for equations of any order greater than or equal to fifth.
[0333] Decoder DEC1 (correspondingly, DEC2 and DEC3) is configured to decode data that has been encoded by encoder ENC1 (correspondingly, ENC2 and ENC3). Encoders ENC1 and / or ENC2 and / or ENC3 (and decoders DEC1 and / or DEC2 and / or DEC3) may be block-based processes.
[0334] The encoders ENC1 and / or ENC2 and / or ENC3 (and the decoders DEC1 and / or DEC2 and / or DEC3) are not limited to specific encoders (decoders).
[0335] According to an embodiment, the encoder ENC1 is configured to encode the information INF in a SEI message, such as a Color Remapping Information SEI message as defined in the HEVC standard (annex D.2.32).
[0336] According to an embodiment, the encoder ENC3 is configured to: encode the backlight image Ba as an auxiliary image, or encode the backlight image Ba by using frame packing as described in the HEVC standard (Annex D.2.16), or encode the weighting coefficients and possible shape functions in a SEI message (HEVC standard, Annex D1).
[0337] According to an embodiment, the decoder DEC3 is configured such that the decoded backlight image Ba is obtained from auxiliary images or encapsulated frames encoded in the bitstream F1 as described in the HEVC standard or from weighting coefficients and possible shape functions obtained from SEI messages in the bitstream F1.
[0338] The encoders ENC1 and / or ENC2 (and the decoders DEC1 and / or DEC2) are not limited to a specific encoder, and may be, for example, an image / video encoder with loss like JPEG, JPEG2000, MPEG2, HEVC recommendation or H264 / AVC recommendation (“Advanced video coding for generic audiovisual Services”, SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Recommendation ITU-T H.264, Telecommunication Standardization Sector of ITU, (February 2014)).
[0339] The bitstreams F1, F2, F3 may be multiplexed together to form a single bitstream.
[0340] exist Figures 1 to 11d In the present disclosure, a module is a functional unit that may or may not be associated with a distinguishable physical unit. For example, these modules or some of them may be introduced together into a single component or circuit, or contribute to the functionality of the software. In contrast, some modules may consist of separate physical entities. Devices compatible with the present disclosure are implemented using pure hardware (e.g., using dedicated hardware such as ASIC or FPGA or VLSI as described in "Application Specific Integrated Circuit", "Field-Programmable Gate Array", "Very Large Scale Integration", respectively), or using components from several integrated electronic components embedded in the device or from a mixture of hardware components and software components.
[0341] Fig.12 An exemplary architecture of a device 1200 is shown, which may be configured to implement Figures 1 to 11d The method described.
[0342] The device 1200 comprises the following elements connected together by a data and address bus 1201:
[0343] - a microprocessor 1202 (or CPU), which is for example a DSP (or digital signal processor);
[0344] - ROM (or read-only memory) 1203;
[0345] - RAM (or random access memory) 1204;
[0346] - I / O interface 1205, for receiving data to be sent from an application; and
[0347] -Battery 1206.
[0348] According to an example, the battery 1206 is located outside the device. In each memory mentioned, the word "register" used in the specification can correspond to a small capacity area (a few bits) or a very large area (such as an entire program or a large amount of received or decoded data). ROM 1203 includes at least programs and parameters. ROM 1203 can store algorithms and instructions for executing the technology according to the present principles. When turned on, CPU 1202 uploads the program to RAM and executes the corresponding instructions.
[0349] RAM 1204 includes: a program in registers executed by CPU 1202 and uploaded after switching on device 1200, input data in registers, intermediate data in different states of a method in registers, and other variables in registers used to execute the method.
[0350] The implementation described herein can be implemented, for example, with a method or process, a device, a software program, a data stream, or a signal. Although discussed only in the context of a single form of implementation (e.g., discussed only as a method or device), the implementation of the discussed features can also be implemented in other forms (e.g., programs). The device can be implemented, for example, with appropriate hardware, software, and firmware. The method can be implemented with a device such as 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 (e.g., a computer, a cellular phone, a portable / personal digital assistant ("PDA"), etc.) and other devices that facilitate information communication between end users.
[0351] According to an example of encoding or encoder, an HDR or SDR image is obtained from a source. For example, a source belongs to a set including:
[0352] - local memory (1203 or 1204), such as video memory or RAM (or random access memory), flash memory, ROM (or read-only memory), hard disk;
[0353] - a storage interface (1205), such as an interface to a mass storage device, a RAM, a flash memory, a ROM, an optical disk or a magnetic support;
[0354] - Communication interface (1205), such as a wired interface (e.g., bus interface, wide area network interface, local area network interface) or a wireless interface (e.g., IEEE 802.11 interface or interface); and
[0355] - Image capture circuitry (e.g., a sensor such as a CCD (or Charge Coupled Device) or a CMOS (or Complementary Metal Oxide Semiconductor)).
[0356] According to an example of decoding or a decoder, a decoded SDR or HDR image is sent to a destination; specifically, the destination belongs to a set including:
[0357] - Local storage (1203 or 1204), such as video memory or RAM, flash memory, hard disk;
[0358] - a storage interface (1205), such as an interface to a mass storage device, a RAM, a flash memory, a ROM, an optical disk or a magnetic support;
[0359] - a communication interface (1205), such as a wired interface (e.g., a bus interface (e.g., USB (or Universal Serial Bus)), a wide area network interface, a local area network interface, an HDMI (High Definition Multimedia Interface) interface)) or a wireless interface (e.g., an IEEE 802.11 interface, or interfaces); and
[0360] -monitor.
[0361] According to the example of the code or encoder, the bit streams F1, F2 and / or F3 are sent to the destination. As an example, one or two bit streams F1, F2 and F3 are stored in a local or remote memory (e.g., video memory (1204) or RAM (1204), hard disk (1203)). In a variant, one or both bit streams are sent to a storage interface (1205) (e.g., an interface with a mass storage device, flash memory, ROM, optical disk or magnetic support), and / or sent through a communication interface (1205) (e.g., an interface to a point-to-point link, a communication bus, a point-to-multipoint link or a broadcast network).
[0362] According to an example of decoding or decoding, a bitstream F1, F2 and / or F3 is obtained from a source. Exemplarily, the bitstream is read from a local memory (e.g., video memory (1204), RAM (1204), ROM (1203), flash memory (1203) or hard disk (1203). In a variant, the bitstream is received from a storage interface (1205) (e.g., an interface with a large-capacity memory, RAM, ROM, flash memory, an optical disk or a magnetic support), and / or the bitstream is received from a communication interface (1205) (e.g., an interface to a point-to-point link, a bus, a point-to-multipoint link or a broadcast network).
[0363] According to an example, the Figure 2 , Figures 4 to 8d , Figures 10a to 10c The described encoding method of the apparatus 1200 belongs to the set comprising:
[0364] -mobile device;
[0365] -communication equipment;
[0366] -Gaming equipment;
[0367] - Tablet computer (or tablet computer);
[0368] - Laptop;
[0369] - Still image camera;
[0370] - Video camera;
[0371] -Encoding chip;
[0372] -Still image server; and
[0373] - Video server (eg, broadcast server, video-on-demand server, or web server).
[0374] According to an example, the Figure 3 , Fig. 9 , Figures 11a to 11d The described decoding method of the apparatus 1200 belongs to the set comprising:
[0375] -mobile device;
[0376] -communication equipment;
[0377] -Gaming equipment;
[0378] - Set-top box;
[0379] -TV set;
[0380] - Tablet computer (or tablet computer);
[0381] - Laptop;
[0382] -Display and
[0383] -Decoding chip.
[0384] according to Fig.13 In the embodiment shown, in a transmission scenario between two remote devices A and B via a communication network NET, device A includes a processor associated with the memory RAM and ROM described in (1), and device B includes a processor associated with the memory RAM and ROM described in (2), wherein the memory RAM and ROM described in (1) are configured to implement the Figure 2 , Figures 4 to 8d , Figures 10a to 10c A method for encoding an image as described in one of the preceding claims, (2) the memories RAM and ROM are configured to implement the method as described in relation to Figure 3 , Fig. 9 , Figures 11a to 11d A method for decoding described in one of the.
[0385] According to one example, the network is a broadcast network adapted to broadcast still pictures or video images from device A to a decoding device comprising device B.
[0386] The realization of various processing and feature described herein can be embodied in multiple different equipment or application.The example of this equipment comprises encoder, decoder, postprocessor of processing output from decoder, preprocessor, video encoder, video decoder, video codec, web server, set-top box, laptop computer, personal computer, cellular phone, PDA and any other equipment or other communication equipment for processing image or video to encoder.Should be clear that equipment can be movable, even be installed in mobile vehicle.
[0387] Additionally, the method may be implemented by instructions executed by a processor, and these instructions (and / or data values generated by the implementation) may be stored in a computer-readable storage medium. A computer-readable storage medium may take the form of a computer-readable program product embodied in one or more computer-readable media and having a computer-readable program code embodied thereon that can be executed by a computer. As used herein, a computer-readable storage medium is considered to be a non-transitory storage medium having an inherent ability to store information therein and an inherent ability to obtain information therefrom. A computer-readable storage medium may be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared or semiconductor system, device or apparatus or any suitable combination of the foregoing. It should be appreciated that the following, although providing more specific examples of computer-readable storage media to which the principles of the present invention may be applied, is only illustrative and not exhaustive, as those of ordinary skill in the art will readily appreciate: a portable computer disk; a hard disk; a read-only memory (ROM); an erasable programmable read-only memory (EPROM or flash memory); a portable compact disk read-only memory (CD-ROM); an optical storage device; a magnetic storage device; or any suitable combination of the foregoing.
[0388] The instructions may form an application program tangibly embodied on a processor-readable medium.
[0389] Instructions may be in, for example, hardware, firmware, software, or a combination thereof. Instructions may be found, for example, in an operating system, a separate application, or a combination of the two. Thus, a processor may be characterized as, for example, a device configured to perform a process and a device (such as a storage device) including a processor-readable medium having instructions for performing the process. Furthermore, in addition to or in lieu of instructions, a processor-readable medium may store data values generated by an embodiment.
[0390] It will be clear to those skilled in the art that embodiments may generate a variety of signals formatted to carry, for example, stored or transmitted information. Information may include, for example, instructions for executing a method, or data generated by one of the described embodiments. For example, a signal may be formatted to carry as data the rules for writing or reading the grammar of the described embodiment, or to carry as data the actual grammar values written by the described embodiment. 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. Formatting may include, for example, encoding a data stream or modulating a carrier using an encoded data stream. The information carried by the signal may be, for example, analog or digital information. The signal may be sent via a variety of different known wired or wireless links. The signal may be stored on a processor-readable medium.
[0391] A number of implementations have been described. However, it will be appreciated that various modifications may be made. For example, elements in different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, it will be appreciated by those of ordinary skill in the art that other structures or processes may replace those disclosed, and that the resulting implementations will perform at least substantially the same functions in at least substantially the same manner to achieve at least substantially the same results as the disclosed implementations. Therefore, the present application also encompasses these and other implementations.
Claims
1. A method of encoding both an HDR image and a first SDR image into at least one bitstream, the HDR image corresponding to a color graded version of a captured image according to a first level, the first SDR image corresponding to a color graded version of a captured image according to a second level, the method comprising: - Obtaining a second SDR image by tone mapping the HDR image: - obtaining a color mapping function allowing mapping the colors of the second SDR image to the colors of a third SDR image obtained from the first SDR image; - obtaining a fourth SDR image by applying the color mapping function CMF to the colors of the second SDR image; - encoding information representative of said color mapping function into a bitstream; as well as - encoding said fourth SDR image into a bitstream.
2. The method according to claim 1, wherein: The third SDR image is the first SDR image.
3. The method according to claim 1, wherein: The third SDR image is a decoded version of the encoded first SDR image.
4. A method of decoding an HDR image from at least one bitstream, the HDR image corresponding to a color graded version of a captured image according to a first level, comprising: - obtaining a decoded first SDR image by decoding the bitstream; - obtaining information representing a color mapping function by decoding the bit stream; - obtaining a decoded version of a second SDR image by applying a function based on the information representative of the color mapping function to the colors of the decoded first SDR image; as well as - obtaining a decoded HDR image by applying inverse tone mapping to the decoded second SDR image, wherein obtaining a decoded HDR image by applying inverse tone mapping to the decoded second SDR image comprises: -decode inverse tone mapping information; - obtaining a decoded HDR image by applying said inverse tone mapping information to said second SDR image.
5. The method according to claim 4, wherein: The decoded inverse tone mapping information is a backlight image; and Applying the inverse tone mapping information to the second SDR image comprises: multiplying the second SDR image by the decoded backlight image.
6. The method according to claim 4, wherein: Obtaining a decoded HDR image by applying inverse tone mapping to the decoded second SDR image comprises: - obtaining a first component by applying a non-linear function to a luminance component obtained from the bitstream such that the dynamics of the first component is increased compared to the dynamics of the luminance component; - obtaining at least one color component from said first component, two chrominance components obtained from said bitstream and a factor depending on said luminance component; and - The decoded image is obtained by combining said at least one color component together.
7. A device for encoding both an HDR image and a first SDR image into at least one bitstream, the HDR image corresponding to a color graded version of a captured image according to a first level, the first SDR image corresponding to a color graded version of a captured image according to a second level, characterized in that The device comprises a processor configured to: - Obtaining a second SDR image by tone mapping the HDR image: - obtaining a color mapping function allowing mapping the colors of the second SDR image to the colors of a third SDR image obtained from the first SDR image; - obtaining a fourth SDR image by applying the color mapping function to the colors of the second SDR image; - encoding information representative of said color mapping function into a bitstream; as well as - encoding said fourth SDR image into a bitstream.
8. The device according to claim 7, wherein: The third SDR image is the first SDR image.
9. The device according to claim 7, wherein: The third SDR image is a decoded version of the encoded first SDR image.
10. A device for decoding an HDR image from at least one bitstream, the HDR image corresponding to a color graded version of a captured image according to a first level, characterized in that The device comprises a processor configured to: - obtaining a decoded first SDR image by decoding the bitstream; - obtaining information representing a color mapping function by decoding the bit stream; - obtaining a decoded version of a second SDR image by applying a function based on the information representative of the color mapping function to the colors of the decoded first SDR image; as well as - obtaining a decoded HDR image by applying inverse tone mapping to the decoded second SDR image, wherein obtaining a decoded HDR image by applying inverse tone mapping to the decoded second SDR image comprises: -decode inverse tone mapping information; - obtaining a decoded HDR image by applying said inverse tone mapping information to said second SDR image.
11. The device according to claim 10, wherein: The decoded inverse tone mapping information is a backlight image; and - applying the inverse tone mapping information to the second SDR image comprises: multiplying the second SDR image by the decoded backlight image.
12. The device according to claim 10, wherein: Obtaining a decoded HDR image by applying inverse tone mapping to the decoded second SDR image comprises: - obtaining a first component by applying a non-linear function to a luminance component obtained from the bitstream such that the dynamics of the first component is increased compared to the dynamics of the luminance component; - obtaining at least one color component from said first component, two chrominance components obtained from said bitstream and a factor depending on said luminance component; and - The decoded image is obtained by combining said at least one color component together.
13. A computer program product comprising program code instructions for executing the steps of the encoding method according to claim 1 when said program is executed on a computer.
14. A computer program product comprising program code instructions for executing the steps of the decoding method according to claim 4 when said program is executed on a computer.
15. A processor-readable medium storing instructions, wherein the instructions are used to cause a processor to at least execute the steps of the encoding method according to claim 1.
16. A processor-readable medium storing instructions, wherein the instructions are used to cause a processor to at least execute the steps of the decoding method according to claim 4.
