IP Library Granted Patent US 10,448,052
Granted Patent B2
US 10,448,052 · App. 15/712,640 · Granted Oct 15, 2019

Significance map encoding and decoding using partition selection

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,448,052
App. No.
15/712,640
Granted
Oct 15, 2019
Kind
B2
Abstract

Methods of encoding and decoding for video data are describe in which significance maps are encoded and decoded using non-spatially-uniform partitioning of the map into parts, wherein the bit positions within each part are associated with a given context. Example partition sets and processes for selecting from amongst predetermined partition sets and communicating the selection to the decoder are described.

Claims (87)

1. A method of encoding a significance map for a transform unit using an image or video encoder, the method comprising:

for each bit position in the significance map with a non-zero coefficient,

determining a context for that bit position based upon a partition set,

encoding a bit value at that bit position based on the determined context, and

updating the context based on that bit value,

wherein the transform unit is sized 4×4;

wherein the partition set assigns contexts to bit positions in accordance with a block-based mapping given by:

0,

1,

2,

3,

4,

5,

2,

3,

6,

6,

7,

7,

8,

8,

7,

and wherein the above integers represent the contexts assigned to the bit positions of a 4×4 block significance map.

2. The method claimed in claim 1 , wherein determining includes selecting the partition set from among a plurality of partition sets based upon text type and transform unit size, and wherein the text type is luma.

3. The method claimed in claim 1 , further comprising selecting the partition set from amongst a plurality of partition sets based upon text type, transform unit size, and selection information, wherein the selection information designates one of the plurality of partition sets for use with a particular transform unit size and text type.

4. The method claimed in claim 3 , wherein the selection information is encoded in a slice header or sequence header, and wherein the selection information has a first part identifying one or more of the plurality of partition sets, and a second part assigning to each predefined combination of text type and transform unit size one of the identified partition sets.

5. The method claimed in claim 1 , further comprising selecting the partition set from amongst a plurality of partition sets, and further comprising determining for each transform unit whether a slice size of a slice being encoded to that point has exceeded a threshold value and, if so, switching from the partition set to a refined partition set for encoding of subsequent significance maps within the slice, wherein the partition set is a subset of the refined partition set.

6. The method claimed in claim 1 , wherein determining includes selecting the partition set from among a plurality of partition sets based upon text type and transform unit size, and wherein the text type is chroma and wherein an offset is used for context assignment.

7. An encoder for encoding a significance map for a transform unit, the decoder comprising:

a processor;

a memory; and

an encoding application stored in memory and containing instructions for configuring the processor to:

for each bit position in the significance map with a non-zero coefficient,

determine a context for that bit position based upon a partition set,

encoding a bit value at that bit position based on the determined context, and

update the context based on that reconstructed bit value;

wherein the transform unit is sized 4×4;

wherein the partition set assigns contexts to bit positions in accordance with a block-based mapping given by:

0,

1,

2,

3,

4,

5,

2,

3,

6,

6,

7,

7,

8,

8,

7,

and wherein the above integers represent the contexts assigned to the bit positions of a 4×4 block significance map.

8. The encoder claimed in claim 7 , wherein the processor is configured to select the partition set from among a plurality of partition sets based upon text type and transform unit size, and wherein the text type is luma.

9. The encoder claimed in claim 7 , wherein the processor is further configured to select the partition set from amongst a plurality of partition sets based upon text type, transform unit size, and selection information, and wherein the selection information designates one of the plurality of partition sets for use with a particular transform unit size and text type.

10. The encoder claimed in claim 9 , wherein the selection information is encoded in a slice header or sequence header, and wherein the selection information has a first part identifying one or more of the plurality of partition sets, and a second part assigning to each predefined combination of text type and transform unit size one of the identified partition sets.

11. The encoder claimed in claim 7 , wherein the processor is further configured to select the partition set from amongst a plurality of partition sets, and the processor is further configured to determine for each transform unit whether a slice size of a slice being encoded to that point has exceeded a threshold value and, if so, to switch from the partition set to a refined partition set for encoding of subsequent significance maps within the slice, wherein the partition set is a subset of the refined partition set.

12. The encoder claimed in claim 7 , wherein the processor is configured to select the partition set from among a plurality of partition sets based upon text type and transform unit size, and wherein the text type is chroma and wherein an offset is used for context assignment.

13. A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configures one or more processors to perform a method of encoding a significance map for a transform unit, the method comprising:

for each bit position in the significance map with a non-zero coefficient,

determining a context for that bit position based upon a partition set,

encoding a bit value at that bit position based on the determined context, and

updating the context based on that encoded bit value,

wherein the transform unit is sized 4×4;

wherein the partition set assigns contexts to bit positions in accordance with a block-based mapping given by:

0,

1,

2,

3,

4,

5,

2,

3,

6,

6,

7,

7,

8,

8,

7,

and wherein the above integers represent the contexts assigned to the bit positions of a 4×4 block significance map.

14. The non-transitory processor-readable medium claimed in claim 13 , wherein determining includes selecting the partition set from among a plurality of partition sets based upon text type and transform unit size, and wherein the text type is luma.

15. The non-transitory processor-readable medium claimed in claim 13 , wherein determining includes selecting the partition set from among a plurality of partition sets based upon text type and transform unit size, and wherein the text type is chroma and wherein an offset is used for context assignment.

16. The non-transitory processor-readable medium claimed in claim 13 , the method further comprising selecting the partition set from amongst a plurality of partition sets based upon text type, transform unit size, and selection information, wherein the selection information designates one of the plurality of partition sets for use with a particular transform unit size and text type.

17. The non-transitory processor-readable medium claimed in claim 16 , wherein the selection information is encoded in a slice header or sequence header, and wherein the selection information has a first part identifying one or more of the plurality of partition sets, and a second part assigning to each predefined combination of text type and transform unit size one of the identified partition sets.

18. The non-transitory processor-readable medium claimed in claim 13 , the method further comprising selecting the partition set from amongst a plurality of partition sets, and further comprising determining for each transform unit whether a slice size of a slice being encoded to that point has exceeded a threshold value and, if so, switching from the partition set to a refined partition set for encoding of subsequent significance maps within the slice, wherein the partition set is a subset of the refined partition set.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: BLACKBERRY LIMITED
To: VELOS MEDIA, LLC
Reel/Frame 047525/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: KORODI, GERGELY FERENC; ZAN, JINWEN; HE, DAKE
To: SLIPSTREAM DATA INC.
Reel/Frame 043664/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 043664/0518 →
CHANGE OF NAME Recorded Sep 22, 2017
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 043975/0848 →