IP Library Granted Patent US 11,778,191
Granted Patent B2
US 11,778,191 · App. 17/329,078 · Granted Oct 3, 2023

Methods and devices for context set selection

Inventors: Tianying Ji (Albany, CA); Nguyen Nguyen (Seattle, WA); Dake He (Waterloo, CA)
Assignee: Velos Media, LLC
H04N19/129H04N19/176H04N19/184H04N19/186H04N19/51H04N19/60H04N19/593
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 11,778,191
App. No.
17/329,078
Granted
Oct 3, 2023
Kind
B2
Abstract

Methods of encoding and decoding for video data are described for encoding or decoding multi-level significance maps. Distinct context sets may be used for encoding the significant-coefficient flags in different regions of the transform unit. In a fixed case, the regions are defined by coefficient group borders. In one example, the upper-left coefficient group is a first region and the other coefficient groups are a second region. In a dynamic case, the regions are defined by coefficient group borders, but the encoder and decoder dynamically determine in which region each coefficient group belongs. Coefficient groups may be assigned to one region or another based on, for example, whether their respective significant-coefficient-group flags were inferred or not.

Claims (48)

1. A method of decoding a bitstream of encoded video by reconstructing significant-coefficient flags for a transform unit, the transform unit being partitioned into a plurality of non-overlapping blocks, the method comprising:

for each block of the plurality of non-overlapping blocks:

determining whether a significant-coefficient group flag of the block is set;

when it is determined that the significant-coefficient group flag of the block is set,

for each significant-coefficient flag in the block:

determining a first context index from a context set;

when a position of the block of the transform unit corresponds to an x-coordinate of one, two or three and a y-coordinate of one, two or three, setting the first context index as a selected context index, and

when the position of the block of the transform unit corresponds to at least one of an x-coordinate of greater than three or a y-coordinate of greater than three,

modifying the first context index by adding an offset to the first context index; and

setting the modified first context index as the selected context index; and

entropy decoding the significant-coefficient flag using the selected context index.

2. The method of claim 1 , wherein the block is a 4×4 block, and the position of the block is determined according to whether the x-coordinate and the y-coordinate of the block are each within 4 positions of the upper-left corner of the transform unit.

3. The method of claim 2 , wherein the x-coordinate and the y-coordinate correspond to a first significant-coefficient flag of the block to be decoded in a reverse scan order.

4. The method of claim 1 , wherein when the position of the block is at the upper-left corner of the transform unit, selecting a specific context index for the significant-coefficient flag in the DC position of the block.

5. The method of claim 1 , wherein the value of the offset is equal to the number of context indices in the context set.

6. A decoder for decoding a bitstream of encoded data by reconstructing significant-coefficient flags for a transform unit, the transform unit being partitioned into a plurality of non-overlapping blocks, the decoder comprising:

a processor;

a memory; and

a decoding application stored in memory and containing instructions that, when executed by the processor, cause the processor to:

for each block of the plurality of non-overlapping blocks:

determining whether a significant-coefficient group flag of the block is set;

when it is determined that the significant-coefficient group flag of the block is set,

for each significant-coefficient flag in the block:

determining a first context index from a context set;

when a position of the block of the transform unit corresponds to an x-coordinate of one, two or three and a y-coordinate of one, two or three, setting the first context index as a selected context index, and

when the position of the block of the transform unit corresponds to an x-coordinate of greater than three or a y-coordinate of greater than three,

 modifying the first context index by adding an offset to the first context index; and

 setting the modified first context index as the selected context index; and

entropy decoding the significant-coefficient flag using the selected context index.

7. The decoder of claim 6 , wherein the block is a 4×4 block, and the position of the block is determined according to whether the x-coordinate and the y-coordinate of the block are each within 4 positions of the upper-left corner of the transform unit.

8. The decoder of claim 7 , wherein the x-coordinate and the y-coordinate correspond to a first significant-coefficient flag of the block to be decoded in a reverse scan order.

9. The decoder of claim 6 , wherein when the position of the block is at the upper-left corner of the transform unit, selecting a specific context index for the significant-coefficient flag in the DC position of the block.

10. The decoder of claim 6 , wherein the value of the offset is equal to the number of context indices in the context set.

11. A non-transitory processor-readable medium storing processor-executable instructions which, when executed by a processor, cause the processor to decode a bitstream of encoded video by reconstructing significant-coefficient flags for a transform unit, the transform unit being partitioned into a plurality of non-overlapping blocks, wherein the decoding comprises:

for each block of the plurality of non-overlapping blocks:

determining whether a significant-coefficient group flag of the block is set;

when it is determined that the significant-coefficient group flag of the block is set,

for each significant-coefficient flag in the block:

determining a first context index from a context set;

when a position of the block of the transform unit corresponds to an x-coordinate of one, two or three and a y-coordinate of one, two or three, setting the first context index as a selected context index, and

when the position of the block of the transform unit corresponds to an x-coordinate of greater than three or a y-coordinate of greater than three,

modifying the first context index by adding an offset to the first context index; and

setting the modified first context index as the selected context index; and

entropy decoding the significant-coefficient flag using the selected context index.

12. The non-transitory processor-readable medium of claim 11 , wherein the block is a 4×4 block, and the position of the block is determined according to whether the x-coordinate and the y-coordinate of the block are each within 4 positions of the upper-left corner of the transform unit.

13. The non-transitory processor-readable medium of claim 12 , wherein the x-coordinate and the y-coordinate correspond to a first significant-coefficient flag of the block to be decoded in a reverse scan order.

14. The non-transitory processor-readable medium of claim 11 , wherein when the position of the block is at the upper-left corner of the transform unit, selecting a specific context index for the significant-coefficient flag in the DC position of the block.

15. The non-transitory processor-readable medium of claim 11 , wherein the value of the offset is equal to the number of context indices in the context set.

Continuity (4)
Continuation 16112992 · Aug 27, 2018
Continuation 15419167 · Jan 30, 2017
Continuation 13354485 · Jan 20, 2012
Related Publication 20210352290A1 · Nov 11, 2021
Cited By (1)
US 12,695,919