IP Library › Granted Patent US 10,715,821
Granted Patent B2
US 10,715,821 · App. 16/269,882 · Granted Jul 14, 2020

Embedding information about EOB positions

Inventor: Dake He (Cupertino, CA)
Assignee: GOOGLE LLC
H04N19/18H04N19/129H04N19/46H04N19/467H04N19/61H04N19/70H04N19/48H04N19/513H04N19/547H04N19/96
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,715,821
App. No.
16/269,882
Granted
Jul 14, 2020
Kind
B2
Abstract

A method for decoding a transform block of quantized transform coefficients. The method includes decoding, from an encoded bitstream, a predetermined number of coefficients of the quantized transform coefficients, the transform block includes the predetermined number of coefficients and subsequent quantized transform coefficients; determining a value for the predetermined number of coefficients; decoding, from the encoded bitstream, a subsequent quantized transform coefficient of the subsequent quantized transform coefficients; and determining whether to decode an end-of-block (EOB) indicator based on the value that is determined for the predetermined number of coefficients.

Claims (49)

1. A method for decoding a transform block of quantized transform coefficients, comprising:

decoding, from an encoded bitstream, a predetermined number of coefficients of the quantized transform coefficients, wherein the transform block comprises the predetermined number of coefficients and subsequent quantized transform coefficients;

determining a value for the predetermined number of coefficients;

decoding, from the encoded bitstream, a subsequent quantized transform coefficient of the subsequent quantized transform coefficients; and

determining whether to decode an end-of-block (EOB) indicator based on the value that is determined for the predetermined number of coefficients.

2. The method of claim 1 , wherein the value comprises a parity of the predetermined number of coefficients, the parity indicating whether a sum of the predetermined number of coefficients is even or odd.

3. The method of claim 1 , wherein determining whether to decode the EOB indicator based on the value that is determined for the predetermined number of coefficients comprising:

on condition that the subsequent quantized transform coefficient is a non-zero coefficient, decoding a coefficient immediately following the subsequent quantized transform coefficient,

wherein the decoding uses a position of the subsequent quantized transform coefficient and the value of the predetermined number of coefficients to determine whether to decode the EOB indicator.

4. The method of claim 3 , wherein the position of the subsequent quantized transform coefficient is the position in a list of non-zero coefficients following the predetermined number of coefficients.

5. The method of claim 1 , wherein determining whether to decode the EOB indicator based on the value that is determined for the predetermined number of coefficients comprising:

on condition that the subsequent quantized transform coefficient is a non-zero coefficient, decoding a coefficient immediately following the subsequent quantized transform coefficient, wherein the decoding uses a position of the subsequent quantized transform coefficient and the value of the predetermined number of coefficients to determine whether to traverse a coefficient token tree starting at a root node or starting at another node in the coefficient token tree.

6. The method of claim 5 , wherein, to determine whether to traverse the coefficient token tree starting at the root node or starting at another node in the coefficient token tree, the decoding the subsequent quantized transform coefficient further uses whether a sum of the predetermined number of coefficients exceeds a threshold.

7. The method of claim 5 , wherein, to determine whether to traverse the coefficient token tree starting at the root node or starting at another node in the coefficient token tree, the decoding the subsequent quantized transform coefficient further uses whether a distance between a first non-zero coefficient of the predetermined number of coefficients and a last non-zero coefficient of the predetermined number of coefficients exceeds a distance threshold.

8. The method of claim 1 , wherein the predetermined number of coefficients does not include a DC coefficient.

9. A method for decoding a transform block of quantized transform coefficients, the quantized transform coefficients including zero coefficients and non-zero coefficients, comprising:

decoding, from an encoded bitstream, a predetermined number of coefficients of the quantized transform coefficients;

determining a value for the predetermined number of coefficients, the value indicating which subsequent non-zero quantized transform coefficients can be a last non-zero quantized transform coefficient of the transform block; and

determining, based on the value, whether to decode from the encoded bitstream an end-of-block (EOB) indicator subsequent to decoding a non-zero coefficient.

10. The method of claim 9 , wherein determining, based on the value, whether to decode from the encoded bitstream the EOB indicator is further based on whether a distance between a first and a last non-zero coefficient of the predetermined number of coefficients exceeds a distance threshold.

11. The method of claim 10 ,

wherein the value for the predetermined number of coefficients is a parity of the predetermined number of coefficients, and

wherein determining, based on the value, whether to decode from the encoded bitstream the EOB indicator comprises:

decoding the subsequent quantized transform coefficient by reading bits from the encoded bitstream and traversing a coefficient token tree having a root node, the root node indicating an EOB token, wherein the decoding uses the parity to determine whether to traverse the coefficient token tree starting at the root node or starting at another node in the coefficient token tree.

12. The method of claim 9 , wherein determining, based on the value, whether to decode from the encoded bitstream the EOB indicator is further based on whether a number of non-zero coefficients in the predetermined number of coefficients exceeds a number threshold.

13. The method of claim 12 , wherein determining, based on the value, whether to decode from the encoded bitstream the EOB indicator comprises:

on condition that the number of non-zero coefficients not exceeding the number threshold, decoding the EOB indicator.

14. The method of claim 9 , wherein the value is a sum of the predetermined number of coefficients.

15. An apparatus for encoding a transform block of quantized transform coefficients, the quantized transform coefficients including zero coefficients and non-zero coefficients, the apparatus comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

partition the quantized transform coefficients into at least a first coefficients group and a second coefficients group;

determine a value for the first coefficients group, the value indicating whether a number of non-zero coefficients in the second coefficients group is even or odd;

encode a transform coefficient of the second coefficients group, wherein the transform coefficient is a non-zero transform coefficient; and

determine, based on the value, whether to encode an end-of-block (EOB) indicator subsequent to the encoding of the transform coefficient of the second coefficients group.

16. The apparatus of claim 15 , wherein

the second coefficients group comprising a first non-zero coefficient and a second non-zero coefficient,

the second non-zero coefficient being a next immediate non-zero coefficient after the first non-zero coefficient, and

wherein to determine, based on the value, whether to encode the EOB indicator subsequent to the encoding of the transform coefficient comprises to:

encode the EOB indicator, based on the value, after only one of the first non-zero coefficient or the second non-zero coefficient.

17. The apparatus of claim 15 , wherein the value is a parity of the first coefficients group, and wherein the instructions further comprise instructions to:

conform the parity of the first coefficients group and a number of the non-zero coefficients of the second coefficients group.

18. The apparatus of claim 17 , wherein to conform the parity of the first coefficients group and the number of the non-zero coefficients of the second coefficients group comprises to:

on condition that the parity is even and a number of non-zero coefficients is odd or on condition that the parity is odd and the number of non-zero coefficients is even, adjust at least one of the quantized transform coefficients of the first coefficients group so that the parity and the number of the non-zero coefficients match.

19. The apparatus of claim 17 , wherein to conform the parity of the first coefficients group and the number of the non-zero coefficients of the second coefficients group comprises to:

on condition that the parity is even and a number of non-zero coefficients is odd or on condition that the parity is odd and the number of non-zero coefficients is even, set at least one of the non-zero coefficients of the second coefficients group to zero so that the parity and the number of the non-zero coefficients match.

20. The apparatus of claim 17 , to encode the EOB indicator for the transform coefficient of the second coefficients group based on the value comprises to:

on condition that a position of the transform coefficient in the second coefficients group matching the parity, encode the transform coefficient including the EOB indicator; and

on condition that the position of the transform coefficient in the second coefficients group not matching the parity, encode the transform coefficient excluding the EOB indicator.

Continuity (2)
Continuation 15681493 · Aug 21, 2017
Related Publication 20190174137A1 · Jun 6, 2019