IP Library Granted Patent US 11,272,212
Granted Patent B2
US 11,272,212 · App. 17/105,809 · Granted Mar 8, 2022

Tuned line graph transforms

Inventors: Madhu Peringassery Krishnan (Mountain View, CA); Xin Zhao (San Diego, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/625H04N19/124H04N19/159H04N19/176H04N19/184H04N19/61H04N19/70
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,272,212
App. No.
17/105,809
Granted
Mar 8, 2022
Kind
B2
Abstract

A method of decoding may be performed by at least one processor, and may comprise: receiving an entropy coded bitstream comprising compressed video data; generating one or more dequantized blocks, determining whether at least one of a height and a width of the one or more dequantized blocks is greater than or equal to a predefined threshold, and responsive to the at least one of the height or the width of the one or more dequantized blocks being greater than or equal to the predefined threshold, transform coding a dequantized block using a tuned line graph transform (LGT) core to perform direct matrix multiplications for each of the horizontal and vertical dimensions of the one or more dequantized blocks.

Claims (67)

1. A method of decoding comprising:

receiving an entropy coded bitstream comprising compressed video data;

generating one or more dequantized blocks by a process comprising:

parsing the bitstream;

decoding the entropy coded bitstream; and

dequantizing each block of the one or more blocks;

determining whether at least one of a height and a width of the one or more dequantized blocks is greater than or equal to a predefined threshold; and

responsive to the at least one of the height or the width of the one or more dequantized blocks being greater than or equal to the predefined threshold, transform coding a dequantized block using a tuned line graph transform (LGT) core to perform direct matrix multiplications for each of the horizontal and vertical dimensions of the one or more dequantized blocks,

wherein the method further comprises generating LGT cores of different sizes by using a first self-loop weight and a second self-loop weight, in a generalized graph Laplacian (GGL) matrix, that are set in advance to specific respective values, and

wherein the generating the LGT cores includes:

tuning the LGT cores of different sizes using the first self-loop weight and the second self-loop weight to derive a first transform core; and

tuning one or more individual weights of one or more basis vectors of the first transform core by brute force to derive a second transform core, wherein the second transform core is the tuned LGT core.

2. The method of claim 1 , wherein the predefined threshold has a value corresponding to one of 32 and 64.

3. The method of claim 1 , wherein the predefined threshold has a value corresponding to one of 4, 8, 16, 32, 64, 128, and 256.

4. The method of claim 1 , wherein the tuned LGT core is a Discrete Cosine Transform (DCT) or a Discrete Sine Transforms (DST), from among DCT-2, DCT-8 or DST-7, which are derived from certain forms of generalized graph Laplacian (GGL) matrices.

5. The method of claim 4 , wherein the method further comprises at least one of:

DCT-2 is derived by setting the first self-loop weight to 0;

DST-7 is derived by setting the first self-loop weight to a first predetermined value;

DCT-8 is derived by setting the second self-loop weight to the first predetermined value;

DST-4 is derived by setting the first self-loop weight to the first predetermined value multiplied by 2; and

DCT-4 is derived by setting the second self-loop weight to the first predetermined value multiplied by 2.

6. The method of claim 1 , further comprising:

determining whether N-p LGT is enabled; and

using only Discrete Cosine Transform (DCT)-2 and LGT, as the transform type candidates, for an N-length side of the dequantized block, when N-p LGT is enabled.

7. The method of claim 1 , further comprising:

determining whether N-p LGT is enabled; and

using only Discrete Cosine Transform (DCT)-2, LGT and flipped LGT, as the transform type candidates, for an N-length side the dequantized block, when N-p LGT is enabled.

8. The method of claim 1 , further comprising:

determining whether N-p LGT is enabled; and

preventing use of an identity transform for an N-length side of the dequantized block, when N-p LGT is enabled.

9. The method of claim 1 , further comprising:

determining whether N-p LGT is enabled; and

using supported transform types for intra prediction residuals and inter prediction residuals that are different, when N-p LGT is enabled.

10. The method of claim 9 , wherein, for the intra prediction residuals, the supported transform types include Discrete Cosine Transform (DCT)-2 and LGT.

11. The method of claim 9 , wherein, for inter prediction residuals, the supported transform types include Discrete Cosine Transform (DCT)-2, LGT and flipped LGT.

12. The method of claim 1 , further comprising:

generating a displayable image based at least in part on the transformed dequantized block; and

performing control so that the displayable image is displayed by a display.

13. A non-transitory computer-readable storage medium storing instructions that, when executed, cause a system or device comprising one or more processors to:

receive an entropy coded bitstream comprising compressed video data;

generate one or more dequantized blocks by a process comprising:

parsing the bitstream;

decoding the entropy coded bitstream; and

dequantizing each block of the one or more blocks;

determine whether at least one of a height and a width of the one or more dequantized blocks is greater than or equal to a predefined threshold; and

responsive to the at least one of the height or the width of the one or more dequantized blocks being greater than or equal to the predefined threshold, transform code a dequantized block using a tuned line graph transform (LGT) core to perform direct matrix multiplications for each of the horizontal and vertical dimensions of the one or more dequantized blocks,

wherein the instructions further cause the system or device to:

generate LGT cores of different sizes by using a first self-loop weight and a second self-loop weight, in a generalized graph Laplacian (GGL) matrix, that are set in advance to specific respective values;

tune the LGT cores of different sizes using the first self-loop weight and the second self-loop weight to derive a first transform core; and

tune one or more individual weights of one or more basis vectors of the first transform core by brute force to derive a second transform core, wherein the second transform core is the tuned LGT core.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions are further configured to cause the system or device comprising the one or more processors to:

generate a displayable image based at least in part on the transformed dequantized block; and

perform control so that the displayable image is displayed by a display.

15. An apparatus comprising:

at least one memory configured to store computer program code; and

at least one processor configured to access the at least one memory and operate according to the computer program code, the computer program code comprising:

receiving code configured to cause the at least one processor to receive an entropy coded bitstream comprising compressed video data;

generating code configured to cause the at least one processor to generate one or more dequantized blocks by a process comprising: parsing the bitstream, decoding the entropy coded bitstream and dequantizing each block of the one or more blocks;

determining code configured to cause the at least one processor to determine whether at least one of a height and a width of the one or more dequantized blocks is greater than or equal to a predefined threshold; and

transform coding code configured to cause the at least one processor to: responsive to the at least one of the height and the width of the one or more dequantized blocks being greater than or equal to the predefined threshold, transform code a dequantized block using a tuned line graph transform (LGT) core to perform direct matrix multiplications for each of the horizontal and vertical dimensions of the one or more dequantized blocks,

wherein the transform coding code further causes the at least one processor to:

generate LGT cores of different sizes by using a first self-loop weight and a second self-loop weight, in a generalized graph Laplacian (GGL) matrix, that are set in advance to specific respective values;

tune the LGT cores of different sizes using the first self-loop weight and the second self-loop weight to derive a first transform core; and

tune one or more individual weights of one or more basis vectors of the first transform core by brute force to derive a second transform core, wherein the second transform core is the tuned LGT core.

16. The apparatus of claim 15 , wherein the predefined threshold has a value corresponding to one of: 32 and 64.

17. The apparatus of claim 15 , further comprising:

a display, wherein the computer program code further comprises: display code configured to cause the at least one processor to: generate a displayable image based at least in part on the transformed dequantized block; and perform control so that the displayable image is displayed by the display.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2020
From: KRISHNAN, MADHU PERINGASSERY; ZHAO, XIN; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 054478/0230 →
Continuity (2)
Provisional Application 63023697 · May 12, 2020
Related Publication 20210360288A1 · Nov 18, 2021