IP Library Granted Patent US 10,326,994
Granted Patent B2
US 10,326,994 · App. 15/950,225 · Granted Jun 18, 2019

Modifying a scan order to limit scan distance

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,326,994
App. No.
15/950,225
Granted
Jun 18, 2019
Kind
B2
Abstract

A method for coding a transform block of coefficients includes generating a new scan order from the original scan order such that a maximum scan distance of the new scan order is smaller than or equal to a predetermined distance, and coding the coefficients based on the new scan order. An apparatus for decoding a transform block of coefficients. The apparatus includes a memory and a processor. The memory includes instructions executable by the processor to identify an original scan order for encoding the coefficients, generate a new scan order from the original scan order such that a maximum scan distance of the new scan order is less than or equal to a predetermined distance, and decode, from an encoded bitstream, the coefficients based on the new scan order.

Claims (49)

1. A method for coding a transform block of coefficients, comprising:

identifying an original scan order for coding the coefficients;

generating a new scan order from the original scan order such that a maximum scan distance of the new scan order is less than or equal to a predetermined distance, wherein generating the new scan order includes:

assigning a new scan index to a current coefficient,

the current coefficient being immediately followed by a next coefficient in the original scan order, and

the current coefficient being a context coefficient for entropy coding another coefficient; and

on condition that a scan distance of the other coefficient is greater than or equal to a conservative maximum distance, assigning a next scan index to the other coefficient before assigning the next scan index to the next coefficient;

and

coding the coefficients based on the new scan order.

2. The method of claim 1 , wherein the predetermined distance is a size of a line buffer used for caching coded transform coefficients.

3. The method of claim 1 , wherein generating the new scan order from the original scan order comprises:

assigning, to at least some of the coefficients, respective scan indexes in the new scan order.

4. The method of claim 1 , wherein the coefficient is immediately below or to an immediate right of the current coefficient in the transform block.

5. The method of claim 1 , wherein

the maximum scan distance is a maximum of respective scan distances of at least some of the coefficients, and

a respective scan distance of a coefficient is a maximum of respective scan distances between the coefficient and each of context coefficients of the coefficient.

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

a memory;

a processor, wherein the memory includes instructions executable by the processor to:

identify an original scan order for encoding the coefficients;

generate a new scan order from the original scan order such that a maximum scan distance of the new scan order is less than or equal to a predetermined distance, wherein to generate the new scan order comprises to:

assign a new scan index to a current coefficient, wherein the current coefficient is preceded by a previous coefficient in the original scan order;

identify a coefficient that uses the previous coefficient as context coefficient; and

on condition that a scan distance of the coefficient is greater than or equal to a conservative maximum distance, assign a next scan index to the coefficient before assigning the next scan index to another coefficient subsequent to the current coefficient;

and

encode, in an encoded bitstream, the coefficients based on the new scan order.

7. The apparatus of claim 6 , wherein the predetermined distance is a size of a line buffer used for caching coded transform coefficients.

8. The apparatus of claim 6 , wherein to generate the new scan order from the original scan order comprises to:

assign, to at least some of the coefficients, respective scan indexes in the new scan order.

9. The apparatus of claim 6 , wherein the coefficient is immediately below or to an immediate right of the current coefficient in the transform block.

10. The apparatus of claim 6 , wherein

the maximum scan distance is a maximum of respective scan distances of at least some of the coefficients, and

a respective scan distance of a coefficient is a maximum of respective scan distances between the coefficient and each of context coefficients of the coefficient.

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

a memory;

a processor, wherein the memory includes instructions executable by the processor to:

identify an original scan order for decoding the coefficients;

generate a new scan order from the original scan order such that a maximum scan distance of the new scan order is less than or equal to a predetermined distance, wherein to generate the new scan order includes to:

assign a new scan index to a current coefficient, wherein the current coefficient is preceded by a previous coefficient in the original scan order;

identify a coefficient that uses the previous coefficient as context coefficient; and

on condition that a scan distance of the coefficient is greater than or equal to a conservative maximum distance, assign a next scan index to the coefficient before assigning the next scan index to another coefficient subsequent to the current coefficient;

and

decode, from an encoded bitstream, the coefficients based on the new scan order.

12. The apparatus of claim 11 , wherein the predetermined distance is a size of a line buffer used for caching coded transform coefficients.

13. The apparatus of claim 12 , wherein to generate new scan order from the original scan order comprises to:

assign, to at least some of the coefficients, respective scan indexes in the new scan order.

14. The apparatus of claim 12 , wherein

the maximum scan distance is a maximum of respective scan distances of at least some of the coefficients, and

a respective scan distance of a coefficient is a maximum of respective scan distances between the coefficient and each of context coefficients of the coefficient.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2018
From: CHIANG, CHING-HAN; XU, YAOWU; HAN, JINGNING; FENG, JIA
To: GOOGLE LLC
Reel/Frame 045514/0039 →