IP Library Granted Patent US 10,778,979
Granted Patent B2
US 10,778,979 · App. 16/244,871 · Granted Sep 15, 2020

Signaling mechanisms for equal ranges and other DRA parameters for video coding

Inventors: Adarsh Krishnan Ramasubramonian (Irvine, CA); Dmytro Rusanovskyy (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/124G06T5/009H04N9/68H04N19/186H04N19/36H04N19/70H04N19/80G06T2207/20208H04N19/117H04N19/154
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,778,979
App. No.
16/244,871
Granted
Sep 15, 2020
Kind
B2
Abstract

Dynamic Range Adjustment can be used to correct distortions that can occur when the dynamic range of the colors in video are transformed. In various examples, Dynamic Range Adjustment can be performed using a piecewise linear function that takes as input a range of color values. Parameters describing the piecewise linear function can be encoded into a bitstream, and the parameters can be used by a decoding process to reconstruct the piecewise linear function. To improve encoding efficiency, techniques can be applied by which redundant values in the parameters need not be encoded when the range of input values for the piecewise linear function can be divided into portions having equal lengths. The decoding process can derive the omitted values from values that are provided, and can apply the piecewise linear function to decoded video data to perform Dynamic Range Adjustment.

Claims (68)

1. A method of encoding video data, comprising:

obtaining, at an encoding device, video data, the video data including parameters describing a piecewise linear function for dynamic range adjustment of colors in a portion of a video frame, wherein the parameters divide a range of input values to the piecewise linear function into a plurality of non-overlapping ranges, the plurality of non-overlapping ranges including a first range and a set of ranges, wherein the first range has a first length and each range of the set of ranges has a second length that is different from the first length;

generating a data structure for the parameters;

setting an indicator in the data structure to indicate that the plurality of non-overlapping ranges includes the set of ranges with each range having the second length;

based on the plurality of non-overlapping ranges including the set of ranges with each range having the second length, setting a first value in the data structure to indicate the second length for the set of ranges; and

generating encoded video data from the video data, wherein the data structure is included with the encoded video data.

2. The method of claim 1 , wherein the first value indicates the second length as a difference between an end value and a start value of each of the set of ranges.

3. The method of claim 1 , wherein the first value indicates the second length by indicating a difference between a fixed value and the second length.

4. The method of claim 1 , further comprising:

setting a second value in the data structure to indicate the first length.

5. The method of claim 1 , wherein the first range includes a first set of input values from a beginning of the range of input values, and wherein the set of ranges include a second set of input values, from the range of input values, that follow the first set of input values.

6. The method of claim 1 , wherein the parameters further include scale factors associated with each of the plurality of non-overlapping ranges, and further comprising:

adding the scale factors to the data structure.

7. The method of claim 1 , further comprising:

including the data structure in a Supplementary Enhancement Information (SEI) message, a slice header, or a parameter set.

8. An encoding device, comprising:

a memory configured to store video data, the video data including parameters describing a piecewise linear function for dynamic range adjustment of colors in a portion of a video frame, wherein the parameters divide a range of input values to the piecewise linear function into a plurality of non-overlapping ranges, the plurality of non-overlapping ranges including a first range and a set of ranges, wherein the first range has a first length and each range of the set of ranges has a second length that is different from the first length; and

a processor configured to:

generate a data structure for the parameters;

set an indicator in the data structure to indicate that the plurality of non-overlapping ranges includes the set of ranges with each range having the second length;

based on the plurality of non-overlapping ranges including the set of ranges with each range having the second length, set a first value in the data structure to indicate the second length for the set of ranges; and

generate encoded video data from the video data, wherein the data structure is included with the encoded video data.

9. The encoding device of claim 8 , wherein the first value indicates the second length as a difference between an end value and a start value of each of the set of ranges.

10. The encoding device of claim 8 , wherein the first value indicates the second length by indicating a difference between a fixed value and the second length.

11. The encoding device of claim 8 , wherein the processor is further configured to:

set a second value in the data structure to indicate the first length.

12. The encoding device of claim 8 , wherein the first range includes a first set of input values from a beginning of the range of input values, and wherein the set of ranges include a second set of input values, from the range of input values, that follow the first set of input values.

13. The encoding device of claim 8 , wherein the parameters further include scale factors associated with each of the plurality of non-overlapping ranges, and wherein the processor is further configured to:

add the scale factors to the data structure.

14. The encoding device of claim 8 , wherein the processor is further configured to:

include the data structure in a Supplementary Enhancement Information (SEI) message, a slice header, or a parameter set.

15. The encoding device of claim 8 , further comprising:

a camera for capturing video data.

16. The encoding device of claim 8 , wherein the encoding device comprises a mobile device.

17. A method for decoding video data, comprising:

obtaining encoded video data;

determining, for a portion of a video frame from the encoded video data, a data structure including parameters describing a piecewise linear function for dynamic range adjustment of colors in the portion of the video frame, wherein the parameters divide a range of input values to the piecewise linear function into a plurality of non-overlapping ranges;

determining, from an indicator in the data structure, that the plurality of non-overlapping ranges include a first range and a set of ranges, wherein the first range has a first length and each range of the set of ranges has a second length that is different from the first length;

determining, using a first value in the data structure, the second length, the first value being included in the data structure based on the plurality of non-overlapping ranges including the set of ranges with each range having the second length;

determining the first length using the data structure;

reconstructing the piecewise linear function using the first length, the second length, and scale factors associated with each of the plurality of non-overlapping ranges, wherein the scale factors are included in the data structure;

decoding the portion of the video frame; and

applying the piecewise linear function to the colors in the portion of the video frame to perform dynamic range adjustment.

18. The method of claim 17 , wherein the first value provides the second length and wherein a second value in the data structure provides the first length.

19. The method of claim 17 , wherein the first value indicates the second length by indicating a difference between a fixed value and the second length.

20. The method of claim 17 , wherein a second value in the data structure provides the first length, and further comprising:

determining from an index associated with the second value that the first range includes a first set of input values from a beginning of the range of input values, and wherein the set of ranges include a second set of input values, from the range of input values, that follow the first set of input values.

21. The method of claim 17 , wherein the parameters are included in a Supplementary Enhancement Information (SEI) message, a slice header, or a parameter set.

22. A decoding device, comprising:

a memory configured to store encoded video data; and

a processor configured to:

determine, for a portion of a video frame from the encoded video data, a data structure including parameters describing a piecewise linear function for dynamic range adjustment of colors in the portion of the video frame, wherein the parameters divide a range of input values to the piecewise linear function into a plurality of non-overlapping ranges;

determine, from an indicator in the data structure, that the plurality of non-overlapping ranges include a first range and a set of ranges, wherein the first range has a first length and each range of the set of ranges has a second length that is different from the second first length;

determine, using a first value in the data structure, the second length, the first value being included in the data structure based on the plurality of non-overlapping ranges including the set of ranges with each range having the second length;

determine the first length using information provided by the data structure;

reconstruct the piecewise linear function using the first length, the second length, and scale factors associated with each of the plurality of non-overlapping ranges, wherein the scale factors are included in the data structure;

decode the portion of the video frame; and

apply the piecewise linear function to the colors in the portion of the video frame to perform dynamic range adjustment.

23. The decoding device of claim 22 , wherein the first value provides the second length and wherein a second value in the data structure provides the first length.

24. The decoding device of claim 22 , wherein the first value indicates the second length by indicating a difference between a fixed value and the second length.

25. The decoding device of claim 22 , wherein a second value in the data structure provides the first length, and wherein the processor is further configured to:

determine from an index associated with the second value that the first range includes a first set of input values from a beginning of the range of input values, and wherein the set of ranges include a second set of input values, from the range of input values, that follow the first set of input values.

26. The decoding device of claim 22 , wherein the parameters are included in a Supplementary Enhancement Information (SEI) message, a slice header, or a parameter set.

27. The decoding device of claim 22 , further comprising:

a camera for capturing video data.

28. The decoding device of claim 22 , further comprising:

a display for displaying decoded video data.

29. The decoding device of claim 22 , wherein the decoding device comprises a mobile device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2019
From: RAMASUBRAMONIAN, ADARSH KRISHNAN; RUSANOVSKYY, DMYTRO
To: QUALCOMM INCORPORATED
Reel/Frame 048484/0022 →
Continuity (2)
Provisional Application 62616383 · Jan 11, 2018
Related Publication 20190215517A1 · Jul 11, 2019
Cited By (2)
US 12,309,360 US 12,335,537