Method and apparatus to create an EOTF function for a universal code mapping for an HDR image, method and process to use these images
AssigneeKoninklijke Philips N.V.
InventorRenatus Josephus Van Der Vleuten
Life of this patent
Estimating the term…
Abstract
To enable better encoding of the currently starting to appear high dynamic range images for use in full high dynamic range technical systems (containing an HDR display, and e.g. in an HDR grading application), we invented a method of constructing a code allocation function for allocating pixel colors having pixel luminances to codes encoding such pixel luminances, in which the step of determining the code allocation function to be applied to at least one color coordinate of the pixel to obtain a code value, comprises constructing that function out of at least two partial functions, and similar methods at a receiving side, and apparatuses, and signals for communicating between the two sites.
Claims15
A tangible processor readable storage medium that is not a transitory propagating wave or signal having processor readable program code for operating on a processor for performing a method of constructing a code allocation function for allocating pixel colors having pixel luminances to luma codes encoding such pixel luminances, the method comprising acts of:
- constructing a luma code mapping from at least two partial functions by determining a code allocation function applied to a linear luminance of a pixel to obtain a luma code value, the constructing comprising acts of:
- mapping the luma code to provide a non-linear mapping of pixel linear luminances to luma values,
- defining a non-linear invertible mapping of an entire luminance range of a linear luminance input value to an entire luma range of a first output luma value using a first partial function of the at least two partial functions, and
- defining a non-linear invertible mapping of an entire luma range of an input luma value being the first output luma value to an entire luma range of a second output luma value using a second partial function to be consecutively applied to the luma value from the first partial function of the at least two partial functions.
An apparatus for determining a code allocation function comprising:
- a processor configured to perform a method of constructing a code allocation function for allocating pixel colors having pixel luminances to luma codes encoding such pixel luminances, the method comprising acts of:
- determining a first partial function of at least two partial functions which defines a non-linear invertible mapping of an entire luminance range of a linear luminance input value to an entire luma range of a first output luma value;
- determining a second partial function to be consecutively applied to the luma value from the first partial function of the at least two partial functions, which second partial function defines a non-linear invertible mapping of an entire luma range of an input luma value being first output luma value to an entire luma range of a second output luma value;
- constructing a code allocation function for allocating pixel colors having pixel luminances to luma codes encoding such pixel luminances from the at least two partial functions;
- and
- transmitting or storing the constructed code allocation function.
An image or video signal stored on a tangible processor readable storage medium that is not a transitory propagating wave or signal comprising pixel color codes, and a definition of at least part of a code allocation function, the definition of the code allocation function defining at least partly a luma code mapping being at least partly defined by at least two partial functions, wherein
- the luma code mapping provides a non-linear mapping of pixel linear luminances to luma values and is encoded as the following consecutively to be applied partial functions:
- a first partial function of the at least two partial functions defining a non-linear invertible mapping of an entire luminance range of pixel linear input values to an entire luma range of a first output luma value, and
- a second partial function of the at least two partial functions to be applied to the first output luma values, and defining a non-linear invertible mapping of an entire luma range of an input luma value being the first output luma value to an entire luma range of a second output luma value.
A tangible processor readable storage medium that is not a transitory propagating wave or signal having processor readable program code for operating on a processor for performing a method of determining a code mapping function for mapping from luma codes to pixel linear luminances, the method comprising acts of:
- determining at least two partial functions for the code mapping function;
- and
- determining the code mapping function based on the at least two partial functions;
- wherein
- the code mapping function provides a non-linear mapping of luma codes to pixel linear luminances and is composed of the following consecutively to be applied partial functions:
- a first partial function of the at least two partial functions defining a non-linear invertible mapping of an entire luma range of an input luma code to an entire luma range of a luma output value;
- and
- a second partial function of the at least two partial functions defining a non-linear invertible mapping of an entire luma range of a luma input value being the luma output value to an entire luminance range of a pixel linear luminance value.
An apparatus for determining a code mapping function for mapping from luma codes to pixel linear luminances, the apparatus comprising:
- a processor configured to perform a method of constructing a code allocation function for allocating pixel colors having pixel luminances to luma codes encoding such pixel luminances, the method comprising acts of:
- determining at least two partial functions for the code mapping function;
- and
- determining the code mapping function based on the at least two partial functions applied in consecutive order;
- wherein
- the code mapping function provides a non-linear mapping of luma codes to pixel linear luminances which is defined from the following two partial functions to be applied in consecutive order:
- a first partial function of the at least two partial functions defining a non-linear invertible mapping of an entire luma range of an input luma code to an entire luma range of a luma output value;
- and
- a second partial function of the at least two partial functions defines a non-linear invertible mapping of an entire luma range of a luma input value being the luma output value to an entire luminance range of a pixel linear luminance value.
Dependencies are inferred from the claim text.