IP Library › Granted Patent US 10,757,411
Granted Patent B2
US 10,757,411 · App. 16/435,672 · Granted Aug 25, 2020

Adaptation of scan order for entropy coding

Inventor: Dake He (Cupertino, CA)
Assignee: GOOGLE LLC
H04N19/129H04N19/172H04N19/176H04N19/18H04N19/182H04N19/61
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,757,411
App. No.
16/435,672
Granted
Aug 25, 2020
Kind
B2
Abstract

Apparatuses and methods are disclosed for adapting scan order of a transform block. An apparatus for decoding coefficients of a transform block includes a processor. The processor is configured to decode, from a compressed bitstream, first coefficients of at least one row of the transform block; decode, from the compressed bitstream, second coefficients of at least one column of the transform block, where the transform block consists of the first coefficients, the second coefficients, and remaining coefficients; select, using the first coefficients and the second coefficients, a scan order for decoding the remaining coefficients; and decode the remaining coefficients of the transform block using the scan order.

Claims (57)

1. An apparatus for decoding coefficients of a transform block, comprising:

a processor, the processor is configured to:

decode, from a compressed bitstream, first coefficients of at least one row of the transform block;

decode, from the compressed bitstream, second coefficients of at least one column of the transform block, the transform block consisting of the first coefficients, the second coefficients, and remaining coefficients;

select, using the first coefficients and the second coefficients, a scan order for decoding the remaining coefficients; and

decode the remaining coefficients of the transform block using the scan order.

2. The apparatus of claim 1 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

select, using first magnitudes of the first coefficients and second magnitudes of the second coefficients, the scan order for decoding the remaining coefficients.

3. The apparatus of claim 1 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

select, using first count of non-zero coefficients in the first coefficients and second count of non-zero coefficients in the second coefficients, the scan order for decoding the remaining coefficients.

4. The apparatus of claim 1 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

in response to determining that a right half of the at least one row includes at least one non-zero coefficient and a bottom half of the at least one column does not include non-zero coefficients, select a vertical scan order as the scan order.

5. The apparatus of claim 1 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

in response to determining that a right half of the at least one row does not include non-zero coefficients and a bottom half of the at least one column includes at least one non-zero coefficient, select a horizontal scan order as the scan order.

6. The apparatus of claim 1 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

in response to determining that a first condition is not satisfied and a second condition is not satisfied, select a zig-zag, diagonal scan order as the scan order,

wherein the first condition comprises that a right half of the at least one row includes at least one non-zero coefficient and that a bottom half of the at least one column does not include non-zero coefficients, and

wherein the second condition comprises that the right half of the at least one row does not include non-zero coefficients and that the bottom half of the at least one column includes at least one non-zero coefficient.

7. The apparatus of claim 1 , wherein the at least one row consists of a top-most row of the transform block.

8. The apparatus of claim 1 , wherein the at least one column consists of a left-most column of the transform block.

9. The apparatus of claim 1 , wherein the processor is further configured to:

determine, based on the first coefficients and the second coefficients, a category, wherein the category is one of horizontal, vertical, or other;

determine a context using the category; and

decode, using the context, an intra-prediction mode from the compressed bitstream.

10. A method for decoding coefficients of a transform block, comprising:

decoding, from a compressed bitstream, first coefficients of at least one row of the transform block;

decoding, from the compressed bitstream, second coefficients of at least one column of the transform block, the transform block consisting of the first coefficients, the second coefficients, and remaining coefficients;

selecting, using the first coefficients and the second coefficients, a scan order for decoding the remaining coefficients; and

decoding the remaining coefficients of the transform block using the scan order.

11. The method of claim 10 , wherein selecting, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises:

selecting, using first magnitudes of the first coefficients and second magnitudes of the second coefficients, the scan order for decoding the remaining coefficients.

12. The method of claim 10 , wherein selecting, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

selecting, using first count of non-zero coefficients in the first coefficients and second count of non-zero coefficients in the second coefficients, the scan order for decoding the remaining coefficients.

13. The method of claim 10 , wherein selecting, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises:

in response to determining that a right half of the at least one row includes at least one non-zero coefficient and that a bottom half of the at least one column does not include non-zero coefficients, selecting a vertical scan order as the scan order.

14. The method of claim 10 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

in response to determining that a right half of the at least one row does not include non-zero coefficients and that a bottom half of the at least one column includes at least one non-zero coefficient, selecting a horizontal scan order as the scan order.

15. The method of claim 10 , wherein to select, using the first coefficients and the second coefficients, the scan order for decoding the remaining coefficients comprises to:

in response to determining that a first condition is not satisfied and a second condition is not satisfied, selecting a zig-zag, diagonal scan order as the scan order,

wherein the first condition comprises that a right half of the at least one row includes at least one non-zero coefficient and that a bottom half of the at least one column does not include non-zero coefficients, and

wherein the second condition comprises that the right half of the at least one row does not include non-zero coefficients and that the bottom half of the at least one column includes at least one non-zero coefficient.

16. The method of claim 10 , wherein the at least one row consists of a top-most row of the transform block.

17. The method of claim 10 , wherein the at least one column consists of a left-most column of the transform block.

18. The method of claim 10 , further comprising:

determining, based on the first coefficients and the second coefficients, a category, wherein the category is one of horizontal, vertical, and other;

determining a context using the category; and

decoding, using the context, an intra-prediction mode from the compressed bitstream.

19. An apparatus for encoding coefficients of a transform block, comprising:

a processor, the processor is configured to:

encode, in a compressed bitstream, first coefficients of at least one row of the transform block;

encode, in the compressed bitstream, second coefficients of at least one column of the transform block, the transform block consisting of the first coefficients, the second coefficients, and remaining coefficients;

select, using the first coefficients and the second coefficients, a scan order for encoding the remaining coefficients; and

encoding the remaining coefficients of the transform block using the scan order.

20. The apparatus of claim 19 , wherein to select, using the first coefficients and the second coefficients, the scan order for encoding the remaining coefficients comprises to:

in response to determining that a first condition is satisfied, select a vertical scan order as the scan order, wherein the first condition comprises that a right half of the at least one row includes at least one non-zero coefficient and that a bottom half of the at least one column does not include non-zero coefficients;

in response to determining that a second condition is satisfied, select a horizontal scan order as the scan order, wherein the second condition comprises that the right half of the at least one row does not include non-zero coefficients and that the bottom half of the at least one column includes at least one non-zero coefficient; and

in response to determining that the first condition is not satisfied and the second condition is not satisfied, select a zig-zag, diagonal scan order as the scan order.

Continuity (2)
Continuation 15608008 · May 30, 2017
Related Publication 20190313101A1 · Oct 10, 2019
Cited By (1)
US 12,382,050