IP Library Granted Patent US 10,103,746
Granted Patent B2
US 10,103,746 · App. 15/208,717 · Granted Oct 16, 2018

Methods and devices for coding and decoding the position of the last significant coefficient

Inventors: Dake He (Waterloo, CA); Jing Wang (Waterloo, CA)
Assignee: BlackBerry Limited
H03M7/40H03M7/3079H03M7/3075
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,103,746
App. No.
15/208,717
Granted
Oct 16, 2018
Kind
B2
Abstract

Methods and devices are described for entropy coding data using an entropy coder to encode quantized transform domain coefficient data. Last significant coefficient information is signaled in the bitstream using two-dimensional coordinates for the last significant coefficient. The context for bins of one of the coordinates is based, in part, upon the value of the other of the coordinates. In one case, instead of signaling last significant coefficient information, the number of non-zero coefficients is binarized and entropy encoded.

Claims (40)

1. A method for encoding quantized transform domain coefficient data in an encoder having a processor, the method comprising:

determining, with the processor, a first coordinate in a two-dimensional coordinate system and a second coordinate in a two-dimensional coordinate system that together specify a last-significant-coefficient position within a block of the quantized transform domain coefficient data; and

entropy encoding, with the processor, the first coordinate and the second coordinate by determining a context for encoding of one of the coordinates based upon the value of the other of the coordinates.

2. The method claimed in claim 1 , wherein entropy encoding includes binarizing the first coordinate and the second coordinate and entropy encoding each bin of the binarized first coordinate and each bin of the binarized second coordinate.

3. The method claimed in claim 1 , wherein the first coordinate comprises an index to an anti-diagonal line in the block passing through the last-significant-coefficient position, and the second coordinate comprises a position of the last-significant-coefficient on the anti-diagonal line.

4. The method claimed in claim 1 , wherein entropy encoding includes encoding using Huffman codes.

5. The method claimed in claim 4 , wherein encoding includes selecting a Huffman tree containing the Huffman codes, and wherein the selection of the Huffman tree is based at least in part upon a quantization parameter value.

6. The method claimed in claim 1 , further comprising first determining that the first coordinate is zero and second coordinate is non-zero and, as a result, decrementing the value of the second coordinate by one before encoding the second coordinate.

7. An encoder for encoding quantized transform domain coefficient data, the encoder comprising:

a processor;

a memory; and

an encoding application stored in memory and containing instructions that, when executed, cause the processor to

determine a first coordinate in a two-dimensional coordinate system and a second coordinate in a two-dimensional coordinate system that together specify a last-significant-coefficient position within a block of the quantized transform domain coefficient data, and

entropy encode the first coordinate and the second coordinate by determining a context for encoding of one of the coordinates based upon the value of the other of the coordinates.

8. The encoder claimed in claim 7 , wherein the instructions, when executed, cause the processor to entropy encode by binarizing the first coordinate and the second coordinate and entropy encoding each bin of the binarized first coordinate and each bin of the binarized second coordinate.

9. The encoder claimed in claim 7 , wherein the first coordinate comprises an index to an anti-diagonal line in the block passing through the last-significant-coefficient position, and the second coordinate comprises a position of the last-significant-coefficient on the anti-diagonal line.

10. The encoder claimed in claim 7 , wherein the instructions, when executed, cause the processor to entropy encode using Huffman codes.

11. The encoder claimed in claim 10 , wherein the instructions, when executed, cause the processor to select a Huffman tree containing the Huffman codes, and wherein the selection of the Huffman tree is based at least in part upon a quantization parameter value.

12. The encoder claimed in claim 7 , wherein the instructions, when executed, cause the processor to first determine that the first coordinate is zero and second coordinate is non-zero and, as a result, decrement the value of the second coordinate by one before encoding the second coordinate.

13. A method for decoding a bitstream of encoded data to reconstruct quantized transform domain coefficient data in a decoder having a processor, the method comprising:

entropy decoding, with a processor, a portion of the encoded data to reconstruct a first coordinate and a second coordinate that together specify a last-significant-coefficient position within a block of the quantized transform domain coefficient data, including

determining a context for entropy decoding the first coordinate, and

determining a context for entropy decoding the second coordinate based upon the reconstructed value of the first coordinate.

14. The method claimed in claim 13 , wherein entropy decoding includes entropy decoding the bins of a binarized first coordinate and the bins of a binarized second coordinate and reconstructing the first coordinate and the second coordinate from their respective decoded bins.

15. The method claimed in claim 13 , wherein the first coordinate comprises an index to an anti-diagonal line in the block passing through the last-significant-coefficient position, and the second coordinate comprises a position of the last-significant-coefficient on the anti-diagonal line.

16. The method claimed in claim 13 , wherein entropy decoding includes decoding using Huffman codes.

17. The method claimed in claim 16 , wherein decoding includes selecting a Huffman tree containing the Huffman codes, and wherein the selection of the Huffman tree is based at least in part upon a quantization parameter value.

18. The method claimed in claim 13 , further comprising determining that the first coordinate is zero and, as a result, incrementing the value of the reconstructed second coordinate by one after decoding the second coordinate.

19. A decoder for decoding a bitstream of encoded data to reconstruct quantized transform domain coefficient data, the decoder comprising:

a processor;

a memory; and

a decoding application stored in memory and containing instructions that, when executed, cause the processor to

entropy decode a portion of the encoded data to reconstruct a first coordinate and a second coordinate that together specify a last-significant-coefficient position within a block of the quantized transform domain coefficient data, including

determining a context for entropy decoding the first coordinate, and

determining a context for entropy decoding the second coordinate based upon the reconstructed value of the first coordinate.

20. The decoder claimed in claim 19 , wherein the instructions, when executed, cause the processor to entropy decode by entropy decoding the bins of a binarized first coordinate and the bins of a binarized second coordinate and reconstructing the first coordinate and the second coordinate from their respective decoded bins.

21. The decoder claimed in claim 19 , wherein the first coordinate comprises an index to an anti-diagonal line in the block passing through the last-significant-coefficient position, and the second coordinate comprises a position of the last-significant-coefficient on the anti-diagonal line.

22. The decoder claimed in claim 19 , wherein entropy decoding includes decoding using Huffman codes.

23. The decoder claimed in claim 22 , wherein the instructions, when executed, cause the processor to entropy decode by selecting a Huffman tree containing the Huffman codes, and wherein the selection of the Huffman tree is based at least in part upon a quantization parameter value.

24. The decoder claimed in claim 18 , wherein the instructions, when executed, cause the processor to determine that the first coordinate is zero and, as a result, increment the value of the reconstructed second coordinate by one after decoding the second coordinate.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
CHANGE OF NAME Recorded Jul 18, 2018
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 046583/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2016
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 039142/0826 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2016
From: HE, DAKE; WANG, JING
To: SLIPSTREAM DATA INC.
Reel/Frame 039142/0128 →
Continuity (3)
Continuation 13874549 · May 1, 2013
Continuation 13087462 · Apr 15, 2011
Related Publication 20160322986A1 · Nov 3, 2016