IP Library › Granted Patent US 11,991,392
Granted Patent B2
US 11,991,392 · App. 17/866,707 · Granted May 21, 2024

Efficient context model computation design in transform coefficient coding

Inventors: Jingning Han (Santa Clara, CA); James Zern (San Francisco, CA); Linfeng Zhang (Palo Alto, CA); Ching-Han Chiang (San Jose, CA); Yaowu Xu (Saratoga, CA)
Assignee: GOOGLE LLC
H04N19/60H04N19/129H04N19/13H04N19/184H04N19/88
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,991,392
App. No.
17/866,707
Granted
May 21, 2024
Kind
B2
Abstract

A transform type is obtained for decoding the transform block of transform coefficients. A template for entropy-decoding values related to the transform coefficients is selected based on the transform type. The template indicates, for a to-be-coded value, positions of already coded values. A context for selecting a probability distribution for entropy decoding a current value of the values is determined using the template. The current value is entropy decoded from a compressed bitstream using the probability distribution.

Claims (42)

1. An apparatus for decoding a transform block of transform coefficients, the apparatus comprising:

a processor configured to execute instructions to:

obtain a transform type of a transform used for decoding the transform block, the transform being used to perform an inverse transformation operation;

select, based on the transform type, a template for entropy-decoding values related to the transform coefficients,

the template indicating, for a current value of the values to be decoded, relative positions of already coded values with respect to the current value,

the relative positions being one of Cartesian coordinates or scan positions in a scan order, and

the template used for determining a probability distribution for entropy decoding the current value;

determine, using the template, a context for selecting the probability distribution for entropy decoding the current value of the values; and

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

2. The apparatus of claim 1 , wherein the template is further selected based on a location of the current value in the transform block.

3. The apparatus of claim 1 , wherein the template comprises five scan positions.

4. The apparatus of claim 3 , wherein the five scan positions are arranged along two template anti-diagonal lines, wherein a first of the two template anti-diagonal lines includes at least two of the five scan positions and a second of the two template anti-diagonal lines includes at least three scan positions, each of the at least three scan positions being different from each of the at least two of the five scan positions.

5. The apparatus of claim 1 , wherein the transform type includes a 1-dimensional vertical transform type and the current value is at position (x, y) of the transform block, and wherein the template comprises positions (x+1, y), (x+2, y), (x+3, y), (x+4, y), (x, y+1), (x+1, y+1), and (x+1, y+2).

6. The apparatus of claim 1 , wherein the transform type includes a 1-dimensional horizontal transform type and the current value is at position (x, y) of the transform block, and wherein the template comprises at positions (x+1, y), (x, y+1), (x+1, y+1), (x, y+2), (x+1, y+2), (x, y+3), and (x, y+4).

7. The apparatus of claim 1 , wherein the transform type includes a 2-dimensional horizontal transform type and the current value is at position (x, y) of the transform block, and wherein the template comprises positions (x+1, y), (x+2, y), (x, y+1), (x+1, y+1), (x+2, y+1), (x, y+2), and (x+1, y+2).

8. The apparatus of claim 1 , wherein the transform type includes a 2-dimensional horizontal transform type and the current value is at position (x, y) of the transform block, and wherein the template comprises positions (x+1, y), (x+2, y), (x+3, y), (x, y+1), (x+1, y+1), (x, y+2), (x+1, y+2), and (x, y+3).

9. The apparatus of claim 1 , wherein the transform type includes a 2-dimensional horizontal transform type and the current value is at position (x, y) of the transform block, and wherein the template comprises positions (x+1, y), (x+2, y), (x+3, y), (x+4, y), and (x, y+1).

10. The apparatus of claim 1 , wherein the transform type includes a 1-dimensional transform type and the current value is at position (x, y) of the transform block, and wherein the template comprises positions (x+1, y), (x+2, y), (x+3, y), (x, y+1), (x+1, y+1).

11. The apparatus of claim 1 , wherein the values related to the transform coefficients comprise a level-k map where k>0, wherein the level-k map is a binary map that indicates which of the transform coefficients have absolute values greater than or equal to k.

12. The apparatus of claim 1 , wherein the values related to the transform coefficients comprise a residual map, wherein the residual map comprises transform coefficient values in excess of a maximum level.

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

obtaining a transform type of a transform used for decoding the transform block, the transform being used to perform an inverse transformation operation;

selecting, based on the transform type, a template for entropy-decoding values related to the transform coefficients,

the template indicating, for a current value of the values to be decoded, relative positions of already coded values with respect to the current value,

the relative positions being one of Cartesian coordinates or scan positions in a scan order, and

the template used for determining a probability distribution for entropy decoding the current value;

determining, using the template, a context for selecting the probability distribution for entropy decoding the current value; and

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

14. The method of claim 13 , wherein the template is further selected based on a location of the current value in the transform block.

15. The method of claim 13 , wherein the template comprises five scan positions.

16. The method of claim 15 , wherein the five scan positions are arranged along two template anti-diagonal lines, wherein a first of the two template anti-diagonal lines includes at least two of the five scan positions and a second of the two template anti-diagonal lines includes at least three scan positions, each of the at least three scan positions being different from each of the at least two of the five scan positions.

17. The method of claim 13 , wherein a first template is selected in a case that the transform type includes a 1-dimensional vertical transform type, a second template is selected in a case that the transform type includes a 1-dimensional horizontal transform type, and a third template is selected in a case that the transform type includes a 2-dimensional transform type, and wherein the first template, the second template, and the third template are different templates.

18. A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations for decoding a transform block of transform coefficients, the operations comprising:

obtaining a transform type of a transform used for decoding the transform block, the transform being used to perform an inverse transformation operation;

selecting, based on the transform type, a template for entropy-decoding values related to the transform coefficients,

the template indicating, for a current value of the values to be decoded, relative positions of already coded values with respect to the current value,

the relative positions being one of Cartesian coordinates or scan positions in a scan order, and

the template used for determining a probability distribution for entropy decoding the current value;

determining, using the template, a context for selecting the probability distribution for entropy decoding the current value; and

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

19. The non-transitory computer readable medium of claim 18 , wherein a first template is selected in a case that the transform type includes a 1-dimensional vertical transform type, a second template is selected in a case that the transform type includes a 1-dimensional horizontal transform type, and a third template is selected in a case that the transform type includes a 2-dimensional transform type, and wherein the first template, the second template, and the third template are different templates.

20. The non-transitory computer readable medium of claim 18 , wherein the values related to the transform coefficients comprise a level-k map where k>0, wherein the level-k map is a binary map that indicates which of the transform coefficients have absolute values greater than or equal to k.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2022
From: HAN, JINGNING; ZERN, JAMES; ZHANG, LINFENG; CHIANG, CHING-HAN; XU, YAOWU
To: GOOGLE LLC
Reel/Frame 060695/0805 →
Continuity (4)
Continuation 17106898 · Nov 30, 2020
Continuation 16693438 · Nov 25, 2019
Continuation In Part 15883323 · Jan 30, 2018
Related Publication 20220377376A1 · Nov 24, 2022