IP Library › Granted Patent US 10,491,914
Granted Patent B2
US 10,491,914 · App. 16/232,757 · Granted Nov 26, 2019

Transform information prediction

Inventors: Xin Zhao (San Diego, CA); Xiang Li (San Diego, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/44H04N19/105H04N19/18H04N19/593H04N19/91
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,491,914
App. No.
16/232,757
Granted
Nov 26, 2019
Kind
B2
Abstract

A method of and an apparatus for controlling intra and/or inter prediction for decoding of a video sequence are provided. The method includes receiving a transform index which indicates a transform selection used for decoding an image block; binarizing a transform index using a preset number of bins; for each of a selected set of bins of the binarized transform index, identifying a group of non-zero transform coefficients in a transform coefficient block; and based on a value of a first bin of the selected set of bins of the binarized transform index and a value of a second bin of the selected set of bins of the binarized transform index, reversing a sign of the identified group of non-zero transform coefficients in the transform coefficient block.

Claims (68)

1. A method of controlling intra prediction for decoding of a video sequence, the method being performed by at least one processor, and the method comprising:

receiving a transform index which indicates a transform selection used for decoding an image block;

binarizing the transform index using a preset number of bins;

for each of a selected set of bins of the binarized transform index, identifying a group of non-zero transform coefficients in a transform coefficient block;

based on a value of a first bin of the selected set of bins of the binarized transform index and a value of a second bin of the selected set of bins of the binarized transform index, reversing a sign of the identified group of non-zero transform coefficients in the transform coefficient block;

adding the non-zero transform coefficients to an array according to a preset order;

comparing a sum of magnitudes of the non-zero transform coefficients to a threshold value; and

selecting a context for coding each bin of the transform index based on the comparing,

wherein when the sum of the magnitudes of the non-zero transform coefficients are greater than the threshold value, a first context is selected, and when the sum of the magnitudes of the non-zero transform coefficients are less than the threshold value, a second context is selected.

2. The method of claim 1 , further comprising:

reversing the sign of the non-zero transform coefficients based on an ordering of the non-zero transform coefficients in the array.

3. The method of claim 1 , further comprising:

reversing the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one; and

reversing the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

4. The method of claim 1 , further comprising:

adding the non-zero transform coefficients to the array according to a decreasing order of magnitude values of the non-zero transform coefficients;

reversing the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one; and

reversing the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

5. The method of claim 1 , further comprising:

adding the non-zero transform coefficients to the array according to an increasing order of magnitude values of the non-zero transform coefficients;

reversing the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one; and

reversing the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

6. The method of claim 1 , further comprising:

adding the non-zero transform coefficients to the array according to a preset scanning order;

reversing the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one; and

reversing the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

7. The method of claim 6 , wherein the preset scanning order is one from among a diagonal scan, a horizontal scan, and a vertical scan.

8. The method of claim 1 , further comprising:

comparing a magnitude of each non-zero transform coefficient to a second threshold value; and

not reversing a non-zero transform coefficient when the magnitude of the non-zero transform coefficient is below the second threshold value.

9. An apparatus for controlling intra prediction for decoding of a video sequence, the 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 a transform index which indicates a transform selection used for decoding an image block;

binarizing code configured to cause the at least one processor to binarize a transform index using a preset number of bins;

identifying code configured to cause the at least one processor to, for each of a selected set of bins of the binarized transform index, identify a group of non-zero transform coefficients in a transform coefficient block;

reversing code configured to cause the at least one processor to, based on a value of a first bin of the selected set of bins of the binarized transform index and a value of a second bin of the selected set of bins of the binarized transform index, reverse a sign of the identified group of non-zero transform coefficients in the transform coefficient block;

adding code configured to cause the at least one processor to add the non-zero transform coefficients to an array according to a preset order;

comparing code configured to cause the at least one processor to compare a sum of magnitudes of the non-zero transform coefficients to a threshold value; and

selecting code configured to cause the at least one processor to select a context for coding each bin of the transform index based on the comparing,

wherein when the sum of the magnitudes of the non-zero transform coefficients are greater than the threshold value, a first context is selected, and when the sum of the magnitudes of the non-zero transform coefficients are less than the threshold value, a second context is selected.

10. The apparatus of claim 9 , further comprising:

wherein the reversing code is further configured to cause the at least one processor to reverse the sign of the non-zero transform coefficients based on an ordering of the non-zero transform coefficients in the array.

11. The apparatus of claim 9 ,

wherein the reversing code is further configured to cause the at least one processor to reverse the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one, and reverse the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

12. The apparatus of claim 9 , further comprising:

wherein the adding code is further configured to cause the at least one processor to add the non-zero transform coefficients to the array according to a decreasing order of magnitude values of the non-zero transform coefficients,

wherein the reversing code is further configured to cause the at least one processor to reverse the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one, and

wherein the reversing code is further configured to cause the at least one processor to reverse the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

13. The apparatus of claim 9 ,

wherein the adding code is further configured to cause the at least one processor to add the non-zero transform coefficients to the array according to an increasing order of magnitude values of the non-zero transform coefficients, and

wherein the reversing code is further configured to cause the at least one processor to reverse the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one, and reverse the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

14. The apparatus of claim 9 ,

wherein the adding code is further configured to cause the at least one processor to add the non-zero transform coefficients to the array according to a preset scanning order, and

wherein the reversing code is further configured to cause the at least one processor to reverse the sign of the non-zero transform coefficients in an even position of the array when the value of the first bin is one, and reverse the sign of the non-zero transform coefficients in an odd position of the array when the value of the second bin is one.

15. The apparatus of claim 14 , wherein the preset scanning order is one from among a diagonal scan, a horizontal scan, and a vertical scan.

16. The apparatus of claim 9 , further comprising:

comparing code configured to cause the at least one processor to compare a magnitude of each non-zero transform coefficient to a second threshold value,

wherein the reversing code is further configured to cause the at least one processor to not reverse a non-zero transform coefficient when the magnitude of the non-zero transform coefficient is below the second threshold value.

17. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

receive a transform index which indicates a transform selection used for decoding an image block;

binarize the transform index using a preset number of bins;

for each of a selected set of bins of the binarized transform index, identify a group of non-zero transform coefficients in a transform coefficient block;

based on a value of a first bin of the selected set of bins of the binarized transform index and a value of a second bin of the selected set of bins of the binarized transform index, reverse a sign of the identified group of non-zero transform coefficients in the transform coefficient block;

add the non-zero transform coefficients to an array according to a preset order;

compare a sum of magnitudes of the non-zero transform coefficients to a threshold value; and

select a context for coding each bin of the transform index based on the comparing,

wherein when the sum of the magnitudes of the non-zero transform coefficients are greater than the threshold value, a first context is selected, and when the sum of the magnitudes of the non-zero transform coefficients are less than the threshold value, a second context is selected.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2018
From: ZHAO, XIN; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA, LLC
Reel/Frame 047860/0042 →
Continuity (2)
Provisional Application 62650128 · Mar 29, 2018
Related Publication 20190306521A1 · Oct 3, 2019
Cited By (1)
US 12,689,750