IP Library Granted Patent US 9,565,435
Granted Patent B2
US 9,565,435 · App. 13/758,770 · Granted Feb 7, 2017

Devices and methods for context reduction in last significant coefficient position coding

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,565,435
App. No.
13/758,770
Granted
Feb 7, 2017
Kind
B2
Abstract

A method of video encoding includes encoding a position of a last non-zero coefficient within a video block having a first width. The position of the last non-zero coefficient is provided as a string of binary values, wherein each binary value in said string corresponds to a bin index value. The method also includes determining a context index value for each bin index value, wherein the context index value for each bin index value is configured to be shared across two or more blocks of different widths.

Claims (60)

1. A method of video encoding, the method comprising:

determining, a position of a last non-zero coefficient within each of a first video block having a first width, a second video block having a second width different from the first width and a third video block having a third width different from the first width and the second width;

determining a context index value for each bin index value for video blocks having at least the first width, the second width and the third width;

encoding, using a processor coupled to memory, the position of the last non-zero coefficient within each of the first video block, the second video block and the third video block as a string of binary values, wherein each binary value in said string corresponds to a bin index value encoded using a respective context index value, and wherein:

each of at least three context index values is shared across each the first video block and the second video block, but not across the third video block, and a last context index value for the third video block is different from each of the first video block and the second video block; and

encoding at least one of the first video block, the second video block and the third video block using two-level significance map coding by:

dividing the at least one of the first video block, the second video block and the third video block into same-size two or more non-overlapping sub-blocks;

generating a respective significance map for each sub-block; and

generating a level-1 significance map, wherein each sub-block corresponds to a position in the level-1 significance map and the position is set to 1 if the sub-block has at least one non-zero value, otherwise the position is set to 0.

2. The method of claim 1 , wherein the context index value is derived from the bin index value according to the equation:

context index value=bin index value>>(log 2 (TU size )−2);

where >> indicates a shift operation and TU size refers to width of the video block.

3. The method of claim 1 , wherein the context index value is derived from the bin index value using a lookup table.

4. The method of claim 3 , wherein the lookup table includes a context model having three context index values for a block width of 8.

5. The method of claim 4 , wherein loss in coding efficiency associated with using three context index values is less than 1%.

6. The method of claim 3 , wherein the lookup table includes a context model having three context index values for a block width of 16.

7. The method of claim 6 , wherein loss in coding efficiency associated with using three context index values is less than 1%.

8. The method of claim 3 , wherein the lookup table includes a context model having six context index values for a block width of 16.

9. The method of claim 8 , wherein loss in coding efficiency associated with using six context index values is less than 1%.

10. The method of claim 3 , wherein the lookup table includes a context model having seven context index values for a block width of 16.

11. The method of claim 1 , wherein encoding the position of the last non-zero coefficient is achieved via entropy encoding.

12. The method of claim 11 , wherein the entropy encoding comprises context adaptive binary arithmetic coding (CABAC).

13. The method of claim 12 , wherein CABAC includes truncated codewords for a position of the last non-zero coefficient.

14. The method of claim 1 , wherein encoding the position of the last non-zero coefficient comprises explicitly encoding the position of the last non-zero coefficient by signaling its X and Y coordinates independently.

15. The method of claim 1 , wherein the position of the last non-zero coefficient is encoded prior to encoding positions of other non-zero coefficients.

16. The method of claim 1 , wherein the entropy encoding comprises high efficiency video coding (HEVC).

17. The method of claim 1 , wherein encoding comprises decoding, and wherein decoding identifies the position of the last non-zero coefficient within the video block.

18. The method of claim 1 , wherein all context index values for the third video block are different from context index values for the first video block and the second video block.

19. An apparatus for encoding video, the apparatus comprising a video coder configured to:

determine a position of a last non-zero coefficient within each of a first video block having a first width, a second video block having a second width different from the first width and a third video block having a third width different from the first width and the second width;

determine a context index value for each bin index value for video blocks having at least the first width, the second width and the third width;

encode the position of the last non-zero coefficient within each of the first video block, the second video block and the third video block as a string of binary values, wherein each binary value in said string corresponds to a bin index value encoded using a respective context index value; and

encode at least one of the first video block, the second video block and the third video block using two-level significance map coding by:

dividing the at least one of the first video block, the second video block and the third video block into same-size two or more non-overlapping sub-blocks;

generating a respective significance map for each sub-block; and

generating a level-1 significance map, wherein each sub-block corresponds to a position in the level-1 significance map and the position is set to 1 if the sub-block has at least one non-zero value, otherwise the position is set to 0, and wherein:

each of at least three context index values is shared across each the first video block and the second video block and a last context index value for the third video block is different from each of the first video block and the second video block.

20. The apparatus of claim 19 , wherein the context index value is derived from the bin index value according to the equation: context index value=bin index value>>(log 2 (TU size )−2) where >>indicates a shift operation and TU size refers to width of the video block.

21. The apparatus of claim 19 , wherein the context index value is derived from the bin index value using a lookup table.

22. The apparatus of claim 21 , wherein the lookup table includes a context model having three context index values for a block width of 8.

23. The apparatus of claim 22 , wherein loss in coding efficiency associated with using three context index values is less than 1%.

24. The apparatus of claim 21 , wherein the lookup table includes a context model having three context index values for a block width of 16.

25. The apparatus of claim 24 , wherein loss in coding efficiency associated with using three context index values is less than 1%.

26. The apparatus of claim 21 , wherein the lookup table includes a context model having six context index values for a block width of 16.

27. The apparatus of claim 26 , wherein loss in coding efficiency associated with using six context index values is less than 1%.

28. The apparatus of claim 21 , wherein the lookup table includes a context model having seven context index values for a block width of 16.

29. The apparatus of claim 28 , wherein loss in coding efficiency associated with using seven context index values is less than 1%.

30. The apparatus of claim 19 , wherein encoding the position of the last non-zero coefficient is achieved via entropy encoding.

31. The apparatus of claim 30 , wherein the entropy encoding comprises context adaptive binary arithmetic coding (CABAC).

32. The apparatus of claim 31 , wherein CABAC includes truncated codewords for a position of the last non-zero coefficient.

33. The apparatus of claim 19 , wherein encoding the position of the last non-zero coefficient comprises explicitly encoding the position of the last non-zero coefficient by signaling its X and Y coordinates independently.

34. The apparatus of claim 19 , wherein the position of the last non-zero coefficient is encoded prior to encoding positions of other non-zero coefficients.

35. The apparatus of claim 19 , wherein the entropy encoding comprises high efficiency video coding (HEVC).

36. The apparatus of claim 19 , wherein the video encoder comprises a video decoder configured to decode a position of a last non-zero coefficient within a video block.

37. The apparatus of claim 36 , wherein the apparatus comprises at least one of: an integrated circuit; a microprocessor; and a wireless communication device that includes the video decoder.

38. The apparatus of claim 19 , wherein the apparatus comprises at least one of:

an integrated circuit;

a microprocessor; and

a wireless communication device that includes the video encoder.

39. The apparatus of claim 19 , wherein all context index values for the third video block are different from context index values for the first video block and the second video block.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034274/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2013
From: FANG, XUE; PANUSOPONE, KRIT; WANG, LIMIN
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 029834/0014 →