IP Library › Granted Patent US 10,791,339
Granted Patent B2
US 10,791,339 · App. 16/680,933 · Granted Sep 29, 2020

Coding of last significant coefficient flags

Inventor: Dake He (Cupertino, CA)
Assignee: GOOGLE LLC
H04N19/61H04N19/174H04N19/18H04N19/64H04N19/70H04N19/91
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 10,791,339
App. No.
16/680,933
Granted
Sep 29, 2020
Kind
B2
Abstract

An apparatus for coding a transform block of coefficients that is decoded using a scan order includes a memory and a processor. The processor is configured to execute instructions stored in the memory to determine a first index indicating a group of consecutive scan positions in the scan order, where the group of consecutive scan positions includes a scan position of a last non-zero coefficient; determine a second index indicating an offset within the group of consecutive scan positions of the last non-zero coefficient; and code a subset of the coefficients until the second index is determined.

Claims (56)

1. An apparatus for decoding a transform block of coefficients, wherein the transform block is decoded using a scan order, the apparatus comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

partition all scan positions of the scan order into K>1 non-overlapping groups,

each of the non-overlapping groups consists of consecutive scan positions of the scan order,

the non-overlapping groups constitute a coefficient groups coordinate system having a first dimension and a second dimension, wherein a first value of the first dimension corresponds to a group of the non-overlapping groups and a second value of the second dimension corresponds to an offset position within the group of the non-overlapping groups;

determine, from an encoded bitstream, a group value corresponding to the first value of the first dimension, wherein the group value indicates one of the non-overlapping groups, and wherein the one of the non-overlapping groups includes a last non-zero coefficient of the transform block;

determine, from the encoded bitstream, an offset position corresponding to the second value of the second dimension, the offset position indicating a position within the one of the non-overlapping groups of the last non-zero coefficient; and

decode, from the encoded bitstream, coefficients using the one of the non-overlapping groups and the offset position.

2. The apparatus of claim 1 , wherein to determine the offset position comprises to:

decode, from the encoded bitstream, a syntax element indicative of the offset position.

3. The apparatus of claim 1 , wherein to determine the offset position comprises to:

in response to determining that a current coefficient being decoded is at a last offset position in the one of the non-overlapping groups, infer that the offset position of the last non-zero coefficient is the last offset position.

4. The apparatus of claim 3 , wherein a first group of the non-overlapping groups and a second group of the non-overlapping groups include non-equal numbers of scan positions.

5. The apparatus of claim 1 , wherein to determine the offset position comprises to:

infer that the offset position of the last non-zero coefficient is a scan position of the last non-zero coefficient.

6. A method for decoding a location of a last non-zero coefficient of a transform block of coefficients, wherein the transform block is decoded using a scan order, comprising:

partitioning all scan positions of the scan order into non-overlapping groups, each of the non-overlapping groups consisting of consecutive scan positions of the scan order, wherein the scan order is a one-dimensional structure that specifies an order of traversal of the coefficients of the transform block, and wherein each position of the one-dimensional structure of the scan order maps to a two-dimensional location of the transform block;

determining, from an encoded bitstream, a group of the non-overlapping groups, wherein the group includes the last non-zero coefficient of the transform block;

determining, from the encoded bitstream, an offset position, wherein the offset position indicates a position within the group of the last non-zero coefficient; and

decoding, from the encoded bitstream, the coefficients using the one of the non-overlapping groups and the offset position.

7. The method of claim 6 , wherein determining the offset position comprising:

decoding, from the encoded bitstream, a syntax element indicative of the offset position.

8. The method of claim 6 , wherein determining the offset position comprising:

in response to determining that a current coefficient being decoded is at a last offset position within the one of the non-overlapping groups, inferring that the current coefficient is the last non-zero coefficient.

9. The method of claim 8 , wherein a first group of the non-overlapping groups and a second group of the non-overlapping groups include non-equal numbers of scan positions.

10. The method of claim 6 , wherein the non-overlapping groups comprises three groups.

11. An apparatus for coding a transform block of coefficients, wherein the transform block is decoded using a scan order, the apparatus comprising:

a memory; and

a processor, the processor configured to execute instructions stored in the memory to:

determine a first index indicating a group of consecutive scan positions in the scan order, wherein the group of consecutive scan positions includes a scan position of a last non-zero coefficient, and wherein the scan order is a one-dimensional structure that specifies an order of traversal of the coefficients of the transform block, and wherein each position of the one-dimensional structure of the scan order maps to a two-dimensional location of the transform block;

determine a second index indicating an offset within the group of consecutive scan positions of the last non-zero coefficient; and

code a subset of the coefficients until the second index is determined.

12. The apparatus of claim 11 ,

wherein the group comprises a first scan position and a last scan position, and

wherein to determine the second index comprises to:

determine the second index as a difference between a scan position of the last non-zero coefficient and the first scan position.

13. The apparatus of claim 12 , wherein to determine the second index comprises to:

on a condition that the scan position of the last non-zero coefficient is equal to the last scan position, infer that the second index is the last scan position.

14. The apparatus of claim 11 , wherein the scan order comprises scan positions, and wherein the scan positions being partitioned into non-overlapping scan groups, wherein the non-overlapping scan groups include the group of consecutive scan positions.

15. The apparatus of claim 14 , wherein the instructions further comprise instructions to:

decode, only once for each group of the non-overlapping scan groups, a respective flag indicating whether the each group includes the scan position of the last non-zero coefficient.

16. The apparatus of claim 15 , wherein the instructions further comprise instructions to:

decode, after decoding a flag indicating that the group contains the last non-zero coefficient, a second flag indicating the second index.

17. The apparatus of claim 14 ,

wherein the non-overlapping scan groups comprise a first group, a second group, a third group, and a fourth group,

wherein the first group consists of scan position 0,

wherein the second group consists of scan position 1,

wherein the third group consists of scan positions 2 and 3, and

wherein the fourth group consists of the scan positions 4 to 7.

18. The apparatus of claim 17 ,

wherein the non-overlapping scan groups comprise a fifth group,

wherein the fifth group consists of scan positions 8 to 15.

19. The apparatus of claim 14 , wherein each group of the non-overlapping scan groups consists of a same number of scan positions.

20. The apparatus of claim 11 , wherein the apparatus is a decoder, and wherein to code the subset of the coefficients until the first index is determined and the second index is determined comprises to:

sequentially decode, from a compressed bitstream, each coefficient of the subset of the coefficients until a first flag indicating that the first index is determined and until a second flag indicating that the second index is determined, wherein the first flag and the second flag are decoded from the compressed bitstream.

Continuity (2)
Continuation 15707300 · Sep 18, 2017
Related Publication 20200084474A1 · Mar 12, 2020
Cited By (1)
US 12,676,991