System for reshaping and coding high dynamic range and wide color gamut sequences
Abstract
A video data encoder generates a first metadata structure to describe one or more transfer functions to be applied by a decoder to reshape decoded video data into video data. The encoder segments a transfer function relative to P pivot points. It then allocates P cells in the metadata structure for storing the P pivot points. Each transfer function segment is fitted to a respective equation having N coefficients based on the order of the equation. The encoder allocates N+1 cells for each pivot point except for the P th pivot point and stores the number N in the first cell and the N coefficients in the remaining cells. The encoder generates a second metadata structure, associated with a video data set, that includes data identifying the transfer function to be applied to the video data set. The encoder encodes the video data including the first and second metadata structures.
Claims
exact text as granted — not AI-modified1 - 6 . (canceled)
7 . A method comprising:
receiving a bit stream representing an encoded video signal; decoding the bit stream to produce decoded video data; extracting a first metadata structure from a sequence, group of pictures or image essence of the bit stream; extracting, from the first metadata structure, data representing a number of pivot points, P, and, for each pivot point, except the P th pivot point, a respective number of coefficients, N, where N and P are integers; extracting, from the first metadata structure, the P pivot points and the N coefficients for each pivot point except for the P th pivot point; regenerating, from the extracted pivot points and coefficients, a transfer function including P−1 transfer function segments corresponding to the P pivot points except for the P th pivot point; generating data values and store the regenerated data values in a look up table (LUT) responsive to the regenerated transfer function; extracting a second metadata structure from a picture, slice, processing window or sub-picture element from the bit stream; extracting an identifier of the transfer function from the second metadata structure; generating reshaped video data as an output of the LUT by applying decoded video data corresponding to the picture, slice, processing window or sub-picture element as an input to the LUT.
8 . The method of claim 7 , further comprising:
extracting a first offset value and a second offset value from the first metadata structure; and adding the first offset value to the decoded video data before applying the decoded video data to the LUT; and adding the second offset value to the output data provided by the LUT.
9 . The method of claim 7 , wherein:
the look up table is configured as a first LUT and a second LUT and the transfer function is a first transfer function and is used to generate the data values in the first LUT;
the method further comprising:
extracting, from the first metadata structure, data representing a number of pivot points, Q, and, for each pivot point, except the Q th pivot point, a respective number of coefficients, N, where Q is an integer;
extracting, from the first metadata structure, data representing the Q pivot points and the N coefficients for each pivot point;
regenerating a transfer function from the extracted Q pivot points and respective coefficients;
generating data values and store the regenerated data values in the second LUT responsive to the regenerated transfer function.
10 . The method of claim 7 , wherein the method further comprises causing the decoding system to generate an additional coefficient for each pivot point except the first pivot point and the last pivot point, the additional coefficient corresponding to the value, at the pivot point, of the transfer function segment corresponding to the previous pivot point.
11 . The method of claim 7 , wherein the method further comprises generating first and second additional coefficients for each pivot point except the first pivot point and the last pivot point, the first additional coefficient corresponding to the value, at the pivot point, of the transfer function segment corresponding to the previous pivot point and the second coefficient corresponding to a slope, at the pivot point, indicated by the coefficients associated with the previous pivot point.
12 . The method of claim 7 , wherein the method further comprises:
extracting a cross-channel scaling flag from the second metadata structure; and responsive to the cross-channel scaling flag, causing the decoder to:
extracting, from the second metadata structure, a cross-channel LUT scaling index for each chrominance channel of the decoded video signal; and
generating reshaped chrominance data by applying decoded luminance data corresponding to the decoded chrominance data to an LUT indicated by the cross-channel LUT scaling index and multiplying the decoded chrominance data by output data produced by the LUT to produce the reshaped chrominance data.
13 . The method of claim 12 , wherein the method further comprises:
extracting first and second offset values from the first metadata structure; and adding the first offset value to the decoded chrominance data before applying the decoded luminance data to the LUT; and adding the second offset value to output data produced by the LUT to generate the reshaped chrominance data.
14 .- 19 . (canceled)
20 . A non-transitory computer-readable medium including program instructions that cause a processor to:
decode an encoded video bit stream to produce decoded video data; extract a first metadata structure from a sequence, group of pictures or image essence of the bit stream; extract, from the first metadata structure, data representing a number of pivot points, P, and, for each pivot point, except the P th pivot point, a respective number of coefficients, N, where N and P are integers; extract, from the first metadata structure, the P pivot points and the N coefficients for each pivot point except for the P th pivot point; regenerate, from the extracted pivot points and coefficients, a transfer function including P−1 transfer function segments corresponding to the P pivot points except for the P th pivot point; generate data values and store the regenerated data values in the LUT responsive to the regenerated transfer function; extract a second metadata structure from a picture, slice, processing window or sub-picture element from the bit stream; extract an identifier of the transfer function from the second metadata structure; generate reshaped video data as an output of the LUT by applying decoded video data corresponding to the picture, slice, processing window or sub-picture element as an input to the LUT.
21 . The non-transitory computer-readable medium of claim 20 , wherein the program instructions further cause the processor to:
extract a first offset value and a second offset value from the first metadata structure; and add the first offset value to the decoded video data before applying the decoded video data to the LUT; and add the second offset value to the output data provided by the LUT.
22 . The non-transitory computer-readable medium of claim 20 , wherein:
the LUT is configured as a first LUT and a second LUT and the transfer function is a first transfer function and is used to generate the data values in the first LUT; and the program instructions cause the processor to:
extract, from the first metadata structure, data representing a number of pivot points, Q, and, for each pivot point, except the Q th pivot point, a respective number of coefficients, N, where Q is an integer;
extract, from the first metadata structure, data representing the Q pivot points and the N coefficients for each pivot point;
regenerate a transfer function from the extracted Q pivot points and respective coefficients;
generate data values and store the regenerated data values in the second LUT responsive to the regenerated transfer function.
23 . The non-transitory computer-readable medium of claim 20 , wherein the program instructions further cause the processor to generate an additional coefficient for each pivot point except the first pivot point and the last pivot point, the additional coefficient corresponding to the value, at the pivot point, of the transfer function segment corresponding to the previous pivot point.
24 . The non-transitory computer-readable medium of claim 20 , wherein the program instructions further cause the processor to generate first and second additional coefficients for each pivot point except the first pivot point and the last pivot point, the first additional coefficient corresponding to the value, at the pivot point, of the transfer function segment corresponding to the previous pivot point and the second coefficient corresponding to a slope, at the pivot point, indicated by the coefficients associated with the previous pivot point.
25 . The non-transitory computer-readable medium of claim 20 , wherein the program instructions further cause the processor to:
extract a cross-channel scaling flag from the second metadata structure; and responsive to the cross-channel scaling flag, the program instructions cause the processor to:
extract, from the second metadata structure, a cross-channel LUT scaling index for each chrominance channel of the decoded video signal; and
generate reshaped chrominance data by applying decoded luminance data corresponding to the decoded chrominance data to an LUT indicated by the cross-channel LUT scaling index and multiplying the decoded chrominance data by output data produced by the LUT to produce the reshaped chrominance data.
26 . The non-transitory computer-readable medium of claim 25 , wherein the program instructions further cause the processor to:
extract first and second offset values from the first metadata structure; and add the first offset value to the decoded chrominance data before applying the decoded luminance data to the LUT; and add the second offset value to output data produced by the LUT to generate the reshaped chrominance data.Join the waitlist — get patent alerts
Track US2020059646A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.