IP Library Granted Patent US 9,167,245
Granted Patent B2
US 9,167,245 · App. 13/759,764 · Granted Oct 20, 2015

Method of determining binary codewords for transform coefficients

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 9,167,245
App. No.
13/759,764
Granted
Oct 20, 2015
Kind
B2
Abstract

A system is provided for creating binary codewords for transform coefficients used for relating transform units (TUs) divided into coding units (CUs) in a High Efficiency Video Coding (HEVC) system. The system provides binarization of the codewords and removes unnecessary operations to reduce system complexity and increase compression performance. The system generates transform coefficients that relate the TUs and begins by providing a parameter variable (cRiceParam) set to an initial value of zero. Significant transform coefficients are converted into binary codewords based on the current value of the parameter variable, and the parameter variable is then updated with a new current value after each transform coefficient has been converted. Updating can be provided with reference to table values or the values can be provided from combination logic.

Claims (56)

1. A method of determining binary codewords for transform coefficients, comprising:

providing a transform unit comprising one or more groups of the transform coefficients, each of the transform coefficients having a quantized value;

coding a first flag for each of the transform coefficients that have an absolute value greater than one until a first condition is reached;

coding a second flag for each of the transform coefficients that have an absolute value greater than two until a second condition is reached;

determining a symbol for each of the remaining transform coefficients for which said first flag and said second flag were not coded, each symbol having an associated syntax element;

providing a parameter variable;

initially setting said parameter variable to a value of zero;

converting each symbol into a binary codeword based on the value of said parameter variable; and

updating said parameter variable after each symbol has been converted by setting said parameter variable to a new value, said new value being based at least in part on the value of said parameter variable preceding said updating and the syntax element of the most recently converted symbol,

wherein each said binary codeword comprises a Truncated Rice portion having up to a predefined maximum number of bits, and wherein said binary codeword comprises:

said Truncated Rice portion when said symbol is less than or equal to a maximum symbol value for the value of said parameter variable, or

said Truncated Rice portion and an Exponential Golomb portion when said symbol is greater than said maximum symbol value for the value of said parameter variable.

2. The method of claim 1 , wherein said first condition is reached when two of said transform coefficients having an absolute value greater than one have been encountered in a group.

3. The method of claim 2 , wherein said second condition is reached when the first flag for a single transform coefficient has been set to one within a group.

4. The method of claim 1 , wherein said first condition is reached when the first flag for a preset number of transform coefficients having an absolute value of one or more have been coded within a group.

5. The method of claim 4 , wherein said second condition is reached when the first flag for a single transform coefficient has been set to one within a group.

6. The method of 1 , wherein:

said predefined maximum number of bits for said Truncated Rice portion is a first value when said binary codeword comprises said Truncated Rice portion without said Exponential Golomb portion, and

said predefined maximum number of bits for said Truncated Rice portion is a second value when said binary codeword comprises said Truncated Rice portion and said Exponential Golomb portion.

7. The method of claim 1 , wherein said converting comprises looking up said binary codeword from a table based on the value of said symbol and the value of said parameter variable.

8. The method of claim 1 , wherein the value of said parameter variable is configured to be zero, one, two, three, or four.

9. A method of determining binary codewords for transform coefficients, comprising:

providing a transform unit comprising one or more groups of the transform coefficients, each of the transform coefficients having a quantized value;

coding a first flag for each of the transform coefficients that have an absolute value greater than one until a first condition is reached;

coding a second flag for each of the transform coefficients that have an absolute value greater than two until a second condition is reached;

determining a symbol for each of the remaining transform coefficients for which said first flag and said second flag were not coded, each symbol having an associated syntax element;

providing a parameter variable;

initially setting said parameter variable to a value of zero;

converting each symbol into a binary codeword based on the value of said parameter variable; and

updating said parameter variable after each symbol has been converted by setting said parameter variable to a new value, said new value being based at least in part on the value of said parameter variable preceding said updating and the syntax element of the most recently converted symbol,

wherein each said binary codeword comprises a Truncated Rice portion having up to a predefined maximum number of bits, and

wherein updating said parameter variable comprises:

looking up said new value from a table based on the value of said parameter variable preceding said updating and the value of the syntax element of the most recently converted symbol; and

replacing the value of said parameter variable with said new value.

10. The method of claim 1 , wherein updating said parameter variable comprises:

determining whether the value of said parameter variable preceding said updating and the value of the syntax element of the most recently converted symbol together satisfy one or more conditions; and

mathematically adding an integer of one to the last value of said parameter variable for each of said one or more conditions that is satisfied.

11. The method of claim 10 , wherein each of said one or more conditions comprises a conditional symbol threshold and a conditional parameter threshold.

12. The method of claim 11 , wherein one of said one or more conditions is satisfied when the value of the syntax element of the most recently converted symbol is greater than or equal to said conditional symbol threshold for that condition and the value of said parameter variable preceding said updating is less than or equal to said conditional parameter threshold for that condition.

13. The method of claim 12 , wherein the conditional symbol thresholds for a set of said one or more conditions are 3, 6, 12, and 24.

14. A video processing system, comprising:

a memory configured to store one or more transform coefficients each having a quantized value;

a processor coupled with said memory, said processor being configured to:

code a first flag for each of the transform coefficients that have an absolute value greater than one until a first condition is reached;

code a second flag for each of the transform coefficients that have an absolute value greater than two until a second condition is reached;

determine a symbol for each of the remaining transform coefficients for which said first flag and said second flag were not coded, each symbol having an associated syntax element;

set a parameter variable to an initial value of zero;

convert said symbol to said binary codeword based on the value of said parameter variable; and

update the value of said parameter variable after the symbol has been converted by setting said parameter variable to a new value, said new value being based at least in part on the value of said parameter variable preceding said updating and the syntax element of the most recently converted symbol,

wherein said binary codeword comprises a Truncated Rice portion having up to a predefined maximum number of bits, and

wherein updating said parameter variable comprises:

determining whether the value of said parameter variable preceding said updating and the value of the syntax element of the most recently converted symbol together satisfy one or more conditions; and

mathematically adding an integer of one to the last value of said parameter variable for each of said one or more conditions that is satisfied.

15. The video processing system of claim 14 , wherein each of said one or more conditions comprises a conditional symbol threshold and a conditional parameter threshold.

16. The video processing system of claim 15 , wherein one of said one or more conditions is satisfied when the value of the syntax element of the most recently converted symbol is greater than or equal to said conditional symbol threshold for that condition and the value of said parameter variable preceding said updating is less than or equal to said conditional parameter threshold for that condition.

17. The video processing system of claim 16 , wherein the conditional symbol thresholds for a set of said one or more conditions are 3, 6, 12, and 24.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034274/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2013
From: LOU, JIAN; WANG, LIMIN
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 029833/0976 →