METHOD AND DEVICE FOR MAPPING A HDR PICTURE TO A SDR PICTURE AND CORRESPONDING SDR TO HDR MAPPING METHOD AND DEVICE

20180005357 · 2018-01-04

    Inventors

    Cpc classification

    International classification

    Abstract

    A method is disclosed that comprises mapping a high-dynamic range luminance picture to a standard-dynamic range luminance picture based on a backlight value Bac associated with the high-dynamic range luminance picture.

    Claims

    1. A method comprising mapping a high-dynamic range luminance picture to a standard-dynamic range luminance picture based on a current backlight value representative of an average brightness of said high-dynamic range luminance picture comprising: determining a mapping function from a set of at least two mapping functions based on said current backlight value; and mapping the high-dynamic range luminance picture to a standard-dynamic range luminance picture using the determined mapping function, wherein each mapping function g(Ba.sub.i, Y) of said set is associated with a different backlight value and is defined as f(Y/Ba.sub.i)/N(Ba.sub.i) where N(Ba.sub.i)=f(P.sub.HDR/Ba.sub.i)/M.sub.SDR with P.sub.HDR being a high-dynamic range peak brightness and M.sub.SDR being a maximum codeword value of the standard-dynamic range luminance picture and where f ( z ) = exp .Math. Ϛ ( z ) z [ [ f ( z ) = exp .Math. ζ ( z ) / z ] ] and ζ(z) is a decreasing function.

    2. The method of claim 1, wherein determining a mapping function from a set of at least two mapping functions based on said current backlight value comprises interpolating or extrapolating said mapping function from at least two mapping functions of said set of at least two mapping functions.

    3. The method of claim 1, wherein f(z) is the function a*ln(b+z)+c, with a, b and c are constant values such that f(0)=0.

    4. The method of claim 3, wherein a is close to 0.45, b is close to 0.12, and c is close to 0.95.

    5. A method comprising mapping a standard-dynamic range luminance picture to a high-dynamic range luminance picture based on a current backlight value representative of an average brightness of said high-dynamic range luminance picture, comprising: determining a mapping function from a set of at least two mapping functions based on said current backlight value; and mapping the standard-dynamic range luminance picture to a high-dynamic range luminance picture using the determined mapping function, wherein each mapping function g.sup.−1(Ba.sub.i, L) of said set is associated with a different backlight value and is defined as Ba.sub.i*f.sup.−1(L*N(Ba.sub.i)) where N(Ba.sub.i)=f(P.sub.HDR/Ba.sub.i)/M.sub.SDR with P.sub.HDR being a high-dynamic range peak brightness and M.sub.SDR being a maximum codeword value of the standard-dynamic range luminance picture and where f ( z ) = exp .Math. Ϛ ( z ) z [ [ f ( z ) = exp .Math. ζ ( z ) / z ] ] and ζ(z) is a decreasing function.

    6. The method of claim 5, wherein determining a mapping function from a set of at least two mapping functions based on said current backlight value comprises interpolating or extrapolating said mapping function from at least two mapping functions of said set of at least two mapping functions.

    7. The method of claim 5, wherein the function f.sup.−1(.) is the function exp((x−c)/a)−b, with a, b and c are constant values such that f.sup.−1(0)=0.

    8. The method of claim 7, wherein a is close to 0.45, b is close to 0.12, and c is close to 0.95.

    9. A device configured to map a high-dynamic range luminance picture to a standard-dynamic range luminance picture based on a current backlight value Ba.sub.c representative of an average brightness of said high-dynamic range luminance picture, comprising at least a processor configured to: determine a mapping function from a set of at least two mapping functions based on said current backlight value; and map the high-dynamic range luminance picture to a standard-dynamic range luminance picture using the determined mapping function, wherein each mapping function g(Ba.sub.i, Y) of said set is associated with a different backlight value and is defined as f(Y/Ba.sub.i)/N(Ba.sub.i) where N(Ba.sub.i)=f(P.sub.HDR/Ba.sub.i)/M.sub.SDR with P.sub.HDR being a high-dynamic range peak brightness and M.sub.SDR being a maximum codeword value of the standard-dynamic range luminance picture and where f ( z ) = exp .Math. Ϛ ( z ) z [ [ f ( z ) = exp .Math. ζ ( z ) / z ] ] and ζ(z) is a decreasing function.

    10. The device of claim 9, wherein to determine a mapping function from a set of at least two mapping functions based on said current backlight value comprises interpolating or extrapolating said mapping function from at least two mapping functions of said set of at least two mapping functions.

    11. The device of claim 9, wherein f(z) is the function a*ln(b+z)+c, with a, b and c are constant values such that f(0)=0.

    12. The device of claim 11, wherein a is close to 0.45, b is close to 0.12, and c is close to 0.95.

    13. A device configured to map a standard-dynamic range luminance picture to a high-dynamic range luminance picture based on a current backlight value representative of an average brightness of said high-dynamic range luminance picture, comprising at least a processor configured to: determine a mapping function from a set of at least two mapping functions based on said current backlight value; and map the standard-dynamic range luminance picture to a high-dynamic range luminance picture using the determined mapping function, wherein each mapping function g.sup.−1(Ba.sub.i, L) of said set is associated with a different backlight value and is defined as Ba.sub.i*f.sup.−1(L*N(Ba.sub.i)) where N(Ba.sub.i)=f(P.sub.HDR/Ba.sub.i)/M.sub.SDR with P.sub.HDR being a high-dynamic range peak brightness and M.sub.SDR being a maximum codeword value of the standard-dynamic range luminance picture and where f ( z ) = exp .Math. Ϛ ( z ) z [ [ f ( z ) = exp .Math. ζ ( z ) / z ] ] and ζ(z) is a decreasing function.

    14. The device of claim 13, wherein to determine a mapping function from a set of at least two mapping functions based on said current backlight value comprises interpolating or extrapolating said mapping function from at least two mapping functions of said set of at least two mapping functions.

    15. The device according to claim 13, wherein the function f.sup.−1(.) is the function exp((x−c)/a)−b, with a, b and c are constant values such that f.sup.−1(0)=0.

    16. The device according to claim 15, wherein a is close to 0.45, b is close to 0.12, and c is close to 0.95.

    Description

    4. BRIEF SUMMARY OF THE DRAWINGS

    [0070] FIG. 1 shows examples of HDR to SRD mapping functions;

    [0071] FIGS. 2, 3 and 4 represent flowcharts of a method for mapping a HDR luminance picture in a SDR luminance picture according to specific and non-limiting embodiments;

    [0072] FIG. 5 represents an exemplary architecture of a HDR to SDR mapping device configured to map a HDR luminance picture in a SDR luminance picture according to an exemplary and non-limiting embodiment;

    [0073] FIGS. 6, 7 and 8 represent flowcharts of a method for mapping a SDR luminance picture in a HDR luminance picture according to specific and non-limiting embodiments;

    [0074] FIG. 9 represents an exemplary architecture of a SDR to HDR mapping device configured to map a SDR luminance picture in a HDR luminance picture according to an exemplary and non-limiting embodiment;

    [0075] FIG. 10 represents an exemplary encoding device that implements one of the HDR to SDR mapping methods disclosed with respect to FIGS. 2, 3 and 4; and

    [0076] FIG. 11 represents an exemplary decoding device that implements one of the SDR to HDR mapping methods disclosed with respect to FIGS. 6, 7 and 8.

    5. DETAILED DESCRIPTION

    [0077] A HDR picture usually comprises at least one luminance (or luma) component and possibly chrominance (or chroma) components. In the following the luminance component of the HDR picture is called HDR luminance picture. The HDR luminance picture may be obtained from a HDR picture represented as an RGB picture. In this case, the luminance component Y.sub.HDR of the HDR picture may be obtained by a linear combination of the RGB components. The linear combination is defined by ITU-T BT.709 or BT.2020 recommendations. Other formats than RGB may also be used to obtain the HDR luminance picture. Reducing the dynamic range of a HDR picture usually comprises reducing the dynamic range of its luminance component. This requires the definition of mapping functions. The known mapping functions such as PQ OETF proposed by Dolby are defined exclusively. They are thus not adapted to the content.

    Mapping Functions Definition

    [0078] In an embodiment, a set S of N (at least two) mapping functions {g (Ba,.)}.sub.Ba, is defined where each mapping function is associated with a different backlight value Ba. A backlight value is usually associated with an HDR picture and is representative of the average brightness of the HDR picture.

    [0079] Here, the term backlight is used by analogy with TV sets made of a color panel, like a LCD panel for instance, and a rear illumination apparatus, like a LED array for instance. The rear apparatus, usually generating white light, is used to illuminate the color panel to provide more brightness to the TV. As a consequence, the luminance of the TV is the product of the luminance of rear illuminator and of the luminance of the color panel. This rear illuminator is often called “backlight” and its intensity is somewhat representative of the average brightness of the overall scene.

    [0080] FIG. 1 shows examples of such mapping functions g(Ba,.): Y.fwdarw.g(Ba,Y)=L, where L is a SDR luminance value. Each mapping function is increasing in the second variable Y and the mapping functions are decreasing in Ba, i.e. for a fixed Y value, the smaller Ba the higher g(Ba,Y). This is true for all values Y. Several HDR luminance values Y can correspond to a unique SDR luminance value L.sub.SDR depending on the value Ba as shown by FIG. 1. In the linear luminance domain, Y is typically measured in nits. One nit corresponds physically to a light intensity of one candela per square meter.

    [0081] A peak brightness P.sub.HDR is provided from the HDR workflow. P.sub.HDR is thus the maximum brightness (say a thousand nits for instance) of a pixel allowed by the HDR format. In order to keep the relative brightness consistency between scenes, i.e. the SDR mapping of dark HDR scenes should look darker than the SDR mapping of brighter HDR scenes, this peak brightness P.sub.HDR is mapped to the maximum SDR codeword value M.sub.SDR (=1023 in a 10-bit workflow) of the SDR workflow. This has to be done independently of the scene content (, i.e. for all Ba values). The mapping functions are thus defined such that g(Ba, P.sub.HDR)=M.sub.SDR for all possible values for the backlight Ba.

    [0082] The peak brightness P.sub.HDR being fixed, darker HDR pictures lead to lower backlight values and require a curve g(Ba, .) capable of coding a bigger range of luminance. Basically, the range is [B, P.sub.HDR] where B is the luminance level (in nits) of the darkest part of the picture. Darker pictures lead to smaller B, thus to bigger range.

    [0083] Since the curve g(Ba, .) maps [B, P.sub.HDR] on [0, M.sub.SDR] (1023 in case of a 10 bit workflow), its average steepness (i.e. its derivative) decreases as B decreases, thus as Ba decreases. Since the curves g(Ba, .) start from the same brightest point (P.sub.HDR, M.sub.SDR), g(., Y) is decreasing in Ba as shown below. For a fixed Y, one gets

    [00001] Ba 1 < Ba 2 .Math. .Math. .Math. .Math. scene .Math. .Math. 1 .Math. .Math. darker .Math. .Math. than .Math. .Math. scene .Math. .Math. 2 .Math. .Math. = .Math. > .Math. .Math. g ( Ba 1 , . ) .Math. .Math. range .Math. .Math. is .Math. .Math. bigger .Math. .Math. than .Math. .Math. g ( Ba 2 , . ) .Math. .Math. range .Math. .Math. = .Math. > .Math. .Math. g ( Ba 1 , . ) .Math. .Math. derivative .Math. .Math. is .Math. .Math. smaller .Math. .Math. than .Math. .Math. g ( Ba 2 , . ) .Math. .Math. derivative .Math. .Math. = .Math. > .Math. .Math. g ( Ba 1 , . ) > g ( Ba 2 , . ) .Math. .Math. because .Math. .Math. g ( Ba 1 , P HDR ) = g ( BA 2 .Math. .Math. P HDR ) = M SDR .

    [0084] As a consequence, g(Ba, Y) is a decreasing function of Ba, for all Y. In a specific embodiment the mapping functions {g (Ba, .)}.sub.Ba are defined as follows:


    g(Ba,Y)=M.sub.SDRf(Y/Ba)/f(P.sub.HDR/Ba)=f(Y/Ba)/N(Ba),

    where N(Ba) is a normalization term depending on Ba, namely


    N(Ba)=f(P.sub.HDR/Ba)/M.sub.SDR.

    [0085] In the case where f is an increasing function, the function g is also an increasing function in Y for any Ba. However, not all functions f lead to a function g that is decreasing in Ba.

    [0086] Here, a criterion is provided to determine whether or not g has this decreasing property relatively to Ba. First, Y is fixed and a new variable z=P.sub.HDR/Ba≧0 is defined. Consequently, the function ψ defined by


    ψ(z)=g(z,Y)=f(Yz/P.sub.HDR)/f(z)

    must be an increasing function in z. One notes that the constant M.sub.SDR>0 has been dropped because it plays no role in the monotonicity. Second, a is defined as Y/P.sub.HDR such that 0≦α≦1. By taking the logarithm of the above expression, one obtains


    ln ψ(z)=ln fz)−ln f(z)

    that must be an increasing function for all 0≦α≦1. Supposing enough regularity on f to allow taking the derivative, this derivative must be positive to ensure the increasing property. One further obtains


    (ln ψ)′(z)≦0


    with


    (ln ψ)′(z)=α(ln f)′(αz)−(ln f)′(z)=:αhz)−h(z)

    where h is defined as the function (ln f)′. By writing h(z)=ζ(z)/z, i.e. ζ is defined as the product zh(z), one gets


    0≦αhz)−h(z)=αζ(αz)/αz−ζ(z)/zcustom-character0≦ζ(αz)−(z).

    [0087] The last inequality should hold for any 0≦α≦1. Taking into account that z is positive, this is equivalent to state that ζ(z) is a decreasing function. The criterion becomes simply


    ζ(z)=zh(z)=z(ln f)′(z) is a decreasing function.

    [0088] Many functions qualify as it suffices to take any decreasing ζ(z) and set


    f(z)=exp ∫ζ(z)/z

    [0089] As example, with a constant function ζ(z)=γ, one gets f(z)=exp(γ ln(z))=z.sup.γ. Another example is ζ(z)=−αdzα (α>1) leading to f(z)=exp(dz′), where d is a constant.

    [0090] In a preferred embodiment, f is a Slog function defined by


    f(z)=S log(z)=a*ln(b+z)+c

    with the condition f(0)=0 and a,b≦0. The condition at the origin (0,0) leads to f(z) being independent of c and equal to aln(1+z/b). The criterion is fulfilled as shown below:


    ζ(z)=z(In f)′(z)=zf′(z)/f(z)=z/a(b+z)ln(1+z/b).

    [0091] The change of variable z′=z/b gives ζ(z)=f/a(1+z′)ln(1+z′). This function is decreasing in z′ independently on a>0 or b>0 that has been absorbed by z′. This is easily proved by the direct analysis of the function: z′.fwdarw.z′/a(l+f)ln(1+z′). So, all Slog functions, as defined above for any triplet (a,b,c) with a,b>0 and f(0)=0, do qualify for the decreasing property in Ba. These functions are as shown on the FIG. 1 for a peak P.sub.HDR=5000 nits and a mapping on 10 bits, i.e. M.sub.SDR=1023.

    [0092] The parameters a, b, c of the Slog function f are determined such that [0093] f(0)=0, [0094] f(1)=1, [0095] and the derivative in 1 is the same as a gamma function: f′(1)=γ.

    [0096] A gamma function is defined by h:x->x.sup.γ. The three parameters a, b, c may be defined as functions of γ, i.e. a(γ), b(γ) and c(γ).Typical values are shown in Table 1.

    TABLE-US-00001 TABLE 1 γ 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

    [0097] In an advantageous embodiment, a value of γ close to 2.5 is efficient in terms of HDR compression performance as well as good viewability of the obtained SDR luma. Thus, the 3 parameters may advantageously take the following values: a=0.44955114, b=0.12123691, c=0.94855684. In a specific embodiment, a is close to 0.45, i.e. |a−0.45|<ε1, b is close to 0.12, i.e. |b−0.12|<ε2, c is close to 0.95, i.e. |c−0.95|<ε3 where ε1, ε2 and ε3 are constant values, e.g. equal to 10.sup.−1 or 10.sup.−2. Other values may be used.

    [0098] The function f(.) and g(Ba,.) may advantageously be defined in the form of Look-Up Tables for a set of discrete Y values and Ba values. The set of mapping functions is advantageously defined off-line and then used by an encoder and a decoder. The values of P.sub.HDR and M.sub.SDR are known from the HDR and SRD workflows respectively. They may, for example, be provided by the system layer.

    [0099] The inverse functions f.sup.−1( ) and g.sup.−1(Ba,.): LOG-GL.fwdarw.g.sup.−1(Ba,L)=Y may be defined. The set S′ comprises the inverse functions {g.sup.−1(Ba,.)}.sub.Ba. Each mapping function g.sup.−1(Ba,.) is increasing in the second variable L and the mapping functions are increasing in Ba, i.e. for a fixed Y value, the higher Ba the higher g.sup.−1 (Ba,L). This is true for all values Y.

    [0100] In the case where f(z)=aln(b+z)+c, then f.sup.−1(z)=exp((x−c)/a)−b. The function f.sup.−1 (.) and g.sup.−1 (Ba,.) may advantageously be defined in the form of Look-Up Tables for a set of discrete L values and Ba values.

    [0101] In another preferred embodiment, f is a function named log-G defined as follows:


    f(z)=log−G(z)=a.Math.ln(1+(z.sup.(1/ga)/b0))

    where ga is a control parameter that can be tuned per content (per picture, per scene, per video) and b0 is a parameter of the function. Typical values for b0 are 1.3, 2.4, 3.2, 4. In specific embodiments, b0 is close to either 1.3, 2.4, 3.2 or 4, i.e. |b0−1.3|<ε1, or |b0−2.4|<ε2, or |b0−3.2|<ε3 or |b0−4|<ε4 where ε1, ε2, ε3 and ε4 are constant values, e.g. equal to 10.sup.−1 or 10.sup.−2. Other values may be used. In the following, even if not explicitly indicated the above log-G function may be used in the place of the Slog function and may also be defined by a Look-Up Table.

    [0102] The inverse function f.sup.−1(.) of the log-G function is defined as follows:


    f.sup.−1(z)=(b0.Math.exp(y/a)−1).sup.ga

    [0103] Based on the log-G function, the function g(Ba, Y) is as follows:


    g(Ba,Y)=M.sub.SDR.Math.ln(1+((Y/Ba).sup.(1/ga)/b0))/ln(1+((P.sub.HDR/Ba).sup.(1/ga)/b0))

    and the inverse function g.sup.−1(Ba, .) of g(Ba, .) can be applied as follows:


    for x in [0,2.sup.N−1]g.sup.−1(Ba,x)=Ba.Math.(b0.Math.exp(x/scal−1)).sup.ga

    with [0104] scal=2.sup.N/(1+((P.sub.HDR/Ba).sup.(1/ga)/b0)) [0105] N being the bit-depth used to represent the signal (e.g. 10 bits)

    HDR to SDR Mapping

    [0106] In the following, the methods disclosed for a picture may be applied on a sequence of pictures, e.g. a video.

    [0107] According to various embodiments, the HDR luminance picture is mapped to a SDR luminance picture based on a backlight value Ba associated with the HDR luminance picture. Thus the mapping from HDR to SDR is adapted to the content. There are different ways of obtaining the backlight value associated with the HDR picture. For example, the backlight value is the mean luminance value of the HDR luminance picture. In a variant, the backlight value may be obtained in a non-linear domain to avoid the effect of extreme luminance values, particularly very bright pixels close to the peak luminance. Thus, Ba may be the mean over the whole picture of log(Y) or of Y° for a<1, where Y is the linear luminance value for one pixel. It will be appreciated, however, that the present principles are not restricted to any specific method for obtaining a backlight value.

    [0108] FIG. 2 represents a flowchart of a method for mapping a HDR luminance picture in a SDR luminance picture according to a specific and non-limiting embodiment. A backlight value Ba.sub.c is associated with the HDR picture. Advantageously the method is used in an encoder configured to encode a HDR picture.

    [0109] In step 10, a mapping function g(Ba.sub.c,.) is determined from a set S of at least two mapping functions defined off-line as indicated previously. The set S comprises at least two mapping functions g(Ba1,.) and g(Ba2,.) defined for two different backlight values. In the case where Ba.sub.c equals one the backlight values associated with a mapping function of the set S, then this mapping function is the mapping function used in the next step 12. In the case where Ba.sub.c is different from all the backlight values of the mapping functions of the set S, then the mapping function g(Ba.sub.c,.) is interpolated as shown on FIG. 3. In a step 100, the two mapping functions of S, g(Ba.sub.m,.) and g(Ba.sub.n,.) such that Ba.sub.m<Ba.sub.c<Ba.sub.n are identified. In a step 102, g(Ba.sub.c,.) is interpolated from g(Ba.sub.m,.) and g(Ba.sub.n,.). In the case where the mapping functions are defined as Look-Up Tables, then for each value Yi in the look-up table, g(Ba.sub.c,Yi)=λ g(Ba.sub.m,Yi)+(1−λ) g(Ba.sub.n,Yi), where λ=(Ba.sub.c−Ba.sub.n)/(Ba.sub.m−Ba.sub.n). In the case where Ba.sub.c is higher (respectively lower) than all Ba values associated with mapping functions in S, then g(Ba.sub.c,.) is extrapolated from two mapping functions of S, e.g. the two mapping functions of S associated with the two highest (respectively lowest) Ba values.

    [0110] In step 12, the HDR luminance picture is mapped to a SDR luminance picture using the determined mapping function g(Ba.sub.c,.). Each pixel L of the SDR luminance picture is set equal to g(Ba.sub.c,Y), where Y is the spatially corresponding pixel (co-located pixel) in the HDR picture. In the case where the determined mapping function g(Ba.sub.c,.) is represented as a LUT, HDR to SDR mapping may comprise interpolation. Indeed, g(Ba.sub.c,Y) may be interpolated from values of the LUT, e.g. from g(Ba.sub.c,Yi) and g(Ba.sub.c,Y.sub.i), where Y.sub.i≦Y≦Y.sub.j.

    [0111] FIG. 4 represents a flowchart of a method for mapping a HDR luminance picture in a SDR luminance picture according to another specific and non-limiting embodiment.

    [0112] In step 20, the HDR luminance picture is divided by Ba.sub.c. Specifically, each pixel value is divided by Ba.sub.c.

    [0113] In step 22, the mapping function f(.) is applied on the divided HDR luminance picture. f( ) is a known function defined off-line as indicated previously. In a specific embodiment f( ) is defined as a 1D LUT. In another specific embodiment, the function f( ) is defined as a Slog function aln(b+z)+c where a, b and c are constant values. Advantageously, a=0.44955114, b=0.12123691, c=0.94855684. In a specific embodiment, a is close to 0.45, i.e. |a−0.45|<ε1, b is close to 0.12, i.e. |b−0.12|<ε2, c is close to 0.95, i.e. |c−0.95|<ε3 where ε1, ε2 and ε3 are constant values, e.g. equal to 10.sup.−1 or 10.sup.−2. Other values may be used. The Log-G function may also be used.

    [0114] The Slog function f( ) or the Log-G may also be defined in the form of 1D LUTs.

    [0115] In step 24, the mapped HDR luminance picture is divided by N(Ba.sub.c). The obtained luminance picture is the SDR luminance picture. N(Ba.sub.c)=f(P.sub.HDR/Ba.sub.c)/M.sub.SDR with P.sub.HDR being a HDR peak brightness and M.sub.SDR being a maximum codeword value. When the reduced dynamic range is p bits then M.sub.SDR=2.sup.p−1. When p=10 bits, then M.sub.SDR=1023.

    [0116] The SDR luminance picture may advantageously be encoded in a bitstream. The backlight value Ba.sub.c and possibly N(Ba.sub.c) may also be encoded in addition to the SDR luminance picture. Additional information on the chroma may also be encoded.

    [0117] FIG. 5 represents an exemplary architecture of a HDR to SDR mapping device 1 configured to map a HDR luminance picture in a SDR luminance picture according to an exemplary and non-limiting embodiment.

    [0118] The mapping device 1 comprises one or more processor(s) 110, which could comprise, for example, a CPU, a GPU and/or a DSP (English acronym of Digital Signal Processor), along with internal memory 120 (e.g. RAM, ROM, and/or EPROM). The mapping device 1 comprises one or more Input/Output interface(s) 130, each adapted to display output information and/or allow a user to enter commands and/or data (e.g. a keyboard, a mouse, a touchpad, a webcam); and a power source 140 which may be external to the mapping device 1. The mapping device 1 may also comprise one or more network interface(s) (not shown). The HDR luminance picture may be obtained from a source. According to different embodiments, the source can be, but is not limited to: [0119] a local memory, e.g. a video memory, a RAM, a flash memory, a hard disk; [0120] a storage interface, e.g. an interface with a mass storage, a ROM, an optical disc or a magnetic support; [0121] a communication interface, e.g. a wireline interface (for example a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as a IEEE 802.11 interface or a Bluetooth interface); and [0122] an picture capturing circuit (e.g. a sensor such as, for example, a CCD (or Charge-Coupled Device) or CMOS (or Complementary Metal-Oxide-Semiconductor)).

    [0123] According to different embodiments, the SDR luminance picture may be sent to a destination. As an example, the SDR luminance picture is stored in a remote or in a local memory, e.g. a video memory or a RAM, a hard disk. In a variant, the SDR luminance picture is sent to a storage interface, e.g. an interface with a mass storage, a ROM, a flash memory, an optical disc or a magnetic support and/or transmitted over a communication interface, e.g. an interface to a point to point link, a communication bus, a point to multipoint link or a broadcast network.

    [0124] According to an exemplary and non-limiting embodiment, the mapping device 1 further comprises a computer program stored in the memory 120. The computer program comprises instructions which, when executed by the mapping device 1, in particular by the processor 110, enable the mapping device 1 to execute the method described with reference to FIG. 2, 3 or 4. According to a variant, the computer program is stored externally to the mapping device 1 on a non-transitory digital data support, e.g. on an external storage medium such as a HDD, CD-ROM, DVD, a read-only and/or DVD drive and/or a DVD Read/Write drive, all known in the art. The mapping device 1 thus comprises a mechanism to read the computer program. Further, the mapping device 1 could access one or more Universal Serial Bus (USB)-type storage devices (e.g., “memory sticks.”) through corresponding USB ports (not shown). According to exemplary and non-limiting embodiments, the mapping device 1 can be, but is not limited to: [0125] a mobile device; [0126] a communication device; [0127] a game device; [0128] a tablet (or tablet computer); [0129] a laptop; [0130] a still picture camera; [0131] a video camera; [0132] an encoding chip; [0133] a still picture server; and [0134] a video server (e.g. a broadcast server, a video-on-demand server or a web server).

    [0135] The mapping device 1 is advantageously part of an encoder configured to encode a SDR picture in a bitstream.

    SDR to HDR Mapping

    [0136] FIG. 6 represents a flowchart of a method for mapping a SDR luminance picture in a HDR luminance picture according to a specific and non-limiting embodiment. Advantageously the method is used in a decoder configured to decode a HDR picture.

    [0137] In step 30, a mapping function g.sup.−1(Bay,.) is determined from the set S′ of at least two mapping functions defined off-line as indicated previously. The set S′ comprises at least two mapping functions g.sup.−1 (Ba1,.) and g.sup.−1 (Ba2,.) defined for two different backlight values. In the case where Ba.sub.c equals one the backlight values associated with a mapping function of the set S′, then this mapping function is the mapping function used in the next step 32. In the case where Ba.sub.c is different from all the backlight values of the mapping functions of the set S′, then the mapping function g.sup.−1(Ba.sub.c,.) is interpolated as shown on FIG. 7. In a step 300, the two mapping functions of S′, g.sup.−1(Ba.sub.m,.) and g.sup.−1(Ba.sub.n,.),such that Ba.sub.m<Ba.sub.c<Ba.sub.n are identified. In a step 302, g(Ba.sub.c,.) is interpolated from g.sup.−1(Ba.sub.m,.) and g.sup.−1(Ba.sub.n,.). In the case where the mapping functions are defined as Look-Up tables, then for each value Li in the look-up table, g.sup.−1(Ba.sub.c,Li)=λ g.sup.−1(Ba.sub.m,Li)+(1−λ) g.sup.−1(Ba.sub.n,Li), where λ=(Ba.sub.c−Ba.sub.n)/(Ba.sub.m−Ba.sub.n). In the case where Ba.sub.c is higher (respectively lower) than all Ba values associated with mapping functions in S′, then g.sup.−1 (Ba.sub.c,.) is extrapolated from two mapping functions of S′, e.g. the two mapping functions of S associated with the two highest (respectively lowest) Ba values.

    [0138] In step 32, the SDR luminance picture is mapped to a HDR luminance picture using the determined mapping function g.sup.−1(Ba.sub.c,.). Each pixel Y of the HDR luminance picture is set equal to g.sup.−1(Ba.sub.c, L), where L is the spatially corresponding pixel (co-located pixel) in the SDR picture. In the case where the determined mapping function g.sup.−1 (Ba.sub.c,.) is represented as a LUT, SDR to HDR mapping may comprise interpolation. Indeed, g.sup.−1(Ba.sub.c,L) may be interpolated from values of the LUT, e.g. from g.sup.−1(Ba.sub.c,Li) and g.sup.−1(Ba.sub.c,L.sub.1), where L.sub.i.

    [0139] FIG. 8 represents a flowchart of a method for mapping a SDR luminance picture in a HDR luminance picture according to another specific and non-limiting embodiment. Advantageously the method is used in an encoder configured to encode a HDR picture.

    [0140] In step 40, the SDR luminance picture is multiplied by N(Ba.sub.c). Specifically, each pixel value L is multiplied by N(Ba.sub.c), wherein N(Ba.sub.c)=f(P.sub.HDR/Ba.sub.c)/M.sub.SDR with P.sub.HDR is a HDR peak brightness and M.sub.SDR is a maximum codeword value. When the reduced dynamic range is p bits then M.sub.SDR=2.sup.p−1. When p=10 bits, then M.sub.SDR=1023.

    [0141] In step 42, the mapping function f.sup.−1(.) is applied on the multiplied SDR luminance picture. f.sup.−1( ) is a known function defined off-line as indicated previously. In a specific embodiment f.sup.−1( ) is defined as a 1D LUT. In another specific embodiment, the function f.sup.−1 ( ) is defined as an inverse function of the Slog function, f.sup.−1(z)=exp((x−c)/a)−b where a, b and c are constant values. Advantageously, a=0.44955114, b=0.12123691, c=0.94855684. In a specific embodiment, a is close to 0.45, i.e. |a−0.45|<ε1, b is close to 0.12, i.e. |b−0.12|<ε2, c is close to 0.95, i.e. |c−0.95|<ε3 where ε1, ε2 and ε3 are constant values, e.g. equal to 10.sup.−1 or 10.sup.−2. Other values may be used. The inverse of the Log-G function may also be used instead of the inverse of the Slog function. The inverse Slog function or the inverse Log-G function may also be defined in the form of 1D LUTs.

    [0142] In step 44, the mapped SDR luminance picture is multiplied by Ba.sub.c. The obtained luminance picture is the HDR luminance picture.

    [0143] In a context of decoding the value of Ba.sub.c and possibly N(Ba.sub.c) may be decoded from a bitstream in addition to the luminance SDR picture. Chroma information may further be decoded in order to reconstruct a complete HDR picture.

    [0144] FIG. 9 represents an exemplary architecture of a SDR to HDR mapping device 2 configured to map a SDR luminance picture in a HDR luminance picture according to an exemplary and non-limiting embodiment.

    [0145] The mapping device 2 comprises one or more processor(s) 210, which could comprise, for example, a CPU, a GPU and/or a DSP (English acronym of Digital Signal Processor), along with internal memory 220 (e.g. RAM, ROM and/or EPROM). The mapping device 2 comprises one or more Input/Output interface(s) 230, each adapted to display output information and/or allow a user to enter commands and/or data (e.g. a keyboard, a mouse, a touchpad, a webcam); and a power source 240 which may be external to the mapping device 2. The mapping device 2 may also comprise one or more network interface(s) (not shown). The SDR luminance picture may be obtained from a source. According to different embodiments, the source can be, but not limited to: [0146] a local memory, e.g. a video memory, a RAM, a flash memory, a hard disk; [0147] a storage interface, e.g. an interface with a mass storage, a ROM, an optical disc or a magnetic support; [0148] a communication interface, e.g. a wireline interface (for example a bus interface, a wide area network interface, a local area network interface) or a wireless interface (such as a IEEE 802.11 interface or a Bluetooth interface); and [0149] an picture capturing circuit (e.g. a sensor such as, for example, a CCD (or Charge-Coupled Device) or CMOS (or Complementary Metal-Oxide-Semiconductor)).

    [0150] According to different embodiments, the HDR luminance picture may be sent to a destination, e.g. a HDR display device. As an example, the HDR luminance picture is stored in a remote or in a local memory, e.g. a video memory or a RAM, a hard disk. In a variant, the HDR luminance picture is sent to a storage interface, e.g. an interface with a mass storage, a ROM, a flash memory, an optical disc or a magnetic support and/or transmitted over a communication interface, e.g. an interface to a point to point link, a communication bus, a point to multipoint link or a broadcast network.

    [0151] According to an exemplary and non-limiting embodiment, the mapping device 2 further comprises a computer program stored in the memory 220. The computer program comprises instructions which, when executed by the mapping device 2, in particular by the processor 210, enable the mapping device 2 to execute the method described with reference to FIG. 6, 7 or 8. According to a variant, the computer program is stored externally to the mapping device 2 on a non-transitory digital data support, e.g. on an external storage medium such as a HDD, CD-ROM, DVD, a read-only and/or DVD drive and/or a DVD Read/Write drive, all known in the art. The mapping device 2 thus comprises a mechanism to read the computer program. Further, the mapping device 2 could access one or more Universal Serial Bus (USB)-type storage devices (e.g., “memory sticks.”) through corresponding USB ports (not shown). According to exemplary and non-limiting embodiments, the mapping device 2 can be, but not limited to: [0152] a mobile device; [0153] a communication device; [0154] a game device; [0155] a set top box; [0156] a TV set; [0157] a tablet (or tablet computer); [0158] a laptop; [0159] a display and [0160] a decoding chip.

    [0161] The mapping device 2 is advantageously part of an encoder configured to decode a HDR picture in a bitstream.

    Encoder

    [0162] FIG. 10 represents an exemplary encoding device that implements one of the HDR to SDR mapping methods disclosed with respect to FIGS. 2, 3 and 4. The encoder 300 receives a HDR picture. The received HDR picture (luminance component and possibly chroma components) is mapped to a SDR picture by a mapping circuit 302 using a backlight value Ba.sub.c associated with the HDR picture. In particular, the mapping circuit 302 is configured to map the HDR luminance picture to a SDR luminance picture according to the mapping method disclosed with respect to FIG. 2, 3 or 4. The mapping circuit 302 is connected to an encoding circuit 304. The encoding circuit 304 is configured to encode the SDR picture and the backlight value Ba.sub.c in a bitstream. In a variant, the encoding circuit 304 is further configured to encode N(Ba.sub.c). For example, the encoding circuit is a HEVC main10 encoder. The value Ba.sub.c may be encoded by using a dedicated SEI message, or by putting its value in a header as a slice header. In a variant, the value Ba.sub.c may be encoded in a non-normative way, by hiding its value in coded data structure, for instance in the quad-tree data. Chroma information may be also encoded in the bitstream in order to encode a complete SDR picture. The bitstream may be sent to a destination, e.g. a remote decoding device. As an example, the bitstream is stored in a remote or in a local memory, e.g. a video memory or a RAM, a hard disk. In a variant, the bitstream is sent to a storage interface, e.g. an interface with a mass storage, a ROM, a flash memory, an optical disc or a magnetic support and/or transmitted over a communication interface, e.g. an interface to a point to point link, a communication bus, a point to multipoint link or a broadcast network.

    [0163] In a specific embodiment, the encoder 300 comprises one or more processor(s), which could comprise, for example, a CPU, a GPU and/or a DSP (English acronym of Digital Signal Processor), along with internal memory (e.g. RAM, ROM and/or EPROM). The encoder 300 comprises one or more Input/Output interface(s), each adapted to display output information and/or allow a user to enter commands and/or data (e.g. a keyboard, a mouse, a touchpad, a webcam); and a power source which may be external to the encoder 300. The encoder 300 may also comprise one or more network interface(s) (not shown).

    Decoder

    [0164] FIG. 11 represents an exemplary decoding device that implements one of the SDR to HDR mapping methods disclosed with respect to FIGS. 6, 7 and 8. The bitstream may then be received by a first decoder 400. The first decoder 400 is configured to decode a SDR picture that may be directly displayed by a SDR display 402. In a variant, the bitstream is received by a second decoder 404. The received bitstream is decoded by a decoding circuit 406 into a SDR picture and a backlight value Ba.sub.c. The value N(Ba.sub.c) is calculated from the decoded Ba.sub.c. In a variant, the value N(Ba.sub.c) is decoded from the bitstream. The SDR picture comprises at least a luminance component (a SDR luminance picture) and possibly chroma components. The decoding circuit 406 is connected to a mapping circuit 408. The SDR luminance picture is mapped to a HDR luminance picture by the mapping circuit 406 using the decoded backlight value Ba.sub.c associated with the HDR picture. In particular, the mapping circuit 408 is configured to map the SDR luminance picture to a HDR luminance picture according to the mapping method disclosed with respect to FIG. 6, 7 or 8. For example, the decoding circuit 406 and the first decoder 400 are HEVC main10 decoders. Additional chroma information may be decoded in order to decode a complete HDR picture. The decoded HDR picture may be sent to a destination, e.g. a HDR display device 410. As an example, the bitstream is stored in a remote or in a local memory, e.g. a video memory or a RAM, a hard disk. In a variant, the bitstream is sent to a storage interface, e.g. an interface with a mass storage, a ROM, a flash memory, an optical disc or a magnetic support and/or transmitted over a communication interface, e.g. an interface to a point to point link, a communication bus, a point to multipoint link or a broadcast network.

    [0165] In a specific embodiment, the second decoder 404 comprises one or more processor(s), which could comprise, for example, a CPU, a GPU and/or a DSP (English acronym of Digital Signal Processor), along with internal memory (e.g. RAM, ROM and/or EPROM). The second decoder 404 comprises one or more Input/Output interface(s), each adapted to display output information and/or allow a user to enter commands and/or data (e.g. a keyboard, a mouse, a touchpad, a webcam); and a power source which may be external to the second decoder 404. The second decoder 404 may also comprise one or more network interface(s) (not shown).

    [0166] The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method or a device), the implementation of features discussed may also be implemented in other forms (for example a program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end-users.

    [0167] Implementations of the various processes and features described herein may be embodied in a variety of different equipment or applications, particularly, for example, equipment or applications. Examples of such equipment include an encoder, a decoder, a post-processor processing output from a decoder, a pre-processor providing input to an encoder, a video coder, a video decoder, a video codec, a web server, a set-top box, a laptop, a personal computer, a cell phone, a PDA, and other communication devices. As should be clear, the equipment may be mobile and even installed in a mobile vehicle.

    [0168] Additionally, the methods may be implemented by instructions being performed by a processor, and such instructions (and/or data values produced by an implementation) may be stored on a processor-readable medium such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette (“CD”), an optical disc (such as, for example, a DVD, often referred to as a digital versatile disc or a digital video disc), a random access memory (“RAM”), or a read-only memory (“ROM”). The instructions may form an application program tangibly embodied on a processor-readable medium. Instructions may be, for example, in hardware, firmware, software, or a combination. Instructions may be found in, for example, an operating system, a separate application, or a combination of the two. A processor may be characterized, therefore, as, for example, both a device configured to carry out a process and a device that includes a processor-readable medium (such as a storage device) having instructions for carrying out a process. Further, a processor-readable medium may store, in addition to or in lieu of instructions, data values produced by an implementation.

    [0169] As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry as data the rules for writing or reading the syntax of a described embodiment, or to carry as data the actual syntax-values written by a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.

    [0170] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, elements of different implementations may be combined, supplemented, modified, or removed to produce other implementations. Additionally, one of ordinary skill will understand that other structures and processes may be substituted for those disclosed and the resulting implementations will perform at least substantially the same function(s), in at least substantially the same way(s), to achieve at least substantially the same result(s) as the implementations disclosed. Accordingly, these and other implementations are contemplated by this application.