IP Library › Granted Patent US 9,350,998
Granted Patent B2
US 9,350,998 · App. 13/929,287 · Granted May 24, 2016

Coding of significance flags

Inventors: Rajan Laxman Joshi (San Diego, CA); Joel Sole Rojals (La Jolla, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/00775H04N19/13H04N19/18H04N19/463
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,350,998
App. No.
13/929,287
Granted
May 24, 2016
Kind
B2
Abstract

A video coder determines, based at least in part on a distance between a current sub-block of a transform coefficient block and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block, coding contexts for significance flags for transform coefficients of the current sub-block. Furthermore, the video coder entropy codes, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block.

Claims (88)

1. A method of decoding video data, the method comprising:

determining a distance between a first position and a second position, wherein the first position is at a first row of a grid of sub-blocks of a transform coefficient block and a first column of the grid, a current sub-block of the transform coefficient block is in the first row of the grid and the first column of the grid, the second position is at a second row of the grid and a second column of the grid, and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block is in the second row of the grid and the second column of the grid;

determining, based at least in part on the distance, coding contexts for significance flags for transform coefficients of the current sub-block,

wherein the current sub-block and the sub-block that contains the LSC of the transform coefficient block are among the sub-blocks of the transform coefficient block, each of the sub-blocks of the transform coefficient block containing the same number of transform coefficients;

entropy decoding, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block; and

reconstructing, based in part on the significance flags for the transform coefficients of the current sub-block, a coding block of the video data.

2. The method of claim 1 , wherein determining the distance comprises determining the distance as:

d =( i+j )−((last X >>2)+(last Y >>2)),

where d is the distance, i and j represent row and column indices of the current sub-block, lastX and lastY represent row and column indices of the LSC of the transform coefficient block, and >> represents a bitwise right-shift operation.

3. The method of claim 1 , wherein determining the coding contexts for the significance flags for the transform coefficients of the current sub-block comprises:

determining, based on a first coded group flag (CGF), a second CGF, and a position within the current sub-block of a current transform coefficient, a context offset for a significance flag for the current transform coefficient, the first CGF indicating whether there are any non-zero transform coefficients in a sub-block of the transform coefficient block below the current sub-block, the second CGF indicating whether there are any non-zero transform coefficients in a sub-block of the transform coefficient block right of the current sub-block;

in response to determining that the current sub-block does not include a DC transform coefficient of the transform coefficient block, incrementing the context offset for the significance flag for the current transform coefficient by a first value;

in response to determining that the distance is greater than a threshold, incrementing the context offset for the significance flag for the current transform coefficient by a second value; and

determining, based on the context offset for the significance flag for the current transform coefficient, a coding context for the significance flag for the current transform coefficient.

4. The method of claim 3 , wherein the first value is equal to 3 and the second value is equal to 6.

5. The method of claim 3 , wherein the threshold is equal to 1.

6. The method of claim 3 , wherein:

the threshold is a first threshold, and

determining the coding contexts for the significance flags for the transform coefficients of the current sub-block comprises in response to determining that the distance is greater than a second threshold, incrementing the context offset for the significance flag for the current transform coefficient by a third value, the second threshold being different than the first threshold, the third value being different than the second value.

7. The method of claim 1 , wherein each of the sub-blocks of the transform coefficient block is a 4×4 block of transform coefficients.

8. A method of encoding video data, the method comprising:

determining a distance between a first position and a second position, wherein the first position is at a first row of a grid of sub-blocks of a transform coefficient block and a first column of the grid, a current sub-block of the transform coefficient block is in the first row of the grid and the first column of the grid, the second position is at a second row of the grid and a second column of the grid, and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block is in the second row of the grid and the second column of the grid;

determining, based at least in part on the distance, coding contexts for significance flags for transform coefficients of the current sub-block,

wherein the current sub-block and the sub-block that contains the LSC of the transform coefficient blocks are among the sub-blocks of the transform coefficient block, each of the sub-blocks of the transform coefficient block containing the same number of transform coefficients;

entropy encoding, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block; and

generating a bitstream comprising a sequence of bits forming a representation of encoded pictures of the video data, the bitstream including the entropy-encoded significance flags for the transform coefficients of the current sub-block.

9. The method of claim 8 , wherein determining the distance comprises determining the distance as:

d =( i+j )−((last X >>2)+(last Y >>2)),

where d is the distance, i and j represent row and column indices of the current sub-block, lastX and lastY represent row and column indices of the LSC of the transform coefficient block, and >> represents a bitwise right-shift operation.

10. The method of claim 8 , wherein determining the coding contexts for the significance flags for the transform coefficients of the current sub-block comprises:

determining, based on a first coded group flag (CGF), a second CGF, and a position within the current sub-block of a current transform coefficient, a context offset for a significance flag for the current transform coefficient, the first CGF indicating whether there are any non-zero coefficients in a sub-block of the transform coefficient block below the current sub-block, the second CGF indicating whether there are any non-zero transform coefficients in a sub-block of the transform coefficient block right of the current sub-block;

in response to determining that the current sub-block does not include a DC transform coefficient of the transform coefficient block, incrementing the context offset for the significance flag for the current transform coefficient by a first value;

in response to determining that the distance is greater than a threshold, incrementing the context offset for the significance flag for the current transform coefficient by a second value; and

determining, based on the context offset for the significance flag for the current transform coefficient, a coding context for the significance flag for the current transform coefficient.

11. The method of claim 10 , wherein the first value is equal to 3 and the second value is equal to 6.

12. The method of claim 10 , wherein the threshold is equal to 1.

13. The method of claim 10 , wherein:

the threshold is a first threshold, and

determining the coding contexts for the significance flags for the transform coefficients of the current sub-block comprises in response to determining that the distance is greater than a second threshold, incrementing the context offset for the significance flag for the current transform coefficient by a third value, the second threshold being different than the first threshold, the third value being different than the second value.

14. The method of claim 8 , wherein each of the sub-blocks of the transform coefficient block is a 4×4 block of transform coefficients.

15. A video coding device comprising:

a storage medium configured to store video data; and

one or more processors configured to:

determine a distance between a first position and a second position, wherein the first position is at a first row of a grid of sub-blocks of a transform coefficient block and a first column of the grid, a current sub-block of the transform coefficient block is in the first row of the grid and the first column of the grid, the second position is at a second row of the grid and a second column of the grid, and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block is in the second row of the grid and the second column of the grid;

determine, based at least in part on the distance, coding contexts for significance flags for transform coefficients of the current sub-block,

wherein the current sub-block and the sub-block that contains the LSC of the transform coefficient blocks are among the sub-blocks of the transform coefficient block, each of the sub-blocks of the transform coefficient block containing the same number of transform coefficients;

entropy code, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block; and

perform at least one of the following:

reconstruct, based in part on the significance flags for the transform coefficients of the current sub-block, a coding block of the video data; and

generate a bitstream comprising a sequence of bits forming a representation of encoded pictures of the video data, the bitstream including the entropy-encoded significance flags for the transform coefficients of the current sub-block.

16. The video coding device of claim 15 , wherein the one or more processors are configured to determine the distance as:

d =( i+j )−((last X >>2)+(last Y >>2)),

where d is the distance, i and j represent row and column indices of the current sub-block, lastX and lastY represent row and column indices of the LSC of the transform coefficient block, and >> represents a bitwise right-shift operation.

17. The video coding device of claim 15 , wherein the one or more processors are configured to:

determine, based on a first coded group flag (CGF), a second CGF, and a position within the current sub-block of a current transform coefficient, a context offset for a significance flag for the current transform coefficient, the first CGF indicating whether there are any non-zero transform coefficients in a sub-block of the transform coefficient block below the current sub-block, the second CGF indicating whether there are any non-zero transform coefficients in a sub-block of the transform coefficient block right of the current sub-block;

in response to determining that the current sub-block does not include a DC transform coefficient of the transform coefficient block, increment the context offset for the significance flag for the current transform coefficient by a first value;

in response to determining that the distance is greater than a threshold, increment the context offset for the significance flag for the current transform coefficient by a second value; and

determine, based on the context offset for the significance flag for the current transform coefficient, a coding context for the significance flag for the current transform coefficient.

18. The video coding device of claim 17 , wherein the first value is equal to 3 and the second value is equal to 6.

19. The video coding device of claim 17 , wherein the threshold is equal to 1.

20. The video coding device of claim 17 , wherein:

the threshold is a first threshold, and

the one or more processors are configured such that, in response to determining that the distance is greater than a second threshold, the one or more processors increment the context offset for the significance flag for the current transform coefficient by a third value, the second threshold being different than the first threshold, the third value being different than the second value.

21. The video coding device of claim 15 , wherein each of the sub-blocks of the transform coefficient block is a 4×4 block of transform coefficients.

22. The video coding device of claim 15 , wherein the one or more processors entropy encode the significance flags of the transform coefficient block.

23. The video coding device of claim 15 , wherein the one or more processors entropy decode the significance flags of the transform coefficient block.

24. A video coding device comprising:

means for determining a distance between a first position and a second position, wherein the first position is at a first row of a grid of sub-blocks of a transform coefficient block and a first column of the grid, a current sub-block of the transform coefficient block is in the first row of the grid and the first column of the grid, the second position is at a second row of the grid and a second column of the grid, and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block is in the second row of the grid and the second column of the grid;

means for determining, based at least in part on the distance, coding contexts for significance flags for transform coefficients of the current sub-block,

wherein the current sub-block and the sub-block that contains the LSC of the transform coefficient blocks are among the sub-blocks of the transform coefficient block, each of the sub-blocks of the transform coefficient block containing the same number of transform coefficients;

means for entropy coding, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block; and

at least one of the following:

means for reconstructing, based in part on the significance flags for the transform coefficients of the current sub-block, a coding block of video data; and

means for generating a bitstream comprising a sequence of bits forming a representation of encoded pictures of the video data, the bitstream including the entropy-encoded significance flags for the transform coefficients of the current sub-block.

25. A non-transitory computer-readable data storage medium having instructions stored thereon that, when executed, configure a video coding device to:

determine a distance between a first position and a second position, wherein the first position is at a first row of a grid of sub-blocks of a transform coefficient block and a first column of the grid, a current sub-block of the transform coefficient block is in the first row of the grid and the first column of the grid, the second position is at a second row of the grid and a second column of the grid, and a sub-block that contains a last significant coefficient (LSC) of the transform coefficient block is in the second row of the grid and the second column of the grid;

determine, based at least in part on the distance, coding contexts for significance flags for transform coefficients of the current sub-block,

wherein the current sub-block and the sub-block that contains the LSC of the transform coefficient blocks are among the sub-blocks of the transform coefficient block, each of the sub-blocks of the transform coefficient block containing the same number of transform coefficients;

entropy code, based on the coding contexts for the significance flags for the transform coefficients of the current sub-block, the significance flags for the transform coefficients of the current sub-block; and

at least one of the following:

reconstruct, based in part on the significance flags for the transform coefficients of the current sub-block, a coding block of the video data; and

generate a bitstream comprising a sequence of bits forming a representation of encoded pictures of the video data, the bitstream including the entropy-encoded significance flags for the transform coefficients of the current sub-block.

26. The video coding device of claim 15 , wherein the video coding device comprises at least one of:

an integrated circuit;

a microprocessor; or

a wireless handset.

27. The video coding device of claim 15 , further comprising a display configured to display decoded video data.

28. The video coding device of claim 15 , further comprising a camera configured to capture the video data.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE LAST NAME OF ASSIGNOR JOEL SOLE ROJALS. PREVIOUSLY RECORDED ON REEL 031111 FRAME 0226. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT NAME OF ASSIGNOR SHOULD BE SOLE ROJALS, JOEL. Recorded Sep 25, 2013
From: JOSHI, RAJAN LAXMAN; SOLE ROJALS, JOEL; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 031283/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2013
From: JOSHI, RAJAN LAXMAN; ROJALS, JOEL SOLE; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 031111/0226 →
Continuity (2)
Provisional Application 61666690 · Jun 29, 2012
Related Publication 20140003529A1 · Jan 2, 2014