IP Library Granted Patent US 9,154,792
Granted Patent B2
US 9,154,792 · App. 13/669,032 · Granted Oct 6, 2015

Progressive coding of position of last significant coefficient

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,154,792
App. No.
13/669,032
Granted
Oct 6, 2015
Kind
B2
Abstract

A video encoder is configured to determine a first and second binary string for a value indicating the position of the last significant coefficient, within a video block of size T. A video decoder is configured to determine a value indicating the position of a last significant coefficient within a video block of size T based on a first and second binary string. In one example, the first binary string is based on a truncated unary coding scheme defined by a maximum bit length defined by 2 log 2 (T)−1 and the second binary string is based on a fixed length coding scheme defined by a maximum bit length defined by log 2 (T)−2.

Claims (88)

1. A method for encoding video data comprising:

obtaining a value indicating a position of a last significant coefficient within a video block of size T;

determining a first binary string for the value indicating the position of the last significant coefficient based on a truncated unary coding scheme defined by a maximum bit length defined by 2log 2 (T)−1;

determining a second binary string for the value indicating the position of the last significant coefficient based on a fixed length coding scheme including determining a maximum length of the second binary string based on a value of the determined first binary string; and

encoding the first and second binary strings to a bitstream.

2. The method of claim 1 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

3. The method of claim 2 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

4. The method of claim 1 , wherein encoding the first and second binary strings comprises encoding the first binary string followed by encoding the second binary string.

5. The method of claim 1 , wherein encoding the first and second binary strings comprises encoding the first and second binary strings using a context adaptive arithmetic coding (CABAC) process, the CABAC process comprising encoding the first binary string based on a context model and bypass encoding the second binary string.

6. The method of claim 5 , wherein bypass encoding the second binary string comprises encoding bines of the second binary string using an equal probability state.

7. The method of claim 1 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

8. A device for encoding video data, the device comprising:

a memory configured to store a last significant coefficient; and

a video encoder configured to:

obtain a value indicating a position of the last significant coefficient within a video block of size T;

determine a first binary string for the value indicating the position of the last significant coefficient based on a truncated unary coding scheme defined by a maximum bit length defined by 2log 2 (T)−1;

determine a second binary string for the value indicating the position of the last significant coefficient based on a fixed length coding scheme including determining a maximum length of the second binary string based on a value of the determined first binary string; and

encode the first and second binary strings to a bitstream.

9. The device of claim 8 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

10. The device of claim 9 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

11. The device of claim 8 , wherein to encode the first and second binary strings, the video encoder is configured to encode the first binary string followed by encoding the second binary string.

12. The device of claim 8 , wherein to encode the first and second binary strings, the video encoder is configured to encode the first and second binary strings using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising encoding the first binary string based on a context model and bypass encoding the second binary string.

13. The device of claim 12 , wherein to bypass encode the second binary string, the video encoder is configured to encode bins of the second binary string using an equal probability state.

14. The device of claim 8 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

15. A device for encoding video data, the device comprising:

means for obtaining a value indicating a position of a last significant coefficient within a video block of size T;

means for determining a first binary string for the value indicating the position of the last significant coefficient based on a truncated unary coding scheme defined by a maximum bit length defined by 2log 2 (T)−1;

means for determining a second binary string for the value indicating the position of the last significant coefficient based on a fixed length coding scheme including means for determining a maximum length of the second binary string based on a value of the determined first binary string; and

means for encoding the first and second binary strings to a bitstream.

16. The device of claim 15 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

17. The device of claim 16 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

18. The device of claim 15 , wherein the means for encoding comprises means for encoding the first binary string followed by encoding the second binary string.

19. The device of claim 15 , wherein the means for encoding the first and second binary strings comprises means for encoding the first and second binary strings using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising encoding the first binary string based on a context model and bypass encoding the second binary string.

20. The device of claim 19 , wherein the means for encoding comprises means for bypass encoding bins of the second binary string using an equal probability state.

21. The device of claim 15 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

22. A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed, cause one or more processors to:

obtain a value indicating a position of a last significant coefficient within a video block of size T;

determine a first binary string for the value indicating the position of the last significant coefficient based on a truncated unary coding scheme defined by a maximum bit length defined by 2log 2 (T)−1;

determine a second binary string for the value indicating the position of the last significant coefficient based on a fixed length coding scheme including determining a maximum length of the second binary string based on a value of the determined first binary string; and

encode the first and second binary strings to a bitstream.

23. The non-transitory computer-readable storage medium of claim 22 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

24. The non-transitory computer-readable storage medium of claim 23 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

25. The non-transitory computer-readable medium of claim 22 , wherein to encode the first and second binary strings, the instructions cause the one or more processors to encode the first binary string followed by encoding the second binary string.

26. The non-transitory computer-readable medium of claim 22 , wherein to encode the first and second binary strings, the instructions cause the one or more processors to encode the first and second binary strings to a bitstream using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising encoding the first binary string based on a context model and bypass encoding the second binary string.

27. The non-transitory computer-readable storage medium of claim 26 , wherein to bypass encode the second binary string, the instructions cause the one or more processors to encode bins of the second binary string using an equal probability state.

28. The non-transitory computer-readable storage medium of claim 22 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

29. A method for decoding video data comprising:

obtaining a first binary string and a second binary string from an encoded bitstream;

determining a value indicating the position of a last significant coefficient within a video block of size T based in part on the first binary string, wherein the first binary string is defined by a truncated unary coding scheme with a maximum bit length defined by 2log 2 (T)−1; and

determining the value indicating the position of the last significant coefficient based in part on the second binary string, wherein the second binary string is defined by a fixed length coding scheme that includes determining a maximum length of the second binary string based on a value of the determined first binary string.

30. The method of claim 29 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

31. The method of claim 30 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

32. The method of claim 29 , wherein obtaining the first binary string and the second binary string comprises decoding the first binary string followed by decoding the second binary string.

33. The method of claim 29 , wherein obtaining the first binary string and the second binary string comprises decoding the first binary string and the second binary string using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising decoding the first binary string based on a context model and bypass decoding the second binary string.

34. The method of claim 33 , wherein bypass decoding the second binary string comprises decoding bins of the second binary string using an equal probability state.

35. The method of claim 29 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

36. A device for decoding video data, the device comprising:

a memory configured to store a first binary string and a second binary string of an encoded bitstream; and

a video decoder configured to:

obtain a first binary string and the second binary string from the encoded bitstream;

determine a value indicating the position of a last significant coefficient within a video block of size T based in part on the first binary string, wherein the first binary string is defined by a truncated unary coding scheme with a maximum bit length defined by 2log 2 (T)−1; and

determine the value indicating the position of the last significant coefficient based in part on the second binary string, wherein the second binary string is defined by a fixed length coding scheme that includes determining a maximum length of the second binary string based on a value of the determined first binary string.

37. The device of claim 36 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

38. The device of claim 37 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

39. The device of claim 36 , wherein to obtain the first binary string and the second binary string, the video decoder is configured to decode the first binary string followed by decoding the second binary string.

40. The device of claim 36 , wherein to obtain the first binary string and the second binary string, the video decoder is configured to decode the first binary string and the second binary string using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising decoding the first binary string based on a context model and bypass decoding the second binary string.

41. The device of claim 40 , wherein to bypass decode the second binary string, the video decoder is configured to decode bins of the second binary string using an equal probability state.

42. The device of claim 36 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

43. A device for decoding video data, the device comprising:

means for obtaining a first binary string and a second binary string from an encoded bitstream;

means for determining a value indicating the position of a last significant coefficient within a video block of size T based in part on the first binary string, wherein the first binary string is defined by a truncated unary coding scheme with a maximum bit length defined by 2log 2 (T)−1; and

means for determining the value indicating the position of the last significant coefficient based in part on the second binary string, wherein the second binary string is defined by a fixed length coding scheme that includes determining a maximum length of the second binary string based on a value of the determined first binary string.

44. The device of claim 43 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

45. The device of claim 44 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

46. The device of claim 43 , wherein the means for obtaining the first binary string and the second binary string comprises means for decoding the first binary string followed by decoding the second binary string.

47. The device of claim 43 , wherein the means for obtaining the first binary string and the second binary string comprises means for decoding the first binary string and the second binary string using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising decoding the first binary string based on a context model and bypass decoding the second binary string.

48. The device of claim 47 , wherein the means for decoding comprises means for bypass decoding bins of the second binary string using an equal probability state.

49. The device of claim 43 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

50. A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed, cause one or more processors to:

obtain a first binary string and a second binary string from an encoded bitstream;

determine a value indicating the position of a last significant coefficient within a video block of size T based in part on the first binary string, wherein the first binary string is defined by a truncated unary coding scheme with a maximum bit length defined by 2log 2 (T)−1; and

determine the value indicating the position of the last significant coefficient based in part on the second binary string, wherein the second binary string is defined by a fixed length coding scheme that includes determining a maximum length of the second binary string based on a value of the determined first binary string.

51. The non-transitory computer-readable storage medium of claim 50 , wherein the fixed length coding scheme is defined by a maximum bit length defined by log 2 (T)−2.

52. The non-transitory computer-readable storage medium of claim 51 , wherein T is equal to 32, wherein the value indicating the position of a last significant coefficient equals 8, and wherein the first binary string has a bit length of 7.

53. The non-transitory computer-readable medium of claim 50 , wherein to obtain the first binary string and the second binary string, the instructions cause the one or more processors to decode the first binary string followed by decoding the second binary string.

54. The non-transitory computer-readable medium of claim 50 , wherein to obtain the first binary string and the second binary string, the instructions cause the one or more processors to decode the first binary string and the second binary string using a context-adaptive arithmetic coding (CABAC) process, the CABAC process comprising decoding the first binary string based on a context model and bypass decoding the second binary string.

55. The non-transitory computer-readable storage medium of claim 54 , wherein to bypass decode the second binary string, the instructions cause the one or more processors to decode bins of the second binary string using an equal probability state.

56. The non-transitory computer-readable storage medium of claim 50 , wherein the value indicating the position of the last significant coefficient comprises one of a value indicating an x-position of the last significant coefficient or a value indicating a y-position of the last significant coefficient.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2022
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 060923/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2021
From: VELOS MEDIA, LLC
To: QUALCOMM INCORPORATED
Reel/Frame 057575/0431 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 057554/0540 →
SECOND AMENDED AND RESTATED MEMBER INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 2, 2018
From: VELOS MEDIA MANAGEMENT, LLC; VELOS MEDIA, LLC
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 045806/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: QUALCOMM INCORPORATED
To: VELOS MEDIA, LLC
Reel/Frame 043173/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2013
From: CHIEN, WEI-JUNG; SOLE ROJALS, JOEL; KARCZEWICZ, MARTA; JOSHI, RAJAN LAXMAN
To: QUALCOMM INCORPORATED
Reel/Frame 029580/0409 →