CPC H04N 19/124 (2014.11) [G06T 5/90 (2024.01); H04N 19/174 (2014.11); H04N 19/177 (2014.11); H04N 19/186 (2014.11); H04N 19/44 (2014.11); H04N 19/70 (2014.11); H04N 19/98 (2014.11); G06T 2207/20208 (2013.01)] | 3 Claims |
1. A high dynamic range (HDR) coding process with standard dynamic range (SDR) backwards compatibility, the HDR coding process comprising:
(a) generating a tone map describing a transformation from data representing a first color component of an HDR video image to data representing a corresponding first color component of an SDR video image on a pixel-by-pixel basis;
(b) characterizing the tone map as a transfer function;
(c) processing data representing one or more additional color components of the HDR video image using another transfer function to generate data representing one or more additional color components of the SDR video image;
(d) determining an inverse reshaping transfer function that corresponds to the reshaping transfer function, an another inverse shaping transfer function from the another reshaping transfer function;
(e) generating a metadata structure describing the inverse reshaping transfer function and the another reshaping transfer function, the metadata structure including:
(i) a first function describing a mapping of reconstructed SDR samples to HDR samples for a first color component representing luminance; and
(ii) a second function describing a mapping of reconstructed SDR samples to HDR samples for the one or more additional color components, where the second function is different than the first function, each representing a representative chrominance; and
(f) encoding the SDR video image in a bitstream to generate encoded video data including the metadata structure;
wherein the generating of the metadata structure describing the inverse reshaping transfer function includes:
dividing an inverse reshaping transfer function into P−1 segments defined by a P pivot points, where P is an integer;
fitting an equation to each segment, each equation having an order, N, where N is an integer that varies based on characteristics of the segment;
for each pivot point except the last pivot point:
allocating a cell in the metadata structure to hold a value indicating a number of coefficients to be stored for the pivot point;
allocating a number of cells in the metadata structure sufficient to describe the coefficients for the pivot point;
storing a value indicating the number of cells for the pivot point into a first one of the allocated cells;
storing the coefficient values in the remaining allocated cells.
|