IP Library › Granted Patent US 11,677,984
Granted Patent B2
US 11,677,984 · App. 16/993,785 · Granted Jun 13, 2023

Low-frequency non-separable transform (LFNST) signaling

Inventors: Hilmi Enes Egilmez (San Diego, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/61H04N19/176H04N19/18H04N19/593
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,677,984
App. No.
16/993,785
Granted
Jun 13, 2023
Kind
B2
Abstract

A method of decoding video data includes receiving encoded data for a current block and decoding N bins for a low-frequency non-separable transform (LFNST) index from the encoded data. The N bins comprises a first bin and a second bin. Decoding the N bins comprises context decoding each bin of the N bins. The method further includes determining the LFNST index using the N bins and decoding the encoded data to generate transform coefficients. The method further includes applying an inverse LFNST to the transform coefficients using the LFNST index to produce a residual block for the current block and reconstructing the current block of the video data using the residual block and a prediction block for the current block.

Claims (62)

1. A method of decoding video data, the method comprising:

receiving encoded data for a current block;

decoding N bins for a low-frequency non-separable transform (LFNST) index from the encoded data, wherein the N bins comprises a first bin and a second bin and wherein decoding the N bins comprises context decoding at least one bin of the N bins;

determining the LFNST index using the N bins, wherein determining the LFNST index comprises determining a value for an intra mode for decoding the current block, context decoding a value of the last bin of the N bins to generate a decoded value, and determining the value of the last bin based on the decoded value and the value for the intra mode;

wherein determining the value of the last bin comprises:

determining whether the value for the intra mode is odd, in response to determining that the value for the intra mode is not odd, predicting the value of the last bin as the decoded value, and, in response to determining that the value for the intra mode is odd, predicting the value of the last bin as a value opposite to the decoded value; or

determining whether the value for the intra mode is even, in response to determining that the value for the intra mode is not even, predicting the value of the last bin as the decoded value, and, in response to determining that the value for the intra mode is even, predicting the value of the last bin as a value opposite to the decoded value;

decoding the encoded data to generate transform coefficients;

applying an inverse LFNST to the transform coefficients using the LFNST index to produce a residual block for the current block; and

reconstructing the current block of the video data using the residual block and a prediction block for the current block.

2. The method of claim 1 , wherein context decoding comprises:

in response to determining that the first bin of the N bins is assigned to a luma channel, context decoding the first bin of the N bins with a first context; and

in response to determining that the second bin of the N bins is assigned to a chroma channel, context decoding the second bin of the N bins with a second context that is different from the first context.

3. The method of claim 1 , wherein context decoding comprises:

predicting, using a first context that is the same for a luma channel for all intra modes or using a second context that is the same for a chroma channel for all intra modes, a bin value based on intra mode information for a respective bin of the N bins.

4. A method of encoding video data, the method comprising:

generating a residual block for a current block based on a prediction block for the current block;

applying a separable transform to the residual block to produce separable transform coefficients;

determining a low-frequency non-separable transform (LFNST) index;

applying a LFNST to the separable transform coefficients using the LFNST index to produce transform coefficients;

encoding the transform coefficients and N bins for the LFNST index to produce encoded video data, wherein the N bins comprises a first bin and a second bin and wherein encoding the N bins comprises context encoding at least one bin of the N bins, wherein context encoding, the at least one bin comprises determining a value for an intra mode for encoding the current block and context encoding a value of the last bin of the N bins based on the value for the intra mode;

wherein context encoding the value of the last bin comprises:

determining whether the value for the intra mode is odd, in response to determining that the value for the intra mode is not odd, context encoding the value of the last bin, and, in response to determining that the value for the intra mode is odd, context encoding a value opposite to the value of the last bin; or

determining whether the value for the intra mode is even, in response to determining that the value for the intra mode is not even, predicting the value of the last bin as the decoded value, and, in response to determining that the value for the intra mode is even, predicting the value of the last bin as a value opposite to the decoded value; and

outputting the encoded video data.

5. The method of claim 4 , wherein context encoding comprises:

in response to determining that the first bin of the N bins is assigned to a luma channel, context encoding the first bin of the N bins with a first context; and

in response to determining that the second bin of the N bins is assigned to a chroma channel, context encoding the second bin of the N bins with a second context that is different from the first context.

6. The method of claim 4 , wherein context encoding comprises:

context encoding, using a first context that is the same for a luma channel for all intra modes or using a second context that is the same for a chroma channel for all intra modes, a bin value based on intra mode information for a respective bin of the N bins.

7. A device for decoding video data, the device comprising one or more processors implemented in circuitry and configured to:

receive encoded data for a current block;

decode N bins for a low-frequency non-separable transform (LFNST) index from the encoded data, wherein the N bins comprises a first bin and a second bin and wherein, to decode the N bins, the one or more processors are configured to context decode at least one bin of the N bins;

determine the LFNST index using the N bins, wherein, to determine the LFNST index, the one or more processors are configured to determine a value for an intra mode for decoding the current block, context decode a value of the last bin of the N bins to generate a decoded value, and determine the value of the last bin based on the decoded value and the value for the intra mode;

wherein, to determine the value of the last bin, the one or more processors are configured to:

determine whether the value for the intra mode is odd, in response to a determination that the value for the intra mode is not odd, predict the value of the last bin as the decoded value, and, in response to a determination that the value for the intra mode is odd, predict the value of the last bin as a value opposite to the decoded value; or

determine whether the value for the intra mode is even, in response to determining that the value for the intra mode is not even, predict the value of the last bin as the decoded value, and, in response to determining that the value for the intra mode is even, predict the value of the last bin as a value opposite to the decoded value;

decode the encoded data to generate transform coefficients;

apply an inverse LFNST to the transform coefficients using the LFNST index to produce a residual block for the current block; and

reconstruct the current block of the video data using the residual block and a prediction block for the current block.

8. The device of claim 7 , wherein, to context decode, the one or more processors are configured to:

in response to a determination that the first bin of the N bins is assigned to a luma channel, context decode the first bin of the N bins with a first context; and

in response to a determination that the second bin of the N bins is assigned to a chroma channel, context decode the second bin of the N bins with a second context that is different from the first context.

9. The device of claim 7 , wherein, to context decode, the one or more processors are configured to:

predict, using a first context that is the same for a luma channel for all intra modes or using a second context that is the same for a chroma channel for all intra modes, a bin value based on intra mode information for a respective bin of the N bins.

10. The device of claim 7 , further comprising a display configured to display the video data.

11. The device of claim 7 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

12. A device for encoding video data, the device comprising one or more processors implemented in circuitry and configured to:

generate a residual block for a current block based on a prediction block for the current block;

apply a separable transform to the residual block to produce separable transform coefficients;

determine a low-frequency non-separable transform (LFNST) index;

apply a LFNST to the separable transform coefficients using the LFNST index to produce transform coefficients;

encode the transform coefficients and N bins for the LFNST index to produce encoded video data, wherein the N bins comprises a first bin and a second bin and wherein, to encode the N bins, the one or more processors are configured to context encode at least one bin of the N bins, wherein, to context encode the at least one bin, the one or more processors are configured to determine a value for an intra mode for encoding the current block and context encode a value of the last bin of the N bins based on the value for the intra mode;

wherein, to context encode the value of the last bin, the one or more processors are configured to:

determine whether the value for the intra mode is odd, in response to a determination that the value for the intra mode is not odd, context encode the value of the last bin, and, in response to a determination that the value for the intra mode is odd, context encode a value opposite to the value of the last bin; or

determine whether the value for the intra mode is even, in response to determining that the value for the intra mode is not even, predict the value of the last bin as the decoded value, and, in response to determining that the value for the intra mode is even, predict the value of the last bin as a value opposite to the decoded value; and

output the encoded video data.

13. The device of claim 12 , wherein, to context encode, the one or more processors are configured to:

in response to a determination that the first bin of the N bins is assigned to a luma channel, context encode the first bin of the N bins with a first context; and

in response to a determination that the second bin of the N bins is assigned to a chroma channel, context encode the second bin of the N bins with a second context that is different from the first context.

14. The device of claim 12 , wherein, to context encode, the one or more processors are configured to:

context encode, using a first context that is the same for a luma channel for all intra modes or using a second context that is the same a the chroma channel for all intra modes, a bin value based on intra mode information for a respective bin of the N bins.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: EGILMEZ, HILMI ENES; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 055773/0104 →
Continuity (3)
Provisional Application 62903522 · Sep 20, 2019
Provisional Application 62889402 · Aug 20, 2019
Related Publication 20210058642A1 · Feb 25, 2021