IP Library Granted Patent US 9,641,835
Granted Patent B2
US 9,641,835 · App. 13/672,103 · Granted May 2, 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,641,835
App. No.
13/672,103
Granted
May 2, 2017
Kind
B2
Abstract

A system is provided for determining a binary codeword for a symbol representing a transform coefficient within transform units (TUs) that divide up coding units (CUs) in a High Efficiency Video Coding (HEVC) system. The system determines a truncated rice prefix and, when a parameter variable is greater than zero, determines a truncated rice suffix for the symbol. The system determines a main prefix either from the truncated rice prefix alone, or from a combination of the truncated rice prefix and the truncated rice suffix. When the main prefix is the same as a comparison string, the system also determines a main suffix. The system determines the final binary codeword for the symbol either from the main prefix alone, or from a combination of the main prefix and the main suffix.

Claims (53)

1. A method of determining a binary codeword for a symbol, comprising:

determining a truncated rice prefix for a symbol by an encoder, the symbol having a parameter variable;

when said parameter variable is greater than zero, determining a truncated rice suffix for said symbol by said encoder and concatenating the end of said truncated rice prefix with said truncated rice suffix to determine a main prefix; and

when said main prefix is the same as a comparison string, wherein said comparison string is a bin string with each of its bins set to “1”, determining a main suffix for said symbol by employing said encoder and concatenating the end of said main prefix with said main suffix to determine said binary codeword for said symbol.

2. The method of claim 1 , further comprising:

when said parameter variable is equal to zero, determining a main prefix for said symbol by setting said main prefix to said truncated rice prefix.

3. The method of claim 1 , further comprising:

when said main prefix is not the same as said comparison string, determining said binary codeword for said symbol by setting said binary codeword to said main prefix.

4. The method of claim 1 , wherein determining said truncated rice prefix comprises:

determining a binarization element with said encoder by right arithmetic shifting the smaller of the value of said symbol and said maximum symbol value by a number of binary digits equal to the value of said parameter variable;

determining a unary maximum value with said encoder by right arithmetic shifting said maximum symbol value by a number of binary digits equal to the value of said parameter variable; and

when said binarization element is less than said unary maximum value, determining said truncated rice prefix with said encoder by a unary binarization process; and

when said binarization element is equal to said unary maximum value, determining said truncated rice prefix by a truncated unary binarization process.

5. The method of claim 1 , wherein said truncated rice suffix is determined by:

right arithmetic shifting said symbol with said encoder by a number of binary digits equal to the value of said parameter variable to obtain a first result;

left arithmetic shifting said first result with said encoder by a number of binary digits equal to the value of said parameter variable to obtain a second result; and

subtracting said second result from said symbol with said encoder to obtain a third result;

and binarizing said third result with said encoder to obtain said truncated rice suffix.

6. The method of claim 1 , wherein the binary codeword is a representation of a transform coefficient provided within a transform unit (TU), said transform unit being a subdivision of a coding unit (CU) in a High Efficiency Video Coding (HEVC) signal.

7. A video encoder comprising:

a memory configured to store a symbol, a parameter variable, and a maximum symbol value; and

a processor coupled with said memory, wherein said processor is configured to determine a binary codeword for said symbol by:

determining a truncated rice prefix for said symbol;

when said parameter variable is greater than zero, determining a truncated rice suffix for said symbol and determining a main prefix by concatenating the end of said truncated rice prefix with said truncated rice suffix; and

when said main prefix is the same as a comparison string, wherein said comparison string is a bin string with each of its bins set to “1”, determining a main suffix for said symbol and determining said binary codeword by concatenating the end of said main prefix with said main suffix.

8. The video encoder of claim 7 , wherein said processor is further configured to:

determine a binarization element by right arithmetic shifting the smaller of the value of said symbol and said maximum symbol value by a number of binary digits equal to the value of said parameter variable;

determine a unary maximum value by right arithmetic shifting said maximum symbol value by a number of binary digits equal to the value of said parameter variable;

determine said truncated rice prefix by a unary binarization process when said binarization element is less than said unary maximum value; and

determine said truncated rice prefix by a truncated unary binarization process when said binarization element is equal to said unary maximum value.

9. The video encoder of claim 7 , wherein said processor is further configured to:

right arithmetic shift said symbol by a number of binary digits equal to the value of said parameter variable to obtain a first result;

left arithmetic shift said first result by a number of binary digits equal to the value of said parameter variable to obtain a second result; and

subtract said second result from said symbol to obtain a third result; and

binarize said third result to obtain said truncated rice suffix.

10. The video encoder of claim 9 , wherein the length of said truncated rice suffix is equal to the value of said parameter variable.

11. The video encoder of claim 7 , wherein said comparison string is a bin string with each of its bins set to “1” and having a length determined by said processor right arithmetic shifting said maximum symbol value by a number of binary digits equal to said parameter variable, and then adding the value of said parameter variable.

12. A non-transitory computer readable medium containing program instructions for determining a binary codeword for a symbol, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the steps of:

receiving a symbol, a parameter variable, and a maximum symbol value associated with said parameter variable;

determining a truncated rice prefix for said symbol;

when said parameter variable is greater than zero, determining a truncated rice suffix for said symbol and determining a main prefix by concatenating the end of said truncated rice prefix with said truncated rice suffix; and

when said main prefix is the same as a comparison string, determining a main suffix for said symbol and determining said binary codeword for said symbol by concatenating the end of said main prefix with said main suffix.

13. The computer readable medium of claim 12 , wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to further carry out the steps of:

determining a binarization element by right arithmetic shifting the smaller of the value of said symbol and said maximum symbol value by a number of binary digits equal to the value of said parameter variable;

determining a unary maximum value by right arithmetic shifting said maximum symbol value by a number of binary digits equal to the value of said parameter variable;

when said binarization element is less than said unary maximum value, determining said truncated rice prefix by a unary binarization process; and

when said binarization element is equal to said unary maximum value, determining said truncated rice prefix by a truncated unary binarization process.

14. The computer readable medium of claim 12 , wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to further carry out the steps of:

right arithmetic shifting said symbol by a number of binary digits equal to the value of said parameter variable to obtain a first result; left arithmetic shifting said first result by a number of binary digits equal to the value of said parameter variable to obtain a second result; and subtracting said second result from said symbol to obtain a third result; and

binarizing said third result to obtain said truncated rice suffix.

15. The method of claim 1 ,

wherein the main suffix is determined by the 0th order exponential Golomb code for the value of the symbol minus a maximum symbol value minus one, and

wherein the maximum symbol value is eight when the parameter variable is zero, the maximum symbol value is twenty when the parameter variable is one, the maximum symbol value is forty-two when the parameter variable is two, and the maximum symbol value is seventy when the parameter variable is three.

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 Mar 7, 2013
From: LOU, JIAN; WANG, LIMIN
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 029947/0279 →