IP Library Granted Patent US 10,244,249
Granted Patent B2
US 10,244,249 · App. 15/269,558 · Granted Mar 26, 2019

Fixed point implementation of range adjustment of components in video coding

Inventors: Adarsh Krishnan Ramasubramonian (San Diego, CA); Dmytro Rusanovskyy (San Diego, CA); Joel Sole Rojals (San Diego, CA); Sungwon Lee (San Diego, CA); Done Bugdayci Sansli (La Jolla, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/44H04N19/132H04N19/184H04N19/36H04N19/46H04N19/80H04N19/85H04N19/117H04N19/154H04N19/187
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,244,249
App. No.
15/269,558
Granted
Mar 26, 2019
Kind
B2
Abstract

Processing high dynamic range and or wide color gamut video data using a fixed-point implementation. A method of processing video data may include receiving one or more supplemental enhancement information (SEI) messages that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, receiving decoded video data, and performing the inverse dynamic range adjustment process on the decoded video data using fixed-point computing in accordance with the information in the one or more SEI messages.

Claims (120)

1. A method of processing video data, the method comprising:

receiving one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, wherein the parameters comprise one or more of a range parameter, a scale parameter, or an offset parameter, and wherein the information indicates one or more of a first number of fractional bits used for determining the range parameter, a second number of fractional bits used for determining the scale parameter, or a third number of fractional bits used for determining the offset parameter;

determining the one or more parameters using one or more of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits;

decoding video data; and

performing the inverse dynamic range adjustment process on the decoded video data using fixed-point computing in accordance with the determined parameters.

2. The method of claim 1 , wherein receiving the one or more syntax elements comprises receiving the one or more syntax elements in one or more supplemental enhancement information (SEI) messages.

3. The method of claim 1 , wherein determining the parameters further comprises:

determining the parameters, in the case that at least one of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits is different from one another, by accumulating any fractional bits during any intermediate calculation processes used to determine the parameters; and

clipping a final result for determining the parameters based on a predetermined fractional accuracy.

4. The method of claim 1 , wherein determining the parameters further comprises:

determining the parameters by truncating any fractional bits over a desired fractional accuracy during all intermediate calculation processes used to determine the parameters.

5. The method of claim 1 , wherein the information includes a minimum value and a maximum value for one or more color components of the decoded video data, the method further comprising:

determining the parameters based on the received minimum value and the received maximum value.

6. The method of claim 1 , wherein the information includes an index to a predetermined range of sample values for one or more color components of the decoded video data, the method further comprising:

determining a minimum value and a maximum value for the one or more color components of the decoded video data based on the received index; and

determining the parameters based on the determined minimum value and the determined maximum value.

7. The method of claim 1 , further comprising:

receiving a syntax element indicating if the parameters are signed or unsigned; and

performing a parsing process on the information, wherein the parsing process is the same regardless of the value of the syntax element.

8. The method of claim 1 , further comprising:

displaying the decoded video data after performing the inverse dynamic range adjustment process on the decoded video data.

9. An apparatus configured to process video data, the apparatus comprising:

a memory configured to store decoded video data; and

one or more processors configured to:

receive one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, wherein the parameters comprise one or more of a range parameter, a scale parameter, or an offset parameter, and wherein the information indicates one or more of a first number of fractional bits used for determining the range parameter, a second number of fractional bits used for determining the scale parameter, or a third number of fractional bits used for determining the offset parameter;

determine the one or more parameters using one or more of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits;

decode video data; and

perform the inverse dynamic range adjustment process on the decoded video data using fixed-point computing in accordance with the determined parameters.

10. The apparatus of claim 9 , wherein receiving the one or more processors are further configured to receive the one or more syntax elements in one or more supplemental enhancement information (SEI) messages.

11. The apparatus of claim 9 , wherein to determine the parameters, the one or more processors are further configured to:

determine the parameters, in the case that at least one of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits is different from one another, by accumulating any fractional bits during any intermediate calculation processes used to determine the parameters; and

clip a final result for determining the parameters based on a predetermined fractional accuracy.

12. The apparatus of claim 9 , wherein to determine the parameters, the one or more processors are further configured to:

determine the parameters by truncating any fractional bits over a desired fractional accuracy during all intermediate calculation processes used to determine the parameters.

13. The apparatus of claim 9 , wherein the information includes a minimum value and a maximum value for one or more color components of the decoded video data, and wherein the one or more processors are further configured to:

determine the parameters based on the received minimum value and the received maximum value.

14. The apparatus of claim 9 , wherein the information includes an index to a predetermined range of sample values of one or more color components of the decoded video data, and wherein the one or more processors are further configured to:

determine a minimum value and a maximum value for the one or more color components of the decoded video data based on the received index; and

determine the parameters based on the determined minimum value and the determined maximum value.

15. The apparatus of claim 9 , wherein the one or more processors are further configured to:

receive a syntax element indicating if the parameters are signed or unsigned; and

perform a parsing process on the information, wherein the parsing process is the same regardless of the value of the syntax element.

16. The apparatus of claim 9 , the apparatus further comprising:

a display configured to display the decoded video data after the one or more processors perform the inverse dynamic range adjustment process on the decoded video data.

17. The apparatus of claim 9 , wherein the apparatus comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

18. An apparatus configured to process video data, the apparatus comprising:

means for receiving one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, wherein the parameters comprise one or more of a range parameter, a scale parameter, or an offset parameter, and wherein the information indicates one or more of a first number of fractional bits used for determining the range parameter, a second number of fractional bits used for determining the scale parameter, or a third number of fractional bits used for determining the offset parameter;

means for determining the one or more parameters using one or more of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits;

means for decoding video data; and

means for performing the inverse dynamic range adjustment process on the decoded video data using fixed-point computing in accordance with the determined parameters.

19. The apparatus of claim 18 , wherein the means for receiving the one or more syntax elements comprises means for receiving the one or more syntax elements in one or more supplemental enhancement information (SEI) messages.

20. The apparatus of claim 18 , wherein the means for determining the parameters further comprises:

means for determining the parameters, in the case that at least one of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits is different from one another, by accumulating any fractional bits during any intermediate calculation processes used to determine the parameters; and

means for clipping a final result for determining the parameters based on a predetermined fractional accuracy.

21. The apparatus of claim 18 , wherein the means for determining the parameters further comprises:

means for determining the parameters by truncating any fractional bits over a desired fractional accuracy during all intermediate calculation processes used to determine the parameters.

22. The apparatus of claim 18 , wherein the information includes a minimum value and a maximum value for one or more color components of the decoded video data, the apparatus further comprising:

means for determining the parameters based on the received minimum value and the received maximum value.

23. The apparatus of claim 18 , wherein the information includes an index to a predetermined range of sample values or one or more color components of the decoded video data, the apparatus further comprising:

means for determining a minimum value and a maximum value for the one or more color components of the decoded video data based on the received index; and

means for determining the parameters based on the determined minimum value and the determined maximum value.

24. The apparatus of claim 18 , further comprising:

means for receiving a syntax element indicating if the parameters are signed or unsigned; and

means for performing a parsing process on the information, wherein the parsing process is the same regardless of the value of the syntax element.

25. The apparatus of claim 18 , further comprising:

means for displaying the decoded video data after performing the inverse dynamic range adjustment process on the decoded video data.

26. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a device configured to process video data to:

receive one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, wherein the parameters comprise one or more of a range parameter, a scale parameter, or an offset parameter, and wherein the information indicates one or more of a first number of fractional bits used for determining the range parameter, a second number of fractional bits used for determining the scale parameter, or a third number of fractional bits used for determining the offset parameter;

determine the one or more parameters using one or more the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits;

decode video data; and

perform the inverse dynamic range adjustment process on the decoded video data using fixed-point computing in accordance with the determined parameters.

27. The non-transitory computer-readable storage medium of claim 26 , wherein the instructions further cause the one or more processors to receive the one or more syntax elements in one or more supplemental enhancement information (SEI) messages.

28. The non-transitory computer-readable storage medium of claim 26 , wherein the instructions further cause the one or more processors to:

determine the parameters, in the case that at least one of the first number of fractional bits, the second number of fractional bits, or the third number of fractional bits is different from one another, by accumulating any fractional bits during any intermediate calculation processes used to determine the parameters; and

clip a final result for determining the parameters based on a predetermined fractional accuracy.

29. The non-transitory computer-readable storage medium of claim 26 , wherein the instructions further cause the one or more processors to:

determine the parameters by truncating any fractional bits over a desired fractional accuracy during all intermediate calculation processes used to determine the parameters.

30. The non-transitory computer-readable storage medium of claim 26 , wherein the information includes a minimum value and a maximum value for one or more color components of the decoded video data, and wherein the instructions further cause the one or more processors to:

determine the parameters based on the received minimum value and the received maximum value.

31. The non-transitory computer-readable storage medium of claim 26 , wherein the information includes an index to a predetermined range of sample values of one or more color components of the decoded video data, wherein the instructions further cause the one or more processors to:

determine a minimum value and a maximum value for the one or more color components of the decoded video data based on the received index; and

determine the parameters based on the determined minimum value and the determined maximum value.

32. The non-transitory computer-readable storage medium of claim 26 , wherein the instructions further cause the one or more processors to:

receive a syntax element indicating if the parameters are signed or unsigned; and

perform a parsing process on the information, wherein the parsing process is the same regardless of the value of the syntax element.

33. The non-transitory computer-readable storage medium of claim 26 , wherein the instructions further cause the one or more processors to:

display the decoded video data after performing the inverse dynamic range adjustment process on the decoded video data.

34. A method of processing video data, the method comprising:

determining one or more parameters for a dynamic range adjustment process using one or more of a first number of fractional bits used for determining a range parameter, a second number of fractional bits used for determining a scale parameter, or a third number of fractional bits used for determining an offset parameter;

performing the dynamic range adjustment process on video data using the determined parameters and fixed-point computing;

generating one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, relative to the dynamic range adjustment process, using fixed-point computing, wherein the one or more parameters comprise one or more of the range parameter, the scale parameter, or the offset parameter, and wherein the information indicates one or more of the first number of fractional bits used for determining the range parameter, the second number of fractional bits used for determining the scale parameter, or the third number of fractional bits used for determining the offset parameter; and

encoding the video data after performing the dynamic range adjustment process.

35. The method of claim 34 , wherein generating the one or more syntax elements comprises generating the one or more syntax elements in one or more supplemental enhancement information (SEI) messages.

36. The method of claim 34 , wherein the information includes a minimum value and a maximum value for one or more color components of the video data.

37. The method of claim 34 , wherein the information includes an index to a predetermined range of sample values of the decoded video data.

38. The method of claim 34 , further comprising:

capturing the video data with a camera.

39. An apparatus configured to process video data, the apparatus comprising:

a memory configured to store video data; and

one or more processors configured to:

determine one or more parameters for a dynamic range adjustment process using one or more of a first number of fractional bits used for determining a range parameter, a second number of fractional bits used for determining a scale parameter, or a third number of fractional bits used for determining an offset parameter;

perform the dynamic range adjustment process on video data using the determined parameters and fixed-point computing;

generate one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, relative to the dynamic range adjustment process, using fixed-point computing, wherein the one or more parameters comprise one or more of the range parameter, the scale parameter, or the offset parameter, and wherein the information indicates one or more of the first number of fractional bits used for determining the range parameter, the second number of fractional bits used for determining the scale parameter, or the third number of fractional bits used for determining the offset parameter; and

encode the video data after performing the dynamic range adjustment process.

40. The apparatus of claim 39 , wherein the one or more processors are further configured to generate the one or more syntax elements in one or more supplemental enhancement information (SEI) messages.

41. The apparatus of claim 39 , wherein the information includes a minimum value and a maximum value for one or more color components of the video data.

42. The apparatus of claim 39 , wherein the information includes an index to a predetermined range of sample values of the decoded video data.

43. The apparatus of claim 39 , the apparatus further comprising:

a camera configured to capture the video data.

44. The apparatus of claim 39 , wherein the apparatus comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

45. An apparatus configured to process video data, the apparatus comprising:

means for determining one or more parameters for a dynamic range adjustment process using one or more of a first number of fractional bits used for determining a range parameter, a second number of fractional bits used for determining a scale parameter, or a third number of fractional bits used for determining an offset parameter;

means for performing the dynamic range adjustment process on video data using the determined parameters and fixed-point computing;

means for generating one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, relative to the dynamic range adjustment process, using fixed-point computing, wherein the one or more parameters comprise one or more of the range parameter, the scale parameter, or the offset parameter, and wherein the information indicates one or more of the first number of fractional bits used for determining the range parameter, the second number of fractional bits used for determining the scale parameter, or the third number of fractional bits used for determining the offset parameter; and

means for encoding the video data after performing the dynamic range adjustment process.

46. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors of a device configured to process video data to:

determine one or more parameters for a dynamic range adjustment process using one or more of a first number of fractional bits used for determining a range parameter, a second number of fractional bits used for determining a scale parameter, or a third number of fractional bits used for determining an offset parameter;

perform the dynamic range adjustment process on video data using the determined parameters and fixed-point computing;

generate one or more syntax elements that contain information specifying how to determine parameters for performing an inverse dynamic range adjustment process, relative to the dynamic range adjustment process, using fixed-point computing, wherein the one or more parameters comprise one or more of the range parameter, the scale parameter, or the offset parameter, and wherein the information indicates one or more of the first number of fractional bits used for determining the range parameter, the second number of fractional bits used for determining the scale parameter, or the third number of fractional bits used for determining the offset parameter; and

encode the video data after performing the dynamic range adjustment process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2016
From: RAMASUBRAMONIAN, ADARSH KRISHNAN; RUSANOVSKYY, DMYTRO; SOLE ROJALS, JOEL; LEE, SUNGWON; BUGDAYCI SANSLI, DONE; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 039880/0650 →
Continuity (4)
Provisional Application 62221586 · Sep 21, 2015
Provisional Application 62236804 · Oct 2, 2015
Provisional Application 62241063 · Oct 13, 2015
Related Publication 20170085894A1 · Mar 23, 2017
Cited By (6)
US 12,368,900 US 12,387,305 US 12,445,637 US 12,501,064 US 12,542,929 US 12,621,438