IP Library Granted Patent US 9,197,890
Granted Patent B2
US 9,197,890 · App. 14/270,162 · Granted Nov 24, 2015

Harmonized scan order for coding transform coefficients in video coding

Inventors: Joel Sole Rojals (La Jolla, CA); Rajan Laxman Joshi (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/00109H04N19/129H04N19/136H04N19/167H04N19/176H04N19/18H04N19/196H04N19/436H04N19/463H04N19/60H04N19/61H04N19/619H04N19/70H04N19/91H04N19/13
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,197,890
App. No.
14/270,162
Granted
Nov 24, 2015
Kind
B2
Abstract

This disclosure describes devices and methods for coding transform coefficients associated with a block of residual video data in a video coding process. Aspects of this disclosure include the selection of a scan order for both significance map coding and level coding, as well as the selection of contexts for entropy coding consistent with the selected scan order. This disclosure proposes a harmonization of the scan order to code both the significance map of the transform coefficients as well as to code the levels of the transform coefficient. It is proposed that the scan order for the significance map should be in the inverse direction (i.e., from the higher frequencies to the lower frequencies). This disclosure also proposes that transform coefficients be scanned in sub-sets as opposed to fixed sub-blocks. In particular, transform coefficients are scanned in a sub-set consisting of a number of consecutive coefficients according to the scan order.

Claims (69)

1. A method of coding transform coefficients associated with residual video data in a process of coding a predicted video block, the method comprising:

arranging a block of transform coefficients into one or more sub-sets of transform coefficients;

coding a position of a last significant coefficient in each sub-set;

coding a significance of transform coefficients in each sub-set according to a scan order, wherein the scan order includes both a scan pattern and a scan direction, wherein the scan direction is an inverse scan direction, and wherein the scan order starts at the position of the last significant coefficient in each sub-set; and

coding levels of transform coefficients in each sub-set according to the scan order with the inverse scan direction.

2. The method of claim 1 , wherein the process of coding the predicted video block is a video decoding process, wherein coding the significance of the transform coefficients in each sub-set comprises decoding the significance of the transform coefficients in each sub-set, wherein coding the levels of the transform coefficients in each sub-set comprises decoding the levels of the transform coefficients in each sub-set, and wherein the method further comprises:

inverse transforming the block of transform coefficients to produce a block of residual video data;

performing a prediction process to produce predicted video data; and

decoding the predicted video block based on the predicted video data and the block of residual data.

3. The method of claim 1 , wherein the process of coding the predicted video block is a video encoding process, wherein coding the significance of the transform coefficients in each sub-set comprises encoding the significance of the transform coefficients in each sub-set, wherein coding the levels of the transform coefficients in each sub-set comprises encoding the levels of the transform coefficients in each sub-set, and wherein the method further comprises:

performing a prediction process for the predicted video block to produce predicted video data;

generating a block of residual video based on the predicted video data; and

transforming the block of residual video data to produce the block of transform coefficients.

4. The method of claim 1 , wherein arranging the block of transform coefficients comprises arranging the block of transform coefficients into a single set of transform coefficients corresponding to an entire transform unit.

5. The method of claim 1 , wherein coding the significance of the transform coefficients and coding the levels of the transform coefficients uses context adaptive binary arithmetic coding (CABAC).

6. The method of claim 1 , wherein coding the significance of the transform coefficients comprises coding the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set, and wherein coding the levels of the transform coefficients comprises coding the levels of the transform coefficients in each sub-set in at least a second scan of the transform coefficients in the respective sub-set.

7. The method of claim 1 , wherein coding the significance of the transform coefficients comprises coding the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set, and wherein coding the levels of the transform coefficients comprises:

coding bin one of the levels of the transform coefficients in each sub-set in a second scan of the transform coefficients in the respective sub-set;

coding at least some remaining bins of the levels of the transform coefficients in each sub-set in a third scan of the transform coefficients in the respective sub-set; and

coding a sign of the levels of the transform coefficients in each sub-set in a fourth scan of the transform coefficients in the respective sub-set.

8. The method of claim 7 , further comprising coding the sign of the levels of the transform coefficients before coding the remaining bins of the levels of the transform coefficients.

9. The method of claim 1 , wherein coding the significance of the transform coefficients comprises coding the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set, and wherein coding the levels of the transform coefficients comprises:

coding bin one of the levels of the transform coefficients in each sub-set in a second scan of the transform coefficients in the respective sub-set;

coding bin two of the levels of the transform coefficients in each sub-set in a third scan of the transform coefficients in the respective sub-set;

coding a sign of the levels of the transform coefficients in each sub-set in a fourth scan of the transform coefficients in the respective sub-set; and

coding at least some remaining bins of the levels of the transform coefficients in each sub-set in a fifth scan of the transform coefficients in the respective sub-set.

10. An apparatus for coding transform coefficients associated with residual video data of a predicted video block, the apparatus comprising:

a memory configured to store video data; and

a video coder in communication with the memory and configured to:

arrange a block of transform coefficients into one or more sub-sets of transform coefficients,

code a position of a last significant coefficient in each sub-set,

code a significance of transform coefficients in each sub-set according to a scan order, wherein the scan order includes both a scan pattern and a scan direction, wherein the scan direction is an inverse scan direction, and wherein the scan order starts at the position of the last significant coefficient in each sub-set, and

code levels of transform coefficients in each sub-set according to the scan order with the inverse scan direction.

11. The apparatus of claim 10 , wherein the video coder is configured to decode the predicted video block, and wherein the video coder is further configured to:

inverse transform the block of transform coefficients to produce a block of residual video data;

perform a prediction process to produce predicted video data; and

decode the predicted video block based on the predicted video data and the block of residual data.

12. The apparatus of claim 10 , wherein the video coder is configured to encode the predicted video block, and wherein the video coder is further configured to:

perform a prediction process for the predicted video block to produce predicted video data;

generate a block of residual video based on the predicted video data; and

transform the block of residual video data to produce the block of transform coefficients.

13. The apparatus of claim 10 , wherein the video coder is configured to arrange the block of transform coefficients into a single set of transform coefficients corresponding to an entire transform unit.

14. The apparatus of claim 10 , wherein the video coder is configured to code the significance and the levels using context adaptive binary arithmetic coding (CABAC).

15. The apparatus of claim 10 , wherein the video coder is configured to code the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set, and wherein the video coder is configured to code the levels of the transform coefficients in each sub-set in at least a second scan of the transform coefficients in the respective sub-set.

16. The apparatus of claim 10 , wherein the video coder is configured to:

code the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set;

code bin one of the levels of the transform coefficients in each sub-set in a second scan of the transform coefficients in the respective sub-set;

code at least some remaining bins of the levels of the transform coefficients in each sub-set in a third scan of the transform coefficients in the respective sub-set; and

code a sign of the levels of the transform coefficients in each sub-set in a fourth scan of the transform coefficients in the respective sub-set.

17. The apparatus of claim 16 , wherein the video coder is configured to code the sign of the levels of the transform coefficients before coding the remaining bins of the levels of the transform coefficients.

18. The apparatus of claim 10 , wherein the video coder is further configured to:

code the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set;

code bin one of the levels of the transform coefficients in each sub-set in a second scan of the transform coefficients in the respective sub-set;

code bin two of the levels of the transform coefficients in each sub-set in a third scan of the transform coefficients in the respective sub-set;

code a sign of the levels of the transform coefficients in each sub-set in a fourth scan of the transform coefficients in the respective sub-set; and

code at least some remaining bins of the levels of the transform coefficients in each sub-set in a fifth scan of the transform coefficients in the respective sub-set.

19. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors of a device for coding transform coefficients associated with residual video data in a video decoding process to:

arrange a block of transform coefficients into one or more sub-sets of transform coefficients;

decode a position of a last significant coefficient in each sub-set;

decode a significance of transform coefficients in each sub-set according to a scan order, wherein the scan order includes both a scan pattern and a scan direction, wherein the scan direction is an inverse scan direction, and wherein the scan order starts at the position of the last significant coefficient in each sub-set;

decode levels of transform coefficients in each sub-set according to the scan order with the inverse scan direction;

inverse transform the block of transform coefficients to produce residual video data;

perform a prediction process to produce predicted video data; and

decode the block of data based on the predicted video data and the residual video data.

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

decode the significance of the transform coefficients in each sub-set in a first scan of the transform coefficients in the respective sub-set;

decode bin one of the levels of the transform coefficients in each sub-set in a second scan of the transform coefficients in the respective sub-set;

decode at least some remaining bins of the levels of the transform coefficients in each sub-set in a third scan of the transform coefficients in the respective sub-set; and

decode a sign of the levels of the transform coefficients in each sub-set in a fourth scan of the transform coefficients in the respective sub-set.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2022
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 060923/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2021
From: VELOS MEDIA, LLC
To: QUALCOMM INCORPORATED
Reel/Frame 057575/0431 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: VELOS MEDIA, LLC AND VELOS MEDIA MANAGEMENT, LLC
Reel/Frame 057554/0540 →
SECOND AMENDED AND RESTATED MEMBER INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 2, 2018
From: VELOS MEDIA MANAGEMENT, LLC; VELOS MEDIA, LLC
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 045806/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: QUALCOMM INCORPORATED
To: VELOS MEDIA, LLC
Reel/Frame 043173/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2014
From: SOLE ROJALS, JOEL; JOSHI, RAJAN LAXMAN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 033060/0090 →
Continuity (8)
Continuation 13413497 · Mar 6, 2012
Provisional Application 61450555 · Mar 8, 2011
Provisional Application 61451485 · Mar 10, 2011
Provisional Application 61451496 · Mar 10, 2011
Provisional Application 61452384 · Mar 14, 2011
Provisional Application 61494855 · Jun 8, 2011
Provisional Application 61497345 · Jun 15, 2011
Related Publication 20140307777A1 · Oct 16, 2014