IP Library › Granted Patent US 11,477,462
Granted Patent B2
US 11,477,462 · App. 17/121,820 · Granted Oct 18, 2022

Entropy coding using transform class

Inventors: Joseph Young (Mountain View, CA); Dake He (Sunnyvale, CA)
Assignee: GOOGLE LLC
H04N19/18H04N19/124H04N19/129H04N19/13H04N19/147H04N19/159H04N19/176H04N19/184H04N19/45H04N19/60H04N19/91H04N19/93H04N19/122
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 11,477,462
App. No.
17/121,820
Granted
Oct 18, 2022
Kind
B2
Abstract

An apparatus for decoding a current block includes a processor that is configured to obtain a transform class of a transform type used for decoding a transform block of the current block; select, based on the transform class, a template for coding a value related to a transform coefficient at a row and a column of the transform block; obtain, using the template, an index of a probability distribution in a table of probability distributions; and decode, from a compressed bitstream, the value using the probability distribution.

Claims (39)

1. An apparatus for decoding a current block, comprising:

a processor configured to:

obtain a transform class of a transform type used for decoding a transform block of the current block;

select, based on the transform class, a template for coding a value related to a transform coefficient at a row and a column of the transform block, wherein the template identifies relative neighboring locations of the transform coefficient in the transform block;

obtain, using the template, an index of a probability distribution in a table of probability distributions; and

entropy decode, from a compressed bitstream, the value using the probability distribution.

2. The apparatus of claim 1 , wherein the transform class is one of a vertical transform class (TX_CLASS_VERT), a horizontal transform class (TX_CLASS_HORIZ), or a 2-dimensional transform class (TX_CLASS_2D).

3. The apparatus of claim 2 , wherein each of the vertical transform class, the horizontal transform class, and the 2-dimensional transform class maps to a respective distinct index.

4. The apparatus of claim 2 , wherein the vertical transform class and the horizontal transform class map to a first index in the table of probability distributions, and the 2-dimensional transform class maps to a second index in the table of probability distributions, wherein the first index and the second index are used to obtain the index of the probability distribution.

5. The apparatus of claim 1 , wherein the index of the probability distribution is equal to zero in a case that the row is zero and the column is zero.

6. The apparatus of claim 1 , wherein to obtain, using the template, the index of the probability distribution in the table of probability distributions comprises to:

obtain an aggregate of respective values corresponding to the relative neighboring locations of the template; and

use the aggregate of the respective values to obtain the index of the probability distribution.

7. The apparatus of claim 6 , wherein the aggregate of the respective values is a count of non-zero values of the respective values corresponding to the relative neighboring locations of the template.

8. The apparatus of claim 6 , wherein the aggregate of the respective values is a sum of the respective values corresponding to the locations of the template.

9. A method for coding a current block, comprising:

obtaining a transform class of a transform type used for decoding a transform block of the current block;

selecting, based on the transform class, a template for coding a value related to a transform coefficient at a row and a column of the transform block, wherein the template identifies relative neighboring locations of the transform coefficient in the transform block;

obtaining, using the template, an index of a probability distribution in a table of probability distributions; and

coding the value using the probability distribution.

10. The method of claim 9 , wherein the transform class is one of a vertical transform class (TX_CLASS_VERT), a horizontal transform class (TX_CLASS_HORIZ), or a 2-dimensional transform class (TX_CLASS_2D).

11. The method of claim 10 , wherein each of the vertical transform class, the horizontal transform class, and the 2-dimensional transform class maps to a respective distinct index.

12. The method of claim 10 , wherein the vertical transform class and the horizontal transform class map to a first index in the table of probability distributions, and the 2-dimensional transform class maps to a second index in the table of probability distributions, wherein the first index and the second index are used to obtain the index of the probability distribution.

13. The method of claim 9 , wherein the index of the probability distribution is equal to zero in a case that the row is zero and the column is zero.

14. The method of claim 9 , wherein obtaining, using the template, the index of the probability distribution in the table of probability distributions comprises:

obtaining an aggregate of respective values corresponding to the relative neighboring locations of the template; and

using the aggregate of the respective values to obtain the index of the probability distribution.

15. The method of claim 14 , wherein the aggregate of the respective values is a count of non-zero values of the respective values corresponding to the relative neighboring locations of the template.

16. The method of claim 15 , wherein the aggregate of the respective values is a sum of the respective values corresponding to the relative neighboring locations of the template.

17. The method of claim 9 , wherein coding the value using the probability distribution comprises:

decoding the value from a compressed bitstream using the probability distribution.

18. The method of claim 9 , wherein coding the value using the probability distribution comprises:

encoding the value in a compressed bitstream using the probability distribution.

19. A non-transitory computer-readable storage medium, comprising executable instructions that, when executed, facilitate performance of operations for coding a current block, the operations comprising to:

obtain a transform class of a transform type used for decoding a transform block of the current block, wherein the transform class is one of a vertical transform class, a horizontal transform class, or a 2-dimensional transform class;

select, based on the transform class, a template for coding a value related to a transform coefficient at a row and a column of the transform block, wherein the template identifies relative neighboring locations of the transform coefficient in the transform block;

obtain, using the template, an index of a probability distribution in a table of probability distributions; and

entropy decode, from a compressed bitstream, the value using the probability distribution.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the vertical transform class and the horizontal transform class map to a first index in the table of probability distributions, and the 2-dimensional transform class maps to a second index in the table of probability distributions, wherein the first index and the second index are used to obtain the index of the probability distribution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2020
From: YOUNG, JOSEPH; HE, DAKE
To: GOOGLE LLC
Reel/Frame 054708/0038 →
Continuity (4)
Continuation 16659666 · Oct 22, 2019
Continuation 15798495 · Oct 31, 2017
Provisional Application 62575716 · Oct 23, 2017
Related Publication 20210099720A1 · Apr 1, 2021
Cited By (1)
US 12,389,036