IP Library Granted Patent US 7,843,998
Granted Patent B2
US 7,843,998 · App. 11/316,931 · Granted Nov 30, 2010

Method for improved entropy coding

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 7,843,998
App. No.
11/316,931
Granted
Nov 30, 2010
Kind
B2
Abstract

The invention is related to entropy coding/decoding of transform coefficient data in video compression systems. For entropy coding coefficients representing a block in a video image, a preferred embodiment of the present invention introduces events combining the position of the last non-zero coefficient in the block with whether the absolute value is greater than 1. Further, no information from outside the macroblock is used to decide what VLC to use. Coefficients are typically coded by starting in a Run-mode and continuing in Level-mode when the first coefficient with absolute value >1 is found.

Claims (32)

1. A method for providing a simplified entropy coding procedure in video coding of quantized transform coefficients representing a block of residual pixel values in a macroblock, wherein the coefficients are assigned to positions within the block of an increasing order,

the method comprising the steps of:

I specifying a first position of a last non-zero coefficient within the block together with modulus of said last non-zero coefficient if modulus of last non-zero coefficient is among [1,n] or an indication of >n if modulus of said last non-zero coefficient is greater than n as an event of among a number of possible events in a first Variable Length Code (VLC),

II if modulus of said last non-zero coefficient is among [1,n], defining said last non-zero coefficient as a currently last non-zero coefficient, and

a specifying the number of positions with zero coefficients between said currently last non-zero coefficient and a next non-zero coefficient within the block, directed towards decreasingly position order, together with modulus of said next non-zero coefficient if modulus of said next non-zero coefficient is among [1,n] or an indication of >n if modulus of said next non-zero coefficient is greater than n as an event of among a number of possible events in a second VLC, and defining said next non-zero coefficient to be said currently last non-zero coefficient,

b repeating step a if modulus of said currently last non-zero coefficient is among [1,n]

III if modulus of said last or currently last non-zero coefficient is greater than n,

a specifying modulus of each coefficients not specified in step I-II and corresponding positions according to one or more VLCs.

2. A method according to claim 1 ,

wherein step IIIa further includes that a first or last ordered coefficient of said coefficients not specified in step I-III is specified according to a third VLC having possible modulus values of [n+1,→], while the remaining ones of said coefficients not specified in step I-III are specified according to a fourth VLC having possible modulus values of [0,→].

3. A method according to claim 1 or 2 ,

wherein n=1.

4. A method according to claim 1 or 2 ,

wherein said first VLR depends on one or more neighbor blocks with a fixed position relative to said block if said one or more neighbor blocks are within the macroblock.

5. A method according to claim 3 ,

wherein said first VLR depends on one or more neighbor blocks with a fixed position relative to said block if said one or more neighbor blocks are within the macroblock.

6. A method for providing simplified entropy decoding procedure in video decoding of quantized transform coefficients representing a block of residual pixel values in a macroblock, wherein the coefficients are assigned to positions within the block of an increasing order,

the method comprising the steps of:

I interpreting a first position of a last non-zero coefficient within the block together with modulus of said last non-zero coefficient if modulus of last non-zero coefficient is among [1,n] or an indication of >n if modulus of said last non-zero coefficient is greater than n as a specific event of among a number of possible events in a first Variable Length Code (VLC),

II if modulus of said last non-zero coefficient is among [1,n], defining said last non-zero coefficient as a currently last non-zero coefficient, and

a interpreting the number of positions with zero coefficients between said currently last non-zero coefficient and a next non-zero coefficient within the block, directed towards decreasingly position order, together with a modulus of said next non-zero coefficient if modulus of said next non-zero coefficient is among [1,n] or an indication of >n if modulus of said next non-zero coefficient is greater than n as a specific event of among a number of possible events in a second VLC, and defining said next non-zero coefficient to be said currently last non-zero coefficient,

b repeating step a if modulus of said currently last non-zero coefficient is among [1,n]

III if modulus of said last or currently last non-zero coefficient is greater than n,

a interpreting modulus of each coefficients not specified in step I-II and corresponding positions according to one or more VLCs.

7. A method according to claim 6 ,

wherein step IIIa further includes that a first or last ordered coefficient of said coefficients not interpreted in step I-III is interpreted according to a third VLC having possible modulus values of [n+1,→], while the remaining ones of said coefficients not interpreted in step I-III are interpreted according to a third VLC having possible modulus values of [0,→].

8. A method according to claim 6 or 7 ,

wherein n=1.

9. A method according to claim 6 or 7 ,

wherein said first VLR depends on one or more neighbor blocks with a fixed position relative to said block if said one or more neighbor blocks are within the macroblock.

10. A method according to claim 8 ,

wherein said first VLR depends on one or more neighbor blocks with a fixed position relative to said block if said one or more neighbor blocks are within the macroblock.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Dec 1, 2011
From: TANDBERG TELECOM AS; CISCO SYSTEMS INTERNATIONAL SARL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 027307/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2006
From: BJONTEGAARD, GISLE
To: TANDBERG TELECOM AS
Reel/Frame 017319/0888 →