IP Library Granted Patent US 9,635,358
Granted Patent B2
US 9,635,358 · App. 13/745,486 · Granted Apr 25, 2017

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,635,358
App. No.
13/745,486
Granted
Apr 25, 2017
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 (44)

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

providing a transform unit comprising a first subset of transform coefficients and a second subset of transform coefficients, wherein the first and second subsets are non-overlapping, and each transform coefficient of the first and second groups has a quantized value;

determining a symbol for each of the transform coefficients of the first subset that have a quantized value equal to or greater than a threshold value by subtracting said threshold value from the absolute value of said transform coefficient wherein said threshold value is three;

initially setting a parameter variable to a value of zero;

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

updating said parameter variable after each symbol of the first subset 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 value of the most recently converted symbol of the first subset, wherein the new value of said parameter variable is four; and

resetting the parameter variable to the value of zero after a last symbol of the first subset has been converted and before converting a symbol for a first transform coefficient of the second subset,

wherein each said binary codeword comprises a Truncated Rice portion having up to a predefined maximum number of bits that is no higher than 8 bits, and the value of each said parameter variable is respectively associated with a maximum symbol value for said symbol.

2. The method of claim 1 , wherein said predefined maximum number of bits is eight.

3. The method of claim 1 , wherein said predefined maximum number of bits is four.

4. The method of claim 1 , wherein said binary codeword:

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

comprises 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.

5. The method of claim 4 , 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, said second value being different from said first value.

6. The method of claim 5 , wherein said first value is 8 bits and said second value is 3 bits.

7. The method of claim 5 , wherein said first value is 8 bits and said second value is 4 bits.

8. The method of claim 1 , 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 most recently converted symbol; and

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

9. 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 most recently converted symbol together satisfy one or more conditions; and

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

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

11. The method of claim 10 , wherein one of said one or more conditions is satisfied when the value 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.

12. The method of claim 1 , wherein the transform coefficients are provided within a transform unit (TU) that is a subdivision of a coding unit (CU) in a High Efficiency Video Coding (HEVC) signal.

13. A video coder, comprising:

a memory configured to store a transform unit comprising a first subset of transform coefficients and a second subset of transform coefficients, wherein the first and second subsets are non-overlapping, and each transform coefficient of the first and second groups has a quantized value; and

a processor coupled with said memory, said processor being configured to convert each transform coefficient of said first subset into a binary codeword by determining the absolute value of the transform coefficient's quantized value, subtracting a threshold value from said absolute value to obtain a symbol wherein said threshold value is three, converting said symbol to said binary codeword based on the value of said parameter variable, updating the value of said parameter variable to a new value of four after the symbol has been converted, and resetting the parameter variable to a value of zero after a last transform coefficient of said first subset is converted and before converting a first transform coefficient of said second subset,

wherein said binary codeword comprises a Truncated Rice portion having up to a predefined maximum number of bits that is no higher than 8 bits, and the value of each said parameter variable is respectively associated with a maximum symbol value for said symbol.

14. The video coder of claim 13 , wherein said binary codeword:

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

comprises 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.

15. The video coder of claim 14 , 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, said second value being different from said first value.

16. The video coder of claim 15 , wherein said first value is 8 bits and said second value is 4 bits.

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

performing combination logic that compares the value of said parameter variable preceding said updating to a conditional parameter value and compares the value of the most recently converted symbol to a conditional symbol threshold, an output of the combination logic being said new value.

18. The method of claim 1 , wherein the maximum symbol value is 78 when said parameter variable is 4.

19. The method of claim 1 , wherein the maximum symbol value is 48 when said parameter variable is 4.

20. The video coder of claim 13 , wherein updating the value of said parameter variable comprises:

performing combination logic that compares the value of said parameter variable preceding said updating to a conditional parameter value and compares the value of the most recently converted symbol to a conditional symbol threshold, an output of the combination logic being said new value.

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 029834/0221 →