IP Library › Granted Patent US 9,832,485
Granted Patent B2
US 9,832,485 · App. 15/178,222 · Granted Nov 28, 2017

Context adaptive entropy coding for non-square blocks in video coding

Inventors: Joel Sole Rojals (San Diego, CA); Rajan Laxman Joshi (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/60H04N19/129H04N19/13H04N19/176H04N19/18H04N19/45H04N19/625H04N19/91H04N19/93H04W88/02
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,832,485
App. No.
15/178,222
Granted
Nov 28, 2017
Kind
B2
Abstract

Disclosed are techniques for coding coefficients of a video block having a non-square shape defined by a width and a height, comprising coding one or more of x- and y-coordinates that indicate a position of a last non-zero coefficient within the block according to an associated scanning order, including coding each coordinate by determining one or more contexts used to code the coordinate based on one of the width and the height that corresponds to the coordinate, and coding the coordinate by performing a context adaptive entropy coding process based on the contexts. Also disclosed are techniques for coding information that identifies positions of non-zero coefficients within the block, including determining one or more contexts used to code the information based on one or more of the width and the height, and coding the information by performing a context adaptive entropy coding process based on the contexts.

Claims (62)

1. A method of decoding transform coefficients associated with a first block of video data during a video decoding process, wherein the first block has a non-square shape defined by a width and a height, the method comprising:

decoding, with a video decoder, one or more of x- or y-coordinates that indicate a position of a last non-zero coefficient within the first block according to a scanning order associated with the block;

determining, with the video decoder, that the one of the width or the height comprises a single block position;

determining, with the video decoder, one or more contexts used to code a respective x- or y-coordinate based at least in part on one of the width or the height of the block not having the single block position that corresponds to the respective x- or y-coordinate; and

decoding, with the video decoder, only the respective x- or y-coordinate by performing a context adaptive entropy coding process based at least in part on the determined one or more contexts.

2. The method of claim 1 , wherein the width of the first block corresponds to the x-coordinate, and the height of the first block corresponds to the y-coordinate.

3. The method of claim 1 , further comprising:

in the event one of the width or the height of a second block equals “2,” determining, with the video decoder, that the one of the width or the height comprises two block positions,

in the event another one of the width or the height of the second block equals a value greater than “2,” determining, with the video decoder, that the other one of the width or the height comprises more than two block positions, and

further determining, with the video decoder, the one or more contexts used to decode the other one of the x- or y-coordinates that correspond to the other one of the width or the height that equals a value greater than “2” based at least in part on the one of the x- or y-coordinates that corresponds to the one of the width or the height that equals “2”.

4. The method of claim 1 , further comprising:

inverse transforming, with the video decoder, the transform coefficients to produce residual data; and

decoding, with the video decoder, the residual data to produce the first block of video data.

5. The method of claim 1 , the method being executable on a wireless communication device, wherein the wireless communication device comprises:

a memory configured to store the video data;

a processor configured to execute instructions to process the video data stored in the memory; and

a receiver configured to receive the video data.

6. The method of claim 5 , wherein the wireless communication device is a cellular telephone and the first block of video data is received by the receiver and modulated according to a cellular communication standard.

7. An apparatus configured to decode transform coefficients associated with a first block of video data during a video decoding process, wherein the first block has a non-square shape defined by a width and a height, the apparatus comprising:

a video memory configured to store the first block of video data; and

a video decoder in communication with the video memory, the video decoder configured to:

decode one or more of x- or y-coordinates that indicate a position of a last non-zero coefficient within the first block according to a scanning order associated with the block;

determine that the one of the width or the height comprises a single block position;

determine one or more contexts used to code a respective x- or y-coordinate based at least in part on one of the width or the height of the block not having the single block position that corresponds to the respective x- or y-coordinate; and

decode only the respective x- or y-coordinate by performing a context adaptive entropy coding process based at least in part on the determined one or more contexts.

8. The apparatus of claim 7 , wherein the width of the first block corresponds to the x-coordinate, and the height of the first block corresponds to the y-coordinate.

9. The apparatus of claim 7 , wherein the video decoder is further configured to:

determine, in the event one of the width or the height of a second block equals “2,” that the one of the width or the height comprises two block positions;

determine, in the event another one of the width or the height of the second block equals a value greater than “2,” that the other one of the width or the height comprises more than two block positions; and

further determine the one or more contexts used to decode the other one of the x- or y-coordinates that corresponds to the other one of the width or the height that equals a value greater than “2” based at least in part on the one of the x- or y-coordinates that corresponds to the one of the width or the height that equals “2”.

10. The apparatus of claim 7 , wherein the video decoder is further configured to:

inverse transform the transform coefficients to produce residual data; and

decode the residual data to produce the first block of video data.

11. The apparatus of claim 7 , wherein the apparatus is a wireless communication device, the apparatus further comprising:

a receiver configured to receive the video data.

12. The apparatus of claim 11 , wherein the wireless communication device is a cellular telephone and the first block of video data is received by the receiver and modulated according to a cellular communication standard.

13. A device configured to decode transform coefficients associated with a first block of video data during a video decoding process, wherein the first block has a non-square shape defined by a width and a height, the device comprising:

means for decoding one or more of x- or y-coordinates that indicate a position of a last non-zero coefficient within the first block according to a scanning order associated with the block;

means for determining that the one of the width or the height comprises a single block position;

means for determining one or more contexts used to code a respective x- or y-coordinate based at least in part on one of the width or the height of the block not having the single block position that corresponds to the respective x- or y-coordinate;

means for decoding only the respective x- or y-coordinate by performing a context adaptive entropy coding process based at least in part on the determined one or more contexts.

14. The device of claim 13 , wherein the width of the first block corresponds to the x-coordinate, and the height of the first block corresponds to the y-coordinate.

15. The device of claim 13 , further comprising:

means for determining, in the event one of the width or the height of a second block equals “2,” that the one of the width or the height comprises two block positions,

means for determining, in the event another one of the width or the height of the second block equals a value greater than “2,” that the other one of the width or the height comprises more than two block positions, and

means for determining the one or more contexts used to decode the other one of the x- or y-coordinates that corresponds to the other one of the width or the height that equals a value greater than “2” based at least in part on the one of the x- or y-coordinates that corresponds to the one of the width or the height that equals “2”.

16. The device of claim 13 , further comprising:

means for inverse transforming the transform coefficients to produce residual data; and

means for decoding the residual data to produce the first block of video data.

17. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors to decode transform coefficients associated with a first block of video data during a video decoding process, wherein the first block has a non-square shape defined by a width and a height, and wherein the instructions cause the one or more processors to:

decode one or more of x- or y-coordinates that indicate a position of a last non-zero coefficient within the first block according to a scanning order associated with the block;

determine that the one of the width or the height comprises a single block position;

determine one or more contexts used to code a respective x- or y-coordinate based at least in part on one of the width or the height of the block not having the single block position that corresponds to the respective x- or y-coordinate; and

decode only the respective x- or y-coordinate by performing a context adaptive entropy coding process based at least in part on the determined one or more contexts.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the width of the first block corresponds to the x-coordinate, and the height of the first block corresponds to the y-coordinate.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions further cause the one or more processors to:

in the event one of the width or the height of a second block equals “2,” determine that the one of the width or the height comprises two block positions,

in the event another one of the width or the height of the second block equals a value greater than “2,” determine that the other one of the width or the height comprises more than two block positions, and

further determine the one or more contexts used to decode the other one of the x- or y-coordinates that corresponds to the other one of the width or the height that equals a value greater than “2” based at least in part on the one of the x- or y-coordinates that corresponds to the one of the width or the height that equals “2”.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions further cause the one or more processors to:

inverse transform the transform coefficients to produce residual data; and

decode the residual data to produce the first block of video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2016
From: SOLE ROJALS, JOEL; JOSHI, RAJAN LAXMAN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 038864/0498 →
Continuity (4)
Continuation 13536834 · Jun 28, 2012
Provisional Application 61503716 · Jul 1, 2011
Provisional Application 61554301 · Nov 1, 2011
Related Publication 20160295242A1 · Oct 6, 2016