IP Library Granted Patent US 10,681,362
Granted Patent B2
US 10,681,362 · App. 16/156,058 · Granted Jun 9, 2020

Multi-level significance map scanning

Inventors: Dake He (Waterloo, CA); Nguyen Nguyen (Seattle, WA); Tianying Ji (Albany, CA)
Assignee: Velos Media, LLC
H04N19/40H04N19/129H04N19/13H04N19/136H04N19/176H04N19/18H04N19/46H04N19/61H04N19/63H04N19/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,681,362
App. No.
16/156,058
Granted
Jun 9, 2020
Kind
B2
Abstract

Methods of encoding and decoding for video data are described in which multi-level significance maps are used in the encoding and decoding processes. The significant-coefficient flags that form the significance map are grouped into contiguous groups, and a significant-coefficient-group flag signifies for each group whether that group contains no non-zero significant-coefficient flags. A multi-level scan order may be used in which significant-coefficient flags are scanned group-by-group. The group scan order specifies the order in which the groups are processed, and the scan order specifies the order in which individual significant-coefficient flags within the group are processed. The bitstream may interleave the significant-coefficient-group flags and their corresponding significant-coefficient flags, if any.

Claims (41)

1. A method for encoding significant-coefficient flags for a transform unit, each of the significant coefficient flags belonging to a respective group of significant-coefficient flags and each respective group having a corresponding significant-coefficient-group flag, the method comprising:

for each respective group of significant-coefficient flags in a group reverse scan order, the group reverse scan order starting with the group containing the significant-coefficient flag for a last-significant coefficient indicating the location of the last non-zero significant coefficient in the transform unit, and working back through the groups in reverse direction until the group containing the DC position in the transform unit is reached:

encoding a significant-coefficient-group flag for the group, except when the group contains the last-significant coefficient and except when the group contains the DC position, wherein encoding comprises setting the corresponding significant-coefficient-group flag to one if the group contains at least one non-zero significant-coefficient flag and setting the corresponding significant-coefficient-group flag to be zero otherwise, and

when the group contains the DC position,

encoding the significant-coefficient flags in the group in a reverse scan order,

otherwise when the significant-coefficient-group flag for the group is one or the group contains the last-significant coefficient:

encoding each significant-coefficient flag in the group in a reverse scan order, except for the significant-coefficient-flag at position (0,0) in the group when all the previous significant-coefficient flags in the group are zero.

2. The method claimed in claim 1 , wherein the group reverse scan order is a prescribed order in which the respective groups of significant-coefficient flags are to be reconstructed.

3. The method claimed in claim 1 , wherein the group reverse scan order is one of a horizontal, vertical, or diagonal order.

4. The method claimed in claim 1 , wherein the reverse scan order is one of a horizontal, vertical, or diagonal order.

5. The method claimed in claim 1 , wherein the group reverse scan order and the reverse scan order are the same.

6. The method claimed in claim 1 , wherein each group corresponds to a contiguous square block of the transform unit.

7. The method claimed in claim 1 , wherein each group corresponds to a non-square rectangular block.

8. An encoder for encoding significant-coefficient flags for a transform unit, each of the significant coefficient flags belonging to a respective group of significant-coefficient flags and each respective group having a corresponding significant-coefficient-group flag, the encoder comprising:

a processor;

a memory; and

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

for each respective group of significant-coefficient flags in a group reverse scan order, the group reverse scan order starting with the group containing the significant-coefficient flag for a last-significant coefficient indicating the location of the last non-zero significant coefficient in the transform unit, and working back through the groups in reverse direction until the group containing the DC position in the transform unit is reached:

encode a significant-coefficient-group flag for the group, except when the group contains the last-significant coefficient and except when the group contains the DC position, wherein encoding the significant-coefficient-group flag for the group comprises instructions for configuring the processor to set the corresponding significant-coefficient-group flag to one if the group contains at least one non-zero significant-coefficient flag and set the corresponding significant-coefficient-group flag to be zero otherwise, and

when the group contains the DC position,

encoding the significant-coefficient flags in the group in a reverse scan order,

otherwise when the significant-coefficient-group flag for the group is one or the group contains the last-significant coefficient:

encode each significant-coefficient flag in the group in a reverse scan order, except for the significant-coefficient-flag at position (0,0) in the group when all the previous significant-coefficient flags in the group are zero.

9. The encoder claimed in claim 8 , wherein the group reverse scan order is a prescribed order in which the respective groups of significant-coefficient flags are to be reconstructed.

10. The encoder claimed in claim 8 , wherein the group reverse scan order is one of a horizontal, vertical, or diagonal order.

11. The encoder claimed in claim 8 , wherein the reverse scan order is one of a horizontal, vertical, or diagonal order.

12. The encoder claimed in claim 8 , wherein the group reverse scan order and the reverse scan order are the same.

13. The encoder claimed in claim 8 , wherein each group corresponds to a contiguous square block of the transform unit.

14. The encoder claimed in claim 8 , wherein each group corresponds to a non-square rectangular block.

15. A non-transitory processor-readable medium storing processor-executable instructions which, when executed, configures one or more processors to:

for each respective group of significant-coefficient flags in a group reverse scan order, the group reverse scan order starting with the group containing the significant-coefficient flag for a last-significant coefficient indicating the location of the last non-zero significant coefficient in the transform unit, and working back through the groups in reverse direction until the group containing the DC position in the transform unit is reached:

encode a significant-coefficient-group flag for the group, except when the group contains the last-significant coefficient and except when the group contains the DC position, wherein encoding the significant-coefficient-group flag for the group comprises instructions for configuring the processor to set the corresponding significant-coefficient-group flag to one if the group contains at least one non-zero significant-coefficient flag and set the corresponding significant-coefficient-group flag to be zero otherwise, and

when the group contains the DC position,

encoding the significant-coefficient flags in the group in a reverse scan order,

otherwise when the significant-coefficient-group flag for the group is one or the group contains the last-significant coefficient:

encode each significant-coefficient flag in the group in a reverse scan order, except for the significant-coefficient-flag at position (0,0) in the group when all the previous significant-coefficient flags in the group are zero.

16. The non-transitory processor-readable medium claimed in claim 15 , wherein the group reverse scan order is one of a horizontal, vertical, or diagonal order.

17. The non-transitory processor-readable medium claimed in claim 15 , wherein the reverse scan order is one of a horizontal, vertical, or diagonal order.

18. The non-transitory processor-readable medium claimed in claim 15 , wherein the group reverse scan order and the reverse scan order are the same.

19. The non-transitory processor-readable medium claimed in claim 15 , wherein each group corresponds to a contiguous square block of the transform unit.

20. The non-transitory processor-readable medium claimed in claim 15 , wherein each group corresponds to a non-square rectangular block.

Assignments (5)
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 Oct 10, 2018
From: JI, TIANYING
To: RESEARCH IN MOTION LIMITED
Reel/Frame 047119/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: SLIPSTREAM DATA INC.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 047119/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: HE, DAKE; NGUYEN, NGUYEN
To: SLIPSTREAM DATA INC.
Reel/Frame 047119/0299 →
CHANGE OF NAME Recorded Oct 10, 2018
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 047210/0035 →
Continuity (4)
Continuation 15657719 · Jul 24, 2017
Continuation 13446186 · Apr 13, 2012
Provisional Application 61561872 · Nov 19, 2011
Related Publication 20190052890A1 · Feb 14, 2019
Cited By (3)
US 12,186,395 US 12,341,962 US 12,707,053