IP Library › Granted Patent US 10,021,419
Granted Patent B2
US 10,021,419 · App. 14/327,398 · Granted Jul 10, 2018

Rice parameter initialization for coefficient level coding in video coding process

Inventors: Marta Karczewicz (San Diego, CA); Joel Sole Rojals (La Jolla, CA); Rajan Laxman Joshi (San Diego, CA); Liwei Guo (San Diego, CA)
Assignee: QUALCOMM Incorported
H04N19/60H04N19/13H04N19/136H04N19/176H04N19/91
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,021,419
App. No.
14/327,398
Filed
Jul 9, 2014
Granted
Jul 10, 2018
Kind
B2
Art Unit
2486
USPC
375/240.18
Abstract

Techniques are described for initializing a Rice parameter used to define codes for coefficient level coding. According to the techniques, the initial value of the Rice parameter is determined for a coefficient group (CG) in a transform block of video data based on statistics of coefficient levels that are gathered for previously coded coefficients of the video data. The statistics may be statistics of absolute values of coefficient levels or remaining absolute values of coefficient levels of previously coded coefficients. A value of the statistics may be initialized to zero at a beginning of a video slice and updated based on coefficient levels coded in each CG of the slice. The statistics may be updated once per CG. In some cases, statistics may be gathered separately for each of a plurality of different categories of CGs that are defined based on characteristics of transform blocks that include the CGs.

Claims (78)

1. A method of decoding coefficients in a video decoding process, the method comprising:

determining statistics of coefficient levels for previously decoded coefficients of residual video data for each of a plurality of different categories of coefficient groups, wherein the different categories are defined based on characteristics of transform blocks that include the coefficient groups, and wherein the characteristics of the transform blocks of the previously decoded coefficients include whether the transform blocks are luma blocks and whether the transform blocks are transform skip blocks, the previously decoded coefficients being decoded prior to decoding a current coefficient group in a transform block of the residual video data;

determining a category of the current coefficient group from the plurality of different categories based on characteristics of the transform block that includes the current coefficient group, wherein the characteristics of the transform block that includes the current coefficient group include whether the transform block is a luma block and whether the transform block is a transform skip block;

prior to decoding any coefficients in the current coefficient group, determining an initial value of a Rice parameter for the current coefficient group based on the statistics for the determined category of the current coefficient group; and

decoding a remaining absolute value of a coefficient level for at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

2. The method of claim 1 , wherein the statistics comprise statistics of one of absolute values of the coefficient levels or remaining absolute values of the coefficient levels for the previously decoded coefficients.

3. The method of claim 1 , wherein the statistics comprise statistics of the coefficient levels for the previously decoded coefficients in previous coefficient groups that are included in one or more of the same transform block as the current coefficient group or different transform blocks than the current coefficient group.

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

comparing a coefficient level for at least one of the previously decoded coefficients to a function of the statistics; and

determining whether to increase or decrease the value of the statistics based on the comparison.

5. The method of claim 4 , wherein the function of the statistics comprises a first constant value left-shifted by a value of the statistics divided by a second constant value.

6. The method of claim 1 , further comprising initializing a value of the statistics to zero at a beginning of each slice of the residual video data.

7. The method of claim 1 , wherein determining the statistics comprises determining the statistics once per coefficient group.

8. The method of claim 7 , wherein determining the statistics once per coefficient group comprises determining the statistics when one of a first absolute value of a coefficient level or a first remaining absolute value of a coefficient level is decoded in each of a plurality of previous coefficient groups.

9. The method of claim 1 , further comprising receiving a syntax element indicating which characteristics of the transform blocks are used to define the different categories of coefficient groups, wherein the syntax element is received in one of a sequence parameter set (SPS) or a picture parameter set (PPS) for the residual video data.

10. The method of claim 1 , wherein determining the initial value of the Rice parameter for the current coefficient group comprises mapping a value of the statistics to the initial value of the Rice parameter according to a function of the statistics.

11. The method of claim 10 , wherein the function of the statistics comprises a selection of a minimum of either a maximum value of the Rice parameter or the value of the statistics divided by a constant value.

12. The method of claim 1 , further comprising updating the initial value of the Rice parameter based on the initial value of the Rice parameter and an absolute value of the coefficient level for the at least one of the coefficients being decoded in the current coefficient group.

13. The method of claim 1 , wherein the codes defined by the Rice parameter comprise one of Golomb-Rice codes or Exponential-Golomb codes.

14. The method of claim 1 , wherein the current coefficient group comprises either transform coefficients or coefficients for which a transform is not applied.

15. The method of claim 1 , wherein the characteristics of the transform blocks used to define the different categories of coefficient groups further include positions of the coefficient groups within the transform blocks used to define the different categories of coefficient groups, and wherein the characteristics of the transform block that includes the current coefficient group used to determine the category of the current coefficient group further includes the position of the current coefficient groups within the transform block that includes the current coefficient group.

16. A method of encoding coefficients in a video encoding process, the method comprising:

determining statistics of coefficient levels for previously encoded coefficients of residual video data for each of a plurality of different categories of coefficient groups, wherein the different categories are defined based on characteristics of transform blocks that include the coefficient groups, and wherein the characteristics of the transform blocks of the previously encoded coefficients include whether the transform blocks are luma blocks and whether the transform blocks are transform skip blocks, the previously encoded coefficients being encoded prior to encoding a current coefficient group in a transform block of the residual video data;

determining a category of the current coefficient group from the plurality of different categories based on characteristics of the transform block that includes the current coefficient group, wherein the characteristics of the transform block that includes the current coefficient group at least include whether the transform block is a luma block and whether the transform block is a transform skip block;

prior to encoding any coefficients in the current coefficient group, determining an initial value of a Rice parameter for the current coefficient group based on the statistics for the determined category of the current coefficient group; and

encoding a remaining absolute value of a coefficient level for at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

17. The method of claim 16 , wherein the statistics comprise statistics of one of absolute values of the coefficient levels or remaining absolute values of the coefficient levels for the previously encoded coefficients.

18. The method of claim 16 , wherein the statistics comprise statistics of the coefficient levels for the previously encoded coefficients in previous coefficient groups that are included in one or more of the same transform block as the current coefficient group or different transform blocks than the current coefficient group.

19. The method of claim 16 , wherein determining the statistics comprises:

comparing a coefficient level for at least one of the previously encoded coefficients to a function of the statistics; and

determining whether to increase or decrease the value of the statistics based on the comparison.

20. The method of claim 19 , wherein the function of the statistics comprises a first constant value left-shifted by a value of the statistics divided by a second constant value.

21. The method of claim 16 , further comprising initializing a value of the statistics to zero at a beginning of each slice of the residual video data.

22. The method of claim 16 , wherein determining the statistics comprises determining the statistics once per coefficient group.

23. The method of claim 22 , wherein determining the statistics once per coefficient group comprises determining the statistics when one of a first absolute value of a coefficient level or a first remaining absolute value of a coefficient level is encoded in each of a plurality of previous coefficient groups.

24. The method of claim 16 , further comprising generating a syntax element indicating which characteristics of the transform blocks are used to define the different categories of coefficient groups, wherein the syntax element is generated in one of a sequence parameter set (SPS) or a picture parameter set (PPS) for the residual video data.

25. The method of claim 16 , wherein determining the initial value of the Rice parameter for the current coefficient group comprises mapping a value of the statistics to the initial value of the Rice parameter according to a function of the statistics.

26. The method of claim 25 , wherein the function of the statistics comprises a selection of a minimum of either a maximum value of the Rice parameter or the value of the statistics divided by a constant value.

27. The method of claim 16 , further comprising updating the initial value of the Rice parameter based on the initial value of the Rice parameter and an absolute value of the coefficient level for the at least one of the coefficients being encoded in the current coefficient group.

28. The method of claim 16 , wherein the codes defined by the Rice parameter comprise one of Golomb-Rice codes or Exponential-Golomb codes.

29. The method of claim 16 , wherein the current coefficient group comprises either transform coefficients or coefficients for which a transform is not applied.

30. The method of claim 16 , wherein the characteristics of the transform blocks used to define the different categories of coefficient groups further include positions of the coefficient groups within the transform blocks used to define the different categories of coefficient groups, and wherein the characteristics of the transform block that includes the current coefficient group used to determine the category of the current coefficient group further includes the position of the current coefficient groups within the transform block that includes the current coefficient group.

31. A video coding device comprising:

a memory configured to store video data; and

one or more processors configured to:

determine statistics of coefficient levels for previously coded coefficients of residual video data for each of a plurality of different categories of coefficient groups, wherein the different categories are defined based on characteristics of transform blocks that include the coefficient groups, and wherein the characteristics of the transform blocks of the previously coded coefficients include whether the transform blocks are luma blocks and whether the transform blocks are transform skip blocks, the previously coded coefficients being coded prior to coding a current coefficient group in a transform block of the residual video data;

determine a category of the current coefficient group from the plurality of different categories based on characteristics of the transform block that includes the current coefficient group, wherein the characteristics of the transform block that includes the current coefficient group include whether the transform block is a luma block and whether the transform block is a transform skip block;

prior to coding any coefficients in the current coefficient group, determine an initial value of a Rice parameter for the current coefficient group based on the statistics for the determined category of the current coefficient group; and

code a remaining absolute value of a coefficient level for at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

32. The device of claim 31 , wherein the statistics comprise statistics of one of absolute values of the coefficient levels or remaining absolute values of the coefficient levels for the previously coded coefficients.

33. The device of claim 31 , wherein the statistics comprise statistics of the coefficient levels for the previously coded coefficients in previous coefficient groups that are included in one or more of the same transform block as the current coefficient group or different transform blocks than the current coefficient group.

34. The device of claim 31 , wherein the processors are configured to:

compare a coefficient level for at least one of the previously coded coefficients to a function of the statistics; and

determine whether to increase or decrease the value of the statistics based on the comparison.

35. The device of claim 34 , wherein the function of the statistics comprises a first constant value left-shifted by a value of the statistics divided by a second constant value.

36. The device of claim 31 , wherein a value of the statistics is initialized to zero at a beginning of each slice of the residual video data.

37. The device of claim 31 , wherein determining the statistics comprises determining the statistics once per coefficient group.

38. The device of claim 37 , wherein the processors are configured to determine the statistics when one of a first absolute value of a coefficient level or a first remaining absolute value of a coefficient level is coded in each of a plurality of previous coefficient groups.

39. The device of claim 31 , wherein the processors are configured to determine a syntax element indicating which characteristics of the transform blocks are used to define the different categories of coefficient groups, wherein the syntax element is included in one of a sequence parameter set (SPS) or a picture parameter set (PPS) of the residual video data.

40. The device of claim 31 , wherein the processors are configured to map a value of the statistics to the initial value of the Rice parameter for the current coefficient group according to a function of the statistics.

41. The device of claim 40 , wherein the function of the statistics comprises a selection of a minimum of either a maximum value of the Rice parameter or the value of the statistics divided by a constant value.

42. The device of claim 31 , wherein the processors are configured to update the initial value of the Rice parameter based on the initial value of the Rice parameter and an absolute value of the coefficient level for the at least one of the coefficients being coded in the current coefficient group.

43. The device of claim 31 , wherein the video coding device comprises a video decoding device, and wherein the processors of the video decoding device are configured to decode the remaining absolute value of the coefficient level for the at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

44. The device of claim 31 , wherein the video coding device comprises a video encoding device, and wherein the processors of the video encoding device are configured to encode the remaining absolute value of the coefficient level for the at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

45. The device of claim 31 , wherein the codes defined by the Rice parameter comprise one of Golomb-Rice codes or Exponential-Golomb codes.

46. The device of claim 31 , wherein the current coefficient group comprises either transform coefficients or coefficients for which a transform is not applied.

47. The device of claim 31 , wherein the characteristics of the transform blocks used to define the different categories of coefficient groups further include positions of the coefficient groups within the transform blocks used to define the different categories of coefficient groups, and wherein the characteristics of the transform block that includes the current coefficient group used to determine the category of the current coefficient group further includes the position of the current coefficient groups within the transform block that includes the current coefficient group.

48. A video coding device comprising:

means for determining statistics of coefficient levels for previously coded coefficients of residual video data for each of a plurality of different categories of coefficient groups, wherein the different categories are defined based on characteristics of transform blocks that include the coefficient groups, and wherein the characteristics of the transform blocks of the previously coded coefficients include whether the transform blocks are luma blocks and whether the transform blocks are transform skip blocks, the previously coded coefficients being coded prior to coding a current coefficient group in a transform block of the residual video data;

means for determining a category of the current coefficient group from the plurality of different categories based on characteristics of the transform block that includes the current coefficient group, wherein the characteristics of the transform block that include the current coefficient group include whether the transform block is a luma block and whether the transform block is a transform skip block;

means for, prior to coding any coefficients in the current coefficient group, determining an initial value of a Rice parameter for the current coefficient group based on the statistics for the determined category of the current coefficient group; and

means for coding a remaining absolute value of a coefficient level for at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

49. The device of claim 48 , wherein the means for determining the statistics comprise:

means for comparing a coefficient level for at least one of the previously coded coefficients to a function of the statistics, wherein the function of the statistics comprises a first constant value left-shifted by a value of the statistics divided by a second constant value; and

means for determining whether to increase or decrease the value of the statistics based on the comparison.

50. The device of claim 48 , wherein the means for determining the statistics comprise means for determining the statistics once per coefficient group when one of a first absolute value of a coefficient level or a first remaining absolute value of a coefficient level is coded in each of a plurality of previous coefficient groups.

51. The device of claim 48 , wherein the means for determining the initial value of the Rice parameter for the current coefficient group comprise means for mapping a value of the statistics to the initial value of the Rice parameter according to a function of the statistics, wherein the function of the statistics comprises a selection of a minimum of either a maximum value of the Rice parameter or the value of the statistics divided by a constant value.

52. A non-transitory computer-readable storage medium comprising instructions that when executed by one or more processors of a video coding device cause the processors to: determine statistics of coefficient levels for previously coded coefficients of residual video data for each of a plurality of different categories of coefficient groups, wherein the different categories are defined based on characteristics of transform blocks that include the coefficient groups, and wherein the characteristics of the transform blocks of the previously coded coefficients include whether the transform blocks are luma blocks and whether the transform blocks are transform skip blocks, the previously coded coefficients being coded previous to a current coefficient group in a transform block of the residual video data; determine a category of the current coefficient group from the plurality of different categories based on characteristics of the transform block that includes the current coefficient group, wherein the characteristics of the transform block that includes the current coefficient group include whether the transform block is a luma block and whether the transform block is a transform skip block; prior to coding any coefficients in the current coefficient group, determine an initial value of a Rice parameter for the current coefficient group based on the statistics for the determined category of the current coefficient group; and code a remaining absolute value of a coefficient level for at least one of the coefficients in the current coefficient group using codes defined by the initial value of the Rice parameter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2014
From: KARCZEWICZ, MARTA; SOLE ROJALS, JOEL; JOSHI, RAJAN LAXMAN; GUO, LIWEI
To: QUALCOMM INCORPORATED
Reel/Frame 033540/0376 →
Continuity (7)
Provisional Application 61845850 · Jul 12, 2013
Provisional Application 61846512 · Jul 15, 2013
Provisional Application 61882536 · Sep 25, 2013
Provisional Application 61898968 · Nov 1, 2013
Provisional Application 61907693 · Nov 22, 2013
Provisional Application 61915337 · Dec 12, 2013
Related Publication 20150016537A1 · Jan 15, 2015
Cited By (1)
US 12,526,412