IP Library Granted Patent US 9,736,481
Granted Patent B2
US 9,736,481 · App. 14/656,482 · Granted Aug 15, 2017

Quantization parameters for color-space conversion coding

Inventors: Li Zhang (San Diego, CA); Jianle Chen (San Diego, CA); Marta Karczewicz (San Diego, CA); Joel Sole Rojals (La Jolla, CA); Woo-Shik Kim (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/126H04N19/102H04N19/103H04N19/11H04N19/12H04N19/134H04N19/136H04N19/14H04N19/154H04N19/157H04N19/176H04N19/18H04N19/184H04N19/186H04N19/196H04N19/33H04N19/44H04N19/60H04N19/61H04N19/70
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 9,736,481
App. No.
14/656,482
Granted
Aug 15, 2017
Kind
B2
Abstract

In general, this disclosure describes techniques for coding video blocks using a color-space conversion process. A video coder, such as a video encoder or a video decoder, may determine whether to use color-space conversion for encoding the video data. In response to determining to use color-space conversion, the video coder may quantize data of a first color component of the video data using a first offset of a first quantization parameter (QP) and quantize data of a second color component of the video data using a second offset of a second QP, wherein the second color component is different than the first color component, and the second QP is different than the first QP. The video coder may further inverse quantize data of the first color component using the first offset and inverse quantize data of the second color component using the second offset.

Claims (196)

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

determining whether the video data was encoded using color-space conversion; and

in response to determining that the video data was encoded using color-space conversion:

inverse quantizing data of a first color component of the video data using a first offset, wherein the first offset is associated with a first quantization parameter (QP); and

inverse quantizing data of a second color component of the video data using a second offset, wherein the second offset is associated with a second QP, wherein the second color component is different than the first color component, and wherein the second offset associated with the second QP is different than the first offset associated with the first QP, wherein the first offset and the second offset are dependent on a color-space transform process used to encode the video data.

2. The method of claim 1 , further comprising:

determining a first value associated with the first QP;

determining a second value associated with the second QP;

in response to determining that color-space conversion was not used in encoding the video data:

inverse quantizing the data of the first color component using the first value; and

inverse quantizing the data of the second color component using the second value; and

in response to determining that the video data was encoded using color-space conversion:

inverse quantizing the data of the first color component using the first offset added to the first value; and

inverse quantizing the data of the second color component using the second offset added to the second value, wherein the first offset is different than the second offset.

3. The method of claim 2 , wherein a difference between the first QP and the second QP are dependent on a norm of the color-space transform process used to encode the video data.

4. The method of claim 2 , further comprising:

when the video data was encoded using color-space conversion, increasing a bit depth used for quantization and transform processes for the video data by 2, wherein the first offset is equal to 8.

5. The method of claim 2 , further comprising:

when the video data was encoded using color-space conversion, increasing a bit depth used for quantization and transform processes for the video data by 1, wherein the first offset is equal to 2.

6. The method of claim 1 , wherein determining whether the video data was encoded using color-space conversion comprises:

decoding a syntax element of a coding unit of the video data, wherein the syntax element indicates whether the coding unit was encoded using color-space conversion;

determining whether a value of the syntax element indicates that the video data was encoded using color-space conversion; and

in response to determining that the syntax element indicates that the coding unit was coded using color-space conversion, applying a color-space inverse transform process.

7. The method of claim 6 , wherein the syntax element comprises a one-bit flag.

8. The method of claim 6 , wherein the coding unit is coded in a mode other than intra-pulse code modulation (IPCM) mode, and wherein the syntax element indicates that the coding unit was encoded using color-space conversion when the coding unit is coded using a mode other than intra-pulse code modulation (IPCM) mode.

9. The method of claim 6 , wherein the syntax element indicates that the coding unit was encoded using color-space conversion when there are non-zero coefficients in a transform unit of the coding unit.

10. The method of claim 6 , wherein the syntax element indicates that the coding unit was not encoded using color-space conversion when the coding unit is intra coded and when a luma prediction mode and a chroma prediction mode of a prediction unit within the coding unit are different, wherein the syntax element is not present in a received bitstream that comprises the video data, and wherein decoding the syntax element comprises inferring the value of the syntax element.

11. The method of claim 6 , wherein the syntax element indicates that the coding unit was not encoded using color-space conversion when the coding unit is coded with a palette mode, wherein the syntax element is not present in a received bitstream that comprises the video data, and wherein decoding the syntax element comprises inferring the value of the syntax element.

12. The method of claim 6 , wherein a value of 1 for the syntax element indicates that the coding unit was encoded using color-space conversion.

13. The method of claim 1 , further comprising:

in response to determining that the video data was encoded using color-space conversion, applying a color-space inverse transform process to the coding unit.

14. The method of claim 13 , wherein the color-space inverse transform process comprises an original YCoCg-R reverse transform matrix.

15. The method of claim 13 , wherein the color-space inverse transform process comprises a modified YCoCg reverse transform matrix.

16. The method of claim 15 , wherein a coefficient of the modified YCoCg reverse transform matrix is set to equal a coefficient of an original YCoCg reverse transform matrix after a 2-bit right shift with a rounding offset.

17. The method of claim 16 , wherein the modified YCoCg matrix has an offset equal to 2.

18. The method of claim 13 , wherein the color-space inverse transform process comprises an original YCoCg transform matrix.

19. The method of claim 18 , further comprising:

applying a normalization process to the video data.

20. The method of claim 1 , wherein the first color component is a luma (Y) component, and wherein the second color component is a chroma (Cr or Cb) component.

21. The method of claim 1 , wherein at least one of the first offset and the second offset are not equal to 0.

22. A video decoding device comprising:

a memory configured to store video data; and

one or more processors configured to:

determine whether the video data was encoded using color-space conversion; and

in response to determining that the video data was encoded using color-space conversion:

inverse quantize data of a first color component of the video data using a first offset, wherein the first offset is associated with a first quantization parameter (QP); and

inverse quantize data of a second color component of the video data using a second offset, wherein the second offset is associated with a second QP, wherein the second color component is different than the first color component, and wherein the second offset associated with the second QP is different than the first offset associated with the first QP, wherein the first offset and the second offset are dependent on a color-space transform process used to encode the video data.

23. The video decoding device of claim 22 , wherein the one or more processors are further configured to:

determine a first value associated with the first QP;

determine a second value associated with the second QP;

in response to determining that color-space conversion was not used in encoding the video data:

inverse quantize the data of the first color component using the first value; and

inverse quantize the data of the second color component using the second value; and

in response to determining that the video data was encoded using color-space conversion:

inverse quantize the data of the first color component using the first offset added to the first value; and

inverse quantize the data of the second color component using the second offset added to the second value, wherein the first offset is different than the second offset.

24. The video decoding device of claim 23 , wherein a difference between the first QP and the second QP are dependent on a norm of the color-space transform process used to encode the video data.

25. The video decoding device of claim 23 , wherein the one or more processors are further configured to:

when the video data was encoded using color-space conversion, increase a bit depth used for quantization and transform processes for the video data by 2, wherein the first offset is equal to 8.

26. The video decoding device of claim 23 , wherein the one or more processors are further configured to:

when the video data was encoded using color-space conversion, increasing a bit depth used for quantization and transform processes for the video data by 1, wherein the first offset is equal to 2.

27. The video decoding device of claim 22 , wherein the one or more processors are further configured to:

decode a syntax element of a coding unit of video data, wherein the syntax element indicates whether the coding unit was encoded using color-space conversion;

determine whether a value of the syntax element indicates that the coding unit was encoded using color-space conversion; and

in response to determining that the syntax element indicates that the coding unit was coded using color-space conversion, apply the color-space inverse transform process.

28. The video decoding device of claim 27 , wherein the syntax element comprises a one-bit flag.

29. The video decoding device of claim 27 , wherein the coding unit is coded in a mode other than intra-pulse code modulation (IPCM) mode, and wherein the syntax element is signaled only for coding units using a mode other than the IPCM mode.

30. The video decoding device of claim 27 , wherein the syntax element indicates that the coding unit was encoded using color-space conversion when there are non-zero coefficients in a transform unit of the coding unit.

31. The video decoding device of claim 27 , wherein the syntax element indicates that the coding unit was not encoded using color-space conversion when the coding unit is intra coded and when a luma prediction mode and a chroma prediction mode of a prediction unit within the coding unit are different, wherein the syntax element is not present in a received bitstream that comprises the video data, and wherein decoding the syntax element comprises inferring the value of the syntax element.

32. The video decoding device of claim 27 , wherein the syntax element indicates that the coding unit was not encoded using color-space conversion when the coding unit is coded with a palette mode, wherein the syntax element is not present in a received bitstream that comprises the video data, and wherein decoding the syntax element comprises inferring the value of the syntax element.

33. The video decoding device of claim 27 , wherein a value of 1 for the syntax element indicates that the coding unit was encoded using color-space conversion.

34. The video decoding device of claim 22 , wherein the one or more processors are further configured to:

in response to determining that the video data was encoded using color-space conversion, apply a color-space inverse transform process to the coding unit.

35. The video decoding device of claim 34 , wherein the color-space inverse transform process comprises an original YCoCg-R reverse transform matrix.

36. The video decoding device of claim 34 , wherein the color-space inverse transform process comprises a modified YCoCg reverse transform matrix.

37. The video decoding device of claim 36 , wherein a coefficient of the modified YCoCg reverse transform matrix is set to equal a coefficient of an original YCoCg reverse transform matrix after a 2-bit right shift with a rounding offset.

38. The video decoding device of claim 37 , wherein the modified YCoCg matrix has an offset equal to 2.

39. The video decoding device of claim 34 , wherein the color-space inverse transform process comprises an original YCoCg transform matrix.

40. The video decoding device of claim 39 , wherein the one or more processors are further configured to:

apply a normalization process to the video data.

41. The video decoding device of claim 22 , wherein the first color component is a luma (Y) component, and wherein the second color component is a chroma (Cr or Cb) component.

42. The video decoding device of claim 22 , wherein at least one of the first offset and the second offset are not equal to 0.

43. A video decoding apparatus comprising:

means for determining whether the video data was encoded using color-space conversion; and

in response to determining that the video data was encoded using color-space conversion:

means for inverse quantizing data of a first color component of the video data using a first offset, wherein the first offset is associated with a first quantization parameter (QP); and

means for inverse quantizing data of a second color component of the video data using a second offset, wherein the second offset is associated with a second QP, wherein the second color component is different than the first color component, and wherein the second offset associated with the second QP is different than the first offset associated with the first QP, wherein the first offset and the second offset are dependent on a color-space transform process used to encode the video data.

44. The video decoding apparatus of claim 43 , further comprising:

means for determining a first value associated with the first QP;

means for determining a second value associated with the second QP;

in response to determining that color-space conversion was not used in encoding the video data:

means for inverse quantizing the data of the first color component using the first value; and

means for inverse quantizing the data of the second color component using the second value; and

in response to determining that the video data was encoded using color-space conversion:

means for inverse quantizing the data of the first color component using the first offset added to the first value; and

means for inverse quantizing the data of the second color component using the second offset added to the second value, wherein the first offset is different than the second offset.

45. The video decoding apparatus of claim 44 , wherein a difference between the first QP and the second QP are dependent on a norm of the color-space transform process used to encode the video data.

46. The video decoding apparatus of claim 44 , further comprising:

when the video data was encoded using color-space conversion, means for increasing a bit depth used for quantization and transform processes for the video data by 2, wherein the first offset is equal to 8.

47. The video decoding apparatus of claim 44 , further comprising:

when the video data was encoded using color-space conversion, means for increasing a bit depth used for quantization and transform processes for the video data by 1, wherein the first offset is equal to 2.

48. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause one or more processors of a video decoding device to:

determine whether the video data was encoded using color-space conversion; and

in response to determining that the video data was encoded using color-space conversion:

inverse quantize data of a first color component of the video data using a first offset, wherein the first offset is associated with a first quantization parameter (QP); and

inverse quantize data of a second color component of the video data using a second offset, wherein the second offset is associated with a second QP, wherein the second color component is different than the first color component, and wherein the second offset associated with the second QP is different than the first offset associated with the first QP, wherein the first offset and the second offset are dependent on a color-space transform process used to encode the video data.

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

determine a first value associated with the first QP;

determine a second value associated with the second QP;

in response to determining that color-space conversion was not used in encoding the video data:

inverse quantize the data of the first color component using the first value; and

inverse quantize the data of the second color component using the second value; and

in response to determining that the video data was encoded using color-space conversion:

inverse quantize the data of the first color component using the first offset added to the first value; and

inverse quantize the data of the second color component using the second offset added to the second value, wherein the first offset is different than the second offset.

50. The non-transitory computer-readable storage medium of claim 49 , wherein a difference between the first QP and the second QP are dependent on a norm of the color-space transform process used to encode the video data.

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

when the video data was encoded using color-space conversion, increase a bit depth used for quantization and transform processes for the video data by 2, wherein the first offset is equal to 8.

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

when the video data was encoded using color-space conversion, increase a bit depth used for quantization and transform processes for the video data by 1, wherein the first offset is equal to 2.

53. A method of encoding video data, the method comprising:

determining whether to use color-space conversion for encoding the video data; and

in response to determining to use color-space conversion for encoding the video data:

quantizing data of a first color component of the video data using a first offset, wherein the first offset is associated with a first quantization parameter (QP); and

quantizing data of a second color component of the video data using a second offset, wherein the second offset is associated with a second QP, wherein the second color component is different than the first color component, and wherein the second offset associated with the second QP is different than the first offset associated with the first QP, wherein the first offset and the second offset are dependent on a color-space transform process used to encode the video data.

54. The method of claim 53 , further comprising:

determining a first value associated with the first QP;

determining a second value associated with the second QP;

in response to determining that to not use color-space conversion in encoding the video data:

quantizing the data of the first color component using the first value; and

quantizing the data of the second color component using the second value; and

in response to determining that the video data to use color-space conversion in encoding the video data:

quantizing the data of the first color component using the first offset added to the first value; and

quantizing the data of the second color component using the second offset added to the second value, wherein the first offset is different than the second offset.

55. The method of claim 54 , wherein a difference between the first QP and the second QP are dependent on a norm of the color-space transform process used to encode the video data.

56. The method of claim 54 , further comprising:

in response to determining to use color-space conversion for encoding the video data, increasing a bit depth used for quantization and transform processes for the video data by 2, wherein the first offset is equal to 8.

57. The method of claim 54 , further comprising:

in response to determining to use color-space conversion for encoding the video data, increasing a bit depth used for quantization and transform processes for the video data by 1, wherein the first offset is equal to 2.

58. The method of claim 53 , further comprising, in response to determining to use color-space conversion for encoding the video data, setting a value of a syntax element that indicates that the video data was encoded using color-space conversion.

59. The method of claim 58 , wherein the syntax element comprises a one-bit flag.

60. The method of claim 58 , wherein the coding unit is coded in a mode other than intra-pulse code modulation (IPCM) mode, and wherein the syntax element indicates that the coding unit was encoded using color-space conversion when the coding unit is coded using a mode other than intra-pulse code modulation (IPCM) mode.

61. The method of claim 58 , wherein the syntax element indicates that the coding unit was encoded using color-space conversion when there are non-zero coefficients in a transform unit of the coding unit.

62. The method of claim 58 , wherein the syntax element is not signaled when the coding unit is intra coded and when a luma prediction mode and a chroma prediction mode of a prediction unit within the coding unit are different.

63. The method of claim 58 , wherein the syntax element is not signaled when the coding unit is coded with a palette mode.

64. The method of claim 58 , wherein a value of 1for the syntax element indicates that color-space conversion is used for encoding the coding unit.

65. The method of claim 53 , further comprising:

in response to determining to use color-space conversion for encoding the video data, applying the color-space transform process to the coding unit.

66. The method of claim 65 , wherein the color-space transform process comprises an original YCoCg-R transform matrix.

67. The method of claim 65 , wherein the color-space transform process comprises a modified YCoCg transform matrix.

68. The method of claim 67 , wherein a coefficient of the modified YCoCg transform matrix is set to equal a coefficient of an original YCoCg transform matrix after a 2-bit right shift with a rounding offset.

69. The method of claim 68 , wherein the modified YCoCg matrix has an offset equal to 2.

70. The method of claim 65 , wherein applying the color-space transform process comprises an original YCoCg transform matrix.

71. The method of claim 70 , further comprising:

applying a normalization process to the video data.

72. The method of claim 53 , wherein the first color component is a luma (Y) component, and wherein the second color component is a chroma (Cr or Cb) component.

73. The method of claim 53 , wherein at least one of the first offset and the second offset are not equal to 0.

74. A video encoding device comprising:

a memory configured to store video data; and

one or more processors configured to:

determine whether to use color-space conversion for encoding the video data; and

in response to determining to use color-space conversion for encoding the video data:

quantize data of a first color component of the video data using a first offset, wherein the first offset is associated with a first quantization parameter (QP); and

quantize data of a second color component of the video data using a second offset, wherein the second offset is associated with a second QP, wherein the second color component is different than the first color component, and wherein the second offset associated with the second QP is different than the first offset associated with the first QP, wherein the first offset and the second offset are dependent on a color-space transform process used to encode the video data.

75. The video encoding device of claim 74 , wherein the one or more processors are further configured to:

determine a first value associated with the first QP;

determine a second value associated with the second QP;

in response to determining that to not use color-space conversion in encoding the video data:

quantize the data of the first color component using the first value; and

quantize the data of the second color component using the second value; and

in response to determining that the video data to use color-space conversion in encoding the video data:

quantize the data of the first color component using the first offset added to the first value; and

quantize the data of the second color component using the second offset added to the second value, wherein the first offset is different than the second offset.

76. The video encoding device of claim 75 , wherein a difference between the first QP and the second QP are dependent on a norm of the color-space transform process used to encode the video data.

77. The video encoding device of claim 75 , wherein the one or more processors are further configured to:

in response to determining to use color-space conversion for encoding the video data, increase a bit depth used for quantization and transform processes for the video data by 2, wherein the first offset is equal to 8.

78. The video encoding device of claim 75 , wherein the one or more processors are further configured to:

in response to determining to use color-space conversion for encoding the video data, increase a bit depth used for quantization and transform processes for the video data by 1, wherein the first offset is equal to 2.

79. The video encoding device of claim 74 , wherein the one or more processors are further configured to, in response to determining to use color-space conversion for encoding the video data, set a value of a syntax element that indicates that the video data was encoded using color-space conversion.

80. The video encoding device of claim 79 , wherein the syntax element comprises a one-bit flag.

81. The video encoding device of claim 79 , wherein the syntax element is signaled when the coding unit is coded using a mode other than intra-pulse code modulation (IPCM) mode.

82. The video encoding device of claim 79 , wherein the syntax element is signaled only when there are non-zero coefficients in a transform unit of the coding unit.

83. The video encoding device of claim 79 , wherein the syntax element is not signaled when the coding unit is intra coded and when a luma prediction mode and a chroma prediction mode of a prediction unit within the coding unit are different.

84. The video encoding device of claim 79 , wherein the syntax element is not signaled when the coding unit is coded with a palette mode.

85. The video encoding device of claim 79 , wherein a value of 1 for the syntax element indicates that the coding unit was encoded using color-space conversion.

86. The video encoding device of claim 74 , wherein the one or more processors are further configured to:

in response to determining to use color-space conversion for encoding the video data, apply the color-space transform process to the coding unit.

87. The video encoding device of claim 86 , wherein the color-space transform process comprises an original YCoCg-R transform matrix.

88. The video encoding device of claim 86 , wherein the color-space transform process comprises a modified YCoCg transform matrix.

89. The video encoding device of claim 88 , wherein a coefficient of the modified YCoCg transform matrix is set to equal a coefficient of an original YCoCg transform matrix after a 2-bit right shift with a rounding offset.

90. The video encoding device of claim 89 , wherein the modified YCoCg matrix has an offset equal to 2.

91. The video encoding device of claim 86 , wherein the color-space transform process comprises an original YCoCg transform matrix.

92. The video encoding device of claim 91 , wherein the one or more processors are further configured to:

apply a normalization process to the residual block of the video data.

93. The video encoding device of claim 74 , wherein the first color component is a luma (Y) component, and wherein the second color component is a chroma (Cr or Cb) component.

94. The video encoding device of claim 74 , wherein at least one of the first offset and the second offset are not equal to 0.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2015
From: ZHANG, LI; CHEN, JIANLE; KARCZEWICZ, MARTA; SOLE ROJALS, JOEL; KIM, WOO-SHIK
To: QUALCOMM INCORPORATED
Reel/Frame 035291/0010 →
Continuity (4)
Provisional Application 61953573 · Mar 14, 2014
Provisional Application 61981645 · Apr 18, 2014
Provisional Application 62062637 · Oct 10, 2014
Related Publication 20150264354A1 · Sep 17, 2015